pax_global_header00006660000000000000000000000064147714710330014521gustar00rootroot0000000000000052 comment=3cc6c07745789a6a94a50e4dbbb02f842fc05afa aiortc-1.11.0/000077500000000000000000000000001477147103300130625ustar00rootroot00000000000000aiortc-1.11.0/.gitattributes000066400000000000000000000000341477147103300157520ustar00rootroot00000000000000*.bin binary *.ulaw binary aiortc-1.11.0/.github/000077500000000000000000000000001477147103300144225ustar00rootroot00000000000000aiortc-1.11.0/.github/ISSUE_TEMPLATE.rst000066400000000000000000000011071477147103300173360ustar00rootroot00000000000000Before filing an issue please verify the following: * Check whether there is already an existing issue for the same topic. * Ensure you are actually reporting an issue related to ``aiortc``. The goal of the issue tracker is not to provide general guidance about WebRTC or free debugging of your code. * Clearly state whether the issue you are reporting can be reproduced with one of the examples provided with ``aiortc`` *without any changes*. * Be considerate to the maintainers. ``aiortc`` is provided on a best-effort, there is no guarantee your issue will be addressed. aiortc-1.11.0/.github/workflows/000077500000000000000000000000001477147103300164575ustar00rootroot00000000000000aiortc-1.11.0/.github/workflows/issues.yml000066400000000000000000000010211477147103300205070ustar00rootroot00000000000000name: issues on: schedule: - cron: '30 1 * * *' jobs: stale: runs-on: ubuntu-latest steps: - uses: actions/stale@v9 with: stale-issue-label: stale stale-issue-message: 'This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.' days-before-stale: 120 days-before-close: 14 days-before-pr-stale: -1 days-before-pr-close: -1 aiortc-1.11.0/.github/workflows/tests.yml000066400000000000000000000107561477147103300203550ustar00rootroot00000000000000name: tests on: [push, pull_request] jobs: docs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: python-version: 3.9 - name: Install OS packages run: | sudo apt-get update sudo apt-get install libopus-dev libvpx-dev - name: Build documentation run: | pip install . -r requirements/doc.txt make -C docs html SPHINXOPTS=-W lint: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: python-version: 3.9 - name: Install OS packages run: | sudo apt-get update sudo apt-get install libopus-dev libvpx-dev - name: Run linters run: | pip install . -r requirements/lint.txt ruff check . ruff format --check --diff . check-manifest mypy src test: runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: [ubuntu-latest] python: - '3.13' - '3.12' - '3.11' - '3.10' - '3.9' steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: python-version: ${{ matrix.python }} - name: Install OS packages and disable firewall if: matrix.os == 'macos-latest' run: | brew update brew install opus libvpx sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate off - name: Install OS packages if: matrix.os == 'ubuntu-latest' run: | sudo apt-get update sudo apt-get install libopus-dev libvpx-dev - name: Run tests run: | python -m pip install -U pip setuptools wheel pip install .[dev] coverage run -m unittest discover -v coverage xml shell: bash - name: Upload coverage report uses: codecov/codecov-action@v4 with: token: ${{ secrets.CODECOV_TOKEN }} package-source: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: python-version: 3.9 - name: Build source package run: | pip install -U build python -m build --sdist - name: Upload source package uses: actions/upload-artifact@v4 with: name: dist-source path: dist/ package-wheel: runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: include: - os: macos-14 arch: arm64 - os: macos-13 arch: x86_64 - os: ubuntu-latest arch: i686 - os: ubuntu-latest arch: x86_64 - os: ubuntu-24.04-arm arch: aarch64 - os: windows-latest arch: AMD64 - os: windows-latest arch: x86 steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: python-version: 3.11 - name: Build wheels env: CIBW_ARCHS: ${{ matrix.arch }} CIBW_BEFORE_BUILD: python scripts/fetch-vendor.py /tmp/vendor CIBW_BEFORE_BUILD_WINDOWS: python scripts\fetch-vendor.py C:\cibw\vendor CIBW_ENVIRONMENT: CFLAGS=-I/tmp/vendor/include LDFLAGS=-L/tmp/vendor/lib CIBW_ENVIRONMENT_WINDOWS: INCLUDE=C:\\cibw\\vendor\\include LIB=C:\\cibw\\vendor\\lib CIBW_SKIP: '*-musllinux* pp*' CIBW_TEST_COMMAND: python -c "import aiortc" # There are no binary wheels for cryptography on 32-bit platforms. CIBW_TEST_SKIP: "*-{manylinux_i686,win32}" run: | pip install cibuildwheel cibuildwheel --output-dir dist shell: bash - name: Upload wheels uses: actions/upload-artifact@v4 with: name: dist-wheel-${{ matrix.os }}-${{ matrix.arch }} path: dist/ publish: runs-on: ubuntu-latest needs: [lint, test, package-source, package-wheel] steps: - uses: actions/checkout@v4 - uses: actions/download-artifact@v4 with: merge-multiple: true path: dist/ - name: Publish to PyPI if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags/') uses: pypa/gh-action-pypi-publish@release/v1 with: user: __token__ password: ${{ secrets.PYPI_TOKEN }} aiortc-1.11.0/.gitignore000066400000000000000000000002301477147103300150450ustar00rootroot00000000000000*.egg-info *.pyc *.so .coverage .eggs .idea .mypy_cache .vscode /build /dist /docs/_build # Environments .env .venv env/ venv/ ENV/ env.bak/ venv.bak/ aiortc-1.11.0/.readthedocs.yaml000066400000000000000000000004131477147103300163070ustar00rootroot00000000000000version: 2 build: apt_packages: - libopus-dev - libvpx-dev os: ubuntu-22.04 tools: python: "3.11" formats: - pdf python: install: - method: pip path: . - requirements: requirements/doc.txt sphinx: configuration: docs/conf.py aiortc-1.11.0/CODE_OF_CONDUCT.md000066400000000000000000000062211477147103300156620ustar00rootroot00000000000000# Contributor Covenant Code of Conduct ## Our Pledge In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. ## Our Standards Examples of behavior that contributes to creating a positive environment include: * Using welcoming and inclusive language * Being respectful of differing viewpoints and experiences * Gracefully accepting constructive criticism * Focusing on what is best for the community * Showing empathy towards other community members Examples of unacceptable behavior by participants include: * The use of sexualized language or imagery and unwelcome sexual attention or advances * Trolling, insulting/derogatory comments, and personal or political attacks * Public or private harassment * Publishing others' private information, such as a physical or electronic address, without explicit permission * Other conduct which could reasonably be considered inappropriate in a professional setting ## Our Responsibilities Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. ## Scope This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. ## Enforcement Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at jeremy.laine@m4x.org. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. ## Attribution This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] [homepage]: http://contributor-covenant.org [version]: http://contributor-covenant.org/version/1/4/ aiortc-1.11.0/LICENSE000066400000000000000000000027361477147103300140770ustar00rootroot00000000000000Copyright (c) Jeremy LainĂ©. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of aiortc nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. aiortc-1.11.0/MANIFEST.in000066400000000000000000000005371477147103300146250ustar00rootroot00000000000000exclude .readthedocs.yaml include CODE_OF_CONDUCT.md include LICENSE recursive-include docs *.py *.rst *.svg Makefile recursive-include examples *.html *.js *.py *.rst *.wav recursive-include requirements *.txt recursive-include scripts *.json *.py recursive-include src/_cffi_src *.py recursive-include stubs *.pyi recursive-include tests *.bin *.py aiortc-1.11.0/README.rst000066400000000000000000000075401477147103300145570ustar00rootroot00000000000000.. image:: docs/_static/aiortc.svg :width: 120px :alt: aiortc .. image:: https://img.shields.io/pypi/l/aiortc.svg :target: https://pypi.python.org/pypi/aiortc :alt: License .. image:: https://img.shields.io/pypi/v/aiortc.svg :target: https://pypi.python.org/pypi/aiortc :alt: Version .. image:: https://img.shields.io/pypi/pyversions/aiortc.svg :target: https://pypi.python.org/pypi/aiortc :alt: Python versions .. image:: https://github.com/aiortc/aiortc/workflows/tests/badge.svg :target: https://github.com/aiortc/aiortc/actions :alt: Tests .. image:: https://img.shields.io/codecov/c/github/aiortc/aiortc.svg :target: https://codecov.io/gh/aiortc/aiortc :alt: Coverage .. image:: https://readthedocs.org/projects/aiortc/badge/?version=latest :target: https://aiortc.readthedocs.io/ :alt: Documentation What is ``aiortc``? ------------------- ``aiortc`` is a library for `Web Real-Time Communication (WebRTC)`_ and `Object Real-Time Communication (ORTC)`_ in Python. It is built on top of ``asyncio``, Python's standard asynchronous I/O framework. The API closely follows its Javascript counterpart while using pythonic constructs: - promises are replaced by coroutines - events are emitted using ``pyee.EventEmitter`` To learn more about ``aiortc`` please `read the documentation`_. .. _Web Real-Time Communication (WebRTC): https://webrtc.org/ .. _Object Real-Time Communication (ORTC): https://ortc.org/ .. _read the documentation: https://aiortc.readthedocs.io/en/latest/ Why should I use ``aiortc``? ---------------------------- The main WebRTC and ORTC implementations are either built into web browsers, or come in the form of native code. While they are extensively battle tested, their internals are complex and they do not provide Python bindings. Furthermore they are tightly coupled to a media stack, making it hard to plug in audio or video processing algorithms. In contrast, the ``aiortc`` implementation is fairly simple and readable. As such it is a good starting point for programmers wishing to understand how WebRTC works or tinker with its internals. It is also easy to create innovative products by leveraging the extensive modules available in the Python ecosystem. For instance you can build a full server handling both signaling and data channels or apply computer vision algorithms to video frames using OpenCV. Furthermore, a lot of effort has gone into writing an extensive test suite for the ``aiortc`` code to ensure best-in-class code quality. Implementation status --------------------- ``aiortc`` allows you to exchange audio, video and data channels and interoperability is regularly tested against both Chrome and Firefox. Here are some of its features: - SDP generation / parsing - Interactive Connectivity Establishment, with half-trickle and mDNS support - DTLS key and certificate generation - DTLS handshake, encryption / decryption (for SCTP) - SRTP keying, encryption and decryption for RTP and RTCP - Pure Python SCTP implementation - Data Channels - Sending and receiving audio (Opus / PCMU / PCMA) - Sending and receiving video (VP8 / H.264) - Bundling audio / video / data channels - RTCP reports, including NACK / PLI to recover from packet loss Installing ---------- The easiest way to install ``aiortc`` is to run: .. code:: bash pip install aiortc Building from source -------------------- If there are no wheels for your system or if you wish to build aiortc from source you will need a couple of libraries installed on your system: - Opus for audio encoding / decoding - LibVPX for video encoding / decoding Linux ..... On Debian/Ubuntu run: .. code:: bash apt install libopus-dev libvpx-dev OS X .... On OS X run: .. code:: bash brew install opus libvpx License ------- ``aiortc`` is released under the `BSD license`_. .. _BSD license: https://aiortc.readthedocs.io/en/latest/license.html aiortc-1.11.0/docs/000077500000000000000000000000001477147103300140125ustar00rootroot00000000000000aiortc-1.11.0/docs/Makefile000066400000000000000000000011341477147103300154510ustar00rootroot00000000000000# Minimal makefile for Sphinx documentation # # You can set these variables from the command line. SPHINXOPTS = SPHINXBUILD = sphinx-build SPHINXPROJ = aiortc SOURCEDIR = . BUILDDIR = _build # Put it first so that "make" without argument is like "make help". help: @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) .PHONY: help Makefile # Catch-all target: route all unknown targets to Sphinx using the new # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). %: Makefile @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) aiortc-1.11.0/docs/_static/000077500000000000000000000000001477147103300154405ustar00rootroot00000000000000aiortc-1.11.0/docs/_static/aiortc.svg000066400000000000000000000211151477147103300174420ustar00rootroot00000000000000 image/svg+xml aio aiortc-1.11.0/docs/api.rst000066400000000000000000000044061477147103300153210ustar00rootroot00000000000000API Reference ============= .. automodule:: aiortc WebRTC ------ .. autoclass:: RTCPeerConnection :members: .. autoclass:: RTCSessionDescription :members: .. autoclass:: RTCConfiguration :members: Interactive Connectivity Establishment (ICE) -------------------------------------------- .. autoclass:: RTCIceCandidate :members: .. autoclass:: RTCIceGatherer :members: .. autoclass:: RTCIceTransport :members: .. autoclass:: RTCIceParameters :members: .. autoclass:: RTCIceServer :members: Datagram Transport Layer Security (DTLS) ---------------------------------------- .. autoclass:: RTCCertificate() :members: .. autoclass:: RTCDtlsTransport :members: .. autoclass:: RTCDtlsParameters() :members: .. autoclass:: RTCDtlsFingerprint() :members: Real-time Transport Protocol (RTP) ---------------------------------- .. autoclass:: RTCRtpReceiver :members: .. autoclass:: RTCRtpSender :members: .. autoclass:: RTCRtpTransceiver :members: .. autoclass:: RTCRtpSynchronizationSource() :members: .. autoclass:: RTCRtpCapabilities() :members: .. autoclass:: RTCRtpCodecCapability() :members: .. autoclass:: RTCRtpHeaderExtensionCapability() :members: .. autoclass:: RTCRtpParameters() :members: .. autoclass:: RTCRtpCodecParameters() :members: .. autoclass:: RTCRtcpParameters() :members: Stream Control Transmission Protocol (SCTP) ------------------------------------------- .. autoclass:: RTCSctpTransport :members: .. autoclass:: RTCSctpCapabilities :members: Data channels ------------- .. autoclass:: RTCDataChannel(transport, parameters) :members: .. autoclass:: RTCDataChannelParameters() :members: Media ----- .. autoclass:: MediaStreamTrack :members: Statistics ---------- .. autoclass:: RTCStatsReport() .. autoclass:: RTCInboundRtpStreamStats() :members: .. autoclass:: RTCOutboundRtpStreamStats() :members: .. autoclass:: RTCRemoteInboundRtpStreamStats() :members: .. autoclass:: RTCRemoteOutboundRtpStreamStats() :members: .. autoclass:: RTCTransportStats() :members: aiortc-1.11.0/docs/changelog.rst000066400000000000000000000452171477147103300165040ustar00rootroot00000000000000Changelog ========= .. currentmodule:: aiortc 1.11.0 ------ * Fix decoding of RTX retransmission packets. * Drop support for obsolete `h264_omx` codec. * Require PyAV 14.x to support recent FFmpeg versions. * Require pyee 13.x for better typing support. * Require pyOpenSSL 25.x and fix deprecation warnings. 1.10.1 ------ * Build wheels for Linux aarch64 again. * Be more cautious when releasing :class:`RTCRtpSender`'s encoder. * Set correct codec for :class:`~aiortc.contrib.media.MediaRecorder` OGG output. 1.10.0 ------ * Add support for Python 3.13, drop end-of-life Python 3.8. * Stop building wheels for Linux aarch64 for now due to CI instability. * Add `py.typed` to indicate the package has typings, fix some annotations. * Avoid early wraparound of RTP sequences numbers which can break SRTP. * Add support for `sha-384` and `sha-512` DTLS certificate fingerprints. * Allow using PyAV 13.x. 1.9.0 ----- * Handle offers with `active` or `passive` DTLS setups. * Stop using the deprecated `audioop` standard library module. * Allow using PyAV 12.x. 1.8.0 ----- * Only send / receive RTP according to :attr:`RTCRtpTransceiver.currentDirection`. * Close the :class:`RTCPeerConnection` if all DTLS transports are closed. * Free the encoder as soon as the :class:`RTCRtpSender` stops to save memory. * Modernise JavaScript in `server` and `webcam` examples. 1.7.0 ----- * Add support for GCM based SRTP protection profiles. * Reduce supported DTLS cipher list to avoid Client Hello fragmentation. * Fix `utcnow()` deprecation warning on Python 3.12. 1.6.0 ----- * Build wheels using `Py_LIMITED_ABI` to make them compatible with future Python versions. * Build wheels using opus 1.4 and vpx 1.13.1. * Use unique IDs for audio and video header extensions. * Allow :class:`~aiortc.contrib.media.MediaRecorder` to record audio from pulse. 1.5.0 ----- * Make H.264 send a full picture when picture loss occurs. * Fix TURN over TCP by updating `aioice` to 0.9.0. * Make use of the `ifaddr` package instead of the unmaintained `netifaces` package. 1.4.0 ----- * Build wheels for Python 3.11. * Allow :class:`~aiortc.contrib.media.MediaPlayer` to send media without transcoding. * Allow :class:`~aiortc.contrib.media.MediaPlayer` to specify a timeout when opening media. * Make :class:`RTCSctpTransport` transmit packets sooner to reduce datachannel latency. * Refactor :class:`RTCDtlsTransport` to use PyOpenSSL. * Make :class:`RTCPeerConnection` log sent and received SDP when using verbose logging. 1.3.2 ----- * Limit size of NACK reports to avoid excessive packet size. * Improve H.264 codec matching. * Determine video size from first frame received by :class:`~aiortc.contrib.media.MediaRecorder`. * Fix a deprecation warning when using `av` >= 9.1.0. * Tolerate STUN URLs containing a `protocol` querystring argument. 1.3.1 ----- * Build wheels for aarch64 on Linux. * Adapt :class:`~aiortc.contrib.media.MediaPlayer` for PyAV 9.x. * Ensure H.264 produces B-frames by resetting picture type. 1.3.0 ----- * Build wheels for Python 3.10 and for arm64 on Mac. * Build wheels against `libvpx` 1.10. * Add support for looping in :class:`~aiortc.contrib.media.MediaPlayer`. * Add unbuffered option to :class:`~aiortc.contrib.media.MediaRelay`. * Calculate audio energy and send in RTP header extension. * Fix a race condition in RTP sender/receiver shutdown. * Improve performance of H.264 bitstream splitting code. * Update imports for `pyee` version 9.x. * Fully switch to `google-crc32c` instead of `crc32`. * Drop support for Python 3.6. * Remove `apprtc` code as the service is no longer publicly hosted. 1.2.1 ----- * Add a clear error message when no common codec is found. * Replace the `crc32` dependency with `google-crc32c` which offers a more liberal license. 1.2.0 ----- * Fix jitter buffer to avoid severe picture corruption under packet loss and send Picture Loss Indication (PLI) when needed. * Make H.264 encoder honour the bitrate from the bandwidth estimator. * Add support for hardware-accelerated H.264 encoding on Raspberry Pi 4 using the `h264_omx` codec. * Add :class:`~aiortc.contrib.media.MediaRelay` class to allow sending media tracks to multiple consumers. 1.1.2 ----- * Add :attr:`RTCPeerConnection.connectionState` property. * Correctly detect RTCIceTransport `"failed"` state. * Correctly route RTP packets when there are multiple tracks of the same kind. * Use full module name to name loggers. 1.1.1 ----- * Defer adding remote candidates until after transport bundling to avoid unnecessary mDNS lookups. 1.1.0 ----- * Add support for resolving mDNS candidates. * Improve support for TURN, especially long-lived connections. 1.0.0 ----- Breaking ........ * Make :meth:`RTCPeerConnection.addIceCandidate` a coroutine. * Make :meth:`RTCIceTransport.addRemoteCandidate` a coroutine. Media ..... * Handle SSRC attributes in SDP containing a colon (#372). * Limit number of H.264 NALU per packet (#394, #426). Examples ........ * `server` make it possible to specify bind address (#347). 0.9.28 ------ Provide binary wheels for Linux, Mac and Windows on PyPI. 0.9.27 ------ Data channels ............. * Add :attr:`RTCSctpTransport.maxChannels` property. * Recycle stream IDs (#256). * Correctly close data channel when SCTP is not established (#300). Media ..... * Add add :attr:`RTCRtpReceiver.track` property (#298). * Fix a crash in `AimdRateControl` (#295). 0.9.26 ------ DTLS .... * Drop support for OpenSSL < 1.0.2. Examples ........ * `apprtc` fix handling of empty "candidate" message. Media ..... * Fix a MediaPlayer crash when stopping one track of a multi-track file (#237, #274). * Fix a MediaPlayer error when stopping a track while waiting for the next frame. * Make `RTCRtpSender` resilient to exceptions raised by media stream tracks (#283). 0.9.25 ------ Media ..... * Do not repeatedly send key frames after receiving a PLI. SDP ... * Do not try to determine track ID if there is no Msid. * Accept a star in rtcp-fb attributes. 0.9.24 ------ Peer connection ............... * Assign DTLS role based on the SDP negotiation, not the resolved ICE role. * When the peer is ICE lite, adopt the ICE controlling role, and do not use agressive nomination. * Do not close transport on `setRemoteDescription` if media and data are bundled. * Set RemoteStreamTrack.id based on the Msid. Media ..... * Support alsa hardware output in MediaRecorder. SDP ... * Add support for the `ice-lite` attribute. * Add support for receiving session-level `ice-ufrag`, `ice-pwd` and `setup` attributes. Miscellaneous ............. * Switch from `attrs` to standard Python `dataclasses`. * Use PEP-526 style variable annotations instead of comments. 0.9.23 ------ * Drop support for Python 3.5. * Drop dependency on PyOpenSSL. * Use PyAV >= 7.0.0. * Add partial type hints. 0.9.22 ------ DTLS .... * Display exception if data handler fails. Examples ........ * `server` and `webcam` : add playsinline attribute for iOS compatibility. * `webcam` : make it possible to play media from a file. Miscellaneous ............. * Use aioice >= 0.6.15 to not fail on mDNS candidates. * Use pyee version 6.x. 0.9.21 ------ DTLS .... * Call SSL_CTX_set_ecdh_auto for OpenSSL 1.0.2. Media ..... * Correctly route REMB packets to the :class:`RTCRtpSender`. Examples ........ * :class:`~aiortc.contrib.media.MediaPlayer` : release resources (e.g. webcam) when the player stops. * :class:`~aiortc.contrib.signaling.ApprtcSignaling` : make AppRTC signaling available for more examples. * `datachannel-cli` : make uvloop optional. * `videostream-cli` : animate the flag with a wave effect. * `webcam` : explicitly set frame rate to 30 fps for webcams. 0.9.20 ------ Data channels ............. * Support out-of-band negotiation and custom channel id. Documentation ............. * Fix documentation build by installing `crc32c` instead of `crcmod`. Examples ........ * :class:`~aiortc.contrib.media.MediaPlayer` : skip frames with no presentation timestamp (pts). 0.9.19 ------ Data channels ............. * Do not raise congestion window when it is not fully utilized. * Fix Highest TSN Newly Acknowledged logic for striking lost chunks. * Do not limit congestion window to 120kB, limit burst size instead. Media ..... * Skip RTX packets with an empty payload. Examples ........ * `apprtc` : make the initiator send messages using an HTTP POST instead of WebSocket. * `janus` : new example to connect to the Janus WebRTC server. * `server` : add cartoon effect to video transforms. 0.9.18 ------ DTLS .... * Do not use DTLSv1_get_timeout after DTLS handshake completes. Data channels ............. * Add setter for :attr:`RTCDataChannel.bufferedAmountLowThreshold`. * Use `crc32c` package instead of `crcmod`, it provides better performance. * Improve parsing and serialization code performance. * Disable logging code if it is not used to improve performance. 0.9.17 ------ DTLS .... * Do not bomb if SRTP is received before DTLS handshake completes. Data channels ............. * Implement unordered delivery, so that the `ordered` option is honoured. * Implement partial reliability, so that the `maxRetransmits` and `maxPacketLifeTime` options are honoured. Media ..... * Put all tracks in the same stream for now, fixes breakage introduced in 0.9.14. * Use case-insensitive comparison for codec names. * Use a=msid attribute in SDP instead of SSRC-level attributes. Examples ........ * `server` : make it possible to select unreliable mode for data channels. * `server` : print the round-trip time for data channel messages. 0.9.16 ------ DTLS .... * Log OpenSSL errors if the DTLS handshake fails. * Fix DTLS handshake in server mode with OpenSSL < 1.1.0. Media ..... * Add :meth:`RTCRtpReceiver.getCapabilities` and :meth:`RTCRtpSender.getCapabilities`. * Add :meth:`RTCRtpReceiver.getSynchronizationSources`. * Add :meth:`RTCRtpTransceiver.setCodecPreferences`. Examples ........ * `server` : make it possible to force audio codec. * `server` : shutdown cleanly on Chrome which lacks :meth:`RTCRtpTransceiver.stop`. 0.9.15 ------ Data channels ............. * Emit a warning if the crcmod C extension is not present. Media ..... * Support subsequent offer / answer exchanges. * Route RTCP parameters to RTP receiver and sender independently. * Fix a regression when the remote SSRC are not known. * Fix VP8 descriptor parsing errors detected by fuzzing. * Fix H264 descriptor parsing errors detected by fuzzing. 0.9.14 ------ Media ..... * Add support for RTX retransmission packets. * Fix RTP and RTCP parsing errors detected by fuzzing. * Use case-insensitive comparison for hash algorithm in SDP, fixes interoperability with Asterisk. * Offer NACK PLI and REMB feedback mechanisms for H.264. 0.9.13 ------ Data channels ............. * Raise an exception if :meth:`RTCDataChannel.send` is called when readyState is not `'open'`. * Do not use stream sequence number for unordered data channels. Media ..... * Set VP8 target bitrate according to Receiver Estimated Maximum Bandwidth. Examples ........ * Correctly handle encoding in copy-and-paste signaling. * `server` : add command line options to use HTTPS. * `webcam` : add command line options to use HTTPS. * `webcam` : add code to open webcam on OS X. 0.9.12 ------ * Rework code in order to facilitate garbage collection and avoid memory leaks. 0.9.11 ------ Media ..... * Make AudioStreamTrack and VideoStreamTrack produce empty frames more regularly. Examples ........ * Fix a regession in copy-and-paste signaling which blocked the event loop. 0.9.10 ------ Peer connection ............... * Send `raddr` and `rport` parameters for server reflexive and relayed candidates. This is required for Firefox to accept our STUN / TURN candidates. * Do not raise an exception if ICE or DTLS connection fails, just change state. Media ..... * Revert to using asyncio's `run_in_executor` to send data to the encoder, it greatly reduces the response time. * Adjust package requirements to accept PyAV < 7.0.0. Examples ........ * `webcam` : force Chrome to use "unified-plan" semantics to enabled `addTransceiver`. * :class:`~aiortc.contrib.media.MediaPlayer` : don't sleep at all when playing from webcam. This eliminates the constant one-second lag in the `webcam` demo. 0.9.9 ----- .. warning:: `aiortc` now uses PyAV's :class:`~av.audio.frame.AudioFrame` and :class:`~av.video.frame.VideoFrame` classes instead of defining its own. Media ..... * Use a jitter buffer for incoming audio. * Add :meth:`RTCPeerConnection.addTransceiver` method. * Add :attr:`RTCRtpTransceiver.direction` to manage transceiver direction. Examples ........ * `apprtc` : demonstrate the use of :class:`~aiortc.contrib.media.MediaPlayer` and :class:`~aiortc.contrib.media.MediaRecorder`. * `webcam` : new examples illustrating sending video from a webcam to a browser. * :class:`~aiortc.contrib.media.MediaPlayer` : don't sleep if a frame lacks timing information. * :class:`~aiortc.contrib.media.MediaPlayer` : remove `start()` and `stop()` methods. * :class:`~aiortc.contrib.media.MediaRecorder` : use `libx264` for encoding. * :class:`~aiortc.contrib.media.MediaRecorder` : make `start()` and `stop()` coroutines. 0.9.8 ----- Media ..... * Add support for H.264 video, a big thank you to @dsvictor94! * Add support for sending Receiver Estimate Maximum Bitrate (REMB) feedback. * Add support for parsing / serializing more RTP header extensions. * Move each media encoder / decoder its one thread instead of using a thread pool. Statistics .......... * Add the :meth:`RTCPeerConnection.getStats()` coroutine to retrieve statistics. * Add initial :class:`RTCTransportStats` to report transport statistics. Examples ........ * Add new :class:`~aiortc.contrib.media.MediaPlayer` class to read audio / video from a file. * Add new :class:`~aiortc.contrib.media.MediaRecorder` class to write audio / video to a file. * Add new :class:`~aiortc.contrib.media.MediaBlackhole` class to discard audio / video. 0.9.7 ----- Media ..... * Make RemoteStreamTrack emit an "ended" event, to simplify shutting down media consumers. * Add RemoteStreamTrack.readyState property. * Handle timestamp wraparound on sent RTP packets. Packaging ......... * Add a versioned dependency on cffi>=1.0.0 to fix Raspberry Pi builds. 0.9.6 ----- Data channels ............. * Optimize reception for improved latency and throughput. Media ..... * Add initial :meth:`RTCRtpReceiver.getStats()` and :meth:`RTCRtpReceiver.getStats()` coroutines. Examples ........ * `datachannel-cli`: display ping/pong roundtrip time. 0.9.5 ----- Media ..... * Make it possible to add multiple audio or video streams. * Implement basic RTP video packet loss detection / retransmission using RTCP NACK feedback. * Respond to Picture Loss Indications (PLI) by sending a keyframe. * Use shorter MID values to reduce RTP header extension overhead. * Correctly shutdown and discard unused transports when using BUNDLE. Examples ........ * `server` : make it possible to save received video to an AVI file. 0.9.4 ----- Peer connection ............... * Add support for TURN over TCP. Examples ........ * Add media and signaling helpers in `aiortc.contrib`. * Fix colorspace OpenCV colorspace conversions. * `apprtc` : send rotating image on video track. 0.9.3 ----- Media ..... * Set PictureID attribute on outgoing VP8 frames. * Negotiate and send SDES MID header extension for RTP packets. * Fix negative packets_lost encoding for RTCP reports. 0.9.2 ----- Data channels ............. * Numerous performance improvements in congestion control. Examples ........ * `datachannel-filexfer`: use uvloop instead of default asyncio loop. 0.9.1 ----- Data channels ............. * Revert making RTCDataChannel.send a coroutine. 0.9.0 ----- Media ..... * Enable post-processing in VP8 decoder to remove (macro) blocks. * Set target bitrate for VP8 encoder to 900kbps. * Re-create VP8 encoder if frame size changes. * Implement jitter estimation for RTCP reports. * Avoid overflowing the DLSR field for RTCP reports. * Raise video jitter buffer size. Data channels ............. * BREAKING CHANGE: make RTCDataChannel.send a coroutine. * Support spec-compliant SDP format for datachannels, as used in Firefox 63. * Never send a negative advertised_cwnd. Examples ........ * `datachannel-filexfer`: new example for file transfer over a data channel. * `datachannel-vpn`: new example for a VPN over a data channel. * `server`: make it possible to select video resolution. 0.8.0 ----- Media ..... * Align VP8 settings with those used by WebRTC project, which greatly improves video quality. * Send RTCP source description, sender report, receiver report and bye packets. Examples ........ * `server`: - make it possible to not transform video at all. - allow video display to be up to 1280px wide. * `videostream-cli`: - fix Python 3.5 compatibility Miscellaneous ............. * Delay logging string interpolation to reduce cost of packet logging in non-verbose mode. 0.7.0 ----- Peer connection ............... * Add :meth:`RTCPeerConnection.addIceCandidate()` method to handle trickled ICE candidates. Media ..... * Make stop() methods of :class:`RTCRtpReceiver`, :class:`RTCRtpSender` and :class:`RTCRtpTransceiver` coroutines to enable clean shutdown. Data channels ............. * Clean up :class:`RTCDataChannel` shutdown sequence. * Support receiving an SCTP `RE-CONFIG` to raise number of inbound streams. Examples ........ * `server`: - perform some image processing using OpenCV. - make it possible to disable data channels. - make demo web interface more mobile-friendly. * `apprtc`: - automatically create a room if no room is specified on command line. - handle `bye` command. 0.6.0 ----- Peer connection ............... * Make it possible to specify one STUN server and / or one TURN server. * Add `BUNDLE` support to use a single ICE/DTLS transport for multiple media. * Move media encoding / decoding off the main thread. Data channels ............. * Use SCTP `ABORT` instead of `SHUTDOWN` when stopping :class:`RTCSctpTransport`. * Advertise support for SCTP `RE-CONFIG` extension. * Make :class:`RTCDataChannel` emit `open` and `close` events. Examples ........ * Add an example of how to connect to appr.tc. * Capture audio frames to a WAV file in server example. * Show datachannel open / close events in server example. aiortc-1.11.0/docs/conf.py000066400000000000000000000046711477147103300153210ustar00rootroot00000000000000# Configuration file for the Sphinx documentation builder. # # This file only contains a selection of the most common options. For a full # list see the documentation: # https://www.sphinx-doc.org/en/master/usage/configuration.html # -- Project information ----------------------------------------------------- project = "aiortc" author = "Jeremy LainĂ©" copyright = author # -- General configuration ------------------------------------------------ # Add any Sphinx extension module names here, as strings. They can be # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. extensions = [ "sphinx.ext.autodoc", "sphinx.ext.intersphinx", "sphinx_autodoc_typehints", "sphinxcontrib_trio", ] autodoc_member_order = "bysource" intersphinx_mapping = { "av": ("https://pyav.org/docs/stable", None), "python": ("https://docs.python.org/3", None), } # Add any paths that contain templates here, relative to this directory. templates_path = ["_templates"] # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. # # This is also used if you do content translation via gettext catalogs. # Usually you set "language" from the command line for these cases. language = "en" # -- 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 = { "description": "A library for building WebRTC and ORTC applications in Python.", "github_button": True, "github_user": "aiortc", "github_repo": "aiortc", "logo": "aiortc.svg", } # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". html_static_path = ["_static"] # Custom sidebar templates, must be a dictionary that maps document names # to template names. # # This is required for the alabaster theme # refs: http://alabaster.readthedocs.io/en/latest/installation.html#sidebars html_sidebars = { "**": [ "about.html", "navigation.html", "relations.html", "searchbox.html", ] } aiortc-1.11.0/docs/contributing.rst000066400000000000000000000026061477147103300172570ustar00rootroot00000000000000Contributing ============ Thanks for taking the time to contribute to ``aiortc``! Code of Conduct --------------- This project and everyone participating in it is governed by the `Code of Conduct`_. By participating, you are expected to uphold this code. Please report inappropriate behavior to jeremy DOT laine AT m4x DOT org. .. _Code of Conduct: https://github.com/aiortc/aiortc/blob/main/CODE_OF_CONDUCT.md Contributions ------------- Bug reports, patches and suggestions are welcome! Please open an issue_ or send a `pull request`_. Feedback about the examples or documentation are especially valuable as they make ``aiortc`` accessible to a wider audience. Code contributions *must* come with full unit test coverage. WebRTC is a complex protocol stack and ensuring correct behaviour now and in the future requires a proper investment in automated testing. .. _issue: https://github.com/aiortc/aiortc/issues/new .. _pull request: https://github.com/aiortc/aiortc/compare/ Questions --------- GitHub issues aren't a good medium for handling questions. There are better places to ask questions, for example Stack Overflow. If you want to ask a question anyway, please make sure that: - it's a question about ``aiortc`` and not about :mod:`asyncio`; - it isn't answered by the documentation; - it wasn't asked already. A good question can be written as a suggestion to improve the documentation. aiortc-1.11.0/docs/examples.rst000066400000000000000000000003171477147103300163630ustar00rootroot00000000000000Examples ======== ``aiortc`` comes with a selection of examples, which are a great starting point for new users. The examples can be browsed on GitHub: https://github.com/aiortc/aiortc/tree/main/examples aiortc-1.11.0/docs/helpers.rst000066400000000000000000000010411477147103300162020ustar00rootroot00000000000000Helpers ============= .. currentmodule:: aiortc These classes are not part of the WebRTC or ORTC API, but provide higher-level helpers for tasks like manipulating media streams. Media sources ------------- .. autoclass:: aiortc.contrib.media.MediaPlayer :members: Media sinks ----------- .. autoclass:: aiortc.contrib.media.MediaRecorder :members: .. autoclass:: aiortc.contrib.media.MediaBlackhole :members: Media transforms ---------------- .. autoclass:: aiortc.contrib.media.MediaRelay :members: aiortc-1.11.0/docs/index.rst000066400000000000000000000043361477147103300156610ustar00rootroot00000000000000aiortc ========= .. image:: https://img.shields.io/pypi/l/aiortc.svg :target: https://pypi.python.org/pypi/aiortc :alt: License .. image:: https://img.shields.io/pypi/v/aiortc.svg :target: https://pypi.python.org/pypi/aiortc :alt: Version .. image:: https://img.shields.io/pypi/pyversions/aiortc.svg :target: https://pypi.python.org/pypi/aiortc :alt: Python versions .. image:: https://github.com/aiortc/aiortc/workflows/tests/badge.svg :target: https://github.com/aiortc/aiortc/actions :alt: Tests .. image:: https://img.shields.io/codecov/c/github/aiortc/aiortc.svg :target: https://codecov.io/gh/aiortc/aiortc :alt: Coverage ``aiortc`` is a library for `Web Real-Time Communication (WebRTC)`_ and `Object Real-Time Communication (ORTC)`_ in Python. It is built on top of ``asyncio``, Python's standard asynchronous I/O framework. The API closely follows its Javascript counterpart while using pythonic constructs: - promises are replaced by coroutines - events are emitted using ``pyee.EventEmitter`` .. _Web Real-Time Communication (WebRTC): https://webrtc.org/ .. _Object Real-Time Communication (ORTC): https://ortc.org/ Why should I use ``aiortc``? ---------------------------- The main WebRTC and ORTC implementations are either built into web browsers, or come in the form of native code. While they are extensively battle tested, their internals are complex and they do not provide Python bindings. Furthermore they are tightly coupled to a media stack, making it hard to plug in audio or video processing algorithms. In contrast, the ``aiortc`` implementation is fairly simple and readable. As such it is a good starting point for programmers wishing to understand how WebRTC works or tinker with its internals. It is also easy to create innovative products by leveraging the extensive modules available in the Python ecosystem. For instance you can build a full server handling both signaling and data channels or apply computer vision algorithms to video frames using OpenCV. Furthermore, a lot of effort has gone into writing an extensive test suite for the ``aiortc`` code to ensure best-in-class code quality. .. toctree:: :maxdepth: 2 examples api helpers contributing changelog license aiortc-1.11.0/docs/license.rst000066400000000000000000000000601477147103300161620ustar00rootroot00000000000000License ------- .. literalinclude:: ../LICENSE aiortc-1.11.0/examples/000077500000000000000000000000001477147103300147005ustar00rootroot00000000000000aiortc-1.11.0/examples/datachannel-cli/000077500000000000000000000000001477147103300177075ustar00rootroot00000000000000aiortc-1.11.0/examples/datachannel-cli/README.rst000066400000000000000000000012771477147103300214050ustar00rootroot00000000000000Data channel CLI ================ This example illustrates the establishment of a data channel using an RTCPeerConnection and a "copy and paste" signaling channel to exchange SDP. First install the required packages: .. code-block:: console $ pip install aiortc To run the example, you will need instances of the `cli` example: - The first takes on the role of the offerer. It generates an offer which you must copy-and-paste to the answerer. .. code-block:: console $ python cli.py offer - The second takes on the role of the answerer. When given an offer, it will generate an answer which you must copy-and-paste to the offerer. .. code-block:: console $ python cli.py answer aiortc-1.11.0/examples/datachannel-cli/cli.py000066400000000000000000000064341477147103300210370ustar00rootroot00000000000000import argparse import asyncio import logging import time from aiortc import RTCIceCandidate, RTCPeerConnection, RTCSessionDescription from aiortc.contrib.signaling import BYE, add_signaling_arguments, create_signaling def channel_log(channel, t, message): print("channel(%s) %s %s" % (channel.label, t, message)) def channel_send(channel, message): channel_log(channel, ">", message) channel.send(message) async def consume_signaling(pc, signaling): while True: obj = await signaling.receive() if isinstance(obj, RTCSessionDescription): await pc.setRemoteDescription(obj) if obj.type == "offer": # send answer await pc.setLocalDescription(await pc.createAnswer()) await signaling.send(pc.localDescription) elif isinstance(obj, RTCIceCandidate): await pc.addIceCandidate(obj) elif obj is BYE: print("Exiting") break time_start = None def current_stamp(): global time_start if time_start is None: time_start = time.time() return 0 else: return int((time.time() - time_start) * 1000000) async def run_answer(pc, signaling): await signaling.connect() @pc.on("datachannel") def on_datachannel(channel): channel_log(channel, "-", "created by remote party") @channel.on("message") def on_message(message): channel_log(channel, "<", message) if isinstance(message, str) and message.startswith("ping"): # reply channel_send(channel, "pong" + message[4:]) await consume_signaling(pc, signaling) async def run_offer(pc, signaling): await signaling.connect() channel = pc.createDataChannel("chat") channel_log(channel, "-", "created by local party") async def send_pings(): while True: channel_send(channel, "ping %d" % current_stamp()) await asyncio.sleep(1) @channel.on("open") def on_open(): asyncio.ensure_future(send_pings()) @channel.on("message") def on_message(message): channel_log(channel, "<", message) if isinstance(message, str) and message.startswith("pong"): elapsed_ms = (current_stamp() - int(message[5:])) / 1000 print(" RTT %.2f ms" % elapsed_ms) # send offer await pc.setLocalDescription(await pc.createOffer()) await signaling.send(pc.localDescription) await consume_signaling(pc, signaling) if __name__ == "__main__": parser = argparse.ArgumentParser(description="Data channels ping/pong") parser.add_argument("role", choices=["offer", "answer"]) parser.add_argument("--verbose", "-v", action="count") add_signaling_arguments(parser) args = parser.parse_args() if args.verbose: logging.basicConfig(level=logging.DEBUG) signaling = create_signaling(args) pc = RTCPeerConnection() if args.role == "offer": coro = run_offer(pc, signaling) else: coro = run_answer(pc, signaling) # run event loop loop = asyncio.get_event_loop() try: loop.run_until_complete(coro) except KeyboardInterrupt: pass finally: loop.run_until_complete(pc.close()) loop.run_until_complete(signaling.close()) aiortc-1.11.0/examples/datachannel-filexfer/000077500000000000000000000000001477147103300207445ustar00rootroot00000000000000aiortc-1.11.0/examples/datachannel-filexfer/README.rst000066400000000000000000000015711477147103300224370ustar00rootroot00000000000000Data channel file transfer ========================== This example illustrates sending a file over a data channel using an RTCPeerConnection and a "copy and paste" signaling channel to exchange SDP. First install the required packages: .. code-block:: console $ pip install aiortc On Linux and Mac OS X you can also install uvloop for better performance: .. code-block:: console $ pip install uvloop To run the example, you will need instances of the `filexfer` example: - The first takes on the role of the offerer. It generates an offer which you must copy-and-paste to the answerer. .. code-block:: console $ python filexfer.py send somefile.pdf - The second takes on the role of the answerer. When given an offer, it will generate an answer which you must copy-and-paste to the offerer. .. code-block:: console $ python filexfer.py receive received.pdf aiortc-1.11.0/examples/datachannel-filexfer/filexfer.py000066400000000000000000000064161477147103300231310ustar00rootroot00000000000000import argparse import asyncio import logging import time from aiortc import RTCIceCandidate, RTCPeerConnection, RTCSessionDescription from aiortc.contrib.signaling import BYE, add_signaling_arguments, create_signaling # optional, for better performance try: import uvloop except ImportError: uvloop = None async def consume_signaling(pc, signaling): while True: obj = await signaling.receive() if isinstance(obj, RTCSessionDescription): await pc.setRemoteDescription(obj) if obj.type == "offer": # send answer await pc.setLocalDescription(await pc.createAnswer()) await signaling.send(pc.localDescription) elif isinstance(obj, RTCIceCandidate): await pc.addIceCandidate(obj) elif obj is BYE: print("Exiting") break async def run_answer(pc, signaling, fp): await signaling.connect() @pc.on("datachannel") def on_datachannel(channel): start = time.time() octets = 0 @channel.on("message") async def on_message(message): nonlocal octets if message: octets += len(message) fp.write(message) else: elapsed = time.time() - start print( "received %d bytes in %.1f s (%.3f Mbps)" % (octets, elapsed, octets * 8 / elapsed / 1000000) ) # say goodbye await signaling.send(BYE) await consume_signaling(pc, signaling) async def run_offer(pc, signaling, fp): await signaling.connect() done_reading = False channel = pc.createDataChannel("filexfer") def send_data(): nonlocal done_reading while ( channel.bufferedAmount <= channel.bufferedAmountLowThreshold ) and not done_reading: data = fp.read(16384) channel.send(data) if not data: done_reading = True channel.on("bufferedamountlow", send_data) channel.on("open", send_data) # send offer await pc.setLocalDescription(await pc.createOffer()) await signaling.send(pc.localDescription) await consume_signaling(pc, signaling) if __name__ == "__main__": parser = argparse.ArgumentParser(description="Data channel file transfer") parser.add_argument("role", choices=["send", "receive"]) parser.add_argument("filename") parser.add_argument("--verbose", "-v", action="count") add_signaling_arguments(parser) args = parser.parse_args() if args.verbose: logging.basicConfig(level=logging.DEBUG) if uvloop is not None: asyncio.set_event_loop_policy(uvloop.EventLoopPolicy()) signaling = create_signaling(args) pc = RTCPeerConnection() if args.role == "send": fp = open(args.filename, "rb") coro = run_offer(pc, signaling, fp) else: fp = open(args.filename, "wb") coro = run_answer(pc, signaling, fp) # run event loop loop = asyncio.get_event_loop() try: loop.run_until_complete(coro) except KeyboardInterrupt: pass finally: fp.close() loop.run_until_complete(pc.close()) loop.run_until_complete(signaling.close()) aiortc-1.11.0/examples/datachannel-vpn/000077500000000000000000000000001477147103300177435ustar00rootroot00000000000000aiortc-1.11.0/examples/datachannel-vpn/README.rst000066400000000000000000000025211477147103300214320ustar00rootroot00000000000000Data channel VPN ================ This example illustrates a layer2 VPN running over a WebRTC data channel. First install the required packages: .. code-block:: console $ pip install aiortc Permissions ----------- This example requires the CAP_NET_ADMIN capability in order to create and configure network interfaces. There are two ways to achieve this: - running the script as the root user. The downside is that the script will be run with higher privileges than actually needed. - granting the CAP_NET_ADMIN capability to the Python interpreter. The downside is that *all* Python scripts will get this capability so you will almost certainly want to revert this change. .. code-block:: console $ sudo setcap CAP_NET_ADMIN=ep /path/to/python3 Running ------- On the first peer: .. code-block:: console $ python3 vpn.py offer On the second peer: .. code-block:: console $ python3 vpn.py answer Copy-and-paste the offer from the first peer to the second peer, then copy-and-paste the answer from the second peer to the first peer. A new network interface will be created on each peer. You can now setup these interfaces by using the system's network tools: .. code-block:: console $ ip address add 172.16.0.1/24 dev revpn-offer and: .. code-block:: console $ ip address add 172.16.0.2/24 dev revpn-answer aiortc-1.11.0/examples/datachannel-vpn/tuntap.py000066400000000000000000000047101477147103300216320ustar00rootroot00000000000000import fcntl import os import socket import struct TUNSETIFF = 0x400454CA TUNSETOWNER = TUNSETIFF + 2 IFF_TUN = 0x0001 IFF_TAP = 0x0002 IFF_NAPI = 0x0010 IFF_NAPI_FRAGS = 0x0020 IFF_NO_PI = 0x1000 IFF_PERSIST = 0x0800 IFF_NOFILTER = 0x1000 # net/if.h IFF_UP = 0x1 IFF_RUNNING = 0x40 IFNAMSIZ = 16 # From linux/sockios.h SIOCGIFCONF = 0x8912 SIOCGIFINDEX = 0x8933 SIOCGIFFLAGS = 0x8913 SIOCSIFFLAGS = 0x8914 SIOCGIFHWADDR = 0x8927 SIOCSIFHWADDR = 0x8924 SIOCGIFADDR = 0x8915 SIOCSIFADDR = 0x8916 SIOCGIFNETMASK = 0x891B SIOCSIFNETMASK = 0x891C SIOCETHTOOL = 0x8946 SIOCGIFMTU = 0x8921 # get MTU size SIOCSIFMTU = 0x8922 # set MTU size class Tun: mtu = 1500 def __init__(self, name, mode="tap", persist=True): self.name = name.encode() sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) self.sockfd = sock @property def ifflags(self): # Get existing device flags ifreq = struct.pack("16sh", self.name, 0) flags = struct.unpack("16sh", fcntl.ioctl(self.sockfd, SIOCGIFFLAGS, ifreq))[1] return flags @ifflags.setter def ifflags(self, flags): ifreq = struct.pack("16sh", self.name, flags) fcntl.ioctl(self.sockfd, SIOCSIFFLAGS, ifreq) def get_mtu(self): ifreq = struct.pack("16sh", self.name, 0) self.mtu = struct.unpack("16sh", fcntl.ioctl(self.sockfd, SIOCGIFMTU, ifreq))[1] def up(self): """Bring up interface. Equivalent to ifconfig [iface] up.""" # Set new flags flags = self.ifflags | IFF_UP self.ifflags = flags self.get_mtu() def down(self): """Bring down interface. Equivalent to ifconfig [iface] down.""" # Set new flags flags = self.ifflags & ~IFF_UP self.ifflags = flags def is_up(self): """Return True if the interface is up, False otherwise.""" if self.ifflags & IFF_UP: return True else: return False def open(self): """Open file corresponding to the TUN device.""" self.fd = open("/dev/net/tun", "rb+", buffering=0) tun_flags = IFF_TAP | IFF_NO_PI | IFF_PERSIST ifr = struct.pack("16sH", self.name, tun_flags) fcntl.ioctl(self.fd, TUNSETIFF, ifr) fcntl.ioctl(self.fd, TUNSETOWNER, os.getuid()) self.ifflags = self.ifflags | IFF_RUNNING def close(self): if self.fd: self.ifflags = self.ifflags & ~IFF_RUNNING self.fd.close() aiortc-1.11.0/examples/datachannel-vpn/vpn.py000066400000000000000000000054771477147103300211350ustar00rootroot00000000000000import argparse import asyncio import logging import tuntap from aiortc import RTCIceCandidate, RTCPeerConnection, RTCSessionDescription from aiortc.contrib.signaling import BYE, add_signaling_arguments, create_signaling logger = logging.Logger("vpn") def channel_log(channel, t, message): logger.info("channel(%s) %s %s" % (channel.label, t, repr(message))) async def consume_signaling(pc, signaling): while True: obj = await signaling.receive() if isinstance(obj, RTCSessionDescription): await pc.setRemoteDescription(obj) if obj.type == "offer": # send answer await pc.setLocalDescription(await pc.createAnswer()) await signaling.send(pc.localDescription) elif isinstance(obj, RTCIceCandidate): await pc.addIceCandidate(obj) elif obj is BYE: print("Exiting") break def tun_start(tap, channel): tap.open() # relay channel -> tap channel.on("message")(tap.fd.write) # relay tap -> channel def tun_reader(): data = tap.fd.read(tap.mtu) if data: channel.send(data) loop = asyncio.get_event_loop() loop.add_reader(tap.fd, tun_reader) tap.up() async def run_answer(pc, signaling, tap): await signaling.connect() @pc.on("datachannel") def on_datachannel(channel): channel_log(channel, "-", "created by remote party") if channel.label == "vpntap": tun_start(tap, channel) await consume_signaling(pc, signaling) async def run_offer(pc, signaling, tap): await signaling.connect() channel = pc.createDataChannel("vpntap") channel_log(channel, "-", "created by local party") @channel.on("open") def on_open(): tun_start(tap, channel) # send offer await pc.setLocalDescription(await pc.createOffer()) await signaling.send(pc.localDescription) await consume_signaling(pc, signaling) if __name__ == "__main__": parser = argparse.ArgumentParser(description="VPN over data channel") parser.add_argument("role", choices=["offer", "answer"]) parser.add_argument("--verbose", "-v", action="count") add_signaling_arguments(parser) args = parser.parse_args() if args.verbose: logging.basicConfig(level=logging.DEBUG) tap = tuntap.Tun(name="revpn-%s" % args.role) signaling = create_signaling(args) pc = RTCPeerConnection() if args.role == "offer": coro = run_offer(pc, signaling, tap) else: coro = run_answer(pc, signaling, tap) # run event loop loop = asyncio.get_event_loop() try: loop.run_until_complete(coro) except KeyboardInterrupt: pass finally: loop.run_until_complete(pc.close()) loop.run_until_complete(signaling.close()) tap.close() aiortc-1.11.0/examples/janus/000077500000000000000000000000001477147103300160205ustar00rootroot00000000000000aiortc-1.11.0/examples/janus/README.rst000066400000000000000000000025111477147103300175060ustar00rootroot00000000000000Janus video room client ======================= This example illustrates how to connect to the Janus WebRTC server's video room. By default it simply sends green video frames, but you can instead specify a video file to stream to the room. First install the required packages: .. code-block:: console $ pip install aiohttp aiortc When you run the example, it will connect to Janus and join the '1234' room: .. code-block:: console $ python janus.py http://localhost:8088/janus Additional options ------------------ If you want to join a different room, run: .. code-block:: console $ python janus.py --room 5678 http://localhost:8088/janus If you want to play a media file instead of sending green video frames, run: .. code-block:: console $ python janus.py --play-from video.mp4 http://localhost:8088/janus If you want to play an MPEGTS file containing H.264 video without decoding the frames, run: .. code-block:: console $ python janus.py --play-from --play-without-decoding You can generate an example of such a file using: .. code-block:: console $ ffmpeg -f lavfi -i testsrc=duration=20:size=640x480:rate=30 -pix_fmt yuv420p -codec:v libx264 -profile:v baseline -level 31 -f mpegts video.ts In this case, janus video room must be configured to only allow a single video codec, the one you use. aiortc-1.11.0/examples/janus/janus.py000066400000000000000000000175141477147103300175220ustar00rootroot00000000000000import argparse import asyncio import logging import random import string import time import aiohttp from aiortc import RTCPeerConnection, RTCSessionDescription, VideoStreamTrack from aiortc.contrib.media import MediaPlayer, MediaRecorder pcs = set() def transaction_id(): return "".join(random.choice(string.ascii_letters) for x in range(12)) class JanusPlugin: def __init__(self, session, url): self._queue = asyncio.Queue() self._session = session self._url = url async def send(self, payload): message = {"janus": "message", "transaction": transaction_id()} message.update(payload) async with self._session._http.post(self._url, json=message) as response: data = await response.json() assert data["janus"] == "ack" response = await self._queue.get() assert response["transaction"] == message["transaction"] return response class JanusSession: def __init__(self, url): self._http = None self._poll_task = None self._plugins = {} self._root_url = url self._session_url = None async def attach(self, plugin_name: str) -> JanusPlugin: message = { "janus": "attach", "plugin": plugin_name, "transaction": transaction_id(), } async with self._http.post(self._session_url, json=message) as response: data = await response.json() assert data["janus"] == "success" plugin_id = data["data"]["id"] plugin = JanusPlugin(self, self._session_url + "/" + str(plugin_id)) self._plugins[plugin_id] = plugin return plugin async def create(self): self._http = aiohttp.ClientSession() message = {"janus": "create", "transaction": transaction_id()} async with self._http.post(self._root_url, json=message) as response: data = await response.json() assert data["janus"] == "success" session_id = data["data"]["id"] self._session_url = self._root_url + "/" + str(session_id) self._poll_task = asyncio.ensure_future(self._poll()) async def destroy(self): if self._poll_task: self._poll_task.cancel() self._poll_task = None if self._session_url: message = {"janus": "destroy", "transaction": transaction_id()} async with self._http.post(self._session_url, json=message) as response: data = await response.json() assert data["janus"] == "success" self._session_url = None if self._http: await self._http.close() self._http = None async def _poll(self): while True: params = {"maxev": 1, "rid": int(time.time() * 1000)} async with self._http.get(self._session_url, params=params) as response: data = await response.json() if data["janus"] == "event": plugin = self._plugins.get(data["sender"], None) if plugin: await plugin._queue.put(data) else: print(data) async def publish(plugin, player): """ Send video to the room. """ pc = RTCPeerConnection() pcs.add(pc) # configure media media = {"audio": False, "video": True} if player and player.audio: pc.addTrack(player.audio) media["audio"] = True if player and player.video: pc.addTrack(player.video) else: pc.addTrack(VideoStreamTrack()) # send offer await pc.setLocalDescription(await pc.createOffer()) request = {"request": "configure"} request.update(media) response = await plugin.send( { "body": request, "jsep": { "sdp": pc.localDescription.sdp, "trickle": False, "type": pc.localDescription.type, }, } ) # apply answer await pc.setRemoteDescription( RTCSessionDescription( sdp=response["jsep"]["sdp"], type=response["jsep"]["type"] ) ) async def subscribe(session, room, feed, recorder): pc = RTCPeerConnection() pcs.add(pc) @pc.on("track") async def on_track(track): print("Track %s received" % track.kind) if track.kind == "video": recorder.addTrack(track) if track.kind == "audio": recorder.addTrack(track) # subscribe plugin = await session.attach("janus.plugin.videoroom") response = await plugin.send( {"body": {"request": "join", "ptype": "subscriber", "room": room, "feed": feed}} ) # apply offer await pc.setRemoteDescription( RTCSessionDescription( sdp=response["jsep"]["sdp"], type=response["jsep"]["type"] ) ) # send answer await pc.setLocalDescription(await pc.createAnswer()) response = await plugin.send( { "body": {"request": "start"}, "jsep": { "sdp": pc.localDescription.sdp, "trickle": False, "type": pc.localDescription.type, }, } ) await recorder.start() async def run(player, recorder, room, session): await session.create() # join video room plugin = await session.attach("janus.plugin.videoroom") response = await plugin.send( { "body": { "display": "aiortc", "ptype": "publisher", "request": "join", "room": room, } } ) publishers = response["plugindata"]["data"]["publishers"] for publisher in publishers: print("id: %(id)s, display: %(display)s" % publisher) # send video await publish(plugin=plugin, player=player) # receive video if recorder is not None and publishers: await subscribe( session=session, room=room, feed=publishers[0]["id"], recorder=recorder ) # exchange media for 10 minutes print("Exchanging media") await asyncio.sleep(600) if __name__ == "__main__": parser = argparse.ArgumentParser(description="Janus") parser.add_argument("url", help="Janus root URL, e.g. http://localhost:8088/janus") parser.add_argument( "--room", type=int, default=1234, help="The video room ID to join (default: 1234).", ) parser.add_argument("--play-from", help="Read the media from a file and sent it.") parser.add_argument("--record-to", help="Write received media to a file.") parser.add_argument( "--play-without-decoding", help=( "Read the media without decoding it (experimental). " "For now it only works with an MPEGTS container with only H.264 video." ), action="store_true", ) parser.add_argument("--verbose", "-v", action="count") args = parser.parse_args() if args.verbose: logging.basicConfig(level=logging.DEBUG) # create signaling and peer connection session = JanusSession(args.url) # create media source if args.play_from: player = MediaPlayer(args.play_from, decode=not args.play_without_decoding) else: player = None # create media sink if args.record_to: recorder = MediaRecorder(args.record_to) else: recorder = None loop = asyncio.get_event_loop() try: loop.run_until_complete( run(player=player, recorder=recorder, room=args.room, session=session) ) except KeyboardInterrupt: pass finally: if recorder is not None: loop.run_until_complete(recorder.stop()) loop.run_until_complete(session.destroy()) # close peer connections coros = [pc.close() for pc in pcs] loop.run_until_complete(asyncio.gather(*coros)) aiortc-1.11.0/examples/server/000077500000000000000000000000001477147103300162065ustar00rootroot00000000000000aiortc-1.11.0/examples/server/README.rst000066400000000000000000000024661477147103300177050ustar00rootroot00000000000000Audio, video and data channel server ==================================== This example illustrates establishing audio, video and a data channel with a browser. It also performs some image processing on the video frames using OpenCV. Running ------- First install the required packages: .. code-block:: console $ pip install aiohttp aiortc opencv-python When you start the example, it will create an HTTP server which you can connect to from your browser: .. code-block:: console $ python server.py You can then browse to the following page with your browser: http://127.0.0.1:8080 Once you click `Start` the browser will send the audio and video from its webcam to the server. The server will play a pre-recorded audio clip and send the received video back to the browser, optionally applying a transform to it. In parallel to media streams, the browser sends a 'ping' message over the data channel, and the server replies with 'pong'. Additional options ------------------ If you want to enable verbose logging, run: .. code-block:: console $ python server.py -v Credits ------- The audio file "demo-instruct.wav" was borrowed from the Asterisk project. It is licensed as Creative Commons Attribution-Share Alike 3.0: https://wiki.asterisk.org/wiki/display/AST/Voice+Prompts+and+Music+on+Hold+License aiortc-1.11.0/examples/server/client.js000066400000000000000000000231561477147103300200310ustar00rootroot00000000000000// get DOM elements var dataChannelLog = document.getElementById('data-channel'), iceConnectionLog = document.getElementById('ice-connection-state'), iceGatheringLog = document.getElementById('ice-gathering-state'), signalingLog = document.getElementById('signaling-state'); // peer connection var pc = null; // data channel var dc = null, dcInterval = null; function createPeerConnection() { var config = { sdpSemantics: 'unified-plan' }; if (document.getElementById('use-stun').checked) { config.iceServers = [{ urls: ['stun:stun.l.google.com:19302'] }]; } pc = new RTCPeerConnection(config); // register some listeners to help debugging pc.addEventListener('icegatheringstatechange', () => { iceGatheringLog.textContent += ' -> ' + pc.iceGatheringState; }, false); iceGatheringLog.textContent = pc.iceGatheringState; pc.addEventListener('iceconnectionstatechange', () => { iceConnectionLog.textContent += ' -> ' + pc.iceConnectionState; }, false); iceConnectionLog.textContent = pc.iceConnectionState; pc.addEventListener('signalingstatechange', () => { signalingLog.textContent += ' -> ' + pc.signalingState; }, false); signalingLog.textContent = pc.signalingState; // connect audio / video pc.addEventListener('track', (evt) => { if (evt.track.kind == 'video') document.getElementById('video').srcObject = evt.streams[0]; else document.getElementById('audio').srcObject = evt.streams[0]; }); return pc; } function enumerateInputDevices() { const populateSelect = (select, devices) => { let counter = 1; devices.forEach((device) => { const option = document.createElement('option'); option.value = device.deviceId; option.text = device.label || ('Device #' + counter); select.appendChild(option); counter += 1; }); }; navigator.mediaDevices.enumerateDevices().then((devices) => { populateSelect( document.getElementById('audio-input'), devices.filter((device) => device.kind == 'audioinput') ); populateSelect( document.getElementById('video-input'), devices.filter((device) => device.kind == 'videoinput') ); }).catch((e) => { alert(e); }); } function negotiate() { return pc.createOffer().then((offer) => { return pc.setLocalDescription(offer); }).then(() => { // wait for ICE gathering to complete return new Promise((resolve) => { if (pc.iceGatheringState === 'complete') { resolve(); } else { function checkState() { if (pc.iceGatheringState === 'complete') { pc.removeEventListener('icegatheringstatechange', checkState); resolve(); } } pc.addEventListener('icegatheringstatechange', checkState); } }); }).then(() => { var offer = pc.localDescription; var codec; codec = document.getElementById('audio-codec').value; if (codec !== 'default') { offer.sdp = sdpFilterCodec('audio', codec, offer.sdp); } codec = document.getElementById('video-codec').value; if (codec !== 'default') { offer.sdp = sdpFilterCodec('video', codec, offer.sdp); } document.getElementById('offer-sdp').textContent = offer.sdp; return fetch('/offer', { body: JSON.stringify({ sdp: offer.sdp, type: offer.type, video_transform: document.getElementById('video-transform').value }), headers: { 'Content-Type': 'application/json' }, method: 'POST' }); }).then((response) => { return response.json(); }).then((answer) => { document.getElementById('answer-sdp').textContent = answer.sdp; return pc.setRemoteDescription(answer); }).catch((e) => { alert(e); }); } function start() { document.getElementById('start').style.display = 'none'; pc = createPeerConnection(); var time_start = null; const current_stamp = () => { if (time_start === null) { time_start = new Date().getTime(); return 0; } else { return new Date().getTime() - time_start; } }; if (document.getElementById('use-datachannel').checked) { var parameters = JSON.parse(document.getElementById('datachannel-parameters').value); dc = pc.createDataChannel('chat', parameters); dc.addEventListener('close', () => { clearInterval(dcInterval); dataChannelLog.textContent += '- close\n'; }); dc.addEventListener('open', () => { dataChannelLog.textContent += '- open\n'; dcInterval = setInterval(() => { var message = 'ping ' + current_stamp(); dataChannelLog.textContent += '> ' + message + '\n'; dc.send(message); }, 1000); }); dc.addEventListener('message', (evt) => { dataChannelLog.textContent += '< ' + evt.data + '\n'; if (evt.data.substring(0, 4) === 'pong') { var elapsed_ms = current_stamp() - parseInt(evt.data.substring(5), 10); dataChannelLog.textContent += ' RTT ' + elapsed_ms + ' ms\n'; } }); } // Build media constraints. const constraints = { audio: false, video: false }; if (document.getElementById('use-audio').checked) { const audioConstraints = {}; const device = document.getElementById('audio-input').value; if (device) { audioConstraints.deviceId = { exact: device }; } constraints.audio = Object.keys(audioConstraints).length ? audioConstraints : true; } if (document.getElementById('use-video').checked) { const videoConstraints = {}; const device = document.getElementById('video-input').value; if (device) { videoConstraints.deviceId = { exact: device }; } const resolution = document.getElementById('video-resolution').value; if (resolution) { const dimensions = resolution.split('x'); videoConstraints.width = parseInt(dimensions[0], 0); videoConstraints.height = parseInt(dimensions[1], 0); } constraints.video = Object.keys(videoConstraints).length ? videoConstraints : true; } // Acquire media and start negociation. if (constraints.audio || constraints.video) { if (constraints.video) { document.getElementById('media').style.display = 'block'; } navigator.mediaDevices.getUserMedia(constraints).then((stream) => { stream.getTracks().forEach((track) => { pc.addTrack(track, stream); }); return negotiate(); }, (err) => { alert('Could not acquire media: ' + err); }); } else { negotiate(); } document.getElementById('stop').style.display = 'inline-block'; } function stop() { document.getElementById('stop').style.display = 'none'; // close data channel if (dc) { dc.close(); } // close transceivers if (pc.getTransceivers) { pc.getTransceivers().forEach((transceiver) => { if (transceiver.stop) { transceiver.stop(); } }); } // close local audio / video pc.getSenders().forEach((sender) => { sender.track.stop(); }); // close peer connection setTimeout(() => { pc.close(); }, 500); } function sdpFilterCodec(kind, codec, realSdp) { var allowed = [] var rtxRegex = new RegExp('a=fmtp:(\\d+) apt=(\\d+)\r$'); var codecRegex = new RegExp('a=rtpmap:([0-9]+) ' + escapeRegExp(codec)) var videoRegex = new RegExp('(m=' + kind + ' .*?)( ([0-9]+))*\\s*$') var lines = realSdp.split('\n'); var isKind = false; for (var i = 0; i < lines.length; i++) { if (lines[i].startsWith('m=' + kind + ' ')) { isKind = true; } else if (lines[i].startsWith('m=')) { isKind = false; } if (isKind) { var match = lines[i].match(codecRegex); if (match) { allowed.push(parseInt(match[1])); } match = lines[i].match(rtxRegex); if (match && allowed.includes(parseInt(match[2]))) { allowed.push(parseInt(match[1])); } } } var skipRegex = 'a=(fmtp|rtcp-fb|rtpmap):([0-9]+)'; var sdp = ''; isKind = false; for (var i = 0; i < lines.length; i++) { if (lines[i].startsWith('m=' + kind + ' ')) { isKind = true; } else if (lines[i].startsWith('m=')) { isKind = false; } if (isKind) { var skipMatch = lines[i].match(skipRegex); if (skipMatch && !allowed.includes(parseInt(skipMatch[2]))) { continue; } else if (lines[i].match(videoRegex)) { sdp += lines[i].replace(videoRegex, '$1 ' + allowed.join(' ')) + '\n'; } else { sdp += lines[i] + '\n'; } } else { sdp += lines[i] + '\n'; } } return sdp; } function escapeRegExp(string) { return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string } enumerateInputDevices();aiortc-1.11.0/examples/server/demo-instruct.wav000066400000000000000000043641701477147103300215410ustar00rootroot00000000000000RIFFpèWAVEfmt @€>dataLèÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿ₫ÿưÿ₫ÿ₫ÿÿÿüÿøÿöÿøÿøÿ÷ÿúÿùÿüÿÿÿüÿưÿưÿûÿúÿüÿüÿưÿÿÿ ưÿøÿöÿ÷ÿöÿöÿøÿüÿÿÿÿÿùÿøÿôÿđÿơÿ÷ÿúÿ  ₫ÿøÿơÿôÿ́ÿëÿíÿ́ÿîÿôÿùÿûÿ  ûÿÿÿÿÿøÿÿÿ  ÷ÿ÷ÿùÿóÿóÿöÿøÿøÿûÿÿÿûÿüÿøÿóÿ÷ÿóÿôÿôÿơÿưÿúÿÿÿ "#)# ëÿæÿæÿßÿƯÿåÿèÿăÿèÿöÿúÿ  ûÿ÷ÿúÿôÿïÿñÿùÿ÷ÿôÿûÿ₫ÿöÿ÷ÿûÿùÿôÿùÿ ÿÿ æÿéÿăÿƯÿäÿíÿùÿơÿÿÿ$( ₫ÿûÿôÿàÿ̉ÿ̃ÿÛÿ̉ÿƯÿèÿăÿåÿûÿ₫ÿ ưÿơÿïÿúÿ÷ÿ'$ÙÿÈÿ¶ÿ¡ÿ¦ÿÄÿàÿßÿûÿûỵ̈ÿÜÿíÿïÿëÿïÿN8„a{R\$ ùÿ×ÿæÿêÿÓÿ*AÜëƯQ¿ƒnÿ<!ü!øû¿öÔñ©ó¼̣Rísñ0÷÷úû8ˆ !›º!O± )ôđ—ëƠàÉăAç*äï`ø¨ Ú© j₫uđé_âĐÙ́Ö ØÉÙ̃Ëê ”ư#ë8ˆ"¼<@e&’#E#£ĐóKđ¥ÛưË)ÖçÏÎá\í¡̣v _SÇ,>-V)]#»pKûqîGàlÖƠvÎÏiØ’Üæå†ÿú!b3é9â6 ?—6ˆ*.j́ûöætáÎƠË̉jÔØç×̣=p×O% )„'x <— Fù™́ă•Ù ÔÇÔ)ƠÙ¹âoï{ ·#ˆ:5v<`>7.´!:ôïµä›ÛÍWÏ7Ô ÔÏßïüŸ¡y"’#%E""á ưøíqăàÜjÖƠ ×ÚÛ€âró (=8Ç>}?×.s ÿ´ë·áz×ÎÊc̀̉GÔÑạ̀ ₫# ©"7#ơ"§ØôùëÏá«ÛÖ¡Öóבß!ç«ơ“w( ?§;ù]úûtü$₫¦ÿ*AZcÜVƒ? 0‰1ÄùA£ØüûÆP|_ÿG₫ ư₫ûÊúÀùù7øà÷ï÷øaø_ùpú™ûÉü ₫£ÿr‘°×MVœë@Q{y…^Ơwư\Ø Ḍÿÿ5₫²ư(ưdü±ûhû#ûµúúïú*ûPûÎûeüÜü-ưàưŸ₫ø₫ÿ>ËDĐ1„ȱ±ºiDS Æà›e}8É’[æÿ„ÿAÿÿ×₫§₫§₫£₫°₫Ï₫ø₫,ÿ{ÿ°ÿÛÿ+:JUđÿ®ÿdÿÿô₫ó₫Û₫"ÿOÿbÿ¬ÿƠÿÖÿ G1èÿâÿØÿˆÿ^ÿ`ÿyÿÿËÿ3Â9Ä@À*4Ú_Ï₫#cÿ₫́ưưMư|ư¯ư₫µ₫CÿØÿ4s©§E£ÿÿ‰₫.₫Đư‡ưŸư¶ư+₫«₫–ÿi0ÄSxu"œÆơ%>ÿl₫àửưƯư-₫¥₫Oÿª>«ÊÔ¼gơY ÿÿ”₫0₫₫₫(₫’₫ö₫¥ÿ1F¨Ù¢6vÿê₫j₫ëư ư¡ưÏưQ₫Í₫aÿÆIÂậç‚HÔkÂÿŒÿVÿ+ÿ%ÿ“ÿÑÿ†úS…™RUÍÿ(ÿ¸₫/₫đưNưuư®ư#₫¤₫̉₫æÿ¶/]’D#Ó¨íÿqÿÿÿß₫å₫Bÿ˜ÿ¹ÿ[hî%*ñzư_¶ÿ"ÿÈ₫d₫«ứư0₫'₫W₫û₫ˆÿíÿ…Ñ>I6ÚCÓÿHÿÛ₫ÿª₫ï₫₫₫ÿ7¸Il„4º$Üÿ€ÿ;ÿø₫ä₫¡₫ß₫À₫ÿ}ÿzÿ‹„¡Ç µ̣ÿ½ÿ½ÿƯ₫6ÿÖ₫È₫ÿÿ{Åÿêÿ.Ûïíb!îÿ7ÿî₫Æ₫áưÿó₫D₫»ÿÇÿW\¶åí#¿q>ÿ‡‘ÿL;ü‰üưÜÿMưa₫;ÿ̃ÿCÿ&°ÿ.z´ÿª‰ÿ5ÿ»€ÿhPp•ư-₫Ưö]ÿ!ùx®₫Ëüp₫¦ưÂÿ¤÷R₫™EÿưfØ=₫Uÿ2¢ÿ$ÿåÿQÿÿcÿ̉ç0U]4Pÿ₫Ä ÿêeÿ ₫x1₫À[ÿÂûÎî¾ư“₫œÿmÿ ÿ¡ÿïÿPưÉ –û_~ưñưF¡‡ÿ¼ÿTUÿ7 )ÿo•’FQU®ÿÄéÿûüL»ưpüVühưmûƒúFưZúNûNü+ưĂü4₫¡}Âw!Ơ > Q U¥ ( \+æLÿă₫ù®÷øáñó;̣>ñQôñ½ö ÷öUưWú₫ÊóéƯ Ơ ¼ >- M r óºkdÿ/üú¾÷³ôUóị̂ºđJñëñÔñ–̣8ơơ÷­ùMùüÿ,̣î–  » YEûükÊ o íU ₫̃üMú5ơơạ́Kñññ<ñùđ†ó̀óoôo÷r÷ù{ú²₫܇–‹ 3 ±!çdæ7S# -mA¨ưOüÍù¸ó0ôḲÄî´đ©ïûïñÛñUó]ôĂơ÷̉ø;ù=ªMÑ Ù5 uÈÈ3R@xï^ e29=₫ÅüeøôJó7ñôîï{î‚ïàï£đĐ̣̣uơóọ̈ö0úÿ́$ ÉWIc8ÅƠâg _tg=ửúöhóTñJđúíhî§ïöíëđ°ñgñ¿ô±ôÏö$÷E₫/"ÿƒ  k äÓ~$÷đ ÇÏüü¿ûÚöẹwñ ïbífí¢íÙíĐîªđ3đÂóÁó²ơm÷Óư%îÿL y { jA‘G,Ô(¥3Hvü­úăơcñ™đkî‘́2íPíwííîkđÂđ…̣¢ơ3ó”ùêzûkr ?Xe'ŒUh—pÍ ˆ |ưưû­ö&óFđzî×í]́Ïíáíîñéđßñ?ơ¸ôơ´'û$đ -³¢¸ÏGËư‡Àq *<ÁüŒûF÷ÏñÔđ7îGí́îní0ï8đSññ]ơQó¤÷aùÜD ̣8bP;¿²¨æMùüú—ó4ï^đëë́íỐæíjï ñCñ7óơÇó‹–ưÏÿœÄ‘æ<1äRü¥¬ ƯrûÄ÷ÇôËî@í„́êë́Jí®îëđ^ñỊ̈dơCôAƯü© q¸Ñe—Ë-Í̀ »]ƠøtợĺÁêdëè4ê»́ǻªí&̣hđ>ôæ̣Ơû¶¢ú“$ U&íXC Ư4 _̃ûÓô!ñôíèaè¡é’æ¢é(îëÛïưñÆ̣ ñO₫ïÄûWè‘ ”ÈƯŸ= ]ÖWZ CZúÁñïä́>æîåĐéåKèëí¢ê_îÖó‡đ©ôߢü“´u "c¶"$:ô%(üyồ́Zëlé"ăsæôèæ|êZị̣̂́̃àóPà₫ÙOSđ!…ưr"₫€qèmÿ%ùơÙë èáéˆă²ăRéNç]è­íRíạÛïëü¼îư6ö3ä$Ûû }„ ½Cö¹ôçï³äÖåç¹áâäíèéuëẤ²ó#ñåüR₫\,°¡!á…<mÅ ZÄÿóüđ̀ë<äûă…ăóâÁæŒæ<ëlíÛï ̣̣øU ÅÏ#ơ 1!9 ûöH pdö¦ï0ëôäRă—ááÜåæÜèí'ññtûa,}ưZ“ e!Î!~U=0 ôÇûkóZîKçMáăÎà“à¥äiç£éÇî²ñơb«ú ²%ÛU"̉ #¡¼ÆC ¸́ụ̂íÛèàußàà9âbäÜç|ïwđˆörÊ f_Wk$œ$Û ̉#øú.úÿí<ê~æ$à‚̃‚ƯîßFä˜ă˜çàïđñk Ÿ ÉM‚"x&#ñ"½!^FÉ ³íûñ̃énç(ầßßṽÍă±å9ç÷íáñk : æă·#c& "… ´`®÷ư›ù~ï‘ç;å½á[ávà‡ß´åè®́¦ïø’’­ 8'û&G ̉ ªè ƒư₫ơñêåà ̃Çà-á₫ăÙåÇêqñPú:öU#æ''³"V„©áü₫ôĐí&ç5ă}̃lƯß#ß›ă=ǽ¤ñCüê ÷ÿN ³$)á(#ùs"ụ̂oéBåẵ•Ü4ÜêßÈä¬ḉự^äđ³  ´&s*'M!,Mô $qø#îgæåâM̃€Ü(ÜÆá›æ˜êƒîđún Úu¸"d'6($U ‰ºư”óéQåä@â¶ß½Ü.ß{ä×ê ïÂøñÏD0í `#û#½"ùªC ¶#₫Xö‘́·ç›äăøâăà·á å:êñùû´³‚tx ²!†!’ˆĂe ؼûẠ̈Cë4è¢å…å̉ăâñă¿èTîÊö* 6Ût!• jQ°n ³–ûóô:í×è‰æåäă^ă…çí"ô‡ÿ ±ñ¶M"à!‡›DÖ úzûớHçå‘ă*äaẳâÓæ ́ôíx ÇÊö Â$ă#œ ¢ ¬ †¿ùúñ‰éjäưâ³á®áKáâ ç í+ö&c^"ÿ$7'¡%"î”4 ~ÿvöî æÔàữễö̃ªßáUçGï-ú- æ &–(p*(›"™·öû¤ñôèá́ÜÓÜ[Ü]ÜñÜâàÆéPô—(¶%s*Ä,Ó+»&ÂE“ µôë äƠƯßÛ×Ù¬Ø4ÚƯgå4ïgư• =́% ,..y*Ó"N̉ æ#ö́På̃ÈÚÛØ˜×rØÿÚ8ă^î=ư4 ÈU&.-$00·*S#¹  ôÀêăƯÜÚơ×_ר‘Ûå!ña–)œ.<0/¦(k ®2aûVđîèáÛé×HƠ4ÖOÙà¦êüø ¹ä&µ-X0;0L,Ä$P# ´₫éó;́ÚăOÜØDÔÁÔ×1Ưtç¬ô¹ïc%}-ê02"/&`À ü₫Sơ8í°äPƯ°Ø{Ơ²ỒƠÜÛæ±ôÄ•$-à1a2Á.&£U ÿ™ơeí^ä̃iØ®Ô ÓÿÔƯ9è7÷‘zÜ&’.s1¡0:,ö! †üôßëä̃̃×bƠfÔÙá»́ư·¨–(?- /V-_&M' ¸ÜøñéăøƯÚ•×’Ø®ßëàø_#́*Đ-×+P%ă Rœö»ïélă:ß¡Û[ÛƠƯ]ä̀ïk¸`%ë(+Ơ&A ¨yøÇñhëáå‡ăá̉ß»à&åïîƒü0 Q"&(f&è#ôù{̣̀ëÔænâ”̃^̃jßÚă ́Üø —¨%*.,+­!Sñ́øúđÖéxä^àjÜaÛ˜ÜÅàAêöH `‘&»,".à-@$Bµú·̣të åÔàœÜúÙưÚ›̃Kç ó₫8ß$9,Ç-M.&>½„üơ©íªçÚâZƯ~ÚeÛáƯ™åSñët̃"Œ),-w%¤Å e₫²ö‰ï«éœäz̃!Û³Û(̃åÈïíë“"4(„+,B%Íăưm÷bđâê@æ—à>ÜÜ#ßƠåÍđÚfº!j'{)»*#¶ü ÷Cđ,ëçăá̃̃̃sà́æẈÑ”!÷&É)r*í!Ø"ü;ơïxê³æ̃á<̃µ̃“áƒç̣̀¾“L"_&*ü*-"6 :ûLơ­î‡éªæXá2̃­̃9á¢èó́_¼"²'*ó)P"‰Wîú¦ô—íéå=á%̃b̃Aâ6è<ôóù"î&Å*S*ư"¼,üœô<î½è\åÊá₫ƯpßkàƯç?ó× M &)é(¿%¾? ~ÿ÷ñêDæă>ß?àÊá€æñ¾üáđ ³$5%J$âµ7û%ơïëCçälă-æˆèœïơù±hï³tN Cü±ø|óñ×́§́6í€ï@óé÷ŸưÙ0 1 1Î f 3 ăx,ơÿtÿTûÙú{÷÷*ø#ùûxüÉÿÿư+ n 5NÑ{è*®¥ îÿÿ̉₫6₫0ư¤ưÔüwư®ư9₫nÿƠÿOÀjêÑuơCßÿ ÿ₫Pư₫ü†ü§ü;ưưf₫Qÿc>îƒ Ar¼ÿË₫J₫ưFư'ưNưƯư₫EÿKù8=ƒ.9­4ºmÿÿ₫[₫ÿư‡ư¥ươưùư«₫mÿ‚—-Ù3PÇÿV₫¿-₫û₫á₫üư­₫Ñ₫qÿgÿà=•á…8ÎH½ÿ_ÿø₫hÿx₫ÿí₫ö₫@ÿHÿ ß_·ÍÖ ±Øÿdÿÿ]₫Ä₫j₫Ø₫Ç₫qÿ ₫"₫bÿEq¼g—…mÿÆ₫¯ưùưˆưŒưư’₫Iÿ´³ÿ…₫ºÿÎ4í¿)à±ÓUK₫©ÿ-û’ÿ«ú£₫uü₫ñÿ‡₫öÿ÷/æ ¢~”ü₫%Êÿb₫d₫•¦û£₫üIû¾₫8ûÈ…ǜ^₫* î;|W6•ÿ uÿ\¤₫Aÿ÷ÿVÿîÿ5*Œ•ÿ Êÿáÿqÿê₫·₫tÿf₫ç₫¸© ʃ ™ÿ̃Nÿ{ÿ¥₫z₫ưâưªưăư.ÿ[₫~ÿɘrcø½…]±½ÿđÿoưjưßüŸû#üüúü€üË₫ÿj)P‡(¼•Äö̃d§Gÿ̀₫mü̉ûóøyøÚö÷ø±øÅüÿû˾Éă+ É Ó P Nư”úVơ|̣àđƠîYîÄî3đØôtùc©  7-œ/HiÁ ?JÿPúâợ¦íƒëéZêñéí×ïœö®₫ä aç­ƒÄwf ¨ûÿéû6÷2óiḯ»éIè&è¾èOëưîPơh₫â GYw”ÇÂtµ *ÿÄúÛö\̣mî3́ë¡êdê#êëTî»ñæøÔ"Éăơú¡~à $súçöÓôƒñ­îÍí̃í,îỐÉĺSïđñ{÷ç°ê *³0àÅ₫wùñ÷Ơô®ó@đÿïÿï–đ#ïöëUëḱzî–đ•ú ¼ å,o-$#–â*üöñđ™ôlûüÿư£÷ÙợÖđ́^é”ë`́üíí;÷ô0Œ>¤7 Ä₫`ö đéûđÜ₫̣Ê `ÿüô‡̣đEñCí]ê=í¶́£î%́ó’ß5öBü7Fơ­ïêïÏíhùD åG lüDïµïĂñ²ơ.öơđïæèäæúç<ê ¤1B†=RƠcó´ëjï#ñơü}+=ÀÿZíÉ́Íï¥öŒùqöÍñsè$àƒâä(öî4;*B§0-ßøñî;ó¼ø º¡¨ô™ç|í8ó’úËù“ôTí¨âq̃uåáéø:q:¶C„/> ö¨đ̣ĐøÎü“ Éúæñpæ¹ëöYư»ûôîºâæáZå¡îùïw 10C,;^™ùuñ*ó€øÉûù®3 ĐơçZé=ơ@û½ưÓôñđçñß©äsíÔñó<àFà0} (̣zô-øzú ø má ç‡î+ù ûˆû³ô¡̣åđàMèÔóơ³ï ¼:eGh3v 2ơöôơŒơm FË{.ï­́†ñ¶ơLøôø5ơó®è€ä"́xóÑôêW™4̣CÚ9™¹úÔú‰̣ïGñß4ø=íôñqđ̣Îø„øêơ,ï·åÉ.̣Zô írê?ƒ@ë*Æ=ÿe₫Uñị́p ¡![ƒ¬ôÊïmđë®ñ«øAúMøaïêóîuñ¢ñ:ë<í`ù;O>ü,É<üéqẹ̈ dÏ Å…úỤ̂/íéåṆ̃Ÿû¤ûPûóó4îǻµïùñÎîÚ / >6×Vï”çxëUưX‚¼ Hâù”ñ£æáê“ú°üäüø!öô:ëÁë¨đLôñ= µ3Ă6 /̣ñÿlëǻ¶Qå  !9üÿđLç…ïgû~û/ü2ú úĐóœè́ṛ9̣;́;q0Ơ5y)‘åªÔî-ăǘ—m × Bwó–é́đúÏ÷)øDû‘úỴ+ædé·đ}̣È́üú¬&Á3ó)Ü­¿÷¦å7î*ü§Çă$ÿ gù{î,ï¤ö^ñ¿đYù,ü ÷sêLé³ṇ̃̃‹ï¾́ù 7-»(0%`"ƒ Ạ̊ ïöú|d‹ ™¢¨ùÖơỴ̈ŒđjíơÔûúö‹̣Ḯíèđêï‘ñàđs`(•$G(̃% ˆ$ùUö¤ôẸ̈Çù1₫u ó ÷ˆăøAôỤï7ô‡ơOôơ"ñ[ïfđ=ñ”ó+î=C#₫!¥$V))yÿû>÷"ï†̣ù¨̣Íj'ÿKö}ó&đBóTộúöÄơñKđṚơ˜ïûôƒ£!·~&º*A# Z‡ơTđrơ û*₫ü$ư¥ÿ¡ù]ơ÷ö ö¡ơ÷Ăø·̣»ï¦̣ụ́yñfîL7/ùØ)_([ù¸ ¹ÎóÂôøkôtơM÷(üçû§÷Ưûaû’÷ øæ÷•ø+ơññQó!óḳ¬ñđ2´JA)&Ê&2Ue.ø-ú»ơ]đÑñªóó÷;ơlöYûÜö¢÷ÂúôùfúøÅ÷ö©ôó’ñJ̣<̀  ÜT"b"«¡€ cdßøbđ ̣åñiñ³đ óöôë÷^ûPúÓú&ü¯úûø=ø`ơ·ôḳÎưß7IµÜŸV—Qƒ IL₫ÎôYơđ—îoîï;̣“ñfô-øäø¸úư$ü²ü.ü:ø¼÷ơ÷ú$¨m –‡±.(Ñ D đ÷û!û¦ơWñđkí]îˆí_î7ôüơ øTư₫b₫;₫³û³ú©ø|ù\Ü ›]±<-&T ˆ „‡üưCøÎơœ̣ûîªïŸïéđËóJö=ù¶ûưÿ!ÿÿ₫Aÿ±ÿµÄÈ̃"Pxߥ°û&ÿÎÿS₫̣ûOûWüDúû]ü ư%₫ô₫ÿ́ÿ>- ,ÿô₫+₫₫¹ư¦ưUư#ư½üŸü—üÆü•ư‹₫ÿÀécf¾ƠèW…Q)³àĐ…ÿ3ÿBÿÿ+ÿÿ¥₫]₫×ư\ư=ưưåư₫U₫Å₫²₫&₫íư ₫A₫X₫ÿÑÿ÷)9nÓm‘yÚÔ‹æÿåÿÁÿ˜ÿ‡ÿ•ÿLÿÿRÿ–ÿ¥ÿ˜ÿÓÿ¸ÿVÿÿ8ÿ ÿ̉₫Î₫ÿ₫₫Ï₫6ÿ;ÿÜÿêÿÜÿKưÿU|Ă1kmt‡]$óˆÿÿ´ÿlÿÿî₫Ö₫́₫ÿ7ÿwÿÿºÿôÿîÿÍÿĐÿ̀ÿÖÿ§ÿÓÿ̀ÿöÿ1Uˆ¬‰~`W6₫ÿ̀ÿ™ÿ–ÿÿgÿhÿsÿ®ÿØÿøÿ1PGXLñÿåÿçÿơÿ$^„®ƠƯñܺˆ;ưÿ ÿ0ÿÁ₫₫e₫U₫T₫x₫̉₫Rÿ¼ÿ̃ÿe·µ̀ôăµ½ˆa>đÿ¯ÿeÿÿË₫Ç₫¿₫ª₫Ú₫ ÿHÿlÿ…ÿ»ÿÈÿđÿ'Tk²¬®¢sNMbƒ™ÓƠµˆ2ëÿ¯ÿ„ÿ^ÿ`ÿtÿ›ÿ—ÿÿ«ÿ¶ÿ±ÿÀÿÈÿàÿæÿÙÿêÿíÿîÿèÿÙÿ 4*Ddq6àÿ¯ÿ¬ÿÉÿßÿ%VT:̣ÿăÿèÿîÿôÿGTM1₫ÿÜÿËÿÑÿÙÿđÿøÿëÿÉÿªÿÿ­ÿÎÿ́ÿáÿÙÿƯÿÄÿÆÿæÿ :eU<#øÿnZ­<AØÿøÿ‰ÿêÿÿ †ÿúÿ•ûư₫bÿđư·₫ëư4gç₫¬ƠM ÷ùí×öqËú´₫ 12ø©úh_ÅưIưÀù4ÿ¶₫qY{ÿpù%9ÿ(Ñ”sUh¸ḍuÿ¬ưáư’ü8û́üuĂ‹/µƯÿøÿUÿÛü†ùøúO₫—üVü"ÿmó₫^ ¿₫£₫oÿă-æÿÿù₫µªÿǹû¾|B<3₫ $ÿÀ)₫₫ÿ­₫~₫°üûÿ¶ÿü*ư&ữÿƠüÄ₫¸ÿ’ &•¢$_f½.Öh₫°ưl[ÿ˜û û¥ûûúù"÷„úbúÓø¶ú\ûz₫‰üư—aG°µ 5 Î ¢ l ĂgÂ8jư´úâù—ö‹ọ́ólóióEóùøÄöhû_ûèùüÅ₫₫ ³c 8gÆÍ|Q  ï˜[ưûpúí÷ ö¿ơªơpô5ô!ơE÷½÷QøCúyú3úkøÎ÷÷åö¤öbøÿD ²°’Î’Á  für÷“ơóóïzđvô„ơ…ô.ơuøkú¹ù9øµùBû[øÇơíó,ọ́­ôđ₫ù@ ˆKfƯ%c)T$µ•q "[÷ ñ¬ëzîlñăïÏơ»øJü+₫®ûüBû7ù÷uôRó}ñ<đ­í{íïị̈°ÿƠz#ß%Ä)”.»-T$&'Ó—úưïèˆéZñ8öĐơv÷\üËÿéÿCü÷ùzúùCơáñlïîpî¢́OëấÇđ|ơ« ¢)+’-‰,3)ßÇ₫‰ú$ö|đë*́9ô=ú‹úû3¡Âÿüí÷yö†ọ̈ôïđí£́^îắÊê¨éµínóç Ă%ø.<0Ú.Ô+Í(¼ƒùWô˜ơôǿí]öüºÿàÿ|ûJü!ÿÁü7ùröÁôùơÎô9đBë·êć«́ éĂëî]¡! 2 4e1‘+!&¥  NùóđHñƒôọ́́ïDñNùdÓ–ÿüü&ÿ}₫~ú™ơơûôßôÁï¨êéñëDífêŃ¿îÑú'95¾6 1‚&$TÑx÷¦́Tënñ8̣Æï‹̣+øÙÿÀ(˜ÿÿ> 8ư™÷ öơ>ôKññëƯè'ê¿ê,ëäíîØ¯ o0Ï5a0Y%C"6ç)ñcëßíđđÖđj̣ø₫₫́g»§₫úú÷¨ó ̣Pí˜ëÂë̀ëûêí<́D÷‚ Đô)+Ù%ú Ÿ!ÿü5}üÖöóiđ`îíĐ́Äïâówøîü:“†Œ „sÅ₫Ơ÷–ñ¿ëPé­ç¸çëè?æ̀æó©Ï;,c2«,£)>'-!Sñ û@îđèç“èè]é1íÛñàú=™@  r 6 ¦t₫`÷ï4êmèóçéåçÄçaèÄđ‰Å)0]-(Q&"‹©̣Gêûèçµè\çé»́ôÈưœ Í À ă ·ơưöîEêKè#èÑæ¡åˆä}çüö™ !n-Ü-+'(D&;#å/ œü'đÏê2çZæªä½ăæ~ëơú₫ ˜ 4úŒ ¥zÿÉöhîøéç›æ4ä\ăOâ©æÇơ€ ™ S)5-$,*ø(P$~CÍÍơ½ë}æcă áià+âaçåïú́x đPÿYw k üỌ́ ́³çuåúăđáaâpăéí_.4 ´)+"+¾)₫&;"®$ƒÿóZéÜă"àmßø̃åà2æÀïđû´H¢ÆÄô C®üôËëÇç̃ăOăÈàËâOă8đ̀₫Ă (÷%â*)F)'h$óqÆ©ơÖê\ä áß3Ưd̃Ôẩëø̃÷ ă„ÎŒÆ !]ùđêqæåBäFä¸åéơ4̃†ï$ü%&m%C%Ë ¹• €₫OóWêæ3â”à5ßOẩçÈñ8üæ $1ç> ƒ ùẸAîPëêkèºèàé&îæ÷Œ·¶ÛƯ×úsì »ÿ¥÷†đ9íê[èÏæ.è9́ụ̂ƠúK‰í ‘ 5ie 4\ư·øơróäđ*đqî¸ï_đö0üt@ ¼k³¡‚v}cÙUfüMùÎơólđyî¬îëï¼ôtø₫u£ d {f˜XưQûO÷aöFó³̣Üñ°ñíôXøüÿw> ™J|™ EÉ ÿû¿ø̃ô°̣éđÊñsô>ø#ü-ÿvÛª5 H’ËcÿTürùöaộ×̣’ñÜóGơIú¸₫Ö¤÷  ä÷đS + hëlÿoưíúÎø÷×ö¢øúA₫Dæ;•ËFÿ.ư%ú_÷ÈơQ̣3óíđụ̈­ñôéôú₫äT# § > ~ B Ç cÛøL¤ÿưÖưzư|ÿA´™Ë£@YÉ₫rư₫ø÷7ôœó#ñ$ñï¼ï‹đÖđôôú[ưĐè? ß_j# ² :Ÿ` 2₫2üjüRüÿ§ÿ¹7̉­7ÍưˆûuøUơ©ó»ñ`ñUđ:đŸï!ñzñ ô¡ơ˜ù{ưO= ä ¿wRb & %9í₫ưkûGû¹û₫U»~®̣Sÿû,úÓôĂ÷èô¾́”î¢ëĂî/îŒî}̣Pô'ø|såw¸§[ù© )·$êÿتÿôư+ÿbÿM€>‘ s/`üú¨ô ̣đAíḰSëéăé:é®ëJíañÓó‹éà|&à"S…Æ !hüVûÈƠ?600®Ê₫8c„øüXø§÷|ỗî·ëçÖæ‰èéè:ê´éôïxôYüºh$C*) ±ưÓ üÊ₫P₫>Å•–êIưÇúrûăüQ.₫úü(ù>ơèđ³éâæ7ç’å*çoè×ç¾ë¼́ÿóæö^ ̀"´'Ö(t ¨ÀíÔZ  AEËnÙưûöû¹ÿ́ư˜üÛù%ú€û¥ô4í”étç¦æMæÉămǽè#ëäë°óAôV ÷$S%m'K"U &9x † 6ƯV êđû÷ û×Ëü_ú¥û2ûVú„ó=ë”ééåáă„ă‰ç•é‰ê¢èṃáô3 $o$œ%&Ư 4'q/ ́ 7 # ĐB Ø 5$ú³ùkú₫6ưÊø/üưĐ÷ ̣øíŒé²éÔå(âmäêèZé³èØñơ[ï X$J$2%"…O, ø{ z ° Y سMúÈúhûơùËü+ürû`üÓø¨đaïóÍçåzå?ă+é?é½ççÆ̣7ó€> L#!%¿#$¡K `c †X h Ñ£̀ù̃ù÷ư»ù7úÏưÀü˜û¢ú»ñ3î«îêAä;æéäPçøèéBæ­đXóâÿ¿Ê#‘‚!ñ%=ÏÇ gÖ ¬` û:'üÛøÍưdüƒø‰₫¢èûùEơïí)́®ä<å3ç¾çËåÉèçuíúđ&ư¨ü!‰/ñ$ ¥ñ ¸( ‡# ị́ ¿Ơư=úèû+ưçúùû› ¤úPö:óî@́äçHægæè çÉçËçCëưî¤ö4‘EÊ"êÜ 3 ƒ >SÈF₫ ;¾₫&üÙûüưû¼5¾₫'÷]ơ¼ñ±́.é†çæRçFéçæ]éwî|đWñỲ!6³ † 2 CĐ | Œ­ØÿĐưdựû×ü~ư½ÿíqzû÷˜ôtïLê)èăèwçBçˆçåçYç̣ë*íàúNuĂƯ ù>ß R  … Ơü J ?$₫#₫[₫üưÿc2úƠơ8̣ÚíéœènèĐæ%æèKçÄèbë”̣œyl®¨¾ ‡ ? À µ G± ă ¯wH₫ĂÿĐưTưƒ₫n÷&ÅưÑ÷ØóQđDëGèÜç”æ„å0ç„çAçvéFí5Ky†́êS·  m & e= Ê^ iDÿ®—ÿ̀ưB₫‚ÿB¡Üÿ ù`ơỴ“í¹è¯çÚæ[å¿åçæè.ê±ø¡m‡Ë™0s} N ë ]  ” º ô ¤ ‹á(0₫}ư\rDÏû9÷ódî'éàæ~æ±å…ä@åDå`çüçơ+ í₫~|H ¬ s ¤ [ W * ‡%Ë%^₫lư/èö‘üeø7ô¸î·èơåÀå årăđă(äæjçjôƯ »h,%H < ] ,  ( ‘ – p ‰‘jÿ_ÿœÍçtưlǿóIîºèÚåqäPâùáƒă<ă|å¤çÇ÷Æ ïÛØéÙÛ ² ™ u U U - 'Pª a[é`«‘i ²üÅ÷óí!èåTăØàƒá©ágâyä“éŸ₫úg3ùûqè ®  ° © X Ö Ơü #1’₫wˆµÏÿôú×ơ½đ̉êæPăáó̃ááàă/ăñ’Yï!ẮĂÁÏ æ ; : * ¯ ‘ ±ü°æ°K–Ưươ÷Ơóđí;è{äâ=̃h̃ùßDà¡áæ÷ưÍ ` ïj!^g”·: ̀ ̀ É ¸ Q,  ×C3³½®‹ úßơ:ñÅêǻâGߨÜÉ̃÷Ưuß.á—ó\ ÷Î̃#—ï1§’  œ \±  â 'Ư ïyà)vÏÜ*ưú÷ớ²èÄă:áơÛâƯqƯPƯ—ßœè´ ¡6̃ W *}†´ Ø  ̀ * ´¨ ]®/®WßYîưÇù›ơï·è¸ä“à÷ÜTƯBƯ…ÜœßĐæ”ư±$ Ïđ ¹â„™»  r Ñ ¨ ̃¾³ÔZ0Ú÷Nb₫Cûû÷ñÆëèQä,à%à1âIâă/çñíä\ `û‘¾¤ ¬úû- Ê©˜Đüæøơ»ñ+î̀ê§èÄæĂäÇăªä=é^ñ§ù™ÿ^j ’σĂê¸G¸ ¨†™Kï™ôỤ́·´ưôøxô ñpí¦é̃æ·äÔâ[âÍă7èØïø¥₫ö¾ ”¨*<ƒØ¯/ 4 —?¿Ù*2WAÆ̣¨iêwưüø©ôđ ́è/æÎặáZá^âïæ]ïÜ÷₫M Êü“ôI î  áDPç]Qà–ü¿áưÎø®ô,đ¼ë;è‡åïâ2áæàâÄæøî;÷₫mk KH 1ByÇ™ wlĂtê­u–îØè$ưùôƠïpëôçăä+â‘à!àcá‹æ¼î’öÂư·Ơ có~¾STª I–<aBäh=…R5\ÑüÎøJôrïë çœäåá/à»ßAáoæcî+ö‘ử% @Û.‚ééăß ÚëKÍ6€¥¥¦¯*ư ù1ôPïë*ç´ăïà;ßå̃¬àơåùí ö¾ưe ®ñ` TqY´ ‡{Âư²Ÿj¢³ÎúƒưQùaôeïíêëæKăhàẪ̃FàCå0ímơ2ư€5 ê€ËIt.Æ= Ú¡¡—}ơà€hÁNÔư¦ùËôéï`ë6çăyàŒ̃&̃¦ßXä<́¥ôoü¾¶ ­_(å:é]É mܧ™ÏEÇSÀ!÷ư+ú—ơ½đùë©çä"áß•̃Â߯ăÿêWóåúà. ¹˜ˆ̀O Œ ¬ _Ư{ȃ•NNü|p₫áú“öÚñếqèóäâÊß̃̃ßtâëèSñù¨èüBn)Djêq‹J ´ÓÓùôˆ™}¦Q_ÿ£û†÷Ụ̂ĐíCéÇåùâĂàußxßcá¯æNï$øtÿ2ä ªl|À¥iq=k Å C–ñ#„Ô1z¡ÿ"ư’ùØô½ïéêç^ä?â–àùß̀àä$ëYôƒü º{$!ÚRE‹" s"Úÿ¯µz[æOg₫½ûĐ÷Ạ̀íD鿯ăèá›à•à)âñæ&ḯ÷í₫Q– ÷üœT—Fx¥Ö}ó ‹¢cëù`ô‡ñĂ?¦ÿ¦ưÎúÁöûñ íèèóå¿ă âNá®á”ă½èÖđƯø¹ÿ8 T¯+óü₫s U ª1öM‘@€7= ÿêüuúM÷Gó¤î6êăæräÖâLâ­â)ärè¥ïJ÷ùưcx £w°r‚Ÿó̃ù }5 ”P&₫zÄÿrưaûù öṂî,ê-çåä̀ă‡ä„æMëṬWùSÿFÖ »][ïæ*~¼²S ¤ ”–‰/Y½ÿ—<{.iÿ̀ü÷ú:ù÷ôpđ€́3鮿å²ä]åææÜê+ñ¯÷7ưŒÆÈ Æ\̀uWTắÑ º âÊRæLÿí₫îÿ¢ÈKZ₫Uü§úù*÷«ôJñ{í'êZç¬å[å æ°çèë÷ñø.ư)  5ój„—À » ëèOâå₫Ëư)₫Üÿá¤ÔÖÿ™ưHû~ùï÷!ö¦óeđ·́GéÊæ[å[ånæªévïöpûˆúÿ ñ‹Øk–àg× ] ­DAëÿàư(ư—ưnÿ«§øưEûù„÷₫ơôúđíêJçåXåiæˆé¥ïölüU# — ₫‘[>ƯV¥y% »'/Áÿöư¢ư~₫T)ôIåÿßü ú|÷åơpôẉ×ï"íÿéÑç„æ®æ$ẹ̀́̃ú«ÿ ™ ¡É©mê:Oă ?^Îăÿ₫}ư{ưv₫H +e€ưSúŒ÷óơ•ô‹ó̃ñØïríâê èđç„èÊêµđß÷&₫Á1´ ? ôÍU¤h̃ jëa¼ç_ê₫Fưiü^üÎü‡₫MI₫kûÔøƠö<ơ]ộNñïḈê éíèrêđ×ö¤ưq[ Ô;éo‘t«a!U¶n·-'‹A„lÿ²ưµüÛü₫q₫Yư9ûóọ̈hí–é çŸæÓæçCḉçéMë‡ñqÿÍØè) . *â› âư§T́÷ n Q߆H₫©ưøư¦ÿ[ÿKư!üø¾÷\÷±ùªûdư¸üEùơBï?́èéXë́îƯîđđṂ²öïz^&’3’5³0I ÷çüƯóđËö[₫DM q üøöçöJ÷Œû–üí₫Fư¶û ú,ùYúhü€₫₫ ưu÷óÿí`́)́jí¶ị̈đÈñûṇ̃óöÏÂ%$M2ø5713! ”úëḯô0ứó…? ¶øô±ô¯öđüĂ₫˜û₫Áü@ùCùúÉ₫a—ü€ù†ó©́fêêî‹đ•óụ̈Đñrṇ̃jû4 „¿29:^6%'¢|ù%ëFç ï#ư &º ÂÿRöñỰ ÷_₫¾R,­ûøö,øˆưÂzNùnï¢é—çªëdđöÁ÷VơAñq́›́öó] [J8¨@ú<Ê( ®̣Xă›áḿ—ÿp •Î÷ Xûmó4ïIơ+ûư ~:ư)÷Rơ½öqư àåMÔønđ‚́ûêîẸ̀öuøÙợñ́Së\íû‹(< @5·}êáäóêXï ơ,ùtơ8ö̃ü¥̀ÿ½ú öuöÛùK*̣2¤^û}÷hö¯ơ¼ö¡ơÍôẸ̀2̣ëđḥJñ¡ñUñHô!ù g0é:ú5%$ ̣¾áâºê³₫N '» …ưxøäơúz₫AÿÅû§ø(øIư½_ÔüGøßóc÷ÜøçûpúøḶ`đ)ïüđ¤ô¤ơ₫ơÎôøơËùú Dc43;”3´ñ„æĂÜ®â<óV?á ÷9öù+FÆ)û™öƒóSøX¥ œ  à₫đôñÏñpøºưZÿ,ûvơÓí]í«îÈôeø̣ùöàôxóèưÁJ*;Z;Z)¶ îđæƯƯßïèX! +#øÄöư–ftđø̣îîí…ơÀ’n_ ¨₫‘̣Xị̂Iû¤l¹ú¼ñmëéüđ¨øÈüWúBôMïÇî÷¤±(Ơ;·=-˜JôZăƠăẶqY₫TûgùU₫¦Î “8ûçîAè+íeûN ửï=öçïNóöû -û;đ éÏé¦̣́û_ÿ'ü¾̣ễèÍñÍ₫~·+î5s2‚$½ ûF̣jđ öêư]Ùÿd˜+̀ ưưḥ!́eïú;Æ ’ â˜üDùĐûˆ-b₫ơé́Zê½î·÷t₫üü3öIí è*ẹ̈ơ-o T"*G+A%²{ôUí_ï½ø„)ưoơxđ̣\û q + ë̃ưùú~ưśÿ±új̣í í"óùñû‚÷dđbêë†ñoüI lơ$´-ü,Ó"Ù «úÊđ—đíơ.₫bÿ@₫/£»  ± ơTîûđ¶ùœN ¢]åưJ₫‡Ơù£đ¯́ôîZơBú*ù¼̣™́́[ï+ơæù₫¬ưç4Á/J5_+qFô]öü@ưûªöÈơ₫( Ó± ¤4ơ ï ô«₫=‚¬₫kư} e vlü«ơ/óô÷#÷oówïAïođ4óƯôEóđậ*ûd“c*3n)©•A˜ư’ü/ø–ñƒ̣ù»J n UyüưûGúkùDú}û´üá¼®€‰×₫GươüÔú€ô¡ï1đ~óÁô©ôñBîíí‰ñÙôNùµưÏb\-¶5`(ä¸ ăƒÿ§ư—ơíÙïơûÔĐ 8 àĂÿÿ«Ñüưöèơrúÿ ‹̉üü ùåóṇ̃̉ơó̀đ•î)đG̣ôcó¥ơ¨ûM*¥.b2 "½^z /äöÖí^ẹ̈ôqÄEá @ÿ₫÷®ơú‘ÿY₫ñû¦)ª6‡₫mư₫=ùbñ~ị́PơÔó›ïZî€ñ9ôÔơ£ơ´úÈ₫?,½2%"̀–îŸóZíWíöüéû̃øz¡tüưn₫zươú ø<ù¬}ÿ ¼iü-ơ›óHôóæđ@ï?đ‘̣ŸôẸ́ñMóÚü=F z$0¼$*Ët{ô<̣×ñ^ñüó+ơ»÷¨đ D dg•q̣ù̃øüơüoüsư¾₫ï₫€i»”₫cĐưỊ̈;î¬̣…̣«îDíQñỊ́hóạ́º÷£ư0+¼"|?%o"| /ø÷ù¿ø=ïTëÖïö¤ư)‚à` x T˜ưÀ#½ú€÷mû₫ÎûpûuÿQóq¹ûĂúcû-ô\ë¨íhñÅîËíˆđ+̣ºóû₫n;'É#Q& ,̣*t”đaé́íợ8ó™÷ú º°‡ M­ưr₫Vëúèö®ùaưIÿ̀ØAgụ̈÷¡öọ̈aî¯́¶đXđŒíáí̀ö}øSåûóq&.&ÿ̉ Pø‘ó̀óË́Bë'íGï óEúDû%ÿmt 9Ï — JjÍñÿ°û̃ư¤ưûPûjüù÷âơhö·ôFđºđ×̣ñÖị̂·ôyö ~ ¢)<  À 1,ÿöÿïZê’ç*êëê`đ7úH₫˜[  ß& a«ûúi÷$ơbđŃNë„ëêẂôîïßđŒ÷Ú÷¤ISb"C#T7µ¼Ö y₫ùmñDêGêÇê4ç­èïoóù÷₫̀ç ›/„'å¼ ¤]Äú~̣ÚíÛéÚæpè*ëµîỤ̂÷œûï®·{€₫ ‡~ =¥₫Sü:û<ûû½úÏûư½ưâ₫âÿ —Œ‚̉GBŸÿ}₫‡ư¹üPüĂûBû\ûûÍû_ü¸ü¥üÚüưÀüvüzüÊüư~ư‡₫Ơÿ]´F.ÿOouOåíÅ$[V°kÿ₫¢ưư­ü&ü“ûTûZû7û-ûuûÊûüfüü¶üüiüÏûØûÄû$ü›üéüưv₫uÿ^$¯z®t•ư¿• –J-beጔÿÑ₫Îưçüülüǘûü÷û üJübü¼ü2ưtư¹ư×ư¿ư†ư[ư÷ü¹ü¹ü’ü2ü0üeü“üâüNưQ₫yÿ¯·4H:̉),»|7øÿAÿä₫|₫A₫<₫₫æưÖư×ư»ư­ư¯ư¸ư»ư•ưgưTư@ưưøüư,ưưưWưZưQưwưåư(₫…₫Oÿíÿ$Á3£é w¸Äµ=ÛŸ6û¾G(Èn¸ÿ`ÿÿ«₫-₫êư˜ưdư ư ưư"ư1ưwưưŸư₫ư₫T₫₫ø₫0ÿ|ÿ·ÿơÿđÿ)$1B½Óçñ1_•¿@í„NWE1é¼éh=¤ÿ~ÿÿú₫ ₫¡₫i₫a₫Q₫L₫T₫[₫₫¦₫×₫₫₫:ÿ@ÿXÿUÿZÿ=ÿYÿGÿYÿDÿ\ÿOÿ_ÿmÿ’ÿÉÿơÿH{Ô Mb©¡´Ă½¤ˆl6Ç¢^5ßÿ«ÿ’ÿeÿMÿ?ÿ8ÿ;ÿQÿeÿvÿ€ÿ‹ÿ™ÿ‡ÿ”ÿÿˆÿmÿgÿGÿ1ÿÿ ÿÿ ÿÿ2ÿ_ÿÿĂÿéÿ)Z€°ß₫$)#ëͯ—mT) èÿÚÿ½ÿ¼ÿÁÿĂÿÍÿÓÿëÿëÿüÿüÿüÿ́ÿÚÿ¿ÿ˜ÿyÿRÿ>ÿÿÿÿ'ÿ)ÿDÿcÿ‚ÿ ÿÑÿÿÿ"If…”Ÿª««§—‰xdUB/&""$&% ̣ÿÔÿ½ÿŸÿ„ÿlÿbÿSÿIÿHÿPÿXÿeÿÿ—ÿ®ÿÅÿ̃ỵ̈ÿ$2<FQ[bfkqnnole^UPE>71+'! óÿäÿÓÿÄÿµÿ¤ÿ•ÿ‹ÿ„ÿ~ÿ{ÿ€ÿ†ÿŒÿ“ÿŸÿ¬ÿ¸ÿÁÿÎÿÜÿåÿđÿ(8GP\dijifb[SKE=73/-(%!úÿéÿØÿÉÿÀÿ²ÿ§ÿ¤ÿ ÿÿœÿŸÿ¥ÿ§ÿ©ÿ²ÿ¸ÿ¸ÿ¿ÿÉÿĐÿÔÿßÿëÿøÿ'5?JPWXWUOGDA>:40/*$₫ÿúÿñÿăÿ̃ÿƯÿÖÿ̀ÿ̀ÿĐÿÈÿ¿ÿÄÿÁÿºÿºÿÀÿ¿ÿ½ÿÂÿÅÿÊÿÔÿßÿêÿùÿ%*044030,,))('*('.#₫ỵ̈ÿóÿ÷ÿîÿëÿóÿñÿïÿôÿïÿæÿäÿØÿÍÿÈÿÄÿÅÿÂÿÄÿËÿÔÿØÿæÿöÿ  ,4,+-, ÿÿùÿëÿåÿáÿØÿØÿÔÿ×ÿÜÿƯÿƯÿăÿâÿêÿëÿëÿçÿíÿđÿëÿæÿÚÿăÿáÿæÿ́ÿđÿíÿưÿ &&3/2 "!/'#  ûÿ÷ÿơÿđÿâÿøÿ÷ÿüÿ÷ÿưÿùÿ÷ÿäÿâÿßÿÚÿ̃ÿçÿÑÿ̃ÿƠÿëÿîÿ́ÿ₫ÿ"   øÿ  úÿđÿôÿïÿƯÿÏÿÎÿµÿÁÿ³ÿºÿ›ÿ½ÿ¬ÿÖÿÅÿ́ÿÊÿëÿÏÿûÿûÿïÿđÿ$Ûÿ Ôÿ!³ÿy7ëÛ @¡ê ư₫ưY₫ÁÿĐ×ü¡û±₫pwÈ ¡ưïø‚ưÈÿ¾#Í1Xưç₫”o₫:ÿjưÀưÿYÑ,ÿëÿưíDüt™ĂëÿøÿüNûûúÿ÷¸û0üư₫Êÿ?%®Od1S‚L‡ÿîư èư6&ÿvÿÉÿ_A7IÇ/ÉF"ä ₫“süø₫̣ü₫ü₫<₫ô₫É₫¡ư‹ÿ=m₫ï‹¥ÿư‚₫j₫ü¯ÿÄư!₫Ÿ₫Tÿáư4Íưv|¡ưŒÿ¬ỵ̈₫èh₫ÿ$ÿ­ÿ‚₫Y/₫ñRKŸÿd¬₫rÿD₫÷ư?ÿăÿ² ›="Ư÷}ư®ÿQfüîkt₫ùưÚzÿơ¸ÿA¯•üÔ:₫–₫ Úÿăÿl₫Œr₫́û-Âÿ!ÿ¶ÿđ₫g²üoÿ-ë₫ºüfÿí¥â₫÷ưyÀ₫8”₫¿ưå₫!9̃ÿ₫xGÿ‡ư+0₫†ÿÚÿ¨ư€ÿœe₫́ç™™jÿ&[ưu₫̉ưú₫ëÿ© üQ₫]ÉSÿ”₫ÆM₫¾ÿ‹ü™Íù úÚAÂüæÿ§üpưDíÿPü¢eA₫ç§₫ùüf₫SÿÔÿ¹«ư„ưùÿÓ•ưÿˆDÿtÿø§₫^₫!8Júö‚ÿŒú›»₫àÿ%À₫3₫-“½û0₫X9¤ÿ…ưÑüKú&/ ¯ù%ü-₫åô¼}÷\ÿÆÿư₫Hü̃ûK<Jü"gTÏÿọh?-Äü”‘üD/Qÿ₫́ø½₫ÂúYùäüø¨₫ÁûkøÇ₫Èÿf~ÿ{"ÿM ‚>9 <ÏÆ‰]{L˜ưW<ÿCùûbơpüḲïo₫Ñú/ùö₫ư*ûûùG-_̉Ü  ê P ” lsư±ü[öÖö÷úMù“̣Äöçø ó]ơGùêúû₫˜åâ ’©1 ½ ăÆ ñ& †"~ÿâüEú¬ô÷Êđ•öfû%đỢö½ô÷ø§ûöÿ[ÿ! E”   ä å J̃6'®ü2ùiøØô[ólôô÷đ̣Ûơ ñ}ö!ùdù,FEi   ß E^#Z}b‹ù÷Q÷†ơăï)̣Uøîî÷SóÍñx÷äưÿÉ ®… ¿<ëøu| ?»³₫ü/ü8øômñ¬ï˜̣ś/́ªôª̣®ñZøÙưûÓn ²,\f7 ³ S&;ư‰üÜơ ô¯đaíÆñVïéSñỤ̈Ÿñ÷₫\• ÀX8CD ÷zT2Œ̣ÿÜûoöÊđÀë`ç‰îËî̃í8ôơôôtüL² z„ùÄ m Y3ÇÿKû û̉ô_îæíǿí6íÇíỴ̈Aôö¿₫› œo!~ÿÇÓƒëĐr₫|ụ̀îâí³ë́ªïÁîîÊñ¬øG³̀ ÿ .+¥ H ¡¼}•úwñ{î©́‘ëđ́@îî;í+ï*öº₫gú&¾#…´ …Ó’ –›Rú`ñ`êæè·ëǘ{íđ¶ïËđpơ6F¢'«Ó¬Ë³Sưc ?¯öÿ́îèƠê³í[ïĂïïñỤ̂ü₫đ'e!âʪÿpA uÿ¢øéïïçÑéî?îïđ-đuóRS*¡¹ÎÁŸÿ ~ t³ưöơqíväúæ×í îí~đ̉ñÚôp#T*Ô‹ âíÿđ ¦ X¨ûófêîă)ǽëû́PêƯí°ñ¾÷•)›&!4 u-5… ¤ ’µúẶè&ä+è´êµêŒêỨMñÅ₫N@( ¬Î£]½ï @  ¿Oø7đyè çPê4êMéÚ=ï4ơ“ ñ !%4f `đ œ Ư?₫ùơ¦í{ẹ̀é÷êJê>́ị̈cỵ̈†cưÓq„ Ѿû‰ó;ë¨ésëëVëúị́Hù Œ‹øŒZnÿÇø|đßë5ë†êgë‘îJñ\ơF¹¥¦Äô ºÀùF`₫'ö¤ïǻ?ê[ê—îÿñBơ¬û•P>ÄLÔ» 9VoYÿ(₫û§ơÈđ`í8íÿị̈́ö¨û·ûÙ ™ I Y 1ŠůÎưjú ÷ỡó)ơö>øû ÿ{˜ X¸²_N¸à×ÿ₫[ü ûeúØùLú₫ûưµưª₫bÿ=ÿ»ÿ+¦SoiËL–Eÿ ₫ư‹ü‚üûüzư­ư‹ư ư7₫ÿ"€™-Fû¿€ÑÿÖ₫₫‰ưyư·ưæư´ưcưˆư=₫ ÿ6hilfPµùäÿë₫S₫₫₫L₫J₫ ₫ëư₫|₫UÿTIÚÿúơà̀´\¼Ơÿÿ±₫₫ˆ₫§₫§₫d₫7₫d₫̃₫•ÿq1“’|wi]L†Óÿ@ÿï₫Ơ₫Ø₫å₫Ô₫œ₫y₫¤₫ÿÿEå4:=JE5̃QÅÿzÿIÿ"ÿ,ÿ-ÿù₫Å₫¸₫Ü₫*ÿŸÿ"˜æ #0(çˆÁÿ–ÿiÿ[ÿeÿLÿ ÿ̃₫æ₫ÿdÿÊÿ7Ïô íÖ›4âÿÂÿ ÿ~ÿÿÿVÿÿ ÿ-ÿiÿ±ÿY“¾̃êеL÷ÿÊÿºÿ¡ÿ“ÿ™ÿœÿuÿTÿYÿ‰ÿ´ÿæÿRn¤£“}Táÿ̀ÿÆÿ¼ÿÀÿÈÿÄÿœÿ’ÿÿ¾ÿÓÿüÿ;MbnxoP5üÿâÿÍÿÔÿÊÿßÿßÿÔÿµÿ°ÿ·ÿÊÿâÿöÿ ":EVd\?ùÿåÿÖÿ̃ÿäÿôÿéÿƯÿÊÿÈÿÈÿ×ÿçÿîÿ',ELM)öÿâÿÜÿåÿ÷ÿùÿùÿéÿƯÿÙÿÛÿƯÿâÿêÿñÿúÿ +-,̣ÿñÿơÿôÿûÿ́ÿîÿéÿ́ÿîÿơÿöÿíÿƯÿßÿéÿ₫ÿ"--*'$úÿơÿơÿúÿøÿïÿÙÿÑÿÁÿÍÿÙÿóÿ$ *%.ùÿưÿëÿ̃ÿ̀ÿĐÿÓÿæỵ̈ÿ#+++ưÿ₫ÿêÿßÿÔÿÙÿßÿëỵ̈ÿ₫ÿ $*( ÷ÿ́ÿäÿ́ÿñÿùÿôÿñÿßÿ̃ÿƯÿéÿñÿ &.7+(úÿƯÿÛÿÓÿÙÿ̃ÿáÿèÿåÿíÿêÿóÿôÿ!-75) ̣ÿƯÿƯÿÖÿÚÿßÿéÿùÿ )$AJcm{jEƠÿ§ÿvÿxÿpÿˆÿ—ÿ¯ÿÁÿÚÿöÿ$8DW`spq\G+ûÿâÿÿÿêÿáÿêÿÛÿ÷ÿ ¾ÿ‘ÿIÿMÿTÿ‰ÿ’ÿÿŒÿnÿ?ÿÿÿÿ(ÿXÿ”ÿ´ÿ̉ÿ́ÿM—Ư2‚Ô78 Ë~5đ¸†Y(øÿ³ÿnÿ)ÿú₫Ú₫É₫¿₫®₫Ÿ₫—₫œ₫¦₫À₫Ü₫ư₫ÿGÿgÿyÿˆÿ¢ÿÊÿ÷ÿ#GZbir…Åë ưÖTñÿ̃ÿƠÿÉÿÍÿÊÿ»ÿ¥ÿÿ|ÿnÿ…ÿ£ÿÓÿ÷ÿ/9;?JVmƒ ¦‹|eL-øÿïÿåÿÙÿ̀ÿ»ÿ«ÿ£ÿœÿ“ÿ‚ÿ|ÿpÿeÿ[ÿZÿ`ÿaÿlÿsÿuÿqÿ…ÿ¥ÿÅÿïÿ+fˆ£¸ÆËÑÙîú¿|@àÿ©ÿÿYÿ'ÿê₫Ă₫´₫³₫¼₫×₫ÿ₫*ÿ\ÿœÿëÿDŸ÷GŒ¹Íɬu'Ïp‡ÿÿy₫ùư“ưJư$ưư6ưuửư^₫ÿçÿ̃äèÑ‘G›ÖĐŸSÿÈư‘ünû…ú×ù[ù.ùvùúûgü ₫âÿ×éá“à© Ç " ̀×sâq₫Cü[úÆø~÷˜öö'öĂöå÷ù©ûåưO|}Uø  Ă ¹ ư @ ́(ÿåưû›ø©öˆơÛô~ô”ôJơ”öRøúÑüEÿီlü ? đ  ƒ i ©Oƒrqưªú3øAöûôdôIôtôøôöâ÷@ú¢ü!ÿ̃,øi ‚   Q  ~tÖúC₫½ûbùY÷¿ơÂôhôô¾ô5ơ®öùGûư~¡?Hö K 6 u ́ Í w ½`­‘ư5û₫ø÷hơnôÍóókóô ö›øûîư[¤Uo  q d ¶ q ó ă1iàÿˆưDû9ù\÷Ăơô°óṇ̃~̣¥̣ôĂöqùLüâÿ·×.   Ä  ] ô(§XÿSưjûˆùË÷9ö₫ôÔó®̣̣'̣5óơ`øPû¬₫›ójU   ¦ ¨ Ë ] × é=>ÿäưmüÇúùu÷%öcôß̣êñ¸ñôñåó¨ö¦ù»üJ + ¥ ¶ KÈ Ï   =`O₫Èûă÷ø\÷ÈóMđ¼đ‹îtíẤ±̣ú“úñ₫Aë Í ‚ ™‹ ß Ÿ  .ÛS̉ÿúƠ7i₫ÀưIü:úwöiósñó́4éêéêđé¡úñÈưÑ °̉ $ê ëÁ¹Ó™ưyÿnư£₫ïÿ†ú|ù-øỊ́Qđ́|çJçè»æeë ÆF„Ơ® × v,ÿ•2âü₫$*`ÿ¸ bÿ'ü·û¹øËóï%î/èÓăâ÷åûå9én}đC«!ÉÂ#/ Ơ‡JüúÿĂư ư2ÿ«®å~ Ư ̃₫Üÿ&ÿạ½đñ\åâ†ă&Ư·̃íăTçµéÔs Ưµ})ÏaG(v¸ L ü#ư}₫Oú·ü~Jo ́ ” ûÔ₫ü“÷çđ]íøçâ“ßßÚ¬ƯăÓæÛê@ø× ÈÀ-Û)!À'’&´O `^øƒỵ̈ú*ö«û[Ô8 Ư3)óúûÑđçñ"́Úá à÷àèÛ¤Ú"ßêä;è‘ï,÷ ÍYR"‡1o'Î)­R ư Œ Xù¦÷`ûpôEô®úĐư#=(Æ ơ½₫ôï“ïÍëơàÊßơà‹ƯûỪâÊå±́[ôïúÂÆă@%¡-:#’ #éÚ x ?§ù£öR÷•ó•óä÷tù¤ÿ· a îÿQÿ,ơêëAë¿çÀăKäĂå%çYêÎí?̣ ú·₫½r ÊÈÆƯäÑZcu Mœ2₫Uùj÷ôóyơö¥øŒư×y©üûƒ₫pú÷ôøññ”ñañLñlọ́ơÙ÷û©₫)›]è’ Ư L * Ç†Ê E B í =}h7 ₫ú4ùlù½÷ƠöKùÿùú%ư?ÿ\ÿ…ä<(=ÿU₫Ô₫*₫©üñüÍü†ûLûûdú—úûúû§ü‘ü4ÿ¢¬gœ æ Œ l Ü I"¹üƯû́û?ûüûư ư[ÿl'3”ÏHÅÿ₫₫ñüPûÅúWù4ø øª÷¿÷yø‹ø ùÎúàûüÓ₫H&sCĂêÇË‘X>jy„Y(…QĂúÿÿÄ₫,₫5ưøü̉ü!üïûÔûsûœû˜û+ûXû¢û‚ûµûÚû¼û:ü£üœü[ưQ₫Ë₫‰ÿ¾ZüWŒøúø¶€˜œ¹?×c¸Áón₫₫°₫Ù₫ ₫_ưAưñüüÓü·üƯü®ư"₫g₫ÿgÿ¯ÿ/kuƠªqÿ†ÿ ÿ!₫ØưÎư„ưưđư?₫’₫Û₫ï₫4ÿ©ÿ₫ÿ&iµˆ₫kˆ¢cà<–₫B‡ßÿbÿá₫‘₫!₫Èư ưkư+ưưưư)ưÆüLü;üsü†üü—üŸü"ưßưo₫̃₫uÿ@Ɔª ư‰¼@Ơûof̉«³ÿKÿiÿ‰ÿfÿÁ₫w₫Â₫3ÿ ÿ“₫ñữư₫₫"₫₫öư₫{₫û₫´ÿ«ÿcÿÿä₫ ÿ\ÿ*ÿö₫Ø₫µÿ«3Á1^ ÏjUeªbaư4ü[ư—₫¹₫=ư]ü…₫.)"­+-^QÆ₫.ü»ûư}ưüêù®ø?ú3üáüÉûÊûmükÿ²Ü¹8X6ª –wŸ2̀₫tüûú×úÛúOûïû£üG₫¾‹x$O‰¤«ÿđü?ü~û2ù}öĂôQôƠô-ợô[ơơơŸø½ú™Ö ” :óÙ€@ œ‡ÿ̀úÓö€ñSîë́ị̂ơöû₫ÿñ‘ ÚÙÿüM ÎEÿ¼øẠ̈#îëëeë£ë´́Êí>ñ:ơúèü?{ô%% KÙH› ưưó„́.çâäăÍáçågí'özO MyLV *?öZđZêZå«â™áăfçÛéÙí7đrö‹ư®å>(^1V3,̣&"" ¹ǘ‰ăƯ"Ưỹ¹̃tăüë÷>‚©eOè¬ PÙơ–íáçsåÛä;ăă«å.é{î*̣gô©úa₫K<&e2«9§0̀'Ï!8(ëkîôáØpØẵ=áç!í>ơ6y#¤Øk® 6 Äư²ôIê5çÉç™ç‰é(çè$ë…îˆ̣«öÙø&Oê&8î8Ú.‘%æƒ Sû́ÏÜ~ÓˆØṼXè;ñEơÿ :Y„¨|Tư ₫&̣¥êqçîè*îdî́,ëéIîsñU÷úđ$ë6N8¿0%å9ơøấ(Ư€Ô¤Ö¯Üºê-ơ<üâ( HS̀‘o4¢₫ËÿươÇîè>é†í¾ïñĂîlëíÜíäơ¡ù½ĐZ#̉4|5̣0°&—™m÷¹íb̃¬×ÑÖ Ûxéfóc₫'' Bçäz\Óÿíû[ưwûÍø#̣‚ê3éˆé[îßđBñ¥ï8í¿́&̣Ööm¶E$U4z3y0E&?µö¿ùçí¸̃ÍØTÖ‹ÛDèƒñĐưmư b˜q‘ ¤üúZúø›ówî˜ëqë ïPđ̣:đ…îïí©ïWơ¼ü(Ü?.‘31 *^¥ÈÍ₫Âôôæ!Ưú×HØÁâÚ́́ù2 5ˤº„3₫›ùß÷¡ù'÷óô5đ!íbíˆîlđêñ´ïËïí́ñ ôo;"à12/d$é±2ư.̣:ä*ÜAÖ½ÚÅä×ïëüƠY 1̣Ô©¼₫³ø¦ø—ø“öXô9ï.ííçí¢đÄđđïî#íxñCơ­”!(æ3"2;.b àÓ üüĂî;â ÚKƠIÜå{̣d₫' ơ¢´{Ưàư7øø±ö¨ơ\̣«î²́ǿÆí[đRđ1đªî¹îưñ¢øE gœ-4”2+¯” !ù4ëjàâ×8Ö̃-è”ö=7@ £äfƦ̉ úứø‡ø‰ơyóïîßëÈëŒ́Ùî¦đ=ïïj́đ¼óđ:§$»3V3á/…#jf€N₫̣ôă2Û¦Ơ®Úîä=đøüg ÿ~ Ñ!’—Œưøøø@÷Ëôđ½í·í¼î¬đôđïîîzëÔï‚ó´ q%Ê4̣3p0$‰Ë !ưrđtábÙ¾ÔÂÚæ3ñ¦ưH¦ (₫‘L ̀¶ư½ù ù÷ặÄî5́Ắuđ̀ñ´̣Öïj́yëíẉù\ X*²3̉2f-¨!¿¼™÷ĂéƯØY×°ß)ểôÿ̃_ \ưÊ»`©ÿüÀú¢ùöLñ¥ísí¤ïó‹̣=ñí¤êëîhô"û) Ä,p6W4²-æ ̣h TYô*æÙÛƠo×SáGí÷ ¬-Ư+O ×¢ư–ûû/ø~ô3đBî¶đóÉôíñîûêtêđëŸïóMúh k@1ª9:5,₫o$ ưÿwñæà„ÔíÓ_Ùå‹đøƠr NêQËÿßx₫ư„ûŸơ—đăî.đ́ôcö¤óÍî€ëÅê íôíÆïYñ3ù1w$6:¶1L(̃†®̉üÂéVÚ̉É×ÜßíçÛïbö̃ÚÙx'÷ êå₫˜ù€ö[ơơ ÷+÷BöåôXñæîFî0́†ê¢èØèRîøN^$ë2̉9 5¼-('­Ø…ûææœÚÀỖÖƯæâÂëøJŒ"§¼©— fyÿ{ø‹ơ-ơ9ùkúVù̉ø€÷Qøœ÷óñíJ鿦ç¿çë|đ“<0å;g:1ç*g$„ụ̀ê<Ú®ƠÇÖóÛVà×å¿óÄ_û¨ `ÿ#ô¥đ¡ô ûÍ₫öưîûˆưÜ₫?ưöÅëLæ-æ¹å€åđâôæ«ñÁ (6ơ;½8p30´$` „ơ·á ÚÔÙx× Øf̃́[-¡æH Ûư|ợxô½÷‡ûv₫H<Ú Æø5ñ́êAç˜äûß@̃á‡ë_öÑ L&6?>î5ü-© Æ ¡ô«â¨Ù¦ØœÖlÙvăOñ‹Fn„6›S!úƯôṣiôơ&ưÜ Z §Æÿ¼úỊ̂)éâ\ßßcß7á ç"ô‚\"º6g<Â>Æ8w1Ü%; ßôÉçúƯÚ.×ûÖăâbộ 6ë\œ Đ”û‡÷‹ôZïụ́ˆ₫ B ¨­Ÿóè2áWà[â•̃ƯƯÚä=ñª₫ç Ä'³9&>Q e&₫Ç÷UùôôŒóÖóhó9öºùHû•û¢¤çe/~Êâ>ưÖúøèơçôôöóUôßô/ös÷.ù3ûÛûÿi.• · N › O Œ¿U ĐÏ÷ư/üÆüû û·ư‡₫ËưEàGwIÁE©uăđÿoü¼ù¼÷̉ơäóóñúđØđwđđêñ¾óêö¼ü,öñ! ~ÅäÊơ ¥ ¡@\À₫dưư[ưqư¬ư₫3Đ™œỦgG‹ÑưºúÍ÷ơị̂PñÎï¥îEîwîlïˆñ¸ôMùÿîzÔ ß »¥̣ÈHÖ đư~5₫üíû(üiüêü-₫̉ÿZy«yÎD ‰ÿ×üªù³ö_ôẸ̈Xñ₫ïUïwïđwñºóÑö`û½Ç¿ă ^ ƒU~¿ P ?8‚ÿFưïûûû̀û¨üƠưtÿ L-Uáq âÿAư–úå÷Àơ'ôẸ́ÉñZñIñØñ#óBơø^û'ÿ€« 7 5 2  · x̣¥dTÿºư±ürü³ü>ư ₫Eÿli*ÆL¢—÷O6₫Øû®ù¸÷Ûơ‚ôïóÉó ôÊô²ơ$÷ ùâúơüƒÿh'‰³7 ` ³ Ö i Ø-öh÷v Hÿ ÿ*ÿ{ÿơÿqå76 ât±ÿ₫=ư˜ûäùrø÷L÷j÷¢÷ø´øXùéùÛú.üeưÂ₫E[)†êh߀$¸%¡ä uĂúkø|“›ÿ1ÿ₫H₫çưư@ưÇüfü'ü üIüû^ú·úÑú5ûÀû"ü_üjü¬ü4ưéư—₫Ú₫º₫đ₫Ô₫¯ÿOŒ‰‚âŒĂlîƒÖ̉?œơÿoÿí₫p₫ ₫Ưư²ư¦ư{ưjưfưPưkưgưfưaưTư@ư;ưưÿüÔü›üü˜ü’ü^ǘüzưG₫ÿ½ÿe ñ‰FÇ/f©çưÆw0ï§=ÎC­.à‚ zÿÓ₫8₫½ưBươüëüùü ưûüùüư₫ü)ư^ư§ưÆưúư₫₫₫+₫™₫ë₫9ÿ…ÿôÿ(óÚ)e‹—¤‘A謈₫2₫à³ḿÅ—w9˜ÿ₫ßưưÓư₫I₫g₫‰₫À₫§₫´₫ƒ₫R₫₫ ₫*₫)₫8₫µư®ư²ưP₫œ₫2ÿÊ_¦ákEüpæ†6›€ÿ-ÿtÿ'ÿ7ÿTÿeÿÿ ÿß₫ö₫ç₫×₫ÿ<ÿWÿ:ÿ-ÿ7ÿRÿ4ÿ‘ÿÿ}ÿYÿAÿÿ ÿ×₫¶₫Æ₫ª₫Í₫¶₫ÿưÿk!›KÊÿ+.¿…ü— sÁÿˆÿ ÿÏ₫̃₫ë₫FÿlÿÀ₫`₫v₫ÿ8ÿ¹₫Dÿ‘ÿƒÿó₫î₫x₫ÿÿ\ÿçÿDÄl6¶ÿ²ÿêÿùÿÿ ÿ=ÿ-ÿÿ¦ÿd½1!{†Ïx¦;¦ÿ"ÿWĐ₫v₫ưÿƒÿ5₫jÿ9ÿ`ÿÿC ÿµưº₫Üÿå₫₫Ăưđ₫¿ÿ3CƯliUxÿ7ÿÿ…ÿÙÿëÿ!Ç×ÿ·IÄ0ă<­ÿ.ÿ­Ă₫Nsÿÿbÿ“ÿ€ÿdÏÿoÀUü" µÿ"ÿJ₫B₫ËÿÇ@™ƠéÿWàâÿ==₫>₫3₫´₫q₫å₫đÿÿûÿ™ÿ´ƯƠkUÅ S&ÿEÿåÿøÿ×b₫­₫ÊÜ£₫Hÿ ;^ÿưYRÅGȇúƒưđü®₫ÿcükư1,ÿt›¢ÿÿÿRâpưc₫’ÿ`*ÿÂ₫ưRD¢Rÿ£°à.¾{ÿi§P₫Üÿ_ÿ)Ydù%Z¨×û!Qû¤ÓÿAâ₫-”ÿưó|Æư}ûư°úÛ₫æ̉ÿ˜ÿÿô₫ Ư₫hüÂEùưeÿ¸D~ÿ†ÿœ—ưĂăÿ§oÿ’ ÿUb¤₫ăÿăÿnê₫¥%Øü¬ÿŒ†àüp `ü₫Öú¬ü]ÿ`üÆÿWü¹₫•„¾ưi₫Tʤ₫]₫₫Æ j₫}çp₫ÿD]yÿOüˆ₫Éÿ^”ûÍüŒ´ưWư&ÿÈÿ£û₫J₫RüUéÍnÿ‚ tí©Ơ¾b̃ˆ¤₫}ü₫CúÏ₫tĐüù?ûÙûçøMû‰ưr₫çú3û²û¤ư#ÿÎư„ùIưL–ü,₫1~ç9„ ÿ x î € ² Z À&Ieœÿ,úªöƯ÷àö ̣/óqô=öö,÷œøÑû€"ưÎûÇ₫û|₫₫.ÿ÷ÿ£Ă.‹ÿ« àM Ư ÈD  é ”øb`ư7ùëø9øØôẸñó öIöjöÙ÷’ùqú‹ú$ù¢ù—ûlû‚úûû¾ÿ©2ÿPÿ¡ŸöÀ ³…0 -lƠñµxüwúHû ûø¢ơ‹ö5ø÷Söè÷ƠúüÅù(øƯùDûô÷*ơªöMøøOùÆü"ÿÆ·2 ÷XËIAŒfúx?₫Hö£óöYø“ö ơöÚùüâûúsüèÿCûĐ÷{ùwúÑơ ñfóøøgöƯøđ₫ÖhøÅF.éü\ÿÅ´Öv¿øƒđ†î ó÷e÷ö‘÷¢üöÇưÿ₫nêûùöă÷÷åó¯đf̣Íơ.÷k÷°ùËư|í̉ÔÉœ>É»WXH)ÿe₫öù'̣ǿ!í˜đ€ôN÷¤ø`û¾¯ Kµ×=ûH÷,ö˜ódñ¢đxñ‹̣ïô¾÷ ûl₫đ3Ë  á$Û&­Ï ơ₫Wûiơ…đÙ́{́Éî¤̣ öùƒư>7 „‘8–¿₫Yúköó€̣ôñjñ;ñWóöˆù«ü¨’¸₫à„߬ ÛÔVưrú„÷ómđ(đỤ̣̂ơ°÷àùI₫Đ"]üu1·ÿÍüGùàöçơ&ö¶ơ ơçơ÷̉øeúaülư‘ỵ̈ ¿ Ç ä ư ` ²  §‹G¾₫MüÖù-ø\øÁø­ù5ûÉư+|rs‚ËUø₫¸ü$û!ùµ÷½öÁö6öùơâơ£ö‡÷¢øÍù.üïÿú‹Đ ‡ ¢ ̣ ½²~¤ư˜xÿÿƠ₫&ÿ|ÿûÿ8…‘Fáÿ-ÿl₫mư)ü©úùv÷ëơÀôÓó^ó'ó‰óHô¿ơ÷÷Úúäư²YêC & ”vjËû Ñ ï¿‰å»ÿ´₫¿ứüü›ü ư’ưôưüưµưbưøü:üûúTùk÷¯ơ[ô]ọ̣́P̣ó<ôköˆụ̀üûÿáZ 0 x"º•&†<9 À &”P€ç₫iưübûûSûÉû]ü"ư/₫'ÿ„ÿEÿË₫G₫]ựû6újøöÚôoóḲ“ñµñ³̣hô/÷íúÏ₫ d~ ¿ q¢ÔÚ~ [ —̀Lơ<ÿ&₫Tưeüóû#ü´üdưB₫ÿåÿêà ;) ÿƒư†û…ù‡÷{ơÆóª̣ÏñNñṇ̃Dô%÷ ûÿF>ƒf N ¨­ ¿µ j  ?¨kp+ÿ‡₫éưMưZứư‰₫1ÿ ±¨.⽆ÿ-₫üÏú0ùW÷pơ ô@óp̣Íñßñ»̣ô£öˆú˜₫àĂê¸ Û b…‚½¶ h 5OHÿ~₫éưnưˆư'₫·₫‚ÿ^ù ¡B6!µÿ;₫¢üÛú ù(÷Mơÿó@óª̣,̣=̣ụ́eô¿ö•úÖ₫nÙ} äú&í Œ ƠIôÄ₫`₫₫âươư§₫eÿ/ ›ễæFÿÀưü…ú÷ø÷₫ơØô=ôéó‡ókó́óơ¸ö¹ùÅư‘XŸ  – . O Ô ’+ÿÏ₫Á₫₫}₫Ó₫]ÿÑÿ‹'AN]Đ£ÿI₫ËüHûâù‰ø÷ÈơÖôEôĂódó„óBôơè÷´ûïÿ|đ‚Ñ ¾ é Ê®| ú [ H³ƒQjÿ5₫ ₫₫*₫ˆ₫ÿ™ÿhP¾£Ø<¨₫êüû_ùÙ÷höơ.ô­óBóỰẹ̈Ÿó4ơs÷©û„€îµ § é fˇ · @×s#0ü°ưë*wAù/‚hùƯ&úp÷aộñfî2ë»ê”ëÁ́dëÜí›í7ñx̣ù?ù ~NzT#d&xê|™ W‘ÿºơ‚ø±ư^ùöˆJ+ư.ˆáÿ÷_ü£ư+û ú~ûKưWû3ûú÷™ơ‡̣ đƒđ†đöí„óŒñæ̣¢öåÿZüE%Æß+Y#GY ̣jùôơÁöẹ̈½ơÿĂư|ü¶©`ÿ₫¥ÿNưüvüŒưéÿ,Lưûù¯ô\óxđEî ïèñ4ïgó‚÷ư₫̀ o%|C*##êé% ÿyöÀñbơøọ́̉s÷Ú₫₫™₫G̉ ÿÿ÷ÿ̉ưưüÿ₫#2•&±₫û÷áó»ñgíŹåí;đäí¡óJ÷¹₫z₫¸̉':!*eïj ¢Çü/ó~̣È÷“óơDǘà₫•:ÿ₫Éÿÿwü?₫¤Í³£¶ÏüÀùí÷/ó/îñ́²ëốÔíµí–ôó÷$ÿæÿ#ÊÈ(¸'¹ C ¿ÅøŸđ÷÷‚óù˜OÿY'@ùûúưO₫ßûvü¼yQ²÷ªüvûRöHñoíÚíÓéǾTíđóó~û?ư„ w(‘M!ï+i! vûdóôú×̣ö÷aÿß̃₫Í…¿û¶üV₫ûúhÿ‰Ïÿâ’Éưü<úÎôÜíÁï-ë}ê”́ï7ñùKû ›&"3+­«3-Ÿú0óƒöªụ̀iùD!₫På˜ÿ¢ú]₫ÉưÆùúưÄđÿjÈĂÚü#₫Uûóœïxđhê™é¿́mî ñ˜ùÇüO½,4#0áùÿ‹ö‹ơûṆ̃Mơ”ÿÜ/₫á£Ư“ưÿYÿ7ú³ú×₫vÿ<₫™!tZ₫Î₫éú́ó˜̣¢ï#êéøíªêị̈çô³ü 2"(*²˜ˆ ̉ûbùïúö ñ+₫•ÿ[ư2~Ldüû5₫ÔưlúÙ€jư+ư|₫[øô‘ôÑïé‹́”íêṛ`÷±{ ½̣)ÏĂ3^³₫6₫̀ø^đúÿAúØÿ ½̀ÁL?ÿŸ₫ ¬ükùư₫€ø-ù!ü ö…̣ôÅïvéeïôêpïXḯ§»ö/#§lV` ±XÆưióÂóêưë÷́ùE†ø Ù Ôܦ Cü“ư²ưXö&öß÷ḅåïzñ8í›éªîưêï¢ï¼ê˜œ rr™khÑZüô\ùëùỆ/û]«ÿ¢‡ º ^K p Ö†wÖû‚öxøX̣;î̃îốéǽ)êT́íÖûÊQÿE+ĐĐ÷` â _ ûÅø°úúṿÏ÷ä₫©ûºÿ” 3Ă ´e :Iÿ»ûÉútó¢ï#ï;ëëå<ëøç†é¶́møÏ ₫º’VÓ¿ Q | —NüYư}úHó†ø²üƠøĂ₫¹Ü‘hĐ ` úÿ´úḤfñrî]ç1èƯéaåĂêKíVü ÿàèépæ—€ ¾¿ ̣ÿÑ₫XưŸößôÇúŸø̀ø*@¢ û\ ¤R ëmÿ8ơ%óđTèçVé ä7è€ê6ơ¸₫ư™4JW=l™“ƒÿÀøÁôïøª÷̣ơCưĐ²W ê 9 ̃ºÿf÷aô³î&èUçêå|ăjç¬ç÷µúưF„¤'@¶â…'ùmöIø…ơKơ@ü₫Àö̃ ë  í ó°“ưÇø>ñ́AèßäSâGåâVï]øĂơ¨ Çz0ŒY»ư’ q dØüxøºø±ơ°ótùÊưœüë¹ ö× R „ăNÿöoó¤îFç³ăåáăăáó ïOú% é×L6ib§U Kưïû ù¯óp÷¸ùùêÿE@ ™ óÿ~;û̃ơṇ̃ êĐå˜ç̃ßèñâëÙ₫ƒ¼åæY‹S ËÖ Ù‡₫fùøï÷µùqú̃üv¡RI_¢»÷?öơđ7ëgê]åƠîîZîÂÖ₫•ƠBËăÿ́/ ×@²û©ùgûjø*ùˆÿ™üƯ₫́ÿ?ÿÿ*ù2÷óuđ<í€ê_ô»ï©̣Íüưñ Ḿ'Ú ÉV‰₫²ưBüûü₫¼üy₫`ÿˆüÊúáúö.óCó¸ïÂëjóöơ$ñZÿuđÿ < )9§-îêLPÿûxûĐû¨ùơû…₫Qüúư8ÿÖùûÓùÖóMô?ó²́óô÷üñÅưeîT 'j ¬m ÏÍ ̀ Izøÿ‚ùjù–úHöÓøØûºø3ûÎü_ùOûđùĂ÷´÷¹ơKóÚ÷Ưùo÷7jø_ |{ -ÊË‘ J ư‚ÿúèøRùươ«ö{øåơü÷wùv÷+ú3ù&ù¦ù™øĂ÷§ø©₫|ü ;[´ Ç® a 9 ‡ lxN]₫Kû÷*ø8öôó8öqôNöö‡øø¾ùbúEú€ü úSüÿxåJ é= r ® ] © S Ÿ¡zÿ₫úöøüơH÷ṢœôŸơtôoöÂ÷úơø6ư'ü‹₫¸ưàGÿe<ßFçS;Y W ˆÚÎh́Jxư†₫†ù9øøIôX÷úó'öîöƒúÈơüøưư'₫Ÿ¬ȱoóhǼäĐ/ö~ƒđyă‘₫Öü`ư{ûÜöúøäöÇùRö1ü,ö ÿf÷Sâÿ₫À4ôl…«Qÿ!nv/˜ÿàüÿ·ÿ=÷ûÿ.úÎüöùÈưvúa₫Aüwû>̉ÿØ₫L₫¥aBư™ DưĂ´^Aü¹Wâư¶₫Èü<ửư~ûŸ~û)Úö·˜û—ûÿß₫¸úüTH₫<h-8ư× ü‚"r%„ÿ"ư₫yøhûöûeaüÚøR₫té/øœ –úÁ₫iøY4üó ,¾ûûOüL-ÿTa,=÷ư ¥₫ô¤₫ê₫Fÿ6üº₫€w₫S₫¡₫N÷]q₫́÷K u₫z9ûE…´ør“đú üÛö q÷ó‡ñ} GúƠ Cñ' Îü`ü[wơd 9ñ#ÛóˆÊøl ù¨₫ #ÿöÿ,ÿz†Pú|¿ÿWCúù¶úu÷Nyư ₫€₫R̉ù˜ÿNüâ(₫Rû¼‰÷¶ Sûï.ÿ,°údÿà¬ø®}ólĂñ†£ưó÷Ñ,₫øư™ºùáWû ưIøülmø°8₫Ăü0–ÿ[ÿü₫R—XüYû³„ü8Áöø ûsÿïüßüˆÿWüq—ơî́÷ư§úC’cÿl¤₫|úßpu.÷+Fÿ»úh°„øŸ₫G$ơÚ ümû‹ÿÂüŒûëxùNBÿ²ÿ́ư¡X₫Å6öäüÿúïºù¤8=ư»₫µ©Pÿ˜ú øöüÿLüÿ¨₫léûÍÿƒưÙe÷- Bơ;yZÿÿèó£ư9¸úÓgÖÑư386ÿé¤û „÷Đơö‚ümºñ0„û~¤÷ô4.÷ü‘û xñL —öˆ₫ôG¯úûd₫.üD ₫ơJ`ú²0ûí¶û Wú¡ÿˆyö7øŸH û±ÿf₫[üƠü₫ưGú¨ư‡ïªûƠĐ₫d₫ÙŒúE;ù2üÔ†úpư¡ư—´ư®ûFMü•føú §ó́üB=÷LsüÊÿ[ùUê÷ôÈ÷ơ Ÿóy åø‘ ÿ ‹ûd øÄÅù#Ïü4,/fû×kúwú̃Iûœ¤ưH±ÿ₫¾ÿ¶úæ ÷- ø±û[hỵ̈₫â;üÔûŸ.ÿ ×úî¹üü8ÿ¿üU0ư3û»\ûEôüéÎüaœưÜ₫’ ùAùÔöû ̃ô% ùLv₫+B\ü »ö éô” cóf ÀùóÀüYqûûƒưتûªîü¶üØ«úṭû­Yü½ÿzưVÿYÿ&ư‹›üSsứ©0́thư«ûE°ư…+ư î÷̉ Xơí !ơAïø‡eüo₫ pøÅwöă:ùROùÆ”ù›3üD¥₫9ÿe ÿ½ÿ|'₫w”ÿyÿO₫Qưü(¢üOÿưúª̀­₫#ÿXÿ£¾ưN₫î₫k‘₫Ÿ7ư•·ü—V₫ÿU½ư,gưmRüǜÎưÆÄüŒÙư»fư¦_ư~ưª1ÿwư*îÿN¾₫₫;T₫ŒÅÿÇü‡[ûí́₫œ₫7̀üû;ưL₫/Rÿƒÿéÿ>ÿ‰_Àưj+₫¯G¶₫Iâ₫f$ÿúØÿ[uÿoŸ₫®gÿs~äÿg ÿ»‚ñ₫¾h₫ôSÿd%ÿo~ư> ₫ ₫NF₫™Mÿ]ÿÿÿ»₫kG₫÷̃₫ß#ÿSÿ¥R₫’óư.·₫²ÿ„̃"ÿŒ’₫/́ưk1₫+ ưyhư§ÿÇ₫ÿ´ÿS₫}<₫®Y₫"£₫ ¦₫ºÄ₫Gê₫ăëÿëÎ99dz̉½áô‚ÉĂ<ªç₫Ôÿ£₫Ë₫»ư­ưlư¿ư•üvư¡ü=ư{ư9ư¡ưP₫u₫Ä₫Đÿ$Đ`Ôií~¬[i;vÿ;,ÿñ₫ưtü±üBûbûăù¿ú4ú…ùúúAûßúßûçü÷₫m>ˆèѨäu‰‡^p³đmÿZ₫₫ưư ü̉úÿù̉ùö¼÷¿ô<ơ*ôBô!öóơ”÷³ü ưL ˜ L  – J âp;àw˜½ù¨gA₫‘üeû¯øơöéôñôƒñäđxđMï»đ•ñ4̣ùÛªM° „¡bC * c0’(ĶPü²0•ïư÷­óÎñƒî­íÄë×ëjêT́üë=ïQ̣ÿª¡«Ä₫¥ 2ôVª8₫‹ưéÿo-₫°± wy í Í ’lû¼ø~óźrå å¡ăăØßîá ḉàíLú…ư2Ñ ̉"Ï"Rêp RÆJ5₫óüXú‰ÿT µ‡p° |Ü ²hú’÷lñFê@ä˜àÉßwâEßf̃èå-è¬îỵfóëƠ"+2,V$Vü Éùiü4üÉüÆøTüưƯPZæ—ÿ=pÿ§ùeù3ö¢î€è­æ´äâ+à¸äÅå:èkë2ô¯ù… 7%ñ¬(/L,Ö"“Á aô±÷·÷¦ù…ù†ưô?Ư¢£ư1úàùú¹øTù$ưµûúoø¶ô?ñÀî"é³ç3ç?́véà́öñ:ûÇüW’(¢3),B*¦ß2̃ü,đ1ñ³ô™ø–ùư ÿk–S*e³üöùY÷ù^ûÆùËûr‘̃œ₫púzø8ó)́féÿé7ëêëÔï,ùNư Ư%è!'ä)ü'Ö4†ưVü¸ḯ®íEơ!öüû-üưo oư†¤v₫ơù÷úÜûû¿ù1 †ükù7öLïèéMé?́ń́vîÁơïüe•…!)"%¸$]¡ô ü3ø=đ́́±î·ñ2÷’û1ư[F¬I<Ÿ<ÿÅû†ú¬ù:øµøüưưƠưzûù÷:ö ôẹ̈ôó>÷îøúûïưdÿˇ è[³¿`u óWoÈư±ú:ùù¿ù6ùKù{úü¨₫hàÆ̀·ø>´Đÿ,ÿ₫èü̉ûú[úùú/ûˆûXüíüSừư³ư´ư)ưúüưüfư¼ưM₫z₫ÿQ´̣4n0N[í$LSŒÊ´Ï>üfµÿà₫(₫ÉưKưđüfüüüˆüÇüư}ư¸ưQ₫Î₫ï₫Å₫[₫ư´ü4ü¹û,ûúú ú6úƯúôûưC₫Àÿ’q́)h àS l  aMH'ÅUàØÿ.ÿ†₫ ₫—ư3ưmư¶ư¾ư«ư¹ư¤ưăưáư‘ưLưưçü¸üü'üHü„üƠü%ư‰ưÑư₫I₫s₫°₫–₫„₫K₫=₫₫$ÿÏÿb,hxG̀~hÿAXiÔMÂB¬SW-øÿÇÿÿ`ÿ#ÿ×₫P₫ÚưXư÷üÜü¡üIüéûµûªû¸ûÅû ü}üưÂư›₫ˆÿ*̀9“ëí‚I«sîÿñÿüÿ8™înÇWf’ÄùđÚ³u-ÀDê’›ÿMÿ ÿ̀₫r₫Z₫W₫>₫<₫₫₫₫₫äưÙư¹ư‹ưư¸ưĐưëư'₫‚₫è₫sÿÓÿ<¯_ ³±¢>2íœI üÿéÿLtÍQŒ©–¦‰brJA/ÜÂp:ưÿ ÿdÿÿ ₫?₫Èưkư,ựüßüƠüư&ưvưÍư₫¨₫ÿÿ]ÿˆÿÿ́ÿ6µA–ĐYđ(% Û²n¦\â¡oæÿZÿBÿ³₫\₫­ưˆưưUư ưVưVưÓưÆư`₫˜₫¬ÿÎDÿ´ư₫;₫sÿæÿ7£µ.›₫Ùú¢û|ü\ư3ưm₫&₫9₫XEÿyÿºÅöZ – … * ̀üÖú*ùùaùú÷iøIùîø„øíöwöröÅ÷…øGưêư• Ú >» ă&øĺbéơéî×ñEñ÷  ø£W ûLø`ù\₫`” q Ụ äfÿ~ơzîPëJé(ëäé¡êíí½̣nơbưM®}3Å701#5 Ö=é¥ÙŸÚ]â¦đÔùéûÓ¦+Đu×ö“ơöFđFïỊ̂<ưÜ Â˜¹“Öâ —ơpåfă(ă|àiă/é+̣5û?ù¦÷ÙûoàX1‘,‘(aP û ö„ăăçûñ₫±tÓ KÎ ̉ÿ‡ñXî’̣7ôÚ÷ÿ[c$T´   ; Bü×ê"å„åùê$ëÈæêŒ÷‰ûú^ö.ü£©§8k24)±] ơàỮéZ÷=DZ¢ Áøûé9é™ñ™øŸư¤±½tEBÿ»đJû‚đáêtëŸíùéîä–è₫óxú”û²ø₫!!'>-5k'8‘é₫óà|â(đc À öϦü$đÜäUé‹÷°ó –H(5àü7₫̀Èöú́÷êïÏíöå£áH́×÷û>ùñú̃Ô8&>‚.ƒ $ư·ø èÑá0î-ưÙ P  Yw9ụ́ñ̉ç+æ‡ós, ->s1« Te°₫yửùQ̣¥ïAđÓ́…éÀä“èñ(÷jùhÿÑÙë7Æ@~1ƒÓ₫ÑơƠ÷díMçmñÎ₫,Ù¦û.÷5ó\ñ9ëéEö˜”¸{ | ½ú_(°ÿ)úçđ@́h́èêöæuæí½óJùçúf 7÷<1;Ï)Ư’ù#öă÷›îéíS÷ÿï¼ >ö{ñ>đ'ñ³í;đÓû̃ÓÓ :×[Œ ]È₫X÷…ñ<đ>ñä́ïèµæëÖđ¦ôe÷ûư§Ê à.$>>3{)ó|öëôbđ ö ₫ ­íûùXđÓpïÍñ@ñöÖƠ WH: ô·ú z LĐö­ñ́ñ:ôÏñ¢ëNçéyîÆñÊơIú¨ÿä¿#W>ú8À&Ù ô~ôƒøNô‡öiü„Fê ưWñèêĐ́ióô´ơ®ü-ß Î íƒ‰©·₫‚öºô¡ơö™ôîèçeéÀ́Kđn÷üÔưĐ¯!û<;Ư'äẹ“ô^úløkø¤û<)¤ ₫ưHđ\éíµôI÷â÷ü$á ¥¥ ”,Y†ûÆơ+ơºöw÷âô·í0é́°îGó­ø™ư@₫3 Ï+m;D4cà₫ñ*÷ûúÁú8ưå² ²¾ûªï|êØîơ]÷»ùè₫k[À ‡Iưoùcö+ö‚÷sùÆöèđ₫́8́́®ñ‘ö7üÉ %T;6n!6‘đ=ơËû\û—û.ư>& ” ¿₫Öó ́ǽ9óöĂùeÿâ¸,+ ;…úê÷ưô ơ¤ø\ùơđ~íÄ́tïô”÷”üÄưS2ơ<52u`ù×đ8øÓø®øÙù̉ư$ 7±«û~ñ íjñ¿óXôúø) l; Èù*÷ƒôïóP÷ø#ơẸÎï#ị̂îĂó÷ư?ưă .;^5ÿ#₫?ñ3ö›öö?÷×ú7 ĂÿÔó.ïọ|ô÷ô5ùÎÿ+ ¬5A o{÷ô.ơ3ổơÈơ ̣Öđ'ñ{îLñ—ơTùđư×Q8Æ9,øóö7ô÷6óỵ̈ËơY₫H +¶*ûḌ½ñ~ơ#ơªơ¾û±6 5”ưRöẶ©đị ơÈóñ-ñNïËî¾ó?÷©ǘ₫ X5†<²3³íø øWñë7í/÷4ö h ÔÈúø÷™̣ïôâÍ ä ¼̣ưtôIï£í,ïóLñ̉î$ïzîḅÚøûưÉ?5q8=0 ê#₫sùYíè¿êM÷¿Z ăׯÿ¦ưú…ï¬ëOô¦ÿ2 .Ç…Ïaøî̀ê‚ïÇđRíxë@î ̣föJøàøwưü=7"4d+º™a5ûJ́Văë÷ö3“¾.›M1ûWđúëÜơ;₫íHi !QN ”ûḅ:ï đ*îăê êí´̣Hôp÷6ùü¾22+>] • ÇîKâ[èñưVư–• ’ àµơïˆơPûâûcÿđaX_¥ù©ơ\̣|íCèdè‹ëï›ñNóŒ÷üÚü%;3 )á'̀¹Í Æö³çñă„ëÄđ•÷z÷,ư“ é Î ăcù_úôû₫ø½ö•û`¹ï¡ XH#üGôúëüê™éçéÀ́‘î*̣÷îú² Ù*4-́&I(G…löëĂåTèéoêûí,ø  )W.ưóùûD¥Jóÿ•₫æøsôĐó|ñùï!ñỌ̈Sơ×÷øøtÆ$ơ¬yH;ü8øÉñ¡óKđ~ë,ñ–ơ-û¯₫lü—ÿ%˜¨ä?-b‘Ùÿ¨₫~₫Gư^üüüØü÷û1ü4ü¥û1ü"üdưQ₫¾₫ôÅyÛ¼¯€¿¡ÖÙYÉ›ŸêĐ/ alüÿÿÿäÿ¨Ê3jÿ_₫’ừüôûrûû+ûdû¤û¢û†ûáû̀üûư2ÿ†m5éßÖúF‡éˆƯè~Ỗ'‰ª&`]#8ZA KÿÑ₫µ₫W₫ÖưSư₫üư@ưĂüGüuüĂükư₫L₫°₫ ÿÎ₫R₫ôư₫˜₫æ₫OÿƯñz„ÓQ̉Đ9êrÓ·v"ºR Ïÿzÿ?ÿ?ÿÿô₫•₫3₫₫’₫‡₫±₫î₫×₫ÿ”₫/₫>₫₫Ô₫E₫v₫₫“₫‡₫X₫₫µ₫̣₫Xÿ_ÿ́ÿ&XÅåi¾|¬̉Ê»º§4o«́jÄ' ]µ₫ ÿ1₫’ÿ@ÿÈÀ•ü¶'ú0úÖ÷ñøëøJúFûüŒư|ÿ…6ÓVc•ĂW­¼/ªÿ§ưÀüWưëư¬ÿĐ9ÑOÔĂƯ)₫ư¯û›ú¿ù‡÷÷ñöơ(ơ5ơ<ôăö}÷̃₫²ơ;É™0!ú=÷́îêáæë-ô-÷Üú Ü © v k Đă‹₫pưûúÀơ ơ>÷Ôơ½ó©ñ!ñ!̣Đđ^ñưó÷ø÷Áï()$m(ä(ê"Ȭ3ó´ñưé‡äeæíRú₫₫;¼ Û àœê₫ÿR₫Çúÿ€û6sí₫÷Oó•ñrï’́ÀêßíØñ‚̣Ó÷/ù±È+**Ư!(ëgÿíï—îÇéÓñ$ú&Đ“w±âúvơ…óIöùú)5 { Ê R—ÿåô,ọ̣́œđ.ñ?đ đ¢ñ©đç̣‘ùø ÿ #‰+¸È!ü§§₫kí™ï-ó¯̣êø ß ˜ ṣÎüfơđ²đCøœư„Vs s5₫Qø#ơcö́ơ1ơOó¿ï¤î¦îđ±ôĂö¸ôVƠ3»$N!W˜ÿÑ́ôëkơr÷ưüO P 2 ú¨÷̀ïṇ̃́ÀúRæ² Ÿ ̃ ر'º₫ưütúÊøröIôMđH́ḿđ‚̣Åô<ø}ù?7×"`¸C÷±é ïü»₫¶ U åœø´̣mó4ï7ñæùe+÷Ơ;Ü%ÿÿ!R"q¢û‹ö:̣×ñOđ%î&đ¼ñ”ô öç÷y÷è:7ô$\2¿÷¾̣́%̉) Kœ ó¶í%ñÈñöưGLvüề₫ÓưF̣ ÖuÂúøó>̣)̣ó¥̣ṿJ̣"ó]óÙ÷.÷¾ [35.“ .ú£ñ¡ñ,T € ™ ®¥₫ưó¸ë«ñË÷ù’ưEl84ÿx₫nL£uü ¦¤ưèûhöó0ôùôơûóÀïf̣_ô-ö›÷€ü£%i7é\¥ ”üĐơḳ ₫¤ ô ÅŒü»ô;íîđú"ư¢₫qßu¸ûhû]"½m~ %üFùwù"÷é÷8øeơ ó±íwíSñöøöXư±('8}ñ öíúê÷Kô\í|™“ù~ôïéñ­üEÿÎưñưKÿ_₫ü^ư]WöÛûz¿ü2ûjüÀú9øƠơọ̣̈¯í´îaóïùaöQưü(.4Ùa :áùèùÓ÷ªƒ "‘ü?ö óLïDôâ₫¯Ó₫ñü$₫aư¨üoưä8 y/¶<c₫¿ü,₫[ưúØôÛđbđ‹î‘đyơkúCô™ £2‰*¤$ûgü²üºưÇ jV ü₫~÷MöïơóPúzŸŸû́ụ́üŒưưf…m1WĂơÿ{ưs₫Vü5ù&óóđđïïôđa÷ǿú®˜2̀ư¹ú`ÿgü6BwMùeöø_ơXø̉ÿ»Ưưø¿ùåưÓÿêÿJ‹ˆ®rè>ÿ+ÿ²ư~úơqñ‰ñ§̣:̣ôơøƠø„+-^ 5 û~ÿư•„ œM ¨ư)÷’÷€öAù̉ưĂÿđ₫²útûSư¶₫xY[7?ÿWÿâ₫±ÿ”ÿœ₫[ú[ôg̣ụø̣lóuơºơ{’'è&¬Åû•üÑư¡₫ ưó "÷a÷Ûø{ùN₫>;³ü!úĐü₫Nx-<̀₫ôư~₫5₫ ₫¢₫nưúËôtñẠ̀*óóơ÷¹ơ L#Ûƒxư&ÿ₫óưô ö Âëö¬ø¨û'ûC₫ô“üù(ư}„1_Îü@úÜüåửü9ưƠûµøÏọ́ặ•ơÊ÷?[°#Ë́lư ₫qưSüŸ€ 1 !Øøvø€ù1úÿë^‹üIøRü¦¿t&5˜û¨ụ́ü0ưưwûPù)öóơñlñ ơ]üN!B®Tfx₫‡úÉCë ~ñú|ø>ø@÷ü•ÿ%Kÿøúàûd₫¦»Üü+ú₫ù·û˜ü6úéö¨ókïéîÄô¿‡”‰0'ÿéưŒ z PÿrøÈö¤øBû=ưWÿ₫û úü%ăÄ253ÿiú÷qùjüÆüv÷đUđEơS¿hC¨ ̉ÿ¢ü˜A[ưF̃ưçù øûF₫lưïụ́ø•úºüV₫ ÿ0ûOù¦ø)ø=ù£ùö#ó0ơ½tÎÅÙxlưº¤ © û±üúújûû9ưhûÖúû!ü”₫₫ÿ¾ÿQ₫ûƯöùơøÇù€÷3ơĐôçÿÁÊ ™ f¡ør I 5Äÿ ưuüÖüĐûCư4ư³ø™÷ù³üEÿ?ÿó₫Ơü­ù~öPöÁø÷•ơô¸ù† ÏY1f…D©K @#Ñÿzü¦ü üñư<₫,û̀ùdúÔû­üpûµû́ú±ùvøE÷4ö´ô×ơF÷1]¹@ÜưI( X*­Ồư{ư₫=ÿơÿ?üfú=ú₫úîü…üưÿúø£ơơZôơƯơsüđ Çí <N¡₫'5‹Ï¥ÿơư:₫±ừÿÑưúùLú¤übüPüŒû}øöwơŸôo÷=÷ûươ Á6½ kL@x₫2˜¸ÿG₫âürư¥ÿUưçú ùgùªúTúWû»ú…ø2÷hơø^øûû ÖB©‡è₫bôw­ưåá₫̀ü¢üB₫«ÿ±ưöúÉø ùèù¿úFûåøAöÙơùơ?ø<øÔúëø¥ R¿á₫fC ÿUùqü&ưªÿçû€ùµơVöøÇúyúíö¤ööÂ÷ç÷pƠCpÚ§́₫¿?ơ¦£₫PüĐû ưMưƒûxùøîơ ơ0öâơ§öIöŒ÷]ùÄùV.‘p đ§V^ëĐK €ûÿ!ÿÎưWư¾ûü)ûùiö¶ôơơ#ơûô)÷ú*øçL`zo Í¿ÿÿĐóYP¹₫Àû.ụ̂üP₫:ưÁù ÷âô¦̣ëđ˜̣ÖôQùúuû¼ ^æZ³ Ûÿÿ:'ÙWå;₫Đû[ú¢ûäúGújø÷[ôñSđœóö¹ù'ú¡̣xỳ 6‹Ñư‚üWÁ:²₫‘û3ùùú—÷”ơ`ó óỴêñ̃ó“ù’ú².WY4 ̣ưÿ*üïK½Ñ"°ÿmûoù¯ødùü÷đóñđ­ñ•̣-ơˆøbù öø¨÷ ¯Úœư·ư©Ÿ ¨#ÿ@ü øJ÷FøưùJù1ôùï™́Oîÿñ÷˜ø†₫€e\ G5₫œ8·úƒfÿ§øBơ=öDùñø ơ÷ïêí´î®đºôƯö́ü&'»ùè ~+₫aĂIw]øûâö#ơ¥ơöúó‚ñPïđîüïLóỗù¬Åa¯û ¦ü4 "ùưøOóÍơûôñûï#ïSñ<đ˜ñ©̣×û‡ ;ú‘±âΤàÿІøùRöAơñø«ó®đ]îđ×ñ@̣̣àóÿ( U×|6đ""+B)ÿÅ÷^̣öÀô ó:ï|đṿỴ1ó¼đä÷aư¢ÉF½;#m•}}ă£ûôó\ôö©ó¦ï'ïƒñ,óµđ1ṇ̃;= ­+"MÚ‹O£¦“ÏúĂ÷ạfơợĂñ!ñêđ4ô£ñsñđø£ i`—j‘ $b­üư%ÜüYùưómô§ô#ñ~đđ>ô¨ọ́ÛñỤ́ªü§½}’Ml Ư3ˆøÿ\üÍ÷„öûóhó\ñ\ñ́đ‹̣ộœ̣/̣Bô˜úA€ PÅ çÖ ÆÊV üúŒơmôªóÅđÑđđ4ôÑóơŒô5ơ˜øÂ₫Ü¿]«<?h' ÛpƠư₫ûøØô_óḅ̣Hñ¨̣½ô¡ơZöÚöNøjüÁ’ œ#(́j æÊMQư£ú÷́ô¹ô~̣¬ó}̣îơ/öWø+ùụ̂ü₫tN M ‡fê ơX¢…¼₫Óü^ûñøÔ÷–ơÍôlơ¤ơö÷ê÷UûpüưC₫öÿ@ưÙ  ^ o ư‹Ñß2Ăư²üǜú­ùMùaøøçøÚùúúư\ưÿ ÿïÏ Rê6rK£zFTÿäươǘü¹üÀü7ûºûfû—ü×ü×ưX₫Áÿ-á`å8…"ÁFßB©6ÿÈ₫àưßüûưkư ÿ·₫„₫ÿÄÿNÿ‰₫ÈÿM× ­>t…FÛc¶2ÿrÿ¶₫₫²ÿé₫ÿ¬ÿZÿï"#§Oÿ|B4dpÿ,J~ỵ̈₫¹₫¯₫Ơ₫eÿ!ÿ<₫ ,§}äÇSÀIđQ²ÿ±pÿđÿçÿï₫Êÿh₫O₫l₫º₫8ÿă₫W₫º₫WÿÀÿrÿ´ƒ€,́‡ưød R™ôÿÿƠÿÚ₫lÿ ₫<₫¬ÿ₫>ÿz₫»₫ÿ»₫Ÿÿ6·">f¡TÎ3u‘Â₫,ºÿ[ÿ&ÿ/₫́ÿn₫ˆÿ-ÿ7ÿùÿư₫µÿ¶ÿô€¯´2ërôT”JÿºÿÿUÿCÿ[ÿ°ÿç₫Å₫»ÿTÿ%“ÿ[zÿÿ§Ö|W=›2¾´ÿ‘ÿP,ÿá₫ÿêÿ’₫aÿ‰ÿ&ÿ³ÿ¿ÿưÿíÿ±×ÿAdÍÚEær´àÿcfaÿ§ÿ*ÿÙÿSÿÊ₫"ÿ°ÿÿÔ₫$oÿ0>Đ₫w˜ AÓó ÖíÛÿT÷¹ÿ?eÿÜỵ̈ÿ°ÿWÿMÿQÿiÿ÷ÿ„ÿm+ÿđÿµÿå÷ÿ­„/ĐƯÿ̉ÿÀ&;¶ÿÅÿÿæÿÿÿrÿÚÿàÿ}ÿS«ÿûÿáÿ÷ÿ₫ÿD$̀ÿ›Ôÿ>ưÿˆ̣ÿoÿ"ÈÿNÿÁÿp€ÿ$(÷ÿxwÿ2p¨ÿêÿOÉÿo66éÿåÿ0ÚÿơÿÚÿüÿƒÿµÿBLÿwÿ¿ÿfÿZđÿ'Øÿ"ØÿŸ ÿ₫ÿ /0 øÿâÿi÷₫vÄÿHÜÿîÿiØÿ#Úÿ³ÿÀÿîÿ̉ÿÈÿjÚÿưÿ Püÿưÿ₫ÿÈÿóÿ:'ÛÿÚÿAÁÿêÿŸÿ`€ÿP¢ÿ9ëÿàÿ9ïÿwÿ•sÿ|®ÿñÿ ́ÿUÜÿ5¤ÿ}lÿ…™ÿàÿ ÿÛÿFƠÿÍÿ6Üÿñÿ:́ÿ*öÿëÿæÿÙÿ@œÿ-¤ÿ7»ÿ%ÎÿP¸ÿ.ïÿóÿ ùÿáÿgÀÿ%́ÿ äÿåÿ±ÿ¼ÿâÿûÿ#ïÿ"öÿưÿ öÿ=̣ÿ ̣ÿƯÿêÿüÿăÿñÿƠÿÉÿßÿ.´ÿ”—ÿ>ưÿĐÿ=×ÿ&ÿÿ÷ÿ÷ÿđÿFÿ-öÿ½ÿ=|ÿ”Xÿ±ÿ?ưÿÑÿ_ ÿO²ÿf³ÿ>ơÿäÿ`UÿÙJÿq®ÿÑÿ\eÿQ¦ÿW|ÿÏFÿØkÿ”“ÿXƠÿ$²ÿ[ÿ˜AÿÏgÿ]ñÿóÿÛÿÜÿÛÿ ÿÿæÿóÿÿÿÊÿB¤ÿG¼ÿ:éÿ àÿ2°ÿ>Ÿÿ;¼ÿéÿ>Ñÿ*?ÉÿCĐÿóÿ÷ÿÔÿAŸÿ%½ÿFÈÿ¾ÿUÎÿèÿçÿt˜ÿ×ÿàÿN}ÿttÿTÁÿ4ëÿëÿæÿ_Dÿ̉ÿăFÿ…ÖÿçÿtOÿ́ÿóÿ[ÿ_²ÿmAÿơÖ₫Ø1ÿ†̉ÿPÖÿäÿ‘½éÿ‘ÿ‰ÿL₫%‡ưV₫ưyÜ₫n%ÿ»F‰ÿưÇ₫i:ÿ×ÿËÿ0 ₫UÜư4p₫Ø₫5›₫:2Û₫/Oû>₫EOÿ›O₫fÿ­ÿưwÛü Öưy™ÿ[₫S›ưc%ÿzÿ×2ÿăÿ®ưù5ü¥ïüß\ÿ¥à₫…ư­ÿá₫¦₫V§?ư(µú±ûÚIÿô₫“^ưôüưfđưöÍÿ²₫yCÿêÿy₫ơ©ü<£ÿ‹ÿ„‘₫IéüB₫r1ÿưÿÚưfÿ äüq=Œû-.üE‘úù¢ưC·7₫â±ư!åúnäư¿₫Êôÿ<ăư×ÉüD₫́₫‹wzưDŸ₫ËRÿÏư₫ZÖưb5₫7üÀûöÜüÍ́ülùGgưkæ₫f₫±[₫ îơơAư[-ùÈLÿ*| üRWrûˆûĂû‘ư°ü—Àùó₫Q₫Ÿưü.ÿDÿ5ü}́ü9B̀§ ­Pr̃1XĐ₫¼è₫øÈ÷«úÆö,ôô­ö9÷®ơặ®ù/ûúăú₫ôG Fá_×!«ˆ ‚ÇÚ₫üă÷´ơ¢̣(ó‚̣̣²đ<ô´÷́÷Î÷3ú'üù©÷Œù•ùÿơ‡ơ"ă  Y!Y[ö†X¯eúâ÷÷!ñớñ™ọ̈Ṃût<ư£ưGÏ7₫qú‚ù÷ôơ_̣€ñ đöë[ ß Û…"ÉÔ´7:ø°ÿ…ø“óGñïSë7ï ó=ô¡ơëü´u°´_ÿ¨ùL÷ợŸîæí¿í€í?ùØ oɵ%ê#¢½ zúóơîcí×ë+éö́vôù†úđÙ: , î d ̃i)üöÖđ̣đ^ïŔÇéÝiíÉóD E‚²!w(s!Ñă?̣húị́Iîë“ê+êÀêî ÷ÿ‚ç# "öq aÊ¢ÿúÛô•đÁí«́÷ë°ê§êwíÙđ_ư<ăF±#ö&Â,D ƒnörï«ëïé¿éÔê%́&đœ÷AK! ›R´ < H0₫µø‚ơạ́Ùî;́¾́üí"î£î8ñpô+ỵ̈ú&Kö"íEN ±ô$øÀđøë'êëYíïèđ}ö²ÿ.*  U ˆ ĐœüN÷ÛóUñ”ï&îí—ícïêñô ôRúI $GlŒV¤ Æä˜û2ôjîVë½ë°îĂđ_ñ;ôµû3ƒE # 1›a « lưüø\ơ²̣\̣¯̣pñ,ï̀ïạ́óôró¬ôoƒˆSä{Z!zcúçóî·́²îñ=ñüñx÷ *A _âµ”ư÷Ç̣Uñ˜ñ#đḯRëíWđ@ñLđaơ¥|×<y ® d'r xÿüö÷ï,́.́Oî[ï¢ïóû\¨ä q "y CœÆÿXú,ô}đZđƠđ•îöëb́€ï`ñ«ñpñözWⵂ!Ÿ"Ó— Ñ hµöÀïVí¥íEîđíXîỵ̈§û˜£Œ ‹¥£˜ ¤0©úGơṆ'̣̣åï¢í›î¯đ:ñªđ%̣¿ó™ùKôÆ %î4ư ê Á$üƒóVđÉîú́æë ́5ïËơ¬ü‹¯± £{œH ÛÁ₫YúPö óÉñ ñđQïÔïÆï*đĐñ)ômô—ö„¦§•¶å&" ́v°û|ó0đ‡í’ë›êë¥î₫ơÆû´₫g¥ ,­:™î˜å·ÿZüÚöoóÆ̣ẓ§ñ̀đÉï%đ^ñ°̣€̣ô›ơªüL 8/‰#…& n„ +̀ơṂïcë>é‡éẮạ́cø€û ™ ăk7;ßg ‰¼Q₫‹ø•ôạ̣̀ñ¹đï*îcïƯđ}đVñ`ô@÷j÷Zèr))!Æ“hđ÷ô„đ-ë>ééëñ°÷dúº₫´‰ E SÄ@ B$~ùÖơôˆóḅñFđ€ñx̣`ñ×đô²ö÷̃ơÙ˜2OÄ×)'!ú 2ô÷Úô¶đ“ë#éĐèºë‘̣¯ö ø¯ÿÍ Â ‚ ³S4 »’ÿ¹úbøFöô$ó'̣x̣»̣lñ;ñ-óÔólô öÆøaù́ˆº2#)†·hï eüGö…̣ëˆèđè{è̀íxơn÷ûÄ7 RcU Ó ½ÿûû{úüơgô4ô=̣§̣ăô“ó ̣aơ‘öqôÏö/úhúdøÈZúư[}'‡(‰Ü áưäọ̣̈û́ëSêœéđ%÷ ÷ü<n Z ú *û = !*uÿûÓø_÷­ơ©ô&ô1ơ_öö—ơ÷Ư÷¿öNöùú ú´øĂ”ÊÛ!¦#"ËD¿úçö~ñ"íá˜êấ<ơæ÷Đøøà ́ ¹ }.¼ zD ưˆùAøĂ÷¶ơaơ ÷ß÷÷øùùˆøøU÷,ù‡ù—ùâø )ñí ñUüJ÷C̣̣î!íLë5ïèơl÷úBå t n 3 ddùülø úVùµơP÷ûRù3øYûvûùù0ù·÷ˆ÷ƒ÷:ø³ørû́ nƒ• ènè ™‚ú1ôñ₫ï’́iíÖó÷"ù@ÿ2M;  „ ­ ̀'å₫ÊùBúeú<ø_øSúOúöùæúÆú‹úÓùfø^÷óö0÷}ö¸÷«ø í́́ZöC? UíưËö6̣Úđ3î8íäñÅöù ưK† | G 9¿û¯úçú“ùrùªúƠúBû}û×úÇú/úŒøV÷'öyööYöö÷¢ü+ @¹µ€p`„ ÚÛù<ô/̣­ïíídđĐôZø{ûv¸ “ A f¤›"D₫̃ûú¹úúBúûóú°úàúúNù}øµ÷-öơ/övö-÷Üø[¸Åë` ü #àưóơó{ñØîáîP̣¬öæú®ư_–Ü ÚÖ ₫ »…KOưlûˆúŸú6úqú«ùùVúOùâ÷•÷÷oơUôxơöóöjøtª:_̉rßa xÇ¢öọ́î%íđơôñørûJø ™   p $ƒ'₫àûJúgù±ùxø<÷Àø†ø{÷íöLöÏözơ;ôÜơàö̃÷†úâđ?¼Uçơ¯ =…ÿeöẶNđ!îíˆîó-ùîúQÿa Ÿ ë ¦ ơ¯û_ÿ9üVùø÷Äơmơ5ơ2ơTơ”ôôơ…ơÓơ¢ö ù ưÎ }NN*•V ”ÿïöp̣‡ïFí|́Îí>̣»öôùó₫H×ư ­ B ö ̣  ïT¼üVù÷+ôåóẹ̈’ñp̣Ç̣ª̣»óÎô…ơh÷ ú’üïưízfẠ̈ Î ¢0úáôJñ×îÂíÀ́kï£ôO÷­ú«%Ư/ Ä M } ›f9†ÿ›ü-øôÆó ̣đđdđ€ñ.óµóHơùíû1ÿå q6{,§>S ¼ /àü“öẠ́đ́ïàíïóNö¶ù„ưó́³ A * ̣ J 0¸ưø~ô ̣8đ™ïÉîï ̣}ôĂơeøQü…j,JHöê°SÅ» ‰ưDûưöuô—̣¦đđ2̣§ô÷‹úm₫‹™Ô â Ă º ™=ÿSûn÷‡ô¿̣¥ñLñÑñ½óơm÷̣ùwüµû Æ é%ѳ ¶̉!₫¥ú2øMö]ô³ódô1öø®ú˜ư±ßötZR wNØÙØư¯û³ø|÷Îơöơ(ö÷øùù̀úư)w> ‚ P  A ù öäHÇ₫œüTûú4ùDùfùÅú¿ûÆư1ÿĐ<ø‡¦Dé˜₫Oư.û[úÂù»øïøí÷Úø‚øeúîû*ư<ÿÜmÔ#ô¸RP©e·OØ₫]₫Ưư*ưÊü6ư7₫s₫ÿÛÿåàö5_UI®7ÿ₫‡ư”ûÊûhú–ûĐúâúFûLû ươǜÿöÿ?‹(™3í»åL”ÿ1ÿ«₫ÿÜÿ¨ÿ„ÿHÂo¾4ª—́)0ÿưM₫ùürü{ûÉüóü;ưư1ưä₫ïÿ¿ÿƯ÷‘rú#ÅÆÿjjÿaÿ»₫NÿÄÿöÿ=ïÿ¬₫Ư9Ñä75:Éy‹ÿ<ÿø₫M₫đư†ưN₫âư₫ëưÁ₫m₫úÿ7˜|!œ·U{s|‰ÿ?ÿfÿ¥₫–ÿ´₫‹ÿĂÿÊÿ-&}aO½Û&WÅ+qÿ^ÿñ₫c₫gÿ\ÿƯư Qÿ»ÿAÿ2ÿçX LC«ĂƯÿf£ÿ<ÿ₫¦ÿ₫û₫•ÿ«₫³ÿÚÿ^ưæÿTÊ₫”ÿܯ₫jÿ(,Aÿx₫>Ïÿ½ÿe₫1A,,†ÿN®btÿÿv›ÿ|₫&₫R†eÿu₫¢₫2ÿ¢ÿ¸íÿùp—Trt;ÿ¤;ÎÇ₫raî₫₫ºÿ;ÿÑÿ™»Üÿ¶tÿîÿ£fªÿ{₫@lIÿ^ÿiÿá[₫Áÿ…ơxÿ”₫úÿ>py₫₫S₫ñĂư†ÿ=¹¥ÿ₫Y5Åüúư FHüEư#ÿ̃?W¬ÿ^ÂÇÿ[ÿm€ÿNÿT₫¸‰₫‘ÿ¦8 |ÿ§₫á₫œ½>ÿ‘ÿÆÚ‘›êơÿ»₫nÿ₫×₫"ÿæ₫…ÿeÿăÿfÿx₫)ÿ}4xfÿ5ÿÅÿgV¦ÿ…ÿŒÿªÿœ{ÿÊÿ(fOûÿogXN-XwØÿăÿR>óÿÍÿ́ÿùÿ̃ÿÙÿÏÿÆÿëÿâÿĂÿ̀ÿƯÿöÿđÿíÿđÿÿÿ÷ÿÚÿÜÿăÿïÿûÿüÿèÿ$3*.2870(4)  ûÿøÿ₫ÿäÿăÿÚÿØÿƯÿÖÿÑÿÆÿÊÿÅÿ»ÿ¶ÿ¸ÿĐÿƠÿÑÿĐÿêÿûÿ*9+%0=1#"   ëÿçÿîÿëÿæÿÍÿÄÿ̀ÿÖÿ̃ÿƠÿÙÿâÿØÿåÿáÿơÿÿÿúÿ    ÿÿøÿưÿơÿëÿæÿâÿèÿæÿ̃ÿ̃ÿăÿâÿäÿíÿîÿơÿóÿñÿüÿÿÿ    üÿ÷ÿ÷ỵ̈ÿïÿơÿđÿđÿ́ÿđÿôÿóỵ̈ÿóÿùÿüÿûÿưÿ ₫ÿüÿüÿûÿûÿùÿ÷ÿ÷ÿöÿ÷ÿöÿùÿúÿúÿưÿÿÿưÿÿÿÿÿÿÿÿÿ₫ÿüÿûÿưÿúÿùÿúÿúÿûÿüÿüÿưÿÿÿÿÿưÿ₫ÿ₫ÿüÿüÿüÿüÿÿÿ₫ÿÿÿÿÿÿÿưÿüÿûÿûÿûÿûÿûÿüÿưÿ₫ÿÿÿ₫ÿÿÿÿÿ₫ÿ₫ÿ₫ÿ₫ÿÿÿ₫ÿüÿúÿùÿøÿùÿ÷ÿøÿøÿùÿùÿüÿưÿÿÿ ưÿ₫ÿưÿüÿ₫ÿ ÿÿưÿøÿôÿñÿïÿîÿíÿïÿđÿñÿöÿùÿüÿÿÿ üÿùÿøÿơÿơÿơÿøÿúÿưÿ  ùỵ̈ÿ́ÿçÿäÿáÿăÿåÿèÿ́ỵ̈ÿöÿüÿ ÿÿưÿúÿúÿúÿüÿÿÿ  ưÿøỵ̈ÿíÿêÿèÿêÿêÿ́ÿđÿơÿúÿÿÿ  ưÿüÿúÿùÿøÿ÷ÿúÿúÿ₫ÿ  ₫ÿüÿùÿöÿơỵ̈ÿñÿîÿîÿíÿïÿñÿôÿùÿưÿÿÿưÿûÿúÿúÿúÿưÿ  ÿÿúÿóÿîÿêÿæÿåÿåÿåÿèÿêÿëÿ́ÿïÿóÿøÿûÿÿÿ %*,+'  üÿóÿèÿÛÿÍÿ½ÿ¯ÿ¡ÿÿ—ÿ™ÿ¢ÿ¯ÿ½ÿÅÿÈÿÉÿÎÿÚỵ̈ÿ8\z ±Êæ(;>0̃ŸT°ÿ[ÿÿ¨₫J₫íư“ưJưưưưHư ư₫•₫#ÿ½ÿd¿dïY—®¡}I Ä|/â•L¸e’ÿÿb₫¦ưƯüüVû°ú0úâù̀ùñùKúÖúûrü|ư¤₫àÿTna¥ôü½VÖF¶,µNü¾d4÷¨>±ÿơ₫₫éü´ûxúKù@øm÷æö¼öơö‰÷sø¦ùûÀüˆ₫X¬7—ÏÁz wÎnÏCÍm'̣Æ”R÷…ûÿJÿk₫Sưü¹úUùư÷ÂöÊơ1ơơfơ(öJ÷Áø„úü–₫®­`PƯ éüM…ºøK®¥EưÁ€0ÓhæÿAÿn₫kư=ǘú‚ùø±ö‚ơ¨ô?ôTôáôÜơ=÷ưøû:ưyÿ¬Ă©H‰a Ú ú É R ¦ÛG~È'™ ½b5ÈÿKÿª₫̃ưíüƠû‘ú'ù©÷EöơAôËó̀óTô\ơÑöœø¯úúü_ÿ¼÷Æ+ " ¨ Đ § / s  ¯½Ị̂5“₫rù(»ÿEÿĐ₫U₫Ăư ư(ü'ûú½øc÷öơTộóôô¡ơ÷èøûúJư¹ÿ"i~WƠ Ú f U É í áʼ¯¤¯ä7•÷l₫ÿœÿ0ÿ»₫Q₫ñưƒựüAüû¨ú­ù‹øe÷bö—ơơ¼ôßô„ơö øĂùÅû₫b¨ÍÎ đ g ~ 8 ’ › {Y>%2wÙG¿MëÿŒÿ"ÿ´₫I₫ƯưhưăüPü°ûûBúnù’øÁ÷ ÷}ö)ö öpö!÷+ø‚ùûîüê₫ñđЇ" â B E ó W „’˜ ¹ë9¤"¯EƯj́ÿeÿƠ₫<₫ưưvụ̈ûsûùú†úú«ù:ùĐø~øMø=øXøªø<ùúû=ü–ưÿ¤2®RY}¤‹2¡ó=‡Ó+ª6½D¼rÿÁ₫₫iưÈü<üĐûûBûûơúåúÔú¿úªú—úú‡ú‘ú²úîúMûÓû}üMưE₫_ÿ“Ï3D(Đ;mi/ÅC¶%ŒøpôtîcƠ=˜ÿ́₫J₫²ư)ư°üQüüíûÜûáûöûü1üPücüküdüTü>ü%ü üüüFü¡üư¹ư’₫•ÿ¦ÀăưÁR³ÜÂx nÏ?²"•¬5»ÿGÿ̃₫s₫₫ư8ưíü£üiüJüEüLü_ü|ü¬ü̃ü ư.ưIư[ư[ưPưHưCư>ư>ư]ư¯ư₫„₫/ÿ ùé×δcƠ2 ª/§ fÆ;É^ô£_ºÿeÿÿ½₫X₫ïư”ư?ưêüœü]ü2üüüü(ü`üŸü÷üdưéưd₫Ú₫`ÿ×ÿ0w«̉åăßàÛ̉ÑƠí8`¨ÿHŒĐGG)ÅUăyûyûÿÿ7ÿí₫²₫€₫U₫;₫'₫₫öưùựưçưÙưÙưâưàưçưöư ₫#₫5₫K₫~₫À₫ÿCÿÿåÿ?˜ă3{¤Û1;)Û«}O!̃¥c2 ×ÿ¶ÿ”ÿsÿSÿ:ÿ+ÿ7ÿ6ÿ1ÿ,ÿ(ÿ3ÿ7ÿÿÿ ÿë₫è₫ê₫ÿ₫ÿÿ1ÿOÿˆÿºÿêÿHƒ¹ÎĐ́íƯĐÔ´w[^E0:/<*  1=@6 ̣ÿÑÿÑÿƠÿÉÿ¾ÿ¶ÿ‹ÿ’ÿjÿPÿ@ÿIÿAÿbÿEÿ^ÿƒÿÿŸÿ½ÿăÿ 'YI|dƒ¶{ÀaœN};—-xâ/Øÿ<Ø·&êaûZ_ø¹û…dûjÿ®ù–?ư8½ÿ=₫‹₫û₫R<₫ÿ.U>xXÿưưhúáöRư£ú ù:û₫ûJÿ‚½₫4ä¬ ¡„ :5h₫̃ưF₫qưđüÀù(ûùû†ùÈ÷3øÆ÷Äö¬ôªó@÷Ă÷àöCd´[K"Đ!—“ ƠñêqäèâpƯ¢Ûè,ó»úùaạ̊́|˜5ö0é âĐÜ€Ô¸̣̉ÛRáêœó—86o;aJ+Gñ;\₫Äé]ÎüÇ È…Ó~Ú¦ßù&ˆg P$€á [™Cú–î«åFçƒæ’ỨÚ¥ä́5́­́Ỵ̈84²J8q/‘6¢4F+Æ!êọ̈èæ'ߨÜÔáXó‘öƯü~ü ¸ ÷*•Xư₫÷pü¤ ¤“øưæó·æøƠ₫ĐlƯ¬êè{́÷ơÏ{¹¦C¡:Ư2Ù%Sp póàÂá›êåïôùa ́­ ^×úÇôåï êưî”úÎ- ;R¬)ïúêÖƯÆàóƯÛbåªößư‹÷•ô…ü íh'U6¢(&–T₫®ëIævîù5â™Ï ¼ü¬ñßë1đ§ô=ùaXZ 9Ö 5O 7Qó ëëơî–́̃äéO÷íø(ôFđ¦úOI(à@q.Æê âü|÷Ïçç’öß ²Ói±÷́îç!ædóm ³ A µoûú¦ü¦ æÿ3ï<â‹å1ë®ëEë,ó ø0ø÷đ|óơ!ÎF7<0!ƒ“ñ÷öúø:ï’úi<ªí¥éZẹ̈4öÁøyPè:ưßơû|ÿN<÷ Ê$û(ß½×·ä7ùÇü#ïẤàï–û~øú ïÇùD·HH(«ö/ƯTăïÿ’Ü-§ă ̃đk̃åWơë„ÚÊưṇ̃=ôƠ₫o u ` u Ø ^ô‹êốbó¤û†ơ^îVèBđÉø«ü&ömñi%G+G²´è¬̉>đ@ i =  Lç=àÄéÜd ´ưú!@ªÿø1û¤ÓÑ‘ ?;₫’ûụ̂¥đ ñ”öơơ<óvî±đQơDùLø”đ B1KáëÏäæ ) 2ÿ×ƯVÙêlăê…³ •ư÷ ÿhp´ü1ữ© Jh gÿ´ư ưmÿ™ú!ô ïđ)ô·öå÷\ôâô×ótøRđz! ¸Áÿö’ûS6·ÿÑßÛ Oûư₫rÿ Ÿợî|ö“÷tûlö£ôẓ™÷‡÷b₫ä(l;U:) ‘é‡×aơ3 ^^ a₫&ÿÉø­÷³êîåô ïøø=üđ ö™³û¸ ÿùû₫₫ñÿSö*óˆï4ơƠ÷íúÁùơơˆö©÷€úöøà6å?ơñ”Øëyá2₫€ÜùŒùí°ïTơ†“†:ùtúôÙ"‹{Ay*û ÿA₫ÿÉöcôôï®ơ÷½ü‹øÄ÷”ônù¹÷đư"ç5í5măïgƯÅö—… Đÿôú©ơè́añ3ú ¶ưƯôóüE ñå̀Ê ç³₫QsÜưùàóùóạ̀]ö́ơÉøĐôÇùLøªưßôu *ù;¤(·æ ç®­ ÿúØí¾íïóÅ̃Éÿ ø”÷’ÿ̉ijư‘ÿ«ưÀTÿOüwô„óJñồó”ööøú×û2₫.÷₫r!7½0` Ôñç{ưG "%;údï»́Îó₫ѵ₫ ûùÿ‹Kï¤ ›4$₫Ö₫¦µÿVüßöˆôÁñµñrñûơª÷u₫D₫₫ôOưæ 8B/ă ¼̣êÿæ Íuûf́ÜêIô›ÿáLưSúcúLÿ†lÓĐ³"û₫₫Ø4₫¢ú1ùíö’̣aïÓïAơ"ùëÿ¸₫̣ûṢ&Î*b7Ë#+eó›ơÔÉ₫%YQ¨Æöêoí̀ôbưbzüQư*₫É₫S₫É s380ÿ7ÿ›ưûûPûkûÉôÁđ ï:ñ0ốûÿz½úÓø]«3E-Âơ₫ơ¸ÿsưªüXÍ m̀ÿoïǻƒ̣€÷ü*ü3₫ưÿÿ—v/#₫ƒûÙûû5ûI÷óậ»ñgó¸öT₫;ÿ€‡ùçÔ(Ë0́C ¨ûöúüv÷³ÿ |Ô™øñöñºñ^öYú*₫Ă% ü(‹ AÙ–ÿ¥û üêûmúÉöMơZô”ó/ơ}öü·ür₫uû­ ,+…/Ê åÿ_ü“ø ơGÿ ]­´úơôDïùñ¦ùbÿ6ưŸ¥0ÿưEÿe) ₫åûÊû(úùîö÷ö×ôÎơRø̃ü±ü$₫¨ư3 O(³)PĂ8q@övđPûÂÁ @ÿ¬üÛø¶îøî-öPưă>Ê„ eúUûäÿç<_₫2₫÷üJù‚ơ…ơùû÷ŸơF÷¦úUü€úvựß*™$o\ĂN6ợ̃z₫äØœqbù_ïñ›öÆúÔưư°;ÿ§û´üÿ*₫ï₫¹ÿ`ü”øaö¼öÙ÷qơ~ơ¾÷Qû¯üäú±₫YÖÈ(ú!æLvÿ(ôỰÚüŒ—ú'ĂÑú₫ñ©̣vơ5÷ú¯Ië@ÿ‹ÿÈ₫-ư~ü4ưjÿư½ùøqöHơó“ôø¯úåü3üL₫zÿ×ö'\ Ëjù fHỗñZú&ÿàek9ü7ôùô_ơ,ơöE₫¯ûmưÿX9ưûưwü°û6û úĂøøô¿ñóêơÖöÊûpüÿW+ n#w%ÎÇuúñ·ö#ư;ÙKûƠS÷/ơ^öÿơö4úđ´ë\—xP1ư§üü9ú'úúúÅöóüñÆó×ơ6øSû»ưºÿÿÿo×& u@¤ •Ơơ¢̣Ă÷‡ûƒÿƯÿ°²çư<øk÷1ö_ơåơ*û2B9¨ó{Ř₫Êư ûkø$ùúeùơ"̣%̣óôW÷qü}ÿ/BIJ'63ÿ7₫¡ócñl÷æû4ÿA₫̉H¿ưø§öfö•ö•ơú‡ÀÑ/a£µ!ÿgư¢ûú₫÷•øø¬ó’ñ]đúñ-ơµøMưå·₫êÑ¿%ª `@W ‚̣[ñ¿öưÈ₫¬üư!ƠưùxöIöâöÈơtúhă´Ù $œWÿÓüaúZù÷z÷e÷ôÙñáîÆđŸơxúƒưÿÇư: Đ%µ%"´ô 5ưàïñđÂ÷^ÿ₫aûü1k₫ëønôÁö±÷´öÁû<k ’÷jlL¿ûtú¶ú̃÷yöpôóP̣xî%ïCô‘úñ₫—ÿ₫i7( '!₫`Ê fû~ï}î]öÈ₫åû£dâîù—̣vơ÷Cù üÎ₫c « óÑÂÍü ù'ùÓ÷±÷@óđ…đ¢îÉïVóøo₫éeCÔ'&)#%bl ‹̀ú¥̣á4óÿ-ÿ;ÿP₫æâüuơœóạ̈²úÿœÿ:̣­ « 9 øưă÷©ö&ö¹ó#̣û́̉ë.ïJó)úñüÿS?ư'V+5&ûQ „fư"ôiëEđü˜ỵ̈ư¤üäÄúô£đĂ÷øưƒ?Y› g i [J{ÿ̃₫\ú#÷Ợçṇ̃ñï×í-́[ï`øü<‡ưù 3$a.n08í f-ÿçú1î©é1̣̣ùơ:Ÿüf₫₫µRü‹̣ḍçơ&ÿ[XQ— A , Úû~ø‡ø;ơụˆï îƠîrî‘ïjômø÷₫°₫º8)€3v'½j oư8üÚó®ëíï°ûëPư´₫²ÿÂúaø¤óăöÓ₫˜ q Ë ”oú²ơx̣Ẉñµï8î́ªíˆ̣Ù÷Æüñ₫ëÿ£Ÿ#¨2…2ƒA¬₫`û—øÏïfísèYïüRVƯ₫ø₫-ưÿ₫úơöHøûÏọ̈  h ù ¤é–û\ó&ï΅Êî0đ¯îÅíÑ́¼̣½øü+6 ÷̉)Ù5*-6ùöÔđăđ́‘é̉đä÷d$̣t8ưiư(ư4ü¶ü»ù®üs) ~ T Äó₫ñ÷ậOíÓêÈë ́¯îWî´ñ£ôüœî 3í'”5k-º! ôưù9đAï:ë[çĆªñ.ư¿èhNI₫nư₫îûKüúüQ B d ÷­ùlóÜî¨ë2ë]êïëḱ±đÓóú7ÿD|Ó&Ù752ß&"³údđËïßê-å„çÈêM÷]ß +‹ äÿU₫Øư<úüÂ×h•¯ XCúṭ,í5́MëÿêëTêÍîñ©úJÿT ‘m(²9A2*Eäúuîḯç ä³äêæ ôà₫ "» ́(p³1Êÿºùœûaư{Æ Đ  ~¼ø/̣éíïŃ·ë±èvè́öđûydñ!¿4¤9Ú1Æ&ç ̀Sôƒï¨êÉâââß»èđô¤Â Y Ă öee¶nüåøø\üEl j ÑĂưÚô,đLị̂ïíh́è²é÷êkô;úĐ ú"+`;4(1Ø/ –ÿ€̣4ï:ăÜàÁÜ?àºë,öÙ† 'N O 0>ü\ú©ø¾₫ä;yê₫Iùójñêï"îYíléëÿéÅñơŒăo+C;l5z2±ÿù‰̣ºä;ßÀØêỤ̂æùñÙ| üh « p Ù;ưú¨øMưáƠqøSôăđPñóŒđµïê7ëPëẉÏ÷ D-V7Œ4`03®ü¥ñ±ä ̃T×ܬä/đPưÎê Ñ À7ÅA“F üHûÈ₫Ùü‡üÿơrñKđ)ï®ómñ,̣Víź\́¨đ$ö’~ O33Ơ3j&‹ˆZü“í$äÊÚ$Ø̃äæóäüù& ̣ 0IÍô^€Öư3ÿûùoóaíéëđiñṿLđî î¢đG÷¬üŸ--Â2›16,™Üuªơ£è6àØØÛiâôëÑö#üfÛ¸$!7 6%!üH÷ùï êúçñè<́ưîHđ«ï<ï`đóØùÊư&;*B2}0/-‘à Đxù́Bă†ÚåÛá)éọ̈^ø©¯ û¨+#NÖ Âû3ó‡ëçdåèXéV́ß́­íqïññV÷ư½?¹+±1æ/Ư+ª—X Ú2úốJäKÛÅÜgáFèeñ“ơiưîF Ư­Ô:Pç HYưÓñ=í@å”ä̉ä(æUê¼êîVïóIø(₫`Á,c0a.$*ùºÁ ăØû–î»å|Ư₫Ư¶á[æÅíSñeùƯ¡ kV¿´-Âúôïƒëgååä·åoè­éẤÛïÅôLûÄ€̉`%)“,å*ç&“HÜ †₫P̣ê½âöáöăeæïë…îhơ+ưùƠưz»8½|ưíô*ḯEé¥êåê îgđ:̣ơ6øü)? 釰%||̃ - ˆüîọ̈GñđÈđ­ñ<̣×ơù{₫‘>ï ̉ ï%˜ïeÿ₫+ưÉûûoúFúSùkøOø̀÷äø$ùøùNûuû¹₫ÍÎ(ÏƒÚ a  ç•ơ[fÿ¿ưOưqü üüư‘₫ƒÿ¸°(Ï%ØPSgÿ!₫‡ü'ûÇù¤ø÷íö~öWöôöÀ÷*ùÛúÉüÿ)fcT®÷âvăÈå̉›ăoWEq¢¸µa“3ÅÿHÿ¥₫îư8ư_üœûŸúäùùÆøø¶øù¡ùŒú¢ûư’₫8.å‚ä å“4ëËÏÓỰa›»¡Y °r1Ù~ø̉ÿ+ÿU₫}ư«ụ̈ûmûûÅú¡ú½úû£û`üQư5₫ÿÅÿD‹œw5ÙÿqÿÿÛ₫Ñ₫́₫Cÿ¹ÿSû±^˜ m³æóÏóW»åüÿ:ÿs₫ÙưXư÷üËüÅüúüYưËưJ₫¬₫û₫ÿỵ̈₫´₫X₫₫™ư\ưưư8ưcưÙư*₫Å₫6ÿÆÿE·6 ùPŒ¨¯‘kÆV×aæŒDưÿÿÿëÿ¾ÿ…ÿ4ÿØ₫p₫₫¢ưNưưùüôüư<ư{ư½ư₫M₫’₫Ø₫!ÿoÿÂÿo¾@d„†xiZJIPk’¾é !(ö¸cøÿ!ÿĂ₫s₫=₫₫₫÷ươưûư₫₫)₫H₫l₫˜₫É₫ù₫*ÿYÿÿ ÿ³ÿÁÿÉÿÑÿÚÿèÿÿÿ MˆÅG~¯ÑéîäˤvDá´Œd@̣ÿÅÿ•ÿgÿ8ÿÿï₫Ơ₫Â₫¶₫±₫³₫¸₫Â₫Ê₫Ô₫̃₫ë₫₫₫ÿ7ÿ^ÿÿ½ÿđÿ"Or¢­°¬¦›’ŒŒ“Ÿ±ÅØëó÷îÛÁvH́ÿ¼ÿ’ÿiÿFÿ&ÿÿ₫₫ô₫ơ₫ÿÿ8ÿaÿÿ»ÿăÿ+-'ôÿßÿÏÿÄÿÁÿÇÿƠÿëÿ#B`y™Ÿ—‰yeO9 óÿßÿÏÿÂÿ»ÿºÿÀÿËÿÜÿïÿ%"üÿêÿ×ÿÇÿ¹ÿ±ÿ¯ÿ²ÿ¼ÿÇÿ×ÿæÿơÿ ₫ÿöÿíÿäÿƯÿÙÿ×ÿØÿÛÿàÿåÿîÿøÿ$7I[kuyxrcP:$ưỵ̈ÿèÿçÿçÿ́ÿơÿ₫ÿ ̣ÿáÿÍÿ·ÿ¤ÿ“ÿˆÿ~ÿ{ÿzÿ~ÿ…ÿŒÿ—ÿ¥ÿ¶ÿ̀ÿåÿ"?Ym|ƒ†‚zm^OC8/,**-19AB?8+đÿÚÿÄÿ®ÿ˜ÿÿ~ÿrÿjÿfÿaÿfÿjÿzÿÿ¥ÿÅÿâÿ₫ÿ,;GOPQOG>61-.29FSaltsj[K7! óÿ×ÿ¿ÿ©ÿ—ÿŒÿƒÿ}ÿ{ÿzÿÿÿ£ÿ¶ÿĐÿçÿûÿ   đÿăÿâÿäÿéÿưÿ ;L_otqfXL8"öÿâÿÔÿÅÿ¼ÿ½ÿ»ÿ²ÿ´ÿ¿ÿƠÿæÿöÿöÿơÿæÿÔÿÍÿÁÿÅÿÅÿÓÿâÿ́ÿ)5=;9%'öÿàÿ́ÿëÿäÿæÿéÿêÿûÿóÿ(26+''(# ₫ÿèÿĐÿ̃ÿÛÿæÿâÿêÿéÿưÿ'+ đÿñÿăÿàÿäÿăÿ̉ÿÂÿƠÿÔÿÄÿÔÿêÿÿÿ÷ÿưÿđÿ5LQiB3ÜÿïÿĐÿàÿÓÿçÿÅÿÜÿđÿíÿ-^)QÛÿ.ºÿxÿúÿkÿưÿKÿñÿ_ÿxÿ'¥ÿXƯÿ"ỞưFƠ₫²ê₫\ÿXÈ₫MYÿQ₫₫ïÿ^ÿ2ŒÿY¶ öø”“ÿ.Ơüàư:ư<ú\ư3ÿüi₫₫̣ÿæÿÆ₫¬HQKv³₫Fđ₫Fÿ¢ÿˆÿO₫bk₫`pÿ¼{ XX-ÛưFüUûÙụ́ùsúXûü#ưÇư₫₫K7_<ƒgqˆCæÿÿ=ÿOưö₫ùü ư₫<₫•ÿÛpYô…P₫jÀ$ÿ ư²₫„ÿƯ₫ÿü{₫$₫£₫4ÿp₫˜Ać „-¯ÿ¤Âÿâÿî₫qj₫7₫ÑÓư<×ư₫₫(î₫˜j·₫ª­ÿN¶ư• ÿÉ₫̣ưnEÿ3₫ÓÿÜM₫×åÿ1ÛÿÂĂÿÁQ₫µ ÿơüCÿưAưü%±³₫-Ï¿~ÿ…ûÿiÿ̀¸ÿzÿÅÜ₫öÿf‹óåưƒæư4₫ëÿ eư<₫ÛÇưd₫´!¨₫$0uÿ*v€)₫¡ÿÈ₫ưûü­úV¸Ă₫ ưÛæµ₫ƒÿ!W₫´₫ơ₫Ø₫ĐVÿéươY₫ưª„ÿ’"eØ₫8ưưÖÿ…gÿwưFÿÿÿÛ₫ÿ¹₫'ƠØ®₫™ÿ₫>ư‡ÿ}₫aÿ₫¥ÿË„ÿh]<ÿÊÿdZÿhŒu'L₫y₫Nÿ#ƒưyÿ₫­r'VR#¶om₫ø₫ó ÿIü5ûWÿzûưX)₫Ó[ÿÿÍû8¤üdZÿô\ |₫%ÿ0O!÷₫›uÿgÿ+bÿøư­ñÊü5@üR₫±oG₫½~$ư-©#ü₫ª₫k,₫₫₫¦ƒÿL₫¼/ÿ‰˜¥₫%ÿˆAÿ`ùÿÔơÿ‡ÿÊ₫3ÿ_z₫ ₫…xÿœ₫ăÿDéûü₫₫TưBÿ'5áưÿ`Ôÿ)¤ØÜCÿÿ₫f{-ÚYÿ\ÿhÆÿRûc•füưÓ'Hü+ÿüFưnüÅÿúü&ü³üªư¶üëüÄư|₫ {ưÛ–dZ  bµÇá^øuÄÿ× ₫Gú±ùúuơßó¨öơâñơèö́ơ?öyúÓû¼üÿö¿G|4  @ Mÿä—éY  â ¢q±₫é÷ÆóÖñ<î™éôè́$ë¶é{ïŸóÇóơƠûsÿ•ü̃ÄÜˆØ Ô k ’æƒĂ »P¾ ª Ûx̉ư$ùṇ̃¤ï̃ífëèé§éÜéMếàîßî‹ñ»ô³øùØû˜ưµ\ mø JY´¬÷V”r(`1 â–|ü”úƠôñîzîë́¾éĐêpë!ëí,îYï?ñ!ñŒ̣}ơ­÷ø½ø\ÓXè úËÆ 7VdÅ*¹  Tû³ú˜÷Ÿï2ïôï€́Ä́#îCï=ïKïẠ́Ṃßđ̣Ôọ́×óGôYùÖT ½ÓYcÿ™øÉD Øÿ úÛùẸ́Àî*ñƒï)îsđÏđ*̣Bñ÷ñEôñđ̃ññï{îÅïđFû~ư0ÿƒ"F["̉Ÿ  á” UŒưú!ø×đ“ïPñ6ï¢ï ñÜñỊ̂Üđợó“ïóîMđǘ́́@í§ơÅû˜úå³™;'!̀ ¡>9đ  -Uûqùợ̣YóOó*ôåôÍöŸôó=ơ­ñî#î‘ë›é»èfë`÷öñû+ ƯqÛ›!˜ "Í3¬ rÿưQúøTôóđóAơ¨öYöøöùíơ/ỡơSđ©́2́ÑçÍægǻbô¡óØ₫v Ư !""Û! 4µ†ù (÷ư–ú}÷|öTơgơeø•ù·ø û³ú§÷öúóJḯè‡åùă2âíéđj̣k "> %!Å#/!| ±̃° à¶₫¥ú÷™øüö¿öû[û ûưGûùk÷ị́PïYë,æ/äqâWß êđØïP₫Ă| ° †$ !Æ A” ï ư‚÷Åù ú<øoülưưÂ₫büúoøẹ́ïöêwå…âVáÉƯ±â$î€îR÷n( #i‚$¯$±b ¯Qy3ÿúq÷Oû%úµúíư₫Vÿ±₫:ûEú ö}đíØçhă(á̀̃¨ƯÓä̉íxđûß «PÛ ª% $ `… \¸,ÿú¥ølûKûü‰ư2₫«ÿ²ưºú ùÎôđ~ëËå·âvàg̃̀Ư>ă)îq̣‘ú’0½Êœ >%±%ß wAÀ¸+çûø±úÇûœüSưưÏ₫{₫¹ú́÷ô³đîë»å!â¸àß0̃"àUëó§ø‹} á Ï4#̉&#Ä•̀ ­’₫GúAùQú(üœưKüƒüùư÷ûùÀô¿đîè̃âƠà_ߺßóßLäFđE÷ ÿÖÔưF u!U$/&´"¯Ve¯öØ₫’ü3úăù—ù¾û@ưüüĂûú³÷ḥ”î’ë‚æqâ,àø̃ á(âBècópúYg ¹̉!Å"ß$%í!ô}iP TLưYûúæùsù&û‡ü üØûxú»ø•öăñ§í ê›å|â[à߉áăØêơKü€$3"I#́$2$r!~Ël( ‹×ÿ¤ütúưù úùåúüüÇû÷ùø÷çơ—ñ‰í†éå9â¦àëßëá\ä˜ë ö¦ưt¦‰º"y#v$ª#G!\mX Uúÿíû)úOúIú2ú¼úû8üØû¶ù¢÷ơzñÂíé¹ääáfà™àâ½äÉ\öœ₫Ø´ô"$Z$“"•  GÚÿÀû7úYúPúđúSû³ûdü›û°ùÀ÷ˆôñHínègäVá à¶àâwå‚í@÷B BÙKb#$$°!•ËQ_ßư₫ü‘úú6ú+ûü:üüûéúAùc÷ô/đ́çÚă#áèßÇàă3ç7đ®ù¤p Ué ‘#J$P# 9ÀZ? ‘B₫îû7ûäúîúÎûGüBü·ûíù ø¯ơ%̣îê«å1â₫ßëß¾á„äëÏô₫¡9û¼!Ç#Ô#w!¦’NĂ" çíÿ„ưÛüRüûŒûüWü ü2ú́÷›ơ§̣̀ï ë¦æ¬âàßWájăßè0̣Èûد đñÆ"¯#!Ÿ¼V…8 ©A÷₫N₫çư—üºû ü@ü÷û2úp÷Ïô+̣’ïÓëæâ—߆ß&á5ăé%̣ ü#” v,"#Ó ;%÷•h 5VY«ÿÿPưhüVüæûNû"ùBö~ó₫đ'îùéÆäÿà?ß¶ßáBäd́mơzÿHỠ«‚±!\!œ‡ §"IÜÿµưéücü£ûçù÷áó¹ñ!ï:ëJæ²ápßNßà;ârẹ́ü ± àÜV v ¬%ëuÅ \˜º xÿP₫oư^ü<ú÷Àó{ñúîëïåRáỠ©̃ß«áPéfñŸûăÆ %§á9ñƯ²ül. Œ gB(ø¸Œÿ&₫‡üÁù_öHóñ“í}é;äàõ”̃£̃ăïëÉó₫Ă ›ZXÁjvGf÷ Å ïưQYh…S₫Vüø&ơṚ ï7ëEædá@ßơƯÅƯƒà éđ™ù¥bÙi’Oê:÷ïª̃ u 8 T ƾY¥†ưqúöô†đtënçöáLß~̃Ưß#èÈîØö#î´ ơOS)êB:Ăø y x s ¤ Ö§jf€₫Eü}÷ ô‘̣śäç¤äƒß°ßàhߨélñöô¬JáV‹Å“•.%ê ¯ ¶ ; qqŒY…ÿÍưKûóø×ö«ó¬ïVë¹ç2å±ăºăĂç×́Sñö÷û”¬ 74ÓZKç8´ ̣ ï C ¯›ÿD‘ÿ üÛø(ơÀđËëvçDäXâ—âIæ*ë#đ̣ơû’ )–™ˆ'bÑ · ' q ¼«ŒcăÿLüù2ơ³đ́ÁçîälăŒä™èíÑñF÷ü No ‡XÔÇó ø , b µ¿«á‹"A`₫~ûVøVôÛï3ëçCåâäÔḉë đ ơ@úyÿÁ  ÅnÅî[† § Ï 6 Tˆk·ălågÿœüùùGöäñXíTéƯæ,æFè!́₫ïô®ù½₫Ú"› ’€Ö&Ă₫Á  Ó̀ưđEhå`ÿ”ü8úÅö¾̣ƒî¿êè´çdé-íÚđHơ<úÚ₫·Ú "L¸d±  N , LEpY¡È?Ä¢₫>üưù±öỤ̈ØîIëOéˆèêÑí«ñöéú]ÿ  9 6;lÆĐ ¢ < -&ú|æÿĂưoûùƯơ7̣fî6ëXé¶èYêîṚ́öªû#¾·é ͨ±ê0/ ̣ ^ Ï̀tO¹ÿ!ưµúKøEơ­ñîưê1é¶è0êúí‚̣!÷ïû| T 51&kw´¬ h ¦ Pûß›K pÍ₫áütúö÷óôrñơíƠê÷èvè°é`ị́¸öˆû*Å ` W…đY^ Ú©@ú}ç₫%ưËú:øUơåñmî8ë éDèé-́Ùđ‰ơKúÿÖP̃ ø~ÏWÓ4?ù ¼ â,âÄbµ:ÿ°ư}ûêø'öặlḯ„éXèèÉêïÈóvøPư:̣̀  Ê‘r> z €øç™QÇÿy₫§ü%ú‘÷¢ôIñ̀í¹êúèlècé½́:ñ¿ơúyÿkÄT ¯4}öI¯Ÿ « k~9´—s>ÿĐư´ûBù©ö¥ó0đ»́ê×è¢èbê=î™̣,÷ üö¤² _ ®ÁƯ#n 7 ñ%ç…/èÿÊ₫+ưû¯øọ̣̈€ï,́óé́èÏèöếîGóÔ÷ü™.& á 0[Bw#  µĐcÛ¾ÿ‚₫Ôü¬úløåơÇ̣=ḯêéƯèöêïaóÈ÷rüYđñ x ©Í.Nl † 4†7Åo:<ï₫Mư'ûÙø9ö)ó˜ïÍïéØè~èÂéˆị́|öûå © Ÿ,ÆdÛ J Ơë¾k ̉ÄÿM₫Cü5ú½÷ÓôMñ¡í«ễèaèèàê9ïûó@øøüñ  æ \Œ}è̉5 Ÿ MœbȾàËÿ4₫@üúh÷nôÙđgíêĐèNèzèêÛî˜óÆ÷qüXb ¢ Ä]§ê<ÇÈ"r  9Ë}₫ÍÛ²ÿ-₫KüRúô÷@ơăñZîSë éøçèéý1ñÑơMú‘ÿ6 ¢ ñë̃–êé©È c gÇ/F¸%îÿ ưnü‹ø)ù¶ø¥ë™ë˜èUåÛâèáđæÆđ9ñÀöh4÷¨ LI5•?QªI É­ç´½ M~ºo ×ù•ùÀùZï†íætä¶àăØ¸Ư»àJƯº́g₫^Ï¢< 4/"‚‚Z¿zSF> Ûˆ‘ Û¹ÔIưlø@÷óñ“èºêeă¹ƯëÛ Ú˜ÚßƯ/ß»í< ¬W'"Z( `&¨ ʼ nÏ ùg ¾ ´Àăÿ³ú)÷¿ộMêBæèÎ̃uÜơÛÙNÙ$̃JáÓïo´È,º&—,× Û&—; ½·û  à Q¶  •₫s¨ü¥ö_ơƒñ€ñåçbéæXá_ßsÜqÚ ÚÚæ(â¤G¾ _3µ-Ë.#)Të#f] H]‰< )Ö ̀?È|üT₫[ö–đVï8̣ídç?́«åoăỖ*ßzÛ]Ùßææ8÷¼«4(4=2&¢â¥ u JÇF" ; Íǜ÷ïö®̣ć(îỤ̈½îöêîNçåjàß×Ư¶Ùáå¡́́÷#› J'¥?T1p+|Iè fúâ üư=¹ ;1đ°đôïấêé₫̣ơîØîî«åáâ†̃ºá”Ú:ßÈå-íoó O26!6í<:,é!¸ cá₫…üü˜ ̀tû‹¯óµèeëj́=íbî3øáöïïœïêưăeàÏ̃±â£̃ÛăéÙơp÷(4Î$8 4N+o» <̣üô~•p=1 ‚úKú¯́åÔé¦íƒñ…̣ û¬ø‡đƯíˆèfâ$àeâ«äƯäăç¡íFơsüj ³0U,\-—8̃'S¢Á0₫Âø¼Ưëöăó%îÜåÇç#ïöÂơ úÜûóí¤èLälá·äç®étê¤ï¤̣ưt&Ă5%(ƒ3đ-6%±æăôñÁeåO øË₫”đï¯éÙç*́âóyú2ùIüJøµđ]ëîå‹ää™ê‚́ï̃đ¦̣¦ö¸ư©ÿæî3¸)ă.ă-5&A xré| È  `—JûfđsîĐê8íº́ơóüîù–úëọ̈8́gçƠçèˆíFñMólơ¨̣Îóæøé{đ)G1ø+°0´$ÂƯÖ¬yâK 5 ,7ÄưÜó%ïÈ́yí[đxñ_úaưú'øCôođh́£êfíßíŒóœôTöHơ¢̣ôĂû9 71¬/É.k+¾ ‰Ïü½C˜ÿ° J e ú­ñ̀́źíUñíöHú&ư9ÿ†úäơúñºïéíBîṆßô¡÷>ù7ødơåô©ùÑÿ %Æ1£)é)Œ!àưû¦!₫̉ ư KVÿ°ùEñ½ëôëÂíPña÷iư·₫¡OƯùÓôÿñḲ ñó}÷̀ú-ü›ú”ø ơoóÓ÷QüÑ̉*“.́%©%§ ?ơFü ÿæ Đ „ +Nû4÷ îT́£í4ñ2ö́ü[´Y)Àû±ô6ô†ôöôơ÷;ù?ümûúÎợPñRó÷â‘'2,V%9!èº ô;üU‘ ë yŒúBöđ²ï7ñ|öúqÿ@Å:ÉÿCư§ù÷÷è÷5ø‚ù‰øúø̉÷ïơ…ñ®đzđơ²úO))º"xwô4₫:  Á́û¶÷—̣¿óö ú“ưm‹.—ÿ›üÖù&øø¥ơ ÷6øPööiö_ö^̣'ïÑñâóú< i+˜ ^o ´̃÷|úh0¥̉„ 2ôú0ø›ó!öö)ú₫]ˆÄÿYNưû·ùÙ÷µ÷̉ô»÷±÷êơäơ}ơĂôMóIñ óñùDưđ-q$!Ô0 îơù÷ˆ¸9 O±úB÷ó¼ơ`÷FøEüºư»ÿ₫íư»ú²ùÛ÷ö÷ơ²ö#ùºøÑ÷ùöö–ôŸñÍđ ̣¨ôÀú̃ă Q/ë$—™û ú¿ü¨* ߨ ¨bÿk÷BơŒô¸÷DøùHû¸ư¾ÿ¿₫[ÿưúSøW÷0ø¨÷ úBü ù÷lơPơRô’ó‹ôNö<÷Üư ½./=$z.Ñü~ö…Ù "¾© ơSôÜơŸöíù7ǿûŸüTÿg¦ÿiÿÚú^ùú*ùÉøø¿úNû¥øP÷6÷Q÷éöáóÄó̀ơ÷ ₫ëà"§,*$jårúíÇ Á L¶êđû×ö‰ø]øúËù·÷éúĐư§Ló¨ÿ„úùúIû‡úû_üûBøuơdơöÏöG÷ ơ»ö÷nûd₫sL*$´R ÿÜđül ¬ è kÿäø úŒúMû½ûm÷œ÷búªÿ/9WsưÖøøøúåư!ư–üûĐ÷=ö$ơö§öEöÎö;ôâơÂöÿüyÿ† ‹)‰%f E[£ÿ×   l~ÿÄúÖú0ø)ùùÊö÷îùO₫ªYm₫ụ́ùFü2ưêü¾ư#ư¶ùs÷„ơö‰öa÷ù¿øU÷÷[ø ûªÿ—,‡+ „ôọ́5 ¨ Y e₫ưäú«ûsúsú—÷Óôf÷¿üzH/¿ÿû°øçú=ÿ•Ú₫₫9ư ù3öÜơwöZ÷EùLúÚùPø¬÷à÷Où9₫zI+t~p©̃̉ ¢ · <TüÓüyûuûeúÁúÈ÷Íôd÷?ưöP‚åÿ ư(û¦üö₫è[ÿ2ưĐüYúîööG÷¥÷døáù¿ú$ú˜÷¼øÅùüđº "¡&á óư==K+,ưvûËû„₫öưú9ù_ö‰ökúUWÄeư\üÇüˆ₫>çÿFư úEùËøTùùøYùÅù†ü₫]ü ú|øgùùyư῭(eb|ûé₫†°fƯ₫©üK₫ư½₫æûÁû±ùÙ÷Ûü–$₫‡ÿ~ưcúÿûf₫ñËÏ₫³û¼øúFû&üæûOù ù¡øwûïưWư•ûø«ø~÷–øgÿÑ&öwëưRûb₫¾Ó ư Á%%ưAÿCư¢û>û~ù¡ùq₫È(Àü̉ù ú½ü<å«sÿæû ûüRü ü3ûØúû÷ûưüüKü˜úùí÷SøëúüZïO´ 7₫€[A¾˜×7'ÿÿCjưøú"ûÑú üHưú$íˆ₫¢ûƠû¤ưyÿOá₫É₫"û‹ûœư ₫©û́ùEúơú‚üđüCüúúØøơ÷f÷øù=ûơû,©y•ªưWÿV4E ÈÿÙưÉ₫¼ÿ/ưNû%û«ûưÅ₫Ú3ữúXǘ₫ÿ·À/₫/ú¬ùÇúüƒüăû¥ûœúbû<úđùµúyû û_ø|øîù¾₫^ Ü¥- ª‹Ë̉` Uÿ₫æ₫ÆPÿÂû,ûü/ür₫Y>'ưûºû>₫ÚÿÊ:”ÿ"₫ưü üü‰ú@ù}ùLûCünưfü]ú‚ú!û.üôúUûÉüưÅ(_Ö”í’1̉àzï₫]₫E˜7ÿßüØúµúbü₫Ú?gÿÍüûû€ưÿªÿúÿ…ÿ ưđûúêú£ûÅûƯûEüI₫Úưưăûáû¨üküÊüÁû ụ̈ü\ư]î ´ Z ¬1ÿå¼$›^*ÿgü±ưû¼ÿ¬û¿ùßùüÀü ÿ̉ÿ×ûúáúxưHÿbí₫’ú8ú5ü<ưŸưµü&ưôưaưư%üüEưÀưsưfübüFư₫]Ưo eĐ sĐï+ÿ ôûÿƒÿñ₫E₫̉û"úVûËü×ÿóÿ×ÿàÿÿ ₫–üüüU₫Iÿ!ÿú₫$ºä₫¢ûùúGûÙûÙûQư¯₫Ø₫3ưû#ûüª₫¾ÿÔ₫µ₫‘ư₫fà ùx Û¨r?9דÿ6₫ ÿó₫ưûĂû)ưV₫[e₫üăûÏüu₫₫3₫Î₫7ÿ)ÿüëùúøúúûưû0ưH₫5ÿæ₫.ư­üưÛ₫x¸mÿ÷ừ₫úÿXi ¤E T Ă{g :¬+ŸÿB₫ëưd₫E₫Ûü…ü"ǜüLưèư"ÿ`ÿá₫hưñü…üYüjü‡ư2₫–ú ùûÆüçư¥ü·ü!₫[ÿGôÿ&Äÿă₫•₫¯ÿf̃wÿ8₫Œÿº è B ¦Ị̈a¯øÚÇÇüáư¡₫«₫ư|ú]û.üÀ₫ÿ¢₫ ₫¿üưü|ư»ư²₫Sđ₫}ûçù“úü_₫wưưư₫đÿcœÿ"ÿ9₫o₫Æ$Ôÿ-°Ü T V  r°^Æ«ưÿ‘Ô₫$ÿ±₫¼ư†ưûû^û3ưÿÛÿ~ÿtưüü^ưO₫?ÿÖÿÿ¼ưûLú:û ữư÷ü©üMưFÿZ~ÿ@ÿÇÿƠÿÓÿíÿ´Ig0›ø ¦ [ô6ÿ¸(ÿ]s§ÿ<₫ư>ưAưYüˆûÔû̃ü²₫d₫₫iư|ưl₫Ü₫_ÿ^₫PưñûKûÇûđü4₫çưQư~üư‚₫™ÿ“Å®¤ÿK₫;₫Û»Ê? © B Ÿr‡ØÁÿlbïZNÿPüü|₫1ÿ<ư[û"û'ưx₫g₫xư¥ư.ÿºÿÍ₫¥üüÓư£ÿŒÿ@ưaûWúÔûÓü¨ưÜưÅưH₫B₫Fÿơÿ¼Ç(Æÿ;,KôÏù3·> ƒ 2 ëLù₫ê›ÑèƯ;ÿMÿÿ₫ăüüüüưư¨ü¬ư¼ÿ¡Ñỵ̈ü!û‘ûÛưJpÚ₫güûŸû¥üIưÎüÀü£ư0ÿ¼ÿ1ÿ'ÿÑÿ/1¡d(3bc× ªùø ‡ˆƯ½NT¯ó ÿ…₫Æư‚₫>₫fưqüÎûÉüOưB₫₫6₫e₫y₫›₫ ₫n₫Ê₫ÿ+ÿ®ưöûæúÈûÛü ₫Ôưbưbư₫àÿn3Ư₫²₫¹ÿb–ưVyù„½¼È «7±áùrÀ %₫{ü¦ûÙüĐư‘ưºüüXư›₫pÿÂ₫Đư×ưp₫€ÿBÿ₫ư$üÄûơûÓüJưáưØư!₫‰₫,ÿ>dơÿR„̀oÈë´8 Í ª HKÿ¶₫» O=²¢ÿÿ²₫₫Xưèü(ư ưËü€ü ưA₫7ÿCÿàư‚üÑûÛüµ₫O6ÿxưüöûvüưRư«ư{₫xÿơÿ‡ÿÿº₫2ÿ¢ÿh>øûµÿÿÇO`Ư Q ”>OƯL‘d"Ê`Kâ₫xưæüäü3ưCư+ưZư™ư;₫g₫­₫k₫₫¿ư~ưöưr₫7ÿÿh₫Tưsü@üNü ưưG₫₫æ₫dÿ¬ÿÆÿ‘ÿ•ÿưxËy+g]   ‚!ÿàÿ¸änyiÿç₫x₫̉₫Îư ưdüüJư¯ưI₫ ₫f₫c₫”₫_₫íưèưûư₫n₫ëưáüü ütü4ư²ư%₫‘₫ÿaÿ€ÿ’ÿ¾ỵ̈ÿ;O£̣kŸ¹''>`U ‚ 9V8₫ÿ4ÿCŸö8s₫%ư<üEümüaư₫å₫"ÿÜ₫€₫̃ưư$ư ưNư₫ÿˆÿ(ÿœư¼ûúÉúiü+₫‹ÿ̀ÿ}ÿ3ÿÿtÿŒÿôÿØöè±Sƒê%í ÅœḶV¥ÙÎCwßÿ[ÿ ÿv₫Ëư ư¸üßüJư₫´₫@ÿRÿæ₫₫ưÀü-ư^₫Nÿ…ÿ₫?ưüụ̂ûÜü ₫ư₫­ÿƯÿÏÿ‘ÿJÿ+ÿÿˆÿ$$è“i$ư§t w wíÿ{ÿºAỌ₫I₫{₫§ÿ”ÿå₫ư÷ûü~ư‡ÿa#f₫÷ü?üÉü₫̣₫yÿÿ₫̣ưœư/ư³ühü\ü8ưT₫¿ÿbeÀÿÿØ₫ÿÁ‰̀ÛÁe%¨éæB/S … Ū€₫çü₫<a`ÈçưAüºü!₫BÿjÿY₫rưư×ưñ₫ºÿ|ÿE₫,ưürư ₫½ÿ¦ÿ‹₫ư»û†ûîûửư°₫5ÿ°ÿåÿÁÿƒÿÿOÿÖÿ%S<ư£³ÿ3˜̃b5 Wv1ÜĐ@#Ùú¡ñÿÎ₫"₫ưđưS₫ÿ*ÿđ₫Œ₫₫[₫₫@ÿ%ÿí₫öưưUüíû<üˆüaư³ư=₫3₫?₫)₫#₫|₫Ë₫©ÿF3ÆK‹DʲĂÿ»{†!4]fP¸^«kDv¨ÿ́ÿ) "ÿ₫ư>ưØư5ÿ N ÿd₫iưÔüPưøưÖ₫î₫y₫~ưyüüüíü̉ư¸₫₫₫ö₫É₫Ư₫gÿÍï²²–æZ¶±è¾…mÈÍÇ „$¿ÿăưư\₫ôÿü đÿz₫gư6ưêưÏ₫„ÿxÿ ÿ^₫ưưñư₫₫¯ư^ưíü&ư„ư=₫‚₫s₫ ₫Èư₫ñ₫´ÈBÑÿßÿ«qb–Q–ÿ›ÿâ{wÚ]‰ “Â:ḍ\†ÿ€ÿ ?ÿ°₫₫ó₫gÿÿ>ÿˆ₫ưư©ươư^₫Ö₫É₫Y₫“ưæüü¾üNưÈưC₫L₫e₫O₫₫û₫™ÿNN7‰Sn)YnÍÿön™GAGf.2­âđÉ‘!˜›ÿÖ₫+₫\₫ơ₫×ÿJÔÿÈ₫Dư¢ü½ü&₫‘ÿƒu₫ü/ûƒûºüÙ₫ñÿ̀₫VưŸü ưÆ₫L\ßôÿÿ₫2ÿzH噯ÿÓ₫?ÿG4­6'˜¬‡ư³̃‹¶_\Pÿµ₫¹₫Eÿ¸ÿÔÿYÿ¥₫₫đưF₫£₫ï₫º₫^₫àư¬ư¾ưöư2₫₫íư”ưŒư®ư+₫₫ÿ4ÿLÿ{ÿ¿ÿ.‚¿ÂÆñLÀè¸o7WÛaBëIwƒ—.ÚÑ­ßÿØÿ(˜‡1ÿx₫4₫Z₫à₫Fÿ‚ÿTÿö₫t₫ñưưGưUư˜ư(₫¢₫å₫µ₫)₫”ư3ưfư÷ưƠ₫†ÿơÿ øÿíỵ̈ÿ)hÜ\í4 ]vîÿ 9¡¿Úùn/Óç œÓÙ* ‹¯öÿ6ÿÖ₫Ơ₫ÿIÿ8ÿđ₫˜₫ƒ₫¥₫ê₫ê₫€₫Àư ưÔü>ư!₫ă₫#ÿ±₫íư`ưtư.₫)ÿ́ÿ&̣ÿ§ÿ›ÿøÿ”4”©‡T;7Of‡µù?\@̃z6>p‘|´c^nm%°ÿSÿDÿ—ÿóÿŒÿ¹₫ơư¦ưéưt₫Ô₫Ç₫P₫×ưœưÍư ₫V₫B₫ưưçư₫₫ÿ~ÿ™ÿ°ỵ̈ÿ\Ơ ạ̀̉7ˆºó'k†K²äacØR&Iÿ;ÿ¨ÿ8r6»ÿ>ÿÿ(ÿZÿ_ÿBÿÿÿ7ÿXÿoÿDÿ ÿÏ₫Å₫å₫ ÿ.ÿ(ÿ ÿÿ!ÿ8ÿDÿCÿ(ÿÿ#ÿbÿÀÿNG0.Yª¶ØAU>ØöB¡YÔ_1DŸ£u5̃ÿÿ:ÿÿ9ÿ|ÿÊÿƯÿ«ÿOỵ̈₫Ú₫û₫Sÿ›ÿ¹ÿŸÿfÿIÿLÿ†ÿ¶ÿ×ÿËÿ°ÿ«ÿ½ÿñÿÚÿ¶ÿ®ÿÄÿôÿ/+) ưÿëÿüÿ!d–§[=7[}™tiO1!0.ëÿĐÿÉÿĐÿÍÿ¼ÿ¢ÿ—ÿÿ³ÿÅÿËÿÆÿÀÿ¿ÿ¿ÿ¿ÿ¿ÿĂÿƠÿ́ÿưÿóÿôÿùÿÿÿ üÿôỵ̈ÿơÿüÿûÿ÷ÿ÷ÿ   ÿÿ  üÿøÿùÿ ÿÿùÿ÷ÿùÿüÿ₫ÿ ÿÿöÿ÷ÿúÿ÷ÿïÿéÿëÿîÿ÷ÿúÿùÿ÷ÿñÿêÿâÿßÿäÿîÿøÿưÿûÿóÿíÿ́ÿïÿøÿưÿ   ₫ÿúÿøÿúÿüÿüÿúÿ÷ÿôỵ̈ÿñÿñỵ̈ÿñÿđÿñỵ̈ÿđÿïÿîÿïỵ̈ÿóÿơÿöÿơÿöÿùÿúÿüÿ₫ÿ   ÿÿÿÿÿÿ₫ÿ₫ÿüÿüÿúÿøÿøÿ÷ÿöÿöÿöÿ÷ÿöÿơÿơÿöÿöÿöÿ÷ÿ÷ÿøÿùÿúÿüÿüÿüÿüÿ₫ÿ ÿÿÿÿưÿ₫ÿưÿüÿûÿùÿøÿøÿ÷ÿøÿ÷ÿøÿøÿøÿøÿ÷ÿøÿøÿúÿúÿüÿ₫ÿ₫ÿ₫ÿÿÿ₫ÿÿÿÿÿÿÿ₫ÿưÿüÿüÿüÿûÿûÿúÿúÿúÿùÿûÿùÿûÿúÿúÿüÿưÿüÿüÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿ₫ÿưÿưÿưÿüÿüÿüÿûÿưÿüÿûÿûÿûÿûÿưÿưÿưÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿ₫ÿÿÿ₫ÿưÿ₫ÿ₫ÿ₫ÿưÿ₫ÿ₫ÿ₫ÿÿÿ₫ÿưÿ₫ÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿ₫ÿưÿ₫ÿ₫ÿÿÿ₫ÿÿÿÿÿ₫ÿưÿ₫ÿÿÿÿÿÿÿÿÿ₫ÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿ₫ÿÿÿ₫ÿ₫ÿ₫ÿÿÿÿÿ₫ÿ₫ÿ₫ÿÿÿ₫ÿÿÿÿÿ₫ÿüÿ₫ÿưÿ₫ÿÿÿ₫ÿ₫ÿüÿüÿ₫ÿưÿÿÿ₫ÿÿÿÿÿưÿưÿưÿøÿúÿüÿøÿûÿúÿùÿ₫ÿ₫ÿ ₫ÿ₫ÿ÷ỵ̈ÿ÷ÿơÿñÿưÿüÿÿÿ ÿÿưÿüÿưÿüÿ₫ÿûÿúÿưÿưÿ₫ÿûÿưÿÿÿ₫ÿ₫ÿÿÿưÿüÿ ưÿüÿÿÿưÿùÿóỵ̈ÿíÿñÿöÿôÿ₫ÿ  ưÿưÿ÷ÿüÿúÿ÷ÿñÿüÿøÿöÿóÿóÿóÿúÿ ûÿ²ÿ₫ÿ ›ÿ_ñÿÚÿx₫ÿn1åÿÛỵ̈ÿÁÿ¤ÿÜÿµÿ´ÿÛÿîÿ;/Y%,,øÿüÿáÿíÿôÿäÿåÿÜÿºÿÜÿûÿúÿ$-3*." ûÿöÿ́ÿéÿƯÿÛÿÖÿ½ÿ̃ÿÛÿÚÿûÿ "!):*7 úÿíÿÜÿåÿ₫ÿóÿùÿôÿîÿîÿñÿûÿæÿëÿùÿùÿ₫ÿñÿ  #PLÄ₫c碙ÿ ÿư₫U₫íüÈüCüúú„û„ü>₫îư÷îZT Áwñ“ö₫#ư]ûqù́ùàøùóú¯ümư¢¾‰A ­[ '1úEø¥̣Rđ9́Áễç>ú}đpûÙÿmă–óG€9N Ï₫4ùơ2éIç~êƒáơéüđ=ïÛü¢…«÷˜Øwtæ™ûpóê•è̃ߦßá̃̃¼àîç̉0ôCt èœ4Ë-³%ø0«"̀ñOéïøèâRÔ2ÙiÜÍ×ûê,÷³øiÂm`+u ƠỶù4ô*à ÛÓÍ̀rç©Ø‹ñ Ö́ -%Ú3ä6&$¬Y¡ö^ôMÜ”Ú4Ü1Ó,̃ŒèF́çû¸ ”ùO † OLøôöZê_ụ̂æôy%óŸ û í$@ 7É ”$ÿ“èˆè9å°ÜZäqçíơñü=B¶¤ÂÀü¾÷Ûó¨ñ™ḯ̃ ­ :ˆ ëi]%ƒ¶C ¶Lö3ơ©å#åoèˆätë2öCö¨£đ‰)üúøăđ²îqç×åYÎç¦t«'Å($·+±,|F›₫Í́SđIÚÙá«ÙïæËđ;öÓđû ©;êsûZ÷Yïéç¼åyü*è]Đ<&đ&ă#ß.†+¢ ü<wïÚï8ÜÏÙtàÙ‘ætñ2ôÈIơ®»®·ú\ö í çáâûŸç ÿ^ÆÅ(í)&.25.È#ơ_—AîdîHÛàÖ ß×Wă³î½̣3ÿ`µj¶NĂúZønđ¶é5åĐư=îƯưÓƒ%Å-±%I.{-7 $·ư¢ëë†Ư¹ƠWá}ÛĂăôó₫ô_¢§9¯ÿ"ù²̣Sí çøßŒúwđ‘ûDÑ Ë'ö2-2~0%0å h₫dé-æEÜ̉!Ü»Ú{àûđHö4₫¨çt/Í\úxó»îÛçÅ̃rö„ơèô¥ 0"56‡.Å1ç/¤(=ê ™ºèàâ¿ßlÑËÚTƯáàï*÷%ÿ̃W^Áù´đ$îTèèÜơmùºôö _"8Z3_1á0(K”₫̀èÅƯkß̣Ñơ×¿ßøáÆïKúÇ¿)Éø̉î́ çnÜí\ươóKô @!„8 :t2Ă1[+¶_ÏüPëjÙĐƯÔÔcàEăœîÍú"ˆ ~Đưû‘îåëơæẵÙâü7ø¡ À%"ÿ2¶<8Ø/H,îy%ûñÛ ÙGÚ Ô.ƯÑæîŸ÷k¿) Wbûùđ éÍåăÜŒđáÿ”<-Á,G< ?›3r*r#ă–øúñ;å¾ÓÔÙûÙÖÙgåªđö«ÿ­0µé¢ü¹ô‡̣ÜèƯă;ẵÍä–ÿ#®.1u9 @ö:Q-ï"«ÿîÅèÔØöÓßÚMÛâîg÷ç₫íÚ Oø=ö*̣Á{ă´â{á!̃ơï$n ₫ K4„6i;•>86%)<ơ”épåƒ×ö×̃̃káèx̣ûûjÿ¼‚ë±üöù‘̣1ï9éoåQå­â¥èâÿ’ ºF,6y6$:o7ê)N?*híáç\â¯Úà̃ÚäôèïWøjÿtüöûù@ó¨ïíïçTèàéẹ̀½ÿq,31÷2Ë.m!đâ \₫Ùí<é#çơá˜åüêqïÔóÙø³₫₫ưZưVù ơ=̣±̣}ñîî¼ï6̣̣§ơ¾́v Y%b$‚# p:Ù›2ù¾ọ́‚đŸđ¹ñó¸ơ–ơ/÷áùø÷ŸùKúƯø¾ùrû`üµûư ưüưs₫AÖRÓđ µ º a <·•j'sơ>ÿ₫Vü3û•úæù]úˆú,ûđûôüî₫₫ÿ˜4_h₫cưjü4ûú ù‰ù_û:üy₫“cÎÏóKLăSaÄ?Éÿ©ÿÿ°₫&ÿ˜ÿ¼ÎÄÄéØÿØ₫¨ưFûfúªùĂø³ù±ù ûóûUư½₫çyJÔ™C¬»Íéÿ ‰æ¤¸̃Beœoæÿ₫<ưQü üáû’ü ưäưÿ  ®^.Fÿ ÿb₫ ₫lÿÿíÿçêơ=á`OY5ÿ₫Xưư¡ü3ư×ưă₫©YVµ/‰Ä™ÿ”ÿ ÿÏ₫ÿæÿY ¸E…>äo¶₫Ë₫ưmư‚ü ü‚ü,üáü[ưØ₫LÿÊv@£*Ơáÿˆ}=]º~7HSƠÿÄÿç₫!₫ÂưeưƠüÍüưËư8₫ß₫æÿĂp¸Ø¤´Đÿ¤ÿÎ₫y₫•₫ ÿ2ÿ.úư¤@ L­̀ç₫₫Ùư§ưqư†ư[ư6₫Å₫Nÿæÿ¨'©Q4Íxÿµ₫₫₫S₫¥₫hÿ»ÿk{₫aKÍ+?Lÿ¾₫Æư]ư:₫€₫-ÿ×ÿAe ®>Ûÿ–₫â₫%ÿóư¦₫)ÿ¬ÿ₫ÿơÿGglL2sỵ̈ÿƠÿ®•KÎ&ùỵ̈₫ÿuÿPÿUÿJÿFÿ»ÿÿI†ü€‹+Ïûÿ~ÿ ÿ ÿ(ÿ]ÿAÿ<₫f₫ÇÿÖÿ²ÿEíKXÆ ?=]îÿyÿ“ÿÁÿÿÀÿJÿ#~\^ÿÿ¨ÿÿWÿÜ₫eëÿ’ĂÿOv₫Ê©ÿ€ÿâÿ›ÿJƯCoƠƒT₫‹₫ø·l₫ưÔ₫!₫ÿLÿê₫à₫ÿ­ÿ3{ơ]Î=ÿa₫ùøÿ7êü?û1ü₫®₫üû/î?₫í‹[„ZWê₫ûÿ₫¹₫üY¾₫ëư¹÷₫I­¾ÿÁ¿Bư‹r±ü¼°ôưiÿSÿƠùÿóươæ₫H1ÂÿÿÜ>₫ ‹₫¾ưBB₫!ü₫Èÿ¤üùÿ]ë₫…ÿï¦ÿàÿ‡±ÿ‡‰Ñư ›ưŒ₫tÿ;ÿ¸ü?₫l.₫‡ưÔªÿêÿæem¨ÿ®ư~z₫¬ưO%ú‘âựûE*ü‹øưQ*₫¸ö‚ÿS°₫¼Eơ›ÿ]PÿÈ₫ưFÿ Düîÿt₫¼ü¡ÿ ûÎüPÿ×ø8ÿˆü—ü ưŸ‹D ´¶77êÉ©`ÿ”ÿLüqúƠø₫÷Sözơêöƒôx÷d÷¸ønûÍûMt'3 ˜' U  °È ´ ' –`Îÿ¹üKùÎô ÷́đyñnóŒï¸ó™óüô ø ù̉ư…ÿÍù1‘ Á† Å[é Á K ̃ßÉ¿ựû×÷§ơçó¯ñLṇ̃đṇ̃́ó^ơ'÷ÈùæưqÿÚoz å C J<ưdd ² TèkËü‰ûRö/ô ̣đeï¸ïdï#ñ ó[óQø&ûGưŸó h E$UÜvÙË ‘ »“₫&û)÷ômñïÊíßíEí ïñ`ñ¡ö$úñü…Ç Ë7W“»!À ’ :iưø•ơvñơîïíÓëx́`́Gî^ï´ñÉ÷Jù₫Ó ½sÈëO]& gPó₫4ú(ợeî́Ië}ê5ê`́ríxî¥ö¦÷üºS ƒ5—ˆ­vÊÓ å X₫Äúụ̈ßđ&ígéæé¾èçÓÿéyđkööƯ#¨ëµi@₫ï‘q đÄÿhü!öđîséuçYèyåé\é́ÂơNôÿ¤̃;¿Ư«4î¹NÜ@ _;û›ớî|́ÉèZåMçˆä¦çùç&ídơô$Ël»àÎȬYqóN °Iưµø¡̣ëêËåïâ]åÀă­å+èợ‘̣û†6Û~dôúದ Ô½÷ôF́]çăæàáRâ ä{ăkạ̊đñ$ù… Pđw_¨¢"bŒE ƒ]₫÷ôÚđ®é ä©ăvàß•ă â‚æ3ö²ñ`G L RăX$É"à‘¹ÖN*ù îv́*ä¨ßáƯ\̃ăàăñ³ôùü¦ &¨"§B%')!+ưÇ/₫úḱµè«äØÛđƯúÜ\Úâ˜ßxđwö¾øák±-'O"B' *8"' E„ˆçúäøcéä“ăæ×°ÛíÚœØàÍßmơ…óE¸ L+$́+Œ*b"tđÿ)øăóéáÈâh̃Ô’Û*פÚ4Ứèö öï³+x*5'.¦&ZGµ"Êơ€ơöç®ƯÄàđÖjÖZØÚdÚKê†÷kö›Ï)=-Z)r*D(ßöœ̣LóZèƯ€̃"Ù–Ö‰×&Ü|Ü ïÂ÷ưưç> *,Ê*†'4$# ¨ ³ư,ï‚ï«âJ̃EÛÙØtÙ1Üôåø2ø7 m-f(:-X+á(}$¥û®F/ïí`æƯEÜVزØ-Ù(Üâ÷Éú„†́w' .T./*V#Gd.eđèBåçÛÛ¸ÖÅ×®Ù'ÛŒâ§ùƠüà Ùz"*`/22Ö+¸"ă´5ưKî äÇ̃UÚ–×ÿ̉ƯÔúØYÚåMưS+±#¤)(/€3½4-Ö!ÁG₫ơjêáß9Ø%×^ÓIÏxĐ½×nÛYï•₫ÏÆ'16É6D5ß*ø ó‚úù́$â±ÚµÔwĐ̀Í1˰ÑäÔ{æ¹ú\(I'¬0­7=:­9¢0¶$¿ _üñBä*Û8Ô’ÎỜ×Ç̀;Óœà.÷̣~́&‘09N;=;+3̉&è8ĐưUñCåŸÛ‘Ô0Í%̀5ÈxË®ÑmàøQº(1G9K;9;Ø2R%˜ëuûÈđ ä<Ụ̂ÓkËëËÉÇ₫Êb̉£åèùˆ\/+"4·9‚;¶:*0"§l Ñ÷xí5á•ÙrĐĐÉ£ÉäÇ̀ÑÖ¸î₫& "K0í7Ø:+;8~* ®úụ̂™ç×ÜûƠ&̀®ÇǰÈ/Ï©âÄ÷…Q¡*;6Ó; ;f:°1v"b! ~ùźàµØ Đ-ÈÛÅ&ḈËSÚeđ¤q¿$¡2;2<:>5'w-\₫~ñräøÚÓwÊĂÅ ÆrÉ—Ơ"ëÀû Q C.§8w;69Ï6¶)5Ñ)ö*é4̃L×l̀1ÇÔűǪÓÖæ ø±Ëù*6S9c8ß5@*jÙ¦zøŚbáèÙÏ–È!ǹÈjÓkæûö(BƯ' 4ê6]5<4(Z?TíùÏí3ă¸ÜÑÖËÊÉóÊK×öçøÊE&³03˜1[/:$¥ñSúŒîmåGߌӲỊ͔̈Ϫۦëbú w2# --.³,0*i€®/Iù¬ïDæ7ááÖ!Ô ÓîƠTá»î²ưm ¯l')é&£#óûWÙ³ø(̣Àè˜åăƯêÚwƯ'̃ÎêMñÁüêí [I.=Üv S₫²ùö¬ïî”́ǘrï!óFöPù̉ÿà™ 6 0® ³ˆư©X4₫~₫Óû«úäûØùAúËú›øçù¬úú‘ü¼ü”₫)¨C$ -‘i<‡-îơ₫ ư½ú5ùgø£÷×÷›øÆùÛû₫ƒ Ï«™ÄQ™/³ÿÜưßûú7ùpø±øJùơùÖû{ư^ÿ„!xŸB…í í“´₫8ưüüú§úiúÔúyûüƠưÿƒ¤̣‹Y·uO“ŸZư₫åưÜüRüÖûÊûüư¢ư¸₫̣ÿÈ„e7<ÀMºØ·ÿæ₫öưư ưwü›ü£ü‰ưĂư¼₫¬ÿéÿu„—AèK®ÿ|₫6₫Íưàüư ưưưư:₫Mÿ©ÿ¼S*~ đ“À@B“ÿ ₫÷ư“ư7ưWưdưÓư)₫ô₫¶ÿ+| X’gÄçw­ÿÿu₫₫íưÄưÄưB₫À₫>ÿüÿTÜ EXaMÜÄM«ÿ2ÿÿ¶₫Ñ₫º₫ÿiÿ̃ÿZuóÆ×™Vj/*" )ƯÿÜÿ§ÿˆÿÅÿ€ÿÖÿµÿÜÿúÿêÿ\’ÆäÂé»5–ÿ<ÿÿó₫'ÿÉÿÿCÿmÏ₫ųI₫ “ÿo₫9̣₫́ªzÿ¥₫öÆ₫‘üÿûáÿƠ₫̀ÿ pÿÉzujÛL å"WÿˆÁ₫>₫gưgÿ₫ĐưñÿöưÁÿÆÿ½í# áRĐÿóÿÅ₫₫ưßü¢ûMüuû*₫₫ÿéÎ=%ÿß$È#cê†ÿ"ưùk÷ơxó;ơTôöúhüƯK ÄνClá OđÿØ÷¹óïMêÆèĂævèĐí9ó û†µs ‹r–Èl9´ ú>óÔëää^â„̃­à¹ăÿæXñÁø\́ Y?k?!Z EWl—ư¼ó¹́IæLàx̃Ưx̃›áwç¼ï"ü§@,"¤"§#qh® ÏüügơËíéÔăưßưỮƯ âLäîêôØ₫E ô-ˆ"¹$™"ÑSê z ü”ó1íâçäLà’̃b̃áå<êfô·ÿ “Â?ó"®%‹#0Êä’‰ú¶̣Ǘçä9à.ßuß¡á´åIê ô)ÿâ ³s­₫"%/#ê”LQ×ù¡̣!í3è æiă¼á¥áCă%ç ë-̣×ü $„H& ²"["»>îùFô£î#ëơè+èQæ}å&æ”èTẹ̈î|ö *#°ál_ ñă1¦‡:ü†÷Üñfî́́ÚëPê·éêØë{íØïh÷©¶r‰:zó€ù ôÅưFú¸öẸ̀[đ>đđóWïƠé_è‚æÂèDç¬̣zÊ-+1,â%̣!‚9Œ̣­íSíôCù;úé₫cºä₫~ôníóçæĂåÅâËăöơ½œ.r6Í.3"{‡ )₫.íå9́öúH6’ƪçü·đÆçÊăå¯äAâ‰àZçM …0³A;$Å<ơôTêÓæwớ ;8;ưóö#đøêùè»́öïFëZăàOà™ù”#*=)>½* ơî|ị́÷" &· Ôù*ñ́ ëđÉóZö̉îââiƯƠá³ê¾e-Đ?*:|!cöÈïŸđ́ö~?6Ù9™íjè÷êñÙ÷́øêơÛètƯṽKåcđß24qA4‹wú?đÄñ.ù¤Lû8Ù ÷áèè„ïÍø·üºùNñ-âĐÛƯâÛ́8ô] c/¥= 4µyơæïCö) ÷ ÏZö'éX́ûó°ú’û0ơ÷î’â*ß¿ạ̊ ̣Ï$•:̉6 úĐóøÙÿe®„Ô ›÷ḱ1ï§ơ±÷Óú†ơªóÎè=àäuîơgñ f-‡=É-A jơ,øưa!ơ »g«óøïjơ½øƯ÷ø,óLïŸă¬áJèïô?ơ²óƠó1Z;9%tù)û÷üư₫ÿú:Dëôơóö€ơXôÆógñZîƒåæÚíÿơ’ó'î" ´/¥9Ë';,ư©üQû9₫6¾́çöµơ*öNđhïg̣̣—ïDèÚçîíóPóóí*»8`- Ođúû®ÿ1ôÔ øÀôØñî™ñHơ”óIî†ê…́¬ñÓóÓơ đêôWp/n5\#- Èo₫ÿøœ÷^ϤÜügörơñđ…ôäơrơñ'đF̣Ùñ3̣gó©îFøíä0‰5}!¼«Íø£óÈóÉư¤â ̉ÿ÷ÈöúđYđ6÷ưø}øăñóîăïÄîñßôP̣ÿ !)̀)Y  ùeơ'ơqy gưNơøíñđú÷;ùø.ó‰ñÄïjí đ™ộºöGÏ*₫.¦‡ ëZüfôỆñÿp} fÖùÓï—ï¦÷ïùØù₫ñÖđƯöƒíeîIóFïóïÇ#̃0UÛ£ b÷wí%ú Ơ 6 äoaï1ñDôvûPö0óQ÷©ôíŸḉtộüƒS,1'ưz œ dúƯñYöÚă· Ÿ º ˜œø¬ị̈̃ï÷uơÇ̣ŸóŸôñ%ê½ë†̣zôÆđº ¤&,)Â!uœSÂñ^ñ²ú? ă h ‰ …̣̣ïÚóạ́ị̈óùøö<íqểđ±óñ́óöü*Û$Æ‹[ÿXđÀóæl] H 7ùñ)ôuñFîxñÿú@ûÿđRêß́qđ}î”í†$¤#4Çê ö-ô2úJ₫~/«Îđøiöỵ̈ï9ïởø™ôđÑíkîÔíí$̣¸ !¡"«ơƯ È÷,ơUøåûä₫¹ )7 èæü‚úéñkëTđ°ôơẠVïÆî́”íˆî?úM|‰"´"'BËùƠùüößùóc k È0éÿ„ùIđ,ïṚƠñ0ñ½ñđ6íGëÆđ´ñ6ÿ2 }"d!"#Üÿ…₫#øßôÿ÷œÿ5 ÿ‡àùññđ îVṇ̃[ïFíJîP̣ađü+E/´!‹#ñ!ÿù‘ó₫ơÓ₫Ç-Á9äù(óAôëï^í˜ï±đ©í7́Zđ-̣Dñc 1ËÛ®$Ø$ 3 •÷q̣“ơø₫l₫ưÿ ă†ÿ&û¤÷]ô1î¿đ´đX́ǵǵœđ…î₫öqÀXË$Ÿ&ƒ!œ ₫/óôëóqø_ú £ĂưBø}ôQñ¾̣êîV́êíúëæîó́ŸÿxS°"I%©&d»C¯üáô3ợaơE÷h₫ád₫·›₫°ùí÷ÿôŒơ‹îLí[ị́ë±ê‡í€ yk#"'Ù#ANÖ ÚưIüzö[đµñ8ö±øæöhưH₫úUüÍûúâơ'̣•ñ=ë‡́ÍèMö–zÇ•"Ï"Úủ 7Àó"̣Éñ6đệßó0ø4øùyư¡ûSû&ù´ơṾđJíöí 1~ ) Ö·”  ĐÿíöƯơ&ñ4đ¹ïẈ³ó9ôù˜úơú%üưøœ÷çôẹ́îtùÍư)wüh¥T[¡‡ å₫~₫Ưø9ñ\̣ÿïïïïRóƒö³ö ú^ûQ÷©ø¯÷Đñ!ôªDưĐpúrXËkÜô¢»¦ø%ơó7đïHïó¨óæơ¾ùUø#øêø+ø×óÑøË"ưÍư  £?~QỎ ¬j û¾÷Yợ±đÏïóßóxôø1ø¥÷-ùˆø%÷́øÅÿ‚+ L ` Œ>Yne* +hÖúưùaöïó¨̣1óQơüóRöºø÷øù)úÙúOú$rÆ# Ö v - a K • î¶,₫üñùø÷‘ơ÷”÷ùöùÔù1ú0û́û&ư|ư±ư$±-­‚÷”.‡£–̀ní₫“ưŸü|û—úú˜ú3úû̀ûàûaüDưŒư₫̃₫nÿvÿÄJPâo™Œm¥ivÉí¤ ̃₫Û₫ÚưX₫ưêư₫(₫»₫½ÿưÿ   ™,[ÿ£ÿ₫êưËüDưåüưlư₫êư»₫Nÿơ₫]₫ÿ ̃•Ÿ́î&5N_ Bº}²‘̃ÿ€ÿ,ÿă₫Û₫₫̀₫a₫‚₫d₫P₫W₫m₫₫æ₫,ÿVÿÂÿÚÿ^+­q™¯``È‘b,ơÿ¶ÿyÿQÿÿƠ₫ä₫ê₫û₫PÿrÿĐÿ8g€qƒ–¿yeBÜÿ¶ÿ¶ÿ™ÿ ÿ­ÿ”ÿÿ‡ÿ[ÿ\ÿlÿ…ÿ¥ÿçÿ;{™´×àǾ©¥I+ áÿ¦ÿÿˆÿ~ÿ‘ÿ¦ÿ›ÿ«ÿÿ‰ÿpÿwÿfÿ€ÿ§ÿăÿ;t™¦›~Ú¢éÿ–ÿđÿuÿæÿÿ´ÿóÿ”ÿßÿ]ÿÅÿuÿwÿïÿ¹ÿJ™h¬¬Ó±ĂiJúÿàÿ§ÿµÿ†ÿ†ÿÿ‹ÿ‚ÿ‘ÿwÿyÿrÿzÿsÿ›ÿ´ÿØÿôÿ^q•±Èμ¬vQêÿƯÿÜÿÎÿÁÿ¸ÿ¤ÿ•ÿ‚ÿ|ÿmÿmÿwÿxÿœÿ¤ÿñÿöÿ/=\mXdF`,9+& )-$ ÿÿ ̀ÿÊÿ·ÿŸÿ™ÿ¦ÿĂÿĐÿçÿưÿ*313/%æÿăÿíÿïỵ̈ÿ ₫ÿ₫ÿûÿëÿđÿăÿçÿ₫ÿûÿ₫ÿưÿ 49::<$ ëÿíÿäÿïÿâÿƯÿ̃ÿØÿ̉ÿ̉ÿ̉ÿÇÿßÿÚÿøÿÿÿ%>59:8 èÿèÿéÿ×ÿàÿ́ÿôÿàÿäÿæÿĐÿÈÿàÿñÿóÿ ùÿ IWI+÷ÿøÿóÿíÿóÿùÿăÿÅÿ̀ÿ¶ÿ²ÿ¶ÿƯÿóÿñÿ>+ C N>óÿHïÿ%Ëÿăÿ½ÿ»ÿ·ÿÓÿ̃ÿ¥ÿ´ÿ”ºÿFsLá₫£üc.ÿ­₫È₫ƒÖ₫uÿ ₫DÖ₫›ÿ(û°üA ÷ûáJ†₫ü‚ăư²ư‹₫3₫KÿŒñưØÿ¿ÍÁåÿ~>®Œ÷ÿ½Ïÿ–ÿƒÿ‡ÿôÿæ₫ELÿ™aÿ5 àÿU}ÿ.¯đÿn‚Ă„í²R-Î,E üÄùƠư©ư0üäư Œühü¨ÿ/ÿ+ü₫èÿ»äÓ.`₫rưô₫²₫ß₫UÿI\Ÿ¯uí̉Jè4q+ö+yÿ¥₫ÿ»₫,₫JÿBBưúü'Yÿ¤ü ₫—₫₫U₫ éưQÿÑÙÿ’ÿ¤|„ ×>( íä₫»NOÿàûÿI₫úúûLưü5ú ûE₫HüÛù3ÿó₫Hư½ư¾ ÓlÔbB6 ÍÏb‰óƒŒ^6ÿ~₫ŸưgúVø+ø¼ø+ô/öç÷†ø÷ùÖûéûØûÍư…É₫¡[4Ƥ‡ Å: U  ¤_÷ˆH K̉ưă₫.ü!új÷,÷öÚó©ó«öCơơø­ø„øÏ÷gûZûû|₫†¥b [; ¢‘ư4 ơ 8‡îÿÊûúgù)ø+øZö&öëöøô0ö6ö^÷÷(÷–ø„÷÷ ÷…ö×öå÷–ùuÁå̀‹öø̉a æªùưđøzôŒ̣@̣Ụ́óĂơÈø€ø ùAûNù.ù=ùƯöwöàôḲ,̣dïñFóô³F t> #ÿ!Í!#7[@!ü×ö¼ïáëƠéëKị̈:øư ™;U©ư€úø”ó₫đîNë»éøèÙ́#đ°÷:%#*(t+—+‡'D!ªơ øxñêê"æ|åÍå₫é!ñdøVÿœvP “PĂ₫áøẠ̀îVëñæMäXåçăêWñưư< ©!Ë,/̉/m.Æ%•(û@ïê#åâà3ăæùëÑôWư¦Ï q»’ bÿöEđé?åHăñà â9ăKé©đ×øă  C/4.3—0n(â ụ́:ưVîLæåă‚ߨáÊâÿè_̣©÷_Á̃‘…—RŒư©ơĹ%åîánàBßßËâ•ç€ï”÷ TÉ ü/É6T4„3O+:!-8lünîVäBâƯœƯ¡á.æ­î«ơ¶ÿÓ ₫©zîNÚKư°̣‹èäµ̃½Ü°à=̃jâ°èHï°øÉró$Y+M9–9ï/‡+Ú!§OøÇïCâlÜƯƯ¼Ü%ß[æmîè÷wÿ Å›» Ôü€ñ2çoáFß̃ùß—â]å˜ê1̣›ød£Ê!û'½5d4ơ-(tªóiøñâ ̃%ß3̃úáçæ»ïJøăư+½X•h³ ơ´ö¹́æç‰âKß©áăOä2çDîơOû{Û6Ô,|20ú(È!ºA ©ü¥÷Æê–á¢ß8̃çàˆâ–èạ̊Vù\ 2ë;¿gW?ØüṆ#é¤ä±ß+ßSà>àùäwç¢î‘ö¬hnÚ$̀0́.4,Ö'Ó úÛ₫Jơ6ç{âỄIƯîß]á"êTóƯøÂ@ P 9<˜ûóñé<äƯªÚßîÜ=ßÉå¬́5óGÉu ç* /B-($ëĐ}üèđé{â(á́àà£åݶ̣ùû ¦ ̃!ö@ĂĐÛ¼,üṇ<́̉ä1àˆàÎâËâ¸äÇê¸ñ%öÿ¢ h/fD ’~À  ‰ÿJúôđöî΅J́„ï’̣Óönú‘₫[%¡ç  ²7]ưsüûÊùAù÷̣÷É÷ø(ùNú6û#üxưÿu¨ø*"O³©cÔK¢óSäX+SUs¥”pD¢W°ÛÿÿC₫…ư°üöûPûÈú<ú¾ùZùJùIùlùú±únûrü‡ưÊ₫Ơÿº̃¸k̀Q*)É bJYP£́ v•|Nàv›¯̉“ÿ(₫ÍüœûfúPùºøø¢øùơùçúôûư ₫̣₫Áÿ`¤¢jÿÛ₫†₫-₫ÚưƯư₫Đ₫›ÿöFl„pT3́VgAÚz+ÿK₫‘ưư©üªüÚüưRư¿ư₫₫Ë₫ÿBÿKÿ'ÿÿå₫¨₫L₫₫đư³ư„ưư£ư·ưêư1₫₫è₫3ÿ¯ÿ YÀ)Ơ0ŒÏưBcZS"Êgébêr"îÿÊÿ¹ÿ«ÿ¸ÿÓÿêÿéÿñÿÛÿœÿ^ÿ(ÿÁ₫T₫́ư˜ư=ưñüÔü²üĐüÚü2ư‡ư÷ư₫,ÿÚÿkñk´ëûا[Ñ—„w¢Ưf±é88ÁhéRĂÿ+ÿ₫₫¿ưuưbưeư˜ữư1₫¯₫%ÿ‹ÿZŒ½¶»L(¹ÿEÿUÿ!ÿ¥₫¼₫x₫Ó₫ñ₫|ÿæÿ1á#¨ĂRÌ·÷ LSwÿˆỵ̈₫GÿMó₫ƒcÿ„ñÿ”mVl¨ÿÍÿÿYÿÑ₫ß₫Ö₫ó₫Ô₫í₫ÿcÿiÿÅÿ̉ÿ :17+ưÿ ûÿ&2s•Ñô)5G93 ̀›T °ÿÿ-ÿù₫%ÿÿÿ'ÿYÿjÿ„ÿÅÿÛÿñÿ>"8ÆÿÍÿsÿÿÿÿbÿcÿÿµÿ₫ÿJp‹¥¾§„n›7P+ ñÿåÿ̀ÿ´ÿ¹ÿ®ÿ¯ÿ¶ÿÎÿæÿÿÿ ÿÅb-–IÏÿ«ÿ{ÿlÿZÿDÿ‰ÿÆ₫…ÿlÿŸÿ÷ÿ YS ŒÀ_pjèÿ+ÿ½ÿ‡ÿ¦ÿ¡ÿ̀ÿëÿ.Q†¥¹lœD<7₫[ÿYÿÿ†ÿ9=ÿÏÿ®ÿÆÿöÿ=Æÿ(’ÿªÿDÿ¬ÿ ü™ư.&ÿ‰¼ËúŸúp Æ)ÿrª₫0øG₫’¾₫vú:ÿ“¯ư¸F¯xx!¤Ÿ₫ĐÿEIÿè₫Đÿ‚ÿmÿŒ₫L3A˜o>øư û?ÿFưyư‹ü&ûÓúÅ÷qø úªúdúkÿ?ÿñzª“-PÏnWS "åÿÙÿñÿ̀—ư(–’đQwwÿN±ưAtưû̃ưùù₫æû±ư¬₫FÿÚư€ÿóÿ·Đÿ'¢₫ÍP“ÿÀư/₫đüØ₫Ưÿ^F₫€¨³ưÊ5Èÿ¤ÿRÄư_Àư†$₫ÿ˜ư!ÿ3ư¹M₫«₫Ë»Pÿ˨ỵ̈Àÿ1Láük|ÿ­ÿÑ1₫éN,’ư©xUÿÛ₫ÿp₫₫“ö₫‚ÿÿhJÛ¢ÿD–jÿO₫Óÿaÿ¿ưüÿÏ„₫™₫èXtÿ_¾ÿïÿû˹₫J₫`Bÿ8₫edZ~Ôÿû~ưiÇưüÿ̃ÿưøbÿÓ₫'ˆÿ\H}ÿ«4fÿA₫ªÿ‹RưÀ₫)₫«ÿ–ỵ̈ÿ  ÿ,̃ÿÖư×}ÿcj¹Rÿ“eq`éº₫BiÿÛ₫Çÿ7ÿéêÿ°ÿá₫¦ÿ8¼ưÿêưzü₫küÉưưUûÿ¶ÿ}ưÏ₫È Í?̉¦›̃Ö’đŒ›n®ĂÿÆE>ÿÿáû₫ïüíü‡üsø¾÷°øÑ÷Ø÷Z÷¾ùÄûpúTümư£ưÿÿ”ÿÙ·¹ Ú `Eö è»  ¸ x 'ñÀÿ¶ú°úöÅôọ̈ó ơ£̣Äô…ôøøø÷QüĂû©ư‚₫…yÿñùö= ̉)ûs 3  ÛIv₫àûnøó²ô4đçíÍđdđNñó]ôOơ¾ơ²öÅù#ûÑ₫,ÿ8H—ÿ““‡`¦, 8 ³́Tíh2”YV¥ÿûú¸ô¼îîºî÷îï ó}ñ˜̣zôUôáö8ø6ùGưlưv₫lPÿ–]B J¾I $¢₫¥Sûơ  ”êSÑÁưaơ•ñ(îùézễé₫̣ ô(ñ>÷ö[ôcôL÷=ù©ø+ÿ¶à}^ n ‰Q7‚é¯ yYrs>È ÿÿúUđÏđÍípë[î«ï¸đỤ̀đđróBơ#ôä÷ĂøƯùÉù3ưûz1>u  ¢gLȹA¢îđÜ ”Ăÿ1üª̣ÜëGî½́œ́ëị́úñ~ñ¿óYôØö öd÷ù̃ùÔùÖ1ă Ă2Ô X²C ̃Bß™p ¯lT÷Ị#ï"đí.î2̣«ï3îàï§đ{ón÷‘ùˆøÂơ'öM÷xúiÊç"„ "x Ø*tgÏÏ ' C(úơŒï'ị́¿ñ0ñÎïÂîîÛ́¶ï¦ơ2úø+ö„ôøơôơSûÙi%]$ù$#— 8₫ßÿ{~Ï 1 G ̉2ùßö¥ô$ñ„̣–̣·ö-ó5îï íë“îÔơø"öơ ösóøZ#2*#.áTgưîÿCï ÿ ¢ ṽ₫üø¬óPô½÷pöÆø§øÙó:đíQïẤÂë–ơú÷’óRñYơ«÷ t!Á¶ ]ùĐ₫~Oä ¤b₫~ùƯùÁøî÷fù$ưÄüDùÑöÜô›ñiđî¨ëẹ̀¤öđFó/$ÍUª,îüọ̈ø0, / sÿCơÉỡøÅù»ú°₫Vj₫ ûøeóôñKîîỊ́_ôÊô†ú+t#ư8 ³öêÜơqI Ă µ å ôưtñḅ öBûSûü₫`|ÿqû¹øđö·ö¼ñ ñHñlóÖô½ù#Œ/~"Ơ?'́"é¡÷Bæ ? ‡ euù’îAñ¾ơ…ø^ú•ÿÏÛưêù@ùøƒö9ñºñóÇô»̣° ³.a)æ5ùéñ:ÿæ û ̉{ó‘ïg̣5÷Dø*úÙÜÿºûÍúÈûáú~öñAđ'ñơ9ó’ .f(3¡ª¡ù:ê`̣™ÿu %X  Ơ_ôBñ‘̣ö÷àùj<h₫ùüü³ú±ơàđèîkïăơỤ́( &₫'E ed kÿïṾưîA¿ Ô 3̀ùœóạÆơ0÷+÷<ÿ¼ÅÖ₫µûAû4ö[đÏí~î_ô²ơdơ€“)Ä Ç "èö(îWøu™ } œ 5 T£ơ€ó+ôŒùö@û4̉œüÔü1ú)óđ7ïÙïçô{ñÄØ!Y$&¦1 +§ñ ô=û•w đđ ‹'ửö)ôRø7÷‹÷I₫@kôư₫̀₫wø(óƯï:ïñ—ó|ó} Ñ#¸!‰Z v₫sñƯôü8̃ÂM -ươ¡ôû÷Èöpø₫Ú èư$₫§ü(÷̣̣î¡đÙó°ô÷sÍ"\, Éúḥ2ø ₫Á7ơ• µúSơ÷„ù)öúaÿ7ÿ"₫0ü@₫ûơṛ^ñ ô#ơbóÇûfµ (%ê ùúöơÏơWưÛ@§í[;ûơ¯÷~öbơùÏưå₫¢ü:ư4ù3ôuđỆôƠöỌ́Rû ;16 Søbö[öE´±¬¶û÷8ơÀù\ơơùªÿ«Èû̀ûưú;÷Ợ˜đGô¢ö™ơ€óC÷ư°ơ¦ü˜÷­ø b 5Ø2ùËöBùÅơơù˜ÿ3ûû`ùCơ›ñï‘ô,ö%÷zô·₫{ˆl|q–ßûéûÅ1ë@Zˆ̀ùFø˜û̃ùĐ÷úøwưn₫ûPøĂ÷uö́ó4đNñ^ơIöờö(̀¸Ó̃¨₫ăưh₫ ₫́Î~]ÿü¬ü)ư=ù~÷Ûù4û̃ùÅø¶ù§ø¨öÄóàđZñ@ôpơÇó¢öu Th¿A°a ‚ưư†ư-ÿßă^€₫g₫GưRúø̀øöú%ûø̀ø ø2öAóĐđ̣©ô§ơûôĐ̣ùƠCöRˆ{ uaD,ưMÿrÿ™[ÿ“ü ₫ăúùM÷Øøªû‘úeùDööÑôXó“ñóËơ‡ơôḥz÷­!¬gê(!<\iñËưcü™₫ÿgÿ„₫cưÈư û‡øÉ÷´÷&øxơ€ớö'÷Äö"ó³ôÉôQô)̣;ñ6öûj5‡¶å„ “ [ay₫/ưoü˜û‹₫tÿđürûWùÑùÙ÷ƒơööơĂ÷Ñơ\ơơHôñơwôơ7ơ ö‘ùưú^ÿe –̃×¼¢ Cf₫"ưuû ü ûiúxûgûûĐù€øéö^ơMô3ô@ơƒơQơTöÆ÷æ÷îö)ọ̈÷úKüÅ₫F#ö6D²¿ ² >äü=ûÉûưmû¼ûßûmûù²ơơRơÚơöíö ø”ù¶øëø0ùËù»ùúgû—üAÿQP f47èè hnMĐ₫ÚưÔü(ûøù£úƠúCú.ù>øÛ÷;÷øæø̀úûbüCüdüvü=ư'₫£₫ÿ’ÿÈ2) ™ É5í´Yϼ‹ÿäưºünü·ưÉư°ư¦ư₫œưư.üSüMữüˆưư¡ư+₫₫üˆư«ư@}™ n¢*Z²I眈_œÇ¤×ÿ7ÿ– «§æ kÖ¤]ÿé₫S₫ ₫Ê₫ÿÿ¥ÿ¿ÿ-ÿË₫øÿHÿÅ₫…ÿ€₫|ÿw₫Œ₫­₫<₫¦ư(ưư"₫ÿê₫$ÿzxĂGDGºƯƯdđxɆT#ÁßÚ‹ÿÿä₫₫œư§₫₫̃üĐư¦ưăưzưñüÏư›ưbưÎư2₫¡ÿ˜₫<Ëÿ§ÿjÿÂÿ¡̣V) ÑHçÀGøÁô7)ÄËÑÿ¶₫‹₫₫:₫–ư»ưîưl₫Oÿ ÿSÿĐ₫Ư₫BưưàưBÿÿ4,ôA`À §‹ ă¶›WGĂ9ÿ8›ÿËÿOº₫Tÿ¼ÿÁÿ¯ÿ nÿ2ÿ&ÿ¤ÿRÿåÿ4¹ÿÿ@_wÿï<Rµ r$Éÿ„æÿºÿ‡óÿƒÿˆ₫zÿ ÿ"Sÿ[ÿNÿ-È₫ÛÿË₫wÿ¢ÿOÿ`ÿR4èÿ²Q^´7‘./0Ü)&Ơˆñÿ~ÿ-ÿ₫₫“₫]ÿFÿTÿåù₫è₫¹$Aÿ₫ë₫¶ÿK2ÿ¤ÿº{$3ÿºồÿN[ÿ£°$u„l­ÿAÿ¢5 ÿYÿR¸‘ÿÿDÿBÎÿƯ₫Ø₫[ÍóÿÂAơ₫5ÿÿÚ 3ˆ·—ÿ®ÿ”ÿ̉ÿÿ>ÿơOÿè₫qÿpÿ¬ÿ„ÿ0ÿÿÂ₫1Á×ÿÅÿ¾ÿYnÖÿc!7+‚ ÿ„ ÿt`=®°ÿ¸ÿ÷;ÿ,ÿ!¶₫,ÿXÿÔÿMÿ´ÿŒÿÏ₫%aÿvÿjÿîÿÿè£ÈÛÿ•/¡ÿÿ"ø%BW ÿªÿ¼ÿ÷ÿ)Mÿ»ÿîÿLÆÿ Oÿázÿ”ÿjÿ#ăÿƯÿëÿ(î!ÿ/ÿ76ÿ¯6ÿLÿÄĐÿăÿJ₫¨ÿ³́ÿsÿ} ÿNÿ³ÿíÿöÿƒÿ? !ÿ'çÿhÿzÿe.đzÿR#×ÿbKÂÿÿdưÿµÿ<jÿëÿ§ÿ̉ÿ4Óÿ, ¹ÿ¦ÿ«ÿeÿ7C˜ÿM™ÿ<ÿ@Úÿoç:ÿơÿ̉ÿÿ÷›ÿÂ₫dÿơÿƒÿ%(wÿƯÿđÿYfÿ ëÿ™ÿ‘#¾tÿ ÀÿKêÿIưÿ‰6%6&]™ÿáÿ¦ÿY[ÿ¾ÿâÿ¢ÿ²ÿưÿµÿ7vÿêÿ‡ÿ'éÿTÙÿ & $!S=P`êÿ‡Îÿ„ )Q+7¤ÿA‰ÿëÿ™ÿÄÿíÿyÿơÿÄÿ£ÿ¨ÿ1¥ÿ¯ÿăÿ×ÿƯÿ"Íÿ-åÿT/X!49Bøÿ0 úÿóÿáÿÙÿ!äÿÜÿ ÜÿçÿöÿđÿøÿƯÿêÿÂÿ·ÿđÿàÿñÿưÿóÿ,úÿ& ÿÿêÿ́ÿîÿÿÿûÿùÿùÿ(úÿ<-ÿÿ%üÿ úÿúÿçÿ₫ÿëÿ ₫ÿ÷ÿíÿ& ̣ÿ¨ÿ½ÿÜÿ¾ÿïÿ̀ÿưÿåÿ A;`:)ÍÿƯÿ₫ÿ̃ÿóÿôÿÿÿäÿ ơÿüÿ&ùÿÑÿÿ½ÿ·ÿÓÿßÿÓÿøÿöÿ)/$38A=@/ûÿÈÿĐÿîÿïÿ ûÿùÿöÿûÿùÿÿÿÿÿûÿüÿÙÿºÿ£ÿ¾ÿØÿÙÿùÿúÿ 5!72/$úÿôÿöÿđÿóÿêÿæÿåÿăÿæÿêÿéÿíÿùÿ øÿëÿâÿâÿâÿáÿăÿïÿ₫ÿ   (!.&úÿđÿơÿđÿñÿ́ÿêÿîÿÿÿđỵ̈ÿ₫ÿûÿûÿöÿ₫ÿ₫ÿÿÿ çÿîÿ₫ÿăÿ ÷ÿïÿ́ÿñỵ̈ÿêÿùÿ ưÿ íÿưÿüÿùÿưÿøÿđÿưÿîÿ́ÿñÿöÿêÿđÿüÿ ëÿñÿîÿéÿüÿîÿÿÿđÿöÿïÿ÷ÿÿÿ #øÿïÿËÿöÿîÿ)₫ÿ)́ÿ ñÿơÿ üÿúÿ ¦ÿcÿ5₫1œÿ^‘'<äÿ›ÿ±ñ₫Ơ₫ g₫îÿr₫Ûÿ ₫…Ö₫WXaÿÖIX‰û—ư5³Ë* Rÿ„ûÅü…ü‚ùÿ®ÿp^û­ÿzÿI`D‹ ÆJl¿Q6j₫ˆû4ư(₫ùvȵự₫×û—ưGÿ<sÇÿ‡V7₫¿ư¹ưMû¡₫Å₫:₫$ÿØÿ°Ííæµ¬³ö`µÿ|ŒÓ₫B]ÿÿLÿd₫Í₫ưÛúÀùâøzøµøaùCû8üḲ± ÈL ă`‹ÿ|ûÖ÷ ólñÇîÛîsî#íî/ïÎñ₫ñxó—öÅùNúÁAzå̃¯#' #!>áưÖơ“ñ0êVæë¥íŒđ+ôÍú02¾ÍçúÖơ¬̣đ»è·æ—ç<ùÖ Wo)@.b+Q&°#eÅ}üöđÖçZà‚à é7ë3̣¼ûL~  gÇûóơ¹íîé˜å8áàæưÎ'S,à68.r" /¢ófêƠáø̃Û¾åeó ùtQ cÑyüiđ¡êăxáàà+àæăîí²!Ô'8<Ó7j"4Ѭî¿â¨ßßÊädæÓö© Đ ÿç ”ưÉù½ïjçƒä‰á÷â£á ç î¿ï››')ß3Ú3#0bxÚ₫ÿíåÜå€é¥ô¸öÿ» ïè é‚₫›ñ&đwîŔíÑíkđƒë²ë°ó(ó÷à1&Ÿ%Ä* )5%>̀ưùèîẃîfölÿ–ươ` pÎsüøú÷‡ññơ•÷°ø¹÷YöơÉëØéÍî̉ítïH'ë$‡*×+’$"\øk÷ƯïÈ́ó-û­Ú|µá₫÷4öiù4ơùø8₫Bư×ùgóÏđ­è®åUë́›î¢ –+Ç,w/„+ !¬ ¸óưđwîºđÎ÷Æÿ+ B ƒzÿâù×ơô±úâûˆư8Mÿøúañ_íâè ä¡èḯ³ï$₫o$æ11-4, Ï{ø‹ëWđ-ô°üä °¼ûÓù£ơ4ôĐ̣ù“>ÿIú‹ó?́í éµé îđơ(—,‘0I*¤!À<æîë•ơV ‡j dû¦óạâóÄóo÷²₫(ûLơƠïÖïæïˆ́Zî ó&ó8÷2©,)*Æ$+.†₫îq̣]ûù p ( Fcö„ñđ̣÷øeú 0˜ûÛùgơ¡đæñẸ̀xïÜị́ÿï¨öJ/)++̀#ÜçügđÖñéû¶, > ¼ ưö(ñ.ô@øÀø¡üÿ,¸ÿiúY÷‡ôDóˆôÍó@đăđÚóèđ÷Ân(x(a"E§ ™üTñyôg₫a B Àó5ö‘ó*ơ­ûúüUüq ÿ&ưGúªơ÷|÷N÷ôóî²ñáóÎñwöw&Ë(è v²Ưûótơz ‘ & T~÷0óªöûûöưÎüVưè₫Åú,øgù&ú§ùñ÷¡ô“đœđnó(đ³ó+ô#À'3 ïÛ ·₫ö@ôøüA D Z²où¥ôÚôúưƒüîüñư‘ưyü©øîøû̉úö?đzđẹ̈›̣5̣´>& ë Ä0ûÅơ€û §Zû×ö¦ơæù²₫ưKûûmúÍü\ưû́û2û*øéñ½íRđ€̣¶ñ_ÿ‰‰%$•ë É₫|øƠøóR l Gâ-ư0ú}ơ÷ÿüc₫«üû–ûâưü­ùgúû́úZôîĐđ{ộ̣Yơû I"t&ÿº $#úöûöE %đk₫kü’ø›ơ”øưûưûóú%ư₫tüáùù[úp÷gñï”̣+ô[ôfki%Ú!̣( 8Àü÷2ø›ư V {₫<û.ù̉ơÆøcûĂü@üÉú‡ücưEü9úŸøäù²øó&đ”ñ ô©óÅÿœF#†#+} tú?û^÷³ư¾  6êÿ"ûjûúøMø@ùSư5₫ùüRûiûÛüú̉øöióṿóñĐọ́„øá &a •ç₫ÿø"ùƒˆ ˆ †/üjûDú§ù÷l÷û¥ừ₫ ₫†ü®ü]û¸ù|øHợñ¶ñgọ́t₫O;"ˆ&­ê Äzưíöúl è MmûÎú:ùCù#÷a÷¯üÿ¿„₫gûæû8ú ú^øçóẒ€đ‘̣›̣ójEª#â#ÛÂöIûØơgûe ×`ü₫ù û\ú\÷ ùûû\ÿ%₫îû^ú5û¯úø2óÅïƒđóóÉô”â¹%%hm&ụ̈ơ¬øSC5ư"ûû̉ú}÷d÷eúÿrü=ùPùú:øỤ̂€ïVđÉó—ô|óëÿ\;$)Áè®b₫C÷2÷öû‚kø>ÿ}ûü¾üú”÷ƒ÷àû%Æœ₫Óû«ú×ù÷ẹ̀âîƯï:̣‰ơÆô©û|Ñ¡)",ö Ëœú™öjøâüjP¹ÛưAûƠưAüèø³öS÷úưï3D₫ù_ø_÷­ö+̣´îŒïỴ̈öPø;v¬$©(ÆÀ]ÿ,ú…øùi₫êµXü›ûư-üưù¿÷qùY₫…øºüÊø/÷ÊöơÔđôî-đpôömür ¡'&…kæÑT₫Ñø5ơxöGưR*­üưˆưü(ú¶÷Ưù₫Ölü„ø‚ö}öô§đÔîŒï=ôöÈ₫ù &6(%*oqzRûëöôùơ;ü[°‡₫–₫¼üKü¬ùùAûÆư’`ỵ̈üïù÷öoơ¦̣uđ đ-ñfôäôÄư ×ê(P&yÂß ̣˜ü÷̣x̣“ø>ư„́Zÿ~ÿ…₫Ç₫;üEúÔú!ü{ÿgÿjưlú÷nơ/ó¬đÿïđŒóơó₫ú+ ?(( (V",6 ¸]₫ö÷GñƯï³ôzùÅ₫¶ÿnÿi ô₫–üIûéú£ư¶₫Ô₫lüù#öÄó²ñ/đ¡ï=ñ×̣Åö%ñĐ"(̉$É<Y ³­û÷óï¶đ^ôØù™ü₫úÿ×z¢ÿ§ư"üZưQ₫ÿáư&û¯ø:ơ'óâïï€ị̈åóîù̃f$7'…#P~ Îïû’ó]î]ïỌP÷ëù²û/₫è>VÄsÿ =sÿVư8úÑ÷ÛôJ̣*ï]îïÔñ6óCù(ë"ï%³#• Q¢$ÿƒơî îIïóơ÷ôúºư†{MaPz$V₫̉ú‹ø`ơóLđî‡îï7̣Ưóăüµ 7¶"–#‘!^.xM€ÿ˜ơïÈícíđ,ñ-óƒ÷‡ûSל•Ùh@±½ûBø{ôuñï í©ícîơđ óàúÅx =!Ÿ Ö₫Tó ²/üô@đŒíZíû́û́Äïpó̀ùđÿÖ] ¼ ö Y{ Å…’ü+÷Ệđsí́ǻ3î:ñÿóAül‡PëôÀ?‚Ä ¦8üèöóñ,ïḰ́êÜëPîQóÈø†₫j ó ¦ f é2 ₫ûåø÷ööơÛö`ø$úåû•₫{4‹Ÿ:/lñHÿ‚ư«üUüÜûÉû üÖüM₫¢ÿÓPUCđÖ“G×ÿ̉ÿæÿ ÆÿsÿÿÔ₫Ÿ₫U₫₫®ư7ư¼üNü"üüVü̉ü²ưÖ₫z¼3v^àä©P 3Œÿÿí₫̣₫6ÿ•ÿáB{Äà³<O;ÿèưmüûú€ùKød÷÷ö÷¾÷üø§ú»üÿH=´»Dc<Ê;Ÿrÿ²ŒkaXLK4ÍbÜM¹ÿÿ]₫¢ưöülüïû™û[ûQûVûPûFûûûû6ûbûû üÂü×ư:ÿÁG±êđ³'J-ƯbÊ99*2cÁÿ8ÿ¼₫X₫₫₫4₫n₫¢₫¸₫²₫•₫o₫:₫îư–ư+ưÆünü,ü₫ûäûåûü>ü§ü8ưÜư’₫Rÿ!ưÖ¤U×'JR@ ®3²Dđ¶‡[8ưÔ”;Úÿ~ÿ%ÿƠ₫…₫@₫₫úư₫₫ ₫ ₫₫!₫'₫-₫&₫₫₫₫ơữưÆư³ư°ưÂưèư#₫z₫ö₫¢ÿpE™n¸áçѬ•i4îœ;Á$l±ÿÿz₫₫¨ư\ư*ưưưư4ưQưzư­ứư/₫p₫©₫Ù₫ù₫ÿø₫Ø₫²₫₫j₫[₫b₫‰₫Ơ₫DÿÇÿQƠS̀> ́!CY^N'ç–9Ơn ­] úÿÛÿ¼ÿ–ÿhÿ6ÿÿÇ₫‹₫V₫0₫₫$₫<₫]₫€₫¤₫¾₫Ç₫¾₫¤₫₫^₫H₫F₫[₫‡₫Ç₫ÿsÿĐÿ%lŸĂÚǽëèăƯÔÈ»³µÅæS›é1k‡ƒ[­1©!¢ÿ5ÿ̃₫Ÿ₫t₫[₫R₫V₫c₫s₫‡₫₫²₫Ç₫Ú₫è₫́₫é₫à₫Ñ₫Á₫²₫©₫ª₫¸₫Ó₫ù₫#ÿOÿxÿÿ¾ÿØÿïÿ )Z˜éD£XŸÏæßÁ‘VÄw.åœR¯ÿcÿÿå₫·₫”₫~₫q₫j₫e₫\₫J₫6₫₫₫éư×ưÓưÛưûư,₫l₫¹₫ÿhÿÆÿ!xÅ E{«̉êợêÖ·•nI'ă½™xT-Øÿ²ÿ‘ÿuÿ\ÿKÿ8ÿ&ÿÿö₫Ø₫³₫’₫z₫l₫r₫…₫­₫á₫ ÿjÿ¶ÿ₫ÿ=u¾ÖáçæáÙÆ°“uX:%"1F^ovq`@ëÿ¾ÿÿ„ÿxÿsÿsÿ‚ÿŸÿÀÿÙÿêÿïÿđÿøỵ̈ÿåÿ̉ÿÀÿ°ÿ£ÿ•ÿ…ÿÿˆÿœÿ»ÿßÿ&Fb}‹Œ|m]G2%$=[w‹‡‚w`L%ưÿÑÿÿqÿAÿÿ́₫à₫Û₫Ù₫â₫ơ₫ÿÿ.ÿ9ÿMÿ[ÿpÿÿ–ÿÉÿüÿA™óI‚¾̣ üƯ³x/ă˜KÿÿÎÿ¡ÿvÿRÿ8ÿ;ÿ4ÿ0ÿDÿ<ÿ5ÿAÿ?ÿ<ÿ8ÿÿÿ₫î₫Ú₫Ä₫¼₫¾₫Û₫ÿ1ÿnÿ¡ÿÑÿY—ËêùưäƠȳ¯¬¨Ÿ¤°»̀ʳ´²ªyV$èÿ§ÿrÿ3ÿï₫½₫z₫c₫C₫1₫=₫T₫d₫O₫l₫—₫É₫ÿIÿ—ÿèÿ>§é,O>Ëœ[꺄bH×ÿÙÿ¯ÿˆÿnÿQÿ0ÿÿÿ»₫ª₫”₫Å₫¥₫Ö₫í₫ÿÿ!ÿhÿÄÿØÿ71jtsf>óÿöÿƠÿ®ÿ"´ÿpÿÏ©æư₫«ü%ÿE]:Ü»V¸ïÀÿÿÿÑÉT"Á¬ư ÿ>üsÿ|5úôúkú’ûùøẹ̀Ûïï5đ1ó(óAô ÿ³¿ đê PÅàöúñ×́èăàßçḶú5· ~zû· ¨ü‰óçêPẹ̀ç>å>åpådçùë«îóúCÿl$.ó3p.Í'—&"l „ú¨ç‚à†Ư­Ù=ÚüÛ2æ›÷h hÅÈ{¸È T| ÷˜ïåéçÎèdçå¶æè́£đẓ%ùÿă o -.í6ï5€-(¥j.ưÉèÜŸØ̀ƠÜטÛGäÅơ)tY&û9Üêûô&îné`æhçççuéÖê„́Ađ&óØú PÙ"A/é6₫5.6&§1 /øƯå|ÚŸÖÖ.Úơà·èøåơÏiÖ/ûÿú’ơỴ̈çđíí>étèXéÚêḮ\́́ñîṃsúơÿz ;M-g878i.r%= ªú–ç—ÚoƠĐÔ;ÛEâêéW÷ƒ†Ư¢{”̃oí’₫÷Xñyđÿïíưë©êƠêàíFîŸî!ï7đ®ơØüM¢¥#æ-§40O) ®¨ö:è àPÙ Ù‘̃üäSîô÷– l_ëpw -yüóIíûè7èéèÑè­éÔëVïḥZơúÿq±]"Ư,”0e+Œ$R|Iûî–äÜ܆ßôäF́=ó›ùÄ¢ ñî<₫ú :ûö”í ç§å/ææ­ç̣èCëîƒñ´ơŸúc.¡%g,¬*%%¶„½ eöø‡ï¼å€àü߀âNçóñùÍ£ ÷ÛqW&E ¶ơṔsçæ9æ-çĂçÀé́̃îœ̣ƠöÚûqé]Ød"̃'Ÿ&"æ|“ Ú}₫¶ơ ́Ưåuă äÜætêî>ô7ü.Ơ*™< d́MOưJ̣ ë=éèẹ́èuê ́î£đªôEø“ü½ BÁú"d"Ǻ7́ Å­®úïñ"ë'ç”æèßêî¹̣Dø̉ÿ¯ºt¿|3 êÿ‰öMñÿîèíií«íCíÖíĂî®ï[̣™ơ|ù¶ü`_z ôơè":ˆ1ø P Ÿ¼ưTö¢ïëvê´ëáí»đĐóÊ÷ư˜` @@¿Óđ ̀ƠûÆöuợó:ó}̣âđüï‚ï®đ­̣¯ơ“øCû.ư±& ¼J²Û †ß ' ³ EªÿwùRô_ñđ+ñạ̈ôÓöµùMư{‰ó ù Œ - ¼Ë₫ïû˜ú ù¹÷:öNôọ̈Ọ̈(óôÏơÔö̃ø,úÂüÄ| @ÍV3÷7 Y ˆ Đü ₫=ú ÷~ơYơ¡ö@ø”ù́ú½üÿT0 ^ ˜„É8»₫«üéúù£÷¦ö•ơ-ơÓô9ơZöÂ÷ùcûAưÿ;“`ÿj  k r ¾=ëB䯗₫§üzûiûüüư½ưë₫ƒF•vÜ{‚œjÿưüDû¾úZú|úúdú_ú3úOúúèú[û{û§ûÑû£üÉưvÿyJÓ÷́íJ : Á M  üH˜“ÿ¨₫’₫x₫ ₫ưeưĐưŒ₫mÿ…Ê»ußÿeÿ×₫x₫A₫₫đưTư¨ü̉ûûúú¹ù8ù¹øwø´øTùÓú›üÄ₫ ñŸë-© a / ₫ ³ 8ôư@ƒÿ ÿ=₫TưÁüÅüư¦₫•ÿjÂúƯ>¢ÿÓ₫$₫ˆưư ü,ü§ûÜúEú’ùùø`øøøgø&ùyú]üƒ₫Z>{$  h 6 ăµh·¼)Áníÿ²ÿÿ’ÿÎÿ 2Rpl%Ôÿ?ÿ¢₫₫ƒưư¡üTüïûrûåúaúÈùuù'ù ùù:ù³ùEúÏûư¥ÿ¸[ẹ ¿ v €Hm½+t¦ ÿLÿ\ÿrÿ­ÿÄÿËÿ¦ÿ€ÿ)ÿÅ₫J₫Àưjưư³üCü³ûâúTúŸù'ùáø¥øÊø ùwùSúû¢ür₫~$X'½qIÇ> º¬SĐ¹mˆü«JHJcYOûÿ´ÿ-ÿH₫Çưôü~ü₫ûªû+ûû«úcú;úÄù½ù¨ùútúû²û„üæụ̈ưÿx,URæCÅ£,êë~ĹódÏiù0“¿&³ÿ7ÿå₫₫O₫úư³ưư˜ü)ü#ü;üü_üjü3üüéû,û+û{úGú„ú\ú¦úpûüüü–₫K˜äLÓR¸9i²3.*sñÅùÿ‡ÿ5ÿÁ₫»₫Ơ₫¾₫´₫…₫÷ư¹ưưÑüºü¶üü¸ü{ü7üû¾únúøù3ú“úû½ûüưƒ₫ÿúÎǬ/+xê9êĐ˜Í‡¦º Ù@ £Ơÿ ÿ“ÿ°ÿ}ÿ˜ÿø₫o₫íưJưÍüCü üü1üü@üíûÁû;ûÁúîúû­ûïû-ü˜üưÍ₫{âûÛi³7¯RÚôÏ ç¸î­́-æÿÅÿ¿ÿñÿ´ÿơÿ-ÿ̉₫₫§ựü-ư ưKü•ûÖúvúùùñù ú ú]ú‘úiûü|ü¸ư­₫Ô0’tËăyÙÀ2¿‰F˜ ÖhrđÊfûÿ;UG‡E¹ÿHÿi₫ơưưCüü‡ûú8ú×øØøéøøñùcùú̃ùăúëü›₫'Yî{áüư2ÅXØ. #ÿ ÿ4ÿ‘ÿ4NbnöĂ•†̉ÿqưÖüüóû•û9úpùø÷wö7ơơ‘ô[ơ¹ơøŒû₫†¬à ®( i [ sü·È2₫ ûùbø~ùñú₫’ÿß₫?aææLÿ ü¯úùˆøwøÄ÷Ëø*ø[ñ2îîêåí6ñ¡ơÙ₫û¨ Aàế±˜Ë¯₫Nú²øÊñzî-ëë‰ïGöFư51 ! A¦Á r=₫¹ợ@î̉đ#ñ.ñđ|í&́Ÿí ïôQùLơ|'’,U/((V ¯ư?óïAîćíèÍè”èçîø%{ ÔÁg Ù pFÊù¡ñưéÍæQåcéí#ñOọ́ạ̀ó°÷kư÷pä/ö9l8®0JC 2øhî̉èüéçCèPäÿă³èxï*₫Ÿ Ï^¨å ư^öǾ™å6â¤â¢ç½î ̣ö¼ôQôˆö(ú Æ~,2><à5Ñ!ă ËøǴºçYéécèÜçâVè\îLư¬ ”\®̃ ªA ÿÓúûï«åøß&àÎäJï¾ô~ø§øÆótör÷æ Â?1BA>¹3‚MÁđ™é,ç{́ưë‹êÓæäázèÍđ‚ሼ —U3Ëú˜́¯âïǛàëçô´ø¼úÅöËñÊó!ú&%F>̉B<¹(X ùsé́èÚéĐï ëöééàÈâáêù̀ ÎZ O{M#q¸ơCèDàc̃¸äĐíä÷¯øù!̣(óô[¤1½CŸ<#3i™̃ïJêGë@ï ïÊéæỡÜèUñ9Ç;Ws<†o¬ÔÿIùë£ăíàºåíöƠ÷ëö‡ó*ñëơøw-9@ô9 1«8Êóéë ïcđÉñ êÁçâßéuñ agư‡‰²¸‚Â₫Ö÷̣êÅäaä>è đö˜öÁôÔñtñÖ÷µ –ø0Ä>«5ù*‰˜₫̣~í̉đ̣…đê!æ€á²́ÿơö«¨ ·[æ >ûX̣·è“åKéYíäôbö̉ộˆđÊóuÿøW&Ă9¼8,/\Núđ£ññ‹ñµéGç[âgèÊôoî7­“ (ô»>P₫̣ñèëÓæéêîÍó*ơAóÄđéï÷ô¡ưú9$7¼8Ù-ªéyưpóPóđ§đè5æ¦ä~éË÷6$ eê ®·æ " E”üđĹœéíWị̈oñUđ-đƒñ¯ø­<3&î6™6,Öñoưệ¥ñí/íæ˜æ^ç°î̃û³Á  Ä Ó( ºÈ £™₫ư÷dï«îƯíđñîYđ‡́´îĂđœö4₫i ßë)l870“)UEúÓñ1ï–êºéÁăêèễö$ÿf²  e }đ  đ,ÿ;ùÅđ0ï…ï¯ñCđïµ́°ëíđ;ơ†ưƒ Ø '#6–1è(o¶Ơ₫¼ô¤ñ€êséLâˆçƯê€ở»÷’c t ¥ï₫ïö¸ñáïÜñwñï*́—ëố;óFø’üÀ )„7å1ï&“ư÷8̣¬ë¦çwávçÆíùÍÛFºul ‰C üíú€ơAó‰ôó&ïêØèsë ̣^÷¯ùéüM ß0̃9.÷y2²ưđúđ‰çGá5á¤ëtôư₫t°©× 7Ó -…₫ĐúKúSøéôTí&çÜæ×ëÆñ̉ỡơ¥ôÔ<ú*8y1"´é ºôwăáàâíḲô óÜ÷Aÿ ¸§  `ÂDùâñ¾íq́êëoíù́yíÿđïơ,ûs;! )ê/¡(*"D|Æïù™́eæ¯è°é!êNêïTô]ä”qµ è u ¯ÿ5ú¡öợ&́ëæ4êÿí¦̣đôhôÓûÀ$„+:*́!¥̀GöåëṔ/íèè2ăôç"ñ¿ù&Àÿi; x& ˆï₫%ÿûỵ̈>́¨çŒêĐï"ïäí…ñơ6;­ ´#^&ï&é$ä] ₫7û~ố́@æ>â­å}ï‹ñẸ̀Vù.± 6C Ú Û 4 Ó{ü"ơ‹ñuî]é£éÚüí4đvóÁøÈxÀ"Ë&±'$M̃Ưư*óƒèWåGåƯénëĐê8̣´üµ–ư r >Ú …k ₫V÷sđhéêéë́Oë̃ïâô]U)å̉'“)^#@­Ï ¾:÷̣́Îë è-äÜäè'î›ôùàt ‘ ©ñ \W†ú\ôæî­́Ëéóéëïwđ_ü™&P(N#?!K Đûọ̈ïcèÚâÆä4æZèZí«ó¿ü¨¼³ ᦠ₫ÛöḤïí×ë̉êrëêµù” ËÆI"C%Y!›$” A¼«ưOơÂëÿå@æÜă‚ăaç]í¸óvû´E v P 4 ”ü²øÉó îŔoí¦́Èú­#N讜%¤ïP, Úà÷Qï¿é€æêâÏă#çaêºïå÷tư‚Ăh û ÿ–!7ü÷̣qñîpơ"I₫đ̀̃Ÿ". Ư:R ÿUú†ñdêđæ½å­ä¡æYëçđ3ơNû9(+ëäMiúüOù9÷ óơÛÿñüOæ?{‚3Pz·ĂùIñ“́ÊéăåeåOéé…ïÍơưúư›Ÿ½OÑÿ(ưáú¢øöV₫ơÿøưV n đw)?${ % VHø„óîđư鼿GêaêùêPñ.ö¯÷gü÷ÿạ̊|₫ưcüYúdøQêÿq 2P á`”C& ˜ 1³úœọ̈ù́%êëVëđëîïùó«ơ‚ùßüÖư˜ÿÿTÿ‡ÿ‘₫#ư8₫ÀüÁ₫+ŸÑĂh¸́Ö7 +J₫Êøọ̈vđ‚íúê6́‹í›îhñơ]÷Ëùëün₫ÿEùF1i¶U¤†ó¶\ ØèÇmæñ N “OüÛöṃƠïní€ë9́Wíëîkñơ-øzú»ữZ­•£iÉ~Xú $ Ơ . ™ C c ‘(È̉ư|ú›öYóÄđàïÜîTïèđ¤ñÍô½ø…ûư#ø:3FÖRó;~£{<_+ßœT9ÿüư8û‡ùWøÉ÷Úơươök÷Qø}øèûƯü›₫b¼óT„̀æ ]R{ưxnî<ø]­ÿư₫c₫Åưßû­ûGúûÊù&ú$úÀùêụ̂ûNüôưÿ( “ª‹½åd7>đ`¹=DIäüÿ·¦véÿă7Âư…ư/ưZüü ú̃û7ûtû.û8₫‹ưÖ₫,ÿ_djôë›+äÇù¤Ç₫æ‹₫(Z₫ÛE~Á5ñn₫oÿ€₫Húû ü#₫S₫ưÇú̀ÿñ₫Ó₫¨₫›´ÿ•U›’ûU±³ÿ¾mÿĂÿ€"Öäÿ¾ÿ¤²ÿvÿ‚Ü₫á₫₫Ă₫ÿvư´₫©ưZÿ5₫]ÿÂÀ×ß {úÿéYœ™ÿ²«ÿ¼ÿÿ"®ÿaÿnÿ$w₫ÿÿJÿE₫»ư[ÿ@ÿ_ưÅüF¶₫4₫ïưWÏ₫6¥ܵMñg0Ûœº–ơôV©æZÿ•ÿÂÿ‘ÿ´₫O₫̣₫ñ₫ƯưC₫·₫ ÿ¶₫”₫÷ÿDÁÿpÿF'`ÿÿG÷Ó÷­¦M6E*Îÿ(Úÿgÿ›₫Rÿÿ"ÿ₫°₫eÿG₫qÿÿáÿ—PYØR]ÿÖ.óÿ2Ù…/jq̀̃–eÊQÿÿˆÿĐ₫¼₫KÿE₫₫₫’₫"ÿ†ÿJÿ×₫êÙÿ"^½&ÇŒÿ]ËĐ½ÿ•mk§É¾ÿ¦ÿÚ1ÿÿBÿ‡ÿ₫ñ₫Ư₫2ÿbÿö₫uÿ—ÿjlÿ{=:VD$úSÿ”uXñÿ´5è~0ÜÿKyÿÿî₫ÿ7ÿb₫±₫Ëÿ<ÿÜ₫ƠÿPhÛÿw<#WVE¯Æÿ>ˆÿrS!µ6c-%‹UÿÑÿCÿ‚ÿ0₫ÿ±₫„ÿ­₫̉₫{œÿ9_±†] 8Ø ̃ÿœ©ÿcÿÿ‘‹hx»ÿQúÿ̃ÿ¿ÿÂ₫ €ÿ}₫6₫ K₫ÿ̃₫Q;ÿcĐÿ+ƒ©ZÜÿ̉ˆÿ&U¶ÿƒ–ÿwi÷ÿùX.’ÿ=ÿÿ{ÿb₫Ç₫<Ø₫Zÿ-ÿÅÿ1ÿẽ i="­ÿx¨'}¿Çÿ¶™ÿ0—ÿkÿáÿ2ÿx₫¾ÿ8ÿ[ÿë₫ûÿNÿå<ÿƒí₫ØF‡ ÿđ₫ŸĂÿ™í{ÿâÿ1fœÿ]%¤ZÿÔÿ¢ï₫Ùÿâ₫¤ÿ¨ÿûÿ—₫ÿZ™ÿ±ÿ¨ÿ™¢¡ÿ:×F¸RÿÚÿƯÿ®ÿ0ˆÿ!!dw₫Æj;!¸ÿÁÿ×ÿu₫_ÿXÿïÿ%ÿ(₫ƯxÿÔÿƠÿ˜́êb>r ü₫ö[Û₫¿ÿƯÿÈÿ‰ÿ¬ÿ€ùÿ{ÿ,àÿbé₫Éÿ'Ơÿÿÿ"₫ØÍÿÂÿ}ÿÂI²ÿw¬ÿ8¬ ˆÿK™F‹ÿ0ÿ[ºÿÑ₫ÑÿïÆÿôÿÿ`|Ư₫‚ÿ˜ÿ̀ ÿà₫ëÿfTCÿwÿ8¬uÿ„W4!ƒÿ~µÿ¾ »ÿ%ÖÿÏÿ¬ÿA“½ÿU§ ‰uÿIÙÿ…ÿØÿŒÿ́₫ÿ¡ÿ„ÿ¶ÿ1 [F~ög½ÿ-¿ÿ.«ÿ°ÿÎÿĂÿöÿsÿöÿƯÿˆfXÿOX>ÿHÿÎÿEöÿVÿ]Úÿ%°ÊèÿđÿØ̣²ÿêỵ̈ÿ ăÿHÿ°ÿüÿc¡ÿQÿÎÿ2ÿ±ÿöÿ•³ÿF4`ÙÑÿ”ÿĐÿyÿÈÿNÿŸÿm îÿ#®«ư!₫7_‚û̉₫̉ă₫LưG₫ÿùÿ̉₫ßÿÍ ÿFÿTlÿø₫ƠWu²ÿîÈà¸ä₫QJÿÁÿ"¯!ÿ½₫Îÿÿcÿ\ÿE;gưöưăưkûú¥ü₫I₫öÿ Ă¾t! 6 Tít¶ưíúúïøÎö¸ơơ€ôMơÚơsơ÷÷nùëûñưYwùkÍÈÔ°] ”Ưk3û¾ógđ$đMíëƒ́áî…đZđLóFø\úƒùü÷‘ù®ư}ưĂûOư… ª̉ß“[# "vè Ç–°úđ'ë ñ…đŃíḄÛ÷}øF÷›û¦₫í₫àúÎơ×÷à÷Ç̣]đƯđ+ôQơÓÀơ"i'Î*~)–¦Uô₫öêå¿éPë~íÔïô„úmü?ưÑÿsF ü}ö!ơ=ợGïí¬ñóï÷#̉é"?)#*:,Ÿ$CÔư ÷áí ă2åêïÈó#ơJüÀÑFGé’™ûñơ·đ×ïđíëÿëÏîIóAơF # $1*k*Ë+&ƠQûúô,îxă,ăCè±ïăơø ÿ~ÏÅ;ñ#ØüŸ÷ƒ̣+đ̣í£ë)ë«í đlô¨̣M 1#̀%å* (B*k(ÀŸö¾̣î«äzàGæ/ñùĂúS Ï %œQÂ₫·ù~̣íđïêèèÙçjëPïÊóñ̀–#†(„-)**)Å7ơ_ï:íÜçáHăóîdú¡₫½Ođ «ß uD!ÿÔü¾ô÷đ3ï`ë̀ê'èÖæêë-đDôó—&n-å2î(…*˜&¸·Ođ™è;ê{æ„àaă1í£ùư>óïPöđ=ÿºûw÷ócí6́éæè¼æ‰é™́‘óôù~!N*®5w/R(f'ç uö{æ£ä₫ç€á åçạ̀sÍÑ ¸S¥Á¾ÿÜù.øØơZï—́“êœæ-êcæºéǽ™óơôƯ"È,P:`/û)Ư$ÚT Tôäâă}ăä?ébè”ơ— áwˆ̀9 Ëê₫îơ öóḥ đÁüèÖê@éć×í#̣1öæ₫àé*«8¨4c(q$Ôđ 2ü>èöàâăƯê”é`ï…ûíë M™ ›A , ƒú¢ö—ôôxôèïŃ.è‘é¥êoï÷ï€ơfơ§ %2·>Z/Ù&Äa Êơ ă÷ƯSƯ‚ä/ëæê’̣!úßÔ—‰= ëGưåơ[ñHñÊñFñq́4çáèäêp̣dôcø%øU ă%x5N? .:$TØöÈăoÛÙ¥áÅëïơDú ĂmOŒÎ ÔRƠü€÷Kñsíï¬ï°đ7í`́#́Rñrơû û7*d<5-(¸ê ÏFư˜íĐáÇÙjÙ„æíí€÷ûXÿfnQơ²›ÿú×øôơ(ñ¥îẤ{îwđ¯đ̣ÿđ̣ó¿ö6ưv₫‘Ñ?.Å7Z-#æ÷ê½âăÙm̃dç™ï»úÄ₫g` ƒẦ ùWü„÷àö’ôóëđđíÎî#đó™ö́ö‚ø6ùÚüeÿùú°+2'ûÚE¬÷NíÍæÎ̃©â¦éSñ—ûÜ₫ün ̃Ÿ@ TºüËøJøíö¹ö«ôÉñLñóö0ú‡úÀûØú1ü)ư×đæ *#°Qå>÷ü“öḄæé÷çåê˜î^÷̉ûtÿ Ñư ÆKÿ›ürúúRú¡ø¼÷?÷W÷Eù\úSûü’ûxûưǯ{;̀ Ä₫bÿ́üú9ó×ïNíiïªô=ú0₫ˆB0gµa;˜Â₫tüÉü¢ûû”ù>ù‡ù2úàúîû<ûÂû#üU+´ >5»̀ &ëƯÿOûl÷rôeôÜö˜ú|ư±₫kÿdÿn%̃ظä₫@ÿ ₫ưiü=ü§ûƠûlûûĐû4ûü!ü¯₫Cè¥ É Å oö&d₫Fưü”ücưW₫“₫ ÿç₫oÿĐ+i XơdÆÿó₫óư2ưäüjü{ü‡û„ûûéúqûÅûrü ÿ:#Q1á7;ơRƯ¯ơ8Qÿ₫ ư±ưfư´ư₫i₫1ÿS(Ê)“)̣ÿÿ₫gư÷ü!ư7ü}üÛû6ûû¯úôúkû2üGư+kDë“ï¾’ßË äÔÿÿˆ₫7₫Û₫nÿV—yK™üÿ‰ÿ ÿ ÿ₫H₫üưqưưíü”üüúû,üCüaüWư¢ư•₫}ÿ°°@Å!5L¥%ñ°÷fƯ­P ²ÿ2ÿç₫ˆ₫x₫¢₫×₫À₫Ơ₫’₫9₫₫@₫6₫ăư¦ư×ưÓưáưâư”ư³ư»ưŒư¸ưœưÎ₫v±ª§ưàƠˆÂ¿y¦•R7±ÿù₫₫×ư‚ưeưÜưs₫ô₫ÿ[ÿ‹ÿ8ÿ̃₫â₫¬₫P₫,₫L₫₫[ư,ưrü ü üüü@üÓưŒß4₫”`l¾‹ÿ{̣ÿ¿₫₫v₫^₫₫÷ưÊưk₫Å₫&ÿ1ÿ]ÿ#ÿÿÿ₫₫(₫P₫[ư?ưÏüü²û|ûwûïûĐü…ưxÖ ¼E\…êüXỵ̈ưpưèư(₫ôư₫O₫₫Ê₫wÿ¨ÿ ôÿÆÿ²ÿÿ³ưëü“üü¹ûVû©ú¾úgû¥û+üøüÂ₫Ă<í Ô w ă "úÇȯÿư´û0ûæûkư6₫,₫^₫í₫‘ÿ/œÊ1£sÿ₫Öürû+û*ûúüøuùúáú±û3ü×ü®₫Ř PP$È ́û.zvJư¥ùHø[ø’ù¼û#₫¸₫¸₫uÿ[Œ|_:®₫ưDû/ú₫ø=øø=øgø]ùøù6úăúü@ %¾ZĐ— ÿ(ºÿ”ûOöÆ̣5óÊơœøæû₫₫¼₫@±¹©½*₫ưŒû¿øßöcơêôùơ÷ö“öđöâ÷zù8û^.ºÊ³âf k Á ưDöđûë›íˆ̣öRøbû̀ư~­3By₫ưÉú:ö©̣c̣›ó“ôơ*ơXôơ¤ø5üñlÈ"%å!p/6j Ẹøyï'ëéwêïđ̣ëôXù­ÿĂa 0 ‡[Cÿ~ûMøôđÈđóWóWó¶óVôơéøƒü«éè#»)ô%đ ¥Ø÷ llûuî4èèæèßëŸđóöVưuÉ > © Ù /dµǜ÷àódđ¾îºđ-óMó¥̣Ị̈5ô÷ö±ûñ₫K ÷(*ç$Cç ÿơŸéæ$ç+éÓëDïẉ\øyÀ öE× ˜kÿIù¡ô#̣̉đêï¸đ̣ ̣Öñ×̣̣ơùAü„ư¹”W)m,%đjçB “?÷Wé{äçæTê#̣́íœđZöR GnÓ  PQ^ú³ôîñ}ñ=ñđ đ̀đ̣¡̣zôh÷XúDüoÿè ³!<,Ü'\ƒ–(( ú₫^ïåå`æËếëếfñ…ú‘i>£Q”, bÿÀ÷vó2̣p̣‡ñuî`íÀïEóô@ô½ơ»øçú§ÿç#a*Î#!ÈÍđq `ưï…çăèH́ë&ènệ#üîÎ ]Î;Dq±ÿùÏô9̣Cñéđ¸î¸́£îẬôạ̈êóÔ÷ÇûÈư…¡̉&º%Méâiöd́™éĐëṔ$é&éđ¢ùûTJ 8…[Ô­ ¿«üùơôñ\ï÷ïÍïsïÄđỘ1ó+óÆơ¾ùJüư¬ów&5$5ơly „¥ơUíïënîöí êêtñ…ûOó ÏiàKä]ü4ú¥ö ̣±ï‰đ‘ñàñµ̣Fó¯̣ộèö„û#ưÈûgW¢%å$ùCŒdî8÷+ï₫íÚđ®đ́’êjñơûÈùö  {n­ÿÂûIûùkộđñ¡̣»ó¨ô‚ôXóWóH÷ üÔưû §ï"Ê#žfɾ¤ø#ñđạ̊Ụ̂ îÚë'̣ü´NákW ºa ³ÿrüÑüËú¥ơăṇ̃̀gơ4ö—ơ‹ôÿọ́ô˜øüûUü‡ùsÿÀ"À!ü·HèÎf÷'̣̣́‰ơ©óÁí—́øô¾ÿŸN!̣’ È  ¢ÇưưT₫ßûö±̣$ơ}øKǿơjô·ôwökù(ûûù₫÷gJ" ß0¼oƒ ₫Fơ¢̣́ô€ö±̣“ísđZû³rÿT]‡ # »₫Çü¨₫Aÿ=ú„ô*ô–øƠú‘øơPôóơ;øëù¿ùô÷ø4æ"À3]O܉~ùṭ3̣Èơhọ̈´ïLö2ư²ÿAh J«Ÿû¾üíÿ¯₫øcôèöiûyûë÷”ôƒô×öùUù¹÷ØölúY o #ˆ¹DË Z₫aôñkóE÷ọ̈̃Sô­ư>_p~ÿø¬€¸ưëûHÿé‹ưÑ÷÷™ú,ưûS÷ ơ}ơ¥öÿö÷ü÷ùûú‘‘%W6Ơo·÷ûóXị̈[ùû³÷¢ø ^^sD₫ÿp¡üû]ÿ› ¤úùü«ưQüùµơ…óàô!ö'ö”öÈú±ü×H³%J"p(ztâü)ơđËñ÷ùBˆưOû¤ÿ¯Cî›ü˜ú+ü-ăÓ₫4ư¯ÿ̃ö ÿGûºûưÎưoû›÷¡ó˜̣iôơƠö\ùEưËưÙ²r'x˜[ –ÿù¥ô|ñ?ø™@v₫—₫¶Ï›₫|ü%ùèø¡ư23ơ₫Ă1î$Ưüóü³ư³üRù?÷ÇôḄ ó"öôùjü¡₫Cư _&U~ / ÿ—û1÷ó’ûđKy₫l₫<ÿ‘ưïüüÔ÷ø®ÿ¶9¨xÎÔGưƠưÁ₫Îû^ù,ø-ö́ñẬ£ơgúiư†ÿÉüà&%˜ª 0—₫(₫lú¨ô¿ư‹gÂÿ¾üVúQùÜưưZørø3³¬ĂöÿoN„o₫Ç₫ÿ>ûhùçögö2ô–ơ¹ơÔùéü_ÿƒüwew"ˆ¨ î˜ưM₫Oÿưä÷¡ÿÊF5 ü%ø«÷(ưüøùûtƠ©1ÿ ÿ¾ÈG-ÿ•ư³ú_úÿ÷‡ø¼ööÍômùjüf₫•ükóÔ Â iƒûơưï‡ÿú¹e³è>û,ö"÷₫÷üëûgüĐ€½₫â₫M·-UưØûÅû ưâú¬ùùôôrơ©úRü.₫đú;·Ơ L$ .®ù`ÿmÎÿ©ư<Aé9ÿYø:ơ¥ùË₫0ưIưYüv₫èÿ&̃₫~ÿ÷₫ÿËưŸ₫ ưü`ùYø…ơqöơúÛü˜₫RúÏÀ… Í÷ Ư₫¼ø¬5*ÿ+èB₫Æö"ơ7ú$₫₫=₫Øûœ₫j_₫éÿÆÿ7Ăce₫ưIüGüÜüßúóøBơôGômûC₫å₫Qúa2"Hæ³û úåp+ÓÿéúJúÏổơưÿ³₫̀ü(üUÿRÆ₫3ë…nưØưíûcü‘úÆù%÷ơ‚ó{÷[ü-₫PúÆ₫®#j= ×ư{ö*¢éå ă€û®ó¸öaüsÿ₫2₫iü#æ₫³ư"OA~¤ÿ^ưư%üürú®ù8÷Lôäó2ùtư„₫ ù₫©&Ù úù„ô«¯—ë\Uñùó}÷g₫°ñ₫Aư¾ûW©Nÿ;ưîÿ=˜ —ưMû ûzüíû#ûăùÉö·ó¾ôåùbưJư÷_!½'*0 ơø~¡\₫‹HƯơṭ ú;¼ÿ±üư8øm₫¾û©ü¯é %ÿÏü´ûtú}úhúÇû0útö±̣kömúŸ₫û•ûgŒ)5"QJü?ôÿ–Eưgÿ ]bùṇ̃ơư^§ư·ư@ÉP̀ûûû₫ô ’¢ưeüúú¤øêù̀ùm÷úôÑöèøcücû8üX+T#‹ûẹ́Oư&ßưbæ' 6ø÷Æñb÷¸üôÿyư ₫ÉÚ₫Mû û§êgƯ₫0₫Gü‡ùøÉ÷5úøù*ø ơÎö?ø‡ûƠøP#<-K­÷Nơư°úêüKLá Ï₫̣óơ×øàûóü₫˜oPư’û(üf)vÆRÿ9øiöĐơ³ø‡úHùFơSör÷‘úZøÿXÜ.!K Vûyơ_ûNøIú>j• ÎơPôÛöăøüư₫eó•₫âüŒü4‹®Êÿ—øböjösøùè÷¢ơ®ö÷Iùù̀ÿœ…-¥tùÿø´ù*öKù̃u r?ø÷ÓơÄơ“ùYÿ°ÊƠ=₫Íû̃ư]ăçÿFù¹ö”ơ-ö’öF÷úøùö¬øÖøÙÿªĐ,x€úû$øỤ́~øF̀ D »ÿúúQơJóKø”₫Àjå ưL₫z¢\₫ăú‡ùœö£ơKơHö÷%÷?÷Íúú‘ä x,4 NCư÷đ©öbÛ sÆÿ}û[ó–đ¤ö1ưöAèßûĂüÂÿÜH­₫ăü¿úö9óệáóñơØùëúèúùF B+û%µ(FjûBñï–üÓ~{:#ø4đgósøûÿ~ Ëÿ¹ưmÿ©ÿ¡ÿÄ₫3ư÷÷ôÅó¿̣­ó"÷¾ù û̃ù̀ü ¶+t[ơØö¸íHó*₫ïÇv‚möö'ówö*ơ?ö´ưzL÷ưáÏƯưØưúưØüúË÷q÷YơỆẹ́ ÷où?ùùô$n&380I®óĂîTơ…ù2ü¤Æ± Åúù7öṭ>ö‰ü/°à¡cÿ>₫³û!ú¢øøîö¶ó>ó4ơ2øøåøÜùË ‹&jq ñt)ơ?ó‡óLñ¾ø Çr4ñ₫÷±óƯơ ø©ûCK̉CÚ₫úø|öbôUóvóôÑơ†øùÿùüÈØ$s€ ÷3ë÷̣ôñeî÷¥ÿ̉ÿá!!†ú¯ø­÷Üölúá₫\°ÿRüùÖô³̣Æñ½ñró<öfø;øáú‘!8ơ$\ !ËăûœơǴ]ëaöœ÷Êù’c#¶0ùÿ™ùđ÷üïújüÉŸ¸¥½Ù₫³øỡó~đÚđạ̊Oơ6ơø ûw@!ù#z(3§ ¬üïèMï`ïưíú₫Ñ*œÿ3îüùûèüHü÷üú₫̀₫îûøø1øgô ̣œóFôṆ̃oơ ÷ f3"$•)́ ö  ơ™îïIḉåÓï_ôùˆÓ à æ ÊÑÿkụ̂ö ÷øơöÇöR÷n÷°ơSöN÷îöăô}÷?ø̀ f 6$m"sÓi Àü—ø›ô[çèẾÉé€đá÷•₫O+&pµ Ñ Ä Zü ùÙôÛñ–ñpñ¯ïṛÂóÏô¿öøÅø£üƆy&!h4 Ơư_ưƠơÖçíŚÀæîôø|ưGL ë Ô ˆ̃Éư@÷róñ*îëëÊî¶îóï€ó¢ơ÷HưRá­(» ̃ Á‹ÿCö/èLíëéâ(ëyị̈Jù(ƒ ß Û4p û1ü÷8̣îê.́‰êÈê$ï´ñsó^ùf¤P;)7"l ¹#½Ơú ëUî*éL̃ÏæOéê’̣;úF 5 I¦’ Ôº₫—öûđë1ê>èiæØé́ˆîÏóq © ́æ%–","•(í"™$; 7óïđØê.̃éâæăÔâÈé‚ñ_ù2ÿ­a­²Ü| ¼‘₫÷œñ=í<éüåáæ—èáèâïëÊ È ÷Ø ©)d%47,O û÷ƒï{áxărä©Ư[äÁë`ïÎöóÿü z¼åĂ  †¬ưÚø)ô:î±êééuêTéUøJ₫—ÿ₫Pª±Ă"´²ÿÊÿ÷ú‹ñé è…å₫â©åƠéïbôúZpÙ› n ' y7³‹₫ÅúÔø¢öoööû·ÿ !ơ× X „ º   Ø lL ₫*ügù°÷F÷b÷Â÷ùđúư<ÿ¸‡"xj7Åÿá₫rư#ühûvúîùúOûêûŒü‰ư„₫̣₫Ơÿy¿%ưb̃uÛ!el™9'¡ñ1n¤<"Èÿoÿ=ÿ ÿ₫₫êư7ưÉüîüœüWüHüiü1üµûµûûûLûÀûüóü₫Î₫Üÿ) ´Iw¬Đa2Ư Ă„°}Œ“¾ÿÿº₫₫‚ưDư ư™ü7ü üÁû^ûdû…û‹ûÛûdü̉üSư ₫₫ÿÿôÿK|âTxßL]ÇHsÙ?`cBéLª :làÿSÿÀ₫O₫!₫çưœưªư«ư‹ư´ưûư₫B₫•₫«₫¬₫Ô₫̀₫³₫µ₫Ơ₫í₫á₫+ÿgÿcÿÈÿ=kßXåí©u‹R ¹ÿ¥ÿÅÿ¸ÿÊÿ(/\……’o=ăÿ¢ÿzÿhÿ]ÿ;ÿ[ÿ~ÿ`ÿÿ½ÿ½ÿçÿ$đÿÀÿ¸ÿzÿCÿEÿ?ÿ+ÿJÿ‹ÿ®ÿ×ÿKSmƒ|ŒiMS6*+5T[{¡˜¡¤}qS äÿÄÿÿÿÿnÿhÿ€ÿ‹ÿÿ±ÿåÿóÿ1</.%úÿ̃ÿÎÿ‰ÿoÿfÿBÿ>ÿFÿ`ÿÿ¹ÿơÿ1[•³²ÅĂ™wU:"ñÿïÿưÿúÿ+7DebdiS3́ÿ¨ÿ~ÿ[ÿ2ÿÿư₫ø₫ÿ.ÿYÿÿÂÿöÿ!9Um^ZL6%ñÿíÿéÿùÿưÿ)BgˆŸ³¿À¿›wTßÿ¦ÿÿFÿ+ÿ.ÿ1ÿ;ÿdÿ”ÿ¼ÿđÿ ,CG:,áÿËÿ¸ÿ­ÿ«ÿ¡ÿ®ÿ¿ÿÍÿïÿ>V~‘¬¼¨ €S&̣ÿÇÿ¢ÿuÿoÿhÿyÿœÿ¹ÿùÿ/Hhrr^8# ÖÿĐÿÁÿ¤ÿ­ÿ¹ÿºÿÀÿçÿđÿ6DCYV8 èÿÆÿ¨ÿ}ÿ}ÿfÿiÿwÿ ÿÉÿêÿ(g}¢µ¬œlY'éÿÔÿ¹ÿÀÿÔÿÉÿäÿ₫ÿ"$/"úÿíÿÓÿ¥ÿ©ÿwÿtÿxÿnÿeÿ|ÿÿ—ÿ¶ÿ6abyyQS ùÿÍÿÁÿ ÿçÿ¼ÿG8^NnXX?*êÿÂÿÍÿ¦ÿØÿ¯ÿ4¿ÿ\×ÿ¥¦ÿb‡ÿKÁü¿ ÿáñ ưú÷₫îè Ëüṛưư…RÓöưkü²ûµÿªưcûF₫…-₫½ưÁÿ0ÿË₫#b—… ÿÉ+Äÿ^₫ùƒÚüƯ÷ü%ÿT‘₫ëÿiÿ˜ĐưcÆÿxÿḤÿÊÖ,6₫̃Áư”ÿ‡d₫üÈnư˜ú¸0Hû„œbÿdøÿæyÿxưđ-ưDử₫€₫ÇËÿ(ÿNÿV₫g™büÁnĐươ˜ÿ×üuˆ₫í₫ÿÿ₫h‘ÿKưÿ1[ưÙ½xü(.ụ̈ÿ)ÿÆư˜₫d₫Ø₫¤Ñ₫bü̉ˆÿĐư´¸₫~£ÿï‰düÖÀÿ´ưÈ5₫ÙÿLu₫,Y₫lØ₫à+àÄ₫Ô$₫RÔ–Qư(₫Iưúw₫^`ÿ1pªưtÿOÿÖÿ–Øư"̉ơúYÿüæ›ư₫MøîưsB₫₫©ô₫O₫NFưÂçü‰GëÿˆyÿœËÔưŒ̀ư´Ó˜ưTÿï₫ͤ₫DưÂư·8ưN8ÿ÷ư<3₫e₫18ư«'«₫`¤₫¨p0₫ÄL₫ỵ̈:ư,÷ÿ*ÿ±ÿÅÑ₫EĂÿRÿnÿà₫è ₫t₫Ûÿ—ÿµ₫Éÿ¤ÿXs²₫Wåư´ÿabưV.üTÿa"ÿºƠư‡ÿÿÀL3Z[zÿU₫‹)₫4´ÿgÿç₫ú§ư±q₫q.ÿ¶y¬ÿä÷₫}ÿÿÍŸ₫1Z₫%M₫÷RÿE{ÿ~Çÿ“₫P:ưØËư5ÿ¦₫¾Tư¹ÊÿâÿM4  ×_Œÿ;ÿÓ®/Yö₫₫È5ÿ®ÿ!ÿî₫‡ÿïư&ÿ>ưX₫ïü®ưÖư«üưW₫%ưRÿº₫uÿév₫,mÜÿăé`ù*Ñ Sưƒÿû€ü­ù%ù.ù÷@ùơö”ù…ø<ú^úÅûEü?ưÿ°ÿ:ĂL đÖ i Ê P Ç Ê V‡ ̣6Wÿư₫Cû?ù́öGơ´ó,̣~ó4̣¿̣xơoôM÷qøÍùîújư₫¬ÿ‰¨à, ¦ ́ ½ Y¢A$ £ î °âÊÿäưùjøơ)ô©ñỌ̈TñăñĂó ó¼ơªơï÷Ư÷ú¶ụ́û@ư?ØI |× … m®¯ #_  íèû–ùTơ'ôüñđNñ>đ̣Ụ́üó¯ơyöJøøùúYúû¾ÿ˜ÿ,#ïG c0—!k” Œ Ï —Óÿ„ü÷ ô<̣Đï ï{ï đ«đ…ózô”ö“÷Óù!ù¿úbúßúsùäưjÿÅư»„ ™ bÁ by7¶A b<ư<øÑóñÓîJî#íøï­ïÇ̣9ơ|öùHúû6û­ûûúúÖ±ùô,³³ U `!ƒ¼}̣Ÿê )X₫ÓúôgñÏî5́\í÷́̉ï’đ#ơSöUùÔú†üüư¶û¹ûø´üS₫Rùú`—¼ Mt̃v3¤ª #’ưñø•̣ đPí´ë!́¡íyïƒñ4ö5÷û·ûzưưhưÚụ̂û£÷₫Zülù9I₫Ÿ À‘@IDUT‹ /ưÛø̣kïoíˆêĆeíïƠñ[ön÷\ûrümưŒư₫tû‘üY÷vưü‹ø§ư/A P˜î«Ñ£“r Q₫±ø̣ï»́ êâë"́̉îLñăơ®÷†ûÏư°ư`ÿ±₫ïü£üÀú¤÷ö7¥K ½ ăY…Ñècí ›ª₫ü-ôéïqî.êÉê‡ë‡íïó̃÷„øĂ₫·ư_ÿ¸ÿ0ÿËûóư`÷Åụ̂ư_öyưW¯4 öù;z<Ú} úüˆúèđiï±́Óèmë0ë*î¿đTơøƠú:¸₫ Óÿüi₫ăöƒû¶ươœư»u ù˜Ëª?U dgümú:đ•î¬́ùçë8ëÊíïđơùø+û6Íÿ“E‰ư¯ưèùµö‘ô‡, é Zz^®!àíÀ 5Îư×ùdó3́)í«è₫çÜë!́Ơï¯ô§ø;û́Y¨ÿªưaư*öµùÓưụ̂e ₫¨ ƒ F ôˆn×=^¯ ƒ&ü[÷ơïµê¶ëgè’æî́qđƒøâøÊư*°¾IÅ₫¿₫¬ûöYøưưÎñà7ÿ   «k»[hHñƯ Ôèúd÷´î±ếdæPéí<ị́ô÷úiưÖ2D‚ÁRÿÿOûê÷~ơC₫Œó]ưTpư™ Ë kº̃́ ÿ² ³û@ø|đºëÝÎè5èùí9ị́S÷çúCư*7}-×ÿ]ưùvøÙôưaôÈ₫óÔÿ_ # rèä:%“.0 ] "û÷€đ8íÍ́¹é„ëJî¹ïôFøÖû¸₫ -¸`ä<EÿóưQù³ù'ô„û>ø³ø©Ơư½) ¡}Ê;+Tt"  “Ëüơùôgïdïǵ°́äî́đó´÷Fû˜ưÉÇPgÚï„₫ÏûùwøÙóäü×ơøû-v₫ ) ¸.åtÿÔÏ ´ ÷ü!úƯóGñđQîÆî{đófô•ù(ü:₫28A¬óíư*ûùĐ÷3ôú©÷Zù›c₫̉ Ä iöºrŸ À ‘Èư$ü†ơ¾ó$̣ªđñṚZốơßù–ü9₫9£lÛïáÿœư,ûƯøw÷jöúô{ú7øæûßSOá j ³úh–“ Đ vă₫Àû÷3ơÄô7ó4óXöôơÉøwü+ư&µÉVd̉p₫îüQúüø÷ö’÷lơfü̉ùSưE³đ g ¤ ë3( Ù ưa1ÿưÚùÆ÷÷ûơVöDøfø~ûÍü”₫´¼â³Ë}ÿá₫–ưûâú“ø,ø£÷a÷™øø÷óüXüLÿ²”ë# T Ä A ç ‹¸ä[Vÿ˜₫kû ú[ú=ùúÿú¨û]ưÛ₫|ÿJº;iÿ₫»ûÙûTùùÈø}÷öø×øăù‰û5ü4ÿÙÿ¾ơw£8Ă„ê¾Eěχḉ_ÿ¢ÿSÿ)ÿRÿ©ÿvÿïÿ¸ÿ2ÿƒÿÿ¡₫W₫­ư°ưµüÜüüÅûæû\û{û~û¸ûáû†ü¸ü–ư₫ñ₫Ôÿ>Ʊ¿ŸLQk¨Mèø_ zDµ=T¦›½7„s*Xóÿ´ÿiÿó₫…₫ ₫ŸưưÅüˆü<ü%üaü[ǜüLưưd₫Ü₫zÿưÿzÇ . !èĂ‚e+"6-»ˆÚFxÄ·³’!×aÅVåÿFÿ ÿ¾₫i₫s₫j₫m₫¨₫ç₫ ÿ^ÿŸÿ¯ÿƯÿëÿÄÿµÿ‰ÿ2ÿÿ̀₫™₫–₫r₫…₫¬₫Ï₫ÿXÿ¢ÿéÿ2yœÙơ  ùêƯØÈ¿½´ ¢“nnN)$₫ÿåÿÜÿÈÿ½ÿµÿ¼ÿ¬ÿµÿÀÿŸÿ¹ÿ™ÿ|ÿ|ÿHÿ6ÿÿÿ́₫â₫₫₫÷₫'ÿaÿwÿ×ÿ B·ÓôöáƯ©X!ưÿéÿÍÿÏÿæÿøÿ U|£Öăçø̀¬t)đÿÿcÿÿ₫₫Ú₫Đ₫ø₫ó₫-ÿaÿÿÏÿ2BSL8Îÿ¹ÿ–ÿwÿ€ÿlÿÿœÿÔÿ:wŸÛæîج‰O2ôÿØÿ¿ÿ£ÿ¯ÿÿ³ÿ»ÿƠÿêÿüÿ  ñÿåÿ¼ÿ§ÿˆÿzÿyÿkÿ{ÿ}ÿÿ¯ÿ¾ÿéỵ̈ÿ 3/<B23!)+-26@JOYWHcURI.úÿôÿêÿÎÿ̉ÿƠÿ®ÿ¿ÿÀÿ¿ÿ¿ÿ½ÿÈÿ̀ÿÍÿÑÿ×ÿÚÿÏÿÉÿÚÿ¿ÿ̀ÿ̉ÿÆÿÑÿÚÿâÿôÿ+ACD\`j\XTZ7" æÿơÿ̃ÿÇÿïÿ¿ÿùÿØÿÈÿÏÿÇÿÎÿ̀ÿÀÿơÿüÿîÿưÿùÿîÿôỵ̈ÿêÿ1Ôÿ<Âÿ;ĂÿS©ÿq»ÿ_ăÿX̉ÿúÿgĐüéÿứü/o₫¢OûưÜ>÷LXû¼|üÿ)Î ÿX4{ÿ{jÿ=Àÿ!¼ÿ»₫¦ÿÁ₫§₫0ÿ—ưn7ưm¢ÿ˜ÿ[₫Đ̉ưAÿúû¹ưRrˆ²ùư¢«ú»üúư”ÿ*₫ÿ7lÿĐ₫£Éưcˆ₫ÿ-ÿgĐ₫#5/YĂú–Iÿ¼ưn¼ÿEÀ»«üx₫Íúaươư₫>‹üb™₫ßü_́₫ q¥¹ÿÿ÷’ü₫ÿlÿ·Ôüư”)½”û₫Î%9ÿÓĐ₫O·ư%ư}<ư^₫ưLüÊû₫¢nÿb₫‡ư zû#ÿÔÿ₫³ÿÎ₫D+₫ªüè ₫œwĐÿưüF°₫¦ư'~ưP3ÔûiúÛTưuưφùP!₫gÿ7–4ü'Süơ~₫₫^ü£₫ ‘ú¥ƠúMưỒ>₫ª déưiû¨”ü³ưóÿ4üBF ư CüË₫cS£üµtûQÿßüÇưªüG¨ùküeưiûWæO°ÿRGáư)€₫’xüLÿÿá₫ÍnIóÿ‘öÈưoÜÿâÿ½÷ÿ·®ưG÷ư:ư|₫£ưC₫Uÿ8ÿüÿWÿ^ÿ1ÿÊư~k₫®ÿZ₫aÿÄưpÿŒ₫oÊJÄ¡~kißÿÓÓîƯÑl³¬ÿÿ9ÿ,ÿÑ₫ä₫P₫ëǘû̉ûZùúụ̂ø&üđû ưưÿmư‰₫ÖÜáưʪM: Gñ ƒ-M7-S ̣ûZû±øXö-ôợVñ)̣±ñôaơÀörúfú{ü]₫ÿ`8»î.œ‡ ƯƠ çhˆ—sª ^-1úPóïđ)íëûéëÙ́™́ñ‡ôJơYúÙüˆư²eˆ₫ƠSz! Sr惡ߵ è D=₫ÙúÍôoñ†́Bí+é|ëǾÆí„ñhó¯öK÷ùºùû«ûưÍÿÿ°ÿôHYiđ²·öƠ -ºư”ø÷óđFđñî©íÿ́±îoîgî÷óụ́Ïó¡øÏö ơ]÷øö ûm₫L₫đÅ ² ÁÉ Ơ ơ#­#%v¥Öæ₫+øË÷đđ~đÓîVđKïàđ›ï¦đḌEôLóâơ=ô{óẶ¾ó‘ö±öƯü¥₫§V̀ñ*\(Ÿ!ƒÎ™ 6bư÷îïơºï|ï’óẠ̈ợ9̣pơđṇ̃ñaöỢÎđ-ơNđïíñ›óôïû¢ù ̉¤ €'Ă.ˆ(‘# jlµü ÷”ï8ï×đëî[óq÷Œ÷²ø–ú₫øY÷±÷ ô¶ôFñđđ*íî ị̂‘ø ü# -“,.Ë(,%¯\ ï₫ơ¬ë¬í8î@́ạ̊Mù¤ùçư[¼ÿL₫ÿKú5ơÙơâï í*î ëăê8ëx̣ƒó̉ûÿ‡Y"ü1µ*D*1%„t úû1́öè́́aç¶́uôH÷ÅûÙÙvؼV₫¾ûµöBñnëÙ́{è£æ>êÓ́Âï‚₫{Hd&(3Ø)¦+o'dï'Uø6èJèèăNêó·ơ9ûJP•o = Ă ÿÜùÿñ́Êếæzăzæpé́•óÇ,/e+Í-'À [ô•ædètăß&ê!ï4ó̀ü₫ P ß) ùó̀û¤óæí–è:äâùâeå5ë z™0;+9-d1â%:M Æ&ñưæè'Ư1̃—è1éj̣Gü×ê ö/&h ó„₫)÷2ï[çwåÉß°àăŒ́·È,Œ'¤1­.-%–̣³ñàé­åĂÚMß äæañù•ú ™‚»Ê í…úđ³éUåƯCà“ßWí„Y÷Ư&!&p1ª.m%«9¡ơÖ́ÛåAÛƒ̃ŸàªâCíXơb₫U %³ZJưëô²́+æßÙ̃×ßôÅ÷ÔÏ({/©)\&~øÂ¼ùHñ@ẵæßÛâ$êÎïơúS³ Ø»Đú̉îÿŸ÷âïbè{á‚â]̣üíư— ® )¥#2&¬#iQ=ôúzë›åØăÛàǻç©̣oü =+µ 5ư&øđçẾåôÿëáf Ñ3Öđ!3 ÜÚötÿ¬đ@îçˆßưăĐ俨đ-÷4₫¡  s X ‹zÿ¨ú¸̣ª́ºùf̣aôu ' È>”ruN_ ¼ müó—̣%æ|äôæ>äûéxđö6₫*#   = ™!ûÈó8ñ̉úwôEøú‡¥ ÏWøK‘ä¯ ( …₫ơ₫ó?éĂåç‚åÓèBïpô3û„9̃ å«ü¸öóaü‚÷ ùwÉC ¬|…v¹ ^ ROößơ˜́?çè æé!í&óÄùưàŸWîtÊü ù{ô,ùÏû¢÷UĐÙNTMƒ ¡$” &HúWö^ñưé¾çæÈèÇêîî÷MúÀ₫ÜØÅÚ¡£ÿúqø°öúûû¨ưS§ /P/< w ÎFù¯ô½îjêûçç‹êö́5ñï÷Œû^zwđÿ|₫xúp÷±øŸưăûœ® 溜qơ8] .âÿüùœó íëÇèøçë(îŸóæ÷¡û,V%Á₫T₫?ü±úüù ₫₫¡ v păg¦  cÊÿ®ú̉öÇ̣ñÁïđ ̣¸ó÷•úFưµÿyr‹€z|¾„ ·ÿ₫ư=üüÂûEüư₫sÿ¬º Ë 4À%‘öVµ+ưÿ¼ÿyÿoÿSÿ/ÿ ÿ¥₫Z₫7₫ ₫₫₫:₫“₫ÿNÿÆÿ)@uv@Ëÿ ÿ|ÿÿ‹ÿ®ÿóÿ9¼B>2!µZ ‚ÿ5ÿÿö₫ÿaÿºÿU»c„“w3̣>îÿ£ÿ{ÿfÿtÿ‚ÿ˜ÿÇÿÛÿăÿ₫ÿçÿÆÿÿ4ÿÊ₫V₫üư¤ưŒư‹ư¸ư0₫¼₫ˆÿX¶"h3ßuêzĂÿˆÿ’ÿ±ÿçÿ1æ4%ị̈ÿQÿ¤₫₫‰ư;ư"ưCưŒư$₫Å₫`ÿ!®(·Ă¬h$Ú‡Gưÿúÿ4a‡¶Ä­Vơÿ¤ÿ/ÿØ₫₫n₫x₫“₫È₫&ÿ€ÿàÿ6t´ÎĐÉ¥vO"ôÿÜÿÑÿƯÿüÿ Jw¯ÆÅÆ_/áÿ–ÿmÿ3ÿÿ ÿÿÿ3ÿOÿgÿÿ¸ÿ×ÿîÿ !1Eenw˜•—…f^<ùÿÈÿªÿŸÿ”ÿ¦ÿ¢ÿ´ÿâÿ,>F6(çÿƠÿ¨ÿ“ÿÿªÿÅÿÔÿóÿ9S^[Q>îÿ®ÿÿjÿCÿ;ÿKÿrÿ ÿåÿ*p¸₫  ÓP'Ơÿ¢ÿ~ÿÿŒÿÿ°ÿÑÿëÿ ₫ÿèÿ«ÿ‡ÿ{ÿVÿKÿZÿwÿŸỵ̈ÿF{°åöî¬\-ăÿƒÿKÿ+ÿ;ÿcÿOÿˆÿĂÿöÿ2tpeg>ăÿĂÿ¦ÿqÿqÿœÿ_ÿ‚ÿD—•¦%꙲~ÈÿƯÿjÿXÿ‘ÿ2ÿ8ÿÉÿ{˜csH”ÿĂÿwÿ?ÿ¦ÿRÿ<ÿ˜ÿ€Í.¹dÿ>äWKÿ ư6ÿˆ¾ÿHư üf₫=ÿôÿyÿ ÿMÛéƠñ€." ª₫2ÿôÿ̉₫¦üAư„₫4œ°ÿ–ÿ1*N‘£̃V‹ÿTÿsÿ₫,₫¬₫kÿoÿKÿdÿÅÿ$ç₫!Œ&Q8©đ'ếí*tñئ~=aÿw₫K₫‡₫I₫Jưƒụ̈üûü4ü û#ûÆü₫₫>ÿ‚ÿj[¹bû+n¤Â$gĂ®£ÿ‹₫ÎưKư¦üûâúËúú¢ùÈùúYú©ụ́ù½úNü;ưßư₫Èî„VL ŕqÍ B p­ÿü*ú3÷¿ô6ôô&ô}ôô÷uù%úAû=û¬û%üÈúcú¿útüÿ+.u Ö˜€˜Ú.  Ÿưû<ù.÷ ö‹ơ ö¶öÓöK÷{ø¼ùèú´úúúùgùñ÷Âơỗô5÷ú¯üvJ Ê¿+åt¬å …¿₫ăû÷µ̣$đÖñnơ}ö¥öGø!û ₫ÿøưpưIưđûHù‡ơxô™ơ6ơ₫ó³ó—ơÜú€₫6ơ ›sq . =i Đºûùôcï΅:í*̣ôơ-÷*ù1ü|‚çµÿz₫ưËúöơ¨ññ6̣ạ̀₫̣Ăó-÷ÄûGÿà™l …!p$ÛĂ' JÙùñö…̣œíëÂëđ¶ô]÷lúî₫³ƯKÿü¶÷̉ó;̣{̣óóŒó>ơ¿÷lúÅư ¢ Ç'Í%p¯ç¤ÿûcö9đ́sêëƯîMñVô¯ùXÿÓ5>"ü.0ÿ¥ûsøöölöÄö÷Ø÷•÷øÁùüCÿ¦>̉ ]HX·$Æ $V₫™ú±ö óđ”đ*̣óójö_ùÚü¨`}º…‡DoƯÿ’ÿMÿ¶₫i₫₫Éưîư₫4₫ơư ưàưs₫á₫ÿ!ÿfÿbÆổ;g°Ÿ¬Ÿ3ÿÿ 2c¼;Öà (¹1Ÿÿ”₫Nưóû§úlù6ø6÷ögö¸öy÷ø3ú&ü1₫'ænß÷}¨¬¥aáF’₫‰­8¯;­k¾ÿÿ]₫­ư ưtüßûQû̃úúúú³ú̀ú̃ú÷ú ûû ûû_ûßûrü2ư4₫Lÿp‰…{sqj-¢È¯b×7Wz°ưÿoÿ ÿÁ₫•₫{₫f₫M₫(₫đư»ưƒư9ưêüücüWügü{üüÆüơü#ưDưbư’ưÎư ₫?₫`₫|₫¢₫Û₫ÿ_ÿ«ÿ b>!øºf÷SkDäcÎ"^Œ¹ÿbÍÿ?ÿ¾₫V₫ ₫̀ưưWư6ư*ư,ư*ưưưưưưñüÄüœüügüWüOüZü‚üÂüưqưÜưc₫ÿ»ÿy< ôíÜ®UÓ*J'Ă$f“°ÄØÿD¤ÿÿ“₫₫ºưrư:ư ưàü½ü©ü£üœüŒüwüeüfüuü†ü•ü«üĐü ưLư‰ưÀưöư9₫₫½₫đ₫%ÿrÿÜÿSĐTî¦p-ÏU¼ 3̉^Ó@œå#kÇ;¶ÿ0ÿ³₫K₫úư½ư€ư>ưưƠü²ü‹üXüüơûéûñû₫ûü1ülü·üưMư‹ừư₫X₫›₫Ú₫#ÿyÿíÿsư‹$×£t,ÉJ°́ë¤&†Æôÿ'kÿÈ₫9₫¾ưeư'ưúü̉ü¥ü~üaüKü@ü:ü*üü"ü;ü^ü…ü´üöüKư²ư₫|₫à₫Gÿ°ÿZÓ 9Tt§ÛC{ƠA°d”¯ ]ñ^Ă$yÄ{ÿø₫‰₫)₫ßư¯ư”ưư{ưpưbưKưBư6ưư ưñüäüèüëü÷üưOư¦ư₫‚₫û₫}ÿzéE’Ô3JLNB(ÿëăßéíïêàÏ®U)öºw*Ôÿ}ÿÿÉ₫w₫5₫₫ƯưÎư¿ư¿ưÏưóư₫4₫Z₫‡₫°₫Ơ₫ă₫ü₫ÿ9ÿRÿbÿ~ÿ¡ÿÄÿßÿưÿ6d€•¨±Ñê!?f˜Ăï A_eA½w¼]̣ÿ¡ÿRÿû₫®₫c₫)₫₫îưƯưÚưÎưÛưæưôư₫₫8₫e₫¬₫ß₫ÿ;ÿzÿ´ÿôÿ7o¶ç#U¶Øǽâ·›m\9 ÛŸwC4 ơÿÆÿªÿ‰ÿ]ÿGÿ/ÿ-ÿÿÿø₫ơ₫å₫æ₫×₫Đ₫Ó₫Đ₫Î₫æ₫ÿKÿ…ÿµÿưÿ6{¸ÙđÜÖÙË®´ÆâÓɲ¢«ŒzwvQEÍÿÆÿ¤ÿ©ÿpÿÿ[ÿÿoÿ¹ÿmÿ¿ÿÿưÿÁÿjRèƯư¡ưÇüÎöÿVù¨ü’ Ûô.úĐư`ơ{ï-íûF₫º₫Üû‡¼µ 2 ^ œo{ \jZÊ•ú¿ø¡øoø̣ ô†÷vúÛùú§ü»ÿưưúiúû“ú̀÷‡ø<øÖ₫ # ̣Årdœ__ ₫¿÷Qó0î­é9æbê²ï…ñ‹öǯ`]£½ G)ûIöËêâÀ̃å̃?Ựܤá”í„ô₫Û!r*Ü.Z;=>;]0f.,́ÇßÖfÑĐJÍØ̃é·đƠüu5̉%P).-ø+… ÿÿ\ï$ß­ÓÀ­ÏĐ ÑµÙ6åíîÉ₫<‚#j?È4¸?hG >ÿ/̀ ’;æ&ֿؓψÑ̉çÛ,ñS÷ºư4ËT ,!3K"ƒT “í÷’êßêƠxÓÿ×øÖ>Üälë,ó¹₫>Ä.4Ă-6P=̉7.“íh¸íÓà˜ƯˆƠí×ÚÖ‘ßSñ̃ơÿ<î“¶UŸ ‚ŒưLöjé̃9×ĂØÜÚơÛâféĂïÖ÷,= ·)Ü0Î,ƒ9°6·0 ¹wöƯáöß'Ù­ÚvÜ%ßøđmú·₫ ›åmö¨!]₫)ô´êHá×Ü̃B̃­âVå>́%ó[ù€ÿ‘7,+ó.h6 3h)åP BízẫÜNàfßéøaư&i ËAđ çđ9ÿ]ö ïxèµ̃éàRáă‡èlê<̣“ùcü¥ ̀%*º-I2ù1¢,Á ªñüå4ßü̃’äă"ê†÷ÿ .á覹 L‰ûmñŒëéÉå'áhäøêüêÍípóWûÆ¡N%j*y0Ï-Á,›U½Àơ»́·åˆà¶åÖèv́œơ¢ûÁâ ge ù× ưËóWíƒëóè«å¸ååéí²đ¸ô’úªÍ£$“)%.¶.*e’ ôJëAäqă¬èêUï%÷Dÿ6XÔ V„ ’óÜư øÀï8íäëÅéç%èẃPđạ̊K÷mÿó$̀'¡-.ê.l ³øxđçñâ)è—êÑîôû³Îjá ½ đƠcû¸ùYówđ–́vé£éHèƠëÉîṂM÷₫ÏV$ª*L.&-Ù.6 ³µöọpéÜäéÈ́·̣hơû0ù9ü¡‘¶ư‚úTöơỢ‹íđé}è&́*îÖî(óD÷C qo$`,U+Ë.(4p ü>÷+đéqê†́¦̣#ö±ø®•Œ<ÅŒư°ú`ö¹ô•ơó$îàêêêéîªî đ̣̣é!q#C*ư('-+|p Êüùơíë+́vô'ù’ù*₫¯›ẉư£ư‘û¥û́ơÑóÏô“ôñ¢ë́î̉đ’ñqô¸{‚%d("&C)3%•đœû;øÚơ—̣í́îtö8üxÿà₫lÚ²₫ø¿ö>÷³ơ3ô5ñ|ñđœî îïíçñ#ôừ&’)ß'}'o$̣áS.ùÂóËóṿöï¬ó¡øw¶DĐpœüúöô«ñẠ̀Øđäî;́ƒëîeï ̣oóèüƠôù(Ú'~&z$åÉ3äø±óẹ̈Ị̂îị̈Đöÿ‡Û3/'ÿ7úƒơlññ¤ïoíáéÀèÇë&î6̣¥ô‡4!¼*Ơ'‡%† Ă…n!øṾúóó^̣{̣{ö¶~íÆK₫"ûyôñđÏđœîê4éééVïṾPû¥+C&Ơ('É èô ~₫mô&̣;̣üóƒơ¬öÈü”B×…0ÿưûPûÛ÷°ó@ïºí’í¶́Ḿ—êù́Èđ¢û ;#H&±&¹!<°|ư8ợïđ ̣ó^öPü[jmPÈ₫Øü…ù¦ơñ%î_ëeêrêÅê=íŒđ¿û• æ%̃'c&Û À9X ₫›ôóïî¡ïđëó¬ø¿ÿ3sX—üÿ+₫pǜøªó<ïVëEëÂêÑëÝ:̣ÏÿÔ₫ &ô&"ö9[û)ó.î–îÀï̀đËóÊ÷₫”“Ämí₫iư1üøóaî́ǺƯí#ïó¼ưÁ Ÿ#ƒ%„!0±Ó jÿ½ơaïÈíï₫ñơØ÷ªû!ÿœB³ß₫düÁú·÷½ó1ïµ́Ó́eîäđ2÷ơö k$Ÿ%!F@“Ûưÿó[îœ́´íuđô2øküÙÿ9ÔKưóùîơWñëí́B́Xípđơù`75!6'…&Î!̣ĐJJú“đë‚êë{ï€̣Ñ÷ û,˜N½ÔÿĂưVùÑơ€đ̉íḱ¥́Ưíḳ¤ư¢ M7$»'s$¬€2¦ ¦m÷Ÿîëüêdí ñdôÈø:ü/Fè-Åư]úJö•̣̉î́%́Í’ïøB²0" (b&/"₫%gåú¼đ ́“ếkï¾̣÷ûåÿSÇTËÿ½üùơ´ị̈́éƯê²́“óÿRc:&)¶%ç âÙÛ &ÿ@ơ÷́îéƠé‚íçñèöZûÚ₫qÊ…₫̃ùPơ¬đÚ́Øêê%ëCîû÷ù°º#0*Z(#×ưï—Ơù¾î¡éIèëyï¦óëø²ü×F dơü̉÷œóºíêèLéê½ñïư%(](£,Œ'Ó"ßÀ <₫éó–êGè®çD́Rđ öGû»ÿh¥¹£Àôû2÷Ăñ́"é\çßèUêÑóF:ª#,Ú,ª&¥!)Ÿ¡)û|ïFẹ̀æèsíăđơö.ûơ#âÀâ)ûœ÷¨ñ́èøæÖè–ê+ơZ¥Ă%-;-^&;!’/«tø‚íßæƠæHè¿íUñ¹÷æü§¾3£ÿ·úóöçđ3ëCèîæ2éDê:ơsæU'C..a&i!]Ư_÷@́¢æNçÖẹ̀íôđ›÷ZưrYܹ| ÿtû`÷8ñ½êZèçdê/ê₫̣è%ˆ'´.®/̣&́!*;HhöŒ́‡æ·è́épî´đ»ö®ưq¾ŒajÿHüø ñgê¡çÈæ ê>ë%îûÁ t# /¢1+2#8~i 5ù·íæ˜æ(ê ́ôïṇ̃üÍu z ™%Lÿiú£ôíKèèáèRë$êQîÿÉ)¹/s/4(́"È_¡G̣®êqç¦êÚëê€î¿ôư'b úlX¢ÿáö%ññ́›ëRë™è:èTè-î·BÙ%=,-1,h'"©=ó¼í¨ë²ééIè®đUù̃«*x#£èûrơ„óḶŒí×è‘æXèŸ́víṆ9Û­,á.—,Ö(á$rÍ 4üÓí`́ ́ê8ènéØô†₫zó˜³ ºB₫Ăø–ơ›ơự¹ëDççiëPí˜êíg X+Ü*¯(â,r*#\ û¢̣̃ñtîØäXäêê÷èư°₫ăÿØw aüüư…ưÉ÷Gñë/́Ǵ—êÄæèç`êùƒf(K)2Z0̀&ÉŒOÿPô\îZåAäzêÑî­ơG÷Gÿ†G N y=,Âeù£ôó…íªé=å‹çDè†ê<è¦ơp~~)(d3¢4)Ûđq;÷-́eâ™áNëĺđØóù₫¡K ¡ ‰ $èÏû$÷“ơv́æåwæDç3å!è§́&c̃+°/<·.#ç †bíØæIă„ä²åëä¶đ(ù̉ÆzĐ—‹ ÊßÿÍộî!ê₫æå₫á¼äœæëZëP›qX+o.÷=82%…á ÄzïÿæNäLâăáÚ́€ơ½ùD‘îẤ í Ÿ ‹ñö7̣"ïĐçlă›âØå æYæÆêẠ̀̃âB ¿.85;‹(Î%àg í₫Ÿî±́,åƯ;àuằ́[î¶ổ ¹ ̉–ßÛ·ü/ø_ïmå/çÓåœậáIæ´́îÅ!`[,´0²;/)¨"—ö—í7çƯQƯËÜâè°́$ú¶ ‡ß ó₫Îớë!èÎåµß~àÉáç¼çôÜ"•. 7ú9Å+m,:"üéô|îÇâ÷×mÛ|Ù±̃²âÜëÖú • DzaÖ~ö I÷‡íÁé,äŨ]âàâ+çlêmô ̀VV*á/4\)¶(p$#… Üüó­ê‚Ư¾̃ÿÜ ƯÑáOçJóôù.û BIwR±IHÿø®̣‡ï¬ë.ëkíFïsó¥ô‘ưz d <ö|ÁâºÔ åE#ûíö{đ>î́ớÅïñơsúƠ₫ˆ¿*î) °{ ÿR₫‚ư£ü÷üü[ưƒư!₫ ÿ^ÿP×Ụ́ÿÔÿAÿÿ'ÿÏÿ÷t¡§nqKYÓ¹ÉZX;ÿY₫₫₫@₫r₫í₫¼ÿlÖ'-Ü ¬ÿ₫¾üû*ù¶÷böÁơæơ­öøàùüƠ₫lŸzêk̉ÿ,GMS†î£”j©Đ)Hê8“ÿÁ₫Ëưưü9ûUú­ùJù ù9ù]ùĐùeú5û¥ûüßüÔưc₫ÿÁÿ‘‚¤Y<‚Á¯¬DA å•xÿ}₫Ưư5ưâü«üü×üæüEư„ư¯ưíưËư¶ư€ưư®ü,üăû¤û|û®û8ü₫üÂư±₫ÚÿⳓLçüø$Ö<ЇJû óï†êÿ‰ÿÿÎ₫¥₫‡₫O₫?₫U₫V₫K₫V₫[₫G₫₫́ưÆư±ưư¥ưèư.₫h₫­₫ÿ^ÿ ÿÚÿ eªĂøú IY‡¯ nĂö?¦Í×µ‹"–í*LZÿ₫¾ư*ư§üqüzü~üÁüư[ưưÚư₫!₫ ₫?₫?₫-₫.₫^₫b₫l₫ª₫ç₫̃₫CÿÿL¿ăÚ6/v¯3´ ØA.̀x­ÿ]ÿ=ÿÍ₫Ă₫†₫y₫²₫<₫‚₫_₫T₫K₫R₫–₫K₫‹₫®₫]ưºü-ư>ü¾ûüJư?ü3₫l₫.ư§ÿĐÿêÿK8Ü­ë¨GW¬ M&±©ÿ ÿ ü8ücüwû²ûüwư₫×₫Zµÿº₫W₫Ôüáú—ù­øó÷†ö×ö•÷¨öîûÈ₫Àư{C.‹ „ml¿Ư  AcĂươüM÷ ôơỤ̀²ó»ơ‡öFúçûÑ₫Zi¥ÑæÛ₫sưRù±÷oơ(ó¥̣óÖñ¦ö‰ü¾úDs Í ÑeÀ¨T æ,₫îüíô(ñVñ+í®íï|ñôôăöôü­ÿÇÚ~AD́ÿ[TüĂùöJôóEñ‹đà÷ß÷ùbG ‘/"Ç2¸4 /Øü ó.ó+ḯéÆí›́µíẠ̊*ö ú₫₫•Kæ c çFñÿæü ù¶ôŒ̣ÛđÖï„ícö$öñöíÄq\Ç¡è@qw ǗÔû{óFó’íéỨˆêë°ñOó¿øÍừ^^¦ V ` Ô¶‚Gú(öió ïwí&ínëºó­ó¢÷¡ÔG ̃[`[Iå̃ÔO—ú,ó²ñÍëôè²ëéĹ¼ñUóù—ÿOg‹ é Î b Pư. ùnö*̣Gî"́-́Wêđ*ôÉôn‘4Ơo:Ö¡¶¡X€ [&₫\ö†ó¾îêë=êWê‹ï;ñAơ ûˆ$¡ „ ; ËÛpưưù6÷-đï"́RëµêÈïáóơôÆ;÷t!2+l2Ô î )ưöẹ́„í:éYêéoéMî¶đ€ôÑú̉ÿ®ª ]R Ë9  rBúsø̣¦í‘íaê:êíṆ̃Iôyú~ªç jîFô½_lÛ ¢ĂÿÅø¤óºïóê6é4ê5éÏë¨đẬ·÷ÿ₫¹"> s É ú 5 ñÖ)₫Íù ơĐđ‘íF́)ëéê*îEơAơ₫”`!8AñLưvܽr „ư÷%̣ïïê–é/ë‡ê`í«̣7ôú¦ÿ+P~ Ê ö 1 F ÖÀ–0üøùôƒïÈíˆ́‡ëÁ[ï§ö÷Mÿ Ä\ïS÷Ơæ­  Tưb÷(̣‰ïĐë8ê\́Îëî«ó7ơÈùº}×…  ₫ ~ R §ß©ư9ø™ô=ñüí²íà́Ó́#đ7÷÷Ú₫î§ơ@ưX}øÜú#: ßư~ø ómđ-í¹ể́Đ́Đíaóhơø÷ÿÑÿ₫ : f Ù ¶ HëưÖưçùơọ́ơîLîÁí^íOïơ0ùû̃M / ï†; êÑú €Pcû;ơrñèḯßë1îÉí€đjơ[÷µûÎ@đ§ ü c v + ˜O û÷·ôIñ¾îÿí=îˆîjđùñù‹₫ ơ }èˆB́½/(”̣×8₫ºùỰ_đzïCë?́ơî|îưñ¾ö«ø¬ưœ…øœ Ç †  åqˆÉư»ú¯ơeó#đEî î îî‰ó!ú“ú₫x µ ¾ÆTËÈ ^a¡ü:øñ¿ï¹î_ë¯́DïîïGóh÷ûÿ~h • È Æ Cúî™ÿTüù5ơcñîîï íÂíbđNơ¤ú ưt · v/ưbZ8 Îé₫Éú÷äđÑî~îŒ́7íÆïÈñÓôø¨ü0ÙüR » § ; •É%ÿÙú~÷ô¢ñfî2îrîÙîđæơĂü«₫– œ‚ùåCÉå^ ¬‰ÿêùåöỤ̂›ï¬î?îîîmđṾñơåø ü·{› » µ ½ ºƠU$ÿûøơX̣lïïơî6ị̈"ôú¦V́dZ7ô§₫%ï˜J C}ưüø»ơṢµđJđ—ïÊđụ̂®ô¬÷û2₫¯N·< ÿ * ¼oĂø0ư`ùŒö‹ó’ñ3ï·ïyïÉñôyö­ü¥Ü "ƯFƒ̃3V(E A ¬Ø´ưêùˆöŒó~̣C̣ñC̣Àô»öûø•ûï₫j ¶Á €æà‹ÿcüÜø¯ơFô<ñ¢ñnïẸṆ̃VơïøâúM©´! tªg9´ö P =Ă}ÿ¨ü—ù÷·ôÛó%ôúóÆôâöqù^û¼ưµ+-nè÷©–¹%Xưúgøưô|ô$óª̣ óñó•ơ÷(ûtüØÿ>œ ă ç²E‹¬1? ÆNºÛF₫¬ûûù<ø(ö[ơßö̀öMø}ùü`₫¯ÿƠ:J—†2Zä₫£ư™ûÔù™÷…öéơÂơhơ¢ơ8÷Dø^úđûÿÿƠ)/$  p – ­ {  ¤ kºœGqư…ü^û9ùbøËø¸ùú©úùû>₫%ÿËÿ Å9K\æzÿ@ưÚüØú®úäøDø@økø,øƯ÷Jù|ùKü üÿ{ÿăÇCC§( Z § 3 ô N c)âÿÿîưjü–ûNûóûKû'üwü±ưN₫É₫…ÿXó§\Lüÿđ₫Ÿ₫_ưLư$üûûxú1úAùiúĂùXûGûư¢ưÿÂÿéó̃¼¹rŃL`ÙÚydï ÿPÿ¼ưÂư·ürưÖüKư€ư₫Ç₫¨ưPÿ"₫* ₫ÿl₫ÿêưưHưÁü"ưéúJü¹û4ưăúrü²üêưưTưà₫áÿ¾ÿèîxÔ‘•iăáuÏ;YéÓ m?ÿû₫ ₫ûưư9ưưzưjưdư₫)₫V₫q₫‡₫ ₫å₫=₫₫ơưJ₫ưùüñüư“ü…ü ưÉüÔüưüưúưÛ₫`ÿÈ 6„"÷NØk|D¹@)îĐWÉ₫Ø₫†₫ ₫|ưøư₫ưJ₫̣ưL₫À₫…₫q₫–₫Ư₫u₫₫ïư₫\ư½ü©ü×ü+ü„üưoưÀü5₫Ùư¸₫µ₫¬ÿ¤;âŸw¾åRîy¹¼áÏï,Q º—µ§~¼äÿí₫?₫₫»ưRư^ưÜüÑüđüºüÆüưŸư•ư˜ư³ưïưßưñưE₫ß₫¸₫(ÿ,ÿ ÿÿ9ÿ>ÿlÿÇÿŒÿ¸ÿÅÿONñ¹<âdíø̣|Yˆœ1ưÿ¦₫B₫̉ưưxüưưü¹üïüøüưéư­ưƯ₫æ₫¹₫đ₫\₫ÿ¸₫Éư%₫₫ÅưûưVư₫–₫–₫.₫l₫]ÿêÿàÿ6g9HœĐѦT‰¹Ëß̃ÿÂÿ÷₫I₫ÿüóüsưüªưƠüưh₫}₫B₫î₫5ÿ\ÿ{ÿèư!₫Êư%ưVü ü>üzülûû^üEüåûDü®ư©ÿ;ÿ ÿ†²S O  { ´Z.u~₫üåû°ûëú7úºúYü„ư¶ưđ₫p]ï-=‚₫sûÛùú]ùk÷pö÷¯÷÷÷—øzû£ưÉư&ÿ÷Á ² î e Iøg {  îçäÿ—₫zü$ù÷¶÷4ø•øäøiû%₫Ä R Ê êz¶È₫èúëơhôơóẸ̈¦̣ZñÜñ±̣>ôøö<ù1ü)ÿº ÛÓùÈ(VÛư  ¬Øü¹øcö™óÓï+đ«̣Pô₫ööúrỵ̈}l ‡ñ ¢ û/ÿKøđ*îÿíî́Ý'ëñ́đ²ñöơ‘úư₫êM^©Pü'ÿiË ”ü®ùJôđ€îÉëwéṔHñŸô¯ùl£ ‡cØƯAu‰ÿn÷iï_ë9éRèÓç™çêû́đ¾ơlû·# ª!‹Æ-ĂNà7‚₫Ơô”î!ë¬êåèwæ¢êÿñ·ö1ütÜ ¿ú1JPÚûæôœ́è‡è=éÜè§é#ë^ï₫ó.ø ₫³D ^ç̀ĂÛ›´| ôcÚûÖóôí‹êëZê1èHíÇó‰øA₫µXC`ă© >^üƯ÷¸ópîáîDñ‹ñ—ñ’̣Bóăơ¼øü2ÿ½TdĂ¾¶= k…JD₫Jùæô!̣—ñ§đđXóp÷,ûư₫´; " Ô   €ëư…û–ù•÷ñơö‹övöÆơeö´÷ø´úVüV₫èÿ®"ư è o Ê ­ c ô íG°ºÿ#ư%ú·ùªùÍøjù7û/ưVÿƯ<©hv0ˆ•Ú₫¾üûüù‰ù+ùù ùöùnúGûïûü!ưöưÆ₫Tÿ‚ÿ7ÿN₫°ÁµæL/Œñ…ZrÉRö~AÿÍưtư^ưRư_₫V₫₫b₫ÿ₫ÿÿZÿ+ÿ8a₫₫‚₫₫Ûư(₫"₫«ưéư ₫iưưÀüÅûûÇúAúú3úØùñùeưºÿ±Êp  B Z ú ô K®ß₫!ưŒüÅû°ûPü¾ü¿üxưp₫ÿ–ȃ{Çí₫ÿø₫Z₫Üưü¹û4ûXú’ùBù ùøƠø\ù&ú"ûéûnüø₫ö[5gᳯ q Œ E Ä́Mi‹ÍyÿV₫Íưaưư©ư^₫€₫Ú₫bÿ»ÿ0[¿ÿ&µÿ´₫ÜưøüIüü³ûøú ûâú¬ú™úăúïú6ûûñûeüôü8ưưI2ÿrn¬Ư – T W ) uª$üÿ]₫–ưgư÷ưâư}ưºư\₫¾₫ÿÿ¾₫æ₫ÿ8ÿx₫Èư!ưÅü½ü~üü÷ûêû¬ûJû[ûûû™ûíûøû¯ü§ü”ưØ„ i–M C ø ¹ ư € 1 døªÿ_ÿX₫%ư¤ü,ü§ü ư$ưÿüÈư”₫=ÿØÿÑÿÓÿ°”ÁVÿE₫SưÀü|ǜûSûfûaû‘údú\ú ú¡úÜúûåûpüèûÉ₫‚ètí/   Ÿ  p %åc{ưYưåü’ûûnû±û´üư₫́₫Må”ư•. ÷ÿ~₫>ưĐû*ûúlù¢ùù¬÷÷„÷÷áö6ø-ùĂù\úÏùüÑ – =ƒ£é°… Æ̉ÎƯûF÷ạ̈̃ó´÷SøføûÿåD'OwA²ÛÁj D TûU÷+ôYñÄ́ớạ6ó‚̣™đwïñ³ô[öVü2 y'»0?)¾%\ ‹A >ópåÔéưêËè7́?öÊá   Aù ¼@ ûËø\üøư²ưHÛ êAsVÿmø¡îiæµânæxëtïhđC̣®ơ³ù$ÿ=k ̉$Î4m)‡!¨ùÔếƠà²é̉ï€ñ'öÈ₫ f ŒÿÁ₫Yú›ölơ!úç€¨È X7PE¿÷­đ̣æăjăUæñîJö5öæơ¹ơêøxÿm-øà&ç7À+3"ëÍ A₫ ç"̃¥é1̣ơ/úÎ  ̣ư€øăö§óẹêơqÿŸ ”`m°Ăƒù3ó=í)è‹é£í4ñüñfọ́;ñtóơ÷‹ǘ0B:8(÷ó ïƯëä³ổûÁú¸ ü ?û›đ¬î°îđ—ơâ *çL éüÓööôCđtïÔñịtï·íïyïfđtơæû$1¦ k+ @^-ÖW — ÷ÉăWäCø³Í<{Mè÷éẹ́îºóZùîÓi {zI₫)ÿùù>̣¢ï‹íḿ5ê´́ óô]ô$úX₫ÀÏœ`;·;2$ Múmîøặ÷ ¾C ùgégå·́ÿơëưîD (pÇ_´ûhw₫Aơ`î ë¦ëBëë/ñ¿ôơ–ú1üÙïÉ 0 ˜Oư|ñªê·êơí†ïï¸ñjộô8ù7₫#B™<ơ;Ó"© Æù·ơDđüî)₫ĂxøĂñ|ë¡ă¯êđøo³4J*¸ÿ<üg₫^ß ÷uú7̣díCîṭ›óÆñƠî_ï«ï¸̣̣ø̣ư/ÿ=•6₫=ñ$Đ b÷8ônô„ôĐ/‰= Dơ ́éÜæ0îü†‹¥‹s;ưüæöjê— GÁø)̣öđó¿öö…ñ¬́ÿëiîzô°úé₫›ư+ơ5=;ößơ›øgù±ç3?Pđùè@é]ê₫ôÛ5Aÿíü%ư¥üƒÿL " ˜æÿ?øùơà÷ºú´ùöóÏí¥é²ëñù÷üûàư‘ûä ‡4É70₫€÷¤øơúrûµ¹2æ–î•ê}íÂîr÷¥'ïûÿùŒüçưüz É f ØcÓû›÷1ùïúùôÇí¬ë¶íg̣¹ø©úœú¼ø› ™3à8]“Ơ÷úMúûÆ G?°́KêÙî¿ñ¾ùO6ÿøø̉û`ÿ¹%& í ± ÀÈ₫ûúÑû̀ücù¦ó9î^́îẠ̊Öù±ûë÷·öT{2¢4î$ù4ù¶ù"ưX RÆ™₫}í́ïVó›ûî¸̃ü¶öøÆü)›Ư‘ ­\0Ñü]ú«úJø óiîaîÙđ­ốøùÀơ øø¼3"1Är₫ ùưđüå 5¿ úPî…ï¤̣wöưNø3ơÏú#{ØĐ² ƒC¬;<ü‚ú)û®øỴµíÊîvñ[ơPùßù‚ơ-†!ä1?$° íúû9ưÿ(MĂôeïÖđĂóoùÿÿµwưµ÷€÷Gû`àư{ă²³ỵ̈üûóö»̣xđÆñóĐóqöÎ÷ öÔ₫Ü{1p$¡ _ùù\ÿ‹.ŒÎ¼Êôoî¬ñ=öÛúˆ₫)sưĂö÷7üêZJ¦̣OÿI₫Ï„ÿêûN÷¶̣Œï1îµđ•ơùăö£üƠj+X$ä ¡ú^üiâO2Üươ{đ|ó÷ùü`Ç₫ư÷V÷OüIf üĐé̉ÿN₫dëH₫*ưIù¢ơ™ñ¼ï,̣ªôL÷Yơ³ûæ{+|#Ñ ÔùîúIÿx¥n%” ¬øṇ̃&ô@øĂú›ü4Ùüoø¹øçû‚#²¶@Ùÿü"ÿ‹ÿ̀ÿ₫"û,øódđMđ½óù¹ơLư¤í)ê " û©ü¯ư ₫µSœŒuù̉ô;ơÀ÷Oúư₫íPưºøEøjüë[\áø•₫FüĂüÍ₫q÷ÿôüÄøóVïVị̂©÷‚÷ÿ5¼'˜  )ü5úûí₫‡Ø$ »úÑó€ôó÷ü'jªưDùùƒû̀ÿ–m–X¹ư8û¤û¹₫ÿÈ₫¡úWözóñ½ï;ó}ùÚ÷ÿ†&H ñ )₫¹₫Œư×ưWÈ u‚>û’ö”øLùăù†₫àư—ú₫úoÿüµt"N₫ñú¨ûØư…ư½û:ùÊöỤ̀:î©ï¬öe÷<ưÑ̃%`#AHứúoü[R û• Ưû”óâơßøåùo₫I§ûú÷ư¹n•ú0”ưrúû}ưºư7üùöçđ¼́tđö˜ơRù̉&4 ¥ ¦ÿ§û=÷nư ¥ôư₫áöÓô¹ó₫ö¯]ÿƠûiüÚ˜ú SËËưĂú‡üVưÙûûßøOơ2ï-́ƒ̣ơoû(/#&ÏÉưù<ùY₫Ø ºv Ïÿ«ø ÷àöÁơ\û7’₫ü„ùưÑÚlJ̉ÿƠúÖú5üùüûâùñöGđß́•đĂóªû.ô!¥$»Ô¦ư¿ơ–ø₫0 íw g{únö—̣?ôíûê-üÓû½ÿĐ™ä©á–₫'ư·û3û÷û¢ù}ø¦óơïCđÂñö?o@%̉· úøúa© Ø» ®ûù2óxñyơ½ûëÿ₫Z₫ ™øÿ]¨T>È₫ÑübüÏúÄ÷möôẸ̣́côüôqT $§ ûtư7ù]øÿQ èÅcüƠ÷̣Êósù.ưˆ₫y₫qKƒÿg₫ Â2₫vư+ưßúU÷ô¦ñỴ̈Fôióv÷6 n$2™åáü±÷ øĩ n ::ưºơ¿ñ€ô3ùLü—ưÇ´Kÿ¼₫˜ÿ₫₫Úư₫¾₫?úzơ²óÑñ ôñôkô›̣8ÿ÷ƒ"=ídL¥ûö)ú'ø ƯS¡ûôëñđơ&øÂûèưA/E‘ÿÊưi₫ÉưR₫0₫Nú‘÷çôCṇ̃Èóyơ»ñvùáÀ™"H¾&…9úö¦ÿÄÏ¥‚•ø™̣óaöù û₫Áßă₫ÂüHưú™üîü‹ưúwôPïÂđơósô2̣‚ùƯa“ǹ¾úâù™₫ÊË<å­Mùæ̣ơ:øÜøúÜÿ'X,₫Ûư™ư û¤÷¼ú üÑùṢFđö öó\ïơùç y®åß /8÷₫ØûØü[ư;ÿÓmPjûøÄ÷,ö†ö$úáÿ‚ÿ[ö₫!ưƯ÷̃ø&úYù¤÷ợ ơ?ơ¬óoïØïù¤ #g"đŲú¹ùoưèÿø¸§)₫3ù ø1÷÷7ù´üí₫"ÿæưküûùBù\ø½ù$ù'øôHơpö²ó̃đ#ïƒö®÷%]#%^"¦} Đÿ9ú3ûÀûê°”ÿBüvûĂøkù ø ûVûĐư%ư©úâúBöî÷÷’ù²øRơùBöơ»î³í5ơYûÅ ¯">&Z$êơ ÿ₫ư’üº₫+ÿâ₫“₫Kü<ûSù”úMú³ùûgü˜ưfù÷Köæö÷0öl÷zøûơøĐöñËîđo÷9ÿ{ ́2 a'f#´ )‘«n₫EưúÚưfú¤ưpưÚüfüDù–û‡ùÇûú,øú÷ïô×ö‘ô­ơ¸öI÷Wüú(úöJó†óFóËøư`+• ¨!Ù*‰̉ å‹ü}üfü™üqư>ưä₫ưü–û û³úúÛ÷öùơfơ¬ôXôKơ÷ùæúÈû¢ûZú[ù%ø¹÷[ùNưÏV! ¿´¦." u ê,ÿ‡ư₫ư¸ư–û‚úYøkùÀöûơơöHöô’ơ¨öÍù‚ù²ú ü‰ưMưxüÚưÿØÂ™<u ~ Ö \ N ÿ ² ˆ ] A{ïhÔÿtÿUưÀư û¢ú´÷Böơ:ô)ơlö›ø„ù<û\üƒư½ü³ư*₫sÿ €† 4e>‹zcfômïf ¼H\¦Î`oËí₫ôưû7û2ùĂùÛú“ûû*ư%ưÙü₫ ₫ö₫˜₫û₫R1ë,Ơ×mc2₫×ÿ«ÿs# ÏÿlézŸ- Çù*̣̃ÛḍTÍ₫©Iÿ­ưÁüưfưÅưâưaüÈ₫æư-ư3ưa₫Lưăû₫Ăüÿ}₫ÿë₫̃₫2êưO‘ÿœ÷rFâ×k¸/+ZGÚÊNËư¦₫ÿÿƒÿự₫²üVư˜ư°ưmÿ†ÿ­₫̉ưú₫́₫[ÿµi:ÿT‚ÿ́ư@ÿôáÿÈ•ÿạ̀ÿ́ÿ©4—|ÿƯÿœÿPÿ'ÿÔư…sÿß_W“u>Ñ»₫ÿV—₫|ÿ¦ÿ1ÿ%₫ĂÿîFÿpÿ f4₫#µ₫"@ÿÿFÿÿ đưaÿ8ÿÿ₫TÿYÿk9XÑ=²̀@•¢½Í׌ËÿVù₫áâ?ÿfún₫Gÿ‘ÿA‘₫”OÿGKÿÿIÿÎÿr₫̀₫̃ÿI₫…₫2ÔkÿâÿUĂÿq¾ÿåÿơÿ=ÿÖÿfiK;œÿÊÿ¾ÿo–„ÿœ§{V_jËÿ¯ÿ„ÿ₫Q₫̣ÿÆÿq]₫T3ñÊ₫zư' ÿ¯₫₫%ÿ'6ÿ‡ÿÏÿmÿª²¦øLå±ÿÆÿŒÿ:´₫\ëYÿUĂ{ÿ§«o âÿÍdÿ4à₫ÉÿE ÿMÿ÷₫ôÿ₫3ÿIÿÿïÿ…ÿ¯ÖÿrÿaÿZxVÿ”ÿÇ₫ăÿ@ÿ½Î™ÿmA_FÁÿŔÿhÉÿçÿÍÿ/l)gÿàÿ_gÿæÿVÿ=lÿ¤₫I|̃ÿ£₫₫»₫FYÿ0wÿ?–ÿÖ¤ÿ₫ÿ/£ÿBÿÿÑÿßÿ4ÿ¦Çÿ¯¾ÿv¦@ÿO?¸ ̃ÿ9%!9†Rÿ0ªÿÚªÿ¬ÿ–ÿäÿƒÿ =Mÿ¢ÿ4Îÿ„ÿÏÿ°ÿ§ăÿI9ÿÙÿ€ÿW€£ÿ`ûÿ§ÿßÿâÿ›éÿúÿåÿOÑÿÎÿeÙÿÉưÿÚÿƠÿúÿáÿÑÿêÿÿúÿ«ÿu„ÿzùÿlûÿøÿ{»ÿ‚ÆÿF³ÿØÿ‰ÿ?̃ÿ¢ÿ¿ÿƯÿÄÿK¬ÿbÿdÇÿÑÿ‹ÿ ¨ÿ7Àÿe¼ÿ\K#q79ƠÿWƠÿ2G̀ÿwŸÿIçÿÛÿ@ÁÿƯÿ̃ÿ“ÿçÿ¡ÿÜÿ»ÿÚÿÉÿäÿÿÖÿ„ÿÑÿÊÿFÙÿWơÿ"?[CûÿA|}ƒEâÿæÿèÿ’ÿ®¡ÿQ¾ÿÖÿj+¾áÿÿRÿŸÿ¾ÿÿÊÿ³ÿ”ÿ“ÿ$̃ÿâÿ#•ÿ_³ÿ‹3óÿ̃ÿ–ÿ4ăÿA!̣ÿV –E`\NK àÿàÿÿÂÿjÿăÿœÿÙÿÁÿíÿøÿ Eøÿ ›ÿÉÿ½ÿÚÿèÿÚÿúÿÿÿèÿ00/=X`øÿxƠÿG×ÿùÿ₫ÿßÿÛÿÅÿ-ÑÿIÓÿ,Úÿ=ÅÿôÿÔÿÖÿÙÿ¬ÿưÿÿ4gÿY¾ÿ1+6æÿbưÿ *äÿWÄÿeÁÿcËÿZÄÿmÂÿ*Ëÿ&đÿØÿïÿèÿÑÿưÿ¨ÿ!¥ÿúÿĂÿûÿ¸ÿ(Çÿ;6óÿçÿ"æÿèÿ ưÿ/ SÛÿLûÿ:ôÿñÿøÿÎÿùÿÂÿÎÿøÿ—ÿ"–ÿµÿ ÿÿæÿF¤ÿk°ÿ÷ÿùÿ÷ÿE+&₫ÿ4·ÿ_‰ÿŒÿRÈÿ(­ÿ0ÿ5Ôÿôÿóÿ¡ÿRyÿg¸ÿđÿ̃ÿôÿöÿ¾ÿ:Øÿóÿưÿ'Îÿ_åÿ25&̣ÿ5¬ÿ£†ÿ…”ÿtăÿƯÿJwÿvÿèGăÿûÿŒ₫íÿÅ₫ê₫ö¢₫̃₫û”ưưA³₫¹ỵ̈˜ ưÎ^ưçÿÄ₫?—ÿĂü}ºưëÓ₫®)rÿ¨ü‡øúm;ÿ}8ưưû‘ü‡CüRûÈÿ́ÿï₫ûXàüđú’ë:ÿÿUåÿ9₫hư@Ûúª{[₫~oưêÁü>Æøă…÷éÚưư #¢₫̀ø*^÷+“ö;¬ü«àù₫kü¾rû70ÿRY₫y₫±ç₫7ü\̃ư"₫Ù„ÿ|ưÄM₫!₫pø5¸₫£ưÚưäÓûá`¬₫ç₫Ƕ ü©û°Eú°ÿơ' ₫êư‰›ü»øäkÇưX w€₫σ₫úÿ×ÿ?ÿ¸ÿ“D₫Äúë—bú÷bÿl§ưëú¯ûR¢̣sú+~ơ—¯ïâ‚ ª’Ösû3¡÷É÷:öAơ¦ö»̣óÂñû6ñfơäù=úúö|ÿtû”ü!ÛjÀSÖ? èú R-ú,øBøọHóŒơï÷âøù úW₫@ÿ]ûû<₫ úÆơ+ơKơöó²ñụ́ợóúP§O”k$!°®œÆ (Púdñôæñd́₫́[ơGù\úơư¼ü%ó₫ û öYóññ=̣ïüíqđôẠ̊Kó| ~“ê%p)œS« ´ÉùƠđqîñ³ïóê‡ïoùAüEưH ‘*™DưŸù]ô­đ¿ï™đ î í"ñéôóµñôÙä"(-$©  ¤'øŸïíÊï2ñ*í»í¾ô₫vưÓ±ô F<LFûÇöºñwïâï²đdïÜí{ñ%ôộfÓâ!X$‚**)µ  "Úú»ïÈ́{îKñăîPîñ¼ú3ÿ %6 ûŸ ço:ụ̂̉̉îđơđ:đ̉ïôđó.öz÷æơ|₫È#Ñt¦ „(á| K˜‡ÿó-́ǼđGñ£ñ+̣ˆ÷ñư.L…¹ %` çŸ₫}üÑù`óï8ï)̣üṇ̃]ñ°ó³ơUù6ùưÖ x!Ë#{ ̉ñ;lÿ„ù^đFë"î"̣ơ ơpöÉúA¤°ç½ âmz₫,ü ùĐôÏñÀñº̣›óơơ8ö¹÷²ù9ùÄù¦Ư$ăIäE6‹ÿb}₫èơuï=đó·ơ“öP÷ùbưÓJBÚC 5 3®²1₫ñù¨ơßỗô#ô{ọ́ôSö«ơơwöÛ÷ôöÂü 5ƒÁ&"[ Q„(óûÅó¢đ.̣môơơ¨öØ÷ÆúºWµ¦  "JÿXûo÷5ơ.ô.óọ̈³ójôôàóBơ÷¬÷>÷óü@ zơ^̃éÖÙ>iügơ¯ñ~̣‡ô;ö0÷ø2û¼ÿn—) 0 Vx€₫ú3÷đô¦óụ̂-ó¾ó*ô¯ô=ơ×ơçö}øèøcù¹ßR{-ó ÏS ¾Ñ’údôópô¦ơ–öŸ÷2ù!ü¦̀¨øD"á®ÿ+üzø¥ö_ơEôôâô&ơ¼ôƯô×ơ÷đ÷ø”øLư ă1|qî Ü”!"ÿươḌ·óùôïôYơM÷Cú₫›&WĐ7"•|øTœûÊ÷x÷÷"ơ·óô!ơ§ơcơĂôơ©÷[ùùû'̃&Dê]í L]₫ùơEṇ̃5ôơơ öPùª₫O”6YCïç₫ûˆúù%öLó'̣µ̣ô2ô óọ̈!öWù¹ùù;ư S‡ù'êfØÿ-û‘ôlđ&ñ4ôéơùơ²÷jüaáP¼%{7éœ₫ü¥ù́÷ö¿ôỤ̀¼̣rôÏơ½ơös÷ÅøoùÅúüáÿg ̣âạ́j0ưk₫/ø óỤô½ơ÷$øSú·ưø„é'$]é€]ÿô₫?ÿXüí÷DöâơƯó=̣Yó^ơ¨öD÷ă÷³øúÛüD₫¿₫K_º¼\“ëØ0₫÷ẹ́6óÛô3ö÷!ù…û†ÿ`²TƠ­,**àÿt₫åüIưÿµ₫zûùøúø<øơ^ôûơÍ÷‰øù·ùúÙúZû­ûư¨• 6uô§]₫^$ÿJúîơyơ ÷—ø’ù”úàüX²Ô>ͳÿaÿw₫ÀüœüäưÿÂÿ8FÿÉüÉúwùh÷®ơêơ÷†÷Å÷”ø¬ùîùœúXüÑ₫ûđ Ç™dN©b2ĐÿDû÷Zö÷dù û·ûƒư=¸ÿ¯ĐÉÿº₫0ÿøư¯ü(ưm₫ÿÏ₫íÿcüwù1ø«öôºô¯÷™ù@ù/ùjú‰úUúüïÿ` #êÎ ÉZîÿEû¦øÅø†ù"ûlüü^ưÀÿ₫­ÿ3æÿÿ›ÿ5ÿX₫x₫Ö₫½ÿ”ï´¢₫<ûNù øÓơèô_öµ÷û÷Ñø{ùpú$û}ú û¨ÿÙ c%Üóë—xUh+ưLù‚ú=úçù½üưÛû×₫ư₫₫¨đ|₫;ÿˆ₫ôư₫›₫uơ0 o7üúdùơ*ó+ơi÷Rø¦ùpúúÅúYúUú‰ü¢¾ÙV`Da d Aưóú û úŸú”üDüü˜₫‘ÿj₫…ÿ?^ÿ‰ÿ;ÿA₫°ư4₫‡₫ ₫ï₫3¤₫ưü"ú/÷ơơ\öpøhúû{û¦û*ûƒúü₫zeg&$7E˜×üfûNû1ûÅû5üzü=₫í₫₫`₫<ÿ#ÿ[₫m₫ÿw₫Zư¡ưL₫c₫₫§₫È5X7ƒưÛûÁørơ»ôZöBøCúYüư”ưöûNúMûîüĐưÛÎ G4zu«" ôP–₫éû—ú̀úĐû|ûªú@üÿưưßüY₫₫₫Í₫̀₫ÿoÿÿ₫‹₫5ÿw₫:₫‘ÿ¸‰¦,ñưaửøơ öÚög÷Lú{ü»üRü%û+úúßúçưœ́ Ö`=å *ïüçü™û¯úüÁü¨ûËûư8ưưÁư¹₫ú₫]ÿLÿYÿøÿ%ÿ¬₫×ÿÿC₫4ÿÀ~=]Ưÿèü?ùë÷÷ö¼ö¶øØú®üưùûTû{û}ûµûđ₫ÆÁW:¦¿ 7I₫Ưû^ú¦úüüüqư2ưIư°ưËü,₫gÿî₫ÿ;ÿü₫¸₫Gÿ‹ÿA₫¬₫áÿVÿ¬ÿ=aÿ5₫øû“ù“ø÷8öz÷Bùƒû‡ưdưđü(ư^ü9ûưO± .ÿ²wơë ơé₫¨üÄû­úûÉüIươưưºüH₫äüük₫ë₫–₫0ÿ‰ÿÅÿÿ\₫é₫‰ÿ#ÿº₫ơÜĂ₫äư)ư7ú)ùPøí÷­ù*úfúûûưC₫Y₫—ư•ưªüñû*ÿUÈñ› à5₫3üúÚûHửü₫ưG₫Gưư“ư6ưuưëư₫ë₫́₫«₫3ÿÿN₫FÿĐÿ†ÿ8j+Ư₫Vüeûæúœùùú̀ú’ûû«û¿ưqưQưư4ü^ü/ư€Áè ‰{0@œé(Ù₫3üûHûü¸ưc₫₫ˆ₫Üữü6ư¦ü7ư₫åưÙ₫"ÿ8ÿ7ÿ>₫`ÿNÿ~₫ơm‹₫Ñü)ü®úåù1ú(ûFü¾ûÎûßüưZü:üçüÂûú!ưÇj s#¸%S o Û₫ üÓú-üàüü‚₫°₫¦üjưưÅüưưY₫(ÿw₫Üÿ¦ÿ\₫ÿ˜₫₫rÿz₫ÿä©ÿ:ÿúưbüü.ûđúÉûû̃û˜üüưBưƒưưªûøú¼û₫t9₫ ê¿GŠ͆t₫D₫ üeûµüÈü6₫†ựûưưÄư¼ûrüưœư₫°ư´₫vÿK₫G₫«ÿ Zÿjÿ‹Jơÿ6₫₫ưûGûºúû¨ûËú³û1ưPư½ư×ưµư’üû•üƯÿ×`Ö„Ôå ³rñ₫;ü6ûüLûGü6ư₫ûµüpưºüƠüêü ₫ÿ₫ß₫Ăÿ₫ư?₫ë₫ăư@ÿ/ÿÿl–Jr/₫èư™ü'úú#úçùƒûÏûgư{₫1ưLư4ü‹ûXü3ư‹{ €KÎ(îơ#=₫Ơúäúnü÷ü₫ü@üóüA₫Öü·û)ư×ư[₫”₫×ưÿ₫đ₫1ư»ư&₫;₫±₫Á₫Åÿ‹ÿƠ₫…ÿuÿ©₫¸₫·ưäû@üÍûAûæûGü¯ư₫TưSư™ü,üßưnÈQƯC XùC₫9ü1üû0û×üMüüôûüQưfü¤üT₫T₫~₫,₫₫%₫©ư₫ư¬₫ÿ<ÿ€Z¤‘¹ÿJ₫yưdû4úûûÎû‚üVư~ÿ₫₫₫₫nüfǜü5₫Dúv –iDdØ Ă ¦½eÿ²üúûlûÚû„ü₫ú£û˜ünüDư>ư ₫,ÿK₫)₫´₫d₫!₫ưµưà₫X₫«₫g”đu³)ÔưYüIü·ú­úúÎúưbư—ưI₫XưºưaüËü\‚{¶ ÉG&* ó ¬¦ü8ư›üÚù¿û+û[ûÈüXúüôư₫ü³₫»₫ÿ¨v₫d₫~ÿäưˆ₫M₫₫¤ 8œÿÿ½ư‡û»û%ûöúyü¸üpưr₫Á₫-ÿ¦₫&₫Áư ưûưI•~½: S  ’ ̉ ([U•₫úưËûùúfûïúƯúËúèûpưïüư:ÿƒÿÍÿmÿ®ÿø₫À₫Á₫¼₫¨ÿÇÿ•ÿPÿX₫Éư¿üEüÇû¤ûgü¥üLưB₫đư#₫„₫Øưưư•₫ñÿ6(oøí E ¡  ư ×ëFø›ÿ₫ü<ü üûüöûÈüư+ưêư‘₫ÿ}ÿ ÿ¡ÿ1ÿÂ₫”₫È₫xÿ'ÿ$ÿlÿl₫đưeưü÷üµüÉü´ư₫Ú₫ÿí₫ÿƒÿcÿ¬ÿ­ÿSEÓB ³“wV‡>₫Bt½«ÿ6₫êüüóû¯ûóû₫û©üBư₫ư₫@ÿ̀ÿ0 Îÿÿ¢ÿ‚ÿÿ̉₫ ₫p₫!₫‘ưJư5ưư ưbưăưƒ₫ă₫@ÿ‹ÿƒÍjk]ƒ‚zb² °>7]»€|Gs‚ÿH₫´ưOưûüăüÇü.ưæư₫_₫ÿ ÿâÿ}ÿ¡ÿîÿÿ́₫Ÿ₫Œ₫²ư4ư'ưPưÈưÂư%₫Î₫<ÿnÿhÿÿóÿK®|¯Œ›d\h|}̀&RI3°e¸‰ơÿ‰ÿÿ®₫Å₫k₫̣ưÿư ₫…₫Û₫Î₫ÿcÿ¼ÿœÿÿ ÿBÿÔ₫c₫¾ưüư=₫çư₫)₫ä₫<ÿÿư₫Nÿ¢ÿ‚ÿ¯ÿÓÿ”èK,ŸÄl‹®PơäÁißR<S ixÿ`ÿIÿWÿ-ÿ₫₫ơ₫Mÿ&ÿÿÆ₫×₫IÿÆ₫è₫ô₫)ÿ¡ÿPÿfÿTÿiÿ«ÿư₫à₫ÿ5ÿ&ÿâ₫ÿ₫ÿ­ÿ|ÿ»ÿßÿgjL¾Ùîè "T*éÇ’ºÔđœÂWœ3HEaEáÿ@̀ÿëÿ¦ÿÿ£ÿuÿ]ÿ9ÿ­ÿ´ÿŒÿ§ÿVÿ¨ÿÿÿ.ÿ-ÿkÿ ÿá₫Yÿ_ÿƒÿhÿ<ÿ •ÿæÿæÿḶÿ,L—1z̀—Bv¼•R£t“S…eMQ1W3Ïÿ×ÿơÿÓÿÑÿæÿÁÿéÿE#Àÿæÿ®ÿÊÿxÿÿÅÿÿ‹ÿVÿÿÿÛÿßÿtÿÿàÿÿÿ†ÿ§ÿúÿ<ÖÿIµÿ‘ÿv‡üÿR–„=Lq#05jXđÿ,9¼ÿôÿúÿ] Z,úÿUÂÿ¨ÿ‰ÿÉÿÈÿVmÿ«ÿÿ¤ÿ¦ÿưÿÔÿªÿĂÿƯÿêÿ›ÿƠÿüÿÍÿ6¼ÿ¼ÿ]#ûÿ ÏÿjQåÿ›wĂÿøÿàÿY6! aÿ đÿ́ÿ"œÿḅÿ$›ÿăÿ) ÿ»ÿÊÿúÿnÿÁÿ ÍÿˆÿO.ÖÿÖÿ9Ôÿ Æÿ éÿñÿçÿ [5$×ÿ7b̃ÿÉÿ$Đÿ+öÿ9ưÿToÿÜÿ*eÅÿíÿƠÿ¦ÿ=íÿáÿîÿÿÿƠÿ˜¸ÿ”ÿ‚ ÿÿÿ üÿÄÿ±ÿíÿùÿ²ÿE#áÿVÿ₫ÿ8>‘ÿU¡±ÿVÿNu¯óÿúÿ'Åÿéÿÿ/)/‰ÿ+Öÿ"|Íÿ!L…ÿñÿˆÿTGÿơÿ·ÿüÿ¶ÿHÀÿ*}5ÿ‰×ÿdáÿ4²ỵ̈ÿ©ÿ ÿ êÿMƒÿbĐÿæÿâÿ²3-Íÿ)hĐÿ%¦ÿÉÿJÏÿW¦ÿwïÿ¯ÿ±ÿFÿÆÿ\bÿ]\̉ÿ.8ÿéÿC¸™ÿÇÿÄ<₫¸ÿ nÿ‡Ơÿ’!×ÿNÿ>¡—₫¦ÙÿWZÿÁkÿ‹ÿÅÀÿ¡ÿ/·Maÿÿ( ÿBåÿ̉¢₫¦OR0ÿ{ÿwLÿN¾₫ÄàÿTÑÿjÿqû₫Đ‘ÿĂÿÿ¤₫±©ÿÑÿáÿÏWÏ₫Ưÿ]Îÿ<•ÿV₫±0ÿqkARÿ¥₫ˤÿÎ₫C¶óº₫ƯÿÓÿ¾ ¶ÿ₫Ăœüư{g₫Û₫› 1H₫<₫qÇ₫ÿëư(J₫ucÿơư²ÿ¶9ÿÉûeÿÅA=₫.₫DåGúư°₫3ÿ¶Ü¸₫đÿLÿ¼pÿd₫‹ÿ¥ÿÿíÿ·ÿxÿ]ÿ8ªơ₫Áư™ÿr_̀₫1̃3Ÿ±₫Á³ÿÚV̉ÿôÿŒÿv(!£ÿ:Ï_¢ÿpÿwÿçÿ‘ÿ¿ÿÖÿÙÿëÿøÿ¸ÿ¾ÿwÿáÿ́ÿÑÿÆÿ¾ÿ-¡ÿÅÿÇÿ̃ÿI4™ÿ¹ÿéÿ1&Åÿ±ÿåÿg. ¡ÿ’ÿôÿA9²ÿÿÿ\?Sôÿ1ăÿL$8"+!>÷ÿöÿñÿ₫ÿ ÷ÿöÿêÿóÿñỵ̈ÿéÿëÿèÿôÿàÿÛÿüÿñÿ÷ÿăÿéÿüÿûÿøÿçÿúÿøÿưÿưÿûÿ êỵ̈ÿ÷ÿùÿ₫ÿ₫ÿđÿöÿưÿÿÿ  ûÿ ₫ÿ ₫ÿÿÿ úÿúÿûÿưÿ÷ÿûÿÿÿ₫ÿûỵ̈ÿ₫ÿ₫ÿ÷ÿóỵ̈ÿôÿ ưÿöÿưÿùÿ₫ÿûÿÿÿÿÿ₫ÿûÿøÿÿÿÿÿûÿøÿưÿ÷ÿùÿ₫ÿưÿüÿûÿÿÿÿÿüÿưÿøÿ₫ÿơÿúÿ₫ÿúÿ₫ÿûÿưÿÿÿưÿ₫ÿÿÿưÿ ùÿ ÿÿ₫ÿøÿÿÿüÿÿÿ₫ÿưÿưÿÿÿÿÿÿÿ₫ÿ₫ÿưÿûÿưÿüÿưÿ üÿûÿûÿ₫ÿüÿ÷ÿóÿÿÿúÿôÿøÿ  üÿÿÿøÿùÿ₫ÿùÿøÿ₫ÿơÿôÿưÿ₫ÿÿÿûÿüÿüÿùÿùÿùÿöÿùÿÿÿÿÿ ₫ÿøÿöÿôÿđỵ̈ÿơÿơÿùÿ÷ÿÿÿ  öÿ÷ÿđÿôÿ÷ÿúÿ ÿÿ₫ỵ̈ÿưÿøÿơÿüÿøÿ÷ÿøÿưÿ₫ÿưÿưÿúÿưÿÿỵ̈ÿóÿûÿ ôÿöÿëÿơÿßÿâÿñÿïÿîÿéÿƯÿàÿ ưÿ&'öÿÿÿăÿùÿÙÿèÿíÿèÿđÿÚÿûÿ ơÿ5&µÿ÷ÿ̃ÿ/Éÿ5ËÿJ0ô-.¬ú¨÷½̣úzü9ø̃úöú®{ü³ÿÜ₫@ưNâ¤₫”±Jú[ú°“üưôü₫ÂÿD ô₫cÿq ñù+₫û₫yÿ€vˆÿ÷ÿp¯µ₫º†ăưˆc₫”₫đÿr₫˜úÿT¾,ÿđ₫âíÿÇ₫`ƒ›ÿ ÿ³ÿgÚÿQ×ÿ=ÿö ÿÿä¾₫’ÿ1oÿ8#Đÿ²ÿđÿLÿ¢ŸvÿÓÿ¶°ÿú₫DóÿÈÿ‹å|³ÿÿ’₫G₫³ÿ ÿéưc‚s₫çÿé@yÿĂ•ÿ ̃Ë₫Å₫†›7₫ôŸÿ›ÿ¨D;ÿ3)ÿ—ÿ2æÿ$ÿ́₫Æ₫‡h;₫Ă₫¡ÿĐÿ’ÿÎäÿ{£ÿ1ÿÙ(pÿHüÿÍÿưÿ°ÿ3dRóÿTR̉ÿeÿZÿ—ÿ@ÿĐ₫‡§ÿEÿOL@¬r‰\¤ÿ¸ÿ%Rÿ;ÿºỵ̈ÿÙÿÜÿ6ưÿ*JIùÿXQÿ72pÿèÿ¼ÿÆÿ½ÿ‚¨ÿUÿƠoÿ<ªøÿ^ÿWÿÙÿ¬£ÿWÿVL“ÿëÿƒ%ăÿ%cäÿCèÿîÿ´ÿ¼ÿËÿ¹ÿ)êÿ́ÿ#ôÿƯÿ"₫ÿ.èÿ+ÓÿĐÿ8èÿÿSưÿáÿ,DÄÿßÿ4ăÿĐÿüÿơÿâÿĂÿ7äÿHơÿ!øÿïÿüÿïÿ₫ÿÿÿ₫ÿûÿûÿưÿ6üÿÜÿ÷ÿôÿ ̣ÿÑÿÖÿ ₫ÿçÿ1Ïÿ÷ÿ.êÿèÿ₫ÿơÿíÿ&àÿÔÿ×ÿÖÿ>·ÿHêÿÂÿ,ÓÿĐÿ).ăÿ̃ÿ!0Ưÿ̀ÿ((̉ÿÛÿ+%Øÿáÿ:Êÿùÿ6¾ÿ F̃ÿÄÿ//ÏÿÔÿ:"ÁÿđÿE ºÿNàÿºÿ$/×ÿĐÿ1)Êÿ́ÿ6 ×ÿöÿ- Ñÿ,úÿÛÿÿÿ Ûÿ"₫ÿçÿÿÿèÿ÷ÿđÿ ơÿöÿóÿüÿîÿûÿ÷ÿúÿ÷ÿóÿüÿùÿ ÷ÿöÿ ûÿơÿùÿûÿøÿÿÿÿÿúÿûÿÿÿưÿùÿúÿüÿúÿûÿûÿưÿưÿưÿûÿưÿ₫ÿüÿ₫ÿûÿÿÿưÿưÿÿÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿ₫ÿ₫ÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿưÿ0đÿƯÿåÿåÿ÷ÿÊÿßÿÍÿÜÿûÿ '    úÿ́ÿüÿéÿäÿâÿÎÿÑÿ½ÿ¿ÿ»ÿ³ÿÂÿ¼ÿÊÿÜÿéÿÿÿ &8BM[WQUM;1+ ưÿèÿêÿèÿáÿàÿèÿåÿèÿđÿïÿơÿïỵ̈ÿñÿæÿåÿáÿÑÿÏÿÓÿÈÿËÿÔÿÓÿßÿíÿúÿ#02?@:?;9-($ưÿûÿôÿéÿéÿäÿßÿáÿàÿàÿăÿéÿéÿóÿóÿïÿóÿôÿñÿöÿóÿóÿûÿüÿ  ùÿïÿăÿƯÿ̉ÿ̉ÿÍÿÑÿÎÿØÿêÿæÿÿÿ !,=;@G;90 ûÿ₫ÿ÷ÿ÷ÿưÿüÿøỵ̈ÿđÿáÿâÿÔÿÔÿÍÿÅÿÅÿÁÿ¾ÿ½ÿ¼ÿ¹ÿ½ÿÄÿÊÿÎÿƯÿëÿùÿ !ERr‰”¦¥¹§¨quL@åÿÉÿ§ÿuÿNÿ#ÿ ÿÉ₫Ô₫‘₫£₫n₫›₫e₫«₫¢₫ă₫ÿ₫tÿœÿ¤®øæ2*{M"ÿ,₫üIü₫ú´ú₫ùơùơùƠù“ú¿ú́û̉ûQ₫N₫Êÿ/5y"û€ƠÏñzđ?M?Æ Gÿ₫·ư[ứü¨üBừümư¦ư4₫:₫ÿXÿUÿÑÿ¹ÿsÿÿ·₫Íưíü‰üaû(ûú[û+ú¶û‰ụ̈ưVÿ@ ñË|Ç Eà°ơà¯Ûÿ ÿj₫Eưđü̃ü¸ü¼üaưÏư6₫ó₫dÿjÿ´ÿnÿè₫ưưXưÓûƒúyùñ÷q÷àơ&øxö„ù3úư¥₫sx­ ª & x F « » «¬½ôÑ́₫,₫ư¼üăüüü©ư“ưË₫p₫ÿ¼₫»₫«ư¶üüvù·øööệ·ô—ô“ô øOù?ưy₫ܧ e  aà® ‚  2üëĐS–₫7₫ü®ưưü₫°ưöưưâ₫1üưûJúú÷q÷ơfó•óÁñơ>óDø?øưñ₫ÜíB - ®YÖôL Ê ¦Ưô1Èÿq₫₫>üˆư‰ûüïú₫ûĂù…ú¸ø«ø³öƠöÉô„ôŒóœó@óàóâ÷!öùûyü›ÈO  ¾™²Ë$_H Ë dŸ–Ç₫¢₫5ü¼üăûûÂú3úkù øTøđơö<ô†ô“̣Îó…̣ôÀó'ö%ùuù<₫Áÿà ~ b®±7‰Í  éÁƒ(·ÿE₫₫¤ûêû"ûđù6ùĐø-÷ ö­ơÔóXó§̣¼̣¥ñ®óẬeơÏô.ù#ú ư-¢éµ₫ ï ƯÈü{óÀ p«ư$”₫>ư]üuú‘ú9ùxøÉ÷7÷ơơ;ơJơióNôẹ́[ô~̣¸ơIô÷«öúáûÑüÂ¥# ˆ Ë“́nÆÓ ¸†₫C₫AûÍúøùµöëöSöö.ơnöwơ…ơ‘ơ¯ơ¥ơmơ¤÷pơmùûöÿúûY₫·₫°Â.{ ₫ °‘w`/ôÀ@ t œÍ ¿ÿ«ü<ûèù$÷O÷9öÅớô÷{ôôöüơO÷¬ơû÷eö+ö4ø9ö$ùœ÷öú5ùÿµü̉̉¹ {Đ ÿPâÿ $ Ú oâ¬ư ü/û¬ø™÷‹÷éöEơQ÷ÈởơÖơ×öô§ö+ôCơ§ôDö²öPöJú|÷X₫¡ü•uv4   h̀;©ÍŸ Hå\ÿèûúúÈ÷œ÷a÷Çö"öÏö ơáơ,ơ ö7óOơặ₫óêóóôö¾ö9øåúP₫'₫̉ÈÊ r ¬8L_@x4 z ó̃îÿ{ư‡ú‰ø¢øköÍöÅööön÷‚ösöôöơ€ơöó±ô3̣ó¼óP̣QöÊó9ü¯úpÆt­ ¥ °¿€ TˆÛđH – ó”>üøøơ@öPó$ôèôÙô öºöøŸöùº÷^÷SöÂơ"ô€̣Îó¶đôhñøÚúJübiÍ »§,¿‚Æ[  ¤ >X₫]ùSö̉đPñöñVîÇó¼̣ơNöéù5øŸùVûÅø ÷ øMôG̣ụ́ ̣£ïưñîüâóï¡Çú¿ÂEV"ă2ŒƯ ăAüøyôf́#́~ï>è»ï¶ñđcöíùù½úb₫ïúÜøúú*ö+óọ́ñó\êùÊ÷‚ơŬ& dÿÉ &¤b"¸ ¿ Îüơ óÆéaå5ê6æ¹çŒï7ïẸ̀¶ù‹ú£ú¨₫Xÿaú„ûƯúKñƯơ"đÔïRụ̂Ù;¸£ï‚Ë -&~&i ¸ •Q G 2ÿ·ô2ïèâ•âCă€ăcé;îñ}÷’üÈû%ÿnưüæüÆôoô8ïùvô÷ớ‹• Gga)«&%$ÛVi YôôƯî ê[ỮÜQá¥Üă íb́NơöüÀüĐưRÿư¬₫†øEñ(ơ´₫üị́ÿ %ÿ| €$m.Å"X&±& % »ưăíÈë ăzƠĩÁ̃ă×ê[í́Àû6ÿCù¾­ÇûNư§₫óï§öÅ‚î<¯ZÑ"Ƙ#¾.ă$p#Ơ$Å ¶–üxêlåpâ¢Ọ́Ù¼àgÚơçậRïiüûơaGû¬üÇøØđö°÷à ?ß »Ơ²%-‹&X%v#QNÔñ₫*óă¥á+ÜâƠĂƯàpăïụ̈iøŒ₫dügÿ"îø̣û©öEópsö;ưUºơ¦"MÑ .+l$œ#jb₫à÷¢ñß”̃ßuÙ€à ḉ8ó÷ñüêưAø€ú¼ôĂó•ôâăöéư;đ ¶•"È àr(&a"ç üC̣WđŸáÜá2à3âëJñ"øúßư“₫®ù¾úËøÔñŒí«ÿúÉöà ̃~` s#¹"F ƒ%Ó¹ Âódíúåyâ-àqàHè’íáđqúư±ưüJû©ú<÷îª÷¹`÷$ƒ&§WË#R.₤†øäñÏçĐâ9æÈäCæ6ï´ôtú¢ứư ₫#û5ụ̀øœđûñÁü9H/a®÷ IÍÓ -®ø-ñNïƠæTâ æ^çÁí4̣ĐơU₫æÿ‘ûÏúÆø\úó9ø˜m, æ‹°V9Mh ¢Ê%øö́SêÙçäTă¡åŒíôơđù·üŒûnø÷ơ÷ự–¶Â2T"Œ̀ü¹[8û_ñ»ë¬çDå‚äÙăûèêïCóG÷ĐøVøg÷cøNôzù®Hÿ pλßÉ„0J¼áúEô`îYèµç˜ènçGëEî¯̣Àơô®̣†ôô&÷Ă ¾æ}:f7×iF{=ÿyùpô½đèê¸è)ê¹ê‰îQđ²ó[÷N÷ ơÂôúóøæđ ˆV=âế^¥³úôö́ó"îDë ë5́?đÊñNôÁöøMøø:öœûóT ' ,U—^Iù –  áÄ₫ùH÷²ôœñ7ïéí¶đơv÷ÔùZú·ûüüiûü@ĂÖS t g O ; ” †K“ư¨úùE÷pö\ô ôö1ø}úû™ûBư´ư@₫[₫(₫„ăûü¼ï¡xóSœbx[ÿ-₫’ư₫₫ừüăüÅư%₫§ư®ư]ưïư‰₫3₫ăưËưJ₫–ÿº•‘'qg§†©÷SÎçÊ7Ơ+Cü7hÿÿÀ₫̃₫Lÿaÿÿg₫]₫ô₫~ÿ¹ÿÿéư–ưåư‡₫ñ₫Ø₫Đ₫ ÿ·ÿ«s¹ê l–`¬Aé—®~'̣ÿµÿaÿ|ÿ‰ÿtÿ_ÿÿÏ₫À₫ä₫Í₫Ä₫À₫¿₫ø₫@ÿˆÿçÿ?¢Ïâß̃âđCrVG̉Ư˜W÷ÿYÿ ÿÚ₫¤₫r₫5₫₫F₫‚₫¯₫ß₫0ÿ‰ÿ̉ÿ?c“ñ1O¬ÀƯ‚Bô©/’ÿÿÁ₫g₫4₫₫₫8₫™₫Ü₫ÿvÿËÿ(k‰©Áêù÷Û¿¦ƒXöÿÈÿ~ÿQÿ,ÿÿÿÿ6ÿ`ÿ€ÿÇÿïÿ BWYc\bmaYftK67(/́ÿÑÿ¬ÿÿ„ÿiÿWÿ^ÿÿ´ÿÄÿ́ÿM€{}–£sU)üÿµÿsÿjÿiÿpÿzÿvÿ†ÿ¤ÿËÿ̀ÿßÿôÿ/273KThiPc–˜}n_V?óÿ£ÿ‘ÿpÿkÿKÿ=ÿ`ÿwÿœÿŸÿ­ÿƠÿôÿ %2R^`n~…oJ6L<ñÿñÿ̃ÿ¯ÿ³ÿ²ÿ¦ÿ¡ÿÿ{ÿ‘ÿÿŸÿ®ÿÎÿ̃ÿíÿV^SZVKKD+7GJBJSM6äÿËÿÿzÿYÿ=ÿ@ÿLÿSÿ‚ÿ£ÿÚÿüÿ1/NYnpqtsOG3áÿüÿÁÿÙÿ­ÿÏÿ®ÿÖÿƠÿôÿ0Hÿ°ÿÙÿŸ?ÿ ÿ^ÿ̀ÿå₫À½úbûf³ r6÷G¤Ê÷Sÿ²ĂöưĐǾơ‡öƠzùùûú¨ôü_ưƯ]°₫œÿqÿkÿ.Âh₫WÿY^Đưá₫ àÿ₫¢ÿu₫5₫Sæ₫hÿW<¬ÿàÿrBÿó₫`¯ÙÿH₫Ç<–ÿwÿưÿ^ ÿºưÿŸÿWAÿ‘î₫q₫0^'ÿ&đÿLÿBÿ¨jÅÛ±ü|D"Óÿ0ÿ*ÿêÿ)‹₫¶ÿrÿ¦₫í₫Aáÿ”₫ÿñÿÿ,ÿ ÿHÿ_ÿ¨₫¦ÿÙ₫³ÿIÿ§ÿ_®đÿµÿ)%’ÿÓÊIÜơïÿ%—öÿ·aúÿĐ₫æ₫jÜÿv₫₫°₫øÿ]ưü-ưt₫áüRưé₫Uư[ÿör₫jC=ỵ̈¼¤ .Ôß’́ÅQú₫µ&‰ÿ‘₫á¾₫̉ ÿư¶üçüäûÿdüŒú/ưÈưsúÎü…ưüư*ÿ¢₫]AP³¶*Y™€8æ¯ÿü‰û¢øơôDöyô„̣Uơö÷qú¹ư B  uƠ£2ŸC Ạ̊üo÷̣áçééÏă[å æ´ǽáï¶ùèÏ P¹1$%7"ây¤ÿrúLï˜ê¦èqă+âèăĐâ…ăíç,êXíîđµN# H‚Y $#ó><́ T†ø ñ̉đírêèè÷éÂê«êåî›í‰ïƠï…öRíZ±„¨»!I?]æÿ{ÿöĐô³ó‡̣8ïî¦đ<íûíóï¯đ™́·ômÇú₫ Í8|d´eϾ₫,öï÷/øüö÷…ôcøô·ñxôñăíPî æĂôäûù|YæŸA™ ñ₫-gưøjúÄù¾ûùùûäô²ơŒóÀđÿíúê7è¡ç·ÿúO‚¯¤(ÉK @ 4‰ö‚0øđ÷üÖü̃ưîûÊ₫!₫Mö—ùÊôWđà́çééåëă’ƒùÏ¢óezÙ×ökÿ9̣ñúâø¿«.‹ÿ¬G¾úáûùJïœí‘æ{åCÜ.̣œăøv߃ ¶Ô¥ù lö7ú»üén™ íù&üó¡ëŒçŸă×à Ö„ö*Bö£díDn£™ÿN.öÁưP Öxï $ ̃yƯ ¯öù£û%óś#æ̉ä1ááØăÅ-ơzơƠ ûk? çư£ SùïăK7` ä 9y >ư`ûÜø ññëŒäçáÜÆÚPß ùøư°`p‹¶•yĂ Zư_c ư— A k!ăæ Eÿ”üûnơLï7ê‹ç›â"ÜáÜôË₫Bù₫T̀g'íË} Íï­ Î‘ rB  Ÿu+ÿĐ₫Qø"ùAíÛ́¸èpá—ߨàƯơùâù°c 3¢†OU ¸Á l ó (S ²E@V  Â₫jư:ơZïRî¾ăêăPáWàá†ëüøéöR÷¶ Dr‘Œ Û æ âç ó;ˆ÷g] ¤Á€û̉÷sô@ñ•î”ëqéèiç³çgíwđ öIû.JM · Ä)6ß·˜É * ' Ù9́ܬ†ÿØ·ö,ÿû§÷¸̣í³é¤æïătâ¬ăèHí«ó0ú½ ›jútœ û@ w ›Đ·‰<6²58CÿÎû:÷ḍ¸íué¨åAâèàüáâåQ́&óúṔN µ%¹±3ææ3‚ Ñöîí‹Tk CdÂÄ(đ₫áúöçñcí̃èåöáWààgă¼éAñ-ùܼè È(ç`«Âê Y sf3aµË‚™ºS7ư¬øDôÎï ëœçä?á¤ßơßÚâOé¨ñ¦ùj›bÙÏ?ầ¥ø`S ƒ,—.ôÇG%î”×₫…ú5öÛñpízéåQâçßß>à3äëkôÖüƒú (=–¢Ï‹û˜× 4•1ÿÈ₫ÿ₫'ä&©&ö†ÿˆûF÷ụ̀ºîâê¹çääÏâÆá§âdåŸêḄ|ú  n2>·µ ]å½T í¸Qÿ^₫₫œ₫ºÿG‚/ˆ—²ÿ!üOø<ô3đ²́©éµæ~ä€ăPä—æßê ñzùÙƒ[ !½Êlh'$‘ s½,rÿ@₫Éưưưă₫Aà{ql<₫Cû›÷ÔóđỚ±ẹ́æRåúäBæéœí"ô)û±— Đ=Î'¨’ê° ŒơM₫dưüüvư¤₫=ưÓ?PN¹ÿyü¦øô—đñ́¨é£æÎä¢ä̉åtèÈ́8ó+ú~«„ U®IδR¼ Fbÿ¢ưüPụ̈üO₫=z£AÆR½c₫Rúêơ’ñrí”éGæ)ä½ăØätçië ñ™÷ÑưÅÉ C}~¦̀/)UÄ¥ VQDÿwư»üư:₫ÁÿŸ××˦›…r¥ürø"ôÍï­ëèCåÊẵăaåaè¦̣́!ø*₫I$ `ª× D̀ }Ư p e@ÿ?ưVünü+ư`₫&y”É:Ê%^ưFùăô@đøënèœåÈăgă»äªçÁëÏđÎöưÀ₫ }÷ló\^?FˆG ́̀@₫üÔûëûüÜưªÿƯÊñO²Å®ÿÛû§÷!ó‘î©êçå ä¾äçrê¤îÆó¢ùdÿÈ₫ É¿°ÙS °í\ọ̈ ¼Đ[d₫>üû°úùú̀û>ư/ÿ qRdNÿÿÇüùđôđ̀́ëéè…ç>èưéˆ́”ïLóø÷ư*¶ Æê3éï RÍ[ñÍ {ßÿáüÎúºùsùÔùßú˜ü¡₫…*̣ÿWü„øAô#đǘë$êóé˜ế4îçđ“ôùÑư{L Äed¬2ưà JL 0+poưdû-ú›ù°ù{úÔûlưÿ¯̀ÿ;ü™ø¿ôoñïí‡́ ́ó¤í|ïưñ-ơùữXL » é÷¸ØP(ë₫— ïI ₫¼ükû©úwúÆúbû4üCư\₫ÿư₫9₫¤üVúÅ÷wơ¢ọ́½đëï©ïÜïrđªñÀó“ö¹ùưr—q g ˆ |7’P`¹+Đñ Θ…îÿúư—üµûHû4ûYûœûÿû—ü,ưsư]ưƯüäûúæø^÷öÛôúópóó÷̣:óônơ.÷Œùü¹ÿ¡HÅ Ă . ‚ˆĐ'ñ ° ;ă¾åÿĐ₫[₫₫ØưĐừư½ư¿ưÜưÛư†ưèüüû´ùwøy÷ºö$öÂơ«ơÍơ öpö&÷Gø¾ù‰û¥ư Z3À,_& § % ‘ Ÿ N È  æ ffÆ:̀ZÖH¸ÿÿn₫Çư(ưüÊûûúKú³ù)ùÀøªøÍøéø,ù©ù$ú„ụ́úûHü ưåưï₫íÿ¹qñ=«Q®3´'QWW?¢3»%n©ñF–ëÿQÿÇ₫:₫±ư/ư²ü4üÍûœûû¡ûØûüyü¼üưCưzưœư·ưÙư₫₫₫öưÏư»ư¸ưûưL₫«₫ÿÆÿ¤zPOQµ0ư¾ak¸ ă>°HÆÿRÿï₫ ₫U₫îư»ư¬ưƒưgư7ư.ưJư1ư0ưRưQư<ưư.ư‹ư²ư·ư¸ữưüư$₫6₫.₫Q₫Ă₫ ÿAÿµÿ5 Eè˜8¹=G ÄLĂ:© ”¢4¼ÿoÿÿâ₫₫Y₫₫Ưư’ưPưưùüÏüÈüÅü¶ü®üü§üÍüưôü-ư}ư)₫o₫·₫è₫uÿ Ü5z^˜À {çS‚‹h{#ª@Á_Ö~.T©5ÿn₫‰øû“øV₫ ưDÊơëüFúÛơW₫à₫,÷÷×øưÓ₫ü[ü¸Lÿ×ÿ©’á™®{æM˜„Ăj•Lf¼< 1 Phưö/ñṆ̃'̣›ñ<óWơ]ùÀøûùeÿmÿÔâü‹V§B‚ ­ Q]¬p5 ôáÎÿ½ûöĐóṾ4đđæïăđ§̣Ị̂kơNø6ùóûî₫—D}€Ưó€O4ÂÙ:»Àÿ´ú óLî+é#éïèVè]íô7ùÜ₫x8 Ö + 99'üEơZóîÏé'çÍêéï«ñH Oư³09;ü2&Ÿ$K/ù…ñ'äRÙ•̉dÍĂÙ_Üó̃ôó|¶³…& £úœîÚá¥ÜºÜÛÖÖ&̃3æWî/ø+,42E}E¼B¬*Y‘ºù©ßÎÚëĐđ̉ÎÑ‘è.đBöàÿ4a~m&!T Ôúj̣'áÛÂƯ»×ÜÛƯ!âèÚêùô1¦(633'CÇ<:A¬,;| “ù̃âúÚ˜ÍçƠ?Ö6Ôxê÷¸N • …ơ Rë…ÿ¦5÷¨î|î¶çTâÜăúé‰èréæïÍó»¯ûSÂ?C3g?̉:Æ>»-9s₫,ô°ÛáÓ/̀xÚèÅăPù 8µØ Ïæ ‚ûèøÂøßûđ®1  ]µüạ́…î ëß~æ€çCä!äaä÷đ÷íÿC­CX<0@Ư5“0º$óø»ëÉå?̃Ú̃æÛ?íĂ£® FôºđmôTđóđ2ø¼º¸´"¨ƒ Køké^áüÜ+ÜVà#êB́£çKăvî|ø€×‰pD;U4‰*"´cơÓä&ê<íFñ'̣Ïú &Đúđøaơ€́ÙëøâT Uâ„×̣€åá%â¦âMåÉé¸ñ¼îné³éLïaûg~*­Jq<®1j©Aôæûàú́¦ûí£Ífơ+ê=èèíIïơ.8 —–ÈY‚X Á Xû₫Ïöaîœë5èŸéFé¾ë“îÛë@èǿ;ơ ; DA×@Œ4 ưM•øđPöâUjü{÷Xđà́&ê æó©1z¿hSÿŒ₫üïc%–Hîăbăóé đíđLñ‹ộâëǴơ"ó ½ i2H6±Üùoơø6ó©ùéơ n{ưÙî:ëPé´đsóÆ÷₫"ûºó₫r!Xç¬ ‹M“ ÷ßëê²ëđ÷"óỤ̀ßóbơ™óyöëùèí[ $6åBN./ Ođjî÷÷†û¡F# ºóœæöé́đ6üÿ ÿˆ{i¢ñNºæ¥Á₫›ø¸̣Íđàđ`óàơ‘öơöX÷,ùöÎø±úØÈ₫gÉ(F;˜,ÿ ]í#éñú˜( ¼?íù̉îđ£óư-'ü<üÆÿ,ĂÔJo¤qôEshüUöq̣{̣₫ö ú́ü\ù¿ø{ø™ø;öÔù¤û£nüÿô&_6'®MéVçƠÿó¤ ]"†ÿ¯û·ó´óùµolûjø6₫w˜ÿéư5₫lă=ƒ”*ư»øÅöSø‘üÓüSưrú„øÎơAơ×ó«÷úéü^øPư–O3g/†%í…ă’úF pø ựú½ơ‚ô÷%ÿ!íTúÁơiúằ(Û₫ÿ[Ù”Ơå̉¦ù§ôFöÍù₫Q₫¢üçööơöîöªú‚ù–üü\ßK/t'2 Ûï&ëó ”ëW₫€ÿ₫÷®ô­ùïï’Hø,ơ™úø?@ ÿU5ú¨áÈ"û˜øúÈúûjûèúĂøÛ÷éơOơơÛ÷Lúïüư÷$ç!½3¸$P¶é¸́å̀₫Êú’ơWö^úZ₫üưöX÷‹₫™Á¤ÿ9OêỊÿâüĐúưø·øBúûû‚øØöĐơÁôvóÀơ›ö'ưH₫¹ d$ư.ë/·ë#đúuǼÿNü}ù–ôÁ÷ư¸¼ü÷)ù[•^ \ÿ× v‘Or₫.úƯø̀ú2ûÄúAúàú×úHøûóḤñæôWùñư@ưïĂ"~1ø!Aí%ïâ%SåÛÿ9úóÂóùúªjÈư÷ÅøÁ₫Ëưî-ó₫ơ₫k{,ÿ™ù·÷~ùÍú=û;ûùühüĂø\óOñ—̣:÷Úùüûüc!ü1¶# ́Tí§2~àKư`ôß̣ úú-rü9ơ(ø₫ p0ÿÿú₫OKÆ|₫ ÷>ôÎ÷¢ü`₫cưeû§øÔơị̂ñSôtùÊü$ÿç₫ (%,1Ë̀ë]đ^n  `Đ¢ùcñåñ‡ùô'3ư0ú#ü8Ù̉”ÿ́ˆ?gÿ^₫ªË(ñÿú»÷öø‹úü™üYü6ûå÷Íọ́§ñüôŒù2ư–T+Đ2ơ#Vït́œ₫A % » ¡ªjø0î¨đ+ú™ ÿ±ûưßư°₫̣ÿ†O`ÿ"ưf₫ƒ±¯íÿøú¶öBö¿ùM₫Đÿ¤ưDø óđđ¼ó2øóú$5oÅ)h-Düíºöë 7 6 6ơÄíoóÏû<Ï_ưû₫]8è₫‡₫yyôzÿ{̀âo©¤ư7ø)ơºöûªư?ưfú‰öặ}đ"đBô:ù‡₫ ªù$0Ÿ"ísồñb₫cX0 ™ ́ûîLđ¡öÈư`ÿ  ;́ưüw₫Iä,×[ÜÊ6¶ú¿ơơ>ùÇûqûíúÅøúơ:ñníÎđø–₫ö½C+k,?₫q̣Iú‘₫}₫•‰ ëBỤ̈°ïÚó®öûSưm™¡]₫Bû–ưä°ÿ£ầ]QZ =ăúL÷÷É÷øHùÂû)û_öÑđ7îµñqøïû~’j….H-ˆŒ^ơăù ø øbùĐW5÷,ơÇó?̣ØôùŒº×èN ₫vü₫ù^₫WN‡̀)̣ºüçøùGúÖù¦ø%ùŸú-ø¸ôḥbñ<ô;ø†ùñÿ¸ 'ä-Î ’ùù˜÷Rơ¿ÿÆ ï öư«ùÏô9đẉÔơ²ÿ Sa8·&ư8ùCưë¢F¤Ø₫ ú÷S÷Vö’ööø(ú÷̣ôẠ̊‡̣ºô ÷6ûûÿ  *.[4 ăû€û ôñ ưC Im ₫eü˜öÖï3ï$ôñÿÜBA5ïưù~üÍÿ½äëP W¾ú)÷°ơßô ơ¸ö ûqúköợ̀đ́ô„øfûnư?Ă-‹/S%)6üöêîzơƒi r ²,ûü›óÉï6ñ–øW«lE ‚TFüû¦ưB₫hYQ™ÿHú^öḥ’̣«ôäøRúø@øoô"ôWôñö₫Ø8 ,f,S ‹ÿ=üị̈^đçúF{ eœÿŸÿúCó:ñ¶ôVưÁrHYm‘ÿwüĂư₫#ÿˆ‰ë˜Áüêö ó¦̣Ộñôuø¾ø"úVöpô—ö ÷ÂùÈ₫–¬}(Z.R!hqÏụ̈Ÿí;ö7 ƯFŒư•ôqđ|̣5ú½ÿaiŒ p*”ưñü˜₫ÿûtr¸BÿHúvơ¼̣pó†ơù÷›÷ø€÷ơÍöù÷-ù«ûÎ_!»/Ú'·ÿh÷_îFñ¼ûî- _'Ø₫–ø”ôÄđ'ơùüßÿØw”‚ư3₫W₫]x̉º“kưư÷Dó¿ó*ô ö!øøœù3ö[ôW÷·ùúÀưê¯*+ß ‘A¾ü+̣ï{öÇÖ ÛàTû;÷ólñùÀ₫xO 3’ÿÑư+ưæ₫熋.xÿ6üXö’ó®ó£ôø<øø`ø4ơ¢ơ—÷ ùØûüÿ@/,*wă «₫<ûô×ñ8öfy ’ ‹ưgùù)ö‹̣ùö¸ưü_cô@@ÿµüôư2ù†ú₫®üÁöó"óôôù©ø¡÷w÷÷ôaöz÷Gø¥ưP +Á*9ưăú(÷ßô…ơ1ö₫ Û è‹üßơ¦÷ ÷Tö†÷ û}, Û¥z>₫s₫¿ÿ.“>â₫WùDôØóóèơùù‹ùTöưó3ö₫÷ÇúU₫®ÿ±Ä%ă.ă)À”₫¢÷!ơĂö@ơµöŸQ M ~˜ù÷ơ+öÚ÷€ùÚ÷Yü= ™ e¼₫B₫sÿ¾¬Ø₫!¶ÿư÷@óó2ơù¹ø ø&ø0ö=÷Ç÷Yø%ûûüE l'b.Ê$’ Bü9óïó¤÷Z÷Yú  ~ü öó÷úóû´₫@¬ Ьưïü¯ÿUÓñ₫₫₫ëưưú¹ö(óaô*øfû_û4øÿôôVøbû₫{₫Æú$l.¡&¹•úÉîÈđ ùüÁưuưDÿ¹7ê³ûăóWô³÷L₫>Ù_êV¬>kưèüuÿ|Åÿüù×öƠöw÷ÖøÅùfùxøÏöªö‘øú1ư0₫ÅWùU*û%Á[ ñ:ï6ơOû¹ÿG₫'ưFÿÉ̉ü2÷/ôøiÿ«Jà6MüK­ưhü₫mÿÿ§ưmù÷/öQø#ûŸûNúêö)ơaö*úÉưÊÿ2¥«b'U ÓjưSđ*ïAô!ư9̣ÿ]ưûc₫µEû®ö÷‘û×ôâ×­ÿ»₫øÿ|ïĐÜ₫Èûáúüđüºü­úªø6øùÖú û×ù~÷Qö°÷_úÿq é#Ë"ñ^‹‡ôjïmđù}ÿƯ äümüëư½™Yư|ù·ø´ü?Lè"Ø₫ÿuÖ́₫6û7ùNú¢üơưóưùú6ø™öçöù‡úÈú±ú¨ùDû¹ưœbƒ B # rü¯óiï®óNú)ÿƠ]ÿPư8üqư UÿOûFúœûÓ„Ư(5&ÿ¨ÿ©[ê₫ üăù³ùêúư¥ưzüú÷³ö1÷GùvûDư±ưÅư₫ˆ‘ M !!Ív ̉üêñ¸íx̣Åùu¬ƒü,ú³ûëÿrđL₫hú5ù$üqö¤9)Ê₫‚ư¾ưă₫ÿ”₫Óüƒúûøºøuùûîû!üÅúGùWø×ø<ûbứÿ>‡đ f¼¾klEªôaí-ïôưçŸfOüûăûRÿµÍ™ ÿàûÁúüÛÿƒ+©^µü*û̉úçûÆüeü\ûjùø™ø´ùû‚ûˆûƠú û–ûHưaÿsí UM³Ï"—ơü’óơđ̣₫÷6ưÏÿ&ÎưCü÷ûư™Y`û₫₫üüµưùÿ0ά¾zÿ ư ûû(û5û¿úgù®ø=ø/ùƒú¯ûümüăü²üĂưÿwn]2Ë̉‚‚ Ëÿ}öỊ̂ạ̈÷û~₫”ÿ₫ïü3üBưcÿ4‚ñ¬ï₫̣ưO₫­ÿ¡êäœpÿrưưû5ûÜú3úŒù—ømøØøCúÁûưÄư₫₫Đư_₫dÿI¾¨x/øC₫̀÷ ơ öŸù–üÁ₫‚₫pưtü$ü‘ưÿ́¥ƒÖ´ÿ¢ÿ¬ÿÀW‰üƒÿB₫¦üßûûŒú.ú ùÅùíùăúÎûÁü£ưúư¤₫₫ú₫0ỵ̈[ Ôf˶ô ȃưú[úŒü₫Yÿ±₫Ùü“û&û#üăưcÿ‹ŸŒQQºƠ @ÿ/₫‚ư}ü₫ûYûû₫úøúûÓû‰üăü{ư₫}₫ÿÿyÿ¦ÿ1V¥Ó ̉ ] ` ‘ÄÏÑr&}ö₫™ưÊü{üưưh₫Ö₫Bÿ´ÿëÿOERÚÿœÿÿª₫ùư_ưÀüMüüđû"üMü¹üư‹ưüư3₫‰₫Œ₫â₫ÿ`ÿúÿ5ÔÊ?OàDRBđo)Úÿ3ÿè₫Ơ₫ÿ ÿ5ÿû₫ơ₫đ₫ù₫Mÿiÿ¬ÿÿ„ÿ7ÿÇ₫V₫ÄưvưưíüÓüËüƠüÍǘüüü5ưmưªư₫!₫D₫m₫¼₫Xÿ!è¤CÍXÄ 4fĂKä‘Kư¶WóÿÿZÿ4ÿBÿaÿ{ÿ–ÿfÿ5ÿ̃₫v₫₫Ëưyư0ưưÎüºü¢üŸüÅụ̈ü<ư†ưµưËưÜư÷ưM₫Ç₫hÿÇiÙK¾$d{8è”`1(,ºbͪ­½°¹pS ÅÿÿÿĂ₫D₫₫›ư[ưFưBư2ưSưVưgưoưƒư’ưŸưØư+₫„₫ö₫nÿÛÿU¢*M¬µÓ̉»ª“{§–n,&ưó ÿ渜o-"Åÿÿ6ÿÿç₫¶₫©₫•₫‡₫‰₫S₫c₫K₫4₫_₫a₫‰₫₫é₫ ÿUÿÿ÷ÿ=˜Ä§Ê¨¹ÂäïßÄÑ´®§¤›•§ª·ÙƒQm-đÿÓÿÿwÿkÿWÿ=ÿJÿÿ+ÿÿë₫ ÿÿÿDÿpÿfÿ³ÿÂÿÓÿóÿ- >2/A/;ZO~zp[“}53LEQP,\6V7:* öÿñÿµÿ‘ÿŸÿIÿHÿ1ÿ ÿ#ÿÿgÿnÿjÿ±ÿ×ÿ7 g?UF+íÿÓÿ̃ÿÓÿÿûÿTvú®êđ¼ËX¦'íÿäÿÿëÿÄÿâÿèÿ%øÿBåÿAúÿíÿ•ÿÿ`ÿÿÿ ÿÙ₫,ÿgÿ¦ÿ|ÿÎÿ{p‚xJçÿÂÿ|ÿÇÿfÿĐÿ³ÿG{÷½₫Ô‘É}wÄÿóÿ̀ÿ̀ÿŒÿ¾ÿ´ÿ¼ÿ &y6‚A)àÿ“ÿ ÿ\ÿÆ₫â₫ú₫9ÿ¯ÿ¶ÿ2·¿Ä€gªÿÚÿqÿÊÿ—ÿ´ÿ»ÿ¸ÿ/&yfq®³g-Ûÿºÿ}ÿ‘ÿhÿ{ÿjÿgÿ”t`ugäÿÿkÿñ₫̀₫&ÿ–ÿXÿ̉ÿOªz½u0Óÿ¯ÿ ÛÿƯÿÿÿçÿîÿ* ÷ÿ&)§Ơ?{Œ ©Z°ÿÿÿ«₫ß₫Dÿ¤ÿñÿ(ˆ§½Á­kÎÿ[ÿư₫¹₫é₫ÿqÿÿØÿESZ]7åÿăÿÑÿÀÿ÷ÿ[WK<>)zIC -+ôÿßÿ̃ÿƠÿ»ÿ8VlF5ùÿ¬ÿ!₫ÿÛÿ¤ÿÿ‡ÿœÿÁÿÓÿéÿùÿÓÿÛÿÆÿăÿ7N[9Dóÿ Åÿ×ÿ²ÿ—ÿÿ…ÿ…ÿCz¬æ·«_[%›ÿ|ÿ&ÿÿ`ÿÿ #GPt‘ˆ0M»ÿzÿSÿ0ÿ2ÿ1ÿÑÿ­ÿåÿ1gœvF2ÄÿVÿÿBÿÎÿ§ÿñÿ/°µƯº*éÿ^ÿGÿjÿ‚ÿªÿØÿ8Œ•®d$Øÿœÿÿgÿ³ÿÿ̀ÿ¸ỵ̈ÿưÿ+q!)Ñÿ¿ÿÄÿ­ÿÛÿ¿ÿáÿÖÿÁÿÄÿ́ÿ@DB^-đÿ;/ çÿ¸ÿúÿ¡ÿct&Ëÿÿÿéÿ ,ÉÿưÿüÿåÿÇÿdÿaÿŒÿ¦ÿ@?“RRüÿơÿôÿ·ÿ¤ÿ|ÿ)ÿ›ÿ¶ÿ)Tt–¦­däÿŸÿ¥ÿªÿÈÿ•ÿªÿÍÿYh}q RA₫ÿ±ÿµÿQÿ`ÿ”ÿÁÿíÿåÿ æÿw›ƒt^ăÿ¤ÿ>ÿÿÿqÿ•ÿT<w°ŸwcÚÿÿEÿñ₫=ÿ¸ỵ̈ÿ\•˜ŒŒaH»ÿ¦ÿ‰ÿuÿxÿ¶ÿ L3cdl+,Bäÿ…ÿÿwÿËÿÎÿ̀ÿåÿ> t_‰/#́ÿ²ÿˆÿIÿcÿ®ÿ̉ÿ»ÿ(8j¸x•–_èÿiÿ“ÿdÿeÿzÿ¬ÿëÿZ9Œ gs Ôÿyÿ–ÿÈÿŸÿîÿ‡ÿ¿ÿĂÿ!\YH7 ×ÿ×ÿÈÿ̀ÿÁÿ«ÿ¤ÿ‰ÿĐÿ „îÿrz0ty_øÿ́ÿ£ÿ›ÿbÿ¸ÿiÿzÿ¢ÿóÿäÿo‰¢µ„œ$´ÿŒÿ1ÿÿÿ”ÿĂÿơÿ%GWQ}iÅmÄ?¶ÿ®ÿ4ÿ₫₫ÿ&ÿcÿăÿ"~s‹ăÓ̉È„7Öÿ’ÿxÿcÿeÿ1ÿ&ÿxÿÿ₫ÿ;+=£ÀEpy“1¡ÿ¶ÿ¨ÿ¾ÿ—ÿ¬ÿ­ÿ­ỵ̈ÿÛÿÿpÿN7z ŸWèÿáÿæÿØÿvÿ¯ÿéÿáỵ̈ÿ ĐÿÛÿjNñÿ6®ÿÜÿƯÿúÿ)Qñÿ(ËÿĂÿƠÿºÿtÿ›ÿÊÿÿÿ×ÿèÿ=I;1ûÿ*P.öÿ‘ÿxÿ`ÿ¦ÿÔÿ úÿĂÿL!óÿeĐÿ6DU!LP96R‚üËûøưßÿơÿ‰^ÿC#u-o3¸Ơ˜˜¬ÿÓÿÿ²ÿ²ÿaÿÆÿÿóÿ>/`̃ÿ¦ÿĐÿçÿ?ÛÿO*èÿÍÿz¹x®üwûœ₫8‘¯)>êS®¤G‚H̉ÿ…ÿÿX₫₫_ưư˜üû‡ùº÷ÏöE÷€ù‡üaä xª O >¾ûÊú ưï₫Đÿdÿ]₫eưOücúÅ÷đôỵ̈¿ñ̉đ…î́jë)íœñ*ơ¼ø4àA[8ü$÷¶́^áYáǻ·ñ­ùÚü¶ zq!´ù¾ñûîøªÚ—iüÛó%í°ăøÜ¡Û;á·êƒX%ùB)SÂC%\úƯ Ơ›ÚzïÙü?ÿ3qY ÷ÛäL̃\â8ö[ M Rư´í âÚzØãŸé†̣ s+I£U·=fJă0Éằíáx2I4‘$ aTơ7ä-Ú á±óøN̉hjúêeà¡àNâ!çlëị̂ óB&iC³O 3k׼ŮÙUød¯#Ïờ‘ÿâơ í¤â†áqñ6Ơ‚;sücèˆäÑçăñºơ&ôïï:íIî(̣|ö1KKAwLë^ÎÖ<ơ P"“ƒ æùùAíIéIç£ơî wß” :öD́ êˆơ@ûHÿlơ5́4äïå1ê ölẾ›ê™ïÜñ"ơ®ïhïơ4CL 3ºYÖ×+ø¹E%Yß@ơPö»ôô€ñÄú{̉çö»̣:ü> ¸Œø‘ñđđíï‚̣Ẓéố₫ß@L?J%ê<Ø ëø!¬– 9ùƯùDöøơóø\æT÷önñöø—}øơoñơóïàđ%ñ“ơ ñï0 ñ+µCP2íüàÉßÑúÖ¾5úbû/øöSôbüé³Yürô%ö:ÿK₫÷Ëô óêộ®óơeö¯ñéåø%c@o5Î -çhâPú“jêSüQüö/ơ%ơ(₫ưùỊö€™¿ư%öVồó öúơ•ơ\÷•ô7óÈç$ơ/39Ï;Åñ-ă–ôû·o)<ü]ư¢ù÷Wö†û#ë:ù̃ón÷ƯX%üIö,öˆøÂùû{÷çơJñđt́́i &Ă:,móBíùªJˆ ÿ₫ÇøÖö£ø8ÿEûÔôEơkưǹæư7ø«ù ü̃ü,ùsöPóÛó ̣Ø̣×í*ñĐ *~8d#|Üê_ñ}Û¾ ¹ÿTûÛơ öwû‘ïÓ÷“đ~ô8©‰Èư_øù¹úwúønöôyôPóIôoïÎôÊÙ+‰4ƒnüëyô œ”¨Nÿ»ưóúó÷øbüÑ|₫đơḍ+øÿ·¤Wúúơ øwûHû_ùröÊôÇôñóị̈síïúÓ1ù.)ăóÂîU₫Úo— đ)q₫ë÷¤ơlùÀ©ụ̂³ñïúßă³ÿ{ø#÷Æø̣ùWù)úbø¢÷æ̣sñ,î,đ%|3"3ßï¯ôêăị±ÿÈü€úPú¾üw>₫ôö¥̣èöÎÿäFÊú÷PùÄüµüơùöêórôôẬíùq]0o.(́ơµđ^₫ÈÎ >¹ơÿ$ùÉö¹úƒm û/ññù~Ú¬iú-÷ü÷»øùùÉú~÷lơ¾̣ụ̈dîÿñ L(o27‰ưđ¾ù ׫ &t™Œ₫røÿøAưOÈư ô¼ñŸ÷.sjú’ö́÷‘ùŸúˆû6÷ô7ñ+̣·đ}ó $ø-”ơỆ¤øà”(= Λ₫́ưüƒ₫,ÿÖÿû†ôó5ø,Xûœö¦öÀøú û&÷/ôñfñˆî ÷̉4,W.—ơÉḯ₫  ; TÀƠúú¡ø₫’,yùñ‡̣ºû&ÇqưjøöY÷O÷ªù(ùT÷WóâñçđNñΘy-@ qxñzöD e÷hü‘ø¢üzâß₫¦öó/÷_₫ÿ©ưzø#öÇôVö5ø:ø8ö³óf̣èïuư~q*&%{ „ôó¾'9 -  Oư8ö¼øÆÿÔw2ú"ôcöưîˆÚưú(øÿơ?ơöDöơlóQóñ@ÿÀ₫(%Ø ̣̀XñúY ;’WûÔö¤ú.36øBó2÷₫ØÉ₫íù¹ơó£ô÷ø:ôọđYó !p*e±₫äñúơk—VÖÿĐöơhü-aè₫ê÷MöÖøg₫QÑFÿîù0ơ¢óúôMöêô\ó«̣ƒñæ g)> ³ó$ơ™w ± íQ̉höúïnø+­k?øơ)÷çûGpu₫×öṃFóơ•ô;ôẠ̊¯̣mp(u6ôŸơÙ < fâ ö'ñVùq…Pù!öIö.úXÿ®‰Nư,öóô®ơ ó%óỤ̈bÿi,$ T Ó÷[ô ú8 fª<ú,̣qơüưÑ­f₫ø̉ôƠơ ûMˆÎJúbơdókô-ôôơ_ôÓü+±#"` |úûôă÷Äs¿[3 ưụ̂óÈûÉM&Yú‘öôÔøóư#Gû;öọ́€ñ»ö÷ø$Q""L8Đùdö4øº®LA‚öølđ0óûª£yüuơç̣¬÷₫÷øüvơóđíœñø)₫3Ü#J"Ûz₫µ÷¤ôÑúM‰ ZưÎóñÀ÷Gü ôBWù8óœó[ú•₫ú₫0ú‘ôî^îöú· "ª%ûß©÷Üơeø¥ ĐéúWôơøüâÍưû ÷zơ5ø”ûûưÿû5ơEđÂî/ôVø› {!”%êrú7öÍô₫Ü FÇÜựö¡óÁơßú¯•ü‚ø[ö ÷)ù%û‰₫BưJ÷Ññèî%ơúög” ·%! hü{öạ́̉ú¥ µ ïÿăøàó«ô-ù’~₫Vûêø¤÷́÷nùyüfûæöËñẠ́}ôN÷ *!/#k 6ÿtơ7ñ_úc̃ hîùñṇ̃ÊøÄÿÈÿ›₫±ụ́ơöoù‘ü°ùö‰ô‚ơîóưùø"œ+g ®̣\ñ§ü´N3 §f>øàđióÂùøümưÂÿbûC÷øUùnø\ö€ơYöªö©÷P 7W®«:çøƠñ1÷² £ ™₫ơñóåô°÷›úŒư‚«ưÔúÿùó÷ÅöơZôL÷­÷â÷¬ –3\’{ú®óÆ÷#ưÿp w F M£ù6ö¥ôcơp÷åú1₫Qư^ư½ü,ù%ơỘYó»ö)öjúôÂTø=$øßôgùÉúô ¬ ! ÉüüÜ÷óÍó÷Ôù0üÖư†₫#üuønôüṇ̃#öbơâ†SÅN)ä·ơ÷À÷’ø£w ­6Dÿ öụ̈Öô#ôë÷îû™₫K₫wú=ø[óñ²ô¯ó¬ü˜Á®4i ©üƠùcöQóüDµ̉ߨÓüzödơḥÆó+øÄû¥ưLü”ú*öṾơ«óçù[7WAø%lư úfóUø'ỵ̈µgZZû)ú»ô7̣Dö ø)ú“ûñúâö*ó³ơÉôîüŒ6lñ­R Lêÿùxô*úœüQươJÜÓ₫ĂûËơ„ô ö¬ờ÷qù÷?ơë÷!÷₫ơ{DËmåMÛ [BÿäơËöOûÊøPư!™µ(ùÿûD÷+øưö¤ơn÷a÷hô¡ôˆ÷Ôơ‡ÿÜ É_ø ]Ïúªơ™øRøËø»₫ơ5{l`₫Ăúùù‹ööåơỢụ[ơô³ư· §3óµúb Rˆü‡öTøö₫ôàûr₫f₫ŒHĐ₫”û:û½úÇ÷ßö0öÎñ̉ñÁó”ñÿ¼ ˆ ÷@§§œ ÿ|øñøyóq̣ùùăúĂ₫³ÿGÿ?ư₫éü ùó÷_ơTñ£̣gđkóiœ8 6÷ÿÂO Tÿpû»÷rđ_̣åơKơ+øơûæưaưÓư^ÿ7ưRùÉ÷'ơwó˜đ‹ó<qa&£’­`¡åáûị́¶ñ$ọ́ô}÷Dú¹ûlü•₫­₫Çûiú‰ùÊøäô ø®A¾ÁƠ₫ 3ÿ-ú£öŸơaơØơ=öç÷|ú¦ûÀü»₫Á₫Àưưư¸û„ûh́¥6”äÔ²E22ÿkưÓûûJú±ùÀú¢û́ûÔưÿ8ÿ ÿy₫ÀưßüÙüơưÑÿZåkM».;_bFóËÀ´6ÿ₫&ư‰ü>üüQư₫ưj₫Â₫˜₫ÿư©ưư©ưùưÔ₫̃ÿ”+Ă>¥ÚI°u¡î1„ÿÏ₫M₫9₫B₫e₫₫̃₫Ø₫z₫y₫3₫ÓưđưöưU₫¼₫ ÿ×ÿzÛy pÉđÎ?Ö%töÿÿ]ÿ5ÿÿû₫¿₫’₫O₫̣ư¨ưyư–ư£ưÁư9₫Ư₫wÿ9¹7¯/^3ú–óO¢ñÿhÿñ₫₫m₫c₫5₫ ₫₫ư·ưzưxư˜ư®ư,₫ë₫¨ÿzQ"¡ fOµ*ˆíǹÿ ÿĂ₫q₫₫₫üư₫1₫₫H₫?₫₫P₫¬₫ÿ¶ÿ[*ÖC¼̃È™<ÊEÅNïÿ‡ÿ;ÿô₫­₫₫@₫6₫4₫5₫D₫2₫U₫”₫ ₫í₫hÿäÿ»K˜ÓÜœI¶)©2¼ÿ„ÿ(ÿđ₫¡₫]₫0₫Úư¼ư˜ưªư¼ư₫₫ó₫|ÿ$½fçP̀ơ÷±2ƒÑD’ÿ*ÿ¶₫`₫I₫₫Øưµưưnưhư‡ưßưJ₫ ÿĂÿ`'«<T,ă„(y­êÿUÿ±₫Øư€ưLư.ưư]ưưwưưÊưe₫à₫²ÿ„›yPÅ=Aë^¾ñBF·ÿ̃₫₫ ưøüiüüüÅû6ü­üuưéư¹₫Çÿ‹…¡w‡>'í‡ÿn₫kư›ü1ǘû$ûûûÉúuû̉ûÈüùưÿ‹Ê OTÓ„n‘è*4ng*ÿNư#üEûuú½ú úLúúOú?úúnûAưÂ₫ÿtÛ60ú0âV*U¡(¸Î₫˜üÖûåù>ùßøù9ùàøăùÍù»ù¿ùüƯửÿÚù8-ă 8 J +v)ÿv₫VưÄùUùh÷øÛöÎ÷¹ø1ø-ùÅù“øIúgÿ₫h$êæ§ ̉ :  CØƠáßüÛüTûêös÷Lơ öÇơ÷ÖøÇùL÷bûùàû›y₫RëÙ®ơ8 ï ¡ ô ; —k‡ûÆư7ü‡ùö~öÖôÏö¨öùùJùaû*úùúûF˜­ÿôÉưº́< m  ’ Áá=́üû2ù€öĐö ö\ù¶÷ùyûgú˜ûú¹üÅû₫üÿ)¸î ]¶đ ç] ,¦·T₫”ûù<ù)ø‡÷ù$ùDû.ûÇû{üü¤üoüưpÿáÿ×ÿ܈Đí“Ưôh1³O>[Đ₫ư2ü*ûúÖù/û†û¸û„ü/ư₫Rüưư˜üưJ₫LÿEÿ1cR¾~àö Ö­ÿÿ‚₫¾ư}ư8üéû ưÜüư1ưÔưÑưÊü=ư™üeü-ü’üèư₫„₫·ÿÍ”,́ O…ÔtFÈzLÊù₫§₫£ü½ưWưaư‚ư ưV₫ưeü{ürüü8üMû¾ưúưY₫ÿ÷ÿXJ<&ö?d]ˆÿƒÿ₫$₫ïưîưÁưèư₫ưrư…ưÉü(ưüÉüü5üŸü₫àưo₫ÿöR! 1®̉[]F A³‘ ñÿ­₫®₫¥₫ï₫₫øưÿ6ưL₫Uüăücü"üühûóüÜüæưUưÊ₫oÿmi'!&4(V;¬©‘y™_ư•ÿĂÿÿûÿƯ₫₫b₫<₫8ưóûAüyü[û#ûûœûüăüoư¼ư§₫,ÿcáf¬ư•ÓSËEFº\·J̃¥ ôÿ¦₫Ö₫¿ưÈư»ûĂüPû"üåúû»ûû~ûAûÜư°ư₫₫.‘TSa­±”Œ>É•0˜¸KóD©ÿú₫1ÿ;₫ưưüäüûèû¦û2ûû’û6üªûjüÜư€₫₫†ÿH±ơ¾V¤:¹_<3ñµæåÿ=ÿ́ư₫…ưOưXü™ü=üÓû¬û ü4üïûLüÊüæüSưX₫ù₫iÿêÈVơù$₫Í׃ø÷ QW& ÿ₫¬₫<₫6ưùü]ưiüÚû9ü­ü7ü…ü üÆüIưưÅưƠ₫ÿ`ÿêơåV ×ê%ÇÑ)@|¸ù²óÿ?ÿñ₫ˆ₫¢ư˜ưoưư^ü€ǘü}üçüTü§ưIưđüÑưÄ₫UÿŸ₫pÿÛ_Q¡ªH ŸVÿX’u}øÿ0ö₫Fÿ‰₫5₫ÛưFưªü/₫†üÉü-ưưư©ü8₫gư;₫ÜưÇ₫ÿ0ÿºÿK”ùf¿§è'¢^F…ùÀo3Pà4„lÿnÿEÿ`₫ÔưÜửư`ưÙü¶ưçü£ưAưđü₫nư₫Qư ÿº₫ÿGÿ@ 7Ơ8JĂe‚̉9"U[èŸ̉ÿ/¹ÿ¯₫$₫¯₫H₫/ưư₫øü&ư¥üT₫–ưư%₫̣ü₫ưe₫wÿ́₫†ÿÅÿI®L«Æƒi$ÙCv•›ÛZ?'Mœºÿfÿsÿq₫>₫\₫2ưÿưü½ư”ưpü"ư:ưªư"ưđữưúưä₫¢₫Ư₫™ÿs-¹çck¦ûPB¨ó”/‚₫ ₫ÿ^₫ưyư#₫üûXưÇürưÜûưD₫uưøü;₫±₫Öưÿµ₫œ0ăäÈ7/̣ÚîÚÙđwímû¹Ê₫(§₫Ư₫ư*₫ư®ü©ưrüúüüưưKưKư*₫¢ưüưH₫gÿ'‰ÿâÿºA²é:O_Æ,cFÏ\$@I/ÿñ₫ ÿ´₫£ư0ư=₫́üÍüåưưÿüCư×ưÿü‘ư ₫X₫½₫êưĂÿoÿéÿ%Q«ÄÁĐ&¹1]ºÍÑ̃<Â`Í¢₫ >₫cÿzưñưüựüÎü|ưXüáû!₫¼üFÿDüÿ₫H₫₫ÑÿCx₫₫¯q ,µ7N §U=›R¦ơa„+ÿ÷ÿÿ2ÿ°ưD₫Hưă₫wû…ư˜üư+ưYü ₫Êư÷ưæü ÿÿÿn₫88ÙÇ ¿›VÂI%4A§›cúiƠ¼₫Sư]₫óÿüú¬úûHúøtúü5û°ùïü7₫ï₫ ÿ—£á̀'HBB<àlWC/»ÿlªÿ»₫ª₫¾₫&ÿ’₫H₫2ÿ.₫åưGưSưưíúMú9ú£û'ùYùûgûûJ₫²ơa.ê ä fSgíZv₫=₫•üƒûæûü ư?ưqưtÿ=ÿÿÿ&ÿy₫ư÷û!ûAúµø>øø¼÷̀÷€øûưk‡”  L ¼~$  ü • ̃Sÿ}û÷#ô¶óơ₫óơøù÷ûưüâÿJơCåÿ²ÿC₫—ù0ø´÷Âô7ô³̣Pö ₫Ú₫Ïæ V¥íly›nŒ ^9Ùûoóáî¯ë(êIë8êEï öøEü*ÁÏ'·¢ÿÔûTú=ô°đfđÎïføÀûvüP Ö¬“Ï?¦prƒ@ûaïªéÅå£âŒâQăé$đ„ô—ûÄ…h   Íå[ÿXúôøđ3́+í5ø]öÜúg †ás#_#Ÿ"̃ ËÙü¤ögé›åü߉ÛyÜ9à¨æíSơ»ÿ/Ư ̣V*  ' ưøÚđíăæ©î—ơàñ£«Ï6Í%Ä&~'É&o$N68ứßäpàJØR× ÛkàçQđ7üă& Ê&à  8»ú@ôxî ç×â±đ£đyđ„äv*'À)Ư)^$:Æ {Øơ æÂâ<ÛÓ1×%Ü"àéé'öäÅêèç_^ 8 ùñé‚ă¾̃¾êï8íGêc̀ Q.m)°+H.j%¤QïÉóåûàÂØ×ÏrƠ²Û˜Ư¢éhøé ă¡ÈE¦ .rụ́­ç&ă@̃×âäî{́øûÍ÷¹-C,O*H/#'ƒqö)çà̉Ù ÑĂÓ'Û‘̃ơç÷ó¹ /£́»v ½Ưû«ó[élä¼àÛàÏî»î<ø÷ W­+*4-ƒ'5,'JÑ»Yö€èá×ÚyÔ¤Ô!Üá éÜơ°•(¡S4ăvüKộë*å^âÂá~í;̣öơg 3×È$È-J&&4'@ Í÷XéËâƒÜM×c×1ƯßâNëÁơaê à‰nư5Ñ̉|ü_ơ_íqæTå3âJëƒơöơØƠ¸¿k+'̉!¥#Ü£ I>úÏë©äßÛÄÚ=̃jä&íCơ;ÿ“ .¯êV” âưö™đ.ênçåûệö8ø›½iM¢$́&'­ oû ïoç¢âèƯŨ¶átåí÷ö₫ͽÖ3„ ?₫̉ọ̈ í.éÔè·è”óĐüÂ₫ë wX\Ë#Û!;0wü_óâéæĂâ­ß}ă×èíüô›₫T^ s©„ v3ùó‘ï̃ëCếxíg÷ ßÈ ĂÀĐFù;l` Kÿ øYđ9èæíåäç£î¯ó$úÚÍå ¢q ; ½ücö¥đÔîÑí/íEïóư^w zÈMÑÓ¦. |Eú…ô°î˜èbçzéSê΅nó9úÿÿ Ù | ’ Gÿưj÷øóHñđ&đƒñ5ôtüø 7¶|}ÓJå §úåôûđ́áéë:íkïkôzú6ÿ<oI  ó ßƠ#üø0ơự̃ñụ́æôgöL₫¦å û{^†f l©ùóKñ¾î¸ë`́âïẬ{ö&ûÚÿo ™FÀümø¢öươËôCó4ôœ÷ư₫Ég ¤Ût̃ ß­ú́ó“ñađ}íÙ́ăï.óö€úUÿáp̉$¶DYûé÷köơMơö)÷‘ú«z üœØ̣+± 2©₫7÷Ưñ‰đ)đ3ï¾ï3̣+ơêøHưV*<ÿQû¶÷àơ¹ơWö ÷¢÷"û"'yåĐ2ñ ü¯₫÷[ñ¿ïïđñ2ñ•̣2ơbù¦ư„ÿ+<6±₫Xû'ø²öâö÷éöp÷tú$Ä {è¹ vH€¾ú,ô¼đ}ñóªóåóJơEøüO₫₫W₫Ç₫µ₫4ưôù¡ö{ơˆö†÷b÷L÷Ïúf5ic¨ ăDÿ û€ôœđ̣iơÎöö³ơø‹üGÿ₫ˆûJû^üû%÷´óó1öWøøUø¶RÖ_J¡Øñî₫ ₫Øü:÷cñvñIö×ùªùă÷Uø̣ûƒÿÿ¢ûùØøÁø5ö‚̣ñFó©ö4ø¬ù"ÚI¨«¾+ĂÏ Á6üfútúR÷‡̣öñ‚öhû„ü₫úgú¶ü}ªü>øÂödöLôñäïñÂô$÷™ü &$­Œë¢ ™₫HùøøKôñ¦ó™ùƠüYǜûÀüç₫Ơ>BüFø±ö~ơ•̣0đ«đ†̣Óó3øéµ¢ZÁEpH æÿ>úÙø³ø#ö>̣›̣û÷œü§üûRûNưWÿ•ÿÿüMù ÷íơôẈ®̣µóÈóCøçơP)} ßäüđö˜÷»ùµ÷\ócôpû`©₫*ûĐú™üĐưGưKú ö—óµó´óóQóÔôñöÿ₫û¿["h¸Q¢ ₫.ơ§̣=ơ÷÷§ö ô×öh₫èn(üûpư~₫²üvø§ó<ñeñḲẠ̊×̣1ó¢ø* Üî&Ï ´Ñ¸ đƠö̃đÜñöS÷ôó.ù*Oư úCû₫—₫Öûköîñƒđïñókó´ñëô¤ëË(>#|ê@™‘PøeđÉđ5öUùö>óÀ÷!r‹ưÖø×øûưeûÛơ_đ„îñơơäñßơg ¶#-Đ#÷dÄmŒùó—́£îöÛùÂöơµú Iß₫Øù-ùôúÚû\ùPóÊí©́đ}ó‘ó8̣ØûÎĐ)J-M#eae ư;đÙêïÊö†ù*÷÷¶üu³₫ûéùÍúÆû¾øÙñ͈́đ¬óṂô§áV.n)<zoÊeö«ëUëêó'û7ú,÷±ù, Jü!ùøpú‚úxơMîLë-îØ̣Üó[ó›ÿ},ü,#n3nt¡ùjí§éóïÂøû úLúR₫eÇAÿUúè÷ù_ú,÷Rđ`ëṔÈđ²óọ́>ü–°)‡.c&¸MÀü+ïâèHígöíúÚúäúœưZ̉¬ûÎ÷û÷^ùz÷»ñẤ́ đ óỊ̈ªüĂ)€-R&I1(6̉ûqî4è0í‚ö=ûüwük₫ È„ñû°÷g÷à÷ öëđ́Đêî}̣Ïóµ“1+Ơ,Ö&™Üç ›Ùø₫ëÉçŒíyơÅù…ü+₫ÿO‘Z<ư{ùWøèö›ôđµë ê íNđÜó‹ÿ?,À*Ø%œ… ©¶ơaéCèFïöEú[ư"₫‰ÿ†‚‡ü?ùøröôïPêê«î]đƒø„$g+{(d$„uñ₫öï>ç;ê$ñ™ö«û₫¬₫i,Ăj'ǘù?÷@ợ́+èóêïEñ¬×‚( *å'ÿ!h0 Êø¾êÇç ́DñN÷ưûưÔ₫m_NưúW÷Möjñbê9èD́Äí*ô• І'Ö'Ö&áüí UặœéWêí–ñ₫ø2ư%ưål*5ïüƯø‚÷¼ơ'ïăéaêä́¦ítûÛ¡"đ&g'\#• üî½éê"í̃óxú•û“ưïƠ“F®ûPù»øJôuíáéœêˆëïÈÙ"o&à&N "J̃îøí†ểé~í¸ô!ù3úÿ×¥ DüàúÄøNó(îèê®êüêñ&;e"®%%®¦p·ø³î¥ê­é—îơ7øvùé₫¶ü –ÿ×üûù"ô…ï|ë×êqë(̣¡Y© ư#Y#nÊ‘ùAđdëêïơ÷úøq₫z^¹Âss₫Wümùrờđ́Fë¨ë±đǸb"È"bk½Ñ ”üEóà́&êñî@ôæơï÷ĂüíÿÙ’ ‘ÿÿzưÏúÜ÷ ̣ḯfëëˆîh₫NÜÖö!ܹ2¬ Øödï-ë$ï%ó/ô^öËúƒưŸ€ù₫€ǘù ôsî|́ ́ß́|ú  ̀è!ăP·4ăúîñśiïṾHóƒơˆøĐụ́ÿ0Y>èÿ-₫üúơ¨đ«í́́~öºj  úƠĂ|ÿ₫SơèîÍï·ñ‘̣cô8ö§øƒư5>§ª}ÿJư­÷£̣ºîRíH́+óåó 2J1vAÉ v«øñ‚đ ̣Ḅoówô—öƠú Àᬉ=n₫Aùô5đxîí®ñ»ÿ‹ +ô‘f´ ØúdófñṚ̣ạ̈ọ̈ßô5ùi₫®vÄ_…ÿ–úSơ>ñïhî®đđü½9H#R‡ÂĂö<₫uöÇ̣Ø̣#̣ḥ ̣`óßö û„₫ÀĂ{{Ïÿ®û–öØ̣đñï™đ”ûx‚"?Ê)»3 }røTôæọ̣́Oṇ̃‰ơúÿü%ÿ‹—<üÿü÷ó’ñKñTñ›úTôÏÅ#VÑ à¿ú3öơóÚñ˜đêđô₫÷àú0ưé₫Éÿ æÿiüœ÷’ô&óó ̣ú„·&¦­‚ ´ü øuöĐóüñ"đ đóŸöùtû‰ứ₫ Bÿéû…÷Vơưó¾ọ́Aú–è́,—¿Ơ¤xƒ₫æù*øŒôSñÿîfïệ̀ơÄ÷Wù½ûI₫‡Ö₫Eû÷₫ơÍơ?ơỊ8ú›ß̣H hoKÿxûvùfơ'ñ’îï›̣«ô5öà÷û'₫$₫¦úl÷ ÷₫örơöñ¿ùñÇ(ʹɸĂ5ë₫Åú7ơZđÈíVïḥ_óôóIö-ú₫ ỵ̈üêùà÷‰ø2ø©ơoññù!Ÿàw,ÈẸ̀û?ô±ï'îRđØññÅñwơúư¥ưaûôù)ù ú{øïô#ñ1û_‰Nw=s 0,·û…óJđÙïÑđƯïîrđÖơÔùû{ûíú„ûxúăùÀ÷ˆơḅøú‰ KÖ˜åùf×v ' ¶üơáñưđôï₫íć6ïzôøù*ú¹ú´û˜úÜùø‚öŒóeú ´«‚…~×ơ ›8₫}÷ùóḅÏïÍ́´ëUị̂Éơ ÷Àø†ú=û*ú ú9ùĂ÷rô¢ø#D Ñ XÎĐcY´+Ẁ RđùjöăóËđấ(ëûíñió¾ô÷TúûÎù»ùÚùuù÷6öIä  K›}Œ´œ điưùÅö|óÔîôêá́ßï,ñṃôuøûÿù4ù>úüú0úÓöÖûë c KĂAôîeh ư₫äú(÷/ó´íÄëÙíïvđøñ¡ôîøÅùù1û‡ûĂûgú/ùÅ₫¸Ü  U ÷‘Œ÷VdˆO üÔÿZưøÉóÂí·́cîåî–ï¨ñHôÑøŒúùƠû¦üVưŒûAúÁür5É ơ / ¾l‚H÷C‘èÿñûÿöÍđííæîÏîgïUđwów÷rúoùĂûơü;₫wư¸ûđúñ₫ME§îĐ ’:CRŸP’ Ǥ“ü÷¥ñÙï6đYïơïMñơAøeùøù3ü9₫ä₫Kư;üRǘ₫ Jè¬ „ g@ !ê ‘"Û₫uù»ộâñºđZđḶ ơÇ÷÷ø‚ù#ü<₫̣₫A₫}ư=₫R₫ÿ„&zTÍ Â U c i É Ü ¬âüß₫đú•ö´ó³ó₫̣Dóºó¹ơ~øĐùƠú$üÿ‘ÿ•₫₫́₫ß₫P₫ev¥ê—N₫ ¬ ¤ Ÿ  1 %éKÍưú÷èơÇơ;ơuơÉö÷÷yú­úvüÊưÎÿ£ÿÑ₫n₫Ô₫¢ÿÑ₫sÿ¢§P߬ä4™(Rà₫¾üÎùÚøZø–÷/øOø¥ùvû^ûSưƒưñ₫}ÿÿÿsÿdÿæ₫í₫fϧÇú  ‚d^µJÊ)₫eü*û´ú ú-úˆú‘ûgü ư]ư!₫ÿ'ÿ’ÿÿûÿwÿeÿ́ư,ÿvô`æÁ^m²¡̉¾åûyw₫(ưVüáûwû¶ûSüưµư‡ưó₫₫zÿ·₫ ÿ]₫æ₫Ä₫¹ưxưÅư7&ÿäÿ?ÿ`ê’1/ëuWNnŸÿJ₫ôưưưƯüư…ưÉư«ư₫ûư8₫àư‘ưM₫₫₫¥ưXưâưfÿ£ÿV:O´˜-Î*-¥>Èèèÿ®ÿW₫₫ŒưI₫”ưü­ưáüưáûçưTư,₫E₫/₫̃₫›₫ÿé₫$öÿËj “‘g²«Ôå ä~ÿbÿ$ÿÛư§ư}ưîưÉü7ửư₫ ₫C₫¡₫đ₫Aÿ5ÿ6ÿZÿËÿ¢ÿˆÿ©ÿ:‚b¿¸-]Ör9ăsă>NÿĂ₫G₫)₫Áưÿưôư₫Q₫>₫Ă₫đ₫‚ÿ$ÿ •ÿÀÿ°ÿ…ÿÿzÿ³ÿ„ÿÿÿ ½¹GèiTE>ú?̀¡ôÿ”ÿ)ÿ ₫W₫R₫}₫₫R₫ß₫å₫3ÿ•ÿÈÿĐÿœÿúÿ˜ÿ ÿáÿ’ÿáÿÂÿÿÿ÷ÿgiÆûñ9†‘PíOæÿåÿ‰ÿ"ÿÿñ₫₫¿₫ª₫RÿÿMÿ”ÿÿ•ÿ¤ÿ̀ÿ*úÿJçÿ‡Êÿưÿl1ABtÚØ¾Ưʼ\cA+đÿëÿ˜ÿ¾ÿÿÿ ÿIÿ¹ÿß₫ÿpÿ0ôÿ çÿ/{ÿ‹‚ÿ¥ÿf7 «Œvă…N½¿ÿîÿ‘ÿĐÿ©ÿ­ÿÛÿaÿÚ₫“ÿåÿUÿ[ÿ —ÿ>ÿ)Ùÿ Dëÿ7[hÇ ”¤hp=-Öÿơÿ <Çÿ×ÿªÿ¢ÿWÿ‰ÿÿxÿFÿÀÿ}ÿÿ?ÿÿèÿÁÿ8ˆá]q#WÔ”ÿLư—ÿºøÿzÿgÿßœÿ×ÿ·ÿxtÿ:ÿ)}ÿSÿ‹₫Rÿ8”ÿ&ÿlÿ&ÿaÿ »iëÔýkßÿoy]Ñÿïÿgâÿ¡ÿS[ß₫ÿ³ÿzÿƒ₫‹₫ÿö₫ÿM₫ÿÓÿ`ÿVÿ“‹¡zèäƠT´ ,E(UZỴ₫˜ÿ»ÿØ₫Û₫é₫„₫pÿÊư₫'ÿË₫G₫₫»₫ÿZ₫ÿu”ÿg¬:Í7*‹Ü¥W5ŒÅÙä₫‡ÿwưQ₫ü­ûcütúˆûúú]üû€ư{ưR₫½₫ç₫y[Iơ¦z‹ +QwºhÚG1Zưhü”úÆø´öHöhơ_÷öó÷3ù…úúKüw₫í₫ ÿ„n«} ÷  ° ä  , ̃°Wåÿ©ÿ«úz÷ ơ\ơḅXñṬ9ơhơ)ôøû_ûPúưhÿ³Ñư'³ ×Z ́8̃[à d×Wø)÷—÷đ¿íăîûïađàîËóø˜ö­÷ǘüÛû›û¨ư¤•: [NT™VNt t—–ư”÷ệ„́%ë;é*çûé ́î¢ñ˜óđö(úEúßüº₫Uưr  %lëÁRó>ª ̣ 2ÿ`÷=ñûïyéĂæBèçÚéûëïpóßọ́öUûUù®ûïûoÿó • E®¾̀D¾ƒäe ¾ ĂŸú$÷˜î0́Üç­å¼çMæ•éÚî˜ïvó'ö÷ÍûèøüúWú9Ư] 6  Ú ~[ $ £$û‹ø5óÂêêƠæ¬æç<çeíđ·đö¨öRùâụ̀ø²ùOú N Ê Y!_ ["û|xÓ ñ ¥ưưô;óùê¾çƯæUæ‹è‰èǺóóö́÷Æøú3øŒ÷ƯơJo ó ˜l"œ î#ƒ"s»̃ U ₫ư8óiówêà奿‹æØèéÆí&ơ”óö$ù@øàøø8ö ơ›› øn$!\$́#§H‰ gúñ]ñíé^äÄçVê˜ê·ë:̣&øjơ^÷̀ùù»öD÷ưó`ôåR ´ $v" $º"½©₫_ơBî;ï ç°åêëtîđ^ơ¬ùª÷´ø^÷*÷pơ"ơ5ïrư3Óøp'd#$9%=t+ú£ûQëíôë"å<è!íï=ó9ơû•ûùn÷•÷”ơ2ôLï¾ơU  s\&–&‚#¾$ưV1ưÙ́éî¾èÍç îñ=ôøơ®úÙüÔù-ơÀ÷ơỴ̈-í=ùùơ G*è(Ä!4$rqáük÷ë4èÄë‘êmëXđ¤ôÁơ±øëú ûî÷oơGơDơ]đ)ïY ‹ 1"í*Z##̃|jÇư*ơïëùê^ëǽ.̣1ôôCùTúcøKøöˆ̣‘ôSó¥îˆb‚%-ß#2ÆKJ₫ÏônîäíZíSíÈï1̣ơôƠôËơùøÍóóÅôÜôÓï÷èP‚k%ä) JQÿû˜̣°ị́üđâîˆó·ơ™óqô˜ơÄơó±ñÖñơ¦̣¶ô£ ¥DØ̃(Ú o!{ÿ+ụ̈óWï(ơơ0ñơ˜÷Ïô•ó¶óÖó·̣dđđ-ộ±øŸÄ?R Y)Cѧüæú’óªï5÷l÷™̣s÷÷ù-ơƠónơẹ̈BñÂđÍṇ̃ọ̈…Wá#q#»¶ —úYøọ̈ôñø•ơ¼ô3ù˜ø¦óèóÄôạ̈ṇ̃<óÇ̣$ÿ?₫§ˆæ"8,d ¢ûÓ÷ơ:ôÅ÷1÷.ơµöøơæóÔó–óỤ̂Ưó^ôórÿ\{‘ø!{: ï]û›ø»ô™óÅ÷ă÷ËôÿôO÷ˆơ`̣®ñnóMô9ơÚóNö÷å¸ZU!w? (ü\÷tóoô‘ø ÷ạ̀HófơËó2ñˆđø̣̣ơcö³ó6üÆ~¿© ‚Ưµ­ÿüưô¥̣×ơø6ôûđ'̣NôỤ̂ïmïÂó½÷oô|ö« iHøB!Ư Đs_₫+øôjô3÷ öÅñï+̣óïî́âñÆ÷!ớô₫DQÛ|U ’¹ ÎêUûéơ!ôóö/÷F̣ªî̀đ`̣đîÝæï=ösöˆöåî]p İư·÷qô•ơ„ö˜óïLï+ñàïÁí3ïhôcơønđ½v†J {ÊY–üă÷TôDơÖơèóbđï•ï)ï‰î@đ^ó¡ơF₫D’ờéÖy§nƒ‰ÿnú¤öâơøơô6̣ïĂîÀîï:ï$̣7ôøù=Qÿù‚ †c­üưø ÷áö9ơóáđFï¡íÜí¾î‚ñRóµ÷ƒ8ű—µ[Ơá"₫¼ù@÷2øb÷ơ,̣đ?î¯í_î_đ¾̣ö¾ï¾aÊ:n•]ëÿñư\ú÷…ö"÷ÑöMỗđ§î#îzï2ñ…̣%öpĂíBÈ ‰ÿ–ư5ùáơ¤ởö6öÈó„đåîïÍđạ̈€ô½øÊ²í»e¢ HÿÆư‹ü6ùơ˜ô£ờơ\óđ-î¡îñđêó!öWü¯ Đ[® ­Œo ØzưüIúà÷.ơ>ô ơ…ơç̣#ïí̉îÑñ^ô•÷ƒ§‹ ^Ë/æ₫’û¯úªøơóôÅơ¬ôñî_î1đ̣̣öô´ù#=Ä ´µ%©á¾û ù¬øưö«ó!̣jóơ¤óéïOíîÁñ.ơ%÷(₫³ Óq y?‚ ú₫÷øBøøVơ²ñgṇ̃óÙô5ñ/íä́ đœóơ\ø½+¸!<_ñ2‘„îú‡ø¡ø™ö’̣}đ̣Qôụ̈dîuëíêñ4ơàơƯû¯ ¢M#¡ØÀ, ̃₫¦øêøêøŸơ;ñqđˆó@ơpñ́ëŸîựUốơ :#´!G›='\qút÷²ù˜ùúô“đñơ¥ơŒï¤ềë đĐó²óïơà„&z!Ă Ăƒ#Â÷P÷Cú`ùœô^ñJóÆöeơæî«êǗïñ ôḶ²ôơ¦&y'R(o₫öwøÇû¶ùơóßñ~ơ½ø8ơîüê_í/ṇ̃ëñƯó»-'k#0N=P=ơÑơ]û±û³ö ó+ơ‘øø¾ñV́́đïuñpđåïøø-W#ˆ'œKÍ̀”©ø‹ôfùíû!ù÷ô€ơøáù§ơûî́Öî…ñªđï–đCưfÓ&£% ¾ˆt~ö8ö ûWü“ùÆöÉ÷ú›ùô:îỚhïưïMïîđ3üơ*Y'§O[ƒ₫Aóéơmü4₫äúOøùû]ú^ôeî8îÓđÅđkîiîăî@ơÏ ·$+P> ŸÇ ÷£̣Ư÷X₫ÿTûùü»ü÷đµíêï‹đ@îZí́îfîØøa,!)-©Ê0_₫ẹ*ó¥ûO>ÿVú‡û₫œû\óTïoị̈Yṇ̃ï¡îáïúí ôe .(ä+ ƒæCeơJñù̉ÿcû,üÛ₫Øü2ơñûđơñỊ̂7̣!ñïï®́‚÷YÛ+…(®Î“Ñ‹ư?óăđæ÷LÿÿØüæ̀eú‡̣4̣®ó(ôôóçđEđ+đ[íií8X"/!%y*g;&ö˜́_ïuü>́ëö ÷đëđ—ñ¨óVô ô‡̣¡̣×đ­ï†îdø1--=- â—Ç ÁøYî‚́Nø‹Ö®”úMï̉́mđqó‰÷ù÷.ølöñóéí¶îđlóO&R2p&§Ü ụ̈Ẃîó+> 4“ÜÍư9ñBí,ïnórø€û.ü üù‡ñ:í₫ï˜ô™đ‹ùC4u.,ơơ /nö́Ÿ́!ÿë ¤đ6OùƠđ7íöđ›ú₫¼úÅú_ü²÷àïïẶÄơ ̣=ñ\[(&0# d}=ûËñ1î̀ư® ú ́Qäyü‰ơîî©îX÷5ÿ­ú ùÇûRû¿óñđrô€÷ö̀ë'ñöO- ,^Î僄ụ̈ậ̣$ ƯÅụ̂7ë´́xöú¢÷7ù«ư;ư%ø@ówóÂøWû÷Ặùï&ø+c+Q*w!,IjÇû»óªó›+ ¦RŸüœù©ơZî²î~öWü‘ÿeÿ‰ü.úÜ÷Yöåø@ùsùø„ô îó ";(ª Q¼¼ ^ôæđVư &‘ÿÿÿLbûIóẸ¢÷züï₫˜₫³ü²ûúa÷™ö)øêøù¹÷)ơëñöïïîÇü¸)Œ'¶sO³ú̀ó¶ù¦́ ·>†v₫~ùœ̣™đÅó ùGüŒư»ư₫dü ù†÷-ù ûªû‡úRùûøf÷‡̣Jî(đy}S()"÷2 ê†øTñ̀ø±Ø’ ̣KüˆûvùôỊ́ÂôËùÿ-Ïÿ ÿ¶ư|ú=ùøùéúèú|øˆøÑø÷iơj̣:ñăúT9$Û)$È/ E/üRơxö" v •Eüö÷J÷*ö3öâøñûTÿ ©₫3üŸû¦ûpüưæûëúÆú¯ùÚ÷ưö ÷(øJ÷;ơƒô„÷Y‰&X$zYR7Ăûv÷û«Å{3₫ù¼øïø÷Uöµ÷¹ưÍ—₫/ûÿú±ǘư0ư4ü{ưÏưóúĂ÷Sơơâ÷úôù¥ø>÷ÿø…ÖH#$a1”±¢üvù.úS₫hœÿ™ûyù ùPøÖöt÷1û=rưßÄÿX¦öpưü×ûúRù‹ø¾øú=û‡úV÷óÁñ<ó¥₫ûØ# iüMúüjª}ÅEüdøu÷:÷·öS÷áú1Ă™ØôêÜ+œ—₫êûaúùÜ÷p÷˜öơ®ôóRóèôöøÿ)îü"V\h˸₫…ưưs?§ÿùøö8÷‚ø ú,ü˜ÿưb,l¾t₫–₫üæøÄö0öcöÄöhöwơ¬ơnö÷—÷$öúp|P$đ!È ơÿ×üûüXO§hû®ø(ø©øúø¼ø/û#ÿ Z­Ô±¨+ÿIÿÉ₫~ưvûJøuö ơMơqö’÷økùAùùføû+đR ü!½ü¯úÿƒü¾ú¨ưÖ^}˜ú\÷Ë÷ùÍúRú²úØưWWü‘¹`N₫ÚüâûIúlø‘÷Đ÷$ùAú̀ùÁø«ø“ù‘úÁúüùB₫­ £"" dÿ„₫¹û8ü\…Áa₫$øöZ÷?ú¼ûvû]ư2̃[üÆjè @Æưüü›ûÙú ùú÷×÷•øóùpú/úĐùú÷úúúÔÛ Áư ₫‚ "¸₫5₫‹ưƒüư¾ÿ÷â ÿú÷»øMûưÚư ₫ĂXû·ÍÿÖu₫@ÿ̉ü¬û“ú„ùÂøª÷qø úmûư—ü¥ûÖúÑùiùDùäưÆHăí v®ÿÿülûüI₫AĐ€ÿ3üWùù÷únüoưk₫kc#u6§X›ä₫kưPüèûAû+újùùÍùçú½ûüîûeû¼úáù:ùcû̉^=A>¿ J¡ư üÆü¼ü/ưlÿÓ•™*ü<ù¡ø|ú0ư¡₫ÑÿÉüL»qiäÿÚ§?ÿ6ưüƯú úúùxú$ü?ư0ưjü@ú÷ø:ø'øæøuùùươ¦’8§^›ÿgưoû>ûóüö²±]ÿhû ú ûYü·ư%₫ÿ0´"½ÿN'…ÿưüEûlúúIú/û…üưÅưÍüÜú¶ø—÷÷äǿûˆ[ ×4)̉mưVü¼ûü†₫ÈH™‘ÿ•üúbúQûgüÙư₫₫Êv«I®¤ÿÚÿ%'PÈ£ÿXư.û¨ùªù}ûư{ưÉüûkúûùfùÆøøăø₫ûˆ}=¦¡ ÆgÿV₫ưüưD₫&ÍÿưùÈùŸûNưRÿSÿŸOÇ^<‰̉µ₫Hüûmú¨ù¼ùúXûºü#ư›üêúùÈ÷̃÷ùÍû‹ÿ÷Á ÜŸ”AIÉ₫¥ư—ü7ưF₫ưÿvaG₫~ûÚù£úÓûŸư&ÿ•ÿ´=b† .4NÖï₫ü$ú øÅø®ùEú2û¡ûTüĂǘû¨ú2ùùÂú,₫µŸ ¾Ö]MF iñÿï₫¯₫·₫s₫₫4ÿ]ÿª₫óüîú–úûÆư«£ØÿWÿåÿ ›Y,Û°Ị̂6ÿ™ûSøm÷Aøú­ûˆü?ư¶ưW₫E₫,ưiû”ù4ùrúP₫o ø5G|€ ₫¹ưˆü{ü_ư ₫˜ÿ€ÿ₫0ưWüüzü-ư·ưˆ₫ÿÎÿv«9́ÛuϾGĐư©ùn÷÷¾ø#ûFü#ưưWưéư:ưưû‡úøú̀û̃Eăvbjê ‘W|ÿ…₫ÂüïûÄücư/ÿ́₫ĐưÍüwûlünư˜₫«ÿTÿÿ¥ÿEe†Wú¦j°è0NưzùZö‘öÆø’úHü$ü2üÊüưMưü;ûúoúTüw|‘ føG ¹_ü₫öü'üêûưßưØưlưPüfüư₫ÿï₫ÿ ÿ¤ÿåb“½Ôÿ½ÈƒÅPeü©ùÇ÷¦÷[øèø2úPû×ü@₫q₫₫ÿü~üLư¸₫Z%Ü‹F _pØBxª’dR₫—ûlù£ù»ûÁưÅ₫Åưlüü.ưvÿFû£ÿÿeĂDä ñÿøư‰ü¸ú§ùAøË÷wøsù:û#üÁü9ư'ư¼ưÄư=₫Â₫dÿn±¬ ï'‘ ¾clÿ₫%ưeûtú¨úÑû#ư}ư_ưÿühưÉ₫[Âÿ>C_| ø)Üü)ùO÷¥öÿ÷tù\úûûÇû#üFü$üàûư€ÿÅtÄ ce¸Ø E ́¤4¾₫ïü+üàû©û~ûCûûaü£ưđ₫̀ÿ?L;>ûÿ©ÿfÿ7ÿÿÿQÿäÿ´=e₫¾ûÀù·ø$ùeú½ûëüưÆư×ưéư.₫€₫»₫¼₫₫È₫HUû½ σư ú8k¨₫ZüÎúTú ûvüRưyưư­üYưo₫Úÿ²”aƠÿ,™ïÿ­ư¨üăûùúúâù₫ùyúbû”üPưÿưN₫Å₫{ÿ"ç/C†ix  ˆ ? M EÔ=GÿûưêüêüĐüư.ưØụ̈üÂüAư₫˜₫§ÿÏÿu˜Ë.±6ÿ₫Œü,û´ú=ú¥úÉúÿúSûûjü4ư₫é₫Pÿ₫ÿ‡~Xââ8¼ă‹.$ 2 Ç u3&„îÿ₫ư>ư‚ưñư ₫ăư?ưÈü»üLư5₫ ÿ›ÿÔÿÿÿ4^$HÿĐưFü7ûûyûü%üÂû9ûûŒû…üŸưt₫ø₫^ÿéÿá?Û½Q?÷É ^ Ä DđsF,.‚@ÿơư3ư\ư¼ư₫œưÅü#ü%üTư­₫đÿ¢ÿÿÿÙÿw‰Sÿưăû û2ûŸụ̂û­û@û-û´ûéü₫à₫ÿ ÿXÿ!l¨t²À ’   Œè¼ª9c$Îÿí₫‡₫₫ƯưOư´ünü„ü]ư9₫ó₫ ÿœ₫ ₫‘ưưåư]₫Ă₫ă₫Æ₫Œ₫)₫×ưfưưåüèü$ưwưưư~₫ÿ–ÿ fĂXf="HÛ´©£¬¿™²¾Î–å8€2Ÿÿw₫­ưbư+ưùüü^ü€üïü­ư₫1₫ßưưưÍưc₫©₫Ë₫}₫₫Ơư±ứư ₫<₫₫₫7₫à₫÷ÿ¿‚5PÛá B¶Ơ ¼Ô¸?Xƒ©]l"rÿ¼₫?₫w₫×₫;ÿư₫E₫nưèü3ưîứ₫sÿ{ÿ.ÿà₫ÿAÿ‰ÿDÿ’₫ªưüüëüGưäư:₫@₫öư»ưÈư8₫à₫sÿÄÿ¼ÿ¥ÿŸÿóÿjèD)-¸7/₫eä% i‹@…¤ ©ÿ|ÿÿq₫°ư/ư-ưư#₫f₫4₫‚ư©üüü²ü‹ư:₫e₫₫†ưưưAư±ư!₫₫ÿÿFă7$Îwr¿0d?́̃ƒÚË"f¸üe¬p±Áûÿ”ÿkÿAÿƯ₫R₫Üư¸ưûưh₫­₫˜₫-₫°ưpư‘ưúưS₫V₫áư-ư•üdü°ü<ưÎư$₫S₫}₫Đ₫^ỵ̈ÿr¨´·ß6‹¹0ʣpÉ©(oÏQîÇx÷e¿ÿ;ÿÊ₫‚₫T₫;₫>₫@₫U₫^₫i₫a₫E₫₫Éư|ư-ưưôüư+ưNưzư›ưĐư₫d₫×₫ZÿóÿúF`R&ââÿ9à+\¥Ø"kŒ0ÏV6óÿ¤ÿHÿé₫¤₫w₫\₫N₫I₫X₫s₫–₫¡₫‚₫0₫·ưEưưüưü;ư–ưåư₫₫ûư₫Y₫×₫kÿëÿFz Ë1E45¥8·÷ç¢]>V†¨™LƯi ¿w#Àÿdÿÿÿơ₫ë₫Æ₫‚₫@₫₫₫>₫n₫~₫\₫₫̀ư¢ư¢ưÈưöư₫*₫8₫[₫‘₫Ù₫ ÿYÿÿ¹ÿôÿ8€ºæ ,Z†¦­ ”™¾ơ)FA' öîä„1ØX-ûÿºÿjÿÿá₫¿₫²₫¨₫˜₫€₫i₫Y₫U₫P₫<₫₫âư¼ư´ưÎư₫ư,₫F₫Q₫b₫₫Ó₫.ÿ„ÿĂÿêÿLœùAcbX`…¸áîẳØ÷,וl`bN ¥4̃ÿ¯ÿœÿÿaÿ$ÿë₫Ï₫Đ₫̃₫Ø₫¯₫m₫2₫₫&₫I₫a₫Y₫9₫₫₫(₫X₫‰₫±₫Ñ₫÷₫0ÿwÿ½ÿđÿ'K…Î6@@GcŒ®½¶§¢®ÂÍÄ¥yL!ûÖ¬ƒ\9ëÿ´ÿuÿ>ÿÿÿÿü₫å₫»₫ˆ₫W₫5₫&₫"₫&₫*₫1₫=₫K₫[₫k₫‚₫¢₫̀₫ÿFÿ…ÿÁÿøÿ,a—Îÿ%E]x–·Óá̃˲›‰|sbJ'úÉ“^+áÿÇÿ®ÿ’ÿlÿAÿÿí₫̀₫·₫ª₫£₫Ÿ₫₫”₫₫‡₫„₫ˆ₫‘₫£₫º₫Ø₫ù₫ÿCÿiÿÿ¸ÿßÿ%Mz«Ú&),08BJMJ=( ëη£ybE&́ÿĐÿ¸ÿ¡ÿ‹ÿwÿhÿ_ÿXÿPÿEÿ4ÿ"ÿÿÿÿÿ)ÿ3ÿ=ÿBÿHÿMÿUÿ`ÿtÿÿ¬ÿÆÿ̃ÿñÿÿÿ!6Kau…”ª²¸º¶±¬©§¥“ƒrbN;+ưÿïÿƯÿËÿºÿ¬ÿ£ÿÿÿ™ÿ˜ÿ–ÿÿÿ‡ÿ‡ÿˆÿÿ”ÿ›ÿ£ÿ«ÿ²ÿ¸ÿ½ÿĂÿÊÿÖÿâÿíÿùÿ #)/49?EJNPPMHDA??>:6/)  øÿóÿ́ÿæÿăÿàÿ̃ÿ̃ÿÜÿÚÿÙÿÙÿØÿƠÿƠÿƠÿƠÿ×ÿÚÿƯÿßÿăÿäÿåÿçÿèÿëÿíÿôÿ÷ÿûÿÿÿ  ÿÿûÿúÿöÿơÿôỵ̈ÿđÿïÿíÿëÿèÿèÿæÿæÿæÿæÿèÿèÿèÿèÿêÿêÿ́ÿîỵ̈ÿôÿöÿùÿưÿ₫ÿ  ₫ÿúÿøÿôÿñÿïÿíÿêÿèÿèÿæÿåÿåÿăÿåÿăÿäÿåÿèÿéÿíÿđÿñÿôÿöÿùÿûÿ₫ÿ  ₫ÿüÿøÿơỵ̈ÿđÿîÿëÿéÿçÿçÿåÿåÿäÿäÿåÿåÿçÿçÿéÿ́ÿïÿñÿôÿ÷ÿøÿúÿ₫ÿ  ÿÿưÿøÿ÷ÿơỵ̈ÿđÿíÿ́ÿêÿêÿèÿèÿèÿçÿèÿçÿéÿéÿ́ÿíÿïÿóÿơÿöÿùÿûÿưÿ  ÿÿưÿûÿøÿöÿôÿóỵ̈ÿïÿîÿíÿ́ÿëÿëÿíÿ́ÿ́ÿíÿíÿïÿđỵ̈ÿöÿ÷ÿùÿúÿüÿÿÿ  ₫ÿưÿûÿùÿøÿöÿöÿôÿóỵ̈ÿñÿñÿñỵ̈ÿñÿóÿóÿôÿôÿơÿöÿøÿûÿüÿưÿưÿ₫ÿ ÿÿ₫ÿ₫ÿüÿûÿüÿùÿùÿùÿøÿøÿøÿ÷ÿ÷ÿ÷ÿ÷ÿùÿùÿùÿùÿúÿúÿưÿưÿÿÿÿÿÿÿ₫ÿÿÿ₫ÿ₫ÿưÿ₫ÿưÿüÿưÿưÿưÿüÿưÿüÿüÿưÿ₫ÿưÿ₫ÿưÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ₫ÿưÿûÿüÿüÿûÿ₫ÿûÿÿÿÿÿÿÿưÿûÿüÿüÿưÿúÿúÿüÿúÿüÿûÿùÿùÿüÿÿÿÿÿ₫ÿÿÿ₫ÿÿÿ₫ÿ₫ÿüÿưÿÿÿ   ûÿúÿ÷ÿ÷ÿúÿøÿúÿ₫ÿüÿưÿÿÿ ùÿùÿÿÿüÿúÿûÿùÿøÿ₫ÿùÿúÿ ÿÿ íÿñÿơÿ÷ÿöÿûÿ÷ỵ̈ÿúÿîÿơÿñÿñÿñÿéÿèÿúÿ ùÿúÿüÿ÷ÿïÿøÿåÿúÿ÷ÿđÿúÿÿÿ  ûÿ ưÿûÿ₫ÿíÿèÿ ơÿøÿ'!÷ÿ óÿ' /Øÿ¿ÿóÿÆÿđÿ÷ÿáÿÁÿ,¸ÿ%•ÿc§ÿ˜—ÿÔ†ÿƒÿ”¡Mư©ÿ|N₫Uÿ»ÿtÿrÿ.ÿDÿO"₫¬ùæ¸ÿÿúÿ„ÿÛ₫8tüÅư øêÿgFøD C₫úQü'ûüĐYuÿ%ư½$₫×ÿ¡ÿÇ₫₫»ÿ=¬ùÿ?•ẴúÍÙưĐù¨₫²ơËôhîăøÎøQơhùÖzưÁ¶Ú¡9́®jSÿ¯J₫qưP₫Âÿÿ4ÿ/Êæ!ÉPI§¿VØ}ƒÿ¼ưÿûVư‚üj₫ºÿ½ü₫¬¼ÿ#|µk₫™ÿÿ[ÿ₫̣l₫Gư₫Vỵ̈û,ƯưZeưÙÿÈÿ@ÿÑB₫*ưØyừÿZÿâç₫wüƯ¾*ưFÿæzưƠư?Müă1ÿîÿK±ưÛ₫ǃ(ÿ¦ÿÿ‡µưËüû¼ụ̂ÿmÚ₫ ₫2`ÿlü$‹ ûÿüḄ̉ûÅ₫0₫Ăø̉₫« ùÈ÷ü\ÿ½ŸƠûô₫4Çư-:üâ ¸û0₫i–Wư•üb₫(₫d ₫–ÿ˜üv₫ÚO­₫5ơ¸ˆÿwñÿđưj₫ÿưöü₫₫û£ưêÿSˆü2₫Âÿœ²ú¿ưMÏÍ́î÷ (ÿ>K¢[₫îU ₫»ư™Z¦ùü¹ÿüzơøù§ơôRù<öÑö\útûœûz₫Ù § s Í` 5 J  Ö  %p¤ư}ơö£ô ïÀ́?đÏïúêUîơ„ô»ó\ưfÖüÑÿơnwœƯ £" Ü F ­ û ] k‹ àœú}÷kó~îÛëCëzé½ê í{íïÙ÷CúB÷?ÿ‹hÜüŒ  y¥ Û G S ù o µ Ÿ O Ö + ˆ5ư˜ö™ñÖîzíTçơä|êß́¯ë‹íô˜ø³úưTå’Đ ́ 0 Ç üO 3tï À † ă XPÈ:éư6÷söæóçí«ègêŔ ́Íëï±̣Zồöƒ÷äü­êËÆ‰ ç Î6—ÿé@  VùĂÉưøú7ø¿ó̃ï¥ïxíaêXëWîKđïṬ0ø˜øKø ûư§₫LÀeµ “/ækAËqBíl¥ÿù*₫<ùÿó đÄï©íåé¤è£́•ïÁï0ïụä÷Où—øøÏûđưtÿx₫‰' + KGùÎùs ë„ Í¦ư÷ø‰̣hîÂí¾́Âê-ëǾ-đÖñ—ógơĐö\øú"ù₫÷JøîøŒú‚ûñæsÉÛẮ( ÂßÈ‚ ŒÈúÚô]đ0́"éŒçjèÜëüî)ñâóä÷úûú©ù³ù^ù÷7ơô»ơm₫Öơ #†̀ˆ!©"̀j,¾d ÙnúœóƠíè¼å,å_æ¤êëîó,ø₫û̀ưÿèưühûRùÔơ-óºñ̉ñú|Æ<f‚""“%ï"ă /›SËïù›ñµêœå¢âá#ă×è¦ïöIû"ÿ;ÇŒÿMưrù4ö3ó`ïívơ₫̉ Ư‹°!̀&A%Ú"¸mË^ºú̉đèäµáfàĐáQç¹ï³øÿƈ&Ô…r₫5ùaơíđLínéËîNù ` ÙöD q()y&d NT nü@đeæà¸̃˜Ư×̃@äOí„ø? Ù _ ø ‰ ü~öîđ5́Îæ¿äị̂ø@y ḷ·%ó+ö+4(Ù°¼=öê à’Û$Û/ÜAßæúï üCiÛÏđû 4-ǘô‹íèJăăÀíkønà †|t(D-Ú,.(úƠ Áÿ\̣Ræ•Ü@Ù̃ÙNỤ̈àeè!ó[ v{a£Đ Êûú¥̣èênåDà'ß}êëöLSÏkª*:0/½*³DO ăư#đưă„ÙÖ¾×Ûcà¤è­óÊœ^BưöU>û;ñé+ẫJÙf̃÷îºư) ƒÆ ™)º4j6µ2 (µ äịªä\Ø€Đ_̉†×ûÜ¿ä—ïưzK –f 'äóưèáçÛPصÔ××¶ëÑÿn₫ ƒ(Ö/K;>Ø7<+æSü™í{̃8̉ÚÉ̀Ơ¬Üæ̣^Ü<"-'& ]ä&öđå´Û£×ÛỔĂÑ!ÚJô ¹ -E4₫:©DđBâ5#{ aưvđwá²ÑYÇÄằÑØbâíCüå"Ë,¨,ê&R%¶ %øçMÛ»Ơ¢Ó•̉ÂÎủéÚŸód &¹2J;ç@ÏFG5Ǿ ù¢ë3Ư%̀ÉÂzĂ{˧Ùåéïô÷™'¢2(1¯(Ú ÷ăöÇăBØwÓœÑ ĐÚÎNÏÔÛ0êh!]0E<EGqF>>c'êÿ îCß;шÄĂÜÈf̉‹ß}í¯û¨¯":/40[&4 ,üÝVƯcƠ:ÑLϤÍèÏØÔ>ăàđ#4 @xGFFA™:²%MuüaéLÛ}ĐRÆÅÄËmÔeârñi˜I#Ø.}5ö0¬&Tm ¨ù ëˆÜëÓíÏÏDϪÑ~ÖYâ6̣’ÿxô3†>ÖFÎG@v;f+äZÿ>́…Ü̉˜ÈĂŸÊ@Ô¸à«đÈ₫P + 112+>~Fư í®à?Ö\ĐSÍeψÓêØß¿́†úÊø'„:o?”D}C²;ø4q æ[ö˜æËØÏ₫Æ›Æ2̉DƯ“èøCN%a*N+̣+X&‰h R÷ÔéWà“×SѦÎÓ?ÛÑßqågîd₫ü5Ø8V=¦?£7?/0!ç]ø ́ Ưé̉\ÍÈÖá₫èV÷ª­̣$N$a&$ÈÍ ÷úï€æ5Ư ÖÊÔ@Øôßsă¿åÎëLùO ̉%I3&4=8É6¶-³'<Pÿúơ.ê§Ü(Ơm̉ Ơêߨæ¬îñư‡ ×ô^!L"û\fŒùfđ÷æẴ`ÚeÚƯ<âuâèåÍ́ơøÑü̃ à)G/î/²6¯6Y/z'`:'ûƯê¯ÚMƠƠ‚Ø+ß‘â»ï@ñ K{Ü“$[#IO^ ưûđlæsßaÛÙWÙ¿̃àuäưèợûº ”+;//›:z<Ø/R'ˆưôèHØæÖŒÖäÓÚ‚âAñÇÿƯX' Ù#ª#;"Ùô ~ø₫đ3è»ÜëƠ‡Ô;Ø̃ƯÖÚ"á,ë-÷ñùƯ .å0/Ó;/?[1o&Ë̀KưçˆØ5ÙÀÖ´Ñ+ÙÏäÑñ'ưyRÈ Î & Ù$Ù!{Y ñüøó̉æÛW×½×øÖºÚ"Üă2êvóÈù́©*-A(E;oBQ/ß&ÿŸiỚmáRßê×wÏ®ÙăAéÜó=¢ ç½µQ&¯!¤kúǿáX̃ïרԪڠƯBÜØåḿÜö û²×-=%\/–B%:ˆ*!+qí ˆüźíäÆÜJÑ$̉̉ÛNƯHå9ó7 =Û­%[(ú!‹¬"úÊíă´ÚÔPƠ؃ƠDÛ¹ä”éûơ­ưå+“%9ÀF¦6/}0ƒ óú}îûâ†Ơ¸ÍÆ̉vÔÁƠôă]ñœü Åö Û)I,’+ư#0è ,û]́Lâ‡Ö-ÑỏBѦÑ9Ùá–éøö|ÿ/ †*á&Û>ÎEÇ54?1*n ü„ïMăÔ¨Ḯ̉ơĐƠ}âĺ·ù>@ ,(ư*j-/' ›Á~̣/æ®ÙèÔqÔ{Ï%̉̉ØW̃HæBôüùµG&2!Ô1×?>6₫0Ư0̉"y¸™ùèñ`ă5Ú)ÚkØ.×xƯ\äÑîø€vU5" %j<" ɯö“êđâ†áXÛ¼ÛĐ̃åæÓï±÷ ư©¿(öá$ñ ~ éŸo _ƠÿÆùẠ́ªđîṕÎëñí°đ.ơ‘øhưE‡–½₫[Đá ưuư`û^úlù1øn÷¹÷àö·÷ø̉ùqû¸ü ₫ºÙ›Ô ă  ö s ½đ %iÿb₫Zứüư’ư~₫Sÿ ¯«±fvügÿvưôú›ø€ölôóẈJ̣ óôÚơø-ûåư@Ié) “ ¼ 5 • ̀ Ư G´JÓ¬Î.+0wÄËç¶G²Óÿè₫âưµüˆû¾ú¨ùéøøä÷™÷£÷£÷í÷—øQùMúsû¶ü₫5ÿyÉR†…|#‰¢Ḱ:"́¨z˜´ÿÿÛ₫–₫—₫³₫ô₫^ÿÿÅÿưÿpÿÜ₫₫ưüûhúÂù_ùCùZù¿ù‹úAûfüéư)ÿ ÚÀÀ¤q§́}̃ag— úq âL¨{’Çßßÿê₫4₫kư²üJüùû°û¬û̉û!ü£üư¹ư„₫₫₫rÿnx¬„7èÿÊÿ„ÿ5ÿ"ÿOÿfÿÿóÿ€­LQ%Êw&•mëÿGÿµ₫D₫₫ƠưÁưèư.₫_₫«₫"ÿzÿºÿÿÿ,0̣ÿ¿ÿlÿ ÿÑ₫¡₫g₫j₫‹₫½₫ ÿfÿÎÿD¦ôN”·ÍÛÉJø"Äÿvÿ4ÿ ÿÿÿ<ÿiÿ°ÿ>„̀ơ  ̣Ù›FØÿƒÿgÿTÿ7ÿ8ÿ;ÿHÿdÿgÿ…ÿ¨ÿ²ÿÇÿæÿëÿóÿîÿáÿÛÿĂÿ«ÿ¦ÿÿ—ÿ˜ÿ§ÿ»ÿÆÿÔÿ÷ÿ /W|“ªÁÇȾ¯µ¦ƒng[K4́ÿÊÿºÿ§ÿ˜ÿÿ{ÿtÿoÿeÿ^ÿjÿeÿ]ÿXÿVÿVÿOÿSÿdÿ{ÿ•ÿ½ÿçÿ 0Rtˆ“¡ –™‘„€{mk_SWVR^[\]K>+ ́ÿ̀ÿ™ÿkÿ;ÿÿö₫ß₫Ư₫ú₫ÿCÿ†ÿ½ÿôÿ#Lgpj`L+ûÿÛÿĐÿĐÿÄÿÓÿéÿÿÿ,T~½áơíÖ¦f2ïÿ¦ÿnÿ5ÿÿÿÿÿ8ÿ^ÿÿÏÿúÿ&IbhbR9ñÿ×ÿºÿ¥ÿÿ|ÿƒÿ’ÿ–ÿ¾ỵ̈ÿ*^…¶ÏÙΟj<Üÿ§ÿ‚ÿ_ÿNÿHÿIÿSÿoÿÿ¯ÿßÿ'PYarl`XP0#íÿåÿÈÿÑÿèÿ!Ba~mnW5 ơÿƠÿŸÿÿYÿ]ÿ:ÿ$ÿ5ÿXÿjÿvÿ¶ÿÚÿ >dk†˜’“”uhCäÿÔÿÙÿÜÿÜÿ@’¯4†ÿWÿ•ÿtÿ^ÿUÿEÿ)ÿú₫á₫À₫¯₫ç₫KÿÿÉÿ&W’Úm´í&)h&üXᥜgg,ÿ̉₫/₫f₫€₫¦₫Q₫¥₫}₫6₫ ưæưäư₫ïưu₫µ₫$ÿÍÿÊ·₫/¤Đ>CÓoäùM²ë’±†'ü₫‰₫₫uư‡₫}ưÿ›÷ÉÑü₫âưºü¾ụ̈ú¾ÿôü>ÿeÿÁ"deRdE·³ —ă₫·ÿn yÿß₫]ăưưÛ₫₫¦ư—ưi₫¤ưZÿNüÎưÿ¨üwưÑư5ÿHĐưùügûCüư T¿év “¿Dô¤-ÄA/aư¤ư¤øº÷¤÷!÷¸øå÷åúăüQưYưUÿÿ°ÿäÿ?Ô˜l¯6,à †*+óSˆÎÿ1ÿ€ưŸüáü’ü³úÉú›ûư³û_₫uư₫ñưµüyü‚ưưø₫ÿ,ÿ.{JÿA˜¶ÿ“†&ÿ_D~¾ÿ€ÿ&b₫g¦»í@qY₫¾ÿHt₫ñÿd₫¶ưb9ưI–₫L₫!ÿ”₫ÿ(ÿŒ¹ÿ¼œ₫¤'?úÛ°0ªbÿ}Vÿ °Í₫ÿT₫tÿa₫ú₫gÿªÿưiÿ>ư .ÿÚÀÿ₫J8qqµ₫t[s̃ÿ¾o!ºÿÈ₫–ÿCùưŒÿÎ₫´ÿeÿöưÿóưdÿµ₫Mư¯ư®ư£₫S«ÿ¬ÿ÷éR2ÿưôÿ©_₫o• ÿÿ¶ÿđ¼₫ñÿBKÿè­Àÿ%Ïÿ|₫£₫ÿó₫Óÿyÿ₫{›ưÿôÿ?v?₫,ßÿ¡ử °₫RÎNÿÎ₫ưRÿ`DưÈÿWxưøưTÿ₫₫9ûÿ‡¬.s₫e­₫3ÿÄ¥ŒÿÍÿc‹@ÿ”₫´~?₫\₫6úăưSûÜú\₫Đ₫'₫Ÿư}ÿv₫¶₫¯È×pѯÜù¢… wª“6Dl₫ßá₫EưñûÀû6ú‰÷øíơX÷«øO÷ÔøAúéø¨üdú­ü¾ÿn₫Zø{³5| å ; —˜ ' ©£· † [aưxưXøÆơaøóógơ¥ïđ₫ñYî“ï đcóôùøû©ûư›₫Ú­gûw“ùZ'ƯN6:Óù û-ùđó]̣•đ;ñëpé€́9è‚è<́víñuñ̃ô¶ûîøú¶  CđñŒ9è×Đ%q¯   :ÿúœùđơ¡đèí–íèéøä—å…æMåWçDêIë\íUñcö±öûÈÿ]×& .ZưS"¤>!V Öh…÷­Ÿ  z¹úÆ÷‰ôî#ëệèêå>ăíä‡ä¨ẵæLéßë îïó”÷«÷=₫øÿç G5""%ơ#¯%Ÿ" «™"áB s:ûÜö¸ñøëRè«ç¿äCå´ç,ă&ä æơä廿ÿêví̀ñƒüö > !,$g%j)$Al¦5½n´ J ‚₫úUơëíËéKéøæxèæ:åæ(âeărå›ăƯäÁèWíÔđ”öBÿ‹m·&í%x-w)k!Ú–%&;è |₫ơơî¢íwêeéëDê é[ääâÇá àêâáă×äIê$îÙó“øw¤ú&>$×*•+!@Ă T¶ă ă8”÷Ơñ”îḈ$́—́gíÛëyç¢ă¤áª̃cƯ]ấâôåëâñÄơ&¾Ê'ü#È)e(®R–ªPˆ|öPE mC›ø>ọ́ƒñ>đ&đđÄî ê6æ#ă¯̃¼Úßmă~ăèfđñơ3₫F&I ®&7%£øơ8 »kôN ;ÀƯù÷ôèóiôơô@ôẠ̀́-èGălß0ÛÍÛsâèä&æ×ï³óg¿®£$óvfi háa dàVùƒ÷óơ÷nùËö÷÷µôœí“êçă7áƯñÚ!ágæ}åüëÉñó ~ªØ  ¸ Iéù ́ó >ùø ø4ú ûùăú́÷Ñđt́ æ¢ăŒ̃÷Úߤåjæ¨êØđü<üa¾WÚŸ ¶§fÇ8e ₫•xúùù̉û ưYûUưEú±ó•î©çdåăß_Ü„ß-åèZê í1ư7AÍC1få qûfÉ`x[ ́£ëûùØøYư‹ư˜üÿüö“ï½éè°áƯÜ̃ËăØçĐé³́UølIѪ—Ïđ4-M/à G₫Tú%øG₫ï₫Ùư2ÿ(₫Ûùfñ\ëNéäăƯ£Ư»âøçÛè²ë0ơxœêœ°B i›ú$+–ª ×äÿñû"ø¶ư-“₫pÿ*ÿü*ôë˜é„å¼̃sÜ~áZèxéJêóÿ¸ơÛ:0L9}4ïƒ Ó [ăü/÷Rư¥¼ÿĂÿ́₫gưàốéĂåíßóÜóáSèœé9êṭæF̃ ±P6:w¸Ư©2ˆ/đä₫0÷îü%ï´ÿ₫qưàơưë%éƯå¡àçÜ?àè­é]éøóËÚv8/z¾Ơ Y8,­Ù9<ÿ»÷¨üI ÖÿWư†ü÷ơÍë#ç¶ă½à=ƯªàÇæérê;ùêuƒÂm£̃ƒ ̃ó ŸOháº.ÿpùü(|@ÿJü¿ú\ôzê¦äáà̃¹á=æªêŸ́G¢ç a Ä’•>“–ÛC©íưßúçü 8¸₫,úøŒñàèzà*ß)ßvàxâ²æ“ëÂöD©€^¾ x'#o „À¸ @¸‹ư-ü"ÿЦ:ưø;ôrî…å ̃Ưƒß̀âxăeçïO ¡¨k 0Àfđÿ o1ë2»J~Âÿnư†üW-`úÀôÈđôê~ß ÜpƯVăfäsäëéÈ;¿VU Á| €ƒ»ă;åñ­Lw ›₫ÿYưU₫Ö?3₫‹öđv́Áäw̃|Ü’àÎåjç@êü@»w † ] ó ÛKÉ wUëxV â>₫Nừ₫sÎ₫-ü)ùô»đ́Óê÷êŸ́ùîºđßñ?÷Đ₫/»ª±D y ¿ + / · ̃XY›“Ă}x̀k<₫^üúØ÷`ơạ̈ ñÁï̃îZîßï+ó&÷*ú­üËÿ…¨ E ÷ ! G c á b hXÖKáÀaÙM)w₫gû]øơ\̣đ¬îMí^íÆïjóßöcùüÿ³7 ¢ À ƒ Î „ y °  ‚ü:Ư“'»Æd0ÿŒüÚùÜöTôÓñ®ï"îMî~đSóö“øEûå₫Àø . c g Ñ ]  }RŸ<Ö>Öºuô’­ÿư@úH÷ÁôṚđïđ‡̣÷ô÷•ùÅüS{ÍZƒ¥ … ™ ¿ `"fñ†ú–n€e¬:N₫cû¶øÚơ-ó!ñ|đÈñôö&øyúươ–b‹º̃h  ̉‚•(ø¦Åâ ´ ₫®ûîø%ö§ó(̣‚̣6ôöÚ÷Öù¯üĐÀäèåv'–1%åq/M~T¬;₫-üÅù*÷¡ôBó̃ó¡ơV÷Óø¼ú‡ưŸä R`džị̈/¨HU´ă„ŸbÅ₫Êü‹úø°ơáóºóJơW÷$ùøúlưmæ9q> ø¨ñ‰½,Îs‘Í©́ÿg₫{üFú̃÷Yơró-óÄô ÷ù,ûáưÓÎ.UN Đ j Pº¿'…ÏWSvDhÿÙưüäù|÷üô óÇ̣Bôrö¥øüúÍưßï̉* ơ B đ ß&Tù(­Jï¨^óF!ÿlư>û̉øYö$ôạ̀ó[ô?ö²ø¢û˜₫M±íg  # · “îog³®ˆ\ÑđÎÿG₫>ü½ù ÷•ôỵ̣̈̀Æóˆơë÷¼ú‰ưñÿ#uµ_V ¸ …ùúfߪ2  ₫üú„÷MơÓóŒótô5ö„øûưáÿ DZûöA åăƒ0(kÙ{B́N}zÿ₫)üúù̃÷öơ ơö«÷±ùçû₫5UK̃æ= ƠÍw+0€ù€ë)Iÿ<₫æüIûùë÷Ÿöö;ö%÷øUúTü@₫"<›°, å öÛÅÊøO°4Fÿ₫—üíúZùû÷áöJöiö ÷+øwùûàǜ₫Ǿ̃À†»f¶ä;n¿\c>ÿ½ưUüơúÓùàøú÷L÷÷7÷©÷†øÙù{ûMư5ÿæ}À¹sÙä¹kë1Vr{gJBAÿ&₫ưü ûúSùÉø†ø€ø¯øùµù‰ú–ûƯü;₫–ÿùeÈú˜äöà­R´éûBéNÿ¤ư}ü]ü–ü€ü̉û»úĐùŒù₫ù̀ú(û0û¶ûÉüÔư”₫pÿˆ…,Á…<™Ë)é‚ £÷KÉ8nªÿÿn₫¼ư$ư·ünü\ütü„üü½üäü)ưư÷ưi₫è₫qÿíÿiÜ<ŒÖHq‡‹‹r:í¡]¹iÇÿwÿÿÅ₫T₫A₫:₫_₫₫µ₫ë₫î₫ÿ'ÿUÿkÿ’ÿ´ÿƯÿóÿûÿøÿƯÿĐÿÎÿJ“¼Úúơ×®†R#ùÿÈÿ¡ÿ¦ÿ±ÿ¢ÿ²ÿ́ÿ  ăÿÖÿÄÿ•ÿÿƒÿxÿTÿ?ÿBÿAÿBÿqÿÊÿEx¬¶ª±­˜vY@$äÿƠÿÔÿÓÿßÿüÿ0<JSH(Úÿ±ÿÿ€ÿuÿpÿyÿ€ÿ„ÿÿĂÿëÿóÿ>vuexrBüÿ́ÿùÿïÿÔÿÉÿ×ÿÊÿĐÿîÿ üÿơÿ!Xqœ±$ËÿŸÿ‰ÿ±ÿéÿøÿàÿÄÿÇÿÔÿ̃ÿ́ÿ̃ÿ¹ÿ¡ÿÿuÿwÿÿ¥ÿÖÿv»ØåÓ°¢¨µ´ kÚÿDÿÿ<ÿZÿuÿ™ÿºÿ̀ÿ½ÿ¨ÿÿ•ÿ¬ÿÍÿùÿ ưÿ -=Y—jX0ëÿæÿA@CEÆÿ•ÿxÿjÿ…ÿÄÿöÿ÷ÿéỵ̈ÿïÿéÿ/Je›k)Üÿ´ÿkÿ6ÿWÿ®ÿËÿ̃ÿíÿôÿàÿ̉ÿíÿ'áÿ̀ÿÆÿâÿ,A\FdKt@Z*€g'Ñÿ÷ÿgÿÿ ÿFÿ‘ÿmÿœÿ¨ÿàÿ’ÿḶ¢ư<ÿ§ÿÿÖÿ^ÿăÿpÿ†₫àÿuUÖƠư“)Yø ¤Ẓÿÿ-0ôKª~ûàû«ÿ›₫<ÿơÿ³‹ưAÿFÿÂÿÊ—Äÿûÿ¾ƒWÔu¶rX”ÿÆÿ~ükû+ûư₫ ư ûÆü û/üxùxüÓưøüÿXưEѹªƠèzF0‹ѨÙôÿ³RơÿN₫a₫B₫Öư0ư’ư¯₫¯üaü&û;ư?úü₫Jÿö₫‡O{È]RE1 ‰˜ÏÆ ₫ư8ü>ùRö»ø?÷@ơqơg÷î÷+÷Æö úúû¥ûlươÿñL»  S=úBơ ̀Éx¶ÿËúơö9ơ÷̣ïÊíOïzï¹ïÔđo÷öơ~÷Ÿú÷úAûúßü¦ưÊûä₫   e*€LS„ NR ‘÷Nü`ö—ơôCđ¯đfñ ̣óñẠ̈öÔơzơ#÷%÷W÷[ơtọ́ô9óôö–ùsÊ Ơ"€$×$ !"J ƠÀ₫÷ạ̈:ív́·ê;ë2ïbđôZø³ù€ü]û̉úú•ơgơº̣öílî]íăï¦ñz÷— VE¹&£*i-M)$b"” à„ö€đåé'ç#éGǽṬ ơùúßưdÄx₫x₫Bû«ôêñ›îê€èwçzëcí‹̣– r)²0Î2-(##ăÏÖÿºô÷ë€åsäôæ_ækëóó™øÎ₫H5N*<₫Ư÷”ñ́ëîå¼â åèè ́=đơGo•(¾5ô6?/'´#uÖ¾üâôê•ä×á{ç‚çèè ô!û !F ¬ uư·úôùí5ëæécäûâçæèí|đ¼à£ú%05ß5L0[&€!×TƯû[÷ ́Iç3äèkêäé£ñ¥ù*₫))F z bÈ¿‡ùó*îë¡écægåkæjç†ëÏđçơ! ƒÊ/¿6í1p(‚/ èû?ú™ñDềç³æ×í‚íïÿøÀüeYÏÅ Ø÷+₫÷…̣™ïÖëèqèêpæúçV́ ̣¸ôÿ ¾"}#º4À41-•×’øÿ±ó›ớTé¸çHëô•ñ±ö…2E„¶ ư *Í•„ûươ„̣¤đ5î@èPëoíêûèAí|đÙöăôó Ë&»̉*[5K0%˜½ ±đ̃đ)ïbè́êJë˜öñü@ùnœS a₫Yÿcư4øáô®̣Zô]ñ}íđ‘đöîíYíkđÅđ‹ö­øŒ 1đ)Ü.î'oĪ·đ_ôtđỚ±đ¨ñ~ư¦ÿ̀ưƠ IßĂ ÿ§ûx7₫pú"ûàùAú½ô¥̣tô îÔêà́4êéréº́Vööá!Ué,1´+É!(­¿Tđx̣ưí́-đÅñ¡ư \u Y x,<^pwû|ưCư,ûµû3úûø̀óCôºđëSéûéènçªềñ¶øü~B#" â.D/®)ö¦ ø₫ï€̣ îéîñóơ7 . € Pf(Eüéöwû£ø¦ö=ù úsư1ùr÷ù™ô.đuî+ëgíèêlđôù…4‚!Ö-ă,&«á- 8ư.̣đóÜï̃đđ6ơ‡ÿƯ₫Öÿ—¹_L|ü̉ö¥ư€ü’÷ˆùû¬ưøöHù±ộîîIíéîêíß̣øºù”"{"!*1):#Gµ² Vü1ô–ódđwñ2îEôœư-üù₫ °ø̀ị́Ê₫û8ü)ư‘úƒøÇú-ưVùV÷™÷>ö™̣¿î:ïÿđEí¼ị̂ø(ù…/.3#Ï#N!nà₫ÉúŸ÷hô£ôrđỊ_ùúpûÏ⥠ªæÅÏÿéưeú¯ø›ùf÷4ôóẹ̣́6đ«ïó:óùóJöïúÚưó— ƒNÀT:M Ăªaưèü:ûÈùKûqüéü™₫̉ÿCƠ€—–ÿSÿ³₫~ưéü¿üưü½üơûaûÓú©ùqøØ÷è÷÷íöö²öîöl÷mùcügÿ/,Í đ 8 O ³ 7  ) *ÑÜ‘Ëÿ+ÿŒ₫È₫fÿªÿêÿ_ÑÎ]úÿzÿi₫¢ü”úø˜ö¬ô}ó¡̣P̣ṃ]̣™̣ó?ôéơcø/üRôJë & Ÿ T:̃đ h …<k<¬I@oh9̃DGÿ(₫;ưOü¨û$ûúÅù×ø$ø‡÷´öHööÜơơåôVôôiô[ơ1÷‰ú=₫tå$Í ÿ m¯˜:_  —VÓb,‡Êÿ¯ÿYÿ,ÿæ₫F₫Âưdư ưöü̃üˆüüûúù¬÷³ööLơô¶óó¨̣½̣ïóươ@ù…ưS´€ º S@ø£nå ¡ 9 ÓNvUcÑÿŸÿ¾ÿ*?ØÿÿY₫éư¼ư~ưèüKü¡ûoú&ùø"÷Oö‰ởôôóG̣G̣+óâỗ÷3ü\¹̃  œ™r_*Ê ơ “ -̃̃Ï/çÿúÿäÿÅÿxÿî₫y₫9₫:₫^₫E₫áưEư9üÇú>ùÛ÷’öKơ!ôọ́2ñ ñơñÚó¯öøú§ÿ™]½  ¿»UhZÆ ̣ “ !̉Â{œßÿ¤ÿ¶ÿÜÿ&$!¸ÿÿÓ₫»₫œ₫w₫₫kưlüûœùEø÷ñơ÷ôüó ó4̣Öñṃßó<öúƒ₫EÍ& “ C iÖ0é ^  C₫pu„ÿÿ#ÿCÿ¡ÿïÿ"hVïÿ­ÿ–ÿ£ÿ}ÿ₫₫s₫—ư$üúù·÷sö9ơôọ́xñ̃ñụ̈ơÔøZưAÛs Ơ +)µ9Ù E  ̃'2XÿÔ₫î₫6ÿµÿ=”ö† ¥ÿtÿ[ÿó₫s₫àư¹üDû×ùmø5÷öËôÀó±̣₫ñ(̣ṇ̃ÔôzøÆüJá  ‘ û §,Ë ó r ¹,Í Cÿ™₫P₫€₫ÿ¿ÿnÛ;GƠI¶ÿRÿ1ÿß₫L₫¿ưúüăû»úùvø‰÷]ö,ơ9ô~óoó̃óyơ÷øâü´¢ „ Ơ æ kÚ  ’ A›ÿÄ₫'₫×ư₫^₫'ÿ Ÿ!óêÿDÿ;ÿÿ₫@₫¼ưïü<üûáùñøÄ÷‰öơ ô³ówô8÷4ú1ư9Î<£ à 8C Ë è 0÷ˆ₫₫Pư…₫y|ëä)_¶Đc½₫Uưvüñûuûú+ú4ùø5÷óơzôẠ̊ĂñzđKđÀñWû$ÿkú{\?iŸÈ5Ơựøiö‡ùø,÷_₫€Å₫©Đ»I&º7ÿ<ư/ü-úFøbûuúTøpügûÖønû[ú~÷TøcöYơô ûư‹ ‚¡ oØ dKè(ư¥ùäùûø“öøVưiü™ư±€ß4†^Ddÿ7û*û¤úù|øjúûCúhưÏ₫êüeÿ%aü&ưqüœø÷÷ưeÿEü/r ̃GbM Á Aê"Pưºú§ü:ù‚öïùßû;úa₫îÑ8S~FV2₫3ÿCûùüùOø'÷̀øÈùeúëüøÿaâBØX$¡t=oÿ[ưXúå÷2ơqöNú\÷êưÄ”¼ X} j ̣*ñkÿe₫4₫ úù¹úsútúÙưÅÿyÿªntänĂ₫æ^ư’ưÏư4û¶û¹üpûFü₫đư§₫b†Scqõ̀đ«„Đ½÷ÿqº^êdwƠ~©¿B̉qÿÏ₫n₫Sư¦üjü1û’û~ùOûÇ₫0ú¨(₫¬ $Âz}N₫& ÿÎû́ưáưËûÚưÿv₫0£¥K:2µăÿ>₫€ÿØü„û ư:ûÓúÏü.üºüÿÿơÿĂÖ#+  ‰˜§û₫ÿ"Ïÿ ÿ”ÿ˜ÿkÿơÿ%(f}c âÿÈÿbÿ-ÿÿä₫¼₫ç₫È₫ï₫7ÿ5ÿÿÎÿæÿIHo»¢ÅêÅÖß§µ‘le?"₫ÿƯÿÊÿ¨ÿÿÿ\ÿFÿaÿ[ÿqÿ ÿ¸ÿăÿ'E<URơÿ°ÿ¯ÿ†ÿiÿ~ÿ„ÿ´ÿßÿrŒµ ̣ä ¬{^íÿÆÿ‘ÿCÿEÿ+ÿ(ÿWÿlÿÿÑÿøÿ 4KVFC@ëÿ̃ÿăÿåÿåÿïÿÿÿ úÿñÿơÿ ÿÿ₫ÿơÿơÿ₫ỵ̈ÿơÿñÿôÿăÿçÿûÿ̉ÿ̃ÿöÿĐÿëÿëÿ%72.́ÿéÿƯÿÛÿäÿØÿèÿûỵ̈ÿ'&!# ̣ỵ̈ÿéÿÚÿàÿØÿÑÿÚÿÚÿƯÿéÿđÿûÿ#'0*++óÿưÿóÿưÿúÿûÿùÿưÿôÿñÿîÿëÿâÿ̃ÿßÿÓÿÖÿÛÿĐÿÚÿàÿØÿëỵ̈ÿêÿ #$%:67=66,'"üÿ ơÿÿÿöÿơÿđÿöÿáÿ̃ÿÛÿÈÿÊÿÄÿ»ÿÇÿĂÿÊÿÜÿÛÿîÿüÿưÿ" .02=948*ñÿíÿÖÿÔÿĐÿÉÿÓÿÔÿ×ÿéÿæÿîÿøÿ́ÿơÿêÿèÿáÿÖÿƯÿÏÿ̉ÿàÿÜÿëÿ₫ÿ&-5@@=>5+#ûÿûÿûÿ úÿïÿæÿæÿÔÿÍÿ̉ÿÀÿÆÿĐÿÅÿÓÿäÿÛÿöÿ ,(-+##    üÿđÿèÿÙÿÑÿÍÿÄÿÅÿÇÿÇÿ̉ÿƠÿÛÿëÿëÿüÿ ₫ÿôÿơÿôÿïÿ 1<GZXXZD2!çÿÖÿ»ÿ©ÿ ÿ›ÿÿ­ÿ¶ÿÛÿíÿ F*Yo>ưÿŸÿ™ÿUÿOÿ»₫·ÿ%ÿÿëXÿ²–Ô=c|("$Xÿÿ8ÿbÿsÿsÿ ƠÿL’C×x\ßÿơÿ·ÿFÿtÿ*ÿ'ÿYÿIÿ–ÿ²ÿØÿKD9V"/2) ) &+'>2A4"' ûÿăÿëÿäÿçÿöÿóÿ÷ÿüÿ÷ÿóÿđÿ́ÿÙÿÍÿÔÿÑÿ×ÿÑÿÎÿÔÿƠÿâÿúÿ÷ÿ'8C10( đÿûÿüÿöÿúÿñÿ÷ÿùỵ̈ÿ́ÿíÿàÿöÿ87A:ôÿÔÿ½ÿ±ÿ·ÿÇÿĐÿÔÿáÿêÿêÿ₫ÿ17,ÙÿÂÿĐÿéÿóÿ ûỵ̈ÿ÷ÿæÿ́ÿïÿ̃ÿâÿăÿåÿùỵ̈ÿæÿÛÿƯÿăÿñÿúỵ̈ÿïÿéÿ !+:<USSR5áÿæÿĐÿÁÿ̉ÿƠÿäÿÔÿôÿïÿöÿùÿƯÿçÿÓÿ öÿ%(5$%øÿ%₫Á%uÚ¸^hÿkÿk₫́₫3₫ÿ́₫RÿLÿ&ô₫ÿ´üƯüÀöøvỢûA Ưú‹Ú} ³ÿ'7ÿĂ₫(ÿ‚úĐü*ÿ2>ǘXL₫6ŸÿaÿăüŸ₫?ûđưRư"ûôÿXü7ưîỵ̈û£₫n₫ ưœÿĂ₫#!äcv"H7ÿ ¥ÿyÿHh₫^ÿ…ươú©ùaôI÷üø¸úÛµg4 Ö ƒ Ù™7ưƒưÏû®üÿiÿiq½È¾Àñ‰Óêgzÿeû[û;ø>öÎóđ¹́~êôëà÷ßö;3Pñœ g!ÿ₫&ư¸đ ¶Æ VÔÁP°œưâüJûơ÷wöỊ̈ií¬éæ ç$ù¬̣¨₫O7ë ¨Fđ/:%₫æĐ‘₫ñ bW ä ·Á Q ­₫ø“øÜđ—é éÓäDâ‘ï´÷’÷M1 ŸØ ü ¤øăËwđù° x dÙ K k}ų̀N—÷†ơ‚îˆçRäăLă ôRù`₫ß ¢ Ç | ú w“ÏV ‚> Øâ ‚ å‘ó,Œ™üIûøUí(́çâ†â}÷ öûÁ\ è,Å‘CÿPƠ ô¹ wõ’!)Éoùhøị̂ êRê²åÿ̃ÑóSüôb•ÇÈô ƒ­Çj;ÿ˜ ¼ đ Í÷8[,ü ₫qú˜ï¦ñâë0çxåWâDÿ{ơ“ưư° Es ṭÎ h{-ƒh¹??D₫ù8₫.̣È́\îÈçđä\ß.ó‘üẹ̈F±¿̉£¬E è ²ÿ܉g .'lö ùöÙéïë`èå¸̃ÓîØ₫÷̣x °,# e ü9¾Üœ Ge ­ d W 7.uù¯ö7ö́÷êæåŸåá`́öüö·§‰  ? — S  ‰à  [ ¡ UîúúÆơ«̣Àíˆë…äyåăơ$ø¸úa % ă æ J Z= Ø B=& D A áEyfÿƒÿv÷7öđÈí9êàäxäGíù(÷ỵ /  ä O D° ² e  Y Ü á@ *₫₫Üù»ö̉đ‡ííÊç¡ä@îäøvødo V Ư $I û 7 ¬ îÉñ1“₫`ùMøáôđï%́éÎđ¢ø‰úKû â¶uÁP2ؼ  fÜ+#­‡DưÙúø.ơø̣<ï ị̂üơäù7ưẠ́SNäz²µ À  » µr<hưxúàöˆóùđ©î!ïÁñ]ơsùöüD(¡ër ˜  Đ  ‡ ª2°<‰ÿhü1ù¼ơ¯̣‚đï đ¨̣>ö́ù{ư1ßkøyy ö O P l ÍçuàưûøƠộ«đ×đ/ó!öpụ̀ü[I!3ÎÿS 1 Û·ás6GK₫nû€ø®ơ_óÔñ]̣›ô÷ªúÆư"~§M0 3 Ưl±eđq;-/ÿüú÷Qơ7ó`̣ôÍö©ùØü>w­Ó+S Ö g «ử$K»Y˜₫ü.ùƠö3ơDó[̣ôüöæùäüb¾ơŒA { ö B 'ε‹îlÿưúc÷Kơ…ó^̣Ẹ̈/ơAøû₫n•}~ Ù  X  whí§Âÿưxú[÷úô<óÿñ@̣Tô8÷!úư@#z»ơ ¹ ¡ R & ˜ z₫’]Îư¥úb÷̀ôóëñḳ£ôu÷BúưïÿyĂ s W :  h 9µe1ươùÔöxôỊ́Ṣ¸ó\ö=ùü³₫&FG¸ 3 ¿ " º ÉXî¼B₫Pû#ø…ơ¯óẠ̀}óÂơ»ø®ûi₫̣"ü& Ñ ™ 1 Ü Ø`â‡4₫…ûøÔơçóæ̣qóœơ¤øĐûº₫@U% µ ^ æ?}éÿyưíúø‰ơ´óµ̣/óUơvøéûAÿkJ É 3 é – , æ7ÿüÛù÷™ôØ̣̣´̣ơgø ü·ÿÑC,èŸ Æ j ç k3­a₫\ûrøµơ„ọ́¤ñ–̣ ơpø1üĐÿ÷ p :   S ë N ºh·0₫öú₫÷Fơ.ọ́đñóơÁø9ü|ÿ`àöá· @  £ * ¬hÉX₫Aû~ø<ö“ôÉóßóÑô¯ö8ùÙûa₫¶éóÓ­> 4 !  z•ÿ ưùúJùøR÷D÷»÷˜øåù›ûOưô₫—$ÊóÜA$Ç N¯ÿŒ₫»ưư„ü+üùûÔûÎû9üúüÜữ₫Ê_¯Ñ¿ƒ§Iá†(¸ÿÿt₫₫ÚưÄửư%₫™₫ ÿwÿñÿfÅ#€«§xÅt4ÖÿœÿIÿÿđ₫ê₫ä₫ÿWÿ—ÿôÿL˜ºÊïươå±q3ûÿ̀ÿ—ÿ|ÿiÿiÿzÿ™ÿ­ÿĂÿéÿ"+%!₫ÿùÿèÿºÿ˜ÿuÿ`ÿTÿYÿÿ­ÿáÿNw‘³̀ÙÙØ¾Œ`.èÿÀÿ”ÿ]ÿ=ÿ#ÿ'ÿ'ÿ=ÿtÿ«ÿ̃ÿ(aŒ´ÈÍǪwC Ơÿ§ÿ‰ÿrÿ_ÿMÿWÿSÿfÿÿ¸ÿëÿK}’¨»¬¬ŸCßÿµÿˆÿ€ÿtÿhÿtÿ…ÿÿµÿđÿ0Ldvx~~eL4ăÿÏÿ«ÿÿÿ…ÿ“ÿ—ÿ¢ÿ°ÿâÿ₫ÿ=[kprfPXA$Ñÿ¯ÿyÿƒÿxÿ”ÿ£ÿ½ÿÜÿüÿ$=:BGO<;*3 ̃ÿ÷ÿÀÿ·ÿ ÿ¨ÿœÿÓÿÈÿßÿÅÿÓÿÿÿ 43;F&B(êÿ"Ÿÿzÿaÿ2vÿo©ÿ§ÀÿÇ ă8æÎû4̣ư˜ÿ¬ưTđươø”₫ʰ₫È)×ÿ|ø₫_₫™üG@é₫¦£üMùưâÿäÿà́O\ÿ ‰*bS‹ ÿ;}üCúbư›₫ưütư¬…¸’ESBÿJG₫!₫ÿ₫®ÿ²ÓÿªË¦ÿ ‹̃ÑYn 9¿l,£üT₫púOúAüÙúûûưÀü›₫"ÿË₫ ÿ́´ÿ[ÔM«Xÿ ÿíA ÿrqÿ¤‡ç pÿ_Ec₫w7₫Íû5ûáưñ₫ôùC₫‰Á₫'₫.đlü2BÎÿ ˜û0I₫£ư!«ư,fÑ₫h¤ûÑhÿRư*ưºÿpr₫#ÿÙ|₫Q₫“ưÍÿéÿÿ¸ÿ|‹ÿ“üÑ`₫Îü'9ÿfÿPÿ£Qmû²îËÿü9ÿ̃ÿ\₫Dü±âûŸûüRÿ=ÿ+ưˆ»ÿA üDrÿ úZ½^ÿ ³Ç₫Oÿ=¿2ÿÊ₫’₫vÿ ưyû₫Ö₫uûèügb₫‹³×L®Ó Đ =û\ÿÊÿBü£ü»ûEú;÷!ú_û‹ù?ú:ÿ2₫̀ÿ§x“‡>Ă åÈD sà₫uûèùéơ;ơô>ơṿUó¹ùh÷²ø{ü ê Á¶ j > :  GÛưÎû1÷äï÷ïŒñơîRđ¼đnóúöeơ™ùD™P§ ¨· GHùî T¤­ú+øoộî@í+đ¸íĆÉñ¿óđ̣Œ÷*ư©₫ï { ½ ŸË{«“î ' R’ûóö̃ñïúëù́ïÉë0îṂệöô!ûdÛÈg — /·Ưa'u· q‰ûÉöló¢í9ê…í'î)ëµí¨ñíïḷĂùü.m‹ ? úFó76Ưư < 'ñù2÷ñđeê­êF́ë¸ë̉́˜ïlñWóÅöëư(ß ùâ2ÅFbØ: ÈÿùỊ́đîæê›èfé}́ÇêxêÊî•ṇ̃N÷ÏưÍz Q÷ªûăV  ~ÉüoơC̣¯ëçKè éÉèÍêv́îóđÔô=ùv₫Çư ‰ÛvEö}Lç¨ Œươoï…́íéùæ½æ ́ĂíWëûí•óˆơ%ọ̈úÜÀ «.¤ NÅS2Lºü9÷Îđ<êHèúçäæ é°íîăíẠ́,ö–ö*ù4ÿ1 @|"ø ljbü“øó|ëaéeéç}ç{́uî´í=ñ×ơ"÷<÷?üm₫öÿ­ ]₫+;@&Â>¥à 6¬ôô ̣ÑêÔçêPê¡êíCï ñgôF÷T÷ùĐü(ưB2‰HŸö#$†  BÜù³ñỤ̀Eñê•ç_ëí…ëƒ́•đÚóSơO÷zù¥ûIú₫m¹`× D%₫® ë)¥óđçñDđàé±èÈíôïớíFó2÷·ö₫ơ+ùÓúÊûÅÖß0•##"« Đ#ùï½ï†̣bï›é¦ëIđEđísïÛơ8ø…ööùVúÇ ¡Üç2"]$|˜ ›­öüñ¤í‚ñẹ́ê‘ïµ̣oîÉ́nóÂǿöËóö̉ùëQB#û!& › \Ó2₫ñöë»đ«óî|êûîCóđ±́rñ øë÷Ăó7ôƒø{ă,–w"%'å'  ₫nïééđÉó£íêˆïRô9đĆ ñ+ø…÷HóẶrù £; ©Îl('»Ḅµ÷)êê™ñ„ñSëë_̣éóoî̉́Có©øföṚJó&…)!ÑÉÙ#Ÿ+Q › Œ®ƒÿQï[æć¯̣î˜é³îoơ;̣ḱbî¤öø$ô­đ>ùü ¦̣ |Æ +('Ă®í§ơô„æHçˆđ5đªé+ëRô»ơçî́óIù_÷5ñạ̈¾³>%Ç9Ü)Ú-Ơÿ,û2ç)âîcó¶ê¨æñeø…ñéµîÍùÍúPñïµs!(8C:+Â1HÆ₫©FüæØß́gó+ëÜå¾ï1ùÁó̃é2í—ø§ûṿ"î-!"Ç*ƠÔơ*74º=jü’üưYæ)Ư.êéó»ë—äaî(ú]öë]́÷Lütóºíh̃"Y,àÄ'+·5·°ÿÄûg0₫åC܉ê–ôKë»ă₫í|ú¥öúêµëÄöhüÊóvî*%ü,f3Ï,¿5qªư|ûTüqă Ü7ëÉôBëÿă‡î4û¯÷ÂëÁëOöüẸ́5îE',R2ö/Ö5å ü`ưNùçà,Ưíôó©éÊäđ/û³ö*́Ǘ<ö¤ú~ñ{đ’ e)É)/̃s2ß2ËŸúÎ₫Jˆơß̃̃ïÊóÆé«æj̣Vüi÷7íWíĐơ‚ù¹ïđ4 9*o' Œ15l1T˜úƒ.;̣ïƯáFđ@̣%é“èeô¸ü€÷_îlî¿ơư÷©íđ,]*i$s+ À77/- Ôû”ZÄî`Ưlă>ñöđ³èæéơMü̉ö~î¯îKöF÷}́âñÎÙ+÷ $$ü9è)ÂaüƯóé^ƯƯæc̣ûï[éî́øpư#÷Hïhđ÷çơ•é́đ±B+½%&Ÿ;È'w£ưûŸ<çmƯÇèị̈®ïêÂî%úĐ₫}÷aï#ñÿö,ô»çÅđÆË)Ÿæa( đM(wá¡(;z#ƒSâ dü]ă_ß1́­óÁî́́ ôÿMaù\ó¢öo÷tñ¦å­ëm " %/:(`^ h₫„ă¦̃´ë$ôlî‘íºöậkû[ø£û&úƯï¯çWælø$½‘î1¡3U @ýPÜÎåtñ¢đó¬ơ¶$ÿRü'ÿµqơáé'çÓèàơ: ă².ó1¤/üY ₫å3ƯˆæÇí°îóưi SFø½ë#é%æăĂö §:³#©8g+ Âc̣ÚÛ6çÿ́…ñ#₫ X6< Ơ/:₫§ô!í®éœå½ÚèỆ$u₫‘7G7)ÍùÓW÷ŸÙÓĐ¼ăï ñ\úe†8ÁƠ Ü;ưïî¨è&îíăßÖÚä•÷)ï¦?4‘83 —ïùû ÷“×qÏ¥èöjơo©äåÔVû#ñyèCè3îí–é«è ê%’%ËvG+† ëÆîù…è>ÚEíÉI»{ÅXÙ Qùfö"ơoïÖđîùÎÿ₫¡F ÿf₫Dư2ùöư÷Pù©ü$ [«k ¿Êư0ú×÷wöpø^ùqû¡ú¶û ú-ù}óîđ¹épí¸ Ơ#Az u&³%Nư*ë»ÿGøUà»ä4’¹S ĐƯ{óûC̣”ñXñïgñ5@ ¥  r* Wÿ¹ùúÈơ¢̣Ø÷Ă₫Ïû— ¡ ĐóüêöÁöH÷Á÷.ü›Tàúÿmûlú ú‡ùü©̣î ¥ưù;ööZù¾û7₫̣¡´ª sî₫%ÿæ₫ƯưâưÏ₫₫ư#ưºüÎû6ûæûR₫\R Ô ƒ .±ưÙúSø)ùÇûYưÎư@₫̃üû˜ù!ú¨ü}¦™ î ^ ¯JÿCư]ư®üâưA#1 ₫ ü9úù9úrứëóú¼ÿmưóüơüa₫¦‹å;%|ÿ¢ưüưX₫O3T₫Vưzưèưÿà|¥ÿU<̀₫&₫›₫4ÿ(H´g²ÿµ₫₫´₫ÈÿªŒ6æØÏÿÏ₫₫₫₫₫«ÿK*pˆ˜ÿ*ÿ₫Ñư₫?ÿ—JüâTº½ÿ½ÿhÿ“₫ïư₫€₫ÿ₫̃ÿÛQF+ĐˆÿÿØÿ-Đ[¿ÿÿ̀₫î₫ÿSÿÏÿ=5×ÿ¯ÿĂÿ×ÿƯÿ*×¢H Ñÿ‚ÿaÿ¯ÿ '$&̃ÿƠÿâÿôÿ2‡˜Töÿÿdÿ»ÿ,7}¬jëÿ²ÿ½ÿ¢ÿOÿEÿÿƯÿâÿÀ—|h  ÿxÿwÿyÿ´ÿ`t|@èÿŸÿpÿNÿ?ÿGÿmÿ¾ÿ+ƒ¿₫, «ÿXÿÿ×₫ÿ£ÿ?—úå]ùÿåÿ²ÿ[ÿQÿ«ÿüÿ$Lqe> ÷ÿËÿÿÿ…ÿ›ÿ¸ÿßÿ%y¤…q.Åÿyÿfÿpÿ„ÿ³ÿúÿ?klQ=- ÜÿÏÿØÿƠÿÆÿÆÿØÿóÿ*9Rm_*ñÿÆÿÿwÿ›ÿ¾ÿƠÿüÿ.OVG.âÿÚÿíÿöÿăÿáÿüÿ úÿùÿ óÿÚÿçÿúÿ ()́ÿØÿ̉ÿÓÿÔÿƠÿ́ÿ1BKK8êÿÈÿªÿ ÿ³ÿÍÿêÿBYPA4æÿÆÿ¿ÿÈÿÎÿ×ÿñÿ$"!(đÿ́ÿëÿêÿêÿøÿ óÿîÿíÿèÿăÿçÿñÿ₫ÿ  $íÿâÿÜÿƠÿÙÿëÿưÿ '& øÿéÿèÿïÿôÿôÿüÿ  ôÿ́ÿ÷ÿ úÿóÿđÿñỵ̈ÿóÿúÿ ÷ÿôÿ÷ÿøÿ÷ÿüÿ øÿèÿæÿñÿøÿưÿ &$ưÿêÿÚÿĐÿ̉ÿăÿ÷ÿ /3'đÿƯÿĐÿËÿƠÿíÿ&53! ÷ÿëÿ̃ÿƠÿÙÿêÿ"//ïÿÚÿËÿÆÿËÿÙÿđÿ)1,"üÿơÿđÿîÿóÿúÿ₫ÿưÿùÿñÿàÿÑÿƯÿéÿèÿôÿ# ûÿ÷ÿøÿóÿ÷ÿÿÿ ùÿ́ÿçÿçÿƠÿÔÿíÿ !(% ÷ÿèÿâÿèÿđÿüÿ !& öÿßÿÖÿÛÿÙÿÙÿçÿơÿ"$'-( êÿÜÿäÿïÿđÿ÷ÿ ûÿíÿáÿåÿîÿăÿ̃ÿ÷ÿưÿ₫ÿ ûÿ÷ÿúÿøÿóÿơÿ  öÿ́ÿîÿëÿêÿñÿùÿ ÿÿïÿñÿöÿơÿ ûÿûÿ  ₫ÿüÿíÿàÿâÿëÿñÿôÿ ùÿúÿ  üÿ₫ÿ øÿ)ùÿƯÿÓÿÛÿ×ÿÎÿßÿ÷ÿ  ÿÿÿÿøÿóÿúÿ ơÿđÿóÿíÿåÿ́ÿøÿúÿ#&!đÿ́ÿíÿôÿ  ùÿåÿÙÿÉÿĂÿÀÿÈÿÎÿÎÿØÿñÿ  ưÿưÿ (5-7)ûÿøÿöÿ₫ÿôÿîÿâÿëÿđÿôÿÿÿưÿơÿÅÿçÿÈÿûÿÎÿøÿÇÿưÿ×ÿóÿ äÿD § ¬¿ú†ùù₫ƠÀ§{Mñÿ+öÿ*ÿÅÇH×ÿNlû¿÷#ûÏưñÿrÿ ÿg₫ÿúùÈûä₫Óưû´ûU±û›d± êöSơ×úÅn´Û Hü<ơ ø*ư#ÿh₫×ø}ơ„öDük₫ü1ø(ôRđÚệ̀áô·1ư]`¬Ôuæộ »çû\ëääF÷¢ N |²ø@ï1ô•:Æ ¤ÿ÷úØøCø ₫6Uÿ8ù²ôơ±öLöFơ}đµơù₫$Đ3ê!₫&ơsøư CxÜ\÷ßđøg÷4´ûSơñÚö{K Åÿăúö¡öÖüt+ø0̣ ñ;đkđûöôúç"?&æúT₫çu ;G`äûơø€ü÷ÿÛưúúRø)ôàñI÷đêéyưóùù÷úơü:ư¿úùûơỰºñ ÷kûú#( ÿ¯- ï Ơ ṇ₫vûeưËưû*øæöƯơ.ô2÷©₫c‡ưú‰ơÊơ´øŸúfûÍøóáó@ơà÷|ù©ưK GN+O¯Ç , ¡ #  2EüơùRúuùëø÷¯óc̣Áó ù—₫ư³úù÷3÷¯÷ù₫ø5÷¥÷4öé÷ăú–2‡̀Ë%Éââ  Èßüsù£ûHü“üø;̣ZñGó³ơ–øzúMú¯÷ơ]ơ°ö¶÷•÷÷÷BögøûÄ“•n<è¬~ „M8 6ƒÿDưÿ­oúơîïí©ñIöZụ́úïøĐô¹đó÷Hø<÷ĂöXó:ô¾÷“₫ª³##Öˆ¼ß ́c¾ ƒư2üØ]ÿƯơđ’îdđôÔù7ûµ÷ṃ)ï ̣ăöÚø*÷ºôç̣@ơöën”)&â  µ — ̣=NËưÿ¢-₫ÿ‰ö‘ñ ñ́ñơô•÷nú[÷Îñođññ¼ôöùôóéñêôƯùOÛ{Úe V× ‚§ª @ŒưĂd*ÿ ợŸđzơùBù<ø·ñ$đ̣́´ñ›ôô€̣ñăñơ½₫vêÑå ¨ ¨ B Mÿ₫’¥”øEóOñcóåù³úÅù¶ơ¹đ/ï%ïĐ̣/öíộ‡ñóà_IJÉf ë̉” ¶ÿÍRHư÷óẹ̈+÷®ù¾úùíôˆđWïụ̀¼övöẠ̀îđrï£øpŒV· ­‘ ¬’7́0Ûûªü2öØđ¤óÖû₫¸ú°ơóëïqđ ôø×öṇ̃Ỵ̈¬ù ‘L<¿ ahÏ ¡¥ ´K ôüÿÇû¢ö'ôÖơ¶ùûùó÷Vó3đ!ñEôæøá÷{ô3óØ2ñƯ( eódâ çÙ> †ä|?xÿ_üaúèơ©óöƒøóùVøDô¾đ•đờø3ơoôZ÷ûï4D 5øM à1[ÿSÜO:ư ø>̣!̣ÔøHü§ûd÷fï‹ï‚ñ‰ơr÷ö^ơÿT4‘  $ /» …Q 5°ÿṂ<ưˆû´úơïđḍz÷Yû2ø±ñhïÄóKøqơó>øÀ }â« G½ÿc j ° B Z"ưĂü•éüù~ó~ñø̣kô øÓôPđIóọ̈ôzótû:yÏ0ơ <ơƒc ¸) °̣ÿ¥ơJ₫́ûnû„÷¬̣]ó[÷hø,ô î+đơ¹ơªơ·÷Z àÅĐI öâ¹ ï Ÿ,8¼ÅûpüTúÄø›ơỊ̂€ơßó-ô}óơ¹ơBṇ̃%ïơ¯Ù¨Ç3  q‘i5ưLüzưú¿ơˆ̣ó›ôôôîôÆơ+óPđ#ü«ö§ G—@ă ²Ÿ vưÙÿ"ÿŒ₫2ü3ú<öñđ<đḳ̃ôèơÍơ•öZóÁđ\•}I± ¦÷\…¹ Jl ‡¾ưÇưØưHü›ú—úœơ/đÿíđtóÛöú ø ó÷ú> ¯l$̀ µ%ĐËi ¤ ±ư*ư:üú‘û¾ûø÷öñ½́„îĂñ̀ơú“ù“ơâư.Ö¾Æ r~Ë8` í Ó„₫Íøïù̃ù3úƠú ÷½ñÈ́́_ñö üú©ơg3iKS Ó f«)0  ­üOúVû-ú€ø¼ù²öªï0ë¦̣́x÷2ü[øbưº %0¸̣ 98Áêˆ © 4Â₫¼ü?ùaùù’û.û¾̣T́Rë€ï¢ơû úüOêz² B xa÷b æX[ưöúù§÷ù¡ûåö/ïÈëÀ́aóú^ưaư7̣©ê ˆ/@}®TÿzúùäùØúøø<ö€đŸ́ệùÇưøüg#G¤G ¯ 5"íưÿ&ư†údù̀÷$ơË÷‰÷Hñóëˆèäî¹÷óú?ư¾̃ç‘ ‚² 5üñú­ú»÷ö÷÷ëñŔêßíJôøøGü³K @SÛw |±œnăưü›ú÷s÷&øÍö~ñ́ë¼́ộ<ø%ưÊÿ̃q9H¹ / ­d"2e°üÜúÖ÷tø¾÷¹ô¶̣î•́d́—đ3÷8úGưˆw Ü•Iôơ ; ‹&QUIÿ\üÀønøy÷¨ô¡ó£đ¾îí¿îọ̈’øjûöûz¬ e•ơ¤ 8;ÿ₫P¸éÿ¢ü…ûÉùHômñïˆđ-đîî,̣1öù₫úÙü øˆ4´Ü• $BS₫DƠưüóø1öêóÇđñqñ#ṇ̃¡̣„÷ ú³ư·®‚ )gŒ¶× 6ø₫ßư2ư§û÷ø¼öôÊñđ<̣¼̣Ợ}ó¸ơÄú(₫cZ> )D Z4b & Đæ6æ₫'ü®ù÷UöuôÎñc̣sôơ‰ô,ơ(øóû̉₫f°*Oœ3Y  {k1ø2¥ÿ©üơù?ù˜÷Tơỵ̈fó°ök÷́ö¼øhúX₫²ÿ£½¯b ® V £ ´̉’l‹ÿüëúÔú´ö÷<ơ/÷ûZùü/ûåưÿ%èàö½™º¶|â¼’ƯÙ₫áà₫ÿtÿn₫(ÿåü*üú˜úÄü˜ú6ü„ûĐû%₫î₫ÿÊeG˜d¢ CM%¾ûÙ²ÿÿÙ₫›)Zø¥ÿñPyu{ÿ¥₫h₫_ü)ûÅû`ú—û ûoú4ưÏüÅ₫@₫j3WPøEˆº‰Á̉{ïæK0^$e³|ÿĐÿÓÿ‰ÿKózÿưsưứüJü:ûüû‡ü`üŸü¾üƒ₫ÿ₫»1è<UY=n5#>&ëG¯5Y4*‚ÿO₫{₫öư9ÿ=ÿD₫îüÉưÉûưüÍüư“ư ưA₫ơưXÿ£ÿ'l°qoÜÎ₫¬ƠïTôÇ—ôÿ0ÿÿ-ÿ†ÿôÿâư/sÿîÿÎÿ~ÿpÿfÿNÿÿ›₫ü₫º₫Ù₫´ÿ4ÿØ₫ÿ8ÿÿÿŸuÿ¸œJˆ¾c*"§‡ÅU6IâgÿµÿØÿNÿŒÿă₫0₫ÿ₫8₫B₫~₫’₫±ư-ÿÿkÿâÿÄÿ¾ÿ~\½›ø8£X¶ÂiÚÿêÿ1ÿÿ̀₫ÿÔÿ́₫³ÿă₫¼ÿôÿáÿ Av)?ÿÿ‘ÿÛÿâÿ±ÿFÿ~ÿÿ¶₫Uÿï₫ÍÿÿÿŸÿKÊÿÆ2ƒ·Y§í©„ÖsôÿA!b$µÿ‚ÿAqÿ̃ÿÛÿÖÿóÿ+Íÿoiăÿ7’ÿ éÿXÿJ§ÿ6ÿÍÿÿ’ÿ]ÿ«ÿ†ÿKÿÿÅÿÿÿÿyÿ0Oưÿ“iO:’óÁç™'Ñ v¢ÜÿÓÿçÿÈÿÿÿ±ÿ}ÿ©ÿ¥ÿÚÿÿdÿˆÿØÿ@ÿiÿàÿvÿyÿÖÿ¤ÿÿÿàÿđÿ¬ÿ*V$§ÿ¸X¨f²-’ *}Ûÿ Ôÿ˜ÿ•ÿ¿ÿÿ¾ÿđÿ[ÿ̀ÿÊÿóÿËÿÿ)»ÿ#†%Wf[t(ª'>?7ºÿúÿ¹ÿÂÿÔÿŒÿ©ÿÿÊÿtÿ†ÿyÿ|ÿ£ÿ¶ÿøÿ²ÿ!Ëÿ!@Óÿ67J(F@CO5IQ3 Cßÿïÿ!÷ÿÔÿØÿăÿçÿÆÿÂÿ₫ÿ¤ÿôÿÖÿÙÿéÿ̉ÿúÿÏÿ óÿ+"ïÿ.-üÿ9%ùÿíÿ äÿăÿÚÿüÿÍÿơÿôÿâÿ́ÿöÿçÿàÿùÿçÿ5÷ÿ'! " %úÿđÿ øÿûÿóÿùÿÛÿçÿÅÿóÿÊÿ¾ÿöÿđÿưÿÿÿơÿóÿ" )%ùÿñÿíÿđÿơÿïÿđÿïÿíÿåÿèÿîÿéÿîÿ́ÿ₫ÿ÷ÿ     ûÿ ôÿøÿ́ÿ₫ÿÿÿ(èÿáÿêÿêÿîÿæÿơÿéÿđÿóÿöÿ₫ÿùÿ÷ÿ₫ÿúÿ  1öÿƯÿßÿîÿæÿ ơÿÓÿ¯ÿ0Îÿ$̉ÿ çÿøÿ#ÉÿFêÿ21Úÿ)öÿ Ơÿ6Ïÿ Æÿ.˜ÿ)ÿ³ÿ#³ÿ ñÿ!ÙÿQÙÿ[ÎÿBóÿ5ùÿ6 ñÿöÿÿÿÔÿÊÿëÿÆÿ̉ÿĐÿ&Çÿ2Ùÿ*¯ÿiÂÿÜÿ ₫ÿÚÿ5²ÿQ¶ÿ‚ÿwÍÿùÿÉÿ‘5 Z€æÿS{ÿ#ÿ_ÿÿ´ÿ́₫u»ÿ…ÿ/Mÿ÷xÿ·—ÿ®A¬ÿ±¿ÿç°ÿĐ²ÿÄñ₫ªưwâ₫À„4ÿ>W₫SKÿâÿ«₫ ₫f₫f₫´ÿưưCóưS='Ä-o8ÿ‰₫¹°ÿÚÿÿ›₫X’₫j·¦ưÄÿ_íÿYyœÿ^₫{ÿö₫ ÿ:ÿ'₫®̉ÿô{₫¸`₫]̃ÿ±ˆåÿnä₫Ư°ư/±₫ `₫0­ÿH₫₫K½ÿFÿ¦đüU.₫¦₫W”₫Eâ₫(üTµ₫—₫î¢ØưKzưÍ ¦₫?¡₫@ÿº̣ư?₫*Ë₫¡>₫&̃ưß%ÿ«₫Áư(TˆưRf~ÿ×₫À<ü5I₫ÿ)DûUĐư ÿ:ÿưºh{₫D~0ưNỠør₫̀Dû^ øØKưÇü*́qùÆûdÂ₫&FüVÿ0ÿßü‡ư:z₫©;êüĐØ¡ük₫?6óü±ÿªÿ3êüC„₫ÿ¬©ư¬^¹#₫bÿ QÖđÿü\3Ñÿó¢uư·’ÿưeÿ7ưŸưáüUûÉú³ú^ùçûeû˜ü û¦Em|k90 á ö ̃  ­ ‚‹~ü/ùn÷`ö öàóØ̣ôUơ”ơÀ÷g÷ùïúúüçû®ü4ÿ¢. ‰ß Å ̉  ™.₫ÿ=ûĂø©÷áơÈótô?öb÷„ø½úüÊüïüUüû»ù:ú®ù2ø§öö÷6ù1úA,  Ë …çû‡ÁG „₫Èù ÷ợ₫đṾàô÷₫ùư½ÿâ¤ÛÿôưÇû%ùĂ÷#÷̃ơ_óæóDöèú§— k w¿ú»WÜV "üLøăôṣ{đđ¬ñ^ô‰÷×û!µ “–8ưKúÅ÷nơ+ọ́Ị6̣¡̣]ö¬ Nøœ­Áˆ„½? ¦åưAøÉózñ+đ9ïïđñ"ö@úßư£¶¹®ß”¶₫Úú–÷-ô]̣÷ṇ̃ñ¦ñüóúù…U k˜_c—U ø;‹ûö>̣ñïYïBïÏï@̣<÷¨ü;Ä ơ qÏE¥₫Zûé÷Ÿôª̣^̣̣Áṇ̃Zơø₫×G‡Ö¹ ˆ °₫%ùôdđåî ïđ¦đzóvùÊÿǜ¡ y ç J:½ÿĐüVùờñæđÎñ8̣Ẹóoơçøw MäŸM% K‚ T•₫Ñø˜óÚïï]đøđ(ñóùÿE[ b ¢ $ ̀ ‹Ăư‹ûÈ÷óUñÿđëñọ́<óặüôù\ÿSă êă™ªä E ü¶ÿ•ú¶ơÀñ(đ‚đñYñ³ó^øÄưVêo Oï°» B ÜÜÿ0üQø´ô´ñ ï íÅí·ï˜đ^đ…̣»ö·ưdẴ¬£Qz’% &#RúƒôđjîƠîï—ïÆ̣›øo₫ a ÖC£ BZû@öŒ̣EđOî́ëêẮCïƠđẒŸơlùX s]åÖÉ8¶H ¤‡₫ø(̣#î°íGîîùîÆó4úÿ›å̃ è#LÚ 9 ¡í»ûàơ ̣!ñ'ïÎííí×î†ñ†óÅôÏ÷₫û3Á„IÂ0ưiR[6 "üơ¿ï’í%ííéë.ï<ơIûíÿ|? d Úc‘“e cÆûiöº̣Vđ_î*í{í<í˜î×đóúô¹ø~üï²û­üo€ë¿º »^ûÏôï ́Äë5ëÖê î–ôÂú_ÿ‰ú AC«Í|í xalưCùDôQđUî°í¨íÿí¢íÎï‹̣Wơ¼ö,ûa₫ôñ#a^ $˜ÿ #₫¿öjđ~ëë¼êˆé(ẹ̈–øCưÀ gÖ÷ÿï¦å ø¼ư‡ú(ö1đyífítí í|îRï%̣ƯôÇ÷6ù(₫%] L]ƯûDö ô ¾Bû„ôïî]ë×ëøêVê`îơ]úÄ₫½Á ÔÄ[MM =×8ü‰ù₫ó>ïFîîígîéï<đ—ó&öFøïù”¡ {ŒMå!Ê1Y Œÿ‡ùạ̈1́êë^éÊé đ8÷¡úO> n ·|L í`₫uûl÷Tñ©îî”ícî$đËđuñ­öư÷2ùÈûx` Noq—̉ sb́ n1ưËøZđ“ê|ëÔë}è́‚ôvø¦üpH k¸';í !ôüÿøIơP̣bïTïï]ñ ̣óüóù÷Vø½ùƠû‚̃ÿ ù€ƒ´ô¬Ù6 ‰Bÿuú đcë›í×ë¥èÊíåô˜÷vưBù Û ²¸o' (eüü6øKö©ó£ïÅđ ñªñỢÅôÜój÷Çøø-úbÿ¥ÿ¥ü3Sn„ Ư%âÚÂUûăđçêEí£êjè/í"ó*÷áư<% »`¹­ˆ 2%\ü£øÁö1óêïñœđŒñ¬óô¾óÄ÷,ø«÷}ú’₫̉₫Åâ½Ëp đ́ö ".7úï†êq́Jéèˆ̣́ƯøÄ₫b© t‹'E5 I'ûùÄơ ̣áđ—ñ‰đ[̣Àóô•ô³÷0÷øMú₫y₫âm‘¬ˆ !R: ¾ÜQ÷íêƯê‹èơèǺƯóñú&n ñ X *åú₫÷ơ—ñ*ñ'ñËđ̣»ó¹ó~ôôöÏö£÷Kún₫₫À ª4Æp _!O.­ ¬-ưùñsé_é 髿Ké…ï öKư! ½“Iåø ¢ßmưăøªöị́¦đ>ñơïđ†̣³̣̣ÍơIööøNưÿưd˜)³å"=iT %YöÁềç~è­æ]çàëŸóûq²á¨¹ï a ©₫(úIøÅóđpđßïºïđñ0ñ7ôÇôÉô¯öTüs₫úÔTÛ‰ Ï# 4íåö(ëçÀææÎæê÷ñĐúœBö ù:T/À ι₫vû•øỆ¤ïƯîZîXïxîêíWđóṂaó÷`ư,ÿ̃¨-$´$Ï yª €_ÿ³óé;åDä^唿4ẹ́¡ûoÂPû1Î Ï₫úíôŸđ́ûêkí#́RếÖđöđñ‡ôFü-¶(ñ Á!„&'‡# T+âơhê7ä8âoătäCæ½îFø”ÿ©ñ Ó³™É/¬Øø#ôVïZê ê êéèÊé́âí̃î}ñ;ö¨ưăÿÍ `Ä!B#¤(ñ'÷%ç¶ -HMô‘éåââ;äÓâå¹îË÷‚ÿ‘™ ­€¬§Đƒưbö<̣ÎíVêèªçêèë9́Ùë£ïơ1ûƯ₫*Á#8!á# '¦'É$ñ̃ <¿₫Ỵ̈¯çKă^æ æ<ă è®ñrù¤ÿ¼p Ä™P§m Ăø±ó%̣§í<êé4ë¯îä́ÆëXđ¸ơªùÂưÿ¿ ²û»!”$Ó$a|3 ÓưỤ̂)ễè[ê§æ[åEẹ̈ÚøYưÇ+ UMÑ Œ ¼ïü(÷êợ́£î2í»î¹đÖïïkđûơaú€üc- µçr̃ƯÏ Âdÿd÷Ôđyî§íưêê!î[̣­÷ƯüèJ˜  › ½_íưúSøªơ*ôô†ô‘óĂó¬ô—ö#ùGû¤₫ÉV ×Ëqô¿ ÿ ùxơ5ó,̣âñ·ñ”ó·÷`ûŒ₫1€J¯̣Y{₫<üRúÛù{ù§øÍ÷’÷\øùçù#û½ưá₫ĂØîx9 Ă , r ë  — ±Ûø$=ÿĂü2úêù8ù©ùéùÿúưüSÿ å­U7;€Éÿ:ÿ»ưIü;û]û úªùú¿ù_úaû©ûÇüL₫̀ÿ`ü`=ĤJ¼A¸¢~ÙCĐÿlÿƠÿNÉQî(N†*³l‚ÿ₫éưƒư₫ü¼û–ûFûËúïúBû¼ûÓüûüÎư½₫sÿ”‰i’p̉àEûÿ©ÿOÿ ÿ\ÿ§ÿkẴÀØîẪQjü­S€Êÿ^ÿû₫”₫ïư·ưxư½ưửưI₫™₫ö₫ÿôÿ<nựƠßV­ÿ$ÿÖ₫—₫ ₫ºưïư₫l₫£₫Ú₫UÿL̀Zn&›îøo*Î- ±M ?¹ƒ½Ñ䟫¸­ÿ,ÿ³₫U₫;₫6₫%₫øưÏư`₫˜₫÷₫Ö₫©ÿÈÿâÿ ùÿ—ÔK9µlw%$IOÀú’ÊyàH́0iMÏÿdÿÿ[ÿ%ÿÿ₫K₫ÿ₫?ÿÓ₫¸₫ÿmÿ”ÿiÿĂÿÿ!Èÿ©ÿ¯ÿÁÿWÿṬÿˆPTq@ÛỤ́ óẬFvB Ôÿ¼ÿÿÿYÿ¤ÿtÿpÿRÿuÿ›ÿ¢ÿ’ÿ­ÿ)¢ÿëÿZÿkÿ‚ÿƯÿ­ÿñÿûÿ&.ăÿ™mÿÿ\:—ÿlMw#…jƒr²´ÿœäÿnÛÿ̀ÿÙÿ‡ÿêÿXÿÓÿAÿ̀ÿ‘ÿ¹ÿÉÿ”ÿơÿ _ÿ ÿOƯÿP{¤ -8”ÿ‚|ÿÇÿơÿ¶ÿ&uÿJ3:Qøÿq²ÿ6’³ỵ̈ÿ!…ÿĂ₫xÿ›ÿ, ÿkÿơÿdöÿ7ek*HB2`Óÿÿÿ-Ÿÿmÿưÿ´ỵ̈ÿ)¹ÿac0ÿ h»ÿƠ₫ºÿH¾₫ƠÿĐÿ£ÿ›ỵ̈ÿgy°’ÿ[)ÿ·‡ÿÓ(.¿ÿóP-­ÿ÷ÿbÁÿñÿ ăÿFÿ%ˆÿÓÿ#ÿÚbÿÿ₫ÿˆÿÈÍư‹ÿ7ÿ*8ÿÿF Ă₫›₫cv₫»ÿ¬µ ư˜P¼₫#ÿ„Uÿ·ÿôÿ;¥₫Äÿÿ›ôÿ#₫›ÿÉHY₫]ÿ;3ÿ5ÿwÿlÊ₫½₫§ÿWÜ₫Xÿ[₫ÿơÿ«ÿÉÿ»₫µÿiö‘ÿ¥ÿ¿IàW₫ΡÓCÿ̉ÿ- )hÍÿ ÿºÿG₫©ÿŒ£á©ÿÿ9ÜQÿÊÿüºá₫™₫đ₫ú₫ ÿÔ₫ ₫á₫²₫GÿüÿçÿÑÿWÉl0µyhMƒS éÿïÿïÿàÿơÿ,8]@3lJ́ÿóÿÓÿqÿgÿÿ̀ÿ·ÿœÿ˜ÿ¸ÿÍÿÙÿƯÿƠÿ"<E5%-+$  îÿèÿơÿèÿûÿôÿîÿæÿñÿ÷ÿüÿ ûÿ₫ÿơÿÿÿ÷ÿçÿêÿđÿëÿïÿđÿ(4=G':"üÿíÿéÿéÿÍÿ®ÿ¾ÿÅÿÔÿÅÿĐÿ̃ÿưÿüÿ+÷ÿíÿđÿÜÿçÿñÿ̃ÿÚÿßÿöÿ5GHLMP@4,óÿäÿáÿĂÿ²ÿ¥ÿ¹ÿ·ÿ¸ÿºÿèÿôÿëÿưÿ &" ₫ÿëÿåÿÜÿÙÿÏÿÛÿóÿđÿ÷ÿ÷ÿ'1FHFMKF#÷ÿåÿÛÿËÿÅÿ¹ÿ¾ÿÉÿ¿ÿÀÿĐÿéÿđÿ́ÿÿÿ)/.,& îÿíÿßÿ×ÿÔÿÏÿÉÿÛÿ̃ÿ,*-B31 &öÿéÿăÿßÿƯÿÅÿ¿ÿÊÿÈÿÔÿßÿùÿ.:K=98đÿéÿèÿÖÿÎÿÔÿÑÿƠÿÛÿƯỵ̈ÿ!"/($(ưÿăÿáÿƠÿ½ÿ̉ÿ̀ÿÏÿÏÿ́ÿ7GZXeQ@DçÿÎÿÁÿÉÿ´ÿ¿ÿ²ÿÄÿÆÿÏÿÔÿæÿíÿóÿ &@LP5C"*îÿÎÿÓÿ±ÿÆÿ ÿ²ÿ–ÿåÿÑÿ*,OGaUE$€P™×ÿáÿh™9₫đơéú l₫LĐÿXƯÿ‹è(Á ÷”úæưƯû4ü ^₫úü₫\®ÿñ•É¿]’ ’ÿ·₫·ÿ¿₫Zưˆơ₫₫Úÿ)lÿ4©øÿ˜Êÿßđ\ù₫'ư₫₫ư9₫”ÿ5₫aÿ9G>j·6àDA ´]ÿ«ÿ4‘ÿøưÇaÿ›₫Pÿ§₫g₫1₫Œ₫5ÿC₫¯₫¨ÿ<₫Û₫ÿFÿ$ÿ_ÿ³4¨Îo V3ÍXN#´¦ߘĐÿ·ư‹ư·ü³ú\ú¾ø\øƯö÷Ú÷#÷ÍøøùFûJûeE©&¬¦ 8'‘ Ó â "ÁûëûôöŸđ3ï¤ñÅñªđëơFưäü)µe²ÓCûûí÷Ÿđvïî¥ë0û‹ûÇù¾åß$1‹j8ù•îäè­æ3ä¢ăè5đnơÔü2¹ kœéy ¿´ĂùdñäéÄçèâ©à&ơóöøz¥%́,®"#b!~ Ù₫§ô´è™̃|ƯÖÜÛ¾âëîµôíÿg¬¼de 9Jùªí äàƯœƠÀëó†đ& ;Ü'‹4đ+(%ÂT ûûC̣‡æ9Ù³Ơđ×ûÖÛëUø¨₫¯ !‹$C4ïăúï‚âpܵÖ%ƠĐ̣àúTọ́ Ë'-'¤)3Y2X8]&Ă{ ½₫Ć8Ư0Ú¹ÔEν̉•̃øă5íñÿÜ ̃ ư)Ï)M%9"]) üÖóàåOÜdÙíØ³ÔlÙEàóæœí¥ưsáb 70œ's1A(™Ÿ tô€åâ_̃×¥×VáºåPêqù°ƒ U•!b"+ K W n'ûÑđJåCâxß̉Û«Úâ ăÑéÄđ.“RĂD0Ï&M$0I"¢¢ƒ™öÑí₫êîá•ÛúƯ–â¬ă–é¯÷ÿcđ"•¥w–T¶ûÿ‰ô|ë±çÛá{Ư²Ưàyá£æ̃ïËơ¿ «.Ơ(Ï)#),è)IÔYÿ)ô¯đ‰ç¨̃XßáNáæ†đªøbç 0̃SWt© 6yúơđ ëæäàYßà&ăMåÓî›ôÿụ̈á5(ö$´)Œ!B¡ ¹ûêơ!óKè6ä|æ)å~æóvó”úËfÖụ̂ ĐøØ÷ŒósïkéÓç–èÁèˆêQïSơRúư_ æ «1RPX ̣…9úûüöÑíkđ/đ¹́£ï`ô÷ÿúéÿ L ÿ × ù`J/₫›úºùqơ=ó<ơ.ôócö øeø’üm÷ÿøª 1 }{ & ‡ êuI,ÿ1ÿaùơùü/øâøßüVüŸür‡æ¾”ơ½«.BÿÛ₫₫yư₫ü³übüïûüGüáûEüümüGưbưÛưÏ₫ÓÿV¡_)ieâB "Y’\ËJÿö₫ÿ5₫]₫ÿÿ¥ÿ‰û…*(×a|Lÿ₫ơüÄûúÖù¾ùdù–ùÍú¾û–üt₫ÿo²^ñ?ldkƒÿÁ₫e₫%₫1₫Ä₫CÿùÿöÇk€ƒ.ÛßƯÿ ÿ₫dưüüºüÄüưwư₫°₫jÿôÿ{I[yOû±Lóÿ„ÿ'ÿ!ÿÍ₫©₫̣₫÷₫ÿgÿ—ÿ¬ÿåÿøÿ₫ÿ;/Ju†—²ÛÛÚûæ©§pÿÿèÿ±ÿpÿ_ÿoÿÿµÿëÿO£ÏI2÷‰°ÿ#ÿ—₫<₫Êưư‰ư“ưÇư-₫²₫Dÿíÿ…˜î/Ê_̣fÅÿ[ÿơ₫—₫ˆ₫˜₫»₫ÿÿ˜‘á×wlÎÿ'ÿ“₫2₫Úư¦ưÈưùư8₫»₫Oÿ̉ÿ^ñRˆ¯®lµ/®ÿ5ÿÍ₫†₫W₫`₫“₫Ê₫5ÿÁÿ3¯>ÇóÜ\đjóÿvÿÿÉ₫£₫₫¯₫́₫0ÿÿôÿM¤èă›Jæÿƒÿ.ÿă₫»₫§₫Ÿ₫̀₫ÿKÿ¡ÿưÿFŒÈéóó߬yOàÿÉÿ¼ÿ®ÿĂÿéÿ Oiw€‚qO0Ơÿ±ÿ–ÿsÿ_ÿeÿpÿ‚ÿ£ÿÇÿëÿ-/#"ơÿáÿ̉ÿÄÿ±ÿ·ÿĂÿÉÿ̃ÿ&<WmrrmY7" ̣ÿàÿ̉ÿÎÿÑÿÚÿêÿưÿ42'/ óÿæÿƠÿ·ÿ©ÿªÿ°ÿ¹ÿÈÿåÿ₫ÿ*GGDM:#êÿÂÿªÿ–ÿ•ÿˆÿÿµÿƠÿTe“†dE#øÿĐÿ°ÿ‹ÿ|ÿwÿ~ÿ€ÿ­ÿÏÿùÿ1Plˆ{xoH& ßÿ¿ÿ¦ÿ¢ÿ–ÿÿ¶ÿÄÿƯÿ₫ÿ/<;=-& öÿæÿÓÿ̉ÿÇÿ«ÿ¥ÿ»ÿ®ÿ¹ÿÎÿÜÿôÿ'2%4-3[WeZU.îÿçÿƯÿéÿÎÿæÿêÿăÿíÿ4;çÿÍÿ¬ÿŸÿ ÿÿÿÿ{ÿuÿÿ•ÿÓÿèÿJ[|˜©©œ§“¦·-v.₫̀úÉûÆ₫¢ÔÛ₫ƒ₫qÿS­‘SíöÿPèưÉƠ ₫“öLư¸Itúûøqÿ!ưÿêù<ûVO—œưùÿƯ LÂ߯pYÿÈưL₫ªœ¶ÿ~ûĂư‰†‹₫­₫ñÿ‰WT62£Hÿï₫ÿ²ưËü­üơưQÿŸ₫‚ÿzÓc„δÉuÏÿmë•ÿÿ+Yÿï₫¦ÿóGÿ¸ÿëÿ̀ÿ>ÿï₫À§ÿ0ÿưÿÿ½ÿ/ÿaÿJÑ£ÿñ₫dR₫Cÿ]­5ư°À ₫'` è₫•ÿÊÿ̃ÿUÿLÿÿ-¦₫ÿˆÿŒè₫Øÿê₫àD!‰ÿNáu₫ƒy₫,_ÿs₫áÿRÿ°₫:ÿ 0°ÿµÊÿ,pºÿ¢ÿÖLÿ( xư×ÿ>Rư¤ÿæÿCÿLJ+ÿîƠÜ₫qÿYÅO₫eư˜W–ÿ—₫êÿƠÿ‰₫DÿÄ`ÿLâ‹ÿ.₫m˜«>₫ƒÿL₫éÿûĐ₫Gÿ6deÿ„]ÿ£₫… -ÿR›₫bÿJ₫á₫'ÿƠÿ₫ôŸçÿÿ\H8₫1₫Ûy“±ưIêưÂÿNpäÿ5ữÿ>ê₫>ÿ=M¼ÙÿơÿbùW₫ÉÿÆ₫ZB₫~àÿgÿ+=¡₫T$­ÿ¦₫Dÿeưy^ÿ¹ÿ₫̣₫MDĐÿ(₫™8O»cÿ÷ÿÔ₫ÿ’àÿÿ;;₫z₫ÿ̀A h*gÿ™§ÿ ÿä°¥ưU¿ÿ…ÿ™ÿ<ŒÿÜÿrÿÿSmM₫"iÿM ÿ©ÿ¹ơÿm8-ÿg₫Ôÿ“™ÿlÿHMûÿđÿ¥Æ¸^”ÿt̃ÿÍ₫áµ₫ÖÿñÿÏÿ×₫rÿer₫6°C¿ÿêÿ#~üÿDÿ́3ÿ ÿûÿåë₫Ôÿ\36$ÿ-“ÿƯ†ÿ€ÿ†ÿóÿî₫s„ÿ`ÿRÿ¹yFÿøÿ'~ÿqH‘ÿñÿ&ÿµÿÿKÔ₫ºŸÿ‹èÿ°ÿ. ÿ¬ÿxÇÿ:à₫_æÿ ‡{ÁÿRµÿÖÿpxÿ\Bÿ’OÿCÿ«›ÿ]êÿrIÿLZÿ«ăÿk~ÿßÿêÿúÿ[ÿ—ÿ4•ÿSëÿ›©ÿ«̣ÿ&d`ÿUáÿŸÿZwÿ6œÿüÿ¬ÿRÑÿ]ơÿ‰ÿ øÿíÿÎÿ²ÿwwÿ;Óÿ‹fÿ÷ÿ8ëÿ üÿĂÿ"ßÿ,Äÿ*Ñÿ¨+ÿŒÿ–®ÿÖÿ‡ÿ7¼ÿ2ÄÿJ£ÿT₫ÿïÿçÿZÓÿôÿ4xÿs|ÿp€ÿxÎÿ?¥ÿa§ÿ¦Lÿ~ÿ…ÿ D¢ÿ/®ÿi±ÿƯÿ2êÿ0ôÿûÿîÿäÿ ûÿÖÿ/̉ÿ?µÿ)áÿ ̣ÿ#¾ÿ@èÿåÿ=·ÿJ¹ÿ2Âÿ2̣ÿđÿ#Çÿ:æÿôÿúÿæÿ/Óÿ5̉ÿ$éÿ̉ÿ.Ôÿ$Üÿ́ÿåÿưÿ ÿÿơÿñÿúÿôÿ÷ÿơÿ ₫ÿ₫ÿ ùÿñÿơÿơÿ ₫ÿîÿéỵ̈ÿ ̣ÿ!Ñÿ4Úỵ̈ÿöÿæÿöÿđÿơÿûÿ úÿ₫ÿüÿèÿôÿ÷ÿÛÿ ñÿöÿƯÿíÿñÿ ïÿ₫ÿ!Îÿ7Ôÿ%ëÿÙÿ:Âÿ0æÿéÿèÿ̃ÿ/Öÿ5¦ÿ1BLÿƯTÿN ®ÿ|xÿq»ÿîÿáÿơÿđÿ'Îÿ,ăÿûÿøÿđÿ ÿÿüÿ₫ÿ₫ÿơÿưÿûÿ öÿöÿ ûÿøÿóÿ øÿúÿ üÿ₫ÿ ñÿ÷ÿôÿ₫ÿÿÿưÿäÿ-Êÿ*ïÿÿÿûÿüÿêÿ́ÿÜÿ îÿ ûÿ ëÿ üÿøÿđÿ ôÿàÿöÿ đÿêÿíÿ ôÿ ÿÿéÿ̃ÿ ôÿưÿóÿ'ôÿ ùÿÉÿ7äÿûÿëÿüÿ úÿùÿôÿíÿïỵ̈ÿÙÿ;Üÿ Úÿ×ÿÖÿ -Øÿ%ùÿëÿđÿçÿ3̀ÿ÷ÿ Ưÿ!öÿáÿ+Úÿ-×ÿ"åÿÓÿH¹ÿ öÿ(ÓÿơÿL‚ÿ…ÿP₫ÿ ÑÿeNÿÈ4ÿ§?ÿ©8ÿfÖpÿÎÿâÿÿBêÿ½ÿ{Đÿ"ŒÿÊnÿ`ÿíÿ3«ÿ­›ÿÓÿ,aÿíƠ₫Ï*ÿúˆÿ%÷ÿäÿ cÿ­(ÿ°CeÇÿ1ÿgÿaÿ©ë₫¬îưSü₫± :LÿV‘đ₫+₫¯‚ÿÍÿŸŸÿ*ÿBÿÿûÿ³ÀÿHÿíÿ}₫·²ÿ»₫YÜư•ÄưÖlˆư—üÊ™₫.ưüÿ%₫©₫rsÿTÿºQÿL.üú#ûUÁ₫¯₫^Ûÿ ÿÂNúU“ù<¹ü†ƒ₫g₫l̉üŒ–₫–9₫sOüö_ưBàü͆ư¥¦ûH¬ư“ÿl‘₫é¯üjˆÿ$ÿ5åüz¡ơüÔqûNd₫ˆZự½ÿ¼ÿÓưr*åù‚úƒÜûœ0ưúyCäùçđư™ÿÔ›dúeúK û_Åÿ,ü »ư[ÿưPüÿû₫£₫̉ụ̈ÿ àøoBÿ¦ơüy«₫l₫ú¡9üư î₫ê™ư éÿ|ÿÀ₫˜p₫˜ư@—ÿúüùâÿ0üCùÿQûºhûtÿúêÿúđÿôXÿ ư)₫½úœüígÿZÿEº¨₫ïÿ)ư±ùøøÿvøƠîưçûKuüđÿeÿĐ}8ü; ˜Ù {׿N2ƒ₫ùqưO÷÷ ơ’ö°ơKó÷ööú”üûÏ¡  k [£ %ö T ¡[ưàø ̣xíí́ơænå¶é·èê¬ị̂3óR÷ßûƒưÊÿª -ʧơÉ]®;¸6nüÑơîöí̉êæsç₫éế¼đWó|ô¦öôùyøÑúëø₫ ´ "@«Ï¿$«ưßt„₫mö6ïÛíé‰ăæ­çºæ8́èïNï:ö?ö÷>øßùmơÍè ®i…đ ?'¤Hf ’Gkơaí+́’èâ¿åVçUèrẹ̈€̣Pơ…økùƠö\ù ÷¤÷7 ăđkñ­%₫%–ÆüÙ>ù¯í­éÏêâ}âÀè éë¬ñªơƯô4ù¼ù,ù¥öiùsó₫H •˜»!ơ*Í!Oj£¹ư"ü«đÆçLé»çààˆçƯë'́Æđd÷D÷¸÷ûBù¶öÑơdö́ \€j$Pµ%ü+áƠÅ₫iø÷üè¦ä«éûäắîññơåùßùjù%úđù{óÅôóự ü¾ {&Û"* }+x&© Ip}öÆôAïưäSçTë€æë}̣ŒóÔö—úÀü&ùíùcøơVïdóđë‡ü¥I*Î!Í%p,#°¶ÙøăđvơéäåîcíêZóEöÉ÷ë÷̉ü}úơlöÈơí}înïŸï; ® ¶‹,Ơ&´"c,!ŒĐ £ ưsïđó|đèûîmôî¾ôvùû÷öùuúmú4ô²óẹçîÊé2đjêZÏĐ ¦'œ-6#&%Ë ï)ỵ̈¯đ`÷]îmđ˜øđơÙôuúØø©ù/÷¿÷áóxđDï¦ï¢êî2́<ú›d è§3f"c Ä%PÇ«Fœơ#ï$üoözđüüäôGùû®÷Môø-ơíăî_̣ë¾ë‡ï:ó_zá-¤%+!ÓW¸-ûẒzü₫vơưăs÷Eøqú́ö¥ó?ô*öÎî½́Öñ‚ï©ê›ïƒï]ïÍ#.)FăÈ tÖÿøFûhGüüÍ ücözùƒ÷Àóẹ̀}ö&̣`íÑï½đ•ẹ̈íéíöôÄ W))u!̀–»bGÿ¬ú¨¸©ưËØøæö{÷ô}̣™ó¡ơ…đ§î‡đêï ë\í,îÿ] ‚ ë#8³’Ư ́Q\₫vĐ#Ce¬ưmö¯øọ̈ó®ö&óñîöđIđÓê~ë¸́üï¯ ,{0\MIT<³j ̣f  üFøôö́ôÙọ́ó öóoïĐïWîêoểê ô°áUGå ̀ư ¤±ư¿¡ ¶^’{ÖûbùRùëơ~ó·ö>ökđŒđ ïF́$é¬ê_êăöµ̃’x€— 2y³¾‘™ ·ÆiüŸüZûûù₫ô¹ơÚ÷ộññNî/́ëè×êæéĐ÷¹¯– Q8 ú² &û4 ¬ 0ÉưÊü|ù¾ơ-ö€øÊó$̣c̣|́£́ êé%ẹ̈ö]>Ñ“7‹NV 4—ÈB )G¸  …§₫êüˆúÅơƯöxøÊóọ́¢ñÄ́‘íué»érêöqyHí ¾è Uû ç o ^ ï ¡yÍ₫[ú!÷øAø ôCô£ñö́ÄíLêêéßèṇ§₫oÿW Ưd€ ~/ .` n [ W ö € s3’©üºù‚øOùøơ“ôsóÏí¾î́°éÉéđ́ZúÉûŒß® ̀ ßá†L æ Î Y · !c’k₫kûAúù‚÷nöáơ5đÂîÄî]éêpệñü†ưº t* ê* ² Ú $ my å }  ªđeñ₫§û‘úúW÷÷̉ó¨ï“î'́réé¨êüơ—ûGÿP y â „\ ưä ăU Â0 •ÅbÿÛû°û<ûJ÷Y÷)ôÇî¿î%ëEè&éềölú$¡ G  ä á  4 uá q ^ &_ =xËÿ¥ưư*û¥øQø½ó ïÅï₫é[èDêùè¯ơçùqư€ -  #í F©¶ Oß"9 ê H ~ß;̀ÿpÿU₫̉ú‡ú?ù¶ôoñ.ï΅(çëíç‹îœù°ùén u P ) $©  ™L ù ; ê è spÊ@ÿh‹ưáú‰ú.÷ÖóYïHíxëç±é{èF̣t÷‰ú–i( † ‰ w ä l  Ç Z7ô * °€­́ƒü‚ûóù̃ô ô~î̀́>ëđæÑé™çƠï‹ö¸ø5­k f jÂR ˆ L ƒ¯?ˆb § " 5P9Hçÿªû.ûÏ÷7ô§đf́ ́ æèç‰é;ơèô}₫å? Ø  ¢ ‘ Ù…Ao - n@/₫¬ư÷ø2ökôǾ[́—éñä­ç•åĆqóhơOöÚ" ÎÁ… : ă © ¶‡S‡" q íTñ8ÿ¶ûUúÆơẹ̀îßëÄè0åˆçgäêóÄóGÿ² Ö ¡ î î # ï Îh́Ùă ơ } ¶9E Ë₫¡üTúNö%ô°î#ípê=å«çÄäïå6ñIđ;úÇ– Z ˆ 6 ƒ ç ̃l­Ÿä± d ¼ !‹ÖÿRû‚ù†ơÀñ~îùëÂè|噿QäYç6ññ¨ûW ¡ 8 µ œđóˆ~öà s âI×|fơX±ûGùÚôÄñ½îüêOê©æÂåÖæÙä»í÷ñÜơgq§Í y ¸ à)Wâ‹Çê  ÄÇ ?E2]₫;ưøf÷QôeïPîêơéÎæqåÛç#ä$ï9̣_ö”h À Ë̀ ñÙ7Ÿ\®  ;¹tl/|zÿË₫ơúçöÙóîïuîÓêăéÅèüåĐçÿåêG̣Ñóçÿ¡®Ÿb¼'M\tØÜdü ₫ W PzVcT5ưmư+ú°óØóïǻ,́Ûé­éSçtèåç\éJô ôíÿ¶èû–ùí ïÀÖ©+ % ¹ ÍïeÓ¶…ÿü=û©ơ*óµđ¨í‹́ưêºê¯ésè6ê`é́îMöüøñåE *ÑL8í?Ó!¸5`g  ơFKXÿ́sÿ%útû†ộ¿ñỚ?îÍëËëßëŸéŕËëxîæ÷Ưùè` ˆ ÜèNG½Üêû y  0­1hẒ¡ÿx₫¨|ú«úeøq̣çó ï’îï₫ëMî*́H́|înî€̣ÑùáưX ) C`½̀ë` Ç ä ñR‘ H$&₫´yưŸÿºüWùú‰óăó^̣™î¢ñ&îmï¸đ~íïñºđióÿ÷Zư艌©ÈÿƠ ^ [ M x W Ñ´Ft₫PÿGưhÿyưÿƒưÎùYûơ ơưóađsóªđ£ñêóƒđơồôƒúŒù­üѬº Y “8 ” B d ™ûsOU+ÿ!₫Qÿüûpÿ;₫đü‹ úñûXú$ơ øßó ôöỰöUơMôu÷6ơ˜ø3ú̀ûX Y È +ª g ̣ €x Ë:«<T-¾@!ÿÇ₫~ÿ‘ư‚ÿ+Ă₫Lÿư¦ư×ø¬øR÷¿ô¾öÍôơ×öëôđöYöövù\øuưPÅ® "  ì° £ #¹ ‘[0CĐ¢‰#çÿ¯̣ ²…ư₫RưBüú÷÷îơBôö¥ôÔơ`öœô’ö ơ›ơ¸øX÷ÉưP·¼ Ñr *&Ñ ‡ <G L¸ M¹~™¸ÿoÿL$₫M-ü¸ûúmơùöÓóưóÑơóVö‰ơ¤ô.÷ßôp÷]ùHùÇå° ư ü l Ä ?w "Ç Ä}æâÑÿ9ÿ®ÿ#ưi₫¥ữüÈưüüûZú³øƒ÷öDö#ö̉öÛ÷¸÷̀ønø;øưø-ù®úüTÿfÜ ² ‡ Æ Ê M "±ˆ“\ơ!›}»†ûÿv®ÿHÿ§ÿX₫Î₫́ưôưÇ₫HưĐ₫åüûmûÏ÷₫÷ú÷hö¾ø(ø”øúKøù=ù@ù¨ûFüœáđG K † £ ÄÆ»gd8)k3äáÈ=2 ñ+äÿöÿ̉₫v₫ ₫ưiưíû»úúø•÷÷¨ö›÷÷˜øHùùøÖù®ùú‹ûü©ÿÜR7 Øm b $²‚«ñë3“'^ƯùévÉ4Y¢SÿÁ₫@₫ưư—ü<üÿûû\úMùoøø¡÷øø5ù"ú‚úïú?û8û¶û«üwư9Âù´Z •  çøh&9+4#‹M&xYu]lLÇÿÿÎ₫ ₫`ưrư üZü üñú…úåùGù%ùóøkù»ùú̉ú¦úÉúûçụ́ûºü₫/*Íá|wr>‰arÿ/ƒ+~ÛÖÅŸ Oÿÿ₫ ₫´ư,ưưĂû÷ú.úùàøˆø™ø-ù?ùôùåù¶ùú´ùDúrûfü“₫Y®O¸8ºîj˜ü¸¦ÑtÙKÄN³2ÿÏ₫5₫…ưÜü«üzüNüü‚ûîúQúĐù©ù¥ùúúûˆû´ûÏûÏûÚû5üËü–ưÙ₫µïjÿ…ơb9i[ïœ7 ¦[©* ÿÿO₫ËưEư÷üÚü̃üøüîü¸üjü ü¹ûrû`û|ûûÍûøûÿûîû×ûÀûéûGüÛü¶ư"ÿÖ.ă20M{¸EBđN¬œ<ÊPÖI©ûÿHÿ”₫́ưhư ưÛüÙüëüâüªüEüËûTû₫úËú½úÎúîúû0û/ûû ûFû¨ûIü7ư®₫¡©[Xà8TK^“º¾g±é7ÀUàhêaË?ÿg₫«ưưü$üâûëû1ü‰ü¯üƒü ü²ûaû4ûû.û]ûªûîûøûÜû¯û—û¾û#ü₫üU₫?f+[Pmhp“µƯÉW¦à6¯1»)‘lÏÿ,ÿ₫ßưCư¬üü›ûWûWûû ügü¡üºü®üü_ü2ü.üRü–ü̉üÚü«üQüüûƠûü´ü÷ưµÿ¬ó×5A4;aµŸ8Œ´̃(•#ÇkdÿÁ₫)₫Ÿưư¥ü9üÚûûaûdûµûPüư“ưÔưÊưưEưưêüư2ư]ưQưôügüåû³ûüêüc₫FC₫:ë097<Rlp>À.d¾>ƯJû“rÿË₫)₫“ưư„ü ü£ûOûû&ûvûü©ü3ưư“ưyưOư0ư4ư]ư•ư»ưªư]ưêürü#ü2üƠü%₫óS(‰†x²ÂŒ1Lq°¦S ²@¹ÿ!ÿƒ₫àư?ư«ü&ü²ûKụ̂ú«ú…ú•úđú—ûkü<ưÜư:₫X₫O₫>₫A₫k₫­₫Ü₫Ơ₫…₫ùư]ưâüÑübư¬₫‚|0^ITILf}hOn~ŸáNç _³ÿBÿÁ₫2₫œư ưü!ü½ûaûûĐú©úªúơúûüŸư₫4ÿƒÿÿsÿWÿUÿoÿŒÿ†ÿ?ÿ²₫ùưGưßüừư8ÿÆ4)­áïó₫¹)_v•̉8Ê€IÊÿpÿÿ…₫₫ưuựüüüÍûƒûCûû÷úûvû8üDưf₫Xÿñÿ&âÿ·ÿ¥ÿ­ÿ¶ÿ›ÿ>ÿ›₫Ïưư¼üóü̉ư@ÿ₫²„ºÆÉÑƠ¾n× !D‰ù™^3ưÿ°ÿKÿÖ₫Z₫Ùư]ứü‰ü-üƠûƒûAûû ûcûơûØüêư÷₫Ăÿ9^J̣ÿßÿØÿÈÿÿÿf₫¨ư ưÅüưÛư4ÿÔrÍÁL‚vrpXŒƠ,të•dAÖÿ|ÿ ÿ‹₫₫ưưºü_ü üÁû‡ûgûwûËûpüRưO₫1ÿ̉ÿ#ùÿÆÿ¤ÿ—ÿ“ÿwÿ*ÿ©₫ÿưSưØü¿ü)ư₫qÿÿ‡Ê®/_gcccHƒÓ7 ·ˆc5îÿÿ ÿ‚₫÷ưxư ưªüXüüÓû¥û™ûÀû,üÛü·ư₫YÿÑÿưÿèÿµÿÿbÿVÿLÿ%ÿÏ₫J₫ªưưÄüÖüfưm₫ÉÿK·̃¬RbjsqT̀ÿ:—!Óo1ÙÿeÿÚ₫J₫ÁưEưßü‰ü@üü̉û½û̉ûü¦üaư/₫í₫xÿ¼ÿĂÿ›ÿiÿCÿ*ÿÿÿÉ₫a₫ÙưPứü̉üưÛưñ₫D§ëó©XxŒ—SëO’Ë„ Ö˜Z  ÿ&ÿ ₫₫¦ư9ưáü“üPüüüü<ü§üGư₫±₫>ÿÿŸÿÿIÿÿï₫×₫¿₫–₫G₫Øư]ư÷üÈüéüiưC₫^ÿ¡è ô cœ½Æ¯^̃5yĂ'©Pÿ¨Râÿiÿæ₫d₫éưwư ư²üaüü÷ûóûüuüư®ưb₫û₫dÿÿÿrÿ@ÿÿè₫¹₫¢₫^₫ ₫œư<ưóüÜüư¢ư₫…ÿª̉̃®kï_®Ûå¸ZÆg¼*¼e¸gơÿ~ÿÿ₫₫œư)ưÉüküü÷ûôû"üü"ưÄưn₫à₫<ÿMÿ5ÿÿá₫±₫₫w₫N₫₫Çưƒư?ư+ư4ư—ư*₫ó₫êÿạ̊ă±o‰îàiÉ)w½%¤,̀`®ÿ@ÿă₫n₫óưzưư’ü3üâûÏûÙûü—ü8ưÖư‚₫ù₫@ÿhÿ_ÿ7ÿÿê₫¹₫₫t₫;₫₫¿ưµưư˜ưóưp₫!ÿ×ÿÛj¾ƒäúƠ|â<̀O°7¿jßÿƠÿ(ÿ÷₫ ÿrư₫èüzü~üºûLü·û^ü¾üưÿư₫Å₫!ÿ¶₫%ÿØ₫₫Ç₫₫±₫Á₫w₫y₫J₫ ₫:₫'₫–₫Pÿ•ÿ\5^J½$)Xö‚[gv]¾\¸?íyƯÿŸÿ1ÿ¤₫y₫öưÏưyưÙü̃ü¿üUülü ư+ưMưp₫¶ư–₫v₫µưù₫ưh₫₫V₫¾₫Ơ₫„₫æ₫_₫…₫ư₫¢₫Đÿaÿ Ư¶R0øø7Aÿ\í¨óû8̣N c—,ÿ«ªư‚ÿÊư₫F₫çü₫ưÀü1₫äû₫ưưư“₫¼ư“₫̣ư2₫øüyÿ üêÿ¶üÿ(ÿÂư¶ÿO₫&x₫n«ÿ¿Ñ¯:1Ç JâÜNE…á2Ôr†2p₫Ó@ÿx₫ úûØäüÿ‚ư₫â₫ăü2ÿrưAưæ₫…ü6cûFÿ^ÿ"û33üă₫}₫0ư²₫ÿwư‡ÿPÿ1áư$Î₫ă_Ó₫®Æû(a\Öe₫ø^éKư…È₫̀±Æư¦ûíÎú̉4ư¿ÿ₫‡ưm¼ûƒ¯üM¸₫tÿ…ÿn₫©ÿ¥üQ́ûéướùĐÍû₫Œû¸Hü¦JÄ₫xÛüƠ ü1´₫9ư*J₫DR'ÿN#ư ÿU<ơ₫Yưgă,ÿ~üĂ¹ôư…üưëÿ_₫PÿuÿÎüuèûaEûhüư¢ÿ¾ưËü?ÿóú âú²ÿ“üu₫‡ÿ¶úưö4iûUNư+ÇÓ2²ßÿ¢Áÿ‡hÿk8£j₫hv›ư\Ư₫+Ăÿ\₫j₫¿p₫Ä*ü‚ư»b₫cZ₫ŸÈúüÄú5ú;èưJû-×ù²úÎÿ¾₫‚ú¤̣üÿÄ₫HLÿÑ¡ÿôä₫ “ÿ.!ëûg´ûb¥üáâØ₫Í ü›ÊûÊ®ưhư«›ÿ°ÿ¡ÿ”ÿ#ư“Đ÷ЇøU$úª>ÿ¢û[½öJIøtû”₫̀ú}pưç₫mÿ€ư„7üơÁư ÿóÈÿ¦Öbµ«—ÿ2›6©)ÿ+Öü¨åÿB>₫wŒ‹|₫búư1-ÿù& /ơ0 ´ñm …ù7ÿIøNƒöo¡ù₫¬ø¬ø~€ù₫¶üÇù?Zü‡y₫v₫”©übpÿÉ@»₫¸Xr₫ÜH₫ù*ükÍü{+üC(û²Kû„G₫{±ÿÈư‰ÿÿƠûY÷qíú¥ÿM¢úÍÊù̉ ÷̉üáûe4ø¡;ơÿ‡ú/q°ûû#ƒù› ó¥Àư9[₫«kLëø“¯₫Dÿx®•TÙü&»ÿ(ÿæÿ8ă₫%₫:÷ åVøƒlTûó+û> ưưÛÿ–ư ù9́÷ÔÑúzưxûôùm₫ư­ÿ;fûRUù{ ø“₫Ô₫u₫N ¬ôL v÷¹|ëøCNüYXuûđưZ ûßßüq₫œöô€¦ùúoü±Üôüè0?÷R*úEv®öW_újÿüü‰₫?üjköiûĂ pù̃Êù!Xûá øCÇûÿÛ#ơ¼-úÎÿëư“Q₫·₫Ü‘ö] rùăïôú—¼û]ü¶¿₫Ïû₫£^₫ăPÿG(äÿĂ₫Ú₫Ù_ü&µÿ₫l/₫vüäÓúR¦ư¬₫<Œưgxù±<ÿV₫.ÿC}₫aưd₫ÅÿŒÅ₫m~ư1¦±ÿ₫î+üÆúưäFÊûs:ûç9₫½₫v,ưñ*üáZ₫BœXú?₫₫Óÿơưåüeü₫’éûm ¡ư”ÿĂÿ>µ}ûk¯ ₫ƒÿ*ï’ÿPÿÛ§Úÿ₫˜Lñư‰ÿñÿÿr₫«ÿVÚưæµ3ÿSVÀi₫ăq&ÿebÿ@)ÿ=ÿêˆÿ»ÿtÿ˜íÿÄ₫W±*ÿêM%ÿv¼ÿx±ÿjÿ)Æÿÿÿñÿ̉ÿ§ÿ*Tÿ$D8¢ÿ®ÿ‹ÿºXÿ›ÿ9‘ÀÿdÿĂÿ×Cmÿ½ÿBÇÿ]ÿöÿ {ˆÿ˜ÿ £%·ÿúÿ¥ ¦ÿåÿ9E×ÿ¶ÿ #äÿ÷ÿ@@ơÿăÿ?̉ÿ«ÿøỵ̈ÿ₫ÿ4ùÿèỵ̈ÿæÿƯÿÍÿÉÿÚÿÚÿơÿƯÿƯÿÑÿÖÿ+úÿöÿíÿÿÿëÿ́ÿ,Ùÿ &üÿûÿ& ăÿ́ÿéÿ½ÿ!ëÿñÿÓÿ₫ÿñÿúÿîÿíÿæÿÆÿưÿ́ÿëÿùÿ đỵ̈ÿúÿ ̣ÿ ̣ÿơÿ ôÿ ÿÿ́ÿ)̣ÿ'ïỵ̈ÿñÿ₫ÿóÿèÿüÿơÿđÿïÿúÿ÷ÿôÿûÿơÿøÿđÿáÿ ôÿöÿÿÿñÿ ơÿ ëÿ÷ÿ÷ÿøÿüÿüÿ ùÿ ûÿúÿ ơÿ öÿöÿ êÿïÿÿÿùÿ₫ỵ̈ÿíÿêÿơÿøÿøỵ̈ÿøÿ÷ÿûÿöÿöÿ ưÿ ùÿÿÿ ÿÿ  ÿÿûÿưÿ ñÿîÿ₫ÿ₫ÿ ơÿđÿîÿöÿưÿ₫ÿæÿäÿüÿâÿéÿ ăÿ÷ÿ$øÿêÿöÿöÿåÿÿÿúÿéÿçÿ"ôÿâÿâÿ$ ëÿÚÿ̃ÿ(ëÿÚÿàÿ)ñÿƠÿáÿ'öÿ̃ÿêÿ ùÿăÿîÿûÿưÿ́ÿđÿúÿ  öÿôÿúÿ ÿÿùÿ÷ÿ₫ÿ₫ÿ₫ÿÿÿüÿùÿüÿûÿưÿùÿúÿ ÷ÿúÿ₫ÿ ÷ÿüÿÿÿ öÿùÿùÿ₫ÿ₫ÿ₫ÿưÿÿÿÿÿûÿưÿÿÿưÿ₫ÿưÿÿÿùÿ₫ÿÿÿûÿÿÿûÿưÿưÿ₫ÿÿÿưÿÿÿÿÿ₫ÿÿÿÿÿ₫ÿÿÿÿÿ₫ÿÿÿÿÿưÿÿÿ₫ÿ₫ÿÿÿÿÿ₫ÿÿÿÿÿ₫ÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿ₫ÿ₫ÿ₫ÿ₫ÿ₫ÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿ₫ÿ₫ÿüÿûÿüÿÿÿ₫ÿưÿûÿûÿüÿÿÿÿÿưÿûÿ÷ÿøÿûÿ₫ÿûÿùÿ÷ÿøÿúÿưÿ ÿÿúÿ÷ÿøÿøÿưÿ₫ÿúÿ÷ÿ÷ÿúÿûÿ₫ÿ₫ÿ₫ÿûÿùÿúÿûÿ ÿÿûÿöÿơÿơÿøÿüÿ ÿÿøÿóÿîÿđÿôÿ₫ÿ  üÿöÿóÿïÿîỵ̈ÿöÿÿÿ  ÿÿøÿ÷ÿơÿúÿ₫ÿưÿøÿñÿ́ÿ́ÿñÿûÿ  íÿÇÿÿ{ÿzÿÿíÿA’¯a Üÿ¶ÿÓÿäÿúÿàÿßÿ¶ÿÔÿØÿ÷ÿOAgK+ûÿ¤ÿ–ÿqÿ±ÿèÿ-_A/ßÿÏÿÈÿëÿ(.C ñÿÏÿÍÿ÷ÿ/ưÿ ÷ÿâÿÖÿÁÿ·ÿÛÿïÿ+:J8êÿ/5ÖÿÈÿ»ÿÏÿçÿøÿ ùÿóÿíÿäÿñÿơÿ   ïÿåÿĐÿÉÿÍÿØỵ̈ÿ#-2#ÿÿ  ,+'÷ÿâÿÛÿÊÿÈÿËÿÎÿ×ÿĐÿÑÿÍÿÖÿñÿFp™²²ª{Dđÿ›ÿ:ÿÜ₫J₫›ư³üưûñûÓü1ÿ7¶F` ¡ù}‹₫„û¥ùMù[úîûîư>ÿuFtJ7A¥s¶2₫Û÷Àñ\í^ë́đÚơÑưíZ †­f”g² zÎ₫oöBđpëIếđŸ÷₫ÖÆ <'C§  cØ₫Pø=ñ́èçíèëađ~ô©üéĐÎ%,Ä(!Â’đdă_̃dƯ_ä}́^öÿ<? à n(1e È÷xêœàáܲƯIä]ê đô‹ø–ÿz ¶,à8û;}4²!‚mîTÙsÎÎÑ׫æÖöÁ [ÇÆ| ¨Ùø9́BàÓÖ`ĐÑWÙëdTÎ7ÊFăKjA³- øøâÁÔFÑkÔƯïèîó₫é ₫ÑV ¿,÷é{̃oÙ¶̃,ë»ÊT*#5>7í.Ç© Úù`íIå‘ăYåúçÅëÉí‘ñ&ơtúh₫6\₫³úèøbú\r (—,½%]–ÜơƠë¦ạ̊èđíĐôEùyùÛ÷Oô<̣KóƠó÷{ơÿơ öHúÂ,©!J,F2ú-»!Mgưî åéá™å;êkđƒó·ôlô×̣×ñđØîZïăô‘₫§Pv-34Ø2(Œæfơ8ë¸æçÙêđíñ£ñññ\̣óËônôgôḷQöäûS Ùà%ư/ª/è)iv yúÇîÈé'è`ë=îÉđ[̣Èñṿ̣”̣tñ‹ïóí…đø¿¬ñ)%6Í712!˜¤ưñùèæ®æCè?ëḯ=ïMđóđYïǻ5é)ê ñ=ÿ—);®@„9?)¡ưYí¥åæåèíƠïCđ©ïÛíøítíḮ“́vë ñúc ª¢/c=ß<µ3 Èïơ„ç÷ă@å ê ïBđđ±îmíúí8́́Àé“ëóíư+­<€@%8«'-püớ™æûæÎèAí!îtîÊîˆíûîWí‘ëérçÀïû'©'j8ƒC`J)Æ“ùêÊäŸäHèÙé3鬿ä,ämæè~ê*ë/í5÷º 4¯DÏJM@—+À¬÷åç á̀â®èT́î`ëëç¸åfäu嫿̣èËëÏöóæ1-B¨Iè>ư-çü6́̀ă^å/èIë˜́Séëç~ååÜå%åDçéQóä7t2̣B¶I¦AB.±¯₫áîêæ2åèé<éeçÚä2åaå ç¥ç[èđéÍñ:HƯ1̃C K¹B.|…ǘ®æçŸêœ́ëRèçägäÈåçÊè̉éÍéœđ)₫Ú:,4?éI¯D×2Åđiçæ-éë»ê°èiåå£åPç%èŒèé î'üa‚*@?~JáF¾4ỉ®đÿçÀæé¢ëœêièAå₫äæ‚è´é˜éOé(́‹ø« [%+<I'H7‡!̣̀ƒé!è^êḮKëxèNåTäæËèóé|é)è5ézôDï!;âIḲ:ˆ"̉óơéŸè ëfí¹ë"èÁäăSæ@éëµêbé%éÿñÁĐ6G…J =u%Ê ÀöíëÔéÄëÊíh́oèYåäç”êéfëéçû́üư U2ŸEKA‰)̃₫ùî§ë5íOî©́eç*äbăÎæïëî¿́„邿Éé“ù©-”BJ—B¸,éz₫wñÿí‘îîj́BçóăNäåç¯íˆï;íGè?äeåÆó ÷'Ô@îI—D0AtTơ-ñ=ñsïë«åŒáă¥èßï»̣7ïTèåâcâ¹îÑY"u<{GnC\2ʧû~ơăódđ7êÊäÚàƯăoê#ñXô÷ïƯçâ9á˜êK(Â4xC)B!6n!†ôø—ô>đeé²äEâÀä́¶ñwô^đ¬ç{áNá´çûQÄ*"=|@9½)$Óüsô^ïWé!åóä¿æí[̣̉óôđéÓáxáÄåỊ̂ó ­•4?3<[1ªz=÷$đÂëDæ’åPçBëpñôó#̣¤́ä)áơä`́¼₫wg)H:G>¢6à([gDûáñ¶́éïåæçPë»ïcôÚóIïØè}â`ă¢é@óé¯,/»<‘<̉1°!m̀₫CơÍí2ëéèíê¡îṇ|ơWó!íÇæâAå7́]ùf€#́4i=ˆ8P*5˜úóYíVëÂé3êùíúñ‡ôÏô4đûèĐăâèç˜ï]ÿY6)Ă9t>Î5†$˜|ö¬đ¯́ë êµëgđ̀ôâö@ơËî§æ˜â×ăˆê¼̣ûz+|:›=3Å Î ưü,ô˜ïǘ†ëCëhíḥêö0ø+ơ»íeå3âÑä¥ënódƠ,<:=ù/oö µú‹ôàđ®íƠëÜë×îơyùùô0ëôâÅá©æDîâôÚ̀©+Å;À=|/·»ùNô(̣µî́>́Üï’ö+ûÛù«ó®êßâÿâFè‰ï¥ó·ÿTè(:“>À0Ḷ³ú¯ơ6ô{đÄë́Öđ{øÄư×û_ó;ê ă>ăwè‰î5đÙø Ü%‚:c@3d„ ôưNùÚöéđêrê:ñYúçÿºü×̣4êEååÿéî÷ífđư_́6Û@Ø6îX Ç₫øù8̣̉èmçÿđêû?®ưóDêtèésëêë‘êQ铸€91…>¡9Æ%ÍG ưỤ̈é1æ(đcư*Gư¢óëêá)́¶éèèaï. 5& 8«:¸/]dŒ ºô²ëaèîNúGTü¯ôOï½íÅïîmè†äFç ́(û8µ,Û6ă5“*e±(£ùàî™ëÚ́êó2ưp₫Jøgó|đî‡íñéưä®ǻ»ñ$1q74!&¢ ‰…ơíß́Êï!÷́₫₫÷ó‡đÛí7ë°ç|ä’èï3ơC’!I37â1!́vÿ£ó›́píñUùN ÿzöôñdïË́˜ê±çÈäé=đæ÷ˆ ¸%[5e6¾.'£ «'ü7ñçë8ï£ôĂûgàư ơ´đ$ïÈ́‘ê®èzç»ë±ñÁøQ s&¨525̉+è ïÿûÈđ₫ê8ïoö₫=iưâóơïwï̃íÖêè.ç¹́Ộfú9Å(Î5§2ă'V · üúïê_đùcàüẶ’ïmđÑî¸êè9èlîøó%ú) [&~42Û&ñ‚ü½đIëñnúQ›mü­óñđñUï1ê3çèÙîơóù‚ N%‰4Ơ1@&̣"ûñáë»̣ư/äü-ôñ°ñÔïŒêöçëéIđ6ônơ=! 4đ1P%¨-ÿ¸óüéÍï5ư×ΰ₫Nô€đ[óẹ̀ÅëmæYè‡ïiợôw₫΀/Á3Û(í× Ç¤ÿS÷íïœú>  ø—̣Gó*ó³í́çƯç“́›̣̣̀:ú¢_,31)s¨ à¼~ù7î—íÀùÆnĐ_ú‹ôgôXôÈîÅç°ḉ%ñTđâó× ‰(5¾+̀^´1íù“ísëLø€/÷¡üø÷Àôî)ç ç,́îïï¬î„ù!“5Å.„ 0ư/đ¤éÿóÛB u₫tûúÖö?ïưæ´åJëĂïúî$ë÷¹54‘4 "(»£ ạ́ÓçúîL+ ­Jÿ<ư$ư|ùûï·æ#å¸ë¬đjïé¡íc ¨.18”&”uỤöªè‹éNûc V ô‹₫3…ư•ó:è­ăé×ïđ̀êkèAư[#29?.ÔŸ" û.́Óç<ơ}® 2I₫LoǿêÉäüèbđ}đ1ëæ—ñ^Ü0¼2ï£ÍÀï1é—đüÿ3¢¿‹Ë₫ï-æ7èCïpñẂdçQés₫¡¡2¿)<ƠZ ÉööêĆH÷rOÑŸ‚ <Œø)ëèX́zđ‹ímç‘ắ °,5#IÆOíç¬ï¢ü:&è¯ Ṇ̃Gçdé!ï²đªêFæ@æCónÏ.0#¦†áùµé§ééóDư娦ƒ bxïÄæºêHïïê°çˆêØö<ä)È.„ › îø¨êÎêÂôîü]TØ + ¿₫Jñé¤ê^îíï<́úèIêhôT 2(®/Ü +T6 DúvêÜéơ₫w9 I ‚ñàé́¼đSñFï4́¼́eđ<—!-&^˜B ‘ïÓé'ñçú€Öå9 h Ó^øYît́¡đợ ô3ôĐñUîgïåÿ>„,ƒ$Yk© …5đwé¸đnûµ=«= Y<úYđïỌpơâö́øÔ÷Q̣«́óÊ ½'g*À9 Û “ 2øTéXê÷ØÿGÜñíè 3Úößđ óIø6ùËùưûkư^öóí́;Ô+{?  â›ÿ®éºăPïư%v÷s ‚ öÍǘôµó úWüAú¬úÿ—÷"î>êú +^× èƯ \ÿ´æ½ßîmÿ_¼T w ¾AüHơIö¸ûđưµü₫%ÅœürøQơṇrîèùÀ´&Û“”=„ùéKè‡óÎ÷! û ̣ 8 B®ù¶óöû%ư>₫U¯+Tû-ù5÷7÷3÷©úlünÿZ ôr0 Äûºü₫öéđ§÷+́ × ơ 5†1ü ôuñåơPù1û¼úªửúïô;æîW7«!¨üÅưú¡̀ä]âÇô t F‹ NHîâÊê@₫éç À¨8«öđ!̣é÷‹ëH ₫ ̃?cùQóQơ5ø–úƒ§  ÏôÙǿôPơăơ}ø₫²“­₫¥ư<ư|₫ ̉̀ ÿ6ƯôNü§÷̣ăñ÷Hûưêü|ø̃́ÏøUƒ)} ËơmưO)ù+íÄóÊ} ú ­₫_ưÈÿ®ù́ẹ́íèưÄ `CÏĐ₫üùÉôÄóéưpk ¡ºw₫ơgô©ö1ưu ¸ Ùz Zø̣ôù́₫Ë=4÷s₫,ú‡÷&ú ÿÑÂ3j6®₫múcú‚üÿc‹á88Í₫(ü‹û©ư ›Ǹÿsü”ûUüy₫̃œÖ^@‘ÿÂư2ư₫‘ÿøáî ëÿÈ₫(₫‚₫Ÿ}p‹£ÿư‚üœüÄưÙÿ;‹^1±Ï₫vưqư¦₫ăÿƯqCNiÿ.ÿ>ÿpÿăÿÂ{…]ÿ₫|₫˜₫ÿ*yŒeSÿ²₫x₫•₫ÿÏÿ‡÷󬉂%ÅÿêÿNL₫ÿ̉ÿËÿÜÿN—ÿ—ÿ ªÿyÿáÿ) ơÿăÿºÿÊÿP•Cäÿ·ÿbÿ°ÿA¦ÉÓŸ.Ïÿ’ÿ\ÿ"ÿ*ÿfÿÅÿÿÿPzh8<D ¹ÿÿÄÿNnY'Ûÿqÿ3ÿvỵ̈ÿEŒ¿¢!­ÿvÿkÿ’ÿig4íÿÿcÿ³ÿ)aooU ¿ÿ•ÿ–ÿ¬ÿÛÿ.|‚P(Åÿÿtÿ|ÿ›ÿçÿM‰lT)́ÿ¹ÿ¼ÿÛÿôÿíÿ̃ÿàÿöÿûÿ3@4ûÿÚÿ«ÿÿŒÿäÿ7NEQT.öÿƠÿƠÿèÿøÿíÿÜÿÛÿæÿ́ÿüÿ$Yf<üÿ̉ÿ¼ÿ³ÿÆÿéÿ%60ôÿîÿóÿîÿäÿóÿöÿâÿ×ÿåÿ'54 ÓÿµÿÄÿêÿ (AD$ïÿÅÿµÿÀÿÛÿ)GS= Óÿ¾ÿÇÿƠÿáÿ-F4 ñÿéÿæÿàÿçÿ!1ơÿÜÿàÿíÿíÿóÿ65 çÿäÿñÿöỵ̈ÿ÷ÿüÿïÿúÿüÿüÿûÿëÿÜÿæÿ+(́ÿÔÿÈÿÑÿïÿ0:1÷ÿ̉ÿÀÿÍÿđÿ$,& ̣ÿßÿ̃ÿíÿöÿàÿĐÿÙÿöÿ*67&Ùÿ¼ÿ¹ÿ̀ÿ́ÿ/CB+àÿÎÿÑÿàÿóỵ̈ÿđÿùÿ öÿ̃ÿÎÿĐÿåÿ7D7ïÿÑÿÁÿÁÿÓÿóÿ)1, üÿïÿæÿâÿæÿíÿñÿúỵ̈ÿäÿƯÿàÿëÿøÿ úÿ÷ÿñÿêÿ́ỵ̈ÿơÿøÿ#̣ÿ̃ÿÎÿÍÿÜÿöÿ&45*ïÿÖÿÏÿØÿæÿüÿ#'ôÿđÿîÿîÿøÿüÿüỵ̈ÿ́ÿïÿüÿ ' óÿäÿ̃ÿßÿçÿùÿ!/+ÿÿñÿàÿÙÿâÿ́ỵ̈ÿúÿ  üÿøÿ₫ÿüÿúÿ øÿêÿăÿÛÿÛÿÙÿáÿđÿúÿ úÿưÿÿÿúÿÿÿ    ÷ÿ́ÿîÿùÿ øÿëÿâÿÙÿ×ÿáÿùÿ  ₫ÿéÿƯÿÜÿÙÿéÿ÷ÿ  ÿÿđÿäÿäÿăÿôÿ*07C9  ûÿíÿæÿèÿ̃ÿîỵ̈ÿéÿ̃ÿÑÿÉÿÔÿëÿ&úÿăÿâÿëÿûÿôÿ ̣ÿéÿéÿèÿàÿÏÿéÿưÿ(!(%  èÿ̃ÿ÷ÿúÿưÿ́ÿåÿÙÿëÿäÿÈÿÇÿơÿ₫ÿñÿñÿ₫ÿïÿÛÿéÿÜÿåÿÿÿêÿïÿöÿ₫ÿûÿüÿöÿ%'PO:-÷ÿØÿ́ÿƠÿñÿ$ .₫ÿ ÷ÿ)8.ôÿÓÿµÿÄÿºÿÛÿ*WƯÿÅÿ·ÿ€ÿ‚ÿ©ÿäÿäÿăÿ,&=Rv<£ÈètèKrQ(ÿÛưt₫æ₫B3'âÎZ¥|ÿ«K üøñÖäÇë±ú?êó…ä"äÏFwJîá̃uȰßĂ\©³̣Ư»ÙPó¨]"zéçơkö’ơø÷ÔùgœÑûómåOäè îáçưÛ7LR­@¥ûÖÀ–¿ ́‡÷2ä½2ÿ ơ¾è“̃-ö–¸ ̉đeë£ûZÄ ù»ơáđî’éRå¸́±ê ü~*J»B‰)Ü’ÇX̃Úw+Ă((\ư1ïḉºí×ñ„ÿ!3 )é÷z÷ üTÄGÿJơáî1́₫î¶́Öíƒé×è£ Ø:M#0¼÷iÓhÜ£ÿnećôdç*ë‹ư c₫ưîï¤û'³ bÿơ›́ê:éIîîđ9ơmëJóúC̉Dëä¼ÔĂîKùdNä}63¦÷œï-ơ6n ÷ïóíïCùt£Fü0ótîuî0ñMđïđơđÅç¸ñ›=C`H$éđ#Ư đ 7r· ÜRFøxđ*ô=˜ ¤Ơ÷ÈîÂóæûƠñÄú"̣oëŒëĐï©ñ×ósóôê˜âˆơq(NƯEn_æá+ü=R–À ă ‚ºơ6í×ô9¡ º]đ:èáñ¹¤ö(íÁ́Ÿị̂àïJñ¨ñ­î俍ï₫aI>N"”îđ̃ùÂM_đ2Î₫có3ơ´ÿ÷˜åô0éUđ–ưJ Føœïªë“đTñCđ_îWđ/ï˜ïPçFôZFæH";ö“çÁûËo· LFzú¼îlñßÿ² UơêḍD µ ô“ëîûóùô'đ<í́î¡ñêđ&éXátø­-pR)H@́oê1—7;*Y /)÷né̀đ6dḳQêö¤H ỵ̈H́jî¡óÊôDñbđ'ï\ïé‘è2ê‹î‡´AüL‘1Ÿ!î±úw iñ ?ƠU ¤ïîJë’û̀s3úƒ́ÖóZÿÉœ÷Ôñơî£îÙđ­đCđ2ó¾đÑđ çÛè'èïô3"†IFM,–ÿǽtû” y&r{Ï6ø¼éë₫| Ïï÷ŔFơŸÿ½(ÁöñÙî-îỴ̈2̣›ñèó¡đÁïÔç?æÇé ̣/WICP±0xíúr .Á«$g©ö^é¶ê›ú‰tï÷Øíö̀ÿüươẒqíîxđÈôôlóắ÷êä’éJîuØ7SXIß´̣´ë¯V(9o ưî́â”́-ÿuÀ¸ô…đèû¿̣ùẬ(íđ́ăđ±öN÷6̣Ố́`êƒéÈî4ñ[AC̉Vë>æ ́óNá  æØöjäµâ®ó´™¡üÑđd÷ónØüiú…ôîîºđ/øqö(ïåëÛëHîlë́¹ñ*₫Jôù| cƒ₫:a×Óđ₫!úđđeơ)ơñ—́óé¤í±êñùH/Y!3Œ”î=đEđ́‹Ùé"Q)ñˆè¶ææTíöÏ‹ ¸÷Åï7ùLụ̈̃´ñ=̣9ñưí*îăë?ëÉë ̣9ú<á<ŸXă5`ôóđ̃îÆçưÂÍ ô7øñvíÀăcç@̣Ë ŒÇ ơ¼äÿ¥üÚlÄ(Úù̉ôÜđîúíêOëêïAñ/úoø₫*TwA³" h÷Ëöä³ë$B €ü„ü¯éÛ߈çÿómö D w`₫®ÿ‹‚”jÇúøóøíỚjíç`ê«íØđăîböúø¹%]WĐ6/#~ ÿyđôÚ íûc\ă ‡Ñäß)æ9îy÷xûî̉ % 3₫Ñü·çúeö₫ôñí„â®äTé[ëƠíûbư·EV²9á&ÚỌ́‚ÚƒçF¼†t 3́…âdæQäªí¡ùç X<yA ơ/ü«øưÿ$₫KưeüYó¹́gặßuâçḮ2÷®ÿ: óLQI¤(ƒ'â ®ûKƯúÚßóü;t“₫Iëbë`ßzà®́nÿn‰TV ́ñû®ùƠøw÷ÿ©₫Àø.ô,ïääã2ßÙèkë›øÄûÀđYÜ9ä-Q-é EôÔ«ßjîíâg_®ºûÿî®Ú¸ßé“÷Èđ½€2Ø gûúṇ̣úôyô–ø`ơ ê2ăÎăøç©åÂó#ü¦ FRæ;Ô/û8 ₫ưÛd̃íåà¸ö¢¸È ‡ư¼æiåă—æ;ôû¹Ü< jư°óbî™çb́óóûï̃́hêđê™æẉZöÿzFÏ4¾,Ç?®" ́ÆèÏå»×Øê´ÿ̉\¾) È÷ơîèCácé£đ₫z –óîœ[Rơ²ê¢âtæ¡çgé èṔyîîĐñºư\øæ0å9ôë>µ+«ơ₫÷ô‚î Û›á ö°̣50TlXö̉è7ë'îfñ­ûÿ5đUƒ»æûípæ{áLáßÈáưç6í^íºư°ư-iF‘#ñ1+>ă4 Ôû›ô¹á$Ùëî̀îƠ )a` KMôïñCë9đ›ùw] (|î­ù 0î‰æ&àÛl×z̃häđç‚₫r3Ë<7$´H›2v yüïé×ְܺç#áö Y W ˜®üOú¨ï„è1đ.ñ÷R̀!ẉK¬¤üÜíøß ØÖØ×DÙ â˜íøơA /A¹-Ó8Rl.q&R₫Xß2ÖæÜ(Ơ–Ơ{ợư€ËC ëạ*̣ïª́¦ä=́ëôGÿ»»Éœ „öOîßNƠƠoƠ×áxëk6¨%¬=èVp7Œ.0%F ‡é àÅÙÄÇßÈ’ăä"̣J77­!j$°•5›ô¶çrèIèbé3öÿöêû* ‡̃ïæSß×_̉ØƯ¾×ÄÖGRE­7¨>¬2̃AưMóẵ-Ä'Ï₫̉ÈÊ>æÂøJç#'P!E#Ï LÿơxçéçêYîÂóĐưôÇ$½ÿÎójôêâäŸáçO₫Dé2M#Œ/(8c)–™/Qí˜ßöẫÏÁÑă7á?îó Mơm#<nÓđÿøçùđ×êMñ…ñFó"öKú¾øvđ¾öñ±å îéØăY ̉+¦¤(42[$ûÜ\ j÷úë†ê±ÖëןáëÛèLødÿ+ ¤¼É×*O ÜÔ_ö&ñṚåí„ñơ@ô(÷±öÙđ́ô“î¶êøë.îí ¢ú>±'½ö'<0Ù ;@ ³øôṔÊÖ‹ƯÖß]Ùưå‘ôøgñ°vP @ŒXñ ÿ²÷ïơµïVîïxïííḄf́nđ¢í#ëṔ¯÷ 8û¢€#̉o+,ăåï'ûœ÷4é,ÛQäƯÛsêƠđ'ôtØ¢½‚â ‹ưÿˆùùï9óƒíƯêấ»íIçíëüçđéXÿö©ü„$j÷„1Æ'ëA"¹K}₫´øåßæâØEƯ°ë1ë€ô? pµ̀KâX̣÷²öỌ̈ố·îyíÎëêùêơéëèuèöX úbd"Lf+ó+çO!×ú5₫ứ[á|ç|ƯÀÙÉç…é!íqÿå °ˆ¡ôù ɸú»ơ>÷đñº̣µñ đCóºï±î#đcíëKüh¡ú9 >f*#£T"O9VÿÛëLèĂêÛnß êéä„ïdÿ< ½§­“å q â#úsúfơíađ̣đí¤ôùœù‹ư1ÿÅûhüYù ơ÷óˆû2aúf¢ ¯id¥! ́ÿiñIîîWâäaëoçï̃û>ưỠ)‡ Y…œûÛ÷®đ¡é§é(ëëë+đ2ùÙüS : Ç sS Pû³̣¾îÏè%ö;đ“ôP Ôßư·C ] €Üüœđ‚ï­éáà¶è̉éưé÷/₫$zë'x9 eûƯôxñ~ê³éH́̃́̀ñaúIÿ†ÔÏ‘iˆ™% «‚ü´ôïëääă°Üßß‘̃ơlûæûT"hŒ6W&b ´%‡ü3îT̃D̃¾Ư|Ô–á£ê ́¨₫B I!m‰ys¹´ÿeó~ë=ê½ä|älëîôÓ₫\Ư {&¾₫ äÊØư÷¾ôṛVđhơ˜ơ…ú-?V̉ N Ă la€©ú–ơ$î®é́h÷́đöÿQ¬åO¤A æYóăéRëä—á®ë'íṇ]®> z|Ú³ÑôûẸ̀đtï§́àï,ơï÷U₫;Ă‹ >Ç• E ´×€ư7ù¬ö\ö1öÁ÷½úÖư^,HÅ3\>́"ßüÜú–ùø}øúFû>₫ó5çsI Aà[Rÿwÿ>û÷º÷ươŒơ=÷"ùpùËø·ûA¹4ÀÈđ } ÅöÿOơñơ´ôCï[ñ̀÷Îơ¨úäË©   zN 4€~ÿ üÂ÷±ø•øÅ÷û₫¼₫ €Ù!Ô>Ôÿ§ưüñûØûfüƒ₫: >j»µíđ!ÿZü3û‚ú¢ùbú̀ûÎü²₫Û[áé+ÔÿÑ!çÿ¤₫VưNư'ư$ư₫é₫]ÿJµÙơ¼^Ùÿ̀ÿtÿ¿ÿ¬ØBû`ÿÿ₫?₫$₫?₫‰₫nÿĐÿpæw¿h íưÏü`ư–û]û‹üéưÖû₫¨ûùaü§̀ÎCà  ”ËÅÎư ÷ øÏøÍôÿ÷ƯưPû„ÿÜ$Íç\ă₫xû•û{ûúGüç₫}ỵ̈—8g²iPIÿ:ư…ûûÎû ü;₫\ïê]µ=^ÉdĐ₫&ư™ûGû4û7üMư₫©®ËI;³¹|3ÿ)₫lứü=ưøưË₫6bª;:©ö₫ÿ;₫ûÇú8ü†ûüf₫ÿC₫.ÿËüƠù}öµúüÙü_ ü- øXp _ ôü;ùơ$ïđ_óỌáøÿ̃F § ơ Ư +]ưùpơdơ³ö‹÷³û́ÿÓ÷&!!¥4ÿúü7û úæùmü  ÿz¬hŸ¿ÿEư'üá÷…ö ÷Töûó¿ô­ơ>ơ±ü›†`6Ÿ·x ¢#äù#ó óNïîHô(ø»ù‘r9… “ 8QVưÑùù̉÷u÷Đú²₫ä" B m $­üáö8ñ’î½ëäếsî>î±ñïÿ£œOS&J*x¨ĐÙù¢î<æå̉å”êÇï8ûR‰qÏ*À u:₫}ù÷÷óøëøêÿùŒ 3ùqù§óđB́q騿ËèHè!ë®óÇ/‘@/À7Ê&¼* ÆQư¡ô²âÓÜ á©àBăäó'ûèy½ÿhï‰ ÔŸÿÔûUøRùÇùú}ưyưüûÖû÷ ó́îáéñçè­å”́›̣Iă×;c0¢,è0:¸ ’ñ/ß%ÜP̃ Øậ§ơ—÷x ĂWb G åûëưÏøˆó.÷Có8ñf̣}ïîEí.ếµè¯îọ́jó™»,è8ă)7/f'¿M,ûnè̃‘ß ƯiÛĐëfó¶÷R æz²«O ó¶÷ûûöµñuô:đ†î¹ñwđíùđ1îẾùï×ơ øÁ9ë5+0Ó&,,Ă}2ôOåàMâ÷Ưâ ñ¯ó¨ư– # Ñ^́Ñ Ü ₫÷ñ΅4ëPêêuïœî}đºôơñ°ôµù‰ü•ÿFC5l(0!™&A‡¹₫̉ñưä‚ä_æáàé™ơ'öS• pbQ$ å zơị̂‹ïÍéëNíX́›í®̣óº̣‘øaùˆ₫Áá±W5†%k.$ö»₫̣·åÍå6èâ{êüơ^ơßÿN 8 ~X¬Ư ™¬ùơÜñùëÜë)́Ù́#î"đụ́§óÑơ"úúÓ%Ø!¶-W+sâçruûkóöæ²âàåZä)ç|ôuøxư Ä î u%‰ Ü–úáö‚̣8îsíĆḮ̉î×íYó̃ñFö7ø‰ü±ü´£!¬ƒ-¸0Û’&¹)fûéùá×å¬à5̃tï¶đ‡ôƠ¾ nÀ̉ư ˆÿª÷ăóÏëÏç#éßç¨éóëáị̂éó×ø̀üÈ÷½V³2̣$¸ï#y%²ơñå¤å}ç½ßƯạ̊ ̣„ú…̃ ñ˜Nú Ç .Ưö3̣ ë„çFç«çfêŒê_ï²̣ṣ‘ùưµ₫äºÈ² 0I#u–#ƒ S«ô´æèÔæÇßç¥đtđLû&Æ “WdÁJÿ ë¼üäñö́†é°åËä*éˆéæẹ́ñÎô>üØ₫• W44£"HÄ%g+EöàæPèñç°Ư1æøđíŒùG$̃7ßë̉†jøxí²ëŸè{ä¶æê×èíüđọ́1ơôưeû~™¢.ô'yO(@$ , ₫4í(ê,ê àªákíê@̣j¥ đárH¼ i­ÿăóóií¢æăéôèUç›́@í’îẒ¤ôpú’û!™đé0­ «!)Åö Ö ~û­ï‘́†è°̃́ăRêöæôë₫5í ·z„B— d•ø½óđ»é!ê¸é+è¡ê î1́}ñụGø÷ H~ x,“%&++ÆŸUó=ïáëđß×ß.è¿ăắ˜ùư:¥È/ $Vø,̣›î¶ëéŒéµèTë3́¨ídñ ó#ö₫üK @-&q' )Ï{›½ûªó‹đbådƯVå•âäC̣b÷X₫ @ùf7\rî E₫û’̣‚îwïRéµé4ëqê ́îđƯñxơöùŸ© ñÿ-̀ñ%Ú,Ù˜₫„ơẠ̀°æêƯ†ă¥â%áÈî ơYú,̀:R} ‰ư¨÷đ\đ¾́é¨ëéƠëèë3îđ#ôô×W ‘(î#æ5.f#ÆÉđ Éøö}î.á?à/äÉ̃ÁåÓđ)ôx₫p hR**áPB ¶bVüL÷ó¨î‚́@ê¢éRèđëjêLí¶đ ô§ó ¸wO*8"h-/&":úL èùFù¾ï‚ágá·ägÜ×äYïƯï°ûŒq Nλ±- Êx₫ºúˆôIî́„èRçÅæéƯè¯ëÚîôó5óW×Å(ø#ú0 $öúÑ êû"ûáđnâ4á{ăÚẫë+́lø8ø&¤ C4ựơ;ïưëéægåäæÿåcé̉ëíñ`̣‘v ›)Ç$ç72Ú%¶_ưküđï“á³àà$Ø à~èoé¹öíicAđYRé mLÿ¢öªïëå¶âœáƒâÙâ;çméSđẸ́ÿơæ *„& 4;'ç'!F₫đüôî!áFà`̃ÂÖé̃Đå½çvơßd¤°̉Û•so₫Æá÷̣ï ëwăíà]ߴߢàääDçwị̣̂)-÷ &Æ+a ]3Å,\?"¨(ø₫5̣Çâ àỄ́Ơ°Û6ăä€đÿüú§Süf!f~4 ˆúj̣àêóá\ßÊÛ¾Û$Ưµà¥ă´ëàđ̉₫r &w/e"Ä5¶13%îµ́¦ó\âvßƯ\ÓhØ·ßqàé́úåÿ n›h!$‰!éË‘wÚûÑóèÿàzƯ¸×lÙÇÙOƯáäéçîbP ’+ .Ñ%~:1!3)b×}ñ»áñßÖÙeÑØ0ܰ̃­́ ÷ÿĐ •$#%B""Bÿn üỴê®ß;ÛØZ׺×,Ư‡ßĂè¢îµ€fß.+g)=¬.$]+Ơ­ŸFïFâsà˜×#ÑpØ ÚùƯù́’ơ2₫ ɉ#$«"À!µj! ợ9ếâpÚù×§ØtÖhܺ̃øæ¥íđ!TØ-Ô)1*.=¬.Ç%Ü,Gđ̀ă\á.×0ÑÅ×pظÜ9ë_ó¶ü‚ #¤+#đ#ø"`#7Ÿ Øwôǻ̀â¾Ú#ÙƯÖùƠAÛù܃ähíƯ6®É.Å$'0e=Ú*D+¡,& RíNåàÍÓ,̉4×÷Ơ)̃²ëûñæ₫m z6k$=#÷"e#°, 7¦ơ íZä̃ÛöØó׈ÖGÛMƯíăüí\o¶´,å#0y;,*Ä+8+ ¢ RaíƠå"àBÔ³̉~×·Öß@́ẹ̈«ÿó ºi§#?"c"® ¹ßˆ p”ơ;îCçÂỮÛ“ÚYØZƯAßXă©íåÄÅ*k º-ö9U'k*¶*ô{ E‘íøæÏá‡ƠcÔÙ$ØĂà̃íô\“< "1 ˜iƒÆPˆ₫÷Kñ¨ê<æUåóá¿ă`åÊæ)ëGï"̣U? † V#Óu/#F¿"vĐƒø̣»çÈètßưÙÚáöá¢ä1̣¥øü₫í åoæ¦T×\ÖhÂư¨ô„ñï₫é́ăíñ́Ṿơö‚ûf₫Y₫¸˜Ç Ø ³ï —tË ; pû·ûÔù ï_î÷ï6ế–̣Ṭø®£dRkå- £Oư?ù*ôQđhï¹îµđôư÷rưœ¬R ½ Ÿ f m GqÛûƠ÷üñ^ñ7ê}óîú:đo d Ü=u% $ËÁ#Nư½óúóđ•é+ïùñ/ñ»úA`< Üa .y©ơ;Íú+÷Æôÿñ°ñ"ôóơ¤ùÿºóÈ   ^ ¢ `ư—₫ü5øÖôô…ó›ódöèø­ûÿªè‰ô§çÓ¼8…­’]ú₫U)₫VüưJü¡ûøü₫₫$̉Ù^Ç£Pÿåư†üăú4úÛù$úÀú"üÖư]ÿ¨ <-¦Œ¾ÿ:₫-ư­ühü±ü¸ừ₫©ÿ˜X"ê‚ đßÿđ₫X₫"₫uÿÿEu Pÿÿ½ư8üû¾ú‹ù.ù‡ù’ø©øµÿV́o b÷à PíMø÷Ûö‰óïó±ùú üËï&Ä qEè.₫œû$ú„øzø¼ú#üP₫è_‰³¹ư³?ÿñü£ûñú”ú_ûeưFÿH˜ưp=Xuz₫‡ü•ûÆúûÆü₫€Ó<‘“Æÿ₫ˆüÈû±û6üxưÿ¼7&˜6B Sÿ₫üüAünüØüăưmÿÅ #›~üÂtÿz₫°ưXư~ưôư®₫…ÿBè+!j´ÿDÿsÿµÿäQ¾ồE‡^ÿ‰₫ưÜü·üÑüpưp₫‘ÿẴ™/îû<·q¸°ÿN₫ ÿÅư°ư¤ưëưQư<₫îư7₫ư ÿ\ûÙú˜ ùưº ¿µ“á/ư₫ư”÷üøä₫úêươö]úÅJÿÄ=₫,ưa”ÿùÿ“¬²§×äo₫̀ưÛüzû"üưôưÆÿ €”¸07ÿ5₫u₫¢₫ÿÏ×\ Á`ÿ<₫ưÁư₫ư¤₫Ëÿ̃–Ơ¸O?¼ÿ‰₫²₫ç₫¨₫nÿ¹ÿ 7măÿÙÿ€ÿ<ÿ.ÿoÿ”ÿñÿ‚œÑƯœÏÿSÿÿ̃₫ÿ8ÿÿnÓ¤o5Øÿ¸ÿ¢ÿÇÿ÷ÿOắÚ»Høÿ±ÿ[ÿ(ÿ>ÿTÿÿÚÿíÿA)0îÿóÿ9o„,éÿÿ"ÿÑ₫°₫Ô₫å₫:ÿƯÿ&–úÚo)ûÿéÿŸÿ²ÿ’ÿ€ÿ–ÿ~ÿ™ÿÀÿ¸ÿöÿ:,nx—7+̣ÿÆÿ´ÿ¦ÿ®ÿ˜ÿ½ÿºÿ¬ÿÜÿ½ÿÈÿèÿÔÿüÿ+Q[kw^B/ùÿƠÿÀÿµÿºÿÂÿàÿơÿëÿ̉ÿƯÿÚÿÛÿ÷ÿ 1FGKT$ƯÿÆÿ×ÿÔÿÙÿëÿøÿ üỵ̈ÿÛÿƯÿ̃ÿ̃ÿûÿ0\[qf;0Ëÿ±ÿ›ÿÿ¨ÿ·ÿƠÿ×ÿàÿæÿÉÿæÿùÿîÿ!?LgrkV0Ûÿ¿ÿ ÿ±ÿ·ÿ¦ÿ¸ÿÏÿäÿæÿ('NVYlkmV;,úÿƯÿºÿœÿÿÿœÿÿÿ³ÿÂÿËÿñÿ-4FKMAF4.)üÿÜÿÔÿ¦ÿiÿrÿ“ÿ©ÿ¿ÿFc†’…q]5Ơÿºÿ·ÿ¤ÿ™ÿ™ÿ„ÿÿÉÿØÿúÿ/FN\^L4 đÿâÿ÷ÿàÿçÿêÿâÿïÿéÿƠÿ»ÿ»ÿÊÿ×ÿưÿ@Vy‹xV3äÿÅÿ¥ÿÿŒÿ­ÿ·ÿ±ÿ¿ÿëÿ÷ÿ(BFUfxOGH÷ÿĐÿ̀ÿ²ÿÇÿÇÿ·ÿâÿ·ÿ,ËèúÿyưưÄư¦ưG₫Åÿ0ùÿ4ÿ/ư¦ú|÷íđ>đÈÿ˜æ PYùx₫åö¡íí{ö&üͬ fö Íå€ù+ñQđ?ôn÷‡₫  Đ À ¾øÿÛø:öWơ«öQû£1 j́Ú₫ưú¯ùuøyø°ûn N û } téüï÷ ơúówöƯûïÿ₫`6Ûüé÷{̣‹íóÔØ Æ-q³ j`÷²î‰ïôæ÷¼™§ « ª—¿øẸ́ÿñ)ó)øí₫ơâîx` ¢ÿèö{ñđXñỆ•ơwö@óẈkđĂïöóüî(ăÿ%B3 ư₫—́ăă‡́‰üÿ–â›ûƯöïûéïøbư/c²V*ïù̉ú£ûOûÊúyü‹ú̉ø ơdóñíùëí&đ^öC«3'&×(÷ Eô±đôëçïüâ Óó ñöđĺzëÙñ‚ưXÿ âƠ₫äUü2ơsñṇ̃ÇñđuíÎëlêIîXñú¾Ç+4|#|- ˜ơöï¶ë¶ë–öK£ä d R_üịïîîIïÔøâ0’UµO¤œưÀóÀđîlëMí=ïûđïtđñđ́ñvüc^&C2«!Z,"M$ûẸ½đ‡îö¼[9 ¢vư ó©đđœï øßæ —6¬ư.̣îë^êíúóJơóäóöọ́ÎøOümß2Æ&E%)Oơ÷ơẸ́&îGïüz`s'ưoùèñ“ñEđ©ôü© ¤xR úú–ñí!ê˜êØíöŸ÷ÇôÓöô,ódö«ü‚#«2ư!Ó(…"" Tú2̣°ñ îỆBCT±vâ₫?ớñññỆø< _HĂ^ ^ú!ơ÷ívëíĂî8ơù«ô`ô«̣=ó'ö‹ú”₫…4­*å!â(;Ùưåó=ñ+ïđîụ̂a…p0ÿøöđ,ñṇ̃üöU₫º¶5%l:ÿ4öîZîŒđŸïñøUö€ñ]óñờö¥ù÷_W$4,"O#Â]È÷¿ñ ñsñ(öåM@l¯ûđôÆñ‰ó¤÷ÅüBˆOM ²Ư₫;÷âđ4ñ/óóÛñ öBö<đæđô÷|øâ'&5'$»'!k ùjóüñỤ́ơºÿçaw¨ÿküö­ñËó:ö}ürJ ¢VB5<ú'ó.đf̣ơ:̣|̣ø¯̣%đ„óơ+ú ÿŒ¿ Ä-v.œ úï/ơÂñ³óˆơñø"§Ol%₫Åúç̣ÊñơLúÿ—“ Œ_âư‰ùóđUótộ<ó2÷̣ đ#ô÷÷ºù9ÿ`Ș/¨*Æ>)(₫Kô†̣Mơ{÷‰ûM €£ÿ"ưXú ô…̣÷́ú\ÿ4 q ̣ +öø2öœñỵ"ôOọ́̀°ơ•̣ ï(̣₫ö;ú¹ưç( Â(&.I} OÚö®ñœôÊ÷;úƠ—Ö®_ư³ûÏ÷róHô¯ù₫¶|< °  äNúúöƠó2óaó´ó©đ%̣ó¯đ§ñĐ÷ˆú@ÿ’oó.Ù'“Ü0‹ô­̣ñöù¤ùI÷adÿ¡ưµúöÿóßôđúu₫4¥û(» ÷ ¾ÿ úŒö¾óṇ̣̃=ï´̣‚ôẸ̀rôĐùư=Íöd.M½c 9úôWôá÷´÷éúä¡+»₫Ûưúơ4̣<÷ưf₫ÀĐV 2É Œ ́îÿ¿ú₫÷ơ¨̣©̣óƒïcï¬ôó€̣×ù«₫BO´+¹́̉± ¶ü&ö‰ôÔ÷àøûb́₫₫`û/ö ô øwü–ưzhÁq¨ ư ÿ™ÿkưùøëô¢̣>̣¤đóíÛïÜôXôöZüy<# Ö"h#rb 5ü9÷öø‹÷úoj@₫Ú₫»ÿÙú«öäö°úÀüúü )©B»¯ ïđ₫đø³ô'óñâï:î)ïèơåơöơûÿܨ#bÛ{ \₫ZùÅô²ôXô öü&¸₫7ưư!úơøUú­úÜûùÿ ªöD i cÓÿtúaơ°̣ đúî¬ï+ï óíößơ°ù·ư¶ˆ4$hußÄz!ưÁöṇ0̣óø¿üÖü‹ÿªbưVưôü[üÂüñ₫…úŸrèäÇøv₫.úRợ đ¥ïßđ›đ¢ó÷~÷hú ÿÎÔiG ?WƯÔ D7÷Êṇ̃‰ñ̃ó8øSùœư9ØßÇí<²!Q èªD2[@ÿáưwøPô§̣̣‹ñ#̣°ôK÷aø’ù)ÿlq:NĐÊwo›û ô2ơÚđûîÍóÁô‘÷ñư3ÿ3¸so£e0₫Å₫µưz₫Ïÿlÿ$₫W₫üsùrø½÷«ö°ö¬÷Æøhùkú<ưÿH l AuT< Ăuưæü•ü[ơô;öÇójơ„ø-ù‰üĂ^Óh]E…t «ÿ~₫±ư,ühûzûAú|ùúÄúÈúvüÎư€₫Äÿ́ÿDꟃnZaê_6&[\ư-ÿTưüưåûûyüóûûûQ₫8ÿMÿù‡p£·{Öà.Ïÿÿ®₫&ÿâ₫2₫G₫‡₫N₫•₫ô₫8ÿ„ÿÿ₫@ÿHÿ₫[₫Ư₫J₫üư¦₫=₫=ÿÍÿ ÿk»oE{DÄưå=ç|DéÿrÿË₫†₫ä₫Û₫8ÿ¢ÿưÿ !ưÿưÿ!ÿÿ8ơÿXÿ+ÿÚ₫d₫₫₫ïưưvưưOư?ưƒưßư ₫x₫ÿ´ÿMvåCV‘È˳¦dEø£~% •PA´ÿ²ÿ®ÿƒÿmÿ[ÿ.ÿ ÿ̉₫Œ₫?₫Ëư£ư…ư@ư7ư”ưÁưïưa₫Ç₫ÿ[ÿŒÿ±ÿíÿ₫ÿ*}›²ơ!DLr¤§’qâé̃ç%E`]&Ój¡ÿ&ÿƠ₫Ï₫œ₫O₫7₫P₫?₫/₫d₫“₫Ç₫ÿiÿ”ÿÁÿƠÿÎÿÉÿ¨ÿmÿ6ÿ.ÿ ÿIÿœÿáÿ$s¨àÿüÚöúƠ͇kBôÿ OPz|d<éÿÔÿêÿ =RE)ëÿuÿvÿGÿÿ ÿè₫Û₫½₫Đ₫å₫.ÿÿUÿ~ÿïÿåÿHJ¦l¤\YÍÿ ÈUư«üU?ÿ₫ÙO_ˆ¸₫ăư?ÿ»¬.ÿc₫pcÇÿ¯öíoư>ûÔ₫ËÊú†ü`ÿÉû˜ư- ]ưxÿ.÷ÿ,ÿSP~ÿJW{}+|Óÿºÿg«2øÿW*(‚7Ùÿ}“c•[ʵôÿ7utU²ÿàÿbüÿaÿŒÿÿÿ£ÿ3ÿJÿÂÿTÿÿ_ÿÿÿ­ÿÑÿ\IDÿ¼́‰ .+²ÿSÿÿË₫Xû™ưÓÿo­₫ô₫®4"ÍD̀•8Y(’ÿ¢0\ÿî₫?“ÿó₫YÿXâưø₫Ó¬ÿÿĂ³[ÿ₫œÿs3ÿ¬₫ºÿ×Âÿfư}‚fÿÿçÿ·ÿưOÑÿÿy|W <ỵ̈‰ÉÿÆÿ¡ÿÉÿâÉ—₫Á“„Xÿ¶₫Åÿ¾™¢ưº₫ m—ưYưaƯ64ưEưŒ*ÿáư×₫L“6ÿ ư*Mvÿq₫ÿ)Ïÿ£üäÿüÔñ₫bưÿ»ư!ÿ¥ºÚÿ ư(ÿi%ÿ́₫ûÿ¤2ÿ0ÿ§ÿ«ÿÿÿ·ÿ­₫ÿ3ÿœ.€ü{Ê…¿₫₫£_c`ưÄqÿl–₫'ÿ=|ÿÿ¶ÿêÿ_Îÿưüfâ₫n₫Sƒ¶4₫&₫¡1ưÈưÙÿùî*)ÿG₫,ö@ư¬ä₫ôƒÿÿÿ$ÿ̀Áÿ®®ÿ­'Äÿ₫A Tÿ́₫á¿ÿc§ÿgÿ8ÿ™PlÿEÏ-₫°ÿôk†₫mà~z₫—ÿăMÿ—ÿBÿ'ƲÿèÿJ½ÿôÿl@ÿ·‘Ăÿ«ÿW₫¡ÿÎÿá₫gÿ3½~đÿ»₫«ĂF‚₫÷ÿ[,€Æ₫Ưÿ1ÿ§Eüÿÿ4^[ $₫B"9Aÿÿ˜ÿ£‹ÿ–ÿ̉ÿ ƯđÿÑ₫‹ÿ đ}ÿÿ0I½₫©ÿjÿAXLÿ9ÿØ|ÿñä₫Ă‚hÿ´ƒÿMÿ—9<;ÿöÿveÿ¹ˆÿNÿ?Xvÿƒÿ\íUÿÛÿœÿƯÿŒÇÿ’ÿÚÿ*QÿÿQÿ×Ëÿ~Àÿ]ÿ%Ç₫{<¨ÿ)&_…¼ÿÿ:ñÿưÿ}ÿ¨ÿZÿÿŸÿ×\KKÿPüÿ₫ÿOƯÿ÷ÿ’ÿù;ÿÿN|.[ÿ ÿEéÜÿ ÉÿưèÿưÿAÿ‚ÿéÿø]ÿÔ₫rÊô₫ÿ£ÿ·_vÿwÿ9Çiÿ›₫—\B¼ÿç₫¡-8.ÿLÿ ơgÿhÿøÿŒÈ—ÿMÿùÿv\ÿ>Uÿ4Z₫Ö¨ÿfØ₫ µBMÿhÿ@ÎÿÿÛÿ0«ÿñ₫Í?¬ÿpÿ?ÿ)ă¸₫#₫áÎgÿ³ÿzÿ…²₫¤ÿH!Îo₫̉¬ÿ1₫V<=Üÿø₫•Í₫ ÿ HÅ₫å₫±Kÿ7₫ÈÿW¬u₫ˆÿŸ₫ÛP›ư”ÿ́ÿÙÿ̉ÿ;q¶ÿOÿI]₫Ÿÿ‰Hÿ ÿ₫₫öÿ‚ÿï₫‚a¹₫R=ÿ³ÿ5"F|ÿ2!¡ÿ'9@ÿøÿ( °ÿ¬ÿÏÿRlƯÿ—ÿ™ÿ!H-æÿ̀ÿüÿơÿåÿöÿöÿ̉ÿ₫ÿƯÿƠÿïÿ$øÿéÿáÿïÿÿÿïÿÿÿéÿúÿéÿÚÿđÿ éÿÿÿ₫ÿ øÿ đÿûÿúÿ ùÿ  øÿöÿưÿúÿïÿơÿÜÿíÿ)Bèÿ°ÿ̃ÿ?O ½ÿËÿ9$̉ÿ¿ÿøÿ. øÿÚÿïÿ$Ưÿæÿưÿöÿåÿ íÿéÿÚÿ÷ÿëÿơÿûÿưÿïÿưÿûÿơÿöÿ₫ÿùÿơÿ ₫ÿ÷ÿüÿơÿÿÿưÿüÿÿÿÿÿ÷ÿûÿÿÿûÿÿÿúÿ₫ÿüÿüÿöÿ ûÿÿÿüÿÿÿÿÿÿÿ₫ÿûÿ₫ÿúÿưÿ₫ÿ₫ÿúÿ₫ÿ÷ÿ÷ÿ ÿÿúÿÿÿ₫ÿüÿúÿưÿüÿúÿüÿÿÿúÿ ÿÿûÿúÿ÷ÿơÿ₫ÿûÿúÿưÿüÿÿÿưÿ₫ÿ₫ÿÿÿ₫ÿûÿüÿúÿøÿÿÿÿÿùÿÿÿÿÿüÿùÿùÿưÿÿÿưÿøÿ₫ÿÿÿ ₫ÿ ưÿ₫ÿ₫ÿøÿúÿùÿöÿúÿúÿúÿûÿøÿøÿøÿơÿùÿüÿưÿÿÿ ûÿüÿúÿùÿÿÿüÿ  ₫ÿôÿÿỵ̈ÿùÿïÿúÿüÿüÿüÿóỵ̈ÿïÿúÿûÿưÿ₫ÿöÿ₫ÿ ùÿ₫ÿøÿ÷ÿüÿơÿùÿùÿ₫ÿ    ưÿ#ùÿêÿáÿëÿèÿíÿÿÿơÿâÿăÿ̉ÿÜÿÛÿêÿúÿ ÿỵ̈ÿ₫ÿùÿưÿ+ úÿ æÿùÿ̉ÿüÿ#,ßÿ ÜÿÍÿ 8<BfĐÿ›¤©€ûÄơPÿ“úü.‚ÿüb;ÆưªîÿÿâÄÿ†}ÿÑÿ́ÿ¸₫!ª°Íú¼öÓ„Îóiü™Đ’ûjüùö[›ù0ẉ₫œÿ˜Đÿÿú)ÿQÿœÿlÿ|̃»ư qÿ|ÿ₫ƒÿ"₫¡m ₫!ÿ­üÿÑÿ÷ÿRÿ!éÿè₫zÿ¥é₫ÿéÿç₫[«₫¨ÜÿQ÷Eÿpư>ÿ ỵ̈ư;;₫X₫ơ˜ÿ>ÿa₫ÿn¦&ÿtJ₫hÿ©½kÿüæưÑ₫©₫bƒÿ;cÿÇ̀¹¸ÿ &vÿÿoˆF₫À±ÿœ₫ï₫ q₫;ÿˆyÿ1ÉÿYOÿÀÿ³!ÿ;U@ÿ*fÿÚÿt¤ßÿ«ekaÿ\]ÿlÿ©“ÿ©ÿƯÅÿ@Ípÿ¾¢$ÿ1AÿÿÄ₫/ÿ«₫dÿ₫ç₫ù₫.ư™₫́ÿ(₫ïưD7₫úüâưÿU₫°₫‡²cQ•¥œ«?£ & \€äûÿưqübùÁöM÷nơêóEơơHôø²øªö[ú”ü¨úüüÿs₫Œÿ– AÔA P!÷$mm̀¨ ´ÿ̃ù9ơÊñï~îTí:íđñÚđ™ơ ùÓö’÷búÆø•ø£ú ûCûƒ₫́ÿÊåô ÜÀƯB!º"*'­. —µ₫8ơ¯îuîâë@ê0í‚ï đRôt÷¾øùøûºû®÷˜÷Zø¥ôSó÷£÷ø̀ư‹Å̀?¨'Ù)!C‰ ^.ûỤ̈Äê»ç–å¿åẹ́́Oñ÷ºûÿ›đÿúx÷gôđđ%ñæñölü}₫ Ë §*# 3Ơ+0 ˆ!đƯIưÓơëâLááâ˜âµåÜï/ơ§ù„‘ó/)ûfơóï’ë,íÎîŒñkù,ư ¢ Ñj+6ơ($ù#sqưặœéeà–ƯráTàăâAï^ơ₫ù†’ à  êz¬ÿ×öỴˆïáêÅèoëhíụ̀Zö} ±Å‡%U6n.^'­*•×R­úTï¸äBßS̃qƯÙƯöåî*ô®ư–\ ·áK ́›àøợíÄè·æcç çîỴ̈ ÿwáƠ1ä1D+•.'ª¿LFø"́âVàW̃ïØñ|æQë£ôîÿ=¯B+@K •₫<öîRê!çÄååæ´èÚîbôÄư}'*&'À"ư »ÿÿø”ï›ç¤å¨ăTâƒăGéùï0öpü~} £ ÷ ¢ n Íÿüû„÷ö÷ơlơøơøÄùôüŸÿQ*¹0 Î ˜ á · <û@,ë₫æừüOü‡üÊüœưÀ₫“ÿ|¡A:E˜äéÿ0ÿÀ₫¾ưåüŒüơû\û-ûÓúúkúúÜùºùÂù#úJú¤úÂûÖü₫ßÿϱӥ Ơ ư •  *  øn¦ Cÿ`₫₫Åư§ưƯư9₫H₫D₫6₫ßươü˜û&ú~ø¸ößô?ó/̣£ñ~ñûñUó\ơøNû¡₫ªÏI j -ă§ è *R~ơÿÿy₫G₫­ưư§üđû+û°úöùùˆøÚ÷!÷¸ölö(ö'ö`öºö@÷ç÷Ơø,úªû»üËưxÿJ(Ÿ"H U kÿ Ô BU‡êÿdư•ûuú’ù>ù£ù`ú‡ûÜüÁưT₫•₫/₫(ưÆû^ú®øÆö/ơÜóœ̣àṇ̃Ộyôºöpùaǜÿ¡+ ( ôœ•ûyG î j³5O₫ưEüüzü3ưƯư£₫Ÿÿ¤:Fí₫hüRúLøLöô7óṃĂñgñëñựô¼öFùÛûÉ₫";́„ ̃ M°¡ä· = f ˜5%™ÿ†₫ïưâư<₫¥₫NÿJ9Ơî~xÅ₫‡üú‡÷ơÇ̣ÜđdïVîƠíWî÷ï.̣ơrøóû®ÿÙ—® ® æ0̀³ ¡¥ ¾ } é¡ÚöÿRÿÿbÿÿèÿ[Ê!ƯÿÿÖ₫ưÊúkøöùọ́¤đ½ï6ïïî€ïÙđ¹̣tơƒøû¢₫Aâ ̉ Œ‡…  c÷(3 Ú wüÿœ₫„ươüưưkư*₫÷₫’ÿÿ!ÿ:₫Ăü¿ú•øöŒôµ̣Fñ3đrïmï đ¢ñô÷gúÙưô¡¡ BlÎX ˜< ̃ ØK .ÿ>₫©ưRư­ư;₫́₫Öÿ›+0u=ÿưXûùø¢ölôỴ̈4ñTđèïđ/ñẸ̈ ơ¸÷’ú~ứE$ '  ‘:F² g Ê !EfúF”ÿÿù₫ÿÿ̉ÿ÷ÿ ÿ¦₫!ư}û›ù³÷²ơîó¯̣…ñđ?đÖđ̣Çóäơ{ø6ûªư/¾KÆ J Ơnt ‘ ] 3Đu{£ÿÓ₫R₫?₫Iÿ-đÉÓ:æư?ÿü0öáô·î©́Ś(íû́]ëtí`đŒ̣5ơù%üóË 1 S¨#Ù»yeS b  87ÿwÿMÑeỨîûñúö»ñŒîÙë5êFè èïèóç–éëoï6ôËù₫`÷UôÁ%! ÀËr ~+ w»µÿ¾ûíưÑû'úZú̉úKü¢øÓơ ÷lñâí́eé0çXçÍè‰ègé́ñđ/ô ü^ÿ¥!”í&¢+-$Ápc °E 3Fq«i]ú¥ú®ú·öºö¸÷ˆùơú öŒ÷¨ôî/́7é4æ"äeçXèxè¸êwïFô‚ü1₫vî$œ3/¯*£#-̃óÉ3 ²₫RêÑf÷’ú>÷%ô‰÷áơĂûƒüú¦û{ộ«ê~ç‰ạ̊áÛæTéè™î™ïpúkû†,W%0l$‰Ø­ €₫ lîPN|Kúpơ;ùƠñSôùùFùưÿvưø̣nñvé9å7äCâLëÄé¥́óó±ưs%~&y0£$ê‹ï  Sÿ‘ ùä5zâû¦̣ơ´̣¨ñåøïûĐAÖÈøßñ@î³æ̣æăÂè!đQë ̣”ôúÛ₫@"ư(êC*×#Éj °„ î& û?uÏ₫xúKđ]ñ‰ṇ̃̃¨øx₫<–,¹ù5ñÉ́‚ẹ̀éaæ©èúđeđ$ïƒ÷‘÷" Đ, "'Α0 ÇØ  ơz×üưSó7ï7ñÈđ¯÷øüF…½"₫æộïéê…ê ç›êTóî•ơËóL Y3¬¾!å&È (ÿY Ừ‹ À“ú‡û†ïIîqóúñ×úơÿ9R ;úzô”îëZëf́ØåTê»đ/ị̂́ú÷Å,“,µ›$Ê ưqä —ü ©• $Dü³÷zôëêxñŒ÷öø¢ Îaü¨ù4ôît́ªê¸ï~éç¡ïQïYđºü!,é'9ä >̉ú^RZ ÏW‘ûk÷Ùô-î´ôú­ư”g-ÅùøöḤ˜đ€́ăë_́Ïäqæ"ï*đ–₫ª)y&!Ø øBEˆMöùÍøvöf̣¶ø°ùÿßùspÿPúöññẠîóëøéââKçíï(öƒ*Ú™ °ư§ö û 1F§Ôÿ ÿWø£ùÖùÎùÈø]DHgŒû₫ö‰ôóđĐë.éăÅè[ïU₫Â%#ϧ±÷øñ0ưR g0ç±q /₫‡û̀!ü‡ûăh’₫QÿT₫ÆöŒơLôñ ́óä ăïê¬́ø")P¸® 5₫̣pïàưƠ aE^ qz₫X}ư ÿiçNÉøemü!÷/ô§̣›́Iäeấ¸í· ¤'l‡—ø}îˆ́§üP ¡Qu j₫üû±û%ư&¡Ưin.YÿÎø†ôEïbéQäüí¿ï>{&øPù‹íéâơˆơÊ † B}ùAüư^údư•ù©NU—ÿ®ø_̣ëlé©đlñY8*>Ç% ̣øûëLè+öîœc‡$ ÿÓö·ø¨ơÆ÷'û÷ÿyE×¹Öü†ôŒ́đẹ́̉ï² )ßJË ̣AêGọ́üS¿ ¿ ưÅù´øơ¼ôhúưW±ÿ#₫öfïµêÆñï­^$˜%Pă û1đơ‹ưD_ T ôûÁù½ö»̣1÷”ú„₫ƒÿÿ₫^üơ:ëđĐôôêÚ×+ Ÿ¯ơẹ́-û©₫O{ cäû;ú€ö(ø½úơüÂ₫8üøáó±ẹ̈˜̣Süé8'W KÿñơF÷ư#₫–Ï Đ†Ưư%û;ù÷ï÷+øWüOÿ¤úœøỘôvö*÷û₫Ÿ®¯ Á‘ùböû•₫joóªÿMúúêøå÷¸÷¥÷pø̀ôƯđ̃ôùú}ơÜÙ8B ₫Ëú₫}<ÉßAÿÇúmùùö]÷…÷²ơfô4ñ!îĐó`úAö¿@ˆi ́ÿ7øRư₫NQ‚0ûçûjùß÷:øJöô;đ+đCøù¤û́%q¥‰wựûa₫‡ÿĐÉÁ»ư8ûưùñøùK÷hôyï đªôØ÷fúƠ q >ö g$ÿÏ₫(ÿ̃ÿèÿ(„ÿ¯û)ù÷ÛơYơG̣½ïỰ­ơ#øFú{’Áé2H Ơwă¨g ‘₫₫ûú`øU÷höf̣&̣±ôŒöbøÄưƠ ̉ ;'Ü < ù"ü}y₫₫Üûù"ù>÷ÂơÚó°óDöüöÛùÅüæèh  <Î & ^ ÊED³₫ÿ4₫ü ú/ùú÷‘öÁơÇơq÷Ưùû·üÑ₫½`̀¬ Ư•H79ÿrươûƠû$û‰ù)ù“úŸú”ú"ử₫ÿÿ¬axgäO»%–˜¿Áÿ‚₫¢ư;ưÆü ü[ü.ư₫U₫tÿ=g¿˜Í³„cW‘ZBêdQƠÿ{ÿqÿFÿÿ÷₫;ÿjÿPÿàÿ;ôÿ´ÿ¥ÿfÿö₫ÿœÿáÿ¡2 #³rSG%W)Úÿ¸ÿqÿ,ÿ̉₫₫ˆ₫j₫i₫î₫ÿàÿIƯNúç¶ĂêØqíÿuÿ@ÿ!ÿ"ÿö₫÷₫ă₫¹₫Ù₫ù₫cÿöÿLÔL+ ½{24NËÿsÿNÿÿÿ$ÿOÿ’ÿÆÿêÿ́ÿøÿ#Yy´øèñ‚%! íÿÖÿÀÿlÿ#ÿơ₫ÿ-ÿ?ÿ‚ÿ²ÿƯÿ'Na:RhZÙđü©9ËÿƒÿPÿ=ÿ5ÿPÿtÿ™ÿ’ÿÿ°ÿ¤ÿ¼ÿïÿ )3+45wÊÜ¢Z ·ÿ‡ÿBÿ.ÿ[ÿ¬ÿÄÿ×ÿîÿßÿơÿçÿäÿ$!Ek‰|wMºÿÔÿÿ~ÿÿ€ÿ|ÿÿzÿ¶ÿ̃ÿ!SP@ ñÿCtï ç|.₫=₫$:ÿw₫=ÿ7kÿYÿ|RƠÿ.ÿÿ#"H€b^aN %ƯÿêÿÅÿÊÿÛÿ³ÿ±ÿ½ÿwÿÿyÿÆÿ.\êÿ30AA`]:’ÿ±ÿAÿ©ÿrÿ›ÿ×ÿÓÿüÿ·đÿ{ ĐÿÏÿàV́ÿÿ‡ Qü(₫¶ÿđưk¸₫Fÿjk=ÿc£dÿà[$ cWúzÿ₫ưùû•øÄü…ÿ"ÿ¯̃!ÿÿÿ¸ÿîÿ;̣ÿ̉—¡³ư¤ưïơÿƯ₫8VÍÿJ₫;U½₫?´ ›ÿ±ÿä₫ńø₫˜₫|Øÿ^ÿlÿªÿ‚ÿ»ÿ”ÿS}?·p₫<₫ô₫A₫»ÿÉư¸ÿWÿä₫cnđÿßÿ}³¦ùÖÿÔÁ₫2K₫9ÿàÿ•ÿ–®ü°]ÿüưÔÿ´₫̀ Dÿ‚ư}Ï₫)1-ÿ*ÿ$)ưLÿ:ÿ¶ÿëưÊÿx₫=ÿ\f[₫œŒÿơ ÿưÀÍú/ÿk!ú ÿºÎùĂÿg₫Åư6¸ºù»̃ÿœÿüú?*îûŸÿtÎü|ÿ ÂQư[ÿÉx₫Uë<₫ ÿ±ÿrư¢®–ưû|TÑøưÿùÑ ưƯöæh₫¥ó₫ ₫ÖOúïÎøqVö« ½ùÊWúÂ"ÿƠÿWư…Rù«ºưâúAƠû‡÷™«ù—‘úŸlùó €ơßêUù ;ÿ ØüoÿTÙøÎùîöø•ôưƯE›9úIøơæơ›êúl¹ÿ4₫ŸLù½»₫DÿºC₫›~û"₫ư´úGEüYÿÿp₫6¶ÿ®®₫ úÛư9₫ÿ@·üÔ8ú…Ïơ₫ü`#₫=ƒưæDÿ₫₫¿ÚÿKû(0üaxøa6ÿ ₫aÿ™nûªûuwø•£üÿœ'ÿ‡ú¤½ĐüùƉú;ÿ5.úz₫@’ư"üƯI₫ëüm7(ơ«·ÿÖ ú€ư¹;̉÷³‚ÿÁ~ú/Fü·pô₫ åúµüwVú)¾öÑ=ưÁlû7ûvh+ửÿ`ÿ¢ÿE¿¾₫F/Üùhº₫0‚₫ĐN$úƠ‚ûYB÷M ôú e„4ùU ư¦Ưư2Äóê tư:₫}ÿ;,øH+ưÿ\ÿê₫×ù>û%ûScøßû’ưj÷Ï‚øüù/Íø±dü_ׄû™.ü<Nÿ¹Dư~Pư ØưIï÷̃füu·ù:p₫%ưØ̣&ú¬ôâûÄC™^ü]₫ÿ̉́üܲJưùÈøôqøHvù‚VüdùO[”ưètͲü×ô–ư¢éûx®₫¼·ú˜ù̀øü†úPưfüúÿÉư#¾üư¢àưIĐôX ”øaÖú%ü^\÷û8ú¼coưç;₫ëi₫ͤÿˆư´<üÉú/ƠúÅjÿ‡ÿ?ÿ]ÿJ5üv6úÜú˜8Pÿ<ÿPà́ûöoùüh0û<Döù ÀöÚl†₫2ûzĐÿ‘ÿ)ÿ˜hÿDÿUÿẠû$”₫-₫Œ ₫|ú/Iÿ¹₫yMư7̃ú·₫·ñüùơüº:¢û÷6₫¯ă÷-₫€ưE’úµ ưó@‘üÇuû°œûßFùgú«ü tÚư»Y ưÓ³₫Û ü×ÿăS̃ụ̈*úxuơIưÿ½,ü ‚ÿưÁú.ư·₫ \ÿưä¬ư¤₫àÿô~cûù^ÿAºü´Düü Çü #ư ê₫[dư aưI₫ ₫D¦₫¾ÿ qư×"ÿưºÿ°ÿʸưqU–hü™Lÿ}‚₫3Íưóy₫wü/ÿ~übÔư‹ûJ*ûÂüƯ0ÿÑßưÙưáưBpÿföû7‡ü¥£₫óMûÛÛHqHü–üÑgüü£ÿLÿüPÿhüWªû́₫̀ưní₫ØDûàQú›Ôüa4ù×sùëû*¤ÿ4̉üIœû°¤÷Ëú£(Å‹@ÿr₫:₫Óÿw₫₫Pÿ„§ÿÂ₫ •ÿ;ÏÎư/₫·Aư]₫H©yûv~₫–ÿ×ü;bÿÍư„!ÿm₫ŒÿĂÿ`ÿ•ÿ¤ÎưÜưÛ“₫Ûÿ¡ß̀ÿ(aQư’1ÿ5‰ư<Ơqÿåư|.₫\°₫¿O₫¿ÿl—ưIưĂưàüûư ₫ư°₫Éüiưư&†ÿÖ₫˜xN®‘HÅ–×ï;‹M³¢ÿëưØüÎû_û̀ù€ù‚ú{øsú;ư øưgûNÿPùÄÿ`ÿC₫ç₫éNÔÿº + ê 2 û ù ) -°ÿ _Ă=ü§ûÛøùVôơö¼ôơßö¨ơS÷nö‹÷¨÷ù»ù&ûù¹ô₫qÈz ÿ " rb º± w^€"Ï`£%Ư₫ÿ™üơúsùßø6÷röôNơ™óVó̀đ?̣%̣̣ó‰̣ÇơLù_ú¨₫Ńö ụ́ĂêÀß ’ û A@Â₫(ÿĐŒ₫”—ÿ0ÿÄư₫ûÀøh÷[ôÀóÄï$đ¥îÅíÖîïï¶đạ̀$ôú}úä  \·dä‰ÀŒrç  ,…R9£ư¤ư,ư«ÿú₫ưÜÿ¤ưæûäøơỤ́+đLîĹù́̉ëñëíœîVị̈̉óÀø¡ự–ÁêW^q;vÈO ‘“U{₫ªưzưèüÍüÿcÿ¥ÿy¦₫ üuù(öó#đÙí́ë%íë×́ ïnîđø̣èöÊû¨ÿI oÊJ &Nú䌡äóñÿ³₫$ÿ©₫ưÄưK₫₫ ₫Îư ₫Æü·ø;÷ˆơÁñ;ïßî1íǽ&îÄíCï(ï̀đœó&ô›ùà₫_‘!zû&_7_/ø‹£§‰ÿ¨Ú₫MưÈ₫Êû™ûüæûưÊûæúûM÷wôó+ñ́ï"îüị̈ï ṇ̃ˆó ôüö ưÿ™ûÇ4®{Tt JœäN12uo]ÿµư6ưáüü1ûsûuü ưưâü1üúQ÷ơvó³ñ®đđḲ5̣ñạ́óÓôzơ+û¡ư5 Às\`]#EK ¢ 0Đ“ÇïÿÏ"₫|ưÛ₫³ư‰üXû üØû*ûÍü(ưKü†û:ùBøÖơcóó>óñ.óŸó˜ó3ôÂô~ööøư7v₫p`³ĐƯ è Wƒÿ®wƠfDÿCˆËư9₫ü₫áưªüUû®û'û"ùùøÉú‘û)ưüüü'ù/÷9öÀô”ô₫ọ́ơêöö'÷‹÷‹ø—ư,₫f ­ÍU ÿ\ íJÚ₫Bư¸₫}₫áÿJ₫»₫q×ÿ÷ư,ÿÔ₫®₫ïü„û–ü‰û†ù¬ùÿù¥úû₫™ÿÁư*ư—ûú̃÷vö9ö±÷øyø3ø̣ùYù%úÓưw’;¼¬ ù µ3ü£üZưÿ¼ÿ…₫ c¬Üÿ_vØÿßưvư[₫̣üPû+ûƯú±ú5úúăưU₫çü%₫₫ü(ư¶ûíù¢úÖú¾ù„ú~ù0úúÅø´üÎÿÄr œ ƒh¼ ‰1–Í₫₫'ÿˆ\äô¾¨ƒj̣ºÿ₫ÁưgưüûĐúÈúÉú úöú+ưư•ưX₫7ÿ’ÿ₫Ûưÿư‚üfû·ú-ú=úưù±ùú9üëGáC ç ă D ¸5<Öÿ°¢Óé@7Đä-P ¢ÿ;₫äưeư²ü®û(û¨ûÉûƠû¡üÉưI₫‹₫r₫̉₫̃₫t₫₫¼ư‚ưư^ü®ûeûû”úú>úâû§₫ ˜%ç EÇ´âdë:aY-c›Ñ®m̃ÿÿL₫”ưÔü=üÜû’û¡ûµûÙụ̂ûü5ümü—ü™ü—ümüüoûîúoú ú›ùLù¥ù¾úˆü±₫>Ïí0 ä ;  Ë  .j½kḌ{đl°ÆÿÓ₫çứüüNû²úFúúKúú«úÜú<ûûăûüHü|üoüü·û7û̀úUúùùúúưû₫~ưfkă´   í l ±ĂÔêî p¾_çså,Tÿ\₫fư‰ü ûÓú1úÀù›ùªùûùoúíú~ûü•üùüMưư±ư‰ư4ưÁü/ü”ûưú¬úæú¼û?ưZÿ¶ ­»I u t : ³̣đßÖuÆo ™?ÿq₫£ưÛüüiûÛú}úIúFúƒúüúûü“üưrư°ưĐưëưưưíư¼ưqư ư…üöû™û±ûOüưDÿ[xJª #MB ¢ '-E±€J¦,™ÿơ₫M₫¯ưưüü·ûtûRûYûûăû8ü—üôü>ưqư‰ư—ưư‰ư^ư!ưÆüUüÙû„û”ûü.ưÊ₫»º|ƠÉ]œ¬›cưb¡ß$ˆĂ†CăgÍeÿ®₫üưTư°üü›û1ûóúçúûiû½ûüxü·ü̉üÖüƠüÑü¹ü“üsüDüùû«û‡û½û_üyư!ÿ!Ù97Ñ'* M„·÷dú¢CÊ;–Ôÿÿ2₫kư¸ü ügûáú|ú4úú/ú…úüúvûôûnüÏüư5ư[ưyưưoưQư'ưîü¼üÇü7ư ₫Gÿß¡M­³gÏùøÔ‡Q~¨Ú$‘ %œaÿ¹₫₫pưÏü4ü ûû»ú|úsú®úû†û÷ûmüĐüư2ưPưhưdưKư2ưưÖü‘ünü˜ü!ư₫‹ÿ^6Ơ"ªåïă®?Ơ([¾Mñ˜0µ+ƒÿÊ₫ ₫Nư£üülûîú•ú_úSúzúæú†û%ü¹üBư­ựư₫₫0₫(₫üư¿ư|ư.ưàü¶üđü’ư₫ñÿœH¹Ï’LZOĂ/q­î:­>à…ŸÿÚ₫3₫ưäüCü­û2û×úªúÄúû{ûßûHü£üÛüôüưưưàü»ü”ü^ü ü÷ûü—ü~ưæ₫²G´Æ€ä"¯$lÉûRÑaúñÿAÿ‚₫½ưưNüœûÿú€ú úîùñù=úÎúpû ü¢ü ưzư¯ưÑưøư₫₫àư­ưnư&ựüưŸưˆ₫Óÿn£Ô®C“¬ s‚½çH›¨EÛeçÿXÿ¼₫₫xưÔü4üŸû"ûÆú˜ú¦úïú_ûØûOüºüư1ưGưTưTư>ư ưôü¶ünü2ü0ü„üEư{₫ñ¼H~XÛ$ º6~¨Êô9¦4̉o…÷ÿSÿ¢₫ëư9ư‘üíûTû̉újú(úúCú³úPûùûü,ư›ưèư₫<₫[₫e₫P₫₫Îưnưưæüư²ư·₫¸ZÏö̀Y¡·œXă?x¥Đgào˜&§ÿÿ€₫åưFư§üü…ûûÍúµúÚú0ûŸûü„üßüư<ưRư`ưaưUư5ưÿü³ü\üüüüQư•₫;Öa˜{ WiJơe£ÀÓí#₫–2ÅF¯ÿÿJ₫ữü=üªû&û±úUúúú)úú"û̉ûˆü1ưÁư/₫‚₫Ă₫÷₫ÿ#ÿÿÆ₫e₫ơưœư~ư¶ưS₫Nÿ”t½Ë–%y—€3¬ơ+EvÅ4½Wóÿÿÿ°₫;₫»ư0ư¤üüû7ûưú÷úû[û²ûüvüËüư_ư¡ưÍưƯửư®ưmưư¹üƒü…üßü£ưƯ₫r,ÓJaôAbRû_‡‰|u™ùƒºOÚÿTÿ¸₫₫xưßüDü°û/ûÈútú8úúúEúúû±û†ükưM₫ÿ̃ÿú[ Ă·x }Ùÿ6ÿµ₫o₫m₫°₫<ÿCbf=Ú7YCñcŸ¼̀̃R×ÿ„ÿJÿÿư₫Ù₫¦₫`₫ ₫¬ư>ưËüiü'üụ̈ûùûüZü¡ǘü:ưŒưÑư÷ưÿựưËưư9ưîü¿ü¶üíüư¡₫ÅiăûëÏ<mjJ/EŸ&Âb¢ÿ,ÿª₫"₫˜ưưiü×ûYụ̂úúaúDúBúXú…úÙúfû%ü ư ₫ÿñ¸U»Û´K¨Óßêÿÿ>₫£ư?ư$ưeư ₫ ÿO£åôÄM–eùV…¤ÁÿPÿ6ÿ/ÿ*ÿ%ÿÿé₫©₫^₫ ₫­ưIưäüŒüBü üôûüSü¶ü,ư¶ưX₫₫₫ÿ)¥ HV>²CÁÿ@ÿÇ₫_₫!₫3₫¨₫wÿ~µªcƯ&QV&¿$]s€¬ ÿLÿÿó₫Ù₫·₫†₫N₫₫×ư“ưMưưâü¶ü‘ü|ü~üüÙü>ừư₫9ÿæÿyîEw‘›”v:ă| ›ÿBÿÿ ÿ!ÿJÿ~ÿ¶ỵ̈ÿ3ä[̃V¹ûî¹€?ö§Qø™9åÿ ÿfÿ8ÿỵ̈₫Ú₫Ă₫£₫}₫M₫₫×ư™ưeư@ư(ưư ưưưư&ưTư ư₫l₫Ø₫>ÿÿ÷ÿUĂG̃wÛ050ó²]̣qêgó,Đÿyÿ!ÿÂ₫c₫₫·ưrư=ưưưưư2ưXư‰ưÀư₫ưA₫₫æ₫;ÿˆÿÎÿ0MbvŒ •…rb^bp‚•ª¼Îă₫@]w•–gL%ùÈ’VÜÿ ÿeÿ(ÿñ₫¾₫₫_₫7₫₫öưàưÏưÍưÔưëư ₫5₫f₫™₫Ô₫ÿ[ÿ¤ÿóÿAŒĐFtœ¾Úï÷ôîÙçˆjBî¾Sëÿ³ÿÿNÿÿ́₫½₫–₫z₫a₫R₫R₫U₫]₫i₫~₫›₫¶₫Ü₫ ÿ<ÿnÿŸÿÑÿ 2a°Ơéÿ́åË·±˜m]M.$ûÿ÷ÿÛÿ¼ÿƯÿµÿ°ÿ’ÿ®ÿ ÿŒÿjÿŸÿÿƒÿrÿxÿÆÿ7ÿ“ÿAÿˆÿ7ÿ&ÿiÿ`ÿlÿcÿ¤ÿÏÿ×ÿÆÿ8Dg[Ơ³²Ựá¼Ùñ¹”œ”h')0íÿÍÿÆÿĐÿ®ÿ}ÿÿÿxÿjÿpÿÿ†ÿlÿ’ÿ©ÿ¥ÿ¦ÿ¹ÿåÿçÿäÿ !";+#.2,&  ₫ÿ    ưÿùÿ÷ỵ̈ÿđÿéÿæÿåÿƯÿƯÿÜÿÚÿÜÿÚÿ̃ÿăÿâÿéÿíÿôÿùÿ₫ÿ  $&--/10+'$" ₫ỵ̈ÿîÿéÿáÿÛÿ×ÿÖÿÔÿ̉ÿÔÿÓÿÖÿ×ÿÙÿáÿæÿéÿíÿơÿùÿüÿ₫ÿ   "  ưÿưÿûÿúÿöÿúÿóÿđÿïÿëÿêÿäÿăÿăÿâÿáÿàÿàÿâÿáÿăÿçÿéÿîÿïÿơÿøÿøÿ₫ÿ !! #" ÿÿơÿôỵ̈ÿïÿóÿíÿîÿïÿèÿéÿáÿßÿæÿâÿèÿçÿçÿíÿæÿëÿéÿêỵ̈ÿóÿøÿüÿúÿ  ùÿưÿøÿñÿöÿñÿ÷ÿöÿđỵ̈ÿåÿăÿåÿ̃ÿéÿâÿëÿóÿíÿïÿăÿéÿîÿæÿóÿöÿüÿüÿưÿ   úÿñÿôÿúÿïÿưÿøÿđÿđÿâÿåÿæÿäÿçÿæÿđÿêÿ̃ÿîÿáÿăÿçÿïỵ̈ÿéÿùÿưÿưÿ% ÿÿüÿÿÿưÿ öỵ̈ÿæÿäÿæÿôÿüÿäÿèÿơÿƠÿÓÿ̃ÿñÿéÿéÿçÿăÿßÿàÿçÿ ÿÿñÿïÿÿÿ!6#%üÿóÿ %' ûÿưÿûÿîÿúÿôÿàÿÖÿéÿ̃ÿáÿëÿïÿêÿëÿøÿëÿêÿêÿèỵ̈ÿûÿøÿûÿÿÿùÿöÿùÿ #öÿ èÿíÿëÿ ûÿæÿïÿôÿíÿèÿöỵ̈ÿñÿÚÿüỵ̈ÿéÿưÿÜÿôÿüÿïÿơÿíÿ÷ÿùÿüÿöÿ ' ÷ÿêÿûÿôÿêÿûÿøÿôÿưÿüÿ üÿèỵ̈ÿóÿÿÿØÿúÿßÿ÷ÿ ñÿƯÿđÿúÿñÿûÿ!đÿûÿúÿ ơÿàÿùÿ îÿóÿ öÿúÿôÿ"öÿèÿëÿûÿÜÿ!ùÿ÷ÿ úÿơÿ ́ÿûÿéÿùÿÛÿøÿúÿçÿÿÿ üÿôÿúÿưÿóỵ̈ÿúÿúÿüÿùÿñÿøÿæÿ÷ÿ₫ÿûÿîÿơÿ ûÿúÿúÿ øÿéÿđÿéÿôÿ ơÿøÿ ùÿÿÿ"ûÿ₫ÿÿÿ ïÿûÿöÿøÿôỵ̈ÿơÿÿÿöÿñÿøÿûÿ  ûÿûÿóÿ÷ÿÿÿùÿûÿùÿíÿ÷ÿíÿùÿøÿïÿưÿÿÿöÿÿÿúÿüÿüÿ ưÿöÿüÿ₫ÿúÿ₫ÿçÿïÿ ùÿ₫ÿơÿúÿúÿûÿơÿûÿơÿûÿôÿúÿøÿ÷ÿưÿûÿüÿøÿúÿưÿûÿôÿûÿ÷ÿ÷ÿưÿưÿûÿÿÿûÿúÿÿÿúÿøÿ üÿưÿüÿ₫ÿÿÿüÿûÿ÷ÿøÿûÿüÿÿÿ₫ÿưÿưÿöÿưÿùÿ ÷ÿúÿ÷ÿ₫ÿÿÿ₫ÿóÿøÿûÿ øÿøÿÿÿưÿüÿ ûÿùÿÿÿÿÿüÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿÿÿ₫ÿ₫ÿ₫ÿ₫ÿüÿưÿûÿüÿưÿÿÿÿÿúÿ₫ÿûÿÿÿ₫ÿûÿÿÿưÿÿÿÿÿÿÿÿÿÿÿûÿúÿúÿøÿÿÿüÿ₫ÿûÿưÿüÿ₫ÿ₫ÿüÿùÿúÿ₫ÿüÿÿÿưÿ₫ÿ üÿüÿ₫ÿùÿûÿ÷ÿưÿ   ÿÿÿÿûÿöÿüÿđÿüÿüÿ÷ÿøÿơÿ ơÿüÿüÿ úÿ üÿ  üÿ ÿÿ₫ÿûÿøÿ÷ÿơÿ÷ÿ ₫ÿ₫ÿîÿëÿèÿƠÿèÿƠÿÑÿÚÿăÿëÿúÿüÿúÿüÿóÿóÿçÿ÷ÿÚÿüÿëÿ́ÿâÿêÿ̃ÿüÿûÿéÿÅÿÅÿÜÿ/̉ÿuÂÿj̉ÿo¥ÿy²ÿyåÿéüRÿ©ÿûÿ‘ÿ̃Jÿà?jCÿÁÿxù úçÿ\ưíÿÄø,Ú₫ ÿư₫́gư·ÅÿGÿưpÿ(‡ÿú₫}A.ưøÔîÅ₫ Xü₫¾ûTÿüd₫©ÿz₫ư±üÄ₫Å₫9A^TB₫dƯưa₫ÜÿËÿä×L‡1Z& tTDÏ:Ó₫¯~ưÈÿÿäD₫h%Öÿë»₫2ÿ ưÛÿ₫û₫P`₫[₫̃àư4^ư #ÿnB%ÿ—ÅưîÿÅ₫,₫ ₫:₫rŸụ̈ü§û'¯₫¶ÿ7Î_ơÿ+ư8ù?‡ư"éưg0˜₫ó„ü§Gü{ư9‡ü®¦ßưʼn₫ûüÿ~³ú­£ûÿ¤3fúD|yùPS»û¾üß½Œû@₫̃|jû*¦(ÿÈúœ¬­₫ü&ÿ²hÿFüßÿĂ\₫,üyƒé₫Rÿ¼½ÿŒÿ6₫lûOñ"ûY₫&Â₫ÆưL1f.ÿMy₫*†¥üưŸ•ư¦ÿ\0₫ŸÿsÿÅư4₫4ÿJû6üF₫ËưĐü°ü¹₫a₫mư¨₫)w‰ yÛúz÷3Ô³œÚ~4­ÿÏưYü(ú­ùª÷Ëởơ'ơºơêởö„ù úúÁưçO”2:O¥ä ÚK¼†q L ăÿü5ø„ñ…íûêPèèÙéë£ï­̣=÷®ü«ÿ¤ÿ\ë̀Êôœßm® _ ̣ – t <{=¶v­ ë KÇúEówí̀éxæĂăççLè́đ™ôªøü„ΘN U N hûå]y§ , G ½ÜÖ3₫ÏûMöópïë¹èÜêëª́GïEñQôRơöí÷ưZ₫.fdz æ<qÿ%Ÿr¥ ,}ûá÷îơó·ñdîH́í£î×î4ṇ̃œơÔø=ø|öS÷²÷xø®ùăú“ün% j'ĐƠ Y¢1\ÅH7úơ"̣/íïéNëǴÂëóí[đ|ôj÷Bø|ù+üû'ùböơ÷È÷%ọ̈ùĐ2Z–îè!đ%,!ëºX 1÷™ñ©îLênǻäÏçf́ôïÏñ;ö‹û₫uưW₫+üTüføơ:̣ióø̣ ùB X½ŒÆ"|'9#¾ O” RöÑîé§ä#ă­âUåVẹ̈gö,üSÿØẸ̈̃ÿ=ư ùæô½đ ï¾íØơ¿{Ø “sÅ#?)í$o"ùq¥ Wrơ—́væ§á‡ßúßuăÓêôÉúĐ8mP_*ÿGù ơaïăë2è̀́üǿÈ œ)u! +}*̀&÷ ¢ ©œù"íăä˜̃7ƯÓÜĨÊå¨ñ₫ûæü Ä ₫ ÿ ưîüëơđ=é|äZâ@ëˆ÷". ‡»<' /».N*±!ÿ¹́ơèh̃ÿØÀØJÚWƯQå-̣¢ơ C_à¶N ưóáëZä¸ßÁÛÖă3ñO₫¬ ½h(Í2«3e1¸'£X)ơ)è.ÜÂÔ?ÓZƠÖÙPâøíêưq x#%ù¨ íÿÿö₫́eäƒÜ]Ø Ö@ä?ó…ä æ$…08Á7ó3&÷› ưQíâƠÏÏÊÓÚ‹æós9‡!´ E<Lưeô»êñá%Ù¤Ôạ́̉á ó̃”6 «'«2•::©5'ˆáóùëàfÓ%Íç̀µ̉æÛîè×ôB}…[#O$âínüóêaâùØmÔ¢ÑûÜfđüùe!h)1x:ï:º7¡*¨7ù ë³ß~ÔËÉʆϤÙhç?ơÙe@3%²(A$ Jÿôwëîá-ÚT̉Đ·ÑÄ̃åơB fÖ*î2&8í?Ñ=g7X(3ZÿđÓâ™×]ÎÎÅÇ»ÎoÛÀẹ̈û 8$̃+¾-w'÷y íû`đFæƯ0ÔûηËöĐÙØÍîC60X:˜>OA²C“9Ó-fíÓà$Ó¹Ë3ÄÂjÉG×åçYûà ̉U(203›-Y!Æ!ñç–Û®̉ŒÊ±É¸Ê$Ơ†ß̀ó4'w;cETG©CzC6Ÿ'¾ø[ă·ÖPËÅѰÁ0ËCÚ²íI»D"1I9‡9Q1́ : hü²íqàaד̀pÇ·ÆeË̉1á™́‚@#A8ÄH$MÔG1@÷<.,]fçơƠíÍ\ÆĂ”ĂÏÅçÔaè~û¥ ©'6=r;>/ˆÂÈô‡æŒÚVĐÉ“ÆnËÑŒÙóăḳ$H¦6–BÈIăDü=M6/mŸeêÚuÑ÷ÍÇ’ǼË0×́Êür é"8+9652.ôó ÚûÀị̂ßíƠaέ̀æĐÑ×<ƯêăÍ́ ù²5«/ø8„>¢;J6T+à$ª₫ïà(Ø"Ô ÑôÎ@ØñàWđfư§óL%*́(h!dPz„óˆǽÛcÚ8Ụ̀ÙÜKá»äƠí ôh₫Pă)•13ô/¸*¤$!ù îü₫ï¯æ-à¹Ü§ƠEƠ߬èăô₫:¿Ö¿!Ï"@°óîµ–óÎé£ä÷áÜ™ÙÜđâæUëíJø̃'è&º,'/d1¸/$)^#¨]ÿHöYës߆٠ÔÈÖèákè:ñXư[ û%²₫ å!÷wú₫ ôÑëäâ¯ƯmÙØ|Ư‚â(ăWé›ïú³'#. 1¶10G*¼#Œ…₫_ö‰ë4ß®ØTƠGÙ·äÅéG̣ ¥à¢5Äưàôý(ădàÆƯ(ƯiàMåÓæB́*đö´₫pÆ*^*'-A2,¶&Ñÿơ‹äÚÚÎÛúÙâå›ê¦úư† kw;ß&‰`øoïÜéŒæœäƒ̃?̃CæZê…çẸ́ïFûÂ₫›$Å(,‘1¹1)́"w—Pü‘́êÜ}ÜÙÙJß;äHñacOFv' | ÿ̉ólđÜêläFáaßnâÎçèéLđ\ơÓư@D(J&,R4®-$º1 ơ„â‘ÛŒ̃4ÖOÙËàë ørå ^ÙJ¿M§ ¯ôúơîßæüä åă«äÓèPílîṬÇơ ÿ*ÿ]Đ"üu'z0É&3Ă‘ ¶½÷hè”ääđ×äܨä_ê-ôÍ₫ù¥xg8‚æ0 úƒñÚ¹éăåäăpæ%ç"ëÓê ï±ñzúà÷£" ®T"ă/**(!÷!Ï’ÙWñ›́è¼ÙÛ â¶â‰êwô₫ Ø8¶ \¶ ă÷ỵêă®áâ^Ư¹ăíäèëưôÖ÷ˆ£lư#‚2²0P'{)AkbÑ÷«đèÔÚê×§Ü0Ú‡áƒêºôq ¹Gbü)!”e ñöø’î>åÁád̃ÙëÛàYà ç?íƯ÷¤ûü³–,€3(.Đ*O(xÉÇøưđ{åVÚÿÚ‰ÙbÙ‹ßËæ ̣¡ü?Ëưq ´"# o6Ø÷ÿ$ôJëoåG̃5Û!Ü<Ưqß{ǽaöëûy ~f:!0)'[#b"‰~] ¥íû¾ôëkè³æăäàæYèƒíơ(ùk₫: 0 å¶ | ø `Ø ưâûíøødö°öGö4ơA÷Ươ†ù+ùdü\ưÿ#©8`ùS….›ưÊË\7Æ₫7₫²ư•ưăưs₫¬ÿÀÓG»­£No0rđÿ̉ưŒû7ùÏöàôpóg̣0̣æ̣ûóøơRøû/₫3ø}³ Ư  D ü…€¯bZÿË₫Ä₫€ÿnZÛ#Øe1ªs6}ÿØưpǘúYùư÷Ưöö…ơ ơ:ơÙơöú÷§ù~û“ưÖÿưÛ¶ÍInfW&@Ö…2°8ƒêX¥Ê»vVÉô2Fÿ®ưkücûKúùWøÜ÷Q÷H÷÷*ø ù ú|ûöü+₫mÿ²Î¬L·8ö̉¬D́çèèïJ£óE´́Ü·L­±‘M*ÿèư©ü¹û ûnúúúIú”úïú_ûÁû ü.ü3ü;ügüvüoüÏüeư₫ừ₫¹ÿ×úßÛÑU§ù÷Á–l ˜^“²ÂĂÿƠ₫₫VưÄü{üzüüĂü-ư‚ư°ưĐưÂư„ư!ưü₫ûoûÓúYú;úGúuúûü2ưˆ₫ûÿƒ PfnQoGæJ{¼ó1Ó5­ÿIÿ ÿ̉₫§₫­₫¾₫«₫©₫±₫™₫u₫P₫ ₫ÀưaưƯü\üäûWû̃ú’úaúdú§úûËûÆüßư.ÿ“ă':ŒÉ·{ |öqư½’~‰ˆḲ‹ï?•ÿÜ₫1₫£ư&ưÏüŸü}ü{ü”ü§üºüÈüÂü®ü‰üVü-üüđûÿû3üŒüư×ư¹₫»ÿÅĐÖ¶mo¨Â¹“YŸ5°!“ôQ°‚ÿÿ“₫D₫ ₫ăưĐưÊưÈưÅưºưªư‰ưQưư¾üZüñûŒû5ûóúÏúÛúû‘ûAü*ưB₫}ÿÅNa7ß@X;ê{÷]̀OÓgʈDư»g¤ÿ@ÿÓ₫h₫₫ư¢ưLươü²ü‚üQü+üüüúûđûëûưûü-üdü±üưư&₫â₫­ÿ}\;³C²üøĂz0â”?æ–@Öl₫„zÿư₫…₫₫œưGưúü¸üüzüwüü—üÂụ̈üưHưvư—ư¨ưµưÀưÇưÊưÜư ₫L₫¨₫-ÿÓÿ’[+ù³A©êøƠ’8ÏYéˆ0Û”X̉ƒ0Ñÿeÿơ₫Œ₫!₫¹ưaưưêüÆü·üÁüƯüư9ư~ưÄư₫K₫…₫·₫Ñ₫̃₫æ₫Ü₫È₫»₫¹₫Ç₫ï₫2ÿ˜ÿ´]³C´'í¤DÔi«c&åǬ^"Öÿ~ÿÿ³₫I₫èưư@ưưäüÖüÜüôü$ưaư¥ưóưF₫”₫Ü₫ÿPÿxÿÿÿ£ÿ¡ÿŸÿ£ÿ³ÿÑÿ₫ÿ>•ùfƯQ¼Z„yEû›-ºG߀/ñÿÀÿ™ÿÿhÿTÿ=ÿ ÿÿÛ₫¬₫{₫H₫₫ßư±ưŒưqưaư`ưqư’ưÁư₫R₫©₫ÿbÿ¾ÿX”¿Ưîơøû$Fo£Ù=by~pQ ß”Bê”<éÿŸÿYÿÿá₫°₫ƒ₫Z₫4₫₫öưÚưÀư¬ư™ưưƒưƒưư›ư¹ưåư₫h₫Á₫(ÿ™ÿ‘d¸ø"88%ÿÊŒEø¨\Ä>Åÿÿ[ÿ(ÿö₫Æ₫•₫g₫8₫ ₫ăư¼ưưˆư}ư}ư‹ư©ưÖư₫[₫°₫ÿpÿÔÿ6“æ.i—¶ÈÏβs]I5 øáɬŒf< Ûÿ¥ÿnÿ7ÿÿÖ₫®₫₫{₫r₫t₫ƒ₫™₫¸₫ß₫ ÿ6ÿaÿ‰ÿ°ÿÏÿèÿưÿ  &,6ARe}–°Êâ÷ ûäÄ xKơÿÍÿ©ÿÿwÿjÿcÿaÿhÿpÿ}ÿÿ›ÿ¤ÿ±ÿµÿ¸ÿ¸ÿ¯ÿ¬ÿ¤ÿ—ÿ‘ÿÿ‹ÿÿ”ÿ¤ÿ¶ÿÈÿăÿ:Tjƒ‹•”…o^K;,  )3?HIG?-ßÿ¿ÿÿ~ÿhÿUÿMÿHÿLÿUÿdÿ{ÿ˜ÿ¶ÿÑÿëÿ ()$÷ÿîÿëÿêÿđÿùÿ "6Us¢µÂĂÁ«—\5ëÿÅÿ¬ÿÿƒÿ|ÿuÿ~ÿ„ÿ‹ÿ§ÿ¶ÿÂÿÙÿ̃ÿâÿăÿƯÿØÿ̀ÿºÿ±ÿªÿŸÿÿÿ¢ÿ®ÿ¿ÿØÿơÿ/Qv¥¶½¶¦—ƒdD5öÿóÿïÿæÿèÿñÿơÿơÿúÿüÿÿỵ̈ÿñÿêÿÔÿÁÿµÿ­ÿŸÿÿÿÿ˜ÿ›ÿ¤ÿ­ÿ²ÿÊÿ̃ÿèÿøÿ *'-9:CJQBDD5?JA3$ üÿæÿßÿßÿÙÿßÿïỵ̈ÿâÿÏÿÖÿÓÿÇÿÉÿÓÿ̃ÿèÿêÿđÿæÿ̃ÿÖÿÅÿÆÿÉÿÅÿ¼ÿÏÿ̃ÿâÿñÿ8>9BCDCAGM@7DG:<16/! ÷ÿ₫ÿ÷ÿÚÿÎÿÛÿÄÿÄÿ»ÿÅÿ½ÿ­ÿ·ÿ­ÿ¥ÿ…ÿ™ÿ›ÿ¬ÿ«ÿÍÿØÿçÿơÿ #,+@8P22+;,&H8?NI=áÿG±ÿDµÿ8Êÿ<ÊÿPĐÿÊÿçÿ¾ÿ°ÿ́ÿ¢ÿ_Vÿ̉Bÿnù₫ôưüPûgûZaø s5úEÿưt¡üưë úqư*:Ÿÿ€“ư»AÉ BÀ^Aü­ükøøóÿô*̣öQø0ơœû~Cư'—L åM  ÿڌѣÿ ư ₫µü̉ûŸÿ§ư´ư¿ÿÙNü¦×ưđ₫ÿ₫Ñ₫AûÊû÷Åú5ötøUù“÷~₫`~úV +óëí Ï cÂü%ùïöôáó·ôBơ•÷Êú•ưpÿú&“æcÿ£ü…û̃öƠôVơxóâñeôáÿjæ6¥:¬>B¡^:×ù¨ơ†đÁè’ç¡çuédí’̣üøưøü XF¸Ăû{ọ̈ưíŒíƠéöTOHƠQ$¹)g'à!TØæVô ëgä;̃…ÛÜă êđđ›üÓ6 † ñ ›îrưöàï'êÖèiäóNá¥(Ø)Ơ-ư1,É!\à ́ù\èvàLÜ”Ö7Ù‚àSèÚóXưÏJï ù„ÿéùèñèâá3ß6ẵˆ ¶B0¹9ó6¹6R1 $€ú₫}ôIá…Öm×±ÙƯaçWơ J£øÅ Ñ÷‘ëØè)à+Ü”Ưá¼ăôơæ Ơ,D¢AØ4«+èó;̣–éxá[×íÚÉâ“íŸơá­ á\ÁÁ₫ÏờîVè3ăOçä̀åTè̉ï(ơWe&ơ'½-‹9!2·"S ¼ú₫ë ë˜́'ê"đÜ÷Ë₫®{¡AÙúø̣ẓjï™́¼í¼đ·óØï¦ị̈µóđo +$uß'84)i;•÷øođ¤̣ ộ2ơhüzkŸ+₫₫Øù»ô₫ödö{óoó>ó;ô ̣öísîEîăïị̈à)9!2*44"#3 úîđ„́»ñêöjøû‰¼Ÿ®₫Müyù<ó_óáôôỵ̈ỵÈđơ<đếđWóƯđq/t'Î,Ö3ô$» ~ü–ơ½̣ í§ñTưHjPàSúô,ô´̣ŸđôTøøợÙïVơ^̣èêŸî|ôÊô›Ư0ë,I1ô-‚Đzó¶́añƠñ¿øź»ưFü¤ó©í`ñ²ộó¬ùû2øC̣Vî đ;̣q́nñêóg,2À,«1w#, ‚øơê$ï<ơ±÷à" ¶Fûÿ×ùóÁëÀî&öëơ ùĐưÛù óÑí¸í½ñ́Yî.ơ¾f,e6~,ơ.L#a>ơÊêêí¥øüe B µ-ư_÷´ñ;́îZöé÷%ørú£ùĐó>ï-î­đ íeíAơr6Ơ4'.t+wüếèôÊưî9}ƒ₫Køạưï`́ÿđùuúùúüô6ïUí¼î$ïéíóíó 91r51Đ,ÂCîcç€̣Xü†- < ̉öfó¥î|ê\đçø úù?ùöxñ/í đÜî!í±đ‹n0/2Ï.À'ă¼³ïÖè¾ô› Â₫ˆóï®ïÀ́ađëöWùùơ ó%̣ơñáđtï¥îÂư5#o-,.0+l øûQë9í^û'´ ñ ü C+ûỌ́}đ.í(îQóMơuù˜÷Ỵûï³ñṬ°ñ„î̀ö-».V*Œ*k"¿ë₫×ëQêù~ÿC· ¬Z b₫£ộđQíNđöDú3ö×đpí4ï"̣[̣&í¤ú §-g+ ' -Ă₫âëÙ́)øÿb{ 9L ₫1ö¡ôÜđ~ï‰ñ̀ơù%öQđ ́ơíîđưï6ï̃$±-ú(-"Ôüú†êøï¼û! ² …1üơdơ,ôIñtđöø¤ó_í™́̀đtóªíØơ‡₫)‚*"2ï`̣̣=́Qö1ÿ‘¡̀ ̉mø¯ô“ôô†̣̣ÿ÷)ù9̣±ê·ëạ̣̈Oñ3 7%D*Å%^ơö êøđẹ̈‡ú"¬“ ´ ¯ư!öúó ô8ô•óơ”øTơ)í“ëÙđ‘̣ô ï£'¢&C dư#ï«đ(÷°₫Ơ‰G‡KùÓô¬ó¤ơơùôƠ÷úơVđíNï´ï}öÁ °´#¿$Ơæ½ G₫&̣/ñ?ö¿û¿ÿØKÚ”¥ùóó¯̣kô¨ơZöăùúøöô€ô]ó+û] ر•êŸ …­ú ù¿ùqư²ÿëÿ₫‹7₫´ûâø•øóùûEüÄưÜư©ựüưgǜưf…‡(ù>ễ₫…ư?ư?ÿ]ÄƯđ²xÿ±₫X₫èư;ưÍû’úîùmù¨øùûIư₫3ÿßÿÇ „’t/"B m, À Ú₫kư¦üđûÉúÓùùø4÷‡÷Óø¸ú£üË₫ëß–AùêsKº-Uàˆc´î₫Ùư†ü,ûíùù;ø]÷u÷˜ø©ùäúưÿÿÅĐ È̃¯pe[B‘^Ùÿ'ÿ&₫¯üùúsùBø8÷[÷˜ø¶ùœú6üà₫Ü8áÏV|å¢Cê³}Ë₫́ưGưvü=ûăùÆø‚÷ÿöç÷xùÖúâûkư ÖÆø̉ , ̃ró·€F¹₫›ư’ü3û°ù=øäöoöB÷µø/ú¬ûÉưU<yƠ³-#•A+Ưbû₫/₫rư-ü€úù ÷ƒöÑö|ø%ú1û¿ü9ÿ  ŸÇXÏ–R2B«Eÿ„₫Æư›üöúrùä÷¼öv÷-ùiúgû-ưÿ t Rl2gcgÀª·ÿÏ₫̣ư¡üÛúqùø-÷ø¾ùôú²ûư‰ÿ {(œ–½UDMt̉âÎÓÿOÿŸ₫FưWû˜ùă÷ ÷øâùGû~üƒ₫ú®̃#7t†–líÿ~₫µưưóûƒú6ù*ø˜øGúØû‡ü`ưCÿ—T^ÅÇAÂè ·ÿË₫₫½ü¼ú§ø÷ÜöÇøNûưR₫#VøbÚ¨×Q˜]Xµø™(ÿ2₫©ưëüvûËù:øR÷føúüư«₫DåEJ"V_d–-5·ÿ_₫_ư‚ü û(ùx÷µö0øÁú’üsưÚ₫E¬ù•°2œ?wæîwÿ(₫Lư®ü%ûù÷'öè÷úmüNưß₫|øÔÙ‡ä_£3Ư?ÿư˜ü₫û›úÇø÷‡ö²øDûÏüNưñ₫‡æơœŸK£6µ®-™nlÿºưvülû½ùá÷örö‡ùRü´ưA₫˜‚”†¥½ẹ̈¸¶₫úüóû’úÚøööÇơø¦ûư ₫â₫—&uæB¦Ah;xy₫ü@ûú…ø_÷Âơ ù— +Vÿ˜ºöÿ)₫22z̃Svuÿé₫üù¦ơfôeơ,ó4öÉʤœ ̣ ›¸₫Â₫êeR‹aÓu¯₫ư›øôóơ5óCó¤đkơR M°ó%Çÿz¤'.Óvzˤçưë÷̉÷€ø™ó.ô«đøû_‡q? ú}ü‘ÿåĐl1­¶skǜùiû@ø¨öfô¥ôÖù󉟆œđÙ₫…Ư₫ÿ}eNß©yvư"ư½ûÏú+ù›÷Q÷ÂùÜ–ÿ-«_ÊN¸ƠeU)½j9 ’ÿ°₫ưaüZûjù3÷Rùư”₫Øÿ>§†ø±ZÆ]-”ƒ¨ÓoÍUÿWưlü.û.ù¶ö¯øûNư‚₫tÿ³ÏïĐ×iơÛÎư¼½H5;ÿưØû`ú,øköPøxú¢üªưkÿªøRGSS `ˆ#xeq₫0ü·ú/ù÷ºöˆø„ú£ǘưP,ʈY£:óT²®q!ÿưÓú†ùĂ÷ö˜÷Œù¹û€ưmÿ²Êhe65ØÜé}vÉÿ~ưMûˆùFø®ö?÷ ùû1ưï₫UÆq|gRs2ơ(è€=rCÿbư°ûëùŒø0÷ ÷ùïúñüÑ₫ăÀeOnF´5̃6÷n T1ÿZưxûîù£øI÷2÷ù;û6ư ÿ È’TWA´QÅëhÜơ₫#ư(ûxù{ø<÷X÷3ùtû¥ưZÿIè¹¢‹ṽy×פ¡¾ÿ‰₫­ü·úùø÷ƒ÷°ùêû ₫îÿ¾>æíå­„Ơ¨@µCWỵ̈ưûûøùsøo÷Đöá÷Hú°üÉ₫¨yWZX(Œ¢I³ ¬ÿ·₫ư û!ùË÷Ûö¹ö„øû€ư¬ÿ–V7ăs5e4­̣1ơ₫ÏựûÛù4ø÷Uö÷mù ü‚₫±µöîæ’Ñ1$ˆÛ3ÿ$₫‚ü‡ú¢ø@÷YöGöø•ú ưœÿήËÈúÉH₫´·ÊÿK₫̣üûù{÷jöôơùöbùü†₫ë}’½ƠËj¡u₫*ưdûZù÷oöÚơwöƒø$û´ư.l >z» z5c3́̉₫@ư€û~ù³÷oö¿ơ öÚ÷wú&ư¶ÿá%G‘! íÙ%®\ÿ~ư·û¦ù´÷Sö‹ơơ÷¢ùgüÿ;j˜I W eÍ·RçÿËưụ̈ùÜ÷PöqơMơ|öäø´ûX₫îµM„d ­  oe÷z4₫Nü^ú@øŒö|ơ2ơơơ!ø̃ú¯ư?•Wđ0, ° T úÁ>È₫ÓüÜúÜø÷óơ|ơ öÑ÷^úóü•ÿ»Âÿ@X8  ض¯‚ÿUưjû˜ù·÷·ö öJö¢÷1ú¢üÿ=pTB×ëGZäж₫ïü2û'ùö÷~÷~÷ø–ùü ₫…E2ïŸm3÷¢ÅÑÿçư¥ü ûÄùÂø¥øùsù$ûü¼₫åÿ {Ä̉.’+=Öôÿ1₫DưÎûûËùúfúúQûHü₫1ÿöÿO¿2 Àá"ü.Åç₫âưÍü·üû\û/û»ûëû9üư@₫¶ÿ ¨’ø”Ϙ˜Êÿ]₫éưˆư=ưü üYü=ưÿü ₫É₫Ơÿoz"¡“²BªfnÜßÿpÿ ₫Dÿ9₫<₫0₫₫Ï₫₫z₫«₫CÿSÿÊÿèÿF©5Ưó"ë̉@5×&äÖÛŒøeniÿaÿ¸₫j₫₫ưư ₫b₫û₫©₫ÿmÿ¿₫yÿqÿ²ÿäÿïÿ€C˜˜:ë₫Û:§HA`’6¼³*~g¨Mb,×ÿÁÿ4ÿÿï₫.₫ÿ₫ư¨ÿí₫)ÿÿ|ÿ—ÿ ÿ„ÿ’ÿ ÿ[ÿÔÿûÿ­ÿèÿ—ÿyÿưÿdÿs¼ÿç(¶Î=ÿm‚ÖtŒñ=jlÎÿ2yÿeÿ÷₫̣₫̀₫“₫¹₫C₫s₫#ÿ4ÿwÿ}ÿÀÿÿ¨ÿ¾ÿ“†ÿÆ₫-ÿeÿÿ¹ÿ́ÿÆfÓ$5̀#äè½qÓwmÚÿ'§ÿÿ”ëÿ›#P̃ÿ+ú₫rÿ@ÿ«ÿVÿ~ÿ€ÿß₫@ÿi₫*ÿü₫ÿ0ÿ¥₫ñÿ_₫†ÿ)ÿ]ÿ¿ÿ®TMM%Ơ™·Đ=¢jØÿºÿoÿ­₫ƒ₫h₫ÿëưœ₫µ₫Ï₫‚₫3ÿÿäÿkỵ̈ÿ­ÿ“́ÿ‘Ó~ãÿ=çÜ’t{cBåÿÁl ‡ÿÿÿcÿ˜₫í₫ï₫\ÿÿÿ@ÿfÿÑÿ«ÿÅÿ”Đ]6^ØÖ­A‡6_=ÔÿÈÿbÿ™ÿÿ$ÿ®ÿèÿ°ÿŸÿN‰ÿÿ+c%"™̀ÿ‚ÿÀÿ2RÿrÿÎÿXÿyÿ2*¡ÿbÿ-,b×ÅÿÀ \|£×ÿ¥ÿÛÿ¡ÿÿÍÿ¿ÿñÿ7ÿöÿWÿmÿ ØÿÚÿĐÿóÿüÿŒÿ1Ÿÿ=“ÿµ­ÿLÀÿ3vÿ#=|«âÿºÇÿ¥ÿIäÿûÿ́ÿưÿ[‘ÿÔÿ·ÿB…ÿ(ÿÿäÿ˜ÿÀÿf¤ÿ̉ÿăÿÚÿÅÿ ~Sÿ-&èÿ<lÿÎtÿ§_ÿ–ñÿ₫ÿæÿ­ÆÿñYÿ©dÿq|ÿy¹ÿ&æÿêÿ=Wÿöÿÿÿ©±ÿµàéàCÿ‚ÿÿNÿĂÿ̀₫i₫©ÿŒÿöÿ(6ËNªưÿÍôÿmÏÿ®¶ÿuÿÿÿäÿJÿîÿüÿgÿåÿ•~ÿˆáÿ}ÿ ßỵ̈ÿ3ÿ` ÿÆÿÿÜÿ¨Ưÿ?‹ÿ@Ơÿ+§Î₫ƯsÿVä₫Pÿ=ưÿtÿ²ÿ=^M?ÿµ0"½ÿœ£ÿÿX+àÿáÿÊÿèÿ<¸ÿơÿ‚8ÿ4>‹ÿ@úÿÈÿÚÿ¾ÿq»ÿ-ïÿt¢ÿÇÿs6nÿ&Ze¾ÿwÿ <yÿ9˜—ÿ¡ÿyÿs°ÿÉÿ—¨-ÿƠÿ₫ÿˆ¢ÿkGÿ;ÆÿAôÿ˜½ÿæÿÜÿûÿØÿùÿn½›ÿ^öÿcïÿÿÿ¾ÿ̉ÿPÿiÿ€ÿèÿúÿ÷ÿ1Cr †%M:3ÉÿxÿnÿŸÿ¨ÿÂÿ7ÿC)#¢œÿ#ûÿŸÿbÿÿÙ(ÿ¯ÿ‹₫|ÿÿÿ¼̃ÿPÿTKHŸÿG¬ÿYˆÿ ̣ÿûÿăÿÇÿ ̉ÿ$ơÿ‚Íÿ‡½ÿXÛÿ̉ÿ »ÿºÿ'“ÿ3«ÿkëÿ.»ỵ̈ÿ0*.Ăÿ¡ÿf¸ÿÎÿ[gÿ™,ÿ¿@ÿ€µÿ>  äÿG¿ÿPÿN¤ÿ=Œÿ^¬ÿCÅÿăÿ5âÿÿÿ/Öÿ<Àÿ&éÿéÿ$¬ÿL©ÿa–ÿAÈÿ!Ưÿ,Ùÿ-äÿßÿ;Đÿ&Öÿûÿúÿáÿ èÿ*ăÿ₫ÿăÿßÿ ₫ÿàÿ#Îÿ.üÿüÿCÍÿ:Đÿ0×ÿÔÿ;°ÿ5Äÿ=¤ÿ?Óÿ!Áÿ^ÿb·ÿ&×ÿK ÿ~”ÿtÖÿÚÿ8ÿ«9ÿ¥|ÿ,úÿùÿ6¯ÿJÉÿæÿ\zÿ`Ëÿøÿo6ÿó₫îCÿ­ÿPñÿ¦ÿ‘wÿ‘QÿÆAÿ¯ÿLáÿæÿ óÿöÿóÿ.Âÿ¬ÿ`”ÿtnÿ‘yÿ>áÿ:®ÿbºÿÔÿjˆÿ†ÿu´ÿ êÿ÷ÿäÿïÿåÿ7»ÿ:èÿ–ÿ©ÿ¼ÿÏÿƯÓ₫9!ÿ›¬ÿg×ÿ^ZÿïÁ₫X¨₫Ôÿëÿ‘#ÿ¶pÿ5@‚ÿơÿµÿƒÿưÿÊÔ₫½ÿuÿ¹©ÿÍÿ“©ÿƯÿ[›ÿ ƠÿùÿM‘ÿöÿ,ÿ2Åÿ`ZÿgÇÿÂ?ÿ܇ÿvüÿăÿ‰ÿ÷₫OSGÿíIÿ}J'u₫°₫{ü€•ÿMư₫M²ưè™Êü¥M₫úÿÚƒư0Wü‹ÿëư*S₫Ô`ÿuử₫é‘úă üœü_àư&Ó|ü¬‰ưxÏü‘rú₫<ÿ¦û{®üI,ư‡Vÿv:₫±ÿ§ÿ‡ú₫Íÿë₫Jÿ₫áüÑ~₫;¯₫ê₫8vÿüÔưĐdưqÿÎư·'úO^ùOÀüj?Iư§ûPü¶áÿ£ÿæ<₫³¢ÿªÿ‡₫7óüo?üáư[ÿưB₫-²ư¹¿₫Ngÿæ₫̣îÿ«=ư+Ơ₫fƒ-₫ëÿü˜Ñÿn±ÿÏü½>₫Ulưr₫Rÿ 9₫9=ÂưÚ”èưNPÿ}ÿŸ₫Îÿë₫ÿ.X₫€ÿ|₫vÿ°^ưU9´₫MÿdÿÓư'{üäÿjÿ¶₫'ÿ1p₫7AKwưÏFçÿ‰&ĐSÿÓÙbYH­ÿƯ€—₫ ưÿbưiú;û°û´ø·øåû ûËü[ưº₫tô Â Í đư —T™“ư«ø÷̣ơ ơ¥óḤíñŸó¾ô×ó?ô1ùÙúLü ûƒÓß}€^C P /¤ÿ<ø®ô÷ôEđ$ï|ôº÷+÷³÷¥ûO₫<ư&ûbûsüRúÖ÷ơ×ÿø ' « ^  íT Q ½­Éùö̉÷2ơ¾đ}đ|öTùÿ÷xù ₫ŒÄư~û7ùùø³ó’ï§óÓ§ ¨ Ù–z5S ¹öü¿ö€ơÈóöï³ị́ñ÷øø/ưç¥+₫üRúPøEöđ̣Aï‰ñC ÂQK±cÈT Ăóûđơ¯̣ºï*îŒíg̣÷9øĂú/K£ÿ ư_÷Iợ̉qđ•́WöYeư[Đ A 5/ÿÉ÷Ẓ’đPï)ïŸñëö¥øú«₫¢ø/ÿsư ùâôị̂½ñVï5í4üˆLô-Q#[ÔÈÉ‘úôđcîÇî_ị̣̈”÷Lùçû7%=ÍÓ₫{ø‹óỌ¶̣@ïíåÿ%’µûư$:¬½ W˜ü£ö0ñ…î~í`ï:đjơù&ûÁưàP¨FÔLù¾̣¦̣áñ̉î¿êmëÈ;‘àÿ[& ƒÛ %ú˜öâđ́́ẮÜñẠ́Uö©ù‡ü¤ÎhZ¨kJSø]ô¡̣Yđ́ÊëÅè÷UàâD°'£ 1 {tü.÷ø̣º́X́mñđósốù₫¬m# C6 ǃûÉöÅô:î,ë|ë'́úçnôZÙ¨[,*)"Tñ ³üƠơ±ñ í$íMđ¸đ…ơÚư ÿ÷₫צ x¯́g{üù*öđ–ë‰í ë6ë[ëƯûÇÛMº*™, ,Áù%̣bîwíîơîôđøüÿ‘7 Ñ sbŒ]ü™új÷¡ñóè́́+́étđ óäBe('Fgi :ÿ#ôđîîXî1îÙôDÿưÿÆ₫¸KNÅ¿2ÿ¿üpúNö₫̣”́́µíCízêÜï "¸´*”%0  D₫ø̣}đ‚îèíCí%îvơ6ưh₫Nª ß  H È Z¹±ưjû7øỴx́¶ë÷́zé¾ếŒ₫¢Ñ%˜+Í=ưâˆơéó±ïd́ẤSíḄèù^ü¹₫j¨> Ơ a n„₫ ₫1øóÍị̈́ƠéëÚè)́síĐ₫As'ñ*X™”(÷fơíXê"íí4ñïøüÿa AÜ l |å>ÿpû̀ơ½̣×ï#í°éë ́†îîœ÷ëª. #-XABXÊø ÷Rñ?ëØíñ́7đ]÷̣ùèüêk ‘ 4 ó ÙÀz€ưÁùËô—̣Ơđ1́ëÚî#í+ïrñ`ÈzN)%7@ qúQø!î ́²íó́ñơƠ÷˜ÿ1Ú ­ ä ¡%úC₫Àù±ô—̣öîPêXívíV́&đ÷ Ư"!„*HlZ åư÷ü¢ôơê_í́́ đ£ó¬øKÿDz y ( ’ “M©₫|øôĐḯ:ë÷ëcê ïÿđƒ!yÚ0)t#[‡8]÷Èúíííiéfë4đYôÏø+₫̃ : ̣ ¶  U)áûOö–ñ;íƒêMëêǘ›îđú¶`&$ü— ÿáiQỵ̈”îưíè†éÀíÂï„ôƠù¼± ô gÑ ‚·:ÿ2øvóÿî3ëđê!ếǽiü̉ ‡ FK%Ä àW#4 ² FôRñËíOèêéëyị́§ö)ưÖN¿ w÷ •éđǿômï¦́́êóêƯéJóƒ¾O ÁÁ™k#Ơ?Ÿ"üQöŸñßệé‚è.ê íˆđvöùưÍwä 2 ‰ ! ¿M₫­ø0óüï.́ÿëơê¸øM™Hi)#.â<Âư"úàđñëµêé¥é́îđw÷ÏúéRr ‚ ¨±₫ƒø6óñº́<îzưoû·ÿ]çÄój̣í÷~üRóºî†́Êê₫é¤́øñùơ¹ùZ$4áTưĂø=ơvóÙí:÷|ÿú¡Ö»äv`LgvûỤ̂vïîT́ˆë¾î ô†÷\û_9è{†ưŒú÷ô"đóÿ*û†%¢.ØË=„@ö÷đÑïÊí”ë…íJóæơLùVQ%­óư—û9ø–ósđ{̣:ưÆú¢₫·¤”˜ªƯJÚ¸ø̣ï?î”ë)́[̣)ơ÷uÿh¦X¢}E₫$ưù—ôØđ@ôçưqøcÿF̃ © lÿ“6’MgV÷8̣Èï[í ê—́gñ_óĐ÷°ÿàO [Dêÿe₫ùXơj̣ûáûß÷6 ££›êt Ù *C₫éöuó¾ï9ë êî¾ï'̣¦ùÿµÿÛ·ú=;‡₫Íù€öí÷iÿø‚₫ˆ ½ ·æ§Ua Đ ¾ût÷ô·ï‹êíï°îtóưú÷û̉₫à5ư¥÷ümû ù’₫^ûp5ån QP î ß¾6úüöçôgî†́đïđâöVú̀ú®₫«Aÿ;ÿgư2û ư¹ưó <N ₫Ă Ă@5ö7‚ü_ù÷Œ̣¦îïñåđ·ó&ù—ú üđ₫. ÿÿä₫.ư,üOù-Ơ‹ưÇu ­rƯ`X ʃâúO÷ŸövđwíöđRđûïîơPùqùpưÿ̀ÿŒÿvÿư‹ü1únŸíưd ê²Q… MË] u wÜĐûÛù÷̀đ1ïñ§ïÈïĐơööAù‚ûñÿ¨ÿ^öÿĂ₫P₫1ưÁú7‚₫ ÿW1˜À 5ø§ ¦í=ư„ú‘öïñJñÏđ|đƯđÁơ?öÜù—üó₫đ„år₫đÿƠüË₫Êư¥cwí³ s t ₫ w C  “Qÿêú̉öO÷ÍñơñJöVöE÷óúăü=₫®₫Wf₫ÿç]×₫z₫TÿkưWư³àL\4 lÜ ¡ ®¢ư.ưÂûIû₫ô‰ùù'øU÷%üóưVú$™ÿƠÿgaÿ$·(ư»ÿÍÿ‡hưY¦₫“ư6'ˆ™Æ`ǬûË#üU¶ưĂ₫ Ëưïüe₫»÷"Cúpfüáư¾ÿ¡±ø 2ÿÊÿYû‘₫vÜựüdúưû₫å₫û.Zÿ>û$&ÿÛ˜ÿœ₫›yưØư×₫êÿùûj₫Éûœ¸₫"ưÍß₫7ÁÿÊ ưi₫³₫yÀư2ßúmWÿä₫÷Ÿüˆüñmùâô$úÿ»”öl ~÷¯JûCưÄÿ[ïüÖ₫ßöûZyêûÿGơ0úñ ˆúzĐù‘.œù“høU=÷øBưđ₫[ßû£³ü̉̉̀ÿüưf=¨±bè•ùÉúÜVû1Áú ¶ú ømÉơ×âúk6û₫6ûÈ…û· ø•cø¿²ưx”ÿD!ư ₫úZùùé¢ÿÿjûÔ“ơQú;Mư™ ÿvÿâưÜư¾ÿ²₫­Ùû4³üĐeư¾Ơûv"ä]ÿtOÿ\ÿƒœ¹₫#¯ưûưFæú₫ÿ2ü° ₫<mÿ Hưèü¢₫HưpÿûÓĐùúdûÍ»₫h₫·åüÊs₫€!ûGrúvÍú,̣̀₫÷HŒúX€ư|£áüÙư¸ÿ8kn₫mÿÇưômûlúôÿë₫ºlù1døŸ^ø~Ïù7^₫ EÑû8Îø‡ oó fô;ùúü¸û‡p÷V Äơ» tù÷₫÷<ưC ÿSưéưP>ú„¨₫₫~¨ügû XüÁXÿ$xpû/wúaûh8¸Hÿ0rưܾ‘₫E…₫÷ÿÑÊưÅ‘₫ÏÿD¢™ưĂA&˜üÔ$üÎÙQûûqú₫r₫9ÇúyûŸæøÔw÷‡ ›ùÏÜ…ú³‡ùo4ûúËüS•ü¹¬ ư\"´üÆ.ûb¢ư€ºÿD ü’Éüî…ÿÔǜü·¥ø¤øALû̉•ü8Áÿsÿ¼«ưÀóùÿÅ₫xưö÷„ {ơƠ ñơë êö?ü%á₫Ê=üwƯơ† ˆóÄăï ùÆÊüpBúÚ§úP‘ơ± £÷È™û—nüºÜü!₫åuüKâúØư‘Zÿ|ü·ụ̂₫çûûbWüÜÚûrtÿ~¦ü‚Èơ7 ơd₫¤ùXSưwÿáÿÑ^øÓ Oóñ å÷eưüû°_üÄ&Q÷Q8î{ñă ëú†Ó¦û”ùN£øN‚̣ơ 0ùáNû‚jÂü>2ưñ÷–ßö¯/÷¤₫ưu₫Dÿ ÿL`₫ ÉưÏW₫°ÿÔ,ưöÖ₫f°Jàưư@Ïÿ ́ÿâBöü̃½ÿ¸ưăÂfưh₫™ ưW₫'ˆúê¾ÿư×ư™{ÿÿDK)üqß₫ùÿ´ư!úÉûr%ư!é£₫=®üPû üÉJ—û¶üZưØ üƒ=b₫e;‡¤!₫2Cü#ÿ—ÿ5ÿÑ₫̉ưúèèöMđú€ÿn-ùsiü,Déÿ*ĐƯ₫µŒ₫”­_₫1́ư-Ư®úÂÿáüÀ¤ûÔö₫>ú‘úºÿ$ư…ôûÂư °útÿwÓü¯Fû«pùrÿA¶Đư]‰€üƯcư\Rù«‘ø³jÿ7³Ï₫ÿ₫À“û¸óǜEúI1₫Îư]'ÿâÿÈ]ûÀpü‚Y™₫h_=ÿÂưUü3üÀüừÿÁ$ÉưævüÜư9ÿí>ưk•₫”ÿSÿ¦ÿ~₫ÊÿĐyÿ̉ÿÀ₫±ÿÀÿ!»₫l`½ư*ÿRÿÂû ÿûü₫cÿç5₫v]úp₫±«₫´ÿÿtüTưl™₫CÿÀÿ#RÿPÿn₫»ÑüÙ]ÿ¹ÿåÿrÿ]Î₫îcÿTâÿX —º´Î₫r“₫Ä´₫~ÿ¶²ưPÿs₫ßư™₫9ưFưfÿ¥û>Óü˜O₫bJ06̃lå3dÈé¯V¾ùđÿ ÿ‚₫Êư«ü!ưµû_ûeûØúûÓú ûü!üưº₫lħíÀ]ù ƯLä_œ”ÿ.ÿ2₫Jư8ü²û/ú%ú€øú÷†÷ ÷÷÷"úƠúMưÿL#Öëp>̉ Ë´̃*,P½[½ÿ₫ư‰ûú¬ø¡öÊơôºóóØóÍơ÷3ú«üáÿa¾êûï ] V  ¥ ́ç£̉§ûæW)u₫²üÊúƒøđö̉ôẬzñ4đ³đ´ñ‡óŸöÉùƒư÷çj % i ü + — 6  ^†g5CôD₫cüơù¥÷%ơẸ̈đ±î îÁîđ*óªöµú¾₫{ •  è *« • ̀  ƽóp̀¯N·£₫Büaù¿öôAñ½îù́Ế îCđ†ó†÷àûùÿ´:X q ¢ :` ¯ à 8Xäë®Ơ]©Uÿwüùvöówđ°íáë ëíï óS÷Éûäej w ơ 3 ¯ ïP,iÓ¹ñ¸«ư…úb÷,ôơđÈíWëgêYë¬í ñCơƯùX₫^X Å 6 ú 7Ë u “ ÎyŒ'_$lơ!üüƠù§ö^óơïắ…ê™éËêvíñyơú«₫¿m é o Atù “ ´ ö§Æ>yz~üÄÈñưÂúm÷ôđoíƠêé_é¡ë ïEóá÷¿üI‹K ; {êÈË   yYIÁT $×öÿèüùö™̣ḯéWè9éÜë¨ïôóøûưqG¾ b ?L”:í  P7`"¡1„M{ñ‘»ÿ”ü!ù¥ợîzë éÎç¢èuënï ôù.₫θ( è Ơö?ºXG  X+o4™%kAỉ”Ëÿ¤üù„ơäñFîë±è`ç$èüệî¢óÀø₫Ó×f G ;cœ»¥ y ]–*} V,Qȹÿ‘ü ùnơƠñ<îë«èGç×çê¥î_óƒøØưÅås [ a“à` ä đ²<Y¾öÍ e¯ÿ“üùơùñ}îOëäèpç»çRê;îặørưŸáp t Û;ͪ¶ n V µ¹$a‹q²6 rÿjüùnợˆîfëøèuç¦çêî¼̣̣÷uư¶ ¬ · îK¾J(Ë { ®÷ÂÚơÔ&½´0ÿCüïøkợñ”îzë é˜çĐçMê:îỤ̂*øªưäYơ Jª&†IYØ j pK¶w‡†Bº?=̀₫ñûÄøơ¬ñCî"ëÁèeçæçÁêƠî¼óù₫îH̉ ÇøCm™;l ÏǰBüê8’t₫7û±÷÷órđí)ê è>çáèśïđúơbû2 Q ăôɸ Ù D¸2ô»›Ä¢]s0ÿư´ù¸ơÜñpînëáè^ç$è‚ëÑïôŒùxÿ  Û<º"% } sÏÅ÷Ă«TÿưhúœöẸ̀ŒïÉ́cê~è•è˜ë½ï9ôâøQ₫M: Î ‘FúÏ- æ ø·7 Ÿ)iqzLÿưÁú_÷˜óđîâë%êÔéṕ9đOôŒøhưvX é )÷ÉŸ3 < qÛötÊ=~ÁÊ¢₫ü»ụ́÷yô–ñcï{íâë ë@íàđô’øĐüM¿› "¾ˆH ˜ + €ní$HrV¡Áÿ́ưüqú6ø+ơẠ̊ÚđCïñíđ́‹î¨ñøôø2ü s¾ Á ÇüL|r   ?×ÛcÅÿXưûnúùÄö±ôẹ̈ñnđEïˆïÎñ¿ôø÷́ú₫Âc= K KÔe§ ¥ R ư úè¨óHÿiưü2ûsúÙø-÷¼ơCôeó?̣̣}̣ÙóUö¸ø‰ûI₫lX@ ¿  < Î ? ü ´ –)½?ÙÿÇ₫ư•ü»ûú½ù‡ø~÷€ö”ơơØôÿôöơÈöÀøÔụ́üÓ₫£î!̃öJ S 7 ¿ K ï  H‡?‰]Ùÿ÷₫ÿưÑüÁûªú²ù+ùLø>øV÷b÷‡÷̃÷•øù)úêúüÆư×ÿù̃<’í=«Íƒí<6ê‰L$Ăÿ±₫“ưâü/üàúäùưù£ùƒù{ùÎùÑú¾úSûRûqüØü†ư£₫ÿq*ât_•HÓî|†¦Áö°́;ÿµưÙüúûàû@û+ûüụ́úGûÑúæû“ü#ư¢ư₫·₫ÿÿH-«¦£ÿ™YË:M<$Øă˜ïráÿSÿÉ₫₫åư0ưUütü)üKüàüÀư8₫/₫₫˜₫Jÿ"ÿ¢ÿèÿ±º9KC±]zŒÁà¶#à$Ă7ßÿ!‚ÿ ÿSÿª₫ÿ$₫ª₫‘₫¿ÿ¹ư¿₫₫[₫¢ưuư‘₫¥₫–ÿæ₫îÿ™ÿùÿdÿeÿzÿDXẂ®l/µf¹¥̃¦ƠrÛÿfÿå₫rÿB₫;₫1₫yưÜưư†ư·₫£ư9ÿ®₫‡ÿxÿQÿ{ÿäÿ´ÿăÿ©øô9!w‰—ÿÈÎÿÛTï‘ê‡o¨$̀ưÿ̉lưÿ—ÿJÿ¿₫ï₫½₫äÿÄÿWTÿ¦ÿ)$ÿÿơ₫Ùÿ¼ÿM!Cƒÿ„ÿ*ÿ…¼ÿùÉ ˜ÿ—ÿ£ÿ?±1V0ÿÿ‚ÿ3ÿu¬ÿ40¥âz₫ÿƠÿtÿ]ÿ]ˆªÿ ÿ€ÿöÿÿÿ±ÿfÿ:ÿ “ÿ8hVÿiÿ₫ÿ#@ÿ0çÿnóÿæŸiÿ N=X.(ó“a‡ˆÁÿ¼Ơ¦ÿơÿU,ZÿØÿÓ₫5ÿÅÿØ₫û₫Ăÿ®ÿó₫iÿ(ăÿŸÿÿÇtFéÿî$kÊDAYv^Ăÿ_ÿµÿÄÿÿLÿå₫½ÿ‚ÿÇÿÿYÿ¿ÿPÿZ–ÿ„ÿzÿÿ`‚ÿ:èÿ́ÿó‡\ÿN³8(û ÿ.kÿÎbÿÈÿ&ÿ†ÿƠ₫¦ÿ<ÿAV₫úÿËÿHÿFÿÍÿÿñMmÿ{ÿS·ëÿ•¿G̃1ïLJ—Iÿ@ÿkÿ0ÿ¨ÿSÿ óÿÿvÿ3ÿ¼ÿƒjÿuă₫ü*ªÿ$Ô]dàÿd"Áx:ÿË₫«{ÿH₫$mÿ€₫w`ÿ@ÿ”vÿëÿ̃ÿÏÿØ-ÿÎơÿ‘ËÙËÿ¸ïuÿÊqÿ ˜ÿBEª₫ºÿ—ÿWÿªÿ;ÿÄÿơÿØÿ&‰ÿdÚÿ`0yÿ’Z‚ÿ¯Ơÿj*âÿB‘ÿÜØÿÀÿ£ÿ9mÿMÿáÿÿÉÿÓÿÿgÿËÿîÿïÿüÿ;×ÿkÿ_÷âÿ7“Q›ÿ¿gƠÿ0₫ÿrøÿ¡ÿÿßÿ×ÿÊÿ{ÿçÿkÿ¹ÿ ÿ7¨ÿÄÿÍÿR̀ÿĂÿưÿåÿs§°ÿXXfđÿ‡2F, )ƒđÿ…ÿ4„ÿosÿ×ÿÆÿ£ÿÛÿéÿLÿÅÿÙÿfÿT>³ÿs!ÿ"(GI&Êÿ[K;Súÿœÿ8¼ÿŸÿ×ÿªÿîÿ¬ÿYOÿëÿÍÿ<Ưÿ×ỵ̈ÿZÿ}Ăÿ-ªÿt.àÿÿÿË̉ÿpêÿe8÷ÿK'±ÿéÿ5“ÿÿÿ³ÿơÿđÿ¨ÿÊÿÿ¸ÿêÿ›ÿ¡ÿl`èÿ%?mÿ´*9âÿăÿ\PGÿÿÚºÿ çỵ̈ÿ|ÿ×ÿpÿ²ÿ˜ÿ•ÿ¯ÿ²ÿ"O‹ÿ|ÙÿD#%Ôÿ-obúÿDûÿ>vÿÖÿ€ÿNâÿVÿy ÿü>ÿíÿNÿèÿa‰ÿßÿ¿ÿQÿ~ÆÿÇG6₫ÿ!”;ÑÿŒgÿ8çÿƠVÿ¾ÿ_JÿRÿ/¢ÿ‹¶ÿ¬ÿWÿâÿl@ÿS"Úÿ²ÿ®ÿM)ÊÿGÍÿÆÿcYqÿd1¸ÿ ÿ¶`ÿ­₫>Ñÿ„ÿbH3ÿ$̀ˆvÿÿÛ̃ÿq¨ÿ9~ÿúÿqÿÍ ²ÿcËÿÿøÿ~ôÿÀ₫ª™ÿâÿ—₫E³ÿ_[ÿ]ÿæÿ""Î'E‰ÿA ́ÿéÿŒÿVÿ¶ÿëÿKÿ1Óÿóÿàeÿ*÷ÿO}Xÿ¢ÿùÿW·ÿWĐ₫Pÿ«°ÿ1ßÿ5ójÿœÿJôÿ/Î₫YÍÿøÿ…ÿÖÇÿEÿVÿ>Dÿ=è₫³ÿiÿˆÿ>ÿÇhÿÆăÿR»ÿàÿyÿ_û₫ñvÿîÿ›ÿêÿœÿ}zÿXÿÆÿ…ÿ>ÿLUÿŒÛÿ{ÿ ÷ÿ…ÿ,eÜÿ(«ÿ¢;́ÿ^úÿƯư¡ÿVÿ”ÿ¬ÿ{ÿeÿ§deJGëúđÿïÿM'ÿ̀ÿ$̣₫ÿ{ƠÿưÿÜ₫}S‚ư˜₫Ó₫É₫kÿ«ưŸ₫ÿY₫£ưS₫>₫«ÿÿ“ÿ9çS(C ̣UçIĐÿ­ü"ûLù̀öö®ơ¹ơơUô…ôÂö!÷‡÷ù³û́ư¹ÿëÛ’W´§  ö₫wùẠ̈đ̣X̣Úđđ̣ªöDú´û¾û6ư ÿüŸø÷aöUơñó̉đøó"÷‚ûS ñ€"±"¿ g% (sơírê¿ëEíöëÜïÂ÷h₫fHKĐ “÷*ư•øVô%ïŸëOê£ëë/íỤiùeMl#&*ơ)¸#» ¥ËûNđxè\çJé¿ê,ëñËùă7 g^ &0ưA÷4đ¯ê™éë èDçKê6̣I÷ äMu&)+U+ÿ$ư@ GûiđèæLè’êẾ•đëù\ÙÎ Ü#fb .ÿ?ùỢ‰íHêèàê,è3éÏẹ̈̀†ơ/ÂU %¿)Ø,ä% ' ï<ưúñFæ“å©è~êí<đ=ø^év%‡ m5Øû…ó̉í¸ëkêaç½éè₫êîtô{ö x##ù%ä*ˆ.†$¾úG¶ûïUăwă¾èWé½́ñƯụ́CE ’} /°ûuôîÿ́XíéÏçÚí́;î%đù[ûù-&E#Ê%3+2+ÉỒ=ưaö«ëxáå«é‰êƠîơz₫M ¤ ú́N© dÖ₫=ùjó6îö́^íåêöçÍîÁï+ï ñ ù•ûä®$¶%V$́&,t!&ê¡ú\ö­ïjä«̣̃ç¡êîeô ư1Ă ; æ¦ÿâû«ơ‹đñ́Ä́ï9îỐhñ†ó.ó¯ôúeüÅS#|%Ă å!ƒ)˜MøÊøôđïëǻß0êzï;̣öD¤ Ÿ“̉3 ÑM₫CúOöœ̣Ưïïï=̣ñï¸̣ùôṣüó1ø¢ûéüs$… đ>#₫#+¸ F₫ø…ô ïwăgæGï¾̣#ópú8L¸ ¢ -?*|íü¼ùºô|̣₫đệÍñÔï)đ‹ô´̣}ñqôBúœùñ$0̣%A"̣WÿÀùuố́'äè.ï;̣Đ̣­ú®D² X‚̃ G§üú”ô‹ññf̣Ưï;ï%ñ»óbñ¿ñơ4ú–úƒ8$´…u$É#~…äÿHûgô₫́¥åªèTî4̣XóHụ́Á c]«AMÙû•ø0óƯï ï!đ…îfïÓñ‹ó­ñˆó›÷RüBü^$O§!f#‘J@ºü{ö¦îèê;ï©̣Hô»ù/—• 0 í‰ ü½ÿLû]÷Ạ̊đHï#đ ïµđẠ̈»óṬôÂø@üHü $Ië¼ Q%iw…ÿjøăï%éÙêzîÏñ†ó.÷Aư# ± § ¼ ́äÿsûÆ÷ÎózđÍîđîgïdññ–ṇ̃½öçùPüŸüßî#%£@’$×# ưÇnưrơ¦́¿èëï;̣Àó-øÍ₫ü₫ 9 Ü ‘ 7 /–ư®ùüơp̣%ï.îÑî\đƯđ0ñ{̣pơèù)ươ₫z“Ó$J#>:$G¢ iÿÊư)ùéđNêôé[ị̂ôöüV5 ä N A D#ÿ²ù˜öiôƯđ{í´í¢đÀññđôñÿơêúU₫ 1h$…#¾C/"°‡ À₫ưù ̣5ë[ë¾ï?ó@ôMööû‚t} Æ ? íưúø÷>ơñ<î¯ï†̣̣ƒñ ó‡÷üLfïă$¸ ÷€´Uáü!üù\ñ·ë íÉđ óơ+ø ưk}%T¯üøA÷ơtñ°ïKṇ̃ßñ™̣}öûÍ₫w÷ñï"t!ƒ`)8Á¶ư±ûVú¶ôPîë́ïˆ̣zơUøWûçÿà!ªäZ ₫=ù÷CöhôẠ̀ḷạ̊¶ó4ơ¸ødüư₫5Î`_!°to†Ư%LưFûú·ơăđ¯î”ïç̣÷ú"üÿËs &øÿÓưßú6ø·ööVöö1ơîơđøYü₫`ÿˆâ₫Ë#WUe3(äÿ®û¢ùEøö0ộó|÷Åû²ư:₫›ÿVûvx¦ÿP₫ïü3û>ù́øîùCúùùú}ü@₫Ûÿ„3P| ƠđÅ ç } BÛ$₫7ü®ûQû;úJùú³üåưb₫đ₫1ÊŒóÿ¥ÿ]ÿ¢₫₫%ư´ü·üưưĐü£ü­ü*ư‘ư(₫w₫¿₫9ÿä©á…ªâ™èM@^ÿö₫₫²₫ÿ+ÿ·ÿmˆQ]k‡|ÿơ₫,₫¤ư<ư‚üêû`ûOû4ûöú₫ú ûïûÂüjư)₫mÿX$h,’U£TåaƠ¤fX!â«wc¦*¥ÿGÿ—₫Óưư•ü0üvûû¿úáú%ûçú$ûcû¨û,üøü'₫í₫»ÿ‰?µ’Rè1l°Ë×ʉ]ÑßBÿ€₫ ₫´ư~ưưúüâüÀü›ü)üü¶ûÓûü`üßü6ư§ưùưj₫Ó₫RÿÍÿH­ƒîlïYºH]-ßeï9¶¦X#ßÿÿYÿÿÅ₫€₫G₫₫ôưØư©ưcưưưư-ư%ưNưøư^₫‘₫Ï₫Aÿ´ÿ*Œèơáî©^!)I^`Y›—¥vSP³ÅÿUÿÿ¦₫1₫Ñư`ư0ưmư¶ư“ư¹ư÷ư>₫ˆ₫ÿ^ÿ̃ÿEX¸”¸Ÿ‰:i˜¯¶i±è3䜫6å“8›ÿ7ÿ€₫a₫ÅưŒưKưưvưHư»ưçư’₫ï₫UÿÊÿ adpviP‹œ̀nÖHÆ"ëÍy„ơv³Qºÿ±₫₫HưQư2ư ư—ü:ü{üAưúư[₫ơư_₫Ë₫cÿÿĐÿ±ÿU‡Îă`ÄH‚4N0®ĂMÍ¥4w¬₫üüÈü’ü¤ûúRú ú¼ú5ûÛû₫ûüư®ư₫üư›₫XÿXdPàG†‡¢8×Å-‰ơÿĂ₫Øư©ưØ₫zÿŸÅÿùưßüjüüƯüüDú–ú%û*ûúâù²ù°ùĐù¹úOư’₫vÿC Ÿ`ØI ê =Ü ¤₫ü`ûSøKơ„ôö-ø/ûÓÿZns̃p]₫óúàù¢ùÑ÷ô¼̣LóÄô5ơøö7ú¦ü¡ÙĐ æ›C8i‚öơNù^ö—́¿æ³êó„÷Où₫®° Ûî›ÿûâ÷´ô¶ñ ïƒï¥ïưî‰ï§óªù ÿP¡%Œ'¹ç•A¦Hÿạ̈ôömîă¥à#éđñeôOơư} aÎü ̣ü'ơï|í íƠíÔë¿é<ëâñ|ù¨₫đ9‹*œ-x#%Û#sÿ¥đñ‚ô•́ÔßáÜ`æ‡đŸóSôBüs “K ₫€ùươqî[ë£ëT́™êÚçsèÍî¢÷RưttF*m1H(¸Ơ &/ñ́đpï ôºí`ß{Ù¨âøîó¼̣-ù÷·¶̉{" ‰úÿ´ö„îeêDêëäéÚæZæ”ëúôĐû]D„$¶2t.D"“É%¨"| Áơàí£̣ñËă)ÙËƯ ë“̣ị́mö%•ÀQ/V 6¾úµ̣ñë±èđèäémèñå„ç=ïÎøF₫›!ä-4)GO"'Æ}îtî7ódë¹ÜçØaäñ¼ô'ơüa ål ¤¼₫7÷ÁîièUçkéëéÅæ'å1ê§ôüM ‰"w4å1$#Äà$È$¹»ô‹êæđ!̣́äq؉Üđëâơ{öø×)͘Ư` ¢ºÙûạöéøæé¹êaèÛ使üî™øÁü®K\+p6@, 'z.î]́Ọ́cí{̃‰Øăñ|öăö_ü, ,‹ƯÅ· —̀jù3ï…çÙæêgêÙæyäèOñ]ùXüñ—X/T5°(Ú#€'Å'ưb́¡ị̂½è̀ÚCÚ·çhóÎơC÷¿ ~dr¥ ÿ±öíwç5ècê÷èææëéñ?ø¹ûʲ¬-O4†(­®"~'c«ưx́öîóĂéñÚÚèQô^ö ÷¯ÿå ÙAY ºÀ÷*́¦æ"éÜëxèrä#æĆMñ:ơàù¨ (u3f,â G! ')áîpíqó³́-ƯµØ0åóö™öF₫» E}Ù1b~™üøºîè¶èèêÑèÂålç§ë‹îÀñcùc‰ G/u3X&Å#~$ÇcơHëƯñ̉ñ ănØPà1đàöOöû₫Çܽ +k ñ†úñ[ëéêaë-èLåˆè¤íçí"íóBÿ‘„ E ü2º0ă ~%%r^ïïÔô·ëÜTÜ&êHô*ơ3øi® đ/ UëcÿJö3ïḯAí@êæçªíÏîßê í˜øf D$M6o-Ä9(ÿ6ï»̣2ô<ç)ÜùàíWó³ơü¨O ưäúÊ e ÿ8ôüî·ïéî}éöåÂéïî ê¬íxøT‚ÿ¡ $©54-ÿ«!$)D—ñpóẠ̀—æ2ƯYá–ë¯̣®ö^ü4— Û€ªÇ ’ÑưÈókñ¦ñ´íBè.çJë%î\́sé́íœ÷x₫Ÿưn#6~.n#,n¯vñ9ôZó̃å_Û'àëóBö*û¥] °lŸ=  Cư ôLóó$íàç¼çNë–í̀́ê?́ưôưÓư‚&B5}1 e#ă-Ü!¯óoơó_å$Ûß¼éFñEơtú!‘ -ơmˆ üûDôˆơôë6ç"éuëǴíñêºë‘óœü₫\ÿ˜Ă4k4N!e"1&„Äô„÷̀ó¶äúÙm̃WèÜïÁó˜øæ ›“.,: û¬÷‰÷6ñèuç·éÔé7ê¡ë•ëá́ó|û ₫!(’5·1{!»'3!Ïä÷‰ù^ï=àIÚ7à^è6ïxóÀù¤đ4´Qƒ[ Hû8úúô×ë6ç"é:èăçfêûë™ê¾îR÷bư5ưE )16 )(#q1’.fưrû-öçaÜ,Ü̃ă5ëˆïTóEÿ9 È!   ¬ “ÿÿúÉí–ç…éđéFå0ç̉ëÉ́këđ́øPÿØó)/2(Y)ø1º"å :₫ÿù[î â9ÜŨ0æ$́ºï–÷~Z:¬ÓK45?üañÅééôé$åsåàêÉ>é€î÷Ñ₫M a*L3”)¨'`27(~ÉUüÿñ@ä:ƯpƯxåÄéj́Äôrr b ]§Cßo ^ÿsó­ëkêêÉäbă©éĺjé£ë-ơêư:je"4‘*Ơ%i1×-eTüÿ3ö¼æ̃ƯơăoçWèƯñ” ZĐ{¡+ zö—ôẤaë₫é­ă{â›éëç4ë̉ơ)üÿ<$ƒ2K(‹([4Á,§ =ö\åûƯẪKäøăå^ó5 ¨‘Ÿ ØHôªï΅¤æ â¼ăEèäçæ ́:ơFû'ÿjx'>1¢%,C7[)p~ 0ôdäÁ̃¹ß—â@àưäô1₫s 9cü56 ® ö†đ?ë ä7á§ă·å–åZåĆcô;û œ †+/8&q1U7ă$lœ aàñxărßà¸ßNƯĐæ}ôwúmF I }² »Œø̣ è€ăâá‘â0ää’́1óyú̃Ç4.*₫)s7Å4(!Đ ₫ÿ†ïăéà„̃ƯÚWÜ~è<ñîö‘̣oñ„óº l`ûđ“æàă¨à ̃KàáuăcëḌ¾ûZ-(¬2i:C/ç½t Hü ë>ăăß4Ú¬×/̃ÉçÆîY÷9m·₫˜ Â!”J múaípæPâÏƯqÛ̃|̃ââ×éôBúÊ ¥)y'L,¹;8+?!†× øö9èä¡Û ƠäÖéƯvä(́£÷é2 "%º"©[éûĂídçázÚ[ÙSÜ·Úàèöñ<ø{'đ#K1*<Ư6c-3$qÓ #ø­́Ïæ8Ú{ÔÍƠ/Úßmæ₫̣` ö” P&b%™ÅR ưóÁ́văÛÁÙÙ"×âÛ‚âùë˜̣/Î ”+É9 8²0ó)y"ÁN#ö©ïyá=ØOÖ~׉ÙƯBçùôơÿ% å! $#LÙOrù¥îäï̃uÛ×NÙüÜ}åpëKù—|T-p0l-¯*D%gˆñ¼ưó,çáÏ̃4ƯkƯVà}è˜ñlùÎ× ưÅ_0 ÿföµïOîàëSê~ëôíåïỊ́Üûéÿ ơr²ô‰ ‚ü₫Múaøæơjôfó̀ó öÁø®úüư58RKŒ1W=̃e₫tüŸú/ùTøß÷•÷Ï÷øùú\û>ư'ÿ lmZÏU¼ø²ÂÂë(Uçÿ¼ÿ¯ÿ̀ÿ0Ki@ïÿ’ÿí₫E₫hư^üûlú1ù%øt÷µöŒö÷¢÷­øgúpü…₫›¡ÏoŒ _ R ÎN©”—Ö.R„¸ñÿÿE₫—ưưÄü_ü,üPüRü3üSü/üüûsûûúúQú\ú úzúÎú]ûâûîü₫oÿüYûúß ₫ ä § à/ÚÆ÷ÿø₫ưØüKü üăûüüưkừưk₫ª₫»₫¿₫¥₫`₫₫?ư§üéû7ûúMú^ú˜úDûVü»ưù₫†1­?,ÅáÓçƯu 8[ÿÊ₫Ñ₫é₫ä₫ÿtÿÁÿßÿüÿ₫ÿàÿqÿø₫‹₫âư<ư•üHüúûÎûëûGü¤üư¹ư,₫æ₫>ÿĂÿs²Í7^ÙA²t¶Ú¡z$°¢2ÍRôÿ²ÿ]ÿÿÓ₫Â₫¤₫•₫¢₫»₫´₫»₫µ₫—₫o₫2₫úưºư{ưBư!ưưDưsưÊư]₫ö₫ÿ6ârè-arb;çºY@& ,Ae‹–z@åoƯÿLÿ«₫ ₫‚ưưĐü¢ü¦üæüDư³ưA₫å₫wÿđÿX˜· y9êÿÿ;ÿÿƯ₫Đ₫é₫1ÿ˜ÿ®^›|©¬pEœđÿTÿÖ₫s₫X₫?₫b₫Œ₫î₫1ÿ~ÿ¸ÿâÿéÿÇÿ’ÿDÿë₫w₫₫¼ư€ưLưIưiư±ư ₫₫&ÿ̀ÿbù}́4WjY4ë¶l4öÚ̉ØíA`zyi2ƯjéÿUÿ»₫&₫©ưAưôüÍü×ü₫üFư«ư'₫­₫*ÿ¡ÿ ]«°£X4"Yö[Ä k¯b “mƠÿFÿÉ₫_₫₫øưđư₫3₫u₫½₫ÿIÿƒÿ«ÿ¿ÿ¾ÿ±ÿ”ÿkÿBÿ!ÿÿú₫ÿ)ÿbÿ«ÿ rƯ?•× ơʇ0̉v Óÿ™ÿuÿeÿgÿzÿ›ÿÂÿêÿ $1,ñÿĂÿÿMÿÿæ₫Â₫±₫µ₫Ï₫ù₫5ÿÿÑÿ"m®ßûơÖªu> áÿÄÿµÿ¸ÿ̀ÿêÿ@m“®¿Á²“h4øÿ»ÿƒÿTÿ/ÿÿÿ&ÿCÿlÿŸÿÖÿ 7]tzqZ8áÿ·ÿ–ÿ|ÿqÿtÿ‰ÿ¨ÿÑÿ5f±ÄÉ¿¨†Z)÷ÿÉÿ ÿ€ÿqÿmÿwÿŒÿ¬ÿ̉ÿûÿ!B[ij]F%ưÿÔÿ®ÿÿzÿnÿoÿ|ÿ•ÿ¸ÿàÿ 5Zx”“…oP.äÿÄÿ­ÿŸÿÿ¡ÿ¯ÿÇÿäÿ";OZ[Q?$âÿÁÿ¥ÿÿƒÿ€ÿ†ÿ—ÿ°ÿÏỵ̈ÿ5RfsvqdO5ưÿäÿĐÿÂÿ»ÿ½ÿÈÿÙÿïÿ!5HTUPB,̣ÿÔÿ¶ÿÿŒÿ„ÿ„ÿÿÿ¯ÿÊÿèÿ8ITXUH9(üÿéÿÛÿÓÿÑÿØÿäÿ÷ÿ #9JX`_WI3ùÿƯÿÂÿªÿ™ÿ‘ÿÿ‘ÿÿ¯ÿÆÿÛÿñÿ (02-$ ₫ÿíÿàÿ×ÿ̉ÿÔÿÛÿéÿûÿ$;N\ac`TC,ûÿäÿÍÿ½ÿ¶ÿ­ÿ­ÿ¸ÿÂÿÎÿßÿôÿ%'"̣ÿâÿ×ÿÊÿĂÿĂÿÍÿÖÿéÿûÿ(<HOVRJ=/̣ÿßÿÏÿÇÿ¿ÿÇÿËÿƠÿâÿ÷ÿ $-5/'ûÿăÿÛÿÏÿ¹ÿ¸ÿ¾ÿÅÿÎÿàÿóÿ *A@BKF3#ôÿçÿÍÿÁÿÆÿÎÿ×ÿáÿéÿûÿ")& óÿâÿÖÿÉÿĂÿÆÿÎÿàÿêÿ́ÿ!(34,6*÷ÿíÿƯÿÑÿƯÿàÿßÿâÿêÿ$&%*7% ưÿæÿÓÿÅÿÁÿ¼ÿ´ÿºÿĂÿÓÿăÿûÿ5>Zivr[M1ûÿêÿØÿƯÿĂÿ»ÿ²ÿ²ÿÔÿäÿ>SGF1& ôÿáÿ·ÿ¯ÿ«ÿÿªÿ­ÿÅÿÍÿêÿîÿ PtscYX5,øÿîÿßÿËÿÄÿ°ÿœÿÿ“ÿÁÿßÿ-<&?nfwOéÿlÿ¨ÿQÿûÿoÿ½I₫÷₫₫ÿ¹₫¤àÿEˆ₫HÿïüÀǘ₫­_¨*₫vü¤ÿ>nÿ£4a™nüîÿâư$û́₫E₫Ó¹ư₫DÇÿÊ₫x^U à)VR÷"⤦ư–ư³ưUSÿ:×iÿqKIÿ¼û6úü¬úø<üSưđøP₫‹₫é₫4Ô₫̃®ƒo8 `ä"¦ÿI₫½₫†ư‘ü/ü´û•úû¹ú%úèù~úYúÈûåü ưcdè *   ~ L Ơ ’…hèÿg₫û'÷ªơCô[ó¼óUó7öñ÷·÷ïú‚üÓûü.ư+ü†û‘ú;úû„øuü‰̣³í˜EÜ~a éPúộ—îfí'íî/óôøñư×₫Îøÿÿ₫\₫7ú/øöṆ̃-̣*ï·÷Pÿiú*HƯ¶†ö¤x« ÛṆsí÷éCăEăä–èÆíwñÁúg­ư ™ üÎøđ̣üî́/éz÷_÷Â÷̀ <×Q-$L%†%u"œ!F, ο÷|ëmè-àîÚrƯàïåé́Çơ‡³ ˆ̃² 1 Å@û±ö›đêÜå™ặỊ̂¬ô f’#đ*w*Y*ô'ë$äƠ bó’å4ă!ÚÔ×HƯ₫åÍê#ùfG ô Đy éü4̣CđRå×Ư;̃lâđÉï&ÿ¢>1"é0Ê1,1Y/¢)ë ±U÷‹ă-ÜÂ×ÙÎÖÏ ÖƯÄê_ö­Î‡›Ü$júB wøøéäf̃³̉>Ö¬×(èơvú§×$(7Ä>Ú953,¹!Œ ;úrñ§̃ÏcỊ̂ÉuẸ̀ĐǗéøùŸ çÖ%ê),o(æ‰V™ơèƯÛ(ÔĐ†Ê‘Ñ̃Ơ[èÆ@!8î9ƒBŸGÉ@†5…$íƠAèßC̉èÁ@ÂtŧÈÚÓ³â³öÿDy._2c2E7b*óh 8úÏê&ƯÓĐoÍÂÅ9ǼÏè×Há₫Áe6‰J{F̉E?E!:&$jd́ảuÏRÇǼĂ{Ị́Öoä½öÎ –«#-9Ă=Ï.a1Ư$ê Güí`Ư9Đ•ÉwË́Ç É¨Ù§âàíưĂ.#+ EæL <8Đ3ßƠ÷¶î¶×ÉdÏêÊRÇ ÖăcíUû” Nâ"Ó)`42c"ù~úf́äׇÍÏ@̉̉©ÖsæđSøPßo.â&„9µBU1§*2( S}ơlïNß=Ñ.Ø¢×nÓXßQ́<ô¤₫ G:8 Á'§&¿<%JđOèÉàDÖÖ½ØđØ•ÜVäî…ơŸüÍ ~$t"’&@:3?)Ï'BÇdÿI÷đ‚Ư{ÚÏ̃·ØÜôæ̃îă÷„< x~µ$¨1Ë ưqñœéàáˆØ“ÙÄÛ±Ùẽ0çÚ́Vơ~üÛ˜"äi%Ù81)Å( ¦§ù‹̣<ß²Üà ÙAÜ5æZíƒöm₫! q“ "΋J u&óÔëwä8Ü7Ú†ÜñÛˆ̃Bä̉́Ỵ̈û»®ư$¯/7Ú+q(a%n ºưú4́₫Ü#á̃ÑØÜßBè@ị̈ö±î„÷ q™dụ̂AëơáxÛ³ÜƯcÛ*àpç”íÙóy₫”ax#î34"+T)å# ´ ưùŸè¸Ư¶á|ÛS؇àçèí=öqë ov´« Đ@@›üƯó₫́†â·ÜŒƯ?ƯÛïàæ̃́eó,ư"eè"¹-z3O,^),%IÖ•üâïáûâ7̃÷ØÛƯtăôèœđEùC[ v#¼;Iă`ú¹óèiáßEƯœÚîÜøà*ḉưô€ưÅÙư%ª40c-L,ú$jŸ MûqéÁăÁà¤×ô×sÛ)߯æ̉ídú/} §F!Ă!4«u+ÊûƒđĐå}à ÜÍÖ|×èÙøƯêä¯́—÷RG&"À2Ø5¿11”,}#¡ă Ị̂æàâ‚ÚfƠ×ÿÙÜ߸æđ@ư]»ÆêÄJ Abùäíëå×à>Û‰Ù}Û@̃Lä₫êªôèûi dÚ̉%æ,M+o*—(í#Vz /ôómïëèâKà{ß´áîäîèùñëùùÿÁƯv‡ T =»­ûÁơG̣…î÷́¹́íÀï¡ñ¶ơ£ù₫Dƒv €(¨Qp =—A₫ ú§ọ̈ó»ñ‰ñøñóÖơrøTûº₫øpZ(ù“o£̣»ÿưÉúfømöçô óó÷óqơưöªùáü‡ÿ¼ç«É r Q ¸  … § ;€ăuÿ…ưü&û=ûèûåüw₫4Ç<hp°5”P{vÿKưøú¹ø´ö*ơơó4ó[óô&ơĐö₫øû|ưÊÿû NnCyĨm®¾4äz«€É_Ïâà®&JD µÿ8₫Ñüû4ú6ùǿ÷º÷ö÷røüø½ù§ú’ûqüRư4₫Đ₫_ỵ̈ÿQsĐĨƠ₫48Ík~Ù&RAÄ;’ÔÖ×»rÿY₫Kư%ühûđúúeúyúĂú6û¯ûKüÿü€ư₫t₫™₫•₫s₫"₫ÅưNưƠü‡üFüüTüÔühư>₫sÿƯ+—M9ça[]‘y?+(QÆÿCÿÿă₫Ñ₫Ø₫Í₫Ă₫Ă₫₫^₫(₫Çưjưüünüüœû1ụ̂úÍúƯúØúû~ûükü ưÉưY₫ë₫¨ÿj̉ƒ"³3²=«íKˆwpG«:×SĂNØMÑRÏÿ_ÿƯ₫P₫íưkưưü¦üQüüÊû¨û“û‡ûzû¸ûû̉û ü0ü„üĐü!ưvưñư2₫È₫ ÿ¶ÿV¥h¦JùxV¨×«ˆGÉXÑ7Å!°HÊRÿÿsÿ+ÿ¡₫₫Àư ư¬ü6üËûiûFû÷úÿúû4ûlûĐûKü‘üGưØưA₫û₫sÿƯÿ,’Ëü9~ÏT’Ṇ<ƒÂ—›@}B…ËÿÿOÿ¼₫₫¶ưbưưưíü%ưư8ưư4ưËư£ư¿ư₫™ựư¾ưÀưáư·ư2₫îưt₫°₫”₫̉ÿBÿ¡ØËué°”F©~›Ăƒ…k.…Đ“˜àB/¹ÿ‹ÿXÿä₫?ÿ?₫₫₫B₫\₫^₫ùư[₫¬ưP₫Ëư¾ư‰₫̀üÿ-ư%₫1₫₫?₫·₫§₫À₫°ÿÿFíÿr@\v]æ.IíÑ”®? »Ä38*¥₫!3₫­™₫ÿÛ₫UưÁÿ̃û¤û¿ÿ¹ûÉ₫gưäüTÿpûŒûbºü¨₫0ÿ₫ª₫6¦ÿ[₫,aÿ†ÇwYƠ,ÅÜ­JƒÂyÂ₫køưZóÅ₫Á=ư üVüŒÉưKÿ+ÿ0₫2ÿ?ư¨ÿü˜ÿ¼üÿ¶üÉÿ]üÿ₫ÿ₫‹ÿ “ư€éüäg₫W`ö©ÿ©ÿ'ÿd%ÿƠ@!Tÿ¹ÿ’{₫``₫Á4ưüƠ₫§ÿ´ÿ.₫ ÿ¶₫ªü̉íû^Mǘ³ú}êûyqÿZüj§úM/ú\–üàÿƒeUÀÿÖ{¶ñÿ€~ÿ ­Đ§A¸oÿ~vÿƯÿEÿ½ÿ˜ư\ăûGªûâÿ&ưÓ₫«₫₫nư=₫×ưưÚ₫¾üÊÿưüØ₫₫Iöû ˜₫ĂÉ CuŸ¡Â:#*—x°Èÿ±˜₫—|vÿÿJưe¶₫t₫¾ÿóûv₫åüOüEüƒÿ¡ù*úó₫‡ưNưöÿÇ₫O₫ÿ(´ŒÏ¢ÿ•ơë—xS₫}ùđÿé öµXhs.ÿjé₫åçI₫Ùÿcü_ñü¢üă₫Íû¾ü ÿ°ûyüúÿ‚ø7ǜü>û4FÿÿÔtkf­‚óyÈüÏÿ†'î₫êé™ü™Éù]"ûhDư<ÿ¼5ưÿùª)ü}üuùzÿ˜ưû÷Cûá÷¡Éöƒ@₫#ưÁ{ÿrxƯƾWíưæ¥Ủñ₫G’₫V₫Ä]ü4ÿÁü₫Áư ÿQưÙ₫ît₫IÿJçû)!ÿû´₫zú¬ûzûw÷Íụ̈øæøDưÛùïüÑ₫fÇW¨ØD– ƠC í7~*Üÿˆßưû^ư™ügø(ưĐû+û£ư·ưư|Ă₫À´ÿª₫äưIú0ư₫øàọ̈ø¼ơî÷&öÂø\ú’úŸ&™P!D j g Hù w € σZÿüDú÷ú ÷₫øjùG÷Éü‰ûÅü2/¹ÊëH¤X₫Vû́ú˜úóÆ÷ó¡óZóỊ́Àøàö₫”/  ! |Jü¯R̃ ë´Üưcÿ%ù“ơH÷*̣ơ´óñơÆøú.ÿ«jÛ,ÜÂÿpúúºö§̣ªô&đ®î]óŒïÓøÂúlư,b  X´µä¤ÀêK¡ î}Îûƒơ ơ§đ ï¹đđ¹̣öùÖüÎÿ¡û1Ư1v₫üùÙöHó%đSóÚị́û4ô$ ¨5³ûñ/©s̀ăăø„÷•̣±ïî̉îíîäñóơ,÷ûüoÿ©]ǰÙR₫ôùzøöÈïÛó đŒđ–ùoơüÿ ¦Ï«:ơ™ùø) ‰ùÖö¡̣Öí[î_í·íÛđ)ơâö½ûËl¯› ₫ƒûø³ơ₫đTđ‹ï~íy÷Äô±û¯›’ùq­`E,"v Ahƒùïö ̣6íḯ¦́!́LïôƯơñú'óBøơhàÏ₫áü‰ù‚ô+̣×î‹îqëó”ô<öb~‚ Vcuk–†€CD“ £±ú{÷̣½́]́fëfëFíó*ơÿøÎR;  ÉÀĂü‘û‹ôụµî´́Úê~́ ơ$ñ€₫̃©Î:«fùÔŸ ÓîưBö7ơŹ5êæë¶èÙë&ñ ó^ø#ÿua · Í‹₫}üÖ÷ñ.ñÍë ê/êXíQô"óÍ³ß #oḮ!j<Û'„—Øù®ôÆđ¹éê;éíè×í¦ñtơû¦“ Ä ‰”ÚưúPôđ«îéê‹èñíơôJơ;ÁbAYœ #} ˆª¢!˜²|öqñî½ç~èíèléđ(ó§øCÿ©®! % « †wđÿkû¹÷lñví’́™ç#éÑèÙí÷,÷a« l íƒ!H#¡!<ïDs úsưlóÎîëûæÅçjé ë²ñöbû©}S I   lßÅ₫ù;ơÿîuëêyçóç:êRë¨ösû–ö+‡Å"6!~#2#'Ú5 ƯvûƒơÔë́Ûç<æ0ê{́ đ¥ø,ư!î · ̃ æ 7ü¹ÿö÷‚ô”ïUêéÉç‡çäèäíÊíû5âÊ‘†#%Ö!Ñ"®[¥  }üñö+óOêéêBéÑçaí đJô üco ư ) ^ Q _¬£üWơ/ñ"îœé3è[éqèVëBị̈=÷€N ™nú É#, ;l=Á ưøô¬đÏê#́íë\́¨ñ¨ơbùÓÿî§® 9] £ 6Øÿ–ư†ø̣‰ïaíê(ê`́7́ôîŸóÿơƒù:. ² ®I»"6ª̣2 €–Dø,öỌ́í*ï¨î9îöó$÷̉ùF+ß¼́ È æ Bÿưùúọ‘đ2ïǻwíZíïï›ñóÿ÷úŒ₫Đ/ [„íÅNÏ÷àô Úỷưj÷(ơỌ̈î$đđ(ñÿơàø4ưYY7–Éăđ«ÿàøÏö±óƯïëïYï̀î2ñ2̣çó̃ö"øUûr₫… —±áæĂ¬q ÷»ưæùUơÈóÛđ‹đ­ñæñaơWù@ü é<Q ¬l:üưØ÷6ôóÖđñ=đj̣Hô#óú÷}øsø₫D₫ À {¨=Èí: ³×ÿưœùßóÉô¹ñ3ñùólóđ÷ëúU₫ˆ®æØÚ̀áÿjû‘øÄöhóẸ̈¡ñäđ$ótólơq÷œø®ú,ü—ưO·P̉=å0K°… †Ưªü¾úö ơÁơÎóÆơŸ÷"ùBü)ÿ-ôë§äç…üàưÛøÏö4öṇ̃ạ̊^̣€ósơößùiúµúÊưØü₫Êÿ=ç ØÄê iS[Η¨ÀûGûÖø.ø}øtøñù›ú§ü_₫jÿyÍkÿ´₫Ưü.üùùø7ø?ơIơ´ơĂô\öAøîùóúaü²ưÛüzư#₫ư5Çäî áz‡' „Ù&đûưÍüµú¡ưü©ü₫ưÿ°ư·₫ÿ˜ümưüû»ûÆû¤û%ütúú-úø^ø<ø,ø†ùüúƒüsümưư´ûküùû•üI)0 · B 1»£  ÿ†ÿư!₫o₫u₫£₫r₫́ư₫Êü¬ü¶ư ü»üøü,ü¦ü£ü—₫æưĐüÿHûúù;úÇ÷”÷ø"úû|û¡ưüïú̉û̉ù€ụ́ûÜÿ¥4•5­"ƒ Ô ÂXT§]ÿÛ₫ »₫h₫]ư­ü˜ưÑüÄû‡₫ưàü;₫Y₫x₫!₫¬₫ưïú û ùÇ÷ƒø=ø3ù…ú̀û™ûÛûwû×ùØùDùÇú÷ü?` §>SĐJ $ÂNwÔë̃Èÿ‘₫Àûü/ümüIüäư₫ư₫[₫1₫•ưÜüoü~úzù/ùøcøø0úÑúÀúüAûæù‡úóøêø¥úÚưâz•q³=\x XX́½"ăÿư¡ư˜û­úŸùöû ₫̉üÿ=œưăưIư₫¥ûƠúvư#ùêøgù­÷R÷_÷Núú̃ùoưfû‚úºúçù¨ú·ú“ÿ3ëÖ#ơ3 fBê1µ̀˜Ä›₫ÿúäú§úpúJư?₫ÿÿt₫©₫jûûJüüú&ûöûØûú{ù½ù‹øÛ÷úTû8ûàütưºüüưú|û‚û’üuJ Vü©q ̃TI*W·´?dÿ́ûÁúÔúûƒü¬ư&ÿwÿÄư6ưøûËúPû‹û ư½ưßüwưUüÎúoúŸùêùúåû́ưsưăư©ưüIüÈú:ûưü:₫¦Ûñ üĐê ÆnÏËPe]º÷sÿtưöú¨ûÉûAü₫Æ₫b¤₫ïưưÀûAûVúùüKÿ©ưaư”ư¾üÅúXù úù¶ù#üÂưr₫B₫»ư ưÇû#úLú.ü|ÿÇÓ ¹6¦ d r©E)§¬P/1Ó‘₫qư{ü-ú7üÀüÆ₫)ÿ ~₫¤ü¨üYû–üVư:ưG₫Zư:ưQư,ü™û ú?ú²ûÏûûûüÊ₫ï₫aưüÁû^û|úŒû7ÿæåÙ Î ûkƒT!°lÛªƒÀüüđûúüªüưüJÿÿ÷₫2ÿÜưóü,û3û¼û&üL₫†ưPưưAüüGú²ùÂú“ûØüơü0ư3₫+₫ˆ₫QưüFư£ưE₫‡A f »³ n J#Z`ç'̀߇ưükü8ư@ü üVư°₫tÿÿ©₫Qưü̉û̃ûüÔü_ưYưqưvüđúéù$ú]ûü´üÙưu₫÷ưVưµư6₫m₫₫(₫Èÿ¤øå,â 8 X ¿°k ø7&•–E5ÿyưøüưXưËüTüÎü°ư-ÿp₫Bư¾ü-ü–üÀûdü)ưưưaû‹ú-úSúªû‹ü¥ưl₫₫àưưưZÿy±é®ÿ"ܱ c ² è,ú%ơºU¨Eđÿˆÿ ÿp₫L₫îû™üÿü„ưf₫óüîư<ưëü|ü+ûÓü‡ü\ü—üLûèûVûưú“û¢û]ư ₫₫?₫ưQ₫‰ÿ9wÿ̉ÿ§­Æ*»µ _ G Åë¶?²Ư^2ÿ…é₫ùû=ûôûâüư‰ư©₫ÿG₫üíûÏüéư^ư?û†úPûküJüDûû¨û=ü`ü¸üÉưkÿ½ÿµ₫¡ưU₫+Ç·:€ônq‘ 9 £XK̀† ăFñ͹ÿÿ¥₫á₫èưIü¬ü ưï₫À₫Xưæü+ü‚ư‰ư¹ưư6ü+ü³ûüúüÍû…ûûˆülưÔư9₫₫"ÿÑ₫X₫9₫Ü₫µ…ư‰ÄÙ§ ơËAô¾Ô’jÄ\ÿ®₫[₫4₫¡üûÛûdưNÿé₫äǜûYûçüƠüvû0úÙùŒü₫ư¤ưûGúDü¹ư£ưÉû₫ú.₫]Ê¥G₫ÿj2+ ïÿå»÷ÿ—U›¯`²ẸÀ/K)Ù@₫eüUürư₫9ưưbưI₫¡ưû‘ú³ú ü&ưQüû¿ûCư1ưùû—úúü₫Û₫]₫|₫¿ÿ¤ØÚÿ¹ÿ¦ÅB©p}'bq1ç¾çĂï ¥¢ư‚¬ÀI¹ÿl₫NưưưüÅüUüSǘü&ư$ư/ü ü?ü‰üeücûFûÙû ư¾ưNưÇüKü–üåü*ưüư:ÿ°T¡¤ ‘»ïÅ”î‚P”á‡ÛÅ6°YY£rάüXrÿûưwüùûüwü}ü«ü(ư™ư ửû£úĐú ü ưYư®üüäüZưBư¿üåüâưÿ¤ÿoÿWÿÔÿÊa‰™ß2æDƯ¡*€†>ÅØh¿0Ưذ]ê)ư₫ºư±ülü¨ü.ư¼ư₫8₫çư4ư”üSüüÑüÇü¤üÊüeư₫W₫/₫÷ứư&₫f₫Á₫@ÿëÿ—7J\dE%.H®Kè\‰œ•g. ÷‰ú}=°Ưÿ%ÿ¼₫l₫ ₫®ư£ư₫t₫’₫3₫¶ư}ư„ư˜ư…ư“ưâư@₫_₫₫ÅưÆư ₫ˆ₫Ÿ₫†₫’₫ê₫iÿ¾ÿäÿD˜Ă©ubÔ $3gË3ŒẬ  ;_S’ƒá>Éÿ~ÿ5ÿØ₫u₫-₫₫̣ưñưüư₫7₫G₫B₫7₫B₫Y₫g₫k₫X₫@₫+₫₫₫₫ưư ₫+₫Y₫₫À₫ư₫Mÿªÿ₫ÿ=Zf}¯÷.\Ø,w«Ư-ĐÍœoLµ*ÿƒ „ÿü₫”₫V₫B₫9₫₫÷ưøư&₫L₫K₫3₫#₫.₫5₫₫êưÀư´ư¯ư›ưxư^ưdưưÑư₫J₫₫ÿcÿ¯ÿöÿ?†Æï 3á1i›ăE¨ó$ñ¶_ê`âiƠ&ÿÿ̃₫¹₫ƒ₫;₫₫ÿư₫)₫(₫₫îưâưçưÍưưEư/ư7ư*ưøüÆüËüưmư®ưÚư"₫—₫ÿ†ÿÄÿ_È+>rÂX–Ù0Ü4UdJö†«h·$¡ÿ$ÿ¤₫=₫₫ơưñưÙư´ư¨ưÏư ₫₫îư²ư§ưĂưºưrư#ưưư#ưưư ưwữư-₫l₫»₫)ÿ¥ÿTˆĐ(rŸÈR²@o¶ IYF$úÁaàTÅ*†̣ÿpÿî₫o₫ ₫Îư±ưœư}ư^ưhư™ưĂư¿ư¥ư ư¶ưÅư®ưyưHư>ưKưJư8ư9ưkư´ưûư<₫₫ö₫sÿáÿ1wË+€ÁïL£ú*7Y§đáÀ¼³fÚVư¦jÉÿ^ÿÿ±₫+₫Âư©ư¹ư§ưhưEưkư¬ư¿ư™ưưưÑưÑư•ư]ưXưwư‡ưyưnư’ưåư;₫u₫°₫ÿ’ÿ \—Ư9•Îé9zÀơ Cx™–ƒjKĂRç$¢“ÿ$ÿË₫y₫ ₫Öư´ư«ưœưư—ư³ưÆưÉưÅưÄưÔưâưÏưœưzưxư„ư‹ư‘ư¤ưÖư&₫z₫¾₫ ÿpÿâÿD•ä*i Ñø<e˜Ëæí.VZ>üƠ‰¥Détäÿ_ÿÿÁ₫₫+₫Üư´ư¾ư×ưàưƠưÍưÛươư₫₫ứưØừưÂư¬ưư|ư‡ư¨ưƠư₫5₫z₫Ơ₫=ÿ¥ÿ]®÷7w«ÏäøBj‡œ¶ỐúÚ—Q ÁVÙgœÿ+ÿÇ₫„₫U₫"₫èưÊưÖươưưưñưïư ₫%₫"₫₫éưäưæửư¬ưư—ư¸ưăư₫*₫l₫×₫Mÿ«ÿ́ÿ/]‚“̀ $"H{™£ÈôôÉ•x[·>Ù2ÁÿOÿú₫¿₫ˆ₫N₫₫ ₫₫₫₫₫₫#₫"₫ ₫ơưđưôưèưÄưŸư™ư²ưÓưèưûư$₫x₫ä₫DÿŒÿÑÿ/œû2Tz¶è₫úJoz{µÔÊ‘HÎZÓm6ñÿ{ÿñ₫›₫₫₫\₫₫Úưöư1₫A₫₫÷ư ₫7₫D₫₫éưáưüư ₫ôưÖưÚư ₫I₫x₫¡₫â₫:ÿ•ÿäÿ.Ô@_…¸Ưèàæ-BC@Ni|w^=́®d µ` ®ÿJÿí₫­₫ˆ₫j₫;₫₫åưñư₫1₫"₫ ₫₫8₫Z₫R₫2₫'₫A₫a₫`₫K₫I₫{₫¿₫î₫ÿ*ÿtÿ×ÿ&W{µÿ:S]m©´·¹Éßó₫ ñΟh,ê§Z »ÿvÿ7ÿÿÉ₫₫ƒ₫s₫d₫U₫O₫U₫e₫j₫g₫a₫e₫l₫l₫e₫d₫l₫s₫v₫z₫‘₫º₫ç₫ÿ8ÿnÿ°ÿíÿMƠ "8h•£–§ÇÔÉÄÙñè¾—b½ˆa)Øÿ‰ÿVÿ5ÿÿÙ₫°₫¦₫²₫µ₫¤₫‘₫“₫¨₫·₫¯₫₫œ₫§₫ª₫™₫…₫‰₫¦₫¿₫Ä₫Â₫Ú₫ÿLÿqÿ‹ÿ·ÿúÿ7Xl“Ï ₫ 5frbWp®£“®«ˆ[?3׆L- ̀ÿ‚ÿSÿCÿ4ÿÿà₫̀₫Ù₫é₫Ư₫¹₫¥₫±₫Å₫Ă₫¦₫‹₫ˆ₫˜₫₫₫₫“₫½₫à₫́₫ơ₫ÿ`ÿ¦ÿÍÿâÿ H‡­Ẫ 7IKWx˜ ˜–£®¤vm_:Đ³—i&ëÿÆÿ¯ÿÿ]ÿ3ÿ ÿÿÿê₫Ô₫Ô₫̃₫Ú₫È₫·₫¸₫Æ₫É₫¾₫µ₫¾₫Ñ₫Ú₫Ú₫â₫ú₫ ÿ=ÿKÿ`ÿ†ÿ¹ÿàÿúÿ:m•¬¾Û$27G`sulipq^C-"꾂jD́ÿ̉ÿºÿÿqÿNÿ8ÿ(ÿÿí₫Ñ₫Á₫º₫­₫˜₫ˆ₫‚₫‡₫‰₫ˆ₫Œ₫›₫°₫È₫ß₫ù₫ÿIÿqÿ—ÿÁỵ̈ÿ'V~¨×.F]z˜ª©¢¡£œ‚`B+ᯄcBçÿ¼ÿŸÿ‰ÿnÿKÿ/ÿÿÿ ÿ÷₫ç₫á₫â₫á₫Ú₫̉₫Ô₫Ư₫æ₫é₫ï₫ø₫ ÿÿ2ÿFÿ[ÿwÿ˜ÿ·ÿÔÿóÿ<`‚¡¾Ưø%3=FMME7'çȦ…iG#₫ÿàÿÆÿ­ÿ‘ÿzÿfÿ[ÿSÿGÿ>ÿ:ÿ:ÿ@ÿBÿDÿFÿNÿYÿ`ÿeÿiÿpÿ{ÿ‚ÿˆÿÿ–ÿ¤ÿ¯ÿ¹ÿÂÿÎÿ̃ÿîÿ₫ÿ 0DUeu†•¢«³¹¾½»·±¥™{jU@-ôÿáÿĐÿÄÿ¸ÿ®ÿ¤ÿœÿ–ÿ—ÿ•ÿ•ÿ•ÿ—ÿœÿ¢ÿ¦ÿ©ÿ®ÿ´ÿ¼ÿÀÿÂÿÆÿ̀ÿ̉ÿ×ÿÙÿÛÿàÿæÿ́ÿđỵ̈ÿöÿưÿ !(+06;?BCDEEDA=;73,&  ₫ÿúÿ÷ÿñÿíÿëÿéÿçÿäÿâÿáÿàÿâÿàÿàÿßÿßÿâÿáÿáÿáÿâÿăÿåÿäÿåÿæÿéÿêÿ́ÿíÿîÿñÿôÿøÿùÿúÿ₫ÿ  ₫ÿưÿûÿúÿùÿøÿöÿôÿóÿôÿóÿóÿóÿóÿñỵ̈ÿñÿóÿóÿóÿóÿôÿôÿơÿơÿöÿ÷ÿ÷ÿøÿùÿûÿưÿÿÿ  ÿÿÿÿưÿưÿưÿüÿüÿưÿưÿüÿüÿưÿ₫ÿ₫ÿ₫ÿ₫ÿ₫ÿ₫ÿÿÿÿÿÿÿ₫ÿÿÿÿÿ₫ÿ₫ÿ₫ÿưÿ₫ÿ₫ÿưÿ₫ÿưÿưÿ₫ÿÿÿ₫ÿÿÿ₫ÿÿÿÿÿ₫ÿÿÿ₫ÿÿÿ₫ÿưÿưÿưÿưÿưÿưÿưÿ₫ÿưÿưÿưÿưÿưÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿüÿ₫ÿưÿÿÿÿÿÿÿ₫ÿÿÿûÿÿÿưÿưÿưÿüÿüÿüÿÿÿ₫ÿÿÿÿÿ₫ÿ ₫ÿ₫ÿưÿưÿûÿơÿôÿđÿ÷ÿôÿóÿøÿùÿüÿ   ₫ÿÿÿøÿñÿơÿûÿơÿúÿ÷ÿúÿùÿöÿùÿơỵ̈ÿíÿúÿóÿ  ÿÿưÿüÿóỵ̈ÿøÿưÿ üÿøÿôÿùÿ ÷ÿûÿôÿüÿöÿîÿóÿ÷ÿôỵ̈ÿùÿ₫ÿưÿøÿăÿîÿûÿưỵ̈ÿïỵ̈ÿæÿïÿêÿîÿéÿ́ÿúÿ  ₫ÿ ơÿûÿîÿ́ÿơÿ÷ÿñÿëÿ ơÿüÿûÿùÿôÿåÿïÿäÿæÿéÿêÿ# ûÿÿÿÿÿ èÿéÿăÿÎÿÑÿÓÿâÿîÿúÿÿÿ!(+C7)æÿèÿâÿÊÿÈÿÙÿÚÿåÿæÿíÿèÿđÿùÿ0:=ZieJV Ûỵ̈ÿ¥ÿÀÿTmrá„©̀(#úÿaơôĂơÊïỤ̈Tø]ön₫¶1 à î l¶ DrDWú;ü‡ûiùNÿÁ₫¾Ñ.Ø₫èû•÷ø̣ZïíîÆơqüÉú CI“ =¦ tưP.ư¿øäüYưîû a²$ /P ó  ­₫¤ûôUè çcâ$̃5àíàÍâaóÜûíư(ÙÙ#ƒ i¼üúèû/₫îụ̀̀,_ Y7­h÷ˆ́cèmßÙÛÛÚØ?̃(à̉çëÿÍö¡M¡*5!§ We q ÈTÿC₫ñ₫± Ô„N • xüí÷gîä¼àDÛÙ±ÙîÚÊßÈágî¼ÿäùÁ$Ư¥)sĂ«7’ ¯Sä”₫fè / k t ± “₫VüZô¥è~æ à0ÙK̃wØÜ̃̃"ăƒäZñ^îúĐª".=#œ®!ÑâR$ Q [U —€ú¸ êÄùvụ̈ÏæœæÓ̃đÛCÚÉÙ_ÚÛ/àå˜ä©÷;v₫"ñ!#43Ê%³$%åóŸ Q z2 ¾ ç 5uwÿúsô\ëÑæZáG̃xÜÓØ}ÚöÙÚ‡áæááë¼ê{ œ¸ K3ZÏ*Đ6Ô!j$ˆ#ùcs V ¾¼ ºưü§îUêæ<ß̃ƯfÙ—ÙÙ ÛïÛâçeîŒ̣j†æ§6‰$•.Á7&#(#³@  KámƒÉÿ ÅớúÄöơäçæ.ă*Ü¡ÜƯÛ'ÚÁÖÍÚ„Ü-ÛBçHé1đRú'<+¹4y-/Ç8Œ*y"g$ç)gp Rº— Í₫ß̣̃°ó&î,ä~ä¾ẫ–Ưx̃ƠÚ̉ؽÜHÜWßÅç₫çëơùw ̣¯ú4a4S0+:%/*$%7<đÿ @ª±w₫‰úơøÆîë$ètá₫àßåƯỹ–Ú:Ư|Ú.Û·áÙá„è–ñô‰èưæ)o6<1¢6̣6^*X%1!ͧ³ lUùê÷™ñMê1çKäöàôßkßsß‚ƯÚÜ@ƯZÛƯØàßåƒë¨đ₫ÁzL$5ê1m5\8G.&ù"’üØp ̀üø¥ô´́âæ²äiáߘƯHßïÛÁÙ́ÜØÚ¢ÛÉâ¾ăë́Ưïú °"6¤-:3}7Ư*Œ&Û!åc@ê ¡å IJúùUđúéÉæñâaàî̃Ỗ2Ư;ÛÛÚñÛ×Ülâè¬îƒñ§ †6‡1c5¼,6h2%n"~i<D u, ¢ú/AôÀ́/ëåÛß̉ÜƯÔÛ2Ø̃Ù<Û{Ø;̃ŒâFæïôŰ5x0+q6„-#ê h[_ _\ØÈưENÿĐ÷·öÂî5鲿Õj̃Ü'ÙvÛ³ØJÚ˜Ư¤̃Óäứ‘íª$c[3‰.«)µ4„-$f!ư ô , ^ó Óö₫6úèư ₫uùôđôöï æă[äÍÚÛÙ—Ư=ÛçØÆßÚàæYêÜ÷J ¢ƒ0¶*l*đ0b)$ïÀB_ ç ä̃₫ Äü§ú>ùÅû¬ü]ö)÷2ơ÷́›èèå à•ƯƯÃéƯ&á¹ä½ê—íMø{ I ›$%E&–'$Û"Ϋ7x xÊÓÿN₫óù@úBû~ø›ú¼û^úĂø ơ³ñÛíSé¹ç\èZèèè ê¥ë¸́{îñ1÷çưQ X5Åơ_b´d Êj¢ÿ£ưCü{û.ûü₫–₫Óư4ưû!÷Cóàïíbêsè@ç3æÍ囿(èàë®̣‚ú|±Ù±ñ́Í_X‹²è O Á•GB₫ü@ülü¿ư­₫²₫o₫ÊüƠùSö ̣́îb́êẹ́ç³æBæ>æèæ\éÎîÂơÚüü ^êe€"“ơ`ï‡ Y A$₫ ư6ü*ü«ư^₫I₫j₫ưåùxö;ó—đÖíªë:êÏèÈçåçbèmê¥ïLö¢ü&7 ôoëgω§÷‘²â ù³²„₫ưËü!üü|ưÅ₫\ÿÈÿ¿₫Sü?ùö<óGđªí'́lêÏè4è4èépí*óIùLỵ̈ ¾›ă›ºâ Rw z æ~7¦₫3ưÄüŸü˜ưHÿ®Pœ₫₫€ü6ù:öWó`đ̣í¡ë1é/ç3æ¡æéîcôxúpMÜ ƠÚ´,¼ z„32 i³„Sÿ₫wư¬ưÏ₫yx¢mOơÿ¡üù`ơÀñ|îLë4è€åëă³ăkå ê[đñö₫= úa™™Øƒ@êâÚ C¢!rÿxÿ'›~”[£ưù9ơ]ñ×í¼ê çÓä8ăÁấăè-î²ô°ûø” <·4 W«ïu yd²¡3_œc1= ưTùÁợî“ëyèå‹ă¨âăæëÿñ¯øQ ºèϺG̉B Ö Cñ¥ă·ÿ<ÿ;ÿéÿc¨‡ÿhưjú_÷ ôÄđ¸íhêFç äăâjâêădè–î7ơ~ü#, ]jRÚ$_D2ܧ vÿÈưÉüü9ưˆ₫Êÿµÿ¨₫uü¨ùöó¯ï]́ÊèÂå}ăAâøâƒæ7́æ̣7ú-â ZÏùY©ôÄ;Li #´yØư"ü ûñúÅûPư ÿ.kçÿL₫Ëû̉øUơËñmîÖê™çûä_ă7ăÇåëSñnøS<#%º@Đ_Á¸l`2 º3ơÿ]ư‹ûúGúûRü:₫¥„ÿ¼ưû̉÷@ôñíê"çåäùåjêđ³ög₫øº ®y₫ô’øPR ÈEA’ưôû´ú8úÙúüøư{Aÿưâù!öẸ́Gïbë-è¹å°äŸæ„ê¢ïCöÆư· Uù¾WDçg¬, úÿ½ư,üû²ú(û-ü=₫Sq₫•CD₫Ûú&÷²óđ́µèæ¸åSè_ësđI÷™₫£Ơ ̣U¸#Aȵ ûx¹ÿAưœû û7û]ûÅü—₫V…\ÜvüØ̣Oñƒî~åÓâÙÛ«ëëWëú×ÿ¸Ï¢2z!é2Œ [ Fư–÷¿dûLö6ü+ÿ̃ªæ™ Ñ« ÓÓ6 cæñ…́îæÙöÓîÓBĐÔĐä ư“û‡  ù&-‰#Đ%»!ă„NÑú!ôC̣Qñ₫úhü@ü©× ‚ ¬ 9 Èj¯ư‰ÿaùÈö*̣1ñ£éäZÜŒƯ…Ú,ÖåHÀx¼'¾)ç/¦#§ŸóÖøư‚ụ́>̣Æđü"`!4µ 0>û₫ÔÿĂ÷¦ï=óñùOù­üÍư ₫/ư˜̣́Ÿë–ârǗÛsä¢ Â @ÿ'…0´/S&M¿£”̣đïØï£đáï<ñơ ´ Ñø ₫ = GùYôËù¸ïOëÆñ6ójùû=úpđ kÍå«§đù÷Áö₫đ íEă1ñ±gÄÚV "%·£̣̉äí¬äYêd÷ú¢ôƯé5  ˜Fö“ưÇ÷6÷æó·ü¼ÿ"ưyjK !hSÖÿü$ûj÷‚ùÿ–₫[ÿ; ,ÆÇ£@Ù­#ü÷£öỊ̈7đúMåIåxü÷®7z=èIgÿô¼ùú÷̣Mô÷.ÿ°  —üM·‹]üc÷#øª÷WüsüHù3ư¾|ѵ–üªưÙûÓû$û¬÷8ùØư€-g¾¤r«&ÿ{ÿ[₫z₫n₫™ü€ư,N)§½â !%₫SütüÚûûüâư‚ưÔư¦₫ÿă–ƒ“¢›¨‚(Njÿc₫“₫·₫–ÿ"ˆÿÂÿ6µZ†ÿ ÿ8₫4₫ ÿ7ÿ¢:F®|½ÿ£ư,û3ø­ö.óOöư÷ ÿ< * x\(ü+÷ạ́TôDø¹üló—̣–Ư£ÿêûø%ù…úSư±ÿK¿|¦Û5yưÔû ü ưü₫×ä‘aIÆ4Ö·V—₫¥ư>ưZ₫ƒ₫ä₫̉₫r₫à₫W8ß‚‘ÿFÿtÿmÿ±ÿŸÿÿ'ÿÿqÿ/Íê”Øÿ¼ÿ”ÿ°ÿÑÿÈÿ\C—­ÙÖ +ÿ¸₫¹₫×₫Zÿ‘ÿ3˜±¸˜hƒ6çÿ°ÿGÿ@ÿ?ÿYÿ±ÿ5cª¥r\T6- ®ÿ|ÿtÿwÿÀÿåÿ̃ÿ×ÿÿ€ÿÿÿ´ÿÿÿRĂ 6G,Đeïÿ™ÿpÿLÿ*ÿÿú₫ÿ‰ỵ̈ÿ>`\bcdyL:Éÿ’ÿMÿ(ÿ*ÿ#ÿÿQÿÿ †á(`kuSï~ñÿ‚ÿ0ÿí₫Å₫Ù₫û₫IÿÿÁÿøÿ,Tqvpc7₫ÿ»ÿ‰ÿuÿjÿeÿzÿÿÈÿPŒ¶ËÛ噆}Y8ưÿƠÿ¯ÿÿ‘ÿ‘ÿÿwÿoÿiÿwÿ„ÿ¤ÿÂÿéÿ&7>2( Üÿ©ÿ{ÿnÿ~ÿ¥ÿâÿ#i´í&øĂ}/áÿ£ÿxÿ`ÿjÿÿÿ¶ÿÁÿÏÿ̀ÿÄÿÉÿ¶ÿ©ÿÿ“ÿÿµÿÏÿúÿ $"(/><BMYed^ZOC<&óÿÙÿ¾ÿ¬ÿ—ÿ’ÿˆÿÿzÿ|ÿÿ¥ÿÍÿïÿ7RXU?(ưÿơÿûÿ(<LUSH8+óÿëÿæÿçÿ́ÿ́ÿèÿÜÿÉÿ¸ÿ¦ÿ”ÿÿÿ™ÿ£ÿ°ÿÅÿßÿ₫ÿ#GailgcYNH=7+$öÿéÿăÿßÿèÿăÿâÿ̉ÿÈÿ½ÿ°ÿ·ÿÀÿƠÿæÿîÿñÿđÿëÿđỵ̈ÿôÿÿÿ 3KVPC-úÿüÿüÿúÿ₫ÿèÿÊÿ¾ÿÉÿÍÿÖÿÜÿëÿñÿôÿûÿ øÿưÿ%#( ơÿêÿàÿÏỵ̈ÿ 2BE;üÿÜÿ¾ÿ¦ÿŒÿÿÿ®ÿßÿđÿ .6@',   ûÿøÿåÿÿÿ1=GD)ûÿâÿÁÿ°ÿœÿœÿÿ¬ÿ¾ÿèÿ 2&G;MIY\fd: Ưÿ½ÿ´ÿ¤ÿ®ÿÎÿéÿ ad'çIMàÁœưù‰ơóó‚ô}ơMơÖóƠñḥöbÿ§ „%̀)((Œ&ÿ‹đˆæ*ă8åưëjô´ûf(#PÑá ÿ3 jøĐîæè_宿°éåí”đÆñ+đƒđ¢ôÀư;ĂY/:7/6¢+A¸điâ1ƯßoçṆ†ûUú‘X*ơéY%{ú́ÑàÛ>ÛâßjæŸ́³đhô"ùÍa, 6í6E0½ ú úèê¾á…àßäíRơđûÇÿÔCPô¢K J´”ơ)ù́ơà€ÚœÙCƯ*ä+ë*̣Éö”₫0‹$`1ë9Ä8œ/†á ÍơzçdߥàPæÚï|ø"₫– î₫èÿdÑ åd2 Ÿǘ ߌÖzƠ£Ùñâ@ëYóD÷'ûNm ẵ,A:^?ó9ƒ*†ư“ëöà©ßDæ„ïäø=₫Å₫…ü´ù÷ùÿ5`LSz uúfê₫ƯÄ×éØ₫̃­çïlóăôûôûâv·,(=­D'?ö-ÊÙü¤é’áfâúëFö₫füöPóơ¢ưK •‘u  ôäæÚ ÙNƯ'åḰöđJñ“đMïîö̀L1óAØG@,Z3üiëÇæ´éj̣úưWúÑôcï$đÍö¢e) Eúöê½à'Ư>à̉å&ëíḯ¦êqêß́úâ €$O:ZF1Fd9œ# ™ùœî:îc̣̣÷¡ú~øç̣…î½íñóÓ₫) ¨P„ÆûpîÍåHăAåßè̃ëëm锿JæÚéƒó«ü23BƒF+> -5öºđ½̣KöÆøø2ô?đdđÉôËư¿  bø¤î„èŸçAê¶́”í–ëîç‹åfæåêvô£‹¼,;ó@‡;ü,ßùcóởù¨ü~û¹öªñwñöÂ₫îư Qüuđ́èºæyé“íEđ\îïè2ă–à½åBđ©W.r:ơ=À5­'ªm åÿ;ûóùeø ÷ơ·ó_ô»ø‡₫nËL‘ÿùö¡î¶ê>éŸê ëëÂèˆæbä–åcéÏôÍ u 16LA“A‘2è ! ßü^ọ̈ö°ùhû«ù¬ôỵHó•ú?  o y®üđRèñåƠæ é¤é₫æă—àÎá–èRûˆt/›B‡G›<Ó'á³ư»ôĐôAøûuùÖó*ïhđ[øúA¿  ÿtñơç8ætèCë"ëwçààQƯ\̃@é}ª Ù:=IsG5ôÇöhñéó[öäơ¬ñèë́ë5ôô_Âh#oö£ếæNé́®́ßè±áØÜ‘Ư×êË'AŒKD°-‰ ₫Ị̂ñ£ô¼ơËñ§ëè”ëƒ÷è'd‡ đưïzç÷æwêÄ́$́mçêâÑàÉ8 (fC±OÆG.ªäø¦́¡ë³đăñËí‚è÷æ íDüœ'Ư ÷mæß“à9åSé¼é©æăƒéî8$TD.VöRc:ä₫­íé—ëṔ-çXá‚àHèÆø¸ =@iûœéáœàÛâăäµäNá•ß~î ª0±L@XL¢": nùĂï̃ë+èÆàÜà(́§ưµ·WJ€ú¹ï)èVẵÚ×Và±ú«:jJGJ9M#Ùø¾íâ3×iÔƯÛ́±ư ƒ ‡ ÿ{úÍö€̣äëä—ÛíáUúôÔ2ô?¿=-2¶ Y)ô)å‹×JÔh̃”íûèwiü¢ù´ùùó½́Ÿä4ǻ÷à*Ü22ñ'´ïMI ÀúØê­̃­Û—äƒñŒøöøBöBó³ô‚ù½ûXờë ă/çøựÓ.:2:, S4¤Áö¾æ̃ÊàÄëiöBø»ơYóơ{ùrư úpïyåïâ¬ôë:(l-±'*Ư.zl₫Ùë¡áă‹ëwôKôúîíKóÀûRÿ%û#îä¢â'ơ‡Ö%M)"V_€ qưªëÎäÜè«î3̣ïí½èë*ô?üoûôLéhæëZªơ$›¶N Ê"4² ûóÙ́sî«ó–ñ/î‡ç6é«đùg÷ ï‰æ•å"ëû¯¶û!G«%'Ó&̣² –ù̀đ̣•ñ4́†ä‡äçƯñ÷×ôëæ·è#ïUûÎ.̀ç$Z)z%₫Æ\÷ùô­́øåæiécí đGêƯåăûéÚî•ür ö¶â%À&<"i= đ"û?üơứ7ê0ëîÁí‰́æÊă†æÉênđm?m W(&œ*. &@ÿ₫úxï è/êß́‹́:êÿæååæWëÍî¸ú´´”®À%)M ó [Fưf̣wèé”íÉëç¿ä‘åÁæÍè£́ùøƒæÍO+$q*É"•₫¼ ¡³ự>é»êçíLé’äÙæḿ#îí8đƠû¤ 'Ÿ0"1! Đ x¼ûơó'̣̣CñzîUíṂƒ÷¸÷öCúÙ¬Ÿ Ó  fÀ&ëy₫@üœûÓûNû1ú2û₫8ÿ§₫Âÿ̉¦lѽQ¢ư1ư¦ưfüZú6úü"ưLưîưCw;̉aUmuxo„*Ñ̃ÿ₫0ưeüÎûûú«ùªùăùÂúü¿ư‡ÿ’kâ©È«$ñ}à[ÿ₫œưưbü›û+ûÔúú¤úKûIü€ưî₫l<u^ÛÜ8ä)†Đÿ:₫âü ü¸û³û·ụ̂ûü>ü°üqưT₫iÿ‰¯?ÂDÑÜ!Oưܵÿ«ơ‘ưưøơú\~û˜÷Ëỵ̈₫•üư’s“-X“¬%ÿ·ü÷ÿümüûLüÈúgü9ü”ûƯÿM€Y#‹ơD‚fµ¡³‡₫@ü4÷đ#ñEóÖëñ¦ỗøÊü–I l¨wÖH;̀ ₫úóºèîàCÜQÜû׃ÚèàˆóZ¬ (ë/:+Û,'Œmcöá)â†×ïƠöÑÎăĐ=ÜtîN› íc-ø43Y3$/$²'8û@đRâEÚÂ×%̉H̀‹̀Í̉ußLơ–s$X3”5^5D5c,åB¾ölí3á(Ú ÖbÑiË_ÍbÓ>á†øÔ0F&ˆ45/5$4ÿ*»}-ö%íáBÛưÖTÑ)ËlÍyƠ>å‡úN—)( 4]213f1û&¡(-Ûô[́ÛáăÜØÄÑÖˬĐXØ.ë±₫ “a+]3g0£1Ù,!W* ̃úF̣OêƒáoƯîØ̉©Í•Óxßđó²Ù Ö/o2E/.I(àØDö^ïøåà¦Ü)Ø¡ÏÜÏëØLê3ü÷¶_(é20 .+Ä éNúḌåê;ăßÜÜkÔưÍƯÓ1â ơsƯí(0±1ë-6,¦&ÍT (ÿkơñíQæká¥̃Ù̀ÏlĐĂÛ%ị̈₫9 X÷+=3à.+_(đó v÷«ïwèúă®ßèÛ ÓÚÏ×êºưÊßY(Ơ4V00+°) +æQ÷'đ3égă«ß’ƯgƠdÏuƠè?ü×%Â3=2û*°(† à£E÷×đYéªăàR̃ׯĐ|Ô„å„ûƯ ¬#K3 4I+ÿ&} cöËđ)êÔă'à”̃6Ø̣Ñ–ÔƯăwúÅ /0"n2£5²,%ïĂIôđ ë‚ă*ßM̃åØP̉¥ÔVă/ú½ VK!y1™6œ-$EîÉóSđ4́ºăߦƯô×ѼÔ×âÄø ?„!~0e7/!$´¸̀ẬcïÍë\ăh̃Ư~×K̉ÛÖ²äëøx Üù".̃4 0$j{9“óºîëkäßÈÛÖ«ÓôØpåơø/Ù#½,J4’0Ç# jvgó îÀéåă¾̃ÚûÓÀÔ!ܤç+ù ú%¶+j3Í0Î#˜7„vóÁ́èăå̃ÅÙ†Ô׫̃ érù|5!&̃)1¯0S%\W ëÿgơ–́Êå½âêߌÙỐØéáê\ù"&(10"0’%`‚ ñ₫ öŒ́œäÂáKàÚ(Ơ(ÛNäë́ø3$&t&˜/{2ç$2ªÿ­ơ2éBăKă‰áÁÚE×qƯGæÉí‚û³Ù#G&ø&0ä23#Ÿ Åư‘ñ4ä‚ßÇà¦àù܇ۂß`é­øĂ å̉ È#Å)«.»&b,úǴ¯ă â²á™ßß¼á2æˆḯÿ/Œæ/Ư$K(ƒ 3æzúAí*å-ä̉ăsánàă5ëăơLêƯÔ!h"Ap ÁÛư öœ́Fæ£ă´ăSäüåè7ïxú| ßí‚$œgÖV<àü4ö‚îdéæºåvæ†è;́WôƠ₫ `½6•­­„÷ ~₫³ø ̣ǺDèóçêä́Ưîåôª₫–Eû„ÑS Ư|QưÊø•̣ÏííđíKïßñ´ơoû*h ª î ¸ „ … L íÚû7ÿú½ơ#ñwđ7̣WóƯöúÏưX‰,  :KBä¶hQÍV¿ưÇûûøơÔô ÷ÆúÚụ́üM₫ï ªªt€ö–Z\ÿ̀dÿ%ü·úú“ùtùIüwư-₫Qÿ́PÚ«;[́ASíd£aÿ¤ư²ư<üđúÔû×üâ₫ë₫ÅÿtvG-$‹âqv3üÿ™ÿY₫Äư‰üÚüÚưvÿ™ÿa&j,àG¥ÿ;í9}ÿ›Wÿ¬₫}₫g₫‹₫oÿGÆ“Đÿ|₫Đÿsÿ‹ÿÿŸs Å€§­ÿEÿB±ÿüÿúÿÚÿ„ÿ‹2ÿÆüYÿU¼₫€ÿ*›, ÙÈ?q´éÿÂ…4ÿ³₫ôÿtư~ưÛ₫—₫Ưÿ£ÿÚÿ>₫̀¨QO>ưÿÚŒÿßÿ«₫N₫ÿư¾₫ÿÿvyÿ\´Óî/ Íÿ jiCÿ¸ưpÿ‡₫-ÿ²ÿ­₫ÿÿqVL÷ÿÖ1äÿÙÿ{ÿƒÿa"ÿÎ₫`ÿ¤₫ÖÿbÿVÿ¶Kÿr’ÿ¡¶h½ÿƵÿNÿ&ÿ̉ÿCÿÿµÿ¼ÿH÷ÿI»µrÿÇÿÀM3¨ÿsÿ”@ÿŸÿƠÿYÿÎÿêeÿçÿÁ“µÿ\ÿ<6‡ÿeÿ̉ÿ’ÿœÿëÿBÿ¼ÿ©₫§c}ÿeÿ€ÿœËi%?Ûÿ2¥ÿcÿ”₫A&ÿ$ÿ„´ÿ±„ÿ^  &kMJÿ×ÿ3ÿ8ÿ1ÿ’ÿ}ÿĂÿñÿ\eÿ¥„ƠîÿÍÿ$jt₫Aöÿ̉₫î₫±ÿ¥ƒ₫mf.ÿ1±F™÷ÿÈÄÿà₫ÎÿËÿÿç₫ç₫v×ÿÿưÿ™[G¿=×.ÿÜ₫0ÿ¤ÿZÿBÿ¬₫ˆÿ—ÿ Iă‘ÿÿ¿«ÿûµÿUn7ÿlcÿwÿÍ₫s:ÿ×₫xÿ̃ÿ́ÿ´g¯S÷ÿN.ªqÿ;ÿ—Iÿ§ÿ˜₫¡ÿS6ÿ ØÿÂ3WxîÿÇ´ÿœrÿuÿ@jÿ¸ÿáÿÁÿ‘‰ÿ£ÿÚÉÿA„xÿÿFƠÿƠÿ:ËĐÿbg¤ÿÙÿ9̣ÿ„ÿĐÿ ÿÿÈ₫(!ˆÿ„n&öÿÈ Åÿry₫ På₫Èÿ4Åÿ(oÿ÷ÿXçÿEÿdÿ†ÿă”ÿqÿÉÿn+¯’ÿ{ ø2®ÿdÿrÿ|ÿ²ÿ* ¿ÿAÿ¬ÿ˜\­ñ¶ÿÈkAëÿÿ×ÿư₫ÿàÿxÿíư&@,ÿóÿüÿ? ôOjđÿ̉ÿÍ₫vÄ₫Ăü7Ä₫)ÿÖÿ[̣ÿô™Âơ °ÿ çÿ.ÿ́ÿÇ₫Mÿh₫p₫Ơ~7a€ÿjb́₫ûÿm—ÿ)Zÿ\ÿkÿâ₫F₫ŸÿQư Ÿ₫/)ÿ5¸ÿ5UăưxÿÂÿÄŸÔưư4Â6ÿ§ÿP̃ÿK₫ Qă#BZë¯₫!₫ÍÿXÿdÿyÿÍÿ<₫jÿẂ₫_jÿn‘uÿ̃₫qÀ₫̣ÿbÿvÿÎÿéÿÿÅ₫3^Ö₫ü2§ÿ•ÿ1Đÿÿ̀(₫ư.ÿ“|₫Ơÿ ÿOưŸf‘èËU₫»ÿb₫Áư–Å™₫§₫›}ưj₫EÿgÓ₫"ÿडüÏü•=ÿ—ê$₫Onüæÿ1qÿµÿ0₫½lÿ;ÿ›Œs₫ÿG²rÿm₫°è₫˜ÿJ₫K₫œµÿºư¹ÿP ¦ÿ₫}₫„ÿÿ¿ïí₫>ûÿ®#¼ü?ÿˆâÿ/@½₫”ÿ7MÑÿ^@ÿ“ư?ÿŒ₫Égküeü6₫@O¯pưü₫¥¬₫:ø₫d×È₫ëü̃ư ÏTEÿÁ_ ùg9 ÿư¶ư ÿûÿƒưø~÷Öø!ư_¢ÿÿª₫%ï0áÁ ÈÈàó+₫ûûùXøơ₫đMđđÖóZóỊ́âùúûóü©ÿ\v oîGç¡û  öùÎơ)ó­ïøîŸïkîSëwèïåëçù́=ï„đoơKư7ÀE†(Ÿ+)S!Uq ­Úû—÷<̣&íÏèsåƠäGç¬êøêsêHë¶í.ï·ó9÷ù0Ü2 -'lª¬©Ÿûcøßú¡øỊ̂ÂíLê3éúê¿ëăé>éẸ̀́añ¿ïúí ï/̣ ứ¨&ú0 1.0ö'“¹B)ùöFûíø«÷£ợ̣®ñ¶ñÊíĐè»ëôîŸî îḉ̉çîæ–́íîKô´ ú%t38ú7×-n"Æ *÷tđ>̣ôVøûù¿öÛô÷÷ô§ï™î¯́B́ù́›îßë]éEèKêX́»ơăO)̉37†6@.£$â]8̣9ïÛđÎîị́Ø÷‡ùä₫!ÿøpó‹ô¿̣£đOïÜê/ëố¨çƒăëéœë’ú4[,¡17r7!,y#ºƒú^ñ½ñÁîÂëñ¨ö‡ư#£Jú–øøôêï[́Hè%ëăêûääÁêéMô đ)É-6´7/Q+qưµölớ…éŔÏï­ûSZÿùưQưûE÷rơNï6ï§îèLç>éíæçéoölª',´2Ư52»*dtKû$ö\́÷æè‘đ^øsûúø-ưBÓÿ@ûyøúù¼óLé/é7í‘ë;è¤ç6éÂŒ²r) 1æ52•!? -&ư½ñ'éÈâ£éệ_óẹ•ú?ÿ*WGÿ1Sưè÷æïqíïơé ă?çôăuóÇ·"),¨/î2*(˜đKùeđ”äFæÚërëaïƒôù;í) Ÿ ̀Ñùsơôí=ç¦äƠáíâWăơâg₫ÂÛ&ä)458%˜â(üsëtäuèÍæEè‡ëqñ'₫i] s 7Ç ø₫øƒï¥è=äiämâ‡áßßñ1Jé±%„0ö6´-ư"@ù{ö¥êaéÇå»â±âæÆï$öôúN× ư­O å ̃ôÿăơÿ́êhèä‹ă2âçUù£å œ!T,¦-J($ź û´̣ÖëæÈâà’ă¬ééîöùư|ñ c€, ₫ ª–ÿ ú!÷ơô¡óPôaơÙ÷-ưœLẳÚ  J B û   öÿưû̀ø#÷÷Ư÷ùIûRư’ÿ™P7c/{i5âÿ²₫_ưü̃úơù—ùŒù¡ù'ú)û üưÛư’₫«ÿ< ñă‚­Y¶üD¡;“º Œÿÿ̀₫¬₫ƒ₫t₫¯₫ª₫k₫B₫₫ûưÖư”ưEư ữüküüûûÜûülü¦üưˆư₫ö₫̀ÿs ¢‰˜o#´(~7±H~€='Dÿ¦₫+₫¼ưàư=₫Ä₫‹ÿtÊÖ‡àÿ×₫¢ư}üKû&úkùƠøĂø-ùËùÈúüLưÍ₫`‰„3Ñi¨»™kj0̉ÏÎ4».Áq«ÿ₫₫p₫Çư;ư¿ü^ü&üùûóû ü8ü“üưtưĐư₫"₫U₫)₫åưưư₫f₫Ë₫BÿëÿÄAå‚Z„u ŒØ‹̉Iâÿ”ÿˆÿ`ÿOÿÿ¥ÿÑÿÙÿ²ÿÿ‚ÿ8ÿâ₫|₫₫›ư)ưđü·ü¬üĂüÏü6ư¡ư₫¨₫!ÿ–ÿÍ&‚èIXIL82M7÷À­‡IùU ²ÿtÿ>ÿơ₫Ç₫¤₫`₫Z₫T₫D₫[₫Y₫`₫€₫œ₫¦₫®₫¾₫ù₫:ÿRÿfÿÿÁÿæÿñÿ#Q‘·÷5^j^/Ơ›NC8486C`va’¢̉«™Z'¥ÿoÿÂ₫©₫r₫₫ˆ₫Ç₫ư₫ÿßÿg·’¦ÿdÿ(ÿ¨₫ú₫»₫áÿNÿWÿCÿ”ÿO üÑÍ]øÑ3Íÿ5ÿQ₫kưà₫b₫‡₫\₫§₫Y2ÍÿÛÿóÿ ơ₫èưÂ₫¾₫|₫ÿ¦ÿc°»n ©´À9PÊ8‘hÊ₫oư3ư\ư~üßûüü ư üêü™ư¸ư₫₫₫RÿQÿ̃ÿß^%̣Bo;Àƒ?Vư₫Ïư*ưFüOû2û"ú‘ùÉøøÉ÷tököˆơˆôơàóoôCøåü.& |kwƒföƠ±₫;öAđ‚éæªænæ̉éâîƠơ9ÿt„ªĐ¢ú± úÿ́ø„đ¶éÂä¾à~ßß’ßËă$éöT :Íú+¼26i/~+Q$•(¯ø$́çâ®×ÈÖŒØpÙÊàđéöö€ æ…] u F§Íª[₫5ơ¸êăÈÜ÷ƯÜÔÛcáÓå¸è2îÉơ½ C’+§2̃5N1)S'»–|ưóï₫åúÛw×*ÜàÚÜßÉêNôGÿ=BxĂ$qf¹¯û^ñ%îLë}èƒç±æié=èăéăîaîñùó6^ˆ î*2.,&®%•¿ ¢÷ơëâ¸Ûl̃ÜàƯ`èđ0ú£ ~ga—ÓW‡ _Œÿ6÷pöđJ́Í́SéÛékçPæ¥ë6ë̃ê«ïơˆz’&§*7.'.¼''£; S"̣œè›ßtÚœÛÚÔà‡ê|ñïưêÔ˜+J üö7ôóí ́ÛéMéÄéÑæ™çµë¦́9́7ñ÷ 2u’%w+-i-œ'„$V0 ÷ó"èáaÛܾÛáxẹ̈/ưBI´?sg· Æ[ü¼öÎô+ñ4́eíT́cë–é›èJ́Lí1́đoơ¸êạ̀ Í)p,«.7)˜%t ÆÜö̀éùáNÚ/ÚÜ٭ܶæˆîÙø tKº)̀ØB ˆÿ‘÷™ôæđH́øë(êZë=ëƠêỚPí3ññ<ởúC ưµ$m)e+ª(¨#, o˜ÇưEñXæCßDÛ́ÜÜâ ́̀óH₫ÂbÓç«ửY <~û_ợ ï®ëNêÂëq́ÓËí&ïïqôóü÷€ư „½Ï"ˆ(V(&Í fn)üÇđ/æmà•Ü…̃¥̃(ă îqơ¼₫¼›»₫o™P¤ÖÙơûƠôỴ•í«êêÙé́æëHî đ€đùơÁơZú ˆjß*#''+"ăäŒ  9ú‘ïÆæYà(̃á\à÷åÜï¥÷Í-0̃0^âd “KhúïófñSî©ëê$́dî×íÂïƯñŒ̣¥öÊơû:ÿD ¿¿a$̣$¾"X6̣̀Pü‡̣íéäó̃ªá âËäƠíOơ2₫nÔ Ö™ƒH+ ₫´÷ró’ḯ×ë‰êeëé́ií5ï.ñơ#ơ½û½ÿ 1û A$ç$ #&y³tFư<ó7ëråÔߣâ›â!åxí₫óMư…¬ ë§UÙŒù₫ ‹Pùsô:ñńë êê¬ë¢ê–íñógơlû¯” ix #¤$ #Aóf¿₫ûôhí·ç[ấâƯâ˜ǻ¿ñ¨úªsP×ÅÎM•(ưøøñjí^ë:éèSèîè í6ï ñÙơªû)'ïËj!"'#‹t¿” Ë́÷gđ ́óæMäRåBçÑë)đ÷ÿç0 7 iæ°È‹ ̀:mû÷ơbđcí6êérèªè́$ïŒñnöºúÉÀ {#Ÿ#d‰.¹ wÏưÔơñî#éé̃é`́*đóËú³p 9 w⤆ ÷(₫²ùô€ḯ“êYé™ê[íưđcó÷hü³Œ 6œd±¹Yÿ œ£đüøöẠ́Nđđïëđ7óơ+øGư¶üN§ ë E “QÛz!ữùEơẒüïêï0đÜñœô ÷ ùûƒ₫\ßù  —}  QFSÍsÿdư¦ü$úFø£ø!ùúmúüç₫ɬÛ3ó̀Ăÿœüäúxùñ÷úơööî÷½ø¤ù•û¶üÜư{₫¯¾wqtRE뤅›‚«û'¬7¡åÿæ₫ÿ¬₫%ÿ¹₫û₫5ÿ@ÿpÿ%ÿ¾ÿ#ÿzÿ¨₫œ₫ưưüºûKûIû9û±ûâû²û-ü]üpưkưêư(₫GÿÄÿÑÿÙ)nï~›ï¥ûl2e[QÊ&‚ëÿ¦ÿä₫A₫ØưÍưåưÖư¬ư…ưG₫₫y₫.₫̉₫÷₫]₫&₫{ưz₫&ư\ưtü%ư¢üøü´ü%ư¢ư.ư₫₫·ÿºÿĂ½Ê3ÉÇ­¤|—¨Făäóoư6G‚›¾ÿ¹ÿVk[}ÿÑÿfÿÂ₫₫s₫ôưzư–ưêư€ưñüưứưªư}ư‘₫±₫à₫₫¼ÿ+µÿÁ(:³¦ë¤h·ÚLP̉ Ă„>}]LY£dH̉ÿ=ÿ«ÿ'ÿrÿ0ÿË₫ÿ»₫ÿÑ₫ZÿÔ₫<ÿ$ÿÿBÿJÿZÿæ₫ÿ(ÿ©ÿ₫₫.ÿÿ¾ÿÿ”ÿ5ÿ3Bzÿ¾ÿµi‡ƒ“(96₫…?Ơ_|ÿ¿ÿgƒ̃₫đÿÏÿª ÿ)jPÿøÿFÙ₫éÿzÿËÿDÿîÿ@ÿiÿrÿ×₫iÿÿ&ÿOÿiÿÖÿ=ÿóÿ" F'g·‹R$·Vëèÿ%Øÿ›ÿPÿÆÿ{ÿÿBwÿ=´áÿ&?Sÿ{yÿfÿÍÿ(ÿ4ÿ½ÿÓÿÿEÿ}ÿ©ÿˆÿ˜ÿ„ÿøÿ/nC¹Íœ”­Å)BZ*øÿ{ÿ³ÿCùÿø₫̉ÿ!̣ÿÂÿêBâÿ£ÿœ2̀ÿ±*ÿ˜ÿjÿØÿBÿÿ ÿdÿ–ÿÛ₫¦ÿ+ÿ»ÿÿ[”„ +xôÿ±¹ÿéÿn;ÿtÿ#ºÿ5ÿ6?¥,Óÿ!óÿÿÿÀ<ÿZ9ÿbOÿ²₫Ăÿgÿiÿ ÿ¡ÿæÿbÿ"ÿWÅÿ ©ÿÇl‘ÿ –÷ÿeÿÖaÊ₫©âÿÚÿÙÿœÿ¬,;LÚj-‘‰–@#póÿÅÿ¹ÿåÿ[ÿÆÿLÿªÿYÿúÿuÿ·ÿ¡ÿ·ÿ«ÿ.âÿ+ăÿ₫ÿÇÿ²ÿ)ßÿ·ÿ̉ÿÜÿ àÿäÿO(.†]tdpWa[G/ qÿçÿ·ÿâÿÿàÿÁÿÚÿ ÿ¡ÿưÿ³ÿE´ÿ¾ÿJ|ÿ%†ÿéÿÙÿ”ÿ ÿ ̉ÿöÿüÿDéÿFD nKH^ €(0óÿ#åÿôÿÎÿ ¼ÿóÿÎÿ%×ÿ?Îÿïÿäÿ-Óÿñÿ¸ÿ¨ÿñÿºÿöÿ¦ÿëÿ̃ÿ×ÿƠÿKÎÿ.>= 9åÿXÍÿ5½ÿ?³ÿ)áÿƠÿI£ÿ:÷ÿưÿ+ #  ưÿ₫ÿôÿøÿÏÿïÿ'ÿÔÿ́ÿÔÿ ơÿăÿ ëÿÏÿÆÿ¤ÿÜÿ÷ÿïÿơÿ ôÿ& %#, H#Êÿ€³ÿJâÿ̉ÿ)âÿ ́ÿ$ÉÿNùÿÿÿ&øÿ!÷ÿçÿ¶ÿ³ÿăÿÏÿ¿ÿâÿ´ÿüÿ³ÿíÿ÷ÿĐÿ́ÿ( %øÿm½ÿ|ƠÿTïÿAÅÿb¬ÿbÎÿ>çÿ>?́ÿX%ÿÿ Çÿ ºÿ—ÿ­ÿÁÿßÿ¢ÿƯÿ¼ÿßÿÇÿøÿÀÿÖÿ êÿñÿ"  &2+/BB . øÿ&Âÿ(Íÿ ­ÿêÿ¸ÿÎÿçÿ̀ÿĐÿéÿíÿÙÿßÿơÿôÿôÿóÿ₫ÿyB.ùÿ«ÿÚÿßÿ*öÿ6&/M)úÿN€ÿIYÿ¶ÿ½ÿ<âÿ7Ùÿ;ÙÿO/ÿ?,ÿq)Ăÿ:$ưÛ¦ưÑÿ5ÿÅ₫’ÿ6§à₫2Áÿö́Gÿ¯ÿo₫̃ưJ₫Wæôüp…₫úÿđÿ6ºơfa&iwÿöÿá₫fØÿHÄ₫Ë£ÿkQtÿœ₫z?û ₫zûÜüûP₫₫½ü¿ÿNÿ:ÿd<ÿ´₫nÿzÿàÿqA“*Tº†4›Âæ ŸØ₫«»˜ûÿ{ÿƒ₫IÙÿ₫z ₫̀Øü\[ÿJyCÿë«₫•tvÿSs₫zĂülAÿ´₫Zÿ“[₫ÿÀ₫TÁ₫+ÿtϱưÿºHÿi₫.™£₫Âÿ₫đäưJV…”ÿ@ÊüOèÿæÿÖ‘₫'̣ưÿÀP ÿ›ÿ#T_ưc"ÿ.,ÿáÿ’ÿÚëưax`ÿŸ₫gÑưfuÛ₫>|ỢưƒÔ₫º/ÿ0ÿçsÿ›¾₫vNÿp₫ëÿƒÿ Äÿơÿ™(ÿ{@₫4iü±´ưËÑäÿî₫/ÿŒûâÿ©Pÿcÿ7ó₫@ÿKư½C¥ư9ÿ/,ơÿÄ… ÿÿüÀ₫ÆÉ₫oèÿÓüŸ§₫̀Ùÿ=³iÿ¾ư+ÿèÿ…ÿưŸÿ§üv7₫ywư}+oưLbIh2füxÿ&züg-₫Ùí₫8ưÆ%ÿÜ₫4ç ₫ÍGlü½ÿĂưí₫™₫[¿iÿ 1oÿ₫F¸ÿœưWÿׯÿ¯ÿ(,É#]àbÿûÿÿ,Åæÿ¬ÿ<‘ÿêºäưÑ₫¿₫ÿå₫ÅŒ₫ÿeÿ3₫ơÿ₫ ÿ₫‘ÿt₫Gưß₫*₫í₫`ưè(₫º₫Ư9>æ I#¾öbíÍƯ@₫)ÿ*|üüÁû5ûîø*ö‹øÏ÷ö÷OøAùoùºûưÙüÿר½ÿ܆ ’ 9 Ư» Â#€:? À ùÿ©ÿûMùqöLö¨ôàñụ̈1ñíđÖñộ£ô´ơ”÷MøPúâú$û ₫+ÿóáPȶï í Đz>kµ[ZÎdÿ’üª÷)óẸ́đÉï¸íMïëđ8̣1ó!ơL÷ë÷^ø7úûü”üQ₫³ÿ‰¦M `ªQ C:₫Q¼ Ï ·ªÆùzùî÷†ơÊđdññîïxñyôỤ̈öCö;÷Hö5ùuúñúü.₫ä,ôm¹F  —oÅ‚Å)1 ̃Îú4øÜ÷ˆơøó÷ó˜ô6ïï>đ)ï"ñ(ñpöíô¨ö\øFøÊú†ú!ÿDÿtÿ`ÿ. Pqô2Yp Ô 7xÿ₫₫Xư‰÷åô?ôeî¶îÍSđÚïîđ!ô1ó:ôṾ:ö•÷=ù„û°₫›AăÇ éaêÉd̀ G4œü‡ÿI₫¥ư3üúzô_ñạœïÍî¢ñ³̣¯̣̣]̣óựiơ*÷÷ù,₫‘ư¨ÿ¼]ô›»¦#û"ƪ àn₫túùù/øúưÊ₫Zü‰ưƒú†ơ=ơDơß̣`ñ·ñó†ñ…̣móó:ôaó‘öøZø*ûÊưë% ‚{Ô$Í'7"•â *ûüùMøQùûÏúRüíưäû•û¸ú)øˆøc÷MøtơtôÄôÜñỊ́đỤ̈Íô^ó<ôCơ\÷ ùù—&„*b'°&<} ’û›û‘ùbúµưp₫+ükùô÷aøöơ÷aüp₫¯₫¿üñúfơö7ñ¶ñ~ïÈîáôçï@đ°ñzøđú;ưVă*Û,Æ+$ïcư6ù§ùëüµư!ÿzd₫óù1ô§̣Ṿ#̣%øư€B_ư‰öúó¶ï§îFï™íÖóẸ́FñoóZơiû2̉;,*.”*!}/†ùœơ¸÷üüåưŒç₫öñđêïẓÂùBÜ ú IÿøeôăïiîàîíùïBôḳñ̀ơ û1E#T*.Ư&~›¤ÿ,÷ô ø/ûÂÿouăüöGñ¿îݘ̣Tû_c # è 1P¤úYơ óBđ¢đTîÏê~ïº̣ÊđJôút~'ä)×,Ư%" ø÷ô ơ7ønûûư^BÀûŸ÷|̣ñǗmï×ú‰$ §  – ºÿAø%öQơÿñôsîdé_́¾îOñ{ô'„'-”,0&Đr?ù đñơ…ùú±U] üZöûôđïû́ôđüRÄ j) ±₫(üŒ÷Hóṣêóî́çíêî¤ó(øÆF-O,(­ûU`̣]í ̣™öløûK% Ô#ưêø÷ö;ï²îÏơâ₫äsr ÎĂ ­%ưúÖộ́'ñ¶íéÑềíÍñö5æ*º*J'&1Ậß́UïOöY÷Oú.Ơ )+ÿnû'ú±ñäíô£üçÏK 8₫ À‡kâü§ơ óÇ̣ñ›êKç´́Mï÷ñúí»,d'±"gF‹ÿ†ííỵÇ÷^öˆü‰  Œ¥₫^ư@û đ;ï?öI₫z¾£ ëOVØüÑô^ó‚óºñ’ê çÚë»î6ï;÷Z̉(é%P"[~ Eñ´ị̂­ơó·ùGü î7Û¢ÿóđ­ôFüÁÿW× GC 5₫¯₫5ø ơô­óZîGêêÙé4í™́Å O&Ñ&° Ó™Á₫Ạ̀Ơî*̣ệÊđÜû ƒ jáEù₫ô2ó{ơúƠú₫€Æ > h¼ÿùÓôÇóạ̈vîzëäééíºíb₫·T#&‡! ćA÷JñỌ́*ó“îç÷ˆ4ôqî6øơđóñø‹ùÙú’˜ p *i=ûÿơcóTó–ï¾í ë4éƒëKí ơ«¤P%³%¥"g"Ê ôơoṇ̃Qí>đ¬û¤r<¹ñ₫½ø.ơÈ÷̀ùôù›ÿ( 5p†₫øØôỰ~ḯê˜ç±çoê¶́ơ´!w'.'¯%S$lĐt÷ḥ̣đÈ́’́wöHÿXĂäóû…øú¥ûàù2ư ̀ ÷†5Ùưøḅưđó́¨çzèXéºë³îúûoc".&n&¿&*$`:̃ø§ô3ñ1ë́yơĂü], M؆ưxûư1ưMưÏÿ†æ ₫́úøôpñAí‹ëëÿê1ëé́Dơå”!®%~'5'Tú¢ÊûöWï ́­ï|ơZù¹û¶ÿä(^ÿ‡ŸJ̉[i'CüăúcøÆô¯ñWïúïTï>îí¡î£ótÖ!v$\&“"á ílüÊơEï0î¿đÏơñ÷7úyưUÿàzgE%ÿ‚Lmư„ùö³ơzóñLñẉẬ©ñÍđ%ó/öRûWS糋q!’^Q ëOÿù*ó\ñRóªơ²ơ—ö¹ùƯüX₫Ơÿ+,úá¤Ñ#ÿ‚ú£ơ5óỤ̀|̣ụƒóçô öKơAơlö¦ùÅüÏN Í=󿍻 TÛÿ ûQ÷äô³ô)ôOôCơ=÷û§₫ɬ©yBMYưçù¬ö0ôóô_ơ÷q÷øÇø¡ø!ùMúÉübÿ†{¡ ơNO“ss ˆYäø₫¥ú÷Ơöơ½ơ¥öùwü ÿĐ©âÂÿˆưûù†÷r÷Á÷ùù7ùùúúîù\úÙû½ưÖÿN+5 Ù § Ơ Ú 6 ü S Tëî^₫BưûºûæúÎûÙüư=₫©ư.ÿq₫S₫ŒưûöûÈú'ûZúiúªû¸ûßü±ûöûËûÄü#ưưÙ₫Àÿ₫€U¥ëSÂáäó:çO> É{.Bÿ„ư–₫uüưmưü”ü_ûaưêü"ưƯüưăưN₫)ư ₫̣ư9₫wư ₫¨ư8ÿQÿ@ÿ¨₫¯Û–ÿik¢<ë±­K6æ“9ưÿôÿc)ÿsÿÿfÿÍ₫9©ÿÿÿ?Yÿƒ₫´ÿå₫₫ăư₫›üŸü₫₫ ÿuư\9₫œ¯ÿ¢& lµqF#® ÿÿ3fÿOÿˆÿAÿ=Óÿµÿ¼(ỵ̈nÉÿLÿÿ₫”Pmÿ(ÿ§ÿ!±4e2₫K~₫=ÿTcÑđĂÿúÿuóÿÊøÿ£ÿÿÿ<ÿ¨₫5ÿ²₫CÿWÿ̀₫ÆÿÊ₫îÿèÿµ₫¨ÿ×ÿFÿ¤½Îÿ~YäÓÿÛº₫vÍ₫áÿÁ†ÿk+ºâÿÔR«‡A!ÿ6©ÿgÿ₫ưTÿåÿ‡₫©ÿD₫ç™ÿ4ÿ¨ưÔ₫Üÿ”ÿÿ³₫ƯW¸ÿ&̣^ ÿ—×ÿDÿ ötÿnáÿS¼>Đ²ÿTŸ>ê²ÿÏ#ÿXÿÓÿKÿ@ÿ|ƒÿ₫₫2₫ºÿhÿdæ₫¾ÿ¨ûÿ¹₫‹Üÿÿÿÿ"r₫í₫Ôư@₫Ø ₫ÿ¬yÿê Hÿ cÿ’ÿFGÿ––₫‰ÿÈÿ³ÿÍ₫àÿ›ÿvöÿzÿf¢ä₫‚ÿEÜÿ.ÿ̉ÿ·ÿ´j₫/ÿÙÿâÿ×₫>̀ÿ¹´–ÿÚÄÓÿBé^ÿlÿû ̀áÿöÿ·ÿ6ÿpÿ 0•ÿNØÿqÿeq₫Êÿ(ˆÎÿŒÿªÿ´ÿ‰ÿÊ₫©ÿ>ÿº›ÿđÿ\3qôÿ Iï~|í[¬ÿkÍÿe–ÿơÿ©´ÿ(ÿôP(®ÿqYÿ$ÿ%†ÿGû₫đÿB‚ÿÿ;ÿ¤ÿ9ÿ£wÿ™ÿÙÿ€ÿ9 ¶ÿÔúÿk ªÿ…ÿe¹ÿœÿ¼hfù₫`”ÿ[ÿ ÿœ×†ÿO#ÿ<qÿ~ÿvÿIêÿ‚ÿcÿÿíÿÄÿÎ1QsƠÿOiyèÿƠßÿ:ùÿßÿ`íÿrÿ†ÿÀÿƒÿâÿÿíÿvÿ+ÿ%÷ÿ¯ÿ¬ÿM¤ÿI3h "éÿZ‘eưÿ:‚ĐÿmH˜ÿŸÿåÿçÿnÿ¸ÿÑÿÿöÿxÿ3xÿÓÿöÿáÿ"¥ÿg¼ÿ0îÿWƯÿH/æÿ/Q{3J&7%JÂÿFâÿóÿÖÿ²ÿ~ÿ¤ÿ½ÿÚÿ’ÿÚÿÎÿÑÿíÿ×ỵ̈ÿîÿûÿ¼ÿ5ÓÿTÄÿ'@ÖÿVóÿCU&OAB&K2 ÿÿ̃ÿ₫ÿ¼ÿùÿ·ÿăÿ¬ÿéÿ½ÿƯÿ×ÿØÿóÿ¼ÿ²ÿ̉ÿíÿñÿíÿéÿùÿ $!>&5=>9$8!#úÿßÿäÿçÿÙÿäÿÖÿæÿÙÿåÿÚÿåÿåÿçÿâÿàÿíÿêÿ́ÿâÿ÷ỵ̈ÿñÿøÿ'$/+11,-#"úÿóÿ́ÿïÿëÿæÿæÿåÿéÿçÿçÿæÿéÿăÿàÿåÿäÿăÿåÿéÿæÿëÿơÿöÿúÿ #),-+.$ ÿÿ₫ÿưÿúÿüÿôÿÿÿôÿúỵ̈ÿøÿ́ÿêÿôÿêÿîÿæÿèÿäÿâÿÖÿ̃ÿăÿáÿåÿôÿÿÿùÿ&+451$$  ÿÿüÿÿÿøÿóÿëÿíÿéÿîÿúÿóÿ₫ÿöÿøỵ̈ÿåÿâÿÚÿăÿæÿèÿ÷ÿîÿöÿ₫ÿ ) ưÿ₫ÿïÿùÿîÿöÿ ÿÿúÿîÿíÿáÿáÿƯÿÖÿ̉ÿæÿóÿûÿ 1,-"(₫ÿöÿùÿ́ÿèÿ́ÿóÿ÷ÿüÿ ÿÿúÿøÿùÿøÿçÿïÿßÿûÿîÿđÿæÿóÿđÿôÿ% åÿơÿÛÿ ûÿ &,÷ÿ×ÿÆÿ»ÿ$©ÿ¡ÿ%¬ÿ+¤ÿÁÿ"$^b•ÿ¸‡₫¯!₫r₫z₫ÿưưÑ₫âăÿæÈÿÚ¤ÿO”₫Qÿ½ưßÿ ỵ̈³ư»Fưÿp₫û'¹ưr©ÿRüFƯü~₫º—ÿâP₫,{ÿøpứd₫CI™dÿGœÿÚưJÿÎÿû}ưüGüƒ₫Iư*É₫T(H©ÅGưđÿ K²½ ·üL&ư¦₫úÉưXÿ©ǜ,,NñBØÿk èÿøÿç₫âÿÉÿˆ₫@bÿ’₫̣e₫â‚ÿ‰yÿ“ă₫øưÿ×ÿFÎư'¹₫₫ÿcÿÊÀüç&ư6ÿú/~ˆÿGÿ9[₫X.ûóÅưƠ ưæåưçÿưóÿªéûóư<ÿ•ùÿ´ùAûÎú,úPyúï₫mưă₫©Ÿ& Å f U Ug µ )Åư›úaơọ́ùïÔíêï2̣âñÇó×ơQ÷iùFû~ü@ÿÿ•ºâQB!äXÚ¿^*Ñ Y”₫Bùạ̀»î́Ḉî‘î{đEơ÷zø+ú=únû~úÆ÷ăöÉơ9ñ«óªơéöÇù=çU Ö!Ø(n'®$-Zñøú×óÍ́›ärâ§áóæ®ë#î£ơ"ÿ $k%;₫¸ö_ô¤đí—í¿í~îẠ×ụ̀ ™K²$ß.N1@._&1 úïí&ètâ*ƯÜêßæçưíFôËüƒñ ¸ bûÛû$ơÈî¸ëuê¾éÑèíj̣¹A <$-‰4+4)/‚!$́ÿaññä¿ßZƯÚ ÙAàéô_üb• ƠH8 %÷ụ́1ëøåSäI呿ưçÔí0üø, Ô(a.¼4w8g6À'O‰ øÿô~äDÚ,Ơ¯Ù9Ü߀ăsî ưä ¯ANüT( Hư ̣ëTæđà´ÜYÛö̃³åíAôƒt,#8@:ñ8N7¨4j&Ó“ñ‚çỸÇƠ*ÏĐ Öfâ^í‡ö̃íU(Ơ) #Ú× m@öLé³Ưj×§ƠÛÖ´ØYڻߨéÔö¸€)Ö5 ?…@»;>5G,O ßúĂé?̃øÖ!̉ßĐc̉—×gâ©ïÄü? &€°#)&)j#Hµø§ëœáàÚ²Ö9Ơ?ÖOÙ–̃¤åhî¶ø˜#Mê+¯6<°9%2-)íÈ7ơèæŒÜÖ–ÔĂÖüÚá®é™óFÿM ̀Ÿ 8"”"T° ¥₫tđgå‡̃JܸÜ̃ơßûá åêVñwú´ 3{"f+1„1†-&ÉĐ\5úâđ"èíà₫Û€ÚđÛ³à¬è_ñ¦ûCo¢í7#¥%º#n 8ô:éèá̃<ܫۂÛ2Ü̃µâBêhôÎÿ̃ a%¹/¹5̀6â2Ù*—y­¬ûñ³ç'à´ÚZØÙçƯ‘å?ïPúÁơ Ÿ_$%("UƯôgé6ápÜÚ Ú–Û@̃Ûá æ÷́§ơåÿ ö÷#‹-Đ2/3/t'U— íÿg÷mîûæ á­ƯƯÛß'åÁ́„ơ%₫ơ o|bÍMü²ñ#é̃â ààtâÔäEçïé›í óöù+je $+r.?,ø%[I Ñÿ́øẹŸëâåÙá‘àƯáxæ#í0ơ³ư•º V À<ÿÔ*íưcôñëÇæ‹å[æâçKé‡ếÄïô ûµ„ Yê!ó'Y)y%ù¦kà `ÿ%úóôÑïOë̀çææ‘é¡î€ơ¨üï «¦Å¹y ^!₫¨öÆñgïÔîîÿíQíví´îñËôgùYÿ+5dƒE¸Áä SḄû¾÷gó¬ï£́Cë¬ëị̂Q÷úükS< (¨ÅƯ ô ÿæưûøăơô|̣đ̉î×íđíuïơñ=ơæø_ưô¼*t“̃[g 1 <Á(₫Æú|÷Æôœ̣CñăđÑñ ô>÷&ûÿéåu C ; 0 ©Ô₫úµ÷¼ơUôóṬ̣®̣ưó̉ơ·÷êùüĐ₫¾ ªù±:ke­ î 5½ªÿØü~úhø³öBơWôíóŸô8öÙøü‹ÿ¬Àéâf9ÿ̃ûăøöHơµô¾ôKơlöç÷ÜùÙûÎưxÿç i“øœG  ^ e † ̃ÄV2nÿÏ₫ ₫&ưüûUú1úú®ûăüI₫yÿw •Ëó☠ø₫Êưßü+ü¹ûaû8ûû₫úåúưúưúû ûQû¹ûŸüđưÚÿw_›c † vY w ? ç½S₫üÀùÍ÷‘öaöùövø0ú<üF₫EëR4Ñ䀟?™Î₫ưœûwú€ùïø|øjøˆøçøhùú úZûLüSưÜ₫¬ ăÅn € ©×E ÿ 6r¤0ÿ ưMûßùàø0øøkøPùŸú>ü0₫82Øư{o·œU’₫àüjû/úù<ø°÷]÷j÷¦÷0øơøØùưú9üvư¸₫YḄÈĂ o M¬ơ c =ÈÏ7ÿeư%üLû†úùù!ùáø ùäùmûxưĂÿưµÈ>̃ÁL£ÿưưOüîú»ùÁøÔ÷C÷÷₫öM÷Å÷øgùŒú˜ûÙü₫êÿLŸa  pŸ¸à ăO¢{ưPû̉ùØø₫÷t÷Đö–ö9÷¹ø[ûz₫Å®̃đ*/ªT¼óư`ûùø@÷çơ=ơ¹ô´ôơơơĂöÜ÷ùrúüû«ư:ÿzb™ îËƠà”®9 „ưüúXù øôösơUô§óöó¿ơ¯øĂü^Ï’ 8 ö 4 … µ*qüøÊô¼̣áñññÅñQ̣Ộrô&ö[ø¡úuưiƠ Đ Àt¤= ̉âÿ¨úy÷ơióºñ†đIï¹ï/ñ¤ô´ùáÿ); •iß7 ±5₫́öÎđ́ ëCëd́ÂíÉî đ®ñAôøTü„ˆW ú÷!µ$q$: Ö_̣ûÂôađîÓ́‚ë©ê·ê°ëvïFơ5ư-ÂJ§ppNó ÏùĂđ:êÀå+ä¯äLçàéíuïṬ¼ơ¯ú¢ñ̃<%ÿ+›.+$ØX PÿƒơÁîKêéæ•äâáAăªçÁï\úÓYÁ3̉ä1AD¶ưRó́éăåß—ß–â[æ‚êqí2đˆ̣Q÷†ư“Å$À1ñ8ö7‹/Ó"ă 4û“ọ́í§è"âÓÜeÙCÚåà₫ë$ùÎ15¼ lÇôsè(à|Ưà߉å-ê5íhí#í(îôsüà öÉ*59î3Á) )¦pÿÖöÉíÍä%ÜTØ ÚÄà×ë–÷Ñy* ¤½CƯåô²èââ¶åAê ́'ëTè÷çåêfó¡ưŸ n|%̀.˜3ƒ2ç+#– DơôêäCß6̃VáXçÜî÷Q₫1z øÑ ‰É ₫ọ́!ëè—ç éèéHé­è$é’ë đ)÷qư Hm&D1–6Ü1n'´»<XüöóˆêÂăßR߉å˜ïŒøBx2ç Au³p 1₫@ó¯ëté³êëêéâç¦è íf̣Ñø.₫CK%Æ0Ÿ5Ø0Ë$è ¢aûÿó>êTâÛ̃áéô!ư ̉e• i¥Öđ÷đ˜́æëë‹éHæ¯åüç?́ˆñ÷Èú[ë V/7ư4s(¹sî(í÷ˆ́Dá%Ư•àéÍóÙût₫ y ̉Âе ªÿùÛôẹ̀ÏđÁËæăèă@èívñ½ôF÷₫Ơå$U37f1ï#DS ©“öøèṽ̃áåêî±ơ}ù~ú₫cOÖƠ y#ÿǜø„ôiî°ç¦ăÑåßễí"î²í đ6÷• ̀ Ư0ñ3n/‡&ÀÖä?Ăơèèzá÷á£è#ïÙđ̣[öH₫Q¾| Ø ˜¤]”û@ó₫ëdè¦ç‹é.́ÿëvêđë°ñjùà+—/`.)d!Ăl3ô¥ê+æ‡å̉èfízï)̣øEº™ [ r a # f¢ú{óaîÛëüéÈéÛêtëOëzị́–ùÄ ” å.¥0K-¸&} ‚đxç÷ä\æ¯ê4ïôđƯóIûåx i X Ú 4 JÖư₫ơvđ^ídëÇéÈéhê;ëíDđpơ“4*¤1-/a*´#(i§ơYé勿}èmëîG̣?ùfრ — O ß 2À÷ˆ̣1đ$îNêëç:èê´ë˜î$̣₫ù” v%3s1¹+&n PŸ XûHëÎäƒæméoêÜẹ̈î¸ơÿ„ w̉¬ / 0 ªªùó¨ñÎđ΅çCæ¹èyëÁíHđ'ö¨G"U3 3ª+&À!ü!A₫UíèåLçÆêë ëîƒơ”₫¾ °Ô= Ø ô 6ùSôỴ7ñḉç7æ¤éǼ.îhïvö÷ –$43 1ö)¬% "6­ 'û7́€ç.êQ́äêæê´ï¼øc0¨€ ‚ ¯,ÿ'ødơ|ô ñÇêđäåüécí-îÑîXøô*ê5Ơ/Â'²$&"ót@ơyè‹ç’́+î¸êíé¹đYü´´RDơm Đ áüx÷¦ö›ơUđ"è̀ăǽ™íĺ-îRư084+È%F&ú"ÆÑĐï̉è#ëhîT́è1êÁô{;¡•jĐ `y êûsù©ùö?í.å`ä¿éúí₫́áêRï‘ Î21‡'₫$À&î {û¤í"ëfîUïë‚ç1́ø×úÿ÷ÿs ƒ -Á€üü¡úoôOëËå¡ç í¸îCë×èïú"U1d-û$%)"ÿ "ùnîéîÍñDïrè¯åë́#ú­Päü₫§Y Y ‚vÿ+₫ÿXü,ô|ë^è°ëđïÊêèç‡́Èüh)Ú,&&›$w)-'WªĂó ̣Aóđé(æ̉êƒơ–₫,<ư₫₫* “ r pü=ÿHøÆđºíéîƠï îèë´ëíñXùú ¦ ]-ô+ó%}$„#Ó#ªø“ñÉïŒíóéOè¦ëóßûüÿÓÿƒ | I *‚’âÿ1ưØ÷Ṃ·ï¸ï-đ̣ïˆï4ï³î₫îó )å+ &#£#»ÉÙưỵHïœî́[é*ê†đäùĐ´­Ơ 0·(—ưÈö¹ñÙđ ̣ÈñđïEï†đ~ñÙđÎñ›üưë'Á,L$Äå!ß!èl₫.đîđMîưéWé™ïúhQ»pu>  ‡ ÿô¶-ú₫ôŒóIô¦óvđäí ïX̣#ó9đ&đøü~)p*ă !¦^úûjđđẸ¨ïœê%êñHû‹zó Œ ̃tǴ7ü÷êơ€öŸơỊïDïẈôÖñ9îđÅÿéU&%¯÷"7 _‚úÔđø̣̀ô7ï±èMêØó“ư«6Ûº}̉ !$̉û–÷â÷<ù—÷…óbđđ»̣£ó„ñÓîïûôf%›%=e #U }ø£đẠ̊hóîê?îøØÿƒ“ªlw¢$Ô>〸ÿûŸùZúIú÷RôỊ́º̣Ụ̈]̣ñ°ïóïẠ̈Pû1 °'#±ÖĂ4 óxñ¥ơÂóÍ́Dë2ógưS˜Çñcÿ}E₫ƒû›û—üFûÏ÷&ơjôƯóƒ̣#ñđ[ïmđŸóùId—&₫)–"ä»…u EúđºñMô:đë’í¡ör₫ơÆ©?{"ù|ÿÑ₫/] ư0üÊư:₫úơ‘ó5ôơóÚñUđ̀đ4̣ô÷bû')!ø)̃%Qàù•®ÿñïîP̣÷ñííøíÀôŸüY±̃ËQ˜ñ₫&ǾŸ₫₫TSüeøT÷¤÷"ö ówñ{̣•óị̈±̣ßơ¬û% o%d'# ·æLJm÷«đ̉ñƒ̣pïüí‡̣¼ù/₫,ÿ…ÿéÇơƒ”ơÿ¤¹-ª0!duûÛ÷1ögô¢ñ–ïđẸ̀`ơ/öHöºø>₫âñÍ­Æ&D#óÂô­ 7ưñ˜îñÁñ>ïđïÑơŸüAc̣̉@́·ÿŸàÿ&₫íÿ˜Cư9øơ‚ơ„ơôø̣-ô÷Gù¿ùcù®úÂ₫^µí ĐB#o"Uçe¢ ;¬̣ î®̣=ơiñï­ôeư^bäÿ\)’°OêÿøÿÆñØÿ,ÿʘ0ûp÷(÷ăö,ôØñjó±÷SúÔùÑøúYưZ³‚~îÈ#ʨÜ5 „ûưî½ï€ơ7ôóí₫íäöwÿ+´ÿP _ n‚"Ü ư3û]ưïEA₫êûñû”ûƠøöêơÍ÷DùèùBú{ú…úèúôû„ư”ÿ̉›,Ïztà÷Ôù)ơ ø1ø#ó¿đ™ơ}üÿK₫ÿ?Îs9 ÿUÿBÿÁưÀûüTÿ`ï©NªÿMûù–ø,÷øôqô`ö&ø×÷µöª÷̃úîư-aŸ¬Ø’ˆÚú¸ö2ø)÷ẈpđÄô­ú.ưlưá₫A>Øe¨ăuØÿ ưGûüăư~₫Á₫7˯''’₫ëüåù¥ö ơëô¡ơö ÷œöPöUøhü‚ÿG Ë^²¼¤ ₫ù´û¦úŸó÷ï$ô™ùúÛùXü¿Rs5¼_)lÿíüéüđưwưTü¤ư.œRB₫Yúø7÷ö{ôPôÁơ=÷„÷Ÿ÷lù!ưƒ%¯ơóx…~ưáûQú®ôiđQ̣÷üøùSû–ÿå-·êƒĐáÔ ₫­üƯü×üäû́ûM₫ô´G»eèVư¦úúmùg÷yơ²ơj÷ÖøÂø%øƠøîûpD :ưë5~̃Sf/₫û³ơ‹ñîñÓôhöæöùGưâÇÔØ³ùN$ÿ₫ ưlûZú4û*ưe₫bÿ|uE`ÓÿÁ₫ư•úøH÷nöÿơNö÷©÷rø¦ú¤₫‰ ?.Ÿçao^ ׸éưà÷ḥïñô}ôơóîơMú₫=ùQw₫œ˜(ÿoü*ûóûđü©üËü/ÿ/ÇÑ¥&ÿvü?úùî÷Đöwö$÷`øyùrú̀û«₫Ú’ êO¢dxr œ€₫Dø€ơ=ơ¦ôÍó¤ô9÷óù8ü˜₫Yư»Đæ)Æÿéưưjü^ûúúüư±₫àÿ7­Ê®ÿ̀₫Tư@ûªùÛø]øiøù§ùáùáúûü†ÿ̉ê{ ¹–KÅ©û ~3zûæ÷mößơAơ1ơ~öÑøBû€ưóÿ°Û—LêTª5A₫ưäû´úgúûü9ư₫ÛÿePiÿb₫ưæûâúVúEúqú­ú>ûOüÜư\[ ­ G/ : ̉ª1~ư|ú•ø`÷‰ö@öËö5ø"ú ü-₫t¶ Ơ¤Î7ÿùư¬ü›ûYû©ûǜüY₫¶ÿ2®¸Åÿ¸₫;₫ÚưVư*ưcư›ư³ưăưO₫ÿFDZ÷Φ ¥ { úvÚG₫×üîû́úúçùú\ûüưn₫¤ÿmçD{VË ¬ÿ8ÿq₫©ưsư‰ưtưŒư5₫í₫UÿÊÿyóI‰—j%×lÍÿ4ỵ̈₫ư₫ÿ₫ÿXÿØÿ$]ÏN˜Ăư?Rµr4¼5üÿüÿßÿ±ÿ¹ÿéÿúÿ̃ÿºÿªÿÿrÿ1ÿ ÿó₫Ă₫€₫_₫j₫~₫“₫¾₫ÿ^ÿ²ÿúÿD±·´¨rÈÿŒÿSÿ(ÿÿ=ÿsÿ³ÿ₫ÿN«Dn‹™‹`щE₫ÿÄÿŸÿÿ~ÿÿÿ›ÿ¤ÿªÿ£ÿ’ÿ…ÿ{ÿjÿPÿ:ÿ1ÿ+ÿ0ÿGÿqÿ©ÿëÿ2z½đ#ûÔ¦o-̣ÿÉÿ¬ÿÿ~ÿ~ÿÿ¦ÿ¼ÿƯÿ 6MY\S6́ÿÅÿ¤ÿ‘ÿ„ÿ€ÿŒÿ¢ÿºÿÖÿøÿưÿïÿ̉ÿ³ÿ¡ÿÿÿˆÿÿ°ÿßÿ <z½ô/1!û¿y5ïÿ¦ÿiÿFÿ8ÿ1ÿ7ÿTÿ‚ÿ³ÿäÿLt‚xbEñÿÆÿ¤ÿÿyÿkÿhÿuÿ‹ÿ¡ÿºÿ×ÿóÿ#₫ÿÿÿ2J_x•£ŒzeDơÿØÿÂÿ®ÿ¦ÿ§ÿ±ÿÁÿÓÿäÿùÿ "ïÿÑÿ¶ÿ©ÿ¡ÿœÿ›ÿŸÿ±ÿÈÿÖÿăÿÿÿ/489- ûÿ́ÿâÿâÿíÿøÿ;S`q~zp]B,ùÿƯÿÇÿ¼ÿµÿ·ÿÁÿ̀ÿÙÿ́ÿưÿđÿàÿÎÿµÿ¤ÿÿÿ™ÿÿªÿ¿ÿÚÿöÿ-AINC8+# .:LT_`J9'ùÿ̃ÿÁÿ®ÿ¥ÿ¡ÿ©ÿºÿÏÿăÿøÿ# êÿÚÿºÿ¯ÿÿ…ÿÿÿ¯ÿÁÿäÿ 3\ekla]:-$₫ÿôÿçÿ̃ÿëÿñÿ!6ERVYMC*åÿÅÿ·ÿ¤ÿ¥ÿ¬ÿ¶ÿ»ÿÚÿïÿ '3&)́ÿ̃ÿÉÿ²ÿ›ÿÿ¤ÿ´ÿ¹ÿÉÿäÿ0=<JGFRBB<óÿçÿûÿéÿ₫ÿ!$ ÷ÿéÿæÿ×ÿÛÿÊÿÊÿÚÿùÿÔÿ̃ÿƯÿ Ùÿñÿüÿ"Ơÿ$̣ÿT DßÿƯ9„Ùù/ø ™₫µù[ÿ}MûPÿ…Nưô¶;ûSâúÙÿbüEün§ÿ¬ư3ÿ°ÿ…&ÿĐ2s"ÿ~G₫ñ₫Fÿú₫êÿuOÿÿl –ÓÙ₫–₫^Wÿsü‡¯ÿûqư!W₫Eươÿ­‚ÿÿ X·ÿ¨;´ÿáÿø+ÿ2ÿÿÉ₫dÿzYÿ@ÿ ¨@ÿÛ{äÿ ÿlÿéÿ3$ÿ{ÿ·ÿÿÿ₫QÿŸÿ\ÿ́ÿD…€*Ùóÿqi½ÿOÿËÿtZ₫]ƒư¥ ₫0₫Àÿ†ÿ̃ÿ®ÿÑGî½ưLKÍưí₫Fÿ<ÿ°ÿ’Z¤MÿĐ“₫ÙûyưØüư)₫—₫ß₫n5^đ¤r›f”øÿK—ÿ“4(ÿÉ%} Qel>˜pÿ>ỵ̈₫ĐưP₫a¬₫ÿP¯ÿ<ÿÏÿ²ăÿƯÿߪ₫ ĂœÿÿI]ï₫ưÿâ ÿ±₫F^í₫ùÿñÿÙÿéwÓ·ÿà₫vÿ"ưO—ª₫‚ÿ Pÿtÿd½ÿPÿj‹₫‚ÿ´ÿ‚ÿ•ÿÑF̣%&’eÿÿ–Ùÿ₫kôÊ₫JÇQ ÿ:+×₫ûÿHÿFÿL̃ÿ)ÿU„ÿ₫₫&Ư†₫₫Oÿ Aÿ¢sÿ4ÿëÿX¹ÿ®ÿ*Áèÿÿb́ÿfÿƠÿƯÿ«ÿ§ÿ¨ÿ5ÙÿHnE‹V·Îg ơÿ¸ÿuÿ‰ÿ'ÿÍÿñÿN™E­‹ o±ÿëÿÔÿÀÿÇÿ 8ßÿHcÓÿÈÿ%~ÿ¿ÿGWÿÿ₫ÿ„ÿrÿđÿ ­ÿưÿañÿÁÿPËÿ¸ÿÖÿÚÿ̀ỵ̈ÿt#âÿR`ĐÿAĂÿĐÿéÿ Uúÿ7xüÿz+ùÿ€ßÿµÿ5îÿ‰ÿøÿ.ÉÿÁÿ4 ¿ÿäÿñÿÄÿÓÿÇÿÙÿơÿøÿóÿ èÿÖÿđÿ×ÿèÿăÿäÿ$;́ÿ&̃ÿđÿ'ûÿ=+%(-$üÿúÿưÿđÿúÿøỵ̈ÿ́ÿơÿüÿØÿßÿöÿØÿ̉ÿñÿơÿæÿÿÿûÿñÿ₫ÿûÿçÿíÿ óÿ  ÿÿôÿ ùÿ üÿ ûÿ ̣ÿûÿ₫ỵ̈ÿêÿëỵ̈ÿôÿ́ÿöÿüÿôÿưÿ₫ÿóÿïÿóÿöÿóÿüÿ₫ÿÿÿ     üÿưÿÿÿûÿøÿÿÿÿÿüÿ₫ÿÿÿ₫ÿûÿ÷ÿùÿơÿóÿơÿơÿøÿùÿùÿüÿÿÿúÿưÿÿÿ  ₫ÿÿÿ₫ÿưÿÿÿ₫ÿùÿûÿüÿúÿùÿûÿûÿúÿúÿúÿưÿûÿûÿüÿüÿüÿưÿÿÿÿÿ₫ÿÿÿÿÿÿÿ₫ÿÿÿ₫ÿÿÿưÿưÿ₫ÿưÿưÿ₫ÿưÿưÿ₫ÿưÿüÿưÿ₫ÿ₫ÿÿÿÿÿÿÿ₫ÿÿÿÿÿ₫ÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿ₫ÿ₫ÿ₫ÿ₫ÿ₫ÿ₫ÿưÿ₫ÿüÿ₫ÿ₫ÿ₫ÿ₫ÿÿÿưÿ₫ÿ₫ÿÿÿ₫ÿÿÿÿÿÿÿÿÿưÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿ₫ÿ₫ÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿ₫ÿ₫ÿ₫ÿ₫ÿ₫ÿ₫ÿ₫ÿ₫ÿ₫ÿưÿ₫ÿ₫ÿ₫ÿ₫ÿÿÿÿÿÿÿÿÿưÿ₫ÿ₫ÿüÿÿÿưÿưÿüÿưÿưÿưÿüÿ₫ÿưÿ₫ÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿ₫ÿÿÿ₫ÿ₫ÿ₫ÿưÿưÿ₫ÿưÿưÿưÿưÿüÿưÿưÿưÿưÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿ₫ÿ₫ÿÿÿÿÿ₫ÿ₫ÿ₫ÿ₫ÿÿÿ₫ÿ₫ÿÿÿ₫ÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿ₫ÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿ₫ÿ₫ÿưÿ₫ÿưÿÿÿ₫ÿÿÿÿÿÿÿüÿüÿüÿúÿúÿûÿüÿüÿùÿûÿúÿøÿùÿøÿøÿøÿùÿúÿúÿüÿ₫ÿÿÿÿÿüÿ₫ÿüÿùÿûÿûÿưÿüÿÿÿ₫ÿüÿÿÿúÿùÿúÿúÿúÿúÿøÿúÿ÷ÿøÿ₫ÿúÿ₫ÿ₫ÿ   úÿüÿúÿôÿơÿôÿöÿöÿưÿưÿ₫ÿÿÿûÿúÿöÿơÿơÿơÿóÿ÷ÿ₫ÿûÿ   ₫ÿüÿøÿđÿơÿôÿ́ÿôÿóÿïỵ̈ÿüÿûÿúÿ  ưÿùÿüÿơÿïÿëÿ́ÿåÿêÿåÿ́ÿîÿùÿöÿ ,*:;@;?54)+ &"'01B@E0&éÿÑÿœÿjÿ)ÿÿ¾₫‡₫f₫M₫₫ ₫m₫%₫{₫ù₫ÿ…ÿIÇ ơuj&–êe©±CËÿµÿÅÿZÿ|ÿ¨ÿvÿbÿÿuÿ!ÿ9ÿà₫f₫₫ÙưÁü’üëû{û¥úuû­úơúLüOü—ư¹₫ùövÏêä–s±ä»“­P²œc¦´ÿỶÿ¦ÿ³ÿ­ÿ₫₫µưŒüœûÎú’ùzøcøÊöIøÈöøù…úTü₫ÀÜƠ&€n  ñ´©ọ´ ɨcF†Œÿgÿ7₫~ư¹ûû‰ù#øy÷7ömơ[ôÈöÓó}÷Ú÷sù«û]₫2„•¥ G ¢ ¾ ư % 4 ư95æ&§‚Uÿ ưÖûëúªø/÷-÷«ô¯ôœóèó̀ñèơô.öÜøAúư™₫íÑñA  ` Ç 8 ` ) ï × ‹ u?̉xRr3lÿ*₫Óü^ú?ø÷9ọ̈ó_ộŒ̣œñóñÓóµö6ôSû:úiÿÿeÎË  üUŒ€2 * ¬ a c6gư<ûúø¶öàöơ¿ôóó"̣ñ“̣Đ̣̣\÷uö̃÷‹ưưḅ÷): ü Å¢ÅR®fÚ Ô „ ×*P÷ƒÿZüưù"ø[÷‹÷²óÿờóẸ̀ộ°̣üñẉ÷óÇóió}ú‘÷û̉ÿÿùt\  œiöD$ÙrÆ j# Wm¹ư…ú¡ùáøöDơ5÷ó–ôÙó™ó±đơ!̣(̣ÿơ2óZ÷Wó[@öa•¸\ç ’ 9«yov́ƒ Î öư%₫ ù>øøøsơTùXọ́eñ‘ñÍëẸ ïöïáó»đÁơsï#ÿöô}—› }ḷÅF† ¼Đ€ÿsú,ưƒùçôw÷æôíđơñVđ‰íeí;íÍéqë|ê«í‡êñózîñúKư₫ứ ñ Yt:$Đ. -¨ MË₫í₫ øơ˜öpñ1đ̉đ̣íxí!îqíý«íưë7êôë»êëÓîœđ đư5=‚!xä '#!q0û F»ư7ơ‹øÍñˆ́îó ïùệÄîùêÎñ(ḯÁîGíêÛéņézíùîOû*ÿ"›c̃å#L(ƒ+‰,rë! "½m  ¡÷ ̣´ơT́Pçđđ•́¤ç²ïœđGèèḯñ/ë]í¤ñBêîè§í¾écéIï.₫*ûûĐđ;,Y,!#˜1é0Œ "2"« îB·óeèëí$ê£âêøï€è»́¤ôßí›́Xô‚ñ¹éMïLîçXæhíTæ\đ ”üÑV(* Ư4s.,+e6/¡ ’"äFwÄ÷éÁä­ååJäºèWî$ïưî½óŸôMị̈̃Ị́íNëH́7å=ç€çîªú₫û₫A¤,à0ƒ4.P2è2 &Cø¹ ´ÿƯô@êåwâÍăéåPé îÇñIóHơyơḲ₫̣£ñí̃éIéå åÂâń¸ú7û>"#‡0«6…5™4*/´':!äOư®ñïäUàẽÿâæsç?đø ø%ùƒû4øÂö€ócîăêjçáâ(âÁæ ơƠü{³E"M)%2=5Û6{81g%à6'Zǿ\ăSàíÚÜÜǽeñøư₫¿óúÜ÷>÷®ñêÉäQàhàü̃ÇáÆđ²ûTm#+¦5á6f6H8„3æ'E3[ ùơêàÜ Û†Û ä¬́Ăô!₫0Èñ)ưbø\̣Êë—åËƯdÙĐÙSÛ[çÇơ¢ÿ7 ±é(5¸;ø9¸96-«!¶r ÷Œ́=â Û4×s×h̃yéÏôó₫R_  ” a8üNótí™èJâFÚLƠ$ƠcƯ¹íFû<=Z!Û/ <–>&<47&/Ơ&#? RúVí$ă6̃LÚ[×ÑØwàîñüç£ %. Á́ûñ­èÊăˆàJÚwƠÔßÛ@í>₫( ÁƯ#–.W9>>«75+J>CÊù`́kàÚ̀ׯÙỗöäJïñü÷ XX tù÷̣V́HæÚß̣×ƠÀ×_Ư•êăù€ch#i,’4(8c8H5z,!Y¹pù2ïÉåßçÛ1Û8ßråÀîàû—GûD£|ôû@óǿHèäßÿÚgÚOÜăPđˆ₫ø Xp$N+"0m1‚1é-ˆ%¾ ½ÿĐơ’ísç²ăwà˜àZäuê|óFÿR †áÁ«É_ûÄóḉyèÏä~á&à¦ßØá¼å3îû Ơy È%œ(œ))‡'‹"_4Bø›đ|ëôèç#çè=́^̣?ûm¤3¤Cü ơÿ5÷@ñ,́±èqåóăäKä§ç¯́bôÿñ w&Ü!6$ #̣ GÆÔi ¬„ùṬíś×́ î9đạ̊G÷)ư^5 »Ùg–₫XöañîÎëê¦èÎèÉé©́™đô™ú¹ø ‘ùÚ₫¶ €ú‘µùđó̉ñ ̣óơ3öÑ÷Çú§₫;F ¹‰ "Húéóµñđ$îƒ́éë)íˆîöïẠ³ó©øQ‚’‰„•æà¬ ³-ü™ö¥ôDơûơg÷´÷+ø¯ú1₫¡J wf{ ‘Æû¦ơƠọ́›ï‹í)ëPëÑ́í́ïCñÏốûÂ+ùîU¶9ߪ ¶₫éö~ó›óßôÁ÷ù´ùßû-₫₫ Á¸kXư,ơf̣†đüí`ë5çCæGè’êeî đẠ́úm¤ó^Ñ mF¬NÖb «üư(ợđñ-óâ÷¶ú.üM₫ĂÿñK {œ”)₫§óƯî́9ê<è©ä¿ă,åèí,đ ó₫úÏ ²."S%"Í/Ka ßfư·ô đÜị̈øü€₫yf*2 c“ûüñ˜ê-ç¶æræ°äuăËăÓæyë=ñ̉ơxư»-k”%)B&Ň"ÁU [kü`ô˜ïaï;̣øưÅÿÛ“Đ3 mé ¹Àû8đ§è—ä>äÈäsääŸă²åaé=đ3öăÿñ °#ñ)-k)."ÿé "fÿ½øjñîï£̣6ù®ưœ"8Ñ .« åøCî`ç…ăfăăvăă\ăªå¥éñ̀÷ °Œ ú+ù/U0™(S Œú& B§ùậííđ÷ªưóa˜zX r / *Ăưó×êQåăwâ6á¥áëà[䮿:íjóoüX (÷+3ơ45/[#‹_L J­û3ơíúëCï‡ơ₫ÄÅ€ ¼ è ÛZöwîèàå̃ä¸âöápà£áEå,éùñ¨öúôđ#v3O6»6©)iéP £îưÛøÜñí†ï«ó¯ưîtmI0¶²–ß„úựôëèç(äNâ[àÖß©ă.ç½îµôü‡ ]«/{7œ9m1-!ª» B»ûö&ïđrórü@ʨưPü‰₫v,2mưËơZđVëƒê‘æăxß–̃ â“ḉ́Íóêơe3b'®8Ö:ç7‘$l^ ÎuTÿûkñ đNóüéœ ³xLú¯ø\ûÉ,±‚₫øÑó£ï6îuéÖäÛ̃ùƯSàÙǽüđSô¦ù> é5d;¾9Ç*Å­¢TóÚüxôÈïûô-ü, ư±øÙ÷]ùØÿf†₫ëùáøhơó–́ˆạ̊ßœÜÉá*åố`́ṇ̃âØY+=:7%1₫g~ ¨³„üo÷9đ-ơ¦ư¿ ¯s™ùø₫ù¦ü÷ÿëü ưûÓüÙühøc̣Pç|ẫ©á>æ’é»́¤ê(ñéô€ r2N9Ï1Ü(ŸI₫ ) Y?ùơº̣çû‹g  à…₫øúúưâû²úwûĂüÄÇ₫Bú=đ#çpâsà'åhçë ë.ëVñ¤ö2Ï25̉/Î%XÀ† eÿúiơ¤ô¬ư¦> ̣Óˆữ÷ˆú”ù ưĐúyú‹ûư öü ̣jéÔăâzåMçêêê€đơ. ‹Û.4Æ.'s‰ Ï ÛÖúcöPôuü8 ê‚₫îø×ú–úFưêûêùëú±û?ÔÔö†íÈåă¶äçjé€ê:éí·ñ¥ÿuÎ#£3[/b,Æøïº ́tüLùœ̣e÷rüÆ8ˆ®ÔüĂû|ü]ư₫Tû5ûäù₫²S¸üó©ëYå.å$æcéôéFëkê‰ï€ô=Ad&¿/ƒ, (í¥ Í ÷³ư÷ø¹ód÷ ûd-¶₫̉ư9ưN₫ô₫ưüRüCúEü»üKưiù˜óíyèưæ<èëFí3ïSï¿̣†ö₫Ü— (ñ'G#Ă$ á C; üèöØöQøøưú®gÿÔư"ÿ÷ÿÿÿ ÿü1ûùø³ơ²ọ́ñĐñ[̣uô ơ¡÷Qøùúñû+e0 »¹ơ~ ‰ ñ + ß´ºÑO;aZ#£ÿsÿ‹ÿ( fâÿ€ư†ûNúÁù8ù&øöqô¡̣́đđlï̃ïÜđ|ó÷AüÿË`& ¿ ñä6™ß w« ú¥Ăđ1ÿ́ư;ưqưU₫‹ÿ6T¯ÿÁ₫‚ưNüîúùÚöô¡ñBï®íj́ÂëëÓ×íûđíơ{û1œ g̃.ĂYHÑC ñ ¹S₫¾üNü†ü\ưD₫Ø₫Ñ₫L₫aưü¯ụ́ø÷°ô6̣øïîí7́́ ́÷́…îPñSöêûóø“ £|̣Oé̃½Ô í G¯ô3åưhüüFü»ü8ưOưưˆüüPûAúºø³ö}ôP̣›đTïîüíríLí–íÿî ñ ơ„ú, Q₫Ê:XÅ 2  À›®t₫èü*üơûÉû¯ûĐû ü<üIüåûÜúIùn÷ơ÷óŒ̣Pñ9đ[ï{îôíÏí|îđ̣.÷Ÿüí' 3—©5œHrYJ ꤙĐÿÊưiüÏûûeû—û÷û[üüOüŒû7úøøöXơÙóḍüđÍï¿îéíí«íÎîmđ†ópø´ưÔo ½ZjPÂ#»Ơ±F ƒ&Ø₫pư‡ü$üÆû„û×ûPüÅüÓü:üûgù¼÷öoôạ́=ñÔï¹îÎíKí í›ị́îèđúôeú€\ ,räØK7Ă·U ‹ ËÙxÓ₫¨ưüêûIûUû ü‘ü¼üüøú¡ù*ø̃öMơ¢óôñYđBïeî«íMí>í9î÷ïỌ̈ß÷nưø£ ¢P÷(p$¢ îÈpQ°₫=ư)üµûwûèûNü2ü̃ûûHú/ù¯÷öôṿñèïûîƯííÙ́píHï„ñ-ơƒúñÿ| 0!× m h Ú e¶€fÿØư†üÖûû‚û₫û6ü-üúû<ûBú³øàöơBóÖñ_đÿîáíÍ́d́́¹íÅï]̣÷øü§3ơ Z¤Zµ$í)³Ü 1ØMúÿƯưqühû.û7ûtûüSü{üRü‚ûOúpø‘öÅôó†ñĐïFî í́åëT́Çíđróóøî₫• ÆQåML™:—ON8 –_¾M₫fü_ûßúû'ûûWü¾üư°ü’ûú7øgöŒôŒ̣Ëđïˆíf́‚ësë́óí°đÛôÄúÀvơ åSSÓ̉×̉¦ ™ Ê#ÿÿüœûûÀúÔú ûĂû¦üưüñüEüûµùƠ÷Ëơ´ó­ñđjî íđëZë®ë÷́4ïẠ ÷Mư<íGöÈVÿ{íç ¤‰#₫bü>û´úyú€úéúÍûüÇü£üüûßú@ù-÷ơóWñ̉ï<îớ$́âëóûíOđáóù§ÿ0 ÇeS¤Ëø”áé Œrÿ*ưû•úúÇùưùÈú±û5üeüNü½ûúÎø´ö½ộ̣=ñŒïîë́Ć2́Ứ›î%ñ§ơÈû€/Ă ¨Âfù ƯB}^ ₫”ÄữûkúŒù0ù>ùêùèúƯûvüÎüÙüü†ú‘ø•ö¼ôỌ́Óđï’íŕ»ë‘ë£́¼îẈø₫̀ ‰•¶ZÿMHY…ô ‡Ú·₫zü¼úuù ù*ù¤ù‡ú‡ûaüư>ư³üwûœù÷zơ:óûđï”í>́qëëƯëªíÔđö7üLyr¤nLéEf¸¯ ™:wÿư û˜ùXù@ù©ú£ú‡ưÿPÿ ư üC÷¥̣Yîiëè^çÊææåç̉çëź(÷ep¼<`§  ï!+!5ØSB ÓUdÿù<ü¡ư úYư£₫~ÿAs₫â(ú˜ü÷ ̣¡ï°ëûéæ•ăèÊă+ä¼é.ëdíºóT  $m$%Ç))đ#•€xmÔø¤øù ÷‹÷_øC₫Æưqû́ÁŸü”ÿ€ưëöÂóXñDî̀æÖçç¼âåóå`æ=é>ïÓï“{\'Å ø'I.l(Ă%ŸKn×ụ́™ûñ÷ị̂lùÿùưÅü9ÿ =₫ư\ú™øèö©î̉ëqæ₫æçàânä‘á™ä¹́ôé÷÷‘ ªíf& d.,z'ç"ùY( cüó¦öû1ñgöeû»úy₫Fÿß:ÿ´ú4üñPîơélạ̊áơàÑâzߦâKéáè*ïX úÿ´!)ï*Í.E&$×€ó ùŸ öcôü đ̃óLü/ø+₫ Á@̉ÿy₫}ó‡ñ’́Eå…ăáXáÇƯÆâaåçÿ́0wÿª§'¨ă(ú/Ø$ä$·!•M˜÷ơ™úî5óŸúeơIư€»kßÂjoö™ó»íåÉă!â2̃è̃Œá'ă%æuîÛ‹û¦¡"‡,â,#2(!8bn÷'ø†öñ́‚ơ×ơâó₫₫ÿSö [_ ïiÿú`ơ~́€çÊă<á̃Ǜßß\ăEäáơ3₫5ư˜§³0G%X&Ă)W¥îeø]ùUđ´ïơÄđö£ư‚üM ô=  ôÿ»ü{̣zí£èÂâ¢à†̃ ̃†à5â‹èÚû~öY ‚ÊS)V)Ă#|+Ù#^\Ù ®₫5úơúîŒ̣xđ ñØ÷ßù\ü¯± ¼ è{ẲøŸñ+ïœå·ằàÿƯ1ßâưáÊô1ö»ư~!È*ß";*k)KÈ> ºư±ùOñµñ-đ7î•óỡ÷†ˆó_ ₫¡ưQọ̈nê„æăíßß9âà³ï ơßơí½*"(k-¶ í ÷¹i Çü'ợíï×́%ï<ọ́-üGÿ~ÿ”:0ûé₫QùHö³́ßê å¤áâùá‹àêïđEơYYÔÓ&¬ é)-¿!b$•¤É£ÿä÷”óïîŒëđ́ï0ïLø×ùàü, )₫\ü¦÷·ïTîÈçgäJæœáOäỤêü9 ß­h!Ûy+ (g"–&ĐÖ& ÉJúÎó½î£êńüë½î±ôñô=û4₫n₫…,₫Qư"ö:ô đ{é êêçÂáRñ™ë#đcƠ₫̀|Ö(#è(ƒ<'·"¿\U´Êø®̣Ùí*́ ëf́ ï$̣‡ô5øcûVü ÿ@₫»ü;ú+÷ô)ïíƯëå(ó‹́`đ²ü ûÎS‰&À?&N#l 5ûơ®đíÖ́åëaíÏđæđBơ›ø@ù¯ü}ưóû÷úôøZölđÂñ·ë§ëöÍêˆú̃ưú~/̀ Đ,ç%.¡¹ zÁúơï‡îíJê“ïîÇï¢öö“øƠư_û©û$ü‰ùEôơô€ñáënù₫îOơegụ̂ü h »ă!6  ÷ï EßüøbñWî¦î_é¬í=ïríaôÜöđơưhüæúoư¼û¥ơMøJóDđ…û¥đ®ù ̉û{ 26 Œ6 0>«6 ?ûiøÏđî’î‹éŸíÙï%îơî÷÷Áưư„ûáưüû§ö‡ù›óÛóGüôñFưÙJưä Ê« k§s ¨2µ­ ›YAùZø ñ5í“ïhë1íñ´đ›ô»øÇø‡üQưü<ưÑûdø¡ù[ömơ÷ü÷̉ûyđÿ1R ‚¥̀U /L =áăúøÖơ’ïđ$đîṂỰơEù₫ù–üÿmư6ÿÿEüWư~ûLûưùèüư›ü©ÿđ<1vt R æ œ|   Ôwưzû.ù_ø‰øqøŒùMûüơư$ÿÿ~ÇrNŒÿh₫Ëư¬ü`ûùúú†ù­ù ú™úûçüD₫ơÿsª̀̃W¸Ư¹w"ÆdÛ¶~F&Ê4ßY‹äÿYÿ€₫éưzư®üEüÖû`ûûªúqúFú!úúú4úVú‹ú ûrû2ü&ư₫]ÿ¶ í)@¶ïè‚× Ö÷¼́Öÿ/ÿù₫X₫1₫1₫ËưÚư«ư+ư ư|ü û7ûfúˆùBù®øbø˜øÄøDù#ú&ûqü·ưIÿâVå¤Ôÿ—˜±æDiÆE±!ßR¿ÿ„ÿÀ₫5₫Üưư¤üNü™ûWû#ûÍúÖúóú"ûyûñûˆü ư¼ưƒ₫ÿ¿ÿmÄQ´Î8cM¡Â» :$f^¤+×I½P̉ÿgÿÿ›₫P₫1₫₫äựưïư₫4₫\₫„₫¡₫ç₫ó₫ÿAÿAÿFÿ]ÿTÿTÿ‰ÿÿ½ÿúÿb¦¬äö'3 ä¼xK, ñÿđÿîÿ $Hx‰¡±©iàÿÿ7ÿÿÇ₫¨₫¨₫‘₫µ₫ë₫ư₫Gÿÿ§ÿN^¹Í¼Ë qXèÿ×ÿ­ÿ¢ÿ±ÿÄÿâÿJq«µÚÈŒFñÿÀÿrÿ>ÿÿç₫ë₫Ù₫ÿ6ÿ^ÿ¸ÿ[¸è"áªtI çÿÍÿ½ÿ¾ÿâÿ&Jj€o;ïÿ¤ÿdÿỵ̈₫´₫‚₫z₫q₫“₫É₫Ú₫Fÿ±ÿÿÿeÇ.;.ÿÊ“R'.FU¦÷í6.ƯÁ- nÿ,ÿ’₫N₫₫ÅưæưÖưS₫`₫ÿÅ₫Ưÿrÿà!, Ýÿ)«ÿ»ÿơ˜ÿÁ&iy+•ü6±ư«ó£º₫¦› ùÖôP₫úUû–ư–ûa₫] üxBS|KïX2eÿùâư)÷ÿ0₫aalgq¸₫|₫Âh₫“₫2 û©₫ưÉüưµ₫çưq±ÿá₫¦Đyr'æ&fEÿ­ÿ°ÿ:ÿ$ÿ$Âÿ‡;ÿ xÿ5Ç0ơ₫̉ÿöư´ưƯû¬ưü×₫tưsÿÿåÿ>ÄÖư¶ÈG—µ¯tÿô±₫xÿÎ́ÿÎ₫2!ÿ-ÿ°₫₫ŸÿË₫o₫oÿ₫₫ï₫Ÿ₫©ÿ¥ÿ₫‹[ÿĐÿ ÿ̀jæ₫wânÄóÿs₫‚Üó₫„ÚÿøÿSư₫:¸₫‡sÿCÿÊËưÇ̀>₫eÿŸưÿ’ÿi₫…₫ü•ÿ±ưúÛư­ønữ¡ûÆ₫ȉJ±•ök cªÊ Üú¥‡ÿü üù$ö_ø.ơ¹ó„ö•óåö,÷Ăöâú¼újù₫l₫™üOPUp%Ö w j ¨Ăm S Í *íhüü1ø ơ²ơạ̈8̣¤óơñô'ơTơöë÷ø·ùÿø¯ø"û-û´ú´ûâ₫•øJ I/à·\ïD†jË ¸öưsü̉÷ó₫ó’óñḶ ơ-ôÑôOøJùù{ú…ú'ú/ùR÷ ÷äô½ơäơÆơ¸÷Ïú2j6¢qEߣ=Œ’ ¼øư9ù]÷œñ(íÉî±ï¸íđ"ơ®ơ!öWûEư½ú¯üÚưYúGù₫økö|ó¼óhôxồóïúË8NđǼ {§û$. b#ưïöMô§î]ê=ë´́sëîó ơ÷)û‹ừưˆ₫Çưçư¬ûLùî÷ö¢ôeơøôˆơTû‡jµ¶€V¯›ĐS‰ ,F₫ÜøzóCđ+ïXîÿíœị̈ơíö ù•üâưËư|₫,ÿÿ€ưưư7₫ƒưôưQÿƒ¢‡XÀïû%BÀAü‹MuÖØ>јrUcsedGđÿ»ÿbÿÜ₫s₫-₫ßưHư«ünüÄûâú[úÉùù»øoø[øµø7ùúûpüüưÿ0„ K  … © v ă  %Év? 6Kÿe₫Çư@ư¡ü7ǘûûJûûÓúú_ú)úôùÂù¦ùù‰ù¨ùÿù_ú̃ú©ûü‘ư¾₫ h£×9³ù  y×' ăÆ¥vk‡ÿ¬₫Đư-ư°üBüñûÑû¸ûŸû¨û̀ûâûóû0üPü^ü‹üÅüăü ư>ưuư£ưÙư4₫₫è₫nÿåÿ\™¯>«u¶È¨u1±<È+¤AØo5ơÿ°ÿuÿNÿÿ́₫¼₫₫=₫₫Ûư¬ư‹ưvưlưaưtưư±ửư₫'₫3₫R₫r₫r₫n₫k₫h₫\₫d₫Œ₫Å₫ ÿqÿV çIËP_/ÍTºc¼nÑÿRÿä₫€₫;₫₫Îưư‰ưsưoưrưkưdưgưgưhưdưmưwưnưxư’ư¨ư¾ưëư%₫X₫—₫̣₫`ÿĐÿWåoư2½0½ÈÀCËL  |ï`éÿpÿÿÓ₫•₫j₫7₫₫ ₫üưéưñưöưâưêư₫øư÷ươứưáưÊưÊưÆưÀư¼ưÎưƯư₫3₫o₫½₫ÿ”ÿ¡!¨.ÓräR£Çʺ•?¹:«”¡ÿ-ÿ̀₫o₫₫²ưbư!ưëü¾ü°ü¸ü¼üÍüúü1ưiư¯ưăư₫7₫X₫’₫ª₫Å₫å₫ơ₫ÿ1ÿRÿwÿ®ÿ ‚₫ ”(ÁB´¶^îEÉø@–ÿÿ²₫b₫₫ÛưĂưºưµư™ưoưEư>ư6ư?ưUưlưư¶ưóư,₫”₫È₫ÿCÿzÿÿºÿ¦ÿ¢ÿ“ÿ’ÿ~ÿ ÿ̀ÿêÿEè\!iGù¥.0Á.^^mUÿ±₫ñưÑưrưĐư‚ưyư5ưnư¹ưîü´ựưd₫̣ưo₫îư¤ÿ’aÿ1ÿåÓGưü±ưhüúù¤ù™úúûo₫ÔÿpµaåA  Ü á f ơ ˆ̣åÿ6üvû6ú°øùú~ûÅûlư₫×ơîÍÿ;₫¾ü¬÷Óơôó_ñ7îïÖíị́îùK÷zÿÉ P Œñù+/^ †ưöNñ©ï0èáédë{ê₫ë-öÄøûƒj g vg 0 ûëö-îë¤åcäwà(ḯaïRÖlơZ"™™'´)%< \é (_ûüđ³æèä(áƒÛß›ăÏäî7ö¡₫ïi óN±çỦVùó•ë¶ç!ßæZëăÍ÷0₫b÷‰&ä)+¢&Û!] yÔLôvè₫çºƯMÙ ÛöÜt̃ëå‡đœ÷dÿ4 Û tO°í O ưóøzïëÙáHémëZäPùüJÁZ¤%3),ë$Ë#ô û ^*ó%ë́æëƯ°Ù‰ÚÔÜ̃Íạ̈¶ôËÿ³ i 0V’–· » ̃ưîöỊ̈6è0äáäíđâÙđÿ¤ư$ ¾dP#2*Ñ-5)ñ"w%­Ü #”÷Lëäæ5àÏØü×tܩیá´îWó‹üpN ̀+Ä́Û x ÷pöYè6æ1ßúäêØâUürü»9"•(¾,Å.̉$Ê%­. † óưÑï̀çQâØÛ®ÖÛÙcƯ…Ü'ëñúà7 ÷2¸ ©÷KüLơÆí¬ăÉâרèäXçœÿăû6 q_!Ÿ'ê*K1­.$@'qá ̉ơöĐë§ẫÉוÔmÚ;Ü+ßkí«÷ü: srF‹_YărøŒ̣íëỸÉà ×Ăå‰âHèF>üójá"ø)—.à1±/•%1'•Ä 4@ôé[áºÛDƠ:ỒØÛqßÓîö;₫L Özs×_œú̀ñKë½Ư×ß×4߆æ(ăWưÜưu  "µ*/y1á2ß'Đ&Ä a"÷]ëÛâOÜÖ^Ô…ÖåÚƯ=ë‹óü” ×€ 9₫± ̀ưQôǘçâåà—ÙøƯ=éĐà®ù ÿMd˜& ,0¥0u(V%¦ï çüîç`á`Ø×“Ø_Û6Ư_é·ñ̉öhX ô——=G. ¤Đù§ï€éĂă7á=ÚaéÀçơéeÎ ,H ‰#d+Ü+À'v"ó bó,÷&́êá.ÛÛ̃ ̃Ú̃íæmíHôHưĂÔ 71Öë»Q ©ø­ï̃í}ækå™åè*̣tï5ÿçˆ4Tª® <#I¬jưg Óüƒô´ï$́8ææ6èĐæ—ë»ñđóBú­p PC ] .ÚÿØøœù¹ô¼đ½̣&̣1đŸơö¸ùÿµÿá2 ƒ ‹ r› íœ  ’!Ăéÿöü₫úáø@ø÷v÷}øâøfúeü4ữ₫²"¼¦³³ÓŸÿ3₫Üư‘ü°ûÿûSûûßûÛû`ü¤ư₫Ö₫aɪnF2‘ b:<…Åß(f»Zưÿ©´e¯æ”¹¾e‘ %æ₫ÿư ưüYûûyú¢ú(ûoû3ümư:₫UÿeXéø¹ÖR¤ .;ÿ±₫₫ŒưrưuưËư$₫ÿÖÿ´ï«e2YXN•íùÿû₫9₫_ưæüïü¼üÿüµư₫Û₫­ÿw ¾R^‚OÉRÂÿü₫3₫yưưü˜üuü‰üÛüYư₫é₫±ÿ¡t—ëÙ‹%{Ơ;ƒÿÿ±₫g₫n₫₫¾₫Gÿ¨ÿ3ÍI­ D4'Ô]ß6‹ÿê₫V₫Éưsư7ưưTưŒưüư₫ÿ¨ÿ.«GrcC ªS÷ÿªÿlÿRÿKÿQÿhÿ©ÿçÿ1ä9i¡´¦]»MÜÿ‰ÿ)ÿ̃₫¯₫“₫“₫®₫Ö₫ ÿ]ÿ¶ÿ3}ƒ”ˆa8đÿ·ÿaÿÿö₫É₫¹₫Û₫ñ₫/ÿyÿÏÿyÚg“¤¸¢tF ™Eêÿ‘ÿVÿÿÿÿ ÿ3ÿIÿ}ÿÊÿêÿRYgc@%¯ÿ¢ÿcÿHÿ?ÿ'ÿ!ÿFÿsÿŸÿÊÿùÿ2F‹¥½̉Ϥ¯„tMO-ËÿMÿhëÿÏÿ>4ëÿ;́ÿïÿ®ÿÿ`ÿ^ÿ9ÿQÿHÿwÿ{ÿ²ÿØÿTf’²¯¬¥‰[7 ÿÿ×ÿÂÿ§ÿ—ÿ¡ÿ–ÿ½ÿ̀ÿÖÿîÿ Qap€Z9èÿÈÿ{ÿ‘ÿ<ÿ?ÿÿ₫SÿDÿ‚ÿ›ÿ/‹‡ÀÊß÷íÛ¸‡z–ÿŸ€ÿêä=  ₫JñQ=øë̉ư`;÷¬ 2úÑk₫ 8û½ø|ø̀üÁ‹ú;|ØûGb`ÿh8- Á ¸ü5³gù4ÿa₫ú;ÿùư„ú'Ùưg₫à„ÿyë₫Ÿô–₫2ºÿ ₫8hÿ€ư ÿSÿÚ₫¡ÿ’₫ ÿÅ[ÿ“ („́„”¤₫¤·ÿv₫ÿ áü&X₫´₫O`₫eA¥ÿÛ¾ÿ¶Ê«ư‡ÿ·û%ÿŒư%ÿÀÿ ü ÿư÷ưf₫Ơ₫E₫IÿºÿÛÀÿ‡₫CÆ₫Ùÿ²ư†̃ÿ'†>ÿ9/ÿÑ{aÿ—n¦₫5)ư¡Á₫C₫ªÿM₫ÚưưßVÿ[₫d¹ưó₫¬ü:‹ø₫ưøc™̃ÿ Îư n©üQdưÆ₫^ÈưbFÿyưƒúǜÿ#ừ±úÏ¢đüsÿ7§₫ˆ́ư_E₫`_hZÊÿ.ÿ;ưIÿZÿ|7©}ưÿÿó₫5q©ÿ«M¢ưá₫=ừưçưÔưÁưæÿfú’₫ü’âưÆ­Àú ô&Y¸ơúưï5 Ä—ˆ₫ƯÿN=₫'›ừÿÖû´ü¿₫Cú±ứ₫ûN²₫ư’ß₫`ÛÔ›6ÿHS =Ÿ(E\c̃#fêHÿ‘Q₫6ÿi₫”ümÿs₫ơưö₫²ÿ?₫₫>ÿ₫Xÿ:ÿgc×ÿXçëÿ,ªNƯ^Èf¦ÿˆl!‚[ÿÑß₫øÿJÿˆÿÇưúüå₫˜ûqûÀü.ùlúYû×øúü¦ùÈü ₫LûàMÿäÈŒA~“µ G  ¨¹ E ‰ưSÿ“ưöù½÷ĂôeóṚ7đèïóđ¢đkđóFóÁóböØöÆ÷Pù¬ûàû•ưµà´[²Æ3ùîǸ<•U ‹ ²åư"ûnơ”đÑïốöêẹ̈ë7́¢ë́ºíÛ́éízđùđỴ̈Uöb÷ú¡ưWÿ4› ¾ h¨₫ M#) ̉ cN  +ûÄùrơ¡î?î·ë´èYèđçpé_è@èQëêøéđíMî‘đÅơ¼÷¶ûÿ ăz  c̣P"d#!!"K ÔÍjg ßïñ₫WùÁóṢií étéíæ¥äOçÿæbå†çTè²èCê"í@ñ»ô¨øtưEµo ‘±§ÏD#£#¬!!lötul u×3₫Èù ợ̀ƒï³́ÀêéYè2ç–æ è6ç—ḉê%ë®í¥ñô3ùrü7XÇ> ' ïñÛëxÙ‘höh 3´/ÿÛüú ö&ơŒóḳ&ñ³ïïÎîµíîÔîđñ̉ñ]ôđơ“÷gùÎûMưmÿ0àƒXL Y Ç àè;OäNM ÷ h `jB‹ÿ´ưåühü ü¶ûCûÔúúđø–÷,öµôgóẈ]ñ°đUđ=đÆđàñ„óñơœømûß₫GŸµ± vÇ‚·vFiæơ¦ đ zï§·₫?ư|ü-üùû üüˆûú(ù{÷¥ơÂọ́•đ8ïîní?í±íùî ñÍó÷êú@ÿƒz đD÷Ơè[V6  "{ ô₫ưƒüü%ü¸ü(ư,ư¼ü­ûăùŸ÷:ơĐ̣¦đÅî-íäë ëĐê]ëǽoïỤ̈T÷ü³ ËĐÔÓƯnƯ²X â ‡Í₫*ư&üû‹ûüĐü6ư-ư‚ü ûøøsöô“ñGïmíơëËê*êBêKëií¢đ,ơ úCèE à©¶Ơ>gœÜ]™ Ơ =F̣ư0ü₫úVú`úûîû¶üưƠüÔûúà÷™ơFóñ8ïí7́.ëĂêLëî́×ïJôÂùyÿRæ ‹b{¶Å̉çïTŸ Ç6,„ÿ]ưÔûËúSú~ú#ûü̃üTưYư›üû1ù÷¦ôq̣†đçîííơëǵ°ítđÑôöùsÿ$a ºZ÷Í¡‘¹pü †ă¡ÿçư­üçû¸ûùûªü˜ư;₫u₫4₫.ưsûcù÷°ôc̣lđ»îAí+́çëƒ́Aî²ñOö_ûØV $ƒùtÎ<íƒl+ èúb$bÿ₫ ư•ü¯ü8ư₫­₫ÿÿ₫-₫™ü¾ú‡øöŸódñïÏíǵÔë́cí‘đóôÊù)ÿ­u (ºSÇc-Ôëă ̀­å₫₫Éư₫¤₫UÿÇÿóÿªÿ“₫âüëú‹ø̉ơ'ó¬đ’î¹́Uëùê‘ë“ídñ÷ơû«„ Ç.OW±ùO^ I MéÁÊÿÔ₫N₫C₫Ú₫ºÿm§•ëÿP₫(ü´ùæöúóGñ̃îË́7ëkêêǵûï†ô ù@ÿÖ ¥ (Í!Aª{j e }ê*öÿÿ‰₫₫ ÿáÿ•ǵ“₫^üÏù÷ô8ñÆî¯́&ëyêºêà́«đ7ơ]úZ G™;.Nvu 4 f+T$ÿJ₫₫3₫Ó₫ßÿ³óµăÿ[₫$üù•ö™óÈđî́Ùê|êĂëÊî¿̣ß÷‚ưKt »̀+hÑ&̃ h ‰÷œưÿÄ₫~₫áư_₫#ÿ®/úĐúÿöúûóÍëèçfäóââæ¼óôöü. {\û́ÉFŸܻÿF₫Igưêü‚A¹²¥^ Ó|5ÿ\ùîóJïké¨àÀÜBßsÙƯ—à€ï…ÜB%½#$ïÆ4#nÛû}ÿ‰ÿú/IF àÈúÇ·¿ưÜüơưbø¯ôMóBëàç<Ư¶ÛÚÿØơÛ î ? p ,=,è%Æ„Ñÿ/Jưư¢ l 8 °ó₫Ơüăûú•ö¢ùïû!öƯơåđÍëCáŒØ!Ú.×Ơ×[æ( û «Đ-Í.(…µH \ú9ü½t) ”ht ư ˜únô°öë÷.ôÍú?ÿ±úø̣,́óƯƠÍƠÜÖcÖô5ù&/•-ƒ ° Ơü3ô•₫+ú Áư4 §'ømđÓïTơƒ÷Lú|~“ü,ô&́Qà)Ôp̉J××´ơ*Â,()ä4Ùüôơñÿo 4ƯhgZ`û̉đđ˜îÆ÷Lư9mÀÿWú[ï/áOØủ¼Ơ¡Ø.êƯ–5#A/ø"iöømù̃ơYïLÉđo±¹Å mÿOø“đđôªưuíưẸ̈,ç^ÙÜ̉JƠ Û"áß  # v)!á~÷[ïüơñ üDíú äù ÷̉óô¬úÛ =| ÿÔïăa×/ÔÂÙÈÚđïNm!¨!Â#øλæ"îæó'öÆ (p( {ú’ñỤ̂!ơ»ü¥ Y ¶ÿˆổåeƯÛă•â|Đ%‹!7~ ïñ3ă(ï̀ó,₫!ÍË ₫%̣pđô]ùx» #é₫¼ô6è)ăEåÓăđ̀¶$?."GèëÿñôÅ5₫™/ œơ9đÍó0ơ¡ü?qœ‘üÂóáèGä¸ê‹äÏư™#Ë |¼ÚûÆêÙôIøû^ `rÚ (ư›ñîđƒö.ø†ü)Âü3ñ́nëéƒé@ ¦!>#á Oô=ñ7úBù†́4 "í.úỊ̂mó¯ö²øåûÏư¿ü¡ó¥́Üî`́ÙëÍ?"ÎŒ÷3 8öq̣—ûÓøđÜ * ¨ ”¶₫ƒúdóŸơ®ôŸ÷vüƠûPø̣ñï¹ó̃êƯúpܯ±å ï¶̣üúë₫%₫À ^ ®«₫Ñü'÷Ưô;ö“̣ù÷Rù5ơ—óDñ­ö̀ï&ù0ÇN®Á ÷‹₫c ư/ 4 b=₫ưö öø•óỗộđKïGñQ÷ô+ "es$8(ûq÷H!ƒv 6Î6₫¨ûeơ÷ÚơÄđ‹̣ªî>í÷ñGơ/ơ¹K¼×iÂ¥₫Úú:BU k è=ưoú øÀöNö”̣Íï˜́‡íyóĐö¤ú"†oT‰©ú úá:́G  U₫PúÊööơ ø₫ộ>ï`êNîHô³ö;ÙÊβ ưZÿD¦ í4̀₫Æú‡ö'ơbơ–̣àíëé2í^ó¢ơư•*z6ÎGEúRưb½ÿm @¯ưüóö2ô~÷hôAîJêí÷ñLơ<ư"jF`·Y ₫§ÿcâ₫–³B_÷ưæû́öíôơ3ñơêèö́vñ¤óµÿØ9¸oiªúËé•ÿeŒ´Ÿ`{üĂơ/ôEó¯îyéPëXđ'ñlơUn9¼pç u‚/.đ‹£û‹ÿ:üô÷Æơ¹̣̀́êĐíµị̈_ùÂaj±6%̀¡₫zơû/Ç¿ưWú¡÷¢ôœđôëBîLï0đ9ơ ưĐ ü¶̉g àµÑN70]₫¨ụ̈ù›öẹ́Éíæî ï“đïóCø]º z vî̀ù O -G×~vÿÇ₫fưÀúå÷ơ­đDđ•ñđñéôl÷¦ư&Đ È́̃ å á́É™3ÿ ₫áû(û"ø÷ơBô‡̣]ókô2öpøûØ‚y Å i   ¯ &‚_ ÿxüºú0øQơ5ơJơŸônöÇøÖù¹üˆÿ®'›a#bº$v¬Û¡₫úüûù¦øưø«ùú ü@ưa₫·ÿe]Î Œ[u”D¸eät“ÿÜ₫œ₫S₫u₫Ø₫qÿÓÿçÿ*ÿÿ¢ÿxÿXÿ:ÿbÿ†ÿ¶ÿÓÿMt»óçÎ]0×Ö~çÿdÿ¦₫ ₫°ư­ư₫}₫ä₫yÿŸ"q¸2çŔê«\1|"Uÿÿ’₫w₫₫Çư¥ư˜ưƒưưâư#₫®₫ÿ‘ÿíÿUl£Ç¯—˜;‹’ Lt˜íÿ‚₫Zư]üˆû̃úhû8üưĐư₫Aÿ†ÿ­ÿ¾ÿÓÿ†ipLºˆÿÿ́₫'ÿÿN©B:.₫́ȃ Aeÿà₫É₫à₫Ù₫ä₫ß₫’₫%₫˜ưEư>ưxưøưy₫ú₫qÿÂÿI¾1”ËAbg\K0#́€ÛêÿÆ₫Ûưư¤ưâưA₫¤₫̣₫ÿÿä₫Ă₫È₫×₫ÿ`ÿ”ÿêÿ){É;C=÷ܲ§ÄÙïèåo½ÿcÿ4ÿÿÿJÿ…ÿ¡ÿÄÿ×ÿ¾ÿ²ÿ´ÿ¨ÿƒÿVÿ>ÿÿè₫í₫ÿDÿ‘ÿèÿ7‘Úó<[r‚yyYóiÉÿÿ˜₫Y₫\₫k₫₫¾₫ë₫ ÿ#ÿ?ÿPÿlÿÿ»ÿØÿêÿøÿQ”Ö$rj1×w,KL|€;ûÿÿ8ÿÑ₫Đ₫ø₫Dÿÿ̀ÿÜÿÊÿĐÿ­ÿ›ÿÿ“ÿ›ÿ¢ÿÿeÿ7ÿ=ÿGÿhÿÜÿ'–Ơ)^v‹’‹kP+ä­AÂÿÿ₫7₫₫1₫„₫̃₫*ÿVÿ\ÿ^ÿhÿpÿÿ®ÿéÿ ?s²Óë $." ơ½D«ÿ/ÿÚ₫œ₫°₫è₫ÿ0ÿCÿ^ÿSÿ+ÿ!ÿ3ÿUÿ|ÿ±ÿ̀ÿßÿØÿÜÿ₫ÿ RÖ>i`R@ öÜn3Üÿ³ÿ ÿÿzÿÿ{ÿ^ÿvÿ`ÿIÿ[ÿkÿtÿiÿtÿrÿgÿiÿ›ÿàÿöÿ!H œ­´£–x_.>1H2çÿÙÿÇÿÏÿàÿâÿßÿ¢ÿ¼₫º₫-ÿÿÄÿ‘ÿp9ˆƒT´¶‘~Ym̉ÿ‹qÿÚ_ÿ*₫ŒVÿ₫Åüêæù gÿ₫<û$₫ưSÿ"₫“øÿt#®ưngÊÿ₫·I&ÿ0+…?Àùÿ¦°₫Yÿy₫Gÿ< ÿDóÿ«ÿ½ÿ Æ₫™ÿ₫lÿôDœaMÿ…ưưqü§ưö₫w9ÿØÿŸ÷ÿÁ₫fÏÿö₫0ư‰₫ ₫NüBü/₫J₫µ₫wäuîS¸~£{Ê‘"ăD¾ÎVÊ₫ÛÿEÿ̉₫ưæûêû÷ú0ùmøûcúMûÆüÿ[W e  +₫  º …W/ü/û÷²đXíÿî{́zêFëî„ïNđƠơ—ù1₫²ï #3s¶RR̀̃TÆ zÿ ùç̣îÉêiåÿă#æå)ç-ëĂđ­ññơ€ùü½ùy₫8 ˆ S (“kâ¼ÁF’w Ëåưzøjđçëđéôè‹çQçaëîsî›ñœôƯöîöö™ùă÷pø2F́ =ÿô !?"\ ®ˆ ¬₫áôíĐéäÆă^ä6å…êTîñÅöJöë÷û÷Wơ’÷'̣tø»KÈ ¿ôÏ ”#ï%T'Âë¡/ÿ´ú¹ïÀèQäàâMáKæ3î,ñ±ö ư>ư]ưư™ûæö ô9̣øî_üMè˜ízF#'î(Ö&ơçay₫8öMé·ăpß̀Ư<̃kàAêñªôZÿ¼ÔslE₫Ó÷̣̉ẹ é́H₫Aú?̀h(**{-#' EaPvüíÅăbß[ÙÛ̀ÛVá!ínó¬û#¸ ÷ ñ o;Mú|̣Ăïmçñá’̣èôỗ–¤ơ"̀)À0ă-£%$'û2 sơ÷2ê’âPÚ ÚîÙzÙÜä`íóóRÿ• fÀ Û »Âù’ôëîréá]ê§ơ‹̣jÿƒ|'*-è0û(¸&ó#r$¿₫RñmæŸƯëØ¹ÙÚ×ÀÜ|çîá÷́ —æM„ d“üöÂî¼é ă„âÏñœñ?ơÔ»€”!h(U.^,—&¦'DEêVûSîœå‰ÜÚÚ=Ú+Ù#áÉéíïkû›è _gæ „ ÿoølñí‰éåWîsôôiÿ? Ăê__"e&"†!D]Ă ©øû^ôë åSäPâăÜè4î?ơèú̃ÿ«v ₫₫Uû@ùœöäóÎô^óŸơéú¹üµ₫ ±6 {âRifƯâ ÍưƠù8ơó<óỌ́DôuöÓøŒûÿüà₫¥µåÁGư ÿf₫́üûú ù&ù¦ùùJúCürưx₫ûÿg‡gĂÎDú/\đêư 1Já»ZX¼¡O8ÿ"₫!ưgü½ûû–û…ûæû üDü…üBüÛûUûtú¤ùàø'øĐ÷²÷̣÷ÛøØùBû6ưdÿ· Wl" € o   ; v à.«,´˜¹•ÿVÿ+ÿđ₫µ₫i₫Úư%ư†ü‘û—ú·ùÚøUø×÷•÷ß÷#ø‰ø}ùdúkû«ü£ưĂ₫Ïÿ«t‚ç[²Íbç7Ưo¶íĂ¡'/IVù²¿ÿ­₫¾ư ư—üGü)ü1üoü‘üÈüư:ưXưuưcưLư8ưư ưëüíüư^ưÅưW₫ó₫²ÿ}&ÊM¬éăF»,·?éÿÊÿ­ÿĂÿ „“Ñú#̣+MÉÿcÿó₫­₫–₫₫®₫Ï₫û₫*ÿ9ÿ1ÿ#ÿ ÿ»₫ˆ₫B₫ßư°ưƒưZưiư}ư™ưëư,₫ƒ₫ê₫Sÿ­ÿÿÿ\²áLi€¡Áơ+V¸ÉƦz;ĐPâ`Úÿ‚ÿ9ÿÿđ₫ú₫ÿÿ%ÿHÿGÿ0ÿÿÿ̃₫œ₫^₫,₫ñửưÛươư#₫s₫á₫<ÿ­ÿ ‚Èù ́·] !Hx›̉ư=HF3&Ù b"âÿ³ÿ•ÿªÿ¤ÿ°ÿíÿÿÿ ́ÿêÿ́ÿ¬ÿÿSÿÿÎ₫§₫₫v₫y₫₫­₫Ü₫"ÿcÿÔÿëÿLa‹{ƒbn,n=t‡²Èè3CpÓ†èsvÿ€?ư¾₫âưdü0ư³ü?₫̣₫©ÿlÿ…ưŸÿà₫äÿ7^ÿ)~ÿ'¯ưu É·lư°û₫"›  “6Íc›ÿGÿ₫¼ÿúF×ÿÅe˜₫U]₫Ïÿÿÿè₫ü₫d„₫é₫âÿ ÿ¯ÿ¤ÿ~dʧ~gƠÂĂîÿÿ‡ÿe₫ÿ₫Ăưë₫Q₫ÿÏ₫²Víæÿ ¸zü…eÿGÿÈüÿkéưưÿ9}ÿG¡îcÿ3ưtÿÿM₫¯üOJ`[|“û”ÿüMÿqûµưŒªÿïÿ}·Ă´5ưZû0ưƠüû¿ưăư²Üữ6Ï]7.ÁX"ƒ½±ˆcx,7›Óÿ@ÿWÿíÿaÿßÿˆµ_Jvÿ ?ä₫³ÿ¸₫Ï₫:₫₫ÿ=₫RÿÖÿbÿ“ÿ®Á₫&o#fÿlÿ²₫ÿî₫¸₫P&k=úkrF¿goŸË68àÿWœÿÿ™₫fvÿ₫ ÿŒwÿ-₫½ÿ[ÿ<ÿU)ÿbñÿFÿ< đê₫}ÿa%ÿíưtÿ1ü₫ă₫©ÿËÿÿ‚₫i[bÿ0‘¯ÿaá‘Ùi絫§̃´‡|ÓakÿÓư*₫c₫Ïü£ü ư8ưüûü'ư}üyûü~ü1ûûzüĂüåûîüx₫´ỵ̈sbi ˆ f å R Ü W$ e 5ö;äưCû7øơệḳ`ñmđ₫đ"̣ó×ôyö©øbû$ûEữưb₫Vÿàÿä"rsŸº æ ç 5̀Ó©Ós£ ñ 4?ÆưWúÍ÷Àộ‹ñ”ñ¬đđđỴYóóŸô÷¿ö4ö‹÷¦÷öB÷Úø(ú>ü6₫¤àMjáI—º¦ †+R˜ ¼ưư»öSñkïÀ́ÎëYímï´̣ơc÷‰ú9ûú’ú́úbøơÖóøñï*ïVđỊ̈÷‡û—™ûn+{%P)t(h&"! ‚–÷îHèÏä!â•ă₫æùêiñÍ÷8ưkvc&s*ÿ¤ú–órđ í&édéÈê7íỌ̈¥ùÿ t4 ¾%f,%1c.9(ö"3™8úèï¨æ›à%̃+̃(߯ä¿́ôbüÎM q Ü :ÈÓûôjíVê¾å¾ă?æ”é™î ÷”ü FÔà&2á3₫/h+Ë$h~XËùPíÅá3̃³Ú´Ø¿ÛRàé9ó¿ûöá©•b Âÿù:̣ÿè6å¸âÇà3ă‘ç*îSö.üơ ă‡%]0w1.`*đ#Ạ̊t^ú)ïä?ßÜÚBÛÑ̃ùæ¢ï÷×9N—´Ï NÀø°đCèĐăŸâAàáaæ¦ëḷNú"ôQß#Ă*E(½%’"&¡L –Qưó-ê4ç̃ă7âSâAäçê¨đ ơÖưhđ (mÇ¬Ä ¯¬ú{ó~đ™íêéKëíÈî8̣ƒ÷âûÄû ­ úÙ ƒô íơ ·Í>ü÷óñ®ïÑîÀïẹêôö÷ëû¾ÿơ!‚ÙYqb¥füưŸûµù£ø»÷›ö8öeöáöå÷eù́úfư#ô»n´ơ£†[¢u;=*ÙçhÓÿîÿ$w¾ô Ơ˜hÿÿRÿÍ₫"₫bư°ü üû÷ú“úDú,ú1ú-úCú¤ú(û¨û<üư₫ÿ5# Ùpr©Î«fpúí“nÓǤr5à”$•ÿÿE₫ưÜü(üûûĂú§ú¦úØúUûøû°üư^₫:ÿäÿƒdxl8Ï?ËÿYÿ̃₫„₫₫×₫4ÿ̉ÿ­¥“h;ÛBul:Ë*{¨¢§Àÿ×₫₫cưüüĂü¡üµüöüMư¬ư₫‰₫é₫*ÿgÿ‚ÿ„ÿjÿ7ÿê₫₫W₫₫́ưäưñư₫U₫²₫ÿzÿúÿ~êOµ$"*Ø¢vLáƯàëø6Jg˜sU;₫º` Èÿgÿÿ›₫:₫Ơư}ư=ưđüÂü¡ü•ü¬ü¼üôü&ưcưÁư₫e₫Ó₫Vÿåÿ|œH́Z·Æ•ŒsVí¡Tø¿…a1ߣTØÿdÿÛ₫]₫ÂưDưƠüuü3üüøûüXü üư‡ưÊư₫KÿéÿbÉSsUă6ûøÛm¥7n{G¦/­2¯ÿIÿ¬₫/₫êưçư¶ưÏư₫W₫ÿ±₫—ÿˆÿ9f̉ÿf—ÿü₫D₫₫ơư)₫x₫ó₫Uÿ}ÿ¢ÿ‚í%Ÿ,W`=Jï‰!+É3 Oí₫xÿ^ư‰ưô₫̉ÿ[ÿUÿ₫PưçüûÅúàûưüIüüÿă₫ơưpܸ=Ú¦ÖaÖ}*³\ßÿ’ÿé₫9₫æưÈư‰ư€ưĐư@₫ºư”ư|ưư2üxûeû`úyù€ù4ùøùäù+ưl¨9= < Û [ʽ‡ù l æ»ÜưéúïøơaóNôÑóáô÷’ùcüÏ₫ê =¼P&₫ú1÷£ô-ñ3đrîÅïưïtơü¬ü!ưS=  ¾Y…î ?¶ü*øùñˆéé¹çäëèRíüí³ơQüÇ₫Â¯ó « Ă -=‰₫bú?ô¶ïx́̃êbçpí3ơØñxÿ÷ ` !ƒJ%Ü(U$Y!^Ÿ ½ư*ñzçççáLƯ[ăçăLæóïôkú£kw l Ç ăQGưÂ÷ºñSđ¿êẮÅôÏî4û.08yZĐ"ƒ%_#¦"Y§€6Uớ{́«á|áÏä́àè-íÑïhù ưNÇ“ VWúü7úëơ@ñïïƒö÷̣ùúR5D́€î#. + çIdc̉ơZî­́%äeâ>çÈâéçđOïAø†₫4i,?‚”§“ü_ú—ö¾đ”ñḯôÊöù¸qÅ z=T#[ c 6 d]„Søôïf́:æ^ă0æ7äùç<î¦đGö¼ựÿt1ˆÍ üíúöâđ…ñeîÆñTøóơ¼ºô Ă˜ #{!8!±̉¾ ̃Lü÷ñIî”èđăÎäƒåKç‡êưñXô]úYœ[ gäwư¥ûP÷̉ñêđîtî½ö ó±ư•ü„ P!L"a!M E[Ă ÖZ,öúđ³ëøäfåägå|ê|́0ô‚ø/ưîä+ FåGưûÇô¾đ½đºêṬÔó®̣„À€¿›#"” {!lR(® æƠüöäñíè÷æÜåeăuæ6ê(ï ̣cü)₫z; Èa ·2ÿ»ù$ơ=ñ0ïºê]ôÏîjơIóư_ (_#˜ Md sëàÍ÷üsù ̣êÿé*æ(äqçéÁ6̣{ù£ư\ø    ´F±­û°ùöó!ïÎëÄë%ñ|êŒøËü°ûh ¤ơ˜0yă!½_®‡´ÿ)üNñ’íÓK噿†èçûëËđóó$ûA™S x Ú ³ ¼ ¿iÿåø®óVñwêë&đ[é”ơ>ú9ú×Ó Oo…v%; C] ­ÿŒơ+ñïÑèrè>éØçÿê¿î±ñö¡ưÇQ „ É S2 ư'ưKúdơƠḯ¸î»́́÷Ùơ‹üû û³Œ•ੌ"3N4₫±ö<ơGï,ë́´éuémíeîKñúöëú!₫-| F sr 8 d e¢\ÿơóïwí¥í[ë¿ô*óAùĂÇ SÙ ¾ M*ú٠ĀÉú"øJñîÿíê;ëä́í ñZôƠ÷kü'Ă ‘ ? \m € ±Tÿ±ûùô{ñFîí¯í́æó¤ôƯùĂ¢ c´jØñs KÁÿ¾ú=÷àñ{ïuîĂë2íAî$ïạ̀ÛơâøZưëjzü & " êG % x å)ư9÷KôÚñ‡î¨î%ñïPơ.ùSú¬ ïædîiƠ£ 4óÈ₫ùI÷óđæđ ï¿ïỵ…ó öÅùùûÔ₫8%ø@Cº M §¤J» ÿÉü‘úmø¹ö.ơ{ô!ôô|ø'öèûÅÿr₫øîäŒ • "ˆ N  cú}§ưkú(ú8÷ÄơL÷\ơDöYø¬÷ÅùØûü(₫CH07*FüÓ²ÔgTÿÁ±E‰₫•₫ùưüsüûú9úù^ø³ø‰ùÆø•ú¤ÿû› ăc   –m « ư Êi[₫¶ư¸øă÷ÊøÛô{ö’øöúêûƯú‰ÿ3ÿYáÎnÑû¹ÿ"₫ÿăü üvư¹ûüûµưiü•ưBÿN₫ưÿ/u ­é!8C(Í̀hÁÑIn£ÿ)"ÿƠ₫Vÿ”₫˜₫mÿà₫9ÿB¤ÿ7 ÷ÿ»¥SÿÄÿĂ₫€ư;ư{üÖúÊû¡újûü”üÿñ₫!<θº‘2b%-̣ö₫“ưđû‡úú’ùPùú¶ú[û2ưúưIÿ₫ªî×'Ùd“ÿ£₫₫”ưưüñüëü×üRư¤ư₫Ô₫bÿùÿÆA¼Tw¬â£“NƠư†&›ÿJÿÿ¶₫¬₫—₫“₫»₫Ê₫ö₫.ÿAÿzÿ¢ÿ¯ÿáÿëÿ/3.CBBWPRWE>8ëÿÊÿÉÿ¢ÿŸÿœÿ‘ÿ£ÿ²ÿÈÿöÿMm£ÄËüÙƠÀnFúÿ˜ÿcÿ ÿÈ₫¨₫ƒ₫~₫—₫Ă₫ÿ₫[ÿ»ÿŒæ4~˜¥¤q=üDéÿÿHÿÿß₫̀₫¼₫ß₫ñ₫ÿhÿ‹ÿƯÿAr˜•¡˜w`:ïÿÙÿ»ÿ¬ÿ¤ÿ©ÿ¡ÿÆÿ¾ÿáÿóÿ7Rp‚·̀ôܬKVØÿd%ÿ›ÿÿËưư^₫ûïưùứù5ü#ÿN¨₫ßÊT ó+€|Û3êÿơüíưư!ûUư)ü]ü½₫đư®ÿ'1 `c°ø £?®RÿÁưyưéüüpü~üüuư₫”₫Èÿư LmØk*ß+“-tÿÿá₫j₫x₫¨₫³₫#ÿÿæÿmÎk€}GåŸ5³ÿtÿÿ¹₫§₫m₫ƒ₫ ₫º₫ ÿXÿ ÿIˆÀØßÛ¶˜U'öÿµÿŸÿ|ÿlÿgÿ‹ÿÿËÿóÿa~§ÎØÓ⸙|4 Óÿ’ÿkÿDÿ&ÿÿ%ÿ%ÿHÿsÿÿ̀ÿîÿ<Werv_]E("ûÿôÿïÿäÿơÿïÿûÿ #300/ÿÿöÿêÿÈÿËÿ¶ÿ¦ÿ°ÿ¥ÿ±ÿºÿ¿ÿ×ÿÛÿñÿ!,E@OPKOG<:##₫ÿ₫ÿđÿíÿ̃ÿ×ÿÉÿÅÿ×ÿÄÿÓÿâÿàÿÿÿ*%0ôÿáÿÑÿºÿ«ÿ¥ÿ”ÿ©ÿ¤ÿ·ÿÓÿăÿûÿ$C[‹“•€nQ: ́ÿ̃ÿÈÿ¦ÿµÿ§ÿ¡ÿ³ÿµÿ̉ÿçÿ  ûÿéÿđÿ̃ÿ̀ÿ¿ÿºÿ¸ÿµÿÓÿÔÿäÿúÿÿÿ*5?TNSK=>$÷ÿđÿ₫ÿóÿ́ÿéÿëÿïÿ.>/-üÿƯÿÅÿ·ÿ¡ÿ}ÿuÿ_ÿzÿ§ÿ¬ÿÏÿđÿ/RY~ƒwp[=4 íÿöÿåÿĂÿÄÿ·ÿÑÿèÿéÿ₫ÿ $5TKA 7 Ûÿßÿ°ÿÜÿÀÿàÿÄÿáÿöÿ #U0®Fwdºi,̉ưé₫%₫üü`úZúÁùù»ơ—̣Ơó!ûZ’ư= 3ØZØ; 9 ­ÿ]ø­úåñBđ$ơ^̣ÿö.ú¢ÿ´r Ë ¹ ¯₫TûùB÷ù'÷û|…ÿđµ%ÊxÖ²ÿá₫ưû÷ëơḍ9ïăê›é{î‘ÊúÉ•BÓ!(Xä Ù§Èñ₫̣nô=é×ñ”ô^øôû‚ ơ6 ] §1 Ïw1³ûíưôôơ¥ïÇí=́>è•åèåèKû÷¬"µ•!N$וˆz•û·đóôËñDïnú5ü]ù *N 4 Ø Z ûMGú~ó%̣‡éoå°̃¢ßc̃’̃ùü²Ï4%x'f(Ï„ áĐïŒúÏúŒơ`₫PÿôưQÚf œ) íƯü¾ ô4̣”íÍßä‡àdØîäăé`'’*éS$Ñ!°%¤||ư&ùƠbư½ưîΉàMÿ‚ÿü=ùØôª̣Èé³ä-âHàPÜÓàëæ Ăÿµ:± µ'¨t ù_²ùoüdƯD Đ« Ô ºùéû¼ơrö?ö×ï>́¤éăÚùàdÛÇØƠÛ«óÄ » &$”d#_!¥;~¸ÿƠK₫ÉÍơ³ö¤öÎó°îå¦èßƯƠ²ÙLƠ?ÔÜÓ ñµ(Ă!̀M –/7 ¦ͬ½¨ÈüoÿkÿơróWóọ̈¬åÙá@æ'Ôæ̉ˆÓæÓÑAè]HNQ%  7Z£ H “ĺ÷;l†¾ûÓú÷`đîđ¯êá‹ă’ÛÿÓ Ñ·Ñ¡ÓØü®D è!ª"R SØ6™¦A,W' ö"s âûhø‡ơ”î…ë²ê)é…áỹ)ÛËÔ”ÏÏ\Ô‹ƠơÓ· ª#Í$ æ\ C¿J³ !Æx >ưÉöḄˆ́øèÿäæràYÛ:ÙôÓ¡Ï÷Ït̉%̃ÏơxTk?$×!ăâÊÁ<eÓ¬§ë ¥ü2ơtđoëYçºâÖă6̃Ä×¢ỞÏ÷ÏÖ¼́ü¢Æ!Í!L–œH¼ƯyơY² ¸ç ²øÓñ3îè_ẫâgà¬ØÁƠIÓ¤ĐÍΨÔMí(÷Nî†!ÉÑ9;ä|e¡!ƒçƯÎçúJóïê¦â âºßnÙ*Ö‚̉~ÓñÏŒÚëđøÖ"–8”¯ö¿ñâ>ü  üaó.ïëââÊƯ6ÚØÖpÓ%Ö ÖAçÿôuüĐ I7Ơæé± ‰«ß QâXûó`ïJê²å&âÍ̃ÄƯ|ÛÛáÜôêọ́æù'ó Ü@«Z™Â¾¬véÿ+K ́[¦ÿ úøơº̣áđ^îûêBéè¼ålæºêcïdôuø₫”¤pA V½†GÉp“Lû b o•0ü§÷·ó[đǘê´çüåçºêïó›øöưû‘ Ề%$  è  / ˜?-ưmø¯óïïỚ’êDèè ë¶î‚̣÷übd/ : ù s¾Tp50 Ü • p³ÿ{úơGñCî½ë̀éÅê¯í¸đ/ôkø³üMJ0µ½ _ ’ y¡>W † ø ® ÔZư,øÈólđ‡í[ëÿëÚîÓñờø©üêÿ€I Ä 0 _ € Ï ½ © Í Mó+%üjø†ôñïîËípï_̣hơuøÀûà₫Û"ç 8 * @ ˆ ’ ïÿHhüyøÇộëïéî<đ0óhö¯ùDưmñ"%‹\  á ® Œ Ơ^Wÿ©û›÷ùó*ñ$ï«îhđxó»öCúÚưăoî*‹ ‘ w Ư É ) 2 »? !¬ưœùợgïî̃îñ°ôRø?üÿ9älc [  B ü { £ ±†‘ë“ÿ¡ûj÷óËđ6ï‰ï¨ñŸôø{û®₫q¹æ¢¯}  ‰ ÉK6¶”ÿùû0ø¹ôøñ³đjñólöăù~ư•!cIã; ( qy—ÉΡ"ëÿ÷ü©ùöÆóơñÔñeóêơùüœÁK  C - y Füºmhdÿ³üœù’öÙó̀ññ"̣Fô ÷±ú{₫ơă n   z  wÍB]>ÿœüù†öÂó—ñ¤đKñ.óƠơ3ùóü‹íÇ Ÿ ›  ? ‰ »ÑàèÁÿư úôö5ôÿñïđZñß̣1ơømûÓ₫xŒê † i k o Ư  ̣¾mñÿưÛùØöEô<̣Mñ»ñ2óFớ÷ û=₫g¥Ä0 â ë + « ̣Í\±ưÏú₫÷™ơ«ó–̣Ạ̀ÊójơŸ÷Cú!ư>MäÊ n æ «  IS(æy₫Áûùïö*ơđó»óoô¢ơ;÷fùäû₫md!= È ± ­ é ½ 5fV+Øÿcưûùa÷ö&ỡô#ơöf÷Bù‚û₫à¾s¾` o ¯ , 7 ±¿¢a,#₫,übúµø:÷ ö{ơDơœơ”öÿ÷ÿù[üÚ₫‰ ˆ† á  ¥ ¯ O«óđ₫åüøú_ùøóö2ööơ4öéöø}ùiûuư¸ÿ 23à. è  £6“æWÁ₫Fửû¬ú·ùëøYøFø‘øûø½ùàú4ü„ưù₫‹AØDQn7/ÿ™í:ÿ½ưºüüiû¦úmúØúxûüqüÇü9ư₫æ₫•ÿQ1©^+ÂŒfù7‚ïÿ~ÿ*ÿÿá₫¸₫í₫DÿLÿÿ0ÿZÿ)ÿé₫×₫¶₫₫¹₫ÿdÿÀÿ6^|“eñÿ˜ÿ(ÿÿ{ÿơÿy»&khEPÔ`ûÿRÿ̃₫₫¶₫æ₫=ÿ¼ÿdªÖ´²ºåïçÔº½Å³ºDlÿ₫₫àư¥ư—ư£ưÙưüư₫ ₫ZÿËÿoƯêèÊ­ª¶¸˜úMf„%É·G?D”…\¤ă¯«ÿÿúư™ưàüZưưµ₫–₫‡ÿ²₫5ÿ:₫dÿ²₫ẹ¸ùqü—ùúûR˜²‘gth Ï *œR„6zÿ@ưáú|Úư) ưhü>ư7ù÷›øùö£ùúû ưsü’ÿ³càl  2ËP…ŸÄÿÈe_éü:ÿÆùå₫æưĂûèÿKü^û˜dú?₫CüB|ÿß{"6®Êÿÿ³ÓMƒÿ₫-ÿûPŒüæ₫å₫·₫₫ç₫Eưÿ’ü„üøóú ÿơÿêưå₫o₫‚ôü%¿₫ƒèÿ;tXC²)đÿ:ÿûæÿ₫S₫æü ư¿ÿ•ù_ưƠûøüëøJÿ ûA¢ü–ÿ?ÿܸ'~Œf₫ü_m₫Áÿđ7ÿ³₫ưÿkûø¤èø üL₫lq₫çư³₫µüÏüíÿ‘ưü>ÿ2 ø1ƒ[úøäøùü¥ÿPvü ÿíÿA$ÿ©ÄüaöÿlÿÛúƒÿœư%ù§3ÿ)øÿ‚6Lơíù ₫ñÿ¥e6ư‚}ú¨\ÿ„¾ûN ›û“*Bû¨™₫Rû×ÿLÊ₫Tû±ïûIø÷¡ûFJû¢ÿaƠú äû₫!nß<óư‡mmûƯ₫˜ç÷ÿ²₫vùˆü üùúûEû‘ơ•û~ưo÷C₫¤ÿRÿ{̀JḤoÚ œ6P \Öv°L₫Øụ̀ü*ôAøúkđÓöZú"óOôwùlùSøø)ÁÿVüA  ”s  ß 1 Jù "íFKü’ùùóGñqơṿđR÷âôhơö½÷hû̃ùÔü>ÿ)ÿ¡¹Ïơ} đ — é ù ‘ : eûú÷©ôJ̣qđ+ôḶ\ï1÷øơ\ñ€ú\ûâ÷}ưGÿK¬¾Á̉ & J  +º í ô Pÿ©ûtøụFđ'ï¾ñBđF̣xô”̣U÷túøƠùYÿËüá₫7ĐwJ ¿ å„ zJ Ê P a µ¥NÎùöOôEđ}îzđÚîṇ̃ôựvöü¬÷£÷cÿ[₫súÑư7¯  Ù rñÇ•w í ô M/$ư<öYññmđŕ©ị̂¿ó„ó‘÷ºùăúkûú¬û̉ưÍû*û€ÿØ8gF2%ÛUđ½ ù ˜}Z ÿú÷ôÜïïÚđ~ïUïqơ½öåơøơûáùøjûÅûú´úĐÄ'• xĂ2ư–~ > Í₫úIưÖú&ö‘ñèđôïùî˜ï(̣ùômơ2÷¶ù¶ùƒøÖø°ø“úÓù¥ù́ÿP Ó K“ €Å‹Û ¼ Û 2qlÿàưGùVơ´óÇñ/đmđèñ"̣/ơÆöåơ¤öêùÔ÷¡ó©÷óûûơoùœ¾ —É2ξ’Wø ´ å BƯÿé₫ ûéö×ôóêđñẠ̣Eóö×öÊơ–ö₫ö—ôĐó;öươ¶ö'º$ Œ”ƠĂTz Œ ~ ñ ÿÖüùhöôKôỤ̣̈hó/ơ„ôäô’ơ3ơó¹ñ<ñ£̣́ñÎô12÷z”¾ü~- § óưûÿ«ÿ³ûúSú ùŒ÷á÷ø`÷ ÷¡öŒơ9ôẈ:ïí‚ëHëeêóïÿûë6ü-1q6¬ùP}% RÖvüZùûûäø¤ø&ùsø®÷ÑöñôŒó!̣Yîáê‡éWé æïêkøÿŒ„ <韡­!è±ïî ñđR₫ ù*ûÄûÖø®øûúÍø_ø÷=ôẹuïÁêèç%å|äEđ‘ü‚₫¨.?z ü$a#VƯºc¸ûĂú†ưjûúRüÅưzûƠúEú÷Aó×đ,íÅçüä`äÙâ0àj́hûĂü;±ưÛÈ‘'q!xˆº vd₫vü^üĐưưưd₫eÿÿ£ưû¿øZôđï.́=èqăÍáFàvßvß í‚úlüÁÜ ÚA"k)‡ £ØÚÇ¿ơí$ư¤₫T₫ôüˆ©@Óûú©ơ*îgêSèœánƯßĐƯJܖߤ̣ùû¿ư‹ ñ ’!])¶*KW@&ŸAË₫¼ü[ÿR₫+ˆœO4Sư×øóö́èiäđß5Ü#ܛܸƯûƯMç/ư,ÿ™c'Z "Y/%AX·@ † "ÆưØ₫ÿ²[¹ɱ₫Óûæơ:îÀêûädàú̃:ƯhÜưƯ áÆă¢çËûKnZ%ă })ü%K³Ø'¢ 5 ¥B ÿŸ₫Đÿ`)œưÓúø£đnêíæ£âäáÂá}à@ăæ-ç,êzï™ư­eÊL¼!€ @u‹³³ ú ²+₫®ươ₫&₫‡₫Àÿ/₫rúRöcóRï|́óë́\ëê‘êëÄếî«ñ¿ú3₫†J ,.¶Ămv(<§ø * …¶Ơ₫<₫(₫́ưˆưÆư‰ư{û[ùG÷FôóđøíÊëêHè[çbçÛçMé́rđöÛû̉ ß _“²!á¢.®4j ¨ “Âô©₫xư]ü¬ûơû]ü×ûÓúuùQ÷vô±ñiï?íºë ëWêĂéê÷êD́ï ô«ù ÿ ô¦›œÄ6‚̀‚Ö €+C¶₫¶ü‰ûâú˜úû¿ûºûtûçúŒùi÷>ơgórñ©ï„î…í›́́Ćíîºñ,ö%ûœP¤ ư¨áë§¢¦q4‡Å û‰Áfÿhưülû-û]û=ü4ư­ưÄưZưü÷ù¡÷xơ:óñ™ïrîGíḾüë\́sí÷ïCôvùĐ₫«q äe~RỮXYî qhëàDÿA₫¼ư‰ư’ưûư”₫Ø₫₫ïưŸüsúæ÷yơ=ó#ñƒïˆîĂíé́^́‰́9í±îÜñö–ûÚFC '7̉‡=Aïm}h [ ‡÷5à₫ßư:ư ư'ư8ư(ưâü ü´úÛøîöñôị́7ññïÏî¶íà́^́ḰǾ{î»ñRöû8> ^ñ¼k#   ÍK æÊ Ûÿ£ư‡üïû°û“ûµûæûÀû@ûOúÉøÿö ơEó“ñLđfï¼îEî"îWîïCđỌ́êö§û¼;` WuÔ®9Ú…©e ÿ Đé_[ÿ¶ư7ü!û‘ú1úûùú2úúÍù;ùLø1÷ûơƯôĐóạ̊Ọáñlñ#ññVñ ̣Ùó/÷sû!3D ;e₫3±Oé ú}s̃ÿ·ư=üûVúú<ú˜ú ûûñûü‚ûÄúÔùaøÉö^ơáóˆ̣mñ–đäï±ï̃ï¨đ‘̣Öơ+úÿ*/ p ­C(T‘ñ 'à œ l9LÿÚưĐüü³û¿û̃ûöûüøû¤ûÅú»ùˆø÷‹ơ%ôẸ̈ÄñơđHđÿïđeđ1ñ§̣oơVùåư¹ ­ ¨³4ºyÊfâç€ E#tøÿA₫̉ü¶ûÆúzúOújúaúwúIúđùùø÷ö¾ơ¡ôIóẸ̣̀£ñ§đbñºđâñäñ&ơåơ'ûßkgØØg©«7  r™UÛXÍIùưXÿ:₫;ưûmúËüuøơE÷>̣Píyíë3ë€é­ë đûí³îç̣­̣ôÆ÷ơú₫mz:*Ÿ*+%]%-ƒq ø sÿnû—}ư9ûƠü£ú₫úöözøị̈åóè÷Íö6ø̣ûüúúù›÷Éô…ñ…ñœ̣êđ³ô-÷™ơùơøóö̃ùù¼U!’/“({#e¨ iû1ưÔư>ófúÎưÚúRüÚûßü°ø°ôZù<ö¾ó8ùOùÀûæÿ/„₫¸ú ú˜̣ñ1ñ×ï¸̣ŸôDö£ơôÇ÷‘öúø”ûMÈư;+$.i!̀0• …ưf÷A₫²ö÷lÿôư‡₫̣úơ8÷øj̣´÷Tüpú5₫ }½ư-ÿ öñºóÍđgï®̣‡öLöxó;ö©öƠđụ́û5̉k=*D/#"ư5úüọ²úñù—øÆ¨_COưûZôoóúöÏô)øAưé₫̃ÿS¶_Vÿ ÿiúQöØô—ó¸̣̣ô÷³ô˜ơơÓơđôª÷Êü\&¦ Q'o-h!?¢ Sù³ñ8ùÿüû.ª·¿üÚùḄñ³öö‚úÆgL˜₫qúƒ₫tû|ú§ûø¡øơèổôọ̈–öÖö3öRù-ømú›₫ œ"!à×)BÛA üƠú,̣‘øs0₫Ạ̀ŒÔù*ø÷ñPđ%øqù§ư)Ö¾Fn₫Çû£øÅûOư¶üú₫₫û%ùÚöŒö6ôöjù+ù úü—úÈú¨ÿ|t,f]#§Đ .̀ùÚø:ôÄù/ËüO¥ÿ“øZöÎó¶̣dú\ư¿­`í₫ÉûúùN÷Åù^₫1ÿgëÿăû¸÷~öđôFô‚øúµú üÁü'ûzư|₫• èZX & ûƯúvøùA6|5^ÿÀù÷ă÷Úơù¯ÿ½y±ÚÿTû́ù–ù•ú²₫Gÿđàÿ!₫áú~ù˜÷«ö¬ù.ú&ú…úÄùùø₫ù N2zÿ*ÿCùrûeúXÿ-¾{Dc«₫øÈö÷û÷tư΋UĐ₫üăù—ø’ø«ü₫(Rh2Pÿàú»÷ơÔ÷ªúWù~üsư“ù2÷Ööû÷eùÿú mu£< :ÿ½øÍûư±₫Á6 Y -₫ø¸ö›øúq₫a‡å ;ưœ÷̃ø:ùOú̉₫:-åÿüà÷ ö'÷>øXú8üưéû±ù˜ùÆö öú+ü₫’#́` U¤ù¼û  8 Ñ Ïÿ_ưùÉơMùçúfử®…Íÿưœø‚ø¸ùïúđưz±‡₫Jư„ù"ø7øú†₫₫̀₫Ù₫û₫ø÷÷ù€üû₫»ÿ‰S8 )éü†ú/>’j < Gî₫̉ü—úÜ÷ÅùơûÚưkê”4µư¢üÅú¿ù–ú×û₫b}“¦ÿ˜ûHúú̀úfüÂư2ig₫/₫Aü`ùâø¤ùeûŸû ₫-[ ªçÑp ¶ÿ₫Ê`ÏE₫₫̃û¡úüù×úüëü·₫3ÜÿQ₫ÎüüÆúûÜü₫"8₫¶ü%üóûÄü₫„ˆ‘ÿ4üƠúAúqùßùFü0₫|₫Oú ")ư ̉ œ±₫Ü₫RÔºFóµÛ₫—û"ûŒú”úµûư/ÿ²ăhwư²ûúúÓú́û;₫¡ăá‚ÿưáû"û üpưU₫\ÿÈÿü₫|₫Øü ü9üûvúóùưgưiÿ₫ç ióß BÀỵ̈ í/¯˜±ư%üÜûüµûáû₫Gÿ¦ÿ2_Ư₫ư~ûéû_û¿üÑ₫Vÿ¦à₫b₫Œ₫ŒûkûZû)ü(₫øư¸ÿÈÿ¸₫ßưpưAÀÿvÿ3₫øưmưßưÿ£b bK ́\ÿ‡Q}N×ƠƠ₫€ưzûÍû û½ú¥ü{₫ơ·ÿ¤ü³ú„úFûZüÂưvÿEÁÿI₫=ưÚûIûpûøûE₫ƯÿH9G`ßÿ₫°₫=ÿ¡nd·ÿnè§uƠ !§Å|-6ƠÆc©ÿt₫uưü°üsü‰üưF₫”₫˜₫b₫c₫Jưzüµüùư"ÿưaǜüÎûû=û¬üưü€₫ÿ9ÿlÿ3ïà€Ú$ x ä …O‡”û®î#aÿ̉₫3üàûGüàü±ưgư<₫©₫₫\₫´üưưåû’üËü̉₫¤ÿ]ÿçÿÏ₫Yÿ{ÿÿÿWÿ”ÿlÿ·ÿx(ùÿÿ1ÿÿ=ÿ=(ÿ<ÿÿbÿáù,-È×t‡ ¼}́·…—ÔÿÿÁÿ½₫ÿ8ÿ…₫’₫¿ư°ư%ư,üæû_úwù½øøÅ÷rø‚øđöÚö^ø̀ú ÿ‹ 2`j ïtí8ư t®¯ï₫ÚûIụ̂úüÓúïüä₫»₫_ÿäư1ư<üRúÖúVúèúPü;ưDÿa₫Ùưœ₫Öưb₫ ÿü@Æÿ·g_¿ËYqÿô₫₫Îư‚ưHüÎúNú0ûæûæû}üĐüưưÈư ½Ư  X T ¸k¨¤s±(@ÿĂ₫ư üÔüœư+₫ƒư´₫ë₫¿ư”üLûœû`úú€ü"₫\ÿŒư[ü¤û„ùLùQú¬ü₫6ÿª¿Us`_B¼ÁÁ÷¥ „ B ₫6₫YáºT‚₫)ü¨ûqûHûzû7ü·ư€₫©₫$ÿÿ¯₫vư+ưæǘụ̈ư\ÿẠ́ &ÿ ₫Xü9üáüử₫€ÿ©ÿÿ7₫Ï₫s₫úưª₫"M»₫å₫hl y ù À fÓ3Z"w!FJÿ́₫ ư3üiûü†ư ư₫ÿ=₫₫Ñü5ü¨üNû¬ư¶₫Ü₫ªÿ¼₫ü₫®ücúIûèúüÜüz₫3Fÿ$ÿ4ÿ€ÿRÿrÿÖ!Æ¤Ë J ¡„ & ‘ÿ₫Ư₫íÿªa,ÿÚư ünúưøƒúzü×ü2₫eÿóÿ/ÿkưÄưAưxüM₫m₫Œÿ^ÿn₫®₫ư¨üüùûưèü₫§₫Bÿ ÿ?₫Ç₫Ù₫á₫y₫ÿ«ˆ). ̃ Đ "  ưµêưA₫iÿˆÿ¿àưJ›₫7₫ÛûQúûûû_ư²₫)ÿÔ»₫e₫ăư—üLüAüŸưÙư'₫€₫ú₫=ưRûÎúIúAú“úüH₫₫Æ₫§₫₫₫åưŒưî₫a´|2 8M{G A Øô₫2₫y₫ëư ÿG¥Êú₫‡ư°û‡ú‘ûüˆüèư¢₫Nÿï₫²ưd₫Ÿư?ưD₫1₫^ÿ ư‹üüNúvù'ùú̉û(üo₫¬ÿCÿÉ₫G₫₫Íư’ư¾ÿ<+ §7)» ‡ Ă¡Ô₫C₫g₫¶ưøÿVÿEÿ̉ÿ8₫̉₫€ưÑü¬ưđü¢ư6ưpưO₫ư<ưxư9ưuư|ưêưJ₫÷üwüÓûÓú³úKúWûIüèü?₫=ÿ K $é q׸‹ư{*^[¿ñ́ÿ|ÿw₫¼ưLưưYư|ư₫¬₫ơ₫ÿÿ¾₫d₫ÇưBưíüüü‚ü üáüéüưjưºư₫Œ₫ÿ™ÿöÿd̉LˆÁơ %IK<ÿ²k/ưÖ¡ª£©£~^G-ôÿöÿúÿûÿÿÿ íÿƠÿÈÿ«ÿ…ÿkÿLÿ%ÿư₫ß₫Í₫¶₫£₫­₫ª₫¥₫¸₫µ₫Ë₫É₫À₫Ö₫̀₫í₫ÿVÿ®ÿ₫ÿe³è1F[d‰¦­©¤”‘››•c1Ù‹6Ëÿÿ0ÿö₫±₫v₫E₫₫íưËư¹ư¬ư›ưưƒưqưjư„ưÀư₫Œ₫ÿ®ÿ1¥ Oˆ®ÅÙÙƯÙÙÜßíû ïÈ™\ĂoÈÿ~ÿ<ÿÿ₫Æ₫‰₫K₫₫Ëư’ư[ư8ư1ưFưtưÄư₫y₫Ô₫%ÿzÿ«ÿøÿ4p¬Ú5PsŒ®Ïơ:@8Ö‰;êUÔÿœÿ]ÿÿÜ₫‘₫k₫8₫5₫.₫4₫P₫a₫}₫“₫²₫Î₫ø₫ÿLÿvÿªÿ×ÿ4]‚¯̉#Jj}‹ˆqW5缆WÎÿ…ÿ8ÿơ₫Ä₫¦₫¢₫ª₫Á₫Ư₫ø₫ÿ,ÿJÿ]ÿzÿÿÁÿÚÿîÿơÿÿÿ1Ov’®ÄÑÓØÑĐ½±}\2 ëÿĐÿºÿ¬ÿ†ÿSÿ"ÿÿÿÿ<ÿ`ÿƒÿ¨ÿÑÿëÿÿÿ*<JQPH;7>EVf…™¡‘sT6ưÿăÿÇÿ§ÿ‡ÿÿÿÿŒÿ„ÿ~ÿjÿ]ÿRÿVÿcÿ„ÿ•ÿµÿ̃ÿ;Yr{‹‡‚wgj>GAOFYblpghR=âÿƠÿ½ÿ²ÿ˜ÿ‹ÿuÿmÿjÿkÿ]ÿ`ÿjÿfÿ}ÿ”ÿ­ÿ¾ÿÅÿ»ÿ·ÿ̀ÿ₫ÿ$E[gYI9)3R[`ehWKP\gyƒ‡…aG2 üÿçÿƠÿ¼ÿ¤ÿÿvÿ`ÿKÿFÿJÿSÿjÿ}ÿŒÿ¯ÿ½ÿ¿ÿƯÿøÿ9E0>\S úÿ-056RRXw„ˆv_KD=ôÿØÿđÿ²ÿÉÿ«ÿÂÿ¤ÿßÿÔÿñÿÁÿƯÿôÿÍÿ¹ÿ†ÿ¶ÿ“ÿ-ÙÿT‚ÿÿªÿ ÿÆÿ8ÿNTÿĐÿ·ÿp_*('5PFd_Tôÿûÿèÿ-ùÿ ]ôÿôÿÿRÿ4—ÿ6ø₫́₫¥ÿíÿRÿ ÿ₫î°₫ Ëú#ưÄûMçg΄₫Xü₫û¯ưĂÿ¤¥₫¶ºá^ø\Ă£ÿ ’ÿ‚Æÿ“•]ÿgÍÿ‹ÿÏÿ(IP¿ºÀÁƯÜIÈÿ¹ÿƠü û9₫,₫ưeüÖ₫`ư?üøươ₫óÿ® HđÿÑsae₫fªÿ(ÿ=˜ÿ¸`₫ÛËü­ÿđŒ˜ôÿx₫êÿTÿÿ*₫ư€₫—₫~₫dÿ*yÿ…ƯÿAØC+Q:ăÿ€₫TƯ₫~₫ßÿ>r₫’¡₫Wÿø₫×ÿÿ &ÿYmÿfé₫ưÿyÿªÿöÿaäÿ¹ÿ+˜:.}<`7ÿDÿ̉ÿÛÿƯÿ•ÿ̀fÿqÿÙÿđÿ₫₫ôÿxÿôÿKÿŸÿơÿDïÿ²B7à¶ÿK·ÿsúÿs)›ÿ$R øÿ#íÿáÿX¥çÿ•ÿ ÿßÿwÿ›Ê₫eucÿ´ÿỵ̈₫êÿUu₫‚ÿN`WÿÍáơÿ‡;Ïÿ•ÿYÿè̃ÿ‰ÿñÿM€ÿ ·ÿ¶ÿWP¼ÿy¾ÿÿVíÿµÿrÿÍOÿ°Óÿ>[zÿƒÿ øÿNuÿ}ÿa‘ÿ́ÿXÿÑÿŒÿ…ÿ =ÿéÿ³ÿ,‰ÿt÷ÿ ÿNgÿ±›ÿâWÿnÏÿÙ¥1ÁÿÏA®₫~ÚÿS}ÿóÿœÿS̀ÿơÿ‹ÿÇÿÿ́₫‡ÿ0ỵ̈ÿfÿÿÿ»ÿÿôÿ#ÿ·ÿHÿÿƠÿà₫ÇÿÑÿ%L¿ÿŸÈËÿyc₫ÿ“̣lñ¬/§×&¹ÿ¹ƒÆÿÚÿN0)ÿ,ÿ¾ÿ¡ÿư₫$ÿ!ÿ\ÿ³₫|₫‰ÿ1ÿµ₫đ₫÷ÿnÿl₫ñ₫¿ÿ̉₫b₫ÿưÿªÿă₫‰×ÿöÿó ‹øwL£h¬q¨ĂH;­† 2ÿ uÿBÿÿÑÿ ÿCÿâÿhÿÿÿmÿ[ÿ©₫ÿaÿđ₫Ư₫ă₫Qÿđ₫₫WÿZÿÿ[ÿ™ÿ,ÊÿÆ̀ºGÁ₫/éĐl²1ư†w‚XÊÿôÿ*œÿ–ÿ¹ÿĂÿnÿRÿœÿÿMÿsÿ¡ÿ’ÿ^ÿfÿ†ÿVÿ6ÿQÿgÿLÿ?ÿ`ÿ‡ÿMÿWÿ¦ÿÉÿ²ÿÍÿ0B#`•sf…®—˜¿¿²§œ’|ttuwPVSùÿéÿÏÿ·ÿ³ÿĂÿÄÿ¼ÿÄÿ¶ÿ·ÿ®ÿÿ©ÿ¡ÿ ÿ¡ÿÿ¶ÿÿˆÿ”ÿ„ÿŒÿ‰ÿ®ÿÓÿÍÿđÿ  4+ JKGEO^9EdPR`o^?Q> ̣ÿđÿăÿÙÿßÿ̃ÿÙÿÉÿÚÿâÿÍÿÏÿÎÿÎÿ¾ÿ±ÿÀÿÀÿµÿÁÿƠÿßÿØÿâÿùÿöÿđÿ + *1$$30$(2%$$ûÿùÿ₫ỵ̈ÿêÿđÿöÿîÿèÿïÿ́ÿâÿàÿâÿăÿÜÿßÿéÿæÿâÿæÿêÿèÿåÿïÿ÷ÿöÿưÿ  üÿùÿøÿöỵ̈ÿôÿôÿđÿñÿïÿïÿíÿ́ÿïÿîÿîÿđÿïÿñỵ̈ÿóÿôÿôÿöÿùÿüÿ₫ÿ  ÿÿưÿûÿúÿøÿöÿóÿóỵ̈ÿñÿđÿïÿđÿíÿïÿđÿïÿđÿđÿñÿóÿơÿ÷ÿùÿúÿûÿưÿ   ưÿưÿưÿúÿ÷ÿ÷ÿöÿöÿôÿôÿôÿóÿóÿôÿóÿóÿôÿöÿöÿöÿ÷ÿúÿúÿûÿưÿ₫ÿÿÿ  ÿÿÿÿưÿüÿûÿüÿùÿùÿøÿ÷ÿ÷ÿ÷ÿ÷ÿöÿ÷ÿ÷ÿ÷ÿøÿùÿùÿúÿüÿưÿüÿưÿÿÿÿÿÿÿ₫ÿưÿüÿưÿüÿüÿûÿúÿùÿúÿùÿúÿûÿúÿúÿûÿûÿưÿ₫ÿ₫ÿ₫ÿÿÿÿÿÿÿÿÿÿÿ₫ÿưÿưÿüÿüÿưÿüÿüÿüÿưÿưÿưÿưÿüÿ₫ÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿ₫ÿưÿ₫ÿ₫ÿ₫ÿưÿ₫ÿ₫ÿ₫ÿÿÿ₫ÿÿÿ₫ÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿûÿ₫ÿ₫ÿ₫ÿÿÿÿÿÿÿưÿ₫ÿÿÿüÿüÿüÿ₫ÿÿÿ₫ÿÿÿÿÿ₫ÿüÿùÿùÿûÿüÿÿÿưÿûÿưÿ ưÿưÿùÿ÷ÿúÿưÿûÿüÿüÿÿÿ₫ÿ üÿùÿøÿ÷ÿüÿ₫ÿưÿöÿôỵ̈ÿôÿøÿùÿ ùÿ₫ÿÿÿ  ûÿưÿûÿöÿưÿ₫ÿÿÿøỵ̈ÿóÿèÿêÿ÷ÿ  ₫ÿüÿùÿñÿôÿúÿüÿüÿưÿùÿöÿ₫ÿûÿ   üÿüÿóÿûÿöÿ́ÿöÿóÿïÿîÿïÿíÿơÿóÿñÿöÿÿÿ $  ëÿèÿîÿơÿüÿúÿöÿóÿưÿûÿúÿ÷ÿ  ùÿñÿñÿïÿàÿƯÿçÿôÿ÷ÿøÿüÿ₫ÿ    ñỵ̈ÿáÿáÿàÿèÿíÿôÿưÿúÿüÿñÿùÿưÿ %(çÿÔÿåÿêÿûÿîÿưÿ₫ÿüÿúÿâÿ×ÿÔÿ×ÿüÿơÿøÿ#)  ưÿ#%-èÿøÿàÿ̀ÿÄÿµÿ¼ÿ¤ÿ½ÿ¸ÿÈÿ¹ÿ¿ÿµÿëÿéÿ A>QO\DP>G4>IF`hceR¯3D|óÚưNđ½ö‚ïç€`ûơúưôiíøåTíR 4‘/‹ eË È́Àï&åø÷µ Cç sưñ€đđíôû á Ăvöíóîĺ¾ë|æåæß̃dư<5K!ô'CNîMÑ×ëFưăÿjÇ$K î ‡÷@ñ…â_åö S8 aụ̂ îøûB đ ̉ ï5ï½äDéµ́iç†çààíûƯEI4ç(?.'̃û Ợ̃û×ü;Ù$ó¥ ³÷åïâªäíùüé Y¹Ç …ô¾̣àđLđñwú(₫ï%æ̃ŒØÖcƯ| ÆL:8€7ƒ1­%ñDÖ5øôwts#Ǭ4ÿ‹ñ€âƯæĂí=ûÍP ĸŒü?ôâëèÀçKñơï¦å9ä}à ÛÆäëưÊH;-ü*•94uà®ù›ÿ ú‚99Î ü3û åóëÈñrơ½ Uö#đù,̣ḿ¤éïëzîóđè₫àÔà₫ß3̃…æZFÂ9}/5°Œ̃ăöüË…r˜´ưØöZê3ëpí²övÿ‚Ù¾ ¬ÚøÏđZæ‘ă¹êëßềäê âKßÏâ|́HơI6L=.i;Æ–;ëÂñíDưf„.–·ưeü#îÙæŒë̀đUü£m`Ê ’Óỡ́ùàăĐéèê¼èóŒâµăVă î¥́T'đS—-&CK*F„øˆêZÖ÷W -̣rm…ÿ%ó²ærê´ë“öM₫¹ ̃đ ̣­ø„́»äŸâSæ½çÙèÚëÆëÑææçîíóBụ̂F¤Dæ3K?ï#k!ëÖø“øö ́´ ñ₫_ÿ*îÔåQéíåúöÿíkŸ₫ơïBèláăaéMçë†î™ê“å̃è4íJơüóv UV©;6½;&$Ôåö¶₫¼ø“ ø–L[ÿOü èƯå¯êÛđúªx I÷‰íä”áä‚éœæ‰ïăíêéß́œñ/øùơ1ßOÑ.üAB,µ>ü‰îƠP÷:Îid₫̉ó+äÿèÍê öMưå²ö‡ưñó̀é¨ăåàæÎç)êˆđ̀êSë́đIởû‡ÄD(Cª0îƒîíü!î xđnô‚́đé«ă+áÎă³êń»æéñ-ö2ư€ú,ß÷ơ÷Ü₫¦₫`•*Äÿëøuóáî®å`â›á!æ:ă>äwíƒóÖø^+B(¨'Â7À2Ú-$mp“öṿlô1đ ̣ÓïZüœkû&qÇÿßükDnư¤ü₫ª₫÷ö¦óỤ́₫éæădæHåhàê1îôÏ÷@~$Â[0V2g3Ç#xæ ¨û=ùậ5ïăé̃ëơôô ÷âưøí… )<hd˜ûC̣ôï¤́ç]ä<å%ë'êế/óÜø?üåáѦ€̉¥uPE₫ÚüøAơ©öv÷í÷|ø úæưy₫v₫$tL̃+8ÿ'ü]ú¢ú̃ø‘÷.ö¹ơ¯ơ"ôoôLô ơơ¹ögú˜üCèÏi  ‹ %Muæ ¥   U `\ÚáÿƠ₫T₫c₫S₫ÙưaưưÏü8üsû­úEùj÷ơfô–ó6̣Zñÿï[îuí`íÔïót÷Eư†̀ă aÄ“X ›• (`¾₫‘ư¬üSü*üƒü"ưưùü2ü5û¸ùS÷ơó°đ…î"́2ê8éÑèêÚ<đÓơûâđ6 ́“Ù”2àÂy ­N*z₫ü$û ú¼ùtúhû+üü.ư®ü ûKùV÷̉ôöñÅï´í±ëkêưé`êëkîó:ø«ưœ t‘H7̀m¢¹ư$0 ñÿƒưvû úXùrù%úûÇûuüxü°û“ú—øwöDôĂñ´ïÔíẂ˜ëXë„́uî—ñ-ö*ûh~ ”†¯Ư-|ªvÍ H Î’ËÿMưûLú¦ù¨ù2úüú[ûÍûüLûúùRøVöøóñ¢ï8îAíấ¸íwïÂñœô¸ø7ưp» ̀ ~Ư­¸Ä ́ yª Ñ !ˆxÿ§ưüû§útúbú®ú×úúÊùÄøn÷{ơ¯óạEñ…đ„đ ñæñ$óơ…÷wú¢ưé'̣… l 2 Œlc^À±a ­ ™ ™[[¿ÿG₫èü üûéú_úÚùOùlø(÷Cö}ơ™ôôåóáóô³ô¬ơ¾öư÷ùaûWư‰ÿ‹s¬< V I 7 æ Á :  W x Í½¢ÿL₫.ưü?ûúÄù<ù³øBø ø¢÷v÷q÷÷÷À÷ø…øFù:ú`û€üÀưHÿÜR·ÈU—á4‡Íq“’_Ô,VoŒb#Öÿ†₫`ưZüºûKû#û7ûeû–ûÎûđû üMücüQüOü0üüçû!üü$ưưư±₫9C¾vÔtÙ`Gu\péiÇÊâÙ}KÿË₫}ư ₫ư_₫́ưÜư‰üœư{ưlç¦ü ú»ú‰üxøÊü@ÿưÈüÖB™₫Ü—ưuÿº«ú₫4,ÿư‹’ư`ü³üưä₫´₫+™„(SÄÛÆ¤fRû]ü¥únúøSö>ơ)öøö£ơÛöø]øÛ÷Kú’û^ûgûửưûư~ÿ€ăùôÆë² NA“á| ăÍ₫êùëơJï¸́äêåçvçèsêB́ǵ¹ñtóñbơŒö@ơœơ÷¡ùùIúÿÁÿá–ù ĂYe!¬"ó%,(  Û+ Œün÷8ó‰êDéóéHçÉå ævèqëmízñíơU÷đø,ù¤ùÙù-ú₫ùvüĐ₫Í₫k­È« ‚ ¬wST$å².“[ vó]aù÷¨ö®̣́ñ³ïĐîïÅëï>ï•́*̣ đ̀ñ̀ö̃÷FûÈüŸ†@|j W#¥Q’Ï/?èÿÏùù>öfó´ñ·đñ¢́Û́…ïAîîñơÆô<öyúùû¥ú̉üIöçÛh 8 > „’ºée/ óî₫ưùáọ̈ô´ơIôïïEñJđEîÔíhị̈ñÊđóAơ÷¥ø­ùưư}ÿÚ…g£ µb¦UöØ@(;_ µæëưùËơà÷9öÉơ%ôÆóC̣fíX́uë–îùí îUơéơ¬÷ñù-û‘XLÿ³•̀¤ ¾ Z˜́: N§† # ă•₫ùjó6øw÷®̣̣Ẹ́ñđuë`ëú́«́₫íđẶLôLö_ú̃üRÿÁ\º4\ †a4tˆV<é€ Ø›ù ÷…ơ‹ø›ó ó1ơ¨ñ̀́íJí©ê‰êơí'ñœî0óŒö9örùưôYƒew×U — O-"§!ñ̃#™)º®û2øÑöÎöfó@ó÷éñ¹îœî[ëjéœèëRđbđóơêơwøÀøûøÿoOd&& 9Ë,KĂ³êØ²8ç ¸Eø½ùÚùsơÍôỴ đđíḮRëêÿíÊîôî¨đ.̣_ñ ñ̃óU÷ ú₫bøå Æ Ơàö&ï""Xl 5ÿ¶ûáû³ú ñưBùĂîềéÿçæë îXđËñ ̣ ôÚïYđGô ơ\÷HøGûTÿJl† CÆ+.+s&ƒq ’úiôñú?ü—  1ÿñ¼́èºæéêÚï.ópôÈđ̣Ç̣ đ¬ñºô»öb÷Æö^üHÿæ₫u{rRä*Ñ0~)ơ *>ücøÁ₫XôfCÚüKî±ë´íÆî¬íüñÄơ[đpîåîăđ=ö‚ôîó™÷ơöbơ ơù†Fº Ø @¬#ó4g2ä"å­ üû<ù]û2ĐPư0úúöÓïÄîaơơÔđÓđ¬óợÉô÷ºó“ơÀôđ̣̉ẹ́cơäücÿYóa‘*}ñẬẬ´ỗôaû p¥ÿ× ç8^J¸2/"–göX́̃üz<̉ú»îçúßméâ₫±]Qÿ€û1÷)ơ<ơˆú»ÿq₫×ơß́jê›î9ñ9ôpù¨ô‹ơÑüÍS0ZRÅ>L&ú÷dîẤ5ù’̉ÿ…ëûă¢à¡áLơ’F âØÿKúơû ø¶ø†₫0₫ ûrô§ëÄçxëUô¿÷ûó`ñ+ôêf0#tTIĂ'óöñăđ¡ó‰ ¢÷<đ†å«ăúà¬́’ưµ1 Iÿå÷€÷₫pÿ°ÿöú¾đRéøăaçÏôÿö_÷zôéù*ÿMO*ƯưIđëƒ́çzăôóçCèvâè‹øk£ B oî@₫Âö¢úp& ư¶ô2ïcë›â±å‡î†ơEöÎøư ¼B1W¶0e¡Ûñ̀î“è§ù¨½Rư#ë]éää¨âŒóæÿ ¥uN ¿ư¬ùßüƠFưß̣Îï³ë8ăâqçEö–ù»û̉ùzQVÓSw$Ê­ô đ6ëTä’Öw ™°ơè®ë^â¬ăæöÄ Ä ô]y ÿ„ư₫₫ú7”ü¢ó5ñẃ¬ä¶ßƯâcñß÷ûư¥ü< O ZÉ(’ €đxî:ïá×ùB#`»ú̃è.íªáôßÊñ¬‘VF,xrùư{¯0 lúPôá êiă©ß-æhđ–ôkÿóư nTÁUÈ'ÅêîÛíß­úÅ$üøëÎïháÖ̃œí2ÿ*́‘Y »¢ú•ù$úC˜ ‘`÷óï~êQå'ààñèƠó ÷PhưS-ÿa±?¾g÷đæ¶̣±ăđäWiÓ&9›ơ.ô³ílƯ#áhê„è¿ê Uxùùófø3 œgùỤ̀§èªáÉà áèyïµñ=9&€^xBÂ"•₫Iæ½ótå÷ßU₫'w kÿƒû#ó́̃FÜ Ươ6Ă}ó1óŸó S [%ưø<î®äFá3ß—äëjíølVâA Y9 Qô¯ïáđÚÉăÿm̉,DÁb½́Ÿàí×D×|öÏ ø 4̉‹ ¯ô…ôù×ÿz<›ÿ\ó´èÎàµÛRáåqê½ơÚÁ8q\ÄC¯+(₫˜ïñßÚnÚ́ïF("́ ­ ëøÇêÜÚè̀ƠáÁưÎ œw7ÀÜø[óô¹ư„ûdûÊưpùqôëĐƯƯ¹̃Nè£đw₫q]ZúV*?Sỵ̈qóêâĐpÙ\ïZŸ+Dˆ. iücị̂Ó`Ͷâÿö§ >–º!âtºḯ‹́2íˆñ‘ôúœüañå¯̃dá«í•ôàưñ0]YïQˆ;€ưú÷êâ!̉7ÓFă| ^ÀÛ, °íâÈÓ{ׯäWüló -̀)Â)X)ưBë8å|ă±ăMäÍê˜ơÜöµñë6êộe₫Îà{)@G$:y 8üđ¼ä|ØTÙcñẳ \¨ ̀ ‡ Pÿ0ôEç>äđ‹øưÿÆ+YLÇËö]đÊî́£ếÁ́*ïïṇ̃½÷8üj^Æ I$(!µ¥ ²´Đøeô÷ơ÷ºùñù́ơ­ôôöàøư¼₫ö₫À ₫ŒÛ ô₫OüÁù øøøSøø›øÇù2û9ư³₫@ÿèÿpÿ3#{!™«ÂñÎ ^>ẸÿÔÿªÿ₫̣ü¶üÜüA₫Ï₫₫ÿí₫ñ₫Âÿ)S;0Zÿ₫üZûäúKûªüËü*ư^ư&ưÖüöü“üëü[₫Ù₫EÿÿÊ₫*ăHĐˆq!Ô(+7ª|_º÷›í-†Aÿ;₫ĂưæüOü’û^ûüÏüdư´ưÆưÍư6₫2₫È₫ÿÆÿéÿ’ÿ5ÿ}ÿÿËÿÿ₫ăư“ư«ưU₫é₫0ÿ|ÿÎÿỈ•Ùw˨\¹) ¥y ,ÿA₫c₫R₫3₫`₫d₫â₫8ÿø₫Ü₫ÿ}ÿ́ÿZÿ÷₫»₫’₫B₫ư*ư ưư4ưhưyư‹ư²ư¹ưöưJ₫†₫ÿ¹ÿ°Ó–5÷É€2+"WÅ×ØÓˆN·L̀IÜÿŒÿ)ÿ´₫;₫đư·ư2ưŸü8üüQüü§ü¯üæü)ưưîư₫ª₫Uÿ±ó¿ƒ±è¡ŒÙ<lD4ÖĂE«K’ÿ\ÿLÿQÿ„ÿÿß₫°₫L₫"₫Ñưxư”ư³ưăư₫¦ưOưOư+ư,ư\ư_ư₫x₫•₫ÿï₫4ÿ˜ÿÿÍÿF×W×í¦ªl&£Ü^¡‹jÎÿô₫k₫±₫ ÿ ÿÿ­₫±₫¯₫ ₫₫₫Wư`ư½üüuüèûûû™úUúPụ́ù;ûâúxü@ü²: r  ư_ í \«2KÿÜ₫iư¨û„ü{û^û ưưø₫0ÊuÄíõ!ÿĐưpú«ù̃ø}øA÷̉ơẹ̈ḍ/đñ©ñªó5ơ|ø±øùüÊT ' %tlü Wÿ_̣:îó@́çêèî9ơ!”ƒ‹đ¦ „>o ¥cû4÷öHñÁï&î>î́ê×è"ếñ™ơbûD+Q:m.A'Ä íÛƯS̉†Ö[ØÊÖ́‚ÿ­˜×¹üºïíºï ñªüj ₫ kVû¤ïèăܧÜà₫̃đ̃åđ @ïHjJ?.*'LíDƯ}̉̃Ö<؜ԩêœÿÈJE© jü‚đí/đøéFôBzR Œ€Úơ(éUƯÙHà÷Ü£Ù6àÉê­úP ï3>KIÚFc2-1a Sø°ă¿ÖCÔøÙ¯ÎƯ]÷»[îÀ̀“(KöÁîñ8êûæóós Ï âY PøÆäàỤ̀ÙƯïÙ»ỠỐù̉ ¹6óMÚIG>5l3q!“øăÉÖmÓ× ËEÚ¿óa;Z· rWYúïṇ̣̃ êƯåTí¶ü£¯¡u ₫mîÔƯưÙPØDÙØ×Eç‘đí± ïJHLë?n8}iqđ\̃ ÛÄɨÆåĐ*ÙïúænI©!É ³+ pÿV÷³ë›ëÖîµđ¯ư‰U %₫¶ơïë’ç^ăå‹èˆæ†êxđGû Ê(/2v6s0E<`/‰, ½ö×ïÊæÓ̉©ĐÉÙ=éKëbö™– ¿î›M ï(ûDøj̣êđ ̣ñ,ù ü“úKútơ=ơôtïñ•ïäñióÓós÷ ₫ú ½%¢+)å&!Ú¤üqø‹ë®ä Ư9Ü{æ èWíJó¯ù]"Y  ¸”ư­ùç÷Đñ¾đ ôØö…û0úí÷Ïùåø ù ö»ô¿÷Aøó÷bøF÷àƯ6.{O[s̀cúQô ípçwíîï{̣Dóư₫  ̣ ́R Ï ø'₫t₫ÇúX÷ÀơÊơû₫”ưÄưđü§ÿ·ÿ)üJúâøKúªûåøQ÷åơ{û`ëô7–”VPQ Ú¡6₫q÷AöAøB÷töơô“ơ3û6₫>™J0g8̣c]ÙkÿÈưR₫Cÿ¬%T₫ªư‰ư“ư(ưû1û³ûÂüư§üüü”üư”ư=ư”ÿ^̉ÆĐ!ÁB: C­V'E₫!ưüû üü‘ü®ưW₫pÿ Q+;_–(é88ÿ÷₫‚₫₫»ưËü•üuü;ü‘üoü³ütư₫Aÿ*üµE¢b%¯̀qÚÿAÿ2ÿÿÚ₫̣₫ñ₫4ÿxÿcÿ¡ÿ¦ÿÄÿ"NÜS$qĂï’(—óq¢ỵ̈₫q₫₫₫ ₫r₫đ₫eÿÀÿ<XO©ÿÿs₫Ùư<ưÙürü=üBü±ü²ư:₫à₫nÿîÿ÷uÓ>;Ø2VØÁÑ»"Ôvđ£̃¨ÿ'ÿỵ̈₫Œ₫›₫¯₫Ø₫ÿ®₫p₫h₫S₫m₫.₫«ưwư'ư"ưQưVư¶ư2₫Đ₫Èÿ€¬ûi±†Jê„dè”dđÿMZuygpg=Øÿóÿˆÿàÿ¯ÿ·ÿóÿ°ÿ́ỵ̈ÿñÿ¡ÿiÿFÿư₫.ÿö₫í₫÷₫ÿQÿ•ÿ§ÿçÿMǼ÷Ô ‚'¿ÿ§ÿ†ÿpÿÿ:ÿLÿÓ´ÿ4kÿÓÿÁÿ±ÿçÿƠÿ0gD«J¦p‘~_<7àÿ®ÿ·ÿ²ÿÇÿ¤ÿÿbÿ‰ÿ‚ÿ¥ÿ«ÿÎÿăÿ0$9'îÿöÿ1&04?A5IDoUa%ïÿèÿÈÿ©ÿ–ÿÿ–ÿ—ÿ£ÿ£ÿ¹ÿÁÿÚÿôÿ  öÿ₫ÿïÿëÿÚ Û¾‚$Çÿ,ÿÖ₫]₫B₫½ưoưºüwü|üưđư©₫§ÿL„Ào¦œ[ÆE°qÿ₫ûüºûäúPúZúĂúqû2üư₫Uÿ{aư7fhl1ƠHÖiºÿEÿÎ₫q₫V₫]₫₫°₫á₫ÿrÿóÿxÛ&^•ÊáĐƒ&¾l£ÿ%ÿÜ₫¢₫ª₫Ñ₫ÿAÿÿëÿc*˜ đÍœQ^˜ÿf₫†ư{üØûÀúËùÑøaø?ù•úưÿVDR` £ ¼ ¶ È9ˆó1hư;ûùvøy÷äöÇöy÷áø°úvü₫›ÿ-à?<p,¨4%®>ÿíưư‰üüÈû¤ûƠûŸü©ưÍ₫Ïÿ“{Åào}¬"köÿ'ưuû³ù₫÷₫ơ®ôÖóíô|öéùñü§'£  u÷a™ À Ûÿ<û¯÷Kơ’óẬ¦̣=ó£ôïö‚ùvüÿ†Ă¬4+BÑÈqøJªBÿ₫5ưqüàû”û€ûăûsüư¤ư ₫&₫4₫›ưáü½û÷úßú„û´ü<₫Ïÿü¨‘€ 6 j s X O Ù™¸₫ưú*øöÎó­̣*̣(óÊô;÷{ùGü¼₫Ă‚m ̉ ̀ Y ^ :À£ÿwûË÷©óµđ«íX́ÊêÎëØí³̣™ù@Ö” W h'PÀ} €ÿ2ù,̣Pí÷éé%éê!́·ïôôùÄÿ”—® ÄPă® äIeÿ>úßóäí₫è$æ#ågåưå‹èí•ôå₫.p¾ä–Å"$"Ă’å   iøßđ†é|äÀâă¯åéǴôñø(+WD¤ă¨C] ñ3üạ́ŒëĂäúà~Ưdܻܲßzé$ô;B ´îÛ#•)µ-9,X&“yO 4ûđ}æwßƯƯ¿à+ă>çíơ1ÿü!Ä ÓT>ÇQÿJö î9åóƯÂÙÆØ–Ù‹ÜƠß‘ç˜óhûÙ)$ë(i,÷/90‹+j"g î)øEïÖåxÜØK×€Û&á̉ǽ́oô·ưO ­§2"Â!!=öÏ_4÷F́©âÇƯÙơÖưÔ ÖÚöäsó6ù­&ÿ+ô265u.w$̀ë œ*÷#íàăØfÔuÔmØéÜ„âê­óªÿ§zz"Å#E$"ïk" ₫™ñˆçßÚÛ³Ơ@Ơè̉Ød̃7î û® ç„#(-Ø0V8×5ç3))3³¬¾ù„đ,äFÚƠ'̉>Ơ³ÙÁß8çỤèưö jĂ _#’!Ú±₫fSúpđÚåxß7Ú Ø1Ơ­Ø±Ûcåơf.‚„**-Æ4Ä5–6ª.±%HB sôế‘̃XØX̉ñÓ5Ö̃Hâïđ÷[û@ÀpT{ :ÿ¸̣3ëĐâOßœÛAÛùÙ.áñâ¦ơăü_uR%˜*t.3Ö0è/J#Lz ? ÷̣xäD̃S×…×®Øđ̃"ä›́ê÷5Â*'÷ư‰æ₫$ó́‹ä)á̀Ữ·Ü…â ạ̈“ư ÿÓ",g,q3w12'ÅÀSú…ñiè/ƯØ3Ôƒ×\Ü®ă“êkơÿÎ ²̉ŸŒE+˜Üñơźå¹ß‹̃ÜÅ̃cß½æ9êFûé¬d 1)c/á.b4!0™. "ŸNôíEăVÚ ×ÁÔ²Ùkßç‰ïHúŒ%»¼KBjÇü@ñ$éâÊƯƯqÜÖß0áˆéXíĐ₫•,#+l1»/´4‚/J-£ m`Pÿqñ ëyáÙxÖkÔÏÙÁßè̉đbü«›³Y€6y X‰û>đ*èæáàÜĐÜ₫Û¹ßzáHêÚíTÿXÎ}$˜+æ2đ/5¹/¡-Q!Ï]Á₫ÊđêIátØ/ÖnÓùØễ*èïđüüóadqËwO |û{đnèĂáÏÜ‚Ü{Üxß]â‚éîĐÿ;>$|-í1$1e50À-́ úN₫ûî"ê-ß.ØŸÔDӛؙßẹ́C₫?Ï)Ùàc e¤ú ïEèÜàƯŒÜ•̃„ߣå´é£óÅ î!|$61/3<2È0Ù(–L÷ùÓèÜ{Ø‚ÓúƠÚªäÎëø1 _‡+¢y1÷ư­ơáüådàÜƯæß>à åeéŸï¶₫SÍ["ª--₫0÷0T0+´ Ïư ư±ï‘ëRà_Û¨Ơ5ÖOÚ ărë{ơ₫ưƠv ]cd øÎư²öÎî?èă<à9âùá*èêÉôW₫ Á©"¾,*’0n-».¾&Æ·ùƠđÀê½àƯñÖëÙ®Ư ç>îOø°ự̃ ˜˜P æîÿ̃ùRóíËèä£äôăétëÙö•ưÈ ¿Ñ ê'¢(ï-+Ë+L$}«ù7ó§ê¡ăWß ÛHƯá±è÷đMø\₫MW 0́ 2 üiöÏđí'鉿XæƯç#́©öïưe ÍàH#É&\+è*X)é"—ICûVơwëüäKàlƯĐßkäIêḅ’øLÿÉ£ ‹ ‡  4QÓú¸ôwïnëuẹ̀å‚çƠç„ïñ÷f˜úy!¾"í(‹*#+w'!'  4ø¾̣óçµă¾Ư›Ư³à–æ?íƒơûuäƯ `D  ‡¦₫ü÷ậǻOêrå.æå>ë"ôfưY >ơQ 'ư)i,”)©#4¨?û{ơêÂäöƯñÜẴä\ê¡̣)øÚÿâû v9± ®סú·ơöï§́ƒç׿då¯í ó¢ aÍ©r&?(¢+¦&}!€ p₫Ùóëät̃¹̃áÖå¦ẹ̈®÷-Ùr º ¶ § âÿmû‘ơ«ñ·ëê´æX́¤đÑûó_ 0R!·# )ü%æ"v ¹úĂï}é™áÅà áâäéïƠóû÷o ^ U .PñüpøôOï§́néï}ñÂưJ ?…™}!h&Æ#é ܯ٠Ëeûêñë“ă&ă9ă»æ êïỢ¿ú ÿä{Âÿ©ûƠø2ó,ñë̉îäđvùŸ2>–²îÏ#1#Û!0½ úXöđ†çfåiäææƒèí}ïkö¶û(ÀgÜI{‹üNúbô¾̣´́ưï—ñBùNƠq ÜV÷—"È!4!…́²/ öø·̣̣éÑçđåÎçIèẃî6ơéùaÿ·™9¦uÿưúRơẠ́hîÇ̣±ó¿ưZ2æ Çu²î 8ˆFø^½ ÚíùÅñ:́µéïèÙèµé1́oï²ơÅùN₫¿ÿP¹ÿWÿeư:üÚ÷ơNñYôĂơ^₫uÜY T_2]¿ZF Öü®ôïí ë»ê†êçë‰îRôä÷øû•ưư„₫öư×ưüùhơœôxö úă8¬&|½GẰcn -@ü&ơíñÑïƒîûë@́†́đ£ô¬ömúú¤ûAụ̈ü‚ü‡ûc÷_÷Èø=ûVÀp äưT”Å(_` ·Ô₫éøeơạ̊ñÙíñ́ö́î2ó7ôË÷øBùÿú°ü3üư¼øáú/ûkÿï 1 Đ ´»%n« ¥ÅEüîù.÷Kơđ+ïcíï ñṢ¸óñôèơ,ù úüèúyû˜ư€Rû › %,<z × M : QÈØÿbDüéùµơôḌ/ö.÷Qîêđ°đèñ¹ë¶é¨ëv́©ñ úÉ sQ!&ä$Á$öJĐiú¯ñRé¹äÄàvä î ñ”÷̀ÿz– ¬ ñToøgđªèEä:ÛmÜ;đë÷Gv`.0-À3q,lÔ§ø\éÚÛܕ܈à#ç`÷>ư»ÿJ º  …üûÑđơå{̣¼ưPùÉ'r {'₫(6ZƠ f>÷ ê]ê¢ç³ßLă éJî½đnơ-₫áử÷núûµö‚ïº÷Q ÷èb¹×!(!#h î »úÅó]đ}́5éưäú́±ï¯íÊơ7ûÿúûfø`ú˜ö(ñ·đÿơÛ₫ïï‘€"#áé ‚ü”úö‡êÍç©èéêçbèạ@̣UñçöJơmơxơÉóŸø9zæ !ư*#à!¡»ƠÅ ‡û›û^ö éæéPé…çèé|ñ˜ï[ñröó+ơqöọaü„ u™œ-!>!6 E­ ïPư)ÀóúêØï‚è«èéfëDị̈́ ñsđâôBñÉó ;̃f›ë$Ô·$Uå<6ùlêÿđÀçtå£è ḉëäîºđ†đxơ<ô}ö… • É„Æá$+•*JÔ =2ö9́{ñ˜äÔạ̊æºäâèdé́JïYđ‡ơºó*₫í %¬âÂ&Ê"é& Æ 4ñcñµíâgèä4ăáçMç|é[îïÖóÿóZ ₫j PJ))#á Ê' jûG̣Ió¼æ ç̣æmádå ç*åýỨÜïµógú‰<v  &´"%Ă"%œ&|s´÷0ơÀ́ƒçÓçEâ´âWåÄă×çûëv́Ị̈öôåÚ Œœ!!:&̀"Pâ’¤ śûöđơè]éÂă•âiåYă×åËëÜé%ñẸ̈{üdkd–±&öV# OÎƯÔ{ùơYí\ê‰çúâåHäÑă êƒéǻ>̣ô”†' U3Ó !ɲ#d€‚x zcÿĂø>óX́¸êÈäsä¼äă4çê0ẹ́ÜđPügçXt"÷¾À ö£½Ô¯Tụ̈÷cđÅíé°åÅæVäæ[êéégî!óụ̂ 1yjT&tĂ¨Å ‡”ÏúOøiïîîéçMèÁä×è5ë:êVñüñ{ơ¡₫@ ¤ L±đ< ’ó¾ ¤ |!ûCúûïvđöé+èéå¡é‰êˆêÊđ{ñ ơÜ̃ư i– Ø ze‚óÖ ˜ êßúzü ññ"í»èëçßéËëë_đñó]gưêâ M]çĂá½ Z ! üÿe÷¡đỘế ëHéÉ́ṔhîÂñ7ñÚøø₫Öü© ¢ T 3]jœ¿< ơ ưBÿ“ơ£ñỵ̈Ÿêó́Ĺ<ê{ígîDî óḤHùmÿŸüD è Ä”m̀Æa  ñƯ₫Å₫öYónóßëÂîđ́®ë‘îIîBị̣̈¤÷5₫Oû‘ œă )5”OI£Ÿ ÿ w$₫0ù¡óróeï íïV́Çî{ïdï.ñ[ọ́ưZû5 ~¸º@á~Ñ  ~ ?–€ú0øăộđ ñ÷í)ïóîçîSđhđ£ñŸóṣúưyú=z “fD=…±Ëhº ¥ ă âÿĂúH÷s÷Dïµ̣hï”î{ñ†ï ñ^̣óñ@ơṣTúI₫êù G‹ G Ư~x÷ 9—jỡø/ơîơ²îñèó×đơô!ô8÷»óü₫‘úø ª ₫™ âŸÉ‚0 Rg Vÿøw÷Öơqñ´̣oóñ°ơúô÷ơhø÷ö¥÷˜ùZơu3ûI₫Ú ‹₫­ Ù *kц k¹ ø « çÿ“óü˜øÛú8ó•ơxô0óPösơøù¸ùưú§ø@ûLøTøNÜơÈ´Iư†° ̀Œí «Ü·î&ûøú­ûó.÷.÷ṣvú©ö=ùúü¹úzưưùlư¾ơœû”₫¢ój&ûáÿ «ÿµ ~˜‘Ï ôicÛụ̂ư<úơSø1ơåö÷¨ùú¸üôư²ưÂ₫ÆưŒùÜütôÿù”ü"đØ}÷àưm ‰ư® *sd© ®<# d₫ü+Lû ơùªơ₫ó‡ù,÷Íø̉₫ûÎ:₫ §ưvù¡ü*̣„üqö ̣âäñÉóư ó éÆF Ø„eF }Öưj^ùâôÎ÷‘ñ ó<ö•ôïù7ûưF™v™Ô¹ưû0ù ñû—ñó¼¼ïˆ‡₫ - —”   ?Ë «$ư'ó÷Æ̣²öjïƯñ^ô­̣ëøúèư1¡5Ä_¨ï¼ü˜øaøˆïñI÷è(üI÷àó™ é₫> =\ 1¸. ¥zk$1̀ư<₫Eó̀ôRôUî¦óỤ́PóaøúÓüI–ÈK$6¿èÿ„÷ÇöÄó¢î îÿôÿ́úơVÿqơq 9 0ÿăỤ̂YÚ SDù^üôgïKóÑ́§îF̣đơÈøyù́₫Äl | 0 å Iă"‹ÿ…ÿzúốóWî-í¹́ị·î÷ÿUú3 l Ù =÷ª¼Đ7`ø­ú‡̣%ï)̣|́ị̈Óđ öùû}€E±   4Æ ¸ ¨%é?ú‡÷“ô9ïÇîd́íê~îÓí'ö9øư)6t1¼U}>,‰ <ùüôÀôđí1đéíªïióôđ÷Êû»ưp9½đÏĐ X ¼ ÷u;K€₫ŸüPø¾ö^ô®ñ‘ñ(đFđG̣̉óø8ưlÿ{ Å ¥í¯×hD9 –Àưdüxö—ó ó¿ïjđñcñkôqöiøÉû.₫J¢Rí«u ¬ị̂ÿÅ₫új÷uöṭªñ³ñ™ï2̣ơö übÿ8• 9 °´—Êuʃ Ʊsư…ù¼ớó ̣ÿđ‚ñÏñtó}ơ÷úüüœÿÍ®̉<e’ĐqÛpRŸ×₫êû*üǿö“ö}óuóẹ̀¥ñ˜óºôö¯ü¦ưÁK Ø·È-0ß~‚È ® ¤íäư%ûûôộzïdñ ñẠgơ›ö®ùßü¾₫忱K¸J Rˆ ©³±}ü̉¿ø7ö½ø¤đ–̣Ẹ̣̈í)ó¹̣Âóăúfü‚º8 À ‡h(ɲ.9  Åÿîû¡÷üôụưđçđÀđ#̣ô¢ơéø5û}ưĂG3TV£Cz´AJư ü¯û.÷4÷ö%óô-ó6óíơ1öăù˜₫çÿŸ É t3©Á'ʘ †´6éüUù•ơÎóÁñ ñ`ñ”ñ©ó}ơf÷Æú²ü6ÿ#-"¾múë¼eLÆïÁÿB₫Wüpù¥ø{öơ"ơºó ô–ơö¨øjü—ÿñÔI } ²Œê Ø  đtk₫>úÂ÷Úô8óḤôñóÉóÈơjø!ú?ưÇÿSÔ˜—Qæ3¨ñÙ₫g₫¥ü ûûútùùƠø–øwøù~ù¸úüz₫pñUO ̣ » 1j Jª x 2 ²ªơ»₫-ü}ù9÷Nö÷ôÆô·ơö÷–ùøúúüÿḳÉQêÈ~t‰C~&ƒ₫₫7ưëû¬û°úåùÑùùù;ù¿ùÛúđûy₫öÄ ₫ l – º ÿ 8 Ø Ă ?ËQS₫øûđø÷öÙôñô›ơ^öø°ù€û¥ư"ÿÛZë»̣”…È‚ ̣s}ÿDÿ¸₫ÂưˆưÖü*ü±ûóú¨úKúÑùSú́úBûeưzÿs†§  3 d  p › C1ÙÿCư_úøgöMơùôơ¼ơ,÷•øRú^ü,₫Đÿg‚V¢Â« €9ÓíNåH ÿ&ÿƒ₫úư-ưü¬û°úƯùĂù–ùúàúHüÖ₫§{J  ̀ K œ © F ‚d ÿqü·ù¸÷iöPơgơÿơ¶öeøú¹ûÍưXÿø@Ă—;«Ñw&‰ëăx‰a ÿl₫êưÀü²ûûdúkùYùùèù€úüY₫¹KÙp? ơ w đ ­ 8 ™ ̣+G´ÿư˜úTøZ÷Töøơµör÷ăø4úHü ₫‘ÿær?ÂnƯw Ä$–Jÿp₫₫Çüßûü7ûuúôú´ú¾ûïù#üOư/ư·₫V裵 Ä T Ä Đ¼̣dz*‰ưˆúăú¸ù£øÑ÷Ùù=úvúTû₫¦₫3₫PËêˆØÉÆĂ•úÿ€ÿí₫%ư²ü2üú/üùCü û\úưwüíư?₫Ój”Q[GÂƠÉc~AØ•[₫}₫ưÊü5üÀúüü,ưŒüF₫BÿĐ₫‘ÿ9ÅÁỵ̈sÿÙ%ÿÏÿđ₫/ÿ¶ư©₫Eư«ưñưÏû¥₫IüƠ₫™ü€ÿư—Æ₫†ÿ.çÿG|¢́O" ]¼“Cû̃®~ íä̉^ÿáÿz₫­ÿ¾ü™ÿ(₫₫ä₫₫wÿ-ÿe₫Ø₫‰ÿÈư¯ÿư´ÿ¬ư₫ữư₫₫g₫!ưÀ₫₫]ÿÑ₫}₫»=ÿ̀jÿfÊôtnN ÿUú´MrÑ“₫ö¨̣ÿÈ™ ^ÿÀÔÏ₫1Î₫¤₫ù₫ùưÓÿ+ưÆ₫₫‡ÿơư(₫Óÿ¦₫®ÿwưO₫ ₫½₫úg₫OÿÏ₫·ÿzGưo<ÿ́—₫ ‰%xfÿµóÿ5₫₫₫ÿ‰yŸˆ₫Ư~ Úÿ ÊXÿÓÿÍ=ÿ₫É<z₫W₫¦³>ư&ÿûÿ:₫Q₫W₫½₫m·ÿm₫®₫V3ÿÛưt±ÿJÿeÿ‹ ÿ]ÿTN₫—iÿ/ÿÇzÉÿƒ7YÿÿP{†ÿ́AÿơF₫êdWÿÈ₫æŸÿƠ₫2SÿS@&4¥(Rÿ—ñ₫ưkÿH(₫7₫ ÿtÿ“ÿiÿŒ₫Ơƒ₫îD₫…xÿYø₫37ÿ̀C€₫ÓQÿ{¤ÿ¸ư₫ÿMCMáÿáb‰ÿ”ÿP˜₫]¦ÿ4áư°§ÿPØ₫¡ÿcAÿÛÿø₫Mtÿt₫/ÿvÿÑ₫O₫-ù₫?₫ăÿÓ₫˜ÿåÿ ₫”ÿ3HÿZÿ0¦ÿ”:₫(ÿÊ₫ïÿ]KÿC¡É₫ÓOLƠ₫,×ÿn¶ÿÑsÿüÿÿ₫/Üoÿ§îÿùôÿBÑ₫¸ÿ‰ÿ«đưA₫´[Jÿ«₫ÿù₫îÿ£6ÿÿ׈‚Sÿ à₫¦ÿ7ÿX₫°ÿÿ‚ÿ‡ÑKÿ¤T„ÿƠÿ+Æà₫ÿÆÿÿ¦5hđÿû₫ŸYÛ₫[ÓÆ₫DƠÿÄ₫¤ÿ½³₫pÿ»±É“₫·ÿ­ÿ—ÿŒÿÜÿ˜ÿéÿđ₫¢6ÿ‡¼₫Ôÿ§@¹₫fÿô`ÿ…ÿèO#€ ÿÿÿ¢̉Áÿÿüÿ;ÿ¹‘‹ÿéÿª0Ûÿ/Ơúÿƒÿä"cÿƒÿßåÿ‡ÿiŸÿ¦ÿÿÏ ²ÿ¤ÿ²₫qÿáÿGÿƯÿ8eæ₫̉€}ÿ7+ÿv±ÿ^áÿƒÿp‰€ÿ’Z6“ÿ^+“ÿơÿăÿÁÿ‰êÿÜÿÆxÿØÿ›öÿØÿ̃ÿ‡ƯÿÈÿŒÿ1ÖÿEvÿ°ÿp"ÿ`ñÿXÿ‚ÿ_jÿ„ }ÿ±₫₫+œGÛÿ?T¥ÿáÿm>·ÿçÿ|₫W1³₫̉¾ÿæIÿVƒÿ÷ÿ'1›ÿF́ÿ ï₫ •ÿ‰ÿÉÿ¡Gÿáÿöÿlè₫³—ÿ¸ÿ Çÿ5Ñỵ̈ÿªÿ‚ ¯ÿQ`̉ÿÄÿÑÊÿ̉ÿ£ºÿôÿăÿN@‡ÿ‘wÿjÊÿ,$‰ÿ ˆÿˆ®ÿK¥ÿ=Óÿàÿ-¨ÿv»ÿíÿ¤ÿYiÿL‡ÿ u‡ÿúÿÀÿ(ùÿ>¡ÿ/Óÿ́ÿGçÿÑÿ˜Œÿ¾¢ÿ!4}ÿ ZñÿØÿëÿ_wÿ 3Đÿ—ÿzëÿïÿëÿ»ÿI¡ÿN³ÿ[²ÿÈÿLµÿ₫ÿúÿ,üÿ£ÿ@ïỵ̈ÿƯÿ&µÿ‘›ÿRøÿßÿlËÿ;çÿ$ăÿ>Óÿr¢ÿ8#¤ÿ$̀ÿH¿ÿ÷ÿëÿÀÿ>́ÿĂÿJØÿáÿ åÿ6¬ÿÚÿÄÿCƠÿL—ÿSÎÿưÿĂÿ'¾ÿ*ñÿúÿ₫ÿ ăÿ,́ÿ ÊÿN§ÿWƯÿƒÿ¹ÿ%₫sQÿˆÿˆOÿ&ÿ›†ÿW³ÿ4ơÿ3Ñÿ0çÿ̃ÿFÉÿ'̃ÿçÿ₫ÿîÿäÿôÿúÿ éÿ ûÿơÿ  úÿơÿöÿ́ÿêÿëÿèÿöÿ₫ÿóÿ÷ÿûÿưÿ ₫ÿ₫ÿ üÿûÿøÿøÿùÿ₫ÿùÿúÿ₫ÿúÿùÿúÿÿÿ ûÿưÿüÿùÿüÿøÿùÿôÿđÿóÿíÿùÿ úÿ ưÿ  ưÿưÿÿÿüÿưÿøÿưÿđÿêÿøÿơÿ́ÿùÿÿÿ₫ÿúÿơÿùÿđÿüÿơÿơÿóÿúÿ₫ÿÿÿưÿ₫ÿ÷ÿ    üÿøÿñÿéÿơÿƯÿÛÿæÿ̉ÿ×ÿëÿ üÿ  öÿêÿîÿ₫ÿ ̣ÿæÿ÷ÿîÿäÿ $ưÿîÿñÿ   óÿéÿáÿêÿüÿ'EZ†ÿ Ăÿ—ÿáÿéÿ -MWÅ/ÿ6ưUÿK₫₫Óü­̀ÿN+“ÿäCưÊư±₫₫±₫₫¯iÿ®ÿîÿ÷-±#ßàÿ×›µÑÿ̀ÿ·t₫N¬ÿÿúÿmÿ‰̀ÿC:̃ÿ.ÿSÿ/Lÿ_T₫ ×ÿt|₫ÿ̃üÿ\₫”ư½ÿóÿ¹‰ÿ|ÿ²ÿ1ûÿ"đqÛö“ÿDS§ksÿÉÿöư*ư?ÿ(GSưc†₫e₫ëÿq‘äư¥‘È₫|ÿ¼­ ÿÉ₫?€₫sÿĂÿe ÿƯâÿ·₫b@ÿÿä₫o°ÿjÿăÿ$@₫ÿÿ$»₫+ÿŒÿlÿÍÿWÿ$iÿÈÿĐÿÓÿÔÿzƒñÿúPúÿÿÿ‹÷Û₫¿>-Oÿ1o2*ÿ™Ø„₫~¤ÿüÿó₫jÿ ÿ¥üÿ ÿ†ÿÊÿ„́₫+.#ÿI«¶ÿºÿ³Ơÿ…“̃†ÿ₫lÿ$S½ÜÿÆäÿăÿ¸ÿdú₫Øÿ]Nÿäÿ9ÿ/Éÿÿ‡ÿÈÿ₫9ÿ<ÿ…ÿUÿ'ÿsnÿNtqdb°ơ1ES<±øÿ¸ÿÆÿµÿPÿÿ>ÿOÿ¼₫û₫ ÿç₫̉₫ö₫ÿí₫Ơ₫ÿ)ÿÿcÿÿ­ÿÏÿJ“NƠêÈJ"ùtÛÿÀÿ[ÿú₫8ÿÿÈ₫Ú₫ù₫û₫´₫ă₫)ÿä₫É₫ ÿÿâ₫ơ₫>ÿ]ÿ;ÿÆÿ_ÀF“‹m›q5 Ï©D4Öÿ¾ÿ°ÿŸÿnÿUÿXÿGÿ"ÿ'ÿ,ÿÿÿ$ÿ7ÿ*ÿ>ÿrÿ{ÿ’ÿÏÿöÿ #hzp›±¤•ª³‰‰–{\ZV7%ñÿæÿßÿÊÿ­ÿ©ÿ§ÿ˜ÿÿ›ÿ ÿ¢ÿ¬ÿÀÿÍÿÓÿéÿóÿÿÿ# " øÿúÿöÿíÿöÿöÿíÿïÿöÿúÿđÿøÿÿÿøÿûÿưÿ₫ÿ₫ÿüÿùÿùÿôÿđÿîÿíÿéÿêÿëÿíÿ́ÿđÿøÿúÿÿÿ ! ûÿôÿíÿçÿßÿÚÿÔÿÑÿÏÿ̀ÿÎÿ̉ÿĐÿÖÿÜÿßÿçÿêÿôÿôÿ÷ÿÿÿ #&&%#" øÿ÷ÿđÿóÿóÿ́ỵ̈ÿôÿóÿöÿ÷ÿûÿúÿûÿ  úÿüÿơÿöÿđÿîÿđÿîÿëÿïÿïÿíÿđÿïÿôÿđÿôÿøÿöÿùÿúÿưÿÿÿ₫ÿ ₫ÿÿÿ₫ÿüÿưÿüÿưÿüÿûÿ₫ÿ₫ÿ₫ÿ₫ÿ₫ÿÿÿÿÿÿÿÿÿÿÿ₫ÿ₫ÿÿÿÿÿÿÿÿÿ₫ÿ₫ÿüÿÿÿüÿưÿưÿûÿưÿüÿüÿưÿưÿ₫ÿ₫ÿưÿÿÿÿÿÿÿÿÿ₫ÿÿÿÿÿ₫ÿ₫ÿ₫ÿ₫ÿÿÿưÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿ₫ÿ₫ÿÿÿÿÿÿÿüÿüÿüÿüÿ₫ÿ₫ÿ₫ÿüÿüÿưÿÿÿ₫ÿ₫ÿưÿ₫ÿ₫ÿüÿưÿưÿ₫ÿÿÿÿÿưÿüÿûÿúÿ₫ÿÿÿûÿùÿûÿüÿ₫ÿưÿÿÿ₫ÿûÿùÿùÿøÿøÿûÿưÿùÿ÷ÿüÿÿÿưÿûÿüÿûÿûÿ₫ÿ ₫ÿ₫ÿüÿ ưÿ÷ÿöÿôÿøÿưÿ ûỵ̈ÿíÿñÿöÿưÿûÿóÿîÿíÿđÿöÿ  ơÿ́ÿêÿîÿ÷ÿưÿúÿñÿíÿîÿöÿÿÿ ơÿêÿåÿèÿđÿ ùÿëÿêÿ́ÿñÿ ₫ÿïÿ́ÿêÿóÿưÿ đÿ́ÿâÿíÿîÿÿÿ øÿæÿßÿàÿđÿïÿúÿîÿûÿûÿ  ₫ÿôÿïÿïÿôÿơÿ ôÿüÿđÿèÿƠÿÜÿíÿôÿ₫ÿưÿôÿ₫ÿùÿ₫ÿ )( ÿÿúÿơÿôÿøÿùỵ̈ÿùÿóÿơÿ́ÿ́ÿçÿÖÿäÿßÿ₫ÿ  ÿÿåÿ̃ÿæÿÔÿàÿăÿöÿ''ûÿøỵ̈ÿçÿëÿơÿ#,0,*%ưÿàÿÑÿ¼ÿºÿ½ÿµÿ¿ÿ½ÿ±ÿºÿÄÿÈÿđÿøỵ̈ÿôÿ-Fl«­Á“~E1üÿåÿ³ÿ¦ÿ¥ÿ®ÿÑÿïÿ)¡[‚̀Ͻù‘øÂơùJư8₫8¥Ùÿ₫c÷Đơ½ơụ̈óóđgî₫IƠ+96Y$œ ưé¨áå"̣R ê`—¥äơÄèâƯ<ạ̊ôó“Ê?ç/ûî‘íỤ̈–ưEtˆ×óêä<ƯÈƯá,ăëi₫JUĐlVAôö×ïỪ¾@Ơ'Ÿ5æöçÈØÁ?×ùÿJu,ÿ-èÿĂéä+ænéĂøJ U5÷üƒñ÷îĂä£̃†Ưæ3ïúíúí2Vh™G¹*ÓĐ÷̃ïêÊsÆï¿$”#áôß;ËÉÍôæKú›ư ..».Ÿ#·!ö|́P̃«ÜÛêMúg Ë”Sư4ê¦ØüƠ2ß³ơqơmPøg¡@Ö&ûûÿđ–ìÉ_óC f%ɬ!=°ß­Ñ'Ójå"́@öÓ},e1Æ ¹§ửï@̃P̃æÎ÷lưƒơ©ïđíçéÚèèèỌ́QÛÅB¼O¾ö9Øđñ7üèü=ÿÍ ×ûH‚÷© ÀôăÓùwÑû+üóØø‘ÏøĐb$₫¡₫)M’ûß`U₫L›ûë&ưŸ́ûªk₫râÿJU¿û:ˆú‚æüIơüCbÿuü' ûͳù IU›ù¸̣û~QơËÀü₫₫¨ưàLư—ÿ4bøå̀üEÔ₫ăư¾₫µư1&û›ư¿Rÿ4öe LÿưÂø8àyùÎø@ G!ü÷ˆ đ÷̣ơMZôÙư´ù Æû3öíü½ÿÄñĸ ‰@ö.₫Àíú÷áư41A₫e₫ù;{₫új²¶M÷Hÿî?ûĐüÛúÿ[üû àT₫ko~ÿV·ï₫øøKÿBXÿPưưóù6ÿ·ụ̂₫7ˆxRÿƒ₫&–Äd¯₫¦ûfüÿat1₫£ù» )0û²₫·Jư[aưƒÿ²]ÿüÖü_Y+»‡ü&₫k—÷úÛư¹ö¯üiü¥ÿú>}ÿ¤ûVHícÿµü™₫ÿÈă3₫Ioÿ|ưx₫P.Á₫èü/ÿûÿLb·¬ư¡₫nÿK₫˜ÿëÿS₫V₫ÿ<ÿ%ưz•ưçûCÿ„Đ¢ÿ¥ÿñ₫̉ÿqJ¾ÿmư6ư!F‚ưd!́₫çươKáOÿøúnúïÿ½Æ ₫Yü³₫ ¢ÿ üÿ¡Û+Nÿưü`ÿ ÿ‹₫Kÿưi‚óÿ'„ÿ’ÿ¨w㇗ÿ¢₫H?åºÿnưÅü/ưØüC₫±ưÿî3₫ ûßû₫±ÿ₫‰₫ÿ ưÂ₫ iÎư…₫Đÿơg>1ÿ ÿrj_QiôT-E93ÿ´Âÿ₫f₫₫p₫ØưJ₫«üVÿs₫ÿ”ưU₫qÿÑ₫ùÿ‚VƠưÿ¶ÿá6-ôÅkHÀ—r­ÿ́₫•ưsüJư₫íư€ư7ư°ư₫ư”ư8ÿ¿̣đ ™Ñ*×g牢¡IY ÿûư¥ÿôư2ÿ€ưæúµû¬ưÿ!₫̉üƯữưưÔ₫LKÿ«ÿÄ₫’₫RÿRƯÓ`­ưÚü‹¼ç–ƒó» ÿ₫êư ưÂưm₫¼ÿüÿ»ÿDÿDÿÀÿªÿ£ÿ(È!|J ön$Àxÿ>ÿ̀ÿ²₫Pÿª₫R₫R₫%₫ê₫Ÿÿ›$MƠÿ·ÿÆÿ÷¿ÿŒÿ>¼Üÿ’yßÿ%(æÿLÿÀ₫åÿ+›h¨ÿ›F©¯ÿ{ưåư3ÿäÀ…Aÿüßüañÿ˜ÿ(†Pn¿âÿ”ÿ-Đëÿ¼₫¿₫p₫₫áÿOˆÿ_₫ ưư×ÿ7øï ÆK¾₫đứ₫ỵ̈ÿI°¶6-AUÿÿ¶m»$] )'̉₫ưtưÀư8₫/ÿ­ÿ´ÿaÿ…₫]₫IưưÍư›₫ăÿ/öpzl´o›æ>q¼37Jÿ;ÿ-ÿÿA₫ªüZúø.÷±öÏ÷OùuúzúWúÎú3ü9₫§øå Z{Ÿ£\ Đ!₫Æø¼ơæơøÅúôûjú¹öơđ́çè?ééë­đớù$üêÿº. øT"CPÊ Ôùæơ(ú?¨ Uö QA÷œđí°íûđtóFơó¤ï=êç·åGé:ôÎiÁ •&Í#DW +₫”ø;ùÈÄ ‰F ă%ÿµü₫­ưôưăø×̣¶êœäèáVâÑå…é`́-ó)üL‡gá!IŒ;—ùmöJùtµ ¿»i¬ G éư²ß̣ü´ơî·æ$å×ă¹çüæHè?åî(ø j%%J%›åÄñUïqñˆ₫à ²”wÔ H ³¶Ë Øÿï¸ëµéßîœóªñ́jßeØ”ƠñêRơ–*['®!üôŚ·ûiú â „Q₫É‚!)ó8 ṢMêúèEøAoø6ằƠiÑ‹Û êå ;Ø#Æ [ưdü ơWô–úĐ ½ÿ ơüưúömøÍø~ớñ­éRă°̃Ư©äPû¬ B!m¡"úüÖ÷ÿ¯úbùïùƯd £g!éÖư‘÷‡ư#ưw₫øDïÓéĐånäøäWà»ïî₫ ±"ơÖ«₫Iú3ø"ùBü?ù[ùdM ̉x r¥Œº*ưGü…ư¾ùøṃtí́ăä2ä²ƯmêY4ú#ƠYÿ“üÜưü¿øơqöP6IupÎÆ*ñû8ø–ôơươ_đ'́xâàeß•ôR Ñ"‚  [,ưw÷>̣‰ơY₫$ 3Öœ¥, :°ù¾ôÜöŸønø¹ñdéå1å3äüîoú ̃5œøîơÆôJơéư\EêÅw ̀{ư±öfø‘÷ ô\î’ê æ3êăă`ơes ` Ö™³₫×óÑñ"úÈp €o‹ é2ưZû«÷§øÔơ íĺ¸èé,éî́; c } ‘ Ä₫‚ơ&ñ ù©Ơr1 8Úø +LưNü»ú-öæñ3í́ígéDç4öÅ ]–Y ÏÁ =±úÖñÙ÷,ÿiª Ú kuT³{ưÍü·ô¶ñ‹îÿî‡ëµëÅå÷µ ™}[Ömü”÷²úw₫₫¹& ¥¹€ù¡ö–̣`đ~đ́åêđ́ë#l Á –C¸ÿ èû{yûÖúÿUEÀ° ç—mÿ^ó"ơ°đhê¯́1êuîáøÊPY Då X₫Ùưgúz₫î¶ Âó;₫rư-ôẸ]ï`êḯ8íPëơï8 ™ ‚ ü Mÿ·ù¨ú‘m€ü åư 0Ăü®ûœđØïơë<ê¢îĂëñëª" ‰B‹vö ëư²÷;xfÖ§ ¤₫ó₫‘ôîî&́©ëđëîëÙÿz •;-í: iù¼̀ÖüÑC§ØüvưöBđ†đFîeï6îñÇÊ¾ê¶ ? b ĐÛư8?ÿ—ư‰ ưÂû:ù»öó÷z÷iøúJøNưẃÿIS¢jß́ü§¸®ÁØă EiÿÈ₫Oừû;ú¤÷¶öïơåơûöø¿ú·ưûd a ƒ r Y ¦ … E Åoîÿ:ư”úøsơ6óÁñàñỤ̀)ô3ö3ùÔüÍiY › SCœ Ö ù âó4ÿHư¨úî÷¥ơô²̣Ṛ?ó̃ôĂöïøđûÿâæ"¸ Ó ® Ù + n } ¿ ïư#û€øöbô%óậÅóùôâöÓøNû ₫ÿƠq ^ Ä %  z XêÔí₫=ütùp÷ ö!ơơ!ơåơ5÷Œø’úưZÿ/„Êñ ñ ‰ × ¼%Yưbûçù2ù7ø(÷Üö³öJ÷løĂùÜûƯưà“#_+ R t­Fñîÿn₫Rưöû¿ú´ù·øøă÷dø–ùđúkü ₫•ÿ4© =ø¸ATƠÓÿN₫½ü|û®úêùœù›ùúÏú¡ûü·ưÔ₫ûÿAA—`jÑ`Ư 0™ÿ‚₫cưüû-û¡úhú£ú1û9ü,ưl₫§ÿ禘ånˆ¬Â¤.°èí₫₫ư°üü“üụ̈ü ư₫j₫™*Ú‘g6$Øÿt̃óû<aư8₫ŒúØüËưÑû6ưÄ₫6Lỵ̈<u—[ Î3ÿ†₫)ư—ÿ₫Ûư₫Åÿaư•₫ñ₫ưưe₫Èư—₫ºưÁưöưîưă₫Kÿ4©]p’6t\ ø ™ cz ÑÿRü÷ÛợXïđwïGñkơßødư˜Ó vT fqLe ùú™óáê{âà¨Û;Û‹̃äïÎô‰æ.#i)½)5-W(Í!® ̃‘ñ́èVßÔëÓcÏxÎƠØƯăè†ôá á)u.´1×4÷-)LÛ  ÷%́{ßè׺ӭͯÎ̉Đî̉ߣëØôå4| +g1â2è2R3§+U"  …ưặ}ă Û‹Ô{ÎBÍ”̀ÈÏÔá-íØơÏ ë× ¾/ê0Í46ù3?/B$^ ÖûdñßUؕϘÉhÊVÈQ̀ăÑLßiëÿö9 úK#Å24N9·;­64ç&â åùŸîƯ<Ôà̀Æ_ÈTÆáÉ„Ñ[̃ëÈø#Œp$4X59;=`65t&½` ù2î3̃$ÔÎïÆ0ÉÇ|Ë¥ÑúƯtí²ơ( ü)!'3Y3Ä8¥åeç‹îªùÛü1Â8‹ -#m!ƒ)j"üZlµ ₫÷-ñºè«ăoá[ÜÏƯ{à¹ß+æ ếçó²ưĐ: ½³˜ Œ"»Ø&t}U,K u’ụ̈ôØïäèÔăPăßFàxäƒăöéÜí«ï‚ơưüD8ˆ8"hY!•Vgâ "¸₫R÷ÍñUî¹æ5çÆä5â è>çaêIđöïEơ¹÷JÿèăLÀmấ‡‰A  ¦´ư}÷½ñĂïŸè¤éàç³å“ëWê<í/̣´đAö_öÎü7“²ÊÔ`)V_¯đ @Uỵ̈ú™óôñ´ë¡êRê;ç̃ë£ëÚ́¢ñ€ïMôôkơ98₫ÿ4ÅÔ•LOû{Ăú &₫ÿ&÷óđé*ë¬çèeë,êî ï₫î¢ọ́öX¤ưĐ sµrMY" Ë Ëè ̀+üNôăï¬́ûæè׿¢ætëÛêëîäđºđbô’ơô+`úcF!ô!cªƠí• ’æûªôéíí~æDçôçç“́Ăí đ!ôÙóNơÉởöSôơÿ)ÔÆz.e#ˆ"Í }Ÿÿçø¯̣́̃êRææiéäè]îçñIóv÷l÷yøuöI÷ö´ô“̃₫` Z„¥!Z"‘o$è´ö#ù¦̣ÖíØè3èçæBè’́ î]ôƯöêù…ü½ú₫ûwø÷ô5ö·î2ú;ÿĐü9<|̃*¦ %‘"Grgvf÷0ï^î̀æ­çÍè¹è:îàñœöµûˆưäâ₫½ư²ü±ơ€̣zñ{ézñ̃ư úá¯ï+0((€"<®’x₫vó‡ê-ë¬åçiêRíụ́_ö„ư[ Jé₫!ûƒơđ'ê1êNäëêb₫Iü÷J%"0»0O*6!Xc ûFơ%îMå*ç̃èöêđ³ôCûGư<3º9ñù¯÷Ođ|́ƒèæ[ä@æấyƠk¹1•)&54²&8 ó•́Xëåé:đṇHø¬û²MIÔª₫oưü´ơó¸ï<îëêåëWêÚê÷K ? Ơ"'3=)3-çăü{îë>đNêYđïù øÑưÇ₫Ơưû₫̀ư³₫đú>û ûhơEöẠ̀æîÀïớýíź§ëä̃·Á-­4æ+:1â&ă ’ư÷jèâé-ñOẹ̈̉züoüưîÿ•ÿ£₫úüóÿ4₫ûàưúªøØơ\ñ‚ñîlë`́&ê®ẹ̀́) %9<±/.*/• < ªúûæí•âUđbñîöûYÿ₫°Dû²₫ưnưïư6û0øÛô²ñî©í6é₫è«ê§è¥èû øi: ;-.T!Ô ù¨ô‡̣zâÁèđöúđø e<H…UüwûûÿNưwü™üAüíøÅôç̣vîỐ¹ê?éé¿ê0ç~øṆ̃̉)UBn/ø/f)È´«ôTơÛé âeó:ó„ñqÜ₫J₫ùå₫ù₫¢ú0₫¼ư”ú®øBơĐ̣à́íë-è*ëëŸê _Œ)7s;ơ1-ê ·ûóˆ̣°ăöåÜñ[î́ôBưèÿ₫œ₫T₫•ưå¡ÿâ₫3üVûÓö¦ó̉ïƯëéëéUçǼcèˆûƒ0y*ùë́ơ÷íư‰₫Uÿ³¢  VÿZ₫Îø¾ö"óXï\ëÊêtê„ç”́Ưêöœ`B#ù8ˆ0d0B+ñ€ ü÷́·à¬éîè÷çDô`ùßû{bGY6—øÿùXöf̣Jíóê{é»ççÁëéMøW4j$7ä.ß0‰,*]5!úíâwé*å¤ä ñYôÊ÷oÿ°îK  % ¼DÿRø3öHđqêºè’ç¿äˆåAê¢èúx)-$2ø. 4`*k UơúÔè̉ä¢çt̃2åhí`ïŸö£₫k_ ó e ; ’0ÿdù?ơŕ-è#æ“âáSå/äñµ £ 3_.I5†4r'ÓL ƯZó†æ{çS̃ Ư±æ çØí øÿ^z ©̣"Ñ #¯₫qù.ñ è¼ä¹á›Üaà>à›éIQ/-u6Ù8 -l$7C ¢úëơçÜƯ_Ù×à?à-æ‘ñMø§ ÂÍơ^²aÿMôê5ä²ßFÚˆÚÜIåú·n*Â+…6Y;1s*\̉†ñ<ê¿̃‘ØRÜÔÚ¹ßoê9̣mưëBŒ‰t) Ç'÷5íååÜ…ÙÔÖæƠëèLô+ü[`$D*M:¨9¥3A.Y"Ƽëö́qÜÚ¾ØùÔPÜÜäđ́–ù{vçR›pø¨îwä$Ü‹Ö̉á–é^đ÷ ÄD 3á7œ4®3ó+6»ÄÀơä(̃ăÙ7̉IÖGƯ%âïcüư§Å·í-‘(öứáØ Ö#à°ấp 37,º/à0849-!#,Ú ˜ü±ë₫ä>Ư Ô×¢ÚL̃ê₫ơ†„ ~,0€²û…̣ªå_Ü_âˆâ¾ádơ«ÿUiă"L&Ÿ,,-ª)‰pn¦üĂñúëß^ÚÜ»Û|áëmô₫e¨S–ÿ  ¢ü­óçêƯêäñúçü^ l:e!~#Å&™!4å. Èû€öà́™ăäà®ßâÖærí‹÷ß₫Eâ ? „đùđ!ñ¡̣°́́ñ“ùăügA BïVæêë½÷÷ÿ÷_ï3́ưçZæ­è́Ḷ8ø"ưX́±IGÚư+øàóC÷\÷÷úBư @ë< ,#T F9 v4³û ÷­ộ–ñỴ1óBönù5üø₫¤c̣=dKÿ₫fü/üÑươưÂ₫Eÿå₫ÿÅÿLÊ)DZø.ÖÄîZ&ÿ₫åüü·û}û½ûhüÊüSưäư0₫₫"ÿ<ÿwÿ}ÿ ÿg₫Vưñü‰ü.ü2üîû§ûEü-ưÓ₫4$àL#Åó†^êiŸÿ¨ưÀüIüéûüŸüSưp₫jÿI:¡Ï¶&u}ÿ÷ưüăúwùÑø˜ø.ù.ú5û©ü;₫íÿ#Äóq;«¸GÚ ”ÿæ₫»₫ ÿxÿ¾:¡âïÈGœƠÿô₫I₫–ưươüÆǜüư]ư«ưäưüưÿưĐư½ưÁư–ư‰ưzưKưzư₫¿₫åÿ&<ga*æZƒT·é縥ƒlÿ”₫Óưlưgư–ư₫º₫Yÿ}µ¾ƒSÿz₫wưküzû±úEúú)ú¨úgûQü„ưÛ₫+i{Yûc›t4Önç̀ÊÖä̃ÀŒ&ÖàÿÆ₫¦ưoüYûƒú̀ùeùWùŒùúéúàûư!₫:ÿXX7îW|t:í¦e31KhZ)×WÅ'tÿÓ₫>₫´ư[ư"ư ư&ưUưưđư=₫“₫̃₫ÿGÿ`ÿ]ÿTÿ:ÿÿ ÿÿ ÿSÿœÿ2ÖkÛ.O@ ¬-¡ÿb×ÿVÿû₫¿₫₫₫§₫Å₫ù₫&ÿTÿ€ÿÿ“ÿÿkÿJÿ)ÿ ÿÿÿÿHÿ„ÿ̉ÿ0…Ó7G?î²l1÷ÿËÿ³ÿ¦ÿ«ÿ½ÿÔÿôÿ0HNG2 àÿ²ÿÿ]ÿEÿ8ÿBÿZÿƒÿ¹ÿơÿ/`†˜›‰h? Ùÿ­ÿˆÿqÿlÿtÿÿ·ÿåÿKu•£¥•vR(áÿÆÿºÿ¾ÿÎÿéÿ 2Tn{zgFåÿ¨ÿqÿ@ÿÿÿÿÿ+ÿVÿŒÿÅÿ₫ÿ6c€—Ÿ™u]H7-+4DVh{„xa;̃ÿ¨ÿ{ÿRÿ3ÿ$ÿ"ÿ3ÿMÿqÿœÿÉÿôÿ1<@5" ñÿÖÿĂÿ½ÿ¾ÿÍÿæÿ ;i–¾ÚïïáËg,íÿ°ÿ~ÿRÿ<ÿ-ÿ/ÿAÿUÿzÿÿ»ÿ̃ÿ₫ÿ  öÿîÿéÿïÿøÿ'AVr‹”•a:êÿ¼ÿ™ÿuÿ]ÿ[ÿiÿ}ÿÿ¿ÿäÿ,HRWN6ôÿĐÿ²ÿ±ÿ¦ÿ¤ÿ¶ÿËÿéÿ3Rn~~mW<ơÿËÿªÿ’ÿÿÿŒÿŸÿ¿ÿæÿưÿ;HKG-áÿËÿÊÿËÿ̃ÿåÿ2Ii…ƒˆ€dCđÿ̀ÿ§ÿ‹ÿsÿoÿ}ÿŒÿ´ÿ̃ÿ6\t‚„wV4ăÿÍÿ¹ÿÀÿĐÿ×ÿôÿ/VUPWE' âÿ¹ÿ‘ÿqÿuÿpÿgÿ_ÿÿ´ÿÛÿñÿDk~jB#éÿ¾ÿ¦ÿÿ«ÿÄÿÏÿÔÿêÿ2V[aUd+·ÿ•ÿsÿlÿ0ÿ2ÿHÿtÿ€ÿËÿéÿ8V…yn^üÿ'Îÿëÿ‹ÿ —ÿHßÿ £­ƒÙœ`SM,¹§ê…₫ ưÿp™ˆúà÷Nô¤î$̣Îôÿ÷^ù+ü₫L ø›éÇÖAjdÿUưNư¯₫Búçøùoú¼ûÔüÿ dÿÿóưü?üÿüºÿ ¼ƒơÿ¿ÿqŸ9“<AW%ùƯ=̣2̀Ÿ*₫₫$ÿ_•FrÄÔbɺÿÿÿ°ÿ¸ưôư\ư ₫2û¬ú×úSü ûêû±ư6ÿ‘ư§₫Ï₫u“µ₫₫·üî₫æ₫n¿ÿ½₫tÿWư3ưưÎ₫,₫t₫¸̣zH₫«üÍ₫æưrÿŸÿg†ÂäĂÿ+oÿg₫'à₫§₫›₫ƒP9MX×_¸æă/øÿÿ₫öÿÓÿ’DTü¥ú½üWr1s̉ymX^ÿÁæĂAqđÿÿ₫ÑÄüÇúưúhü¿ÿ̃₫Jư_û•ú’ùˆû±₫£L.ư†ûƯúưƒÿ *· 3̣„ ˆ ­d÷₫‡ü3ü,ú“ø)øđơn÷BùøưWQÿâêÿÜKNOYÏ` 9 ®Kp₫\ư®₫PªDÿö₫qǜÿPÿÎL₫‰ư\üRü¡üWưî₫́ưÍưĂûØüáüÖÿ%Gÿ±ư$üÍư×₫Åÿ«₫ ư³₫8±I›D•ÿt₫Ô₫¸O''ư<ü¬ü€ÿ£ÿíÍÿ?ÿ₫×ü₫ÿ¨-wôœÿ>ä₫ ¬dH&8ÿ?ÿÎưú₫éÿŒ‚ÿ́₫Ñ₫¼₫:ÿnÿ₫‚₫éưíüµüưºü[₫Œü›₫Å₫>S¨¦Ákµ¤X·;ä ö¼¢EÁÀĐUëJÿIÿ€ÿ¦ÿÈiÿZÿ ư₫5₫̉ÿoÿW/₫̣ưûư"ưˆÿ³₫®ÿÿư₫Ëưúưư©₫ ÿzĂ¡ó†ÿg₫₫{ÿªåĦñüưhưiươ₫¥ÿÿHÿöưHÿH₫»QLC.µÿ¬ÿωAÈÿ·™¿ÿ¨Ư«£‘₫ưéü+₫»ÿ¯kˆóßÿç₫«ÿöÿæÿ>ÿfÿÑưbÿ‹₫Éÿ>ÿÿ÷₫¨₫bÿ?¥$ÿÿ$ÿ¤ÿ–}1]Øÿ÷Œ†jÿzÿwÿ›Í®ÿ/ÿ₫_₫–₫“₫ö₫óÿd0'­₫Àư<ưG₫ÿăù-CîÿÊÿæÿX×Ík:‚vÈv°…æ@íÿSÿéÿB¡y·ÿ,ÿ₫˜₫ ₫`₫Ïư—ü­ûÛúàú~û¾û–üXüRưÔüîư—ư½₫ÿ% ´ ́€ ‘ cäEŸ°₫ăTJÿSưrü!ûÛú#ùù8øVøÈ÷œööơ”ơföØø(û<₫ ÿñ̃₫gÊ–Ư C×ïï.W ÿCHºÿràèÏUÿ¡úọ̈đĂïÖđèñóƠóôĂôÂơc÷6ùûtü‘ưñ₫!ö ÓKÜ~ y >n ¡Ü Åüqö̀ó6ó!ô©ó¸̣2đCîíý̉́+îïíđóÛöú₫÷ÿ-¤ Ü›fƯr¬ ÅÓ  Ui¬ ×Îø₫̣#đXïTđ!ñÊđ'ï×ëè€å’ä9åơè^íøó4øyüôưËâG˜!Ü#Ó̀ă Às ßsé£ ç#Ư‹ÿưĂ÷¨ñúë=éÙèêDêZéæ â_àÁá¨æÊíaơØúÿ·‰ D @( +p%±V M›ớ;À₫üú¶ü €újñßè¨ååÅèùé‰èÎăû̃¿ÜßæLï@öû¯ưü ®‡*2Œ1&sß/çoû5 @¥÷Ôöûq÷VXù;̣ź®êUêèéèËăMßỮÇẩè,î²̣fô:øÍû~Ä)‹5ä3*!Ó ôq ÿq’-”đÿ,üÊüé₫`₫ úhơỴ¨ó4÷Ơøåö„îçägƯ´ÛÛß«åºế̉éáç˜è©î‡ø,o Jà"Ä,!/å*¢#A4î i&h ¢ŸưGü†úđơ₫ñ[ñLô€úư û[̣|çà¬̃jă§éZí»íë è–èº́VơhüÛ•`c.530$JO <  r¾ /Àÿ`}’̣ú\̣=ë¿ë*óêü Aÿößẹ́ăøä§éxííÎéê{́„ñĐôô—ô|ơ½ûÚ/Ê"¼.¶0(®Ÿ>Ê  €2À€g”ûeô?đFï¥̣÷(ûdư±üêøhó¤íOêEéKêĺ_íMï ñ¼ñWñđđnơsúǯ®!5,S.%₫]ZÛî~ØÍ1½&ÿrø7ó¡óùó€ơ÷áøYü)₫øûUöƒïăêªê9ëíé́îˆđjóó#ñĂîj̣§øßéÛ z–' .C'´<M°₫.U ƒ,ư úºø^ø¤ög̣góYøœ₫Ùđü0ôÍî́&í́đéƯéè́+̣ơṚ`îàíåñ‚ù ₫ä„“¡$ +A)¼  ” Jư°ư†ÿđúqó¦đḷDú£ưpûCù ö½ôḶ=́%èèiêíÏï½đÆñbñfñÔñEơúđ₫E$s&f%-!0  ¸! N ư ˜#çÿD ûIợdô±ô ơÑö¾ù‘ü“ù§óïeíëêué6ëLđTô†ọ́bóö ø“ú~üm«¹Ï‡"ú"f$ # u ! %̣ÿ)¾₫Ùøª÷ö¯óựDóíø¹ü–øÏöáö;ô đ™ëéíïíÁîẒ&ónổô›óÛơơùNư=ïD Ä: ̃n!É#} ¤îlHT ëü1‹eưOúÙùoøôó}ơ=÷YøøPøÔøÿơmñ¿ï‰î;íú́híđộ6̣‡óPơaơ÷hü&2Ö 3· l"ù"éx/̉³ ú˰ ư‹ưŸûAù<øö[öu÷ø[ø÷÷yơ7̣éïÚî"í†́‰́`îªđ{đùñWôÛô^öçú˜₫YM ‡Œz °#̃¸ó¡lu  ‡PzÿX₫°ûÄø¯øÇ÷ö5÷Öøö¿ơ%öậ;đ‹ïií0́Îë[́!îXî1ïỴụ̈ôuø4û₫ü ú ùf¬!*#‹+5gÆ­ ê¼îÿCưkúĐøy÷ ökơ}÷Åö„ô:öĐôØđ‹điï´ë§ë́6́íî÷ïañ„̣ öäøáû«}S̀́̉#ƒôüM”d÷•=‹¿ựûËú‰÷Oöö™öÑö-ö€ö¥ơ«̣Mñ"đ̀́yë„ëXë]ëḿăí ï’đđó¹öˆù¥₫æ Ư» =!I E !¸¦» '˜ÿ°ü©û’øªöY÷Èö0÷À÷÷́ööôq̣ñVî‹ëëùêHêfêĺUírîṬ>ơÍ÷*ưö¶n Æ)ó VDæ y ³œ "WNÿ6ưtû«øF÷g÷_÷U÷ùªø”÷‚÷íồñTđgí‚ê¨ê*êåèƒê3́•́Ÿï¶óöÚúØr» ×Éc",ëÓ"ÿe{ư ÛI₫¼üƠúÆ÷+÷I÷L÷÷»øÔú·ùƒøùüơƠññ0îêüêêDè‹ê|́‚́Åï ô®ö̃û‚₫» ́ß!Ù[ $¤:£SF Z ₫ÓûVúÜögơHö‚ö¬öNøú üƯû´ûæüéøßôtô¸đëªẹ̈êèăèƠêQë,íLñ@öSù8ÿæ ](ß"ÛĐ#=%mÍ ,ĐOûøöRôặÛójö.÷Èø¹üÀ₫\}V>ÿÄüÂ÷Œôcñ–́—êêéIéÅëîJđơPùLư … å :xº9”yñB  ®iÿƒüúêø"øø²øMù=úˆûDüŒü&ưưdưưúü™üÂûºú#ù÷ơÇó$óLóóó§ôŒơ’ö¢÷ùDü~ÿÈơ Á – Óà­-=èÎ3H ̀ 2ÄtJ₫"ưæûûlúưùƯù¾ù¸ù#úhúGúú¹ùÄøg÷̃ơôƯóÿóGô€ô ơö÷'øßùbüWÿj‹qÎ › Ô ²b­³oŒK É Å ˆo]gÙÿv₫<ưsüÁûûŸúúKùƯøŒøLøTøeø8ø ø÷÷Ë÷Æ÷$ø·ølù@úûÂû\üïü¶ưÜ₫0ơw×̀y  = 0 ̃ . '¸Rÿéÿơ₫e₫́ưSư°ü8ü­û.ûáú—úXú1úúú1úsúûÊûŸüŒưf₫ÿ²ÿFI%ưÿùÿßÿ¼ÿÀÿbíŸ^6±#UJ!± ~đmđ‚‚ÿÿÂ₫m₫5₫ûưÉưºư«ưœư£ư¹ư×ưđư₫!₫/₫7₫6₫G₫₫Â₫ ÿsÿºÿáÿ,O;ÿÿµÿdÿÿÂ₫€₫E₫A₫†₫ơ₫ƒÿ=̃™/–À¶‡2Âc ½R4 Ư½£Q&áÿÿkÿ.ÿÜ₫₫]₫₫êư°ưtư7ưưàü̉üöüư-ưzưµư₫m₫Â₫)ÿ“ÿơÿBÑW‘ÛUÖ1+â§b$Ư†<ßS÷ÿ£ÿWÿÿ¸₫}₫8₫₫Ôư¸ư¡ư‡ư•ư ư°ưßư₫@₫₫µ₫î₫ÿ\ÿÿÏÿKz®ë>c†–®›¢–”€gVGùØ€JÁÿÿFÿÿÉ₫¬₫t₫g₫I₫k₫e₫‚₫•₫Ö₫ư₫6ÿOÿ£ÿ™ÿÆÿÚÿëÿÑÿ8kI~h³qÑ*¸b¯[Èmel£=ưËÿŸÿ ₫sÿÆ‚ü4ưéü™₫ÿ“ÿŸ-ÿÖ˜o%û¬üôùïøyúû +ư¨ÿ ¦{W‚™Z L­5?ÿp ÿù´₫ÁHùóû<sûû+¯₫Gÿă~:Z]Ùơÿ1₫©̣ưLü:ÿüxû1üNûºü"û8û²ü¼ú¡&₫÷̉l + |_ wVM¼–₫yüÓüùJ÷vù÷ö{ú̉ú®ù…₫'Iÿ Ôđ ¥0Aµṇ̃ÿ₫Cü`ưÍüÖúüØüưû!₫¹₫½₫Wr¢öaưä¿Ùÿ?Ù₫n₫¸₫e₫]ư—úưœ„IÿƯ¬₫‡ÿ#ûÿơ3₫Gư^̣û³ƒ÷ y ß f8̀ Î Úµ¬ùÍ÷¾û¯̣±ñËøólóĂû(úûWB©@M =7‚ •kûƺûfưsûÂ÷¥ùØùĂø¾úGưr₫·ÿå¹_¢Đ{₫"ª°"'₫Üü€üûPú¹úEûZûˆüm₫¿₫̣ÿ |ÚºƯîÿ…₫₫Âư^ưOưưưS₫º₫Öÿ}ÜÚC=”‚ơ›1[Áÿ[ÿ«₫/₫#₫₫₫m₫ß₫Cÿ½ÿd½ù_m*8î\/̉ÿFÿÿÚ₫Ÿ₫Á₫Ä₫ÿYÿ²ÿ ’É9CTHÔœ(íÿ ÿ=ÿ:ÿÿÿÿfÿkÿÎÿÏÿNêÿ{IƠÿZĐÿnH.z~ª¼ưA™ù… ₫fñ}Æùó;?û₫ø Ø&§PÀṿùÎÿXú̀ơü(ù‘ø§ư₫Åÿ"ö)…¦ÏéNÿcü+ưôû<úĐûưưülÿ²̀v›sœˆ\ÿö₫ÑüüÑü¸üèü–₫`ÿ<o^ƒŒ™Èà;pÿL₫>₫₫¯ưs₫ÿNÿH{³)Êq«ÿ ÿî₫‹₫‘₫ÿUÿîÿ}n™rç†êÿSÿÿ·₫₫ï₫ÿ‡ÿK¿éʸhæÿªÿ?ÿú₫ü₫ÿ-ÿ¹ÿ€ê')DÎ…)ÿsÿÓ₫ÿ̃₫:ÿ…ÿÜÿ:Ơ¯äŸdèÿ”ÿmÿƒÿƒÿÿ÷ÿFlo[6 Ơÿÿ‹ÿ‰ÿ^ÿ¹ÿÖÿưÿQ€n‘ˆ>đÿ¸ÿ£ÿ˜ÿÿºÿËÿ₫ÿ+?^ZJ7ïÿÓÿ§ÿ¾ÿ¼ÿ¼ÿùÿM<C:êÿÔÿÉÿ½ÿÁÿáÿ́ÿüÿ+ 2:áÿđÿäÿƯÿ$<$6øÿîÿÍÿ­ÿ±ÿ®ÿ²ÿÏÿíÿ$??KI äÿçÿáÿÛÿñÿøÿ":"öÿêÿéÿÊÿÑÿáÿÛÿíÿ₫ÿ* %úÿ÷ÿÉÿ%½ÿæÿăÿâÿËÿÛÿüÿĐÿùÿ / ưÿ ÷ÿ₫ÿ ',&%öÿÛÿÙÿ̀ÿÇÿƠÿÚÿäÿúÿ"" ưÿđÿîÿáÿÚÿÛÿÖÿÚÿáÿÙÿèÿđÿùÿ',599&/  úÿöÿïÿ÷ÿÿÿîÿïÿñÿúÿ₫ÿ₫ÿÿÿ öÿñÿđÿăÿƯÿèÿäÿăÿâÿëÿöÿöÿ₫ÿûÿ,ưÿûÿçÿóÿúỵ̈ÿ # ưÿéÿâÿßÿÆÿÏÿăÿÖÿèÿÿÿ#)$ÿÿíÿôÿøÿêÿ̃ÿ́ÿùÿâÿơÿ  ưÿ ïÿûÿçÿđÿóÿ₫ÿ -ưÿưÿüÿíÿ₫ÿÖỵ̈ÿêÿ́ÿùÿëÿ0(<, åÿ ÷ÿëÿ÷ÿÉÿÆÿÆÿÎÿÛÿÛÿ₫ÿ ÷ÿóÿơÿôÿ  æÿåÿöÿíÿÀÿ½ÿÓÿ ÿÿ#=S(+' ( äÿÑÿ£ÿÅÿ˜ÿàÿ·ÿÔÿIÿÿp̣ÿÀ`Jdc½¢₫0¿ü{÷…ö©ôKô²đqë=ê¶æNô»{ Ä;(V ̃Pư/ơÙí ăÍá~åÚô“úÈ3đ ×üR÷₫îV́(îó¡ùA( tó–çj´ËúLï!ï¿ê ẹ̈ñÊơüÁûzø_ôÇéṃ ˜ .ç&×Ï&Ï”₫¨ùRîPă)äê˜ñäơ º VªMSÁú.ôùñẠúó₫} o lˆ¹ü z₫gï“å’ƯÇÚSت̃äăíû %O B.*Q0Á*4)ê½đ‚å}×ÉĐO׸åñÿYo™ûÁÿ9öÁíèñïïơ)ưD™́ÿMù̀́¥äµØ-Ú%ÔâơèsGP<52đHq#xƠí’Ù£̉ÑRÙ×ƯBơfO (V4ùwÿơị́ßï+ï“đ¶̣ḥGđ-ê×é£ă¦ă&á~ùª€7Gă%>u0Ñ –÷<̃àpÓöâ}Ư·ăÑW÷÷4!y Ù÷‰Püaø•ẹ̈ïưåçă°äÛăqƯéàYçA₫*ü LàGµ%qRs˧Lîlæ®̉××_Ø××çëpö¿úבŸ & ØĂüÏïẹ́ẵ2̃ƒÜơÚ¸̃qàUçđófƒ\(ùVü)?ABL Ôÿ^æçå××­Ú¸̃ÀîX̣¤QE¸Œut÷íwæ§̃:Ư†ÜªØ$àUßNåĹ4r¬çOo85ÁH¯"Kió#èÆ̃€Ö–Øß×ặê§ơÊ® Í×t{®“û²ñRè™Ư[ÜÙׄÜ>Ưåå•íCuÿ!’Rz3°?ÇG@"Úạ̈ ë̃ÖQÖưÔ¦à€ä„̣Ä₫ Bö$Çÿ÷̣Âézá[Ư×WÙ›×Ä̃[àhK E_:¦5Qu1Y(;"$³öúênÚØ{̉ØUÛfåíđöøm—>dCă ̃ưeô—ê;ăDÛÚÖƠyÚˆÙÿ6£°?a,0:zO 3?3¤*+¹ÎóØàÈÚ¿ÓT̉®Ô ̃CăTïAư¶Åj/ƒŸ;Ïû_ơ7ç·ă(Ü›Ø4Ö5îơù^÷#( Î+EEˆ5U5E5ô_J×î#é2ܽÔ#Ö¹Ö˜Úä;íä÷<· ²[ A¢ü%ô‰îå”Ư íôótë*áJ4‡&,.I3Z#¼Ù›₫ùífà9ßçÛFÚ¹àƠæ̉́]÷M₫¶â~ [ÿfû±ồïÿçyùĂôçóÛ9p%`( 'ªÓ;SJ§ñ·ëæÂá„ß̣âḉô_û7ÄóKjưºù"öǼ´íưÿ}íJïg…"£ïU(Ƈm‡ ÿ[̣đ»ẹ̀å@äç.é9î€ơeú_ÿÎjÀ₫RùÊöIíđöûÂîô  éY pŒÙ#¢„$ | ú]ơkđàç´çåçOëÇîzö·úOÿƯîöƯüüûxóô¬ïoó ̉üN¸h!Çë£ bNù¯ù(íë é¯åÜépë˜đöö€úSΙdêÿ€₫bùổ‡ơ˜û· œúÛɦ a"N3·  Ü üÇ₫̃ơGî=ïçè ê¿ëÄ́¥̣†ơÛùưø₫'ÿEÿæüGø¼qû<ÿ)$ưFFS« A• Ë 6 äưcÿ§ù}ñẸ̈[ííÎîîỊ̂ơ7øœúüüJûÂü'úø,GûÖkHUd m6ơÀp WüZ₫­÷ịô€î đVññWơßöüø%ûâúrûùNú÷ù¯6ø² Ê ÷‹ă(ªh˜üW[ Ơæû¢ụ̂J̣êï3í‡đđóäö´øüPưoư)ư4ú™û¼ơÿư]ÿ¹ø5  ^đ<  I1ÆG ‹ 5èÿZúƒóæ̣ïíÆíîî}̣“ô¹÷ûrûëư•û0ü û$úfúƠ< ©ău  íö —A|ï' !öç÷ø̣#ïøñ§ị̂óóÜôÅù[ù–û(üÚø’ü÷Ömÿ¸üK ©7 ¢¶ Ài k ơ -₫æ©ûöÙø’đŒóˆ̣.ñ@ö“ô9øÔú½ø½ü¨ø¤ù]ø‡úawùjo`‰? ¬²„ úº #N!¸ơ/ø¹ó‡đ¤ôÿđ6ơ ÷`÷Füúúáü6ü%ùVú÷#ú0ÿ¤ä₫? p êŧ ’¡³ yW%¾úv÷Ÿ÷ñ.ọ́áñ3ööŒùÁûƠû₫§úăû°ø ưtÿ<ùçePS «³ Ô ¤ ƒyđÿjøùô\̣‰ó®ñ©ôæơŒ÷%ûÓú«ư ûûûNù!Hù›¤-₫%­× 'B‹è±úyúT÷Xó‚ôịóyơ®ơÀù’ù¿ûqüùûû´øä"üÙ₫­ ₫ ¦ ê*F  Mº{ ‹ ›e€ü^ûVùô÷ơỤ̂ óÊơ¦ôâø>ù̃ù§üØøzûƒøJÿ¦ưYüN ¥₫J lJ Æ åÍL ¬ +y„₫áú}ûÂôÛöfô¤ó™öÉô-øWù̃øaüÙø„úø̀ưÑưû4ÿíQ Vo3 ƒ Á Đ >‰Îú_üÆơ]ö„ơó}ödơü÷ùgùĂü̉ù<û‰ùßûæÿ́ø[ ;n ±Ó ¢ă   ‰Ëâ\ưƒ₫ÄøÚ÷÷áóZ÷ơ–ö›ùy÷½ûxú¢ù›ûæø×pû²₫ˆTưŸ1…ê 5 . ç × é²èưùcû8÷=÷ƯøÍơHù•ø«øû;ørú’øvûÿ×ù9r©Ævă ¿g j × eù›₫ünúûDøØùù ùñúÓùrûhûYúúûåùÄü–₫úûüTnkMkà~׿N¼°ÿRÿNüüµûiúâûûyüÅưíưOÿNÿmÿhÿ®ÿZÿ<ÿƠÿÿ!ÿ?ÿÎ₫Zÿ-ÿ¬ÿUaV>ħû£-5¤—C¼u”Äx¸uQVÇÿåÿÎÿcÿjÿÿú₫Ü₫­₫â₫»₫á₫đ₫Ö₫ÿä₫ÿ2ÿÿ^ÿTÿnÿ¾ÿ¿ÿ4`‰ûÙ4ORèú~‡Z7îÿ 8-B:.:îÿ©ÿÄÿoÿdÿ{ÿFÿsÿjÿwÿ¸ÿ•ÿĐỵ̈ÿ̉ÿ?ÿÿBûỵ̈ÿ,-̣ÿÿÿÏÿ×ÿÑÿºÿàÿÇÿÆÿæÿGSD=Y-80 ëÿçÿéÿÙÿéÿäÿơÿñÿøÿéÿơÿáÿ₫ÿ×ÿ̃ÿñÿ̀ÿéÿüÿóÿ'&J-T:/= ÖÿăÿĂÿ¶ÿĂÿ´ÿÁÿÅÿĐÿ̉ÿÛÿîÿ́ÿúỵ̈ÿÿÿùÿ '9?WY]lPX@*(ßÿäÿ¶ÿ¨ÿ®ÿ•ÿœÿ›ÿÿµÿ·ÿĂÿÙÿàÿöÿûÿ#"058=?5>A4+)éÿöÿçÿËÿåÿÏÿÇÿèÿÆÿæÿæÿäÿ÷ÿÿÿ  ₫ÿüÿôÿôỵ̈ÿóỵ̈ÿûÿîỵ̈ÿóÿ₫ÿôÿÿÿ #+% êỵ̈ÿæÿÚÿåÿÙÿÖÿăÿÛÿÛÿæÿçÿêÿüÿíÿ₫ÿùÿ '  ₫ÿóÿ÷ÿáÿóÿàÿíÿñÿüÿơÿưÿ  ƠÿÙÿ´ÿÍM₫~ÿ±ÿ›ErùÿÁÿ¢ÿÔÿèÿöÿ-ùÿÿÿÿÿùÿùÿ đÿúÿùÿơÿëÿøÿưÿøÿ₫ỵ̈ỵ̈ÿöÿüÿôÿúÿưÿôÿ úÿÿÿ ₫ÿÿÿ₫ÿưÿùÿùÿ úÿ ̣ÿöÿúÿưÿöÿúÿùÿÿÿ  ôÿơÿüÿùÿùÿưÿÿÿüÿÿÿüÿùÿøÿøÿơÿúÿ ưÿưÿüÿúÿ₫ÿưÿûÿ úÿüÿúÿúÿùÿøÿ÷ÿøÿ₫ÿ ÿÿ₫ÿưÿûÿưÿüÿ₫ÿÿÿ₫ÿüÿùÿ÷ÿúÿúÿüÿ₫ÿüÿüÿøÿúÿưÿÿÿ₫ÿüÿûÿûÿùÿúÿúÿ₫ÿÿÿÿÿ₫ÿüÿúÿưÿưÿÿÿ₫ÿưÿüÿüÿûÿüÿưÿưÿÿÿưÿưÿưÿüÿüÿûÿÿÿÿÿ₫ÿ₫ÿ₫ÿưÿưÿưÿưÿÿÿÿÿưÿ₫ÿüÿüÿưÿ₫ÿÿÿÿÿÿÿÿÿÿÿ₫ÿ₫ÿÿÿÿÿ₫ÿüÿưÿưÿüÿưÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿüÿưÿưÿüÿÿÿ₫ÿưÿ₫ÿưÿÿÿ₫ÿÿÿÿÿÿÿ₫ÿưÿ₫ÿûÿ₫ÿüÿ₫ÿưÿÿÿ₫ÿưÿưÿüÿÿÿ₫ÿ₫ÿ₫ÿûÿ₫ÿưÿ₫ÿưÿ₫ÿÿÿ₫ÿÿÿÿÿÿÿüÿÿÿÿÿưÿÿÿÿÿúÿøÿ÷ÿưÿúÿûÿ₫ÿưÿưÿüÿÿÿÿÿ₫ÿøÿưỵ̈ÿèÿ!´ÿZÎÿûÿ>¼ÿ6ïÿêÿ'ÍÿûÿáÿÛÿÿÿưÿïÿ₫ÿ !ùÿđÿñÿêÿ́ÿơỵ̈ÿøÿ÷ÿ₫ÿüÿ₫ÿ ÿÿ₫ÿ üÿÿÿ₫ÿûÿ÷ÿ₫ÿưÿúÿúÿöÿ÷ÿñÿöÿưÿ÷ÿưÿøÿüÿöÿ'ÿÿîÿ̃ÿ̃ÿàÿèÿơÿèÿđÿ÷ÿđÿ₫ÿûÿ 1ÄÿÛÿËÿóÿæÿ×ÿóÿóÿ. 4ưÿ ïÿäÿÑÿÏÿÉÿĐÿïÿóÿöÿùÿñÿ ̣ÿưÿöÿüÿàÿ ₫ÿ85F(LB@' ̣ÿÜÿëÿÅÿ¸ÿóÿ¹ÿ÷ÿÿ́ÿ›ÿ*̃ÿưÿ÷ÿOơÿfÖÿ(íÿ·ÿ9íÿ{Êÿ¾ŒÿÄ̃ÿP 4ó`WíQ‰ơ-iQ÷ăàó.ưZ çö|¦ú³üËÿoûÂ/ưd=û£*Äaô)”¸±ü®r₫×ôœÉó6úVû Êûºro†»o¿»₫p₫€ÿ “ûIÉ₫~ÿÜ₫ĂÿcSÿâĐÿ*Đÿ:ư) ưú1₫ÿƠÁû ₫Ôư/₫"ÿ"=üOư³Æÿ"ÿŸ₫A—ÿaài¿O«HüsøaưÙûöÂưtúÔúŒaüX₫X±ëûÜè₫_h₫«₫‹₫M5ư€ÿö₫2₫S₫&°ưsư.¶Çÿ_û£çüư¦wúmzưÔư<́ö$XúB8úa†ù½₫á,fư¸„₫½ÿµ=ư²A₫Ưưâ₫Ùù€ü“ÿÿÅa₫Äÿ~û‰oüÀÿ¦îùW1ü®û äùŸư›5|ÿá₫8O¸­úßâùưÔ6ûLrø̉5Åùêgö®ưqü¯ø¿†ÿäư!û\à₫p úf üđú\_ô¹Áù;÷' çî`{ÿVü ²úbÏúlùÿI(øPøsúß\ö5xÿâôH Íôˆ×₫“ưá ^̣ úÿ¡₫²½û̉4ưÿ¹AüjÿgƯüo/₫¦Œ*’/ùS óÊ%Jøµ ¯ûº‘üNûàDÿ ư:Cû:éüƯư¥₫EOîøÉú±₫­đ¢ù† ‹ú̉+yû ·ú(Êư*ưÊ¥÷á2ûªƠû;*üƠú£‡ô3yûµ_₫¸‹ư&Baÿ¤ÿ÷ÿ₫”üSñAư?ùü(”1øÈ×ưÿ]ü=ưÜưÿ÷÷§ÿ¾ưÍû¾Çư¡ôưMë₫_7d₫nü³₫ÿư¬ÿ|₫€₫0ÉÿSë]ƒÿ­úñúiơü>ü™ư‘åúŸÿ5ÿĂDư Ûøư–ÿm₫̃Bü„@ÿ“üW₫ÚOüúÍ6û,₫s5üÆÿ–üïư₫ÿ̀ÿư₫ưƒ̣ÿ‹[çÅå‹ÿ yûRưÆüÆư”û¼ưfÿrë₫ç±ÿ3tưÓLÀè˜₫‹SVự¬Ưhd4₫ư_ưƒưûư¥ứú¬ưÇûYú̀ü{û₫k“ˆ÷6æ±HÔe¸Ü:»²₫#ÿz₫§ù‰úŸù—ô¤ö¯ơÓñgôKơOơæ÷×ù(üĂ₫ï.á „ ñ ĂưËËxZ¾ n†ĐúØùôañ¤ñ,îî́́9í¸́¯ñ@ơĂ÷ưư+ÿụ́‡É†—4²¦$áôL z;ÿoöùó:ïkè§è"éæ\æ>ë:́"íîóƯ÷¿ø;ư†ÿÿ«=_ \‹₫ Ô7d ^‰û»ơOđçuæÊäzß×ăæ´çṔ›îËóøäø₫E₫K₫Î?> ~ ॠ,–`ö PÿÇú₫ôúëéhæ̉ââÀăçÚëIïÊñröĐ÷¸øâú˜üUư<zs$¨>5ÍIe V¤₫ụ̀ơåïJ́êƒçÑçjæ'ç‰éZị̂́đáôª÷ơ‚ùû(èܳ æ*×#è&a!Cç°K₫̣”ơ!đ¯í§ï|ë“í"ëé~íêV́Ṇ̃¬đ‹̣†ôuôÀ÷S¤­Ä" .ö/n)!!—³uæú÷üḯí¥îñ”ñtñç̣ñî»îÉ́ êùíÆï¢́bîÔñÏö£ üđ q0¼3Ê4o*×Âû ÷kñë́­ë·îaơ1÷)ø±÷LơF̣­ïùë÷è¯éÓêèàéÁîhËà/ß8:*0ŒBÏózë$æœè§é`íXôiüe₫)ữúù2ơ îïçGå´è¾åä{èiÅ2#1\:@0-¥đ₫đ™äàèæ¶é¯ï­ơi₫Ÿ^₫¢ú›ö’ñä(ăÊå<æ®âdëF£"+z3ß:®?À)Hàô›ëñíÜ[æ˜îˆơæù!¾ ̃Đ₫å÷CôÂî¶âSáă€å”ä3–',6}6@•1í Ñđ́ê á3Û«à1ê¢÷‘ûx„̣·ăúÅó)đíå¿â/̃#ă`ẫ₫â=*k:¹6¦@a4Tîèà›Ú^à‰èƠøÿ‚Á­?ü³óyîOå§â«ỨàßKư -†<†6¹?55a¼~éªä}àÜà.èyû!  8+ü6̣—éă7âƯÑƯ“Ư!ï2k=W7Đ@w27¥ưäăúàS̃f̃Aá*ê“₫)7 í Ó/ûụ́̃<åYà^Ư2̃ŒÜ1à|["¿;¨=̉8=„-A§÷…ßíÛâÜóâBäí±ÿ— Ăl ßµïø7ó€ăŨ₫ØẫoÛ(ëz ¯&a@]<)<¶5['¾̉ñỨØÜVæ>è™óăÿ- đ8 qù¼÷4î;åeÛûØ…Û?ß@₫[f2€í£é›ßƒ̃‹ØÄïÁ%z44]6G._)M›ưåñƯ{Ư°çrê÷ñöá $ ëµùZơ”í£í)å)ăˆÚ틇"2B3Ê1Œ)g'Ÿê\ëSádÜ{çÙëó2ô—úiè¿üvơÿ́óë’è ç3áÚñƯ"/5Ó-&2 ¿ñ"ç·ƯĐæ,ë¶ơơGú¡ûñ´ƒư©ơóî,é‚éOçëâúÆ Ư#Y)3ˆ'i&s–}§ơEë®äæéë̉ôôyú–ø9ưYúGú‹ô9ñÄëđëàçÆ̣Ê₫M#E).+¹!Ư!`úºÛù-ëAëßë̉ï4ôỤ̈Dö€ôù|÷AøĐóèđ8íˆ́„ëYøÉ¹â ´($!=€̣Lü9íđïá́Œ̣ẬóFó·̣\ơÙơVö₫óFđEîÈëLîYú8Å= Ÿ(% ‘!>ré…ûLî1ñ_í…ô1̣ôqñj̣Ëó±ơÿơôđ0î‰ëăî,úE »Ô'I  !'hoü›ï₫đŒíô‚̣Nô°ñ!̣)ó&ơ%ö‹ô ñî́ íäøf€ƠƯ&ú!³ ßÔ·¶o₫bđ8đ™ị́ójóẸ̈Fñ¹óêôÜöûô ̣2îXíßëPö0Ñ£$¥$ô ̀YÅú\ó¬ï™íđ3ó«̣pófñ9ôƯộ÷Øơ—ô6ị̈îƯë\ñzûc Q* <&ß!!‡: ›ùñï®î̀íg̣̣Cóñộôô ÷©÷ớñ/îdîǘ@÷C'y¼#₫%¤!Œ «̀®₫[óïÂí+ïÔñañ<ọ́óơ ơwømơoô ïị̈́aï‡û¦^µ! (%!"eBëÍÛ÷¥î;́ ́¸đĂñ~ó`̣‘ô*öqøuøơñ\́*í©êô¡¶;!&w+@&G#;VơúđQê£ê]íBđđñVó{ô-ø™øúÎơĐ̣²í–ëë7êùE{(•-H.&#=´₫Âđ@é%æqêîÂđ`óô¿øoú/ûụ̀™ïé`ë¶æ3đëÿƠ)-44,ă&LAĂDñ«èNă>æQ́_îóDô/ùưÊü[ü¿ôơñCë̉ésç)å÷ëW!W.Ÿ2g3)?(d ¡øèÛẵá×êưë đṚBöÆưL₫w₫û÷Q̣•î5éÏê´âÍmưz#-÷/¯6?-Ä)º#ÜÓ÷ëgå0àSǽ$́‘ñḳ†üâ9ư^ơ“̣?íë%èoàï$./œ075r*[, !¡ ₫¦çØä÷à_ê×êÿë”đWô.©Úêù³ộ̀äíqë,ạ̊̃dï¢ưß/(0^4T+h/¬!ú)úôåÇämâđêƒèëé)ïïơW¯×]ù ÷EơAñëàäyƯ,êÆî-R,-4 .à0x'ögÿØè©ç°äKéUè»æçîfôưvê₫Uúø–ø—̣_́xạ̈ß.ă§û ”')+µ1̉3!0//}đêéTçåèßă$́Ụ̈ûûÀ@ư!₫8ùÙû–ơïî»å˜âØ̃ í·ûÜ* +˜7203¦&5ÆeîJëå æ—å'å ï ôÖư’₫³üưÆù‚û¬̣ǿºärăßßƯđ¡₫®+o.¹82æ2%ư5ăîëJååÈä$äí|̣ñü×ư3ư®ưĐú•üƒóîÍäæă³̃º́™ÿÉf*!-k8Æ3B4*w¢#ô¾íbçOåƠăÉáđèïÙ÷7üŒúhưÔú–ưWösï…ç6ạ̊á|ç«û z%–+¯4 6!21JÂüœđ ë=åä̃à ă®ê“đûùxùtû'ü¿ûbüó3îûæiçCäŒ̣=lÎ(•+(5–0È0*Ë àú9ñ±ëæ‡åáàä¹é5ïŒ÷Böăùëø̀ùRùSóañŒí î–́áù#ç$ 'à+¾&³'p"ü[Ï÷Ụ̂BíøëơæOæ9è›êÅđ̣̀ôŒöùö1úâ÷Ûø÷í÷÷û0¾ i*=SR\,:é †¾úë÷˜ơưđÊî́»íƒïöñôÉö́øíúáû9₫Ö₫wj­7:ÿ"ÿ8H“WLµFUÿù₫ç₫Ä₫B₫îư+₫u₫̀₫₫Âưáüü̉ûÑûü üÓû”û_û–ûöûØü”ưL₫´₫>ÿWæ[£ˆ6×#NØû¸ÿ„ü>ÿœ₫9₫ºưgưßü:ü`ûNú5ù5ø1÷Ÿö¯ö5÷jøªù^ûư(ÿ€ÙÅ8`uÎ3ÄSĂƒïÁ > ÿI₫àüû3úùø÷D÷6÷K÷¥÷dø;ùJúQû\ü”ư³₫<7 y¬€ Ơ ø ` KäjƯ»º̣ÿOÿÿÖ₫m₫âưưüû úù0øn÷÷B÷ơ÷ùeúÁû.ư²₫X0Ó₫~Ú7g„4ä…È$#{ơÿ§ÿ2ÿd₫gưXühû§úÍùƠøÈ÷ ÷êöR÷øûøîùû°ü¦₫ư(áÚ‡~Œ!e¾£K˜çÿ÷₫´ưYüûúùNøp÷ ö'öLö÷ø6ù2únû#ư*ÿy:‹‰f D  w‹¨à*gaS[‘Tÿ}₫jưQü[ûŒúÅùùFø«÷s÷‹÷5øùæùÍúÀûư”₫^&¬Ưø™®Y¬Ó<E1bæÿ|ÿ ÿ–₫Üư7ưzüÁûûúNù¥ø=øø8øÁøùœúØû0ư¦₫)ĐtÍ×jk­ùUÑb˜üq»B¦ÿơ₫I₫‰ưÜü#üjûµúú‰ù(ùùùLù¬ù\ú@ûü/ư‚₫­?”Å9¶ÁT±ØMƒÓl÷‰;Åÿÿf₫ư½üü)ûlúÆùQù-ù/ùMùçùµú™û£ü–ư»₫̉ÿJrwBéS‘˜Ræ(‚Óÿ1S€êÿœÿ\ÿÿ©₫V₫ơưnưçüZüÜûNûĐú~ú@ú.ú`úúú­û¥ü¬ư•₫—ÿ¥´SûJ·–8¼SÙ9®)`¥øÿ;ÿ°₫P₫̃ưˆư.ưÚüoü"ü»ûkû+û&û5û8û›ûRüư¾ưx₫jÿ˪K•# x ef  \ÙyÿµûûúŒöäô<÷{üÛ₫c₫]ÿ›öÅưîú ÷0ômôÔó'ô ôị̂£₫d' LJØcw1:  ùMûüú›÷µơÜï=́£ïÆî±́Fîpđ¼ơöẹ́köñù[û_ø·ơÍơ( 9B" -Î* fúß TḯcíçÙäPǽPóäđóeú²₫ÿèúøúNøló î6îçî ïÛD”$*[4]1—%F!kó^ư–ê9èäßOáväóôHơ%₫íyrÿïú<÷£ïḱöææ<ä”åLº(71Ú?=85(¬&̉¯w÷_â¡ă›ƯøƠ3Û4âFí…ơ;öÈ} 5  ñ>øúëSê˜ă áÊƯ Ươ³ ,‘+¥5GFS;Ä(+)Ă[ó!ߺâÙÆĐñÜûåbđ÷̣úB»à ß Âv¶̣Ưå¶ê|âqÜÇØÿâ¯ å ³|38AVH×5@*-nC÷mé¶ÜæÜ Í#Îâ‚é$ñú¥ÆÓF ¼»äúÇéĐå_êMÙDØÙêæoÄ 6"w< ‹ơç¬äă0ÓÙÜÍăÎL'q@Á@3K8Å)F$Â~ïnäûÑ®ƠûÍ#×RëÆî ÿü ’¯Ơû ¼üHóTä_ß&à­Ơ=Ú^ß3â+̉%|AíA#Kˆ7(#ưBÿEé—áÂÑZÖ_̉Ú)ñ÷*ß ™ñ¡ 7÷aî²áùÛàؽÚÚä勲Û%}BNB̀F6s#ư¯äZáÓx×À×ßđơư­` Ơ} é©ôópëâMÜkà¼Û˜ƯµébçD§"Ÿ$Ê?î=è-ëYù âßáÙ̃;áê₫ˆÆ Ha8ưJûïôè@ăàÜ;â&àCä’êGóÀ´"S)Ó<<₫8í$ŒƠ ṇiáUáMÛâvå3đï6‰ S„€ ºùĐ÷™́jçúá̃“â¯á@çíë8‰!×"Û3s<Ă:ÿ,ơ©;ÿCæËá6̃̃Đăê ₫ƒ, ¦¸Ưª¹ü]ùđºèæà™ß:áåæˆèiúúT!…,s8«:È3 $ÚrîqâàMƯtă÷äƯơ“/VQ ’₫´ú÷ëêdè{âcà>à\âÂç¬đ3Ê¡%±5¨9Ÿ6T%Pø|åüâgƯÍß1ăBîiÿÎè ]üÚ₫&û¤ñ×êæ<à߯àäÂèuû̀[0¿8ª9-ÊL"́Håfß_̃^àråMö÷ÿ’ˆ -^ô ätù´ïéâvßh̃Sß?â©ü d +x6Ç:…3"áqơ©ë1ăƯÚÜDƯXíăöûó l”Ă 5 :÷ đæĐá.ƯZÜẸ̃p~H! 0s7æ4¿*ø$ÂR%ö́Àá̀Ụ̈Ùă§ëđú ¿ zĐ ç ’ Mrúàđ¥éƠăß9̃CđÀüͺ!«,Ö,;(Ö(t!#Sùhï_æÇƯœáÅåÁåấJô’ư4F o ̉*1û¥ơụ́4ê]đÂü1ü5x Ï×g­ĂÖ̉wAµư1ó”íÙïØííăîöñoøbùjúA₫Óÿàÿ™₫Í₫*‘ÿ~K ‘ÆVŸC[‚Ëm¯̃ÿ+%1Wÿ¿₫₫>₫A₫Âư₫zư:₫^₫º₫Mÿ×ÿ0t!kÿă₫̀ư‰ưTưưư6ưˆư₫ưs₫û₫óÿ˜†9…ï-Mus_ăªLú¬@(»vÎÿÆÿư₫ ÿQ₫Ơ₫.₫„ư#₫YưưüpüŸû¯û{ûLûÚû*üqưE₫Íÿú›?«Ó _XX´Mˆø„“‘>8)fÿê₫ ₫7ư‚ü„û]ûÛúéúÚúSûû×ûVüúüÜư£₫{ÿűe>«3‹»»¦3…m§êJé_3ÿÿ~ÿ)ÿª₫t₫y₫₫²ưư1ưÑü¹üzü[üxü¢üóü…ư₫Â₫bÿ ÍUÜ~̀(L;;ă–VƯ%Öÿ²ÿkÿÿæ₫¼₫…₫Y₫;₫<₫M₫E₫l₫£₫Ó₫ÿtÿăÿ\º)|˜ |G«OèÿÓÿÀÿßÿ<j‚®¢‘k1ëÿ…ÿÿ»₫P₫₫ư×ưĂưåư ₫S₫±₫ ÿhÿÎÿi¥Êư;Tu¸ÁÁ¹ ~ZÂcíÿÿÿ¡₫L₫₫́ưƯưøư₫_₫ª₫ü₫GÿÿÜÿBh’²Íî2Mm†—Ÿ‘sḄ•*ÀÿQÿí₫˜₫X₫2₫₫₫:₫[₫v₫–₫µ₫Ç₫Ï₫̃₫î₫ ÿ)ÿYÿ±ÿuóńV¡̃ëÊ>ËF·@Íÿmÿ3ÿÿ́₫è₫̉₫Â₫­₫|₫I₫₫çưÂư³ưÁưÿư[₫Ñ₫qÿÇjơk±Åº€'¿Léœ_NQf‹ ˆLèÿoÿä₫R₫½ư8ưØüü‰ü£üæüMưÍưX₫í₫ƒÿ}â2l˜¾â*Wˆ¿ê ÿÅhđa¹aÿÎ₫J₫ƯưưNư+ưư ưư ưư₫üưư6ưwưØưV₫ù₫¹ÿtTÇ3cR©…ö|Ú±iD °ÿ:ÿ¦₫ôư1ưhüªûû¢úvúúëú‘ûrüzưœ₫ÍÿñờmÚ  ̃ªxCîÊ©ƒVĐeăI™ÿà₫ ₫mưÁü&ü¥û9ûîú½ú£ú§úÎúû–ûBüư*₫Pÿƒ°Ă³t₫Ok_1Ưlơnä[ß;á±p rÿ°₫̀ưÏüÁûµúËùù‡ø?øNøÆøùĂú2üƠư„ÿ&΅ç’êáœHç‡:âÔ¿¨q‰É̃Ïÿ₫Uưü¯úSù øíöö®ơ¬ơ*ö0÷ŸøCúüưư₫ÿúÑw×ßûÿĂRÂ$ù‡K*¨ñ_ỵ̈ư¢üfûú‡øêöPơ¤óP̣½ñåñ ̣ô ö[øéúÖưXyM =Aå© ~ ơK??#á†ÿ•ưíû,úUøSöô¿ñ‘ïÁí®́¤́íGïêñ@ơøø₫ü5k 3 E‡ÜIÁ\†m-  Qº4ûÿI₫€üúdø!öÄó;ñ¦îQ́Wêßè‰è¯éÖë±îṿèö¸ûæ/? È‹ƒh¼b4¦ñ2 † øŸ\Ù₫¦ü‡úxømö?ôƯñWï¾́ê¼ç̣åüä‹å³ç«êmî3óØøÿMN íü*M’7™́^ 7 vË—₫Dü!ú øâơóDñÀîùëàèÎåLă¯á:á¶âßåêéÜî ơüTu (P5 Z"“"!䩹 {¼yÿưüÇú¶ø”öô\ñrîeëè¦änáßïƯã%á¦åÏêÛđ?ø=?ÂyH!G$‹%˜$"̉â’1· — \đ₫xû7ù*÷Üộñî°ëièüäád̃nÜÙÛ ƯÊàNæ$́ụ́>ûæ6 æu y$K'đ'1&ï"¼‰É døI—ÿ©ǘù̉÷Úơó¯đJíÁéhæăªß¥ÜØÚ‹Ú ÜWàyæÖ́ ôæü¯#1'±)ë)•'“#$R‡ặ -¿Eæ₫3üoù=÷aơ1óJđ́„èưä·ár̃„Û¸Ù|Ù Û]ß"æ%ícô:ưØ£^B$(ƒ*+Á(]$l]d ] Taßÿ₫¹ǜù,÷2ơ,ó—đǿ›èäHás̃ÎÛÁÙ.Ù[Ú̃­ä2́^óûÑy’̣ơ#†'*L+/*-&ó ›{,â ¶ă§Ô₫+ư™ú±÷Wơ\óSñdî1ê³åâTßúÜÂÚ|ÙïÙQÜĂá–éLñâøxé ~ɲ"˜&)›*Å*/(/#œ)<ß âĂ₫eưÓûBùyöøóÀñ‹ï]́è•ă,àÅƯܺÚsÚ£ÛDßæ}îgöùưỀ ë$•'À(|)»(A%₫DÉY² £#Úư¢üû•øíơTóøđ‹î3ë çƠâ£ß„Ư-ÜÛ÷ÛƠƯÓá¸èHñù)x <ă V%}' (ï'°&>#6ùƒ \S˜ÿưÈûjúWøÄơựkđưị́ê/ç0ăà̃EƯ(ƯóỨß«ă¢ê£óÇûH µ u “$$&K&º%?$æ &ßs ÿ ̃'„ÿơü›ûOúgøéơ₫̣Xđ̣íëyç¸ăÉà ßt̃½̃à^âuæ´íaö₫ ( ä¸!#6$Û##b!/ôû÷  ×a6ÿæüCû“ù–÷2ơX̣‹ïắêçä¥ájàxàsáqăöåẹ̈dú§₫/_hör!æ!G!E LĐ 1 åÈôư¶ûúøöôFñ»î́éåæxäËâ_ấâuä¿æêöđö÷ÿĐ ¿«g–. ̀ cÛz"¨ Í¡°ä₫¦ü¯úÏø÷èôq̣đ|íCëàètæ³ääă ä{åŸçëFđ8÷₫º fêH0/x4ươKb ú$tÿưLû“ùö÷HöGô'̣ïÖ́²êè˜æhååáå­çzêÈîiơDü8·² Đ¥}ínÁXœä½ VŒB(ÿü‹ú.ú0ưüÅơœéơàQƯZÚn×üÔPÖ ÛƯâÈèøÅ *p&é%3#G ÎÔ6è ‡ y{°·tô… #¿÷đ́ïơí˜êTè¯äkă…̃óÙyØû×Z̃#â»çîïö[ .==—)ê!ơ.û<} ¦{Y ¨ ‹íô~â~à”ä×́£óSî›í“́(é1ăyƠđĐ`ƠBÜ=è]ê¬đ¾úi9JFBDN/ˆXæ ^:ưÓ Mkl Qñ₫ú2đÖß/ƯçHđ÷Ưđ˜ê ê6èÇă9×nÎÔ½̃Ẃ³ïỊ̂ û¾Ơ9F!AX*ø\\î ư™ ¯!×qÎÿ0ùà́XƯë̃^́jö$úmñî:î÷ë2å¹ÖÍ,Ó5ßëëRđ3ó3üA I.??83ÏƠ5Aø Ä%Öù[₫d₫«öáïä¹ßí_ö?₫¨ù¨ïkîqê?è³ßzÓn̉XÚDæ³ñ¥̣·ùBÿc°4h<â;̉)U 78;}™ó,üdøßññ́âåỰÖü»ùơñDïËêæ}ÛÛÓđÖºß}ëẸ̈¨ơ³üưÿÎ169:À%ßdëq±ơ8,@ä₫äú,öÁóí°âgç§óEéú€óÇîÛë¡éÅ̃~Ø×̣̃ê˜̣Åơüƒ₫Éz,Ñ6%;Ñ)2Á› Y¶ ¿”~Zÿ^û³ö´ó„îúăJçfñ₫{1₫̉ödñ îÏíå³Ư±Ü>̃ÓçŸíúó!ù«®.46đ8|'ÈW  èÆ̉   ÅưÔùƠóP̣Û́‘æ'ëƒóï₫H₫ ø6ñˆîNí"æÔáxàâ3éơîˆö[ü₫̣ .”8Í7‚$FBP ùO₫₫ưtœ Å₫üº÷†óô‘í¿è{́Æó~W°₫¨øØñ¼ñŒïTézäcâ ä̉éQï3ö±ûixĐ+w5\8=&Â_̉©1üûú¾ú sw₫Eûơ"ö9đ:é́pñ¥ư³ÿÑûuơ\ơ\ó¹́¬çtạ̈å³éßëỴæ÷©æY–&ü0 :-Œó₫ùd₫¨% Z ”OÿöyôẠ̈ ́êë0î÷Fµ_ùIöúơñÁ́QæJääæ*ê%̣ øÊ₫i:Çâ,-62ô+è6ơöú5ñwZ/ûÿơ{ö¯îZë±́ưñœÿ66₫î÷´øô‘îmèœăæ´éKï÷sú̀ 1)„0Ÿ4."—Û XùZöĂư=( · 37Íø€øqó~́đ́Ëïû4É-úFù8÷˜ñzëùå'äUçÎêóœø0ÿp8 *#l.˜6M)ôz×®äûơ¿øƠ₫› ’$üëúøñîîBö¨ÿ÷Ëeûöù ùŒơï?çÇâ€ăhç[ï¦ô"û7ÿO^!W.s8._l Éaû¹̣Óö„ü±Ë ₫`û ̣åî‚í†ó¼ưW₫ƯüŒùIùơï;è=áưá åCívô)ù*ư{7_.Ï9"2 ë¹ Œ ₫}ọ́Ơ÷—’  ~uđÛÿ ù‘̣î1đ/ùçư¸ÿçûO÷¶ö}ôËđê0áÊßöáTë ó½÷‚úÉƠ¹/s=t5»#±¿ `ÿọ̈lđƯó}·  Ơ 'd¥ü2öºîëîÂơú7ư9ù6ơ„ôóŸđ€é‰à—̃áxẹ̈lö÷Ọ̈4A’5.&<4™ Ê₫©̣Fîqñ^ÿL 3 dŸüÿùđ;ïó*÷sú=öMó¯ñWđpï<èjá]ßâ²ëñXơ‰öj¥ s6HA6‚(́m wÿ©̣IíFïGüƠn Z y³Î‚üẠ́Qï‚đFôÙö¯ó¤đ¥îưí|í>èăxà·ăƒë{ñ!ơ$÷ !‡7¨@P6Ï*rẠ́ ;×ô;íîˆù†́VÚ* Yeíöêñ–ị̈½̣^đ¨íë_êéIæ½äAăçḰÀñLơGûĐ³#Ô7=5]+u° àöØîïưörưJd(ÜXÈúöôîđgđ·ïGíXë}è·æFåă6äåñéî/óöô0#(+:ë9”4€*­± ÷qî'đ%ơ¥úá;œạùqüÔö•ñƒđ©íÜêïè÷ä‰ă¦áçá¡äjçóëđ ôøûz.±:’8&3( †» 9Röüî>đ|ó\ùéưßÿt$Ÿ  ₫?÷̉ñ’ḯêçÑâuàó̃á»äñè…́Ùđônü Å"²5̣;8b1Ü&µ1 ÿtó í=ïḄ\øÓû-₫ A˜ƒ Ô‘ÿ.ø½̣³ïØë­éÛååà_̃BƯdàæä]ékíÄñơ«¯‡'C9=œ8¢0&'T ₫̣́ƒ́™ïö¸ùü₫ÿ\². ±UúÈó¶ï˜ë…é å à}ƯcÜàÄåÄê¡ïÊó_÷„¸‹)B:¤< 8/·$¿h /ÿ'̣që”ê&í«óY÷}ú[₫Bmùx@ü̉ơXđ́?êæmáÇ̃ƯÎàwå–ëÖđ¥ơ½ù£!(8×;Ç7£.Ï#ˆ Úíó{ëüèGê¹đUơ×øư†ÿ“íø\Û₫ñ÷’ñË́MëhèäáÉ̃_áßåØëñ öáùÚDÍ#D4h9«6-/Œ$89 á…÷ííŒéªèwí%̣íơ»ú/ư nAEzû»ơ•đnîÁëDçÅä™áºâPæKëđ'ơÄøªÿ`)´-.5¿4^/É%-ø̉¼ü›ñ`ë?èëÙïßóøIûåưë\=ù8₫ƒùzôÅñÆïƒëôèĂåïäÀçóểïÏó¹÷<üt̃$/‰0).''ít@ ̣Uöïœê…êî>ñ¡ợøgûÿơᲪÿ ü˜ø©ơkó`ï‡́ûéèé"ëTï³̣Ûơ†ùC³:(…,+l'| µ–‹{ûX̣ÂíwëDíªđqó÷“ù¤û₫₫ƒq¢˜ư€ûùZö•óµïä́ ë>ê'́ñîUñ÷ô=÷z₫¬ X±#¶)~(̣&®!Ơ>~9†₫pôđWíù́Åï®ñ¨ô~ø&ú„ư¼ÿ«ÿˆĂ₫ư<üpøơ~ñƠí¸́ºë2́·î$đ¦óÆößû¶ ë!)Z'ñ% #¸b&¯åÿtơ¿đ!ïíî„đ-̣ˆöYù!ûG₫y₫ÿçÿwưư,úơóïí¢́6ë¾í´ï‰̣oöÄüg ½ ",) ' 'K%= ­m±ú₫áơßđïí-ëqë_ïÊñöóø·ø¿ưÿ¹ÿüư8ưcú×ô0óœî·ë5ëÔé́gï\̣TơÿiƯ%N){&+ü&c#}*kưñôUñœê6çbéîUñøôäơËöu₫̃æ#Ùü¯ư¹úNơ<ó₫ê»è/éĂè3́₫íËđưö “ +½(+ 2Ó(N$¤&ü¥ñ́¹â/ă¼éÙ́™́”î­̣çø/I© \Vựîê²çºéGç1çƒíỆ#k×$k.-Ï4½2í#Ÿ€ nơªèæûá#ă}çââå\ïơĂû3Úÿ"#R₫Púqô˜ñeđáëñéê_đ]̣}ú ¥k–$À'g%#+$Đ –ûDôí>êÀéđçèÇëäïLóË÷ư&1ås™ xÿçCûÄùÛưÈơ9ơŸûlûgøêửsˆÑ¾‹ ˜ ¼|ªă é ‘¡5[)¤wSŸ;₫Àü¾û7úŒø÷#÷đö̀ö÷öÜ÷-ùQú̉ú8û üÜüÔưG₫ù₫«ÿ•Äîÿj ¥ æ ö ù r ¡ ” r¼M¯Ó₫ñüÙûû|úúíùúÈùUúsúụ̂úóú/û«úoúùéøôø{ù`ùpúÂû¿ü₫™ƯÓD; : ï v  ½  •1g»i¹uÿÙ₫F₫₫ ₫ùư·ưư…ưçüiüÏûÖúóù)ùÅøZøøü÷cø₫øÎùûWümư²₫ Qm¥ [SäÊùUUgAÁ3Èåwß₫Ñü ùû¥÷uù÷,ù›øzù:útüfưx₫ô₫§xÿS`₫ơü×}üô'ư9zµüÿÆ̉夈̃cÂÀ>̣²ưÚ#₫oÿb₫°ÿĩùRựư›¡ûù$ư+øïơ.öù¬ưxû>₫VÿœQ‘y"´©Û˜Ü§Ë™UàÿƠÑg3I<÷\`>zÿ²û+ù÷ơßôĐó¯̣§óƒô©ö ÷ øúÏû–üă₫TÿwÿđS–¦c€` ºY ÿ|ưûaöùơ¬ö7ñ'îưî*ïÊï6ïºïóµô£ô¬ơlöDö.öơ¯÷eùÊùWû®8§S"‚'¡$¢ÔÉ ×¨ÿ₫úơg̣yđƒ̣†ö óGój÷¬÷÷ö“ös÷ƒùNơñœóóíê’ë́ZîIî”óøMxSA"^.+2i.·' "³êgü[ơéîđêuë*̣6ô™̣÷MûjûÁúÎù¼üŒüEöµ̣(̣pđ́àæ¼çëăêwêùđăøoüPê#0-í1€4Y/Ư"™ ₫„ö÷ï`îfé@í ơóêôßø´ù2ûjø÷ût÷Øó™ñ#ïùî+êuç‹ëäê¦́NđÚô¬û¡¬‰"É%3/́3å1„,;|øŸ?ú•ôÊîºíêî}ø¯ơªöhûçüyüù÷ơọ̈ù8ô™đVđQ́=́-êAè¿ëḱÁîậ§ơªüI-#®$­+j521,Ä!ÉM¹èøUöêïí³́ó́ö„ú₫ø,₫7ÿ ÿư÷ øölïÊïûí₫èöéCé‚ëÙí„íụ́0ö/÷ÿ=¢"—$i*H2̃1h,¶ ƒW÷ló>ï¨í„íäî¿ö4ưđưÏ3„₫ôøÊơ-óûî¨í[íëÀéœêíḯị̈ÇöùûP­Ó#¼${,Ñ1¼-&£núóËñ`îbïÙđJơ$ưxÿ¢đ>û³÷:ơœïíríí¾íIê~ë¢ññ!̣öóÉöÿùêùû–©  <$˜*ç/Ö.¿" $m¸ùóađg̣Ç̣ÅóúÁSp=4£>ûởôØñ†́Dí[đ°ñÔđêíñ°ơùñ¥̣wô÷¹÷Ûöús»›º%+Û,_(»XîÙựơóøñÀöâøÜú#Ä qÿÖ+ÿj÷Yö₫ó§̣óBñôöưóqô-̣âñẠ̈Đï.đhófóRơ´÷f₫Oh$á)^)9)< íƯ₫"ùgöˆó8ú·¼TUl‹:üáù”ûù$ö2ơcö(ùÔ÷¾öÆ÷́÷ºöẹƒï§î&ídícïGóëơŸøüû¨æêƯ"÷%Å#n!R’ v‘₫üäûúZïúEø₫¯øNøÅ÷ô÷£ú_ù«û3ư[úsùÈöyơøôBñ©đ[đØî›ïÔđ ôkøÍù£ü‹ưQ„ưJ!ù “ÿ] +ÿ­₫đüǘ’*Ïÿ ÿüH÷êö́÷yù:ûüúưÛ₫üÎø¶ơSô8ôø̣™̣zôàôùóZóôªöTúhûdưû₫  º( $ :÷L ÿ\üư-₫0₫èÚô:₫üúi÷pöA÷áù#ü~ưđ₫Uÿw₫¬û£÷[ơçôZơ˜ơëơC÷/øÉ÷Nö ö§÷³ûCưŸüxưáúCØPĂù p…ư¤û¾₫+<‚HŒ́ü'ùî÷X÷Y÷1øbûEÿ¥¾—-₫èùöxơ,öÇ÷zø•÷ø:øSö—ơÏôµöôù8ûÖưûÿé¯Zp!€̀^ .ü¤ø¿üïÓSÔ¬Rüä÷Ïöµ÷đúÅûRưû©É‚åưvü—úç÷Đơéô›ö+øø÷4÷´÷Xø&ø ùúwư›ÿywO8R‰ÆO# tüTøû5•Dưù±ơ¯ơåù‰üÁ₫ œ‡Íÿ ưü`ú8ú¾ùOø´ù‰úpûûqøơ÷ødøxùfù–û“₫Œÿ=꡺ZQy K%iü‰øÁût8a_₫ơÿ ₫‚úM÷S÷Mü›ÿÈß·<x ₫8ûAúûÈûúù–ùÈúgû›ùø)ù¨ú¬ûûûäü—₫æ₫GưS₫Â'ÅÜ gYÀüfûç₫B Z1è“&ÿÆûø6ù5ü`ÿ~§ÿœÿSÿ`₫üDù¦øèú̃ưwÿ(ÿ$₫ư‚üÜúïøøÂøúÅú«úvú ûûüËû₫! ó‰pB ́9₫9ÿ/(9+”ÿêưNûùeøùú¸₫ iSÿ ÿưÆúÏø†øăú₫üÿ×ÿ˜₫±ư£ú÷ööùîúûûŒüzûaûqû0û§ưÙ? 7‰â  f ÿ8ƯJ%!₫¦ü§û>ù>ú†üÿkwTÿ.₫˜ü ü*úùƠùûÚ₫¸cÉ›ư«û5ùM÷*÷Àö¥øûümư»ûëùBúÉûêÿD »‚ 2 ¯•£ưT̀Feÿvư…ư0ü7ûfü!ưLÿÿ*₫eưoụ̂údú ù́øMùmû\ÿù¢/C₫¡üÎúíøå÷C÷Qù<üÿưM₫iü‰ú9úƠúư>ươ l½i1 R4k·PúN¯Ô₫¾ư@ü£ûüưÇ₫^ÿ>ÿ₫¤ü û´ú”ù´øFø̃øzúüG₫6†₫ü>ûÛúaú·úüÄư6ÿä₫ñüÑû–û"₫P‰]" É  X¯Â7]ÆîÑ'7§ÿn₫”₫c₫x₫₫₫®₫Â₫Œ₫₫¤üàû>ûú•úùùåùeúúú´üëưµ₫aÿÿÿˆ₫…ư^ưưÅưá₫„ÿhImÿh₫ư2ư–₫Aß̣́ùvư¢H­0§’ퟄ>;̃ÿÖÿùÿŒÿ₫₫ưư×ü;ü`ûËú6úyùùÇù³úÊûHüµüóümưE₫å₫_ÿ­ÿßÿpÔÙ•Îÿ ÿT₫ưGưtưS₫µÿz¹¬›A]e—’jû1]×7‹Áw sÿ¦₫ïư:ư‡üŸû·ú ú”ùNù(ùOùâù½ú†û)ü¸üưp₫>ÿ¸ÿáÿ]£ NÖÿaÿë₫f₫ñưÁư ₫¸₫ªÿÂe¡™Uë`¥°yûMnvlg~³mÿá₫[₫ÙưYưàüfüíûmûûú£úsúXúZúú û¸ûoüư´ưc₫ÿ˜ÿñÿ1^ƒˆ`Äÿ[ÿä₫a₫ơư¿ưÍư*₫¿₫˜ÿ¨Ö $ÆWŸ“OÄ!MûÿfÿÙ₫Z₫ôưưư£ü-üÚû›û]û"ûøú û[ûĂû*üƒüôüư*₫©₫ñ₫)ÿmÿªÿÎÿ±ÿiÿ%ÿä₫₫G₫îưÆưàưG₫ä₫—ÿy†®ØßÄ@¿ä¹P½ ) D‚´ÿñ₫K₫Ïưiưđüpüúû¨ûvû;ûûÜúéú-ûƒûÜû>ü®ü>ưÔưW₫Ă₫ÿmÿµÿàỵ̈ÿÖÿÿaÿÿÎ₫}₫7₫₫:₫“₫ÿ®ÿxoƒ™‡[~¥‡4­ó$.>[ÿâ₫H₫¸ư8ưÏü€ü/üÏû~ûNûGûNûPûkûµû+üªü ưcưÖưa₫ß₫'ÿHÿlÿ—ÿ³ÿ‘ÿ8ÿä₫°₫‹₫U₫₫ưư-₫Ÿ₫"ÿ¦ÿQ=ZznF̃v©-ÈE~ox ÄÏÿè₫8₫ÀưVưÚübü üáûËû¡ûuûlû•û×ûüIü—ü₫üqư×ư%₫m₫º₫ÿ0ÿ>ÿ?ÿ5ÿÿï₫¸₫₫P₫8₫6₫J₫‰₫ï₫xÿ&̣ÔÇÁ³GÛ:aJûỳ/=V|±ÿö₫R₫ÄưHưáü‡ü?ü üâûÊûÇûÚûùû"ü[ü¢ü÷üMư˜ưÚư!₫f₫™₫¬₫¯₫³₫²₫£₫|₫E₫$₫₫₫₫₫Y₫Æ₫KÿØÿzB21ÚœVç/5ËdÍ₫:e‰¢Çÿ ÿo₫ïưvưöüüJü$üûûÏû¼ûĐûüJü}ü«üơüWư«ưØư÷ư$₫X₫}₫‚₫l₫X₫R₫I₫'₫ÿưêưóư₫O₫’₫đ₫oÿÆ<Ù²v yÈöñª(÷S£¿úFÿÄ₫₫ư0ưßüzüüơûôûøûøûü*ü{üÛü%ưTưŒưÖư₫;₫A₫;₫5₫9₫9₫!₫öưÚưàưưư₫"₫=₫₫ ÿ¸ÿ/«aO)ÂBå¨CxmhrA©à0¦+8sƯÿEÿŒ₫ƠưUưư»üaüǘû́ûúûü!üdü²ü₫üAư|ư½ưúư)₫B₫P₫h₫r₫a₫I₫7₫8₫<₫A₫M₫k₫®₫ÿ₫Cÿÿ₫ÿ’%©8Öz…íNƸ”`‰ûfËq¾ ]ÿ·₫&₫¬ư?ưßü‰ü[üJü4üü+ünüÈüư/ưnưÈư₫;₫9₫>₫c₫ˆ₫w₫@₫#₫0₫G₫>₫-₫B₫|₫Î₫ÿNÿ–ÿ|ôx ‘úN—́:K.ÑŒŒơ^Ñ3Ëÿ!ÿ₫ ₫˜ư3ửü‘üyü{üyüoü…ǜü!ưfư‰ư®ưêư)₫K₫>₫-₫?₫U₫X₫@₫/₫<₫T₫x₫ ₫Ç₫ú₫?ÿ”ÿéÿ,sÂ!ơH“ñe¿ư.V‚˜W«UèW©vöÿhÿ¾₫*₫̉ưưdưữüâüư%ư3ưHư~ưÁưîưùưúư ₫₫₫₫ëưèứưïưóưúư₫N₫₫̉₫ ÿJÿ¡ÿa—Ê%¡T‡çlß>«‰.̃LÆl×OÁÿ%ÿ”₫₫Àư€ưHưư÷üôüư:ưZưuư”ư¾ưâưöư₫ưüưüưüưûưøưóưđưüư₫E₫p₫₫Ö₫&ÿ|ÿ¿ÿóÿ6ÜG”ùXœĐ„̉ø$E;ư¢NótÖ<±*ÿø₫€₫$₫Æưiư+ư ư*ư,ư(ư;ưtư¬ưÆưËưÜư₫₫₫₫ưéưëứưăưÖưÙưüư0₫d₫˜₫Ó₫&ÿˆÿáÿ+sÓF¦ê1™a¹YvT+¸¸G’ÿÿÄ₫?₫–ưưöüûüÛüüŒǜü(ư_ưlưŒưèư\₫¡₫¡₫Ÿ₫Ó₫ÿ(ÿư₫Đ₫×₫ÿÿù₫Ø₫ó₫8ÿkÿpÿoÿ¢ÿúÿB]o·%y¦×4«2\ŸèüÔ ‚WôhătlÄÿ5ÿÍ₫p₫₫ưưMư6ư$ưựüư<ưzư¢ư¾ưöưI₫Œ₫¥₫ª₫¾₫ä₫ô₫ă₫¾₫«₫º₫È₫¼₫®₫½₫ï₫)ÿTÿtÿ¯ÿ j¯̣J­W¦óHÉâ¾v)ÊK¶‰|ÿ̃₫T₫ñư¡ưTư ưƠü½üÅüƯüîüưAư—ưăư(₫p₫Ă₫ÿ^ÿÿ¯ÿÉÿåÿêÿÖÿÀÿ·ÿ©ÿÿtÿbÿ`ÿfÿgÿjÿÿ¬ÿ×ỵ̈ÿY¦é%iĂ*¶é5zŒrQ;¸6±GàX¹ÿ0ÿÏ₫₫)₫ËưƒưfưjưdưQưSư{ư³ưăư₫0₫j₫°₫ç₫ÿÿ<ÿYÿkÿjÿ^ÿQÿTÿVÿFÿ6ÿ8ÿEÿSÿcÿ{ÿ™ÿÅÿüÿ2e¨ùHÚ-Ë/Vx}^/û³Uáfíwưÿyÿü₫₫S₫₫±ưvưeưdưXưLưWưƒư¹ưéư ₫6₫₫̉₫ ÿ+ÿNÿ‚ÿ³ÿÉÿÈÿÆÿÍÿØÿÏÿ¹ÿ°ÿ³ÿ¶ÿ³ÿµÿÆÿ̃ÿơÿ#Lw¸àIp¾ø#4A\n`:ïĂ‚&̀‰LúÿœÿQÿ ÿú₫Đ₫Ÿ₫{₫q₫r₫k₫_₫Y₫^₫a₫`₫_₫V₫J₫@₫5₫)₫₫₫₫₫₫'₫=₫]₫₫̀₫ÿ\ÿ§ÿúÿ\» ]¶W“Åù,PYRON5ø«bÆPÍ]₫ÿ˜ÿÿª₫V₫₫çư§ưtưfưuưư~ưˆư·ư÷ư(₫H₫q₫¶₫ÿ6ÿPÿqÿ¨ÿßÿùÿùÿüÿ%'ưÿ".<J_{•¨¹Íè&7Sp€†•¬¾º§™”ƒVƯ±x ¼ÿdÿÿƠ₫w₫₫¾ư‹ư\ư$ưíüÑüƠüçüôüư1ư~ưÏư₫b₫Ă₫7ÿ¥ÿ_Æ4’Ô Jˆ«³®­ª”f2ß«k1Ó¤wP.íÿËÿ°ÿ—ÿtÿMÿ%ÿÿä₫¹₫‹₫^₫<₫₫ûưÖư¾ư³ư±ư²ưºưÎưôư%₫Z₫•₫Ú₫,ÿÿÔÿ&{̉#i£Ø 5JQRSI0Ü·Y߯ƒNåÿÁÿ¥ÿÿ\ÿCÿ8ÿ-ÿÿÿ ÿÿÿ ÿÿÿÿÿ ÿÿÿ ÿ ÿÿû₫ÿ ÿÿÿ$ÿ8ÿRÿjÿ‚ÿŸÿÅÿîÿ9b¶Ù÷5KX`fiaTB.úØ·•rN* íÿĐÿ²ÿ™ÿ†ÿuÿgÿYÿOÿKÿKÿHÿHÿJÿQÿWÿ\ÿ`ÿgÿnÿwÿ{ÿÿ†ÿÿ“ÿ˜ÿÿ¤ÿ¯ÿ»ÿÁÿËÿØÿèÿöÿ%9JXhw…‘˜£§¦ ›”Œ€qcUG5!öÿæÿØÿÎÿÄÿ½ÿ´ÿ­ÿªÿªÿ©ÿ¨ÿ©ÿ­ÿ´ÿ»ÿ¾ÿÆÿÍÿƠÿƯÿäÿëÿñÿøÿüÿÿÿÿÿûÿùÿøÿöÿöÿơÿôÿôÿöÿ÷ÿøÿúÿüÿÿÿ   ÿÿ₫ÿ₫ÿ₫ÿ₫ÿưÿ₫ÿưÿüÿûÿûÿùÿùÿöÿ÷ÿôỵ̈ÿñÿïÿïÿîÿíÿ́ÿëÿëÿêÿêÿêÿëÿëÿ́ÿíÿïÿñÿñÿôÿ÷ÿøÿûÿüÿ₫ÿ  ưÿûÿùÿøÿöÿơÿôỵ̈ỵ̈ÿñÿñỵ̈ÿñỵ̈ÿóÿóÿóÿơÿơÿöÿøÿúÿûÿưÿ₫ÿÿÿÿÿÿÿ₫ÿÿÿ₫ÿ₫ÿ₫ÿ₫ÿüÿưÿưÿưÿưÿưÿüÿưÿüÿ₫ÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿ₫ÿ₫ÿưÿüÿưÿüÿüÿüÿüÿüÿüÿûÿüÿûÿüÿüÿüÿ₫ÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿ₫ÿưÿüÿưÿüÿüÿûÿüÿüÿüÿüÿûÿưÿûÿüÿüÿưÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿưÿưÿưÿưÿüÿüÿüÿüÿüÿüÿüÿüÿưÿưÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿ₫ÿ₫ÿưÿ₫ÿ₫ÿưÿưÿưÿÿÿ₫ÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ 9íÿ! ƯÿëÿñÿæÿÍÿ́ÿåÿ́ÿưÿđÿôÿùÿ÷ÿ ÿÿ ûÿüÿơÿôÿûÿöÿùÿñÿùÿûÿïÿơÿøÿûÿúÿ₫ÿ  ưÿÿÿÿÿưÿ₫ÿưÿüÿÿÿưÿúÿûÿ₫ÿûÿûÿÿÿüÿ₫ÿüÿưÿ    úÿøÿùÿóÿîÿîÿîÿêÿçÿêÿéÿéÿçÿíÿîÿíÿôÿöÿúÿüÿ  ÿÿøÿ÷ÿóÿíÿèÿæÿăÿßÿƯÿ̃ÿÚÿÛÿƯÿƯÿâÿåÿçÿ́ÿïÿôÿúÿüÿ & &#"&# ûÿ₫ÿóÿúÿîỵ̈ÿïÿñÿëÿíÿôÿäÿÛÿƠÿïÿưÿñÿïÿ÷ÿüÿ   ÿÿùÿôÿïÿôÿèÿäÿăÿ̃ÿàÿÜÿáÿßÿçÿèÿêÿéÿñÿóÿ÷ÿúÿ &+3AJQT^XSH?6' ùÿèÿ̉ÿ½ÿ®ÿÿ‡ÿxÿlÿiÿaÿ[ÿ]ÿ_ÿlÿuÿÿ£ÿÀÿ̃ÿ÷ÿ 4Kmy—ºÓƯßíææ×϶Ÿ‰i@øÿÖÿ¶ÿÿ‰ÿjÿbÿ6ÿ1ÿÿÿư₫ó₫ÿÿ#ÿ,ÿOÿeÿŒÿ¦ÿÉÿçÿ,C\|“¢µÍÔÜụ̂دpR2üÿÙÿ±ÿÿÿlÿ_ÿYÿMÿLÿHÿFÿDÿJÿTÿZÿjÿ}ÿÿßÿøÿÀÿ·ÿÇÿƠÿØÿôÿ/?\d^^n„£˜dO='üÿøÿ,VK8- ưÿöÿÿÿùÿÛÿ¸ÿ®ÿ‡ÿ{ÿƒÿ•ÿ•ÿ•ÿÿœÿ ÿ¡ÿ´ÿ̀ÿáÿüÿ.`2ØÿÇÿåÿđỵ̈ÿ03=L8!EE[QI@++'4A6÷ÿøÿèÿéÿáÿÜÿçÿÊÿÅÿ¬ÿ¸ÿ¹ÿ¸ÿ½ÿ¾ÿÁÿºÿ¼ÿÚÿ̃ÿéÿøÿùÿâÿûÿåỵ̈ÿ5ơÿ 27.@B/2üÿüÿưÿ0 ¾ÿ Çÿ'£ÿEwÿ[(ÿ·º₫wăÉư™₫®¥₫ơ"ÿ,7ÿ,ÿëÿáÿ Áÿèÿ¨ÿÀíÿqg¥Ûÿ¿¹ûyˆû½éûJâû¿;ÿ¼ÆüØ7ÿQưŒhÿ ₫‹₫¦₫Çç̀ÿuT₫°1₫au₫Îÿÿr4₫³₫»2ÿ'èŸÿvÅÿUư½ư;ÿ9₫0‘₫ïûdùöúøưMûÖü¼₫ÀÿƯÿ€—:•G óHuÿ̃ÿÊjÿ¬₫YÿÇôư#È4|ïf'W₫Gưư}ưßÄưÿBÿBqÿ`₫ßËÿÈÿ¢ÛÿªêÿÎÿ½₫ĂÿÜÿÿ…ûÈBưƯ₫kIüưâ\ÑpưVzV₫¾₫—ï₫üüRC₫Øÿ«ưÚ̃,ÿ‚j₫(ÿk†üoID₫=3:€ü9₫î₫-₫‚₫ŸơPÿåưWÂư”ÿzoú+ ÿë₫hyvüØHÿOǜü*ÿ9₫¹Üư©nZÿ ₫)ưÙ€̀ÿ°₫"%üñ"₫ˆÿVÿç¡₫!ÿyHü‚ûư÷—dü#-çưF₫ó₫¸(ü@,ÿIơû%ÿÀïư¦ư´]ÿ0ÿÔÿ]>û{pÏ₫tü"ÿ•ưÍÿ¼|ÿ‰ÿÓ@²ÿø²3V?ˆaoËÿ¥Ô₫₫tĂù¯ư¾ü4üûö±ûÄú€÷ü"û#ûú ¶ùü'ÿÂ]₫s BJ ñB bwî s¸ gª÷£ôWï¯́è å*èUè6ê³ị́øó§úüDÄ\ ƯÆ©  f $Û å¼‹l?k$”—g ̣₫`øđcäË̃©Ü½Ö\ÖvÚÏ̃#ă èẸ́¤ú*ưÊ . û ™Û ¸ Ôÿ •M}ÛKJ£̣ù ùưü×î=â@áBÚẺƠ¾ØsÚ.ßçóíGóúÿß0 vQ d °ª·_₫×ƯÖœzΤÏA5øKêäß™Ö{Ôëי׿Û\â2è†íị̈ÂúÔÖA°  µ Ê‚Î!A!ëÇo1h¨– ;3ûö}ëâaàkÛØ Ù̀ÜÛáÑä1ëHñÂôKù)ÿÜ̃Ô `º5h!h#Ñ ¨"3"ÄDéÓ äÿëö}ñ0é_à¨ỮÛÙ3Ú÷̃Cäüèœíô[øDû7ÿH4\ BÁLˆ N!<#Ê"> ?ăè y+øñ êå à&̃¹Ưd̃{áç¥ê'ï(ơ:ø°ú0ư­s{YV ơđG¡M 6 ~!§ ³Ÿ .Ä÷Éñ¨êFæâ!à&áâåă é̃íañóôøbûÂüư¹₫vÿwÿj (U1!&!n!^ ±ĂI¶Øư„ô(ïơèå\âŸáxä(ææémïỊ̈—ö ûFû¹üưÀû"üüÏø€₫~ Ÿ 2¿É!,"p!z!-¤ ø²ø`đ³èFå…âŸßoâçëwñ8öÏú>ÿ=đÿN₫̣ûwø÷]ơÓø" xJ ´"c"¥"6M …(ù’ïQçâYàh̃áhçèíÎơOư¬Yj¯‘ûø±ñ̉îöè̉í‚üCư¸ª!f&&”* '•̣¨ ư›ñ†ä¹ƯƯÛÖÖßÚçxø‡Ë (iB{ ơ¨ưƠñ†éŒâÄÛÊ×óå5đ ơÀ©"Û,è014C8X.# Qùù"ê'ÛÖUĐ1̀wĐà× ä'ó̀wvf$ø%ë ô :ÿô‹é\ÜkÓ͸Ñ9ăJébơÛ <™*!58‰?5>O0$Ṛ̣û̃̉Í7Ç·ÆÿÍăÖètøW ÷!,‰.?0W(©‰TưÀđƠä_ÖôËuÅľÖsåäîPê¦+—:>KB G’:@+?8Qö·âäΫÈ_Ä¥Á«Ç̉Ï[ß6ọ́̀,µ6:O6#,2!W0ú³ë5ƯMÑöÆJ¾G¿(È1ƯeïđÿĂ«+;KEÙGóGD4‹ v ­øpæ¶ÓØÄÆ¿ ¾ÁÉ×ÙéåưÙ //û=ÔAZ;è/’#ˆ—ûƒçØÍéÄ5½®»nÂLÏcé2₫3)&…8GE¨L‡IDC<,(}´ưĐè-Ù É ½±¼:¿˜ÆÔÓâ|öo ö«(¿4Ö9I>@9W-^< !ùIè€Ö5̀–ÅăÁÎĂÁÇIÏ-ăß₫ơ/R<ÜEDQ;[5–(Û́ˆß}ԘǷĂÚÇ7΂Ùöä ô Ri |*Ñ/J3‰0&ŒÀŒụ́åÚîÔ$ÏHÎtĐZƠ…Ûßëfê Ù4'_1đ7t5î-.*q-ÇÿeđØæµƯz̉ÏĐ¿ÔMÙâ?ë ø1λN"„%V&Ú"è¶~ 1ºö{íêæÊáUƯ¸Üữá¼ä…èP÷§ 2ëw& *$¼sËO0ü«ñ2́Aä Ü0ßÿâLåĐ́ĐóÜ₫u b% á;†¾ 9ùú7ö{đåí‹́©ềí'đ|ñiơAø8û,ÿtfö ËÖàt{/ m4ưíù›öĐó½ó ̣7ó÷“ø)ü‹l¬W Ü © & ¨Ù‹ÿ¬üúøHø÷éơZ÷6øBúư\₫k÷*çvư‘ºDqZư«úgøNơ)ôëñ‰đḶèùÆ[À XÚ–Î íÔưöhđ¾ëWếëêëóïd÷Ÿüùñ{ ï~QÎ ¾₫·øæôXñïËđ/̣&ơ†úø₫pX 0 Qrq Ø °(÷₫ăù¬ö)ộó8ô‡öµú?₫ƒPN¨ 8 ô ¶Ç¢äÿHüIúßø­÷“ø›ù?û%₫:…·}2u«j ₫Vư-ü}ûKûNûÑûTü"üèüçü¦üûzøôij₫ư¢ óÛ Î ¯ é,ăüé÷SùOơ¶ơ¥ö‡öfüéüÏ₫våbư¤¦ä{îûYú5ûêømúæû€ü‚ø {!,ذ²₫ ÿˆư₫Hÿ¥₫úÿ…vM0Hg₫à₫à₫&₫í₫ ỵ̈ÿ5“º̉ơØÿ ÿúưĐưŸưsưÉ₫´ÿ§G3 Yäavÿ&₫…ü‚ûûụ̂û?ư•₫aºÿă½u¬Cóÿm₫uưư­üưÔư×₫ïÿÿë™®­XÁA«K-ưÿÓÿ¸ÿtÿDÿÛ₫c₫₫ưWưnư´ưs₫€ÿÀ¸uƇïö´\ÿ(₫BưÀü¶üùü¨ư©₫ÿ€PÇ₫ÿÅ}«{?ơÿØÿ¹ÿ{ÿ!ÿÑ₫¤₫I₫₫2₫w₫Ü₫ÿb*Ód²•@½Azÿá₫’₫₫C₫e₫u₫Ú₫-ÿ£ÿÔÿœÈƯ@C2®>¢ÿÿ₫<₫₫ư)₫u₫ô₫ÿS î<;ø¨;±¸ÿJÿÜ₫‹₫b₫:₫!₫8₫†₫ï₫Yÿ Å5¦̣ÉDÈWÿÖ₫k₫4₫<₫e₫̉₫Dÿ¾ÿR½j—­’]¨%¤ÿÿ¬₫_₫2₫9₫p₫Ê₫JÿÏÿTÑ!RW9µbÂÿqÿ;ÿÿ÷₫ÿ₫%ÿfÿ¼ÿ%•đ0YU!ÈVÚÿ\ÿñ₫®₫₫”₫Ä₫ÿ~ÿîÿ[¸ư*ă¡ṂÿÿHÿÿô₫́₫ ÿIÿ˜ÿüÿ[µ÷ú¼m¼ÿpÿ2ÿ ÿư₫ÿ/ÿnÿºÿd¯èúÀvÄÿuÿ4ÿÿÿÿ3ÿjÿ§ÿ́ÿ.j¡»¾´“g!ÜÿÿhÿHÿ>ÿPÿ{ÿ¶ÿ₫ÿ@{¶Ïɾ¢vLéÿÂÿÿ†ÿuÿtÿ…ÿÿÿÂÿáÿûÿ 01ôÿăÿÔÿƯÿăÿçÿøÿÿÿ "*=KNWC) ôÿëÿçÿúÿóÿđÿ 12*%åÿ²ÿ‡ÿ}ÿuÿqÿŒÿªÿËÿäÿñÿ-Oh~ƒgFøÿÜÿ·ÿ­ÿ®ÿ§ÿªÿºÿƠÿ₫ÿ?Y`kjWL>öÿĐÿ«ÿ€ÿmÿaÿeÿ‰ÿ³ÿÖÿ/IUhv„‰qX3üÿËÿÿÿ„ÿzÿzÿ¤ÿÓÿ5Kr‘‡qAËÿÿ€ÿNÿ/ÿ@ÿ_ÿ†ÿ°ÿôÿ)Tn‰¡rWGûÿÓÿÀÿ»ÿ”ÿ†ÿ†ÿ~ÿ‡ÿ³ÿ́ÿ&X‚~hYH#íÿíÿúÿèÿÅÿ°ÿ¼ÿ·ÿ¬ÿ³ÿƯÿ,#TBÚÿËÿƠÿèÿÿỵ̈ÿÈÿÁÿÉÿăÿ >¢¡qM 2Úÿñûăÿ6Ư₫îưJưư)ÿOÿ ´9qÿ)ÿư₫ ₫iÿ; ₫u2ÿ=ÿ+ÿ«ÿ)ùw¨­VÉÿmÿD₫Öư$ûÍùTúC A M °¾û‚ơ÷ü2ü ˜ ×ø¡ÿ´ú øEönûÿK(XZÿpû§ú¶ù—üÊ4̣ï;\ü,ưñÿIÛ—„ÿü~ú‘ùBúœư_ÿ´¨*%q₫û5ưû₫ ùYù²́ È-}ÖrĂúÖîÔèûmûà₫/¶2´•ơ3ó§́åó·ÿ̃ º«ÿ*÷“ơRơư÷äÖi = íÁÿ´ù6öùa Ó é ˆ+ÿ!÷–ó–ótöóüW’^çÓưˆù öØ÷éơăóǼø@ í(6-Éroưyéàå§ín₫  ²`ÿSëpæ5ë>ú ÜArøú•öª́@ẹ̈̀(÷èƯü÷ưëÂä5̣Tó”,ï-« /Hû{çvéyø\ûs ­P pûï†ë‹è‚÷aÊ®˜̣ñï ơ{øWøÜó;̣Aá†ƠçÓô >dX9¿%iă¯̉¹å GàT*ü7ñ9æ’ăéƯơê Ók %û#÷hđô,÷6øǿçà[é%éè #Nl8k:u 4̃wÛùú£FP)̉ú$æ\ă‘ạ̊îÑJ@ îÇüù(÷<ôÏóô]đ‚è¿ß~æäçăù[4.BÛ0ß&‹ÿđ^ßpí” U´!äLưëîéŒèBî₫ø¬ư[2|vü/ö>óAí¯æ‡å̉éjî©çí <;ä9R.W$¨ AífàĐđ8 9£ C3û¼ëÑåîæ"̣(ü₫TOÿUù ô₫îIëØææË́èï¦*èF:3 ûÜ̃•ă]÷›q#á&–̣DäÓâí#úÛÿYÿW₫Bơ‘êáæ&ăåXíÇññ¦ëB(>r2"₫çüă‡̣½Ñ _ ÂơQè°ä»éÉơĂ₫éưù‘đ6èáoá!è²î‘đ$¯3:?H7|/l9û"êÁîâú8äÚJ püưị̂èSéÖî€÷pû¢øîïætàƯ½áBî¢ïN@˜C7c)ëơôåñ úîù¦îËèOëtñ÷ùöñ;ê²àNà™áÀåYë Ă3?E=².Ag₫ế₫ñÉü‰[/ Yư¦ïœêëÚđé÷;ơFđ ç$̃~ߤâæî̀î )=ø:ë3ß.e!ûÿîzöˆÿIåôùđû|̣‚ë ë ̣?öỊfé`á Ư(߯ê…íˆú´'±<™3Ú.Ê"“ ×÷¹̣ôÿ^d₫  ùøệåî£í đDñ…é|á·̃Ữêxđ^̣v‡7]2B.ï&1¡èö§₫F₫á¡ ƒ xZüäôŸï…ï3óäđïçăßyÛ²ÚVèđmùEă8¥6+s!‰Îû„÷Àÿ,Ù- ? nùĐ̣%í í¯̣́ï̀ä\à_Ü5̃pëŒë ¶2]5950)Ôî¶ú%ü;ÿ½ ¤˜ü™ô¸đgïMđÿïç.̃-ÙfÜ?ç½́À1g9Ä11ç\øûûV₫ø ô ûwơuíyêgí¦ïèvßUÚ̃åCéưâ42O5ë.©Iû­ÿÜúeưô Ähûụ̈fíTêµ́+ëáXܦÙ̀á÷åÓø‡&20Ï2S8†&E"£üß₫§ûsÆ ̀(ÿVùMđ:í́]éïá ÜËØṼ1æ9̣₫+ 0g2{+Ùbôÿ₫ư Í Ú¥6ü6ơ¾î=́Âêtă—̃0Û¤̃ƒæ5íÎ(Ë*²2 +æ±°ÿ‘üËä̃„₫)÷Lđ¤í‡ê₫â©ß̃"â³ç®̣n? æ(¦0P%yg ¦ưDü‰ÙïÿƒÿëơÅñfíHèQá¡ßñáÈåÖè€₫î/+°+*#%# WÖûpûư¥₫öÿXûơAđ&ë₫äçà£à>æ[ê:ô ¦¸$£*Ç(¾P ¸ÿíùơù˜ûbû™üÙû¯÷ ̣X́Jèèăàâ‡èí₫ñ6’®&µ%3!™O,-₫.útøVöÖö‹÷¯ơG̣Äî‹́Oééç;́œđ'ó@ÿĂ›“Ç qçGá l)ư4ûmøơaô‘ó¿ñ3ïNîDïÈị̂¡÷×ùÈ₫ÈY Av,sY u  ₫úT÷Sơ.ôó'óÅóÉôùơ3øwûàưûÿçÚ©“ l ó  ™ £ÿưĂûeùÙù–øwøvùú¬ûhưq₫1îpƒ°_¾‘T±4Vq₫ư–ûôú¥û0üüü>₫hÿ4ÿÁÿ6 u@½c¯Ö*:Z¡}ÿç₫ ₫€ư%ư³ưÅ₫LÿC=\e–iuz¸9Ëÿ/ÿQÿ³ÿƠÿÏÿăÿ+ÿZ₫¼ư—ưư₫ÿ Û‰Ơ¾Vü-tÿ ÿ´₫ï₫ÿ-Ôü± 1ÿ«₫—₫²₫„ÿ e‰Œ…ªÿÿ ₫†₫{₫ß₫mÿ́ÿRp¯–_RA!D7=_WHêÿÍÿbÿrÿÿÿ:ÿvÿ÷ÿTÉÏÔ½³eFđÿéÿ¥ÿ‡ÿ{ÿÿÖÿ̃ÿüÿºÿ“ÿcÿOÿÿƒÿØÿ(¨R0{<Ư^íÿ‚ÿ#ÿÿÿ5ÿJÿ}ÿ—ÿÿ®ÿ±ÿœÿºÿk¶; Ô¢X×ÿ¢ÿ“ÿZÿÿÿÿÜ₫ÿ2ÿxÿ¿ÿóÿJy‘ÓHh\*év±ÿlÿSÿ(ÿÿÿÿÖ₫ă₫Ï₫Ø₫tÿúÿz`Ç+.₫+c ÷¯R¶ÿLÿ/ÿ!ÿÿ*ÿÿó₫ÿå₫ñ₫Cÿ§ÿÇ÷è’`ÿGÿ<ÿCÿÿÿ1ÿ4ÿ?ÿUÿÿ%dt(g ]B¡‡Txÿ¶Jÿ$, |úôÄTù1ú¨úØÈÿKŸơÿ ÿ!¥ÿç₫¿₫Pó₫üÿ ­ÿ‚ÿ<}MÿAûÿ!¥̀„™­Úÿ®ÿ çÿ’ÿ¿ỵ̈ÿ°ÿù₫Àÿe”ÿĐ₫çÿ ̉ÿA¸ÿyi@ÿç₫½₫¶₫¹J ¼÷ø¨ç̣ø&₫³‡ưaügûÚ₫{å÷ÿfëÿ™Í¦ÿ„Úÿ‹@ÿâ=Oÿ’ÿ ÿ₫§₫.ø„/µ-íÿÿÿ-s5₫ÿtLÿơ₫ñÿ!ùÿK°ÿ‰ÿIÿ):ÿ‚₫^`KÿDZ̀ÿáNÿ}ư(´£ÿ/ÿnŸTÿ K¤ÿ¼₫Ûÿ9ÿ₫ÿÂÿ©ÿ›ñål™ªü"₫dÿèư™ürÿ†Ûÿ7ÿSKÿcÿ®¾₫ù₫?dÿuÿ¥₫fÿ©oÿ%ÿ´ưÇÿ,ưü1ûÉ₫eưâ₫Ưÿ¿s`{!'ó3ÿÿ³ª₫íÿ ÿ®₫©t`₫<₫DT₫íư\<ư₫r₫ç É₫Æưöÿ2©ư…ü‚₫U¿́₫đ₫ Ôr•Œ;ÿô₫©ÿ¡Çưäÿ ¦Ă₫«ÿP`üzÿwÎoÚÿǺ÷üX₫k₫Ê₫Ëâü­û3­Qÿ§ư"qÿ½üá₫¹ÿï₫·_@&Œ₫Ư®ÿÿQLtư1ư\¾₫4üßlÿaü^lÁÿ|ư‡ÎØư₫úÿ§O₫|ÿ*«ÿâüù₫ü­I₫¹E¢Ô₫Í₫Ûè́₫Kü?M~₫°ư#~r₫\ÿTÿWưÿCư„ÿü ÿl)₫3ÿ/í₫₫ûPí‘ưOưé¯è¯₫̣ø±ÿ&₫mÿ“ÿÍưÄ₫¼²ÿ›₫§ÿ8tIư₫dá₫Ç₫zÿöÿU¯₫₫}₫Øÿ‹ÿب‰ÿIÿíT×₫ÿ±aÿ§ư@éü.₫ëoÿüừÿ¯"~ưÿ…FF7ÿ3ªÿv§ưÖ₫§óư2ÿÅ,ÿvư=Ö0yưÛ‡oÿ̉ưÔy_cï₫ÿE₫cO₫âE#Œ₫]ÿ$Täưeÿ·ÿ0₫¾ÿ©¾ÿ:₫,2¶ÿk*₫áÿ‹₫ÚÊÿÇÿäc,ÿ B)$³ÿe.ÿ8±ÿu2ÿÿà₫;=ÿ¨Z₫/ÿÿökÿÿ]^»₫„ưƒµÿ‰₫·X9ưÓ_ÿmÿ Æïÿ ÿêÑÿÆÿnÿŸÿ9¥ÿơÿD«₫|»ÿøRÿ€ÿÿËÿ–ÿ óưpYÿ¢ÿÿÎÿÁŵ₫̣₫#SÿUÿ•Âÿ™ư£^₫øư·ÿ̃U₫°₫3§ÿ¹₫ø₫:đ:ÿEÿnÚÿÿqaÿ(ÿ×₫@/₫ù₫¶JÿØÿÔÿ,NÓưlh…₫¼kÿC₫¨§UOÿÁ7₫aÿóƯÿbP~ÿƒ=ư¾älÿ ưƒˆ₫+₫g¸9ưÂÿîF ư2₫siÿ"ü,ß₫8ư¢ÁÂüP₫hÔóưKÿcÑÿ\üŒëƯÑüÙoÿFÿÿƒ°ÿ×ưäÿ¢ÿbÿL3ÿyW Éÿ‹₫ÿEeưü₫*$Xÿ¶₫µÿR3ÿ[?₫åÿæƯúÿDvưÿ/sÿ:₫©úS₫›₫ˆ"D₫â₫Iá…₫Œ₫ „₫ÿÿ̃ÿÿđŸXưOƯưíươ₫’“4ưôưîÿö2ưEư·Ï|ưQ₫úÍ®ü®ÿ;å=₫ÿü»™ưÿ{ûhÿBûAúb₫vÿïø3ùÆÿÿûRÿ⟦ >W³ ’®WCúNú‚ù±đp̣~ợPí±ñæ÷Gö—÷j  øï}1ß…¦Rvưwöë¾å›ă½à`̃îßgàJægë¸ñoûd(Qo Q'6)8& '©"®̉Ă *ÿỊ̂•êoă®ÚzÖ´Ø<ØtÙWàÜæ±ẹ́J– ¼iW'{(€)+)0!ç% Å₫y÷đ1ç~àÙÜۄב٥àăkè}í[ñïưá G8Q#Æ&(+*m*ù!ö#· 2ü„óêMă¹à;Ư¥×Úd̃ÑàFåÂëtîEơ"% %v%̀&9)Đ)ê&4§Úưxø@ï¸çäÙááƯ`Ûuß$á¨ă0êïÿï%ú¹  |ñŒ `!S%]%: û£!̉”ÿôø<đ0́ªè æ…ăäâ‡åíåEèyí^ñeójö’sn > µ8ÖÂa‡‚lOÙö{ñ«ïÁë́èÅèë<ëÄëođx̣ôăøëù%†Yÿ  u A©ă4  £ç«ü”ökơø̣µđ¢đ&ñóôWöùúùúû:ÿêÿ¦ÿÅ1£¸ ‡9¢$)Ñ5èưêú˜ü*û¬ú ü{ü³ư ₫uÿåưÿ;0Èÿ·ÿÊưoưÁ₫Ơû ü%₫‹üưªÿ!ù&hÍÓƯü¡%jS<•J̣@hâ₫h₫|ư¢üÈû’ûû_úƯúaû¼ûÀü₫ö₫;¸¤xSéüÆ̀́6³ÖØÿŸÿnÿ÷₫á₫Pÿ~ÿdÿ±ÿøÿØÿÿaÿ$ÿ‡₫₫ÑưzưCưWưƒư¯ư₫¥₫!ÿ€ÿOf¡–§Îư5™7¯ËVpœ¤2cÜÿ4₫Ăü=ûÊùÙø:øâ÷ø¨øùÉúFüÙưsÿưw´jæûæ½T¾2Íc«øÿoÿæ₫M₫ßưrựü…ü/üăûû™û¸ûêûgüữưÂ₫¯ÿ¬8̀ ư¯4®,¸Z0:R‘́G đ#6(öˆ̣>dÿ†₫¤ưÍüü€ûûûûcûøû±üˆưz₫€ÿqK$ĐJºưá=ëmÖR´hÿÖ₫M₫³ư;ưëü’üNüAüAüRü‹üçüRưĐưn₫+ÿÍÿu/º(›̉êôƠ·‚7₫·k6é›ZÀÿ}ÿ3ÿô₫°₫}₫G₫₫âưÇưưˆưư¬ưËư₫o₫Ü₫Yÿëÿo§̉̀¨v*Ô}´\¤ÿbÿ$ÿ̃₫§₫€₫f₫R₫I₫R₫Z₫p₫“₫±₫ă₫ÿCÿ‡ÿÇÿFÀơ"NelnkM.Ñœf/ÿÿƠÿ°ÿˆÿpÿ`ÿTÿJÿ=ÿ<ÿ@ÿ4ÿ'ÿ8ÿ?ÿ;ÿQÿrÿÿ©ÿĐÿ'Ms„¥°¯½Ä´¡¢}]V8̣ÿÖÿµÿ­ÿ ÿ–ÿ‡ÿ‡ÿˆÿ€ÿÿÿ‡ÿ—ÿªÿµÿºÿÈÿÔÿăÿøÿ3=`jnzzy{u_L6*úÿíÿåÿÚÿÈÿÀÿ¶ÿ›ÿÿ†ÿ•ÿ•ÿ¢ÿÅÿÔÿäÿñÿ÷ÿ!2?<GHJVMMF;'øÿéÿÜÿÔÿËÿÉÿÓÿÀÿÛÿÏÿƯÿËÿÓÿĂÿÏÿĂÿÖÿ̃ÿđÿÿÿ 0<BTDXXBÚÿ4¼ÿ¦ÿÀÿÄÿÅÿæÿøÿúÿĂÿøÿuÿÿ}ÿ'ù₫»₫­iúuư¾ø²ü₫ư7Kư³₫ø‚ùl¥ûWø Ôôº]‡ưYư¹ûæÑùfư« Çô[ú‘ÿ*¡øüưtºûbŸ₫€̉ư¿wÿ÷Ù₫ÛCPÿÿÍÿú¼ÿ<̉₫Ôª₫¡ÿÆ₫Füư Cÿzÿ  ₫‘èÿ̀ÿ_]T¬ïÿNƒÿ¯đÿØÿQ™ÿ½ÿJ»₫¨Yÿ¸ÿFÿ÷ÿØÿ?ÿå­ÿ°ÿê₫¡ÿ›ÉÿU[ÿÜÿ¦ÿHÿq¿ÿÀÿé₫¸Íÿ¿ÿˆ¾ÿ•[Íÿ¢ÿÛÿö=ÿ±˜ÿÛbÿ¦=3”ÿ!SÍ₫ˆÉưB₫‚æ₫Üÿ’ÿ/ÿ:]₫4/₫ÆœÿÓÿæï₫¢ØÿÙ${~,ÿ9ưig₫qÿ˜†₫s}ưx¿ÿ₫Ø₫!ÉÿÏÿYa₫JªüÓơ₫`L7ûDÿ]₫Ï₫ Ư₫q̣₫mơüw ûwyÿ>ư’úMücâÿ>₫˜ÿđÑ ÿÏÄÿ»₫Ơư¤ ₫$ù₫I ÿº¬ÿ³ÿOÿñ!₫µ­ÿ™ÿ“%₫ˆSÿ”ơÿEqa3yNÿf:¿₫ÿŒÿ½ươÿ?₫íư#ƒû,Ï₫.¤₫^²₫ïÿÊ ₫vO(ưíVưĂÄ₫–V₫³₫ÿk₫ˆFư ÿ—*úLçû%ÿ†₫đư)Éư%2ö'Ç̉BÖU,₫xF₫2₫xÿ‹₫‘û·ÿrù?ưøù…újú¶ø'ü^ùôüÂûU₫¹₫Øl¾ü g ½ v ÎçgÇÿĂü“ú†÷ó¬ôKđñJñ–ïỊ́áñöÁơ©ù—ư*üŸ·1  “¢₫£#p ñ »Úúâø:̣Ùí´íơèµê„è~́3ëÏî£̣̣´÷îúKư!̉' x @Q‰¾—²K€à Ù n¾₫ø¿̣1đÓêüé"éêçœêăëíûđḷưôưöú³ùW÷|Ë› ă;^¶‰ l1´= Ä/ ü÷ñï™́éíå„çæ¥è́¿́.ñNô_ócùøđú±  Ï…s•Ïlè‘$’ú l&₫Pøûó±́²éºçâäfæVçqèyí|îBñrơmôcøîøÎj<ˆºâÆC‚x-î̀:ă|ưËơṾàë0ç…æ•äüäJḉè¯́ïẠ”ôiö£÷cù³§«GÇ¥­đ“%µnÎ=£#û^̣µđŸé9å:æ̉ă å.èŒéWíđị́xôø±öÿ'3S–¾×á“m '”–qá₫kûj̣•́§êÄäuă€ååäêçuë~íèđ§ô}ô~øïöŒ₫ă  £$» 2Ñù Ñt:›‘ưcûơđfëîêăµă0æ åÉè…́îđÆô`ơơơÁ÷–ª¹‘I~O#£åé!¢´» ¼3üÉö…îxéèDă¼ăoæççé̀îˆîçñmơuơ4ôÇüüêÿ¡'Vu ‘# ‘!̃és gCǜ÷öñ+è}è´å¿ábæbéüç̃ïÎđrđ_ơ¯÷1ó ù 9₫¼ ”̃³³%[(5 … m¯ûáöCôdçxèoè+áæçëé©ñạ̣̊EơÅø1ôÍö đ₫æl X'&j₫è{l vûÂô{ơBè’æë4ăÊæ ïrëÙñ‘ơ}ôơônù‡ơ,÷¨ =ÿ6 CåÏc#IZj̀I›úóúôéñåÇëêäTçBđlí}̣ÿơơ.ơ úèófü, Èư>U€'D!Úfâµh  ¸ö=ñFó&çßå˜́=å-êụ đ¬ơfø:÷¯÷Œúƒó~Fjư6F{Ù…(Y¯ê3 ƒ—˜ộTóIǽçñ́²åá́3̣̣̣ọ̈÷oøªøzøôEÇÿÅF ßy`ŸP0‹4ë6̣_̣/̣åôè¤́”æ‚îộ#ôóøÓøuúú‘øöP$¼`GSdª0ª‚À,~óñ,ó¹çBèíwé̉íóßơ^ù±ø#ûGúÂøơ₫wd(®Ă#‘pîñˆö¿ïàópêÚǽê$íƒñơúÑ÷úóûÙøhô-ÿZÊư< rʰiº!‘Ô Îˆÿúoïvñ¾ípçíèë©íđ¦ó'ûÍùù\üÉúªö¤÷<JŸyŸ5{jûJv¥wªXô°îđêèƒé íUđOñm÷¸üpø÷ù¾ûvù‹óÜÿÈû₫) <kÛ¹ß*W¿7 ËÿF”ûÂïVîỐ’é;èÀéưï-̣ụ́kûPüsùÑúKûl÷7öw΅-ÆKAG¤ñœ$ÿx₫ öïí>ê†êăè±ë ̣\óöö×ü&ûHû£úúàơúĐ(’tP€S*vÈ÷x1ÿư!ó4ïí́(êCêEé îọ́ºó=ù5ưÉúkû#ú”úơü; xs¬?Z6Ư»₫ û ̣$ï{ë(êyê‡é;ï]óøô±úøüáû=üúÆú˜ơüx‚c¥_)8HDƠ â€ÿ%úẶ̣đ́4éûêËêîḄrơ¯ú#ü‡ûư£ú¥úÇöJù\t«úcÏ¿²ˆmf 28éúöøñDî^êÏéÑëGí4đÓôùáû›ûü+ü-ûJú2ö~ÿvÓ ²§L}E„t^ ø œ%~ùº̣Äôḿhé`ííë¬ïMóÉơüh₫•ü÷ư₫Øüéü:øûư©-|· ƒG>Ix° S ¹g₫éöÙ÷Aô¾ï°đUñ&ó ÷TøÖúàÿ<ưí₫Èÿ6ư®ÿ₫$üûÈÚÖ±M13¾¾M×ÿ.ÿ—₫âûûü üû ₫ăü~ưư₫éư¯ÿÿ!₫ªÿàưŒ₫9ÿ{ü¸üâûfüÎüûàüüü ÿ–Ëó`ƒ‡+ơˆ¾OKÑÀÿ˜ÿ²ÿ!ÿ€ÿå₫€ÿÿCÿ´₫>₫Ûưrư÷üưû(ûvû¾û’ü£ûơüzư¢₫’~ëF)+´÷5ÿŒæ%^¼½ÿÓhÿ`8âÿRg₫6ÿœưÖü(ü5ûûùúûLûWû–üMư4ÿŃB̀Ys„œ9#qæÿ[ƒ0Ø`7‹UÎÈ₫€.üN₫#û<ûGúê÷ùøŸü¢ù†üT₫ÿR¿ryö¡P̀ ă*ßÿƒÆr4JÖÿ­₫ü”û&ùv÷óÇôsṇ̃hûû…ư‚m U> 1 |/̃đXƠ–e%¾ÿ¶":…Äüúqùiơaô&ñṿóîÀïBíóñ:”ÿz& _ z·«ÂC*'…ÿÆûBøDúºûúúO₫yæFÿÚúÓøöơMñ̉îƒếÇéæè÷é!öü f7 ‰![!A; ,hÿª₫ ÷ơ•ơú»üÀû½ư&×#Ñÿæù¡óÖđzíÉè}ăçâhå{äÓäÙ́Ú Ñà $¶*9(ª!*r2Zú2Zûúơ•ù3ư¾̉₫g麳ÿæ₫₫Sø»đẂŸê¸æîßƯÁá—à˜ámäúH ¨d2.â'â ñƒº êüSüáqúáø¥ÎtJ̀́ ư–ûäü‚øđñÖ́ ê-ç̀â^ƯÜRßËƯàLäkôƯp ;6+5 +X$‡À~û ÊÿÛúg¯w@‡!-ücöFùöwïëˆé̃åsâQ̃‰ÚÜûƯ¹ƯLäTè|̣"Ç'ö<Ù2a,Í 8÷$ Wưb₫vGŸ₫º̉  <ôoÀÿ́ơẉ«öêñSëéçäá+Ü!Ú·Ư­ƯÚƯ è4ê)‚(Ë”'¹?b4†.±"În7"+₫"“₫ôÀJ º~ư;ÿwöơï­ó%̣*êñçÎå‹ăøàsƯ÷ÚØÜ߬ßaåª́²ơøJ&k9ư;Æ0Á,́d“} 0f¢ÿÿ×đtü1ûZ]úó¢̣ṣïÅèfæ)åëá ßs̃ÖÜdƯĐà¤ăfêCóB÷`;,œ2o=g0t.$ T.| ¢8ư₫Lû%₫0ÿŸÉ₫ù;ÿrÿêơjô3óÉï“ëêåïä ä±̃àKáißtăYçj́*ö•ụ̀Ê"”':c3+5Ô*i*47X‘"ư•úúÿ₫å₫oû*ûƠ₫e₫Æ÷²ô¸óñRë_æœæÓåÍáRäƠç½ç₫ë×ï+ô7û…₫}ÿV 3p*±!¦!£büZeÖu₫+ÿưú¢ûØÿÅúûV₫ŒûĐüüúEöĂ÷¶ó+íî¯îîđđụ̀óṇbôßơ¬ơ/ø̉ø”₫¿  Î ¸ơ˜·«àFí ¨u x ”€©heü₫ ₫Ơưoÿ1üGú üYù ÷z÷Üôôóđlđîị̂́Ắ́4́¶î?đ€ô¬úƒư: uZbƠîmr9{Ô w\nÿt₫:₫₫¹₫)ÿ3ÿn₫ư•û‡ùºöuô2̣µïÉíuëwé èççFèÁê`í²̣›ùÉÿĂ` úŒ_̃ˆ,ºR ¨ ¿Áˆ¸Ăÿÿ¦₫Ü₫ÿư₫h₫Yưôûwùö.ôØñEïíë2ê¸è¢ç…çmèöé́«ï¬ơHüp³¶¡Y-#¢É0÷ï À Mv#W‰₫Đư ưüăû ü)üûSú\ùƒ÷Âơ÷ọ́©đ8ïœí́cê`éñè<éêYí ̣1ùfÿ̉ 5^¸àó´¾¶ø" æqùäÿ–₫mưVüŸû û­ú©úƯú ûêú‡úùÇ÷¿ơưó@̣gđÛî£í‡́µëëWë£́Äï ơëúă.ư dúúß²4Ă”J”  Éñoüÿq₫vư˜üüœû\û,û¸úú$û´ûËû¨û<û)úø«ö™ô•̣ºđñî+í¤ëÜêëVíḲAøs₫RO ÿ᥃ÔOnª + «ÿܰÿ;₫_ưüDüpü™üÄüºüªü ưữưºưCư;ü@ú³÷ ơṇDđoî¹́ƒëëRë¹íC̣°÷ØưU ¯‡BƠGô“  ô5ºÑÿø₫E₫öưĐư¯ưưæüVüü‹ûˆûüû$üügûïù ø̃ơ²óÛñ-đ©î±íQíGî\ñ¢ơ“úl Ü û6™K³!<Ó v *· ÔÿÚ₫áư@ư×ü¬ü›üAüÎû™û9ûÙúû‘ûAü©üWü¨ûúïø ÷#ơ`óÂñ]đ¥ïºđó ÷Eûhw® > bíAa¥ÉƯ8 ©Ây²/ÿ(₫–ưư¬üºüđügưnưcư:ưđü¢ü9ü ü÷û'ü üøûü#üÂûûú¶ø:÷Đơưôơjöăøªû¦₫(a~ Ö ˜]₫Ú ̣ S uÂÇ}wÿÊ₫µ₫Â₫̉₫ç₫ÿpÿ±ÿƒÿIÿÿ’₫̃ưßüøûIûwú«ùkù…ùËùqú)û!ü\ưe₫@ÿŒŒ *ÿ}₫Øư±ư₫û₫GÑD®¬Ñ²wW-j½iäÿ¬₫ÿÿuÇn.4wÿIÿóû\û₫ù@÷øŸö öløøÀùïü)ư4:>¶§Á^úüƠJ]úÀï½ÿ}üiùôöówñÀñoôKüØû@· ö Œ TÔ«ÿư₫Yø ú6ư†ú€ư˜oCº mÛÈöRÛÿ₫ưUúÇûû=ø±úèú{ù8û´ûÚüJư ưŸÿù₫çưMåÿœÿï KP qm-.¯§¸’‚ÿÂÿ”éÿîäƒ'ă`̀‹ÿÿ>₫ưvưMưư ₫|₫Iÿ¼ÿ»Y!”ÿ3ÿJÿÿPÿhÿƯÿBUÉöƳ„#Ôÿ„ÿ‚ÿGÿ]ÿ¦ÿØÿƠÿ4DwAª²Íé¨3‹‡i{(ÿ…ưÀûOûúù,óQ› ùp #Á‘ZIGü‘ûâĂöúøé8ük₫|½À₫çü¶#öưnÿ훦ÿ”Οÿú₫Ñ̀₫ưÜưÿ‡₫ ưŸ¥8₫nâ₫i₫JÿS₫vÿÉ!™9Müÿuÿ¬ưVÿ@ÿ\₫5`X”C„Ư`§ÿh₫-ÿYÿUÿkl¯6×ÿ]ÿÿ₫O₫Ăư#₫Ë₫¤₫GÿP>9‰kĐÿ|ÿ©ÿ‡ÿ/ÿÅÿ66ñïƒƯÿ %Aœ ÷ ÀÛÿƒÿ+ÿæ₫÷₫9ÿ ÿdÿ˜ÿzÿmÿŒÿjÿXÿSÿ~ÿÿ²ÿ@Tƒ¡|b?( Cf‡æÿùưÈ+êÿ¢ÿÎÿäÿ̃ÿúÿưÿÏÿÿÿDÿư₫ÿ ÿÿ8ÿbÿÿŸÿ·ÿéÿÍÿ̀ÿèÿđÿưÿ"U}’´Ê®› zb|s‹ˆ£©ppẼÿ´ÿ ÿÿwÿ ÿÿŒÿ¦ÿ}ÿzÿbÿ9ÿDÿ#ÿ?ÿ]ÿ^ÿ±ÿÎÿåÿ!)6;6Q=Ovu§¥‹{[YOKCDE%Đÿ¹ÿ™ÿÿwÿhÿsÿzÿ{ÿ•ÿ’ÿÿ¡ÿÿ‘ÿ ÿ›ÿ»ÿÉÿçÿ@QIZOQNFWZQbTRS@C459,1*̣ÿØÿÆÿ£ÿ›ÿŒÿ€ÿÿÿ™ÿ­ÿ·ÿ¿ÿÈÿÔÿÛÿ̉ÿơÿđÿ+ 9 +0H`Zgr\N8"øÿæÿÑÿĂÿºÿ¥ÿ¢ÿ¤ÿ¢ÿ©ÿºÿÈÿÔÿëÿùÿ  ùÿæÿêÿ́ÿêÿøÿ :KdpwoN9#ưÿôÿçÿÓÿÔÿÄÿÇÿÀÿªÿ¶ÿ²ÿ¤ÿÁÿÇÿÑÿîÿÿÿ₫ÿøÿôÿ́ÿíÿûÿ&39DLE.# ôÿëÿ̃ÿÓÿÆÿÊÿÎÿÎÿăÿĐÿçÿéÿ́ÿßÿèÿ ëÿûÿÿÿñÿôÿñÿ̃ÿøÿøÿ#1 &%)),*3& ́ÿñÿæÿƠÿÍÿ̉ÿÖÿÑÿ̀ÿÊÿÑÿÎÿÛÿÛÿëÿ $1JF5îÿÜÿÏÿĐÿ×ÿóÿ  ! ̣ÿơÿöÿçÿàÿàÿíÿëÿ×ÿ̉ÿÓÿäỵ̈ÿ́ÿçÿ +,#,( åÿÆÿÙÿ°ÿĂÿ æÿÉÿÛÿØÿ́ÿ 7?Sxe1 éÿÅÿ¿ÿàÿçÿúÿôÿÙÿæÿôÿêỵ̈ÿàÿ%+çÿƯÿÊÿăÿÜÿdVdcR-àÿÚÿÚÿ7œNÍqÊHH™ư§üoüøưVå₫kÿ\k₫₫#₫ ưèübùÔú'ô\ëœç@ï¯ư$0º¢íôëëÍê÷̃ư’ú 3øđD́đïú;M ­U F₫¢ô›ôwù¬ø¾ưXÿyÿåzÿ×ư–̣PéàæVä äpê$ø>1Æ?[%Ó+/L÷´äeæßú₫­ ‚!O U óÎê äïû̉ u;ÿV÷ǗVîIơ?û ûG₫+¾ö?íLäsÙ ̃&ô† ˜6,è«ü1đuñWưn Ü ˜“ vQø¢ïú́¥îúø=ÿ¥ß  ôºkü²öđ ̣§ô ơ÷ơ¦́£ßiƯÿá|æ¯;·1,8' 8óféĂ÷­Ts*ưóNëăë`̣ƯöíÿQá ’HÔ÷đBî ́+î óTñëSăUß0â&ç)?=î+I.”' Îôjï₫Ô —6ä í‰ưó=êînóvóŸüù g " 7éö]íüê9çQè˜ê(éçrç³ç+ăïø5¿,Q&*Ø`₫̣ÿ?Ç Ă Ê>öFî²ị̂́ẈùñºÏ{ܲöúíúé(ä àuâ«ä®èấÚè ú¯( 4¿!8$¸Ú=ơcưH Û ?Æ!‡ˆ pFø}đ•ị̂ûơù¡ÿ1Qưæơ¡́ªåƠߢƯƯûáÆééjñÍ ë7Ï%#k]ô¨÷²ú="̉$h·ûÛô0̣ḄÄơäù¸ÿV ₫Áøṭ,îîèûá”Ư¶Ùá£å^àÿøÚ.8&{%¬ñüíøu#ú' PBư9óÍñvøµü›ư•ÿ£̉ưÂ÷…óËîöè&åß×Ú.à¹âẴ”íi i7á)¹'·wđSđnÜ á&­!g[̣û\÷^ơáù+̣rZÀû ÷@̣¡ídêâåÜßpÚĨ1̃ăƯºôP&8+%&b₫ïëƒ̣Å, •%ëJ ₫ûZ÷Øö–üœZÏ(9úPö5ó­íkè¾äƯÙÚÚƯ"ÜFă;„5.·*́!, ñFê2øB@ {#D“ 7ùơ ÷®Ï@ÁùçơđúêÓå„̃ß}ƯÿÛ5ăß j4S-J(ù#œ ḅ;èNó “! „ Aúøù‚₫"¤²æüQùÜơÜïốÊæ{à,à–ßôÛÄ́l „3*u)8·@ênèơ÷T² UÖÖn₫$ú­ơ«ùù₫ÿÔÿ<ü&ø%ó*ï»èµạ̀ă‹àbÜ¡ă 78-Ù)d'ñ Ø̣=ç"ïfưo| ¦uúÙơCö{øäüÈư₫âứ÷̣xï(é¬å/æ±á¹ƯÎ࣠I1h0*/ç-)Uüªêœ́@ø¯ưÅñú_¦üw÷ÔơAö”úûü¡ûơ÷Ọ̈h́æơä˜ạ̊á̃Ûă ~,..Ü/*1·  óó]÷_ü Œ)ä£|púøơïö\÷vø†øÇöẓŹ˜ççèă=ß߃æÊ ‹'f*w1æ0F sù>öø–ú]é Ûÿ:ùơĐôº̣lôƠơ‰ôéñ#́èBè<ă âáƠç, é#Å&212%³]®ư™ù/÷Ẁ LûIúh÷ ơ đ‚̣˜̣ ̣‚ñX́¾êÅëƠæŒæÆçWíˆbÔ)[+&æ†dCúÉưøÿÎÿ³[ÆFEú̃÷ươđ ̣Aó–óuơDôưô´ơJó₫̣VôEômøE ÛwèÀ ›£®L₫OươüuüúPøåö‘ö0÷Qøjú•ûAü'ưÂư˜ÿn₫Ăư₫₫ưzü®̀]ÿ1\)ă€ä] °Zÿ÷₫o₫*ưÜü₫'₫gư₫ưĐ₫œÿ ÿÈÿP!Y2X”BđÿÇÿ*ÿ=₫Åư“ư—ư¥ưK₫]ÿ˜ÿzÿ«ÿ)x»‡ ܰ‘uB fQ” Xw•á³%XÿÄ₫i₫Áư§ư*₫ ₫{ưNưZư™ưéư_₫Î₫(ÿwÿ£ÿøÿ«"jÇ/1â ̀+N ÑhÆŸÿIÿÿËÿ‘ÿ$ÿñ₫º₫₫‘₫’₫œ₫₫€₫^₫H₫₫Ö₫ÿeÿ”ÿÊÿåÿÈÿ„êgå7Ød¤zyOêÿäÿÊÿ„ÿxÿ™ÿ‹ÿkÿ?ÿü₫̣₫ó₫ü₫&ÿVÿ”ÿ½ÿ´ÿÇÿíÿQ€î>#¿a, Ïÿ¡ÿºÿÂÿ”ÿuÿŒÿ®ÿ»ÿ¨ÿ¢ÿ‹ÿ_ÿVÿyÿ«ÿÎÿQ?Qnu˜Ïú Ü Uëÿ‚ÿBÿ9ÿÿù₫ÿ ÿ$ÿLÿPÿyÿ‹ÿƒÿ™ÿ“ÿ£ÿäÿ"W•¸¶™˜ª±ÚùùƠj3öÿêÿƠÿ¼ÿÿ‹ÿtÿQÿ@ÿKÿkÿxÿ^ÿbÿiÿkÿ‰ÿ¸ÿQikT3BGO|‘o/óÿëÿ),'#+-0 áÿµÿ˜ÿÿ˜ÿ¹ÿúÿ(éÿàÿÔÿ½ÿÈÿ́ÿïÿßÿăÿÑÿàÿ ñÿûÿ₫ÿ.59"4@Hw~sb(́ÿ•ÿtÿ~ÿ¢ÿ»ÿÏÿÉÿ°ÿ»ÿ´ÿÆÿøÿ₫ÿûÿÛÿÔÿßÿûÿôÿêÿúÿüÿR¿²̀Øœÿÿºÿ›ÿ„ÿ~ÿuÿŒÿ‡ÿæÿ¸ÿêÿáÿøÿÓÿ4+_XÿgdPÿlĂưæù½ÿ.‰ÿB₫<Üéù‚÷ÂF GưcúZ'–ö¤øE•û=ûáKˆ₫̣ưă‰ÿv₫“¬+ưûüse₫D₫¸˜ÄÿÇ₫mznq₫ÿƒfÿëư¡₫|3Œ₫iÿNOÅ₫̃ÿ¨¿µ₫=  Jûơú‡ÿ*ÿü›ưÜôÿ•₫ÿ+c^wÿi@Úÿ³₫Oÿ¼ÿ|ÿkÿ*ØJåÿx pö¤æ₫₫÷ÿÈÿ„₫Èưôÿ›ÿ₫ Ÿ Öÿ`ÿHZà₫ ₫PÅânÿ§Ŕ₫¯ÿ t:ÿOÿ…û₫?₫—ÿcƯ¼ÿMÿcçÿ…ÿnßÿ]ÿ`ÿ²>ÿÿÿóÚÓÿªÿí~ôÿå₫-ÿ_÷ư₫ôäWœû¢₫y₫¹ È₫F₫@ÿ 9ÿ₫¢ÿçÿæ₫óÿ₫èçÿ‰ÿe„…ÿ˜₫ Á$ÿ*ÿ6³º₫n₫,Ÿ¬\ÿùưAÿB₫ăBLư‰ưÈÿ­ÁÿÖNƠÿRÿaÀª₫,₫½ÿ‘ÿ]₫₫Ñhy¼™₫<*öư'V₫í₫ƒÇüÂú´üz₫¨üüû~ÿ­‡”ü₫²\¦ư“úû₫ç₫ÿ~I¢+ªu´ó_¦₫Ndÿ±ư±ÿ|ÿHúiö¿øøúÔ÷óóó̉ú°ü÷iơ}ú’ÿ ÿû€ưé N Ơ ²Î1±D̉ è ₫˜úÑùó"́hêơí—ï÷ëUë|đZö(øơœôùéü ₫₫ ÿŸ/Uíà‘đ×$… ô@ú}ùíöụ́íïÍíïĂïĐ́Kípđ£̣îó¯ơI÷÷çơEöe÷S÷è÷ÆN O•úĐ"ï&d#Ü¢” W P÷…ó‹ñ:ñ¸ïǗcî½đSññ?đ̣ ơbó%óÆ̣]̣1ọ́ñỴ̈—ôlük ˆÅ$n(¥- *!u»D½ôYïíỚƒíŕÂî=óăôölööøjơxñgđøïÄï"íëêízó0nJ–$%,s1l1(* ¨ø ÷î€êêT́£́dí*ñ?ö₫ù û̀ù—ùƯù÷¯ñỨºëëêéÈéỤª²™!q*Æ/K65n*ǜw#ưđYèäaå ëî́ûîåó5ø?₫¡&ÿ₫ûîø%ô—íëéPçæçëæGïO‚$#-/1̃6 6z,i! Zù1ïçææá×âàéóîÑñáôsùµÀ‘Ÿ`üæù[ölïëéTæ¾ä‰å×å.êŸû!†"C/3È6º7`0$ĐÇøîƯæHás̃²ăë£đ öiùÆ̉ ́güÏùVóÓ́Bçoă7ăääAîú¢)+3s58806…-†ư đûâñ1ê?ä̃DƯ’ăiëó÷ú₫ ₫ › 8₫AúaôáíÑæ ă)â*ăä-đM¾Ÿ+¹2ù4z7u4˜+‚rú¾ï­çă@Ư?Ư(ă)ê™̣Û÷ü× ácÑüG÷ˆđ̀ç¸â>àGàÉáç^ú,D$13F6û6V1|&j×ô‡êæä:ß%Ú0Ư«ắ&ơ#ù3ÿF´`xR ñ–₫ø<ï@å¢ßƯäƯÆ̃â&ö é!Z1â4ñ7!9J4‰+´”÷µê äR̃Ÿ×4Ùÿ̃Mç-̣»÷»₫ £°rú ŒBü2̣RæË̃6ÛÚ/Û¥ÙbâFû”D)Ü3Q5O:Y<æ7»,¸ÅƠôsééâÙn̉ˆƠâÜ[çÇñƒ÷…f c­†A<YwưçñÆätƯ÷Ø’Ø"Ø“×zÚ¼íỌ&1Ô5Ü9Ư>…>|7û%+’ưđZæd̃ỞUÏÔDƯxè,ñ¸ø÷Ôí,#VpºÚ{üÅï¯âÜPØxØP×UÖtÙåè|“¥.̣4̣8+?Ar;U,·ôJ÷ªé€à̉̉=̀WÎÏÖ´àÓéịRÿ́Ơ‚%0$¶»iüƯ÷ êKßBÚP×2ÖổàÓµÙ?ë†÷Ù-6¸;D±E’<Œ-«”Ăú~è»ÛÎÙÇTËÔÑwÙmăñíÿ ¿_(^(%{ ¼ï ûëœâ4Û)ÖnÑYÏyĐéØârơ x ¼4ˆ;AFC¶7ù)u©%ơàúÖÛÊÇ­ÊFĐ Ø#æ̣ëa˜ î)í)£(É#·. QûŹWă×ÚX̉_Ñ(ĐÎÔæÙ¨â“ë).Á*µ9#9₫@TCÍ ‡b LÏu ư_ó[îåä³̃Ä̃ñÛ–ßå{ëù $D" %R+95Ê)^(Î'b‘Näô:đ6çLƯÛÆØĐÛÈâ÷ç̉ïù››’ *?vk ÿËưi₫_úöÅ÷'ø]øHú\üHư¹ÿ́ơå ³·¸¥TđëoĂ{¿È?(jÿ.ÿ°₫ƠưJưiüfû”ú2ú úùÇø‚ø̉ø ùUùZùÀùrúJûÔû­üëưHÿ‹vOyq  • X ” q ̉ ú d i‰±öÿ»ư”ü©û¼ú¢ù÷ø­øWø ø·÷x÷l÷µ÷¿÷²÷­÷Ă÷Kø“øçøŒùzúü^₫6ÿ™jÚóƠ{ I V ¦ 0  À 2  ‡LxṚK…₫#ư=üƠúù¼ø»÷E÷́ö¥öĂö÷…÷>øåø̉ùæú üư₫¸₫ÿ’ÿ½ÿ«ÿ»ÿ¸ÿ¥, G½;B  } { ÷ ï $'ơÿ'₫Ÿü=ûPúÊùzù¶ùOúåúÊû´ü ưZ₫Ú₫́₫ÿ±₫₫…ưküêûdûûPû‹û2üư₫Sÿ‡Á̀%9Í-Çñm)ÉÈó”Û!½@µûÿ:ÿv₫ªưûü…ü8ü!üPü‹üưư₫·₫ÿ‰ÿïÿ Óÿÿlÿ<ÿ2ÿGÿoÿÔÿ:}É₫á¶cÿ–Ăÿvÿ?ÿ5ÿ>ÿ|ÿàÿK¼(~Í÷ă¯IÈ?ªÿÿœ₫?₫ ₫ ₫2₫…₫₫₫…ÿŸ₫>`Sµ<¦ÿÿg₫àưmư2ư#ư=ư‹ưôư~₫(ÿÑÿ~&¦hvn?ë‘+¾ZËÿ¥ÿÿ«ÿƠÿp°ê!DT=®ĨÿMÿ¹₫M₫ûư¼ư¥ư ư»ư ₫d₫̃₫Fÿ²ÿ+†Ø÷đíÊTºÿÿhÿNÿkÿ’ÿÚÿ5n¸ ×~$ª ÿ"ÿ®₫€₫o₫~₫À₫ó₫Hÿ³ÿU•°¹œI«ÿDÿá₫‹₫X₫9₫:₫g₫µ₫'ÿ¨ÿ, !‰¾ÜÁ’cû›MĐÿÿtÿKÿnÿ–ÿÅÿ&G–ÏÙÖ¾•a©ÿmÿ#ÿÿÛ₫Đ₫¿₫á₫!ÿvÿ»ÿ Gj–˜T,đÿµÿ—ÿtÿZÿ[ÿuÿŒÿ±ÿ̉ÿ U‚ÛƠáÀ¨‡\ûÿÅÿơÿßÿÿÿêÿơÿ&+'K1EûÿÿÏÿ6ÿ¯ÿÿ̀ÿ/ÿûÿ2ÿObÿ{ÿ£·ỵ̈2¡K–û ÿ ưÿn«›8öùOÿăøùĐ₫!₫ƒTÖb7ÛtơV¤ú øCưúÁưªựỵ̈ơ¥*ö IÿûÈ₫ăúưøQ₫Ơ₫ŸøS₫”₫>₫áưZ₫YØÜа Û₫ ÿÿm„`ÿ8û–°zÿ¦;Ư#ăưđû†û®üRû©ú™₫¾ư¥₫:ÿu QùwyH7èû₫Ø₫5ÿQưŒ₫ïÿ5ÿÙ­ÿ‹†₫Ä„ÿÑßüßDưn“ưÿÿu=ư*$ÿE₫9ưtvÿt·₫T7?2ĐúW.lưK₫”"₫Ø₫½tÿùư܆₫VưF0₫¥ÙûÔZ₫₫vM8ư‚₫0Eßüú»₫₫yử¸ÿ7₫÷ư{¹₫(BûĐ-2ÿ@ÿ±ÿé¢₫i₫ïư₫çü‚¯₫pûơÿơÿ]̃₫5TƯÿF₫ èÿÿ(ÿ³{ưÁ{¦ư…«ưÁ¥₫±€yƯ₫áÿ…½ưÉ‘küC9ưÄư¹‰ưưäüÿPÿ4ư€…(ÿ ÿdL₫ÿµÿL9_?"7Ü₫u{JưÜ₫ñÿDî‰yY¶₫˜ÿ‚0₫å]!₫Ăü±₫Èø!4ưaüÖûÔüÔü¢ûÀư±üñü¥ÿ˜₫\V1ÿÍÖ0ö‹2ø4E“<€Ö°³TT!ÿK·ưÊ₫Đû:ü¿ú‰úvùT÷ÂöDöq÷<÷ö™úIù^øû¼ưBưFĂ ̣àœ̀4 vÇî > g o Ơ å Ù   -—&ưúiùFôø̣̣ùđÊïđ¹̣́đṾaöâơƯö¹ùFû£ü:ü”‹µÿ!Ksjb V Û f $  * /±  p t¾eÁ0ÿC‘ú÷Áø±ô$ñẓ6ñÑđbđ!̣÷óỰoơø×÷úüp₫‡ ÿ¯T ^cùy ,x ܸ; ă IJ —8rˆZ1gÜưœùrùªøqó-̣ṿˆđTđµñó‡óMôøø0øư₫ÿñfØFa³­iY ÍO ° “3i- ï·º<³ímrưÿRú/øÆ÷ôIơẉḍ́óṇôô£óiơ{ö]ơ¤ùøüÿØ₫ö*¿”#½ÍÑŸ ½ % © ¿ % ™³ ñ]§.₫8ûp÷«øTö!ơøơ óÑó¯̣¤ñỢ̣¢óßô·ơøÄøuúè₫́₫<—³èO( óÆ   + _ ̣° zJ ºơûư˜úÊö[ọ̈ôsơị̂!̣IôẸ́Œñó‘ôDôô•öZ÷Ăöø]úÁü ₫ă¤ëµê$ ä Ó ”ù … L9\—Àó ÖÙư°ûü£úkü@ÿ§„ư^ư¿úUöôóâñÑđỊ‡̣íóÇôÁóªôPơ}ơîơđơZúlü¨₫!„ ă ½q «h.Ôÿ?ø¬ùDú`ø úËüoÿ7₫!₫&¤ụ̂ø!ùn÷óô6ô•ô4óÂđÖó4ô6̣óôăöœ÷÷äúăülưÓÂä Ạ̊›ŸÁ•¨a÷hÿ\ưÎ÷́÷ñøƯúXü'ûñưÁÿ±üµưËÿ˜ưƯü}û¾üDø[ôÙơx̣,đ ̣/ôç̣Áó˜ö‡ọ̈́¶ơàúÁúüÑ ²uN¹Plï̀¹ưªùfúËúcúú«ùyüéú̀ùgư{ư=ÿU¼69₫ú¥ô8ñVï}îÙđ!̣Xó{öÎ÷öhôÄơú>₫ܦÊi!&%w_ä xçú–øTúMü”ưùư7ÿCûùÏ÷ö7ø=øBü^S Ó°¨₫aûyôđáïOị̂ïÛđóêơ”ơföö÷ øŒÿ2÷f!³'Ö(P'ç§ øÏöÇô:ù÷ÿ*„äûF÷ọ̣́“ñơ<ú¦ÿ㤠ü – ï „ư,ø·̣¿îî„îÏïzñ2ộö,÷Pö%ö‚ö@÷\ưíF%;).)z$"´ `ưˆøéöC÷¹û©ÿ‹§ÿ"ügù–óøđ’ñzó"ø‚ưª § i„z¼UưÛúGø%ôưïÆí8í@ï£ó×öùßù“øYø̀û¶«P&¦*Ă'ÙƯ …Ư÷Ḅồøº₫|^Åú§ớñXñó̀öư"0úb₫˜€ø4₫—û#ô£đXîăíDđÓơÅüuư€üYûTöơô û[Ûô%2)['r u₫)ô•̣Xô'ùíVăú̃öVñäïÂóIø ÿaÈé k‡ÿüư=ửü™¬4«₫đù5ơ ̣ỆỘÍô€ûÿp₫½ưưùơBö‹ưP|×$ô$cÉ₫÷ûđ!̣X÷#₫¯­éêù7ôñ,̣˜öüWZrcÖ₫çûúưßư½>ù4?ưáùîö:ó ÷ø˜ù{ư.₫jüßù«öyơTôQû:Ê~"̉!Z:íú₫̣ öĂưœ’ ?â₫Ï÷pôßóÏóÎøoư܆&¨₫ ư¸ü,ÿfXo[cÿ₫Đû^øƯ÷"øùÁ÷aøßûîø¼öK÷€ơáö¼üóéN<+ưÆ÷ ü₫ ‚F̉aưú÷rö„ơ5ö7úS₫́’Np!ÿßÿơăkóŒÜưƠúL÷íơ~ö“÷|ö₫ø,ûûødø÷Mööeǿÿ3ă´!›p]¼fø‡ơoúçÈ ³_û~ơ5ôøơ<ù̉ü¼ŒOÈaXBư£ư.₫ DZ/|ưÙùzøD÷çö ÷ù:úêú…ûüøƠöÎ÷;÷­ø˜ûï₫Næ-×âˆÿ—ù;ù¨²ơg§,ÿø-ô÷cùøü7ÙjÿŸÿ₫ư~ữ₫n¸\ -4übù÷Ÿ÷ơÇơĐù~úưTü©ùù7÷gøÁù#üE ³÷G6ùÿ×úøüÉÿLû•ưÔø÷0öBùDü¸ư¯JdS₫ ₫¦ưỐ?5>Üdû¡ùÏö™ö¹öwötúBü¢üüùTùê÷öNùGûĐÿk? 9t}¤Àû÷núé¥̀ߨúôụ̀#øxú“üVˆÓüưŸÿ—ùƒÈ ÿpÿª^¸û_ù&÷@ơWôÑ÷äưrÿFưÔû¾ù%÷_ơđö?ü₫{ ¥NÆeD Réû`ùRÿïøˆægÿ}ùöôơ7ù₫ûư ₫rP‘₫-₫8)§TR:o"ûVøBø^ö5ö›øüz₫(üüùùl÷Äö ÷æù¤₫«W Xy]3Eưˆû‰4²pHư‰øüô(÷{ú6ûfưđ₫³Lÿ’ÿY‹IofÀÿ6”ƒ\/üùNø÷5÷ ønúŒüèû'ù§÷±÷ø„÷dú₫¥ù Ö©˜áÿ“™₫ºü(6|36ºưNø7ö÷3ù}ü£₫ÿEÿñÿT¡¢ÿ ÿ’ÿ ̉ÿ9₫Øú™ø‡ööÂ÷6ùÛú́ü:ü‰ú!ù˜÷²ø úđư ­ ̉±Vó "©±ûdÿ†°®ç°₫¼ú­ơwö?úüëüFư Qøÿ>₫J"₫ÿ4­ÿº]Hbü˜ødø@÷öö”ö^ù4ư{ưđû®ùÔøöøàø&ü̃ÿ́À æ{đ^Ă 7`₫˜ éïÿa₫¹û-ø=ùûfúqü+₫vÁWÁŸÿ2₫1ư)ưưÿăá¡aÿĂ₫û`úú`ùăø¤ù„úïú!ûÄûiû£ú•ú>ú!ûü‰₫H5È‚£v  Iư`ÿ₫c ³₫¦ưú̉øºú¸ûêư+ưWÿƯ¶ûÿ…₫è₫zÿL₫(₫ư₫ïÿK&ÿÜÿcĐ₫g₫;ư0üïúrùxú ûíúŒúóúéü“ü@û‚úÏú©ûü§ÿÇ…uøprïÂĂâwƠưÄúNú ú`úûú"ưøÿ¹Åx ¿ÿO₫ïư‹₫¶₫eÿå₫ÿàÿ”µÿưưüaû úkùQûhüÛü'üçûéü₫û'ûoû2üñ₫̉}™í dH›’ °)k₫{ÿÈÿgkºYrưˆü û=ûFüØûdư«₫Èÿp¯₫ï₫ÿÿXÿ¤₫JÿĂ₫ßư„ÿ•ÿª₫ưü¢üÍû:ûºû&üÏüŒüÄü*ưCưưƒưe₫ö₫@ÿiŒ Ñ Íˆ RƯÔÿ'ÿ‡ÿGÿ†₫qư”ưưHüü³üªư¤ưèư³₫-ÿ²ÿ¾₫ÿ÷ÿ9ZYÿ¨ÿáÿI₫™ü|û‰ûû=úû:ü™ửưñư9ÿư₫oÿˆ³JPÿ8ơưŸ — æ ^¸ÜŸ₫hư£ưüưS₫x₫}₫̉₫₫<ưtư”ư²ư¾ü‰ümư'₫Rÿ³ÿẠ̀Ñă₫µưÅüEûLúƯù¼úÏû üwü¨ü½ư¬₫j₫½₫ËÿF/pf­Ơz!7×yîAˆê”ÿg₫¨₫‚₫¹ưÚư»ư_₫Ă₫ ₫n₫]₫.ÿ@O‘ËÿrÿÀ₫rư üƒúÖù€ù/ùLùƒùûù»úPûZükừ₫ăùtA¢̉?$a ±ƒâDÿ₫ƯưI₫₫‚₫?ÿÿÊÿZÿ—ÿÊÿfÿ×ÿ9ÿ#ÿÿ«₫ÿz₫0₫ ÿKÿ«ÿ÷₫t₫…₫~ư{üûúCúÉú₫úâû®üÎưJÿ]ÿ]́̃Öuô…>fcç«EĂGˆ'Àîÿóÿêÿ+»ÿ-ÿAÿaÿ­ÿqÿ–₫–₫~₫ÿÿ©₫ù₫ÿ’ÿtÿØ₫è₫Ï₫Í₫u₫ĂưªưTư/ưư±ü?ư4ưªư#₫¢₫ˆÿÉÿ{Ó§?«6Iq¨t$~â 8¿Ku‰Àe?ƒË_ ̣ÿµÿMÿZÿ1ÿyÿÿÜ₫¹₫=₫—₫=₫_₫j₫G₫Z₫X₫B₫u₫₫{₫¦₫ÿÿí₫sÿ°ÿ0XŸ’TÁ„̀¤G$ôzœâ0½oªzK̃Ë¢ÿÉÿ°ÿÚ₫ÿĐ₫9ÿö₫¨₫₫C₫…₫₫G₫$₫”₫Ù₫)ÿs₫§₫@ÿ¦ÿÈÿ¯ÿ÷ÿ€Çm„Ñ̉ÚqC‹hđÓe…‹·§,Œp6Ûÿđÿ4́ÿ’ÿÿTÿ–ÿơ₫uÿĐ₫\ÿCÿBÿÿ'ÿbÿºÿ́ÿ€ÿÀÿ×ÿ ₫ÿ(|QS˜çv3Nn—a$êÿFÙÿ‡ÿ=w¿ÿÇÿ)zÿ5°ÿ9LÿÚÿ®ÿÆÿ×ÿÿJÿØÿmÿmÿÇÿxÿhöÿÎÿ¼ÿHR%QKÉM,g›Ưÿj¦ßÇÿ,Jôÿ²ÿ‚ÿăÿbÿ±ÿÔÿ#ưÿ¹ÿ­ÿ"ăÿ…ÿOÿ@Àÿ'›ÿçÿ₫ÿöÿ¶ÿNÿàÿ ̀ÿÔỵ̈ÿ'ïÿñÿSB7vV/RØÿ-BßÿÊÿÀÿM^ÿ; ÿÔÿQïÿÿ]ÿQKÿ°ÿùÿ–ÿtÿ*)ÿÈÿ•ÿ ÿ_Üÿxÿ 8UÉÿûÿơÿr0âÿ/Àÿÿ\'OÔÿICDVíÿ#<G¢ÿèÿh ùÿéÿªÿÏÿ¼ÿ+ •ÿĂÿ)ÿ Ưÿ“ÿáÿ(2ÿ¿ÿÈÿƠÿßÿïÿăÿ¸ÿüÿ³5Îÿëÿ oŒ's0.*®ỵ̈̉ÿWÏÿ9_"§ÿƒŸÿ ºÿ,çÿØÿ·ÿưÿ³ÿ{ÿÑÿÁÿ—ÿfÀÿóÿ'·ÿ‡ÿ®ÿ3åÿµÿ)ÔÿSRîÿ‡ÀÿƠÿÀÿơ.A-₫ÿYÔÿÓÿ&? ~ÿf4Ñÿ%ÂÿÉÿ’ÿ¾ÿXtÿÆÿùÿÊÿsÿ)?ưÿˆÿưÿpÿ9àÿíÿñÿg̃ÿoWÁÿv}ÿ%%̀ÿKôÿZÜÿUTËÿơÿ‰­ÿưÿ±ÿs]ÿ/Q0ÿAŸÿ=Øÿ™Cÿ¶]ÿ₫ÿzÿ+öÿÿ ́ÿ~ßÿïÿUæÿđÿäÿ"=Åÿ[S¥ÿóÿ×ÿ3ư6¤“₫TJ¯₫Àÿ|†ÿƠÿ!M‰ÿơÿñÿßÿáÿíÿRˆÿÉÿ¸ÿF/ÿ•èÿ@¯ÿ·ÿ$œÿs³ÿÂÿ>Ñÿ-c·ÿÔÿưÿñÿN@CåÿÑÿƯÿ%ïÿ,øÿµÿèÿ*zM'¯ÿèÿ²ÿĂÿ’ÿáỵ̈ÿTŒṿÿtÿsÿÚÿ«ÿƯÿ7 HpfâÿfÿÄÿúÿ€ÿ́ÿ°ÿuGèÉáÿ7ÿÉÿÔÿ<̉ÿ&æÿ’4Nÿqÿñÿ ̣ÿ,uf]xÿ8ÿ̃ÿ³ÿâÿßÿÖÿÚÿÛÿ^i¬JÿgÿîÿÈÿđÿíÿĐÿÛÿđÿúÿ*\i³X›ÿÆÿéÿäÿơÿÈÿâÿØÿÙÿåÿ :#LNh5“ÿøÿÂÿÎÿ·ÿËÿÎÿĂÿÑÿƯÿ@Eeÿ»ÿöÿàÿïÿäÿưÿªÿøÿÆÿóÿöÿ@0Aw¶=bÿóÿ÷ÿÏÿøÿÜÿÊÿéÿèÿñÿ2.2BFƒÿ́ÿƠÿÛÿîÿÜÿăÿÂÿ³ÿâÿ 6^TmœÿûÿÛÿ ßÿßÿÊÿ̃ÿ×ÿüÿ+MkUØÿûÿđÿæÿ̃ÿ·ÿúÿÑÿ  óÿ)ưÿ₫ÿ ưÿóÿæỵ̈ÿíÿđỵ̈ÿ ơÿôÿưÿ÷ÿ÷ÿ₫ÿ úÿóÿơÿ₫ÿøÿôÿûÿơÿ ưÿúÿöÿ₫ÿßÿ÷ÿëÿïỵ̈ÿûÿÿỵ̈ÿơÿüÿüÿûÿ ùÿ ÷ÿ ưÿ ûÿ÷ÿùÿ ưÿ÷ÿ úÿ ÿÿøÿ÷ÿüÿôÿ÷ÿóÿơÿ́ÿ ôÿüÿ₫ÿøÿûÿëÿ /ëÿ ´ÿ öÿ¶ÿơÿÔÿ¸ÿ́ÿÖÿ 8=7&0"̣ÿâÿ(úÿưÿÛÿéÿèÿéÿ÷ÿñÿÓÿÆÿâÿ‡ÿ̃ÿÁÿ̃ÿÜÿ$ăÿÁÿcôÿ_J“ÿr—ÿˆÿ*×₫ö•₫:îƯÿ½üLĂüäú’Ûógư¨pÿBÿ¿ưăCÿ"₫v.₫¿ÿ<₫¸¥Ñü®äÿWîư{ˆ₫J¯ăÿÆûÿüÿư|ÿÍÿĐ₫X‡‘²ÿM¾₫è*₫Èmư+Ăÿ€VÿÂ₫3´₫ơß₫Ûÿë₫_ÿ}₫UaÿgVÿ¯ÿ Vÿ)ÿƠÿ₫»ÿơ[ÿ›³₫ ơÿÉIÿ[ơ₫ëđ₫>ÿÅÿÿÇ₫BÿÇÿTÿHú₫ÀưüÔ’ÿB«ÿmh]½ÿÍÿ‡qưçÿ×Ăÿ9;Øÿˆÿ±ÿߨ₫Qxÿ™‘₫-×aÿæ₫7̣₫Sÿœÿ2„ÿSÿiÿ'´ưíÿefÿN·₫èdÿÿ₫ÿ¦)₫»ÿ’2!ÿ¤ÿ…›ÿ]ÿÆg\ÿëÿ ILÿ¿ÿ̉₫ 3nÿ5ÿÿZÿ«ÿđI9ÿ\’E¤ÿ´™ÿ\ÿp̉ÿ2ÿ¬ÿÂÿ2ÿÀÿ¿ÓÿBÿds#cÿM›•ÿ{ÿs-‚ÿwÿ“=7ÿ;Æáÿ–ÿœÛ±ÿ¢I¯ỵ̈ÿh°ÿŒÿÈÿæÿÁÿúÿ÷ÿÈÿ̉ÿÊỵ̈ÿáÿÆÿ×ÿïÿ±ÿñÿùÿàÿûÿøÿæÿöÿ&(& %& ; 1₫ÿ#%ÿÿ"üÿèÿæÿáÿ×ÿóÿ×ÿơÿơÿöÿƯÿñÿúÿäÿßÿüÿ́ÿëÿăÿưÿñÿÛÿøÿưÿ÷ÿéÿÿÿùÿ ưÿ) ÿÿ#  !  ÿÿüÿưÿûÿ÷ÿüÿøÿôÿôÿïÿùÿëÿïÿöÿơÿéÿöÿûÿóÿïÿùÿïÿôÿîÿúÿûÿ  ûÿûÿûÿûÿøÿüÿÿÿưÿ÷ÿüÿüÿưÿùÿûÿ₫ÿưÿùÿưÿÿÿ₫ÿưÿ₫ÿ₫ÿ₫ÿưÿ    ₫ÿûÿûÿüÿúÿÿÿ₫ÿơÿüÿúÿơÿóÿùÿüÿ÷ÿơÿ₫ÿüỵ̈ÿ÷ÿùÿøÿôÿùÿ₫ÿøÿ₫ÿ÷ÿ÷ÿ₫ÿ ₫ÿúÿ ÿÿ₫ÿûÿ ÿÿûÿ₫ÿûÿ ₫ÿøÿüÿüÿúÿÿÿưÿøÿưÿùÿ₫ÿùÿüÿöỵ̈ÿ ưÿ÷ÿ÷ÿóÿ ÿÿưÿ øÿđÿ ôÿûÿçÿëÿ ́ÿ!úÿ÷ÿåÿêÿ$́ÿËÿúÿ äÿüÿ7ëÿúÿ÷ÿÚÿ đÿ)ßÿôÿ æÿäÿ çÿ ûÿêÿ1îÿ ïÿëÿéÿûỵ̈ÿùÿóÿëÿóÿơÿíÿùÿñÿ=äÿÿÿöÿÇÿƯÿ  çÿ̃ÿ0̃ÿØÿîÿ#̃ÿïÿ)åÿ Óÿơÿßÿùÿ&áÿ́ÿøỵ̈ÿ äÿñÿüÿúÿ1äÿøÿ#îÿèÿăÿ×ÿ"ñÿ÷ÿ,Úÿàÿ4çÿüÿÑÿ,ÛÿÜÿüÿ"âÿêÿîÿ' Íÿ%áÿóÿ(ưÿÊÿ ïÿÇÿUƠÿàÿ3¿ÿ´ÿ (Öÿöÿ=íÿëÿ âÿ úÿûÿ öÿûÿûÿëÿØÿöÿøÿéÿ#ëÿöÿ́ÿ ̣ÿóÿơÿ ưÿ ôÿùÿüÿưÿóÿÿÿúÿưÿôÿüÿ%ñÿøÿ  ̃ÿÿÿæÿúÿơÿÿỵ̈ÿüÿüÿôÿưÿûÿ øÿóÿøÿ₫ÿ₫ÿÜÿüÿøÿùÿ"îÿîÿùÿíÿëÿ ưÿ ïÿúÿùÿđÿ öÿơÿưÿöÿïÿ ôÿ øÿ ưÿöÿ ôÿùÿúÿñÿ ₫ÿÿÿÿÿûÿöÿÿÿùÿüÿüÿÿÿÿÿüÿÿÿ₫ÿüÿÿÿ₫ÿ₫ÿÿÿÿÿ₫ÿ₫ÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿ₫ÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿ₫ÿ₫ÿ₫ÿ₫ÿÿÿÿÿ₫ÿưÿ₫ÿ₫ÿ₫ÿÿÿ₫ÿ₫ÿÿÿ₫ÿÿÿÿÿÿÿ₫ÿÿÿ₫ÿÿÿưÿưÿ₫ÿưÿüÿ₫ÿưÿưÿ₫ÿ₫ÿ₫ÿÿÿÿÿưÿ₫ÿ₫ÿ₫ÿ₫ÿÿÿ₫ÿ₫ÿưÿüÿûÿùÿøÿøÿ÷ÿöÿöÿơÿơÿöÿøÿùÿùÿûÿûÿưÿ₫ÿÿÿ ₫ÿưÿüÿúÿúÿùÿùÿ÷ÿ÷ÿøÿøÿøÿøÿùÿùÿûÿưÿưÿ₫ÿ₫ÿÿÿÿÿÿÿ₫ÿ₫ÿưÿ₫ÿ₫ÿ₫ÿ₫ÿÿÿ₫ÿÿÿưÿ₫ÿ₫ÿ₫ÿ₫ÿÿÿÿÿÿÿ₫ÿ₫ÿüÿüÿúÿùÿúÿùÿùÿúÿüÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿưÿûÿûÿúÿøÿúÿùÿøÿùÿùÿûÿüÿüÿÿÿ ÿÿÿÿ₫ÿüÿüÿùÿøÿ÷ÿ÷ÿùÿùÿúÿưÿưÿ₫ÿ₫ÿưÿüÿüÿûÿüÿüÿüÿ₫ÿ₫ÿ₫ÿÿÿ₫ÿ₫ÿÿÿ ÿÿüÿøÿơỵ̈ỵ̈ÿñÿôÿöÿøÿùÿûÿưÿ₫ÿ₫ÿ₫ÿüÿüÿúÿúÿúÿøÿ÷ÿơÿóÿïÿ́ÿèÿåÿâÿáÿăÿåÿ́ÿöÿ+7?DDA<7436@Obw‰¤£•{T"áÿ˜ÿNÿÿ¸₫q₫4₫₫ëưÚưÚưđư₫Y₫¦₫ÿvÿïÿlđpçN£äơÆO ÍPÍ­ÿ%ÿ‡₫×ưư[üûôúoúúúùúrúûùûư6₫~ÿÇûơ©]oVÂc₫“&À]ûœ?é•Bñÿ¢ÿHÿ̃₫a₫Đư"ưUüwû•ú¶ùâø6ø×÷Ê÷øø ù û°üy₫]IŒ» @²,{¼b»{̣hƯZêÿ‚ÿÿÀ₫u₫$₫¸ư2ưüêû ûúù:øi÷Èöö¾öE÷%ø~ùKûSưhÿ…­¤6c? ¼ Å q éBir‡¶éRµ)”¬ÿ\ÿú₫Œ₫)₫½ưưGüYû\ú>ù øđöölơ ơ&ơÊơÔö)øàù üg₫¸ư9Ḳ# ú u {  k tF3.*:rÄ!ˆÿ ÿ˜₫ ₫từüü'û úăø¼÷öơÊôQô,ôeôơOöÇ÷~ù|ûĐưEê*7 ̉  Ù E ) — Ä ¸ c ălÏ“|˜ÇÿÿQ₫¿ư+ưuü·ûúú(ú+ù øûöö/ơ}ôôômô ơ ö÷9ù÷úèü'ÿ‘̃ÿ2 á  ̃ N:Œ { B Ç Q·Lä ÿÇ₫öư;ư›ü üjû¨úöùKùø¶÷ÑööˆơơÆôÜôHơôơÛö ø¨ù}û-ưÿh‹kO * ‡ Á ÿ ¤ - •ĐưZûº|ÿt₫§ữü2ü¤û3ûÎúEú¼ùKù̃øPø¬÷÷²öpöKöföËöp÷:ø<ùsúùû¨ư)ÿ¤®…¥  1 ¸ é É ' # Ä ZÏ)†Ú¯ÿ™₫Ÿưîüpüçû^ûûÊú}ú-úơùæù§ùTù ùƠø¤øƒøøÇø?ùÂùsúeû‡üºư+ÿû^Æ2T8 Ơ 4 N ÿ k ¨˜QÂ|PDlÿœ₫æưFưÇü^ü%ü×ûûpûTû0ûûôúóúûû4û1ûBûuû¨ûëû^üîü°ư^₫2ÿ₫ÿá¼dẒmÖ>Œ_ë\ºàYœÏ‘ÿÿ¢₫₫ªưRưưÇü†üdüOüLüUüzüü´üèü-ư…ưÓư8₫u₫½₫ÿWÿaÿ©ÿÏÿ .1gzÅà6oW´.•  lÀpØ<áưpº₫e₫}ưÎüÿ<ü6₫MüJ₫¸úLûqú•¯Đư÷ümüjưíá - đÿ\û{ó÷–ôø¾øøû̀ùûÿ^ZÀñ¬ đ 0 @i ^ îT›ÿtưT₫9₫Ÿûûú/øÜù‚ø\ơ÷mø§÷Åö«óŒóñ3́[́É́)î„đéôˆ>\*¢-+ <ÿ@‡ é ,]ùdñ9ơdüDû1öC̣0đNñHđQ̣døưưHư¾ư Å7]4—4ûóêDúÂ&A₫ké×₫î!́&đéû. dü̉₫xơüFr} p… jûåóÔóâùƠüøùøñFí ë́íḄ|ù‡ưRúâöø!2‘Î$¼üT÷Éơ™û“ü­ú÷ó‚đNíƒïẠ̈ˆö,ùûr÷S₫b"×934̉ù,ïíÿSné1 Đæø£ëẾơüÿÓûæơ±ô2üaG+)´e ƠD₫÷gùư²₫‚úËó£íƒé€êGîô0ú₫{ùË1s9%=X́ËöÍ x ͯ ë₫™îB́dđ÷ü“₫öø{ơ„ùi!eî $ ˆû•÷­ù†úˆúiô~ñ6í́‘íṬéơqûÛú"<8†2rø©íÎü$ª¹®  â?ôṔhïHøÿóüÚùôùæư³b:QÅSù6ø÷ùÈú-÷ạ̈́{ê—îơo÷¿üøÁ ”2u;t$1¥ítôAÔZ q•%ÿ îÔïoơéưâưQùù,ưÊü²ư˜₫öçHT*¯̃ưÅûøEùÑø”ö—đåê ́Ïôéø6ø=ô”öP¶;í5PÄư±̣üû;ưư>’½! ,ơûíỤ́ÉöÖù ù?úYÿµ₫æûüRü̃+¥„ Ú'₫ù¶øúÙ÷ÎóĂñ"í@î óđöưø«÷ơl Q3›:+$,¸÷àù:úöÿ_g¨û•đ–̣}ó¦óôgù•ë“ư+ư(ÿ°µê¡₫Rü ùeø÷2ơ ̣́ééîÚøŸû‹øỊ̂öË1ơ ü6ưï₫Àø|öÉơ;ơúöaï»é1́6î¢̣©øøaÿ?W–407(`"º… |ó‚å¼ñô÷ÜüÿMĂ ^©øọ̈̉tđ̉đ~ï¥ú“‚j  ¦  £ˆüË₫8úÚöàô‹ó»ö–đ́éDënî®̣¸ø«øÿóÿå á1M2¤)$°ï Êøtä§íhöÏûu…₫+ ’ü_ö×̣„đ?̣ƯîÍơĐï£ Z 0 Ïv₫¶ư«ûdøơCñZôóïë³êá́ñ©øªø§ü:́h)6b+‹(]ç ”çèè±ó€ø¨—₫5Ă ùRôåîẠ́ñáñĐ₫d± z = ̉  QÿIû›ø?÷%ñơđ¿̣äî¿ëwêùí…÷Lû›úx₫oÿG…8/*–$éíå•ïQö”ÿ₫¹ JĂưßỡ́ñ3ôEñpù¡âM L^  +»ưEùSùwơéđ«đNđ#đ}í§ë̃đ÷=ü¸üÍ₫‹è"6ü3e,È₫  ÷̣tæ«é”ñVRÿåÅkúû́ ́êñ›ô|ûÿGà“ k ¦ zËUù&öMôróđ·îîïƯïñïóÚúî₫ÎÀÿÇ ,.å8>3\ ˆ ¬üĆ”æ†èÅøêư™•¥üôĐể́-̣Iưŕï ê Û3ÅưÙ÷eñªïṇ̃&đRí6îƒñơÙù_übÿß³"ú5Å5É*ôÍ¿ưođûé–ç*îưÿM(<a₫üÿ¾ûËñîzíáöÛơ6 j 0 Û Î ˆÔmư<úơ4đîî#̣$ñ­đĐđ2̣–÷üc₫œ_å)*5µ5#Ë # öwï4ë#çwñ\₫n₫A₫ÏưxùÂơcđ‰ï¼øĐơ óơ Û Ê ™Dù¢óGñ&đ¬î¿î¨ïnñËôFôÜô•÷üèv5*l504ëDùpñđđà́Gêƒñ́ù$ Ê›ÿ—úù®øYô<ô‚ø¾ÿ+ : u ú H } £k÷·îíùîŒđ^ñï6ñôöÍø1úmư°£í ¯+63:*,Æ̉ơzñˆđ íEîḍ4úƒ˜ áú(úFøª÷̣÷úĐŸ X ¡ f ¼=øñÖëǽ±đẹ+óóÑó¬öHùvü˜₫èÔ4.)=2!+CMøđó&̣‘í>íVïnö;RŒU¤ưŒünú_úsùÏùâư©¦̉G  @í`ưö°î"́zï"̣óơ¾ô§ôơ?ö úPư±nø) Ê+ë/ạ̊ßư$ốóÓđ đºïñDúäâ ®i₫fûßûøücü»ư„₫úï3^©XĐư÷UñïƯïªóö½ơ&ọ̈ô]÷œúºưø€”*ơ+Tü̉ơGôÇ̣¿̣(đ4ñÆ÷äư·#‘₫ÿôûÂư₫‡ÿ¨ÿçưpÿ‚–½¯ ”3ÿÁùơ·đ‡đ̣́„ơÎööƠơi÷êù\₫TI”» 3!%“)¸ºĐÿøyö#ơIơẒđ ơ9úÙóÚô¹ư{₫|ÿ+*d₫ưáưi±HVØ hü_ù#ô7̣ị̉ô ÷µ÷#÷E÷ ø™ü•₫‹ªó©¸÷% yƯû÷øŒ÷÷oöḳ‰ó¯öư~5³Êÿµ₫Úÿ9vÎưÈübư…ä(mpt£ư$ü ù¼ơ3ô½óèơ£÷®ø‹øøBùáû@₫=Ö¬  wl!ÑƠ8Ï₫mú ùø2ơ<ónô ø₫§ ĐZ[^‚ÿŒưư°₫¡} ¦$ù₫Pư¥ü+ú„÷¥ơLơ>÷Rø ùè÷x÷yøûºưjư= Ùm„b¿¿ưû$ûø£ơôÏôpø½üđÿœ‹ûÿ#€Ăw₫–₫Cÿc|f@tÿÍ₫³ư¦ü_úøÙöÓöÔ÷ ø÷´ö̃ö/ùüă₫Í©₫ ̃Ư»Â­>N₫äư¡ùûöªô\ôÚ÷Éúƒ₫eÿ+ÿ^ÿÆÿ ûHÿÿˆÿs₫ÿW₫¼ư4ư’ü£ú˜øÏöˆöéö¥÷¶÷«÷pøú‘ư­ÿé“— (ÜỢ̃VÍȉ₫üú÷÷ôjô³öÄù]ü₫ưT₫ÿqú”9(pÙÿyæ™Ê₫"ư%ü¶û}úHùZ÷•ö¦ö+÷gø¦ø̃ùóúHưû₫Ë™„4µôùˆY . ÉîưđøÀöâó{ơJ÷ßù\üœü₫î₫Rçy°à_ï¬"%₫]ûúùùÂøû÷‘÷÷Ê÷¬øúpû¹ü~₫ÿB„Q; £¤Ừ ·œPDüGøÑơ¡ôTö[øhúäûtüèưoÿµ³ª¬Êå¥`ÿ%ưëúÏø[÷*÷(÷æ÷$øøQù2úqû¥ü₫ư°ÿïXfN }”œ §pMÜÿ3ü ù!÷†öÎ÷îødú.ûüÑư•ÿUù Ïœ=wÿïü¼ú½øs÷,÷¤÷yø¬ø>ù úJû%ư±₫[ÿñÿÇ’q„đÔ b 8 ¦ uI¢<ÿưđúÀù(úxú|ûûøûôụ̈ưrPιSÿm₫?ưZûúù¸ø°ø)ùĂùú/ú_ûÿü&₫Kÿ¾ÿùÿS(§v̀装 “îí°÷¸b¢pÿV₫¢ưMưQưYưÄưÉưI₫¦₫SÿxÿÈ₫₫œư¢üqüüûgûÜú úAû‘û&üwüÆưg₫4₫ªÿt`*¾N‹JŸ_îÊ€ÉÎàTr d9ÀPI·ÿ¡ÿoÿ×₫̃₫\₫₫Û₫#ÿÿu₫@₫₫I₫³ư­ư_üûüüÄüküˆürüÙüưêư ₫P₫ÿÓÿ8Ô¬^Ô/0L¬û‰©¿Ï{¾ÉÎ×V)“µ2ßÿ3ÿß₫ÿ™₫µ₫Í₫₫ưÂưƯư—ư3ưGư´ü}üZư¹üaüœư½ưd₫¸₫€₫b₫ËÿÔÿOq)_ÿ™́ü±k÷P°D>ÉRU}1S©’uhE»ÿ\âeÿê₫À₫¿ÿ¢ÿw₫x₫₫W₫ÿU₫rưư$ư°ưD₫ư"₫`ü₫0₫‰₫Kœ₫̃₫¦ÿ?̀öơÿk̉ƒµœvÀÇsúđè3Ựáƒx˜­ÿ çÿÉÿµÿ¬K¿ÿÜÿóÿl₫ñ₫ÿa₫>ÿÿ₫0₫zươ₫JÿP₫p₫˜₫̃ÿäÿÄÿyÿˆÿ2€]ÿÿtû“ÑOyOÙ»ÿÿX¥ ²‰ÿÿưmœÿ›ÿ—ˆLÿÖ₫Bÿ‰bÿ—ư™ÿÿă₫¼₫^ÿ‚ÿđÿ8₫ơMÑÿÔ ₫Ë*éÿ›ÿ`ÙÿÂñÿDÿJvÅ₫–ÿ[ºÿ'Y“Èÿÿåÿ«© ưưË₫Sæÿ·ÿ±B₫¯₫¥ÿ₫ ÿ́œÿa‹mÿ,û₫PÇÿ³₫xÿQ}X€ỵ̈̀ÿ$6ÿ]ÿ}ÿ'–·ÿm‹ÿt₫ÿxÿÍÿD'ïÿè\1ÿQÿ{ÿÇÙ₫¾₫₫¾éuØ•ÿ(ÿ²₫<ÿ1ÿL°Î[̉j̃₫Œ£ÿ>ÿbËweO½ÿ2ùÿ₫r¦ÿFÿ™­ÿ₫˜ÿ‰ÿc£ÿ.ÿ{ÿ…©*₫´ÿ_ôÿĂ₫èÿÀ₫[¼₫¶ÖÿÏ?ÿÿ́ÿ)ÿY₫ñÿ¢pE…ÿ­ÿ…₫ơ₫wÿIÿ„ă[_ÿ¿ÿ9ä/®ÿ×₫(„₫bÿ'ÿØn†'¡£´₫ô₫|ÿ£ÿ¯Ù₫¢f ÿ Â₫ÜÿáÿÈÿ^ÿHÿ³ˆÿ©ÿW=Û₫ÓÿĂÿ…oÿëÿʬ«ÿÓ₫ÆÿÛÿ^ÿÿÉØ0ƠÿRF4¢Uÿîÿù₫d₫r$'ùÿÓæÿØÿ­ÿFÿÅ[ÿÀÿÿ9ÿ#$ÿeØÿ #!Ó₫t1 ÿ# ₫ÿ…ŒÿmbPÿüÿ₫ÿOÂÙ₫×ÿ«ô”₫¡ủÿi₫ˆÿcà\ÿJ₫ïʹÿ«ÿP₫°DK₫Ơÿ¸ÿ>₫b₫ß₫Ê₫ơt‘ÿŒ₫¤ÍÿÿºVIÿBÿœ₫Ù%̉ÿéÿådÿµ€}ÿÎ ₫*g·ÿØ₫Ç9‰ÿ¤0ÿCñÿÖÿF+„₫zñª₫ºaÿ²Â₫~l,ÿ_ÿßÿ<[ÿ ÿ@ %ÿàÿË₫îÿe¾₫ñÿ6ykÿmÿó×₫₫ÿ ,Èÿ1G&ÿ5J Aÿơ1—ÿÿ²d»₫tûÿpÿÿ? ÿvÿ9XÊÿÛ%ÿ9á´₫<Ôă₫£=ÿ(ÿgÄÿ2:à₫"\ÿgÎÿwÿ;*ïÿØ₫]{_ÿ°£ÿ•Œÿ ˆû₫˜ÿ}ÿ»ÿæ|ÿÿ­ª‚ÿ6¹<ÿâÿƯÿ'£ÿ¢4ÿOÿÿSMwÿyÏuÁÿ"AÿÅÿÿ¯ÿ¯ÿƠÿáÿ ï24 5¥ÿP^ÿï₫|ÿËÿ₫₫?ÿ™ºïå5·Ûÿæÿ†ÿ¡ÿÿŸÿ‘ÿÿÀÿZ­ÿøÿ¸“VJÛÿÿ₫/9ÿVÿŸÿæ₫Ư¬ÿ¤ÿܪ֥ÿŒgÿô₫tĐÿ:ÿÍÿ.ÿđÿ¥ïÿkµŒÉÿ;Ùÿ+ô₫=ÿCÿñÿ`ÿRÿiOđÿ+Ëá₫Óÿñÿ]ÿ£ÿÿ¿₫¤ÿñÿ́₫H°ÿëÿ§73Úÿ®ÿ,ÿ¾ÿÿYÿ3rÿzÿ4sÔ-̉ÏX>jBÿÑÿ®ÿsÿÑ₫!ÿIỵ̈ÿđÿÊDVM·öÿ̃ÿŒÿjÿ<Áÿơ₫Ú₫µàÿ~ỵ̈ṣ°?Åăÿ"ÿJÿúÿEÿBÿ›ÿ¦B‡qÿ•Qöÿßÿ³ÿÊÿ–ÿœÿƒÿ'mÿ DÛ6éÿ ûÿFÿ¬₫£ÿŒÿUÿ½ÿp™ûÿN–Áÿ‡´₫lÿ%ÿ̃₫$ÿîÿRÿB_¥ë₫ßüæ[#IÿG`ÿ³₫/₫ ₫ư±ưDÿ$ÿ}ÿ`ûÂM̉Ö¢[ÿWgÇÿË[ÿÿÜÿ¡ÿöÿ_ÏÿNÿµÿC̀ÿÿØÓÿèÿ2k3FØÿIÿ–ÿ`ÿÿ›ÄÿÎ₫¬ÿ±66ÿ“e áÿ‡ÿL{₫u·ÿ­ÿ<BÿÍNÿÿÿË/ÿ$ÿ‘XÿÀ^ÿ¥ÿúD“ÿ©ÿ†¾¿ÿ¡₫¡MÄÿĂ₫GÀÿ(Å₫ƯÛÿ™ÿgç¥ÿ?ÿ‡;ÿysđ₫Nz¾₫I/WÿDRÿ9ÿ†ÿ ÿl¬ÿ’u'ÿµØ₫¶aÿ}ÿïÿCÿÿxÿ½ÿÿ¤T̀ÿ ̣vNÊÿ̉ÿ eÿ ÿ:5ơÿuÿu–“₫qöÿ–µÿ°ÿ·÷₫ÿˆ₫‰ÿwÿú₫llÿ÷₫ µÿƯÿ ´‡ÿ²uƒê¾ÿl¶èÿÛÿ¦ÿ²¡ÿsÿèÿ‘]ÿÿÿ¡₫2₫óưYÿÿV₫₫Ú₫¡ưüÿĐ₫Eÿí₫—ÿ×Å[¦S#­ &ưăZjưdú’ùböùô¥óÍñóẬº̣lôSôaømùƒúS₫Lq ùu%x{{Ơ¹ ¢ưÿ“úởïnî*îŚHí·đ.ô¡÷ ùFüÿưVûûWû¦ù øËơ%÷¾öăøxv ° Ĉ§ ¢§ ¯OÿÔö2îĂæCçyäÑâéÈîŒơ‹ûQ†@œûư×ùôYî}î•ë>étú5w-<'.)Ÿ'µ+%O2V=ö́®à[̃^ÛFØááçÚïưÇ̣ 6z8Z₫¡ø®ïÅè¢åœß è¯ù®ù’ùơ"W+Ê,v0^0ª ^èñû>đÉäyÜ‹ÙÔ7ÚïăŒè.÷K ̀̀r€Èü5ơpêäĐà§Ư/ïº÷éû~í&!-V/b1-(A’ ©ñ^ề̃fÙ;×Ï×\âLè‡̣Zw ›P0ư Î÷³́½å ßâÚæƯ¤ñ«÷2Î# )₫.¿1×/z"-ûó́çƯÜÙÙ¾Ư«æƒíºùéc zx3erư$óZëeä¡ß]ÛÖæ øÈ÷ O^#O(½-g.Ó'àz¶=óFíæƯHܾ̃Àä‡êp̣¥ÿưq ¡àr 0óùtñEë‰åAàdâïôçöÔừWà'G*Á&œb_œụ̂(ïäóßâªäĐèî#ù} "¤Ç ñ ₫M÷uđ:í]å¡èøơy₫áh0> œ"% Øs)ư²ø³ọ́èwæQçúçhêäîÄø₫ư{¤ ô Đ • dÂưøqô}ïq́Ú÷z÷´ù̃û c^éÈq`¢Ơ₫₫íû—ñ^íÑí‹ëxëîô ø(üèX*Ü) ₫}ûGù=ó*÷Èư×ø^ư  #×₫pù· „Ÿ%ü¶ótóḷĂî®ïẠ̀°ơ¾÷¢ûLK~Ñhÿ¡ûáüƒ÷î÷:̃üôJ ` § ²-©ä 0  ‚¥₫CöÜöö¦ñç̣eôåơ8ø₫ùl₫Lÿµ₫Üư»úùü’÷Júư¦m  Y e2  ơtÿÓ«ưöDø¼ö¿̣~ơÿơP÷zù₫úÀ₫¢₫₫Áÿuüúư{÷ư¯¶ưe9 D Jˆ D M , ~ÄÿÛØûưö0ù2öôÄö÷Dø·úaüÿ ÿ¸ÿwYư0ưđ₫•ùªư1₫­ŒĐù M p \V̀ÅÿÜư@ùÆú%ù÷çøùZúüưéÿ€UÿLËÿ¨₫,ÿ¥UvÔå¹s}s»˜H£ÿƠÿ ₫Fư₫PưĐüÆưU₫₫ÿ¹ÿOd˜>pñÿj‚dWvû];´_¸ÿ<ßÿ”ÿ˜ÿNÿ?ÿ)ÿEÿSÿÿ÷ÿF‚̀₫Üi\ ŒÿzÿƒÿSÿXÿ¥ÿêÿ 5~v^cÙÿ‘ÿ1ÿí₫Ñ₫Æ₫È₫!ÿvÿÚÿT»']w…=ă”$§ÿmÿ;ÿÿ8ÿ}ÿ·ÿúÿ\—«À²u%Óÿlÿÿè₫¿₫Ă₫è₫&ÿmÿƯÿQö<÷“Aíÿ¥ÿ|ÿUÿdÿ’ÿ±ÿ÷ÿ8n£®­ XƠÿzÿ1ÿ ÿô₫ä₫₫₫Bÿ{ÿÉÿ>„¾óñè¾|NÑÿ¼ÿ©ÿ ÿ¿ÿÚÿúÿ9\f„{K"óÿ²ÿgÿ?ÿÿù₫ÿ'ÿDÿÿßÿl”±Ê¾«nTC"-.8(÷ÿ̉ÿªÿÿXÿ9ÿ&ÿ%ÿ.ÿBÿrÿ¥ÿÔÿFj£¥¢†qcUA::3+)ïÿÖÿ¸ÿ–ÿ‚ÿdÿRÿUÿRÿ^ÿ|ÿ“ÿ¿ÿ́ÿ7Up|z‚yb\H51)  üÿùÿâÿÍÿÇÿ­ÿœÿÿ“ÿ™ÿ¢ÿ¤ÿ½ÿĐÿăÿ,?CPQIK;4. üÿüÿñÿîÿíÿƯÿÖÿƠÿÎÿÊÿ̉ÿ̀ÿƠÿØÿÛÿçÿđÿÿÿ #$)/,*," ₫ÿ₫ÿùÿ÷ÿñÿñÿôÿïÿñÿđÿîÿîÿëÿéÿîÿîÿëÿđÿïÿơÿöÿûÿ"úÿúÿöÿùÿøÿïÿôÿúÿôÿøÿúÿöÿüÿöÿïÿíÿêÿçÿăÿæÿ́ÿïÿûÿ !!,0*&"øÿùÿđÿîÿíÿëÿôÿ₫ÿ₫ÿ ûÿïÿéÿßÿÔÿĐÿÊÿƠÿÛÿçÿ 458C8*# üÿđÿßÿáÿÖÿ×ÿçÿăỵ̈ÿ ûÿđÿâÿØÿÓÿÄÿÈÿÖÿăÿïÿ)4A@90( ÿÿçÿ́ÿàÿâÿƯÿçÿđÿ %.ÿÿéÿØÿÆÿ´ÿ¼ÿÆÿÛÿéÿ #9?BEC;!úÿôÿƯÿƯÿĐÿÍÿ×ÿêÿđÿ!90, îÿÙÿ¿ÿµÿ´ÿ¨ÿºÿÍÿåÿÿÿ3?22úÿåÿƯÿäÿ÷ÿơÿîÿ- úÿèÿßÿæÿ̉ÿ¸ÿÅÿÓÿåÿñÿúÿ/FP5N-G Çÿ°ÿñÿpÿÁÿgæGJû(ø₫ù’₫‡ Ư üú`ûÎ₫@Ë•Bÿ)ú6ü¨›²ÿÁû₫V´uÿîÿ [đÿ đÿàÿ£ÿçÿIBzE0iëÿàÿ}ÿˆÿ åÿ¾ÿ€ÿ™ÿC‡ÖÿÓÿ-ÿHRd7ÿưœưg%%äư0₫¯óz\ÿ}₫rÿ ¿ÿcÿÿºÿuÿT&‚·ÿ·ÿH¸¦ÿMÿ ÿ̉ÿÿQÎÿ6Óÿ¸ÿÙàÿ¯c[äDÿjÿ¤ÿ3ÿûÿ¸ÿ…Yà<Ó­₫1₫®₫¯ÿ[ÿ₫«¡₫Âÿm̃ÿf.]ï®ÿîÿÿÇXÿÑ~$₫¦ÿ¶L2 ₫.ÿo£*j₫öưù₫÷₫?³ÿœÿ(‘ÿªỵ̈ÿ»4ÿ_ÿ M₫7ÿJ=ÿñÿÿ–†ÿ3ÿœÿúÿ˜ô₫ÿƠÿüxÿ-₫Ź]ÿ#2₫™ár ÿÿÏÿ Ö₫·ÿyºÿ ÿôÿc°ÿ\@»ÿ„PÿÂÿÁÿéÿ{ÿM6zÿéÿ‹½Àÿÿ¶ÿŒUƠÿÜÿD˜ÿ=ÿÔ,†æÿƠÿpY«ÿÿ 3Éÿ₫¿ÿk¸Ö!ÿÎÿ×ÓÅÿl₫”ÚÿàÿLÿ*xdÿ̉ÿ áÿªvÿÿÿ$ÇÿØÿt0½ÿbÿơÿ¬´ÿđ₫¼)hqÿ{ÿ FŒÿçÿ-K×ÿ°ÿüÿ™2ÿG´ÿÛơÿ£ÿ,Frÿ2lÿJ:Îÿüÿ =ÆÿƯÿ¬ÿ‘ÿó„ÿtÿ¼Ôÿÿ̀¢ÿ̀ÿ¥ÿï;ÿóÿ¢ÿöçÿ_ỵ̈ÿ(Ëÿdÿ›ôỵ̈ÿËÿz©ÿ9âÿ>0wÿ* Dµÿ:§ÿÀÿ¾ÿ§AÿÙÿeÿHy=ÿØÿU^"ˆÿ_ôÿQ#wÿA5 ¼ÿÏÿÈÿÈ[ÿ¢ÿ_ÖÿI”ÿûÿ­“ÿÚÿyÿûÿ=»ÿưÿWèÿ0hÿ›ÁÿˆÿL'ÿ~ÿ̃IÿúÿL÷ÿÛÿ d&́ÿăÿÈÿ:fÿ<@€ÿíÿ7Üÿüÿg¥ÿLôÿÈÿùÿäÿŒăÿ·ÿôÿ÷ÿUèÿèÿtÿLˆHÿ—ôÿÍÿđỵ̈ÿĐÿ ÿC™ÿ…đÿl‡ÿôÿ „gÿOôÿÿâÿßÿf½ÿđÿ¢ÿ¦¶ÿ ¨àÿ™ÿüÿŸYë₫.äÿ"²ÿöÿ[îÿ̀ÿ´ÿ‰g›ÿM´ÿ½ÿ‰#wÿAöÿ¹ÿ1ơÿÇÿ̀ÿ™§ÿ1 ÊÿS(åÿ«ÿRYWÿÿ¦̉ÿßÿ,*ÿé 4qÿÿÿ@-æÿ¡ÿ"®ÿcÈÿµÿDS<ÿÎÿ1œÿvàÿçÿ·ÿ\ÿêÿj̣ÿœÿK»ÿ^˜ÿúÿBƠÿD ăÿïÿ Ïÿ ]»ÿ8—ÿ̃ÿ÷ÿ[-́ÿ¿ÿưÿÿÿ̃ÿ(‹nÿÛÿ7ïÿ¹ÿ³ÙÿÙÿ‘ÿ7fÿ "[}ÿæÿ^ "oÿṂÿ ùÿ‘ÿ‹çÿ÷ÿóÿ̀ÿ\XÔÿ½ÿïÿEÿ‘îÿBÿ6đÿWæÿ®ÿ8ùÿØÿŸÿà₫ÿŒÿÁÿ®ÿÏÿ[v”ÿ̉ÿ̃ÿ4;Fwÿ‡ÿI`¡ÿ̃ÿưÿưÿĐÿ“̃ÿÔÿĐÿb̃ÿ4íÿÜÿ-Tÿ9U\Ÿÿªÿ-°ÿ<(BÍÿ‘ÿ̀ÿn1Ïÿ“ÿBöÿ$‰,ÿ·ÿ¬kZÿ̃ÿ1Øÿîÿi_­ÿÿÑÿ_¯ÿvÿU½ÿhîÿ ƒÿg‘ÿ<ûÿøÿÖÿưÿ=Øÿ›ÿ>DĐÿÆÿ^ªÿKôÿ#sÿ TơÿoÿçÿBQ³ÿÿÿĐÿ7Tÿ́ÿÑÿ¾ ‚ÿçÿOñÿ‚ÿn:£ÿüÿ=gÿóÿ‡đÿªÿÓÿM ·ÿåÿŒƠÿĐÿ>…•ÿÑÿB‰ÿIYÑÿ™ÿ©ÿ\*ùÿ€ÿ'¦ÿ$ÏÿMÊÿ'hæÿèÿ8 @™ÿøÿ%Îÿ¿ÿ ăÿçÿjÿU1«ÿóÿĂÿøÿáÿ$Èÿ8ÍÿLíÿ,%Äÿ=YçÿAßÿ·ÿ;MûÿÛÿêÿ­ÿÑÿxÖÿsÿ¤ÿîÿøÿ·ÿ"ĂÿTÿ ”ÄÿV‰ÿùÿa)iĐÿñÿFÇÿ‹QüÿBÔÿA†!7 äÿùÿXÚÿ¶ÿ”ÿ×ÿ[ÿ†ÿßÿ‰ÿá₫eÿ0¿ÿEÿÇÿ¬ÿ8Gköÿ­µqçRˆ"¨7½@¼ÿRCfÿqÿÿaÿAÿđ₫7ÿà₫3₫™₫ƒÿr₫₫7ÿÈ₫Ï₫ÿûÿñÿéÿdÔªÓ`epĐ\ÓtFY ÿÙ₫ÿ₫Iư†ưöüü=ü–üüœü†üCưư₫0₫„ÿûÿÙÿÚæ'»_Ê¡ă €-¥ù¸1éŒêÿHÿÿt₫Üư„ư„üƒüZü>ûû£ú<úÓùưùĂúgûăû8ư₫ÿÓÿÛ‹zW`N²6.ụ̈qƯJ[‘tøÿZÿ‘ÿvÿÿ₫Úư₫₫ü*ü¿ûûÏùKùù₫øÛøƯøªø‘ù»ûwü'ưZÿ¨Ñ2Úe•sẠ́…˜t3qñˆÍÆÿ¥ÿ/ÿI₫‹₫(ÿÅ₫ÿmÿrÿÿÂ₫…₫+₫Áüˆülü¡úfúßùTø)øQ÷ø ùaøăú#ư°ưÿæÅ8v` ˜ E ö Q iøn Z ÿ:₫Đưîư{ư"ưÛưå₫¦ÿ»ÿ`ÿ.ÿƯư<ư üpúĂøæ÷÷Éơ¹ơUơ'ö÷÷íúáûZ₫¶I- G Ô Ë à  S ƒ OƯF»¢₫äü ü₫úÂú ûCûüĂư|ÿªªU›Vÿ3ưnû[ù§öđơMô:̣Qñ~̣ỵÊơú9ûeÿ@q ơ 3]I=b€v \ Œ¼e₫ù ÷lö¥ôûóơ ÷‘ùâüxé:ÇŒÜdF&ừù.öeópđ¢îốÚ́ í ̣úøù*ÿ— RĂøx¶Ô‹ˆ® ×Éư÷öđî«ícéOézîñîöÎü„Bï f ¸ W Ê₫û¡øẹ̀>ê0êè#ålå7ïæ÷óøé °O½%e(·#¾  2 „₫ ôvêƯä¤ăà’̃„ă´ë…ñ&öÿå £ . öd7 *ú@üSñ‚êøé4ä…àüáỨ?ölöñ  *N.u,:)$'"ohVöèă°̃¶ÙxØƯ4æê^ñ4ÿ¥0 Á₫ƒh ĂüÄñXîè.à•à4âùë>ô¶÷ | u%—1ö./Ü-p'ÑqÇ8üê‡áßiƠÓLÛ&ßPäĂđçûÁ ơï¿»‡ôưö^íæ¢ß¢ƯfƯPß*ñºøxư¿Ơ!È"19±4»1E,Ú#̀=û́ôڹסÓềfÑLƯvắŸư’ üƒ’!!éàø &₫D÷=í§à¼ÚƒØ¶ÓÇ×0ÛéúiË0v0æ5WE>5e."P­û”ï.åùÏOË/ÎLÆR̀]Ü9æ)̣ÈŸ"¸*")‰í|üđ/éÛv̉j̉Ñ=Ñ̃Ùúăní5 61;è??=₫D€?+1ơ#9Ùpî à̉ÙpÊ Å Í"Í-ÓöäqóöÄN)l*†*g)^» Ô–óPåÙƯ×'ϾÏÈ̉„×ÓÜ ́ơ ³#$₫*ưDV@è7;ª.è$ÈÿơB߯××ùpÎÚô܃æV÷Qeq«$˜'̀&#N% L9ơöç*ß Ú£×}Ơ–×ˆÜøà2éô6₫œ— p(ê! 9=m,+-v+ Ă¡uơ’ä̃ ß²ÙjÖ|áóè9́øQè Æl¿ ävo ÿ=øÿîqă°à̃lƯ ̃Jáøå<éï§ø{"[%¶/1Đ7n'‹%Ó& pöè7âÿáßWƯ*ä;́9ñöø { ˜@dưØï ;øíñ¸êeääâ7á äªäTçë0ñoôœüÍÿd Ú!º’"4º.$!&u Ï₫Áï_åaä¶áŸß¢â#éÙï„ö\₫Đ Â@“¸„Ơ ÛNÿfø>ñƯíÙéæçüæRèơếí”̣KöÛøöüKC•^,31M!W ï!Ÿâÿơ¥çJæÖă?áưă¤éîFöĂưÊÜ Đ€`ï © ÁI7û˜÷éñÀîüíŃúé!́îfíUîWô7ö ù©ûÇ \)È-L.-@cA ÿûkïæTå1âÑà-è‚íüïGú1®Ê ÙÆ»Ö; OÿOúö‚̣ˆï îû́Oë’́tîîSï²ô ø@ú£üG›]7 I.Ñ-ª%A Sú`óßê¢å×ă¢á ă°́Ị̃ô}₫‡ß ¯ ç#9; È ùûíøpơ‘ó@ñ©ï|ïµîƯí“ïñOñƒô ø¥ûªü« S g ÷í)Ù.Ê5ZîBù,đ éRåÆä½åqåḯr÷ û4₫R0`  d7 q å₫xüøùåơYôÿóæ̣!đwîÀîgđ đ¯đÜó‰ø¾úñưq­#R"•)+L.Sê ÓWöḱÈå„ăÏåƠçZè•ïXú2¿}û €P R I u ºvrưÛûÙùJö¨ó#ó!óÆïíAí¶ïqđ›̣•ô~ù=üº|&ç"e$_-i(  k¿ûCï¬ædă{ăáæˆê îbơLÿ ÓH ?  êÏ5₫›úWøöNơỤ̂ÓñBđï9îYïëïf̣Ïö¶ú}û• á( &Tœ'¡,©£ÁÔưôÑè»â¾ăè´í?đ5ôư[Ǿ ‰ é ¸ê¢fÿ´úú÷₫ö¦öñô óÿđ(đÙđñđèđươdúÆûŒư[N%<*!Ë!*H$Kéÿ‚üÖ÷$î…åäcç«í§̣Ïơùˆ¨v 0J8  SvYŸüËø„öSö{öợïGđṛÀđHïôSú.ü8ư¬@&1-¡#ĐÑügö(ơÍø ú&ơđ¬đ(ọ́îŸîḅ÷̉ùmª"3æ.₫#¨#i$wLp÷î‘ê½ëAî®́“ë¿̣–ÿzÿYöë# püŒüT©ùùó•ơùUù%ôñ³ñẸ̈=ñøï=đç̣…öZÿ©B-y2(#y$"C₫zñÑêKë\î“î]́]đ&û¥aá MƒƯ8ưbû›₫wÀüÆöơ‚÷iù÷Góœñ˜ñ!ñđ7đIñ~ô]ùÁ 8'V4q-I$}#!âtZöÖêTé>î ñÑí3îÎöªêï«ÇÿkN+Aû$üâ₫éư”ùö‹ơ_÷øơṛ!đhï‡ïQñ:̣ó̉ơ• #¨4-1¡&Ñ"K đơ ©ù(êç¤íQ̣ùïïÿôˆ₫[Mny₫¼ÿCèÂû‘ú]üưûj÷ºôCơ÷/÷çô4ñÁî_îâđ̣ÇôÔö¡ï!ă3á1G("ë• ăûëæÍ́7̣sñ%̣0öoü2:¦•ÿËÿ"y´ư6ûlúLûEû*øYơaơÔơÊơ˜ơ1ógïëí€đ©̣VơrøÎØ!‘1î0…)À".T´ vûAëCçÀë*đÔñ<ôîö üu eHê‚RÛ₫iúüøúÇù¶÷ öơ^ôâơ’ö̉óŒïĐîñó_öïú ·#{0/)V 2ăùTë±è|ë’ïWóèơöùû;uRJèG6ϸ₫¿únù–øÄ÷¸÷ïö¹ôÑóMơDơ`óßđ˜đ+ñ-ô÷Ûz' .+%ưq.6ơÎëûé×ë¦đóô€ơüöˆư©Ö]¼½ <^₫0ûĂø/÷±÷.÷ZơŒóÆóĐônơ*ô ̣Éñ’̣IơûøÉEĐ(+s(" 3Ơ> (ÿạ̊“́Ăé.í¥̣̉ôơô†ùX₫EÚäGf‰ö`₫˜új÷›ö°ơ,ơ:ơPô¬óô¿ó¿̣ñó¨ô’ơÔö˜ñÊ"'*D)!:ưBˆ›ú!ñê¨ê¸ï³óơơ¬øûD₫:>ă• -#¯ư–ù6ö@óAóFô¸ó„óỊ̣́£̣4ơKöH÷î÷ÜZ© Đ(h(` TP¦  ưzólëÈê*îẠ̀fö ù4úưâ\r ù ÿ&ơ7₫Eú;ö¹̣©̣ˆ̣"ó‡ó óóñ!ó6ơJ÷tøêûn¢&!â&ä$úXq™ ‡³û]̣¥́í²îNó÷ù+úÑưV¢ ê æ-âºÿxưUú¥ơụ́ñ&ñỤœ̣‰̣=óŸôaöKøÑú:­¹8$$ÊœW¯ in₫Ûơ~ïǻ]í2ñåôĂ÷úùÑüêÿ  â T:¡̀ưÔú ÷åóÔđ‡đÍđ²ñ¢̣̉óËô'÷høzư# è·#d ûÂDÑ ó~ülô~ï¯́Xî÷ñô‹öXùnüf^ ̉ Ü ÿ̀µMưQúưöó¶đ–ïïúđ^̣¡ónơưöOúiÏK("2!†Â@T Ăÿc÷ûđ\í@íƒđÓñnô‚ö±ùT₫‹$´ T /qüYǿó‡ñ!ïØîÿïPñ/̣jô)ơRù"í#b!—w#x ¢ÿF÷§đỐCíEï ï;̣~ô^øJ₫“íl ¤ nÏüøÉósñïCïcï)đ đŒóˆô´ư *© í#ë ^€n¥™¬ü ôZî„ëốǘ:îÏđ̉ó̉ùŸWÆ} g M ­Á₫\úơ›̣}ïØîŸî‡îƠî²ñ”̣Tụ̂ ™ /$l"" ]TÀëư)ö9ïºëbësé’éoíèđ̉ødÿää I  +:ÿhù¦ôùñOî1í́́ª́½íùï!ñ7₫́ ̀a#$!#̃"‡ ùÉü)ơbîƯëöèÑå§æ¤ê đûø´₫0^M Ç N ü>×ùàôØï?ë́éséÂéÝ4íọ́†Öé%È$&%'È"çø…ûợî́Jè‹â*á®åơêṂ ùdư° h™ DIQÎùỰtë”è‚èVçlçêç{êøü ¸L#~$·(ê-—+’# †=úùîçUßAƯ¨áNæêTñÎ÷Ÿ_ £\> å  +ụ̈óáí,êÅèåîâäRèü r²%$E,a2¶- %<ê ©ứî“åaßƯ áKáAäḈ}ôëÿZ· ŸÖ  ÑuûÂơ•ïçêøæÀâ"ăsặ̃V Ú]!n)2x0˜(¶#u3ÛyôÇêlä§̃È̃SƯ ̃Éæôí¦ö¸ÿÖ2 £ẉ Tÿ—úóÖ́±è¿äăÎätơ} ¤z+•2h.ú*«&hC÷ï­åú̃ÜØÇÜuăè?ñsùu]   0r7üÔôäïüênæVätñđü$ 6ÿ"-Û*J*n+6%¶æ ûÀđ+æoß~ÚËÛ`̃¶ß»æ9ïª÷¾ÿ&J «4ùúÎöẠ̈’í‹ê@ơŒ₫*kJ25$4$ô# &%5ˆy ÖDú²đƯç"âµà9ßXß[ăæè;đ¹ö^û#i¦ÿü¢÷óọ́Júă}®— <ÀT“ 3 ƒ¿ơ Qụ̀\ë8èäXá‹ăbç½ë̀đpô1û»ÿ½iéQưđùÜ÷÷3ưÉÿ·T ̃ä̀Éô î£₫ |a₫ øẹÀî¢êè>éoêÔíḄÎöVú“üw₫¬>#ÿi₫ûư…û2ùÛ÷5û¤₫fÿ\u ₫ œâB+ * B¾üéöüộî>íïîị́Dö³öù\ü6éÿúÿÿÍ™3₫?ü₫øƒú-ø†÷­øhüƯ₫OˆS T gåVi › LL₫Œùüö öăơơÁơ^÷¯ú¡ücưÁưfÿ-ÀXÿÖ₫ü₫±ưgû øhøOøĐ÷B÷ øûû¿₫NV¬í ‘ ̣ ‘ ) Ÿ ‡ `³—Ÿ₫èü†üửüóü@ưY₫eÿ7ÿ3ÿ…ÿÉÿÿJ₫ưÉüËûûú·ù+ù$ù;ù ùQúŒú ư*₫ç₫ÊÍñ¬¬]ä`ĐÇË₫´Wÿ£ÿû₫‡₫ ₫#₫a₫~ư¾ư<ưÇưĐüèü±úYü¾ù̉úó÷+øDø´÷U÷Ëöhúû¼ưhưcÑÈIÇ ̀  p ­ H Q<x:†̃P¨|ÿµÿă₫‡¡üN₫àû¾û&ûË÷9ù›ö ÷Ïô$ø ơXù-÷úÇûû\ÿŒL̉²·ixGRôù¥®‡E<xN1₫ă₫ªüü?ûù€ú¹øFú¤ø×ù?úÊú<ú…úTûçûüƒú²üGüVüúüóü5₫öÿ9©üă–€ á m ‹Ä̃Ø^Ø7đưưMư\ưrưüưlüª₫éû'ư)ư5üeưû»ü´ú°ûëúGúXû üÄûÀüéưP₫g¸¡–)qÊG̃¸yo=¥ăŒcă©ƒÉĂñ₫½₫“₫²ưÂ₫¸ư»ü£ü¯ü¸ưsư’ǜü7₫ưÖü²û£₫¡üưyû₫₫%₫yüAÿ›ƒÿêÿ"c‡-n/%~YHó«Éƒ”{%¡¬ÿç8z₫KÿŸ₫¸ưÂüµü:ư`üüYûư¡û üZüzưÁư¢ưÿ₫₫¬₫’ÿŒ~œuN& ±íˆEz/ñˆIteøÿÛÿ¢ÿï₫º₫Á₫Ü₫Ô₫ºư„₫ø₫ëưwư•ưÔ₫EưÄü—ưÿ>ư₫˜₫Ä₫Æ₫£₫NÂÿ‡¸ÿ 4ØÛ*¦‘ aP{Ú n5NKoÅy5 $ÿđÿ₫ÿ[₫¹₫sÿMÿzưË₫ư₫ÏưèưjưG₫˜ư₫–ưR₫₫´₫ơư”₫4ÿ°₫å₫̃₫`ÀÿÈÿרƒ#®//¹¥‰9U-ë öØÿ1èÿ×₫ÿ¿ÿ9₫^₫ïư«₫"ư₫dưh₫²ü£ư₫ˆừüÅưíÿ₫₫:ÿ' ü₫Đ/qsQ>ï?Ä÷₫;è+ªhĐøÿdÿ«ÿ!ÿ³ưÅ₫O₫+ưC₫³üñư ₫3₫+ưư¾₫å₫Bư ÿƠÿÿÿpÿ¨¤ÿ­ÿơÿ…Œ™OJ•Ϥo9j½›ˆí¡øLhÿª₫‰₫_ưdÿ™ư†ưtưÿäưÑư`ưó₫u₫{ü%₫c₫Æư™ư₫5₫~ÿư&ÿ+ÿÈÿ;<íp–̃«øôn¤ øƒßÿÿZˆ₫-ưư€ư—ü™ûùûUüÊû—úÙúOü'ưjû«ü3₫₫ÿü'ÿ¤ÿ rÿ¤*³¸q“ -Ñ+ß<®ÿ ÿíư~ư¹ü¡üüưü¸û!üáû=üíúµû×û<û_ûăû©üû‰übû|ư¯ü‚ưmÿÇj¥ĂtVy  GnXokOPÿư₫₫­üûü›ü‰ûdûü§üüFúrú“üsùéù́ùú)ù×øtù‰ûĐú{ûFư%  Ơ đ  np9 É ï ¦ Ç_₫Yûúúµøä÷Çùfù·ú?ú«ûüü9ü<üưưĂû9úlù%øcơ™ôlô½ơöSö™ưÿ”çqXʽ G½ü—ø ôñÉñ'đưđôßơÊ÷Tûùüÿ¥₫˜ư¥ú@ùaö­ôWó5đơPó ùÄ₫ø>"]¿N1ΰàÜ MÿÜöøđjíĂé‰é é¿éüïóªơ|üư“Æ…‡Êÿû(û önñ„î6ïñïiîúöefÔˆ «$'®%Ë/¼©Jư‘ø¶́Èåtăá'ápájç9đ\̣ù#Q˜ åIJ°ûiøŸđâëĐéFé1è́ïĐ₫9Ñ Ṭ!L%.// -÷'M ½ß ǘôç£ÜÜŸÙ?ׯܖäÏë1ôóưü- æ7̉³ŒưÈóíEèÏâ†àâ^åùz:¤ ¡)ü+˜7T:¸5/¼$qơ¯÷Éđ­àCÓùỔ£Ñ‘ÙâúíRöoŸ’¸Ÿ=  ©üœ̣cè#ă§ßÇØmÜûá¨åÀÀ n–/Ï5₫6Bè=ë59,å0YúÈè'äj̉UỄÑÎ̃Ó-âëùiø½̀²ÿúñIêwà/Ü{Û×׉ÛMå!鉸±.& ?Ø>(;A@¤6‰'*Ë RüJäÛaÚ\̀B̀ÜØOÛmă`̣.ÿ‹ Ăp"s¼Näùsñ÷ç̉à\Û¦ÜƯH̃\åpí!öMü#v";Ơ=¬15¹.ƒ·‹ùyæêÚ}ßØ×ŸÓ¼â¹æ;êúó» EÁ}÷•¿6ơFóéăIăÑárăkæsé³đ.̣WüflưÉ!@ J3U0Ư#=(;pÓ-üßơ¸éçâáç,ă àĂí’đ¿̣âÿM[ Ô?s ïcŸư„ọ́?́çlèTé́é́ïáñÂôø÷₫iÿ«©ˆ$ß/Å$–"­$úă ²‹₫ñôüéGêêă5èvñPđ¸ö¬ÚA  ÿä¸çø+ôẓ¡ë­èëëƒêÚ́ñˆñˆó÷₫¡ưÊPߣ̣.Ï*U Î%7z  ‘"ö×ëéyêÉåEæ¯ïÿóôœÿ ® ¡̀÷ÿyù!óqđ—íhé¸éÉííPîØórơ…ôDù¸üé₫m 9ˆâ $+¢&öBr  aưµôIíë‹ëê§ëàñÆöÉùöÿWæi I µ ÎŒ₫ü…ö ñƠđÿïSî̃ï&óôôÏöKù©øóùºü”₫‚ÿ½Ù)E#M'M q!ăĂÿBùñdí ́Ñë§́‚ïôƠø3ưó@o3PótÿRưøùơ7ôró”ñq̣UơÖơƠơk÷úßù°øßù4ü­₫ÉÿW ½´+%H#em¤ˆ %û2ô–đínëíGị̈­öû§ÿÓëN"ÿdü€ø5ö;öơÙó¬ô7ö°ö öÙö*ø¢ùù*ùÖûöÿxü0²ƠĂ"\%!ú!c£₫“ø}óPï¶í7í³îṢˆơôø₫k¯u(ÿÎû ù₫öô!ó*ôô×ójö ùÛøVúYüQüHûĂú¬üÙIÿ ÖDx!¬Ăâ\÷ÿÛù2ơÀñƠđ<ññƯóøú|ü÷³1{øOñüúuøÔ÷¨ö+ö[÷ß÷P÷!ù&ûáúüúQüôû™úKú¯ú0ü@ÿÖ[Vú%F₫!>p> áû©öx̣rïwđñgñwơúWûyưăÏC³„óư£ûLùdøâ÷×öÖö±÷>÷È÷!ù”ùùû#üBûXúpü·ÿƒoT´Lûÿàh²â₫oúéơṇDñ}óîơ§öAøßü¯lÀiÄÙÜưÔûèùóöíơÙöđöµöA÷º÷Âø}úûUûßü ÿĂ₫üHû•₫O.öØ @*đZàư úÅö=ơíơ7ø₫ù(úKûE₫)™ÿ=ü¨Åÿˆ₫7ưûæù“ùùÙønù—ùQùßøµǿùûû ü₫àư6ü“ûëü¹ÿ{¾­ »Çlµ/Mzóû¦øƒ÷÷5öư÷ ûû<û¶ưªÿ\ÿúÿ~^%Tÿ₫Éû¯ú¥úú_ùdù(ùdøNø2øƯøíúư²ư‡₫Aÿ´₫vü—û₫\3¶u<E ä 1üÛøÜøúù•øø÷Wûµ₫sưÏûư§ÿhÿÑ₫¶ÿ{úÿˆ₫µü€ûûÓúú×ùúßúÛù‡øÛøåú¤üoüºü₫lÿèüú̃úư’»í W™à BaùüsøÜømùøŸø°úUư₫xư+ưA₫Åÿ ™ÿß<2₫̃ügü¬û°úú¦úú3ú ùí÷ZøYúƯûøü!₫¤₫Üư‘ü%ûØú¸ưx ч£¥ˆÈP°₫OúøŒøøøÛùüú₫öÿ¿₫w₫LÿÿáưøưEÿ Đÿÿ0₫ïư<₫QưUû¸ú”ûû ù÷s÷Qøoúü~ưæư[₫ưúyùXüeÿáÙ jçúJ ¼ưÄø,÷"ú́ü}ü¸üÿîÿưiưƠư?₫̀₫ÿ‡ÿA?ÿûưÇư»ưÛü]ûuúZúƯùøtößömù¡ûYü)ühü¥üAüĂûúüºÿ" zt‘Ï4 !û>÷æøưO₫ư₫±é̃₫*ưuüéü%₫Æ₫˜₫‹ÿ7);ÿđưûưÍưeü^úkùÄù›ù±÷ÎơDömù‘ü—ư­übü\ư#₫;ưIưíÿöå &)¢j$T ^‚ù,øú&üµưĐ₫ưÿ7cÿ©üeû_ünư‹ưÚư•ÿI+qÿ₫‡ưäü­û<údùqù·ùØø2÷-÷[údưư=ü$üư₫)₫L₫rÿ¯ó457 Ïo₫•øÈ÷„ú¹ư(ÿñ₫œÿ2üïư>ûÜúÎûoü0ưE₫üÿĂO=₫}ư'ửûÂù©øùú±ùÿ÷~÷-ú…ư₫7ựûfüI₫}₫¿ưÿÛV₫˜R —ü–ö“ö8û¾₫ô₫aÿxơÿyüÇúĂúüư¯ưû₫Nƒ´ÿ¼₫›ưÉûfúïùÛùúwúơù•ø+ø-úư³₫êư‘ü—ü=ư™ü:ư©ÿ•óßp¡ 7ºùö°ö1ú ̉2Å“ÿèúUø¡øKúÿüÜÿGY–đïÿÀư5ư^üûú‡úíúûú`úëø•÷ǿúÀưô₫₫güÏû=üÚûäûªư7ùs €” ÍÎ÷[ó÷ơÄû'úœVç ₫ÚùR÷ô÷ôù×ü³t4Ô¶™u₫đüÄû2û‘ûÜû˜ûûLú#ùzø ùÂú‰ưÿå₫Áüû6ûÈú‰û”ư¢¦¬ zV̉2ưăơwô9÷2₫Ó|-ÔÀúbö²ö×÷!ú&₫X® ‚"₫È₫?₫cüÇûü]üÏüaücúëù˜û‹ûçù¾ú’ưwưú"ùÙùÉú¶ûøüK. 1 ˆf Qm₫Q÷Fô±÷`9̉Pô₫ÿ¿úăơ»ôt÷[üåÿg‹̉ >:₫₫̉₫₫ưưéưqư¢ú¼øúûßû5üüæü›üú ø®ù+ü®ü6ưÔ₫u„ ɵLy ƒúà÷ø0ÿü§ùÿđúí÷vö÷ºûeœèܧÊü₫’ư›ưÿ ₫Ăư¯₫¹₫—ü™úrùKùûúü¸ü@ü“ư—ư;û€ù@ù=úµüôư₫ eUS̀ üd÷È÷₫’„ë|E¼üeøơ§öQû-ÿ̃eˆ*hă₫<ưËưqÿƠÿ4ÿå₫₫Bư¿úăøù}ú(üPưpưD₫₫YüÇù+ù²úÑûÊûüü–ÿ'd Ë2Ckåûæø̀ú±­pœmæü¢ùh÷Ûö ùAüÿH"F´Oó₫˜₫vÿàÿ;ư₫!ưüÙú#ú́ú₫ûèüÂưåưưưåû~ú„úÄúqû4ưư˜ư•ÿAơ w .Süñ÷xùnOVü%úE÷ûôV÷EüÅÿàg̀ûV¢₫eưS₫£ÿ±JV₫/ư|üâúOúIû#üCư/₫…ưªüiüÈû~ûü‘ûäú6üçưØ₫^akûj1ñPÿéûªú5VøĐ¾₫ưúYúÛø•öø(üqÿszdÓ ₫ûưZ₫»ÿ-WÎ₫f₫ưûôùÍù©û₫€₫ƒư×ünühüjüàûüË₫̀ÿ”₫¦ư”₫9N‘₫ ȯ ×+üûåùüSï©¿üYøº÷Ó÷ÅøÏúÄư›“.¾₫₫z₫̣₫ÿûäÿơưÑûøùßù•újû ư”₫₫₫¿₫«ưúû»û%ưZ₫é₫Óÿ4·5èæq`‡~¹­_₫Öúù¨üM ¶ÿLû,úŒù›ødøú‡₫¯F72ÿE₫d₫̀₫l₫Ơ₫m°Xÿ ưiú¦ùlúêúü“ưç₫I₫ÿ₫ưŒưG₫Æ₫₫nÿʈPÚÿ¿VCÊ…ĐÇÿüøùùœünÇ A·û¢øøùéù´ú£ư ªîuÿ ₫₫ÿÿƠ₫ª₫[ÿÿ°ưmû&úhúíûư•ưÂ₫‰ÿJÿ¯₫„ư}ư˜₫'ÿ̉ỵ̈ÿRÿưÿ̉pḿ“ñƯ "₫¾üưB₫‹Ăơ₫¹úUøkù…ú*úîúđü»ÿJ·àÿê₫:₫o₫«₫‚₫lÿ`V˜ÿ™ưûáúØúÎûlư£₫†ÿăÿ€ÿÀ₫đưcư“ưk₫jÿ°ÆÍL  ÿm°áî8ÈXƒÿEüû̃ú›üuĂ“ù₫ăùÁørúTúæú¿û”ưnyŒ₫«üåư¦ÿGuzÿpÿOÿ`ưbûÔù^ú ư¡₫Iÿdÿÿ©ÿÜ₫mư"ư9ưlÿfVÀâÿ·§œ= ‘9Ç.]/₫Âư¿₫|ưÿà–üß÷·øúÿûSưaü₫ u]A₫›ư ÿ¢ÿMçÿ.ÿôÿÚÿ¹₫Øüqúaú­û;ưß₫Tÿéÿ|Ăÿ€₫ ư‹ü#₫úÿđUÿ»₫ÀÿƯq׳ ø:¼¢`YüúûoưLÿÄ|«Bưlù̉ö.÷©ùUü ₫Ø₫Ơÿàüÿ+₫[ưùưTÿ’Öélÿeư¢úùÖù-üÿˆéXÿóư%ửüwư;₫<ÿ‚@Xđ;i` #jχüçû ₫¼₫Å₫ÿïÿ±¾₫óú²÷Êöƒù„üP₫̀₫p₫ăÿ9t#iữüL₫¹¨Å¯ÿjư›ûGûáúøúƯûưnÿæ &₫ÿüíü‹ưÛ₫ÿ¡ÿë•+/™¾ |‘:ŸgÿaûbüèưZ₫Çưlưÿ â₫ûĂ÷"÷ùkụ̈₫€ÿ̀ÿ²ÿr₫iư.₫.Tyÿ ưYûú]û;üIưŒ₫…ÿ•~CÿºưwüÄü ₫0ÿÎÿÓÿ[-ă#>Çú ¦ù {µ₫ü™üư‡ưZưE₫4ÿØ₫%ưÊùøMø€ú™ư5ÿ)mjẴÿÿ|₫Ç₫£rQ2ÿPü¿úú ûüËüƯư§₫²ÿ^ÿe₫=ưư|ư₫ÿ) 5ƒ bi C ¥} |/Ø0ÿÜưæü$üéû†ü7ưbư¯üNû>úúûÈüÆ₫8Ës”ÿ²₫h₫!ÿ€ <öi₫ÑûtúVú?û?üùü˜ư₫¥₫è₫Å₫N₫“ưdư—ư₫®ÿÄ!E9 \DëZ ¶÷üíúäúûüưœư×ưßü–ûTúçù¨ú&üüư„ÿẁ·=Ăÿ_ÿxÿ&¥±{ÿ}ưxûÿùÖùqúªû ư(₫0ÿ¦ÿ§ÿ(ÿ'₫™ưhư>₫ÄÿLäw´2Ó )KGˆ Nư’ưûûû*üƯügư2ưQüxû¹úÍúdû}üÆưû₫†±SơÿWÏ£ÿŸư«û7úËùYú2ûUüJưW₫RÿÊÿÁÿÍ₫¿ư-ư—ư1ÿá Ww‹«/‹ ×Èú I ƒ¢₫ˆûåúTûUüưü*ưFưñü—üÍûû’úßú)ü₫ùÿ=nÅ£ÿ¬₫|₫ ÿqe…ưåúùåøƠùĂûưÖ₫Ÿÿ…ÿQÿ₫1₫₫o₫zÿyÁ–/‘hºñ Ä ñî – Rí₫”üûbû]û®ûüeü¾ü’ü5ü}û"û}û¡ü₫ ƠưÿÿÆ₫eÿO₫¤7ÿQư‡û¹ú¹úeû%ü¹ü[ưüưđ₫°ÿ$ñÿbÿâ₫å₫¥ÿô|¨O?9‘~ í x _;È₫éüü¦üư‘üüTûûiûÜûzü˜ü·üäü•ư·₫áÿˆq¼ÿ4ÿLÿîÓ¼ÿ\ư%û±ùÁùû̀ü_₫đ₫ÿÅ₫®₫Ù₫ÿqÿÿ¯Ậưœ’T.đ¬+ n K  Ơ₫ü û°ûØü–ư{ư§ü©û"ûQûüëüwưÇưÙư4₫Í₫§ÿyÛ̃'Iÿ₫Eưµüü̉üư:ư%ư+ư@ư¢ưJ₫å₫ÿ³ÿêÿÖÿPÿø´¢6K€Z¸ ^ t 4  ×Ä}ƠNÿA₫oửü–ügüƒüeü>üăû–ûªûü!ư0₫DÿÊÿ×ÿ¢ÿ_ÿ¡ÿë₫¢ựüÂüwư#₫Đ₫ç₫ª₫_₫₫M₫_₫ª₫₫ ₫²₫ø₫¥ÿ3ưRÛC !@„'½‰NpUψHÿÿ3ÿíÿKA}ÿ5₫₫ü üøû]ü ư¨ư¼ư‰ư#ư*ưIư¡ư‚ưéüåûÑútú¾úü˜ưÿ¨ÿŒÿå₫3₫₫‘₫¼ÿáÎƠdm;m{+Ñ¢­=ϲyñO]́ÿ9uÿ|₫·ư7ư[ư«ư₫₫°ưXư$ưtưøư…₫—₫₫đü²ûưúđúÂûáüäưU₫₫ư&ưHưïưÿ É˜kuá•Y {¼ÉÑæ _ª"¢ó*k·JÇÿjÿî₫Œ₫9₫ưưêưËưÍưµưËưåư"₫Q₫C₫ơưEư•üóûÏû ü¢ü=ư‰ưư6ưưưˆưO₫+ÿÏÿ ơÿ#‡2̀.L2?€)àx—-u·p¤TKèƠ~5€ÿNÿÿ̀ÿ¾ÿOÿ₫éư„ư¡ư₫z₫¹₫£₫L₫̀ưkư#ư ưóüÛü¶üüªüÙü/ưyư¶ưĐưçư₫w₫ ÿªÿ?–Å̉ï.“u¿Üế9HE:'ûד8ËX́€²ÿOÿñ₫­₫₫h₫[₫G₫/₫₫₫₫₫*₫"₫ûư®ư]ưưưưPư„ư§ư¸ưÆưóưA₫±₫(ÿ‰ÿĂÿÜỵ̈ÿuç]²Ó̀¹ĂøYÁ$Í–~‚—›}8Ói³h#Ûÿ—ÿVÿÿơ₫Í₫¨₫₫`₫J₫D₫G₫F₫7₫ ₫Đưư[ưFưPưpư•ư°ư¿ưÊưăư₫h₫Ó₫Bÿ ÿâÿ#H†Ù7Ëó &Gp”ª®£•†sW+í«l7á¦\ ÄÿˆÿYÿ-ÿư₫É₫Ÿ₫ƒ₫}₫}₫u₫W₫&₫̣ưËưÂưÍưâưïưïưêưîư₫(₫]₫–₫Í₫ ÿIÿÿÏÿ0W¹ü?x¸Íç₫ëßÔĂ£tBóƠ³ˆV'æÿÊÿ§ÿuÿ=ÿ ÿî₫â₫Ư₫Ô₫º₫”₫m₫O₫@₫=₫@₫C₫E₫M₫[₫q₫₫¡₫½₫Û₫ÿ<ÿyÿ¶ÿëÿDs¦Ü;]y“ªºÂ½¯‰t\?ôÎ¥}U,âÿÄÿ­ÿÿ…ÿqÿ[ÿHÿ7ÿ-ÿ*ÿ(ÿ*ÿ,ÿ/ÿ3ÿ6ÿ:ÿ?ÿDÿIÿQÿZÿcÿlÿtÿ{ÿƒÿÿ•ÿ ÿ­ÿ¾ÿÑÿäÿ÷ÿ /ATfw‡•¢±¿ÉÏÎ̀ÈÄÀº° {dN:&úÿçÿÔÿĂÿ±ÿŸÿÿÿwÿqÿoÿnÿnÿlÿoÿrÿyÿ‚ÿŒÿ˜ÿ£ÿ¬ÿ¸ÿÄÿĐÿÛÿæÿñÿûÿ "%(,//00114679:;=>==;9731,&  üÿóÿêÿâÿÚÿÔÿÍÿÈÿÄÿ¿ÿ»ÿ¹ÿºÿ»ÿ½ÿ¿ÿĂÿÇÿÍÿÓÿÚÿăÿêỵ̈ÿøÿ  #&()**((&%#  ÿÿûÿúÿ÷ÿôỵ̈ÿđÿîÿ́ÿëÿêÿèÿèÿèÿçÿæÿæÿçÿçÿèÿéÿëÿíÿïÿñÿóÿöÿøÿúÿưÿÿÿ  ưÿüÿøÿöÿôỵ̈ÿđÿîÿ́ÿëÿêÿêÿéÿêÿéÿëÿëÿëÿíÿîÿđÿóÿöÿ÷ÿøÿúÿüÿ₫ÿÿÿ  ÿÿưÿüÿùÿøÿ÷ÿôÿôỵ̈ỵ̈ÿñÿđÿïÿïÿđÿïÿđÿđÿđỵ̈ỵ̈ÿôÿöÿøÿùÿúÿüÿưÿÿÿ   ÿÿưÿüÿûÿúÿùÿøÿøÿøÿöÿöÿơÿơÿôÿôÿơÿôÿơÿơÿơÿơÿ÷ÿ÷ÿùÿúÿûÿüÿưÿÿÿÿÿ ÿÿ₫ÿ₫ÿûÿûÿúÿúÿøÿùÿøÿ÷ÿøÿ÷ÿ÷ÿ÷ÿöÿöÿ÷ÿøÿ÷ÿøÿøÿùÿüÿưÿưÿ₫ÿ₫ÿÿÿÿÿÿÿ  ÿÿÿÿ₫ÿưÿưÿưÿûÿûÿûÿúÿùÿùÿúÿùÿøÿùÿùÿùÿùÿùÿùÿùÿûÿưÿưÿưÿ₫ÿÿÿ₫ÿÿÿÿÿÿÿÿÿ₫ÿ₫ÿưÿ₫ÿüÿüÿûÿúÿûÿúÿûÿûÿúÿúÿúÿûÿûÿüÿúÿüÿüÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿ₫ÿ₫ÿ₫ÿüÿưÿüÿüÿüÿưÿüÿüÿüÿưÿưÿưÿ₫ÿ₫ÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿ₫ÿÿÿ₫ÿÿÿ₫ÿ₫ÿÿÿ₫ÿ₫ÿ₫ÿ₫ÿ₫ÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿ₫ÿ₫ÿưÿđÿœÿ²ÿÎÿâÿơÿ ((/+)(&$ ₫ÿüÿ÷ÿôÿñÿđÿîÿëÿëÿíÿîÿîÿñÿôÿøÿùÿùÿúÿưÿ₫ÿưÿÿÿ ÿÿưÿùÿ÷ÿôỵ̈ÿïÿîÿíÿ́ÿíÿ́ÿíÿîÿïỵ̈ÿóÿơÿ÷ÿúÿüÿ₫ÿ  ₫ÿüÿùÿöÿơÿóÿóÿñÿôÿóÿöÿ÷ÿúÿưÿ ÿÿ₫ÿüÿûÿùÿöÿơÿôÿóÿôÿôÿơÿöÿùÿûÿ₫ÿ  ₫ÿûÿ÷ÿơÿóÿóỵ̈ÿñÿôÿöÿøÿüÿ ₫ÿưÿûÿøÿơỵ̈ÿđÿîÿ́ÿ́ÿíÿîỵ̈ÿơÿ÷ÿüÿÿÿ ₫ÿùÿơÿïÿéÿæÿäÿæÿéÿíÿóÿùÿÿÿ  ÿÿơÿïÿçÿăÿáÿàÿäÿéÿ́ÿïÿóÿôÿóÿóÿñÿíÿ́ÿëÿëÿ́ÿîỵ̈ÿöÿúÿüÿ  (0:@CFHHC;1% ùÿçÿÙÿÍÿĂÿ¼ÿ´ÿ°ÿªÿ¥ÿœÿ”ÿ‹ÿ†ÿ~ÿvÿpÿoÿrÿ|ÿ‰ÿ›ÿ´ÿÜÿL‘Û+̀ 2GF(í”"¢ƒÿé₫O₫¾ư?ưÖü|ü9üü ü,üqüÔüQưîư§₫zÿZ7¿aă:_W.î AØtƠAîŸR¨ÿEÿè₫—₫P₫₫©ưHưáüsüôû`ûÆú3ú¼ùiùGùfùƠù˜ú¤ûïüw₫.ù²< hƠƯ•|Äñ:wÀJ–øÿoÿñ₫w₫ ₫³ưfưưüüHûiúmù\øP÷_ö¨ơJơZơăơâöFøúüe₫ƯJƒ~0 ‘ í ă … ơ 3 = !ø ;€Îÿÿ`₫µưưPü_û9úđø÷ ö·ô{ó‘̣̣̣‘̣•óơ ÷Eù´ûT₫îæê   ï ¸́¡) ® ' ¨Fø°nGLnÿ“₫¬ư¶ü¬ûƒú'ù™÷ëơ5ô›̣BñTđäïøï‹đ›ñ/ó4ơ÷îùzü1ÿçt ¾ ÇmuÈ~ÊÀW ” ¥åG¬²|ÿb₫:ưîû†ú ùu÷»ơèó%̣đuï½î…î̃îÂïñ»̣¨ôÛöAù¶û-₫¸tZ6 Ú 9X QµZv6—‹ E  V•Ñ,µ₫Eư£û¼ù¶÷³ơ²ó®ñÆïDîWíí,íÜíï̃đạ́óô÷Mù²û₫`·R/ « ơ´ÀéE¥Ï™ 3 èßöÿưÙúiøÈơ'ó±đ}î²́‚ëë`ëH́ºí¦ïæñ?ô~ö¥øƠúưMÿnÍ `o)@ươ‰´uù ƒ "²EÿeüuùiöPóbđáíơëªêêRêWëö́ưîHñÂóHö«øÏú̀üÀ₫®’ỹ\ ̉ Đơ\ƒ 9 7Ûs₫üú ÷xô™ñïíÔëEëdë́mí;ïgñ¼óöjø£ú³ü’₫Hë“R7C k – ¢jŧ ̀đ† ¡ e÷ṣü’ù|öƠó¯ñđ ïœîºîPïFđñóÅôöWøúçû£ưKÿâ~2üЦ | = Ä猬>; z íúÄÿ˜üŸùưöÆôóçñYñQñ´ñp̣tó¬ôûơO÷¤øúaûÀü₫}ÿơ‡*Ö‹= Ù < P Y:§ ¦ E ‹ ‚3±eưÇúQø'öeôó?̣éṇ̃¥̣ó¸ô ö{÷öøeú¾ûư<₫iÿ»÷P½0ï  Ă ›  N 3 àcĂ/Nj₫†ü¬úæøG÷Úơ­ôÍóGó%ódóưóæôöo÷âøYúÈû*ưs₫ÿ¬¨†iJ2ûĂk ï ; C { ¿Đ·‚H仢ÿ₫¦ư³üÅûÜúÿù)ù[ø£÷÷·ö‹ö“öØö]÷øåøÖùÖúßûäü̃ưË₫²ÿ‰QÈz)Ú‘Kÿ¥0œßç¸WÄüÓ¡l>ÿ(₫,ưLüûùú…ú2úûù̃ùÔù̉ùÙùçùûùú,úOú|ú¼úûwûơûü=ưùư¼₫ˆÿY/ÉR¼S×>{•ƒHçcÀ1Tlƒ¢̀ÿÿF₫¢ưư—ü5üâû§ûûoûnûsû€û•û©ûÁûÚûóûü:üjü©üóüIư§ư₫u₫ë₫gÿçÿt˜*±8¿6›́#CAç£EÛmù…¨7ÈVåÿtÿÿœ₫9₫̀ưoư#ư×ü›ühü4üǘûËû¹û¯û´ûÇûåûüYü¯ü ưyưäưY₫Ñ₫Gÿ̉ÿađˆ!¾\́xûf´ăïà«`ơgĐ,yËpÍÿ(ÿŒ₫ơưmưëü‹ü0üçûµûŸû’û•û¬ûÑûûû(üSü€üÄüưkư¸ư₫|₫å₫UÿÊÿ9¥`² a± _±́"?ZN!×|#³;¼=ÇB¾ÿXÿ₫₫¹₫{₫J₫₫äừư®ưư…ưzưaưRưCư=ưFưZưsư‡ưµưÙưüư'₫a₫§₫á₫ÿ~ÿđÿO¥öFÇ3^z“©¯ÇàơíÚo%é¡h"Èc₫ÿ›ÿÿÿ·₫I₫gưqưüüïüÆüĐüØüÜüëüăüư-ưư­ư ₫F₫©₫í₫6ÿ‰ÿmûÿµÿÛÿl»PøNṚ ºVÄ+rỞdë₫^Éÿ_%ÿ’ÿÁô₫̃üª₫ü}üñÿôÿûuü üoüûVưmÿ‘ưàÿ¯ưàü™ÿˆ—|ưgû·₫êÿ¢¯ûøÓ\ÿK₫½±üØ8rp 1=ÿ ưÜ₫tÚÈÿae¸bÿ₫ˆû,ûÓûâügùªù<úÄøgø„ø̣øpúî×)̃   §  ư  =$yq ₫,û½ú ùŒ÷ºö˜÷÷Ươ¢ơñôỴ̈ ô.óạ́8ó,öíôIøœơ‹₫÷™”ă ÁÙ́‡ O ¾Œ ” ¤úẠ̈đrè åqâÏåˆí'íơ]ÿ_ÿÀ¸Â₫ø’öḄëĂêîèvéæ6üÜU±5(ä,Û/\3ä8)1¸LeLø~íŒâÙûÏûË£Ơ×ÛÊáåñúƒ m ZN w²Róäê/áXá=ÚçÚZújöĂÚ'2ƒ8ƒ?êEÊ3́)ª& ÿöØè‘×ǛÀ%ÂƯÊï̀„á­ôP§KÚ^Ø+»ó́íâá×dÛưî\è̉øó$)-3ŸBƯD 9œ8Œ/¬*Xó'ß:ÏoĂfĂ:Â+ÈKØlç[ôĂçŒ- ½øêôÛåägö—ê¨ö₫ ’(%q2:÷/43/ÿëÜß‚Ñ‘Đ‘Ë²̀2ÜZç8ïö¨U 3 j Æ₫kóƯó„äa䕸Éé¥úơ jÅ À% 1e8Á,t2È*ºû¯êøàĐÓèÓ&̉¸ÓÆăuẹ́ó*›n <‡÷&óîåéürî™øªR Hé#j*´1I';,O'å ¾ ̣ü<êéăèØúØ×®ÙÖèÙîNøx/Á2ÑEôkïœêŒéÙûÁ́:ÿ¡ 5R&(,s-«%+rN «ơUæ‹àÙCÛSØñߘị̈Düаr,ưsïÔïÁåøơ]ùÆ\|A%<(´)Á$ $₫àøƯåÙá{ÛÓÜOÜqàăï̀ó]ú ]å„ưUÿ›ú¶ïíơœưßöJh„¦¹'›*Z$fí „kÖưî‡âßẵÛà;ßơëS÷ơ—ëjÿSû–ü@ù:îÑëĂôI₫Æøb QÚ" )§,ö#r–Ñ aÿ‡ùê2áuÛü̃ºß̣Ư…î~ôñơTx₫ üư øÂîđßü!‰C $,Y(-I B₫èüHó®çøƯ1à\ăâƯªçĂđc̣ôô úúP÷<÷øÿñ{̣NK̀Læ!́$Ø(—% Í$"ư ù]đç â™ă\è¹åĹdợơĐơ;ơ3ơYđ°ọ́Óư甼Ơ#¹&â'€%¬v‘K₫"÷.đ{ç‹ăäzè«çíIôó¨ô<ô=öơÖđf̣#÷Ơ²Øk$ô&m(¨¬ÍMQø/óq́‰ä̉â¬çméùèưñ)ồó3ô]öÿ÷‚̣ ̣ø[˜µ ^ơ"I&±&3!¿¼Äù›ơḱç4âæ(èiå¼íñfđjñ!ơù7ôªó `ÿOs æ ”"À$3‰!ưK÷¯̣ï'è¤åǾêkêÑîVđơíÎîyơ₫̣Rđ^øÓ ¹È́‡"Y#V")'z—É S"øËđ îÏèä>è¯ê¡é§ëøï½îƯđåó ÷£óoû = …e#Ơ!¾#'î z <Zøúđ9ïîëçùê¡́7êpëíŸ́ZîṢ®ó̀óJj 4 /Ú"¢$\ é"R Ïđ ÿ7ưñYï¡íèæç0́(́¥é́’íăîđôô¦C  ÆË%Ï 2†‘Ù DÿĐöBïjîXëœê·ë¬ëÿ́Yê6́2đYđóưô]ö v -̃B#3'åƯ? eĂüdósïeïÀé`ëǼÍbë<éï|đáñéôÄ₫› < Ä¥;!b G¦³ 8M₫áơ@ïgîë ésêâêÙễçèêÂđ.ñŒóºûW ¹ T¼l"Å"DZû5 y<ă÷:ï„íkë:è±ç§ézé¯åé§îÜđÀñ ûÔ Í L­g$í#A!ßöF°ø*ïâíŸêËè₫å¡çVç‘ă¸è̀íññ|ó©ÿ? –6H¦%i!Ïa A z ÿÅö·î8î/ëjèœǻæåXänéiînñlø_A¤#S$»º®‰ø;úóRïÏë@ê²åÍå½ẩăzç|ë`đÀ÷3¨ ƒi!S#+ˆ»đl™Aúó&điíÍé]è0æáă.åé}í ñEüvHJ8"½ç8óE ~ơư=÷™ó¤ïẤ(ëaèxåÈäăè%́‰ï2÷0w ØK:P ₫, wLÿ̉ùÅôđ îÏêlé$æYäQç_ë^ï»ô–„ €èIs!Ï™Qÿ?ù|óĂî†́´éÈç*åƠäºèb́3ñ/÷Zí q»Ă"bøĂ ‡óûÇ÷ñf́âéeæ¿æƠâyå~é<îÅó®ú[̃,Ä„ 8"Ïéa§ Ê‹úíödđªëiç@åzäÇàGä˜è·î…ôVư p¼ă#A$½9Å †pùÇóV́§èøáÈá1ßÈßOåÚêṿíøđ‡=!Ø$ö!1ôJưB÷́ï°êvä«àëß;ß*ăÑç8ï5ö§ dÔ¨ó"P#|đ> “ºù…óî˜æºâ]à†á0ăéåOíSô~ư1cW!ê!œ!„ d 3ü±̣ƒîè.âáâ¡åeçǺ!ö[¦<£ºƒóD} @ú©̣j́&ç?äPä#åyè¯ëẉÓù¤½ ub¡ê@”Ä÷ªñXëÜæªçXç˜éëđ˜÷H₫jp Ú°ødtzaöÈü•ö%đëæêáế_íñcö#üc[ú u¾’Ä;̀ €—ü‘öÍđïơíîöïrñ ơùÿd¸œ  Óf' ­Ç²»üOö½̣µñ²ññḄÁô­øëû‰ÿ h   ́ ơ WS¦Ÿ˜ûưöơ¼ôô`ô¢ơpøCûI₫È̃_1¯ÍS 1\ø¤ÿ¶úïøPøÑ÷M÷£÷?ùXûư~₫³°›Û#{í×=ưĐưÇûîúÄú_ú;úïúüN₫k₫IÿÊÿÿ\`&¨rBHÉ₫'₫Ơưúư1₫éü ₫₫Ü₫«₫Đ₫fÿhÿèÿ*'@ß Ă({ÿú₫ ́ÿ3 –•ÿSÿú₫Qÿÿ3ÿÿ#9b¿ÿ›ÿ`ÿÆÿ=Ëă®¯Tÿ[ÿkÿºÿÿ5ÿå₫ßÿ£ÿƯ₫\ÿÿÂÿ€̣¦Ư}1‹ÿœÿGÿÂ₫₫₫₫t₫ưưeÿêÿíÿ?@²¤x«­‹jêÿÖ₫@ÿŒÿơư„ưøư8ÿÿ­₫ÙÿEQ͵Ë¿° U©ÿÿÖÿh₫:ÿR₫|ÿ‘₫*>ÿ6ø₫)9Qëÿr «g»ÿ‘ÿÿIØ₫¤ÿêÿ)â₫“ÿëÿ·¾ÿ7u^ÈYŒ NyÿÚ₫Íÿ$œÿCÿ:ÿ¨ÿeÿïÿkÿ«Êÿóăÿ8˸ÿvcÿq@ÿ*¿₫”Åÿn₫)ÿK₫ñÿ«ăÿuÿ¬¿®ÿ2d}ÑÿWÿÅÿvvÿn₫lƯơ₫u₫=Úÿ3Ơ₫•ÿávhÿ€±e+ÿH'æ₫@₫pÿéÿ±₫½ÿ¶ó₫~ÿT±l\̉₫x—ÿ ₫å₫#agÿÿF™Söÿäÿ´@zöÿ'¬cÿzÿÎÿeÿ# ÷₫»ÿ«ÚÿäÿUÿ•ÿ(V“ ÿ¾¯ÿlÿÎÿGîè×₫÷ÿ–ỵ̈ÿ‚ÿ³ÿ.̃ÿè₫4‰(ÿá!'ăÿ‰ÿ|`ÿƠÿ/ÿ\ÓÿÿCr~jÿGÿ¤~Aÿ±ÿ/‡Øÿ}₫µ-ÿÉÿKÿÉ₫@ñ`₫øÿéÿl«Ă₫’„ÿjfÿĐ“Hÿ×₫$¶¿ÿ—ÿ¦ÿP¨ÿđ₫yÿ¹¤ÿ›ÿG3ØÆ₫¦ÿ­Áÿuÿc¤Oÿ+¾ÿ¹ÿ¯ÿßÿngéÿ[§ÿ®ˆÿ]ÿNïÿÜ~ÿ5Ôÿ9₫¶ÿÅÿª˜ÿxUÿÁÿ4KÎÿJÿ3!ØÿŸ3iÿ÷ÿ`ÿFÿÿm-­ÿˆÎÿÿYÿÔÿrÿƠQÿ×ÿjÿóÿßúÿâ₫áÿBp^ÿcå¹ÿ@ÿœ˜>₫Yƒv₫ÂE2©ÿ·Ö₫gÿ7$̣ÿ­}ÿq'₫¶;ÿÿüÿåÿ̉Bÿ¥ÿDBl̉₫hqÿ;;"Uÿ_Îÿ ÿÿ—$ÿ«ÿH“ÿ'·₫¶Oỵ̈Wÿđÿ_åÿbÿ̉-åÿ’ÿÀº₫ÈÇÿ¾ÿ, kÿÓÿ*àÿCxÖÿTtÿAÇÿ;DơÿïÿüÿêÿåÿûÿôÿÄÿ÷ÿ'¬ÿóÿåÿE·ÿBµÿ0>BÅÿØÿ•ÿ|ÿt“ÿ=†ÿÿÿ3Ơÿ%øÿáÿ>°ÿGàÿ)Æÿ@®ÿ˜ÿP…ÿRïÿëÿưÿ.§ÿ&‘ÿuÀÿPùÿÀÿñÿÆÿƯÿÔỵ̈ÿÓÿXĐÿ3Ưÿ7Çÿf½ÿ‡±ÿøÿïÿüÿêÿ ÆÿÉÿđÿäÿ óÿăÿ'ôÿ2¢ÿ§Áÿ9Ưÿ&´ÿ-ÄÿºÿÛÿáÿñÿ(ñÿ,%2̉ÿ ÛÿÊÿØÿñÿäÿàÿưÿëÿ %  üÿíÿöÿåÿêÿäÿéÿäÿíÿöÿùÿ # øÿưÿđÿæÿêÿ́ÿ̃ÿäÿïÿæÿøÿơÿ  ÷ÿñÿîÿăÿàÿçÿçÿáÿñÿñÿưÿ $ /úÿ îÿúÿÜỵ̈ÿÚÿëÿƯÿëỵ̈ÿơÿưÿưÿóÿđÿèÿçÿàÿåÿèÿéỵ̈ÿøÿ ưÿöÿêÿ́ÿåÿåÿăÿéÿíỵ̈ÿøÿùÿôÿíÿèÿæÿèÿèÿêÿïÿ÷ÿ₫ÿÿÿ ₫ÿúÿñÿîÿéÿéÿèÿëÿîÿôÿ÷ÿ  üÿ÷ỵ̈ÿ́ÿ́ÿêÿëÿíÿñÿơÿûÿ  ûÿöỵ̈ÿđÿíÿ́ÿîỵ̈ÿơÿùÿ₫ÿ  ưÿúÿôÿóÿïÿñÿñỵ̈ÿơÿùÿüÿ  ₫ÿûÿùÿöÿơÿóÿóÿôÿơÿúÿûÿ üÿûÿ÷ÿ÷ÿ÷ÿơÿøÿöÿûÿ₫ÿ ÿÿüÿûÿøÿöÿ÷ÿôÿøÿ÷ÿúÿÿÿ  üÿúÿöÿôÿøÿùÿ÷ÿúÿøÿÿÿ   ưÿưÿúÿùÿ₫ÿ₫ÿưÿüÿÿÿ₫ÿưÿÿÿÿÿûÿûÿÿÿóÿüÿøÿüÿ÷ÿûÿÿÿ øÿùÿöÿöÿùÿöÿüÿûÿñÿûÿÿÿ  üÿüÿûÿèÿ÷ÿñÿûÿ₫ÿưÿ úÿ   ₫ÿúÿóÿơÿ₫ÿíÿûÿơỵ̈ÿÿỵ̈ÿôÿ&  úÿÿÿôÿíÿäÿăÿüÿ÷ÿÿÿ ÿÿ ₫ÿ  ùÿ́ÿñÿûÿñÿëÿùÿưÿ üÿôÿđÿûÿøÿóÿ₫ÿ÷ÿëÿÔÿâÿéÿ̃ÿÑÿïÿÜÿøÿ558 êÿâÿ̀ÿ́ÿÙÿ íÿôÿ¸ÿßÿ\Öÿ;«ÿ0ÿJsÿ̃Hÿ].ÿo₫—Å₫^ÿ_₫¹₫gÿ2ÿ°ÿ= ÿP¬ÿkÿÿ|₫‘Ô₫̉!‡ÿ{ưƒRư_₫í3;₫¶/ÿº^ÿ±PG}ưjû4ÿ‚EÿDÿåÿÿûßưúøÿ+ÿÿÿ=ùÿ#ñÆgæ$‹ÿÿÅỵ̈ÿöX™1ûœ8üÿ Å₫sÿÆü%ưaüLưr₫ÿŒ₫Æư=₫ëÿ»nÿŸ>zÿŒAÿÿ×âôÿ|ÿSFŸ#ÿ>‰₫¿‰₫₫Ïÿ®ÿØoÿ•ÿơ‚ưn₫₫4₫ưƒ₫ïÄÿLY‹ü"ù₫^¶³₫\ÿÿ•Ùÿlÿ-à₫x₫'°ÿ8ÿg£₫µ Bÿl,êüdà₫₫ư¦ÿ₫ ŒưĂˆSÿøâÓ₫C Züª‡ưÈü ·ÙûqÎÿ¬ üŒÿ[*üÚÿÉ₫ ÿWö–ü‰"ÿ#₫ï=ÿ“ÿ¸ÿ û:ưß₫ư”d₫«₫̃8ưưs{û*‹ưû.ư'…ưfư÷ ̀úÈÿ³ûû9ư”únÿ´üèü˜'cü¿¤7ư>ÿ™₫$ưĐÔÿÿDW₫sư0ñư)ưï.̉₫ZÿºĐư›‰ưû₫J£₫Uˆm₫đ-₫ư¯₫›¼ư$₫†ëÿư6âèư°ưƠPÿ»ưv,#{&ÿö₫)\ư¸¬º₫@ÿÖÙư–ưÂzư 5ÿê₫₫„ÿØÿTư# ăÿç₫|ä₫ÿe‘ÿx₫₫d₫Ø£ÿ HÛÿéưÏöùTú‡ûüĐû̉û'$ưèư₫NéưRcN‚3Û6;DWÀ—3´ø&ư´üÏÿ øéö£÷öèôVøµú³ø:ư₫ïû†ư¿‹{›‘uƯ — Đ …Ÿ’ J{Ạ̊'}ÿÍü#öûöỰ»óÓđgơäö„ó®øÓ÷[ù3øơüNƯ] R“ ߘ ñq¶ ư qÜ JL[ưûøĂùóađẠ̈Æñbđtó·ô½ô>ôßùú+úÿOÿ-‡¬ .ç1 Ư F 3 vZ ¥ °µ ¼P &ư‡û4ọ̈¢îöóÄđÇïyơª̣–̣c̣̉ơ"÷ÿö½₫\l₫Đ€nÓ M & >éæFhÓªưRùđ÷†ơ<đ|î±ñ¬ï ï«̣ṇ̃ỵ̈dóN÷²÷öù3₫è₫Úa‡|E6ÏÚ»Ù ơ K½₫,ûŸú ô•ơóf̣tó́íñçî¢ïñP̣ÛöÂöKü ₫®ư©²[ 3¹Œjë *ö ¨]G₫%ùº÷ó.ñ¯ñ<đï½ï–đđñṆ óNôCù7₫WZeR j¨tÖGª ûù ß âḳÿ½÷f̣ĂïIñ́>ïỆÿị̈5đXó’ï›ñ—öŒû²ªV× H È¢ô@­P &ˆ„ÁütưĂûP÷ự±ï€ï'êµíîáî‚̣đbó ̣ÁóúyưHtö t˜~ë Áa¶3—ưA!ûơ]î6́́)ëÓđñnñtñ>đj̣µîÆñÀùéĐX ·~x!pØGY ßx÷€‰ÆzƯưÄøîíøéxéè́„đ̣Uṇ̃đ‡đ0ïôBú1ơ`¿'æ$¯&¹!°l vüÔäpN •8₫×ø"đ-́YîÓëAíAíFîïLîøôṿ…óơq̣%úä'?++X#́xC₫ưù$₫Ÿ¯ ÅÿMù,ó-đ˜î*đ¾ímí¦́d́ẾUđÆö4ơôUó°ó¹ yQ$/˜+: û ̣únü̉ùÿ̉ = ¿ «ñüêơJóûó/ññfñï®́ÖëLíhî«ô÷@ñ;ïùˆ¨ T$¿1n)?ˆ;üuûNơ$î ) ¥Z₫ụ́]ñ¯ơ%ô_̣Zó¯̣’íkëàëWíơ:ơđBïÑ©#2&»)9-‰"† ùơÏó³ö>ùÓ6NÉX;ûṆ̃Óïẹ̀̃ơ÷ơuộđÈ́“éúëôóOó6í¦önl*`&‰,](0†øÀïœôôS₫: ¯î¾à₫Â÷^îcđ½̣øbøươd÷̉ï)íJéîøôñ&́ç,Ö'Û(™'E r ́ơñˆ̣³ød´ö ̣₫›üf̣Äï=đĐóü ö́ø£ơHđtíIêBñẠ4́öf §.( (|"×:̣Åë¼ñĂôÆ₫c ă§üù̉đwïâđM÷rûføúZ÷®ñèëëạ̊ ñ±æ_«.Ë+H'=&±%úçîæ̣÷¬„“ë ˆúŸö ï°î™ôZú}û-ù5úÓö2ïĐëñîỤ̂„́Ế,X/¬'}'³" ơéèµđ'óûŸ@đ ü:ú–ódïóï÷ưyúïúú¤ö$îÚẹ̈1óÚë€đ¥,~&₫%“₫éñ×ệ>ôôưJN]‚ưBùzô\ïÅđmø0ûUúû{ú÷tïŸîṇ̃ÎóƒëÅîߌ)Ö#Á#ª!–ÜôǗ`óqöµû†åXñü¨ùVöÖïAñøû‰úÚø`ú}÷lđ÷îeó*ơaí–î¢N%"" ñTúđøó»ơ‡üÊÜQ³₫’út÷$đÜï ÷Ëúeû´ùÅúÎ÷\̣(ï¢̣çôeñĆfK 2 ë!Aë 2ơöƒơú#ÿ2 –p Û™û=ú…ôđZơÑø¢û†øyúJù!ôÅïđ¾ô·ô;î÷÷P&"­“Eüûpøäơ©û4₫$F ˜»ü¡ûé÷“̣¸ó|ø‘ú«ùvùùaö‡ñJîØ̣%ơ ̣ đ̃"7¥< ˜ *ü úƒøl₫¯₫IRüÿúïöẠ«÷ÓøûbøføŒ÷¸ó¥ï•ïÔôơÑđ(ơ{à¯ÅÂuzư÷úgûÿư9 * °¾₫:ü(ûĂôsôP÷OúÎù—÷È÷ÅơỴ,î¨ñ öÓôđ!ü¤¶T7¼£å₫;üªưmøb2JưQüeú¤ơ2ôr÷Nùàø8öĂö÷ôưïYîøóFø¢̣ó–›]k²(Énü£ÿœÿ¹î×$ư:ưûûú́ö!ơ<úøøåö–ôôôœî?̣,øÆöôáö̃ Ú² qp ¬“ïÿ1₫Æ₫>vzÁ₫u₫´ûÑù¿ơ+øøøưöƠơyóªôêđèïÛơư÷K÷ôƒü› ÷)ï‹çŸ îQÿ<úư~ü)Í'ÿO₫°ụ̂÷«öø÷̀ơ„ô¢ô ó3đẸ́Đö ø÷ơŒ3gÂWÖ‚Đçb»₫½ưư ư†ø€ø úíö̃ôx̣³ó?óßđŒồö®÷ŒöÊø5ĐgèØ¤7fszÿ¸CΣ₫øưkư1üøđù±øMơåó¾ñúó|đṿđơRöË÷Öô{~ K¢9º <÷Í€ÿSÿW2ÿ°ư|₫)₫”úÍ÷sùÚöôó–ñṾeó‚đnôÑöPùUö~øßz }+Lz§V“ÿL₫¥ÿ³₫‡₫A₫ÿưĐø—ødø@ơ&ó́đ?ó·ñ1̣<ö÷ï÷]öÆ 6#Å][ª Ê…₫a₫°í´ÿK₫₫€₫éúøÆ÷&ö ôñ³ñ©ñåñ¢ô´ơ'÷÷¯ÿÛ LËÅ2V_#å₫L₫<y₫'ÿ₫(ÿ×û>ømøöyôáđ]ñ~ñ–ñô[ơƠöO÷¥ ‘ G5xí G‰₫9ưÿrˆÿWÿ,ÿØû«øÀö‘ơ(óĂđ½đñ óô@ơdö¡ùSă ] ȃxGß ¶ °zÿ/ư]ÿ\₫Ö‹ưGÿôư ú˜ø³ôµơḅŒñođđñ̉ơØôrơö¿₫æ—rÁbg" Â?ôưk₫{ưưSư₫ ÿÎûù²÷åöfôñ@ñ ̣ ôêộơk÷áúXjm ÓœS_̃í LêĂ₫Ă₫LưFứüƠû]₫ưuûØ÷ˆö̃ơóḷÜñ3ơŸö®ö$÷‰ùÑ9ư Â8̀£ä M †NĂ₫„₫G₫Nü¾úÓüÆưÇûë÷!ö‚öơ óió›öÉø̀øÇø×ú—ÿI4# ư<¿ û  í¤Uÿ•₫füOûLûüüøûcùo÷”ö ÷vơ»ơ÷Dúsû‡ú ûûưF‹ÈO M µ Œ ´ ñ ­₫¹üÜû†üuü®úÇø÷ó÷Ñ÷X÷‹ø™úHüüơü¢ư…?«¡ ] ˜«@Ä…¢₫ôüư™ưü¸ú%ùEù{ù[øù‚ú´ü₫ ưE₫¿ÿi ÖeA5á!ỡ’bÄ₫'₫Çưd₫Æü³ûûLúöúwùAûü¯ự₫À₫£ÿX̣ÔG0EØuÍt¨©€Jó₫§₫"₫|ưÏüæûåûưûüưüAưoÿeÿVÿ¿ÿÂÿâ¯OøKkª½¸[̉0̉ÿÇÿ4₫[₫Y₫₫̀ư¸ư¬₫;₫8₫́ư•ÿ.ÿ́ÿ„ÿrûÿR#‰:(¡ 5ˆÿWÿ¡₫Æÿº₫ÿô₫ß₫QÿYÿÔÿÄÿ Fÿ÷ÿđÿ$ÿˆjÿ‘åcVU³.¿ÿÅÿÿSÖ₫µÿáÿ¹ÿÿô+RÈÿfÀÿOÿSVÿÖ₫_ÿ“ÿëÿOÿ<Y°ÿ¡uîñÿ€ÿ[4´ÿ{ÿ*§NÿÓê₫a3¸ÿIr₫Ôÿ₫µÿ?¾ÿ̃ÿ×ÿ´ÿ )ÿ âÿ&e¯ÿœ“ÿçÿ·ÿV½há:̀GÉÿ|ÂÿÜÿÿèÿ[ÿiÿ!ÿÿ¡ÿ=ªÿ²ÿán´₫u}MÿÎlÿ3‰ÿJ‘’¹"QÙÿ2*Ơÿ €ÿĂ₫Ơ₫×ÿdÿCÿOÏÿ‚ÿÿ;îÿÿÿơÿT©zØ₫̀Y?<”ÿbÿÜ ˜ÿ¾₫Æÿ]^₫éÿ°j¼₫4ÿnXÿ•ÿ&uưÿGÿ)»ÿsÊ₫å5>ÿAäÿAÚ₫ÿns)ÿ ÿÿ‚EÿêÿÉÿ QÿŒÿ°ÿçGÿ¶deèäÿ¥ElÿS?…ÿ¿ÿáÿK<ÿrÿ'ÿ„ÿ.1|ÿ¿ÿûÿ“ÿAÙ₫ íÿ¢–ÿ³áÿf)üÿ¼ÿ₫ÿÙÿAÉÿ¹ÿæ₫\gÿ;†ÿ¬£ÿ`ÿ‚£ÿm#âÿ¿ÿH5ưÿ>e™ÿ̉ÿäÿh©ÿ₫ÿ/·ÿÓÿªÿĐÿ½ÿøÿøÿƯÿ±ÿQjâÿÇÿ¯Ÿÿđÿª ơÿÆÿÏÿâÿ3§ÿgˆÿàÿj-ÿIÀÿc™ÿD­ÿ^ÎÿîÿW̉ÿ_ôÿÛÿU)àÿm‚ÿ?̀ÿÿÿíÿÖÿ8̃ÿ}ÿaƒÿ7̉ÿ7Æÿ6ºÿvaÿÚ›ÿ =ƯÿX|ÿĂÿ2ÅÿĐÿ1đÿüÿÜÿ₫ÿêÿ₫ÿÖÿO÷ÿ³ÿJóÿñÿ#ßÿ=Üÿ#úÿ́ÿ?ÇÿªÿrfÿFÏÿ"½ÿ*̣ÿçÿüÿ÷ÿ÷ÿ1çÿöÿ·ÿfŸÿXÚÿØÿg…ÿi¢ÿ+Ñÿ9¼ÿÉÿJ˜ÿSµÿKƠÿíỵ̈ÿüÿ íÿüÿûÿâÿ)Ëÿ"åÿñÿöÿôÿêÿ đÿíÿûÿ üÿíÿíÿâÿ àÿ"¾ÿF̀ÿ÷ÿ/®ÿR·ÿ'ÇÿR½ÿ ̣ÿéÿ́ÿûÿÿÿ₫ÿäÿ!àÿ$̉ÿñÿûÿ ́ÿưỵ̈ÿøÿ ÷ÿñÿ ôÿûÿ₫ÿüÿøÿ₫ÿöÿøÿöÿôÿ ÿÿ₫ÿÿÿưÿ₫ÿ₫ÿ₫ÿưÿưÿûÿ₫ÿôÿÿÿÿÿ₫ÿÿÿúÿưÿ÷ÿ ÷ÿüÿüÿ₫ÿưÿóÿôÿơÿơÿûÿüÿ  ÿÿøÿöÿüÿ üÿùÿúÿüÿûÿâÿîÿïÿñÿưÿ÷ÿ  ̣ÿïÿ÷ÿôÿûÿ₫ÿíÿßÿêÿôÿîÿ ûÿ êÿ÷ÿóÿúÿøÿùÿóÿùÿ÷ÿ ûÿ âÿÍÿÊÿüÿ !ưÿ6 ăÿ,àÿüÿ{K₫ø₫Ô₫ÿ<¿iÿl₫ÿƯèÿFÿ|ÿcâ!₫FHÿ•ÿ¨ÿ2#ÿ~ÿ K“ÿåÿ-BV¿ÿÀÿuØ₫_̣₫Ăÿ^ưÆ]ứ“+—₫¢Å­ÿ¹¯pp₫Øÿ‹₫lxưÊ>ÿ™ÿƒ<ÿạ̀ÿp™—„m6Ê“ÿ4ÿ ÿÿÿÿĐÿ>ÿ¼ÿÿaÿ́âp]ÿ{¿ÿ¡aåÿø.ÿĂ₫ÿKưùư¯ửÿ£₫o₫¿ÿ₫ÿ …ÿ⯕ÍçMÅfÿ1Å₫ä¼µÿ­ÿCá¢ÿ-ÿ„¯ÿ ÿŸ’₫ ú₫¡₫zØÿS₫b§₫?ÿĂÿ;F₫BUÀ₫Í?ÿ3Ñÿgÿ­V₫> w₫4Fÿ~7ÿaç ÿÿrpÿđ₫bÿK₫DRÿSÿŸ7ÿöÿÿéÿÏÿ₫[ÿ6Bÿ‚ÿ¿ÿ̃ÿS ÿöÿCÿËÿåÑÿ[‰ÿl}ŃÿÙÚË>₫oÿÿ$₫9ÿË₫éươüâ₫ ₫ùüAưA₫ïÿưg'G‰e¶" ô™`ÿ:₫?ûûSùöø®÷ ÷øOøxø¬úsư´üëÿEB é ÙÅÈ Äø§m'…₫Dÿ8ü9úû»úoùÅùuûú]úüpûúƠûüŒûưc2_èư”† [Í‹ŒƒMø₫züüưú)ùQúÜú­úü(ư₫Ùư„₫¾₫đü­ưUüư¶₫.ừ.¨Ô=¼̃‹Q Ơ­˜₫³ưü<ú¿ûÂù‡ûTü üµ₫ơưcÿ̃ÿ·₫“ÿ₫ÔưXư₫\₫÷ưºË¹úP€~dú%(EØưyü#ûRúñùÄùû†ûưÿ6%%@ÔpWt₫Óü~ûµùùèøSønùú́û`₫nJ<è  ‹ ~lƠñƒÛưßû€ù'øîöÉơüơ°ơ ÷<ø÷øÂÿ¸₫å> ³ £  Ư X <ô«Tûœú{ù÷ô÷Éơ,öÊødùIư™₫a͉˜Í+ø‚ôÿæ₫fü¦û–úXùúÙùêúÆüưyÿ´ ÀPµÙ:²€̀ÿcÿĂưưåü8üÊüËü‰ư}₫Đ₫8Æ`S<¹ )ÿë₫P₫₫₫Îư8₫9₫©₫?ÿsÿ"‚̃Yf±·ˆÆOÚÿ‰ÿÿè₫¹₫˜₫´₫Ó₫ÿQÿ©ÿøÿM’Đ́ü÷صl7üÿ£ÿˆÿ]ÿ2ÿ?ÿ4ÿNÿzÿ–ÿÛÿG‚ŸĐ×ƠØ­b$ëÿ°ÿ€ÿHÿ%ÿ!ÿÿ ÿ+ÿCÿcÿÿÚÿ@x¤Áăûṇ̃ê¤n6ÿÿµÿ‰ÿSÿ)ÿÿ ÿÿ&ÿPÿ‡ÿ³ÿñÿ+Y„˜­«—Z<ßÿËÿ¡ÿ–ÿÿŒÿŸÿ¦ÿÅÿáÿôÿ)BUOaYJG*₫ÿáÿÓÿ¶ÿ¯ÿ¦ÿœÿ¬ÿ¬ÿ¿ÿÚÿçÿ"7O[gb\U8# èÿÖÿºÿ¬ÿ¨ÿŸÿ«ÿµÿÇÿßÿôÿ';NQXSC7íÿÔÿÄÿ±ÿªÿ©ÿ©ÿ¶ÿÆÿÚÿóÿ &;OY]^VG3æÿÍÿ¸ÿ©ÿ¡ÿÿ¢ÿ¯ÿ¿ÿÔÿïÿ #:MY^`XI9 ́ÿÓÿ¾ÿ°ÿ¦ÿ¢ÿ¤ÿ±ÿÀÿƠÿîÿ6FUZZUH:#úÿàÿÓÿÀÿ¶ÿ¶ÿ³ÿºÿÁÿÍÿ̃ÿ́ÿ ).551.( ùỵ̈ÿíÿăÿáÿàÿßÿăÿäÿéÿđÿöÿüÿ  óÿñÿ́ÿçÿçÿçÿíÿïÿùÿÿÿøÿ÷ÿñÿñÿóỵ̈ÿøÿøÿüÿÿÿÿÿúÿùÿøÿôÿùÿơÿüÿ  üÿùÿơÿđÿîÿîÿ́ÿïỵ̈ÿöÿơÿúÿưÿưÿûÿ₫ÿøÿưÿưÿ₫ÿÿÿ  ùÿóÿîÿëÿçÿçÿéÿíỵ̈ÿÿÿ ưÿ÷ỵ̈ÿëÿîÿæÿåÿäÿéÿîÿüÿ ̣ỵ̈ÿçÿàÿáÿÜÿăÿØÿÚÿàÿëÿîÿ,4386&'øÿóÿñÿăÿàÿèÿÛÿäÿåÿëÿôÿîÿÿÿ₫ÿơÿñÿåÿ₫ÿ ̣ÿøÿ  öỵ̈ÿïÿèÿ́ÿ́ÿéÿóÿñÿóÿöÿúÿûÿ   ÿÿóÿûÿơÿÿÿûÿÜÿÊÿÖÿ̉ÿăÿ  ' ûÿûÿôÿ !ûÿíÿùÿíÿíÿ×ÿóÿ̃ÿÔÿÆÿ’3EùL₫lÿDưHưükûÍû¼ú…ø.ÿH₫Ưû“…– [\ °¾È6/&ưù ü!ö½ö₫øgö`úÁû¦ưB# £Å’ˆ´·M̀ưeûéú0ù‹ùdù[úsüíüÙÿ¨FÓO›V±ƠÿÈưƠü̃ûæú—û…ûSüçư¹₫N—~‘Ḉ)rHQÿ>₫‰ư ư´üóüưÎư©₫\ÿ?e0>V©«rÿ-Üe₫­ Üư•Ÿư½ư•₫Iûiüúyùâø‡óVơ5ÿ7ù‚ư] 8; ¡° Ư“ } Ü«eú¥ô2÷bî·íºñâîEóø’ûs} H — dÏ ;  €Yưư÷ëơóẠ̊ÛóÀơ8ø¾üƠÿ3P±à ' Ă :‡̃Àüûöóµî±êŸéZô=ôZơ^ s J›26¬µ RêưđxđRéIáªæ.æÍçÎđ²öF₫— ×`kn ₫-?úÄñ×́è’æGåœăÚçè‚êóëüY ,$!o®()%â™æ ¨ÿ öïéäÂạ́áŒƯêâHêäíGøïg <u!ƒDÊr Æ4₫æï®êdâƯxÚØÉÛjƯÛßî ’T±-¥"b0_:-F+B$c ¡÷ß̣.ăŒÓ™Ù×̉iÎzƯ â ë̃ú¥)ˆ0V)á&đ Ê ôæäƯ€̉Î^ˆËM̉t×íö6ÿ₫„/;-Å2JJ;<;4.!ˆ¬ư¾đ@éÍQ̀ùÍ'Áé̀ Ùă ö;í.'N)o2)1±#™|ÿđăíÚZÏ̉ÈÛÍÁ̀Ô˜ôtø¬Ö)(î5¹Ć;$<ÿ0Ñ$Ó&¶ôé ÔÉĐ Ï±Ç]ĐÚăạ®MØ'Ư+¤'¨"Öú§í‹äµØ̉pÏ ĐæÑ â(ú¬ûBb-æ,†8ưBÁ=Ñ6é,8"á³ù:ñ°âUÏHϪÍÈ-̉ƯƯè,÷ ç"1'~/V%^¬}̣Jç€ß^Ơǜ Íœ̉~Ѻé.ÿ—ÿ±¾1̀1(?†Dö>8T)f 2ô8íâỮËÍVÊŸÈÆ̉?Ưcëü 6 đ(Â'Ư/È'#¢×|̣ŒåËÛÖ/̈́ɡ̉Ô$ßPÿÊf17¨;DAô:-§G·ûˆêÅẳŸÉKËxÉ«Î.Ùªå+÷_‡É#E(„,›'½#&ù¸́RáêÙ@̉.ÎĐ@ÖhÚ)íén V²57‘;í@å< 4'$± Æôèá̉'̀WÍÎâÔùƯ"́ŒưÈ fn#b%t(9!›È óơLêà„ÚđÓ-̉úÔÜhá6đá ©3¸7Ë7ƒ;©7 0v!c/ x÷Fçüá×Đ̣ĐZÑúØ5âĹ4ư¥ d· $¢$Σ 5£ởêfă¢ÜÀƠRƠ>Ø„Ü\ä†́Tç©Ư)64̃5l4Y/%úL éÈî åZß́ÖđÔÔØ–âÏé‘ôȘ´3+ `ä´ 'ưñđsé€â)ƯzÙ2ÙSƯ~ă¶ẹ́d#%%/¿/æ.œ+Z)F"›W ,wôê}ăñƯ³Ú^Ü)æ=́7óÁÿ ÍŸæ 1ÄÿöDîZècäÂßߟâbçĐëƠđ¸ưR F#Æ!s&'=$Ö!W!QÑ 5lơ÷dïé8çæ5âtä—ëŸđö dw ûè±$ êî₫íö#ôëăé9é½çZéUë×ñ́ôûoc ç¹1iª`è¦ rªû"öiđîÇíćÑí ñaơîù®Æ̣  5 v NÓưø›ơẠđ¿ïï¯îèñAó™÷»ú‘ưñN Á Ư ¯“q2 ›Ño Đ₫&ù÷Éölơ²ôêơÉ÷qú£ûiư~3 ¬Î¼{ÿ₫ưºúøäöæơâơơ„ôGöc÷Ưø‡úûûªÿ<ăŸ ‡ ï ƒ³©C Ÿ ̃k´₫Ñúiù“ø÷ öW÷àøØúÆûwư–ơtwi"ÿ»ưZü˜ù•÷»ơÑơXơ ơ™ơøö´ùaû^ư; ÇVƯ ç ¥ À ÿ é =¸%IƯÿ¢₫øư6ưîülưíưO₫ÿƠÿƒñYmơC¶ÿ±₫¯ưÂüÿû¦û û…úóúøúâú¬ûƯû|üư₫°₫Nÿxÿjúç¼g˶Z̃ª̀Ê( xRÓª¦̀iüÿÀÿVÿyÿbÿÿÿ́₫Û₫¹₫₫ñư₫–ư[ư.ưîüAư#ư-ưưÂưàưA₫€₫@₫±₫î₫!ÿÿƯ₫ ÿ#ÿû₫ÿÈÿJëïŒ.ÛX—››°°a„ÿÅ₫ÎưZưưÜü#ưYưĐưˆ₫ ÿ­ÿ;”»™|LÿP₫£ưƠü0ü@ûÆúÚú û3ûûÍüµưó₫ÿÿ́ ËHÁ"Ö«;ü‚Ù¯—ˆ“ŸễđÍ£^‘Uÿâ₫K₫ÆưVư ưưÓüóüưOưưăưüưS₫e₫₫Z₫s₫X₫X₫ ₫₫₫₫©₫¤₫$ÿ¤ÿ=›?Ơ5 ORIà»ójưŒ œ̣ÿƠÿ¦ÿhÿDÿ2ÿ ÿ ÿö₫°₫«₫›₫q₫₫₫ư¸ưaư{ư6ưư$ưLư'ưXư£ưiư₫>₫`₫—₫ÿcÿÙÿ"LÔ ƠGËtè"7KưÙXäM½-fđÿeÿÿ¤₫>₫A₫:₫$₫0₫H₫j₫l₫g₫7₫;₫₫₫ ₫¹ư^ưeưyửü»üöü,ư;ưcưÉưn₫ë₫zÿ¼ÿwXÚ•ühü4Í̀\8vj*¾¨ÿ+ÿí₫Á₫A₫"₫₫8₫Đ₫u₫r₫Å₫"ÿ$ÿª₫­₫›₫k₫Çư\ưJüUüLüÁû-ûÆúäû3ü‰üüêư(ÿ–ÿgbç₫<•†8±ÚªßĐyüÿ¦₫»₫=ÿs₫1ưÁ₫Lä₫ ÿêÿ1GÿÔư]₫ăüăû"ü ûÛùrùŸøBùóú/ú1ûúûKü¨üÔư©ÿ€»îÔÈOK")̀” w|ç”[&zˆA₫uÇĂÿá₫æưÂüÂûû˜ú́ùWù̀øDøÉ÷£÷ê÷‘ø&ùÑùœú>ûÔûư£₫%¸7½ó"éu Ă ´ 5 €…e8"ë͵¨ÿÄ₫$₫Úư–ưcưCưưÊü~üWü%üîûûû€úÚù2ù¯ønøVørø®øùÅù̉úOüS₫™Ó̉¡- ̀ Ê f \ Đ ª  X—øjƯqÿD₫WưÇüüÆüưnư˜ư“ưbưưÄüRüµûöúúçøƠ÷÷œö~ö‘ö ÷Ơ÷̉ø<úüW₫ÜH~TóM ˆ œ U ô K ‰¥Ô&˜¨₫ƒư½ü}ü–üưœưÍư¥ưJư¬üæû5û[úFù øÈö‰ơ–ôôôtô)ơIöÍ÷¤ùưû₫₫#Ï ¦ X †l›Ú%̣ z èiØ–₫˜üû$ú̉ù*úơúÎûLü^üücû•ú©ùø5÷´ơ'ô¿̣´ñ@ñdṇ̃Góơ)÷úùÊưçº? l ú1}m|¦M3¾ / Ǫ¾ÿèüdúøw÷4÷ú÷mùíúü›üüưûûÉùøöÉóñï,îœí¶íwîđṆ5ơoù«₫íàp 9,Ï qÚ¥(Ç ¨Îüàù–÷Höôơ¤ö[ø€úDüOưưư#üÏúùĂöô3ñDî̉ëeêê¶êd́ăị̂göüÅL ̣ç-6²ëƒë lE‡ ưúÊ÷nööƠö‰øĐúßü#₫€₫₫ư|û¦ùX÷œô§ñ¡îÛëàé́èîèê/́FïŸóùæÿó« ÅæqlKæ0ÍÿŒư ” ‡đ£₫û2ù¼÷6÷“÷ÂøúuüØưq₫9₫YưÿûPú9øºơ óFđíRëøéqé»éë~íåđ ö\ü{-{ ä ¦4¡|0ë ́?ñăư,û>ù>øø¬ø›ù°úüAưºư·ư-ứûTúqø&öÎó˜ñgïwí₫ëëûêáëÁíçđéơùû»ê¾ ưÛ–Œ:~üỘ́4 ˜³‹₫¡û¯ùÓø¤øùƯù=ú ú®ûüüĂưÇưư§ûÍùë÷!ö@ôj̣¤đºîấ²ë˜ë©́áị̂̃ø:₫!Á! Sµ‹3©'JÅ ƒ £3ßürúRù&ù®ùQú”úú¨úû2ư₫æ₫₫`üHúkøÑöHơÄọ́ñÆï’íëëëº́ ï÷̣”ø₫z¼í 0×̀Y%ă+Î) . ù±O₫üÈúëùùùÛú’ûŸûtû;ûuûåüÄ₫¬ÿ<ÿsư-û ùf÷.öơmó†ñVï0í,́Ấ±îĂñ¢ö$üª]>; œư3¥ÇŸL@ Ó úÀ₫üÎú³újûfü¹ü’üü×ûTüäưˆÿÛ₫¸üeúdø3÷@ö*ơ¥ó¼ñyïµííîSđŒó‰ø›ưjË€2 …*̣ˆX¢ • ïGop₫7ü\ûrûlü`ư™ưnưÎüvüßü6₫Ÿÿüÿ§₫Œü4ú?ø7÷oö‚ơ,ôg̣Jđªî î!ï<ñxôjù*₫ŒŸñl ¹Û‡ å   Û~/ax₫jü©ûüû>ư₫_₫ ₫*ưĂüư?₫¸ÿ·₫ ü6úhø—÷÷Sö!ơSóGñ™ï̀î̉ïÅñÊô€ùơưói ¨YËŒ=]A 6 ‘X:†µ₫¸üåû=üưH₫—₫:₫EưØü₫üôư”ÿ2ÿ+ưØúù\øá÷f÷Iö|ôḷ‚đ_ïđïñ;ô¼ø#ưMûL y ;%QaCdB [CI¬Û₫²üªûäûư₫•₫f₫‹ưưừư—ÿœ̣ÿ1₫ÑûÙùáønø1øR÷œơó\ñÓï×ï1ñló¯÷[üÓÿy'ç Ïô{©»f Å p+WÿÖüTûFûsüÜưÓ₫ ÿK₫ ưNưĂưÿçKÿÊü_úüøYø4ø“÷öô¬ñÎïZïđ°̣ñöèû¢ÿ@¶{ )½́$i l ›ä‡Êÿ%ư3ûßúóû™ưå₫”ỵ̈₫?₫¶ư3₫i>´ÿ&ư€úÔøÔ÷›÷ÇöqơfóèđÛîuî­ï;̣U÷ ü,‚¦ ²Ø‡ị̈ ÍïjZ^ºÿêüĐúfúyûDưú₫Îÿ:ÿp₫ưíư“ÿL÷ÿeư¦ú°øƒ÷G÷–ö“ơóñóî\îqï2̣˜÷Eư\Ùæs v•çÈơ‚ 5ó8“)=ưâú úûư(ÿY"Pÿ₫-₫›ÿ̃ë©ÿ'ưhúøÇöUö¡ơÛôç̣~đ`îêíÿîj̣¿ø«₫ˆ>- ( ăÈ)Ư-ê XlFƒ5ưŒú¸ù¯ú¢ưÜdí£cÖø2ñÿéç{åçAé®́«ë_́hè2́€̣ñ₫»0E4¹*¬j '—c ‚¥₫°ïÁîÑñ ŸÏưÄṇ̃Îư8U {₫{ô~́[ô( ÷—ùÉüO%ÿU÷Đéæáăä9́®ơø-đ¢́{îÚüu$7>Æ@Ó$h_ ưÿÍö¤íËéóí+ûD.U ụ̂đ£̣÷ ú·ơùù@₫"¢ ¯U₫ùÿ7}-Vü:í̀ëÖî̉ôyó¡ë₫ǽåïî£û·@·&Ê1?­1j?¹́›́¤ïóñ¹ô5ô·ø̀— ̀ Löíáéôñèü¢ÿÑ`ómT –¦ưWûÿ2ng₫́đ¨ê%êúí¡ï¸ë(éôæbî•øî+É3«<+œ̣ÿËíîï#đụ̂ơ‘øÿ«”Û ơØíẃôüh₫;bX¿3 "ú<úË₫cæûï3ê3é‡í—íüëCéƯéCđü éÚ2è7;V˜ é÷đẹ́ÈñóÂơ¾ø4~¾Æ rú¡̣–ëïÅö@ükư¦C ¤ †Lø¥û¯Ÿókùƒí—é́èqï3íOíféĐê„̣ ÿ x'd2<¡4' ’ñ¦̣ˆđ¸đụ́áô´ø½p É3 ¿ùôHë ñˆ÷Âú"ÿ•Zù ó { r¨ÿd7$1ûÉñíë‡́‹î@íLí-́7đùHŒ,H6½73¦ùÉö¥ô)ñ÷ñ ñ’óGc 2‰Hÿ˜ûđFó?÷–ùüÑư"₫–á: :Ø&Ơûôµ́ë ë¦îöíZïHíï}÷ïü!'0–7JÈp¬ùú“ñ‹ó̃î]đÓú±ï à‚1öơ³ùgø~ü+û“û¨Ú 3 x "åù̃ơÉï î í†é^ëĐéÛíđÓôëú>xÁ&o6&)·© pÿ§ÿ~øvøäñüïñưp¨ă[üäö́ú-ûÛư§ûơøù±ÿ±YS E ÿOø˜ö_̣ṣ ïÅè²æ9æ'êäđÙö ü Ñú*”2 $Ưøªÿ©û±úbó'ñÙôæúáe Øl úFûûûPưcÿ=ûLùDúăü[€8æ;úoøöô1ơôéí‡èææứíô‚úöÛ#(Q-È#Z!ú B ư;ûyơỊ́+÷nù×₫o Äüj₫ŸưÅư4ÿư¥ù¹ûû‚âøÿÿ ÷êơZôƠóæ̣ îüé9éé÷ñ¾÷7 ßĂ#ä&X ëÅ6ëïûøEó̀øgûñ-†AÎ₫‡Ù~˜2₫úù3ûú7₫%₫˜ûzø°̣8ñ§đIđ ï¹í‰êẃUï™÷C ;#B# i7A¥ (ÿù¯ôêøIû(}đxP7® ªÿ²úú}ù2ü;û”÷üózî¼í-íó́ª́ëÛéEîÔđ­"A¶$‚“iTJœ !€ưô¢ôVöÈüéi0Á]>F V™ÿñûøÆ÷´øèöÅóï«ê&éè ê<ëöêí˜đeØ `X!½ Å–«¸È—öơĂóƒúÿø qó( 8 ï ±úhøiö%ôAđÊëŒæQå åcè•êmí~ï¹ø€³6µÀkT/ ¥₫₫ùÅô3ơ7ú…ư ₫’°Ü* ’ư PƠû÷†ôHñ÷íjèÛăXâ‚â[æđếîñø P´*ˆf ŸR k °¨ü øØơ#øgùºüö₫ U%3 € ’ ír₫ù³ómï„ë´æặá¿áåå˜é¥ï"úßÀJï^ÑÑÎÜ à.ư ø‚ö̃öL÷Rù–ûk₫ß9 Ä 7 wîÿGúô€îFéơăæá_á‡âçå¨èsñØú–Ñxƒª¥–Ÿ“ùTÿuût÷’ö×ơ¾ơö²øôû­û : g Eâ₫ơøọ‚ëäå*â`á*âpä›çæï{øl¬$ƒØ Ñ Ç  ^ ûưmùöơóḍóÀôoùë₫6N"₫̣ø¡ñûë_çmääXähæZíüôrÿw C  n…!± ‘>@ *ưñø8ô°ñ`ñ8óöû¾ưÙ2ƠÔ£ưSø«̣®îÇëcêêLê+ïxô$ü›G Ó´•w5Ó›”Í ’iü=÷ ô—̣­̣nó·ơǿú§ư2ÿÊÿÁ₫ü ù₫öôẠ̊nđ°ị̂êơûxzåJ GơÆTÉ™b èÿ„ûà÷(ö5ôóóơ¯÷&úvúưúûŸúÊúôù(øâöÖôûôùWûË₫ÙÊ “ N×k~çlB ¯/óÿgüÖø¤öÖóôEöÎö©÷Pø¸ø„úÛù ù)ùø4ø°ösô‘÷ÈüĐ₫–×Đ ®?l-ë  Ç•¬ÿ{û›÷Öơơ¸ơ¦ơÿô7öE÷ú÷Qø÷RøºùoøÚöoơ=ø]ÿfZÇ “¬[]‡à Gñưçú±÷÷Möơ‹ơUöø®øløùzùsù8ú*ù}÷üơ/÷Äüßÿè3x q=Œ¥H Ö ŸP…₫́úÏ÷Aơṃ¾ñ+̣Tóéô(öŸ÷;úJüürüü¯û„û·ù¼ú[ÿÆÛ̃|Ù E$“Đ ¸ ‰̉]Qüú´÷®órđñ±̣óVó<ơÅù›üüüßüïư#ư6ü–ûîü*, É9 ~ Y Û Ï6 E 4áDÚưAú8ögó~ñgṇ̃®̣ñóíờøüµû}ûlü<ưXưnưPư0ư¬ÿ*–¥i’ 8 Ú H Ôó § ƒ @‘k₫Uû«ømôèñŸṇ̃`̣›ó!ö’÷úüpûuư[ưÂưÍüÖü¦₫ ÿ ÿhÿà̃Ë µ w 7 I CËư˜÷§óUô‡̣^đ6đƒô ø:øö1ü[₫₫ˆưÓ₫Æ4ÿ'₫Áừqÿkÿxæ¨x] L ‹ W ³ ~ÄÖ´ưÁ÷<ôơ·ô ̣ñ›ôÿúøy÷₫ûâÿơÿX ₫| ưEưƠ]n₫|ư¸5_  ½ ÏE  ̣@u'åü¼ö,÷•öÂơ(ó»ô{ø‡ö­úú”₫eÿ«₫“Ëÿđ:ÿ]!ÿZ₫ŸRüƠưùpư—sw_< ‡Ä²½P₫ ûF÷¸úÎø™÷™ô‹øøúÓûư÷¾ü<Ô₫‘ÿÅÿUü₫ạ₫5ưừ₫´ÿ Óỵ̈?´Gѧ;l}ƒGöÿc₫­₫£ú#û†ùÖûdû¶ù3üµüÿÑüOÿ²±¶2€ÿ²ÿèæÿŸÿ9ÿ‰ÈûÿmU$Ö¨†|[ÿJư™ưfüư8üĐÿâüºưg₫åÿ15₫̣§!–ÿ°ê₫aàÿ­ừ¶ÿDÿÇt°6§ç‡WIÿhÓûÿ’ư"éÿ₫₫̀ưÿÍ₫bÿ́₫;₫Ú¶ jS´[₫CƠ)ÿư^ÿ$ö₫­₫H¿ÿ{ÿ~ƒÿ1 èư~&j₫¥ÿ?}₫êÿ…đư„ÂÿPqÿëÿĐÿúˆÿ’;vÿ±ÿ °ÿÈ3ỵ̈ÿ@₫QVÿ£ÿCÿ‘ÿ' ₫Dÿçÿ.ư?KÓ₫¯ÿƒB̀ÿ)¡Kc ‰&ÿ#eÿƒ?ºëÿ`t•lk7Œÿáÿ%₫Àÿc₫H₫ÿK₫éÿüư’ÿÈÿÁÿäÿ3“-¼3_h\ »Jÿnă₫à;uTåÿTØÿúÊÿªơÿ-Bỵ̈ÿ₫₫Ï₫º₫‘₫è₫•₫;ÿé₫Çÿ$ÿØÿo½ÿêÿ<^m9‹ÇƠÿüïÿŸéÿ«QSđÿ|ÿJ|ÿƯÿAÿÈÿÿpÿ>ÿ/ÿÿó₫—ÿù₫µÿbÿ́ÿºÿ4&kn}­lÇ®­sËjwV[@' ́ÿáÿçÿŒÿÅÿ]ÿ¨ÿ^ÿ^ÿ–ÿ_ÿ{ÿ}ÿ®ÿŒÿĐÿÏÿ¾ÿh@vcmƒY€T‡QPA;.êÿÛÿÅÿÁÿ½ÿÿ²ÿœÿ‡ÿ›ÿ„ÿ¤ÿ˜ÿ̀ÿ­ÿßÿùÿ₫ÿW7W\`W\aZEB:& ơÿëÿ̃ÿÉÿÓÿ¥ÿÈÿ¢ÿ¦ÿ´ÿ’ÿÁÿ¦ÿÏÿÔÿîÿơÿ F>6C@5E=76H!15)!ûÿ́ÿ́ÿÖÿ°ÿºÿƒÿ¤ÿ|ÿ˜ÿÿ¡ÿ»ÿÉÿÉÿéÿ7%O4XTZW7G<87óÿøÿ(̃ÿ̀ÿ̃ÿ§ÿ¶ÿ£ÿ‘ÿ|ÿ—ÿ£ÿ‡ÿöÿÿÍÿ>}MStf…øÿ°ªÿK%́ÿñÿ~ÿƒµÿ²ÿéÿ©ÿÜÿöÿßÿ®ÿËỵ̈ÿ'ÿiÿ)ÿàÿ³ÿÀÿäÿÉÿUëÿukv¨WE§Éÿ³éÿñđÿ!©Ëåü’zûÊ¡ÿÍÿ₫°ÿ(w₫Nÿr÷₫b!ÛÿÁå2{ÿÆ¥ÿÿÿ{ÿ7³ÿî?/Ôÿ‰ÅÿúÿâS0ÿ3Ÿÿ×₫~.HưÎÿÆưóÿè₫ˆÿ#ÿü₫b²₫,x'ŒÿEÀ=ùq‰…^Đ×â¿ÿ{-ÿëÿÿ—₫“̃₫‰₫;|₫‚₫©#₫¤₫ÉUÿÿ\ÿpÿèà₫dl˜ÿ 1h|‡4‰̀ÿÈ Pÿ‡d^ÿđ₫U¸₫á₫c:ÿÿÿˆÿ»ÿ0’ÿÜÿ£ÿF²ÿ̀¦ÿ­TàÿªJ8âÿ€ÿÿ̃ÿÿdXÿ`´ÿ­Úÿ¸₫ư₫Vÿ^₫ư,kÿÿ’ëư±=₫đíÿ§ÿ̀ÿE₫†®₫hRÿØ[₫9Ïÿ¦¨¯ÿÑÜPÿµ=₫£Å₫„ÿ‡|₫€₫›¦ư‡₫˜̉û[4ÿ+ü¶Ùûm¬û&ư³ÿ×?ÿsB¥ÿw4ÿSaÿµÿ0Rtư™9₫Ưü©ÿ`üưâư„ûG₫üü'ü”ÿüˆÿ°ÿÉưk´₫m™:vƠñƯ#!ïï×ÿøưÿD₫0ÿªûü#û¢ùœùEúê÷0ûøíûúgûÿïúÓ ÿ&UÏ æÙ@ Á<p›3jcG$¯Îÿÿ¦₫₫rü‹ưÖûKû—üÏøüKø/ûÓø ù*û2÷ÅüRú#ü¿₫+ÿ\KYµ ‹ # t Ăî™O$vÿ̉ưj₫ÙûˆüĐü¦úü\ûºú*û°ù^ûL÷Íú‚÷+÷̉ù˜÷Ưú®ù³₫$₫é“bc D Î ² ¯ „ F  ñà&jhÿ₫Ëü)ûéûlúû³úû‡úÙù´úÂøùRøÙö.÷×ôùYö©øÓü£ûU ¸© ‘¬ j¢k² < G̃=àÿKưPüJûùˆú±úœùsû û­ú^úú@ù«÷j÷ÇơèóÍó_ögô÷|ûpû°Vœ ¥wż² K …M‰Ơ₫Aûdûøpøù̉÷gú^ù´ûHúơûqúAùäùëö2ơ—ơtđhơÊótó{ú‚ø w¸q L _/¢Y»™ Êérÿ¯ûÆøpø¥ö;ơwøùöuø±ú«úûú9üKûXùßùX÷jôơïEö_ñ¯ô@únø¸‘ 0 |½2 „„„¶ ‡Ø¿ư®ùå÷fơwơ·óFö ös÷ú³ù‘ûüˆû<ú ù›øàóö-ï²ơóF̣*üă÷ ' 6 ;çÄÓ)b®- H’̣ư±÷‚öô6ó˜̣&ơ„ô÷ùúUû²üĐü8ûTú„ú¿ỗọ̈–ñ!ø8ï{ûyù#₫ƒ°lmø%\\ơj R¥₫ø×ô"ô{̣ñaóyôăô§øùù/ûèüûưđütûBûÿøJô~÷ºîh÷%ôỰÜ₫ùđ‹1 tHơ±‚Ä—Á̃ưXú8ôØ̣f̣ÙïÔđ$ôç̣\÷zùçúáüÍ₫V₫Ëưªû0üuö‹ö¬ô$đ»ú«ïJúíư ü-‰V«•~f·T0›2 À ÿûFơ”ñ ñ‡đí–̣UóŸó ú…úFü¼ÿÀÿHÿåưüûú ơø¯ïă÷%ơ™̣\ÎúĂ ù R"ßçê:Z)Ơ₫üCơéđđNïñ́đóṇŒøhûúû(̀ïÿk*ư%ư÷ơ9øHñAơï÷7đ ÿºüÿ 4 B«°: ÷¼ ¯+ưuû'ơùîœî½îGëïẬ`̣BøGüưÊüÇøÿs₫=ươơ`÷+ñƒ÷™ôṆ̃j°ûû… éà®?O1¬ Ü7ûbø=̣ïëüíq́7êfđ̣óû$ưà₫´<LÿÔÿù÷€óöàöTđ¾₫Lư£ü¡ ă ̃ ›ûùKà¶3 CFüà÷|ó¾ë{ëEíøèDíyó¯ñxù(ÿ÷ư‚xˆÿ~ù-÷Ẹ̀Lùơ½đçéü`üœ ưn Q_£=UZv 7ĂùÖö ñ[é>ë ́è3î)ô,ó€úTb­Ùÿ¸₫Ä₫éøzñXú¶ù¢í`ÿ¼üøqc Öàkx̃ ”‚ú»ơóäêºèëÇéëpñ›ô¼ø…₫‚UÙ˜yÁưúnó°ûÂø„đnµ×ú ê‡ ¨5^¡ªW ]*ü›ôHñçíGèdèÅíëØî«÷ƒøÍúÓuË₫ñÿ ₫mûßôZ₫üÚó›0²ư ¢m ÿ”…£›m nJéưóđ̣đé”èEïđípï¶öëú#ûä₫Y,ÿÉûƯưÊùK÷Ûù›ú‡ê QŸ=q ª̣¼ú÷̣®ñ_ï¹ëwí¿îÆđúóÅöúùcüû;ûµú’ú¢ơ1ûù₫ÿÚu²;̉µ'û é̀ÿóư øṣDñ“ï ï1đíđªô¢÷2ø™û‚ü úUøúùböxơÉ₫âú®ûE.§ÑUÁ%øR b ÛàüJù×ó‘ñđïcñ3̣Èóvø«ùûZüúlø`ú;ơ‹øbÿøù₫â–«Ó ¡Q7K„ q3ÿ§ü¢÷©ó¾̣7đÈđMó1ó̉öWùNúIü¡û<ø²ú¾÷ªöÿ£ü*ưŚ‹K  ^ëzƯ–̣ ( ¯„ÿIư°øÑó7ô!̣rñÉófô!÷§ùÆùèû‡ûøú¸÷û˜ÿüüüø%t D Î 9Œ]… äYYưTú ơªó/ópñ²̣Gô®ơùÉù~úÉûxù|ù̃ø@ưñÁÿG× m ™ ï áí³ œ  ¤8Ö₫æǜù…ô¯ó1óỌ<óôƠơơø’ø%ùùëødø úâĐ­q y]Ô;½X - {*“ư*úÄøåôg̣<ñ ñyó;ôÊô[ø¾ù%ú‚ø5øÅøûúÂÿLÍ‹| ´ ÂÄưy»W {Ơ]₫û̃÷Œó ñ¬ï\ïĂđSñ;óbö÷B÷Ó÷ù…ù^ÿđÚK xEơQfßä ß…p}ü1úÅö©ó€ñ:đ̣Ị₫ñ»ó†ơ˜ơ®ơĂơ#÷—₫]l₫ ^µ”¨²¯,O “µí₫ú8ø4ơó‹đ¼ïẠ6ó/óïôOö4öqö*öüÂö ?́„Ü“,đ Î(Řûªù§öô‡ñmïàñ§̣–̣̣ó4ô†ôXö"öZü’@¦ œ́Sº¥8œƠ ,ÀT₫Æù[÷óñđïñ‹ṇ̃ô¢ó¾ơ*÷ ùEaTS ư ø©ÂH[Ă ÜÍlcû]øOôûđ´ïlíîtï̃ïñhñ~ólökùṕ¡ đ=Ñ»‚üÑ ³®%6û‹÷9óîïÉîốíîïđođvó;÷¤ü~ ”zs°ÏP' Å ñ ïûtøÇóïîṕăëẮíûîđº̣wơƯû„±’ ÿ[Đÿíp¼3î úüáû‹÷|ó~ï•́ƒêƯéÊêSêËëmị̂êô½üz·‘ĂÀf8B(N I ÿ¥ùæôñ—í#ëùèé¯é̃é}ë6ïẹ8÷¾ÿëÊ i7.¤–ơ“̉²¼ü’ö›̣1îxëxéçèĂè¶é“íUđUơC₫Ó_ YE%A Kw)ar6ªüƠơc̣HíËé¾è`æ7çíçíéwî?ñËơ•ÿ g–›ùXïBhoû ôUđåêé+çfä5æPçüé}îŸñGøUóÚ‹O3$*» ¸ÿ/øṿpíNè¨æ¾ăăĂäsæÎêÇîóÓú¨ ₫˾ Oê^äè¶ Lđü¬ơöï¡é­æDä×áÖâáä¤çĐëÁđ°öpÿÍăh°×ü”­B´F^ùç̣ćœçjåbââ;äç9ê°î6ôpúâ= û<ç₫-ßI#¼ Onư÷¦ïHé^æLäqâ˜âSåŒê]íëñ«÷çÿv 0P̣sÉ¥k´³ ÚúF̣ứ­êÖæ’ä„åçÎë¥î ó¸÷ËưÜ ǹ¡#^à`ë2¶ ?HÿùQóIđ.í~ë}é̃ëÀíBđÊó»÷‚ù8₫UÆ § VLŸ…~Ÿ! Ø'Pÿùú>ơÇ̣¸đ|ï±î‘đ;ñ¹̣̀ôøçú₫iIÏ  !›£ 8  ³î₫°û÷bởṇ̃̃§ó¥óG̣#̣¬÷'û̉ûăü¯b D  ² 1 Ù * Ă=`Kưưùûª÷¶ó‘ôÑö×÷örö̀û—ưAư­ÿ¢sÏ¥ ŒềŒmÿ§₫7ÿ×û¬÷Kùçü’ùÖøÓù)ü‰ü#₫ƯưAèj¢IëóMe÷%Äÿ7₫ú₫¶ü’üNûcü²ûÚûæü>ư3₫êứÿ“èäboo¼œ R¼£ÿyưkưk₫:ư¬ứưSû₫ÿ‹ưÜü:₫@4‘}9*^HgG<Iÿ_úñÿqưưH₫½₫†ưÓüd₫w₫₫ư ÿq¦¡£1ó5ok€%KÀ7ÿªÑÿ“₫N₫f₫ûư₫¤ư{₫è₫“₫ï₫ü₫‡ê Ëvá‚«çÛ]{‚ÿ{₫Ø₫yư†ÿCưåư<₫]ÿÿŒ₫GæÉÜ7£.*ù næÿÉÿ ÿưư'₫₫·₫s₫ˆư©ÿ×ÿ÷₫A₫ÉÿöÍđ£¼ZeIZ1ÿñÿîÿÿó₫w₫aÿ₫|ÿG₫Ë₫.Èÿ1<ÿ¿>ˆ!N̉Éüîÿâ@ ÿ3ÿLÿÿúÿQÿä₫Â₫Rÿ$ÿÿqŸ‰C8vJI~ÿ¼|Dû₫W₫ÿÂÿ ÿ!ÿ©ÿDÿÖÿfÿÏÿ8ÿ\ G6«ˆ\BüÿÇ)ŸÿZ„ÿ»ÿYÿ^ÿµÿ#ù₫®ÿ¨ÿä̃₫©A…Âÿpàÿ´HÓÿTÿ;®dÿ}ÿÙm½₫ă₫p¤ÿ‰₫Ñÿ§’ÿ„ỵ̈ÿ“,ŸÍÿa£åù₫˜ÿíáÿ¼ÿ˜ÿ«ÿưÿvÿ§ÿÙÿÙÿc̣ÿ5ÿÿ’zGèÿ¸ÿ¼x­ÿ6ÿÿª:éÿ₫}ÿĐÿ›ÿ`ÿÎ₫dq°₫]N̉ÿeM‚5ơÿ °ÿĂÎÿ8ÿÀÿá₫ÜÿŒÛ₫»H$₫»ÿÏÿóÿ|ÿB\₫ Aikÿÿ ¼ä₫ù₫+†SÿvÿA@0ÿ¡₫°ÿS­Xÿÿ&Œóÿwÿ_¤´₫`ÿYµË₫fÓÿ¡ÿ₫MNÿfÍ₫:=₫ÿ@ü­₫ÿA­ûN[₫Œù₫ÿ“ÿƠĂÿG₫‚…ÿÏÿ¸1ÿ@P[W¦üjƯaư]#?ÿ:4ÑÿÈ ÿn‰ÿ₫̃•¨ÿ¸₫|ÿx˜ÿÿBÿ&„ÿÄ₫”₫ÿúÿ(ÿùÿƠÿê•5ÿQÿ*Ă,9ÿ§&Óo‘₫₫_Ô₫ ÿ5³ÿˆ₫Æÿÿˆ­₫Öÿ²ÿYÿêÿ…ØÿO`P6 Ă‘ÿê₫¾Ë7ÿ,ÿÿ•₫IóæÿP½₫}ÿH€df­₫â€ÿ¿₫ÿùÿ ₫#‰ÿ"¸ÿ~ÿM ¬ÿ¥ÿdƠ₫áÿ“ÿæï₫ƒÿ57ÿÿåÿ'F/#Bÿ–w×ÿÿÇĂë₫ ÿ€È₫8Óÿ÷ÿơÿÔÿ¿ÿ;XÿG{;qÿØÿÂÿD₫ÿè₫ŒÿûÿE8‰ôÿÑÿ#!%³ÿáÿ²ÿđÿHéÿÄÿÀÿ{ÙÿíÿJÿÿ ÓÿSåÿ 4˜ÿ”ÿ ±ÿ̉ÿçÿƠÿr›ÿùÿäÿđÿÊÿ2Êÿôÿ­ÿ?ơÿ WÊÿ˜ÿ)3úÿ̀ỵ̈ÿóÿ) Êÿßÿh\̃ÿâÿúÿÿÿ.ñÿñÿûÿQ àÿ)₫ÿ(Üÿøÿ×ÿăÿ .æÿưÿG2Úÿ?éÿ®ÿ̉ÿÛÿçÿíÿÓÿ"éÿÿÿ>øÿçÿ¿ÿĂÿ7æÿ¨ÿ  ÎÿăÿJÿÿ æÿçÿ'ÏÿèÿäÿôÿÖÿ đỵ̈ÿóÿ5ïÿ+;ôÿæÿîÿæÿËÿÚÿíÿöÿH 8ÓÿÓÿ%Úÿưÿàÿ÷ÿöÿûÿ7èÿøÿ(ëÿưÿÖÿÏÿđÿàÿ2̉ÿ$ïÿ´ÿ ñÿöÿûÿßÿ+öÿ÷ÿøÿçÿ÷ÿëÿüÿüÿàÿ₫ÿëÿüÿùÿàÿüÿôÿ₫ÿ, éÿñÿúÿëÿñÿßÿâÿ/óÿ0ëÿ?ùÿ Óÿüÿâÿ³ỵ̈ÿêÿđÿ )()ºÿßÿÇÿ¸ÿâÿăÿ+K!7ùÿÙÿåÿíÿÇÿ›ÿ¿ÿêÿàÿ!7E<;D ăÿÈÿêÿ¶ÿ¼ÿÿèÿèÿáÿ,%G%>9>Åÿ¨ÿéÿÂÿÚÿéÿéÿ+ôÿ¿ÿÿÿÑÿÿâÿ̀ÿ+8>DRW(7 ûÿÓÿëÿˆÿ‹ÿ¤ÿåÿ ²ỵ̈ÿ₫ÿ,>4%/&3ëÿâÿ¹ÿÿæÿÙÿúÿ 9%N*YúÿéÿÀÿèÿ~ÿÔÿÂÿ½ÿ áÿQơÿC4N=ûÿ™ÿëÿÉÿÔÿ ÿâÿÈÿ!7->æÿ_öÿH'5̣ÿØÿưÿÊÿèÿ¶ÿùÿ¨ÿ¹ÿÓÿïÿñÿ 2₫ÿ++N=#̃ÿ¼ÿ̉ÿÜÿ±ÿÇÿÛÿ÷ÿEJ!- 1Ùÿíÿÿÿ́ÿÍÿåÿ ÄÿÛÿ;ÓÿT*ëÿÔÿùÿ ëÿ²ÿëÿÖÿđÿüÿ*-ûÿ05Æÿ.ÎÿÖÿ¸ÿÿöÿ§ÿ@ÿÿ¾ÿüÿ.aLíÿüÿ1œÿ4çÿßÿßÿÖÿ U×ÿêÿïÿPçÿƯÿßÿ9çÿåÿºÿ¯ÿØÿæÿÊÿ¼ÿFJ ÙÿƠÿ óÿV¨ÿ6đÿ=(ËÿZ%‚2ØÿÁÿ¥ÿäÿÿïÿnÿÿ§ÿ-³ÿÛÿ¶ )bAIÿ́ÿ¬ÿ.éÿ£ÿsÿrÿ‘ÿøÿ+i‘Ø„„&ưÿ! nHO8›ÿˆÿaÿÊÿ!_ŸTf6*!çÿơÿƠÿ¨ÿÿ&ÿå₫Á₫B₫K₫eưÅü¢úøA÷÷û«ÿ¼” #hđ1íÚhàúÆó—ïÊï¿ñAó£ó#ñ©íÎê@éêÿ́¦đ£ôîø·ÿÈ é81t=H;¬,—g#÷đ̀îí‚́§́đ+ö2üwÈÿPü7÷hô ơ÷ƒø:ơªñCíVî]ñöú.ü Ø¡2—>’;æ+cû™êÂêÖíñÚóñµöèû1D ó ®øóQí©ëJóûUư˜ú ñAí̀ë;̣pöjøqơuơô³J5A;>̀'© °ø#îóÓô₫ö°ñ¯ị́gúG W ˆ •ü­ïÉë½ï=üăû"ô ï3ï{ókơ/ôï>êí́]|7̃B¬=Ä(7Œ₫ÈóƠơụ̈!ñºëØéUñû På å©÷ƒ̣Ơó¿ü d¢û&÷#ôóợ“ïê é•ë î@ưbÚ';;ơ?:~#„FúÈïë¥é̀́ªëeñÅớ₫IÏ ¡ ¾Àư÷àöhúëưtû₫ưËøûơ(̣ î$ëeéÛé#́ḉ̀ôĐ+76C$B¨-½ùüî‚́í`ñÆïïđụ̂•ùx × »Ü₫¯öönú©₫¡”ư½÷NöeợđqéKê,é¿îëđơ¬½2Q@üE`6JÚ́Dé;çï“đâđˆ̣/ôGq ̣Rú‘ơ#ú5₫Ă&\úDöơ®ôôoïÍëÇé½êÊîNñƯô1ˆu,=>ÍD 9 '<î”è·èˆđWó¤̣̉ñøñ‚ûÇ) O ̀Jû\ớøÏ₫Vñ‚èüUö„ôđóö¡̣Ùï€êưé ́ôïyôKơ’|h,d>KE¡:-îÄé&éVđ̣ï¦î3îúâ Qû,ôPøñưbø₫ ùøÈ÷€úpöJ̣ë®é́KñƒöƯööôư‹Ô(+>hEå9~̉^ëGæÆèđ¡̣ĂïLîyï ûÁ¬3 ú7ñˆó́ú8« ~qbúäù2ûè₫Éükø›đ́]́<đlö½ö±öƯñ”ùŸ ×"¯9>?Â6ÖÜí|é(íỌ́÷Ọ̣̈Éñ–ûxÅ Ë ¹“ùüïạ́üùU  ]<ÿÑ₫Ç₫¦ª₫ÙùṬǗB́³îĂórơ‡ôeñ ïAô_´o1;E7Á$9ûođ‘ïñqôó–̣µ̣¾÷5g? §ÿ öEóKöw₫* z 5đ1‹Rÿ÷ûR÷‘ñmî×́Yî đäđñ5đḥjôơ₫l!D2©6g2(ï úøxï%îCđ×ơ¯ơƯ÷öïúpÿû³%ÿ]÷IöƠ÷aÿ`| í ‹S ÿ¬₫/ưÇûjøó¢đ¯íïĂï¹̣ÈóOơ¥ơ}öVø„ư, :@+3Ï2M$₫ñ ïĂđøŒùµúƠ÷ª÷û²ÿ½å¸ùơ ó*øzØ " ô¤´₫ưëú ö‘̣îûîàï`ónơH÷>øëøDúKû ₫cW¾_)r/y,Î 1ûVđôị́đ1öøœø¦öüöèù§ÿ-v©û÷pö±ú³²äđ4m^hÿûöXđwîîîụ̀Çösù úùnùúrửÿ£²¯ <˜b&̃%¯»Ô₫^ñH́(î¡óù̉úúø,ùåû8ÀƠ ưûeû’#߉@üËúúáú|ùĂ÷ơ¿órô"ö4ù¢únüüăüüi₫ ˆ¹ °P †§ =ưˆôRñ²óàö©ûü×üû6üùư“¡BÿûÏúÓúM₫ÂXr₫‡üôù›ùñøø^ø‹÷Høú÷|ù©ùLûƯûøübưÓư„ÿÅ#[ ø “îw ÿÅ÷Ṭđ̣Fơ˜ù•üơư₫₫*ÿ›ÿûgIÿưaûDû›ü—ÿí˜=́ÿïư§ü´û'û ú$ù0øè÷$ø¿ø´ù‘úKû³û üóüÿCƯ Óœ³Ô  Ăụ̀óÇó ö úËư8ÿ¿₫)ưåüæüÛ₫QÿâÿC₫Cư¡ü̃ư«0sy±p₫˜û₫øœǿøVù§ùø$ø̣öê÷̀ønûơüg₫‘₫å₫R x=ˆ̀îó‘7üœơẬÀôÆ÷>üøư#ÿ4₫ưư+₫ÿ2ûÿsÿ¸ư[ưư–ÿ!nø₫zü×úÑùoù³øø%÷÷|÷#ùôúæüÂữưkư²ư¥ÿƒh Ö9̃M µ ³û ơOô{öúưÿ₫2ÿïưoưfưŒ₫tÿ¶ÿó₫“ưâü)ưÿŒäÓåê₫ üóùŸøøĐ÷)ø¬ø–ùTú₫úGûAû5û2ûßû8ư¢ÿ'Đ½ ô*)k£™ü-ơẸ́Uô›øºü1ÿ¾ÿÚ₫~₫’₫ơÿ¬×FÿPưûQûÖü+ÿô]áµ;RÿØưüDû!úđøsøvøœùơúbü¾ü7üăú³ùpùcúÇüĐÿÈH ¦q¹Æ²Éưùơ(ó°ôLù₫Îÿoư“üÍưvÿñ¯û₫¹üû}û?ư8#đ¼˜₫L₫ÿŒÿhÿtưûø ø̣ø[ûưp₫ØưÆû]ú…ùÖúoü—₫ÔÿLÏ*éúÍÜü ơ¬̣­ơŒú£ÿœÎư4üüÇư# çưûïùùúhư«î7ü–ÿ₫ˆư¡₫ßÿ‡°ÿfưûú)ùbùêúhư9ÿÿ›₫ü*û›ú¨ûư₫\₫₫XÿơB ¡Ẹ̀¿«ùvó%ôü÷Hư…Ü ÿnü’ûæûE₫Îÿ¤PÿqưÀû¹ûsư7½±Éu3₫åüpư–₫ơÿiÿÚừúƯøø©ù;ü₫Éÿ̉₫Fưbû|û¹ü^ÿX5µưR̃ жÑy( âú øUøƠú<ưĐ₫ˆ₫£ư–üüxưÈ₫ºÿÿÇ₫sưóüWưÿ˜©khÿ–ưùü*ư₫ÜưÍü[ú(øóö»÷6ú,ư˜ÿ+Œÿ₫`ưưü₫sú4Czù  y Lû₫ùSö¯÷üú̃₫5°ÿvư@üü;ưb₫Sÿ ÿb₫ ưpưU₫ÿwămÿ•ư„ü"ü7ư]₫ ÿÿw₫ü úéùúưû¦ư–ÿ<Ÿÿ‹ÿÖÿ²/•íÆäu±Év!`₫ü¤û.üÁưÿ₫ÿ2ÿ₫Oư¤ü#ư—ư‹₫Ư₫ÿÿï₫ÿÿŒÿyÿöÿ°ÿ¤ÿ|₫ưûoù¦øÀøOúÖûÊưq₫ù₫—₫Î₫Bÿ‚$¼^T[ÂyÇ1 ääđ:‡:₫,ưứư×₫xÿcÿ´₫Ưư0ư!ưư"₫œ₫´₫₫₫×ưÁư ₫K₫ƒ₫w₫'₫àư”ưéưz₫ÅÿÙÍŸˆ“₫}ü>ûưúBüÀư{ÿüÿÿ—₫t₫Mÿ#¨¢I ª \ Ṇ̃µà„Âÿÿpÿ‡ÿbÿYÿ"ÿÿ÷₫ñ₫ä₫Ú₫Í₫ ₫V₫Êư-ưˆü8üGüÍüZư¡ưư“ûkùe÷2öwöFøû₫FåĐoïè ₫9X †Bưsú3û¯ưÿ¹´µ&₫'üeû8ü}ưÿnÿeÿw₫Ưưhưưóư'₫₫}ư&ưíüư`₫ÿ7'©ÿUÿ^ÿÑÿ%(QÿưưMüûúû ü`ư₫”ÿж³^ ô üŸf Mµ‚ü¸úœû6₫æâ`ÿ.ư4ü†üvư¤₫Rÿvÿÿ‚₫₫̃ưßưÓư·ư^ưưÙü÷üGưÛưm₫₫₫bÿ»ÿS¨ ˆ+ơÇci¤₫çü¨ükư|₫dÿlÿ¦₫Dưüûü‡ưcÿ6†nùŸQ( §%XÔíÿ½ÿt˜$Iÿ)₫KưÍüîüfư₫®₫ÿ-ÿÿˆ₫ËưÈüûtú‹ù2ùaù/ú,ûGüư³ư₫›₫Kÿ¢€ î ö t ,  Kn÷₫ưưê₫y8ÍRªÁ₫ ưVü~ü)ư₫₫µ₫*₫¡ưƯü‡ü3ü7ü%ü;üJü‘ü ư¾ư¢₫}ÿA¶ -m³.£WqU1ø¾S´ʽÿ¯₫èưˆưŸư₫©₫!ÿ<ÿó₫P₫±ưJưkưôưÓ₫œÿ3p–Ø}|•`zĐ ßÿbÿ„ÿ-àhˆYúO¦ÿ&ÿ™₫ ₫ªưbư2ưÆüü₫úâùưøàøùû¥ü₫à₫IÿÍÿˆÔ> o ¯ ‡ đæÿ#Ö‰ÿnưWüKüæü¼ư<₫f₫ ₫”ưáüXü±ûJûâúíú1ûüưC₫aÿeœÛëäÎƯn̉2œs₫Xưü™üúü¿ưv₫ÿ€ÿÄÿưÿNÚ—‰e4ê,CƠÆ7Êa­¯\ÎKrÿ‘₫Éưư§üAü̃ûCûuúqù‹øøøêøFúÑû4ư.₫Đ₫[ÿ=¸×Dv×  OeïR‚'·Â¥ïWÿ,₫’ưoư‹ưư{ưưxüÆûû›úQúHúˆú ûÂû•üpư9₫ë₫…ÿ¨Jơ-ˆ©‹Dè–T$ás¸Ăÿ¦₫£ưăü›ü¾üAưçư‹₫ÿ₫AÿPÿSÿiÿªÿ#dž<ßP°­…VƠS ¹?¡Óÿï₫₫:ư›ü-ǘû½ûûHûøúúsú‚úơú´ûµü½ư²₫mÿÿÿvü›_.ơ¥8³MKüWx~¡÷‹9̃M†ÿ–₫¯ưøüütüüµüÏü̉üÄü¸ü¹üÑüơüư7ưUưzưºư₫“₫ÿ€ÿÍÿ.lÊD¾'ÿº…†Âai*¾N ư;F.àÏ̉Ó¹~/åÿ¸ÿ­ÿ´ÿ´ÿ˜ÿ[ÿÿØ₫»₫¼₫Æ₫Ă₫₫]₫₫çưßưưư,₫P₫W₫D₫(₫!₫<₫z₫Æ₫ ÿ?ÿhÿ—ÿáÿMÅ2x“–¢Ó,•åÜ<ñóè¼k¥_0Éÿuÿÿ½₫₫z₫ƒ₫ˆ₫m₫3₫íư»ư²ưØư₫^₫Œ₫Ÿ₫£₫­₫Ê₫ÿBÿ~ÿ¯ÿÖÿüÿ-h¦Úù÷ïô (AH5ëÍ¿ÁÈÅ´•qT@;6*÷ÿÛÿÈÿ½ÿºÿ³ÿ¡ÿÿnÿXÿNÿOÿVÿYÿUÿJÿ>ÿ7ÿ<ÿLÿ_ÿnÿxÿ|ÿÿ‹ÿÿ¶ÿÑÿëÿ*?Woƒ‘›¤­·ÁÆĂ¶£|neYJ7íÿØÿÉÿ½ÿ±ÿ§ÿÿ•ÿÿÿÿÿ‹ÿŒÿÿ–ÿ¡ÿ¯ÿ¿ÿÑÿÜÿèÿïÿúÿ%08>@AAA?;70+&" ûÿôỵ̈ÿđÿñÿñÿđÿîÿ́ÿêÿëÿíÿîÿđỵ̈ỵ̈ÿôÿôÿöÿ÷ÿøÿøÿùÿøÿùÿúÿüÿüÿûÿûÿúÿùÿûÿüÿüÿ₫ÿÿÿ  ÿÿùÿôÿíÿéÿăÿ̃ÿÚÿ×ÿÔÿ̉ÿĐÿÑÿÑÿÓÿØÿÜÿßÿäÿèÿîÿơÿưÿ "(,/1221/,)$ ûÿöÿñÿ́ÿèÿäÿàÿßÿ̃ÿƯÿƯÿ̃ÿßÿàÿâÿæÿéÿíÿđÿöÿøÿûÿÿÿ  ÿÿüÿûÿúÿ÷ÿơÿóỵ̈ÿđÿïÿïÿîÿîÿíÿîÿđỵ̈ÿóÿôÿöÿùÿûÿ₫ÿ  ÿÿưÿûÿùÿ÷ÿ÷ÿơÿóÿóÿñỵ̈ÿñỵ̈ÿñỵ̈ÿóỵ̈ÿóÿöÿöÿ÷ÿøÿüÿüÿüÿ₫ÿÿÿÿÿ ÿÿưÿüÿúÿøÿ÷ÿ÷ÿơÿơÿôÿóỵ̈ỵ̈ÿñÿóỵ̈ÿôÿôÿôÿøÿùÿúÿüÿüÿưÿ₫ÿ ÿÿÿÿưÿưÿüÿúÿúÿøÿùÿøÿ÷ÿ÷ÿ÷ÿ÷ÿöÿøÿ÷ÿ÷ÿøÿùÿùÿúÿüÿưÿüÿ₫ÿ₫ÿÿÿÿÿÿÿ₫ÿ₫ÿưÿưÿûÿûÿûÿúÿûÿúÿùÿùÿúÿúÿúÿúÿûÿûÿûÿüÿÿÿ₫ÿ₫ÿÿÿÿÿÿÿ₫ÿÿÿ₫ÿưÿưÿưÿüÿưÿưÿüÿưÿüÿüÿưÿüÿưÿ₫ÿ₫ÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿ₫ÿ₫ÿüÿüÿúÿûÿüÿüÿưÿưÿ₫ÿÿÿÿÿÿÿ₫ÿưÿüÿûÿüÿưÿüÿưÿưÿÿÿÿÿưÿ₫ÿ₫ÿ₫ÿưÿưÿüÿưÿ₫ÿÿÿ₫ÿ₫ÿưÿüÿüÿûÿûÿûÿưÿÿÿ  ÿÿưÿúÿùÿöÿôÿóÿñÿïÿîÿíÿîÿđÿóÿöÿùÿüÿ₫ÿÿÿÿÿ₫ÿưÿ₫ÿưÿ ÿÿûÿơÿóÿđÿîÿîÿïÿïÿïÿđÿñÿóÿöÿûÿ   ûÿơÿôÿïÿîÿđỵ̈ỵ̈ÿñÿđÿñÿôÿûÿ   ưÿûÿ÷ỵ̈ÿ́ÿîÿöÿ ÿÿ üÿơỵ̈ỵ̈ÿơÿôÿøÿüÿøÿ÷ÿđÿíÿçÿăÿæÿéÿîỵ̈ÿöÿúÿüÿ₫ÿ!-+)   ûÿûÿûÿ÷ÿîÿéÿëÿđÿïỵ̈ÿôÿơÿôÿóÿ́ÿèÿåÿæÿéÿîÿéÿ̃ÿ́ÿñÿüÿ'=FGHDAADHORTNNC::7êÿÎÿ¦ÿvÿ^ÿMÿJÿIÿIÿ,ÿ ÿé₫©₫I₫̉ư‘ư¹ư3₫Ă₫hÿˆtéN…Hß\ÛgÄ~a+ÈÿUÿ"ÿ£₫_₫u₫—₫Ç₫î₫!ÿ8ÿ=ÿ ÿÉ₫c₫×ưFưuü‘ûŸúµù‚ùú4ûüüí₫ḯĂDâ_—j0If³K Ûhµîÿÿk₫₫óư+₫¸₫;ÿÿ­ÿHÿ‘₫zư1üÖú…ùAø1÷ökơ¯ơÍöøøËûư₫¬‘\T› 7  RM27n§<ˆƒh|ÿÙ₫x₫|₫̉₫Qÿ­ÿ£ÿö₫²ưèûÜù§÷–ơªọ́ ñÊđºñ|óö†ùoư?‚  ü ­ ø ̀ Q „ F ÿƠ½ÓîÏ Íÿà₫Û₫ÿÿÿfÿt₫ưçú|ø·ơAó'ñdï×ííÁ́Ôí•î¥ệ̉üÿơ :0­e„PHf Å i ‰ ´ ó¼-»ư2ûFùYụ̀úù₫Bƒ6 ªHÈü«ñEçÓàoàâNæê}́eíˆíđđqö’c$Ç%ß"CT/* ÀZŸ₫Éûú(ù³øùú©û₫¹  Ç » ‘ ̉÷É\â”Ü|ڼܡàëäbèçéµếoôh1'°6“=œ:+0Ÿ!våưåừû^ù+ôFîAêêî?øÄj÷] âưlđHå·ß̃ñ̃„à‹àÇ̃JÜÛ/̃;æọ̈ÂxW3ù?ÅBÍs4u/*Aó¿øHëGè'ëÔí×îŔüñ7ưµqÑĐÈøéèĨÏØWÖ‚ÓÆÓêÑôÔ Ú×ắ/øü±+‘7ƒA¤=[84M/¡ç Mûæ̣?ñxíçé¥ï¨øĐÁ¦ \X*ûp÷,ñê¨ƯQÑrË̉¬×ÀÖ+Ơ½Ư¤ézù›û§Á&73œ=J<¸96+3hÍ oû(ô÷ë`åeêÏô*ö8ù8₫jă‰Ă•C ÖÅơ‹éƯ×̉•ĐưÏøÑºÔ¦̃æeđßơX E(¶(‰2.<A×7&/ĂzưḲmñ°ïêî́ïùÑüÓ₫XEI  ₫úïNă¿Ü§Ö„̉ Î̉ƠÚÙễ£ê ñP!JP,ó<>Ö1½5ư+°¸z“ÿ!øñëééñ́Úïqö†ừ₫È 0%dUøĐï¾äáÛÚדÔ{̉‘Ó·Ö/Ü«á‰ê~ó²=Æä8"5ö-Ơ9ƒ5MÁ#ă ưüóñÙđKíÚïP̣±ñ¥ú°ÿ©í Ñ G > Èÿ¤ùÖï·äDß•̃öÓ(×̀×µ×Ú¹çvæWÿ× SM+!+0)È4O7'È)¶#(˜¶}̉öụ-̣?ñ§ëVơ÷˜ùg2Lè i´ÿ4ú»ïdê«æ:ßƯCÜ•ÛZÜHá4æ)íá ‰|ê#h,V* %D%—”@ ­ÿhù²øâô¾ñçó+ớö$üëüêÿdH₫˜ü ù\ô ̣ÜđQîoî$í́Wë˜ëçëÓï{ơAù¸ÿöÇ ̉ ©p(bX …ö 1®­ÿĂüIûËúóúªû›ûdûơúÚùø:ö]ôẸ̀wđ#î÷ëéÅç ç¨è‹ëFđNơ™ú|ÍƯ ÔOƯQ“ÆÊ § ·A£₫îû#úbùgùĐùyúÈú£úú¥øàöơẠ̀hđ†íiêèç\æ¢åíæ]êøîFôÊúH´*Í”dè‡ä¥\r€ 9 îüfú³øø‹ø…ùĂú₫ûbüü(û!ùçöˆôhñ¸írê;çƠäàă¾ä«çǵṇïøV-̣ 85 ![ 7S‰§ É{ÿ#üqù¤÷S÷øUù?ụ̂ü₫K₫ưƯûQùZöạ̈úî¾êçä–âŸâåvé?ïùơXưÓ¹ [ÊäÀ!g!{gø  €S»üú øûö{÷öøúáü₫1ÿñ₫¦ư%û"ø¿ôéđ×́îè’åOăœâ•ă׿́†̣„ù*‚ăØ6€g K‰ ?} Üï€ÿjü>úùRøÔø]ú́û™ưƯ₫ÿM₫üú÷­óđéóèæ[äävåÎèîXô#û‚Q X¹û|\¶ù¼ £rưgû úUùsùuú¯ûÚüåư,₫fưüÛù ÷ôåđ•íêèæFæç|ê#ïơôPû÷cÅ· DÅ  FÅøO Û©ơ„ÿNư¢ûúîù=úûæû´üư•ü|û¨ùm÷ùôC̣~ï×́™êûèTèé_ë2ïFô$ú"Ú9 ЉªtXs¥p@ ù ̃đLØ₫xüÎúÇùmùÇù›únû ü6üŸûfú–ø›ö-ôñïß́Øê¼ééXëgị̂!øÂư„î  \Bsb`˜< ØĂ₫Æüû¦ùú°ú ûdüÛüƒü+üú½÷ÜơẠ̊dđ‡í]́é’éEè„ë´î×đŒúeư^ ¤ÿ ̣ŪØ&ëä o‡Rÿ ühûoù4øÍúGú^ü|₫r₫ÿư¢üÊøröóDï.́KêOǽæØäöé́đïóú~ü}ú È8IY°è¸í X”ÿüSùpø7÷áö‹ù°ù ưÑưªÿœ₫^₫üAøBöáñî–êAè å$åFä¬ë@êLơØú7È 1Jr!öĂ I{:kg{³&ư¾ø}÷!÷‡ôß÷*ø¹úêüg₫Kÿ¡ưa₫ùy÷só đĐêåé¦å}å$ăNê5êéïûúéü¤Ä nHª!¤ } ‹$Lư ö*₫ùqöñöüóZơ$øåøjûßư=₫]ưóüDúĐơbôïhë‚éQæ¾å…âŕTèṢKùÿ œ"t Đ"†Æ ³´ K̉ÿÿ—öÈözơ:óö÷ơEûúøú₫ăüàüÑû¦øợïJêVèưæ3äơåḮ¾éÀö]ùµ!è;¸”# !Á#²“!ñù¯;Î₫àûOôpöóÄóơ›øPùñû₫ üåû»ú®ơÎó đṕé~ç¦æâSîçóó›÷uÿ4_ ˾0$r!”$c!!âØ~~ ÿ&üơÄóórñ€ôZö´ùHú^ư₫^ú!üuơĐô³ïẾ êBæ£çá8ïˆåæó6ø5ưn J jrŸ%É#=$%9!ÀÅ 5‡ÿù÷—ómñ±ñï¤óÆ÷ùơX₫üW₫;ü]üờô²ïêëJèèâưä~íRä´øCö§' ©*O&F%Á&b!jªæưJü7̣=ï1đÀíâïôôZơËûÎúưÿfüMürùô_ó¼́2ê™ègă"ăMïXâö`ørư† îĐ‚£(¡)r$Ă'$ÖOJoưùYñDëXîT́́Iô¬ơx÷wư+ÿ)û¢ÿ>ùûơ­ó»ï8é,êá çmïfácütùaÿ}Ó"1(ç)£%Ë'€$ mH ₫àù˜óưééÓé!çŹáîó<÷Çúw₫º₫Ưưíûpø̉öïBî¨é0äö‚å ó¯=ú¢ ¸ªË($Z'‹%´$åVö ÿÄóªóºè“âYç“å9æ5́óPô0ü,¡f¯üụ̈ỆOê_è#ùÙä£ö¯û£ [aæ*Ø#x%à&*"ïgßû%íĺØæ\Û4à±æ®à ë®÷Mö|ÿ¨ëCíR%̣ËöêpêóöBæ›öÉüÀ´”ù4+W&¦&]&°ß) í#øè–ââø×,Øåîáé6ûy₫†#. © «óỢ‰ó́èGëËïÎåö̀₫vư9 Ú}w#]-+V*¶&™Ơ!#ú[ónâ¶Ù@Û÷ÓLÓkà7â?ị̂ûe‘€7·S gjtô>ïÁäǵŤâíóÇÿ®ÿÜ Iµ Ÿ'¨,ó// % 'ṃ¾ë4ßNỞ!Đ4ÖbƯêá ö±¦ê¡Í<« S âü¤ñ°èçáËíöăåø Œ ®)§0.3‰1ă!<uûŒí)à­Ổ©̀¼ËÈ×~ß@ê~ü9aÓÖÑ₫́ ô4ø1í>â~ÚsçäˆäÍôø¡ rT#Z0í:5 3¹1%KAó§émÙäÊĐÉË~̀ Ö?ạ́ô ́ûiL¾ PÚó¶çÇÜÿâ¡èsă“í@û} Z;Ú'^79;4”/& ’ JöóéWà̉.ËQÈ2̀%ØÆá́ÿ® ÍQÈm| ÿôñé•áùÚ©ă{èîgùÚ*%æ+ê2â9]9@4T'ˆ büéÛÑ9Ë=ÉèÉẻOá.ïG₫Œ L¶4[S Tg÷êéhàuÙzØéăÚê½óQ*,#Ù/Ë4¿9^=­90a exiđß~̉9É(Ç;ÊÏQÚéCø¸ Î>½ ƒúñđéäƯrØ>Øïămïû… Îx(6̃:Q<8;4)+²÷4è9ÚvĐ#ȈÇÎ̃Ö´ăNñ­₫× ƒOĐФÿJớüáÄÚƒÙSÚXàï”₫Í*7'?P?^;í2 ((‹0ö5ç­Ú̉B̀ôÉßÎ-Ùÿå±ó×ÿI Lræo &u÷ íiăäÜ%ÛúÛÿ̃tä¶ï”“T Ë*¹4ơ;À=²7&-­"~ ̣øéƯßÚÀƠgÔÙÖ…ß9ë›ơlÿé. ̉JÙ Xo₫Ä÷>đ¿êæ=âåá?å‡́Nó¤ø] Ëe$•'+*--Ê&uwü Bø~î¿èçWæƠç§ê]ï?öû«₫;á÷Çư¨úÿ÷\ơÓđµí́î¸ñ2ó~ơüÛ@ø» Y“"à#–(ưù  „^ÿÜǘúøtó₫ñ|óêôĂôÇóÜôÿ÷ ù[÷Ûörø)ûlúlø›ø`ùcúá÷¾÷Ưû·ÿd?T/»Ÿù' T Ø ¢—é2kă 2Zưûí÷.̣Nï0ïŸïuîX́˜îṇ;ơß÷çùưÁêÎÿ÷₫2ÿS₫²üqư»₫ÿư¡ÿfY¢.'5  ? ’ à  Ñ Y Ócpx=ÿóü³ư»üMùù)úù±ơơôköÁöơ¤ơ^ö£÷á÷u÷êøYújûÚưuehœă7É ­ Ùp‹Ó†¡PÏ¡EÉuKÁø—kÖ¨Ûü:ù÷æô¿ñwïeđÙñBñẹJơÑ÷3ùúưI_@Nơ&qÂôỊ̂.ØŸi‹¿/³Û*Ó AéHâgü¾û~ø ööƯóóƒ̣%óỴ̈ṣêó®öXöù´û¸ư&ÿÇ·“I¦₫…̃ïlP̉ ¦ ï ü ¤ † t ‚Ô” ôG4VÿÓù\ûü÷ÔơỴ¤̣8đẮ¹îđ‘đưñäóäơùøfú¦ÿ¼Å¬¶§¿f, ;{ ¦‘o \Ũ Xí í ùc–ÿ™÷’ö3÷¿ôô óị́}ñîˆî…ñVđLđ ơHøMù_øùù₫đÿw©dy Qz ÿ  'm.% ’ º ”+½³dư½÷Đó@ö†̣óđ4ọ́Sñ?ñ&ñóẠß̣ơÅơ–÷Mø+û§ümÿ¥gÿÄ o KT “‘ D D¡ đøy)‹₫â–êáû=ö>ơOơ´đ€đPô{̣Ụ̈«ơ¨đ×ñÎñ’ñœ÷Âöwö:úÁÿ6!͇âg̀ m ಜÀ ¸× ¿Qÿa*&?3, öxó3ö…̣X̣ïñFóçọ́ óñäñêơÀôÑôÔùÔù=û¾ưÊ;Zâ¿cÔ– E ̣#tµU ”uưú₫ö• Ä"© (û ú÷“øÓôCö&÷Hôåï«íTñ´ö ̣×̣bùÜønơḍơûtOª ø®®œ œ,W‹ “́`̣5 û¼;ÿ[2Øø™úÄù3ùaôöđơĂơỊ̈đÎóø‘öỌöô1öơ‚ôO÷ÿ₫HÂ:Ơ< CÅ?™6 Ô²~(̉E§?Ÿûhù^ù}ư$úôơ†÷‡ơñ”ó̃óÉơÏø0÷:ôqó˜̣ß̣°ơöoúáưç/i(µ¿Oß +>T’>8‹nĂûÆúKûÅÿ{ư,ùú(ù÷ö5ø ÷Ôöóñ÷EôÛñjô_ơ´ơíô¦ô¢ø₫û&ÉĐ_ơ q‰×̃ ̃~J¼1ZĐúJú}úü>₫µử₫g₫îûưêùơööƯó»ó0ơ¼ôÆñdóÈ÷àó“đ™óQú¦ú‡ú[O z°!ÄZ ²÷ÿ́2[±öư£÷èơÓøü,ÿyÿ¶=Auư²ú̉ö”ôẹ̀Ç̣ơụ̂Uï,ôËø’ơ5ó-ô“öü ₫ ơ!Œ)Œ'ܬ êªù¡ưPL ÜK­ùzöEóỊ̈†ùĐ₫¶Ó8z₫®ûÁø®ø₫ösö)ô$đ!đ#̣Fô_öẸ́ṿønû ₫"æ%Æ-+&ë/MÚèù₫W “×ùÎơ[ô‰đ ñJ÷₫™A«ºÜ i©ú®øë÷ëô₫ñ¾ó~ơ?đ6îỵ0ó6ñ6óù¬y …/I'2 $™Qüøˆü·é ª Đ̉ø¹̣Hï}ë±đ¡÷¯üDÖS= Nvÿú=ù øöơáñJî̉ê;íÜđ0ï™ñ–ù@Â/78‰&€± pê÷̣̀ü}«X M¥ù½ó"ënçÄî-øªüú³Q | âpd'ûqùĂơÉô!̣x́*é êEïbñ̉đñô`8ø;H(~̀l₫¯ó́”ûƠ²hY÷ùBơêê˜ååíøöưüÈ j h=é/ Vûø<ú§÷èí–è̃äJç÷ị̂ñ~ơº .ˆB®1Đ:>üªơÍëÚđj8„fƠüé÷†đ¸çç1̣ƯûĐư ¶ o₫í§3¾úƒ÷́óńâæêâ¡å|î4ơóø`´?óBœ(} ÀúŒ÷Øđ@çxôï I™a¾ûÎù‚ïOå®èṇ&ưẠˆ Ưhÿđ₫G¥ŸưƯùï÷ÿđoéæă`âËèđ÷ô5₫B$6F; ]̣ø`ơÇë?çđù æ̣1₫÷ú„îJå¼éqó,₫‚ ¿  J6ÿj\w5̣ü3ú}÷¨ïwçWáÙáîèÖíưó6₫÷"ÜFư=É"­ ûĐơ€́eẵñÍ åܰ 3¯ÿơXçíå¦́ä÷›ưÀ Ö Qœc ÿ“øåơóơåđê“ăáçÝŸñÜù“˜D„Bé)œ˜•úíî‚àºç8ÿ—Ä• (ÿîî¯åäæ ïûï•]3 f ¿Ûư ơFï–ï“îë~æ_ăçµêˆđüöC ă6˜D‹4 ¼ ±ùjæỄÊí* đ ¯i v Ô”ñûèơèđđYøZüÔÆ ˆÚ‡¾ 68úíưç©æ·æTælå/è§́ăï¼ö/₫©;<,ñ6s ¨ûæ&àơë{ø=ÿ¢‰ K‹ûÈñ0ïđ̣Kơö ü øtú„[ûđéœä‘ăåœçŸëîñêø~je/H0q({g?#¯ñ²é™ị́́töøBú̃8*û0ú¸ü¹ư"ư×₫i s¦ÿư³ûxú–ùù»÷:øƯøÉøëù’ûÀüƒ₫ßñªKYÓ6˜ñÔêWnf>ÇÿS₫Đư§ư®ư€₫+ÿÙÿµ¹y˜đgÔ6OƒØ|^ÿËư•üÎû‹û¹û üØû„ûZûûĐúĂúfû4ü÷ü₫#œ¼K•O·_rº̉uDs3PÆíä‹;·ÿIÿ7ÿ̃₫¿₫₫ëư ưFü¢û`ûûóúvûXüIư#₫ç₫Aÿ³ÿĂÿeÿ,ÿTÿƠÿc|éö÷ TNüH?Ï—<#Đl o«ÿá₫;₫µưdư'ư₫ü ưWưîưO₫í₫cÿ¨ÿƯÿÿ„ÿJÿ ÿCÿ¿ÿ Óÿgÿ]ÿ)ÿđ₫ ÿÿLÿµÿ̀ÿƯÿöÿ'e°_~Ÿ»´¯†veÚºÅÏïÙ´­¦ÿÿ^ÿ?ÿpÿ¦ÿ̉ÿ#·ÿCÿÔ₫₫H₫ˆ₫s₫`₫¨₫=₫₫‘₫Đ₫ë₫ÿPÿiÿ‰ÿ’ÿáÿ¹ÿ÷ÿ¥₫cˆ®A+ê ºÓ…|nÆä„¦ÿÿOÿ$ÿÿ-ÿÚ₫Đ₫ÿ₫à₫é₫ú₫Ç₫₫₫¨₫¶₫á₫½₫CÿÜ₫ÿ?WƠÙ%z01wÿéÿÀ?Ófƒ|5|¡ †wl­ÿ)ăÿ]ÿĂÿÖÿ^ÿDÿrÿÿú₫Ñ₫¶₫Tỵ̈₫³₫lÿTÿE¼†FóÿEˆ€ÿ·ÿ̀ÿ}¸̃́ḍÄYbE"̣ÿ3Ûÿáÿ́ÿîÿüÿêÿăÿĐÿÅÿtÿ|ÿVÿLÿTÿvÿ¬ÿÄÿ ?A= ÿÿ„ÿ¢ÿ…ÿ´ÿÿÿ^`>"øÿ×ÿ§ÿ¬ÿáÿÖÿÛÿÓÿ×ÿâÿäÿÿÿ1[Np_J(<Z”ºÓ¯‚CÖÿ¦ÿ¨ÿ²ÿ̀ÿñÿ ưÿäÿÈÿÅÿÉÿÛÿéÿÛÿÁÿ›ÿ†ÿzÿqÿzÿ ÿÆÿæÿ₫ÿûÿßÿ̀ÿÂÿ̀ÿøÿ(k¥_9 %BI@-&úÿÖÿµÿ˜ÿÿÿÿĂÿîÿ åÿ¿ÿ£ÿŒÿ ÿÀÿêÿ3KG,÷ÿëÿëÿôÿ(8C8+  ùÿñÿÂÿÈÿÆÿÛÿôÿD[Z?8 àÿÅÿ»ÿĂÿáÿúÿ##ûÿéÿÓÿÅÿÏÿáỵ̈ÿ ̣ÿƯÿĐÿÎÿÓÿ×ÿÜÿ̃ÿÜÿ̉ÿÓÿäÿúÿ/Ujtq^F+₫ÿ09E9! öÿëÿèỵ̈ÿÿÿ ÿÿàÿÅÿ¬ÿ ÿÿÿ—ÿ¡ÿ©ÿ²ÿ¿ÿÍÿäÿüÿ"9<4.$÷ÿóÿùÿ0DQJ9/"%%1=;+óÿÙÿËÿ±ÿ›ÿ™ÿ›ÿ®ÿ±ÿ·ÿÏÿëÿùÿ üÿîÿ́ÿàÿÙÿÚÿæÿëÿëÿ₫ÿ$*/+-<BGABA3 ưÿçÿƠÿºÿ¬ÿ¯ÿ½ÿÅÿÔÿêÿ)8BJ+àÿÛÿ×ÿÖÿ̉ÿ×ÿÎÿÎÿĐÿèÿ0;SPJ<:+óÿçÿöÿæÿôÿçÿàÿÜÿĐÿÆÿÉÿÛÿèÿ$689₫ÿæÿÙÿÅÿºÿÉÿâÿ ñÿ óÿưÿÿÿ đÿơÿâÿíÿĂÿ¿ÿ¬ÿßÿÊÿäÿ.},tøÿ0­ÿâÿÿ¼ÿÿÓÿêÿçÿưÿâÿ]öÿÂüÿă´ÿrÿ#ÿkÎ₫ r₫HµưG|÷-)aư ÿĐnÓĐưd°øE  Ẃ†ÿø÷ÀưỘü¯ûàÿ»üâÿC^âˆ/ÿˆåê₫Ïÿ†Cÿ œÿÏÿ!ÿ~ÿÅÿÛ₫Î% t¿ÿéÿ»´ÿÙØa₫*§ÿ™ÿ_]ÍÍÎưĂüHưoûø€₫³ºhÿÈÿÊ₫§ÿ₫TXÊ”À₫vRÿw₫Co₫”ÿƒư"È₫;₫¦éÿ ₫l«ÿ}Ô  ©½úbühúø|öjú¯û}ü€₫yŒtW⺗+₫K ü‹ÿï₫iû¤ÿM₫j$ÿ ¸Ft₫á~Aü±üÛüDÂù)ÿ’ù’¹ÿAû ư“ÿR”Ëö\ÿùIÿư2ÿ4ưÚưûưÓÿµư>₫$Hkåühd“₫Y₫7ü£ø§û8ưgù÷¥ÿ„_ÓK k\ỵ̈₫¾ưÆü(₫6ü¤ư¸ÿŸư¯ÿ‚Âÿ^¢(v.Ơÿ /ư3ûÿ~„g ̃ÿHÿ4pÆ₫ÜỞÿÚëD)‹¼ÿä₫ÿT‡ư­ÿƒÉûµ8ÿ%ưËưŒưÑü²ư;üøüưưgùg₫—ûÍüÑ₫ùư^–¨6âZÓÎh $-N ¹j2¢Â+ÿÿư₫ÿùçøù˜ơ½ơ)öiô ÷åơ`öÄú̉÷(ùYüQúgú÷ưưh₫₫Rµ¥dœGpø•ÙpAửü‚ôYïĂï¥́yé.ë¯ëÖ́}đḍsöåøQû|ưCÿÿ!•ÿ;ưÿü£₫üVÛT&taFnÀ̉ Í#₫ªøĐóÄîÿíßêvèÅê”êḿ5ñô³ơú¥üôü÷ư‘ưƠü¨ư¹ü‹ü$ưàüIÿ“ư 4ÆIw ó!t ÉÎüöḲlîëñê¥éơéÂëứ‹đ–ô¸ö1ùÏüûØú¹ü„úùÄûôúÙûÑ₫ƒÿä ˜r›"–% $ëĐ= àLûqôïÑëé ê÷éébíÑîÂđGơù0úQû2üüûƯúÀùhú>ùlù!üNư]ÑX pÊÖ @&X$Èr7iÿYơGïëùçkçƯèêớđxó÷CùÜü&ư,û÷ûåúøu÷Áø—øî÷̀û¤å m"ư'˜'8"‚ÿÖ ₫¶ôđè¯ă°åøåŒçïëđ™óØö¿ùưüÿú#ú»ùÜ÷Èöföù|ù́ú¤’ GL Ë*S)#:!9R7ûïôµê7äPåDäÜăVêRï%̣1øÏüÀ₫ ÿưtùK÷¾ônñqđkñóÆöµù_̣ÈM!, +i(+&ó-— €ùmí5çÇä¢à”á—æøè̀ïÉöcûƯÏï£äÿüáù]ôñ=ï;î/ï ó³ó}ÖƯßo('Û'‚'â"]¬Á *ôZëéÛăŸáRădæß́‹ñ5÷ôÿ₫ü“ô‘ü^ù…ọ̈Kîˆï đañ[̣¤ûµ Ú  "Œ ´"¸!d`ư N ™Y÷qó~ï ê+è?çƒê­ïỌ÷T₫ơ—i µ₫(ưˆüú>øD÷ ơ:ơ›ô4öß÷Äû₫O€ ÀW·¦ÓƯ * 1–ÿÅü;úíøGøHø>ù¦úâûPư…₫?dRp“Ú₫~ü0úø‘ơµó£̣ßñ%ññ,̣Œó\ơxø™ü…Ft °bU‡Ñ«É O †¼r^‹₫'ư6ü˜ûVû“û0üäü^ưdưư-üTúAøsö›ôọ́HñÄđMđøïUđ;ñỌ́ßỡùóư-iE ˆ Nɤ§¡¹öë ~Ô4₫“ü`û¬úwú úbû5üñüÁưĐư÷ü­ûíù´÷nơ^óÂñsđùîÓí+íÉ́Míÿî(̣Úö üIèß ÇKĐ·‡\B  •sîÔÿN₫=ư~ü2ü8üEünü²ü÷üưœü¯û;ú=øñơÎóçñnđ£ï>ïüîïîï®ïñJóØöºûŒG í ßf¡0¬ˆŸS . ÷'Á¬ÿ2₫åüÄûDû̃úoú]úúÑú ûéúmú¤ùMø»öTơüóß̣F̣Çñ5ñ»đbđ•đ²ñóáöû[Ø à Ûñ=·7Î ‹%ÅÿÑưü¸ûû̃úûûhûơûwüÅüüÍû³ú ù÷hơßó¥̣èñiñ ñ¿đ“đ ñṃ{ô÷ËûE  Z,X³0ùR g;rÿ%₫7ưeüđûÙû¯û™ûƠû9ü„ü]üÛûøúùè÷NöÍôƒọ́ÖñCñ¡đ,đBđṇ̃̉iơùƯư¶9‘ 0Ü ‚àÊ] " :̣3Ø₫ ₫xư ưöüéü¾ü²üËüƠü‡ü¸ûúùø÷RơµóạpñåđđWđ+đfđ;ñỤ̈Oơ‘øëüÄ9k .ú(×¼ô^W$  MCÿƯưáüü}ûLûûû[ûÅû üáûHûPúèøN÷ĂơWô%ó9̣‘ññ‚đIđ¶đôñô÷4û2n ºơ«¾œÄ\ >…₫]ưÀüZü&üPüƒü¦üđüOư‡ưJưŒüxûùù.øuöëô•ọ́đñ“ñ;ññƒñ’̣]ôéöaúÑ₫T_& 6HäùY%DÔÓ 7 ›ƯCđ₫₫nưêüÆüĂü­üÇüư=ưSư÷ü<ü)û¤ụ̀÷YöÛôŒọ́âñRñÔđ·đJñ§̣Øô'ø®üé – ü`LéĐÙ ± Åđˆ¹ÿX₫xưëü“üœüÄüáü ư„ưîư₫•ưÉü‚û·ù̀÷öVôỤ́Îñ6ñ¹đSđxđSñọ́‹ơSù₫p| Àñ²³ª₫™z Vs¸yƠ₫”ưÀüBü ü2ütü³ü%ư¯ư₫₫­ưâüû̉ùø[öôó!̣mñÎđ…đÙđåñƠó÷|ûq&Œ C ÷âFúƠ?. äÀáy®₫RưhüæûĂûüxüư£ưZ₫ÿAÿÏ₫óư‘ü¤ú¡ø¯öÀôóºñ̃đ.đµïđDñWóưöÙûÁ†₫ -'˜,đ}Ư· “{˜J‰₫,ư?üºû³ûüsü-ư₫·₫ÿÿ?₫èü&û(ù÷íôópñ đ ïœîáîñï?̣3ö,û/LF %eéx*Dt~ §& ªÿÄưnüûBûTûÅûgü+ưíư¥₫ù₫‰₫}ưü ú´÷SơAó„ñöïàî{îî0ï4ñơĐùÔ₫1? V € ̉~P|¬ó¦ T $“¢₫WưyüÍû ûøûªücữưq₫c₫†ư*ü§ú¥øPö"ôẉØđEï<îîoîàïóp÷2ü<HÁ pĈËyS %‰F₫YưtüüüÂüfưÖư₫₫,ư ûƯùÎ÷ơCóoñªïîíỚ íêï½óJørựéB Đ¥›}–Ư+% ù t2`"ÿ ₫tưvữư„₫Ø₫́₫‹₫sưªûœù2÷®ộßïîíH́!ëäêÍëÑîẬÀ÷nư=e¶ ™°÷–Á• D åçl·E(ÿ ÿxÿí«t mû„ơöîæèà×̃]áơßCƯHêCö­ơùX|i5“A#Kæ ƒ Úe4ü z¸‘[¤ ù|B 8rüơ\ñƠêaƯÏÛƯäÖ–×Q̃Wăø±; 5Hg%Y"Öhûư Đ Á̀H—>Bd ̀Yö[©qëÀü÷ø•ơÓêñæùƯPØ‘ÚFƠ–Ü'̃'ú 3 §$8*Đ(‡#ü‡ ÷ |jˆf Ñ¡‚ ₫†ÿOưÿưœư5øtÿ˜úø̣ó éHâذØÍØ•×`ÜBúiƯ ë$́-',Zœ8K0₫Øp WµÉ¾Ÿû®÷nø®ü8ø÷üÿmùíórînèéÜ ƠWÖ–ØÖºéIä« +¸+ä"!%₫ Úû⺠Sß°·ÿC•úvôCơµ÷tø8ø¥₫bú.óïî‹ăÿÙçƠOÔû××RùúX'R*«$¦–Æ3ù¬ø™| ü½Äë · ₫¦ó4ôvơúUü0jöÍïkă×Ó̉sÓá×éÜQÿa¼5&à&́}“ü-₫Üó5ù ±¯rˆ…†+Œ÷çñ<ö›ú4¹.±ưøîuăÚÖ¾ÖáÙ„å…ù¾v&{ Vôø)øỊ́¿ưÅ KVù- ´húỴ̈kó•øÚÿÎQXơ6åqàSÜƯ÷ÛKđMÆ«[!~;C÷—ùøó«óÏøS8ûÅơ?ñ¨ơÎûÏoă₫%øxê­æÊåƒáă?`1ŸÊiBüô]÷<îmù¸ ɳ-vû¸ù³ñ0̣H÷ư₫ư ømđë!ê1æ¹ë) î:èuûûÆøk÷Lóÿđ  ^©Åưpø8÷=ó̃óGùDúYù#ôÉñûïǾ€éÅôB¥ÊQ₫¾ôùáưAú@úq jó " êùµø¥÷Hóqơm÷Áø³ó"̣óđ…́–óÜ ̉.¹€â çùßú6û«ù¶µ ¼ Üé3ư<ú{ø{ơ¼÷÷¤÷dóîóËơđđ_ñ¹̀g fü­ÿAüj«p„.Uư·ùùèôƠóđóôVóvôơø_÷æơ³% ¿û· ˆưø€¢Í†µǛ₫€ünøù-øèôc̣@ñrî?ó¸÷w÷¾ø₫ë†ưd k₫Ơ₫©­æå s XOƒÿúø_÷~ơsñÚï«îđ,øùî÷˜0wO ­œ "ÿ'£kc*‘ÿqÿ=₫û4ú‰ùṛlïgíđ%ørúéûg 7 ññ<ư=_³•; Ÿƒ₫üûoùSùmúôơuđ¶́zđöOøñû3´éz ^ƯăáB„‡₫û~úù“÷–ơeñǘ́¤óæú ưÉÿU Æ* n ©fÿµ‡|Qz% ₫ü<üúóøÅ÷ôrîDëœñqø)û\₫¹™  J ©µåfö Z…ÿ ưFû³ú@øiơßó•íuë«ñ3øºû¢₫¹*¯£ v!;¤¶Êµÿ!ü}ùnøŒ÷ơỵẂ7íñơÏú=ÿ•̣û’P uC°—ÜL ‹₫&ûÉø¥÷ơ­ïó‡đqó{ö£üÑ? V{ ÚƯ÷Ü•Û"TƠ₫ ûíù¡ø§ơ ñní4đỊ́ơ(ûÜ °âäĐ ̣G̃ûZJW1ÿDû1ù*÷‡ô:ïfị̈^̣÷mû44 bü®b  \4^èùºƠûÄøơ‘đ´đ̣ñÑô´úê© clR¢ )/Z“fCWxÿÂú‘÷aơ¹đ̣<ôÛñæö¾ûœk F ¥Ưû 7 6¼đÿ‰ÿŸ¼₫ôÿÄ₫Îùí÷9óeógókđ+ơöÎư"t ÆÈµ¸ Æ¡µ­₫ÁÂÿWKÿ•ụ̂ùXơqñOó±̣Ụ̀vöNù·J ˆ&½ Lđ₫¡₫ưư?ÿdü‡ùÜ÷”̣ñ¹ó!̣-ơø]ư< ̃Ă¢Sw f;µ ÿ“₫N₫,ưFúeø,ô;̣<ó0ñGô¨ö\ú­Ôö 9 D h• + öđÂ$M₫ÿư½ú*úúöơóéơó\ô¡÷Ăøi₫ƒ@ Ù + Û ¯ ́¶·̣""ÿưhûVùöFơœơtô÷8ùkûcÿ˜̃Œ·ï K đH„ Çÿèư’ü¬úµøV÷Ư÷Û÷ø ûÿü¸ÿ±«H…»ÊẈÿ₫è$*ÿưư ưüUûzú9û¤û*ü>₫sÿ́ë”ëÂÛÁgøñZ¥ÿÿ£₫a₫4₫₫₫ôưl₫ÿư₫úÿjˆB$̣˜3ÿÿqÿsÿ¬ÿzÿÆÿÔÿÖÿÿÿ2Tbsœ“•‡_3úÿÚÿ¯ÿ­ÿ¦ÿµÿ2MZqW'üÿ´ÿUÿhÿ-ÿÿ̉₫¼₫Ù₫‘₫¤₫‘₫™₫µ₫ÿZÿ¾ÿ#± WÙø4F$Óp•GóÿÿÿJÿ(ÿ1ÿ0ÿ@ÿIÿ}ÿÇÿàÿ1=L94ûÿÑÿ̉ÿÿ„ÿWÿ́₫¢₫E₫1₫e₫₫ÿPÿÉÿ 'VCiˆÉå çÏ’wILDH]mm~Œ}ƒ ’¸«‰G¯ÿ…ÿlÿÿÿÿƯ₫º₫¡₫Ÿ₫Ă₫Å₫ÿ₫(ÿ™ÿ^Y+6q{plP%Ơÿâÿưÿ .:;/PGL³ºưöçÜ+&éÿµÿ¶ÿ«ÿ™ÿ¾ÿÑÿŒÿ‡ÿbÿ_ÿXÿqÿ—ÿßÿïÿüÿ½ÿÉÿÍÿƒÿwÿeÿÍÿÅÿÚÿ#=aÜÿ–ÿĂÿÊÿøÿăÿ5 @™BR'—‡w§€}%ÄÊĂZưÿÓÿjÿKÿÿ)ÿö₫×₫ä₫ÿNÿkÿ“ÿ—ÿ¬ÿĂÿ÷ÿûÿưÿîÿçÿçÿĂÿ´ÿ¹ÿéÿ"÷ÿđÿ³ÿíÿ w“­Ë”`úÿÁÿ”ÿ¬ÿ•ÿ½ÿ¨ÿÓÿ¤ÿ́ÿ©ÿÔÿ±ÿÅ©£±GØMÿB·ÿc₫Uÿ#Qÿ_µÿÿO₫Ø₫¤₫Tÿÿzÿ‰ÿÁÿW£ă₫Uÿ¹ÿ–ÿ³₫Ă₫ˆÿÍÿúÿ́ÿÿRB–[ÁđŰ@E:X&Z6‹e9'âÿÑÿªÿ»ÿÅỵ̈ÿ®ÿÜÿÂÿ¤ÿµÿÿ‰ÿqÿfÿ7ÿ‚ÿ{ÿÇÿÓÿÈÿ]^~߈¹C₫ÿ0ÿ¡ÿ®₫)ÿ₫‹ÿSÿ̉ÿĂÿ+đÿ«Ô8ªdUwPÚÿŒÿ¦ÿŸÿÖÿ gJS^!p‹·_W@ÀÿPÿTÿÿ̃₫¯₫̀₫ÿ7ÿ\ÿ»ÿ ]‹°Ó´„“$YÔÿ2RÿÔIÿ0₫!ÿ‹ÿ*ÿ‰p¬6WgÄ«† ¨x2/ƯÿåÿuÿtÿCÿUÿ2ÿÿ³ÿÏÿ̉ÿûÿöÿ1Iùÿ6?́ÿƠÿSPÿTÿÓˆ₫™1₫ä }ßÿ₫«ˆư ́ûŸ1Ưü½ư»yÿ¯ÿ¹S₫É₫ßÿ†Áÿ¸l ¬$çÿ,Óÿ×`ädÿÉÿhÿB₫Ü₫°₫Ô₫Ä₫ÈÿäÿôÿÄ¥M@ÀÎÿ–'CUEªÿ¦¹ÿƒ€ÿSÿ¡₫µư*ÿÄ₫Û₫KÿÑÿÎ̃ÿM²Ëøó40 ,‰ÿĂSđÿQÿ¬ÿw’ÿ·ÿ|»ÿù₫ÿfí₫…ÿưÿ–ÿlJ—'ÿ]Îÿé₫17₫ÚưSÿ>ÿ₫ứưËrÿæ%< y¸îÿ–ÿiÿ­ÿmÿ÷ÿ‹ÿ›ÿ¿ÿEÿYÿ\ÿ9₫âÿ[ÿÇư§₫ø₫́₫Xÿ$ÿʳººjkÛ†Lí/l^¤„ÿXô₫ˆÿøưW₫ưwû û4ûÄú¥ø›úlû¤ú¬ü₫­ư₫’r——™ 6 - Ù {î t K ¬ơ„ÿaüùươOơḍâñ´ñÿñôñóơ”öˆøúưZ₫³éO ¨ —ưÊÜKr †»R₫súèô…đî†́‚ê:ëzîBî̃ñBóIöâöúœûyü₫é1(A | ¦`éü¥ l ·₫–û́ô€đ±î-ëåè¾êí‹íäî¨ô¹÷Mơ¿÷Åû́÷"÷ăựú^ü8Ô É ̉ÿ§'Îm’` ²À₫†ùÛô(í{éôéˆæ æPë ́Êî.óĐöÀù‘øúßûÄ÷Oøû­÷küE& èÛù^© >5@̀₫bócïRíZç-æÖèÿè"́ÛïóX÷X÷xû~üƯ÷ù øẠ̈´ô÷ôơ*̉[ ¼AË Ê%&‚#[iÉ[ ½₫û4̣Ăé+êSç‹äè́Bî´ó0øZúü₫ǜưPûÍö̉ôñJíæî7îôïNÿ H æ*&œ,•.c'’!;ù̉-ơÂóĐ́´ß7ägånâ°éï5ô¼ùü>ư>ÿ”û!ó₫̣sï´êîë,ëLîÍA Æÿ +Ñ,°.%/Û)¾` wgñíOè9àÜßíäçˆêóüÿæÿêgưúáñ¾ëçêNè}åÈç{́\ôX°”(y44¨1Ü/'sÈ íöLèIâ„àdƯĐß²å”í4ôfû t   : „ küöîßæSä₫ăhà6â êMíUûgû&S6n8û75U+}x[aùâê¦áªßSÛÛ„â¸éèïêúüâ`Èă QÑúƒ̣Céă>àœ̃mܰ̃NäÈë†đư©"ª'ï8=@Đ8‘45-AêƠæ÷[ë¯̃ZƯWƯRÙ±̃çSí`÷¨å Ï”™yù O'₫÷ïÉç̃á?̃¡Ü±Ú4Ưvávä¬î ûí¼Ä)ù)É5S@921/*>8ưcôF́4ƯÙuǗØ8ÜÉå½́<ö]ÿ₫Zk cCê :ú¨ï™åµà̃”Ưàùâ§æXê0đHûÿ&D#/$s.h7/3L/<(ù}^Pơ0ï“áèÛ²ƯÉÛ(̃ˆåPëeơYưÀ× oLÆç ₫[ÿ“÷Ùôøëµă ă•ä]ăÊäxèÈëḅ́̃Dù˜êÁ$1 .?,Â+„"CO Ü;ø’é̉áÙàÛîÚ_á—åÛ́ùöƒÿ‹ ç¿[ 1Ư AÙ₫«÷₫đè]ä,áÏÜAßTă¥â²æB́7̣æ÷ÍU£!ă.2Z-‘+&µV­ưQđtä«áh̃åÚ[̃¥ăÑéị̈ûP} ø8ÔZn¹ M‡ûô³îièdä8âYà³áÑå̀æÄéÁînôÀùêSE*/c+l*â&Ï µ§ ³çø¢ê$æ[â ÜăÛH̃Íâ]é0ï úK´ Öiö¬ ̣ư $³ÿÄö¯ïFëÍåêâ§á«âÊæ̣èÁëụl÷œü5å ±À ()A&$"=! 9y₫Àó¬ë&ê¾åàáăåéµí×̣¤ûC0ú —«,±̃ ûMưø@ô/ïĂë·é‡é¿ëî{đËó#øÇûeË •Ư¾«„ Å ? \=h÷₫Çú[ùøçö"öbơ8÷pùăù)üSÿiw ƒ}§„œÿ†₫–₫̣ư²ư:₫Í₫½ÿIÎæ–îư₫Æư£üsûeúÖù­ù ú±ú›ûư§₫U›0mDÂùâ|Qh7RJ9ÿ•₫₫¹ưHưưLư-ư9ửưH₫z₫Ç₫ÿ*ÿ ÿÿÛ₫‹₫ïưoưĂüºûôúú\ùàø øËøzù[ú©ûvưpÿjqx;¢…   z ˆ$Àwc†ÔuM47ax‡s)Đÿ&ÿf₫£ư¤ü©ûăú2úºù}ùXù’ùú”úUû6ü6ư1₫ơ₫¥ÿ-R^<ôÿĐÿ¯ÿ˜ÿÖÿ3ßÈ£¸Ô YÑôép¶́çËÎă$‹ÿÿ½₫”₫X₫;₫5₫3₫$₫üưæưÎưrưưÜü‰ü>üüü,üaü¨ü%ư´ưQ₫₫₫”ÿ„¬§Céÿ‰ÿ4ÿ ÿÿÿ|ÿƠ¾£‰h^rƒÂÿ1[±-¿ÿtÿ9ÿ&ÿ(ÿÿÿ ÿÿö₫É₫₫S₫ưư›ưFưñü•üCüüêûíûüaüæü~ư7₫ÿËÿ+¨ 0-ÚAúÁ‘y®à4à(b¥—‹vEÛ¡c¾x¥ÿ>ÿÙ₫p₫₫§ưaưưÛü¼ü¨ü¥ü·ü×üư`ư¬ư₫‹₫÷₫iÿÖÿ2}«ÎƠ¼¦…Q'́ÿôÿ ;‚Ó8¯`©ÑΪZæaÅwÙÿHÿ̉₫_₫ ₫ÓưŸưư|ưưưŸư»ưƯưîưûư₫₫₫+₫D₫b₫Œ₫Ă₫ ÿcÿ´ÿ ]¯îGiushO3ôÛÎƠăơ4NfzˆˆrQ)éœCèÿ’ÿDÿÿå₫Å₫´₫Ä₫Û₫é₫đ₫ÿÿÿÿÿÿó₫ă₫Ë₫­₫§₫¤₫ª₫Ó₫ÿ<ÿaÿ”ÿ×ÿ@u§̉÷05>GIWmogaAôºG₫ÿÁÿƒÿHÿÿç₫Í₫³₫›₫“₫‰₫„₫₫‰₫œ₫œ₫·₫Ô₫ñ₫#ÿ[ÿÿÊÿA\ÅÓăíëÚѸ§zjd^tvi{|xr`P?#ëÿäÿ̀ÿ–ÿ˜ÿ‡ÿ|ÿ‹ÿ€ÿ…ÿÿ³ÿ½ÿÀÿÿqÿlÿQÿQÿgÿwÿ…ÿ©ÿ™ÿÑÿâÿôÿ'Lx“¹̃Ư庤}kWYT*F@IA&.$øÿÍÿéÿ¼ÿÆÿpÿÊÿ€ÿêÿûÿÎz¥ưO₫éưüưZ₫%₫ƒÿY₫đÿÿĐ·ÿ]¯[Ơí›íü¢ ₫ÿùÜçđüó₫öûAÿŸû×@ˆuñÿà±ÿÿ ₫I₫nÿ!ô•₫Qÿ½ư„₫ïÿ‰₫™ÿ˜9º‡ÿ2cÿÜ‚YĂ-]ÿ/₫,üRư;ưÿÿ₫1×§¯ñ±Ù₫̃ÿ)¶ưçư[ư.ûXưư₫ü̃ưÁÿ·ÿ]ưG\ø,â;óÿÙ₫i₫Fư§ư„₫fü₫Ûÿ₫’ÿhXfzĐ”éºÿŸÿ–ÿ¶ÿ0ÿTÿHỵ̈₫±B₫˳ÿ Y’ÿbPûÿpXđ™ÿ0YlûIëÿå¤ÿÿƠÿ£ÿäÿK₫•₫9₫ê₫ËưÛ₫Âư]₫®₫̣û₫J₫Lưđû'Ùü[₫ŸưÙư^)₫©₫º#ÔP⯠B Á ‘E©Ê ü™úY÷Óơ^ô'ó¸óơjô8öŒ÷Ôø¼úú©ưq₫Ưư¬ÿl=ÿ’‚ÿÿ@ç2â  %Ơ ‘Z¡  ]Àw₫9ü™ùp÷Pôàólô'óọ̈Pôùơ(÷-ơDøÚùËö’ö•øØ÷÷6ù/ùûüpưÿOIA₫wW ½ưx<È LAưùôỤ̂µñ¡íFíïƯđó öøtü{ưJưYüÓüdúö2ôQófđ¬î¦đRó„ơ$ù´₫ä6ñæ",,†)j%É!'bÄ’₫ú²î¶å"æ¿ăăẳæ6ê ñéöÏù ¯=ëư¶÷¹ó9đ íÛë́ë®ïgô®÷ ₫Éf!2!f,&3„.¹'₫!…ÿ×ÿ÷ñ1ä%̃Nàà:âUçdîó÷Gư#Æç ‡MNưyô‚́́óç¯äMèỚ¶̣åù̃₫âß&r$è2Ç8ñ/c({!+¸ |ø°ñïê*̃½Ù€Ü̃ŸäêḥBØ,Gö d¹₫úíñ¯æOååàüágẹ́î÷à₫‚U₫*đ'54¬<¼2Ÿ)¹!RK ùVî éæ̃×Ù Üàxæèïéÿü ä̀ơ½FÿGóªèƯă©ßUÛÖÙ’ƯVâé;̣ñư•n)¿-0›87[,D#Ú™ ûÿ/ñ·é@ä̀ÛBٵۀߑåUëŒôŒ K&›®» >,ú[́ºå%âä̃ÖÜĂƯBâé8ïsøØ äá"©$_'§,+)ú"MF jyơ‰đèë€å¶ă¶ăDæ¨ëQîô|₫•è …T(d ;ksö%đ‰́¤êôêé³ê~î-̣åơrú₫(8ây²4x-ØQđ ÿ(ÿ¢û[÷›ó[đÄïñ_ṇ̃löÁú,ưq-âiDAv‰"̃ưØû û9úØøÍ÷÷Ÿ÷\øfø=ùnüº₫đÿ‰«»&¼Üọ̈Ÿ_ë4Ñÿÿˆ₫=₫₫5₫ ÿ ‰?wWü€=Dÿ₫–ưYü>ûaú’ùÉøDøø%øUø¡øUù®ú&ü”ưÿ©WæI>íS9åpë.2u–¡§Èÿ2ÿä₫₫K₫₫!₫₫Ùư·ưưUưư§üVüüáû—ûxûûÁûñûHüÈücư ₫¸₫|ÿÊ dÉ'y¢¤­¨ˆBá] è™>%' îÜÑűfÛÿiÿâ₫l₫₫„ưưÇü¡ü˜ü½üđüFư·ư9₫Ă₫Eÿ̃ÿ_ÊOLÓrûÿ„ÿÿÈ₫¿₫₫–₫ß₫0ÿ¸ÿ5ĂjŒ dƒz@âo¼ùƠH·ÿ^ÿÿđ₫̃₫í₫ô₫ÿHÿ`ÿhÿuÿWÿ5ÿñ₫‘₫>₫Ñưoư"ươüéü ưMưư₫¾₫kÿ÷Ëw˜Æ·o¾,‘AøœlPE; Øÿ’ÿmÿ-ÿă₫ ₫e₫8₫₫úư ₫#₫3₫h₫¬₫đ₫#ÿ]ÿ¦ÿÈÿßÿ*19KDC>Lo–¿Tˆ t7́´n âÿ£ÿ]ÿ8ÿ:ÿXÿgÿ¶ÿ<t‡}L·ÿ]ÿÿ²₫y₫I₫=₫?₫i₫¯₫ÿyÿóÿr̃>‹¸­¢ˆ>Ö…ÎÿÿAÿEÿ7ÿUÿ€ÿ½ÿ=j†›†h#Ùÿÿÿ»₫x₫^₫4₫^₫›₫ß₫pÿ—/ VdhD5ÆdóV lÿÎ₫?ÿe₫~₫•₫F₫÷₫8₫Ö₫æ₫A₫>₫ÿ₫©ưÔưÓư¤ưƯư¯ÿV•∱ÚÍ@ óḉ)qÿ‘₫´ưîư¹ư₫óưÉ₫̉ ¥g½Vô₫óưưWûkù¹øÄ÷öĂöøö ùĐ?ߦ* ú L ̀ †jY îeI9₫Ëü4ú€øömô%÷ÏøX÷‘úµ₫#’´¹ƒ­k  åmp²ÿ:üø‚öđô+ñïEḯỚ.íDđơđû ¨âÎ÷x!Ķ… Ă%̣ßëQèrâDà?ßiăóëRïÔơE₫ }«@£0GYˆvøbî¬çÓâ–àC̃ÁƯà´ä̀åîóËÔÿ$µ12',¢-5'! ¡O»üưđ1̃çÚ5ÚÈÓFÖíÚ÷ă×đưöߟ?‹%₫$»! ñ¤Bú ô*ëiáîƯOÜ´Ü…Ühà2ç•ëˆíxùBư/j !±(è4Ú,=)t(UQ1ø ơ×䄨̀Û)ØÜƠGƯÇâÎîÇù”ÿQ½!’%Đ2…LW \ûơ¥đXæ­áîßVßPá=á9æ!îÉị́¿ưô₫.¦ơç,Ñ1l'Ă($$“î­₫ËöÆñ“̃;ÙƯ"ÖäØÙàeæœồü¾Za^V%}#¼Eå‘ Ùö—ñîEâ½ßLßÄßáaâ'éDđºíø¡₫×ï¼B"m4¯.÷&1)d>7Æöô9çÖÖÓÙêÙƠƯ(äÑîûûĂ“V†!Û&¾qåœ &ùJï`ïƯäk̃=ß:ßîà5âvæËï–ï~ôWÿŸÈ r>1§3ï'(‹! n Ö÷/̣ëºØÖÛ6ÖưÛ)äḯ’üGB ›J d£%° :;¯ ZúMíxí¹æí̃̃êßfâBăªæŒï•ñơX₫êÔr!7,154(ç&™ ƒ öññêdØ5ƠÚ®×–ƯƯä́î~ÿz| •‘!Ÿä#UL‰œKø^́ëÑåÖß{̃̀àưâúäé†ïặøÀư b! k 3˜2j)´%¹đẠ́đ0çÏÖÜƠùØ}ÙVáµåụ̀’ɶĂ!,!Ơ ¸‡ H₫Nö¦́ZèÆăóá¤ßàjâ±èăê½î ôïûáư[ û#|ø% 31 +²#=`đî»â×Ö‹Ö@Ü•ăÊæÓö½/ Jº!I"?zÁ¶ ÔÿFươÛéåjâ(àm̃¿Ü_ăëöè´îû÷ËÿöY&3$q.®2{1„+Ñ6ú}ù¢íçÜi×FÔ7ÖÅáƠå!́Ûưốo7c"£!x x ­₫qù¸îJèár̃aßsÛ(̃Kè3è íóÄü–e6$û%~+3#3K.{${w–ñé3àÅÙùỜÔ“ÜlåSéơ { Kº""Í{ »hûưđëÅâ[ÜsƯÁÛƯ ä}åăë”̣¢ùr [";'Í)ˆ3:5›0p'Vœ×ô¸ëëâØÛA×°ÔSÚăçqñß₫b íI1!ˆ1èó“Fû·ñ‘́¶âˆƯ­ÛøÚmàåáyă^́(̣?ùÿïơ¾)è%£1`5F1‚)Đ8Ibøbí4èßđÚ”Ö Ùbä0çë˜ú¤ ¹̉WÇ.‚ ^ ü£óḾ„åÔƯ®Ús̃@âá6å.́âóêùÿëÇ'°$N*¿0“/4)aà %̣̣í¤æ'â³Ü4ÛEăè@êg̣çưó8 ½¼£÷fk ›öớ©èuăPß6á4ăûå²èŔsó²úâU2 ¹è#Ö"S&¿'ß&½ ´ë_ M₫{ôÉí¨é›ç ăâ®è́úï=öư×ơ ü ¡—Á: Tü|̣ îëtèpéè"é°í̃î¼óøcư&v ze6[Mo[M‹ ”AûJơSñ‘đ˜íëƒíÉđPóªö¶úă&0 s Ñ }̃ÍưWø^ôÇñđóđ¼ïï·đOóJơÈø•ü9˜” R k äà’³9Øh £ơ›V₫ëûÍ÷÷ơ#ơ"öB÷Æøü›ưQ́he3_ëƯÿ₫üÅùˆøÏöbơ'ô¨ô„ô¸ơøödøü…ư–¾¦øL°°2 ‚ 8 yTy™­3=ÿÂ₫ÿw₫Lÿ²ÿjĂ€³  EÑE9ÿ’ư°ü,üơùúø^ùúúùXú½û:üÚüÈ₫Ë₫L=JEúä”1‘ƯÿæÿM)±ÿçŸ÷zD£¤êb=—qÀ¨å₫”₫ôü[ưëüÜü ü¼üÖüƯưGưéưT₫¦₫ÿ\₫ÿ'ÿû₫Éưb₫)₫đựü€ưxư1ưgưÓưf₫Î₫…ÿ”ÿµO.YóÁơ¤ơ:t·ĐbźöMè—ùÿK†;Ñÿ¥`C»ÿ³ÿ¢ÿ+ÿ”₫0₫Ÿưœư¥üü@üKüdǘûêûư5ư–ưN₫ó₫K§Ü‘ơô›S¡ú‰¡Æò8–h÷´L°.†+„`”ÿÿx©ÿ‡₫†₫₫/₫Âư ưYưƯưlư·ư₫₫ä₫'₫©₫ï₫ÿJÿpÿpÿ×ÿ±ÿ0_óÿÖÿN‹p³ VL…„ù”Cæ%Ă>¬³çÿ ¸ÿ¤ÿÿÿy₫¨ÿ„ÿă₫î₫ÿ˜ÿAÿLÿÇ₫øÿ´ÿùÿDÿ`ÿLÿLÿèÿ%ÿt₫Ưÿ¶ÿvÿkÿơÿ‘=ÿđOYđGfJ8dqÂÿPÿ–ÿlÿCÿÿ™ÿ¡ÿ×ÿvÿ–ÿQ11ƒ‚'ÀÿOGßÿ̃ÿÿÈÿ ]ÿ9ÿPÿtÿÿZÿ†ÿơÿ K¼ Gä(h £¾ÿâÿ3ÿ5ÿ¿ÿÇ_ÿ<Öÿëÿ‹l‚ˤc°*ºÿ­ÿF,ÿVÿ”ÿ§ÿ#ÿ£ÿ™ÿ’ÿÿJèÿzÿçÿ÷ÿ˜ÿ¾ÿ0ÿ¹ÿÓÿªÿ/ơÿ¯sÙÿƠ öÿ«Ÿó“Ÿ̀ÿ®q‰ÿgÿ9˜’ÿqÿyÀï₫ÖÿîÿCÑÿ£₫jÿíÿxÿ̉₫ÿ>.ÿ@ÿ̃ÿ ÆÿĂ₫fÿ‘_ÿ8ÿơÿ¸€E ÿ¼äƯÿmÿ)èv$ÿC’ÿ­₫üÿöjÏ₫'T¯ÿ̉ÿl™6ÜÿCÿ/ÿ8ÿ–ÿV₫Yÿÿù₫aÿ‘ÿÿØ~ÿnÿ~‘ÿ[Dÿ×'ăn₫ÿÅ™1ÿ±·4ÿÁÿg©ÿÔyÿ¶¨ÿ™O¨<†µPÿÛÿûÿÎ4ÿ¾ÿˆÿ|ÿ†ÿyÿ̃₫‹ÿ¶ÿùÿ¦₫‚₫ú ÿ*ÿÅ´†jÿOˆ-}ÿ)Pßÿ/ÿƠÿcÀÿbÿ2ÿù‹ÿ9ÿaíC·ÿ‚•ôÏÿJÿÑüÿAÿá₫_K¿₫¨ÿÊÿ́₫n₫A³ÿé₫•½bÿÖÿ¤^ÿ4ÿÁÿ6~ÿ!ÿ7¿́[ÿ'úèîÿƠ@ ¿ªœÿ"øÿUÿÖư`ư¨ü/üíú5ûüßưæ₫—”E‰º ׂ)¨ĂM(₫üû&ú„ùOùúư₫¸ÿ‰GÍo₫êûŸ÷tôBóẸ́¶ôR÷rü®ă zˆÀ!P° Ơ”ƠüÎ÷-ôÎđxîVï~ñŸôÓøüư`Ào Ï JÁ, 9 "²ùLóïƒ́Cêèèüç!ëÏôÑ₫Q;rG&|9¢ «¨÷̣_í èOè'́×đàơ«ûH<  …†[u ©ăÿdüEøïôyô-öù^ûí₫mü ¹ Ư ® ¼ùtú5ô ̣®íèéDéŸë?&k Hö4 w ,ñŸîXé/́5́4́}üî , { =]ü,ôưñ5̣à÷‡úmüe† Ú © A v€¶÷öô<̣³óµ÷Ÿÿ_́[ }t Œ›-fúôôxôrơI÷œúÿ­’ñ¥,£±ÿ-ü®ú}ùrùPüeÿzñqÈ̀-[ư úëøÑøú‰üƯ₫ñ1<ß́ŒYZ₫Oưư¯ư›₫,tk!ÿ¯ưñü÷ü‹ừ₫DËø3ź>Û₫½ưbư©ư}₫Àÿ„Uo´₫¯ư,ưhư₫†ÿá́Ÿ·H]2ÿ¼₫¤₫=ÿ ¬Ơ–íÛ́₫üü¥ûû:û3üIưzÿ~ÿö¿đzlF{ÿ¨ü*₫]‡ÿعú&úưƒưGưüü₫ 58Z?;¬₫R₫äư ₫wÿÜî´9ÿ₫6ư›ử₫ÿÿC.”ø‹Eÿc₫̀ưïưÍ₫(,•«2?4ÿÎ₫ê₫nÿơn7¢Üÿ3ÿ¹₫Ă₫‰ÿs.­¨./8ÿ³₫¨₫è₫„ÿMÖÉlâÿTÿù₫Ú₫Lÿ øí¸Äÿÿ•ÿzÿÿÀÿêÿ ¤ÿlÿqÿ[ÿ¡ÿüÿÙeÈÿÍÿîÿ!"ơÿ¶ÿŒÿ‰ÿŒÿ¬ÿûÿ(1éÿĂÿÆÿEuŒo'Öÿ±ÿ¡ÿ£ÿÿ£ÿ¸ÿ³ÿ¡ÿ¡ÿ³ÿàÿ4j|„‚@äÿÚÿÓÿæÿöỵ̈ÿÿÿ %&&ÿÿÛÿĂÿºÿ¶ÿÀÿáÿûÿ/GCJMF0đÿÓÿ¡ÿ‚ÿxÿ{ÿ˜ÿ¹ÿƯÿ 7ZowoK)Ôÿ³ÿ—ÿ”ÿÿ®ÿËÿđÿ (8CE1%üÿøÿøÿưÿñÿëÿáÿĐÿËÿ̀ÿáÿA]ecN0 çÿËÿ´ÿ¥ÿ ÿ¦ÿ´ÿÈÿåÿ +AQVI'æÿÑÿÁÿÀÿ̉ÿéÿöÿ ñÿăÿáÿêÿùÿ3LTRF. èÿĐÿÁÿºÿ¿ÿ̉ÿèÿ/@GD9% ́ÿĐÿ½ÿµÿµÿÅÿÚÿôÿ"  üÿñÿéÿâÿăÿêÿóÿ₫ÿ   $**% ơÿçÿ̃ÿÚÿÜÿàÿéÿ÷ÿ úÿñÿ́ÿîÿïÿ́ÿèÿéÿêÿéÿ÷ÿ ùÿíÿêÿđÿüÿ"%% ÿÿöÿñÿéÿàÿ̃ÿÓÿĐÿÉÿÇÿÑÿäÿ÷ÿ "*-)úÿéÿ̃ÿßÿíÿöÿ * ÿỵ̈ÿèÿïÿïÿơÿ ûÿíÿçÿâÿÚÿÛÿƯÿåÿîÿôÿûÿ$+3) ÷ÿíÿñÿ́ÿôÿôÿøÿ ùÿđÿîÿêÿïÿèÿíÿøÿñÿôÿ́ÿçÿêÿçÿïÿđÿúÿ 3>971₫ÿúÿüÿüÿưÿöÿơÿñÿîÿöÿüÿ  ưÿïÿđÿßÿÏÿØÿâÿăÿäÿàÿéÿùÿÿÿ #ÿÿ  ûÿÿÿùÿûÿ *&'ùÿáÿÙÿÀÿÉÿÑÿÜÿåÿơÿ.:4$ ₫ÿàÿ±ÿÿ˜ÿ®ÿ¾ÿÇÿÔÿ÷ÿñÿ.9A1(4:  (2üÿóÿÖÿ̀ÿƯÿ×ÿ̉ÿ³ÿ°ÿÂÿíÿ0<ZbvPEàÿ«ÿ¨ÿ¼ÿ¸ÿÄÿêÿ CD•q‰;lÁư•üVưèü6üy—₫iư₫̀ư›ûù—÷ºñ¿î{ñxü1'Â)gḅ÷ëáîưü, uĐ’ô¢êaíÉø›V  ÙSø@ñ ôU₫ɤ €×Ọ̈ø÷1û‹VIÿÈùMö¨ñĐî)óFùJơÊéXë$ư/JEzÿzïFđøüÑ“#cữç‚é®ơ¿ùâç rûüLî]ñƠüº“ t Ó₫Àóx̣VøØÿº©ÿœøæï¿èÄääEí¶ú¨¾BeC’  ç\à®ù=è\,RÄù¬éç•ưŒ, îÿc÷¬ç ́% >” c₫Fđó₫½+£úøôÚîèçÀă…äRđ”ÿ1 G…ü8æĐ̣k " ɘX¹₫Ååđ$:3—ûøAơWïû—% ñ }₫JöÓơÛúÄưÙÿxùñÀë/åˆå¿ê’ùú ñD?>(Ùñ—è(Y+ Ï{±̣“äêơ”ư}ÿ¶çÿ#ư¾đî8ưÑ  jïû»ódô¢úÇÿeÿXöë¦å:ätẹ́2û‚ùÚC×8đvô-ï6–̀æ^J ̣è3öaûº₫Ëøư{úbññ* «ç₫ùơ ø¬ưúư‘ú²̣ é+çåçëí1ôù˜øËC¹7Ï[öḶɾ_T= ộê¡öAüáübỵ̈ûùơñ ó¸½K ´ƒû~÷iö£úJ₫đüDúẹ›ê—êxé'ïwôÅö;ô\ §>pAWgûḄ YM 44ÛƠöŸè'ôƠúàü·ÿæüÙúzđNđ1₫¹  ü÷·ôäød₫OUư$ớAëµêưíËô¹÷^øÎù$€C*ă ø ưº¹ù.Víyïơøhú™üøụ̈üöFî÷P ‰5₫‚øƠöyøùü»₫g₫ùáđ:î:îhí¯ñâóHønơ9p3P?@!2&øKÿÛ’,!ü/ë=ñ÷Îû¹ư$ư#ücñµïû ¯û?ø÷ö.úàüm₫ªư¾ö2đ>î.́}đ†ó¢ô½ö|ơäAE3°uúªùܪY àk” zótíđôùư3ü’ûz÷'đ`ơ—© úÄü‰ùîøÔø¡úpüú₫́ụ̂ÊíëGîÿóÈó“ơó¥SôđĐíîêđqơ—ôÙø§ ¿"©# Äÿvÿ0,5j '.gûô™ô¯÷ßøºơ7ơ_₫zå!ưPúÎúúöíñöîïyñLôṭ½öî ª)"Ï̉Ù ÍûÓüf‚c” ®~ưxơôWùæúeøÖö üYŸ₫'ûù®ù÷ÁñVîïÓó±ơộ¼₫¦&™÷r V™ú}û; p ›ÿ®üŸö™øBûûŒøús•üùuøü÷ó·í¬í2̣P÷²óNù™Ä·L2HüûÀ½ ] ›½ư\ö|ö›ûüú%ûÿGåüùMø¨÷áôxïáîß̣ơAóûüzΡ !₫˜ú¹§i XïI‰₫Yøööø`ù¾ú ü^4VưÙø2ơsôẹ̀­ñụ́GöÿơröA ̃‚ ûü°üœ!·÷ú øzù9ùEúÜúư“₫Küyúüöơ±ó”̣Sôö³ö?ơbÿy Ï»đ¹w³₫úƠ6t?Àư9ú°ùhúßú¥úTû™üÔû›ùĂöÍôôzóåơb÷*÷ÀơûÚ~|Ve gàzVQ.dÿ%û¯ú û4úÜø­øcú÷ú-øFơ¦ó:ô1ôEơ^÷̣÷^ø¥ùêÿ ï¦ )? T£Œ\Üÿm₫«üư_úùê÷HöŒöTơ°ôơ,ôKơâö₫ö:÷uö€ø₫R¼f74C¦ ^̃¶«ÉF]ÿn₫âüÛúá÷öëơöeơ ơ}ơîô¤ô÷Đ÷«÷¡ơ¶öüúưưƯ8h>ßL  ‘́ Uÿÿf₫ÿ ₫ ûOùáơÇô"ôØóàôëơœ÷÷ ÷Qø¼÷i÷möÁ÷ùúĐüƠ¼ $‚.́-Œ‰ #w& {ÿÅ₫Oÿ₫vûø öÁơ!ôóCó·ô«öU÷Tø¾úcú@úXù!ùâúûf₫F÷ »#µ$ ¾ÀØ+ÿÙ₫₫ùưưùÈ÷ïöÔơQơó¿ô’öƯ÷äùú üüªû/ûdûünưô₫h5 f3ba  Ă–œ­Ó.ÿñ₫¥û±ù øßöâöÿơ÷ú÷̣ùjúüǜüæüăüăüuưèưBÿ¬$óP²¼ê¶ưß UjNtJ`₫₫±üHưXûTû“ûîù˜ú„øăûGûưưÍư!ÿ˜₫±ưÿs₫#›Ú— €¾f¶ó7;S¯²ÿ ư₫Le₫'ÿQ₫å₫ôư9ư¹ưpưưgüFưưm₫&₫¹ÿ”ÿÑÿh÷ÿÚÿ¾÷–tb-®q–"b7ô. x’ÿÆÿfÿTÿÂ₫ƒ₫Q₫À₫„ưá₫´₫Pÿßÿ§ÿhÁ₫qÿÛưÖÿpc=$F‘Á₫²‹¯Bxó…ÿ[ÿŸ₫÷ÿ¸₫\ÿÿ`ăÿ+ÿQÄ¿ÿ@ú₫öÿº₫_ùé^[Ăÿ–ÿ6ÿ™¹ÿw8ÿÚÿLÙ₫Ăÿ‡ÿ¥₫¬ÿÿßÿ5₫dÿœ₫Q/ÿnn®\ÿ±Nÿ¥ÿ¥<E—p¤}ÿ:®‰ÿvÅÿAÍÿÿÜ₫Ïÿ3ÿ ÿÓ₫L#ÿ₫fÿcÿwÿcÿñÿ₫ÿ^ÿú₫kÿ3èÿÃIâ\81ưy´û-GueÆÿØÿ̉ÿ°ÿ‘ÿƯÿÓÿÿ)₫₫³ÿˆÿ1ÿ’ÿ,ÿ€ÿüÿYÿÜÿnÿßÿÎÿQ—‹øÿ0Ëÿ †́ÿñD€âÿüÿ æÿÚÿ±ÿúÿÿÿÚÿâÿ¦ÿ¨ÿgÿ(’ÿúÿñÿN}ÿMĂÿ0¾ÿ&$ùÿaêÿùÿăÿ((cơÿm/)ÅÿùÿÎÿ ¿ÿ2–ÿ?ÅÿăÿÜÿèÿäÿĂÿ¿ÿîÿÿ˜ÿ4Ëÿ%2üÿ5×ÿ.VP9g̃ÿßÿ#çÿ₫ÿ₫ÿÓÿGÔÿ4¿ÿ̀ÿ°ÿ¹ÿÑÿÀÿơÿ̃ÿüÿ øÿ÷ÿéÿùÿúÿ!>EU*E)ûÿ́ÿ Øỵ̈ÿ ëÿèÿÊÿ´ÿÎÿÊÿÜÿËÿƯÿñÿúÿ ̣ÿúÿ!"/*51/éÿ äÿ đÿÏÿÇÿơÿÚÿåÿáÿƯÿÍÿçÿàÿåÿüÿÛÿ₫ÿ !%-I =1ñÿăÿ̃ÿöÿçÿâÿƯÿáÿăÿäÿèÿ̉ÿăÿßÿêÿàÿæÿñÿüÿÿÿ % ;#9$'øÿ%âÿƯÿôÿÔÿÎÿßÿÙÿïÿ̀ÿîÿÇÿôÿÏÿëÿâÿùÿÿÿ₫ÿ!,0+7(, ÿÿ÷ÿñÿèÿéÿéÿéÿàÿÛÿÚÿÙÿÔÿÚÿÑÿÚÿâÿéÿëÿûÿ+#*+'#*ÿÿùÿ́ÿ́ÿêÿéÿåÿƠÿÓÿĐÿÑÿĂÿÎÿÙÿØÿåÿøÿÿÿ "#+-?*9(̣ÿâÿăÿƯÿÏÿÔÿ·ÿØÿªÿêÿÁÿÛÿçÿçÿëÿúÿúÿ '6@< +/1 ,)đÿ/ÉÿÄÿ̃ÿÏÿÑÿÉÿĂÿñÿ²ÿßÿÖÿúÿÅÿưÿưÿơÿóÿ/÷ÿ! ưÿ. =5%_Y.*&êÿÙÿ½ÿñÿ–ÿ²ÿ̃ÿ¸ÿ„ÿ.™ÿFÂÿ]°‰ÿIÿG&ÿ?«ÿt£ÿ>đÿaR> P|ănÿĐÿ–₫ÄÂ₫ºÿxèÿY₫ “₫ÍÿKÿơ₫‡ư$Uÿ‘=üÁüej₫5 üÏè¸ùû¦eưÿưüiÿÿp¾ÿl ÿªÿ—OÇÿ½ưD₫oü8züơÿưư₫ưÖÚưˆ:üN«ưŒ*cÏ₫Eÿ(₫|ÿñÿSưÂú„‚ûE…û6Ờùl|ø­÷ûkAøÉ@₫‹÷û(¾r₫·ü¶ü«ưÛüßdư¢yˆưyÿ'Nÿ˜ÿ‹5ÿ­uư<ÿ­<ÿÏpÿ£ÿªÿâÿÜ`₫èQ₫éÿ+üR&«ư₫4ÿDÏ₫Hëư`₫Öûxư_‰÷4)₫/'ÿ̃ÿ₫ưI*öZ₫øXÿ2\æa’6ưxû§§ưæÿ™ú`fûû‚ü’üÄöbùÄü„ùBư—ù<–ÿ!± ;… N 7 Y Ư°7ÿTû;úNöïzñXôïlíọ́Fơöêô,ú—ưÁù¥ùr×Ô  ’6ÊX‰Û+‚ÿç₫iûuó‘î·ñ"ó*đ/ïjöûßûư AÿhûxûFúŸö¡ñûđîđîóʹn¶ ô#4Ạ̈̉ ¡ «RüóRîµé°êÜé‘éä́(÷‰₫œÓ¸: ñ~ÿÉưúúíơđª́Tê íûéùÉ}(!.ưH#!Ể EMÿ€ó-ëïådæJæ¯æ>èƯđ̣ûµ̀… @ ë*ư—÷2ó+í è2ä]å÷ótH·X'ú$Lư"ü'¹} ^¼ÿDơßêyâîà=â婿ëíơÖô3 ár' ƒäûMơ•ïTë•äaáߣé¼úGØüB$9,@&!Y&Ú# äứơîüä̃ĐÜÍá;èlëđÑûy ,d†̀¿ Ÿÿÿơ`ñº́ç’ß…Ư¦̃PçDø!! hn$‚/B-ÿ$`%$å—û†̣ßê¸ăđÜêÙ©ÛMäÙ́ơóyú¾Q₫fórÍ"üïñ<ë£æáâ[̃zÛƯĂă´ơ[i"0’3́*$ !m% ü̉ïç+âÇƯÔÚÚZߪéwơêưP9R U(ç @0÷ǵfäÍáAà_Ư­Ú5̃;åơ lÏ!Œ.Ú50%/âÓ Áüï‡ä¤̃%ÜÇÛŸÚ¯Ư§æ§ó9ÿº¹Ï "¨ M ±Œû„đÅæ à$ß̀̃>̃ÑƯSăåêùZ nă ¡#Y-<3º-!ơ…øǿƒâ ƯæÜ ̃:ßâ…ëh÷5 đºI è~ ̉êúkñÙèäâàYàŸáDă¾ä@ê%̣HmoF"K+¯-û$[“ç ú$öPëåâûà¨ână¨âçGñpü3’ w–nM× gWú‘ñyêµåâơàJâä9åé¿ïk₫4ÖÙn(ü,Đ& À1 ‰ú,ïëåwăúăăÓáyå‹ï6ú7g „§c‚7=æü₫óeíØèză)ß]ß¹âÏä*æpë±ôh#T–)$¸-ó,ơ á”Ư =`óéăËă›ăƯá'â;ë÷9ÿV ~rjlă :%ơØîIêTåÎ̃ăÜàcå—åèfï_₫Æ99¿³+%0'K*_f÷Áæ4å¶äâœáé ơ½üùVŦ€DD³ JGöĐđÑ́öæ÷ß•Ư^á»å~åqæ]îÖùü 틘*@1́(³Jøîeé]ædä÷à₫ádékô“ùr₫¹–b‘ăÉr ôÿĐ÷Vó}́6årßÁ߯âäâ‰æïđôû® Ä¢Ô"s.¤1G&âöâ~ô¾́qç’â?áeß®ăíËơù”̀6Ñj˜Œü ö!ïơåZáiß{áhâÆăµäîăơBîË Î!á(â3R,ĂUÜ÷,îÁçZâ™áàŸá¿ëơåø̃ÿe‹bÀ+®±‰₫öjï©æ›âáœá<âRä'çîóômÿ#đ!^!]%;3.̉å8o`÷ˆîăæ^ă@ăÏàPâ0î.ö7øµ2÷bP  Áươî]æ#äââçâ+æôè‹đ­ô‚k¦ ŒÆ)]4ü&e´î'ơ¾ëeæ\åZâ àĐèó±ô¶úE ¥ñB̀ñt,ßú ̣DéŒæ“äÎâŒâơä̉å§́óü< Đ&Ë3ñ+ưU(:ø¢í保æåâTàç©ñHóvùbe=Ơ ! :ûËóxê[çúăàă-äÄä¹ä£ị́©üy‚ú)4™)‘ ˆ0V©øîëç©çøá§áKêéđ%ôü ăZ¼̃X†ư₫ÏùQđHềæóăDæ¥å6äºèÙñóß ç~$k0%/_&/•Ù êđ‹è·é’ä~á–æ‡íp̣³øS₫+!¬ûl¿Dûúó‹́FçÆäè•åäçèáđḄPÿ†$/0h)4"Ô óVójéëèåăÇǻê-̣­÷nûĂ¥˜¤â&ƯVú†óä́çLæ¿çåÂåiêóđêơ Emm'20·/v) Oœ íÿJñê è~ä-ăæ·ëṿÛơ¬ûwW „ øéÅ >†₫ŒøC̣'êµç6èæ)æ®èAî™óŒN¯$s.©02,k$J±‹öƒíêää‰âäèwị̂Y÷§ư M @n ›é›û:ơaíê­è́æ¶çŒéî­óÚµ¾#£,]/»+#ƠBEùöđÄêEæävăoçḿÂï3ö(ÿfü™ Ó  € RûơKï\́[é—é©ê ́èđ ûg Rơc% ,¹+c&̉LŒ \ø2ñ¸ëçåéådè9́”đüöO₫u©  ôGX₫øøÇôùđ…ííWí–îœ̣Q÷Ä$¿%ß'¤&[!·x `ÿUöËñ^́¦èmæYæëîÖđåö̃ưO`”æ<Xü¹ú*÷&̣¶ñËñ´̣pơ—ơüê ầ0ˆ"¸!c!Iªå6ưbùÅóií/êyè^ê!í…íñeø<üæ₫ú+½eđÿQưùÇ÷0÷\ö>÷đ÷gù~ÿöI é{9Pá ßw²ü×÷óéïqîxî.îêï¹̣”ơUùÑü\ÿ,yË]Îcî₫ư=ûyúeøßøÙùü©₫å) -7å/n R fpÿü¶øMơÿóọ́́™óơ÷}úˆû¶ưøÿÿ–4Đÿ÷₫ùưrưsưÅûƒ₫ơÿ6¢•ú1Rb ‹€¸ăé̉kÿ̀ư¬û!úúÎøqú.ù…ûÖú"₫uü“₫Qÿ{ÿƒÿù̃œ₫vÖ₫ÿ›­²úÅg ÀëÉÿÿè₫_₫́₫«₫íÿYÿ”ÿgƱ?ÿe•ÿ²Ÿ₫Bÿpÿ°ÿÑÿ2₫DÿÏ₫„ÿa₫( Ô'Èÿ£çsÿÀÿèư₫i₫₫%₫Ûưê₫éÿ(Ờ­Öo/ Ư–嬫ÎA½ÿ+ÿº₫Üÿö₫^ÿ3ÿHÿ-Èÿÿ€ÿÿÿh₫₫ ₫¬₫̃₫e₫VÿĐ₫3ÿû₫¯ÿèÿ#Úÿv¬ÿœÂO ȤQ{çÿ/M₫Ï₫4ÿsÿ₫é₫y₫NC₫à₫Kÿcÿqÿq₫ùÿ]ÿ´kÿ9ÿ¥ÿsú₫íÿQÿ̃«™ÿ7ơ8̉%í½³ÿcĐÿÿ™₫̉₫8ÿÜ₫è₫dÿdÿ‹ÿ/ÿ,ïÿ£ÿ*ÿ—ÿ¬ÿ°ÿå₫¬ÿlÿ&ÿfÿÆÿÂÿ¾›Ô•a.yÿ½ÿÿTÿ%₫l₫®ÿ‰₫«ÿÆÿ‘ÿ>±ÿ7êơÿÙÿơÿË₫̃ÿ”₫p₫qÿ ₫ƒÿ!ÿ‘ÿ¿s‰â·µ¨ùTÓ₫Ÿÿû₫„ư,₫Û₫,ÿaÿ̃ưK—W“J+ÑÿüVÿÙưÿÿ¦ÿ«ưfÿ±ÿ]x‡k»Q§àÿwNÿ<ÿZưà₫Ê₫6₫Ú₫Ù₫»₫h]4<UMUÚk9?¦ÿm₫º₫ [ÿQÿ¨ÿÊựNÊ<.O¶ÿ1₫ÿÿƒư†₫Aÿ@ÿv₫í3ÿă¼Ü §+qÿ1²Hÿ¯ÿÅ₫‡ëÿAÿÁ°ÿ{|ÿÂg&₫nơÿ•₫>₫ÄÿËp₫Rÿ‡ưáÿèÿ§ÿaÿ”₫P%«ÿY i&Âưæÿ„™ÿĐ₫º₫álÿóÿEÿ¬~Kÿåÿơÿ7‘ÿhÿƠÿfÿúÿÎ₫¾ÿÿ÷ÿƠÿªÿöÿïÖäKƯÿ ™5ÿ†ÿÀÿPóÿÊÿ­ÿëÿáÿ-=ïÿ ÿ¥ÿưÿ ÖÿÙÿÍÿÈÿ‰ÿ‘ÿªÿàÿéÿ 4'C84VvjH êÿ÷ÿ ØÿÙÿèÿ !÷ÿơÿñÿøÿáÿâÿßÿƠÿƠÿƠÿÉÿÍÿâÿơÿ%.CKWSGC&ûÿñÿçÿßÿÍÿƠÿÚÿíÿíÿ÷ÿúÿ₫ÿ÷ÿôÿîÿêÿÆÿÇÿ̀ÿÈÿÂÿÀÿƯÿöÿ26UXZRE>! øÿƯÿÚÿĐÿÊÿ´ÿÂÿÙÿåÿóÿûÿ$$ âÿÉÿÎÿÅÿÎÿÉÿÛÿÜÿóÿ%?BKIZE=)ÿÿäÿÖÿÈÿÀÿÆÿÊÿÇÿƠÿçÿ!')!öÿëÿßÿÔÿÙÿËÿØÿÔÿ́ÿäÿ!75S)F(!́ÿßÿ̃ÿÑÿÀÿ̀ÿËÿƯÿåÿ÷ÿ #+,ïÿéÿÚÿÔÿÏÿßÿéÿèÿúÿûÿ$*#% ơÿơÿæÿ̃ÿÛÿÜÿéÿëÿùÿüÿ ₫ÿóÿóÿëÿđÿñÿ́ÿôÿôÿüÿ ÿÿùÿöÿúÿÿÿøÿûÿ   üÿûÿÿÿÿÿÿÿưÿùÿưÿøÿñÿóỵ̈ÿùÿñÿñÿ  øÿÿÿúÿơÿÿÿưÿúÿôÿûÿ !ûÿ÷ÿæÿƯÿâÿÍÿƯÿßÿèÿôÿóÿúÿ  ÿÿÿÿøÿôÿèÿéÿđÿ÷ÿûÿ $  ûÿ÷ÿëÿíÿÛÿÑÿÍÿ×ÿăÿôÿ  ƯÿÙÿÊÿ̃ÿàÿ3# + æÿÙÿÙÿæÿäÿßÿßÿçÿÏÿ̃ÿñÿơÿ₫ÿ08'$0) ́ÿÎÿ®ÿ¨ÿ¿ÿĂÿØÿäÿ4EEôÿY‘[p•₫4ûáúÂ₫.:Er₫₫ü₫«vQq¬₫z₫™ÿŸ«Gÿÿq*ưyø*ụ́üÆKp˜ưü ₫,%¬1âZ€œ:Ä₫¤ư…ư’₫ÿäÿ7‘Ưùø̀—O@½§$¬ÿjÿÿ´ÿkÿBÿnÿ³ÿ¤ÿGÿ•₫ù₫tÿJT¹­g}üøl÷ü8@„₫H₫ÿÿs{f¯¡¬•ªô§ÿ;₫¡₫iö¾ÿÄ₫|ÿ…”₫,₫0₫Ÿ₫·ÿúcˆ©ñ́Ûưÿ'ưÿPưUưưcj₫¥ÿfBâÁ?²#ÿ₫7₫S¿|₫sưU¨ÙC₫l₫,h¨₫Ë>¿¤₫̣₫ŒfA₫Z₫Œ₫C æư₫¯ÿÊÛy₫₫ûÿỘ•µ@đ/ÿ öÿ5ÿâưÿˆ´ü!ÿFÿÿ7©ÿk₫€]ÿk₫‘{~ÖüƠÿ÷úü‰₫ h³ư₫+ù’ÿlư 0₫…ÿMưœ%»ºÿÁ†%ư¢ÿ™ÿÉÿ5₫!³ư<ÿÔÙW#X̀₫½ÿ"₫ö¹₫’ÿ€¯‰ÿûü`ÿ¨ÿÜ̉ÿËß₫ơñT₫Ëü&₫¤ÿăưÉÿ‘ăa₫äưäc₫^ưçC6ÿ9₫ÈưW#Nư°ûüÿ,–ư6ư “̀ükû"ă₫‹£₫2^ÿô₫eÿÈĐÿrûư¾R₫ÿRhoÆ₫ëÿeÄÿÿYÿÅÿŸVëÿ>ÿsÿ6ÿÄÿû,Ÿ₫¥alÿÿ́oÿ–ÿïÿÁÿ¬áÿ˜Ơ₫È̀ÿ•ÿÈΔ₫ 5­₫|€Óüôÿ"&·ưë₫‘:X₫Í₫̉8§~ÿWÿfƠÿ8Iœ;x₫₫Åÿăÿ/kÿÿüÿ^Ï₫­”ÿtˆÿpÂƠÿ›ÿÿ "Îÿ~ÿ0Ú~ £ÿƯÿr¢ÿÿôÿnÿVÿñ´ÅÿñÿeÿFûÿü₫y(¹ÿyÿ<@EàÿçÿÆÿIÿˆæÿÙÿ]ÿ̃ÿEáÿ₫ÿB€/ÿÁU]ÿḌÿöÿjÿU/ÿ„ơÿđÿÁÿ„ÛÿÓÿÉÁÅÿ ÿP †ÿ»ÿÙÿ}wÿëÿ'æÿđÿ5«ÿ¹ÿ/r‘ÿ̃ÿ°ÿܦÿ Eÿ™^fÿº₫'ÿ‚ÿdûÿÇÿzÿç¿ÿ̉ÿkÿ©ÿGƒ`7ÿ…naÿïÿ^ÿÚÿ…³ÿ@ÿ×ÿUC‚ÿÂÿy›T?ÿ‡"4Ùÿªÿ RÿÇÿ²ÿn¤ÿßÿˆéÿ‡”ÿÑÿüÿËÿjÿ4»ÿ.l¯ÿáÿ•ÿüÿ¹ÿôÿ'k—ÿÏÿ́ÿ¦ÿ&âÿ ĐÿAĂÿ¡ÿrI©ÿXÿ ®ÿÿ™IêÿĐÿN Äÿ́ÿgçÿ¼ÿÕÿ ăÿg½ÿ̃ÿ…ĐÿêÿÖÿ}ÿ(¯ÿ́ÿäÿÛÿÊÿ&wÏÿ¯ÿ„áÿ£ÙÿâÿưÿÎÿ‰ÿÜÿ[“ÿwÿ7ËÿÅÿ²ÿ“Wÿd.H¾ÿt¿ÏÿxÿÏÿ1Äÿ̃ÿÂÿ«ÿƒÿÄf·ÿ"Vyÿ‹ÿ¸³¦ÿÿÿÿ aÿu€–ÿYÿ#ÁÿqÿU|ÿLÿj¡Cÿ Ti₫,®­ÿ¦ÿÄÿ„ 4¬ÿo8“T)ÿºçÿ{ÿ.ù₫óÿÿj¸ÿûÿzÿ_# níiâÿâÿƠMÿ ÿÿóÿ₫ÿÿTÿûÿÿ ûÿLbu¨† »ÿ‰ÿ₫₫(₫m₫yÿí₫b₫ÿAÊsÿz^eC\^ÿpç̣ÿŒÿÿRÿÿ\ÿwÿ~đ€ÿBÿƠÿo¤ÿ”LîÿÿbñÿÜÿ‰ÿsÿtŒÿKÿ?ÿKc)";0¦+T;ˆÿ§ÿ¤ÿ?Œÿ–ÿưÿi.v&> ÿáÿ£æÿôÿj¤ÿ£ĐÿÿJŒÿ—ÿÖÿPÿ¥ÿ9…JöÿKÿ"í₫‘-ËÿàÿÈÿÿà₫ÿjÿæÿO ËÿáÿFÿøÿƒÿ‚ÿŸÿm"ÿ­ÿ”ÿå‚ÿåÿ‚Æ₫µÿØTÿ|>3̣OŸIÀûÿb₫6ÿ­ ÿùư+₫€₫¨₫ºüû:û}ư>úúÊû(ư6₫ ưnÿb…| t j¿ û  †—®ưû̀ù½ơûñLñ˜̣̣ñMñ*ôözö#÷eúØü₫Ø₫Çư ^í6öz^‚ t eÖü öóơÑóáîpîJñ öúú₫áê)ë« ư¤÷YóïäïníNëÿë́öêÜ >æ&>'Æ"="†Ơ÷@đ3îrèœá©á»èaî¸ó~û*öMë <&ö$đJí™éàâ,áƠâÓî%;""1#0~*h# †—ñ%ç̀æBß Ù…ƯÙålîo÷@Ù Îuöw?8îơ ë’å|âˆßØ,Ûhà÷?¤Đ\1¡>f5Ù*-R uö]âÛÉƯæÙáÖiàçđêúkî á"X Ù¦ËæûĐîơăs̃`̃yÜö×_Ú©âJđ/‡$¼#>.•?ù;*6 âỊ̈ÍáƠLÚ+ßơàaäLó©ưƯơ¸Ÿ"¹• ºÿÀùĂđÑåFƯÛĂƯS߬۔ßĐèMÿ¯%̃)p'40ư@±52 iËøÍệ̃‚Ô«ƯNç:ëµ́åüơ Ï^èH h$ü6öỤ̀́êáâß“̃Iá€âă=ç5ô»Ô-¸'&½6 8¬!›mư,øïNèB×~ÚéFóḳù‚1¼¡–^w ĐÿÇöơsñhëđăºàßăälå,ç°è;*Û-§&Ă%Ö7†.µË÷ḷØí÷åRÙ^àî*ú̀ø×ÿÙ D² rn k K«û¶̣̣)̣́ äöàÅâöçAèÉé¬íÑ.Ø.Ø! 'ü4ê'‰]ú̃ơđđîpăÎƯ$ạ̈·ûØü_ƒ†‡Ö7 îÔ0AùṾḅ¯̣₫ëå—à=åèë³èMú£ Ù0”)c,11` 6ïö€ơđñ̃ê­àHáuè8ô’ûĂ₫‰ …Œ³ ‹& ’öéđ̣—ïé®á´á>åÊé.ê\đøï+¯/ô!„$ó0‡*"&ú4ö¶ô6î_ăàèäÍ́Œö¤ü_XŸ ÊRר‚ ;ü¦đ™ïKđ́̀âçß–ăOè¢é5îÈ É&.#Ÿ#ô/À,q₫£øíö´ïää´àÖä£êHó™ù®₫ÏÁ »<  ;ưưÓññî²ïêëâ°ßjăưçïçÈïd À&{*© ư$1;,®¥₫+û6ù°ïàăváXæôëC̣9ø<ưy Ç1ˆ́ a •,ûWñđ‡đ$ê7á¦àGå›è̃çđöÙ'ö#v )ơ1%" 3ÿX₫8ùế+ădäyéî¢̣ øơü)T Q ® pơö¬̣™̣^î±ä¬à™ăåææđ’ )!Å!•F&3g*–Ci6ÿ´đŸäÊäê(íbïÓôØûu¥ )Ÿ0 ; ~ {«ùaơộíå³â¶åÄæWæ´öÔ÷ç%•)2á"§ x<“₫Ÿí«äxè'î+ï=đŒöÉưQ‡c ̃  Ÿæ+₫÷¡ó>đëûæ|æ)æYë6₫úcưv)+ạ̊W;œüÖëpç^î óNññ‰ö«₫:ú,9D‡̃₫/ơ­điñ́ï‚êOæ#éù oå«Ă!Y(é #¼‹óªé5íđôXơ9ñ[óür£¥®Ôă₫6ơ4ïî¡î‘êoæđ4M-́Ÿ))!w• ÏCơé£ëḷ̣@ïˆñú–H  Ç øñïÇïHë₫ëú³ ̃ÿ b!º"`8 ₫ ? Gÿ¿ñ ïđ̣äñ¤́b́"óôùưü₫ëÊYNüN÷Öơơàđ'ó[» 1  ç‘̣¯ nb ˆ6ü ̣¤ó8øfơ©ï¹đ÷ñúû×û!ÿî üöVó–ô6ô™óGüb *°/= sç æơÀIọ́îçó:ơ›ïoí̀ó¬ú7üü_ÿ{S₫j÷Sóặ̣đ÷W[`iY!H£1 ± µ/úx̣ÑôöØïüêƯî¬ơÔ÷U÷Zú­ÿÀÍưø—ơÂööuôÏû£ ñ@đ;=â + ° GIùzơßù>úGó·ïô£ùªøpöèø,ư™ü¿öéñ0̣½ô÷ó§öéYnùyöđí} qưØóôQ÷Lôđî‡đ ÷]úùún₫ üö"óô`ó]óZü mÍ6­Ën O Ó øơø]ơóîîMó₫ö‡ö+÷$ûÙư@û¼ö½ô ö‰ơsơK₫á =f sop ¼ < Œ÷Yơø~ơ(ïlî²óh÷Ñö÷·ú¨ưOûbö/ô–ơăôOôưüç |ÙơC —… Å w _ù´ơ¤÷Èôçí²́ßñơ)ôƯôUùüˆù®ơTơ^÷øơ$ö£»ù÷z–›ơ Ú 9 Çûö¥ơ™øHơQîîQô(÷Öô¼ô)ùû÷Ø̣áóö´ô~öRbö÷ñ—!* Åi + ¦ ÿ×ôÁôµö̃ñøë́íô™ơÍówơ@úÛúµö2ôRö¥ö1ô˜úA ´Ù…#9Ï ¢ ùgwú,ôæöíơQî¨ê¬ï•ôÇó}̣ˆơùøëô§ôÊöÇơ´ö"ØÍ„@!~",• W y í;öôd÷ ôƒ́µëăñ#ơ%óẒÈơø öuóBônơëôûĂ ®°ud$Ñ̀ ¤  pư€ô9ơßơAđZëÍíẬ—ó&̣Jó€ö)÷cơ£ô«ơ°ôÛơM¹F™â#ÀÈ « « ™‰ùôö–ơïưë!đSôó±ñó†ö,öüóôOơ®ô{øÚذ5!Ô!3ç § m0÷½ó§ởóï`îẒ¦ôóóyơÄö}ơÈôđơ‹ơôWú [´½ ÎÊ4µ@ Ki÷ôơóđ£đôYơ[ô×ô¯ö)÷jöökö«ơ$ơƠù^åÅ ]똥' ïT´çûR÷ öøôAódóơaơ2ơ)öª÷‹øuøJøWøøºö€÷0ư¨i¹N£„?Wâ S‰È"ưØú°ù“÷öTöèöö›ö¹÷*ùÂù˜ùùùúTúÔù‡ùƒúnÿz¯ ¶ v ¾ Ú Ù n -|cC₫"ưjü3ûú€ùù5øKø–ø|ù¸ú«ûaû¹ûü̃û;ûlúư¼•V D s ¨ +Z8Đ­₫1₫rư”ü*üæûÜúdùüùàú­ûAü»üµư—ưZư&ư¸üüưî₫ÁE¹LƯ®¦Ëîÿơ₫v₫ßưưäüÿû—ûüû„üPư^₫,ÿ ÿ®ÿÁÿĂ₫óưưQülüJ₫XP– TJkƯI.4¡Cèÿ<ÿˆ₫Öư`ưưèư‰₫pÿL–¼M#ÿßư¼üû ú©ú„üe₫5ùU–ÿȃ蒇‘Üi qÿ_ÿVÿƠ₫ÿÿÉÿÔÿhÿ•₫ưªü¢ûcúîù úùú ưÿ=ÿràBŒä\D–®±n âÿ)ÿ`₫d₫¯₫Ç₫Â₫ă₫Ö₫t₫¬ưoüÙûÈûƠú́úñûœưĂÿÑ&…Ü3‰‡Mƒ¬Øđkíÿ̀ÿ±ÿ"ÿUÿEÿOÿ^ÿdÿ«ÿ·ÿQÿ‚₫©ưøüÿûNû+ûOû%üÈưàÿcÿF›(‚~êJË㨷*¿ÿ™ÿ‰ÿ„ÿçÿ Œÿ₫ûưbư,ü[ûàú®ú₫úaü~₫0?oá`ʪ/}A´¶øˆtWÂÿ ûÿñÿ÷ỵ̈ÿöÿˆÿ ₫†ư?ü«úFúÊùWù:úüDÿ¤®'½2ºVâĂÚ!t¢ç*[iF=GÊÿÔÿàÿ;,ÿQ₫@ưßûûØù̃øCøèø¼ûÈ₫"o”áNjWVvˆzÿÿCƃ¢p9çÿJÿeÿcÿÿC₫9ư?ü@û‰ùiøî÷å÷>ù¢ü䜷f œơ;y¿h^`ÿøư₫Ó₫‹ÿáÿH8S´ÿÅÿØÿ²₫0₫øüùüûơPơ‡öùơ:÷&ü»[À¡ ¬  G+c´‘ÿ—₫zưÎûaúÓúµü—₫hơq¬IYÿÛưúûJúÎø öKôỴ̈ ñ˜đăóÿü 'ÉAv E ơă¤<üơ¯ó¾ơ=öøôIöŸûpoø‚T¤îbưñút÷]ôỤ̀{đ»́ ́eíÆí¯ô¼t‡$ơ2À!\&ê;û₫ ûsíëă è›đC̣ÂđJö¸  ‡ ? ¤ x®/ûQøâôöïª́ZëRê±èçàèáÀû0Ư,J-:$&{1`,4vúÖö£úRñÇß%Û/çíṇ̣̃*ûàÉ I 7t ,¬Óù ôsđüí<ê èdèèé«èơç₫ê·ô‚ K%£3/—(1-¢1_"é.ö÷RöèQÛù̃́âñđđơđô Æ Ññ` ÊZ¦ù{óöđ¶îlê¡ç¼ê íÙêæ_ëÙơ<ư¸ ›!x5ª3ï'Û&X,:!#ơ¢ôô èwƯ€á$íqñ‹ñ£÷ä ‹ b™? µ­ÿŸû?öḳ!ñÏïDíüëứ~îîÿíyđÑơzùJ›†-n0Ơ&N#(F#@úâó½ô‰î2äÿáyêḅtơăøJÙ è Ü Q ‘ óœ±₫Ÿú÷Uơf̣dđ‹đáñƯñ³ñ$̣·̣*̣ụ̈©ơ³úœqÍ*œ'³ ß!2$éEKøˆö¾ôíÚæ«éBñnơ ÷¶ûŸËuy¥èÊvöưSưƯü=ù́ôËô%ö¬ơ¶̣êñ8̣DñŒîđùó÷Üi—&Â&°B ‹$õú;ùøđCè¦êṛ„ö÷½úm:WbÜ0€6ƠÏ̉]ü·ù%ø ơrđiîÓïêđ¤ïxîÑï1̣¿óIơàÿ“&Ñ(î"É!Q$«™ nûY÷âöyñÍêEë‚̣á÷·ù₫ûZSb̃®Dí₫₫¨ÿøđ¶ü²øøơ]̣5ïAîï#ñḄ®̣+óÇôª÷Dưb /!'¢% ḉÍơø¸öóơ„ñ»íGđ¨ö}úhûư;3y?0~Ö8Sÿc₫â₫Ù)ys…û{ö?̣™ï\îï7ñyôö¼ö÷ăù÷ự9 b'I"èƯŸ Gûzó…ơ,ơ₫îÙẹ̈aúü ûøü‡+Ùôfÿ>ÿdÿïÿÍkŸÎ+ü]öóÊñçđtđ̣ö°ùƒúMùêù ư¾U (Ï {ñ°Ñö ₫ßơ¶ôªơ"ộ ơ×ù6üü4₫F-¶â#ÿÁ₫³₫Ôư_ư—₫ x>ư·ú5ø@öâồôRö̃ø×úvûIû û¬ü†ưîư‰ÿ÷ ú ûœûzù¡úµùáöÂöúơüưîü©₫¢%í)+g#ÿ₫ưéü¡üˆưđ₫˜ÿ«,“ û4øOùùƠơ½ôßøNưhü´øCø“ûÍư¦ư₫î» Èg΋:c 1₫úWûvûqù®øû‡ư^ưUüIư!ÿÿ¼₫ÿ Ï₫ ₫,₫o₫á₫&orak±º₫Ưù'ù’øµôƠñăô^ú ûr÷†ö7úÛüµûûÖ·ç+ñ:´2 k̉&ü/úúªùëøPù̉úÚû#üưÿ¡JÍoO§ÿÿÄ₫x₫§₫.ÿ²ÿÅ­Û/ÿ#úø ø§öôÀôUùHü¶úÁøOú²ü¶üäü :[ ôª²¸+ >²₫ăû<ưÑü˜ù‘øRû]ư5ümûÉưW ÿ(Ô5-ÿ˜₫0ÿà₫æưQ₫ÖÿÆ^¬Älÿ¦ú<ø©÷×ơ‡óˆồø£ûíúïù{ûrưXư%ư×ÿơæW –ôI€Ç 4 z ́pü%üưKûÑøjùü6ưIüüƠư ÿ!Y‰7ÿp₫æưËư₫¦₫Êÿîc₫Úúœùøîô>óóơzú=ü#û½ú ü†üƒûü«ÿ#µơIä C*; V«ưư¤ư_ûjø°ø+ûăû–úŒúéü,ÿ•ÿQÿF‘M—₫Ưư>₫Œ₫ ₫%₫2Fó̃ư†û±ú¬÷ÿóôøcûûú¿û9₫‡ưûÅû‰_ç“\ (ÈsüáƯ uưKûăüü1øpö ùÛû]ûú°û,ÿÓ6{V4Pÿn₫„₫r₫₫€₫\}ú₫üBúÛ÷“ơ¦ôöØøåúUû‹û¿üïư¹ư;ưä₫h¨,Gcßà«  Bû´û÷ưUûzö`öÈúư;ûRú’ư?V½ÿ4"\o£₫>₫m₫1₫©ư¶ư'ÿ“ú´Ó₫¿ü­û—ù6öSôäơù›úªú‘û›ư₫¾ưWư ÿ˜“Ê¹× ó Œư'ûÊüĐûß÷pö©ùư˜üûĂüh¬@¾ÿ@́çưsưÓư2ưüküA₫´ÿƒ¼©í₫vûÁù4ùă÷öĂ÷îúúüăüøüf₫ÿÛư-ưLÿi)J|#®¶ÂŒ ÍÔûøûÇü¹ùö>ø5ü¹üXúpú́ư@eÿ«₫d(^GÿG₫&₫{ưYü¿û́ûÇü.₫nÿ÷ÿ̃ [ Éưîû~ü=û”÷öKú ₫Sư.ûyüYÿñ₫lüüü¶É jÜ28 …Ôûü¨ưåùûơ!øçüÿü»ùJúÿYÿ¹ưJ‚€ưaưî₫2₫vû´úñüÆ₫/₫Ÿưiÿß·ÿ7“j₫‹ü°û£ù‚÷SøûIư.üjûưm₫̀üÜúÁü ˆ 'ÖYƯ sUÿ#ü}úùü÷<øùyú°úkûư…₫=ÿÜÿ…¼ÿÿÆ₫₫đü¡üZưüữưâươ₫qÿ·m̃+é₫åưåüăù ÷¹÷û°üsûgú¦ûôüü6ûxư\´# S؉³ó .ûüªú‚úßørö̉öÓùqû‹ú’úVưëÿÖÿ ÿ wǘ₫kư³ưâưDưÆü_ưÛ₫F´<»úƘ₫ßû5ùûö÷1ù®úúvú¢ûOüsû[ûT₫i›Œ í ^ ¹Âü(ú ù0ø¡÷Œøoú§ûûû°ü5₫tÿ¼ÿĂÿ3ÿ₫Àưªưư…ưêưÓ₫áÿ‡›fƒ KôH5₫¼üËú·÷9öô÷_úú´ù~úJü…üƠû]ư«•I 'óC O ¼VưSú­úPú,øÀ÷…úưüÀû…ư9û₫MÿĐÍ%ÿ0₫£₫́₫M₫áưn₫iÿSu­[©qÉb¿ˆÿá₫³ü­ùÜøú•ûEúlùüúmü ûeụ̀úÑ₫±t# ©†¼— + ä ÇcưĂüùü©úøûùlüuüMûöûÑưh₫₫¸₫ÿÿDÓÿÚÿßÿ"ÿª₫?ÿ›ÿă₫¨₫₫ÿ#iaÿ?"³$LÛºă₫¬üü~û`úûùûüÖûûJûàûûûcü̃ÿF ă8: a Ï*₫¡ünüƯûû'ûKüüü½ü¯üưÀ₫$ÿÿ₫+ÿ¯ÿ±ÿ́₫8₫L₫½₫Û₫̉₫ÿÿĂÿĂÿÖÿóÿ¦uQ’ÇÿÆ₫cưû¬ù¨úLü]ü°û=ücưưJû™ú)üÀ₫-D) Qƒ³  Å3ÿÄư?₫iưfû2û?ưf₫!ưüû-ưû₫̀₫ưÛưyÿïÿ¢₫ư ₫ÿ¹₫ÄưÀưù₫ïÿÿ¶₫ô₫1 é¸nt ÑÿËư¸ư+₫ư–û4ü₫O₫¥üưû÷üư³û•ûO₫i(ë Ç ‚  í Æ7Å₫fÇÿÈüüF₫ÿ ư±ûÚüäưöüüíüc₫₫₫ôưz₫ê₫ë₫¨₫‘₫₫₫ ÿÄÿqÿ¡ÿ§u-w0ïỵ̈₫ưđü#ư®ư₫W₫½₫Kÿbÿ”₫®ư¯ư₫ƯưËư7ÿ¬’=̃ â à yṽhSX»ÿâ₫:₫₫äưoưưÓüüPüYüËü@ưưîưS₫†₫¡₫Û₫ú₫Ú₫Ö₫+ÿÿœÿmÿ}ÿ mÏÿµ₫u₫Ù₫f₫Sưgư¸₫xÿÿÿÅ ÿTÿµ³ÿßÿƯ[Xê¹<>0âüđ‰¶ÿ®₫H₫f₫A₫¿ư^ưBưưÑü·üóüDưsư²ư3₫¯₫̀₫Ă₫î₫ÿÏ₫v₫m₫{₫J₫₫!₫Y₫|₫€₫₫̀₫rÿîÿóÿ$ư¨q*¯O,Ü,¶Æ†‡ß-רĐ) aZ§ÿ@ÿ1ÿÿr₫÷ư'₫Q₫Äư:ưưĂưAưÇüúü-ưæü´üèü ư1ưXư–ưÑư ₫F₫ˆ₫Ư₫Bÿ¸ÿjM ®3Q?€ ;èôÏ\Ö8º™6Ôÿ×ÿ?ÿS₫ ₫₫©ưưÑüñüÚüüPüüÙü¿ü”üôü‡ư§ư¤ư₫¸₫ÿJÿŸÿ#¤ạ́BÉD¢½§‘wtr<4%´hL×@æÿpÿ&ÿ<ÿ*ÿç₫Ú₫ơ₫÷₫é₫Ö₫Ï₫î₫÷₫È₫Á₫ÿ ÿØ₫ç₫ÿÿî₫ÿ<ÿ?ÿ?ÿ_ÿˆÿÿ“ÿ‘ÿ¼ÿßÿÎÿƠÿKEWˆ£¨µÈç >[D8L<óÖ wRûÿåÿ¼ÿ—ÿÿuÿJÿOÿZÿ3ÿ#ÿLÿTÿ&ÿ)ÿYÿ]ÿ@ÿIÿqÿ‹ÿˆÿ‡ÿ¬ÿàÿèÿÙÿưÿ549WG29>4*%,4*(0(4+0CG?:71$ ïÿôỵ̈ÿ÷ÿüÿêÿæÿ́ÿ́ÿ̃ÿĐÿØÿßÿÊÿ¶ÿ¿ÿËÿ¼ÿ´ÿÉÿƯÿÜÿàÿöÿ)1-.:?4/42'"  ₫ÿøÿ́ÿäÿáÿØÿÎÿÇÿÆÿÁÿ½ÿ¿ÿĂÿÆÿËÿÔÿ̃ÿéÿóÿưÿ #/768?A9564)" úÿơỵ̈ÿ́ÿáÿÜÿÚÿ×ÿ̉ÿÎÿÏÿÎÿÎÿÎÿĐÿÔÿ×ÿÛÿàÿçÿ́ÿîÿơÿùÿüÿÿÿ !&*.025420/*$ ÿÿùỵ̈ÿíÿéÿèÿâÿ̃ÿƯÿƯÿÚÿÖÿØÿØÿÖÿÖÿ×ÿÚÿÛÿÜÿ̃ÿåÿéÿëÿîÿôÿøÿûÿ !""#%&&'&$" ưÿùỵ̈ÿîÿéÿæÿáÿßÿÜÿÜÿÚÿÚÿÚÿÚÿÜÿ̃ÿßÿâÿåÿçÿëÿïÿóÿơÿùÿüÿ₫ÿ  ₫ÿûÿøÿôÿñÿïÿ́ÿêÿêÿçÿæÿçÿæÿæÿæÿèÿèÿêÿ́ÿîÿđÿóÿöÿùÿúÿưÿÿÿ  ÿÿưÿúÿùÿöÿôÿóÿñÿđÿïÿíÿíÿ́ÿíÿíÿíÿîÿïÿïỵ̈ÿóÿôÿøÿùÿúÿüÿưÿÿÿ  ₫ÿ₫ÿưÿûÿúÿøÿøÿöÿöÿơÿôÿôÿôÿôÿôÿôÿơÿôÿơÿ÷ÿøÿùÿøÿúÿüÿüÿưÿưÿ₫ÿÿÿ ÿÿÿÿ₫ÿ₫ÿüÿüÿüÿúÿúÿûÿüÿûÿúÿúÿûÿûÿûÿûÿüÿûÿûÿüÿüÿûÿûÿưÿüÿưÿưÿÿÿÿÿưÿÿÿÿÿ ÿÿưÿưÿ₫ÿ₫ÿüÿüÿ₫ÿ₫ÿưÿ₫ÿÿÿ₫ÿ₫ÿưÿüÿûÿüÿüÿúÿùÿùÿúÿûÿüÿÿÿÿÿưÿưÿÿÿÿÿÿÿ  ₫ÿưÿøÿüÿÿÿùỵ̈ÿøÿüÿøÿóÿúÿûÿ÷ÿüÿûÿûÿÿÿûÿûÿûÿùÿ ÿÿúÿ ưÿ üÿ₫ÿùÿúÿưÿûÿ÷ÿøÿüÿÿÿúÿ÷ÿưÿưÿ ûÿúÿ₫ÿüÿ÷ÿöÿüÿúÿöÿ÷ÿưÿÿÿûÿúÿ₫ÿûÿưÿ₫ÿ₫ÿ₫ÿưÿûÿ₫ÿüÿ÷ÿøÿÿÿüÿơÿ÷ÿÿÿ₫ÿ÷ÿøÿ₫ÿüÿúÿÿÿúÿüÿÿÿ₫ÿ₫ÿÿÿưÿùÿÿÿÿÿøÿüÿ÷ÿøÿ÷ÿôÿúÿöÿưÿ₫ÿøÿüÿúÿûÿưÿüÿưÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿ₫ÿÿÿ₫ÿÿÿÿÿÿÿ₫ÿ₫ÿÿÿÿÿ₫ÿÿÿ₫ÿ₫ÿ₫ÿ₫ÿÿÿÿÿÿÿ₫ÿÿÿÿÿ₫ÿÿÿưÿÿÿÿÿÿÿ₫ÿ₫ÿ₫ÿÿÿÿÿÿÿÿÿÿÿưÿÿÿưÿưÿÿÿÿÿûÿüÿüÿÿÿ₫ÿÿÿ₫ÿûÿüÿ₫ÿùÿüÿüÿ₫ÿ ưÿ ₫ÿüÿùÿüÿüÿöÿ÷ÿôÿúÿûÿ₫ÿÿÿ÷ÿôÿưÿüÿ üÿñÿùÿêÿöÿæÿêÿîÿëÿ₫ÿ  ùÿêÿéÿ̃ÿäÿÑÿêÿ &#2 ̣ÿöÿéÿçÿĐÿ»ÿéÿ ! úÿèÿôÿƯÿâÿÉÿÛÿÖÿưÿÿÿ CN7$&4̣ÿñÿÀÿËÿ¬ÿ­ÿ¼ÿÚÿ!7;ÿÿK ơÿçÿÓÿØÿ÷ÿçÿîÿúÿøÿñÿÎÿûÿ2ÁÿD %0=™ÿßÿÂÿçÿÚÿëÿ+'+ÓÿÿÿÜÿÆÿ^̃ÿ¤>;¢1‡ÿ¤ÿ÷₫äÿ4¾ÿ$T'Úÿ Ăÿ~ÿ¯ÿ×ÿ Q ÿÿ̀ÿªÿẠ̀ÿ{¢ÿªÿZûÿ_\ÿ\ÏÿŒÿ9Wÿ¼Ÿÿ¥ưÿ¢Hÿ>ÿæÿYÆÿ}!Rÿ³₫#>O8LÚü4ÿ‰•Zÿ3₫ ÿPÿ­ÿ¯ riqÿr{ Ă₫ư‡ü€û ÿ ÿưưe₫öÿÈ₫6Bï®ÿáèóêQ$s„₫Ë₫vÿë÷ÿùÿÖ₫)₫Ư₫ö₫oQÿ›ÿjÿ4ÿà ÿ3₫Đÿ·ÿÁÇ_ ç\è2*óÿTÿªÿÿCưŒüûóø¡öóùñ†ñ’óươvù³ü ©[$2.-÷"¡laú·÷<ơñ÷îëZëÍñ¯ù¶₫Ví₫®ø;ôỤ̈Jñèí©ë¸́UîƠóơ÷ü—úÇ >3JQ‡@b&z₫ơëßêæ$à)Ü̉̃ß®ûá^$_Åtøn÷ô”ê‰äyêåê–í=đrîfă«â„êḤ¢úÿŸ5ăO3YáG ,~Œđëíóæ§àXØôÜoàqùT—₫| }₫s÷Ïü4øH₫a:ư•÷SïçÎÚØ Ưdâræ¡êzîÂñYNüibÀE'‰‰öø6åïÎ…Æù׃åÖÂ¾ä    ₫*ưTÿÓ÷ó₫‘üÓơ`ékçwƯ®×gƯ›âÄăæă4ó9ø/ÛLôjK^ÅA-+C àơJ̣yáÉwÆú̃üî[Ÿ¢ü ² hÿ/đëUñ˜üJwPFîŒäPÚÊÔSبƯƯßëÖöwÈ:)h^gåN3ù¤ôŸæ̉8ĂºƠ4êú_dêÎ ưN1öôçyíC̣™Ă úØíFçăÙ†Ơ¥×iƯữé¦ó ưcªT,k‹a£B((׉ñµízÜ`ËÁÆ7̃të 3Ьó¦́óøFÛ ¾‘óíOâ(ÙrÔiÚ ßĂäݱô‘ÿM(ă[ÖjƠ[‰;g!₫dô.ë¤Ư†É[Ë4Ü:́å$ 0̉b  –ö^ôlöÆưó3 ¹íî5æ}Û“ÖƠ®ƯxßQäÓé̀ôÛ(;Zk4]̣?Ü'¶ú§ïUâ+ËÇÍÑuàö” | m‘;ÆưkûưÜQ«₫‰ñévàÛÀ×9̃=áWăøåOïƒụ̀‹;î\qc€Pă; !u‚ûêđSàwËÆáÉuלệ¾u´O|G,¢ ;₫÷eî¿æpßÏÛØÚ̀Üâ«ç´ëgíjô/ưx b&NEmT$Nƒ>g+by ưô¹àƒĐqÈ ÊÈÓçÿú=Ô ç) Q§ư^{̣ªæCß÷ƯÔààăúæ éeí8ï{ôåù  ́R.a4c1,­@ñÜmüwñoçtß…ÛVƯßçóñTùư8•Äè ‘iµ< Êù„øøöö{ơ^ơ¦ơSơ©öùlüÿưV₫Ë₫z₫V'₫K û µLI Ï ² QBÿ)û•ø÷¶öQö4÷à÷úPüsÿ&{lJá²åÆĐ] K}ÿƯúÁ÷ợ̃wñ?đeïÓîSñ«ơ-ûJù$ù  ; o D Đ Ï@7̃É®dgOÿÿ.ÿW¤˜CQ”o.¿₫ư[üíúù6÷Ïơ\ớơö0ơéóDó ó ôAöù̀üđÿ:^E ÿ :~!vÇ Đ 2;~ư=ÿªưƒüCüŒüư{₫́₫Ÿ₫₫ưiư¤ưÅư-ư3ûnølơ×̣#ñtđfđÊđûñ̃ó“öúj₫íư\ ́ ›^\wjUI ñ²¾ÿÄưËûú‘øøtøÆù¤û~ư‡₫b₫ư8ü`ûÉú´ú]ú·ù‡øy÷Ùö˜ö|ö_ö¬ö ÷¡÷‹ø´ú»ưsW Oµê[̉éM  ÷.;€¿₫çü3û{ùøp÷ú÷mùGûGư²₫…ÿêÿÿS₫züÿùÓö´óZñưïÄï™đ^̣~ôóöúÙư%#f í Û `®5o–c,  ²(ÿưÅû û‡úZú́úaü#₫ÙÿÖ²FÿLưWûµù„ø^÷ÿơô3̣lđyï}ï…đ ̣×óÓơ¡ø³üŒGS Ư ­|b4¤Å,Ô zÇ{8%₫ üƠùơ÷9÷Đ÷‰ù–ûqư₫–₫­ư[üûƠùqøyöÚó–đ•íÔëÙëhíđ2ódöZú ÿ›̉ ûw̉Ÿë\¾aĐ ’Ù4üü[úMø´öFơÁôƠơøàûº₫¨K‹ª₫¶üØúÏø)öó˜ḯé¿è”éäëVï óÿø>ÿÛU ª®PNfµ­sÈ ̀ü‡ÿ¤üBú’ø{÷yööG÷úAưÙÿ{«ˆB₫Êûlù÷7ôñåí´ê‚èáç6é³ë(ïióÀøÿ¢* v—ÿa¸na’çâQ bײ3₫íû*ú"ùZøÊ÷Áøû́ư¿ÿ̀mÿxü!úÂ÷‚ơ’̣ºïǵ=éíæ‹æÿçêVîp̣Ó÷çûLZ)Ó’ƒuøĂâΈ©ü1üäưưÿư7–±Ó đ @ ¥ÿ’̣1æß̃™̃óâÆå®å]äWâºàâBé₫đÓö®ù$‹ 2(,‡2O2¶)é1áü ; JÑ₫9ù>öEúî‚  ™E•₫Jü₫Ù́'W÷oí0æhăOă¡ă âẪ̃àEäRè<îiô<úƯ₫æ À3d@G=x3̉$ïḥ ë ̣¯÷̣2ơªûÎ Æ 6ˆú[ùkû½ưC₫´ÿjưºùEô(ñ±ëeå7ßAÜ×Û̃Äăaæ7æ=æXîúÅÊ K0,@mAi8,2¥)Ñư÷ö—óuø«₫Rè4Ÿ@ú¸úwûÎû‘ú5₫{|ÿ¶ú ôïëưáxÜíÚÜ ̃²â^ä ä|çẸù₫A 5‰0Ù@ëAy6d'æî 0w›ûôtóëúEî»\ÿÆø¹öÖû₫µüHúhÿ÷æ›₫Ṿ/ç.à÷̃ôßkà(à¶âÁ䋿ëé„ó]ư`J ü 1s@ ?!2R%ar6¸̀ø ̣óüR4´Öüƒøøùư{ÿÛü/ú¼ÿΜ{ôëéªâûáûâ¸â1àÀáCä9ç›ê;ó~üZG›Ä-Đ>`@23x%_x"ûøđqđ•øÎA-_úK÷súơư[ưJûWư9 ¨ĂûTîBäÂàˆáÓâ@â)âxäÜçMë‚đÍøwœ́ ‡!7´@á7g)pkH ±”ư»óvîƒ̣Sưn‹LLư®ù±úÿÿÇơ₫+ü×7ê₫2ô3ê“ăaâ-äƠä\ă!ăÇäÄç«́“ôAưđư ø0R?R=“/P * RÜÿu÷đ¨îµọ̈(µ ư2ùGûoÿa×₫ÅừJú†₫ôHéânàÚâ¹äªå¬å£æ¬èrîe÷²i eà2>¿8º+äÛrÄ̀₫÷ÛïàíÆô“ư/Zm$ÿư#ÿ–°ư³ư@óY₫éö×́~ä¿á§ăưåGçÁæ4ǽæ“́töVºIH1H:£5ˆ*«•mưÙ₫*ù´ñäíËñAù;?oOÿÿ7ÿz - ÿJưn₫Üÿ§₫§ù—ñ—émäñăæåNè’éÖézéëQñVúâs LŸ)43]+f"´)…¢lû8ôîTîdó‹ù»₫Đé$?¡XCÿVư’üüIûbø·̣üë•çæxçké¦ëaíÂíZï ô%û½Û 2H&;/."(­ /Ée ươâî¯íđ’ơ û·ûÉ—QíTAR.˜ư¿û ú6÷¿̣¡íàé–è9é6ë¹íđñÓñcôèøÆưÑ~½Ơ%(<%m  ßü\ơ ñVđ̣5ơú.ÿô¡BofLüt$üº÷rórïí~́à́û́í6ï…ñ?óßô)÷¿ùü{ ",U![ ’Ö)‹ „ k₫̃ü¤÷Ôọ́Ụ́÷Oüµ™ÔP[Ü=+úHômđƒïđLđÇïˆïEđñạ̈5ôÍơV÷¶øœúñÿæçÄ5;Ø!¡y › ö Çg!ûÎöDô¥ôï÷ưûÿÑÔy`Ü:\k'0ûöóRó<ó’̣«ñ$ñ@ñ½ṇ̃Jó1ô ơAöøü7m †ˆ§Y?‚ Ă Rdû!øơöRøû£ư5ÿ'ߘhe;n6qûY÷uơmôJó/̣ŒñRñ_ñ¾ñX̣ó¾óÉô|öåøFư[ éqq£1Ä  — GuữùyøXù„û“ư¾₫cÿĐ£ĐŸê`æ ưÚ÷̉ô`ó'̣́đ‚đüđÏñ¡̣‚ómô9ơö‡÷«ùËü0Ù ̉… `ê q P ÷ .₫<úøü÷₫ù„ü)₫é₫’ÿ’–º́½ë¬½ÿpúÚôÓñªđ¼ïï·ï¯ñÇóyơËö‚÷®÷Ñ÷ÑøÁúm₫Ö ¨–ßËÙû ø  :Óư¯øªơÿô´öñù¡ǜư<₫jÿ‹°®à¢ y Ê₫?úAô„ïö́ ́Ë́ïḍ÷ôjöM÷̃÷Døúø¶ú@ư5‘ £ïÈËÓ;Æ ÅûÓô8ñÍđ½̣%öÍùü ư¬₫2’Ô ß E ̀Y=Mkÿˆù|ñ^êææê đ6ô₫ôRôô¡ơÆøưÓȵ T"8&?$t@Z >ÚĂüÁó×́óê†́đ­ô‚ù!ư@ÿŒ̀# ü±  Z,«ưföîVèÄæ<è`ëgî„ï„ïđ#̣®ơúÓ₫Ñ{ &“'ô1•0(·„ÀûG÷‘ë ăŸâ(éđơÍø*ưÍ"(àP ïE₫ÔüPưư·ù3ó7í́Nîăïwî ́ùê2́ÉïẬjôªơ%ùmÿ« ½”1 <¶6~*}"L\¾̉ö̉èĐƯ¾ÛÚâí„̣¯ô£ú?ƒ§F¯ ¼;ÿ̉ư+ú½ơôÍô»ơºơ—ơåó"đgí íMíṬ́ë”́pîtóÚûDX’$.;bDx;,4!^«Z÷ è½Ü=Ö ÛÜçAótùRÿ PG¢ èºưôùœøåơ₫̣'ơüYçÿ>ü_÷…ñ8íçèGäăÆæÇêǘ±̣t₫ơ ¤w-·F0K„9H&¶Ă øúçëẫ»ÔcƠơä¥ơSư=^ é›èÛ ÿSơÛó÷öỢ₫ơ^₫AÍ ¸I Àß÷ăñ„ê¢áf̃ñàüäVêđùô@ù₫ ´5*È?wE!4¤d?‰órèéß‹ØøÜjî ÿ`5 n | ̀öÿ*ô|îṛ ø-ú üsÿ®Ä ƒˆV L@øÂíaæÖâ×á˜â¡ç/ïÏô«ö&øyüI˜ †%@;?·0•[ ûuñăêPàÎÙ®â=óø* \́  ñưù'ñPï]ñëöÙ₫(43¯ ­”ø ÛMô…ê­æHä´äŸè́eđ:ö}ụ̀÷èùn+£ ‰b7z=p30"YûƠôCï'â]ÜÔăÖđ ÿŸ[% n 3úôîŸí¥ö̀₫=ñû Â[ Sÿ÷ñĂêé&éêíóöröÔơ‹ơGøDÿg8 '9<ă<₫/¹-öbó²é‹ß̉̃fçụ̂p+ º ¹ÿLú&̣äëFï¾÷~₫°W ¶uóáôë è6é•éíZđµ̣Tơ@÷Kô–ô/ø ÿĂ2N<6:Z+‹‹áù¸đnåßlà{çiø dÛ×À ưNù¿đítïçôÖư*̉îè p­û úÿ ơívèwç‚éºë_î̀ñnô!ơnô™ơ-ùÎFy¼2ü:x7 (`°bûPñ½çâjáŒæ ÷<«;5¸ l£ü»ơñPïỌ́²ú±ÿ1sV ›’̣ )øíáåäçAé ́Êî`ñĂó;÷ïú‘ơÛ "ü2(82ƒ"I [búñ>ëæåăaçaö Um K‚è`mư`÷8̣ụ́`÷èûÛùöa á ï 9øẃøä6äâåÊèĆIîđô‘úI8 ¿ ¿Ù*33Z*çîưzơ)đäë¯æ3ä¯êáô@ ® ở³Î€ơüA÷'ôÚóø2₫ [Güô₫í&êèæéî6̣bơ™÷ùù ₫O_ &³(%-Íy ˜ü`öï(ê‚éúëpñ·ø₫B^} ¦ í ¯lüCúeúvûdüvû^ø ơ¬óØ̣–óŒôèôöǿúDư¤₫ÿOÿçÿf̉ï ny·’ ¬ Y UMÿSú°ö:ơ­ơÀöö÷*ù úĂüæÿÉơdÊ>£ׇ₫†ûÜø2÷ăö÷ø…ø₫ø¦ù¨úû.ü±üưGưaư¡ưÆ₫”‚1NÆ)Ü̃ ë  P 5äºÍ(ˆè%,8Rÿm₫}ư«üÚûCû,ûûúûuü»ü»üüdüüÍû{û₫úiú´ùñøRøøøiøüøÙùëúFüøưưÿ+#Úp ₫ x ¡ U_§ ] á n àmkÿeư¶ûaú^ù¬øNø/øsøùËùlúÚúû û!û6û0û́ú`ú–ùƠøBøø_øúøºù­ú·û ư₫₫V¯àÉV ¹  6 ,<P ̣ r  ¶8•²¢₫âü{û€úËù4ùÚøÄøúø‰ù&ú”úáúûûùú×ú™ú)úˆù¾øÿ÷‡÷i÷¬÷Qø<ùSú¥ûJưiÿÛ>]* Á ó  ë R/| _  ¿ fơOj`^ÿưCü9ûnúÙùdù(ù>ùzù²ùçùôùÚùÆù³ù‰ùDùÈøøY÷½ölö†ö÷Í÷×ø'ú¿ûÅư?ƯS„O Î . v ’h€±l ß 2 u›Ÿu;1₫†üXûú ú¦ùjù_ùiùnùgùLùùûøÛø©øXø×÷÷Kö‡ơ ơơơöö÷}ù:û_ưøÿÊ„ñù ® ; ºWüñ^ ¨¦‚#¹ÿ†ưÁû“úđù¯ù§ùËùưùúúÏù’ùaù<ù ù«øø÷ûơÚôăóOó;ó¼óÑôböQøŸúoư§çă| ´ ¸ ®yÙ€=&_: Ó ¢[Ö&ưƒûúRù-ùkù×ùSúÁúñúØú˜úIú₫ù­ù0ùaø;÷Ơơbôó$̣´ñßñ¨̣ ộơjø—ûPÿ qh ö W´ë£r#Áÿ|  ½IƒÿÆü‰úù~øø₫øœùZú"û§ûÓûĂû{ûû–úçùåøŒ÷óơEô­̣nñÅđĂđpñẸ̀µôO÷ÈúĐ₫Ó|° € $¾#áŒÿE°̃+ (•₫×û»ù|øøTøêø¬ù¨ú¡û=üüvü#ü®ûû=úùm÷ ơÁọ́³đ đđßđẒvôq÷Yû¦ÿɉΠ¸ „9‘8̉ÚÖ  ^Ơ&ư¢úßøøï÷døùïù û ü§üèüÍüeüƯû/û0úƠø(÷DơOóñTđ̉ïđ/ṇ̃́Yơ¼øíüBTø! ú¹JI5Ô"`6& L µ.p’₫éûÄùiøđ÷.øĐøù©úÏûŸüưưÀüBü°ûâú»ù6øhöwộñđơïŸđ̣ô ÷̣úTÿiĂ « ^ơ8©ăÉsV# $ lón¶ÿ ư·úù*øø£øbùNúwûyüư2ưưüưûLûXúùm÷—ơ¦óáñªđ%đpđñTóÎơ=ùmưµ®; H ưñÆ—"g™bH kâ}óW₫ăûƯù—ø$øoø(ù ú*ûOüưAư%ưºü2ü”ûÇú¢ùøOö_ôx̣ÿđ,đđàđḅô›÷û%Ü Ë `Ùl—qÔ˜ — ó,–ÿüüúóø!ø)øÍø ù›úÁû­ü/ưGưÿü}ü×ûû0úéøZ÷‡ơóÂñqđäï7đ]ñBó́ơ—ùîư&s h +Ë4ÓKv‹M' GÅUÍ-₫ ûùSøé÷Eøùú@û|üFưƒưLưÊü(üƒû³ú™ùø8ö+ô)̣‡đ¥ï›ïjđ̣lôÈ÷üŒ³s ]÷qẰ„́¿| n ÔntÿÑühúø«÷½÷TøRù~úÆûËüAư?ưåüNüĐû(û>úùø:÷+ơó ñ¹ï;ï‰ïÜđị̂ömúÿbX ™ Z ƒ+—«>ù C •*ƯTưáú¼ø|÷G÷Ê÷Èøîù7ûwü'ưBưùü^üÍû+ûhúPù¶÷¼ơ˜ókñµïÚîêîđ̣6ơ‰ù3₫‹› A @$¿‰$d́f 7Â₫Xûưø^÷̃ö,÷ ø@ù¾ú@ü#ưWưưxüÙû+û{úuùç÷öÎósñ}ïiîBîbï]ñkôµø†ư"l p §pSL¹Z ;v² ₫@ûÇø÷Növök÷¾ø3ú̉ûíüEư"ưüîûWû¾úâù{ø»öwô.̣đï–îî³îhđMóª÷¡üz U `i[“ÀeZçÖÍ OS¿J₫hû³øö“ơ©ơĐöEø%úü\ư²ưxưüƯûûÁúîù:ù´÷åó!ñ́́›èăăÏâăÔéåơI¿ ?&<%¢ û} ­ jpï÷ăä©́EøyH́‚ „Dà²ù|ị̂¬ưP ßÑø äÿ̉"Ï Ø°á—ç‡äܽÙ\áụù ü)7÷C PKü;É$́ªăIæ§ïæ̣‹÷•úíª M$ đđâ¸̃©ạ̊äúV₫¶₫́ÿT xåX­éëÖ#Ó•Ưüê™ó˜ôUïè́Ơđ=ûéBÊbç,úA=L?%'(wëơâăéXëèí-ơ72«# ÷­çƯåáëî÷d₫ëư‡ưîÿ­ ‚"Dó ;ø è߈ß$ávâÅăßådëỊ́đøö₫¯U6 t R5̉GWH/2¿Ïúq́‚éJè¦èmææ#ócơˆÊÎåñ̉êuîçôéûÏüĐûgÿ¥l‘#"(ùôßsÓyÑüÚæâ|æèè¿é1î6÷Ä₫!K ù 3 †1 C4G¬3ứôè?èĺ?ëUë.ơ^óS”ƒ̣¦ê{í´ó¸üfư}üÊưæQD%Íÿ¡êÙǛÖqÛêß)ă«æjèî1ö€₫ø̃ ‹+́0’A´G®5§ óíơèáçïënêÀé ñ›ü 2̉dÍôWëûëḄ„üRÿ5ÿî₫• ·]¨h(ïsƯ¤ÖđÙ˜à`åÏçWè—́ŸóJ₫›ï‡  ä0¤>ÉD¤2€,₫ëzæ;æ ëÏë7ëNñû( éN¯ Î÷§́HëñÙû÷ÿ¨₫¾ÿ= \!^ ØñR̃oƠÙà6æèlè¸êc̣ưp´ Ø# /L>“@F/ƒûëå×å[ëÍëôẹ̈úè "=^ Æûëñ'îợ5ü ÿ›ÿqügưéüD(2 ̣†ƯԌ׋̃·å(ç4çNè§đ'ư í "Û.Ø53@=5m(Z÷ˆê₫áå¡èäêkđXö\ #q ‹ưæôđ÷ôCù–üèư üçF‰p–ÇđÜÜÔµÓÜçăºèÅêªë‰̣ ₫; œ˜2&:@DÉ:à+y©X÷Eè‡ä&áăàµå©ïåú\ Ă÷Åÿ$÷û÷°ö¹ö÷àöqû9ơ¹£m ÄúÙçƯÙ¿Ú¤ßââuåèAîuøÉ²/ă:HRD3$ àû́$å+à³Ü<Ưæ)đ²¾n±Í ‡=ưuüú)ø(ö©ó'ơH₫}›ª ưÖëØă!Ư‹Ưàá5â¿å+êlù€< 6HDDN¼?–4|O Xû-îlåƯÛÖUÙ̉àïÀl 0(. ®«3ÿúoơ”ñEơÚûÙêÿóëå1ậâpâ§âïăçẶ̃0®3.H³LĂC6" íU•ø€ëbß2Ô¸̉Ö:åô₫h v ¯Ä I . +Íÿ?ùS÷÷̉ù¡ùöÑđMêæ­äË凿wçç¿é$ï>û—œ( A{IäFè<*(ßiùÆéÈÙχÉÊÑJƯlí û†ñ ư ܙ’µ÷ đoé†ạ̈âỴ̈̃ƯÜỗaâ…è$íöô€úÆä+ºCëHîIÑ=w+àÁ ¨ëơEçhØͯÄxẸ̈Ó:æfơ®E ` Z$\'#Pr ÿø®ë†̃¨Ø3׿ÖưØjÚ Ư’áèïûâ £#˜2éCaDöEÍ8ú) 3ưùđÂâØñÎ"É@Ị̂̉ ăÑï₫Ñ -«!"ô%<*D'yôưÛíÆÜ»Ô(̉̀̉×?ÚôÜáaå í‚ù: '%7D²BcBK4}'̉ú {₫̣˜ă¿Ụ̀Ï)ËíÏúÓâǿœùásN!È&‘,₫*ö#đ¿ạ́åà{Ö‡̉h̉ÖÛÙưÛ‡ßÇâØéươU’5$*4@ö>Ô>›2'{hV`÷Zèß Ơ¶Ïø̉‰Ơsá³êÈơœ n8#ä)ơ*$æ^“ơ&æ¶Ư.ÜRÜ ƯAÜpÚyÛZà–èúơ?Œ•«'2ˆ4´7:1“)CÛû;ïùç°àÚ”Ú›ÙQàzç9ñû.: >`" ) jÿëñ{è7åwă?ă¨âŒáá¨ă¼ç_đø§ÆËº%”)H-d)g$«p Ơ5ü ôÓ́å2ă_áåéé’ïMö†ü7l ;ĐĐ9ŸÚïùṇ̃”ḯ́½ê˜çáæ?ç]çCéÏívó½üy´>H#»!3GÀD— K´ư~öíîÎëêrêkíï†ó×÷qüØVÆ ¥ë+û¡ §˜û!ö“óyñdï}ëFé€è©éEíJñ÷₫ÿ0 8µÜ—Uá› 3 M"uùó—đ™î¡ï.̣“óÛölùwüJ4³ ›́<Ø *ứưHù:öỌ̈¥î́•ë ́Ẃ́Pîơ—ü'™1iiX[ ØJ\ lư÷̃ó»óỊ̈Ạ̊G̣åñ ơ\ùO₫R ¿ >ơ–% ]₫÷OôEđ×íǵ<ê&é·é‰é2îªù©> ˆîui¿sĐ ü‘÷éóHñˆđ{í́6ï$̣̃ø²ÿÎÁ¶ îo9¿‘ú.ôgđaí»êç̣â8áä]éúô† i‡SèJ! »Ïû ŸÏü[ơ×đ,í™ç‹å¼åèïnö?ưU @ 굌_ Îù²óùíèăTƯMØÂÚáJç2ơ©Ê íJ#Ñ%0(ñ)(]"̀,C ÷’ï>ç¶â¼ßïÜÎÜ%ăî́ơÿL½ ªXĐ(C(•ѹù^̣Ưê´áÍÙÜƠưÔ>Ø‘àẃfûh 6ăă Ñ&m*m)_&Úh¸ưô©́Gæ,ăåáă£éñIøưO! A"ªâ / ăÄ́tüú‰ùOù÷|ö#ö~ö÷÷÷́ùèûUưûư@₫‹ÿrê [eæaḍBº”ïkà 4‚ÿ‡₫wưư˜ưO₫̉₫ ÿ<ÿÿ´ÿ€ÿ"ÿÈ₫N₫…ư©üÛûPû/ûEûûüơü ₫ă₫’ÿ2ÔWzŸÁ¬©¬Áµ­÷u½Ñ¡¢ |P>1úµ¨_ÀXÿŸ₫æư ư„üü»ûûªụ̂û`üÜüRưÜưs₫ÿÿ&µkŸv{{eBâœ@âÿÍÿÙÿ;…ÇúI™Â¿œU¸^Üÿ%ÿw₫úư³ưư…ư¨ưäư4₫¼₫eÿ#æ’ư2N>̉aßH‹ÿƠ₫3₫¸ưsưcư„ưĐưH₫Ư₫{ÿ¢1­$ÛcÀsÿß₫w₫'₫úựư₫r₫ÿäÿ¿zv˜k¸4‘åÿHÿÆ₫p₫;₫*₫F₫‚₫Ê₫ÿ|ÿÓÿ!Xw‚|mLÊÿyÿ?ÿÿÿü₫ü₫ ÿ-ÿjÿ¾ÿ}Û-j…ˆsL"î­dÊÿ˜ÿxÿkÿlÿxÿˆÿ¡ÿÇÿíÿ &=L[e^I)Đÿÿiÿ1ÿø₫Â₫—₫€₫„₫¦₫á₫/ÿ‰ÿæÿCỴ̈8lŒvLă©l1ûÿ×ÿÀÿ¹ÿºÿ½ÿÁÿÅÿÎÿÛỵ̈ÿúÿâÿËÿ¶ÿÿyÿPÿ%ÿÿú₫ÿÿ@ÿeÿÿÂÿóÿ(^‹¢µÇÏÑȵ‡n_QIDE<- ôÿäÿĐÿ¸ÿ¦ÿ’ÿzÿQÿ3ÿÿÿÿ%ÿ8ÿIÿhÿ‘ÿĐÿN§À̀ÚíëÙºƒQ#îÿæÿÛÿƠÿÛÿúÿDemriZ4Äÿ~ÿ#ÿÑ₫…₫I₫,₫!₫8₫Z₫¢₫ÿÿ'–́.P[CÇ]èr ÿ\ÿÿû₫ä₫́₫ÿEÿqÿ ÿ­ÿ¹ÿ£ÿ…ÿ|ÿQÿÿÓ₫§₫q₫{₫₫Ù₫3ÿ¬ÿ]ơœ„ÿÔÊjË2‘îÿ5ÿ₫ ₫—ư<ưưư ư<ưrưéư€₫ư₫tÿƠÿPÔ]Æ"íܹ+æ®–†‡}vm…°ÉÍ•^íÿ¿ÿˆÿFÿë₫₫5₫àư¦ư.ưäü‰ü8üåûÀûPüôü}ư4₫å₫Éÿ&cÎË:́KpOªÚEZ€ÿË₫ÙưưưÄüjüüªünư-ÿUe¼Ë ,,2 ÿ6ưåúâùœǿö÷èô]ơ,ơ#ùüüßgælD Z¦5‘  Đ÷¾Ñû"ø–ơ#ơTơgơ’ö•÷wú´ư‰÷|“ú=xưÉù5ö°̣ûđïµîÆî`ótù†h b•¿K¢Ư?¨•¹ßưâ÷Çñ́^è¤èŒëƯïsơ½ù₫±i × 'ÚửøÔójï ê´çéå̃çuê)ô³üÈ‚oá `&&6%9 d ±œú¼ó́[æaá¸ßÔâMè}đzøÿ0N Â:i c‚ü)ö₫đ×́Èé‚å4äŒäéàô`z–¼í"%˜*§*U)J ¸°^üVôpíhçáæÜÜ“àéóµü³‚ ¾ oJ \̣ø™ñjí‘éÍæYăÅâ&äAëNø£¶@%W'8*Ï,Ä+ª(Ÿ,§;÷èîÉègă§̃“Û%ܱá‡êâơBÿƯÚ đ1T(ÿơöÜï~ëÊèÁæåå\çí|ù¥y¾‡& )Ó(+»(˜&S·B÷lî‰èIäæàl̃ÿƯQâé¡ô]₫ƒO Å §Ơ˜ ÍíŒø̣ñ.́EêEèÓçÆç‡é"í°ôR ˜é!§'z'·'Æ&V$¸  ?uơí†èøäûâ6áâêåứ«ö[ÿo3   O ]ÿ³ø»̣́í́€êë«ë‘ímñ]öR} ơĂ?#¨#º#Ú"\ ‡_PÀÄû|̣¨ị́èXçJå“å’çäëuóúDàÜ€; LjüŒö³̣“ï°îvîÿî¼đ…̣ötûv Y¨LVơ€‡ä ̀sư2öbñíªë éééYêî/óùüư³}N 9±’ÿ1óđîbđ­îüï¼ï)̣ëôüf0 cÓ! ½´®Äâ²ûóíêÛéÿéḱ.đ‰ơ₫nS Û gùÿ„ü0ú,öÏóIḯ"́xëíÀí„î¨ñîơ'ư©l Ë>".3O0i)ëPù~ñÿæ á¥ß]âë́ôsư¶bfê—HÎñÆètçÈç‡èùæÇæÖê¨íƒđï¢í¼đ1ø×³ H p&!Æ0Y@1=„1#nJ₫²óí7ä Ü̃ä\̣#₫…øq ­!üz àÆô|́Üêê˜è…ç&ǽë6đ¡ñWí_ç¬éọ́Ç© ¬¿ Ü̃.A¥F4ë!9 #ÿÖøÔí¤æ³Ü’̃vêö³x„}ÿæváđRÿLùựÎëë}é»ê·îïđ`ëUè₫ê#ổÿâ\Ī#̣1ÛAQ@œ-TàSö;êEăùƯ™åêñæúnưÿ̉”.ÿ7”üÇÿ®hË ti₫ơœîứÊêKê÷ê©́¸îớúéØêgñ¥ükà!>0@ç@0bLưIô¾ếäeàaæ̣?ûï„ 9ÿ…ưº₫6ü:ÿX ä ’W₫Sơ¨ïSï"í ́TëíïṔ×çñå¿́€ûæ»™)¹. ?²D¡1—X‚ük÷jíèå›à¡å–óZưÁçJÿh5ÿ·₫Fù¦÷T₫„k"‰úyóóơïjíé–ébî¨îDë¸äKätđÜ₫5»#&ư6ưG?&o(ư0ûÎó^é8ăµàiíëúÀóüv₫ˆd¶ÿƯöFölû± Ö*ûàô~̣\ïáêäUå ́/ï†íưä“ăî₫Uÿt".È;§IĐ8ˆ#M Ăû¾ùÎí³æ}á}á(đuúee₫¾.y₫'öI÷€ú• x@z Oư@÷ạ́‹íøêïâñă+éT́‚írçzæ₫đXüËî°m0^;ơî́öê|äÇă_çoêé́“ê¬æïÓ÷Ä ³•.6öDæ7"'ƒUÿvùíâåKâÔà¡́ÂöAÿ ’rN.°øöÙöû¦ ƯÊ *‚₫ûô±ïœénä̉ă‚æ éŸëÍçê³ñT₫9w.)2|>²?(,v ­&₫5ôÎæÑăß,åÄñé÷˜1#ø=ư₫ư9øeøë÷l₫“÷ 9Àê ¿ÿGôơí#ç|åxâFä´æé₫èQíḷV. '/I5ÉAƯ6*îô ®©đoäoà̃¡æï‹ơûưÍÿµ7 ½¦½ÿJü`ûúC₫ơb.’ Ä‹ÿ÷qñ°êçÛâ}ă?åBçÜḉ(̣©Ô ˆ%0œ8ÊAÜ5 ,Áâ ̉ïbâƯĐÚăZêDñzúÿoT $ ¹ Zï•ÿùûˆừư|æơ!\ù]ôǘ8êzå8ä9åÔå‘çÆëPđóư;Ê-.|8´A6z.‚!¿…óĂăXÜX×ỹäMê—ó½ùđf ÷ t ‹¨,ư™ư ¬èÍưæø¿ơ đÚíépæùæ¨ægéǴˆïyú‹êM)$6K>Û4½/Ă$̃v ú§é^ß×Û̃LăöêñUưà­·:î Ö•ïÿ³₫:ûçúÉ÷iôḳ…î.íZêµè~éUéƯë¿î¹ñmúrÿ;ö"Ó0}8|2Æ.l%£ÏØỊ́æmÛ«ÛDÛ™̃§ăbè´̣₫/îÀD/ó °gåûD÷÷̣ïºíjêéøçøç+êđë,ïṛÈô¯ûxÿ“å'¹1¯.Ë+h%›ZX s₫ạ̀ûäBàơỮéáÔă‡é̃ñåú]z+cMÂ:®F̀ưĐơ)îëñè¢ç₫åVä×å®é°î‚ô²÷múœÿ[ø0&+­'₫#VÊ c Ó"÷-ë¾æ̉ä]äæ™åÆç'íœô¸₫Êç GÛƯgÉá –xù3̣gî[ëè~å“ă‡åÈé¡ïrơ3úÛư×Ư–T¯¯œT±{ ̃̃₫­øfóHñ­ï›îưíƠí.ïẹ̈êöăûïÿÈ  ø ' „1ư!ø*ơhôơ"ö‚öOöö>ø‹ûbÿr¯‚ 3• A ñ°‚M6¾°ÿÊ₫F₫]₫XÿfCÿù₫’ÿÛ[Đ`9Y1x–Æÿ2₫ü„ûzûü|üˆüüÍûBüCư¢₫²ÿ @E«-P6ÿ—₫d₫ª₫à₫#ÿÿ,a¦·ˆĐ&_…*§â*̃ÿ³₫ưßüAü¼ûjû.ûpûüăüÙưŒ₫.ÿÈÿVùM6¸åÿÿO₫‡ưÉüüÀûÇû4üçü¦ưz₫Oÿ3)ê¬CÉhÑß’(€ÎÜtåÿ€ÿï₫t₫8₫1₫s₫À₫ö₫EÿÿïÿFb\¼ÿ;ÿ₫âưXưưèüĐü¿ü²üÑüư~ưăư=₫£₫+ÿÉÿpqÎ BZ`[F(ầ²’qD-'=j•»Â™\ü_ÿ»₫.₫̉ư›ưyưYư:ư3ưLưưÄư₫H₫“₫ß₫8ÿvÿ®ÿÓÿáÿôÿùÿ%Cf€•¦Äëô %^µù9P@Ú’)§&«ÿQÿù₫°₫…₫d₫e₫s₫“₫Î₫ÿ[ÿ¤ÿ̉ÿùÿ ûÿùÿƯÿÄÿ£ÿzÿmÿgÿgÿrÿnÿ~ÿ€ÿ†ÿ“ÿ•ÿºÿÚÿhªç5MP@èµS0Óÿ›ÿ•ÿ„ÿXÿJÿ~ÿŸÿ°ÿ̃ÿ&K;-A6 ûÿúÿôÿáÿáÿơÿ̃ÿÑÿ̀ÿ¿ÿ©ÿ†ÿ„ÿ’ÿ¥ÿ½ÿ̉ÿ̃ÿăÿîÿûÿøÿüÿ ,2($"!"&2=GJD6! đÿÏÿÏÿØÿéÿ1@IQ_ZN<$ùÿèÿÏÿ´ÿ¨ÿÿƒÿqÿcÿVÿgÿvÿ…ÿŸÿ¦ÿÇÿàỵ̈ÿ<_qyfX<"éÿæÿêÿ$5FFT``XV]]bXE:#̃ÿ©ÿ{ÿXÿBÿ=ÿ5ÿ3ÿ?ÿQÿgÿ…ÿ¡ÿ¾ÿêÿAV[R?,êÿäÿüÿ(JXf‚ˆ€‰†‚‚uoTL=0éÿÓÿœÿ}ÿkÿQÿLÿWÿXÿRÿcÿ{ÿÿÄÿæÿ ôÿÜÿĐÿåÿñÿÿÿC@IMN`|pxOR8 ,êÿâÿÜÿñÿÎÿëÿ¼ÿøÿÿăÿ“ÿÙÿ°ÿàÿ¶ÿ×ÿóÿíÿüÿ…ÿ÷ÿTÿÛÿWÿ3ÿg@ÿ yÿ#“ÿœÿư¾ÿÿ«ÿ, @&ô‰ó| \úuóÔ ­ÿd ]üöÿ‡úüưû÷ üëøÿĐhÿ€ÉÿJOđÈö{”ÿ, ¯÷ÈÿîøÛû¸/ mư÷₫`ü0₫üZú‡ÿĐÿsür4‹ưR)₫4ü”ưêüƒA₫¿Xÿ?Lÿ´"₫fÔ₫;ÿ₫₫†₫å₫Xÿ¢ÿxL₫kÿ̀ÿÓ(DÿƠÿÑkùù¶û!G₫¥[ư[îÿcûp;₫*­ å¥ÿ~kO₫åèÿz^ư”ÿÿaư ¦Üư`₫fưz àÿÁ½ÿÊ£âÓÿ¨ưÜùûÛú+₫¤úaư?üè₫“vû"{ÿ+Å †ưÆíDÿïüù ₫9₫ô₫ª₫…ü;₫Êÿ‰₫ 2ÚÔÿùm~ƯRcÿwî₫₫ÿưŸưøüˆưü“ü@₫Öü·ư·ÿå₫¢ưºÿlưëü–¦o¬ù0 ¸®²r k?ü?¼ưâ]üû‹ü“øúœøÚø8ùn÷Ïø•ø÷‹øÀø”øÏùVúdüËûñưR₫áÿ É`OG ø % ° | lÛ «×Fvư¹ùÈơëơ@̣öđ1ó¨ñ/ñoóönơP÷{ù]úÊùáû{ü ûFư8ưÓư·₫Zk ×j ¶ = · ‚\NÂä™ ú ó]rưøùơ–̣KórñMđCñíñ¤ñƒóïô5ö ÷;ø»ùơù›ùú¢úÈû§ü₫-ÿϰm ߘ à˶Oîz piºú8øậÿđơđàíMîĐïGïËđ®̣eơ†ơG÷ úÑù«ùû™û|üüIÿ Œ÷§ Ü ₫:‡­–@à̉̉ ª;ÿû öó0ñÈđ¥îxï4̣›đ¤ñÅô•ơfơ~÷>øC÷ç÷0ùbø̃ù̀û̃ư#À₫  [ƯØYƬƯLRü²ú9öñèô₫ñ̀ïô%ô“óºô3ö̀ö÷r÷{ø¨öƒơâö×ơñơ@ù^úPÿ?E( ® qAOn¢Ă.®d÷úú•ơñ”óyóOóPơ\ø&ø.ø1úºùä÷KùIùCöîơơô@̣Ụ̂ôtơÙ÷ư^ÚD–¸}̀-<F> 1¨ưBô–ơ ̣ëbï^óặºơŸư₫nưăg@ưÙü¥û£ö]óYó˜đ³îçđỢ…ó4øyưW © <À¼ #µ´âcÍỵ̈ơđóñæéß́ đæîmôăû5ÿBt† B#Ÿü´öæôéï í(í ́—î˜ï ô<øAûÂ#¬ -ß+@Ă&!8ªŒ °ÿ]ö¶ô—îºæOë¯íjẹ̈¹ùüËu ̣ é ƒ e{û'ôèî,́ÛéZêHêcíœïṇ̃#ù±ü «Đ HU Ư*Æ"ù’½ œĂø×óîØåMéÉ›é‘ñ–ù‡ûæ  Ï bÄ Ô >ö₫ùîô›ïêpèë­êêöññ3ôüúPÿU_]!7#-D¤G  “ưë÷{óªç‚ătë€çÔé̀ö½ú­ư¹ï í Ñ ¸L 3@øb'úÿ'öhđèñ"îè,́›́Ôê‰́˜ñ,ó¥÷Dư }ê3)Í.Œ!«#XcøúẒªåơâÅçăëç(ô#ø­ưñ̃ê ©'uPÖùbüü˜öù[úĂóYóÊđíḈÝ₫́âíîˆơS÷¬ˆ$K3Ï$D'^%Í ÿÿ¤ơéç-àÀäÇ̃àï"óPùǪụ̈5É Øë§øÅó9ö9ó{ôû½ú>ûÓütúúô™óợ,ï6í×ñđ'ó_øRÛºA)D.M"w)U#΢ÿÔñå¿àmá£Úßá2íïïÂù"× AÏHÿ ¡ú ÷ñ•ïóöVøéû*ƒ₫̀ưåüaø+ö¯ô×đNñÜñ ôàơ©Ü­P!+Z%W#Ưÿ8qô%çlâoâÛÎßÜêtí%öX2 sôŸ÷"/_ûº̣/ñ[ñ&ï,ô„ơ^øwûüügû„ú:ú°ößö÷…ơQø™₫j™ £-%¸ÆÆ!¼t zôúÉîê{ç/á^áIêḰ«ñ4ÿ s=µME’ > ₫Ô÷ṣBñLđºđPóAö-ùơúÏư3₫ứưûü|ù ù́÷÷Q÷H’ ³F—‰P"Y P¤ụ̂́ïî¹êØăëåëë.̣yư¤b×ÿ¨< "°2úé÷Zô©ñ%ó™̣ô÷¼øïúüYü)ư:ü[ú^ùhø`ùë÷ j q “­+ Ơüiơ&̣œ́¤æü韀ë³óúûî₫Ưxöȶ ₫‚è₫›ür÷qơ)ơ«̣€óơyơ¨öhø¿øœù\ù1ùXø»ù§ú>ûô9 Ơ :•)tè XüP÷@ó£́;é́Vëb́¥ô;ùrư`ˆ Ä–é₫ ¾ :eÈÿùXöÆöưṇ̃¨ô¾̣uô™÷ÄöMø:úQù*ùúûü“û– cî‡}¾nª «ơú‘öñ‘ë{ë ́ăêËïăơăøM6 aƠªáß / Eûưö÷Bụ̀̉đTóđ ñ(ơSôJö ù+ùƯùÅú ₫Œửÿ¡ | = d=jÓF ceăưûJơXïỨGí]ë½́¨̣¤ơüùx9ñ ?gƯÑRW? j©ûöü]ôÄñ ó¶î6ïj̣ÿđôMöX÷dù¹ù ư₫ÿ‡ó J M(TMØ ¸mư"ùóÓî·íÑ́$́_ïûó öư<Jz Ö6Ç& P Jvÿ‰ơ‰ơỘ(í£ïpïJî2̣mọ́ô³÷Êøü¾ư–Æ~ "†à–¸fÑ ‹ ̃WÿµûĐö½ñÛîëíríÇí|ñ(ơÎø°₫Ç ¾ ÏA%_¼©î÷Iø°óếˆïåíÖëdđ@ñj̣Köøüú©ư_ÜX¡®ắ¼Ưié_ … qXưúô‘đDï-îÄíáïƒóOöÛúÊñ  F Í —8üqûkóäïvđ®́́ïªïEñzô´÷§ù8ưª–;²ÁNe " Úÿü\ö­̣UđFï îËîg̣®ôß÷¨ưkYG K C r– 6 ûUèüiơbóñqíáíîéîœđógö¼øYüèVÊ{s;k ö;o j úSÿưg÷:ó4ñÖï®îùị̂ñÔóøö‘ü¢ÿ̀% G 2 Ê [¯ư~öOơñ/î‡î¦ííî5đç̣,ö„øôü"Nè·w2ÍYW¾_j „ ³³ÿưb÷ô9̣¥đ´ïUđ‰̣|ôi÷|üÿRœAé M5 > ${œươ÷ơơ*̣”ï ïîDïpđựÈơuøüBQOOl;]|åû6 Î4éư›ø̣ôKókñJđ×đx̣7ôB÷?û₫ºåÄg Ä V P R +*åưgùÑöỤ̈_đ‰ïËîïPđ£̣ơøü¶ÿD"Ræ8-:¾6 Ͱg₫ôø¾ơ¬óïññÆđụ̀Tô½ö%û‰ưư!¤ ́ J û ùrO₫ú÷ó ñ!đơîUï¯đJ̣(ơfø|û*8¤tÛ Ï(–Y P È%Ăưùéơ\ó2̣íđÑđ óNôªö́úŒư®$q¸ '  H øV÷¼ưkụ́öMóØñ+đ%ï%đæđæ̣ öÛø‘ü çØ ¼̀Cl†!4 X hUüZø,ơAó<̣ÁđÅñèóÄôÔ÷@üâưÚÔ^ ‘ L Yăÿ~ü¤ù§ơ<ọ́]đFđ=ñ˜̣Äố÷êúÙ₫fïh é .\Ï¥+Ö ù e2cÿû–÷÷ôïóỊñŸóµô–ơKúWüÆ₫t.íZ °×6a₫íû–øiơúó=̣eñÏñ ̣%ôÉö[ù­üf̉  ø_0tä ¥ Ơ Á¼₫ú÷ơEôẸ½̣ôçô’÷öú±ü¤T¡¿VߟÊô¼ưû÷Zơ$ôçñ7̣Æ̣4ó—ơøÇú*₫¢? * b 3³ré, ̀ ¬)|ưKún÷öñôŸó‹ôàơfö@ù̃û¹ư "EÏơ_ rÖÿ¹üÇúê÷Öơ`ơ~ócó³ôWơ¶ö̃ùCü₫_Ù$¤ d ÷ ̀ä ïÆ 2 ï Ä€^‰ÿđüÊúüø øưöîö‡÷oø‰ù[ûGư ÿ3Z,ưyY‹¥ưuû‘úßøÈöđö·öơơ§÷Zø8úÜûÿư<ĂßSû Ê» ( 3 °  ‚&ÏCuFu₫×û]û¯ûbù‹ùjû^úRû£ư_ưÜ₫q |Ù̃A ÿ¯₫{ụ̈û-úƠú\øđøŸùÇøªúơû}üÉüC@¹9Aæ"ŸRŒyxÄpçøKíÊơÿ}]₫©ưMư«ư¤û%ü¤ư=ü}ư ₫î₫nư(₫¨„ÿ/ÿÿ!₫êưzưaû”ûÙü®ùdûƒúZưTû‹ưn₫µÿ>₫çđoÈѾí•í0ƒ8däºTRn à†ÿ§b₫éÿ#₫ư¢ÿƠü¸₫–ưÿóüÂÿ=ưÿH₫‚₫4ư`ưĐ₫†ûÿü{ưÄûüóüVưëûWÿ)ÿäư‘‡n™₫̃ê׈n)#ˆëÎï~Ü ñûÿ°&LpüϽÿMưîư`ÿ|ưSüÜ₫›₫büÛưÿ;₫#üĂÿÆưW₫¿ưë₫;₫C₫ûưa₫iú‰üưÖưƠđÇw₫`!œw₫ôưºÿdK³má\ÿËÿZˆ₫$åÿó%₫H₫~û«Cÿ„ưr§ÿ+₫Ùÿ›ÿÿvÿ₫jÿë₫‚ưÿáü¦ÿÆư×₫&ÿ©4₫ƒÿ>‘ữµÿªôÿÊÿï d;XÄ₫’ÿ ¨₫ă½Ñüg¬¿üÙw₫F‹₫U₫ø›ÿ¹ư`Á₫ëÿa₫ü¶ÿrü̉ư²¸ü`+₫×èm₫ ‘ü“ØÿÄYüYÄÿïü) ưØîÿ?ÿÚư}Fû”8₫29ưæ÷₫̉ÿ~@íưˆ ü6çưăÿWư/¾úéÛưU¢₫#ªÿ₫&™ưC²₫ôÿä>₫7ôü©~₫suÿÑ«ÿTư;¬ûư "ưp¡₫}~ÿÚ₫7Àÿÿ{ülBøưFdÿ₫0D₫‰₫ôBÿ¶₫n1€ÿjĂÀ₫«₫Ø ₫ Œ­ü?+ÿ36₫g̉ ư ¸Ñ₫:₫yÿ2Ô₫cÁúhÍưY¨üØ´_ú8¶üS_ư+ưÁ₫),́ư?ÿœ ûí|ưÑ%û·¸₫gŒ₫’₫üy úh>ûH¿ú;₫h₫Øÿàjư¶4û,‰ü-çÿ6¦G₫QF]üæüË₫¿ÿyưü?^ưỸü¹1₫÷¡ÿq₫‰Æú;₫LjÿøÿÜÿ2NÿTäư.:ÿ‡ư¥ư^Æ₫Aÿ¦²ü·Yư¬₫>ÿåÿÖ/₫+ùlØøzWưƒü.múr¢ûbăư1ÿéưTs¯üt3¡üẻûâ™₫…©]ư6W₫R²₫§ÁüK_ûÎùÿư[úưé ư³ư4$üsä½ûÿñ₫49ÿSô₫Œ́ÿé₫hvư¤ ₫ÿ/ÿºéü·ÿXû§QûpF₫/₫ö₫ưÎóüiügÿzË₫Dü–ư;ÿ.¤ư=S₫QÿvªúŒªùÜø-ü?ªư&‰ùküÄ4ǘlÿüú )ó½ ­ổĂùkÛ÷ë¢û,JøÙóø<üàßÿB₫BCú°Áû³₫Âÿ-Ñư®>ư¦‚üRîúÿmÿ†ÿ ơo ²÷²aú°¶û"±§ưŒ$úH úrúµûü½₫~₫đ°üÂ1ö  ơ¯;ư|ÿl®ú æûƠm₫¥&û’uưÑÿ­—ưư{6₫.´ü÷ơÍùæ úÈzëûi=ÿqÿ±±₫ØŒ₫‹ÿèÿFªû‰Z•₫Ṇưvÿ<ÿ₫ˆ*ûÍ{üoJúZ¨û3+R₫@ưeßúKöœ§ÿ$üùê|ûûưàôßú²ÿ#ù 8ö%Åù<‚üŸ+0 û! ïúï –₫Á ₫*ÿù‘åöÊ Üï Àó,ÿSú¼ÿÿÏ₫û"¹ơùBơ³ù—ÊÿúưñÔü!ưĐú[,Ùư ÂHüWbú›₫3Lÿ—e2Am:Åqâx₫Io₫—›+ù ă÷öÿüeû’ÿóư(ü ÿ³û™üQù[ŒúHùü’ÿéư”GüÍç₫N®ÿ'#«ư¤ ²ư%ĂÍ'₫2™₫]₫&Tû`øÔ₫­ưDûúj₫R₫ø•èùD₫”¸ùWăơÄZû\ư€úøóÚ›ûăûw₫öëXüZ·₫Å m₫; 7@êCÍJø ÿ8mưóƠû̃Æ÷)°ø‹Çú"ÿ\ưç₫{üÊư£·ö¬öfû„ø= öMè₫¼₫ăØ₫gQ%¾₫ íüöù#Z₫­ÿµQư­ư–íûBÿí₫{ü÷wÂùe_û₫̉öVÿÍÿ%÷Pùp ¨÷’ö­ ü&*₫ƒÄÿcưñÄ₫ºÿơüZDư₫₫¼ư˜ü‹û÷¿LùçÿD₫Ë₫ÿí₫«ưzLÁüÆ.̀Á½ÿ₫ ©¢ëÿ ŸøïÙ©ÿVÿ®úµƒöG àö*ú$ư¾ụ̀üƯư₫¥ù¡ñü‹₫À₫?|ưôÑưêKÿåÈÿÑC£b̉ÿéXpĐưVjÿÜÿ”ÿ.₫ÿ~₫¢₫Ơ₫Ñưê₫<₫lü _ûw₫Àÿ„ú vưñưÁÿư\ÿÿ±ÿE”€§áêĂOSJ ) ‚‡enjÿè₫ùưyưXû«ư$úZû£úúpú®øèúÊù÷úÛùbüÁúưÂúÿÅübÿ1>Áœ3QƠ ¯ U *è X ‹¾tKNÿ"₫¢ư1₫ƯüîûñúÛøPǿ÷nơ/ö=ôïôơtóÚơ6ơöø¿ø&ûŸ₫­ÿc©t®À['lx§ ƒ -%đÿí₫ưÈư2ưÏûûưŒ₫bư9ưư·ûªølö₫ôẠ̈Æđ(đ¢đLñƯđó~ôöô÷Ÿø‡üdÿØå ”~=Ù-B æ ƒ[jÿ₫=ư£ưưü[üvüưoư‹üư+ûñø ÷lô.ó%ñèï›đÀñ_ñỊ́uô¿ơ¶öxùXưb°°- nrHC ó <+KTÿ¶₫ ưïưüÁù‡ûŸúÀû2üùüNÿpü û¦ú%÷ÙôỊ̈™ñḥñó—ô©ô‘ö7÷ùéû†₫|@:µÓ¢¶nk º))±oáÿäÿ̉ư…₫ßüÀú1ûƯú„ú±ûÏúµư ư‹ưÔ₫æü û`øö™ơÙọ́SôöDö°ö6øùøú–ûwU a-Ằ ^ ®Ăÿrÿœ2ÿÅ₫lÿQüvû₫û­ûưxüRü)₫›üüfüàưưÿ¢ú´ú û÷ơ®ó¤ô÷5ơ÷ú‚ùLû–û»ÿ5J G’„&+§Pqÿù₫Lÿ0°ÿÉÿƯÿ₫Pưªüxư°ứü_ưÛưÓü®û5ühû/ü"₫ĂưüvûÊùø…ơôFö÷·÷‚ù¬úưử₫€ Pï›ơ½ ̃ÿe₫q¡ÿ 6₫7ư:ư₫B₫–ưíưw₫Eưü_ûjûËú²ú₫ß₫mưüüû’ú?øZö0÷1ù(úWû¹ü₫Sÿ›₫Ïñ˜ ÓÛé Q‹>‰₫·₫xÿîsÈÿ_Ëÿä₫øưƯưÿHÿ—₫¨₫ÿ ₫ÍǜûËû üĂûŒüÆư>ư’üûûËúËùơù§ûzư"₫E₫₫0ÿ̀₫CÿU_ ¨ Ç Î û íäêoa6 ơ#= êÍŒđÿ$ËV·ÿí₫D₫°ưoü¤û•ûüâüưRư­ưSưư”ü¡ü₫ü_ưøưœ₫Ü₫²₫6₫Nư~ư[ư«ứ₫d́vˆu‡„…ˆu¾H¹Rû¸W!˜÷ÿ#ÿ₫eưÑüTüü"ü†üư7ư³ưùư8₫E₫ôưÎưư/ựü·üˆüƒü0üơûßûÖû!üüưAÿÓwÍÉ/2ª'ˆ̉âÙ§Vç©>’ÿÂ₫êư.ư”üüÊû²û¦û̀ûơûüHümü‰üŒüƒümüwüZüYü€ü­üÎüÓüôü$ưaưâưÙ₫Bù‰ö6øPWJIÎ`ÉK|Ä>Ơ^Å!tÿ½₫ñư1ư•üü›û/ûàúÈúÓúóú+ûûü…üÛüưUư{ưƒư…ư›ửưûư₫ơưçưáưÓư₫®₫éÿ$›×´ ́óå)”Ŷ¼÷iàJ¼ÿ9ÿ₫Ûưưhüêûyû ûµú¡ú»úÓúùúNûÔûmüíüZưÂư₫6₫#₫₫+₫U₫v₫₫₫‚₫l₫S₫p₫ÿ+›~³…κ¢¤¦‹GèRrb_‘èIµÿ6ÿ¾₫8₫ưúüzüü¸ûcû.û)û9ûOûxûÆû4ü®ü$ưư₫€₫»₫Ê₫Ñ₫á₫ö₫ÿ2ÿVÿgÿJÿ ÿÈ₫µ₫ë₫xÿb™èơÅÖÍ¿´¢neŸËø9œ¸ÿVÿî₫ƒ₫₫²ưEưÙü{ü-üçû¯ûûû°ûéû7üüư‡ưåư#₫K₫c₫r₫₫Ÿ₫Ô₫ÿ;ÿ?ÿÿî₫Á₫°₫ä₫~ÿºøư ô 3C+âmÉơú G®–ÿ%ÿÈ₫_₫ƯưYứü‰üü±û`û;û.û/ûIû“ûüpüÑü1ư”ưêư₫:₫i₫®₫ô₫.ÿgÿ¦ÿ̉ÿĐÿ©ÿ‡ÿŒÿ¼ÿµ«̉æÇzÿCD(ÀCŸæB°ÿ'ÿœ₫ ₫¹ưLưÉüIüôûÈû¢û{ûjûƒû­ûÖû üjǘüdư½ư₫Z₫¡₫Ê₫â₫ÿWÿÿÁÿáÿ9>M¶||GåY‰p:Î_ÇWm‰Ưÿmÿ ÿ₫0₫Óưxưư¦ükücülükümüüÅüñüưDư’ưÚưÿư₫9₫h₫…₫₫˜₫À₫ô₫ÿ?ÿyÿÂÿíÿèÿƠÿăÿ{ àễÚ!åÊÀ™&x¾VŸÿLÿÙ₫O₫Úư„ư.ưÑüŒüü–ü©ü´üÛü&ưfưxưvưưµưËưËưÜư₫=₫E₫8₫U₫¥₫ü₫@ÿÿđÿASFaÂJ܇T¯»ÏĂ„4úÀYË<ÄO¹’ÿ7ÿÔ₫S₫̃ưưIưçü‡üWügü–üÄüÿüYư¶ưâữưÜưöư₫₫₫1₫`₫z₫x₫‡₫È₫!ÿlÿ©ÿ÷ÿJxˆ¾–@Ñ1>=¶yU*ä*º)|ÜÿmÿÿÅ₫m₫%₫Øưpưÿü¯üü½üưüLư¡ưëư₫₫èữưåưíư÷ư₫1₫K₫S₫]₫†₫Í₫ÿkÿÅÿRgv”ÈŒ®3‹³¿½¦‹Ÿ~Eñn aÜÿrÿÿÀ₫€₫=₫ÑưQưûüàüëü ưTư¾ư₫-₫₫ơưêưƯưÂư·ưƠưüư₫ûư₫[₫¥₫Ó₫ÿQÿ²ỵ̈ÿP±ơÿ S¿ vÛH…s<5g‰ŸpÔ ḱY·ÿ9ÿô₫¾₫`₫ơư¶ư ưwư3ưư;ư‘ưÖư₫D₫€₫€₫4₫̃ư½ưÆưËửư₫L₫₫ƒ₫€₫©₫ö₫9ÿmÿ¸ÿ,·Đ LhkÖ&i®ÿNoZ6'!ăÈ¡?̣_Ûÿcÿÿê₫È₫‡₫1₫áư¦ư€ưyưŸưêư4₫X₫W₫C₫₫âưưzưzưư†ưœưÏư ₫0₫S₫₫Ư₫(ÿrÿ̉ÿG­́ )HdˆĐC±î #*Ư×đ÷ă˰t ›ÿ2ÿơ₫¿₫r₫ ₫đưßưÍư¸ưÄươư"₫%₫₫₫₫ơưÄư§ư¨ưŸưƒưyưưßư!₫^₫µ₫ÿmÿ–ÿÅÿ ˆÓ X´ªºúJ†¸ñLJse8*₫–4ë‚åÿVÿÿü₫Ê₫Œ₫|₫—₫™₫`₫$₫₫(₫₫óư₫ưI₫€₫k₫@₫;₫1₫ëưưwư­ưïư₫V₫Ă₫1ÿeÿuÿ§ÿ[†¼d~x‘Đư4}­¤‡}tOùé̀Bú¸c êÿ˜ÿ,ÿà₫È₫½₫¤₫Œ₫₫•₫x₫C₫+₫<₫O₫O₫U₫l₫~₫l₫:₫₫₫ơưăưåư₫s₫¹₫ï₫3ÿ~ÿ·ÿäÿnÆ,AWiy—ĐNmxs_@óÜ»”b)÷ÆŒPÖÿ…ÿ2ÿđ₫Ă₫¨₫œ₫˜₫—₫—₫₫s₫^₫^₫o₫€₫‰₫”₫™₫‰₫a₫5₫₫₫₫₫@₫y₫¼₫ư₫:ÿ~ÿÆÿ6k¯ñ/@YpŒº÷3[aP;$׺§d;!Û‘?íÿ—ÿAÿư₫å₫æ₫ă₫Ï₫½₫³₫¥₫₫₫‘₫®₫½₫¹₫¹₫»₫­₫Œ₫o₫d₫a₫U₫M₫Y₫u₫₫¨₫×₫!ÿtÿ¼ÿüÿ;n‚…•Àđ"c¸ÿ$4@J># ́Ä£„MÆŸq+Üÿ¡ÿmÿ)ÿß₫³₫°₫±₫ ₫₫‘₫™₫₫y₫w₫“₫«₫­₫ª₫º₫Đ₫Ê₫´₫«₫¶₫·₫¥₫¢₫À₫î₫ÿDÿÿ̀ÿ#9[—ªÏ =jŸá7@?3éÇ´ ~U-ÿĂFëÿ¸ÿƒÿYÿ/ÿÿ₫Đ₫°₫œ₫†₫n₫`₫a₫g₫q₫…₫¤₫Æ₫Ü₫å₫ë₫ñ₫ô₫ñ₫ó₫ÿÿ"ÿ.ÿ=ÿRÿgÿ€ÿ¤ÿ×ÿEr¶ÁÁĂÔơ"X”ÇäçÚĂ©zjU:íÅzX5 ×ÿ¡ÿiÿ3ÿÿÛ₫¾₫ª₫₫’₫’₫™₫¢₫¯₫¾₫Ó₫è₫ü₫ÿ(ÿ@ÿOÿVÿYÿWÿRÿMÿPÿ_ÿvÿ’ÿ®ÿËÿæÿöÿ"<Z| ¿Ôàí$Lx¢¿Å³”oN3!₫ß°v8ưÿÆÿ›ÿxÿ[ÿ;ÿỵ̈₫Ñ₫¶₫¥₫£₫«₫¼₫̀₫Ú₫ä₫î₫ơ₫ü₫ ÿÿ,ÿ:ÿGÿRÿWÿ\ÿcÿoÿ€ÿ—ÿ³ÿÏÿîÿ +Ki‡¡´ĂÏÜï"A\nvsiWD/䯤]9̣ÿÍÿ¦ÿÿYÿ7ÿÿû₫á₫É₫±₫ ₫₫…₫€₫‚₫ˆ₫‘₫₫°₫Å₫à₫₫₫ÿBÿgÿÿ´ÿáÿCv©Öû/?KSXYVN<& ̣ÙÁ¬™ƒjP2úÿâÿÏÿÂÿ¶ÿ¬ÿŸÿ‘ÿÿqÿbÿUÿLÿBÿ8ÿ-ÿ$ÿÿÿ ÿÿ ÿ ÿÿÿ!ÿ/ÿBÿVÿsÿ’ÿµÿÙÿüÿ!FjŒ®Íé%.3/( ơƯ§‰jN3üÿäÿ̀ÿ¸ÿ¤ÿ•ÿ‡ÿ}ÿtÿnÿjÿhÿgÿgÿjÿmÿsÿxÿ}ÿ‚ÿÿÿ•ÿÿ¢ÿ¦ÿ¬ÿ±ÿ·ÿ¾ÿÅÿÍÿƠÿáÿëÿùÿ$5EUfu‚—£¥¤ ™‘…xiVD3!ưÿ́ÿÛÿ̀ÿ¿ÿ²ÿ§ÿÿ˜ÿ“ÿÿÿÿ’ÿ–ÿœÿ¤ÿ¬ÿ¶ÿ¿ÿÉÿ̉ÿÜÿæÿïÿ÷ÿ  #$%&(())(&$! ₫ÿøÿóÿîÿêÿåÿâÿßÿÜÿÚÿÙÿÙÿÚÿÜÿƯÿàÿäÿêÿîÿóÿ÷ÿüÿ  ÿÿüÿúÿøÿöÿôÿôÿóÿóÿóÿôÿơÿöÿøÿ÷ÿùÿùÿûÿüÿüÿÿÿÿÿ  ₫ÿ₫ÿüÿúÿúÿùÿ÷ÿöÿơÿơÿôÿóÿôÿóÿôÿôÿơÿ÷ÿøÿúÿúÿûÿưÿ₫ÿ ₫ÿưÿưÿüÿüÿüÿúÿúÿúÿûÿùÿùÿúÿùÿúÿúÿúÿûÿüÿ₫ÿÿÿ₫ÿ₫ÿÿÿÿÿ₫ÿ₫ÿưÿưÿüÿüÿüÿüÿüÿüÿûÿûÿüÿûÿüÿưÿüÿưÿ₫ÿÿÿÿÿÿÿ₫ÿÿÿ₫ÿ₫ÿ₫ÿ₫ÿÿÿÿÿÿÿÿÿ₫ÿ₫ÿ₫ÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿ₫ÿ₫ÿ₫ÿ₫ÿ₫ÿ₫ÿưÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿưÿ₫ÿÿÿưÿ₫ÿÿÿ₫ÿưÿưÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿ₫ÿÿÿ₫ÿ₫ÿ₫ÿ₫ÿ₫ÿ₫ÿưÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿ₫ÿÿÿ₫ÿÿÿ₫ÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿưÿÿÿưÿúÿ₫ÿ₫ÿ  ưÿÿÿơÿưÿưÿøÿøÿ÷ÿùÿưÿ÷ÿöÿ₫ÿưÿ₫ÿüÿûÿ₫ÿùÿ ûÿưÿûÿûÿûÿúÿüÿúÿ́ỵ̈ÿđÿóÿüÿëÿöÿ üÿ ưÿÿÿÿÿùÿúÿóỵ̈ÿöÿ₫ÿ üÿæÿïÿçÿăÿđÿûÿôÿ₫ÿüÿûÿÿÿ ûÿưÿùÿïÿÿÿÿÿûÿ*.ưÿêÿçÿùÿơÿđÿđÿêÿäÿØÿÍÿÉÿÛÿáÿîÿîÿüÿ # ÿÿ₫ÿøÿưÿ $*M+€ÿsÿ’ÿmÿ]ÿÿŸÿËÿ«ÿæÿåÿEWy]¹™´₫{r₫¶ÿaÿ£ÿÆÿ¯™X'»Íÿ0₫Z₫ÿ}₫4ÿÿ₫­ÿỢÿăư%[ÿIÿ)óS5°ÊInü₫Ư₫h₫3ÿ+ÿ¶ßÿyÿŒÿvÿ]²æÛ,₫ÿ₫qưÓü}ÿơÙ₫2ÿF¿W¢6ƒ¸˜Áo=‚Œt:’ÿ=ÿ¡Ëÿ’Jưø₫ư ưzưxư¸ÿÿø₫qÿÿ₫‚₫ư₫ñư*₫g₫ ½MTEđ‚È]Æ|Ơ;€ÿPÿ´üWüÅưïü³ưư?₫i[ÿtÿkÿÈ₫6₫›ü‡úîù1÷‡÷öƒöP÷Đ÷çöÏü4 : ”ºº(i( \6…û‰úzô đ®ó+ó§̣oơVøg₫½ˆ<:z-ikàưcø2ó\ëˆäâăzå1äGæ‚è•ñ,ộ‘…–"B( --©!‹…±úæîïæ6äÚôÛƯä©è*đ§ø9kQA»½!y ̣Çä>Ư{Ø=Ö¶ÔZ×àäÛíïö¸ %&Y%/ơ:Œ;I9n(ƠƒÚÿƒîă´Ø­Ö̀/ÑÂàÜæ„ñß₫å 4Z"<+A)L"·U•ûåÿ×øỊ̈ÍÎǹƠQàæúôœÿ²¯2¿.v;CDy@›;§$ưAôæËÙTÑLĐĂÇ?Ó¹âăé)ùGAî"Ù )i)$3•C ôfà!ØÍ´ËƠͳÍzÚéàè}ø»)Đ-¥1·9ó@=½ô0ñŸëlêeëzïḳWơâ₫₫" » ̃ Hư"øÈó́¿êǗỨ±́íµñ…ö4øü˜‘”` ̉.‘úØëP#Û ¥̃ û½ødô‚ï•îîDñŒ̣ömưrJí Ÿ ¢*n₫Ăú”÷&̣`đ•đjđđÆđ¬óíö¶ø"ûç₫›Ăeß] àÉgÀ"& v²£ÿ¯üœùơGơfôơ<ö0ø²üJÿă¼b¢ÿÿjư_úûøöô“ôôïô™ôöAøÎùơûˆ₫„³Ó₫ÖÊ × º Ç ü J ơ ¢7?B–ÿƒư1ưûbúú!ûzü‹ü̉ưÑ₫Cÿiÿ4₫øư=ưoü/û#ú·ùù ÷¥÷åøXùóøáùûưh₫̣₫§¾MÖk6đ́ªÎ)àIax£c̃ÿiRÿ÷ÿrÿ¦}Kÿ®ÿ<ÿ₫?₫ưâü²ûûŒúùÑø₫øù(ù̉ú,û!ưƯưUÿ2ÅvOrùĂúj!Nÿ…ÿoºÿ~’ơD9ºC£ §²X<œÿ¾₫®ÿÍư ü›üZüÎü›úFü<ưvưưïü)₫cÿI₫ ₫Ô₫í₫‚ÿ(₫€₫—₫×ư₫Dư™₫Å₫₫Ư₫§₫øv»Øƒ@}©¼¿Eæú¯Yî@ Œ—0Ú¢_Ù5yĂÿ9₫6ÿ₫’ư2₫XüÎü̃úûüûưíü}ưøưÓ₫|₫ÖưîÿÜÿ< DÑúÿ‚ÛÿXøß£®˜æ7uƯÖÓ”[#éơÿ&₫äÿÈ₫đưs₫1₫]₫H₫¦ư¯ÿ=₫cư₫6₫€₫₫Óưtưÿ©ưÇ₫®ư$ÿàÿ$ÿÀÿ mÿm:¤ö[9µ¬̣Â6·a®'LÿJÿöÿg₫₫*Èÿºÿkÿÿ²ÿ‘ÿh₫B₫T₫ÑÿÉ₫Üưäưjÿÿ₫‡₫¿₫wÿØ₫´ÿ<âƒÿơØÿ₫©Y_\ÿF4¬ÿÄí;>gÿ4^₫ÿ̀oÿ†₫«₫8ˆÿGÿ-₫±₫÷Îÿ–ÿÿ£;ÿX}ÿ[»Äÿ ÿÑÿNl_₫ |$ø₫Æÿ̃b=ÿï°ªGơĂư₫₫· ÿ₫IÿLÿ<ÿáÿ)Í̉ÿ”•{¹ÿ×ÿ¨4Đÿ˜ÿÿ:]ÿUÿ±₫óÄ₫ÿÁ)eÿyÿ))UÑÿ¸ÿ̀ÿÛÿ;ÿ9syÿ%ÿj₫Êÿ ¡ÿáEĂÿ̉ÿkºÿ»aÿÅ£ÿ»|ÿDÿ¦ÿÿ0âÿ[±%JÿÿƯÿÏ ÿ¼₫XÿĂ₫ù₫Yÿ{ÿ|ÿ´₫¡ÿî₫^ÿtÚÿơÿ:0&VØÿª(n¿ÿôï“™ÿ×ÿV/eÿ 4ÑÿCIµỵ̈ÿA₫çÿ¯ưÿ ÿé₫æÿ́₫,ÿ ÿ ¦ÿ=ÿ>ÿéOêÿ÷ÿWE!ÿjÿOcßÿÿ¬ÿ́©·'¶QÓ…?½ÿ¶ĂÿKÿGÿ…ÿVÿăÿ;ÿÎÿqÿÿûÿJÿjÿ€[ÿ¸ÿcÿ…dÿÊÿ €ÿˆÿÿdÿ™ÿÛÿtQ΄RÆÛßeFÿÚ‰œÿ9ÿÿ¬₫P¡jf ¦)Kÿù₫/ÿ>ÿRÿÑÿm¹ÿÿ¸ÿp7ÿcÿ̀ÿÛđÿ uæÿ"̀ÿŒ1'œÿûÿ4Åÿ|ÿÙÿ,ôÿSÿ`xäÿ³ÿoÿkÓÿÿˆÿÿ¶ÿÚÿÁÿèÿYÿU_†¥Ø—r°ÿ(¥ÿÔÿÏÿˆ‘ÿPÿ›ÿÿ?ÿ4wÿƯ&®ÿX«t2 ÿ˜ÿgÿ~ÿû₫AÿvÿKÿ9Ùÿ£ÿ=iÿXÊÉÿ5)êVÿ½¢Æÿ5ÿÙÿæÿ[ÿq6.•bgnÿZp°ÿ…ÿ>ÿ¢ÿÿHÿZÿ>ÿ4ÿ0ÿVÿtÿÿ]̀ÿœZlH\w+²pÿeÑÿYøÿCÿrÿ®„?ÿzläŸÿ>Îÿûdÿ=ÉÿOÿ§ÿ¨ÿ!ơ₫ÛÿÿVrÔÿ#xÿÿùÿ¶i0c^±ÿäLÿÿàÿ5ÿdÿÿÿ9ÿ×ÿäÿQÿaw<Ř¾ÿNÿÀÿ§ÿ%Xtÿ}i*z– ¯ÿ£ÿÿ¢ưdÔLñÿ˜ÿ²ÿôưÿ§ÿ¼ÿnÿÿ„ÿÙ{dØÿẾOưÿ&*ÿ÷ÿNÿ'ÿT₫óÿÂÿû₫˜ÿ bÿÉÿÿÿÊÿÂÿGÿÿÖÿÚÿCÿsû(Ưny– æ7 'üÿ^ß₫,ÿ%Íư†₫@fÿ₫x₫MÿÜưâưVÿÆÿÿ5Øÿ¦Wÿoœÿ̃₫o”ÿÿù;Sæơs67ÈA›₫ ₫₫i₫e₫g₫˜ÿ`ưwưË₫̉üjư3₫ ÿ‡₫¢ÀÿÉpÍe&‚ă"ÿp³©<ÿ\ÿZÿ̃ÿ¸ÿ®₫[₫‡₫¤₫|₫’₫çÿg°ÿ*dÿø.¼ÿXF(FÿưÿÿÜÿ>ÿ₫Zÿ½ÿ4z₫çÿ4‘ÿzÿ¿ÿ~é("`{(ó¨JÎÿôÿ/ÿ́ÿÿỵ̈₫4ÿ ¨₫­ÿ?ÿ€ÿøÿ‡₫Àÿêÿüÿ7ÆÿËÿGÿD'ÿ!ÿÍÿû₫–ÿ½ÿKn…'\øÀAL øÿ¹ÿ*Y3ÿ¹₫!˜ÿ¼₫Yÿµÿóÿ&ÿ³ÿ™3}¹Å ÿW¯ÿ̉ÿ?(ÿ”¼ÿóÿZÿ3ÿÅÿ¯₫×ư₫=ư,ü×ûÚû´ü%ư(₫đ₫°rúq ¥ ”H 1 ’ oÙ^₫Bû#ù̉öÊô¦ó;̣lñyđñ%̣ẹ́~ôu÷¬ùkû-üˆ)há>,Å  œ5^ûûúû¼ù‡ù7ûßÿ ¼üÎü€üAú5ôMîJîIí‡êÊè]é|́oíjô™KÆ!f&#ü3 ơ[túxøüư9ưnF ! Ó ‡$º¿÷“îPë¤èăèß"àaâÅáÖăÄéá₫ÎjØơ#u(Á‚½Ö >•üyü38‰B ưpø \ËŒø†ïyïñ́ƒåĂà;áăJßtÜ-äAèÉùÈ}À®."^@ *Î×­À _"1?îGTMƯư7ü¥ơ÷ơ«̣{́Tçà̃–Û̃Ú^Ûµàï䉲%"q y&°ĂS2 }ư²”84 ;₫₫Öÿ)₫üÖú?ưö ́iåỹªÚ^ÖüØ\Û®áÚäe Ñ oi!MÅ$ ]ư Nˆ9¸xÖûöPûBÿ—u₫fÿÙbơ êzâCÜ Ø~ÓƒÚƯâäqç- &ô !M¨Á›øĂÂúq 'O!°ú &¦üÔó¥û)^ 6rôTèâgÚ×ÖËƯÛߨäHèzÅ(ïŚ“̉ ̉öá ˆ T;!-!ü „̣û­ó\₫xCpø̣’è!ä³̃×ÀÖß.ă{åeèø$2¯Xø[ Á {ú«Ăs ÖrÿưösưưèoÜÿôGêˆă…âxÚÙzÜ(ăZç èøđX‹$GODfư¹/ÊbTg}r Ü £~ụ́ú́p×voưùơó₫â·âpÜ÷ÚäÛYåëé´ê¿íT&đ§ %¯Ö{ü4 [Å sEçW₫Zú'f),ÿûö́ïă„áƯxܤƯVåÖ́¦́#óê °½ F ̉öî‹Ê0üÈă “Wäÿ»üóLZûo÷ụ̀öêă„à&̃5̃Ră+êÔîWî b */Óq ¯# „„¡D- ‡ï ưưÄÿ+uü9økóâí¦å…àäàMà̉åé·í<ñó ±Vê ö& ß^ G•ĐX=ï )R€x̀₫₫ưû¾§üÅô5ñëØäzáÍß°æêèT́₫́wÿçaá H ¶₫åÿi!® diùúÛüÏ₫u₫$÷îđÚ́ØæÀâKá̃æëëÙñ= hwµÖ Jß3|ƒÎœÁ ?‹º5w₫ưßÿcùó[ï“ê¤âkâ¥è́íÑë8ô§ b¦ÂÏ'Θ8—üĐë æüÀ-ÿ'ÿÑÿ€ưØ÷Dđñ́€æ®åSè5́è́Q̣ê »}çÇNXÿÏ!…|ßq© zäêÿ›₫a₫}₫öøNñ1ëjçơçréÂë(́Nÿ) ˆNÉÿ²ÿ]ưŸHºËo  K{ôü‘ưWüZüçơHï0ê₫èö́ êqX®… çü“ü$₫ Ç ½ ï éñ ›Z±ÿ¬ưiüíü;ụ́̀́÷êoîƠîîîƠ₫z É&¢Rklưºùƒ Ô -  ¾ ùö₫[ÿÁ₫ñúñûÈùÅóZîníCñđ€úú}’ Áy+ínüc₫AÊÑ– ² 4ÿ¸ư²₫_üéúûúbơđ§đ́ñơ¢1 C T{ñ±ü|“óg3ç_5ªûLü!üóùîøøÛ÷»ôóó§ó÷S ~ ̉ꆼ₫ÔêWØ<uê₫fúÇú†ùÛ÷îöêơbötơø¡ö™~ ¢ Ă º¸®}³Që _+‹ ËúMùæù¯ö”ơçñö\÷ø€÷J`ĂN ŒKLơÔ₫My § Ômæûÿ{ø¹÷w÷²ôfđTî5ơ™ù±úZ G* åÎÿC0¿«}¢ ₫­.ÿÚù̀ö÷áö¾̣Nï ôÛú|ưñ› 1 Åÿq>^C xù«ưwưñư6øæôṾạ̀ñíđë÷vüÄDe“t!‡î»í…ÖW₫^ûûÚöVô&ñ­ïîëî_ö‘úé ‹ư9n‡L.Ăº $ Ñÿ—ûÏúÅơó¦ïcíƯë)ï"öưU +l₫ †Sÿ₫ÛƯÜ¢ é1|ưŒúdúªôñĂëëîô:ưî ¼:s₫ ü/ÿù‚ M ~ûøâ÷ÖôúïÎêÀè‹íơFÿ4†Ó₫[üÿ1[ èäúÉơ«ơ€̣|îÑç«æ—́˜ơ5£e$’Áü,üjư?Ï ‚Öÿ´÷\ôẠđñëç̉ê¿ñËÿO/“b7́óư ư¥₫0 y&.™ù<ô†ñùïđïmñơ`ư™âÜ'T ó®Xªtû\yn₫%ü@úeùWù(ú®ú"û‚û)ü7ư¥₫çä̀|ê³¼Älđ©ÿ»₫ư+üÈúäùrùhù*úÄûûư~Ë_ tÚ’âùœÍ­‰₫YüFú‘øj÷'÷T÷økùnû¡ư«ÿ«öï  N7 œ´]Üưqûrùç÷Üö«öd÷ùû#ư'ÿ ä,rÓ»ˆ0l+âư»ûÈù ø´öPö;÷gù#ü²₫É’T µĐ VqeÙ#₫âûBúùDøÀ÷Ø÷¡ø'ú?üd₫CÂ:ëu`„÷đeu;₫”ü´ûkûCû#û ûBûüFư¯₫ÿÿX§èÎöb‰BƠÿN₫!ư‚ü…ü¡ü˜ü~ü£ü<ư₫-ÿ,RdOÏᛂØ7SOÿR₫¢ư]ư:ưưâüư›ưr₫3ÿöÿêĐw·­h¾JÀ"Œÿÿ¥₫h₫L₫4₫ ₫5₫Ă₫Üÿ±Í©Æöư $ Ÿ́ÿ=ÿ¼₫T₫=₫K₫r₫„₫—₫Â₫ÿ™ÿa¸`‘µ·¢s.Ój Èÿ¥ÿÿ]ÿ-ÿÿï₫ö₫/ÿzÿ̉ÿ 6HMSatsa; ̀ÿ‘ÿrÿVÿ8ÿÿư₫ÿÿeÿÏÿBÆâëèî ÂhĂÿÿ‘ÿ—ÿÿsÿBÿ%ÿ'ÿ>ÿ|ÿÎÿ)f” £°¾½…FÑÿ¸ÿ¶ÿµÿ ÿŒÿqÿJÿÿ ÿ#ÿ`ÿ½ÿZ’ÁÜëèܲj.ơÿÙÿºÿ¨ÿ”ÿÿ|ÿbÿ\ÿdÿ™ÿÔÿJol[^EC)đÿÉÿ™ÿoÿTÿoÿ–ÿÅÿơÿ*+&@Zy„‚¨W̉ÿœÿtÿvÿ‰ÿ­ÿáÿ,ïÿ×ÿƠỵ̈ÿöÿçÿàÿÛÿÄÿ·ÿÇÿÔÿäÿ'D_oY?+ûÿ úÿüÿ÷ÿêÿÚÿâÿăÿÜÿĐÿËÿËÿ°ÿ¼ÿÈÿ̃ÿ₫ÿ÷ÿơÿ ) "%àÿ!LSr<A íÿêÿ­ÿëÿÀÿÏÿG=cç̀§‚ƯWÜÿ<ư:ưóû!ü°ùæû[ú´úúYûŒü&ưcÿÂÿ5±Ûv?%#ˆ Ïûë·K0鮄}i'ÿ†₫XưÙư‹₫L₫$ÿÄư£ưû₫pÿ²₫†₫(ÿáÿI 0×i(Ï• e£ŒÀÆ„Nsó¦q™ÿ₫eưkü1ü‹üLư9ưGüû7ûåúü—ưđưéưJ₫äÿ‘ƒéÿ£ÿ5ÿÄÿđ¹˜øÿå .tüZϡƯFiîÿ̀ÿ:Cäÿ¨ÿxÿÁ₫̃ưGưÔûúYùû·₫µ́¦q ^æQÂ; >ÿM₫°ú ö¢ñEï¥ï†̣÷ˆürЦ Y å ¾Ø © ´ˆgü@ø>óDîëXé ê”́)đỵ̈„÷:₫>Ù|»1Đà2 om₫cù€öḳ¶î«êçÍå åœç¨ë´óư„Úg—k7ÈĐ~ úÜơẒ`ï™ëèŸååçAë£ñîù¡ưá~!€!êF}~8aüâø¤ơéñƠíCéËå°ăäææ­́æô6₫59ço#2'„%̣“&ÿ*ù›öºợôÈñˆ́æ(á¼ß(âDè9đ½ùoá†"ë(®)¹$½‡7øú×ö>ơ»ộ̣ ïêúäDâÊáßäYê'̣;û3O'´%A,»-P'¶ Èü|ôäñlôxöUọ̈đé¥áƯƯ†ß å̉í=ö‘₫ø‹"©)×+F'XÛ²§øöó>óùóÀóKñèë0æ·á2áäêpñù* ‹3Ÿ%¼+ˆ,d&"Ø Fü{̣¬ị̂ï ó¤ô²̣íVæzáơàIåµ́Yơ»ü3‚ ‹Áñ%8-3-N%«6ø$ñ8đ¨̣_ơKơṾJí?è/åÿä¯ç’́ḥĂø¤₫]z ơ ¦'Ç)%„»`´øó›ṇ̃góróẠ̈¯đFîyëgé#éÔë†ñ°ø¨ÿúx ·!K&¸%pdÄ<úeôóó²ơ—÷E÷YơặJñ̉đ@đïKí0í9ïôù˜ÿ%Uø­ 4&1%R›“̃üú÷1÷xø¥ùÙøëöSô)ó½̣ẹ́±ñï$í̃́Lïoóøăû\̉Ëÿ·'Ú)V$è âÿ2ùô÷ÎøÛù§øéơó¼ñḍdóó´ñ<ïí°íđóö¼ùÚÿ  †Û$c.#/Z'} ư÷#ö̀ök÷lơ¬̣'đ̣ïĂñô±ơ&ơÖọ́ĂñỤ̀ñô¯ö›÷?úØ< €0*0-Ö ,*÷ ôÎôÁöÁöÑộyđ‘ñŒô?ø7úeụ́ø°÷ÊöØọ̈ö{öNơ ô0ö†ưQ º)µ/¢+­ß *ÿ5öfô>öíø©øöJ̣đîñ?ö2û6₫‚₫üˆúùxø[÷²ơ²̣½ïËí÷đÎúê +0v+ÛV­ú¶ø,ù`ùu÷ÏóÅđđ¹̣ëööúËüªü×ûÑûlưÚ₫µ₫·ú'ơ1ïŃẮÙđù§V{±%c'µ#;ă×ÿ.û÷ăơüóọ́;óªôö”÷ø˜úøü;0ºóÿ2û¡ổïµíÆî¿ñ ô%ù—ÿƯ ·%,Ô*t"é6 ®ÿ¦üpú»ù»ơíđÿëªéÈëđ—ö£úóư˜₫¼Lư–ưÿø`ñ'í–íđ́óøR₫¸–÷ñ%É'¢#®@$KÿøúZø±ô=đ^́üéØëïúơØúÿç#ˆ”ªm[¹ùËóïîxîzđZñô+úTûï$?%"!\9Ë yÔWÿWùj̣æípë|í"đô×ơ›÷DùMüÀdèD‰æúªợ$̣ôÚơáö€ö7ùY₫ăy%E! ]£D Ù çÖ₫~ö3ïæê#ê í.đRóBô½ơí÷Küâzâ9C»ưlùE÷G÷ôø}ù{ù°÷é÷­ú. rɾë#ï ́ è —(ÿ»÷ç̣©đ0ñẸ̈ÁóKô~ôJö“ùÿưüÚ¶‚ÿơưÜưœ₫4ÿ ÿưâûbúRúËûâ₫l°̀Ñ0 U Ø   ´ˆ§Ø“₫Îüû†ú́ù™ùÑùˆúûÎü×ưÆ₫rÿøÿOl\ ÿÿ₫%₫½ư=ư·ümüü?ư>₫oÿ†f%Àx!»đ¥í₫3# ]ÿÚ₫¯₫î₫‹ÿ(£Èº‚P íÿ™ÿÿ‚₫öư¥ư›ưØư6₫œ₫ä₫ÿÿ%ÿ1ÿGÿVÿDÿü₫†₫₫¬ưửư:₫¼₫Pÿ èđö¢áÅaß`Ê#Vêÿœÿ®ÿđÿJvv9áÿ€ÿ)ÿæ₫¦₫d₫ùưtư×üPüöûƠûæûüwüêüƒư:₫ ÿÜÿn­ƯHn†ysdj|{Z,Đ•7¼+ÿư₫w₫üư‚ưưÏüÀüèü=ư®ư&₫‡₫Ö₫ ÿ/ÿRÿpÿ–ÿ°ÿÅÿÍÿƠÿîÿa²ö(D\‡¶çøß“7æ¶’]‘ÿ"ÿÍ₫¶₫Ö₫ÿlÿ ÿºÿ¼ÿĂÿĐÿíÿưÿïÿÆÿ‹ÿcÿUÿqÿ–ÿ¾ÿƠÿƯÿ́ÿ G“ÖøïÁgP4 Àÿfÿÿé₫í₫"ÿhÿ­ÿÓÿéÿÿÿ>Tw^+&/-0+-5Jµ¾®ƒh<đÿÂÿ¦ÿ‘ÿƒÿÿŒÿÿ¹ÿĐÿÛÿâÿâÿàÿÖÿÂÿ±ÿ™ÿ|ÿeÿQÿMÿhÿ‰ÿĂÿ=‡²ơåa7Ôÿÿ‰ÿ˜ÿ¨ÿ±ÿ¸ÿÖÿûÿ!Dm‹pB!₫ÿƯÿ¸ÿ¡ÿ„ÿ€ÿuÿÿ·ÿêÿCk}oU( Áÿ˜ÿgÿHÿKÿ8ÿXÿyÿÿÂÿÏÿêÿ+Ic†…kU;17I^wz}{€|j?àÿ³ÿ¢ÿÿgÿJÿAÿ<ÿMÿxÿªÿăÿ÷ÿëÿëÿÖÿÙÿÿ¥ÿœÿÀÿ¾ÿæÿàÿ U€»÷+™— }ÿ±ÿÿ[ÿ¾₫pÿú₫Óÿfÿ7Øÿv)tWE]¬ÿ™_ÿO•ü öµ₫"ô)ïc ¯ø1îI#̃ÿGïJ xü†÷.¹ú¼û6¨ư&ÿî¡âúëDç·ùœưÿ®ñtùƒ&ơèŸ ÷qú´ ̀Æø®½üúÿÿü¢₫}₫ˆMU₫÷ËYù?¬ÿ¼ü;₫₫ºüâưÄÿàåÿ^X,»¢±&Î₫}ÿEÓ₫'ư¨₫éư ÿÅÿMÿÜÿ8Œ_₫,ÿmŒ₫›ÿ§¡Ñ+ÿuÛû̃₫­ÿ¢ûhüÿgäÓ5S₫̃ûˆ÷́öùÇøúûåÿ ü•f u›NªÄÊû‚ÿÚú₫ü!₫̣ù£¸₫”₫†̃ÿSüûp©³₫₫#ïÿÆư>.Æ[ÿÏÿÖư₫₫p₫æ%ÿlÁÿ̀ưwửø ₫¥ûGûÉÿ§ümÿ¯¼ÿ=™³6R0Æưwæÿ½Ö'₫|‚ư,ÿjƠû_üưÚüuû{ưaüF₫ß₫íưư ư©₫¸ü˜₫Hư§ÿ*gÿÑöZå½£®kiÚÓºïẸ̈ư¿ÿ̉üzúŒüºûùùüđùÿû¹ù\÷Iü…÷ù‚ûùmû₫˜üiÿŒ;Ø · ä …öù.# g “È2ÿ]ú̉ợ÷đḾ́híºëríRđÀñ,ó÷§ùrú²ưøưôÿƠ*4ÔÛ Ơ>î~îvr¸v0  ̉û§ø)öwïŃÎë˜éïç»èê”éUëúí^đ-ñÊóNöü÷(ùzúY₫´… Ù笀!̃N°2†t)~7ùÄơôđ{í¤íüêéÊèxç5è7ç…èé­éëÈï…ïệ=öû8 \ $!"‰#Ñ%æ,p'N#̀!ÏPx L 4NưOÿÚû>ö~÷:ơ{ñÏïLîîëëæ…æ<æ–àUà‡âÜ̃eàÜåuç$íïÿØ yJ-2)~/,4,|&n!&(„çĐú̀ù‚û§ư„öñđ_ëÁăâ§â’Ü{ØàÛ²ÙË×ÉƯăpå0íđ@ §³%W/(,€4/6i,¯' $%; < ó+ưv)₫P &û÷ô¶ëcăà̉ƯfØëÔj×MƠÅÔÏÙœà@ă´êøÎ ºK)]1€-´4í5-^$b!ÀbÓ Ü µüû„±EUơƒ°ûc÷Ụ̀ơä¸ƯÑÚüƠRÑÑÁÓæ̉ôÓƯă çù½ ˜̀(F1ø/È3ü2 -#­\\ » t¢₫¶T×ÿ#¹§$ư•÷F́câ©ƯÛÓSÑ’ÑdÎUϪÔHÖû̃äN÷d r |!*1!.Å15-Ó&}(Æ 9 Ôÿ6/Gÿ°ÿ„ ̀Vÿ6̉øÁëáçûàỞÅ̉ÁÑ­ÎÉÓ½Ú-̃;ă¬ü Ø ©$A/-˜02¿-}%Å? ‹g Â₫ë₫dÿ@₫¬₫Í₫-=›ư@ïôµ́¾çƯiØƠ ÓuÔ¸Ơ9ÖàûăïÖ†0)`)¨-//B,í',"-öVT€iư­üûÖûQư¦ü7₫#XN₫ë₫êùđê~áôƯ„ۨؗÚL̃ß́ä̀ëqój–Ï!Ç Ô" '!#.#0jqʲƒOưüú]ùü˜ûáúÈưi<₫½ü×ú³ợIđ}íǼ…ë̃éê;êbê¯ë4ï©ơ’û.äư6<úO‘zDöá Ï+‹rÿ°ưŸüAüñûüÙü9₫hÿ—ÿ ÿ₫¶û…øợ›ï*íßê?é1èâçèƠë‡ñd÷³ư:Î ̉5•`ä:.JU+ 7 b½Q³ưhüĂû ûVûTü#₫øÿ¸¬Đ₫`üVù4ö¼ó´đ~í$ëơè˜çPç„èíº̣(øÿO  (XCI+7Á „ö)₫7ü?ûû6û üĂư<6̣Bö ₫¼úc÷úóđ́Méåæ^åGå6çîë¹ñÏ÷Ö₫F| dP¬¹«6Lt ²æ‡₫ư–ü“üëüơư­ÿÍAàD¹ưúọ̈üíWê™ç…åZäÉäóæ ëño÷ûư; æÔ₫üˆ̉t.Îü @ ùaà ÿw₫₫H₫ÿbpµ±₫ ÿCüù­ơỤ̀î¡ëXé©çÉæ\çéẂ«đöƠûKf Íl/ÏĐÿPL µ¯†₫?ưxü5ü¥ü›ưu₫ß₫ÿ‘₫ựú‘ø»ơ¯̣̉ï;íBëjê…ê¥ëÇí¶đêó·÷‰ü mÁ ‡ LéÔø¯Ù¥¶ j MíÛ₫sư¹ü<ü ü©ü\ưßư&₫ ₫ưoûhùóöYô ̣}đïKïµï©đ-̣'ô´öLù,üEÿnj¢ D ‰ „ Bà&ê^ { ‘ M y8Nÿ‹₫ÿư§ư[ưư™üüoû‰ú\ù>ø+÷Hö–ơơơ{ơMö)÷4øMùHú]ûXüưÿ¼\ÛfÎ9¡ À ° > < ₫ \ E Á.ˆ:'¤₫-ưUư¦ưŒüƒü3ư5ü€û6üDû²úUú₫ù€ùAø#øµ÷=÷ˆ÷Ç÷jø3ù9ú¾ûÎü₫Êÿí9†9D m £ W ¸đ!ëM‘…»4ØÿËÿµ₫o₫ˆưÉü¬û»úúVù¦ø›ø˜øuøÜøløDùôø*úÅú.ûüïüK₫hÿ3_£ë`‰³u#)qÈ̉rè½ÿgÿÿA₫5₫øư₫ưưpükü~ûRû.û̀úªú¯ú¢úÁúúû‡ûGürü¢ư‚₫ûÿ¼J‹ÔbÖ÷}¯9¥H7¾¾̃êÿÿï₫Å₫B₫óưhửư§ư₫Ÿưµư ư¯ư\ưưÊü£üư ư“ưyưK₫Ü₫²ÿs`-Äd¿½™½¿ëù¼ÿ€ÿÿÿP₫×₫-ÿ§ÿÎÿfÿ~/"7.·3áÿéÿè₫ ÿ<ÿP₫“₫Ư₫û₫₫₫XÿÈÿïÿJë®§F ¶ÏZèù™¾?früÿ¥ÿ¤ÿFÿÿÿ…ÿđÿµÿÁÿ–ÿ‹ÿ¬ÿÿŸÿHåÿ$;Ya„J°ÿiÿhÿy×ÿK ư₫*ÿ¥₫´₫5₫Oÿÿ¸ÿñÿIÑÿ‰ÿdÿk™D ’= ä=‘lä¨ —bÿû₫êưéư‹ư<ưoư’ư ưưG₫^₫Ü₫jÿîÿÊÿ›G.íP½h^RB”Ü7¯a3ñÿ›ÿµÿ“ÿÿ₫p₫ËưŒ₫J₫§₫§ÿÍ!0f.üÿ̃ÿ%«,]1©îÿ&^Ñ:4Æ‚ÿ“ÿ]ÿÿÈ₫ ÿ—ÿyÿÊÿ“ÿSÿÏÿ^ÿë₫öÿóÿîÿb)}HÜÿ0]/J¼¿ÏMêÿ…Èÿÿ @‹ÿÄÿg8ƒÿ–ÿÄÿ{ÿËÿĐÿGÿ·ÿqÿQÿ‰ÿĂÿÔ₫Äÿ™ÿ$ÿÄÿÖÿ7ÿ ¤ÿ‘`Ê(üXüoßg,Èơ·'®ÿ.ÿ´ÿï₫:ÿ!ÿ:ÿ ÿWÿ½₫:ÿ)ÿnÿPÿlÿçÿÿqÿÿZÿDÿ²₫2ÿ.ÿÿÜÿpÿ‘…‡[ c  "µz×1¢ÿRÿdÿÿ:ÿ×ÿñÿAÿ,YÿûÿêÿÿçÿCÿQÿÔÿ&ÿ³ÿ½ÿÿaÿ‡ÿ3.ÿ&ÿUÿÿOÿ₫†ÿÓÿúÿ bAŒ”lƯè0¥ sy¥j¥́×Ë"q¬ÿäåÿ‹¨ÿY₫ÿü₫vư0₫øưøư©₫H₫Oÿª₫Óÿ×è,₫̣₫ơ₫₫IÿËÿn+®₫› |2ô'Ö4˜JÜÿZÿYÿdÿ“ư‰₫>₫êư₫₫¶₫ç₫©₫9ÿ'‡‡T€Sÿ›é₫@₫tưqư°ÿ„₫ÿ~ËÀii–‚,1R³`sÿDÿy₫û₫đÿ-₫?₫³₫ÿÉÿù₫àÿV ;ÿQÿÿâÿÿ%ÿ₫₫Ñ₫lÿb₫ÿüÿ6ÿ: Ă î–*ú“N{Øÿï;eó₫Ơ¦­ÿÉÿYnÿơ™eú“₫1ÿûûdûâûÅư†ûµư‰ÿl₫/ÿzº$ésẨu]º‰Ôwñ₫ëưöüüûöùäøöö€ø§÷w÷÷ø-ù¥û^únû…:} F)" §   µdơăư¦ûú½÷ÇöJ÷ƒ÷é÷qø(ú₫úúú[ù¸÷Í÷éö\÷röô‰)“H Éơ½Ëa÷ ÆƯ¡ù÷Àô_ïŸíóï2ñ„̣v÷Hû\₫EG—W₫Eúømö´ñ’ï£î₫æÿüö B^~$¬Ø:_̉ ”“øÿó¤ê~âjäÄäcäŒé=ôjùé₫ˆ“ 7ÊZl₫₫öṃáë|î’ÿôåúß´j M&Ëd ŸNh ½7üÁóhâƠáă;Ü̃ëÙđ÷öŒb ̀ € ÷…₫ öÇơ)è¶ñaüjíÿ= $"{‘"uµ# ç9₫1đƠâ¶æ°̃HÚwâ§êœí%ùF… D ñ ›PưÈùÍơ~â³ø̣÷Séi üÈ¥!Ư†!7Áß ¢GëÑçélÛEƯYåœè¢ï£ù£ × ³9"ûØóÔá1ódø¥ă¢üö‘ ( ` –=$Đj ˜ øzîếđÛÛ¾ăÍåeëxô9 7 Ët̀mö±êë/ü2ạ̈k^ÿ¾¨CT ÿØ!¹Op ´ú‹íqïTâÿƯ_ß åhçƠï|øç×[v‘)öû ơ\êcí&ù;á^÷;Đü²Dv” #¤‡?+ ÷kó ñ3ß¡ß&ăhâ|å¬đ{øÁx©™U ₫ ›Vú:øëoø6óyåĂ₫ưóú’ ‘Aä¥á Tv=Dø?û.í6á4çIä â§éẹ÷@ÿḶ º ª Ơiù̉úKêÂùÖóèèÁăüCưûç-×/tÀæûÇǘbåŒé¥ăúâiëïï.ơ¤ü% •· ç·#üúíÑ₫­ñđï%aû·wư¦¸è½«̀üñëië·ëäÎæ•íMï×ô9üÖú aÿ¹üÈøÚ́¶ÿjó0ï÷|ư›ÿCs §œ%Ậ¨ä₫“îî*î£äàçâíǺṣLúvưÄ́­Kÿqư±øđ £ơÏđ}#₫ ÿ¡ +ÊË|Z9Sc]ñ/̣ëñOæâê¿ḯëdñ`ú˜ø4₫Hºư2û‹ø?ô)ùü‘ïË81ü a\ íY³`$È a Lwøơ5ơ"ë5́đ.́3ïA÷ơØù"ÿ…ưzü¶₫|üA÷ ûÏó ưùƠ÷w.‡'s 7\ÊÄZ£¬˜ +.pú<ø§óñîXñùïÓî5ôÆơươ(ûwü¯ûëüküNû²øƒûÔơFú̃₫«ö«>‘ xœ ƠÀ$Æ ̀ ¿ññưiücúGôơ²ơ™̣pơ-øéơ¹ùöû/úYüqưƯúsüüÎúü¼ùDÿƯûü?’ÿI#ÇU ~ Ÿ l » e! a.ÁÈMưûVüjú?ù—û°úUúyưÍü¸üø₫·₫{ưđ₫W₫îüGư²üaû úœûƠúù<üíüû›ÿÛ´¼ï +„ üâ)¶9hƠ²±ÿà₫pÿ ÿß₫¥ÿ·ÿÿ'*Œÿÿÿ̃ư<ư@üû2úbùâø-ø–ø&ùúøhúøûqü3₫]Ôqv´]Ñ–NS{¬íơäx»asî_ÛÑÿ€ÿX₫P₫̀ư§ürüÁû«úCúÄù ùåøÍø¥ø+ùùCúZûSü“ưÿ)sæääà›À%TÉÀj.ĂßLØ bâ"ÿÿz₫₫ưYừüqüEü»ûJûûŒúúøùºù—ù³ù$úŒú+û\üZư_₫éÿ-À£d"Y8=®Uº̃®ßGÿ]¶ÿ0ÿ̀₫B₫áưoưëü¬üGü³ûÏûfû(ûLûMû6û«ụ̂ûYüíü‹ư&₫¬₫@ÿ[ư–ø{zÓ|–üÇ#v¡‘06êz“ÿ€ÿ₫¸₫₫ùưøưƠư₫Ëư¸₫ưm÷nưä÷ŸDø*₫‡ưàû₫Ñ₫ư&ÿ¼ Èœ”]«™bD²½àäáüƯÎv%§ÿÿIÿ§ư¼ÿ ưÉư₫mü@₫8ư₫f₫₫ÿ¦Ñ₫82ÿçÿ^}ÿ£ùÿ˜»Èôe¾MèùÑ́…Ïÿ¢»ÿ₫aÿ.ư₫‡₫ư?ÿÏư±ưWưÄÿ€ÿÿưúÿa₫í₫¯ÿ₫ưE‹ÿ‚ÿ/“ÿ¦W…){™»ø… _-ü½‡ăÛ|ÿüÿ¸Ă…ûhƒü~üư₫ù.ûú(ùû¡ú¾úưcü’₫lÿđÄù Ư?¼ëđ­Đj.̀ƯÛ®Xÿ¬ÿ›ÿƠư~₫Rư?ưü(üÓû•û úœú^ûxùÄûoùƒüƒúDưÅüÎ₫¯qƯ¿5S¥ å $'oÿ}ưœü¥üfüMûÎû&₫}üàư#ÿđÿØưG~₫À₫ư3üÉû»÷øÜ÷Åô÷ûơ¢÷ ₫ÿúW]m ̃qÁFR" ̣ ÔNƒü1÷^öªô÷ôµóÂôkù™øúÓÉÿøÿ(Klè₫ư†ú6öơ ôÛï-đûG÷ù3,<G‰«Èéú âú|ûˆ̣­êwîÿîéáîLö7ơgùh¶ô[!ñ­ÿܧù5ôæñ₫ñÔè ̣¿ùóÿ$ Ç `Úv×<í67v 3ù¼̣¹ï•ç$ä¬çèđèđ&øÍú«Ë R  ¯Á÷ưêøuó¾ïÉZèÑöâơUơ₫f¦ ƺ&| Bd$ •³ {Lù¿í;ë æF̃Ÿàèå̃ḉĂö'mr •Ñ‚ ¬ »•ÿ¿÷Àñ,́?èËáöâ°ơóÔơ" ¦Çç2+[!ü($H ~° ñáà'ƯsÖ†ÙăœèđŒû:Ñ(3‚ æ7ÿfô`èbǻâÇÛ Øñï6ùöÙ$$G đ5J<¼)Ô!J'Ë₫ûrôÑîÙÛ@ÑÔƯÔƠỖ8ë“ö%¦ Ûơ5Îá¿z®ö…̣åxÚÅÙáÚgƠ7Û¡øø^8ă5ç3ù-µ< @ *égLđ́zàđÛ»ÏLʾÍZÓnƯÔë÷í‚ü"„$]%?7Ñà÷₫é°âDÙÓß̉gש×÷ß_¿¬¤!rAưDt4¬6Æ>è*v N™úä²Ñ"Î˯Ê%Đh×®ä`ùœpû,¹-₫"nÑĂ l÷ÙêéâÛỉÎÑtØẪ˜ă,ÿnp%3%u:ûM>Ag/™.h*ÿù÷_ë–àÓ‘Ë'È˦Öäáˆê¯ù(?. 5&&.æ(ẓv÷—çñÛŒÖêÔs̉D̉‚×ÙăKëaü‘*h,é2†D*D&3ë%j û!ûIê¦Ư¾Ó̉Ï Đ’Ï>Ơ¸ă·̣ư¹ <o$_&!(˜&AÏwf÷¡é.ßÈØâƠ§ÔRỌ̈Ú”âë,ô÷ ÿ#K.ˆ,(3‹>8;Æ*ê™#öZçóÙ/̉ÊÔTÙ%ÚÇƯ¨ê¦úÜ—•!Q$o%/ ]„sư˜ó·ç̃BÙ.ØÚ ƯRàæ•îôøơ 1!,g+²-r4̣3‘(ùú ›eö‡́Iá«×ÓÖ…Üwâ¸æík÷´LR ‘üệëyå–ßNÛlÛ?ßäàè>î¦óF'¶&X*¹&<(,†*B!Mùụ́2î®åKƯ§ÛÔàÆç¢î‹ơ`üO‹™̣ˆ¥©ØĐü¹̣%êùäèâ âùáèâYæ»ẹ̈{÷ù̃¦²$•$% %±"Qù†6üEôÙïÛê¸åă¬ăxç\îmöÏüNê?ËgÖ„ :[ÿ<÷¨ï@êùæå–åºæ®è́ñ₫ơøüưlçA!¦!1!ÙøiéùeóqïÅëièBæ₫æ ëƯñ.ùJÿ V ûgº&JƠ(÷ûnöđÑêpç…æ-çéÍë¼îḶµö|3B0 & X¯ºÅ ÿ¸öX̣×î%ëÔç&æÍç®íÁơbüÖb Ư’ " ȃÿYùó!í¯èIæ0æçæé‡́‹đ®ôûúÓÜi!I!Ä Üb©häøẸ̈…ï÷ë@èÂåƒæwëxó<û±§ ³J´· ơÅíúsôqíRèöåÓåÉæYè8ë¿ï#ôAøàQ²Y#€"‰!Ù ¨BœÍù!ó4đ‘́ è+å æOëXóóúÁÿǾ ³;úl èYÜûFô¶́­ç»å…åæ çeé¬íoó øSåå ¸% $Ø# $ª!m$ n÷@̣uïÏéÓămâ¶æ<îÊơKûbÿ£Áâ×,Ë ¡÷Nî€éè€æÛăŸâ‹åQë́đ%ôÁ÷³| (_&‰#ù&±(m"̉Ï7úÉôvñCéºßß›æBîẹ̈p÷₫%G`L*œ ÿö{đ™́AéVåÇácâÂæFë2í$đ.ơQræ&P%"K*’/$¿áĐø‘îCäî̃¨âêńîb÷‘¼ µ ‰ê¬ûÏ j¬£ü›̣$êgèséÔæă¸ă>é>îóđṆfúbÿ'ä% 8+^4 %c8 QgøVêgâ$áoåAêêîQưy E e e-Ä · ‹ &kùö ̣Xî3íƠêƒçèùé¥ê–ë’đĂó£ư²å(Ê!œ#h422;Û N ±₫±ëĐäÎăâŒå'ëOïÿùÿ₫ % èrïN¡z$[ú÷ùùúÚöYñđîđYí˜ç1æ.ë±́ǵhíØû(µ)+¸'&<2 œ é ̉÷Xä̉áèâ3âˆèÅí|ơ¹o ó [ SqYª0ÛúTù0çÿIûG₫HÿL÷ óḤ)ê“ăÍæVé#æKë¿đc +/+`%<6>v" ±÷úëä ƯßÇàè_ñèøüáú 7* —ÿÁúûB÷ơ{úæE¨ùüªđíÂçßÉßÚäDå;ëf̣%¨6".Đ+"?t:«wÿĹ?ÛÚä̃—çÅó”û©ÿ/ V ÖưĂó!ó5ôïó­÷¹́ c T R áüV́lèää9Û|Ú«äèǿÇój8:6¬(A:›:á ü*ù ëÜÚáêíIû§t ́Đ ̣Hö@î¬ïXñlơûÉM™ÜÄBß₫ĐñJçKăñƠÙüßÇçËê ̣ßư)´=.(Z1ä>R$˜öû7óEá[Ûàçë…÷p₫Ú#À «)ø°îïñWóŸø T  ˆ …ô÷çï¿ç!âẪŸÜAâ¨æ&î0̣ú8i-X(@‚55”ÿÎèƯ‹Ư£ä}í2ơÈÿÚ 9mp XÿơwóUññî²̣±ú0` v‡? ¹Ùøëïæôá>̃]Übß…è ívùi+¨1Z#Ä> BW© óà!Ü̃wâèÀôgrm6êI 5_ư ö­îđu÷ßùñư» \ © 2>₫̉öSïLè¼ßƯoƯ¡áäă'ü'¿ –'fH†<"! !ôƒä*àlÚEÖzƯëítú!A<ÍZm‚ w₫đø?ơº̣óDö₫ưqÿ{¾¢«₫ û‚ñ–çƒå˜áÊàùàILy Z,o?ù+›(Á-«Iư’ơNê¸ÚƯƠ›Ưñă‚ç₫öüH cWẶ;×Ô₫øÅôôœñ³đøóøöÍú~ú¯ñƒîǽàëÿå(₫ i(ç0(#"+[³° ù^è1ßYăÎâ)à6́øùœüÓ2Jg+bw4ƒ₫+óÁîœñë́>ê|đ†îäêÊëJíƒ́œï» Ч*r,ÖÇ&…%U%óoå‡ăĐä"à4ă²đ¹ö_ú₫Ü W©ë 8₫nơ\ñ¼îÄê¯é'́~ééè¤́Îêñ÷b #L.D%H#Ÿ,ÎE BÿRđ̉æ¡å¦à©Ư'å¬í?điû¼¨ ’ÅO‡ñó íĂ₫åö;ñ‚ëdç’çåwäåæé6îŒÔ Ê:))V#—-(©¹ ‹øíèơá7Û,ßÔå!è·đ÷₫ï ¿b·™ï”ÁT₫Àö¨íÇç3åÅâÿßá?á¼å;è’ûz ´ +$Ư+t.ă÷dÂÚơ¿íéå­ƯƯ,àâè¤ó×ü7(„ăDz̉擟₫ăôºëRå>árÜuÛ¿Ûß̣á]ô±ùÔÚ+Ă$-/4#DÇÎFû±̣™æC̃Ư1Ü÷Ü-ă™í‰ôªÿ¬ ï}̣$r,,ùWó æœàiÜAØE×̃Ú–̃ßïœÿ7?'>&^2C4¬'&Œ í>ö¢è1à•ÜơÙúÙÀßbç¶ïóúú:s2! ʱIáDồélăܹ×××¶Ø—Ưêñîøø»n!%&ö4 1H)f*”Ó PØ÷Ăé!âƠÜ“ØÙßÉăZí±úiK ‹/nß:¹̣ A₫Hóôêă_ÛÚØÜ^́3đs₫€å"_0m++ù-ÊD”₫ẈêÁàgÜÚܼáÛæ₫ñeưåªY“4ˆ “øó”îKå̃^Ü5ă´çCë]₫Dü ¸¢$#{+C(a½fsúCñbçƯáàẵíà1è–îơ¿X›  ñd̀¸ư@ùUđªæ0åiëæIí"ư‰ư.BíbQ'"`Sù1ÿ¨ọ̈ë₫åˆäà€â£é#́ÁôrÿV ¸ú¾“ ÿC₫¬ù÷đ¥éŒíúîê!ø¹₫»₫ °ï!£é›\ơTîIé†ăâÛä¼çƠí§ơ9üU L !R “°ü÷4ï íF̣¸́ị̈Â₫·ư®‰S!‡ˆ,Ó, ±ûộàềçsäDăôç&ëƒđFùC₫pư  Á S Z^Øùôïªđñï…ùQ₫† y¢«ª[:Ÿ¤ ‚ưùđêçiâä$è¿ê ̣ù₫ÆăÙ Œ¤üƠ÷Uóọ̈´ôÔñù9ÿöÿ₫ –ô‹îêÿ « &₫ơ5ï;ë*æçöèôé{đơTùÿ;§P½¶ü ùWöêóŒöàơKùàÿTe·|ơ+úƒÛºë@íø9̣1î êIé&ếëïƠóÛ÷†ûÿÉ|-Ô₫5ûMùÊơ-ôù÷÷öđú•©Z weº\P€Èa± tN3ú.ôđí́đêñ́+íeđYô÷Kúư‡₫h₫S₫"ứúÅ÷7÷Xó„öuùÉøbTSÙ’’îV¨óθÈühợÇîJ́íGîAđKójö[ùrû×ü₫ưbư²üèúđø ÷ơôZơNùóø%₫ø«H ¦‰ẃ² #̉‘ b]ÿ•ù ó́ñrîûë(ïï ñơA÷«ùû•ư\ư´ư©û=üü÷÷³÷íơUúû«8Û₫óÈUœ‹H À·ÿùñôzñµï£íåîXï ñœôƯơ²øPû5ü¸ü…₫^ü¡û5ûúéø#ù?û ÿl₫J$ d '®c¸AíÚ* ưPá₫ø*ôó1đíí¼ïêđùïWôö÷áù₫ưZüL<ưưưư₫ü—Ñ₫Ô& p§ô— ¶ Ä' ÔB.Zûø ö®̣—đ«đyđ%đaó•ơLô3ü‚üåûEƠ[ÔT₫íøĂñü±áµ¶µ ¦j×dƯưlfÿH/÷ ÷Úö$ôÑí@ø½îø¨ô¾øûºûϲî7µ;üo>:»ơ» åû<ự¼»% {- + ·ÿU ·₫­ÿ/ùuđùư4ô^øQ÷€ømú[ơ¸ ó3 ø÷´üy `ú$h‡ÿƠúï”́ø D÷8 bơ zÎúÂÁ 9ûOÑ₫oNükưƒ¸ó×Íp̣Ë Àñ/îí*=₫'₫÷3 øEuø•ëöû¹û¨ÿM–úÓ ¯ø1‰çnóo ¯ó’ ~ờcđeÎ́VƠí¤0ïS©öâ ü½ư¨Đêw"ëẈRÉúiuzü¸P÷m —ôûÏûD‚¨íîđÑưû÷ÿ̉ôÈ4éŒéïăä¥ÛơK¹¨ùÙ›êú á#Kå ‡ïÎ sû©ưKùÛaë™ơÔté‰÷qYï®ùWî­ ôk8ö₫b–ûú÷è aơËÿIûơùùØê&ư¢¿YúÉ0ơù ưXÿđ¶ùÚÿ̉”ÿFö¢¸đNæM ø˜ùuÖư…ư1ù?Ưï. Ëñ%:ëÛ ûúó1aüơY ˆ÷ ơøÆ!fÿQˆ÷– Ăơ( đÄ ø̣7}ưÄûfÇ÷`óËí́¹2î{đ̣Ç©üƠü¶uû[ÿh`tú³û(lø) ôÆfù₫ Dôê₫ơ’ǜ™ÿ0ü«₫%%ư-û? ÿôÏ dôĂ KơáÿørLö¸¦ÿíưlÿB₫%̀₫:;û¸̣ñ 0ø" ù-®₫úÀ±ơ¯™îb Ùñ(®ư¢ư?rØ₫ơưëæøˆ zña{ñg îñéđù ·ùMWÿÍ₫ ú#Àø@ <̣º ‹ó0 ~óäxë©ó.Ÿü€CÿîưØ=ó7 x÷´ Ơđç`ó́–ơë ù18ü³¬üû<Ăë„^ü£Ëư@nû¹ ùÄĂ_ö‘ —ö†©³ÿ˜ưùü™û\₫1°ú”lúv §÷› ûÜ₫Œư®øÊöc Çïâ­đç eù8ÇüÀ₫§ >î‚;đj ¾ơư ̣=Äûöư`ùa đ„µÿw]ù sûªú2 Ûø#2iûÀ̀ú² uøwHFhúWÍ ü®w÷Y₫âö™ ÄơJákưâư•÷Ư 'úŒû …økNáÿ9ÿLăơ€@ó‘ú ÷ñË 8ú€o}ơÀ=íHéđN+ë5ñe I÷¸ưñ Ơ÷µFøí ­ó# ¾öª ö₫gü₫,{₫½yü³ưV5ø±<ÿ‚ú) [öLèù¾öÿ=™ư¹ÿ?KÿÄ₫0jø!=÷D óôÄ ó¢ ÷đ`eö8 yïO1îçí ûơ#ZøqVEư‹;úƠuèÊîê ÷ị̈ û>ơơêAçêAê6ôûưÿ£ö2 ö›Ü÷‘4ö²Ḥ ùöHÈDü8!²ûưÿ|€÷,öA!ø‰úä%ú«¾ü­]TÿÄ/Lia?ü‘ Æ÷qÿ₫ ^ø"mûpüFü–ˆúyü‡ûÛçú<ưƒ_₫rûú߸ỵ̈₫¨ư'ÎúcÛüE߯ÿ8;ú Ï₫;«ü¼ ưù²kü<»̉úK ø[ûôơƯơÆ…ú¼ĐLøv ̣̣ ̣ơÇMư8:ü·:ưÿÿ#;øo¥öàüŸ4ü£böó ă÷ e¹ưÔùø¸óûđ ùû{Ø)üO ÿ0ư™8üùùưéư ÁüAÿTFưfßø'÷ üư~ÿEbưyÄ₫½¨æü ²ưĂÿ́8ÿÿ©ËüpqüÁkÿíQÿ&Bûø-ÿ'™€ÿ¸ ÿx³ư"jü°ün üû₫ˆưLü₫óù²ưe÷)ưçùû[úfüˆü|ûŸü;ưiÿüu?¹È=ë ÷ Oâ á  Uíåÿï₫’ûCùà÷}ö`ôỌÎñ[ơ+ïơự¼ơ‘öøø+ü€ûsü8ÿ₫̉„ ‚́¼{wkØ# ô ÑXĐ—ù₫øù£÷̣̃ẶÁíîÔîíáílíÊíưîzítïÏó̀óhö-ụ́ưÔT îç¤rô@4û % V~[¶ Cÿmúéơ„̣öîOëuê²èîésèºæ“ç,ç+è°éfị́ö¹ùçcŒEû’$ !a·'-Üz  ̉>û#ΠØưÄø×ñƒî4ë®çæ ænçèạ̊â>ä^åĂă“ç§̣́bơ#aâtG#©(o%r ó1 ä  >¿ ÛôÿöÿÓ÷ù…ô„óÅë?è‚äœă#ăvâ@äÅäŸä4å‹çÎêđ1ôèûÔ-"¸(ë'.,ë!]Èäï ̉ Ø n±ÑSiƒûœüđü,üFû,ú“ø…ö‰îéêNêåúă¿â=äéûåûåÉếUđ$öWù… ׃f&)*)Ë% > Ư ? Ù#ˆJüHú*û²ùkùÊ÷̃ø[ø&ö.ó—đĐí±êSè€ççè4ëNếđj̣÷ü¤r<«(¸$µ%xSgê‘•.Vk¡ưKÿ”ÿFùÜùù*ø™÷zờ÷±ùê÷äơùLơ„ñØđ îjđÚ́®́7ó7̣ÄđIô^ơü§ưÄêQ¼"é!ư½¥ ±xçƒƯÿ¸úÅüÿùĐù1û?ûüøíù)ưVûéùÎúâû¯ù÷ˆơơơŒơlñxñ)óîô~̣èñdöUø¦ú¡ư’ zß?z × ‡'©KzûMư3ÿ ưưưt₫#ô₫ªü5ÿ`ÿÙûiư{û¥ûùüưö‚øÏøKôxơỊ̂Ḥ öôçó÷u÷ú@ûBÑ Âƒ j¶́ b æ 4Â|A*ÿôZÿèÿlÏÙ₫÷₫cÿ¤üĐüèüAûíû¡û~úđú"úÚøùé÷öö8÷§ö\öÖơÔôºôZơYö̃ù₫†ZzĐ × ö ëÙ¹.₫ ̃ ơtÔë nàUG§ÿ²₫Z₫ư/üdû©úïúÂú5úÿù'ùÔ÷?÷ö¸ơ±ơSơ¯ơcơơ(ơơhöùưô“àÈ Ë ö Ôv]ÈÁ 1 . PZ·Æưƒ¹MưÿÿZ₫Yưmüªû”ú»ùÑùÜù.ú-ú×ùÓùVù̉ø¼øƯøùúø»ø„ø ød÷s÷đ÷Äù+ư3 öĐ > ̉ Ï _ ú  çơ˜9v ₫`Aƒÿ?₫Ùüßû¥úæù¾ù™ùú‰úrú–ú@ú́ùđùÓụ̀ùÑùeùôøcøŸ÷-÷8÷ư÷–úăư«0;đ  ó Ê - p æ €@‹€@™'ôó÷ÿ ÿŸưeü<ûûùtù=ù^ùúùWú®úÚúœú”ú·úÊú¶ú_ú́ùlùÀøç÷‡÷«÷µøgûf₫Èào l „ " Û ƒ  k ¥=˜ ií@ÈWcÿ®₫ư˜ü¯ûÉúxúrú¼úUû¡ûÇû¾û<ûüúàúúúù́ø>ø‰÷ŸömöÆöø$û@₫ECơ Ö ă m ô ¨ ­ , s,½$«BSǽ(%ỵ̈ưüüËûÓúZúúaúÊú÷ú%ûơú–úoúOú/ú×ùQùæø_ø­÷âö§ö÷‚ø•ûÄ₫ˆY| ñ ä ` î ® 5 „>Ä#?èii–ÿ₫|ư˜ü€û¯úLú&ú¬ú-ûnû¥ûnûûØú›úkúóùPùÚø8øo÷®öröéö§øïû1ÿơ·ÿÇ4 ₫ Ï  —   ˜\đĂḳrd*ĂÍÿÿÿƯưñüÔụ̂úƒúcúâúWû|û’ûFûÊú€ú>úöùqùÉø@ø÷Èööøơ•öÓø|ü¿ÿ˜l©u Á { T y đ r > ¾„û똆ôJ‹„­ÿˆ₫dưxüFûvúúúÆú7ûMûpû ûyú7úÜùù ùHøƠ÷=÷Vöêơûơóöúóư+(Øü³ 5 Û –  ' • )ºSåcé.Ê¡̣4ÿ₫ưüäú3úÔù6úđú.ûnûŒû"û½úWú úĐùùYøÙ÷ ÷Zöö@öøÍû‰ÿ–~ _ ñ Í H z T₫jü]ï• [7`¶ÿ»₫¸ưóüâûëúOúúĐúûÇûü ü¦ûFû©úKúÛùùhø§÷ºöWö ö÷dú<₫mI Ư q  V Ù * Æ ê„êtÀ6Ç+ư¤_‡ÿ‡₫ÏưÏüƯû,ûŸúÎúwûNüÄü³üœü[üÁûû?ú•ùù.ø@÷„ö)öªöTùóü>'Ṽ § 2 £ 7 s / k„8áÙ¾I*NCt‹ÿÖ₫Øừüñû2ûû‡û_ü(ư7ư:ư*ư„ü£ûú®ùùLø5÷BöơBö'ù\ü₫₫0^Öc ö ¤ I  L ¶ôÄ\̃é’Åé‚Ry‡‡Üçÿ ÿ\₫‘ưtü|û2û~ûïûÈüRư ư(ưnưèü\û?úØù+ùä÷­öÊơ6ö\ùü₫"U)ô: ` d  ƯöW``>tíúư¦@®₫Öư®ưëü‡ûcúœúbüB₫₫ưü!ưd₫“₫ăûøÏöø½øơÎï±óäôñC T ±É$â{àư]ü°±Ûíÿa³ O{„ßâû·ú₫̀ü-÷óLôùbû{ûƒ₫jg¯¡ÿïûÿù¤÷jñºíï,ïđ]ùˆÈS€§ö{Gsø¢ö¸ưÑ/ư€₫PôܘƒûNúa₫.ưÁú?úx₫]!ópüÉû#ü̃ù„ö½ôlù‰₫/ %ÑûjøaømøÁöjơÚơS÷yûSV-kÆüIøḅ@ùjù&ÔZeCàúêöVơ üÑåi8ÚgëûÏöö$ù@û)ưÀ₫ù< ư×ú₫úlÿϼÉp¾–³ÛÿüÉø†öñî9ëoíSó• Ÿ D­Ë¸ÿÀü•ơëñ«ơŒ" Ùœ }ÀôEü$öó ÷÷] § < åÙÿ6ú÷ó°ïỢ0û(CôA‚üu÷ôTöư÷<Ôm̃˜₫‚ùø½û;á*{ ºz2₫|ú„úrüĐ₫ˆ¶”[˜₫9û3öïÂëÖîè9†!û„½ữù ü²ü¹ö’ơ³üsg_übơƠ÷Qù—øâ÷Äøă đ ’ TưLơị̂öô@ù!úÉûSºd ¢ Œcúçôi÷lüà ÀÆ× ‚ @ ¾íúơ÷Fùn₫±åÔº­Rÿûö÷¿ø3ü”‡úƒVÿ6ÿQưWû‰úûûü6­#÷–ÿ?ÿ ÿd₫±₫².>ôÿVưüÏü₫Đ₫VÿSE§ÿuưÄûíûư…ÿëFt¤²;Å₫0₫º₫K¾¼Ë\r®ÿú₫f₫C₫y₫Bÿ6û5¡ÿî₫Ư₫Zÿđÿ¦́NÿØư‡üưàưOÿëÿ’ÿ/Eÿù₫¨ûUû^jÜ 2 cưeø’ûÿµBú₫₫?”›ỵ̈ùËù¤ü¸Àf́ ₫ÙüCÿÛÿ"₫âûQư¨ÿ¸Ă„gÿü¤üÉ₫8©z̀Ⱥ´4Öưùü₫íÿb´ë_´₫»₫¡₫ÿ́₫e₫̃₫oÿë¾>'[₫àưs₫¥ÿI4° "ßƠÿơ₫Đ₫Sÿ|/?¦ÆÿmÿfÿºÿËÿ‚ÿDÿ(ÿ¦ÿ=¨Æÿ!ÿ°₫å₫qÿíÿZPI@I€~e*A¬ûmÆÿhÿ¤ÿöÿ3Äÿ¤ÿ°ÿôÿ' Öÿuÿaÿƒÿ¼ÿ÷ÿïÿéÿÈÿ½ÿÇÿƠÿøÿ;k‡‚IÙÿñÿ$RfB ($Íÿ£ÿ³ÿÑÿ́ÿàÿ¸ÿ ÿÿ¼ÿäỵ̈ÿêÿ̀ÿÇÿæÿUfO*  øÿ9?øÿƠÿÛÿùÿçÿĐÿÉÿĐÿçÿñÿøÿûÿöÿơÿíÿêÿéÿäÿíÿúÿ>RS/âÿßÿÿÿ+("(1)Ñÿ¨ÿ¨ÿÅÿđÿ ơÿâÿ×ÿÊÿÄÿÁÿÎÿëÿ /;1ưỵ̈ÿđÿ'694"êÿÙÿßÿúÿ('êÿáÿâÿèÿíÿñÿơÿûÿüÿîÿăÿ̃ÿăÿơÿ ùÿëÿáÿëÿÿÿ ưÿưÿùÿơÿñỵ̈ÿûÿ₫ÿùÿöÿúÿ üÿùÿ÷ÿơÿùÿ₫ÿ ÷ÿíÿçÿçÿçÿçÿêÿîÿøÿúÿôÿñÿôÿúÿÿÿ₫ÿ ÿÿûÿ÷ÿöÿöÿúÿưÿÿÿÿÿûÿơỵ̈ỵ̈ỵ̈ÿơÿ÷ÿúÿüÿÿÿÿÿưÿûÿöÿôÿơÿûÿ   ÿÿùÿöÿöÿûÿÿÿ üÿơỵ̈ỵ̈ÿöÿưÿ ùỵ̈ÿïÿđÿ÷ÿưÿ₫ÿ÷ÿ÷ÿûÿÿÿưÿûÿøÿôÿơÿùÿ  öỵ̈ÿ÷ÿ ơÿëÿéÿñÿ₫ÿ ÿỵ̈ÿëÿéÿíÿîÿîÿîÿơÿÿÿ  úÿüÿ ÷ÿđÿéÿçÿíÿüÿ")"đÿáÿÑÿÄÿÇÿƯÿ"3-ïÿàÿ×ÿÛÿïÿ+71́ÿÔÿÅÿÄÿÖÿöÿ05-ñÿêÿ́ÿúÿ!,"üÿíÿàÿÚÿƠÿØÿæÿûÿ üÿíÿáÿƯÿçÿúÿ)25'úÿîÿçÿäÿóÿ $!îÿàÿÚÿáÿđÿôÿưÿ øÿøÿîỵ̈ÿóÿ₫ÿ ưÿđÿ́ÿëÿèÿéÿđÿ  ëÿåÿíÿ÷ÿ ûÿóÿóÿ÷ÿúÿùÿ÷ÿÿÿøÿùÿûÿøÿ÷ÿèÿëÿ₫ÿ!*6*øÿóÿáÿÙÿßÿçÿèÿñÿïÿ0781îÿ́ÿêÿ÷ÿơÿéÿÖÿ¿ÿ®ÿ©ÿ±ÿÏÿåÿ"LRqY;ÿÿíÿÛÿơÿ 9upŒjtµÖ”i₫ăúôùùú¹₫c¡íbMüôø™ø ú•üÍü ú|ơ*óxơK*V ‡#8nêfáBè üíéọ ¸ûñ*̣ÊømÇ û«ùE₫̣÷ọáí$́³íúÔëéëó_¤"–2h-Äđí~Ô Ï´æD k(¶2M%è ̣̀é₫́ëúÍ̃IÖ₫a À&èùÍä£Ú³ß³ïu¿ äơ÷á”Ñ£×Xñ±¬8?*4 â+ÔăzN+." áö¤ï˜ô-¹ T Xö·óWû —! ̣ˆß¦×½̃»ëù(ü¥ôÙæ-ƯèGü&:.7qBôIÚŸƠbîåH-†3&ï ọ̈2êï₫rô —(₫"ư´ E( köoæ[ÚpܳäˆđŸø̉÷{đß䳿ơ’*¹6d*.§ïg̃Jă†úSC,½/TDàñśộ@ÿ> µ V"[Ô[ùÎíĂàäƯlÜåPç`́·éOđT₫%:,b01'=GïhƯHçÉư[²/F/<"4øgî­ôªü4àeymÿóoé]à^Ü̃ÓßÔåÊåví÷ˆ ́ ©,'VÍù©æRç6ơæŒ#Æ-,&sçø×÷Êú½ÁLÊnt-…÷ í0ăbß‹Ư¸à¤áăămämîÚÿ± + .Ñx«íÓá`́ä'j,-l :ưĐöíúÍà–ư=Eü¤̣$èmßwÛ{Üàqäç€îËû¿""")Ñ"Û Ïø̣è9ëºùV#*ä#7ß®û•ûœ₫€xÓ*l$₫«ø₫îçjßƯC̃á¥äUçîđÿp["',Öôñéï₫µ"ˆ&ÁÎÊ~ưÉ₫S+] ÏMÿäû,ơíAåß ̃d̃ÀâåOíJùt øl# såưFîíªöl v×!Áºô :|ÿ¥MU €]4€ü6ö́́́æÓà(áƯà0ä¯ä,êüô/!k"S"ĺ ïH́£óÍŒµ‰ ·±¹¥‹/ RSü÷¡ïËéÉâÉá@àmăÇä’í­ù́ Đo!ÿ ©üLî(ï ÷Z Åî´x—#ˆŒ  Óévÿ$û›ùơzđGê©åÎâÛáuă1éûơw‘"ÿñ­îèơV+²ƒV*I î Löÿfû|ùüøæ÷Ÿó¢íç¢âªá?ä(îǜ ˜ÖÇ ¾úyñỌ́́úĐ ư R/´’ù ?ô…ú|øøkù²÷³̣£ëœäĂátâDë<ùä ûLS Rư’̣P̣&ù6Ûªë S\¬À *\%ú·ö…öëöö€ñ½ë|åÍâ0äcî·ưj&óÄÎùgñ¸ó+üXV1ºº Ÿ§º Ú3<ûJơGóôödô đÿè#äJâØêNù¨ €à ù9 Ïúâñóºûầµh © WdU s  ñøẹ´ñ ôÊöbơ:ïºçäá"ăJî%걿¹Íọ̈¤ơiÿ¹ï pô  '[ ñ ³ j²ưeơ7ṇ̃ ôAơíñ́Ÿæùäâë$úX KÑ:Ùàú4ô#öxư8 ¤ ¨9Ø 1́ ú€ươÙï¨ñªóÀơ?̣>íyç÷æ7ï]₫*B™¡ø̣ó³ö¶₫OÍ œ  V3è 6 ư ëù¤ñ¨íêị̈Éô‘ñhîlé7íÜö„¸I “A÷÷Iúô 8»Ó ´ C "íûuóíSîˆđ¯̣nñ»í‘êx́¯ö1û­çJú÷!úéÍ¿@0~6 p F§û}óNîœî/đḲNñhï}́6ïc÷ÀA#ƒÓˆ`₫ÓûØüz›>§fÉP § ₫—B÷Ñïµí7ï²̣ôó%đ$î$̣Nûâ öíœhñœÿ=₫¶ÿ´ăëT=ûf Îh\ụ́tíĂî¬ñ‚ơgơ1ôºđđªơÄÿü §¶hs&̀X†ÛrÓ°nưMơ¾îíÉîḍvơ-ö¸ơ‡óyơLú,² M¬¬Ư4 +ó“¬Ñáfër¿ư;÷,ñŸî%ïwñzô‰ö“÷÷ươO÷Èûƒ ¨JÄôN ëUhŒÁº€2D†úöôPđHï&đ¸̣3ơ:÷øøz÷œù.₫ªw óG̀Ë̉ ´ A‡$éä¢ MüF÷tóñ•ñóZơ¥÷€ùöù‡ù0øƯù®ư% °ó m C ¼f"Ÿ1acÿñúöẒçđưñÜôÀ÷»úäûêû8û\úûư¤Ó= ’ˆ ̉ “ eOcp6¯:V₫=û-÷jó™ñịơˆø¼ûưÿưëüvüéûéüÿ¹Ḉ q d Ư ñ yÔjeMàÿ¯₫Ơû¬øcơkóXô±ơLøÿùëü₫#ÿM₫OưIưÑưèÿ²Å • W E ÊĂ-1ÿưúƯ÷{ö'öT÷/ø̉ù̀úæư[₫äÿº₫º₫ú₫²ÿ¿ç¯ú¨¶óT{­¾¢;ÿ.₫0üƯúÁù“ù`ùú•ú1üƒư ÿ¢ÿ‹ÿ|ÿLÿ"49í-]¬₫íà¢A6Wÿ–ư£ưÑü{üóûnüÖüÍü¢₫@ÿ¢ÿ¶₫´₫­₫Gÿëé£E8…{ơˆƒĂFÿÿê₫$ÿ~₫¼ư¶ư ₫H₫̃₫ÿ¢ÿ¨ÿgÿ4ÿ¿ÿ <ä822ÖO8n›éÿQÿÿ₫ÿYÿơ₫6ÿË₫$ÿÿÿ£ œ<®ÿ†ÿÏÿ™†˜ ¥…X²ßÿKüÿmÿ¾₫×₫½₫ÿÿxÿ\ÿŸÿ×ÿ¡swV2a“3ŃïÿöÿdÖÿ5wÁÿ±₫=ÿ’₫Gÿ7ÿ'ÿ‹ÿtÿÀÿ“ —«ñÿ®ÿôAOí¤ÍÂÿÿÿöÿßÿƒÿ§ÿÄ₫2ÿi₫¦₫Î₫¸ÿS]ü G°LKûÿuÁÿÆÿ4ë|àÿßÿ¬ÿ\ÿư₫ÿƒÿóÿ$ ôÿ>ÿXÿàÿ×ÿnÿRÉ´ŒWóÿàÿ[ ~ Zøÿ5Ưÿ”ÿ2ÿ«ÿ`ÿƠÿS`ÿ¦ÿ’ÿâÿGNêÿ5êçÿk³ÿ*W°æÿúÿ»ÿ ÂÿW,¹ÿ^ÿéÿ*ÿtÿAÿ…ÿcơÿçGÎÿ]†Q÷ÿ’M6ưÿæÿ¦ÿÿ*vÿÜÿ£ÿmđÿ·ÿ[ÿéÿ÷₫€ÿlS«Æ ®Ăÿ¯÷ÿ'ÿ-éÿ ¤ÿƠÿ`ñÿïÿ#ÿÅÿmÿ/YÙÿPçÿ@çÿFäÿ¶ÿk÷ÿÂÿ —ÿ¶ÿ©ÿ‹à§:ÿÍÿD{ÁÿZÿØÿ{ÿªÿ·ÿB£M¨ÿ₫ÿºÿ)?ÿƠÿ,`¢RÿO£¼ÿHÿÿÊÿA²ÿ¯ÿÛÿ¾ÿK«ÿ̃ÿÿ"›cXÅÍÿ<ÿZÿèÿNÿ³ÿ”ÿæÿ;Ưÿêÿăÿ†>+HqG˜ÿ‘ÿáÿÙÿ~ÿ”ÿbPåÿíÿxĐÿ£ÿ;2 "JÇÿûÿtÿ›ÿ8ÿÿE:ÿTăÿªÿ₫ÿ+ Tmÿ³ÿëÿêÿ( Úÿbk(÷ÿ[ÿ+HïÿäÿăÿØÿ₫ÿGÿ©ÿˆ|ÿ°\Ùÿ:oÿ“́ÿXù₫₫ÿóÿ’¢ÿ)D;;->nOAÿ‹ÿYÿ…›ÿäỵ̈ÿ¿ÿ/yÿ¬ÿ©ÿ#O{ÿF¤Åÿ₫ÿ7±¬ÿ­¹ÿ˜đÿƠÿ©ÿ<ÿPÊÿÿÄÿ́ÿêÿ…ÿ™ÿ2đÿ£1 ÿåÔ₫ˆ_& “3æÿÀß₫N ÿ·nÿVÿàÿƠ}ÿC{ÿg¿ÿåÿÛÿ¬OđÿÇÄÿăt^xÿÿÇ₫í₫Êÿ¨ÿ­ÿ «ôÿOÿîÿ…₫Ô™ÿçÿoÿímA ăÿèÿÎÿd₫¯ÿăÿíưAº₫²ÿÿ4ÿH{ÿ¬/¹mÿ9+ÿó-bÿ´ Jÿgơưº&₫%C₫^ÿØÿw₫ó¸₫sÆÿÇ₫H̀ÿ‚ÿ‰ÿ ¥ÿ,ÿûÿÊÿ’twúÿ¸ÿ—Wÿ¶ÿúÿŸÿL ÿ̃ÿd₫èÿMÿ¬ÿmCÁÿ†₫Đÿ}Ơ₫ vÿJœÑ7­ÿÇÿØÿ-A¼cÿT₫&ÿxâ&̀ü%₫†ưª₫Iứư—₫ûÿ]ˆ)%0º]oÁ₫"ÿÿU₫*ûûªúqú}ùLøMùoúƠư₫â₫›ÿ3E˜ Á W ¿ ¬ \ ³ ŸÈ"ÿküú¾÷5ơœôọ̈-óèóÂô+ø1øOú–úưœ₫jÙ ä-8â @ ^ ̃ nè₫_₫yư:üƠ÷"ơạ́đññïđ‡̣î÷uüư,üùåûËr ¢®zsr£‰¶ÿ^₫>ÿ,ü ú5÷öƯơ”̣̀ïFíAîñ‹ơ†÷î÷œøù¶₫¸ô µsùăâz "Œ₫PûXúÓ÷(ùùù̉útøêóµîyíEîWđüñDôQööuöÍû’ü|ë,æ^E« ‰7ư¢úùŒøö¾÷nùªüéú ÷$ñ´îïîvïËđ^ñHóMó ôtúüß/ {°4i ‹Pùø´ơ¨ơ§ô½ô"úËưîÿêûÿơ*̣µđañđ¼îÍïáđñ×ô3ÿ­ l₫¼#è!ùí]˜úWöAóôôŒô öüLçüövó”đñ¨íẂ íüí±î¼øJW!ê$̉&i$+!ëO œû¼ôJ̣®̣ ̣âñ̃ó{ǿ₫ˆ̃ŸưúM÷G̣0îÚéê7í¿́ŕKö=”Œ(¹)Î)G#= »µ‹øCđäđưñKóóơ³ùƯÿ ‘ü?ú§÷bóÆîéiè­ëḮ@í#ơæ—¼(¸-4*‰%¼9 ÑøŒđXî=̣ƒôŒờơ‹ù¢ÿ‘^ưø‰ö=ôÙđ]ëEæ®èAí\ïëïíúË!¼/B/)đ!&¾ôÆî ï$ôJöÔöơ÷5ü©Æưÿúïơợ̉ˆïËë„éØídṇ̃Uđú÷„ îÿ,Ô,,&ˆ ½Íơ’đvñ+ö¹ø‚÷¯ø*ưAA₫¡øơôơô~đ îơê—íœ̣ ó'̣ ñ¯ü÷!â*Ư'à#µ0 ¼₫åô)ốơ½øÏú6ùÚư[$àùU÷‹ôṢ»ñKî0î¬îđöDơPợÇ÷ô ’û(#(º8 ÿköÅ÷%₫[>0dBø‰ô'óƒóơó3̣EñSđxóẈœïË́è î²ÿU¤"¬%ß![oW5ơưăÿq Z nœ¨ç¿₫?÷ÂöôŒ÷ÿ÷ôóJïưî"đǿÜësæ`çÊêÊđÀ9Ê ˜%2#“76 á  „  & xÉÑü±úÙùêöÓơ’ôộ̣µí́́´ẹ̈êµæ•ç5́3ñiù—g7&Ă#JÏ!Œ Ë›îP ç/¬ b>åÊúŒø ơvơlôñzïèëIíḾjê 龿íé₫́¹ï±̣zûŸ%ÆÎƯ ê4 X`’G9äH₫÷ú¶ö;÷bö½đđ́́ØîËđ;́ué@é¾́²đ¿ïÁñưó$gï$ơq̀; ѨI eM i$₫́úÛö6ôṿbđmíÚë¿́‹đôGơbơÜóP̣6ïô[ÿN ñHæd÷ ³ưP È »i£ưºúø]øíơỵ®ñÁđó>ơù÷|÷ỆôôơØùéÿ “¼:øß 4₫§ÿj ( ‘ăü²ưï÷#ơ¤ơBôÍñđôïúó ö¯ö1÷(øÁù@ư₫`MJá1Vk Á¨ =^ˆ ÄBĐÿăù¿öçôB÷ôñwññ ô\ôô³ô™ñ̃ô¯øưÑ —\¤å¹ sƯ؆ ø ¬ ¿₫¦ùùË÷tô¤ódï¬́-́́©đlñẈô ơñ÷™ô‰ú̃(O bôÇÆ  X Đ C Q:œÿæúNơơ/̣̣¯îÁêï’îzñ ñ(̣ô^ñóyơ±û×¥ ¯Fèd̃$§̣ <B© ˜̉] ûW÷ơ~ô}ñzëí!ñ‡ñ@đÛî†ñọ́Cđºíỵù°3\ÀÀ”ŸM € F ]c â£eư˜ùâø~ơîxïWđÆïàî·ê«ï•ïÔđ+đ«ñÄ÷÷’øăûÇ"0P”± — I v>m ¥ ¾z-ù}÷íñØïµëî)ộđSï½ï¯î[́­î’ñ)÷ưưåưqÿp™I¬jÁnäă Àê Ơ E ­|̀yüåû.úó7î©ë‡đ ñ•đÜñßí‰ïíÀïßô$÷E÷¥úWû̀ưJ+ %««p1›  Ê «d rÄ¡ư¤ø]öíñÈëIë±ñhö”óIí́„í…î¦ïaơiúüù<ùöøơ₫Æ h`¸ï±e —µÆ ´ |. %düñ÷®ñïEđ}îĐïGđïđ†đæî¦đSđ̉đëñÑó£÷ú°úǯʻí§(ă₫=` + '£KjÁ¿ư?ơ!óËđeîÄëßïóäđ0ëĂêÚîëïĐíÛđ)øXûÀơêơg¬ œZ–§¸J÷d eb] ~ AÛÿ\÷ ÷½ô1îjè×èxíµ́Î́–íï đáí¼ïŒ̣>ơYø*úÍÿïŒ₫ ­”‘¼å8{Hº ;®Ø ơÏơüløÿôÊôÔñKíuèÈèîØíï¿ï\ñđ‹ïÉđô¢÷›÷Åÿ„e ¿ p ~Us¶ ̉l!/ ä̉ ù́ôạ́cóèópíë›́pë=́[íïđÈí©ị́́6ñ$ö0ü¬×ç ߬´´Ô%ç e ïú>Ư Ø\₫÷ø€ơkơ+̣åđpí$ëî±îcí´́́+îëeêrëÚôÑùƯưC…¨½0I¶ … ÍJ„B lŸ )gû#ú úđ̣»íÍï$ñÎï¦ếxíấ ́¡éí́ó íṇÂơ¹üĂ{ Dù³4z ƒ X køL,¡ º#¿üsüù ơÚññ ñsîĂếíÛîôê5èEê₫éí<ñÉöïùÍ₫pÀ%I#₫pØ ZŸ çx ¼̣ÎÿÖưiü¾úùiôǵ̣ñFï½íê—êêé|êYî²ë–ếëẠ̈_ơÛñC÷ K–$ç$Ôœ 1hú\ú * >.j₫hüù„ọ̈ø®÷9ôIïíí[î„êÁçåç!ë́ZéûéCï óIơoø· ‡1%W%ñ}gCJ„ ụ̀ ‘ ¼ <&ÿ˜ûưûǜøưú1ûøló˜ííṕóêÚædæëiëªê¼ë́ñ{ơ0úæ À°'F%„ ånOEù 5 × œ(ưùZú=ü]üTû₫—₫!ùQ̣̣í—í…ë¤åRă¾è́́ëFéîYơÿ$Ij&̉$g·bE•½ %— fvüºö÷ üqư› ‹ÿYơ¸î(ëBè³ç›ăYæưë ́vé•ế5 û%ư##•Z÷ÿH5 ; ßU½ Ë÷±ơ„ónôúæ† É₫‚ôû́Aæä5å…äséRê,é¾éúíNÿ#:&L%#üÅÍü¶ư  Å )5º ¡³ø ộÛđ&ơF₫€¸ œø²ûñ@éă'ăÑáÚäë,ê:ë<íºùh4&n'h$¢#Ô ,æưxú ́äæ@íưSú1ơ¶ó¦đưï¼ö © #ûiîÛăQâ ạ́á̉åXé®ëßító́½'ù*6)J$÷%`Bù­ú¿.ÿ§I  ư‹ø¢ölô#ï·ñwù»­ ßè»ñúÚîóäOâKà¹à¤çñædëCîëư¦!î*b/-x*‘* ª₫–÷‡÷éûŸö±öîưư6û_üK÷ạ̈ơqü³,×.Nù́~æËăâbă³åçë©í̃&-73Ă/4̃+Y óơyö óAêMíööé₫.₫YüGÉÿƠú=û MnnøÿL₫ăôëÜåyâwå=çSæ|è~ëơÁQ%—-¯2y2:8¥'÷4³ø©÷¢́—åaèØîYöMơ*ùKƠ {FÛüWùJï éƒâ†âèççëçré™íƯø2d#u,³1å3h8R+”¿ g₫ùîKäÇâÖå¢́ÄîñLùîư4•¥ FÔ) åÆú×ö£íFç®à áUéTéÄé’é₫ïgú) Á% .Ö0¶4.² $tÿ—ơÆéƯä9ă”æDéäéÚï™ơíưÙ‡đ‹¶ ²ú;ô íûçRå-ê?íSîuî°đ×÷x₫¿ âh%r%£'§#wÖ, Bqûụ̂<í́è®écêjë:îÎñø÷₫§ ̉ o /µuûy÷·ô‘̣$ólô*ơ ö9öÅ÷&û#ÿm iÙ]Đ6éå ßó®Pü,ùĂơHô ôwôwơ ö±øÑûƠ₫0s^ ₫†ưüü…ûû~ûéûü0ưÎưư₫<hm̃ÇÁ£È7<g`ÙRŒÔÿ\ÿw₫ư¢üƒü»ü]ưÉư3ÿ́ÿ(z¥äxiüêÈñÅÿ ÿÇư₫ü3ü&ûûDú·úHúYûÜü¥ưXÿ½MbDBªk äORœ€ÏØKov·¡på-ûđŸÿ·ừü9ü$ûDújùJùñùZùú…ûfüóư₫ÿÔUÙÇ"LM–¯™=ØpUÅt´zlÁ;pÿĂ₫₫₫ưưqü©üJưFưiư)₫ôưÀư₫(ưôüßüCưAư€ư}₫ÿk/×=°è8ƯÛ9M ¶D¥Øÿ¯ÿ”ÿ ÿ^₫üưT₫₫ÿvÿ°ÿ@Ÿÿü₫ÿă₫q₫g₫›₫rÿÅÿ ÿ¶ÿ]C©ÿz¡qXóùå– afJÿ)ÿ_ÿFÿÑ₫Œÿ´ÿàÿ₫ÿtÿ´ÿ+ÿèÿåÿ¹b}%Đ(âÿ4Đÿcÿ€ÿÖ₫uÿå₫‡ÿ&ÿzÿNÚÿóÿ(_£UÈÿVQL´ÿ{ÿAÿUÿÿ ₫‚ÿáÿÄÿñÿaNóWŸpĂæÛÿ¥ÿüÿoÿ|ÿ6ÿ8ÿÀ₫4ÿóÿéÿTÿíÿ ‰*!V8œĐÿÂÿ£ÿ}ÿ²ÿüÿ%SNHr?eÿơ₫3ÿaÿè₫1ÿlÿü₫‘ÿ»ÿSO]ÿÎÿ;»u>q’=¿ÿô­`@ÊÊÿ{ÿ½3àÿáÿ®ÿzÿ₫̃₫PÿOưư‹ÿ:₫₫.ÿY›ÿŒÿ´|ëœhÿ'Æÿÿ%_8ºApVQt^J<ơÿÑÿ ÿy₫Ă₫%₫eÿ=₫Á₫ÿ•ÿ₫ÿ¨Ÿ>¡‘HA>T£ÿÿNÿÜ₫MĂÿÏNŒơôÆGNFk¹ÿ¹Jÿö₫<ÿ…₫‰₫j₫^₫¥₫₫Sÿªÿoÿt â+û₫›₫œÿ£ÿàCy’£ÉîƒÅtU?…ƒsrĐÿ¨₫8₫±ưÄưư„ü‰üdưưYü;ưÙüPưư₫,₫‡₫v₫ö₫hÿ÷·: Ñ¢cE¬ß‚3ÿÿƯưnüü_üáüçü|ư°₫hÿ¶ÿ•ÿ¥₫‚₫¾ư ư‚ûxùùVù ù°ø÷\øúfû,ư©â " CˆÄ­á U á?¼Oü;øÆơ\ơ ơJơƯơ ø÷ûùÿA1ÑŸ L7ûÇø4ô@̣×ñƒñ”̣nñṃ“ơè÷₫q ¢Ñ<yrO Å ¸ú™ôgđđï6ïmï6đ̣Jøqư„Á? »çMo ³àü¾öSïXë+éæêưë3ëí"ñÖ÷Ñ& ß!"#"pAÏÏ[ƯøLñpëùé ê^êŃfïơúûeÔ” m!zÍ lư&ôîé€åNå@æûè±ë²î©ôü ©©/"ó#ơ%¨$&ç¨ #.ûñÓé"æ’æYéuêˆíJó“úˆô ˆ‰-ăö ¹ $=ÿ«ö₫î%́)èå«åç“́ï™đJö₫¿ *y!>#'¶$ßñ»úsî!è(æÂç:ê‚é̉í…ơdưZËî ëíÖ3 ä ø-úôXñ”íéèmænèë7íEíïLơ«ü– ‡ú Đ#Ơ& $:Ô ü¦đCê÷æ‚æèçÊç ́?ó’úB ±̉öÊ ª  ₫ ùOö—ñNí–é9çÍéZë́ˆí/ï&ơ ùUäŒr ¾"¬#('"ÑÉs¬t÷kí—ç±ă³ætçèTîvôÁ₫RØ+GÂo‰ äG“ËúYøôj̣¡îbêOêê]íïæî—̣2ơ°úØưf̉íA!!"±$x ¹ Ajÿ(ơÖë£æËä–èƠèºéRï?ööÿR) >Ä » ̣&gú́ö{ô(đẮ»éÛéúë-îFđ”ñäôYù–ư¨ëk\ H… œ› Ñ_₫Ưøùîéæå;è³ê5êípó2ü«d· â«qùi V (úơßđ±í ê~çpè̉ëÓï¶̣½ó`÷ÊưpƠ7 ™9>”CÙ§Ø Ü¿üpû®öïëËêî đïØ̣äøsô~ă 1é  ÚÇü)ơƒđôíwë®é\éí¹ñnôöáù±ÿ1ơ¥ \ À:¨à:c>W ¨?ü¼ûÈ÷Ụ́ñ ñÔóô€ôæ÷ûƒ‰¶bz › × @‰}₫høÔñïî¥íƠíôîóÏöLùđû}₫Ơ¤n ‹ 3 C ä6 q & Vüÿ­ư ₫ ûèöÎôơÎ÷øm÷.ùYüœ£%Ô l +>;Ú₫_ú“ớñóñÎṇ̃/ó(ơ¾ølû,ưEÿD}“GkÅ  æ 6 k0›Â( 3ÿnưqû<ú«ù0úBú°úªûvư‚Ωs̉BLÿ«ü"ú\ǿöÉơ×ơI÷`øúú:üçư¡ÿ+đs"FÉ́ưÂT_9^¦­œÿ+ÿ-ửưyưnư1ư4ư°ư/₫¨ưÆưÜüưËü—ûîûăú:ûû̀ûü+ü’üưư₫Uÿ10aôÙÈXÔ ±´À-XÛó0ŒA Y¼ÿ¥₫®ưÏü÷ûœû̀úûiú†û8ûUü¡üˆưn₫̣₫Sÿ?ÿLư ƯÖ  ÷ñy CaøÓë+ tˆÁRy°×ÿü₫&ÿ@₫r₫ôưÜư:₫-₫-₫́ư(₫ëư‘ÿ#ÿ"ÿ)ÿÈ₫e„ÿsÿ̃₫¬Ôƒÿ­ÿÅÿBÿN¿nÿ¶_#Ị́ªă^™ÖI{&ÿÿ,óÿq₫:ÿÿ eÿgÿØă^ÿ<ÿt*ÿè₫₫₫̉₫Pư₫̣₫Yÿ”ÿáưpNÿNÿ± …̀ÿ¶YRœ7Vy@æÿCÅÿ¥ÿéÿ!…MH™46² e&Ø₫Ơ₫<ÿ~₫îư–₫CÿTÿ5₫öÿĐ₫a4ÿ„ÿÿLÿ1Úÿj¦ÿgÿi:ÿ±¡ÿ’›ÿŚÿØÿ²ÿöYÿʈÿcÊ<)ÿI‘¢₫À₫©ÿ ª₫‹₫Œÿ7âÿàÿ×ÿăÿ¨ÿ̀ÿ·ÿM₫o~foæƒEÿéy\ÿ\ÿÊÿ;ÿÀ₫€ÿ»ÿ¯ÿÆÿỵ̈ÿÀÁÿDœ’ơưÂCÿ0ÉÿFÿA1ÿÿ2₫¢ —ÿÿđÿrÿ…̃ưƠÿ¸Äÿ*ªÿ#üÿïÿ̀₫ó₫lÿ ‹ÿ™ÿ?¥Ô₫ÿÿk… ÿ`ÿkBáÿí₫yÿÀÿ+Ô²k0₫’ÿÿwM´ÿ–ÿöÿ%Uÿ·ZœÿŸ¢ÿ+ÿ8+ÿé₫Tÿ…PÁÿ,ñ₫qwÿ₫¥ÿ*-à₫Œ ïdÿ‹ÿ'j}Sÿà₫œÿï¤Äÿ„Vöç₫=ÿ!VÚ₫Gÿ´²¹ÿ°₫T áÿí₫èÿkÿ‰ÿVÿ6=₫ ₫º¢ÿqÿÿ¸ÿˆÿŸÿ₫ÿ! ÿå₫ vCü₫Éç+ÿ¨ÿeÿzÅÀ́₫ÇÿHúÿÿ!BOÿ̉ÿùÿÿ¬é₫uÿ=íÿÿÚ₫5Éÿ`ÿÜÿÜÿ’hÿœÿÎÿHÿmÿ úÿ“°₫hN$Hürÿ« ÿ\<¸z₫¸ÿ^{’4ÿê÷ÿ®₫R[ —₫bÔÿ=aÿ-ÿ/Sç₫Xÿ:~ô₫úÿ9Ùÿc¶ÿcQ|sÿÖ₫ú₫}—\›ÿ:ÿ³°ÿoZVÿöÿ{oÿ“₫I]ÿ´ÿơ₫˜¡ÿ=¢ÿ˜ÿ$H?†ÿ­üÿ°>@ÿÿ|cº₫{ÿÿu=ª₫Mÿ{“]ÿ7¬r£›ÿ¯ÿ\ Àÿ·ÿA;lÿïÿçÿµÿˆÿIÂÿiÿÀÿ—/O÷Íÿc[ÿqF„ÿÿpÿ-bÿíÿ5‰6ÿ¦ÿjñÿŸÿŸ…•ÿd@»ÿ%­ÿ‘ÿxÿ\ÿc1ÿ™+ÿOQ…ÿÿ3¬Eÿ‡M„ÿ×ÿ;@ÿ©ÿèÿ9­ÿxÿÊE‰ ÿ+(yÿ¤(ÿsaÿ›ÿÁÿyÿÿƯÿ%ÂÿÔÿ®ÿÎÿÿÇÿlÙ₫ÚÄÿŒÿK—×ÿ9ÿ¥ÿ0ăÿ·ÿP=ñÿ­ÿÎÿôZ­ÿ›ÿ‰W½ÿ€ÿÂÿyÿ6Øÿ†ÿBàÿ,½ÿø,ÿYÖÿU/ÉÿúÿËÿ>ÿ± ÿ?ÿ=;ÿüÿ£ÿ Æÿ=m™ÿæ-ÿ4‰ÿ0ĐÿBYÿàÿâÿFXÿ+›ÿ˜ï₫£±Åÿ¼ÿ†°ÿOÿ5*Éÿ,ÿ9‹.ÿPóÿ¼ÿËü₫L¢Mÿœÿÿ"íÿÚÿÇÿ¥ÿ !~ÿìÿ‚ÿ—‘ÿÓÿ<}ÚÿœÿX₫ÿ !ÿ°Đÿ…ÿm”ÿ7Nÿ¤ÙÿPÿ ̃ÿ ÿ=_×ÿGÿƯÇÿL̉ÿÉÿÚÿU—ÿæÿlvÿ«ÿ§^çÿZÿîbÿ$%*7ˆÿÓÿăÿBC´ÿ‚ÿƒ(±ÿªÿ:Îÿ¸ÿùÿ.Øÿ óÿ¹ÿMëÿ½ÿđÿoŸÿƠÿrnÿơÿÚeÿK6Oÿ$Uưÿ°ÿRbÿ*ûÿkÿ(%ÿ©ÿÿ§ «ÿ6¦ỵ̈ÿ¬ÿaÿÿ£ÿn[ÿ*´ÿ+Ùÿ5ÿÿ!j‰ÿXâÿơÿ5Øÿ!kÿê#¯ÿR7ÿḿÿ'Đÿ{̃ÿ́ÿóÿHÿQJÿ˜ÿ ́ÿ#µÿÖÿŸêÿÿ- ƠÿĂÿ[Pùÿ½ÿ‚ Àÿßÿ…Äÿµÿ€_ ÿ³ÿ|´ÿäÿQ»ÿ¸ÿ®ÿ῭ÿÿỵ̈ÿÊđÿ_ÿ£ºÿ+sŸÿFæÿ#̀ÿÑÿ/œsÿoÿmjÿ1WËÿ…ÿ"Îÿæÿzÿ\ÿóÿ2Æÿj·ÿùÿ`ÿq(’ÿP?Zÿ)ÆÊÿ›ÿ y?{ÿÿEĂ₫Ûÿ?nÿ¨ÿ\ăÿ̀ÿ$èÿP\9ÿäÛÿ–ÿ¤ÿ`uÿQH™ù¿₫Öÿ,1É₫ÅÿQ¨ÿeÿåÿ…̉ÿÿÍÿÏÀ¿ÿŸïÿÁ¡ÿ\ÿùÿ ”₫Óÿñÿâ₫ˆÿ¾h€ÿÿ|Ôÿrÿ›;bÿø₫Tº»₫ ?ơÿ=ÿaư:›Gÿ̉₫#êÿ'₫R₫¬₫…ÿHÿj₫º₫́œfÿ ÿ—YXpđđ̉³X?A:¡éá£ÿ¯ÿ®ÿ1₫@₫yÿÿè₫̣ư›₫ç₫ûưèư€₫ơ₫Øÿ!ÿ£ÿF ÿHÿÅ₫¾ÿ̃ÿ?ÿnÿ'fGAZè nưhÏQ&°ÿ 5ÿ•₫6ÿÆ₫ªÿˆÿ'ÿIÿƯ₫Û₫Û₫v₫*₫€₫!ÿ'ÿú₫…ÿÍÿ»ÿMnMEùÿC“ÿBœÿ÷ÿđÿ¾):â1ûö̃`Øœï&(ÿQư°üùúúRø³÷–ö÷ö÷øø¥úèúQüœ,º · ·+ M ß  »×Sư~ùPøY÷¡ơµ̣ÈđÚñXñâđ%̣Èó©ô}ơÄôù„äÙ ́JƯ ¥]Gÿƒüiù́ûcưÛü³ûIú½úføß̣ªñañYđî—́ǵ’ñŒưÙíÄ–*ư!zqyØÿÅ₫Ăû^û™ÿ±EƯ×üDüƯơórđ>í{é®çRåúíûûƯµSŒƯ€ÿ¶₫ăú§ÿåĂJ'\•Ûư÷ùêô¶î}ëoççxâîRư?û΃KLø ú+ÿ2ư~₫qüU ÷ € Ö ë›ü&ơMí́Vçaåấđß₫!û5µ×R © Îüùưn₫üÇü˜₫b~¼cH öçù₫lôí¸í–çåüá³đ`ÿù¡4Fµ 'êGû°₫Äÿ=ûáü?ÈB¥u¥ Êääÿ¯ơ‡ïiđlè¾åläÉî³ưqøÁôùé " 5½û™ÿœ“úöư‹éúL­n k¼ O‹ºøạḳêˆçưæÛ́ûtø₫ă ^ 2 gßüoÿụ̂₫ V¼đ ~ ‡ó ĐAâû.ơ½ó;íê!é~́×ù­ø₫ÿ   ơ  U¼ùư9ÿüwÿß\ø‡J 2 ±½ ê8×ư‚÷*ơ”ïÚ́áêÖí#ùø0ÿÑÔ? g@üX₫ µưO @g Ú  ƒ qö’₫ù€öưđÏî́gïDø÷ê₫t¿¼ZdFCÿ&•₫nß0Ø» €}Ù]₫Øù.÷̣’đXîêñË÷ë÷^ÿ5úæưV₫ÿ8Ip`± Å%²  Ç/Ăưút÷ ọ́åđ¬ô₫öAù%ÿ¹[‡µ£pí1ĂJĐYd è S'₫6ûÉ÷ăôỊ̂ḍVôLöù]ưđÿ}a[ÿw'82¡.w\/sđƯÿ%ü¦ø|ơạ̈ˆñ”̣RơˆøüWÿv²H©¿¼=p\‘¿²BỘFàŒgÿÓû øªô3̣ZñỘ¢ơ<ùùüÜÿä¼;¢§Ô6a¼t¬CY ÿkưÅùCöó[ñ÷ñiô¶÷Uû¡₫'¢JsĂö%NwÀ+ (˜;₫–úăö̉ọ́Ạ{ô–÷û₫Wäüá6ëZxºâ $ˆuÚU.ưºù„öÖóP̣cóëơù6üº₫˜¥ZçIƯŸXtĂ¯iÖíg4₫ûú¸÷÷ôị̈óAơ<ø­û|₫enđOs­{‚~MsJˆ~ÀZ€₫+ûÇ÷ơôæ̣³̣Ăôơ÷¡û¼₫Ó ‡¥eÛ ¿ÎujjÿÆña=₫­ú@÷ˆôẓ̣÷ônø2ü^ÿ ×<J₫¢̉R>L_ !7®RHfùüvùFö²ó2̣SóIö÷ù¤ư„çƯZ7^̉Ÿy]€‰QT ̃ưtú;÷ŸôẠ́9óÅơ3ùêüm£Ś®¼§T$K-áÚ5pư.ụ́öiôẠ́Uóö|ù<ư_̉#¬Ưu!ơ)´J,ÿ”j´ÿ€ü*ùÿơ”ó_̣ógöúêư™ñ¢*½e‰èXßÖ˜àT@₫ûÄ÷çôặ̣sôˆ÷8ûè₫L˜E>̀YA›ÆèÅä#ÿơûÇøâơ£ó§̣»óNö¦ù;ưG?É¡6ÜŸv‚®rÖË _ÿ5üùNööóạ̈ÂóöùüÊÿ“£,é‡#·{kwd­ÿü ù_ö$ôKóMôvöJù…ü¯ÿTZÿtb¤ù„,•È’±₫-û|øöKô#ôoơ÷:ú<ư"r/––SºơY¸ùú…bÿ±üùù—÷ơ­ôPơđöù¤ûg₫́ ævdÁ´DnĂâ÷ĬưûÈøÚö™ơ¸ơíö½øÜú7ư˜ÿ¹®{ܪó¼÷ä­!₫®ûwù²÷|öböm÷ ùâúÖüÛ₫¸{>Ùû »DRRAåj₫9ü₫ù6ø₫ö³ö ÷1ùöú¶ü€₫1̀uj9;kheG#Íÿưúú9ù₫÷c÷Ô÷ùtúáû^ưó₫“U,ÏívkÍÎÉ«:³ÿ̃ươû\úIù«ø­øZùBú)ûüRư¿₫o[OçïaF¤¾¬t)² ÿPưÎûÄúú²ù¯ùúúû̃ûưüg₫ä«°Ú›æ‚úkÿ₫êüüaû¶úGú(ú?ú‚ú ûưû@ư¸₫_ăÙk\¬¥j0æÿĐ₫ÏữüưûAûÈú•úƒú›úûºû¸ü₫…ÿ*Å/5ÅñÚxÏǘļÿÜ₫₫^ưüÎû û…ú6ú'úƒúZûü₫œÿ'“Ÿ1~™lî4KBDd ÿï₫K₫ưÔüü_ûøú¿ú̉úJû+üSư£₫øÿ1C'Ï3y­­S·ƯƯƠåÿ ÿJ₫ÄưQưªüôû|ûOû@ûmûüưL₫uÿ˜“q/¾#\|}AÉ ]‰È#™ÿ*ÿÏ₫p₫₫›ưíü ü"ûú—ú8ûJüưƯ₫ ·#çY•*`n…ÂÿRÿÿÿÿÿÿÛ₫È₫¢₫¼₫ơ₫EÿÉÿo,¹)$÷Θ`+ê“2Íÿ‹ÿlÿDÿÖ₫₫ưưmüMüHü¡üXưôư\₫̉₫QÿÑÿ,È2½Ó°’wƒœÈ*c6tÉ«l1₫Éù-ụ́₫:…₫%üØüÿrT‘ÿcÿZÿkÿ^ÿKÿ’ÿ˜ÿÿ₫Ûưà₫`ÙcVÿÿKÿüÿ"&?°è!m’¢mQ2ñóÇ :Ê:{ØTÿÿcílü)ö/̣}̣–ø©%–™ư[üßÿµÀơ«KÊÿºÿ2L+:Œæÿ&ÿàưqưC₫Ùÿw&Ô₫ß₫>‰2ííu6Üq{1ÔÏy'–ÿ€₫ªư~ưưºư`ươü„üküư₫ ÿ[ÿÑÿw2<!Œ¬đ9TÔÜ«ÿ‰₫\₫|₫–ư×ûñùaùzúGü—ưôư₫₫₫7WûzEPFó̀vĐÿKư¬ûÔúyúâù€ø÷6øZú·ü2₫»₫iÿµÆ̣íR ³   ưI\8â₫2úïöơ¸ô?ơÈơaö4÷bø5ú‹üEÿCnoØ „ X \ Ç w ¨ A¡ ÿ×úà÷ßơô=̣đđ¸đ̣2ôˆọ̈øœû¼₫Ç¥° d‡Q] d æ](ûö9ó™đlï—î<î+îï ñ2ơñøaücµ R¿¡È8Ë9k ç*û ÷7óRñlđ|ïªîí́;íªïmó ÷oú#ÿ/J M:´íáz L-ú™ôÆđ©î#ïwị̈ïÑî×́ơë¥́đïKô‚øS₫²ó ¥pö — x¾8y FúÊôœđÀíœíäí̉îWî˜́ÈêAếvđơMü‡_º %m$è [¿Ë Yh₫ ø ó:ï§́É́5íÁîwî.í)ëGêGëîẸ́®ùC-"«''#„Jơ –ßưÎö]ñ§í>ëÖëŒ́‰î¨î´í–ë6êºê¹íưñhøË ¯Ô"|)®)Œ%Pôí M²ừö/ñí,ê~ê^ëî ï÷îó́?ëë`í‘ñÜödG µ!m)+2'R À ³R₫Ÿ÷Ưñ‰íÚéÁélê¤í¢ïđ&ï²́Æë:́Eđ@ôhưÉ·='Æ+»(Ă#–ó_´ÿ;ù ̣¥îDêé½é;́Èî»ïÊïLííẮˆđóäùŒ# Ÿ½#•+¡*l&1 ̀ˆüÏơ`ñ́_éôèhêPî1đÑñ·ï2îíqîḌ¿ợưÛmJ&à*¼(##~¹ZêùƒôĐïëbé¢èLëÄíđvđºîưí5íđkó6ùA­ †  t)K*Å'¼âÈ €đưîöĐ̣Rí]ê•è9éùëZî¨đ:đŒïàî€ïỊ́Qơeûñ ú"Ø),) &yª# ˜íü‡ö?̣1́Ëé²ç¿éṕ|ïUñµđđYï½đôƯöđü–ç à" )r(%J¢ ±³ûöÂñ7́Óé¾çế*đ̣3̣³ñṇ̃xôàöü̃đ .!Ù'R'Ó#̉˜… ¡ƒüNö[ñÅë|é<è̀ê›íêđḍ¦̣&̣^̣‚óöĐ÷ûå êLŸ&I'ü#¦fc V₫û÷(óǘ¦é>è8ê₫íañÍóô¤ó]óôöÙ÷Ÿùl₫¤Ô™Ê"&à#ÚpV oÇú²ơ­ï6ëˆé÷éísđió̃óô”óôÍơæ÷^øœû³ [[*%¾# % ( Ú₫ø°̣-́ êpé¬́đó¨ôÅôơ˜ơ5÷‹ø'ùŸø üF„ ·Å_#“ ƒ&*6fB₫£÷ñ§ë‹êLëï“ñ¡óöóhôGơûöXøù ÷q÷Pûä‰4+!M!Ụ̀Üx‹ sgưïơÇîë€ëí ṇ̃ị̈Ẹ̈„ôôöÆù‘ú{ùçơơ¨ùÁƒ Q÷Tú‹ <ƒươÅîǵIîçïƠñƯđ™đuñÇôùËûeû*ø´ọ́Uø(ºÊPƠËWÄ¿”É₫+ö ̣đ̣₫ñ´đ´îºíđơú÷û5ú ö„̣cñ¤÷u£ VZë•.ûña Œ5ûƠ÷Sö¯ộ̣́î₫́©́¤ïgôơ÷xùøiơ<ôăó¶öư} €é̉ăŸ»÷è́₫¿ûë÷KôæđÜí‘íDîñŸóbơ5ö+ö¼ơ8öÆơº÷‰ü‡ 5i–A< s:ư¡ù’ơJ̣°î³íÉí{ï ̣óùô¤ơ®ơ„ö"ö÷hû²„É Iߪ–÷‘Á‡ đ|~ ưø&ô:đKîwîïíđÿñỌ̣́óÑôâơ÷Ôö6ù¾ưn# @ C3 2—u µˆsXü^÷%ôrñ-đđï€đ,ñṛôơGöL÷Â÷̃ù₫K•  ú†d´¶’ \  ëßừù÷ơỤ̂nñ#đVđ’ñṭ–ó-ôàơøöù™úü»ÿÔ$ u|‰Äb Œ *†1₫«ûÎùí÷ ơ ọ́1̣ó5ó ô•ơ:øÊúÂûÇûêû%ÿ+å‰Ú  D  ¯ µ á /FCÁĐ₫¹ûŸù!ǿ÷óö ơYôçô÷Bù=ú¸û²üÔư₫ừÿ=M‹û× ̉5 x çCæJ2~ÿN₫—üæújùø¥÷x÷Søú`ûuü&ưEưæưqưF₫ÅÿĐoé—½r AåSḿ¤Vu”ÿưü,û,ùØø4ù9ú-û6û`üÇư›ư&ư¶ümüàưoư ưö₫Ăÿ«ÜŸw†·p°A2\µ æ‚Û₫œưü©ú úÙùaúöúûû1üjüdüÖüü.ưs₫:₫ÿB†J+ÍȹÀạ̀ÄD°wö¨ÿ²ưfü*ûŸúúYúNû ụ̈ûÂü–ưfư=ưØưñüư¤₫¯ưl₫ăÿ“ÿ¿*ÏÁøVùưWÔnÎ AV₫ÖữüÛûøûŒûíûÓüVüéüÊưFư4ưæưZư™ü•₫àư ưsÿØ₫„₫t g{âèăÄk‰úP¦jÿưư„₫5ü_ü4ưâû)ư¼ư¥üÏư£ư¤üưƒüû ü5ữûDưÿ¢ưÔÿå4gŒ;¡ø_{%¹_Gÿ¬₫Ö₫0ü©üÂüRû«ü£ǜûÍüÂü³û5ü üKúÁû¥ü“ú´ưˆ₫ưd‘·!‰. /Æ; ;ÜĂuÿÀ₫₫₫û=üĐû«ú¬ûcû³úºû@û¹úCûûÂùˆûHü­úw₫Ă₫Äưmlnvó # _ ơ–ƒ/ü̃ ÿư¥ưû_ûSû6úªú8ûÆùYû²úIú¹úªúơù'ú0ưù̃₫˜₫₫1ׯ! À Á ³ ¦„°¹Íă₫Tư'ưeûEû²ú‡ú9ú¹úPúúû¥ùçùiúIù+ùüÔùÂü₫H₫\é†ia < b Ï Ư ¹̉œh*ÿÈư¦üµûÿúiú›ú̉ùÇúúxúTú ú4ú|øú€÷–ù ûøÛưbưƒ₫ 0\ȯ h ù Ê ¦ ª © §̃±ëưèüüÂúiúụ́ùäù5úú³ùéú~ùßùÇøgùW÷ùúQøHưNü|ÿúÏϹê Ă e n · ¯ Žq̀ư™ûü¸ùúªùƯù›ùqúzúBú‘ú?ú®ùÛø¹øƯ÷5ö7ú5÷úưüóŒ6pó ­ Ê ~ưI¹ y BÂë(ÿĂûªúgú×øÁøaùđø`ùXúú3ú(úJúøèùPöuøËôeúÓö&ú‰₫ü­Ó½´Z) •(ˆ”u | ¼ˆÔ™₫˜ưú”ù°øÍ÷Uøø¢ù`ø{ûù;ûùùÀú®ø ùï÷Üöñơæø øóøè₫âüÊÛœbRX<µ× Ô sLà°ư¦üú¿÷óø}÷Đ÷OøuùIù[ú—ûàùûú!ù]øD÷q÷ƯóTø$øJ÷ ₫¶ưÍđ‰ ü=¢¢¢r ÿ™H¹ư•û4ú%÷÷)÷‚ö/÷ôø¡ø(úơúûxúËúDúøÉøûö_öÔôÁúSö¥ûnÿÿđ*¶ w û7ÿ‰È« + :Ÿ ÿ5úØùy÷%ơköèơjöV÷¿ù(ùû$üuû‘úÈü"ø ú>÷˜÷|ô¥÷Gú¢ơísưÔp­ ˆ &/°¯´/ó * 5†B:ûÊ÷»øó‹ơ›ôVöpơQù€ùú̉ühüÖûµû:ü¨÷ĂùNöƯöóeüơưû̃GÿÇø7† tDFºÉĐé ¹ ¶ÿsư°ö$öÜô^̣bótô”ơÄơkúúxû-₫˜üĐû;ưTù“ù9ö¿ø>ñú4øF÷ À₫úÁYä ±«ư¹VÜH … ]ư3üéöỘ~óĂđ¹ñ¹ñ ö™ôWùÈûâûÙư¦ÿÂûi₫(ú¦úÙơà÷ṭ‘÷ù]ơ!đüg €–4Èä•«AŒ¦Åü¥ø örïoñ­î-ïjṇ̃ódơù¤ü¹üaÿ˜ÿ¯ưÔư%ûÜøIöáơ•đjúơ(ùw¬ÿå L ]‘“ï«—D wë÷âơ8ñ‹ëåíèë=íđÙó öÓù—₫₫gjï₫ü]ûëööpđ'øáöô¹¡₫ÚØ >0’f»SĂ ØÍÿ%ụ̀3đÍè¸éZê?é/ị̂~ô*ú_₫‡ÿă}müéüÈööTï4ú}ơüó`"₫ơ‚^gù!¬;? i‰üØóËđKë:äè#çÔçníaó’ô‘üå—̉ÿˆưŒûpö6̣©đlü̃îúû`¦ÿ,ÿp¨""jäàÊ ` 0eô“ï§ê5ä7á4äæ7æuđ_ôú÷—¿¥ƯQ ÿ¦ü0ù„óï›₫UïíùqAÅ ³c*X!%±‚é ¿Ơ·óèëµé<âÛƯăÁäăäRđ;ơǿ¼²ˆ₫̃úû9đáñpÿỐ̀ÿTt ª=³#&†µqí‹₫Æíôèéåó̃hÜ2ă“ä±ç¤̣åø/ûf̃Ö·¼ûcú*öÂî!ÿăđ«ù üÿ†Ñ £"©"{"§Ÿ ₫ñÑïÄèÉækßƯ(âôä«è‹đúùÜûzW:‰p¹ùeúỊ†ñ2Ií»ÿ^ S$̃€L"¼#ö!À "L+ÈứÆåBæ̃vƯä\ç.́åó§ư[ômxø0öíÆùkø î¬₫+ bk$T$À!<"ÚÛûù:ḉá“æYƯÄ̃ƒèßëñÆù©¦yHĂÇư×ùøaë1öÄûí$ 9sû@Æ!m!$÷đˆ¾ø¦ø~ëNá5ä'âüß•ç îSơlù/T—₫uüé÷˜ơÑëù7ơËđy׳=êM”"î#"p…Œø÷qèăÚåjáXä/ë;đ¢ù!üưÊ/œˆùùsö¶îṛUû{îHü… ‚å 0r»T, \ơû| \ø=ö̉ñPää́åNå£éơî®ùÔư>sÊ~ưwøUîÿî`ư¢đdơ¾bq ¼ƯÍ£ #Ç / Yü„óọ èºä­äèǻmî‹öAGúèxïÿ~ư–ù²î\ơ½üṣ2ü¶†+ PJîöc€6́ €û&ơóî3éèzä\éyîñüø̃ÿ;øYÿÄü7ôÜôE›øVûú / ̀As¢‘ÇM ®¯ưyøäđçêX́èwé€î\̣ç÷Êư•ÿAUøÿ±ưư«ö ö¢üyÿ= îʬeụ̀Œ# Lúăø#̣ëÍÆêD́‚ïP̣Yù¤ư^₫V¤ÿ₫“ü‰ú§ô0₫#̀₫]O n‘X-Û¹ ‡‘½ûÿöyơKíüë=ë>ë9đ‰ñkơ_ư¦₫—ûÿ¸ư ưyûƯôDøĐˆÿ¶¯,9N±aË´ 3Óÿ'÷«ơÛï ́°ê/è_í…đ~̣úøSüBhưŒüư`÷¾÷y#Ǜø ç˜)¬KB¬.ư]úVö½đxîñ́–èÉëÿïḳ÷œù©ư¦ÿ—ü„ú<û½÷$ùĂ¯ ´ i ‰;[́‡u$ûH÷&ñïÛí{ê1íïóØ÷`ùŸüÂưœû;úWùÛơ‚ûÍ¡r ·ư ỖÜ …âÿûoơÁïï‹í«ëÿíđ€ơ¶ø_úÑüƯü)ûÀú°÷eöÑ₫5䑲 {ieÁë©9 ̣³ª₫’úẸ̀+ï`ïŸ́1í̃íÙđ³öù ú£ûÊú"ûCú<öäüRí ˜FG¹Ó¹S™ Ưàû₫xü:öÁïüîí•íTîâîôĐ÷Uúmû2ú ú_û®÷Ùü]uL # ü X´«"ÿ¯ |Â₫åüÚ÷̣-đíîüîÿîóWơÂøCú•ø;øVù÷̀ư¾z Ó Äù&íA¦Ă‚ ¾ă¤ưœû₫ö€ñưïHíUîïÛïvó¦ơYø ù˜÷6÷·÷üơf₫z1 w ci#3àZ5 à ưéúXơjđïîÓpîÀî4đ«óÅơ_øù¨öŒ÷AöQ÷·YĂ ‚ CR£y‡̀ Đ ^EYüTú¥óđ8îˆ́~ï,ïlñNỗơjø±÷¶ơ÷;ô¯ú̉ d € ‹(¿†¹1A »ưÀû¢÷~ñÍïŸ́đíÖïKđ9óơ÷ùø‰ööơÓơÈÿb€† œ ơ¯Ö†ÔOÖT :5üMúïóSđîÉ́»ïÔï¾ñdôCöÆøÆ÷ÎơaöRô{ü7í• M ;o´ST' 6‹ưü„ûzöñUï­́©îăïYđxó&ơ ÷û÷ơFöBôlùcY³ # e*uÏ'Mwr ̣µü¤úơö·đîź^íÚïÍï£̣åôyöøkơÇơdôÜø>œq ˜ !£‡E¬TqJ+èüiúöÂï9í¥ë$́‘îî¡ñ{ô"ö÷Eơö4ơ(ú?Gà ä |h{¥>Ó ̀Œ}\ü6úåô-ïínë£ë×í̀í ñ¼ó§ô ö?ô¢ơô¥üơ¶ ¦ C÷ĂV9ø4 |I»ú`øñVívëăêpëCíƯí1̣üóơơ®ôơÅơïy… X¿gƯ0á•©°^ ÿœùßơWî.́qêÚéêD́îỤ̀ṇ̃Hô6ô¶ơçô:û“3Æà)ω U89 üËưú÷ ñ-́çêOéJéëŃbđ-̣>óùó₫ôEơ­öï̀ ź»’±F»₫~ˆữ÷ị̂́Ÿê‹éÿçéÍëoị̂́ñ1ôøô ö[ôó₫€Ÿ RqlưĐˆIÅH ÚÄhùôsíưêÈèqç#ç3ê¦́‡đÔđnórô÷wô2úàpÄ>ËḄÎ0×Ú ƒvIû¥öïëvé…çœåÈèáê¯îÜïeñDôÄơËơ§ơØœâ ÷Ư{” z®Ă2ÿ8ø%̣¬́ëkèå÷æ?êÓ́ï#ïµóoôaö^óŸư$£ vÔ H/;J ÜØºúXơ<ï,́KéEæuåIéëîlị̂8ôvơ:ôÂö₫Tă †̀:"×£s© MLÿ̉÷ó-îT́âçîå:è€êÚFî«ï—ôÙóxơæóû¨ç I¦ë—-;‡" ~ ü‘÷[̣~îÁç=çêÓêKíÆí ñyơ&ộơ\ôÈüøñc ?DĂ ¶M»Æ7 » ;³ü6øẶ­ïaíç‹è'êeë‚í#î\̣§ợóíöùơµûNĂ [XªŸ‘ñ¹ Ö;ÿ¹úUơ&ñ đ=êØéèếÄîàị̂\ơÁö÷.÷ƒ÷̣ {é ] ÓØ¸Ên Ư ´n₫rù«ơXóTï†ëq́¢́âîÎî®ñơVöÂø ÷‡ùBùr‚ut ú WEÑ: › œR(ÿÈüøëôñ1ï&đ=îjï´đŒó5öEö¢ø¢úûAû!ûˆ •– h ÏíçyQ 8lÀ₫EüTø÷›ô£ññ”ñṿăó²óÚöPù6ú8û¿úBüßüîÿÍ[¶£ Ă  Ù´ LŸ ,–¾—₫Sûñø÷đó7ô&ó=ô’ôØơ÷öcú¼ú‘ü!û˜üûû üV‚Á{s â Á 2 À i Ù óÖBḿ₫Øû ûSø¾öúơGơdöŸö2øïøû6üÖü½ûiüưû$üÂ₫ 7öE ½ ¶ “  UƠÿÚº₫Íüûúù³øƒø8÷ù¯øú„úbü̃üVüDüû&ư«ú¾ư•₫¨´¶ éÖ¹x> ¹#̣ºJ̃ư=ưáûû¬ùøùbúYúnû³ú\ütüœưĂûmüdûpü!üƒ₫Ï>ñÔ³̣æ¹vQ<mÊÿ«₫ư\ü0û”û*û“ûmû5ü:ưưøü›ûF₫yưÍü`ưÉưùÿÜÿ½ÖlÍpg›O'ñ4*ѽz̉ứưpư₫zü[ư–ü"ÿ#ư₫rưú₫ôưụ̈ưăüÿ7üÏ₫₫:t¹̃Äù öW₫ăê¥ Lnáÿ˜ư>₫¡₫ ÿíư­ưY₫̀ÿ|ưíưO₫Q₫ ₫`ü₫C₫“₫áưä₫ÁÿCơÿäÿ ¾₫øQlte%=Kâơæ•×₫µ₫Dÿeÿñư,ÿsÿÉ₫Kư,ư9ư6ưØüTüµưƒưhưc₫í₫Âÿöÿ¡̀ †Àvºü•ñ‡È ²eöÿ<ÿâÿQ₫ ₫₫{ư₫›ü,ưfüTư^ưcüBươư±₫ ÿ8ÿ3´ˆ‹an6ª$Jeå ×`f*ïÿÙÿÁư²ÿÖ₫kưÀư6ưÑưưưư‹ư™ưïựư¥ÿÛ₫ÿđÿ&s`R“xQâƠ0_JØ~m©0wÿËÿˆ₫\ÿ́ưÿ5₫₫Øư/₫¯₫₫&₫ă₫Sÿê₫Èÿ ÿ‚\·ưLg¾r§’Ja åÂ:•̣Îÿkÿ€tÿœ₫~ÿlÿx₫Ë₫¤₫·₫–₫v₫>ÿ5ÿ“ÿ"ÿ!ÿÿmÛÿC›GDçĂ·y pIêưÿăKzÿr¤ÿÇî₫ÿyÿ)ÿú₫ºưQÿØ₫₫ö₫ê₫}ÿKÿưÿÉÿùÿ†°/& C¬^,–³Çÿ·ÿí?̃ÿ‰ÿ™v’ÿf₫ºÿ¾gÿÄ₫ÿ5r¡₫₫̃ÿ₫ÿ‡₫×ă?ÿ̀ÿäÛÿ{åŒÿ…ÿă#$ÿÿÿŒÿđÿ‰ÿ»ÿ>AüÿùÉÿÿ9!˜®₫Éÿê`Hÿ¨ÿ™‹ÿ#]ÿƠJ]ÿÿÜÿFÿ¥bÿÿ6™ÿ6'Zÿ†ÿo52ÿé4QÿФ•ÿ(6.ỵ̈ÿªHw₫ÿ™"ƒÿ$1qÿ¤ÿ¥ÿĐ´ÿ äÿ¦ÿ o©ËÿaJ_₫8ÿ…ÿRyÿÿÚÿsôÿÚ₫ê¯ÿ™¤ÿ¸ĐÿƯÿîÿzÿ<dj¨ÿiE(i€Ơÿ~ÿ·ÿÏÿÄÿø₫kØ₫à₫ÿûÿTÿdÿeC/ÿ/¢(·'T“làÿ©ÿ6ÿ–ÿ ÿçÿ‡ÿ–ÿmæÿ†ÿjÿéÿR0DŸÿáÿ çÿÈSYÖÿÙÿ&˜ÿûÿ5ơÿjÿE Áÿ³ÿ9[ÿéÿàÿÏÿ¾Ÿÿ7ÉC®ÿ›ÿ‘ÿ‡«ÿØÿÿtÿ´ÿ|ÿÿïÿưÿ'¾ÿd·ÂÿÆö#mÈÍëÿÎÿ«ÿ,§ÿ·~ÿ›ÿxÿ „ÿ©₫xÿ¿₫¬₫±₫‹₫¾₫CÿÿQÿ9Ô½¯„§Å¡è̀=â`Pä‡l¹ÿ%ÿó₫w₫¬ư«ư~üGûÜû"û²ûü°ư-₫sưª₫„ÿrê;»¦jà p © ưbPKÿư üÉùWù»÷aöj÷Rö3öóøÈøgû¾ûüSựưß₫₫ÿ;i´ P ÷ – i ÿÄæ•áÿ₫¸ư?ü¦ú<úOùôø@ø4÷¬ø]øăøÔùú÷ùû£ùùyø½ø)úâúƠÿ—˜ w¥‚:ƨ E ÿÿÖú`øÆöôôöøªùMû&ưŸ₫…ưüˆüñûù»÷ư÷‹ö̃óqñẹơ¦ơv₫™–GØ%é‡& ´ üaö…óñAïñ¸̣ơ½ú₫ăï×—ü$úĂọ̈đ̣¾ñî›îlïÿđóÀür ‘#Æ''Ñ ¼Ư" ±ư©ơgñZï"îËë*ïïơµ÷xûF­d(3ư÷÷@ơáñïï’íć$í'î¾ñkô©¬Ÿ"4--W'MôH ̉ˆơ§ñïXíǻ*íṃ¡øÁù%ưW„8ënèú¿ôôñ í¨írîÛ́íó́Üñ ö˜úk Ö!¼'I//,!#ẩ N{úRï•íTîæíçíQï¤ö ưÛü3å =DMâÿyøẉ7̣̃đ:íÂíMđ…ïZí½́đíöøb/â"'90 .Ù%Îv §üÙđ'íjîî»ïÉđôó­û́ư₫¬U A´ß#ư‘ơóññÍîùí,ï ñạTïVîñ¦öMùEßU$·%*ơ-ñ)À> È₫óërë:ïñwñăóàú!ÿŒư³ø(Jl\9û·ơÓósñ€îeï­ñ¾ôAơóñĂñ*óụ̀₫ m%ê$5*ê*R!áMú¯ô:ïếôđ0ö øúưÿÿ¹ưƠư ö®ª®zDüù†ơîñÆñKó÷ơ<÷À÷üơcôhñXđ̣óÅúFàó°#9#0"1"H˜¶…û*÷ öwö{ùd₫t₫‚ü ưứúƯøøđúƠ₫ÓÔ‹ˆçB‰ÿù¬ợœđưđåñSôköq̣öíïœóZ÷Tư“XÅf%ñ È„Má •¬ûøqú²úàù ₫µEừúÖûiû¡ù úüáÿ¹Y©VH®¾LÿäùKơ*̣éïwđ¶ñṆEóöÏơsóèóư÷¼ü{4¹y/(„î Y{₫üÂ₫¥ÿàư¸ư„ÿ–₫̉ûÉúåù½øƯøÙùû‚₫¿ T6Tkü9ù¦ơ¤̣̣&ó€ô<öÂ÷sø¯ø6øw÷øø«ư]·̣# Ù‡ âz~ øÿôû´ûgüûûuư[ÿưĂú„ûÍûYú±ú ü¿ư;2é®ÿ…8ưøßơéôÑô*ö@ù ûûTûmûïùÙøîù¹üJ«ưî đ ´ D ÿ£Eü,ûÿü­₫=₫ØưÿUÿưÛûKüèüUưäưú₫«rË“ÿđÿ—oÿ{üHú¯ù»øƯö̉öùˆú₫úüCư+ưíû̀úúü¯₫́¹ÓëËV " = ÅTÿ3ÿk‚¨Ö¸7«2ưûú¯ü¦ư-û˜ú₫D.ÿ´₫+ˆ¥b₫ ưküÂù øüùû¨ù³ù"üưöûsûû0ú›ú%ưưÿ  ØùL —lh’₫Äÿœƒ¹̀~¹₫ÀüùûmüØüÚüư₫Sÿñÿ~ÿ6ÿµÿI—Êÿœ₫.ưFûÀù»ùEúCú”úÏûü½ûú·ù¸øùĐû¶ÿ&@ ûmö h æ i¢ø_]¢t¦₫Tư‹ưOưµüvư‡₫x₫Gÿ Eûÿ¯ÿ+°ÿ±₫₫₫¡üæû–û5úù¼ùlúñù)ú üäü̃ûPûÎûÉûü%₫ul!C F hæ 9 @œ¸PèûI@ÿ@₫ưVụ̈ü~ưăüQưIỵ̈ÿ™₫G₫£ÿ¶ÿ₫A₫XSíư¸üăü¯û–ùJùmú·úŸúˆû¢üâü[ü3ûßú’ǜ₫îÿ…Á u  M Î Ư TJ êk<(^Uÿ₫C₫₫ưvưDưâư•₫¬₫₫đ₫ÿ•₫ ₫<₫°₫^₫ÓưN₫Ê₫™ưÏû>ûû+ú úoûUüMü$ư?₫¬ư ülûéûåüGÿJ>Ư~ Ê ®D]¤–Y­ĂŸá₫B₫A₫ư­û#üÉư₫9ửưNÿ@ÿ"₫₫Ô₫Ï₫G₫D₫x₫g₫₫7ưéû^û†ûû¯ú$üA₫[₫^ửưL₫bü[ú“ûj₫%5́p„E ‡ ¡ £—+ƯÑ%rñcÿÎ₫ïư¿üfüJü÷ûüÏưóưxư\₫ÆÿTÿ₫œ₫\A:₫%ư ₫p₫£üëúœûçü1ü÷ú́ûØưÀư/üPüP₫»₫©üüí₫Çđÿ ¯QX Đ Ó Y–è–܈_ÿ₫•₫\₫\ưXüwüxưØưcư“ưđ₫¶ÿå₫H₫&ÿÊÿà₫₫‰₫ÿ₫|ü¸ûûéúsúÿú8ü5ưºư₫₫¡ư₫üŸüLưÿ3¤r‘r& ̉ !‹<tC…S@™Ëÿ·₫¦₫Zÿë₫ ưSư–ựü@üÉü«ư₫e₫³₫c₫₫4₫Ñư5ưĂư₫±ưÿû°ûóû7ûÁúûû|ưÏừưD₫®₫­₫U₫ëưr₫C¼¹ú lẸ́$ ₫́ ?´…êÖÿWÿÎ₫,₫̣ư ư½ü+ütüzüâûü<ưÍưkưeưÉư¬ư‡ư₫K₫üưE₫û₫u₫=ư7ư¢ưçünüăư„ÿ_ÿ½₫1ÿÇÿEÿ^₫¦₫*C×P1àoD€¸_?Ôÿ+₫ÿîÿ¹₫2ưHưÙưưûû#üưưư₫¾₫Q₫®ưÉư4₫Ô₫Ëÿ@ÿ¬₫g₫'ưëûƯü£₫£₫ ₫,ÿeiÿÏưÓư”₫Ë₫lÿ!Ơ^æµ€·ÖúY1^Rw¨¾L¬ÿîưIÿ ₫üü¤üVü`ûQûÏü<₫ÆưÊüoư¨₫Z₫Wư¹ưhÿ²‡eÿ³₫Ñ₫)₫dü^üÿ₫?b₫Ăư3ÑñưÜüƒÿ¼ÿèÿxk¸̀œ¯ơ¯Í‰ü"'¸û¶5¬₫¾₫éÿ!¥₫ưnư7₫¤üúÙû‡₫₫Lü6ư ÿ₫MüưÿÏÿsæưN₫nư=üâû²ưŒÿsÿ_ÿ´âp₫¢ü₫Öÿzÿ`& ¸(iÀ®AP–£Ÿ¼q̣mÊÿ¹ÿâ₫Ưư-₫ë₫;₫ ưqưÙ₫Ú₫[ưükư ₫Jư{üVưAÿ[ÿÿp^¾ÿưÎü¸₫ÿ§ưO₫7ªÎ₫ƒư'ÿ9ÿÍü›üÇÿék6)"ëEˆơÊZ D§á¦-§§¡ÿÑÿGÿ×ưŸ₫~ÿ\₫nư₫₫)ư‚ư{₫ư†üáưIÿ0₫–ư´ÿIÿ₫ÜÿJ‡ÿư₫)Pÿ9₫“ÿ¿ÿ.ư₫ñ₫ư}ư+ªŸŸ‡fÿYÿñà»âÛw°a‹̣£ÿYMb₫ ₫ÁÿÛÿU₫`₫Tÿ„₫ứüGưóüưÚư₫ư₫iÿrÿOÿ·ÿ?5Èÿë₫»₫ÿáÿBÿ ÿdÿÿ<₫ ư©ưd₫DÿÀÿ6µ’"@gåÿæÿ…₫£é»7À<.C₫S@k₫Zư{P°ÿ ưÿHtưGûưÿÛưnüâưÎÿÿ·ư‡₫çÿ¤ÿ<ÿûÿPNÿQ₫₫₫I₫Ÿ₫₫Ë₫‚ÿ;ÿ₫a₫ÿÿ^₫Åÿ<Ÿ%‰i?‡# F(<lÖTr÷Ö₫„₫¼¸ưcư¤™Èü™û#₫ÿ…ü ûư÷₫àư!ürư`¸µ₫m₫wOÿ₫€•ơÿÙ₫f}ºÿÖưq₫Vÿíưjüâư^ZÿƒÿƠ…đ₫`₫¿ÿ– ±×l^]¦ñA]ßÑ[ÿÔÿöb|ư ₫Æÿ\₫Uüêü ₫‡ưpüüiư¡ư–ư ₫³₫Ø₫Ç₫?ÿ²ÿ8ÿÅ₫¹ÿ³»ÿ₫¥ÿi‘­₫ÿGÖ₫­ü§ưP^ÿY˜èÿ°₫³ ̃ÿÂX3Ô誟ævó˜Ù?UÜ₫sư÷ư¡ưKüBü¹ư…₫ûưxưưuưưưÔư¾₫jÿÙÔÄÿïÿeÿ£₫÷₫ ÿPÿƯ₫ƒÿ9ÿ₫æ₫ÛÿÎÿFÿ™ÿk“">\GåÂxƯà)¥"Ic̃Ơçÿ3Uÿ¹₫ ÿú₫ ₫Ä₫\₫ư»üÀư–ưküư¹₫’₫Tưëưƒÿ`ÿ_₫ÿ²D·x×Đ-Áÿ¹ÿŸÿ ÿ₫Û₫¤ỵ̈ÿÊÿ°ÿsÿơ₫©₫¸₫û₫vÿ×ÿÎÿ(9‘ưd« Á¬_lsV­’*oCÄc₫¹₫B3ÿûü-ưÎ₫¼₫ư]üSưñưĂü¬ûü₫l₫^₫(ÿ)1ÿ8₫˜₫Gÿư₫Ø₫BÔ!‚Ø÷ÿÿÂÿöôdÔuÛ]ïŒz<úk÷z¡̀ăA ^©8ÿ¾₫ÿÄ₫₫p₫:ÿä₫Çưrư°ư/ư_ü«ü³ư÷ư¡ư$₫lÿ̉ÿÿç₫rƒÿyÿƠé±³„ëÿ„ÿVÿSÿϨÿ₫₫ưÿ‘ÿĐ₫‰ÿqL#úĐÓ̉ ù ‰L¢Ạ‡}́2ÿ –ÿ₫…₫3ÿG₫;ưƒưçưư%üdüưü³ûIü´ư¬ưÇü{ư ÿÙ₫₫6ÿÔVÈÿvÔÜgèË®5¦¢OÁo~̣Æ›KŸăÿÍÿ ÿ·₫¥₫ï₫I₫*ưửưĂưưCư%₫₫SưxưS₫|₫L₫Ó₫ÿçÿl•‹¡Ëi®¢®üá ¢Üé,ÿÙÿhÿŸ₫¨₫Đ₫C₫½ư₫™₫w₫k₫ ÿ«ÿ{ÿÿe­{̉ƒöM ă ¥=ñ“ƒN'ÿ₫Ö₫Ă₫ơưhưư ưCư ư`ư¾ưÆưĂưúưQ₫°₫ ÿCÿ›ÿ@¿¾È@¨®¨Åăữe(ñ1íÿQ'\ÿ8ÿÿKÿ’₫§₫ÿæ₫«₫!ÿ‰ÿhÿÿ-ưÿFÜúK£`iV ÙЧiD ©ÿ\ÿ/ÿØ₫}₫„₫ª₫p₫ ₫8₫e₫1₫₫H₫©₫̉₫ư₫\ÿ¹ÿ=a„âJb`¯µ®çä‡DQIê„iUŸÿfÿ:ÿÿÛ₫¬₫‡₫₫—₫c₫@₫y₫³₫–₫‡₫Ô₫ÿÿ ÿ_ÿ¥ÿºÿàÿHd§Àç   $3éïúܯ«¶›a=5,ơÿäÿîÿöÿĐÿ¢ÿ§ÿ¼ÿ ÿwÿ‚ÿ£ÿ–ÿzÿ|ÿ…ÿxÿdÿSÿNÿVÿ]ÿRÿMÿcÿxÿoÿkÿƒÿ›ÿ©ÿ¼ÿÙÿóÿ8O\{ °¹×ú₫öăàäÉŸ‡vQ!ưÿßÿĂÿ¦ÿ„ÿbÿRÿEÿ"ÿÿÿÿÿñ₫ÿ"ÿ$ÿ%ÿBÿjÿÿ‘ÿ¯ÿÔÿôÿ !B^n€®±¶Áĸ°®§˜‰|nY@+ ùÿæÿÜÿÔÿÉÿ¼ÿ±ÿ©ÿ§ÿ£ÿœÿÿ¤ÿ¨ÿ¤ÿ§ÿ¯ÿ³ÿ³ÿ¹ÿÂÿÈÿĐÿØÿßÿåÿêÿđÿơÿùÿ₫ÿ#&),26788886530.,(! ùÿóÿîÿæÿàÿÜÿƠÿÏÿÍÿËÿÈÿÄÿÅÿÈÿÈÿÈÿ̀ÿ̉ÿ×ÿÜÿăÿêÿđÿơÿüÿ  #'()***(%$  ÿÿûÿøÿöÿôÿóÿđÿïÿîÿîÿïÿïÿđÿđỵ̈ÿóÿôÿöÿøÿúÿúÿûÿưÿ₫ÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿưÿüÿúÿùÿöÿơÿôÿóỵ̈ÿóÿóỵ̈ÿóÿôÿöÿùÿúÿúÿüÿưÿÿÿ ÿÿưÿûÿùÿøÿ÷ÿ÷ÿöÿơÿ÷ÿöÿơÿ÷ÿøÿùÿúÿûÿûÿüÿưÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿưÿ₫ÿưÿưÿưÿưÿûÿûÿüÿüÿûÿûÿúÿûÿûÿüÿûÿûÿûÿưÿ₫ÿÿÿÿÿÿÿÿÿ₫ÿưÿüÿüÿüÿûÿúÿûÿùÿúÿúÿúÿùÿúÿúÿüÿưÿưÿưÿ₫ÿ₫ÿ₫ÿÿÿÿÿÿÿ₫ÿ₫ÿ₫ÿ₫ÿÿÿưÿưÿưÿưÿưÿüÿưÿüÿüÿưÿưÿưÿ₫ÿưÿ₫ÿ₫ÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿ₫ÿÿÿ₫ÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüÿúÿ÷ÿöÿ÷ÿưÿÿÿ úÿøÿûÿưÿûÿúÿúÿùÿùÿöÿúÿưÿ₫ÿûÿúÿûÿ  ûÿøÿøÿÿÿüÿüÿÿÿÿÿ₫ÿ₫ÿ₫ÿüÿüÿüÿüÿ₫ÿÿÿÿÿưÿûÿùÿùÿüÿưÿ₫ÿưÿûÿûÿûÿúÿùÿøÿ÷ÿöÿ÷ÿ÷ÿøÿøÿùÿøÿùÿøÿúÿüÿÿÿÿÿưÿưÿüÿûÿüÿ₫ÿÿÿÿÿÿÿ₫ÿÿÿ₫ÿ₫ÿ₫ÿÿÿÿÿÿÿ ÿÿ₫ÿưÿưÿüÿưÿ₫ÿÿÿ₫ÿÿÿÿÿ₫ÿ₫ÿ₫ÿüÿưÿưÿ₫ÿ₫ÿÿÿ₫ÿÿÿÿÿ₫ÿưÿưÿ₫ÿÿÿÿÿ₫ÿ₫ÿ₫ÿ₫ÿÿÿÿÿ₫ÿûÿúÿöÿơÿơÿơÿơÿöÿ÷ÿùÿưÿ  üÿùÿ÷ÿóỵ̈ÿđÿđÿđÿñÿóÿơÿùÿüÿ ÿÿưÿûÿúÿøÿöÿóÿđÿëÿéÿæÿăÿàÿƯÿàÿáÿâÿäÿèÿîÿôÿùÿúÿüÿưÿ %1:ENRY\ZVNC6&ưÿäÿËÿ´ÿ™ÿÿgÿSÿBÿ7ÿ.ÿ,ÿ5ÿIÿcÿ…ÿ©ÿÓÿưÿ&Q}£Åäû!.7;91#öĐ¡dƠÿˆÿ5ÿÙ₫|₫$₫̉ưˆưGưưđüßüçü ưHư¥ư$₫Ê₫ÿq`DƯỹù¾VÎ0ˆèXØkªÿaÿÿÉ₫w₫₫ư(ư°ü(ü½ûlûûÏú¥ú›ú¨úÓú)û­ûeüRư{₫ßÿYĐ=´ -û‡Ö%Aj£ó`ÛÿjÿÿÊ₫w₫₫©ư.ư™ü÷ûJû˜úïùSùÔøyø@ø6øbø¼øYùGú}ûûüÄ₫¶¦]ơ4 k Z ä & $ æ·Ÿ©̀t ³ÿ_ÿû₫„₫́ư1ưjü‚ûúù·ø÷÷S÷Öö”ö‘öÇö6÷Ø÷°øÇù.ûÚüó₫tơ3M! • … ́ Ä À ) Ëuú£iPE‡àÿ\ÿÿ¯₫2₫œưüü@ücûnútù~ø¦÷̣öbööÈơâơ@öÉö{÷fø’ù₫úàüÿ }U “ ­ĂZÂâ q ̀[LbPÿ—₫₫½ứư"₫̉ÿœ»₫™úÑø·øªøFø÷÷÷Sö¦ơMơơkơ¾ơ0ööê÷ÊùBüÑÿèøÚ ¦Y±ºêå\ $í üAù ù>úgû¶û;û@ú&úÛú³ü“₫¥¾Ûÿs₫®üúø%öŸô/óḳ®̣Fó©ôöGøhû^ÿZË ŸíøÚ0„% p¨,ü%ù‡÷»ö9öÀơpơàơ±÷Êúđ₫`ªăBP!₫àûùø¤ö¨ôcọ́}ñṃç̣ô°ơ…ù₫Z ›•̣snF»üÏö£̣6ïĐ́ơëí,đơü‘3ù:¹ÿBư2û…ø«ơẠ́đMîÍîçđó§÷<ưˆó ºzz"ˆ$=#½èvË%úÊóxí$è½ătáăèđxûeĐ ,í ¢t?̃ưú~ôîrèkæÀçé ̣Lú_b ¼¬!?*o.×-7(è èÿæơ(íÆä·Ư ÙØeÛbăÎî~û}’Y#=1 _¬üRơíÄæ}â‹á;äêưñ™ưƯ BÂ&ø0{6‘6×0ñ&–3Å>÷jé<Ư,Ô:Ï´Đ×èßzëzöíô ̀%qµ S#ụ́ íoèàå»ăQäèèÁóf*'3z5Í2 /Ï)#Ẁéó§á̃ƠMÑÑüÓ.Ø‹̃¤èê÷δ}wöèn™ùï<ă/Ú¢ÖÖÙŸàíèÛô^₫0û?¶DâC>>̃4%(jX,ê<×-ÊZÅ4ÄDÆ£Í7Ú·ëx̣Æ%t$6 ½ôBûôíætÛ®Ơ ÓEÔÏÙzââđ^ Ø D48C@HÍHVFË;‡)¾ơúæh×gÊéÁÓ¾§ÁéÍàôfµO& (G!N]ûªđ6åÙoÑiиÔ>Ư;è´ö×3&à8~FñỈI>FT8«!o =óáÓ“Å8½“¾ÑÅ;ÔÑå÷{ s:+ç-)ëH}ø^èhÜđ̉ëÍ(̀‡Îh×€åơ® %Â8¸GO]PKÔ>*(tûœæîÓ~Ä>»Ô» Ẩ̀çÛ©îÛ:6)Y.7/Â)×íøưHïă Øù͈ÉË̉ ÜÏéoúx,=ÄG\NˆO`H‰7÷ , Øøµă ĐKĂ¾à¿ÄdÍ#̃0óœÀb,ă0>2­+tªâ₫Ÿí’áLÖăͿɀÈVÎyÚÆèö¦ ú)j:RD^M PËJu<&'“é¿ƠÈÛÀžÀ¿Ç ×Íè°ù'&̉35ƒ3-T¢ ̀øêb̃ÿĐlÈúÅdÇÍγØ%èEùÜ œ)4: C´MDQ.I„ñIàJ9A«2Q"`[ècÛ1̉4ǼẰÙNä÷ó‘ ["ø+«-n3«/ªèIô×å®×~ÓÜÑÿÍÑuÜàçIơ¤ÿQ“(D.Ơ1…;¢<‚4*ù~kđ0æRß×ƠÑÁÑ5×=à"çẸ̀3”7æ"ó!|M ƳøVï’æ̀ăRă[âÄă±éñ¨÷#ư™Â^‡V"8 [C8 «ÿ̉÷Àóï?ë¯érë­ï&̣±ơ7û‘³ßöi`‘Ƕ'̃·6Éÿ»₫fưü‚û²úú]ú¶ú>úœú%ûÿûxưˆÿ!"*ị̈(ö§¹wa ,ÿÆ₫Î₫Kÿ¡ÿw‰VÊ©íiÿ¥ư¢û·ùøXö„ơ½ồô¦ơœö.øBúNüG₫bGÅøÅVÉûÿܼ¥j¿z€÷[r{oTÿ'₫ư'ütû×úbúiúGú“úûaû¶ûâûƠûÑûÄû¬û|û1ûRû‰û üíü'₫aÿ”(Ơ×½G})zÀùÙ‘€\‚ÿÿµ₫q₫C₫Y₫w₫g₫]₫h₫’₫₫₫Ñưư­ưXư]ưRưQưưQư›ưëư}₫Û₫{ÿæÿóÿ -ÚÿÂÿÎÿD¬a ¾ Öœ9÷¹o12XË-yƯûơ¨¡ÿÿ₫‚ư¬üüƠûûüÀütưZ₫¢ÿA—>zx{Y‹ÿÿ₫ôư¿ưeư¦ư¥ưv₫jÿÓÿO¥>¢¼ ;haƒưÿ5ÿW₫₫‹ư‡ư ₫]₫6ÿ́;ªÊEƯ.<ÿl₫±ư°ưQưhưÔưËư¸₫ÿ~ÿ×ö)6ƠIMTÿÛ₫œ₫H₫j₫e₫ñ₫uÿÔÿ` ÌqxÍkÓ₫¯ưÛ₫$₫ƒÿ{ZÈ5điADËÿ±ÿÂ₫̃₫B₫œư´ưàü¾ưX₫ ÿÿº₫Äÿézá,,™„qÿºÿ¼ÿ‹₫WÿPÿ“½ÿÿ‘7 #.É₫Åÿô₫«₫¸¥ưgư¡ü<ûnüư­ư%₫ư÷₫°ÿáÿÙ®̃̃ûƠnÀ®á;ÿ¸₫ü₫Kưˆư'üüû!ú)ú»ú́úÈúïú½üÛü|ưJư„¬ ! Ï  U P ˜̣ßÿ®ûTû"ù÷ ø,ùqúûNü₫ç₫ ÿ2ÿ₫TûYù´÷6ơó[ó}̣Éôô¦÷ yN8‘^#ẽ‘M „ …ÿKơḳZí[é¯è†ç̀îq̣#÷&O ¬ 7́¯v ö¸ưeơüësèiæéà¬ă¹ăaô(ưÿ‰®"0#U)1-ñ+Ơ&O6úẹ̈́yåÚñÖ8×ÍÛăầè*øüWŸ\#¤%X!i,âÄôêáÙ́Ó̉›Ơ‡Ùzơ4₫$7.÷4^;¶; :6+æTÈúçß̉/ÊÉ—ËưÖËƯ7́[ÇC'1ă3»0&-i ÈûƠî&ápÓq̀]ËÇÄǸÔDï<¢ 1+.;è=ñE$HÉ@>1׺øÔƯx×Ë+À—Á¿ÇQ̉̃­́$—!'7Ưq80˜"N¼ølæ:ÜË¿Ă‡ÄƠÅbÇ#̉{á×̣zp0HˆDáEEY8X'4ßÿ8đÊÓằÉ¿ÇĂ=ĐôÚđéOú>àÍ%²1h8ß1.n#_pđäàỠÊ&ˣɔÍJƠ—̃êjưjÓt/DT=':Ô:}.¤åÆûä́ÄÓgÑSĐàÆơ˯Ûă%ï+?×F"C,Ü/&¦%.!ê Ï₫’öMå"Ù-ƠúÓYѳ̉wƯßàRêîô¯‹–;^7à-5á0)ø7àçÙ|Ü Đ]ÍÄ̃Øâ‹æ¶ù oC$Q)g"R$Ë%µJ‚đ¼à^̃äØpÔ;̉’Û]ÛÓáễ đ.®7è*ú3S; $Sö‚îëăéáœÔóË9×ÜóÙûë¤₫àå ÿø#«%],̀+t–3 *úéEă[ÚưÑCÏÔÈĐ÷×Çá/̣« © Ó!*9b0Û3xD-2•"?#EeùœîăåÖ”Í[Ï0ÓsÑHƯđ®÷àƯ/"ü$ 2U3×$y!nvóké8ÛpÓ”Ï_Í̉Ë°ÑØÙÇègm°4—/È4"Fg9l)(-Œ́ùEî‹ÛxÓ°ÑuÏ’ÎÖUäóµ÷‡ °"*"+§*T‹¡ Cüí‹æTÜÓÑg̉*Ơ²Ú9ơnû«”#&•"¬5:S)ˆ,V)9 ˜>̣æ¾áîÛC×)×±Ư^å2êùök­ ùX“½n] d$ư½ơ¾íXë#é÷æåç<ó×ô5øxk Æ ÿúÇjư2Ö ~Mûïöạ¤í%ë¤ë£îđ–ôüÿá½6b/íR¹ÿCưûiùCø«öœö;öÏúXûĐûªüæ' ̣t ¬ Œt>¥Å₫!ưºû¯úïú‡ütửưdø MNŸcP¤ÿæ₫úưKüú úùÖ÷‡øđùùàù ü/ü™ư1ÿ/d•·Ë©t­óù„ê’‚0Æà#x`Cÿs₫„ư„üü¼û|ûYû„ûºû®û¹ûôûüçûüüÛûĐûügüzü.ư₫„₫ƒÿÊñÊÀ塈ÊGå«L‹Ỹ0•ÿ₫'₫=₫ÿưư‰ư₫ŸưWư¦ư‚ư ưéü¤ü4üÛû¡ûÙû}ûĂû`ü±ü(ưÙưÇ₫ÖÿƯwíK¡Si|Ím ¼É¤ŸÀ¼¿°Vnúem)ÿ¬₫c₫ÜưuưưKưưư—ư₫₫!ÿÿêÿŒÏ †qk×ÿTÿKÿá₫–₫±₫’₫<ÿ¸ÿ‘ÿ~#£½âöö°÷âÿŒÿqÿ¡₫›₫€₫Å₫ÿoÿ̃ÿGJĐàn«̃Ä*xÿB₫€üOƯ{üúCüëÿË₫©ưcÿGÍ Y$ Xqÿ¤ÿ~ÿ»ưKưÚữưv₫ü₫àÿÆD°k×7bùsNkÿ³₫`₫d₫lÿê₫₫0₫IÿP—ÿ(‚}1¶£o†Y< @Y·ÿ´ư–ư…ưº₫Ï₫ơưd₫+ÿƠ₫<ÿIÿ#²ÿ*À/Ëÿ!cÿ₫t«·ÿˆ₫̃ÿöÀwóÛ–ÿÿ—›3₫Â₫€L´₫—ưR₫»üÿD₫³₫ ÿ"ÿ‹ÿBÙâ‡ÿçøưçº'Ơ­₫vÿCüZư₫W¿Tüª|e"ÿ¢•¼ă1ÿ…ÿ©«₫c₫ÿˆÿ₫ÿêÿơưT¾₫9Nÿˆzÿ8ÿ©₫y€₫qưŒaüñD₫Å₫Ó₫éÿ²r ÿÛÿƒ₫7ûÿ’zÿ™₫œ+ÿXÉư/%ÿ#­ÿjÿKăÙÁ₫£ÿ₫ûÿíjÿĐÿSÊS₫xÿĐ́ÿ¤ÿûÿ¡2#ÿvÄưÇ₫ùÿ₫́ÿ§₫Ơ€ÿZ]4ÄnW‰½ÿ°ư+Ä₫îè₫[ÿ®¡ÓÿÏ₫‚Ïÿ¢ÿ,ÿ V¼ưĐÿ)\ÿ=₫‹ÿ —ÿ-/₫ÿæØ-ÿăhç«ư%̃ÿ.ưV8ÿ₫<ü₫a‘Ou÷ÿqÿ₫ZÜ₫æÿ#ÿĐ́ÿ ₫Ÿ₫>ÿÛƠûªÿghÿ¦nâë<ÿ'Çÿö)₫̣PÿÿCÿcÿWüEÿBưÄ#₫₫)¢P ühÖ¿û₫Ê+ư—ư¨óÁ₫¡ülÊÿ%ÿ…₫e¸à₫D©ÿǹ²ÿzvq×ưíZÿÅ₫Ä5₫Äl₫Û<ÿ²ÿ!¸¾ưQümÎ₫₫8º₫>ÿ8ử>ÿzÿ₫T ₫2Åÿ=v-Ûÿ—§µ₫@ ÿTaÿÂÿ£Vư±Çü₫ÖÿÀªÿ0̃KÿVÏÿˆb₫ÿÜÿ\CưÙÿưi=¬úi–ưmÿơ1́₫-ÿn¢Lÿ ²₫[·₫€ÿ·ưÄÿÛÿ‚—ÿ˜¤₫ÿ¤¯ÿ»đ₫jz₫À₫ÿtÿƠ₫yÿÁÿƠŸÿ°*/â₫₫tư >₫üFƒ₫f₫=ê₫óÿáÿÓ‘@̣ư­|ÿ9o₫2‰̉₫,₫VÿrÿC₫>û₫yÿÿ}ø₫¿ù$ư„H/₫W₫ÀR₫)₫!ŒIÿöü̃ ₫„Dḉÿ0ÿ­ÿº:'ÿ^ ÿ£ưq'Íư¡¼₫‚ưN₫¸×₫'Çưÿ‡—x₫Vÿ4ÿqÿÊÿE₫eÿ”₫%/6[ÿmĐÿ°ÿĐ»ưÿo₫”W₫ø₫ ₫e¥ÿ93•ÿÍ<Ôÿ_ÿŸÿöÿTÅưzÿ:<ÿÓ₫v4çËÿn€ëBÿ™^ctxÿ6ÿ(L₫xÿ,ÿïé₫fÿ-ñCOÿVÀdZrÿíÿ]cÿÔ₫˜ÿzÿÅÿ`ÿÁ₫}`ÿס₫¶ “Éÿ’‘̀ÿ°ÿÖ7ÿÿÿSÿÊÿ¨ÿ8ÿœÿîÿUÛÿÛ¸ÿ[x5x©ÿA¹ÿÿÿ¼ÿ6ÿmÿ­ÿû₫ëÿ¢ÿxÿe=¬ÿ@±Àÿ¬wMmW®ÿÜÿI±ÿ=ÿ¾ÿlÿTÿ‰ÿïÿ×ÿ iKKˆ­ fƒM³ÿ]ÿyÿùÿ.ÿ©ÿDºÿWîÿº„ÿ̉ÿm-Fµÿc¢ÿưÿ°ÿÿÿqÿ{ÿÑÿîÿ# ăÿ?TE!ÿ –ÿÚÿ¥ÿmÿôÿÜÿèÿ1$-ˆäĐ?ăÿ kÿ™ÿÍÿµÿ¢ÿyÿíÿ×ÿæÿ :? ^[T4ùÿôÿÎÿÛÿ­ÿÆÿĐÿ¢ÿÎÿ·ÿéÿÔÿơÿ%D>W$*"4%!0¹ÿ‰ÿÈÿĂÿĐÿæÿîÿôÿ9GRQ!ùÿôÿùÿÓÿÆÿ¿ÿÓÿíÿÿÿñÿ# ,  ôÿïÿéÿÙÿëÿÙÿƠÿîÿûÿ(.%ưỵ̈ÿäÿáÿâÿÜÿïÿôÿøÿûÿ$÷ÿóÿôÿßÿäÿßÿßÿäỵ̈ÿûÿ # úÿøÿđÿđÿơÿíÿđÿöÿ öÿúÿêÿéÿăÿ́ÿïÿçÿéÿîÿñÿđÿøÿ "%5'%ùÿơÿåÿæÿçÿàÿÖÿƯÿßÿïÿöÿ₫ÿ */!̣ÿƠÿÓÿÔÿàÿçÿñÿơÿøÿưÿ"3(*/,! ÿÿîÿđÿæÿßÿßÿÛÿ́ÿôÿ  øÿñÿøÿơÿàÿ÷ÿæÿ÷ÿôÿùÿôÿ (/21'éÿæÿçÿïÿƯÿƠÿÂÿÈÿ¾ÿ·ÿ­ÿ­ÿ³ÿÇỵ̈ÿïÿíỵ̈ÿ&4 øÿ,Xr{zƒzcGL3óÿƠÿ¼ÿµÿ±ÿ’ÿªÿ°ÿÈÿíÿ',ƯÿœÿtÿJÿ-ÿÿÿcÿ®ÿ0FfÆë03R”ñÿ#–Ø ‹Óÿ ÿcÿ₫₫FÿEÿ đÿ÷ÿö₫ ÿ£₫ÿ́₫Œÿnÿàÿàÿ̃1ü̉*ư±ñÿc{₫:₫æÏ₫ÙéÙ1₫àü üû₫;ûC„ÿ~₫Pư­ơÿ}ÿÄíơÿÆë₫û ₫ª ª₫1₫ï₫ü₫7ÿ'Yô₫îÿiư,ỵ̈ư₫%₫̀₫¼₫)ÿàÿXÓˆnLAԇƯ¬¢ƯaÙñ₫ Åü9ûƠú²÷¿ơơ<ơ‰ó÷ơ3÷Ê÷ÁûSí¿ ơ•M1Ú? ®Đ›îû[û{ùĂöaö÷c÷ơörøZúËù ù”ø#÷¶ơị́_̣@̣5ññà[î«ÏœÜ L ́¢øSú~öXđÆñ-ơ>øû£̀²ù£óđ½è›ă™â1â¿ßpêtLư… - i!B#L(æ'i ùf ‘÷Dơ»ơïđï?ơŒûÿï 5 0áơD÷ÇîÑé(äæÙôÛåÚ9Û´̃ï÷E ™,Ô$ƒ()7"Kºúƒï$øíơ”ô×û²< Y –Ê ·˜ø¾ë¤åăá°Ư¶Ó—ÙTỤ̂Ûà7û?°Å!08&û$¦# u ¤ÿ]îú±ï¦ư ưÿư«  Ö VgjÔưhôæîŒå|áÿàkØÙ}Ü­Ûnäcå8 ăS ‹+¤+)#_ ­“+Xü ø¾÷6Ui ftÉ Í đÿ₫÷÷Ậ’́•ă#ăñßûÖÚ×Ú¿Ûuă'ä̉0C â3*#cưüv ÷·₫ÿ ·× ă0 ’ưèú°ơ©ơ¹ëúăPæ¢̃M×mÙæÙ^Û$á@å8pÏç4È,Ü#Æ<¤ùLúQ ‰ư߃qÎ ”± ±ưÂPwưÏùYöÎøní×ädä÷Ư<×-ÔuØñÚĐà¹ä(¸!O4s/Í"ƯP n›ù÷Ư «K ₫đ:AZ úvứ₫ùÿqưÑönúYñă&àYÛkÖ«ÑÖ₫ÛBäbå ÷*†÷->.Ư#á’> Áÿeø× J<Ga8 ÷ø¨úĐü8¬øRù‰̣àăÎÜÓÖ/ÙÓºƠÇÜè êóN/ U$…+±C×ưC ₫M ̣₫Đư®Ôù£û*ø ûs₫é}NÇơ-ó›å‹Ư€ÔUÖâÛJÖë܃æüïôI ¾)U' zm-î„ ™æF E )úŸ÷ó÷Ơù¬IÑ-»öéñ|ç,à³Ù[ÓØ̃IÛ Ư ăÖí]ñƒi))"LAƯ J« í̃ qتf ¾ ₫ öIø-øT!éwưTñ#ëÊâ+ß–ÖÚÎà·Ư–߬èDđXü8" ăˆ!m¶R– ›vûV1ÎÉ †Î?÷ ùă÷®üDÈtQô³í<åèßÂÛiÖ£à·Ư®̃9ǽôm2!" *± †¢j¶ÉÅ/ö₫`Vú4ùø§ú0ÂÿG„ö‰đÈåÏáR̃|ÔÙ̃z̃ö̃ưâé€ó%^̀Á½¢ övº®ÈÆÑ> m qư~ù₫ø™û)̀ÿ\;…øPđöçăû̃‘ƠCÜàw̃jà èpñ)ü¦Ơ,Ơ ¢Ëéá́#qÔ ¹ Pû»ùæü—)ÿƒ©ø·đ3èä©Ư”Ơ–Ûè̃ûÜ+àåæ~ôKÔˆ¸’œo Ó: ¼̉ ê’Q ₫<ú”₫ó₫ùö¬đ æÍä·ØÍÖ‹ÜåÚ•Ü3âêç wÅÔ×]i 6ëÁR¯ÿÔ₫ưP₫ç₫ăgû*ö₫́Ưçøß?ÖúÙ7ÚäÙ"ƯËà5̣? Ẫĵú(ÿ Äü=BhÛP³̉ÿ=Đ₫»ÿC„₫^ùñ́Wäƒ×ÅÙ|Ùñ×ƠÙEƯvë° ûŒ‹øäÜ.PtK{X·‡G$ âïơ¾ÿd7îû¯ô đè‘Ú·Ú×ÙÜÖ Ø¹ÚØè#ç »̣, aáΠö2ñïJ½ ? pûŵ3Ä₫{ö%óQê…̃%ƯCÚ?× ØÙè¡ÿ ûU ™ô*L ª¼ Á | v¾²ê£¼ Ö lU6çrË÷—ô#́Êà—à‰ÛlÙôÙ\Ú­ï!ù¥ù€ $ ÀE j9 @ ¨ Ó z &¤ Y †À G 5ĂdÑ\ùù²öiî1ççµăăyâå8óüó.øÚóJ ™- *î Ư ̀à ‘ ½ nĐ²|₫̉ùơṂŸîbë9èpçvêgë¬îóÂø™₫8§¹ ̀ . ¨ ¨T]  — DFÅ:ŒYJƠ§¶”ưù"ôuïXëèŒçjèTêî–̣5ø4üê¢E â & ‡Åc ù„Lz¢ü CRÔ.ÿÉú5ö‡ñŒí"ê%é¿é~ë¼îọ́Ç÷Vü¡F ̀ b p s ë H ¶ƒ½§)~ÿ; çÀÉưù¸ô¹đ=íÉë}ëẤwï,ó‹÷…û3Œ¦ + 0 § µ ;Ä$o¿a[›.Óô@IüløÑôWñ‚î>í¨íMïĂñ„ơ«ù¦ưÉÁK Œ ₫ ‡ ° % 5 9ś8W*£°/°O ư´ù.ö™̣­ïkîƒî”ïËñ?ơNù!ư&MĐI æ ï ¶ K ¸ ú/×yđ(xôÿ‚üMù öṇ̃XđÂî7î.ïgñ^ôKø üY¾o çè¾ u ̀ Ăû“Đñ?÷Uiÿlưû7øSơợzđúî„î9ïñ…ó÷çúÁ₫ ­ Ë dXÙ ›  tct~óëb¡ÿEư»úø÷YơóùđuïïSïÄđẶ¯ơù<üOôK)  ° !̃ m ;  È ‘Xbk›e₫üÈù‡÷}ơŒóÓñçđ”đđËñ{óúơø–ûÿ ± ­ ` ú X Ÿ Ÿ ™ q̣æMÂ6pÿóưûûWúÏø÷­ơ'ôø̣³̣x̣óô¶ơ1øuú_ư#Œ"1÷f é k ̃ U - I (‚T&Çÿ£₫KưÊûdúóøé÷öÏơQơơöïörømùúBüºư¦ÿ—EQQóZÂuơq¾¶¿a}Ëÿ¢₫wư´ü&üû~ú&ú ú~ù$ùù̉ù5úÁúeûuüUưŸ₫.ÿs̀!×}ăèjäŸS¥›—ç÷öIÛ₫3₫–ư~üAư‰ưưßûÂüíûéûÓûVû½üü₫AÿÆ₫Rêÿ9Dœ[º‘}3è3ëÙ¼sw n8ÿ¾tÿ‹₫₫ÿ¦₫I₫û₫äư¡₫åü ÿúü,7₫ñ×ü?uưˆÏư8Ñư¢®ÿ†₫1`ûØ+ù'û*r₫«6}$ưV ₫ÿưY|r₫đá₫Êưzsüyø'×û…ưœÿØ₫=û[ú=₫ËơŒOùD₫l,ưbçü ‘ü ĂÎ<ûJüb÷ù'úíÔûz„üMÿÈü¶₫e₫tû\ùANùI»₫ÿ×ưèü†₫?Ô“₫îMÁ˜³ÿ‘ưË}û®₫7ÿRÿù(Ëø¤ûXư[ÿ₫x₫`ÿq₫&₫; ư¯øØÍj°₫Çư'ëÀÿW ư ưm₫sü¡+úUaùŒÿ’ÿëö3U÷hßÿo₫Åsÿ;ssư…Füa£}´ü9'ÿư8üaÁü[Üû»ÿNú_7ø#:ûyüg₫ôú¥ÂùĐ÷Ááöÿóÿú2F’(˜24ÆüÁ ûGwÿ£øïzóƯú₫åÙó3ùûpưÅü.ü˜úÖªúüu†₫"‰Ç³ÿ<ºÿ¢ æÛBưIg|₫EÉ₫₫₫Tü/ÿûsûL÷ŸZúnüluø2Óø©ÿÏèÿíú₫U`ăÿ₫Ûă± }₫uÿ3Đ₫₫ÿÁûø½ú2₫8üK¤ûU₫ôû%ưtû.Åû®ÿYùÏ-ø»by₫hJ\Ă:”ư®>øF /ơ—øûTü™Éùơ₫¶₫â¨÷6°ùơ¯÷ă^ü[øÆkøâưrÿ %û”Ô₫?ị̈Äươîÿ̉ư~èù^ùds₫µ̃ùSû¥¸ÿfưẤù®§ơzNø÷ÈúOüVLư@Æ₫I’ùl₫Çư ư‹₫*üÄ_úöæüÑúư$ Ưû ₫E@9ü ööQ @ûßhưŸư<ÚûI›÷Tµơ åóÑÿ¥ö́ûºøC₫›÷±üYö}÷Ë~øaưfZ₫EJ)î Â& S:U¢ ÷₫ ü–₫™üÆùÂø¶ôKö-önïúûótówƯơĂư¬üå₫÷ ü}Ê GöA § '›¨M ʘK ₫L |ü ưöưíÁø–đDêeơ^æû¼í¤ó5üóñŸưíø¡û†ÿ₫7₫.Đn9 ±TSÁ«Û+ c  Ñÿü³ù•ôJôÏí`í*ï.́Đí£ñ‚đ«̣ọơóø^ööûÆû O ½îû'M97 Ø ̀j₫̉₫ùüúøëøxơÿñ!̣_í`ñ;ííˆñhñö́xđ8́Ø̣¥î6ñÂùÿº ¸ ÆÄD”!Ç<üµ¢ `æ₫¬úù¯ûïú úùîù£÷ùôBñÙñ¿ëïÖèÚéBèsæøéé•îíñ%q ÿêq"ă'Ÿ!1"₫!³˜ãü¤û?ü­÷¶û₫|ưj₫ëüÀü!ùq̣Êđ‰́ê°ç½ăhă2ă»â#è±çơî` @%)|#e$ú$ƒ)W{GqûUû=ưí÷Áù„ÿA¯sºÔÿưøÍógđ é°å,ăĐáÄßàsàçÄåQ̣3úµú%+* $ %% ng}Êöú6û·üª÷"ú{ưKEA³ưù”ô„́äåÎásâû̃=ß¼à/ă·èé̉øCÆ‘b‹"̃'; {$!€¤®·°¸ưüC₫ư÷3ùSư@₫¿&ï|.ûùóđië æå~ç«ä‚åàéëêŒîAñ^÷ÓùÅ Ó3h^M‰ă  r v œÂ|ư]üßûûºü'ưcưÊ₫,ÿ2₫ưIưmû̉ù!øµộađ8îCí‚́Ếäí,ï_̣uöœú{ÿZ' U çsˆëưZDk ™¾ÚtÿưÑûÊúHútúYûmü…ưq₫S₫rư ü·ùB÷·ộTđxî¸́́óë¤́ î*̣+÷ùûzÚ >C³]Pˆ-fÄ] Ç»´D₫]ü{ûûêú@û"ü1ưŸ₫†ÿ§ÿ+ë₫‰ư¯ûŒøWö ôñéîˆí¾ë9ë=ë…́ñÁơ€úñỖ ~¦[Nưä̀‡ æ€r₫{ưü¿ü’ư₫ß₫ăÿ£Çº€ áư@û1øuơ±̣Jđ&î‘́ëHêêŸêîKó[øq₫̀ ï+”)wÔ· A6µÖ7%Û̉¹gđÿmÿ ÿ¤₫ ₫ưûwù(÷äôẬúđŸïîBí(́˜ë¬ë…íÜñ÷jüs!Û ¶¥àLà<p ¦_÷ẹ̀ÿ§ÿŸÿ#ÿæ₫g₫ ưưGüƯûLü{üü^ûèù1ø5öøó@̣?ñ(đîî•íẤí–î¢̣QøÜư» ÙqÿAÙëÈÇ¢ @ ˜q ¥äÿ?ÿé₫ÿø₫¾₫~₫³ữü3üfûûIüPüüNû̉ùøĐöơôóG̣AñïïUï:ñ÷ơ/û j s^Aéj̀ ü -Vaÿ0ÿ–₫@₫y₫€₫ê₫ ÿU₫àưuư ư–ư₫ ₫Åư¡ü₫ú[ù2÷tơ<ôậ'̣UñơïoïËïyñÚơGûH(N ̀ ÿ5$Æßâ  ]³@I“‹TCªĐÖÆËÿ”₫•ưyüü]üvüZü­ûOúéø_÷üơơ8ôwóẸ́¼ñÂđ„đóđEó@ø·ưÓZ mÿ–³×˜Û2 bªsùÿï₫±₫’₫ê₫ÿ£ÿæÿ³ÿ´₫çưưBüTü—ü•üWüÅûđúnù@÷ôô.óṆÇ̣¹ó+óñïÉîóDưñÓ ªH%\èTÜ ù`$EtcA"ÿ£₫¤ÿOB‹vÛÁ₫EưSüRûÜú7ûàû üûVù¥÷ ö\öpö^özö¬öqöˆơ›ôLô2ơ×ùvAÀ Bº Œ ½ QÈ M @ΓsL÷(“ÿbÿ,|O`„́ÿ,₫¶ü̃ûüư­ư?ưçû#ú“ø·÷\÷]÷‚÷m÷ÄöZơƒóỌ;̣tôlúèA æ Ơ ¥ X ˆ[Gh*  ø_¦ưÊw¼ÿ’ÿ»ÿçÿÿ×₫₫ ưêưC₫éưÙü0û4ùj÷öCơæô¬ô,ô*ó»ñÓđñóü÷I₫• 2 ä)|&Ëßg U‡}Æÿ5ÿÿÿư₫Â₫₫a₫i₫³₫ÿWÿ‰ÿÄÿæÿuÿ;₫kü_ú^ø¼ö”ơÏôFô¦ó¥̣;ñØïoï]đXóåøYÿ(– z 6FcĐ₫vÖ· 8ä]N₫’ưºư3₫ˆ₫«₫‚₫5₫#₫_₫ä₫¬ÿ»Ë÷Ï}₫mû[øéơhô±óWóụ̀ ̣đÅî½í,î¢đ̉ơÏü°c B dn äÜŸB@ú Dب₫̣ü¡üưßư£₫ù₫Ö₫h₫₫ ₫–₫âÿ¡¨øÿüÎøƒơ=ó7̣́ñ×ñ(ñ±ï̃í¶́í€ï.ơ[ü«Á ~Í—p`öÖB*å _Ç₫ŸüÎûØûvü-ưÑư₫$₫₫d₫6ÿéˆ+¤ÿüø‘ô ̣¹đđrïRîḮsë/ë”́wñuø9Y“  8l™e½†Ơ—‡ dư&ü™ûÆû^üöüJưvưœưđưº₫Q®³Rư]ùŒơ˜̣ đ¨ïĐî»í0́–êê½êïIơ6₫¡… Ơœ)fYÔÖUâ sèŸưƠûiû…ûü—üêüư.ư’ư—₫v 2îüăøÏôÓñ×ïhïØîKîB́…ê®éÈë9̣×øMhz‰¤¯2êVPOÁ ¥¿ÿ&ư₫û²üÏư†ÿ÷¶»ăâÿ)ÿ+ÿAí*₫¢÷ñ́~êôê,́víîÔí”ííúî‹ơÿ¤ ,#¡;̀µ  v°¹—₫«ưuü™ưÏ₫¸¥NkÿÏü¥û=ûü₫ó₫‰₫”ú–ôiíĂæ@ä›ä`è•́¢ïỤ0ó¡ù¢&¡x%q*Ù&+ 1 ­üöúâûưÿKÿùÿàÿăÿ/*„6GØ₫ú,øÿöøMû”₫‹ÿO₫ùø•̣pêÔå ăåÁç^́Çđˆö)L Ä&6.6+ơ#èçÿ½ơmơRöêûl¾ÜDơÿ¸ÿïÿé₫èÿ¶üưù ù¨øæù~ü×₫¯yÿáúrô[́væĂăä<é„́ôïöHº º'û-–.đ!¯¡øưíµđ®öF< é « ,ë½ú—øÊ÷{üÄư³vlüúñùµùÔ₫̃pÿºù8̣4ê-æ7åïçîñ7÷*÷i• !)ø-Ơ/‘rî÷\ïgệüÿH xĂ@ Gư•ơ€̣³ö‚ü iÊư0úVö9ø×₫%ƠñøÿïÓêê›ëđeđ/ó2î-đŸíRüF ú" 4Ä2b-ưÿ÷è'íô¢̃º} J₫ºö*ó¾ùè ₫2ïôṇxđŸư3n@ëù^ïiï~ôƯûœ₫÷ùiîyåĨoå1êéù‰ûà Ư(·&i&mắđVôgơøÚ ˜ ¸ cˆÿÈư§ưj₫œûGùöEư<ÿf ­Ư:ÿ-ú øúŒü¿ưËøóë‚ç‰ç3ê0ï÷ị́q"~2Î4+.“ûơô–ípTHv Eÿư¸₫wk ÙGưD́ÈëñÉGe‘ ùÁôöÿ_~Øûhïdé<íèđ~ơÜíÆçèƯHä‹ë‰ Æ Ü4ï2¾6VúĂ"₫—₫¤ ưKỊ́píí)ù&…Eư„üØüNK“ÿÆù6ñóÖøüêü₫đóå&̃̀àƒẹ̀qô’ $`/ü/&‘¸ù¥ü—ơ„8FŒE¼~ µ¼đrîºïÊü₫v°ñû‰œ^0Ôö7ñ—đ&ùs₫Eưâôçá¼âæGđ¬ë>â˜.+4W a÷o₫6í4₫¸ LÏâúRîEó¤úuÿTGüQÉ pŸ₫+ơñ‚óFúUüÈû0ơZñÉëQæçWàæêté§ ü̉0I-³Á?ưLË~₫M₫9₫Ÿ˜S Jü(ưÏö˜úØ÷,öư^Ă àÔÿ/ù‹ùGöḌüơSóèû…ơọ̈‰ä1ăáéXë“`í(0Å Bñ7ü8ÿp  {Z8 Fÿ́₫öú¤ö{örơUÊ/ æ¼¶ưcú¢ôƯîÙôFơËú₫ôgïyäëäZâ»é9ê ±*?*=Màz₫ëö €›ú$'©uùTđ•öåùX¦¼̣ÿÊüTơ”ñ“ó̉ôèợ*óAë/è÷ă«ä…éĂû?ư \(Á‘@@÷̣— û ä[V »ư~ùñûöü¤ư °P ,Á₫ùbô„ózîoñÉđØ̣ê#çpäKé³́ºu÷"&‚ô 2tHưÎ % i ̀Ơ ›Ùø†÷ô‹û½úáû\–\Où̀ôƒđPîḤñKî æ’çræZëœđ6*Ư!xj(p …ư÷Æ æ  ÜÜ >ư¢÷÷p÷ü7øn₫6p€oG₫Üôxóđídñ¾ïX́óå‰èµæÖëë 8j!é@ơçÔ³ÿ§  3 F Ç 1øû²ø ú øWùVÏy×₫ TơỤàîđïªđ́nå3è`ǽé´éêü2ºnø0 ­~ S Đdp À ‚öú ưÚûrü=øùÀÇJ*Îøpó¹î<ïöîeëAæöæ̉èÙè`ê4ó啱/Ÿs Óö “ u-… P ÿ ₫]ưªưÄưë÷₫¬»ªü•ÿCü0ø]ơ6îơđ*í̉ëpèáéÔëÅîđ;₫ơ ăî¸Øw~ r „ )…L4hV₫:₫Ăư¿ưÁ₫xư½ưÇ₫¾₫Ûÿ;₫₫œư]üzûîøö¿ó‘̣ºđtïíîñ8ơçù₫)Ưa ÿ . ³ à q — ›q*æ†Çûư~‘¤<tÿ¹ü\úê÷9ô ñ€îv́ëêê1íÉñ6÷§ûđÿjơ¸ ø  çB Ö §  3 <µ>ËbuT)Îù₫ÿüiú÷róûïQíOëlé—èbèÚê€ï}ôlùÂưßr¼ ˜ û 1_F„ ô ₫ í ³\§Q?B†ă"”¾œQêư±ú÷óáïí̃êÚèOçïæè[́?ñSö›û!±¨  ¼ÄíƒÏ* æ | º´Hm2Jºßêf₫₫_û]÷¢óđcị́êªèûæ%æ}æEéöí`óùí₫¹{ ÷ œ¶Ü<¨$9P P ™ -”ü96Y›˜z(Ï`ÿôû.ø†ôÿđêí9ëéç̃åiåcḉpñL÷1ư8ƒ ¢ƒưgb0 Ư ]´0Dv5:?dS6½ÿ}üåø6ơ\ñßíë§èˆæïäMäIæùê´đ¾öư_ö h)ØzÍ+ë…î ¹ 7†n@J÷Óë;ÉÊ^ĐÿüÀø®ô‘đí0ê’ç4åŸăkăTæ©ë•ñøƯ₫ué ê<ơ)ÿ‘± ï °:ƒŸYVéƠÿwI²Ñ₫Ïú†ọ̈9îë1èoåDă9âăûçôí§ôÚû N .M&oÂø_;å  %ơĐ̉|…Ô¤(ji‚ÿƠût÷ọ́ ï¬ëèzå₫â¹áƒâLæ%́ ó…ú¢s >Æ'sµZ  ÀѰâ¥Ù~²đj‡xŒÿ£û÷¢̣ßîtëèÉäTâ#á=â^æ|́¶ózû%̣ ˆÁÄEcåÁ I•ˆ)"†’5pơ3UË₫8ú‘ơFñ‡íæéGæ1ă á¯à2ăè>ï×öƠ₫rù cñ3`7đ"₫Q ÏÑ¢ÿtÿïÿ4ù‹LĂø ïû?÷¬̣‡î¨êÍæiăùàƯß‹áBæ¿́Sô™ü±Ø ¸¶d¨¿C6y³ ±UÎ#ÿ ₫ÿ_2åƯüưû5÷x̣îê8æíâ à£ßqá'æƒ́ôˆüĂ ,B+*©ØVTu„ ?­æ Û₫J₫₫¢ÿAÖ¾‡ôû₫ºúáơñ«́³è>åâÚà£àăèOîÍơơưỢ ơƯqTÑúr›ă Æ!>2Å₫₫K₫+ÿi‰úcÿbüø}ó ï=ëíçIå|ăâ;ă2æë4ñrø9³ *¦PÓâdÿ ë C3Ơ#ÿ<₫₫’₫Cÿ©ÿ^ÿ*₫éû›ø¶ôöđ¾í ë̃è1ç æ”åæ¶éhî5ôâú¬ôz Ăx2Ă@¡ a&›Ïÿ»₫6₫₫₫‰ưkü°úmøÁơ óºđÂîỨëé¸è¯èûéù́[ñ“ö)ü²É* ù;îó1‡Ïÿ=èO Ь#K-ÿe₫‚ưMüºúúøF÷¢ơ ộ+ñ¬ïî·́úë́BíƒïỢƠöûDÿ2Û á z¬D6rÑE é ]!B¨8Ôÿs₫ư‚û úÊø©÷öfơ8ôóÎñÏđOđnđ7ñỴ̈•ôíö|ù(üƠ₫rÜ)P( ª Û « ó Œ Đ Â … & ­ ‚æJ³ÿ6₫æüÊûĐúïùùMøy÷»ö'öÊơĂơ0ö÷øùúû[üªư₫₫[¹æÙŸ'Ư4ŒÁèëĂaĐ?HLn­áÿÿf₫Àư,ư–ü;üüü=üwü±üÍü̉üàü₫ü"ưZư—ưâư0₫y₫´₫æ₫ÿ%ÿYÿ¢ÿÿÿhƠ3|¨óE{ ̀ơưđΙ{cI"₫̃°løa¾ÿ!ÿ€₫₫¨ư*ư¦üDǘûœû‘û•û¯ûäûBüËüIư¾ư>₫Ñ₫dÿ”€éK©đ,o«ĂØ̣Ơ«z£U™ûÿ{ÿ̉₫ ₫jư°üüÎûüEü0ü7üGü?ümüưçư ₫dÿ)Åâ0yơ9F<+ ƯÓêóçæÏµqÈ[ƯÿWÿø₫™₫e₫L₫₫·ưxưVưVư–ư×ư)₫|₫ó₫Xÿÿàÿ>†Ï!jŒ¦ÈÁ–wY9́¾uLàÿ¯ÿŸÿÿmÿnÿÿ–ÿeÿÿư₫ă₫Ơ₫dÿ"0ÛÿXÿ¾₫@₫X₫Ê₫nÿóÿOv†}‹étßë‡ ¥Øÿµÿ1,ûÿƒÿß₫—₫Ñ₫ÿHÿ¶ÿ-\b‹V Ơÿñÿ¢ÿvÿuÿ|ÿ+ÿ ÿÏ₫…₫d₫b₫ÿÙÿÂ;¯¢°;ÚúøÛ›Œÿơ₫±₫₫ë₫ÿ§ÿ}Ÿå­¯÷¡êdvçÿ¿ÿß₫Á₫K₫w₫è₫lÿLơüÛ₫û₫₫73ÿOĂT’üxÿóûÿ1“₫›7ưqÿùÄ¡<û]ÿÂiüpÿé₫Ø?ưj₫/ßưW₫î Àÿ£ỵ̈gÿrÿÿÿiÉ₫ùÁ(ÿ•ÿú₫jƯ₫Ÿ|ưöÜ₫Dă*è›₫@‡₫l³ưÿR₫)₫|ưz₫Ûư€₫₫Züvư-Új*́₫ºư₫7Îÿ ;ưÓük₫9ử₫¨₫±₫³₫íñ\ú~e‚₫ˆ^¬%pÿ €ưªoÿ́₫“‰àÿûÔ₫“qÿ{₫û₫Cÿ́ưuÿµ₫ ÿ©₫₫°ÿ)₫(ÿ’ỵ̈ÿŸÿ"Ñ”ÿZ¸Đÿ#ÿ‚ÿ₫½₫¥₫nÿ(ÿzÿ;ÿ*¤ÿ@¡ÿ9ă₫äj₫†Åưd₫$=ÿƒ¬ÿoÿ”ĐÿÁ±ÿi,/²₫ü“°ưÊËÿ_ÿgÿÎÿ$ÿ ½ÿÏ̀₫².dư{€ÿ%_ÿ@‡äÿ¦ÿ̉{₫­ÿ<ØÿG₫Ä₫…ÿỵ̈ü4©ÿ₫·₫tÇüƒ êß₫|ÿZÿ*₫ï₫Ó'Ùÿ}Ü…₫¡'ưe±ÿ₫Z—ÿ ÿ÷ÿm₫3pÿúöưÙ₫DÓü-_₫Æÿ¶ÿ×₫đ ÿ‘ür₫ aË₫”A0ü‡0ưá₫Y·ÿư‚₫ƠZ₫ ỵ̈ÿÖ ₫(Ô₫ßưĂÿ¢ÿƒü¨ÀûĐ=̀₫6sư5©c₫_₫uư8†ûøưvÙú"¤—ÿ1JTˆ!₫©G ü“ư'u₫£ư>…ú ÿîû‚5ûüIËụ̈Uÿ@jÿ+₫…ùøsàû ₫ö ü«ÿÙÿ7 ₫ÿ•Íû:₫`¥büÅxÿüReFúéÿ‚ûưfưÅÿ́ÿơ%é₫=ªY–ư†₫̃<ü̃₫Ú₫+¹ü¥ü¹₫—ÿÂÀ'ÿŔÍ₫₫Fơ‡ú´ü¼ü½ÿÜX₫×g†‘ü ÿ:l₫!₫,m¬ÿVă`ü®ư‰ưí® ü¢ó¯ü9™₫óüQ!ư˜ÿ>^üÁưÄTĐư7vz₫¶ÿ9|ù₫Ộïÿë₫~—ÿ­ÿ]ß₫Kñ₫´ư.¥ưü̃ư/ưđüư₫ïư—¬₫Ûü‰û¦¡*û̀ÿ©ÿz Đ³LÖiÿTuñq"³1ÿ7&₫oü.ÿ@ú?ùăưđ÷L÷ ûø4ùÛø‰üÚü.ùÿ­ü“ÿïMgă³Rö× 6Ø I u ° l )[ˆÿŒ₫øùùöbơ;ó9ñ•đ*đBđ‚̣lóiơ#÷íú¢üÿ]ÿG÷%ùë]ÓĂ  Ç ư · Ä ” ² ± ƯĐ!"₫“ú\ú9óëđïîLëù́Óí̉î‚đäóÁ÷DøÊüí*ïYX ) ̃ a §  ! b ¬ Œ F U , Ͼ;&‹áü÷»ơ›̣ïî@í•ëPíứ”ïêđ̣6öbù:û–₫V›8 8 b Ư ¨̃£U65 © ¬ ¾¢Œ₫nù øTơÍđBđQïæíªí)ïaï!đ ̣ôêôóö\ú̀û₫ăÿPUơª Ù_$F`TZØQV Ö zø₫'üñøŒôệ»đNî¨î§î9î¾ïñ6̣âó@ôiöè÷‡øăúưüÅüRC|ü vu:Ës¨áÓh Œ ‰+ÿƒü[øôñGđîTí î˜ïwï¶ñ±óµô»ơÎöRø¤øVø;ûtụ̂ü-:m“R¹Đ!Ă_µÜƠ Z’ŒúưøôÚîPïEîÉxîđ(ñ¹ó5ơ¿ö“ø½øËøÖùàøüø0ùúºÿÇ™‹ † ö8FƒäÚöº  ₫Zù+ơƠîÄ́à́ïê9ëœî9đ ̣ơÅ÷dø'ù*û›ú¢ù¤ú̉ù’ùe8C7 Y  Ó ÷’L7’ â .ÿóùŒö³ïǗ¦́Tëïëî¤đ%ôUö̀øvûjú÷ú8ư"úÈø¸úá÷ưüZÿbư±Ÿ  ZÆZÏ~‘" E ·ûbø̣®́»́ ëêÓíđóY÷Tù¡ün₫²üZư‡₫Fú•ùÖø­ø₫tûûü €‡·9øéH‘i  \˜ûTøfñWííøê‚ërîZđøóøêù¤ưù₫bưÎư—₫’úúî÷7ú₫&ú%₫YZQVSàeA² M w iVû)ø…ñ­íZí¤ëÎ́ÀîUñ]ơ)ùû.ÿÔÁÿÀ₫ÿ‰üúøtöaü_úđøQǹ ̣ç-œxÀ êÜưíù¥ôƯïí2ëéëCîñîạ̀đ÷…ú¹ư3û ®₫=₫ŸúÆöíơqûøøÏ÷à₫Ô~< ăp/ zóă( ‹ÿjúêôŒđ5îë)ëîäîÖñ9÷ˆú₫Pà‡‚ÿ%ư˜øơ…öú÷rø4ÿQB§ tÜ  ”¹Ø È ¢^ư-÷~̣çị̂ë’élëÊí’ïYóóøđü¹ÊX•Ék₫/ùƒö%ó¤övø²ơúi½´ª¼3kFd9û ßKÿâøƒó¦îß́êSéß́ï0̣÷̃û¼ÿÑÀv&èÿªûø„ô[óxø½÷7÷L₫À¿Ø ‰ØÄv#Pµ „ÑtûñơÓïíÄ́êĂêZï‘ñơĐúE₫]cĂ(È₫Yúm÷öóÆđ¿öoøHööüeóÏ q|éD0CÀ —Âû÷)ñß́«íÍëëUïÖñơáúfưÆC!â&u¬ÿưúÇ÷Ëơ8ñHôù÷ºú„÷Ø ;Kn,Ø{@% hăưĐù¤ô¯î/î¨ííëàî~ñôÈùæüĂÿëKÈKéîü»ø]öó°đBơe÷E÷àüÍ|¡ ›™÷½º^¥ . ,UưGùkóËî;îó́`í¯ï8ñ́ơúú%ư*+!9‹ÿÎú÷ëôvñ•đô‹öTø}ưüå ¥b­¿7 ă ¼FƠü8øḥî}íǘîvï:̣h÷\û:₫L3•1´ ú“ưæø²ơ"óđïđ̣™öHù´ư•W ©̃­ Ê‹µñZüĂ÷˜̣pîǗ*íî0ị̈åöÈú>₫xÙëZÂÿ§ühøơđ̣?ñ÷ïẶ$÷NúD₫ûƠ !B;»H¹,Y œư‹ø²óï#í8íDí™îzñÜôơøZü÷₫ÿÉÅ̉!7ÿ¦ü”øö™ôị̂nñQôƠø§û<ÿ¢ˆ ™q$×…ăYÓf¯ ̣ư ù÷ó₫îû́¶́©́°íăïsó÷tú%ưoLbtIÿpüùK÷ ö¤ôóîơ¿úPưû‘ @öU¿RR"c— %ưüDø7ó’î×́›́»́ùíSđáóÁ÷€úPưZÅzâ\(₫8û₫ø|÷ơơûôÍó÷=ü+₫× à üƯ₫̣HêP³ ÆåÎû ÷&̣ûíî́Ë́´́¼îrñôoøOû₫#6‡zëT₫iû!ù£÷}öIơQôùơÜú₫ºc² FÏù‚übGû ÏY₫0ùçôöđ̃îÆî~î"ï›ñ^ô.÷áùvü$ÿÈK‚£§₫fü‹úùÏ÷–ö1öj÷·øÈû¡ÿK‹{ «$¼~Ç4u› üéÿ ú›ö ôîñÿđ´đvñ9óØô£öMùèû²ưÅ₫Bÿ̀ÿmÿ`₫iưÄû¿ùTù ùLø¿øùPû¡₫MÖ#½ ø Q`?pă ÉpÿØûcøéơÈôÖóṚỢÊô&ö’öTøŒû“ưµüüüå₫ø₫1ưaûjû¹ûqúâø`úü‚ü—û’ư#‚q†J Ísä\qœ G (£§„ÿü…ùê÷÷¤öơ•ôAöWøø7ø–úêü%ü3û·üWư‘ü4û˜ûÎû\ûNûÖû#üYü°ưº₫º€†ï= M T 8 Oç ² 2 i ¹ J ²8n₫rûúÚù†ùÁ÷ơöø…ù×ø¡ø†úÊúmú-ûSûWû ûûÍúÙûKû²û§üÎüóư₫đ₫LΗH5Ñq [ œ ³ Ó Ñ \‹*%Ëúrµ₫ư¯üÊûdûSụ́ù9ú>úbú†ú#ú)ûåú§ú¡ûû8ûü¶ûíûEü=üÎü:ưăư₫ ÿ›ÿBe¾eå¾€ÇÚµ0‹÷'m¨“$̉ÿàÿ“₫¥ưJưñü\üªûâûlûûû`û¤ûû:û-ü(ü¸ûüÙüÔü³ưrưgưY₫z₫8ÿáÿ…ÿ:U%ç±ÇMă<“g¦Åơ)˜ NDé F‡N&0ÿÉÿ³₫3₫₫áư«üËưü¶ü]ưüüư+üÄü²ü©ưp₫êư3₫ÿ¶«₫œÿÓÿÁâÿy`“ÿ;˜ÿOÓÿs}Ö sä®ja/66IÿJÿmœ₫Ù₫MÿÂ₫ª₫,ÿµ₫₫~₫~₫₫kư\ư°₫Kư«üj₫¥ưhưư¬₫w₫¥₫â₫¢₫&M¢ÿËÿ_A"ơi*îđö;-†¬›Âán~ÙKEÜÿëÿCtÿ?ÿ:ÿSÿc₫¢ÿÿÓư­₫Ü₫A₫Ú₫yư6₫ƒ₫s₫Ó₫ưÿmÿÿ₫¿ÿ$[ÿ›ÿ’ÿÔWÿd@0‹YµƠPgÆđ‰7yơÈÿ/xæÿGÿ ÿIÿÿ̃ÿÿÛ₫ƒÿ¼₫$ÿ ₫₫₫'ÿ·₫Á₫yÿ\₫eÿœÊ8ÿ[ÿªƠÿÚÿûÿ»ÿ?\ tO,CMMÉ4äÿ»ÿ”#dbÿ®ÿáÿkÿàÿkÿ4ÿÏÿ!0ñÿÖÿ’†ÿƯÿKÿ/ÿ5Mÿ:₫8ư₫³ÿ+•ÿ́́ÿ.èIyÿÿ„ÿzyÿÙ@¶jƯÿN5̀ÿ¥I₫ÿ_ÿÿ?ÿ—ÿ*VÿKÿKÿ˜mÿ™ÿÍ|ÿ1lI9̀ÿ3Ñÿ¸ÿÿ/ÿK·ÿ₫ñ₫« ơÿmÿÀÀÿÔÿ*xÿ+ÿÿØ₫¯₫dÿHÿEéÿ>³ ÿ'‰˜í₫«ÿ}ÿÍÿ~[ÿÊúÿxÿiÿ¥ÿÿªÿG̃à₫W ±¥ÿdÿxÿ'Zÿ ÿ(ÿ‚J₫¼ÿ°̃ÿU™—ñÿNÈ ÿƠÿØÿY9ÿü!Ú^³@‚ÿẀÿưÿ·ÿÏÿ#\ÿwÿWÿ/ÿeÿÿùÿWÿÿ…ÿ1ÿÓÿ~ÿÿf§₫&¥ÿ-ÿá¢ÿK iơ÷Üj™ÿ]RÂÿˆˆëÿúÿ̀¬ÿÓÿÁÿÿzÔÿ\Ïÿpÿáÿ₫oÿe₫Ÿÿ‚ÿô₫é₫Èÿ¹ÿÔÿJÿ›ÿ¾ÿU4 ‰ÿ÷ÿ¶é₫¢]yÙ₫¢Í₫z&UƯÿb7ÿùÿÔÿ˜µÿÀÿOÿ-ÿ5ơ₫MÿÅÿ%:ÿH­ÿïÿ}Â\ÿ˜ÿlÿÄÿåÿAÿg°ÿöÿkkÿœơÿfûÉÿˆÿ¦³ÿFÿAÿ7¤ÿ‡ÿ>‰ÿEÿJ2ÿÅÿ‹Î₫Ø£ÿlÿáưÿˆÿh÷<ÿjüÿ+ÿÊÿÿ¢g}ÿ4R¬ÿ LSÿ÷ÿêtưxÿÔÄüÿØPư»ÿÓÿ²ÿĂÿœÿ´ÿ(|₫€HƠ₫ ö‹₫ÿÙéÿœÿÈÿc₫₫÷0:H²ÿÿ„ÿ@ÿ'ÿâ₫Ïó₫Q₫¯ÿÏÿk₫r¯ÿ£ÿ¡ÿôÿ̉ÿ«&₫Jÿ½+ưÍ₫f₫akưèÿéàÜû]lÿˆH|ÿA₫!̉ÿ,₫́nyư_9ÿÊ2ˆơüÍ­ư©₫y₫Q:₫1ÿâ)ư§ÿiÿø¢ư!´û¾j7ÿ„û7̃ÔûÆÿ‡$¡Ăüñµÿcüë₫uü̃£ûKÿ¬Íÿø₫Óư³`₫ûüà₫Àôö–yÁ₫úø̣{ưÁÿIóÿ̀ưÂûk#ûŸwư£ư¦₫Cñ₫₫ư¤₫ÿ\̀TùiIÿÛÿÿÿg2ưÚ₫„ÿbü,«Àüe 8ÿÏưâ₫âoü¿eïưø₫„I×₫n₫ơTư»¬ưáü¿ÿư,₫Ăû#›üÿÿbû̉ÿEÿ"ÿÊü÷ư”Óú›A₫Ôü¿Ú₫'Uÿ²Ø¸&ÿúÿ:À¾ư'‰ÿ³̉µ„ÿCö‰÷̀₫Gsÿ3ÿøÇ₫Ư₫ÿHÿƠÿ ÿ ưV₫ÿđưÇÿ€ÿàjÿ₫åÿ‘·ÿ¤üÛ4bÿÿHˆ₫  ;Ăưÿvÿtÿ(ÿj₫È₫ ‚₫Æ₫ª₫­Pÿ₫ gÿNÿ‰ÿ:¥ eZÿ¦ÿÿ‹&Ñÿ®ÿH‡ ‚>PŸó₫ÿ©RûÈÿQ3}ÿÏ₫‰ÿ]6ÿiưCÿ‹ÿl₫v₫$ÿ^ÿ–₫ßü₫*¼ÿ}ư=ư¨₫ @nÖ"SB ¾ ïNû…±"₫Ưúêù„ú›ú ùUøGù<ú¾ù}ùèûư;ưüü ₫₫₫Q<¸TD$Ä  ư ~eP-ÿäưoư³ûdùVøÁùdúúĂúüfưo₫́₫U₫ ư‘ưÚüü¡ûéù¨øƠøêùăù«ú₫ÔŸ K 7 u[bÆ ‚ ¬BiÿWüîù1÷ơ[ô@ơ÷’øÖú/ưâÿY+ÿ¯Q₫üoú₫÷Ươ‹ôyôñóHö-üÏ$V c±"ỐÚ #º₫UúÅöX̣ï}đ̣hô^öú₫¯¸ Üÿmü̃ù>÷.ôạêđ*ô÷úgîe æ›ÖÈ& Γ₫ú¹ôøî¹ëỐï£đẹ̀ä÷\ưÇnh°B~́üú&÷óæïèí·̣wúÏ₫ÿSMªơVL“a₫ ú₫uøçđSê2èUê¡ëé1đ—÷₫kgo  N¶ưâúköăđ·́¯ëụ̈ñù%üIưÅüÂØ¬C ZúY Ótư+ơí¿çFçĂç›çê ñ¢øÔưŒ» ²  yt₫çùóúí¨ê…êÎñ ø¥ú+₫¯ ½Xâ™ 2%5éàO80ù ñbêåàâéâåäEê;ñ©÷'₫'× UC» ÇÿưĐø ñđëßçeæøîœö9ùÄü% ”çÍÂ%?*Ă ½¨öăïHè!àaƯ›̃¡â¶è“ïgöiq %ôƒ’ ¡ëUú×ï—çæ‹áÎă¸đ¦÷cøïÏ´†&)3 (úÓĐa”ơ4ó'êÛדÛưÜ1à—êàô+ư=L ŸPbø ¿Dïñ ècå>âXØâ ô‹ơºö"³Nâ2Â6ÿ"Et#Vú§ơBñP߆ÓÓ×oØØ×á²î¦÷Bâ ¦6,¶} æœúûí èzáÛƠ™äÁñOñûùê˜"‰÷&ñ9t4“!œ%t$q øé÷·́́×J̉ù×IÔơÓ.âêïhøKn2qr­#ûÅđÔåvÜ&Û/ÖÚ*íỵ̈÷ #Ó÷#i8C:L& %¿(N%ûùÈđRÙ̉=×ÂÓ¼Ï~Ü;́ơơ(₫ '³ú{=ÿPµøÖæñ̃ˆ̃ÙjĐä¿óưïOütV"ÿü.r=›-³"®,í½Zư=ûXåÖ`ÙpׇϹƠ!åíơªxI‚¦]—Œ‚ïófçNâlß”×CÖ,ëWñTïj¡‡ä•2ă5r$¹%Î,-ÁA‘úÏâƯàN× ̉vÜæiëÉơÎË ’cîœûb *Åó„ë+çäàyÙ±ÛíĐíôîÑÖi0R- ë(=+¾ ^ uûhæ¯æpåMØBÖ£áÿă•ç4ơßÿ\ü,†6 xùÿđHëƯäàŸƯĐé€îî.ư…)1d'”) e%‘*u¼ ™ÎSï´íºëS̃ÍÚ‚ă´ă¹ăZñ|ûêưp!XJ%5 Đ"f÷‰îbê¼çdàbâIđơîñîT É–(b!“?)#3U#iûuñ¸ó_éK̃¯â®æUâ}éûôpø¹ưB˜ Ălw~ AMÿZö³ïṕ̀è©á•ç¤̣ăíŒô;C , ¡B%0¬Y)ǵw9 ^ú¸÷ÿö èưâzèÄæÜâ¼́ÎôơHüP ½ ÍO~ ׃(ÿ{÷ƒóïêæ^èñ>ï›óto ¬%ö ûÊ&Ñk¡ÿ.ü1ü}ííæ§ë”è'ăbêÆ̣¦ñÍöx¨­¹ ® A H ŒîûløƯóIíhë¹èê±ñ1ñöÛ­é€4*%`±<mXÿú×́[êq́wæmä9́3đôïø™¸₫ Ÿ †  ¬ ÂơưoúIôAî¾́é¶è̀đÛđÙó ƒÓguœ±ï$elÙ™$¡3üaï@ë}́Jç ä̉êØîuïTö‰₫“Ëí đ K  é Yxÿ“û©ơđ6í̃êç}ị̂°ñtü8|¸áRp"Ê ×–Iÿ§ô’́ĂíëEæđéïîPđô üé°s ¶ „ ‹ ÚæÿëüÊø̣Ăî×í±êßèơñëô~ôp» J €{§¾ MŒF>Ù₫Í₫.ơ‚í[ï¦íüèÝÑđ¯̣×ơ–û…Ñ‘x ¢¿Eÿ́ú9ù́ó©ï>ïQîƯê»ñ&ø ö9₫ E ²¤Ó‚Ù.,Å$ 9È}ú¯đ½đˆđkëÄëđ ñó7øưÿ4A~i« çư{ûÆ÷uóTñAđ·í|îö$÷«ø– c -ˆâ¨n0÷V ÎÿÑöüï đ»íøé—ë¢î#ñóó<ø‘ưWO‡ ˆû3¥ ưÄú8÷çñEï<ïḿ́íÍơS÷äù4ÿ è ’ydŒ Y 5öª₫\û ôî́ë‘éºêVị̂­ơ₫ùăÿÓ77D 8Ÿ µûÆ÷}ô£đ·í4í°́Äï*öùéư½ÿ é•ó%myj¤Ö ]üÇ÷C̣äíªëÚêtëí-đÅôôøaǘQ‰|¹₫>úåơỤ̂Éđ¿îî©îºñø[üM₫FÈ>J!,̃ ˹ơüÚ÷Ẹ̀kïÂí`́d́óî!̣Àô»øzư®G™åȇ ¤₫mûƠö9ô@óñ`ï²đóö<ûk *S©Q.Yü¾Fz œD,ûx÷„ó«đåî íƠị̂ñOô„ö`ú˜₫5 ØrÈÆœÿïư#úøàơ+óC̣ ó¯óÇôI÷Ùúùÿ÷Hq ,É".Ó*uT p?v₫“ùQöióỊâñÜđ¾ñ¸ơøÑù£ư«^!JˆƯëÿ’₫ü+úÔ÷ öô ôơåơFö]øñüè₫‰₫$ ~  p¹J Z Æ J $åÿuü5ú£÷Æơÿơçöö×÷úrüâ₫-“î1yhÿ¨ưØûbûQø.÷y÷÷Lơöù3ùMûXư×ÿÚO#$Ơè ¢  æ ÷¶ƒï t$Z ₫Vưaư¤ư7₫sư4ư@₫ºÿWÿb†Nÿ%Åÿ«₫Vưûû•ü­úgúøTøú©øĐøCú`ûNüưư€₫’ÿ#ŸâÜø;éˆáô¶Ú«³I+6. =†A›Y›{ÿ+ÿĂûưvưôû—úUúü­ûû¾ú̃üưü¬ư₫ùưa₫₫Ô₫'₫kÿ‰₫¶ưUóưVư¹₫·ÿPä₫,ÿŒËÊä5Ç<å1~“ŒêKÜv»₫¡ÿ•ÿ¡ÿtÿáÿèÿPÿĐ₫îÿ[₫~ÿp₫iư$₫*üZüjü üƠûEúơùÜúûêú˜üEüI₫`ưɉÿˆöÿ:Tj05‘=î.<Y™¡ÙSÇOæ[gƒåÿ₫mưØ₫µư}üÑưúûEư;ưïüñư#üưÜûM₫&₫sưsüưPü7¬ÿ́ưè₫É₫kâÿ Tyʯ·ă,iÖëŸËKÓ‰pƠ¦GËá ú₫ưÿ₫O½ÿ(₫ÿưÈ₫Ư£ư‘ưAÿïư7™₫₫A₫ÿ•₫·ÿàøưÁưrÿk‡ÿb₫rÿ§0ÿmê…ÿ̉ÿ-†+îîQ½ó₫Oo₫ Ă₫Çÿÿ„ÿ~Û₫÷₫»ñYùYÿoîÿp×cÿ$yÿÖÿ¸₫wÿvÿÿ ₫×₫C*„ÿ/€SOˆ,àÓ₫ÿ•₫wư|₫Áưq₫Øÿưfÿ´ÿ§ˆ[2P)Ihˆ₫¹1ÿh5ÿ'ÿêÿááÿÔÿçøÿ\ư₫º₫q₫B₫ưƠư@<jÿÔÿˆÿYÿ˜Ô¤̉NUÿÿT¯_ÿjÿ́ư8ÿ{̉ÿVÿN₫Æ…+ÿ0D’ƒ>@ÿÿu₫ÿe₫¶₫jÿù₫ưJư₫O‡&ỵ̈÷₫a₫ÿbev́₫qÿ1£ÿÿ¹ÿY™(ÛVÖ¦H]ZÿÍÿ₫1otÿpÿÿơÿÈ]ÿ'ÿÖ₫w₫ưÿ]₫Mÿ_₫®₫•ÿª₫X­ÿ[ ¥ÿ¡ÿtùª#i”¤₫îàÿjÿÿ7ËjÛÿ¾tY>ñÖÿ6ÿ­ÿ£ÿ#ÿ\₫Đ₫9PÿuÿGÿËÿ—·ÿúÿCÿ‡9g•ÿ4ÿƒÿÅư¿₫,ÿ<ÿ9ÿ<‹ÿ/äBơàÚr_BÿÅ₫½ ÿMÿ4bÿÿnÍü}øüjÿŸÿ*ÿ<ÿ®ÿ5ÿúÿ|ÿ`ÿZ<ÿ¶ÿUU¹ÿƯÿ®ÿ×ÿ‚cQÿÏÿLcáÿƠ₫fÿå₫<ÿF¼ÿqÿzÿ+ĐÚûÿ^I—ÿ6áÿ7ÿlÿ©₫!cÿÿr:ÅœÔÄp[@‹₫Jÿ{ÿvÿrÿTÿy₫Qÿ¿ÿpçÿÄỵ̈˜k²ÿFÿWÿÇÿá̉ÿçø₫ùÿ,(ư₫FÈÿüÿºÿ²töĹe.c`Bèÿ<‹ÿGÿƯ₫*ÿ¥₫‰ÿ4 ÿZ íÿ%Çÿ¶/.×ÿNLÿ4ÿÊÿ¤ÿÿé₫ºÿlÿÿ ¢ßÿ²6½>¢́ÿ–|ïÿÖÿˆÿ®ÿBÿ·ÿÿfºÿ>–,ÜEÙÿ̃ÿ ÅÿXÿ;ÿô₫œ₫ñÿí₫9 Ưÿ—²X½*8åÿßÿÎÿ…ÿ§ÿÿÿáÿ̃ÿ{ÿDS££ÿ,±̉ÿy¤ùÿäËÿ}ăƒÿ¡ƒÿ†ÿ‚ÿ¬ÿ,ÿ¥ÿ%"ÿ<ÖÿƠÿ‡%€̣>Îÿ)ÿNÿÿe₫-ÿtÿ©ÿ5ÿkÿ^ÍÿlÅ•EƯ7+'ÿèÿÿQÿ˜ÿ̉ÿÉÿYáÿ~W¤i†'<̉¿ÿ¸ÿÅÿ₫KÿÿSÿÿ¬ÿQÿbÿ¹ñÿäÿÍÿvæW8ÿeÿ-ÿ‘₫¬ÿ@ÿ”Åÿ¸ÿ>^³O§“F±ÿÀÿ3ÿ ÿMÿ‚ÿ@¡ÿôÿ2X” YéÿÜÿ¦½ÿ³ÿZÿ]Ú₫³ÿëÿ ‘ÿKnYưÿÖÿ®ÿÿÙÿQơÿ;^ÿbÿøÿA;o<3lÿÿLFUËŒÿàÿ:ÿáÿ“ÿÈÿ^ÿOÿûœ6M7¡ÿ¸ÿ ÿ©ÿwÿ˜ÿ®ÿ‰ÿqÿ»ÿQíÿÉÿMzÚÿHTĂÿ“ă¹…{ÿQb2ZÎÿE£ÿÿÿ—ÿ°ÿ́₫ÿ¦lrkÿë₫Ă₫íÿ*¥aơÿ(etçÿu+1lÿuÿRÿ7ÿæÿTÿéÿÏÿVjV}«§ÿej̃ÿ&zÿoÿ₫ÿÇÿœÿ8ÿz₫7?9ƯÿsmvQÅÿ¥ỵ̈ÿơÿ{ÿ=»ÿĐÿ²ÿÜÿ ôÿ6ÀÿÔÿ½ÿXqÎÿ@Nÿ(7Ơÿ²ÿ&u÷ÿÇÿ¤ÿ́ÿH‹uÿI(›zÿ]d̉ÿ7³ÿnÿ¬₫Ç₫¾ÿ/ÏÿyËÿeVUnÿûÿ&p³ÿ¢ÿœÿêÿ2küÿ—ÿJÿ$Íÿa+™áÿ&áÿ­₫ÿ!3(ÿV(DËÿ®ÿßÿÀÿx˜ÚˆsÿB₫ËûxüCüáü`ÿô₫Â`ÑĂơÿöÿNÿ-ÿÎ">F6̀N‹Öóÿ÷ư—ưaü*ûæø8÷¼öFö˜÷Ăøú8₫³L ´¸áá¶/ÿßùR÷ƒ÷˜ù¥úÇû<ûuùOøtöÆöä÷Kø©ú ùz÷)ơṆ̃̃ṇ̃Ựóù}ưÄh'”0Q+@"H₫Sñ.éâèØí5ñ{ơ4ơ:ô×ö ø=f zŒ₫èû9ñêXä—ää°æ;éêÜô}ÿN@*\: FC@­2½ÓưèèHÚÀ×¹Ư7äpîñơrø ûE©V¡™¸ưḰ ß*×Ù¥Ú™à‘äôèÓöÖâ5IƒSœI%8°Ơù+á›Ï8ÍÿÑÛÛËèđiù₫Wb|Ê5â5 .ö&ä§Ö,ÑÆÓá×á1åaóÉ415D°SÓN‘@G$?=çƠÑƠÉͤƠùäñïZû ^R*ïwi¸ö æmÙ}̉ƯÓ¾×1àæçÆ÷Ïî ÷6ŒINRJ’8Çpû¤àHÏIÊUÎüØ’çóó₫— ÊuÜ ‡Œñ8äuÙƠBÖåÚÆâsñ n1̀C"O?I’;YÄùçôÔTμÏÙíå­đ`ü© { ¸£c̃ -óƠæíÜnדØƯÚÑç±öâ ˆ&B9ÖJËIgAŸ+Ÿ‹öß¼Ô ̉`ÖÁá•êéơŸüwf p „ Î #¼÷¨íµâAÜÛfÜèêRùYK*q= JûDö9>!Íơđx̃1ØêÖƯ æếÊơÅù…ÿ×Ûƒ ¼Ó¥ưWóééÀàËỮTé˜øÖ¡&9E}B‘7ơ!ç .ơ3åˆƯcÜYà̃æÚ*̣¨ơ÷ùïưÔ^Ÿ•ươÅë4å,áưäØïúj¡+̣<×@t;ø+‘<^îäÖà‘â èˆ́6ñéóÎơ8ù1ûeÿ®ÈưI÷2đaéÇ䫿aïÇ₫«(̃9²?¼;°-»Àï5äAàbâßè]î»ó\ö®÷˜ùkú^ưJ₫”₫öûÜö^đ‰ê²åöçæïˆÿ;›(Á:?Ù;0,„ÎíÁă=àă…é\î—ó(ơ¡öø+ùsübưb₫âû[÷¬ñĐëJè́oôKo,û9+D ù{íè”è–í–̣úö,øJ÷$ơ’̣ñ4đƯï3đÊïDđYđ(ó̉ù–!̣.*573@)T«4ö=́¨èaêÊï`ô(ø•ø,÷Ùôçñ}đ₫î»îÂî²îÀï‚đ—ơ}ưä >'m2Ư40đ"EÓÿ ñ­é̉çoëñÜơAù%ùÈ÷ơ%̣FđîóíKíGî+ï’̣ úRă:"Ç/¿5h3!)R`/ô(ê³æÓè4ïô ùùù˜øuöạ̀bñưî‰îîîsị̈đø₫¬,–4w3+X– Éøí́Jèœèeí ̣{öÄøß÷Éöô<̣đßîµîîfï´đÓö™ÿ kï)Á3ư3ü,‚P öùCí́çVèRíOóµ÷úù(÷+ô°ññïFî;îäíAïVđÇơ8₫< )4h54/  àú¼́œæ{æ‘ë5̣O÷úúRølợ̉Vñ…ïhïUîÿî́îẹ̈û§,d(y5ú7ô1Ă"7`û́ÄåÈå#ëḄ>÷iúÅùă÷9ơẉsñ¶ïÖïéî8ï9ị̈úÓÚé'ê5É9£3Ÿ$_ûOëƒäÛäTêäñG÷€úúÅøûöMôXó8ñYđßîÙíĐí¶îˆöS%á4—óñ^ñÍï¬î6îñ́ûóUưǴ#Ơ4ß>«9ù+Ÿü·éÀß,âĐèôºûWÿàÿöûÊù&ö̃ôëọ́|ñƒîỐfë¡êæ̣“ư͈'ÿ8¡Bñ:l+ûT÷™äªÛ>àèÀơR₫Mc₫*ü„÷íơXô7̣1ñ&î́vê¥èïLù ÿ#6ĂC£>s0̃ûÖæLÛ̃Ræ9ó°ư3gg0₫CúøËöSôṇ̃nïíëĐèCæ‡çñ́SP06B´E<9Ü"ǴvÜXÚ­ấî6üb2ăÊưNùo÷|ôP̣ăïú́Îé7çéäøç*ô₫#A9I¦F54[å÷7âñÖúÚ§ç ö¼aĐ¥Úươù9ø“ô·ñ¹îŸëØè6æ¨ä&æ̣]‰ :9£IĂI›6 yøáUÖ1Úqèt÷ôM®4yÿwüQùœơ(đÁíçéézæ¯å̀äUê¯ús˜0rE®OD#(vsæàÖơƠHâŒô–÷ ̣W ÿ•ÿ¹ü‘ù0ôdîŹ+ê¢ếèÆæ˜åIç…øé/©G±PeF‡&½åzÖiÙ¹å¨÷³c†,êQw”₫̀öQđ:ê¼ê!î%đÛđ¼êææ\ăHëơ½H>M‘K5¶=ó̃~Ûyå_̣’₫0¦¢)e(̀ùöíèŒçƯî„÷Oúl÷Àí9æÙäêÿ½³0A@n3luÿŸí¯äĐè‚ï}÷₫3]`?-Ç ø¤́¼æºé¿đµü><ÿ)öë9æ‰è_ïª₫́:"«3O6¿2U!ă øCèæ†ê}ó7₫{8¾¸ˆûư÷Zï@êÛí%ơÏÿĐZÔüEïúæëä̀é]ñ ù§A+Œ7¯82,ú¢ø_åưßé ö{-¸'̃”úÔñßèxéóØN ;@|öÛçYâä\ë8̣̣øúp p );$Bâ:–üEç$àaêZú-k¥ÿŒü•3̀ uơ¿é®äjï΀ ×÷,́YæêˆîÚđ̃đ£ëŸ́ÿ¶k8ŸG ?N'Uøí›ç̉́ùW₫ư›ü“ûd ˆ iöíçăÔé3ú«K ‰ “ÿeú‹÷ñơóń̃ç6èßẹ̈^÷đĐT0E>C7«& åó<êXêạ́œü©₫¡Ó€Ôaưáóá́.íÂó]₫ ¿ß8₫¥ûM÷¢̣b́¶è„ëÉđ÷ô(öđ"úă+„E¼A‹,® ̃îCç#́Çơ­ÿ³₫wưỵÁ |Úú‰î¬æ2ề÷_H v "–CÇKüÀóîqíăï€öC÷^ôÊí¬éBëẂÏ7£EÛ5bÿẠ#ï.ñ:̣„÷û< ­ Bàü–ñ́¶́ ñAû†Ñ x áˆ₫¾÷Ị̈Ṇ̃uöq÷ÂöEñá́„́Àîˆóèö9₫³æ*û<Â<ô$ñ ơIîṃ®öÚ÷<ûæư‰@ *₫UñÛéḰ&ó%úŲũz'’üIùí÷̣ø1ûzù#övđè́ºí;̣¢ơrù¤ú=¤T1Í;(0muúïîñơç÷½÷œ₫íà v ơêôîtíôÑø~ú₫$€ ‹¼D-Bèǘùøh÷;öCó¨ï¶î~đó!ơÅ÷ưú/ G#^12¼Eù}ô¼ô"øùbư D A ͳ÷ đsđị̂ù÷zú”ưp W ÎMXÓƠ₫lû›ùçơ–óœđ´î5ïQñ†ôˆ÷s÷’øúư^ † o-Y-ª üí÷»÷µøûúb₫[“ ñ₫ƒöŒ̣=ơ¼÷–ø̣ù×üé{‘ư°]¹ÿôüơưuư&ûà÷̣ZđÔñĐó²ô˜ơ^ơÇơÖöö÷÷₫å ¼?-4+ ‰₫™ù§ùEùŸúÔ ´ŸưÜôŸñẠ̈,ơ]÷úùư ¦Ư¥Ø&'₫ûIûưû ö·̣¹̣_öƒùëø>öơ÷NùÖú ³ ’&T*m _;Bù¡öjöY÷ÿûfgugøíóCô‹ơçöéùP₫©-Q!·á´ÿŒ₫Bư.ú̉ö¾ô+ơ øêúû­ú˜ù@ø_÷L÷Đ÷¥₫© 2 >%&¿·ê÷‹ơ1ø0ûG₫w¯ÿ¯ùơWơvøưûvÿb°gÀ¶kưSüîưøÿ4`"ÿ›₫¼üÓùÀööø6ûưØüRû­ùƒ÷jôÜó«÷¬| ­ đj¢ ëúMø£ú¡ưßTÿÁú$÷îö†ùü₫Q M€ÚưƯü«ưá₫ 1à¶í>ư‹ø™ö̃÷Pú—ü™ư†ûVùJù­øơ;ôè÷f₫lØƯ²úƯû¶ú|ưr¡E8ÿ¨ùNööµøfúÚûŸ₫µ!>$ÿSÿ¥ÿÀÿ&‰KäÜÿVûÉööư÷ûœư¡ü›ø_÷̣øú÷¬ôÁơèúÿ·{ «ñƠ8j È₫§ư:₫hư"₫7‰ÔÏư>÷=÷JúJû'û¯ü^ÿœ™üÿ₫AÿÖÿ¶ÿ6ºkóÿ˜₫NÿtÿÄûH÷·ö[ùAü„ư6ü›ùkùĂúùvö÷­ú,₫7 ån^ ¢ù₫0ư¨ư`l7`aû ø"ùHúGúÉúư‘é3ïÿÄÿ¥ÿ~ÿ̀ÿœŒÅwÿRÿ?’ÿ€û7÷gö:ù¸ü₫æư!ü­úîùNù–ø\øtùMüÆÿ@º²N3ôĐ ̉Rÿă₫àưXưÿh¹\ü×ø´ø…ù¹ùâù—û ÿƒƯbÿ́₫ơ₫ß₫¼₫ÿå«̀ ú ư'øöy÷Ưú—ư)₫ưÀûbúáøwøTù1úûpư¦Çí ÓzÊl âÿîúNúAưÉÉp±ÿ^ü¯úRúeù,ø-ùÈü¡aĂÜäÿ8ÉL½ÿèÿ‹ÿTÿÇ™)Óû*÷÷jùƒúú`ûÙüÀưLưû~øKøÔúwưàÿƯˆ _©íªNü₫Öụ̂ù¥ûäÿÓNÜÿÉư4ü<únø‹øÍú©ưÈÿ½®:Ê>‚ÿë₫À₫Ñ₫ÿtÿŸÿÿ¹₫ØÿwM¦û±÷4ø™ûºư—ưUưäư´ư½ûhùÛø_úQüŒưiÿ„) œØBR‹táÿ!û›ù¦üå Ëÿ ư ư±ưû5ùÉùzü6₫₫ÿNưÖ…JËÿÿ₫₫—ư¿ư!ÿ²ô3zÿ₫=ûùpú,₫÷₫Éư₫ưLû‹ùæùûÙûÿü–ÿ=^ IsXi Ù{sü¾úAü ÿbÑÿÈ₫₫ØüûÓù´ù¢ú4üƠưî₫¹ÿĂ`|ù₫á₫₫ÿơÿV₫}ư¥₫dh3‚¶ÿ¶üû́ûÈư€₫íư‹ưºư'ưeûåùáù®úƯú×ú|ưỊ̂₫® ̀ˆ₫,üØüđưj₫»₫-ÿ/ÿ ₫üú)ùÅùû<ülưÿÊV¢ßÿÁÿÈÿqÿÿ!ÿ‚ÿÂÿ—ÿ3ÿ…ÿa^©ÿ üöûĐüüû§úAû'ưÂưüCûưúÏúöùÀù™üuq Ưx…~ Ưÿ¶ú[ú™üåư$₫đ₫¥ÿ₫;ü¢ú=úEú¹úHü}₫̀ÿÅÿ¯ÿuSưƒÿY₫™₫¸ÿ+[ÿV₫v₫®ÿHơ„¯0₫üÖúkú³úmû6ü¸ü¶üüîúÄùmùÛúê₫Ç₫ YY‚¿ l]ư¾ùHú'ü,ưëưÿ±ÿ˜₫Züfú¿ùŒúÿûưëư)ÿ!A0ÿAÿ +ÿAÿ|œDÿgÿî\bº₫f₫ÿ@₫vü#üUươưư…ûÈúƯúû¦úÊùôùüjT dD¡ ƒŸÿûú\ûfưJ₫A₫P₫\₫Ÿưümúú~ûŒư¾₫Î₫ ÿ<1…%ÿÿ ltÿÍ₫nÿF'ÿó°IËI₫!ư—üû¯úûQüÄüæû%ûhûpû[ú%ú0ưÄ­1¹1¦ ¨VưŒúûuüư™ư₫đ₫äưTü„ûyû¼ûnü¥ư¼₫Vÿ»ÿàÿÿpÿASÿ=ÿ)g̀ÿçq¦'U₫ÿư»ưüµû2üRưưƒüûWû²û®û₫ú±ú\üBµ j›ä ä&A₫‘ûöû₫ä₫₫•₫û₫:₫–ü‰ûjû·ûoüưS₫Ú₫°ÿ°ĂÁÿÿ½ÿ›8?ÿ~ÿ̃xĂM'd_¼²₫ưưEüpû˜û§üưSüÀûJüöü«üüüd₫ù]Û9 @c " *½Ơư2ưư½ư3₫ư₫Xÿß₫óưùüü«ûüưÿưs₫ü₫äÿn §ÿ–* ÿäÿLÏÿäB̀ÿj₫ÚưPưQüáû¯üßưz₫¤₫É₫ÿ ÿy₫Ơưx₫\!D°›)DÛ'Ÿ\Ø(ÿ7₫₫@ÿYÿç₫k₫.₫íư_ưáüöükưÊư=₫å₫lÿÍÿS¶Î1²ÿ±₫P₫bưjü¤ürưwưư<ư₫L₫₫#₫¶₫ÿÿ«ÿ1¬]©¦·fzn~Ù!L¾ÿ†ÿLÿö₫³₫»₫ÿ…ÿqÿÿ,ÿ&Î7^ÿ«ÿ]¯ÿ?₫B₫bÿ ÿyưöüæưäưoü¿û©üiưư¢üư…ưdư“ưk₫3ÿ‘9ûË-²eÅ,vdp¤¢ÉÿÿtÿWÿÙưGư×ưđưư₫üe₫»ÿyÿ₫|₫8ÿ9ÿ5₫«ư“₫¶ÿˆÿ̀₫fÿđ ½ÿ6ÿœäb†¶Áÿ}₫¸₫{₫ùưđư₫ ₫₫₫₫̣ưúưV₫ï₫¥ÿ³'ZÄ,Q`åơ’₫·EÈÿ^&ÿ»ư₫ ÿ₫6ưZưº₫é₫Åư‹ưÀ₫„ÿé₫&₫’₫·ÿáÿº₫!₫3ÿ)ÿF₫0ÿt7]ÿkÿïÿâÿ„ÿ ÿ%k3åÿóÿ#ơÿÿ’ÿ)UsóŒ¦@”  *{»XƯè'údăÿâÿ@3\ÿ¯₫ë₫0ÿ§₫*₫€₫Ù₫₫1₫4₫&₫óửưÆư₫₫¥₫(₫-₫æ₫ÿ°₫Î₫ƒÿmËÿPÚß1ỢÛ$2Ú–X虋–u¸ÿŒÿUÿù₫æ₫&ÿÿ£₫‚₫É₫º₫Q₫;₫}₫¢₫­₫°₫‹₫€₫¼₫À₫t₫£₫=ÿ}ÿ€ÿÜÿ'fŒ£ëE_ ÜR₫(7đ¬¼Æz¯!ơÿôÿ²ÿ©ÿéÿĂÿ|ÿ¿ÿáÿPÿÿ€ÿ¸ÿ“ÿ ÿ›ÿvÿuÿWÿÿ*ÿ…ÿeÿAÿŒÿ‰ÿ,ÿ"ÿOÿRÿrÿ¡ÿ¥ÿØÿØÿ;(L¡Ÿ ÇçáÏ¿ËñÜɱ˜t8;ïÿÜÿÏÿŸÿ¸ÿÅÿ›ÿºÿ¸ÿ©ÿ½ÿÛÿÿ™ÿÅÿ¬ÿÿŸÿ¨ÿ‰ÿ©ÿĂÿºÿÁÿ×ÿ¼ÿÓÿ₫ÿ́ÿÙÿ(-#/$.F7D\S=A;( øÿóÿơÿñÿÚÿÚÿåÿíÿåÿ́ÿơỵ̈ÿåÿåÿíÿñÿơÿóÿøÿúÿùÿîÿîÿơÿúÿöÿûÿûÿüÿ₫ÿûÿ₫ÿüÿ÷ÿöÿưÿöÿöÿ₫ÿưÿưÿÿÿÿÿ    ÿÿùÿ÷ÿöÿïÿéÿèÿâÿƯÿƯÿÜÿÙÿÚÿ̃ÿßÿâÿåÿëÿïÿñÿöÿúÿ₫ÿ  ₫ÿûÿ÷ÿôÿđÿíÿéÿèÿæÿăÿâÿâÿâÿáÿăÿäÿçÿèÿíÿđỵ̈ÿ÷ÿùÿưÿ  ₫ÿưÿüÿúÿ÷ÿơÿôỵ̈ÿđÿîÿíÿîÿëÿëÿ́ÿëÿ́ÿîÿïÿóÿôÿ÷ÿùÿüÿ₫ÿ  ÿÿÿÿ₫ÿưÿưÿüÿúÿøÿøÿ÷ÿöÿơÿơÿôÿóÿóỵ̈ÿóÿôÿơÿơÿøÿùÿûÿûÿưÿÿÿ ÿÿÿÿ₫ÿưÿ₫ÿ₫ÿưÿûÿüÿúÿûÿùÿùÿùÿøÿøÿøÿøÿøÿøÿøÿùÿûÿûÿüÿüÿưÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿ₫ÿ₫ÿưÿưÿüÿüÿưÿûÿüÿûÿûÿûÿüÿûÿûÿüÿưÿưÿ₫ÿÿÿ₫ÿÿÿ₫ÿÿÿÿÿ₫ÿ₫ÿưÿ₫ÿüÿưÿưÿưÿưÿ₫ÿưÿưÿưÿüÿưÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿ₫ÿ₫ÿ₫ÿÿÿ₫ÿ₫ÿ₫ÿ₫ÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿ₫ÿ₫ÿ₫ÿ₫ÿ₫ÿ₫ÿÿÿÿÿ₫ÿ₫ÿ₫ÿÿÿ₫ÿÿÿÿÿ₫ÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿưÿ₫ÿ₫ÿüÿ₫ÿ₫ÿÿÿÿÿÿÿưÿưÿ₫ÿüÿ₫ÿÿÿ₫ÿ₫ÿ₫ÿÿÿưÿ₫ÿÿÿÿÿüÿûÿüÿûÿ₫ÿÿÿ₫ÿ₫ÿ₫ÿøÿûÿ÷ÿøÿưÿ₫ÿÿÿ₫ÿúÿ₫ÿÿÿ₫ÿưÿưÿ ÿÿüÿüÿñÿ÷ÿưÿÿÿ₫ÿ₫ÿÿÿöÿ₫ÿ  ÷ÿóÿöÿøÿùÿơÿûÿüÿùÿúÿüÿüÿ   ₫ÿüÿúÿøÿưÿóÿđÿđỵ̈ÿưÿ øÿøỵ̈ÿùÿơỵ̈ÿ́ÿíÿÿÿ ÷ÿúÿôÿơÿÿÿûÿ  ưÿüÿüÿùÿûÿùÿöÿÿÿüÿñÿÿÿơÿíÿÿÿ₫ÿüÿ ÷ÿùÿöÿ÷ÿøÿƯÿáÿöÿ́ÿñÿúÿưÿöÿöÿ ơÿơÿûÿ  ÿÿÿÿäÿñÿôÿçÿöÿïÿëÿêỵ̈ÿôÿïÿ ëÿèÿ₫ÿùÿøÿơÿïÿƯÿóÿơÿÿÿ úÿúÿéÿ÷ÿ# ûÿùÿÓÿÑÿ²ÿÑÿÈÿâÿƠÿßÿøÿëÿ+ 5B#. ,21^Pñÿ3èÿ`¿jMíU'ª̣ëúñsù́ưg ë¬ùà́¯́6́¼ôM ?q;*Ë£eĂơ5ö¿ùS b©Huư_“ô4ú¸÷ºúÈü‘øûÿ÷/óđSáöØÙ»ü²D™$Ơ*«4ăøiîkè́áñ3 hç [ƒùôëÏđ”ñàø¶ư ^ Ó_ÎükúCø£đ̣;öÜơ­̣àîÈ̃sÙ?ƯT7ṣ*)‘ưæ÷bóđûÂ₫ºz¸ ¦>óP̣êö`÷ öI₫r½ k è·2ø¶ñgíôé¨ë'́ºê÷àâêßîY0ÿ¹ ÷ e ÷¤đË×Ô; î ûñ÷>̣ûíú†úä0 ¼ú®ñáï ë—ç†åuăÜà°å\è>ÿ¥5̣- d;©đ|ú JíIv#ÿỤ̂ ơú÷töÛ÷…†| *‰ûĐô†î¿é$ä-â“â¿à@éîèPøƠ2Ă)Û…!zz÷Fö0l´ "¶r { wÿúơÏöúĐüƠøØv¢Ä₫pù"ñaëgç߸Ư¦̃&æçêÙëU`5wp3-úøé¢´d₫ªFú4óúư‘úA‰eúÿüƒø ïÏéµè/ăĂƯđ̃ çæỐ~51#øĂ-ûB÷jđù t~J º ûÂöÁü₫§û#₫>Ă₫(ü^ú_ö4ï‚ê3æLáÜüá7ç åư'ú*<%, ơºæ₫…ˆưnY€ * ù™ûYưnü’ù“ưăÿ ûZ₫Ư÷̉ñªí1æˆâOÜjáå9ă…ÿ±›"™# \o₫•øgÿ Ưf• XvüyúJư­úfû¹ü×úIü ûơöq̣ïëcæ¼̃ à+ç]ă‡çË{é!@ ¸đ .ư₫c̃äƯ ë£û”üíưqü…ûµûˆû<û¯øSơÛîéä0߃ă£çeäođæŸ‚Ï#û7æ 4”bxnDơü½₫ÛưƯú ûSú¬ûäù¹öṚ%íóèíßj̃Ääå@æ5₫á: Ü&yÿÄ₫^ MU#v v¢₫₫x₫”û;üúŸú|ûĐøơåí~ëä;ƯKá(åñçsëÎøá;(ï 6ÿÔñs ÄØ; ,¡ÿ^₫ªư£ûÂúûüÙùG÷ô¸íuêƠá`̃â«ä½ä›ï¦aƒĐA:ÿ₫à  6<ñÀ ÙDÿ ₫züúùÚúÇư]úR÷‚óäêiæ1̃ˆ̃úă âéQüæ;—b_2*µ¯œ̃ÓW‹ ®‰ÿ—₫‹üqúSü üü@ùdơÜïé¥åÄƯ¸àîäwâÆêpô ¨B ¹!ïøÎ”¨®„úê₫ëúåúÛûhûTûµùpôÊí4é]á̃Fá~ăDä–ó&$Ü*Шk₫{Ñ` äëvœ ·‡ưÿoư ûBûđưáü€úx÷œđÜêçăxß~áâdá»ïA Û’Ü'B­ÿc sñ» à1ư ü!ưÅü†ưÇü×ø£̣–́•åߨà—âưâ@í `é¥Ô, ³ưßÿÿ,̣²|û3 i Éúÿ~ưMúdûNưÿ¦üBùóïë«äàÉâ[äèáÖô~ơ¿bË–ư{Ïb Lù‹÷û †pƠúaú\û:₫?₫Ÿû¬ù2ñé\âUà»ăáÁíÜ ²Nh#äû:)ÿ́ ÀH@é6¾ü^ù©ú ưĂ₫ ưÂùlơƯënä½â=årá‰ë ",v¨´#ûØÿïưºK •÷WĂßµUưxùYúư0ÿkügúœôFë)å·â<ä´âÜùVex ~₫Lú”ư₫ơâl²ë́ ñºTÿCûàùæúœ₫m₫¬ûøđÔèîă(æSä°ô\ J5ŒAk°ú<ư²ûgO è}Á¾ î\ÿHûÉùûf₫àÿñû—ø(̣úêG囿¿æF÷ư U=“k0û.ü­ûÁh! º«  q¨½₫úù•úûúĂư£₫lükø=đêèææçïáºÆfj¸ư@ü¢ù`₫}i ₫ , ² îà₫Äû:ú‚úü™ưœüøUóĐ́véCèỌ́ƠĂz,ư₫OưzúÔưïƯĂ G ¢ç÷ư–ùÀùú'ü~₫óûø§đÎë8ê¦êÿ2 ¾i— «₫̣üDûæ”' ï Úc>ÿ%úÏöøÂøPư₫øú‰ơ·í́ÉèVø¥ [è•Zÿcÿyûă₫e‡«3 6 cAåûÔöMö›÷Üú¨ừú–öŒï²́íê·ù¤ GĂ÷¿ÿ}üưôÿ£°££ 7̣û[ö¬öˆ÷¦úơüáø ô¾î îiíñ”f 9 j‰ÿSûÿRç3&gkơưâù©ö¢÷}ùÎü ü°ơéđơîƒêSôo wÏ #çü fÿ₫ÿ& áSđÿ§û;öö¸øÓúưcø‡ó©đMíníf'È h ƒ ư>ä&ÿæÑ >1₫!¤ưù÷#öO÷¢ùöûç÷Vó¢ñ÷î¤îv–Ç á Đ 5 Oü×ÿT›ÿzHH̀I‹8₫Đøă÷ÔöùEú<ö‹ñ‘ñzîơ® < äù%Tÿơ>À[É«Óÿ9û–øø¸÷pú!ùiơBđ×̣3îOk½ ₫°• !₫̃ü½Îÿ½¨5 XÄöÿ™₫¯økøoö•÷ü÷/ơ²đ ̣ïT₫M6" p U,ø)Dÿ© ª¼úHÿ³ư›ù¬ö8÷áơa÷ơYđỢäí4ÿÊà3 ³ M´ø0Ă₫̉Ư ‰•ïư₫̉ønöüơ[ô›ơ3ñjđḍ‰ï Qă ë 9ûpû‡b¹̉× aǽüÇûö[öûóœ̣pñ§ị́̀…î>@ñ= ä á÷n³ Ë )Î"ü|üU÷Kơ"ôåñÀđcë·ñđ%ưÓè+ | ₫7øØÿÿÙ¤“ » ˜+Àû›û÷ödôNôñfđëËñåîN₫×^̉È z ,÷̉ë₫úè ̃êCü‰üTö¸ó{̣óî×́¦êÁđññ̃ ß « ú‘ú§₫ ÖrÈZ MÿOûÀù ó9̣ï”íÄé¶îÄïÙÎA¡3 º D÷¾ư]ÿdH; … ú9ûrû=ö‡óâïoîăéb́ îºúæÁ‰ Y ”“÷oǘü‰9G  åünûƒ÷Úñ1î ́0éß́bí±₫vX1¨ ½ö–ú.ư ó  ƒ ₫XûûlöHñ)́{ê;́ế£ïñQư  e 2"÷èø₫a˜h è * ¾₫ù̃ù ö¬îŒéè¡î,íI÷9 J§ ¾ R û´ø÷‹C· J ‰®ưƒù0ø̃óÂí:æêë]ïÚôØeœ a Úâû÷ùüÖP±ææ4ûøôỴ̈ª́>íṚÇö5’ zµ̣ /L†₫˜ú>üăù„wƯ₫üÄúzû ú¶ù>ù÷ù…üAWÑ1èÿ4₫—ưÿXr=¨¿9œÿưIûdùƯ÷øcûÿX5|¿¬Á9`₫fP ưíùơ÷/ö«ơïöúùÆư_~¥I2¦çƒ{á2|¡f₫jûĐøÖö†ơ$ö/ø‚û†₫Í·Hü₫,€̀dÊ^f ₫=û®ø¹ö§ơö´÷¥ú©ưE)*‹¬hß^&”a¡kưúŒ÷©ơæôÚơHøHûßư1ÙÖ9¿ÇZđä#ëzư¥ùvöpôôŒơ^ø»û´₫ăZ2ä©÷qANX+’e–ÿ üÊø öhôFôöùRü"ÿ<Èu¸B¢l2@ØùÿÚü£ù÷TơưôöKø$ûÚư:û%+BŸöƯâë7ÜĐ(ưùÖöGơëôögøXûçư₫ÿÁ₫5Nµă§"©¼DưÁùÈö®ôvô¯ơQø<ûûưYTZ¶5Đ¼ÅáO)ü1ùöơôäô4ö®øxû₫a,¯buÓ\ ₫b"ÿû\øöïôBơóö”ùHü×₫ó°8Ÿûµ«µ́YKÖüù3÷Æơ±ơÍöóø’û₫|u …¨«PYzÁR:Ơü ù0÷×ơºơưöCụ̀û³₫=ºßÏ~¹ÔëUÿ¦û´ø“ö»ơöĂ÷Eúư¶ÿ1Uäñ³"²ü’ù÷ªơơîö\ù-üù₫¢¹ß®Ýl ëSưÓùöö%ơÆôùơdø\ûe₫\÷ë%÷•ĂB࣠₫yú]÷5ơbô%ơM÷!ú?ưlrÚr{# Y Ïa ób₫Åú”÷Sơrô&ơ/÷åùÚüăÿ̉=ù7 % Ưû₫>ûæ÷jơLôÂô™öQùdü¤ÿ²B f6 m ñ‘T^ư₫†ûMøÖơ¤ôîô~öđøđû7ÿg,§ ê j ­˜ÿsû-ø¾ơ‘ô×ôböËøĂûÿ*Ø̣ƒ‡ Ü i ƯØdÿÜûøöËôÏô ö7øû$₫S8–gŸ  È †\eøÿüQùÙöoơEơGö(ø£úuư] ]A°‡ ” ÀyNçư²úøeöÍơWöÎ÷ƯùDüÛ₫vÖØwŸ ±ulÁÂÿĐüGúoøt÷a÷!øùLûSư{ÿ£ŸV¼ªäS·%ÿÊüèú¤ùù0ùÜù́ú=ü¹ưSÿöˆơî7Ûê}µÊÿ₫œü˜û ûöúMûơûÚüïưÿZ©-tH²ÅNÿ₫BưËüŸü´üơü`ưöư´₫ÿtZ* ´`—Ôÿ5ÿ¾₫_₫₫₫₫P₫¦₫'ÿ¶ÿ6áü  45Ûsøÿ‡ÿ!ÿ̉₫º₫Ó₫ÿ0ÿ[ÿsÿyÿ†ÿ®ÿïÿD® @K5ø¨b+äÿÉÿœÿsÿ^ÿ]ÿeÿÿ³ÿöÿ<„½Ở·ƒAưÿÄÿ”ÿmÿSÿ<ÿ#ÿÿÿ/ÿ_ÿÿâÿR}‘’„iI,ÿÿèÿĐÿ¸ÿ®ÿ²ÿÆÿçÿ 4Ys‚|o]M?&âÿ»ÿ–ÿ{ÿnÿqÿ‹ÿ¶ÿæÿ*7>;61)#öÿÔÿ»ÿ¥ÿ“ÿ“ÿ§ÿÅÿæÿ +EWce_XM=.̃ÿ¿ÿ©ÿ–ÿÿÿ´ÿËÿåÿ₫ÿ(4:@HF9ÿÿƯÿÀÿ¨ÿ›ÿ¢ÿ³ÿËÿæÿüÿ#7GVdjcR9îÿƠÿÆÿ´ÿ¬ÿ®ÿ±ÿ¼ÿÉÿƯÿíÿ)7CHE8$ ïÿÛÿÏÿÈÿËÿƠÿƠÿÔÿƯÿđÿưÿ 6HUPD7+ñÿ×ÿÎÿÎÿÄÿ»ÿ½ÿ½ÿ§ÿ¦ÿƯÿ8r…{PÖÿĐÿÑÿÔÿóÿêÿÓÿÈÿ¼ÿÆÿàÿ+' èÿÎÿ½ÿ°ÿµÿØÿ .GZ[3 ñÿ₫ÿ $>-₫ÿ  3X{¡Oæÿÿuÿ~ÿ|ÿqÿdÿPÿAÿ%ÿÿÿ0ÿ\ÿ‹ÿªÿ̀ÿÑÿÑÿÚÿ÷ÿ*Y„°å*çấêßʬ•^!ùÿÚÿÖÿßÿâÿÛÿÀÿŒÿ@ÿƯ₫•₫y₫•₫Ô₫ÿIÿŒÿ̀ÿïÿ́ÿơÿ DaL,ưÿ¾ÿwÿLÿNÿvÿÁÿm¸ô%.$!  Ër)×ÿ”ÿSÿ.ÿKÿ_ÿ…ÿ̉ÿñÿóÿäÿÜÿ r½›aG xÿÿç₫ÿ\ÿ‡ÿÿtÿeÿrÿsÿÇÿAjWG9ÿÿÎÿ­ÿÿ´ÿÑÿ No”Ƽ»“‚opDûÿÈÿÿ´ÿ¾ÿØÿîÿèÿÿ€ÿ_ÿ…ÿÿöÿ(1̃ÿ‚ÿ­ÿŒÿ¦ÿvÿFÿ́₫À₫ê₫"ÿ…ÿ¸ÿg™U=ƒ(< Ơư³aª& & •Êú₫ ÜYøVôŸ÷lø̀ü_ü˜øGüæû>ûfútÿv¹Uụ́‘öÁơOô³ơCùV₫MüåE>eö;̀¹  ưÅa¸ JWø£~ÿÖüđôKÿôưCø }±ú­ưO₫æÿYû‘ư¬‘küQưS”Ơü¬₫Oïú@«œFöQØú@úó‡₫w÷Ơäbđ-ûÀ₫c₫̣÷ØưßûúúÈümÿÍƠư^÷=û8@₫ùĐGç₫)ù ¸̀ư¸ [₫³1ùñ… Ôù‰<¹¾üM\Iưî₫œDÿÊùj Ûư»ú–ü‘ø=:ùđ÷îû£ú${ûŒ×vøæ÷ûö Å’üI †ñ…üû ˆË₫. ráư`îüG± è#ß PüµơZ₫áø…ü!̉ư|ũùAÿsü5üÆ„ƠZô÷öl ‡6éùUưkü‘q"Víú‰ªưUí¬̃ ¡ ¨ÿ­ü$ûâørÿ]K{”₫]ü ¤û ù»₫pû‚Á(ưĐưiûH ûú÷hƯû@K=Wơ|ï­Zưy2 YÜ̉³đà‚₫ĂÿÓư¸“Áơ†ăCô₫äGư»Tù#øÿU yVüf̀ùûø½ûÚ¬₫~̣Œaª ÷”øI ¨ơÆ#• ›đ>üQ »ÿ}ưöÅƠl¾«ü•ơÁøzüI ?·ư®ơ·úïú   uú,ö₫Cü ÿûP~₫j¸üØø™öÔæ ”øÁøy û½₫cÿú‚ÿµÿ\ÿ[ÿ%ûvÙù2đb=ËSû¬₫’û̉ ¬ÉùÖúă₫Ïư6ÿO 0ưK7ÿÉüû ÿ[ư“%çÿü̉åêöéÜ-₫÷¾ü“ ÿưùưÙ¿ ¦ửơ¶ưz ú×÷®åËhCøó ǘưf̣ù=ƠÍư:îI  ûưeửø'9©Ÿưøi£ ̃ü[Hưöûoưÿ;â ÷¨û÷ăÿ¡ cư‹ü#ơjÈ4̣gÿ“ơ8ÿ“­*^̣-0›Ơ¬ôÏû7 ¶ÿµÿFöƯưá₫cHûÙÿ zÿ;ưàúœ•Ls&ưÿÆûƒ₫? 9 ô₫wơúÈwÿÇơùèÿp¼|ûÆüđùhúw ~ ^ö4û­óȶAd)ü%"êúÍ ưÙüùKq°ùœôxú¿÷kŒ÷Öư¥=ơ×÷¬à kưøÊú9oT àú û†è,–  VưeúBưnŸ†ü%‰ưhôîËô&ù‚uïö)ñ ưƒ N ”₫N₫qư˜₫E² ö†ÿB₫ }¦ú+ÿüÖû—ûúÔưüø;çư ø°₫K7xÿßü—ú̉₫°Ç :́ư§₫uåưüŸBIöÔ₫<ùäûûûÆúûúáÿĂœüTụ̀ùV n ÍUŒ HÊÖ‹û›ù•j¿»ưKö²ÿböMơ9öZû6ü´ÿ₫Ö¶₫¤₫AÿàüôEé (ÿ’ä Hư¡ UúØưü0 øDø­ÿ®øóö¡ù^̣øKö¦ưåæyưĂøKÿ†%Cƒ  ‘èÿƯñ¦ÿëÿÙûí₫àơ½øÈÿÂùRư"î¨̣̣ùÇø¨ûÜü„d[₫@ü«wŸ Í ø Oÿ% ÷·ÿ ú&ó|ư[ûă₫)ưö–đGñ4ôsöl÷ưû+;YŸöÚV” ºcyÙÏ:ëúûÇ÷äùiùúY₫öÓï¨ị́$øyüèúƯD¹¸Ï#ï ÙÁ˜̃R?₫qùúY₫²úC÷̉ô;̣´đ~đx̣qö»ûyÿ!‹₫àO sö̉7t:¹ù YD₫øüŸù ư”ÿÎö6ó ̣J̣«ñ(îˆ̣ö÷Pù­ü5ÿWË )‚ªëN 1 ?œdùÿ¼únû¡ú̃öAô_đ³đèñ!̣Ûô“ơÿô8ù¥₫r ŒYßö‚ ~ ¢ ‰öÿ/ÿRaưñúóùWø€ó±ïƠđóxó^øêöAñ0̣²ư‚=* % ûÓ qüÀÀ¢ÿ[#©₫2û;ơåóüï óƒôơvơ¤óṭRđ‘üÔˆ¶Áe¢Z û êư_ü ámIÿú,öCđ•đJơø9ô±̣†̣Àóîú÷ê;â öR4 ô “ ̃ÿÍùfƯ ˆÿËøƯö óóŒôSøVø!ñ ïJó:ódô!»ko¾5G}”v)₫m£4ÿ]ûĂøø öAöºö÷*ô”îïơÀó“û»$Å; @A^¼®< X¾ükùÛ÷<÷Ùø"ùåú öLđ'́'î¥ơöHE´ưkĐÿ¿L ç  &^ÿ0ÀăEûê÷Å÷̃÷ ùÎùPûøṃ́í¤ñ;ôÈ₫ó"Û’Qü|ü’ÿ\À? Öfÿ ¡­»úøøø%ùùúçø…ô‹îÙë8îkó'jÔ"ç¦ùäù¾₫‚¯‡ UË1Ưêû‘ø¡÷øú(ú̀úú“ơÛîê›íỘ5V¶#ß ̃úÆ÷süËwb 0$ÿŸÄ·ÿ»øîơüơ?ùçûôüaû,öwïñê‰ëNï̉ưư%D!\ |₫úêúV…b ¾ ëbLÛ5Ô₫$úáö‚öæø~úÁưƯüƯöđ êMíjđB÷| n! ' jøøUÿỂ₫ 3 ê₫·ÿ̉̀û­öÄơB÷–ú‰ưY₫Íùỵ‘ëDëzï ôđă²&è û÷9üiåkM `Y₫>+Q₫wù÷T÷œøÿú{üäüA÷Bïªêaíñ[úQ¥ ‰&^ä'÷öB₫®Ø f v ÿ_ưqsû8÷÷áøŒú-ûưüĂú.ô‹ë°êÎïøñ.ª˜'3"Ơ ŸüqöƠùI" 1 ”†9üJ₫áóüëú̉ø'ø±ø–ø@üNü\øÚđ‚é—ëdîÎûè¤%ù%70ù¸öûp ï r :SưJ₫ÿ ÿ^üøùøùơ¡ø€üt₫ÜùXóqíxëǘZđ1 '*.#| rû ÷ßödüX ¹ÿ´ûYưrÓư û³ø:÷’ø‡øiüEư|÷ïñç8́«î0ú‰$ß+Hd£÷SơúÆç`Éæư"ûd₫₫ÿmüÂúø ÷Xø=ùYü`ù#ôbíïêwî¼đŸ€*u&Ê‘ÿdøeöxúÓÿÁ ™0 *úü8ÿ¶ư¤ûaûúùÆ÷Uö³ùëü–ùÔñê²êÁíHôö$v-é$º áú@ô2÷âú ¤‚Ư Ăÿ,ù̀û‰ÿlưvüœúœù»ơÔóú9ü¥øí*çáêkíGü®'û- …!÷2óÅ÷]ü± KbüúFúqư^ư:ưlû:÷UơÂơ9øÖ÷]óĹÚéNë¬ñ«g+.%'é÷«ôt÷ñ¾ 5À ö—ưhú+û¬ù̃ü“ưËúµöôP÷P÷+ơ›đzéwêế ö  đ+í!Xụ̀ơ¾ø¬ó ¹ú û£úSúư<ưû§ơ*ó½ôơ*ó¹íBéº́íu÷¸%i/ ¨ñúBø(ø2ºî à&úÁû®÷úµû₫ươó¹̣‘̣óöđéé­íđ4ü˜(^/ç!ÔøOù´ơøÉƠ “uü₫÷Eô÷û ÿ“üöñSïrï ́Ưè]ë̃îøïfüc(.60+ éŒư¸ơ€øSøO ¨ÿdüø÷Üó¥÷½û́ŒùTđ¾́śæîjê"ê©í=đ2đ̣ưĐú+E-Ä! ùRơøô Oh ÓtÿŸ÷º̣zơ„ú"ưéö[ñ?îOë„è¹ä÷çÊï¬̣ơÍùö,#-ø$8O~:ơnö₫ÿ¿ P™₫Hø3ó£óËú₫ûƠơçî6ếéËææÙêṢđôọ́Á“!+b/h&ë¹7ùRơ3₫×× C…G̣øeôơôÛøùåóíîËë+ê}çCæëêđWñỤ́Vv&o/G,j$Ü £üHöqúØŸ[Y]ưRø¹ơ÷m÷ÜôHï—é½çúæ®çĐëûđXó#ótù ¦ :)ß-Î' Cbù–ơñưl‹(La!ûv÷%öÛơ¬ó đhëÄé"èơæê6îṿBóÔó·ÿ¢’"(,¬,%„O™$úrù‹[³4ª:›û½÷9öDóTñ…íjê”éuèøéśđṇßđÈô4~ä"r(F*q%7é:÷û[û¬ÿñsX(ëüÇö«óđîë?ê1́́ñîåđÂóṾÚîùïçø ïÂ'8,'¼Nµîû\ÿÇ–øú ươø¸ơ‘đdîë¯ê=́h́đ©̣Èơ†öf̣ñḶưN ʃ&U'Ü%"ääó^Cí½ó¡üC÷¼đWíxëËê‚îđ ó₫ôñôơạ̈Ẹ̣́^ơ~üáL' #ÊúẠ̊FÅP%ÉÁÖ·§û£̣víqëÈ́áí³đaô3ùôùÚöđó¹óơ,óÑø@ữµ ?/}êGÅ´*XO€ÿínüŸó́đ4î}ïôđûđÔöº÷ÿùSú»÷èøfùBø¾ùäü–(â Q;MĂ³b E {¨ÔMè q)Áü€ùơ´ñ·̣;̣Îô­÷̣ø<û³û€úrúûÛư<₫Xÿ7ïÿÁp¶?N 0 a ±‰˜Đ½Ø₫ÂùŒ÷¡öŸöưøø̣ùü₫Å₫­ü¡ü„üUüà₫Yÿ"£Ô0#ätnDôíÔ:Íä{ Ùÿª¶ÿÉ₫fư¤üNûgúyü'û üơ₫˜₫Xÿåÿăû?ÿ ₫A{*ơ„î›BQÁ¾7#ÿ›{u@Ôÿ¹ÿơ₫-ÿÆ₫<₫  ÿ ưÓÿ$ÿ:ÿ₫Bÿ€₫hY!ÿTÿE©ÿ£ÿ@çyÿxéÿÿÿđåÿêÿÿB‰>Đ’ÿq\=YÈÿ÷ÿSÁ†ÿÆÿR₫ÿú₫¤₫îÿ~ÿM₫Ja¤Öÿ_₫€FÿOÿºÿÿ̃^çî ›>c} 3ÿ1̃₫£ÿ¿ÿ4₫vÿu₫•₫ÿÇ₫}ÿ“‘ÿµÿ·₫₫ÿ`ÿ.ÿêÁ?ÑóOZ₫ăzr¼ÿJ#ôÿö₫¬ÿ4ÿ¤₫…ÿí₫ÿÿ>ÿF₫û₫«ÿIÿơ₫2ÿ5Bÿ‡1ÿÿ¥kôÿæåZÿH@Áÿ¡%áÿÏŸÿ:ÿ3tÿCÿÿÿ3ÿÿÿxÿoÿe₫<ÿ7ÿÿTZÿKœÿÿ0(<Èe`ú±qÿ<¨ÎÿzQ̃ÿ̀ÿĂîÿ‹ÿ;ÿ˜ÿÜÿåÿrÿÁÿFÿtÿ ¨Íÿ#ÿ|æÿ~uÿmÿûÿÿÚÿ  Ëÿ¾¸ÿưÿóÿ½ÿưÿưÿV¡YÿZ‰W®ÿÿhŒÿÈÿf*ÿKb?ÿÿ@:ÿvÿêÿ@g¬ÿÿ˜D÷ÿ=ÿƺÿĐÿxÿ2̀eIZ đ₫z+hÿdÿZÿ7ÿŒfÿæ₫dPƠ₫uÿ ĂÚ₫‰X…™ÿƯÿ˜‘Lÿ€© úÿfäÿ‰ÿ ©ÿÿåÿcŒÿÿÇ. ÿnÿôÿ\ÿ+Dÿ>Ûÿ„ÿ¸ÿF>sÿwèÿ¨ÿ´G­'Îÿ:ùÿÿÿ[—ÿ´ÿŒ‹ÿQÿ#ÿk©ÿÿĐñÿ©ÿơÿ¤»ÿ7ÿÉÿ¼ß˜ÿ3ÿ¾–3ÿâÿ°\"ÿE₫³-ë₫x₫J)”ÿ#<W ÿÿ€ ÿ»ÿû₫íÿ–ˆÿ3ÿ…:¢ÿºÿ-$A ÿ̉ÿêÿ8>ä₫ÿñăÿk¨Q:ÿĂÿnÿÔÿ¥ØÿçÿsÿkÿE×ÿ•ÿƠÿÑÿNÿ”lyeÿ“ƒ£ÿöÿ/s\±2ÿtÿ'$/6öÿåÿˆÿ`|´ÿNÿX₫Åÿiÿ¼₫rÿñÿGÿ!ÿ&´ ;₫Ê₫ŸÔÍ”ÿí₫ïÿ„VÿU9™ÿÍưZúä÷ÿĂư™Đÿ]Øưkÿ4uÿˆ₫âÿ¢¢ÿîÿ•₫‹Ïÿ?1₫“ÿ2q₫ơ_ưê1¡C₫ºAfRîư|ÿ?ÿăN•ư₫b`ÿ¾ÿÁ₫â¼ưºVÿ“Rºưï₫2ÀÔü°₫¸ü%”„Óû©₫fÿf̃ÿÚÿXÿ ÿÿ3ÿD}₫úÿ(₫•ê₫Ô#₫ÊöˆM´s=yÿ«ÿ́ư*ø₫ÍÿM₫Lÿ ÿa₫®[ưñÿ/ü¨çưXƠüR+₫Í₫Äÿ…ÿ«L₫î+₫¾ơlˆÿ‡ xÿÂÿ\”„é₫ôÿ‚ôFÿiÿDÿÜmæÿGÿ̀ÿ÷ÿ₫0ùÿ9ÍÿÇÿ3₫E¾ÿFÿÄ₫Íÿpÿ¿^ÿÍ̀₫gÉÿÁÿ´ÿÈUÿéMGÿwÇYÆ›ÿ{ÿaªV\ÿF ºÿ̉ÿ"̃ÿ»ÿÂÿ *‘ÿ^•ÿU/ÿ.Vÿ>Ïÿ«ÿ_ÿN0ÿAœÿîÿwÿÓÿåÿfc₫ÿ-ª:1>]$ ₫ÿïÿ´ÿơÿáÿŸÿ¦ÿ¶ÿµÿ¨ÿ²ÿÉÿúỵ̈ÿÿÿ';y‘…¢‰‘vpWX/& Üÿâÿœÿ}ÿVÿ*ÿÿư₫ù₫₫₫ÿ4ÿFÿ‹ÿ£ÿäÿ6}¥ÎÛ÷úûËËe9óÿÆÿÿ[ÿÿÁ₫®₫r₫k₫_₫j₫‡₫Â₫ó₫6ÿ„ÿÜÿ@·ÚPYW0 ´vÓj¨ÿ*ÿŸ₫₫¢ư'ưíüÈüÔüëüưYưư₫Â₫›ÿ€h.Ï>r|gN¥Đóÿÿ3₫Nưüíû_û)û÷ú"ûYû•ûâûbüư₫hÿøÍOfáÓqÿ™I»<€ˆi=ÿ ₫ ưXüÉû|ûbû]û~ûˆû…ûkû@ûûgû9üuư©ÿk[ƒ <m-¹R­Éx ÿ¨ưÂüÜû9ûßúÅúàú>ûeûxûwûû‘úúûú(ü’₫œççư † è W¨…â]Ÿ"NÊ₫BưSüóûDûªúsú,úúRúyúvúÖú¶úlúëùTúÈû‹₫! í >e m Óû”¶¥´å₫ÖûƠù:ù*ù^ú@ûû—ú“ù+ø÷%øø¸ø7øe÷¦øøúö₫b ¹À/á·± 2n0bÿûZö®óó0ôn÷Súzû3ûvùO÷¡ööœö¤÷ˆöaơ ÷äú¨Y ¿̃¬ù¦f½Ö5₫Zùị̂ûîqí¯î“̣x÷¸ú°ü´ûƯøöăóó“óđ̣ậçöƒư eÇ$º%] 8 58€ưtù¥óîFêCé~́Ṣnøjư6ÿ₫üÙøüóđsï·ïüï;ơJư‰cA!ú'?) %Gn7 ̃u₫¦ú“ơëï.ëoè₫ç¶ë•ñ¯÷ư‚ÿQ₫Üú-öñîîîŒíKó†ưĂ 4»%Z+i*à$ª yOưfø̣Œë§ç¹æwèùí‹ô©ùÖưyÿØữúU÷­̣Äïïị́́ñêưD 7j*,.z*#dÔ ¦–üÙơÖí¤æI䉿ẹ̈Aø=ûzưÙ₫/₫ªüúxôvïoëè̃î»ử« -?.2(‹ ¢Lñ ’û”ñdèâhăékïOơ)ùúÑû°₫¨uÙü¼ôÛ́çä¦í>ÿ®>"0,ƒ+o%< ¼:qö÷9́óäôâ[æ/́©đió¦ơ€øuư&ơ)ụ̈¦é̀æ¹åäí,ư #ă&Ó*®(´%U ü ·÷`ítçö广‹é÷́eđ=ôúÎÿ[ÅD´ûÇóíê$è0êÊơK/™$¬,+t&œ ñM¦üQđ}ç·ä7åèÄ́åđƯóĐøÈ₫œu›=ÿ\ö ïăê„éßçÆî±ưŸ’Ù)¡,c(B#éÇ $ơÄéÜä—åIçê‰î‡ñtơßü9ѾiŸùQ̣ôíó́dêé²̣wƒ$p,*$j¯î5 Jüî©åå¦èGêb́đîÀñ/ø&zÜÍư+öñ(ïâí€è£éMø ÷ö'*·$¯ ÚxÊümóóèfæôê‘́Jê:ê8îơĂ₫7¼¶î₫mû÷´̣üî©êêäĺD%!›%Q%ú"B#Q#…± ù~ïgë½ëJíé[åéó}üv¾‚´ÿ“²₫z÷êîÂêˆèÆç#ô”ñ#C&¨&:%y Ç…B÷Æ̣–îë éƒåÇæqïCùrưÿN\ó°ụ̈»ëh́4́Ûé²ópÓ*% '&%L"— â÷j̣$îÖê_éôæ]èZđ•ù ưÔưÿYBÔú©ñ3́ƠíẤê)ơÄ ü( —#&v%©"§ï¿₫™ơsóï‘ềçáæ”ê2ó́ú#ü̃ûZÿKvøÿ§÷ïẤ̉ïkí&éưô ̃® ơ!k%Í&ê#ăC ǜôÅô¿đcé€åÂæí[ơûûúdûlĂâưÇôhï8ïiñ́Rå¸ñr t wÇ#¼)Ơ'Ô 5û½ơU÷‹̣”çâMæ­ï­ö:ùwøûÀ ùÜûôèñJ̣OñêéuâïîW ¹ ”̣“".,ªW ‹ưÊù,úóå àUç;̣áơµô€ơǘ^ =̉úaơëôô đ’è¯âï7 £₫À\#P1b-P^ ä₫Íúưđ:äfáêó"óñ¢ơVÿÛü]ù7÷Ẉ¢́ èHäÁí#}U$s2C.Íæ Đr^ú²ïGåwă5ê¡đđbïƯơáÿ₫₫(üv÷5ñè́qêÖå#́$ÁE  #ç1¤. Ù ø3púfï(æ¸ä6êNïæîăîöëÿ)ÜQŸưôö đ2íöë)æ.êáS®!é1 /lcơ hÙúăîææZæsêÆí~íyîúơWÿÄDŒ]₫ö~ïñízí¹æ´é¨?âÓö 2d/c1b Ûïúî™çÀçöêí́î$ödÿ3wßf₫Îơ%ïîî+îŒæhëFÊ¿^Ô"¹3¨,*j µ •¥øœ́åèœê¶ë@ëñêïøMÿÎÿÛ₫}R~ư£ó”îïđØîùåîP [Èa%c4£(W> ̉öîëMê9́èëqêÚê9đù₫ơưC₫}Tú1ñlïXóCíJæPöjj̀f,$37#ßöPñDë5íÅíXêtè¿ë™ó(û¹üüLÿÏ#öđ±̣ÿó+é&ê×y&Ü<J2µ+n­ gn (ú̀íîBđH́*çbè7ï©ö úĐù”üfz₫ú·̣ÿñvöxđ¡æCô Âçé(y2ơº r9ó)îƠñ[đ·èåâêụ́´÷°÷ùmÿ3#ÿ>ơ2̣xö‰öyé†êQë#| :ù1 )w\đ<ÿúïỤ̈qô₫ë äüæäïơ©ốôü¦·÷ó7÷ úˆïoæ<ùǨ©k×+‹/Ư‰ Z º̣éóøñåXäíó ̣ùđơ÷|ùcôù÷«úÖôÎçpđg „ | "0ôÆ ËH¤Xø[ơûîơèă“êÉñ#đ^í-ó¥₫í̀ú̉ôÂø:ü)ø€́¡ê$… …¶̉-¤&ê;N 6°ÿÀö₫Îûº́ăÏèjđîî"êDîæùÂúOơ{øXưIùÜñ#ëÿø„̀&I)=Pæœ. úÑ₫ùÿ[ó;æoç¤îáîdé\ê9ôÛüûØơu÷àüû:ơBđ6ñSlØ ¦©)@k A!T³̣ư52û́äæàíXï(ê1çƠîö÷ú±ơĐơ ûLü•öùó°ñú} W ¥/ă#f"£ï₫g ô»›éô÷êTë›đ̣ë4çé–̣ÜöUơ2ôê÷4ûĐø›ơ;ơôôd -ê%×´›ÏJ7g…"ÿøñ®ë­î¿đè>æj́:óộ́ơôùkúø*ø–÷́øO ăÆ F̣©Âô Å|nèư4óuïỴ¸ñé–è²ïọ́̀ÍóK÷iúüøûüTüüXÔ…Øœæ ¶Đ v Ư!™âûêö°ùåøßđsîbôŸöPơ÷ÖúÁụ̂üZưO₫˜ÿ₫₫PM3ËưÅ ˆÛÏî ½<´-•|ô₫₫§ÿüßøûóưQüÎû”ưæ₫ÿ½₫‘₫tÿíÿĂư}û₫ûŸưªüÉúûçưFÿ1₫V₫¸àƠ‡̀ó³Ó7%äÛÿ[ûÓ»ÿSÿª₫eưßûöú­úäùÔøvø<ùÑù´ùÚù/û0ưƯ₫ÔÿÜÏÆbư0%ˆ‹W–Zeûo?ÿŸ₫_₫ ₫ưáû?û ûVúù×ø̃ù™ú@útúüßưÍ₫fÿÀ&÷A°ëƠHHºc,wư¬ÿô₫8ÿ#ÿñư«üüôûNû@ú¨ùú°úéúûªûGư ÿ„́ï×cÎW¿¡H¤…ÀÏó’û‡8̉ÿ'ÿ ₫ưOü²û¿úú/ú•ú˜úŸúkûµüØư~₫*ÿ~dơ¼ÚŒ[A®+Æwû]ÚV{ÿV₫Qưnümû^úÁùù^ù0ùXùúûJü•ưÿ„é<Kù_¤Ä™,ܨ>¢²[èA”đÿ(ÿ₫áüÅûÅúÖùùÓøñø9ù®ù`ú^û­ü5₫§ÿå'ffc¢˜Mé?ßVÚ¤e¸ÿö₫₫6ưcü†û£úúÆùëù!ú[ú̀úû ü¶ưâ₫Y`-áúöÑ­jƒ ¢'µ=Ă[ÿ¡₫Ưư!ư]üûơúúhúnú¦ú1û½ûSü ư₫3ÿOWE;ñW‰¯¬UûÄ~£Bû„øzäÿ.ÿc₫–ưäüGüÔûXûöúóúû6ûû^üOư+₫ü₫Óÿ¿•»Ä¶8÷~7 ÅHÁTăơÏÿ»ÿë₫ư0üCüĂüüVûüúzû4ûzü¯üîưgÿ̉ÿ0>yÆJL*f¯M’̀uj®ÿvÿ[₫'ưH₫ĂüüÍúlûûú×úụ̂ư¾₫–ÿëÿ¥ÅÄĂS÷ü¥S¾*gÄê‰YPÿ=ÿËÿÿt₫\₫(₫ưKư´ûoûÄúúûû¡û“ü₫fÿe“ÀÉǃ‰ ne› B[J°Tÿ}ÿ%ÿUÿÚ₫₫W₫YưBưêûjûâú±ú~ûCüvüsüöưXÿÎq·Đ!AÏuÈ?TÚÇ “ÜGøÿ^ÿ§₫ÿĐ₫>₫qưgưüpû£ûVûüû™üâü ₫ä₫PÿËÿ,emË ˜̀p,S]NaîƯAÿÿ.ÿ₫¾ưWư²üLüüüÚüYư₫₫€ÿÖÿƒ3 A ₫!ûdFƠ±¾à W5ixÿ?ÿaÿ₫̉ưÈưØüư`ư-ưưưl₫₫øÿ§ÿÇÿ”²ÿ)A8rÙ¹Ây²ÙØ Mæfë*ÓÀÿÓÿ~ÿ=₫•₫ÿ₫Áưæư_₫*₫î₫æ₫›ÿOÿ¬ÿËÿVYj':Åô¬÷Oÿ<j /.0ưKCƯ₫é₫UÿLÿ“₫sÿäÿh₫Sÿ‚₫4ÿ.ÿ†ÿ§ÿ«ÿ„₫¹ÿ°ÿ3ßÿĂoÊL×êBVH•Uwˆƒ*ÉÿV₫Ö₫Œ₫|ÿ+ÿ̃ÿÿyÿ!ÿ„ÿ®ÿBÿGÿ$ˆÿb>Ú"ĂÀÿF%ñq‚‘ÿÊÿÿ{ÿ3ÿ¯ÿaÿJ2ÿâÿ ÿ¢ÿ˜ÿgÿ¼ÿÙÿÅÿÿ¡ÿÍÿ˜ÿ.S+„8ÅÿLÿ±ÿïÿGÿ₫ÿÙÿàÑÿxºÿ±ÿHÖÿaĐÿµÿÍ₫đÿ‚ÿ«ÿÿµÿ‰ÿlÿçÿÿ4ÿÉÿMË`r´ÿ‚*–ÿ8£ÿËÿ\N­ÿfÿR₫öÿ£ÿ²xr*+ÿÅ₫yÿ­₫SÿpÿíÿÚÿƠÿÁÿ˜0iw'¦₫ÿv₫ÿÀüÿ€: W ÿTÿ~…E₫Nÿúư„ÿ+ÿ̉ÿÿLÿơÿäÿîÿîÿ&æÿÀÿæ›ï˜³ÿ‰­L…ÿ§'ÿh(7[Éuÿµ₫ö₫ñ₫ö₫*ÿÿäÿ2ÿQÿkÿ¥ÿ):ûÿ4MÉE˸ü₫TíiIííÿ¦ÿ´X•ÿ¸ÿ¼ÿoÿ„ÿÏ0ª®ÿ K₫9ÿÿÑ₫jÿºÿƯÿ<ÿ–ÿW vCáœEÊÄhÿëÿ#‡ÿÆÉÿëÿÿ ›ÿ‚¼ÿªÿœÿtÿÇÿ»ÿ“ÿ̉ÿQ(ÿÂÿ5ÿ̃ÿÙÿ€b¥°t&çÿœJUÿ9Øÿ&åÿûÿˆÿÏÿyÿ”ÿƠÿ-;pÿÏÿpÿÆÿ ÿïÿĂÿ*ûÿ œèÿsëÿâÿkRêÿy<Ôÿ ÿ£ÿ‚ÿ°ÿÚÿYœàÿªÿ7¯ÿ.ûÿ!ÿ…ÿ{ÿæÿIY;’ÿ‡ÿS*º7_"åÿ{J­ÿäÿ¿ÿ«ÿ´ÿg«ÿR´ÿ!Ùÿ"ưÿ‹ÿ´ÿ3ơÿJƯÿ÷ÿíÿ®ÿGC¯ÿu"åÿ*ˆœÿÛÿ-tÿoåÿ5[wÿ)Îÿ¥ÿFÜÿ1Åÿöÿñÿ³ÿ|yÿƒÿd&ÿóÿH9gÑÿO]¸ÿ  t"́ÿ·ÿôÿÿÿ#%(YyçÿÈÿÑÿ »ÿƠÿ ÿÚÿ4M»ÿ“ÿ5Ăÿ éÿ7Àÿôÿ,#0ÂÿÉÿ¿ÿOFáÿăÿ /˜ÿÔÿÿÿêÿ̃ÿ×ÿ̃ÿ×ÿưÿ R- ÑÿjÅÿV îÿDÏÿ%ºÿ”ÿµÿ´ÿúÿçÿƠÿ_#÷ÿ2½÷ÿ÷ÿ´ÿÁÿ¯ÿÄÿ%!·ÿÚÿßÿAăÿ\*@ d>ÿ2̃ÿ†ŸÿôÿÊÿèÿưÿÓÿ)_ÿ‘ÿyÿgÿkXpwJQ̣¾tÿËÿßÿ–ÿ¶ÿZÿÉÿùÿmÿ¥ÿÓÿ›ÿBƯÿ7'|ơÿ‰ƒxMôÿíÿ¾ÿxÿmÿUÿ½ÿ®ÿ ûÿơÿ] IR{g™ràÿ;{ÿËÿÿ6ÿ$cÿ‹ÿØÿÜÿ)8‚ÿk°D`,Äÿđÿ|öÿ*,'ôÿ¶ÿHÿ~ÿ²ÿ̉ÿ³ÿƯÿ“ÿ2₫ÿº30Ơÿ)̣ÿ¹ÿáQÓÿkûÿ̃ÿØÿ¤ÿßÿGøÿîÿÍÿúÿưÿ₫ÿŒÿ8ÇÿÇÿ̃ÿùÿW®ÿgưÿ¯ÿftÿ±ÿJ'"§ÿ}äÿ”ÿÿwx’EÿPªÿtÆÿ÷ÿ7wÿ›ÿ́ÿµÿyÿÛÿ^ÿ₫ÿ8Jưÿ‡ÿyÚÿ ÿ¬ÿyÿÔÿïÿüÿ·ïÿ4T³óÿ# ÿŸÿÙÿăÿ1Ơÿ­ÿWO'H,˜TiZhRưưïüÖưL₫RÿoÿÀÿđÿÑÿ‘£¤ß: ’X´N­ÿ„ÿ*ÿ*ÿ̃₫¡₫~₫@ÿ.ÿÿ[ÿHÿ§ÿ”ÿ@) ™,Yk]ÿèÿÀÿla1P̃3–ɲÿNXÿvư\ư|ưº₫ª₫ÿ]ÿºEqÄz¦Z¤Ë;iüÿâÿÓÿVÿ)₫Ưư×üøüư₫¡ÿ|~Á¿& mûxࢠeÿüưœü]üsü<ü~üªüƒü‚ưi₫Öÿ5d@v¬ç-"…Đơ]‡₫ ưûúYøn÷çöö-ö¶ơüơTö¶÷fùû₫0,œ +Ö ÆÍCú öôÉó ơùơ&÷ ÷Œöèơ&ơüơVö’÷—ø>ùtùLùëø˜ùÆüh¤ ѱ!Ó!̣ßÄưŒô’î$́ˆíJđđóêö7øœù>ùú‹ûoư[ÿÊÿ!ÿ¦ǜø§ôéđ|îƯđơGÿ ÿÓ"S(ø*»%àtê÷­ïêê¦ëkîX̣¨óEö¥ö¤øû:₫'Ÿ*ñơưñö…đæéjé ́»ô¯uâ ’*0`.%¥¿ ưṣ<ë#èé>ê9îÉị̈´óơùáüĂ! K ₫Ê₫[ơ'ëLäÅăäç¢ôD(&¾.°3.đ#Ñ8­ù(đÆê¦éˆê?́ÿîăîăđ­đló÷yưLđ .TÜ ÊôMè‘ß}ƯŒâïé®Ù'j1®6¯0Ë%Ôú.đ̃ëê–ë́4îÑ́ïíTíađˆơưö.Ÿ;`€øféÿƯà×ܵåùÎ ă! 0Ú5×4h)ÍÀ FÿHôºï’́Ëí6í³íh́dêëbë$̣<ù!%)đ…0âî&à#Ö;Ó·Û:è£ÿ¤ (%3D7X3Z'm̃ óÿEöỆ„î̉î6ëêªæ®ä/æ[éụ̈…ưi *k‹”½ üîé»ÛÁÓçÑaÜéâÿ¾¼%–1Æ42N(bú üD÷Zđ[í¡çlă—àz̃mâ7èô‰FÇ!e tN ₫û†ëƠÜ"Ö₫̉­Ù¿åuơà ưD)Ç1G3Ø0à'±ô ụ̂9èúâTÜçÚˆÛ~ßÎè'óâÚ X=` ΕÓóå+ÛA×XÖ`̃êMù( R{,T4Ă6l3’)ß̃ÿBó éăßƯûØÜ/ß±æpđcûZ‹>ß ] ¢üLï†á~Ù?ÖW×àốèü›ô =1]8²9Ÿ4»( úÓ́oăLÛ”ÚØ×ƯcâSëØô(ñ 1̉]Û$ù½ëß3ØÄƠ8Ø₫à̀îÁ₫á‰#ú3î:ư;…5¦(¿ăơ+èĐß»ØßÙÊÙhàèåZïÅ÷÷ ¾<4™̃g ÷²é‘Ư‘×3ƠÊØQáAđ<@ø%¢6=‹=ˆ5™'|«̣å@̃6ØÆÚÂÛÎâ#è‹ñ§ø= 0ưø8ơô‡çÄÛd×lƠ®Úwâ?̣¤¯%46:=>T6‹(üç̣.ăBƯ_×ÛÚơÜäØépóGùo È×t!ô´çÚÛ"Ø4ÖºÛZâ{̣Nÿ$'5+=Ă>7á)çẠ́üâ™ƯDرÛ<̃æ<êàó˜ø đ̃­[‘ôGèèÜÙà×ỪâỤ̀Ï₫“B$Ç4ÓAW†̣Hæ¢̃5ÜeƯ%â·åAïúü 7³.d;eAŒ<È-üƯIṇ̃äáß6ߤâ‡åè ê’í”̣Èûí3‚]Ç ˆẒèsá àßà‰äÏå‰ê ô]T*Æ:íAO?E0q»9ôóè×åñå çoç=æƯä)çăíø»½ÑƯs fÿcốèÚæ‚åÄäáă†ăưê¹ùV%'9nA\>é0ü% ?û?óÉï¿î£ëøå‡à$̃àµêóø“-=, <û½÷đ̣₫́!çá ̃c̃9æöï  å0(9 7̃-» ‡Ù²úóêâÜ)Ü^âớmù  Ü ¢ «  몹÷ắää̃ß´âgé8ờhơ!‹-S2Û0*Q–[üỌ̈Eë}å“á®àäệñ ú_[ ™½  Zù đéä ăŒälæ`́#øó(w2ó2¹,""" fơû¨ó(ëèăߥßƯå½îÉ÷Iÿ7A Ç B₫ jÿƠôüê^åèăfæé"́Úó²¡ ¿-:2 .$‚«Â±íøTïæ«àGß8äíÆơøûm¥!V ô2 ^tö́ç¥æèjềê˜ï2û[ K,Æ1M-‰#Áç« 1\ưñzåŸß̉ßÈåŒîĂơŸøgúG₫Ư ŸJÎ µ₫”ôĂíë ́¢́9êæ ë<ú₫§![-.w&>́i½î ‡ûƒë[áájæẤñËñăđŸôÂ₫‡ º9 óüøö‰ôˆñíºçsâVă‡ñh ß#̉&Y$F!È! #!.ÿđ´ç]ç/ë¥ë³èoç*êµñ•ư— Ÿ {á,Äú×ñêøæYçièvđµÿCN€ .%Ë%U$}"»ä2‚ù¬đhê¦è¼ç&æçîë#̣ù5‘ ¢ c $̉ñù$óæí&ëêûæé ÷s îÈ1!·"ơ#D%ë" üßô¾ï%́˜èäăâSèÆđm÷çüi. ¥ ¬ Èú°ô“ñ\ḯúæ·åẸ́ß4s?%4(k%÷F ªÿÙûZö́í8æáÎânéđ´̣èơ¯ưèl 5‡ûüJú¶ö“đŸêæHç6ơăÇûz:!{)©(!ä, z¶÷eê¢ä”åèé́é‚́‚ôâÿ’hºNgÜúªódï7îơëê0ó8Ă é&î% ­ ‘øŚvç̉çèëæÏḉûôâưc¸Wzøùôióíđ&ë…é÷A u9}""5)$ƠöéC hmơZë0ërëçmâûåÖîÂö¶ú¼ưCuÊ "üù£ù÷ơ"ïÉètï±₫ ¥ ¯ Ó'ß%M$Lµƒ ̣üºóLñÙïŸèá̀âië'ñp̣kơ ₫˜í]₫¦ư²ưÀùḳố¿íûÇ#Y¢#_$›´“¦†ưñù#ôªêLäéä̀é4ë¹êßï`ú#l‰ÿí;Ü₫xú5öÏô|ñ•ôÑû¥í ª%!Q ¬_• †f?ù…đqê£èkèPèḉô#ú‹úäü~÷©ưâû7û“øzộăư Ur©ÜØ¿!́    (¦ơ³ïáîùëÇæPå éđ¬̣"ô>ø₫́ư¹û¬ü ₫•ú“÷ÊơRúkËư² #@ùù* ¶• œ ¶=?ùö•ö¨ïBç0ç–êë|́7đ̣ô¨øú úqüa₫RüEù5ú:ú³°‡™¿’Ø;Y›₫ # *ÿûÿûWơè́xëâë,ê›êsî×ñô”÷ùwûÿ*₫Àûư›iû¤üă6 \OCRF \ƃ $· 2ùXôîñêïÆî0đˆñẹ̀÷ú́ù7ú¯_Eÿ₫S”¶ưX̀ÿÿxR&JKX¼ _Ú ( Ï¥\¬₫Đư₫û¦û%üRûnúXüÖüKüHư₫b₫LHëưåư˜ư)û>üügùû"ưgû©û^ÿ́ÿÅÿ]‘Ñ…Ä| –;hoCđåaÿ½₫óưưúûûú%úÖùûù;úxúáúœû"üƯü¨ư₫“₫<ÿ×ÿœqeưÚBÄX4­H“†R= ÿ-₫xưéüüMü-üEüoü’ü´üàüîüư ư ư#ư[ưƒư—ư₫·₫Gÿºÿ‡s₫E½8hQ96ư«€}U âµuơYĐÿÿF₫Ÿưư¡ü7ü%üaü®üöü’ư>₫̀₫'ÿ…ÿáÿ"áÿ±ÿ—ÿfÿ$ÿ)ÿuÿ ÿóÿ¨[÷—0v¦²kûŒê#’)ÿCÿ"ÿû₫â₫Ú₫ê₫́₫ü₫ÿÖ₫“₫c₫2₫ñư¥ư¡ưˆư®ư»ư1₫₫ÿ¸ÿ;¯¤ÂÑ̃¦–œ‚KVcCD^0ú«s ‘ÿÿ­₫d₫₫ư¿ưÂưæưîư2₫¥₫ù₫(ÿ„ỵ̈ÿ ;`M3=E<Beoz Îßæûε”i;ưÿéÿÍÿÇÿÓÿÅÿ°ÿ½ÿÉÿ¦ÿÿ…ÿÿIÿ(ÿ8ÿ=ÿ-ÿ>ÿaÿ€ÿÿªÿÙÿ₫ÿFd`cyvnp|…ƒ”›~aY:øÿƠÿÉÿ™ÿUÿKÿPÿ8ÿ!ÿ$ÿ4ÿ;ÿRÿiÿ€ÿ™ÿ·ÿÛÿçÿưÿ2J`m|†‚˜œ‹ƒ‚lSJ8đÿóÿæÿÏÿªÿ¥ÿ¢ÿ ÿ›ÿŒÿ•ÿ“ÿ’ÿ“ÿ¬ÿ¦ÿ¯ÿÊÿåÿæÿ₫ÿ)'3@>O`gUaS8*,-öÿäÿƯÿâÿàÿÎÿÑÿéÿíÿƯÿäÿơỵ̈ÿ÷ÿîÿêÿúÿôÿôÿöÿñÿèÿ÷ÿ2$" ùÿơÿæÿéÿáÿöÿåÿăÿóÿîÿöÿ %'úÿöÿñÿóÿñÿ$&;:\<TG@ôÿíÿ°ÿ­ÿŒÿ”ÿ’ÿ¯ÿ±ÿ¯ÿ¬ÿ°ÿÛÿéÿ÷ÿùÿñÿ÷ÿ̃ÿ̃ÿóÿäÿ%.p9ˆc)g!Báÿøÿ¢ÿÈÿ©ÿµÿ™ÿ™ÿÙÿÇÿ4‘ÿ9™ÿtXÿ{@ÿÑ*ÿúó₫n7ÿùÙăü…÷üK¸üzD₫ôÿ^ÿCÿ­₫¥8¤/Úđđ- ₫øü—úưm₫ÿ₫"₫Ë₫Åß|{]wÿĂ₫&ÿ"ư‹#₫(¤₫¥„©₫¯ÿV¸ílï₫¤ưc ₫¡ÿe₫¶₫“o₫è₫ Çÿ7=½₫HŒ¥ÿ$%ÿ¥Ëưç"üÿÊÿVÿJuÿû•ÿ^₫»Ơ₫b₫^ÿMˆưg>ÿUÿpÔÿ§₫ÿí₫ựÜÿ=ÿr†Æư«ÿZ₫ư.ÿE)ÿ”z¸₫<‰ÿÙ!ÿ=Ôÿï₫ÚF₫Ÿ ÿˆÿ’ÿíÿç₫ßÿ;­ÿ¸ÿr ÿµÿÿH„₫—ÿU<₫ï$ÿ»ÿÉüïÿX•₫PÔưø/₫F÷₫Yÿëÿ÷ÿ'Ô₫ÅHÿeÿĂ¾ÿTˆ₫2=ưŸ©ưïÿè₫/ư»₫ÁÿÀ@ß₫tÿ=₫Ƈưk„ÿĂư«åû&ŒưƯ©₫ä₫£đÿ́ü4ư– ´₫pMÿ¼ÿØ»ư<ÿCákÿ£̀ÿ$_5ÿd₫ÿiÿéÖÿUœg₫Å1[rÿų₫¼ư’•₫DWÿx ¬äưúÚư§ưo H₫—ÿäfÿ¬̣₫I.₫kÿ±ư2‘Úÿ²^Æÿl)¸₫sZÉưôÿC₫ïÿÛư¬₫jKÊưw+k₫t0ưsk₫ ÿ©ïTư¶ó-ÿm₫寷ư²¦´₫Èøÿ ÿ¿„₫JGÿáÿ˜₫L°₫+]Œ₫a¾øưLÿ¥cưñưÇ Rư=pÿW₫ˆµ0₫&áÿ!–6̀ÿ~ÿ€z₫ÿ8÷₫N³ưÈƠøû+‘`ü¿ÿÅ₫™ÿ4₫Úÿ̃ÿVk₫Ó‡₫Lÿnưbm'ÿ.–·ÿÇÊÿ·E₫dôüc(ư›/₫1ÿd:ư‡Hpû˜q€ü#qeưÎ*₫fÿæéưä́ÿ¨₫wưĐkÿ–₫(Ă₫l¤ƒÿ¶xLÿ3ˆ>ÿëÿ± ₫Üü4Z¦ưĐÿ8Q₫uÿ.ûÿgfÿ»₫<ă₫ÇÿE₫¨ÿ~W₫c°ư₫J:ưâư·ưÉ₫MTÿđoÿ₫ĐjÿCÿ¡|œ„? Ü\¢)̣ÿêäÂüñưt₫ú ù½ù5øø̃÷®÷¯ùÈøưøü»üưª±4ü Û ¯PCöD! h .|iưjøñôbđîmêJéåéeêÜêKîñó0÷_úîüăÿqÀ ÍO(Û[4fó, ë$‘ưŒ÷âó«îMéç‚å§ăÎåÆç6é6́´đ»̣̉ơ.úüçÿr§Ư–¿UÓ‚D´'ñOs 椾ÿNù{ö ố́nê„ëç—æë~êæë;̣ặnóq÷Û÷́öÓùRú‘üHC­ É †ï´Bo!¡¶} >@ÿeøÿơĐî₫èØé‹æ7ă/èLé§è€î(óÈó¨öÿøgùVøÉù{ùpüú†F FvB >逥. &Ưü.ơỊ|ëEåçˆæ ăÙèÛ́̀́oñö{ø^úfùùûŒúø1÷¨ưˆûÿŸ•Ⱦ"•Lƒ"‡ä8"2ßûuơÁđéèâ€æzå§á!ê™ïzí4ôøùùhü…üÓû1ûjùưô/*åû 0ù WJ#”ZÂ#2‚ ³ LƠúJơđ«æ=âcæäƯâÊëQđ-đF÷ºûTú}₫ư’û³û›ù̀óƆ́ùN í2 6:#½E#FĐ ĐOùÚó4ïåjáBçâăăă»î•̣Œ̣ûé₫ü¨!Ûû·ûÖù¨óé=ùÆ sË L”!ă@ …̀ùœóï¬å°ẫèYå æÀñûôƯôĐ₫₫ưµ'íúù1ùáñ7̣₫}÷ ®gy K£"ˆ*yă iºúAóîçæªá₫æ̀ææå™đÑöÿö*ÿsN4Zéử÷`úûđ úÛÿ¯ô!—e² vD"\q¿ ?́ưgô đêöá=ä™èåḈJö ø²üà´®ƒâDúÎøåộÿ2÷÷' , @aºÚ!N?3 '÷ø¡ñîÛåLá°æëæQçùñÁ÷¹úd£Sv°úøöụ́Ïñüơăöơú Vuh)©"« 2ø0đêíiåßå ç¾æ1đ×÷̀ûùiS®HÔüˆö¥ó<ñÛú;öæôü ÿ Äƒ¿ª!œvÁô ÷3ú¼ïîäçgßCă+ç̉æ9î®ö&û‹ºH0ơÿ­÷áôuï̉ơÓùọ́nü· { '—›âù{ TỌ̈Ź(ê2ăößlăÇæ…ëưñø¨ đ %è¡Éü›öß̣Øîîøa÷'ôDº Ủ–‘C& |üZïoêè4á™à”ă çôííóxùÆ/|* åSä±ù²ö¼ñƠđ^úOöi÷ é  ÷'r—Klo$0ÔNø£íéŸäRá,âËâ éñVơrûáö) C ¶©ÈVøÀơ/ñïđïùöø¨3 7oÑ Rû<̉­áûöŸí)èưâÙà_âÍâµèÛđ3öü<' áOYJƯøäơñ ñ¡úvö^ø’ È å²ˆ!hź–Yÿ*ö„îÈèâ(àµăÊăhèEđÖöáü.GR 8 ‡“"pú>öLñ´î‡ù¸ø|÷ưå ¡®Ü&#×fZa^L‘ơhî‘ê|ă¤̃ñá#äYèĐî“ôÇû8Zç G v˜Îpüp÷1ô|í8ơ~ú(øc₫ø[ /† "1¸¢ µçùêî¸êæÄâ áqáÀæÄîKóùçÿƒ: 9 s‰̣5ÿ$ùơLï¡̣£ú2ùưĐï Ç̀đ±L!0›@© —Ç₫'̣†ëZæ²ă–ăæáră–ë'̣iø₫Så³ ö î¿,ưÏ÷Úñ;îXöú²ûTrgôª-^̉Âbrúđ‡è®âăûăâóåǺ ônü¾ç* B ¬ +aø₫ üµ÷,ñ6đ÷Åú]ÿèln%1WëmFs«₫/öVïBç<áIâ¨ăüäëéxîœơl₫<¾4 + Ï=₫¸ùIơñ³̣­÷kûˆ —>˜¾ÇáY† ûó’́åNáâ ă¢ǽöđù”[ z ² s w{ưRø'ônđ̣Ưö’û“Ó ©±Ù1dçœ> \-ù́đªêŸäÿàdáă-ç‘í+ó{ú# > ä öÜH-ưCøÜó‰đhó±÷àüˆ€† W {ÓÖ»3 ª÷ïwé$äQââkä†éï˜ơùü/û§ ¤ S &$4ÿû4÷’ó ñŸô$ùé₫Ø æ´#ÿîHæ ¢T₫‡ơ:î­çă âäĐç,í©̣ ø·₫*ñ A à»-₫3ú€öẠ̊°̣wö}ú€›̃ ^!Y…–2* cúị́T́æ…ăÈă¥æÄêđ»ô#ûå2 < 1[™ưưø¸ơCó¾ơÆø˜₫Ϥ ” ”.übèÔñ Ôươđ̣é&æ[åơæ·êáï–ôúÍÿR̀́Iu³RíưuùƠơóDơ¸ø₫GÀ¬ YLấoÄ| Ç2₫ºöëđZëïçưæÓçâêdï[ôWú÷ÿư1 ́Ïj₫¢úH÷ôơĐ÷éüxY =_@N̉ôÚ Ë̀ươö^̣₫íëé5éaë£ïVơ—û¨ŸmŸzđ5ûÇưŸú†øÑơ>öYøÖülÈ ư*¹at•1 :îü(öj̣qï-í+́ ë¥íùñ*÷³üØ&Àư ØưúĂ÷øơ÷œù:₫ ± &kLªjĂ•— Sư~÷ôđî!í‘íHđOôÑ÷mû·₫ĐN}SZÿ₫óû8úøYù‚ûEÿÏ;ä Hƒ±Mqû +v{₫¦ù³ởñdđËđ̀ñ2óơÑ÷úư¿₫í>nùÊ₫ÇưOühûaú3û3ưP  f Ê¥*í °  ¨ûfÿ)û&÷„ô³óûóAô=ôđơ¦÷Íùü‰ưÿ[ƯÓưÿ¬₫Ïühü*üđûưÓ₫ÿO  e Ư » ” í ́ Bëfưàù²÷÷Âöàơơơ¹ơÈơé÷±úüÍưÿó‚]ÿvÿ¥ÿ¶₫áưƠüWüíư¡­a ? P R L s ù¤k#›¶₫2üđùqø°÷­öö¨öX÷ù]ú”ûª₫T9A˜ƠÿÓÿÍÿÜ₫ï₫¬ư´ưÄ₫)† cB̉Ă@qĐÁ̃¡nÿ¹ưÆûùw÷Ïö'÷m÷`ù¿úvû…ưØưÿ?È#Ú₫QÿÂÿ@ÿĂự₫º₫Lÿ´²º‚ ©-R(đ6Lÿøÿ¶ưGûvùIø÷DùÄù ûü,ü!₫ÑÿP§ưÿEëÿY₫[ÿR.¡ÿIJbCk>0ó6§Ø]@ƒÿZư[ü›û]ú9úúÙùü’ưƯ₫¸ư¨ÿÿAÿ½lHÿp±ÿ(¹‡ $óí§¥¶9P©—çU·ÿï₫N₫^₫¤ü^ư6üăü-₫;ư…ÿ]ÿ’ưn₫üÿÁUÿÿîcÿoÿиơỀ0y|¯pỵ·o”>ÿ‹ưe₫Ú₫₫Dÿúư[ÿ̀₫IÿÍÿÈ₫(cQÿó₫º₫|3hÿíÿb½Ö Ï­UlF:ŒWùưæưÿWÿ§ư8₫^ÿ Üÿƒ₫§ÿĐxƯÿµÿÇoª -YŸ•ß©ÿˆå·̉ÿ¦ÿÆ₫ ₫9ÿ×ÿÿÛ₫WưUÿßÿBZˆÿoÿ÷ÿîáÿUÆâ¯ÿ‡º½ÿ¼&mŒ˜ÿˆÿ'µÿËÿÿSÿn₫–ư»₫Ï₫øÿ6ÿ+₫;ÿïÿ'äđK¥₫Ê<œ]ÿd[S˜ÿ¢₫C÷ÿçXio!¢ÿ;Çÿơÿ™ÿ:ÿÔÿØ₫ö₫äÿú₫‘ÿ]₫@₫`ÿüÿ#Ú₫àÿ ˜Rí Ơ¸ơ·3kâÿ±₫tÿ-ÿDÿcÿ ÿ>ÿæ₫mÿ–ÿéÿơ³+ÿÿ4úÿÿÅÿ¸ÿƒÿvæÿ#ÿŸxÿ!­›́ce:„O§ÿ .̣ÿĐÿ¶ÿ³ÿ—ÿ̃ÿ¨ÿ¸ÿ…₫mÿRÿêÿ) ÿsÿ^tÿ$âO±ÿ¿gR°ÿ#jbÁ₫í₫¦̉ÿ©ÿöÿKÿ„†Q·ÿ=ø<ÉÿMÿÍÿºÿ‡ÿNÿÿ¤ÿ³ÿÿyk|µÈqlƠ˜“1äÿơÿÿÖÿ‡ÿú₫å₫=ÿÈÿ&ÿ‚ÿÓÿÁÍÿ́ÿÿÿÖTH˜2ÿHÿ-3ÿ„ÿª₫âÿÿ+ÿw@pôÿÎáÿ~Ë´-[ÿfÿË₫<ÿơ₫ÿ®₫ëÿñÿ3ÛŸkÑ-f¨ÈV‚Éÿ!-ÿ=ÿÿ•₫¶₫ÿ–ÿzÿÙÿJo7 !}0ÁÿÜÿ7ÿ@ÿ>ÿ₫₫Ăÿ½₫=:‡?"ù“„X)N}ÿqÿoÿÿV₫ÿÿÿ.ÿPÙÿGmμùŒ–=₫ÿ2¼ÿåÿ ÿcÿ+ÿù₫Kÿ›ÿ³ÿ!cœ“(̃äƒ 'nÿÿaÿö₫j₫vÿ ÿÑÿ‚ÿ̀ÿ²ÁĐáư ÿÿCÿ=ÿ·₫ÿ₫:ÿÎ₫ºÿN h¿ØÓ\®Ăÿ»ÿ­ÿÿí₫gÿđ₫=ÿ[ÿ4ÿ.pȪÁÙ¸́k.´Đÿ¤ÿyÿŸÿMÿOÿ,ÿÖ₫ÀÿÇÿÿ >”ºàÿE8èœS(A´ÿ̉ÿÿ²ÿø₫£ÿ/ÿˆÿ´ÿµÿëÿfÿÿÉŒ¤jY`¡ÿÍÿ¨ÿgÿkÿ(ÿÿ’ÿ™ÿØÿñÿđÿ‘{}ŸÑR'™ôÿûÿÖÿĐÿ›ÿ2ÿDÿlÿá₫¨ÿâÿ¯ÿE·ÿ­ÔYÄÎ4Œ<- ùÿåÿÿ+ÿJÿ3ÿ»ÿ4ÿ.ÿY²ÿ§¯ÿè¤Â°8¼,/F]ÿoÿçÿgÿ,ÿbÿ-ÿJí₫ØÿDhX–XZyqåÿ+̣ÿ©ÿiÿ6ÿ¹ÿTÿ¶ÿ,ÿ_ÿ&›Fß\~o ~C6Ôÿ ÿIÿOÿNÿiÿ̃ÿ¿ÿĂÿj<mOkiëÿ1Béÿ—ÿ€ÿôÿKÿùÿˆÿ±ÿơÿüÿY? ¼&fU5̃ÿ´ÿúÿÉÿÄÿLÿ,ÿ©ÿyÿ1(;;’'Ji5KÈÿÿÿÿÈÿúÿ™ÿÜÿÿªÿÜÿÓÿ2íÿM`E?^g«ÿáÿûÿŸÿ?Jÿưÿ đÿŸÿ?ÿ†ºÿ~k"¾ÿ~ªÿæÿÍÿOéÿ¡ÿÓÿ(gÿéÿÊÿ;Æÿ2*Q¾ÿ¾ÿ2ÁeVÿøÿoÏÿÎÿˆÿöÿ¦ÿøÿKøÿckÿóÿ çÿßÿOÛÿàÿc5h8$ÿÿ+₫ÿ‡ÿ¨ÿ[ÙÿÊÿŸÿÈÿX?ÄÿôÿßÿKKºÿ̃ÿ¢‘ÿ*Îóÿtçÿ«ÿ̉₫ ₫ë₫ÅÿJ°V2æÿj =;íÿxÿáÿ ¤ÿûÿEÿưÿåÿåÿÏÿßÿ O”ïÿ´ÿPÔÿˆ;{ÿ|ÿ<ÿYÑÿÉÿ)yÍÊ”4A₫†üüưü}ưÚ₫¾ÿŒHø¢²S„jj檩ÿF₫*ÿÜ₫ ₫©₫íươư‰₫¦₫-̉ÿ)/–¹óß¡GˆIU¯ÿoÿÿ…ÿhDlúÿiÿ̀ÿâƯYÿÛÿ7WưÿEÿ₫û₫ê₫}₫8₫ç₫Í₫°₫A₫ˆ₫§₫ï₫EÇF. .Œxßúø—;@œmÿ*₫Ăưư5üÉûsûEû•úœù,ù"ùiøùÆùîúüæư8ÿ₫?¹ H™g¸Ÿ‹  û·÷Z÷9øưúåû{üHûiù)øB÷Î÷ôøÛúBüư¨üîûæù*øy÷‰öưö÷jùøaS˜!9%Ù Pc N₫€óüîµíLñ3ơ÷üùéø4ùöø̃ú₫¶À=Eyöûæ÷{óơđ½ï÷ïœđnṇ̃đ̣́÷x ‘ 'M1—2C+Û¸ lø„êẵâé²í[ôAöpö¥ö›öpú‹! ×ƠóP€—øJï€éeèéêåëßíîúđwđ÷Â…%l4AĐA•6×"ó 2ñÆß}×Öàûæ½đáôÅơ öböZún»Ä²%\$̃— Vö¢äÅÛ»ÚáBçäí‹đĂï(ï–íHï²ù> ‘—8 FŸPFÄ2•÷Pß+ÑäÍÀÓÚà·èóójôÏơkơj÷¹₫Ñ X̃'!/`*€¿ñïóÙ7ĐJĐoÙiäÍïóômơcó°îÂïGơ8¯Ø9JWU5Nz7é÷ƯÖÊBÉ Í²ƯCçïó÷Üö5÷Åöw₫Æ^+%1i-ˆ%OÿöBáâĐàÍ ̉óƯ×èPô>ö/ùẹ́™ñ ñ–øP f u=ULTIS2ø‹ñÙ×äÈeÉ=ÏMàƒêùơ&ø|ø>÷/ù0= ÅÚ%i/ó+ " ,÷~á^Ô-Ï€ÔP̃ØéôYøoú÷ñó\̣dơ–²ö)º@ÀI¤J`:³ ílç‰ÔgÍàĐÚAèÁïl÷ÎöåöùöüË\aơ'+$u|&ó¶âăÚ6ØîƯ¾ăö́ ̣ñôöÙóKódó÷!ÿÿ-È5«>BÆ:œ&¯pöïâ¯Ö]Ö§×;ä`é›ñRôzơ¢÷üa_k!'C!Y¹ Jû¥íËä4ßàªăqç»íËị̂Ưñ€̣ø̣{öAù”₫J $4M<|@Â8{&]Æ÷˜âÖ×iƠ"Øaă„éhñ“ô]ö{øÚ₫û́‘["!&7 E4 ½ùEí¦åàËá$äœçǴị̂ïÿñËñƯóI÷Ûúƒè90‡;>ơ9(ÿ)ú0æØØ(Ø0Ù†ăvêÿïZóÖô¿öLư°vW#%±"‘wùÈí¸éæ‚æèéƯéÁµ́ƒïJ̣sôXøÚû¢ÿĐÑ̉#ß5<<=Ö19Éđ̃h؆Ú8à¼é˜îRñ8ñóTö2I KƠ#¿%rĂwú~ñó́áV́Ôẹ̈êëèkçSéLëØđVơ€ùü6ÿÖƒ xĂ+Ô9#@":Ñ*°“ø#æÚFÛ6à¯èđ́đ‚́üí€đ û û"Ơ&X ˜Ÿ́úíôó~ôíó¥̣śEèiăZåé‰ñu÷ƒü³ûXûÚø©ü# ´î0Ó?cC¨7„#%¡đâÅ̃£âêÙíqídéhåsç”ñ¢½:"J&D!Ñ]—üèù²úàư„ư\øƠîûå§àwáưèÿñ•ù&ü@ù.óJđ²đ9û=B't;¶E³@u.˜ơÿôï5ê}êh́¶́&èîàƒƯóß1ëơü`"¦x …₫h;­÷Âëâkß³ă9ëôó,ø ÷̣Míë ñÛú Çw/¦9 ;ư2¢#0œø̀đâëUæÆáq̃̃˜âứ&úd+H=¾C S Íjÿøơćæbä̃çÀ́Jñmó‚̣̣ï>îï‚óVûrê,5Đ7W1B#RsÄóNë±ç2åÑăNăKä0èƯđü-­”Ó¯ ‚ %…ræüˆôḉÂçÙæ‹êØîG̣ôeóăđMïKđ`ôûM¢Ô!ö/C7 7̣,³- =₫ô¯íLê—å±áZà¬ăÁêºödÈ ñÍă N  ª T˜²÷ï¡ëÜëÔí*đ“đï2îîZïGñÜóLøˆû]]*›7b;5€#go‚ú2ôđsê,âÿÛ;̃YçÉó7 ̀ 3 ̃  ¨W[2 1ùXôíđ̀đñ–ïéë™êÛë8ïP̣±óc̣`ñ̉ó'ûnc&R8{;54;% ù &Yÿ̀ô¸è2̃ Ù̀Ü’é€ö³₫&ktî Oͯ ¯Y₫Wûü_ûÚơïŒêëé¶ëđó%óï¶́ấỆÅù¶„G,24A2k,–!/w HÓ÷Zë£âxßêߌåÙí¡ô<ùÿ¨—ʉ‘ úë ¸ÿûOôuî©ëÆí đ?đ;îoíí`îcđ–ór÷°ú é Ơ2Ä4f."%´ Í ̃8ơæÓ̃Óß«ă4êóï±ó4÷²Á ,ÈY = uK x>₫ơđJï÷ïñúî+ë·èé́´ñ‰ó_đđóáưÎ-Q4§*8#,!" +ü/êéámåké_ç‹ä¥çHñư zí œ® kˆÿ´úç÷ăơñ0ë̉è~ê¾́ïíïúîÀíhí–ôû¥*(,}&m&¾&¥ ~1º÷·îƯééƒä_àŒâDí øl₫/“´ơú  P €Éơ¶ï}í%í́êÁçùèmîmñsï†́Đ̣Xû¢ :u)­%²"W),Æ!ÑûAüøö_îRæ·̃­̣̃åmïẠ̊8ôIüä ¦̀¡MÊ7₫ùöô đ„éÉäÂǻçơé•ëƯë­ë¹í÷µư 'm'2&ç$,ü,í Mm ¨»ùéRäöàuáHäaçcê`đüÍâ 9›ª0£+– &ƠúÂóđí èLäqă@ăä è‚ê=ê³ëöíư f&D%ä$˜/ư/°!(KN Âû́æöåØá{ßôàÎæyí÷hÿØÉ ÷ƠŸ,ö₫₫­øúñèááàäá2â¨ăärçµë[ơÿù­¸́$’"Đ$Ñ32È!*R¥ü†ïíÂéëß«Ûßă˜çlîn÷F¹ Z€h „P® ³Ûÿ­̣zé̃æöâ₫̃̃¹àäà₫âbçÅđÊöy₫đLÓ&¶51b#!3#íªMú÷xëßÄƯ½̃̃=ߥæÀîø̃É Y‰•…tÅû¼óˆêBăÿá<̃ŸÛÑÛgà ă’êJñºëĂ¯*6w.x'**ö'¾f §9ûǽuăháhƯ0ÛÛÛŒáÙèµñù”çÙ0q ¬9 v_ơ>î;êàă®̃®̃%á‚â çíy÷7 ú <Jï*%R"/(A&+ÜÑâÀùùñ{́*çä×à™â¨èmíđSù́“ … ƒ:  ëđưÛúUù¼øÔëVó“ôîèîós÷9ùlSxf  t³!À rêü#ùsöĐó ôLơ[öĂöüùÿü5ÿª´ ơ Ú ÿüü#ûáøoöơ¹ôªô¾ô›ơø7ú~üÿM n§ æ Y  x  {ÓyN‹5ÿïưéü°üäüưtư₫ÿèÿQÎGê$SÿA₫íü>ûùTøa÷öàơqọ̈öß÷NùÆúư&ÿI0—åáp ¶ † üä¸í""ÿ®₫µ₫Í₫È₫"ÿ‘ÿ´ÿùÿëÿÿSÿ—₫¼ứü+ü5û}ú úµù…ùŒùú…úZûTü‡ư•₫¹ÿé&‘ü8#ÛŸ=–-Ьˆáñ/<D$ơ†qÿ̀₫/₫ưư—ü,üôûÙûáûü|üüü}ư₫±₫pÿd…®·¤Vă–W+)4YƒÜ4Ÿø9eymNµEÔXÖÿ`ÿ́₫€₫₫èưÉư¸ư¼ứư₫K₫₫å₫ ÿ_ÿ§ÿÏÿưÿ)E* äÿ¼ÿ­ÿ‰ÿnÿÿ¥ÿ¯ÿçÿ+t˜á@nw•w{N*ߣQ ×ÿ ÿyÿ[ÿQÿ=ÿHÿ^ÿ„ÿ—ÿÇÿóÿ#FNC*ñÿ»ÿŒÿ\ÿCÿ#ÿ ÿư₫ÿÿ"ÿ<ÿjÿ“ÿ¹ÿêÿKo‹œ¨ª…fUOJ1*7A>Rn~¡µ·®‚b/úÿÔÿªÿxÿAÿ)ÿÿ₫₫́₫ù₫ü₫ÿÿ;ÿbÿÿ·ÿĐÿóÿ$%1843>=-+IQKezˆ¡²¸«°­•pT<ëÿËÿ½ÿ›ÿ|ÿbÿPÿEÿ;ÿ;ÿPÿ`ÿoÿÿ«ÿ¿ÿƠÿîÿ́ÿúÿÿÿ %,*'1'/)6EMJX]XPIK;32' æÿÉÿ³ÿ¬ÿ’ÿ‘ÿ•ÿ£ÿªÿ­ÿÅÿƠÿàÿêÿưÿ%%03*ưÿøÿ₫ÿúÿøÿưÿ  üÿ øÿơÿđÿéÿæÿÛÿÖÿÎÿ̉ÿËÿÓÿ́ÿ-:=FI-'"ÿÿûÿîÿíÿñÿñÿúÿÿÿ+3DHM9&ÿÿíÿÑÿ¯ÿ ÿ¦ÿÿÿŒÿ’ÿÿÿ›ÿ½ÿÏÿñÿ(IGQ[TBC2( øÿ%:OM[dsympL/ơÿăÿÊÿÿ”ÿ’ÿ–ÿÿ†ÿlÿdÿ`ÿ~ÿ€ÿ©ÿ¿ÿăÿæÿêÿàÿûÿ+&50  * H[bÈw»€ª8v*´ÿÙÿ¡ÿ±ÿ–ÿ`ÿØÿ}ÿDÿ¯ÿ¾îüß”ư£ùå̉úkúóƯû]ÿN₫úưi¦ưÎïù₫Ă‚DÿfzuƠr‘₫#“ÿ ­Jư­₫ÿDư²₫Gÿđ₫ÿÿ5ăÿùÿbè̃V³ÙLáM₫eư»₫Çư=₫çưƠ₫S₫ÿưÿŒÿtă•́­¥»¡Ó@~¬₫RÿƠ₫yÿăÿ;₫iÿ®¸₫ưÿ̃ÿ½áư;UÿÄ15 Iÿ˜ư3₫,ÿ̉üÿ&û—ÿäưæÿÿ&oÿ–½Ä4À]+‹Mÿë₫ÿ¢ÿ|₫€§₫ óÿĂÿåÿoÿس‡ÿMRÿ1ÿ74₫_S₫®ÿWÿ“ÿß₫÷ÿ:ÿwÿ”ÿvÿ•uÿ  k?öÿÓæÿ·ÿüÿ ÿÎg₫̉ÿưÿÿƯÿkÿ̉ÿ§ÿSMÿ‚ÙIÿOÿncÿJÿf]ÿIÿŒ'ÿÊÿjß>ÿÅ£₫ÿ %ÇÿĂÑÿÑÿŸÍÿtÿx ÿiÿ 'ÿÿr%ÿbÿ>ÔÿôÿÿUt₫°‰³ÿ+ÿơmÿxÿ¿à₫WËÿÇÿmÿÀ…ÿ’*éóÿù(ÿnŒé₫8ư/₫¬bÿÿÉÿ™ÿQÿă₫œÿâÿ?¥vÿ?DWÿ®”ÿ ́ÿ¼₫Ó¯₫¦³Ñ₫çÿl°₫j€ÊưQÿ‡ÿtJbÿfÀÿâ₫ÂŒ₫˜¦ÿDÿHgÚÿ¦Gÿ8´ÿÅÿˆƠ'ÿË·ÿ‚<ÿÆă₫¥₫#ÿ-lÿè̀₫I>ÿf­í₫Qÿí’₫Ëÿ’^₫xÖưN¥à₫_+dÿåÿÀưA4ÿÇ—ÿO’œÿî̉¦₫Y ²₫₫Ú₫ä₫ßô₫ ÿüî₫—ÿEu“BÅÿtÿ…đÿÿ%ÿ[ÿ>ÿ¤ÿÂÿ4ÿ¶ÿm‹₫Àÿm/²ÿđÿ4µ₫#ăÿ[A₫¦Æÿ ₫?Ơưö _ÿ% Hÿ^Î̉₫k¿ÿˆÿFÿ—ÿnà₫,S8ÿwÿ¾è₫mÆÿ«„ÿÇK̀ÿè¨₫´76ư»ÿ`ưH¨₫̀ÓóÿZ”₫^4ưư‹ÿÔÏ₫K₫¾q₫±L”ÿƠûÿé₫nÿŸz₫ÁÿÎ₫~!ÿa±ÿúÿưÿÿ-ÿpäÿkÿ¼bT³ÿ6&ú^₫>ÿëÿŒ₫üÿSÿdÿ₫î‘ÿå„ÿ1̃¥₫G=Cÿ=k₫c̀üeØ)üœÙÿ̉₫ob¡,₫ ÿ@<₫éÿ₫ Đÿv₫RŸÿ™₫ă2ÿë'î₫¸ñư¿ÿÇÿùưY¾ÿ±ưËôư«È́ưä₫ Xÿ₫₫¿₫ưiưŸG₫`ÿOÿLdÿ=ÿ¡°ÿV₫çĂ₫ªÿsHÿȽÿªÿ~Úÿ=ÿ¡¾$ưhd:ưe:_ươ]₫ë₫‘†ưĈJưƒÍ₫|_ÿÅp₫æ,Ăüa¬üùÿ7ư÷ÿüRÿSüöÿ‚çü³ÿÍYưÊÿê3”ÿW@ÿí—ÿOÿhËäÿo’ÓÑđ8?n="¦l₫°₫͈üc₫ˆ₫ûÿ_ûüaưû”ưPüØûx₫!ư€₫¢ÿ le™ü¬¾á¾ ÅŸEª4ÿÿ|ưËúrúGø]øq÷ơŸ÷Ø÷ ö2ùû×ùü~₫·₫m₫•z·\ &‹( 0 / E t < ̣ ;Ư/₫,û÷pó¨ñ[đíïí·đ&đ”̣Lö¼÷Húƒư·ÿóÿ ÄƯ ¯nSµ ¶ O ¨ é ¥ Á ñ¶Ä^ükøơñœîÉíß́₫́|ïDñ²ó ö½øµû ư`₫ đA<dîËV Ó7Ư’%» đÀØ₫EúƠởñoît́́(́eímđöñö,ù úÂưÿ₫ÿgÿ¥ÿ¥ư¼₫ư¸üoưeÿÙ ™îG×hưRk ™–ÿ`únơæï—ëÅé«èoèßêăíóđÅóùøûÊü¦Zœÿ´#cü³ư;ưqúpüÖÛ à3±{—ëDÚË ; SùöÜđÓéäç¢èsæè5îđỌ̈ˆùYưĂưF-ˆ–®¸üûçüóùøú[r² + IÔi³í …9ùKóŸđƯèå}çÿå ç˜íñ³ôÔù¾₫sÍ—½ÿ¹ưÉø=úưøçơºüâ‹j ¬qÈ–ơ®ùpÄ/–øpñÀíçÏâå÷äæ[ị́ñÆơöûÑ Sië;₫=ùh÷øơ"ú& đ Y¡¶b ÷Œ̃ñ^léöËï>ëåá“ă7äXæ:îóA÷†₫R9#xcưGøgö÷ÅóÂúÁW R(›+ â #  ,kưÍöBó#ñüíYđẸ̈`ù7èÖ§€€"ë$|F© _ úñ¼êcäúáÎáâç7í—̣Úú(AÔ µ ë — Q<üyù"ỗï³înî%đƯó!úb½ …”4"a b%.! ̣Ö 'ÿơöđyé“ă!âëă?äè±đö:ü› „ Ï N A ¥ _û©ö{ó×ï—í£î7đMô¨ù¡̣ m|=#¬!Ï m!»ö9 ùö$đUëçËăÆå̉èNêóđ‰ø»üû\ | ~ ̀ w Éz̀üè÷¢̣"ñ"đîàïAóÇöWû yCÄ …!€”ç÷ ƒ:û÷Æđ®́ĐêIènèaí!đẸ̀Jú¬ÿq¡) ư 5 å¢û9øơñđ”ñ®đ̣ öóø—û*. ƯADVé ÀÚ§pœ₫º÷!óñËïăí'ï‰óäôL÷ªư⥮XYmÿmûÍøeơß̣)ó]̣‘̣!ơÓơ{÷+ûüă₫à0_ Î́Ú ̀|©ââÊ¿û+øơÆó|̣Úñ¿ô÷Køưo¥cH:ÊMÿñúøøơ@̣­ñç̣ñ¾̣ơö₫÷rúJü`ÿR¡jÄEr3áü¥§ ‘"ÏưNøSơăô;̣vñVôÚơ÷mûÆÿjjÊ6 Äø®ÓûùûơóÑđgđ́ñḤhó©ö`ø•ù₫û¨ư ÿ. ×=¬ ›¬<²ƒ ˜Úâüđö{ôÚô)̣RñßôöZ÷wû!ÿO.¨®Á½øÿBừúùöSôµ̣_̣§̣6ólơ§÷¿ødú`ü"ưO₫ÅÿÔa… x ”±#œ¶¥d qÉú₫$û öNơoô¥̣ñó™ơ{÷úươ€¨¢üá₫ üGûˆùë÷đö}ơöÏö!÷ùQú¹úÖûühüưdư”ÿƒá8 ƒlº>¯ å¤ÿZüøiơ-ôûó¯ôöÛ÷?û&₫œ¼ÄrÛ YŒ&áưbü4üíú<ù~ùùÑøœøùútû&û@üéüºûEûUụ̂úœû ư™P ˆ ¤ûZƠ 3Ï ưkú#÷üơ4ơơ×öơ÷Lú3ư{ÿ­qïXî÷4₫®ư₫r₫Tưâü ưHüûÿù­ùKú¾ùbù úÅùQùù¯ùúÅüÍ₫-Å !̣Y4t ¥È ₫.ûø8÷aööơ÷dùŒú̀ü!ÿu[ø:âd́₫1₫èưM₫ÿú₫:₫øưưƒûƯùrøø›øô÷ø=ø’ø‹ùÚùÑúqư3² ÆsZ‰;„ çỤ̂ư˜úÀ÷A÷‰ö~ö)ø¬ùûÓưÿƒ°2¨.fÿ+₫–ưéü«üÏưH₫{₫L₫ư¶üªûñùrùMùmùÚùNù‰ù2úDú¬úyûưቴ 5}üui ăº‰₫;ûçøø¦÷OøÿøæùÉûeưØ₫wt4ˆàT|"ÿˆ₫Çưiưúư₫kÿÎVñ₫+ưƯûXùÆ÷øú÷Ÿø@ù‚ùÆú¢ûËûĂüÉ₫„ÊN í 1SZvP Iïí₫=üđù'ùø¥ørùúVûÅüÈư-ÿDƠ€V¿U:ÿ~₫êư)ưiưëưŸ₫FÿO₫µüJúùHø<ø>ù|ùúăúPû‰üœưá₫u«B p ½'0D3/ h6ÿ₫üÆú0ù÷øâøjùQụ́úWü·ử₫Ḅm§æO{ÿs₫₫Zư$ư¿ưr₫Đÿ¦¥¦ÿ\₫úüøú¤ùù ùúâúœû›ü(ưëư¿₫€ÿđĂ ë D J v*„ÿ×ư\üû¹ú9úÂúbûBü!ưÉưç₫̃ÿ~ɬ Nÿ₫đư–ưưKưpưîưè₫.œiÍÿå₫A₫"ư—ûwú÷ù¶úüưÊư ₫ˆ₫yÿ2¥ÆhQư­  ª å ;›Ê«ÿ£₫ưÓûhû®û)ü3ü*ü§üÄưê₫cÿQÿ0ÿaÿqÿâ₫áưèü—üÀüîü+ư¤ưÇ₫sÍzF„¿¯ÿQ₫Ïü€û"û¯û–üVưưÛưC₫”₫ă₫ ÿ”ÿ$Ï.À Ù . Ö Ç ºs6+–ÿ₫Êüüû—û´ûü‚üäüfưÁưÿư@₫;₫Z₫b₫6₫₫ÛữưA₫œ₫ü₫8ÿ°ÿæ¹hJ[¢ÿè₫ăưuü’û¾û·ü¾ưƠưyư…ư*₫0ÿœÿ‘ÿ#ª8Æ1»h‰öˆqÂÿÉ₫2₫pưQü×ûü̃ü¡ư•ưPư:ưrư₫„₫ˆ₫Z₫₫=₫₫ê₫+ÿ'ÿ;ÿ˜ÿ₫ÿ¤YÂÀ\̉ÿPÿÅ₫Øư»ü4üpü=ưăưºư1ư ưƯưGÿ7ivIYÀWÊ€_rû•Vªÿÿä₫Œ₫̉ưYưlưƠư4₫ưư…ưZư€ưçư ₫Óưư„ừưT₫¡₫Æ₫»₫Ơ₫SÿÍÿ@‰·N¨äk©œ|ÿ¡₫Ñư<ưèüèütưïư(₫ ₫Éư»ưùư{₫_ÿ\¾q [°(ÓŸûƯl‚ÿUÿpÿpÿÏ₫ăưFư<ưçư™₫Ó₫¥₫I₫]₫à₫gÿŒÿÿ8₫Ùư1₫ÿÖÿûÿ¤ÿGÿzÿ>!“aô¼ÅÁQvÿ{₫Óư°ưÖưđưÊư”ư‰ư¼ư₫N₫p₫¡₫ ÿo‚–¦q¯ÎÚđ+ ÿ;ÿä₫¤₫z₫₫₫ª₫›₫l₫J₫S₫‰₫Ö₫ó₫¾₫\₫₫@₫Ä₫UÿÿxÿVÿ¬ÿ•Ÿ„4à₫A₫a₫º₫°₫,₫¢ư„ưáư@₫₫tưÀü±üuư¬₫ÛÿÊÄÂ?áó÷P÷˨tJó¹NÂjÿÿ₫Ó₫ó₫ ÿÿÓ₫6₫‰ư₫ü·üÆüôü$ưFưhưÏưu₫1ÿ¤ÿmÿ©₫´ư ư:ưÉưt₫Ù₫́₫̃₫Ê₫Ç₫µ₫•₫₫¹₫!ÿ­ÿbcºC…̉)Ÿ~ÁÈ–*ÍuăÿRÿ̀₫₫|₫¶₫æ₫Đ₫q₫éư„ưLư'ưưü»ü•üµü(ưÙưƒ₫ÿ,ÿÿ°₫8₫Óư“ưưÆư₫z₫Æ₫ó₫ư₫đ₫ï₫ơ₫ÿÿNÿzmJQ21¨đ›ö­ÛíPÑă₫1₫₫z₫á₫à₫m₫Êưaưhư¡ư±ưDưuüÂû¨ûcüªưđ₫®ÿ¥ÿÿQ₫Çư“ư˜ư³ưÈưïưM₫Ù₫lÿ´ÿ”ÿ#ÿ­₫”₫ø₫̃ÿ}׿xiÛ#¦¬%¸ư©É¯½)ÙŒIÿ ₫Q₫z₫×₫ÿ¬₫ÓưÙü1ü!üü ưSưQưUư«ư[₫ÿ]ÿơ₫₫ưµüư₫ú₫†ÿ€ÿÿ₫G₫V₫«₫ÿyÿÄÿe˜çíIá2èNƠüpfT™D$Ú:Vÿ‚₫₫₫w₫À₫Ÿ₫₫,ưtü0ü_üÏü6ưwư²ư ₫–₫ÿ@ÿö₫W₫ÆưưÏưY₫Û₫"ÿỵ̈₫Æ₫¯₫º₫ê₫Bÿ¬ÿCpÉ–¾ˆ¯8yèƠIÿˆ‰çåéI é₫ÿ>ÿ©₫v₫˜₫¹₫ˆ₫ëưư†üküÊüNưư’ư]ư\ưÆưŒ₫Lÿ™ÿGÿ†₫ÍưŒưăưŸ₫Lÿ—ÿrÿÿ¹₫¥₫Ú₫3ÿÿ¯ÿÉÿ‚VLhX$>ŒÁÁ{qjAÖ%NzÑÿ^ÿ&ÿÿÿó₫–₫ ₫wưưéüơüư3ưPư~ưÅư₫e₫†₫u₫G₫%₫/₫v₫à₫>ÿ`ÿ5ÿâ₫¡₫¨₫÷₫]ÿ£ÿµÿ¯ÿÅÿ ưsÖ*g³ë;‰¤6ùçïß“‚ ­[úÿ€ÿï₫[₫Ưưưyư”ư»ưÁư—ưQư!ư/ưưñưT₫Œ₫¡₫¤₫¨₫¯₫°₫ ₫₫Y₫H₫k₫Ë₫Fÿ˜ÿ“ÿLÿÿ_ÿîdJ́Öf{‡¹ơ@` °>€ƯŸ·̀}¹Íÿ*ÿ ÿ@ÿQÿä₫₫ưdüLü¦ü$ư€ưŸưưsưtư›ư×ư₫₫₫₫P₫É₫RÿµÿÙÿÑÿÆÿËÿ×ÿÛÿ̃ÿ Z ‚XĐTC­TĐàăùAsUëv=VŒ‡ *8ÿ₫…₫Đ₫"ÿ%ÿÀ₫₫„ư8ưAư{ư©ư®ưưsư{ư¨ưÜư÷ươưïư₫H₫Ÿ₫ó₫6ÿpÿ±ÿoå_Ë!øµ‰—ß=i(å®…jZXd|“”k“Áÿÿkÿ?ÿơ₫–₫;₫̣ưÀư”ưdư8ư"ư-ưRưwưư‹ưư‚ư£ưäưF₫Ă₫KÿÍÿ3s’ªÖ(—v½ÛÔ¯y> Çm ·ƒ^9Æÿ“ÿtÿfÿXÿ;ÿÿá₫Â₫Á₫Ơ₫æ₫̃₫³₫v₫G₫>₫`₫”₫·₫º₫₫₫v₫…₫¡₫À₫̃₫ ÿZÿ½ÿ%q“‚̀5¦₫ צ‹„„€t`Fé©m? Üÿ®ÿ€ÿaÿTÿJÿ4ÿ ÿé₫Ø₫ă₫ÿ₫ÿÿÿÿ&ÿ@ÿSÿ[ÿ`ÿnÿŒÿ­ÿ¿ÿ¼ÿ¨ÿ—ÿ•ÿ£ÿ·ÿÇÿÏÿÖÿäÿ₫ÿ&La_UUr¦ÙơøññơíË›z®¡yG æÿÁÿ ÿ”ÿÿ²ÿ·ÿ£ÿƒÿeÿXÿXÿ^ÿgÿvÿŒÿ§ÿ¾ÿËÿÎÿÍÿÉÿ̀ÿÖÿçÿüÿôÿïÿïÿđÿđỵ̈ÿùÿÿÿưÿ÷ÿùÿ,:DEFEDA@DKSXQA0ưÿ÷ÿ÷ÿ₫ÿÿÿ÷ÿäÿÓÿËÿĐÿØÿÚÿÖÿÓÿÙÿáÿäÿàÿÚÿƯÿëÿ÷ÿùỵ̈ÿëÿïÿûÿúÿơÿúÿùÿîÿêÿóÿúÿùỵ̈ÿîÿđÿöÿùÿöÿơÿùÿ  ).-% øÿóÿóỵ̈ỵ̈ÿîÿêÿéÿèÿèÿæÿäÿáÿâÿăÿæÿéÿéÿéÿéÿêÿ́ÿíÿ́ÿîÿñÿóÿ÷ÿùÿúÿûÿưÿ "" !## ÿÿưÿüÿơÿïÿëÿèÿåÿâÿ̃ÿƯÿ̃ÿßÿàÿàÿàÿàÿáÿäÿæÿêÿíÿđÿơÿùÿüÿưÿÿÿ  ₫ÿúÿöÿóÿñÿïÿ́ÿêÿéÿçÿåÿăÿâÿáÿâÿâÿăÿäÿèÿèÿëÿïÿñÿóÿöÿùÿưÿ  ÿÿüÿùÿ÷ÿơỵ̈ÿïÿîÿëÿëÿèÿçÿèÿæÿæÿæÿçÿèÿéÿêÿ́ÿîÿñÿóÿơÿ÷ÿùÿûÿÿÿ  ₫ÿưÿúÿ÷ÿơÿóÿñÿđÿîÿîÿ́ÿ́ÿ́ÿëÿëÿëÿëÿíÿîÿíÿïÿóÿơÿøÿùÿúÿûÿ₫ÿ  ₫ÿüÿúÿøÿ÷ÿơÿơÿôÿóÿñÿñÿđÿđÿñÿđÿñỵ̈ÿóÿóÿôÿơÿøÿûÿûÿüÿưÿ₫ÿÿÿ ÿÿ₫ÿưÿüÿûÿûÿùÿøÿùÿøÿ÷ÿöÿ÷ÿöÿöÿöÿöÿøÿøÿøÿùÿùÿüÿưÿ₫ÿ₫ÿÿÿÿÿÿÿÿÿ₫ÿưÿüÿưÿüÿưÿüÿûÿûÿûÿüÿûÿüÿüÿûÿüÿüÿüÿưÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿ₫ÿÿÿÿÿ₫ÿ₫ÿ₫ÿÿÿ₫ÿÿÿ₫ÿÿÿÿÿ₫ÿÿÿÿÿÿÿ₫ÿÿÿ₫ÿÿÿÿÿ₫ÿÿÿưÿ₫ÿÿÿ₫ÿ₫ÿ₫ÿ₫ÿ₫ÿÿÿÿÿưÿÿÿÿÿ₫ÿÿÿ₫ÿ₫ÿ₫ÿÿÿ₫ÿÿÿ₫ÿÿÿ₫ÿưÿưÿ₫ÿưÿÿÿ₫ÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿưÿ₫ÿưÿ₫ÿüÿưÿüÿüÿûÿûÿüÿùÿûÿùÿûÿÿÿøÿûÿưÿøÿüÿưÿ÷ÿ₫ÿüÿ÷ÿ₫ÿüÿøÿ₫ÿûÿúÿüÿûÿÿÿüÿüÿưÿüÿưÿưÿ₫ÿ₫ÿưÿưÿ₫ÿ₫ÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿ₫ÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿÿÿ₫ÿ₫ÿÿÿÿÿ₫ÿ₫ÿÿÿ₫ÿ₫ÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿäÿƯÿùÿ!%$" ₫ÿûÿøÿơÿóÿñÿñÿïÿïÿđÿïÿđÿïÿđÿđÿđÿñỵ̈ỵ̈ỵ̈ÿóÿôÿơÿöÿơÿ÷ÿ÷ÿùÿøÿùÿúÿûÿüÿüÿưÿưÿưÿ₫ÿ₫ÿÿÿÿÿÿÿ₫ÿÿÿ₫ÿưÿÿÿÿÿ₫ÿ₫ÿ₫ÿ₫ÿ₫ÿ₫ÿÿÿÿÿÿÿÿÿÿÿ₫ÿ₫ÿưÿ₫ÿưÿüÿưÿüÿüÿưÿüÿüÿüÿüÿüÿưÿưÿüÿüÿüÿüÿûÿüÿûÿûÿüÿüÿưÿüÿûÿûÿüÿûÿüÿưÿ₫ÿ₫ÿÿÿ₫ÿưÿüÿüÿúÿùÿøÿùÿúÿøÿùÿúÿûÿüÿ₫ÿ₫ÿ₫ÿüÿüÿúÿúÿùÿùÿùÿùÿûÿüÿ₫ÿÿÿ ÿÿÿÿÿÿ₫ÿüÿûÿûÿùÿ÷ÿöÿóÿñÿïÿîÿíÿ́ÿ́ÿîÿîÿđÿñÿôÿøÿùÿûÿÿÿ  ÿÿưÿûÿ÷ÿôÿôÿóÿóÿóÿôÿôÿơÿøÿùÿúÿúÿùÿøÿøÿøÿ÷ÿøÿúÿûÿüÿ₫ÿ  üÿóÿéÿàÿØÿÑÿÍÿÊÿÉÿËÿÏÿÓÿÙÿáÿíÿùÿ $2>EJMJFC?>>??=;4(ûÿáÿÆÿ§ÿ‰ÿlÿSÿ@ÿ-ÿÿÿư₫ø₫ú₫ÿÿ0ÿYÿ…ÿ¸ÿöÿ@˜̣O° `ÆÛ̃ÇZ ´PßaØÿAÿœ₫éư,ưoü¹ûûŒú,úúúSúÉújû6ü,ưD₫mÿ˜ÀàëËuê3TIÍu—~ëR° qâÿYÿĐ₫O₫Ưưsưüühü¹û÷ú&úBùUø}÷ßö“öö₫ö»÷̉ø>úđûÏưÆÿĵ‡ me [ c ) ¸  ^„™¥ª««¶ÔKÿ›₫üưuư₫üüêû1ûVúUù-øîö¹ơ±ôôó˜ó¯óEôTơÇöøœúæüRÿ½BBù J 0 ² ̃ µ > ‚ ™ “ vIä¹›‘Ÿ½ÿê₫+₫ƒưáü-üTûPú(ù̉÷TöÇô`óJ̣™ñZñ›ñḳÆó„ơ÷³ùü·₫W̃H’© ` Ÿ jÏ̉j ’ c  Ä\₫·‚V/ ÿ7₫PưaücûKúùª÷öôị́‘ñđđÿï€đ„ñóâô÷Kù´û?₫≕å ơ ¡Ñ~­bŸz ơ V¿?̃‘I Ü₫Åư¸ü¦ûˆú^ù&øØöuơộjñƒđđóïfđPñ¦̣XôRö~øÆú ư‹ÿ  i ¥ § S‰7`5ơk ¸ ú 9~ÛXñ•@ÿüưĐü¸û¦ú’ù€øo÷\öAơ!ô ó"̣rñññeñ4̣dóéô¯ö¥ø¿ú́üÿM}®ÓƯ ¼ _ ¼µ:DÛ ç  î K ©„ ¤O ÿÑư¬üûú¬ù¿øƠ÷îöö$ơBômóẠ̈X̣9̣j̣ụ̀îó=ơÚö§ø•ú›ü£₫Ÿ‡Z"̉` È   Ă -<ö ` ‰ t 2 Ơl¡?ç]ÿ+₫ưéûçúưù$ùUø–÷æöAö¤ơơôTô<ôcôÈôơ}öµ÷!ù¬úKüđư‡ÿ‰àFis_ 3 á j µ º ƒ  i ‘ ŒsLƠ“TÛ₫°ư–üû¤ú×ù1ù§ø8øæ÷¦÷z÷Z÷F÷L÷n÷°÷ø™øJùúøúîûéüèưä₫Öÿ̀¶–f=́µw$º M M  º(g¥ ”|m`UÿY₫pư üëûIû̀úrú0ú úúùúùúú+úIúhú”ú¾úóú:ûûđû\üÖücư÷ư“₫:ÿíÿ¨`Í‘Lú—( ̣ưµCµsÀ \ºqÏÿ5ÿ₫₫tưóüƒüüÅû…ûWû9û'û'û7ûMûiû‚û«ûÚûüQüŸüưlưßưY₫á₫eÿäÿ\ƠRÉ5¨ö]·:OO3°OØ\Ï9¦êÿZÿƠ₫X₫êư{ưưÊü†üLüüüêûëûïûü&üYü†üÇü ưbưĂư%₫₫₫₫uÿâÿYÀ(†â0|®Óđ ëÊŸo&Ö}'¿_öÿÿFỵ̈₫¢₫]₫+₫₫́ưÑưÍưÆư½ư°ư±ưµưÖươư₫B₫r₫©₫â₫ÿKÿŸÿÙÿÿÿ)aŸăDw¦¯ÆÎ̀ư¥{O#úÙ—eüÿÏÿ¤ÿ‡ÿ{ÿMÿ-ÿ(ÿ₫₫ÿö₫ë₫ơ₫ÿ ÿ!ÿ*ÿ>ÿSÿcÿoÿ‚ÿ…ÿ‹ÿ¦ÿ¬ÿËÿÓÿøÿ₫ÿ 4dw¦ÁÂÂÄĐèđĐÆ”z0,ûÿ̃ÿôÿËÿäÿ´ÿêÿ×ÿ+b2~„ÿ¼ÿ›5öÿ¬ÿÉ₫ƯưưOưˆưØ₫æ₫ˆÿŸÿ›¬ö# Üÿÿjÿ•”ÿé₫!ÿÿˆ̣«‡£₫J6ÿƯĐ”üÿ›ÿ[üPúü:q¹5ü¢ÿáƠư $ÉüÀ`ø±ư ÿEùÏ÷eöª₫₫úêsÙè+ áKØ;‹Zưövü¾ụ́úĐ÷+ø”ñsîÖñǾIíVízñ¾øùÉ!O)51¤2j+Ÿû½öGéAă à àBâ ï;ûd¯ :87›½ø1ềÙ“ÔÑ÷Ñ%ƠñÜ.́£û„‘C‹D/DæCBÄ/(7ûqđUÚÓñƠzăÁí—̣LœzD¾ưÆ ÿñ÷2ïoç3ßÙ’Ú–×âàêä ëˆïôơvư ̃/W9@2<—>]1²é5ÿ̃éßàâ1́:đáđ ư yo¹„ư퇟ÿTô+đÓßÛĐ´ÔÓÙ™Ư/ăRê`ưNÓ%«IM=ÙCs:`0\3̣åôüæôâ«ê„ôA‚K¶ 6aùT́‚í₫̣”úe sk %ùAê×ÎÿÎEÚºäé öчA›B«8>7&(løñ‹đ¼̣¿́Íø‹â {@ơºé"á®äṭé₫µ:"µ#‚EĂíƯ†ÏÎ5ƠàŚúïíôúa &!;3¼,%5Mfơ ư€üÎ₫Æ ˜ Aû§ô¼́æ»ăSëñûz?Î₫ù ÷æ:̃BÛÊÙ·ßè€ô…öjëRôô÷]h8œ5^:ü'Fṇ̃ø‹ờ! /’Úÿ-ó†å3à äËêœúƠ qX×p TöÉæŒçÈå÷åçäæë¶óǗöéxñ…Å,î=¦:.Ö ¯ôíđPÿ́ èf"Zxë ß²̃„ăưîúl ^Ñúxí<ë̃đáVéå×åÁëOí3ç)èẒ̀C~CW1ráự@ü c¹ÙîêÜ Ưç·̣₫ùîA » âvˆ Zùó³íoèœâzå~ẹ̈ăđ ăiæHô‡^F¬G/6‰æCö<ó5Ä|!+‰“̣vââÙ²à%̣}₫ǃÙ̀9úS‰₫)ơzí6íŒé–ç¾çỨóý^Ưâ V@—OS:†4†ụ́̃Q₫ºN#wÿDơÊçÓß%ăï†ưçÿ₫r₫Wµq ùÂư…đ®çéưè)ëOơ ößí ÛƠ(ïă ®MNç0”\ûùñö÷z"j$Nü è<ậä́đgù₫`₫uúËûĐÓ Æ ,ú!ñBíxîßî[îöñïñ­ëJâçÚñƯd³@…M¿8ưöJøm ‘₫!1ôï{åùå/îöA₫£ú̃ôçöäô Ê ưïñŒ́pïơ\ởđ`íë§èă…à¡́‚!tH]Fä(‡$ÿP2 º* ̃óGèLêÅï"ôüö.ùióVô—₫%́ûĐđ{ïSñ*ơeơ îQëœ́jî>éƯÛ ï{%F4B€ÔÉHD  kÄ:ơ‹îï}đỢù<÷ óuöçÿŸ ƒ ‘iù9ñyï9ï•óDơđǾîî‰ëTà¼ă£ Á;:B6'vJó2C Ñ W†ụ̂́Đñiô`øù>ö*óƒñ8ûë¾n½ưø̣Úï=ñ±ñ5ïđrđaé©Ü*éܨ:½2!уÿ© ê åFU– !ù´÷øÓøĐûÂù«÷5ñî¯ú¿ÿÈöư‰ớơ¯ó¸ơFơbñỤÿï íä+æ–'¨4è#\¸¹₫1 ˆ· ¬ÿMúhú'û7ư€ü&ûpöhñ½óêù•₫ ₫Yü¯ö(îNîṃ›ôä÷Pớëßñư +!,Cê₫/ÿđ ‚6útúXüư—_ûPô»̣íölü'iüíôh́cë~îñÖ÷ ú±đá0÷V;-ü'̣‹übhSªïªZ§ø÷ü>₫h;øộ)ơ#ÿ" ùmđAëaí‹ïó ô ́ƒçtñ ¤*Óî +á&< –råLû)÷ú/ÿÉôûNơÖó¡úBe£ưfôí˜ëîë&ó„̣îÑ₫°® =Kß ŒưƠ À b Æ56üYöe÷U₫hï₫œø†÷Êúëú.ûăøaøZơrñđOơEđÄùÊ P") NLd₫Ṿ! dê₫“ưm₫ûƠø—üíüŸ÷@óơaûßûÜú°ơ‰̣Ÿñ–ñó€ówtr%"Ù Ÿdj₫œÖ? =,ù÷¿ú²üCưkưú,öẸ̈Ôô.ûüùöñ›ëí́Jđà÷ r!(v“ "3ÿ”º I) $üù=øiùCüvü÷đññuơˆùLù¤ô·ï¹íđÙđsx#+9Öºưbú…l n 5 X ñü¼úíû×ü¶ưÍ÷ḷỌ?ơđø<øơ2ñ¸éPëÓíFĂ!¨$ë%„ÄøÍù– R ø?ư₫íúVù€üÁ’₫Ÿö₫̣ăó÷Nùª÷ö6í¯êDéíú0&j öƠôúù4­ 2 • T₫YöƯ÷ƠûĐÿ́ùSô8ơÈơ.÷7ơ•ơëñï=ëµú­&‰× û&øÇû‹ B ª $,ưjúa÷†ùÏüƯü øeñ ñ¿óPööøVø¹ñùîqêC;#!M¤ Ư₫‡ôÖüÙ ó úØûô8ùçûƠû̃ọ̈̀dó¤ó ơWơ:đÓñ•ó¢ñ:R$û Î  Æüyö/6 \ \~øÎö^ûĐú—úôôoö—ôơ ñ(ïơ$ïJö%pÔ Øÿ`öZÎ+ Ajăù|ơ[ûg÷ùføóóÉö₫ó‡ôÂñ-îị̈øôjù"tŒ˜ÚùŒ÷d¿ÁM Lđû́÷ új÷tøåø»ö_ööóó₫ï‹ï™ôÍó·º ú̃́ DùØö·G¶! â7†ûàúÈúsơ¯øøÄơ~ø!ö£ơÅîÿđ`ôønœaư! ơkọ̈üû>ø •rœưƯûÛ÷fô„ùùơö8úÏ÷ólïwơ¦óÖư™ ~ôƯ÷ú÷ øˆø S 1ÿˆüu÷eôqö ơdø|ùƒøÏóøñ¹ơ@öUûè\¬ưùùˆ÷ß̣ö÷¯ Yú0Úư ùà÷fôô<øÀø-ù‰ơ¢ô«ö:öA …‘ø£}“üóøüñ,ờüùû ̣P/ ưâùÉơóˆö8÷ ø ÷Oơ÷±÷ËYAè“ ‰ÿû]óặÖ÷H÷ĐüÆ…LßÑÿ¤ú÷üø:÷±ö øWô÷gơ0 uIRÁ½y÷ ôàôsñ ÷ÏưÁ₫Cu¡Rưùü‡ùÅø¿ø2ơüóæöÅóßÿ tF¹)ˆư ,·ú¿ö"ô}î{ơ&øˆø¿.€/4₫Å₫rû_÷§öƒô¹ô±ô{½Ññî; m§₫‰ûXơ6ó;÷+ôWø›ü¤üÔ œ:œǜùù{ôMöÿlüKæ € ¯¾ƒ ° ’|€û¶ùUøRôy÷ødø ư¶ư—]…¨ÿ\üÉúøíúLư;ư„Mn¹ ¹ ² :$« ₫‰ûÎùÂùÎø4ú™û!ü ₫₫đ₫jÿÆư¶ư,ü‰û´ÿư~GK …׈l╪₫¬üªûbù’úú¯û0ư$₫cơKuÖ!!ÿ7ư¯û«úùºúrüHüÏV2úÙœàæÿy"ÿn₫ü)ûàúfùÖù<ùøøö)úµú̉ú"öÀ “Z ̉ Û  ß«³ ÿùú7ù÷jơ†ööÙ÷0ûƠü­ÿ\ņC¨Y_cñ₫́₫Eươư₫Úüù₫-ưăư₫ühư†üäû?ü´₫Sư¿ÿ p‚i™&ă"£¿Cö¹ÿ·₫ŸüEüåûÖú´û­û$üÈư₫AÿÛ$øx4>á$ëÿï₫F₫Øư¥₫§ư•₫·₫S₫°ÿ¹₫\ÿÿR₫"ưZÿ_ưeưîäüHp̃b¥˜Q2 ½±»ÿ@ÿ“ư–û9üôúöútüÍûư™₫‚₫7̃«ï·gƠû—|tÿqÿcÿ¦₫ ÿ ÿbÿpÿ ÿ ¿ÿ3¹ÿDÿjÿbưQ₫3₫3üDÿưúưŸ₫›•éQq¥c̃€äˆÿ]ưqưOü‰û«ü1üôüS₫"₫¨ÿkÂrÖ¿”†ÿmÿ#ÿñ₫ÿ÷₫'ÿù₫Lÿç₫ê₫_₫B₫áü₫´ưnü¾ÿ ư*ÿÿ8¬”Ç–¨a†µ‹HTsÿj₫sÿ¼ưT₫ÿóưOÿ¿ÿ-ÿÎT_‚½1‹k¼"ÿÿÎư¹ü§û³üoú?ûüÆùÀưxư ư\˜ÿƠ…ËRAº©£¾6vK¸oG¹‘­ ÿ”₫¥₫ ü6üüËø6ûóù ù”ǘúứÿg₫(‚z£­Ü½åïÿÍaÄLß= 8INûÿ{ÿÚÿ(ü–ưûWù¯û ø£ùˆûæùàưÁ₫ö₫iá¸? iQS íËïYRDF½ ^öÿ̉₫ïü4ûúGø#øÚ÷Ê÷pùƯú›ümÿ° û  å©)b à\NhN;U9ÿư<ư„üÍøŒû*ø5ù6û­÷ûjûnüËÿËÿ–øAd–Üe±U:fD_‚qεBb,ÿxüXưŒø~ùZøíơƯù´÷Úù üxûßÿ…•d ïæqÆZoB8đêS°\ưü’úsöq÷ûôĂôøØöYúôûƠü3DlĂ)̀¶±ZQ§w!r¼°ki‹ÿIưÿù‚ùvöÇôMơ3óö÷ùüûÈửÿ¸-ÏÂûŸêpÉŸ«5QĂUÿLä–›¢₫tưBú3øÍ÷Óô ô ơó×ö‹ù_ûTÿtư 7j’z… ̉Û ÛœfcÚ` KÿJ₫úçø ơÎó9óMñ{̣ ̣˜ôD÷ñúT₫4ë]™ Đ # ç $ {A\œo„÷_DcC†5Af₫ ươù·÷Tơ½̣Œ̣ÛđLñx̣dóaöÅùÖü¤CB ^ qM…=t ¶ ‚×íaÿkÿ³₫ ÿîÿÿÑ•dëÿĐ₫ư»û!ù́öơ_̣«ñXñ=ñ‘̣ôgöúùMưØ£ à„0³y¢Á è „à3ùÿ₫>ưưưüưîü]üüZû/ú9ùh÷ươ™ôụ́-̣ˆñẸ̈LóÆơOøûn₫5l t ÍQy,¼ K [[½Đ₫ư?üîúû'ú]úûù¢ùRù®ø øèöúö‘ôRơ¾̣ÉóÙñ`ôƠô0÷úqüoÖà P„}*̀i\Í _ °̉₫vưÈúZú%ù+ùœø ùµøùóø•ø¡ø÷O÷8ö|ơ£ô<ôĐó/ô ô¿÷ßø¿üz7đ  ¿V¶_ơ¸o3+ j °ụ̈úøø]÷Ïö§÷S÷eø®øùhùñøùøAø»ööơYôÂơvô÷®øSüU₫đÚ ï ‹~9ùÅ«Ÿ>2 rQvÿư-ùÇ÷̉ơ@ơoơ8ơ1÷¼ö£ùøLûưù$û’úäùùN÷)÷7ôơFôôÎơuùsúSÿ ‚‡»ú:Ʋv Á‰₫±új÷ïơüó̀óBôơ¸ơ*øîøú¹ûûĂûû:úøÙ÷·ô‚ộ̉üó†̣ùơ ù°ù)- ¬ 55  —̣ëv€ Ư¢ÿ>üƠöGơỤ̂‚̣c̣ëóơßö;ùoú°ûƒüÔüÿúüøøÆô|ô{ñ9̣̀ñÜñüø÷²P÷ö LCî1»èk¥Í Z₫oûölóÄñMñ½ñ“̣ơÛơpù•úªû,ư9ü0üúºùnơŒơẈ“đñ̉ïKơ5ơưxÿr ²™  IK #Ẻúêơị̂¸ïèï²ïcñ"óđơ₫÷’úœüư ₫oü×û†ù¡ö2ơñZñxíMđ(ơÀó;₫|wô _ÍÖ“ i„&Öº £ü ÷Ẹ̈¥íî±́´í đọ́ö5ùü¾ử₫Ï₫¹üü³ø˜ơ·̣̃đ†́Zđíóûđ₫½ÿ{ñgiÜ#Ô vQ( Ùđùô"ïpêáé°êÛê'ï8ókơÔúhưó₫Uuÿ₫nûÂø˜óỊ́Àí ï€ó×ñûSSàưʼí" $:  ưü ÷̉ïë?æ†å_ç¦èÀ́p̣ßơđúHÿPJ‰5ÿ¡ü.÷–öđ“î9ö‰ñûøÑ̉%ü&.$#–%ù!üí ›ÿ9öÁí­èèăüà[åMå<êüñˆô&û!6I’à½üơ÷‹øîööàđrôt¬á"*$˜$ßGç— ªë÷Jñvê7ăPááuăĂç€íwóvøÇ₫ñ;ÉÆ₫JùCø©đ½÷©ơẸ̈$̉ÿ«XZ̉!"º#‡#ÎçÈ ß>÷uïƯê»áLàUâ=ă2èZîỡø¯ÿÆ̃úú­ơ¸óOúNđ ưW ÿ V/Êă u!"`sÏ Ëẹ́đíèîàØâ`ă[ç§ëJó†øüuOÂ₫¡&ÿ³÷Üơ­÷!ǿđ₫ÿ₫c₫@ YJf sc2¡ Ùơđ°ê âWå«å^çNí¥ô8øj₫δlô±ÿGøöóZöhú*îSün‘úg Qä } ætoRM1{ơđîî˜ăKäÿẹ́ç®í ørøîúJv₫ûùĐđö(ûëôühÙù 'đ §©tœÇ+ )€lơ•́0î{åÁăcêêúîø+û{ö¼´É₫ÿÀúßîÎùzúKëÑÿ”[ú {;‰ ¨º¦H Zmô ́¼í%çùåưê%í,ó¢÷́ư©«‚Åư„üº÷ ̣}₫:óíô®Ăư8¤ưøàúå=$—ÿ²üî́1́Ææê7ísñ^øÿú¦´̀gü€ú8̣̉ûXúíđÛ ó₫G "á[èœ!T”üäüèóÄêËëÙèêˆ́ïRøeû–ư ªå)?₫ÍûïóyûÔưIóÇ₫̃1†Ùp̣ô{â„ ­ưÄúăôíF́ éHëîïÅö*ü₫üj́ÿÚ₫•úơƒÿüø;IÊ &Mû¼×ëj ÿ üJụ̀ƒîǾFéŒí„ïĐđBøDü+₫ñă₫…ưKøêù²₫úH₫’v CÜ03 5ûTơWïơïèëßëđ}ñ ơ®úü"¡n₫´ư#ư:úzö?ÿ]ưLMÍ ¿ V‘&!Á Xÿû÷HîËíFíqë#î¯đ½ô@úøû´ÿp̉ÿíư„üˆüáöĐü#fưÅ ˆ U”Iv àXûùødđÄ́¡́¶êDíßîñXøû`ưpÿ“₫tü]üHøôü²†₫KŒ M$ÀÜX®— ¤ üœù ̣*î‘́4ë¬ítîáđ÷ ú¢üJÿ3₫Åư–û»û†÷íüVă₫r†7 i ” ­§ â < ü,úẠ̀`ïeí̉ëöîï-ñ*÷îù¼ü ₫¶ü‹üûàùk÷ƠưD%¦ Êi>Á}›̀ ¼q„ûµøṛđî́Ḯđ…đỊ́ú÷:úáư#ư üûøúÜø øÿ¨˜x ƒă^a#M} Z G₫DúöÎñ€ïh́ÍíÊđ•ñ´ôøNû¹ư4üñújúkúb÷üÍ&âƠ ;ÉÑ·üD5 c¡Qûy÷̣kđ]í?́~ïàđ¢óG÷ùoư×üû&ú†ú%øŸú> ¨ Y ík¬¸„æ%° çu]ü`øṢQđÇíë.îĂïỌ‚ö{ø)üâü+û>ú¨úUø}û×*í« cÇ̃¡ öM¦üøḥ7đ¬íRëäííîÄñ¬ợ÷JûÅû/úAúú)ø3₫–…₫>|°êdÍö :·ûöñÎï#́ë²í†î™̣ơË÷ûäúBùÈú´øcúØfø ùªL(HiÑ © ;°ư¡ù(óyđ]îTêơëSíÏïÊóUơµø­ú1ùOù¤ùsøGÿsßÊ ‹°&½x“*  pÿ`ûïơSñÖï#ëÔêî́èí¾ñô=ö1ùwø̉÷|ùg÷₫åLù2 øÀ¥aT{̃&‡ ]¼æûZ÷ẠñḮåêHí îJñ•óçô×÷˜÷/öøëơPưâÀÅ7 ¼¡‹!¦ ùJ„ 7û0÷çñôđ́ÙêÖíÄîñûó9ơmø8÷Pơª÷Nơ\₫í>% ` TP1ÉûÓ û ¤2ÿ§ú¹ö¥ñZđƯëLë îüî‹ñUôhơAøơ¦ơÂöÆömÂA» Ï f-lw’xÀ µ Ûü¾ù´ôñăîÿêÈ́£î’ïỆ®ô7öÿöDồöäô6üÜÖgx ³B,ºü;Ơ …;ÿzú÷ṇ̃ḯ‚ë9î ïzñ›ôơI÷µôĂơµơÖ÷c4˜ p?ÉL0™ £®ûØ÷ˆ̣¾ï¬́„ê:í·î:đÙóÑô‘ö@ơ ơEöŒö”í©Ư à¢~@́‹*˜± Q û|ûÀøHó‡ïÎ́Tế*î(ïỤ̀èó5ơâô©ôÉơöY…ï` ‚‘ÿ=B_® 5 üÖ€û[øỤ́Cïưëêwë“íÜî ̣ÀóµôƠóÄôơ½ơ¤ ~ ’DlÁQ Đ¥)ú™÷“̣ îCëăéë́íeîÉñgô×ôºóÊô®ơåöh99l9ư’Ư;KS Ckú-÷ ñ#í=ëÙéWëÉí²î£̣ÊôÂôcô(öBöàö¤0đ óæûŦÖA jzû®÷=̣ïí́Üé¦ëpîRïf̣=ôqơÏơöÈöHöÓÙ× ? ±Æ€ ØçûÏøaơï(í́ứïYïṢƯơRơfơÇö­øàöÏú–2ä míÑ ‰ } ™»ù[÷ô(đî‡ínđñëñ¦ôˆ÷ööeø­ù¬÷§ưfh2 "_ă³Ô}«€ Mi¡ÿûïøơoñođ>đ̣̣¿ó?ö÷EöÏ÷˜ø³ùǿư–Ú ¤ È‘°ƒrÔ 4˜ư…ú"÷„ôṾíñṆ̃móô„öø!ùÛ÷ønû)üƯúưîϾè ÙØ Ă YđÊ T:u2¥ư1úøj÷)ơẸ́ô¸ö\÷ÊöJø»úsú²ú0ûTü‹ûơư‰  + Á ´  j Ư$ï1rÿâ₫ǜù›÷÷ơ‚÷ø÷bøRú/û;ü˜ùªü®üüÚúöü°AA¿ÀPß Î – r²ôÿÿüKúÇùàùú–ùÇù:üWûüÙû,û±üƯû•û9úMưû₫ñ₫ÿŒ€ođP9 ¼gáĐÄ̃ê₫cü·û\üÂü‡ûXûjüÚüü¹û†üéûPüŸûû̃ûâü ₫y₫gÿïMBFت ¸=¦̣ÿÆ₫tưÀưØüÁüüªü ừü>ưÉüăü!ư=ư†üœưÊüƯứư×₫ïÿȇ)ËnªVéçUzùÿÿ1₫Ùưîư₫Ïư₫"₫Ă₫ÿº₫›₫ú₫¶₫H₫C₫µưâưư²ư”ưL₫ÿÿ¥‚Áñ]pß9×uY;÷ÅÅÿéÿÿËÿÏÿÿÿIÉÿ…ÿQÿ¸₫Ñư‡ưHư`ưEüÜü˜ücư¦ưéưo₫…ÿd™èAçQóQÂIç ¿:èYÔmtIĂÿ¶ÿ̉₫₫ŸưwưùüÖüZü1ü7üSü³üœư3₫¡₫Hÿ`ư‰ Üü:oï²§çG^ …äÿ_ÿî₫U₫éứư~ưuưßüxưgưư.ư{ưT₫ùưÂ₫ü₫æÿÍÿ‰J̉Ù–óÓÍ“4“8¬NºÿÔÿÿgÿÆ₫'ÿW₫ƒ₫S₫"₫v₫₫¯₫Tư₫2₫{₫º₫ ÿ¤ÿ³ÿ7X:9Jp¿#+Đ]?‰3Èc.AöÿÛÿïÿ`‘ÿ…ÿ'ÿ0ÿ€ÿ¢₫|₫#ÿ~₫₫:₫ëÿ¨ÿÿÿ̀ÿB}ÿNÅÿ̉YvÈÀÿ3#îl¼₫’>VËƠÿVØÿóÿ̃ÿ ÿ ÿÎÿî₫₫ÿÜ₫°₫¤₫ó₫æ₫îÿÉÿăÿÁÿb|˜µƠ æSËêv†’7[AË»Lµÿ(₫ÿ‹ÿƯ₫ˆÿvÿ÷₫ÿPÿ­₫Fÿµ₫ö₫¾ÿ3¥ÿûÿ „´…yùÙuÆt…êÿlæ·ÿ¶ÿÔÿëÿ¯ÿ'ÿËÿ\„ÿ©ÿ?ÿ0÷ÿ“₫–ÿ¼ÿXÿ^ÿ²ÿ™ÿîÿ¤ÿ²ÿozÿÿ—Î!7í½ {îVƠÿ•“ÿwÿ2ÿ°ÿ ÿ(ÿÿ°ÿ)ÿµÿÿu”ÿ£₫9kÿ×ÿôÿ̀ÿ§ÿè₫³ÿÂÿÿ;`óÓ¥ÉNđ§Đ§+Æ3€ÿ ÿoÿù₫₫«₫̀ưâ₫e₫8₫/₫[₫•₫£₫6₫Ä₫ ÿ?ÿJÿ=ºÿ¤ÿ2Ö«ä)VÙ%²­Âÿ·ÿ₫Éư¿ưưCưÀû†ư:üÅú½üùü ư§üŸưÎư©₫™ư†₫êé­†¨­Í÷øƠĐ7Æ₫Œ₫Ûÿü0üư;ưüúü2₫\ǜư?ư‰ü™ûĂû\ûVúø­úpûÄû\ÿ?3 „ V  ˆ _ » ؾÙÿ<üûù øI÷Aù¼úđúÛư™ÿ̃ÿ!­p₫;ưü8úD÷üöö§ô†ö5ư–ưô¬ Æ ê ­ˆ 1 6?₫Üúô™ó§ñˆï»ñ“ơ•÷|û!azÀƯmÿ8ư-ùàöôHđ:ïyơ ú”ûƒ> p[ÿÂ$S)ŸmÿFùçóJï?́¯ếyï×̣øGÿ V9I·“Ưúk÷"óIîzêœëßôÚø±üƯT:Ë0 "ˆµ¤' ̀ù~̣íÿæ>å鿥ểî”ơ“ưη0 ß )@ÿơøóÖîVévä’äF̣8øSû[ x] ¯&ú(o$ bƒ Ư¤óĆĂèơâÄ̃ă1éí´ơæÿṭư£ c¯ùØóî́׿oăhà°áị̈üLÿÄm"e$ &3-$,a#$8—úÀíôå^ăpàưÜââ.́¹ñPùÄz ­ï¬v} hø†đ¯êå•àmßú̃=â¶ọ̈¶Ç+f.ÿ(†-`.º!˘ ió«èáÈ̃FàXß”â™ípøGư?!Âă1÷ '.øđéhäxáùß}ßjá>äø¥ ¯O,·7¥+ă&/- %?Œÿ¢̣Ÿå´ßÄ̃íßÁá¬ắøÚDF‹2'Œ %Dø@ñ:́äFá™áÅàçßåKê²ù¾›S)9Ê/‡#£&‰%6 ₫~úNó<ä>Ư”̃<àÂáæó́÷D •ªO<ë̉z4û@ô«ïéÿáöàăä»ă‚ç]î•÷¾ Ïéñ Î1‰3P$ ë!”LÏöÙôëß̃qá1äpç_í`ơáÿ( ekJïWª Ç0úđÀïÁ́êåăùæêéLê ëjïăô÷üv ÉÿưÛ' * 9¾øwôÎîăç̃å&æMè̉ëñ̃ö₫ưe) Ô)×c ̀åIû¤órđĐî½ë]è¿è×ê‹ëêD́đ·ù¸ (2Ê‹'O)2X´h„ü.øÈđäèÇå?åơå¯é‘ïwô)û‹6 h̀‰#[ ₫eö@ï,́́êºçœä‡å#éâê÷ê÷íôµËẁ0#*Í(›E¨¸E1ù€ó9îé̀ååÿç’íLó^øÿḠyµ;P× ùâÿ¾û?özïîëßëë„éœè³êVîñïăđ9ó®ûZ [±Ä"4("¦2˜t …ÿåöúñ îÏéUæ_ælêđ«ôOù&ô. ü \ăࢠŒbü̉öWđ$íSíǾJêéyëüîđăđ̣óØü ™ í#1(d"„Ui ₫”ơƠï4ë<çºäå éï•ôđùê;pƒ?Ưˆü ²sü„÷C̣‰îRí`íắ̀ëáüîÖñụ̂”ô6øG^Ó₫=œ$±%Á—[·Ÿøø½̣üíMéÍå±ä­æ¦ë’ñÓö ưJ{ »Ûû_ ©ô₫¾ùoôïÁ́ÿë‡ë…ëùë̃í%đ,ó̀ơÏøœû¿—˜S¯"r$r§Û9 ọ̈÷̃ñwíîéè™çé0îÜô ú×₫r™ SHv@5, r8ưç÷Ûóüđ©î î‡î ïâïzñró ơr÷Àụ̀ûĂưw1ëu6!¥ L¶f[ «₫nöÁñ{í êfèè¶êFđüơ)ú²1 5÷){/ œŒúọ̈ïäíÑírîùï®ñóơ=øÆú˜ü˜₫“[W»|Ớd  z.úVó±đ‰íyê•éơêÑîªô´ù₫¡́ ƠÛ  S”îüƒøíôˆ̣»ñjññ½̣ơăö–öø8úûåúÉûiüM —³Œ¹=Ÿ)ê £₫g÷ỗđ̀́öêAëWîtóœ÷Sû Æ ù ë |. æÑÿÖù/öËô2ôóóôçöÀø₫øbøäùDụ́ùœùßúûúóÍ ˆÈ‡O£C„₫ÿ÷ÆôVđḿ(êƠêCïÜóàözûZó < ư „íi |ÙÅƯüøÏơöôYô‡ó€ôÿö§ùiú_û$üqüvûËù,ùúù^û²ï 5™Œël¾j ,Ïû¦÷óÊîëëë`îƒ̣ơ"ùwê÷ ̃ —êÉ Z tƒú₫ûÏ÷{ööäôêô°÷aùÚùŒúxüRûúÄø[øÀ÷cø0ø´ÿ¦ Ñ k ¶Ï4eëÏ}È₫åùµốï¶́Pêåëđ>ó8ö₫Q Qwÿ #ÖNäûYø÷ëơXôEô÷£ø#ù^úÎü8üsú´ùùx÷›ö:÷Tú V Û *ˆ¾v}‡ "ưæ÷Ị́îêóé<îRđṃù—´É B›© µ Ü ₫µú‰øLö ôëóíôö@÷•øKúæû<ú@ù«øZø÷ö¹÷ù¬î t às|åô¬;f½ù‹óyïăê¦è-́lïyđ÷/ D&(¦µ ‰âjÿTúÏøüöIóạ̀ÈôaơöøSú&ûäûÔú£ùÁøÑ÷vö¬øü ¹£ư=O)à 5ƯưƠö±ñíƯè é΅rî¿ñMú«ë¾ ú°0ù ñ1­ưúÂø\ôäñóôtó¼ơø…ù0úßù¿ùCù×÷ÚöUù$üB? ™>́?ʆ^É’ÿ¿÷÷ñÁí“è…ç\êć„ï÷₫öÊ ñ¡w[œ+ OO“ư¦ùØôḍÙñéđ,ñọ́¶ô9öª÷ˆ÷™øóøøtøöû ÿœPk]ïÀŸ{¸ |÷₫Q÷̣:íSèœçèé„ë@ï'ö!ưb œ (üĂĐ7 污ÿ‹ùØơợ{ïAî ïÅï^ñịóÚơµ÷N÷‡ø>ü¼ÿ́  °KQsIXc åxü`ơKñź&èèùéḾ>đHö3ư˜₫â 7—|j–% w:ûXôDïí́ZëëÍëÉïṇsóÙơúT₫^'Ô V<¼œ́*üw  3f₫µöaóúï(êéFë°́CïÙóÑù?îsk Æö Œ Eâˆû÷ơ:ñíÀêÀé&é‘ë—î¬đ‘ô_øüP®= œµ³wµn, GBún÷ßôIđOîAïđ)ñíó×÷¤ü…UV  ; Á ¢_×ưOù6ô®đ_îUíîèî'ñ5ô”÷ú₫ƯOª ø»ÜÈ@:  DFÊÿ\üÂû0ùßơ*ơ²ơÖờöø(úF₫GÄQ[âăa/ÿ‰û3ù÷ ôÂóiôXơÖơY÷ ù^ûdư%ÿ¾Ác¦W ă  Ùh ( g\üB±¦Ûÿt₫–ü6ü°ü%ü,ü°üƒưö₫zÿ~ÿü¹9¢0?ÿ ₫đüEûßúeú¢ùmù¨ù˜úûIûßûCư’₫¼₫©ÿ¨û?̉'¿mcŸ0 ¢ÄD ¢đ‹*"~Âÿnÿo₫₫§ư₫NưYư₫ư*ư₫"ưâư¨ư₫ëüRư/ưnưü´üëüpüÂüçûkư%ưƒư@ưô₫¸₫¤ÿ& ̃į†0 ‚ØÄc˜dRMB|i·OÿIÿÿÿÿĂ₫9₫}₫`₫₫øưªưÚưvư5ưưưDüàüGü5ü1üaươû¥ưăưg₫§₫_ÿÈÿm5rØFcØêJeAXó(ư¾¸mfa»{̃ÿ°ÿơ₫n₫̣ưv₫7₫sưüÂư~ưư®üGưä₫ºüá₫"ư'.₫Ó₫A₫₫‹ÿ¼ư₫₫8áưœ₫sÿ”œÿÁÿă+³̉oÉ*ĂS"GÈ1ăZÿ1ÿdl₫;W₫âº₫¥ÿ₫aÿ#×₫±ÿ̃₫SÿÏÿfưôÿOưYÿzû‹₫₫₫ư‹ư:ÿq₫­ÿ₫Ù~ÿ€eMGI}́Ø?°§\¥"“sÿ1ºöưl¾Ñ₫¢V¹ÿ„¦ÿñˆº₫Ñ`̣₫₫₫̀₫Í₫§ÿ¤ưr₫æưÿÿdü#ÿçöÿ¶₫{ÿĐñÿ¦ÿÊÒÿøêÿ³ÿK*ÿw‰ƯÿŒÿÿĐÿ`ÿÿÜÿ¢ÿGœ63µ½ÿ³ÿ×¾C0ÿBÿPÿQ₫pư+ư‹ư÷ưV₫~ÿ”'íƯ&—Í¡v§ÿbÿAÿæ₫²₫ç₫Fÿÿ’~8‚<Ăüùÿ1QøÿÏÿ˜ÿQÿÿ2ÿVÿ~ÿqÿ”ÿ®ÿ̀ÿæÿ*̉ÿƯÿ!ƠÿÂÿÑÿ .öÿ\-{ud„Hy04÷ÿ)ûÿ)6:E:̉ÿÉÿ»ÿÀÿ™ÿ˜ÿ„ÿ¡ÿ›ÿ£ÿÿ¾ÿÄÿ̉ÿÖÿ×ÿ×ÿâÿ́ÿèÿíÿæÿưÿ #3@PbCUPO4%("%885)-)ûÿñÿñÿ́ÿƯÿ̉ÿÓÿÅÿ«ÿªÿ¯ÿ°ÿÅÿÈÿƠÿĐÿ×ÿÈÿÈÿÁÿÅÿ¾ÿÆÿÎÿđÿ ..ABO=;(#-9BCWWRG>'ùÿèÿ̃ÿÎÿÇÿÀÿ¿ÿÂÿ»ÿ½ÿÇÿÙÿÔÿÙÿ×ÿƠÿÍÿ¾ÿÎÿÇÿÊÿÖÿáÿëÿûÿ    -5@KPMH4' ̣ÿ́ÿíÿíÿæÿàÿäÿëÿéÿëÿçÿôÿơÿíÿñÿöÿùÿ́ÿîÿâÿèÿßÿåÿïÿâÿéÿ́ÿéÿÓÿÎÿÅÿÍÿÍÿÚÿëÿóÿ.<AI@@<>2 !%'4016(&÷ÿóÿíÿíÿëÿßÿèÿÚÿéÿăÿ̉ÿÖÿÎÿÎÿÎÿÑÿÔÿƠÿºÿ¨ÿœÿ§ÿ¶ÿ°ÿ̉ÿæÿ!/:AUBC>$%,úÿæÿåÿ₫ÿ0DHB$üÿëÿçÿÛÿ̉ÿØÿÍÿÏÿßÿáÿưÿ ₫ÿ́ÿÓÿ¨ÿ´ÿ¯ÿÿÁÿÆÿîÿ.-)!K:LNZAZX7@He&O7Z S ­Ú†ù;ÊyüØö…ó÷7ơ‘ûk'₫R¦ ±÷ç€Øó&l –đ”IîZ+öÓĂ ưÎP ÿ̉÷ólư;÷½û-÷KÿCüÜơÿ´ưJøÜ¯|₫d=Ùáø₫ByÎ₫Ñë×›₫₫ŸµUPèùHơöøNëơbúñÿ́÷Ç₫V¢ÿ9;9óÁörNíû₫dü’₫Ïúàü´ÿ₫Tc›₫»KYÿ üư[ÿư½úmÿ©üÀ₫ăÿ–ư±;¬Ơµºéÿ(F₫P₫Đ₫Où ü¥ưUư&mÿaèÿBÿǿ騩ÿ´ü•ÿóư±øqûµü­öU!üÊưX‹ăƯ¤È˜Hë ₫Ç<₫Ơü‰₫´₫¥ÿñíèíỵ̈Ơ!ÿàÿq@ư‘ưàÿ_ü̃ư®ưØûeÿÓü}₫đÿg3> “Yº úO­̃*»Otÿ¶dè₫%‡á¸ÿÅÿ×ưư₫åû'û:ûú#ø˜ùøÉùùSúÚûºûu₫́₫€ $Èb( e ọ̈–o G \•Í^₫û'ø³ơóïÂíˆîíśmđrđđZơÓö ÷₫ùjûyü2ÿ¤ÿáL‚̣ $’{éß7a¸ ñ±üpø€ö¬̣”î½í`́ëLë́·́íïbï›ï‰đṭơXôøxülỵ̈1 ˜Â¾"Í"‘!Ó j|•í cÿü̃ơQó“đÚ́úê¾ê,è1çgç'ç–æ‚çVèé5ëLđ¯ï>ơ₫h₫¤̉ø5Ë$&Ú#²#ü")Üó ? ¢O×úø öËï(́Ếé?ăxä4ẵ̃³á_áTăüé>đṆ̃*ûn lá€D$×$n%m&S#($â+  8Í´ ÿQú÷đ̣î́é"æùà̀Ü«ÜMÛÈÙ3ƯÖà%ạ̊ê@đˆøEa nđ $û$̉%2&$#„óçsü ¸ Q]‹Ën₫£.ưIô]ï‚́¥ăÅ̃†Ü|Ú`Øu×êØƯ!á¬ç¯îÈû= ¤½'è(s(O,')Z#Ë…× ÉưüKü­ûO₫D©Ă+ÿ½ûEơ$̣́åwá!ÜAÚŸÙ@ØÓÙÙÜCàUè=î±ư› |(Í(­(:+Ă'¥"@ C O^*ü ú‹ú.úóú¦ûŒÿáJÿB₫yúºơï…é¼äÂáànà³ạ̀â†å8êGđ¨ơÄ 9V÷  È ư³kŒ×A ”ơưÿÔü3úÑøø—÷¼÷•ø̉ùưûBüüưPüàú ùJ÷,ơ‰ọ́uđïPîíDîKđôÏøËưê> ñó@Oß4jüÀ. ÇÜU$D₫íüÍû.û̃úqûülươưf₫ ₫éü„ûù÷•ơ‚ókñ¥ïóíǾµ́î"ñơ‚ùu₫’êĐ o5(ú . ÿ ˜x¸ÿp₫vưÙüÉü:ư₫Iÿ[)yÖ€ÿÂư_û˜øèơ\ó¶đBîŚ ë³ế#ï÷̣¢÷×üó…Ư Ș…§Œ7p‹ Ë]A‰!lÿ-ÿ7ÿ¢ÿ1—‡ávS₫ºû·ø£ơ·̣đuíhëóé.é³éĆ đ¦ô'úÅÿÆ: , Mw¼<ÆI ₫ ‡rÔˆw§%ÉzFRŒ‰hÿ6₫Güđùz÷ôôṣ4đMî¯́cëªê ë,í‹đœô·ù ÿĐ1* 9çÖ÷ÜÏyå > ñø9¬>-ÿ‹₫ûư¼ư»ưêưc₫®₫³₫|₫{ư×ûüù§÷ơẠ̈¨đ§îó́ÁëRë9́Íî{̣÷•üÚ™( üAŸơ7UÅö Æ Äc=BÈÿ₫“ưư¶ü›üéüKưÉưœ₫'ÿHÿÿ'₫§üØú‹ø&öộđîdíđ́ÔíIđÎó?øUư0«à YQŸî?ṣ à î†ENÈ₫pưvüúû»ûăûüIưE₫ÿW¹Ö ’₫ÖüoúÅ÷lơộođmîá́́¥́êîṚÇöøûĐE |öbÁ́H@ ́ Ç3íôÿy₫Pưyüü ü[ü"ưÿưÿMdVeÁ₫Èü5úc÷âôỤ¼ï¬í-́TëØëî‰ñéơû|_ä î %®t2ßp$ß ¦¿;ưÿ”ưZüxûûûjû5üMư†₫{ÿ7ÿI₫ü4ú—÷ơˆ̣æïµí́>ëë­í@ñ©ớú¨ÛŒ û–:?Fơ’1́A  ̣É™ưœûúæødø†ø!ù_úü°ưÿZÆÿ¯₫øüúç÷Eơ‹̣Óï–í.́­ëݸî®̣X÷˜üb¯ 7¢×TmËS\ í²̣₫§üµú2ù/ø¾÷é÷¸ø7ú ü«ưÿA¥ÿ€₫Åü}úđ÷Wơ»̣Vđ‰î³íÎíưîhñ(ơ¨ù"₫öŒ@ tGUuđpfàñ Ø¿Ö`.₫Fü«ú¡ùùù·ùéú]ü¢ư²₫jÿXÿ¡₫jư­û‹ùA÷ơặ,ñöï›ï đhñó˜öoú0₫ă1 Ä  M꺜øÉ A ~ÊFT₫Ñü¾û ûÙúûÁûü]ươưưư¢ưÈü…ûúKø²ö'ơØọ́̀;̣)̣©̣Öó¡ơÙ÷”ú¯ư¯[ú² € (lí×å` c  ÍEæNú₫©ứüü(ưÍüq₫æü¹üjư„øù0öÏơ(ơ£̣GơvóỤ̀æớó‚ơ/ø9ø¿û—ưÄÿ’g ¨ Ù j hD3³ À ³  CD31₫2ưÆüœûñûüAüÎüøü.ưÖüÊücü”û6ûtúÊù0ù­øÏ÷Í÷Í÷œ÷ö÷«øbù<ú:üÆư*ÿ.bwâ s ×  0 ¤ f ©ZáRư1ÿv₫öư,ư&ư#ưrưøü_ưªư*ư ưư…üü™ûûzú6úœù—ùNùùçù‘úBûưûư:₫¸ÿd§¯Ăª  y âöN1SDÿ ÿÀ₫₫/₫g₫̣ư9₫ơư«ưhưùü)ư‰ü’üsüPǘûü>ü§ûCüÔüưư₫ø₫´ÿ€€ 3/cB4U…뿵­¯x›2«8äÿ ÿù₫¼₫j₫xưQưưÿü²ü5üóüîüưHưkưĂư5₫Q₫»₫ÏÿeoÛù±³â9ŸÑ„®(ï12.C²̃­̃‹˜eơÿ Nÿ ÿ§₫ú₫×₫t₫₫ưÓư ₫ØưÊưb₫‹₫Ÿ₫³₫ÿ₫fÿAÿñÿ^ÏÿcooTnYh‘ZŒ)霽8Rá$Us74L2đÚ#-«ÿ‰ÿ\ÿ}ÿtÿ–₫ă₫Ú₫¥₫¿₫r₫₫Đ₫t₫¯₫×₫%ÿà₫ ÿoÿDÿÿxÿđÿáÿêÿÓÿ÷ÿ êÿcüTذùĂ,s©v7‡J~¶¥ŸÍz\Ñÿªÿyÿ<ÿÿV₫ ÿs₫†₫M₫Ÿ₫|₫ÜưU₫ˆ₫„₫–₫Jÿÿ›₫ƒÿkÿUÿúÿăÿ̃ÿkHŸ†ÅPN=/ºë°ÉxS®đJ.4Äÿÿ¿ÿí₫Î₫‰₫–₫+ÿ½₫¦₫£₫ ÿÿÿ₫¾₫@ÿXÿ²ÿ¿ÿªÿL äÿh½ÿ6³[nh—0r)|7¤…¹;w¦ÆíÿEïÿSöÿËÿÓÿßÿÛÿyÿˆÿ†ÿÛÿ–ÿ3ÿĐÿ̃ÿÔÿlûÿëÿ>Îÿ8̀ÿ öÿçÿŒÿúÿvÿÂÿ ÿ¥ÿ‚ÿîÿÄÿ÷ÿÿÿÚÿ;ụÿ»]S'S6” •3I"@₫ÿ°ÿ{2ŒÿB”ÿd²ÿµÿºÿïÿ¯ÿÖÿÍÿ»ÿ!ƒÿêÿÿÓÿ„ÿrÿÜÿØÿÿ[ZÿñÿàÿüÿÑÿRêÿâÿ• Rkf@¬>J¬™Jj= "ûÿ*ÖÿĐÿ·ÿ́ÿ¶ÿÿ™ÿÇÿÇÿÿ²ÿÿÿ¦ÿ¢ÿrÿÈÿ¤ÿ¨ÿ®ÿâÿ©ÿÜÿơÿ $†CŒÅ+‡QcDswH@d!NÛÿ7áÿïÿïÿËÿæÿăÿ£ÿ¨ÿÑÿ­ÿ¸ÿ˜ÿÖÿ˜ÿ„ÿ¹ÿ§ÿÆÿ³ÿ•ÿÿ°ÿ‘ÿ#B¶ÿJB0o„)bŸ~E26N"/àÿªÿ¶ÿúÿ÷ÿªÿëÿ¡ÿ¿ÿÓÿËÿ‡ÿáÿÜÿÓÿ ÿØÿ·ÿàÿÄÿÈÿ₫ÿÿÿuCG?ƒëÿi&8æÿ)3ûÿÍÿ[×ÿñÿñÿôÿ–ÿ́ÿÈÿ±ÿ¿ÿÜÿÿ́ÿ Çÿ9,ïÿúÿ+Ùÿéÿ×ÿÍÿ'ưÿúÿÊÿ$ºÿN0æÿuúÿưÿc̣ÿáÿ1ëÿ÷ÿĐÿûÿñÿ₫ÿØÿâÿíÿçÿöÿưÿ 53Ơÿ$IÜÿ Üÿüÿ‘ÿúÿ̃ÿƠÿđÿ₫ÿØÿóÿÏÿ÷ÿơÿ üÿ5ûÿN2]Ùÿơÿ ïÿçÿb°ÿ'.tĐÿ?úÿzÿ̀ÿÊÿwÿơÿÿ½ÿ¸ÿyÄÿ̉ÿ!Gøÿäÿm[²ÿ ÈÿÔÿæÿæÿøÿAÿăÿ$ÿëÿûÿâÿ3.g1'0-́ÿJ̃ÿx˜ÿ CÖÿhåÿúÿ!åÿ½ÿàÿÅÿkÿKÚÿ´ÿÎÿE€4̀ÿ°ÿ÷ÿxÿ 3ëÿ ›¥ÿÿÿsÏÿA-ÿv½ÿóÿëÿûÿÏÿÍÿFÿ8&’ÿª{±ÿp4üÿMi€s©ÿCb́ÿˆÿ̃ÿ_dÿÿ‰9ÿÚÿ—ÿhÿ€ÿéÿ=ÅÿÜÿr8\pÿís ÿYÿêÿpÿ₫Ưÿ4ß\ØÿYiĂ₫Y$ÿO₫̉₫₫ï›ÿ ;ăÿĂ;oÈK¿ÿoöÿFø¡ähWÈèÿ%ư9[ưùzúBúyüü¤üÊ+ªØ­ü` >ŸA¬ÿ%¿ÿ!ÿ²ÿ•ÿÿÙÿ‘h ÿ];ÿ?₫Á₫z₫ ₫¬ü@üïü*û~ú+ü§ûfưeÿaŒõ ]  Ø E IWFưœø¢ôỤ̀ ïëë¤ếë5ê%ëÏïỊ̂)ôÚùÅ Ï ”¨!u@!>‘< `₫AóÇïĂëä›äçgèé́Ệ©úÿ…$ÎŒ tư©÷{̣R÷+tùæÿJ o½̉Ư)ô‹h́è ưaógêmè$æ›äĂæí(ô,øÿÀ!ÑƯÿúi÷₫̣‹ûù• ï  ‡³‘9cx‰VyùcíIë§æä‡äñçXđ°ơ₫øü+áâsÙ₫6ûÛóàơ´́óÙư0 ₫  a†™ú‹BxÇó3í́Jå¡å1ǻómöÿH È] æ ;₫ƒùṢ,đñûḅxøh=D ŒL«oÁ«̉ 7 åôöîLêüăăŸá™èï£ó.₫ˆ£ p RÑtuüHø!î́ù÷ïđ»z`ªḾ™s,ưi®û‚đ<́ƯæÀăÆâ|æÈïäñûû&T 4 }à Àßư"úoïOñû·íú­3™ }rÇ~/z#  ƒôĂí ê›ä¦ăÊă´í·đ÷ëúđ É ¦§ÿæùôÚ́$ûẸ̀®ô å ¬ùăÛÙ .6‹öyílêùä¦ă$ăPë^ñqơÛ % | ë L„ú¶ơ„êøø–ơÔđÏ º LX]§¹<l÷…í-ê>ä7âÎáèhđị́Ë₫ÿ ø ˆQ¾û@ø†́’ơ²ú°îÔI<J<y—›‹TÔù îáêôå{âSâÿæqđṿ½ü” ¬ 6±‡üÀùåíkóYüäî¦₫#\5‘O˜  ́“Güđ́~ç$ă$ă–å#ï#ñ‘ù ï7 °gêưuú»đHôØ₫ñ&ÿ <Î FÇË3ZïkưÉđ¡îOé)äqä˜æ›îđ…ø@  × e¡­ư7û;ñuöÚ"̣§à lAörZuṛÙ³ÁüÇđ±đ‚ê†äíå;èÜíDđkø·ÆÇ• Ñ^Ôư#ûúđÓû˜çóZđ `8̉§F,ë ˆZúñ×̣3ê»åèđéÈíñ]ù[7£Jîÿ́ÿ0ưùYđ7₫”ơx … i€"₫ ?  ' &w÷$ó₫ó‰èæªé&ê$́Ị¢ùŸư'ÿ̃e<ỵ̈ÿ+ưº÷Jô>óù@ûƸ"÷ÛB¬Ô ó ³äö»ö€óŒçCé'ëèèß́Üó÷û¥ÿDÿ¤ÿû₫üö!úè…÷ÍÄ… #´¥ˆƯ ̉ ÉƯ÷ùùVñÄç%í×êÚçïôOôÏú0ÿÿ»ư dưTûø9ư+§øä –‰¯±JÍa_¿ : ĐLüûJñ-́vïóéÆé¬đ₫đ̣̉¢ú>û–û₫`₫ûư·ùaü’ûp ªb UËgúöS<3 5hÿ×üÁô…đJñḰ@́đRđc̣‹ø₫ø úÊưûü¤ûw₫ưúËÖ7ÿ( ²%ÙsŸ ́ÿÉ ‘ P ›Rmäû›ööYóŒđ?ó„óó‘÷ùưøƒü‰ư8üu₫₫₫“₫Ñÿzœÿ¦û&g 8ô¥ <Đ̀¢Ư0¤Îư—üü¼ùú!ûzútû6ưüü¿ưÿ™₫Â₫­ÿ/ÿé₫¼ÿÿ₫ç₫́₫ư'₫¨₫Zư™₫ăÿYÿ‰ô¦Á—~%àQX:%ùƠ±v¯Àÿ¯ÿOÇÿ·ÿ$ÛÿIÿ>ÿ“₫µư,ư^üûơú·úeú:úµúMûÉû ưT₫eÿdT‚9€7²„́?Â'$!Œd@»1¼ÿÿS₫¼ưư&ü»û~ûÎúíú5û6ûơû™üưçưm₫ú₫´ÿ$±Q´1¶]—ầÉĂE¨™5‡Çÿlÿư₫R₫I₫P₫₫M₫₫₫₫ ₫ˆ₫j₫₫₫æư¹ưÇư₫ư*₫„₫ö₫Yÿ»ÿN³ ‘¸Ư ûÈ¢~B  ü)8+)ï¡cèÿÿCÿă₫¥₫~₫n₫g₫^₫•₫Ư₫ÿ_ÿ†ÿ·ÿŸÿ“ÿ¬ÿ’ÿSÿ>ÿ5ÿÿ!ÿgÿ˜ÿƯÿo¶ÁÛ÷Ö¬m'œdJ̉ÿÛÿ³ÿËÿ”ÿ”ÿ†ÿ‚ÿeÿ>ÿÿƯ₫Ä₫₫v₫‰₫¡₫Ë₫ ÿ^ÿƠÿi¤ØÊưƯđ¶Ä—¼¡¯Éùe#ví­û`ÿ †ưHH₫Ÿ₫øÿ@₫J€ÿà‹ÿˆÿëÉÿ•ÿÀÿÿ²ÿFÿ"ÿ^ÿˆÿ¥ÿáÿçÿÛÿºƒÿHöÿNưñ…m₫º#üÓ]ÿ°ư8ä₫lEÿ₫$£h—×ÿçÿéưƠ₫ÇưI₫₫>₫₫̉ÿÿˆ₫Ơÿµÿ/àÿ‹ÿw₫YûƒöDøX ÿ×ÿ·(û ÿ§₫ûVÅüz₫²₫'*̉ÿäm¿…₫₫èư`₫ă₫ÉưaÿƯ₫ÿkÉÿèįˆ†ûÔAâ¸;‡[\ÿ™ÿÿ₫Zÿ"₫@ÿÉÿÄ₫ïÿÿÿ¬\ÿUyó₫¤Z₫ơ₫ûR¨ÿT`ûlđ₫@ÿñ̀ÿ+HKÿ{̃üÁL¢ư úmÿ ÿÓ₫°® ÿ‹ü©ưEư™û^ư™û5üÄüÀư_ÿ«ÿÇçK"SEDO7RЬ˜ë₫Oiÿ@ÿœÿ¡ÿ₫%ÿ†ÿ†ÿ¶₫)₫Ä₫)₫D₫¬ư{ưKưú₫ƠưŒÿ²₫Óƒÿëÿïíÿ#¬SçzÂxØôxư¾ÿAüSüưbú¥û“û˜úgüYú'üưü%ÿ₫_pó©Và̃3Bí3–¥bÿ$₫Úü3üÈú%ûÄù/ûú[ú´úQúû«úăø…ûqúGú–Ÿư]φ~¸ 4× Ÿ . y ¬ÖüÏ0ÿiưÙøù_÷·ơ÷i÷¾÷rùÜù>û¬üßû…üJư2ü ütû‡‡₫zÿ@ˆû¦ : Û p 9{ M l ÛÉÿ¨ÿ ùÇölöÄóöóưóåơÁöYø—ù”û úñúâû2ûùñû%₫x]1 œVèÏ ŒK™ d k¶ÿgüÛú{ô^đ̣×điî ̣xơyơ!÷+û‘ú]ùåú×û ø@ùN˜ÎÿN « J†¨"æiĐ ƒ Fư<øS÷ṇĐ́©íđ¬îjđßơ|øÈ÷9ûWü4úúªûïỡü2'₫¡± * ¾¤®€Ú°ëBƠ÷øôó4íé„́ïfîxñ…ø‘ù“ùOü0ư-ú₫údøºø›F…ÿ Ç ơ9ÑƯLW¨ụ̀}̣ ïLéêïºđ%ññöÊüü-ûÇư₫ü¬ùb÷3ööÅư{R> !´¶a¶Ï ÿζ₫~đ­î(đ™êoç4í)̣Ạ́7öư†ÿ<₫IưÀưÚû[ùÛñkúuÎưîưÚ& ï¨!é ­UY¤₫Ä öế*íÁç¢è‰đjơáöÀû†Ơ ëưTưQü±ôJđÀÀùa-́ t!$#µ;pÿUü[ư²đ4çIéëÇç,ê‹̣¥øÁú,ÿă½ˆbư²üUûµđ3ó7ÿPùJ¿\Ê ăÑ"SáAB Bü—ùø¤í²åŸçê.êí-ơü9ÿïV/·ûbûbødíªơáˆ₫«ùx m‚Ù!è"iĐ}F Mø©öƯơëNăåæëÜëSïí÷ÿñ4†K•újø%ơíÔö,‰ưÛüP(ÿ6#u!KIÊöFô¯̣Eé]â0æëYírñåù'‰́ù,ù¶÷ƒ̣SíTø5€üK₫Ñ­O+$Ö ®ó¶ơÿññvèâæ¢ëÚîÖózû ̣ äïwÿêù]öƯîüî¿ûRÛúí¬øp„‡%ǵô đx̣ºïëïĂçkáàå7íñqơ÷ü zÁ-ÿiùDơaíêîüÿÿmúMizê§…%#ú £ËḳOîrîÏçïáIåééñîö&ưá ½Uÿúaơº́óîü|pú¥éDz.L$U Å+ j1Jóè́íéÜâ^ä¡ë ̣¸÷¾ü\ V *"üEơáë»îüüơø|{$€B$X!ú ;Tô2íSî)ê;ăÅăØệ ÷³ûcL Ø »Ëááü"öqíâí©úđÿ÷ùñưv÷ÜY! #ê Ö! øNî`îáë̉äCă¶è:đ²ơ\úOuÈ V2¿₫&ø đœí ÷Sÿ¥ûûª 0Äë#ß œ jü ñưï[îåæ¶ăè¹î·ó¥øx₫3Ç % È”jÿù̀óuîóQümưrút¬¿œ¡"åvÈ F*úơ.ñÊđæêyä´åë0ñ,ơqúÈÅ" ñLÿ.üăö_ñóđDúR₫RúÍưœ¦è$́í . [û°ô‘ôXï‚ævåêƒî—ñtötưƯø¥°pÿùöºñöoư¶üúDØ̀¶ Îb h )‘ù¡ø«ơ«ëŸæéíªîÑñ}ø„ÿf5đzûxøơcô¾ûëưûƒ₫< Ö! ¢³à" ÛưFưƠúÇñmé,ë²́×́Àîô˜úpÿ¬\ Ëư§ùJú9ôøÔÿ«ư›úƯ¹ j ç&Nke$÷Dïíḯßí$ñdö_ú÷ưUÿÁ₫êúËúUøđô÷ÿsûPk_ -­ăc E‡'A¡/ưặ½ñ[đ?îù́gđ“ó÷oú4üư₫q«ưrûêû¾ûeơ›ûƽü²ü¨ ¢f…dÚj ê­\ ăz^ù¡öæóbñ.đéđ̣®ơ^øù|ü̉₫G₫ưRư₫°ưïûÿ |ÿKÿkđ‹ÿÖJ 5y k ‡[À:ÿpư¡ù1ú[û¥ùÍúÆư”ư1ưW₫Ơÿ&°ÿÿ¢Œ₫ÈÿưLư×úgùOûMú­ù«üưư²₫©fƯ¯đr_¥K›“¡WÍRéÿNÿ]ÿđÿư₫‹₫Î₫₫<ưçûŒúƠùùø¿÷»÷øÁøÑùûưkÿw¯Z¼·@XGd’­¶í*Å…iMïU—ÿ¼₫´ưü7û úîøè÷D÷+÷\÷Ï÷ÍøIúƠû|ưNÿøyÀ»eÛ4*êÊ„½[/ăNÔYØ/…ÿ³₫ÆưØüü‚ûçútú.ú úú-úpú½ú.û¼û„übư`₫›ÿ̀á %ơrêK1²Nåa¾éKơÿ¯ÿyÿ\ÿYÿ?ÿ!ÿÀ₫T₫ßưưQü—ûû„ú8ú_ú¨ú$ûøû(ưE₫]ÿĐ#́k¹‚\-«—Qû´§ª¡^7ØUÈÿBÿ«₫øưvư ư®üVü`ütümü´ü8ưưÎưT₫Ñ₫ÿVÿ¸ÿRˆèOË KktAï›& œ'§ÿ9ÿ÷₫º₫t₫Y₫d₫L₫,₫1₫6₫₫êưíưíưâứư2₫ƒ₫Ï₫8ÿ»ÿ? üa®ÁÓọ̈Ƕ²†K2 䯗rƯÿ±ÿaÿ ÿÔ₫±₫‚₫s₫₫¥₫×₫ÿIÿ’ÿÊÿäÿ₫ÿóÿäÿàÿÄÿ§ÿ¸ÿĐÿƠÿ́ÿ*^x«áñđøè¿–tG ưÿÿÿ15!Ùÿ¤ÿ†ÿjÿ:ÿ!ÿ%ÿ&ÿ"ÿ>ÿkÿ‚ÿ¥ÿ̀ÿïÿưÿ  1Ir›¸×ôǿäÉ™mEÜÿ¿ÿ§ÿ‡ÿyÿzÿzÿuÿ{ÿ‡ÿÿ|ÿÿuÿjÿlÿlÿmÿ|ÿÿ­ÿƠÿ#Jl…Œ›œ–†ˆ~echVJWRC92ùÿÚÿÁÿ—ÿzÿbÿOÿCÿMÿTÿhÿˆÿ¢ÿ½ÿáÿ÷ÿ#%/2))?B=MbZY`^F?4"̣ÿéÿ̉ÿËÿÆÿ̀ÿÇÿÔÿÉÿÓÿËÿÆÿÁÿÅÿ»ÿ¼ÿ̀ÿÔÿÛÿîÿ$/MUVV^D:)ñÿèÿçÿßÿèÿđÿ÷ÿ₫ÿñÿùÿíÿäÿÑÿÂÿÏÿÁÿĂÿÖÿáÿûÿ$?3CD: $̣ÿăÿèÿÎÿƯÿÛÿíÿçÿöÿøÿÿỵ̈ÿƯÿØÿƠÿ̀ÿÅÿÁÿáÿíỵ̈ÿ₫ÿ 213<Q.>-"  öÿäÿơÿöÿëÿûÿúÿôÿưÿöÿïÿßÿƯÿÎÿ́ÿØÿåÿíÿùÿñÿ%=`BILR4%)  ûÿïÿÙÿÚÿÇÿÄÿ·ÿªÿ®ÿ­ÿ«ÿÑÿÏÿëÿúÿ$!óÿ4ÿÿ+B9 '' ,:éÿ3¾ÿ*pÿTÿ+ ÿUô₫ƠƠ₫ ¬QưÜü©_₫¿ÿß₫ÿÿ?₫^•₫ăÔÿ€ÿ C ÿưö= ü ÿ(ƒø̉ư»ưÛ₫F¥₫¯‹ û̀Đü(ü¾­â₫¢2×ư:´üÏ/ÿƒüÿaÿGÇË₫àÿIÿđûÿl(¾₫5ÿÂ₫¤ưåÿØQÿrư¶'ưÄưˆÿ¬ÿïÿtÿÔíc₫ F₫ƠÎÿ¢úNÁ[áFŒ₫eR₫¸.—ÿ22{ư#ÿjÿ™üO¸û/ư!ÿËü7Êx₫>ưdUû/yú ›ÿ„₫vÿèÿHÿ̉xü[˜ưùÿ@oøŸeæùîfûoÿ×”÷LÿL dôHn¬÷îAû{ü( ÷,ï]úSy~ù#AŸ÷‡‚÷áœyöª ø₫Zøî h|ó1 ½ư!øg ₫Lü‹üíư(b÷‹°‘úÛßù¾¹ưñû¿8û×ü-kùƯwû8₫,ư‰₫A3ÿ6ü­ÿˆüđ₫1uÿ.®ÿ”ÿ”ưeóÿ§ụ̀¬₫ưl"¤ÿEư©ư×ûPmư°û₫{(ü†ü Î₫Ùûd’ÿ[’ÿ0v^ïüÖôH´Jä¶åÓư¤·¡ùûÿñuúsû¶¯ù·üPû@üTüÊùƠ₫LöÎö¢ü ÷•UÚût•ÍÜƠÚß ø( 1 ^_Ö—a1üù4ûöôwù+ó÷̣gøøôÓôåøSöVúçüđùưÿüCơÿ©×Œ¸ÅăàƠD† × + ‘‹úâ÷èötđëñ́ëºéđí†ï$đ÷Đø_÷T₫ä#ưd|Àåḱª Ï ÷ êuă±ÎçƯ qÄbûÇöüđUëé’éàæ²è±í…í,ñ¸ôáôdøự₫̀₫æ öcï `O¡ P¶âbç u „ ’üßù³ö¥ñfíië…́́\́öí#̣=ơ£óöË÷§øøúøƠúzüÈü_ÿfP' ₫ô›ŕœÍ æCư§ùIôäñ”ó"ïXí ñ0óŸđ&ó!ơĐơQö‘÷í÷+÷%ơô'ö\ö́ơđ÷ưæÿ¡À C£Ơ2"Q"îRƠÔJ ³3ü÷7ôÙđ3îxđ5ó1ó¦̣™÷jù:øØ÷®ùJ÷$ơøô’ôẹ̈ñññ·ôPøÁùcü ;‰€#É% "•é¡Ă íûE÷Ḳ¹íqêîIñ«̣¡ôbû[ÿ2₫Fư ₫‹ưîùö•óăñ—ñîCêÄëîđkó¦ơÚù‹m¶}”"†,l,¦!Œnd¥nø̃ó©îÈé(å,ålêqđ»óÄø*ù ö /y‡ËơWïFï.î—é7æ®å₫èƯîÍôf÷„É{&á"Ü'½4ø3¾#~«¹Tÿ\ñ¤ê—ç̣äKß:ƯWăÜíôœø°'F # äÓưÄñ®ë±ê/èVă‹à â!èPïơµm2&¦(Ñ)Ø38,=ûọ́ñç6ăàƯ Û[̃.ç[ñ&ùq́ ~O7ÏûAñAêÔäFáÓßßçßdä¬íˆøˆo='¬*80m74…'ùÍÈ Âùˆëă‚̃Û ÚµÚ“ßÉè˜óü†₫‰§̃ Uÿäô%́.äđ̃Ũễ̃à£æHñ:–"x%æ+·6´75+¿æÉNwï±ăîƯÙÛÛ̃Ú{Ü»ăTđûû_R MZî" !Ëoé ÅÅô’é×áÇ̃´̃̃DƯß(æ'ï5₫ÁR @$=' 0D5™-¿Î¼mSơ°èGàVÜ¡ÛÖÜ<̃êá ë̀÷Ă« d– ­"¤ 4„ ™ÿïôºê¬âƯIܲ܋ƯÏ̃ ă¼é—÷̉ p²!>"7)Ó1;1ñ%4„H ₫Ïñ\æ4̃KÛƯzßÇàåđÏữÑ‚ µ"2!‰ăÉ GËơĂêÜáˆÛ|ÙfÚú܉̃`à&åyđ¸³¸ /"^%û,G2Ü-̉"Ơ ¼ù«ïËäVÜ<ÚäƯâåêdóHÿ > ¼Ü–ÓÇ3Ëükó®êœâJۑ׮ؽÜkàˆâæ î₫—E!n%¨%8(Ø,Ä-`(‰êúLô4íxäƯÚÚ°Ư;ă¶éøđ¦øåñ &ï@=¡EbùXï»ç‘âƒ̃*ÜĂÛ¶ƯRá₫åQëôơ›ëđ$‹&œ'Ï((%ærº]ụ̀¿́åæ&áƒƯ3ƯÅà è>ñ¶ùYs© .x­+¤ưôëênä¯àÑßMàgáăOæ ë»ól{"e!#E$ư#:"4’ưÜơ`đHëÅæ"ăëànáëåËíQögư%è³ụ́³AƠa µ5ụ́­ëªçå¿â¢á ă¨æë¿ï÷IÖ ç³^̃´d!P0á àÿ÷¤đṔæéèªæQæÇèAî•ơÿü |¶>ÚæHb Z(÷ôđæíAë́çuåÓä{æ̉éîótú} oØáŸß#ц ´ûRơ¥đéí¸́ĺ·́€îÏñhö¤ûZ¬Ă  u¸½PH ”Uú ơ^̣ơïoîUị́́¾ípï¥ñŒô“øO₫ §}ÍÓU]~9 ¿”*ưø@ô+̣‹ñ¦ñṆ®óçớø¸ü;<ù ÿ ç 8 $ S^÷ÿÁûø\ơ>óçñkñˆṇ̃ạ̀1ô1ö¥ù₫4ôĐ ^…]{‰ ­ ª É ₫.Ó₫oú ÷Bơ?ơLöÄ÷=ùéúđüÿ“gxt­[„í®çÜư¬úó÷ö ơ¬ôâôzơöÄö¾÷1ù,û¯ư¯øÑƠÀ Ë  4¸²—ù¥i_Mư‰ûû½üúưÖ₫_ÿăÿ—¦̉ ¯;¨@5ÿ‹ưûû›úÆùgùIùEù[ùfùXùDù\ù¡ùMú«û·ưO4D* P M5ú :2₫ÿ-‘û.Ám6¾ÿó₫Úưü‚û¾úGúöùÁùªùùaù2ù1ùiùñùû±ü̉₫óºù©̣JTxífGÖ«q#Î8ơ¿‚  ÿ,ÿè₫Í₫£₫R₫Öư4ư„üîûûdû]û\û?ûøú­ú¡ú ú2útùù~ùèúöü-ÿ1Ü5CF˜3 w Ă đ ZĐV0F… Êÿ§ÿˆÿ~ÿ†ÿÿƯÿM¬ 9ÿ1₫ưüOû©úúqù₫ø¦ø`øHøjøÆøcùƒúTü“₫¿ˆóÿÑÜ% - [ £ ^ƯO₫7xÇ!qÿ»₫₫¯ư`ư4ưEưŸưíưàư~ưëüIü±ûAûûû₫ú×ú‹úú¦ùYùPùùAú]ûưGÿ…e×÷ b ƒ Ø : ü `œđ“y|‹±ÿÛ₫₫?ư¨üTüJüüưUưPư₫üüóûrûûûûûĐúnúèù_ùóøÂøßøAù ú‡ûưÚÿưé *Z Á ÿ k ơ Ơ ? VtÓ}X_–ÿá₫:₫¯ưrư“ưüư{₫Û₫́₫₫÷ư ư+üTûúúOù…ø³÷ ÷ŒöRöˆö1÷FøÎùüÏ₫̃Óùư ư  ¢ r ’ & oƒ¼Y.1^¼ÿÿx₫ơư¨ư„ưŒư¬ưÊư¤ư4ưƒü»ûéú1ú•ù/ùÖø\øÅ÷9÷ÏöÄö,÷Ø÷¸øÀù›ûB₫2Ơ´ ë Ö ú ö H  ±  ),)/jÿ₫êư{ư_ưkưư}ư(ưtü¦ûÈúïùùøø\÷­ö;öÆơ¶ơö½öÂ÷ùPûk₫Ñ›àö‹ F S ¢ x r Z á?¤'ÿj₫̉ư?ưư7ư­ư₫₫`₫ûưưêûëúưùùø\ùâû¢÷æñÆđëñ,ó¦óôlô‘öûŚ‚ K$ ñ~³¨‰ |k2º₫Ăü?ûÆúMûpüôư;¸Êï¦ÿœưĂûHúùA÷³ơ0ô¦̣„ñkđ đ đ2ñ’̣­ơ8û€£ m„ăÏ™r¯Ü ?º:0₫·ûøÀö÷úÓüÿ>î©8$Fÿ+ü ù'÷JôeñïÈîŸí¡ëhëNíVïøđÎ÷O„ ßœ…º#p‰)Ådä₫Íûù^ö ó¬̣Êơ)ûtÿ[< ë ¹ Éa¼ư«÷góŸïë\çĂæøåä˜ăææÓêYïóû‰ À&*7#Ư%ä$ª"t€rWưÉö¥đ¹ị́íkđö€ü>íªHj e²ưQövï”çñ̃ÚˆÛÔÛÙ/Ø ßyçơ¸ M %l&Ó.ö6ç4̉(  D ¨ưø´í›å,çvî×ñḤgøÁcé₫Y= ‡ëôªæ–ƯëÙSØ#ÖéÏuÍz̉]ßkç‚øÁF&F+12>˜?2a#–"qö²ípçmé̃í¡îWïDùáü§Z₫ ZÑôÅè0ßE×ÖÓLƠ¡ÑgÍqϯƯÈäø`ƒ#›%đ2ªE„<‡(n"à!± súëó€̣ ́ë3îF̣ úơ ̃̃ữ˜Ư|äYñ›ñ1ưl  ¤ *ÁY ;– äÙ’₫Açª s ¢Î‰… øñ3íÖæëáÛáØßäèFññÿ]TÆ đJ ® ŒĂe1ÁưƠÀ~Ô x X  ̀J?<ù4öñDê¹é¡æÔæaï đ_ôœÿƯ¥Ö í kñ Ë ÷f eå<l¹bvhC.ˆ₫Øû=ùˆôûñ?đIí đ¤ñÂñå÷|ûˆûÛươ'» ™ ¢ ÎNÁuL[̣}œ÷cXÿ÷üƯúÉ÷ưôụ́ïđPñ3̣#óÍöîùxû9ÿ’|ök€ $  &Ơ¹´ˆ"=4L¨₫Úûwø ơṣđ£îkïñhôGøütÿ¿~p(  6 " R ßÿë̃ÿ¼;˜ÖÔX’ÿ@üĂøưôŒñưî˜íèíđSóe÷£û[ÿ́4 m = ± V ĐĐéñ́§;äÉ*₫³úÎö@ó2đÿífí¸î‚ñ;ơ@ùÿütoÔ• S å đ  ^ ÏƯ0Å| .½ˆ¨₫0û6÷@óđ}íŹªíËđô¼ø«üôÿ· ̣D! Ë È , ¸Vđă'1¼Ä'ˆ(ÿRûèö¸̣~ï̉́êëƯí,ñ ơƒù(ư)ïâoÙ¾$  ¥/ªb¦ MÊÛˆ₫Oú°ơÍñîśù́­ï(ód÷Zû\₫Q—0̣5í_ 4 ŸOKˆÉemêAè₫ûÍöụ́́ï¡í¸íDđ«óœ÷Zû/₫isÿdÏûé   ´q«™æwj¼ưùLơ†ñ¦îé́¾íèđçô;ùêütÿ°/$\WC 5DQ5 P à>á]ưzø¾óïïíëëăí¦ñëơ@ú‹ư b¨âđŒJ"{àW ) ÿ'F_ÿöúPö'̣Ùîó́îíñâôêøüR₫M”¾*lß÷nÎØªùr Ư ´ ©ÂÊäÿmûöṚï8í‚îññÈơ´ùÑüè₫“ “ µ(& å@±+ ơç5aƒÿ"û{öj̣Mï!î2đÀó÷#û©ưwÿÔŸ§©Öm_́gSJ¹áƒLÚ›üø·ó9đùíĂîẸDö?úqưoÿøÂ¿đ8Ă1S2S†Ï6¿Ơăüưùơ_ñyî/îFñơÉø ü₫Đÿù̃;Cdz¤7 ‘ a W J D ~¶wư3ùĐô6ñoîiîáñĂơ]ùnü-₫‘ÿ`P/Ôî)* ¨ ¤ É Ơ Ü ù,ßzkưêøgôÂđIî3ïóÏöKúÓü6₫xỵ̈ÿ­øáÆă:S ™ • ¹ ° f zÓÿ±û5÷9ó1đûîµñöù üc₫qÿ#åË­É™æ÷8 _ ± ¨ ̃¢Z>ư«øiôñôîRđ«ô±øüt₫¶ÿ§Đ(‘K# & P l ßBÓ´̉ưaùóôzñ+ïâï ôhǿûŸ₫ ó)*àa‚N©̣ç H 8 ÊKư₫‘ùơdñ₫îßïôbøü̉₫\U‘¤;“¢5S‡° J Â1|+ư¥øyô*ñ7ïơđYơ‚ùư‰ỵ̈àB¹íjQp<lØç0lÿDû±öỤ̈đ;ï=̣̃ö́ún₫µé_±åươ¦¬6§?§$ư—ø*ôƯđ¼îĐïôZøLü›ÿ‰ây­JzNí̀¨­øƠ§Ä‡‡₫Dú…ơ•ñàîlî¤ñöúÜư„,`»;³ Úpb®̉ Moÿ`û÷ óSđvïƯñöµùưzÿÎ蹪ØÈ*Y†X₫B öÿsü„øô\ñæïsñ.ơÆøüÖ₫}Özj³™ P ¡5ƒñ đÿüÏøÔôñûïñPô¡÷Ăú¡ư±ÿ£ ¯̀I F § Ù ŸPûSâw®ÿü>ølôfñđñæóåö²ùqüÇ₫6á‰ú— X C  =  ÿlûÏ÷hôÏñ´đ•ñ̃óEö´øiû2₫P•¾  l % " öáÍÙ°ÁæửúƠ÷àô[̣ñ†ñXóơPøiû ₫ø.àÛ  ¶ ± ê  aÜrơ5bưrúx÷„ộëđ•ñoó«ơIøBûo₫Ơ1N ± f K g  ”î^Ạ̊¼ÿư/ú>÷fộñ®ñTó[ơÖ÷Áú₫Y Ó § ¥ Ï € ̉Y³æĂÿ-ưeú÷Ëô’̣~ñçñIóơ_÷ úHưÎK]̀ ˆ ¢ â 9 ù B [¡ú6#¢ươúCø©ơ†óQ̣^̣_ó̉ô¾ö&ùôû6ÿ—¸n“  Đ … | ê b½÷đ‚₫úû‹ù=÷Iơùó{óÑó§ôçơ°÷íùÇüBCλ ï I ß × a Â>+ăÿ’ưzû™ùî÷nö=ơôyô ơö¼÷æùü‹ÿYɧ  ³ ™ á DXJKe₫·ü'û›ù'øÓöÎơjơ¢ơFön÷ ùûyư¤Đ ¬ ‘ ̉ „ÿW«†ë₫vưüÏú…ùFød÷÷9÷Â÷‚øùưú¸üÇ₫ßá½mÖ¯ë€xa#Ó€O0ÿ:₫8ưü û>ú¥ù6ùùOùËùjúoû¯ü₫}ÿŸ:qk ~Æ*V®g–ÿÂ₫₫=ưmüËû$û¿ú§ú̀ú,û°ûbü2ưE₫qÿˆ®ªhUh7ï´pLåVÎ7}¨ÿà₫₫jưƠüiü*üü übü¿üIưÑư[₫ÿ¯ÿYÿ“œê17/&ạ̀v±Îÿé₫4₫¬ưgưPư>ưpưˆưÜư₫₫Ă₫=ÿÿSó@·å%KO# °ăÿª₫C₫rư’ưưÜư₫ª₫‹₫̣₫ï₫ˆÿ±ÿ/‚Ñr—Rf ©¿…ˆlZ.ĂÿÖÿ£ÿPl₫¨üÿ¸ư$]=ưÍ₫ăư8Êüßûqë₫₫̣'zÆUîà₫‰₫Œ₫öÿ©ÿ©û§ûüúù#÷¯öÙøú(ùÛúá₫—uÓÊ „r­ấ˜ ₫˜_ư¾ö\ñï^́Æçôă8å å›äqçîô^"á)M2:3Ü-="˜ R¼̣T́…æ*ä ă—á æ‹éíäÑâcă¨çYêDíÏï‹í ³%)82=K62&'ùŒ¸ëÓåBåưâœâ/â0ëô‚đ@îåñªïß́TêÚïeñ• u"%3/…;ª:U0zô2åbă­ăåƠåGè‡ơú•ôcơ÷ ô îÎçdë¹́ƒçY¨ #ê+d:Ï;Đ3 7 äôbâ¶à«ăÂçºé{êg÷›‰úú̃ưôû3ơ²ê5é÷́¡ä\Ú÷˜?"e&è8:D¶;!U | uù;âßÜHă£ê­ê$é’÷¬Ñưàù ₫‰ÿdùdëXæËézäöÚ†Ưc,%-&/2F J6ZË 6xí´Ø#Û1ăç%è.íüƯ₫íÿ´˜Ôü(ñ́¬́AäÔƯÛ>èq”%ƒ'ë9H‚?‚,hYKú½äÙ́Ư®âè£́‡óéÿ@—JRÿô™́0éÎáIßÅÜTÜpư8(#®.n?y?5„Ó ñ\óââ7áÁăăèåí‚ïú¢PtÊÿK²ù³ñÏíKçßâ‘âëßßóô»̣„%L3ª:?6³&hÔ lỌ̈sêîèêóêiểï ù‹ú¼ù³ư9J½₫×ùøKôèîÆí[înî™îä÷· —%t%Ha3 7~ù€ơ’ócñèísí§ñyóḶùóù~üêüü®ưT|ÿM₫bÿ́ô₫ünÅh£†ó ˆ k OX ̣ظÿÁưFûœùù©÷rö¯öø7û´ưVׂJ¸g•Öÿ/₫ˆüû(úú?úúµúü6₫Nÿzä%ÓU½ >VæÁßÜQÿÛưHưiưYưư\ưÂưíư7₫₫Ä₫3ÿø₫{₫“₫m₫óư…ưưFư»ưëưx₫Wÿ0$˜ª×ĺÅpDIQ…Œ‰¨¦Ê'5¼;W€ÿû₫₫ ₫ơưîư₫b₫•₫±₫¤₫l₫U₫₫©ưưºưưưC₫¢₫#ÿ̀ÿF‚ù‘äôÙ²œUçºôY“¯âßxßQÈÿÿª₫”₫ª₫ă₫ÿ ÿ[ÿiÿ ÿæ₫ÿ ÿÿ₫ÿ(ÿ]ÿkÿmÿ³ÿ1z føÿ ×ÿ„ÿÿ Cbµè̀®aúÿ NÇ ÿÊy›ÿÿ¥₫Q₫&₫₫₫.₫₫Ơ₫;ÿ“ÿÑÿ@RUGPN,?|¸đ^qL=đ§?éÿÿÿª₫p₫`₫g₫†₫Æ₫ÿGÿÿÅÿüÿ/1<mvW='$áỵ̈ÿ>găå†>¶ÿ|ÿeÿnÿ”ÿŸÿÿÊÿîÿ+ÿÿ ùÿ¶ÿfÿLÿoÿvÿƒÿĐÿ#p®Ă¼Q´ÿvÿfÿeÿpÿ’ÿ×ÿ0Q©ÔÄ£}TÊÿ­ÿ¼ÿÏÿåÿ1fm[c ±ÿyÿpÿmÿ5ÿÿ9ÿ{ÿ±ÿÖÿûÿ7X`N?8"ưÿøÿ-J\io`>èÿåÿÉÿºÿ¿ÿ̉ÿÜÿƠÿƠÿçÿúÿ₫ÿôÿÛÿ̉ÿÆÿ¾ÿ®ÿÈÿ+E^b^E9-øÿăÿ®ÿ™ÿµÿ¿ÿ¬ÿ¹ÿàÿ #'?C3 æÿÎÿơÿ úÿ₫ÿ*3), óÿíÿ÷ÿîÿơÿưÿ"ûÿ#  ïÿÄÿ½ÿăÿÛÿĐÿÚÿÁÿ·ÿ°ÿ²ÿàÿöÿ7Ul|lFBåÿ·ÿ¿ÿâÿâÿáÿÙÿăÿ×ÿáÿơÿöÿëÿƯÿÙÿ·ÿéÿ¸ÿôÿçÿ2y0e5] 3àÿ µÿ#”ÿ+ªÿ«ÿä«_ $ø©ûZûÓ₫©·6ùø©ưWÿ{cfvë52û$ø+ü] áBÑú á[1îÉëqÿÿ÷øtñ üµz‰úsü6 ¶ ·ûIÍÚÿơ₫ÿrÿÿwûáëÿBÿoc¡ËưœưÖüGŒÈÿÅưUÿiM~øÜ÷Ùîü¥÷\ú“]©Ä»+„ÿ₫íÿ1ÿDÿÀlcÙ₫Sÿ½Œ©ư$üÿÿ oư†ưø3áü)ùư²ÿ½œư®ûl₫…ç÷₫½úîî#ü:ü´Ë₫₫¹UƒÖ‘¦ªư+ùfü|â#ùµûLóăưÏùçÿÄ5ùùB₫NW₫-÷ëùy™kùZüèäS1.̉¸ ûÅúr ü"̣Ẓÿú/₫àû"ûmóe¶Rèñ¦×ö2Wü1úª₫¿ÂBÿ«üe&úA.= Zj₫ ₫…₫zưxüEùc÷äûüOûíüHûPÎÿ;úö™ü¸6ÿ,ü"₫ïÙ;gÿ«–@ dÏ;Uª¼ú₫û§₫Ÿ÷ZürưrûYù˜ûTÖ2Oúˆù¡“[₫û`SÿÎûÀú“₫![úÿ”ü#Ëû.óßú%ư2o `-üôüÇ 5ü„øvùùưưqÿưúRø›úêüņ-ú·öMüă₫l₫e¬ÿưÖ₫/ø  Q‰zü—ûø₫J~ègÿü¸ưBn{ ÿú¸û ”₫Sơ¢ơ$ÿƒe ´â₫˜₫KÿFÂè₫û•ưvp"l₫úH:ü½t₫ºư¼₫’₫ ÿÄúF̉…₫_ơkúư®Æoü ưˆ₫ùÿ¡ÿ¹ưy₫ÙFÿjwœíÿ¹÷Ùưdp†é÷ ưÔ kÖüSû‰ùÿ!âzư>û>₫ øüTùIùw™éiø ôÈôé₫ê ‘£öü>ú*‡1 €;”₫Ê₫ˆèbÔrÿưÿ!²ưƯÿó¶e₫Gú̃ù¾ưÍ₫È₫7úù3ù®₫fơ₫?ù®ơÑû¬Wÿùrü¨" ³ ™¶₫®₫Jÿ82Å Ç)ü¸ú…ư0ÜnR÷øÇyÑô¾îVó¦ûb¤₫ô öuöưÁHû™úƠù<†ç0o0  Ø· ·0ă ưs =a₫Óư¶ả₫ú¯ôNö§öröṬÙïP̣}÷ŸúÍúöåơư÷ªü/₫ü¿ûg CG÷z ë ÿ † ïû ? èåê‹y₫đøô.ôÇó/ơ¼̣đ9đ¥ïGđ7îÏí‡ñ2÷éư-ÿ÷₫Œư^ưb|l-;éYÅŸ¦ú8 \v[[^ÿ§úwö¹ôô¯ñbîêÖç+ééïqđ¶đóñUôr÷úÜü0₫đ̀ |ºÆSJ-"1 3^×ư~ø²̣́ï]îÔíǼFêzèzèé†́áí‡đEñRô0ù‹ÿœ üÄÉ~›r²­ˆ%̀i „ îoÿ’û¦÷ÛơÖñ¢ïCíQê4騿 ç‹èØé£́V́»ïŸóư‘âÖÎF@]D“Cñ3 j lA9>ù‡ơñfïîIëê'èäç*ç çéyëºïÍô‡₫ê‡6[¥Ø‡ ?ỰkDƒ n<æÿÜúr÷ặ¢ïế‹é[è\ç>è“èwçbç.è6îëúæ‚*Èưr  ¡µ¢-µW5 å(ümú÷[ơkñ9íézååbæ=ç‚çöç„́Åùđ‰Ÿ º~×Á È<[§X êC0ư û§ụ̀ø¡ôeđ ë@æïăäzå.çè¹́ù₫<ºe c>o! (~ñk´— Ắù₫œüûCú"÷)̣Ë́ç¢ăMă7äæIçûêø3cÂ=–₫¨ÿ’’ŸĐÛ!R~̃ ##Eÿtưqÿæ₫đûOơ¼í÷çSăâ ă#äæóèV÷6̀3Ôúñü + •ZLÁ88¬ àÏ₫§ÿBxÿ[ùLñqé6å áëá[âÙä|çBó—µå»ª̉ùOùZÎ ï}°$Ñ j. ₫ ÿåâ ư/ơǗnçIăuá¹á]ă÷åbíùỵ̈¬* îúbơüŒ[m¡ËṔ a8ư¡ư 8ªûĐ̣¤ệä/á¦áÂâÉæĂè$öƯ? /̀ơ—÷…ÿÙ ™Ư—Çf Đ̃ÿ´üÈư¢vơù₫đéqăÀávâĐäöç˜ë/ü/ u!₫ `₫\ôú‡BÍáVc¶•D 4ư¤üœư2ÓËđ5÷èîzç‡ăËâwă5æè:îÇ₫á ±qî ©ü<öü®»x (–Ó pü<ưÿ;û̉"₫¬ơ î¿çfăñâ'ă]æè~đnLë™Æúvø–ÿ‰i½å»Æ·àû;₫Dß›bü™ôíçăxâRă1çÔèó¦£bCĂúÈú+µÜ²kd‰Ă –aư¥ÿ…½åÜúàóítædâ¿áPăèæ´éökpv”;6û¼ư+Ä !|1׈…à Å1Sÿ¦à™Să₫ÜøẸ̀ëøä?áâä(çGêùÅ·(= ³ûGÊ ^ #FÙäí ³êÿ„BF„ÿ ư‹÷!ñèÜâQàŸâÄäZç/́¤ü )6â ̀ÿ¯ư­÷ $ $­ëÄ|hêtâï½ÿÆ₫́úPơ@íRåIà“à:ăÉåˆçđn||½₫~¢¨  Ư ñe¸ ‹:γqÿÏưæüDù§ñlè=áßâHäEåŒèÿ÷6˜ah |»¶— ² ‘  "crxîÉüư•ư₫®ưóûnô:êZâzßâEăă¡ậïüDÙ T%x‚ Ë]L Å©”}  ÙOü¡ü~ÿÙưu÷ëăwàíâ¥ăºà+ßêç̀ư¬¨È ó(â ¤bø –PÇÅ " ¨ =˜ûJü‹ÿ÷Úë^äîâùăàậ̃ÏÜÇäZù) Û¡ ••Ơ ¢ ˜ ¸ C ~qúqŸ c6ư·ư@ÑüEơQ́™çàåäáƯƯÏăøơđ? Ïâ W v ˉT ¶zˆ’₫¥ $åÿtCüÍóûíIéóæ£ă™àœƯ¸ƯÍáñ-ÿc Ñ p 0 5 ’ !Ú% C3®MÛ ¨ơ›Oêû ỡïxëLçă,àĐƯoƯ¥ß́ëÇúi u W ® ä ÂA •¿^ëêÆ³púj³ülöcñ’íuéåÎá¼ßî̃ßÂæ'ôGỲÉ  ç Wà mƠÈoÜU >5?₫ˆøºóŸïøë½çùäCă>â¸áÏäŸï*úà_ i c ½ ´ - ¤!ư4kªđ Öđ‰Oâüµø|ơó́đ¤îíüëlë«ëßí{̣6÷%û¹ưUHîÁË Ú [ K+~ e <  ̣çó߉“‚ưú÷‡ô₫ñ×ï̀íḱ ́ÛíQñBơ+ù‹üZØ Í U Ÿ ¯ ¬ j  ™Œ¸É*¨Ÿ₫bûøơc̣ đåíJ́óëôí®ñ®ơ&ùüa—̣ưw [ e  Á ¿ W  s EdÆ÷ Öưú­÷·ộ•ïˆí;́˜́0ïẹ̈Úö†ú;₫ü K— U ¹ A . {  w j₫r—™ÿtüsùQöOóÇđ™î₫́H́´íÿđöôôøºüïUîC ¼ 0 Ö v ‡ ¬ T i¥X́ÚË₫äúy÷ôdñAïíĹ³́uïqó¡÷Xûÿ°¹( “  ï Ó ̣ ç / k ~¿x>pŒƯæ₫²û\øáôđñ‘ï•í́çë1î'̣oö|úZ₫J‡ ¦ 8 B L j R ‘ ¼ ¯Ë‡mƯ>Lÿ"ü¸ø"ợ|ïpí¬ëDëtíqñàơ ú₫á/…c ä “ • € ¤ À •»TĐJgÿAü”øơËñHï.íTëëfí‚ñëơBú?₫/sÈœ / Ô ½ £ ˆ › » Î gè£{˜^1ÿ₫Ôûû÷9ô(ñ°îŸ́ßêëÑị́¢öúúÿéû- l I — À E ‹ ö w ÑÚzT["₫ÁúĐö4ó>đÄíµë^êlëœî ó­÷ üŚÜè¬ [ ” f y ¤ ´ f tïÖ"~Dư€ù®ơ\̣’ïJí8ëiếÂï+ôø÷ü¼QQ  Đ ü i o £ Œ ) Ié±Éá?Rÿ üyøçôƠñ\ï"í'ë¿ễ́đÖôüø=ưj®É º ~ €w¡ ¬ Ï ~ 1 MÎ@₫×44₫úú‚÷\ôÏñ£ï‰í½ë¥ëÄí=ñ&ơ-ù^ư(Óơ ñ ¤ q• ¬ § J :Ä'¹†Ë·ư„úU÷†ôJ̣8đî́đëÖíơđ²ô®øưMߨù ( Æô ü × R ñ ‚Ô`/‹°ừúè÷Qơ7ó$ñéîá́_́Âínđ¼óv÷ûÖÿ…y ¬ ø ?Q†y ( • ! #•ó¡ e₫¦ûùø¨ö¿ôạ́ÆđŒîGí¶ízị̈$ơåøưT8Ư t TÅ È K ̣$nIYôÿ?ưûäø÷—ơùóÿñưïÜî:ï¼đª̣ơIøü»ÿưĂ•< A 4K‚   m ) æösùô₫Jư ûûùø^÷êơ$ô@̣ ñüđëñóôËöáùDưẺ|6Œ å Œ Ư ¦ j ø Ũ7B_DAÿƒưüÛú¯ù.øPö̃ôåó@ó.óqó€ô=öUøËúMưÚÿ‘ W4 t I – k ̉ ß êß,»¤~Qÿåưư üáú³ù«øö÷Y÷ö*ö?öüöÖ÷Ëø úÅûÚưºÿ‹9đ®Âb¶ßÉLp£œ”f$oÿ”₫Èưaứü–ü$üûNû‚úáù6ùÖø@ù´ùjú>ûQü½ư*ÿBhH’{®̃¹d­&`ªơùÿªgDôÿlÿ₫7ư‘ü|ûóúwú:úEú›úưú’û(ü½üưÁưx₫9ÿEØ´Q‰/«UÜ+·î›f\J…1aÿ₫!₫åưiưbư¶üÅû8ûQû2ûpû¬ûÊûüÙüưoưñưÉ₫Úÿ}…c%¶»4]fÂ~$Ựà₫­₫q₫C₫ºưĂưÊüeư ư‰ư ưüư:₫¶ưƒ₫ƒ₫₫ÿIÿÿÛÿ †À ¼nØ>¼Ư©bô»ºY·ÿ!ÿx₫j₫N₫ïư ₫̃₫%₫W₫ƒ₫‘₫ÿà₫³₫àÿƯÿ®» ̣<̀Ô†ÿÛÿRtJC¼ÿƯd .ưåû̃ü†û¶û₫£€ÿ̉₫™ÿba&Hÿ•5´_ÿî­ß₫ÿXÿÜÿêƯ{ÿưÿ+/₫gÿ¦ÿ;³ÿ¬₫ï₫ä₫t₫³ÿVÿÙơÄÿ0h¬ÿ>c©D!ˆt₫[ÿ]‹ƠÉÿé)ÿ½ÿúÿ, Oÿ½ÿƒ-Xÿÿ7ÿæÿÓ₫æÿI₫&¹ÿsÿ@ÿ£ÿÄ₫̃ÿ·âÿWoNÁ‚ôÚ0Á »ÿ’ÿWÿáÿSÿ¢ÿbÿ|ÿ®ÿ,ÿÑÿÿ}ÿqÿ‡ÿôÿ]ÿuôÿyÿn"ÿ’ÿ¼ÿ¦¥ÿ•ÿ$B̉ÿ³ÿˉ½ÿ+¦²÷ÿq®₫ÈÿçÿÔFÿ«ÿ¨ÿ@Fÿ¢₫+^Áÿó₫, ÿÄ‚ÿ0ÿ‹àÿ`ÿ ˆÿ߃.ÿó`X`¥VlÿNÿ*ZƠÿÛ£bÿÿăÿl:ÿ ÿ²ÿLû₫Áÿpÿ ]ÿÂÿ²ÿ¼ÿgÂ₫„Ö{°₫±j₫–ưÆ•ÿ¾₫ÿf™ÿYÿî:ÿÜÿ‰ÿNÿÿnÿ¸ˆÿ”ˆÿ|ÿ¶ÀÿEÿ€ÿJºKÿÜ!€ÿå.B£ÿ‘ÿ¦ÂÿÄÿ_‰ÿ̀ÿ èÿVªÿ•ÿwÿÿ¬ÿË₫‰ÿœÿÑÿÇÿÿËÿvÿxOƠÿ§ÿ{̀ÿ„3ËƠ₫.ÿ®ÿ ©₫­ÿĂÜÿMÿtÿÇÿáÿ~́₫ôn o₫™å~ÿYÿa+ÿËÿîîÿ„ÿ ûÿ¯ÿ·48ÿÙÿ)ÿÿHÿ~ÿ¾_ÿ'¬ÿÍÿEÿ"3ñÿÿta₫ÿ»ÿˆÿĂ¾ÿ ÿóÿ(Ê/À·ÿ‡¬ÿ™ÿHÑ₫ïÿQ5½ÿÿH.Åÿuÿ×ÿĐ¡ÿÙÿµÿ\Pÿ«ÿ/“aÿ ÿ‹¡8Tÿÿ´ÿ+ÄÿÿÈÿđÿ¸ÿºO ™ÿèÿ˜ÿG„₫˜ÿ9çMÿÇÿwÿyÿHúÿT6 ¾ÿ2>ÿ9:ÿ(ÿÓÿg+sÿK‚äÿÿ|êÿ/3çÿbÿ́ÿ́₫ë́₫ÿ®ÿ¾ Qñÿ¡ă₫%ÿ̉]á₫ªÿ&fdÿ>ÿ¡₫ëÿKÿ7¯ÿô₫A‹ÿXÿ‚yMÿ|jOÿå₫·Z ˆÿn¶ÿZˆ₫¹Tg ÿ-æÈÿóÿÿS¸”̣₫‚©ÿZÿƒ₫Àơ—ÿiÿÿ ¸ÿ’ÿ̃ÿtÿlaÿ™ÿ ÿ3Éÿ1Ưÿ~ÿ—^˜XDÿÄÿµÈÿoÿ÷ÿD-i₫®ÿÀM₫¡ÿ¿ÿ'—¦ÿ}ÿÜÿL¹₫‚#¤₫¯«ÿ­ÀÀ₫‡÷ÿÆÿ§ÿ*¡ÿñÿ!hÿ×ÿđưÎÿ®%ÿÇÇÿîÿŒÿ ÿ/oôÿ1ÿÿ₫#ÿ«ÿxvÿnÿƠÿjÿƯÿÿÿÿÖÿA3Åÿ¹#׫ÿÑÿ“ÿ>“ÿÛ ÿgaÿ[ÿÚÿÓ₫øÿlëÿ‹ÿ́ÿ°ÿ^ÿwyøÿLÿd'ÿoŸtPéÿëÿ—ÿU<₫·ÿ6fÿH.Ùÿ*Qÿ3œÿŒ€Đ₫àÿ]wÿ́ÿ$¼÷ÿ•ÿ©M³ÿÿèÿơÿô₫D₫w₫§B’fŸÿØĐIueÿ±ÿ¹₫^,ÿWÈ4-…xÿ+ÿöÿ°Ăÿ1ÿøÿËÿO¸ÿ+ÿôˆ-&ÿ8ÿ­₫˜ÿç¸₫½vÿØÿ¡ÿ@ÿ.ÍM¡ÿlÿÛÿÅÿ2|ÿî₫®ÿ6—A­]°ÿ–YfÿuAÿÓÿ"û₫ÍÿÿæD Bóÿ:¤̉ÿÿs>Xÿ¨qÿŸga₫®ưZ›ÿÑ₫“ÿơư–ÿIyÿă¢#RVCîÿŒÿ0.HưªưöưÁư₫dư₫7jó)‰î嬽9< 90¨ØWr›;ÿY₫̀ưLưLü¹ûlûúù†ùÖùăúöü¦₫3[8§4ᦉ u  ‹  ½ TØư)û«øçööIơYô ó>̣‰̣MôwơJöŒöyø˜úaüTưé₫†üÖ1 )i`a#-₫ưú÷[ô)̣îñ;ñđđ­đóWơwơéơœơöè÷Úø̃ù‹ûPưRA ² 1!Ø!²àh̉ ¡₫yùjøÄ÷N÷±÷÷G÷ öô¨̣¢ñ@óôơyơæó»ó%ô[ôxơÀô6öKù•üJ̉ÔÎ%(N'ñ#–-‹ùơÍô§ơÍø;úúúä÷Đö»ôKó9óô‡öe÷ñơ„óøđḳäóöOöáơ·÷xú߬R"­*Ô)̣&a₫´œ"ûôÊó²ơàö«ù$úøûđü«úø?ô|ó—ó§ô÷½ö¤öñôṆ\̣̣ôööa÷é÷ ÿiƯy+ă-*†"Excü ợâóaơ;ø°ù­ú₫ü5ưƒü¯ù|öÆơAơíö¤÷GøÇøL÷ÀơÓññ$ñKô¬öÚöïơ÷ ˜ƒ(83'21)a(9°ÿœø#̣đ©̣©öTú!ûü½û]üÓû9ú ùØ÷–ø™ù̃ù¥ù øñơ¦óñ$ñ\̣“ơsø¤÷¸öïôäưV"+2„3”,̃̀T*kü`öñMđbñ ÷ûúáüÈư„ûüÂûÍüoưü†û‡ù‡ù­ùQùGø̉ô·̣ëđṬ:ô£ö÷W÷§öáøö(M3¥2¢(Ès ÜĐû}ø8ô)̣₫ïỴ»öÓúp₫­ưÚüàûsü$ÿ§ÿăÿIưlúèøøûøøcöcôẠó•ồöùøSù7ø[₫# ú,2’.E ˜ÂBưúö€̣ëî€í½đö`ü¼ÿiÿưáû~ưwªÿûú ø"ùúúbûåùàöNô[ô–ơú÷ù ú́ùJùÿø{ÿ Û*)/ø*ˆ£ Fÿ-ø7ö`ôµóØđ;đ€̣W÷n₫QÄ6¿ü ưÍ₫e%¶ư^ùÎùPûơứưzû—øö*ö*÷ ø«øÆ÷̉öEö‹÷êÿ “Å'ï*î$ é ŒÿèùÓö€ơô÷̣^ó–ơÚùƠ₫"‡)ÿ¶ư₫%Ù T₫Üû˜ûöüe₫U₫†üùÀöOơơ ö¥ö¿÷'÷÷öÀø÷? Ç¢%Í)w$Pu ß₫ùĂơöëơËôơ‘ơú+₫-S½ÿG₫ÏOn=ÿyüúiú+û7ü ü"ú øơÀôˆô…ơ|öÂ÷øùñùŸ₫7EÆ&Â&&ü—÷÷­÷é÷÷zöî÷ û¤ÿŸjäÿ­₫û₫{ñÉÿeư¡ú“ùù"ûêûùû2úÓ÷½ơơµơ;÷SøXù}ù¿ùÏú²ưR3U{#ö%Ó ÿá ]ÿƠù̃÷ø¾øPø–÷±÷üù̉üÄ÷ÿƠư1üºü4₫Ï1`Àưqû’úĂú üüuûVù]÷"öAöˆ÷₫ø!ú²úÜú,û¨ü·ÿv'yç #ÉßÊ ¶ÿ$úâ÷7ø}øç÷îö}öFø,û}₫ïÿÿ́ưÂünư^ÿܸÏ%ÿxü û:û˜ü¯ư¾ưGüîùŸ÷ö×ơ€öÏ÷FùƯúüư:₫d| å!₫"y) …û3÷öd÷¶÷*÷öíöúÊưqC£.₫BütưÑÿ4n•₫‡ü«û?üàûûMùj÷möươ÷ß÷-ùûùÑú üíü×₫•9 ¿ÛƯÓƒà $»øjớơ3ø3ùú6ù|úü~ÿ²/ĂĐưªüaü7ÿP,ypO₫Bü5ü²û÷û“úù[÷Oö÷ø úƠú́û”ü›ưÿºÿùÓ́â ¨@ J‹.ü@÷ươ¹÷¶ùËù„ù;ø™ùŸû$ÿ4;Æưßư₫`́hû:ÿqư´ûü›ûûBúûønøbøøùâúbüsụ̈üKư₫Jÿfÿíÿ BŒltxtn!Ûưù”÷¦øcúYúsú ù:ûtư‚‰­Çưư6ưPÿRÿMưưœü1üÍû•ú{úÁù‡úŒú(û#ûTûñû¶ǘư&₫úư>ưàư ƒÏ‚&~+ 6‹úøù’úûû«úQûäüÿƒ¯›ÿM₫§ư_₫ƠÿZë\Á₫øưxư>ưŒü£û‡úíùú»úûÓûûÜú¸úJûüíưo₫@₫₫ÿü$ %“”mưùVø‹ùúú©ûqûVû̉ûCưă₫ùÿ ?ÿ_₫üưr₫rÿo)‹'uÿ₫JưîûƯú8úBúaú¢úfú;ú'ú±ú¿ûßüÁư°ưYư ư‘₫f¢%;7(_# ˜füúBúÔúû?û>û[ûü₫LÿÙÿMÿØ₫a₫ÿúÿUÙÿÿ ÿUÿ₫Wưbû©ùêø ùEú,ûæû˜û?û!û̉û>ưP₫Ê₫̃ư ư9ưCbOáß-zF ZưÑúúgû û@ûqúuúTû4ưÖ₫Èÿ–ÿÂ₫<₫;₫Fÿ$ê‚ÿoÿÑÿăÿzÿĂư¿û‹ù‡øø»ù!û́ûü©ûû üNưØ₫ºÿ«ÿ¥₫«ư₫ĐdA ú²cÇu :₫¤ûñúÉûæû‘û«úAú9ûÎü,ÿ4¦₫Cư…üôü§₫ïÿ#Ăi®ÿÇÿIÿư‚úøA÷ú÷)úzǘư₫ư$üùûừ₫G¡Ëÿ‡₫À₫c]Øê‚#.< éÍúÓøYùdû¦ü›ü§û‹úÈúÈûÆưØ₫9ÿR₫xư6ưưưÿ±9k•ÿé₫ƒÿ™—4ÿÍûvøÂö́ö$ù¼ûùư~₫́ưüåûFüÁư‡ÿM$Á₫½₫mT '‘m Đû1ùrùÑûübüÇúˆùđùlû+₫€ÿŸ₫\ư€ü9ưÿç,”ü₫̀₫xỵ̈íNAÿÇûöø÷|÷ ùCûÜüXưưbüZüđü+₫Xÿ½ÿ}ÿ¡₫Ư₫ñæî î°R ´qüçø^øµùNû¨û}û¢úûèûÓưÿ”ÿ₫₫ëư€ưªư ÿ,*×Ô₫6₫•₫pÿ¯å`w₫qüvúù™ù^ú‡ûUüưưIư7ưÀưI₫Tÿ,´µ>¢Z& ïÉdÅƠ©ÿØø–ö˜÷̣ú`ưo₫YưƠû́ú[ûư{₫jÿÇ₫åửü₫üƯư_ÿxªÉ₫ ₫¦ưr₫Bÿ70—ÿ^₫'ưküüfüŸü;ưrưüư<₫₫Â₫É₫ú₫,ÿíÿOâ½?‹ø ‰”“Àßµ‹ùöÜöƯùùüœ₫{₫ŸüYû„úÑû*ưö₫.ÿĂ₫‰ưÇüùüđư—ÿyëüÿÿ₫B₫ô₫2#Rœ₫ưÏûÇûdüĂưç₫ÿ‡ÿÉ₫ ₫eư¹ưQ₫ÿ6Ÿ‰ÿíƒÁ R; ¶ ¿ÿ¬ú³øù{û}ưºư ư…ûÛúôúHü¾ư¬₫´₫ÆưúüüEư}₫˽èÿâ₫p₫¸₫êÿ9@=9fÿaưàû5û¡û³ü₫ ÿ`ÿî₫,₫}ưlưúư ÿÇJT{ <¼ÉÚ ₫)úqùơúUưÆ₫‹₫ÜüÓúªùñùûcưÂ₫ ÿu₫£ưJư¾ưÏ₫éÿ„`¾ÿÿ¤₫È₫`ÿ2Ú~̀{¸ÿtư’ûnú°úÙûưÈ₫"ÿ‡₫nư«ü‘ü’ưÿ'5ªe… PØ#Í vÅûeù{ùaûtư®₫Y₫îüQûgúÑú üÑưÙ₫aÿÚ₫k₫̣ưS₫̣₫×ÿK;¸ÿú₫±₫Ï₫Ơÿ‰J›¢6́₫ ưPû̃úû<ü^ưP₫b₫²ưÈüÏûü½ü ÿF¦pü “ Öî  Èñư€ùÜ÷øcû1₫k}_ÿư@ûú~únûư₫ÿYÿÂÿ~Ä£H…ÿÿƠ₫Œÿ€-T&€đ9ÿˆüTúzùú„ûRưc₫₫ưDüûÿúÂûæư‹ ™7 æ ù ‚ /Zü¢úÎûi₫®›ûXîÿvưüÍû‰ü¿ư¨₫9ÿÿÜ₫b₫D₫₫₫¶ư~ư"ư ư8ưÍưË₫úÿ@ Hnïÿ̀ư üâúûü¥ưû₫³ÿqÿ‹₫pư¨ü´ü¨ưËÿ«\î ¦U’ K9₫{û6ûÍü5ÿro+ Ö₫+ưiüWüưüÇưˆ₫ÿ₫/ÿ*ÿü₫É₫€₫E₫₫æưÛư₫Z₫í₫­ÿnïÓl₫˜üäúú'ú^ûøü£₫‘ÿ¼ÿ ÿ ₫NưVư³₫1çº] Qœh Ø&"2ư\üư ÿ\“ƒ7₫@ư–ü ư`ưG₫p₫×₫}₫x₫üưçư—ư‡ưjưRưnưuư₫–₫Ùÿ‰=ĂÔ₫5ư4ûúvúĂû=ưÛ₫ÀÿËÿ?ÿ'₫®ư‚ưú₫ës—: O ˜ <X₫ üÓüK₫T¨aƒ€«₫đưư£ưÁưœ₫ƒ₫¶₫ ₫æưkưOưBư>ư`ư>ưưyư5₫¨₫àÿc$¥Y₫ư’û)ûVû\ü¡ưÀ₫|ÿjÿÿG₫₫6₫¸ÿË8X đ ; q rưf₫?ưư¿₫P.¾Ëÿm₫ÄưQư¯ư₫³₫è₫Ư₫w₫âưgưôüêüÓüư%ư‹ưÍư‰₫2ÿ‡’îÿÆ₫ưcü üGüVưi₫ÿơÿiÿÎ₫2₫₫…₫·ÿ¬2¤ x Ë ¬ ¶Pè₫­ưßưÖ₫ê liÿm₫Íư»ư₫₫á₫ÿ°₫C₫¦ưOư ư$ư8ưtưˆư¶ưçưV₫đ₫˜ÿ%B₫ÿ4ÿe₫—ư`ư‰ưL₫ÿáÿ.'ÀÿTÿÿ1ÿ´ÿpm`xq~IÙÙP+¦‰‚ÿö₫̣₫1ÿ•ÿÎÿØÿÿ!ÿ™₫&₫×ư¸ưÄưíư%₫P₫k₫Z₫,₫́ư½ư¼ưøưf₫æ₫JÿnÿMÿö₫—₫^₫a₫£₫ ÿwÿĂÿáÿÖÿÅÿËÿjèe½ú5`¨ơ9]VºDĂ^Ô£t1̃ÿƒÿ-ÿđ₫Ă₫ª₫₫ˆ₫z₫u₫_₫:₫đư‘ư-ưçüÉü×üư(ưQưlưŒư®ưîưK₫Ơ₫yÿ<Î~¨cvXœ'¹Nărư0Üÿ”ÿQÿÿï₫Ø₫̉₫Î₫¼₫“₫]₫!₫÷ưÚưÛưƯưîư₫&₫J₫|₫°₫ë₫)ÿlÿ·ÿưÿ>v±æ"Qw€}gL(Û¹¡œ££™sA àÿÄÿ¸ÿ¯ÿ¯ÿ­ÿ­ÿ¯ÿ²ÿ±ÿ±ÿ±ÿ¸ÿĂÿÓÿßÿåÿæÿâÿƯÿØÿĐÿÅÿ¼ÿ³ÿ¶ÿÄÿÙÿëÿùÿÿÿúÿøÿùÿ',.2795* ÿÿ₫ÿüÿ÷ÿïÿèÿæÿèÿñÿöÿüÿüÿøÿóÿîÿèÿăÿăÿăÿåÿèÿæÿàÿØÿÑÿËÿÍÿÖÿäỵ̈ÿ $)*)&(,29>BEB<7/#ÿÿöÿîÿæÿßÿÚÿƠÿ̉ÿÍÿÉÿÉÿËÿÏÿ×ÿÜÿáÿăÿäÿáÿáÿßÿáÿäÿêỵ̈ÿøÿüÿÿÿ₫ÿưÿûÿüÿ%08?AA?:3.'%" ! ưÿöÿîÿéÿåÿâÿƯÿ×ÿĐÿÇÿ¿ÿ¶ÿ±ÿ®ÿ°ÿ²ÿ¸ÿÀÿÇÿÍÿ̉ÿÚÿƯÿæÿîÿ÷ÿ'17;?>?@ADGILJGA8.% ûÿôÿîÿæÿ̃ÿƠÿÏÿÉÿĂÿÂÿÁÿÁÿÀÿÀÿÀÿÁÿÁÿÂÿÅÿÊÿÏÿØÿßÿçÿñÿøÿưÿ !',279:996520.,*&! ưÿùÿơÿñÿîÿêÿçÿâÿÜÿØÿÔÿĐÿÎÿÏÿÏÿĐÿÑÿÓÿÔÿƠÿ×ÿØÿÜÿàÿäÿêÿđÿ÷ÿ₫ÿ #'+-/110-+(%" üÿ÷ỵ̈ÿïÿ́ÿéÿçÿäÿáÿ̃ÿƯÿÚÿÙÿ×ÿØÿØÿÙÿÛÿƯÿáÿăÿæÿêÿëÿïỵ̈ÿ÷ÿüÿ "#&(())&$! ₫ÿúÿ÷ÿóÿïÿíÿëÿëÿéÿèÿèÿçÿéÿéÿéÿëÿëÿ́ÿíÿîÿîÿñỵ̈ÿôÿöÿöÿ÷ÿøÿúÿûÿ₫ÿÿÿ ₫ÿùỵ̈ÿñÿñÿîÿîÿëÿéÿçÿçÿæÿåÿèÿëÿîÿñÿơÿ÷ÿùÿûÿưÿÿÿÿÿ  ÿÿùÿñÿíÿêÿíÿđÿóỵ̈ÿđÿîÿëÿíÿïÿóÿ÷ÿúÿưÿ₫ÿưÿưÿûÿüÿưÿüÿûÿûÿưÿïÿäÿâÿäÿåÿëÿîÿơÿóÿơÿôÿöÿöÿöÿûÿÿÿ  üÿùÿøÿûÿ ôÿèÿàÿèÿîÿúÿ ûÿûÿùÿóÿôÿđÿîÿđÿđÿüÿ   ôÿđÿâÿ́ÿïÿ  øÿôÿđÿ́ÿïÿøÿøÿưÿ₫ÿ ÿÿ"5HOOWtª§£Bñÿÿÿ̀₫€₫A₫₫ăư±ư£ưư¸ư₫‘₫>ÿéÿ¨HÛ;Íö øËx2ç¥u- ÄH£ÿă₫;₫˜ưưŒüüOû‹úùùäøùaú¹ûÄüÉưn;Î’1–áÛ®3‘o!ăêij& º·ÿ®₫Áư,ưåüư™ưC₫Ç₫ ÿÊ₫c₫”ư¬ü³û̉ú…ú­ú†ûºüƒ₫ŒÛ–b}Iÿ¤ư]ü¦û‚úùæ÷øù^üíf> è₫B aÀ²₫Íúsø÷0÷qø\úÿü´₫ÈD+‰½BØ£*€¥áÁÿ[ûæö.̣<ïní“í̉îöï3ñWñnó{÷4₫HÔ3@!²"FåĂ Eïøó̉ñ'óL÷ûđÿ±ÈZ–ÿ$mK u Ơ Å/ û¡÷²óªñ¨ïKîít́ÖëŸêŸééêñưÀ ¬(b.e)J ́ÙúÂơơYøôú‘ưÈư9üÍüư¿&:£| ̃ÿưíú_ú»ûeưúúöîí-æVà°̃@áåéêê¿íTù‰,\+ê4x4l&B_øpô)ø­û₫ ưƒúDüé Rø© ˜ø"̣Lơ™üÀ ¸T₫–íáơÙƠÙÅßqäíæáăÁáüàc÷±B0¤C<Ư/üú₫ÿíùÉññïIøfä—!&¡…ơ`ô÷ê!ÿåùÖôiø} ”óuÚuÉË~Ù,éźBä†Ư'ßú(‹>%J 1»OlR»ú%ê–ê¹ơ˜ˆ Ó ÿ÷ ÍúêÎæñ÷́5vûÈïDäµƯö̀jͺƠă߸ë—êÅèAơæ+Ä:…8†/.;· ­ÿ®öGó@§H 7 ‹ßù¡ùñḳÏư£ú‡₫A} c ƒüƠäÆƯï̉Ó°ÖüƠ•ƯØă’åØóùûĐ "1ª9ª8r%« 9· ™ü$û>m óT )Rúnùlöö…9 VúïMâ­àoƠÓjÙ.Û³à0â/äüó>_` ½/¬8ê;—+#&c O*₫›ûgv¿ĨôumùƯû¢ùµúư…°ob÷4ó́äÅăÛLÙĐܵÜÙÜùßáåÿö^ưí)ơ8£>9̀+̃*Ù„¯ưÿKû0ë oM₫ÀùŸưuö,÷”ÿQ¨üKôÚóeëẫXÙÜÜ̃¹ÙPÜăăŸí‹úÊûy2§8Æ936/Ü-Œß9qHưúÙÿ¤ưä₫üỤ̈Ëú[ˆ₫”öKôẶjäüƯ­ÛÜ$ßjÛ¥ÙYâ3éẹ́+÷ÍQ&0565á3§1®2×%í ”Ơ£|¼øư₫ú ₫{ưéưgG÷_ñùk&!₫ơÑơ†ñ“äFÙÏÖ†Ư£á·ƯâƯfæñÆølû- `#-E.â)ä(~*£!RI ư¡0ÿçưœ₫₫ü]øÉö4÷·öJ÷ùêû»ưóûÆøNöbơåôÇôpơö¯öö^ô¤̣ÍđÂïÈđ˜ó“øüưk£ö ¡m'Y$åZ̉× è ₫˜d1ÿW₫G₫FÿHïYhÿ ₫Ăû¨øvơf̣Ÿïĺ=éåæxå åÛåÂè,îpôFúȧ¶ vSbèƠÛBµô ÿÿ,ÿdÿ×Zp¡È₫üùơ¸ñ©î5́:é2æ¶ä9äpäæÇê9ñA÷„ưư ˜Mâïơ¨/‘Sß ZS¶æCK>p##P¿ÿ?₫ˆû¢÷‘óÂï(íëeè₫å”äIäºäcæ[ẹ̈8øÇ₫m6 ]å/ç'3z̃đ Œ \OÙMûoÉz‡Ư^¾₫ưú”÷Eô›đ«í ë©é×çiæ¤å æÿæzê˜đö]üß÷ ¤BíXüTU6 ¨ 1®x˜cNBÿà₫₫G₫ß₫3₫8ưàûgù₫öôƠđËîḈ÷êˆéæçBçyçyèỚ²̣đ÷₫*l X¸’ƒ×uç7×V ÂU E-ë₫h₫M₫Cưư¹₫g₫tưüåùø&ơÜñ²ïÉíÚ#ëđèÉç̣ḉèí¸̣¹÷øư9J ÷ -1}¸ĐơF±ù : úÖ£¦§#XÿÍ₫‡₫ư ₫uÿ4ÿf₫ư2û•ù°ö9óßđ¸îí˜ë)éâçÆçèënđÍơ üm «·ƯsàrWđ[Ë ¬ 6z›¤ÚÿUÿÚ₫¯₫$₫C₫Œÿôÿÿ̀ư0üQú”÷ôHñYï£í́æé(è×çöçŸélî5ôú›nf ¶ÛƯ$²Áç7éT Đ£ºK‡Vàÿÿy₫₫µư|₫+ÿi₫jưBüúYø]ơ˜̣ÍđïpíÁëÖéưèÿèIéǴïñ ÷ưʦ ‚QsÚ²®Ï)̀ £ 3ÎÎÿ²₫Ưưíü´üyüÎü₫2₫«ư ưªûØùÅ÷+ơóEñFï›íë¶é)éèèêµî€ôú4,— F´¸<9úư€T ær ₫ưœüúûÄûüMüŒưà₫Î₫i₫´ư2üpúă÷!ơó½đ£î¡́Yêđè¢è´èfëñ@÷vữÆ 91Â-Eƒ*É€ }`sÔ₫!ư*ǘû¨ûçû\üGưâ₫ƒÿÿœ₫nưˆûUù‘ö ôûñ¹ïµí·ëơéKéWéUê‰îÏôêú ‰ hÆƯ¦Dϼd] …§(Dÿªư_üÿû üü`ü(ưj₫†ÿ‘ÿä₫₫|ümúø•ơUó,ñêîĐ́ ëÀé‘ẹ́é́dñÆ÷ư¥¤ ³¶£îÅ)µü: x÷Äÿ ₫¢ü‘ûvû¦ûÉû{üæư$ÿàÿrÿÉ₫‘ư3üú¹ö¿ôẸ2đ€íœë̃é"éÿè êŒî2ơ‡û?œ¦ XA*6"\b:B:© Y<$ÊÿĂưü₫ûÿ‡ư`ÿƒï²’ưûÚưÓơöđ,đ»êå‚ăăàÓá/àà¥ç}çyÿ‘ :—&a'^(¥"! ư  Jp–²ûưÿNÖú]…ûXÿà™û”₫Nú´÷ṣ!ñvê[ä¢ăeă:̃ÔăáÉåïè;ïSóÿ¯¤Á%3µ3ø/}#Úv’û¥û£öûö0ùĐû̉ØưZưSùîü½₫É÷Kù¡₫™ú—ô^đ2ñÀêăá–âHăƠăơáVäßîï©÷úI(ơ 2¨7Ë1z&%­Â×øÍÿ”ưó÷å÷o÷î¸₫øö.«ú9ù]ùÿTû^øråüöỤ̀Kî́¼ă€àµăÅä/ăêâªîpô‰øÿúg-"Á.¦82#Ù0÷¨ø₫ÿ÷8÷₫÷j~›ø̀ư€PúÏ÷ü÷ô₫đ₫÷CF÷“̣ºđX́ƠäăÛÀâ×ç™ßèâ½ñ´ô¾ü…ûbĂ3!!/«9Ô.* ¿ –ñÅô·ÿø’÷8úÀ~tù‚úYåù=ơ£ø₫ÇÀû~₫Ó„ùËđ>ïXêåcƯkácê ăßâBơ+ø¶ưÿH‘4 #,p8±,1ÅÓ ñ$ñË₫ûö›ü jüçøĂAư%ó,øª/ÿÅüpXúëïÔí¼ë ă\Ü?ä—éă»æăóœûÖ~ÿp$ø6#•+ë6ÿ(Ă Û ¬đ)ï¿₫rÿ÷îư¤e8ư8÷ø₫h₫æóôâ9Âư‡.âûSñê1ë4çüÜ6â7́…è’åCô”üđÁÿ/Ơ8k&&ư2đ+‘­ ́­ öÅíGø üíù\¹Áÿ÷Îúưpú-̣gü>»Đưú́₫ ó[ídépè¿â²ßsè@î7çiï~ü$̣‰$6,²#+.’æùÄÿŒûeñóùÿ.ØúËÿ$øŒ÷̃ùĐüiöøÄóÿUÿ<ú đRé èmè#ääSíưíÀë?öK â(Æ5§"$x/¤"p Èư|ưö›óRô×Uqü¨ÿ†¤ÿ©ơX÷úçú%øû`77?üĐöáîYëñæLç₫åéÀí¤í4đ÷ùi á/B3Y àđ,¾̉ê₫ØüÔúƒ÷ºöÏơÄ™’₫ûC̀ÿÓô†ôûù̉ú}ûüĆI₫D÷öéñ¥éSçêPéeë-îí(ñeưƒ(u  21{1ø+l̉‡ûsü9úPøÏ÷¸ơ¢h ƠWøÑ¼£÷‚ñø±ûưư¿ÿ“íùôtôơïaèoé́íḉ„ï5đe÷ă¼cë$Ü6¶&$Ơ#ƯAø,úÄûYö̉ùxö ü˜ `ü½ú_xFọ́˜ú“ư®ư¤₫wÖ€¿́öEñ)ơ•đ;é‚édîñ́´îï&̣*ø]ƠƠ-¬2Ä`ñ$ IÿJô"û+øöàøû©ÿB _ VưZû6Yó"ó¿ú₫₫ ưHƯ^4ˆ;öq̣¦ơñôéÉêùî…íïĐï_̣]÷S¶ Í+%0gT°!áZ₫ ó¢ù”÷®ơË÷§ü‡`n ºwûäÿàöđ̣›ùG₫“û₫×{₫_öxô+ôîï1́.ïÄî:îjï ̣lôœú  ·-?(”×Ñ ö«ó<ù̀ơÅôư÷½ÿ Ÿư”ư’ơ[ôDú"ư”û]₫@±Üçúö=ôëđ€î₫ï4đqî{ï©ñ ơ“ø]Ná+…(rº OøiñÖ÷&ö@ôơ¬ưZ, d ÿ̃1øôFømư1ünûöÿ—¾r>ÿvúĂơ‘ñøï³ïñWï=ïªđ–óöüåTV$à)­ · [̣Àô«÷Ưọ́ ø’ÁÂ₫’ưo÷ösû€ư6ûû¡Z•ïe¹ü–ö3đÆîÍïñ‘î¼îñôöiüù+ä#»(0 U&ø9ḷóîöc̣ëïHö¯kû¾ @×Ë₫±øe÷vûư úGúÿU3 @¨ ư6ù£ñÓí_đQïßíYñ£ôçơmụ́: µ8'G$ö5 çöñö=ó?î:ñ®üldÜ—©>Ê¥üùGúóüûMùÆüiÆSœ iưú¡ø(đé#́ëñơïóîNóäöL÷<₫]đ¶ %9 ˆ7Éó\ó ơgï1́uóÁ₫ü{?¢®Ê₫;ü4ưüîøø&ư¨ÿn¥F ÈPû³ûø1î¨é®ïệ¯ïRđ@ơ÷ ø"œ *"²"¸¡2ư×ôăö[̣ë¬ëZöñưev…i  ôĂiŒÿt₫‘ùÚö-øÀûûxÿx(oÿ?ü ÿ“øîíôợüî5ñÎơ¶ơ9ùQ. ^R"Æ ’Ú û+ù̃ùÓị̈ç ́R÷úû ÿ§"̣=–Yđ₫›ùzøpúQù*ûaƯÿ;ưƯMûÑñđDơ‚̣{î„đ[ôÁóºöß₫̣ï¥ °Ë%Đ!vKbÙ₫î'ç‹́÷ñ`ïCñö÷wÿf«^Àâ Û)ù@₫¥₫¡âưhù]ûäüÇơ¥đç̣ ô`îQî•̣ ó̃đ ø‚ÿ¢Ưh[ç­(†!ä˜ e æÿpîäê×íuêSåAê”ñm÷û)„. ¦ Á ñ z ¨ Æđüªûù=̣+íœîïSë"é^î³ñ*ïèđ}ûø Ùª#÷Z¸)®'Ạ KÅ(ñëëí¥çÅàçäXëBđ7ơkư~A  |́ĂÔ ]₫ưNđëâí7ëäåë×́/ëƠî,øïÿz* %%`!́,Ï%ŒåÊị̈́ÀíBæíß­äë^îọöúé¸ m#øj Ä XYơ‘ïüï›ê¸äöå!êơéqêeîơ!û©ÿnDÖH}é"Œ*A‹án¹ưkó÷…̣yå´ä,́®ëÍéÈđcú¹₫½" çñ¬ /ÀÿOùôơ´ñQ́pëVí;î±íÉđäôøhûQ’AëØmÿ•ɦ’éư}ÿûÍñtï8̣¡ïí?ñö•÷gû£Ư#ø S Ç Æ†tư¦û̃ø÷ñö~ö³ơ`öR÷ă÷³øûåü°₫1ÈM  × ¶ L Œ ° Q™~ÿûøfù5ù„ö’ơ—øoú,úeư§[ O#̉÷-zÿ]₫Qü»úßùđø§÷U÷̉÷Â÷Tø¤ùpû/ưâ₫²¤Ïm#<é …€æCñîư·₫Gÿûưƒ₫?])“®>û‘`1^!ÿvưü.üéú¨ùœùŒùæøưøú¥úûü ₫$ÿ—ÿ¬j!=é÷óăWK`“6¡–1ưBÚă‹9ÿÀ₫₫2ưÄüjü(ü÷ûéûèû$ü‹üÅüSư₫₫ÿ¢ÿơÿ1n–€L¼ÿŒÿmÿ+ÿ8ÿ¡ÿÛÿDy¿c̃ú,x)́” tïlæÿ~ÿHÿ÷₫º₫Í₫²₫¸₫è₫ư₫ư₫)ÿoÿpÿ\ÿcÿmÿ9ÿă₫Ë₫₫&₫àư¿ư¾ưÂưïư#₫X₫«₫"ÿvÿêÿ[·=˜ê îX/îă÷̀ÊíĐ©đƠ’q—hƯÿÀÿ}ÿÿă₫­₫}₫d₫z₫;₫$₫]₫₫t₫e₫ö₫ÿđ₫;ÿËÿóÿăÿáÿkŒAj|PT)Åÿÿôº±ĐV̉×SPÿó₫Ø O¡®A¬ÿäÿÇÿÿÿŒÿdÿé₫ ÿ ÿJÿÿ́₫SÿQÿXÿ~ÿ¥ÿ9ÿđ₫¥ÿWÿSÿ̀ÿ£ư ÿù]ÿlÿ̀óôÿAµœ²Ç_np§̉ÿñÿơÿÚÿYÿưÿÿÿ"ÿoÿvÿ†.Á₫é₫̀T}₫á₫dĂvÿÿÿîÿlÿëÿ̀₫M™úÿæ₫­ÿœ¹₫¿₫Ï€76Gx̣ĐƠC¡ÿ’ÈÿRÿÇÿX™ÿ°₫!ƒSÿLÿs؈ÿÿ& ÿAÿïÿ·ă₫›ÿ0âÿ“₫Iÿœÿ\^ÿ®₫ÔÿéC₫S₫—§₫₫7fúÿjÿyÿơ₫èâr₫ÿlÿ¢ùÿ"ÿĐÿrëiNwÿêßBÿ=ưbÿ9ØYưÿ[/.=₫1₫•æ÷₫‡₫µ Çÿúưÿ8ÿ¡ÿB9É₫Dƒi₫ßÿăÿ’ÿ¢µ1ÿyÿ+ÿ5 ₫ÄÿÎX§!ÿè„ú¸ÿ̉ÿi₫]ÿ₫È̀˜₫ÁüÂÿµ̉ÿÿû—Q…å₫$ÿº&ƒ₫`₫Æÿưÿgÿ1DïÿjÿkO³ưØ₫‹5ÿ8GÀ™ÿCÿ₫₫—ă₫ø₫Ø×ƠÿÁư2£ŸÚA₫̃±ÿ¯ÿwÿ‰ÿ™=ÿWÿ1"@ÿL₫_¤ÿ$₫ïÿ¨₫ÿÀ₫JŒÿNä₫₫à´Ø₫áÿQ-{₫fÿ·>¡ÿ¹ kê₫µÿÎ9*ÿdüÿ ₫”äÿ_₫"Z‘ÿđưs/ư]₫ĐÛPÿyÿ”\;ÿô₫Ưÿ7d|₫æÿwBÔ₫%æåÿ€¬ÿÿ{yÿÄÿÀÿĂâú/ÿ“ÿÓ₫äÿô₫©­₫ÿíU×ÿ#ÿáH³ÿWÿm²ÿÿMÿ1ÖÿBÿØeFÿƯÿ|ÿÆÿbÿU›¹ÿH̉ÿ•₫Qÿ<O=û̉.ó₫úÿ0ÿÁÿKÿ•ëÿqTbÿIeÿ7 ÿ¿ÿṕ₫ûñÄ₫´ê₫ÿÏë₫Éÿû ÿ»ÿÿÿ]¾ÿ¥ÿÙ₫aÎÿKÿđ3<4ÿA-1ïÿ̃ÿSjÿÿèÿđÿ{Ÿÿ¬ÿ}ÿôÿoÿjÿÊÿR<¯ÿÿUíÿÉÿ̉ÿJÎÿz₫!ÿÓÿ`ÿ8ÿ@»₫#ku ‡qÿqÿ(X[₫sµ ÿ9%mí₫Øÿ+Ä₫₫ÿKR!ÿ£¾´ÿ ¥ÿ€ÿÊÿ…‚ÿ̉ÿdÿ6ÿÎ₫å–ÿp`ÿ^@ÿ[ÿÊGÿ±bÿ˜¸ÿ8ÿÍÿ[ÿ~ÿÿbÿ•TŒéÿÀw§ÿsÿƒ%³ÿµDNÿ₫ÿ;ÿtÿÓÿ†ÿlöÿU¬ÿ°bOÿR_¸ÿnĐÿ=‘*ÿgÿyÿnÿ«ÿWLÿ0éÿ4ƠÿÊÿlJ—ÿi.˜x–ÿs̀ÿøÿ{ÿ¼ÿ—ÿRĂÿRÿ”èÿöÿMEùÿ•GßÿI§ÿÚÿùÿØÿ·ÿÔÿÜÿÈÿ­ÿ %%x%-&ÄÿđÿÄÿÓÿ×ÿÑÿ¦ÿûÿæÿéÿïÿæÿA'E0*íÿâÿîÿ×ÿ¸ÿêÿÔÿđÿÏÿïÿ₫ÿüÿ )4&& øÿ áÿÜÿèÿăÿæÿèÿíÿûÿèÿäÿôÿ́ÿ<V/8öÿäÿèÿÖÿíÿ×ÿêÿåÿèÿöÿúÿ  $%'ÿÿ×ÿ ñÿ÷ÿôÿñÿÚÿïÿåÿ÷ÿđÿ    üÿưÿöÿưÿëÿëÿ  üÿ₫ÿûÿ÷ỵ̈ÿơÿîÿïÿèÿơÿçÿơÿïÿúÿùÿưÿơÿüÿ ûÿûÿüÿüÿ÷ÿóÿüÿöÿ    ûÿüÿưÿûÿùÿóÿûÿùÿúÿöÿöÿ₫ÿ÷ÿơÿóÿóÿ₫ÿ    ÿÿüÿưÿóÿôÿ₫ÿ ÿÿôÿøÿûÿüÿ₫ÿÿÿ ùÿúÿüÿúÿùÿôÿùÿïÿôÿëÿèÿéỵ̈ÿ÷ÿ́ÿëÿïÿñÿđÿÿÿ₫ÿ   ÷ÿüÿëÿîÿæÿÿÿÚÿèỵ̈ÿ æÿúÿêÿëÿöÿûÿ÷ÿơÿñÿúÿ  %1%;2<96ôÿ!b“ Mÿÿÿô₫(ÿRÿxÿFÿÿjÿ~ÿcÿÿÿ9ŸÔµÿc`–Ùz‡jn”VºÛ‹iîÿ·ÿPÿÿÎ₫ơ₫ñ₫²₫{₫e₫M₫8₫p₫×₫à₫ÿÿpÿzÿ¨ÿ“ÿ&‰‘₫ùË îI\ëLô?7]ơÿg¡!₫ävưÇü₫ÿû¿ÿg₫·ÿL₫kÿÛ₫ûư"ÿ…₫Sÿ“ÿiÿHÅ₫¨ÿ̉₫5ÿâ₫ªÿv~:ÿKXÿ¦"öÿŸû‹¸Öÿ u¬màÿ/ÿêü³üÏư₫¥₫äÿ₫&?ÿ;ÿÄIe·ÿ¹iÿ~çÿ’¨fÿ•G.\E¾ÿÖ₫’6ÿçÿ¥ÿ0ÿ>\ÿ·ÿï₫aÿºưSư©₫-₫̀₫r₫eÿÇÿ­ÿ˜Ă¼>XÅV ,©¿é%L¢ÿ;ÿÇÿ`₫èư¢ưƯü;üú<ú8ú´øø úÖúàû–ư¯¢ O ? RDù ” ¡ÿ˜₫ˆúXö²ơ¬ơkö.ö¯ö úbû;úeû…ûöøSö”ô²ộ'ñƯñ‹ơĐó^ߥ ù6ág̀)₫›ư»öŒ̣¾ṇ̃«øEû¼ù?, »„ ü q±øûơọçÈäîåÚâSá,ăènị̂ñåö5L'8,ä' 4D¸ °ùOúJúôíôgơâûTÍ₫Ó Á… µ e §@ü ÷´ơXênå&å‹âä\âÍáfèÈèÍéô¾û=Œơ,¾,´$Ç\ Dù÷ưû'ú€ơóøFû̃›&i xR0zU¾ùăûù‰ï*íÊëÎç[â£âçñå/ä™́ïđ¦öûÛ̃%$)â.&¯NØ Ä®ơâơĂúùúûb₫mt ev ~ïü†úpùôüĐûvø¸ư~úṣưđ¹́,ê=åjäÖëë5èkñóóKû;ÿ6©++ \%I,î"+ ̉æÇöùó₫ÿß?øĐ \ưOhüàöơ÷ú¢ÿ>Ûÿ¦ú$óJïyê­èçƒèäïÆî’î]÷ÎøYX! +ß>!'kÊÙ%øHøyÁè_ nüöĂú;øöơdö̃ùXÿ¢ÿư°Öÿư÷Íñmí9ếí¢îpóûñPó«÷ĐøT₫xK'¿%Í$%d =PxôYùyC)ĐO*úö̉ú?ùuù§ú₫‚ S1ÿ²ú)ô›ïƒ́́Dî¶îIñ ơẉọYöù̀ÿsÿÜ„+×̃"^#Æ îûSûƠÿ`ơ¾÷âŸú¼€üôùXúdúëúïüđ•kÑ`₫UúÀơöïPî`í‹ïVñNñ7ơTơRđ6ơÂöÑüAư¦ è*º!Ú*$\µXDùuÉü¥ơŒÿ„-¯ÿsË­ôÑôÉù²ùú6ûz- Œ˜ÿKü¯öñïîjîñđyđ¤ơ ơÂị̈̃•ơ*ûư­Ä'Å&'±$µ ¿JÜú*đÛơÍü¶^><ÿ,"V÷ọ̈9ùơùSú}ú]₫Ó}Ñkÿ'ü¨÷đ´íåíÎđîï^đö’ơCđ¿̣Öơúˆüˆr$ï%Ic$¯!i åư "÷„üp¡›₫$0Ê÷Nô%ùùyùFù¨üFèü™ùặUïmî<ïÀîađaó—ôpđp̣ö“ú·û$C!%A$[!¤ ̀7O÷pư}¿o'ư¨Å³÷r÷xú{ú»ùÇøEưs̃(\ü,ùóèï½î`́`́Éđṣóøđ­óø£ûú $Œt#+ ŒxÛ 5₫Öøxÿ-ÿûưN tøPûÉû”û7ù¤ø÷ư˜a₫²Éû¶øqóoñ´îñêíæđ ñ)ññeơøDú«ûĂ/J ×!—å < ~ üyư#R€́üíÁüûvư]ü…û"øäù«ư¸ü)ư™_%ûRø7öĐ̣fî±êüíïîhî¾ñ¥ô&øúø¾vóf"ơ Aʶ üúàÿ÷£₫®û%‰ú€ưd₫́ưCüùüV₫vû5₫©|ưJú\÷Đơº̣©íçëæîtî¾íDî`̣ơtøœøq mỢÀa³÷¡néóåÿÿÿĐûÑûe₫(üz₫8ÿW(₫¤üé₫¸₫áüº₫ÍüQû)ùüơoô<̣ñînïpđ—đQñẓQơLøäù¬üè½ ç P~s–J—6¹÷s†₫ư`₫HứüGư3₫Dỵ̈₫µ₫ƒÿëÿàÿ¿ÿÍ₫W₫!ư†û³ùYøÑöºơÍô ôCó›̣„̣¬̣}óÓôâø×ü‡7x ë !ৃm Đ , " câÿ2ÿH₫₫èưúưG₫Î₫pÿ¤ÿ́CÿưÛúQøáơ‘ó}ñ¯ïpînííoíƠî~ñQơú‰ÿµ ¾ £÷[ă²ØZ 5 : ûn€ÿ*₫2ưåüư@ư ưN₫ÿÛÿkÿûưÓûBù¢öñó]ñ^ï6î}í\íîiïñôa÷Ưûsä> ư õó¼æVPïÏ  ú—t₫ưjüÔûÔûüü=ưäưi₫¥₫o₫˜ưüú¢÷ơỊ́:ñ|đgđ½đeñg̣~óHơ­÷®úr₫R _  _` aX̀©È ; c]Uÿÿ₫ÛüXüü?üü¿üưEưŒư°ưNư«üûÊùă÷7öóôô¹óÈó6ô´ôơ‡öơ÷̀ùü€₫-Ö*Å   ̃ e ·   g f_I|ÿåÿ2ÿ«₫*₫âư‚ưư¼ü„üyüOüêûfûÁúĐù₫øGøÓ÷¯÷­÷æ÷<ø”ø₫ø§ùzú…û̀ü2₫æÿ£ù³9¥çÓÈtÙ-LcÉ f¶ÿÿ ₫₫}ư/ưßüjü!üªûPû×ú~ú+ú&úú]ú§úôú«ûüÑüaư<₫₫Dÿ&¾e {ÍíÔà»·µ¤¡i1ô€·Ṇ·ÿ@ÿ®₫7₫¬ưaư/ưưư9ưvư‡ưưäưH₫₫Ü₫ÿÿ̀ÿ-s˜Ÿ·§”c(ôÿêÿÏÿÎÿÊÿđÿÿÿÏÿ¤ÿJÿá₫ÿ¢ÿ´ÿ¨ÿªÊæ>Ûù$îâ4Jºµ3¹ŒIÄ7'ÿpÿÿœ₫ÿ@ư¾úäư~ûÀülưlü.ưËû]ưƒư₫²ưÎÿà₫̉ÿÿ€=*[a;™ă7ÑbEÿPỵ̈×ÿ×óÿèàâ,¾ÿ™ư~Đûfûpÿÿü üDûÛø ư{úv₫~₫¾ÿgÿ©_µƯràÑv%hê%á₫5ÿ/ư<ÿÿŒÿ¦ÿ¬q/t©xe–æÿ$₫ÉŒü¢ÿ¾üö₫³ûûÿøûû₫¯₫mưÏ3ưØ₫®ưàüÁ$₫b ¯Œ³äü¼üe₫Sÿ₫¢BûéE₫YÂÿăµÿ$­ÿœÎW₫ä©ÿQJü™Mü[ÿ.ưy₫èÿïÍû¬_₫Hÿ_fưWeưÓ>ưbƠừÇüQØư¨[ưiPÿ²ÿ=ºÿK·A₫jưêú2 [s5ûM ÷ç₫zû1ÿ9ûîûÓÿĐø¤ø¿Ơü€¸üäư˜7ü>ÿå­ù>^₫„Ôÿ4¸ÿ†æø6 f÷Cîÿ°1¥₫ù™₫²₫wüüL²úå$ư¶ưñjûÊÿ¬q₫ªÿ[ˆüï¢ÿ`ÿ¥ưbsÈưå/ưîưp¬ü™XüưË‹™è₫)?Ơüq ±ưÿ­Lû:Yüc´ù|üưư˜–₫ơdÿï₫₫/ưă*A÷Oûvưd¸™ü±Hùûû*ø=úđüó₫ơ¢‡¿ưJ¸`₫¡₫L₫³üœ4û̀Ï₫ƒư]øÿü4=­ưvÎsư]ÿÚ™û³Øø%èöư ,ơ2j‚ûè_øá[úo÷ Nù†`úo sú 9²₫¤Éù úªIø‘Ñû™¶û̉ä₫jÿÉ₫Ÿ$ÿ©ư˜₫uŸüY₫ÿXNûnü<îûÅ₫ú₫½Gù² ËơL×üffÊÿR̃t₫5€–ÿ ÿÀï₫-yÿmÿüœ₫TïưHèû̃ÿÿ i°ÿ±ÿ̉ư€>₫ÿpÿ¾ưx)5“₫(ú₫a#₫ư¢J¸₫ eúÈ—ùQø€ù™Œü̃íưĐAüÏ}û“æüAoưèïü–<üh„ÿ!₫ü½(üöÏưàưRÿN'ÿ×₫Ñz₫eY₫¿àÿÏzÿÁ~ÿëÛÿ§ë‡$Bÿ–ÿ ÿÿ₫›Q₫’Ïư¾?₫®§ư2̣ữ₫ÿÜư‰ºüJ₫¯ÿË₫âÿ ÿ^ºưÀn₫dDÿrÿt˜[ÿ‚₫IÎ₫}ÿqÏÉ6d¦tK1©Mÿ₫₫r®₫­ÿä₫"ÿg₫ÿ‰₫w₫a₫+₫G₫V₫ºưÆ₫a₫ÿÿ•ÿ»ÿÙÿO{䛄ÿ­WÇMåL¬¸7 ”Hđÿÿÿæ₫l₫@₫Ôưxưiưúü¸üüüÔüûü+ư¡ư+₫C₫ç₫ÿÎÿñÿ~̉6£ú%OpƠ£è¿á ²6@Å]tQÿhÿœ₫…₫·ư•ư ưêü§üü¤ü‰ü̃üƯüaư~ưÙư ₫‘₫§₫*ÿ¢ÿQÀ7´3‚éLp¿ÏÍÚ¨Jïï_ÀöÿOÿ”₫Úưưqüêûyû$ûơúûûaûûütüöüư9₫ô₫Íÿ±xa øŒ>ªVwu(Ñ#oƒ¡oy;ÿ"₫èü·û²úsù°ø»÷E÷àöôöüöh÷ö÷ÆøÁùæúpü-₫ôÿ¾¼t3ZÍ – > ` R î '  å}KùÏp%ÿÇư|üû¦ù;øØökơ ôẹ́%̣‹ñHñ–ñ:̣^óñôr÷-úưoÛ*́ Å ƯñN/{@ ‡Wo±„USÿ2₫Aư üÙúyùÅ÷úơôâñâïî΅ëëÈëH́Éí¢đ1ôOøÆüá—ô ü s è£tÍ ZŒ2Í©ÿƯ₫C₫ ₫ ưÑüÉû‡ú¯ø%ötógđ¹í̉êëètç]çöçêÆíḷ§÷%ưè?áù±  æ¤ , … L‡´ÿÿ¸₫œ₫á₫ÿ¶₫°ưØû¦ù¾ö>óÄï³́¾éSçZå£ä åăæ¸êđươdü!‚ æäK#§vd±1Îú ÿôÖ eÿß₫Ơ₫ ÿ%éû™ö4ơ<đ2êĂçÖää°àúà ăHéĐđ¢ơî₫b/rà ̣÷‹ÔZ ă†ÙK74¥C[¥-uỵ̈û’ó~íêmèfæ%åüäFæÄåYæaèTíƠụ̀ü } ùÊgi³àäÀ ‘̉Ç Ưÿ•‰>w¶¢\·ÿĂüNơó́ư釿näwââtăç4æ8ëlí0ú¯ ú‹ăVåÅæ O £ Û Ótÿ‹ữ`&W À Ê!ÑÿÓü‘ô–êßè¬å#áÅ̃ÈßÖßñá̀áØè£ëûă ö 3Ï!#›""O “ e›₫à₫¬ư9ÿ¶ÿ?üĐy²àƯ k &;ö₫UùâíBèQç€âÓÜTƯỮ~̃¢̃úâ@ëퟛ yj"{'l'§'¾" |N  É kưD₫́ûkư½ư`Aê3, …±ưúîđ+çJæ–ă·ÜïÛúƯWƯßµßêṕÇ>áă!M*Û))&= –µF œ ”üáưèûz₫m₫ư-°ç̀Å J€̀ưfùËđàæ6äùâ³Û,ÚâƯÜ“̃-à é“́-­Íí$(,u,4+h&̃!T? Q ₫²₫ŒûüûÅ₫Wưư£]㇕ RøüøQîÏä¸âPá٨ٮÜOÜƠƯ}á¹é•î«ó6f)[.#.©,&¼#§ ( æ€üPûGûvûcÿû@ÿLû5Ơ Ö «×ÿúöqéLâ´áÊƯØ5Û̃ڶܯƯ¿ă@êệ¹Ưª?-1Ă/-à% %R D ̣bụ̂úuúúû₫ ú ²‚ßÏXTưföGđyăàỮ¿ØÙàÚ̀ØäƯữöçëFvë%å1‘3‚0*à%M#,ú’bÿ]úUùù$₫vûíúîvû jĂP­ơăñpç^ßùÜ:ÙØ3ÚæÖËÛ¥̃å›é—ôâ,k*06Œ4/¥&æ'È ²°û}ø_öûŒư;÷;ÿ^{ Ñ?Êö•ïFéeàùÛd׋ØúÚjÖëÚ ßMå ê‘î̉ ç>²+ô5›6H2'd(#f $ Èí₫9ú±ôk÷âưºö?ù–sD *©^öù‘î|éăÜרÛÓØâ×1ß̀åêù́¢ĐÖ-(u329È5È)d'¯&ï¬ =¼üô¹̣Rúôöö÷û¾Ư h&@Ưüñ‡èµăáÙ>خۄÜsÛfßôä?í‰ïRa%E075ă4.5'Ë&8ŸôKư<÷̣Àơ9ö@ôú#´Ü2Sµü½ñ»ê?æ5â—ßóÜAƯ¬ß_ßáâèîg̣º6{˜!v)˜/»0I*°%m$Ë À͈ùnó'ô‘ô>ô“ö’ü¥qĂ₫çüâúÄô¡íưèwç‰åËăâYă^åBç“éđ|óưf ä$V!&0*V'E"™"}­2Jgđ₫Ëö§ôơ‡ô¼ơøƯû ₫Rü úLù‚öỰÍîḱÅëëtéƒèQéßê?í¥ïoôMøª8 Ë&P¾đ!œY$“iGl µAÿ9ù¥÷@ö_ơôôöÊøYù5øè÷»÷ăö-ơc̣F̣ÚđGđưï?ï¢ï¾ï¢ñmô}ö7ùêÿÿÔ ÇG̃[ʃ—ªx ) {¾₫¼ûĂød÷pơ˜ôÂöÀ÷z÷Ă÷®÷oø̀÷ơöAö¨ööüöjơ ơßô†ômơüơVø<ù‚₫¦9b» -{#̉á́× D k₫qûƠùÏ÷˜öv÷’øø¢øÅø úßúú€ú9ûiûEûZù5ùrù!øf÷ºöQ÷Œøơøœú₫&T“˜F ¦ Ø ́†àƠ èíàŒ₫fü˜û úrùhúÓúóûüîûÀư¯ưO₫₫¡₫₫¥ư;û¨úÑùçøï÷¼ơ=ö́ơÛöăö’ú`üúÿ"ô›– [ ´ ¾ z Y  U«°¶¸ÿÄ₫©ư‘ưíưE₫ñ₫Fÿfÿ ]|ÿ¾ÿq₫ơưưû ûZùƯø„÷©ơ—ơ•ô¼ôÆô±öT÷úKüGÿGb£ÍJ ¯ è X đ ë L ăLñ• ‘‡ô-¯ÿå₫•₫¼ưưÚûơúßù ùø^ö÷ơÿơÉơïơŒöØö×÷ ù(ú³û4₫Œ¬ ÿ ™  ä › ¤ Ư Œ¨ñ†•®†ÿÀ₫ơư'ưưfûêú¦úúSù©ù)ùäø§ùÍùÁø6ø#úƠù<ùOù^ûûúWû©ü₫Q5,q‘ Ù # Ñ , 5 ¿ q3|ÈêÂÔÿI₫ßư«ư‡ư₫ü¯ü0üüÖü3üCüüÓûÜúŒúúuúåùâøFømøøø¤ùàúaü ₫ç| ¿ÔÆ U ] < #W|غ’%×d`ÿ,ÿ̉₫P₫«ưƯüưHüwû(ûíúØù^ùØø~ø¾ø`ø³ø›øhú¯ú*û ü¥üà₫`hz¸ˆTW9¢pfèªû*zS’,,Bÿ¦₫e₫uưƒü–ûÿûßû—ú:ûCû@ûvú/ùJú ú«ù̉ù̃ùƯú§ú`úcû¶üÈư…ÿ:aư:+U>̀«®ädªy+k ¿ÿ¤ÿv₫2₫Áư3ư}üüJü…ü±ü\üsü̉û$ûÿúåù³ùàùïùmú‡úûăû©üºư³₫aÿ6ØæöD·ŒMR°Ñó,Ͼ÷…Åÿ&ƒÿç₫>₫Úư>ư[ư-ü4ü›ûdû&û“úKú\úUúQújúû2üưư«₫#ÿ0ÿ ô&Öÿ°#Ñb*\:•©XÜ-ƒƒÛ–đ…TÿIÿr₫₫˜ưzưüœüóûÖûËûiûûûnûđúuû‡ûüSüCứưh₫Ó₫ªÿZ%ưÓE4}B„Ăéó”]ĐxÔ« å%Ñ®ÿ6ÿÉ₫w₫)₫Öưüüèü†ǘüüwü0ü üü üMü”üöü„ư ₫^₫¶₫ ÿˆÿåÿ•$Æ#ƒäQR`t|mudë#Ă‚;üÿûÿ̀ÿÿÿ¯₫3₫ùưăựư ₫üưƯưưNư4ư?ư!ưăü₫ü˜ưl₫ÿˆÿäÿ (8h²)»G5ơ nˆ¶ùK•o–ÈqaP_›À¡C̀ÿUÿø₫á₫̃₫ë₫â₫·₫j₫"₫ăư„ưAư€ư.₫•₫œ₫®₫ ÿ†ÿ²ÿÈÿêÿY«è);7((e¶́Ó†¾œ°̣̃÷è’ÿ4ÿë₫Í₫Ö₫Î₫¢₫l₫J₫₫Îư®ư¿ưÊưøư“₫fÿúÿ6XXD>b“Ê 9@ óÆẠ́?ƒ»Ùßăö>üÿÿØ₫÷₫ï₫æ₫ ÿÿÈ₫V₫üưÎưƯư;₫Æ₫4ÿaÿ>ÿÿç₫ÿ@ÿ¥ÿ'Ú m_gRW•üJmuN Æ´Êéç½güÿŸÿsÿOÿ6ÿ_ÿºÿÖÿ¦ÿgÿÿ³₫c₫F₫>₫=₫Q₫₫º₫́₫ÿIÿeÿ•ÿƠÿDt”¤¬Ǽe®Í”F([œ¶·¡i¾_Îÿ¢ÿÿ<ÿæ₫…₫!₫èưÎưßưúư'₫X₫®₫Jÿâÿúÿ^ÿp₫Øưóư{₫ÿ­ÿFÀü׉¼BăX‡Rå…WLV}¼N^¨#›ÿû₫g₫₫₫ưæưÀư£ưtư'ưúüưWưĂư6₫œ₫ß₫ÿ8ÿsÿ¶ÿ’"¢ñÚ¼Ơ#c8ụ̂â£v4û̉•XóÿÿPÿ₫₫½₫₫h₫F₫5₫F₫r₫£₫ª₫Œ₫f₫t₫₫ï₫Wÿ±ÿíÿàÿßÿ̉ÿÍÿåÿ0Y¤pạ±ăîë@COM<öƒk\srPTûÿ¡ÿpÿÿ÷₫Î₫³₫̉₫«₫₫@₫4₫9₫f₫₫Ä₫,ÿ[ÿ½ÿ̃ÿîÿ[R¤î1IXÊuuÂÖ Aÿ°gXZKàÿÛÿ\ÿÿä₫è₫̃₫Í₫ÿ=ÿLÿvÿAÿ?ÿ/ÿ{ÿ|ÿĂÿG,/Ôÿâ₫ÿMÿÜ₫¹ÿn²D®ÿxÿƒ7µïúÿŸđSüœ€ØRëüª™ûöüFü±₫â₫q₫Ö¥ÿ§₫ưóÿür,ÿZÿåÿÿ¨ÿ¡ C(0j)û²ÿ_ÊưNÿsÿmÊëĐÿü.₫KÿĐ₫6ư€ü0ú;ø÷?÷¶÷Í÷Iú2ừÂÆ y#áX Z 8s_₫¦ú¡÷eô~óJñđẹ̀"ó±óöÇö/ùXú]ú—û ü•û̃û·ü«úL 8”±Ûôù&‚ b rÏưäöñ̃́€î©éëçđ„ñNơûúÿë×bưăú°ö~̣Í́8é'ë©ë_é;ÿq l åö&).Ÿ0Ç*=.½)n °ñ^æKÙºÖߨÆ̉~ÙăèxñOư­Y³I~‚ưYó³ë[å Ú©×ÂƯ ̃‘åh·‹2đ<7GA17‡6 !ôăû,æ ÙñËâÂgʯÍoÓFèư÷ fJ"\,7*Ơª_×ơöç̃ÛmÖÑÙË@ĐÑƠ–âçđ½ü(æ3l9O”PƯK :"J₫>̃¤Ø¬ÊæÅøÆ×Éß¾íÂôm u†%N0N,Y%‡‘œơçWØQÔCĐ´ƠÇØÚØáÖë­̣̀Ù;ü2A:èBÎ9ƒ/v}^ơæÛÖÜ:Øữ°ßé¿ûÛ₫Á·£œ\XÓ“ù¥ốaæ,á₫̃Yåæâ€áéç-ë]ïâúÚ÷ Ă/E6—51A7:O5ƹCÿ₫́ ØÄÙ4ƠkàÎè±êÑ₫Y ơjî ̣ øêôÚî@ï`ë`ä*æåêpë‰éÖéRïsôûᜠ‰3k<¼7È=¹3u+w8̣̣í—âƯÖÜÛ̀ƯẶf₫Àÿ¢ 0.(ü¹üû[÷X₫z‰a‚ü­øôñç`äFă¦ëDëăëˆí{öUùñú ±ƯCü77Ë,̀+åî@̃́ăâèé₫đâü œâ ‰»÷7ëÊæNđ—ù”Y[-Ç‘÷•́ưăá‘ä¢éäôĂô—ñxñự„ø<öƯÈ:û9„3"Å#Èóöá·æ¥ïöÿo¿B¡Ñ”̣9çµéè»è‹ơu8N!0¦̣âå4à+çĂîđđôôỤ̀ïê9çïY÷>ÅĐ)|DÄ@j3UĂ ’Hê¯â ëdü, ² &ÿ;óă•ßïéêó2ÿ y"«¡₫Éîê°æ5ç ï?óÔóçñ´íêñèĂê€̣fư § [0KB7,RXưeø9èÛçØñj‰ĂzÁú-ó<îhă±âçđÎiĂ£VùGñ´ïñ`ị̈ôQóôïâëªé^́_îÇó¶öƒ  gØ=CU5OĂùú÷"̣]îöÑ^´ç HûŹưëê3ç+î”ùq »đ  dÇ•&ù¿ơ¬ơôöó2̣pñAííÔécê¹ñ:øÚü×¢ "E@Ö>û) À÷ùôơTûF ]‚Ăîâågê7íçîÑö… fó †ÊñüQùhơ\óợ–̣•ñJïÉđŒîẾîñúö,h › %p8i6À"¯̣Ró÷\₫¼ ́w|₫ǻ¬æº́”̣Ä÷´úæÿè—Đ?w₫Hø¸ôo÷›ø?ø÷VôṢWï¨íMîó´ø›ư9Dó-6:k&,<ö×ơ¬útÿi ˜M“hêä:êÎñÖùú¼₫¼÷ˆØô¡*ûœókô¬ơ(ø¿øˆóWñńÇê†́ûñûxÿȉÿ 3F<ø0\ Øöeôªöcÿú₫ÈB¬Dÿïå ë>ơøưbüû̉¬( ª$3%elùmô¦ô˜öÇøDö×̣ÉñđÈđ'ñ…ñdúäÿMÀÿX +j94æ®÷sïWó¥ÿ)ôÇ?­ôÓç êüóûưƠÿ6üÁü* º³Jëÿ₫ñúë÷÷ơGùÙúKûđ÷/ó_đï‘ñđó×ùT₫_ưAøH!l998Í₫û2ñ¶÷_1²¼ˆ Øơ¢çèÇô ÿ?ÿû¡ø{üµ½‚bư…ùOøéùÚư›ûËøô¡ñ©ñ=̣tôÅöú øÓö ö! I-|9¢0ŸAù£øUû₫FOV qiñhèÂï–øIÿöû{öù`ưƹ<ùcl!ưÆø™ø̃ú”ư)ưQø¶̣đÑï²ñ­ózöâü}üäøîö¢-%7E+b ·û'û₫€íÿ˜;^ û@îÎè˜đjû”püÔøqûrfTx5E|Ëûfö÷Sû@ư¾ü ùqôÆñ¥îŒđđó3ù¸₫üûvúW s'T1='!`ÿăü₫9IÑ l Ị̂îóû'ÿnûødú₫ÖưvNåưÿ¯ü³úáú§ûư;ü!údö½̣ñ̃đ§ôS÷mưưúL÷œÿ/p/%0ÍÜ0úNú₫ÿ¢Û:‘ ¾Oö’ệí́÷–ÿ§¯ùư÷ËúÚ₫µ“JïrêüùVøûQư_₫ûAơ¿đ¹î¾ñƠ÷ú4ûfû\ù±ú`úÍ #806+íĂüøTưü¡xî Ésç̣ííóü¢ư÷@÷†û'EÛVȳûø©ùÅüÿ¹üø=ô×ñ=̣ƒô÷Zú¯ưY₫Oú§ö®÷ B#₫.k( ÿQûçưN]› üa₫ụ̈gï´ö.₫RĐüªöơöcû‰^e=ƒüøI÷+ûê₫hüöẶgñ=ó§öªúUüü ư&ú@úÊù-Ñ+„*đùưTúN₫ĂMzÓéÿª÷Xđ\ö·₫?¶₫æơÆơ­ù‘ç ₫?úÊ÷ûáư*ÿưYøơơäóôqöOùQưµûAûwû+ù‚ü÷ư†$È(0! ưí₫†“Ôm; OŸüOó×ñÙúaÿä₫Cùùơ–úÿ¶oñÉ;ưŸù¨ùÖü ₫+ư˜ú°ø$÷ơôûởù8ưïü¶ü<û7ú“ûÊrê(œ(Q4ú¯ûªưJ3¡ Ù XO÷ÄîỘüJm₫ªøß÷˜û°₫¶¦êăÎÿîúÎ÷Ăùư¨₫Œ₫ü¼øWôSñ ô>ú8ÿo₫zûüù€ù<û½ưª $*w Züm₫(WZñB thù¤ñ9ótû̃₫Öü8úú)ư­ưœưhNG¸üdùEúưư‘üÍü ü¥ù₫ó̀ñMơ€úÔ₫,ư—û<û¨ụ́û_€ %ñ$‹¸‹ưưưÿË̀ $ v÷¹ñ›ơÓûWưwüjûQüIư!ư—₫»^Dƒü#û ü#ü©û&ü¡üvû ÷&óûóâ÷¥üöư@ư®ưáùûùjû#G¬%„!}»̉ÿ¡ûûñ₫~g XuưÅöôÏø{úÖù•ü ư¦₫úư_ü Jd°₫l₫Æü,ûbûŸú,ư|ü:ùº÷Ăó°öú]úÙü½ú»û²ú©ù3ÿ^ e$›t%½₫4úeùaÿt× ưæ÷UöÑöIøùXưÿ₫æư¦êIÎ?ÿ ưïùûùCûÉüü×ù5øøơôT÷êû5ÿÅư_ụ̈úÇùzühx&¶ ­¸PưÏúĐơ ûæ| Ö |ù¼øSö̀ơ¦öÑûå¾:ÿxÿwá“đ™®₫ÖúOúçû=üÎú¿ù£úJùöºö(÷¶úÈư₫üyúGù"ûẹ́V ÷ 8q döøôUú@· â #&Lùöó‹óüö-ü₫hÿxÁ™À¬…fá₫„üÜû¥úÖúƠû•ûÆú‰ø@÷Àö”÷‰ú©üS₫rüÓ÷̉ùŸü© Í” ´ưñ—ơăó†üqËä‰ấùFơYơÉö(û ü¤ÿYtº6£2¶₫{₫-ÿđư|ư9û†ú–úWùÜøQøµø¡ù/úñùdûFửürú»ú|₫Ç ÆWøç¨ Köøóú₫l÷¼Èéư÷ơö~öo÷yú₫B F’ëá₫}ưt₫₫Ơûcûdú;úhúù,ù»ù¨ø¿øñùÈün₫¡û¦ùrü₫ÇÊ:q+Ë íDùßôyøû|®{e]úyøïơ„÷Øø6üÀ3Ê ˜°ÿöưă₫&ưüèû-úû«úeù¾ùúgù`ù^ùßûûưÂû?ú3ûRưÚ)¦ DöæöøùˆûΪ[₫Zü¡úD÷}÷Æøàü°ÀÆ_JöÿÊ₫Tưyú̀úü‰ú!ú@ûeûªúÇù4ú¡úwùÏù˜ü­û£ø†ûÿ€ ¢̉qî] ư<øúøüûÈÙíMÿ¯₫ùû÷eøXøCư*ÿ5 yZÖÿIÿüàúüZú³ú÷ú@ûÄû9ú§úWúvùªùfùôûGûÿù*ưÿM u¸¬1”ü"ûiû#÷8ü‰2]r(Ÿùºø₫øưø ư¦ư梻á;ÿæüÎü ưàú)ûjûúÓú%ú³úQûeú¬ùú»ûuû¥ùDût₫Ï›̉Ld" z üÈú°÷Œù8₫Øÿ[n:Ÿü‹ù9ùÖøûwưqÿ>0Íÿ₫ư|ü°ûÿú̉úû9ûơú†ûúûrû»úÏù§ù₫útû`ú>ü>ÿ@ P'¾óêG 3+üúo÷úñ₫Êÿ0ĐL!ü@ù ú—ùÓúîư¼ÿ 6ôMÊÿÿ₫oư’ü§ûÈúûrúaúµû½û üû¯úÏú.úöú‰ûáú¢üÖ₫}H«z}Eê œKư6û8ùGùÓü†₫*₫ÿ –₫û¯ú¼ùû,ưRư³`µẤÿưüüEú%ú­úØú‚ûFû¨ûûWú'ú̉ú{úêûjü£ûY₫́ `؈CĂ ¾´ûûùú ₫×ÿ'»Cÿơ₫¤ü„úfú‹ú:üS₫­ÿïÔúk(x₫9ư‡üüûôù»ùfúÖúçú}û?ûYûÄúdú¨ü(ûŒúwưÿa½ ‹nX§û ,í₫¡úÈùnûªưx₫o¶v´₫Œüeûzúwùû₫ ¯ä)²ÿaÿ̀₫íưÊü„ûóúúNù®ùeúû“û̀ûXü+ü“ûûhûMüáüúÿÖ ÏWÀ ü$ÿ’únûŒûéü°ÿ³%óŒư¡üăû@ú»ù‹úBưEơôóµÇÿ*ÿ8ÿ\₫tưÑû ú…úÍùÊù9ú£ú¾ûÙûÍûïû1ü©üüßú7û₫Î:¤`nd½m3ÿÜûÚûbưnh9́₫•ưµûoùyú¢û„üT₫ï₫º½Öô]Óÿª8ÿ4₫»ưü@û˜ùÑøúrú?ûüû[ûXüøû®ûĐüüèûaü,₫I” ²Wä T _(kÿ ư¡ûu₫tŸJÿ¯ưDưcưnûúyúHû—ư°₫÷₫°*€rû₫àưüvû6û¨ùNùŒùrúơû=û£úCûûEüQûNúTû₫5ô¡ ß Ú–„ @C¿ñÿK₫ ư³ÿ ,ÿCüùûÜûưúú?úæûY₫Iÿ́ÿR–]9ÿ‚₫×₫₫Müû,úúøùkù‘ù¤úCû1ü¯ûFûnü)üÔû•ûjü8by YŸpO@ 0Ñ¿ÿN₫[ưJ₫ÀFª€ưÎúúkúsúNúûúDưäÿpC€l;₫Ưư¶ưưhûbù‚øÔø'ù_ùÆù×újüµü3ü¯ûjû¦ûÄûeư¢ô ›zmñ† Œêÿ(ÿ–ÿê₫e₫iÿg₫úmø`øjúkû€û?üL₫„A‡ÍƯÿ˜³P{ÿưûÊù‡øv÷÷Đ÷©ùûBü³ûcúzù¢ùuú̀û₫™I: La%„¸ w¨LFHÿÿ©₫Ê₫±ÿ‚₫üíù¡øÈù<ûŸü-ưæư¿ÿF9>ÆÿBÿ½ÿoĂë[₫Aû%ùs÷øöÁöj÷‰ù¢û`ưÄüÓúlùÑø2ú‘ûûư₫sÑ ô¾ŸlÖ ëư*ÿ–ÿÿsÿÿ ÿ`ÿ½ư"ü—ùçøú<ûøünư\₫»ÿƒ·Íÿ"ÿ#ÿ¤TÊưú÷oööu÷èødúØü†ưúüîúùJùàú ₫ŒØ‡½ 9À.À(Y ̃[ÿ-ÿQÿÜ₫³₫§₫₫ĂüØú¢ù ùƯúqü]ư ₫j₫Sÿ ’’Üÿÿ­ÿ®oÉ5ưöø0ö‹ơ›ö<øÄùsûư₫ƒư˜û̃ù‘ùLûq₫4Ÿm ] Îa!JD [±äÿaÿ=ÿ;4ÿ́₫ôưưüÑúúkùKú1üÁư`ÿsÿ®ÿÿ±ÿưÿ›ÿ£ÿ¦ÿ¤äK¸ưú÷.öóömø7ú¥ûØüEưÊüËû×úËúæû₫<- WK©ñh –0ÿ7ÿ«ÿ1ÿ₫¹ư(ưkû}ú=ùú£ûXư;ÿƒÿ †ÿKÿ@ÿÜ₫1ÿ¯₫ ÿ}ÿ„ÂQßÿhüuù¢÷÷ùNú̃ûiü1ưeưèü"üûyûàụ̈ÿ÷D† L Ff ¡ßºGÿ₫Cÿà²c»₫¥ư­ü”ûûÛù"úÏúÉüÜ₫ ”®ÿÿ`₫B₫S₫₫.₫₫¢₫Oÿ8Ûœÿư¯û+úÎùbúeûºü–ưQ₫$₫’ư›üüŒü%₫“;ÿÿ¸ ₫—e ›œ6ÿÆ₫ñÿ‚‰²ÿ~₫—ưvü«û¦úú@úKû;ưÿSa‰ÿm₫ŸưBưLưKư—ư₫à₫¾ÿZª\ơÿØ₫Æư‘üüEüâü¸ư₫N₫₫ûưzưüüÈü4ươ₫$)ă + WÔ6 3 Éÿ@ÿG£₫´ư…ü&ü“û!û¾ú¹ú¿ûưë₫ÿŸÿ₫¾ưiư„ư.₫₫z₫m₫yÿª·ÿl›₫:ü¸ûü—ưÛ₫ ÿø₫#₫*₫èưëư~ư÷ü@ư/₫T†‘ # #’ ê¶Đ₫¡₫CÿVLÿ*₫áüêû:ûåú‹úöú¬ûHư₫—ÿÿ¢₫Æưư~ứừ₫ø₫'ÿPÿ¾ÿ ƒ‹¯ÿ6ÿ¬₫6₫ÑưXư{ư”ư[₫₫Ÿ₫ëưNư*ư²ư[ÿíWˆæü k̀ qYVÿÍư~₫ÿvÿî₫₫fưœü]üWûçú:ú̃úüóưŸÿ0ÿ½₫0₫z₫œ₫ª₫ê₫ú₫ơÿ˜¹ç°Ë‘ÿÄ₫̣ưñư°ựựư8₫z₫₫₫úưyưÏüđüƠưâÿ²¾˜± æ Ó q çÀ̀¼ÿÅ₫Ă₫ó₫ÿv₫§ư¼ü ü¡ûHû?û\û*üQư¿₫¾ÿ‹ÿ¹₫X₫ˆ₫oÿ=¹‹:.GlƯzÿ₫ưöüLưÛư6₫N₫N₫/₫)₫Ûưƒưđüäü§ư­ÿ£äæâ Ö B ˜ äîV¡ÿÿCÿĐÿĐÿPÿ₫ÙüçûgûƒûµûHüÏü´ư’₫Tÿ¿ÿÿQÿÔ₫¾₫ê₫wÿ(Ûdö¨¹₫½üû…û€üƯưÎ₫ ÿv₫®ưçü‚ühü”üIư~₫ix‹]@0 ˜ Ø * a€ÿø₫}ÿŸÿ,ÿ₫ưiü@üYüOü4ü)ü¥ü‘ưÈ₫¡ÿûÿ¹ÿ`ÿEÿÿa|ơ†ªèưÅûäúû_ü}ưC₫₫œưư×üưưwưåư%ÿíI~cö@ )  Ê .)bÿ©₫¸₫Ă₫‘₫çư7ư›üMü:ü(üOüeüưü«ư¹₫ÿ,ƯÿÄÿŸÿóÿ1¢ ˆĐ/ûÿçưü£úMúøú÷û;ưÚưA₫ ₫±ư1ưÆüöü¾ư…ÿ’¯I– ‹ — 8`~­ÿOÿé₫D₫Iư¨ü2üNü[üdüWü[üïü­ưØ₫yÿéÿ¿ÿ„ÿzÿ”ÿ]TÑ6jÄ₫₫Øü°úÄùÑù ûqü¥ư7₫!₫éưnưSư5ư×ư'ÿPÇƯ_éw½C P ¿\E19ơÿÇ₫₫ưSụ̈ûÜûTü§ü/ưDưvư‘ưîư˜₫ÿ¥ÿ¥ÿíÿèÿ0¢ßËÿ=₫YüºúÔù‰ùYúûYüúü‹ư˜ư£ưóưI₫nÿʲh÷ô?zÚ( ùÍ«ƒ¥l—ÿÏ₫₫ ưVüü<ü¡üíüưóüưjư₫ó₫bÿÿWÿ"ÿ)ÿiÿÙÿ&hÿåư³üƒûûĂú<ûúû=ư5₫ÿeÿ~ÿøÿ̃‰©uẤ ddPäHµ1C"ÿq₫4₫₫₫¾ưSưöüëüMư«ư₫>₫u₫₫¾₫ñ₫ÿ3ÿKÿcÿ­ÿ£¸9ÿu₫6₫W₫₫«₫Û₫;ÿ„ÿ¬ÿ‰ÿ`ÿ~ÿAÿ ÿú₫ ÿaÿ—ÿËÿ'§²`QH5U¨–›”€e1æ˜L[×ÿ‡ÿÿÉ₫₫*₫₫êưùưöưîưéưaư4ưkü„ü^üü%ưÛü£ưư@₫n₫ë₫Ñ₫¾ÿÂÿ#ŸˆnDè³4:;‚`÷đ‹fô’<ƒ3Œÿ?ÿĐ₫‹₫J₫₫¸ưqư\ưLưoư‹ưÔưôư:₫;₫“₫Á₫ë₫ÿ8ÿ‰ÿ’ÿÙÿéÿ :-Mjm£ˆÉÂæĐîí)÷"ü ȼ‹zI%üÿßÿ¾ÿ¢ÿ›ÿ’ÿÿsÿVÿ^ÿ-ÿÿơ₫ư₫ø₫æ₫î₫í₫ú₫ÿÿ!ÿ;ÿDÿPÿmÿ€ÿªÿÈÿñÿ ICA47CFI2o@vq[˜†¡³­̉ÑƠË̉ǧ¤—–‡\*âÿÎÿ§ÿˆÿoÿ`ÿNÿ*ÿÿû₫ù₫ô₫ơ₫á₫é₫ï₫ÿ₫ÿÿ=ÿXÿ€ÿ¡ÿ±ÿàÿ+Rk˜ÄÊá̀zƠrù₫æ¶xH0%%ùÿéÿÏÿºÿ©ÿ¢ÿ¡ÿœÿÿVÿ0ÿ7ÿ7ÿAÿ6ÿ5ÿIÿbÿpÿLÿBÿfÿ™ÿ›ÿÿ€ÿ¡ÿ±ÿ̀ÿ Gqœà ÷ßĂ—e0úÿăÿíÿ ơÿïÿèÿÙÿ½ÿ»ÿ Y€m`Q7$^¯…=Aßÿñỵ̈ÿÆÿtÿ]ÿÿÿ×₫Å₫¶₫Ü₫̀₫×₫ư₫ÿ₫ÿÿÿô₫ ÿpÿyÿ•ÿÎÿ…D¤êCqR3‚”I•`ÄÂßB»j^₫öư4₫Ûư€ư›ưñ₫Ö₫₫ûưZ₫ ₫́₫~ư°ÿÙ"cÿ–₫ûư¤₫`₫×ưÉ₫Yÿkÿuÿ¥ÿNp¬ăíeæïƯ;îZ·¸OĂXKi¼₫Àüƒü‰üMưˆư¢₫CÿĂÿ°ÿâÿ(('Öÿ"ÿ¢₫¯₫®₫9₫₫₫@₫O₫‰₫ß₫{ÿ’(¬M;öIV¹#Äÿ¶₫₫đ₫ă^AWQÎ₫ûûIưi₫»₫́ứư¿ÿ؆÷ÿóÿo—ÿZƒøÿó₫×ư3ÿ„ÿ=ÿ¿ÿ¿o¨ÿÿ4\ë₫A₫ÖÿSèÿ₫₫K¿É½™IAh aÑzÿ™₫fÿÛçIF;^¾ÿ%₫,₫₫mÿnÿê₫†ÿ36*₫Óÿ’â¿₫hÿNñ¿₫—ưø₫*$ÿ₫£ÿù¾‡ƒÿ”y•Dÿæ₫HºXÿh₫ˆÿzêÚÿçêÿuÿ8}Óÿl₫̀₫TÿtÿÍnÁÿæZ=ÿkÿ±íÿFÿ³ÿTQŒÿÿëÿ•jÑÿÊÿM0Ôÿ7ÿYÿB̃ÿÿ¦8ÿ®ÿUjÉÿ²ÿ^›1̀ÿ:Àuèÿñÿ_C–ÿ‰ÿÚÿúÿÇÿJRÁÿđÿøÿÓÿ›ÿ¤ÿ₫ÿ¸ÿœÿÄÿóÿÁÿ¢ÿ̃ÿ+Ḍÿ6¼ÿíÿ>Cùỵ̈ÿWŒFR|KÛÿƯÿùÿ³ÿ®ÿ́ÿèÿØỵ̈ÿ ơÿÓÿâÿîÿóÿáÿƠÿéÿôÿưÿëÿçÿ öÿÜÿîÿ ưÿéÿüÿùỵ̈ÿ&@4%'ëÿöÿÿÿ(ưỵ̈ÿëÿ̃ÿôÿíÿ̃ÿëÿ₫ÿ́ÿûÿđÿëÿưÿûÿæÿäÿúÿñÿéÿúÿüÿïÿçÿưÿ   ưÿưÿüÿøÿôÿöÿøÿîÿđỵ̈ÿ÷ÿøÿöÿúÿúÿơÿđÿêÿíÿ́ÿêÿ́ÿïÿöÿöÿ÷ÿûÿÿÿÿÿÿÿ    ÿÿ₫ÿ₫ÿưÿưÿ₫ÿ₫ÿüÿûÿûÿúÿøÿùÿúÿûÿ÷ÿøÿùÿùÿ÷ÿùÿøÿøÿ÷ÿùÿûÿüÿüÿ₫ÿ  ₫ÿ₫ÿưÿưÿüÿüÿúÿùÿûÿúÿùÿúÿùÿúÿùÿøÿúÿûÿúÿúÿûÿưÿưÿưÿÿÿÿÿÿÿÿÿÿÿ₫ÿưÿ₫ÿ₫ÿ₫ÿưÿưÿưÿüÿûÿûÿüÿüÿûÿüÿüÿ₫ÿÿÿ₫ÿ₫ÿ₫ÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿưÿÿÿÿÿưÿ₫ÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿ₫ÿ₫ÿ₫ÿưÿÿÿÿÿ₫ÿ₫ÿÿÿ₫ÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿưÿ₫ÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿưÿưÿưÿưÿưÿưÿÿÿ₫ÿÿÿ₫ÿ₫ÿ₫ÿ₫ÿÿÿÿÿÿÿÿÿ₫ÿ₫ÿ₫ÿưÿưÿưÿưÿÿÿ₫ÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿ₫ÿÿÿÿÿ₫ÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿ₫ÿÿÿÿÿưÿúÿùÿùÿúÿûÿüÿüÿ₫ÿÿÿÿÿÿÿüÿûÿûÿùÿûÿûÿÿÿ ưÿøỵ̈ÿ́ÿëÿèÿèÿëÿ́ÿđÿơÿüÿ  ÿÿưÿüÿùÿưÿ₫ÿÿÿ  ÿÿưÿúÿúÿ÷ÿöÿơÿöÿöÿùÿüÿüÿ₫ÿÿÿÿÿ₫ÿüÿûÿ÷ÿûÿúÿüÿ  ûÿöÿơÿöÿôÿôÿơÿùÿúÿüÿÿÿüÿúÿ÷ÿóÿơÿ÷ÿûÿ  üÿúÿöÿơÿôÿñỵ̈ÿơÿöÿưÿùÿíÿçÿ̃ÿÙÿÖÿÓÿƯÿæÿèỵ̈ÿ  ùÿùÿơÿøÿơÿúÿøÿúÿûÿưÿ ÿÿ₫ÿïÿïÿơÿïÿơÿơÿ÷ÿñÿơÿôÿöÿêÿïÿđỵ̈ÿöÿûÿ  ÿÿóÿôÿ÷ÿ÷ÿ ùÿóÿăÿÜÿâÿâỵ̈ÿóÿøÿöÿ÷ÿ÷ÿ÷ÿơÿñÿ÷ÿöÿüÿøÿñÿûÿ́ÿîÿïÿ .)070)2$ ñÿïÿăÿöÿêÿéÿíÿôÿèÿàÿơÿƯÿơÿđÿíÿ₫ÿèÿÙÿÖÿÑÿÍÿÎÿÔÿÖÿ̃ÿ1@WKYhju}wJ7̉ÿÑÿ†ÿ¾ÿÿ!'ôÍ~eë1­û¥ø{̣EïĺKêÙ́“ïrôûn }xă '‡!öd»ừô|î”ç(ä̀ăMæ$ï5ñ‘ư&zU„°*CúYđ:ê4á²äŸđfßQ'S!¤!m+i"9Ư—–úñ:áăÉÛ\Ù¼â êíöư^¢'#h}&ø à6đêvá ×ÓÓ ÔWÔæ1ó'₫Ëa$Û*A8ư<æ136&= đ÷ûçfƯôÓ¬ÍĐ̉XÛ*æzơà'̉J%Ù$¾&©À" øÉé̉âÖqÔ4Î́ÙQïµßߨp`9ă.€8Ă9.]%¶ƯøçÛß/Ñ7ÑÑÑ[àéƯơ ­MêT}ÔÏËûPózèÚákÛ/Ü"êçzû ßó"}*•2â.>3$)ä{H»̣Úê¯ÚØƠÍỔ0Û6äªđøû‡ ₫8q6= ˜ÿäô@îhäè̃iÛ̉̃(î¯́2+Í,Ä2.0Y8Â0K%[ )₫#îsă]Ø.Đ.̉ѫؒæ0óNÿ@¼¿ˆ%· ­ÿ óëăâxÛ4Ù×áâzđ½ôñ%#Ü8q9_8ø:Ô.'"Á(ọ̈#äÚÏm̀ĐÎÛĐWƯëOûx U¨ e ! Ù „û®ëåLÜëÔØÓ̃ÔuÚ¹đeùđ t&q*;5DH@E>Ä4.&â»̣àƠÍÆ“ÉÜÎ!Ø‹èÁøh ²h"1)<#Ú AëëüƠđƒáÜôÔEÎÑjÖOÛ óGçz.%9K=sL†E¤;5w!ĂAü…ê¸ÚÍtÉ₫ĂæÅĐsÚés₫̃Å(-"&½#DyôújîkáZ×ÍÓBΠÎƠL̃|åÇ ư<àAÅ?cMQAu1ß)Ư1’ïkàéÓµÇ7É}ÈđÊ4Ú«æƠôÅ „2! *s+"tÍưñˆç"ÜcÓ°Ó‘Đ|̉ÄƯxæ₫í* F:¬F“<ØCú>ë)ó æú4é‡̃vƠrÊƠËèĐ̉è̃³î¡ú§ Û"&K'‡ßa üûFîwå̃oÖ~Ơc× ØơáBê0ơÂÿÓâ'Â'q<Ü@ 5ë7‘.~}̣DăhÜ£ØÖĐ¿ÔøÛ߉ë ù ¬ ¬kh ̣₫÷óưè[ẵLÛ"Ü̃…âêG̣›ư¨‰"&g%{67]-z.Ø$p@ .ÿóÍç~á>ߟØBÛrâ9äîøû|ˆ T›Ø?Ççèư]ơẾzç`å~áFà¿äËå•ëôpû$ÏF!W+‘1ă*%'$¢ë áú—îoæbänßHÜÄâØç$́øF4 çÄ£ ÏK‘÷ṬẤ&èœæ,åuæ éí%ó>úÏÿf ™Z û'&:"~ Üm ùĐïêécåăäÛêŸîóËü¶"{ + „ X êjư”÷'ởñ2đLđđYñ¯ó"÷¢ú·₫̣µv ézïL A R üså̀₫:ü»úƠùùÁù<úïú®üåư ÿÅJvơb×ÿ–₫µưµươü3ü¼ûEûtûû¶ú×úú̀úû$ûåûÉü₫ ª\Ö!ëz¥Xµ$̀<-¿oĐÿÿđ₫₫₫/ÿC˜đó¼(Îÿä₫Ơưưü ûúËùèøÎøbù†ùfúû|ücư©₫Dÿ»ÿ­5dJwëñO:¨ÄRœÓQi²>3RJ[ÿÆ₫(₫ÚưŒư£ư‹ư«ưôưO₫J₫¨₫µ₫|₫₫ø₫₫Hü¸üóûÖû•ûÏûpü%ư₫(ÿ6£Xă¥˜+Jv¼ÿ ÿ×₫¶₫ô₫nÿÀ˜C¹E«˜‚It¦Ƕÿ„₫ưæüKü0üuü¨üMư₫à₫©ÿT l—„8¾üÿIÿs₫¼ưDưưư8ưªư1₫û₫Ëÿ3¿C‹›4ËJ´Gâÿoÿ^ÿbÿ™ÿpáB§ăùëÂ\öpÛÿ?ÿ¼₫[₫₫₫₫_₫›₫ß₫@ÿ‹ÿ½ÿôÿÜÿÏÿÅÿœÿvÿÿÚ₫Â₫¹₫ ₫¿₫î₫6ÿŸÿ÷ÿyT¾ïöçâ‹Hj&ÚÿŸÿkÿrÿ}ÿ ÿæÿ7Ÿ·û!Ùˆ+¼ÿ ÿÜ₫₫₫́ữưäưÿưg₫¿₫QÿÇÿ5×CŒ„CÄXÄÿ ÿ₫O₫!₫O₫„₫ÿĂÿq<ÓU¦ÉxZà=‚đÿQÿ­₫₫5₫9₫A₫…₫å₫dÿñÿD¦÷'5>Ç¥ÿ;ÿ­₫i₫₫ư₫ÿư+₫x₫ÿoÿ)È<ËI3ë]ç9·ÿØ₫‡₫d₫s₫½₫ÿ¬ÿ@ïr½äцNÊOÿ3ÿ¼₫a₫Q₫O₫V₫₫ô₫@ÿÎÿ/“ĐØóö̀{Gđÿxÿgÿ4ÿ÷₫í₫ ÿ3ÿ}ÿ¥ÿ)`¯ 0€D;̀pæÿ‡ÿCÿ-ÿÂ₫À₫ú₫iÿ®ÿv`*íệ̀ÿFÿ*ÿ5ÿ½₫ÿ2ÿAÿzÿÄÿi†‰³vkVßÿ‰ÿTÿÀÿ´ÿóÿ dtù̀¢­¯3O` ÿµÿRÿåÿí₫°ÿjÿNÿmÿªÿ4^mïÿH_̀ÿÆ»ưƯÿ₫Í`₫Ă₫̃ÿ…ÿă₫ Wÿÿà§fÿ׃ÿÿÈäư7ÿûñưMÿ‹ÿíưvưù₫¬µưøÿó !ñE₫œÿÿDÿ¨ư`ï₫(%{₫Ư8ÿ"µQư²@:ü¿æÿ5₫Z#ưp?üƒ$₫›ư6xüfÿ'ưø¨ü̉kÿ×ûØ Tyÿ ÿ4ê+ÿ€:ÿÖB$‚¯ÿ9ƒÿóLÿ%U₫h÷ưCÿJ³ûḤúvü₫̉₫Ûû› üåưfUc₫5<ÿ˜µfo k˜Ù]W&‹”Àó' à{₫Ôÿ.₫ ₫êư¯ü·ưƯû4ư^üüü™ưCư„ư–₫¥₫r₫„GÿR‚·ÿơj½Y–óÖA₫È«sÿ t¬ÿ&å)—ÿư¾ÿÏü¬ư‰üüQü;û́ûaûªû{û¤üZûÿưvûĐ₫Pü·₫ ₫éư'áưđî₫{¦7[ÿsô°Œ±x±üÿ[ÿÿCÿrüJÿOû₫dûÔüBûü“ûûàû¸úÁû÷ú;û2üpútưcû ₫₫:₫€ÿèob ,ŒnL²#mÓ•˜€×₫›ÿïưd₫ñü"₫vû₫DúlưÊùiûªú₫ø÷û÷üR÷?üwù¡ûŸüyü3ÿRÿ)K)Ähn·| ²Ä=6̀öX}í₫Pÿ‰₫æư:₫†ü ư¡ûüÊúGúËù„ùµ÷yú…ơ5ûö8ûÁøèûưnü¥₫ y; €¨ » ü Ư/ Ú×èâ¼ÓÏÿAÿê₫«₫ư₫ưưrüAüûÅúÙùØøäø‰÷¹÷6÷2÷nø ÷̀ú ú„ü`₫xƠuàÇjG Œ  ° ` A íå-¹ ¯¡Ïư‚ÿ.ưCư“ưgûäüÛùütø·ù2øk÷éö÷Kỡ÷øô ùóøÓùP₫Àüyz§I ÷ k   b U' £ Ëw½~ ³ÿ2ĂưeưÆüƯû¨ûÈúgûÅǿúƒ÷ù ÷S÷ÅơöGơâơ€ơm÷0úÅ÷`®ưQ[… ¼ ơ 3jư Ç æS2Bxÿ4ÿùü7û~üüù£ù̀úhøúø ù÷øcơˆ÷Éóơoơ/ọ́ôçø‡÷úŸ*ÿÅœ ¼ H@ƯÜÍ u |4íÁưưIühøgùØù₫ơµøÆ÷€ö÷e÷̉ơ³ơçơôéóÛôụ̀DôbûØôºW ®X Vtm sü ­™ 4ư”ù¢ú€ơîô3÷Ộ©ônơ‰ô‘ó\öÇónơóĂợTơṇùù»ø]®ÿO z{‚ö̀éæÎ± À*ư‡öÈøJ̣Cđụ̂¶îƠïñññỤ́bóuó¯̣[ợÎôỢÂưÑöè₫y Ë$kÖHÉå-”2œè~ ÄĐ øC̣Yơ™́üêlđÇèỐ>ïYíÇî1̣ưñ°đöó‘ó ó”ñ6Cö#₫J:\­¡^$‡g ’Đ1ñ ´O øÁí:̣_́ÍăĐîoç—æ'ïïë‰éơ[î-đŸóSô–îú6×óÈ S ® ÿ‡­$4"Ñ#C3»®¹úưYüÅđ“ëđÈäæ¼ë…ånç ñ^çúî)óËíqïá÷‹ëû!óN O3m4ư($[R&â°aS ª(ÿ†öđñ́Ïê‚ç6åÁé¸çççúîéê÷́Áóḉ.đäô`îñaøƠ₫¥¯v_ 0 +7‡!-%>mSÊvú¿đŒï¤éç'èråè̃êpèîíï›ï-đkđ§ñăùö7›¢¤@!¨— +›²#ù(;:Ê₫̉ö‹ñ¡íÚæ®ç`è€ăéÂëäçíØîßî†́…ôÿëÈû¿₫Áøn { ₫Û”đ&é"+ 5Ú£QTùFî>ï5éăñè-æ“åḱGêJ́)ï¤đzị̂̀LîCÿ±ư¤ú,„C •ÅÜ$  ̣¶©®) Gÿ₫₫̣öâë•́·èÑă çGå¾è[êê!íMñví›̣¡đføº ûN ̀³*"Ûx!;!úé,èÿ1ù:ù́¦é™ççăXæ9ä¹å®́ é4ê_̣Fîñ?ñ‰û†×₫R Ưï@ô"Y /$ökơ)  ₫éö~óÖéëèGăÇáíäùăăbêuç|ë‰íùîÏîÎơ¡l k̀Y"0#¬(“$åư†®ähÿ ù®ñØçèæ†âpßüàäá7ă¸çŒåPë´̣́î̉íkú¼º Ñ®Ư "Y$ù)G#Ë Ñƒ¬ üø2ïIçZäádàÓàsßíähækæ„émíûíậIÉù 饺—"É!y'Û%#!¾˜ß ÿ§ùZóGë‡ç.âháDăà‡â\åWæÀç§êë|ñGÿd̀ ­E] F"Â!c'9&Ç!|¨ơ¶ îÿrù(̣ûëUèØá½á¨âbá£ăêăpå\èÍêVê÷mª,+;x#œ"#­& #Ú!/ê ζü¤ô°́ÇéSæ1áÖáUá|ăÎäüäÅåPê–êçô—₫º Y×:"‰#)$ú&¤"K",Ư« Kư öŹBè|å`á²áÁàoâËää;æäéÚêu÷#₫̃ˆi˜¸"Ë"&%q%”!è!e r (€ưúơôë;è–ăÀâ?âöß2áä©äNè´ç̃́¿ú̉0 3½·æ#w#ư$!!!à‘Ü~a8üẸ́ ë æ₫âôăfâSàÊáqăäæ"éèé%ớư¡]Úb!ÿ#ê%›"O>寿WáûơÄí¾çvâââaáđáÑáËäCèeëËơ:ưn.kx! #…%À#_ _4Gp ¶üô‡íˆç÷âáĂà~ßà£àÇă´æLë7öÜưç­"ÿ#&«#H!˜ßđ± … üBôǺÊæ¶á-àÄ̃ºƯÜƯ»ƯƠáAåî³÷ ¸ ¨[ $ &Ï&#º!6CƒP¥øßđöéªä8àṽ¬Ü?ƯƯFß}áUé×ô<₫Pé$&&‘"C!g£Ë•ßÍúốèæBáùßqỬƯ!ƯCßWá½è¥óMưOĂ×"t%&2"Y £/; ÅùệŹÏæªà$ß×ÜuƯƯÅß0â^́lö@ Xh¦Ó$ơ%æ%̣!‰ } ‰́ưªöçî£èăX̃ƠÜ‚ÚÛ_ÜWà_æ°̣ú…hlÔ#Ø'q'7%—!­P¢ê¹ø@đëéUăƠƯ·ÚٵجÛ!Ư~ă¹ï¨øÇbñF$f)÷)B' $ ơ´ù `UùnîÎèÓá¡ÛµØOÖ"ÖqÙƯ«ă´đ”øæN˰#V&±+Á+Ù(ó%Đ gJ Œ₫ø4ëæ̃q×âỞCÔØIÛ2ạ̊øúĂ #¦ô')¾/µ.B*‹(‘ nµărüOôæ4â†ÙỈµ̉tÍ™̉ÂÖóÙêÅóA«€"à+A.3H/ ++* ¿¹ÈgúWï·áöƯÓ]Ï>Đ.ËểhÖ̃³đzö!…6)ú,̉/ 4²._,'[‚Ï ¢ưøôvè7̃…ØÏKÍb·͉Ó:ÚçèơÈ₫¢ ,G"̀,-H0Ô0ú+†(Đ{'§XøñíăÆÚ‡ÔdΙ͘ÑXƠ®ÛrçÄö¼ w%©(Ø%ø$­$J"fé Iiư>óđçŒà=Ư¡ÜèÜ7ßhêñüë7úr ‹ Ÿ 4 ’]ù ] ó ŒÿS{́ùlơƒöÆú¨ơQ̣Gưđ₫­úú€ư¨₫cüÑư<ÿ₫r2¬ê₫ĂçÇ.«J›ÿ2ÿAÿ¶ưiü™üçüûIú€ûûû)üM₫Î₫Ư₫&‹€ ¥ÿ2«øÿ­₫Øư—ưư„ü‹üơüưưÍư₫À₫QÿZ#†áV4;ơYÇÅÔÿô₫0₫¸ư>ưưư)ưtưûư“₫Bÿ×ÿ’€y Æ¸]æM©ëÿ&ÿª₫ưư—ưaư³ưâưzưa₫;ÿÿ›ÿƒ†̣ŸŸÅ#ëäráÿÿCÿÙ₫₫ ₫Ûựưàư₫v₫»₫ÿ ÿ& N´ADóv‚Âÿ ÿ‘₫%₫Áư•ưư§ưƯưN₫À₫0ÿ©ÿ4ÆU½ `o‰}¯,’èÿ/ÿ«₫/₫Çưœư£ư°ư³ư₫₫ô₫bÿÖÿ]Äß &Í ±5®ÿ;ÿÆ₫n₫=₫ ₫öưîư₫_₫–₫í₫Wÿºÿ-ûr»ơ#Ék¥‘ÿÿÉ₫r₫3₫₫₫#₫I₫ƒ₫Û₫8ÿ€ÿqÖ:zÅâÔ¹|/Óh ™ÿ8ÿÿÍ₫´₫ ₫–₫«₫È₫÷₫"ÿpÿ»ÿFˆĐö"4(́º‘GÛÿ•ÿsÿRÿQÿXÿ?ÿKÿdÿ}ÿ—ÿµÿçÿ7NZhnqg@9"ûÿëÿßÿàÿ̃ÿÚỵ̈ÿ÷ÿ%ơÿïÿäÿÑÿ̀ÿ¸ÿ¢ÿŸÿ¦ÿ¬ÿ¹ÿÊÿöÿ'\|“”•~bN-ơÿÄÿ¢ÿŒÿƒÿwÿeÿ_ÿeÿ‘ÿœÿ¤ÿàÿưÿCz¤Âİy_9ăÿ½ÿ¦ÿ‚ÿhÿ[ÿMÿ=ÿ7ÿOÿoÿÿ¬ÿ4f„œ±¦˜—„lr%ÖÿØÿœÿ©ÿjÿ†ÿSÿiÿUÿ~ÿ{ÿÿƠÿÙÿ)UA†g¨g-yíÿ%ÿhÿ×ÿVÿÆÿyÿ½ÿ©ÿéÿ ×ÿFĐÿtÄÿ·¤ÿ!½ÿp^ÿêù₫¬[₫µôưÈü#ưeÊûWü iú[Ëúñù 0¦üwz₫Đv₫ ç₫Eư÷óûÚ÷רûÉöü¬µûư₫¶3¦r§Üû´ÿ ûçÇưI₫Pçüpø%ư0₫KùÛüÙNü»zCFÏÿb|₫ÆÑG;Bb¥3ß‚‘ˆâưNƯûïúKü̉úú‰ø%úSúAùoü-ÁöÊ SÊX&Å û›­úRö!ï.æzâö̃‚Û(Ü5̃́ăD÷Sư Ó"y,-2̃3r*9$f ­ưï2äÚÖ̃̀œÊôÄÙÄIÉ8Ñ•Ù4å>m04ă>ÂE^A÷AA<+(Bd“ùîêHÜR×DÍ•Èî̀àË.Í}ÓNƯÑæßé…H~-ù8,?K;Î4L6ˆ%‡ T₫î ăm̃.ƯDƠ×Ü[ÜXƯ7à8ḉíµơÂlº|,¨3a6.».z+›E F¹÷̣é™âIầƯjا̃ âGá.áDḉ[íî\ú• ¢ /D5»2đ*³*ÿ#̀ póư9ïWäUà‘ă´àßçîëbêHëiî|̣?ï4ï‚óP gÁ(Q/Å1J&F&Ñ#¿ ¥ïư¡̣4èîâôè€çºåVëîđ/đî¢í®ñfë₫ëçQû  { +.5^/ª% ( ̃wừơ.ëĂäßäǗêÍ|óôóñŒî!íDíÈåœæ̃á1ưä°)/8¤=i4d(ö&Z÷ô˜ëaäÅàæ‹đÛïó)ùfø»ôxîúéê„âÉâhƯöS^Ê,¦?§G§<¹'!̀ Éî ç7ă<ââ&ç+öÀøÅûiûù‹÷Áï»å}äâ ăWߪæj}&è,YBíJ©F'ç€bêWÙVÚsâñë ̣ü&¾Ïö>ó¯ïÔæúà˜ââăoæåâ÷ó%/Æ:“BâC6f Vúrî“ßÚ½ắó£'> ¢«ö«å̃å½ăhăàuä.êîíb́¬₫,6ơ9<Ư53&f́øèEäçô7̣MÓ@¨ôç̃çƯ…ç:ëÑê î/̣oôó'ơĂ154Ô+S&« éîIèàè đÏ÷ăY÷K ÷ü;̣¢è³ßBßé¢óSơœïưïçóÅôiñÀø¨3˜441'Чü©ä9âḈxøÿîă²Sˆ̣€éÄå)å”ç ̣üû?úfđáí₫îđ‚ị́̀ø2 7ü/Ô¯ù‘ááî¼X&ùo-ëZăúé>́"ñƒơúăû6ï±çƠçqé«írê¸,q;g7³$ö¤é àèë·'d$?₫ñáDåØîLơÀ÷”ö`øúñdæÓâ;æ‹í¶ñJî¡~4›<9dž rú3éḯơ$“ơT‡óëđ ä›ícơîóQøVđ„ññïæç6ê+ê©íô<í .;÷?9a í₫^́Cđ™ôf p&ØÀÎÿgïƯî1æŔ™ù³ùGû\ïñë‘îƯî¨ôó¸ñ7ó{́ïw1ê@´3gmÊôVíÊïÑư^< `÷ûố ́óàù…ü[ùàñ6î½îKñ=ö3ơ!óï‚íí¦ñIº47@{1¦₫KômïPôA₫€¸!H1ṃ ́đöŒú#ûH÷$ó íđƒó^ú]ú1ơxî‹êwëØíÚ 3k@Ÿ2N}û“đyíñ÷S¯5!×éưªî›í½̣!ù¨ ù9ï9êfđ÷lüü₫?÷̣±èơæ2́åơ9 :˜%`ơçóKơ‰i FÊ2ùØî–ôZư‰Rø!î@́Kïëúoư₫ûḌFíç(ê„ï‡ùd!æ93w|øơÖñ„ưº " §JøñmơIüèü•₫ùgñ›îÂđ̣øc[ÿơüñ¶ëÜç¤èîGøÚ”8g6–6ÿ§óÚ÷†ùObë ùûÉï¯ñü';„øñaó–ö$ûpû¢ùëø^óäí éJèỐJ̣-6Ä8_#»ÿö"÷»ơă₫y wÛH ]øvî.ơ>ûE)ü7ôị̈í7÷gûûï.éˆèöéṇ̃J ˜/Ï8%ôÓ÷^ú²~ W#c ûªñÉơ¤₫ËÚ¿ư.ôÅï ï³÷GÿŸüIóî́̃í€ê}î¦ï)ö¤Á360Q{!øûü”‘& FûÊñơ©₫ơ-6ø̀điñ*ơ ₫^ÿóü™öÜñ,ï1íXêî(ñ¹U$ø20'ĐưÈú¹ûÛ₫² zædÂùôŸùmÿQÿ”ÿÚ÷ó©ó÷·û£úmøơ÷đơđóĹÊæ€í€̣} t+Å0&&A P÷3÷ø¿ §7Æ ưị̈‡ôxÿ₫iÿû ôZôíóÓøƒưÛürû÷¦ñÊïêQëƯïÉờđ,t/')|ü|úÂødÿS ¥êŸú­ơøđü)û£üºü–øiợ‡ø8₫Øư1ù‘óßđ3đë^́ï0ö.&2Û/¬î(ú>û üqu 'â7)øüđ‘ôí₫Âÿƒ₫fû‚ö¶ơ ̣GôüM₫Iü,ö;đ„đê¤ë˜ïË÷U‘2Ô/9itûåùføƒ1 ơ"™øLđ̃ơ₫Ăû̉₫¯ü¤ø\ö#đ ồú₫xüLơĐ̣›đ%é́é́Êû!54Â+w\,ưEúơø™<A™€}ùùVúúLû2₫Ơüơáïæóü°ÿû¶ơéôèñĐíçzêöñ°ÿTR/_,x×üømùlM +‰_u₫£ơçø;ú«ø?üÆø+ùWøXö̃ø]øçù́ùÚöÚôî.çVêxí¶údP-4.Ç ¾ Œ₫„øp÷µüM4É ₫üôö!øùø¯üÏüÎû÷÷óóœơhø´úßøZømöÔï]êdèÙ́ióEZ-·0(s}¹ùđüö‘T•! ×ÿ%ùö-÷xơÏù?PưVùṇ̃¾óÅù}ûüNùNö™đ¸éœèèị̂?*$1ç+›-’ửơ~ö÷ÿ@ yƒú̀ưøû÷ơ¢ö¨ưüüqụ́ơô2úPûĐùö‹ô8óKîxêpí$̣₫üË+d-7"¤ ï€ö­̣)ú>jÉ? —.ùrù”ôẠ̈đùüĂ₫cúüơÇùTù•ùơôUö]̣°í#́3ị̣̂Q̉*º/ (1û*đôơüD[ʘ#üúGöđđơöáú¸ư ü÷ù.ø<øö¾ô?öñ́ûëiî́ó^ Ï(Æ0µ'íWÿ<ô¯ñ̉û +³ ú&÷®ñ—ñøûPÿ)ø®ôQúKû?÷:óẠ̊ˆôwïaê³́ï₫Ư#,, V c(̣`ï1÷a Q >ûú¨ṇ̃”ùÑûưaöÍ÷ưFû₫÷̣Ç̣'ôLî¬ê»î*ñD8 ƒ-”,´:Z₫ơđ₫óÚ‡Í @}ư­øñ%đÇơ¹ü@6ưÙù¢ø|øÔ÷æó–ó®̣Ëđ§íÜîơîÅúö-›/!#@ˆËöRïJôùưI· wWüûÑôSđ·ơ|ø+ư‹û£øœûoûÇúƯơ†ñ<̣Çḯ±í•í¿û 4/q1ß# `÷yí½îú›;¢³̀üÅû}ôƯíẠ$÷sÿÑÿ9û»û|ù|ù.ơ$ñ¡̣–đ}î[ï»í,ơJ,4`*¿x ûLđ‰́¿óªí¤> –ư‚÷¡ï×íCñôù¥ÿ!ÿ'ü€ù:úR÷̣́î§́ưë…ïmîøôC]1 :S+ơâù+ñ>îàđ†5–1 ưûø3ñ†ïđGøg₫jư¦ư]û2üú}̣Ù́¹èăéºï©ïE÷ç¹03;-øqú°̣ǽˆï£½PDüù óœîÓ́ ójüÇđôü”ûù}óµ́Nç9ç îđ ơÔë1?Ÿ3xØöîñđiïë₫Đ&Ư‹ûñö­óÑñố[đrø¿Ä#₫úöx̣yî!èuæ1í=đ†ù¥­/|>O3@«hôùđ`ïêñ©ÿ< úá•”ưuơ×ózñZí~ï¶ôxÿ1«œüƠôYñË́MèÆæ²ë€îbûC/3!@—3Ç…ˆó•ît́ïóư· ^ß= <ÿ)ợAïơë¹î¡ôµ!₫Äôïêçtçüë'î}ÿ Ê8ïCE1{úưđ®ï†î³ñ́ưå „ä– Ă₫ơ€̣ḯîWô`¨Aư¿ó\î†é)ççDë_î$ơ$I<ƯCo-è[ûrîiî́›ózư ÎP °ÿIôđaëwíï@ơÖ6$₫âôQí ç#ç³èëWï₫Ê'¬A5FJ.$÷ÜëpëaëróÈûY©ˆûơ-ïîé%́¤î÷[I[₫ơơêë˜äèâüå>é÷ơ‹0ÇGêB€)n xïŸéGêEđơ÷<ü0ZüVô¶÷0ë&è ëñ$üIKNư»ơåéä[à6å†éú*t2zG@*Í đèç;ïưöpụ̈¹ ÷ªü‡íÂèé‹đ;üÁŸ¨øü‰ơ8ëRæèàâäç̣ø÷0ëFX@6-ÂóÑéXæ«îÔô¼úoq _– *ô©́•é’ïSøâÿ·E±ÿ¡øïç à»áäÎóT™)…BBx4˜ư´îlæ`ëÂïö–üâí  OLụ̈̃ê±í¡ó¿ưcÍ ú́ñ>êAäâ¯ăêxÆh7ÜD5?W*@ ̣ốæ¸çƯíªóhùNûV\k î m„₫uñíơí‚öM²ẾüĐơ í₫çVä‰ä6åÍđK"¦<ÖCø;8!›ïÀå_égï›öø2ú»ư$ ̃  xô‹îÄí'÷lÿp"ü ôfëùçåäæCç—óC!9YA³;"²sñÚæ!èÈí³ơ±÷µù°úwÿ= Z àŸụ̣̂…ïôômûz¹ươí!èäåæèç¸ôÚÚ3ïưEóïẤîđḌÅôÚơoøâù£ưLÆÙÿưZø&ơsñÿđđöñơlúÎT äΘ""°k™ Jùóàîdîfî—đ3̣Ùô÷ÛùÀü…ÿ{B½àˆư(úđö¸ôµ̣‰̣ˆóR÷ư¢6 {µÍdû4ötóœñÍñ*̣ôºơ*ø\ú¨üơ₫àĐØ]˜û„ÿŸü…ùöWô·óâôRø8ư†‰ ̣s©SÏ ? ÓPÓüƠùøöö×ö-÷×÷Ôøïù›ûRưrÿĩry›ÿ”ưÙú©øĂö7ö¯ö£øûø₫ºđ$  Ê ç ¹  ' p¯AÿƠưœüVü¯û¹û‚ûüû™ü¤ưº₫ ÿ83Æÿ̀₫´ư_üPûú.ùRø ø0øùúúüÖÿïØF Ư ‚ £ \gÇûMÍ₫Ëư8ư!ưHư…ư²ư»ưÍư¸ưÀư–ưwưĂüëû¢ú6ù·÷oö ö`ö̃÷Öù’üCÿ;'¶ > ! Ă ² / è \m¦ù•ÿ–₫₫©ưtư?ư&ưëü§üjü4üÀûüúéùø ÷ÁơơƯômơ²ö€ø»ú+ưÀÿ1“h [ g á È đ ~ fR‰*5µÿrÿHÿ ÿ­₫!₫vư½üüHûgúUùø}öơßófóÉóơóö6ù¯û(₫‘Û*Wd  s ( 3   ƒ  T°-ö₫=}­Áÿ¾₫¼ưÈüüXû¿úú'ùö÷öơÎó₫̣̣̉~óíôööSùÖû:₫jcPB8 ½ ư ® ¾ ' v °đĹÇ̉ø+ÿ/₫ưüû-úSùaød÷ZöUơjôÜó¤óƠó¡ôöí÷ úfü̉₫/}¾Ư¸ M s  8 ă 1 ç ‚ ®UÓ™^ÿ$₫îǘû₫úTúµù7ù{øœ÷¥ö¸ơóôôœôơñơN÷øø­úüI₫úÿ©t_TH  r ] » { § a  ü,xôK%ÿ₫ưưûû\úƯùˆùEùäøjø©÷̃öö‹ơ3ơWơ!ön÷₫ø¹úÎüñ₫)T˜~ A © ‡ · N E Î  W£ư~Çÿ²₫ëưMưèü¬üqüDüïûûÖúûụ̀øÜ÷ëöö…ơ"ơéô4ơö÷zùĐû|₫+â<‰! ? ë ˆ È ` – R ÉsÉĐ)zñÿTÿ̀₫C₫~|ÿ²ù®ö•öŸöQö öKơmô¹óæóô[ơb÷úùªüưÿ:ÿ™P › s 6 ? - Í  ¿Ñơh7¹ÿnÿ^ÿÿ₫îư ư5üûoú©ùƯøÑ÷ÛöÍơ±ôàóóóđóeơŒ÷Ôú_₫;a e\ÿ₫û  ÀL¿D%:2ÿ·ưhư×ư›₫Âÿ%ÿ₫hüûRùè÷=öÑôóüñ̃đ¢đvđyñ*ô/ø8₫Fá Œ¢MrBè äjú₫ö₫•ÿmÿj₫&ưÉươ₫%ÔœÿºûƯ÷?ơëóJ̣“ñ‰ïÓîaíLí†íôîmô>úz¨­Ç!S&N%o~~>ÿöôưó÷kû<₫ÿä¨óªyv [ưùḤ~́JéÙé́êîpî£ïDị̂îQîIóUûB?è$Ú0Œ0Ơ,ö ̉ûOđúë+íÊơˆüÎ v6iưˆưˆï / X\öÜèă¬àVæ€êđOñáđríië-ë#đ ₫ù u$^0Ô:Ë2à&Øôưñ‰ëÔñ_ø˜9äpû-ùxúm o^¨ :Hó•êôăñçÑëÙđIđ5́‰çbăÇå‚énóSùÖ=:$,Ö2.L!Ÿđưëơ&îƠôàù2î ́̉ÿ¿ƠÛd²†XCùöuñtí[ëdææâ/ææỚ<îô*ơÎJ$T4]7y2O_ `ô{óîơ¯æËđ©ü ÿÅ # WFÿ4÷Iùÿ0 úøüåàÉÜ7å€è́èëåæ*́R÷RHÏ!Á2O/{,ÊL .ø±ü°û+±Où2 ëü—ơñö‰ú­´ ÿ ÓMö+í¯äæêăÓæ±âuä„äăéÓíơø½.É:˜1®%“ ¡Ïø̃2p”J₫¼q â ‹¾ơí’ñ¯üxZ 9®¦÷ö¾ï¬ëfäß“ß!ăÉéBíqííñ0ù́ '}<̉0Æ$<‹¶VÖ̉üNÁH ½Á¹ ]ú§óđñgơ†üĐư´}rÿüô2ç¶âà=èoè,ë·æé{ê›ó÷ dZ&8y*$$ƒ Gä8A™₫ßôu œ‚öûógóöYú^üm­½@û³đè]æå̉飿ré¥çríØí$ơăó±bü-n7¨!d“ Z©h€ư– ́ j ~ û÷;÷Kô”ñ§÷´ư– åU$ư÷̣ñ›ëIæÊă^æ é ́;ëÇê[í²ôJù.p!;1Ø(9'3 ¹ÿÄ“Oo ï ó₫ư«ơ²̣¿ïvơ{₫ÛéI-ÿ¹ù́íưåzâ<èêÇéoçäèà́­ơ§ôCîL(1"¢q$ß­ư’̃JsÄÿùêđAđ6ô{üh|8j\„üÖđ¢è›åïç#êHçÜå„é́5óÛñÍûV±$/¨‹ơÈ. (üä  É4>ăø“ïrñû÷ZúˆưUÿœlÈûyñỚáéơæ©ç æ&çệé½î®̣&ù½!g)7"]S!QÀ ₫®‘{ < ûk O kÿèö§ó-ô©øÂơ©ù~é<ÿœúcöºîùèóă æ¯ç÷äưç.èÚïLó₫] 3 )£ú% ü§₫óú§q  v ˜ûîöüö9ơ¹÷£ó$ưѲâưùû3ö¯ëÖåÍäQæ¡äÀá ç êẈoñ­:!«!§&œN$cơ I «¡ ‘ ¦ ƯÀøú3÷Zøróø­²›ÿ)ưîú°ï”èäååÕ«ä*åYï?î3ºXñ'‘"Qu ƒ « ud k &}ƒúmưaù¬ø—ôFö<Î4₫³ưHüfñüéøäkå̃ăưÜYáhâá́ñ́YQ̃A'ªÑ" D m ‰* ÜÏ % gé;ü>Èù]ûÊơ:÷¾g3ư©ư=ûkđºêëăíẳàgÜöß;áêöë p:#Í'W.ä _'† Œ À e{ÿíúú,ưîơ–ü­5‹ü«ưqøï®êÄâëâ—ƯéƯ®̃ăCçtó¹ ₫ ̉9!n#}Çy ˜Ö ƒ , « đ >|µưC₫*ư¶ú(ÿç₫á“ÿ6ûAú4ô€đ®êâå/åăHææ'ê`́Ôû’w ¥ó¬i7† @ ̣ !«,TÿÖüÿ¤₫y®ÿ‰¸ÿkÿúü:û„ù÷zơ¾̣đ“íøê_éµèIë́ï ơü k‡ g•]ƯËeÉă ¬ ̃Đ6«€…e,>đs$¦₫Îû|ø3ơ¹ñî¸ê„ç‰åbä1æ²ê_đËö†ư•— MđZÑK»¸è > “ tgvaw}–Fºÿ ưåùOọ̈°íéé·æPä€âMă€ç“íFôû;ôx́2·bO<¼ C ØLH3¾«¤×sƒ3‘ưeú{ö/̣hí°é,æ‘ă‘áưá9æ&́ạ̀±ùîï¯ kBqL"\L̃  ¿0ĐC䤣ä©@ùÿHư(ú!ö3ñ́«è?å‡â9àmáæ2́ạ̀¿ù;Lî ®§ÓTô½ºÛ; } €ĐSåfơ7₫°û=øÍóÉîÏêßæÂăÜà߇â˜çî¤ôüû e u.8cB$™†… ¥ _/” ¡H0B¦ư§ÿưƯùơ²đŔè̉ä§á<ß•àääƒêøđú÷íÿ6 ‹khú’¶üƯañ 8¯ÔOÙ•¼¼`;¼ư”ú0ö2ñÀ́éå‘áữ£ß¶ă¼èăîáơ×ư…z jñƒ€gꢖÉÚ à/oú~e…¼¡₫Rú€ơ]đáëØç©ă*à̃JßVăEèîđơ₫… áØm@å²b8 ! .¸è¦$QT°”©ưfùlôkïÏêHǽá̃BƯFßtă¶è~ïW÷_ÿ¡« rU€üÚ©-[( O H…q́ÿ‡¨!Đÿmüï÷ó,îIéqäOàvƯüÜßä êxñhùCR¥—ö©Ơ“çζ‰û  µSèÁsÜÁÔ₫Fú±ơƠđÛëăæ@ẫmÜ:Ư´àÇåh́7ô_ü0# –3:đ¦Ü„o 4"vS!¤ëTÿFü6øó›î›é×ä¨àlƯ-ÜùƯ â©ç¶î¶öú₫ÄĐ _™ ê,¿°kĐ  S‡è—p|̃ÿsư)úóơ7ñ?́\ççâ;ßÂÜ«Ü`ßäêuñùÄb oØ®ÅA  ”k( } ¡·Á0‚¯ŒÿÁư:ûà÷Çó8ïêæ5â!ßdỮCá/æŕÙó̉ûº î ¥!¿ ¶“ây ¥ …4ˆWI6ÿ1₫ưü<ûÈø´ơ"̣5î)êiæ3ă¶àxß\àpăèåíÂô#ü‡ˆ ̣”ê !—ˆ– áÍ[d£₫üü˜û@ú•ømößóñîëBèçåäíâ!ăå§ètíNóăù°_¸ €ŒT´ œ üë̀NÙ ”8dáư§û̀ùEøºö ơFócñ\ï5íë éŒçzæ$æêæ é‚́âđöăûÔ— [Đ‹ >dƯœ1Ä Á1>—ưCûGù€÷Ëơ*ô´̣^ñđ’î-í×ë£ê¨é\éÉé2ë›íñTơúé₫ă´A {KfªîưƠŒX„ üÑ*Öư°û ùÚ÷Söơôọ́ïđŸïAîLíÙ́ḯ˜í ï3ñáóøöú<₫ú H ôÍưxOvÿû   që~IBÿgưŸû ú°ø|÷uö|ơpô{ó¼̣J̣üṇ̃}̣Oó—ônö«øûkưÖÿ(!ä38íƒ æ  ơ Å y ưwÈø û½gÿáưŸüvûbúùƯørø=øø:ø~øùºù¾úèû*ưS₫`ÿT&Đ3z{|ML8P—ˆ¤zw4EDjKÿ Ô¢^ÿ«ÿ/ÿŒÿzÿÿ«ÿ†ÿvÿ1ÿ>ÿÿhÿ5ÿ@ỵ̈₫ç₫‹₫i₫₫ùưăư₫:₫•₫̉₫ ÿEÿ[ÿ>ÿú₫É₫ ₫ñ₫ˆÿÈÿsÿ:ÿ@ÿ¥ÿ’½ăé±è¥q/ù®*WG7$ÿ;₫tựü¦ü¤üÑüư7ưdưư·ưÇư¤ưgư-ư1ưfưœư»ưœưqư—ư]₫Rÿ<)åvÙ$9O<ư’yñzô|,÷ÿÜÿ«ÿPÿÿ×₫X₫rư‘üơûˆû_û§û-ü©ü"ư£ư₫₫+ÿưÿÄ}in7먂ĂÛăă'ÿÇP^Sÿ™₫!₫Óư®ưưlưoưqư}ư¤ư₫«₫9ÿ´ÿ#^fm}•½â 5YvzmhuGüÇ<³ÿ?ÿ ÿ-ÿ$ÿÿÚ₫À₫¾₫¶₫Ă₫ñ₫ÿLÿ”ÿÊÿ¾ÿ½ÿ¦É̀ßëñ(—ûÿºÿËÿêÿûÿ çÿ­ÿƒÿÿˆÿÿ`ÿ[ÿPÿKÿ\ÿŒÿÇÿt¸ëæïôÉ6ƠÿĂÿ¶ÿ̃ÿ¾ÿåÿ²ÿµÿ£ÿ£ÿfÿzÿ†ÿ‹ÿrÿjÿfÿzÿ”ÿºÿûÿøÿ$L/ kq¶₫¾₫eÿ‘ÿJ!bB³ÿoÖÿI`ÿwÿCøÿÓÿâ₫âỵ̈ü~ÿW₫¼ÿ¡ÿGL9æ!D?ÿÑ₫l₫b₫ÿ•v/JÚúăÈÿä|̀$ưpÆTüư”]ü₫ú8ư?₫ôưgü₫æ₫¾₫ ³´ú“‰)€ÿóS€²ÿæWÇÿbÿïưôư¹ÿËPÿ^B—ư™₫mÿ%8}÷ÿÿ‹ừüµÿÿĂ₫%ÿ­ÿ·ưûEưgưC₫*₫\sŸ±ŸRßb^¡ÿéDÔÿvU₫U₫Ö₫¼ư&₫ë©ÿÔÈÿưÚÿùÁrÁÿ5mÿT₫åÿØÿ¾ưñ_ÿ?ÿ3ÿ«ÿ­Öÿ…ÿ)wœ₫–Ä₫»₫Nÿ¹ÿ”₫fÿ„ÿt;₫£ÿ‡̣₫ûÿăÿ¡ «ĂÿøgÿZÿèÿC ~MÿùÿO¼ÿWÿ₫JœËÿA–ÿØ3ÿBÿ¨ckÿ<ÿĂ¡<ÿÿ˜™ÿ2ÿØÿëÿî₫B€­ÿ8[E}ÿiîÿûµÖÿ©ëÿ¢ÿ̉ÿÇÿb₫®₫‰₫ÿÇ(ư¯ĐÿA¤ưöÿ#yóÿ3«₫bÿ¼ÿ¾ÿXÿN ÿƒF₫ñă₫K•\|(<ÊưVŒÿPb₫7ÿ)ôüçÿ»ưÿÿü*/§ÿ‡Ăư81ïÿ5½ư{ÿVÿû₫wÿ^U₫e\¯ưÈ[ÿµ÷ÿ₫­wưüÿ‚₫@ÿ3ä₫J¬ÿªÿ “ÿaûÿ›ÿ œÿˆÿrfÿ}ÿ,ÿ‘ÿ5_ÿ‰WÊưÂ%ÿcưƠiÿ·ÿ49ÿcÿơ*ûÂûMüEôÔÿfüñÂú»úÿÎưûÿÿR₫₫ñ£Åư3¤s₫'«₫Óÿ$ÿÓûÂÛ₫ïûTI₫îûxÿ€₫-¨ÿw6ÿ ̉ư³d§₫7©₫{sÜ₫Ưÿ™ÿA(²ÿ)w< ³ÿ”t₫Dÿ©ư³ÿ2₫ñ₫Âưùü:₫gü±ư’ư3ûđÿñưáüâÿ´qÿé₫ơÇgử³ÿ` :âíÎdĐ´ødÿñưÚưVû‚ûưúvøË÷8ú¶÷«÷ øOøúùÀûäü™₫ë₫W5u"â}¦ Ä 0 D  Ñ– % £ (6ÿâûÆøÊợ₫đ_î²îhïƒí+ñóạ̀©øÓùüú₫0HNÛp-ăŒ e ä î juá . ¦ H ĂùLưú!ơơđîîÊë°ê–êëḮ]í7ñsó¶ơ"øØü„₫ÿ!´  <ÉzJ½L{Tœ I îÓ̀ühøỰ³ï>ídêé êàê­ë“î;̣_óöùúŒûa₫#ÿˆÿo¾ñ¥Àë‚@-î»{¿ èA₫Ăûö=ï¨îÉêÄæ_éHéNéNísïỵöơ#÷%ú{û\ûÑưE₫Nư×₫xµßí¼ œđ° x ĂîüúẠ̈5íÊëémæ¿çơéèêípñyôrö=ù¶ú?ûRüü<ưûœ¶_l |‹"ÄÂ₫Uà‹ Đh₫ ùuơ‹́äé˜è8åNæ@è1ê î ñoô[øxù¡üçüĐü£ưvưùúêüû±ư4ëÿa¹»Ázߪ‰H QŒû˜÷?ïÓéÛèÉå_å‡çÇé·í́đuô5ùøù¦ûÇ₫‹ưáûoưëûù‡)R &•v>ê§Yø_·üqụ̀ê†èfå囿’çuí-ñ/óæù3ü¶ûÿOÿuưư‡üÂøÏ₫ŸËưH |Ô¸|X’ϼ +û öíGé₫æ/倿+çxë¸đĐ̣ư÷(ưqü¼₫pª₫ưưfù’û1éü™• Á | ¤Æ5ÑkÀ Vƒü/ù̃đ¸ëQéúåªç¬èáé“đÚó‰öóüÿ₫-₫ÑÈư¬ü>ûxö₫[ÿ)ú¯ €œÖz‘A* îÄû†ö†îûëÂçæié±èĆYó ơú‰ÿX|x“iÿ™ûÛùóöđüßüúƯÈÓ» g^U À·£®ñ ÷¥û`öYï-́”è°æéïéḮó@öüúJø_6‡(Lü|ù>öúäü£÷₫×IÊ Q¨, ¶ăRê· ơưĂø/ñđí3êÉæÎè”êFëñ\ơ¿ù#ÿ¦á̃Ús¼ÿøúZøTơOüÚùFøù»%“ Û4û\çHË` ˜£ü“ởîÍ́èhæméÔê¤í†óO÷ưîµFiulûøó€÷ôùHơûâ•H QơˆÚĐRË\ »¨₫Aøkïź•é¦åRçßé́Àñúơ(ûÏïØå ̀8¡‘ư úăô=óúö§ö¼₫ü+¬ «Ă£g@ôö ăûˆ̣%́äê¸æ9å é{ê™ïPơ3ùL˜É. ¥ ‘[‚üùç̣Ëï÷=ômôqüĂc 8|àĐ .E“Ê&pûJ̣ªêéDæBä0èê ïRöæùt qß « ëGưBùêó]îỡôHó“úŸ ¸8âWêo—Æ ơÿˆûnôjëéç\åè¿êªîăöúüÿ» ‰ ` " ûîsư¥ùaơuîVđµơ@ó–÷%₫, ¢P‰…tËÅŸñ Ŷû̀÷´î”éàçëåÚçëÓ́@ô{ú₫¡® ‰ Ø åơƯû÷C̣âíq̣ÂôPôÖùqĂÀ a`gÊă…JßÈÿnúaơIí“éÀçç)ếQïF÷ül& ˆ i – î²µ₫HúZơ€đíí5óGôơûÊåÖ ®ÄÍEƠ£‰˜€₫óù&ô›́DépçÉçRë¤́©đ§øĂü™Ûp W 9 @›ưù%ô₫î£íụ̈Üó5ơqûhñyx3  «éí²ß₫Uù óÜë{èàæ[èFë|́«ñöø:ư…Ö² ´ ™  “'|ü÷Ḍ€íî¨ó—ó/ö–ưœă jØ̉RÿDP î$ü‡÷»đêSççÊè5ë“íaó3ú·₫Mib   f·ÿ[ùâóđËë"đîô.ôăù`t:#1ĺ…Ùd ?]ø)ô[́çç̀æ£è™́4ïö§ü "  d û©¦ûöôĐñ[íÛ́Êô¨ơ÷Û´ ƠéÛ!D oM X³ùçô*ïèç=æ–æ‰ëÀí>̣(úƯư>KU ₫›~Uüöụ̈/ï|í6ô¡÷ùưFfD« !å: ƯúcôHïX髿Påæế́đđœ÷—ü'X´Ø³VDüE÷OôÈđ9ïeôø‡ûqß}¿̃à¦k²I´ K üÄôĐïüêˆæKå~æé#́đ{ơiû’ÿµư´¯È©ÿÔû•ø²ơó“ñåơ­ú₫Î ëwè[°̉ªZ™7 ?ülơ ñëƯæFæøæ₫èéë.ïùô”ú—ưÄiŒƒÎư₫—üÂù·öö$ô5öyüJÿ>µ ưÎ̃…ïƠâx :ÿÈ÷¹̣BíöèvççVè'ëæíg̣R÷åúøưèÿ£càÿsưäûûŒú́÷xøư₫¶Ë2 «1†X” ©~ùjôJđ¨ëåèAèùèPë†íwđ?ơéøVû₫Am}’Äÿÿ₫Gưü₫4¢.d > 9?ÜY ©È  ‹÷₫mùÖơçñ²í́Ëë́/íøîÊñxơJøÂú·ư.2Ăôi¡ä,¦Ñ‘kÿáf  ¡ &ź g < …JѨünù’ömóèđÆïđîï6đ̣;ơK÷‹ùüüÿ¡ÿ { ¤ç>3_Ó ²4Løđu† ¶ ´P=÷ù₫ưøúđùæ÷lôóÇóưófó=ơºöÖù±ûhüÿù@̃{L6²gă&bV˜;FÙ>ºÎÍÁ¶à(Œÿ½₫›ưzü4üü̉ûEû>ü ư÷üưư}₫€ÿ]arFƒđû>¨ÿ¸ÿj₫—₫9₫̉ưŒ₫:₫¾₫̃₫‰ÿœW|ÎUÇT̉iY‡¬Ûÿ·ÿÑ₫₫©ưtư¬ư¹üBưÙưxưzưÜ₫R₫º₫ÿAÿ«ÿà₫%ÿ–ÿË₫a₫ê₫Àư ₫Ê₫]₫ÿŸ&b±g³*ïúùƒèrN!!fÑ₫Ö₫ç₫e₫¾ư¤ư_ưÇü ưoüZüîûdưüü¥ü¾ưTưR₫Fÿˆÿ„ˆÛ8—R‘½º×yöä;åí¦†ê’ûV"~ÿß₫7ÿ7₫e₫=ưÖưëưÄüaư3₫(₫J₫è₫xäÿ¨ÿ\‡‡ÿhí ÿ%vRÿ=ÿÀÿçÿUÿöÿûÿXêe9Äÿƒ₫P«₫d₫å₫W₫îÿC₫ó₫îÿ¢ßÿu9¡¤́ơÿŒÑlÿđÿÁÿäưÿ ÿüưC₫[Iÿ3ÿ̀ÿñ₫‹›$₫Gñ{₫¯₫<ÿÿHÿRưtÿ Qÿ’₫E+ÎÂ6@q«È`4—ÿ¥ªÿĐ₫!ÿ­ÿBÆÿ̀ñƯÜÀÿ ¸=×ư¡XÿƯ₫Ö₫.ÿÿ:₫zÿC›ÿ9₫Ơè₫₫ơëÿ¶₫°ÿ}v₫"₫lî₫³₫Vÿ„₫ Æÿ½ÿâÏÿ—: ̀ÿ¬½¿ÿ•́”œ₫Ûÿv×ÿÎ₫Lx÷₫z˜ÿºÿĐ¢Vÿ3ÿµù₫u/₫ø₫µ₫ưư£₫Yÿs₫ˆưÊøÿ¬₫[là{p₫ëàÿÄ₫P‚·₫ăÿáâÿ̉²ü#ư»9%cÿ¤…¤₫¿ÿ̀ßưNeÿ¶₫¢₫'¦íÿ–ÿ-µzÿDÿ¿:ÿ₫ÿ­jÿÿÿơ₫Á₫¡2SÿJÿ‹(ÿyWÿÿm£ÿ ÿ©vÿ6â₫¿:ÿX¶₫mV¼₫e¨?ÿ.±;ÿlĐ0ŸÿÄ₫®ÿ!ÿƒgÿtØÿ₫$µÿ;ÿöÿĐÿIÿæÿ;¡ÿeÿóÿqEÿ»4₫LStÿHÿ?a₫₫9<¯ÿ ÿ/|₫₫BÔÓÿæ²₫ßÿwV₫)/ÿÂÉÿœ₫Ôÿ+inÂÿo£<ÿ-Æ₫ó¼₫Oè₫µÛÿÿyÿ×ÿXÿ\©ó₫(Èÿ¿˜*ÿâ!ÿ'·Rÿ‘wå₫̉Öư)Ư´ư†öúư|Zzư¿Ë₫"₫åÿ̃*₫#đ₫éÿª₫†øÿ›₫É:âÿoÿŒoàµưx(̃₫³ ÿTdÿcÿËï₫½„ÿ IMÿơ§ÿ’6₫K¹c₫•ÿD$̃₫†ÿ ¬ÿ>ÿ[wdÿñÿÓÿ†ÿ´Íư†©ư6É₫çÿ<T₫<ÿ˜ÿăÿ½ÿ’|ÿÿˆÿ|₫7 Ö₫´'OÿiFÿÆÿ«M¥ÿGœÿǹ¥₫³₫æ~ư©ÿ¥K₫G«ÿ¯ÿLóÿS¼ÿ¦₫ S₫|L₫V3ÿêÿ÷Óÿ›ÿÚâèüR3ëư=VÿŒÿ½áư9ư&MÿƯụ̈#ôûHÿ–ü/•óû;%Zư|ÿưÿ ÿ“,I:ÿ0£ÿ¬₫u’`ÿĐƯü´©Müÿµ₫ëưjF ₫ư=ÿÿQ7ưp₫· đü$•Jÿ%ÿ/Fÿưªû_=ĐüÿƯưëư ¯ư9₫K₫~ÿU~₫KX₫uÿ ¥ÿh₫§­‘ÿ6ư—̣ưÿÖÿ”₫',Cÿÿ§ÿ ÄPư#ÿÓó₫¯ÿîö₫pÿ7:j ÿÿ{ÿ¦₫₫’ÿ~yÆư F’₫ÿMù₫NÿÛÿÊ/®÷ûÄtŒ×úW˜¤ÿÖü;¦³ưă~ü›ÿàÿêùy^ÿ¶₫!ÿüuJ8Ñ₫Nƒ¾₫yôÿ₫1ưäÂ₫₫ª₫K,Í₫₫ÔÇ₫íÿD₫ y₫ÿCăÿoưGpÿƒư¹=§ÿÿß̃{₫Sư¯œưÉ₫à ÿÿ§Û₫ÇÿÆø₫U₫ ư₫“Uÿú₫µÿoÈư  Uÿ‰{æ₫ÿ§zi7ÿŸ§ÿ<¢ư“₫¤dÿ3₫+Í₫YÿzÙÿdó₫>ôưß¡ÿIÿ×ÿ€ÿÁÿ?UưAµ₫i ₫­ÿO₫ ÿ¶¶ÿ ÿÎư8ûÿúÿ@ÿØÿ¯ÿsöü¬&.ÿ±₫XIÿkÿ·éăư\ÿƠp“₫ßưè³ÿïÿ5ÿ₫/~₫Áè|ÿ¿ưÍÿ‰·ÿ—₫Xÿ%rÿÿ¦ÿm€Ç₫Y#mÿ®ÿèç₫ Æ₫_y₫’=ÿ±ÿÅRú₫ïÿWÿáÅ₫Üÿ®ÿ J=ÿ"‹ ÿ¬₫R̀‚ÿú₫5 #çÏÿÊÿ:{ÿÿˆ’±ÿ6jÿ¹₫Y\ñÿ ₫äÿ"øÿeÿÓ!íÿWÿŸ›ăÿôÿÓÿ«Eëÿ́ÿó[€ÿ •ÿ¨PÈÿ>ÿ}}æÿè₫³ÿñÿ“ÿ Ëÿuÿ ó₫ÛÿùÿØÿÿxÿô₫ùÿ#ÿñ₫“ÿ±ÿúÿ;Z¼ÿŸZ„ñ4**M Û{ŸBxÿO{ˆÿtÿÀ₫qÿ©ÿưÖư¸₫q₫đưưªưL₫zưưŒưG₫ô₫@µÿläIJ¯,övd°l³$ÿDư9ü´úú›ùùơøù-ùÿùúúnüĐüúü₫ÿPÿh6 ŒÚöíÏ­́·&äMc\ÿ÷ưư÷û‹ú>úªú²û%üđü₫Lÿyÿ£ÿÆÿmÿ₫^üKûêú¬ùø¢÷nø&ø£ùM₫ï†Đ ü i† Fñ ¬ jÿ ưúù~öWôHôäô&öè÷®ú›ư¿èysSp<ÿ{üú{÷ôJ̣‚ñĂñ;ö.û}₫’~” V9Î`₫̃ î X<û0ö̉ñ<đºïÄï¾đôªøươÿêăg´Ê9Gưíù?ợdđ ñŸơ®øùúˆ₫em ¨R~̉,nÁ µ~gúTơQñị̈̃́́ÙïưóT÷®ú•ÿçj¸ø-9ÿ#ǘ÷¶ó˜đđ¬ơwøüøîûΡ >Ó\d2ƠÆù ûö¬đímêë¦îñKô¹ù¢1?Ú‹ °†Œưæøọ̈VïǼ~̣_öúơô÷’â ê "èa³ÿ-Û PK₫¼÷ ïçêâè:è@ëMîOđ÷ĐÿZyƠ  üb‰±ú÷óÄñắ́ó¿ôwô˜üc ä ƒ /%!°Kl×d  eú2ïÇëëuå)åÚëïOñú†Øï , L †Uưyù—ỗîCè%íkô₫đpó°Í Û̃́Ư " èÇ íO¢ô€íẾíç¢á¡ǻîñ÷û–~ä Ô¸Í G S(₫rú_̣³́wéæêçđPđDô—ÿ 5 qñ$!–Q:!sü “ LÿóWî́æàçäêḰDđIụ̂-ç Ê;Ÿ¥ ¢úó§í¬êç/ïñàñíúQ ª 3¢a"€ÁÂ#Åè É t•ơEđCîbæáß–ä?èêé‰îLù™ÿ© ̉&̣ =VMü®ö_î́Tç̀íÚđ6đvø l 7 ®T '¦$¯^' eøĐóXñ|ç„á"å çƯç5íöøü~ơ% ˜¦ Ä}₫\ûđFí{ễêÈđzïÍôze1qMƯ#l!Ÿ [₫÷^ö@ë»ä]æçjæƒẹ̈ÀøÈü¼' ¡ Ä ° ÿ*ơïÚïóéNị̈ ̣µú)ĂU ™IÏáÈ8¾yüÙú´ñpéèèèç†êSïôfùå₫G m ØÊÓù"̣Ÿó=́)îøô/ñröë»gÛêå +O¬b œµ₫Ú÷(î/́Uë¾èºéœîăñ­öäú™ÿ- S )ÑÅQư¤ơ©ộˆêô×ổđmüâă À­xh»æxĐ_—₫vơMïî>́sé’́’đ¢̣f÷•ü3u´kœC•û%ö9ơơï€í÷̣^óóAsç Ă#0Ä”ï®!°₫ ơñ„đỐ€êđî°ñ×ñ*øyư½₫`¾àư\®₫·ü0÷'ộ9îQöœôcótÿ0Χ (¼₫̃©₫¤%‡N÷ªó´óûîåëƒđ÷ñáđm÷œû ü"ƒü!“)°₫Bư]øoỡôÔïÂöÑöô’₫&D ky8Đf„ËídăùööÜđHî<ñ(̣Oñơôú¯ú}ư&›8₫²ư$₫®û ơˆöỤ̂¸̣ù}ôBùö[r¼I{AP/µé J½ñ₫Èøù—ô‡ïÁđẠ̀øđḤ&øRúùùÿ«+”Ôÿâưeÿ:úơøẒHóyù…ôYù®uhêÍ :ÿÂFJ £ ˆÿRú`ú ơQđíñḄ7đó£öîø,ú¥₫u| Ơ₫÷ÿSüÛöOøöô+ñ$ùơơơËÿ‘ơ₫ C Dû.ĐpY ô ×!ûmûƠøTñ¼đHó đöđUơ[÷LùÀü$Âjª‚½3ÿcúR÷ø÷èñṇ̃ùfó·öOÿCú ™̉ 9;6ÈÊ$ 7 L &§ù‰û ÷Qï9ñẠ́̀îöñ¦ö5÷Gú̉₫±:?[¥EE₫ú·ö™öœñđđß÷ÑóÏô;ƒˆÿ̉ – ÛŸ+Ư¸8Z~ øøËùnø`ï–ïĐó¼ï§đø‰ø[ù¶ÿ#A~j0˜•’ưvùÚö[ơḅïcơ(ögó@ü Y…SØ̣ï_# /ưæö¼øsôüî́ñệñ6ơù˜ú»ư¹Eé;¾̉ÿ;ưkûÎ÷rôô´ñÉïSöA÷,öö₫'ë3 Ưđzư”¥ª]A·lü÷c÷ô,ñ¶̣ạ̊Âó ÷½ø>ûDÿƠÿ ú%gÿ×ûÆú?øµôô+óñöñø'ø₫6Ḳr4±ˆùz°a ïëŒửùÁ÷côụRóự¤óköxømúPư0ÿOÿ`¿ iÿ^ưÁû„øÂöYơdô¾̣ốøØù¿ûEM€« ‰ô¦åØî ºÅXû•øzöĐóđ̣Bó¾ófơ˜÷ùđûl₫“ÿßµD@^₫HüúøEö¾ô5ôóơ†ù‘û“ư°E *KªÔƯö@b É"ÿûĂ÷#ơfófóoóăóÖơÏøúyüÿÄw[*6¬ư~üúø₫ô³ôäôô€ơ?öyûNÿ¤> ½ ùæøxd)@ ¿>>ưæù$÷bơ²óoô¿ơÀơO÷‚ú‰ü§ừÿø¤ç7ÿ̀ü™ûù̃÷÷‚ơuơßôê÷>ú2úyü±~z‚ * wvo‹o¡¶ ,`µ̉ÿDüùùÑøˆ÷¨ơWơ/÷¤øôø­ú“ü–₫' éÿ•ëÿ¹₫Yü×ûûƠøa÷ơöùŒø§ö[úđú®₫$[sû: ô « ]  Đ æ Ú Â 1}.̀₫bư§ûoúÙùEùœù,úú/ü3ưŸưsưÿÇäư×₫ÉëứûKü¨ûAûEú™ùø·ù\ü¡ùûö₫ÔưÿÂ:Ë¡³‡gº…_Ëmăa–Ø›ÿ…ÿÿÿ”₫ë₫4ÿÈÿ*Àÿơ₫ư½ÿÿ|üGûăû?ü{ú)ú©ø¾ùXü¦ù÷ùbüˆư½₫ơ₫Ûÿ0ä-*>û¤ÄN©¤›™êÿ̀¤aO¿Iâ¹¼ÿBÿCưiưÈü›û|ưAûú0ûVüÏü’û'ư(üÿư9₫b₫́₫Àư×₫XÿÈÿÏÿîü¡₫´«₫OQÿœÿÛÿ=hLvSto~Œ÷₫Ơ¥Ê¯[§ÿÀÁËÿÆ’€,ÿC₫#|ÿ ₫½ư•üÙ₫₫ÍưlûÍû-ư0ưưùúưü‹ÿ‰ü÷ư0₫°ÿ%}"ÔÿΈÿåaè¹ÿûô”#lûùĂ×–Œèư’̀ÿáƠ[´₫x₫ÿSÔÿ9ưÔ₫íÿÿÏư%₫ÿXÿïü2ưé₫úư2ưD₫#₫¡ÿ-₫4₫Aÿa₫Ùÿ7çư'™»ÿÙÿVûº6ºđrÿ́ÖÇÿ¸Ä₫Qơ³Ăÿ¶ÿwÿÂMƯ₫œÿ°ÿơ₫¬ÿGÿơ₫éư;ÿó₫N₫„›₫Ä₫}ÿÿ|ÿÿéüÿĐÿ4ÿ¯™WS?ÿđ₫Ÿ₫/"C₫Äÿºös ÿ±ÿ@€`ÿ¬ÿ¨ÿTÿQf₫¯ư¶â₫₫ï₫qÿ‘ÿ°v."₫6̉₫]₫¡₫-pÿ“₫Dÿܳỵ̈₫£³…PîÄÿư“½₫ŸQÿÔÿG₫Ÿÿ)ưC¡Ó₫¾¶ÿÿÿFÇ'äŒÿŒ(Ó óÿ§₫Ă₫ ’ÿ4ÿ ÿVÿĂÿêÿ¡ÿÉ`G¼ÿ øÿsU)ü¹ücÿªÿ,ÿEÿ(ÿwÿµ₫ÈÿÂâÛ]^ÿ#vï ₫ưûB₫½ÿ=¾ÿưJú₫6“hÉMÿµưwû°ư‡Ê₫̃ưÙúAü‚û½ÿÿ₫Ùự₫&S69{/ÏüªÇˆÿAơç₫PÿÇÔÿ‚k₫Çÿÿưë?†Bgáÿ ÿ6ÿÂ₫ƒÿ½ưư÷ư‰xưª₫rü.ÿ]Öÿ·BÅÿ ùÍÿ±ªÿ;‰ÿ[ÿ¸₫.ĐÿG̀{ÿ½ÿIçÿƒÏq/Êÿy₫ÿ‡ÿ)ÿÿÈüÿ₫ư₫™0§ÿbÿvjÿ-’₫ư₫x₫₫œ₫!ưÜ­ÿE}kưôüËÿçÿ+[ÿ;ÿ×₫7₫íÿÖÿ¿ÿ ÿ{Aà½ÿV³rÿ¯¤ÿ–₫Œÿz₫̣₫$ÿ%Hgÿû₫Äùÿ²x ÜÁ=S\`ÿ‘₫•ưăKÿFÿNÿ ÿẰÿ>VÜÿ8ÀBŸÿÜ₫gÿaÿ₫«ÿÂÿKÿªÿÍÿµó4‹\Ơ·ÿÅ₫XÿÀÿ­ÿÿˆÿ£ÿUÿ½ÿ#Ăÿ¥úÿ÷5ÿ;‹ỵ̈ưÆÿÿ̀ÿŸÿ™ÿ!–0́₫­ L_†oÿgÿ\äÿ 9Ÿêÿn¾ÍƠ₫Œÿ‰ÿ^ÿjÿ‰ÿ¹ÿÿ₫¹fÿJùÿIÿ ¨¿ÿahÿÚÿé₫ ÿA‘ÿû₫ÿŒbHÿ¬FP'êµ€; ÿI₫ñÿyÿÿçÿàmÿ¹Ñªÿ4ä₫ ´ÿÿ¼₫ÿƠÿ‘₫ÛÿíÿlÿÙÿê{-lù5®&ÅÿÆÿv₫_ÿ]ÿ´ÿỌÿsœÿ¶fÇ–íÿKœÿe¡₫7ÿVÿ#ÿE‰ÿéÿç!l›ÿ ]çÿGèÿ=ÿZÿÏÿĂÿÙÿ<áÿOÿy-Iÿ22ÿ<ÿÿJÿÆÿÑÿïiÈ₫Íÿ‡©,ßÿù₫^ÿ=ÿ†ÿœÿ IéÿQX&]/.¦ÿ¨"ÏÿëÎ₫Jÿç₫5ÿ¼₫ÿdñÿ<Vơÿ$åÿ?bL/ºÿ_ÿ¥ÿÿ˜ÿ\nÿàÿÏÿèưÿÜÿ₫?{s@“Ûÿ´ÿÿƠÿUÿmÿÑÿÅÿ]q˜ÿïÿë¬Ôÿ\öÿûÿ ÿ‚ÿă₫( ÿ¿ÿâÿZÿ`å±ÿ›v¾ÿAcÿĐÿÜÿÀÿëÿ‘ÿ~ÙÿW™"ºÿêbèÿoïÿºÿÊÿBÿ³ÿjÿñÿŸÿäÿ« t×ÿLCˆwüÿiÿ eÿvÿó₫\gÿ&ÿ€Öÿlđÿ» ›bm₫ÿ¸¯ÿôÿ€ÿ¯ÿỵ̈ÿÔÿîÿ³ÿäÿ ÷ÿÍ9 SÜÿx.Êÿ÷₫Lÿ{$ÿöÿđÿ¥ÿBĐÿ?d^óÿ&^»‰ÿËÿÛÿxÿFÿUÿ¥Uÿ:÷ÿ…ÿ£©ÿY0ó`öÿÿÿÅ1ÿr{ÿæ₫¨ÿºÿKæÿRW*†n‘÷ÿ óÿ“ÿhÿăÿrÿÿÿÓÿh#`4;>ÅF́ÿ°ÿëÿÏÿ…ÿ&ÿrÿÙÿ?“ÿ?ßÿ­Îÿ´±ÿ)¸[ÿyÿäÿ^₫NÿûÿCîÿ tÿ’Xp&¦ÿÎÿĐÿÊÿ3Ö₫Ëÿ¨ÿÓÿYoÿŒW¦çÿ7®h µÿùÿ[ÿ,ÿKfÿµÿ©ÿ+°ÿZƠÿ4WÊÿ¸9˜äÿ¶ÿ†ÿ nÿ­ÿœÿ,ÿ Öÿüÿ<qåÿu’„’˜äÿEăÿ1ÿ jÿ¥ÿăÿÿÿ¡ÿ¯ÿ¶ÿ? qïÿ…A‘'Aëÿ«ÿâÿ—ÿ́ÿ«ÿ#µÿ¬ÿICÿPôÿxÿÅĂÿ\KnùÿËÿÈÿXÑ<ÿ*Vÿ×ÿïÿö ÿ"aÿÿ3ÿÿyÿíÿl‹˜Úÿ­ÿñÿfÿåÿd@¾ÿfçÿPIâÿvFÿ gôÿëÿ²ÿP+$¾ÿg¹ÿ÷ÿ̃ÿ'‡ÿ\ÿj<ÿËÿĂÿA’½ÿTÉÿpºÿÂÿÿ̉ÿÀÿƒ¤k%‡ÿhÿ@ÿÿfñÿ{ÿÆÿI,(+¤ÿRơÿ’ỵ̈r‰₫ư₫>8†çØRư*üÂûjưKưÓ₫à₫ÿ₫3âNz¹oVv-yIz÷̉ˆ¯e± ́5@Åÿxÿ¹ÿÇ₫’₫¥₫₫âü&üüúêø_÷}ö™ö2÷ïøû'₫©< ưÓ„ª=8:üÂ÷àơ.ö%øèø ù„÷ôôộ„ơ9÷ôø·ø.÷eơ1ôônơ-÷œù+í ^Q$Ê-]0'¶9–ơcë ç|êeïßñbösôx÷Êøzưˆ4 z °=¸÷ó)í(ëëÜêX́́ƒ́“đ¨û÷û ¸/AzA¡8S& ô®âWÛđ̃!å̀í”ósóûơƒó£ù6â #Pî ¸ù«î‡ăFâ|áƯä>éAëßíÈđGû .!&4‡GNK;D£/gÅơ.̃÷Ñ­ÑôØŒäØîæôcùUùÖưăx ¿I<+ gü'íbßàÛ¤Ú¿ß(ä”éíÙô :ê(n;°M‰MœD3,w đHØ(ÍÎJÖ6ä@ïkøgưÿråNª‘÷Uèp̃wÛ*Üágæíê5̣ưÆ )$06ÙH[LE 2¸ø[̃GĐÍ¢̉ßüëôöÿÊxsô 4Åxù.ê²̃Ú5Ù ̃äwé¾ópÿæ&8MIKJbB.¼¬ö•Ư‘ÑÓέÔUáß́ø¬ÿ ÷w ÉđÙ ïwöUèÇ̃¶ÚÚnßêäŸëñ÷øÁ],=ÿI F<#jî2ÙOÑsĐÿؼåwđü 0̣ÊR í ˆ ø»₫bôÏçĂàrÜÜØá¾åị-ÿ\‚'®6ƠE™Dơ;»(ö *÷á™Ö}ÔhØ[ä:ígø³₫ÈYß9 B x»ÿ‘ø4íå[à ̃wâçBơºjA,:†CB>•1óz)ïỗDÙ_Ú¨àúêị¥úüư¶¨^b‡ßœû×óoê¡ä:ájâÓçÀó[*)9·@<â/æªpî^àŒÚÜNăḰmôØú¿ưƠÿli4|ÔÀúụ̈Œëå<ă$äÿë;ù ¶ r1é>?”7&{ù çJƯPÛ{ß è'đ=÷ƒûÖüU₫đư8 fdgưˆ÷ đÄè3å^ăqêhöŒú0??88&‡ĐúˆèÖßüƯyá–é>ïđơNøưù°ûïû™ÿ’µ”ưEø4đÛé%æjäǽ‚÷\ \M0|=2<”5¥"û úréµâŸà-åßëđ&öFöcø–øúÏư9ÿM¡Cưå÷øïjëç;è0ñ°ü¦ü!‘2ß9Ô6—-J ö!ê²ååätêµîjó€öWö`ø÷aúü$₫¼ÿuư›úơ:ï9́ßèî¡öÈ–'Ó5 7%2Æ#^-ÿïèæÑèXïậª÷©÷ơ÷Ô÷o÷úôúQưưoúS÷Fñ5îRë®́†ơ["·0‘6v2(aGVóèè(æíæƯíỘç÷qúùúÁ÷ù¿ùơúMü̉ùĐ÷[̣îuëtêụ̀ÿü H!0/9.58,°Ó¤ôè ååëZñÙớù&ù¥úsù›úhü´üw₫Bû‹øß̣:íoê[è0đ1ú‹ è(.¤8_6̣-̣t~÷8êAæ'æ(ëùđ-ôÅ÷Àöă÷ê÷ŒùưS₫œH₫µúRơlîLë8è½îiø7 Ö*h65–-æ »ùńHèè^̣́¦ô­÷sö»öÜöÍ÷XûÂü*ÿ·ưhú÷ơ¨ïú́¥êïđƠúë Ô*×4̉2=*Ưö÷‘ëMèPéîôœö'ù•÷-÷Ûö¥÷íúÈüÿ₫¼úö“ïóñéÿï$ú >¥+́5ư3Ú*ß4*ö"êÄæèí1ô ÷Ñù}ø øá÷—ø©ûfư1ÿ"₫Mú¹ơï ́—é$ïmùüMu*Ö5{4",ªí´÷ëçpèĐ́oó7ö(ù4øÚ÷ø¤øøû¡ư¥ÿó₫@û ÷́ïJ́éñëëơL÷:'ô4&70Ô!: Êû[í­æ\çÉêëñ½ơ®øù§÷†ø(øyû„ưkÿâÿ[ükøđñ}́êĂèñ¿û.· $/p8…4d*‰ô0éÙæüè!î ôöEù~øùÎùëú₫¬₫¼ÿư©ùơCïëêÿêyóà₫µ9"½/Ÿ730(X ¸̣xèéæ™é>ï0ớ÷kú×ùGúûËû<₫2₫~₫ñûøïóúîŃ;ëq́zọ́ưÍ ó›,¬5S3Ă)_ƠËô>é}ævèmîºôùÆû9ü ü‰üƒüàưËưưÎû“ø×ôđ¼í(́í5đù̉[Œ$0#4. !F?ü…î‰çØç±́]óHùVüÆưøüxüüCüưîü“üºúø÷–ốđ&îúí đ(ùÏëô&¡1Ù4²,̀9 ø,́ç‡éºïuöÛûŸư₫ºüƯûîû(üư ưJụ̈úbøọ̈dđÔíŸíVî`ô›ÿ†!Í.%6€1®#ç^ûḮiæè¼ï÷₫ ÿÙüú=úéú%ü>ưÍüåû£ùM÷$ôñÄîḮÁí›ïQù)9)I3z5~*;C̣²é‚èèîy÷Yư†|₫=üơù›ù=ûµüÇưJưmûúÛ÷ĐöyôÚñ’ïí2îÄïæøå¡y(î1¤4‰*Ơ¤•ó©ëóêhđĐøéüNÿưÀú—ú¤úoư₫{ưÓû×ø,øº÷ï÷ø÷Kô®ñ&íđëöíœ̣™›!7/M3´/ŧ :üœïóíđ́ö!ü¸üÖüùú̉û¨ưÂưvû%øÆơ ÷Nøúù¤ô™đB́Á́mđơO"áÄ*/±.!‡1½̣­î–ïûôûüªư'û‡ûưdư÷₫¨ûÏø$öăôdø£û@₫}₫|øJó ívë¦î.óÈùf ¾)ç.Ñ-[ „ºư!ñníöïÛöºüeưïü ùưøú±ü ÿÿü…ú©÷¯ö‹ùóü¥ÿœÿ0úBô§íĹđí:óZ÷~₫Z_É#í,0(†èùôà́Àî—óØú:ưüNú ùüfÿºÿÎú—öQơ÷/ư=z₫Ù÷†ñî<ïẠ̈ö÷¯öC₫x Y.µ4g0boôë¢ï/÷Nư!*úP÷éơGúS>¿üôøñÀôÜư=|[Zú¦̣©î–îợơíóÑñÉ́ơå÷1Ó7¤2–B$ú5̣ëó.ụ́ù°úÄö‡ơÿú0ÿ  ₫“ø óÑôgüĂĂîÓưdù,ơ§ơöộ”îÔí³đ@óơøÈSL#7/E1…+!>˜ö̉îÊñR÷́ûÿûúzú₫úïư ÇÍưøºóbơûPh%₫•ù÷÷Ü÷÷•ơ ̣©ñ^̣;ơ øxûÓ΢'q2›/‡"K­û ô–̣#øưØû™ú'÷ú÷²ü‹ÿ-ü>öèô›÷Z₫Jä¸ûgø&ú*ü©ư½û’÷ ôYó¢ô{÷î÷ë÷ûöÄùß «9-v3*ñYøÏơƯô5öO÷Nô¤÷Œú[ÿ~ĐÅûFù÷§û&ó¯¨ưÆúçú‘üÿư₫)ûúøùÛù&ùÙöoơ„ôdø:üIÉó&₫'ß^ṃöOôKóÅöfúèúÇưhÿr4ÿûZù¼÷bûŸÿ<̣₫Úú[ûaü¤₫¾ÿl₫Úü>ûđùuùø,÷¼÷qø ûÜûïû³₫³ ĐÏ"›$UĐ ÷ùËùMû4ûû‘ú₫PĐÿCû„öƒö:ù¼ư‚^÷ÿ^ÿÊÿ»ÿ‰ưü!ûư§₫æư.ú9öWógô÷ëùVú ùùCüƒ ̃$Ư$Wg +Dư•üSûÔ÷²øËû]Ôôj₫œù¬öø̣ú€ü2₫V°xó iưŸú–ú,ưÛưƒư£ûø^öơªôcơÈö`ø)ûRü]₫zÿjYá"‰X 3’ưdû ư$û(ûÉưTi&Ûưúpù”ùüèüÀü@₫æêă‰ưLûû6û&ü”û7ûâûCûcù¢ö ô‘ô8÷UúưưUư½ü²äÅw"àk/~*₫)üêú@ûÿ¦j]û¦÷8øBù‰ùËù±úÄư”fåˆ×Ÿÿư¤ú ùNùŒúü«üPûÇù̀ø0øÙøÂøYù½úübư ÿíx Ù®¾ç>ë"₫Ûú›ùËù>ư$e‘ü5ùøúøùØø)új₫MôÑÎyû%dÿYûƠøù¾ùYù‘ùăù¹úáúúOùù-ú#ü=ư‚₫j₫)û Ôgưâû¥÷Î÷ƯüP₫¼₫èøTùTúSú=û·û0₫‰¥„¶==ÿ”1˜ÿ*ÿÿÿÿưÏú́÷Åọ̈øûüûüÏüürüáû‡ùgø:ù–û`§fµ`ƒ ₫ưÉüúùéü¼§ë₫Zù7øgúúQùrú₫jưLØÿ3ÿ–ªÿpưư\ª¯ưHú|ùgûDư5ü]ûéư¿ÿœư@úeøøyùQùù²ụ̂: €gºă 0ÿüñû›û)₫&ŸAlüÓùmù¿ùùúÖư5ÎñÿQÿăE5¯ÿwÿ*‹¥¼Iư®ú#ùGù»úlû0û û†ú¸ùøùúÚ÷Ñơzøû₫;÷DÙwưoüH₫à₫©3œ©ú₫³û[ø̀øûaü¿üÿÔyxaÿGÿsŒ¡ÿwÿƠÿ₫ÿ'ÿä₫/…„ÿ‹ûQú2úEúrû₫ûăúÄúáû±û9ú‡øÆöJ÷Éüíư ¥£µ$ÈÈyư»ûưoÿÙ„d%ÿoú³ùOùDøêø|û™₫|ßëÿ0ÿOÿ9ÿ]ÿøÿ¤·7ÿYư¸üêü+₫g9̉‹ưBüùúgù¿ùDû—ûÓûư3ư,ûƯøø›ù_ư¿Ë Ùpµ ±"Fư ûüÖ‹ä₫̃úPùæ÷÷øQû¢ÿÂ¥wÿæÿ ÿiư₫0H³ÿ ÿÓưêüZưq₫îØ|áư ûCúûưœ₫m₫(₫öư¨ûgøBøúêûưüU¤9jÑiû ù­ưXø]ÿcûÛùxùmø?øûPÿPˆÄÿ}Cû₫₫Ó₫'ÿ&ÿÿ½₫ơư-ưƒư£₫Æÿµăûgü ûíûüRü*ư₫Q₫úüIú…øø.ù_úyưhq‡f;ˆ́ÏÚ‹ưÅû(₫“÷ ³ÿyư#üû'ú-úLûĂüM₫ÿçÿ[ÿÿÿ ỵ̈₫AÿÿA₫y₫Ñÿ»ÿ₫óư-L¢/zÅưªüürûÄúü₫[₫vüúfùEúûkûÚü: ‹`ú9 Zçíÿ ü ưP É₫₫ưûùjøöùßüÿ>ÿ₫ơ₫Åÿ=ÿ·ư<ưX₫ƒÿÔÿÜÿèÿ°ÿÿƯÿâÿ—ÿ–¶ÚüĐ₫·ư`üüùFùcû©ưÄưsüyûsû¢û½úªùlûÇó] R¢1 ¡vÿ¨ûzüƒ¢8*ÿ€₫₫Lü÷ù6ù¹úFưjÿ1¡ÿÿ–ÿßÿ^₫¨üư–Æùÿ]₫€ÿoú½₫₫`wêz‘₫Ö₫₫9úª÷›ùúü¥ưDüƠû¼üÂüúúwùñú9ÿ¾‹0 Iµ <N­ÙÿƠưÄư_TspLư1ü¾û8úùVúưéÿvöÿfỵ̈₫[₫ăư ₫£₫,ÿñÿäàæÿÿôỵ̈ÿ̃å¦,•ÿ4₫»ü\ù‚÷¨ùàü₫ôưêưư@üÈú₫ùÏú½ưOX 5bÜ oæĐ₫X₫ÿε‘₫6üfụ́ùzú¾û§ư[ÿƯÿñ₫‰ưKư‚₫uÿ¢ÿ;4ïÿpÿÅƯƒ–₫0ü~û|ú ù®ùÍüÅÿÔÿ‘ư¢ûûèúzúơú—ưùV” G ©Óy ÑÆ0Jÿ£ÿ†ÎÿƠưüđûûµúü£₫ 2ÿ>₫å₫rÿ₫üJưfÿöÿª₫@₫ưÿTbIÜ¥₫aüKúúûYûÙøúë₫Uÿ'ü†ûÀûéúTúüKÿÙđµ  ¯ ! ÏèŒp†ˆPö₫øư₫Bư­û’ûSư­₫T₫ºư₫m₫­ưư|ư8₫3₫̣ư4₫¾₫ÿTÿ†‹™ÿ́ücüûêù`ú‹ưTKm₫Ơüüûû4û¬ü`ÿf²î; H ö ™Û¤³vÿ1M °ÿ%₫7₫4₫;ư^ü‰ü=ưÀư ₫)₫₫₫áưuư.ư ưg₫Á₫²₫×₫–ÿ…†mÿÓ₫hÿMÿuươû‹üĐưưư„ư‰ư ₫y₫I₫[ư‘ü4ư"ÿ̀ \w K à My2å“ eÿwÿ³ÿ₫öûíû;ưqưºüưs₫ÿ₫áüÜüÍư1₫¢ưsưp₫|ÿPÿs₫^₫mÿCÿ₫Æư†₫n₫9ựüb₫§ÿQÿM₫ ₫\₫:₫Ûư”₫²ÊMq ư 2 xKdçÜO+¯Bzÿûư„ưư}ütü5ưÔưÊư´ư ₫₫@ư¢üFư ₫£ưAưD₫\ÿß₫éưD₫Fÿbÿ×₫̀₫5ÿ5ÿ¹₫b₫‡₫Ö₫ÿÿù₫©₫£₫ ÿmÿ^ÿI©¹¨A q[Ó#¶–öÿº₫†ư'ưư¼ü«ü^ư ₫₫æư¸ưiư4ư8ưưêüưT₫a₫₫Z₫î₫ÿ"ÿNÿ}ÿ¦ÿ·ÿdÿê₫ÿ¡ÿµÿ9ÿÿÿÿï₫o₫-ÿÖ—T”b Ú´˜€3öQyöË¥±˜ÿçứüñü$ừüRüáü`₫ÿ₫Óư“üäü˜ưưü@üMưÿZÿ~₫‘₫mÿnÿ¸₫Ï₫¸ÿ,ïÿéÿ+Âÿ¼ÿ¹ÿbÿ:ÿaÿÿl₫±₫èæ­« ¶M|Êœ'M@$_fÿáư„ư=ưÈüư×ưÆưpưùưQ₫ùü{û(üÈưµư×ụ̈ư'4₫u₫"Uí₫ÿƠ_ PÿæÿLÿé₫?ÿhÿô₫`₫_₫ÿ¼ÿæÿi.NdÅD;¬<ô*Ñf‚9Ăÿ`ÿLÿW₫!ưưùư₫BưưÇưâưŸüÆûküưÁü±üưưIÿ(ÿ­₫†ÿ!¥#_\“ĐñWäÿïÿÉÿEÿ¸₫₫fư@ưbưAưfưg₫jÿ­ÿ0øúßücÖ[́Ôz ÿÿ#ÿC₫$ư(ư&₫[₫!ư?ụ̈ü¬ưÂüœûvüL₫\₫ưFưcÿ]bÿSÿ~J³‚é×.| ~D,ÿwÿµÿj₫̀üºü‘ư{ư®üđü›₫O7+§ o„¬XÅ  pùù—ưWhT\ÿi₫Y₫ˆ₫/₫¡ưtưœư«ư9ư‡ü‚ü=ưwưçüưe₫$ÿ̀₫ơ₫>A#¿å@Ư¤6`tÛ<Î₫á₫TÿÄ₫ ₫X₫ ÿÿ­₫Ï₫\ÿ¤ÿ¹ÿ)Ñ/†&‰ƒÎ]@Á́4‹¹¸¡È7R₫ÿÿ₫y₫»ưàü¼ü±ü ü°û¸û¦ûpû˜ûöû2ü üIư®ư₫ÿ&ªGeœ̀ÀgágưR1ư4qÿ_ˆánÿôưh₫ê₫½ưÄüjưáưưü1ưœưlưpưßưL₫‹₫¢₫Ă₫?ÿăÿm%ä$©§Zbs/úî–*,'³ÿoÿ’ÿtÿÿ"ÿZÿOÿDÿmÿÿ²ÿăÿôÿx–jüåÑĂáQÖ°âÿôÿưÿ)ÿgÿÑÿNÿÎ₫ÿjÿ$ÿÎ₫Ô₫ÿÿ¼₫¡₫ÿhÿ9ÿ ÿvÿơÿăÿ³ÿ|mö)₫ă"Bïªß El‹2Öÿèÿ Øÿˆÿÿ´ÿ¾ÿtÿGÿˆÿÁÿƒÿJÿ™ÿëÿ»ÿ’ÿçÿ.₫ÿÛÿ;5OE&đÿÂÿ̉ÿêÿ̀ÿ­ÿÂÿĐÿ´ÿ¨ÿ»ÿÂÿĂÿÙÿéÿöÿ%-VYOiƒxq{vkfO7@7 üÿêÿÅÿ¾ÿµÿÿ ÿÿ‚ÿ…ÿ£ÿ•ÿ{ÿ›ÿ¸ÿÿœÿÑÿäÿ̀ÿàÿ "7=JSMXh[HS[>*0.ưÿ₫ÿûÿçÿÙÿÔÿ̉ÿÎÿÄÿÀÿÈÿÏÿÊÿÉÿØÿåÿäÿäÿôÿ '''/4+%,+úỵ̈ÿơÿ́ÿƯÿÙÿÚÿÓÿĐÿÏÿÎÿÔÿÚÿÚÿ̃ÿêÿđÿñÿøÿ !&(&'$ !₫ÿüÿ₫ÿôÿíÿđÿïÿèÿéÿêÿêÿêÿëÿíÿđÿơÿ÷ÿùÿ₫ÿ  ₫ÿưÿüÿ÷ÿôÿôÿóÿđÿïÿïÿïÿđÿñÿñỵ̈ÿôÿöÿøÿüÿưÿ  ưÿúÿ÷ÿôÿñÿîÿíÿ́ÿéÿèÿêÿêÿëÿëÿíÿđÿñÿơÿ÷ÿúÿûÿưÿ  ÿÿưÿưÿüÿûÿúÿøÿ÷ÿ÷ÿơÿơÿôÿôÿôÿóÿôÿôÿơÿ÷ÿùÿøÿúÿûÿüÿưÿÿÿ   ₫ÿ₫ÿûÿúÿøÿöÿơÿôÿóÿñÿñÿđÿñÿñÿñỵ̈ỵ̈ÿôÿơÿöÿøÿûÿûÿưÿÿÿÿÿ  ÿÿ₫ÿưÿûÿüÿúÿúÿùÿ÷ÿ÷ÿ÷ÿöÿöÿöÿöÿöÿ÷ÿøÿùÿúÿùÿûÿûÿưÿưÿ₫ÿ ÿÿÿÿ₫ÿüÿưÿûÿûÿúÿùÿøÿøÿøÿøÿøÿ÷ÿøÿøÿøÿùÿùÿúÿúÿúÿüÿưÿÿÿÿÿÿÿÿÿÿÿ₫ÿ₫ÿưÿưÿưÿưÿüÿüÿûÿüÿûÿüÿûÿüÿưÿüÿ₫ÿ₫ÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿ₫ÿ₫ÿưÿÿÿÿÿÿÿÿÿưÿ₫ÿ₫ÿÿÿ₫ÿÿÿ₫ÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿ÷ÿÇÿƠÿăÿíÿúÿ ÿÿøỵ̈ÿëÿçÿàÿÙÿÙÿ×ÿÔÿØÿØÿÚÿàÿçÿîÿôÿÿÿ'-6??AD?74*ùÿíÿåÿØÿÑÿĐÿÅÿÇÿÅÿĂÿĂÿ¿ÿÇÿĂÿÉÿĐÿĐÿƠÿ̃ÿâÿçỵ̈ÿúÿÿÿ+6@O`hrƒ{k]J.úÿƯÿÀÿ§ÿ‘ÿwÿiÿQÿIÿ?ÿ.ÿ3ÿ*ÿ,ÿ<ÿ?ÿTÿlÿ†ÿ©ÿ̀ÿüÿ$Wºí<_~™¤²² g*̣Ÿ=Üÿwÿÿœ₫;₫Ôư…ưBưÿüäüÆü¾üèüđü@ư“ư₫₫ÿÚÿ}= ³Sú\­áâ·n‰ăZ̀&˜ÿÿp₫æưlưÖü]üôûˆûûäú§ú_ú[ú_úƒúúzû¨ûLü®ưX₫~ÿñ<5¯à‰Rơèæ,\Íà¿ nfÚ†ÿ)ÿà₫óưxưư5üƒûû0úvùùlø²÷“÷U÷h÷i÷øQùƠù)ü6ưÁ₫ïÅ2ÖªŸ § ” c g ˜ ÈÆY{±ˆ¬KCrÿ ÿ ₫6ư¢ü³û“ú úùø|÷Öö₫ơ¤ơ‰ơ[ơ´ơ1öø7øiúuü¬ư2^^cÉ ´ ó ‘ & " · v Z ~ûˆ³ 7•çbÿà₫₫³üúû%ûúîøuøP÷FöÑơơ:ôiôô»ô…ôÙöç÷Vø}üÛü³ÿ„ia+ Å  c§ ³ ` ç ½ SDu|ˆû6ÿëư²ư¶ûˆúúÉø>÷Z÷æơ#ơ3ôiô1óø̣8ô>óơơùµ÷éû0₫á₫o×be F â> iT ¸  Z1Ü ñ<ê₫~üHü´úºø@øl÷ñơ_ơ/ơßó<óró/óṂNô óÈơôâøˆùúÄÿ₫®û ÷. *Ơ;1Ô®DË C €NÙ~ÿ ÿ—ưUûcú{ù®÷ ö4÷rôÄôkô¯óó óôạùóơôD÷6öûú7ú¯ưê!%× ] îŧgRl¶k] V +Á´ ÿk₫ªüëú¤ù:ø¶÷Ëơö#ơ©ôló ơ/̣nô_̣BôỌ?ơçóö&÷ˆ÷fưDú0æÿ̉® á ¡ E¨¹ñ´Û œ ©Tÿ;ư‰ü;ù¡ùôö÷@ơƒơXô¼ô ó¼ô]̣ộ́óỤ̀¿óQơô½ø!ơ¾₫Åù\†ÁB Á 2̃’‚ÿ ÅùßüÓûzúâö†øµôRöZóZơọ́•óµóẹ́tó’̣Póẹ,ôẠ̊Ôơ¹ô÷uùpüç₫27} ¹îăOzËak­ Êçÿ¹ûÔùùwơ£ơôôWóYó´ọ́́ó‘ó‡ó'ó+ó³̣¡̣góºó ôươçơˆüü₫₫? / Ç&‚<ƒåÜf! ¢}₫úÚømơ”öÏñô*ó÷đNôÉñáóị́ṇ̃&ơ½đçôñỤ̂X̣ó˜ôóóÍ₫́÷Û&Ăä6J4Ơz´‚èbBÈö=ÿ'ûô>ơ|ó/ïdñ2ñ·ï7ñ¾̣̣̣Vó1ôñ½ó~̣đ¨̣ô­ï¤ûeù\ûR$^„dx¨ Mœ­,M ưÀùTóÆđ-̣¾́í&đíïơñṢäđ„ó€ôûïỢ ôrîNôáïåøSùúÛ=± 7vÇ n!o"ßÔdb¼&₫ÏúẠ̀ÇïçëƠê[êƠçíçëZíf̣”ṇ̃›ơô1̣ ợ,óÄđ~ûwùÇù ’p 0‘"s%¢&c#1!^"t· dÚơˆơǺJçåŒå8ääă¢é²êüëẠ̈"ọ́“ù>ôơ¶öLơøđiÿüpú­ l©w!²(I*À%n"("Cç … ±ÿ·ïớé̃ÁƯGáîƯ ß6èoéêỌ̈±óđô¼öøÄö`÷8óH4ÉúÎúµ I"Ä&Gf-.#&Ø$'#ä m₫]́åĐç“Ø₫ÖáôÙÉÚê9ç­é˜̣qô₫óÆöqöƒùṢûåúH ³é.¤# &o3,Ô#R$Ù Ơư‚óâádàiÓ0ØláoÚÁáỨë`í ơ©öÓó®ôúṛkÿĐ₫8Y°â +Ç#Ô+=.»'¦#]û} ±üÆơ#înà%ß̃ÙÉÛdáwâ‚çíÂíƯđ)ơ—̣Àó öoñ–Ư₫:}%$_/Ê$Ñ*-1&®ho¹óÀíAêqÜ5Û3ß—Ûßđå?è*î́ïâïæöÜ÷mïơ÷eó°û =¸,‡'g' *Æ$́¨÷ •ä÷ÎéÍèÁâ°Ú_̃à¹áđæ1ê›îÜñî°ơøñ.óÉö‰‹ æŸøx!J+I(<&¹!ß8› ×hư/đ¡å‡âtß`ß‚̃˜áÅé)ị́́̉Çóßô3÷öơâ÷pÇN=¬ đ!_$™%p$q0˜ûÀö–́Ưæiàĩâ‹â×âë=î±ï&đ%̣]÷ùáóvöß ú ÿ/#˜$ç% #9&l'kÓ_ øªícåÙä!ßIØb̃<ăAåçé¥́cñ¯̣̣̣÷túûôú Vw_#¡)~'€"b'£ Ó[₫ơëæâYâÑÜ?ÜƯâ¸éYê"é×îC̣®ôóơôß‚>ç§ 0&ï*?%̣!*'X—D ÿ₫wơ´æ6äiă'àß”̃CăêéCç$́3ñ#ôó=ÿ2 ơj&$+J(Ö!!½• qÏû0öëyäÈààá_ä¼âävếÁíî]đlóâ÷xT Ç0Ị̂"'K#!5¤ç‡ ¸úḥùêæÇá|âØă2äÙçOé ë~îIđ_̣ôô•’ ?hôZ $%ß"²¨6†Ô Q½üªơ•îÛèÄăcă¡äˆä€çê»ëAîVđöóâöHÿæÍ±§k × ‹rÁU‰ á)ÿ³÷¶ñíè(å®ăä₫æ9éøê'íÁï‹ôø‚ÿ­‘ y{™Uah…ëØ k` ú¨ôđ*́"ê5é7éTëí×îbñóªöùªư¨ÂÍ ]·’»s' f ¡‡Áư>ù̃ö-ô’̣ñ•đ ̣rôÓöù©ùúGư‰ÿóÅm«n¯!5³F%Ÿƒ(*ÿ₫ưJüPûèúøú*û„û-üÈü_ư)₫^₫₫„ÿB+Híñ]̃˜5Vp¹T]ºRÀÿ/ÿ_₫ºư’ưpưnưjưRưSư}ư₫Ô₫˜ÿn–Ö‹₫ܰ¾ư0k×ÿlÿï₫^₫äưnư>ưYưTư&ư=ư}ư₫»₫ÿjÿ¾ÿ.Ñk…¯́ó̀ •₫ÿ_ÿ­₫)₫×ư{ư7ưư.ưxưÑư'₫‰₫û₫kÿéÿ|p´̣/\`,è¶`́ƒzÿù₫₫6₫̣ưÉưÀưĂư₫_₫ ₫ù₫Nÿ¤ÿ,¡ơ@§ºº§}.å¦Pơÿ”ÿ;ÿÿĐ₫¡₫‹₫•₫²₫Û₫ÿVÿ”ÿÚÿ jÁø!I[d?̉‚:₫ÿÿMÿÿÛ₫È₫Đ₫Ơ₫ù₫%ÿOÿÿæÿPw£Íèöưø̃Í s<́ÿ¹ÿrÿÿ×₫¹₫­₫›₫œ₫¸₫á₫ÿ_ÿ¡ÿôÿBy©Óđ   ̣åƠ´c=̃ÿÿfÿMÿ*ÿ(ÿ/ÿ'ÿ-ÿEÿjÿ…ÿ©ÿ̀ÿ́ÿ₫ÿ-+2Q\jron`E;4,ûÿúÿîÿ÷ÿíÿáÿáÿßÿÑÿµÿÿÿÿÿ‘ÿÿ»ÿ×ÿ́ÿ&/9MY^kƒuzcOK2óÿ̀ÿ¯ÿ ÿ¦ÿÿ‘ÿ¬ÿ´ÿÁÿÛÿßÿñÿíÿ̀ÿÀÿÓÿÛÿîÿ"4Qao„{ne`DéÿÁÿ–ÿ‡ÿÿ¡ÿºÿØÿ÷ÿ₫ÿ2öÿóÿđÿîỵ̈ÿđÿèÿäÿ×ÿÍÿôÿèÿ ₫ÿ "557>1JsÙÿrÉÿø;gûÈúưNçQØư–ø_û×₫Gzÿ₫V₫Ó@ ¿ơNô­ÿøáø øK8)§ü ₫́«DLư£$ÿ6₫î Âÿ®ưH₫úÿ5ÿç₫‹ÿ ÿÅ₫Kÿ+fÇóÿBÿJMµY₫ăư0ÿG¤ƯÿÍ₫¼ÿOÇá₫‰₫ÖyÙÿ/ÿ’c̉ÿÿVÿöœî“¼₫Ăÿ;Q©₫Ø₫¯̣$ÿ†₫ 9ç₫™₫äÿdŒÿÿéÿÿ_ÿµÿ½ÿpéÿzÿÿËÿ¥ÿâÿÿĂ@†ÿñÿ)Nnư œ óÿ7₫)ÿ92₫₫¤ưĂưhưưÊü\₫¤ÿü₫qÿœÿ¥₫FưÿĂê»Èóu«á›Ñ“ÿÀư€~ÿ\ưNÿ•}₫Đú₫Ơ³ÿGüâûïÿ©ÿ±üæư@\Óÿ—¤kƒÿÙÿ]³°₫Y₫đÿÿÿ„öÿb₫śó!ÿB=!₫¥₫:0¾ưÎư›ÿîüëÿO5ÿ‘̣·:AÚ¨…±3†₫Èz ÿnưöÿ{$₫́üÉüư ư‡ü(üưÚ₫¡₫ª₫—ÿ̃‰öæbW/Oîÿaư}üuûJúCúäû<ưïưdJí&Pÿe# MƯư³÷RñDđQïdî~îăđ­÷₫æ“’¾̀\:vù ïê”åBăGâ¥ácçƠđÎúê3l:!7$ $®!ög¬₫íóÆè:ä2à˜Û̀Û·̃ƠåùîÈù̃Đ`#î&ó&å"é$© öÿ3ơ`é¹ă¦àxÚăÙüÜă ́s÷ë«•^"'¡&Ÿ#tÚ "Áö!́åcá0ÛÛC̃€ẵëWøh®ău!…%…$ù iÎ6 Xp÷ƒíå!ă¯ÜVÜ0ßơäÍî+ú(À'!5$¢!eđ̉ ^₫ơ9ê~å̉áÄÜÏƯ­à>é4öÛë ää!^#2#‚‰ÿ…ù°îSæ—ă;ƯÉƯßÙå¿ô'î “"Á##©hưBÿ_ù£đàæ›ăöƯÜqàTäôƯ. xµ#Ă# %v  xk₫ªùđïđçGă<ß̀Ûxß­ä°ór ÔÓ#₫!&#~‘đôăưKüHó:éBäíáÁ̃ăß$åcñƒ ơ S ƠĐiÛœ ï₫¾ưïøÇîÖçæJåâĂåZïùü(q |đbZe üU«₫PùÈñǺ́'ë£èVíîô_û º cyo~ _ £ơbdûËơ=ñnî́;́áî`óˆ÷Pü)É– (Ñ8ΤÁ‹ é₫¯øIóï5́ëh́Íïô)ùÿ‡Q e KJ»Ø ™@úwôæï£́»êBëDîṭe÷.ưö¦ 7¯ÊPIy t³ü‹ơ‡đº́2ê^êGísñEö¹û@‰ Ổí\Ô cÏ₫\øṆ̃gî6ëüé³ëmï´ó·ø6₫sN’ ôµ „6s ¥ÿ‹ütöñ©í¿ê+êj́đ–ôæùoÿºl r åBMJl  ăS/üJöcñ`íXê¾é$́5đùôjú4yÔ w ¼“¦"£ `’ư ø¿̣}îë‚éOëï¡óù§₫Ø ÏvªzỄ < ¦yCûöXñ}íªêĂê¹í‡ñZöüeºÚ &:º;qs ¡[ÿ•úzơüđqí7ëÂëî^̣c÷ËüXKœƠ HqX qơ•ÿÔú†ơñ–íGë®ëcị̂ơö3ü‹‚ˆ *'Ï  Ăc¢ûböåñPî|ëëbíÆđIơjú ÿM(¶ xWŸ̉VE“ \ơ|ưOøUóQïøëê²ëœîỆÖ÷³ü5\' “Ö¥Óoå ¥?¿ÿ̀ú¨ơ&ñií½êPêq́đô¬ù©₫-VG 9ËÈS@2 Ơ2§ư»ø¡ó£ï‚́oê¾ê‚í}ñ ö!ûưÿQI À‡ªKD 0đüTøĂó8đ£í́ćïîỢ ÷Zû«ÿuƯ [ `˜  T‡Ü₫û÷óñ`ï ï1đṆ̃&ö5ùtüßÿûÓƠ¼ áû  - ·xÿ2üÄø(önôOóØ̣'ó,ôöøgúư“U å 9 D ‹ u›¾₫%ü(úÛø÷±öGöQöºöë÷ùdûSư“ÿT\_Ù́₫¡mî^$ó₫èưüü]üüÈûmû3ûû"ûûüüJư₫÷₫ùÿú%;4ôyˆbdªÀ²™¨ÿ¢₫wư`ü¥û#ûäúùú?û}ûÑûü®ừ₫×ÿíµG(‹®H ñ₫“ưqüçû2üéüüüÇü₫Ö₫Vÿäÿ X̃oË ïÿökOÔÿVÿĐ₫f₫₫k₫h₫u₫ÉưƯükü¶ü¯ưx₫ÿZÿÿ–₫E₫îưÍưB₫Xÿ’Z¼£• AW_%Èëp(»ÿ ÿ¨₫A₫ñư,ư-ü½û®ü?₫cÿ©ÿ .Óÿơ₫©₫{₫₫R₫È₫Mÿ‹ÿÈÿO6Yv! ”5'JZÿ„‡¬úàư©êú—æ—ÿN: ¦ûo Óï® Oˆø~̉₫óúwÿçÿé/Ó_ôpó>î’eï¯₫¼ú~ôưY₫°Jÿ×¶):ưúøÔÿx₫p₫üÍƠưXªưđ₫Aû‰˜ư}ïåù/Ô±úM[ü©₫Ç(ÿư½₫øü¿|₫laøºưrÇó- ¿ûúR Èó₫Æùç~û§÷Àûá+üÑfÏÿTr₫›Ü£ùk –sö]²ô,₫ơ₫Gÿ¹ÿ$½₫Đ=ü”~ùµ¦lÿ¹qù`û•ú|₫‚jûhÿØđưdÿ‹ôûåÿFü_Lư'ÿ‚üÁ†öû®gÁ₫>ÙưâÑưŒưóÿ"₫ÁÀ₫üưë;́₫®ữÿnÿ‚{ü<ÚÛùçP%Úøn<ÿKiÿÊû,I₫~tù‰ éüÛµWú9ûŒøÓâư¡eưªä̉ưư₫\ÈwưÅ₫Aºø ¨₫ Ôü@l•|%ûúo₫á₫pjVqûŒ[ü„ÿ¬ư÷‹ÿQü Œl₫+ûA {ư¢₫äÿ‡‰ÿ ₫₫Ă!4ü¥₫d;7ư²ư¦™üÂù÷í₫ø~÷³ưü4˜øŸ«ûÇư:ƒư÷Tÿ¾ø tư÷ûÿ]&ư¬ÿ’Dúđơ₫twúh¨çú_°ü|úÚÂúíú£-ûïÿóSÿï²₫aÿVưöœøûư‚ 5û]₫“ï•ÿ+q÷KeÿÂöüåo ÷za’ö;>Îú‡ư¯₫ữ₫üM§üdûœŸ’ơàKíÿu₫)ÿÅQÿϦúQÈưƒ·ºù¬ØúÂư¯Œ úŸÿŒư“ÿÑö₫^öØ Üÿ<÷)¼Kaø™ÎüÙz ú…ưJ₫¶Bÿ5ü=-₫ÊcùM‘cÿ₫X2¼ÿü¦₫Æ»`¦₫1pû ₫ëÿµ'ú@ûRbXö/ÿ½ư2+Øü¾ưoQaưü)kúRü3öÁûXû²×†\úÑúÎ Gö ư9OÿCôm₫ê ^YûnüRq₫`ÿ!ÿ<ư1£Áü’ưåërøăÿrØ’ưƒü¾‚₫öûaĐføÿE₫xưZẼüjøpŸXü8a₫¹₫„ÿû³}YÿÆ₫Ÿû8)+û*ü`jIƒ÷ÿÔWưÛø™] ×ư9üÔÿÖœÔø ÿi¢úÿp16ưkÚ)øû› gưEéD₫~ùÅW -ü5ùƒÿ çYûăûg₫Đûó₫cÿçơ₫ÿä₫/ưDÁüư¶ÿZQÉû¢₫bø₫-ûÜ.ü8ÿ$OÿĐ₫¤âưíü/fÿwÿLp₫Bú¨ `cûrø~ ÿQöDû™3Kÿÿ¼ưß4°[ưûL₫†₫jÿS8ÿơư«.ưû „üâÿC8uư°ü¸ư+ÿÔüeî6îû?ü;Œêú₫ú₫-6?üÙưA ÜưØû³ü₫ưg1øü‹ÿéÖ₫ấÿE₫+F!ü}ùhÿưÚ Ïåÿb₫Ñÿ:Ç/ư«₫Kÿ¢ÿÿÿÿ-ưÓüD†ÿŒưDư2ư}ï̀₫^ù‰ûÂ’Ïư6ùkÿ§üvưc₫ûựü.₫øXf₫ưVăÿÆvÿÂ5&Rÿ₫f›üo₫êÿ#w®ÿÉD₫9₫đÿ“Úÿ ûü‹üßư«\đ₫åüFM9©üâư±ư‘Uÿ¦ưï₫ŸÿR«₫}₫gÿc´ÇÿBư8ÿ₫ΤûÄüKêưv±[•ÿ1₫ÛÿY₫*ÿ¸äÿ¥ü4₫æuéLú¥üè₫, †ÿ=ư¢ÿÌM$q‘ñ₫=ÿ{ÿ*û^­ûăü ç₫Yûñ₫y£ư–ư 9‚wqưÿ‡₫ơØÿ£ÿ·ÿ: ·ưÿÇÿÂÿÛq₫ ₫2©²ˆu₫”ü×ÿiänGưlÿmÊ₫Ü₫‚OƠưbư:·±ÿD₫Ëư7—₫ºú₫×âu₫ÔÿyŒqÿ₫©ư¥ûo ₫ô₫L[Ïÿ₫đ₫\/7ÿç₫çư–ÿ/|hÿü±ưkGöçü#üaÿ§ébÿăư"ưÆ»ư*₫öüÑÿû\jÿ/ÿ3ÿYÿ^ưüøưi‰ÿpúvüBûÿrư…ưD>7âÿ)ÏÔÿÎưØüŒÿfå‚ÿ¯ÿ}WÛÿÔư_₫x¸V₫ü_ülÿđ˼ÿhưa₫2 ¶hªyư#₫!P°₫ÿ¬VùT₫™ư¯₫ƒ˜Ü₫]₫ç₫¶ÿeÿÿŸ₫rÿßø¤Óÿß)œ±¢ÿåÿPï‰₫3ưĐư₫‡ư¥ü3ư0P₫ûük₫ ­úÿ™Mơ‚ÿ&Y¶åÿîCÿ ₫ïư_ư5üßûtúBøeơzơs÷Eú©ûư†ÿ3²ª Hô < G ¢ ´ ÎZÿü„ùø^ö!ơỌ̉ï(ïđçïîï¦ó‚ø¹ûHüoÿ5 ÿ)U)‰ùª HNæ÷ªóơùNùàơpđḈơé—ç=ḉé̃đơ*øÊø+D6•.₫Ÿöɼü‰öLôU÷ñûư ùṇǿHë–è¢åbäséÔđ”öEùX*Ô/‡;0æư (Sú\÷÷)ùAư Cnúódîƒ́>çÙänäÔè¢îÎơ…÷RüÁ4¢B´2‰MˆùŸó¬öú ưq¾$ ûQđMëĐê^é́éréÍè®éÁïSôÀ₫³,?êC*;ưˆñ¹ï¢÷f₫© 2=PôNê_èCéÿë¤ï₫ë‡çKèúî¼ñ>Ù.Iÿ=©!¥îŸèpñhÿ( ¹²<ưƒ́äƒă’ëöôụ̈éÚäËçíí‚÷ÛZB›E¦(è ¸óæ|î ư«’ Æ’ï6åoàlëæ÷¯øHë|äTáÙèmđ|‡;$JÂ4·Đöóá`ê ụ̂ ~PT¤îäåà́Çû3ư¯í&àĂÛä]ïTC<KƯ6 Đó8ƯPèÔü• ~·j ư1́Óáâñ‰ÿ‡́CƯ–Ö â>̣Á¡<ơJ5Jđ¿ÛÂçÿ¨º0ñdø8è âtæ÷̣Rê·ØVÓ“ă6ö ®>H£07 8íñÙêÿ—¥[ _̣æăj́3ÿ¶û…ă±̉ÈÓÖéûư½ *AzF3)uăæÿØoïV χ[ûê¢äÇæ̃ôă—ƒôeÜ÷ÎvØZñ-a('CßB![ưà̉Ù÷ùNÓöåå+å„́Íü ]9́̀Ơ|Í–àƠù -ÉBy;¡ø$̃á}g·3(ûî6åièæñöïưÙăÑĐËĐ̣ë‘ÿ̀:4wB‘3ÑûđqÛÙ́[ !¨hhü¹èæsë̉ùûa«đÓÙCÎlÚ.öï5h; Á%Í{è7à£ưd*”| «óÿåç¤ïÉùJưÓäÔsÑ é¬úÓ)+A4:˱÷â¶ï; âåNNÑëuäăè¹øˆ₫đ‘ÙaĐsÜxơ—₫›†3Î@+-2 ¡íZå3WètÆö é]çËîÊ₫n/ûIä·Ó·̉¹éÀùiŸ&q>ÿ7û%újæƠơø_Æ5¹́^å“ç|øxéÿắÚc̉Eà’ó@ú\‹9øBÅ&™ é ïkéÙ©® öOæ€áñ¨môOàûÓÈØí+ơxư-ÿ@L2óôÄî’Á åơ,ÿûë4ăaëªü.ª÷ÖèÛˆÖ́âèđư%ó8ú83!±óŒøª‘\wÇổçqè©ô“ûăù̀đ¹ăsÙ̃ÛŸê¹ó³ à+<,.ÏüC÷à²Ï‹8ª₫Öí‘åoíTùzú(ơbëÙßàÚÂâ(í¿÷£̀4\9%* -úØûf. ­Ă ˆù±ëèCđïơ5÷ô_êÜƯéƯ çÑîùửµ5Ư1ÚƠ ÿ:{Ô1-röæê!́PñôœơP̣cç3à¿áê;đÿưR4ß-ˆï ̃â(   o¥øǘɰîđộñèă^åpèúîåR$4ù+₫­ ”Lv 5 lö-í­íßí‰î°ó_̣èv䵿Zéñ÷º!ö., ­7$zĂ& P =ø¶đ£í́́ùíÏññJê„çÎæ»ç ïac")ø(»#y ¸K₫ñßE¬¥ûẹ́Bí×éíÜñ½ï~ëºê_éè4́¹½S&V+ê(øT₫ûJ^,ùkï émëVî¿í±́Ǘ́QêÙéŒø₫k#(e(."ëÆÿû₫LÊKưẸ̀™́ëCíđí–ëëGḯnè{ï«–&‡(ß'¼‚v₫_Ï4¥ï÷?îAë,íù́ÑêĂệîđí$éVêúăo!3%Z+ö']ơhÿ(₫‹éîü2óÎí<í³́ê’êmíîÔêé°ï¶."³*¥*ÿkP ?₫Ơü]ư`ÿ ÿĐûKö ïë́œë÷é•é$ê©ëùëáë.÷° áÚ%|'(± Æ$t.ưÈûmûơưs₫¢÷vó]óÑîëåé6ç(ë’́hê«́ïúŸ‚²!ø'ë)ÛÑf Qưtøù“üjúcö+ơôđ ëÉçWè}ëfë̀ëpï·ưXR"p'€'Ơ  ‡™ûùĐø˜ø®ø{ö›ôçó|ïĹ—êÿç˜ëïí’í<đÍü™­G.%&¨ ¥`ÂÿrøÓ÷øuöộ̣ó³ñgí„́́?íÄđñ&̣kø? Qṃ s*çƯƯ₫êúø ơMó;̣Ơñ“̣5ñRđ=đ_đ×̣Jö¶öFùư±™ä¾(̃ơº ˆx₫Bû!ø·ơôóị́qôPóÇó›ö÷Âùåü*ư+₫¶ÿÄơ.îØ ƒ ¦Ư₫åưû ú´ú™ú}ûƒû]üáüâüZüäüư|ưpư8ÿ¹ÿ?ë{Ä$º8g–ơ›£‰u¨ÿ2₫Öü#üøú#û¡úáú‘ü°üeư)₫ñ₫Fÿx ơŸmĂ’hö’Ä (ÿpüăúAùĐø̣÷¢øëù2ùÅûsüùưEÿ ”J̣.îøÜHŸóñnĐ-L₫9ưúRúøø<÷ù¡øú=ûCü»ü$₫*₫̉₫óÿen*å6È^'U×–…¿ƒÿM₫Eüưú†úrùHù^ù²øQù`ùŒúÿúư;ư?₫Ü₫#wau C Å ²`›‚¼ÿî₫́ù²ù9øJ÷åöÍöø™÷­ù÷”úûø û‹ù û̀‹q́ ₫ (½ à ” –î4̣₫:ư¾û™ùxùtø2öWö÷ö™ơ…öÔơ6ö₫÷jöñ÷ú§é § Î4€äÀ å D́ÿíüÇùå÷LöŸöüô]óĐóàôRơ¼ôÉôơöơôöéôÆÿ,· ÁzútŸñ ÿ ú®øơ©ñ{̣»̣ṭóơ™ơ°øø2÷Óơ?÷ơóô8óPúâ 8É%%E–®´’ưÆöôƯñÑíưị̂Rôṃ?ö2ù„ú«ùlù ǿơ~ơNọ́̃qđ€sªôL&…%““sc `₫ÏøṂQ̣GđĂíPïơ#ơ4óñù¬û ü<ú`ûâö1ọ̈̃¢̣¯ï~ñ“ ÿö™x+V'Ü{GXbúÏô­îÛî¬îäí$í$ö ÷Åö±ùÿç₫û…úOøôññïë`r—X)Ă0G!©} %ú;ôîkị́ë^ïÔëRó2ùúÍ÷ÿư¨ưúƯùS÷îđ&đ¸íîèëI0+5#á-F ˆøđ{ë#íkêîŸë°̣Îù ₫ăùÀư[‰ü¯÷,ùđJïTîªñ¼æ|ó‡~%¬«003­’œ …û÷ØçKê„ë…ïÚăî#ơ8ưÿ\üùÿx±øüùÑơËô¯ïßíí́;íA6 1"±#†3x+â,×”ïSç•êåíQï@ï̃óFö ₫xÿÁx₫¨Äê4÷Ùóñ.óñÅî×ç”î£ å"a"ט3-y+édPÿSÿîôËíÉçåé^íuóơNô¯÷̃₫<\ÏÈ¿₫-ùḤŒ̣ñ­ñó́0é‚ô É êê7É"Í"¾® ßÿ*ù°÷ŸơRñ.ëêđ£öØøº÷ăù¥₫A„#&₫«û‹ùröEơ€ôSóqđ¢óIÿ_%;§uXåÿ ]üøÆö ö·ôQôôơföù ûĐüm₫R‰?ÿQ₫6ư™ûßú)ú øÀöÊø²₫Á;· × d Q Î đ  C #?u₫̀ûûùºøøø’øUù úüQưæ₫æ7ŒCLäÿN₫Ăüƒû*ú‡øöö÷zù*ư%DĐ%Ú‹ z ªß†ÂÿkưRü–û†û8ü5ư₫ä₫ĂÿQ/<ñÜ‚̣́ÿøüHûúÑø÷÷mö ÷øHû₫iO’r@ù rwtO¤Äóÿ¡ÿ‰ÿÅÿæÿ4ÈhyûƯÁaÖ₫ưƒûzúù°øø̃÷ø€ø@ù~ú,ü ₫;IÉƯƯÔ©DL£]ÜV|n«ŸđVÚÿ¿ÿæÿ#ÊÿÉ₫SưÖû)ú–øZ÷»ö¯ö÷<÷h÷>øâùøû₫c“w S.¶ [ " u„¢É°T˜¥ĂĂÿÄ₫åư&ưüơûpụ̂ú•úú…ù'ù+ù ù—ø+øí÷÷t÷ø•ùûÙư L\åF† ¦ … é | A ‡‘ÜÊLÿ´`úÿ{ÿü₫“₫0₫®ưưaüQûëù§ø±÷ơö^öö,ö…öûö§÷èøÁúôüVÿÙ.*è° @ b û  ~ C ” ¶Ư7ÄZ+jÿî₫b₫­ưư±ü?ü¾û7û úôù6ùjø†÷öÛơ¦ơ×ơJöüöÄ÷²øúâû3₫¼[q/ d  g Ê Á V N › º¹´átUdÿ₫₫zư½ü₫ûOûÁúHúºù ùMøl÷jöˆơôô§ôƒôÉô‡ơröE÷tøœúưÔ.‡V ] Ñ ̀O¦ñĂi Z —!1̣4²ÿÿûư½ü¨ûêúBú¤ù!ù¤øö÷óö¬ơ‘ôËó\óóóqóôÙôâơÆ÷̀úÿ¼ƒµ œö°J˜(.0 Tăà4ÿ°₫¾₫¦₫üưüüoüiürüü$û«ùøÅökởó-̣»đ†đ1đï©ïóđỵ̈›ôÈ÷₫ưÚÏ íC†n}´Æd ïE ÿdư¨ûûüÑứÿWGÿSưÁû5úø§ơ(̣|îâëƒëDë£ê+êë5íđ^ó ÷]ÿ$ ơ¡¸$ù1Ry Y µ Jü"ùøû₫'ÿ`ÿE!æ.ÿ¸û>÷ôlñ«í¥è†åƠä̉äÅä|å0ç˜éïî§óLưÑ ¬̃¹&^*Ô'"sÙ> wưû4ûüóúEúüÿ£ë̉Oÿ}ư–û³öñ•íhệåTă’â£áá{ầäçñ́ññưsï$1.ü#/!® đù¥'3óù<øgeè₫(ÿơˆưPùYøcôîé¿æJä5âà3ßYàiâ®ă¶æËị́m/ưb1 3>#~%*% G p₫¾ÿ!üĂưƯ₫₫ÿ.…¢ö8̣EóÁêă|ækâÅ̃³à£àĂƯÓă>ælçmïàö, Ù.»%\5R+Ï#»*Ï"؃[GMåưøëDæu”Ÿ:ùtơwơªí£çAèeå¢Ưsâ˜âg̃,à–æ*äVêmñdøÉ»ák,ÿ5ª$»&-¼‚ ô ”J•̣ÿ¯ư¹¢†₫*púï÷uùgđ&êIëkç¨àîàÅäXàßäăæOäÉíVñp̣xˆ2ü)$ÿ-N#B?ôq$ î₫ÑQÿ[₫¾ÿ ûAûµùNô`ï3îđèơåËăØâ¤ăHâËâ•åưæ†çđ=̣×½Ï$-$'T+ `Ôưd6ÿdæzüµ₫I]ü ú̉ühøq̣ÍñDïÜçåç9æƯẳăå+ă2æ çëóíO÷w 3 Ûư'Ư$ö ô+ơ#`Œ6s  ‡ ³ÿhUüÍ₫]₫¥ư{üÆûû;ø₫̣[óZîépéÖæä‘åˆåväÚçNé„íđZ` T Ä‚#ô¨$€'ĐyùËt è •==ÎûFưöÿ×úÚü›ÿûˆú—û¹ô¯̣”ñB́ÉéêØçŸçœèÏéëîTñ‚ơ½v ¯}è ˆT•k ̣ A °€^₫—ûr|₫=ûĂ'eûÿíư\öƒ÷₫ơØîWïđÍëEíöï†íCị̂ñ,ôơưK‚@“¹}©[æ Ö ; ƒ@úqÚ₫lÈÿüưå²ïưƯ\ÿ™úcû©ùèôơ™ô¸đ²đ₫đ^î-î:ïˆîéïơ®øƒưéI YÏ´Ăå¢?R eNlû‡êp‰ÿ½ưcüæù÷öơƒó ñ™ïçí́€ëYëÿëYîụ̈¨ø₫à½ Ó v”Z„́o´ ÛóY³Ør,óYå₫Eưû€øCöĂó&ññîǻüê¹é%éƒéRëoï‡ơTüÆ‚` [œd"ê0±Œ H ăFÚŒéă=H ê₫zûùø÷íóÍđÈîḿÂéaèçSç]è‹́óæùúÜ #·©?N‘§ü• @ß)§nơÂđC[ö₫€üçù+÷$ô,ñ3î˜ë‘ézçøǻåÙæêÎđmøXÿf‡ Úuú̃pÅ‚D¨ À )½ƒWä9²ä‘¹!ÿÏüJúS÷=ôgñkî¦ëZé/çåưä“å{èÓîYöưÑ' äé®đi‒†N ¢Kô¦:W4Íxª5ÿưlú‹÷ô³ñäî=́ëéĂçÚåääå)ç»́?ôjû‡2 G^wAđêe°_´  ×hÜ-/î{{Ôåÿ₫mû¹ø­ơÇ̣Lđ«í-ëéóæ\åÖä”åSéTđÜ÷́₫Í| â-·G9)9¶ N  C‰ Ưùä(üb#ÿOưû<ø<ơ±̣/đ–íEë÷èƯæ—åSåæ·êÛñKùpç |«ûtP83 K  …&yǜᔽæ…fÿëưäû/ùeöĂó3ñ­î ́­é|çæŸå¢ænê'ñyøÿb¸ ÛK‰ÿ¯³ú;¡ v 9 ‘Y¤$%0‘~¹ºùÿÊ₫^ư ûIø¼ơ6ó¡đ₫íUëédçtæ¨æ¼èîFơÄûƯÆ` Å·Ê9EV×» { ux¹Ä|WÁêÿÉ₫Gư¾ú"ø¸ơ1óÎđ6îë“éđçøæEçgéîîUö£ürú U8¥˜/¤j;1¨ w ‡pIÄÜ-º[NÈ…rÿưư‚û¶øMö³óñ†îơëêZèç̃æ}è{íèômûö‘Æ AẬ$äfÓrK“ óæZ2hêÀq{ÿC₫DüÏù÷ơ†̣íï*íßê*éÅçVçèçÄêñà÷Yư®  Â@ôĂqŸK  3 Wú³`¦<“ăhÿlÿ|ÿƯ₫̀ưüù÷¯ô#̣¤ïPíeëØé]è¡çëçĐêDñCøưưÊ< O 2ÇY×øi ) ™U 1Ÿ́.Xÿy₫y₫́₫™₫©ưIü5ú øö»ó'ñ¹î¦́ ë‡écèè†ézîˆơ¯ûB(ö á‘Đ¥×*….>+ ‰ @|Iå%{±ÿÿr₫>₫™₫—₫₫.ư´ûÇùù÷ÊơAóËđ`îúë›é¬èèaêñï÷îü±±U F̃Ù^^hQȰk ƒS4(}ơÿGÿ±₫-₫ÈưÎư4₫<₫yư(ü–ú¥ø1ö¯ó"ñÁîí¹ëÿéŸèTèŒébî±ơüƯOx \U³IEsMƒ¼ bѰo•l§ÿ_ÿ̀₫a₫;₫­ư‰ưÙưµư?ư¹ü[ûù¼÷gơó̃đåî$í™ë ê$éGéaë ñJø`₫R¢ |YèËÜ„‰ˆt åh8jRÿu₫K₫ơưÀư³ư7ưñü}ưÉư1ưCüû0ù÷ơ¶̣sđ±îKí°ëDêté̀é‹́ạ́úúÿÖÊ ‹kÓk‘ú¸ Ứ ö .–o-ÿb₫‡ưiưÿüưưüäü ưÿưN₫Ú₫CüøMơ±̣¿îUéæ—æ±åWä.åæ@̣¯ …‹ÓØeÑ̉ Z=VÉÅÿ g,!I‚-¹ûÉúhúøéúSùÇô^ơ›̣Q́ëé5äNæåïâ å½ë é†üÍ·×y1ă.s%æ)!6¾‰Úÿù1öPô=ÿ9üˆù́å.¶zºfùkơ2ưvûUó«öxùó”ï¶îëíÉëæäCç&êMä̃ädđxïæTÈ^!82“&n+Q  ˜₫ùëù2đqñ‹ü…ù±øZè₫Ûÿ“ù́ùÔÿKöµóÇùÀôíđù́éê;èæ”è³æăăí–ñéôX2/<,₫'²': ÷-ö›̣‰ëèôêûN÷—ưƯÖ‰E¾ÿ¼ư÷₫IùŸó2ơKóöë@́+́éç~èˆç æçæíF̣̉ó· 5ñ'(:L0&*(Â}Gûxö³óƒ́đèø8÷ÜøKÈæ; 5 è×W$ư«úçó˜íÄ́«éæ¼æ-ææ_éç̃çaïộ%ñ=üw‡Ưd(Đ19*;''Ù î›ưöđ§̣;ô ̣ơÜüÿ[#»u ư^r¢ûWñ́ÎêægăÚă\æé±émẹ̈÷öù5₫-º›"$2"Z&ÂÊ z±₫Ÿø ờô’ó ̣jôU÷øüùˆư¿ÿ@ Zÿ₫ü|÷'ơ6ơ₫ôñô!ơ[öáø)úWú_û*ưĐưäưaÿoÀˆtÇÔ0 + P £  ̀ ü º¬í¼~₫¸üsûû ûÄúîúƒụ̂û:üÀü¬ư₫ÿưG₫k₫₫•ư<ư#ư»ü™ûÅúÙúkú¿ùúàú¢û¹ụ̈ưEÿ©‚\Æù &‡³~‡̉Ô´,‡#₫Ê_Èÿzÿ4ÿă₫}₫₫£ưuưbưừüügü[ürüüư˜ưçư_₫­₫à₫OÿÜÿ>¬i¥µcơ–1úỵ̈ÿÛÿaŸØ&ƒê^×Ư½iês¶5™ÿÿ©₫₫‘ưtư™ư°ưïư<₫‹₫Ø₫!ÿsÿóÿe£7ù„\ÿ»₫ ₫ư¢ưÅư×ư₫«₫ÿ ÿQÿñÿƒäG§Æ—Ẃÿéÿïÿ7{ªß>°&˜ßưÙ¸răI•ºỵ̈₫₫ưĐü]ưưjư{ưmư1ư;ưsư¤ưÇưD₫Ú₫ ÿï₫ ÿfÿˆÿ|ÿµÿ Lxo[Yz¬ûFVF(ËVë‘…€ÿ ÿu₫äưßư'₫₫́ư-₫;₫Ôư£ưîư6₫6₫&₫F₫h₫b₫@₫X₫©₫í₫7ÿÿ¹ÿêÿ&e¾@ˆ³ºÛ Cn]e‘mE(½@Ím$ÑÿpÿAÿ÷₫k₫₫ñư˜ư^ưTư ưƠü-ưªư₫–₫ ÿKÿ”ÿÅÿ±ÿ–ÿñåetÑ·Àù S{C',Ồ´˜­̀ßđº…#úÿåÿÿÿÓ₫Œ₫<₫₫Æưäưøư₫A₫z₫¾₫Ô₫đ₫Ë₫Ü₫–ÿzó ỏ%ǹ²bØ †v"tÿ`ÿÆÿäÿ°ÿ›ÿ~ÿ+ÿÿ ÿ̃₫“₫Y₫1₫ ₫ ₫>₫|₫Ư₫nÿ=Ú}úAZ^:ÜèËä>!Đÿ=ÿ̉₫™₫T₫E₫f₫e₫_₫~₫©₫¯₫ÿrÿÈÿûÿA€qF₫ÿïÿÍÿ­leSÓ×ÿ(l@b-¸ÿ€ÿÿ-ÿ3ÿ̃ÿ§ÿh°ÿƠ˜ÿ°¥ ₫¢₫Yúơ₫J<ư/ü±ô u Ûñ*ơ±ùƠưu÷k₫ÓüjöŸü~ơư²ơQöµ[2¯Œ•„ùú6₫Á̀R ₫µÂ¹ÿ÷₫pKăÈü₫¹U÷ư3ûÍưÿºüÓúÊüă₫«üaú̉ùÂưƯUÿ…ư!Û”ûnư)û₫;S øÎ 8ÔPkúưûƠu©ü–ú+üNv¿û}ú=₫8½ÿ ụ̈ư„ÿ¥üûùĐûơÿ»uü^û…ÿq À₫è¡ñ,wä¶Ç=ÿjgîüZÿ¦ ₫?úæûo©"₫¶öIùf₫üú™ü®ÄÄú¾üûñüüCù₫)/ü¡ư) 僼ÿ1†Xüøú7ư-süwưŒt₫½üq¶xÿ ư₫¢₫ÛûªúÍûç₫Büâúáÿß‘Wư—úJÿƒưæÿ̃ù÷ÅưD4G³8 ÿÇ₫¸ÿ®Y₫áûư±.y¶jFÿÓ₫~ư0‘¬₫éưö₫“ÛÿæüÑûfÿBÿ ₫k₫Ztz₫ ÊøOƒÿb₫Æ₫•ư´³Vư8ưÜư!_-ü»üPÿB(ÿñúåûư­ưƒư'ưÿ_™˜±ư'ưÿ¢Ư§è-.ưû_ăi°ØưPû7ǘü¤ưưFüdûÖùu÷.÷êùúùÖø1øùÂù@û!₫gÖ®î₫n¥­ –Ü +ä x * ́ ‡ u}₫ŸưFqçưAù₫ó´ô-ơ¢ó¸̣hñÑđó½ô-öä÷Â÷2ùû3₫tÁ0hñˆˆ² ñf­ß°±ô .•<JđưûSù`÷ơÖđçí‡í3đ̣0ñ0ï²ïñ`÷)û‰ûƒûBưî{•₫₫«à$ è÷$ ñçÜ4ë ¼ -ß+.üùö^ó¶ñŒï£í§ë+ëª́îàï„đVñó˜ö­ùDü ư!ưáưø₫ôÂ{ ×øk' j!Å ‘ » n ›2 @kÿù®ơọ́.ñ‹îë"è æ†é¡êÈíî́î7đÙñÓôÊø0ưUW=²ưĐ:*`/'©¬ äÑ S\Å Ø"%÷éñ€ï3î̃íkëxé@éƒç¹èøèùéḮ‹́ẤQígđ\ø ºOÿÿùy%£32°#² C =Ñ W U · - /ưḳ}êê›íÂî]íjêçöç¸èºê`êVèrç²è»íöªü‚« w"„2ƒ2&ëw ± ~1 ³ ç ± *üñ́9í¾îaïè́âéétèíémçŒå=ăÑă†çïö¿üwÿ>¤Œ"+3h3(&A¨  ,°äúY   Ä ·Mö ï‹́÷ï–óæ̣Áïˆê8ç¦æ1åüăeáYà[ă£éJñËø0ü¯°$y3Đ25#Z5ûß,T · | $ àdú„̣̣íkñuơƠö-ó́æçùæRåŒä\̃VÜÖܦä¼ífö›ùÈ_e)³7.Ư 4$ [cŒ½~ç ¶ Đ¼øđ îÊô!ü₫AùûíAæâ"â₫âWßÄƯ¦Üêâ₫ê&ôLøà¯_(“4 *b«¬‚ RäñäâmBr ùˆïêïmöI₫süÛñƠç­á¥à8à̃Ư-ƯƠÜFăÙé¿̣EöW÷´'̉0<$nÁ~̀ ¥°ktÎ^¨s ßq÷§ïẬúqI ưÄñ–èă¦âÈà̀ƯIÜ2Ü»âăç¢đôññê(0’ $½ÅĐïđ#dPƠOmzö#íóüClSÿ¬óéè\ä«äfâũüÚÚÀâ§è¦ñ2ñ`ưê!/u!æ1= è®g K×Sm:üù„î2̣û5 z÷ëTæéåĂä¬à*Ü Úkà-æGïđø zß-¥"”!lÿ ‘ß‹¢Ü‰LNg3ưˆđ™ñpù”L CúrîèÀçOæ(ăÇÜÊÙîƯçä’íÏđ¢óUî„(’%ç C₫ÂV¢VĐq̃ ŒMă ,ô#ñøí] &Gư†̣êÿèNç¡å}ßZÛ̃ܽâ¶êüïhđÿV™ ¢&˜©ÜÿmÍVê.êkKHJ$Xøịe÷̉₫¼¨ÿFö>íÁê;èmæáÜ­ÜdáVè îtí¯÷£÷´& ¯¨º³+;^ƒ>:ü”óP÷©ư£®8Éømđ^íëÍç"ă_Ü%Üà~æ[́́Bñâùo$΂{¬/ 9ufÈaíƒă ƒÿôôU÷*ưNw¡]ú ó‰ï]í·èxä'Ư¶Ü¼ßååbê|ë‰́ûû×  ó!¥\ ~î r§í>Nä¾ 1$÷C÷̉ưf̉ÿøù1ơ5̣đêÜä̃®Ü₫ß×å’éêê3êơøä…#ÀA ` ‚Ú>¬hÀ›N#ßù}÷P₫ËQô₫&ú÷¬ô¶ñ¤ë°ä²ß0Ư#áêäOèNè›è§îœÂ!¿“xydç „,ÎSPüIùñưM²ưBù%ùưöó]́>äjàäƯáŒă€åÍåGç×ë¬₫Êơ‚TÇ Ø -s“Pa.F¼_Kÿ¯û\₫}ˆưđû\ù¯úsù—ó ́wăĐàß–àđáAâÙă8æ”ëPù\ ]¶Ö³ư 5¶¼ßŸ5+Uœ ÈEÿ¸ÿÙûÚùYúZû‡újó:ë äáí߆ßhß(à€âËåµê\ô) .©©!ÙF*µn%…ơ½ú NE,£₫ü0øŒûûÉúóYêsäâàœ̃)Ư ̃¤á0å@êµđÅ: «Ÿ^gZØ“L›½väE₫6ûèöÄûeü ú£̣.éáäÖâ.à–ƯÚÚƯUáÀä"êÑí ­E•P)f†ÊÉ|QM̀Å ñìü ú ö`ưNưˆùđ1èÏåä4ßLÛ¢Øb܆âäă*é!뙃Ưµ± Ѩ‚Ó?ă ÷ â. ÓúùO÷¾ÿ¯üÖöúíléè:åJÜ9ÙƯØỮ}âÍá¿å„́´¢Ñäươ•â9̀Ø9p´´ @ €{ùèúĐü­ÿCù¹̣ƯîIí"éâzØ®ÙkÛ.à̃3ßUäéó† Ơ.ƠÜ LEƠ3EçC‘=ú₫¨ưkÿß₫ûû¬ơoó"ñ́́¬å$̃(Ú…ÜPÜÿƯ*Üká—çú´ Öå‰' ̃¨»üÖ"dü 0ØY¬ưåúÄöÇơïđ ëóäù̃…ƯLƯÜàƯ7̃,ä!êvü=îá¨ëÈÇ u‚t₫¹Cµ Nd ²₫óû ÷-öñ½́»çªâ™ââäCå@æHêáîêú $B h ưZmmœù¹đ  ? ₫ßM^]í6₫6üù₫ösóĐï¥í­́Ḿ»ëê"êë¼íḳY÷{ü5ü! ª eaaEÓvåF¹ › > ºœ;ø'5áưđú‚÷đó±đ'î"́!ê-èîæĐæ‚è(íỆ°øT₫¿ÁL ²XàÙ$Xô } ¥ ơâds%‡2₫Úú÷‰óXđî‚ëéçæ0æ¢ècíó,ùdÿơx ä (V¸±©ˆ÷Sœ › ¢ wơưü|ƒ©ưú ö-ó$đZíê!èBæåPæ—éçîêôVû7”Ơ Đ :2röH”Œ e ¤^˜HµØ{ÿ+ü¶ø3ơ·ñî¸ëñè“æ:åÿäçóëÑñ<øl₫TU ă ˜ÈR(7cvR Ô¦Qŧ•qưØù1öˆ̣=ï?́&逿¼ä<ä̃åqê8đöư(m [Âf‡}ÚÖŸ *  ¶7Óh_£ ¶ưâùöṬơî³ëèĐå3ä¸ăÁå{êIđÉö0ư¶Á §ª†tq›²C · Û‡£59 ”µ¬;ư#ùjơ©ñFîÁê™çå̉ă䏿 ́íñmøÀ₫ϵ u ibÁäk˜r ¼ }]ÿΙb‹üqømôÀđí­éªæ¤ä̀ăÁäŒèöíûóLú;Ô AÖÊD¦•P ä Ц–Æ¿ßF™ÿ₫Üú¬ö½̣ïpëèå>äHä·æpëóđ ÷7ư(Jq •̣Aæµg”Të ¡ &w_khî̉¼×ü™ø€ô¼đ0íêé çhåÍäæÉéÂîFô+úZå‡ ¿‘‘Ơhr$ |a+*@.Ø:₫ú÷ơṛï̀ẹ̈èèæÍåưå…èá́Ưñ_÷Wư# [¦%ß¼¿ô … ¹¼‚H½—}zÿÛûø”ôƒñrî‰ëé–çơæƠçöê9ïôvùÿ₫JÄo [wö̉¨s¯b´ 4 x·<Ù}±:å̀ư‚úI÷•ôQ̣ÔïIí&ë¸éété ëPïƯó³ø“ưR“  §$³1ÙÅm ù â–ø1çüÿ‚ưîú|ø8ö]ô™̣¯điîỚ́đëẃ;îñ]ơ[ù5ư “å× q ʵ́Êä^‘7 . ØæôRÿ₫Îư÷ûƯ÷*÷pơ–ôẠ̊ñsđ«ïïïIđ̣ơ¶÷ÑúyưnM‚Đ ó â%ÁcˆJ 4 @Îh=F_₫Øư:ü>ù¢÷»öÎơùôxộó•ó•óró§ó́ôƒö„ø!ú’üÿ»zNp £ {  Q ë à ¯ ] ­û ¼ÀÿưäûÎúúLù4ù¾ø®ø ø2÷÷’ö÷Í÷×ø<úPû›ü₫AÿnĂ¯Œó˜D¿åÖ…X­Ç'vỵ̈₫ºưÙûLû+üĐü·ûđú{ûæûüûû”ù”ú@ûyûđü̉ưÏÿ{ÿ¡4#;Ÿ¦& ¯[©™r¾ÄÿêÿdÿGÿÿ₫c₫º₫‰₫§₫kưmưbư·ư‹ưØư8₫…₫å₫̉₫ÿ÷ÿ˜Ø¬~/7S^€5€=ÿÚ₫₫ ₫!ưzư₫ưÄưv₫¸ÿiÿ@wJĐuu|g̀ÉKá‹CÆnëaƨÿZà₫1ÿh₫²₫{₫ ₫P₫g₫₫K₫Êư₫Ä₫”₫t₫¸₫Bÿ Íÿ·lk½ë©•„*··Öj=VÂÿÿô₫a₫¡ü]ư ư[ưLư~₫~₫k₫³ưR₫¸₫.₫Ô₫ñưRÿ₫₫ÿ´ÿhƒJؽâH˜mÙÁÍưÿ£₫¨ÿ ÿª₫Àư=ÿd₫>ÿµư3ưđ₫Æ₫i₫áü₫Û₫Äưvư;₫lÿĂÿ&ÿ ÿ¡3ü¸…<P.öäRđ¢9¶Đ—‡ÿWÿˆÿÇ₫Ø₫Øư}ÿY₫2₫F₫̃ưz₫ä₫¯₫ÿ₫#ÿ#ÿ·ÿÿÚÿ¥ÙS ­s÷Új"‚Øe$ªÖoÿÿ¨gÿ$ÿÿ¨ÿÚÿưÜÿâ₫.ÿdÿâ₫Ö₫êÿ@kÿĐÿ₫ÿ³$V­‚ ơÿÙÚÁÿ¹O¶ÿÓˆ9ÿqîÿÿä₫!ÿù₫Sÿô₫ ÿ(ÿFÿ₫ÿmÿˆ\ÿïÿ +¼ÿÔ¼<ü%º†|T«₫ª¥ÿ‚ÿÙ₫g̃ÿYÿ<ÿ€ÿ ÿª₫Lÿ»ÿ:ÿÄ₫MÿU¬ÿÓ₫¥ÿ•ª/ Í)q—ÿbF/°ÿ—ÿsÿÊÿÿ#ÿÿ±ÿ!ÿyÿpÿ7ÿ¥ÿ̀₫~“₫éÿiVÿ<.…Ăÿ—Qæÿ4©}Ó₫₫röÿ¬ÿ₫ÿ‹ÿÿ†ÿÿ&Ø₫ÔÿĂÿ  ÿRÿ¢₫’Uÿđ^ÿÑjr2©YÙw©óÿöÿàÿÁ₫ăÿ§₫‚₫k<ÿ}ÿ°ÿÔ₫mKÿv8Rÿî₫Vưÿ’-{ËÿÎh.°ÿ đÅ–ÿñHïÿÆÿóÿ}ÿŸÿoÿ­ÿoÿ'Rÿ|ÿÙÿŒÿaÿÇÿbÅÿÿWÿ̉ÿCÔÿåÿº±ÿC­ÿq\ÿ dÿ&Ÿÿ$ÿ8$ÙÿÿTÿÿPÍÿÔÿµÿ±ÿçÿ2®̀ÿubÀàÿ.âùÿÓÿ„Y×ÿÙÿÿà̉₫Lsÿ(7ÿ TÿÉÿîÿ?ÿ^ÿ½ÿÁÿ‘ÿ{ÖÿÂÿ˜>WéÄÿ’Dùÿw¯ÿ_Hÿÿ d(˜ÿnÿ‘ÿÿü₫ÿ+oÿ@@“ÿ7°ÿ CÿAüÿ:¦ÿ®%VS¾ÿÄcÿÿ‹đÿ|ôÿ+ÁÿƠÿÙÿ|ÿ¾ÿ¹ÿ‹ÿ:¨ÿ÷ÿ}ÿ~¦ÿŸ \ÿº’ÿ]jÿ;^–ÿúÿ€ÿzZÿÜÿ =wÿíÿÔÿåÿreÿ=íÿV¨ÿ ¤äÿo% ÿ0M@₫Ÿÿuÿ@ÿÿúÿÿÿ0ÓÿÿÔÿ{tÿ7ÿÍÿ0¡ÿªÿùÿ¶5_KÿÉÿAtÿ}ÿ;ÿ ·ÿ%ø!³ñóÿxN¼ñfiÿiÿă₫ü₫€iÿÿ*ÿOĂ¥@ÿûÿí*uÿ¥₫<ÿ¼ÿ«kéÿd_W\₫ÿOüÿáÿÿC¤ÿSÿv]O₫₫ÿ­ÿÿFéÿÿÄÿÿÿưÿPÿaÿÿz–̣₫ÿÖÿ1åÿ•ÿÿ2Ù´•ÿÇÿ™¤`Æÿ‹»Kå₫l₫…ÿÅÙ2₫"ÿC„Ă₫"ÿÿY“ÿ"wÿÿBG₫^–@¤ÿ{DçÎÿÜFwAÿ)₫Ïÿ°ÿÓ₫€ÿNÿđ₫}ÿ+ÿëÿ³₫î₫̃ưÏưÄ₫}₫Rư+üÓưåÿ@*T¢Úw™–2´»¡₫$ü5û§ø÷j÷k÷›öơmôLöêöyöMø˜øÔúUúíü[×Ö¤c;·„¾) ƠÜúÿˆú$ó^íRëĐê|ê¯êtëÇí]ó1÷̣öâôơU÷pù‚ù/ùüí₫÷ ¢ ‹$î""Ï"!ÎN·₫œû öç̣ïæí¾đàñ<̣ñxñEôÎöÎøô÷'÷Ïơ³ơDợ%̣´̣—óơRơŸ§=$y. +H)ô+‰$Ú´±ùö,ñmï í;êrñJơÊöqơûî0̣‘ơCø¦ù₫ô®ôô-ôBö‹ñ»ñ›̣èón÷aø$  .t5,ƒ+'ëû²đ îsêwîù́¯ï¨÷½ú₫wúåô]ơ®ó:öƒöÂó#óµđíñfơ?ôĐô(ô–ô—÷öö¤ 5,ö5 .Í,7$óÊÆú¶ïPê²çOï{ïôEùü—ÿ₫úRöṢ–ơƯơơ+ơ%ñṇñôĐơ±ơ…ö“ơö÷³8ô,61+y ‚º Sư–đ¼è忀́Çđ₫ô`øüA†v_úó÷öWöEö₫óaó=ñ4ñ*ñ†ññ"óẶô‘̣äúđ$D:Ú;^4)”8̣ớ|âÚäëíñ úùú ÿsR„̃ưLú°÷úù ù½÷ô5óđ]ïđîîÂñ¹đ3̣}ñJûưH*E@²@¥5₫$–› ÿñóªéYà&âÀèÂó_₫2-ÛÂtØ₫`úùCø ûïùX÷~ôđ¥đ¾ïñ¬ñæđBñ÷đ9̣å÷¬ ‘#1;ÂC;ă*úëÖư ơîKạ̈à_ä’íû+.FêÿÿXÿ—́₫ ư¨øÍù†ûưVüI÷‚ô=ñáñx̣Ẉ®ñøđæđônơ¹₫s'&7=ÿ@Ö91&Ë …ÿˆ̣Áî~êåiä¤ä/îÈù*ø E €Â₫üûk₫, Ơ²₫%ü¨ú±ưF₫3₫8ûmöƯóËñÍṇ̃*̣îóó¨ơ”öVưUÆ '6±:ă3ó!" NúîẮ’í«́,îñ́8̣=úĂ K  ₫Pøyøvú?e‘ü—®Èÿ₫-ùCöcñRđ@ïlï@đ«đ=̣^ó ơyù~R:-%8«7¯*4Z¸ñKí¼íëïµñ đñôuû‡À ̣ ñ$₫ûø€ø̉üCº¶5³Óº₫Üû’÷ø̣*ïí̉́đí6ïñ&óơSø¥úHZ$Ü2ú500‘ ̃ö[íỨûî÷ó`ô`ôôĂö₫ ¨ U ¤ ÿ^ùrù™û²£ z§6Jîü÷¯ñ4íæëyíˆïỤ́™óßơöùkûµÿ ï¡'Ë/¢1(wdơ’ï&ị̂¡ơÔơNötô?÷=ûV´ ¢ư û¯úÛü’¶ƯmÈ ëq¯₫ïøuñˆëúé!ë‡đÔôù)úûû—üÿ1´%L(/,G)Đé ₫qóXîîøđạ̈ÄôóôpöAùXư‚›¦ÿ9ư£üf₫©u¥€L₫Bú1₫>ø<̣lí́4îóøüLư¯ưßü¹üƠư5`ôb`$¸&¯ @W¯ö“đäíƒñ+ơG÷Nø£öøújÿX!¬ ( ưlư¯₫·₫Ǿóz¿ÿ̀₫ ưæø%ơñ|đ̣bö+û₫¦ÿ₫;ưûĂü5₫YB ît¼¶ ùDôró%öÇ÷úFù‹ùơù$ü̉ÿØí;dÿjưưGưMÿIÀ*d@ÿ†₫>üJú+÷ơơpöTùÈụ̂ư₫’ư­ü üÙüåưÖ­yµ8 ́¨ ?%ùôÄó÷¬ùFü ü…û;ûüå₫ßßÚ"Uưûµûâüçÿ‹.Í\ÙYh´ÿÜư"ú‘÷ÜơRöRø-úëûŸûUû(úeú¸úNüƠưo­Ä©’¬ ĂƠú³ö’ö,ù5ûŸü”û¨úüù'û§ư-¾œ₫ưˆừ₫¯̀yc&“ÿ¯₫Êü$úÄ÷*ö^ö—÷¨ùLûPüzü'üúûøûü«ư’ÿ˦ €áIGS sÿÍùB÷ùEûcư„ư(ü ûHú̃ûƒưƯÿk®₫cưJưăừÿơ Åa˜DDÜÿ'ÿưëúˆø‡÷•÷̉øfúˆû6ü üüêûzüĂüzưV₫l K(QÓ ËŸû øë÷,û[ưØ₫œưíû¹úÚúçü±₫t-`ÿ!₫”ưU₫Gÿ́C„Ơÿ0ÿî₫ÿ₫ÀưrûùS÷úöôö®øµùrû,üÚüƯưA₫èÿ}ÿ#>/ ư-ñÅä *ùöö|û+îÿư—únû8ûüüJü^üüưÇÿÆ“½ÂIÿ«ưœư₫€ưîüGú$ùs÷~øUùNû\ü¾üªü€û?û+ú̃úÅúÏü,ÿ₫z óẹ̈ry ƒ«ø̣÷̀ú Y>‹Á₫Áü7ưÔüôü2ûŸútúvü"ÿn„:wÿÓüüÀûáü ư\ü\úÚ÷œöaöhøSúåüàưy₫³ưŒü|ûÇúßûrư9đÓ Bäfk£fú~ùDû6ÅÙ‡|öư%û8úÖù¾úóúüµüV₫qÿ‘½5vÿ„₫`₫₫ëư§üûóø÷g÷øúEü™ư‰ưüü±ûúúbúüQÿ‹o Ö+iµEM ăûûqü«Ù¿©¾‰₫³û û±ú́û-üzư÷ưpÿ+¼hŒÿ?ỵ̈₫¶ÿÿđưƒú÷Øôºô€öuùzüư¼ưƯûµú'ù7ù“ù0û̉ư5u ³ñ0¸Íu ó₫¥ün₫ùcUđ3;ÿ¤ü1û4ûûüư₫–₫iÿÂÿ—ÿ÷₫K₫t₫bÿx,₫úbơˆ̣_̣tơâù ₫‡ÿCưKú’øøÆù=üôÿS1 Ÿ Ûq& &ÿnüÏưØO¸»ßr₫<üAûéûüEưưgư›ư»₫ÿzÿ;₫Aưưb₫`ÿ¬ÿGưÏùơ…ó»óÄöµú₫¦ÿÙ₫ ư–úœùù…û0₫́S? Á v'ƒ´¦ øm₫©ûeüÜÿˆÚAO₫Lûñù0úoûüÆưk₫HÿÂÿ ¤ÿÀ₫”ư÷ü#ưăư«₫o₫)ưúøíơ¦ơÇöJù÷û÷ưÅ₫ ₫ŸüÔú"úÀú=ưÛ×´Î ¾¶ơ  ¢‰ÿ¯ưă₫©óñ ¢ư©ûûdûưûư´ư ÿXÿ'bÿé₫iưÀüTüĐüùưƯ₫Ơÿ ÿëưíúŸø)öîớö³ù¼ü₫₫×ÿ’₫³üJú¼ùoú³ưºw i E % ó Y ¢ ¬ ÑEäÿPđ₫”üûÁú›û&ư₫ÿ¹ÿ‡ÿù₫k₫¹ư1ư˜ü€üÏüưư|ÿ©₫iû”÷PơÎô÷ö!ú˜ưÿ×ÿ₫¤üTûûmü²₫ư0ƒ" ? JD ° ¿} …oÿY¢@6₫§üû«ûü÷ưJÿ8–ÿÆ₫°ưûüDüüÛûTüư©₫ƯđÿNư­ùZöơäơ/ùûüh“âu₫(üèú›ûîư"r&i ö L ³ M d «Œ=;‹™M:áùưŸüüMüư÷ưÙ₫Uÿÿ/ÿ¦₫èư0ư©ü`üoü~ü°üáü—ư¥₫Åÿë₫ü°ùă÷ ÷rù$ü ÿ·âÿ8₫ÚüMüưß₫ä*£Ư í / ª °%cw;‡„Åÿÿ—₫8₫₫Üưâư₫m₫¹₫Ü₫±₫I₫‚ư°üÓûkûNû¯ûKüHư₫êÿ©áÿƠưÇúø°÷)ù̉û&ÿf8$ÿưüü₫qJƯsd u ] æyu*O¼19Méä₫ÖưAưưxưôư₫¸₫¯₫₫¡ưçü|üñûÄû¨ûôûnü:ư]₫¤ÿÁ̃àÿ¡ư]û¤ùùÚúBưˆÿ2m€Ñ₫Lư±ü2ưË₫×6[} Q q ¶ Ú±–^kđbuÿàưàü7üAü’üzưZ₫Eÿÿ2ÿ₫Âüiû•ú…ú+û\üư¢₫bÿ=·ûAü₫/ưöû‰ûbüçưŸÿµÅƯÿ_₫,ưœü+ưa₫:êhÅĂ+&.N³(Ư[ÿ₫₫K₫ăư“ưÆư₫›₫×₫í₫|₫ßưưSüÛûÎûüüưrưăưQ₫/ÿÉ»ÿc₫%ư¢üÍü­ưÔ₫àÿi0Uÿ₫4ư ư₫ ‘É[öÖ£1yL‰w—jËĂÿ¯₫æưưĂư₫e₫’₫¿₫Ñ₫Ñ₫k₫Àư¸üăû^û£û_üưY₫₫₫@ÿ­ÿD¼Ăü›ÿ9₫MưRư÷ưÿ˜ÿªÿä₫₫MưNư¨ư¥₫­ÿ XĂà«đÉ€.Úl4Ç(ÿĐ₫wÿ0Ơ®ö₫₫”ưŒưäư<₫•₫₫_₫Äư,ư†üSülüưÅưº₫·ÿ´đ´¬$ÿƒư|ügüUưÑ₫Öÿm₫àü4ü±üq₫™wNAáđæaÇ?QgËBó₫8Æÿ`₫¨ưâưâ₫ïÿ‘DVÿưưøüpü¨ü;ưôưg₫ˆ₫Z₫₫đưöưG₫Ø₫ÅÿéͰ“ÆÿơưÏü¿ü”ưË₫£ÿ°ÿß₫ưüüˆü¸ưFÿ²ÀP ë‡ol÷±‡ïªJéíƒôP8ÿºư~ư–₫>Œ·½ÿ¡ưÊüªüçüưưư2ư´ưx₫ ÿ6ÿè₫œ₫º₫Œÿ»«¿ÑMÿóưmưƠưÄ₫}ÿzÿ¨₫ư¥ü—ü`ư•₫ºÿc µdÎÑsM5†!sđ̉\Lÿè₫Rÿ̀ûˆ¢ÿ“₫½ư<ưưưưÊüüüñüuưưư@₫Q₫Y₫µ₫ÿ•ü†`û₫ơư ưûư ₫ÿ ÿ½₫=₫øư₫₫ÿÿ©cW„±›̃R ›£„Àeơ\O¡₫ ₫“₫Ëÿá7 kÿ(₫Jưư"ưZưaư5ưíü½ü½üñüAư£ư₫°₫sÿIñ$»ëÿÿè₫qÿ„y³ådÿÚư ưGưa₫Àÿ½đcrÿ¤₫f₫ß₫ïÿ@rWø‚we‹đÆÿ§ÿÖ²<€0¸&₫züIüZưí₫ 0Eÿ̉ưjü‹ûGûƒûüÀüªư½₫¾ÿY9Wÿ₫ßü{üưx₫$Z¿ºÿñ₫Æ₫aÿp–]œL¬₫––Æ•4qDÀG[ÄK¹¸1$çÿÛ₫i₫§₫tÿK´M&ÿưüû½úûÔû‡üæüÔücüÛûˆû²ûiü¢ưÿ…˜)³7%²Ñ áô[‚êƠ(‚ˆnÑrW,²Æÿ¨₫¹ưfư¶ưi₫í₫â₫%₫ ưü¬ûûû̃üïừ₫.ÿ ÿ‡₫èưxưjừư†₫\ÿ[ZAYÓŒ1T߀‹EDx™æ§×5’}dfkH̃FÄÿŸÿæÿLgêÿ÷₫ôư]ưYư¶ư₫ûưŒưư¼üäücưùưY₫w₫g₫k₫¥₫ÿÿêÿ%^¶,‘¸ {’¡u©Ö“×®w(„̉½>•ÿ!ÿÿIÿŒÿŒÿDÿÍ₫i₫7₫B₫i₫Œ₫₫}₫f₫k₫†₫¬₫¼₫®₫’₫˜₫Ø₫Vÿ̃ÿ;DÅÿ·ÿÿÿƒ U_DBm¸éÙÔá.ˆ¯óÿ¡ÿÿÿ³ÿÇÿÔÿàÿ̃ÿ½ÿxÿÿ̀₫§₫½₫ÿZÿŸÿÁÿ»ÿÿtÿQÿ>ÿ?ÿKÿaÿÿ¤ÿÁÿÏÿÉÿ¶ÿ¥ÿ¡ÿ­ÿ¿ÿÏÿÚÿíÿ 9j‹—€sw‘¾đ טaJXy˜Ÿ€Bôÿ°ÿ‹ÿ‹ÿ¥ÿÁÿÎÿÅÿ¯ÿ–ÿ†ÿ|ÿsÿkÿeÿlÿˆÿ¹ÿîÿûÿÓÿ¶ÿ¶ÿ̉ÿ₫ÿ(CMI=+øÿèÿéÿưÿ49"÷ÿÍÿ´ÿ»ÿÙÿÿÿîÿÙÿÓÿàÿøÿ'0-""6FKA.#$ ₫ÿơÿïÿ́ÿçÿßÿÛÿÙÿßÿêÿơÿ÷ÿíÿÜÿÊÿĂÿËÿáÿøÿ  úÿñÿéÿăÿäÿíÿưÿ ̣ÿƯÿĐÿÓÿáÿôÿ ưÿ÷ÿôÿöÿ₫ÿ '020,&#%)/11.) ưÿöÿôÿöÿùÿ÷ÿïÿáÿ̉ÿÇÿÂÿÆÿÍÿ×ÿÛÿÜÿÚÿÖÿÔÿÖÿÜÿăÿêÿơÿ₫ÿ  !%# ưÿúÿơỵ̈ỵ̈ÿôÿơÿơÿôÿđÿ́ÿèÿçÿåÿçÿéÿëÿ́ÿ́ÿëÿéÿéÿéÿëÿđÿóÿùÿưÿ₫ÿ  ÿÿûÿøÿóÿđÿëÿèÿçÿæÿåÿæÿçÿçÿæÿåÿåÿæÿçÿêÿîÿñÿ÷ÿøÿúÿûÿüÿ₫ÿ  ÿÿưÿûÿùÿ÷ÿ÷ÿơÿôÿñÿïÿïÿîÿîÿíÿîÿîÿîÿïÿïÿïÿñÿôÿöÿöÿúÿûÿüÿÿÿ  ÿÿưÿüÿùÿøÿ÷ÿ÷ÿöÿơÿôỵ̈ÿóÿóÿóÿóÿôÿôÿôÿơÿöÿöÿøÿúÿüÿüÿüÿ₫ÿÿÿ  ÿÿ₫ÿưÿưÿüÿûÿúÿùÿùÿùÿùÿøÿøÿ÷ÿøÿøÿùÿøÿùÿùÿûÿúÿûÿưÿ₫ÿÿÿÿÿÿÿ₫ÿ₫ÿüÿưÿưÿüÿüÿüÿưÿüÿüÿüÿüÿüÿüÿưÿưÿưÿ₫ÿưÿ₫ÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿ₫ÿ₫ÿ₫ÿ₫ÿ₫ÿÿÿ₫ÿÿÿÿÿ₫ÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿÿÿ₫ÿÿÿÿÿưÿÿÿÿÿưÿưÿüÿưÿ₫ÿûÿưÿ₫ÿûÿ₫ÿüÿüÿ₫ÿÿÿưÿ₫ÿÿÿüÿ₫ÿ₫ÿ₫ÿ₫ÿÿÿüÿÿÿ₫ÿ₫ÿưÿúÿÿÿûÿưÿÿÿưÿÿÿưÿÿÿüÿÿÿÿÿưÿüÿÿÿûÿüÿúÿüÿùÿúÿÿÿ đÿ æÿơÿøÿíÿíÿïÿÿÿùÿ  úÿÿÿúÿùÿüÿ÷ÿơÿöÿùÿûÿúÿơÿóÿùÿûÿ    ₫ÿüÿưÿ÷ÿơÿîÿîÿæÿèÿđÿêÿíÿùÿöÿ ûỵ̈ÿûÿơÿđÿđỵ̈ÿñÿúÿ₫ÿ  ûÿ́ÿíÿßÿ́ÿáÿÁÿO ÿ--̃ÿhóÿEưÿEûÿ$Çÿßÿóÿ´ÿ ·ÿ áÿÍÿ(Ưÿ& ûÿ ₫ÿÛÿ!Æÿđÿ₫ÿ C÷ÿ'P(1øÿôÿóÿöÿËÿÂÿäÿ«ÿæÿåÿơÿ!çÿ#0"åÿøÿùÿúÿùÿ÷ÿèÿàÿöÿ" $ưÿ₫ÿçÿăÿ́ÿăÿñÿëÿăỵ̈ÿíÿ́ÿ üÿ#üÿ îÿ₫ÿøÿüÿñÿ₫ÿưÿ% ùÿáÿÙÿæÿăÿÛÿÍÿÈÿ¿ÿ́ÿ́ÿ 7<Z?]05ùÿèÿÿÿêÿÙÿáÿĐÿçÿÄÿùÿƠÿ-ñÿí̀<¢; ọ̈ăiûÊưïưăóñØîñéPô?̣÷=u tv̉& ü/ùơ₫íí-́Rí§ïyôû¸ư7  g¢l › L äéúĐ÷ÉơÉñ8đ8ñÆîơë™́Dëø±ûụ̈܃m¸ŸS ơæîîï<ç2çzë/́°đ<ømÿ•X ÔƠÍ6)Ô Û-ÿÿöñtéæ>àÎƯFÛôç©ơ1î*I÷ë((6%ü&2$¡Ó *ù÷0ç¾ém̃eØsß²á¡åTñ5ưíÑ «* (:hÿỊ́Kë‚ß₫ÖơÑÔF̀¦éÙđåđËv#85Œ11/'¡}b₫]ç×₫ÚÈÎä̀Ù½̃éùƯ ™Pñ2M-{(ƒ){[ëùeèÚ[̉{̀æÆđǥלíNñ̉‘'ó'²=;DZ;73/û+ö|åIÏ̀èÉÅmÏX̃́ÙûuĐ#m*Ç5a5§( !¥üF́<à¦Đ^ˤĂÏÉ9Ê­âAúüw's0(7JbFR;3"£ TôĐå®Ơ—ÂwÆÅ@ÆØøêF÷W £"c-ª49̉/_"Ó·Wímß’Ô É‡ÅÍÄÎÈUÑ"ø; ‹>I<å;ZTFè0²*³ù+ă#Û¬É/¹›Ç?É{Ë寸ÁáR1̣4è5O7£&K@ỵ¦̃ ×ÄÍÆ©ÅQɇÏdß躧 ñBüE¸BµN×?({ÀÚ́¢ØÓ̉<Ŧ½èÈỎ›Ø î Ôv%Î3đ5-2ü*9V ³÷mé1ÚẲnÍ6ÊĐÊîÏ1Úèçt 3"%¬FCùClKH4º%ºÔǘÿƠơÏrÊDÂtÎZÙ\ß̀ôŦ³$r,à3ÿ*ô ̃róÓè?ÜsƠñÑ`ÏẩƒÓ+àÑé:HyÄ=ÄA₫@?BÀ2Ù'URư–̣̉ƯÏƠÓOÊ·Î́ÛƠâŒ̣²́"¾$),¯ø9 „ơoé*áÛ2×ƯĐ“×}ÙoÜóèt₫ơ¸%Ơ)̣EîD-3FCË%è½ ~̣̃ăû×Ï>Ó}ΤƠçëú•ܺ#¦)v$³"&¼ü̉ëNăÏßcÖù׃ƠµÚ€̃ê(̣á~"3*4zB(H0h/B$ÿ÷‚îyƯ#̉̉êÔ´×ĂÜđñø²÷i„ %¼U¿ Ñư¸ó?èêỮ§Û…×ËÛâ æ^ñ7ü Û(&*./ºC0<—.+{–}ø¯ç“â•ƠUцÚqÛ£àûñEú\u¡È ±!½!ôóù¿ñ:èâß­ƯCƯÜ̃ăx́ơÛF#¥1Æ*“9ä>s.̀" :®øXæ”à8Ư8Ó%ؽââå™đÊü†W. + oø5ïè&â[áá¹ßûäéĐî øúK̃°.©+/.Q7 0 "ÿü)íÍßƠß.Ư¾Ú…áÁéẓHü÷yÁ< Ú¡øAñ ́æă4çfèç#íạ̀ùS/2 Cu*Â%Û&º,o%èÖ @¹úïäiă·åMäÉçjî÷¨₫Àf íB 6Çùó2̣Dñîïṭåó₫ôO÷7û°×GwÙF’+ß̉ÿàû)öóæ̣ạ̈"ôôCöëøPû₫ç «}jNsó‹CÍÿy₫3ưvü·û́úºùưùWúŒúûđû¿ü’ÿđ\RפƠ¼ ªÿnÿ-₫0₫<₫øư»₫3ÿùÿ@1î#—Êçèÿ˜ÿ`₫JưưOüûªúúÉù›ùùjùŒùµùúéúîüŸ₫êÿSl•œÔ^í È„ ¾·°‹LËÿ”ÿ€ÿpÿøÿ"bxwlưÿ2ÿÿàưƠü·ûVú¯ùKøç÷Ù÷2øøxù|ú‚ûhưÅ₫kˆ̉™¡ÏÍ’CsÆ3#M6BæÄ0Â+m0ÿe₫aưÄü0üûŸûûºûüºü^ưÅưI₫ÿlÿ€ÿ¹ÿÊÿ°ÿ„ÿ2ÿÿà₫£₫½₫/ÿ¸ÿu:Î`¶Æ°Páb÷¨LÑÿØÿñÿg̉H’ơ%#»BÚ$>ÿ₫ĂưưüAü<üvüư¸ư₫gÿ ‡ºÁOèÿmÿ́₫Œ₫B₫(₫)₫B₫­₫BÿÙÿỸpå?D·4dm~ÿĂ₫4₫́ưÖưôưQ₫Đ₫7ÿ´ÿøÿ:hG(äÿˆÿ#ÿ¸₫H₫₫ßư³ưÊựư9₫₫ÿ’ÿ—†ĂÛ̉­[̃cúÿÿVÿCÿXÿœÿéÿH¾&uªĐ·¤\̣•›ÿBÿ₫₫·₫©₫­₫Ê₫ ÿGÿ˜ÿïÿ8z§²›b±ÿ0ÿº₫K₫ÿưƠưÑư₫`₫Đ₫oÿ³B¤ú úËfó{ ¨ÿ_ÿ0ÿ8ÿ]ÿ ÿmêXŸØƯÓ£}́ÿ8ÿ°₫5₫¸ưsưxư¥ư#₫t₫ÿËÿuWŸ‚[ù_¶ÿÿ„₫₫ÿưîưA₫¥₫3ÿöÿ±u¤êƯè-[}ÿÀ₫₫¬ưyư|ưÉưI₫̣₫³ÿu%¸ -ª q­ÿơ₫O₫Øư”ư†ư¾ư,₫Á₫rÿ6ñ…íGJ³k°ÿû₫i₫øư³ưÅư₫k₫ÿÄÿ‘CÛBtn"·m´ÿÿq₫/₫₫₫b₫Â₫Lÿáÿ}r¬È°_̣mÛÿ<ÿ·₫G₫₫ñư₫L₫·₫:ÿ̉ÿiîV®^œ(¸ÿVÿÿí₫é₫ÿHÿÿûÿ^²̣$́¨T­ÿ_ÿÿí₫å₫à₫ ÿ?ÿ‰ÿÓÿp Ï̃Ù»…B·ÿsÿ]ÿHÿGÿaÿˆÿ³ÿñÿ(Tv¡“~Q đÿ¼ÿ¤ÿvÿiÿoÿvÿ‹ÿœÿÁÿÛÿW‡¤´®­–z_2øÿ¯ÿºÿ¬ÿªÿÄÿÓÿíÿôÿ$%øÿ×ÿÅÿªÿœÿ•ÿˆÿzÿ€ÿÿÿÀÿÛÿïÿ+7R\lwwRU=.ñÿ"'ROP44ûÿôÿàÿ́ÿÙÿÖÿÄÿ̀ÿªÿ¦ÿ˜ÿÿ…ÿÿ£ÿ²ÿÎÿøÿøÿÿÿ' ûÿäÿíÿßÿíÿAt–—a&ưÿ êÿ.đÿÿÆÿíÿ"5,̣ÿàÿÀÿÂÿĐÿÊÿºÿÿ‘ÿ„ÿ½ÿÑÿÿÿûÿơÿÏÿ$2L2 „ÿUÿó₫"ÿ\ÿ‰ÿÑÿ{ÿ]¹×›\\̉¿‹#§ÿºÿiÿà₫₫›₫á₫Cÿ¦ÿ¾ÿJê'’ÿ́·:¿UØÿ€ñÿ–Ù÷ư ÿqÿJ₫+ÿĂ₫ñ₫J₫ÏüưüB₫T́¾‚™ÿ¦₫<₫@₫̀₫Iÿü(Bz'¯(›ÿ£ÿTÿ¬ÿơ₫₫ ú üÉûü^₫ÿrߨs3:±₫ûÿ̃₫‡ưùư°₫nÿ½ÿÚÿÿ2¶  ÿĂwÏ‹˜₫{₫é₫₫übư•ư₫™₫ù₫Û₫£ÿíÿÈÿÎÿăưÅü¢ü“ưªûYưD´˜ t íÍw ăù“ùÏúwöơ•úbübû!₫GÀƒ I^ÚüÑø÷©ôYî¿íĐíđïííû}¯8!+/!8I= -₫ÓïÆîê/ÛHÚAæ¾ç8ç,ơ†̉¯C. ă#—Ă àư$í½åYà²Ú÷Ö•ƠØnáè®ïP×%̣£.ØG1=v-•/Á$`̣₫Ùí@à Ü<Î Æ0Ó"ÜÂÙ¿ê¬ qö&o0¨1-„%f‡̣ÿâÈß ÖbË Í„ĐÑÚưè¢ñ4¾)·&R0èJMEæ/g4/ï—ùçÚÎ̉GË`ÎzƠƒƠuà$ö•µ ̀Đ*ù,~(C$d@ưḌ&ëKßקײØÁ×´̃ÏéÍócúà œ!X"¡/2F$¾ Z ÙăUÿèöî́çÔâLáˆăä-ç®ñ¨ùIưïï²½Ñ{* ̀ÿ-ưâøÊôôhô˜̣Ạ̈íơùøˆúæư fc'™Ÿ ÂyîAÖc½†W_ÿÈưœưưƒüyư~ưûü.₫Jÿî₫„ÿë&v‚ẫ£çY¥₫ưüWúƒøŸ÷íöèơÄơö¥÷<ùTû´ư8ĂùªÙ S ; ơ ) §ß^¾B̉ÿxÿŒÿóÿˆ Er°¯?‚ƠÿÿËư[ü(û*ú'ùUøơ÷øTøßøÅùÙúÇûºü×ưÏ₫½ÿÆ£xṼtÏđL‘xP/Á̃]{‰Ùÿ)ÿ¡₫p₫1₫₫L₫a₫M₫¿₫ÿ́₫̃₫â₫”₫₫tưÏümüøûxû û6ü|üư₫ÿØÿ́áĂ™è >ÇÊ"c;(ÿ‹₫"₫çưÆưđư©₫YÿÁÿƒ{üeçߦ[¤»ÿ̃₫u₫ ₫£ư®ư₫₫S₫ÿªÿD¥®~zäÿLÿ¦₫₫Ơư«ư‚ưưëư₫o₫ÿsÿÄÿPÈ\Œœ}N&ù¾ª‹J%)ăÿóÿ)Aˆ—„¯Æ“`NÍÿ~ÿAÿ!ÿÍ₫n₫h₫₫a₫h₫â₫?ÿXÿ¹ÿAusˆ¹½|T^1ÜÿÄÿÏÿµÿ£ÿ¯ÿ̀ÿ(A‹¾ÁÚú̃и…dR÷ÿùÿâÿÓÿ́ÿíÿÎÿÓÿÔÿ°ÿ~ÿYÿ>ÿÿñ₫á₫ÿÿÿpÿÂÿÍÿđÿ,7(:A(àÿªÿÿ¢ÿ–ÿÔÿ2~Ë'mœÊÀ®‹=æ„ÿ(ÿÅ₫ˆ₫a₫h₫₫·₫ÿjÿ̉ÿ2~²ÓÈIÿÿ—ÿ<ÿà₫¬₫v₫[₫~₫Ö₫1ÿ›ÿ7ÄAéé¬hëX̣ÿŒÿ>ÿ́₫ù₫ÿDÿ^ÿœÿÚÿ(e¾íƠ@¾ÿNÿå₫¦₫z₫p₫›₫©₫ÿpÿ Lïư†@§'&4kÿRÿÈ₫·₫’₫½₫ÿuÿ!˜Âˆÿtl4ü*₫–^£ưülûơưƠÿƒÿÿ#₫”eW©éÿ₫ûƒü¹Aƒû>ơƒÿH®ù`độæÿiW₫ăøỵ̈ aS ú"èƠ>b=€™×á₫²ü×ÿá₫½üœư ÿ,ÿ₫¦ư‘ư‚ư₫f₫Oư₫³₫X₫Đüùüưæ₫ÿÿG₫ô₫Ù₫ÿnÿ₫¹ưüü_wđ§/“y!<¨Ø±Ø%•®²p₫ûưÿ¤₫ÔûàưÓ₫ ₫Ăúàø—û₫qư₫Ú₫3=q₫ü³₫jG₫gÿ–èÿœÿÎ~9)ÿÀ`s₫¼ûäûÿ} ÿÛ₫£“z,Ưßÿf₫ŸÿÚÿ^ü–ú™û₫ïüåùüö₫è₫1ưúÿϲ°đ}ĶIÂ₫ư]rơưg₫₫0üT¹üv₫2ƒưĂư¯₫js₫qÿ½°ûüüœ&v½|ñ5X₫Fÿÿÿư†₫²/Dùÿœ§!ÿ[ÿ)GÍ₫ư¼ư™ÿ̀ư–ư ÿºÿ̃₫§üü#₫Aÿ ₫túßø¯üiÿRÿDüäúÖư߈ ₫@ü÷ÿ˜bä³B nÆ…­Ä ‘rßø-EzÿÑÿµÿÿÉø ø:øÄùƯ÷Ưô©̣6ó­öÓø£úˆ÷áö]÷2ú>ưḱÿ^×Ö ·  É ú æ8 < e \¶: ¢Ä́%ÿư7÷¥ö÷̃÷Éơ=̣½î­đ`̣Ạ̈Mó+ôö`ø(ùƠùœü¬₫l@Áœ  0U¿¥ ä# > ½ ‡» ô¶ÿQÿ:’å₫#ùÍö¹öp÷8ọ̈±í,ï€óÏơ¶ơíóơĐøäü¸ưđü+üX₫^±e·Y"m } g  D V   ¨ á Í a ÿÁù²øÔú4üǜ÷®̣Ưï)ï‰đẹ́×óyó”ô¹ơàø²ûûüB₫Ä₫ÏñÚ#¾" à@yDQ * ÁZ€sB $5ô₫fû#üRûgû¤øƠö;ó²ñÚïçïṇ̃Úó„ơ÷Uùùụ̀ù,ûđû®đ*^Jđ ú ‹@uÁu ÿ ¢Ïé´§Ä¿ư›ûËù}÷+ơẠ—ñ6ñ»ñ'ọ́̀:̣Uñ@đ”ñkô÷µû{ưó₫ ”Úx â ’7£Gº Óÿ8 ¼ ƒ ́ÖÿùWö´ơ…ơZơ~ô½̣8̣‘đîđ¦đ)ïpî‹íơïgô’ù1ưnÿå₫cÿTG> Z‘—L‹  / Ă ̀ _Æh₫÷“̣(đ“̣ÛơÆ÷~öX̣Ớ¬ë<ëàí«ï“đđ̣fơèù'ÿÓí¦":&§#üF ¨| ~ " ®¨̉N|ÿö"î»íôZúĐüà÷—î@èå‹èƒ́§ïƯñ•̣ô ø×ûdAaD.*,*¶g©O ƠÍúqÿügÿÄÿ û€ôḅoơªù̃ûƒù…ñlëóæ¥ç̃êëØíÔî®đ_ô€÷ü|s% Àî(1'*®)sˆ çª ơ ₫5üïüÎù+÷éó1ôDúÿ”~üóÔê·æÓèé́̀î/î¯ë#́ï+ó#÷§ùkưOK &L4C4] é 2ÿmĂ <#Nÿ₫ü¯₫Bưöêï¿ëx̣Íư[ )ÿŒñ²æ‰ăuéíî¶ñcđT́ íïß̣Úơ§öûƯ₫fr(J6#5 >₫™2 ˆ } ܨư ư’Û₫fơ`í́çéïÁư+  pBô_èuä1ë€đôñ\́Uë¨í½ñ¶ớôøtúÉ %²2É9Ö#¹XT₫ ÷"zh×üËûy**ùªđÍæ:ë‘öô t÷ư²đYéjê¡î=ó‰óđ‡î¿íÍđậ‰ó`ôE÷ưgœ'ø5"2âù /ư¤* ó»÷ÿüøưíØÿJ÷₫íÜç†ï±ù»q cưêô~ñ:ñ³đAñpđªđ̣~̣[ô¸ññ“đÔöü¡ f"j-2ö„Ôih kî Øü₫ÎưtëÿƠøẹ̀ñë±ï²÷ÏÚf£ú{öoơ™̣ñPđ3ñYôôợ¨ïáïṃ›ú­ÿ₫O"ă,‚*{ \₫̣¡ 9  Ù“₫hưQ₫ùø̣¡í½ó¹úºXÊEÿđ÷'öZơRóLóñ óÁô¹ôAơ4đïœî0óû~mf!+9%Øà Đ₫ª TXv-#ÿë₫ÄưäøṚFđ}öñüî!Ñ ₫Ï÷7÷çơEô‡óñ_ó[ô°ôÑóïîÄí(óNúătO*l$~æ Oê •/>¸ƒO'₫Ưù”̣ñ«ö7ư…,]ưiøø÷œôẸ́Ëï,̣»ó¥ô¥ó!ïǿˆí²ñ¶ú>₫„’&k'Ḯ º[ÁÉ<æ€ûơMđDö û¡}₫iù5ùÜ÷.ô'̣ îuđ…̣{ó–ó~ï+í³íçïüøcû+ : #Â)ß²c@ ©«R ÷vâr[ûüơ&đ§ơ/ú Ÿ¨ÿËưüúwúưùơóWđêëßíẒ—óƯó\ḯUíđØø–ûˆ`̣+D!×o ̃ü µ 2$tˆ¯ûøö{đÙówùÊư“₫|ưñü<ûØúróîAë[́ẉYó ó¤ïKëÎí¢ïÎö%ûƒÿ:ø-&i:zí ®Lfơ›&úeơ[ñ®óØú ûÿ¾üfü¿ÿxưü:óÁêê+́“̣ụ́gđcî.ëËî«ñeơ)úƠû¥Ø /,)(ª ç!ăAVëí½søæóô»ơDûùúÁû₫ư ¨ÿ"úÄñëD́díÚđÎïh́¯ị́́·đ_̣Ïóøóûü#/ (£ª¦EçÊ "ßb LÅ“öbơ*øƒ÷¢øơ÷÷¾ư‰©~₫%÷,ñè́âí<í0́ưëyêíïwï ñÁïˆ̣døúlê$W-c!‚ƯU¹ÉÏ8 /µưÈ÷ˆụ́ù‹ơơôûÓƯ§:û÷mó[î΅qéÅé7ëÎë±ïÀ́kïUï[÷gú gŸ&.+ ´‘Q ¾;ØK L˜ưoü~ù_üøˆóô<ö₫fÈ₫qûñø"ôWíBê»èëë¤ëè́•́ØïÖñJøKû¨!=*A%¥´=q/p% 4 ÷Ư₫éü–ü–ư`ûßô\̣xơµúúưúûuüÿ™ ưỵ̈ ë¦éXë•́—çaé ê±ïñïC̣Jơơ₫s?$.)ùÂlvù" M ”  \‰û‚ÿ-ÿ[ÿü÷̣ñÀơù\ưwûåöđüoÑ"ưÍñ‰íǘqí^ëéă?è·ëñïŸîạ̊ˆy\"z$Oª5âÆK è ‡<üöt÷₫C÷öóúlüü#øơˆû^ßưùơ•đÑđîdê$äæùëfïyïPíẶÊü€Ú̃ œ¼Á “&d ˆ1 ¥ ¿¹¡üï ÿû'öiûưĐüÆúŸöúP₫ơVRú#ö'̣Äđ)î!éèjë¶ị̂3đó×öˆ¦0¾1.¡i o¤₫„ư¬¸%ưiûÁ₫iÿ±ưüú„ư †‚>üi÷Ôôô™ñ^íSëœí(đ0̣.đñÏóXÿ˜ ̀ Ĺ ót‰Mƒ $ ¤ 3¶(-ˆ‘!í₫¶aŒN½₫¯ÿ’KP₫eúáöéơô đđí£íèîÜđÄîlî·î–ó<₫¬P ¼ ó 5@ ‚ A ¹ v̉̀0pµà‡áÿ̉4}ưüKúbùöÆñÍï îÑí¾́RêjêTëđ=÷ôüœk¿ ÇV?V9…B) –›*¥ó«g̉ÏÜ'ny6êưFü«ú‹ø₫ôÔđî‘́©ëXêŸèèêÙîö‘üd÷Ă ·ûÂ,éà9 æ̀2I0<ø%¥ơÿÈÿ0æ¹sÿĐưSüŸúî÷jô¿đlîế“ëêèÍè`ê·îTơơû'â ²H₫\–±Á E Ÿx5a]ÿAÿ­ÿîÿƯÿÿ±ÿ0ëѬÿ₫–ü±ú ø€ôñ†îđ́£ë8ê é]é)ëïQơû‚, PÅA¯G óiïñÿ¤₫[₫™₫ú₫ÿÿfÿ8ụ́ÿs₫ÙüÏúø…ôñ”îí ́ëÀê{ë^íVđ5ơÏú[Ă µI*gøë’)¿ ½ H–¨₫ªưpưŸưËưăưE₫Gÿ’HÊ₫ưëúø÷Xôüđåî:î'îơíÓí)îmïyñ–ôùÄưĐàa ê₫F¨¯Ç#J  ¸t×ÿ$₫JưÛüÜüưkư=₫^ÿÆÿ8ÿûưrü}úß÷ëô¶̣ñ9ññ‘đ+đPđ<ñị̂øôÔ÷Ôû₫ÿđ. — ÚÄQoÖ•‡ ) Ơă¤ÿ₫₫ưBưÿüŒüˆü¿ü̉üfüüçú̃ú,øqơ~ô9ó_ó5ócó™óCôơJöˆ÷Vùü#ÿ­́= Ê ¯ â%gơhW É ¥n ÷)ÿéư@ư¦üîû[û9ûZûdûúúÅúGúïùlù¬ø-øÚ÷½÷´÷è÷ô÷gø±øù?úPû†ü₫BÈ=Úd ? È ơ î q a Ư}̣4{ÿ₫WưÀüJüîûü üGü.üü0üü:üüûùûüæû7üüäûÂû«û̀ûÅû ü-üùü³ưµ₫·ÿđ8zư¦Ù—z·ÈĂầ 4Rgÿ<ÿÍ₫₫T₫H₫h₫Ñ₫,ÿ#ÿqÿ!ÿ8ÿ̉₫†₫óư­ưNư¡ü…üŒûêú’úhú̀ú½úîûiü°ư•₫î₫¸²2UƯÅ̀}[Ë™÷›Pá5ÊÇ (̉ÿ‰ÿQÿ-ÿ₫úưäưưºütüFüëû§û»û¯û¶ûRüƯüưÂư^₫ÿ\©?4£¤½¼èg‹x2Æl`‰ÿNÿÿÿ(ÿWÿéÿkƯÿ¿ÿ&âÿÆÿkÿƠ₫mÿ₫“₫₫i₫®₫À₫ơ₫á₫*ÿªÿÿ"ukŸ`7(–c.7$¿ÿ«ÿÿiÿ4ÿÍÿcÿ£ÿjÿÍÿ+Äÿ|Mz·ÿÿKÿµÿ¶ÿ"]ÿ,{Ôÿ F~Z¶h¤¦n¸Éà¶ÿ·ÿ‡ÿÄÿơÿ‡ÿzÿÿóÿsÿMÿ/ÿưÿ%©₫Ó₫Ÿÿ™ÿâ₫–ÿ®ÿM¡ÿî₫°N\ûÿß”¨C ’Ø 7E₫U©ÿ“èÿÇÿ%ÿ0ùÿ4ÿA4ÿ­ÿè₫pÿÙ₫]ÿ₫Êÿđ₫ ÿª₫å₫ ₫P₫ɶÿÿç§ovú¿₫ÖA˜è ÇÿÿëÿâÿèÏÿ)«ÿ̀ÿ¸ÿ ÿ­ÿû₫ÿÿÅ₫µÿ]ÿ\₫‹₫gÿP’₫Ă₫ÿƒZˆÁ+M::?¢›K±ÿs`¶ÿF¬ÿĂÖÿ¿9ÿËÿ+ƒÿ₫‰cŸ₫7₫Z¤*ưb₫˜«ÿT₫BÿlÿªÿÛÿnR₫[ÿ̃S‡ÿ-  ̀ÿ‘Ư0`Lÿ ôÿEZ ÿF <Ïÿ»ÿgØÿ₫ÿÿbÿ¦ÿzÿ.ÿŒÿ`ÿMMÿ¾ÿxƠÿÿ$x?ÿŸ-6¼ÿIƯÇÿăÓúÿ‚ÿ¥ÆÇÿ¿ÿ4bÉÿ %ÿ2÷ÿÿRÿeÿ¦LÿoÿÙÿrÿ ¼ÿ0ÿñÿ<wÿNÿ́ÿqLÿXƯÿs^)ñÿ‹¢·$'3„à£ÿuQEÿ)Eÿ9ÿßÿƠÿ]ÿ“ÿz·₫÷₫0̣ÿ̉₫›ÿZÿƠÿ’ÿyÿkư₫¶SÿL:_ưh]¡ÿÖ©ÿ₫ÿqa˜ÿ*…ÿ§ÿ+Œÿ¯ÿàÍÿ3ÿs%²ÿÄÿyÿz‚ÿu₫sÿ¦ÿÿcÿăÿ0Hÿ"O½ÿODÿ†#ÿ£ŒÅÿÓ¯ÿI“ÿ̃¢l}nYDđÿoÿR0Ûÿÿ±ÿg®ÿCÿ̉ÿNÿØÿñ₫Á₫)ÿ_±ÿđÿçÿWnÿD•ÿr·ÿ,ÿñÄÿÂÁÿĐăÿ?Gµ ÷ÈÿƯ÷ÿJsÿ₫₫Àÿ¯ÿôÿxÿœÿ…ÿƒê₫eÿƒCÿe™ÿƠÿ¦₫O–Yưÿüÿˆ¯M´ÿ ³ÿ8@×₫VàƯÿÅỵ̈ÿYµÿcI^‹ÿKHÅÿ9ÿŒÿÂÿuÿÀöÿÄÿeoÿ±ÿLÿRÿüÿí₫9ÿ_„S̉ÿ]YÔÿko Ößÿ’ÿURÿU´ÿØÿ¸ÿ‡ÿ®ÿ:X)ÿ¥1ÿÿ,ÿ¤₫ÿ?ÿÇÿ׺ÿktă¿ÿ$ÿ‰‹{ÿêÿåLÈ\)Ûÿ_ÿ̃kÿiû5üLüÊÿ‰₫ÿ©ª&J:ˆÑÿ8ÿ·ÿpăÿxÿ°ÿÀ5̉©ÿ‡ÿ¿ÿ•₫hUÿ?ÿß₫µ₫£ÿ®Áí₫zÿ3ÿ¶₫ÿ}₫₫…“>%ú‡aÿ-C»ÿ°₫ ưCüüüüLûcú[ûăø™ø‘÷¾÷Áø˜øø÷Rú̃ü³# Ç#x̉Î ¨”ùÈöäợơ)ơsñrđ’ñ̉óWơ!ô­̣ó¹ơØögơHó&ó“ô‡÷úóưè eÚ'³.´(Ï!¨` À₫ñ’îỚhïTđ¯îô1úƯÿ5Åư»ûñûEükü¥ö<ñïíuíđëđ ñ¢đỴ̈w÷øưˆ ½)4d/%• ö q₫ïUêèéÇïïẬdúæ 2"₫_úúêöṆ̃}đNïñ«̣ï{îŒíXñ÷¶ú¤₫ñ*́7.9¹&–!'</Zï5åûă—æ‚̣óÍó ø«û ¼ H R₫„₫êûÏö§ô=íđàđ‡đ~ñd́<íËïó”÷†ûú(`:xCo/ë%ïÏ €uñ|ä|Ư¥Üẹ̈üø~üü} • ©H₫&ư§û^ô‰̣BîZïñîîq́9́Üëj̣Åô+û;ûZW#3ëH›=Ë+·sj÷ơèºàßÖBÜöêmơđÅ „ |e₫J' ûöîîV́¿í[íƯđêîPî*ï{ñ÷ô₫xÿ(:‘EƯ0'Ï “₫ö÷F́MæOƯ%Ơ‰àƒéư° Í —¸   qÎưaø{₫ư”çụ̀Ăé3ề́Ûîó_đñEóQöö "f,B?ø;Ÿ+/¯ù0î]æà[ÚEØ•ä̃î {ŸÆ ) S'ÿÈưú÷¢ö³ø’û,IAôoïfë”îeñxñ*đˆïî‰÷£ú’ #f,(@e0£(›<₫q÷ÖêĐçGăgÜ à=çụ̂$ ~ơ>ĂÆWÿbü‰øÑùwøüưï÷6 ¢úc̣eë́ëˆílí=́}́cđ·ơh*:.'C(8‰0¾BSùë›é‘â¦ƯEƯ€á´ë 9  ͇¯kư|üéûđøRúüÿ¦₫0öïñë[é¤ë́Qí8ï°ïWö»ưæ&P<+@?6¿&ú ÙüRíQécæ[ăWàgá³ăẹ̈ôüJ ©ÿ%ưÿÄư¡ü«úÏơéö•ô&÷÷ßôỢ®íX́́ëÿí”̣÷ơßû0ûª1:7”,‡Ç đ¡é-ç¡æJæ×åÑäœ́₫ôLJ=©N¼ ¤&₫₫w₫±ÿ®ü5÷Ø̣Cî}đ@̣hö£ö9ô™đ÷́³́qđaơƒ₫¬¹»h&32ó0ă/Ôơ{üƠî·èÆäEåßæ…ætëNï6ùÏ̉ [eÿ2 §ùïÿ!S₫éù#öÄî̀í†́/đµóÑô¬ơỴ̈TñgñôĂù]¨æ̃+)“,£-Ó'T– êú2̣ûêdç¡çæGç0êîyø~Ü Q̉M@ àÇơ₫×úđôJîË́àê#đṚæơ0ö»óẠ̊ñ(ôNøø₫³ºÇÜ$™)æ+®'¡—f÷MîÄéJè~æMçêè6́öó]ûƯ2 ƒ7F ôQgT₫+øRñ†́uê»ë¶îªñoó&ó—̣»ñBô-÷»ư=m Dü%à'¥)É"¿ƒ }₫¹ö0ï³ëÿé»çPèÄè†́lóû" Ó’™~· d đÊưŒơ+îÎèUç›éLíhñpó¸óaóỌ̈áơ<ùMj ®˜$ó%(""¾Ú°øíđíûê{èèè ëÍđñ÷äF ¨ˆ†2• a $N₫Îô™í¾ççnéí+ñṂ·̣èṇ̃äơú$s4¸đ&$à%«(/#7›ùù%ñứ‰êvç=çæÍè0îVơ­ÿQ¶Ư¨I'Î ›wp÷Üî^è_æBèUëï8đ{đđ«đơ^úD‘} ÑIn"~&l)Ÿ&öŸ!‘úṃ¡íŒëè©æÛäÜå ë(̣úü½€ ¬TZMIG ù)đ€èæFç±é8íÂílîNîöï×ôæú   ƒ!ó&‰)§'? ´ƒûwôùïäíÉé çˆäĂä9êRñüûpú ”X³ƒMVdđü­̣'êæÏæèAëƒëẂđ́9ïRôú‹Ï- ÙÇ%³(…)!. ÿƒù8ô”ñí»ç(äQâƒææí„÷,å Ơ =w¦ƒP+…÷°í­çaæçèé’éüê`íc̣<øă₫ơ , ÀÛ!̉)G*»'»Cá₫£ù¹óïÙçOâàMâ`êọ̈FüK,‰ <ÍNÔ÷ÜÀC₫[ô[í¢ç@æÑä¸åçéè́œđơrúˆÿ̉« - D¹9%*I)®$œ<$(ư[÷uđëäæàiá¯åˆîYö¹₫uăht)d‰d Âàư©ơ¯îlç<å¸ă æéèÎë'ïTñßô3ù¥₫K s @a:'4-¡+{&Rv<'üsöÈíOç”ßiƯ©ààæ“ñÀøJz` -6©ƠH VƠîüeơîæääYçµê8íï ñ-ô¼ùåÿ¬ b &a+h/í+Ù#·§ ª₫úºó¬èáßÚFÜœăcë™ơ°úkÉÚ‘Tgç‹ Ó8úùHđ€éåæÈè.ê“ëëMí)ñöĐư¢úk w Œ-ü3- &óñóưîó&åÆÜ™Ùl܉å˜ê%̣G÷ÿ8 kPëµsq ¢ ‹k=ü÷̣î&ëUëÿëmêÑèŒé́ơṇ̃ôKùúhÿÖË ô'«3.¯)M!/}%ÙơŒçíÜÜfÛÆàåyéSôÎüS ;fƒùq $Uÿ[ü÷ÿó̉ïŒ́rëçêtëÔëíƠî„đlóD÷”ûà·ˆ!–/'4H,*Q±̃ ̀úfî*ßnÛYÚóÚKá®ăØî'ú,3îÛ×`³x 4ưư üKûiö:ô íSị̂íïgî¯ëíBị̈Qơ£ơûÿ³©¡#ó2,/ù*$*ØûđXơ(êrƯ@ƯyØaØ–ßTäơH₫/§»¾\om̉Ôư)û/ùHñóñ&î•ñzñ„ïîŕªï>̣¸ñ¢ô6óÂûû₫Á¦)"83Ø,‰+y*Ó¾Ơ‘ôsêuƯƯEÖ»ÖĐß3å\ö©ư}Å ­ø  ôüùơö^đụ̂èíñzđØîđđ́®đdóX̣ăỡó­úJtrùL.5-'¨,óøÓôáîØà]Ư<Ø\ÔÚß´äỤơû|%ø÷ó^¹>ø{ø ̣Xṇ̃í́ ïÏíhîTíÑî"ô^ô±ơdöù-xo‚(-“%„+â|Ă ™øḍeæ†̃Û’Ỡ>äí>øl₫Ă öÙºÈF ¯üëüUơñÉÊéíMëTë”éú>óáôXơL÷lùÇM‚z#¾._$Á(œ"ÛIˆüÜôÍûàá̃Ô×Üäèôâùt—²₫øÜ·₫ Ø”ÿöù/ñ́éké,èæ<æ‰ëCđøó"ô$÷›üÀ§¢ {|"C, &##™$ø¸‚÷ṆưçLâ:ÜuÚ\ăæñí®ô­ü̉ :D.-Úhë ÙEÿvöŚâêcætäƠâơàpèÈ́4đ5ó²ôz₫#ÿ ö J$¢(À($ '#” ¨ ºúöqđUçá(ÜXạ́æ"éúîơ± ¯/r{pó ‹úZñ́éătáßuà¹ă÷æ¯́ưđâơ₫Æ H÷:%'¾(""K.f !ÿ|ø~óê7äQà[á̃åtç'́#óöû̀ ÛĂ) 9÷w 1üÖđNèMäyáÅá»à\â‡è4íÊó ù¤3 {Đ¾a!$f#ŒĂÈ $ÿŸú!ö₫î̀êèåÓæơéëïỌ́Hù€̃a °‘P¡¹? ˆ¬₫¢ơµïëªè7é¦çéẾÍđ.öÔú¹ÿÔJ V •ƠˆKÆÜ| ÅåÿKưêùöỊ́ï`đ_ñṃ$ôÅơWú£₫CÄ * ç Ñ ¶ g‹7ưøơ&ñCđ;ï”ïÊđẠWơ‘øDüæÿVÈI éB ¶ t ¨ÉAÛ₫<üïù1÷Åö6÷÷é÷§øAû—₫Dô<‚/¤$j‚ÿư3úøuơ8ô&ô>ô‡ơ)öA÷‚úüª₫âD€“û… Û ¤ /a n»wˆ@fÿ%ưư=ư¦ü!ưæü₫{ÿká„₫…Ơ›@ÿÎưKü$û†ù¶øuø»÷˜øFøWù‚ú+ûbüjưµ₫Ị‹S…JjÂv¡!o†Î§!ÿFk§ÿ3ÿ5ÿÿc₫üưÿư₫^₫ưªư+ưîüƠü!üBüçûíûlüèûßûüâû{ürüQüvü ưùư]₫«₫¨ÿÆÿv4PM&ë ă,´äÜ7×ÿô₫9₫÷ư8ưÛüœüÔülư¹ưÍưƯư9₫₫v₫V₫₫Çưlưüü‘üŸû\ûöúûØúúúû—û~üüüU₫å₫ "ÈrÙ ÿÇyU‘¤¿ûZxz ÿ7ÿđ₫n₫₫*₫œ₫T₫E₫₫W₫‡₫₫µưËưûü¾üCü¨û‚û ûÙú¡ú—úäú­ûmû6ü®üÄưª₫ö₫îÿ,2ßƯ\¤X/ß§$†Åe­₫"nûÿˆÿ₫₫G₫ ₫₫—ư|ưưưÑüütüüüûû`û¥û‹ûxû‚û‰ûëûâûøûÓüưmưC₫ ÿ¹ÿX5¬±€s¥̉n˜W‰]¬‚Đ &I‡ÔÿÿB₫ ₫ưSưưÎüúüßüÏü§ü¢üvü/ü üÎûû1û‹ûûû ûPû­ûüÖüeưN₫Ă₫ÙÿJi\GZÙgÿï+íûƯ²å#_­¢–«¿ÿ$ÿ[₫N₫âưsưgưwư‹ư"ư¤ü¡ü˜ü ü!ü¬ûzûûƒúSúĂùvú´ú<úbúÁúwü\ưư5₫[ÿ=y₫VJ×5ˆg׃\17Ù<Vfåÿô₫f₫Úư0₫v₫6₫uư¶ü^ü/ǜûjû¤ú̀ú"ú&ùnøÍø¼ø1ø ùœø2úû›û˜ü)ư²₫`ÿçÑBmÀk d R P 4 ‚ Eah9úX=†&ÿ@ÿŒ₫₫ưi₫óưªüDüGü/üMû)û÷ú¿ùúƒù&ùøj÷å÷”øú×úÂúGû₫ûêüư ₫ÿs”₫ P±Ñ«n $ ½ n  E c0¯?Ñ?Oÿc₫‘ưÀüüŸû(û¯úJúúĂùùùø,øç÷ª÷©÷È÷*ø”ø!ù×ù¸ú·û®ü­ưÿôB’äN¤ „ E Ơ ÿ ê X ˆ ƒ <ÉSËQï±ÿ¬₫Êưéü9ü¯û4ûÙúú"úäù§ùeùù¶øfø'øøơ÷øeøäøuùúíúéûơü₫2ÿ&§B~£¢ r ô - ! ´  Áb°|NHÿk₫­ư ư~ü ü´ûcûû¿úoúú¾ù\ùù°øhøBøEøpø»ø&ù³ùqúWûNüYưs₫¼ÿ,›ơ-\†”s  k x B É  0̣Æ¢p}©ÿ́₫:₫ưư ü2ü½ûDûÆúFú¿ù3ù«ø6øÙ÷›÷÷£÷í÷_øưø̀ùÄúÚûư<₫ÿˆă"Vy„[ ø K X & ¶  .( ơÚ¸Ạ̊ÿ8ÿ₫đưXưĐü[üäûhûçú_úÛùXùÎøSø÷÷·÷÷¶÷₫÷pøù̃ùÖúăû₫ü.₫‚ÿïR¸ßùúÚ| × ô Ö € đ ,#₫đøUÿ«₫₫fưÚüiü₫û›û=ûÜúsúú¶ùWùơø®ø‡øøŸøàøIùÚù“úmû`ü^ưw₫ÁÿMr§½¸| L b C ́[Œ™©·¶¯©±Óÿÿ]₫²ưưœü:üåûœûUûûñúÊúœúrúBú ụ́ùñùưùúJú¢úû­ûTüưñự₫3@LN_mIâE_ë:p¾ƠƯÛë'lÿ³₫₫|ưúüüXüüÜûºû¹ûÓûÜûÏûØûäûáû×û̉ûÆû³ûÇûóû-ühü®üưªưL₫ÿđϲ’xGưyĂưÎeÚ(rºù6vÈ.—ÿÿ‘₫ ₫Ăưoư+ưíüºüü|üdüSüEü`üqüüªüËüñüưWư¦ứư₫c₫₫ë₫%ÿcÿ–ÿ̉ÿ-œzăeñŒ{½áúäªOÊ0·!nØ8¤ÿ*ÿă₫₫%₫âưưnưLư1ưưư ưưBưdư€ư”ư¶ưßư₫"₫Q₫y₫°₫à₫ô₫7ÿzÿ´ÿÙÿ6oÁ́Nß÷EZiƒ€|m>|h›̣_TJûE€üÔö'öÉô÷̣<ñzđÈóGö=ösøÍûËü»₫>`é ¬z[  4 SÇÜ·k×rƠhÎÿ.ư&ư"ư₫ûüÖûæúËû·û‚ù¦úïø,ùû÷÷%öç÷ăö‚÷p÷Óú—O¢áˆ ¥ ~ » 0 ‹s +u¨ÿ_ưGüDú}ù÷ö÷æûÈưR₫«U Pn  Ö“Jưt÷?÷ˆ̣“́YëTê‘é;ç‚í îö= yií!̀¼u8p }ü4ó@îưæ“äâăà̉çíñÁûü +fÅ"Kyư€ú…̣Dç0âƯ°Ù²ÙÂƯ7àÿû°üy"Ñ.j3S:t;4Ư"Ï:Ë̀̀üÖàäĂđ± ·œ5 Ó ³₫ló{́¸àÍá¨íSçáô×s">%W/đ6”/+.Ö*£_ üçë’ßöÑØÍ¨Îû̀„Ø6çEđeÿ ÎFºi–tư8̣¼ëàßä×íÛçp÷|đ`$¸/Â4+--‚'s7 vú²ëß̉̉ƯĐƠĐdÑâÜZç̃ó́ÿ S-?d  NùZđAëÓăXï·́qñ³ˆ ^Ñ &́/Ó+k(v)Ø »ṇ2è9ÜƠƠ”×ƯÔ`Üçïgüä2 <X· ¼XbûÁï†ëékđ¤đơ£… L&â+‡(ß%N$0Î ‘¢ó éßÛBÜ­Ú…áëEôúư:̉ qö R ¿¶üÔö›́Ôèẹ́ñañ£ø\ ưú}! (›+V&­#})µû¦îvåƯˆÜ̃°̃·ç½ñ:ú˜’ö i d₫êøXï¥éHçđ=̣ơû´tĐ%́*j's" û‹ư¿ñÉç{ß—Ựß~ßkæ2̣÷ø̀Ó ̣ Lô ÿíøôï¤éGèp̣4̣4öŒKC|$8)j# ?>ú̀û[ñLèÜàeáăá̃á|ê`óæùưÿmm z|U₫½ơlđốg÷×ö5ö û ÿmˆn#§6`ô ¥hüXóhí6åLå¢çËåkíOôùÿÜ0₫Ôÿưzơ›đ>óö₫dûÿ¹ ‘^[Ñä¦üƒơ?ñë8æ é·êF́ ̣Gøư°ÿ(0₫û4üƠ÷Ẓ¢ñöÿ—› 4< 9\|G@úị̂îˆ́uæúçOícîóôøèưC~ÿPUưøăùÑô)đợÔÿ&D<W ñ!ºoơ ~ôö¥íưéDèHă1åê±î̀óù~ÿep÷₫ºûøợZïöÓöÿ [UÀÁô" nEO ÷ºí“ëâæ)ă‚åöè íëñÇöYư‚₫ ÿöưWûûú÷̣ôô‰5; ¥+-ư “ ĐßùkñơíÉæ çÉëgíÀñ{ôÎúbưàú=û¢øƠøöÖđ¦̣{¾…TÖk¨̉"u­ ʵü:̣¦í¾́Açæ¦é?í#ñẸ́‘ùëư4üMûæùwûç÷Hñạ̊5 Ă•,t;b›!*^G´[ßơ¤ñèï̉é©çÂé:́ëïđÇö\û}ú¬úmùsü#ú ơĂơö—½ b¶A,»¿åA YXø$ôƒóïî&ë'́ÙîñđñÇôÎù(ùéø#ø…û„û§öøö¥(ø ÎRPê<2 Ï!¦ü÷Îö ơÜïÑíđḅ̣̣3÷ªùÛ÷ûö9ù^üÆù¿÷û/C@ Ơ^¦¿i¸ N ”XÔưTúú÷TórñóøóVóˆôz÷íø4ùÔøÚùœûƯúyúû3ÿ[J ß Aï wÅ‹ x »ÈWưgûø“ơûó‹ô'ơơÑöøoú½úàú¡û¨ü-üFüwüBư@vt–̀á£W E ¯ ¥ î ‘”^ÿÀüƯú˜ø›÷"øiøSøRù×ù•û;ûûˆü•ügư«ü‘ưøü ÿf -*$’E<:¬ iβ₫lư¬û8ûpû”úôú¸ú1üüpüöü\ưXưóưL₫̀ư₫¹ü×ư„₫ ÿçÿs6}̣6®¯=_$mí*ÿºưưư¢ưßüëüNưq₫C₫ ₫ü₫8ÿ¢ÿ$ÿë₫@ÿ₫GưSư&ưS₫×ưA₫ÿăLMQàÛåæÁ₫A”ă>ÁÿWÿ6ÿµ₫ÿä₫Fÿ0 pçÿxÂÿ–₫à₫lưÅü¥ûưû;üäûưû1ư9₫Ù₫Iÿ'’́ˆ*+¡×ÿØ̉¢µz₫ÿ…­FbXU®kÿ˜₫0₫̣ü¥üáúûû\ú ûQü^ư\ư6ÿÙÿ+aeœv&$ƒ{Ϙ¬QTĐƠ\¢Sÿ"Bÿ…ÿƒ₫•₫Á₫©üQ₫üOưZüưKü­ü|ưüœ₫v₫Xÿcÿ†²Àû Ú$îâÅ*£ù«=•–& V’ÿŒ₫‚₫¦ÿưü!ư×ư#ư_ưLưư&₫)₫„₫8ÿeÿ%ÿaêÿO´ÚîSNl²LPEánU¦×ÿSvỵ̈₫Éÿ‡ÿ÷ưÿ₫ç₫o₫ªưqưưÓưư…ü ₫R₫|ư₫{ÿéÿˆ ¬ú̀è‘ßmy¦ơKCˆ\(]ß₫F‘₫¤₫k₫[ư₫%ưûüóü¹ư₫Sưî₫ÿ₫6ÿ3bă¨ó?̉®ÙÓáÔ,¼­A  đÿ4²ÿ¾ÿvÿé₫ÿ‰₫{₫¤₫¬ư₫¡ư¿ưưc₫Ó₫J₫n₫ÿmÿ{ÿĂÿÂÿưÿóÔù–4[Å&Dă´ÿ+´áÿ«ÿ Ïÿÿåưa₫ÿ÷ưư3ưÏư›üKưßüÂư%₫Ç₫¹₫ÿÚ‡¡]÷J1!u5¡t |L!˜¤×¥÷ºÿ]-ÿJ₫½₫ưûư¬ûuüXüíú ûeüÀûwüO₫ơ₫ÅÿÈÿ°Ô/øÈîÀ‚œxiQÖwøÿ¦ÿ„ÿlU₫ă₫Úư-₫.ü%üæûyüÏúúÍûĂúóú`üµ₫¥₫j×#!›×5¶Ïa»¾Ëúø^}ÿ›₫t₫NÿÁ₫t₫VÿÎÿ~{₫Dÿ̃₫>ÿ|ü2ư«ü"úü4øúáøüøjú?ü[₫²ÿé"ưAbïÑ ö›C¦€Åư ÿ×ü|ü˜ûü¨üœưă₫ÿkW¥ÿÿ₫iû0ûªû`øăö+øø÷öø£üë₫[ÿè¬/ á ( F à º Œ †Îl ÿđüLúĐǿøBùûSûTưmíôÄ}oèÿg₫«ürùVøÚơÛôhó‰óDô†ô\ø—₫¿ÿ£ ü ă:NÑó)ü+ø»ôṢ0ñ"ñ"óöø üV±¦ø”g)ÿVư0ù†ơCóYñ¹ïµî}ïqú%üÖüX „´·J©Ë ôƒÿ\÷€̣îº́pê“ëVđq̣\ơ´û˜ÿ6²u¦¨¬Fư÷$ö)̣Bî ́iíơ÷øpú¹ ø §‘ES¦VO  Â₫¢ô×ñẃœçüåGçí€ïŒ̣»ưá‹Ó ” k Ó q.É₫Fùkö.đËêêbéºé̀ôi÷qư½ :D~] à!—"ưihÖ •<ú£̣ëîæă²ăïăç~́ˆơZûM >^úÊ ¥£ü,ô†îöêÙä!ăưå(äñ®ø›ú¸V™$ü&×%(#×(¾ Ï̉ø^ï-í"â ̃¿áX߈ă‹ê ïvù$Y 5À‹ô/ÈÀdôú–̣:ë!ç¿áàzß«âtä‘đ:ü(₫#<‘(/,¿'s)»%₫E- O÷îÊëéàoƯá"̃Éá êÏî(öOÿ;˜Ÿl¬äö“)Óø†ï-ê“äGàÍ̃DƯ ß›äçtđä.¹ô!âá''0y(G(¿&a{ Ttø×íKë¥âƯ¾á…ßqá©ë³îơÅÿ|N =r —‰g 0°£ôgđÀéxă4ăLà4áđâÈä ë§đËô_@ E(}$Û \*()!ó!GŸ Ü}ụ́úNèâ¾â£äËă’ê¼đÄóeüÁJ Ú]¼<ûO  iüûûô ëOí÷è æ¢êé?́Ïïyñø9üaÿ: 3Á£œ "¯#¤¢ ‚¨+üï÷0̣}î-́£èë—ë́¼ó›ơâù:“é̀ ¦ ` ¡  A ƯD¬ß₫îüDù>ô¯ôDñPđ‘̣öđỤ̈ơWôÙ÷?ùCûÿæ©ơ [ö̀\…ă½÷ H ̃r₫ëû¦öÇóÂñĐïơïSđ’̣©ô)÷‚û‘ưn¯Ø40 Ă ä 4QC‚₫d₫®ú·ö`÷ ô¥̣±óLñṇỊ̂¦̣ơóö4úÊ₫¸‡· tÄj₫Ôº³Ïd ›ùîüt÷7óPđ îí½í¶ïÅñ<ơùÆüÄá4 ' ‡ å â  ̀[R*₫uüwúQơ|ơló±đ̣́ÄññáôôGö¨ùÖú$ÿ&? ¤Ưÿ˜#å\Q‚ Gd¥ư¨ú¸ơỤ̂Dñ­ïÑï9ñbó×ơGù ư ÿ5ˆ7­á.¨ÙNí₫w₫ úúÄø_öœ÷7öêơp÷nö[÷høøÙù#ûDưªÿs•r ^³÷$“† | o‹₫zú0öÑówñ-đYđMñJóÏơăøoüÿ°ÈB)¤zÿ]ÿYù¥û/ùÙơÓøúơ²ơ9øö¿÷;ù˜øûNüv₫ë 5€ ÜÔ¾$ äs1₫úIö¶ô^̣¨ñëñ ó̃ô1÷oúơü«ÿ%”„J)!ú—Ykÿ ư¶üăúæù£ùKø­ø„ø=øiù6ùÆùû₫ú¶ǘư åüo « h$@e 0 ơ{©₫<ưïøXöOơ*ó@óóóơùöŒùVüG₫ÇÇïˆe]IỂ₫ư«ư¹úÛúLûÏøÚú]ú̃ù üûü ưCü×ưƯư₫¶‘äp¨Î @  t · ® > èõÿ>ü¬ù@ø˜öööơöø"úÏû₫zG­bv|iĐØÿ›ưÊ₫úû›üư~únưùûÉûN₫3üáưŒ₫æüƯ₫“ưxưi₫Wư₫₫ËÿQ£_U Ó· Ø   ˜ ₫„8Z ÿaûvùøiö}ö ÷÷¥ø½ú”ûØư B|#˜åË_î₫Èÿ¨ưÆưv₫tü₫¬ưưü—₫›ư₫‹₫Üưn₫­ưûưưÑư9₫̉₫`#=¶5d ÈJ å c l ²sø~á₫ĂüRù€øÍöäơ"ö¥ö¬÷?ùRûäü₫₫ØD#íÓpûÑçÿPÿD₫t₫zưŸưÔư8ưíưîư­ưa₫₫âưF₫pư·ưµưaưS₫0ÿ¬ÿ8¸vîóÅá 0  Øp…ÿÿ¦ûªù“ø÷ö÷³÷³ø¾ú?üôư gÿÉE$ơ؉(ª₫₫ûưư£ưºü¹ükưhünư&ưÿü³ưûü“ư’ư¯ưa₫hÿ.Ü/Ë5è—“   = 'FÄ d₫̃üú ø®÷«öëö ÷ø ú*üpư±ÿ<&¤÷í%[œÔëûÿä₫¾₫cưư@ưƯûÔüˆüüfư±ü ưÿư1ư₫g₫!₫eÿăÿχă‚Ø/! úå ™ÔS „̃äư1ưúĂøjøđöˆ÷Døùø£ú‹üÂưËÿwüܪUTR€ÿ±ư₫‘ü9ü\ü€ûüü.üÑüÎüjưîưêưÜ₫ÿâÿù¨±Ê¬’Ÿˆ ̉½³ó́-ÿåưŒûÀùîøøˆ÷øù@úüƒư1ÿßü×Í”¯•*Gç‘ÿÉÿ~ưXư ưBû/ü­û&ûüü§ü†ưœư)₫È₫ÿYÿºg›8£̀ûÆíøÖ´ÿáüû¹ù¢ø'øVøøú û¹üv₫Êÿq KcjxXP =%ÿsửưÇûÊû̉ûÁú ü¹ûcühưjư§₫Ó₫zÿÎÿ3PåâQaŒœ¸ÓĐw¹Ơ¬©ÿÏ₫ üûúùù øđù€úûÍư=₫üÿ#Œ#FdÁ¸₫:ÿ‹ưĂüưuûNüüÊûFưĐüÅư₫‚₫|ÿ|ÿ ,Z<i;ÉFo:‡6₫´®DiMÍÚÿ«ưWüSûÎùúùĐùû—ûƯüv₫3ÿ;sHơæv:‚ưÿÿo₫ÿưDưñüÚü ü̉ü÷ü]ưºư/₫r₫.ÿCÿdÿ)˜ÿ860œÖ^ÿ™ÈÖ/º)E[ÿüüû ú́ú0úûúü¨ü ₫h₫O9•¹|ú¦ÿzÿ ÿÅưöưÚüüĂü5üåüîü†ưB₫_₫€ÿ®ÿ!èáSÙ}=XœÛUsÑ*¡EÁßGǺÿÿàư†ư™üHü^ü†û¯üQü´ü₫Œữ₫>ÿû₫({ÿÿàÿÿ+ÿ£₫:₫!₫Yư}ư=ưÇüưƒưC₫ÿéÿú\“–ÙD¸ú²‰¥r‡Q_#úÅ´`~áÿ—ÿ@ÿ\ÿÿ<ÿGÿOÿ×ÿ»ÿÜÿfđÿ’ÿkÿw₫€ưŒüÎûû(úrú@ú=ú̃úûŒûâû½ü„ư§₫VÀâ_Ú˜¿×ü¦8Ÿ w>#_ÿJÿó₫­₫á₫t₫A₫₫’ư+ư²ü9ü üû£û„û”ûüÿûüüưáưÚ₫ÿ:‰!„ê¶¶Çy”@!ö…" WYŸ¾úfD†–¶ÀƒÁZ)(×͇díÿíÿsÿÿ®₫K₫,₫‘ưŒưfưưøüÂü¼ü‡üƒü×üåü4ưÈư)₫§₫ÿ»ÿ;¡q µe ¤× ÄTçVĂ"£{”ÿ.ÿÏ₫ƒ₫H₫ưưéư·ưŒưcưOư+ưưưư6ưJưˆư®ưèư(₫b₫¿₫ú₫_ÿ½ÿt¿Hv¨ÈÛøûôäɨ{M/ß˱˜zbO0   ñÿ̃ÿÓÿ³ÿ•ÿtÿ[ÿ4ÿÿï₫Ï₫±₫˜₫₫‡₫~₫ˆ₫•₫¤₫¾₫Ư₫ü₫%ÿOÿÿ±ÿäÿQ†¶ç=e…£»Ë̉ĐÅ«f9 Ó¦p> ×ÿ¦ÿrÿEÿÿđ₫Í₫¯₫˜₫†₫x₫p₫j₫n₫u₫€₫›₫¸₫̃₫ ÿ8ÿqÿ¢ÿ×ÿDy¨̉÷+8=@5(ÿèÈ«‰fE% óÿÛÿËÿ¼ÿ±ÿªÿ¤ÿ¡ÿÿŸÿŸÿ£ÿ¤ÿ¨ÿ©ÿ­ÿ®ÿ­ÿ®ÿ­ÿ®ÿ¬ÿ«ÿ¬ÿ¯ÿ¯ÿ´ÿ¸ÿÂÿÄÿÍÿƠÿßÿëÿôÿ #.7AHQV^ehmoqrqnjd\SJ=1îÿ̃ÿ̀ÿ¾ÿ­ÿ ÿ’ÿ‰ÿ}ÿyÿsÿtÿpÿwÿ}ÿ…ÿ’ÿÿ¬ÿ»ÿ̀ÿƯÿñÿ':GWbmv{€~|vpfXN@5& ₫ỵ̈ÿåÿÚÿÏÿÅÿ¾ÿ¸ÿ±ÿ®ÿ«ÿ«ÿªÿ¬ÿ¯ÿ²ÿ·ÿ¼ÿÄÿÇÿÎÿÔÿƯÿäÿ́ÿđÿøÿưÿ !&&*+..101./-+)($  ưÿùÿóÿîÿêÿäÿßÿÛÿ×ÿÔÿĐÿÎÿÍÿ̀ÿËÿ̀ÿÏÿ̉ÿƠÿØÿÜÿàÿçÿ́ÿđÿøÿÿÿ  &+047::;;:74/*$ ₫ÿ÷ÿñÿëÿäÿßÿÙÿƠÿ̉ÿÏÿÍÿ̀ÿ̀ÿÎÿÎÿĐÿÓÿ×ÿÚÿ̃ÿăÿéÿïÿóÿøÿüÿ !"""""#!  ưÿúÿöỵ̈ÿïÿîÿêÿèÿåÿăÿâÿáÿàÿáÿàÿáÿâÿäÿæÿçÿêÿíÿïỵ̈ÿơÿøÿüÿ  !  ₫ÿûÿøÿôÿđÿîÿëÿéÿçÿæÿåÿåÿäÿäÿåÿçÿæÿéÿëÿíÿđÿôÿơÿøÿûÿưÿÿÿ  ₫ÿüÿøÿ÷ÿơÿóÿñÿđÿđÿîÿ́ÿ́ÿíÿíÿíÿíÿîÿïÿđỵ̈ÿơÿ÷ÿøÿûÿüÿ₫ÿ  ÿÿ₫ÿüÿûÿúÿøÿøÿ÷ÿơÿơÿôÿóÿóỵ̈ÿóÿôÿôÿôÿôÿöÿøÿûÿúÿüÿưÿ₫ÿÿÿ  ₫ÿ₫ÿ₫ÿưÿûÿúÿúÿùÿùÿøÿøÿøÿ÷ÿ÷ÿøÿùÿùÿúÿúÿüÿưÿ₫ÿ₫ÿưÿÿÿÿÿÿÿ₫ÿ₫ÿưÿüÿüÿüÿüÿüÿüÿüÿûÿûÿûÿüÿưÿüÿưÿ₫ÿ₫ÿ₫ÿÿÿÿÿ₫ÿÿÿÿÿ₫ÿưÿưÿưÿ₫ÿưÿưÿ₫ÿưÿüÿ₫ÿưÿ₫ÿÿÿÿÿÿÿ₫ÿÿÿ₫ÿÿÿ₫ÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿưÿưÿưÿÿÿÿÿ₫ÿüÿúÿúÿûÿûÿÿÿ ÿÿøÿöÿôÿóÿóÿ÷ÿûÿÿÿ ûÿöÿñÿïÿïÿñÿ÷ÿ₫ÿ  úÿơÿñỵ̈ÿôÿúÿ øÿîÿéÿåÿåÿéÿñÿûÿ  øÿđÿíÿ́ÿïÿôÿưÿ  üÿñÿæÿàÿÚÿÜÿàÿêÿøÿ#$ưÿôÿđÿđÿôÿúÿ  ôÿèÿßÿÚÿÖÿØÿăÿơÿ&12)îÿ×ÿÈÿÀÿÂÿÏÿàÿöÿ !'" ÿỵ̈ÿéÿåÿäÿéÿíÿùÿ -23-#₫ÿíÿ×ÿÏÿ̀ÿÏÿƯÿíÿ(+-$ûÿæÿÙÿØÿăÿèÿïÿöÿ ÿÿùỵ̈ÿăÿ̃ÿ×ÿâÿèÿúÿ'02 ÷ÿåÿăÿèÿóÿ ! øỵ̈ÿëÿ́ÿîÿñÿñÿíÿäÿäÿâÿ́ỵ̈ÿúÿ !₫ÿäÿÑÿÑÿĐÿçÿ÷ÿ&&"ûÿđÿíÿăÿ́ÿîÿüÿúÿùÿøÿ #úÿöỵ̈ÿûÿúÿÿÿûÿëÿäÿ̉ÿĐÿÊÿÏÿàÿåÿüÿøÿ0>OCJ%÷ÿûÿáÿøÿ÷ÿ@HN¹ºá< îóû<ö{̣±î΅²é6çç†ëbơµ§‹(¢25$-n·đràÖ¤Ö§̃ưë4û:L¹æÅ ltÛPóI‰ú8̣êUä}áDà ásâ¤ç ñÿC¿"ă198™5¸(®7₫®é'ÜL×Ûµæ\ơ“:q”üÆ ¨ ú X[₫,÷‰îæb̃ÛØ§ƠRÖôƯŚZ•;/>¡A­8́$& ËñK̃†ÔâƠÙß³ïBóØ   4 E 6 ?ÿƒơSêàqØÔỏCƠ·ßPñS  $2:GPEU4~û'â)̉ ϨØtéÁü*Áñ’ Ÿ Q öp©™öBëjáïÙvÖ̀Ơ-×å̃Ó́}{).̃=u@¸5!èFí½Ü×èÜ´êxúV r³B< ̣ ă ¯Úûfđ¹ăCÛ«ƠíÔYÖ*Û°äöw ̉%9"C\?7-æœơ à Ơ—Øyä÷4*x#%Ù! ºrÿ·ö®ë‘â‚Û÷Ø8ÙÛö̃÷èùdä&F9¥AÑ;Ü' áïóÛ@ÖÜú́†ÿư?ŒÇ̀xE à)ú†đç*àÑƯû̃;âtäÓäeêGö[ l"¡6Ú@.<~'' ǼlØHÔÆƯ³đcÍr† # ûÏñ•è˜áñYßÔâfåŸåÓçđ÷ÿÔÂ-́=A¤3F¡úá„ƠüÙ¶é₫ƒW¼t5 ®ùúÄñ\èmá–̃`ß·â•å£ạ̊èỤ̀¯â1Ú>M>,-3¼̣çÜëÖ±à óœüZhR =Fúƒđè~áÖ̃0áùäªè-éaéûï₫e*&;,>n1'>÷2ßµƠHƯdđ›Ü""{!*âç>÷ế`ä^ßc̃†áæ:é™è†èïùưn`,Ï<?1ûæơ6̃̉Ỡ¯ñ¦f6"M!Œñ ơăêă¥ßµàeä;è7顿®çÎđ ¡2O?|<)ƒ í́fÚ(ØZåëúûtÔ"¯¨i÷_́Êäjáâùæ)ëếné¹åêưøđ“)Q;h=/M»ô\ßÚ>䬸« Ed!?YV.ø€́+äUàVá„æ‰́ŒïíDé́ƠùBC'88¸9Í*´Ạ̀¦ß·ÜèưuŸ©!c2ô=ê]ă-áYă(è%íĂî¶êñçÂîƠÿ®/;Đ5H!́éwƯ»á ̣S) —¡è(ùï]çhăZä<è$í¦đIî©èêÁöñ 6$Á57‡' fñÔà·á°đÙ̉™!†́÷Lö¿í¿èæ?æ×èåë°îÓíIê0íFú^Ø#³2ö1̀!Ú©đ¿â#åô_yÚ§c†MøÊïtê2ç‹æ’è'ë/íÁëzé5ïÏÿs*g4₫,₫•üóèSăkíb²Y6úüóözóđ̣ëè¹çüè¸ê'ê£́¡øO Ä ./÷/j ¨Ïđ÷ä£èƠø© b[I7üuơó`̣)ñhîë²éøècçôèáô¤ “!×0é0˜Y&ïüå0́yưh©ÿ"»!ú8ö*ơºóñíóéÀé̉ë/́Ñ́ ö2 ù̃-Ç.2#)đ_çóí1ÿ°©QX r+ùÍö˜ö×ôàđëkçç¡éë¢îÉûé¨$Ÿ.»)~ù₫#ï°́\ö±̣= }Aÿ÷ûxú³÷Ẉ¯́«èMçHé́ó¿ñv¹+­-q 2ó)íöô”-{ …Ÿ₫Pü³ù¦ô¬îë¼é¦éëêë́LøNG&±.Ç&}ú;ïùó‡ö ú mxEwưLơö́¥éÑêD́›́–êñçÊïpØ"Å0K*₫Rûï,ơú 4~)¼1Àbưœ̣¥ë̀ëŒï=đ¼́́çå4íƒB!Ü-`&M₫Đơ1û7Âr¡  8 ¤Åú‘ïëë)ï&ó̃đçèƯâHă³ï: M$3+ùñ ₫₫ÅúTÿÈ‹KXË U ¿ôÜïAôĂø>öôë…ámà³çö2 ¿ ï#KÎ$|₫Ÿü·ưî₫ b  â¢ü,ö¨ơă÷ö đƒçËă©çVí*ø‰ ’a#ÙiDCû¸ûÿr_¯  r ü´ö5ö÷Xô™í@æ|åsêæđŒÿ̀)#tưkú0₫̀y¬ ü Œ Äÿµ÷æơaø$ø ̣éäbèØî4ö£;$3ĐùAúq₫C ·ê Bưú̉ơo÷ú{ö®íåûä́öñáü ³$Ù!BÂqü•ùü¹₫º…á ¶~ÿÎùºøúøHñÄéNå²èhí®̣€ »(>Z c©úÄúŒü ₫¬AIK¢₫{úTú.ü·ùẈñ́̃é©è ́Ëí¸ø´©+—$y°ưÇû%ü¯ü+w ,̃ wÿ>ú%úüîûÉơ·íæê êé‹îÏđ•"œ+(‰ÿ$₫°ü_ü₫ăÊ9Âü¹ü~ü;ûÔ÷Óñ—íƯêØè›́ïh÷´&)Â"I[e₫dûáûüün0ͳÿZ₫æüHûºúKöñ4íAè)è²đẸ̈Üú÷‚(¯ Ôïúœúµ₫Ë₫gÂî­ÿ"ưrü•úôéï¡́‰ç“êÈó¸đ¢ù[L*Éq hhư¦ü§₫=₫t  nu!₫ü@øưóØ̣gíÉäÂêV÷ ñq̣,é ”̃ûûư6ü†qöY+›ÿ_₫ĐüÑùCö„óí çßéÆôŸñî| 1)³!Œ ’₫¤Â ûù°ăư=ïuˆøöôơ[đüè´éḅụ̀‚è̉úf#(Z₫ÿwÈụ̂ư‡¿¼a¦ú²'úûøụ̂£çFé-đ¸ôẾæº ˜-/©&n«ÿm÷ª‚=Fq®ír₫«÷vúâø-îè%ị̂ÓóÚåç¨~.÷«· “ü—ø¶® ¹0G·°ưĂùPư÷êÎè ï”óøótäNæ+H,í mADø øÈ 9‚®²Ù́ú=ûÿÔô=ëtéáîƒô2ñtâ[çDÉ)VÙ  }øÏ÷! † 9 ˆ˜Î É 4ü¯ü1üơŒîâêïôèîoè›âei'Ñp E[ ?üIôGÆ î fr • ä₫Oü+ü÷{ñ¾ë¶î[öjïăêââNëa"&U }á‘̣ ûR Ă ó -’ü«"ú¸üÔùÚöé́*ê«ốơJííé™ß2₫%Àm® °üôÏ C ¸ h g ₫oưü5÷³ơBë÷đÚ÷Xñîºéé̃Sû"”q< ¼  <ùöë¶ 8·¥@ ±₫}ưæù¤ø;ô²êvö(ú@óÀíùçµƯ\ùø1ç¾µ € ÉúGöF¼ ½ } e ñd₫û ùÚôiíçöØûƠô"î‰ç™âÀéÅbu{̃ € Iơüû3µŒ ° ?§Êû¯÷‚ùḅó/ü5öóºë®åÙáṛÑ=A‘ æ ‹ư®ó±üØÇ’ Ïä†Éœùú`ø̣̣ø5ü÷ơüđ£è¤çgá±ñyˆ-6^÷ü₫óưà₫úW u ¬µS0û*û<ùjôú₫¹÷ĂđøéçŒà­â˜ ZđÊ k=̣lö̉ûH ¯̣* kÖü₫ùû÷ïú–ư7₫2óëæMå¹Úæ‚1__i )ÖûŸï«ô¬üƠ ̃ ! µ³ˆO\ưZ¼üçøvû₫ÿ0đpç»ă™á’ÚªàÔ ¶R' sÿ£đ9̣fúÆ  £zÈ4wüíX₫eúü ₫±ÿ¡ö³è—å9àƯƯªƠ錀 ¤ 1ùeđ¼ô¼IXvJÆzWÿÆ•ÿüüÿ[ÿ‹ô}ç ă(àÛ̃ĂÔbÛ̉R ï 2Ùó©̣êúƠµú‹Ü+ + öü{úÿùî]ä3àßÜ7Ïúå7 ÊY ¥ô‰₫ăơañv̀ùa@" *È#ûwư³Éø¨ñä@ádàƠÙ}Ơæ×\ûg7Wp ß ½₫/øÙùàÎỊ宾N øđ₫…ÿBÿ†ưúùhñăæâdß+̃ÜÜ óÔ†µP Ê ù T;ÛüÁ j÷x$rÎ :ÊÓ"ưóú8úóơÏñ<î́Nëœé4è÷ëḥiøAü˜ưÅ-\  Û ơ P GHL¿ A m k ˆ ²b?æ]×_×üyø°óêîÙëÓè•æăäíåÎêeị̈óé÷üü$’Z Á nVö^5 z ± u Đ Ă Ă z ©ÿÀûw÷̣́pï^́&ẹ́å÷â(âåSê²ị̈ô3û‘v— J Cu'Iăk¸ D âue·/̀êr#xü…÷œ̣Đî¸ë:èÇäâ>á¥ắçíṬ+ù ÿMº‘ôi˜}¦¾ z ;7(?¦"£E:Uưù‹ơúñ±î-ë8çîăêáájä“é>ï5ơçû1¸ &FR{ú±™ ’5> ơ¥Æë-÷ư4úöóđ»́_éDæ-äăăïǽ̣ÇøÿÿÜW 3n!ÿÜsÔ a ~ c®—†‘JÆ ₫˜úíö`ó×ïÉéèøåäă_ăËæÝṭïø¶ÿwH À6)<™8Ü® t €†l¬·Àê§₫·ûÁøxơ&̣«î…ë‡è)æ8ä?ăXä­èfî²ôû¡äÑZ3ßNM}¡s- *;(=GĂÁ m±fsùEùoô1̣MîëF鑿käUá.âöéfôƠöRVz síå"I˜6•Ü ® ­£g÷9 3 p w 8›úVöPïè(äíá¯àáẽẴƯÈâåèñg ÿ̉Y %*¹|,  ¬₫‰@Ü ß`ư pưrưX¼ˆü¸ünú•ơ´îëæÍæ4ă°̃¾ƯđÜ̉̃¨Ư0ßEé5đn%"—&3Ÿ/Â4-'Ÿ;›ÿb÷`½Sª Úâ Ÿ̃û1₫=ü5ưºûœöBư%÷ùñ̃í/è?æºßûÜ\á<ƯĐ̃̃ă™î,ø¯m+s0æ:/6'5ë! ” Ôú²ú&÷Aê ô*  Ư !÷ƠüÁù₫ơ¯ơ ö¿ø5̣„ë€́sçéá£áÖ̃Ôáºß!à¡ăÚđó ~-©1e<±9Ï:å/‘ ±ø&÷ùñµûÊ îº å  k ₫[ü7üØơ_óåđó¹đëZê²êTæåă•ăză¿á äè±đKúP 3ï7>s=#óZY ; ü‚ñEíßçæ¯çóçàêôéEë„́ÿåWåÿäèjé́ïñ?½*ä1<:?ÜBˆ6p Ă¯ơǵ›â.èmö²øƯ₫÷Ü ±…i ưôñ́Øé̃é»ç5é̉́Ûëë#ê:èåéÎæ$ế!ï ô4 *%X0}9;ä>19Ï"=‹$ù²ïÿăWâyî ô8øaÿxó ƯĂQ ÿö©đ¼ñ0ê_ä™ç4é«́úêúåÛëù́/́-îï1ú ‡'60‰6á43A-¶̣ O«ö§đâæ­ăb́%ó̃öóû€è ‡Ö  (RÿĐơ"ôbñêIëÏêÑë…ïêêúMñgï*óCô‘÷øûNc;!£$ƒ&º(R)8#<è ü»₫Eöǿ#ë‘ïúđḲAôaøơư:=T¢œ¾ ”zưÁù>óù́cëÙíñDñ¿đñ¾ñ ó]ơÓö"úhúCFƠ—à!¿çÛ ˆ¡öMóó-ñ ñPđ;̣Û÷Lû}ư>ñå ® {°7ưđûờñûóơøô&ôeđỌ̈Œọ́¼ô6ööæøLÀ¨ xhŒ̣Valâ ®ơûoùÔöHôbóq̣$ơøñùöü>Q#M Ù •âvüúŒ÷ö¸ơ°ơÊơơ\óbó ̣¶̣°óÁơ#ö ùåC m – 6b ‰#/ºæ£ ưmûú÷iǿùbù–úrü‹ưÖÿÅkç2a¾*ÿæü.úĂøú÷l÷êöÔơQ÷5öêôoơ^ơ8ơ+÷¿÷ÂûºÛ¸å Ê ¹äT ́ \ë²p₫üû»úÓú–ûYüÉü%₫eÿ‘@D)‡G Ä₫÷ư*ụ̈ù!ù/øÂ÷¯÷§ọ̈ö,øñ÷çø¸ù6ú3üü{₫ ƺ̣C™M¸ºg*öâư]eƯZŒ9‚ÿÿJÿK₫§₫.₫)₫Ø₫n₫æưÏưâü˜üXü—ûpûûú û$úÉù’ù÷øîùúÊú û©û$ưzü:₫Qd«!û´* ; i SÜ|á8Îû¢ÿ₫ÿ$₫)₫ ₫›ư‚ưÎüxüÆüzüúü.ứü=₫₫©ưvưaüôüư#ümü2ü6û²û4û›úûRû ûdü©₫³ÿc÷¬>FSióâ  · Ơ›«RN aÿÿw₫₫Èư±ưïư+₫w₫¾₫¸₫₫̣ưăư@ưôü³ü!üëûÉûsûûđû~ûGû¸ûKü}ü¢ü'ưư₫U₫ç₫³³•ÓƠ+½ÙĂeqnRæ»é¹`Á¥H¡ÿAÿh₫₫²ưØưØưqư‰ư“ưdư´ưÇưLư¶ưlưĂưư>ürư{ü1üVübüüüưü/ưư…ư₫₫Hÿhÿ[aÀ|6]·¦ưfÊàH¦r°ÁueÔ€ÿ½₫¡₫đưe₫yưUư₫Üưưlư"ư7ư¼ưü\ư3₫gưP₫3₫I₫t₫Â₫L₫₫Öư“₫ëưư_₫.₫öÿ´)¶ë´ùËÄI©àIFÿÙÿ±₫̉₫c₫«ư1₫/ÿóư=₫~₫»₫²₫ºư%₫₫v₫k₫ưE₫₫Çư˜ưØü₫M₫ÜưÀư™₫¾₫¬ÿ›₫dÿ<~‚âZcñê±—"éÔ¾x’îOÿù₫K₫H₫ÿAưA₫Aÿ”₫j₫z₫}ÿG₫ôưÄưåư¬₫2₫ ư¦ưÔüsư¢ư~ư.ư2ư¥ÿÅï₫<‰Æ»Ç‹ơ”Ôn”?-•ÿKÿưÿ₫Íü3ưư4ưbüúüæǘûrưÏüWûzû,û›úJú“úøâ÷‚úª₫Œ‹X/ t Ç 73 ü ‰ ¼ÑT¶₫YüÁùwù—øFø÷úüưă¤PưbÉÛÿÍưªù$ọ̈¶ï›í™ê2éPëñéÛđß+“ G%+"Ú(Ư)´!rơi ;₫ówđè̃Wă³æắ øÅû$O /Œ$µ˜ ,₫ø×ñưå ăßÓÙ¤Ù÷ƯẽgôŸÓ"-5̀1Í:B54+˜!‡uŒí*æÜÜÍå̉æ×ÅƠëáeñ^û~gƠ¹!<÷ Óü÷đÄá ƯuتÏ̉­Ö›Ö©æÍ ¾w;P;¥> Fë;À/æRæB̃ŸÚÉ&ÍÔØØ‘å ơ-ÿ°Á!h*E!å!© ×ü§îẽÀ×íÓ̉9ÑĂÓ%̃Çà°ùwË0úE<ª@ÑLÊ\ÚâÊåBø̉Û˘›'ûưú{ơ!äÜèƠèƠØ-ƠH̃/èÁåuĂr4C*8ă:‘49'kJû¼åbÔ¡ƯlÖœ̉ră­ëộ₫! "lD †\+ɨùdđ±́*ăÜÚ—ßÀỮØă¥é₫ë(ư†Ç'•;̣5/k.$^ÿªùV́Ùà²àIÛcçÇó„ø.Å ñ#lÿ* r•wù®̣¨ḯŒă¸ä@åYä8æíÂí—úÜ%!˜4W/)`('} xư¸ø“îç̃ªä+æâníøÔûPˤư ]h rđÊ₫Œ÷?óÙñLî*è8èêéTê¤đÚñ" ÍÅI*),î&¤&ưxsùçôYæä¶ééåë7÷“ú₫ÿ—× Đ ¦ R 5 ™ Úÿưø!ö¿̣ï£íœè2éíüë¤îÚø8 ùơ*'}$¶"Ͷ 6éụ̣́÷æơè<ëùèíḯ÷MüT M 0 ‘ đ®ÿưŒ÷wóYñQî&èœè₫́'́¤́~ûS À V*4#4 . @—Qÿ/ư›óë?̣2̣=ïMø‘ưư&·)ÖûF\ ÿIßû¿÷!÷æ̣ûë`ë‚ë[́dëø x\r$®—x¦ ¨[ÿ̉÷­đ4÷÷Ÿơ_ü)ưÿÍ0̀„ÆÎP₫æüñươù¡öçóíï}ê¸çuêé¢ëÖ₫¿-  RP ÿƒøø\ûÈúư±­¼¦y+$Œư+ü[ú–÷ƒó/ïê<ç€çøåÄèAúÉf†56 ^¨¥ ´Nÿvû`₫#₫CươQ«méáÿyÿđưóư|ưØúÄù¸÷ọ́Dîïéæ™æxåéơûT₫ª¨Ñb÷ùD …k)¤ư‰J%B˜yJÚøÿ4ÿư;ûûiúùø÷`ơáñ„́uè\èØæ™ä ôÔ₫ºÿàÉ̃*;¯ ZR2ÿüüÿ=/“ €Ă Î máăÿèü–ú!ù)ùjøñơ¡ôC̣´ë¹çIè§çAăïr₫º –ñ‘º̣úÿ´ü~ûlª¼æ6 Œ?Ñư®ưÜûàø ùa÷èñÁđñê#ä­åmåÓá4́Lÿw „ÎÀpù°̣ÿÿÎ₫“üƠ È } §¬©ưNÿ‹ÿzûGûRù₫óéíRç~ă´áåá̉áệc€d£¤É €ÿ&ưƠr₫Û ² y‹ È3üưÿüHù÷Êó¨éMä›åÉâ:̃æï@Ù(N¤í U₫¸ø+±4S êi ¤q üc$ưXû₫₫Î÷}ô"ó/éíâdåùăHß7̣Påí³æZ?ü̉ơ«ưmư >²  ú’»qFÿÂ₫Ô₫̃ùó¹́ŒåjáßáFß-ăÉûm o/8  Âør÷.§ {c€ ,¯ÿJÿ?ÿaÿPmïư´øđñaêäáâÔá̃îÆu +¾̃iiÿ¥ưxøæüöy ¿\x* 7)₫`₫~ư%ư;ÿÔÿ ùúñ́±ǽă¶âÚà'ë¤ë£]~³rù5ø÷ÿûJNIW? ₫´₫û́üô₫–ưP₫íú ̣égă¯ă:ẵ¶ç?;2ü]üÇø¸̣C÷.₫D@ Ị̈ zÆ€˜üÆù₫ư¸ËUüYöṚ·ëÿăàÜßvßê'´€V§Ô ¿üª̣©ôÿ ñ ăË@₫Y₫Jư®ü…₫ÜùÉî<æéäđăáßäë|F G!CưBô!ô’₫›²m®Ń ¯Eûâûn₫È;ÿ ư€û˜÷íđ§çHă<ă-äïäSï¦ïy— Î üŸù8ü›û è:™ Ï G ~œÙ₫yüb₫.ÿI₫–û²ơ~đ‘ëèµå­ăĐâß́Äü@ đY³} ¾+ÿnư2ÿe© v Í Og,̣₫œ₫qưư©û÷Îñ ́ßèöæËäAăĐéC÷n“$e W ‚á₫äư>u G Ă Å ` RL¸L¢ưñûÈù¸ö­ñïë9è†å¨ăâăèÂơbG÷ø=p ’jD¤₫ˆM«¯ † ί5¬ư+û¦ø–öÂñế¯èƯäfă±á è„ô‡°¼ [×— ë¨ôyưƯ₫Ç Y đ ß Å ù /büAúhø×ö‘ñḿ2è¼ằáàÔç̉ơV‚X“»& QáO%ưÿ<r{  - ׸íd=ưPúø?öOñǴXçDă™á¶à4è ö÷i=UæÎ Y/zư<₫f§zx  ® àæt5ü®ø®÷­ơlñ6í2è(äjáÑßèàơƒ×I¾7Đj `VÿPûưsÿÊ¥Y ̃ À½.rÿ ûkú®øiöḌ̀́Óè*äåá˜ß¼å*ó…U¶ä$X fÂrûûüóû6 ̀ ß+=kÿ†ú:ù¿øÄö]ô›î¾êÊåăàâÿíˆư>A’  °.  „íưfüÛûCÿá¼ ñ Í0ªÿê₫>ü¥ûú´÷¤ơTđ÷́ÆçÙăáõè?÷‹ Ú"̣!µà  z₫6ûYû³ư'PŒ 0  /%Pư`ùÚ÷únø¬÷Êñ́“é‹ăăYƯ=ß{ïéè)ÿ+à#lơÁp²üƒö–÷úg ÑºÖ .¿₫°û úJø³ùgùœù¬ơgî.èaâßJßÇÜằø¶ƒ.ä6ă2y#Bûừø2ó‘̣ ù-Å ₫Đ:¨¹ăú“ôØóAó¾øûÙùỌ́Óè1äÏáá\áÛå!¶Å=Î>Ñ3­× ÜûáöØđ¹ñ‚ưJ ¨û{qKÿªüđơđñ0ñ"̣±ú0ü@û̉đçÈă¨âJäÀâđÛóáÑ₫b ?¢Bp4×Ü Lœÿ(÷Yđđ̀û²CH6 Ă₫¥øOñ½ï…ñKøơüvúeóméăä;ääoăx̃ùÚRñ |5_FŒ<ç+XNÜWÿ-ơí†̣ÿưI ¬Ù 7#0ưè÷yñªîµóCú3₫°úẹpëmçiç[åfàXÜwÙµñè½3¥Eư;0ÑŸ›ÔôñêQïú¾ :I¾₫jÿe9ü"÷µđṿ÷˜ü^üÏöïÖé$ç ç¨âµß6Ûûáÿ¢Á;·BN<ă/‘²7 …Öóưêsî°ó₫m+nû²₫"ÿVÿƯøiø„ökúTûÍø·ó́êçoä:äkäüâ<ăó é&;Ù=6¡%¨đ ü!ôäï’ïñóËö7ùâ÷ ÷èù½üë!^jäûÍú£ùđùæ÷ôúñlđßđ{đ@ñ,̣†ơPüo ñ)Ws^#5 ¿ Âà×ưsú2øª÷÷×ö ÷uøLû1₫³ ' 7mˆÿa₫zưÚû…úäø÷ö$ơ.ơöE÷0ùäúÎü›₫\¤/Iƒ @5«ë; Î rNƯî₫cư¬ü—üĐüưứü‘ü^üüœû¹ú_ùö÷ZöôôƯó-óó›óùô÷œù€üMÿë¡&³ é l /V&© È S u  ơºA»Aÿ$₫`ưœüƯû ûjúú×ùÂù—ù1ù´ø=ø̀÷†÷1÷¾öEöLöçöø›ù,ûùüÍ₫éBÇeÜ  ˆ+va Ö ² ơÿ‚Êÿÿ₫1₫̀ưXư4ư.ưWư\ưưü¼û úXùÿ÷½ö°ơîôdô!ôCôúôVöYøØú~ư#܉ É >±>3 ä ƒ 8 Ö`Ùj'3ƒÿÿŸ₫1₫¾ư*ưüíû5ûiúbùeøˆ÷ăötöØơ!ơHôÉóôAơ]÷Ôùjüâ₫'b—ä#  ~ ;IÅ Á i Î !‚©y˜ørçÿ/ÿe₫®ưư‘üÛûÍújù̃÷„ö•ơơÿô ơ2ơiơÂơnör÷Øø‰ú}ü²₫|ïLu - T  † Û í î Ü «XÓ;¢*çÿØ₫₫VưËü[üüÈûûZûûnú—ùøa÷^ö•ơơ­ôôưôö«÷®ùËûăựÿ8— J  /_¼ Œ & Ï ¡vGº‹­ÿç₫₫=ưZü”ûưú}úú`ùø¹÷çöVöööWö·ö4÷Đ÷Áø ú¤ûgư:ÿè­u7é N M ¿ ‘ ç ă ¬ _ÿœ&«AóÿÏ₫ÜưưeüÏûFûÎú‡úiúyú•úªú³úúú€ùù³ø¤øÀøêø(ù ùˆúûûƠưÓÿÂ} yƯB „ s æ Ë  û £7Ïw¼Y$ÿ3₫‚ưưĂü„ü.üÂûTûû̀úœútúZú9úúúúú(úHútú¤úùúXûưû ưQ₫Éÿ2á0…Ó " ̀  Ư B X 5øsÙwÿF₫Jư£ü üÆû‹ûiûXû$ûøú¿ú¸úÉúÜúùúèú¯úúiúNú^ú ú$û«û:üæü×ưÙ₫D´6­ă Æ  R }ỴĐÓÏÚÑÿÉ₫éư8ư¼üüwüYü/üüñûƠû‘û5û»úRú+ú:úúûlûéû`ü¡üáü.ư¨ư?₫Bÿ]«J[åîGGË?Ơ 2 f dVR'ˆŒ˜₫øù‹øƯøpûÂ₫ÿü ûÂûñüü¦únúíùúZû@üxü³ûÏú,øøÈôôẹ̈2ô—ûĐÏ­ ü ^‹$ ̉ă¯FÿùƠôªï½ñ¨ô.û ^üaỊ̂­yÆûăơ×̣»ñêñ{ññîËípê0́̀ëpñ-̣îùæđÀ3=4D4ä!Ă ùóJîÏñÓëªêaå#è×đû3– Ö pcT« ¶ l÷øî0éĂêđ¨ñó¹́ëèå,êDíó›÷)ûh Áf9¤EôMƒ?³(³ømñ2é́må<ăẵá́áø¾ ØRÁ Eư÷F á l %ø6́`é™éÓíÿđóï‡í éèèuëGïøô‘÷)ü‹ ‡6äC£L²>É)ùÀï8èÁê+åDå˜àèäîíÑúƒ wÜî|µưÍŸö—Åú̃ú~÷g÷¼óÔîë]æRè‚ẹ́îúñ·̣ªô5óé₫Ö́'¬=HF3DL.w¬pöZíˆíAë2ç~åøâ†́UơÆR ê’ ̃ñü₫ú[$)„_Ă_>ư÷ î[â~à3áÄè»í‘ñíñpđĐó›÷ Î[7K@C4®a ‚ùAôËëưíóæÛçkåëhơ” Ü ‡ûưùhü10µjNË, ÆÚø·́ă›à_âöéöïêôíöƠö;øún}ö  4¿:Å:*̃ÿÆởï‚íÔï£́´í©ê³đ\ö(u Å̉ưú`÷Wü²—¾ó À;Q§øÿë–ăØà0ä́¢̣gøùøúú“₫Ñ  Àá)Ă25>-• ¥øsñÓé&í]ëÀîÑíƠđ—ơû´€Yœ₫<úYü‰ÿỤ̂.x±|Æû7̣^èïäºäª́¢̣¿ú)üE₫̀ü©ưÿ§n*s.-0"¤ó¤́êNîîỊYđFơ§÷±ÿMU Íưyú®ư Mîö `;Ó¿ ûóÚéêKđ8öûûüưÄÿ@ÿûÿ.…¿ ñ (=+G!S¨Tó‡́j́“ñ_ôˆ÷ơ ö-öTü$fW8ß₫+û¸üÿñ&Η̃ÿÙưœ₫É̃œÿfù†ôêîïzñ@÷œúư)ư·üoưư4ÿFÿ% ¶#ï'–!îú˜óLíH́‡óö÷ưeûû{ù…üƠÚj¿o₫Âø­øxúzVu‘ư ₫Óü¿₫“ ™ÿ]ûÍơƒ̣«̣~ơ ú}üÊưäûăúoù7úùû<ÿ-*6¸̉"™ăA^÷Đđeđœơúpÿÿ˜₫üưP₫ëñÿư§ù_ùÁúœÿT€Ä³Iƒ₫V₫ÿooÿxü:ø/ơôö§ø9û;ûWúeø^øù×û^₫́ ïD( y6~ …ưÎô?đ}ó6øœ₫Ü&̀₫ưư-₫jWáÿÀü{ûúEưHí\‡₫nưÁưwÿYÿ|üCùƠö”öAø‰úÿû}ûĂùé÷÷ùWûÿưÚÿïv9TÖ%! úüợ̣Ùö…üàÿ€¼ư’ûû+ưZÿÍÿ¶ưñûuûIư4J‹·́́ưïûü}ưBÿËÿ…₫₫û9ùÎ÷ô÷œù,û³ûÍú!ù`øƠøWû–ư×UÄ‹`̃ Óüzô|ñơơ‚üvS·ÿäû&úWû₫₫ÿe•₫µügû¯ü ÿ*OÉ€ư¦û ünư9ÿ€ÿ1₫lûÑø÷1ølúËü:₫Áư`ü¹úªú‹û–ư°₫˜ÿöÿ£̀ÏyÇúʼúUôđóAùüÿH:S₫ÂúŸùWûëưĂÿ˜ÿíư ülûÓüoÿ:-ÿ>üKúûư±ÿ®ËÿôüÔù₫÷6ø¥úqưÈÿ£ÿ&₫HûèùÍùüG₫[R·î ´”“X Ïÿd÷¯óVö,ü‘×9ƒ ưDúÚù´ûÉư;ÿơ₫₫2ư£ưö₫üÙØÿvưcû#ûSü₫-R₫oûÙøÇ÷Àøÿú‘ưß₫Đ₫Jưîû3û*ü¹ư±ÿµÈD‚ Ùưă…\–₫g÷Tơö÷Åư&*3Á8ưJúyùûnư„ÿ!¹ÿ¶₫=₫‚₫qÿCLcÿ̀ư’ü&ü ưC₫5ÿƒ₫‚ütù9÷‹ö@ø6ûT₫đÿÄÿ6₫®üOü…ư·ÿ²¬° ª ˜ ̃!ñ Z¢ø ơ˜÷ ưÆ;úÂi₫)û8úzûĂư–ÿ#mÿI₫œưĐư»₫ŒÿµÿĂ₫7ư£ûûúwûçüc₫é₫ÿư´ûCùŒ÷Ù÷µù×ütÿíôÿ§₫7₫¥₫̃ÿ:^‚â wŸñ¨ ÿúnøfús₫³ëZç₫ñû¶ú,ûÜü’₫¨ÿªÿÿ₫#₫¤ư§ưåư₫˜ưĂü®û2ûiû«ü₫WÿDÿ#₫÷û"úùåùÑû—₫µâ|#ÿL₫I₫ñ₫[ œ‚D Wt­{ ¶®©û­ù®ú%₫ƠåSÿÚûúú üs₫z {ä₫uưRü!ü0ü•üŒüƒüOüªüoư·₫ÔÿEŸÿèưƠûúªù”ú¸üÿ÷±VB ÿ2₫äưM₫iÿ‚°Ç 3¢¥ "xưú÷ùzüxÀCK©m₫öûøúûư—₫ªÿÑÿNÿY₫ư÷üĂüügü üâûäû{ükư¼₫áÿ¯¢ÖÿQ₫Âü†ûOûÿû™ưGÿÅe_›‘ÿe₫}ưMư:₫îb úÍ́è Qÿúƒø-ú]₫®Ăƒúÿ~üˆú<ú¬ûŒưkÿ5Cmÿ₫’ưư‰ü_ü=üOügüŸüáüUư₫2ÿ©ÉB½₫üJúú‘û₫±G[₫Ú₫ƠüÊûUü₫‚;́ /14Ó ôy₫¬ú«ù*ûR₫‘¢̉6¯ÿ1ư¿ûûœü(₫©ÿ„̀ÿ₫yưˆü.ü+üüûüYưhưzư°ưx₫Ùÿ”(¹×₫vû3údú:ü|₫_ñ:ÿJư®û^û“ü„ÿÄœ ±Ø ÷Ư»ü²ù½ùüØÿ° ÓÊ₫bü.ûûưå₫Iç§ÿ€₫‚ưßüü¤üÊüư0ưmư½ưr₫‚ÿû`F œ.ÿ üÆúeú…û²ưíÿd‚s₫Ùü¬û§ûØüaÿâüÊ l ö øĂïưÇú+ú̃ûÿLi–!₫ƒü=ü ưz₫̀ÿ¢%ÿ7₫{ưưÏüÀüƠüøüCưµưm₫XÿhTæĐÇÿY₫.ư§üÙü§ư©₫€ÿÖÿ¤ÿÿE₫¢ưVưgư₫ư)ÿ"̃!3 '  À yp3ü ú“úQư!`ơJç´ÿ ư£ûçûUưIÿדII÷₫ÀưâüeüEübü¼ü/ưÂưJ₫×₫ZÿưÿªV£YA™₫Öü£û{ûüO₫4r‰|²₫éǜûáûKưäÿ7¤y  ø  Ư—₫üTüăư‡²¤«^₫úüÛüØưSÿ§E'đ₫·ưÖüNü6üZü¸ü ư‘ưéưA₫œ₫ÿ¿ÿoô ’“ÿe₫jư ưaưW₫vÿ\©X|ÿr₫uữüáü¿ưÿK„‰ À đ4₫üÓüÑ₫„ÍÑM”cƒ₫…ư‡ưV₫tÿnåÆÿàửüü¬ûÂûBüơü«ư&₫U₫D₫2₫X₫ç₫Ơÿá¨̉<É₫Úư°ưK₫rÿ•G1m<ÿ$₫oưjư₫;ÿĐª=Vˆ²6ØÿN₫₫÷₫·¹ƯăBvÿ₫yư¥ưX₫Gÿ f5‹ÿ₫„ư¤üüưû2ü¤ü5ưÛư₫<ÿÑÿ+©ÿß₫₫ŒưưQ₫~ÿĂ´ÿ˜«™ÿÇ₫€₫̀₫‡ÿi*¨í&‚Ëc™FqSBŒTcz0’Ñÿÿ¢₫o₫{₫ª₫ß₫ø₫ă₫ ₫=₫Đưuư<ư,ưDư}ưÏư;₫À₫VÿêÿSp&‚ÿ·₫₫Ïư₫Ơ₫Ôÿ¹6*¢Ûÿ&ÿÍ₫ô₫“ÿsXÿRYGI€äO…aƯ cܨ¼ơ#"çÿCÿ ÿà₫¿₫™₫n₫6₫öư¯ưfư$ưúüưUưûưÛ₫Áÿ`vèÿß₫µưâü½ücư£₫&1D0ÿg₫3₫₫}ÿ‰y$Đa±Û¾J˜à\-PÓÈfĂ}ÿ*ÿÿ)ÿ=ÿ7ÿ ÿÁ₫f₫₫¤ưQưưåü̃üưHưªư₫v₫Â₫ú₫&ÿUÿœÿ—Bïw¸*|Ç:öÿưÿ4ho.¬ÿÿ„₫<₫J₫¬₫<ÿÔÿEzqB/™2Øf½Í:̉ƒ]e„•xw´ÿó₫]₫₫äưăữư¶ưcưïürüüàûöûLüĐükư₫„₫å₫)ÿ_ÿÿúÿ,ï¬L¾$274"óŸ)Ÿˆ²Yưÿ—ÿ"ÿ¥₫*₫ºư]ưưäüĂü°ü¨ü«ü±ü´ü´ü´üÁüíüBưÉưr₫%ÿÀÿ.j‰«ïd¦,y€R°i7ÿđ»XÎ2©ÿTÿEÿmÿ¤ÿ¼ÿÿÿg₫½ưBưư4ưƒưÙư₫#₫ ₫ßư¾ư¶ưÓư₫x₫í₫iÿ̃ÿ:s‰Œ’´hÔ&D0üÄ ­½¹h2à½RÛÿÀÿ¾ÿÎÿĐÿ²ÿjÿ ÿ©₫k₫^₫~₫³₫ß₫ê₫̀₫•₫\₫:₫=₫d₫¦₫ï₫3ÿfÿ†ÿ—ÿÿ¤ÿ±ÿÎÿE•ß:@8..>Yt…‡uY7ơШ{LûÿàÿÏÿÀÿ±ÿÿ|ÿWÿ2ÿÿÿÿÿ&ÿCÿWÿ\ÿOÿ6ÿÿ ÿ ÿÿEÿpÿ”ÿ«ÿ°ÿ§ÿ˜ÿ‘ÿ˜ÿ±ÿÙÿ <c|‰‹‹˜¬ÈæÿîÑ´€|yoY2Îÿ ÿ…ÿ}ÿ†ÿ“ÿ˜ÿÿvÿQÿ0ÿÿÿ5ÿYÿÿ™ÿ¢ÿÿ‘ÿ‰ÿÿ¡ÿÀÿâÿ " !)6DOY`ccb_YRMHILOPJ=+üÿ÷ÿơÿöÿóÿíÿâÿÖÿÉÿ¾ÿ¹ÿ·ÿ¸ÿ½ÿÁÿÅÿÈÿÊÿÍÿĐÿÓÿØÿáÿêÿñÿúÿ  #')*)" ûÿöÿïÿêÿäÿáÿàÿàÿäÿæÿçÿéÿêÿèÿæÿæÿéÿîÿơÿüÿ   "  ÿÿûÿøÿ÷ÿøÿøÿöÿóÿíÿæÿàÿÜÿÚÿÚÿƯÿâÿåÿäÿäÿáÿàÿâÿăÿéÿđÿöÿüÿÿÿ  ""!"!  ₫ÿüÿúÿ÷ÿôÿñÿîÿéÿçÿåÿäÿăÿăÿâÿăÿăÿâÿâÿäÿåÿèÿëÿîÿñỵ̈ÿơÿøÿüÿ₫ÿ  ÿÿưÿøÿơÿñÿïÿëÿèÿæÿåÿåÿăÿâÿăÿăÿâÿăÿæÿåÿèÿ́ÿîÿñÿôÿöÿùÿüÿÿÿ  ưÿûÿ÷ÿôÿñÿïÿ́ÿêÿèÿçÿçÿæÿäÿåÿåÿæÿèÿéÿêÿ́ÿïỵ̈ÿơÿ÷ÿùÿüÿÿÿ  ưÿúÿ÷ÿöÿôỵ̈ÿïÿîÿíÿëÿ́ÿëÿêÿëÿëÿ́ÿíÿîÿîÿđÿóÿ÷ÿ÷ÿùÿüÿưÿÿÿ  ÿÿưÿûÿùÿøÿ÷ÿöÿơÿơÿôÿóÿóỵ̈ỵ̈ỵ̈ỵ̈ÿóÿóÿôÿöÿöÿùÿûÿüÿüÿưÿ₫ÿ ÿÿÿÿÿÿÿÿưÿûÿûÿûÿúÿùÿùÿøÿ÷ÿøÿøÿùÿùÿøÿùÿùÿùÿúÿûÿưÿ₫ÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿưÿÿÿ₫ÿ₫ÿưÿüÿưÿüÿưÿûÿüÿüÿưÿüÿ₫ÿưÿ₫ÿ₫ÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿ₫ÿÿÿÿÿÿÿÿÿưÿ₫ÿ₫ÿÿÿ₫ÿÿÿ₫ÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿưÿ₫ÿưÿưÿưÿüÿ₫ÿ₫ÿ₫ÿ₫ÿÿÿÿÿ₫ÿÿÿ₫ÿ₫ÿ₫ÿÿÿ₫ÿÿÿưÿüÿüÿûÿüÿüÿ₫ÿÿÿ₫ÿüÿúÿûÿøÿùÿúÿùÿưÿüÿÿÿÿÿÿÿ₫ÿÿÿüÿ₫ÿưÿüÿ₫ÿ   ÿÿÿÿüÿûÿøÿùÿøÿôÿöÿöÿöÿôÿùÿöÿøÿúÿúÿùÿúÿ₫ÿùÿ₫ÿÿÿ    üÿÿÿüÿ÷ÿóÿơÿđÿîỵ̈ÿïÿñÿóÿ÷ÿöÿûÿÿÿ₫ÿÿÿüÿûÿ÷ÿùÿ÷ÿøÿüÿÿÿ  ÷ÿóÿñÿæÿăÿåÿåÿáÿèÿçÿíÿîÿöÿóÿùÿ₫ÿûÿøÿưÿơÿúÿơÿüÿ     öÿÿÿøÿ₫ÿùÿ  øÿôÿÙÿÄÿ·ÿ®ÿ¦ÿ¢ÿ²ÿ¬ÿÈÿËÿüÿúÿ84xZ›h’R|"Güÿ úÿVÿÿ?eø›¶ê¾O†ÿ¿₫”ư-ưrûtûú¯ú¢ù́úưúUüCư,ÿhÖü5ÛŒKX¼{ë`Đ́{¨ÿ1ÿ³ÿùÿÜÿ›ÿ‰ÿsÿ#₫$₫¸üáû$ú¨ù—÷D÷₫ơUöƯơîöñ÷où‰û`ư‹¿^B - ! A Û â  ø°Àø*g6Å`' ́ÿÿ·₫Gưƒü|û×ùàøS÷oöØôơ²óïôÏôök÷2ú˜û~₫ÉZ“ ™ ¸ ö 5 » —  Ø0:¦].™øøÿ…₫«₫’üưûØúƠùKø‡÷wöïôÔô«óäó›óÇô[ơôö²øÉú¥ü[ÿÊmơ_  ˜ö  E B „ 5*(2g¿wÿIHưóưhû3û¨ùîø‡÷­ö¯ơzô&ôLóró ó¬ôDô#÷‘÷NúûŸ₫ ú̃¢ > u û o  Í Œ b¨w_ÿ‘ưYư ü‰ú;úñø€÷¦ö öôöóló₫̣̣́ ôôNơ˜÷)ù‹úDưWÿ,mmp € ‚ c tE€ I = & R"·“"¿ë₫ư ưü©ú ú̃ø÷öơ€ôtó‹ó¸̣=ó„ó‚ô›ơÀöưøbúüz₫ÄtÁ̀}9 è  ± Wå ? , µ  ÂÚ`K†Zÿs₫%ưƒüaû2úlù>øøöö%ơô¨ó:ó'óJó9ôºô-ö‘÷ëøûÇü¡₫¶Ö²®Á9 ¿  1ŸW   ¨̉ZµnF̀₫)₫»üYü¤úÔúŒø)ùöC÷ ơdơ/ôôCô»óqơ¦ô‡÷­öbúmù€ư}ư˜—T¨„° o g I- GÁ } › Ù ”=q3Œ®₫@₫¥ü‰üëúóú¯ùBù]øé÷äöö öEơÜơûôAöơ÷D÷nùµùü_ülÿkå≠ê S ƒ  1 Z ø  I|â$BCÿÿJư%ưºû¼û•úHúÎùùăøøî÷÷u÷DöE÷ö÷¿÷–øàù3úSüÑü‚₫‰u‡C's p Ø Ë º ( íÖ?f É(Ă₫́ư¾ưÔûâü¸úÏûçù¼úrù%ù<ùÖ÷ÆøâökøiöøÖö<ùxøŒúÉú‡üJưÊ₫b-¼‹8£N ïR l ̣ ˆ c % h'èäÎól₫÷ÿ¤üæưÿûÚûÓûúÓúÔù2ú¾øYù÷¹ø ö₫÷c÷C÷cø1÷%úÇø¦ûdü\ü‹MơîĐ¥Ö§ ̀ ă O  ˜ ´ ç ôWl‚ư₫,ûjưsùü úOúGú¢ø9ûöüôôúơï÷§ö÷É÷øØøú¸úÆüè‹ưÚ ₫ Íçº Ÿ >wăœ ₫ă6  ÿÖƯü³üèùJûôøîønù/øVù×÷ ú¡ö3ùŸöD÷ươ öûơdơ‚ö½ơùÙöäüö₫>ư₫Ă½ Ô ²;₫ơƒ’Zª0 1 d±₫Eưqø^ø¥ơ7÷.ôơG÷ó›øÓó¯÷·ôîö-ơ*ô0ösñ́ö^ñ́ø§đ´ÿ·ûuưÙ d“v j§;Ë‹P¹ ¢ D-ÿÂùû?̣̣—óLíáï"đGï²ïøñóÛñüóơ³̣Ẹ́‹÷̃đ}÷¡ó₫ÿ¿ûŒÿ´Áa 0ü½·–4seé Ó ́₫1øÜøºđTíçîPë̉êćåí́˜ï0̣êđùđÅöªđóơ‹ơƒñÎüîú̉ ¡ªB"g¬!Æ%? q%ÁU×₫€ïƒđ·íÊăçcèăä,é¹í|ë\đîô ô/ônø˜öyô]ùjơàúæ ™ ×0$©ˆ!'Ơ m¡É9ÿbùîèçđá-áä‚å7æǴQî;đ]ơˆ÷œơÑù¶ø÷Êùü÷Ö°•>m½$é&)&)rw›JÈûRđäöăêâOÛÓ̃Iåªă“ç‰ï]đ°ñßøøô÷‹ùHù̉÷ô÷£±_đXæơÓ':!0%„)̣!?¯{+Yùc̣ĐédàÍ̃%ă;̃Là©é»ë́ô7ơ(÷§ùĐøù+÷úơô:Bÿ₫ m‡±q$¬!n%Ä&‘#Oë ùü{̣[í´åẼgâ£âÆâÎè`í[đÈơ§ơÊ÷×üoù˜÷ø}ö’ñBưü₫¥ü³ÚA^Đå %€"Œ>ư¶+ 0ÿ›öfïøæâkåDå³å ë2ïôøŒ÷‰ùWưÿúùË÷Öơ-ó…ûW₫ñư•ă ÖhÚË™! )[Ư8ˆü%ơđæèëă°äæ«é½îGñöÍû̀ư.ư]ư¯üŒư¨ú`öọqøí₫RÿcX1 ƒÙ₫Á½ ŸmÄ c•øđ;éÎæ è¼è¥éQí¹ñc÷¹û̃ûûRüJư¶ưâúÇötô}úBÿñR$ ¼}»íå¢ eËü5øẹ̀˜́sé>éçêÑïGóIơ2ø1û8ưy₫¤üGü#üÏù ÷2öíù₫ÈÎ¥ :t82$€Ë \ư÷̣)ïÆíœíïỘhö>ùúû™ưÆ₫w₫?ư ưXûù¨ọ̈öøùêưH¨‡RÓ |¦rÖ¼ 8cƠư½ø›ó$điï¦đáó>÷çùJûèüÑÿJÂÿëưÇư°û̉ùCøùJúœûDÿE‚ S –•€ h –Âơưú̀öôỌ‹̣øô%÷*údưÖ₫dàÿÿVư~ǜûú:ùßù¡û¥₫ØR¬K E   B  îÆÿ̀û³øÓö9ơ9ơ{ö ø¼úIư$ÿ'àI¿ÿÁưŸü1üú0ùù1ùÅûï₫ºzÈo±H â ¬ e ôFüù₫ü7ú´ø’÷V÷¢÷úœü¹₫ËÿfÔÿÿư3ü¶ú²ǿ÷±øúIư/??m°+ˆ Í P ÿ qî×ÍưûCúø¸÷Ü÷EùfûËưœÿlª¬ôÿÉ₫ư_ûjùH÷÷¾øƠúáưÜŒV; ̃ ¸ è œ K Zªÿ¬û°ù>ø8÷đ÷Åøúü¥₫x¼³:ÿ,ư ûËù¨÷¹öU÷́ø ưoz Á î P ¢ « [ µ ăkưœùv÷ö@ö¥ö@÷Ă÷zù?ü,ÿƒS9µ₫ÖûŒùQø ÷ øûùưTXÚ  Ë á × T } ×S«₫øù öIôVóÛó,ơCö%øFú¿üÙ₫ÿÿ×ưÀú²ø#öçö¡ù9ưô´i ƒ¼ưŸfx ÉÅüÈ÷ïóọ́!̣7̣´̣›óđơÇøñûÇ₫rÿy₫¿ûDøïơ’ôá÷àüaµ @ ăo.ù&µjŸ ›ûxö¡̣Œññ^đ—đ¶đỤ̈öºú₫>ÿ¥ưùGöôÉơû¨É ©¬¼P :Q Qü ö:ñsïkïzïºïSï)đ₫̣)÷(üä₫K₫#úOơrñ¡ồû̃ïâ+4yOW±¡T>ư®ó²í±ë́í®ï[đcï¾í\ï}óôù™ÿg«ü¯ö<đ ̣Nù(‰̀ƯZv°ă´œÈúÔïéeèǼºï†ñâïdíị̂̃ú%ßÿüÉó@ï}ô™₫íuT#¨!6BQ[£a =ư|îđæ×ăTéï?̣{̣>ḯîº̣¼øma[ưăôâîZô ₫ø–&^$ Qº\Ø–ù…êÂăîáEèùí®đñ3îçï³ô‰ûÔdÿÀûKñùđ!øÙ÷¢$Å(±!Ơî•Y4̣ ÿ îÅäÜàäxëĂî"đHî«íóù<ßÈü¿ó>íaồÿº'#Ơ(l%§'́¹­¾=*̣åÀáKăAë©î̃îỨ}êTđ\÷ŒÎưâô‰êAñªüđñ#T)‘'^~q¤^»pó¬ä7áÍâëîï<ïắéaîÅơ2ÿ”7ưøôÁêñ?ưÈM%Ï*È(v»¦Ü"êYñMă&àeâ6ë>ïÇî“́¡éØïÔöÔÿöÇû¬̣óêjóº~‚'f,‡(sDâ₫%g VÿWíqá{߯â]ë‚íë́HêNé$ñø ³ÿ úđï„ëTö‰åÏ)|-j'b1YƯ3 rû êLáÅàå©́‡́’ëqè½éṂHù!Bü(ö)́Ŕ ù¡ Î!̃*r-à%Ü<¦ƒư“I÷ÁçÔá¸âRçớBë>êëçáë[ôû¼₫nù·̣,êËïAưmá$Ö*d+!"éơµ÷q̣OåpâVäê¯í¢ë†êéïÍöư₫€øBñëDó¸]%*) Ë_1ɹ ¦ÿFñƯåkăÅäééś™ëfësëtñƯ÷5ưưoù„óÜî^ö¯!S'E'?0Ë® ”{ơwê@æêäVèçê±ë́¿́œđÉơ5úyüåúÀ÷xôùÜê!^$]&øyå ,–ư³ógí]èBèdêḉ&đyñ~ó(öó÷ÆúmûáûFúóù5ư>S -OÏàô” # } ¤ Úü÷̣#ṇ̃±óSöÆ÷MùHú ú(ûûLûû‘úqûư/ÿAâF ̀ûÉÉO. åæÛ—₫nưëüñü›ưQưQư4ư ưư™üPü9üùûü̉û–ûyûơúLûßûư¬₫Öÿ3.Ø(MÓ´Ư{[vp)HÿÓ₫¹₫¹₫_₫«ư”üƒûÏútúú™ú ú”ú“úÿúÍûư₫ëÿ:;]Q?ÖăˆĂƒ?/ ¸#iô®×øĐ;ÿ«ư?üû0úùIù'ù4ùdùÑùgú<ûpüöưÑÿ½uÑ©IXnzjŸé \¬R€‡ÿw₫Xư4üöú˜ù>ø÷„ö¢öb÷øûùYû»ü₫¿ÿ—qHư4̉sđIÈ+’ pœ¯ÿª₫×ưNưüü̉ü‰üü|ûÙúlúUú™ú₫úrûđûƒü]ưk₫Ëÿ9tz$¢ø•ä `ÿ3KN‹Kfoÿ0₫Đü§û¾ú)úÊùù‰ù®ù1úû,ülư₫›ÿ}fltz=£²†Kđ§7†¯ä0¤'”ÿî₫₫Lư“üăû<û‰úËù)ùäø ù°ù¬úÉûüü/₫xÿƯL–©J”f7ó4ÉfĂ[×%c˜ÿè₫L₫»ư#ưüæûZûđú úoúiú‹úÍúAûßû¢üư¶₫W°ẫ(ñøR´%œ £ «@ăÿlÿă₫6₫€ưÄüü‡ûû°újúWú…ú₫ú¬ûfü.ưéưÏ₫Ëÿ@[AßI‚¢}sÀmÜKÈ?́ÿ²ÿ{ÿUÿÿ¦₫₫iư´üü—ûûĂú”úªú û°ûcü8ư₫ÿ:ql&˜âùæ¡LßḿgÑ=«,¾ÿXÿÿ₫₫¢ư&ư‘üüûûÅú”úœú́únûü¿ü™ưª₫₫ÿX®Ú©A¬É®ük·+‘˜ú‰¤ÿ?ÿî₫[₫Îư4ư©ü=ü̉ûvû ûäúßúûVûÔûvü)ưâưÁ₫Öÿ[mL´̉%I_¾9½W¨ÿ`ÿñ₫°₫J₫Öưư“üíû|ûûâúÈú‰ú¯úûáû¢üÙư½₫3 ·ä@úc.ÙÁưmü¬°ÿ‹ú›üéưˆưÛû©ü¸ư₫ÔùAúdø‹ơḌơô¥îª÷7ÿúøaă µ vV×ê=wƠXÛ Ø "́ơ-øèîLè$êUè æ[é[è³ê/ívë0ïđiđûđ? ™|K5(,̀)×#V†{  y₫cíÖó8æ|×ÇàܱÖeßåá̉á¤é—ệ{ï˜÷€ö Ê ¶N%ñ̉Ü,N+@$*± ÄSÉ •Áùïî̃đºä¸ÙåøÚVÛ0å|å?æƯî¼îơñö­ú°÷…d\˜ “<‹*"P"₫%ä­'6 höđổ́Aá4ăwá¾Ú*ăWåÄæÑ́ÚïXó`ơ ơ×÷Jù+ôúÜK"óî)Q˜V&³eƠئöÿü¢î̃àsêù̃Üä±ă‰æ¿́Æđóqô£úÉơ£ù?ùÁû1û¦¥ X é" ×#!ˆ.WUÿ û¯ûè×åéÏÛmá‡âOå-èÈíïó•̣4÷Øüäó5ûuûPóM}ù{ 6ZI >`#”ª®¡ü³₫[í¦æ\éoàƒß™ămåăç¶́íơ´̣†øưù;ö#đÿ€ ®ô—$ x«Ï+Y"âl6¥ÿx½úÈëôë«æÈáâçäWæ é]đ‰ô¢ó«ûÈúâøùŒü»ñXû ẒhâÙưˆÁ¦!r!wXÉIÿû0îyîÛçâ2ăôäåµçíđ®đ<ơôú½ùú€ü÷öÅû~đ¥₫ưö-5Fæ‘#R¬À ß6Fôï±ï…ăVâ5ææămåƒë6̣(ïƯúÄûùLÿ₫ö›ÿj̣W¸7ö{m ̣)! .ô§lSŒîZø ój̣üæ8æ…è#äSéØê+ñºñùđûBú₫ÿâöV₫„øYóJđóU~ G”]7a¯à« ’ +àö÷˜ñÜçïê/éç5ëoï4ñOồûÎú1ûë%üKùëư§÷2̣ öƯø ₫¸~!ØVœ]¯ L óûúŸö\́*í—í7è‚í%ñüï̉ơ÷û‹ù-ÿơÿ ₫¢ưôü§øGùJóúÖú«ñó₫å₫åø àU²]É”Cé ƒÿ‡ù‘ó²ñ¤đ í‡ïëñḲoơûúùb₫æü₫]ÿ|ÿ ügúú’÷‘ơ^÷süäơ₫jư–ä RºlA n̉é “z »Ghÿ˜ø«ø÷3óÀô(ööă÷uû üHưĐVÿÿÿ*ÿºưfÿüû\üù3ùAùqûXù¤ûÑư?öa“ Ë Ó ,Ô¤&Œphư₫ưÿ¨ûMử₫ ưÓ₫o§ÿ‰´éÏÿÿ…ÿĂưtưư|û:ûôú·ùúÔù ùiúùùQúüâûüụ̈₫bÿ¯¶TŒ2…3È₫E×bM²[iÇÿÿÿ₫Ăư ₫nưSư”ưư¡ü“ü¶û2ûúíùSù¼ø¸ø~ø¬øAùËùÉúöûưĐ₫Ÿm†Ö5²BÓm*ÆÑ\]̀đGŸoñÿvÿ¡₫B₫ƒưÍüdüÛû=û'û̉ú¢ú¹úÖúđú=ûĂûü„ü#ưˆư₫¾₫ÿzÿ,ÀbQîhw”³?—Ă&ÂM_×9J¿ÿmÿÆ₫₫˜₫F₫₫y₫]₫#₫›₫f₫4₫t₫Q₫ ₫@₫₫íư₫0₫0₫m₫÷₫ÿƒÿưÿ¥ܿ€7Üÿµÿ®ÿ²ÿêÿ b¿ưj§÷;Añ‹:z@ ­ÿ¼ÿŸÿUÿ„ÿIÿÿFÿë₫À₫Ù₫x₫Y₫x₫'₫E₫Q₫P₫›₫±₫å₫ÿfÿ®ÿàÿZk èÓ:%tœ‘ËñÓɸ~(Ơ¥¬ÿRÿ½₫˜₫S₫ ₫:₫0₫₫]₫´₫̃₫ü₫pÿ•ÿÿüÿÛÿÙÿưÿøÿ6`¢ß D‡‹¬˜oLÏ€+Ûÿ€ÿ1ÿÿ₫µ₫¯₫—₫Ÿ₫«₫¸₫Đ₫ÿÿ\ÿbÿ•ÿ¢ÿéÿÙÿVWŸªê'\Ik1T'zÖÚÿwpÿÉ₫•ÿ₫Zÿ4₫Đÿ…₫a§ÿoö=₫Üû“₫ ₫Ÿư₫T́ÿ́û1,ư\tÿ§Émü–WQ!zÏÿY3Eÿ–ÿÿnÿÿ?ÿiÿ§₫Ûÿà₫€ÿ?áÿÿú₫ÿÿư₫ă₫ÿßÿÛ₫Åÿ[s¿çơÿƯ”ä´çÿí₫XÙ₫âÿ ³ÿ%₫åă₫ÊÿøÿDưÉ¡ü>¶ûˆxư¥́Bû¥àû)ưÍ8üTÿÿ₫Ïùÿ„ûªư'Đü;ÿRE¸ÿư¬ưÙ7­₫˜»₫ÈØÿÔÿˆ&ÿ[Í‘₫á¤₫S¥ÿ iưI%₫üØÿÖûëüĂübư×üJÿöưíÿ§₫ï₫›éÿ0’¹pø~K…&\4‡è=ÿi₫÷ưDû€üsúUúgø6ûVø8ûŸúöúâümúúư²ÿ ́Ÿa ‹ L w  Í É̃±₫ û}ûDøù;ø¡ø£úáùjü¦ư}ü;₫ơüÇú–û§ụ̀ù÷ö<÷öôúJúåù”ç˜ÇqpÆü×…› ©3ñû°ơôđOî,îªđỴôûªû™ÿ¢̉ûưû¯ùºơơ£́s÷VøÇñAZ ßư E¬Ÿï Ë¢°ôYëSë^æÑá èMé́óÊúéû²ùL`ûtù«ö¬đ·æñ^ưz ú§ùx²!¢e"́û†÷‰éÀä”ä™à8àoèH́ÂđvúOöm ‰£R,÷̣ơAíæîưû¾ë€ ÂbV=!‡%{$ư%Ír(ú2ơÁîà̃̃yƯñàệ¢÷£ Y ;{ bÄÇüIóÁïÅăªë^÷êçWº F¶%Á)í(F(Y)Ufs ¡ñ†ëéåÚ ×sÛŸßâäï…ûl ˜ Ǿ n]₫)ôKíÔç©Ú}ăXơ8ç¾°5%04u.–*Ă+„vë̃ƯçƠgÑâ×HâØèÑó™đ q>Ä× ä÷íeæKàóÔHÚSơ‰êÍCî—+8J<ă3$*)•{û'ùçQÔÔ,Ô<Ñ"Øúæ̣ñàû© è·7È&ưôˆăzßÇÙmÓ_уñíơDüè"‘,2p<íB‘:¨(¿ PƯổéóäĐwË ̉¨ƠùÛ̉çûѪ— %›ªÙÔómíá)Ù^Ơ(Ởóå|—Æ5ư8̣>`Bh;á+ù ßAƯ|ÔË ÑJÚxâđ’ưh×Ç!& @ —₫đñåC̃6×ԑӾׯÛ-z ¾m9 ?u?ăAc:/aÓäư‚á_Ó=ØúĐôĐ^ܘçåôß4 ´i¤Y=s·û ï¹â4Ü× ÖXÓÙ<Ưñg‰F)¨CsA@?Z;#/+!´k÷™đÖÁÑzØrƠêÚûæ3óª ß‘đ)Ø• iư`̣¹çRƯ÷ÚÉ×_×YØ…̃máÏûén^.‡DØB};4d)¼‰ưăđˆ́lØ̉ÀÙ ÛvâƯëèơ^^ CŸ:ØÑûBñ¾æäƯ ỰÛœÛIÛâ₫æ†đeD$:TA;±4`$ĂÈ q̣­ëÿäÚïÙuƯâ³î³ñ^úsz V^­}û#÷đ~å»̃jäă,âKâê·ëYY’%p2-51(dJ®®ö—îté~äåhä`éSñ†ôø”% ̃  B A áSÿÀû´øïó³ñẈRñŒñ‘ñ ̣öđ™÷±Ư p«¹Fö3c £₫?ù¾ötơF̣¯ñ$ṇ̃Xô–ø•ü¾'íéô; †ÿjư¾û‰ùpøL÷¸ơÔơơ)úñ₫G˜àó < ½  Ô !Æ+àüÄùø÷_÷r÷@ù˜ü‹ÿSø…–́dAiÿ)ưaûûŸùù2ù|ùWǿù ₫\ÿ•84B]u=ÖJhÿ‡₫¤ưºư£₫Jÿ¶ÿG©úÍ´ïŸÿ́₫£₫–ư ưư7ü&ülüpü4ücüøú"ûưßưË₫Rÿc₫ ₫ŒdoÑ=´ÂÿÍ£óø'ŒyˆÿØÿÿjÿ‘ÿ}ÿÂÿ^¡ÿœ₫₫êüÑû2úù7÷ ơc÷øàùÁú®û1ưá×ù!› ́ ë Ac4ÄGÂÿ…ÿ—ÿ{F…‡ ´ ăTÿmư]úC÷Wơoó×ñrđ†î9ï¼ơøúÿêoË D v ( é º ̣RRé¾€î¢È·ô2Ưÿ ₫Cû–øợ̣¤ñÉï6ïî$îqí}ơ˜üà~Eøs ̀¼ 8 < ) t ·u©N¬˜ơzHDû́₫}ûeúXøợùđ<đdîĐîrí­î´́öơhÅô— V¾œ• • 3 T Å -JúÁpn^³¦æƯrQ₫âú»ö ö+ôzđºí)î ́º́ë"ë–ë§́4₫ÄX ¼ È–Óy %p *¹+ ·ÎP®̃:ûo´8₫Gû+ơ£óĂïTê;è%ç¼æ¹äÁặăé2æ%ư§̉¸¦$'ç&ñFØ’Nÿ«ü—ü<„z₫m 5­ö€J]üxû†ü¾ñVîàëhè¿å³àæßÉáŸßzßmäå.>|n&i0×/á*囯pŒư$ÿU₫Ö €GôYXQ₫÷¼ư3ù'́ß́êÂçBßÜ>àsßÚ"̃ăÑê‹ *å"0ă2̣1z)đç½ ₫‰ ÿ¥đÊ· ÓIÛ9RøXúíưöốîë(é¸ç€Ù&Üà|ÚWÙEƯdâ*îI ¬ |/}4\4,)‰Öµ˜é:ÎŒwEaFªÿX₫ă³ûjú×ư»ø²óÛíê–çÿƯÚ̃FÛÎÚÇÚaâèÿ¦~)H2ú3ß/8"¤Ëè Ma‡-öàobÿ¾₫ư ÿöÿNû₫´ü_øæóxí1êsåmƯDÜxƯÏÛÜ5̃çHí^5âå(7/l12-6 Wn P×~a₫@ưF}ÿW₫ưđüNñ₫,ÿưûGôíêêËå®ßỮƯ%à(â`ăéë$đÙnxM!¾'*Æ(́ñQ6 ḱxÁưyú7₫₫÷ư<₫ư"¢,¡S₫₫ûÍøZñQí¾éNçbçèGë²îÂïuñSơPö^Ăô @ÏNng?¯ Ç5JÓ¨ăÿrÙÿ‚ÿ7ªÿ̀ÿ…₫TưàûÓø÷fö=ơơ¡ôöóó›̣;ñÍđ<đñ́ơ­ù̀ứµ ½ ¾ ḷÎDùâ * 7»Ưê₫óưlư-₫ÿÔ₫Đ₫ ÿƯ₫äưøû@ú»øuörô(̣“ïí{ëê»éćñđ£ơZúßÿØ₫ â3Máå£n³ Ù§U ÿ<₫Q₫á₫ï>–qºâ₫Jü úv÷|ô³ñĂî́…é«ç·æBçêñï«ơûj₫Né¨îDy£ª´ [ agW²Ôă-a¬˜~Z(₫’û̉øöơ®̣ÄïNíëê è$çµæxçê™ïtơ2û|¾ª /³8@&`ú:V N À”l¶qîÿRk3nÿ˜ưzûù+ö<óđuîº́Àêé^èEèéṔŒñ2÷ư‹k -ŸÎQ  ăq 6Ü÷Kÿ§ÿ ÿDÿ(ÿ ÿÁÿFÿU₫̣ü'û×ø-ö¡óSñDïYí,ë=éLè$èƠèưëñá÷?₫̣ ö¸gQtè9⣠: Ă&Ú¼Óÿmÿ3ÿÄ₫¢₫ä₫0ÿ2ÿ£₫ư'üúo÷°ô1̣(đ@îŹƯêûéÉéCê[́'ñ/÷éüăĐ‘ 7ÖÑ.. Ep}n àc.'’ÿ‹ÿ5ÿĐ₫Á₫Â₫Ó₫₫ư£üXûUù!÷́ôó“ñØïUîíđëhëtë:íÊñ=÷‹ük› FNÈ̀è7 ¶xêY ïÿKÿÿ€₫₫₫₫H₫d₫₫¸ưñü*û7ù÷ơóûđ;ïÙí3́ë±ê¢ëYï¼ôú*- -MÜçZ/¢}/ ‹Å ỈÎÿAÿ>ÿù₫ƒ₫¾₫Ñ₫¡₫£₫u₫ ₫[ưÇûÊùÓ÷©ơóyñ¹ïxî#í–ë ëLëí’ñ/÷̀üưØ: Ç”Ø*~ Mÿ µfµù´íÿ5ÿÚ₫{₫₫₫Ăưư“ưaưÙü)ü¾úùe÷fơóàñnđlï3îǼóÀ́Iî’̣%ø‹ưSè< ɪ̉(;`µƠs# ¸-_Ơÿă₫₫œưBưåü¿ü„ü<ülüümüGü˜û˜úbùÇ÷ươTôỘ£ñađăîåí¿í<îñđđơ4û™7+ è ˆ;¢X¨ ŸEÈö.ÿƯưưü~ü¢üÂüư#ưGư¹ưĐưưRư‰ü.û‘ù‚÷ơ½ó*̣ôđ´ï=î–íĂíơîẸ́>ø¡ư#¸7 ­<yw…¦ÀK ư p̀ôOÂ₫₫Hư?ưëüÚüöü|ưưưéư₫Âư₫•₫úùNơỊ̈äî/íá́êkè€́Áệí¡üü^—zÁ1ŸAơ7Ï dT î3₫ ½₫²ưÍÿÈ₫Cíÿ5₫Wé₫“ûÿeü¨øûzøöö[óó’đĂîîïPï:íSđcđc̣ó¦ùÚ;Ư ØÁ6AèâÁ ø/·'ûùư‡₫˜÷Ïû-₫ÊúuưÖ₫P₫Ô₫ ưđ₫_₫Öùü‘úeơA÷ôñåđ·îËî˜îHíeñùï ô÷ơPüµèX0ufa.ùp™ åSÿøûÿHùkøư„ú¥û₫;₫ÿE₫…ÿ³ÿüû™ưÂûùö4ø^ôñnñTî2îđíứîî®ïàñâơëơrßz}KyMÁʶ‰Ơ2 œ¼ü¿ÿyûÑ÷œû«ú„úñü₫Á₫;₫+Î₫Àư-₫ûÈùú÷ơụ̀‰ñïEî»í*î÷́ïïñuó"ö£ûXÓ ñ¢ø< =i² æ ÿÿ&₫Ăø£úóúzùúû÷üµư₫Rÿư₫sư)ÿü'úÇúö—ôĐóđï8ï:îæí™îAññyơƠöS₫á:Ư‘F ±" ‹ Ñ“ÿ|ơû(ùûIùôùÑûHü¸ư¶ưÄÿ¯ưh₫‹₫Ăúbû9ù×ơMơó;ñ€ïÄïüîZîAđ¿ñÊñX÷:÷₫UÙ„KbîI¼¦² M Í6ÿ]›ûâø·ú̀ø±ùû9ü1ư‘ư±ÿÏưØ₫₫ üûoù½ö(ơfó¹ñ̀ïđSïđîÎđÚñọ̈]÷bøÄưç“&„ÉÎ.Y÷ ö ñ"ÿ¡ÿ«û]øŸùäø¶ø:úcü]üưÙÿêư1ÿŸ₫“ü™ûúV÷—ỡóḌƠï€đ‰ï̉î7ñÏñó¼÷Äøư«¶ÈÅ®ée]ÿÈ[Ó ^ Ó™₫2ÿ6ûÁ÷Iù@ø+ø1ú™û¤ü@ư!,₫ă₫"ÿûtü‰û½ö%÷¬ô&̣^ñqđcđï„ñḶº̣÷—ù¬úé ¨ŒzØĐăv=P Ÿ‚,₫₫öûyö…ø|ø÷ÔùÀû/ütư:'ÿ›₫<Vư)üWưÓ÷îöˆöẸÈññVđDïṇ̃ç̣åơƒụ́ø¥­™z®Ó YP>Ó ÿAê₫åûmüPö¬öù¡ö ùgüZüŸư³8—₫ú₫½üZưù;÷½ö9óḶNñÏđ!đàđ̣́ó4ô}ú-ùpđ ÜWĐ4ÀŒ²  ²yúÀû†÷ô“øm÷÷²üªü4ưÁJ.ÿæIßûÅưCüö9øơ}ñṿ₫đUïQñ¡đ{ó·ó+ø/ù…ư9 1ĐRj––0) # †ÿ†ù0ùÏ÷óµöôø>ö/ü%ÿ0ư(=ÙÿdZäüûû·ưÁö ö†ö7̣tñẸGïûđ«đ®̣áóPö)ùøûœ ̉OcŸ!"ơ“/Œ mÆ€ư¥÷àơÍ÷cókôkû=øXûHFÿtŒÖ¸₫ÓE₫bù‰üùßô¯öưô?ñ©̣zñ©đṇ̃ûóơ2ù…ú̃ - %4#Qô$²äW¤GVüîúsö)ñ}÷¾öạ́³ür₫Hûê—Ï₫Áü̉ưúKù£ù÷•ơÄơáó¶̣̃đ̣jñTđ^ôiö̉öü Ó }œ(ÑØ#q ï€ưàóº÷<÷ïv÷¸üơöˆưUªÿfÓ»₫wü4ưđú’úsû̉ûYúyùĐø3÷ô„ózđ‚đeđCđỊ́ßö†ø¤ư»jü+ˆ"*à# %.ûûï3ó̃ú®ộøØ®₫Kè)H2üüQ₫)ù¡ùŒưüưâüÊ₫pÿôûđ÷½÷»ô]đäí§ï‡ïpîeô¸ø¼û<ù‡*Ë%ü»z íÉùÆ̣úóˆóXüưÿÖÑÿL£ư’úßưaúƯøEûÿûÅưæư<áT–ǜø,ơzñ đ+îḈ¼đ4đrö&ùiÿÚ0ï#sµ$E%1‹Oÿ·ûûđÔôưøYø‘₫6ÿ”=ưü–ü]÷^ø̣øûŸ₫Ÿ₫?¸—ƯÑÿú ơPóßñuï¥ímîÍñ¦̣öơSúíÿ¯î#o#"!Ô¢Oøù‰ơơ¯ùÇü¦6qÿ“ưøôơ´ôø@û?ü´èT³ƠtÁsûöơbóâñÊđ“ïÄđṇ̃}ơhû}&%*3#Ÿ ö ƒÿ!̣̃óø4ûc₫ÿßü₫ùÅơíô­ô¹̣Q÷Íÿêë‡ÚrøĐÔüzù.ö ơzôHó’ñôï¯ïÈđÑñåöúnH â,**Ú!~G G7øHñ2÷₫¤"fĹøÀñî̉ñ´÷\úEÿœĐ÷X₫P₫6₫‘ÿ¤₫[üíûPú¸÷Öô0đ“́ƒ́îóù­ü!¸ 'B/+â ßÿ£øĂôrú$à ’ eĐüó÷ôô@ñÙí³̣{û#G}£RüûbúxÿÏftûĐúÖ÷̀ô¢ïrê¾ëmï…ó%úÓû2‡ £.½+#ư ¸üRưtûûÿÉ8 !È÷íđ̣oô¶óÊöÆûLñ«Ü2₫ư›ư¾üµ₫³˜‚ÿ’ùBơỰ̣í±ë%îó°ûx₫dÿô &/%A2û ûÿ~äụ 2 ûYïûîÀöÚùJûÉùüÀÑø₫‡ûƯưZÿf.C~ZæưÍøṃzñYđ©î%ï¥đ3÷²₫Ä₫ØÍ,ô,Ü ¿Àô%úưÿ2“u:t¤÷EíMñ¶÷‰₫Ó₫áùxüâØ­₫̀û¯û™F¤ÿ—ưL÷’ñßîđî¶đ©̣́ô®úo₫öÿ\qŸ¹,D*ü–ùúóMú<¾ é¹Lçÿoôÿị̈•ú ×₫Nû%ûkÿŸIéµûơúÀI₫§èưưuúøöG̣3ï›ïŒñ•ôRøüo₫Iÿ'­.([,èi4ósớï T —¦CXkúSó¼ñö.ÿ ₫©úLû°ßq₫ùOû`kR$Büöø4÷{ô#̣øï¹đ†óe÷ûîü4ưÔ₫ ä"v,Ư#† Döô‹₫l Æ u₫ ÆưR÷Àó*ơüLœ₫™ûúçÿPùÄûÓù]₫̉&—ưư`ùöCơ‡óñuđđñ•ơƒúĐû₫ụ̈ư± Ô"{,ư$0 •ơ9ó¿₫Œ ³ ÆÁ₫MünmÿúơĂó¥úfÿºÿûü´ú¼₫%₫&ü“ù‹ư<U²RưŒøÈö‚öÁó–đ­îëï̀ơù^ư³üáW'L,ßRÿ8óö£”3 ăAüP₫vĂư©øóötüơÿúÿtûêûw-l#ỵ̈ú´ûCÿ 4H;ü øø÷³ôĐñ’ï&î„̣<ö‰úưx₫L! +#"çn÷ÏôÊ5Ñ₫Ûü’Hÿüơéóªù₫­×üøú₫—ïÛûËù°üJ ư0øj÷WöVó.đé́ÇđơùÛúư£%$£,f“üôöˆ©$ÀưB₫LDgûÓóaô₫ù₫“ÿ²û›û[ÿ>Ư{ÿÖúú°ư¹ö¿Úübùú÷ơ~ñ\î1íàñơÏùªú¹Ä')‡¹ü‘ôûûn  H¬ư*=€ÿÚøólöû ÿf₫cû.ưm‡Qü`úpüUœ₫ÿ—û”÷÷£÷lô]đấôî2̣!öŸø×ªÈ)ú)GÆûÖóÇüï¼0§lư/[W‰ûÛôơJùzü‰ư¹ûQ₫9ªÎaü úQúA₫èUưÛøöRô‹̣àï¬îûïẒơÛø G ¬+â% ®ùpơj°b© .e¸,´ưN÷Đơú¯û+üjù\ú/Håÿïù?úNüèÿưCù.÷ƒöø'ơ¶ḯv́<ñơPø:đ+B)WØưÁơ˜ÿ @“ ¨Ÿêö₫§ö̉ô ùOüîü ùäùÿ^G0!üú„ù(ú©øøÍø©øêöĐñ?í”́âí@ñBóÉùw|%0?"[¦ø³øvØD ·´ƒ ÷«ü®ôö"ú?ưüù¨ü1ª…₫—ø;ơ"÷Nø4÷Óööqö#ô@ïŔ­êuíẈùè%Ă/$ ¾üù^td  F â m“ü0ơƠ÷¾ú™ûĂúóù¦ÿí›Ë>û̀ơ`ơçöT÷ŸôóYôpô“̣°íXë ë9ïTó„N´*Ø/̀àfû–ư Ü e T ºm ÈHîøô¥ø5ú­ûMúÄû;L  P¾öËñ ñ˜ôXơ^ôIộñ-ñíÅëØê/í<̣₫{=(H.&!Ç –5  4 ¤ú‚ơ´ö`ùÁùû%₫è h̉ÿ́öwñÉđ¦ñó₫ó0óḄÀïUíWëêḮÎñî²±+Z-ë¸ ‰;|öê² ¯œá öÿ(øÅô¹ơQøæø°ûÈâ D7ưô×î×îÎï–̣ôøóRó)ñ]íîê÷èË́CơªQ5)/,Î k̀¿p°  Ü O ûơ±óˆơà÷ü„yƯƒCûỤ̈¿́́î₫̣­ơ÷ơ‚ơôƯñvđêï9ôXû½X¢ A“ƒ ßïJö·5~ư&ú‚÷K÷×ø¡ú¨ü±ưưwüzúÀøø̃÷öùơû–ư”₫̉ưÂưS₫Ñ₫ÿ₫ÿÍ:—/zÿiÿNÿÖÿ₫<›3& å B:GôHO( ÿ!₫>ưÑụ̈ü²ư“₫Fÿaÿû₫Ï₫º₫Ä₫°₫Ê₫^ÿ™ÿ®ÿÿ(₫Œư2ưDưZưœư₫̀₫Êÿ~¼©g{ö#¸¾‡¦ÛîÿYÿeÿ´!ùA"ßÂ*…¸x±ÈÿÁ₫đưLữüµüưưüư₫æưµưưªưÖưB₫¸₫ÿÊÿƒv#¹—ơÀ{S~GÖ…?1ëˆ ¶ÿ;ÿµ₫ ₫Ïư“ư₫;₫«₫‘₫t₫₫<₫m₫Ê₫„ÿm₫ÿªÿ\̉'68MvU'éÂGêÿ¯ÿµÿÿ™ÿ€ÿ‰ÿyÿ”ÿaÿ*ÿÿ$ÿbÿ®ÿÿÿøÿÀÿgÿCÿ7ÿlÿ§ÿøÿ|¤ẵ ê /~̉¯¶ÿ¥1₫Đ₫:ÿË₫ ®ÿ§ưb\ÿ:ÿˆư$₫‘₫°ÜưÚ₫é₫;ÿ÷₫̣ûüü•₫¨₫ñ₫„ÿH₫'F·Ÿ!& ñ&/lÊ₫É₫ ÿl]ÿbüñ₫«*‘û¯úëưéÿ̀ü…ư¯₫Iÿñÿ…ÿÄ₫ïÿ'7ÿ̃ÿµÿBˆŸ₫8íÿ>6¹–D¾ œY2ÿ:₫[ÿ®ÿüØ₫(ư¾₫§ưªưøưMÿ.₫₫nÿgÿgÜ₫Ăÿhhrÿœº ˜₫äÿÀÿùüEÇÿ=̃ÿ¡ÿŒnØưܾüÜéÿä₫²éư7A₫=ưp\₫}ÿö˜üÑ₫à¥9ÿ0+$Bÿ‡o¸ÿhcÛÿF2ÙüEÚưTÿ—ÿ¼ü  ư¾ûưxÿúÿQ³ÿÛ*ÿL ₫eÅ—üçeU₫?úûĐ CüLÿ\ó₫mÿÿfà7₫a8ü˃^ưÜUưëư¤“ü.‹₫öô₫­́ü@ûµùüëç₫soÿô₫5:üZÅüEí₫£ưZưjÿYưµÿíïü¦ÿØ₫ñgûỦuŒÿZưÄ,ư„₫₫̉ú} üo₫|ÿENü‘›₫yÿ}+ü©`Ă₫ưN",ûY²ư£ê5üÿü¡û̉”ù₫\ûs»₫Xư8¥úuƯÿ;ÿ±ú,ưưüÅü‰ÿôưvư 6ûLư™»ÚHû%—„8û&Ă/ ₫7ÿ ¸ü¤±ûóyüܹøe%ô÷×ê÷Ă÷aªÿƒÿL!ùN¨ưÿ3Îô„S ?U₫Ăưû˜ûol₫ûưÖUư©vüểùí}ûØùÿü`₫ˆ₫±₫¢ffùưƒ~₫‡₫7₫& ÿÎüó[üùư"ÿ­₫Oùäzö(ÚưU₫Û€üÄ„ü²XüX ăø Wÿ₫¿ư™ÿjÿJ÷ö¤ÿyøg ö2~ùÏ>üX₫öù5ÿ)úz…]ëû%ưJûà₫RA8Ë-X$üâ0ü-‘ưêÙWư™‰₫₫pü÷ÿy÷^Kơ)‚û ưé₫[ÿnaûÖ "Ôữvï ûˆo–Gưó Rß¹ú̀&₫5‚÷ˆ¨û6éúë₫àøW₫ ùG©ơØÿ•ưgÿ/úi½üĐHüg‘ÿAhرŒû)´ÿWÓyưưø¸¶ûwư$;ü³HüLHû:ÿ+ú(¤ó¶ô’öÿZ₫²úÅÿˆû[?ø'ü |₫}Ó/ ¹ûư 9‚ ÿƠfư“\ư’³ô kùï¿ö5₫ùÛÿFưÿßÿbưƒ₫¦ù[ưëFùùØü*Đùêÿ WøÈÿcù`ºúÙ!±ü™µú˜<DÀ¡M¥̃ûŸ€üùưÿcöù<ƒïø½åüWyư"ÿüeÓôt$üÖ₫ĂÀ9üÍûüû¾øư ‹ûÄAûç^ưrưÆü’ßö<6ư)û·÷ ₫7₫­ü›ûÍăT7/æ<@Í¢ÍÚá**Yư¦ÿ”²úµ!₫µư†ûjưbüµùúÙúkư›ơÏưû7₫0ûÉûhưüö¨Ï₫„ ´X ± æ øÇB@iåÿt¬ưüøùqûÔơÉ÷±ơöEö;ơ”ùø.û¤ùn₫°ù̀ÿ́ûu,₫¶Ïñx ₫½œ x _ 3# ¢º~I₫vüjøøÍó’ôêï–óoñ¾̣̣̀ưôôŸöœ÷–÷iü©ùFÿ°₫vß|!ưÂ@w₫¡ ² {º¼4¤‹"îư`ûú4öuôḲ¦đÂđÓîKñ?î5đUï'̣OñƠôÂ÷°úÍïú ¯ èøj¹˜́ ’Đñ̉¿­ƒCưû~÷pô­đËîẤ!́>ë‰ë@ê ë7́½ïñ4ô=»' !bÚ~X¹Ûơ U hO0äwqo}6@Ï₫hü|ø1ó®ï¯ëŒéÅçơçîæ<ç¼ç7ê«í6đĐûI1bz¥GÓ­$Á° … ½ ª"Û£dá•lü1÷ẓÛî%êåâåå ä;åưå¸ëB́VóCx²PZ2Êp=47 «  ?+₫o’ņ}hüxù-̣•ïêKä'åªäÀâ§åúä‰ë}í÷ö@µ]ÑÅhGº̀Óơ ‚  -c?,gâÿø`Îáó₫øúËö`ñ₫́èÁ嫿UåæÇç–ê<í£óÎư  j-v†÷)h© ¯ %ZÅ„‰ÿ »öÿ—ªÈ»ÿEûéøXô đ¹í«ë¹́Wërëđẹ̈́Öí°ñ‹ø"ǘOƠ ’Ê3 ~ îa.‰¨L = U4, pÿ+ưºûbøCöœóJñDđ î=í₫ë´ë ́Àîó ø ₫*€ ^–¦{nê „ ¡>|¥µ̉z=zÖ£Œÿ*₫đûNù{öÁó®ñçïNî₫́$́́£́-ï·ó‰ǿưOAV 7œEÁƒfÖ ø `I½±Ç}5(›êûÿ¼₫ứúiø ö*ôỌ¬đ1ïØígíPímîêñ7öúúëÿÔ/ ¤  &lƠµ G s -›ÂRU]l̉EœZ«Äÿùưóû©ù#÷÷ô¦̣™đÚîFí·́®́îñäơú̉ÿ¤2 Æ ?”oSqŒN ˆ .hyOŒ°Œ#p< z±₫füÖù5÷µôX̣!đTîß́#́.́ƒíüđRơúRÿbü³ SŒªv½´ £ÑRU±p¶ơQwT₫?üĂù?÷¼ôP̣đ,î™́ÅëĂëíKđ˜ô[ùª₫́¿¾ ÊF±³bö:  I?ÜéÿgÿlÿƒÿÎÿ–VÄÊ[bµ₫€üúƒ÷óôỵđîẃë…ëÓ́ đ€ôhùä₫pb ÇB¼ÁñI¢˜ + ßFMÿA₫¶ưÔư8₫Đ₫èÿôă¡È8ÿưúâ÷%ơ‰̣đî¬́₫ëḾáí ñ™ơ‚úØÿ8ù ̣ ô]LZªñ 2w@Œ₫•ư(ưTư×ư†₫ ÿÉè®É"ÿ̀ü,úg÷«ô6̣đŒî±íœí…îvđÀóø„ü#¶³  ƒPif•-ú O m€ûÚÿøưQư8ư‹ư₫ù₫üÿ¶ Ôÿÿx₫GüËùB÷Úôạ̊zñªđˆđúđ̣˜óöeùíü–S«e … #T¼„ ¸ Œ «•#ÿ.₫°ư®ựư‡₫Nÿ̉ÿ´ÿÓ₫hư’û’ù¿÷&öëôô_óóXó ôeơe÷úùƯü¦ÿ_ÔơÊj Ù ü ¢ # ÷ ] YETæÿÿ­₫u₫j₫Œ₫˜₫‚₫8₫¦ưƠüÆûŒúMùø÷QöËơ£ơĐơ]öH÷†ø ú̉û»ư•ÿ{a2ƯZ° £ A v # b N övö†/₫Dÿ²₫V₫%₫óư»ư`ưèüTü¦ûôúEúªù ù¡ø=øø+øxøóø½ùÍúü†ưÿ°{ÍøƠ$o|KÏ$=DKOcŸÓ8–ÿÿ˜₫₫ư*ưÅü_üüûnû½úĂú~úWúSú4úQú{ú;û₫ûư₫2ÿ ñ³k¤ú>7åÅŒ?Ø]×BĂZôc˜ÿé₫j₫́ư´ư ư‘ưOưüüÂüĂüµüü,üóû&üFü?ü}üư ư4₫¯₫6ÿ¥ÿ#Ÿtæ+PwÉëL“ª˜`§?¿B¡Cđÿ©ÿCÿô₫„₫T₫R₫#₫Âư¥ư×ưđưÎưxưXư+ư/ư9ưcưư÷ưh₫)ÿĂÿóÿ>¤̣U›·”®¦nTAH^•ÊÉÊƠ¥qHån|ÿû₫¢₫™₫₫Åưä₫ăÿ”ÿ^₫êưøưúư₫₫â₫Cÿwÿÿ™₫§₫Oÿ³— $Ó\ßYơÿ¿ÿ£ÿ ÿËÿÙÿàÿăÿ n÷i ˜IÂèâÉ‚rAÿ₫^ưçü“üôü!ư₫æ₫8=r₫Qư{ÿÛüÑ₫â×ưè _üZ₫·₫̉üâÿQ-[w>#gưŸĐûßÿlÿÊ₫¢º₫w₫₫,ÿ„ÿÅ₫ZÿÖ₫ÿ‰₫¨ÿ’ư&ÿÂ₫ÏÿíÿN¢“ù—h©ÀÿÈ₫?ÿÿö₫<oQOÁd¿ƯxÿÖÿÇ|ư1ưßưÔü6ü’ùmü'ư<ÿñưçưxÜP1ÿƯÿË₫:ÿ‰ư¸z½mư ÿ¶mÿÿxÜà*IÁêDÊÿ‹¶₫=Đ₫€₫¬ÿ>₫GÎ₫2^“0ÿƒÿơÿ”ÿˆÿœ2₫ ¹₫´₫Pÿåư¸ÿ·ÿ‘ÿDÿd¥₫?ªÿg8ÿÉL5]ÿvWÿI₫€hÿ=ÿÿÿ'|₫$ÿÿØÿW₫\₫—₫ÿŒ₫²zÿ1ÿ2ÿHăÿP₫QÇ₫ÿæ/åî’ÿ¼ÿ)ÿÎå₫¶ç™₫Đÿ:Ùÿ­ÿ!ÿ¼₫‘ZŸÿvưIhÿđÿ›üåÿ25₫l‚ÿxÿ¢₫ư₫·˜ư³9Jÿÿ P·ỵ̈ÿ»ÿƠƒÿ†Éÿè~èÿ( 9<Wÿía¼ÿ‚ÿAqÚÿrư>9ÿ0ÿ©₫”ÿÿÑ₫ư;₫}ÿÈ₫åü₫>₫–‡₫^₫oñuˆDiíĂk´{¬ÿ~HÏ©'«ÓÂÿ•ÿjÿn₫₫Ơüư"₫…üưJüúü¢ưåưÖû¤ư˜ư(ÿq₫N₫¹ÿ£.Âö¸[lÅ$ÁgÓF8sE₫—ưëûü¥úÇøúùmúKùgûûƯư¥üư"₫O₫5₫ ₫’ÿâÿiÉRMä~ÂEÖ_{;”ø₫ü_ûƠù>ùö*ö*øÄø-÷ß÷¹ùÚû˜û́úDưsưÑ₫øÿOà†µbùĐ@ ñ · 1 FÅ)8Qÿb₫«üúñ÷÷h÷a÷đö:ø|ø úXúCú<ûµü#ưMü€ü,ưË₫v₫£ÿư₫Ø₫lÖ H ¿ E ÅÚ̃ Ă_i%+₫ưÀûÛû«ú̀øt÷[øâø¹øÂùXú\ûmú0ùKùZù.û½ùÊù ûüGÿFư#ưÂüÚHI 0Â}Ơ«Ö Vü=ùvøăø'û»úŸùÛøèøøù6úáù[úúú-ù“øøø¬÷«÷¡øúùüÿ°R d†e¾¨Tæ® l"₫ºúuù8ø³ô/ô‘ö^úåưñü‘ûsû%üîü’üyú£úíù5ùŸø›ơPöö>÷‡øùøJûóư«ÿ*D ¦ê纑à bụ̂ö†ơơówñúóøåư®kÿfÿé₫¬ÿ]ÿIưBûMúÛø@øhööôSöÎôB÷Îö~ù¯û­ưŒ¼w%?sB³ †èü“öóṂ“̣\đÆñ"ó¹øù₫=ˆOQ"Ë₫TüVùSø‰ö×ô$ôVó¼ôƒơ5ö ø9ût₫₫ ‹éßrQ_³ ©³ú²ô$đ đAï„đ²đ̣œö&ü¯°Ë M â*S₫)ü(ù–ö—ô!óóCó]óYô)ơ´øû&î ̣hRƯiµĐ< ¥tÿ;÷ïñî«íoîoïñMó¡÷ư\üt ’ Y ‰o~ưèùöṇ̃6ñúđƯđøñ®̣çóSöbù'Đ æå̀9²6È d÷÷0̣åíóḉ}íaï<ñ†ơøú' ª"d w œÿlüàöóéî³íoíHïïñ•̣Cö­ÿ hâî!2dÇG% Âñ÷9đËéEéLé€ëœ́«î:̣øU% Û^ôô _IưæöÆđ¯ë„é–èĐê@ë²í îó+ưŸ đ!'E#v |F0L•÷ƠíæÔå/æêhêÓ́8ï™ör‘ îÓ£yµÁ K—₫÷wï5éæèä£å«çĂè́íí ød®‚!)!)4#ăÉºÙÆ Àüÿđvç‘äuåÓçéé ́Œđñú̃9øu®ß#è ê&üḥđêưåä¿ăÚăå3åé́ÊøGGº"I*à(»$4"}·í’ †üÇ̣Hè çƠåçXæÔå­èyîsùwÍVÂ&| Œ ¢ÿ/ôX́ÙçåäăeáJá:à{ä\è±đÍư2 Å{$1*r'`'ă$Ñ"9Æ]û˜ñ=ê0èzä"ä0á·ă‹çñ–ú́ ˜ÚC?’½ ÿ2ơáî ê|æấ̃?Ưø̃[âŸèèísûBlô Ó)X(§)¾'$$ß ÏÑ1Öøf́ë’ă€äÆßSâ¾ä÷ë×ô₫v< Uö7{A­I­úö‚îĂê\ă×à¹ÜÙ̃jßüå”èLôVÿ >5"-)€%+K#‹&A² \ŸôÔï êéåăwßăFäéíôå₫vs xÿ(;s µơüûơođªé°äÇàÏ̃–ß%â¦å¬í́ù–Ơ`#"Ø(R%(>"­: öưN÷ñÆéƠæàÁá'á¨ç‡í+ö°üw X[%| B;ü¢öÁî^éºäÓàSá"ácäíeö« 7ü Z&ä%ó(à$q ;– +7ư˜ôî€èÀá‡áà_åGë9ñæø-ÿ”Ó ÎÉ!A ùÿù̃ñxíĐç<ä%äkâ®épï.úg̀ Âåv ư!'& #æÏ ƒWÿ8ơ[đ÷çåqăœäÆẹ̀́£ö{ưBÿw ó ! ˆ (—tưk÷Ọ́Ûí́ê‘èƒé¹îĐñmưÂÿ° ‡ !íE#è¹o2 hÿ:ù5̣́lê:èâêÓ ïọ̈³öZü.JX̣O"›î₫ú—öç̣¹ï(î}í~ñÑó9ư=ÿ±Ơ …‡G( op Jü%ö”đïíIî”ïxđôûö¹ûYú̃-ƒÓâư­úƒơôúï#đ@î£ñ±ó©úÖÿRf e Œă¾hÿÉ_ öh₫·ùódñëïUïüđŒñ§óơö?ú*ÿí9ÔZs₫3üe÷Yô$̣wđ•ïÜïỤ̈«ơ›ưÿµ uÄSåÂmHÚ … =̣ư ù?ôọ̈®ñ0ñṭṬơ3ø^û)|Œ²ç§*₫Đû*÷Uơió×ñÜđ"ñ`óövưÖ₫‡Y =S/€, - eÉÿvûT÷ö³ôHóôhóáơ¼øåúÿ¼‰µßHÖưs₫ûô+ọ́@ñ»ï¤đ~ôü€›Ă n€*ÅMC¦U º&VûF÷²ô[ñ€ïÖï£óSöƠùSư™h0 ¹ & ă×¹kưº̣Íî¶đúĐç±âZædêêôöùûư ÿí!#³&&[€/°₫̣¨ë´ç.áà¢àŒåZị́Ïûü JVư¡,ú¼đçá>ܧÖÖăØEÜ•âÊø¶Ø X8*µ3M6—4µ6L/·7­ tûáîáÜÖkĐqÔ}Ùøà!́Óơiˆ æ #Ø!Ơ,ôXự<êôß‘ÙtÔ(ÔªÔä̃àđ«ơ,&Đ"Ñ+Q4–8^9R0* #ˆ̉Hø‚êvß-×HÓÔ°̉ Ûæ2îÎú1k¬Q > \ ÿTơPđñç÷á΅çèyëyü¼æ½çb#đ$ %f)ƠgǬûBôé<åTßỗ»ă°ăüëơ÷÷́¾  ÁQŸùYùŒơ ê5÷Iö÷îEw£—Yø :#§j˜:EúBú8ë™åùæzàùăäæñëÓô—÷0£Ç] ³ ä5₫mö°öæë¢ë¶÷ÉéRöR´ü* äá #{!b$Û(Ăƒ»ö¸ç©êäâTƯsäcäéèñjơè₫h˜Å )Vû•üøś·ụ̈jđ%|ûÆN ƒ#!,} ]ä­?ÿ}ï&ïöê˜á©ç_ç_ç̣Ỵ̈³ǿ›ÿJ'cD¾ûëùFú¬íü9öÅđpL₫¢Hơ#Ă6\Ú „ÿg̣›îàê0ă,çVæ>ç.ñ:ñÛ÷ÂÿËç6₫púhûĐïñü\ơrñ̀‹úE×Ô ‰Ô!®Ô I!̀CösđJ́YåKçGåçÔî×íÄơÆüpû|¢ÏEưBưû²ô‘€ô‘úúN¼äw_Pí®)· ŧöÜñèíèèưè¿ç;ëÏíÀïR÷ÊøÎûˆưDlù¦₫“ơ¤û¿ÿ/ó1¼g₫ ‚ 6 Îà * RƠ«äưWóµñ́Ơè‚éĂé÷ë\î÷̣ö1ù„üü”ư¢ù₫¦ø„ø™ôZÚDü´Î&ˆ?¶¡÷ 7₫*÷åó¼đ$ëÇêënë¡í¸ñó©ö/úú§úN₫pøÏû̃ùö#(÷Áö <ư½ dÇ3£̣1G₫ kùơ|óJí«́ í+íơíØñ‡óªơø!ùzøYü"÷˜ùOùơÜ-÷WÍ £ưĐ ‘ßïÓô.% ©¼qù\ơúô•í î†î·́æï¹ṇ̃̃Áöơö#ø ù̀ùeöøúáôÈù%ơXvÿÀé èûBsl/ă›?êø\ö£óÛíúî)îí´đYñ¾óXö]öøàøø÷‚ú¤ó/çưóø T¸í ÊÓ÷ä wĂî¡â₫<ö×öñï4ï#îyïñÊñœơÀôÆö•÷¥÷wơú!ô$úBPơh  6i É .3„df¶yÁιT÷öƯó1ïOï.ïïîđñơô.ơÚö}öñó}øàór÷bëơ  .b–Œ »ÈÿNE >ăh¶ö́ơ óïîïºî²ï¾̣Óđvöö!ôü÷ ÷­ñOø̣5ơFœô6( ´ ¬ncÑ7¸k“~öEó“ñ!îåííí¶ï/̣Ÿñs÷Ơö€ơ0ùø_̣¾øµñ´÷Âÿiô»3#ê6è ‹ø?Q\øÇT Äÿ“ô.óđ́îv́ÂîÆ̣&ñe÷Ư÷ơú₫÷Ị̂¥ùpñIü=ưÛö1 í`Àî!Î*Îs‹^”ụ̈g̣¥í êÖíéêííỌ́;ñxöø_ơ+ûđöûớ÷Çơ*àù±ÿQ µï ›Ả'cÓ]âP #ïÿö‡ñáñOé₫éÀíqéî™̣Oñ`ơJ÷÷ÍøDö«ø ömÿªăü÷ ï u  °‘¾n<ÛW¥ ÂîÿOú`ï đwíËæ-ëÅëëEđ†ñ:óùö=ö₫÷=ø2ø₫ờ₫Ûư•²Ư Xç äü<Oª % ïªüZúñîgë«çêêtêđtñ@̣%÷ø¥ø×øàùô÷fưçÿ 6`RH”ÇÎE 8 =qưSùWñûîoíBè)éœëá̉ï_ñó¯øFøf÷ ùØûäøùµ:ä? p äµôÊ;—¹¼ ₫ ’»û$ú1ơëï=́é́rííëFđnô„ơ÷ëụ̀ú•û’ùơù…ùøưF>ú ¼"n^¹¡# ¬₫ÿµüúùc̣ïªíýaîZîđ"ôóôjø&üèúû ưrú¼ûÀ÷7ûù°ûlå ΔYó»Gl- ˉưéûÎöñ>ñ$ïZđḳ̣ơ9øîù·ú³üAưư2ümúLú…÷ơùf₫¥₫ö^ȵ X 9‘¥ VŒ ×;ÿ™ú2÷Wô›ô ộôö%÷¸ùÛú&ư€₫µû#ưÑü\ü4ùøˆơÁ÷¹û‡ư©ü0Å N«£·̀uE Lom₫Íúï÷töö÷ơÁö(÷H÷ïûñúgü“üP₫₫ËưQüÙûÛù‡ööUô1ùîú:ư'¸n¤ < P̃‡Ñ _ IÍæư€úNøäørø’ø”ùMùƠúûßûúư ₫₫₫½₫ZưRû¹ø”öươÙóö1úïû„ÿuñO › Û©h`!  W¨ÿ¦ư>úôúäú#ù1úSúúaüKûÿüû₫¼₫µÿ!ÿ:₫àüSû5øöËơsó­öjù¸û×ÿ€éº‘ Í Q¶¯‰ ü ˆg4%₫wûïûEûĂúHû û…û‹ü­ư₫/–Êÿ¥ÿM₫füåúƒø?ơöyôôÑ÷ ú₫tD?+ ] 8ƒ º b À ´…y?ÿPưƠü¥ư’ư ư;ü ưi₫#₫ÜÿÀÿX?ÿ*₫süHúAøf÷.ơ^ơóHơøû€₫|¹µ¡ { e ­ = ­ƒµ\ÿ#ÿ"ÿ₫=₫$₫Ư₫ÿÅÿ–ñ–ëÿ₫óüûíøööaöKôAô ô»ơ¨øú”ư”uéØơ ¡ J À p×´±Èd±XüÿfÿĂ₫)$…ÿ(₫Đû4ú%ù±÷¡ơQörơ»ơÖöZ÷ùùCüî₫ï¸g̉›yú ¾ O –RECWvQDÏÛw™2ÿÂÿ¼ÿ‘,2ÿK₫/üÀúëønø•ö,÷¨÷ư÷Gø$ùFùAúEü₫Âÿˆÿ.‘¿ạ̊-FÈ&̣ FHdzfĂÿاĂct₫G₫¿ü`ú úfùmùjù¦ùKùäøGø₫÷jø¯ùŸûeư¼₫ ÿ;¬äÁ«É£–qÆ+Z”Uä§ễ4S<§ÿ¨ÿ%₫]üÁúûÂù ù_ú̉øŸøhöö*öưöÇøáúdü¦₫…c‚‘Eœ’|•i€¼ ]ü̃0hhÿO₫ü—ư_ü6ü[ü‘ûûBúĂùpùùßölơkơ;÷ßø;û2üjưÿ"£NóùB È HL°fXzn- 0æ´ÿđưRư˜ưư ₫ ürû₫ùùùOøƒøÎ÷Øơæö¨÷2ø½ùßúTưï₫4®M×g~ 0  CAϧ´¢<éñ¢áêÿKÿ7ưëûœüçûü.ûvúúúhúùù øæø*ùù™úÏû[ư[ÿ¨b“Đ0™{3«ˆjnVùV7hgëâ₫B₫ ü‹ûúú´ûUû ûvûeûûUúđúĐúÛúûùtúhûËû¹üwưy₫„XañH*â3€[×Z+ë©…µ!|ÿh₫]ưAưü¡û¾ü˜ü¾üPưáưùü@ü¨ûûIúWúŒúúûœú«û;ü₫}ÿÎÿÔ¦ÆG¡£¯·@à¼́W0GW07úÿƠÿ₫ ₫ZưÎü|ümütü/ûWû-û#û½ú$ûûèú˜úâùŸûHûñüDưÿ#`CJ”öŸ2ѵẬ{Ôwû¢Dt½ÿ©ÿ̉₫.₫Qư5ưÔû2üĂúiúû3úOûÙúûƒúÅú˜ûøûư¥ưđ₫}ÿÜ =*?g¸ƯÖGÚ¤Î[9›gÿ ₫:ưqü|û¿úÚûûúŒûØûƠûü"ü ư\üÏüäüüƒưâưá₫æÿ:‹ }°£5‚ .₫? .–£º¢ÅÿÆÿ¬₫x₫ˆưˆư&ưư7ü×ûDûÂûWüøü3ưưAư¼ư₫Èưí₫úư`₫Z₫_₫.ÿ6¥iÚSø¸M,D³QBs4(ù₫ëưáưÁưÜư₫bưÓü.ưư5₫§ưÖưñü“ûûơû˜ü,ứưâưS₫)₫Fÿ đR̀üÏyô‹OÇt‘¹ß‰ÙÿBÿ¶₫"₫x₫ÍưÆưÛüÀüyü‰üZübü³üßüDư7ưŒưư₫=₫Ă₫ö₫¿ÿ´}̃¢æmª°ñ~÷R0ó„|ƠØÿ¼ÿvÿă₫_ư£übüÉûßû¯ûAư³üÑû:ûü”ûØụ̈üJư7₫đ₫xåÔk’/Û%d½»+2k€»Àẹ̈ÿTÿï₫î₫Bÿ@₫Ă₫₫ ₫.ưÉüơûÚûŒú úúiúeúÖù—ü6ưz₫°̃3÷>·ø+Ú²‡’!Z:,ÿË₫ưaư¨ưc₫÷₫/ÿgĂÿøÿîDư!üÈûgú0ûơ]÷ä÷*̣àîñ|ö Á ^—)¡À „ Ù0 «Låưç÷Ṇ̃Ḳ ơáù—ư:ÿÉ₫ôư`ưäưÿÿT₫‡û÷ạ̈êï‹îtïúï̀đwïcû. /Ö9<:,3…¨ñ[́íQî°ñĂëêPè»íú@¹¦P÷™ü+÷öËô ö_ñë¾çưâ\æé£ị̂ü₫ü°&QBWK?Q£î ï¿́=é̀ăcă½æấzöJƒ ¦>vM9QăI®,ïŒơQâ´ÜÅÛïàCèé₫ñ+öKª 5`₫ÙmúÜí`é§è:êvï†ëẂóææ–æ‹ê$î)ÿĂ&-3I OKQ 8æúÿ@è•ßâßóâºë́́¹đœơ)úË ¿ÈŸûïç9êXë=óùñ—ï‘ê§å¤å êîúûĐô#6AGKÂ81̣YëYáâåtî]̣môúoûÎ1 +&}ùî5æcé,́*ô»ơÎñîêç è9́>đư'"o<ûAEˆ4R ©ëßâ«ăqçñËôûöû ü‡q jA $÷ḉ‡åBê™íñơÂöJ̣Áí‹è$é@ïLôHäÉ)=u=W<#'†zû1ê½åècëôTơ¤ùüüfÿÀ ` ưú(̣YêKéåïṣ?øÂóĐíóéăæ‚́Ø̣0üæ̣t1¿;q;[3¤Ọ æ‘æ©ê´ñrùvùP₫m₫+ ¯ äG¯ơ>ï4ëEï°ôăö@÷­îúèĂåççÓđâøwưf' 6â7£3đ" ƯùëqælêFï´÷óúư6m¶¡ •O±øcñ¨íï•ơXøÊø ó@êbçeçïP÷×wÄO.D4w3(̉Iûïjè;êpï¼ơ.û4û]₫ÿBv$¨üîó-đÍïiơÎùúơö¯íøè„èJíâơzưé ç¿$-12Œ,)yVơ÷ê&êƠï•ôúû¼ûâ₫Íec”LưyôéïÁññơüûüøđéeèíÁô ü¦™„­+=2A/ú « tùí¦ê<ïbơ—ùZûdû‰ư„ rÇü‚ô¸ïzṇ̃ö4ü€ưlù)̣&ëPé#í^ôÙù6½ ±a'0´0É$àÏư¬đ0í*ñö!ùÙùøùnüº­ÚÓ—üMôæï<ñöüúÏûÏøộ(î©́̃ïơùSưç„Û#Î.̀.J$Đ…Íơ‚̣Iôyöö(öø÷ü·A—úôŒ̣èô£ù˜û₫ùröïñïÆî_đÓô¥÷küCf $N-°+H!UxÀùLơVô5ôóôùÿæIêúö˜ơiơ¤ö́÷G÷éöíôñèï—đüó§ø1₫·úv"X*w(ukØNü¯÷‚ôụ̂Ụ̂ëô—úB¯¬ºè₫ơú–÷Uö<ööy÷z÷{öºô`đ`ïJñö3úe² m³"”(£%¹~µÿ½ú̀ọ̈6ñyôÚú Û¾₫û*ùèö÷ôZơ ÷n÷Øöự¾îÉî–̣è÷éü¶á (©#G'•"í qÿYúoơ^̣ụ́­÷¶üzjéôÿm₫+ûâ÷¾ôÎôÁö9ø%÷uómî́íg̣â÷WûÁưƠ€? &&“"©̃X ƒ‰ÿ]ö°ñḍŒø[ưHưºüÜưe‰ä₫øÜó¸óE÷|ùjöÈñúíïî6ởøzøføµÖ̃#V+€xö æĐợ́AöXúú̃öøE₫•6Ëü„ötö!ùNúöö[̣đ‹ñïñ\̣ḍƒôù́»)£ª)‡Ê úå÷ßöBơ4ôÏơ"úÓ₫, ₫güÔû‚û~ú̃÷@ơåôç̣”ïÜí‰ï´̣-ơ–ùUöŒ ¦ ÿS­ u:û´øö3ó…̣1ơrùLü¸üsü ưÑư”ü‘úø:÷Pơ0ñÖíkîñ‰̣nóú ™,Q!c#¬Vl©©₫…ø¨̣Jđỵ̈-öö¹öGúîü-ư¸ûÔûơüülø*ôRñ‘đäđ{ïÛï[ơÓ •œÜ Ï#÷ åq‘ ¿=ü£ö&óîñ"ñ(ñüóßöh÷Îø÷ú₫ü&ưïûñú}ù1ơ·̣̣rñØï(ódÿj ~iT!![çĐó 9óú&öJ̣Ûï¤îÉđ%ó0óCơ˜øû́ûÂûóûú¼övơúôó‹đ8ơ9ßW ÄÆµÆL ·_ÿû÷0̣đNï$ïơîñ¾ôxöVø ûÀüü˜ùøøŒơZóëñ?ù^… ` Â-e4̉È 3"°ø~ộ+ïḮÛíLđœñ•ó“÷úÜûĂûâùÓùRøLö’ôsóüµ+” ?O†ư½Ă aÿđú÷vñơî î‚í î$ïẠ̈öl÷Ÿúûùúđù÷êô÷Ùÿ»X±º¿lc:g3Hmƒüü÷cđÔñäíë¸îï•đô ö̃ùùAøÂûùÓö4÷Wú|ÁÊ®RŒaEx e ưG÷†óxđâí₫́8í¢îđđẸ̈÷ơ2øH÷đøú;ø&øw÷·ü!B« wè .Ëmœ¨Ç ˜ưö÷vôçđÅí?́4íÏí ïṿXơåơ¹öùIù"ø°øCøÆư¤ Ư €?Ä9ƒF{¸ ;©₫Đøªơ ̣µí¢́Î́ố,îñYô¥ôÊơÚø¼øÄöøø»øo₫ë”Ô ‘†ƒI nÈ Bÿúö¿ñiî‡́Ûë ́±í đjóßóøơëø~÷Aønù÷é₫½[ ›ñÛ®t__Ơ »ëŸû‘÷]óïè́9́jë<í‚ïññkópơá÷â÷øúöưErÿ; óT ÂÅưß £ ¤H₫4ûÔó€ñ̀íuë¹ëªë¹íÁđ¨ñHôTö¡÷Møø‚ù7ù›*)Ѭ ÚÜÁ·m,y ͶưÉøˆ̣çïíëÍë¼́ïfñỤÎơ¡ö5øvøTùxú›ù¾Èvl ra5Q̉g̣ 6 ¯oư[úṃÎï îÂê5ë́}î­đ.̣¢ơœ÷]÷úWúoû û|Ă4¨ 5 Ưæ 9™Ê»“¯  G¾ÿíüœơỆ<ï ́ế2ë·í5đ4đ˜ô‰öÙökúú¡û#ưIư˜¡§Œ í 癦 ¡E(ø c < J¸ûpôÊóïíỚUíèëÆî6ññˆơ|÷oùûYú(₫Á₫…ưÅYBß    î çơ‹í  B ëb₫kù¼ô0ñĂï€îÈ́3ïïñiđßơÏ÷i÷iû₫³ûL¯$ÿsZŸ ́ { | v¶ Ó  eÇvYưIúaôô£̣ôîÿđÎóÉñeóI÷<ù-útû1jÿbư†vÿ6 ̉ùµ M V đ à ñ À z  H,«¢ưXúxú^ơkốóÍôdơBôHøâú›ùưüä₫>«₫8ÿI₫ÿÍ₫!¨‰tÑzd· ¶ú‘ÍEIåBÖÿáûKû}ù#ú‡öúdùûÙø_₫Sûư"ư|ÿËü™-üÿß₫æ₫a₫|ÿípÿ7¼ô&ê  „ÿ¸´₫aưÉûôưü…ûóü₫œú!ưkựüÑư₫ ÿ­ưéưkÿ“₫ÿHŸư³₫ÄfÿÖ" ± º@+Œ§•“`«æÿ¡ư;ï₫Sư¯₫ơưIưgư›ü¸₫‘ư6₫²ÿ@₫Ơÿ¨ÿÿ5]b₫_½ÿâÿ¿£₫§ưÙÉ`ÿ )¾êÏÿ—ºu₫Ơÿ‰ÿíư ñưjư~4ÿM₫́₫Qÿ2/À”ÿ1¼ÿÈ>ÿ„=WÿKÿj?ÿPÿï₫¡ ÿ½₫ÿ̃₫5ÿC₫2ÿö₫ ‹₫µ₫Çÿ´Yÿ#ÿ̉ᡸuÛÿÁíÿÂØÿFÙøÿÙÿ(§ÿ›L₫”Nÿç₫ÿ©₫_7₫d₫@ß₫.ÿS₫Cwÿÿ‡₫+ eÿ–µÿE•₫_•GÿÿèU6ÿƠÿÚ—ÿdeÿ­ÿ›ÿø₫‚ï₫yÿÍưp‹ÿßưăÿ°ÿd₫ E]ÿ˜₫Çrÿ€…~ ”äÅÿ$¢ióÄÎE–|jbÿÈÿ4î₫ ÿĂÿÿÿÿÇÿuÿÿ&Hÿ±ÿü₫Æÿäÿk£ÿÿ†6ÿ6‹ëÿI¬†v₫ÿûÿL‚ÿá₫₫ÿ ÿ,÷†ÿZÿÂÿ´¶₫iÿêÿÜÿÿ¤ÿF€ÿ·ÿ´ú₫cIáÿáÿÈÿ“ïÿêÿƯ˺ÿ… Îÿ̀ÿ<9ÔÿªÿÓÿRÿ'ÿ\Úÿ%%ÿơ™ÿ*âÿ"uÿ ‰ÿÅYÿxÿ’éÿÊÿ>½N«ÿ̀Ë`ÿ'GÔÿß₫Ñÿ•ÿrÿcíÿÔÿÇÿÄÿµ÷ÿ"Îÿ L{ÿªÿœÿ2ÿœ\ÿ[áÿ½X¡ÿéÿĐÿ›ÿàÿÿWÈÿ/ÿẢÿ₫ ÿ§1ºÿ?ÿ§v"ÿP'ưÿ©ÿg3=ÿbbÿÿM˜ÿ`1Çÿàÿ£ÿq̣ÿ ÿë₫•i₫Íî₫~ÿƒ2ÿe_ÿÚÿZ$pÿrĐÿP”ÿ#ÿǨÿnñÿ$¤UÿIÀÿfÿ}!µ₫%U4ÿ‹ÿ&`ÿ|5ÿ›Çÿªÿ₫"€ÿÿ–ÿ±nÿÄÿ,F)ÿùûÿêÿ#íÿºÿÿ¡ÿÿ4Í×₫\ÿÜ/Qÿ ÿDè—₫;ÿÄá„₫9 ’%ÿs₫™ÿÀÿ‚ÿl'ÿ…rFOÿ·+·ÿsÿéÿ¡ÿ-ÿÿY₫1²·ÿ íÿBµyÿcÿÚ÷ÿ¾ÿ@p)ÿ.nûÿ=ÿ ÿ1Ôÿˆÿôÿûÿèÿ|ƒÿàÿ“ÿöÿbÿ)-Úlÿ’ÿÂ5w̉₫gÎÿßÿ÷Ü÷ÿS¯ÿÖß₫Fÿ›Óÿu%g₫₫óÿ”®₫‹ÿÜ₫ûhÿàTÿÿÿ:çÿ{ÿ‰k§ÿkiÿƯ>ÿåÿüÿtÿ¼ñXÿ̉ÿ70ÿÿ>Qôÿ¡₫ư#ÿ̀ÿô₫˜^₫^ÿ pÿªÿ¾À‘ÿ†ÿ^Q₫¬ÿdüÿqtVÑƠŸÿ́ÿ •₫>Y¬ưÿ#₫“₫_̃Gÿÿéưø¨ÿÖ₫>₫bÿçÿ‡ư₫Z7ÿÿÆhÑÿ÷ ÿïÿ€˜¾‡ÿgù«\@‰ĂU†(rÜB­¦ÿj₫jưTưÇümü»ûçûåüSûüưóü³ưqư₫<ÿÿnÿÏÿ)~¬ÿ'À«Ê‡ĐHi¤1üÈ-nư¥8¾ÿ9ÿ+ÿQ₫P₫ÿưôư=₫₫₫´₫e₫ô₫ÿÉ₫ÿOÿ™ÿ·ÿîÿ×ÿJV9mm”±Ä­È½‚[Z@0 ́ÿñÿçÿäÿƠÿÀÿèÿûÿîÿèÿ̃ÿºÿ¥ÿÉÿöÿEÿÿ#ÿü₫₫₫ÿiÿ‘ÿßÿûÿ²ÿ²ÿ¾ÿ¿ÿAüÿ(We’Ó,‚Ë /(ß‹;Ûx-Ôÿ™ÿ9ÿ¾₫i₫₫úữưáư ₫E₫¢₫MÿĐÿÔÿôÿuI₫ÿºÿWÿÿ₫ÿKÿ}ÿ˜ÿ»ÿÔÿ!Q7Eƒ–f¾ÿdÿÿÿ$ÿdÿ¨ÿœ [­ X_a„n6çz¤'Áÿcÿư₫´₫]₫?₫{₫¾₫ê₫ÿ'ÿFÿ5ÿÿ̀₫|₫9₫+₫₫₫e₫¨₫ ÿ‚ÿçÿL“Ë %50 ö¤kjuÁîêÉ¿“@ÊÿvÿAÿÿ­₫t₫g₫r₫„₫©₫ÿ‘ÿ=ÇrT—újÄéÛ…̃ùáî₫jư üËú˜ùø–÷÷ö´öĂöùöd÷-ø™ùxûPưÿéê Á ˜ ½ A 7 ø –<KQdÿŒư¨û©ùƒ÷ơÔóX̣ñöïSïAï.đ ̣sỗö‚ùĐüÓ̉`f QÜ ”s· È e3cJ₫üëù̃÷ûơôó¥ñWïaíïëëuêÜêǘđªó‘÷"ü)K )Œ₫ÏC_Ï ̣ON’º₫˜ü{ú¥ø̉ö ơẸ̀đ{í<ëPéÛçƯæ3çØé¨í₫ñ€öœû]‚ ̃°‚‘u©QM # ûÚmÍoÔ₫÷üûùAø‡ö9ôˆñÆî7́áéÂç1æ`åØåÛèSíóñ§öüdH [$ÚlD₫ơpĵ ²ÆY‚pvÿÛưü€úVù½÷oơṣcï}́Öétçfåäàă,åăèQîëókùaÿ=2 6°Û¯åSÀjä Ü ²>9üưÿ;uưÏúi÷^ơ"ïËèBä̉áÏ̃îÙƒƠƯÖƯâ ÷œ¶ R¥!ü$÷'Œ!Z* ÆE¿ É9 ! X Ñ € u™“ư›ù.̣{ëưèäjá´ƯOÜƯLÛ©ØyÚVߥåâê~óvÇ!§!;3ô7]2̣( æÅ|'KéH >ù.öF÷<ô×óí›íáïèRä̃åÔß°àà¹à/äxä˜èñô„ơ'ü,["Đ-œ>3®,< ̃ ³₫è'oaülú7ü¢đóÙơđđ¦ô*ôœñó,́ń­é»äZåÀæƠçeê/êôïx̣V÷üû ±*0!#*{;Q.v$nx¯ÿ¹ gúœÛŸưù¡ùơ#́oóßơËđơäøùló½ñ˜ô^íÙèAî€ëî›ị̈ô<ô·÷N₫X₫ß ¹%!–$t1(» ×]D ÆưO„ùg₫`̉ư:ûA÷¹ùóÂïơ<ơ¿ö[÷bûèü8÷O÷ÁöĂđ°ïñèïwñ)ôªôGơRơ~ø\øÊü8ư"æ~ƒ)*ư .¾đE ü[ưeø "₫gü=ùYù–ù±ñËôUùĐ÷÷ùü|ÿ%ưGø3úkơñï§ñ§đºï"ó‹óơôÍơ ÷µ÷oûæÿ™T¯A+›#|'Èî À₫Aÿ<Ÿø̃ưö‰₫³ư-ûư{øĐó‰û÷ú_÷¥ư ₫üRùrøj÷uđ“đ©̣ÚîcđÎô[óó_ô!øÄơ±÷µü% ÷3(= Ơ•¿d ‹ÀưO=p₫„üçúÙơ@öiùùÅùüEưHúÿ÷ñö‹óîïœđäđơïƠñøô öÄôYöºø»÷Ÿ÷‰₫–ư­ ‹¬L$Ú$¥Y2NÚqÿë̉ÿ~₫ü÷₫û¤ûBù9óC÷sùø#ú™û;ü;÷₫ơ»ơ+ñiïöñỊ̣̈Wôµø,÷<ơ<ù\øøøû¸ÿu?Î "S$©5º YÿT²ÿóư½¢ưüù¥û£÷–̣ƒö{ø±÷wûÆüµü,ú÷ºö:ñ7đỤ̂Ṛƒô´öüùÅúÅø0ünú·ùŸû°üEÿqú_$Ó ó×̀íü7ÿøAû"ÿ¬̣ÿư?û²ûæợQø¦ö÷æú3ÿAAúÛư¿úẹôqôôMôQ÷Xư¼ù…ùư4ùª÷×ù¢úóụ̈üS Ï,Ç#  ›  ₫>û;«ư&üÅYÿ%ưÔưQú´óm÷‹ø@÷úư₫”ÿ,ÿ1ư?úfößôÖóÏñö=÷#øûùú…úËù@ù₫ùµøóúÿƯÙV!¡’aiüÚûƒ₫DLJç₫́ưùơ•÷é÷é÷Hûưê₫àưóÿóư1ømø¹ơô|ôơøa÷Úúúû*úÏû û\úÀúûÂưT K— •´è d?üûŸÿ¬ư₫á1}÷₫‡ư0ù÷ônö„÷Æ÷ûó₫̀ÿz=ư8û÷¸öÔơ\ơ´øømúuûÎúSü}ú@üÛû¶ûzư»ü0₫‚ W·ŒÊ¦& À{Ïû(ø\ÿn₫ÿĐxÆØư¦ü*û—ơ øêùÆú.₫×ÿÙé³₫ëÿcú¬÷7ùö¾ötø=ú>ûçù”ürüÍùEü‚ü-û,üÖüÿĂ₫̀]uÜÇ ‹kâ₫~ù=GaÿH»E₫‹ưƠ÷¿øû`ú…ưñ₫¼‹ÿ₫e₫¸ú_ú¬ùî÷ú¦ù¾úüûü¸ú~ûIü¾úÇüưû!û¡ưïû"ÿg‡ IŒk(î . )ĂÿÅưëü0…kC<ÿ|üßú5øù û%ü ÿWS@ÿ´ư‹üüưùñøkû1ûƠúÆû˜üªûXú3ûµû‡úJû“üiûUûWüDư}₫¯ÿ„Y°—tUè ÁZñÿ|ụ̈=9̃QĂz₫ụ̂ú(øù×ûRư=^¤¢ưưjû ú_ú¾ùcûü³ûrüîû₫ú®úXúeû‘üüÁü¨üHûJüÆüÿØY [pä GñcÿˆứöDIhåCưú­úăø¤ù³ü"ÿ“ùüLüXû£úiú€ú‹ü¹ü¬ûëûdûăúÀù ùpûÚúæúpüSûBû9üöü·T ³ˆ‹I¾ ,Á^—îÿmX½–ºüü0ú;úªùBûüYÿWXÎ₫Kü8ûùûü¼ûƯưËư»üÂú,ùgù@øøîúüü?ü+û û>û5üô₫w¶®ôöâ‘ z pPvit»ÄjrưÈúeùú üPưÿ³ÿÿ5ÿ̃üOû¦ùùhúmûư¹ÿ ÿ?₫.ư>û øü÷¶ø‘ú‡û ưPÿÿÛü\ûæúûư+ÿÊä¡ –Ô ”Ư@ÿ̃Ø…U Äươû(úqù8ú4üŒ₫Rÿ0ÿûÿĂưÎûcúgøÅùnúüÛ₫¾ÿ¡8Eưvüeùlù¼ùƠûm₫V₫„Jÿ0ưUù:úëùOûÿ^X{ 1Ÿu2 §ëÿLJ# »₫øú=ù#úáùgûk₫ÿ™₫ư&û̉ùwù₫úëüóưÁÿ0]oưIü½û¬úû`ü₫̣₫„₫lÿ ÿàǜúüø$ú‡û¾üḈ$ -Đ¹ó ˜SxÿjœÄTÿ¦ûø±ùâú‰ư ÿ€_ï…₫8ü¸úøùûøŒùWû±ư{ÿÄÿôÿ£ÿT₫ùûVú¬úû¿ûuüŸưÿi₫Rÿ˜₫GưŒü÷ú̃û¼ü–ÿ÷‰  ₫ êưôRQ;‹÷ÿ$₫₫ù®ùzû£üM₫Éưóÿx₫\üÏùáùPù…ùŒú°û₫”₫+₫ưÿAÿöưûJùÏúíûËư?₫‚ÿ‚@äÿ ư:ü˜ü›ưÛü₫¡ZD” I•: ×êx$‹ˆ₫üÆü ûhû¸ùüb₫ÿ3₫‰ücư)ü0ûSùưøÔúîû&ưóü½ư_ÿ̃ÿ±ư‚ü‡üưÀ₫ÿ|ÿ. )–Í₫³ưñü<ư3₫ê₫ïÿèÎ^à í ]ØûÀ́›îù{ïÿ¦ưöüjü(ü¢üưV₫₫ïưÊüŒûû#ú¡ú:ú.ûĐûRü”ư9₫'/ßÿ,ưsû̃ü¡ưBÿ ₫ ÿ€z₫đưîüùư±ưªưÿ₫ní=09  $ ’ Ej'B Ø6ˆ6ưzûÊû¸ü₫#ưëü<ü3ưrưäü‰ûbú¤úûÜû‘û ü¶ü?₫8ÿ@ÿ3ÿỵ̈ÿ*´ÿ‹ÿÇÿ›ÿûÿăÿ(¦xÿéư˜ưÑüpư+₫öÿÊbí è ºiS¤ÊMQµ¥ ₫Ñûóû́üĂưÎư«ü¡üü±ưCưœü û/úoúàúüiüŸưq₫P$jÿVư¿üưÿ^^Ö¶ø ‚₫ ₫Xưëưé₫*Ÿ~î/W¡yZĐ¯WÜƠæđÿ‰ÿ₫₫µ₫%₫‡ư/₫x₫ÿ₫Mưjüzü‘ü»ụ̈üưâưY₫Ï₫ơư#ưÂüùư `_Âÿ—₫₫—₫ ÿaÿ|ÿ—ÿ¿ÿeÿ ÿu₫ƒ₫₫Û₫₫ ₫₫à₫.Ä€L-  ẩY ÂY{ÊmIÿ ₫GüĐûYü ưÀưFư‘ưưư’ü:üû!ü7ưV₫Zÿ“ÿkwƯ•ÿ„₫ư=ư5₫¬ÿ½ÉÛ= ÿ{₫2₫Û₫…ÿyÿÿÆ₫ÖÿmñƯ÷’ûا̉•ưv ˆ÷ÿ¨ÿO₫^ưü5ư₫ó₫̉₫çư ü•û–ûü:ưÛưm₫¬₫tÿLÖ%n₫­üü6ưÿzu¡ÿÍ₫ÿ₫ÿôÿˆÿô₫â₫`ÿƯÿgÿœ₫D₫Íÿ›½•Ʋ.t…vƒêtéÇv2ÿ…ưêüüü0₫æ₫Jÿª₫éưư€ü0üăûJüÛü!₫̣₫›ÿÿÿ†ÿ{ÿ3ÿf₫Èư‡ư'₫í₫sÿLÿÅ₫t₫Œ₫7ÿøÿ„{ÊÿÅ₫åư₫~ÿÅö6º¶úÓƒ ³…{­ å ÿd₫₫SÿËÿCÿ@₫gưwưÿưa₫Ưư¯ü˜û`ûPü±ưĐ₫ê₫b₫Ăư₫ê₫×ÿ̀ÿÉ₫ˆư(ưáưÿµÿsÿÇ₫₫ÿ±ÿ \J>ßÿóÿƯéƯ~ø®e÷:„Az†Vúÿ!ÿ«₫|₫W₫ÜưyưưbưưßưRư’üÆûÙûŸü½ưt₫•₫’₫æ₫ªÿ4Îÿq₫Úü&ü³ü4₫¦ÿI*ÿ°₫½₫®ÿ9 Ψsv54~Ô™é(R+4IÚnùöUÎÿ-ÿÿû₫b₫Rư€üLüư₫ï₫¬₫Óưüüü¶ü–ưg₫ÿSÿOÿÏ₫₫>ưÛüçü{ư₫Ơ₫+ÿpÿ9ÿ+ÿ ÿ¯ÿ~§Oàöfú5 *<\Z7UH  P†H‡ÿ3ÿFÿ₫Ôư»üªü ư.₫°₫€₫Kưüxûëûư/₫æ₫ÿ1ÿ?ÿZÿ¬₫ưCüîû“üP₫²ÿK›ÿ“₫äư+₫1ÿR2t§À=po£×sĐÄê) V%+kÿ—ÿè‡+¸Kçÿà₫l₫₫jư›üüVüfưÂ₫qÿë₫8ưcû\úÙúbü?₫qÿàÿ¤ÿZÿ ÿÀ₫"₫Zư¾üÏüÅưEÿ¬0»£ÿ́₫!ÿcÅuêÆùÿY¥ NÓv/*~z„læ!ÿ#₫₫a₫˜₫M₫­ư9ư2ư}ư£ưfừüXü\ü₫üâư«₫ÿú₫¾₫•₫‚₫c₫₫ ư_ư¥ư’₫·ÿu>HÿO₫E₫Zÿ;~œ|g`GbÄl ăæ÷V*‰>ÏI¢ÿÿXÿ ₫[ưCüûûÑüA₫QÿBÿ÷ưMü%û8û6ü­ữ₫­ÿÓÿ<ÿT₫cưâü#ư/₫Œÿ¯‚ÿŒ₫"₫¢₫¯ÿ¹!û²½d“ÉRç< Û síÂ_3€R—àßFkÿ‰₫₫ŸưRưîü²ü³üưdư”ưưNưNư“ư ₫L₫M₫ùư­ưưéư†₫5ÿ‚ÿ_ÿû₫Ù₫.ÿĐÿL`;,tˆ0¿#À²Tmd‰_ ¡VåÿIÿ‹ÿ'/MÿËư}ü(üưüt₫ˆÿtÿ₫_üPû¯ûư¹₫rÿ"ÿ?₫¤ư¨ư&₫Œ₫₫0₫Úươư™₫ÿ@m¶ÿÎÿ|A©g·„+í£̣ÿÿ«ÿå †™ü§û le¯í•gÿü₫Gÿ¼ÿ²ÿë₫Íưúüơüư@₫n₫₫NưÖüÖüDưÇư%₫P₫l₫₫Ư₫ ÿí₫ƒ₫́ưˆư›ưP₫bÿbÊÍÿXÿ‘ÿv˜kªh÷”aG>9däÖ÷Íž©‰‰U_”^Aÿ₫e₫X₫'₫ÈưlưYư¢ư₫Y₫)₫ưáü•üçüÀưµ₫[ÿqÿÿ₫`₫w₫Ñ₫+ÿbÿnÿtÿ™ÿöÿq×÷Άd™ €©€43„À·p()—Pư>Ù÷ÿnrâTqŒơÿ{ÿÿ¢₫&₫¿ưœưÏư9₫₫…₫úưưFüÚûúûˆü'ưưưưkưưèưT₫»₫2ÿæỵ̈.9­lÁ04áᛣíÚñ’¹ 'ÛMÊ€W rÿ§₫₫Øư)₫«₫ñ₫¹₫₫Vưïüư¬ư^₫Ó₫ă₫¹₫¨₫æ₫gÿæÿ₫ÿºÿ•ÿ³ÿöÿèÿuÿô₫µ₫̃₫WÿÑÿÚÿ}ÿJÿŒÿC­¶Vÿ ZÆ•æ1öb-Ê @€₫ŒÿÀ₫S₫^₫₫°₫l₫ëư~ưaư—ựư-₫+₫₫êư₫[₫½₫ø₫ÿ₫ë₫ê₫$ÿ”ÿdzdIQŒña´ÔÀU>Ltª‘WƠ¹ÁƠÙ¾gZesf1àÿ‘ÿ`ÿWÿfÿnÿOÿÿ«₫]₫3₫-₫9₫;₫2₫*₫6₫W₫€₫œ₫¦₫ª₫¿₫ù₫Oÿ©ÿ́ÿ3b®_‡jt±GAô=,G`Gú”C!#ùÿ±ÿhÿCÿIÿbÿfÿ>ÿø₫¾₫³₫Ø₫ ÿÿÿÏ₫¯₫¿₫ù₫;ÿWÿDÿÿü₫ÿ\ÿ¬ÿÛÿØÿ¶ÿÿ²ÿóÿAy„“Áö.'# ̣Ùų˜qCÿÿñÿèÿÙÿÁÿ¤ÿ‹ÿÿ}ÿ~ÿxÿhÿTÿGÿGÿVÿjÿxÿwÿkÿ^ÿ\ÿhÿ€ÿ•ÿ¢ÿ¥ÿ¤ÿ¥ÿ°ÿ½ÿÎÿƯÿèÿñÿùÿ 1@NXcoŸ©ªŸ‘‹‹•œ˜‚a>*$% îÿÍÿ´ÿ­ÿ®ÿ±ÿ«ÿœÿÿÿ€ÿÿ–ÿœÿœÿ›ÿÿ«ÿ½ÿĐÿƯÿâÿâÿăÿåÿïÿøÿ #" +;>2 -88,'+$ÿÿåÿÔÿ×ÿçÿ÷ÿÿÿöÿæÿÖÿ̉ÿØÿàÿäÿäÿáÿáÿèÿôÿüÿûỵ̈ÿæÿăÿ́ÿúÿ ưÿüÿ   ÿÿúÿùÿûÿ₫ÿÿÿûÿôÿïÿíÿïÿñÿôÿôÿóỵ̈ÿđÿñÿóÿôÿóỵ̈ÿñÿơÿ÷ÿưÿ₫ÿÿÿưÿúÿúÿüÿÿÿ  ₫ÿ₫ÿưÿüÿüÿúÿùÿøÿ÷ÿóỵ̈ÿđÿđÿđỵ̈ÿóÿóÿóÿñÿñÿïÿđÿôÿ÷ÿøÿúÿúÿúÿưÿ₫ÿ   ₫ÿûÿùÿùÿùÿøÿ÷ÿơÿóÿñÿñÿñÿñÿđÿđÿñỵ̈ÿóÿôÿóÿôÿóÿöÿøÿúÿưÿưÿÿÿ   ₫ÿưÿüÿúÿùÿ÷ÿ÷ÿöÿöÿơÿôÿôÿóÿóÿôÿóÿơÿơÿơÿ÷ÿ÷ÿùÿûÿüÿüÿ₫ÿ₫ÿÿÿ ÿÿ₫ÿưÿûÿûÿúÿùÿùÿøÿøÿøÿøÿ÷ÿ÷ÿøÿ÷ÿ÷ÿ÷ÿøÿùÿùÿûÿưÿ₫ÿ₫ÿ₫ÿÿÿÿÿ₫ÿ₫ÿưÿưÿüÿüÿûÿûÿûÿûÿúÿúÿúÿùÿúÿúÿúÿûÿûÿûÿüÿüÿÿÿ₫ÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿ₫ÿưÿưÿ₫ÿưÿüÿüÿưÿưÿưÿưÿưÿ₫ÿưÿưÿưÿ₫ÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿ₫ÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿưÿÿÿ₫ÿÿÿ₫ÿ₫ÿ₫ÿ₫ÿưÿ₫ÿÿÿÿÿưÿ₫ÿÿÿ₫ÿ₫ÿ₫ÿÿÿÿÿ₫ÿ₫ÿÿÿ₫ÿÿÿ₫ÿ₫ÿÿÿưÿÿÿ₫ÿưÿ₫ÿÿÿÿÿ₫ÿÿÿÿÿưÿưÿÿÿ₫ÿÿÿÿÿÿÿÿÿưÿüÿưÿüÿûÿûÿûÿúÿûÿûÿüÿüÿüÿưÿưÿưÿưÿ₫ÿÿÿÿÿ₫ÿÿÿÿÿÿÿ₫ÿÿÿÿÿ₫ÿÿÿÿÿÿÿ₫ÿ₫ÿưÿưÿưÿưÿưÿưÿưÿüÿưÿưÿưÿ₫ÿÿÿ₫ÿ  ûÿøÿơÿñÿïÿ́ÿêÿéÿçÿçÿèÿéÿëÿ́ÿïỵ̈ÿơÿùÿüÿ ÿÿưÿüÿûÿùÿùÿøÿøÿøÿøÿøÿøÿûÿüÿưÿ   ưÿüÿúÿøÿöÿơÿóỵ̈ỵ̈ÿñỵ̈ỵ̈ÿóÿôÿơÿöÿøÿúÿúÿûÿưÿÿÿ₫ÿÿÿ₫ÿ₫ÿ₫ÿ₫ÿưÿ₫ÿưÿ₫ÿưÿ₫ÿ₫ÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿ₫ÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿưÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿ₫ÿưÿüÿüÿûÿüÿ₫ÿÿÿưÿưÿÿÿÿÿüÿúÿúÿúÿûÿ₫ÿüÿ÷ÿơÿñÿïÿđÿ üÿ    ₫ÿ÷ÿñỵ̈ÿđÿđÿíÿôÿ́ÿÓÿÙÿơÿ øÿùÿùÿ÷ÿưÿ îỵ̈ÿ   üÿûÿÿÿüÿùÿóÿñÿîÿêÿïÿóÿđÿđÿíÿ́ÿæÿæÿèÿëÿ́ÿđÿóÿöÿúÿüÿ )+4611'"÷ÿéÿđÿ÷ÿøÿëÿåÿÜÿØÿÙÿÚÿØÿØÿÙÿăÿâÿçÿ́ÿ́ÿâÿÛÿêÿüÿóÿßÿóÿ )*'/8.  öÿøÿóÿæÿÏÿÑÿÙÿäÿßÿéÿÚÿØÿÙÿ̉ÿßÿäÿÿÿüÿöÿ+1(63'3-8-ùÿ ûÿđÿæÿßÿÜÿ̀ÿăÿÇÿĐÿ×ÿàÿëÿçÿ÷ÿ÷ÿåÿùÿ *÷ÿ'3<(.Äÿ(áÿÈÿºÿ÷ÿÔÿøÿ¦ÿÿÿ°ÿöÿ‘ÿ*Áÿ9¿ÿU'd;:;¥æ· ưÅư ₫₫<₫ÿƯ#ÿưy€ûÿư₫ö†₫₫zC3ÿèÔ·₫²’₫₫Đÿk ÿ’Kªÿ"¢ÿơ₫Êÿ{tÎ8†ÿ¿ư\ú†ù/úMùÿù¼ưkû¥ÿ¯₫áncĐÖ­;ÿz“)0ÿÿVÿªÿóÿøˆ̃Ÿ×ÿͪÎÿÿ*₫t₫́ÿ:ÿZ&°ÿó₫aüư₫₫¢V^K₫Vÿvỵ̈ưêü„₫®₫oÿ₫‚«ȃ2K“ˆ¼¥0xÍÿÇ₫èưöưüưdư8üđû¾ûûCüÉüTü¹ưYX₫!ĐW¨ k ^ ư  ˜ vß4ưùÆö/̣ïQí+ëóê¼êưëđñ¦ô½úÁüEhÓ BDỢœư¢| _ ̃ ï(ư¸úZóÈîéå2âNß»áÄăKă•é’íôđ$÷|üúÿ _̃¯a#'ú'H"‰ ̀) ôÛûlø‰ơƠñañó́íŒéÔä™åœäSåçƒểëøî•ïæô-÷Àçmî&×-,´*ú){"ƒ$¿»û€ó8î́‚ë•éóêè“çaæ æËç†ê®́`îî”îïœó‡± œ§+),L-‹/,I#6„}_öçïÚé#äÂçæ6æ‘ê·åèüéyéî:ïñỴïDđI[" Tê$N)×(D+¶-³&Ï‚­ ÅüôâëÈèúæSá¿çèä‡çEéĂé!́îẠ̣̊xï‰̣æƠ ©ă$t%Ă&*+³#CƠ >ü öÓï¾æè+ä¥åè äíèêĐçíËïáđ†̣„đóÓ ? ·™"„#Ư%`'́(L!Nl kưù½ï3é̉èÁåăækç'åÏë±é¡ékî¬ï»ô.̣…̣÷G÷S _: –#S"èbTÇ "Oûtô9́Tê‹́uè„éqêÉí́æí*đ.ôÿơ¦öJúDøĂ_ £¥><-ñ̃—¾ Ÿ÷ Ûÿdù|ơCó1ôBơEóèó©ơ ö?ôƯø<ùÿüRüăÿ¾₫@₫ó‚Zä0kµ¸Ô1kÂ*̣ÿöÿïÔ?57S;7QØÿÿOÿÉư`ưülüÀú²ùBúäùGúÍú̉ûÔü*₫Ñ₫«ô;PÁqƠD<Uµkăh"àNŒ•¦ÿ5₫±ü†ûkú*ù©ø@øøOøĂø¨ùÍúËû5ư•₫ÍÿóÜ_ÍF[P6(Äiø>d£Xÿ₫̀ưưqüÉûû¹úú{ú‡úØúqû#üûüáữ₫̃ÿÏ›X̉;e3µ[ ûßÚÉĂă tNâtrÿÿŒ₫6₫¿ưAư ưçüĂü¬üåüóü ư5ưtư×ư1₫Ö₫}ÿưÿ6´A¢at¥b8đªNØ[È#‡ÿÛ₫q₫äưLưäüƒüYü*üRüªüåüNưêưf₫đ₫£ÿ[ñZÈ(Nv«½µ‚F₫§8Đ‚ÿ&ÿÎ₫|₫%₫!₫ ₫ưư ₫\₫‰₫¼₫ư₫oÿßÿưÿ`¸Đí@kJA=ä¥pC¹ÿ‡ÿHÿÿê₫ë₫ô₫ÿÿLÿuÿ‘ÿ¯ÿäÿ,Ej|h~ ¬ª¹ÆÎ‹º¤b^% Áÿ¡ÿ}ÿ\ÿ/ÿ8ÿ2ÿ1ÿKÿDÿhÿÿÿ°ÿ³ÿÉÿăÿîÿ&2X[e¤¢®£‹{kT7.ûÿ́ÿÅÿÈÿ°ÿÄÿÀÿ±ÿ¼ÿÿ™ÿ’ÿ˜ÿÿ¥ÿ”ÿªÿ¥ÿ§ÿµÿßÿ́ÿ=6 (3¯nÿÿÿDyNjZ`RP;díÿ®ÿÉÿ™ÿŸÿ‰ÿ…ÿ„ÿ{ÿƒÿhÿ–ÿqÿ¿ÿ¥ÿÙÿÂÿúÿØÿ7,xN‡t­¥Y¬I±xíư=ß₫÷Đ₫̃ÿ¨₫̃ÿ)ÿnÿYÿQ±₫£̉₫Z‡ÿ¬ÊÿY$T ¡ÿPÑÿµJÿÿΟÿæÿ$ÿ#—ÿµÿÆÿăÿ¡ÿ₫ÿ‡ÿ§ÿéÿÿn‘ÿÿÿËÿ>ûÿåÿ¥ÿW£ÿ Äÿçÿ•ÿÙÿf0đÿÉYÿĂ:9ÿ›ÿÉÿú₫đ˜₫)„₫‹Ÿÿ$ÿ₫]₫Y₫Ơ₫À6ÿÛÖưåÑư1u₫K₫cáÿÿ“ƒ₫!Ç₫ƒ ₫)“ư+;₫oL,ÿF_ÿpÿ₫ÀL₫Áÿơÿô_₫„¿ÿ0ÿk{ưoÉÿ¨ÿ?°ÿ»Eÿöÿœÿÿ³ÿ—₫Yjư`1ÿ¦ÿÓưse₫ăç₫ŒF₫JĂÿ₫¶i₫ÛŒ¬ÿ€¥|₫zQÿèÿGÿ‡ÿCµư‹₫0Ă₫Áÿßÿb¡ÿ7ÿá₫P×ư]ư ü8₫NÛüítû?ºÿÊ₫öûà}ưØÿkøûß?ưvûœư/ÿtËÿ-ÿä$₫$ÂưpÙư¦´ÿ…˜ửmÿ¦âư'̃ưFä₫? ác₫÷%ßE₫T¬ûäụ́&üâ4₫(¡ÿ́üà‹û‘®üˆkÿ¤jưö₫MA₫@ư1Öư3ÿu§ÿ₫„ă₫¼åÿkÿƒÿd—û&÷ù1‡ưư½’ü8úưl@ü·pû¸Ơûÿ¼üÛ ü@ÿv ÿ:PL₫ñ ÿq₫¾Goÿ û=Bù¢Ÿú®ûcv₫‚₫f"5üŸ!üå*ăÿg₫h¢ư₫ -÷ [ù‡öÜ₫1LÿŸĂÿWÿ:8÷´ü½¿£üK”ûºÿ0µûÊ%ÿÿÀưEG₫ 'ư´1¤₫çËúAơû0J₫yÖû¢8ÿ:ü'¨ü Đ₫ÚÿØåÿpcÿ2F₫lÿÿ¯ÿÚ₫i©ư´ÿ/£ÿ|ÿ5₫…a¥úomư×I¤ÿWuưK2ÿư.ÿjưôHưÀZÿ©₫X‚ưđ̀)èÿ8₫‚\₫‚P₫'W2üÙÿ¿₫üáÿƒÿ6ưñÿf¶\Á|“ßÿ¡cÿ…₫Oÿd₫'ü°ư1û|ûúôûêúQûï₫Vư·éåÁÅ ¸Ơ e ¯ Ñ•ư²ùyôáïÖï¬ê¦êeíÈ́Fñ‡ôïù7ÿÑaÛ£ơC­̣t„ àøđééá‘à‡Ú3̃?̃ÄßIéé₫ơÄv r‚&4,¡)Ư*µ#@·̃ṣKíƒå”ƯÛ}ÙúÚEÜàDçkëṆ̃Xưöj~>%u,j)º.T'!¸q ¾÷lî¤æ-ƯÛ^Ø6ذÛg̃¢äºérïL÷Xÿ K!I.ö0.Œ,b' /Jü"ïsæªá}Ù×Ù©ØÊÛ‘á–çî1ó~₫H ¸R"!+á4“0“,|( Èñ“û­̣úå1ăCƯu×|ÚoÙ₫Û‡áäæƯíAđ:ûû y3#&/U2§3P-~%q L…ø=ñrê?å/àÜXƯÏØ'ÚVá₫äŒ́"ñûjC['3j6|3*Z}8úvôûíS邿¤ă¹ßÀܲÚFƯåàyæïXơNê¯'I0µ75•,Ÿ¶#7÷Âóñ́(ëè0äfßÔÙÚäßRäX́Jô-á¶*¯2g8Ó5 *₫É jÿ·̣Ÿïó$đï„ëßäŸ̃X×MØ_̃+å“́ù6½'¿39î9—3̣' kÿëóúíVï¾ö1÷tđ-éá‰Ơ»Ñ9Ù/áåèôôl)%ơ5=d:»3¹$ä Eư“ôŒíAñ÷bûöùè°̃ÚÓïÊưÓÖâåô{)-(;©<:€0)Lûơóù™»üóåâVÖ˹É`Ôđâë‰÷Ó6ÉƯ ¹Î¡±IqúÖ́pàÓØDÙ¯áéæéeF%G/R":%PI ‡:îØ÷ÓëƠàÛ̃̃Jçë äÁ́à)´(~wL … äÜ1 ²Ø ~₫íôáëă»ß‡äǽgé₫ä.÷k–+ư j æ ¸ V^ v,ù˜̣)ëäæ_ë‹́4è+ëº$·(}¢̀ # îù₫ñ8 † ­₫¡ơÅïè₫äÔèäî¡îéẹ̣̀Â}*Ư#Ṽư ơ₫ÔûK% ‰ù×̣íVå¤äNêÑđÜîëïûÜ+£ ]„ %ÿT₫Ô”icöfññè’âôåOíđŔwî3 ̃#¬kă˹ÿ¸₫6i₫ëöyđóç¬ăǽXïÖíÄđ~¢"4̃«Âÿ(ÿK~;₫Fö^đrééă]åÑëÏđpïlñ¢ç ˆ2¶R½ §ÿ¤‘₫øụ̀ǵÔæ¹ç`́Tđçđ´̣Ôư&C„o¿MüO† ₫.ú¤ö'đ‡êUë ï³ñÇ̣§ô©ú·±ûlä`=S ñ('Dùü…ú\öPñ7ïP̣vơ8ö>öù€₫g¯ü– ] [ J ¦üPÈ4„₫pûÉøE÷÷LøHùùƒù,ü¿₫ƒÍŸc,R-¯p°ÿY₫/ưeü’û×ú|úÁûiưN₫₫̃ưhÿ—^ơF+DZxÓ­g₫ÿ/ÿÀưèüêü¢ưÙư%ư>ưV₫eÿ½ÿF%iGWqâí€ÿă₫%₫₫4₫₫êư0₫¸₫ÿÿ@ÿ{Œơ†Ơ¤/aÿÖ₫Â₫₫c₫R₫‚₫Ë₫é₫Á₫ú₫¬ÿpƠ8̀Tq̣L÷‹êÿpÿ ÿ¾₫’₫…₫‡₫Ÿ₫₫…₫´₫7ÿÈÿQè{ÿA ±h Ÿ#ÿÿÖ₫ª₫„₫~₫u₫k₫‡₫Ë₫$ÿ¨ÿQÙǹ¸v³-›ÿ;ÿù₫¾₫‘₫q₫h₫|₫–₫É₫Gÿüÿ™ưAp—¡h‰²ÿhÿÿ̉₫µ₫¥₫˜₫ˆ₫¦₫ÿ¹ÿ1z¾;[aT»Vºÿqÿ6ÿÿó₫Ñ₫°₫Ä₫*ÿŸÿăÿ`¹ó&"̉c Øÿ¹ÿÿEÿ!ÿ)ÿ!ÿÿ1ÿ…ÿÉỵ̈ÿ$o²Ñâïà±t.êÿ¶ÿŒÿgÿTÿQÿMÿSÿnÿ™ÿ¿ÿƯÿ T¹½Äμt̃ÿÇÿ—ÿWÿBÿ_ÿvÿvÿ„ÿªÿÉÿÜÿBz³ÍÖ¹r'óÿÇÿƒÿEÿ=ÿfÿÿÿ¢ÿµÿÑÿçÿÿÿ$Lo’ÂßÄ{2ưÿÇÿ…ÿRÿJÿhÿÿ±ÿÇÿĐÿƠÿçÿÿÿ 4w­¾¼ŸJëÿ½ÿ¦ÿtÿLÿjÿ¸ÿçÿĐÿ¿ÿ₫ÿ@!Àÿ¬ÿ |®”F$«&ùÿ₫T₫Ơ‚+ÿ¹ưxÿ˜:‘ÿơ₫—ÿ^­Z´ÿªÿ‹@·—ÿ&ÿÿùÿæÿÿeÿ«ÿ/}ÉÿƯÿ%:+oz7âÿ¶ÿ¡ÿÿ€ÿ˜ÿ¾ÿ́ÿBN8 öỵ̈ÿ )ESBäÿƠÿ½ÿ–ÿˆÿ ÿËÿûÿ/QS<(ûÿ"<:úÿăÿÉÿ¬ÿ•ÿÿ¤ÿÇÿñÿ#@LA.₫ÿ&')êÿÖÿÏÿ½ÿ®ÿ³ÿÊÿ́ÿ 4PRI;$ øÿưÿ"=+óÿ¼ÿÿÿªÿ´ÿ°ÿĂÿäÿ 2JE?3$!.&ôÿÔÿÑÿ̀ÿ¶ÿªÿ­ÿÈÿóÿ(MNS>'5D<'ûÿ̃ÿÄÿ«ÿ¢ÿ„ÿtÿÿ¹ÿàÿ0AEH5<GPQI5 ́ÿµÿ„ÿfÿHÿ¥ÿÙÿƠÿ̉ÿ]1çÿ‰ÿâÿ„\2¶³fRAÀÿ‡ÿØÿ]ÿ}ÿ»ÿ_ÿœÿ¨ÿ¶ÿơÿ$;\¡ËºóÊÁ§{2Đÿ¡ÿ…ÿXÿÿ̀₫Ú₫°₫Ê₫ÿ÷₫ÿ`ÿkÿ‡ÿíÿ9Z››‚ ”¬Ë½Đˤ‰ˆy˜ôƯ†ßÿuÿKÿ>ÿ6ÿ1ÿ-ÿ+ÿ?ÿXÿ…ÿ´ÿôÿ'MQigi„v^"´ÿpÿ9ÿÿđ₫̀₫É₫¢₫₫Ó₫ä₫ÿiÿƠÿ2 ÷9¨çúöº£–=‚ÿÁ₫₫Vư¡ü&ü°û[û™û»û.üÜü½ưµ₫‹ÿ¾Ë’WƯLr‹3£́çíâ‘ÿ₫†û0úđù]ù́øøæøQù0ú<ûxüîư´ÿFÏ «áQ/B#ĂB£ë;Y„₫@üæûnú4ù̀øUøø|÷½÷ øóø+úüơưÔ É!ˆ½&Âê3ĂFê†+¾F[Üÿæưư üû–ú²ùÓø¬÷'÷Íö1÷@øøùü₫ß\ÙÈ,ÍÁÓ¨( †×  í¸†ÑÿIưû$ûnú«ù‡øL÷oöàơßơ¨öøú»üè₫¥)«±ænëÎ ¶BF§!µIÍ7%±Ñ₫Kü|úBúùÎø¦÷”ö¦ơXơMơëơK÷ ùIû9ư ÿJ;Đ¡1Ư ­ ¸  cºCÙuâ3I€.₫®úúëù-ùÄ÷+öÎôÊó óTô<ơăöùèú̀üj₫Áÿqñ̀… [ ; ” íVà|àùưâ‡ê‰ÿ̀û+úÑùưøÑ÷ öÀôÓó«ó$ôaơrö"øùûƯüy₫ ö¦l'’¢ W „ c à _ ă\Ứç@èÏÓÿ©₫üâùmù¸ø†÷÷ơœôôÀó"ôAơ=ö§÷ù€ú3ü₫¾ÿ¹|!Á5j s  % é E ¥ Öư Ă‡äŸºÿÛ₫ư€ú,ùxøĐ÷̀öÿơ,ơµôèôfơ}öt÷øú†ûSư#ÿÁU¿̣P¥̀ä W m  ^ ŸÂËÚáûƯûÿô₫cư¶ûYú0ụ̀øjøû÷$÷ öözö.÷ø©øÅùúú_ü:₫¶ÿEœ©üD¡\ • } ÷A'\”ülÔÓ! ÿjư6üRûú¤ùlùù…ø*ø³÷}÷n÷Û÷́÷½ø)ú°ûÅư=ÿÈùqĂJW » Ă Ö¿›Æ#xøOuÛêÿÅÿAÿ©₫kư(ụ̈úƠøù¯ø~ø¹÷ó÷¸÷÷Bøø₫ù?û\ưê₫N\[9œbÖ CYZ÷ỴrÑG–ô«Pºÿ´₫ªư[üéúwù{ùmù‹øƯøœøê÷÷ÿ÷¯øÍùiûƒưá₫BFßÅ¡ =ÙªÀàû)ƒ‹%’|¸ÿÿƒÿÿ4₫…ư½û¸ú}ùùµø|÷j÷íö÷µöLøÑørûoưÿBq|¹«z(  í̃—²Öo¨|Ă}ÎMÖÖ₫¬ư¿üü‘ûƒúÄùhøåöÛöÛö öEö$÷‚ø»úÛư`wÜ̉®ă: º œ ‹ ¡đđ¼E: Á:~Cÿ–ÿÿˆ₫₫ưü;ûùéù~öeö¦ôíó‰ó°ơføHü lØ Ư ̃-¨Ü^ ’ ¨ ? l8Ưư ưÂüh₫eÿe•ü#₫ü¥ú*üHü ü°ùQøöÂơíócôṬ{óEù®₫q ¾ñ¿Uˆ{ ¢rûc÷ˆ÷ë÷æ÷hø°ûư‘ưóưúeöÉö,ô©̣_̣1đ–í¹ëUíº́!û‚ W 87v?ïAâ1DOÈô÷́PđLïđđÑíè„êí́GøW° Q ° ü¢÷Çđ̣̣_óḳḤ4î̀é3éÏæ<é“́£ü>Ä)˜D£LRN9 ¸iđæPç¢é$́·íèíôîÁ₫ ̉tù̀ơéă‚åỚ¿îẬ€í¯ë æTç7èÈøÔ¿*ÎJ(QHQ[:8/íxåÂèëD́îJè₫î ơbvM­ơ[èá“àâéGëưđÖîë½è‹èRé^÷²%EœJK˜6&8fï_êẠ́ïÍîṚë;̣$÷ E L™¤2ú2íÖêÜäúê²èœë́B́ứîÇîAó¹ 2ú<­G(G9ơe?ï&êÛ́åôñö…íïđ ù%c qú Ơ±ù̃́àî>é5ïî5ëù́(é±êĆ÷́ö(®@ F C$2«nư^́Cé™í¦ô-ñ5÷gîö±ư’qÏR ‘üŸô‘êàîAë¹đí¾é.éæ*ëùëôD$Ï6ßH́AJ5|ÓüÀí|æ2́ụ̀±ô öTơ™ơé_t₫?vúêđHê§́ơđođ_ñè æƯă¼è î9úZq$¨>ƯC¡>=+5 ¢ö¸ç÷ä-ëăó4ơeúF÷7ưi Uµ C‰óJëåăºê íBñÓï̀èæSå,êŒô„˜&ƠBI‰>4+× ̃óågä8èĂóDóŸùöù…₫» -ă·;îSä×Ư¤è—îÁộjè%ääë&p!Ù4MKíB 2¨vưùî.éÙè\́Œñùî‡ù'ü˜§½á•oôvé~äưă¡íïíđƯè­âJä]è×ûªÊ4JKù56ÿ·íOèÚè¬ëñïơÉư 0ÄUù̉đsâÊá:äḈ#đµ́å›àêă„ï₫a.ÎHºL/;o#áöx́®êáå€ë½ê³ơÑ^ D- ‰ư,ó\åPæ^äèç°åwàÿäë/ú÷é1íHGs6¤„đ®é“çKåkíî×ü$̃$j3ú¹ëđàâ âñæ…åăaß9ééó„â2G¹H«6á¹úöé æ3̃×å{́ĂưK VăMî®÷íí;äÊă â;ăŸß•Ư·ß¤ëÑ$µ9sHlB.,G|öÁçí̃ø×Üâ7ïb=Ơ3¸ú£ïjäâ‚àÄàÚÜæƯ;ăṢ;`1‚ALDA6h%Ô]đíàóƠ Üë•û ₫̀T rÿÅóçtăöä̃äÀßöÚB̃Ôëø /¦=y>X2Ô%/NơVâDÖpƯ íÚù<•5isñ̃æ¢æçèæÛ÷×ß”ö¬7/’5(5e1ï+á!e²́ßÿƯç íđ]÷Âà2£ Rùññ¨ï[èfÜ`ÖzƯĹè ă (¬3(9|4-* ]ùÂíWçÚå‘å'ç(đœ& ê ZŒü~ù₫ö›đÉæÉà̃ăQê„ËŸ"¯/đ4¦2U*¬öNëçíäèJïÖüB†Æ¶ühø«ơƒïÂæÁâÂâfåCñU ¤j Z*Ô/.\'¿úáđ0éqå?èuñ‡ûâư’ÿ@ÿjûøÈóế§çJçtåH́†Lü#̃*z*†&àh ²ëø¸î.êúê·ïö'÷\ù÷ü̃ùíơ<óđ́́àé¥ï´  ˆ)0(1"Ÿ ₫ùâïÖ́đôïÿñṚ1÷Èøô<óZỗñ9í}íńú° !ŸA$à(|#È’Ïh÷ỌṆÀïà́ÓđṚ‚ợ‰ḯđzđ́4íDđAóF¶£_}'}$’ °jÙ µÿ÷.ó3ñÚíDđ ññ¥ñ4ïï·îÀë·êïïÂíˆ₫ùWôó%8'"” zÖủü÷ẓî¼íèî¡í̀î±́¹í.í«ëNë$ñî ùØ ¥ Yc%Y'@"E#k)U Úÿ–û¬ô ïáï!ï.ëWíëçêçêÇéeéî6́$ơ1 < #j%ë%ö"á&{y8F:ÿ˜÷ïÂïîæéÑë¯è%é¿èÓæXé/îêêÄö é ½y%Z$\"%'–h%¢¥?ùÀṇ̃sí!é\ê5çææyæáåŒçí•é.ù h\(|"K#Å)₫©qư¶EøˆñÈñuë€é²êæèñæăä+é;́íçåü' ÁD®&ê¾%ù)ë¥T0‘øqôƒđ›èfêaçă™æ£äătê²ëêNg Ø-‡%ÚP*Ö&'y¥v4÷ö>ôƠï¹çáê&æÉâµçăĂă>́'èFî!ă r"aEf)H#•r6 Ôú-ö~ë;êëé#á™ăœåqàJäµëƯçậÑg¿$ú$ ™+a!rè÷ <Nÿîù¨ơ–ëj́Gë£á æ8æœ̃ñå¢éæ%ö«Ófˆ#~­$®*1 q =GưYü¬óÿé_î­èUápçsă¤à”æè!è]ö»ü?Ÿö Í!)„$„f H ÿ­û óhêÖê:éùá3äÎåeâ&å|éêXô“Vv¤¶Ä- d₫gÁf­Üÿăÿ¤ÿnÿ\₫p₫?₫óư¥₫ ₫b₫i₫Úÿÿˆ¡¡Uó“ ØSädâ,éÿ ÿé₫Lÿƒ₫₫2ÿ¾₫]ÿ¬₫æÿjÿëÿTJØ«>B×'!5):Äÿÿ¢ÿ–ÿ.ÿ₫₫Eÿ¼ÿpÿ5ÿ¼ÿóÿ¨ÿ–ëÿäaR‚©̀~K)Ơÿ±ÿ‰ÿvÿOÓÿˆÿ²ÿ™ÿ{ÿÿ̀ÿ»ÿ.VDÔÿ—ÿ['¶ÿƒ hÿyËÿ-ÿÜl•ÿSÿ=íÿ;ÿ.A2‘ÿæÿ¨oÉÿ;IÖÿÈÿ=Mÿ;™ÿ;±ÿ´ÿ9-¥ÿ@³ÿaÿ:@Jÿxéÿ œÿÈÿaåÿ₫ÿĂVAÿb̉ÿéÿƠÿ´ÿ¤ô₫̣ÿơÿéÿUÿíÿNíÿ˜„ÿ£hÿ£fÿøÿïÿ¸—]ÿGjÿÄÿmơÿÿ xÿ;ÿkó₫2Pÿ/7<|"HÜÿ9iåÿeeÿ{¿₫¿‚ÿWÿ#}ÿIÿ¹ÿîÿ%Êÿ!ÿ ¡ÿ—ăÿœÔ/ÙÿüÿsGÿœÿÑÁÿ$ÿjS~₫́ÿ½ÿL\äÿ8_çcÿđÿ_ÿ8²wăÿêÿœXÿ¡ÿÄÿh¿ÿ‘ÿåÿZÿï₫Î\Hÿ½ÿÿ8AmÿE ÿ¼ÿOåÿ/ÿ™ ÑÿÙ₫¸ÿrÿ‡ÿ \ÅÿÊỵ̈#l8₫f1ÿèÿ(ÿ˜ÿÓO₫]ÿWïÿ₫₫í¥₫i ₫HMÿ;ÿæÿ™ÿÇ₫jÿ₫ÿpÿîưœó₫ÏÿË[¼₫= ̣ĂÿF‚ÿâÿ5ÿˆṽ¡è•Wÿ<ÿ<₫ưsưvư{ưJư¥ưA₫>ư®ÿ÷ưô₫’ÿƠ₫9ÿƒD•ÿ!ÂÿV₫ư₫Đưưp₫Sÿ§ÿÿN^GIŸö2²(¾LIX×ÜX̀µ¤Ư‚Ö[FMÿñ₫™₫9₫¥ưÆư“ưeưÙụ̈üXư‚ưÿư™ưM₫r₫DÿpÿVÿÙÿ2°ÿµ@Æ¡<׆gEvÔD¥û*€*Éÿvÿ#ÿÉ₫Đ₫q₫x₫a₫Â₫·₫ô₫ơ₫qÿ¾ÿTƒÚ-@_FeZAÿë°EÊÿÿYÿ ÿù₫¶₫†₫p₫Q₫E₫k₫o₫¤₫Ô₫*ÿsÿ̉ÿNÂ[¦̉ù) ë¢y6üKăÿvÿ&ÿô₫™₫₫Ùưñưáưïüäû?ûûLûüưG₫Đÿ<h<Ér"”øºñÖ¹­Fç₫Óưư°üôûûûMûGû£û$üüPüuư#ÿ¾àÿ審­\àJḄÖa½,Ưÿc₫àüiû̀ùKøÊö]ơJô ó\óaóÚó,ơ÷%ùzû½ưúÿ`æ^ }  W<é ù ¹ <k{}+₫ƠûĐùÜ÷öEô|̣ßđÂïïïî"đ]̣àôn÷7ú‹ưcV ú [N»3³$qÆ ¶ ‚+́ú.o₫qüúø÷Đơ—óOñ*ïqí!́‘ë´́Àîîđ·ó%÷ƒû†Áy à$Û€„º¼ – Ü'ó8‘ÿóư³û.ùåö₫ôójđ|í¾êè­çMéÏëLîsñƒơ¯ú±¾á ƯÚÓhNÖ±¼˜ ¯ G³e·]ÿsưû§øwötô¬ñXîê*ç€ä¬æêd́‹ïụ́Oøß₫— ˜̣bḲẹ ­ < ’ 5Ơ‘‹ˆWaü£ùøö…ô¤̣ ï0êïåháƯEăÙị̂=ơû@— ùx p]P $'‹‘ˆ*N úoßû WüOñ6éăâé̃Ù÷ƠfÓzƠùÔé—¾” {À"Œ —Q—÷#ü¼₫ÚÿO<´ ¥ (Ü& htäüJđsèkæBÛƠ·ÓØĐQÎv̉è̉©ù> ØúĐ2Ư,Ü!ÿ"WI•ü‰đùXü¯H Ë* 1)6ź † ÿkûéùîæ¸ß®×r×CÓÛÍAϾ×^Ôüœ ơ%Ư9ë)]%l* Ẹ̈¶ËøÏ¢  ~ cT›qÅl₫}húßî́gåîƯ4ƠÂÔ³Ö÷̉ĐÏߥß7ưV·›+Ü:)Ú'\+û„¼ üFMưæI †̀4 -D’1Ùd₫ûüîôiû”đ©æ&ç·ß̉ÖûذÙ.ÛJÙåçB₫ «…'==*×#Ư+hÅ ¹ÁeüRÿÀ ‡₫A øºüÿs₫mû9øûư6ùöùøù‰ơEíêmæúà¼Ûnßáạ́â₫ïöí*#ç̃*½:&"o'¬´ˆ©|Àù½ÿD<ươưø£₫âú/üSû*ùÍơ¤û¨ükơÑûeùŒô¯đ^îiëïçâăoæè¡èé™đbơËø·đL5È,‘"\¾ „n5₫đùF ùŸø‰ùíøIø8öOơsüú ơ!.ü2ôzö=ơ½í³í)ëYë́±́Wî¼ó{ôEúgFª0‘&V\=GËœ„Jưüø³ºÿ¢÷D₫?ử÷·ø¨÷ÔùÎøDöưÿúø₫ºùưøçùâô•ñWđ.ímî@íïDïZơg̣BÖÁÔê.kÁñ´® Âÿíÿ#½÷;øq3üWøë₫×üˆúĂùAúrư û¼ùĂʤü³J"üQúÍø¹öṆ¹ïưî`íḱnđ8ïiôô1§¦9€+ Q4À₫ ügú÷[È&ú…ÿƒÿ|ưåû?ûÊÿj₫µù×cÛüÄüî₫/ÿúRơ$úÙ÷qïÍñBñ¨íÖíçđñNơñ ;‚ Bm+µ̣N› •—ûû ËûùoÊưÿÿ₫ăÿÂüàø¸₫c₫₫øÑ₫>₫,₫ûÔ₫:ư ơđöëøöñ«ñíïPï#ï`ï¢̣7ö#ơ¨ü0̉;:%Ô#Îl• ? Ûèö]ÿµû¨₫骤ïûüÁÿƒùvøü üưªư₫ÑûÍøÀ₫Åú˜ơ8øóö­ơ(ô4ïọæ̣̣Jôøêöÿ.ª…$” k$l>¼₫÷¶ưđ₫@ÿ9ëư[=iø¨ø#ûø´ø®øùúc–₫›ư:'₫ˆư ₫Vùdüwúêöơøxöf̣™̣ï¥ógơ`ơ×÷Qï˜1!¦!¬ s½ÿføù¤ü ́sư:ư{|ûÈöĐöŸøü7ûRû30öîkÿ´ÿư—÷êø^ú`ù`ù†ö“ö¾ôđ€đjô]ơÚø‰÷ ûÑ—iK₫ùsûÀú¹úû[û® Q"₫û̃úJơ]÷ăü ₫Kc“+Ưlü1ù ú9üúëø ùYû±ù́ơ¬đÙđ̣°óSô*÷"ù“M‘"x"/–ü% ?û ø_øư‚çư­ă?ơ‰ú"öQøÍơôö‡ù˜ûkY[×Ú¿ÿƯü ö ù4üưµÿ₫ùœùSùøô¤ñîiïíơøûwûá³'i'%-N9ëúÚôñQü°î̀Z)[ú°̣ñô-ư“₫Æ₫N“îÿyüÔúwú©ûMû̃û¢₫‰ư—ûR÷ÄóKó^ñ›̣%ô÷rû"₫†ÿ¾ ?(%J—é§ư6úóơ¨ÿ2N cÊÿeÿÅü1ûúôdñ́öR₫…VÄbüI·ÿbùº÷¬öÏû ÿE₫^₫oúXúßùâö§ơfñ>ó8öÁùäüLüsü7 X»' %MˆüưdưÜưør÷®üÿ  ±«ûføRú\ø‡ööiú U  p₫ü üưRû¹ø¬ø7ư\]©ÿúô÷÷ ùœøơ{ôÿơøùCư©ưÏư ¸{&ÿ#Ơßä÷ùÉüơûÔûÈû( w Đ<ư•ö4ơ.÷§ûÑûÔưE©yÊÉû™öß÷±ú₫‰ÿ‡₫À¦Ơ„₫úÈ÷KôƠ÷³øØø‡øEöø_ùóü4 ~…!± Ç÷÷ŒúÆưÿÿÁÿúê1³xù„ô<ôCù_₫äÓc%1₫±ùÿözøưâgáÿÊü@ûùúJúáøl÷¬ơêơ˜öùúđùwû§üz €Ï""åÁPöîơÊù€₫´qÿæo 8‘ư–ôZó£öưêÇ©‰Ă Y’ưød÷‘ùnÿÎÊR$₫<ú×øÚø¤ù¾ø÷Êôsơœ÷æúøúhûú2>B%;à ̉ûôböµûÈï ,åÄöüdơº̣÷ơ=ÿíbëÿ_₫!£ưLû÷j÷dưư¦ #.^öĂñÏñö0û”úŒøxô"ôơ÷|û¿ÿÿMđ @v" ?4öẹ…ôV§?¹₫9ª(ƒ̃₫|÷®óøSÿy¡ œÜù&úèúÛ₫€ưWüÍûŒư}đé¹úVôîúïcơéùWươú—ø öb÷äû¥ÿÖV]s «^ ¥û ơTôDûqÿËßf…¢4úÿöÂ÷üO‚rpưgú“ùÁûƒü¥ưŸ₫'Ö0fÈùyôTđ?ñ$ơ‡ùÔüWü únøø3úr₫![½!3̀ Áư#öṇ(øxüPÅ¡§;Ó ư;øéö»øÿëáE|ü ú>ûØüá₫c"¨$ÿưhùÂơṣ˜̣Jô¶÷«úùû½û́ùù%ùÑü_“ZO"À!Ñg a₫1öØñâö û¤™÷r|>2Óÿ.úT÷_÷ü[ÿ‡ü°₫Pûiû¯ü$ÿjt§«ÿïúơ=ñ`đ?̣)öÖùDüFü4úÈ÷1ö(øŒüqÆ>%‰"Ÿ4 ‹ưœôµñ öKú¶ÿg¸tÀ̃ÿ|úV÷8÷àû™¾¼₫?û8üơư­‰öưøẹáí₫î³̣H÷œúûSú<ø¯ö÷1øèüâ j."¶%t )¸ø¶đº̣…÷ư°QXJ}°s‚,ÿFûU÷øüig̣=ư½ü¤ưu²È÷ï`é½êñ}÷ư˜üÇú½öíô÷ÑùîÓñö`# › …ư/órñ²ôÙù̀ÿ »©’°ÿ{p²₫Nûiù”û>ư‰₫6÷6 ¯’mÿù<ñtëëfîơVúÍüÈûƒøzö3÷úüÿ|’ Ö'Ç!„ ZU÷±̣đó¹÷qưFÿŒ[ÿ@ÿ ́₫ÆưRûiû̉üëÿ˽rÓ§ÿ‚ÿăû~÷9̣î%î đÎơúüÖûÔø~÷̃÷̀û°ËSïaæ=†Ñ ;¹øwơôơ€ø[üzưŒ₫P₫t₫9Ă,—ÿ³₫Jư±₫0ÿŸ%¯eđ¡¤₫âùôơ ñåđ‘ñtô)økùâú?ùđø°ø̀ù₫ü /Ø9 ­=˳úùRúCü5ư(ưâûqû¿ûưUÿ€uÿs₫Ü₫ïÿúP‡É-¥üPùöôóàómôaơ`÷HùÆúÍúùúTûaụ̂ü¸₫ˆ̉¦t €ÿC+ĂG$YÿßưŒ₫-₫*₫dụ̈úÈú/ûư9₫ÿåÿŸÿÀÿZ ©G̃´¼ÿgüXú ø ö§öøơ”÷ưù5ûWüû*ü÷û"üƠưÿù…•ïa÷ Q x " d«€ ©ÿ¼ư¢ưư'₫À₫1ÿ ÿÚ₫ÿ{ÿ±Đsÿ.ÿ ₫Wư©ûúÜúñùRû̀ûÙúUüŒü¼ưêü„ü‡ư‘ư.₫1₫ÿƒĐÆ•Ú\3 ¡"tL×™]K·J̉ÿtÿKÿÿ—ÿs₫Z₫—₫ÿq—ÿ¯ÿ8ÿđưÿ¯ư»₫9ưưPưƒüưÉû5ư ü{ûüôü]üÖûúû—ưœ₫¡ÿñÛQđ†Â6˜Đ†áT÷h™WÀ_Î7ù|½·ÿPÿÿÿ_ÿ¦₫7ÿUưü¿ü"ü‡üÑûrü5ü5ü)ü ü¼û ưÎưáư™₫”ươ₫‡₫ªÿkUÿĐÿlÿ€Ă fµ"‹îw—R3¼©ºº4kÿitÿ₫·₫Æ₫xÿ₫ß₫„₫*ÿ#ÿ`ưoưưûüƒư ư°üxüÎüƠưzưhü•ü<₫èư—ưÂ₫”ÿ_Z^u¥!y‹$mª=‚dădif¶«5äÿŒ7‹ÿ¯ÿñÿ®ÿÜÿQÿ÷ư¹₫Fÿ¾₫©ÿ«₫€ÿÍ₫œ₫Bÿ*₫å₫"₫₫"₫ô₫Pÿ5ÿƒ₫Ü₫vÿÿỵ̈ˆªÛ`N^₫ÿ#u'·)ÿÆÿ“ÿÿæÿ4ûx¼]€(}~ïçÿ₫4₫H₫sư±ưK₫äư†ưo₫Fÿ‚ÿ4ÿí₫Âÿ\’6‡sCÂVÿyÿes₫Ô₫/ÈÿÙÿnÿ¶Áÿ^îCö¸R$ẶF!ƒ¸×₫§₫ÿÜưuÿÿ|ÿ»ÿ¯ÿó(Úÿ`Dÿ€₫Jÿyÿ™ÿë₫Y2Ï₫uÅÿˆÿCf¼g(₫ÿ«ÿZÿ­ÿ—Éÿ:@?€Ld—ËÿEÿ’ÿF†]ÿæÿ­ÿ¾ÿ°ÿÈÿúÿ1ÿ±ÿḲ@ fÿoÿÖ₫ư₫Î₫âÿr₫Çưe₫ê₫»ÀC<nË rˆuÿ ÿÿ₫Mÿÿ¼₫ô₫ÿùfûçYNÊÿljµ¬ÿ3ÿSÿ‰₫·₫ÿ½ü¥₫ƒÿ³₫Dÿg₫~Öz]îÿ)Ø ÿJ₫1ÿŒ₫«₫Yÿº₫ ₫¹k 2ƒñ ~a#Åÿ)ÿ¹ÿü₫bÿ¸ÿ)ÿcÿŸ₫ù₫³ ÿ“ÙÿAÀ©Ï*##₫{ÿl@Q₫Uÿû₫ÿB¬Lÿmÿ?jFŸÿ9ĐËÿé¯V,…×Ipÿî₫óÿÿB†ÿ₫̃ÿÿ‡Pÿ7 8ÿç1‚ÿDiÿ¾ Ïÿv₫Íÿ<ÿ—ÿâ₫₫\ÿ°ư°₫®ÿ.ÿÓëÈÿNÿŒ₫ơ₫5ÿ/M₫Öư₫íÿê₫úđ ³ î° Ô"Êưí₫XÈÿ¥ÿSÿªÿ‚ÿúÿ1ÿÈÿơ₫ê₫}₫ ÿÖ₫₫¡=ºÿưÿà^Yÿ—CÓa-ÿE»ÿÿåÿÿ!ÿN₫¢ÿåøÿµ×ÅØÿ¬Iÿ! Sỵ̈₫ ÿç+ÿ…ÿ ₫% £ÿéÿ­üưâ%ÿÑûNưî5Đ'£₫*ÿRéÚ₫·ưVˆĂ¹èÆÿjv₫ó€ÿƠưJÅÿLú9ÿÖÿ#©ó‘m^ûp₫íÿûü«ùmø ûßư•₫Ñư>üâÿÙ5dĂ>›</Ü# ÿ!ư/₫Úư]₫àübüƒüüú$ú́ùÙúøKøúäü₫₫Ø₫Å₫ăÖíí @ô s 1mÂAo₫»û•ùjöMơôœóṬC̣óṇ̃áóBôƠô¥óîô‡÷ûÿ+5MG „ ‚Af÷ä Wúû_ú¿øó‰ïÍđgùÅÿ}ÿÉû×úZư¦ü}ùƒô·đ¶ïộ(̣•íëüî…ó÷çû¸₫k"p$P+5%_"T%"°› µüóôZóüèäèrï”ơÅû_w!ñí₫±ù|ô¨í–èØè́íê’æ÷êó%ûTü|±w2Ă1Œ,²-,˜#uûÇñGïï¥ăƯ®âQê^î[ô-ûßs ®̉;úUđØç.âEà—äåäĐáåçññûrz2ë6ƒ5Ó6<7„)M6ø`í9é6Ư.ÖâÜ?åĂè0î4ø•Ä ùä̃hÛ×ü{ôÜê”áÙ Ù\ßBá[ƯÓßë`ụ́ǵ37B:;>n<¦+A!A üùïùæ¹Ö@ÑÀØ Ûóà¶êö”ưGS²"@@ó IưQóÏè±ƯºÔđׇÛrÛ̃ÚăË́9ùG*"Ă5Ê6*:âA†=Ñ,‡ ₫óïâàeÏEÑƠƠEÚÔèúöË; P s"5 W• äøqíå!Ư*ỘÑÚƯ"̃ùă ïyùOF*2™1`<éD>8§+u¹ …3ïöÚ²ĐäÔôÏuĐơØsèóuv ½E!8#O &#Öù&₫’ôjêĂßÖ́ƠåÚÊÛNÚ÷âPë×ơÀúÇ.-©1ô<™<•0m$9 ¾û5ç#ØØœÔĐCÓZ̃ê}ớ₫å {æ Á "±$Ë!p Bøë#ƯÙÖlÖA×8Ùâß'èïø·s(¨&C0ß=©;n3ë'K˜“ëZâ‚ƯEÓëÍĐ»Ø'ă§ê6ơwR O'Z)Ÿ(7"êA l"đ-åđÛ·ÔÔÑ̉KÓ*ÙøƯ‡ç\đXÿÂJ#%'c5!>Â9½3])Ï ùcđñè~ßÔăϥѨ׻ƯưăĐïéÿó đ›„%đ*Ë,=%÷x|³øCísáÊØÂÓ3Ñ\Ó­×Üăëíöôư” K%±0]2…0K,$h±<Óú̃ó£éˆátÜ/Û¬ƯEà¾ăẂâöo₫ ;»ßA`1₫¥÷YóûđPï4ïđ8đṇ̃ĐôÙöÑú`ÿ™AZm É ¯ ‰ 3 ú ư •’äÍ›ÿ.₫,ưAü ûû&üÙü ưà₫¤êj›ưßR˜Óœỵ̈ư7ü}ú:ø|ö.ơGô†óŒóåôföØ÷đù;ư™¡1{É e Ü ư Ă Ê 1 ÇƯ#?¨₫÷ư•ưfưáư‘₫uÿz“ů\*l₫«ü­ú‡ørö|ôỌ̈¹ñ;ñkñµ̣ơœ÷_ú•ư>E I ê S ü T 5 ™ ÅĂø„>g-ª.=gl°Đơÿ©₫5ư¹û+úÈø¤÷ŒöÔơơ_ơyơöäö₫÷+ụ̀úư·₫U.ÚG‡e"Ñ%  °{̀¾¯{Á¦IƠhèÿ¨ÿqÿÿ¶₫Q₫ßư\ưÚüCüÊû2û¨ú3ú¤ù*ùÄøøsø…øđø±ù†ú¸ûiưû₫N¡BIî_ç1.í€ ‚Ó́X,í¤‡‹Rü‰̣n­ÿÂ₫êưư+ü\û̀úUú9ú[únú×ú`û̀û+ü|üƠüüü ưØüÁü³ü&ư£ư©ư₫ư₫óđ)gs³HR₫|Ë6úÚ»œlÿ‡₫ŸưÈüpüüü=ücü”üÙüFư˜ư¬ưM₫ïư­ưcưÎü@üØû*û(úú úúüúYüÖüMưå₫EæJ:M µ , -đ®Æ=́Ơ₫áÿ_ÿ¿₫̃ưÍü«ưíüAüư]₫ưƒư:₫₫äư}ưŸüÏüü¤ú“ù̃ø•÷­ö"ö ÷×ơIöå₫#ÿh₫Ck ¤ ÿœ/ä…PÉÍû˜÷–ơF̣|đWïđđ‰óïơÅúƒÿÏ̃$ d Ư V ‰÷́₫Jùơ‰đ¢ëféơèßèøêcëÎù]>uÖ\Ô !&Ơ%J$R§ÏÉ2núWë æ"ăÙƯƯß¡æB́ đàüTQä́r%è ü‘ơùíØçRä€ă„áXçơóơfÍÇ¿^&l*a,|(6&#i TÚơuë:æ÷Ư-ÛzÚKÜ»âçî¤ù’₫ÿ¤ ) wU ÿ&úöîŒë÷è€ïQóó+­ ß îÊ!6$$è$:Œ2ùYô ́/äáŒáŸáVăcê…đkơªü17û  Ă v•[ư/ùˆóƯï`í[ê.ôeơK÷© -p”"~"+"@#º„ùLø óáéÛäăá»â­ă.åGîó1÷ă˜j Ë ø Ôu ư5ö;óTî́ê¥èØđ̀ôvô,½ { à~"/#{#̃$ ‰ùEôIë$äTá#âkâ²âẤøñ×ô «tÉ à ÿÈM‰÷Föèï›ëècíÇóÆï’ưS`жp»!›"&ª¹®Ë6₫‹ù!đÇçQăNăă®à[éáï‰đÖúäÊ ä ù Î ̣Å üàø̀ơ ïöê½êôÔîƒơ?+ ?47-ă#ïö«ê×ÿfø!ïæè|çèåóă$ç6íÑïåôDưŸ…  o ^µöPûXù+ô+đ§ë÷î6ơ’î*ûÙn- ¯Æ¦˜!àó™î ùÓđƒ́°ë!çè ́Ù́‰̣ÆöYü83! È(|‚@üÏ÷vơvñá́¤đ,ơđqû¸|T àÓ«öÅø.d Đboûóđ€îé*êÑîé́ṣø^úpÿ=ˆEmˆ₫æ÷Köëópî[đöđóù…₫º~d  +·OUYé " 7đ₫ö„ó&ñ€́¦ëSï¿î¼đéö;úLǜû…¶ÏCdú÷ºợˆîSö×ñàơGưe₫ưƒ£ÖLXĐẾ ['ßûÓö ơöïîvï‚ïTñ±ó/øRûLư&6BT|zçí₫Bú̀ö̃ơ¤ñÁï”öđđD÷düæưp¸«‡¸ªó|sû 'Áüêùu÷̣£ñwñÉđÉñ²ơ2÷¿ùµ₫Såc’ˆOó₫ÉüÇù8ơÏơBđkó}ôØñJûúÄ PC³̃²$oè <dhưåûØö°ô~ôª̣'ó-ôpögø×ù£₫́₫×n íj_aÿ+ưÉû—ö÷#ô¥ñŒ÷÷ñ$ùÂú|ưÎ » †¿y°sÜÀ  ₫}%ÿxûø‡÷—ơnơÔôlöæöÀø ûGü®₫Ä€—‡yåÙk₫oüÖú¦÷Ï÷ọ̈å÷ơ†ơ0ü9úh%—  ƒi½œNF 7 ̣&₫eÿ#û°ùøöŒơơööơôøÚùûú%ÿ<ÿ•¹ïË5`.ÿ=₫üGøÇøjôCöïơ‚ôÇú ùØ₫çwyç ha ~2h% Î ®}-•ûîù‰÷ûơæôüô*ơÿơ-÷øù^ûWư×e-›:Â(N´₫îüăú÷Î÷:ózö„ơÇơZû–ú̉!¬ < ü‰̃ƒÏ Z Ó°ó₫gúRù÷'ö=ơüơö÷̉øƒúôüƯư[£8₫đD]«₫Éüaûä÷ZøOơóơ^ø¬ơüŒûñÿSÅ\ û i á êemrÿØûúqøôö"öDöö÷´ø%úüÀưaÎâênµ÷çÿư6ü;ùĐ÷ùöVô^ø{ơPù ûNưt¥ƒÿ@ eÛ]å ¥ åy ÎÿüÑù=øưö‚ơăơ2öÜö‹ø?úùüöưYDă¹sa:ÿ¥ư û8ùö÷ óƯö`ö÷Fü¡üÑ}óÜ ư [\KU+ ‘ T¨ú₫œü ùø¿ö§ơèơêö÷1ùyû₫›₫ËѰ•D7ÓưÛûxúîöAö·ơóNøñô‹úǘ₫o  $ W¹‡F‚ # ‚‡Céưîú_ø÷%öçơQöy÷_øâúÅün₫÷Z]b FÊ₫®û¾úXö‰÷Bó ö*ö%ơ%ünúX¿„ ‡ ÚtÖØÏ 1 dÅÿ5ưMù[ø*ö‚ơUơ6ö¦öDùéú©ü¬ÿ›Á"”ÉpË₫Qü*û²ö÷ḥK÷ôúơUûúúNh: g@Y ! u ¼¯ üíøt÷iơ:ôơØô÷åø´úÊưÿÄgw©NĐ‚₫ÖưÈù—ø«ö“̣7ù‰ñzø̣ù¨úBDŸ »©ï|µÉz  e\)Üú:ø3÷ÿó8ôơó;öö¨øØü ü1½lä÷û‚ưÀ₫Eøêùô'ơ`ø+ñ¹ûeøbư16 # bÇuÓ±FO — ×CR₫ùx÷äơ‹óùóFö]ơyøü‘ûÿ§ñư‹’₫¢ü±üIöñøñˆøéóó9₫v÷đ-ÁE öTAFhö]̣ a¦₫úơ´ợ?̣ZơRô´÷sûGưQ JŒBÍvüFư`ơEø̀îaơ<ôîªưäöÿĐ!B upÏ ơ{ -ÀíûÈ÷P̣Àññäî=ó ơùö‘ü7ÿpüỲÊpư ÷"ù‚î ÷̣5đ®üöơÿß¾P .²æ1 ¢Lÿù/ơï¤đíêí©̣3̣-ùSư¡ÿ ±…án©ø˜ûóañú•êQûƠøPù-ÑS s̃GlÜ1‡¬ư₫ÿùtô(îîÛëńªîóWöûÜÿ”l~àÚÎ÷ßûïàú—̣ñJöÁ á¦ö~>c±¹ Iư‡úPô¹́´ëƯé êoê¹ñeôû÷| Oç\̀øâûîîáûQô5î²Z÷ÿFûy†ä̉ m ,û!÷ưóéBç€êÂäHéƒ̣Tđ0ùu#âœX\“ü¿ụ̈̉P÷»ưcëW¿¸ùI£ K9`àl#›  UôfơëÓă[ê&䳿̀ï8đöu₫èLp;ăùIÿođfú ₫F́hÄ̉ûóLü }dŸ©}Í– 2ÿ/ó!ó…ë@äéÛæQè:ïóvößưPÿ¼¤ư`§øüïö:öÉSđ$?´üè# ÂïQÚ‚JE Ä«­ôüï³đyäkèª́‘ç đ̀öŒôc₫aÿq₫Îưm÷Pû:ñÿû̀₫åï i›₫/_ù &"̀êøJxW=½ưÉđqîKïĂăé!ï[èkóKø÷B₫c›úăÿù'ø¨öïđÄ+óEüDÓÿ Ù#1é*̀ †ÿM₫Öơßèhđ³é&ârđ‡í^íúúøúGIül₫¨ùÿ÷ öYđƠ²ơ¶ù‹üCôq!.t¾¤™ d₫ü/ùèŚí¸â<́ đ4ï÷"ûåü7ăú«ù(÷8ơ÷æ®ô·g lW ¬‡ïhÀéøî^û¯úçöíçắfëçÄ́‹đLóùáù/Ç₫ưúñÿ›ø¸÷!̣g₫(öÛ  Ç„ª‹çª  $ BôơwùBñ˜çmë=éêdíđ×÷ùùPù¤ü ưûüäóêú, ø ] ” & ~¦ Đ¢ùöơ¼ógë ́çPërïâíGôÓû#ø­ưÆü±ưđúöụ̀öBù˜úüéó x $t4BÇNL [P±üiö ̣́¶íÿèÈé˜ïđ—̣œùøåüúüûEùÿôÖú̃₫û,ÿ¿Ê¢ué~ è­ú÷Hđüéđ́Ơévê¶î­đçơú¶øm₫ñûQü~úÊùơ¦û²Ø₫e ôtoÅÖNÎ )Cùå÷÷ïñêVëè¹ë₫íEîÛơGùúø}üûSư û«øÍơ’ÿX'̉ ̣’ú÷¨ – ÎÂÿéø+÷Iđó́ê±èíOî´î6ơ~÷ÎúñúªùeüTûÔøQö»₫t¹ 0¸₫+@\9 x á́ÿjù{ơđ·ï\ë,ễí°ïÔñœơKöƠúúù´ùùk÷WøÄ#ÂÅ ¸ólB_Y‚z  „₫áù“ó¶ï8ïë́6îüï'ôöø$ûù=ûúù¸ø£öĐúh̉<l Á®<;AÜ+€ 7‚̀ư0ùạ̀pđ̉î¢́–íøîRñ°ơ÷UùêúÜù́úù³øzöÄü+bu´/CIÇaQ»c É‘ëü%ø–ñđ¾í íKî₫îññköŒ÷…ú4úNúû/ú!ø$øKÿt@å ƯÍ Ë̀£±ª Ù:tÿüúơºđ5ïFíéíÔîï4óËöĂøưú˜ùú“úXúh÷'ûM@Î ˆbç̃­yĐ K®âưŸú¬óVđ îíëîï7đ§ôßö?úŒúUù]úUú_ùvøˆ₫œ¥́Ô ÖÑ“ Ä„fT̀ §uÿGü_÷¸ñjï,íÖíï‹ïF̣ö^øKûú]úgú¶úøÑú¦ä øf -» èdƒ æi₫×úPô’đfî÷́MîïîđLôööÁùîúĂù³ú•ú¤ùđ÷2₫i kÓ!ÓSĂÈvèz ¸¬ư#øôñ¯ï[íVí î½îRñ”ơ|÷púÏùLúYú‡úØ÷rú*Ư´: w‡pRQYWS ¡'ÿ‚ûtô¥đÚîắ«íîíï\óöTøôùüøú4úùo÷Î₫FD½? !ä`vü{̣ ü#^ưPøñ›đ×í_í́íUîñmơJöù˜øtùÆù­ù1÷-úç{@₫ Ë«øÔƯ0 ñ¤₫àúƒó~đTḯPí©íïâóSơ~÷ÑøøƠùFù÷÷I÷]¦Ñ§– ½Áå'q™”ă ß¼ÿ’ûùôơïIđ%́;́íÄí©̣Éô~ơtø\÷đùOùÉ÷†öB†Åc > Ñá*Ü ‰‹Đ \ Ekû0ơBđ§đƠë®ê•́ỨÍñDóô ÷X÷*ù`ù÷áöß‹' — ³ƒ1 X … 7 Ô¸₫Vúbô]đ#đƠêjéíÚ~ñ°ñoóeöÊ÷Đ÷ù ö‹ùÆdÆ á N³ Ñ&O Ưoû×ø-ó đ‚îpè̀êæí₫ëÏñ ñ¤ổö2÷ ÷+ú}ơ₫°³ ± ̃„fp0DÙcŒ ‚ÿ_ú1÷¯ñ£î¿́±ḉáỆ́±ñ¬ô­öàöøéø}ơe|'£¨Uå^éÁ †á8û³ù¸ởïöí,êMé´íëRîẉ̣̉gơCöôơúgöùZƒC е ×iô|»]   ïú-úôưîÏí÷èÖëí”ê”đỴ̈móơ2öx÷ßù(ơèütĂf *ÅçSmçü5*u + ùAûæûró¢đƯíAêí¶ë¯ëUñdñơóAơö»øVø=ö;₫ƒ%· ÜĂË­]PÉÙV  å>û́ưGöÜñïçê²ïĺëpñṂôjöơ¯ûùRøMú°́‰u à îÆ”É= Ơ ÄÇÿ¨ưLüơ/̣₫ícíÉïíë–î4̣êóöÄöŸù¶ûÜùÛú̉ú̃Ó? #ă åls̃, < ! )‡₫t₫÷·ó‡đ-ïZñOîóî8ôßơz÷î÷Pù"ư»úûºúÓưtµ?LI ó ¤ ‘ mF¹Å Ü ° nñ₫¡û́ö#ơüñúñọ́BơÙöø³úèúéû±ư€ûüRüÚúHÏób‡‡ ® E Ơ + o ™ Ï,ÜÿƠưØú—øÑơơ÷₫ơàöø“ùüüÀûºư2ưƠü“ûăúü₫×¶₫óươ¨ 2 £ p ¸¥t›₫Kưû:ùùwù)ú^ù̉ù9ûÚüóüưÅưø₫n₫‘üü+üíûƯúUư,₫hÿ¬M(s@đ–  =™Ÿ\Yÿ”ưư)ûû<ûĂú üôûôüóư•₫Jÿ7ÿ‚₫ÿÜư·ûpûùúăû£û ü¬₫ÍÿUigHhÛ` ÏrÈtÿi₫,ư9ü“ưœüPư?ư>₫,ÿù₫Èÿß₫ÿ¤₫’üÊúÀúkù+øŒøúoû­üưÏÿZĐÖ ® ±Đ«Üÿi₫ºư₫E₫₫¤ư¡ưˆ₫o₫+₫ZưDưư#üú§úIù,ùËøâù[üĐüË₫ñÿ̀¸†vw<: tl*đBt* ®ưÿư]ưÆưUü>ư¯üÛư₫+üùưrưSư üŒüFûCûWú-úKû¿ü“₫Ï₫Œ¬éYJ×đ☥om¨·!ÿP₫ü¼ưéüÇư¿ư×üÿ¶₫º₫ư|₫₫”ưËû́ûư—ûú^úÿü¡ưÇ₫̉₫ö {Sø¢¡ođfœï@ >e₫s₫³₫₫m₫Ôư6ÿC₫ë₫́₫V₫₫*₫6ưxưBü[ü üû[û-ûoưđưÿÅÿ“J-ß-Ÿ•ÅN–³ßÿ³ÿHÿä₫œ₫ÿ+ÿ§₫₫\ÿ¸₫¨ưâư[ư‡ửư¿ûîûWưgû„ûđûưCÿæ₫đÿ²#(8êÎJ  O‚`yÿ‘ÿ¡₫¼₫Ù₫ƒÿ₫₫ä₫‹₫Æưwưçư₫ÓưEü{üØü0üưüE₫\ÿ#ÿä½2ÛxøpUP ¥[¦S,ÿ¨ÿ7ÿ\ÿÿ½₫¤₫µ₫|₫Çưˆ₫µưÊưư ü3ư©ưÇü5ügư[ư)₫!ÿjÿỤ́í÷@Ñ:ŒE…VºôLÿ‰Xÿ»ÿgÿkÿÿAÿ\ÿ¼ÿe₫†₫®₫Sư‡ư<ư0₫ÆüÏüưpü˜ûüqüÑưÿnÿ)ăñn¸°<‚è;ÿ0ƠÎ@´Bÿ-ÿ‚USÿ¢₫Nÿ¦₫jưR₫₫zưüçûưëûŸû­úeưåûÉû;₫ÿ ¿q–ƒ—³k½¾+¶F²€¾₫ˆÿ&.®₫ÏÿaBÿD₫«ứưöü›ü6üü<û:úåú*üùúOú{üh₫dÿeÿ*^ª·¨ư4Íú†«FÜê¿„ÿºÿ}ÿÙ₫ŒÿQÿÿ˜ÿVÿƒÿ÷₫vưd₫bưzûü1üuû¶ùZùúSúºù«ú*₫̉ÿ$W˲$ôôˆU%Ăc $7ÿÑ₫₫ÏưưèưNÿQÿ¡₫áÿCÿÿ-ÿ!ÿæ₫Ăưuú¼úYüú øÁ÷ ùøe÷ø]₫₫\¶Íî ư   Û €îwq7ưñü)ưÀúûMư¬ư₫ zsÚF§ÿx₫ÀüûÇúûx÷µơ÷E÷ăơ÷̃÷6₫6j€3 . Ô a ” ñö xüeü@úúÅø)öJøpüçüdưKmÔf¹ëßư¿ûŸúhø%÷ÅơÙó$ơ½óxóơÿ÷`EñO.”á ñî”ưăøáơºó“ó·̣$óùü₫ü/•)Uúêl₫Uû øCö±ôÁñđxñKñọˆ̣Jö° ˜ Ú²ÂàjÔö‹ D¦ úññZï;ï‰îîàïơ;₫r› ê ̣ ÷Kûư4÷]ơ®̣ˆï¹î|íà́ ï>đÉó¬ơû₫fûn!Bè¦× Ư{û_÷@đëÂêcëôí¨ï¿ó±ûëàØ lAk ÁƯ₫ä÷ẒơîíĹ½é=êPíÔî«ïôđø c¿!8(Ë$!/Œ£ûơ÷­ñéÂè›é]ê2î²ñÔø *œ¢èù’ :¦ư!öœñǵÉçKè ëÿéÍé₫íÉñ]̣›÷¢ùÏäY‚Å**i"mŒ5Äö.ô³ñ èæ¬ê,́YïộTù)̃ í d<  $ Ͳùó$đZêçHé́|ê¥ëPîTñ—ñŒơïö4₫úöK”)ß-₫$A!±çêú!ôêđ'êçîéƯëÿïyôäød ¼ cg ) c Á 2 GÑüYúăđ̀égé‡éàé_ë¥́åï‹ï¯đƒñ>ö.ù©Hư )¢+{1&¸2 J ÷î…ílê€æ^êÜđWô'øïüÑđF  / 2 ÅØ¾ ç$ÿ¾ưéúfđê.ê5éMêµíƠî?ñ×đgñ¹̣.ø·û'»"¹$û-|1×&ưÑé üéñëêêÀè>íôÎøÉû³¿»hgŒÿ-¤k_"Nư,÷“đæë4éRé́‹ïđẠ́ôêơŒ÷¨ưÊ Ô"€'¡$9+î-Ư$…đư9óDí'é4ê îŒî‡ñ$ú®ÿô₫ưÔ…§ƯöP.­B›x‰û(÷ñ¬ê"éùê*îŒñô%öÆ÷êùzúºư⌠ $û ®&f&zÇ ³úŒïºí&îĐí¡ñö“÷ươÂgξÇÿ$₫đư4ưSÿu éûG÷%ôĺ¶èí¢̣wö³øóùưù̀ûú=ü0E c“AVAVË3₫ôxï?óơ™ơDù(ưv₫ñlû"_$j₫ÿüÍưm₫ơÿíÖcûƯóô…ơ’ñøñ`ùlûnøŸ÷ªùêøËù×ú™|ävøuq ÿfÿ%ûzơÎơ÷«ùNư¹₫*ưạ̊ÎüI7₫Nû%₫<ÿ@ư²ü.₫ÿË]/C-w¥üËù¿ù)÷môªôi÷Û÷Uö÷ôêơ“÷øRúyµî] ¡~g›ÿkXư§÷‹÷*úƠû ưư^üÔưB:₫IûÀư‚ÿ»ư ̀ù₫ŸDLeï, ÿIưÙû̉ù¯÷U÷Tøf÷ö°÷œùÜ÷Rö0ø3û®û ªÜmÈÊÇ ¿É₫Êư û¨ùNúÉûâưº₫§ư ₫¿ÿyÿRư¢ưîÿñÿ)₫„₫ƒđ°ÿà₫,ÿ²ÿ[ÿ×₫ơÿô»{ÿÜ₫ÿÇư₫ùØøưù¸ù³÷÷íøîúLúØöÀơ¨ùŸư[ư…ß̀ Ê€”ÙưNưÅ₫¸ü?ú†ûu₫½ÿï₫£ưkư_₫¼₫]ư©üE₫I> ÿ¦₫cÿ†ÿh₫‹ưL₫-ÿâ₫1ÿˆÿêư}ư5₫i₫Xư/üçûûûHûtù‘ø”ùnúYùøù¿û}ư– ª(¤½V ’”₫ÿÅ₫ưüMüâưç₫àư3ü@üKư[ư¹ü#ư©₫{ÿđ₫'₫_₫'ÿú₫ư:ư¼₫wÿp₫Ù₫)z<ÿáưz₫Cÿ₫Wü½úûXûÙù̃øÊú_ư+ư3ûÊúÑüCÿlFåzÀzƯ( é₫óüf₫¡ưzûµûăư«₫Sư€üñüưâü€ưc₫Ô₫wÿNûÿÿ0ÿPÿC₫wưÜư4₫=₫â₫mÿ­₫̉ưÆưư<ư₫å₫íưÍü$ư2ưäûû̃üŸưưYüèûü₫¬ è÷D  >ïưñư¾ÿÿ:ưÂưÚÿ3Q₫êüeư₫’ư*ưN₫ñÿ=9ÿR₫?₫F₫sư ü„ûüư1ưưôưsÿíÿ±₫Zư«ư@ÿMñÿÿÿ]ÿ₫8ưÀü=ư\ưËü@üü„ü#₫4Î$Û  À Gÿ ÿ†7₫Ùưÿ‰ÿ9₫hüÅûüŒư5ưƒüPưđ₫Ö₫Úü¼û«ürư|ü›û»ü…₫Ă₫₫¹₫}LGä₫à₫ Øíÿ±₫ø₫äÿ3ÿ;ư›üƯư₫yư~ụ̈üœưñưo øƒ; “ • n¶‚₫̀₫$ÿ¯₫N₫R₫^₫₫ư¬ûLû^üQư ưưG₫6ÿ]₫ăü³üpưkư“ü|ü§ưÀ₫ÿŸÿ;‚Ô‚̀p₫”ư9₫Ê₫₫lưùư†₫‘ưGüXüưpươựÿÚ+ ¡ }9 ) A đsÿWÿ¾ ₫ÉưÿÈ₫ü`û̀ü₫^ư‘üºưUÿá₫ư[ü@ư‡ưüüRưƒ₫z₫@₫ÿ•ØÑŸ?¼u₫Lưư¦ư₫üIưÄ₫IÿƠưZü™üRửüüÿå4Ă ¤ û ë>Hàºÿ‰₫¯ƒÿ$ư/₫ÿ.₫íû*ü₫i₫)ư÷ü8₫°₫“ư€ü™ü#ưMư`ưêư₫ä₫á₫ÿÔÿậ¹ö†¬₫’ư—ư·ư`ưzư{₫ÿ₫mücüÚưT₫_ư₫×b1Ï‘ | / –+$6¶₫÷ÿ>0>₫Ưư´₫£₫Wư§ü¡ưß₫™₫Qưư₫9₫ßüüQữ₫j₫ư¹ư¸ÿ̉₫CÿưO-v‘ÿ ₫@₫•₫ëư¥ưÇ₫¢ÿ¨₫7ư0ưÇưQưüưULs © i;!h™ÿ5F¥/ÿ¾₫ ÿ£₫¡ư?ư¡ưâưàư-₫™₫s₫îữư#₫Øưư ư¿ư(₫₫\₫Zÿüÿ,ó!>>µäi.ÿÅ₫qÿ ÿØ₫~₫ ÿá₫Xư\ü:ư₫ư÷û¬ư+ 6º– ºa-Y[­aÔÆàÿ÷₫̉ÿ₫ÿW₫úüyưq₫E₫©ưßư”₫½₫C₫ºưsư~ưÏư₫ËưĂư₫Aÿÿđ₫$Đă₫ÿa6ÿU₫!ÿ?&0ÿÍ₫ ÿ—₫Vưëụ̈ư¿₫@₫̣ưXÿkxê=NmÎ|׺Ö÷²‹Ë‹ÿcÿưÿ¶ÿZ₫mư¼ư;₫ßưQư²ư₫—₫̉ưlư©ư¸ư]ưGưÊư\₫«₫ ÿßÿ``Ri7ºÿ¤ÿöÿôÿ¡ÿ¿ÿ¯ÿí₫Ü₫?ÿú₫9₫4₫₫₫UÿÜ₫Ë₫Ô¶`w8™[OØëxN”ºÈÿ‡ÿ‡ÿù₫Øưư@ư ₫D₫·ư}ư#₫Ÿ₫₫ưưưlưư›ư–₫ÿVÿåÁ,Hûÿ›ÿñÿ¢&íÿíÿ}ÿÉ₫•₫á₫ï₫¶₫ä₫gÿiÿÿ•ÿ@Úgơ'm_/Sè/÷äê/ÿ×₫|ÿ ÿ›ưÂümưc₫I₫‡ưvư=₫„₫ư•üÚü–ưuưư¿ưÿ₫oÿfÿ₫öS/nGïÿx¦‘\÷ÿÿ;ÿÿ¯₫s₫µ₫@ÿyÿNÿjÿDUưKĐp§Áÿ^ ùÿ0₫̃ư₫Y₫ưÎü ₫ê₫S₫{ư¥ư₫Ÿư³ü›üXưæưưưL₫6ÿWíuI‚ ËÿĆëSéÿëÿÊÿ9ÿµ₫¦₫ä₫ ÿÿø₫(ÿÂÿ“HåÇÙ…·äàđ¬b¦ä‹l(É^ÿ±₫í₫½₫æưxưĂư₫¿ưuưˆưªưfưóüïüTưŒưưöử₫aÿ£ÿaeâ£Ù‰ÑÿÁÿTP4=îÿ`ÿÿÑ₫¤₫À₫:ÿsÿ2ÿ?ÿûÿ†zÙ<°=Al%Dmđ®m̃±`Íÿ+ÿµ₫L₫åư¼ưÓưÙư©ưvưbưSư,ưøüûüdưåư₫g₫Oÿ5#Èÿg9ˆ+ÿ\ÿ˜ƒpÿ°ÿ?ÿ Vÿà₫Jÿ¿ÿ¬ÿ°ÿA±>Ëêî8,â«“kV¨/k…Ưÿÿá₫°₫₫€ư”ựưôưÁưÖưÿưÁưkư|ư¹ưËư'₫ÿ̃ÿôÿÜÿßÿ0ÿ¦₫Í₫:ÿrÿ£ÿ idÔÿ¹ÿ²ÿ³ÿĂÿ₫ÿTyQI¸,BÁî½éQÈ`‰Ẹ̈ ôÿ©₫*₫₫‚₫Éư{ưËưƠư~ưhư{ưXưLưŒư¾ưÖư#₫„₫Ă₫ÿ{ÿ Óa0é@>VÿÂ3Îÿø>ÿ^ÿ„ÿÿĐ₫Hÿñÿ2%9†µ¡¸:Ơ\PϦm®ËPeAƒ#ÿk₫•₫¾₫1₫€ư ưD₫4₫WưưÏưs₫₫£ưƒ₫Øÿèÿÿÿ Ö₫~₫Éÿ¾ÿfÿz&pÿÉÿHÅ¡k›Ú̀®èHJ'œcˆ+RÈ|"ëH́ÿ$ÎÿEÿơ₫ç₫¹₫/₫Ëư₫W₫+₫́ư;₫—₫\₫₫=₫¢₫½₫Û₫mÿ(vSI~iäÿ¨ÿ]'‡•ÈÿóÿÛÿÿ‰ÿăÿ%;Hkd@‘#7ê£øC₫Ëí¼5ôüÿ́ÿÑÿ5ÿ©₫₫R₫Àưzư˜ư€ư2ư0ưUư2ưư?ưư”ưÓưS₫®₫ä₫LÿÈÿ D¬?£Q{ç'̣Øø~f•FÈʼoj"cÿÿLÿô₫O₫L₫k₫ƯưVư‹ư²ưCư$ư£ưÛư¢ư¼ư%₫8₫)₫j₫Æ₫ü₫Hÿ­ÿøÿ9’ĐîY‰¶ăú 13üÑÖÁn9SUÆÈ“îÿúÿÂÿ€ÿŸÿµÿ]ÿÿ3ÿÿµ₫₫Ï₫Ç₫Ÿ₫»₫ä₫Ç₫₫¬₫·₫Ÿ₫Ÿ₫Ơ₫ú₫ÿ/ÿhÿuÿ|ÿ¯ÿÓÿÜÿfƒ›åONEryyq:&⨗‹Sđÿ©ÿoÿkÿNÿÿÿÿÿ́₫ô₫ơ₫å₫å₫ë₫ê₫ö₫ÿ#ÿ7ÿRÿhÿ€ÿ•ÿ ÿ·ÿØÿèÿûÿ,INk‰ˆ¬·ªÁßƠÍØÑ¸®¤—‰|neO2'óÿÜÿßÿÍÿ¯ÿªÿ¬ÿ–ÿ€ÿ|ÿwÿjÿ_ÿ_ÿjÿkÿcÿnÿ‚ÿ|ÿtÿŒÿŸÿ›ÿ¨ÿ̀ÿØÿÚÿñÿ ,>HTcs{z€‰‚y}qih_J=4#ûÿïÿâÿÖÿÏÿÅÿ¹ÿ°ÿ¬ÿ§ÿ¡ÿ¡ÿ¥ÿ¥ÿ¨ÿ¬ÿ±ÿ¶ÿ¼ÿÂÿÊÿÖÿßÿçÿơÿÿÿ (125;<::862-*'" ÿÿúÿñÿîÿîÿèÿăÿăÿăÿßÿÛÿÜÿƯÿÛÿƯÿáÿăÿăÿéÿ́ÿîÿïÿóÿ÷ÿûÿ₫ÿ  ưÿúÿöÿóỵ̈ÿđÿ́ÿêÿéÿéÿèÿæÿçÿçÿçÿèÿêÿëÿíÿñÿóÿơÿ÷ÿúÿưÿÿÿ  ₫ÿûÿúÿ÷ÿơỵ̈ÿđÿîÿ́ÿëÿëÿéÿèÿèÿéÿéÿêÿëÿ́ÿîÿđÿóÿöÿöÿøÿûÿưÿ  üÿûÿøÿöÿôÿóÿñÿđÿïÿîÿ́ÿ́ÿ́ÿ́ÿëÿíÿíÿïÿđÿóÿôÿơÿøÿùÿûÿüÿÿÿ  ₫ÿüÿùÿøÿöÿôỵ̈ỵ̈ÿñÿïÿïÿîÿíÿíÿîÿíÿîÿđÿđỵ̈ÿôÿ÷ÿøÿúÿûÿưÿÿÿ  ÿÿüÿüÿùÿùÿ÷ÿơÿơÿóÿóÿñÿóÿñỵ̈ÿñÿñỵ̈ÿóÿơÿôÿ÷ÿùÿúÿûÿüÿ₫ÿ₫ÿ ₫ÿ₫ÿưÿûÿûÿùÿøÿ÷ÿ÷ÿöÿơÿơÿöÿöÿơÿöÿöÿöÿöÿ÷ÿùÿûÿüÿüÿ₫ÿưÿÿÿ ₫ÿ₫ÿưÿüÿüÿûÿûÿúÿúÿùÿøÿøÿùÿùÿùÿùÿúÿùÿùÿûÿûÿüÿưÿ₫ÿ₫ÿÿÿÿÿÿÿÿÿ₫ÿưÿüÿüÿưÿûÿûÿûÿûÿûÿûÿûÿûÿúÿûÿúÿüÿüÿ₫ÿÿÿÿÿÿÿÿÿÿÿưÿưÿưÿûÿüÿüÿüÿưÿưÿüÿ₫ÿưÿưÿ₫ÿÿÿÿÿÿÿ₫ÿ₫ÿ₫ÿ₫ÿưÿ₫ÿưÿÿÿưÿ₫ÿ₫ÿÿÿÿÿ₫ÿ₫ÿÿÿ₫ÿ₫ÿ₫ÿÿÿÿÿÿÿÿÿÿÿưÿưÿÿÿưÿûÿúÿ₫ÿÿÿ₫ÿÿÿÿÿ₫ÿơÿơÿûÿ ₫ÿûÿúÿöÿöÿ÷ÿûÿ  øÿïÿăÿØÿÍÿÄÿ¿ÿ»ÿ¹ÿ¹ÿ¿ÿÈÿÔÿàỵ̈ÿ(9IW^fhhb[SH<.# ÿÿơÿéÿÙÿÉÿ¸ÿ¦ÿ‘ÿÿoÿdÿ^ÿ[ÿ_ÿkÿ|ÿ‘ÿªÿÆÿåÿ >\y”®Êäú!/42&ç±r)Ôÿwÿÿ¾₫h₫₫Éưư`ưBư1ư?ưbưươưm₫ÿ₫£ÿT Àeñ^¬ƠÙ¿Gơ@å6á>éÿŒÿ)ÿ¾₫J₫Åư6ư¨üüû÷úˆú4úưùíùúwúûĂû¿üîư9ÿ÷c­Á¤Q±À‘6­ư9x¿ÿFrăÿeÿơ₫₫₫¶ưRưăüdǜû(ûwúºùùøLøÈ÷u÷[÷…÷øàøùùOûæü±₫c/äc’r  D $ ¹  Vjgfr„–ºøD•ÿ÷₫s₫₫ưưªü4ü¤ûơú1úbù‰ø±÷ïöZö öûơ8öÉö¼÷ùxú&ü₫*6.ç] p 2 ¤ § A ˜ È ÇdG:+,Yª₫ÿ[ÿÙ₫m₫öưbưÄüüJûHú+ùøùöíơơ€ôHôeôÚô®ơßöaøúêû÷ư+e„…2 z b é  ¬ ö  é ¢@ï¿”ÍVÿ£₫₫xư´üÖûûúùøÉ÷¨ö§ơÀôôĂóÎó2ôèôùơR÷åø³ú’üƒ₫•ÅçÛ¸s × Ê Y ‡ D ’ ‘ a  º}W>P~ÿ¼₫ơư=ưªüüpû±úú]ù…ø£÷Ôöö„ơơơOơËơ‹ö¤÷÷ølúüÓư˜ÿ]1 ÏR® ă Å B [   ’ h '̀găâóưÿ!ÿf₫½ưưüüˆû%ûÀúfúú¤ù6ùÄøUøû÷²÷ ÷Ă÷ø©øùƒúûÛü#₫†ÿê-Qx¬¦h$È? W 1 å_–¤¯³À̉ @uµÿ₫₫V₫—ựüYüåûtûöú§ú|úwúxúú´úøú1ûVû…ûÈû6ü–üơüpư₫v₫à₫jÿïÿ‰„ösø ¤*á₫å·OÖO»_¾wƠÿIÿ¡₫1₫ÂưVưưÂü’ütüDü;üJüeüüƠüư€ứưF₫ƒ₫Å₫ÿKÿ~ÿ’ÿºÿÿ¶ÿ¬ÿ¿ÿÈÿøÿ́ÿ.fJ£Â1<°èCŒ ëè*­Çdzᯡ%j—ÿ¡Lpư‰₫Å₫r₫Æü¯₫?ül₫ ü­ü ‘ụ̀₫?ừưbüÁúÇÿnư ư±₫—₫ư)6ÿé₫²V"<×°ưüƯ¥HÈüLü;ưîû̀ú5ư~—nÏZ @3¹¸¯ưªü;ûÿö¢ó5ñđgñOđ_ñGôæơ±ú̀ÿl^inVX#q"nßfP Èư=óï‰é9åááÛåuç̃è…í*̣öÚơĂöûuüOü÷ü₫ˆúL@"E#ƒ+ 1¤/+‡_½ñ–ăÚ†Ó{ƠYƠ1â¤÷̃̃ dÈxÂ"ư%í´ß;Ư×7ÓƠEÙ}âÜë|ôª¿Đ9̣HÏNyKiB;‚#Ø̣µâcƠÎÜÉX×ûà俨ö>†æ#Ä%D öyè›Ü÷ÓaƠrƯJß ßáẹ́/ơE1  1&T::;}J¥A#:-éÿsî›̃ŸÜeÖñƯ±îçđÎưKcư| ­KL$úqô¯è`åQç«̃l̃î̃äáoäLé§ùRơc dD¶TO A“6#®ÿµă^ÖµØbÚ1Ü«é¬ÿ¤¤ Æ mö(ïˆóÖÿ H;;̣öä/ЧÏúƯèßwÜâfếơµ ¾- W²UjBb8â#đî“×_ƯQæḉ4ôµüÇ [ ƒø}íóëûéÎê„đ–+k8„Ă÷₫á™ÏÍÊÎùÛƒđÖöúïSëdèü¢‚cư0.fÅQ8"DÛṼgÎåüŒH› Eæ¤Ø\̃NïưåV,$"+‚%®ùP̃ŸÖùØ~æëœë!óøđ¤æØă½äcüE$ &Ư.œjPUÿ-³ ₫ù¬øä\×ßî Éêâö¹óNđ—ă£ƯÍäùÿđW€ ̃wo °óD́©ëºñ‡óœè5årđñ·ï°é1êơæ2¤ZJk\í; î×è;öÓđ§ơÀ÷&~‘é”åêä‰èđwñ Zäv¬~–íEöúïùđ‰öuóœè^é¿̣Có}íbçˆ́äúˆÅ©‘F»Ọ1ñsæTêäÿÊơ~  “ùEèFáÁê„óüÈúÏ™…¢ 8 ?ơè́îú úƠó{́ đêîöínëĐđ4÷€—¦A5Hœ* Îëÿë<“ïÁ8ưuî™èCîúø?$₫rư… ‡ Tâư  ̣ÿñ(ëgóüö¢ïí”îï;đúï6ø]₫ư…AøJđ)V₫Áåê ́ ,N¹ÄŒkđƒçđùA{ü­úÍ)  ƒqæ ioöí́søˆüµøĐï¦đííüíÈëMï‡̣©ú˜₫% X;#SÔ< "ê+àê₫Ää 7ç§̣̣̉ÿå™í[ø ·₫÷LùE& ÿ1Ï  `₫äîĐè§ó\ÀÿṾ‚éxé©ë¢íQï§ôpùµKªNE&'ú)á#êp –¶Ó °#÷¸æè ÷–’¸ø#ö: ‰/ù 5ö|êá́ú¹úí[ë#íAïÛîTó¼ơ<₫&ú!DD‚Sy2âŒââḥ $À ̀ 9₫ éÛă¨̣₫ ü₫ơØû&^¦ÿ»ÿ¥ k-̣`ëøđƯÿ„9öáï$ñ¼í`ë¿é²̣ú üc÷iMEP¬,ư”åJëm;¿= –¶ơåjæJöÔÿ=øú\ù5üOÁüêư. K=BưLđ¢î4÷àÿ²û+̣»ï€ë©æ€å¥íúơữö•ÿư9æ[å>ókè‚æÜđ Ă?]t‹ư3ẫ®ó¡ÿ^×ù=ødüđÙûIư­? îëßô“ï˜ïÙùăư¨öịKê¬ă‚â=êÑóÇûbøDú\0a[’EéXñÇæäư ư.7Kæ§̃ƯñïúÇûÛúưăjƠø)úiTO¹AGèơèègîúf₫ƒóÂëEç¹êvç—́/̣Zü`÷D»]˜4¸GíÏíó’ü ü¸Û ơ5àYèvøƠö£÷Æü? ùüRơñüº¹È# œ1 uøÛëîñEùJûOó„íqî{ï₫çdèñï÷ùéù/—]_Càö[íWùjù ôÈ @%ÿưdéßéô@ïîíxû’à’üÍơÜüa₫‘₫6 É¡Æø[÷ĐøØóqọ́@đ_îIëGç@ï₫̣ưóÑóE?)Y10x |ưị̂¹ộ¡û–$%€&ùmî¼íˆëuæ7ñm­-ưÚû ÿ(₫¦ûŒ —'Å‹ú¶ôÀï§ï¾ô§ơ óJîkêÇçí1đ®ơá÷[ÿ²6¯V5_›…÷Ọ̈ß́bô ¯!lQÎôñï´èµáíUÿI5vdăJü#ù¬SêË ^Ä÷ÿî€îÇóÇóñQî¾́7́V́—đÂơOú„÷Î÷Nă? êóÿ₫ñ–éÀéÛL¥á,ÿ¿ơê'̃åèøøÿr"±„ưÍúXÿÅh î N –Åÿö\ñ|ññ–í!́‰́ÊíµîơÜơ”øp÷ËN9ĐG+;‘̣÷‚́´çXơy:c " ¡ñsåăwïÍ÷ùøa" § %C₫ï₫Ư‹FE D I‹üzỗđ đ²ëë"íÖï”îBđbôg÷ø ₫>-½F\1Æ"÷‹SïŒæÛđ†´  x Y”úÈé#âµë¤̣,óoü  [²́)c J Ÿ.'ú^óOîë|ëí¿ëuíôđ;ø÷OøËøª >:đ=×)%#=ùưaíÍåcơ^ # k ́5÷é÷å\́ïơÅí ( êo¸±‚Á ‰±₫àơ–đéíóêêüë=ïËđ8óY÷¾÷áûúû³ Cß4^'Û! y÷$éè)ûåÊ { ü¿ơè»ê*î›ë ô¼ª | ç ó”4ÿ2FÖú²ü¡öOđ–ësêḰ¥í›ïṿZơÑøá÷=ú:ưî!iCˆ3&° ~ €øèúæ]øi® Ñ ¼÷«éüê„íöẹ́!Ñ T ) - © ­È₫7S¼ÿCü*øÂó;îUê.êÈêî ̣±ơàùüLü!ù+—B̉/€'i× úåÆåù¾ưPÇx ‹ ©ùĂëjî0íÙèÉđ˜ühM !t Q’_₫₫fû÷c÷|óÇíûềê„́¿îmđ„÷¡úQü‡ü¤â4;@.o(*w Jø³à¦åöø|ü7 x ümï8ñ&íÑè'îHøäm Ó „hÖ €+‹₫åü–÷'̣ôậĂîgëêgí5đ½đø|ûư‰ư±ư8U<¸/Y(Ưz%÷Öàæäèïôªùÿư€ä Ïöâô‹đªíÄ́¬̣ßJ À Q¹]ÚdÏüüø̣Ăî²í6îï›í“ízđ-ñ€ơ^ùúưQ‘(74É-ª%ä8çø̣æè™́8đóxơ’>́ưûCøf÷eôFôû£) ¹ ܽ—5§ù5ôåñhî ́*́ú́ïađ>ñ|ö<ú²ü»ümüà+ù+đ&e!Í_°:øñ£ï,î|ëNéîZơøùhüºư·ÿ%ÿÂoÓÛ„ =–ü‡÷äóï±ê7èyèÁê¶́6đ÷̣Îøîû¯æ$,Q,t)×$₫J1µö°î¿éíå‘âUă*éêđÙ÷ÇüKZ— o ú ¤Uzζ´₫ûôöó£đè́2êaèhéïê¶îÎđÔơƒù²f-#…+†,i,•)q$b°ºùVñ;êqăß‹̃₫ăàëwóéø&ÿŸ îÔ¥c ÜTóîÿ×ûø ômñàî'́Hê%é¶éàệíƯđköFú™̣#Â*Ă+ù+?*ê%Ÿ” 5₫CôÿëîăŒ̃eÜ!àwçÎîơHüX, ¸¢C®Û  ³ÿwúËơŒñ’îÛëRêîè­èê…ëĂî8̣ ÷ú½¹"Ô)P*₫*•*è&đ)¸÷rî×åm̃VÛéƯ†äë7ñ“ø@¾ #j₫17Á§ S¦ÿ!ù‘ó3îâê@è¯ççè¯ééë"ïró}ø üơ²[#„)b*ø))s%§É£aùNđ)èoàÜ£ƯÊă0é/ïöo₫Ô=Œ‡ÉđæmK?ûÏôïêúæÆåÍå æœèúéị̂møûÖ‹ƒ(‘)6)×'Ç%DÍ̉₫ơơ€îuæáÍ̃â₫æ9ëâđ÷Wÿ¬—¾Ưè&1æ‰øú”ơ¬ïâêïæ̉åväàå8æ7éỤ́¦öv₫D &›&£('Ü)#%" Ñoÿo÷µîyå&á0àhădååèíWơ`ÿơ» Ăw>cx¼4ûô³íé;å)ăácá»âTç˜ë’óùø·ơ>.>3µ3¯1…/*I«ù]đçf̃ÖhÛ×äÙëx̣Oú˜ÙXQƒËf , 8ÿ4)ßü$ø"ơô´đ¼è^äëăǻäæÂêơû3Í"ˆ7ê9:ø6Ï1ª&ư ö2íÏăæÙ»ÓrƠzæ[̣åöă™ Ú& 8 f ÜÙøéơ=÷…û+w ¢ ̀«ÿ ÷bîïäeƯƯfß=à̃äÄë́÷Yä7Û>#<đ?a8Ä*¬·÷:î™ặÓ/Ñ»ÖÅă˜ñ́öB̉©ºÍ á;ûó¹ơö¼ơ!ûë§Èv È ƠÊöÿèÛß,Ü÷ÜBÛóƯçOîRù÷ë>:;aCQ8&̣ [øḶ̃–Í”̉́ØáÖêpô V@2'ÈĂÖư<úµùưđÀđØøÿW4 Ư Å ïú ̣Üè á¹̃Nßfà3å[é­ôyû́>6P2È7Eç:I+ˆŒ?ûä:̉ƯÔ^Ó,Ô¬̃ûé÷ûU~ ˜vt„÷ ô¶ơêơ©ùHüv₫PưTøhơwï^èHèçºæ_è¤ïÜñâ₫"$¡(z=»;J0,(.Ơ/ú¤äÁạ́ØđÎŒÔ"Û-ä4ñÚùét íx†[ i=ÚúcöÍôỵêđñï„íí³éëŒ́ÔëÑïŒö¡ộ# à$66H/Ö(¯&ä_?%óuđ6âơ×OÜÜÜƯçZî0ù¼Ưb'—-m={ úwüHơÛíTë^æ:ăbăă:åç>ê‡ñA÷hùÉ LŒ(§4*â'ç&ŒTlúÿô“æßVáûÜăÜä(éÛđqúª "½ö½1/çP Êûó ïIçmâQâăàcăBç ë“ñåø8ü–Đg&T%r o«˜ Fÿ¼øwï¦́ëÓæuçêë̃đÙơú(¼ Yû)PLA ÚbÀû=öQïƒ́1íǼ+î]đ̣ÿơFùưÇ  e  n”î4¬l  r·KüTùøeöxôÅôHơKöøYúÙưä́QDœ¸Û‹₫üQú€ø¹÷÷œöĂ÷ŒǿøÀú<üæư\ÿXF¹p$q„Qs².­—‚+ÿ[₫{₫À₫„ÿ~Ưr23EcƯ[‹Oÿn₫8ưçû!ûDú·ùÆùƠùBú ûµûÍü¸ư"₫Û₫€ÿ°ÿBñµ¼Hv’Øpév$(jNïÅ£mNë‘G­è2^ÿe₫xưƒü²ûôúuúYúrú̀ú£ûvüLư[₫5ÿ´ÿûÿG]øÿtÿ/ÿß₫_₫₫ÿư>₫”₫º₫\ÿGÓz$¸&|Ä Û§J¿ë;d=Sÿœ₫̀ưư©ü–ü§üêü`ư¿ư:₫Å₫-ÿtÿ–ÿÿ…ÿÿ«₫{₫₫Æư©ưœưªưÈư₫N₫₫÷₫ÿ tûr²íL}¦ƠéÖĐŸJ#àl«pTúÿđÿïÿÚÿ¾ÿ¼ÿ¥ÿeÿÿÙ₫—₫9₫úưÈưÆư¿ư´ưëư₫1₫{₫Ÿ₫Ë₫ ÿ@ÿ›ÿÚÿúÿdT“Äăé94ÿ­₫]Ï̃>1Rùÿ,ª¼³eao₫eưáÿå/Yÿ{ÿZaÿÿÿ•ÿÿ<₫_₫¥₫|₫º₫¸₫Ú₫6ÿaÿ>ÿoÿéÿƯÿèÿÜÿ4’™¬l4u• "IK!Êÿ5g{ÊtFl/µA÷Üîùÿơÿ#³ÿö₫̃₫\ÿƒÿxÿ̃₫n₫+ÿ‚ÿvÿĐ₫ÿ₫ÿ†&Cz&Lóÿ¬ÿ‹ÿ–ÿµÿtÿ½ÿ,S†ÿJÿ5HlfÚÿ†ÿ©™|“Ûÿ–‚”̣ÿ›ÿ½ÿäÿï₫Ă₫µÿÿ°₫̃ÿ¡Íÿ—" ÿi₫Úx₫(ÿ¦©₫ ₫ăư<ÿÿq₫ÿWÿ0Tÿ(yz‘&"¯Ư±«hÿ©Ư]*óÿX‹ÿÁÿÁ₫r óÿB†ÿ§á¯Ïÿvÿ]Ăưn₫Yÿ$ÿDÿ®₫Z₫x₫ÿúưKÿR.₫mÿÂ^MÿØưn–Đÿ±₫FÊÿ¯ÿ₫¡₫ÿzưh1¤ ÿCỒÿFÿ¦ÿÎäÿ ₫·₫Ƕzÿ„₫zY`ünµ8₫íư"Áÿ5üó₫Óÿ‚Uÿ,ưéÿ1₫{ư³˜4₫YỤ́ÿAÿÿE&)ÿ´ÿŒ₫÷t₫9l₫ÓƠª˜ưM+Öqúíÿü‘₫Nƒ­û®₫Óh₫¦üĂÖươü™ÿ™t₫üÔ₫H²éü¨ÛbÏgÿÿÍîU₫R]mÿ®ÿuÿđ-Óư9ÿ=½oPJBwÿ'₫ó+¶ÿZ₫•Fÿv₫)ÿf×₫S₫cTÿDÿk₫Oe ₫3–ÅE₫.ưư Aÿ¢®ÿưÀÿ·nÑÿXJ¹øÿDÿÿv́ÿú₫2fĂ½₫\`c₫ÿ»₫ª¬ÿ‚ÿ˜ÿ ÿ‡jOÿÛÿ…ÿ¬ ₫¼ÿFÿ…JÿK₫Óÿ:„ ÿnU·ÿy₫ ÿ>¾Xåà₫énĂÿ(ơÿ̃!ưUÿÿư~ÿ¼€₫¹]×₫Àÿªú¾₫”Çguy₫[Sÿ·ÿcsÿ†‚Ơ₫ƒÿ*ÿ{ÿư©§ÿïưå¼ÿ₫Q??₫åÛ₫$\ÿ‰ưçÿ¬ư~ÿ˜ôS¶ÿRº₫g¼ÿVª₫HÊÿă₫aÿPÿ\]ÿéÿGĐÿWÿCp‡"<ÿ1UÿŸ₫ Óÿ]₫(ÿCŸÿÿÿlÿĂÿ pü7QÿDÿǜđÿYâ₫áJÿ­₫-…ö₫ư¡íÿ₫"óÿ¹₫îư‡Ôÿ¾RÿÈÿn´…ÿ ÿïÿiyÿkưT,|₫s₫¾ ₫•ÿ¾ÿD’ÿ>T1½ÿ¿₫<æ‹ÿç₫W¼₫nX^ÿŒ\ÿ#ÿ̉âÿ¤¡¬₫{¶ÿmÔ₫Ă„ÿ₫ÙÿVø₫Rïÿ6ü₫#ë₫³Cÿ$ ‘Øÿ˜´ÿ­æë₫,UÿH#&2ÿÿ#oÿ¸¿₫°‰Öÿ•ÿ+êÿhÿÿ<ÿÿ<ÏÿÇ₫²b₫ÿp¯a%¶ÿ×ÿ/«ÿ8àÿ·ÿåÿùÿÖÿ©ÿ@ñÿĐÿF h÷ÿy"ÿÿöÿæÿÖÿ2³ÿ̉ÿ°ÿÅÿ÷ÿÿÿ—ÿÖÿ#ăÿÏÿæÿZúÿ́ÿ6d₫ÿ9I'đÿăÿ»ÿáÿËÿ¾ÿâÿÈÿùÿƯÿ Gt - ưÿíÿïÿÓÿßÿÍÿéÿăÿàÿîÿ+ùÿ&%#%èÿƠÿ¹ÿ.¼ÿæÿøÿøÿøÿßÿ%ÿÿ(ûÿ!Óÿ̃ÿ Ôÿ₫ÿôÿ÷ÿáÿ âÿ:åÿƯÿ6Đÿ1çÿ@çÿ+ùÿ3×ÿ%ôÿùÿ̃ÿ!ÛÿØÿ áÿùÿûÿôÿ₫ÿ üÿ÷ÿûÿûÿèÿøÿéÿóÿđÿäÿöÿ₫ÿưÿøÿ    ơÿúÿïÿơÿ́ÿùÿêÿïÿûÿơÿüÿöÿÿÿùÿ ûÿûÿóÿîÿñÿåÿíỵ̈ÿ́ÿûÿÿÿưÿ ÿÿüÿóÿöÿöÿđÿëỵ̈ÿùÿôÿöÿÿÿüÿíÿîÿïÿđÿôÿôÿ₫ÿ  ₫ÿ₫ÿùÿưÿ÷ÿóÿñÿúÿ(6¶ÿsWÿgÿ“ÿdÿŸÿ“ÿàÿĂÿàÿâÿäÿ?-1P4[/ZHMTPS@H/>-åÿÅÿ°ÿ¤ÿŒÿ‡ÿ¬ÿ‚ÿ”ÿ£ÿ“ÿ²ÿŸÿËÿøÿæÿ#? @₫ÿÓÿÛÿÙÿÈÿâÿøÿV2`W‚@3</íÿËÿîÿ˜ÿÆÿŸÿ§ÿ«ÿ°ÿ­ÿ¬ÿåÿ ÿ÷ÿåÿ<ÿÿ̃ÿ7ƯÿăÿD3‚ûÿ7Ơÿµÿæÿđÿèÿ¶ÿ7$"¯2qwI¨₫²©ưˆ©ư₫ù₫àüc₫̉ÿWÿ/₫)zưÑ–₫ÅTÿlÀÿ±¿yÿŸư3ÿN¢ÿ‹₫QC¡zĂÿœ/uÿúÂÿFTÿ‚•“ÿÔ₫&₫ư‰ưºü.₫ÂükưsÿµÿHÿeÆÿMÿ_ÿÍ₫•'¾êèçÈFœ¼ëKÿ9ÿ}₫ÛüüAûÅûùÎùÆùVúCúûùü_]ñk— Ư —  ơ úç]ƒøü¯ûƒø_öPơô!ơôWơ$öÄô‘ô6÷ăơ¢öÍ÷[ø§øđ ; C̣•®bLâ V5ø5óXñ³íĹèị́ñ–ö#ú,Æ n Å-ụ́²î{èèâ—âwă<áêñ©üœƯ(¥*b++†)²"X¥ l€ñ^ëëbä6ä ç¶í‚ö?ù蜵 –¤›„ÿ%öƒënçƯæÚ½ÛÛ6Üûï n éÄ5º5«.0e-´f »“₫|ç3ăÉèøä™å|́ƒ÷áè µ\üAZ¢ù%ïUê3ß̀Ø̉ØùÙYÖùÜ]á‹ú@wz)BW5.0--S#à̉ù}ú½ơÇƯè‹đ́öóư?d &œ½Æ¿ /Wù‚ơˆóJè¯ÛáàíƯîƠ\Ùnâ¦àuï n#"Aæ8Ÿ1p$oÿơÆñ¡öâ\ê~ơD÷¥E ¬ )Ñüưûæ₫°ư¥üùüê₫ ø°íÍíjßwÛôÚơ×”ÚƯâAăüï1£j4{Lê43*ỳÿáéë́đêàEôᩈâ vü½Súøï”ñHøN_²æ ÿmđ́ë-áÖÖØ—̃›̃çíIơ\A@~%>§E¼${[œ₫—ïöÜjó,ùµ̣Ú Ú6QG¶ùÆë_óṆïïLùnæ I† ê‡ø₫è*ă Ü̉׿Úôá”æ5́ơslÀ5¨6Q!®8m)G₫åú%üî”ëk¼$ôŒ ¦ î¾÷êù7̣‚î̀ùáüg₫#H đ ÔúưLúîéçå4æ0å?æ…ê´î?đøôưÎ â6Ë'ÓU1Äi vÿ¶úĂựơF Fº… Ư!ú́ñKö5ñđúÿkî4¦búYúựÅë´è¢ëœêèûé ï«îô¬ú32Ô'ú‡/̃‡ űûÆw÷¯ơå ªŸ8 G'÷4îOơơxóL₫é¼Q´@ Üâöºövñ7íóëXîûíßéé₫ëíó ú˜.¸-j.¾"éLKùÿµù~óp1‚øù`ï2öA÷yơÿt†— 6 ÿéơóÆî$íÁ́́îCë́̀êÿê7đñơºøƒĂ1(₫(+¡M ₫èúÊ"ùD÷+  Ñ>ă:<ùñØö÷]ø^ÿ<FH ¯‹ƒûuñ'îĹîÙîíÖí¥ïYéÈîñPùÄø¾đ2°Ä"x'G0 $₫6ÿŸëøU± @ ‡v#ơáñ̉ö/÷UûÙ₫p1 B1^₫ñô«ïërîđ³́ÎëhđLêíêÔï̉ơSø)‰,&̃—)æ YIbôÎư8û|à¼ï_±ú ̣Àơ÷ú™ü%a üÚ₫f÷đ̉ë íDî:ëÓé¹î^ë>êUđơxûÔưå%f+ +)O$đâ rç\Gø7Ï_jÜưóöä÷´ø±û“p]·₫`ưø½đåë́…íúê^écîñí ë¦ñö]ü“ưd ÿ)6æ%#zD bÆ f úHŒ`‚L%ÿ,ơiöøü÷÷ú{₫ÑÔ₫üAü½÷ ñ3́’ëdíTê`èđ:í¤í~ñ@ø©ü˜k#»!k-%Gl. 9‹ êÿ₫;ç½@V₫×û}ö‘ø„÷wùßûˆưDí₫¾ûÙùuô‡đ"́.ëỚ'éÉêîïë:đÔñ8úºùµ#l !‚"t1 ¿” êô«n?ÿ ”¼ø ù/ùßøfûûª₫0ÿû2úWö©̣ïúë;́FêCé`́ïé[í²îùơ5÷¢¦Øº×" ~*Åp¿Ă)₫ÿD~úû"ú‡úœú€ư¥ù¡üÎ₫₫ù#ø*ơ óđÖêrë4êèsêcèÍ́]í,ôuơ)°ú´ ¶¡6̉ñb c ¹^mÄư üWû́ûÿïù_ü¨ư+ù÷óÁñåïë+ë½ê€ê‡ëcêÿîđ$ö÷_ß.öf C X̃ êíä₫®ư¢üvưâ₫Dưêûˆûûºø¦ơ1ơÑơÍơÄơ¥ơ9öÙơCôóḌỤóçô7úđ₫GLÄ ‘ka  3 ¯;:¡ ¨Îé ´Îÿ₫₫ư­ü2û‡ù„÷(ơụ̈vđ(î6́ê"êùêƒíḶSø†₫!V µÿÄ4¸â  1Z˜†?QÜŸú/6 V₫9üçù¶öôdñî^́ ê¥è è+éÂë"đ‹öáüÁ~ ´gÆÊWơÿø ñ̉Ưˆm×3{Đu˜₫™üâùÛöÖóƯđtîÊëéè˜ç—èºếî!ơ–ûw¸ ¦SiQ₫ÖÉ c YĐ́8]´ª” h“ÿ ưíù…öóđiíê"èˆææ̣æJé î¬ôtû¸'° ¡Å Iç:*̣ _ ³ ±C|øçäçBC—MÿCüÙøơ·ñ¸îÄë̃è¦æNå>åºæ-êđ÷̣ư§ ʸµ)D€”L  tÿRwÿpÿđÿøkƠ­cÿ×éưjúöó»ï…́ué̉æ(å’ä£å•èäíĂô¼ûÂp Ü#ŒéÿSº#>´ ‘ơæ®ÿz₫6₫…₫†ÿD 6„— ×₫Vûr÷¬ó đ¸́zéàæ@åĐäæÿè#îÖôÇû‡3 °lâ ‹ø‘À Çă€ÿ—ư>ưŸư™₫\L¨$x±ï₫Tûc÷„ó¼ïD́Aéçææè{ëZđ“öóü)( QQ™Âö¦L,¼h F PÂ$ÿzưôüưƯư\ÿîÿzóưœú₫ö&ó¦ïẃ ê³è•è’é́MïóÆø₫dwÉ Tÿ K̀1à G ³\«Ñ₫Ïư…ưĂư|₫sÿ)U»ÿi₫Yüùwö]óuđîẉ́ëŸ́ºíüïÇ̣ëơú<₫u_ ß =ưGâË-ßç éß áFÿN₫Èư¹ưæư&₫₫~ư‘üû]ù>÷5ơAó¿ñvđ!đuđxñẹ̀ûôP÷Cụ́ü(²U " x Å–ơ‘¿ê Ë ^᪱? ÿp₫ÖưưUưĐü%ü`ûOúDùøôöôơ ơFô₫óNôơ3öà÷£ùxûưư₫åm3¯[Ø- A ö 9  f U ơC™̣ZP/<ÿ₫₫ưqư#ưœü üûáú%ú{ù·ø÷÷u÷X÷²÷øùÑùû–ûáü¥ưç₫qÿ#£)Ÿó§È˜ fØ¡C©4âƠëj<; ÿ$ÿ#₫Eưúû€ú=ú|ù;ù ù+ùÖùOùùûYû®ú´üvü×üÿ}ÿRÿ=ÿđDuû ÂB/gäÿe¥ÿ\å₫Pÿ»₫¸ü ÿŒụ́₫°øàư0öHü6öæû»ö·ühúEüZüßû₫·ùûóî₫®+~ïÿ+?ÄÓÅKN{å¸ÿ-úÿèR₫₫‰₫“₫ ú]₫$ùÆưóúÖúüôøÅû„øàüKø¿₫Ùû«ư,Hÿ"ư(üX¦ÿÿÉ`À©°=÷b?XSx"6û*ü,ùGö׸ø₫ûQ₫÷ø¨ú³ÿjư»ÿ­ùù-ÏüI½ÿ̃ÿmîÚÿÇp₫ø£üçHÆưv Ûø¹ ™û°OÿƯ¬ư 3ÿÇ?ú±Ü÷ö²÷â”úçÿaüüÜÿlúb.ú©ù,}ü ZÿZP{üdÎü*xưûƯûZós₫ưxSüˆưØ¢ø„ø̣̉ö|}ư½₫Ư½ư°XÿæÊüO¶ÿZÿơÿÿ§yưdĂưÏêưü•ûRü6#ü‡óü'Kü•(lTÿ_xÿÆÓø XơM røùœù‘\ú×ÿhù₫±đùÆ­ü:{ûJ́ùê Q÷• »û úe /ù Bû>öØú1ÄùâÚñ> 3ơ¢¯úUE₫zü_₫%₫»ÿ½û\s÷¾ 8ơ½ mûX¨ÿ¢‘₫₫§ú÷ø2Œ÷Tçú×uú¡—₫&ùÏ2öêùÅø₫đư²T₫“‰ÚDd5:©…üñ¸₫Y₫ăá:*ü-₫­èö5Fûe₫ÿÖü…>úqú*&₫±₫'₫–„ùb {ø„ Üü£s_øH ²÷_‹÷™ Aö²ăú»₫̃ÿVù~çø"÷øùÈüôNükFùÿ̀–ûÁeÿ‰Kúz ëùT₫Û₫)bÿMú?øBéø©ø?Yù@̣ú\₫kGû»ûâ#ÿ)©#,ÿ¾³]ÿ,Û\Çư|5ßÿN@Âưä₫ª$ù0óÓp÷ÿ¸ûjÿiûÙ/ü²uœûô ÷¨ ‡ùÆAư* ÀöoƯÿrƯü£zù¶û‹üöêÓù û "ươÿ”₫½û¨üéúÀóưø²êù•^₫Ôÿsêü›ưFGsL$<ÿ©¬ÿ9FØÿ}¤&ăú­6ÿünÿøÿkưG₫ªún:₫Åø/i*öô½úXY?ưOW₫å±<̃ÿùçúPá₫Ø¢₫ €üªm₫ÚÿëÎư&Æ₫ºü`ù°é)úu¸₫ÎüÊ₫«ÿü›̀ơ…̉₫đü×m-ư,¦₫=ÿ—ˆù‚AưÖ₫ÚŒ₫*k₫ñ_ÀÂ=R̉#¯_* |¥1ÿV‘ưfÿ“₫ôưÊư‚₫₫ÿ̃ûmÿå₫Ưø€₫Aú˜ûúküü ûûewưüp„øGb ᜠ́ 7 L ô ‚­RûÓøú†öâóÅôköJô ô`öcùYø'ù•ûÔǘü›ü=₫áÿ₫₫ÿÉʬ ô ß 3½G› Đ  HÀư8üüEøøÍơ!öbơ‘̣¿ơ&óFó ơ~ó¤̣ßơóö“÷Ê÷'ü•ư™©» ă 'ÁÅUN}§ü Á+ûó÷’öÈôröo÷₫øüĂü ₫Í₫½ü üúæöô±ñïcí7́Üë"́äí÷̣ơNú»̣̣äÖ¾"!ø"¢áºÓ ø Îøs÷\̣ñ¦̣ óˆ÷Ûû³ưÀ¤nO₫û1÷œđDîÖëØæxè²çêæ̉é ị̣́A÷ üâæg2!+(º'—%V \Ơ ‘P÷Hơṣñ&ñ~̣âöUûeË ®(LÿDù·ñbíƯé₫ç%åIåíçƠæ;èï…̣Úøvư| Đs·!Y,“)&%B ¶‚–=ÿôx̣"óFñ–̣ ô‰ø¨ü₫0{à]\übơƠđ,́§ç§æFçxè׿êfíđẬ‰û‰ÿy œ̀/#®*t'&$D´4kÿƠụ̈«̣Ị̈ăñơIöøùÿÀ₫MÔuo®¥ư/ü÷cñ!ílëééưê~ëª́”îùñƠó"ûüî dº " '…%"æ‹€ÿ̉ú{̣²óèñoô÷o÷Đü=_ו­y" ÿq+úé÷®÷\ñ‹ïîë$îçëǘ6ï‡î€̣HøÉ÷Î VƯÙ!Đ&M%n"]ôèbụ́†óĐñ}ô÷÷̣ư»º]SUÿ“ưư¨ùføèöó ̣åï’́î3î¿́·îæđẠ́Uø&ùj ­"n"o$J"o¿UÅ àÿé4úLóÇô'óöê÷ù÷1ÿJ˜>›¶ÿctÿOûèú¡ú¨ø‹öcô ôf̣nî\ï˜đ±î»î‰̣̣̣…øÉøQ3₫Ó…!Ï¡iwVÿ±÷†÷¥ơ$öù”÷û‹½ÿ9':ñ‚ÿÊBüưúzûOù5øCö•ỗôAñ8đÖñVñ˜đ˜óoô/ùsúhR7 ·TêA*ơ 3l₫âû°ùA÷<ùÁùé÷*ü†₫ ÿ95<œnÿŸÿ/gưÁü#üûúø÷D÷¯ơyơ]ö̀ö÷Iø·øæúºû±₫EéMb '  Ï  9 ^  Å(4hL©ÿâ₫à₫HÿÍÿ1”ÊB"B¿ÿ₫Œư¥ûlù‰÷oơ°ó¸̣̃ñbñ ññ*̣róÿơú;₫ Æ € zèi‰lÚ , °×mOïÿöÿêÿưÿ$óÿ̀ÿÿ^ÿá₫&₫ ư‰ûÙùøêơô¬̣—ññ{đVđ¼đ~ñæ̣kơùưà : 9 iưŒü¡ ¿ Å̃qáÿ¾ÿ\ÿ^ÿlÿFÿXÿÿ₫”₫)₫”ưñüÅûúáøăöjơôđ̣…̣'̣÷ñ,̣^̣Jóơe÷VûÿvW¥ í ± Ø_,Œ / ¬pYíÖè~PÜÿÍÿ–ÿ6ÿ₫₫æư„ưưoüsû)ú¡ø₫ö¯ơ¹ôƯó‡óNó×̣§̣–̣*ó¹ô ÷ưúGÿøĂÿ ? Xéèqɽ;¦ > åt5«ÿ‡ÿ%ÿÖ₫~₫̀ư•ư‰ư5ưư©ü ûúÚø1÷Üơ—ôÉó:óỵéñmñCṇ̃̉ó₫örûßÿ,g à ªŒŸÏmCr Ó^‰8–ÿ ÿ̉₫Ù₫¨₫{₫>₫µư•ưưhưFư©ü†û.ú>ølöơĐóụ̂…̣ăñuñ"ñPñª̣öô¾ø¦ưgi > –z¢N™́ ê K© 3Éÿû₫₫,₫1₫T₫I₫H₫éư’ưư‡ưŒư—ư÷üúû’ú¤øûöơOôœó₫̣ḲĂñVññ÷̣‹ơÔù·₫!‘` ô 'Ô³ä ‡~ wÖ8Sóÿª₫₫Íưứư:₫_₫’₫R₫-₫S₫Z₫©₫®₫̣ưÿüTû"ù`÷ÀơbôŒó²̣öñBñ§đ$ñ´̣·ơˆú€ÿ ©- ² ±ˆI= î ư]íh/ÿ8₫₫̣ươư₫÷₫3ÿQÿư₫Ơ₫Ù₫·₫ÿ₫₫-₫+ưfû,ù`÷¥ơKô~ó‘̣Ăññnđ÷đ¯̣-öLû'Öj ¡ ăÖ₫€¤çD é‚<éÿ»₫đưèửư₫·₫$ÿzÿÿ?ÿ(ÿÿï₫Fÿ.ÿ₫¦ưËûù̃÷ ö¡ô½ó°̣ØññđdđñỤ̀•ö«ûo1¡ ˜ óß́L·)H` *˜Rÿ5₫›ư­ưưíư¥₫ÿxÿ«ÿVÿbÿXÿ-ÿ¼ÿåÿbÿ₫¾ü ú™øtöÖô¼óˆ̣‹ñ«đ!đÁđ ó*÷üø× û Aá÷~? Ơơnªÿo₫|ưư<ưYưöưƯ₫ ÿ<iSM₫ÿ¬ÿtÿi₫­ü±ú©ø¤ö.ơøóµ̣¾ññ‡đHñô)øµüƒA Ø ±o&aà ¤Ö®;ÿ)₫‚ưvư—ưßư²₫tÿ8¸«?¹ÿjÿ[ÿXÿ ÿ₫¶üûNùS÷ùơÅôó ̣Úñƒñ~̣Xơ%ùöü¤‹ Kî³W3· à à$₫ÿJÿËû$üp₫C₫¢ÿ«ÿßNHtf₫’ưåü8û\úœü¬öóWñ_ï½îỐ–ê´ï7íú¤RRü4ùrß_ÍơHøù>ơDúÆø’₫p³₫ -èq ƒ´ø4ûú%ó5øútúØưĐ₫ÆŸïû-ÿ¤ù•ọ́[đëQê©í¯ l&"R$\yVË7ü½ ñÊê ÷óỊ̈ ù·zÿƒW ¼₫u₫úMù{üú¾ơ8ÿKư+( ưøüüÇô>ñợîÿëƒïmû¾jxT(½±Ó÷¤÷÷ụ́æ§ơËơụ́üM7‰ Ûmỵ̈“ư'úûtư3û³ø~ÿ`+ûŸÿ\ÿù)Ÿÿ¦ùMü±øù[öµ̣ïđ]óyù÷ ƹÎ÷Dzœ)üäñHôdñîệ÷YüưÊ Ư kcứúƯü¤ùwùpüz`;’¸/~₫ú¤ø‰ùú°ú₫íhæ$2Ç{¸ª™%ÿï₫Ï₫…ú1ùÂ÷ơ’ï^ñí•÷ JÿêÈRù ¥nü…ôPú‹ñSïƯư€ưlüí × ù >¥ù û2ü¹ùûú\ÿq*¬ÑZ#ÿeÿû÷ëơ½÷ø®øN₫É‹‰MØa₫³₫2ê++ w₫8₫0₫ ưgưÜÿ[–Æ Dôÿ¶₫ÿü.ư ₫₫₫₫Ư¹Ø̀‹u₫̀ư÷ühüÎü₫-ÿnéæéØ£u‹©ÿ'ÿ•₫¾₫Wÿÿ1 ÷ûHÿ₫—₫“₫z₫¡ÿOî®CT³m]:vÿß₫ ưưÜû´ü̉ûiưDüŒ₫±ù³₫T ñüÔ¯ a¼X_ü;úPäû:ú’ñ†áö₫µúÿJüS₫öÿfÿŸÿôÙÙóOÿåư¡₫µưÚüfưÿÿ-ÿ-=^tỵ̈₫ÿÈÿÑŒ¾OPµÿkÿ}₫)₫Û₫fÿ¤ÿ¢‹5  n´ÿ4ÿoÿIÿÿÿÿ]qÆÍÁÿJÿê₫=₫H₫¬₫å₫‡ÿ%°̣çø¥đÿÏÿŸÿ¼ÿx²åƯ})´ÿ[ÿ$ÿ+ÿ@ÿÿơÿNŸ«ºª&çÿÂÿZÿKÿ[ÿƒÿ¤ÿ¤ÿùÿúÿÂÿöÿåÿ½ÿÄÿ¬ÿàÿBˆ†{‡=÷ÿÓÿàÿƯÿZZe3Äÿÿjÿ™ÿ¡ÿÊÿ6h„y<đÿ¤ÿfÿ,ÿÿ+ÿDÿmÿÏÿ6\mD$ôÿÔÿÓÿüÿ^TlwJ1!ûÿ0K;UB9âÿæÿ±ÿ£ÿÈÿÆÿÏÿíÿ₫ÿçÿơÿÈÿ‘ÿÿ„ÿqÿzÿ¹ÿíÿëÿ4hCJJ%ơÿ́ÿöÿáÿ́ÿ.CQwƒpIC"éÿîÿåÿÛÿôÿ&-*Aôÿëÿ¿ÿ¡ÿ—ÿœÿ§ÿ£ÿÅÿ̃ÿÊÿáÿåÿØÿÖÿÎÿ̃ÿÚÿïÿ9GBF*"ôÿÿÿúÿ%1PZ]^D0ơÿâÿÑÿƠÿÚÿåÿöÿ₫ÿưÿđÿàÿÅÿ·ÿ«ÿ ÿ°ÿ¼ÿÉÿ́ÿưÿưÿûÿñÿúÿ 1656-$!!øÿíÿæÿÑÿÏÿØÿÖÿƯÿèÿđỵ̈ÿ́ÿđÿæÿÚÿßÿÚÿÜÿæÿîÿưÿ   ÿÿûÿöÿëÿçÿăÿàÿáÿåÿêÿîÿôÿøÿúÿùÿûÿùÿöÿùÿúÿưÿ   üÿùÿøÿúÿûÿưÿưÿ₫ÿûÿ÷ÿôÿđÿëÿëÿîÿïÿôÿûÿ ₫ÿüÿ₫ÿÿÿ  ưÿưÿưÿÿÿ ûÿ÷ÿñÿđÿñÿóÿúÿ₫ÿưÿ÷ỵ̈ÿîÿíÿîÿóÿưÿ ûÿ÷ÿøÿüÿ  úÿñÿíÿéÿêÿîÿöÿ  ÿÿưÿüÿùỵ̈ỵ̈ÿíÿ́ÿđÿúÿ"!üÿîÿÛÿĐÿĐÿƠÿáỵ̈ÿ '&ûÿ÷ÿôÿôÿûÿ₫ÿ₫ÿûÿüÿ  ưÿơÿöÿ́ÿëÿôÿóÿơÿ÷ÿôÿôÿèÿïÿ́ÿêÿóÿóÿùÿ!&)00,) ₫ÿơÿùÿöỵ̈ÿñÿáÿÙÿÜÿÚÿÛÿ̃ÿàÿ́ÿóÿÿÿ %'.üÿûÿèÿæÿâÿƠÿÙÿĐÿÓÿ̃ÿåÿøÿ %().*.* üÿđÿùÿ÷ÿóÿơÿóÿđÿơÿơÿöÿóÿüÿóÿéÿ́ÿåÿóÿûÿưÿñÿöÿñÿâÿêÿèỵ̈ÿôÿ !,:096-# ưÿưÿôÿóÿñÿñÿåÿƯÿçÿïÿæÿÜÿæÿơÿúÿïÿÿÿùÿ₫ÿöÿïÿ₫ÿêÿîÿèÿÛÿöÿôÿùÿ" ơÿéÿ́ÿưÿ    ÷ÿØÿÚÿ»ÿ̀ÿ¿ÿÜÿÑÿùÿûÿçÿ×ÿÁÿËÿèÿ=V€]¥Emùÿ%ÿ€ÿ)¶ÿ²̣ÿỳ˜d 3ÿ¶}ư‡üQüÛûÜú²ûÊû&ûyúQøZôª̣¯ùmö‰ µ %¯º”ÿÙưÚô[̣yđ̣ˆ̣²ø’ư,Đ; s É 5 S øâV—úûø3ơôQôÉđèđú«íZè¡ú€Ô₫€p.(w“h &ù²öóïëđ¯öNö%ưîE Ñ ü “ [  P€Ôüvô&ó%î[ê@æ®ăÇâBă°ï~[¢)Tß%ç&ăÀÅMù×óóñĂêuíñû8ôß& @Á‹  t>:-₫Ôơ î₫êä̉ßß'à¨á(ûTÿpÙ#à¤$œ+ở‚óœúơjïv́Ùï̃ñ@ô ư^ÿèG ; h6ô áDøÔđZèÈẫ¾ÜÛ·ă8ùHú¥ ¸Rm(%*†‘K₫D÷ñ*î†ï7ñuôpûÏ₫ ‹ e\û óÆëæöáߤÛæÿ-ñ¬3΀!¨WÇư°ó-ùóíÖîỰô[ûơư´ ÑL h ĂWüàøí™çüçLß̃ƯĐêJüåڇ4Ka$& ßu6÷Öóœ̣Fđ£ñ§ö´ú¶üR,ÁŒ )₫{úuñ¨í[é°äßđè¶ù ñ@ )r(‡"ÖŒ~ g-üÉơ«óđïÀôwơ¥ø₫ 0@§±ÿÈú6óóhêèæç¤÷0ôƯ¡ o!,5„đÏ ô₫ ÿÁ÷ḅÔóÚñỤ̂­ôv÷îùÄûA₫âü…üV÷]ö¨̣=îbê=ó‘ü‰öÇưï~#‡©ÆJw₫©üöZóÔọ́́Ẹ̈ôÿö]÷tú<úúùV÷ªô–ôéï$ë¸ï™₫gợ íØ n"l—yl'Aé„ÿ¹ùỊ́vókï+ï°ï:ñ‰ó9öÄ÷Âù!ø›öröó#ï,ïa÷aÔí C«%×|%˜ư3ơĐơœïíÔí¹íÙî<̣̣Eơô»ôơó‰ôîXú2§úç: $9ê‚w 0Û—øÏô„ơívîcïTíƠđ³̣%̣×ô/óóôñ´điü7„- YtW₫Å_$ÿó]ôiïúêưí́`í–ñÎđióÙóóbô÷̣lđyéû‡J ‹=Jè 9\êÿỰ«ó”íÑè°ëäémënïNđ̣êóNókơ¶̣ÇöÊüJ”Ü«!jßF tu²-Cû÷̣ óÊê;é9ê èLëiî/ï»ñ>ó„óĂơEó×₫ÿÔ’ X)Ün àô½¨ å¥öYơëî8é¬éyçXçAêxëÖ́`ïăñ€̣ïóŒWÿøëQ—Vr^"5 f ‹9kó’ô…́\èkéêæâçëểëíÑï_óƒđ}ù¨)ư„»©"00#̀µü=üôưóé*èƒæÀă²æIç¯é’ë‹ïœñnó“ÿ À Èt#$³]¯©ŒơöǺîè«èMä æ}æ¯ç‹é%íÛîộ+ưj Ä©]!"–>$Œ†Œj é₫óơ öºë>é4è„ăEæ¨å çé™íívùGê₫S mÿ#dx»!¬B¯× øöẹ›èrêpå½ä{æÉåûçëĺô Bưw~%É!·«Û"₫̀ư’9Êûơ³óxéKéæ"äqå“åèæ'ë́ë&ô±ÿsưñ2ß&"K§¬"éúÉ’ú¶ơẬèăèäă#äØăGæÀéeë8ø¥ưgZ¡̉´"o"j ̀:ÎÔGÀ÷5ô%ïlçEæă©áîâăöå$éZï₫ûük 7¢# H&œ‚hü ́µưÁôđñYèzåâàà°à=ă½åëøvúNƒ:– {"´Ư'@ ‡ œ ÷Jóøêvå¤â=ß~̃[̃bàăÔæ€ơµ÷;…$z%*Y#ÚT2² Gù|ôÛë¦å á̃ÖÜîÛ<ßhàPåºôÛô¡pZx *# +#Ó„Q.Ÿúơ ́PæzáæƯ€Ü Ú–̃µ̃£æ ôcóäƠ""D!|"ơ*"!‡¯Ï âÂû,ób́æ+à@̃₫ÚrÚ”̃ÔƯnë6̣ö º .@#ôN&å(‚ ®!l[ Ôụ̀:ê(ä§ßÅÜ,ÚñÛ:ƯÜâ‡ïñ†z ;  ¾ Ú(8#¤ b}:ưz₫ö°îèâË̃UÜîÚ¼Ưîßë đËøW ¥&Äí$1% e¯Ú –úƯđ^́½äsß̃Ú¾ÜÍ̃ÁçXïÎô- £r>E"&: = E ư-̣Ý$è:à4ßZƯ}Ư,à±çóïvôl? æâ ~#º̀ èX₫©ơQ́[êă½ßOß_ßmá¹çrđ‰ơ ñ ßâÈv.p ²'ư ÷#î«é¾äËá~àgá<åSêó¶ù¶Ô ÙFa­÷}}́+ ·`îúaö¶ï ́;èBç½è”êeïô ü¹¯ ½ CEó«_ 4 Êçÿưiù ø%öØơöO÷DùóûW₫ªÙö«´ÿÀÛO'ÿ+₫ZưưûüHươư₫aÿ zdÂÎü¦kü₫xưrü½ûïú.ûCûôû!ư ₫eÿ•Ù¢n₫. Çw––¯ÿº₫đưKứü½üÉüưeưóư₫Jÿ‘EÔ‡ vsđ*›ÿ%ÿÉ₫|₫9₫₫₫₫%₫R₫¬₫ ÿ‚ÿ‰ñiÈÖûÈ‹QÖ…ŸÿZÿđ₫Æ₫«₫|₫¤₫£₫Î₫1ÿVÿĂÿ…ÅL6>̉·l)¼ÿ«ÿƒÿ\ÿoÿOÿSÿcÿUÿjÿ„ÿ“ÿªÿÑÿ÷ÿJ`€– ™sjJ#çÿ¾ÿ¦ÿƒÿXÿDÿ7ÿ&ÿ4ÿ<ÿLÿ€ÿ¡ÿßÿ!M”Èó$+øÛ¤dÄÿuÿÿ̉₫‘₫\₫d₫b₫‰₫Đ₫ÿzÿïÿPØ9†Ïéûáµp‹ÿÿ›₫5₫ëưÂư¶ưÆư₫T₫Ñ₫gÿôÿ¢2µ,b‚Bé`ªÿÿ’₫₫ÊưŸưư ưèư@₫¹₫Kÿ×ÿl₫lÛ:KÛ…Œÿ'ÿ¿₫Z₫#₫₫₫&₫\₫¬₫ÿ—ÿyà4x—ª•v@ç•5åÿ£ÿSÿ ÿÛ₫½₫±₫º₫Ô₫ÿHÿ–ÿØÿk áđ íÛ¦sIÁÿ®ÿÿ`ÿPÿ8ÿ@ÿMÿ_ÿ†ÿ·ÿÙÿ5T•›£“–ƒXæÿ¯ÿ’ÿlÿbÿqÿcÿxÿ–ÿ¶ÿđÿ+Mco‰z_x_H6 üÿÙÿ¹ÿ–ÿzÿkÿXÿaÿZÿoÿ‡ÿºÿưÿB”¨¦—|wtT8*àÿÊÿ­ÿ‹ÿsÿ`ÿ^ÿ\ÿqÿ•ÿàÿ?aœ¤­’²gqJîÿóÿÚÿûÿ×ÿ {rưóù‰ÿé₫ÜüfÁœưÜ₫ªî­ûƯûb₫Óaưư<éüßưó¹ÔüiÀ.û¡₫lxưyÿ«ïÿTÿy₫(éÿCÿcÂÿY₫ÇV₫Ǻÿm₫ÿ0₫‘å₫SÿÑ¥ç₫ƠFâ₫xÿ ½₫[ÿÅ₫SØÿĐÿ̉₫çÿIÿÿjaYÿ„̃YâÿîưÜ ÿÇÿñÿÖÿ7jÿ—ÿQÅdÿ£₫+*ÿv`†Nÿÿ#ô'ÿ›ÿäÿ|¨ÿQÿtÿơÿ‹ÿŸÿhØÿeÿ»ÿHn¬ÿs±ÿ¹ÿ ÿ₫ÿ"ÿwÿ©Öÿeÿ[±ÿ«Ê₫bhÿ¥ÿ‚Aÿ¹ÿvÿŒÏÿùÿQ94?]ÿ¡Jÿÿ0 ÿÿJÿ<îÿăÿư₫ëå₫H4ÿ—äÿ1óÿ°eÿ6)Dÿ́ÿÓÿ?ÿ&Çÿ2ÉÿÉÿ÷ÿ[₫'cê₫›ÿÿưFeÿÏÿ´ÿøÿª9ÿ†ÿ¨ÿ™£µưçÿKÿ“ÿ¶i½ÿ„ÿ¿)ÿsđÿ£ÿ`ˆWÿñÿ>›Æÿ@ÿèÿz&ÿ5»ÿËÿˆ½ÿ ÿBØÿôÿ#ÿYm±ÿ₫º§ÿ̀ÿÙ1Œÿ³ÿ  ¸ÿ]ÿÿ‰ÿ]ÿÀ_ÂÿËÿăÓÿêÿ?ùÿÿÿ*Íÿ³ÿØÿUÿÊ«ÿùÿ”ÿ€ÿi/µÿÚÿBïÿ¼ÿ€ÿ5KKÇÿxOMÿJhEÉÿ¤ÿÆÿ©ÿË9ÿoÿâÿñ¡Dÿ›ÿ×ÿ´×ÿ(äÿçÿ35¡ÿSÿ\iÚÿ ƒ ›ÿ̀ÿvM¾ÿ»ÿàÿ¦ÿ»ÿ́ÿ×ÿóÿ…áÿÙÿÿÿFH+ ơÿnÿ³ÿÛÿ0khÿÉÿI!êÿU{±ÿÊÿóÿ'₫ÿOÿWƠÿăÿÁÿ:­ÿXäÿ́ºÿ*³ÿÔÿ ^ÇÿG³ÿ/Tÿf‹ÿûÿâÿ,Ñÿ‰ÿ“!t®ÿ/V·ÿsÿ×ÿNM¢ÿ6)% ̣ÿtúÿ³ÿ¾ÿ¡ÿÿÈÿßÿƯÿhh/æÿƒ“Øÿ üÿÛÿyÿuÿ̉ÿ̉ÿ₫ÿ´ÿ‚øÿ/*óÿ- IƯÿØÿÿ·ÿ₫ÿ2!*XsÿûÿldBE%®ÿ´ÿéÿ]ÿÙÿ@ÿÂÿíÿ1Nz¿¿CiÅ₫€ÿoÿ™ÿ¨ÿÖÿ̉ÿs~¡ÜIçÿIÈÿÖÿrÿtÿiÿ‡ÿ±ÿâÿđÿrAZ­){Œ*ÏÿœÿCÿMÿđÿCÿhÿ‹ÿơÿâÀÆS:?Rÿ4ÿe₫ÿ́₫Qÿ̉ÿj«å×M–ÊÿnÿŸ₫ ÿe₫ñ₫_ÿ¥ÿp¸3Ú“;’ÿ‰ÿ?ÿÿø₫ï₫œÿñÿ#‘§ªœ{Á—OÄÿ{ÿư₫xÿtÿ™ÿÿæÿI+¤Â²AA5ÛÿLÿVÿÿ&ÿzÿ¤ÿÔÿB:†¼Ñc:Æÿ ÿư₫¼₫Bÿ@ÿÈÿ§ÿlq¡Đ)øDôÿÿæ₫Î₫~₫3ÿ.ÿùÿêÿ€â/ÛÁ1̃ÿhÿÿÈ₫ˆ₫0ÿÿÄÿÓÿ~‹đ±£°nÁÿ‚ÿÿÿÿeÿÿ|ÿñÿ+N˜dÆ‚—S)æÿ×ÿ]ÿrÿÿ„ÿ™ÿĂÿ̃ÿ>€N¶œ¦‰m@‚ÿ;ÿÿÿaÿ—ÿûÿ÷ÿR6VY¯…E3 ïÿRÿjÿ×ÿ¸ÿëÿ =P :@Ưÿœÿ­ÿ­ÿ´ÿ¿ÿäÿ+]5.I5Jíÿçÿûÿ›ÿơÿéÿÎÿÚÿ÷ÿØÿÓÿ H×ÿ7ëÿÓÿÓÿêÿÛÿâÿöÿøÿPs#6M5₫ÿáÿ†ÿÿxÿ‘ÿXÿÁÿ 8DQ™nSL ¶ÿœÿ'ÿdÿĐÿ øÿ.;Ij>íÿªÿ³ÿ®ÿ~ÿKÿŸÿïÿ$_’™‚/®ÿ—ÿMÿÿ¿ÿÏÿÔÿÿ#^|VzƒS%̀ÿ°ÿ©ÿzÿ˜ÿâÿùÿ"Cxev §ÿ\ÿ&ÿ=ÿFÿÂÿưÿ/@w—2Åê m¶ÿDÿ ÿÿ'ÿeÿŒÿ¾ÿ>?KZL¶­ñÿ Ñÿpÿÿî₫‹ÿˆÿ+‚D Ÿ‚d&œđÿ}ÿbÿ&ÿï₫]ÿ«ÿÿ¤ÿM‡>^[— ·€}4ơÿíÿZÿ›ÿ³ÿÙÿÿçÿÂÿDƠÿûÿ ÉÿHJk3Üÿ(ÓÿÚÿ˜ÿàÿæÿ̃ÿ#„êÿéÿ"TSÿÑÿ¼ÿÅÿZÿ¬ỵ̈ÿ́ÿïÿ,L&€­K…•#!ÿ°ÿ:ÿ¿ÿaÿ¥ÿ ÿ»ÿÅÿP5ÀŸ/踈¨ÿ,ÿBÿ÷₫#ÿUÿÿÿŸÿ…ÿ;·ß?éeïˆ$Gÿjÿ¿₫Í₫Y₫ç₫¤₫ØÿIÿđÿ¯ÿăÿUö§Á¡~Íđÿ_ƒÿMÿ}ÿÿú₫ˆ₫Ç₫·₫¸₫qÿ¬ÿ\ƯNJÚ)ƒmùÿÉÿºÿ‡ÿêÿ‡ÿªÿKÿ3ÿ³₫¸ÿó₫+ÿh³ÿ<ƒơ0®ưÔưqưº₫û₫ñÿáM©¿¿ëqy[NK’9_ÿ•ÿ‘ÿ&ÿÿYÿE®ÿ%ÿ+ÿÿGÿÿ±₫Ö₫j₫ ÿ³ÿ÷ÿ+j+è“Hî’¦Ë0ªÿ«₫‚ư¿ûáùöØñwï¬ïæñµöû:¾a¥'ă$)"¯Hụ̂ôñuñQô“ø©û‰÷…íăÜíÛæ̃Săué ̣ÿ"g>ñRÛNE0™bơƠêĹæị̂ö%’ ÷~ Pù×åÚÚ·ßÑçị̈ûô-ó`đïíï̀u%ºDnQQ?9Çü1êÆè5ẹ̈zü> ©—q÷£âÜÚƯæ đHơPøóđí¥çæå¸æ‘ô¢=9VÙRŒ3Ñ3è ̃ăÑívüK UË!“ çØÙ¥æö₫y₫eø1î™å áÆâ5èYïÿ 5/“PPYÇ;™å™ÖIàĐñ2Íù"8Ûä)ÔÄÙÀéû÷ÿüôắưæ®ådæ;î¢îJú́>wZ]N+#đđđÓùØ<ïÂáüªûåëÑÖÙ6ëÿ ?ÿLơî́!ëéÙêÂí¦̣Jđ̉÷>†V²DÓ!æŒÓñßzúF êo¨̉ü¥ç¹Üæ”úŒaơµéƯæ‘ë€đOóó³ôBîúë´ k0”SJ₫ í–Ơ[à»úÏ ±â›ü†êßÂé%ü"‡(đ«å¨æùí]÷‡÷D÷6̣6íSâB÷Ë"}NX?3¦ư#Ø)ÚHđt C¬"…æÿKë´ßËæúÎhß̣ 岿¸đGúUüßöĂñ›í0ç‡åç /9$]Låß²ÎâáBÇW%eùï÷ă`ä¨öMfö@çăâóîđúÇưô†íÿèïäuég0Aî]ûB˜ Ÿ×¢ÎEèØ Wjo8 Úüéä3́ô‹ WzïøàMâ;󰜬ÿ»óǽ êê•ê² e6V Eï1ÜNËå@’ƠHüícèôîÄ' ¯/̣Âá¸ă4óú¬ơ/íÖæbç,äe1¹PQHiâœÎƒæüYhÿ›ó́Ụ̂™¤ zlñ·áùä9ơm ÜMô~́éBë(ëÄïû¾8L.1¹₫©ØÈÚ³øfpŸ ’r₫%̣cïK÷F¥ œü¥è à>́ÿÛ  ‡üéhç'çÚíḯ)ư"®@đC¿ZíZ×£è×O(Û EѰûÉđ̣Eü] èơ@å|ḉ÷çË ḥªèé^ëFïĐí¸-+wC39{ ÚäWÛ ̣I èhÔ) I~÷Oî}ô1Ÿ ÅLñOåŚdưÿ Psû5ïáèÆêEîÎđ´ïÆ-*¥=›0°è¯â$÷u {X£z ¾‚ơvî…ö«L JUḯæï‚₫@]Íúüïöé ê·íñPñÊÍ)u;x-p*çNæü“²P < ù `íơî™÷í¬ '₫úí)é-óï‹Ru÷ï¦ëḾï¦ñcñµ('¥7[*Û¯́́§ü> Å= óÚ qÅô&ïđø³Ä jÿ¨ïêŸñëư’tŸøñf́îiđSôÎï˜ÿ\̉3ø.D©̣èë·ù› E¾ ¡ — ‡¯ø„đ¤÷ư‡ s$đ@é•ï´ü·úóÈ́´ëCîtó*ñ°üĐe2,0₫¥ó_í¶úº Ö 6 « GM ‚û´ñăớĐÿüñûë×đNûØFÔúîôîídîọ́ˆđY÷lT.X2¾,ùĂïôùÅC  Đ DjüôøO~wÿ‡̣,́ ï¼ù xưÛö†ï¸ëËíïñnñ́ñ÷ —)\5U"SïBơ°Ó  æ  ̀ÿ₫ôñơNÿr<ơMí°î÷ư£ÿ-øđÓếYñ&ơiñZ°0ß) ÿöéôyÿ3"I Öñ£üöØóvûrêùVñÈï‚ô–úà₫œÿüwơî€́"đGô½ï°óÙX-b4÷Fÿñ ÷ÔQø Ă¯¶ äúơï:ô6‚đbö¹ï½đĂơkü~œúưđNê¶́nñ°óÜđMƠ!3+È ÷Ùóû«Îă TÄ0óùï8ú|Ôüñ´îûđÅøÿdw₫ơQ́ ë!ị̂ḯơÊ63O4¬…ú"ódûDkŸ ˜g(÷nï(÷8S”ưô™ïËđ\ơÖûg̉ù‚ïêiîtñỘiïic&ư3´(" úú+ưxH'ÿ™̣ ó¢ûv́ÿ£ûcơÜïßíuôå₫íîÿơ ́yë^î1đEíhùØ×4•0£¾ÿúû«ưd MÄmmơDñ†÷pư ̀ưØø“óeî ñYù8-ú€ñBë8í9îïđđ­)H4( ÑüƯùÚ÷TüJíÔ^¡ÿỊÛđƒøÔüÿÿi₫øBñí ósưƒ¿ÿ±÷Øîë́ŃQípûĐ 4/b· ưE÷€÷Ûư ” vT÷móRö¾÷7ü‹ÿơü–ơ½í„đ5ùÍÿpÿ“ù©ôáïá́Uë½íỊ̈ä †,Ö0Æ#^ AÏûœó¡øÑựq Ơ!øƯôÆô÷ÿ–ÿùCñÏî’ôôùñü?₫PúÂóUí,éƒê1îgB"‡2ơ,Énüç̣ ̣â₫$U„ŸđưHơẠoóëù¿ÿƯû†ơñ¯ñöËúèü™üöµđVë¨ê ́“öÑÑ1J1àv €0óÇîùq Â× ÿèø+ñÚî ÷]‚ü´öÄó<ôö¡ơ/úÿrúṚBí́ëní;³-1¥&+ üwẹ̈ #›< m§̣ûíYñ¤ú:ûÛ÷UùøùơÏóaöÀûúôó8đí„́—Z#¾-&Yé\đTíÏû”s7 ' Cùñ>ñ°ô‡÷?öúwûÓöüơ§öƒù ùệ™óµ̣kï.ëêúze)Ô%Ùh« 6ö$ï§ø]1 E +5½ÿNöọ́j̣Q̣ ø}üsù`ø‹ù9ø6ơ.̣uó{óđÊîÔ÷ $†$ª#£ CüÂđ£ơñû ] <£r+úªơ†ñ đcñơàúûvú·ûøäơó3ñó đ̣îó Ơ"Ó#$Ú ø̣Êó"øbư{Ç Ï” +ÿØú)ó"ï'đỊ³÷ùˆû·ư†ù·÷Ûó̃đ£ñ¤đŸïđ¥- ø#é"”3 Ë÷¦ơZ÷4ø¥– 7 b {3|ùđđÈïÙïạ̊ùöú³ưRüù ö6ñ„đ¹đï`îV²y !–%î!um₫Íú%øuóøù\°— œÿÊơäñÜđđñ÷/ûÉûú„ø6ôºđ¬đṇ̃í{ư[ <%û#ÿ€Pù¸ñ÷E₫{¾ª¦́û½ö†ñïïˆñÆó\÷úÚùKølô óñ@đïDü)Ơ6&%Ê$\ ®—ûôơơúÚüF v|ÿú¬ôïđkñgó¼ôEøùú÷Ÿô†̣Dóñ;í?ư₫42%%/b½ A₫mô^÷û÷`÷dưzà!–₫^ø‰óbôỰ̣Köîö˜ơ\óẹ|ó<ñ÷î"ưÇ ,1̃$,$ĂƠ Ó÷ˆøƒ÷‰óåùjÿ ©núÇơWö”óỴ̈ ơö¡ơ$̣$óóđ²đ6û° ̃ơ#1$•̀„übù÷’̣0öæúºûC₫̀bü]ù̃øûơAô¯ớơ+ôMṇ̃añ4ï̃ïFưù  ¹`$¬#ÓRu. Ù₫¥û¾ơ]đ±óNơ†ö5û<ưêư>ư®ûµûùvøù@÷vợ đäïïöîù̀ƒ ¶?!ñ"Ÿ o¥ÀăjÿŸùP̣ÁñĐ̣—ó€ơ(øIû:ûÊù}û,ü¢úTúúÆù×ơPơơuó±̣Ôúˆ̉+z˜NÀâ1,üÔø§÷)÷d÷M÷x÷ä÷Ä÷öøúûMü ₫ö₫ư₫œ₫₫çư^ư0ư¡₫̉#hư·]yxà²ù˜_̃ÿû₫½ư’ü̃û“ûÑû´û|ü¨ư×ư_₫ÿÅ₫₫c₫ƒ₫F₫ ₫3₫jÿ“ÿ£é.µQ˜›ßè˜rhD΀¨ÿ ÿ~ÿÿĂÿ‹ÿ\ÿrÿÿ₫P₫.₫ ₫ĐưÀưÎư‘ưxưÄư₫2₫V₫¥₫ ÿêÿ†lK½Q­´p.Ön ¢,²c+®ÿqÿXÿgÿ[ÿ4ÿÿ§₫1₫œư(ư”ü(üëû&üvüûüÓư”₫Vÿ»;ÀDmzs"ø£ »WS2£%gÿĂ₫Ưứü/üû?û+ûoûøûsüưÙưƒ₫ ÿ©ÿDÙ̃„ÓA:7+.%Ô€ùƒƯRÿm₫Øưưqü üâû~ûĂûü)ü•üưÅưL₫ß₫oÿ pẃaÉV­:Jô°1ă‡×ÿZÿÜ₫W₫̉ưDưÉü<üÛûÏûóû,üfü°ü0ưŸư?₫®₫@ÿÉÿO:́³fBl2Ø[ă,¯<›&±ÿ6ÿà₫^₫₫°ư,ưvüRüôû÷ûúûü‚üŒüZư ₫ ₫zÿcï»X÷E±½íƠXpâNâ.5Àÿ ÿbÿ®₫c₫rưØü†üóû}ûRûsû¤ûüÂüÍưo₫ÿƠÿ/ñŒVlƠ«ª±3¬$}ÅÈ́ÿ³ÿŒÿơ₫û₫₫ÙưüLüûÖû@ûĂú¹úúü9üFư–ư ÿ@øS*Uï¬Ö—¢¼ÊƒŸ Bƒ«ÿ'ÿ¹₫ ₫₫¢ư#ư±üáûnûJûïùúÍù²ùÈúpü9üJ₫¥ÿ LçÎ[¸ÉdÑ1ûµ$®ÿ¾₫Z₫¾ưựüuưáû.üHû5ûAúàù¦úöø<úÖùßưûÉ₫î₫›½ƠùêÚ jO¯Ù;‚È–₫R₫>ưDüüüqû'ưYû¾û†üÙú•üùú×ù÷úù́û?₫ßúơÿ°ÿÙâíXD¾É › ·v"¬IÿFÿrưưHúưƠúXüüûDûfư"û{ưäúªûÏû†ú:úPüCû)₫8üÜÿáXÈ)ơ " %¯>’ÜGúÿaËüØưøüÏüÉü‡ûüü›ü@ü‡üëûdü€ûñú û¥úñùû™ü~ü̃ưú₫G¨¶dØ·â “À.ô²h̀2ÿzÿ&₫†ư)ư«ưºüµưü ư,ưNü¢û4ü»úmù"ûYøúú_úøü;üÖ₫₫₫˜?Á˜è̃Æơ§é]L¡&¤ÿåÿs₫}₫­₫(ư€₫ëü³ư üTưpû"üû®úú·ùùùàú»ûHü)ưÿ́ÿàO¢«ĐQo[/¹‰z#œ—]ÿ¸ÿ­ưSÿơưj₫ÿưTưư@üîû'û€ûåøüc÷8ûùfûBüGư¹ưä₫˜vÆçKD#ˆyä…ï ‘nÁ¸ÿPÿ6ÿ˜₫₫n₫£₫`ü₫‚üwû[û[úúûúú\ú üxưÎü:₫xÿ¿ª¼Â1r]º:-¬̃÷2#…ÿơ₫æÿÄ₫‰ưư›ưüMưÔú±û ü?úüpùQưƒú˜ư§ûlÿvư€ÿĂÿ‹½c\9à¶57˜~=ƯêÂÿË4!‘₫ö₫7₫₫̀ü»ư«üÔûHü~ûüÜúrû+û¥ûéûÑüíü*₫ÿ™ÿqË GʇxŇ&̃Üóơ®E¬ô¯ÿ0Û₫ÿăư5ưFưêülümúrüûiû³ùülü-ûkûhü¥₫Ëư±ưRÜ£?]Ï8ñ¶Nƒ˜@‚̃Ơ¾ÿ'₫T₫²₫]üíü7üoưúĐûNûDûÓûlúÔû$üqü!ü«ü¦₫K₫æ₫ñÿ£ :{­BÂñƠSÂgÁ^nBÓĐÿ₫₫^₫vưB₫œü ư.ûÆûçüăû€ûñúÛüvû`üÉüưdưÂưŸ₫ÿ‚ÿl „‹`“ïU©M̉¢¿¨nö'†÷Ñ=ÿ.l₫s₫öüÂưưWüü²ü¼ûeüDüü3ư¿ûÜư&ưøưQưDÿjÿ‰ÿÈÿµÈCl|“đ`¶°»y*[Sl.ƯŸÿ‹₫xÿưM₫œưgư›û‚üFư,ü¤üBư€ư ư‚ư•₫‘₫ô₫¨₫̣ÿöÿ»ÿF)Cæh7²jB%nÅÈ/íºâWI)ơưˆ₫×₫@₫ÂüơưBưëü'ưËüư₫öü7₫ưZ₫¥₫I₫n₫ù₫®%ÿ!±ÿöV:0R4KePĐÀÔnv€Ẽ|hÍÿ’ÿ§₫^ư•ÿ₫Âü;₫xưÂüX₫ üu₫áüM₫hử₫‰ÿçưíÿÿ‹ÿ@!`w¬đ. ­p­_1ÚĂnp:gÿ]öÿăÿ×ư$ÿ€₫¯ư₫·ü ÿ¯ûbư₫1ư7ư!₫ç₫ÿưÿ70µ₫OWÿÁÿPH”] øáÌ?æ¦í±›D¿Rÿu„¡ü0ÿç₫¾ưû.ư°₫¶üư·ư£₫8ưÚư₫oÿÿ₫ ^ÿ£T½‹4X‡¿ühµ̣”̃ś•a[ÿ!üư;₫Œ₫ ₫4ư²û­ü:ư¶û^ûæüơü5₫¨û9₫6ÿy₫T₫Ëÿ‘̃VX¢Ç²rKG¬¦Éº5\”µ`́Ïÿfÿmÿ}₫ëÿ₫üCÿUưñưưû£üûú³û̉ù¨úfúưúÛü₫ü6ÿøÿ”®Ưm×ô+(|X_-Ö¾₫ú₫(₫¦₫„₫•₫»₫₫˜ÿhüÍ₫<üGưúWüúùÛø½øuø-÷yúñù üX₫8Đó– +  7 ñ € ó=X̣₫ÿûú!ùyùqø­ùúúüûÓ₫₫NưÊư¢₫‘ü<ùBúOùRö’ơáơ–÷̣øBúße°Ü I tm¢³é‚©² Ë©ư‹÷%ộ̉-̣´̣ˆ̣”ö ùĐùÉü´¸ÿƠ₫JÁ₫́û{ùÁùåơKó óßôgú̀ú~₫ÙŸ êt ĂàücN ¡àˆ÷¨ó:ïçéBèßê0́ƠíóCùüf₫,‚sɲ₫÷«ơ)öâïfö ü*ù”} ” M”¢ ?[(n T÷¦đ…ëúăPâắäÏè›íGơsû₫"€Ơ• „hø ÷_ôÇïÙø:øø'b á äcp̀#Ê!ñÎÔ HC̣Jî‘æƯØ̃Sßsáhèsíº÷²₫— ù kÚ(ÿkø²ôđD́Löçó-ö;Ơ æ3‡!€#'+&ó#”i  ưªïœë›áŒØåÛÜẪÜèfî¾ùư;’ á û G†ÿ.ø’ñë́½é[̣₫ï6ỡ/ ÷"\%À*ï'£#Âù üùîpè\ÜT×^Ú`ÚÄ̃–ëÅñÿû= N‰Jg uø₫›ø•́‡éµäˆë´íï#9 †?'†&Ă,l,?&ôv2 ¢ù.́uæ’Û9Ô ØIÚøƯ2êçóŸư“ËøR% Lé₫ß÷"íåèĂáÎåQïóë́ús ±,È)î(4+8-B'ÿ̃‡ûëăz̃}ÔŒƠ÷Ü×ßé@ö…ÿ” ;„Cµ° 5ư®ơwïÜæ±áµá í îsơƠ úØd'ç-r*û+ )»:²û.íLáîƯØÔ[ÛëâLè]ô1F 3²±2|ƒœơ_ï™é:ă–ßçƯñ+óRv ù,¶-À(ư'f!I©pưÁñDä·ƯæÛç×lÙ»âIêÅđ ₫b<   :̣m!ù̃đÔëèââúå_óÊơlư86(\,&^$AHÿ<ưêó±èëßÕRƯ€ÜăĺṂ`ûl Û÷¦ -Ê™ùÆ̣íí–éçôæ„đZù†ư¨ ‘ê–!,)»&ß Ơè }₫¢ơ]́¼ä{àà[á!äAëÍó‰ú å jT’ «W7û{ôgđ íê;éñ)ú6₫<[wc.$$å¿— ¢ÿàö$ïé{äëâßäÛçÓÚóúqÙ  g Ô \ü$ơµñvïÁ́|ë[ïùrQuMâî! EB" °Iụ̀ØëpèKæ£å`éûí&̣Âø÷ÿ±e‰ ³  oÿ¹ưtø3ó{đƒï5îÊíÉô=ÿei µ4>“®¹ ‡ưhöUï+ë›é\è=éí×ñyö\üö´™ÿ = 4®ÿØúö ̣&ñ–đÿï¢̣’ûĂÈeé>y²H<ÿ(ÿù—óDîlëÛê*ëiítñÅơúÔÿµm̃¥ô»ûN÷ôŒ̣§ñ3ñµ̣½ùÎiO 75~ R$ÑåùYơ«đ‚́ßëAí*îÅđóơlú/₫LœÀ‚bO©¿üøiôxó÷̣Ṛọ́ê÷¶# EñÖå+5< 4èúØơ~̣ï½́ù́ñî·ñTơåø"ưµ¦WGCImüQøêô™óọ́‹̣‹ó¼÷ ¯Je|‹̣Ư£¶Z4ûXơẹvđÂíí€ï×̣₫ơmùưƒPüDÿLû"÷øóPóôôôFøL‘ Ä&˱@›) l?¥ùDôḤƯđÄîbî¹đ.ôr÷júˆư+‘ wÁừù\ơị́wóyôôôáút&X×Ñv15 c!ÿ÷>̣²ñhñ«ï}ïḌeößù ü₫Xä…ÿs₫îûïöựẹ́±ôơcô§÷5› •û>9ó1U U—ú ôcṇ̃øñ³đ“ñbơ†ùü²ư}ÿQlr]₫×ûÀú9øÎó½ñóơ£ơÖ÷Ôw rÀ¢)¬AđÜ êûZûơñøñạ́Ị́OóÜơXùsü¨₫¯ÿüÿjưgúHø"ö•óḳ`ó«ô]ơ‡ù !œô«ïq`œØ= ÿù"óBñØ̣ ôô>ơbø½û₫ÿöÿèÿœÿ'₫!ûrø”öôtñQñÍópơ¦ơôúÜÛ1éâuàó 3—ÿXüL÷´ñđ¢̣_ơËöøSú8ư/®'ÿKư£û¤ù·öẠ́½ïÉï€̣tôdô>ö-ëX̀Ïơ|½kÓÿ×ü¢ø¹̣Ơîœđîôó÷́øGúAư÷́/₫JüâùƯöỰîỨïọ̈ó”óeüŸ ö|~<Œ!ëGï₫û7ø’ó[îúí»̣Ơ÷1úÁûC₫~+·5E₫¤ûËùööṾíë#í$ñº̣Ạú| /ê+ V"ª°Úứøîö#ó̀í£́¬ñøûư3ÿ΅”lØ₫Ơû²ùoöpñ(́XéOëqï{ñZñùú •"" !#ÍBíû÷*ơñ—́…ëÑđøTưç₫wỌ‡ÿúøNọ̈Sẹ̈æ€éùîeñgđzùÙ!“%œ!d!Ú"Í*,øíóºó9ñ́ ëṇ̃ù¨ÿ53ú€ ¸z₫êøº÷÷"̣³éËä†è]ï¹ñđrú(%ê'S"ô €!‹· \ôÛđ®̣"ñ&́që₫ñjûÉU¾­¡ÿ W₫“øvöPơDñ>éä ç̣îDñNđ₫D (’'r#j#¡!'€ _₫Åñ ï7ñvïùêÛ́Pơ₫Ëat0₫ÆWÉüø ÷ZơÖđéäíç;ï+ñ3đÿJé)™(~#å"!cÑ ¹ûaï®íÇđ¼ïÆë©íƠơø₫aØï´Y–À·ü÷ßơ2ơñ=é›ăÚæ¡îÁđpñ]1 +Ư(È$4#…̉• ù“í÷́wđIïäë ï÷I¤ù©k:Æ”û/÷€öqơ¨ñëèÔâưạ̊îµñẓ T8-¸*$&{"é8:å÷"ë¸ê¿ïüïÄíñđªø,ñÏwf*ËúÇơæófóăđÛèÀă…çÈïîñùơR F"æ,Ù)@&€!†Eâó êÓëđï¼î¶ó_ûÈ& D=‚Ơfÿ§øốómóÿï2ç/ăhèNñ9̣øWQ'‰.o)P%3Û£!™ï7èǼ,ñ­ïsđ ö»ü;Q ‹ =zù·(ÿAù¶ó³ñ‘̣¥đ=çÜâïẹ̀ẶñùS:' .å*{&÷Ú xî:è·́Êïuïx̣a÷sü3: ‰ m!M†Z₫úŸóBñ%ó\ñEçÅâ¤èÂñ ôäûF%,è+¨'¿ô[ dđ°é%́î›ïô£÷)ûø+ ( ¡±3¾ÿ!ú£̣Öđ­̣DđêçåËé!ñíóªǜ·#=,_,®'Ͷ¸ hèđÊế™ííïñócödú/« ’ùBƯúhómñ:̣¬î?çûå¶êñåóăü’ƒ#Î,<,†&‹ë˜xSñ_ë@́úíŸđóơæù-́AfÔ¡ï…ºùṭeṇ̃ñçîÔè]ç7ê đáô₫²˜"s+#+q&“*s ¤ị̈Rí í,î³đ'ôöú•¢é:F;̀¯ûôfñ'ñlî énèîëñ+ô¼úW 34*+X&xmnöbîđ́îRñ6ô>ô÷vÿº,sÏ) L3ü¾ộEñ đ£ëèÏé×ïVôù@ í·&®*M((÷êΨùèđíḮéđFôôö¡ư›M)áënưKöóVñ:đ3íBéê ï«órö₫´K#Å)I)-!”>́ 9ÿÅô˜îøëŒïỌ̈ó™ôMúlƠ»Îgµ;ïùºó÷điđ•î‡êÚê—í«ñgô5ư'à(‡$[¤2nŸùñ¼í¤î‡ñùñḶ:ö—ü©Å¨û.DXàüÅöẸ́EñDđd́'êÀëÑï%óø "å'ä&Ơ FÊ Q[ö­ïÁíÁïYđÛđgó¡øâ₫ÅÖZ¤öxí₫ ù!ôẸxñ%îêë.îäñÏôLÿFº%'‡"bí]Xûặ¦î°ï8đđñđô|û  =8+ü»ơ"ó¹ñCïë ë‡́˜đó¬øŒÓ"ñ&G%n²°€ -k÷®đXï(đ'ïJïèñ¼÷U₫ÑH¸ROBù?ô®̣æđ.íøêëaí5ñïóqÿÁ¦$&ø";ÿ…°̉ü¹ôđ×ïbî|íïQóüùOÈ:> 1Kư÷ô…̣çîëMê¶ë ïñë÷ç5!f%"$)!đ1;µ×øợƯđïî₫ë-́¾ï+ö·ügê×[ Ífú¶öđôñ́FésêRíñïñ;ưê%$K%Ü"Ú!& ₫l Pÿ]ö°̣yđ9́âésë¹ïô÷¥ưà{” Î N₫Üùñ÷Rô]ï¥ê–èwê¡í©í;ôtƠH$1$›#°$#¯küöG̣°́}èBéÈë;̣Ăø/ü3 ë ® ƒ₫ÜûÉ÷̣´ë¿èûé!ë¹ë»ëÔøƯ uŸM"ÿ#'Đ&pHXư,ø×đHéêåè íẸ́Mö)úO½ ˜ ư–ư­ö4ïºéIé\êvêéǺ¿₫×"‡&1*_%å¤ Ït₫w÷@í¶æ´å…èíÚđBôØúXFñ  Óƒñ[ûKôóí"ëuëĐélè̉ç¦̣zW–I$Â*À*~ ¬ ,₫;ó<鋿ÍçféƠêîÿô¹ứ¨W{‘‚ˆÿùø$ófïë́%êÊè´çîêBưƒ œó¤ u'¦+́% ̣°Ñụ́î.êưè¥æ_ç«é6ïÉ÷Pư… {bßiưùụ̈ïḯôéHéèLô¶ ªj#Ú)(Ïơ~3 ˆö"îŚŸèfå6çë¾ñn÷ûü# å®üâöẬdñ.îêëËèAíÿµÏ ´x$á(₫ Ñ]J Ă₫Ăôîñî&èàæµè í\̣LơyùÛÿ¼w4iÄÿ!üb÷ûô4óÑđJî‰́&÷È̀ Ûs"!A®^tưjøưôäî₫éjé́̃î^đTô7ùvưJ\Xß₫÷û•ùƒøÈö3ô}̣óÅüơ*¤ ÿ½Wư»̀©7âưNøệOïî6ïåï™đJôø³ú(ư¡₫~ÿYÿơüßû2ûUúøG÷åơ"úr5ÔE &©«)³~= NrÿäúÏọ̈ó"̣ª̣ạóơç÷}úÑü+ưÅ₫ă₫€₫ ₫ưÉü‹ûƯúSúùùäúÿ°“ <± ü Fº Ô?ºÿÑû5ùöNơñô‰ô<ö8øùEûSü¿ư₫₫₫ï₫-₫˜ưÛü übüœû>û{ưW9tºtú å Ó ï   ½ ×±-ƒÿưü]úºøTøÚ÷Ô÷Jø(ù¼úOü¬üôư+₫y₫¡₫Ï₫&ÿ]₫kưpü”ü©û¦ú~ụ̈₫2ˆÓ+¦̣ß £  o ²åCí₫güûúcùSù:ùújû­ü°ü•₫ÿ¸ÿ.ÿ́₫¥₫¤₫¨ưüüMûûzúÙü|₫í²= –î# Z  d%ß™ ÿ_ư–üÑûûÔú üüKưµư¥₫½ÿ¹ÿFÿ!ÿ^₫¹₫gư‘üü²û˜û;ûÖú¦ûÿzÿÉ™j,µL̀.ndñsIÿo₫9₫¯ưqưƯư—₫‡₫nÿSÿ‘ÿ^ÿ®₫₫ÑưOư‰ư4ưWüUünüœü¦ü‘üFưÿçÿC û—5­åÚÄHÇ̉ƒ½’ó·0HÑÿ­ÿ<ÿmÿ÷₫V₫ơư‰ưZư;ưPứü8ưưZư*ư,ư<ưưk₫Ơ₫ÿ₫€ÿuÿ—"1èu€äÑ́oW/s×tLLÈD1 ÿ"ÿĐ₫æ₫«₫¥₫\₫ˆư=₫Äưéưư²üü‡üû~ûhûáûÏüzücưa₫Yÿk{D?XnB̃Øb™WOA°Aÿ¹₫D₫₫ưßüüjûAûùú̀ú”úĐú¶úeûºûÑüôư‚₫‡ÿœ 5Áœ2ÅåFB»=ÖPåObH©ÿá₫C₫àü¶üüoûUûÛúĂû¾ú•ûđú`û̀ûúû¥ü ưĐư÷ưcÿdÿ 1*’[ 0ĂNªñ¯Ë‰%Lm€×ÿQ₫B₫ư„ư°ü„üßüaüˆü+ü®ü^û±ü3ü[üü§üIư·ưư₫cÿ”ÿưåçÇ{’̃Û½Ñî–Ü’yØBw©{ưÿJÿÿÔ₫^ưæưCư®ü£ü,ülüDü”ülü¡üŒưèưX₫“₫jÿºÿ{ÿA4Áưº·ªôä³hD™Ç¿d…mNóÿÿ“₫üưÙưưáü¸üưÙüÁüưÜư9₫ữ₫Îưä₫|₫‘ưû₫.ÿƯưÿÅÿÿÜÿ̃ À6Ÿö?K”ÄËÖh đỵ̈₫ÿŒ₫‰₫ˆư)₫ưØư&üƒưWüÚû_ü$ưÖü2ưú₫‡ư3₫‘àÿí!ÿ];µ±…“g00Ơæp0«äÿÓÿ0₫—ưaư ươü©û.ưü¥ü‘ư¤ư~₫₫₫ó₫Öÿ²₫Óÿ¸ÿÿíÿ)—]Êï„Øm¨Ô®vK8J¼íÇI¥ÿ›ÿ ÿÿ₫Çư¼₫ưƯưNưdưEư±ư(ư₫U₫₫¡₫ÿgÿzÿäÿÍÿó>`áÂÓTY‹&¥&Ù¯w·8Çh3ÿÿûưưưü₫ü‚üäû³üEü{ưƯüƒư×ưcÿÑ₫fÿÄÿoÿ|`ÿÜÿÛÿ ̃e„½¹"öÑeb ̣e‰[€ºÿÈưµưư₫"üØûÂü;üDüåûBüÊüùû›ûưĂư•ưÑü0₫Ä₫€ÿ>ÿ~tb‹$́=·²È”ˆ¿¢˜Ù£mÿ ®₫9₫‡ưÜü…ûwûúúĐú?ùØøpúéù(û”û´ûêư₫«ÿ́²é€ƠCg¡ÀgZ¿ÔNÿÿUưüÈû}úû‚ùÜù¹ú‚úù¯ùưúîù£úÀú¡û0üœüưæ₫Ä;r7: p P à   ›¥å₫¡ư.ûeù¿÷‹øöMö¿÷{÷]ù ø¬ú^úkûdú:ưû#üpümû©üèû°$”Ÿ©#«ñwô xsé₫ƠûµüSùô3ờơSơóÏơÚø7øàø®ù×ûUùúpùE÷;øø[øJø*o ¬qXEsv0À ́üú3öđ>î ́Fë¥́ŸíđBó6öj÷Ơù¢úûÙûhùúAûVù-÷±ÿÚHà }Ø ó¼ƒn₫ ;¢üºøQô÷́˜ê>é èEé¤êêî$̣|ô÷1úÜù©ûëúø{øÇø÷ơöEà XDĐ#Œ!Öä.+ ëư ÷âơJëç'èÿ䝿yéÉâñcôøơXûóø¡û£üöøöQùạ½ơ}wvÁ H"O%Û# ‘¹÷#ơßñÎæ¦äjèçˆçÍí+óö*öüơü¡ø<úÍùẹ̈Ẹ́ụ̀Àï…ÆíL÷!ó-%ä(´#çtaE‚÷gñïđä©ăÜæÛçéđöUù6ûIÿ8ÿ´úáúŸụ́OđœđîÏÿ«Z(è"%+@"';%ëdô}đ í ăÂăDê2é¯ëèô;úđûâü[ÿ]ùưù5ú&ïî”ígó¤< ;t„)%ªzÓÇ̉û:đËíkéăaç í}ëºñ§úÇûŒü4̃ÿ4ûû÷ÿømó¸í»íÇđç¶ÂK5&™3#Ÿ*CÜĂ»3ù~ïTëféÖäÔå¤ïưï¬ñ‹û~ÿưÅÿôƒû ÷øïóîźŒđmÉ•B÷(3!$"ë(ªA  Å*÷˜íkè[é¶æèIîó„ơ(úÜ₫¶₫₫´ư=ùºơ1÷%ñǴ?í}ù{›+ư"d'̣!&Ñ$o˜ ü%ñéêÿçèé5íñ·ơrùRưo₫S₫|ư,úºô ô÷óºíEêóȼ  @)#"•"Ó$Zô U5ÿơ íĂéÿêỨïÄñ{÷¿ú’ûÆüÓưûOøĂó}̣ạPïê_ô˜ £µ)Ø ̉-"¸ pưnó~î|ëÙë…đ€̣ẹ̈2ùRưYûcûüüúßơôñæñ§̣¥î^ëáû5 ̃ Óÿ# (È¥a—±#6ùº̣lî́’ï!ơKơLöJü;₫¡û½ú±ù÷ị̂bïüï«ñ–í\ó˜™ÄË)w"{®hÿư¼ú‹óRḯîrï­ócùùíùrÿÿÑù_ø=ø‚ó»í9î¢ñîóP!‘ˆ'ƒ%VỊü²ö¼̣Áđđ¦ïºó½ú üêú>₫xsü ø_ö9ó±îíđ`ïmö‘Ε%y#Ê0ư^àû´ơẈñZñrñ›ôûoư¬û†üÙ₫wü^÷gô‹̣¸ïBïđî¡đơư) ‚¨z%̃“d ±¸øªô™̣‚̣Tóôø]ưäư6ûüÍ₫ ûĂôẸñ¼î2îÛîB÷Đ́K…̀#r#ÁÚL « ûơ&óº̣ô'ơwö“úÊ₫gư-ûáü*ư¼÷¸̣:ñ‰ï…î±î2ơP•Zj `%˜) Gưô\ñ•̣Vôöô\ö.úR₫ƒ₫!ü•û…üÑùô₫ïïđ!ïóôjC–œ&c̓5Vÿơó‹ï'̣5ơ’ơ:öùø$ư¨₫`übùüùú>ơ"ï×ípđñ÷2ÇÅ£!™$°· ˆ ụ́ñ"ó9ô|ơø•úŸüÖüºûÿù‰ù\÷Oó+ï0ïÔïÆñEüŸ ĐĂ;#û"å 1"üøÀđwđơ÷ ÷ øSûqưkü|ù,øøcöNñ;íÑîñ÷0¥Áv¾Ó$®k ÀZ₫Wórđ˜ô]÷ÁöÑ÷Gúüœûaúaø_÷ ö¸ó¡ï8î)ïæó‡§ós"7 (¬‰R|ù‹̣P̣÷ötùùßøúQûGúeø÷ơ¸ọ́đñî™î”ñưñ ‘Áø, ƒ!tƠ™¹#üaôßñăơlú5ûđù½ù¾ú²úÙø8öJô]óåñ§ï/îBïEùµ ‡—‰1#—Ë VC'ư<ö6̣§ôĐùHü†û)úú~úùĂöộ̀úñđWîöíöö9TÚn¼"X‡ Z¹₫ưư>øṭó5ùjưư‘ú”ùúèùn÷pôịkñđÄïƯíẓµ̀Bˆ}"P‰ÿI₫¶÷]̣ô úơü_ü>ûÔúúùĂ÷Äơó‚ñ«đ đúí#ñûÿ£@̣Å ü0µ±ưVưÇùAô³̣½÷uưø₫Ÿü#ú¤ù8úWùBö4ó»ñ₫đ đùíWî úJ`¬?̃Ü!g©éüÍûú¶ơ£̣uơYû±₫₫Îû,ú úÏùü÷áộÄđ‚ïĂíḰ¿ó ‡eđ,#Ê jưTù`úL÷²̣…óú:ÿèÿàü úùúHùµö7ôụ̂ưđîíëú́ûU—˜\!ü#Ϲú£útùóCñ¼öJ₫âTÿưûOúĂù×ù•÷øôpó»̣ đÑ́rêî₫ªd)$#"áè-ú›ù‘ö°ñ̃ñsø$ÿÏ—ÿ3ư³ûgúqụ̀öơaô*óƯî¹êƠé=í8û!~! ư!$<#5ö"÷1ù#ôbđơ@ÿïUIưáú û,û©÷ộµñ—̣lđëêè.ë6÷B 3#!¹#̉%ü*YøÚö÷Ẓøï3ớ₫€i%₫<ûÀ÷“öÊơơzó_ñö́¶êëúî2ü&<%@&ơ!˜"À!<Éÿ6ơbôHô9̣?óùø?y­ö¹ûdø9÷öÈóówó,ñ́£ê_í×đG₫́Ó)l(Q!ö!&!Óû<ñ¡̣ÏôHó^ôXú«Ú|û½øöRôộLóùọ́”́lê₫í“đ̣ùGü(n+D# "•#ËåûEđ̣Fôṿ ôtúˆ€Vü]øåöçóụ́ơMø„ö-ï<ê3íG̣gñû́{.,,|!?J ù(ïÊîCóöÛødû¬†ï¶úÊö¹ôó“ó*ơ÷À÷ó®íí¼ñäñGù‹*},‡"\ÊJbüµñîñFơ;ùDûÛs“ ÆIûk÷öôaóYơwø÷ø÷®ñàîÑđ¦ơMó2ø+ø,~°èû¶îƯë`óÖùUü"ûßß 1 ̉Bøhö‘ö{ơŒôÊö|úcưûáơÈïYđ¾ó§ơăîø#R/C(è“’> <÷Xïfî1öäü¨₫Íû©2 øü‹öö×ơ~ơÚöùû¬ÿúüÑöëđêïèí¹îớóíh+%\1p$_Ị́÷êßïâúV0ü‡ư–5 aù³÷˜öº÷Vù—üÊ₫°­úôỊ̈¢îYëĺôñŸïgđ_ ç,82ó"C"¼₫^ñréóđ,₫Äûª E -JùƠơµô÷ú÷Zù#ÿïúÍøc÷ǵ̣üë î—ñqîuïÆ J0t6×%Ö\ƒÿYđ=æ8ïï₫–_úéÿ´ 6‹÷9̣C̣øNùeûdP•ÿ–úøèôÅđÆëÑ́ñTó˜ïÿêĐÿÅ&†9R.­$8F|̃ôKäñæAùÿ~üưÛ†iûñïî₫öIú²úơÿó Kâ₫ÊøJöfơcđ í’îỵṬúđ;í%đmN3…8¢) ")Ö —₫ í›à1ízÿèƒư˜́Ï̉ˆ÷î¯̣Îú@ûèư&©´ ¸üïơ÷®ö«̣ŒñHñÖñÏóJđ‚́Lí{̣Ê$2Ô:o.#%u æ₫–íáá‹ë·ü‹€ÿ0[ïA÷bíwđåø4üÏWZ ƒ̉ú)ùç÷`ø]öệ$ñGô™̣đïƯñÜđ#ûêœ8ñ8Ö-$!™•ûç½ßLîDûĂ?ăÿñÿåĂ¥ơ îđT÷mcX ˆ €Ñ₫1øøúWù;ö)÷üô›óCóÊñÑđÀôTöÖöˆ00F7R,b¼ 7ÿßî;âÄêçø¬•?ÿƯâ™ù|đ́«đ¤û—Z‡ ¶ù ÁbưCùû̃ûú¡øöơäô°đOí,îjñó÷)ôjÿó́6‡6î)€Íc¸ùBê|æ²îƯúlƒ©₫ —ÿºụ́í¹óZ#r ’ Ÿº~₫›ú‘ú üœù&ôÑđạ̈Öôaô”ñDđ³ñ&öŸøà÷‰÷÷. ²'Ö6g3É$ Q\öÜêúèï“üÖ:ôŒRÿœú„ñoîơ₫N|óÑW ë V/üçú›ûú‰÷ơAôGöªø¼øøiöơ2ơ öAöO÷Ơùs₫Ä[*µ3/æ÷ 3+ûmñ ë)ëºđ_ưf¡oÿÇư4₫EûVơ©ôˆøû₫²¦rßt¦7zÿWûgû ü&ư…û´÷Ăọ̈øû™ư₫ü8ûÚù÷·ơyôó÷\₫ ¶«)Ư*½#7|:úCó îîZđh÷´Nî Ëç₫Ùưfú9øøú÷ÿv9¤!džÆ₫Yư.ư ₫3å₫ümúúdû₫üüeû1úqøơöPơŸó@ôuö`ú· Ä'ƒ(ÈÛÜoùÿơêó¦̣eóBø^ÿz·Öó₫ ưküxûNúsùlú₫öd´ú‡[ÿøưÁ₫fÿ~₫üÂøüöü÷Àù`û`ûñùîøLø—÷ôöCö9÷Áút‚ YR#& gGưöỊ̂ ñƒñ²ôÁù*ÿ-@èz₫füûbû̃ûưD!óG©v&ÆKÿO₫3₫̣ưưOûù¾÷đ÷ùÜúÔûÔûúúoù9øè÷ô÷qøÙùÇư$Œcª$r Üä =‡úÇö€óḌóøX₫÷ƒƒ„ÿ´₫Íưªülûuûeư'l9%¯Ç¹¯ÿ₫Dư™ư=₫_₫¼ü‹ú?ù{ụ̀ú2üüåúîøê÷ø¿øçù4û˜ư®l·6! @|Ơ…₫åúÛöô óô‚ø ưºÿëáÿí₫|ÿàÿh5ÿ¶₫ö₫‚ÿriX6ÓS 3Y₫“üûù ø´÷ øjù—úæúnúqùüøbù&úûØưí :æ—â×Ňªü¡økơoó óµơ¾ùpưùÿj!yơ½©QÿY₫z₫²ÿW\RÜÿ(̉Ùàÿ”₫ư?ü¯ú¨ùÖø)ùjú\ûüû@úêù ú̃ú–üR₫ §>₫3d̉ ”₫Oú÷bôẈộ²ơ¬ùÑươw¿«kƠ•Óÿl₫c₫¿₫XÿÔÿzÿmÿ²ÿ%UÛnÿüú‘ø̣÷•øhùúÅúÍúû“û¨û5üư˜₫C¼ „±Ơ *[ÿ@ûBøơŸóqô‚ö7úfưÿqد(´Ï×Üÿ ÿ°₫Ơ₫Z₫îưưưt₫¯ÿêm‹¸₫Uü<ú7ùùµùnú×úûXûæû£üÛü2ưºư Pº €“T&  ¿±ÿ>üêø°ơnôÖôÄöÍùøûưÔ₫íÿââ d2O­&ÿ[₫ÈưÍüüÍûYüj₫µøªÿ”ü0úëølù‹úû;û´ú‚úsû¥üĂư’₫Ë₫•Àk )m•7 jA¯₫pû¤÷<ơBôyơ:øúMüjưG₫QÑe‰<8ÿ‡₫4₫˜ư ư:übụ̈ư´ÿ&́̀₫Gü/ú‹ù„ú‚ûüÛûưúáú«ûàü₫₫Ö₫¥†6 N\™Ú [è>ÿÁûô÷7ơ'ô&ơ„÷ÎùŸûßü&₫$¬o)kqÿ°₫́ưßüơûâûư¼₫üÿa₫8ü‘ú>úûülüưû+û́úûÊüîư¤₫ÿ«÷{60g …á?̃ưáù™öªô®ô?ö#øÏù:ûü»₫R^»¨ơI K1ÿôưÁüEü©ücư¿ư2ưÈû]ú²ùúDû@ü…üüMûRû;üƒưµ₫LÿüÿÀÑ /„́ ç…@…£ư~ùJö¬ôơyöè÷<ù^úüª₫Ä•X…¢f-9)ÊÿI₫ưbüDü8üÀûÙúƠùSù²ùËúíû£ü•ü!üünüIư3₫¹₫@ÿ¼ ë} Â×Ô 8 0 %‹ơăüEùØö̃ơøơpö÷ô÷ƒùóûÿú9e•LÚ<BƠb₫Eư›üüLû.ú*ù½øù(ú=ûÿûUü^ü„üưµưJ₫©₫̣₫ÖÿûL. • qÄ̃ † " ‘ gr̃Aư_úXø%÷tööSök÷NùÚût₫°‰å̃‘đôèÿ‚₫óü(û\ù8ø̃÷ø¾ø\ùú̀ú‘ûCü ưÀư”₫XÿçÿƯ›`À¦ ) t Û + r 7 !4ñù₫©ü±úù|÷oöUö=÷đøåú»üe₫9åbN¸l±ÿư,ûwùjǿ÷̀÷Đ÷ÿ÷ÂøÁùÑúÎûsüfưµ₫ăÿø¦'6 ˆ Á Ù F ₫ p  æ²ÿ™ưhû~ù³÷Ơöøö°÷ßøCúÛûÀưáÿµOcè,»ÿ̀(qÿ_ưQû–ùSø‘÷g÷—÷ê÷°ø~ùbú…ûÅüE₫–ÿ”{Í÷–Æ ̃ O ‹ æ  ă  ̀“à£çư¢ûĂù·ø\øÉ÷µ÷§øúƯû¼ưÿ₫rZ•mµ„º%KÿEưQûđùÓø̃÷‰÷¬÷1ǿøyùMú©ûeưÿJHÚ±áü³ A " #  ³"Ï]6ÿÇü\ûZúù•ø‚øÅø ú|û†ü₫ÿÀíÍ ™«Tå₫ư4üưú úùóùªúdûăüư₫p|`RnVÓÊ_ÄyGT}q‚“Œp<àJúÿ¦ÿkÿ(ÿ₫₫đ₫ä₫ê₫ÿÿ ÿÿé₫»₫›₫m₫.₫øưÖư¿ư±ư¨ư¨ư·ưÜư₫Y₫₫Ư₫<ÿ›ÿúÿ^´ vÄđ%`‚°ŸmG ß§n? ×±gD øÿàÿÂÿ“ÿvÿSÿ(ÿö₫¦₫`₫₫Äư’ư_ưưèüêüñüưOưưÙư>₫½₫0ÿ§ÿ6¦É Icv~cS6̃²†dF%í̃Á~W#̣ÿ¶ÿ{ÿRÿÿë₫·₫₫M₫#₫₫ưÜưÂư´ư´ư¿ưÛư₫2₫s₫´₫ư₫SÿŸÿđÿEÔ<a†™©}‚|6GđơĂ¾³””‚iZF(ùÿÚÿÄÿ«ÿ—ÿ…ÿkÿ\ÿMÿ6ÿ)ÿÿÿú₫í₫ă₫â₫ä₫́₫ÿÿ9ÿZÿ}ÿ¯ÿÜÿ 4[œ¶ÄÊÏÈÁ¬™ˆp_TD>99AEHKMEE?2( ùÿæÿ×ÿÄÿ±ÿœÿÿuÿlÿ_ÿSÿSÿIÿRÿVÿcÿ{ÿÿ§ÿ¾ÿÜÿüÿ 1=VYeidj\\JG?=:;>EKSY[\]QG7*₫ÿïÿÓÿÆÿ§ÿ¥ÿÿÿ~ÿÿ|ÿ~ÿ„ÿƒÿÿ“ÿ¤ÿ®ÿÁÿÎÿ̃ÿáÿơÿ %1<CHRYRPOPQQCGLF@BA;?60%öÿïÿƯÿ¿ÿ°ÿ©ÿ™ÿŒÿ’ÿ„ÿ†ÿ‰ÿÿ“ÿÿ«ÿ¶ÿĂÿÎÿÚÿ̃ÿ́ÿöÿ+48DRRJTQWRSWMKF8A;-&!$ đÿáÿÛÿËÿÀÿ¯ÿ£ÿ¢ÿ£ÿ—ÿ“ÿ•ÿÿ¦ÿ¦ÿ·ÿ¿ÿÊÿĐÿăÿùÿñÿ.76HIMPSMRUTSPI5)%( óÿëÿÛÿÔÿÓÿÔÿÈÿ¼ÿ»ÿ±ÿ²ÿ¢ÿ¨ÿœÿŸÿ°ÿ¿ÿ̉ÿÏÿâÿ́ỵ̈ÿ÷ÿưÿöÿ->58EGJC>8;5'*+öÿ÷ÿ  ́ÿƠÿÍÿºÿ­ÿ¦ÿ›ÿœÿ’ÿ«ÿµÿ±ÿ¸ÿăÿëÿüÿ üÿóÿÛÿØÿïÿ₫ÿ'#)8?/I=2=,>+71 -Gïÿ#åÿưÿ¤ÿ ¿ÿçÿ•ÿưÿ³ÿåÿ´ÿÏÿØÿÿºÿÂihư#₫ưc§₫ØÿoË₫˜₫÷T₫’bưÖaưBrúrRüNØùLư2ơâ˜ø´üÁAùfè¸ÿ ú¥ÿËü‹«ÿ^ÿöûX?ûÆưÿưăïÿØđ₫t₫ ÿ̉øjü÷ü2ÿƯü|ư°₫ó«₫ ₫û qˆ>>q”£%ÿ¦ÿË6¾ÿÓÊ‘Ơÿ^ à+Zÿ¯2₫9ư¼Øüưj₫Xüè₫-₫•œ₫«ư2₫áÄưVÿH₫ —ư[ÿ¾ü°üD  ÿ±›¥ÿ̀§ÿ¹ÿơÔ₫)×₫"eÿÚ¹ư<RàưJ₫ñÿ]ù€ÿ]úỹ’=û'¥Ưÿ₫8úWÿi9 ùÊ9ÿ,ÿ­üÄeÉ₫_ÿÿ¢ü4ˆÿ©ÿR4₫ÿ€÷·ưÿüp1=ÿ×₫Ú꣧äzª€ÇBÀ₫ÿ¾ưvÿ₫[ÿưÖ₫yüBưư û×ø/₫ªü(ü`úèư»ÿ~rûgưAÿê₫Mư!›­ÿ•# râ¾ AÁïo ©SÖŸ´úÎû•ưGưˆơPú£ùÍú¦ôÜùcûEû—ø.û«üüâûû₫Î₫»ùǘ₫@ÿ¨ÿKÿ†(³ê¨@ › ¥̣˜  ô= rÜ__;û,ú‘öv÷†ơẠ̊ƒñ×̣é÷eôªơ0÷ªürü`₫´₫'—ópM₫©ÿù·ü₫óüđÑ— zó ) ú  hΡQÿ₫ú‚ôzö\ô‹̣âîKó¢̣aö,ó%ơMùÛû–û‚û‡₫CÊ₫0ÿœa$v›-ñ¿ c Z ¨ ) ÷ µ ×-Ù₫/üWù,öơóJó“óôÍóàó:ơûóføùl÷"ùíûÔÿd₫gÿW¢‘úđKº  ₫ z ¸ u J ÷5Aû ÿtüÇúºøm÷(÷bôËôưô7önô'ơnô(öÖö=÷+ù0øƯù’úEưXÿ\ÿÚưÂÈö¸₫ á ד^G £ s¾]ÿưgûfú‡ùÎ÷I÷•÷;÷7ơÆô®ô²ơ0öiơîóCơNú(ùèö<øưªÿÄÿ}{áé  ÊN•V Û íh]D₫°ư¬ưjư*ûĂùøZùMú ûùKöYơäơ!÷ơ)ó×ñ_̣¿ơÙötö÷EùTư†-& WÎ÷",IT–  •™B₫[úˆùú2üEüŒû%ú8ú–ûöü¦üúOøHơöó°óóƒñ'ñṣóóPơ•øQüá₫ä fW„HÈ̀ó n »Oÿûoø»÷¹øôú<ü‹ư₫Û₫Œÿîÿ₫‚û!øsơ¼̣Éđ.đđÑîKíïkñ•óÉöưúHÓĂñˆĂM'ó[¬ ß̣ÿëúÔööơéơøŒúư™ÿđ~–YAü€÷—ó¢ï4îŕ´ë ê9é8ëÜîỵ̈ö´ùF¢ Ø@ Å"c!EBw¸ j̣îù’ôựbô¦öÜù÷úêưi„ p u4ưúTôï6í„ëöé¨çÀåCætèníđñÛö û¤4̉â%È'̀#ơpíïY °ûkơ¨đµñåóµødûˆưÙ₫É1A,̣̣ùÙđÂê‚éRç¥æ”ă%ăăÆæêPđ²ơïư6 É$<*…*‘$‰‘» é₫÷€ñüïợÍö ü₫9b\\₫Ư  Óûäïè(å›ä%å·âÂá¯à5ăZçĐî"ỡü ëZ&n-€-'Q Xu ?Tü¿ôđoïªôJúưu×e©ê +îhÿóóë/æºă½âááÏàÁá›â₫å=êCñ ö¶$I/.µ(¹Èy YBúẹ ïÂđ/øgÿnÓ̃K K J Ơ :ˆüơ+íå¨á·à…âˆäÍå—å–æé+ñù« H*%/7*›#z‡Ñ-ú,̣đôÏùôŸÍ¹Ü ¸ J l'Çüü₫V¶û¸ñ\êùæuçÙæå\ăYăsåơéôífóø \",.ƒ0û'ÎïÎ’ èoồï ó8ü°5| l ½ Œ‘û̀÷Kú“JÿÎ÷Zñ±ïÎíééMă›à~ăúè£ê—êưê·̣ßü&h)Â+E)#¥̀%óà÷üó»ø€₫è¤ÿÇD Ü î¼ûûvû…ù]ùÁü˜.üÿÀö¼ïäé₫çhå[ăDäèÿè́(ïYö¶ü¦Z),7*Ơ"g0s¬rø3ø]üÅß– – ₫ûùXúúùVỡ÷à“Fh₫jômñḉÈæ ááöçWîÄêéWîöù³º ­#ă) +”&y«'ïú üưt†ôbZ G3ÿ…úwøơ÷GøÆơœưD¶₫üâơ ̣èé ăÓâ!å4ë¿í›é•êRómûÿ‡"!Æ.ó*³#0gTmø#ư@Üÿ¡L ±†ùøúLø­ơÍơŒ KêéûÇø̣rçdâ¦æ-éë%ë1êZîAơVùVưä­¤0'.""q@ ù́E₫²ü„Ơ†¯üö÷‡û@ú²óUóiú„©#ƒƒøæí¿æ—åé èéáîUñ+îñÇø÷lèˆ-́*%"íI¡#ûtư<X₫Ïûe†₫‹øŒûQú‘ô?ô`úIß,ÿóø ïFé#ç’ébéêâï¼ñ†îsñZøVÿNÿt ›,l,"µ"í!7 +üuư1ư:ù3đ₫ăùoưjûóWóùû1DT|“}øZđØëwérèè‹ê@ñự¤î·đÏø<ÿ ÿ~µ)¤-tÎ!)#̀´ \₫€₫…©üø{kÑư₫û"ÿ&üq̣môŒưç₫–ÿè₫ÊâøLñ7ïªệæoè-ëđ‰̣̀í ñ&ùƠư~ün,)C$¶$Ø@–ơ»ùEùI¦ÿG₫ÿHú&̣«÷₫vûâ₫?E¢ÿzụ̀đRé…æÍé²êíRñÙ́óµøư‰ûư/cở'‚!Ά²÷,ÁưÔÉưëơyơFü<ûĐú₫Æ÷₫7÷¯óÉí^ç5èGé|è´îpí‰îaôơùÙüRí&¤$“'1&n AîÔËùÂÿV₫¹zY₫,ù©ö ǘù™øU¶Wÿü ÷]đ—êÀéŒéâäíêÎî:êÔï™ơ—üxû÷b%éü&'eGX c úú́5ÿg?1ÿæú‰øơü¡ù·÷ŒưY/ˆ₫Vưü™ó™́²́…ëÅåkæÙîÅé‡ëñïÜúSøÍ$™k#'h¦Î œ ÿb₫Ñ»¬₫çË¥ưHú—₫dü7ùưE„Ù₫₫<üv÷\đàî-íƒè%æǺÚéÀé†́Yơ!ö1p¶fâ$?"÷ij`­₫¦ø¡₫;₫¶ÿPÿ«ûe₫¬ü&ư^éÿ$ü‰úÿù2óËïNï#íế—íYí¯ï)̣”ø†ú ,‚¨ÉÈÁ UûØË₫Ôưüü%ü€üSü ư_₫ÿyÿÇÿ½ÿ¦ÿ ₫`ựüĐüÖûôúú]ù¬÷èơ:ô¯̣†ññỤ̂àô”÷ưûDñ ¸ S—ÜŸR ü —k¦ñÿFÿ¸₫Â₫ÿÿËÿ.¦Â@Đÿ̀ưÜûù0ö ô®ñ;ï$í9́(́è́(ï…ó´ø6ưd“” È";¦î7JƯ ƠÛæzÿ¾₫#₫#₫§₫qÿ—vólÿLưúù÷Qơ“̣đÙí4́zë¯ë2í×ïvó1øFưÈNz Á Ă£›ũÅY e qĐĂƠÿc₫ÑưØư|₫eÿ7¶ÜJÆ₫ư₫ú>ø}ơ óùđÚîjíítíºîDñGô×÷·ûåÿag ß ”²Í›Ël‡ O àĨÆ₫Öưhưfư·ư₫P₫b₫₫ ư–ûđùå÷ĐơĂọ́öđmđœđ—ñ;óơw÷Èù:üÿÆbÜ ú - ó „È· Ø 0 0 ø¡}ÿ₫Gựüưưưúü‘üÍûÊú}ù!øæöÆơèô}ôkôÊôcơCö~÷1ùîúÄü₫O(ªsæ ( < ß <  i r a±!®jYxÿß₫>₫¿ư…ư(ưÅü\üÓû'ûpú»ùùø@øøøIø¥ø4ùîùÊúäûÊü¼ưê₫́ÿÇƠØâƯ¸n₫r¹À–GºC‡—Äđ8wÿƯ₫Q₫íưˆư8ươüœüMüüƯû¥ûû†û û”ûûåû3üTüü!ư§ư;₫Đ₫ÿV·[çnÅåÿ! ¼$© xø£9ôÿªÿWÿ1ÿ=ÿNÿ=ÿ<ÿJÿGÿÿÿ ÿæ₫Å₫₫–₫²₫­₫µ₫à₫ÿ?ÿpÿ¨ÿöÿ#/‰14($!¯PÉÿdÿ!ÿÿé₫•₫^₫s₫S₫B₫Ÿ₫Fÿ‹ÿ¶ÿ&´́G^rÉ›tT[êÇͰÜë;?UGtUÈÿÿ&₫£ưÉư₫­ưàư{ưùưØư¨₫F₫Í₫p₫ü₫Ă₫JÿgÿÿøÿÁ₫ÿWÆÿî»ûÿ™,₫#,̀,üÇwûî.ûÅZÿá₫‹₫¢₫¤‰ÿ†y₫KOưv³ün-ư7 ưëưÁư+₫8ÿ û1Ëø̉ú›Œ₫z[₫ÙÿØbÎÿö¨ÿn?ÿ×₫:ÿH₫¤cûƠüwFÿiÿú>ưI‘÷ °ö¼ •û\ûÿfúXBödøưÆù¾úúLpưÿÿØÿ•₫T̉üÔû?EüË4₫GÎ₫_gÁè=ú₫øû‘üiÿÿÿöûp™̣/ Mö^ïư»4ơz/ö6 ©öä ăô» %ø Hû†ñ¤₫æưèƯúMù¦gùÄẶ€ ]ú†₫û6?Âÿ‹ú¢ WöÜÔûá9ư&€ùÎ ?öàúUÚưnm]ûe öePùä6úÂbøør&ơ ›úwâ÷Ó FøG÷ éû3üƒ ®íSñY!ùŒ :ư\đöí‰Æđ6oûêÿzù` #ø₫`ùs‘ Pự3‚Åÿwû́ „ükû3ú»‹ü ü>ơ~₫OûUị̂&¨ûHư5üÑ÷Ÿÿ üÿư@÷FzÍÿÎùl_+¯  rÇ | * i è !oùTú¾ú øHó„đ ø†öơôđûúü­ùœö€úĐèø©ư¸ûï«₫2 X₫¯ ºä ḉ Ζ M8ÿ+₫¯÷;ø_øÈơṆ̃wô÷¼ö¼÷‘öÀø*ưÄúRôdúB₫“÷èơQûÿư…û#ưLÿ%à41h'ß¾í`d \¸¨₫¤÷øÉơ’đÿïóó×ó•ô>øzûưeưâû¯ư.û?ù§÷Îơô'ôÂơÍ÷5ùgû–₫™FÓÇ#r ;œp« Hû÷TóBîdëêaïHïđbơñù²ưÑư.®¨üúQøV÷¼ñ ï¨ñ>óô2ơ½ú­éJÙœ!¦*)V_gæuøẸ̈úîé#ä³çöéî“đ½öưø9R*{ưù¿ơẓïÍë4êëí"̣Ạ̈u÷ÆÿÓ¾’~$D.1%‡§R?ô“ë…êæà̃éß̉ç)îñ»÷ Ä › { DÍèù³óđ½íăéqäzå—́đ{̣ÿøö ă!#"%ú-Đ40‰"Ø@¤ ¤ú"ê1æQå àÛà¨éŸđö±ư‹ ‘×Éu 1 ùBđX́”éoäá‹â$èỨọ̈Åù 0$œ&(w17¢2t%h(` „øsç+â£áüÜÀØWÜ-åLïK÷Ÿưü ¾5»¸™¸ë₫—óß́è0å²ßr̃âç³íĐóª₫ŒF&{%;/Û564.‚!̀Ä ›"îZä²àmÜÙƠØ Ư¿æñü÷¶Ÿj…5µ ‚ÿ-ơ³î¢æxâràß/àå¿́Qô½ưnÆ I#-­0q1₫+Ú"B1ä‰óêé«ăgßÛ‘ÛÖÜ×å¤́ˆóóư wU6ç$—¬ÿÎ÷xî^çălâ•ánä;èïÛör₫̉ fƒ"?'„'o$c̣`aû)̣Öí$ècå•áăĂḉ)đ ø%Z×~ » ù”̉ụ̀üíǻ½́{ë×́0đ̣óö₫ḱ }ạ̊åi #ÿ·ú‘÷ûóÔïï¡ïiđẸ¨ơ{ùm₫µơ» g çñẠ̈₫¯ü€ûúß÷ØöaöGö<÷,øZûü₫A¼Ú¼+ äucƒt4c\ÿ³₫÷ưGư@ưËưº₫iÿưÿчœÜÊ\ÔR@ÿ ₫ưœûQúùđ÷ ÷€ö6öçöÓ÷Đøbúgü„₫³ß©= ă * È ÿËZáù:#´ÿEÿû₫¸₫f₫ ₫óưưEư!ưŸüü“ûđú7ú£ùêøø`ø0øQøĐøµù»úñû8ưö₫â¾`Û]{. |  a ́+!&̣ǶĐÿ ÿV₫ïư‚ưcưVư)ư#ưưưư&ưưǜü¨üpüüˆûûÅúúAúú9ú¿úƒû;ü)ư„₫²e÷y¾ˆơ  å ̀d)ùø"tÿÿÿ ÿû₫4ÿ„ÿÍÿ åÿ›ÿ>ÿ™₫Èưâụ̈û$ûúÛù^ù ù$ùnùçù~úBûPüư¹₫ÏÿÚá₫ơÙơç©e2µ;Đo- °S°Ixÿ¤₫₫Jư“üüăû×û½ûÈûËûêûüü2üüüüü$üü/üŸü<ư₫Å₫ÿÔ#KID-Ü4Á\¸ñ÷ >©!¨S%äÿ¢ÿQÿ,ÿç₫w₫₫ư.ưÛü{üü·û˜ûû¢û›û¦ûÑûIü›üåüưWư7₫̉₫(ÿlÿäö€ä‡LöOƒi’JÆg÷ï%@¹`ÿŸ₫ØưJưZưBư´üeưÛü€ư‹ư₫oưíÿơÜüHû_ùèù:ú@øƯ÷øFùüÛüBưç₫ˆ7Ñ•3å ù ¦ 4 G ‡,¨×wÿÿQÿæÿ2₫Zưxü"ưóü™û;ưE £ Û™0ü\ù„úø¯ôđIđyđñïBñˆñQù¾ù †I×¹ Î2M6ï­ùKôJî¼ê[ååâÎèï—̣©ùbQ 'Ø€º5´ưḤöçÑá³Ü:Û•ÛƯ„à,æà́«ôN₫©>ú/¹/h2970†! øÄúbçơÖöÓỬ¦Ö#Ù*ÜÆé&₫”±0#ˆ+̃+#íØ1 ñăRÙ]Ơ—ÑËÎeÔÜ6ànæñưt ³±#V:.?j;£:x7%/e )7öhïÄă˜ÓờjÎÛƠgßÈä½í3têy!8%$./&û*ûÓ™̃ŸÑËẺ)Ù₫Ø`Û4äºîâù:ƒBÛ. =`<]9 7ÿ2×+Ö₫Kóḉ%á¤ƠTÏRÑ¡Üæúé óî$ñ@%h,˰ •ú†đ`èµƯĐçÍÚKâ_à”ß2æoô  j£-̉99Î1œ+¤)¹&‚ÿ#̣Á́ưç„á₫×CƠăƯƠèœïƠôüïXˆ#Ë%ó¾®#úêí»å`̃Û±̃âÉănåÍç¿í*øŒâđ&"+,Đ/+&o#Y MÄ =ü;ó½íyéÇâk̃̃mâKébñyøLz ‹Î >¤ åúÍôë_å<åè êÉédééë‘ñ\ù/ÿØï\ wo!&Ñ%:!oÓK2́ûƯóNïíéÔå~ăeă>æỚËô : 4~Vµ UÓåưc÷Ôó‹ñqñüđ¤ï»ïđṇ̃rö²ù–ưÿ B́€́EË"Rÿ ø^ñ°́ê¾èè]êî’÷?|¹ áhaÿñûvùÁøÁøe÷kơHô•ó„ó ơöúø=ûüÁÿ Œ ’PÂpí'C¢ù‚óñ§ïàî‡î?ïhó~ú§XKÀUƯơ [ÿđư ưúøù"ù‡öơÄô™ô¤ơ”÷@ø™ø¶û!ÿĐ fa¯úV%₫ ¹gÿÔúƒ÷>öaô„̣Öñ“óW÷ûÿúmơ[TbyÉc₫ÜüûÉøi÷¿ơSô@óLó¢óUơßö:øú°ưÊ] ÛâÙÏ:nÔ?K @NÿÂüû–ùZø4øÎ÷ƯøMú¥ư¬ÿ^ßRwq±d®ÿ[ưñú£ù¡÷böµô¹ô]ôüó¬ôơ©öƯø3ûƠư₫EÜ´ = TƯ ®  b i æé* ÿ?₫®ưwưư!ư“ưt₫ ÿ¾6CÅpqÿ‡₫Éưoư!ü³úú"øn÷˜ööhơ}öu÷÷~ùNûÁü¯₫£.˜ ÊB‚'̃j± 4ưˆL=0 eĺ`ưÿíÿ³₫G₫ªư^ü´ûƯúÔú÷ùÁùÇù?ùVù]ù×ùKûü³ü¤üXư¥₫ü₫ ÿéÿóÿlÿÑÿ₫yëZºCẲcÍí©Äœ "¸èfxÿO₫{ưưưKühü¤ü/üTüˆü-ưïü³üêưlưưĐüîüư¼üư!ư·ü&üyü“üyưíưµ₫”ÿ’ÿLÁholË ÀüæXF—jô‘;zÿoÿå₫u₫Û₫×₫Ï₫ùưñưêưưư)ưKưíü¾üŸü·üüXü.ư^ü³üGư)ư†ư«ư₫b₫à₫Dÿđÿ¶ß'A„0C9„ÆûrÚXÂ[‡SƠĐÿ`ỵ̈₫¦₫Z₫Úưư¨ư“ư™ưư ưºưÄüVüVü"üMü!ü™üzüMǘüùüGưâưæư•₫"ÿ—ÿ´ùy#ß%‚¿™­@¿…âf8H+^+]ÿï₫ ₫ơưuưGưCưü˜üüÙûPüXüDüăûSü¦ü´ü*ưÑư:₫Đ₫-ÿâ₫¯ÿ‰*’\qưÇ7¨#bœư9?c@EXÿœ₫>₫öư~ư:ư#ư$ư#ưưhư8ưLư%ư?ư÷ü‡ưiư›ư%₫hưb₫7₫°₫́₫«₫ ÿÿƒÿ{ÿ&÷¶,œ̃Êêññû̉s)¡\ø•¦@ ÿÿjÿ:ÿö₫kÿ­₫a¯₫üÄüÙû¹üü©ưÀư‚ưŒưTưºưåư ₫Đưđư‘₫+₫‘₫Hÿzÿ¶ÿÿÿ0¬x1×w Ư±×+§/0ÓƒÀV¶ÿÅÿXÿÿ»ÿOÿ†₫ÿ(ÿ́₫ ₫›₫âư₫₫₫@₫îünưTüºü?üúûåûçû–ü{üưkư)₫Wÿ?v¥·D£x :ôI7üÿ›₫Eÿp₫\Äÿ2Lû¹ºë]Éa(-₫7úAøoơøÆø°ùrùj÷î÷ưøù©ûlüÆ₫dz & › { 3´Ú´̀à₫ưÂúúæùđûưoÿrG̉­!ÁÔ‹Ïüzú^øæöÈöơô­óGñđŸï‡đnóÂ÷±úzG ´#&̉'—L‚ù ̣´̣ª̣hôơRñ†ñ́ïÿó9úú̃ Ov× ; v´ ư4ó¥ëæOç´éưíNñơđeđ‘îqïôúzîs'P9Ñ;"9…*\Kÿ~íFăá°äöåáë<éiëxí¶óÿ¨ ự×  ÿÀûYú1₫Ôû¯ûḌêèÈẩâ¶å4ísđhóẸ̈cñƯó:ø, ü.CƯIºC2MÊúûäDÙu×XƯ«áè6éêïôơ´_ö$ƒ"´R¹÷Qï¹đ¿ö½7•üÄđ_æ~á™áôæsíbñƯóṆ̃ óËơ©uÆ, EÓOÙK9 ûÔáƒƠ¾ÓíÛYâêBëqëvï!ö®#"ß&y"q”ñè€ẹ́ÙÿY -/ Z%̣æ̃ăƯâéÛïỤ̂‚ójôÿö¨¶æ/êIQR·K%6êOó¥Ú§Đ7̉¢ƯåÅíî îẠ́rúy Ü%²%@q OùÍêƯå̉ëIơömXÛlù·íEăôƯ)ßKáœè³íOñêôÁø₫<Ê% <ĂO{LSAÉ"ëåÎÓÂÏ#ØâĂé:ñsîJóÙø£+Ë#j€üBđèćơ<ÿ5 Iô7 †%øjï^å àö̃àçíó9ø1ư%h8ÄKvḤ=d!`ÙåkƠúÑåÙºä•ê·ñèî½̣aù$û*GƒÀ áú*̣íüñgû–P  ¶ Peû.ó…́°çjăÍă¯ăMè/́¡̣~øêÿWy›+Ä<ĂH'A%3ÚúXăÓØE×ß5æê¬î®í®ô¢ư£ iôăH÷(ôDóñùp½® çUưÄøøđà́lç åÅä6æêæî‹ơ)û20˜"D1ƯBD9 %¶Qđ˜ßPÜƯæeçúê«ë™îÑø̃i‘ææ#Dû8öøû•Ǹ¹üÀù>÷„̣®îÙçTåäSçǺ̉óúÅø“(À7œD>€/ÓûçÆàß—äáèŒçæèêó^ÿ$ß̀Sü_₫;ù’û!@Nÿ´û’úpùơù#÷̣$ëĐæuă8æEëq̣&ù¡ÿk A$ë2ÍAL>q0-dZí2ç̉ågæ*è/ä^äNç]óúÿ… Ă;ÿÂÿĂLó”₫áúùû*ưÇưúñôïîèdèÂèÚëîJ̣ăôÉûCíº&n4ô=Ơ7Ù(÷ơZñ%́îædâ­ßŸầêWùM˜ g u Ç:½ -ûö₫üưÀư¬ÿü€øéó¨ñđxđµîÑëê„ềđøRuQ*$E0&73ˆ%á1…÷̣ñëkçâÿá¾ăníÆø¨Ûɲ¥ w è nozưÄüùûûüù<öô3óÖóf̣`ñFí0ë0́„ñ÷Ăư÷L· M-4Û/$}Ö cû¼ñeèŸàÚà'å|í«ơXú₫½& w%w ½Á aÿßûöỵ̣̈qóNơợïÀí3ïUó–÷_úû3%u% .1,5#đ̃íú{í́ä å‚éơëñíéîzó¤ûœø , = F  ‡Ôÿ%úơGónó¶̣Ûđ>ḯîÿïẓÔóKơàö©ù£ư9 ßT#ë%%#Û;g(É/ù’ñùííˆêçêÆï ÷Fưâ‹= ÔD°‘ 2/₫Xû&÷²̣ïúá́«îî î ñơKú‚ư‡₫ G(" $¿!0L¤úaö¸̣9đ¡êç ệ[ö)ùµüN© &̉ o 2lüˆơ8đđîñ́)ëåéWê»́ḅ<ö§ù&ü$ ” ç q!™"Đ!¢óÿ²üëóŔGèéË́öïHđÊóƒü´åS s Ơ ® Ÿ“ŸưÊùÏóEîÆé1è¦é©êÿéîËóø¯ûV èúơ!'‚&€#Ư@u Qüú)îhêè̀çMèêÚítö₫÷z]·á ké7½÷đẮ鏿(æYæê˜îß̣ơ4ư+ß{'Ơ,¢'²"¬Óó «ñ¼íhëOäÂá÷äêúî¡ơëú-· ›ôÑöß d­ưjöBđ©éåRånäÎåè=îcñ­<)Ưç+|-Æ'Œ&ÓÆ] L“ö́đè©á¢àyă‰åàéMñaù"fgü#©Ơ `D ÷̀ñđë·ç„ää#äèiêø ̃ /Ó&0-}(Â*×' Ü ¹ÿr÷ íoăÜá˜à9ạ̀ă®êđñ=úÀ$ Ä‘)Să ˜ üÜö§đ~ê$æöåÑäiæ&è}ömíđ$¦(t'Ú-)ơ!“1Ëûñúçˆă¥ßÁß̃àüå4í2ô¦ûJ² w Üû× wñÿ̉ùæó‚î¦éèßå†ç éĐơèZûF#ê$/&ƒ.n)́!ûỊ̈¡₫¶ôÑë*å|á*á7áùăªêñS÷̣₫Í µ é  ÖµèûJơ)đxíœêéUêVíû† Ë Ó…&,½%!?7g§ÿv÷êíêåDäTăæà{äV́Èïhơg₫´X‚ Ô ä©ÿ½û÷+đ0ï0íæê·́3̣<üux ÍÈCÂ$6'Ÿ!øu” l^ùøđƒêÅç(æ¤äÜǽ8đ$ôXüÙÿQÄr³ûÿíü₫øzó"̣¿ï]ïÜîßóÂø¾É´eßG¦Ư ºƠ 7'₫ºø¹ñª́€́ùêÛêùëỤ́öô!ù[üX}‰á˜|ư₫Ïúœú£öôIơ8ơºô¬ö"ưsư—p₫ oEôGÛ'± «x6ûaøàơơ2ôÊôéô ùAø ư>ưåưĂÄT₫™æưü«üÅúÎúmú\øüJùY₫zúè™₫Œê„ó–$ +Í 0R U4"‚ ₫ƒÿlü5ÿ"üƯÿsútÿÈưÅưQÿüZûVGûátüü´ưíư7ư]ø&ÿ.úíüđ÷·₫(ưäüÁüZ´rûµ­»Ï:\;t®1‰Éÿ PÚ×₫®×ÿçÿwư*ÿưSûyư ûû“ùíùAûmúóû¡û@ưâưD₫÷₫CÚŒÿ+°à§̀₫Σlj“Ü !=‰–üQÿ£₫¯₫Gù}₫ßûjÿơø₫ ₫ßưpưËưYØüˆ¸û#ÁưäßưEχÿà₫ôÿÎÇ₫'ûMZĂÍ[n§7ÿwÆưCl₫V§₫æüEÿ̉₫K₫ÂưÂÿ̃ÿÿ×bÿÊÿ“Ñ^₫V>ÿkÿÂǘl₫äÿÿ̀₫ΟQ‘JÏÿ´ ÿßÿ“¬ÿG₫₫B₫üœôü`₫'Îÿđ₫^ÿÓeÿnRˆ_ÿ₫ëÿưÿ}ÿ₫vYÿô#ÿưÿ'BBL‡₫cÿ´Èư°ÿÿ!₫ÿç₫“ÿ…₫₫±e₫±¡₫Ùÿ 1ÂÿKörœÿÛÿ‹Qÿ‡ÿxÿD‰ÿ;]¼´(Hûÿ Èÿ Ñÿ]G ÿTÿ̃ÿÏÿaÿÿÿÀí₫À¿¹₫̣₫kÿï₫yÿe₫>₫ßÿ ÿEÿÿ#e·I?SS  ÂÿÎÿ—ÿ’₫|ÿ ÿøÁîy¤ºœ4¤ÿ?ÿÿ½₫₫;₫(₫Ăÿ9₫K₫Zÿ¢%ƒÔUYïăñÿ´₫ÆÿJÿ‘₫™ÿpÿ:ÿÊÿld«.BI&®ÿºÿÿ₫íÿÿ ÿ₫’ÿ·₫;\3A£Àÿ¨3ĐÿÅÿMÿxÿBÿ.ÿBÿ^˜ÿÈ# ß¹Ivÿ¸ÿàÿÿ-ÿøÿ‹₫…ÿ̀ưÆưÚé₫”—™ÿ ³ (ÿgBÿ~0¢ÿNÿÿ&ÿàYÿ§lÿ÷ÿ÷‹ÿßÍÿƒYÿ±´ÿ¿ÿr₫JƯ₫:₫1LÿÚÿí₫‘:À₫ +ANÿœÿĐh$]ư N’ÿ¹ưÜ₫?„₫¿3ÿårÿd₫ÿºÿßÅüÿWæÿ›üÔÿ‡¿ÿ¸ÿ¥ú†u¶₫Gưmø₫B¢]₫güĐ ₫Đÿ¾₫¼ưvưªü₫ÿ×üß₫₫Ö‰wØh°*ÿ›ưâû’û`úCú>ùïúëúûnüùư‘₫Xÿ^ÿÍÿÿÇ ÿFÿ“ÿ^ÿv»₫zo₫±Í´ÿ͔ԃÂ?–'̣M&‘áÿ<₫ñ₫₫r₫>₫RưÇ₫K₫₫u₫J₫ơ₫¼₫Œ₫ÿ¤₫Rÿ9ÿÿÿaÿ½ÿVÿüÿhL ¢(MXå–%ª¦^F(Èÿ̃ÿÖÿ¶ÿeÿ‡ÿŸÿ)ÿ₫bư₫₫₫`₫₫,ÿEÿwÿHÿcÿ´ÿ \©Öéà¶±äP±~1Øz8úY °ÿÿœ₫₫¡ưMư-ưưôüíüĂüư,ư„ưàưj₫ÿ¨ÿ+Á Wh¼Ăº¤¥|zdS/9ÇVÿÿÅÿ›ÿÿWÿMÿVÿrÿÿÇ₫₫k₫P₫W₫œ₫×₫#ÿpÿËÿ3|̀h¹Ï¯ˆ%矃O%("ÿÿ¾ÿœÿxÿ~ÿlÿBÿÿÛ₫¨₫u₫A₫1₫₫₫,₫X₫₫±₫é₫Pÿ¼ÿ4 |Đ ;‰ÄßÙåˤQÎH¦ yÿ¿₫₫/ưrüÂûXû́úyú<ú3úOúƒúơú‰û3üèüđư+ÿ¤/3/,%ƯO™¸°J›—JĂYè_ÿÎư&üụ́ø\÷üơÍôơófóEó‡óôÛôöí÷BúÆüaÿ¯iî  ˆ |ƠÎTx & «  ]­ôP©ÿqưÿûlúéøM÷’ơÉọ́đ^ïĐî”î×îƒï'ñô§÷pûÿ̉‘X ú úû2Ÿ•÷p Ø ƒU”ç₫XưçûúEù¶÷ÿơßó¸ñ³ïîí†́|ëôêöếïfóƯ÷+ü§5Ü ¥ö“̣Sô² ±BvΕÿư2ü(û9úÑø³öơó ñWîÎëöé_èzçVç‡èx́´ñ„÷uü6 j ó.IS@¾&%ÍGƒ ª3Økûâ AÅ…úNø\ơ$í¹çăăÀâwâTâï̃…̃)ànăèYư º²Á´l k¤ ®ÆàÔÿ]Î ~ l ’ ´ơ 3£Iÿl₫xüvôßđ†ëwè²ßÛÚ Û“Ư8ƯLá’æ ñX÷+_%r'×( 1*#¡¸\ÿ÷GU¿ ”·Ö Iú‰üqûÑø'÷Xúùưíöøñ8íṔ°ä?â÷̃?à åÿäÖè¬îÉúù¡‚.«#C)‰4‡+r–'Á¶²÷÷\®₫¢<Z¦ÿ÷ø~ø,ÿôOñù:₫Jû“ùÜù\û6ơë‹ëǵBéăé ́ÖîuíüöÊü i+T ́1è0Ăr*³Eø ùc’kö[´=ưüÍ₫2ùŸúœö“ơçûû¿ú_ÿ¸₫rü’ùYôẶ ñ́;íÀ́ ́éíÔîñKøÿú”₫í'–™./`§^˜y÷ÂúœÿGûöå? úhÿà‡ù‚û|úPú?ưüÿ¶Ø₫¤ü–úơôRđŸí€îX́Ëê^î î]đ ơ<û!ùö7"Zd*ù/”Đ3Ëù̃ú<ÿNûq÷§zbúÅcTû ưư…ûc₫hư.₫Pÿ ₫§úé÷́ó1̣æîIí½í´́¦ê½îVî!̣óûCø1Ç"Oˆ&ư.²îf ”>ư£ư¤£üúĐù%û3íËûlü:ü"û¬ưbüiüÛưËüÅ÷ö¥óÚï îxíhíxë́„ï…îÊñ¦ö9ü’÷“¡! ,(G.]ûá̉ ü ₫ÿ˜ûbûMơú̉½₫Aú¥úHúEûUưÀù̃ü ưÈøô÷ô†đ@đ¯íÏë­í—êîêîođơ7ûú1$´Ø6.z(rÚ­ ³ÆüSÈú̉ÿ“IüR₫́ÿúOúÜøàø•ưÿú+ùÓư-úc÷‰ôÍñđLî¦ëáí́Ḉ)đođơ ùàư™úGH"ŒP'n,ñ ù¡ D̃ư€¶ûöü#äüÑ₫ÜúúHøx÷‘üEüuø¨üPû®÷̣ôṭ.đˆïĺívíÀ́³ïÚïéơpø³ü>û¾<#p¸$¨,t) Ü Î"₫ÿưÔü¾ö ư<₫wùäù›ø*÷9ü¥ü+ùưƯú–økơüñ—đøï ́Ẃí îî(đlö-ø'üüü=!́„&v) -ă •;üÔÿNà₫ÿF[“û ÷ûøøđû"üwü$üù¸ù^ô3đ¦ï,ï€ëpëÅëăïîñöˆûïú¨!ú­U''%mW  o_û‹LÎÛĂÿëë<÷Gøêù&ùú÷ùÇüÿóù̉ø¨÷óïḉ«í́ÛéǻÚï¿ïÆơĐ÷ưÇǘU#@"Ë% "« Iä µ₫”Kî¼₫Ø«üèö¬ö+ø ü¥ùrù*₫“ưuùÏöẸ̣̀åísë́+ënëÈîÈîëô0÷üWü€ê"Ơe!‘$-" Y µÉZ²•₫ûÿqưMúơbó8ûZûIúXûƒüÈüøañëñêî°íºê,éíuïaị̂¥ösürư˜ô"‰$Ư"ü!² Øÿ P₫Öµ₫Kø«ûëöỊ́'÷üø₫cü¢ùªû øô®đ½ë›îÉë¬ếÄícñôÏơ ü-ü‚æ1!”'!k[) =ƒn”Ü?\ü•øùÊôÉöÉô‘ø¤ưÉû‡ü<øCöơXïÖíǵ\ëmíë‡ï đ…ô¦÷\üÊüá í !%¢)—æO‡¥₫Q\ ®Ü\cư™ø„̣_ơ~øâơàøú÷Jư™ư½÷ôđ̉đlï,ëëaëđ™ñañ ơĐö₫₫ă₫Ÿ¾ (p)0ø²µ¬₫å¤Ï œó­Ơ”₫±÷'ñ3ơ}ơyú ùø₫ûMúù\ñ¡íÑíÎíUîËëÚëị̈öøôïù ûFg~$©+_v±/“ 4œ|® È:“¬ÿ6ưïôÂóụ̈Vø±ûËùbú÷«øßô7ñîëë®íví îï¬ï#ó>ơù ụ̈₫( `,ô'3&bûJá ‘ `§iựüÎúŸ÷®ó%óøûSư£ù¡öƯọ́Lñ”îWíÇëaíOïáñ÷̣„ôötû¯ưj ”½&(+>›×¹o ~TV•9 ĂqưFû́ù6ú‰÷Zôèơ›øéưèübù˜óDđ±đođçï¼́7́¥í±ñtó¦ơ‹ô»ùTûQ]t#l+À +>ëß áûÀÊæÏ »~ÿÓûØø úQù¹ö×ö÷ünüÁûơ´đÑîï›đ{î}í́ị̈ºöö¾ø)ùƒ#-£#^ç« © ¾ú·ÿŒ»k ôb/üÁ÷çørù%ù÷¦ögù7û,ü™÷̣˜íǼïlïXï„́eî đÿơ<÷úœùÉ‹ó#/3&*˜  è ï¿©T‰ ơ v±ü÷÷§øú!ùM÷eøîøHûs÷’óêị́́́^î̉ïÜîKï—ïJóƠởúÉü§ JÍ&À,é%¡N ƒ ₫»8¤ƒb©=â'₫øçơ'ö´øgù˜ùüø₫ø̣øQöJó®îË́ëíŒíYïzïC̣Đó6ǿúùA+q'ó ¾u 3HIÜË€X”bƯû\ø%ö`÷<øùoùÈøù†öyô£đîŸ́́Úăíèî`̣oôt÷…ùÙ₫ß S¦*«)V#8Ç Ä%l} ä[ÜÏæ₫ ù#öÀơqø…ù²ú:ùpøeöôẠmïíqë́êGíïróuô÷Đ÷ùư$ ́±*©(À#xÍ ₫Ằ 06k«7€ÿ&úñơ‹öFøÓúDûËùVø»ơªộ'đí–ë,ë:íÙïặôơ‘ö÷ưƯ 6J*X)Q#¢ö ¤^ ëĈr‘†[úööø ûüµúÊøÙơJôîñBđxíúëëÿ́Qïạ̊ëóö:ö₫6 /*£)K$ Ưæûˆb¶Á°¦¬ûö¬ơà÷ûĂüûøøØơNô{̣bñiîálêÇë*î:̣ÔóÓơ½ơHưg Ó`*‹*%đÈ 0àúK³ÿ(+®ü—öö?øÑûVưü¹ù’ö2ơó¦ñBîÚëÎé/ë˜í§ṇ̃̀–ôKôÿû¾ ̉*+ &,g•³¿ëôưáa¢ûúü¿÷ÍöËø9üưüPúy÷Töôº̣^îÁë[èê)́ñ¸̣×óĐóvø&̀H*¿+œ(-pù ˆ‰»cÇû ₫-…^j₫·ø.÷Yù•üÿ{ưûøđö(ơxóÑï¢ëÛètè́7ïẬ¸ñ½̣"ôJlư$ë,â)![– © áíÿMûKû Z-(¼¼ú|øºùrü&ÿ ₫müù•÷ööó̃đ ́wééç¨ëNî“̣ṇ̃!̣[û¸ ÄÇ*B*¡%+9¼ á Àh—ürù>ưodsCüưø¡ùsüGÿÀÿYư›úh÷Löêó¿ñŸí¸ê|é\ëßîCñ±̣ñẶÍơj`"R(í&È hRư /¿ÿ§úPûU₫æïso₫ú0úûưư'ÿĐưdûøœơóËđîḰÓÉ́?đpñèóṇÊóơhưµ áÔ#È$$‰ˆ‚ ¥™₫èúÄüp₫đ”5₫üúŒû“üd₫~ư,û¦øơæóXñ̀đ̀îưíçí1ï̉ñÜókơăơ÷Cúm&yç!ư"—kå— ™¢¬ưüºü₫Ă₫Dưûçù¡ú¾ûŒưàüûœøöÄô·óậdñ´đÛïnñỤ̂%ơAö÷6øúE₫”LRk> ]3Đư9ư ü¨ûUúúuúûéûđû ûÄùÉ÷ö$ơóôaôiôô¼ó$ơ[öÁøÙø¦ùúĂü^ÿuH º®̀Ó#HƯ f MIÊÿµư!üºú©úHúÅú€ú]úúúùíøø÷ö3ö©ö‘÷¢øbøLù úPûëûaûëü|₫P`'[ 5/G  ª _₫Zÿưü¢ûéúâúBúàùáùù'ù¤ù`ù\ù˜ø¶ø!úûoûĐúü"ưlÿơư.ưQư₫rĂ¥›ơ{¬Y  ,  ²cÿ;Ÿ=ÿ₫¡ư₫<ửü-ûsúÖúØú=ü·ûAûSûÉûư"₫C₫ƒưNư‘ü¨ư±ÿ,ÿØÿàü8ừưP₫Q–E₫ã̉[€qàÓÄëđºN}ÿ"ÿk₫L₫₫&₫«₫ÿưT₫₫$ư?ư•ưÂüĂüüÑüZưd₫ÏưÍüküư)ư0ưËưƒ₫̀ÿZ½éÜ̃hó@°\Ñư²à§nvåÎÿ;ÿ°₫ùưưư7üºü£üơü₫û¶û€úBüàüÆư“ưLüáûØüD₫J₫₫ưưBÿV₫œcƠ–¢?‚™Æiṃ@×hƠY-ï_:ÿ ÿûü¶ưÎưÉü¨ư,ưwüíû¦ü~ưW₫3₫Åư“ư ÿ ₫aưW₫̃₫ÿç₫₫FÿÀ]<Äÿơ8âĐ'ë |QàG×Fç¿åỒÿ³ÿ)ÿÿ°³ÿÿ9ÿ(₫j₫₫‚ÿrÿơ₫9ư₫¸ÿÁÿS₫tư“₫Ă₫yÿ;ÛÿÁ₫&₫›/Û2Óÿ"ç7'₫³xÿjÁ/~¢ăñeiźw(ñ₫]ëÿâ₫Ï₫ª₫lÿ}êÿpÿÿ ”ÿH₫–ÿN₫ÿx₫)¤ÿHÿ…ÿƠ= ~"éÿ©‡ÿ8êÿ¯ÿym@¥ÿ®₫Ù3ÿïÿ—ÿcÿ"ÿÖÿz ¦Mb¯ó₫ßÿ@ÿjÿ1ÿÆ«ÿ¯ÿ₫ÿ­₫1÷ÿÉÿÆÿ́ÿ†ÿm*½êÿ…ÿ±ÿ̉ÿÊÿ†₫WÿÿKÿaÿ "ÿ„Ôÿ5ÿ>}ÿÆIÿ´ÿièÿ"ö₫êÓÑÿ¬ ÿû©ZÿÔâÿéÿ®›ÿ¯ˆ<₫–ÿDÇÿ₫ªÿ¶ÿ¢ÿuÿg2₫äÿ»ÿ”ŸÿŒÿäÿhéÿÿ ÿ$Ôÿ6Ø?ÿ@ưÿÖÿ.ZØ0΋i6ÿdÿăÿ£̃₫Êÿ™ÆÿÊÿEÿ|ëÿOÿ¼ÿÅÿ‰ÿD#ÿŒÿFAÀÿaÿÔÿâÿơÿfưÿÍÿÀ™×ÿpÿÆÿÄÿ„ÿÄÿ×ÿ¾ÿñèÿt]Pvÿ'±îÿÿLÿKÂÿ~ÿ©ỵ̈ÿ'oX©₫ÓÿNÔÿ:ÿÍÿÆÿ¤ÿ™ÿ®ÿ¨ÿ?̃ÿ©ÿ" 9{€ÿ4̃îÿ™ÿ̃ÿºAÿ£+åÿ8ÿ4^=9Ơÿ̉ÿ́ÿZˆÿ÷₫– jÿÈÿùÿ9uÿoÿi¥ÿơÿêG¦7ÿøÿ$M)/³ÿËï₫̣ÿŸ>#dÿ?ñÿÿÖÿăÿ~ŸÿÅÿäÿ·ÿ-*ÆÿÆÿ Ûÿ!8ÿA; ÿ{ÿÿ…vÿ·G…ÿ”âVoÿúÿÚÿW˜ÿ~Wÿ8ÿGÙÿeÿÿ–ÿ±̉₫îÿ?$¬ÿÿ4ˆÿÿêÿÿ̀ÿù?ê₫°ÿ±™ÿÜÿx:IÿƒÿÛÿÁÿ ÿIƠÿ¼‚ÿÂUÿ?!ÿkÿ‹ÿ±Ă₫ƒ}ÿ†ÿ&.”ÿ[ÿ\ç<–₫­_ÿ<RÓÿ_vÿ´´ÿhÿØÿ5A”ÿÿYcI·ÿÿ₫ÿ°0Ơ₫£₫KÖ‚ÿă₫¬ÿ0¾ÿKÿƯ\æ₫kÿGÿ„ÿ­ÿzaÿˆXÿàáÿ*ÿCÜ~đÿÄÿØÿ<ÿw₫‰ÿĂ?ÿ|ÿ 2k₫'₫´ÿN_ÿ₫Ï₫%>₫9×™;ÿFÿ©á*ƒÿp3°ÿ¢ưhG…ÿ5ÿgEƠÿ«ÿÿCŒÅñ₫zÿ4ûÿ5₫̉₫gYFä₫'g/ƒÿÿ^đôuÿ\E`Àÿ†ÿÿgÿM½ÿÿ–ÿ:p§¬ÿ!øÿ—ÿáÿZÿ·ÿ'ÿƒÿL7ÿ~ÿdÿ8Đÿ¸₫sÿ¿©}ÿGÿÙÇ;¢ÿ"Áÿ|ÿ¶ÿXÀÿFÿéÿØÿ¤_ÿV{¢ĂÿÔ•³ÿ₫ÿÏÿ—ÿƠ₫UÿMÿƯ₫JÿĂ₫‹ÿ1Âÿ“ ¶ÿÿ”ÿuÿ)`á~xÿ?.bàF%póB9¹£ÿ'ÿÿtÿ^ÿ ₫O₫¿₫+₫₫àü₫8₫\ưÚüư₫ư¨ư±₫¯‹8~¹H:{h Ơ k ³d^Nưøú¸ùà÷öơîôơxó,óZơØơUơîô@÷¤úËû ư ÿ„² y´ç‘W =̃› UTÿ¡úMö½óẹ́ñ¢ñ³̣˜óUơïơ}øNú‰ù;ùïöëöJö•óŒ̣ˆñ{ójö1øâ₫Ø ̃ܨó#Æ'é#9· k¿úEñù́uêÀé1è‘́Só¬øËü3v¾J:₫˜úöœïÙ́ ́¯êëDë/ñYö'ÿ¨ñƠ#\*,,b.¯%£#Çêü.ñ’èÄç$åçCéOîç÷ÑüƠ’ ñ Ÿ(·ü÷̣ï´êbèüæäægèëÓđØôr°†›& ,/#1À"Œ0œ¾ù³ë¬æ‘çäălæ¹èñøùIûµc ÿ-  ]Éù ó®đ¡êbäĂåæéèé=îÎöGN‡c&ă-÷.ơ/¢"¿[×JøQ́ùåGæâcå™é'đRùŒûÛU ½8¤  Ê ¯₫™ö¸óBîDé™èdæ4èîè‡ë ̣tö ư=Áw$c+â+1ù"b´£&ùfëüăQæ×áIă±ç1ï<ú,üB ¼¾Ơ ºÿºø¶ơăđµê.ëè7èÍé\êµđbó øE₫.æû æ(;+N.Ë pkܯöÄêÏăiæQâ/â éGñßúFưO±“Ø™èÊOÿ¸úÄöñŔkíî́ê¶ê©ícñṆ̃•ôÙù“FPu'0'Ä)Ú¹¿ cÿ3ö{ë‚æQè@âWạ̊́¥úÅülYëdá$̃k£ưŸøç̣¶î±đ°îỨëê„í̃ï đ»đ6÷¦øNA€b";# (ü%b¸Ú ]ÿœörê¸é8ç‚ăBèëơ ùs₫à -g â­ ×9BüÔ÷\đ×îÎî́ëéÔídîVî1ñ÷fù"`8ö"$€)“'‹çù ¬D÷Uë£é́çùăƠç%ëmô)ù5ưz3 ƒü—k 5ü{÷³đ,î́í£ësêGéŸíßî¾î ̣2÷Iü¦₫æ/JÜ#“$è)8£-±:₫<̣³êŇçÜç™éMïø)ùưÿ/h E¦C­®³ư¹ùtô₫îîííđësë-íđ&đ’ñ±ô]ú[ücô^½—"P%Ç'J»µ\h₫ûñ‡îpí”èÖèÍé*ñ’ơ÷>ÿd H … v6 c¯Lưñúô¦đï)ị́́ź(îíđđ¢óÅöçû₫ä¢5S "6%*%Đ e çÿư„̣đ¾íMê·ẹ́é2ñYôĂö̃ưäß   ̉ J”üûø;óđ;î̉î₫ï®îñọ̈8ôÑöù₫ó a#P m#|ψ 9œüœộ­î'́Ÿê&́ƒñÖó›÷øür “ă^ bcB₫®ûzøëó±ñqđLññZđ ̣ÖóĐơ÷÷uûÙÿ3‘×I~#é ^̃9ƒ µÁülö‚ó#đÂí&́»î‚̣Ñô¬÷AüXÄù Üüæùk÷ô ̣Q̣G̣1ọ́̉ô÷pø-û%₫a ¦$æ«Y¨‹ `‡úÔö~ô ̣̃đ]ñªóö)÷ûÇ₫«a±‡IŒưüúMøØ÷…ơ°ôÅôöÅ÷́ö̃ø û«ü₫”ÿCÈA P:ơÇơ[jù Eí₫ û@ù÷ợöóơôôáơè÷Üú[ûûFüÙü¾üûúơû û́úxú´úüüáüËưú₫+]½[Ï _ sÈ‹.­ Ø w„(ÿMüXù¶öLô ó­óäó›ôóơÍ÷ù’úeûư¸₫†₫ÿ ÿÿeÿ•₫!₫ç₫]ÿÙÿĐÿ úaôj<›ú¥ÀäüƠwœa3~QÿCưïûÇù2ùơøí÷¸ø®øJúÙú—û1ü₫Ÿ₫–ÿ8ÿ¾ÿ́öÿî₫5@ÑÿJˆæNÀÖùt-íĂ¼©[MQ;ÎY+ÿ’ưl₫”ưÑü²ü«ü’ưËưQư—ưïü*ÿđư₫Ăưl₫›₫£ư¿₫$ÿ…ÿÿÿ{ÿm~ÿ¾‚FVlKä0•½̃Á”aQE„9wÿ₫Iÿ¬₫D₫ûưÚư"₫—₫K₫6₫8₫/₫Qÿ0₫Í₫R₫Bÿ;ÿµ₫•₫₫ÿ₫°₫Jÿ&ÿs8à(¿E$ L%~Iï« Øÿ+_ÿ‘ÿÿ|₫yÿÊÿ–₫hÿBÿƒÿÎ₫ñÿßëÿ©₫Mÿ“ÿ2₫ ÿ¬₫ÿÿ₫ ₫7FÿËÿZÿ  nÂwỀ˜ÿäÿƒÿ¾ÿëÿÉ₫TµÿDŒÿó₫)jiÿä₫ÔW«ÿ"ÿ|X¬}ÿLn}=₫˜ÿY=6ÿ¼ÿ®*ŸC³¶qÿØÿöÿÿ»ÿ₫ÿà₫}₫H₫íÿ35ÿ/ÿ†ÿ! ø₫îÿJ€ÿÿöCÔ₫Çÿ8vªÿ;ÿkAlÿ¿½î0áÚöRMâÜÿ5ÿ¯ùÿ̉ÿù₫‹ƒÿ 3ÿ·ÿYÿIÿ›ÿ7ÿh(ÿ̃₫©ÿ€ÿlÿÿ7IyÿYÿëÿŒÿ”úÿêÿJE«ÿ±a†a¾Æÿeÿ´oÿ†e-C>ôÿ®ÿÎÿ‰ÿCÿ₫§ÿ)"ÿ̃₫eÿV Ư₫jÿÉÿưÿ]ÿ¯+n̉ÿ¾ÿ đÿ1.Ïÿ5·ÜÿkƯ Ëÿ+g|¸£=ÿ–ÿÿdÿzÿö₫©₫¦ÿ¹ÿÿdÿ¥ÿêÿ˜ÿơÿV m"ÿ›ÿqÿcÿPÂÿ’ơÿV¯_%ñÿ(( Œ‡­Àâÿ̀ÿß₫l₫vÿ’ÿ5₫¡₫‚ÿàÿNÎÿcÿÊÿ`dÖÿ‚ºÓÿQÿu¬₫ûÿEÑÿ¦ÿ"J ¬oD¡̉êÿÓäÿ-4²ÿèÿ]₫sYÿ ÿ!ÿ»ÿVÿ‹ÿ>ËÿÛ₫0\LƒÿºxÖÿ₫ÿ‘ÿà3“ÿĐÿB/:2ÿ('`kêÿ›éN+ÿăÿML7ÿ7ÿWN“ÿäÿ©éSÿ"ÿ”ÿFÿa₫¶ÿgÿ¿0Aÿ"„ªøÿ] %U4Xÿâÿçÿÿ‰ÿªÿ Oÿ$<Ơ€¢0Jù‚ÿ¦ÿ¥ÿ‹ƒÿ-ÿ²ÿÊÿÿ ÿÂÿ3î₫óÿAœzÿ¥̃.{4́ÿ½ÿ ¬ÿÑÿCöÿ3j®]K6wÿ#mÿ ÿPÿ£ÿÿ₫ÿÿÿ1¤ÿûÿ1zûÿQÏ— `IÜÿ><¥ÿ3äÿùÿW+VY¬Ăÿ—Aëÿôÿ¿ÿúÿ$ÿÔÿ·ÿÿEfÿyÿ…ÿßÿ«ÿÿnT:ÅÿweCHñÿ '5•ÿ<ưÿ×ÿêÿƯÿơÿh&Œ0lCưÿÖÿöÿÿ¾ÿlÿÄÿ¦ÿXÿëÿØÿ´ÿíÿæÿ‰±ÿÂ$09äÿÑÿPÿÊÿúÿÚÿD»ÿgîÿ4# ÎÿŒÿ pÿœÿæÿ§ÿ¢ÿ ̉ÿïÿïÿ%-%73F9.#öÿÉÿE»ÿÔÿßÿ5ÍÿT øÿ `èÿ8Ñÿÿ(qÿÅÿÀÿµÿÙÿ̉ÿ́ÿîÿ6ßÿ=ëÿ[Áÿb0-,øÿ4»ÿ+Ùÿ'ßÿéÿïÿÊÿ;âÿ>îÿ"!üÿ+êÿ ïÿøÿ̃ÿÜÿÛÿáÿßÿĐÿêÿëÿăÿèÿ ₫ÿ$₫ỵ̈ÿëÿøÿôÿưÿùÿøÿöÿñÿ,́ÿ&ûÿ ÿÿ÷ÿ́ÿøÿßÿúÿ̉ÿøÿÑÿûÿíÿøÿøÿ & # ưÿôÿ đÿưÿđÿñÿ÷ÿÿÿøÿÿÿ₫ÿ üÿÿÿûÿôỵ̈ÿñÿæÿêÿæÿïÿéÿøÿøÿ  úÿưÿúỵ̈ÿôÿøỵ̈ÿôÿøÿüÿ ûÿüÿøÿơỵ̈ÿóÿơÿñÿ÷ÿùÿøÿùÿ₫ÿ ₫ÿưÿûÿ÷ÿ÷ÿưÿüÿøÿûÿúÿ ₫ÿûỵ̈ÿơÿđÿñỵ̈ÿïÿùÿÿÿ ûÿùÿ÷ÿøÿơÿ  ûÿúÿ÷ÿïÿñÿñÿôÿđÿơÿûÿ    úÿơÿëÿëÿơÿ́ÿơÿûÿ    ưÿùÿ÷ÿüÿúÿüÿ₫ÿ  öÿ  ÷ÿëÿöÿúÿáÿùÿîÿûÿơÿưÿùÿùÿùÿêÿöÿđÿơÿÿÿÿÿ ÿÿ₫ÿöÿéÿăÿèÿñÿđÿîÿèÿæÿíÿơÿñÿ́ÿåÿùÿÿÿ ₫ÿ ' ùÿ÷ÿ'F’…æÿ>ÿŸÿÿÿäÿD̃ÿŸÿôíÿ »º´/ÿÿ₫éÿØ₫ÿD₫mÿÿBưdÑÄÿư¦ûæÿø₫d§˜<$₫ÍưÀü`ưJ₫ưy±ÿZü@ÿ‹zfßÿ~•DÿƯHÿÿ5ÿàÿ€“ÿ·₫V₫^₫¢ư₫Ëÿ Îèè}ÿ"½ëck_¡ÿÁ₫4;ûÿ ÿai ÿ8₫?ü®sư*ÿ>ÿ%ÿªÿÿZ₫¨ÿ—ư€h₫î£ÿ ÿĂÿW¾₫#JèÿÁ7¦ `å¼ÿr÷ư»ÿ‚₫*₫ÿæûª₫+₫0₫ÇưoØ₫ăˆ₫” ¹z îâ:lw Zưü:úóûø‡ùùqùgùŸø¿ûáúûñûfưïû´₫Öü¬ÿ-̣R  Ï ̀ T® JCÊp»:ưµư¤ûMú\₫cü>ư¼₫uư₫üæú»ûÅø÷öwöööcóÅộöáơ ÷§ø"ü[₫- ỚgûPrƒ XpÜÿNư×ûµù”úKúûYư–ÿ̉Üc‘ÿlü&øơóœï\đÜï̉ïñsïưñ•óéó7ø¸úË i LÀE¹9 T°Y₫µüËû½ü†üIư,₫ñÛ¬’º°Pü2÷ạ̀NîZî́'́Jï{ï đ¦ïRđ°óóµöFûTÓơ‰ J4¶  \jÿ×ÿưÿJÿÑ ÿ<ÿ™̀üü`÷ ̣§ïöëBîèë{́«ñxđ¿ñÄñÿñ́ơôf÷˜üu÷™ó#x ëC± ) ™ÿxG€-'hRo₫lü û_ü9ú+ÿ˜aú̃ù2ö_̣¾î€éOî\î·î^ôUôÎô¦ó'ôÉø!÷ÿøY₫c ‰œ2 "̀u 2úY₫âbÖI`P;ûù÷1ùtøFùí₫Fÿ|ÿNødøÎïæí~́íó#óƯ÷`ù̉ôböåö2ø´ù…ù¸x8ö]VK ,²¦ÿúÿ}ĐöEßTưrøôö ù(ûXư†Ú¾Ñư¨÷‰ô5đ?đ•đẉơ_÷@ù7÷&ơö‰ø¿øæù¤ưê  ŸœçÊÑp₫-ÿ'ÿ²R`= m?ưqú:÷ùó÷¾ü¸₫¬[‘₫ÿ²øöô'óơƯóñơ,÷•÷øơơÆøø§úürœh²gØ"Ṛüg₫TPbº jû½ø*ùXơéö üùÿ@:b¤ÿ6ü:ú¡úÊü¿ûfø¯÷ÏøçøBöĂó1ơ¶öñö*ö̀øŸüMưØưÔDDP59 ‚ÿ]ưÀÿ×pƒ±æ…û)÷Où›ù™ù×ú’ưœ”ÿ;ư)üƯûaúÇù₫üYA₫û¯øH÷ö÷ó½̣<÷Wû‡ü}ûvûư‚₫§₫²¥@9…­ Î₫¦û¹;»ïOûôö$ø û]ư„üË₫ê*Y=üàúUüœûïûéü•;FüN÷ô+ơ©ö–ơ+ùöü¿₫ư úûêưŒ"¬Uđ†.Oa₫Öÿ«|ÿñÿ7₫+úrø-ù%ư ¯KÑïâưxù¯øùLüÿˆdÑÿxûK÷ô1ở÷—úưP₫©₫ ư™úÙúơûÙÿ'$ XĂ“ /ü-ÿ…₫ùú¿›q ÿˆ₫-ü§ùRù1ühƯJǪÿ3₫-ûŒøaǿûVÿ›°ÿ ₫vüØùt÷Ïöbøû-₫6ÿ'₫ü’ùîøÙù8üe­ˆÉú f”ơsFÿ* )ÿâ₫ñ₫×ûƠøúI₫ŧ²`ÿÉưƠüPụ̀÷ú¶ựÿnûcù%÷(÷Îù„ûJ₫•₫™ưû‰øÛ÷éùpüH¿# @6Ä̀®·1FÛ<3 T ¾Y¬ư=ưü‚û2ûưÓ¶-8Ơưưû‚ụ́ùû<₫˵ưmú°÷Íö´÷°ù;ü‰₫Å₫¥ưÜú{øÀ÷ù˜üZĐ, Đ¡à’9̀’¨¡à†0‘ưÑüưóư{üüÿsë¹?ưOüûÎúúVúb₫e]úÿxûµø÷«÷¼ø‡ùïû'₫_₫ûü¤ùû÷*øöùưy{ &Uß ‰$ñ+û®”ó^†›ưDư‰₫Î₫₫ùư¢ÿÅ₫´ûkúÑùÏú û²ü₫ÿºÿ8₫û(ø₫ö”÷ÂùNûùü¸ư₫qư¶ûú́ø–ù.ü+ÿ.Xo v:6Ø̀%séZ×E]̉ä₫Éựưo₫3₫!ư₫íÿÈ[ÿøûÖú"úÆúÙú“úVüÙưÿêừû¤úœù-ù¯ø=ùû#₫Êÿ7ÿ0ưû„úûúđûưcQ‘s 0 Ú i ü•ßkỠ`Ăê»Á̉ÿ¸ưư^₫-₫j₫iư“ư₫ ư¯üû˜úvûÑú'üƒüáư”₫ưqütú ú úú‚ûSüm₫cÿ₫’ưûZû̉ûü•ưđ₫XÅÁ\  $  A ôZZ™=µIœRÿ+ư£ư\ư’ưåưBư₫₫¾ưúüûú'úÔù‚úUüGưO₫₫hưÁüđú´ùø$ù%ûïü«₫̃₫ƒ₫fưü&ụ̂úÊû±ư¨î!̀— 0  ™ }Dä—¿ê“C¼·Ûÿg₫¼ư£ưåưÙưa₫íư„ư½üíûÇûkûÑûü›ü(ưøü•ü‘ûÆúúkù\ùªù°úü>ưµưưü>ûOûeü.₫àT%úy™7 ï  Ô·;Ÿ¾ºœ·^ÿÂ₫d₫V₫;₫ưƯüBüüdüwünüîû¬ûü,üüöúú¨ù¢ùüùĂùú̀úü$ư(ư”üü9ü;ư¨₫nLR[…:f¼)oN {‹ÑBỊ̂ÿ¥ÿ»₫₫Çư@ưVưÍüqü'üû“ûûCû»ûü6üTû”ú6ú8úæúû¾û¦ü®ư¹₫¡₫H₫íư₫ö₫·ÿ ¯×¶¹2Ù4¥Ù²><QJƠ¾öe3ơIÂZ$Ơÿÿd₫çư¥ư—ư5ưĐü~üMüiü$üÏûZûû:ûcû¯ûÇûéûKü¯ü"ưlư¬ưưư8₫ˆ₫Ø₫DÿÓÿ]ªYíE€ŸÛ3œu¯¶“LÊ@¯3Å:³©4£ÿ÷₫C₫·ư<ưËüeü,ü$ü6ü,üüàûÚûôû üü*üNü‡üĂüưü4ưvưÎư(₫w₫¸₫ÿ|ÿ úQÉEÀZ¯zÆ2D6ªGËTØQ» gÇÿ'ÿ₫øư‡ư2ưßü”üUü9ü=üEüXüqü—üÄüåü ư(ưPư{ư•ư·ưæư!₫\₫‚₫«₫Ö₫ ÿHÿÿ¼ÿbĂƒưrÙ ^¯m•r[œŸ9´NºÿKÿÖ₫Q₫Øư€ưTư5ư ưÚüºüÀüÙüóü ư&ưNưƒư¸ưàưøư ₫(₫J₫k₫₫¶₫ă₫ÿ=ÿaÿ…ÿ´ÿäÿ1[ôS©ó:‡ă>€³ă!»Uø§; øq¦ÿ ÿ₫!₫àư»ưưbưNưhưư«ư´ư¹ưÆưàưûư ₫₫'₫9₫D₫F₫J₫V₫l₫„₫₫º₫ê₫$ÿZÿ‡ÿ¶ÿ÷ÿ?y¢Ñ%“ûJ‹Ø5‘ËăèåÖ¨PÜ\ßgæZÍÿPÿï₫§₫\₫₫»ưưư|ưwưvư‰ư¯ưßư₫₫)₫?₫W₫j₫m₫d₫_₫f₫|₫˜₫³₫Ê₫ç₫ÿ-ÿ[ÿŒÿ±ÿÊÿåÿ\«́)‚̉E©*»n'”àLê _ÿÛ₫¡₫‰₫R₫́ư—ư‡ư¬ưĂư¯ư—ư³ư₫>₫G₫<₫R₫…₫¦₫“₫h₫U₫d₫v₫n₫Z₫\₫w₫Ÿ₫»₫Ï₫î₫"ÿZÿ‹ÿ½ÿúÿO¶) óhÓ%Tb]Hº>ºBÎC”ÿDÿí₫|₫₫Óư¼ư¦ư{ưLưBưeưưŸư§ưÅư₫D₫e₫l₫q₫₫•₫™₫Œ₫‚₫†₫₫«₫±₫»₫Ù₫ÿ2ÿKÿdÿ–ÿåÿ:ƒƠGƠ[Å#úGaVD(́œ ‹ÿ%ÿ¹₫c₫₫̉ưˆưOư6ư4ư2ư(ư'ưDưƒưĂưíư₫/₫j₫¢₫»₫·₫²₫Ä₫á₫ï₫ë₫ă₫ë₫ÿ&ÿFÿ[ÿeÿwÿ§ÿøÿGy£ @¡̉&µ;]%óÉ"+ñ~ªÿvÿÿ₫₫Ăư°ư‘ưIưưöüư:ư4ư0ư[ư¬ưïư ₫₫J₫‘₫Á₫È₫Ç₫ß₫ ÿ"ÿ$ÿ%ÿ=ÿbÿ€ÿ’ÿ¨ÿÇÿ́ÿ 3m¬è.qÇnÍ ỡÇ‘'¡&½NÂ' ÿ:ÿß₫x₫ ₫µưư`ư:ưưúüưư0ưAư_ư•ửưûư₫<₫{₫µ₫Ó₫Ü₫̣₫&ÿ`ÿ{ÿxÿ€ÿ¯ÿôÿ ÿÿ!k¡¼.™ÄƠ ¯6dUd®ß¬1̀lê0•@öÿuÿÓ₫Y₫!₫ưư¼ưdư-ư2ưKưJư9ưDưwưµưÜưóư₫M₫†₫©₫·₫Í₫ô₫ÿ/ÿ?ÿTÿvÿ™ÿ´ÿÊÿäÿ!8Qj™¼́RÜ3…Äü7i{kGÚƒ”¤%¨ÿ9ÿÑ₫s₫ ₫âư´ưưsưdưjư„ưŸư²ưÉựư"₫G₫a₫q₫ˆ₫©₫Ä₫Î₫Í₫Ù₫÷₫ÿ2ÿ>ÿSÿÿºÿàÿđÿ6m«ÜOm–â?ˆ¶áJ]Eë¶gú Ÿ+®ÿ5ÿÏ₫~₫6₫ôưÁư£ư”ưưư“ư«ưÆưƯưđư₫3₫M₫T₫\₫p₫₫˜₫™₫¨₫̉₫ÿ-ÿGÿsÿºÿ3Ox´åú₫@bm}¤ØBw¢³µ·²‹Ađ«_ú ½ÿvÿÿ¯₫]₫:₫+₫ ₫ßưÎưéư₫₫₫₫>₫a₫`₫J₫G₫^₫o₫a₫I₫K₫o₫•₫¡₫®₫ß₫.ÿuÿ¤ÿÖÿ"wµÔ÷0k‹˜¸ó+ESv«ÑÓÁ·¸¥a°k™§ÿWÿÿŸ₫A₫ ₫̣ưÛưµưư°ưÖưđưùư ₫7₫i₫„₫Œ₫“₫¥₫º₫Á₫À₫Ä₫Ú₫÷₫ÿ,ÿRÿ…ÿºÿíÿK~±Üù"7JPRXo†‘˜­ÓëễßçÚ«m<ä”4ăÿ­ÿzÿ4ÿæ₫®₫›₫™₫†₫b₫T₫j₫ˆ₫‰₫u₫n₫…₫™₫’₫u₫e₫n₫y₫n₫_₫j₫’₫¸₫Ó₫ö₫5ÿÿÅÿ÷ÿ.v¿ó0_‹§ÅƯßÔØđơÚÊɸ…C ߥO÷ÿ±ÿuÿ2ÿê₫¯₫ˆ₫o₫U₫C₫F₫W₫f₫p₫‰₫®₫Ï₫ß₫ç₫û₫ÿ)ÿ&ÿÿ#ÿ9ÿIÿIÿHÿZÿ~ÿ ÿµÿÈÿëÿC]pª¿ÅÇ̉àâßáíü -@HIP\[I+ÿß­uH$ưÿÅÿÿmÿWÿ:ÿÿí₫Ø₫Î₫¼₫—₫v₫d₫\₫K₫.₫₫₫₫"₫'₫6₫^₫₫Â₫ó₫0ÿ|ÿËÿO—àGm™ÀÑĐ̉̃åÖ¹¥¡—zR2ܨzW2Èÿ™ÿvÿVÿ1ÿ ÿô₫è₫á₫Ú₫Ơ₫Ú₫å₫đ₫ú₫ÿÿ"ÿ)ÿ.ÿ4ÿ;ÿ?ÿ<ÿ:ÿ>ÿEÿLÿOÿWÿhÿ€ÿ•ÿ¨ÿ¾ÿƯÿ";Ut•°Ẳçư "+00+(# ùè̉¶™~aBÿÿăÿÈÿ§ÿˆÿoÿ\ÿHÿ1ÿÿÿü₫ñ₫â₫̉₫É₫É₫Ç₫Ă₫¿₫Å₫Ó₫â₫ñ₫ÿÿ=ÿ`ÿ€ÿ£ÿÊÿöÿFk²̉́$-243, ỗª“{^@%üÿæÿÎÿ»ÿ­ÿ¥ÿ˜ÿÿ†ÿ„ÿ…ÿ„ÿ‚ÿÿ„ÿ†ÿ‡ÿ†ÿ†ÿ„ÿ‚ÿÿ}ÿyÿwÿrÿpÿpÿpÿsÿxÿ€ÿÿ—ÿ¤ÿ´ÿÆÿÛỵ̈ÿ 8Qi€“¤´ÂÍÓƠÖÓ̀³¥”€jR9$øÿäÿÑÿÁÿ´ÿ¨ÿÿ˜ÿ“ÿ“ÿ”ÿ–ÿÿ ÿ§ÿ°ÿ·ÿÁÿÈÿÏÿÖÿÛÿáÿåÿæÿèÿéÿèÿçÿäÿâÿàÿƯÿÚÿ×ÿ×ÿÙÿÙÿÛÿƯÿßÿåÿ́ÿóÿüÿ$.8BJQX\`a`_ZUNF<3&üÿñÿèÿàÿÙÿÓÿÏÿËÿÉÿÈÿÉÿÊÿ̀ÿÏÿÔÿ×ÿÜÿáÿäÿêÿîÿñÿơÿùÿüÿưÿ₫ÿÿÿÿÿưÿüÿûÿûÿùÿùÿúÿùÿùÿøÿùÿùÿúÿüÿÿÿ  ưÿûÿùÿøÿöÿơỵ̈ÿóÿñÿñÿñÿđỵ̈ỵ̈ỵ̈ÿóÿóÿôÿöÿöÿøÿøÿùÿúÿûÿûÿüÿưÿ₫ÿưÿưÿ₫ÿ₫ÿÿÿÿÿÿÿÿÿ₫ÿ₫ÿưÿưÿưÿüÿưÿûÿüÿûÿûÿüÿûÿüÿüÿưÿüÿưÿüÿüÿưÿ₫ÿ₫ÿ₫ÿ₫ÿÿÿ₫ÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿ₫ÿ₫ÿưÿ₫ÿÿÿ₫ÿưÿÿÿ₫ÿ₫ÿ₫ÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿ₫ÿ₫ÿ₫ÿ₫ÿ₫ÿÿÿÿÿÿÿÿÿ₫ÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿ₫ÿüÿüÿưÿưÿưÿÿÿ₫ÿÿÿÿÿưÿ₫ÿÿÿ₫ÿÿÿ₫ÿÿÿ₫ÿ₫ÿÿÿưÿüÿ₫ÿüÿüÿưÿûÿûÿûÿúÿûÿûÿưÿ₫ÿ₫ÿÿÿüÿûÿúÿøÿøÿöÿ÷ÿơÿơÿùÿøÿûÿ    ưÿưÿ÷ÿÿÿúÿơÿÿÿüÿ÷ÿ₫ÿ₫ÿùÿûÿÿÿ₫ÿÿÿ₫ÿ₫ÿưÿưÿ÷ÿûÿúÿ₫ÿ₫ÿ   ÿÿüÿöÿùÿöÿóÿùÿøÿøÿüÿ ưÿ₫ÿưÿ  ÿÿúÿđÿïÿäÿèÿëÿäÿêÿóÿ́ÿơÿưÿöÿ    úÿưÿúÿúÿúÿúÿøÿưÿùÿ÷ÿûÿùÿôÿ₫ÿ   *#63&4úÿÊÿºÿ¹ÿ–ÿ‹ÿÿ§ÿ®ÿÙÿèÿ(;DP<15üÿêÿèÿïÿîÿóÿ  0-51"ùÿçÿÊÿŒÿhÿJÿº₫à₫ÿ;₫Ï₫9ÿz₫ÿ$–ÿë†GåÈy£"o 2¶ÿ~ÿHÿ½ÿ0ÿDÿŸÿCÿ†ÿÍÿ£ÿÜÿ7Äÿ+âÿ¢ÿ¡ÿÙ₫_₫ºưư¢ûÑûxûú«û°û!û₫Ä₫ÿ¥t„îß”Ø8çhƠ ¶Ï;vÿbëÿëóÿRƯ ÿtÎ₫~ưưÑúù#ù"÷ơp÷ÀơSö(ú×ù-üúèƯ²ăj ñ¶P*^wÔÄơË ¥7}ïrWÊÿ-ÿübû÷ùöƯ÷̣ôỴ÷(óÇôÂú"ø¬ü¹m'Ñ ûU á *‚ ù́q\A°&Å$$ >ÿ¾­₫âûu₫Ơ÷ ÷$öỆ«óñ¡óóIôzù~ù£ư;> Q ß { Û ­ nF3}fËù §êÛKÿº₫à₫çù|ùs÷Ẹ̀«̣Jï”ñ6îÉđô­ñ€ù©û1ư-$? \ÎÆúf ơ ( ÆßĐÁ€Ă₫ÏÚ₫"EưüP₫ˆ÷–÷ÅöHđrñoï3ẹ̣̈ñëÇñÛơ9óü¦₫…Ó‰ ! YưIuCLè ̀Ç9d̉ˆ₫@\₫7ư´₫û₫øĂùNôêóẠ‘îÖíĂî=êṆ-ïÆđ`úçơÿ±°j Lơ@$ẻ9[ 5 ₫9&¦₫èưĐưPû×û&ù(øhơ ôñ®ï)î1í+ëÙíøé2óZñ8̣¢ÿ‰ø¶Éx ·Êø¹mư  çƯÔˆ₫hûc₫­ù(÷9û«ôèóĂơiïgï@đ¯êẂ¢́‘êṕîơ÷ñ§ûéUÿ¸ f/k]°u²£ È  "₫ơ¾ư(ơîûÇơûđ–÷‹đøî‚̣ªíéëaïëçêÊí́́́ăîßù¾ó™₫q3«ÛÏ!³?œ ©÷ !ÜçüÁùøåóđXñÆî¶ëÂîº́Gêáî₫ê·êOîsëë)ñ*ë́÷›úĐù¦ È K~T~&â#»"æ# ‘µQ;ü¥ïóŕ·äçê:æ›âúéÛæXæF́OêÈéLïǼ;đ‹î¼ø¯₫ăùÆb– ¼!œĐ-C)s$’)#<¶Jhÿô¦́/èưă1ß…ßß4àØà¹å¶åeéƠêêíSîßóáñ¯÷̣Kü çQÓ(Á!â+/0&( %å&¯QƯơỤ̈îéPƯÿßÀÜùÔuƯ¨̃Ûäè äÿíñưî¹ơøÊ „]Å-ô$(Ÿ5°$%•&VÍ ­₫×đöïXæÙÀܨÛVÔ ÜŒà.ƯŸẵëóåèîf̣ộu•B¨„ˆ +c0Ä!1r.³z 5V v`̣çGå[ßNÖéÚ+̃Ú€á1é.åḈñ£ñ̃ñÛùô!Ú Uù¸Àö&-’!^,f)É2 çöøđÙå ̃­à¡ÚûØÁâ©ăLä*đ)îïñeöùö,ơûó‹u ₫íy`ê%½.ae*›*-|júN ̣¦íçkØû̃äßbÖ±ăáê¹åJ̣uôíó¾ùêøTö₫}ñÜă fưöÚ ¦„"È/ :' ' Q5¤IëÄç4èeÖ½ØCâôÙ(âŸ́Ś]ô}ơ8÷X₫ø@÷Fÿ˜ô Ê üˆ¸Ư·#E* ·'À!Á¬ áÿÿ¿é-äYăLÙ Ù̃̃ëèơêªïtú÷­öyú­÷ü,ơ¬ ç¤ÓHŒ#Ç'…#̉'ŒÆ₫`ưRé ä…ß@ÙºÜỮÄ́Yí½đßù?ø8ø²₫ÿơJú{øÚơ– Jü½ÇŸô%²#$(K)ÿ8Ơ} ưCösèjå̀ÚØ|ßƯƠàÝhî²ơÉø+ơ¢û(ươ8ùôF É> Rm™#¡#i+Ú"h&Öj§ûXîêEäŸÙyÛ2ßÑàăçƒê—đ[ø(öúô¶ú,øÊøkóó÷™ $Ê/ºå ™#e<'(,íb €̣FéèÚàüƯ©Ưvßóèb́:îơÄö®öVù¥ö<ø‹÷̣ô¬æ2 B,¡#Áa!ö$ί,ù„øIí4érâöáTáÿßç!́£ïƠôơöÿù¤øøVøöjc! ~Ø’É Môy 5»à#=û%̣ÇëBä÷ăäÏâˆæê­ïÊơöU÷ùÔû̃üüø¨›> ₫ g ’ä0 ºë# 'ăư“ùÁó„ëÊçÎæ1èFëêëÈïpô¡ø7üúûôû)ÿÿûr₫ÏĂ₫ ü›  E ¬ Ñ  ¨‰ÿvûZùöóËñôñôôơ÷Hú:ưăÿ•™(rDdøÿÏ₫ºÿ̀ÿÍ₫>ưÀüs₫Ô^’ÖĂˆv¶±Rë•̣\º°1„6[†·xR8ù¾ÿWưnû¬úÜúûú™øøVùNú3ûû;ükừ₫¯ É̃æƠY Êi/ĂMÓ“̣/̃]đÿjÿp₫nưËü ü/ûjú±ùoùGù`ùăùKúû2ü>ư}₫™ÿdGEådÅîT¤ƒ‹[ơă²(´ wîAŒÿ×₫0₫Îư\ư ưưăü ưư×ư₫ƒ₫‚₫¾₫(ÿ%ÿJÿjÿOÿ¾ÿûÿq³%M,/˜¦zưÿ²ÿgÿfÿ±ÿ|ÿ{ÿÊÿăÿORsÓ£lÇÜæíœœ¯j0Ûÿqÿ\ÿÿ¸₫‘₫&₫ûư₫́ư₫A₫Z₫Î₫Aÿ…ÿW€Ô;~q®«¸«†…Pæ‰@ÿDÿÿ¨₫g₫K₫₫₫3₫=₫…₫Ó₫ñ₫Qÿ¢ÿØÿ:i£ºæư "0H æöÎ¥‚G-¹ÿ—ÿeÿ3ÿ0ÿ$ÿ ÿ$ÿ:ÿMÿhÿÿ¨ÿ¶ÿ¼ÿƠÿÈÿÈÿßÿáỵ̈ÿûÿùÿ 6,6GRguŒ— ”}n]B5"ùÿéÿ̀ÿ®ÿ¤ÿ‘ÿ{ÿsÿxÿVÿKÿJÿBÿSÿRÿOÿvÿ ÿ¾ÿèÿ.Kk‹‘¢¡jjvZQp^]T& Ơÿ§ÿjÿSÿMÿÿ%ÿ9ÿXÿÿ£ÿ®ÿéÿIAPt^=>+60104>,'/ ôÿÛÿÂÿÉÿºÿ—ÿ“ÿ‡ÿˆÿ¿ÿ×ÿêÿ .qqigZL*632) ïÿÚÿÓÿ¡ÿÿ†ÿtÿXÿoÿjÿ±ÿ°ÿëÿÖÿ(T0₫ÿMR<.= 69`XT–0ÊÿµÿÏÿ…ÿ›ÿ¢ÿ§ÿÄÿ/ÿư¨Cû₫"î)û7û ’kúAưa?ư¹ôøK9ûîûk^åÿ9₫“¶:¦ÿ¥̣#ÿÂ₫ÖLÆ₫Ç₫lÿU³ÿ¸₫£ÿ(c₫ÿ¡¿ÿ±ÿtÿ¦¥…ÿ1ưZ₫EÿOÿë₫OÿKÿéÿqÿ| ˆ×Póÿl5ÿå₫YèÿMÿÿZt4ÿEû¾ü(ÿ¨ưï₫×.ßư›₫đ!ÿqÿ̃ÿA‹ô0€ˆN¡ Ps9ræ”ÿÿPÿ6ÿ̉₫îÿWÑưÁÿ˜ÿ»ỵ̈ü'ÿNö₫6ÿTa₫åư Zó?IÔ¦dHÿ£ÿe¡ÂÿÇ k¸‘¬ÿÆÿ/qöÿ ÿdèÿ₫bÿX.₫Düw₫ÿßưxû₫Ù₫‡ư9üE₫E;ÿÉ₫áÛª¯/À ˜ É—`‚Y:ÿGüÅûùÄơô ̣Gñ`đéđmñˆ̣cóöRøuû}ưT|ymé î<ª½O¥Vü`ô¸í‡êÏèé>éé„́˜ï=ïYñđ̣Ọ̈öpöDơ…öÈùÏ÷‚à  , Z# $Æ% !yhc(É÷}̣Âîéêí+í$ïṬô7ô½ơḷuñŒñ³íôé:ëËé0êeêyú S ¹ù#E+±(¹+Å'±%̉0 P€ù–ñ_ïêỐxíkđ?öûù±ùªú*úmôûñ´î6ê¸æ.åæá§ä¨âÏö-™&Y-±*¸/’( ']!"xü<ú0ïEñ~́+îjï$̣$úƠÿ2•ÿY1û¥ơ~ïæéåÂà@̃zÜúß=̃Đó7 M`(®/À/-23+&À#¾ß  ú¥ïî₫î+ï®óvôjưª¹(¿ÿ>øñcè‡ăăßåÙÀØ—Ø-ƯÛ̃ö! #12+23¹2º+#3"^ Åö÷ ñyđ đạ̈œú·ü̃# P I o(ùF̣•æ„ƯTÛ*×tÑÓLÖmÛ„áHú¥ˆ à"60Ï3'9©3N+#BÓÿè₫Sö7ñ¼ñ­ïÅôóû/(ê üÖs U|ûåô`êQ̃^بÔXÑĐøÑ*Ö†̃èKư]b1#0€3Ü5:2'èÆåû(ø—̣xó>ơûóĐø ) ́‘ ™ w̃ơízåƒÜ‡ƠdÓw̉ Óf×ƠÜdắ ÿ¼ÊF(+ú+-A&´Oüˆ xlüÛø—ö5÷ú5üÅüIƯŸ p § ÁY´úôoí'æ+àHƯƯ™ß?á́âÈæèëHñ̉ú°°uî«…­̉₫7S1 ĂX²ÿ—üSû«ûíû…ü₫̀ÿ'@²Ú²ưúböụ̀(đ¥íIëưè>çqæëæèÈëZñOø₫₫gí Hw†.ÿGi ̀V·>ÿÜưư»üơü×ưÿrr…ÿËưvûcøCơ…̣đXíêè{ç_çÈç(ê/ïơ×ú7Å{ ¸îÓàÇ@äĂi í©I^₫ üÄú5úöùÓúÿǘ₫c¼#/vÿ ưúơöfóÀïD́énæöä~ä§å›é}ï“ơ>üÈÍ Ö1RèZ¸yÅÊ Øór₫}ü ûŒú¡ú€û=ưÿÈf[[è3̣üYù>ơFñ†í×éŸæIä"ăRă%åLéªïÀöçưb ‚6¨¿}’R¿ ' ₫£.ÿ•ưÑüüăǜưó₫`XÇ[ơjÿ'ü«øưôSñ́íơê9èæÛäæäQæéíîó̀úUƯđ ÓÑÉv/¦|U¸K y'„®₫KưKüûû%ü˜ükư­₫¶æÿ\₫ôû)ù öØ̣±ï¹́æéçæÔåéæIépí‡ó.úÄX£ üp÷4(¿ªÈA –}₫%üú­ù–ù&úû[ü ₫ëÿí'›ÿü…ùDö÷̣óï@íôêOé—èæèBêÓ́rđơçụ́ep 4é¾ä5wP9] ́Ô9₫;ü·ú³ù=ùDùÅùùú¸ü`₫xÿÉÿ%ÿ«ư°ûgùñöyô6̣đHîú́ÍÝ—íÍị̈́́öÀûQƠ ”¢ f6ŸÊ÷x âÅ™ÿIưrûñụ̀øqøzøzùŒû₫;JK₫—üútøöSó¶đî"íí7îKđỤ́ơ{øyû(ÿ„Ùn Y{´vDߺ”ya ‡ À‡Í₫‹ưnüWû˜ú™úVû¡ü!₫(ÿÿ&₫Úürû÷ù£øj÷ëơ%ô‡̣™ñ–ñḳ¸ó@ởöjø'ú:ü°₫·óÚ ¥ 4 o™ØÁ‘#̉ ë ̀Øư<ÿ”ưüèúWúú+ûâû‰üéüØühüêûVû­úÛùùø2÷ö_ö…ö÷·÷hø7ùUúü̃ư"Ïj|g 9 ¿  Ö 2  ‡ …­—Åÿÿ©₫[₫₫ÍưÖưđưÙư·ưzư₫ühü±û%û¡ú/úÔùù²ùèù5ú¥úAûêû¯üư₫}ÿ_ÀP–â[¸»„a-÷âÚ¸u-Á;Ó¥p•?µÿÿ₫C₫Ïư1ưÏüeü ü³û¸ûïû%üxüíüxưüư¤₫`ÿp¥Ï+Gr³ÅgÛÿËÿY±³ˆ Âÿ±ÿÍÿøÿTÖ6]A+ö¨cG- ¿ÿyÿgÿOÿ#ÿ ÿ`ÿ´Áƒ”¹¥=Ư}ÿÿÆÿxÿÿ¼₫=₫hưrüÚûäûhü”üÊüçü-ư ươư|₫ÿúÿ·4mnZ>~ª[æp¸ơ₫ë…®âÆ@§+UDÿq₫₫ ÿÚ₫uư­ụ̂ùùÊøƠøvù[úPûóû…ü ư…ư₫Ă₫ßÿ¸14(₫3Ä›…¤ ógÔ«8Bƒh€₫FưûAû¹ùóùöø^ù'ù:ûˆÿưïÿû±ü5₫Ö¾_₫…₫³g½ùƠú÷û@ÿgÿŒp¨ÿíÿr¡Oà2­₫)ÀȘQÿ²ÿ—Ïû:ú¼ù#÷bûçüvû¡úçûÖưQÿ£Z1IÓ Gÿ”•ÿæü)ÿØÿê₫Yyç‚*·œµ9b„C©ÿ~jÿ|₫Hÿóư~ư¾ü]ÿ9ưđûưkưËü÷üñ₫Ç₫8ÿ¡×ÿ₫Pü_₫d5ç Ê?ÿ̃̉€ä°₫GüóB^ÿZađưêưîÿáüóưË“K₫£üCÿ0èåÁï₫V₫R\¯›ü¦ÿ-÷Ón#´›â$È:DÿôJcÿư@^aÿ¼ÿÎü¹Ù₫Øóư₫iÿ`₫{₫₫)Gÿº₫fú|û´ü̉ưQÿ₫çư±₫|ÿtÿÚ¨ª¸ÿo₫äÿ^­z4ÿư}ÿóÿ€ÿM™Á₫₫ÿöÿaÑÿÿ́ÿ¢₫’n¦ïÿnZqÓüÿŒ3‘ÿ¥₫˜ÿ4¡üÿ›h…Ä']E#h₫K₫»ĐŒZÿÉû=úhú§ÿjúÛøÊùÿÎ`AÆ₫{ư½û{¢ạ̊ư¶ụ̀ú<Éă$ÿH÷h÷×ú2bBüÿëùĐÿ)|gR₫xÿùư’üÈücü“̉û÷ûû^Ê ²ü1úưûÿ£"®sù^ùàA rû¡ûzÿ<x’ưAùêüƠc‡oüfûüüY”Ïü_ú>ûïư”V ¼–ú₫öáü„^₫öû2ú8ÿPl’ÿßù‚ú]ú/½̀zƯ÷'øn₫b§₫fúeû´xNP£û¶û 5c Èü.₫k²0ỵ̈û¨ư¯ÿư₫óư¿ÿ‚ ÿ;û„üŸŸ&üøûŸû¡ưƯ₫pưÉ(qÿ0 Ùîhư?‘nöqÛÿ—₫ÿX­+̃ưürü€ÿ0C¼ưø÷'ùÆ₫ØÿPùO÷Áøoûæư₫ ư6û:ưF̀Bwÿÿư{ÿ€}€Ó · +Îh>¾‘ÓÿÂ₫MưŒûÅú'ûWúB÷ùötù_û¨₫ư‹øơøư÷ÿw₫?ûGü@̉2´ÿjư₫C‰ IĐ5Æ Ư| Hæ§ăzùKơ¢öùOøÀô§̣Bó¯÷‚üOưùÎö¹úO¾¦ư–ưR ê|¾₫s₫usưr3 *Í [1  O/ggÿ½÷ó´ó…ơ ơUó†ñô¨ø‰ú½øuöwöú-₫G₫ñûcûÿ¯àéÉÿÉéSf ‰G "µ ï»®Đ4qø¦̣vñ4̣ ñœïï<̣ö÷[öéöYøgú»û(ûqúùûbºX₫ëư¹ ªŸ*±‰+Q¿ü}ü7‘œûóôTô¬ôŒ̣Pđï„ị̈f÷œø·ơ=óbôÖ÷uù¤ù­ùÍûAÿ\đÿ#ư_üï›ư&q Ơ"̃÷&úçÿéü÷ªơÍø®ûúXôïîhï ó°ơ+óÄñêôo÷‡ợó_öÁøkø'ù”₫Tÿ„ûRd.ö'a²‡ Xé₫LóÂô ú‚ù™ơAö0₫ yưđơ™ọ́ô¡óßñG̣‚ơÍ÷oöẶ!̣{ơ…ơ­̣ạwùó₫ơ₫úĂ¾#;G1̃>;$×ơḿ-ö]ûgö…̣ö ₫8ÿú•ôü÷Sú¦ơṭ‡öîúªøíóṬó+ñ¶ïoñôÙôd÷Ÿúül¸<–?Á&¡c$%˜ùêÅíĂóèù?û‚øSü&øô¾÷Tùbö±øÍOôù?ơ‘÷öÆđ¢ê×éïóƒñ·đĂöÔá'ÔF̣;"¡!‹#î7ëMæ9ï?ơ₫ü^ÿ[&¬üđŒđ3óụ̂·÷́hO2ưñô,ó§đ:ê¨çÉ́ÁîXíMíô-û¯~HÎF (4î!½ îơăÄèáô&£8ÿÀƠ ‹ÿ³êºé{îeïÏóœ₫{ «ÿv₫øúơƒ̣鑿̀êƠï-í1́¬́îơúºôK¥G&ZĐ”†́Đä¨çø÷f ' 0_ 9 ‚ù̀彿¶éÄí²ø—d DIj 2üa÷ḄáêëđỨ́qí5ííøUù&wVdB,ÖŒ!öéă‹ív₫ Ñë9ăăçWëu÷¢Q C ‡₫uùLơ,ïFđÚó˜öƯïêéỚïÂơ ù20üUF7o. ñxé•ă2÷–g@«¨äö#äâákḉóFđ<8»øQölơ²đó¿öwư2ơÂæ-äîîƯó0óÎ1W;A™g R Ṇ̃èç…à]̣Rͨ%ù Üùđæá7êª÷ÚåéÛÿØöLöŸ÷“óOó£ø£ ù„èká́ë¢́ăđôiK¥Jè!₫Üøèâeêl ,÷5×₫ÿhíAå ́Ë÷ă₫Đÿ¿ s˜nùªø5ù2ơtósú2óù!ë½äßèD́ˆíBøàú^2pM(Îvđÿ$ê¦æjæ²!» Úß¼3ôDëëíöù1ûẂ]-ưkưœúóơăọ́ù[û¾÷åëçCí8îÇî×ùmøä!kD÷'¢~æđ’ëáç`ưê ²àÆ¯̀ø¥ñÎđ„ö÷Zøh ö »Q!ÿ3ü\ö₫ô×ö#÷…ñ$êPị́ ñlôáö^ÿR-µ3xkÎóYíÊñadbú á g÷Ûñö¢÷èôZưÔ;7₫tøbö öMôđ·́¿ï®ñ¹̣bó¾ơÇú !̀.˜₫î !ûFñ4óу8 g Œû,ơƒ÷ñö\ôû˜n½F-–üÀö¯÷ö™ñ¸íƠïTđ²đđ¬óùù‡##Ü$}èóÄưûÎôùKI , µ§ø8÷¸÷‡ơ2ø÷₫éhŸ¸1₫áùqöúóbó½đôírđ³ñÇđJóÅôˆ~Æ"ÊÈ!1Ơ 'øù}ưMc ä0ü÷ø(øÁôÆơYû$¤²Èưû øQô%̣[ï̀î/̣Ưđ;î/ñ·ơ)û¢ùÍ Ü#׋ ÿåù(û€ü™ßyºñưµùN÷Gơ₫ötû=ưp₫¢ûØú$ø:̣Dïǽ đ=ñlî€đ~ô¡ø|ỡ"p"ÙƒAHư—ü¶₫Q› Û₫ưúh÷Ơơ5ø1ûåû)₫Èÿú₫uúäö‚öḳíǼ4̣̣²î1đ{ơùíÚ° ™#ˆ$edy t₫“ü´₫·•$₫sü\ûÍùPơ’öñúßú¬û€ügüùŒöŒôạ̈½î;đơñơï–ïôoø(ß!)%Ù'n#µH†Ö₫üáüJưsüç₫-₫…üÓúN÷¤öQú/ù·ù®ú5ùdøoơ£̣+ñ@ï|óơœṇ̃̉§ñ³ơñ÷ƒ±í~#<)y'!"̉§ |ưLû—øüøDü‰ûÛûÆư6ư&ư›øñù`ûùñ÷-÷ødö#ó~̣Ṛđ¿óöơ½óúô ó„ö̀øÑúnZå Á(̣)p(̃vÅêÿ›ùáö5ô<ù­ù-úư¨₫@ÿ×ù9úéûW÷Yö‘ơ1ööqó±ñåñ¦ñbơ÷ô·óÚơ>ö øÙùüǿR:·%&u+̉%„ç ₫èönñÉọ́÷̉÷Røư¡̀ưû’úÜú÷÷ÚóôơvóđÊï\ó˜÷­ơ*ơrøïù3ú2ùéúªưÍ J!`%'Y>T lư₫W÷áơ?ôñởöFùÊü₫yüUúø:÷?ơ¥óßóƠó ôóFó÷öø½ø®ùlüÑûeưÇưñ₫ß1˜9₫!a‚  céü–ơÅơ÷ø–ùøºưxûIø©öÈơ'÷KôCó†ơ"ö}ơoơ2÷ùTøæøbû ưö₫€ ²j#Ï w Ê₫jù÷aùĐûHúøùuü˜ú$ø¦ôûôŸơÖơ¹óLơđơ úP÷ÅùïûXühưBüEOÿâ:ÿ*l4¹¯ ù́­;&ñ Å’Ov¢ưÜûkư¹₫ˆúHüơùûÑ÷üö¦ö"øuøDö°ø—ù[û*ûürü¢ÿ@₫₫ÿ*{Y°Ç̣ÿÓA₫.¸’1 ĐM H§(j=/¾ÿ»¬ÿ¥p^₫.₫ÂûÁü<ûœú’ùưiú…üYûú'₫"ư ưJưû₫ ÿ¨ÿàüØÿ&¿ư₫•₫#ÿ%2ÿ₫€#'Cy審üíp¦TrñnÊ₫8ÿÖüBư~üüÈûÿúÚú!ư,ưüÜûûÚưäúPư’ûî₫‡ư:₫·₫Ùü–́ûß|ÿ«†$ZÁd ₫%å0‰?Éï½KÊ{#é†₫₫₫Êü»üÎüÿükûùÊûRüû;ûư…ư‰ûưüư ₫ ÿ"(¶qÿ†bêZPÿ˜­>#P‹4 –Àơ¡̃®ÿ;₫Åÿ\ÿÛÿYưé₫Qư_ưáưŸÿÊưÁ₫•₫oÿÿûÿ₫WÿÿJÿè ½₫åÙư;Ù₫ØÿEÿ´‹Âÿ–úë°₫óƒÿëừÿú>₫ïÿ‡ÿù₫«Lÿ 6­zÂIZÿ•₫‚ÿOÿ¢ưÿÉÿ~₫rÍ¢₫#ÿª›ÿ¨‰[aÿÇÿ ₫₫çÿa©₫}ÿq₫3›"•₫Yb¤5ÿÉN{ÿ±ÿª­ÿ1ZÿbÿÔèÿ‘̃Åÿ&;kÿO’Ù³₫=”ÿµ3Đÿgÿÿ«ÿKÿÿ[Ưÿdlÿlÿÿn7₫1ÿ­ÿ½₫€₫Đÿ˜k QÓ¡ävđÿVOÎÿmSÿX̃­TÙÿ]cÿ¶ÿªzÿ ̀ÿEÿªÿƒÿ“ÿÿĐÿyÿ ÿÿK₫‚ëÿûÿđÿ|°ÿVÿ™ÿwíÿÂÿÏÿ¬;ˆÿ…ÓÿgZˆn»̃ÿªÿƯÿTÿÊÿ·ÿÆÿÆÿ°ÿ XÿHùÿ¿ÿ»ÿüÿÿ¶ÿư₫3 ‘ÿLÜÿ&,|%;ÿºÿ‰̣ÿ}Œÿüÿsÿüÿg_ÿujÿÔÿZÇÿøDÎÿ—_vÿKàÿ Ïÿưÿ̉ÿíÿ9ƒÿ½ÿ[“jÿ Zÿáÿ¸ÿßÿ•ÿ×ÿøÿóÿËÿÅÿªÿTâÿÆÿ¨±ÿÓ. îÿoÆÿ́ÿÔ÷ÿ±ÿwñÿÔÿ‡ÁÿÉÿüÿºÿ̉ÿ×ÿØÿªÿÊÿÓÿ¾ÿ¼ÿÛÿ!óÿ›̃ÿ;K*¡ÿăÿ*-ơÿïÿ ÿÿ8¼ÿ¬ÿ³ÿåÿ₫ÿ2ăÿôÿÇÿÙÿÿÿÚÿÛÿIÚÿ[#₫ÿDăÿL)Êÿÿÿ L÷ÿ>èÿóÿöÿĂÿGƠÿƠÿ ÿçÿÿóÿûÿ ÿúÿ¯ÿáÿÂÿçÿñÿéÿ X=C=kÿ‹ûÿ.Ôÿ†¶ÿOÜÿnñÿéÿ„ÿ<ÄÿmÙÿ¾ÿÎÿ¶ÿ¬ÿäÿáÿ₫ÿ̀ÿÔÿ üÿÖÿC´ÿŸÿăÿÁÿ­ÿ'qïÿD‹³2V(¿ÿg,NbâÿÓ%ÿÔÿbÿ”ÿÿgÿ,_ÿ(rÿKƯÿQA:•¼ÿÖÿRÿkÿcÿ÷ÿÈÿk8NËÿN+]40{₫ÿÉÿ·;Uïÿxÿ/½ÿÙÿäÿI Ïÿ¸ÿ{ỵ̈ÿ¤ÿƠ₫¶ÿåÿĐÿN±Jàÿ¦18÷ÿåÿoÔÿ yëÿ–GåÿÿÿQ¢ÿè₫Lÿ?ÿ«ÿTÿÿ±ÿËÿóÿq6¨uA¥Øÿt;2Đÿù%ÿđÿÿk%RÿPçÿb°ÿŸñàÿÏÿÅÿÁÿû₫.(ÿ¹ơÿĂÿÚÿ§₫₫e{ÿ01—ÿRvÿ´ÿÓÿfÛÿfÿÊ÷ÿ¹ÿ‡qÜÿ"àäÿÿwêÿÿUÿNçÿ4rÿ#)øÿÈÿ»ÿœỵ̈ÿkè¶1ºƯ2₫J₫₫6₫Ü₫´₫(₫ ´ÿ!x̉ß$ŸLàƯg‹°ÿQÿ0£ÿ&—ÿ‡ÿagÿ,ÿ¤₫Od÷ÿúÿlÿVÜ₫…ưÜûIú(úĂûµüƠưaÿÍqâ‚ s O‘¨™ Ïèÿ±úb÷kộḌđïÈïđṆzñvó(ơ¾øEü^ưöƠĂ ) "° XSẈúªóêî́´ị̂ô)ø3úØûÿù\öTóÎî\í‚́Üî¸đ!đñóyÄö"ƒ*æ*0§-F!?iùûbó§èăâîà/èlïÆö ¼è· ̣Dụ́ïÑæưáHáøăáâ.ă¦çññL å!|/*6L6;.0jD Kû7ôáè‹ß-Ưàê=̣(ûÄ ¯Ư ¡ü ̣tç·àĨ†̃’á×à̉äEéäưÚ„))3Ó1à4Ú6»'Ñ'ùô¸çëß±̃ åÈîóKú’’ Wˆ 0dùïé›çéçëXëÛí€ïøöû\ˆÉ’/«G§4 ¶«1û'ơQđûïMđ;đ€ñ¹̣ïơÈù`ư®[Î ă ¹ ^pÏ₫lûyøơ¬óMó¢ó—ôươiø§ûó₫ °Ëe P G u Sîæ¸ªó8¶ÿvÿÿ™ÿÿIỵ̈₫’₫úư4ư‚üÇû́úĐù±øê÷øŸø7ùíùđú¤ü₫| fm[æ@Cô¦Jç̀¥Vx –ùÿ%ÿ@₫¨ưrưIưÏüüzû;û+ûû®úzúƒúÊú*û{û,ü?ư¢₫*EXƒxàúÛ–/˜™5ÅMô½˜SÉ0œÿÿh₫”ư¼üüûEụ̂úÉú̀úôú?û˜û<ü ưïưÎ₫vÿ!ª4¿üCmâñ>p¤f)ư-¼ÿIÿ̃₫“₫y₫€₫₫₫’₫w₫J₫ÛưYưâü‹üTüüîûÛûüjüưïưû₫$RhK₫b€c  ø…M8V²ÊÉ«e÷sáÿ0ÿn₫¦ưçüRüàû¥ûû¿ûüMü±ü6ưÇưW₫à₫oÿûÿpĐ"c«ùI¦ñ-3(₫´_$ª:Íÿxÿ/ÿñ₫µ₫}₫K₫$₫ ₫ñưăưÙưæư₫)₫U₫‡₫Ä₫ÿcÿ¶ÿ<e‚s`Wf€¾ú:m™Êñùêµd £4Êÿpÿ8ÿÿæ₫Î₫Ê₫ß₫ù₫ÿ ÿÿ ÿư₫ê₫Ø₫ß₫₫₫)ÿCÿeÿÿúÿ[­J öéÿèÿäÿSqrX­ÿÿ¨ÿ×ÿ (¿ÿ‹ÿgÿVÿXÿqÿ¤ÿđÿW©̃è́øîï2OXA ÿ?ÿWÿVÿÿÚ₫Î₫¥₫₫ ₫Ù₫*ÿtÿÁÿèÿæÿ°ÿ¨ÿ¿ÿøÿ €VÓŒ‘ÿâ₫¾₫ÿ‰ÿÇÿÿÙ₫\₫V₫t₫Ơ₫Oÿ¯ÿ¹ÿ¤ÿiÿIÿ3ÿXÿ³ÿ%½m Ckp^9=V­ÜÆ–k•øÿlÿ ÿo₫æưư*ưügü{ü¶üVư×ưe₫é₫Yÿ“ÿ”ÿLÿ{ÿùÿQˆ¡´¯yô'ơ÷,&ơÑæîm’¿ÿÙ₫₫m₫e₫;₫ûưêư§ưDưứüư[ưƒữưD₫™₫è₫bÿûÿ  =ç|Ññ₫U™R$Đ>s½ÿ2ÿ`₫Êư^ưJưÜüêüăü/ưư³ưÔư₫F₫ÿÿuÿ†ÿ;üƠé¤8Ç 3₫ƒôeïḤ̉ôóơ¢÷öküƯ¤A›  .ͳc3ü®ü’÷µ÷FøÂơeö•ø%ưj!u³\¤'{6ư ?‚E-…ÿ¹ư ̉M®ÿYÿmưÅü(ÿ3ÿ¿₫Hưaư¥ÿüÑü}ÿ}¥ü˜Ô"₫€p>à´ü)Ăàÿư₫A¦«uÿ€ư@ÿüÅ÷³øøƯú£ú̀ø¾ø°øúoö`₫đó₫ÿœZ2DYÏ€öçMÜ]%’ yư­ưú3ü‘ơ·ô;ö¬ø¨øƠöúö"ûùƒô–÷Çú=üœú)° dÿé áâ $= „f {/Såïûk÷÷üøđó²đ@̣åïñçözơíó¶ö¹ùLùYö²ø¥₫ăÿ0~ )œæ JeŸ Z mu… z&©ĐöƯ·û+ôj÷¥ø†ïûñöóƠô?đïậ¬ơ@ö ö ûËø©øưûÿ2º®  R « % » Ó 1Ë1hô Î b å|₫.øúª̣7ñÿóßôôĐñBóỌđ₫í`̣¿ó7û₫ú«üï¨ư₫¿Ñ ‡Ï¥̉Ơ¾ ₫Ü xÁ}P±{ø₫ọ́™ñûđØó%̣Ï÷Wó#́¢đÈïºö6ó‰÷^ùnüq₫Ơgp @ ½ëÇ P¦wÛ4¶ Ó ̣ Ç«zû“ö‚ơö€ô4ï¾ơïơœñfđ—îéđÉîóU÷ûPûçö¢ù̀ÿ9 È 9 ₫ ' qÊ—4ßmÅ0 v(5o“ü(öÖụ̀ñeôZợ̃ĂëœîÏî+đûîáôQù ø<øHø©üe2f £ º  Ë4LĐà© đlS₫ÿUtü’ôẒàó–ôôíSïcînîĐ́î·ô5ô.öôơ¦ùM₫?ư%ÿ[Ô¬˜ëgY¶|v(ù å ®îúK₫₫cü`ơ ï€ôkï…ëḈïcí…́ÜîDôÙóơ0úÅû=¤üaÈD €¨_÷gĂW_?‰‘ éđ%ÿ\ü2ö®÷¦ñđëë ñ‰ôứLîWíøî]ïAóQûÁüßû×₫¦₫÷m·Lœr ¡îº:¬Ô ñƒ]ÙüÂùNö8ô¸í±ê›đṆ̃YóYîNêwê đ°ø˜û¬ùS÷Sûr_Äß ̣ Ëj‡œ¬ œÈ„ü2û%ô¦̣ụkñ´ôÖñ%đăê:́́:đƒ÷Rư?ÿxüÔ₫»† -J † = ̀F¡t|©äđCÈư[ÿÑü„÷"ơ­øöáóñ2ô ̣ä́ê¤íÁùÆ₫₫úŸ * T ø …½ rȆ¤É Duưyÿ ư ưlùCù0ø3ơ÷Ùö*ô<î ́\́Ió¡û§₫c² ½ s¾$ Ñ l  ´^C|üŒûúùÄ÷uơ[ơ÷›ö‚ôSó ñæđ̣ú{ư²₫ ¢ˆsGÙ§ÿ* c À·µÿ*ùĂ÷B÷ơóơ_örù#ùäơọăï¤đQô¶üúi ¤y ¥ ƒ D bÄ« •™#€̣ç₫Ëùøøx÷ÔôỴ̈³ó†ôđôỴ̈ñđÚïî¤̣”üás Œ  Ÿ ơ,¦8 Ø Í dt¯jÿü₫øöơ]ôiôµ̣óµñMïUî.đ̣ùØ3 s L u  ‘ S `f¯X ₫bûQöÑơ®ơ“ö6ø›ơ:ọ́í’ïơ«¡ !  ̣̀Ó₫½ô Å 8hỌ́?‹«üÎú‰øÓöø?÷kúøwơ8ñ¢đÏûư ̀O3 ·àiP=  p>&ÿ@ư„ø«÷¢ô®ôđô3ø§ünøáóQï†÷“o’ < ± @,̣‚ * w‡Œ·jưfù‚÷ëôđñ¿đṇ̃eúƒú'ơkïöä ~ MI A K‡2Í ¢  ‰²ưwù…÷»ơỌ́\ñó‡úEú‰ơ(đÔû$'° ơG&Åé₫ đ Ï cÿäÊñûøöô‡̣Lđ+÷ û|úDós÷ÓàßĂéßưtZ • Q₫O₫ûnÿ6ø ôó­ôfñbộ÷½ù¸ôùáªÖyàÇ ºÿù= Đ ˜₫ư\úÿû†ô¸̣Đ̣ḲTôvøSùBơuûq ê¹^y[Ù»ÿ¶¨ " Zøûpçưïúªô·̣5óạ́z÷JøÇøö¿Ïh‹ ́ô;„äƯ. n ܇üàû°₫ÍûÎ÷?ñ‹ñpñ‚ơøj÷„ơưƠ K™×‚ AmIHj Ràú₫Uüœùóeđ=đ…ñ₫ơ÷öđ÷Øí 0 6~?X Ñă Ï ˆçụ̈üư#üö°đ8ïbđöMø÷8ơG=b ‘¬ư5 ³jD6 8 †ôü÷ú•ü₫Zù-ñîˆïöùßömô»ÿFîïq.ưS }ßI{ '  ºư úGû‘₫Jụ́Ǽî«ơ’ù₫ö]ó³ưÓ ´Y¡üQ‡ ^ ü̃ ̃úAùZưPüôfí"́ồùÆøçôÜüü ‡gfûP{F —âN H ®úø¤üDü~ö îý-ó%úËùç÷¨₫è ª× ¥úÅÿộ 9% í  ö0úËöiûăúxöÉí/ísóú9ú9ú2ư ®đ à˜ûE+₫ osÑ îêøúû÷cú‰ù€ơ9îƒî¢ó†ù#úühN ' Ơdü0ié Û9û‘ gZû¯ø-ú¥øàôîđVôúû:l*¶ÿ ư˜̉ÜÙ<äxº]ú“øø̣÷xó@đÀđhơ₫ù‰₫_ â Û Ÿÿ‡ÿ4U„UF-m«₫úNø¶ö­ơơñ,̣óO÷ˆù2Kä … Ô+ÿƠLÚ<*ÿá寂ü¨ùc÷ ÷¾ọ́%̣<ơĂøµü:z¬ ¨ ¹úÿZ¸ß̀‹`rû­øööôỊ́¡órô]÷øù$Àª ®û‰ÿå¢ÏªlÀ}™Zư ù½ö ơ¢óƯójô´öø…ư}n ‡ ÍbI5Ïíæ ê¨÷&ÿûúÑö'ơ„óØó~ôươp÷Çú“§ Ä ©Ç„s"ç_í†Hy¬ûä÷Lô8ó+ó†ô<öa÷búe  8øWđQỊ̈ÔgQü§ü¼÷oôó óvô¸ơ÷¬ùœÿ+Ï c ÅÀÿ'ª±f~¬q·fưYøÙôª̣óäó4öe÷ú’₫uí ” ¦2ÛÿUå&-`iyZQư6øÆôẹ̈;óRôüơk÷̉ùUÿÓ ¥ §Î¿îM$…&rªüø4ơó‰óôXö ø[û‡.É * ~ ămg»° n§]Æ3üŒøXơ¥ó½ó’ôôö̉øeü•Œ  ¶Hp0¿ êd)>Ÿÿü†ø9ơËóÂóưô÷[ù~ưb; ¤ ó‹ä°}hÏĂ’²₫©ú÷ôwóôóËơû÷)û¸ÿUƯă * ?0# !«B¹¥ơÿQü øtơ¶óäó'ơ÷Dù¶üV¤ ™ Ÿ?âÿ²w ¡yPoưúö}ôôåôSọ̈÷û½ÿđ Ë “ƒ j¶Âè₫!ú@ö`ôíó7ômơíö;úVÿ‰¢ 'Ü;zÿE£ñKƯóư½ùö[ôËó[ôFơàö3úgÿhÚ6PêÜÙS±Û̀1ứù‹÷OöVöûöÇ÷ùNû£₫Ư¡n‚<&×|ʨÿtü&úwøi÷Đö…öåöAø¤úºư"uåêE*ÊV–P1kTưhú=øŸöŸơ3ơ½ơ™÷uúÛư†…7›Lw)ß|¡Û) ÿâû ùæöMơlôtổơøÏûÔ₫.?UfÁ1 ùx g ±’.ưúl÷ơGôäóàôe÷¸úëưcu¿“r Œ 6 Ë$Û±´=₫Æú×÷ ơ$ôzóÿó*özùóüĂÿàé#K  ù ¦ " yNPbë₫Vû:øËơôó5óơ[øü?ÿ«ÂBç ‡ \ Ù ) .c×ÿüøÊơÁó„̣x̣ ô÷èú^₫uÍ1 ù ü n Œ YŒÛe„üÖøØơ™ó3̣êñ<ó;öúÓưßnæ_i „ ±   ¼Î%±¾üäø¤ơ1óŸñ=ṇ̃~ơ{ùrưµaå`„ Ú @ Ù ß a Pƒöçüçø„ơọ́HñÇđ́ñ×ôáøóüZ³G  µ q } ø ×ÿnPư&ù‡ơẶèđ2đñâọ́÷7üÜÿ׈1¢ h >  9 « ‚²/₫ĂùØơẠ̀đ™ï1đ³̣·ö+ûÿZ3ö © ¿ î c : oÿö₫úlöợqđïJïñfơûù@₫ÏâÅz « R£  ñ -̀×ÿû,÷bóđ¾î€î:đÙó{øưíCT5 ¨ Nîpü Đ ̀ó¨ü?ø6ôúđÎîîï7̣­öfû¡ÿA†˜ P OL%ê Ñ  ê;₫³ùzơ×ñ&ï¶íîmđômù₫…¼© p½ä jØÏÿjû÷óÚïÎíCí´î'̣Ùöºû&· w kAâh  ¢ÈŒưùÈôñLîǾ-í¤ïâóéøÂưæd „ „Ïăå  ·ëÉÿeû́öÆ̣iï#íḾmí­đdơ}úKÿœ€ Qm<Î\ 0 …}2₫»ùKơGñ$î7́đëÇí›ñ’ö¶ûˆâÉ@ )(̣e¢è x Uơüƒø6ôlđŒíđë́$ị̂÷ü₫}ˆ  ëÇZ—¥½ ' &ê‹ü"øêó<đ{íưë)́Eị̂Èö¼û2 Ï ¸¡U¾ç  l7ưúø̃ô3ñRî́ýîañ¸ơ}ú9ÿ­¼T X¯‘Bà « úÿéúÖö#ó&đ/î~í8î`đÊọ́÷aüḈœ½ LÍW¸0 7 ƒ¶₫Ăú÷»ó=ñÉï‰ïrđ<̣Ôô(øüáÿXoZ  7 ª ­ƒ?âüù‹öFôæ̣Ṿ̣[óæô÷…ùEü$ÿ ̉sÉ ¢ ·  b “ G §§₫Üûuù¦÷…öéơƒơHơZơîơ(÷ù}û"₫Ôs̉Ïn ® l Ÿ H E N‡₫ü¢úù}ø\÷Fönơơxơ—öUø’ú ư€ÿ̉,Đ D 6 ` ¨  ̀1¢I₫-üú%ùÙ÷¯öÚơrơkơÑơÈöGø ú)üL₫‡̀ 1 Ÿ ‘ Ë 6 ă Ö‘ƒƯÿ‚₫1ưàû»úÎùùpø8øløîø§ùú‰û‘ü¬ưă₫)~̉  ƠSwJØ#K}­°œ¦ÿÀ₫×ưưĂü™ü{ü~ü¥üÆüÛü ưGưưâư[₫Ó₫3ÿ’ÿ÷ÿT£öF„·́)dl0́¬gÑ”\Äÿlÿ)ÿÿ₫ç₫ă₫ï₫ù₫ü₫ü₫ö₫ê₫è₫û₫ÿ5ÿKÿbÿÿ§ÿÑÿüÿ.g™½å ă³{I.+.1<EF×ÿ«ÿ·ÿÏÿĂÿ—ÿ`ÿ%ÿƯ₫¨₫¼₫ÿ;ÿ…ÿêÿ18$Óÿ³ÿÎÿ0a‡‰rƒÎ/Œ̉ăXº5óÿÔÿäÿ ¦ÿÿ¢₫6₫äư¥ưyưYưVưzưÇư₫¶₫¾ÿ‘îC¬5q±¤<Ù¹ÁÀ¡|ÁÿŸÿ…ÿTÿ)ÿÿÿ/ÿÿÈ₫K₫₫₫I₫›₫$ÿ«ÿÑÿíÿàÿ’ÿdÿÿÔÿ)¡ùƯ‰_U:2¤ß’HÆ®¿êsDÿùư%ưÙüư®ư1₫¢₫ÿÿÍ₫₫̉₫ÿÿ^ơ#:- Ñ­̀æô#á™4îÿ×ÿáÿàÿÛÿ£ÿRÿ ÿç₫Ư₫ä₫ÿSÿ¤ÿ½ÿtÿ ÿö₫ÿGÿ‡ÿñÿMw†kÖÿÆÿÉÿæÿ%o{ZDd’Ăê&+ô²] ́ÿËÿ©ÿŒÿ_ÿ,ÿÿÿÿÿ:ÿGÿZÿ|ÿ™ÿ¬ÿßÿóÿ(m™¤’e6 B6#'.HJiIA<åÿéÿíÿÎÿÿ¤ÿrÿ“ÿlÿ¯ÿ]ÿ±ÿ~ÿÿđÿt%w<wT^tDxÖÿY‡ÿGÿ’ ÿ%¸₫Ưµư¯ùA«̣Ơ‰ÿÀưÊ‚üƒvûaºüdü¬g÷üq6²ưÜö₫mÿX›₫²±ÿÿ³“ÿö/N»ÿ!ÿ ÿ_Ăü\¼ûÅÿ=Sú_’úèÿ₫]ưyb₫ ¤ÿĐÿBNY\ÿ g₫ÓM₫EÿQưöLư[₫₫\èrÿÏBÍüÚ‘ù0Aûíÿ/ÿ®ûŒ0ư¢€ÿ ưËöú}ÿÙÿÄƠúÎúË8ÿ2₫”Åû60₫Ưÿaÿ˜₫eéơœ₫EzüáñûÚư˜ÿXü±₫nÿ¼ư:·₫₫$) «”8ÿïÿ»ÿ₫-…ü}÷₫‘ư†“₫‘|ÿÿ'Å+9ưx₫û{ ư§#Øüw”ùèöù#?ưqßÿå₫¤÷¥ ›ö@fưâ₫Úăû£ü…ÿÿä₫·˜üµÎüäƠPü3-û)úoú¥äûäxb”dû½ù̃₫:₫üÈü©¿û*üư¶Dÿª₫Kdư$́₫”₫lÿƒÄưxœ₫–ư÷ÿEü ™ư₫M´ü'₫á.N₫­ÊÿnüüªDÊüaûkưk7ÿ-ư¹øüAsüTv₫µư û­¬ûïăxçŸ₫Ïü¸á–û´ü|₫×ÿüœÿư,=œüBư~¡…ŸÿZ̃₫>êoËü¤{ûâ*ü ĂÿÆCñûùTù*¡úk½ùº*ÿvû¤̃₫8„₫̉ÿqT₫Éÿ-*ü{5ÿkÿ¸ö₫pÿ™©ú÷°‰ûHư>6ûúùbÂú)nü9̀ÿ)úˆ÷ñüÿ¬ÿódưï>Î₫=·6ñÿƒáư$hü¼5úÉq₫ ₫¯Gûg+û·Cüú₫¾&ü  ûtsư/ëü•ÿnÿÂưÆüïù5€ûüÿkêư´Ưüºsÿ×l₫0JwưœñûË2₫MJüưiN₫)Yưû•ưÙ‘ÿØÿkÿ₫ÿ"üÿ<ùy₫>ü9úU˜ø¶ÿ"û)œưqÿrÑ₫¨₫Ö@>Ü‹YêÈ…<”v¾Ë<ÿr₫ÙùhưüöøùTóÀùôQù"÷ù9ü@øvûđå¤m>‡ < é± ® ïs ²®­¤”ÿ‡únø&ö ñlđAđ*ïï¤ñạ́Cöêö»ú4ưâư4q¼]”rË ;Ω ÄHÅ Ê/ ç<: á îÇ«₫?úXöñhïJ́ûëÈëtêˆïơî«̣Ëö@øCûÿÿHÿ÷Äñ1   ¬: – QÀ%[£­7 ñ x/₫}ù¦óÓñˆîëíZêAíªíªï|ó–óŸøŸùÅûvÿDÿ­•ù¦`đÇ x  °Đ‡–S}Ä% ¦ø₫6û^øẉçđí%íôëxíöí=đFñ”ôOơƒ÷ú ú–ümư„ư(ÿ>₫¿Û ¢ <ă4>Û„¼ú™úóÜñïîíKï+ïñ\ô1ôv÷øØùù#û†ùæùWù̉úư÷₫‹  ‱‹>S{“ ü=ú¯ó‰ï(ïßêcí̀́ị̈âó’÷ºøüû̉üoưăù¿û•ø+öå÷ôó«ø̃ưüå_ O Ń3~̣û VưØö ̣́é®éôæ„ëíÓđÆơ¬ù-ü¾ÿ'₫ÿ{ÿ“ûû ÷Cô;ôµđ…ú’÷ÿÚ ‚ ”Ư6!IúÉ…g 4çø9óÆí5æGæRå¢äBêÿí×ñqøPư­ÿ–œ{ë¿wưâúưöó7ñÚñ†øôíÙ®$Ï «  œ́bë÷q÷Rñ©éËåă±ârå¶è¤í­ô,ù¦ÿl•Ú›¶Ú”ÿåúVø ̣úđ\íV÷ÛñŒû·•"4r!>! S3€, ăùẸ•ëtämä´á?ă è’ëºñÛùÛưÑ- T s — äó₫Ùùûơ"ñ[îŃôơđ ûŒ‹P@ê!· öFoK( H’øỌ́ªëÀäíäăEăLé{́ñĐú§₫€0 Ÿ l {-ºÙùÈøèñ'ïŃ ï€ôÈïs̉‘L¹ÿ Û¨Ÿ¬";ÿ¾÷®̣JêGç æ»ă´çƠêlî»ơ¨ú~k¥ ³ ç $› —ñ₫üÀö ơ,íRî\é„đp̣®ñ€Ç₫× ¡OK˜‰Áưç(—₫Ñø‘̣OënéGçMåé́¯îbö üÄÿ‰S · ä;ï ) ÜÿÔúçñZñBềéæôíÆï¬ï¬₫c ÿƠå®!•· w}ÆC q©ú-ô<́|êÀçïäwèqêv́ºô8ùùưHf -W)ø<%ư(ø(ñ ́5é̉änæÜäßïîø’)O6qö##¬"mwÆï)₫ øYđWêRè€åhäèsékíeôløÏ₫ü@ ‚ ưMß$ØÄ©5÷Öơ7îàç{éÉâæ æÖëÓơ[ộ bß!-(y Ă!Åx‡ùư½÷¹đŸéDænärâdäyèîéÚđ÷ö“úI€ q ÅX-̀ñ ®RÿVø\ơíƠéˆèÔäÿåé„è„ö»÷®₫¾b Ù !ïG$–$2ÿ$½ z7øṬ́Wæûä,äñâ5ç­êïíbơcú8ÿ/¥ _Î|èK|Hâ(ÿ úáñÀîÎêæ›æ?åzçÇêîPû,û©‡ƒO #Ê$±IÎ ‘kúôáïT鏿hæµå™ḉAïAô‹ú²₫Hª} HØ%ó”@ \rúÉù,ôÛíøîŒê/éôëpê,ïưñ”ö ' \Ń$ëxü) óR­ùươḷaí́Öëéêí đ-̣4ö»ú³ư®}ß% ä I » ¦ 4=}úAû8ơ ṇ̃UíǾïíñ%óÖø÷₫·­ ‡ ̉ ß5´$ ûxÎúø[ô¶ïQïîíHïüđỌ̈®öÜù¼ü|U] ?A Œ zÊ{ P ưcÿƯøCó­ơ¥î£íUḯêĂîFđËđÚúSû, , !#Ñ;×+ú,” £ ·\ü9ùoóï îàë™ëíÄîVñ̀ôâø‰üS¯t ÷ û€ 9eÆÙưüÀ÷~ñ$̣˜íHë+íMëö́Bṇ̃đù ÿ– 3åf-y n·9 árbüßø̃ôfđêî‘íî́îÏïưñơlø*üÿÇèå ` ± ª v ̣6­ÿUưüßô ộ~íÁîkí́́'đ¯ññô™ü¤₫mĂ 6 ú?3 *ô|6` Z‘û9ø¹óđî,íí1îđ£̣ơQùåü»ÿ«.CR ¡ < ̉ å³Ơ”ÿêüS÷©ơḷŸïùî)í®íïađ;ôÎú¢üâ ÙbÆơÑî¡t ; hĂưÙùiơ[ñïJíố9í‰îAñó½öÙúxư>Ï(3  J ^¤ : àyåÿêưNø>ơỤ̂Iïçí́́ú́ÄîađĐöú¥ưG@ ñ œN$ˆH÷PÓ ,¦Xü¬øôñ·îqíÑí™íkïṿ¡ó€÷™ûËư8Âtl ˆ ø … ùÏEñ₫ƒù„öô"đ̃íBî(îYîôn÷½ù » ÿM¨q³;é y ÎÓûI÷ûô6̣“ïđïïÅï?̣Bôö¥ùeüZÿfZÂy ‰ J Y ´ Éưúúơ÷ơœóẸ́½̣Vó.ö‹ùuûÛÿADy Á ¸S«¹ ¶ v ]|bÿư"ûƯùØømøoø³øaùhúUûwüˆưr₫eÿ½ !̃‹2Ôÿ™ÿ]ÿ[ÿWÿÿÊ₫q₫₫ưưïüĂü²üÛüưtư₫¿₫£ÿœŸ¢Tÿ¢â#ư¾pùfÊQp” ÿ´₫ûư&ưŒüIü̃û·ûÊûÚû#üüíüwư₫t₫×₫ÿÿû₫¡₫₫ưƯü7ü¾û?ûÿúûbûüúü,₫¢ÿ6Öxá39Ă6 E Üh®™ }4æÈÿÚ₫óư9ư¯ü/üäû²ûû û·ûØû,üqüºü'ưqưºư ₫-₫N₫[₫7₫₫Úư{ư8ưâüü{üzü«ü'ưÎư»₫áÿäC&°øDLWPOs°„ÿÿË₫ƒ₫P₫₫ăưºư‹ưNư'ưüüÂü¬ü•üü“ü¨üĂüư7ưsư½ưîư'₫V₫c₫{₫₫l₫w₫u₫~₫»₫₫₫cÿ₫ÿaDç«B¸ơúÔuñXÚ'pÊ?ÁÿXÿÿ¼₫ˆ₫\₫,₫₫ïưÉư²ưưcưKư(ư ưưöüîüưư9ưqư±ưûưK₫™₫á₫!ÿ`ÿ”ÿ¶ÿáÿ#]‘̀&{ÚJ¤ c–Îàѵl»HÏh¨^Ưÿªÿ€ÿRÿ(ÿ₫₫É₫‰₫I₫ưư«ư`ưưÇü”üfüRüUürüªü÷üiưëưu₫ ÿ²ÿBÈM¶<TN?!í¶}> âʶ©©µĂÜô !çÉ™XÚÿÿMÿÿÆ₫œ₫x₫^₫U₫T₫c₫w₫£₫Ï₫ö₫+ÿWÿvÿœÿ³ÿ¶ÿ¼ÿ½ÿ®ÿ©ÿ›ÿ„ÿÿ‚ÿŒÿ¡ÿ±ÿÙÿ)hŸÄù>V\edCB(÷ÓÁµ™…xXA/ åÿÇÿ“ÿjÿFÿÿè₫·₫“₫†₫q₫s₫ˆ₫—₫Á₫Ư₫ÿ3ÿaÿ‘ÿ»ÿæÿ6So…œ®Á̀ÖßåèØ̉Ïɽ´³¡†vWJ4 èÿÖÿ¯ÿ‹ÿ}ÿhÿ]ÿVÿWÿ[ÿ_ÿ\ÿaÿYÿQÿdÿnÿÿ‘ÿ˜ÿªÿÏÿÉÿôÿíÿ'>Brl“}~ ‹Œ–~™JZTƠÿ¨ÿ-’ÿÿÿfÿjÿÓÿdỵ̈ÿjÿÊÿVÿ–ÿ±ÿÆÿq:Ẹüëưt¥₫˜₫Ôÿư»À₫`₫á ü1ÿðøÎJÿÅ₫·ùÔ”ơùĐ$ưMưÿVÿÈû ưü\ÿåÿ•–¤Ăÿaωÿ4’®2$ưÉúưúu÷úÓưYúKüfÖÿÿ”¸é>Ó(NØ₫ >ÿzÿ3Fà™Ưÿ³f1ƒ tÿûßmf₫4₫̉ư—ư‰ưD₫₫„₫åÿvưÖÿm₫¤ư·Ïư¯ư$ ÿr₫w¦NX^₫·£ư ÁÿëüxK!ÿAà-'Üơ|g₫ ÿtÈÁÿĐÿ$ÿCdÿ¨ÿ<ỵ̈(ư­”ưE₫Ê₫¥ưư¼ü’ưOưÍưü~ÿ¬ư^ư}ÿ₫₫zÿbưƯ₫›Ôÿóÿ†–*ö É¥p º,¨₫ñÿ8ư ùú¬øHơùơFöÓú´öâøU₫üúû,–ÿưå´ÿ¼₫u kÿN "i< » < Í M :—â₫y²ưóơø˜÷F̣\óóṃĐ̣ƒósô*÷ơøÏüË÷çû@=ÿQưÂO@>Yk P ó @*CqÓ  ^Âü•ûuú¯ô\̣Fô†ñ.ïvđöñÙñøṇ̃óÆö¢÷·öIùiü]úû™ÿ4¡ÿî²=“ –Å9 ñ!Á$„ *©û£ôọ́-î~íGï°ïAđWñœóLö÷÷ÚùÁùHù+ùäú»ûüæ₫çeç { ‹÷9äƠÙ ’ ùåókïî ́˜ëwí¯ï¡đ¼ó¤öd÷¿ùûäúDú0ú́ø̣÷5÷î÷ú§üw₫›¾: ˜¥{€!"!\ ÈáưNö~đêøçvç,ç,ëdïÿñæöZûÇüQ₫\ÿj₫Éûú øwơMóô“óơtú₫l ‚vû&¦*;%T¹{Lư¾ơ)í…ærávâSăưäµëậHøm₫'>“¯ưwøkô´ñ îàíªîƠđ_ơ üjG ¹f$V0#.đ'®$ ÚùḌç"̃̃ßÜ̃Ưăàê×ó€ư˜_ â P h˜Iụ́IîŸê]ææcêRíïôêú\ơƯ;%Å3 6/+%P ư´ơ’èÛRÙC×ƠiÛâ©́™ø+7 c‘Øơ¦ ,Aúkï0́iäÈß%àơâ‹æ4ïhơ•z7)ô7›8,5 2Æ( {5ÿü÷±çÄÚ®×å̉TÑ2Ơ&Ú'æ‡ñ=úQ åFù Ë"Ö©aûụ́©ăÑƯ„ÜÖˆ×ÑƯˆäcđ÷¦ á~"¥/;K:,60)(c $₫Vơ™å)ÚŒÖÿ̉Q̉3ƠÜÚ5æÙî~ø’yí$Ù'"’!́ u₫>ñéáî×+ÙÙoÛ́áĂéṾ.ưZÓoú(C._-˜+¥' !/< Ù>ú5đÎè½ă à̃̃ăá8è]́åóÎü–F ’F~n‹‡ ˜p÷rôîÄềéë@́ẂñóúTÿ¿ơ₫ ,ỌmTóú P /Ó6ưGúøÖơ|ôŸô₫ôösù§ûü₫¶k«¹Dè>²¹̃ÿ‚ưû₫øïö]ơôóŒóJôÄơÀ÷ßù“ü;ÿ·dOt < ¨ œ ® Ăœˆ%̃ }Èqr^GHF>Ơ»£1ÿÊÿ/₫ưü-ûNúëø2øöAöơơơĂơ£ö8øßùÁû ₫Wµ»–]¹ & Ú ´ D R Sën”¦EÊC³j°+›ïÿĐÿŸ₫̉₫`ưư&û{ûûà÷Nù̉ö¹ø÷AøĂ÷CøUùRúBü–üÊ₫̃ÿ:ÉcÇ%S/(²â4¬̃ÎÂÁø +àĐ5UèÁÿö₫€ưüûÔúúeùBùùBùKù›ùđùFúFû5û̀û.üưËưD₫'ÿ­ÿ—!ÄÑ\Âû>{…te¸"w†‘qZ$ÿ+₫7ưƒüÙû‹ûBûTûpû—ûñû1ü^ü€ü{üBüÿûrû"û«úZú8úfú²ú`ûXü”ưü₫f–ö!µ ï­*{¯ưM¨‡1ÊVô›ÿ"ÿ˜₫#₫¦ư;ưïü§ü|ünü_ühügüJü?üüÁûzûûĐú•úuú†úÊúAûü ư9₫ÿ˜f‰z@?÷o³Ü/N‚Ê.®EûÿÈÿÿfÿRÿ-ÿ₫₫·₫m₫ ₫”ưư|üàû2ûúú•ù0ùöø̣ø$ùxùúèúßûôü%₫pÿ¸ä₫äW~{[7¸w:̣¢;ÏM¢ê$Khÿ₫»ưưuüưû¼û™û•û¬ûÙûü8üLüWüJüüÙûûMûûóúûJû»ûgüYư|₫Àÿ{Ø̃eCË(h¦̣A£ ¸bÏ›VªÿEÿÏ₫J₫Àư<ưºü8ü̉û„ûCûûÿúûû$ûFû{û°ûëû7üüüünưöư›₫OÿâÁœp2åzá*QP+ë˜/±&™₫W² e¼ÿÿ‡₫₫ư}ưư¾üzüHü(üüü&ü6üOübüoüzü‚ü‰üˆüŒü¡ü½üçü,ưư ₫¢₫Sÿ úƠ°€7É6~™ˆY¹P瀶Vü™-ºA¿ÿ.ÿŸ₫₫–ưư¹üsüEü-ü2üRüƒü¹üûüCưƒư´ữưüư ₫₫₫₫₫ ₫"₫U₫£₫ÿƒÿ%Ơ†:éƒûO…—|D¦AÚ~*Ó„B¿u,̃ÿ‚ÿÿÂ₫f₫₫³ưnư<ưưùü÷üưư>ưrư¨ưÜư₫D₫v₫›₫º₫ß₫ú₫ÿ'ÿGÿpÿÿƠÿg¶ `´₫;u¢¾ËÑË´˜vJÛŸf&ă¦f&çÿ¬ÿsÿ5ÿû₫Ä₫₫\₫*₫ưưØư¶ư˜ư†ư~ưzư~ưư§ưÅưéư₫T₫₫É₫ÿWÿÿâÿ&n®æ$^”È₫2^…ªÅĐϾ¢v6ñ¤Oö Jôÿ¤ÿ[ÿÿ̉₫–₫c₫3₫₫Üư¾ư¥ư–ư‹ưưư¤ư¾ưäư₫A₫~₫À₫ ÿ^ÿ´ÿa·P¸Úëïë̃ɱ”{bC%æÅ¦…b<óÿÅÿ•ÿqÿQÿ-ÿ ỵ̈₫Ø₫»₫¦₫›₫’₫₫–₫°₫̀₫ñ₫ÿBÿtÿÿÆỵ̈ÿ3Scw‡•Ÿ«´Á̀ÊÆÅÅ´¨˜‹bJ5#úÿñÿäÿÚÿÎÿÉÿ¿ÿ·ÿ®ÿŸÿ¥ÿ§ÿ£ÿ“ÿ“ÿ™ÿ”ÿÿ„ÿ…ÿ‹ÿ…ÿÿ“ÿœÿ±ÿ¶ÿÄÿíÿơÿ8L^_kv|{r{{wnjjeZXKG>/  ÿÿéÿÚÿÁÿÆÿ§ÿÿÿÿ–ÿ›ÿÿÿ©ÿ­ÿÆÿ®ÿºÿ¾ÿ¾ÿÉÿÉÿËÿÖÿØÿÓÿëÿêÿ!2BF^]\ZiyolK`[KLH=O462"$'åÿ¯ÿÿkÿRÿFÿ*ÿ#ÿ3ÿJÿ^ÿvÿ‚ÿ¸ÿ¶ÿ÷ÿÓÿ₫ÿA Kùÿ ÙÿúÿÏÿäÿ!`Fá*°¸ÿJÿáÿ8û₫+¼ÿbÚÿ¼ÿˆÿ›_7  ÿÚøÿüưhÿ;ư ÿÍûB&` ₫˜ÿ<₫Æüâú¦ÿ¹üöûPºÿ¦û£₫ïˆôüMytÿ#sṔƯ₫ Qúư|₫4ư´üöö øÙø.ù$ù“ư¥₫·ÿ Nù·èHª8†Ñ±ư6₫̀úëøßøù™÷IùæöuúWùâùúúÉüwußÅ₫ ü|ư7 Ơ ,¨ûiưhù öÇơ(ô.÷OơÇôvúÏúÇøFư+ûâù0ø;öÍöộÂọ́sü ₫9 ÷à½X„Á©(hYèûÑôHîëBîöî'ë<ơÛø$ù½ûÿœưÏúĂ÷̀ùÙộúïÉökMù5W.Àđ3!̣"ª“g¯üDóÇëvâƒçïèˆáố¤ơÑó̉ø=ûÖưuøB÷]úÄơî ô øüVœđ<r$¤'Çbç$ ¡Ÿúªô¿é$̃7æºæ̉ߦëëó!öîö,øưOøWơx÷ïôGï^E(~w5(@.T¿ ø–í©êíß¯ă¤æ'ä ï¾ñÛơ^ùböÈ÷²ø;ôöíèûL 9üađÈh!̣ơ(¿"²ù ¸ư¾ù íyé7áößrè}ä]́Oơ ö*úLøb÷ûÈô»ơ%đ–ù? ₫ÜuàĐ |z'"q̃ xúNöSëƠèîàRà5ê>è0́öö×ø‡ôGöxúŒñéñÆó±è8rw Í É"¨&Y&°²Ü1₫!ó.înè1ăß’æ2́éé/̣½÷yöáóỤ̀;ùỤ̈îióTë¡ ª$Â$–")¦'Ơß׳üïÈëé<ăf̃₫çøí¾ệđ8öpơŸđhó4øị̂£́Úÿù ¼N·!O)Ñ$Ø!{*5då Œkôêêçé›àWä¬́uí_ïđ_ô¦̣ñ‹ôôèî§ÿd è $`!V*¬'é" 'ù´Y e₫Ăóëæbçwâåsê7́ î–í~ï²ñSñô‚ñ{÷2« ‘2$ô&*+A$½%­!1. 9'ô«î{è¿è¼äfå‘ëêkëàë|ë‰í«îX̣Úṇ̃óí K®&™(A.™%†$Ø"Êø¥÷ôlïtç&éyçnå"́…ê'ëeê—èœî>îđ÷ï(úfH —9'D+Ä+)"J% T ̃Y₫ôCî„ét́é5è“́’ê éç&èíŒí®í†̣a W¬"m,›.|&¤#+"’¹ÿ̀öIï,é)êÁëéÓë ́>ë!èÑæHîơîWî#ñv°Ë…)–-Ÿ&K!‹"³‰ÏÿBụ̀5ê4é0í‘éÖèxéâé;æEäẾJđéî-ô^ _³}!£+ß.ù#›Qy9ûyögñiéœèếÁêNè׿`éåçĂíYñOñ“ư9'ß%.+¢!²™j ₫{÷ó[íÓè/éê¼é“åå†ä†åë¾íñ€ù« …FÅ%p+ï.^%6"x¸©gú#ơöíëé`çÁç+çä§ăqâ/äyêxị́)÷+ Æ…$?( .'—!3¤#®₫.øX̣íéç³åMă×àÅßNá¾èéë ñ¼öˆx#["^(#-Œ':"Iÿ ^øùËóüíµépçää9ă™à{ßăÈç­́Ṃ|÷Ó^k[!%})]'!m¬ %Ëú—ơRïïê¥çä,ă1áƯßGåBèÄî¢̣TöÑ=ƒ#~(Å#’ ̃Y …üü;÷ñïëç‚å¥ă'àÁâäç êéïSôfûÅT1z #ô"»Ür tĐü·÷2ñ¼́̀ç÷å’ä¶âíå/é$ị́6öüÄú˜ÅŒñ̀‡§¼ ¬ç₫ûøÖñ>́ñèé©åæ[êÉíóñ:ô˜ú°₫ È ÷•8R3 ´uàùÄơÚđmíßëpêíïđđôyøüûÁ₫«Đ ă y:+e¼ „ œÙÏÇü‘ùêơƒó…điñ©ô;ôö#ø‚úüưăÿ’ï Ö # y »´wưư2ü`úuøMøJùưùúÇú¤û¡ưÔü¹ưå₫øÿ °¤ÉÎ'Û™2›æ/ÖÿÏÿ”₫¥ư¶ư@ưsư1ư‚üœü{ư´üÇưăư‘₫ÿMx»đwô͹kÂ×ÿÙÿÏ₫|ÿ„₫µưÅưdü₫ÅüưYưư&ÿüÿZ¢¼~§ăyløü¹2ÿ_ëÿäÿè₫₫<₫„ưư—ü₫~ưƒ₫Å₫AF6ÅN6eÁZ“© ü₫‚ưp₫<₫ÜüÆưèûF₫ ÿ#ÿÿ¹µí" ¤ˆøˆG²4ÿæ¯ÿv₫Nÿf₫(₫;ü¶ư¯₫₫[₫uÿ”  vI“æÚ@ˆ1cºÿ“ÿWÿÈ₫ÇưÈ₫Éư>₫«₫0₫7ÿ^ÿs‚ÿáyèFZÆ”4^>0‹:ÿmMÿ̉₫ ÿéưâ₫̉₫ÿ¿₫$ÿXGÙÿ`1khÍ́™‰èNÿEÿ8ÿW₫ÿ¹₫\₫ˆ₫ÚÿaÿºÿäÿăÿSx₫ÿ!c¼ă»[Ap.ĂÖÿÆÿÿÆ₫o₫ÿl₫ ÿCÿ¸₫¿ÿª₫á’R† ëƠ Ÿ¦L´Üÿz°ÿ[ÿÇ₫˜ÿ\ÿÿ/ÿ½₫đ₫¿₫Dwÿ¥ỵ̈‹ÉǤ‚|Aóÿ-Nÿ}ÿHÖÿö₫Ê₫=ÿí₫ÿ­ÿ:ÿ(<MLđS_ë­Zÿ ?_ñÿĐđ₫Ê₫ÿÔÿCÿ{₫mÿ8ÿ -¬vr´íÿ‹C;ûÿÎÿ}ÿxÿ\ÿOÿ †ÿÿœÿEYRÿ^Äí₫Ă€Åÿ ₫¥•Œÿ¸ưyï₫Ù₫€đÿÿiÿ_ÿ†H4JˆÿC#z'/S7ÿ₫bÿ…ÿŒ ÿOÆÿfÿưeÿWÿ^ÿ wÿVD,n₫ÿB …ÿøÿC%nÿÊÿ‹ÿºÿB÷ÿ‹pÿOÿ’ÿeơÿÖ̉₫É%¾ÿ­ÿmÿѦÿ,ÿÂX ¹ưoªÿ^ÿ ÿ\ÿ«“ÿÙ5­₫kơÿ„“ÿ±ÿ¼ÿ(æ₫Qÿzó_₫R₫,£„ñư)ÿ³g ÷₫7ưÆÿ„₫¨dÿÆơ₫Ưƒÿ&ÿøÿÆÿœæ₫bÿkÿ’ÿơ₫4ÿï­øÿ́₫ö₫ÎƠ·ỵ̈ÿ₫ü$¤ÿưUÿ%‹₫Äüpa'ư±ưg´₫5ư™ÿÅ₫tÿY3ƒÿ́ÿŸôAÿ5…zéÿØưÍÿ]8lÿQÿ̀Nÿü₫Ă₫>Ơeÿ‚₫,ưPÿÓ‹*öỵ̈*ÉưKưúư±ÿ/8}#¤÷˜ÿÿ¤ÿŒ‘ÿ×₫ ÿe÷ÿóÿ6‚!âÿ³ÿưÿY‘;Ïÿ¸ÿßÿ#úÿÿ›ÿçÿ)p²ÿĂÿđÿåÿâÿêÿîÿöÿ!@$ưÿïÿđÿ)́ÿèỵ̈ÿåÿëÿóÿ÷ÿùÿÿÿîÿñÿöÿùÿ ùÿîÿơÿíÿæÿ÷ÿ÷ÿ"(öÿçÿ÷ÿêÿưÿưÿ́ÿóÿúÿøÿöÿûÿúÿ  ÿÿûÿøÿ₫ÿøÿ÷ÿơÿÿÿüÿñÿïÿđÿéÿùÿ ₫ÿÿÿ ôÿíÿîÿ÷ÿôÿøÿ ưÿöÿîÿơÿ÷ÿèỵ̈ÿưÿöÿưÿ÷ÿÿÿ öÿîÿîÿơÿ₫ÿäÿđÿñÿ øÿưÿ÷ÿöÿ ̣ÿïÿđÿïÿúÿđÿïÿíÿăÿäÿơÿÿÿöÿûÿÿÿ₫ÿøỵ̈ÿåÿíÿơÿæÿóÿèÿđÿúÿüỵ̈ÿ÷ÿúÿ "!₫ÿÿÿïÿæÿßÿèÿÚÿåÿ̉ÿîÿïÿ₫ÿöÿ"!₫ÿ!̣ÿO·ÿC§ÿ×ÿúÿÏÿ´ÿ?̀ÿ3I)!₫ÿ æỵ̈ÿ×ÿåÿôÿăÿÉÿ×ÿËÿëÿØÿùÿ÷ÿ !'&0)àÿßÿØÿàÿêÿüÿ́ÿÖÿéÿñÿóÿæÿ øÿïÿ×ÿæÿ ûÿØÿæÿ, íÿÚÿ úÿ öÿ! ưÿçÿúÿ$9'Y±ÿP@ñ‡ú{ÿƠụ̀Vü ₫¨iÿgjüÿ.œÿ¡ứ́₫.ư×fǜpûtỵ̈1óÁ É̃đ¬®Ç₫!ÿµú+ÿĂxưF6(ÿœ‘•₫ÊĂ3ÿ }ÿwY₫₫$ÿfßû)₫æÿùư“  ù*ú{₫úß̉oüÉ₫ ‚ưK ö ¶ưXùMÿ₫öˆö§ûÖûøù¹üAÿ~ưO:^(îÍ@ưiÿj,ÿYư-ÿ´ÿn₫…^çUËà₫Çÿ7+₫¼ư4<2₫áÿ§oü¨\ÿ-ưă™ü›€ư-pAÿMÿ_*ÿđÿ²[₫¿ŸÁư2ú&Öúÿå/ü°•ÿưmÿ®₫¦ÿz₫*ÿbÿûÿ4ÿ—₫Æú5ÿ ü€ù,₫.₫´û¾₫7«̣̉vú|c:ı€L£ĂAÿºÖưµÿÛéû¸₫Tÿ§úƠ₫¥ÿ¼ưÿœBÿß₫àÿhÿß₫e³₫₫pH₫®ư5₫WûH₫v₫üÿ¼₫ÿ×ÿu  µ̣(> â¬<ÑÿôúƠûøg̣*øóÆï!ôÇó·óKóû÷ú»û_Ù ̀ÿdơäº\Î+]ü¾÷;ô#̣Áô\ï€́îbëê¢́Ơípî‹̣º÷±ú­ưËV D`¹" $¯‚!¼ÉƯư¨ô`öûơómọ́¥đ¶́ḱ́‘ë ́ÉëÆí@ñ‡ñø¼* |Œi!Q!ÎP ^” å ₫2ünúƠù7ö®úy÷xï^ñÅíGê¦êœéÇé´ḉî öÄb Ơ9 ±Ûøaa ‘ R ‚ö₫=ü{úÛơùäóï*̣†êë¤ç/è‰æÂăÍê:̣e× Ó= pvÿơœ D T NX ’ ["Dû̀ơ'öưóèñkñOîäéDçzåđẩă`ăjûD ̉ W̃#gàȯ ƒkÍ 5 vz h‰ư`øåóqôơ5ïcî+ë‚ä"å6áÛá,áFûd •û%(¤k <<ÿe´ Ú ^ªà Uxçưỵ)ơföïíÊê¨æăù̃æÎàí»œĐ$Ñ  ô 0üWÙ ÿñ\-~ n¶†úÇơ|öÁñđëĂèrçá¨ăÀă߈û¼Ól: ;ôÿ¡ ñ ‘ ˆ 'L Ùå;ûúpöÇ̣¨ñ:ë>ëçăää¢ă”ơ=ê1V”^ T m?£÷ 9 Ÿ Á  *é$OÿZûß÷,ööñÖîßëäé­ç˜ç‡è±ê"úđ₫Đ ; Mô Ÿ o › d  $I ] ×P "ơ5%2ư«û!úDùÅö-ôx̣mđï²́œí–đ̣‘ôø0ư 5̃n D/f*ö ½ q Í»Åú₫ưú÷Iô@đǺ2êmègè@êdí?ñ,ö ûÆÿ0FM t~•ÀK[ ”  Ux̣‡ªÿoüÏøèôóđí±êrèJçDèßêîÛñÂö!ü4£Ç « pé„àÇ \ ƒ 3  "ưîüi%ÿBü̃ø(ơ·ñïçë éPçˆçœé…́Ođ‘ơEû‡ñÚ ̃UCÁ¼"¹  ] ºǵ&ÜdÈÿü=øđô–ṇ̃íàêè´çèÿêî ̣W÷Ơü†ư ¥9X6Zº ê * j=¥_ÍJ₫‡6₫?ûøWơỤđîÓDêÍè?éMëOîẹ¡÷8ư#|đ •­éTœ b ¢ÿîmº±¹¤í₫Œü̃ù ÷ôóÅđÚí¤ëê êăë”îẠ÷.üÇ x ÖhiŸók! Đ á&»ÍRÜöVÿ+ư‘ú¥÷̃ộñïỨMëÙê)́€îÈñö̃ú¸ÿ ê ¬1:™#ü Ï ÿIź €Í̃Ñÿ^ư½úû÷)ơ,̣;ïốIëë¼́kị̈́b÷WüöÉdÁ ₫ 9ë)”ø  ! jü°Ób±ÉœG²₫.üVù¤öơóHñåî,íŔí\ï\̣ñơ@úÅ₫›Áp  'Âñ7± ̣ A ̃‰F—I­?ÿ3ư–úù÷ÉơTóÓđëî]ízíFï¼ñ‰ô”øÿüï÷û M ;€ù Ï ÷ G ̉ÇSxØ!•ÿ–₫<ûÛù7ø5óÚđ“í­ëPëÚï¼̣¤ơVúÚÿ@' [ ² ¶ ø ¹ Y9+‹™́¿ÿJüôơó×đbí;êDéæçÈí‚øˆúÖ å Y# ™ % €q²"?~ e › ÏÈxØI˜ûRùbơRđ5íÓèÂçÉæ…å/ç°ú yhÉ<•  I «•ÿ²s„}ơ ™5… üIÿ¯ûóü¼öQơ²ô˜í„êºçñçFä0åå2÷ )ơ§3F¸ ‚ Íÿ- â•Ø Ơí £ iư¢ưcøËø5ö¶ô—ơ¦íćCç#æÿăÿá6ä{èưAJ« ±0 = ́íùrü ‡ Vªa¾ êä ù¡÷ù½øøöØöçûókë<êÅâZáܼ̀âcâđ.ä3H#(2 „|₫tû …î}dnI₫ëónơvørüjú]ưäûñ¤ê-åFßßƯ½ă—ăøØ¾đ"¼\ »ú¶Zü"₫CVu¥7æ₫¦øTó₫ôü"|ü²₫ÈúŒíZèßă Ư à`à.æ³å¨₫!µÓh :^‰ö]e₫ưd̀5 Øø‘ù2û]ô9úÓÿm(ư@û£øÉê³ăăñ̃~â åïéëƠ%ZăB¦ >ÿÓó§sˆ î€W¿= /„÷Jù üâúH₫­ÎưRøÁó±éÏåWæ¹áÏæ₫è́q́íÿI%δY7 Kưạ̊®7 UĂm ¹¯ÿtù‹ú¾ÿ^ư?ÿ₫ü›÷„ó²ëéç–ç,äIéÉ5ííu³&|Ä3QúÙóáØ-‡ J ÿ>êú}ư5j₫ÿp₫A₫¾ûLøoô–í́êºêMåêïĂíaí¢ ̣'&"€Êµơ¿óiö¨Öíi•₫UưÈ₫Ñÿÿ7₫.₫hú,ûĂûjơ|îỐÀ锿Ḉ$đ{́Óô,3%Ûtû Ÿ₫̀ñSùQ ßấø_ú8₫”u₫Íäÿ´êưŒøư₫ù€óÀí•î·éÀæ‹ï%ñ´́›~%b@ÍIùẶ ‹-eTûÿ¶û0₫̀:ư₫t₫2ư`û üœü3øfđ¥î²́kéÀëçïYîØ₫A!"fóºúÙôoüY?Áa·ˆư‰ü|x÷đưvüjÿÑưû8ư>ûÜógí́x́ïë’đ)đ^ÿQá /eOùµóü½ & ?zÿv₫₫©Ơ³u₫ŒüB₫G₫ü!₫Üûóàî_́ź+íđ̣̣Ç— låÔüŒúh÷½₫Ù ¨NgWÿ₫#Uăÿ°ûbûÿ̉ÿ?üôûúôaî^́ấ6đgïåøÎ%ù”×₫uüƠơọ̈¦ R*çÿ̃ûå̃i¶ûú¼ưƠq₫!üeüø³đḈĐë™ï¼ñùôÅ$ s Í₫Ưüÿ÷̣…₫N (` ;öƒoû¬ư¯ÆQ₫9ûWưEøưÊüưùỵ̈àígë³înđ«ô†á$Oµ¼ư₫ơ‚ïÔüQ ÿù »oo^ûŒǘÔÿ†ûüÆỵ̈₫´üFüCûéóíëªîđJöƒt#­•æüåôFñû5 kƒ q±Çkû ûÎ₫4MÿÅüA₫‰ƠÿWü¢ûûú6ơîhëÄî²ïª÷@!˜˜–dô’đ úû¶ – < D KûˆûR₫ÿwüîüVrÿûưiü[ù óƠíxíï̉í ưum|ơ×ÿ&ọ́ăû1³| ´ ô ÅMü”üyüèû‡û₫b{ê₫¤ưzüÛ÷£̣ÈîEïDđMđ6”{£o€ Üÿzợơ=ưLÿ‹^Æ \ 6ûÿmÿ•ü÷úoûËüJÍ₫7₫‚ûwọ̈Çï±ñÚïÓö® gñ7œpLúđüHưưg¤Ê+“’Ô?ưü üưµ₫0ÿ<ÿÎư‘úømơÁôôơEöküdđáØ măêÓX£.³>ªÉokj₫%₫₫ˆ₫çÿ£ "ÿ/₫zưÇüÁüöüWưYưëư1₫Íư<₫î₫xÿJg+ÏÊÇÚ±CÂ.úÿ7Z4ăÿ°ÿ¤ÿdÿ‹ÿÄÿ•ÿ$ÿ~₫ ₫ửü¿üGưư0₫ù₫mÿËÿÛÿơÿŒ1Êpµ¥OêÉ®ˆIÀR®ÿ½ÿÈÿÂÿÔÿ¸ÿÿ`ÿÿÁ₫Æ₫ÿ₫ÿê₫ê₫½₫?₫ïư#₫Œ₫ú₫‹ÿ ©ÛVÉúôÆ|Í…=üÿÑÿ³ÿpÿBÿOÿÿäÿ$B;öÿ‰ÿ+ÿù₫ç₫́₫ÿ.ÿ/ÿ.ÿCÿ†ÿµÿêÿ*V¨Âă ïèÆ™^94!('3ñÿêÿŒÿ¯ÿqÿÿ{ÿ×ÿŸÿ·ÿ§ÿdÿÓÿÿµÿ.ÿªÿtÿÁÿ́ÿ X.£h¨U“rjT%ÿÿ÷ÿèÿöÿôÿåÿëÿÎÿ¿ÿ±ÿ³ÿ¡ÿ¥ÿÿ¯ÿÄÿ«ÿ£ÿ©ÿ¿ÿßÿơÿP]cUQC^c…|pl »ÿĐÿ¿ÿ¶ÿÓÿÂÿäÿÍÿîÿÙÿÙÿÚÿ¼ÿ²ÿÿ¯ÿÄÿÚÿơÿ&" 2Jpz}`0 ÷ÿâÿàÿèÿçÿæÿÖÿƯÿèÿáÿèÿèÿâÿØÿ̀ÿÚÿéÿôÿưÿ  îÿ" âÿëÿåÿưÿ  &440:O*9%üÿØÿÊÿ®ÿ ÿÿ‹ÿÿ‹ÿŸÿ²ÿÊÿ×ÿ $Pct|kZC7  êÿÚÿÓÿÏÿÈÿƠÿƠÿïÿüÿ öÿđÿèÿëÿíÿ́ÿôÿơỵ̈ÿêÿéÿëÿåÿèÿüÿ)#+ ơÿíÿăÿÚÿÓÿ×ÿđÿïÿđỵ̈ÿûÿđÿƯÿèÿøÿøÿûÿ  -+÷ÿÜÿăÿƯÿăÿñÿíÿôÿëÿÔÿÈÿ̉ÿØÿÔÿÖÿ÷ÿ($%%& ơÿäÿâÿóÿÿÿÿÿûÿđÿñÿíÿäÿçÿëÿđÿêÿéÿôÿíÿíÿ́ÿñÿéÿăÿøÿ .(ùÿ!-#ñÿâÿËÿØÿÜÿäÿßÿíÿưÿûÿôÿäÿæÿÚÿáÿåÿ ₫ÿM (:øÿçÿùÿ2-$ ÷ÿèỵ̈ÿ×ÿßÿíÿđÿ₫ÿäÿÚÿÔÿèÿôÿùÿ / ïÿƠÿâÿ́ÿ-7K-0 ÷ÿÚÿ̉ÿïÿ₫ÿ ÿÿ̃ÿ¼ÿ¼ÿØÿêÿåÿ & åÿÔÿßÿđÿ 0';æÿïÿèÿ ₫ÿưÿƯÿ̀ÿÜÿ?,(₫ÿ=Ïÿ‰âGªûG€Ư₫ø†îEwúªRü.ü¸üÉ–iÿ>ûÅÿƯkưûTǜzÿ°D3₫y₫üâד æ₫P!ÿ5ëưH¡¾ÿf¤ë₫n₫€ÿëÿA₫gÿ|₫;½ÿø₫†ư÷ÿ [ăÿÿ₫»]&₫ˆN+₫ÿi$nÿ®₫¥₫Qnÿ®ỵ̈Jä₫¿₫́ÿê‰ÿ+ÿ"üü°₫A₫ØÖû@̉₫^ÿööư³ÿl{₫>¥₫îưŒO¨¯₫è₫B2yưáưÿà₫Ÿo™ü ÿăê‚.ư6î₫qÿ]÷₫ùÿAưÔÿĐÿ®@ư£ÿ©hÿZƯ±ưhÿ·ëÿ³₫„ươ#₫?L₫Qÿ̃“ÿ"ÿÅëÅÿØ₫ Ù1ÿÄ₫ăÿUÀü³ÿ8₫„£₫ÿwÿ¹T.₫Ë₫ÿ‡ۅ₫&bÿ0ø₫Œÿû₫8ÿ©ÿElŒÿ–ÿx́ÿO¯ÿ› ư|ÿ^äüÈ[Iÿ‘₫ÿ½XÁưÎ̉ÿ?åêÿ¦ÿ₫ñYÈÿ…%ÿ°ÿÿ«ÿ{jÿ.a]ÿz₫…ë©₫{ÿó₫­lÂ₫×ÿnÿ hÿ¤ÿ=ÿR‹´ÿàÿG½₫„éÿ†’@ÿ¹¿ÿ́₫xP S₫¦ÿn—ÿ@ÿtÿ&µÿJsüÿ6Lÿ²ÿ‡?ÿTÿÿÿpÿÿœÿáÿ4÷ÿĂÿ´ ¾O—ÿ5<kºÿ±ÿDÿ±ÿôÿïÿ™₫íÿpîÿPÿÿïÿ›̉e¾ÿ ƯÀBÜ₫vĂÿÆÿu}ÿÂÿ[ÿ±ÿñÿíÿ́ÿ\ Àÿƒy ÿ Àÿv1Ơÿ#2?ÿÙÿÂÿæÿ2ÛÿÆÿèÿLäÿ;˜ÿ"Ùÿ':<ôÿÎÿƠÿùÿ§ÿ}ÿ7ÿÿ"×ÿT«ÿ$O€Éÿ.'I8¦ÿÉÿ¤ÿ}ÿS!<ÿWÿ[ØÿïÿYêÿ’/mtq;ëÿöÿ˜ÿ±ÿÉÿ₫ÿ„ÿĂÿNÿæÿ´ÿ$0]ûÿWDjñÿSôÿvÍÿ±ÿñÿĐÿwÿÄÿl—ÿ®ÿéÿóÿơÿg÷ÿåÿưÿ.¡ÿËÿ*=!üÿ́ÿƯÿöÿÅÿ%;0 °ÿ°ÿæÿöÿ †ÿjDâÿ&Ïÿóÿ¶ÿơÿâÿ .1²ÿI!6¥8ÚÿMÿÖÿ©ÿ™ÿ ³ÿ8ÍÿÎÿ08 0çÿ9#ơÿ¥ÿüÿ`ÿ?¸_JR&¥ÿ|ÿ‰ÿwÿ³ÿØÿëÿûÿ-g5_K_F‡ÿÆÿ„ÿ„ÿ‚ÿ₫ÿz|m­ÿăÿLÿ½ÿĐÿÿ1Öÿ;€ÿ2-¦ÿ₫ÿáÿºÿíÿ‰ÿƯÿµÿXÉmº›ĂZQÿ”ÿzÿ½ÿ̀ÿÿÑÿ¸ÿûÿ àÿ:÷ÿÇÿ₫ÿƯÿEÑÿ÷ÿÇÿÊÿ1ôÿ Ă©£̣”8UÿQÿ¤ÿ¿ÿiÿ„ÿ¨ÿóÿ®ÿàÿäÿßÿùÿˆÿ.?.e io34ưÿàÿøÿàKx’(đÿwÿ ÿ”ÿ×ÿ‰ÿÇÿÍÿ”ÿO]µV×₫ ÿ{ÿ]GÙÿ³ÿ¶ÿœÿtÿ5ÿ1ÿKÿ"ÿÊÿTÿ6ÿlÿ4ÿæÿ¤ÿg¡_˜s[ü\^ßF¦Œv{ÿÿ”₫›₫P₫Z₫’₫₫a₫¹₫W₫j₫å₫N₫>ÿÿÿÿ®ÿ•Ú›…hw£Î́*qVªÖF).Gÿ¬ÿdÿÿœ₫î₫Eÿ:ÿ¿₫-û₫çÿ€ ˆEm`2{n*G6Ê2ÂnBb ¢ưư,ưM₫L₫4₫U₫¥ưK₫ÿÆÿ¥ÿªÿÙ³ÿÜgl¦†RÅ₫?ÿÿ¿đBoÿ³₫IôưÿùÿºzÈÿØÿh=Êÿû₫2ÇkÿƠÿKÿÀ₫́ÿb_ßÿÿRÿC]±ÿ¤ÿm> â₫^₫ ÿæ₫®₫a₫¥₫₫ưªưi₫9₫Lư!ÿÁëdà÷RcbºÉ‚=ïá?₫ư/ưÑüüƒü ú'ø÷)÷xøé÷÷3öt÷äù<ûhưóó 6€̉¦Ë ™KƠæ†ÿ]jW[ưDùV÷²öơôß̣'ó^ó¤óÀđ₫î-ïḤ|ơdø̉úÏư< 8j(n&%Á ơ@₫øùô₫ÀCeâĐSRûÂôụ$̣9̣ó•ñ=í"ëCí˜́£ê|́Äị̈Hû₫¯+Y/Ú%-_££üèóuơÚä­ k L ƒ6 E˜ư¾öÙơâ÷ úăûơưïưí•íèLçåzåƒçÙí,đ ư2‚2½%ă-¿nùJñ<ú«Î'æ^œ‘ƯüÄ÷•÷BûRbúô˜đÈ́̀éâ³Ưỗ°ă*èƯîÅñ¦$';<7.%çÛR™÷xóÿ €µœä₫ÿ¥ùUú±øûúZ† –4ÿ˜öḉRêđç°áÜ;ßXàçfë‚đ đË,-<é7%>gúMúê} › )vúÚöDøáø…÷Cư¾† ! ÙZñNè9æäUâá‹ß6ẵæié(́Iô ú¤+6x=Ê3øŸ S||ÿÿ©;Ø *àÔ ˜öưñ'öS÷Øøyä=  £đÄè‚â á[â;ăágæ ç˜èyëĂó÷ˆ.œ;*<•,ªêưd̀M ¯wÿ”ú‚̣:̣ôĐơlüÿ/W­µú‘ñaçøáÓâŸăuäÖå̀çˆç0ëgîåơû ›'Ú6ø<>2 9— /5 ữüŸŒ é   qùÅô*ơ=ơú>û$₫Z¼-₫¤ụ̀zêcçâå’æhèôéëeíưï_ôêûnQ#-ü1̀*ñ^é h&™üùaüÅƠá%ßüŒø÷÷•÷¶û¶ûîưÿmÿäü\ú¤ô^ï íÛëwíÿï>ó$ơå÷¢÷}ù=û:₫kA È4ÅT>h̀  D ̉¯¦ư>₫ư<ÿưßûú²úƯû₫v[÷ÿ;ư¢û¿ù0ûơúDûƒûkû…úù“÷Kơ‚ôĂópôBơïø¥üâúí ¿  œ ¤   4àÍŒ·ŸÉú#jg9Id‘µ0‰ÿ^ưûoøñơÇóÇñ̀ïÍí±́́ǺSîSñöIû̃; zöZ™ÿ×± âÜ£¨‘¤ơèÔÂ.ÿ0ưû€øÓơ óñXï·í́×êêZêÜëQị̣̂‘øêư î¥Î™Ă* ô 'Nå©ỆupYcÛÿÖ₫đưÓüû₫ø\öÆó½ñđ]îẤCë¶ê*ëǴ-î̃đơú¨ÿ8z ²ÙöD¤È{IzĂ ½á :ÿ~₫=₫B₫₫y₫×ư/ưü~úŒø3ö<ôª̣[ñjđxïUîßíºíïí ïŸđÅó¢ø™ưC̃æ Î8z(ḍø Æ E\ˆʶÿÿS₫ưŒưÈư₫:₫·ưĐüjû’ù¨÷Øơô}̣ñ”ïîíœ́Î́ îQđjô½ùØ₫—úÉ Pü{a—}̃ kŒ • %ơ{eÓÿ ÿ;ÿû₫'ÿ•ÿÓÿdÿY₫ưLûhù÷ÁôẠ̈ñ˜ïGîǽ́́›́#îvđFôZùZ₫#©« zk9s—Ç"‰ ă ̃/ä¿×Eÿñ₫Æ₫Ô₫ ÿ¥₫“ưYüÀú́øÜö³ôộmñ đ¯îíæëëÑë(íMïß̣øzưx.M 'b‘2Ѥ́̃ư º Ǿ»ÿ)ÿY₫«ư{ưư₫F₫Âưưü–úÛø¦öÅô-ó{ñđ^î·́Ôëwë́Ơíđ3ơû^} ÷ ²WH=“7ù¡ =™%§ÿ¡₫₫Úưlư_ư‡ưƯư«₫ø₫¡₫₫÷üwû‚ù&÷ ơGó|ñđï>î¹́øë¸ë”́î¾ñØö¥üäïC i…χ-CN0 Í ºT+lfÿ†₫$₫ÙưưœưÏư₫Ä₫+ÿø₫­₫Ÿư3üSúô÷ăơ ôG̣êđˆï@îŒí$í‚íïñ̃ơLûb%s - ‚|‰Œæ›ôæ Í †æ²¬kÿ₫₫Ơư–ưˆư¯ư«ưÀư&₫€₫–₫(₫2ưîûCú6ø5ö.ôṾ ñËï|î¶ígíîçïỌ́™÷ư*ơ< ØóôNû™oc&Ơ ´¢2ïÿ₫Œư@ưCưNư“ư₫:₫N₫v₫¦₫¬₫₫ưü«ûú<øTö£ôaóṛÈñôđđ«ïBđ®ñ́ó̉÷ùü± B ûÓæé)¨ ë ÷ăO*eÿ₫nưưóüđü ư@ưˆưvư‚ư£ư₫k₫ ₫Vư>üûÆùWøPö2ơ-ôưó­̣1ó”ñLđóQơNùư“q~ \ ̀r‚l­ˆ F ²E©₫ư„ư/ưhưgưÉư'₫₫O₫4₫ÿư-₫Æ₫Nÿh₫©üFüUúoüù÷.óḤ£ñÖïẾ¹ê“́³íẈù₫_- j³éƒĂ£ ₫µJưkøÈùZù/ü₫₫h¦ É n Ư ¥ t ÆôưÓùơ¿ôFóï8ùä”ÿˆưDơXó¶ôªêåºä–èrîÉëÙç1̣.úĐ œ&k* 2 6o/×-Ư ̣₫Mô¢́Äë0ăíê)ù•ûF=Ü O,ÿÙưå÷̃öüö̉î{ñçö,øưº₫yôFï˜ûn÷XôÆæeáhäÊë½̣!ï©́iûà­.n-c2¯0ß#¯QñẾkä%áÀå½äC̣Ï1 9 Ü § cúÇùâơơ5øơ&ûx™ŸqeJ₫‹ơC̣đyă±âëîîọfï³́<ú—!¹*k-ƒ.M ødâø ́«ç…â2ê‚íûđ́a × #» ¾ ¤ ~ÿ‘øươḍ ö{ø÷₫@f³ w Đ5JøñëEéÏăñáëÛñ#óăñyïû‘V"3*Đ+j+"Óx iúÛîGêoæ!é•ị́̀jÿ Î Ö=" X _‘úË÷éô»óöô®ơù`¨= ¸­‹ Çú×óÑí+çgåLç-ë´îLïPïị}ü^i$Đ+à,§)O!}ûî‘éåæúç:êkî3úDb „ q¿æ 8iüù~ơÔóg̣°ọ́ùÍ ±³ đ ,Hÿ#÷ïé£èöé!êYêṔ$îôYüÀ¾$,*̣)&'Ü Oé₫ậríÆéƯçåç¼é¨ñûo‚… c·;q :Œÿ‚úpö“̣"ó‘øeư`₫Ù₫Ü₫(ÿÿÍúöôÁơŸö4÷öôơ6÷‹ù)ûsư¤r †å/̀ê6ƒ ;Ç₫Đûù>öNơF÷£ù/û¶ü₫J&gÔŸ‡W®ÿÿÿØưåûúBùÇùmúÿúüˆưÓ₫\"—ÿÿm₫ÔưoưÔü·ü ưưèư›₫jÿGz{jGÊÿ鑃€*™)ä₫₫¢ưưüTüüêûÈû¨ûàû3ü”üïü9ưHưZưư¯ừưÅưºửư×ưßưßưûư,₫₫ñ₫_ÿ±ÿéÿ/nÁq驤º¾tăÏ/5䓦٠Fÿ„₫₫åưëư₫0₫U₫a₫f₫;₫àưnưưÎü‰ücüBüBü}üÏü0ưÁư<₫đ₫́ÿ´8›½µ‹Ágöÿêÿ!.Qif{vc® aáF‹¶å ΂-¤ iÎÿ[ÿđ₫—₫i₫>₫G₫\₫h₫”₫¹₫Ç₫á₫Ú₫Á₫̀₫®₫q₫.₫Íư‹ưlư[ưƒưÁư₫¶₫Wÿ÷ÿđK‘µĂ¾̀ºŒsRCNEY†r!Û•DơÿÙÿÛÿÚÿÖÿƯÿÈÿµÿ©ÿ…ÿfÿ4ÿë₫¬₫a₫ ₫Éưưư­ưÜư&₫₫₫₫lÿÑÿ+z¿?]ka1ë°‰vhivsu|shtˆ¬Ù÷ơß¶}P ×ÿ·ÿÿ6ÿ÷₫¿₫–₫‡₫ˆ₫₫Ÿ₫±₫̀₫đ₫ÿ!ÿHÿnÿ«ÿđÿ&Wsvwujhkq€’’††™Ÿ«º´©{eI(øÿĐÿ°ÿ‹ÿlÿbÿLÿKÿXÿTÿ\ÿcÿNÿMÿUÿUÿpÿŒÿ¦ÿÛÿ3)"""1BNaƒ°ºÁÁºŸ‚a8óÿØÿÆÿ¯ÿÿ‘ÿ“ÿ©ÿÀÿÍÿâÿâÿÙÿÓÿ¬ÿ”ÿpÿPÿXÿ\ÿnÿ’ÿ½ÿêÿ !-0,!₫ÿéÿăÿÙÿáÿëỵ̈ÿG]…—¨µ®ª•v]<÷ÿÜÿĂÿ°ÿ°ÿÆÿáÿíÿúÿƠÿ¯ÿ‹ÿgÿAÿ9ÿ9ÿ?ÿaÿÿµÿäÿ *;\ZWE3/%!#(7:IZakedxl`V=;öÿæÿØÿèÿèÿñÿøÿƠÿÆÿªÿ£ÿ‹ÿ€ÿÿ«ÿºÿÔÿêÿ  ÿÿ÷ÿâÿĐÿÍÿÀÿßỵ̈ÿçÿíÿ*=2DJ0(ñÿóÿĐÿÚÿ÷ÿûÿ 5K=6×ÿ¨ÿÿÿbÿaÿpÿÿËÿÎÿÚÿîÿôÿ ÿỵ̈ÿ₫ÿÑÿöÿàÿÉÿ+÷ÿ=:‹?{1]u’¿Ú₫³(ÿ†œh₫dÿ5Ñ₫zûúîû„¾üúôùÀúûrú¯ûä₫ɺ₫¯₫§ßÿ(GÖ‘ÿmÚB·ÿ­ÿ~₫a‘Ăÿÿpû ưÆvĐư"¤rư}‚[₫>2₫±>pÿ.₫#Ôÿù~DØ÷Ô?7ưÿ³³Aÿˆ₫C˜Aû›n₫ú«₫oöûú”4ÿå₫Üü_₫æÿưioûÉ‹ơư[₫¡₫†>ûM•4ÿÚ₫ºi‰ÿ;®ưó>ZüǧÿMü₫ïư>ûÙø£₫ ˜ơXÿ₫gú…ưĐjû|ß»ư»]£ÿ[©“₫[©ÿMÿ1ƒIÿ"b‰üj͈üæĐ¦û—<ăù¯¯Üø•¶¿üÍû‹ÿ û9ü¬Cûû½ÿXÿëùưÿ ü~ÿw/ÿZÿƯ(ÿ,ô₫çàzÿnÿ&¼ÿ3K Ç¿óÄÍ₫ư>~₫m{ÿY₫óH₫&¤ư$:üÎưôûûƒü̃iú0ÿ®ÿưxư½ÿ ‘ư…Ë₫¿̣ÿ°rĂ‘₫˜|ÿwÿ­]₫ÈLÿ; ₫Iˆ₫nÿ_ŸûÔçư`üƯ₫’ü₫ưƯú»ÿQụ̂ü7fù×Ăÿưư-àÿ8_ßÿZE₫åEÊÿ́×ư–â­Ể¡"èC;”₫Ë+ÿo₫–₫×úç₫Áù¼ư†ûëùtư-û²üÆư±₫²üđˆ₫Z1B.)ÿàvÿáè₫X¡íưô¡ữ39 *-j| z½Y₫]₫yüØüTûlûáù{û‡ú¬úühürûÆÿ¡ûđè₫8ÿi‹ưºÄB”̃ÿÊÅ„”¬ {ËIƯ§ü]R<»È]đÈưü₫ƒûMüÚúÛøƒû¼÷ÿùIú·øÍü°øtÿ’úÿ₫ñÿ·üIưªp@àNÿ–©ŒÜU'{Mz̀óP%²V₫¿₫üsüûûˆùÑùIùÊøuúøåú»ú4ú"ü\ü!ü*₫Đư–ÿG₫0^¯rd·¡Ft  ä ‡+ƒ~¯8åü6ư¾úđúÈùáùËù±ù2ú3úeúŸúHû€úcû„û$úü]ú\ûÑûcû™ư§₫€đ0Ùơ @ q = Î è EcI?­ÿưÊù*úøª÷0øî÷&ù;ùµúJû›ûNü¢üŸûKüGû¢úû>øvûCø<û|₫¥üm»¥ r é eêV× – ô EÚƒOư¸ûä÷÷«ö%ơöƠöcøù"ûSü’ü8₫ØưëüÂư%ụ̂ú®ù˜ø›÷Öø­û®úI·F¿q L ]³ hf  w?¢₫ªú†÷ÏơÑôæó¦ôÍơ÷ö£øXûÅû}₫È₫ÿqÿ₫ưÜü{û.ù—øö3öü„öëÿ*ưË ̀ vDbÙ& ‘ á´₫-ú-ơ5ô?ó‘đXó€ôÉốø`û)üÔÿ h`̀¢ưÉüú4÷Éöô ú$ơ1üƠƠ₫/ † . OPèhÄO¬  *1ÿ¸úôó«ñ‡ïbđọ̣́k÷₫úüû /($¬XưŸü÷²÷›̣a÷öö¹ôçûét b Yœ½§à[ ƯÔÿWưÊơ/óÓđâîï×ïọ́Åô ø¦ü¿ưN4F/·ëtưû¾÷ơ~ñËù|ñù'}ú•e œ ¬‰ẓÀ× j̉ÿæûüó½̣ˆđ‰́4đ´đXđÜ÷ø÷Ñû9ØOArç;₫û’ø öÈï¸÷ùóÊñ‹ßøó £ å–˜_|ÑVÿöỤ̈º̣cí·í®ñ1đóHúƯøq₫¢W!­¥0ü«ú'ø‘óđ ø.đơ¦€÷£E ± äTf8¬áœFókÿÙô0ôƒ̣ÿ́Ùî·đÊđNóIùˆúKưŸSE…ºuư–û›øCô™đ"ó!ơúíÓưåùEüư Œ™ ~Ï«  ₫WSújô?ơiï˜íÚđ-ïỤ´ơƯøüèÿ_̃.u eE|üKû÷ơ¥ó«ï¼ô#ñØñ=₫U÷ í3nø¯́Kη°‡́"øơô¥íèî đWîfôơ£ù₫«ÿÉSÿ•ÍÓ™üúEơ]ó7îkñ]ó¤ízüúâür + §p†ô{ÉÛ4ơ B{œúeô(ô2ïë́éï­îvñÄơøIüøÿ÷ÎĂƯºÑéÀüJúöóbï÷ï ôî°ùfü%û5  Ï “ăø—¹wˆ ƒµ²û-ơ¿óDđỨï„ïSđëô±øSúËÿÛ« îÑü±ú³ö8̣ñ.îẠ̀ñô₫ÿû¿ä l ï/pT(~ Ộ{ưđọ̈ó!ñî¡íï_đ5̣Kø]ùÀüƯÍÑXå PưûUøị̈ƯñJï˜ñFóµ̣Lü‚₫ X–/Å̀™ñ¨¯öÉøtô°̣jïÏíÓïöđñđöfùû}²+Ȧ×ưÎùøÊô»ññeóôơü „ ¯CW gĂ7 fÿµúàô¨̣3ñï£đËñ6óơọ̈ǿû$ÿÙ́K²Æÿîû¾ùŸ÷ơoóµ̣ˆơÓöIø=₫¶â- :‡éYXu³… ÛÆư=ù ơµóÉñṇ̃Cóhơå÷·ù;ü₫&ÿjl/Ûÿ₫Qưbüñú0úSúAúQûÖü₫ IÊØ°» ¡ _ é çP®ï=Ó₫›ứü§ü¶üÏü)ư½ư[₫ÿ—ÿéÿIøÿËÿÿâ₫Q₫¹ưÆüĐûûîùùøøø‘ø<ùoú!üÊư¢ÿ”: ® › Đ t ă#92;+&:Dv¬ÿÿy₫$₫Óưư„ưpư^ưPưAư₫üÀü}üü©û=û¹ú-úÄùHùùù!ùùmú‡ûôüˆ₫ºK¾4”¤i Ú À C  ±¢¬›„ £©̣ÿ-ÿ‰₫'₫±ư@ưüü’üCü!üđûöûü*üQüüœü±üÉüàüĐüÂüüKü!üüûèû/ü©üTưT₫gÿ–ê>†Ïú¾2;¼  úö V–ÿÿâ₫Ÿ₫¨₫¾₫­₫¹₫¶₫…₫n₫Q₫₫ÿưƯư¼ưŒưcư?ư ư ưưư!ưưư ưưư'ưbư¿ưD₫Đ₫ÿ-ơ¯ƒx+àFcGÍp4¹Zêhôz‘*¹ÿ7ÿ±₫<₫ÀưoưQư.ư0ưRưVư}ư™ư±ưÜưăưÛưÅưyưưÅü]üüêûưûAü²üqư8₫ÿ@RsÍà·qÁ¾,¦b˜̉P–yÿ₫₫®₫J₫₫Îưưư©ư³ưÖư₫ ₫'₫3₫7₫)₫₫Ùư‰ưư³üHüâû¡û†û¶û-üƠü´ư·₫¼ÿÜ-Xk%ƒZÜ0Êmä@©;Áÿ~ÿSÿ-ÿÿÿ̉₫Ï₫´₫²₫­₫¥₫₫₫D₫ôư±ưJưàüƒüüûDûûîúđú€ûụ̈üáưÿ.]ạƯ¤À8 l€̃ ²ư₫̉@"ü‰ú;ươüÛù]ü\ÿë₫á₫ 9å `Jÿâüüú÷ ö6ơ£óẶtøFø¼ø%" \ Ù ¦bmè è ‚ º0yû&ú-ù1÷̣øfø̃ø ûsúœüT₫rüwưE₫uû÷û§ù‘÷̉÷æơêóÿơ₫ú^ö˜üơé₫WP÷\ƒ&“ Ø ü Ïœ₫Qø$ù2ơÈó’ơ*ôRöøqǿû3ü*ưFÿUưâưƠưúDû%ǿơƠöNôíú|÷ û₫¿N -ÉÙÂK6Œ Rư¡úÙ÷;ơEô ôáôàôÀöEø½ø ûˆû§ú üËú‡ùAù́÷¸ôåöẠ¾ùù÷Nÿîºđ ƯăÁêæN[ ¹)đùWööñ[ô/ó¸̣ øÊôŸù2û²ùưùû@ûüû¥øùàơ¦ơHó7÷ú#ö­^ € ¬"•‘ 0§‹×ù6öGơ=đ)ó@ṇ̃øơÅóù8ùAúü›ûưûúmú+ö¦÷´óƯø~ú÷QtÿQ‡¸ :GµÊôä‹–¦ u)ø‹ö×ó¨ïậĐị̈¥ô‹ówø±ø"úSü³ûƯüüđù û9öDøYôÂù€úºø‹²ÿúß v DoFú¹nÖYdÎ=oø÷?óFñ›̣Ïï0ó#óMô±÷‚÷RúsúûXüú úXùÈơ+øåó§û*ù“û*ÿ§ Ư ê f¼Ç&ÓIá âœÆưÔ÷́ö¸ñ5̣̣¶ï÷ô#̣7ö#øº÷̃û8ú8üHüúùQú"øÊöÿơ›ögü2ö—c9W }è瓹¡D &úøèô—ñẸÆđ`̣%̣ơoơ¬÷̃ùù\û8ü úú³ù>öÿ÷ öÎûÚøPÿÊä •ÅœªÇ=Ç âºrû̃÷[öÏđ̣ñ,ñ₫ï´̣có4ô–÷@øVù̉úÄûú†ú“ùŸ÷Ïö ù3û®øB®n› ® Éø7lđ¬¥„ m56úÅùộḤïj̣èđWóVơ¨ơ2ùƒøúZû£ùúù ÷Úơưµ÷7ư»x₫] Å ?¾ïà`Æ %VºưDùaøcñpñ)ñ¥îæđØ̣¢ñ¡öûöø¾úûËú®ú£úæ÷ø ú×úúO²G/ Û ÔHJñ¨>çÙU ƒ•_û>ùỤ́ẸiđÑî?đñ8ñ¬ôÏơïöÅùÚùKû_ú^úóùßö¯ú+üĂøgl9 ¨ +ƒ …Đ1y >,°ûmú ô˜̣đïƯïŒï¾ñ“̣êôÊö÷úû>ùăûơøŒø1úˆüƒú›Ơ «"R"msuC} ‹ |(ư”üô‚ó†ñªîïđÍîị%ó§ôÿöGø]ùbù~úeù ù"ûïưlû¢`) Y ÀºÉiQ/ƒVÉ Êư úUơṃLñVîäîØï î¦̣˜̣^ô»ö¢÷5ø²ø§ùqø²ø₫ûe†í { Çmd¬Ù™C ˆ 8ÿ—û§÷Ṛ<̣@îîùîßínđ¦ñ ó›ôh÷Xö7ø9ù¦÷uø?ư4üFÿójá Ăö Çöam5F u ñ›₫üû‡öỤíñOíVîî¾í#đñ…̣ÇôÅöăơ-øù÷÷™øm₫…úhù₫£¹ l<!¨Çi'‚3 wM…üÎø ô đđî„́Ékí‚íóïÅñ±̣Æơtöö‘øíö'÷ÿ¶úÂ,Ø„ƒ ÿ"’ú z ¬û ÷ôqîî9́ÈêƯíắîïºñỊ̂'ơµö#ơ€øJơ ÷I÷"aô´nwd¶̀Ç‹: øơÿ-÷ÍôíđêƯí₫é8ëï®í8̣óôäö+÷ôôÍùÄñ©ư2ư¶ùƒ ¥…*<XÔ‘)ü éiÿ‚øsñ¶ñØê®ê"íKêßï&ñộö¥ö5øù̃ơï÷Ṛºö+ÿ2ô” d 73íøJă á_ü¿öó́•íé–æĹë đ–ơ]÷lûlư3ưúü@üdöh÷+î6ûđơhö^ »ưŒ‰¯!©ûç-3·ù¶ơ{í\å·ç(ă₫ä́#î ơ°û…ÿpÅ“ÿ(öâô=ë`÷:ñ®̣_ 2û̀Æ_½%¯"¦#_"@¼ˆ  ô4î±ç#̃üá̀àSăí́íóeøx b kuô¼ïvç:çoó<æ@îô ÷ ơă*¤+6,¨&ÎÿF₫mïäâOà’×Ú×&ƯKăÛ́´÷w R_ÀI£¸ưÑơ+éIáËÚûÔ•ét哸h|Ê+Û2k9-9½6À,÷Æ”ü²ëùà0ÓËÏ»ĐæÑ Ưđèù:ĐÉr©!E@ùóëkÜ…Ö¯ÏqÍÏEæ»öœ…('/·=̃KˆEF?$1w!q 'ö'æ2ÓJÍ‹ÊË6Öà7ïía#ü(&O¶=5ïnäWصƠ«Î†̉l̉₫Øfàƒù½—_?AD´I¬;½-ª~ ¨đGá®ÛÑ>̉Ùeáí²ø¯Ÿ wœưlƠùjđ:çpßæƯÎÜ·̃Æß¯ă­åóÈñV,j#@m52<~4¥+Œf₫UéIå²á]̃?áHê,đ6÷6€ơ 4đ6 ûtưE÷̣ḯCæ_ç;äưæ(çæ̃é÷́{î&_s.6[>a56¿+pJ™ÿ.đôàâáiáËáƯç\óLùîư:® n ‡Ä úÿơöµôñ]îóëÖë—êÖêÿ́Wếsîûïôû0©Æ/y?6`6`'u RGøäđzßTßfâÅåé‹ô¶ÿÍÿWO j    ÿáÿiû\ô?ôỌ́#ï»́³ïEëDîwïäíqñ&̣Æöz8!¯1_>1ư, Đ%öníưè"Ư^àËéáî½ơ§Æ¬IÔ Ôs®¯ÿOû.ụ́ú̀÷gö.öơ'óḳñLđ!ôºï%ô ̣ÄơZù1$! è8§2…(ă)ÿéëÜæ ăïFøèưÁK  êĂùü£ø#ùSúưpüÆJTÿí₫˜ûëúÑ÷̃ö>ơ¨ñúôóïđđñnñöÉü~J„'»3)ç"˜L 6ô@éîwëïøïA‰ ùù+ööđø*₫?wŸÛ\¼ü¦úöµôÀñ̃ï¿ï#đ¶íäđṛLơh÷k ~Ä,‹-Ô$×ù ç"îDí»đđôØÿAGâ.ú́özöÂö0øxÿ± r eTûeöKó̀đṿGñåñKđ̣©óoïXö öXúDü³ ›“) '̉HXĐưîóáöùT₫Bîü@ÿÊö¥óPôgôHøxÿW’5 ? ́pÿVú²ö²óSóßö-ơ\ö×öỊ́¹ñ/óAñ¬ọ́öüå₫µAæ \"Ñ(́B \2ùỴ›øÀúbưmbœ¦ü$úƠöỴ̈Eó"öNú„C T AF₫û¹÷êơTơ÷WøÁö;÷(÷ëơö…ø³øø/ü/₫A₫¨ơG²®#‹GT úØúóŸ÷#₫ï₫+Ơ¤WúøZơ˜ñ(ñ̃ơ0úĂÿW. ¢ î×’ÿèû-û}ú8ø@ù‘÷öô·ô¯ơªơ…ùúAü ü)ư₫<ÿGzQE °!É=ú¼ö`óø-ư( üëøÅöƠơù¨û(sæ—«û₫€üú±úŒú¯úCûíúmù(ø*øxøDùßû¾ưÄư|ưÿüvú–÷zùA₫{!ƒ Xwyù~₫_ù7û€øùư}c.ÚÄ₫Cø–ơèơ’öĂøư³mD}˜ü«ÿÿƯư}₫Ôưüû(ú¶ù:ùHúüSư,ÿ̃äÿÛ₫ û4ùơøm÷Öù”ü˜î Jô" ’₫Æü̃ưÅtBV®̣ù¶ø½÷ ÷ ú?û{₫²₫q@5Lœy+Øá₫µưcüúÍûÙú|úûmùñø€ùûú†úÍúèüû’úZúdüKÿB? ̣¿y íÜ₫¯ûÁ₫đ³øƠûø ÷*÷û¢ưj‹ty₫₫‚ưé₫¼Í7†ú₫ư¬úËù§øÿøœûBü<ư°ưáüüûüfü¦ưwÿßưÛư¶ü¾û\üà₫ĂÍ £C}¯ïg₫núø̉y¾ưúÚùÑùÉù|üaư_?ÿ̃µ₫A₫Ô₫ ₫Œ¿aư'üMúüø¹ø¼øûÊû!ưC₫´ư₫R₫åưQ₫ưvưÄ­¼ÿ³ư¸₫Ưÿ^ƒŸ ¢1”ùñăÆüàûÛû?ÿÿ^øî₫üyølöÆøûºü†ÿ(Uÿ₫¥ÿÿ$<³xÊ₫gư‹ûbúơùgúñú/üUư€₫¼₫‘ưåư5₫2₫`Ê^²‘4ÿüÿ€ÿ9½_J X  ’ï•Ùÿ£₫jd¹ÿº₫Ëü5ưlû]úưƠưéưz₫}₫’₫̃ư÷₫¶ÿPÿ—ÿ—₫ôưYư5üZüêûÇû:üÿû ü?ü1₫5ÿ1"HKTÂÿ¥ÿzèÿa%­ÿăñ]N/Bn‚₫Ó₫}₫:zĐÿ;ÿm₫ƯúFúæü-₫₫•₫0ÿƒ₫³üdư>ÿøÿ@×ÿ̉ưûûíú•úǘ₫È₫₫{₫z₫…ÿ¹₫Ti‹#ÿ˜ÿÿgë¦îácZË6‚ßÿCŸcÆÚ̃`0µư¸ül₫+ÿ̀₫ƯÿAÿ=₫8ÿEÿ’ÿÛÿf₫2üøùđøØùyúCûŸüªünüQưCưŸưuư7ư8 -ÿ»%¢Í ơ å™^c ÍqÿÿŸÿưÿÿfÿ]ÿñư;ưVû¥ú{üˆư ư“₫™ÿŸ₫J₫Ù₫dÿ̀ÿBIGÿÿ₫ü₫–ưưaưA₫Ü₫¹₫ăÿ*ˆ₫·ÿffÿ–₫ú₫Ó₫3₫çÿ{~›ö ªË₫Dÿ/4ÁADá_gÿéÿ›BE—Uû‰₫m₫̃û¾₫¡ÿ-ÿÿ₫₫·û»ú>ưưüËư₫@₫l₫1₫+₫Z₫U₫Â₫3₫wÿºø’ ¼ X«`̉çÿ ÿEú₫₫3»ư!₫çưĂü$ưæưJưUư–ư₫̃©¢ÿĂ ÷₫̣üˆ7ÿư4₫%ÿjưưƒ₫ÿÿ`ư˜₫Çÿ¯₫†ưÿËÿ¿₫ÏÿX®ÿ”p 8Ê7­ÿ$|Mï–\.ÿßÿ¡ß:‡)“ Z?ÿz₫lɧ₫˜ÿx₫̉ü<üûWưÔüÆú¼üØû¨ú9ûiúüêưúưmÿư₫Ñư¶₫W₫>₫`'ªvx’´ ?9Ê Y ©CÏÿâ₫̀ÿÁuÿ†ưçüv₫Aưaü\ưÅ₫5kÿ̉₫äÿ₫̃ư₫₫2Éÿö₫ÅÿĐÿ™ưüUư³üûfư•ÿŒ₫9 >₫y₫ơ₫míAÿGªÿÚ₫ôø©0ûPcN ̀»ƒ$[†â{eă₫v₫v£†ÿ‡üÈú ư®úĐø±₫ ₫ưo™ÿ›ưhưÿ₫^ÿA®§ÿ₫lư!ûtúÔû₫„₫ÿè„Ă₫ˆ₫Ó₫/ÿÓÿyyI€,1S½À¤„ đ—óŸó¢ÿöÿ́ü×ÿÊîü!₫ÿöüSüÊüÉ₫CTư₫Gôü8ü ÿÎăḰO₫̃úûüiưÁư™ÿ@B₫°ûuü ưØü£₫ ;¯½₫¯ÿµ¤+ăÿ©ÿxû]Ko.]ĐZ#I ̀ÿ°ÿ¯₫ ₫Üưnưáû{ûñü?₫x₫I₫x₫+ÿ₫Rÿ׌ÿGÿ@€ÿ.ÿÈŒyÿÿúüü~ûÚûŸư₫]ÿ*ª₫Üưÿÿhÿ¤<t¤ưÿ›bRÿêÿ-®Ö¥‘̀áµ  Yûnÿ₫ßüüüư½û¡ữưïüơ₫ÿÿt*x3ÿÓ₫Nÿ`₫•ư/₫É₫êưÙư†₫ư1ûüGư4ư₫ÿ9§çá$QÿÏ{l.!ÿmÿKZ48}HúHR>¶Üpÿc₫¢ÿ×ÿ₫Ñư˜₫%₫đüçü₫ü2ưr₫pÿ²Æÿœ-ÿD₫₫ÿ‹₫1₫E₫ƠưÙüưûựưïưçư`₫n₫K₫“ÿŒâÿ"÷”zu©–ùKÎ`%‹ú“îspÿ¾ÿkÿ]₫₫₫¡ư‚ưˆưøư\₫¸₫jÿ–ÿRÿø₫å₫ÿ¿₫Ö₫ô₫Å₫­₫₫|₫O₫÷ưO₫²₫²₫ ÿ‚ỵ̈ÿ+1òä-½ L ́÷Ơ±@0µ¼‰AfÇÿóÿ!ÿtÿ ,xÿIÿåÿ :ÿXÿôÿªÿtÿœÿÿMÿ ÿ@ÿ‚ÿ?ÿÿđ₫î₫@ÿÿó₫Fÿ\ÿ<ÿHÿ‘ÿÔÿƠÿkZ2M€¿ÔÁƯăíÙÚ×Ơă³——Pmªèÿ×ÿªÿ©ÿ¯ÿÿNÿBÿ,ÿç₫Ư₫́₫ ÿÿ(ÿ?ÿPÿJÿjÿÿ­ÿíÿBs”§¸Ó́ó₫   ựÜ»˜h?&üÿÖÿ·ÿ…ÿVÿ.ÿÿÿ₫̣₫í₫ñ₫ø₫ÿÿ5ÿ[ÿqÿ|ÿ›ÿºÿ̉ÿîÿ5Re”“—¡™””œtZJ( ưÿêÿÊÿµÿ³ÿ¤ÿ‹ÿ~ÿƒÿ†ÿÿ‡ÿÿ“ÿÿŸÿ»ÿÆÿƠÿơÿ!/@M\einlf[WXNKE5+* üÿóÿ́ÿåÿÚÿ̉ÿÈÿÂÿÄÿÀÿ½ÿºÿ³ÿ±ÿ«ÿªÿ«ÿ±ÿºÿÅÿÊÿÏÿÜÿæÿïÿùÿ !(-/2.)*'$#%" üÿûÿûÿ÷ÿöÿöÿöÿóÿđÿñÿïÿíÿîÿîÿîÿîÿîÿđÿïÿîÿñÿóÿóÿóÿơÿøÿ÷ÿøÿûÿ₫ÿüÿưÿ₫ÿÿÿÿÿÿÿÿÿ  ÿÿûÿúÿöỵ̈ÿîÿíÿêÿçÿåÿâÿàÿáÿßÿßÿßÿßÿáÿäÿåÿèÿëÿíÿñÿóÿùÿüÿ !$%'()((&$! üÿøÿóÿïÿ́ÿéÿăÿàÿàÿƯÿÛÿÚÿÚÿÚÿÚÿÚÿƯÿàÿáÿäÿèÿîÿđỵ̈ÿöÿüÿưÿ   ưÿùÿöÿơÿôÿđÿñÿïÿîÿêÿêÿèÿéÿéÿëÿéÿíÿïÿïÿïÿïÿóÿơÿơÿ÷ÿûÿưÿưÿÿÿ    ûÿ₫ÿÿÿöÿüÿ÷ÿưÿđÿôÿäÿèÿîÿ́ÿûÿôÿÜÿæÿØÿíÿ₫ÿ÷ÿûÿơÿûÿ øÿûÿúÿøÿ(ùÿ!óÿ ÿÿưÿ đÿöÿñÿøÿ₫ÿøỵ̈ÿùÿ÷ÿơÿöÿñÿïÿîÿôÿäÿăÿ́ÿôÿ÷ÿîÿ óÿ    ÿÿ ÿÿ₫ÿ ₫ÿïÿñÿơÿøÿíÿëÿæÿçÿâÿöÿúÿ́ÿôÿøÿóÿÿÿùÿèÿ ÷ÿ ÿÿưÿ ùÿ ûÿÿÿơÿơÿ öÿ̀ÿ̉ÿïÿưỵ̈ÿöÿưÿæÿÚÿûÿÑÿêÿ   $!#&,Ñÿ¼ÿÎÿÇÿáÿÜÿ̃ÿsjÿ#X¡(ÿĂø̉ÿ ¦6û3₫K.=₫…ưº“ÿ₫¸*h§₫̃ÿ'AZÿGÿ~³àÿ=ÿz₫‚sPùø'làÿ ûtÿm̀₫ûÿ€‚₫4₫‰̣¼₫Đưîÿ2Hÿ¯ÿ‰÷!|Áÿ²3.çÿ/ˆÿ‰ÿ1i¶ÿ)üư&uÿº¯ÿW₫₫±‡̃ÿ¨ÿÖ₫j₫¶ưÔ₫‡ ¯ÿkÿ\UÚ”êÿâÿ̃'¨ÿÁ₫ơÿÜÿ¸ÿ!ÿQ4{¹ÿÇÿÀ̀ỵ̈ÿºpỵ̈₫R₫¡ÿ»ÿ}ÿ ëÿâºÄ»ư₫6₫¡ưÈ~üÿûøÿù₫ºÿéq8ü₫¾₫%ÿ‚q₫½ưu₫•+l₫₫₫†>ê₫ Z¾Xư&Wÿư2ÿJÊ₫Ü₫SooÿÀưˆµÿD]ÿûư¢`ÿ¶ ÿÏư¢¨Œ₫áqưËÿó₫WưmLÿ‘ cÿzƠÿJ;₫Çÿ¾̉₫‘ưhÿ}|g₫¬ÔZÿí₫âÿd”₫ÿ¬ÿØư~¿†³₫hÿ°¤¥₫›₫O×Ô₫åÿ8|¤ÿªÿü^ºưÿÙhÿÔÿéÿ 7ÿÿÿå₫O&Âÿo°₫σÿÿŨÿ‘₫‡ÿDÿ’ÿoê₫0̉ÿ̀ÿE‚’ÿ*₫²®mÿ[ÿ ÿ`ÿkÿ11´¸ưœÿ/ÆưĂ₫lsÿ́₫‚aÂÿe₫uï ¼ÿ~ÿ…8æ₫•ÿ‹Ÿñÿÿ[ ÍÿñÿôÿÆÿ÷ª₫Iÿû»ÿ{œÿûÿfĂÿ7ÿ£ÊŒÿ8ÿ®XÄÿÿøÿ×₫!`µÿS¿ÿª¼ÿ‰ÿœôÿ_ÿX°fÿ¤ÿkBöÿÉÿ6×/ÿđÿ±ÿ„Óÿø₫ñÿÄœÿW$ èÿ5âÿ7*„ÿûÿ×ÿôÿ ñÿ&zuÿ†sÿÇÿ§ ÿNÿ\“ÿr6“ÿOY6¡ÿ³ÿ¢ÿÚÿôÿµèÿÄÿ=7}ÿc‹ÿơÿÓ¤ÿAÿ.[ÿôÿmpyÿăÿcˆÿèÿ|êÿ†ÿŸ¡ÿ5¾ÿ&&ÿ2ZÿÛÿÿ»ÿ„ æÿ‚ÿàÿMĐÿđÿ₫ÿüÿ:-¾ÿgĐÿíÿ²ÿ QƯÿ²ÿ%Öÿ=Öÿ1”Üÿ\ÿ+ơÿEÿE•lÿr÷ÿéÿüÿ™Àÿ·ÿÄÿ©ÿ¯˜ÿ¬ÿb‰ÊÿQcÿ‚ ú₫‰ûÿ×ÿÆÿy-kÿƯÿ'yô₫µÿ*̉ÿÙÿ»ÿˆ6öÿÓÿ¸ÿ$ÚÊÿ5ÿq™“ÿº₫Fơåÿ¥ÿHĂøÿÛ₫ÆÿúI÷₫ëÿÅWÿûÿ·ÿOư₫_ÿ8fíÿ̀ÿf`×₫½ÿ˜–Îÿ¥ÿC:œÿ¼ÿ¿ÙÿoÿSÛÿÖÿ¯ÿSöüÿIÿ wÿrñÿíÿ‡®ÿXÿ}ÿó»)ÿµûÿ(ÿ̉ÿ}íÿÁÿ;TiÿÑÿuq—ÿLÿsœÿXÿGÍÿŸÿ–ÜÿéÿÇÿ6#èÿëÿüÿÿ[cÿ¬,Ûÿëÿ ÿ$aÜÿùÿûÿöÿ¾ÿ30Ŕ₫†4b2ÿ$y‹ÿtÿ ¸ÿrÿ₫ÿôdÿ[-ÿø¶ÿ²ÿÈÿm-¦ÿ¼ÿ.¸ÿÿÿ&¢æ₫¥[Üÿÿ.̀ÿJÛÿ¸ÿçÿ²˜ÿÊÿµ/6ÿ§ÿ”Dÿ¼ÿlRáÿˆÿ`ÇÿïÿúÿÁÿôSMÿ…ÿÊÿÆ=ÿ™“ÿ›ÿdÿ©˜®ÿxÿQ̉ÿ.¥ÿ=ÉÿHóÿ¯ÿ 5ăÿÏÿ*§ÿ˜æÿÑÿđÿJj ÿ6ÿêÿËÆÿ)[°ÿ™ÿxÿv₫ÿ´ÿøÿöÿ¾ÿâÿi§ÿLUuÿáÿ½ÿeơÿzÿ']ÿ ×ÿXàÿmÿŸ †ÿ̀ÿ­#OÿÆÿmLÅÿôÿÇÿêÿ2ÿoÀkÿdÿ&‡ÿUÿ$]h ÿïÿê<Aÿ€ÿQÓâÿ(ÿl¬sÿfÿÂÿ:jÿËÿVY~ÿ±ÿøÿÇ̀ÿÄÿçÿC^uÿªÿcNÔÿ‚ÿ  rÿßÿL=´ÿzÿ{fÎÿtÿ?j|ÿºÿ| ưÿ̀ÿwäÿYÿÅÿ‹DÿƠÿ9ÿ±ÿöÿ…ÖÿÀÿ 0)Óÿ¦ÿ+JĐÿÂÿơÿa)¸ÿÙÿUưÿêÿ¥ÿ }çÿ¾ÿüÿ&/̣ÿªÿ?Åÿóÿ_= ÿ¿ÿ-#ØÿÆÿ{ûÿ¥ÿ µÿÄÿL<èÿ¶ÿ8-¦ÿ½ÿl)²ÿ²ÿVGîÿƒÿ jèÿ¾ÿµÿŒ§ÿéÿ#S̀ÿ–ÿ&fÜÿÎÿHÿæÿ5+ăÿÛÿ8đÿ¼ÿ++ÉÿÆÿ:äÿÚÿEíÿÆÿöÿ;êÿÚÿ)#Đÿơÿöÿ8úÿÍÿüÿ<êÿåÿ;̉ÿÎÿ))ÿÿÚÿñÿ, ̀ÿñÿ/êÿ×ÿ2åÿáÿ ̃ÿđÿ3ưÿîÿøÿ ôÿØÿưÿóÿôÿ!Ơÿÿÿÿÿæÿçÿđÿ æÿ₫ÿ%ơÿíÿôÿëÿøÿùÿưÿêÿ ÿÿưÿóÿ ñÿûÿ÷ÿưÿùÿÿÿ ûÿơÿ₫ÿûÿüÿơÿ₫ÿóÿ ûÿưÿưÿöÿûÿ ₫ÿưÿÿÿ ûÿûÿưÿüÿûÿÿÿùÿÿÿưÿÿÿưÿưÿưÿưÿÿÿÿÿüÿÿÿưÿưÿÿÿÿÿÿÿÿÿ₫ÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿ₫ÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ₫ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿaiortc-1.11.0/examples/server/index.html000066400000000000000000000064071477147103300202120ustar00rootroot00000000000000 WebRTC demo

Options

State

ICE gathering state:

ICE connection state:

Signaling state:

Data channel



SDP

Offer



Answer






aiortc-1.11.0/examples/server/server.py000066400000000000000000000151531477147103300200730ustar00rootroot00000000000000import argparse
import asyncio
import json
import logging
import os
import ssl
import uuid

import cv2
from aiohttp import web
from aiortc import MediaStreamTrack, RTCPeerConnection, RTCSessionDescription
from aiortc.contrib.media import MediaBlackhole, MediaPlayer, MediaRecorder, MediaRelay
from av import VideoFrame

ROOT = os.path.dirname(__file__)

logger = logging.getLogger("pc")
pcs = set()
relay = MediaRelay()


class VideoTransformTrack(MediaStreamTrack):
    """
    A video stream track that transforms frames from an another track.
    """

    kind = "video"

    def __init__(self, track, transform):
        super().__init__()  # don't forget this!
        self.track = track
        self.transform = transform

    async def recv(self):
        frame = await self.track.recv()

        if self.transform == "cartoon":
            img = frame.to_ndarray(format="bgr24")

            # prepare color
            img_color = cv2.pyrDown(cv2.pyrDown(img))
            for _ in range(6):
                img_color = cv2.bilateralFilter(img_color, 9, 9, 7)
            img_color = cv2.pyrUp(cv2.pyrUp(img_color))

            # prepare edges
            img_edges = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)
            img_edges = cv2.adaptiveThreshold(
                cv2.medianBlur(img_edges, 7),
                255,
                cv2.ADAPTIVE_THRESH_MEAN_C,
                cv2.THRESH_BINARY,
                9,
                2,
            )
            img_edges = cv2.cvtColor(img_edges, cv2.COLOR_GRAY2RGB)

            # combine color and edges
            img = cv2.bitwise_and(img_color, img_edges)

            # rebuild a VideoFrame, preserving timing information
            new_frame = VideoFrame.from_ndarray(img, format="bgr24")
            new_frame.pts = frame.pts
            new_frame.time_base = frame.time_base
            return new_frame
        elif self.transform == "edges":
            # perform edge detection
            img = frame.to_ndarray(format="bgr24")
            img = cv2.cvtColor(cv2.Canny(img, 100, 200), cv2.COLOR_GRAY2BGR)

            # rebuild a VideoFrame, preserving timing information
            new_frame = VideoFrame.from_ndarray(img, format="bgr24")
            new_frame.pts = frame.pts
            new_frame.time_base = frame.time_base
            return new_frame
        elif self.transform == "rotate":
            # rotate image
            img = frame.to_ndarray(format="bgr24")
            rows, cols, _ = img.shape
            M = cv2.getRotationMatrix2D((cols / 2, rows / 2), frame.time * 45, 1)
            img = cv2.warpAffine(img, M, (cols, rows))

            # rebuild a VideoFrame, preserving timing information
            new_frame = VideoFrame.from_ndarray(img, format="bgr24")
            new_frame.pts = frame.pts
            new_frame.time_base = frame.time_base
            return new_frame
        else:
            return frame


async def index(request):
    content = open(os.path.join(ROOT, "index.html"), "r").read()
    return web.Response(content_type="text/html", text=content)


async def javascript(request):
    content = open(os.path.join(ROOT, "client.js"), "r").read()
    return web.Response(content_type="application/javascript", text=content)


async def offer(request):
    params = await request.json()
    offer = RTCSessionDescription(sdp=params["sdp"], type=params["type"])

    pc = RTCPeerConnection()
    pc_id = "PeerConnection(%s)" % uuid.uuid4()
    pcs.add(pc)

    def log_info(msg, *args):
        logger.info(pc_id + " " + msg, *args)

    log_info("Created for %s", request.remote)

    # prepare local media
    player = MediaPlayer(os.path.join(ROOT, "demo-instruct.wav"))
    if args.record_to:
        recorder = MediaRecorder(args.record_to)
    else:
        recorder = MediaBlackhole()

    @pc.on("datachannel")
    def on_datachannel(channel):
        @channel.on("message")
        def on_message(message):
            if isinstance(message, str) and message.startswith("ping"):
                channel.send("pong" + message[4:])

    @pc.on("connectionstatechange")
    async def on_connectionstatechange():
        log_info("Connection state is %s", pc.connectionState)
        if pc.connectionState == "failed":
            await pc.close()
            pcs.discard(pc)

    @pc.on("track")
    def on_track(track):
        log_info("Track %s received", track.kind)

        if track.kind == "audio":
            pc.addTrack(player.audio)
            recorder.addTrack(track)
        elif track.kind == "video":
            pc.addTrack(
                VideoTransformTrack(
                    relay.subscribe(track), transform=params["video_transform"]
                )
            )
            if args.record_to:
                recorder.addTrack(relay.subscribe(track))

        @track.on("ended")
        async def on_ended():
            log_info("Track %s ended", track.kind)
            await recorder.stop()

    # handle offer
    await pc.setRemoteDescription(offer)
    await recorder.start()

    # send answer
    answer = await pc.createAnswer()
    await pc.setLocalDescription(answer)

    return web.Response(
        content_type="application/json",
        text=json.dumps(
            {"sdp": pc.localDescription.sdp, "type": pc.localDescription.type}
        ),
    )


async def on_shutdown(app):
    # close peer connections
    coros = [pc.close() for pc in pcs]
    await asyncio.gather(*coros)
    pcs.clear()


if __name__ == "__main__":
    parser = argparse.ArgumentParser(
        description="WebRTC audio / video / data-channels demo"
    )
    parser.add_argument("--cert-file", help="SSL certificate file (for HTTPS)")
    parser.add_argument("--key-file", help="SSL key file (for HTTPS)")
    parser.add_argument(
        "--host", default="0.0.0.0", help="Host for HTTP server (default: 0.0.0.0)"
    )
    parser.add_argument(
        "--port", type=int, default=8080, help="Port for HTTP server (default: 8080)"
    )
    parser.add_argument("--record-to", help="Write received media to a file.")
    parser.add_argument("--verbose", "-v", action="count")
    args = parser.parse_args()

    if args.verbose:
        logging.basicConfig(level=logging.DEBUG)
    else:
        logging.basicConfig(level=logging.INFO)

    if args.cert_file:
        ssl_context = ssl.SSLContext()
        ssl_context.load_cert_chain(args.cert_file, args.key_file)
    else:
        ssl_context = None

    app = web.Application()
    app.on_shutdown.append(on_shutdown)
    app.router.add_get("/", index)
    app.router.add_get("/client.js", javascript)
    app.router.add_post("/offer", offer)
    web.run_app(
        app, access_log=None, host=args.host, port=args.port, ssl_context=ssl_context
    )
aiortc-1.11.0/examples/videostream-cli/000077500000000000000000000000001477147103300177675ustar00rootroot00000000000000aiortc-1.11.0/examples/videostream-cli/README.rst000066400000000000000000000026221477147103300214600ustar00rootroot00000000000000Video channel CLI
=================

This example illustrates the establishment of a video stream using an
RTCPeerConnection.

By default the signaling channel used is "copy and paste", but a number of
other signaling mecanisms are available.

By default the sent video is an animated French flag, but it is also possible
to use a MediaPlayer to read media from a file.

This example also illustrates how to use a MediaRecorder to capture media to a
file.

First install the required packages:

.. code-block:: console

   $ pip install aiortc opencv-python

Running the example
-------------------

To run the example, you will need instances of the `cli` example:

- The first takes on the role of the offerer. It generates an offer which you
  must copy-and-paste to the answerer.

.. code-block:: console

   $ python cli.py offer

- The second takes on the role of the answerer. When given an offer, it will
  generate an answer which you must copy-and-paste to the offerer.

.. code-block:: console

   $ python cli.py answer

Additional options
------------------

If you want to play a media file instead of sending the example image, run:

.. code-block:: console

   $ python cli.py offer --play-from video.mp4

If you want to recording the received video you can run one of the following:

.. code-block:: console

   $ python cli.py answer --record-to video.mp4
   $ python cli.py answer --record-to video-%3d.png
aiortc-1.11.0/examples/videostream-cli/cli.py000066400000000000000000000116421477147103300211140ustar00rootroot00000000000000import argparse
import asyncio
import logging
import math

import cv2
import numpy
from aiortc import (
    RTCIceCandidate,
    RTCPeerConnection,
    RTCSessionDescription,
    VideoStreamTrack,
)
from aiortc.contrib.media import MediaBlackhole, MediaPlayer, MediaRecorder
from aiortc.contrib.signaling import BYE, add_signaling_arguments, create_signaling
from av import VideoFrame


class FlagVideoStreamTrack(VideoStreamTrack):
    """
    A video track that returns an animated flag.
    """

    def __init__(self):
        super().__init__()  # don't forget this!
        self.counter = 0
        height, width = 480, 640

        # generate flag
        data_bgr = numpy.hstack(
            [
                self._create_rectangle(
                    width=213, height=480, color=(255, 0, 0)
                ),  # blue
                self._create_rectangle(
                    width=214, height=480, color=(255, 255, 255)
                ),  # white
                self._create_rectangle(width=213, height=480, color=(0, 0, 255)),  # red
            ]
        )

        # shrink and center it
        M = numpy.float32([[0.5, 0, width / 4], [0, 0.5, height / 4]])
        data_bgr = cv2.warpAffine(data_bgr, M, (width, height))

        # compute animation
        omega = 2 * math.pi / height
        id_x = numpy.tile(numpy.array(range(width), dtype=numpy.float32), (height, 1))
        id_y = numpy.tile(
            numpy.array(range(height), dtype=numpy.float32), (width, 1)
        ).transpose()

        self.frames = []
        for k in range(30):
            phase = 2 * k * math.pi / 30
            map_x = id_x + 10 * numpy.cos(omega * id_x + phase)
            map_y = id_y + 10 * numpy.sin(omega * id_x + phase)
            self.frames.append(
                VideoFrame.from_ndarray(
                    cv2.remap(data_bgr, map_x, map_y, cv2.INTER_LINEAR), format="bgr24"
                )
            )

    async def recv(self):
        pts, time_base = await self.next_timestamp()

        frame = self.frames[self.counter % 30]
        frame.pts = pts
        frame.time_base = time_base
        self.counter += 1
        return frame

    def _create_rectangle(self, width, height, color):
        data_bgr = numpy.zeros((height, width, 3), numpy.uint8)
        data_bgr[:, :] = color
        return data_bgr


async def run(pc, player, recorder, signaling, role):
    def add_tracks():
        if player and player.audio:
            pc.addTrack(player.audio)

        if player and player.video:
            pc.addTrack(player.video)
        else:
            pc.addTrack(FlagVideoStreamTrack())

    @pc.on("track")
    def on_track(track):
        print("Receiving %s" % track.kind)
        recorder.addTrack(track)

    # connect signaling
    await signaling.connect()

    if role == "offer":
        # send offer
        add_tracks()
        await pc.setLocalDescription(await pc.createOffer())
        await signaling.send(pc.localDescription)

    # consume signaling
    while True:
        obj = await signaling.receive()

        if isinstance(obj, RTCSessionDescription):
            await pc.setRemoteDescription(obj)
            await recorder.start()

            if obj.type == "offer":
                # send answer
                add_tracks()
                await pc.setLocalDescription(await pc.createAnswer())
                await signaling.send(pc.localDescription)
        elif isinstance(obj, RTCIceCandidate):
            await pc.addIceCandidate(obj)
        elif obj is BYE:
            print("Exiting")
            break


if __name__ == "__main__":
    parser = argparse.ArgumentParser(description="Video stream from the command line")
    parser.add_argument("role", choices=["offer", "answer"])
    parser.add_argument("--play-from", help="Read the media from a file and sent it.")
    parser.add_argument("--record-to", help="Write received media to a file.")
    parser.add_argument("--verbose", "-v", action="count")
    add_signaling_arguments(parser)
    args = parser.parse_args()

    if args.verbose:
        logging.basicConfig(level=logging.DEBUG)

    # create signaling and peer connection
    signaling = create_signaling(args)
    pc = RTCPeerConnection()

    # create media source
    if args.play_from:
        player = MediaPlayer(args.play_from)
    else:
        player = None

    # create media sink
    if args.record_to:
        recorder = MediaRecorder(args.record_to)
    else:
        recorder = MediaBlackhole()

    # run event loop
    loop = asyncio.get_event_loop()
    try:
        loop.run_until_complete(
            run(
                pc=pc,
                player=player,
                recorder=recorder,
                signaling=signaling,
                role=args.role,
            )
        )
    except KeyboardInterrupt:
        pass
    finally:
        # cleanup
        loop.run_until_complete(recorder.stop())
        loop.run_until_complete(signaling.close())
        loop.run_until_complete(pc.close())
aiortc-1.11.0/examples/webcam/000077500000000000000000000000001477147103300161365ustar00rootroot00000000000000aiortc-1.11.0/examples/webcam/README.rst000066400000000000000000000047321477147103300176330ustar00rootroot00000000000000Webcam server
=============

This example illustrates how to read frames from a webcam and send them
to a browser.

Running
-------

First install the required packages:

.. code-block:: console

    $ pip install aiohttp aiortc

When you start the example, it will create an HTTP server which you
can connect to from your browser:

.. code-block:: console

    $ python webcam.py

You can then browse to the following page with your browser:

http://127.0.0.1:8080

Once you click `Start` the server will send video from its webcam to the
browser.

.. warning:: Due to the timing of when Firefox starts responding to mDNS
 requests and the current lack of ICE trickle support in aiortc, this example
 may not work with Firefox. For details see:

 https://github.com/aiortc/aiortc/issues/481 and
 https://bugzilla.mozilla.org/show_bug.cgi?id=1691189

Additional options
------------------

If you want to play a media file instead of using the webcam, run:

.. code-block:: console

   $ python webcam.py --play-from video.mp4

Pre-encoded Opus audio
......................

If you want to play an OGG file containing Opus audio without decoding the frames, run:

.. code-block:: console

   $ python webcam.py --play-from audio.ogg --play-without-decoding --audio-codec audio/opus

You can generate an example of such a file using:

.. code-block:: console

   $ ffmpeg -f lavfi -i "sine=frequency=1000:duration=20" -codec:a libopus -f ogg audio.ogg

Pre-encoded H.264 video
.......................

If you want to play an MPEGTS file containing H.264 video without decoding the frames, run:

.. code-block:: console

   $ python webcam.py --play-from video.ts --play-without-decoding --video-codec video/H264

You can generate an example of such a file using:

.. code-block:: console

   $ ffmpeg -f lavfi -i testsrc=duration=20:size=640x480:rate=30 -pix_fmt yuv420p -codec:v libx264 -profile:v baseline -level 31 -f mpegts video.ts

Pre-encoded VP8 video
.....................

If you want to play a WebM file containing VP8 video without decoding the frames, run:

.. code-block:: console

   $ python webcam.py --play-from video.webm --play-without-decoding --video-codec video/VP8

You can generate an example of such a file using:

.. code-block:: console

   $ ffmpeg -f lavfi -i testsrc=duration=20:size=640x480:rate=30 -codec:v vp8 -f webm video.webm

Credits
-------

The original idea for the example was from Marios Balamatsias.

Support for playback without decoding was based on an example by Renan Prata.
aiortc-1.11.0/examples/webcam/client.js000066400000000000000000000042621477147103300177560ustar00rootroot00000000000000var pc = null;

function negotiate() {
    pc.addTransceiver('video', { direction: 'recvonly' });
    pc.addTransceiver('audio', { direction: 'recvonly' });
    return pc.createOffer().then((offer) => {
        return pc.setLocalDescription(offer);
    }).then(() => {
        // wait for ICE gathering to complete
        return new Promise((resolve) => {
            if (pc.iceGatheringState === 'complete') {
                resolve();
            } else {
                const checkState = () => {
                    if (pc.iceGatheringState === 'complete') {
                        pc.removeEventListener('icegatheringstatechange', checkState);
                        resolve();
                    }
                };
                pc.addEventListener('icegatheringstatechange', checkState);
            }
        });
    }).then(() => {
        var offer = pc.localDescription;
        return fetch('/offer', {
            body: JSON.stringify({
                sdp: offer.sdp,
                type: offer.type,
            }),
            headers: {
                'Content-Type': 'application/json'
            },
            method: 'POST'
        });
    }).then((response) => {
        return response.json();
    }).then((answer) => {
        return pc.setRemoteDescription(answer);
    }).catch((e) => {
        alert(e);
    });
}

function start() {
    var config = {
        sdpSemantics: 'unified-plan'
    };

    if (document.getElementById('use-stun').checked) {
        config.iceServers = [{ urls: ['stun:stun.l.google.com:19302'] }];
    }

    pc = new RTCPeerConnection(config);

    // connect audio / video
    pc.addEventListener('track', (evt) => {
        if (evt.track.kind == 'video') {
            document.getElementById('video').srcObject = evt.streams[0];
        } else {
            document.getElementById('audio').srcObject = evt.streams[0];
        }
    });

    document.getElementById('start').style.display = 'none';
    negotiate();
    document.getElementById('stop').style.display = 'inline-block';
}

function stop() {
    document.getElementById('stop').style.display = 'none';

    // close peer connection
    setTimeout(() => {
        pc.close();
    }, 500);
}
aiortc-1.11.0/examples/webcam/index.html000066400000000000000000000015141477147103300201340ustar00rootroot00000000000000


    
    
    WebRTC webcam
    



Media

aiortc-1.11.0/examples/webcam/webcam.py000066400000000000000000000117461477147103300177570ustar00rootroot00000000000000import argparse import asyncio import json import logging import os import platform import ssl from aiohttp import web from aiortc import RTCPeerConnection, RTCRtpSender, RTCSessionDescription from aiortc.contrib.media import MediaPlayer, MediaRelay ROOT = os.path.dirname(__file__) relay = None webcam = None def create_local_tracks(play_from, decode): global relay, webcam if play_from: player = MediaPlayer(play_from, decode=decode) return player.audio, player.video else: options = {"framerate": "30", "video_size": "640x480"} if relay is None: if platform.system() == "Darwin": webcam = MediaPlayer( "default:none", format="avfoundation", options=options ) elif platform.system() == "Windows": webcam = MediaPlayer( "video=Integrated Camera", format="dshow", options=options ) else: webcam = MediaPlayer("/dev/video0", format="v4l2", options=options) relay = MediaRelay() return None, relay.subscribe(webcam.video) def force_codec(pc, sender, forced_codec): kind = forced_codec.split("/")[0] codecs = RTCRtpSender.getCapabilities(kind).codecs transceiver = next(t for t in pc.getTransceivers() if t.sender == sender) transceiver.setCodecPreferences( [codec for codec in codecs if codec.mimeType == forced_codec] ) async def index(request): content = open(os.path.join(ROOT, "index.html"), "r").read() return web.Response(content_type="text/html", text=content) async def javascript(request): content = open(os.path.join(ROOT, "client.js"), "r").read() return web.Response(content_type="application/javascript", text=content) async def offer(request): params = await request.json() offer = RTCSessionDescription(sdp=params["sdp"], type=params["type"]) pc = RTCPeerConnection() pcs.add(pc) @pc.on("connectionstatechange") async def on_connectionstatechange(): print("Connection state is %s" % pc.connectionState) if pc.connectionState == "failed": await pc.close() pcs.discard(pc) # open media source audio, video = create_local_tracks( args.play_from, decode=not args.play_without_decoding ) if audio: audio_sender = pc.addTrack(audio) if args.audio_codec: force_codec(pc, audio_sender, args.audio_codec) elif args.play_without_decoding: raise Exception("You must specify the audio codec using --audio-codec") if video: video_sender = pc.addTrack(video) if args.video_codec: force_codec(pc, video_sender, args.video_codec) elif args.play_without_decoding: raise Exception("You must specify the video codec using --video-codec") await pc.setRemoteDescription(offer) answer = await pc.createAnswer() await pc.setLocalDescription(answer) return web.Response( content_type="application/json", text=json.dumps( {"sdp": pc.localDescription.sdp, "type": pc.localDescription.type} ), ) pcs = set() async def on_shutdown(app): # close peer connections coros = [pc.close() for pc in pcs] await asyncio.gather(*coros) pcs.clear() if __name__ == "__main__": parser = argparse.ArgumentParser(description="WebRTC webcam demo") parser.add_argument("--cert-file", help="SSL certificate file (for HTTPS)") parser.add_argument("--key-file", help="SSL key file (for HTTPS)") parser.add_argument("--play-from", help="Read the media from a file and sent it.") parser.add_argument( "--play-without-decoding", help=( "Read the media without decoding it (experimental). " "For now it only works with an MPEGTS container with only H.264 video." ), action="store_true", ) parser.add_argument( "--host", default="0.0.0.0", help="Host for HTTP server (default: 0.0.0.0)" ) parser.add_argument( "--port", type=int, default=8080, help="Port for HTTP server (default: 8080)" ) parser.add_argument("--verbose", "-v", action="count") parser.add_argument( "--audio-codec", help="Force a specific audio codec (e.g. audio/opus)" ) parser.add_argument( "--video-codec", help="Force a specific video codec (e.g. video/H264)" ) args = parser.parse_args() if args.verbose: logging.basicConfig(level=logging.DEBUG) else: logging.basicConfig(level=logging.INFO) if args.cert_file: ssl_context = ssl.SSLContext() ssl_context.load_cert_chain(args.cert_file, args.key_file) else: ssl_context = None app = web.Application() app.on_shutdown.append(on_shutdown) app.router.add_get("/", index) app.router.add_get("/client.js", javascript) app.router.add_post("/offer", offer) web.run_app(app, host=args.host, port=args.port, ssl_context=ssl_context) aiortc-1.11.0/pyproject.toml000066400000000000000000000037761477147103300160130ustar00rootroot00000000000000[build-system] requires = ["cffi>=1.0.0", "setuptools", "wheel"] build-backend = "setuptools.build_meta" [project] name = "aiortc" description = "An implementation of WebRTC and ORTC" readme = "README.rst" requires-python = ">=3.9" license = { text = "BSD-3-Clause" } authors = [ { name = "Jeremy LainĂ©", email = "jeremy.laine@m4x.org" }, ] classifiers = [ "Development Status :: 5 - Production/Stable", "Environment :: Web Environment", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", ] dependencies = [ "aioice>=0.9.0,<1.0.0", "av>=14.0.0,<15.0.0", "cffi>=1.0.0", "cryptography>=44.0.0", "google-crc32c>=1.1", "pyee>=13.0.0", "pylibsrtp>=0.10.0", "pyopenssl>=25.0.0", ] dynamic = ["version"] [project.optional-dependencies] dev = [ "aiohttp>=3.7.0", "coverage[toml]>=7.2.2", "numpy>=1.19.0", ] [project.urls] homepage = "https://github.com/aiortc/aiortc" changelog = "https://aiortc.readthedocs.io/en/stable/changelog.html" documentation = "https://aiortc.readthedocs.io/" [tool.coverage.report] exclude_lines = ["pragma: no cover"] [tool.coverage.run] source = ["aiortc"] [tool.mypy] disallow_untyped_calls = true disallow_untyped_decorators = true ignore_missing_imports = true mypy_path = "stubs" strict_optional = false warn_redundant_casts = true warn_unused_ignores = true [tool.ruff.lint] select = [ "E", # pycodestyle "F", # Pyflakes "W", # pycodestyle "I", # isort ] [tool.ruff.lint.isort] known-third-party = ["aiortc"] [tool.setuptools.dynamic] version = {attr = "aiortc.__version__"} [tool.setuptools.packages.find] exclude = ["_cffi_src"] where = ["src"] aiortc-1.11.0/requirements/000077500000000000000000000000001477147103300156055ustar00rootroot00000000000000aiortc-1.11.0/requirements/doc.txt000066400000000000000000000000541477147103300171120ustar00rootroot00000000000000sphinx_autodoc_typehints sphinxcontrib-trio aiortc-1.11.0/requirements/lint.txt000066400000000000000000000000311477147103300173060ustar00rootroot00000000000000check-manifest mypy ruff aiortc-1.11.0/scripts/000077500000000000000000000000001477147103300145515ustar00rootroot00000000000000aiortc-1.11.0/scripts/fetch-vendor.json000066400000000000000000000001531477147103300200270ustar00rootroot00000000000000{ "urls": ["https://github.com/aiortc/aiortc-codecs/releases/download/1.7/codecs-{platform}.tar.gz"] } aiortc-1.11.0/scripts/fetch-vendor.py000066400000000000000000000041131477147103300175060ustar00rootroot00000000000000import argparse import json import logging import os import platform import shutil import struct import subprocess def get_platform(): system = platform.system() machine = platform.machine() if system == "Linux": return f"manylinux_{machine}" elif system == "Darwin": # cibuildwheel sets ARCHFLAGS: # https://github.com/pypa/cibuildwheel/blob/5255155bc57eb6224354356df648dc42e31a0028/cibuildwheel/macos.py#L207-L220 if "ARCHFLAGS" in os.environ: machine = os.environ["ARCHFLAGS"].split()[1] return f"macosx_{machine}" elif system == "Windows": if struct.calcsize("P") * 8 == 64: return "win_amd64" else: return "win32" else: raise Exception(f"Unsupported system {system}") parser = argparse.ArgumentParser(description="Fetch and extract tarballs") parser.add_argument("destination_dir") parser.add_argument("--cache-dir", default="tarballs") parser.add_argument("--config-file", default=os.path.splitext(__file__)[0] + ".json") args = parser.parse_args() logging.basicConfig(level=logging.INFO) # read config file with open(args.config_file, "r") as fp: config = json.load(fp) # create fresh destination directory logging.info("Creating directory %s" % args.destination_dir) if os.path.exists(args.destination_dir): shutil.rmtree(args.destination_dir) os.makedirs(args.destination_dir) for url_template in config["urls"]: tarball_url = url_template.replace("{platform}", get_platform()) # download tarball tarball_name = tarball_url.split("/")[-1] tarball_file = os.path.join(args.cache_dir, tarball_name) if not os.path.exists(tarball_file): logging.info("Downloading %s" % tarball_url) if not os.path.exists(args.cache_dir): os.mkdir(args.cache_dir) subprocess.check_call( ["curl", "--location", "--output", tarball_file, "--silent", tarball_url] ) # extract tarball logging.info("Extracting %s" % tarball_name) subprocess.check_call(["tar", "-C", args.destination_dir, "-xf", tarball_file]) aiortc-1.11.0/setup.py000066400000000000000000000007321477147103300145760ustar00rootroot00000000000000import setuptools from wheel.bdist_wheel import bdist_wheel class bdist_wheel_abi3(bdist_wheel): def get_tag(self): python, abi, plat = super().get_tag() if python.startswith("cp"): return "cp39", "abi3", plat return python, abi, plat setuptools.setup( cffi_modules=[ "src/_cffi_src/build_opus.py:ffibuilder", "src/_cffi_src/build_vpx.py:ffibuilder", ], cmdclass={"bdist_wheel": bdist_wheel_abi3}, ) aiortc-1.11.0/src/000077500000000000000000000000001477147103300136515ustar00rootroot00000000000000aiortc-1.11.0/src/_cffi_src/000077500000000000000000000000001477147103300155665ustar00rootroot00000000000000aiortc-1.11.0/src/_cffi_src/build_opus.py000066400000000000000000000020141477147103300203020ustar00rootroot00000000000000from cffi import FFI ffibuilder = FFI() ffibuilder.set_source( "aiortc.codecs._opus", """ #include """, libraries=["opus"], ) ffibuilder.cdef( """ #define OPUS_APPLICATION_VOIP 2048 #define OPUS_OK 0 typedef struct OpusDecoder OpusDecoder; typedef struct OpusEncoder OpusEncoder; typedef int16_t opus_int16; typedef int32_t opus_int32; OpusDecoder *opus_decoder_create( opus_int32 Fs, int channels, int *error ); int opus_decode( OpusDecoder *st, const unsigned char *data, opus_int32 len, opus_int16 *pcm, int frame_size, int decode_fec ); void opus_decoder_destroy(OpusDecoder *st); OpusEncoder *opus_encoder_create( opus_int32 Fs, int channels, int application, int *error ); opus_int32 opus_encode( OpusEncoder *st, const opus_int16 *pcm, int frame_size, unsigned char *data, opus_int32 max_data_bytes ); void opus_encoder_destroy(OpusEncoder *st); """ ) if __name__ == "__main__": ffibuilder.compile(verbose=True) aiortc-1.11.0/src/_cffi_src/build_vpx.py000066400000000000000000000151771477147103300201470ustar00rootroot00000000000000from cffi import FFI ffibuilder = FFI() ffibuilder.set_source( "aiortc.codecs._vpx", """ #include #include #include #include #undef vpx_codec_dec_init #undef vpx_codec_enc_init vpx_codec_err_t vpx_codec_dec_init(vpx_codec_ctx_t *ctx, vpx_codec_iface_t *iface, const vpx_codec_dec_cfg_t *cfg, vpx_codec_flags_t flags) { return vpx_codec_dec_init_ver(ctx, iface, cfg, flags, VPX_DECODER_ABI_VERSION); } vpx_codec_err_t vpx_codec_enc_init(vpx_codec_ctx_t *ctx, vpx_codec_iface_t *iface, const vpx_codec_enc_cfg_t *cfg, vpx_codec_flags_t flags) { return vpx_codec_enc_init_ver(ctx, iface, cfg, flags, VPX_ENCODER_ABI_VERSION); } """, libraries=["vpx"], ) ffibuilder.cdef( """ #define VPX_CODEC_USE_OUTPUT_PARTITION 0x20000 #define VPX_DL_REALTIME 1 #define VPX_EFLAG_FORCE_KF 1 #define VPX_FRAME_IS_KEY 0x1 #define VPX_FRAME_IS_DROPPABLE 0x2 #define VPX_FRAME_IS_INVISIBLE 0x4 #define VPX_FRAME_IS_FRAGMENT 0x8 #define VPX_PLANE_PACKED 0 #define VPX_PLANE_Y 0 #define VPX_PLANE_U 1 #define VPX_PLANE_V 2 #define VPX_PLANE_ALPHA 3 #define VP8_SET_POSTPROC 3 #define VP8E_SET_CPUUSED 13 #define VP8E_SET_NOISE_SENSITIVITY 15 #define VP8E_SET_STATIC_THRESHOLD 17 #define VP8E_SET_TOKEN_PARTITIONS 18 typedef enum { VPX_CODEC_OK, VPX_CODEC_ERROR, VPX_CODEC_MEM_ERROR, VPX_CODEC_ABI_MISMATCH, VPX_CODEC_INCAPABLE, VPX_CODEC_UNSUP_BITSTREAM, VPX_CODEC_UNSUP_FEATURE, VPX_CODEC_CORRUPT_FRAME, VPX_CODEC_INVALID_PARAM, VPX_CODEC_LIST_END } vpx_codec_err_t; enum vpx_codec_cx_pkt_kind { VPX_CODEC_CX_FRAME_PKT, ... }; typedef enum vpx_img_fmt { VPX_IMG_FMT_I420, ... } vpx_img_fmt_t; typedef long vpx_codec_flags_t; typedef uint32_t vpx_codec_frame_flags_t; typedef long vpx_enc_frame_flags_t; typedef const void *vpx_codec_iter_t; typedef int64_t vpx_codec_pts_t; typedef const struct vpx_codec_iface vpx_codec_iface_t; typedef struct vpx_rational { int num; int den; } vpx_rational_t; enum vpx_rc_mode { VPX_VBR, VPX_CBR, VPX_CQ, VPX_Q, }; enum vpx_kf_mode { VPX_KF_FIXED, VPX_KF_AUTO, VPX_KF_DISABLED = 0 }; typedef struct vpx_codec_dec_cfg { unsigned int threads; unsigned int w; unsigned int h; } vpx_codec_dec_cfg_t; typedef struct vpx_codec_enc_cfg { unsigned int g_usage; unsigned int g_threads; unsigned int g_profile; unsigned int g_w; unsigned int g_h; struct vpx_rational g_timebase; unsigned int g_lag_in_frames; unsigned int rc_resize_allowed; enum vpx_rc_mode rc_end_usage; unsigned int rc_target_bitrate; unsigned int rc_min_quantizer; unsigned int rc_max_quantizer; unsigned int rc_undershoot_pct; unsigned int rc_overshoot_pct; unsigned int rc_buf_sz; unsigned int rc_buf_initial_sz; unsigned int rc_buf_optimal_sz; enum vpx_kf_mode kf_mode; unsigned int kf_max_dist; ...; } vpx_codec_enc_cfg_t; typedef struct vpx_codec_ctx { ...; } vpx_codec_ctx_t; typedef struct vpx_fixed_buf { void *buf; size_t sz; } vpx_fixed_buf_t; typedef struct vpx_codec_cx_pkt { enum vpx_codec_cx_pkt_kind kind; union { struct { void *buf; size_t sz; vpx_codec_pts_t pts; unsigned long duration; vpx_codec_frame_flags_t flags; int partition_id; } frame; vpx_fixed_buf_t twopass_stats; vpx_fixed_buf_t firstpass_mb_stats; struct vpx_psnr_pkt { unsigned int samples[4]; uint64_t sse[4]; double psnr[4]; } psnr; vpx_fixed_buf_t raw; char pad[124]; } data; ...; } vpx_codec_cx_pkt_t; typedef struct vpx_image { vpx_img_fmt_t fmt; unsigned int w; unsigned int h; unsigned int d_w; unsigned int d_h; unsigned char *planes[4]; int stride[4]; ...; } vpx_image_t; enum vp8_postproc_level { VP8_NOFILTERING = 0, VP8_DEBLOCK = 1, VP8_DEMACROBLOCK = 2 }; typedef enum { VP8_ONE_TOKENPARTITION = 0, VP8_TWO_TOKENPARTITION = 1, VP8_FOUR_TOKENPARTITION = 2, VP8_EIGHT_TOKENPARTITION = 3 } vp8e_token_partitions; typedef struct vp8_postproc_cfg { int post_proc_flag; int deblocking_level; int noise_level; } vp8_postproc_cfg_t; extern vpx_codec_iface_t *vpx_codec_vp8_cx(void); extern vpx_codec_iface_t *vpx_codec_vp8_dx(void); extern vpx_codec_iface_t *vpx_codec_vp9_cx(void); extern vpx_codec_iface_t *vpx_codec_vp9_dx(void); vpx_codec_err_t vpx_codec_control_(vpx_codec_ctx_t *ctx, int ctrl_id, ...); vpx_codec_err_t vpx_codec_destroy(vpx_codec_ctx_t *ctx); vpx_codec_err_t vpx_codec_dec_init(vpx_codec_ctx_t *ctx, vpx_codec_iface_t *iface, const vpx_codec_dec_cfg_t *cfg, vpx_codec_flags_t flags); vpx_image_t *vpx_codec_get_frame(vpx_codec_ctx_t *ctx, vpx_codec_iter_t *iter); vpx_codec_err_t vpx_codec_decode(vpx_codec_ctx_t *ctx, const uint8_t *data, unsigned int data_sz, void *user_priv, long deadline); vpx_codec_err_t vpx_codec_enc_config_default(vpx_codec_iface_t *iface, vpx_codec_enc_cfg_t *cfg, unsigned int reserved); vpx_codec_err_t vpx_codec_enc_config_set(vpx_codec_ctx_t *ctx, const vpx_codec_enc_cfg_t *cfg); vpx_codec_err_t vpx_codec_enc_init(vpx_codec_ctx_t *ctx, vpx_codec_iface_t *iface, const vpx_codec_enc_cfg_t *cfg, vpx_codec_flags_t flags); vpx_codec_err_t vpx_codec_encode(vpx_codec_ctx_t *ctx, const vpx_image_t *img, vpx_codec_pts_t pts, unsigned long duration, vpx_enc_frame_flags_t flags, unsigned long deadline); const char *vpx_codec_err_to_string (vpx_codec_err_t err); const vpx_codec_cx_pkt_t *vpx_codec_get_cx_data(vpx_codec_ctx_t *ctx, vpx_codec_iter_t *iter); vpx_image_t *vpx_img_alloc(vpx_image_t *img, vpx_img_fmt_t fmt, unsigned int d_w, unsigned int d_h, unsigned int align); void vpx_img_free(vpx_image_t *img); vpx_image_t *vpx_img_wrap(vpx_image_t *img, vpx_img_fmt_t fmt, unsigned int d_w, unsigned int d_h, unsigned int align, unsigned char *img_data); """ ) if __name__ == "__main__": ffibuilder.compile(verbose=True) aiortc-1.11.0/src/aiortc/000077500000000000000000000000001477147103300151325ustar00rootroot00000000000000aiortc-1.11.0/src/aiortc/__init__.py000066400000000000000000000053151477147103300172470ustar00rootroot00000000000000# ruff: noqa: F401 import logging import av.logging from .exceptions import InvalidAccessError, InvalidStateError from .mediastreams import ( AudioStreamTrack, MediaStreamError, MediaStreamTrack, VideoStreamTrack, ) from .rtcconfiguration import RTCConfiguration, RTCIceServer from .rtcdatachannel import RTCDataChannel, RTCDataChannelParameters from .rtcdtlstransport import ( RTCCertificate, RTCDtlsFingerprint, RTCDtlsParameters, RTCDtlsTransport, ) from .rtcicetransport import ( RTCIceCandidate, RTCIceGatherer, RTCIceParameters, RTCIceTransport, ) from .rtcpeerconnection import RTCPeerConnection from .rtcrtpparameters import ( RTCRtcpParameters, RTCRtpCapabilities, RTCRtpCodecCapability, RTCRtpCodecParameters, RTCRtpHeaderExtensionCapability, RTCRtpHeaderExtensionParameters, RTCRtpParameters, ) from .rtcrtpreceiver import ( RTCRtpContributingSource, RTCRtpReceiver, RTCRtpSynchronizationSource, ) from .rtcrtpsender import RTCRtpSender from .rtcrtptransceiver import RTCRtpTransceiver from .rtcsctptransport import RTCSctpCapabilities, RTCSctpTransport from .rtcsessiondescription import RTCSessionDescription from .stats import ( RTCInboundRtpStreamStats, RTCOutboundRtpStreamStats, RTCRemoteInboundRtpStreamStats, RTCRemoteOutboundRtpStreamStats, RTCStatsReport, RTCTransportStats, ) __version__ = "1.11.0" # Disable PyAV's logging framework as it can lead to thread deadlocks. av.logging.restore_default_callback() # Set default logging handler to avoid "No handler found" warnings. logging.getLogger(__name__).addHandler(logging.NullHandler()) __all__ = [ "AudioStreamTrack", "InvalidAccessError", "InvalidStateError", "MediaStreamError", "MediaStreamTrack", "RTCCertificate", "RTCConfiguration", "RTCDataChannel", "RTCDataChannelParameters", "RTCDtlsFingerprint", "RTCDtlsParameters", "RTCDtlsTransport", "RTCIceCandidate", "RTCIceGatherer", "RTCIceParameters", "RTCIceServer", "RTCIceTransport", "RTCInboundRtpStreamStats", "RTCOutboundRtpStreamStats", "RTCPeerConnection", "RTCRemoteInboundRtpStreamStats", "RTCRemoteOutboundRtpStreamStats", "RTCRtcpParameters", "RTCRtpCapabilities", "RTCRtpCodecCapability", "RTCRtpCodecParameters", "RTCRtpContributingSource", "RTCRtpHeaderExtensionCapability", "RTCRtpHeaderExtensionParameters", "RTCRtpParameters", "RTCRtpReceiver", "RTCRtpSender", "RTCRtpSynchronizationSource", "RTCRtpTransceiver", "RTCSctpCapabilities", "RTCSctpTransport", "RTCSessionDescription", "RTCStatsReport", "RTCTransportStats", "VideoStreamTrack", ] aiortc-1.11.0/src/aiortc/clock.py000066400000000000000000000014701477147103300166010ustar00rootroot00000000000000import datetime NTP_EPOCH = datetime.datetime(1900, 1, 1, tzinfo=datetime.timezone.utc) def current_datetime() -> datetime.datetime: return datetime.datetime.now(datetime.timezone.utc) def current_ms() -> int: delta = current_datetime() - NTP_EPOCH return int(delta.total_seconds() * 1000) def current_ntp_time() -> int: return datetime_to_ntp(current_datetime()) def datetime_from_ntp(ntp: int) -> datetime.datetime: seconds = ntp >> 32 microseconds = ((ntp & 0xFFFFFFFF) * 1000000) / (1 << 32) return NTP_EPOCH + datetime.timedelta(seconds=seconds, microseconds=microseconds) def datetime_to_ntp(dt: datetime.datetime) -> int: delta = dt - NTP_EPOCH high = int(delta.total_seconds()) low = round((delta.microseconds * (1 << 32)) // 1000000) return (high << 32) | low aiortc-1.11.0/src/aiortc/codecs/000077500000000000000000000000001477147103300163725ustar00rootroot00000000000000aiortc-1.11.0/src/aiortc/codecs/__init__.py000066400000000000000000000126531477147103300205120ustar00rootroot00000000000000from typing import Dict, List, Optional, Union from ..rtcrtpparameters import ( ParametersDict, RTCRtcpFeedback, RTCRtpCapabilities, RTCRtpCodecCapability, RTCRtpCodecParameters, RTCRtpHeaderExtensionCapability, RTCRtpHeaderExtensionParameters, ) from .base import Decoder, Encoder from .g711 import PcmaDecoder, PcmaEncoder, PcmuDecoder, PcmuEncoder from .h264 import H264Decoder, H264Encoder, h264_depayload from .opus import OpusDecoder, OpusEncoder from .vpx import Vp8Decoder, Vp8Encoder, vp8_depayload PCMU_CODEC = RTCRtpCodecParameters( mimeType="audio/PCMU", clockRate=8000, channels=1, payloadType=0 ) PCMA_CODEC = RTCRtpCodecParameters( mimeType="audio/PCMA", clockRate=8000, channels=1, payloadType=8 ) CODECS: Dict[str, List[RTCRtpCodecParameters]] = { "audio": [ RTCRtpCodecParameters( mimeType="audio/opus", clockRate=48000, channels=2, payloadType=96 ), PCMU_CODEC, PCMA_CODEC, ], "video": [], } # Note, the id space for these extensions is shared across media types when BUNDLE # is negotiated. If you add a audio- or video-specific extension, make sure it has # a unique id. HEADER_EXTENSIONS: Dict[str, List[RTCRtpHeaderExtensionParameters]] = { "audio": [ RTCRtpHeaderExtensionParameters( id=1, uri="urn:ietf:params:rtp-hdrext:sdes:mid" ), RTCRtpHeaderExtensionParameters( id=2, uri="urn:ietf:params:rtp-hdrext:ssrc-audio-level" ), ], "video": [ RTCRtpHeaderExtensionParameters( id=1, uri="urn:ietf:params:rtp-hdrext:sdes:mid" ), RTCRtpHeaderExtensionParameters( id=3, uri="http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time" ), ], } def init_codecs() -> None: dynamic_pt = 97 def add_video_codec( mimeType: str, parameters: Optional[ParametersDict] = None ) -> None: nonlocal dynamic_pt clockRate = 90000 CODECS["video"] += [ RTCRtpCodecParameters( mimeType=mimeType, clockRate=clockRate, payloadType=dynamic_pt, rtcpFeedback=[ RTCRtcpFeedback(type="nack"), RTCRtcpFeedback(type="nack", parameter="pli"), RTCRtcpFeedback(type="goog-remb"), ], parameters=parameters or {}, ), RTCRtpCodecParameters( mimeType="video/rtx", clockRate=clockRate, payloadType=dynamic_pt + 1, parameters={"apt": dynamic_pt}, ), ] dynamic_pt += 2 add_video_codec("video/VP8") for profile_level_id in ("42001f", "42e01f"): add_video_codec( "video/H264", { "level-asymmetry-allowed": "1", "packetization-mode": "1", "profile-level-id": profile_level_id, }, ) def depayload(codec: RTCRtpCodecParameters, payload: bytes) -> bytes: if codec.name == "VP8": return vp8_depayload(payload) elif codec.name == "H264": return h264_depayload(payload) else: return payload def get_capabilities(kind: str) -> RTCRtpCapabilities: if kind not in CODECS: raise ValueError(f"cannot get capabilities for unknown media {kind}") codecs = [] rtx_added = False for params in CODECS[kind]: if not is_rtx(params): codecs.append( RTCRtpCodecCapability( mimeType=params.mimeType, clockRate=params.clockRate, channels=params.channels, parameters=params.parameters, ) ) elif not rtx_added: # There will only be a single entry in codecs[] for retransmission # via RTX, with sdpFmtpLine not present. codecs.append( RTCRtpCodecCapability( mimeType=params.mimeType, clockRate=params.clockRate ) ) rtx_added = True headerExtensions = [] for extension in HEADER_EXTENSIONS[kind]: headerExtensions.append(RTCRtpHeaderExtensionCapability(uri=extension.uri)) return RTCRtpCapabilities(codecs=codecs, headerExtensions=headerExtensions) def get_decoder(codec: RTCRtpCodecParameters) -> Decoder: mimeType = codec.mimeType.lower() if mimeType == "audio/opus": return OpusDecoder() elif mimeType == "audio/pcma": return PcmaDecoder() elif mimeType == "audio/pcmu": return PcmuDecoder() elif mimeType == "video/h264": return H264Decoder() elif mimeType == "video/vp8": return Vp8Decoder() else: raise ValueError(f"No decoder found for MIME type `{mimeType}`") def get_encoder(codec: RTCRtpCodecParameters) -> Encoder: mimeType = codec.mimeType.lower() if mimeType == "audio/opus": return OpusEncoder() elif mimeType == "audio/pcma": return PcmaEncoder() elif mimeType == "audio/pcmu": return PcmuEncoder() elif mimeType == "video/h264": return H264Encoder() elif mimeType == "video/vp8": return Vp8Encoder() else: raise ValueError(f"No encoder found for MIME type `{mimeType}`") def is_rtx(codec: Union[RTCRtpCodecCapability, RTCRtpCodecParameters]) -> bool: return codec.name.lower() == "rtx" init_codecs() aiortc-1.11.0/src/aiortc/codecs/_opus.pyi000066400000000000000000000000521477147103300202370ustar00rootroot00000000000000from typing import Any ffi: Any lib: Any aiortc-1.11.0/src/aiortc/codecs/_vpx.pyi000066400000000000000000000000521477147103300200660ustar00rootroot00000000000000from typing import Any ffi: Any lib: Any aiortc-1.11.0/src/aiortc/codecs/base.py000066400000000000000000000011731477147103300176600ustar00rootroot00000000000000from abc import ABCMeta, abstractmethod from typing import List, Tuple from av.frame import Frame from av.packet import Packet from ..jitterbuffer import JitterFrame class Decoder(metaclass=ABCMeta): @abstractmethod def decode(self, encoded_frame: JitterFrame) -> List[Frame]: pass # pragma: no cover class Encoder(metaclass=ABCMeta): @abstractmethod def encode( self, frame: Frame, force_keyframe: bool = False ) -> Tuple[List[bytes], int]: pass # pragma: no cover @abstractmethod def pack(self, packet: Packet) -> Tuple[List[bytes], int]: pass # pragma: no cover aiortc-1.11.0/src/aiortc/codecs/g711.py000066400000000000000000000053101477147103300174220ustar00rootroot00000000000000import fractions from typing import List, Tuple, cast from av import AudioFrame, AudioResampler, CodecContext from av.audio.codeccontext import AudioCodecContext from av.frame import Frame from av.packet import Packet from ..jitterbuffer import JitterFrame from ..mediastreams import convert_timebase from .base import Decoder, Encoder SAMPLE_RATE = 8000 SAMPLE_WIDTH = 2 SAMPLES_PER_FRAME = 160 TIME_BASE = fractions.Fraction(1, 8000) class PcmDecoder(Decoder): def __init__(self, codec_name: str) -> None: self.codec = cast(AudioCodecContext, CodecContext.create(codec_name, "r")) self.codec.format = "s16" self.codec.layout = "mono" self.codec.sample_rate = SAMPLE_RATE def decode(self, encoded_frame: JitterFrame) -> List[Frame]: packet = Packet(encoded_frame.data) packet.pts = encoded_frame.timestamp packet.time_base = TIME_BASE return cast(List[Frame], self.codec.decode(packet)) class PcmEncoder(Encoder): def __init__(self, codec_name: str) -> None: self.codec = cast(AudioCodecContext, CodecContext.create(codec_name, "w")) self.codec.format = "s16" self.codec.layout = "mono" self.codec.sample_rate = SAMPLE_RATE self.codec.time_base = TIME_BASE # Create our own resampler to control the frame size. self.resampler = AudioResampler( format="s16", layout="mono", rate=SAMPLE_RATE, frame_size=SAMPLES_PER_FRAME, ) def encode( self, frame: Frame, force_keyframe: bool = False ) -> Tuple[List[bytes], int]: assert isinstance(frame, AudioFrame) assert frame.format.name == "s16" assert frame.layout.name in ["mono", "stereo"] # Send frame through resampler and encoder. packets = [] for frame in self.resampler.resample(frame): packets += self.codec.encode(frame) if packets: # Packets were returned. return [bytes(p) for p in packets], packets[0].pts else: # No packets were returned due to buffering. return [], None def pack(self, packet: Packet) -> Tuple[List[bytes], int]: timestamp = convert_timebase(packet.pts, packet.time_base, TIME_BASE) return [bytes(packet)], timestamp class PcmaDecoder(PcmDecoder): def __init__(self) -> None: super().__init__("pcm_alaw") class PcmaEncoder(PcmEncoder): def __init__(self) -> None: super().__init__("pcm_alaw") class PcmuDecoder(PcmDecoder): def __init__(self) -> None: super().__init__("pcm_mulaw") class PcmuEncoder(PcmEncoder): def __init__(self) -> None: super().__init__("pcm_mulaw") aiortc-1.11.0/src/aiortc/codecs/h264.py000066400000000000000000000251641477147103300174370ustar00rootroot00000000000000import fractions import logging import math from itertools import tee from struct import pack, unpack_from from typing import Iterator, List, Optional, Sequence, Tuple, Type, TypeVar, cast import av from av.frame import Frame from av.packet import Packet from av.video.codeccontext import VideoCodecContext from ..jitterbuffer import JitterFrame from ..mediastreams import VIDEO_TIME_BASE, convert_timebase from .base import Decoder, Encoder logger = logging.getLogger(__name__) DEFAULT_BITRATE = 1000000 # 1 Mbps MIN_BITRATE = 500000 # 500 kbps MAX_BITRATE = 3000000 # 3 Mbps MAX_FRAME_RATE = 30 PACKET_MAX = 1300 NAL_TYPE_FU_A = 28 NAL_TYPE_STAP_A = 24 NAL_HEADER_SIZE = 1 FU_A_HEADER_SIZE = 2 LENGTH_FIELD_SIZE = 2 STAP_A_HEADER_SIZE = NAL_HEADER_SIZE + LENGTH_FIELD_SIZE DESCRIPTOR_T = TypeVar("DESCRIPTOR_T", bound="H264PayloadDescriptor") T = TypeVar("T") def pairwise(iterable: Sequence[T]) -> Iterator[Tuple[T, T]]: a, b = tee(iterable) next(b, None) return zip(a, b) class H264PayloadDescriptor: def __init__(self, first_fragment): self.first_fragment = first_fragment def __repr__(self): return f"H264PayloadDescriptor(FF={self.first_fragment})" @classmethod def parse(cls: Type[DESCRIPTOR_T], data: bytes) -> Tuple[DESCRIPTOR_T, bytes]: output = bytes() # NAL unit header if len(data) < 2: raise ValueError("NAL unit is too short") nal_type = data[0] & 0x1F f_nri = data[0] & (0x80 | 0x60) pos = NAL_HEADER_SIZE if nal_type in range(1, 24): # single NAL unit output = bytes([0, 0, 0, 1]) + data obj = cls(first_fragment=True) elif nal_type == NAL_TYPE_FU_A: # fragmentation unit original_nal_type = data[pos] & 0x1F first_fragment = bool(data[pos] & 0x80) pos += 1 if first_fragment: original_nal_header = bytes([f_nri | original_nal_type]) output += bytes([0, 0, 0, 1]) output += original_nal_header output += data[pos:] obj = cls(first_fragment=first_fragment) elif nal_type == NAL_TYPE_STAP_A: # single time aggregation packet offsets = [] while pos < len(data): if len(data) < pos + LENGTH_FIELD_SIZE: raise ValueError("STAP-A length field is truncated") nalu_size = unpack_from("!H", data, pos)[0] pos += LENGTH_FIELD_SIZE offsets.append(pos) pos += nalu_size if len(data) < pos: raise ValueError("STAP-A data is truncated") offsets.append(len(data) + LENGTH_FIELD_SIZE) for start, end in pairwise(offsets): end -= LENGTH_FIELD_SIZE output += bytes([0, 0, 0, 1]) output += data[start:end] obj = cls(first_fragment=True) else: raise ValueError(f"NAL unit type {nal_type} is not supported") return obj, output class H264Decoder(Decoder): def __init__(self) -> None: self.codec = cast(VideoCodecContext, av.CodecContext.create("h264", "r")) def decode(self, encoded_frame: JitterFrame) -> List[Frame]: try: packet = av.Packet(encoded_frame.data) packet.pts = encoded_frame.timestamp packet.time_base = VIDEO_TIME_BASE return cast(List[Frame], self.codec.decode(packet)) except av.FFmpegError as e: logger.warning( "H264Decoder() failed to decode, skipping package: " + str(e) ) return [] def create_encoder_context( codec_name: str, width: int, height: int, bitrate: int ) -> VideoCodecContext: codec = cast(VideoCodecContext, av.CodecContext.create(codec_name, "w")) codec.width = width codec.height = height codec.bit_rate = bitrate codec.pix_fmt = "yuv420p" codec.framerate = fractions.Fraction(MAX_FRAME_RATE, 1) codec.time_base = fractions.Fraction(1, MAX_FRAME_RATE) codec.options = { "level": "31", "tune": "zerolatency", } codec.profile = "Baseline" codec.open() return codec class H264Encoder(Encoder): def __init__(self) -> None: self.buffer_data = b"" self.buffer_pts: Optional[int] = None self.codec: Optional[VideoCodecContext] = None self.__target_bitrate = DEFAULT_BITRATE @staticmethod def _packetize_fu_a(data: bytes) -> List[bytes]: available_size = PACKET_MAX - FU_A_HEADER_SIZE payload_size = len(data) - NAL_HEADER_SIZE num_packets = math.ceil(payload_size / available_size) num_larger_packets = payload_size % num_packets package_size = payload_size // num_packets f_nri = data[0] & (0x80 | 0x60) # fni of original header nal = data[0] & 0x1F fu_indicator = f_nri | NAL_TYPE_FU_A fu_header_end = bytes([fu_indicator, nal | 0x40]) fu_header_middle = bytes([fu_indicator, nal]) fu_header_start = bytes([fu_indicator, nal | 0x80]) fu_header = fu_header_start packages = [] offset = NAL_HEADER_SIZE while offset < len(data): if num_larger_packets > 0: num_larger_packets -= 1 payload = data[offset : offset + package_size + 1] offset += package_size + 1 else: payload = data[offset : offset + package_size] offset += package_size if offset == len(data): fu_header = fu_header_end packages.append(fu_header + payload) fu_header = fu_header_middle assert offset == len(data), "incorrect fragment data" return packages @staticmethod def _packetize_stap_a( data: bytes, packages_iterator: Iterator[bytes] ) -> Tuple[bytes, bytes]: counter = 0 available_size = PACKET_MAX - STAP_A_HEADER_SIZE stap_header = NAL_TYPE_STAP_A | (data[0] & 0xE0) payload = bytes() try: nalu = data # with header while len(nalu) <= available_size and counter < 9: stap_header |= nalu[0] & 0x80 nri = nalu[0] & 0x60 if stap_header & 0x60 < nri: stap_header = stap_header & 0x9F | nri available_size -= LENGTH_FIELD_SIZE + len(nalu) counter += 1 payload += pack("!H", len(nalu)) + nalu nalu = next(packages_iterator) if counter == 0: nalu = next(packages_iterator) except StopIteration: nalu = None if counter <= 1: return data, nalu else: return bytes([stap_header]) + payload, nalu @staticmethod def _split_bitstream(buf: bytes) -> Iterator[bytes]: # Translated from: https://github.com/aizvorski/h264bitstream/blob/master/h264_nal.c#L134 i = 0 while True: # Find the start of the NAL unit. # # NAL Units start with the 3-byte start code 0x000001 or # the 4-byte start code 0x00000001. i = buf.find(b"\x00\x00\x01", i) if i == -1: return # Jump past the start code i += 3 nal_start = i # Find the end of the NAL unit (end of buffer OR next start code) i = buf.find(b"\x00\x00\x01", i) if i == -1: yield buf[nal_start : len(buf)] return elif buf[i - 1] == 0: # 4-byte start code case, jump back one byte yield buf[nal_start : i - 1] else: yield buf[nal_start:i] @classmethod def _packetize(cls, packages: Iterator[bytes]) -> List[bytes]: packetized_packages = [] packages_iterator = iter(packages) package = next(packages_iterator, None) while package is not None: if len(package) > PACKET_MAX: packetized_packages.extend(cls._packetize_fu_a(package)) package = next(packages_iterator, None) else: packetized, package = cls._packetize_stap_a(package, packages_iterator) packetized_packages.append(packetized) return packetized_packages def _encode_frame( self, frame: av.VideoFrame, force_keyframe: bool ) -> Iterator[bytes]: if self.codec and ( frame.width != self.codec.width or frame.height != self.codec.height # we only adjust bitrate if it changes by over 10% or abs(self.target_bitrate - self.codec.bit_rate) / self.codec.bit_rate > 0.1 ): self.buffer_data = b"" self.buffer_pts = None self.codec = None if force_keyframe: # force a complete image frame.pict_type = av.video.frame.PictureType.I else: # reset the picture type, otherwise no B-frames are produced frame.pict_type = av.video.frame.PictureType.NONE if self.codec is None: self.codec = create_encoder_context( "libx264", frame.width, frame.height, bitrate=self.target_bitrate, ) data_to_send = b"" for package in self.codec.encode(frame): data_to_send += bytes(package) if data_to_send: yield from self._split_bitstream(data_to_send) def encode( self, frame: Frame, force_keyframe: bool = False ) -> Tuple[List[bytes], int]: assert isinstance(frame, av.VideoFrame) packages = self._encode_frame(frame, force_keyframe) timestamp = convert_timebase(frame.pts, frame.time_base, VIDEO_TIME_BASE) return self._packetize(packages), timestamp def pack(self, packet: Packet) -> Tuple[List[bytes], int]: assert isinstance(packet, av.Packet) packages = self._split_bitstream(bytes(packet)) timestamp = convert_timebase(packet.pts, packet.time_base, VIDEO_TIME_BASE) return self._packetize(packages), timestamp @property def target_bitrate(self) -> int: """ Target bitrate in bits per second. """ return self.__target_bitrate @target_bitrate.setter def target_bitrate(self, bitrate: int) -> None: bitrate = max(MIN_BITRATE, min(bitrate, MAX_BITRATE)) self.__target_bitrate = bitrate def h264_depayload(payload: bytes) -> bytes: descriptor, data = H264PayloadDescriptor.parse(payload) return data aiortc-1.11.0/src/aiortc/codecs/opus.py000066400000000000000000000060241477147103300177340ustar00rootroot00000000000000import fractions from typing import List, Tuple from av import AudioFrame, AudioResampler from av.frame import Frame from av.packet import Packet from ..jitterbuffer import JitterFrame from ..mediastreams import convert_timebase from ._opus import ffi, lib from .base import Decoder, Encoder CHANNELS = 2 SAMPLE_RATE = 48000 SAMPLE_WIDTH = 2 SAMPLES_PER_FRAME = 960 TIME_BASE = fractions.Fraction(1, SAMPLE_RATE) class OpusDecoder(Decoder): def __init__(self) -> None: error = ffi.new("int *") self.decoder = lib.opus_decoder_create(SAMPLE_RATE, CHANNELS, error) assert error[0] == lib.OPUS_OK def __del__(self) -> None: lib.opus_decoder_destroy(self.decoder) def decode(self, encoded_frame: JitterFrame) -> List[Frame]: frame = AudioFrame(format="s16", layout="stereo", samples=SAMPLES_PER_FRAME) frame.pts = encoded_frame.timestamp frame.sample_rate = SAMPLE_RATE frame.time_base = TIME_BASE length = lib.opus_decode( self.decoder, encoded_frame.data, len(encoded_frame.data), ffi.cast("int16_t *", frame.planes[0].buffer_ptr), SAMPLES_PER_FRAME, 0, ) assert length == SAMPLES_PER_FRAME return [frame] class OpusEncoder(Encoder): def __init__(self) -> None: error = ffi.new("int *") self.encoder = lib.opus_encoder_create( SAMPLE_RATE, CHANNELS, lib.OPUS_APPLICATION_VOIP, error ) assert error[0] == lib.OPUS_OK self.cdata = ffi.new( "unsigned char []", SAMPLES_PER_FRAME * CHANNELS * SAMPLE_WIDTH ) self.buffer = ffi.buffer(self.cdata) # Create our own resampler to control the frame size. self.resampler = AudioResampler( format="s16", layout="stereo", rate=SAMPLE_RATE, frame_size=SAMPLES_PER_FRAME, ) def __del__(self) -> None: lib.opus_encoder_destroy(self.encoder) def encode( self, frame: Frame, force_keyframe: bool = False ) -> Tuple[List[bytes], int]: assert isinstance(frame, AudioFrame) assert frame.format.name == "s16" assert frame.layout.name in ["mono", "stereo"] # Send frame through resampler and encoder. payloads = [] timestamp = None for frame in self.resampler.resample(frame): data = bytes(frame.planes[0]) length = lib.opus_encode( self.encoder, ffi.cast("int16_t*", ffi.from_buffer(data)), SAMPLES_PER_FRAME, self.cdata, len(self.cdata), ) assert length > 0 payloads.append(self.buffer[0:length]) if timestamp is None: timestamp = frame.pts return payloads, timestamp def pack(self, packet: Packet) -> Tuple[List[bytes], int]: timestamp = convert_timebase(packet.pts, packet.time_base, TIME_BASE) return [bytes(packet)], timestamp aiortc-1.11.0/src/aiortc/codecs/vpx.py000066400000000000000000000321501477147103300175620ustar00rootroot00000000000000import multiprocessing import random from struct import pack, unpack_from from typing import List, Tuple, Type, TypeVar, cast from av import VideoFrame from av.frame import Frame from av.packet import Packet from ..jitterbuffer import JitterFrame from ..mediastreams import VIDEO_CLOCK_RATE, VIDEO_TIME_BASE, convert_timebase from ._vpx import ffi, lib from .base import Decoder, Encoder DEFAULT_BITRATE = 500000 # 500 kbps MIN_BITRATE = 250000 # 250 kbps MAX_BITRATE = 1500000 # 1.5 Mbps MAX_FRAME_RATE = 30 PACKET_MAX = 1300 DESCRIPTOR_T = TypeVar("DESCRIPTOR_T", bound="VpxPayloadDescriptor") def number_of_threads(pixels: int, cpus: int) -> int: if pixels >= 1920 * 1080 and cpus > 8: return 8 elif pixels > 1280 * 960 and cpus >= 6: return 3 elif pixels > 640 * 480 and cpus >= 3: return 2 else: return 1 class VpxPayloadDescriptor: def __init__( self, partition_start, partition_id, picture_id=None, tl0picidx=None, tid=None, keyidx=None, ) -> None: self.partition_start = partition_start self.partition_id = partition_id self.picture_id = picture_id self.tl0picidx = tl0picidx self.tid = tid self.keyidx = keyidx def __bytes__(self) -> bytes: octet = (self.partition_start << 4) | self.partition_id ext_octet = 0 if self.picture_id is not None: ext_octet |= 1 << 7 if self.tl0picidx is not None: ext_octet |= 1 << 6 if self.tid is not None: ext_octet |= 1 << 5 if self.keyidx is not None: ext_octet |= 1 << 4 if ext_octet: data = pack("!BB", (1 << 7) | octet, ext_octet) if self.picture_id is not None: if self.picture_id < 128: data += pack("!B", self.picture_id) else: data += pack("!H", (1 << 15) | self.picture_id) if self.tl0picidx is not None: data += pack("!B", self.tl0picidx) if self.tid is not None or self.keyidx is not None: t_k = 0 if self.tid is not None: t_k |= (self.tid[0] << 6) | (self.tid[1] << 5) if self.keyidx is not None: t_k |= self.keyidx data += pack("!B", t_k) else: data = pack("!B", octet) return data def __repr__(self) -> str: return ( f"VpxPayloadDescriptor(S={self.partition_start}, " f"PID={self.partition_id}, pic_id={self.picture_id})" ) @classmethod def parse(cls: Type[DESCRIPTOR_T], data: bytes) -> Tuple[DESCRIPTOR_T, bytes]: if len(data) < 1: raise ValueError("VPX descriptor is too short") # first byte octet = data[0] extended = octet >> 7 partition_start = (octet >> 4) & 1 partition_id = octet & 0xF picture_id = None tl0picidx = None tid = None keyidx = None pos = 1 # extended control bits if extended: if len(data) < pos + 1: raise ValueError("VPX descriptor has truncated extended bits") octet = data[pos] ext_I = (octet >> 7) & 1 ext_L = (octet >> 6) & 1 ext_T = (octet >> 5) & 1 ext_K = (octet >> 4) & 1 pos += 1 # picture id if ext_I: if len(data) < pos + 1: raise ValueError("VPX descriptor has truncated PictureID") if data[pos] & 0x80: if len(data) < pos + 2: raise ValueError("VPX descriptor has truncated long PictureID") picture_id = unpack_from("!H", data, pos)[0] & 0x7FFF pos += 2 else: picture_id = data[pos] pos += 1 # unused if ext_L: if len(data) < pos + 1: raise ValueError("VPX descriptor has truncated TL0PICIDX") tl0picidx = data[pos] pos += 1 if ext_T or ext_K: if len(data) < pos + 1: raise ValueError("VPX descriptor has truncated T/K") t_k = data[pos] if ext_T: tid = ((t_k >> 6) & 3, (t_k >> 5) & 1) if ext_K: keyidx = t_k & 0x1F pos += 1 obj = cls( partition_start=partition_start, partition_id=partition_id, picture_id=picture_id, tl0picidx=tl0picidx, tid=tid, keyidx=keyidx, ) return obj, data[pos:] def _vpx_assert(err: int) -> None: if err != lib.VPX_CODEC_OK: reason = ffi.string(lib.vpx_codec_err_to_string(err)) raise Exception("libvpx error: " + reason.decode("utf8")) class Vp8Decoder(Decoder): def __init__(self) -> None: self.codec = ffi.new("vpx_codec_ctx_t *") _vpx_assert( lib.vpx_codec_dec_init(self.codec, lib.vpx_codec_vp8_dx(), ffi.NULL, 0) ) ppcfg = ffi.new("vp8_postproc_cfg_t *") ppcfg.post_proc_flag = lib.VP8_DEMACROBLOCK | lib.VP8_DEBLOCK ppcfg.deblocking_level = 3 lib.vpx_codec_control_(self.codec, lib.VP8_SET_POSTPROC, ppcfg) def __del__(self) -> None: lib.vpx_codec_destroy(self.codec) def decode(self, encoded_frame: JitterFrame) -> List[Frame]: frames: List[Frame] = [] result = lib.vpx_codec_decode( self.codec, encoded_frame.data, len(encoded_frame.data), ffi.NULL, lib.VPX_DL_REALTIME, ) if result == lib.VPX_CODEC_OK: it = ffi.new("vpx_codec_iter_t *") while True: img = lib.vpx_codec_get_frame(self.codec, it) if not img: break assert img.fmt == lib.VPX_IMG_FMT_I420 frame = VideoFrame(width=img.d_w, height=img.d_h) frame.pts = encoded_frame.timestamp frame.time_base = VIDEO_TIME_BASE for p in range(3): i_stride = img.stride[p] i_buf = ffi.buffer(img.planes[p], i_stride * img.d_h) i_pos = 0 o_stride = frame.planes[p].line_size o_buf = memoryview(cast(bytes, frame.planes[p])) o_pos = 0 div = p and 2 or 1 for r in range(0, img.d_h // div): o_buf[o_pos : o_pos + o_stride] = i_buf[ i_pos : i_pos + o_stride ] i_pos += i_stride o_pos += o_stride frames.append(frame) return frames class Vp8Encoder(Encoder): def __init__(self) -> None: self.cx = lib.vpx_codec_vp8_cx() self.cfg = ffi.new("vpx_codec_enc_cfg_t *") lib.vpx_codec_enc_config_default(self.cx, self.cfg, 0) self.buffer = bytearray(8000) self.codec = None self.picture_id = random.randint(0, (1 << 15) - 1) self.timestamp_increment = VIDEO_CLOCK_RATE // MAX_FRAME_RATE self.__target_bitrate = DEFAULT_BITRATE self.__update_config_needed = False def __del__(self) -> None: if self.codec: lib.vpx_codec_destroy(self.codec) def encode( self, frame: Frame, force_keyframe: bool = False ) -> Tuple[List[bytes], int]: assert isinstance(frame, VideoFrame) if frame.format.name != "yuv420p": frame = frame.reformat(format="yuv420p") if self.codec and (frame.width != self.cfg.g_w or frame.height != self.cfg.g_h): lib.vpx_codec_destroy(self.codec) self.codec = None if not self.codec: # create codec self.codec = ffi.new("vpx_codec_ctx_t *") self.cfg.g_timebase.num = 1 self.cfg.g_timebase.den = VIDEO_CLOCK_RATE self.cfg.g_lag_in_frames = 0 self.cfg.g_threads = number_of_threads( frame.width * frame.height, multiprocessing.cpu_count() ) self.cfg.g_w = frame.width self.cfg.g_h = frame.height self.cfg.rc_resize_allowed = 0 self.cfg.rc_end_usage = lib.VPX_CBR self.cfg.rc_min_quantizer = 2 self.cfg.rc_max_quantizer = 56 self.cfg.rc_undershoot_pct = 100 self.cfg.rc_overshoot_pct = 15 self.cfg.rc_buf_initial_sz = 500 self.cfg.rc_buf_optimal_sz = 600 self.cfg.rc_buf_sz = 1000 self.cfg.kf_mode = lib.VPX_KF_AUTO self.cfg.kf_max_dist = 3000 self.__update_config() _vpx_assert(lib.vpx_codec_enc_init(self.codec, self.cx, self.cfg, 0)) lib.vpx_codec_control_( self.codec, lib.VP8E_SET_NOISE_SENSITIVITY, ffi.cast("int", 4) ) lib.vpx_codec_control_( self.codec, lib.VP8E_SET_STATIC_THRESHOLD, ffi.cast("int", 1) ) lib.vpx_codec_control_( self.codec, lib.VP8E_SET_CPUUSED, ffi.cast("int", -6) ) lib.vpx_codec_control_( self.codec, lib.VP8E_SET_TOKEN_PARTITIONS, ffi.cast("int", lib.VP8_ONE_TOKENPARTITION), ) # create image on a dummy buffer, we will fill the pointers during encoding self.image = ffi.new("vpx_image_t *") lib.vpx_img_wrap( self.image, lib.VPX_IMG_FMT_I420, frame.width, frame.height, 1, ffi.cast("void*", 1), ) elif self.__update_config_needed: self.__update_config() _vpx_assert(lib.vpx_codec_enc_config_set(self.codec, self.cfg)) # setup image for p in range(3): self.image.planes[p] = ffi.cast("void*", frame.planes[p].buffer_ptr) self.image.stride[p] = frame.planes[p].line_size # encode frame flags = 0 if force_keyframe: flags |= lib.VPX_EFLAG_FORCE_KF _vpx_assert( lib.vpx_codec_encode( self.codec, self.image, frame.pts, self.timestamp_increment, flags, lib.VPX_DL_REALTIME, ) ) it = ffi.new("vpx_codec_iter_t *") length = 0 while True: pkt = lib.vpx_codec_get_cx_data(self.codec, it) if not pkt: break elif pkt.kind == lib.VPX_CODEC_CX_FRAME_PKT: # resize buffer if needed if length + pkt.data.frame.sz > len(self.buffer): new_buffer = bytearray(length + pkt.data.frame.sz) new_buffer[0:length] = self.buffer[0:length] self.buffer = new_buffer # append new data self.buffer[length : length + pkt.data.frame.sz] = ffi.buffer( pkt.data.frame.buf, pkt.data.frame.sz ) length += pkt.data.frame.sz # packetize payloads = self._packetize(self.buffer[:length], self.picture_id) timestamp = convert_timebase(frame.pts, frame.time_base, VIDEO_TIME_BASE) self.picture_id = (self.picture_id + 1) % (1 << 15) return payloads, timestamp def pack(self, packet: Packet) -> Tuple[List[bytes], int]: payloads = self._packetize(bytes(packet), self.picture_id) timestamp = convert_timebase(packet.pts, packet.time_base, VIDEO_TIME_BASE) self.picture_id = (self.picture_id + 1) % (1 << 15) return payloads, timestamp @property def target_bitrate(self) -> int: """ Target bitrate in bits per second. """ return self.__target_bitrate @target_bitrate.setter def target_bitrate(self, bitrate: int) -> None: bitrate = max(MIN_BITRATE, min(bitrate, MAX_BITRATE)) if bitrate != self.__target_bitrate: self.__target_bitrate = bitrate self.__update_config_needed = True @classmethod def _packetize(cls, buffer: bytes, picture_id: int) -> List[bytes]: payloads = [] descr = VpxPayloadDescriptor( partition_start=1, partition_id=0, picture_id=picture_id ) length = len(buffer) pos = 0 while pos < length: descr_bytes = bytes(descr) size = min(length - pos, PACKET_MAX - len(descr_bytes)) payloads.append(descr_bytes + buffer[pos : pos + size]) descr.partition_start = 0 pos += size return payloads def __update_config(self) -> None: self.cfg.rc_target_bitrate = self.__target_bitrate // 1000 self.__update_config_needed = False def vp8_depayload(payload: bytes) -> bytes: descriptor, data = VpxPayloadDescriptor.parse(payload) return data aiortc-1.11.0/src/aiortc/contrib/000077500000000000000000000000001477147103300165725ustar00rootroot00000000000000aiortc-1.11.0/src/aiortc/contrib/__init__.py000066400000000000000000000000001477147103300206710ustar00rootroot00000000000000aiortc-1.11.0/src/aiortc/contrib/media.py000066400000000000000000000464671477147103300202440ustar00rootroot00000000000000import asyncio import errno import fractions import logging import threading import time from typing import Dict, Optional, Set, Union import av from av import AudioFrame, VideoFrame from av.audio import AudioStream from av.frame import Frame from av.packet import Packet from av.video.stream import VideoStream from ..mediastreams import AUDIO_PTIME, MediaStreamError, MediaStreamTrack logger = logging.getLogger(__name__) REAL_TIME_FORMATS = [ "alsa", "android_camera", "avfoundation", "bktr", "decklink", "dshow", "fbdev", "gdigrab", "iec61883", "jack", "kmsgrab", "openal", "oss", "pulse", "sndio", "rtsp", "v4l2", "vfwcap", "x11grab", ] async def blackhole_consume(track: MediaStreamTrack) -> None: while True: try: await track.recv() except MediaStreamError: return class MediaBlackhole: """ A media sink that consumes and discards all media. """ def __init__(self) -> None: self.__tracks: Dict[MediaStreamTrack, asyncio.Future] = {} def addTrack(self, track): """ Add a track whose media should be discarded. :param track: A :class:`aiortc.MediaStreamTrack`. """ if track not in self.__tracks: self.__tracks[track] = None async def start(self) -> None: """ Start discarding media. """ for track, task in self.__tracks.items(): if task is None: self.__tracks[track] = asyncio.ensure_future(blackhole_consume(track)) async def stop(self) -> None: """ Stop discarding media. """ for task in self.__tracks.values(): if task is not None: task.cancel() self.__tracks = {} def player_worker_decode( loop, container, streams, audio_track, video_track, quit_event, throttle_playback, loop_playback, ): audio_sample_rate = 48000 audio_samples = 0 audio_time_base = fractions.Fraction(1, audio_sample_rate) audio_resampler = av.AudioResampler( format="s16", layout="stereo", rate=audio_sample_rate, frame_size=int(audio_sample_rate * AUDIO_PTIME), ) video_first_pts = None frame_time = None start_time = time.time() while not quit_event.is_set(): try: frame = next(container.decode(*streams)) except Exception as exc: if isinstance(exc, av.FFmpegError) and exc.errno == errno.EAGAIN: time.sleep(0.01) continue if isinstance(exc, StopIteration) and loop_playback: container.seek(0) continue if audio_track: asyncio.run_coroutine_threadsafe(audio_track._queue.put(None), loop) if video_track: asyncio.run_coroutine_threadsafe(video_track._queue.put(None), loop) break # read up to 1 second ahead if throttle_playback: elapsed_time = time.time() - start_time if frame_time and frame_time > elapsed_time + 1: time.sleep(0.1) if isinstance(frame, AudioFrame) and audio_track: for frame in audio_resampler.resample(frame): # fix timestamps frame.pts = audio_samples frame.time_base = audio_time_base audio_samples += frame.samples frame_time = frame.time asyncio.run_coroutine_threadsafe(audio_track._queue.put(frame), loop) elif isinstance(frame, VideoFrame) and video_track: if frame.pts is None: # pragma: no cover logger.warning( "MediaPlayer(%s) Skipping video frame with no pts", container.name ) continue # video from a webcam doesn't start at pts 0, cancel out offset if video_first_pts is None: video_first_pts = frame.pts frame.pts -= video_first_pts frame_time = frame.time asyncio.run_coroutine_threadsafe(video_track._queue.put(frame), loop) def player_worker_demux( loop, container, streams, audio_track, video_track, quit_event, throttle_playback, loop_playback, ): video_first_pts = None frame_time = None start_time = time.time() while not quit_event.is_set(): try: packet = next(container.demux(*streams)) if not packet.size: raise StopIteration except Exception as exc: if isinstance(exc, av.FFmpegError) and exc.errno == errno.EAGAIN: time.sleep(0.01) continue if isinstance(exc, StopIteration) and loop_playback: container.seek(0) continue if audio_track: asyncio.run_coroutine_threadsafe(audio_track._queue.put(None), loop) if video_track: asyncio.run_coroutine_threadsafe(video_track._queue.put(None), loop) break # read up to 1 second ahead if throttle_playback: elapsed_time = time.time() - start_time if frame_time and frame_time > elapsed_time + 1: time.sleep(0.1) track = None if isinstance(packet.stream, AudioStream) and audio_track: track = audio_track elif isinstance(packet.stream, VideoStream) and video_track: if packet.pts is None: # pragma: no cover logger.warning( "MediaPlayer(%s) Skipping video packet with no pts", container.name ) continue track = video_track # video from a webcam doesn't start at pts 0, cancel out offset if video_first_pts is None: video_first_pts = packet.pts packet.pts -= video_first_pts if ( track is not None and packet.pts is not None and packet.time_base is not None ): frame_time = int(packet.pts * packet.time_base) asyncio.run_coroutine_threadsafe(track._queue.put(packet), loop) class PlayerStreamTrack(MediaStreamTrack): def __init__(self, player: "MediaPlayer", kind: str) -> None: super().__init__() self.kind = kind self._player = player self._queue: asyncio.Queue[Union[Frame, Packet]] = asyncio.Queue() self._start: Optional[float] = None async def recv(self) -> Union[Frame, Packet]: if self.readyState != "live": raise MediaStreamError self._player._start(self) data = await self._queue.get() if data is None: self.stop() raise MediaStreamError if isinstance(data, Frame): data_time = data.time elif isinstance(data, Packet): data_time = float(data.pts * data.time_base) # control playback rate if ( self._player is not None and self._player._throttle_playback and data_time is not None ): if self._start is None: self._start = time.time() - data_time else: wait = self._start + data_time - time.time() await asyncio.sleep(wait) return data def stop(self) -> None: super().stop() if self._player is not None: self._player._stop(self) self._player = None class MediaPlayer: """ A media source that reads audio and/or video from a file. Examples: .. code-block:: python # Open a video file. player = MediaPlayer('/path/to/some.mp4') # Open an HTTP stream. player = MediaPlayer( 'http://download.tsi.telecom-paristech.fr/' 'gpac/dataset/dash/uhd/mux_sources/hevcds_720p30_2M.mp4') # Open webcam on Linux. player = MediaPlayer('/dev/video0', format='v4l2', options={ 'video_size': '640x480' }) # Open webcam on OS X. player = MediaPlayer('default:none', format='avfoundation', options={ 'video_size': '640x480' }) # Open webcam on Windows. player = MediaPlayer('video=Integrated Camera', format='dshow', options={ 'video_size': '640x480' }) :param file: The path to a file, or a file-like object. :param format: The format to use, defaults to autodect. :param options: Additional options to pass to FFmpeg. :param timeout: Open/read timeout to pass to FFmpeg. :param loop: Whether to repeat playback indefinitely (requires a seekable file). """ def __init__( self, file, format=None, options=None, timeout=None, loop=False, decode=True ) -> None: self.__container = av.open( file=file, format=format, mode="r", options=options, timeout=timeout ) self.__thread: Optional[threading.Thread] = None self.__thread_quit: Optional[threading.Event] = None # examine streams self.__started: Set[PlayerStreamTrack] = set() self.__streams = [] self.__decode = decode self.__audio: Optional[PlayerStreamTrack] = None self.__video: Optional[PlayerStreamTrack] = None for stream in self.__container.streams: if stream.type == "audio" and not self.__audio: if self.__decode: self.__audio = PlayerStreamTrack(self, kind="audio") self.__streams.append(stream) elif stream.codec_context.name in ["opus", "pcm_alaw", "pcm_mulaw"]: self.__audio = PlayerStreamTrack(self, kind="audio") self.__streams.append(stream) elif stream.type == "video" and not self.__video: if self.__decode: self.__video = PlayerStreamTrack(self, kind="video") self.__streams.append(stream) elif stream.codec_context.name in ["h264", "vp8"]: self.__video = PlayerStreamTrack(self, kind="video") self.__streams.append(stream) # check whether we need to throttle playback container_format = set(self.__container.format.name.split(",")) self._throttle_playback = not container_format.intersection(REAL_TIME_FORMATS) # check whether the looping is supported assert not loop or self.__container.duration is not None, ( "The `loop` argument requires a seekable file" ) self._loop_playback = loop @property def audio(self) -> MediaStreamTrack: """ A :class:`aiortc.MediaStreamTrack` instance if the file contains audio. """ return self.__audio @property def video(self) -> MediaStreamTrack: """ A :class:`aiortc.MediaStreamTrack` instance if the file contains video. """ return self.__video def _start(self, track: PlayerStreamTrack) -> None: self.__started.add(track) if self.__thread is None: self.__log_debug("Starting worker thread") self.__thread_quit = threading.Event() self.__thread = threading.Thread( name="media-player", target=player_worker_decode if self.__decode else player_worker_demux, args=( asyncio.get_event_loop(), self.__container, self.__streams, self.__audio, self.__video, self.__thread_quit, self._throttle_playback, self._loop_playback, ), ) self.__thread.start() def _stop(self, track: PlayerStreamTrack) -> None: self.__started.discard(track) if not self.__started and self.__thread is not None: self.__log_debug("Stopping worker thread") self.__thread_quit.set() self.__thread.join() self.__thread = None if not self.__started and self.__container is not None: self.__container.close() self.__container = None def __log_debug(self, msg: str, *args) -> None: logger.debug(f"MediaPlayer(%s) {msg}", self.__container.name, *args) class MediaRecorderContext: def __init__(self, stream) -> None: self.started = False self.stream = stream self.task = None class MediaRecorder: """ A media sink that writes audio and/or video to a file. Examples: .. code-block:: python # Write to a video file. player = MediaRecorder('/path/to/file.mp4') # Write to a set of images. player = MediaRecorder('/path/to/file-%3d.png') :param file: The path to a file, or a file-like object. :param format: The format to use, defaults to autodect. :param options: Additional options to pass to FFmpeg. """ def __init__(self, file, format=None, options=None): self.__container = av.open(file=file, format=format, mode="w", options=options) self.__tracks = {} def addTrack(self, track: MediaStreamTrack) -> None: """ Add a track to be recorded. :param track: A :class:`aiortc.MediaStreamTrack`. """ if track.kind == "audio": if self.__container.format.name in ("wav", "alsa", "pulse"): codec_name = "pcm_s16le" elif self.__container.format.name == "mp3": codec_name = "mp3" elif self.__container.format.name == "ogg": codec_name = "libopus" else: codec_name = "aac" stream = self.__container.add_stream(codec_name) else: if self.__container.format.name == "image2": stream = self.__container.add_stream("png", rate=30) stream.pix_fmt = "rgb24" else: stream = self.__container.add_stream("libx264", rate=30) stream.pix_fmt = "yuv420p" self.__tracks[track] = MediaRecorderContext(stream) async def start(self) -> None: """ Start recording. """ for track, context in self.__tracks.items(): if context.task is None: context.task = asyncio.ensure_future(self.__run_track(track, context)) async def stop(self) -> None: """ Stop recording. """ if self.__container: for track, context in self.__tracks.items(): if context.task is not None: context.task.cancel() context.task = None for packet in context.stream.encode(None): self.__container.mux(packet) self.__tracks = {} if self.__container: self.__container.close() self.__container = None async def __run_track( self, track: MediaStreamTrack, context: MediaRecorderContext ) -> None: while True: try: frame = await track.recv() except MediaStreamError: return if not context.started: # adjust the output size to match the first frame if isinstance(frame, VideoFrame): context.stream.width = frame.width context.stream.height = frame.height context.started = True for packet in context.stream.encode(frame): self.__container.mux(packet) class RelayStreamTrack(MediaStreamTrack): def __init__(self, relay, source: MediaStreamTrack, buffered: bool) -> None: super().__init__() self.kind = source.kind self._relay = relay self._source: Optional[MediaStreamTrack] = source self._buffered = buffered self._frame: Union[Frame, Packet, None] = None self._queue: Optional[asyncio.Queue[Union[Frame, Packet, None]]] = None self._new_frame_event: Optional[asyncio.Event] = None if self._buffered: self._queue = asyncio.Queue() else: self._new_frame_event = asyncio.Event() async def recv(self) -> Union[Frame, Packet]: if self.readyState != "live": raise MediaStreamError self._relay._start(self) if self._buffered: self._frame = await self._queue.get() else: await self._new_frame_event.wait() self._new_frame_event.clear() if self._frame is None: self.stop() raise MediaStreamError return self._frame def stop(self) -> None: super().stop() if self._relay is not None: self._relay._stop(self) self._relay = None self._source = None class MediaRelay: """ A media source that relays one or more tracks to multiple consumers. This is especially useful for live tracks such as webcams or media received over the network. """ def __init__(self) -> None: self.__proxies: Dict[MediaStreamTrack, Set[RelayStreamTrack]] = {} self.__tasks: Dict[MediaStreamTrack, asyncio.Future[None]] = {} def subscribe( self, track: MediaStreamTrack, buffered: bool = True ) -> MediaStreamTrack: """ Create a proxy around the given `track` for a new consumer. :param track: Source :class:`MediaStreamTrack` which is relayed. :param buffered: Whether there need a buffer between the source track and relayed track. :rtype: :class: MediaStreamTrack """ proxy = RelayStreamTrack(self, track, buffered) self.__log_debug("Create proxy %s for source %s", id(proxy), id(track)) if track not in self.__proxies: self.__proxies[track] = set() return proxy def _start(self, proxy: RelayStreamTrack) -> None: track = proxy._source if track is not None and track in self.__proxies: # register proxy if proxy not in self.__proxies[track]: self.__log_debug("Start proxy %s", id(proxy)) self.__proxies[track].add(proxy) # start worker if track not in self.__tasks: self.__tasks[track] = asyncio.ensure_future(self.__run_track(track)) def _stop(self, proxy: RelayStreamTrack) -> None: track = proxy._source if track is not None and track in self.__proxies: # unregister proxy self.__log_debug("Stop proxy %s", id(proxy)) self.__proxies[track].discard(proxy) def __log_debug(self, msg: str, *args) -> None: logger.debug(f"MediaRelay(%s) {msg}", id(self), *args) async def __run_track(self, track: MediaStreamTrack) -> None: self.__log_debug("Start reading source %s" % id(track)) while True: try: frame = await track.recv() except MediaStreamError: frame = None for proxy in self.__proxies[track]: if proxy._buffered: proxy._queue.put_nowait(frame) else: proxy._frame = frame proxy._new_frame_event.set() if frame is None: break self.__log_debug("Stop reading source %s", id(track)) del self.__proxies[track] del self.__tasks[track] aiortc-1.11.0/src/aiortc/contrib/signaling.py000066400000000000000000000147361477147103300211320ustar00rootroot00000000000000import asyncio import json import logging import os import sys from aiortc import RTCIceCandidate, RTCSessionDescription from aiortc.sdp import candidate_from_sdp, candidate_to_sdp logger = logging.getLogger(__name__) BYE = object() def object_from_string(message_str): message = json.loads(message_str) if message["type"] in ["answer", "offer"]: return RTCSessionDescription(**message) elif message["type"] == "candidate" and message["candidate"]: candidate = candidate_from_sdp(message["candidate"].split(":", 1)[1]) candidate.sdpMid = message["id"] candidate.sdpMLineIndex = message["label"] return candidate elif message["type"] == "bye": return BYE def object_to_string(obj): if isinstance(obj, RTCSessionDescription): message = {"sdp": obj.sdp, "type": obj.type} elif isinstance(obj, RTCIceCandidate): message = { "candidate": "candidate:" + candidate_to_sdp(obj), "id": obj.sdpMid, "label": obj.sdpMLineIndex, "type": "candidate", } else: assert obj is BYE message = {"type": "bye"} return json.dumps(message, sort_keys=True) class CopyAndPasteSignaling: def __init__(self): self._read_pipe = sys.stdin self._read_transport = None self._reader = None self._write_pipe = sys.stdout async def connect(self): loop = asyncio.get_event_loop() self._reader = asyncio.StreamReader(loop=loop) self._read_transport, _ = await loop.connect_read_pipe( lambda: asyncio.StreamReaderProtocol(self._reader), self._read_pipe ) async def close(self): if self._reader is not None: await self.send(BYE) self._read_transport.close() self._reader = None async def receive(self): print("-- Please enter a message from remote party --") data = await self._reader.readline() print() return object_from_string(data.decode(self._read_pipe.encoding)) async def send(self, descr): print("-- Please send this message to the remote party --") self._write_pipe.write(object_to_string(descr) + "\n") self._write_pipe.flush() print() class TcpSocketSignaling: def __init__(self, host, port): self._host = host self._port = port self._server = None self._reader = None self._writer = None async def connect(self): pass async def _connect(self, server): if self._writer is not None: return if server: connected = asyncio.Event() def client_connected(reader, writer): self._reader = reader self._writer = writer connected.set() self._server = await asyncio.start_server( client_connected, host=self._host, port=self._port ) await connected.wait() else: self._reader, self._writer = await asyncio.open_connection( host=self._host, port=self._port ) async def close(self): if self._writer is not None: await self.send(BYE) self._writer.close() self._reader = None self._writer = None if self._server is not None: self._server.close() self._server = None async def receive(self): await self._connect(False) try: data = await self._reader.readuntil() except asyncio.IncompleteReadError: return return object_from_string(data.decode("utf8")) async def send(self, descr): await self._connect(True) data = object_to_string(descr).encode("utf8") self._writer.write(data + b"\n") class UnixSocketSignaling: def __init__(self, path): self._path = path self._server = None self._reader = None self._writer = None async def connect(self): pass async def _connect(self, server): if self._writer is not None: return if server: connected = asyncio.Event() def client_connected(reader, writer): self._reader = reader self._writer = writer connected.set() self._server = await asyncio.start_unix_server( client_connected, path=self._path ) await connected.wait() else: self._reader, self._writer = await asyncio.open_unix_connection(self._path) async def close(self): if self._writer is not None: await self.send(BYE) self._writer.close() self._reader = None self._writer = None if self._server is not None: self._server.close() self._server = None # In Python 3.13, asyncio Unix sockets are removed when the server is # closed. On previous version we need to remove the socket ourselves. if sys.version_info < (3, 13): os.unlink(self._path) async def receive(self): await self._connect(False) try: data = await self._reader.readuntil() except asyncio.IncompleteReadError: return return object_from_string(data.decode("utf8")) async def send(self, descr): await self._connect(True) data = object_to_string(descr).encode("utf8") self._writer.write(data + b"\n") def add_signaling_arguments(parser): """ Add signaling method arguments to an argparse.ArgumentParser. """ parser.add_argument( "--signaling", "-s", choices=["copy-and-paste", "tcp-socket", "unix-socket"], ) parser.add_argument( "--signaling-host", default="127.0.0.1", help="Signaling host (tcp-socket only)" ) parser.add_argument( "--signaling-port", default=1234, help="Signaling port (tcp-socket only)" ) parser.add_argument( "--signaling-path", default="aiortc.socket", help="Signaling socket path (unix-socket only)", ) def create_signaling(args): """ Create a signaling method based on command-line arguments. """ if args.signaling == "tcp-socket": return TcpSocketSignaling(args.signaling_host, args.signaling_port) elif args.signaling == "unix-socket": return UnixSocketSignaling(args.signaling_path) else: return CopyAndPasteSignaling() aiortc-1.11.0/src/aiortc/events.py000066400000000000000000000011621477147103300170100ustar00rootroot00000000000000from dataclasses import dataclass from .mediastreams import MediaStreamTrack from .rtcrtpreceiver import RTCRtpReceiver from .rtcrtptransceiver import RTCRtpTransceiver @dataclass class RTCTrackEvent: """ This event is fired on :class:`RTCPeerConnection` when a new :class:`MediaStreamTrack` is added by the remote party. """ receiver: RTCRtpReceiver "The :class:`RTCRtpReceiver` associated with the event." track: MediaStreamTrack "The :class:`MediaStreamTrack` associated with the event." transceiver: RTCRtpTransceiver "The :class:`RTCRtpTransceiver` associated with the event." aiortc-1.11.0/src/aiortc/exceptions.py000066400000000000000000000002641477147103300176670ustar00rootroot00000000000000class InternalError(Exception): pass class InvalidAccessError(Exception): pass class InvalidStateError(Exception): pass class OperationError(Exception): pass aiortc-1.11.0/src/aiortc/jitterbuffer.py000066400000000000000000000100661477147103300202020ustar00rootroot00000000000000from typing import List, Optional, Tuple from .rtp import RtpPacket from .utils import uint16_add MAX_MISORDER = 100 class JitterFrame: def __init__(self, data: bytes, timestamp: int) -> None: self.data = data self.timestamp = timestamp class JitterBuffer: def __init__( self, capacity: int, prefetch: int = 0, is_video: bool = False ) -> None: assert capacity & (capacity - 1) == 0, "capacity must be a power of 2" self._capacity = capacity self._origin: Optional[int] = None self._packets: List[Optional[RtpPacket]] = [None for i in range(capacity)] self._prefetch = prefetch self._is_video = is_video @property def capacity(self) -> int: return self._capacity def add(self, packet: RtpPacket) -> Tuple[bool, Optional[JitterFrame]]: pli_flag = False if self._origin is None: self._origin = packet.sequence_number delta = 0 misorder = 0 else: delta = uint16_add(packet.sequence_number, -self._origin) misorder = uint16_add(self._origin, -packet.sequence_number) if misorder < delta: if misorder >= MAX_MISORDER: self.remove(self.capacity) self._origin = packet.sequence_number delta = misorder = 0 if self._is_video: pli_flag = True else: return pli_flag, None if delta >= self.capacity: # remove just enough frames to fit the received packets excess = delta - self.capacity + 1 if self.smart_remove(excess): self._origin = packet.sequence_number if self._is_video: pli_flag = True pos = packet.sequence_number % self._capacity self._packets[pos] = packet return pli_flag, self._remove_frame(packet.sequence_number) def _remove_frame(self, sequence_number: int) -> Optional[JitterFrame]: frame = None frames = 0 packets: List[RtpPacket] = [] remove = 0 timestamp = None for count in range(self.capacity): pos = (self._origin + count) % self._capacity packet = self._packets[pos] if packet is None: break if timestamp is None: timestamp = packet.timestamp elif packet.timestamp != timestamp: # we now have a complete frame, only store the first one if frame is None: frame = JitterFrame( data=b"".join([x._data for x in packets]), # type: ignore timestamp=timestamp, ) remove = count # check we have prefetched enough frames += 1 if frames >= self._prefetch: self.remove(remove) return frame # start a new frame packets = [] timestamp = packet.timestamp packets.append(packet) return None def remove(self, count: int) -> None: assert count <= self._capacity for i in range(count): pos = self._origin % self._capacity self._packets[pos] = None self._origin = uint16_add(self._origin, 1) def smart_remove(self, count: int) -> bool: """ Makes sure that all packages belonging to the same frame are removed to prevent sending corrupted frames to the decoder. """ timestamp = None for i in range(self._capacity): pos = self._origin % self._capacity packet = self._packets[pos] if packet is not None: if i >= count and timestamp != packet.timestamp: break timestamp = packet.timestamp self._packets[pos] = None self._origin = uint16_add(self._origin, 1) if i == self._capacity - 1: return True return False aiortc-1.11.0/src/aiortc/mediastreams.py000066400000000000000000000077451477147103300201770ustar00rootroot00000000000000import asyncio import fractions import time import uuid from abc import ABCMeta, abstractmethod from typing import Tuple, Union from av import AudioFrame, VideoFrame from av.frame import Frame from av.packet import Packet from pyee.asyncio import AsyncIOEventEmitter AUDIO_PTIME = 0.020 # 20ms audio packetization VIDEO_CLOCK_RATE = 90000 VIDEO_PTIME = 1 / 30 # 30fps VIDEO_TIME_BASE = fractions.Fraction(1, VIDEO_CLOCK_RATE) def convert_timebase( pts: int, from_base: fractions.Fraction, to_base: fractions.Fraction ) -> int: if from_base != to_base: pts = int(pts * from_base / to_base) return pts class MediaStreamError(Exception): pass class MediaStreamTrack(AsyncIOEventEmitter, metaclass=ABCMeta): """ A single media track within a stream. """ kind = "unknown" def __init__(self) -> None: super().__init__() self.__ended = False self._id = str(uuid.uuid4()) @property def id(self) -> str: """ An automatically generated globally unique ID. """ return self._id @property def readyState(self) -> str: return "ended" if self.__ended else "live" @abstractmethod async def recv(self) -> Union[Frame, Packet]: """ Receive the next :class:`~av.audio.frame.AudioFrame`, :class:`~av.video.frame.VideoFrame` or :class:`~av.packet.Packet` """ def stop(self) -> None: if not self.__ended: self.__ended = True self.emit("ended") # no more events will be emitted, so remove all event listeners # to facilitate garbage collection. self.remove_all_listeners() class AudioStreamTrack(MediaStreamTrack): """ A dummy audio track which reads silence. """ kind = "audio" _start: float _timestamp: int async def recv(self) -> Frame: """ Receive the next :class:`~av.audio.frame.AudioFrame`. The base implementation just reads silence, subclass :class:`AudioStreamTrack` to provide a useful implementation. """ if self.readyState != "live": raise MediaStreamError sample_rate = 8000 samples = int(AUDIO_PTIME * sample_rate) if hasattr(self, "_timestamp"): self._timestamp += samples wait = self._start + (self._timestamp / sample_rate) - time.time() await asyncio.sleep(wait) else: self._start = time.time() self._timestamp = 0 frame = AudioFrame(format="s16", layout="mono", samples=samples) for p in frame.planes: p.update(bytes(p.buffer_size)) frame.pts = self._timestamp frame.sample_rate = sample_rate frame.time_base = fractions.Fraction(1, sample_rate) return frame class VideoStreamTrack(MediaStreamTrack): """ A dummy video track which reads green frames. """ kind = "video" _start: float _timestamp: int async def next_timestamp(self) -> Tuple[int, fractions.Fraction]: if self.readyState != "live": raise MediaStreamError if hasattr(self, "_timestamp"): self._timestamp += int(VIDEO_PTIME * VIDEO_CLOCK_RATE) wait = self._start + (self._timestamp / VIDEO_CLOCK_RATE) - time.time() await asyncio.sleep(wait) else: self._start = time.time() self._timestamp = 0 return self._timestamp, VIDEO_TIME_BASE async def recv(self) -> Frame: """ Receive the next :class:`~av.video.frame.VideoFrame`. The base implementation just reads a 640x480 green frame at 30fps, subclass :class:`VideoStreamTrack` to provide a useful implementation. """ pts, time_base = await self.next_timestamp() frame = VideoFrame(width=640, height=480) for p in frame.planes: p.update(bytes(p.buffer_size)) frame.pts = pts frame.time_base = time_base return frame aiortc-1.11.0/src/aiortc/py.typed000066400000000000000000000000071477147103300166260ustar00rootroot00000000000000Marker aiortc-1.11.0/src/aiortc/rate.py000066400000000000000000000503071477147103300164440ustar00rootroot00000000000000import math from enum import Enum from typing import Dict, List, Optional, Tuple from aiortc.utils import uint32_add, uint32_gt BURST_DELTA_THRESHOLD_MS = 5 # overuse detector MAX_ADAPT_OFFSET_MS = 15 MIN_NUM_DELTAS = 60 # overuse estimator DELTA_COUNTER_MAX = 1000 MIN_FRAME_PERIOD_HISTORY_LENGTH = 60 # abs-send-time estimator INTER_ARRIVAL_SHIFT = 26 TIMESTAMP_GROUP_LENGTH_MS = 5 TIMESTAMP_TO_MS = 1000.0 / (1 << INTER_ARRIVAL_SHIFT) class BandwidthUsage(Enum): NORMAL = 0 UNDERUSING = 1 OVERUSING = 2 class RateControlState(Enum): HOLD = 0 INCREASE = 1 DECREASE = 2 class AimdRateControl: def __init__(self) -> None: self.avg_max_bitrate_kbps = None self.var_max_bitrate_kbps = 0.4 self.current_bitrate = 30000000 self.current_bitrate_initialized = False self.first_estimated_throughput_time: Optional[int] = None self.last_change_ms: Optional[int] = None self.near_max = False self.latest_estimated_throughput = 30000000 self.rtt = 200 self.state = RateControlState.HOLD def feedback_interval(self) -> int: return 500 def set_estimate(self, bitrate: int, now_ms: int) -> None: """ For testing purposes. """ self.current_bitrate = self._clamp_bitrate(bitrate, bitrate) self.current_bitrate_initialized = True self.last_change_ms = now_ms def update( self, bandwidth_usage: BandwidthUsage, estimated_throughput: Optional[int], now_ms: int, ) -> Optional[int]: if not self.current_bitrate_initialized and estimated_throughput is not None: if self.first_estimated_throughput_time is None: self.first_estimated_throughput_time = now_ms elif now_ms - self.first_estimated_throughput_time > 3000: self.current_bitrate = estimated_throughput self.current_bitrate_initialized = True # wait for initialisation or overuse if ( not self.current_bitrate_initialized and bandwidth_usage != BandwidthUsage.OVERUSING ): return None # update state if ( bandwidth_usage == BandwidthUsage.NORMAL and self.state == RateControlState.HOLD ): self.last_change_ms = now_ms self.state = RateControlState.INCREASE elif bandwidth_usage == BandwidthUsage.OVERUSING: self.state = RateControlState.DECREASE elif bandwidth_usage == BandwidthUsage.UNDERUSING: self.state = RateControlState.HOLD # helper variables new_bitrate = self.current_bitrate if estimated_throughput is not None: self.latest_estimated_throughput = estimated_throughput else: estimated_throughput = self.latest_estimated_throughput estimated_throughput_kbps = estimated_throughput / 1000 # update bitrate if self.state == RateControlState.INCREASE: # if the estimated throughput increases significantly, # clear estimated max throughput if self.avg_max_bitrate_kbps is not None: sigma_kbps = math.sqrt( self.var_max_bitrate_kbps * self.avg_max_bitrate_kbps ) if ( estimated_throughput_kbps >= self.avg_max_bitrate_kbps + 3 * sigma_kbps ): self.near_max = False self.avg_max_bitrate_kbps = None # we use additive or multiplicative rate increase depending on whether # we are close to the maximum throughput if self.near_max: new_bitrate += self._additive_rate_increase(self.last_change_ms, now_ms) else: new_bitrate += self._multiplicative_rate_increase( new_bitrate, self.last_change_ms, now_ms ) self.last_change_ms = now_ms elif self.state == RateControlState.DECREASE: # if the estimated throughput drops significantly, # clear estimated max throughput if self.avg_max_bitrate_kbps is not None: sigma_kbps = math.sqrt( self.var_max_bitrate_kbps * self.avg_max_bitrate_kbps ) if ( estimated_throughput_kbps < self.avg_max_bitrate_kbps - 3 * sigma_kbps ): self.avg_max_bitrate_kbps = None self._update_max_throughput_estimate(estimated_throughput_kbps) self.near_max = True new_bitrate = round(0.85 * estimated_throughput) self.last_change_ms = now_ms self.state = RateControlState.HOLD self.current_bitrate = self._clamp_bitrate(new_bitrate, estimated_throughput) return self.current_bitrate def _additive_rate_increase(self, last_ms: int, now_ms: int) -> int: return int((now_ms - last_ms) * self._near_max_rate_increase() / 1000) def _clamp_bitrate(self, new_bitrate: int, estimated_throughput: int) -> int: max_bitrate = max(int(1.5 * estimated_throughput) + 10000, self.current_bitrate) return min(new_bitrate, max_bitrate) def _multiplicative_rate_increase( self, new_bitrate: int, last_ms: int, now_ms: int ) -> int: alpha = 1.08 if last_ms is not None: elapsed_ms = min(now_ms - last_ms, 1000) alpha = pow(alpha, elapsed_ms / 1000) return int(max((alpha - 1) * new_bitrate, 1000)) def _near_max_rate_increase(self) -> int: bits_per_frame = self.current_bitrate / 30 packets_per_frame = math.ceil(bits_per_frame / (8 * 1200)) avg_packet_size_bits = bits_per_frame / packets_per_frame response_time = self.rtt + 100 return max(4000, int((avg_packet_size_bits * 1000) / response_time)) def _update_max_throughput_estimate(self, estimated_throughput_kbps) -> None: alpha = 0.05 if self.avg_max_bitrate_kbps is None: self.avg_max_bitrate_kbps = estimated_throughput_kbps else: self.avg_max_bitrate_kbps = ( 1 - alpha ) * self.avg_max_bitrate_kbps + alpha * estimated_throughput_kbps norm = max(1, self.avg_max_bitrate_kbps) self.var_max_bitrate_kbps = (1 - alpha) * self.var_max_bitrate_kbps + alpha * ( (self.avg_max_bitrate_kbps - estimated_throughput_kbps) ** 2 ) / norm self.var_max_bitrate_kbps = max(0.4, min(self.var_max_bitrate_kbps, 2.5)) class TimestampGroup: def __init__(self, timestamp: Optional[int] = None) -> None: self.arrival_time: Optional[int] = None self.first_timestamp = timestamp self.last_timestamp = timestamp self.size = 0 class InterArrivalDelta: def __init__(self, timestamp: int, arrival_time: int, size: int) -> None: self.timestamp = timestamp self.arrival_time = arrival_time self.size = size class InterArrival: """ Inter-arrival time and size filter. Adapted from the webrtc.org codebase. """ def __init__(self, group_length: int, timestamp_to_ms: float) -> None: self.group_length = group_length self.timestamp_to_ms = timestamp_to_ms self.current_group: Optional[TimestampGroup] = None self.previous_group: Optional[TimestampGroup] = None def compute_deltas( self, timestamp: int, arrival_time: int, packet_size: int ) -> Optional[InterArrivalDelta]: deltas = None if self.current_group is None: self.current_group = TimestampGroup(timestamp) elif self.packet_out_of_order(timestamp): return deltas elif self.new_timestamp_group(timestamp, arrival_time): if self.previous_group is not None: deltas = InterArrivalDelta( timestamp=uint32_add( self.current_group.last_timestamp, -self.previous_group.last_timestamp, ), arrival_time=( self.current_group.arrival_time - self.previous_group.arrival_time ), size=self.current_group.size - self.previous_group.size, ) # shift groups self.previous_group = self.current_group self.current_group = TimestampGroup(timestamp=timestamp) elif uint32_gt(timestamp, self.current_group.last_timestamp): self.current_group.last_timestamp = timestamp self.current_group.size += packet_size self.current_group.arrival_time = arrival_time return deltas def belongs_to_burst(self, timestamp: int, arrival_time: int) -> bool: timestamp_delta = uint32_add(timestamp, -self.current_group.last_timestamp) timestamp_delta_ms = round(self.timestamp_to_ms * timestamp_delta) arrival_time_delta = arrival_time - self.current_group.arrival_time return timestamp_delta_ms == 0 or ( (arrival_time_delta - timestamp_delta_ms) < 0 and arrival_time_delta <= BURST_DELTA_THRESHOLD_MS ) def new_timestamp_group(self, timestamp: int, arrival_time: int) -> bool: if self.belongs_to_burst(timestamp, arrival_time): return False else: timestamp_delta = uint32_add(timestamp, -self.current_group.first_timestamp) return timestamp_delta > self.group_length def packet_out_of_order(self, timestamp: int) -> bool: timestamp_delta = uint32_add(timestamp, -self.current_group.first_timestamp) return timestamp_delta >= 0x80000000 class OveruseDetector: """ Bandwidth overuse detector. Adapted from the webrtc.org codebase. """ def __init__(self) -> None: self.hypothesis = BandwidthUsage.NORMAL self.last_update_ms: Optional[int] = None self.k_up = 0.0087 self.k_down = 0.039 self.overuse_counter = 0 self.overuse_time: Optional[float] = None self.overuse_time_threshold = 10 self.previous_offset = 0.0 self.threshold = 12.5 def detect( self, offset: float, timestamp_delta_ms: float, num_of_deltas: int, now_ms: int ) -> BandwidthUsage: if num_of_deltas < 2: return BandwidthUsage.NORMAL T = min(num_of_deltas, MIN_NUM_DELTAS) * offset if T > self.threshold: if self.overuse_time is None: self.overuse_time = timestamp_delta_ms / 2 else: self.overuse_time += timestamp_delta_ms self.overuse_counter += 1 if ( self.overuse_time > self.overuse_time_threshold and self.overuse_counter > 1 and offset >= self.previous_offset ): self.overuse_counter = 0 self.overuse_time = 0 self.hypothesis = BandwidthUsage.OVERUSING elif T < -self.threshold: self.overuse_counter = 0 self.overuse_time = None self.hypothesis = BandwidthUsage.UNDERUSING else: self.overuse_counter = 0 self.overuse_time = None self.hypothesis = BandwidthUsage.NORMAL self.previous_offset = offset self.update_threshold(T, now_ms) return self.hypothesis def state(self) -> BandwidthUsage: return self.hypothesis def update_threshold(self, modified_offset: float, now_ms: int) -> None: if self.last_update_ms is None: self.last_update_ms = now_ms if abs(modified_offset) > self.threshold + MAX_ADAPT_OFFSET_MS: self.last_update_ms = now_ms return k = self.k_down if abs(modified_offset) < self.threshold else self.k_up time_delta_ms = min(now_ms - self.last_update_ms, 100) self.threshold += k * (abs(modified_offset) - self.threshold) * time_delta_ms self.threshold = max(6, min(self.threshold, 600)) self.last_update_ms = now_ms class OveruseEstimator: """ Bandwidth overuse estimator. Adapted from the webrtc.org codebase. """ def __init__(self) -> None: self.E = [[100.0, 0.0], [0.0, 0.1]] self._num_of_deltas = 0 self._offset = 0.0 self.previous_offset = 0.0 self.slope = 1 / 64 self.ts_delta_hist: List[float] = [] self.avg_noise = 0.0 self.var_noise = 50.0 self.process_noise = [1e-13, 1e-3] def num_of_deltas(self) -> int: return self._num_of_deltas def offset(self) -> float: return self._offset def update( self, time_delta_ms: int, timestamp_delta_ms: float, size_delta: int, current_hypothesis: BandwidthUsage, now_ms: int, ): min_frame_period = self.update_min_frame_period(timestamp_delta_ms) t_ts_delta = time_delta_ms - timestamp_delta_ms fs_delta = size_delta self._num_of_deltas = min(self._num_of_deltas + 1, DELTA_COUNTER_MAX) # update Kalman filter self.E[0][0] += self.process_noise[0] self.E[1][1] += self.process_noise[1] if ( current_hypothesis == BandwidthUsage.OVERUSING and self._offset < self.previous_offset ) or ( current_hypothesis == BandwidthUsage.UNDERUSING and self._offset > self.previous_offset ): self.E[1][1] += 10 * self.process_noise[1] h = [fs_delta, 1.0] Eh = [ self.E[0][0] * h[0] + self.E[0][1] * h[1], self.E[1][0] * h[0] + self.E[1][1] * h[1], ] # update noise estimate residual = t_ts_delta - self.slope * h[0] - self._offset if current_hypothesis == BandwidthUsage.NORMAL: max_residual = 3.0 * math.sqrt(self.var_noise) if abs(residual) < max_residual: self.update_noise_estimate(residual, min_frame_period) else: self.update_noise_estimate( -max_residual if residual < 0 else max_residual, min_frame_period ) denom = self.var_noise + h[0] * Eh[0] + h[1] * Eh[1] K = [Eh[0] / denom, Eh[1] / denom] IKh = [[1.0 - K[0] * h[0], -K[0] * h[1]], [-K[1] * h[0], 1.0 - K[1] * h[1]]] e00 = self.E[0][0] e01 = self.E[0][1] # update state self.E[0][0] = e00 * IKh[0][0] + self.E[1][0] * IKh[0][1] self.E[0][1] = e01 * IKh[0][0] + self.E[1][1] * IKh[0][1] self.E[1][0] = e00 * IKh[1][0] + self.E[1][0] * IKh[1][1] self.E[1][1] = e01 * IKh[1][0] + self.E[1][1] * IKh[1][1] self.previous_offset = self._offset self.slope += K[0] * residual self._offset += K[1] * residual def update_min_frame_period(self, ts_delta: float) -> float: min_frame_period = ts_delta if len(self.ts_delta_hist) >= MIN_FRAME_PERIOD_HISTORY_LENGTH: self.ts_delta_hist.pop(0) for old_ts_delta in self.ts_delta_hist: min_frame_period = min(old_ts_delta, min_frame_period) self.ts_delta_hist.append(ts_delta) return min_frame_period def update_noise_estimate(self, residual: float, ts_delta: float) -> None: alpha = 0.01 if self._num_of_deltas > 10 * 30: alpha = 0.002 beta = pow(1 - alpha, ts_delta * 30.0 / 1000.0) self.avg_noise = beta * self.avg_noise + (1 - beta) * residual self.var_noise = ( beta * self.var_noise + (1 - beta) * (self.avg_noise - residual) ** 2 ) if self.var_noise < 1: self.var_noise = 1 class RateBucket: def __init__(self, count: int = 0, value: int = 0) -> None: self.count = count self.value = value def __eq__(self, other) -> bool: return self.count == other.count and self.value == other.value class RateCounter: """ Rate counter, which stores the amount received in 1ms buckets. """ def __init__(self, window_size: int, scale: int = 8000) -> None: self._origin_index = 0 self._origin_ms: Optional[int] = None self._scale = scale self._window_size = window_size self.reset() def add(self, value: int, now_ms: int) -> None: if self._origin_ms is None: self._origin_ms = now_ms else: self._erase_old(now_ms) index = (self._origin_index + now_ms - self._origin_ms) % self._window_size self._buckets[index].count += 1 self._buckets[index].value += value self._total.count += 1 self._total.value += value def rate(self, now_ms: int) -> Optional[int]: if self._origin_ms is not None: self._erase_old(now_ms) active_window_size = now_ms - self._origin_ms + 1 if self._total.count > 0 and active_window_size > 1: return round(self._scale * self._total.value / active_window_size) return None def reset(self) -> None: self._buckets = [RateBucket() for i in range(self._window_size)] self._origin_index = 0 self._origin_ms = None self._total = RateBucket() def _erase_old(self, now_ms: int) -> None: new_origin_ms = now_ms - self._window_size + 1 while self._origin_ms < new_origin_ms: bucket = self._buckets[self._origin_index] self._total.count -= bucket.count self._total.value -= bucket.value bucket.count = 0 bucket.value = 0 self._origin_index = (self._origin_index + 1) % self._window_size self._origin_ms += 1 class RemoteBitrateEstimator: def __init__(self) -> None: self.incoming_bitrate = RateCounter(1000, 8000) self.incoming_bitrate_initialized = True self.inter_arrival = InterArrival( (TIMESTAMP_GROUP_LENGTH_MS << INTER_ARRIVAL_SHIFT) // 1000, TIMESTAMP_TO_MS ) self.estimator = OveruseEstimator() self.detector = OveruseDetector() self.rate_control = AimdRateControl() self.last_update_ms: Optional[int] = None self.ssrcs: Dict[int, int] = {} def add( self, arrival_time_ms: int, abs_send_time: int, payload_size: int, ssrc: int ) -> Optional[Tuple[int, List[int]]]: timestamp = abs_send_time << 8 update_estimate = False # make note of SSRC self.ssrcs[ssrc] = arrival_time_ms # update incoming bitrate if self.incoming_bitrate.rate(arrival_time_ms) is not None: self.incoming_bitrate_initialized = True elif self.incoming_bitrate_initialized: self.incoming_bitrate.reset() self.incoming_bitrate_initialized = False self.incoming_bitrate.add(payload_size, arrival_time_ms) # calculate inter-arrival deltas deltas = self.inter_arrival.compute_deltas( timestamp, arrival_time_ms, payload_size ) if deltas is not None: timestamp_delta_ms = deltas.timestamp * TIMESTAMP_TO_MS self.estimator.update( deltas.arrival_time, timestamp_delta_ms, deltas.size, self.detector.state(), arrival_time_ms, ) self.detector.detect( self.estimator.offset(), timestamp_delta_ms, self.estimator.num_of_deltas(), arrival_time_ms, ) if not update_estimate: if ( self.last_update_ms is None or (arrival_time_ms - self.last_update_ms) > self.rate_control.feedback_interval() ): update_estimate = True elif self.detector.state() == BandwidthUsage.OVERUSING: update_estimate = True if update_estimate: target_bitrate = self.rate_control.update( self.detector.state(), self.incoming_bitrate.rate(arrival_time_ms), arrival_time_ms, ) if target_bitrate is not None: self.last_update_ms = arrival_time_ms return target_bitrate, list(self.ssrcs.keys()) return None aiortc-1.11.0/src/aiortc/rtcconfiguration.py000066400000000000000000000020201477147103300210560ustar00rootroot00000000000000from dataclasses import dataclass from typing import List, Optional @dataclass class RTCIceServer: """ The :class:`RTCIceServer` dictionary defines how to connect to a single STUN or TURN server. It includes both the URL and the necessary credentials, if any, to connect to the server. """ urls: str """ This required property is either a single string or a list of strings, each specifying a URL which can be used to connect to the server. """ username: Optional[str] = None "The username to use during authentication (for TURN only)." credential: Optional[str] = None "The credential to use during authentication (for TURN only)." credentialType: str = "password" @dataclass class RTCConfiguration: """ The :class:`RTCConfiguration` dictionary is used to provide configuration options for an :class:`RTCPeerConnection`. """ iceServers: Optional[List[RTCIceServer]] = None "A list of :class:`RTCIceServer` objects to configure STUN / TURN servers." aiortc-1.11.0/src/aiortc/rtcdatachannel.py000066400000000000000000000145601477147103300204650ustar00rootroot00000000000000import logging from dataclasses import dataclass from typing import Optional, Union from pyee.asyncio import AsyncIOEventEmitter from .exceptions import InvalidStateError logger = logging.getLogger(__name__) @dataclass class RTCDataChannelParameters: """ The :class:`RTCDataChannelParameters` dictionary describes the configuration of an :class:`RTCDataChannel`. """ label: str = "" "A name describing the data channel." maxPacketLifeTime: Optional[int] = None "The maximum time in milliseconds during which transmissions are attempted." maxRetransmits: Optional[int] = None "The maximum number of retransmissions that are attempted." ordered: bool = True "Whether the data channel guarantees in-order delivery of messages." protocol: str = "" "The name of the subprotocol in use." negotiated: bool = False """ Whether data channel will be negotiated out of-band, where both sides create data channel with an agreed-upon ID.""" id: Optional[int] = None """ An numeric ID for the channel; permitted values are 0-65534. If you don't include this option, the user agent will select an ID for you. Must be set when negotiating out-of-band. """ class RTCDataChannel(AsyncIOEventEmitter): """ The :class:`RTCDataChannel` interface represents a network channel which can be used for bidirectional peer-to-peer transfers of arbitrary data. :param transport: An :class:`RTCSctpTransport`. :param parameters: An :class:`RTCDataChannelParameters`. """ def __init__( self, transport, parameters: RTCDataChannelParameters, send_open: bool = True ) -> None: super().__init__() self.__bufferedAmount = 0 self.__bufferedAmountLowThreshold = 0 self.__id = parameters.id self.__parameters = parameters self.__readyState = "connecting" self.__transport = transport self.__send_open = send_open if self.__parameters.negotiated and ( self.__id is None or self.__id < 0 or self.__id > 65534 ): raise ValueError( "ID must be in range 0-65534 if data channel is negotiated out-of-band" ) if not self.__parameters.negotiated: if self.__send_open: self.__send_open = False self.__transport._data_channel_open(self) else: self.__transport._data_channel_add_negotiated(self) @property def bufferedAmount(self) -> int: """ The number of bytes of data currently queued to be sent over the data channel. """ return self.__bufferedAmount @property def bufferedAmountLowThreshold(self) -> int: """ The number of bytes of buffered outgoing data that is considered "low". """ return self.__bufferedAmountLowThreshold @bufferedAmountLowThreshold.setter def bufferedAmountLowThreshold(self, value: int) -> None: if value < 0 or value > 4294967295: raise ValueError( "bufferedAmountLowThreshold must be in range 0 - 4294967295" ) self.__bufferedAmountLowThreshold = value @property def negotiated(self) -> bool: """ Whether data channel was negotiated out-of-band. """ return self.__parameters.negotiated @property def id(self) -> Optional[int]: """ An ID number which uniquely identifies the data channel. """ return self.__id @property def label(self) -> str: """ A name describing the data channel. These labels are not required to be unique. """ return self.__parameters.label @property def ordered(self) -> bool: """ Indicates whether or not the data channel guarantees in-order delivery of messages. """ return self.__parameters.ordered @property def maxPacketLifeTime(self) -> Optional[int]: """ The maximum time in milliseconds during which transmissions are attempted. """ return self.__parameters.maxPacketLifeTime @property def maxRetransmits(self) -> Optional[int]: """ "The maximum number of retransmissions that are attempted. """ return self.__parameters.maxRetransmits @property def protocol(self) -> str: """ The name of the subprotocol in use. """ return self.__parameters.protocol @property def readyState(self) -> str: """ A string indicating the current state of the underlying data transport. """ return self.__readyState @property def transport(self): """ The :class:`RTCSctpTransport` over which data is transmitted. """ return self.__transport def close(self) -> None: """ Close the data channel. """ self.transport._data_channel_close(self) def send(self, data: Union[bytes, str]) -> None: """ Send `data` across the data channel to the remote peer. """ if self.readyState != "open": raise InvalidStateError if not isinstance(data, (str, bytes)): raise ValueError(f"Cannot send unsupported data type: {type(data)}") self.transport._data_channel_send(self, data) def _addBufferedAmount(self, amount: int) -> None: crosses_threshold = ( self.__bufferedAmount > self.bufferedAmountLowThreshold and self.__bufferedAmount + amount <= self.bufferedAmountLowThreshold ) self.__bufferedAmount += amount if crosses_threshold: self.emit("bufferedamountlow") def _setId(self, id: int) -> None: self.__id = id def _setReadyState(self, state: str) -> None: if state != self.__readyState: self.__log_debug("- %s -> %s", self.__readyState, state) self.__readyState = state if state == "open": self.emit("open") elif state == "closed": self.emit("close") # no more events will be emitted, so remove all event listeners # to facilitate garbage collection. self.remove_all_listeners() def __log_debug(self, msg: str, *args) -> None: logger.debug(f"RTCDataChannel(%s) {msg}", self.__id, *args) aiortc-1.11.0/src/aiortc/rtcdtlstransport.py000066400000000000000000000563101477147103300211450ustar00rootroot00000000000000import asyncio import binascii import datetime import enum import logging import os import traceback from dataclasses import dataclass, field from typing import Any, Dict, List, Optional, Set, Type, TypeVar import pylibsrtp from cryptography import x509 from cryptography.hazmat.backends import default_backend from cryptography.hazmat.primitives import hashes from cryptography.hazmat.primitives.asymmetric import ec from OpenSSL import SSL from pyee.asyncio import AsyncIOEventEmitter from pylibsrtp import Policy, Session from . import clock, rtp from .rtcicetransport import RTCIceTransport from .rtcrtpparameters import RTCRtpReceiveParameters, RTCRtpSendParameters from .rtp import ( AnyRtcpPacket, RtcpByePacket, RtcpPacket, RtcpPsfbPacket, RtcpRrPacket, RtcpRtpfbPacket, RtcpSrPacket, RtpPacket, is_rtcp, ) from .stats import RTCStatsReport, RTCTransportStats CERTIFICATE_T = TypeVar("CERTIFICATE_T", bound="RTCCertificate") logger = logging.getLogger(__name__) # Mapping of supported `RTCDtlsFingerprint` algorithms to the # corresponding argument for `x509.Certificate.fingerprint`. X509_DIGEST_ALGORITHMS = { "sha-256": hashes.SHA256(), "sha-384": hashes.SHA384(), "sha-512": hashes.SHA512(), } @dataclass(frozen=True) class SRTPProtectionProfile: libsrtp_profile: int openssl_profile: bytes key_length: int salt_length: int def get_key_and_salt(self, src: bytes, idx: int) -> bytes: key_start = idx * self.key_length salt_start = 2 * self.key_length + idx * self.salt_length return ( src[key_start : key_start + self.key_length] + src[salt_start : salt_start + self.salt_length] ) SRTP_AEAD_AES_256_GCM = SRTPProtectionProfile( libsrtp_profile=Policy.SRTP_PROFILE_AEAD_AES_256_GCM, openssl_profile=b"SRTP_AEAD_AES_256_GCM", key_length=32, salt_length=12, ) SRTP_AEAD_AES_128_GCM = SRTPProtectionProfile( libsrtp_profile=Policy.SRTP_PROFILE_AEAD_AES_128_GCM, openssl_profile=b"SRTP_AEAD_AES_128_GCM", key_length=16, salt_length=12, ) SRTP_AES128_CM_SHA1_80 = SRTPProtectionProfile( libsrtp_profile=Policy.SRTP_PROFILE_AES128_CM_SHA1_80, openssl_profile=b"SRTP_AES128_CM_SHA1_80", key_length=16, salt_length=14, ) # AES-GCM may not be available depending on how libsrtp2 was built. SRTP_PROFILES: List[SRTPProtectionProfile] = [] for srtp_profile in [ SRTP_AEAD_AES_256_GCM, SRTP_AEAD_AES_128_GCM, SRTP_AES128_CM_SHA1_80, ]: try: Policy(srtp_profile=srtp_profile.libsrtp_profile) except pylibsrtp.Error: # pragma: no cover pass else: SRTP_PROFILES.append(srtp_profile) def certificate_digest(certificate: x509.Certificate, algorithm: str) -> str: hexstring = certificate.fingerprint(X509_DIGEST_ALGORITHMS[algorithm]).hex().upper() return ":".join(hexstring[x : x + 2] for x in range(0, len(hexstring), 2)) def generate_certificate(key: ec.EllipticCurvePrivateKey) -> x509.Certificate: name = x509.Name( [ x509.NameAttribute( x509.NameOID.COMMON_NAME, binascii.hexlify(os.urandom(16)).decode("ascii"), ) ] ) now = datetime.datetime.now(tz=datetime.timezone.utc) builder = ( x509.CertificateBuilder() .subject_name(name) .issuer_name(name) .public_key(key.public_key()) .serial_number(x509.random_serial_number()) .not_valid_before(now - datetime.timedelta(days=1)) .not_valid_after(now + datetime.timedelta(days=30)) ) return builder.sign(key, hashes.SHA256(), default_backend()) class State(enum.Enum): NEW = 0 CONNECTING = 1 CONNECTED = 2 CLOSED = 3 FAILED = 4 @dataclass class RTCDtlsFingerprint: """ The :class:`RTCDtlsFingerprint` dictionary includes the hash function algorithm and certificate fingerprint. """ algorithm: str "The hash function name, for instance `'sha-256'`." value: str "The fingerprint value." class RTCCertificate: """ The :class:`RTCCertificate` interface enables the certificates used by an :class:`RTCDtlsTransport`. To generate a certificate and the corresponding private key use :func:`generateCertificate`. """ def __init__(self, key: ec.EllipticCurvePrivateKey, cert: x509.Certificate) -> None: self._key = key self._cert = cert @property def expires(self) -> datetime.datetime: """ The date and time after which the certificate will be considered invalid. """ return self._cert.not_valid_after_utc def getFingerprints(self) -> List[RTCDtlsFingerprint]: """ Returns the list of certificate fingerprints, one of which is computed with the digest algorithm used in the certificate signature. """ return [ RTCDtlsFingerprint( algorithm=algorithm, value=certificate_digest(self._cert, algorithm), ) for algorithm in X509_DIGEST_ALGORITHMS.keys() ] @classmethod def generateCertificate(cls: Type[CERTIFICATE_T]) -> CERTIFICATE_T: """ Create and return an X.509 certificate and corresponding private key. :rtype: RTCCertificate """ key = ec.generate_private_key(ec.SECP256R1(), default_backend()) cert = generate_certificate(key) return cls(key=key, cert=cert) def _create_ssl_context( self, srtp_profiles: List[SRTPProtectionProfile] ) -> SSL.Context: ctx = SSL.Context(SSL.DTLS_METHOD) ctx.set_verify( SSL.VERIFY_PEER | SSL.VERIFY_FAIL_IF_NO_PEER_CERT, lambda *args: True ) ctx.use_certificate(self._cert) ctx.use_privatekey(self._key) ctx.set_cipher_list( b"ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA" ) ctx.set_tlsext_use_srtp(b":".join(x.openssl_profile for x in srtp_profiles)) return ctx @dataclass class RTCDtlsParameters: """ The :class:`RTCDtlsParameters` dictionary includes information relating to DTLS configuration. """ fingerprints: List[RTCDtlsFingerprint] = field(default_factory=list) "List of :class:`RTCDtlsFingerprint`, one fingerprint for each certificate." role: str = "auto" "The DTLS role, with a default of auto." class RtpRouter: """ Router to associate RTP/RTCP packets with streams. https://tools.ietf.org/html/draft-ietf-mmusic-sdp-bundle-negotiation-53 """ def __init__(self) -> None: self.receivers: Set = set() self.senders: Dict[int, Any] = {} self.mid_table: Dict[str, Any] = {} self.ssrc_table: Dict[int, Any] = {} self.payload_type_table: Dict[int, Set] = {} def register_receiver( self, receiver, ssrcs: List[int], payload_types: List[int], mid: Optional[str] = None, ): self.receivers.add(receiver) if mid is not None: self.mid_table[mid] = receiver for ssrc in ssrcs: self.ssrc_table[ssrc] = receiver for payload_type in payload_types: if payload_type not in self.payload_type_table: self.payload_type_table[payload_type] = set() self.payload_type_table[payload_type].add(receiver) def register_sender(self, sender, ssrc: int) -> None: self.senders[ssrc] = sender def route_rtcp(self, packet: AnyRtcpPacket) -> Set: recipients = set() def add_recipient(recipient) -> None: if recipient is not None: recipients.add(recipient) # route to RTP receiver if isinstance(packet, RtcpSrPacket): add_recipient(self.ssrc_table.get(packet.ssrc)) elif isinstance(packet, RtcpByePacket): for source in packet.sources: add_recipient(self.ssrc_table.get(source)) # route to RTP sender if isinstance(packet, (RtcpRrPacket, RtcpSrPacket)): for report in packet.reports: add_recipient(self.senders.get(report.ssrc)) elif isinstance(packet, (RtcpPsfbPacket, RtcpRtpfbPacket)): add_recipient(self.senders.get(packet.media_ssrc)) # for REMB packets, media_ssrc is always 0, we need to look into the FCI if isinstance(packet, RtcpPsfbPacket) and packet.fmt == rtp.RTCP_PSFB_APP: try: for ssrc in rtp.unpack_remb_fci(packet.fci)[1]: add_recipient(self.senders.get(ssrc)) except ValueError: pass return recipients def route_rtp(self, packet: RtpPacket) -> Optional[Any]: ssrc_receiver = self.ssrc_table.get(packet.ssrc) pt_receivers = self.payload_type_table.get(packet.payload_type, set()) # the SSRC and payload type are known and match if ssrc_receiver is not None and ssrc_receiver in pt_receivers: return ssrc_receiver # the SSRC is unknown but the payload type matches, update the SSRC table if ssrc_receiver is None and len(pt_receivers) == 1: pt_receiver = list(pt_receivers)[0] self.ssrc_table[packet.ssrc] = pt_receiver return pt_receiver # discard the packet return None def unregister_receiver(self, receiver) -> None: self.receivers.discard(receiver) self.__discard(self.mid_table, receiver) self.__discard(self.ssrc_table, receiver) for pt, receivers in self.payload_type_table.items(): receivers.discard(receiver) def unregister_sender(self, sender) -> None: self.__discard(self.senders, sender) def __discard(self, d: Dict, value: Any) -> None: for k, v in list(d.items()): if v == value: d.pop(k) class RTCDtlsTransport(AsyncIOEventEmitter): """ The :class:`RTCDtlsTransport` object includes information relating to Datagram Transport Layer Security (DTLS) transport. :param transport: An :class:`RTCIceTransport`. :param certificates: A list of :class:`RTCCertificate` (only one is allowed currently). """ def __init__( self, transport: RTCIceTransport, certificates: List[RTCCertificate] ) -> None: assert len(certificates) == 1 certificate = certificates[0] super().__init__() self.encrypted = False self._data_receiver = None self._role = "auto" self._rtp_header_extensions_map = rtp.HeaderExtensionsMap() self._rtp_router = RtpRouter() self._state = State.NEW self._stats_id = "transport_" + str(id(self)) self._task: Optional[asyncio.Future[None]] = None self._transport = transport # counters self.__rx_bytes = 0 self.__rx_packets = 0 self.__tx_bytes = 0 self.__tx_packets = 0 # SRTP self._rx_srtp: Session = None self._tx_srtp: Session = None # SSL self._srtp_profiles = SRTP_PROFILES self._ssl: Optional[SSL.Connection] = None self.__local_certificate = certificate @property def state(self) -> str: """ The current state of the DTLS transport. One of `'new'`, `'connecting'`, `'connected'`, `'closed'` or `'failed'`. """ return str(self._state)[6:].lower() @property def transport(self): """ The associated :class:`RTCIceTransport` instance. """ return self._transport def getLocalParameters(self) -> RTCDtlsParameters: """ Get the local parameters of the DTLS transport. :rtype: :class:`RTCDtlsParameters` """ return RTCDtlsParameters( fingerprints=self.__local_certificate.getFingerprints() ) async def start(self, remoteParameters: RTCDtlsParameters) -> None: """ Start DTLS transport negotiation with the parameters of the remote DTLS transport. :param remoteParameters: An :class:`RTCDtlsParameters`. """ assert self._state == State.NEW assert len(remoteParameters.fingerprints) # For WebRTC, the DTLS role is explicitly determined as part of the # offer / answer exchange. # # For ORTC however, we determine the DTLS role based on the ICE role. if self._role == "auto": if self.transport.role == "controlling": self._set_role("server") else: self._set_role("client") # Initialise SSL. self._ssl = SSL.Connection( self.__local_certificate._create_ssl_context( srtp_profiles=self._srtp_profiles ) ) if self._role == "server": self._ssl.set_accept_state() else: self._ssl.set_connect_state() self._set_state(State.CONNECTING) try: while not self.encrypted: try: self._ssl.do_handshake() except SSL.WantReadError: await self._write_ssl() await self._recv_next() except SSL.Error as exc: self.__log_debug("x DTLS handshake failed (error %s)", exc) self._set_state(State.FAILED) return else: self.encrypted = True except ConnectionError: self.__log_debug("x DTLS handshake failed (connection error)") self._set_state(State.FAILED) return # Check remote fingerprints. There must be at least one fingerprint # with a supported algorithm, and all supported fingerprints must # match. certificate = self._ssl.get_peer_certificate(as_cryptography=True) fingerprint_supported = 0 fingerprint_valid = 0 for f in remoteParameters.fingerprints: algorithm = f.algorithm.lower() if algorithm in X509_DIGEST_ALGORITHMS: fingerprint_supported += 1 if f.value.upper() == certificate_digest(certificate, algorithm): fingerprint_valid += 1 if not fingerprint_supported or fingerprint_valid != fingerprint_supported: self.__log_debug("x DTLS handshake failed (fingerprint mismatch)") self._set_state(State.FAILED) return # generate keying material openssl_profile = self._ssl.get_selected_srtp_profile() for srtp_profile in self._srtp_profiles: if srtp_profile.openssl_profile == openssl_profile: self.__log_debug( "x DTLS handshake negotiated %s", srtp_profile.openssl_profile.decode(), ) break else: self.__log_debug("x DTLS handshake failed (no SRTP profile negotiated)") self._set_state(State.FAILED) return view = self._ssl.export_keying_material( b"EXTRACTOR-dtls_srtp", 2 * (srtp_profile.key_length + srtp_profile.salt_length), ) if self._role == "server": srtp_tx_key = srtp_profile.get_key_and_salt(view, 1) srtp_rx_key = srtp_profile.get_key_and_salt(view, 0) else: srtp_tx_key = srtp_profile.get_key_and_salt(view, 0) srtp_rx_key = srtp_profile.get_key_and_salt(view, 1) rx_policy = Policy( key=srtp_rx_key, ssrc_type=Policy.SSRC_ANY_INBOUND, srtp_profile=srtp_profile.libsrtp_profile, ) rx_policy.allow_repeat_tx = True rx_policy.window_size = 1024 self._rx_srtp = Session(rx_policy) tx_policy = Policy( key=srtp_tx_key, ssrc_type=Policy.SSRC_ANY_OUTBOUND, srtp_profile=srtp_profile.libsrtp_profile, ) tx_policy.allow_repeat_tx = True tx_policy.window_size = 1024 self._tx_srtp = Session(tx_policy) # start data pump self.__log_debug("- DTLS handshake complete") self._set_state(State.CONNECTED) self._task = asyncio.ensure_future(self.__run()) async def stop(self) -> None: """ Stop and close the DTLS transport. """ if self._task is not None: self._task.cancel() self._task = None if self._ssl and self._state in [State.CONNECTING, State.CONNECTED]: try: self._ssl.shutdown() except SSL.Error: pass try: await self._write_ssl() except ConnectionError: pass self.__log_debug("- DTLS shutdown complete") async def __run(self) -> None: try: while True: await self._recv_next() except ConnectionError: for receiver in self._rtp_router.receivers: receiver._handle_disconnect() except Exception as exc: if not isinstance(exc, asyncio.CancelledError): self.__log_warning(traceback.format_exc()) raise exc finally: self._set_state(State.CLOSED) def _get_stats(self) -> RTCStatsReport: report = RTCStatsReport() report.add( RTCTransportStats( # RTCStats timestamp=clock.current_datetime(), type="transport", id=self._stats_id, # RTCTransportStats, packetsSent=self.__tx_packets, packetsReceived=self.__rx_packets, bytesSent=self.__tx_bytes, bytesReceived=self.__rx_bytes, iceRole=self.transport.role, dtlsState=self.state, ) ) return report async def _handle_rtcp_data(self, data: bytes) -> None: try: packets = RtcpPacket.parse(data) except ValueError as exc: self.__log_debug("x RTCP parsing failed: %s", exc) return for packet in packets: # route RTCP packet for recipient in self._rtp_router.route_rtcp(packet): await recipient._handle_rtcp_packet(packet) async def _handle_rtp_data(self, data: bytes, arrival_time_ms: int) -> None: try: packet = RtpPacket.parse(data, self._rtp_header_extensions_map) except ValueError as exc: self.__log_debug("x RTP parsing failed: %s", exc) return # route RTP packet receiver = self._rtp_router.route_rtp(packet) if receiver is not None: await receiver._handle_rtp_packet(packet, arrival_time_ms=arrival_time_ms) async def _recv_next(self) -> None: # get timeout timeout = None if not self.encrypted: timeout = self._ssl.DTLSv1_get_timeout() # receive next datagram if timeout is not None: try: data = await asyncio.wait_for(self.transport._recv(), timeout=timeout) except asyncio.TimeoutError: self.__log_debug("x DTLS handling timeout") self._ssl.DTLSv1_handle_timeout() await self._write_ssl() return else: data = await self.transport._recv() self.__rx_bytes += len(data) self.__rx_packets += 1 first_byte = data[0] if first_byte > 19 and first_byte < 64: # DTLS self._ssl.bio_write(data) try: data = self._ssl.recv(1500) except SSL.ZeroReturnError: data = None except SSL.Error: data = b"" await self._write_ssl() if data is None: self.__log_debug("- DTLS shutdown by remote party") raise ConnectionError elif data and self._data_receiver: await self._data_receiver._handle_data(data) elif first_byte > 127 and first_byte < 192 and self._rx_srtp: # SRTP / SRTCP arrival_time_ms = clock.current_ms() try: if is_rtcp(data): data = self._rx_srtp.unprotect_rtcp(data) await self._handle_rtcp_data(data) else: data = self._rx_srtp.unprotect(data) await self._handle_rtp_data(data, arrival_time_ms=arrival_time_ms) except pylibsrtp.Error as exc: self.__log_debug("x SRTP unprotect failed: %s", exc) def _register_data_receiver(self, receiver) -> None: assert self._data_receiver is None self._data_receiver = receiver def _register_rtp_receiver( self, receiver, parameters: RTCRtpReceiveParameters ) -> None: ssrcs = set() for encoding in parameters.encodings: ssrcs.add(encoding.ssrc) self._rtp_header_extensions_map.configure(parameters) self._rtp_router.register_receiver( receiver, ssrcs=list(ssrcs), payload_types=[codec.payloadType for codec in parameters.codecs], mid=parameters.muxId, ) def _register_rtp_sender(self, sender, parameters: RTCRtpSendParameters) -> None: self._rtp_header_extensions_map.configure(parameters) self._rtp_router.register_sender(sender, ssrc=sender._ssrc) async def _send_data(self, data: bytes) -> None: if self._state != State.CONNECTED: raise ConnectionError("Cannot send encrypted data, not connected") self._ssl.send(data) await self._write_ssl() async def _send_rtp(self, data: bytes) -> None: if self._state != State.CONNECTED: raise ConnectionError("Cannot send encrypted RTP, not connected") if is_rtcp(data): data = self._tx_srtp.protect_rtcp(data) else: data = self._tx_srtp.protect(data) await self.transport._send(data) self.__tx_bytes += len(data) self.__tx_packets += 1 def _set_role(self, role: str) -> None: self._role = role def _set_state(self, state: State) -> None: if state != self._state: self.__log_debug("- %s -> %s", self._state, state) self._state = state self.emit("statechange") def _unregister_data_receiver(self, receiver) -> None: if self._data_receiver == receiver: self._data_receiver = None def _unregister_rtp_receiver(self, receiver) -> None: self._rtp_router.unregister_receiver(receiver) def _unregister_rtp_sender(self, sender) -> None: self._rtp_router.unregister_sender(sender) async def _write_ssl(self) -> None: """ Flush outgoing data which OpenSSL put in our BIO to the transport. """ try: data = self._ssl.bio_read(1500) except SSL.Error: data = b"" if data: await self.transport._send(data) self.__tx_bytes += len(data) self.__tx_packets += 1 def __log_debug(self, msg: str, *args) -> None: logger.debug(f"RTCDtlsTransport(%s) {msg}", self._role, *args) def __log_warning(self, msg: str, *args) -> None: logger.warning(f"RTCDtlsTransport(%s) {msg}", self._role, *args) aiortc-1.11.0/src/aiortc/rtcicetransport.py000066400000000000000000000262371477147103300207440ustar00rootroot00000000000000import asyncio import logging import re from dataclasses import dataclass from typing import Any, Dict, List, Optional from aioice import Candidate, Connection, ConnectionClosed from pyee.asyncio import AsyncIOEventEmitter from .exceptions import InvalidStateError from .rtcconfiguration import RTCIceServer STUN_REGEX = re.compile( r"(?Pstun|stuns)\:(?P[^?:]+)(\:(?P[0-9]+?))?" # RFC 7064 does not define a "transport" option but some providers # include it, so just ignore it r"(\?transport=.*)?" ) TURN_REGEX = re.compile( r"(?Pturn|turns)\:(?P[^?:]+)(\:(?P[0-9]+?))?" r"(\?transport=(?P.*))?" ) logger = logging.getLogger(__name__) @dataclass class RTCIceCandidate: """ The :class:`RTCIceCandidate` interface represents a candidate Interactive Connectivity Establishment (ICE) configuration which may be used to establish an RTCPeerConnection. """ component: int foundation: str ip: str port: int priority: int protocol: str type: str relatedAddress: Optional[str] = None relatedPort: Optional[int] = None sdpMid: Optional[str] = None sdpMLineIndex: Optional[int] = None tcpType: Optional[str] = None @dataclass class RTCIceParameters: """ The :class:`RTCIceParameters` dictionary includes the ICE username fragment and password and other ICE-related parameters. """ usernameFragment: Optional[str] = None "ICE username fragment." password: Optional[str] = None "ICE password." iceLite: bool = False def candidate_from_aioice(x: Candidate) -> RTCIceCandidate: return RTCIceCandidate( component=x.component, foundation=x.foundation, ip=x.host, port=x.port, priority=x.priority, protocol=x.transport, relatedAddress=x.related_address, relatedPort=x.related_port, tcpType=x.tcptype, type=x.type, ) def candidate_to_aioice(x: RTCIceCandidate) -> Candidate: return Candidate( component=x.component, foundation=x.foundation, host=x.ip, port=x.port, priority=x.priority, related_address=x.relatedAddress, related_port=x.relatedPort, transport=x.protocol, tcptype=x.tcpType, type=x.type, ) def connection_kwargs(servers: List[RTCIceServer]) -> Dict[str, Any]: kwargs: Dict[str, Any] = {} for server in servers: if isinstance(server.urls, list): uris = server.urls else: uris = [server.urls] for uri in uris: parsed = parse_stun_turn_uri(uri) if parsed["scheme"] == "stun": # only a single STUN server is supported if "stun_server" in kwargs: continue kwargs["stun_server"] = (parsed["host"], parsed["port"]) elif parsed["scheme"] in ["turn", "turns"]: # only a single TURN server is supported if "turn_server" in kwargs: continue # only 'udp' and 'tcp' transports are supported if parsed["scheme"] == "turn" and parsed["transport"] not in [ "udp", "tcp", ]: continue elif parsed["scheme"] == "turns" and parsed["transport"] != "tcp": continue # only 'password' credentialType is supported if server.credentialType != "password": continue kwargs["turn_server"] = (parsed["host"], parsed["port"]) kwargs["turn_ssl"] = parsed["scheme"] == "turns" kwargs["turn_transport"] = parsed["transport"] kwargs["turn_username"] = server.username kwargs["turn_password"] = server.credential return kwargs def parse_stun_turn_uri(uri: str) -> Dict[str, Any]: if uri.startswith("stun"): match = STUN_REGEX.fullmatch(uri) elif uri.startswith("turn"): match = TURN_REGEX.fullmatch(uri) else: raise ValueError("malformed uri: invalid scheme") if not match: raise ValueError("malformed uri") # set port parsed: Dict[str, Any] = match.groupdict() if parsed["port"]: parsed["port"] = int(parsed["port"]) elif parsed["scheme"] in ["stuns", "turns"]: parsed["port"] = 5349 else: parsed["port"] = 3478 # set transport if parsed["scheme"] == "turn" and not parsed["transport"]: parsed["transport"] = "udp" elif parsed["scheme"] == "turns" and not parsed["transport"]: parsed["transport"] = "tcp" return parsed class RTCIceGatherer(AsyncIOEventEmitter): """ The :class:`RTCIceGatherer` interface gathers local host, server reflexive and relay candidates, as well as enabling the retrieval of local Interactive Connectivity Establishment (ICE) parameters which can be exchanged in signaling. """ def __init__(self, iceServers: Optional[List[RTCIceServer]] = None) -> None: super().__init__() if iceServers is None: iceServers = self.getDefaultIceServers() ice_kwargs = connection_kwargs(iceServers) self._connection = Connection(ice_controlling=False, **ice_kwargs) self._remote_candidates_end = False self.__state = "new" @property def state(self) -> str: """ The current state of the ICE gatherer. """ return self.__state async def gather(self) -> None: """ Gather ICE candidates. """ if self.__state == "new": self.__setState("gathering") await self._connection.gather_candidates() self.__setState("completed") @classmethod def getDefaultIceServers(cls) -> List[RTCIceServer]: """ Return the list of default :class:`RTCIceServer`. """ return [RTCIceServer("stun:stun.l.google.com:19302")] def getLocalCandidates(self) -> List[RTCIceCandidate]: """ Retrieve the list of valid local candidates associated with the ICE gatherer. """ return [candidate_from_aioice(x) for x in self._connection.local_candidates] def getLocalParameters(self) -> RTCIceParameters: """ Retrieve the ICE parameters of the ICE gatherer. :rtype: RTCIceParameters """ return RTCIceParameters( usernameFragment=self._connection.local_username, password=self._connection.local_password, ) def __setState(self, state: str) -> None: self.__state = state self.emit("statechange") class RTCIceTransport(AsyncIOEventEmitter): """ The :class:`RTCIceTransport` interface allows an application access to information about the Interactive Connectivity Establishment (ICE) transport over which packets are sent and received. :param gatherer: An :class:`RTCIceGatherer`. """ def __init__(self, gatherer: RTCIceGatherer) -> None: super().__init__() self.__iceGatherer = gatherer self.__monitor_task: Optional[asyncio.Future[None]] = None self.__start: Optional[asyncio.Event] = None self.__state = "new" self._connection = gatherer._connection self._role_set = False # expose recv / send methods self._recv = self._connection.recv self._send = self._connection.send @property def iceGatherer(self) -> RTCIceGatherer: """ The ICE gatherer passed in the constructor. """ return self.__iceGatherer @property def role(self) -> str: """ The current role of the ICE transport. Either `'controlling'` or `'controlled'`. """ if self._connection.ice_controlling: return "controlling" else: return "controlled" @property def state(self) -> str: """ The current state of the ICE transport. """ return self.__state async def addRemoteCandidate(self, candidate: Optional[RTCIceCandidate]) -> None: """ Add a remote candidate. :param candidate: The new candidate or `None` to signal end of candidates. """ if not self.__iceGatherer._remote_candidates_end: if candidate is None: self.__iceGatherer._remote_candidates_end = True await self._connection.add_remote_candidate(None) else: await self._connection.add_remote_candidate( candidate_to_aioice(candidate) ) def getRemoteCandidates(self) -> List[RTCIceCandidate]: """ Retrieve the list of candidates associated with the remote :class:`RTCIceTransport`. """ return [candidate_from_aioice(x) for x in self._connection.remote_candidates] async def start(self, remoteParameters: RTCIceParameters) -> None: """ Initiate connectivity checks. :param remoteParameters: The :class:`RTCIceParameters` associated with the remote :class:`RTCIceTransport`. """ if self.state == "closed": raise InvalidStateError("RTCIceTransport is closed") # handle the case where start is already in progress if self.__start is not None: await self.__start.wait() return self.__start = asyncio.Event() self.__monitor_task = asyncio.ensure_future(self._monitor()) self.__setState("checking") self._connection.remote_is_lite = remoteParameters.iceLite self._connection.remote_username = remoteParameters.usernameFragment self._connection.remote_password = remoteParameters.password try: await self._connection.connect() except ConnectionError: self.__setState("failed") else: self.__setState("completed") self.__start.set() async def stop(self) -> None: """ Irreversibly stop the :class:`RTCIceTransport`. """ if self.state != "closed": self.__setState("closed") await self._connection.close() if self.__monitor_task is not None: await self.__monitor_task self.__monitor_task = None async def _monitor(self) -> None: while True: event = await self._connection.get_event() if isinstance(event, ConnectionClosed): if self.state == "completed": self.__setState("failed") return def __log_debug(self, msg: str, *args) -> None: logger.debug(f"RTCIceTransport(%s) {msg}", self.role, *args) def __setState(self, state: str) -> None: if state != self.__state: self.__log_debug("- %s -> %s", self.__state, state) self.__state = state self.emit("statechange") # no more events will be emitted, so remove all event listeners # to facilitate garbage collection. if state == "closed": self.iceGatherer.remove_all_listeners() self.remove_all_listeners() aiortc-1.11.0/src/aiortc/rtcpeerconnection.py000066400000000000000000001371711477147103300212420ustar00rootroot00000000000000import asyncio import copy import logging import uuid from typing import Dict, List, Optional, Set, Union from pyee.asyncio import AsyncIOEventEmitter from . import clock, rtp, sdp from .codecs import CODECS, HEADER_EXTENSIONS, is_rtx from .events import RTCTrackEvent from .exceptions import ( InternalError, InvalidAccessError, InvalidStateError, OperationError, ) from .mediastreams import MediaStreamTrack from .rtcconfiguration import RTCConfiguration from .rtcdatachannel import RTCDataChannel, RTCDataChannelParameters from .rtcdtlstransport import RTCCertificate, RTCDtlsParameters, RTCDtlsTransport from .rtcicetransport import ( RTCIceCandidate, RTCIceGatherer, RTCIceParameters, RTCIceTransport, ) from .rtcrtpparameters import ( RTCRtpCodecCapability, RTCRtpCodecParameters, RTCRtpDecodingParameters, RTCRtpHeaderExtensionParameters, RTCRtpParameters, RTCRtpReceiveParameters, RTCRtpRtxParameters, RTCRtpSendParameters, ) from .rtcrtpreceiver import RemoteStreamTrack, RTCRtpReceiver from .rtcrtpsender import RTCRtpSender from .rtcrtptransceiver import RTCRtpTransceiver from .rtcsctptransport import RTCSctpTransport from .rtcsessiondescription import RTCSessionDescription from .stats import RTCStatsReport DISCARD_HOST = "0.0.0.0" DISCARD_PORT = 9 MEDIA_KINDS = ["audio", "video"] logger = logging.getLogger(__name__) def filter_preferred_codecs( codecs: List[RTCRtpCodecParameters], preferred: List[RTCRtpCodecCapability] ) -> List[RTCRtpCodecParameters]: if not preferred: return codecs rtx_codecs = list(filter(is_rtx, codecs)) rtx_enabled = next(filter(is_rtx, preferred), None) is not None filtered = [] for pref in filter(lambda x: not is_rtx(x), preferred): for codec in codecs: if ( codec.mimeType.lower() == pref.mimeType.lower() and codec.parameters == pref.parameters ): filtered.append(codec) # add corresponding RTX if rtx_enabled: for rtx in rtx_codecs: if rtx.parameters["apt"] == codec.payloadType: filtered.append(rtx) break break return filtered def find_common_codecs( local_codecs: List[RTCRtpCodecParameters], remote_codecs: List[RTCRtpCodecParameters], ) -> List[RTCRtpCodecParameters]: common = [] common_base: Dict[int, RTCRtpCodecParameters] = {} for c in remote_codecs: # for RTX, check we accepted the base codec if is_rtx(c): apt = c.parameters.get("apt") if isinstance(apt, int) and apt in common_base: base = common_base[apt] if c.clockRate == base.clockRate: common.append(copy.deepcopy(c)) continue # handle other codecs for codec in local_codecs: if is_codec_compatible(codec, c): codec = copy.deepcopy(codec) if c.payloadType in rtp.DYNAMIC_PAYLOAD_TYPES: codec.payloadType = c.payloadType codec.rtcpFeedback = list( filter(lambda x: x in c.rtcpFeedback, codec.rtcpFeedback) ) common.append(codec) common_base[codec.payloadType] = codec break return common def find_common_header_extensions( local_extensions: List[RTCRtpHeaderExtensionParameters], remote_extensions: List[RTCRtpHeaderExtensionParameters], ) -> List[RTCRtpHeaderExtensionParameters]: common = [] for rx in remote_extensions: for lx in local_extensions: if lx.uri == rx.uri: common.append(rx) return common def is_codec_compatible(a: RTCRtpCodecParameters, b: RTCRtpCodecParameters) -> bool: if a.mimeType.lower() != b.mimeType.lower() or a.clockRate != b.clockRate: return False if a.mimeType.lower() == "video/h264": def packetization(c: RTCRtpCodecParameters): return c.parameters.get("packetization-mode", "0") def profile(c: RTCRtpCodecParameters): # for backwards compatibility with older versions of WebRTC, # consider the absence of a profile-level-id parameter to mean # "constrained baseline level 3.1" return sdp.parse_h264_profile_level_id( str(c.parameters.get("profile-level-id", "42E01F")) )[0] try: return packetization(a) == packetization(b) and profile(a) == profile(b) except ValueError: return False return True def add_transport_description( media: sdp.MediaDescription, dtlsTransport: RTCDtlsTransport ) -> None: # ice iceTransport = dtlsTransport.transport iceGatherer = iceTransport.iceGatherer media.ice_candidates = iceGatherer.getLocalCandidates() media.ice_candidates_complete = iceGatherer.state == "completed" media.ice = iceGatherer.getLocalParameters() if media.ice_candidates: media.host = media.ice_candidates[0].ip media.port = media.ice_candidates[0].port else: media.host = DISCARD_HOST media.port = DISCARD_PORT # dtls if media.dtls is None: media.dtls = dtlsTransport.getLocalParameters() else: media.dtls.fingerprints = dtlsTransport.getLocalParameters().fingerprints async def add_remote_candidates( iceTransport: RTCIceTransport, media: sdp.MediaDescription ) -> None: coros = map(iceTransport.addRemoteCandidate, media.ice_candidates) await asyncio.gather(*coros) if media.ice_candidates_complete: await iceTransport.addRemoteCandidate(None) def allocate_mid(mids: Set[str]) -> str: """ Allocate a MID which has not been used yet. """ i = 0 while True: mid = str(i) if mid not in mids: mids.add(mid) return mid i += 1 def create_media_description_for_sctp( sctp: RTCSctpTransport, legacy: bool, mid: str ) -> sdp.MediaDescription: if legacy: media = sdp.MediaDescription( kind="application", port=DISCARD_PORT, profile="DTLS/SCTP", fmt=[sctp.port] ) media.sctpmap[sctp.port] = f"webrtc-datachannel {sctp._outbound_streams_count}" else: media = sdp.MediaDescription( kind="application", port=DISCARD_PORT, profile="UDP/DTLS/SCTP", fmt=["webrtc-datachannel"], ) media.sctp_port = sctp.port media.rtp.muxId = mid media.sctpCapabilities = sctp.getCapabilities() add_transport_description(media, sctp.transport) return media def create_media_description_for_transceiver( transceiver: RTCRtpTransceiver, cname: str, direction: str, mid: str ) -> sdp.MediaDescription: media = sdp.MediaDescription( kind=transceiver.kind, port=DISCARD_PORT, profile="UDP/TLS/RTP/SAVPF", fmt=[c.payloadType for c in transceiver._codecs], ) media.direction = direction media.msid = f"{transceiver.sender._stream_id} {transceiver.sender._track_id}" media.rtp = RTCRtpParameters( codecs=transceiver._codecs, headerExtensions=transceiver._headerExtensions, muxId=mid, ) media.rtcp_host = DISCARD_HOST media.rtcp_port = DISCARD_PORT media.rtcp_mux = True media.ssrc = [sdp.SsrcDescription(ssrc=transceiver.sender._ssrc, cname=cname)] # if RTX is enabled, add corresponding SSRC if next(filter(is_rtx, media.rtp.codecs), None): media.ssrc.append( sdp.SsrcDescription(ssrc=transceiver.sender._rtx_ssrc, cname=cname) ) media.ssrc_group = [ sdp.GroupDescription( semantic="FID", items=[transceiver.sender._ssrc, transceiver.sender._rtx_ssrc], ) ] add_transport_description(media, transceiver._transport) return media def and_direction(a: str, b: str) -> str: return sdp.DIRECTIONS[sdp.DIRECTIONS.index(a) & sdp.DIRECTIONS.index(b)] def or_direction(a: str, b: str) -> str: return sdp.DIRECTIONS[sdp.DIRECTIONS.index(a) | sdp.DIRECTIONS.index(b)] def reverse_direction(direction: str) -> str: if direction == "sendonly": return "recvonly" elif direction == "recvonly": return "sendonly" return direction def wrap_session_description( session_description: Optional[sdp.SessionDescription], ) -> Optional[RTCSessionDescription]: if session_description is not None: return RTCSessionDescription( sdp=str(session_description), type=session_description.type ) return None class RTCPeerConnection(AsyncIOEventEmitter): """ The :class:`RTCPeerConnection` interface represents a WebRTC connection between the local computer and a remote peer. :param configuration: An optional :class:`RTCConfiguration`. """ def __init__(self, configuration: Optional[RTCConfiguration] = None) -> None: super().__init__() self.__certificates = [RTCCertificate.generateCertificate()] self.__cname = f"{uuid.uuid4()}" self.__configuration = configuration or RTCConfiguration() self.__dtlsTransports: Set[RTCDtlsTransport] = set() self.__iceTransports: Set[RTCIceTransport] = set() self.__remoteDtls: Dict[ Union[RTCRtpTransceiver, RTCSctpTransport], RTCDtlsParameters ] = {} self.__remoteIce: Dict[ Union[RTCRtpTransceiver, RTCSctpTransport], RTCIceParameters ] = {} self.__seenMids: Set[str] = set() self.__sctp: Optional[RTCSctpTransport] = None self.__sctp_mline_index: Optional[int] = None self._sctpLegacySdp = True self.__sctpRemotePort: Optional[int] = None self.__sctpRemoteCaps = None self.__stream_id = str(uuid.uuid4()) self.__transceivers: List[RTCRtpTransceiver] = [] self.__closeTask: Optional[asyncio.Task] = None self.__connectionState = "new" self.__iceConnectionState = "new" self.__iceGatheringState = "new" self.__isClosed: Optional[asyncio.Future[bool]] = None self.__signalingState = "stable" self.__currentLocalDescription: Optional[sdp.SessionDescription] = None self.__currentRemoteDescription: Optional[sdp.SessionDescription] = None self.__pendingLocalDescription: Optional[sdp.SessionDescription] = None self.__pendingRemoteDescription: Optional[sdp.SessionDescription] = None @property def connectionState(self) -> str: """ The current connection state. Possible values: `"connected"`, `"connecting"`, `"closed"`, `"failed"`, `"new`". When the state changes, the `"connectionstatechange"` event is fired. """ return self.__connectionState @property def iceConnectionState(self) -> str: """ The current ICE connection state. Possible values: `"checking"`, `"completed"`, `"closed"`, `"failed"`, `"new`". When the state changes, the `"iceconnectionstatechange"` event is fired. """ return self.__iceConnectionState @property def iceGatheringState(self) -> str: """ The current ICE gathering state. Possible values: `"complete"`, `"gathering"`, `"new`". When the state changes, the `"icegatheringstatechange"` event is fired. """ return self.__iceGatheringState @property def localDescription(self) -> RTCSessionDescription: """ An :class:`RTCSessionDescription` describing the session for the local end of the connection. """ return wrap_session_description(self.__localDescription()) @property def remoteDescription(self) -> RTCSessionDescription: """ An :class:`RTCSessionDescription` describing the session for the remote end of the connection. """ return wrap_session_description(self.__remoteDescription()) @property def sctp(self) -> Optional[RTCSctpTransport]: """ An :class:`RTCSctpTransport` describing the SCTP transport being used for datachannels or `None`. """ return self.__sctp @property def signalingState(self): """ The current signaling state. Possible values: `"closed"`, `"have-local-offer"`, `"have-remote-offer`", `"stable"`. When the state changes, the `"signalingstatechange"` event is fired. """ return self.__signalingState async def addIceCandidate(self, candidate: RTCIceCandidate) -> None: """ Add a new :class:`RTCIceCandidate` received from the remote peer. The specified candidate must have a value for either `sdpMid` or `sdpMLineIndex`. :param candidate: The new remote candidate. """ if candidate.sdpMid is None and candidate.sdpMLineIndex is None: raise ValueError("Candidate must have either sdpMid or sdpMLineIndex") for transceiver in self.__transceivers: if candidate.sdpMid == transceiver.mid and not transceiver._bundled: iceTransport = transceiver._transport.transport await iceTransport.addRemoteCandidate(candidate) return if ( self.__sctp and candidate.sdpMid == self.__sctp.mid and not self.__sctp._bundled ): iceTransport = self.__sctp.transport.transport await iceTransport.addRemoteCandidate(candidate) def addTrack(self, track: MediaStreamTrack) -> RTCRtpSender: """ Add a :class:`MediaStreamTrack` to the set of media tracks which will be transmitted to the remote peer. """ # check state is valid self.__assertNotClosed() if track.kind not in ["audio", "video"]: raise InternalError(f'Invalid track kind "{track.kind}"') # don't add track twice self.__assertTrackHasNoSender(track) for transceiver in self.__transceivers: if transceiver.kind == track.kind: if transceiver.sender.track is None: transceiver.sender.replaceTrack(track) transceiver.direction = or_direction( transceiver.direction, "sendonly" ) return transceiver.sender transceiver = self.__createTransceiver( direction="sendrecv", kind=track.kind, sender_track=track ) return transceiver.sender def addTransceiver( self, trackOrKind: Union[str, MediaStreamTrack], direction: str = "sendrecv" ) -> RTCRtpTransceiver: """ Add a new :class:`RTCRtpTransceiver`. """ self.__assertNotClosed() # determine track or kind if isinstance(trackOrKind, MediaStreamTrack): kind = trackOrKind.kind track = trackOrKind else: kind = trackOrKind track = None if kind not in ["audio", "video"]: raise InternalError(f'Invalid track kind "{kind}"') # check direction if direction not in sdp.DIRECTIONS: raise InternalError(f'Invalid direction "{direction}"') # don't add track twice if track: self.__assertTrackHasNoSender(track) return self.__createTransceiver( direction=direction, kind=kind, sender_track=track ) async def close(self) -> None: """ Terminate the ICE agent, ending ICE processing and streams. """ if self.__isClosed: await self.__isClosed return self.__isClosed = asyncio.Future() self.__setSignalingState("closed") # stop senders / receivers for transceiver in self.__transceivers: await transceiver.stop() if self.__sctp: await self.__sctp.stop() # stop transports for transceiver in self.__transceivers: await transceiver._transport.stop() await transceiver._transport.transport.stop() if self.__sctp: await self.__sctp.transport.stop() await self.__sctp.transport.transport.stop() # update states self.__updateIceGatheringState() self.__updateIceConnectionState() self.__updateConnectionState() # no more events will be emitted, so remove all event listeners # to facilitate garbage collection. self.remove_all_listeners() self.__isClosed.set_result(True) async def createAnswer(self) -> RTCSessionDescription: """ Create an SDP answer to an offer received from a remote peer during the offer/answer negotiation of a WebRTC connection. :rtype: :class:`RTCSessionDescription` """ # check state is valid self.__assertNotClosed() if self.signalingState not in ["have-remote-offer", "have-local-pranswer"]: raise InvalidStateError( f'Cannot create answer in signaling state "{self.signalingState}"' ) # create description ntp_seconds = clock.current_ntp_time() >> 32 description = sdp.SessionDescription() description.origin = f"- {ntp_seconds} {ntp_seconds} IN IP4 0.0.0.0" description.msid_semantic.append( sdp.GroupDescription(semantic="WMS", items=["*"]) ) description.type = "answer" for remote_m in self.__remoteDescription().media: if remote_m.kind in ["audio", "video"]: transceiver = self.__getTransceiverByMid(remote_m.rtp.muxId) media = create_media_description_for_transceiver( transceiver, cname=self.__cname, direction=and_direction( transceiver.direction, transceiver._offerDirection ), mid=transceiver.mid, ) dtlsTransport = transceiver._transport else: media = create_media_description_for_sctp( self.__sctp, legacy=self._sctpLegacySdp, mid=self.__sctp.mid ) dtlsTransport = self.__sctp.transport # determine DTLS role, or preserve the currently configured role if dtlsTransport._role == "auto": media.dtls.role = "client" else: media.dtls.role = dtlsTransport._role description.media.append(media) bundle = sdp.GroupDescription(semantic="BUNDLE", items=[]) for media in description.media: bundle.items.append(media.rtp.muxId) description.group.append(bundle) return wrap_session_description(description) def createDataChannel( self, label, maxPacketLifeTime=None, maxRetransmits=None, ordered=True, protocol="", negotiated=False, id=None, ) -> RTCDataChannel: """ Create a data channel with the given label. :rtype: :class:`RTCDataChannel` """ if maxPacketLifeTime is not None and maxRetransmits is not None: raise ValueError("Cannot specify both maxPacketLifeTime and maxRetransmits") if not self.__sctp: self.__createSctpTransport() parameters = RTCDataChannelParameters( id=id, label=label, maxPacketLifeTime=maxPacketLifeTime, maxRetransmits=maxRetransmits, negotiated=negotiated, ordered=ordered, protocol=protocol, ) return RTCDataChannel(self.__sctp, parameters) async def createOffer(self) -> RTCSessionDescription: """ Create an SDP offer for the purpose of starting a new WebRTC connection to a remote peer. :rtype: :class:`RTCSessionDescription` """ # check state is valid self.__assertNotClosed() if not self.__sctp and not self.__transceivers: raise InternalError( "Cannot create an offer with no media and no data channels" ) # offer codecs for transceiver in self.__transceivers: transceiver._codecs = filter_preferred_codecs( CODECS[transceiver.kind][:], transceiver._preferred_codecs ) transceiver._headerExtensions = HEADER_EXTENSIONS[transceiver.kind][:] mids = self.__seenMids.copy() # create description ntp_seconds = clock.current_ntp_time() >> 32 description = sdp.SessionDescription() description.origin = f"- {ntp_seconds} {ntp_seconds} IN IP4 0.0.0.0" description.msid_semantic.append( sdp.GroupDescription(semantic="WMS", items=["*"]) ) description.type = "offer" def get_media( description: sdp.SessionDescription, ) -> List[sdp.MediaDescription]: return description.media if description else [] def get_media_section( media: List[sdp.MediaDescription], i: int ) -> Optional[sdp.MediaDescription]: return media[i] if i < len(media) else None # handle existing transceivers / sctp local_media = get_media(self.__localDescription()) remote_media = get_media(self.__remoteDescription()) for i in range(max(len(local_media), len(remote_media))): local_m = get_media_section(local_media, i) remote_m = get_media_section(remote_media, i) media_kind = local_m.kind if local_m else remote_m.kind mid = local_m.rtp.muxId if local_m else remote_m.rtp.muxId if media_kind in ["audio", "video"]: transceiver = self.__getTransceiverByMid(mid) transceiver._set_mline_index(i) description.media.append( create_media_description_for_transceiver( transceiver, cname=self.__cname, direction=transceiver.direction, mid=mid, ) ) elif media_kind == "application": self.__sctp_mline_index = i description.media.append( create_media_description_for_sctp( self.__sctp, legacy=self._sctpLegacySdp, mid=mid ) ) # handle new transceivers / sctp def next_mline_index() -> int: return len(description.media) for transceiver in filter( lambda x: x.mid is None and not x.stopped, self.__transceivers ): transceiver._set_mline_index(next_mline_index()) description.media.append( create_media_description_for_transceiver( transceiver, cname=self.__cname, direction=transceiver.direction, mid=allocate_mid(mids), ) ) if self.__sctp and self.__sctp.mid is None: self.__sctp_mline_index = next_mline_index() description.media.append( create_media_description_for_sctp( self.__sctp, legacy=self._sctpLegacySdp, mid=allocate_mid(mids) ) ) bundle = sdp.GroupDescription(semantic="BUNDLE", items=[]) for media in description.media: bundle.items.append(media.rtp.muxId) description.group.append(bundle) return wrap_session_description(description) def getReceivers(self) -> List[RTCRtpReceiver]: """ Returns the list of :class:`RTCRtpReceiver` objects that are currently attached to the connection. """ return list(map(lambda x: x.receiver, self.__transceivers)) def getSenders(self) -> List[RTCRtpSender]: """ Returns the list of :class:`RTCRtpSender` objects that are currently attached to the connection. """ return list(map(lambda x: x.sender, self.__transceivers)) async def getStats(self) -> RTCStatsReport: """ Returns statistics for the connection. :rtype: :class:`RTCStatsReport` """ merged = RTCStatsReport() coros = [x.getStats() for x in self.getSenders()] + [ x.getStats() for x in self.getReceivers() ] for report in await asyncio.gather(*coros): merged.update(report) return merged def getTransceivers(self) -> List[RTCRtpTransceiver]: """ Returns the list of :class:`RTCRtpTransceiver` objects that are currently attached to the connection. """ return list(self.__transceivers) async def setLocalDescription( self, sessionDescription: RTCSessionDescription ) -> None: """ Change the local description associated with the connection. :param sessionDescription: An :class:`RTCSessionDescription` generated by :meth:`createOffer` or :meth:`createAnswer()`. """ self.__log_debug( "setLocalDescription(%s)\n%s", sessionDescription.type, sessionDescription.sdp, ) # parse and validate description description = sdp.SessionDescription.parse(sessionDescription.sdp) description.type = sessionDescription.type self.__validate_description(description, is_local=True) # update signaling state if description.type == "offer": self.__setSignalingState("have-local-offer") elif description.type == "answer": self.__setSignalingState("stable") # assign MID for i, media in enumerate(description.media): mid = media.rtp.muxId self.__seenMids.add(mid) if media.kind in ["audio", "video"]: transceiver = self.__getTransceiverByMLineIndex(i) transceiver._set_mid(mid) elif media.kind == "application": self.__sctp.mid = mid # set ICE role if description.type == "offer": for iceTransport in self.__iceTransports: if not iceTransport._role_set: iceTransport._connection.ice_controlling = True iceTransport._role_set = True # set DTLS role if description.type == "answer": for i, media in enumerate(description.media): if media.kind in ["audio", "video"]: transceiver = self.__getTransceiverByMLineIndex(i) transceiver._transport._set_role(media.dtls.role) elif media.kind == "application": self.__sctp.transport._set_role(media.dtls.role) # configure direction for t in self.__transceivers: if description.type in ["answer", "pranswer"]: t._setCurrentDirection(and_direction(t.direction, t._offerDirection)) # gather candidates await self.__gather() for i, media in enumerate(description.media): if media.kind in ["audio", "video"]: transceiver = self.__getTransceiverByMLineIndex(i) add_transport_description(media, transceiver._transport) elif media.kind == "application": add_transport_description(media, self.__sctp.transport) # connect asyncio.ensure_future(self.__connect()) # replace description if description.type == "answer": self.__currentLocalDescription = description self.__pendingLocalDescription = None else: self.__pendingLocalDescription = description async def setRemoteDescription( self, sessionDescription: RTCSessionDescription ) -> None: """ Changes the remote description associated with the connection. :param sessionDescription: An :class:`RTCSessionDescription` created from information received over the signaling channel. """ self.__log_debug( "setRemoteDescription(%s)\n%s", sessionDescription.type, sessionDescription.sdp, ) # parse and validate description description = sdp.SessionDescription.parse(sessionDescription.sdp) description.type = sessionDescription.type self.__validate_description(description, is_local=False) # apply description iceCandidates: Dict[RTCIceTransport, sdp.MediaDescription] = {} trackEvents = [] for i, media in enumerate(description.media): dtlsTransport: Optional[RTCDtlsTransport] = None self.__seenMids.add(media.rtp.muxId) if media.kind in ["audio", "video"]: # find transceiver transceiver = None for t in self.__transceivers: if t.kind == media.kind and t.mid in [None, media.rtp.muxId]: transceiver = t if transceiver is None: transceiver = self.__createTransceiver( direction="recvonly", kind=media.kind ) if transceiver.mid is None: transceiver._set_mid(media.rtp.muxId) transceiver._set_mline_index(i) # negotiate codecs common = filter_preferred_codecs( find_common_codecs(CODECS[media.kind], media.rtp.codecs), transceiver._preferred_codecs, ) if not len(common): raise OperationError( "Failed to set remote {} description send parameters".format( media.kind ) ) transceiver._codecs = common transceiver._headerExtensions = find_common_header_extensions( HEADER_EXTENSIONS[media.kind], media.rtp.headerExtensions ) # configure direction direction = reverse_direction(media.direction) if description.type in ["answer", "pranswer"]: transceiver._setCurrentDirection(direction) else: transceiver._offerDirection = direction # create remote stream track if ( direction in ["recvonly", "sendrecv"] and not transceiver.receiver.track ): transceiver.receiver._track = RemoteStreamTrack( kind=media.kind, id=description.webrtc_track_id(media) ) trackEvents.append( RTCTrackEvent( receiver=transceiver.receiver, track=transceiver.receiver.track, transceiver=transceiver, ) ) # memorise transport parameters dtlsTransport = transceiver._transport self.__remoteDtls[transceiver] = media.dtls self.__remoteIce[transceiver] = media.ice elif media.kind == "application": if not self.__sctp: self.__createSctpTransport() if self.__sctp.mid is None: self.__sctp.mid = media.rtp.muxId self.__sctp_mline_index = i # configure sctp if media.profile == "DTLS/SCTP": self._sctpLegacySdp = True self.__sctpRemotePort = int(media.fmt[0]) else: self._sctpLegacySdp = False self.__sctpRemotePort = media.sctp_port self.__sctpRemoteCaps = media.sctpCapabilities # memorise transport parameters dtlsTransport = self.__sctp.transport self.__remoteDtls[self.__sctp] = media.dtls self.__remoteIce[self.__sctp] = media.ice if dtlsTransport is not None: # add ICE candidates iceTransport = dtlsTransport.transport iceCandidates[iceTransport] = media # set ICE role if description.type == "offer" and not iceTransport._role_set: iceTransport._connection.ice_controlling = media.ice.iceLite iceTransport._role_set = True # set DTLS role if description.type == "offer" and media.dtls.role == "client": dtlsTransport._set_role(role="server") if description.type == "answer": dtlsTransport._set_role( role="server" if media.dtls.role == "client" else "client" ) # remove bundled transports bundle = next((x for x in description.group if x.semantic == "BUNDLE"), None) if bundle and bundle.items: # find main media stream masterMid = bundle.items[0] masterTransport = None for transceiver in self.__transceivers: if transceiver.mid == masterMid: masterTransport = transceiver._transport break if self.__sctp and self.__sctp.mid == masterMid: masterTransport = self.__sctp.transport # replace transport for bundled media oldTransports = set() slaveMids = bundle.items[1:] for transceiver in self.__transceivers: if transceiver.mid in slaveMids and not transceiver._bundled: oldTransports.add(transceiver._transport) transceiver.receiver.setTransport(masterTransport) transceiver.sender.setTransport(masterTransport) transceiver._bundled = True transceiver._transport = masterTransport if ( self.__sctp and self.__sctp.mid in slaveMids and not self.__sctp._bundled ): oldTransports.add(self.__sctp.transport) self.__sctp.setTransport(masterTransport) self.__sctp._bundled = True # stop and discard old ICE transports for dtlsTransport in oldTransports: await dtlsTransport.stop() await dtlsTransport.transport.stop() self.__dtlsTransports.discard(dtlsTransport) self.__iceTransports.discard(dtlsTransport.transport) iceCandidates.pop(dtlsTransport.transport, None) self.__updateIceGatheringState() self.__updateIceConnectionState() self.__updateConnectionState() # add remote candidates coros = [ add_remote_candidates(iceTransport, media) for iceTransport, media in iceCandidates.items() ] await asyncio.gather(*coros) # FIXME: in aiortc 2.0.0 emit RTCTrackEvent directly for event in trackEvents: self.emit("track", event.track) # connect asyncio.ensure_future(self.__connect()) # update signaling state if description.type == "offer": self.__setSignalingState("have-remote-offer") elif description.type == "answer": self.__setSignalingState("stable") # replace description if description.type == "answer": self.__currentRemoteDescription = description self.__pendingRemoteDescription = None else: self.__pendingRemoteDescription = description async def __connect(self) -> None: for transceiver in self.__transceivers: dtlsTransport = transceiver._transport iceTransport = dtlsTransport.transport if ( iceTransport.iceGatherer.getLocalCandidates() and transceiver in self.__remoteIce ): await iceTransport.start(self.__remoteIce[transceiver]) if dtlsTransport.state == "new": await dtlsTransport.start(self.__remoteDtls[transceiver]) if dtlsTransport.state == "connected": if transceiver.currentDirection in ["sendonly", "sendrecv"]: await transceiver.sender.send(self.__localRtp(transceiver)) if transceiver.currentDirection in ["recvonly", "sendrecv"]: await transceiver.receiver.receive( self.__remoteRtp(transceiver) ) if self.__sctp: dtlsTransport = self.__sctp.transport iceTransport = dtlsTransport.transport if ( iceTransport.iceGatherer.getLocalCandidates() and self.__sctp in self.__remoteIce ): await iceTransport.start(self.__remoteIce[self.__sctp]) if dtlsTransport.state == "new": await dtlsTransport.start(self.__remoteDtls[self.__sctp]) if dtlsTransport.state == "connected": await self.__sctp.start( self.__sctpRemoteCaps, self.__sctpRemotePort ) async def __gather(self) -> None: coros = map(lambda t: t.iceGatherer.gather(), self.__iceTransports) await asyncio.gather(*coros) def __assertNotClosed(self) -> None: if self.__isClosed: raise InvalidStateError("RTCPeerConnection is closed") def __assertTrackHasNoSender(self, track: MediaStreamTrack) -> None: for sender in self.getSenders(): if sender.track == track: raise InvalidAccessError("Track already has a sender") def __createDtlsTransport(self) -> RTCDtlsTransport: # create ICE transport iceGatherer = RTCIceGatherer(iceServers=self.__configuration.iceServers) iceGatherer.on("statechange", self.__updateIceGatheringState) iceTransport = RTCIceTransport(iceGatherer) iceTransport.on("statechange", self.__updateIceConnectionState) iceTransport.on("statechange", self.__updateConnectionState) self.__iceTransports.add(iceTransport) # create DTLS transport dtlsTransport = RTCDtlsTransport(iceTransport, self.__certificates) dtlsTransport.on("statechange", self.__updateConnectionState) self.__dtlsTransports.add(dtlsTransport) # update states self.__updateIceGatheringState() self.__updateIceConnectionState() self.__updateConnectionState() return dtlsTransport def __createSctpTransport(self) -> None: self.__sctp = RTCSctpTransport(self.__createDtlsTransport()) self.__sctp._bundled = False self.__sctp.mid = None @self.__sctp.on("datachannel") def on_datachannel(channel): self.emit("datachannel", channel) def __createTransceiver( self, direction: str, kind: str, sender_track=None ) -> RTCRtpTransceiver: dtlsTransport = self.__createDtlsTransport() transceiver = RTCRtpTransceiver( direction=direction, kind=kind, sender=RTCRtpSender(sender_track or kind, dtlsTransport), receiver=RTCRtpReceiver(kind, dtlsTransport), ) transceiver.receiver._set_rtcp_ssrc(transceiver.sender._ssrc) transceiver.sender._stream_id = self.__stream_id transceiver._bundled = False transceiver._transport = dtlsTransport self.__transceivers.append(transceiver) return transceiver def __getTransceiverByMid(self, mid: str) -> Optional[RTCRtpTransceiver]: return next(filter(lambda x: x.mid == mid, self.__transceivers), None) def __getTransceiverByMLineIndex(self, index: int) -> Optional[RTCRtpTransceiver]: return next( filter(lambda x: x._get_mline_index() == index, self.__transceivers), None ) def __localDescription(self) -> Optional[sdp.SessionDescription]: return self.__pendingLocalDescription or self.__currentLocalDescription def __localRtp(self, transceiver: RTCRtpTransceiver) -> RTCRtpSendParameters: rtp = RTCRtpSendParameters( codecs=transceiver._codecs, headerExtensions=transceiver._headerExtensions, muxId=transceiver.mid, ) rtp.rtcp.cname = self.__cname rtp.rtcp.ssrc = transceiver.sender._ssrc rtp.rtcp.mux = True return rtp def __log_debug(self, msg: str, *args) -> None: logger.debug(f"RTCPeerConnection() {msg}", *args) def __remoteDescription(self) -> Optional[sdp.SessionDescription]: return self.__pendingRemoteDescription or self.__currentRemoteDescription def __remoteRtp(self, transceiver: RTCRtpTransceiver) -> RTCRtpReceiveParameters: media = self.__remoteDescription().media[transceiver._get_mline_index()] receiveParameters = RTCRtpReceiveParameters( codecs=transceiver._codecs, headerExtensions=transceiver._headerExtensions, muxId=media.rtp.muxId, rtcp=media.rtp.rtcp, ) if len(media.ssrc): encodings: Dict[int, RTCRtpDecodingParameters] = {} for codec in transceiver._codecs: if is_rtx(codec): apt = codec.parameters.get("apt") if ( isinstance(apt, int) and apt in encodings and len(media.ssrc) == 2 ): encodings[apt].rtx = RTCRtpRtxParameters( ssrc=media.ssrc[1].ssrc ) continue encodings[codec.payloadType] = RTCRtpDecodingParameters( ssrc=media.ssrc[0].ssrc, payloadType=codec.payloadType ) receiveParameters.encodings = list(encodings.values()) return receiveParameters def __setSignalingState(self, state: str) -> None: self.__signalingState = state self.emit("signalingstatechange") def __updateConnectionState(self) -> None: # compute new state # NOTE: we do not have a "disconnected" state dtlsStates = set(map(lambda x: x.state, self.__dtlsTransports)) iceStates = set(map(lambda x: x.state, self.__iceTransports)) if self.__isClosed: state = "closed" elif "failed" in iceStates or "failed" in dtlsStates: state = "failed" elif not iceStates.difference(["new", "closed"]) and not dtlsStates.difference( ["new", "closed"] ): state = "new" elif "checking" in iceStates or "connecting" in dtlsStates: state = "connecting" elif "new" in dtlsStates: # this avoids a spurious connecting -> connected -> connecting # transition after ICE connects but before DTLS starts state = "connecting" else: state = "connected" # update state if state != self.__connectionState: self.__log_debug("connectionState %s -> %s", self.__connectionState, state) self.__connectionState = state self.emit("connectionstatechange") # if all DTLS connections are closed, initiate a shutdown if ( not self.__isClosed and self.__closeTask is None and dtlsStates == set(["closed"]) ): self.__closeTask = asyncio.ensure_future(self.close()) def __updateIceConnectionState(self) -> None: # compute new state # NOTE: we do not have "connected" or "disconnected" states states = set(map(lambda x: x.state, self.__iceTransports)) if self.__isClosed: state = "closed" elif "failed" in states: state = "failed" elif states == set(["completed"]): state = "completed" elif "checking" in states: state = "checking" else: state = "new" # update state if state != self.__iceConnectionState: self.__log_debug( "iceConnectionState %s -> %s", self.__iceConnectionState, state ) self.__iceConnectionState = state self.emit("iceconnectionstatechange") def __updateIceGatheringState(self) -> None: # compute new state states = set(map(lambda x: x.iceGatherer.state, self.__iceTransports)) if states == set(["completed"]): state = "complete" elif "gathering" in states: state = "gathering" else: state = "new" # update state if state != self.__iceGatheringState: self.__log_debug( "iceGatheringState %s -> %s", self.__iceGatheringState, state ) self.__iceGatheringState = state self.emit("icegatheringstatechange") def __validate_description( self, description: sdp.SessionDescription, is_local: bool ) -> None: # check description is compatible with signaling state if is_local: if description.type == "offer": if self.signalingState not in ["stable", "have-local-offer"]: raise InvalidStateError( "Cannot handle offer in signaling state " f'"{self.signalingState}"' ) elif description.type == "answer": if self.signalingState not in [ "have-remote-offer", "have-local-pranswer", ]: raise InvalidStateError( "Cannot handle answer in signaling state " f'"{self.signalingState}"' ) else: if description.type == "offer": if self.signalingState not in ["stable", "have-remote-offer"]: raise InvalidStateError( "Cannot handle offer in signaling state " f'"{self.signalingState}"' ) elif description.type == "answer": if self.signalingState not in [ "have-local-offer", "have-remote-pranswer", ]: raise InvalidStateError( "Cannot handle answer in signaling state " f'"{self.signalingState}"' ) for media in description.media: # check ICE credentials were provided if not media.ice.usernameFragment or not media.ice.password: raise ValueError("ICE username fragment or password is missing") # check DTLS role is allowed if description.type in ["answer", "pranswer"] and media.dtls.role not in [ "client", "server", ]: raise ValueError( "DTLS setup attribute must be 'active' or 'passive' for an answer" ) # check RTCP mux is used if media.kind in ["audio", "video"] and not media.rtcp_mux: raise ValueError("RTCP mux is not enabled") # check the number of media section matches if description.type in ["answer", "pranswer"]: offer = ( self.__remoteDescription() if is_local else self.__localDescription() ) offer_media = [(media.kind, media.rtp.muxId) for media in offer.media] answer_media = [ (media.kind, media.rtp.muxId) for media in description.media ] if answer_media != offer_media: raise ValueError("Media sections in answer do not match offer") aiortc-1.11.0/src/aiortc/rtcrtpparameters.py000066400000000000000000000110041477147103300211020ustar00rootroot00000000000000from dataclasses import dataclass, field from typing import Dict, List, Optional, Union ParametersDict = Dict[str, Union[int, str, None]] @dataclass class RTCRtpCodecCapability: """ The :class:`RTCRtpCodecCapability` dictionary provides information on codec capabilities. """ mimeType: str "The codec MIME media type/subtype, for instance `'audio/PCMU'`." clockRate: int "The codec clock rate expressed in Hertz." channels: Optional[int] = None "The number of channels supported (e.g. two for stereo)." parameters: ParametersDict = field(default_factory=dict) "Codec-specific parameters available for signaling." @property def name(self): return self.mimeType.split("/")[1] @dataclass class RTCRtpCodecParameters: """ The :class:`RTCRtpCodecParameters` dictionary provides information on codec settings. """ mimeType: str "The codec MIME media type/subtype, for instance `'audio/PCMU'`." clockRate: int "The codec clock rate expressed in Hertz." channels: Optional[int] = None "The number of channels supported (e.g. two for stereo)." payloadType: Optional[int] = None "The value that goes in the RTP Payload Type Field." rtcpFeedback: List["RTCRtcpFeedback"] = field(default_factory=list) "Transport layer and codec-specific feedback messages for this codec." parameters: ParametersDict = field(default_factory=dict) "Codec-specific parameters available for signaling." @property def name(self): return self.mimeType.split("/")[1] def __str__(self): s = f"{self.name}/{self.clockRate}" if self.channels == 2: s += "/2" return s @dataclass class RTCRtpRtxParameters: ssrc: int @dataclass class RTCRtpCodingParameters: ssrc: int payloadType: int rtx: Optional[RTCRtpRtxParameters] = None class RTCRtpDecodingParameters(RTCRtpCodingParameters): pass class RTCRtpEncodingParameters(RTCRtpCodingParameters): pass @dataclass class RTCRtpHeaderExtensionCapability: """ The :class:`RTCRtpHeaderExtensionCapability` dictionary provides information on a supported header extension. """ uri: str "The URI of the RTP header extension." @dataclass class RTCRtpHeaderExtensionParameters: """ The :class:`RTCRtpHeaderExtensionParameters` dictionary enables a header extension to be configured for use within an :class:`RTCRtpSender` or :class:`RTCRtpReceiver`. """ id: int "The value that goes in the packet." uri: str "The URI of the RTP header extension." @dataclass class RTCRtpCapabilities: """ The :class:`RTCRtpCapabilities` dictionary provides information about support codecs and header extensions. """ codecs: List[RTCRtpCodecCapability] = field(default_factory=list) "A list of :class:`RTCRtpCodecCapability`." headerExtensions: List[RTCRtpHeaderExtensionCapability] = field( default_factory=list ) "A list of :class:`RTCRtpHeaderExtensionCapability`." @dataclass class RTCRtcpFeedback: """ The :class:`RTCRtcpFeedback` dictionary provides information on RTCP feedback messages. """ type: str parameter: Optional[str] = None @dataclass class RTCRtcpParameters: """ The :class:`RTCRtcpParameters` dictionary provides information on RTCP settings. """ cname: Optional[str] = None "The Canonical Name (CNAME) used by RTCP." mux: bool = False "Whether RTP and RTCP are multiplexed." ssrc: Optional[int] = None "The Synchronization Source identifier." @dataclass class RTCRtpParameters: """ The :class:`RTCRtpParameters` dictionary describes the configuration of an :class:`RTCRtpReceiver` or an :class:`RTCRtpSender`. """ codecs: List[RTCRtpCodecParameters] = field(default_factory=list) "A list of :class:`RTCRtpCodecParameters` to send or receive." headerExtensions: List[RTCRtpHeaderExtensionParameters] = field( default_factory=list ) "A list of :class:`RTCRtpHeaderExtensionParameters`." muxId: str = "" "The muxId assigned to the RTP stream, if any, empty string if unset." rtcp: RTCRtcpParameters = field(default_factory=RTCRtcpParameters) "Parameters to configure RTCP." @dataclass class RTCRtpReceiveParameters(RTCRtpParameters): encodings: List[RTCRtpDecodingParameters] = field(default_factory=list) @dataclass class RTCRtpSendParameters(RTCRtpParameters): encodings: List[RTCRtpEncodingParameters] = field(default_factory=list) aiortc-1.11.0/src/aiortc/rtcrtpreceiver.py000066400000000000000000000507511477147103300205570ustar00rootroot00000000000000import asyncio import datetime import logging import queue import random import threading import time from dataclasses import dataclass from typing import Callable, Dict, List, Optional, Set from av.frame import Frame from . import clock from .codecs import depayload, get_capabilities, get_decoder, is_rtx from .exceptions import InvalidStateError from .jitterbuffer import JitterBuffer from .mediastreams import MediaStreamError, MediaStreamTrack from .rate import RemoteBitrateEstimator from .rtcdtlstransport import RTCDtlsTransport from .rtcrtpparameters import ( RTCRtpCapabilities, RTCRtpCodecParameters, RTCRtpReceiveParameters, ) from .rtp import ( RTCP_PSFB_APP, RTCP_PSFB_PLI, RTCP_RTPFB_NACK, RTP_HISTORY_SIZE, AnyRtcpPacket, RtcpByePacket, RtcpPsfbPacket, RtcpReceiverInfo, RtcpRrPacket, RtcpRtpfbPacket, RtcpSrPacket, RtpPacket, clamp_packets_lost, pack_remb_fci, unwrap_rtx, ) from .stats import ( RTCInboundRtpStreamStats, RTCRemoteOutboundRtpStreamStats, RTCStatsReport, ) from .utils import uint16_add, uint16_gt logger = logging.getLogger(__name__) def decoder_worker(loop, input_q, output_q): codec_name = None decoder = None while True: task = input_q.get() if task is None: # inform the track that is has ended asyncio.run_coroutine_threadsafe(output_q.put(None), loop) break codec, encoded_frame = task if codec.name != codec_name: decoder = get_decoder(codec) codec_name = codec.name for frame in decoder.decode(encoded_frame): # pass the decoded frame to the track asyncio.run_coroutine_threadsafe(output_q.put(frame), loop) if decoder is not None: del decoder class NackGenerator: def __init__(self) -> None: self.max_seq: Optional[int] = None self.missing: Set[int] = set() def add(self, packet: RtpPacket) -> bool: """ Mark a new packet as received, and deduce missing packets. """ missed = False if self.max_seq is None: self.max_seq = packet.sequence_number return missed # mark missing packets if uint16_gt(packet.sequence_number, self.max_seq): seq = uint16_add(self.max_seq, 1) while uint16_gt(packet.sequence_number, seq): self.missing.add(seq) missed = True seq = uint16_add(seq, 1) self.max_seq = packet.sequence_number else: self.missing.discard(packet.sequence_number) # limit number of tracked packets self.truncate() return missed def truncate(self) -> None: """ Limit the number of missing packets we track. Otherwise, the size of RTCP FB messages grows indefinitely. """ if self.max_seq is not None: min_seq = uint16_add(self.max_seq, -RTP_HISTORY_SIZE) for seq in list(self.missing): if uint16_gt(min_seq, seq): self.missing.discard(seq) class StreamStatistics: def __init__(self, clockrate: int) -> None: self.base_seq: Optional[int] = None self.max_seq: Optional[int] = None self.cycles = 0 self.packets_received = 0 # jitter self._clockrate = clockrate self._jitter_q4 = 0 self._last_arrival: Optional[int] = None self._last_timestamp: Optional[int] = None # fraction lost self._expected_prior = 0 self._received_prior = 0 def add(self, packet: RtpPacket) -> None: in_order = self.max_seq is None or uint16_gt( packet.sequence_number, self.max_seq ) self.packets_received += 1 if self.base_seq is None: self.base_seq = packet.sequence_number if in_order: arrival = int(time.time() * self._clockrate) if self.max_seq is not None and packet.sequence_number < self.max_seq: self.cycles += 1 << 16 self.max_seq = packet.sequence_number if packet.timestamp != self._last_timestamp and self.packets_received > 1: diff = abs( (arrival - self._last_arrival) - (packet.timestamp - self._last_timestamp) ) self._jitter_q4 += diff - ((self._jitter_q4 + 8) >> 4) self._last_arrival = arrival self._last_timestamp = packet.timestamp @property def fraction_lost(self) -> int: expected_interval = self.packets_expected - self._expected_prior self._expected_prior = self.packets_expected received_interval = self.packets_received - self._received_prior self._received_prior = self.packets_received lost_interval = expected_interval - received_interval if expected_interval == 0 or lost_interval <= 0: return 0 else: return (lost_interval << 8) // expected_interval @property def jitter(self) -> int: return self._jitter_q4 >> 4 @property def packets_expected(self) -> int: return self.cycles + self.max_seq - self.base_seq + 1 @property def packets_lost(self) -> int: return clamp_packets_lost(self.packets_expected - self.packets_received) class RemoteStreamTrack(MediaStreamTrack): def __init__(self, kind: str, id: Optional[str] = None) -> None: super().__init__() self.kind = kind if id is not None: self._id = id self._queue: asyncio.Queue = asyncio.Queue() async def recv(self) -> Frame: """ Receive the next frame. """ if self.readyState != "live": raise MediaStreamError frame = await self._queue.get() if frame is None: self.stop() raise MediaStreamError return frame class TimestampMapper: def __init__(self) -> None: self._last: Optional[int] = None self._origin: Optional[int] = None def map(self, timestamp: int) -> int: if self._origin is None: # first timestamp self._origin = timestamp elif timestamp < self._last: # RTP timestamp wrapped self._origin -= 1 << 32 self._last = timestamp return timestamp - self._origin @dataclass class RTCRtpContributingSource: """ The :class:`RTCRtpContributingSource` dictionary contains information about a contributing source (CSRC). """ timestamp: datetime.datetime "The timestamp associated with this source." source: int "The CSRC identifier associated with this source." @dataclass class RTCRtpSynchronizationSource: """ The :class:`RTCRtpSynchronizationSource` dictionary contains information about a synchronization source (SSRC). """ timestamp: datetime.datetime "The timestamp associated with this source." source: int "The SSRC identifier associated with this source." class RTCRtpReceiver: """ The :class:`RTCRtpReceiver` interface manages the reception and decoding of data for a :class:`MediaStreamTrack`. :param kind: The kind of media (`'audio'` or `'video'`). :param transport: An :class:`RTCDtlsTransport`. """ def __init__(self, kind: str, transport: RTCDtlsTransport) -> None: if transport.state == "closed": raise InvalidStateError self._enabled = True self.__active_ssrc: Dict[int, datetime.datetime] = {} self.__codecs: Dict[int, RTCRtpCodecParameters] = {} self.__decoder_queue: queue.Queue = queue.Queue() self.__decoder_thread: Optional[threading.Thread] = None self.__kind = kind if kind == "audio": self.__jitter_buffer = JitterBuffer(capacity=16, prefetch=4) self.__nack_generator = None self.__remote_bitrate_estimator = None else: self.__jitter_buffer = JitterBuffer(capacity=128, is_video=True) self.__nack_generator = NackGenerator() self.__remote_bitrate_estimator = RemoteBitrateEstimator() self._track: Optional[RemoteStreamTrack] = None self.__rtcp_exited = asyncio.Event() self.__rtcp_started = asyncio.Event() self.__rtcp_task: Optional[asyncio.Future[None]] = None self.__rtx_ssrc: Dict[int, int] = {} self.__started = False self.__stats = RTCStatsReport() self.__timestamp_mapper = TimestampMapper() self.__transport = transport # RTCP self.__lsr: Dict[int, int] = {} self.__lsr_time: Dict[int, float] = {} self.__remote_streams: Dict[int, StreamStatistics] = {} self.__rtcp_ssrc: Optional[int] = None # logging self.__log_debug: Callable[..., None] = lambda *args: None if logger.isEnabledFor(logging.DEBUG): self.__log_debug = lambda msg, *args: logger.debug( f"RTCRtpReceiver(%s) {msg}", self.__kind, *args ) @property def track(self) -> MediaStreamTrack: """ The :class:`MediaStreamTrack` which is being handled by the receiver. """ return self._track @property def transport(self) -> RTCDtlsTransport: """ The :class:`RTCDtlsTransport` over which the media for the receiver's track is received. """ return self.__transport @classmethod def getCapabilities(self, kind) -> Optional[RTCRtpCapabilities]: """ Returns the most optimistic view of the system's capabilities for receiving media of the given `kind`. :rtype: :class:`RTCRtpCapabilities` """ return get_capabilities(kind) async def getStats(self) -> RTCStatsReport: """ Returns statistics about the RTP receiver. :rtype: :class:`RTCStatsReport` """ for ssrc, stream in self.__remote_streams.items(): self.__stats.add( RTCInboundRtpStreamStats( # RTCStats timestamp=clock.current_datetime(), type="inbound-rtp", id="inbound-rtp_" + str(id(self)), # RTCStreamStats ssrc=ssrc, kind=self.__kind, transportId=self.transport._stats_id, # RTCReceivedRtpStreamStats packetsReceived=stream.packets_received, packetsLost=stream.packets_lost, jitter=stream.jitter, # RTPInboundRtpStreamStats ) ) self.__stats.update(self.transport._get_stats()) return self.__stats def getSynchronizationSources(self) -> List[RTCRtpSynchronizationSource]: """ Returns a :class:`RTCRtpSynchronizationSource` for each unique SSRC identifier received in the last 10 seconds. """ cutoff = clock.current_datetime() - datetime.timedelta(seconds=10) sources = [] for source, timestamp in self.__active_ssrc.items(): if timestamp >= cutoff: sources.append( RTCRtpSynchronizationSource(source=source, timestamp=timestamp) ) return sources async def receive(self, parameters: RTCRtpReceiveParameters) -> None: """ Attempt to set the parameters controlling the receiving of media. :param parameters: The :class:`RTCRtpParameters` for the receiver. """ if not self.__started: for codec in parameters.codecs: self.__codecs[codec.payloadType] = codec for encoding in parameters.encodings: if encoding.rtx: self.__rtx_ssrc[encoding.rtx.ssrc] = encoding.ssrc # start decoder thread self.__decoder_thread = threading.Thread( target=decoder_worker, name=self.__kind + "-decoder", args=( asyncio.get_event_loop(), self.__decoder_queue, self._track._queue, ), ) self.__decoder_thread.start() self.__transport._register_rtp_receiver(self, parameters) self.__rtcp_task = asyncio.ensure_future(self._run_rtcp()) self.__started = True def setTransport(self, transport: RTCDtlsTransport) -> None: self.__transport = transport async def stop(self) -> None: """ Irreversibly stop the receiver. """ if self.__started: self.__transport._unregister_rtp_receiver(self) self.__stop_decoder() # shutdown RTCP task await self.__rtcp_started.wait() self.__rtcp_task.cancel() await self.__rtcp_exited.wait() def _handle_disconnect(self) -> None: self.__stop_decoder() async def _handle_rtcp_packet(self, packet: AnyRtcpPacket) -> None: self.__log_debug("< %s", packet) if isinstance(packet, RtcpSrPacket): self.__stats.add( RTCRemoteOutboundRtpStreamStats( # RTCStats timestamp=clock.current_datetime(), type="remote-outbound-rtp", id=f"remote-outbound-rtp_{id(self)}", # RTCStreamStats ssrc=packet.ssrc, kind=self.__kind, transportId=self.transport._stats_id, # RTCSentRtpStreamStats packetsSent=packet.sender_info.packet_count, bytesSent=packet.sender_info.octet_count, # RTCRemoteOutboundRtpStreamStats remoteTimestamp=clock.datetime_from_ntp( packet.sender_info.ntp_timestamp ), ) ) self.__lsr[packet.ssrc] = ( (packet.sender_info.ntp_timestamp) >> 16 ) & 0xFFFFFFFF self.__lsr_time[packet.ssrc] = time.time() elif isinstance(packet, RtcpByePacket): self.__stop_decoder() async def _handle_rtp_packet(self, packet: RtpPacket, arrival_time_ms: int) -> None: """ Handle an incoming RTP packet. """ self.__log_debug("< %s", packet) # If the receiver is disabled, discard the packet. if not self._enabled: return # feed bitrate estimator if self.__remote_bitrate_estimator is not None: if packet.extensions.abs_send_time is not None: remb = self.__remote_bitrate_estimator.add( abs_send_time=packet.extensions.abs_send_time, arrival_time_ms=arrival_time_ms, payload_size=len(packet.payload) + packet.padding_size, ssrc=packet.ssrc, ) if self.__rtcp_ssrc is not None and remb is not None: # send Receiver Estimated Maximum Bitrate feedback rtcp_packet = RtcpPsfbPacket( fmt=RTCP_PSFB_APP, ssrc=self.__rtcp_ssrc, media_ssrc=0, fci=pack_remb_fci(*remb), ) await self._send_rtcp(rtcp_packet) # keep track of sources self.__active_ssrc[packet.ssrc] = clock.current_datetime() # check the codec is known codec = self.__codecs.get(packet.payload_type) if codec is None: self.__log_debug( "x RTP packet with unknown payload type %d", packet.payload_type ) return # feed RTCP statistics if packet.ssrc not in self.__remote_streams: self.__remote_streams[packet.ssrc] = StreamStatistics(codec.clockRate) self.__remote_streams[packet.ssrc].add(packet) # unwrap retransmission packet if is_rtx(codec): original_ssrc = self.__rtx_ssrc.get(packet.ssrc) if original_ssrc is None: self.__log_debug("x RTX packet from unknown SSRC %d", packet.ssrc) return apt = codec.parameters.get("apt") if ( len(packet.payload) < 2 or not isinstance(apt, int) or apt not in self.__codecs ): return packet = unwrap_rtx(packet, payload_type=apt, ssrc=original_ssrc) codec = self.__codecs[apt] # send NACKs for any missing any packets if self.__nack_generator is not None and self.__nack_generator.add(packet): await self._send_rtcp_nack( packet.ssrc, sorted(self.__nack_generator.missing) ) # parse codec-specific information try: if packet.payload: packet._data = depayload(codec, packet.payload) # type: ignore else: packet._data = b"" # type: ignore except ValueError as exc: self.__log_debug("x RTP payload parsing failed: %s", exc) return # try to re-assemble encoded frame pli_flag, encoded_frame = self.__jitter_buffer.add(packet) # check if the PLI should be sent if pli_flag: await self._send_rtcp_pli(packet.ssrc) # if we have a complete encoded frame, decode it if encoded_frame is not None and self.__decoder_thread: encoded_frame.timestamp = self.__timestamp_mapper.map( encoded_frame.timestamp ) self.__decoder_queue.put((codec, encoded_frame)) async def _run_rtcp(self) -> None: self.__log_debug("- RTCP started") self.__rtcp_started.set() try: while True: # The interval between RTCP packets is varied randomly over the # range [0.5, 1.5] times the calculated interval. await asyncio.sleep(0.5 + random.random()) # RTCP RR reports = [] for ssrc, stream in self.__remote_streams.items(): lsr = 0 dlsr = 0 if ssrc in self.__lsr: lsr = self.__lsr[ssrc] delay = time.time() - self.__lsr_time[ssrc] if delay > 0 and delay < 65536: dlsr = int(delay * 65536) reports.append( RtcpReceiverInfo( ssrc=ssrc, fraction_lost=stream.fraction_lost, packets_lost=stream.packets_lost, highest_sequence=stream.max_seq, jitter=stream.jitter, lsr=lsr, dlsr=dlsr, ) ) if self.__rtcp_ssrc is not None and reports: packet = RtcpRrPacket(ssrc=self.__rtcp_ssrc, reports=reports) await self._send_rtcp(packet) except asyncio.CancelledError: pass self.__log_debug("- RTCP finished") self.__rtcp_exited.set() async def _send_rtcp(self, packet) -> None: self.__log_debug("> %s", packet) try: await self.transport._send_rtp(bytes(packet)) except ConnectionError: pass async def _send_rtcp_nack(self, media_ssrc: int, lost: List[int]) -> None: """ Send an RTCP packet to report missing RTP packets. """ if self.__rtcp_ssrc is not None: packet = RtcpRtpfbPacket( fmt=RTCP_RTPFB_NACK, ssrc=self.__rtcp_ssrc, media_ssrc=media_ssrc ) packet.lost = lost await self._send_rtcp(packet) async def _send_rtcp_pli(self, media_ssrc: int) -> None: """ Send an RTCP packet to report picture loss. """ if self.__rtcp_ssrc is not None: packet = RtcpPsfbPacket( fmt=RTCP_PSFB_PLI, ssrc=self.__rtcp_ssrc, media_ssrc=media_ssrc ) await self._send_rtcp(packet) def _set_rtcp_ssrc(self, ssrc: int) -> None: self.__rtcp_ssrc = ssrc def __stop_decoder(self) -> None: """ Stop the decoder thread, which will in turn stop the track. """ if self.__decoder_thread: self.__decoder_queue.put(None) self.__decoder_thread.join() self.__decoder_thread = None aiortc-1.11.0/src/aiortc/rtcrtpsender.py000066400000000000000000000415121477147103300202260ustar00rootroot00000000000000import asyncio import logging import random import time import traceback import uuid from typing import Callable, Dict, List, Optional, Union from av import AudioFrame from av.frame import Frame from . import clock, rtp from .codecs import get_capabilities, get_encoder, is_rtx from .codecs.base import Encoder from .exceptions import InvalidStateError from .mediastreams import MediaStreamError, MediaStreamTrack from .rtcrtpparameters import RTCRtpCodecParameters, RTCRtpSendParameters from .rtp import ( RTCP_PSFB_APP, RTCP_PSFB_PLI, RTCP_RTPFB_NACK, RTP_HISTORY_SIZE, AnyRtcpPacket, RtcpByePacket, RtcpPsfbPacket, RtcpRrPacket, RtcpRtpfbPacket, RtcpSdesPacket, RtcpSenderInfo, RtcpSourceInfo, RtcpSrPacket, RtpPacket, unpack_remb_fci, wrap_rtx, ) from .stats import ( RTCOutboundRtpStreamStats, RTCRemoteInboundRtpStreamStats, RTCStatsReport, ) from .utils import random16, random32, uint16_add, uint32_add logger = logging.getLogger(__name__) RTT_ALPHA = 0.85 def random_sequence_number() -> int: """ Generate a random RTP sequence number. The sequence number is chosen in the lower half of the allowed range in order to avoid wraparounds which break SRTP decryption. See: https://chromiumdash.appspot.com/commit/13b327b05fa3788b4daa9c3463e13282824cb320 """ return random16() % 32768 class RTCEncodedFrame: def __init__(self, payloads: List[bytes], timestamp: int, audio_level: int): self.payloads = payloads self.timestamp = timestamp self.audio_level = audio_level class RTCRtpSender: """ The :class:`RTCRtpSender` interface provides the ability to control and obtain details about how a particular :class:`MediaStreamTrack` is encoded and sent to a remote peer. :param trackOrKind: Either a :class:`MediaStreamTrack` instance or a media kind (`'audio'` or `'video'`). :param transport: An :class:`RTCDtlsTransport`. """ def __init__(self, trackOrKind: Union[MediaStreamTrack, str], transport) -> None: if transport.state == "closed": raise InvalidStateError if isinstance(trackOrKind, MediaStreamTrack): self.__kind = trackOrKind.kind self.replaceTrack(trackOrKind) else: self.__kind = trackOrKind self.replaceTrack(None) self.__cname: Optional[str] = None self._ssrc = random32() self._rtx_ssrc = random32() # FIXME: how should this be initialised? self._stream_id = str(uuid.uuid4()) self._enabled = True self.__encoder: Optional[Encoder] = None self.__force_keyframe = False self.__loop = asyncio.get_event_loop() self.__mid: Optional[str] = None self.__rtp_exited = asyncio.Event() self.__rtp_header_extensions_map = rtp.HeaderExtensionsMap() self.__rtp_started = asyncio.Event() self.__rtp_task: Optional[asyncio.Future[None]] = None self.__rtp_history: Dict[int, RtpPacket] = {} self.__rtcp_exited = asyncio.Event() self.__rtcp_started = asyncio.Event() self.__rtcp_task: Optional[asyncio.Future[None]] = None self.__rtx_payload_type: Optional[int] = None self.__rtx_sequence_number = random_sequence_number() self.__started = False self.__stats = RTCStatsReport() self.__transport = transport # stats self.__lsr: Optional[int] = None self.__lsr_time: Optional[float] = None self.__ntp_timestamp = 0 self.__rtp_timestamp = 0 self.__octet_count = 0 self.__packet_count = 0 self.__rtt: Optional[float] = None # logging self.__log_debug: Callable[..., None] = lambda *args: None if logger.isEnabledFor(logging.DEBUG): self.__log_debug = lambda msg, *args: logger.debug( f"RTCRtpSender(%s) {msg}", self.__kind, *args ) @property def kind(self): return self.__kind @property def track(self) -> MediaStreamTrack: """ The :class:`MediaStreamTrack` which is being handled by the sender. """ return self.__track @property def transport(self): """ The :class:`RTCDtlsTransport` over which media data for the track is transmitted. """ return self.__transport @classmethod def getCapabilities(self, kind): """ Returns the most optimistic view of the system's capabilities for sending media of the given `kind`. :rtype: :class:`RTCRtpCapabilities` """ return get_capabilities(kind) async def getStats(self) -> RTCStatsReport: """ Returns statistics about the RTP sender. :rtype: :class:`RTCStatsReport` """ self.__stats.add( RTCOutboundRtpStreamStats( # RTCStats timestamp=clock.current_datetime(), type="outbound-rtp", id="outbound-rtp_" + str(id(self)), # RTCStreamStats ssrc=self._ssrc, kind=self.__kind, transportId=self.transport._stats_id, # RTCSentRtpStreamStats packetsSent=self.__packet_count, bytesSent=self.__octet_count, # RTCOutboundRtpStreamStats trackId=str(id(self.track)), ) ) self.__stats.update(self.transport._get_stats()) return self.__stats def replaceTrack(self, track: Optional[MediaStreamTrack]) -> None: self.__track = track if track is not None: self._track_id = track.id else: self._track_id = str(uuid.uuid4()) def setTransport(self, transport) -> None: self.__transport = transport async def send(self, parameters: RTCRtpSendParameters) -> None: """ Attempt to set the parameters controlling the sending of media. :param parameters: The :class:`RTCRtpSendParameters` for the sender. """ if not self.__started: self.__cname = parameters.rtcp.cname self.__mid = parameters.muxId # make note of the RTP header extension IDs self.__transport._register_rtp_sender(self, parameters) self.__rtp_header_extensions_map.configure(parameters) # make note of RTX payload type for codec in parameters.codecs: if ( is_rtx(codec) and codec.parameters["apt"] == parameters.codecs[0].payloadType ): self.__rtx_payload_type = codec.payloadType break self.__rtp_task = asyncio.ensure_future(self._run_rtp(parameters.codecs[0])) self.__rtcp_task = asyncio.ensure_future(self._run_rtcp()) self.__started = True async def stop(self) -> None: """ Irreversibly stop the sender. """ if self.__started: self.__transport._unregister_rtp_sender(self) # shutdown RTP and RTCP tasks await asyncio.gather(self.__rtp_started.wait(), self.__rtcp_started.wait()) self.__rtp_task.cancel() self.__rtcp_task.cancel() await asyncio.gather(self.__rtp_exited.wait(), self.__rtcp_exited.wait()) async def _handle_rtcp_packet(self, packet) -> None: if isinstance(packet, (RtcpRrPacket, RtcpSrPacket)): for report in filter(lambda x: x.ssrc == self._ssrc, packet.reports): # estimate round-trip time if self.__lsr == report.lsr and report.dlsr: rtt = time.time() - self.__lsr_time - (report.dlsr / 65536) if self.__rtt is None: self.__rtt = rtt else: self.__rtt = RTT_ALPHA * self.__rtt + (1 - RTT_ALPHA) * rtt self.__stats.add( RTCRemoteInboundRtpStreamStats( # RTCStats timestamp=clock.current_datetime(), type="remote-inbound-rtp", id="remote-inbound-rtp_" + str(id(self)), # RTCStreamStats ssrc=packet.ssrc, kind=self.__kind, transportId=self.transport._stats_id, # RTCReceivedRtpStreamStats packetsReceived=self.__packet_count - report.packets_lost, packetsLost=report.packets_lost, jitter=report.jitter, # RTCRemoteInboundRtpStreamStats roundTripTime=self.__rtt, fractionLost=report.fraction_lost, ) ) elif isinstance(packet, RtcpRtpfbPacket) and packet.fmt == RTCP_RTPFB_NACK: for seq in packet.lost: await self._retransmit(seq) elif isinstance(packet, RtcpPsfbPacket) and packet.fmt == RTCP_PSFB_PLI: self._send_keyframe() elif isinstance(packet, RtcpPsfbPacket) and packet.fmt == RTCP_PSFB_APP: try: bitrate, ssrcs = unpack_remb_fci(packet.fci) if self._ssrc in ssrcs: self.__log_debug( "- receiver estimated maximum bitrate %d bps", bitrate ) if self.__encoder and hasattr(self.__encoder, "target_bitrate"): self.__encoder.target_bitrate = bitrate except ValueError: pass async def _next_encoded_frame( self, codec: RTCRtpCodecParameters ) -> Optional[RTCEncodedFrame]: # Get [Frame|Packet]. data = await self.__track.recv() # If the sender is disabled, drop the frame instead of encoding it. # We still want to read from the track in order to avoid frames # accumulating in memory. if not self._enabled: return None audio_level = None if self.__encoder is None: self.__encoder = get_encoder(codec) if isinstance(data, Frame): # Encode the frame. if isinstance(data, AudioFrame): audio_level = rtp.compute_audio_level_dbov(data) force_keyframe = self.__force_keyframe self.__force_keyframe = False payloads, timestamp = await self.__loop.run_in_executor( None, self.__encoder.encode, data, force_keyframe ) else: # Pack the pre-encoded data. payloads, timestamp = self.__encoder.pack(data) # If the encoder did not return any payloads, return `None`. # This may be due to a delay caused by resampling. if not payloads: return None return RTCEncodedFrame(payloads, timestamp, audio_level) async def _retransmit(self, sequence_number: int) -> None: """ Retransmit an RTP packet which was reported as lost. """ packet = self.__rtp_history.get(sequence_number % RTP_HISTORY_SIZE) if packet and packet.sequence_number == sequence_number: if self.__rtx_payload_type is not None: packet = wrap_rtx( packet, payload_type=self.__rtx_payload_type, sequence_number=self.__rtx_sequence_number, ssrc=self._rtx_ssrc, ) self.__rtx_sequence_number = uint16_add(self.__rtx_sequence_number, 1) self.__log_debug("> %s", packet) packet_bytes = packet.serialize(self.__rtp_header_extensions_map) await self.transport._send_rtp(packet_bytes) def _send_keyframe(self) -> None: """ Request the next frame to be a keyframe. """ self.__force_keyframe = True async def _run_rtp(self, codec: RTCRtpCodecParameters) -> None: self.__log_debug("- RTP started") self.__rtp_started.set() sequence_number = random_sequence_number() timestamp_origin = random32() try: while True: if not self.__track: await asyncio.sleep(0.02) continue # Fetch the next encoded frame. This can be `None` if the sender # is disabled, in which case we just continue the loop. enc_frame = await self._next_encoded_frame(codec) if enc_frame is None: continue timestamp = uint32_add(timestamp_origin, enc_frame.timestamp) for i, payload in enumerate(enc_frame.payloads): packet = RtpPacket( payload_type=codec.payloadType, sequence_number=sequence_number, timestamp=timestamp, ) packet.ssrc = self._ssrc packet.payload = payload packet.marker = (i == len(enc_frame.payloads) - 1) and 1 or 0 # set header extensions packet.extensions.abs_send_time = ( clock.current_ntp_time() >> 14 ) & 0x00FFFFFF packet.extensions.mid = self.__mid if enc_frame.audio_level is not None: packet.extensions.audio_level = (False, -enc_frame.audio_level) # send packet self.__log_debug("> %s", packet) self.__rtp_history[packet.sequence_number % RTP_HISTORY_SIZE] = ( packet ) packet_bytes = packet.serialize(self.__rtp_header_extensions_map) await self.transport._send_rtp(packet_bytes) self.__ntp_timestamp = clock.current_ntp_time() self.__rtp_timestamp = packet.timestamp self.__octet_count += len(payload) self.__packet_count += 1 sequence_number = uint16_add(sequence_number, 1) except (asyncio.CancelledError, ConnectionError, MediaStreamError): pass except Exception: # we *need* to set __rtp_exited, otherwise RTCRtpSender.stop() will hang, # so issue a warning if we hit an unexpected exception self.__log_warning(traceback.format_exc()) # stop track if self.__track: self.__track.stop() self.__track = None # release encoder self.__encoder = None self.__log_debug("- RTP finished") self.__rtp_exited.set() async def _run_rtcp(self) -> None: self.__log_debug("- RTCP started") self.__rtcp_started.set() try: while True: # The interval between RTCP packets is varied randomly over the # range [0.5, 1.5] times the calculated interval. await asyncio.sleep(0.5 + random.random()) # RTCP SR packets: List[AnyRtcpPacket] = [ RtcpSrPacket( ssrc=self._ssrc, sender_info=RtcpSenderInfo( ntp_timestamp=self.__ntp_timestamp, rtp_timestamp=self.__rtp_timestamp, packet_count=self.__packet_count, octet_count=self.__octet_count, ), ) ] self.__lsr = ((self.__ntp_timestamp) >> 16) & 0xFFFFFFFF self.__lsr_time = time.time() # RTCP SDES if self.__cname is not None: packets.append( RtcpSdesPacket( chunks=[ RtcpSourceInfo( ssrc=self._ssrc, items=[(1, self.__cname.encode("utf8"))], ) ] ) ) await self._send_rtcp(packets) except asyncio.CancelledError: pass # RTCP BYE packet = RtcpByePacket(sources=[self._ssrc]) await self._send_rtcp([packet]) self.__log_debug("- RTCP finished") self.__rtcp_exited.set() async def _send_rtcp(self, packets: List[AnyRtcpPacket]) -> None: payload = b"" for packet in packets: self.__log_debug("> %s", packet) payload += bytes(packet) try: await self.transport._send_rtp(payload) except ConnectionError: pass def __log_warning(self, msg: str, *args) -> None: logger.warning(f"RTCRtpsender(%s) {msg}", self.__kind, *args) aiortc-1.11.0/src/aiortc/rtcrtptransceiver.py000066400000000000000000000113141477147103300212700ustar00rootroot00000000000000import logging from typing import List, Optional from .codecs import get_capabilities from .rtcdtlstransport import RTCDtlsTransport from .rtcrtpparameters import ( RTCRtpCodecCapability, RTCRtpCodecParameters, RTCRtpHeaderExtensionParameters, ) from .rtcrtpreceiver import RTCRtpReceiver from .rtcrtpsender import RTCRtpSender from .sdp import DIRECTIONS logger = logging.getLogger(__name__) class RTCRtpTransceiver: """ The RTCRtpTransceiver interface describes a permanent pairing of an :class:`RTCRtpSender` and an :class:`RTCRtpReceiver`, along with some shared state. """ def __init__( self, kind: str, receiver: RTCRtpReceiver, sender: RTCRtpSender, direction: str = "sendrecv", ): self.__currentDirection: Optional[str] = None self.__direction = direction self.__kind = kind self.__mid: Optional[str] = None self.__mline_index: Optional[int] = None self.__receiver = receiver self.__sender = sender self.__stopped = False self._offerDirection: Optional[str] = None self._preferred_codecs: List[RTCRtpCodecCapability] = [] self._transport: RTCDtlsTransport = None # FIXME: this is only used by RTCPeerConnection self._bundled = False self._codecs: List[RTCRtpCodecParameters] = [] self._headerExtensions: List[RTCRtpHeaderExtensionParameters] = [] @property def currentDirection(self) -> Optional[str]: """ The currently negotiated direction of the transceiver. One of `'sendrecv'`, `'sendonly'`, `'recvonly'`, `'inactive'` or `None`. """ return self.__currentDirection @property def direction(self) -> str: """ The preferred direction of the transceiver, which will be used in :meth:`RTCPeerConnection.createOffer` and :meth:`RTCPeerConnection.createAnswer`. One of `'sendrecv'`, `'sendonly'`, `'recvonly'` or `'inactive'`. """ return self.__direction @direction.setter def direction(self, direction: str) -> None: assert direction in DIRECTIONS self.__direction = direction @property def kind(self) -> str: return self.__kind @property def mid(self) -> Optional[str]: return self.__mid @property def receiver(self) -> RTCRtpReceiver: """ The :class:`RTCRtpReceiver` that handles receiving and decoding incoming media. """ return self.__receiver @property def sender(self) -> RTCRtpSender: """ The :class:`RTCRtpSender` responsible for encoding and sending data to the remote peer. """ return self.__sender @property def stopped(self) -> bool: return self.__stopped def setCodecPreferences(self, codecs: List[RTCRtpCodecCapability]) -> None: """ Override the default codec preferences. See :meth:`RTCRtpSender.getCapabilities` and :meth:`RTCRtpReceiver.getCapabilities` for the supported codecs. :param codecs: A list of :class:`RTCRtpCodecCapability`, in decreasing order of preference. If empty, restores the default preferences. """ if not codecs: self._preferred_codecs = [] capabilities = get_capabilities(self.kind).codecs unique: List[RTCRtpCodecCapability] = [] for codec in reversed(codecs): if codec not in capabilities: raise ValueError("Codec is not in capabilities") if codec not in unique: unique.insert(0, codec) self._preferred_codecs = unique async def stop(self) -> None: """ Permanently stops the :class:`RTCRtpTransceiver`. """ await self.__receiver.stop() await self.__sender.stop() self.__stopped = True def _setCurrentDirection(self, direction: str) -> None: self.__currentDirection = direction if direction == "sendrecv": self.__sender._enabled = True self.__receiver._enabled = True elif direction == "sendonly": self.__sender._enabled = True self.__receiver._enabled = False elif direction == "recvonly": self.__sender._enabled = False self.__receiver._enabled = True elif direction == "inactive": self.__sender._enabled = False self.__receiver._enabled = False def _set_mid(self, mid: str) -> None: self.__mid = mid def _get_mline_index(self) -> Optional[int]: return self.__mline_index def _set_mline_index(self, idx: int) -> None: self.__mline_index = idx aiortc-1.11.0/src/aiortc/rtcsctptransport.py000066400000000000000000001665301477147103300211560ustar00rootroot00000000000000import asyncio import enum import hmac import logging import math import os import time from collections import deque from dataclasses import dataclass, field from struct import pack, unpack_from from typing import ( Any, Callable, Deque, Dict, Iterator, List, Optional, Set, Tuple, cast, no_type_check, ) from google_crc32c import value as crc32c from pyee.asyncio import AsyncIOEventEmitter from .exceptions import InvalidStateError from .rtcdatachannel import RTCDataChannel, RTCDataChannelParameters from .rtcdtlstransport import RTCDtlsTransport from .utils import random32, uint16_add, uint16_gt, uint32_gt, uint32_gte logger = logging.getLogger(__name__) # local constants COOKIE_LENGTH = 24 COOKIE_LIFETIME = 60 MAX_STREAMS = 65535 USERDATA_MAX_LENGTH = 1200 # protocol constants SCTP_CAUSE_INVALID_STREAM = 0x0001 SCTP_CAUSE_STALE_COOKIE = 0x0003 SCTP_DATA_LAST_FRAG = 0x01 SCTP_DATA_FIRST_FRAG = 0x02 SCTP_DATA_UNORDERED = 0x04 SCTP_MAX_ASSOCIATION_RETRANS = 10 SCTP_MAX_BURST = 4 SCTP_MAX_INIT_RETRANS = 8 SCTP_RTO_ALPHA = 1 / 8 SCTP_RTO_BETA = 1 / 4 SCTP_RTO_INITIAL = 3.0 SCTP_RTO_MIN = 1 SCTP_RTO_MAX = 60 SCTP_TSN_MODULO = 2**32 RECONFIG_MAX_STREAMS = 135 # parameters SCTP_STATE_COOKIE = 0x0007 SCTP_STR_RESET_OUT_REQUEST = 0x000D SCTP_STR_RESET_RESPONSE = 0x0010 SCTP_STR_RESET_ADD_OUT_STREAMS = 0x0011 SCTP_SUPPORTED_CHUNK_EXT = 0x8008 SCTP_PRSCTP_SUPPORTED = 0xC000 # data channel constants DATA_CHANNEL_ACK = 2 DATA_CHANNEL_OPEN = 3 DATA_CHANNEL_RELIABLE = 0x00 DATA_CHANNEL_PARTIAL_RELIABLE_REXMIT = 0x01 DATA_CHANNEL_PARTIAL_RELIABLE_TIMED = 0x02 DATA_CHANNEL_RELIABLE_UNORDERED = 0x80 DATA_CHANNEL_PARTIAL_RELIABLE_REXMIT_UNORDERED = 0x81 DATA_CHANNEL_PARTIAL_RELIABLE_TIMED_UNORDERED = 0x82 WEBRTC_DCEP = 50 WEBRTC_STRING = 51 WEBRTC_BINARY = 53 WEBRTC_STRING_EMPTY = 56 WEBRTC_BINARY_EMPTY = 57 def chunk_type(chunk) -> str: return chunk.__class__.__name__ def decode_params(body: bytes) -> List[Tuple[int, bytes]]: params = [] pos = 0 while pos <= len(body) - 4: param_type, param_length = unpack_from("!HH", body, pos) params.append((param_type, body[pos + 4 : pos + param_length])) pos += param_length + padl(param_length) return params def encode_params(params: List[Tuple[int, bytes]]) -> bytes: body = b"" padding = b"" for param_type, param_value in params: param_length = len(param_value) + 4 body += padding body += pack("!HH", param_type, param_length) + param_value padding = b"\x00" * padl(param_length) return body def padl(length: int) -> int: m = length % 4 return 4 - m if m else 0 def tsn_minus_one(a: int) -> int: return (a - 1) % SCTP_TSN_MODULO def tsn_plus_one(a: int) -> int: return (a + 1) % SCTP_TSN_MODULO class Chunk: type = -1 def __init__(self, flags: int = 0, body: bytes = b"") -> None: self.flags = flags self.body = body def __bytes__(self) -> bytes: body = self.body data = pack("!BBH", self.type, self.flags, len(body) + 4) + body data += b"\x00" * padl(len(body)) return data def __repr__(self) -> str: return f"{chunk_type(self)}(flags={self.flags})" class BaseParamsChunk(Chunk): def __init__(self, flags: int = 0, body: Optional[bytes] = None) -> None: self.flags = flags if body: self.params = decode_params(body) else: self.params = [] @property def body(self) -> bytes: # type: ignore return encode_params(self.params) class AbortChunk(BaseParamsChunk): type = 6 class CookieAckChunk(Chunk): type = 11 class CookieEchoChunk(Chunk): type = 10 class DataChunk(Chunk): type = 0 def __init__(self, flags: int = 0, body: Optional[bytes] = None) -> None: self.flags = flags if body: (self.tsn, self.stream_id, self.stream_seq, self.protocol) = unpack_from( "!LHHL", body ) self.user_data = body[12:] else: self.tsn = 0 self.stream_id = 0 self.stream_seq = 0 self.protocol = 0 self.user_data = b"" def __bytes__(self) -> bytes: length = 16 + len(self.user_data) data = ( pack( "!BBHLHHL", self.type, self.flags, length, self.tsn, self.stream_id, self.stream_seq, self.protocol, ) + self.user_data ) if length % 4: data += b"\x00" * padl(length) return data def __repr__(self) -> str: return ( f"DataChunk(flags={self.flags}, tsn={self.tsn}, " f"stream_id={self.stream_id}, stream_seq={self.stream_seq})" ) class ErrorChunk(BaseParamsChunk): type = 9 class ForwardTsnChunk(Chunk): type = 192 def __init__(self, flags: int = 0, body: Optional[bytes] = None) -> None: self.flags = flags self.streams: List[Tuple[int, int]] = [] if body: self.cumulative_tsn = unpack_from("!L", body, 0)[0] pos = 4 while pos < len(body): self.streams.append( cast(Tuple[int, int], unpack_from("!HH", body, pos)) ) pos += 4 else: self.cumulative_tsn = 0 @property def body(self) -> bytes: # type: ignore body = pack("!L", self.cumulative_tsn) for stream_id, stream_seq in self.streams: body += pack("!HH", stream_id, stream_seq) return body def __repr__(self) -> str: return ( f"ForwardTsnChunk(cumulative_tsn={self.cumulative_tsn}, " f"streams={self.streams})" ) class HeartbeatChunk(BaseParamsChunk): type = 4 class HeartbeatAckChunk(BaseParamsChunk): type = 5 class BaseInitChunk(Chunk): def __init__(self, flags: int = 0, body: Optional[bytes] = None) -> None: self.flags = flags if body: ( self.initiate_tag, self.advertised_rwnd, self.outbound_streams, self.inbound_streams, self.initial_tsn, ) = unpack_from("!LLHHL", body) self.params = decode_params(body[16:]) else: self.initiate_tag = 0 self.advertised_rwnd = 0 self.outbound_streams = 0 self.inbound_streams = 0 self.initial_tsn = 0 self.params = [] @property def body(self) -> bytes: # type: ignore body = pack( "!LLHHL", self.initiate_tag, self.advertised_rwnd, self.outbound_streams, self.inbound_streams, self.initial_tsn, ) body += encode_params(self.params) return body class InitChunk(BaseInitChunk): type = 1 class InitAckChunk(BaseInitChunk): type = 2 class ReconfigChunk(BaseParamsChunk): type = 130 class SackChunk(Chunk): type = 3 def __init__(self, flags=0, body=None): self.flags = flags self.gaps = [] self.duplicates = [] if body: ( self.cumulative_tsn, self.advertised_rwnd, nb_gaps, nb_duplicates, ) = unpack_from("!LLHH", body) pos = 12 for i in range(nb_gaps): self.gaps.append(unpack_from("!HH", body, pos)) pos += 4 for i in range(nb_duplicates): self.duplicates.append(unpack_from("!L", body, pos)[0]) pos += 4 else: self.cumulative_tsn = 0 self.advertised_rwnd = 0 def __bytes__(self) -> bytes: length = 16 + 4 * (len(self.gaps) + len(self.duplicates)) data = pack( "!BBHLLHH", self.type, self.flags, length, self.cumulative_tsn, self.advertised_rwnd, len(self.gaps), len(self.duplicates), ) for gap in self.gaps: data += pack("!HH", *gap) for tsn in self.duplicates: data += pack("!L", tsn) return data def __repr__(self) -> str: return ( f"SackChunk(flags={self.flags}, advertised_rwnd={self.advertised_rwnd}, " f"cumulative_tsn={self.cumulative_tsn}, gaps={self.gaps})" ) class ShutdownChunk(Chunk): type = 7 def __init__(self, flags=0, body=None): self.flags = flags if body: self.cumulative_tsn = unpack_from("!L", body)[0] else: self.cumulative_tsn = 0 @property def body(self) -> bytes: # type: ignore return pack("!L", self.cumulative_tsn) def __repr__(self) -> str: return ( f"ShutdownChunk(flags={self.flags}, cumulative_tsn={self.cumulative_tsn})" ) class ShutdownAckChunk(Chunk): type = 8 class ShutdownCompleteChunk(Chunk): type = 14 CHUNK_CLASSES = [ DataChunk, InitChunk, InitAckChunk, SackChunk, HeartbeatChunk, HeartbeatAckChunk, AbortChunk, ShutdownChunk, ShutdownAckChunk, ErrorChunk, CookieEchoChunk, CookieAckChunk, ShutdownCompleteChunk, ReconfigChunk, ForwardTsnChunk, ] CHUNK_TYPES = dict((cls.type, cls) for cls in CHUNK_CLASSES) def parse_packet(data: bytes) -> Tuple[int, int, int, List[Any]]: length = len(data) if length < 12: raise ValueError("SCTP packet length is less than 12 bytes") source_port, destination_port, verification_tag = unpack_from("!HHL", data) # verify checksum checksum = unpack_from(" bytes: header = pack("!HHL", source_port, destination_port, verification_tag) data = bytes(chunk) checksum = crc32c(header + b"\x00\x00\x00\x00" + data) return header + pack(" bytes: data = pack( "!LLL", self.request_sequence, self.response_sequence, self.last_tsn ) for stream in self.streams: data += pack("!H", stream) return data @classmethod def parse(cls, data): request_sequence, response_sequence, last_tsn = unpack_from("!LLL", data) streams = [] for pos in range(12, len(data), 2): streams.append(unpack_from("!H", data, pos)[0]) return cls( request_sequence=request_sequence, response_sequence=response_sequence, last_tsn=last_tsn, streams=streams, ) @dataclass class StreamAddOutgoingParam: request_sequence: int new_streams: int def __bytes__(self) -> bytes: data = pack("!LHH", self.request_sequence, self.new_streams, 0) return data @classmethod def parse(cls, data): request_sequence, new_streams, reserved = unpack_from("!LHH", data) return cls(request_sequence=request_sequence, new_streams=new_streams) @dataclass class StreamResetResponseParam: response_sequence: int result: int def __bytes__(self) -> bytes: return pack("!LL", self.response_sequence, self.result) @classmethod def parse(cls, data): response_sequence, result = unpack_from("!LL", data) return cls(response_sequence=response_sequence, result=result) RECONFIG_PARAM_TYPES = { 13: StreamResetOutgoingParam, 16: StreamResetResponseParam, 17: StreamAddOutgoingParam, } class InboundStream: def __init__(self) -> None: self.reassembly: List[DataChunk] = [] self.sequence_number = 0 def add_chunk(self, chunk: DataChunk) -> None: if not self.reassembly or uint32_gt(chunk.tsn, self.reassembly[-1].tsn): self.reassembly.append(chunk) return for i, rchunk in enumerate(self.reassembly): # should never happen, the chunk should have been eliminated # as a duplicate when _mark_received() is called assert rchunk.tsn != chunk.tsn, "duplicate chunk in reassembly" if uint32_gt(rchunk.tsn, chunk.tsn): self.reassembly.insert(i, chunk) break def pop_messages(self) -> Iterator[Tuple[int, int, bytes]]: pos = 0 start_pos = None while pos < len(self.reassembly): chunk = self.reassembly[pos] if start_pos is None: ordered = not (chunk.flags & SCTP_DATA_UNORDERED) if not (chunk.flags & SCTP_DATA_FIRST_FRAG): if ordered: break else: pos += 1 continue if ordered and uint16_gt(chunk.stream_seq, self.sequence_number): break expected_tsn = chunk.tsn start_pos = pos elif chunk.tsn != expected_tsn: if ordered: break else: start_pos = None pos += 1 continue if chunk.flags & SCTP_DATA_LAST_FRAG: user_data = b"".join( [c.user_data for c in self.reassembly[start_pos : pos + 1]] ) self.reassembly = ( self.reassembly[:start_pos] + self.reassembly[pos + 1 :] ) if ordered and chunk.stream_seq == self.sequence_number: self.sequence_number = uint16_add(self.sequence_number, 1) pos = start_pos yield (chunk.stream_id, chunk.protocol, user_data) else: pos += 1 expected_tsn = tsn_plus_one(expected_tsn) def prune_chunks(self, tsn: int) -> int: """ Prune chunks up to the given TSN. """ pos = -1 size = 0 for i, chunk in enumerate(self.reassembly): if uint32_gte(tsn, chunk.tsn): pos = i size += len(chunk.user_data) else: break self.reassembly = self.reassembly[pos + 1 :] return size @dataclass class RTCSctpCapabilities: """ The :class:`RTCSctpCapabilities` dictionary provides information about the capabilities of the :class:`RTCSctpTransport`. """ maxMessageSize: int """ The maximum size of data that the implementation can send or 0 if the implementation can handle messages of any size. """ class RTCSctpTransport(AsyncIOEventEmitter): """ The :class:`RTCSctpTransport` interface includes information relating to Stream Control Transmission Protocol (SCTP) transport. :param transport: An :class:`RTCDtlsTransport`. """ def __init__(self, transport: RTCDtlsTransport, port: int = 5000) -> None: if transport.state == "closed": raise InvalidStateError super().__init__() self._association_state = self.State.CLOSED self.__log_debug: Callable[..., None] = lambda *args: None self.__started = False self.__state = "new" self.__transport = transport self._loop = asyncio.get_event_loop() self._hmac_key = os.urandom(16) self._local_partial_reliability = True self._local_port = port self._local_verification_tag = random32() self._remote_extensions: List[int] = [] self._remote_partial_reliability = False self._remote_port: Optional[int] = None self._remote_verification_tag = 0 # inbound self._advertised_rwnd = 1024 * 1024 self._inbound_streams: Dict[int, InboundStream] = {} self._inbound_streams_count = 0 self._inbound_streams_max = MAX_STREAMS self._last_received_tsn: Optional[int] = None self._sack_duplicates: List[int] = [] self._sack_misordered: Set[int] = set() self._sack_needed = False # outbound self._cwnd = 3 * USERDATA_MAX_LENGTH self._fast_recovery_exit = None self._fast_recovery_transmit = False self._forward_tsn_chunk: Optional[ForwardTsnChunk] = None self._flight_size = 0 self._local_tsn = random32() self._last_sacked_tsn = tsn_minus_one(self._local_tsn) self._advanced_peer_ack_tsn = tsn_minus_one(self._local_tsn) self._outbound_queue: Deque[DataChunk] = deque() self._outbound_stream_seq: Dict[int, int] = {} self._outbound_streams_count = MAX_STREAMS self._partial_bytes_acked = 0 self._sent_queue: Deque[DataChunk] = deque() # reconfiguration self._reconfig_queue: List[int] = [] self._reconfig_request = None self._reconfig_request_seq = self._local_tsn self._reconfig_response_seq = 0 # rtt calculation self._srtt: Optional[float] = None self._rttvar: Optional[float] = None # timers self._rto = SCTP_RTO_INITIAL self._t1_chunk: Optional[Chunk] = None self._t1_failures = 0 self._t1_handle: Optional[asyncio.TimerHandle] = None self._t2_chunk: Optional[Chunk] = None self._t2_failures = 0 self._t2_handle: Optional[asyncio.TimerHandle] = None self._t3_handle: Optional[asyncio.TimerHandle] = None # data channels self._data_channel_id: Optional[int] = None self._data_channel_queue: Deque[Tuple[RTCDataChannel, int, bytes]] = deque() self._data_channels: Dict[int, RTCDataChannel] = {} # FIXME: this is only used by RTCPeerConnection self._bundled = False self.mid: Optional[str] = None @property def is_server(self) -> bool: return self.transport.transport.role != "controlling" @property def maxChannels(self) -> Optional[int]: """ The maximum number of :class:`RTCDataChannel` that can be used simultaneously. """ if self._inbound_streams_count: return min(self._inbound_streams_count, self._outbound_streams_count) return None @property def port(self) -> int: """ The local SCTP port number used for data channels. """ return self._local_port @property def state(self) -> str: """ The current state of the SCTP transport. """ return self.__state @property def transport(self): """ The :class:`RTCDtlsTransport` over which SCTP data is transmitted. """ return self.__transport @classmethod def getCapabilities(cls) -> RTCSctpCapabilities: """ Retrieve the capabilities of the transport. :rtype: RTCSctpCapabilities """ return RTCSctpCapabilities(maxMessageSize=65536) def setTransport(self, transport) -> None: self.__transport = transport async def start(self, remoteCaps: RTCSctpCapabilities, remotePort: int) -> None: """ Start the transport. """ if not self.__started: self.__started = True self.__state = "connecting" self._remote_port = remotePort # configure logging if logger.isEnabledFor(logging.DEBUG): prefix = "RTCSctpTransport(%s) " % ( self.is_server and "server" or "client" ) self.__log_debug = lambda msg, *args: logger.debug(prefix + msg, *args) # initialise local channel ID counter # one side should be using even IDs, the other odd IDs if self.is_server: self._data_channel_id = 0 else: self._data_channel_id = 1 self.__transport._register_data_receiver(self) if not self.is_server: await self._init() async def stop(self) -> None: """ Stop the transport. """ if self._association_state != self.State.CLOSED: await self._abort() self.__transport._unregister_data_receiver(self) self._set_state(self.State.CLOSED) async def _abort(self) -> None: """ Abort the association. """ chunk = AbortChunk() try: await self._send_chunk(chunk) except ConnectionError: pass async def _init(self) -> None: """ Initialize the association. """ chunk = InitChunk() chunk.initiate_tag = self._local_verification_tag chunk.advertised_rwnd = self._advertised_rwnd chunk.outbound_streams = self._outbound_streams_count chunk.inbound_streams = self._inbound_streams_max chunk.initial_tsn = self._local_tsn self._set_extensions(chunk.params) await self._send_chunk(chunk) # start T1 timer and enter COOKIE-WAIT state self._t1_start(chunk) self._set_state(self.State.COOKIE_WAIT) def _flight_size_decrease(self, chunk: DataChunk) -> None: self._flight_size = max(0, self._flight_size - chunk._book_size) # type: ignore def _flight_size_increase(self, chunk: DataChunk) -> None: self._flight_size += chunk._book_size # type: ignore def _get_extensions(self, params: List[Tuple[int, bytes]]) -> None: """ Gets what extensions are supported by the remote party. """ for k, v in params: if k == SCTP_PRSCTP_SUPPORTED: self._remote_partial_reliability = True elif k == SCTP_SUPPORTED_CHUNK_EXT: self._remote_extensions = list(v) def _set_extensions(self, params: List[Tuple[int, bytes]]) -> None: """ Sets what extensions are supported by the local party. """ extensions = [] if self._local_partial_reliability: params.append((SCTP_PRSCTP_SUPPORTED, b"")) extensions.append(ForwardTsnChunk.type) extensions.append(ReconfigChunk.type) params.append((SCTP_SUPPORTED_CHUNK_EXT, bytes(extensions))) def _get_inbound_stream(self, stream_id: int) -> InboundStream: """ Get or create the inbound stream with the specified ID. """ if stream_id not in self._inbound_streams: self._inbound_streams[stream_id] = InboundStream() return self._inbound_streams[stream_id] def _get_timestamp(self) -> int: return int(time.time()) async def _handle_data(self, data): """ Handle data received from the network. """ try: _, _, verification_tag, chunks = parse_packet(data) except ValueError: return # is this an init? init_chunk = len([x for x in chunks if isinstance(x, InitChunk)]) if init_chunk: assert len(chunks) == 1 expected_tag = 0 else: expected_tag = self._local_verification_tag # verify tag if verification_tag != expected_tag: self.__log_debug( "Bad verification tag %d vs %d", verification_tag, expected_tag ) return # handle chunks for chunk in chunks: await self._receive_chunk(chunk) # send SACK if needed if self._sack_needed: await self._send_sack() @no_type_check def _maybe_abandon(self, chunk: DataChunk) -> bool: """ Determine if a chunk needs to be marked as abandoned. If it does, it marks the chunk and any other chunk belong to the same message as abandoned. """ if chunk._abandoned: return True abandon = ( chunk._max_retransmits is not None and chunk._sent_count > chunk._max_retransmits ) or (chunk._expiry is not None and chunk._expiry < time.time()) if not abandon: return False chunk_pos = self._sent_queue.index(chunk) for pos in range(chunk_pos, -1, -1): ochunk = self._sent_queue[pos] ochunk._abandoned = True ochunk._retransmit = False if ochunk.flags & SCTP_DATA_FIRST_FRAG: break for pos in range(chunk_pos, len(self._sent_queue)): ochunk = self._sent_queue[pos] ochunk._abandoned = True ochunk._retransmit = False if ochunk.flags & SCTP_DATA_LAST_FRAG: break return True def _mark_received(self, tsn: int) -> bool: """ Mark an incoming data TSN as received. """ # it's a duplicate if uint32_gte(self._last_received_tsn, tsn) or tsn in self._sack_misordered: self._sack_duplicates.append(tsn) return True # consolidate misordered entries self._sack_misordered.add(tsn) for tsn in sorted(self._sack_misordered): if tsn == tsn_plus_one(self._last_received_tsn): self._last_received_tsn = tsn else: break # filter out obsolete entries def is_obsolete(x): return uint32_gt(x, self._last_received_tsn) self._sack_duplicates = list(filter(is_obsolete, self._sack_duplicates)) self._sack_misordered = set(filter(is_obsolete, self._sack_misordered)) return False async def _receive(self, stream_id: int, pp_id: int, data: bytes) -> None: """ Receive data stream -> ULP. """ await self._data_channel_receive(stream_id, pp_id, data) async def _receive_chunk(self, chunk): """ Handle an incoming chunk. """ self.__log_debug("< %s", chunk) # common if isinstance(chunk, DataChunk): await self._receive_data_chunk(chunk) elif isinstance(chunk, SackChunk): await self._receive_sack_chunk(chunk) elif isinstance(chunk, ForwardTsnChunk): await self._receive_forward_tsn_chunk(chunk) elif isinstance(chunk, HeartbeatChunk): ack = HeartbeatAckChunk() ack.params = chunk.params await self._send_chunk(ack) elif isinstance(chunk, AbortChunk): self.__log_debug("x Association was aborted by remote party") self._set_state(self.State.CLOSED) elif isinstance(chunk, ShutdownChunk): self._t2_cancel() self._set_state(self.State.SHUTDOWN_RECEIVED) ack = ShutdownAckChunk() await self._send_chunk(ack) self._t2_start(ack) self._set_state(self.State.SHUTDOWN_ACK_SENT) elif ( isinstance(chunk, ShutdownCompleteChunk) and self._association_state == self.State.SHUTDOWN_ACK_SENT ): self._t2_cancel() self._set_state(self.State.CLOSED) elif ( isinstance(chunk, ReconfigChunk) and self._association_state == self.State.ESTABLISHED ): for param in chunk.params: cls = RECONFIG_PARAM_TYPES.get(param[0]) if cls: await self._receive_reconfig_param(cls.parse(param[1])) # server elif isinstance(chunk, InitChunk) and self.is_server: self._last_received_tsn = tsn_minus_one(chunk.initial_tsn) self._reconfig_response_seq = tsn_minus_one(chunk.initial_tsn) self._remote_verification_tag = chunk.initiate_tag self._ssthresh = chunk.advertised_rwnd self._get_extensions(chunk.params) self.__log_debug( "- Peer supports %d outbound streams, %d max inbound streams", chunk.outbound_streams, chunk.inbound_streams, ) self._inbound_streams_count = min( chunk.outbound_streams, self._inbound_streams_max ) self._outbound_streams_count = min( self._outbound_streams_count, chunk.inbound_streams ) ack = InitAckChunk() ack.initiate_tag = self._local_verification_tag ack.advertised_rwnd = self._advertised_rwnd ack.outbound_streams = self._outbound_streams_count ack.inbound_streams = self._inbound_streams_max ack.initial_tsn = self._local_tsn self._set_extensions(ack.params) # generate state cookie cookie = pack("!L", self._get_timestamp()) cookie += hmac.new(self._hmac_key, cookie, "sha1").digest() ack.params.append((SCTP_STATE_COOKIE, cookie)) await self._send_chunk(ack) elif isinstance(chunk, CookieEchoChunk) and self.is_server: # check state cookie MAC cookie = chunk.body if ( len(cookie) != COOKIE_LENGTH or hmac.new(self._hmac_key, cookie[0:4], "sha1").digest() != cookie[4:] ): self.__log_debug("x State cookie is invalid") return # check state cookie lifetime now = self._get_timestamp() stamp = unpack_from("!L", cookie)[0] if stamp < now - COOKIE_LIFETIME or stamp > now: self.__log_debug("x State cookie has expired") error = ErrorChunk() error.params.append((SCTP_CAUSE_STALE_COOKIE, b"\x00" * 8)) await self._send_chunk(error) return ack = CookieAckChunk() await self._send_chunk(ack) self._set_state(self.State.ESTABLISHED) # client elif ( isinstance(chunk, InitAckChunk) and self._association_state == self.State.COOKIE_WAIT ): # cancel T1 timer and process chunk self._t1_cancel() self._last_received_tsn = tsn_minus_one(chunk.initial_tsn) self._reconfig_response_seq = tsn_minus_one(chunk.initial_tsn) self._remote_verification_tag = chunk.initiate_tag self._ssthresh = chunk.advertised_rwnd self._get_extensions(chunk.params) self.__log_debug( "- Peer supports %d outbound streams, %d max inbound streams", chunk.outbound_streams, chunk.inbound_streams, ) self._inbound_streams_count = min( chunk.outbound_streams, self._inbound_streams_max ) self._outbound_streams_count = min( self._outbound_streams_count, chunk.inbound_streams ) echo = CookieEchoChunk() for k, v in chunk.params: if k == SCTP_STATE_COOKIE: echo.body = v break await self._send_chunk(echo) # start T1 timer and enter COOKIE-ECHOED state self._t1_start(echo) self._set_state(self.State.COOKIE_ECHOED) elif ( isinstance(chunk, CookieAckChunk) and self._association_state == self.State.COOKIE_ECHOED ): # cancel T1 timer and enter ESTABLISHED state self._t1_cancel() self._set_state(self.State.ESTABLISHED) elif isinstance(chunk, ErrorChunk) and self._association_state in [ self.State.COOKIE_WAIT, self.State.COOKIE_ECHOED, ]: self._t1_cancel() self._set_state(self.State.CLOSED) self.__log_debug("x Could not establish association") return async def _receive_data_chunk(self, chunk: DataChunk) -> None: """ Handle a DATA chunk. """ self._sack_needed = True # mark as received if self._mark_received(chunk.tsn): return # find stream inbound_stream = self._get_inbound_stream(chunk.stream_id) # defragment data inbound_stream.add_chunk(chunk) self._advertised_rwnd -= len(chunk.user_data) for message in inbound_stream.pop_messages(): self._advertised_rwnd += len(message[2]) await self._receive(*message) async def _receive_forward_tsn_chunk(self, chunk: ForwardTsnChunk) -> None: """ Handle a FORWARD TSN chunk. """ self._sack_needed = True # it's a duplicate if uint32_gte(self._last_received_tsn, chunk.cumulative_tsn): return def is_obsolete(x): return uint32_gt(x, self._last_received_tsn) # advance cumulative TSN self._last_received_tsn = chunk.cumulative_tsn self._sack_misordered = set(filter(is_obsolete, self._sack_misordered)) for tsn in sorted(self._sack_misordered): if tsn == tsn_plus_one(self._last_received_tsn): self._last_received_tsn = tsn else: break # filter out obsolete entries self._sack_duplicates = list(filter(is_obsolete, self._sack_duplicates)) self._sack_misordered = set(filter(is_obsolete, self._sack_misordered)) # update reassembly for stream_id, stream_seq in chunk.streams: inbound_stream = self._get_inbound_stream(stream_id) # advance sequence number and perform delivery inbound_stream.sequence_number = uint16_add(stream_seq, 1) for message in inbound_stream.pop_messages(): self._advertised_rwnd += len(message[2]) await self._receive(*message) # prune obsolete chunks for stream_id, inbound_stream in self._inbound_streams.items(): self._advertised_rwnd += inbound_stream.prune_chunks( self._last_received_tsn ) @no_type_check async def _receive_sack_chunk(self, chunk: SackChunk) -> None: """ Handle a SACK chunk. """ if uint32_gt(self._last_sacked_tsn, chunk.cumulative_tsn): return received_time = time.time() self._last_sacked_tsn = chunk.cumulative_tsn cwnd_fully_utilized = self._flight_size >= self._cwnd done = 0 done_bytes = 0 # handle acknowledged data while self._sent_queue and uint32_gte( self._last_sacked_tsn, self._sent_queue[0].tsn ): schunk = self._sent_queue.popleft() done += 1 if not schunk._acked: done_bytes += schunk._book_size self._flight_size_decrease(schunk) # update RTO estimate if done == 1 and schunk._sent_count == 1: self._update_rto(received_time - schunk._sent_time) # handle gap blocks loss = False if chunk.gaps: seen = set() for gap in chunk.gaps: for pos in range(gap[0], gap[1] + 1): highest_seen_tsn = (chunk.cumulative_tsn + pos) % SCTP_TSN_MODULO seen.add(highest_seen_tsn) # determined Highest TSN Newly Acked (HTNA) highest_newly_acked = chunk.cumulative_tsn for schunk in self._sent_queue: if uint32_gt(schunk.tsn, highest_seen_tsn): break if schunk.tsn in seen and not schunk._acked: done_bytes += schunk._book_size schunk._acked = True self._flight_size_decrease(schunk) highest_newly_acked = schunk.tsn # strike missing chunks prior to HTNA for schunk in self._sent_queue: if uint32_gt(schunk.tsn, highest_newly_acked): break if schunk.tsn not in seen: schunk._misses += 1 if schunk._misses == 3: schunk._misses = 0 if not self._maybe_abandon(schunk): schunk._retransmit = True schunk._acked = False self._flight_size_decrease(schunk) loss = True # adjust congestion window if self._fast_recovery_exit is None: if done and cwnd_fully_utilized: if self._cwnd <= self._ssthresh: # slow start self._cwnd += min(done_bytes, USERDATA_MAX_LENGTH) else: # congestion avoidance self._partial_bytes_acked += done_bytes if self._partial_bytes_acked >= self._cwnd: self._partial_bytes_acked -= self._cwnd self._cwnd += USERDATA_MAX_LENGTH if loss: self._ssthresh = max(self._cwnd // 2, 4 * USERDATA_MAX_LENGTH) self._cwnd = self._ssthresh self._partial_bytes_acked = 0 self._fast_recovery_exit = self._sent_queue[-1].tsn self._fast_recovery_transmit = True elif uint32_gte(chunk.cumulative_tsn, self._fast_recovery_exit): self._fast_recovery_exit = None if not self._sent_queue: # there is no outstanding data, stop T3 self._t3_cancel() elif done: # the earliest outstanding chunk was acknowledged, restart T3 self._t3_restart() self._update_advanced_peer_ack_point() await self._data_channel_flush() await self._transmit() async def _receive_reconfig_param(self, param): """ Handle a RE-CONFIG parameter. """ self.__log_debug("<< %s", param) if isinstance(param, StreamResetOutgoingParam): # mark closed inbound streams for stream_id in param.streams: self._inbound_streams.pop(stream_id, None) # close data channel channel = self._data_channels.get(stream_id) if channel: self._data_channel_close(channel) # send response response_param = StreamResetResponseParam( response_sequence=param.request_sequence, result=1 ) self._reconfig_response_seq = param.request_sequence await self._send_reconfig_param(response_param) elif isinstance(param, StreamAddOutgoingParam): # increase inbound streams self._inbound_streams_count += param.new_streams # send response response_param = StreamResetResponseParam( response_sequence=param.request_sequence, result=1 ) self._reconfig_response_seq = param.request_sequence await self._send_reconfig_param(response_param) elif isinstance(param, StreamResetResponseParam): if ( self._reconfig_request and param.response_sequence == self._reconfig_request.request_sequence ): # mark closed streams for stream_id in self._reconfig_request.streams: self._outbound_stream_seq.pop(stream_id, None) self._data_channel_closed(stream_id) self._reconfig_request = None await self._transmit_reconfig() @no_type_check async def _send( self, stream_id: int, pp_id: int, user_data: bytes, expiry: Optional[float] = None, max_retransmits: Optional[int] = None, ordered: bool = True, ) -> None: """ Send data ULP -> stream. """ if ordered: stream_seq = self._outbound_stream_seq.get(stream_id, 0) else: stream_seq = 0 fragments = math.ceil(len(user_data) / USERDATA_MAX_LENGTH) pos = 0 for fragment in range(0, fragments): chunk = DataChunk() chunk.flags = 0 if not ordered: chunk.flags = SCTP_DATA_UNORDERED if fragment == 0: chunk.flags |= SCTP_DATA_FIRST_FRAG if fragment == fragments - 1: chunk.flags |= SCTP_DATA_LAST_FRAG chunk.tsn = self._local_tsn chunk.stream_id = stream_id chunk.stream_seq = stream_seq chunk.protocol = pp_id chunk.user_data = user_data[pos : pos + USERDATA_MAX_LENGTH] # FIXME: dynamically added attributes, mypy can't handle them # initialize counters chunk._abandoned = False chunk._acked = False chunk._book_size = len(chunk.user_data) chunk._expiry = expiry chunk._max_retransmits = max_retransmits chunk._misses = 0 chunk._retransmit = False chunk._sent_count = 0 chunk._sent_time = None pos += USERDATA_MAX_LENGTH self._local_tsn = tsn_plus_one(self._local_tsn) self._outbound_queue.append(chunk) if ordered: self._outbound_stream_seq[stream_id] = uint16_add(stream_seq, 1) # transmit outbound data await self._transmit() async def _send_chunk(self, chunk: Chunk) -> None: """ Transmit a chunk (no bundling for now). """ self.__log_debug("> %s", chunk) await self.__transport._send_data( serialize_packet( self._local_port, self._remote_port, self._remote_verification_tag, chunk, ) ) async def _send_reconfig_param(self, param): chunk = ReconfigChunk() for k, cls in RECONFIG_PARAM_TYPES.items(): if isinstance(param, cls): param_type = k break chunk.params.append((param_type, bytes(param))) self.__log_debug(">> %s", param) await self._send_chunk(chunk) async def _send_sack(self): """ Build and send a selective acknowledgement (SACK) chunk. """ gaps = [] gap_next = None for tsn in sorted(self._sack_misordered): pos = (tsn - self._last_received_tsn) % SCTP_TSN_MODULO if tsn == gap_next: gaps[-1][1] = pos else: gaps.append([pos, pos]) gap_next = tsn_plus_one(tsn) sack = SackChunk() sack.cumulative_tsn = self._last_received_tsn sack.advertised_rwnd = max(0, self._advertised_rwnd) sack.duplicates = self._sack_duplicates[:] sack.gaps = [tuple(x) for x in gaps] await self._send_chunk(sack) self._sack_duplicates.clear() self._sack_needed = False def _set_state(self, state) -> None: """ Transition the SCTP association to a new state. """ if state != self._association_state: self.__log_debug("- %s -> %s", self._association_state, state) self._association_state = state if state == self.State.ESTABLISHED: self.__state = "connected" for channel in list(self._data_channels.values()): if channel.negotiated and channel.readyState != "open": channel._setReadyState("open") asyncio.ensure_future(self._data_channel_flush()) elif state == self.State.CLOSED: self._t1_cancel() self._t2_cancel() self._t3_cancel() self.__state = "closed" # close data channels for stream_id in list(self._data_channels.keys()): self._data_channel_closed(stream_id) # no more events will be emitted, so remove all event listeners # to facilitate garbage collection. self.remove_all_listeners() # timers def _t1_cancel(self) -> None: if self._t1_handle is not None: self.__log_debug("- T1(%s) cancel", chunk_type(self._t1_chunk)) self._t1_handle.cancel() self._t1_handle = None self._t1_chunk = None def _t1_expired(self) -> None: self._t1_failures += 1 self._t1_handle = None self.__log_debug( "x T1(%s) expired %d", chunk_type(self._t1_chunk), self._t1_failures ) if self._t1_failures > SCTP_MAX_INIT_RETRANS: self._set_state(self.State.CLOSED) else: asyncio.ensure_future(self._send_chunk(self._t1_chunk)) self._t1_handle = self._loop.call_later(self._rto, self._t1_expired) def _t1_start(self, chunk: Chunk) -> None: assert self._t1_handle is None self._t1_chunk = chunk self._t1_failures = 0 self.__log_debug("- T1(%s) start", chunk_type(self._t1_chunk)) self._t1_handle = self._loop.call_later(self._rto, self._t1_expired) def _t2_cancel(self) -> None: if self._t2_handle is not None: self.__log_debug("- T2(%s) cancel", chunk_type(self._t2_chunk)) self._t2_handle.cancel() self._t2_handle = None self._t2_chunk = None def _t2_expired(self) -> None: self._t2_failures += 1 self._t2_handle = None self.__log_debug( "x T2(%s) expired %d", chunk_type(self._t2_chunk), self._t2_failures ) if self._t2_failures > SCTP_MAX_ASSOCIATION_RETRANS: self._set_state(self.State.CLOSED) else: asyncio.ensure_future(self._send_chunk(self._t2_chunk)) self._t2_handle = self._loop.call_later(self._rto, self._t2_expired) def _t2_start(self, chunk) -> None: assert self._t2_handle is None self._t2_chunk = chunk self._t2_failures = 0 self.__log_debug("- T2(%s) start", chunk_type(self._t2_chunk)) self._t2_handle = self._loop.call_later(self._rto, self._t2_expired) @no_type_check def _t3_expired(self) -> None: self._t3_handle = None self.__log_debug("x T3 expired") # mark retransmit or abandoned chunks for chunk in self._sent_queue: if not self._maybe_abandon(chunk): chunk._retransmit = True self._update_advanced_peer_ack_point() # adjust congestion window self._fast_recovery_exit = None self._flight_size = 0 self._partial_bytes_acked = 0 self._ssthresh = max(self._cwnd // 2, 4 * USERDATA_MAX_LENGTH) self._cwnd = USERDATA_MAX_LENGTH asyncio.ensure_future(self._transmit()) def _t3_restart(self) -> None: self.__log_debug("- T3 restart") if self._t3_handle is not None: self._t3_handle.cancel() self._t3_handle = None self._t3_handle = self._loop.call_later(self._rto, self._t3_expired) def _t3_start(self) -> None: assert self._t3_handle is None self.__log_debug("- T3 start") self._t3_handle = self._loop.call_later(self._rto, self._t3_expired) def _t3_cancel(self) -> None: if self._t3_handle is not None: self.__log_debug("- T3 cancel") self._t3_handle.cancel() self._t3_handle = None @no_type_check async def _transmit(self) -> None: """ Transmit outbound data. """ # send FORWARD TSN if self._forward_tsn_chunk is not None: await self._send_chunk(self._forward_tsn_chunk) self._forward_tsn_chunk = None # ensure T3 is running if not self._t3_handle: self._t3_start() # limit burst size if self._fast_recovery_exit is not None: burst_size = 2 * USERDATA_MAX_LENGTH else: burst_size = 4 * USERDATA_MAX_LENGTH cwnd = min(self._flight_size + burst_size, self._cwnd) # retransmit retransmit_earliest = True for chunk in self._sent_queue: if chunk._retransmit: if self._fast_recovery_transmit: self._fast_recovery_transmit = False elif self._flight_size >= cwnd: return self._flight_size_increase(chunk) chunk._misses = 0 chunk._retransmit = False chunk._sent_count += 1 await self._send_chunk(chunk) if retransmit_earliest: # restart the T3 timer as the earliest outstanding TSN # is being retransmitted self._t3_restart() retransmit_earliest = False while self._outbound_queue and self._flight_size < cwnd: chunk = self._outbound_queue.popleft() self._sent_queue.append(chunk) self._flight_size_increase(chunk) # update counters chunk._sent_count += 1 chunk._sent_time = time.time() await self._send_chunk(chunk) if not self._t3_handle: self._t3_start() async def _transmit_reconfig(self): if ( self._association_state == self.State.ESTABLISHED and self._reconfig_queue and not self._reconfig_request ): streams = self._reconfig_queue[0:RECONFIG_MAX_STREAMS] self._reconfig_queue = self._reconfig_queue[RECONFIG_MAX_STREAMS:] param = StreamResetOutgoingParam( request_sequence=self._reconfig_request_seq, response_sequence=self._reconfig_response_seq, last_tsn=tsn_minus_one(self._local_tsn), streams=streams, ) self._reconfig_request = param self._reconfig_request_seq = tsn_plus_one(self._reconfig_request_seq) await self._send_reconfig_param(param) @no_type_check def _update_advanced_peer_ack_point(self) -> None: """ Try to advance "Advanced.Peer.Ack.Point" according to RFC 3758. """ if uint32_gt(self._last_sacked_tsn, self._advanced_peer_ack_tsn): self._advanced_peer_ack_tsn = self._last_sacked_tsn done = 0 streams = {} while self._sent_queue and self._sent_queue[0]._abandoned: chunk = self._sent_queue.popleft() self._advanced_peer_ack_tsn = chunk.tsn done += 1 if not (chunk.flags & SCTP_DATA_UNORDERED): streams[chunk.stream_id] = chunk.stream_seq if done: # build FORWARD TSN self._forward_tsn_chunk = ForwardTsnChunk() self._forward_tsn_chunk.cumulative_tsn = self._advanced_peer_ack_tsn self._forward_tsn_chunk.streams = list(streams.items()) def _update_rto(self, R: float) -> None: """ Update RTO given a new roundtrip measurement R. """ if self._srtt is None: self._rttvar = R / 2 self._srtt = R else: self._rttvar = (1 - SCTP_RTO_BETA) * self._rttvar + SCTP_RTO_BETA * abs( self._srtt - R ) self._srtt = (1 - SCTP_RTO_ALPHA) * self._srtt + SCTP_RTO_ALPHA * R self._rto = max(SCTP_RTO_MIN, min(self._srtt + 4 * self._rttvar, SCTP_RTO_MAX)) def _data_channel_close(self, channel, transmit=True): """ Request closing the datachannel by sending an Outgoing Stream Reset Request. """ if channel.readyState not in ["closing", "closed"]: channel._setReadyState("closing") if self._association_state == self.State.ESTABLISHED: # queue a stream reset self._reconfig_queue.append(channel.id) if len(self._reconfig_queue) == 1: asyncio.ensure_future(self._transmit_reconfig()) else: # remove any queued messages for the datachannel new_queue = deque() for queue_item in self._data_channel_queue: if queue_item[0] != channel: new_queue.append(queue_item) self._data_channel_queue = new_queue # mark the datachannel as closed if channel.id is not None: self._data_channels.pop(channel.id) channel._setReadyState("closed") def _data_channel_closed(self, stream_id: int) -> None: channel = self._data_channels.pop(stream_id) channel._setReadyState("closed") async def _data_channel_flush(self) -> None: """ Try to flush buffered data to the SCTP layer. We wait until the association is established, as we need to know whether we are a client or a server to correctly assign an odd/even ID to the data channels. """ if self._association_state != self.State.ESTABLISHED: return while self._data_channel_queue and not self._outbound_queue: channel, protocol, user_data = self._data_channel_queue.popleft() # register channel if necessary stream_id = channel.id if stream_id is None: stream_id = self._data_channel_id while stream_id in self._data_channels: stream_id += 2 self._data_channels[stream_id] = channel channel._setId(stream_id) # send data if protocol == WEBRTC_DCEP: await self._send(stream_id, protocol, user_data) else: if channel.maxPacketLifeTime: expiry = time.time() + (channel.maxPacketLifeTime / 1000) else: expiry = None await self._send( stream_id, protocol, user_data, expiry=expiry, max_retransmits=channel.maxRetransmits, ordered=channel.ordered, ) channel._addBufferedAmount(-len(user_data)) def _data_channel_add_negotiated(self, channel: RTCDataChannel) -> None: if channel.id in self._data_channels: raise ValueError(f"Data channel with ID {channel.id} already registered") self._data_channels[channel.id] = channel if self._association_state == self.State.ESTABLISHED: channel._setReadyState("open") def _data_channel_open(self, channel: RTCDataChannel) -> None: if channel.id is not None: if channel.id in self._data_channels: raise ValueError( f"Data channel with ID {channel.id} already registered" ) else: self._data_channels[channel.id] = channel channel_type = DATA_CHANNEL_RELIABLE priority = 0 reliability = 0 if not channel.ordered: channel_type |= 0x80 if channel.maxRetransmits is not None: channel_type |= 1 reliability = channel.maxRetransmits elif channel.maxPacketLifeTime is not None: channel_type |= 2 reliability = channel.maxPacketLifeTime data = pack( "!BBHLHH", DATA_CHANNEL_OPEN, channel_type, priority, reliability, len(channel.label), len(channel.protocol), ) data += channel.label.encode("utf8") data += channel.protocol.encode("utf8") self._data_channel_queue.append((channel, WEBRTC_DCEP, data)) asyncio.ensure_future(self._data_channel_flush()) async def _data_channel_receive( self, stream_id: int, pp_id: int, data: bytes ) -> None: if pp_id == WEBRTC_DCEP and len(data): msg_type = data[0] if msg_type == DATA_CHANNEL_OPEN and len(data) >= 12: # we should not receive an open for an existing channel assert stream_id not in self._data_channels ( msg_type, channel_type, priority, reliability, label_length, protocol_length, ) = unpack_from("!BBHLHH", data) pos = 12 label = data[pos : pos + label_length].decode("utf8") pos += label_length protocol = data[pos : pos + protocol_length].decode("utf8") # check channel type maxPacketLifeTime = None maxRetransmits = None if (channel_type & 0x03) == 1: maxRetransmits = reliability elif (channel_type & 0x03) == 2: maxPacketLifeTime = reliability # register channel parameters = RTCDataChannelParameters( label=label, ordered=(channel_type & 0x80) == 0, maxPacketLifeTime=maxPacketLifeTime, maxRetransmits=maxRetransmits, protocol=protocol, id=stream_id, ) channel = RTCDataChannel(self, parameters, False) channel._setReadyState("open") self._data_channels[stream_id] = channel # send ack self._data_channel_queue.append( (channel, WEBRTC_DCEP, pack("!B", DATA_CHANNEL_ACK)) ) await self._data_channel_flush() # emit channel self.emit("datachannel", channel) elif msg_type == DATA_CHANNEL_ACK: assert stream_id in self._data_channels channel = self._data_channels[stream_id] channel._setReadyState("open") elif pp_id == WEBRTC_STRING and stream_id in self._data_channels: # emit message self._data_channels[stream_id].emit("message", data.decode("utf8")) elif pp_id == WEBRTC_STRING_EMPTY and stream_id in self._data_channels: # emit message self._data_channels[stream_id].emit("message", "") elif pp_id == WEBRTC_BINARY and stream_id in self._data_channels: # emit message self._data_channels[stream_id].emit("message", data) elif pp_id == WEBRTC_BINARY_EMPTY and stream_id in self._data_channels: # emit message self._data_channels[stream_id].emit("message", b"") def _data_channel_send(self, channel: RTCDataChannel, data: bytes) -> None: if data == "": pp_id, user_data = WEBRTC_STRING_EMPTY, b"\x00" elif isinstance(data, str): pp_id, user_data = WEBRTC_STRING, data.encode("utf8") elif data == b"": pp_id, user_data = WEBRTC_BINARY_EMPTY, b"\x00" else: pp_id, user_data = WEBRTC_BINARY, data channel._addBufferedAmount(len(user_data)) self._data_channel_queue.append((channel, pp_id, user_data)) asyncio.ensure_future(self._data_channel_flush()) class State(enum.Enum): CLOSED = 1 COOKIE_WAIT = 2 COOKIE_ECHOED = 3 ESTABLISHED = 4 SHUTDOWN_PENDING = 5 SHUTDOWN_SENT = 6 SHUTDOWN_RECEIVED = 7 SHUTDOWN_ACK_SENT = 8 aiortc-1.11.0/src/aiortc/rtcsessiondescription.py000066400000000000000000000007641477147103300221530ustar00rootroot00000000000000from dataclasses import dataclass @dataclass class RTCSessionDescription: """ The :class:`RTCSessionDescription` dictionary describes one end of a connection and how it's configured. """ sdp: str type: str def __post_init__(self): if self.type not in {"offer", "pranswer", "answer", "rollback"}: raise ValueError( "'type' must be in ['offer', 'pranswer', 'answer', 'rollback'] " f"(got '{self.type}')" ) aiortc-1.11.0/src/aiortc/rtp.py000066400000000000000000000602451477147103300163200ustar00rootroot00000000000000import math import os import struct from dataclasses import dataclass, field from struct import pack, unpack, unpack_from from typing import Any, List, Optional, Tuple, Union from av import AudioFrame from .rtcrtpparameters import RTCRtpParameters # used for NACK and retransmission RTP_HISTORY_SIZE = 128 # reserved to avoid confusion with RTCP FORBIDDEN_PAYLOAD_TYPES = range(72, 77) DYNAMIC_PAYLOAD_TYPES = range(96, 128) RTP_HEADER_LENGTH = 12 RTCP_HEADER_LENGTH = 4 PACKETS_LOST_MIN = -(1 << 23) PACKETS_LOST_MAX = (1 << 23) - 1 RTCP_SR = 200 RTCP_RR = 201 RTCP_SDES = 202 RTCP_BYE = 203 RTCP_RTPFB = 205 RTCP_PSFB = 206 RTCP_RTPFB_NACK = 1 RTCP_PSFB_PLI = 1 RTCP_PSFB_SLI = 2 RTCP_PSFB_RPSI = 3 RTCP_PSFB_APP = 15 @dataclass class HeaderExtensions: abs_send_time: Optional[int] = None audio_level: Any = None mid: Any = None repaired_rtp_stream_id: Any = None rtp_stream_id: Any = None transmission_offset: Optional[int] = None transport_sequence_number: Optional[int] = None class HeaderExtensionsMap: def __init__(self) -> None: self.__ids = HeaderExtensions() def configure(self, parameters: RTCRtpParameters) -> None: for ext in parameters.headerExtensions: if ext.uri == "urn:ietf:params:rtp-hdrext:sdes:mid": self.__ids.mid = ext.id elif ext.uri == "urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id": self.__ids.repaired_rtp_stream_id = ext.id elif ext.uri == "urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id": self.__ids.rtp_stream_id = ext.id elif ( ext.uri == "http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time" ): self.__ids.abs_send_time = ext.id elif ext.uri == "urn:ietf:params:rtp-hdrext:toffset": self.__ids.transmission_offset = ext.id elif ext.uri == "urn:ietf:params:rtp-hdrext:ssrc-audio-level": self.__ids.audio_level = ext.id elif ( ext.uri == "http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01" ): self.__ids.transport_sequence_number = ext.id def get(self, extension_profile: int, extension_value: bytes) -> HeaderExtensions: values = HeaderExtensions() for x_id, x_value in unpack_header_extensions( extension_profile, extension_value ): if x_id == self.__ids.mid: values.mid = x_value.decode("utf8") elif x_id == self.__ids.repaired_rtp_stream_id: values.repaired_rtp_stream_id = x_value.decode("ascii") elif x_id == self.__ids.rtp_stream_id: values.rtp_stream_id = x_value.decode("ascii") elif x_id == self.__ids.abs_send_time: values.abs_send_time = unpack("!L", b"\00" + x_value)[0] elif x_id == self.__ids.transmission_offset: values.transmission_offset = unpack("!l", x_value + b"\00")[0] >> 8 elif x_id == self.__ids.audio_level: vad_level = unpack("!B", x_value)[0] values.audio_level = (vad_level & 0x80 == 0x80, vad_level & 0x7F) elif x_id == self.__ids.transport_sequence_number: values.transport_sequence_number = unpack("!H", x_value)[0] return values def set(self, values: HeaderExtensions): extensions = [] if values.mid is not None and self.__ids.mid: extensions.append((self.__ids.mid, values.mid.encode("utf8"))) if ( values.repaired_rtp_stream_id is not None and self.__ids.repaired_rtp_stream_id ): extensions.append( ( self.__ids.repaired_rtp_stream_id, values.repaired_rtp_stream_id.encode("ascii"), ) ) if values.rtp_stream_id is not None and self.__ids.rtp_stream_id: extensions.append( (self.__ids.rtp_stream_id, values.rtp_stream_id.encode("ascii")) ) if values.abs_send_time is not None and self.__ids.abs_send_time: extensions.append( (self.__ids.abs_send_time, pack("!L", values.abs_send_time)[1:]) ) if values.transmission_offset is not None and self.__ids.transmission_offset: extensions.append( ( self.__ids.transmission_offset, pack("!l", values.transmission_offset << 8)[0:2], ) ) if values.audio_level is not None and self.__ids.audio_level: extensions.append( ( self.__ids.audio_level, pack( "!B", (0x80 if values.audio_level[0] else 0) | (values.audio_level[1] & 0x7F), ), ) ) if ( values.transport_sequence_number is not None and self.__ids.transport_sequence_number ): extensions.append( ( self.__ids.transport_sequence_number, pack("!H", values.transport_sequence_number), ) ) return pack_header_extensions(extensions) def clamp_packets_lost(count: int) -> int: return max(PACKETS_LOST_MIN, min(count, PACKETS_LOST_MAX)) def pack_packets_lost(count: int) -> bytes: return pack("!l", count)[1:] def unpack_packets_lost(d: bytes) -> int: if d[0] & 0x80: d = b"\xff" + d else: d = b"\x00" + d return unpack("!l", d)[0] def pack_rtcp_packet(packet_type: int, count: int, payload: bytes) -> bytes: assert len(payload) % 4 == 0 return pack("!BBH", (2 << 6) | count, packet_type, len(payload) // 4) + payload def pack_remb_fci(bitrate: int, ssrcs: List[int]) -> bytes: """ Pack the FCI for a Receiver Estimated Maximum Bitrate report. https://tools.ietf.org/html/draft-alvestrand-rmcat-remb-03 """ data = b"REMB" exponent = 0 mantissa = bitrate while mantissa > 0x3FFFF: mantissa >>= 1 exponent += 1 data += pack( "!BBH", len(ssrcs), (exponent << 2) | (mantissa >> 16), (mantissa & 0xFFFF) ) for ssrc in ssrcs: data += pack("!L", ssrc) return data def unpack_remb_fci(data: bytes) -> Tuple[int, List[int]]: """ Unpack the FCI for a Receiver Estimated Maximum Bitrate report. https://tools.ietf.org/html/draft-alvestrand-rmcat-remb-03 """ if len(data) < 8 or data[0:4] != b"REMB": raise ValueError("Invalid REMB prefix") exponent = (data[5] & 0xFC) >> 2 mantissa = ((data[5] & 0x03) << 16) | (data[6] << 8) | data[7] bitrate = mantissa << exponent pos = 8 ssrcs = [] for r in range(data[4]): ssrcs.append(unpack_from("!L", data, pos)[0]) pos += 4 return (bitrate, ssrcs) def is_rtcp(msg: bytes) -> bool: return len(msg) >= 2 and msg[1] >= 192 and msg[1] <= 208 def padl(length: int) -> int: """ Return amount of padding needed for a 4-byte multiple. """ return 4 * ((length + 3) // 4) - length def unpack_header_extensions( extension_profile: int, extension_value: bytes ) -> List[Tuple[int, bytes]]: """ Parse header extensions according to RFC 5285. """ extensions = [] pos = 0 if extension_profile == 0xBEDE: # One-Byte Header while pos < len(extension_value): # skip padding byte if extension_value[pos] == 0: pos += 1 continue x_id = (extension_value[pos] & 0xF0) >> 4 x_length = (extension_value[pos] & 0x0F) + 1 pos += 1 if len(extension_value) < pos + x_length: raise ValueError("RTP one-byte header extension value is truncated") x_value = extension_value[pos : pos + x_length] extensions.append((x_id, x_value)) pos += x_length elif extension_profile == 0x1000: # Two-Byte Header while pos < len(extension_value): # skip padding byte if extension_value[pos] == 0: pos += 1 continue if len(extension_value) < pos + 2: raise ValueError("RTP two-byte header extension is truncated") x_id, x_length = unpack_from("!BB", extension_value, pos) pos += 2 if len(extension_value) < pos + x_length: raise ValueError("RTP two-byte header extension value is truncated") x_value = extension_value[pos : pos + x_length] extensions.append((x_id, x_value)) pos += x_length return extensions def pack_header_extensions(extensions: List[Tuple[int, bytes]]) -> Tuple[int, bytes]: """ Serialize header extensions according to RFC 5285. """ extension_profile = 0 extension_value = b"" if not extensions: return extension_profile, extension_value one_byte = True for x_id, x_value in extensions: x_length = len(x_value) assert x_id > 0 and x_id < 256 assert x_length >= 0 and x_length < 256 if x_id > 14 or x_length == 0 or x_length > 16: one_byte = False if one_byte: # One-Byte Header extension_profile = 0xBEDE extension_value = b"" for x_id, x_value in extensions: x_length = len(x_value) extension_value += pack("!B", (x_id << 4) | (x_length - 1)) extension_value += x_value else: # Two-Byte Header extension_profile = 0x1000 extension_value = b"" for x_id, x_value in extensions: x_length = len(x_value) extension_value += pack("!BB", x_id, x_length) extension_value += x_value extension_value += b"\x00" * padl(len(extension_value)) return extension_profile, extension_value def compute_audio_level_dbov(frame: AudioFrame) -> int: """ Compute the energy level as spelled out in RFC 6465, Appendix A. """ MAX_SAMPLE_VALUE = 32767 MAX_AUDIO_LEVEL = 0 MIN_AUDIO_LEVEL = -127 rms = 0.0 buf = bytes(frame.planes[0]) s = struct.Struct("h") for unpacked in s.iter_unpack(buf): sample = unpacked[0] rms += sample * sample rms = math.sqrt(rms / (frame.samples * MAX_SAMPLE_VALUE * MAX_SAMPLE_VALUE)) if rms > 0: db = 20 * math.log10(rms) db = max(db, MIN_AUDIO_LEVEL) db = min(db, MAX_AUDIO_LEVEL) else: db = MIN_AUDIO_LEVEL return round(db) @dataclass class RtcpReceiverInfo: ssrc: int fraction_lost: int packets_lost: int highest_sequence: int jitter: int lsr: int dlsr: int def __bytes__(self) -> bytes: data = pack("!LB", self.ssrc, self.fraction_lost) data += pack_packets_lost(self.packets_lost) data += pack("!LLLL", self.highest_sequence, self.jitter, self.lsr, self.dlsr) return data @classmethod def parse(cls, data: bytes): ssrc, fraction_lost = unpack("!LB", data[0:5]) packets_lost = unpack_packets_lost(data[5:8]) highest_sequence, jitter, lsr, dlsr = unpack("!LLLL", data[8:]) return cls( ssrc=ssrc, fraction_lost=fraction_lost, packets_lost=packets_lost, highest_sequence=highest_sequence, jitter=jitter, lsr=lsr, dlsr=dlsr, ) @dataclass class RtcpSenderInfo: ntp_timestamp: int rtp_timestamp: int packet_count: int octet_count: int def __bytes__(self) -> bytes: return pack( "!QLLL", self.ntp_timestamp, self.rtp_timestamp, self.packet_count, self.octet_count, ) @classmethod def parse(cls, data: bytes): ntp_timestamp, rtp_timestamp, packet_count, octet_count = unpack("!QLLL", data) return cls( ntp_timestamp=ntp_timestamp, rtp_timestamp=rtp_timestamp, packet_count=packet_count, octet_count=octet_count, ) @dataclass class RtcpSourceInfo: ssrc: int items: List[Tuple[Any, bytes]] @dataclass class RtcpByePacket: sources: List[int] def __bytes__(self) -> bytes: payload = b"".join([pack("!L", ssrc) for ssrc in self.sources]) return pack_rtcp_packet(RTCP_BYE, len(self.sources), payload) @classmethod def parse(cls, data: bytes, count: int): if len(data) < 4 * count: raise ValueError("RTCP bye length is invalid") if count > 0: sources = list(unpack_from("!" + ("L" * count), data, 0)) else: sources = [] return cls(sources=sources) @dataclass class RtcpPsfbPacket: """ Payload-Specific Feedback Message (RFC 4585). """ fmt: int ssrc: int media_ssrc: int fci: bytes = b"" def __bytes__(self) -> bytes: payload = pack("!LL", self.ssrc, self.media_ssrc) + self.fci return pack_rtcp_packet(RTCP_PSFB, self.fmt, payload) @classmethod def parse(cls, data: bytes, fmt: int): if len(data) < 8: raise ValueError("RTCP payload-specific feedback length is invalid") ssrc, media_ssrc = unpack("!LL", data[0:8]) fci = data[8:] return cls(fmt=fmt, ssrc=ssrc, media_ssrc=media_ssrc, fci=fci) @dataclass class RtcpRrPacket: ssrc: int reports: List[RtcpReceiverInfo] = field(default_factory=list) def __bytes__(self) -> bytes: payload = pack("!L", self.ssrc) for report in self.reports: payload += bytes(report) return pack_rtcp_packet(RTCP_RR, len(self.reports), payload) @classmethod def parse(cls, data: bytes, count: int): if len(data) != 4 + 24 * count: raise ValueError("RTCP receiver report length is invalid") ssrc = unpack("!L", data[0:4])[0] pos = 4 reports = [] for r in range(count): reports.append(RtcpReceiverInfo.parse(data[pos : pos + 24])) pos += 24 return cls(ssrc=ssrc, reports=reports) @dataclass class RtcpRtpfbPacket: """ Generic RTP Feedback Message (RFC 4585). """ fmt: int ssrc: int media_ssrc: int # generick NACK lost: List[int] = field(default_factory=list) def __bytes__(self) -> bytes: payload = pack("!LL", self.ssrc, self.media_ssrc) if self.lost: pid = self.lost[0] blp = 0 for p in self.lost[1:]: d = p - pid - 1 if d < 16: blp |= 1 << d else: payload += pack("!HH", pid, blp) pid = p blp = 0 payload += pack("!HH", pid, blp) return pack_rtcp_packet(RTCP_RTPFB, self.fmt, payload) @classmethod def parse(cls, data: bytes, fmt: int): if len(data) < 8 or len(data) % 4: raise ValueError("RTCP RTP feedback length is invalid") ssrc, media_ssrc = unpack("!LL", data[0:8]) lost = [] for pos in range(8, len(data), 4): pid, blp = unpack("!HH", data[pos : pos + 4]) lost.append(pid) for d in range(0, 16): if (blp >> d) & 1: lost.append(pid + d + 1) return cls(fmt=fmt, ssrc=ssrc, media_ssrc=media_ssrc, lost=lost) @dataclass class RtcpSdesPacket: chunks: List[RtcpSourceInfo] = field(default_factory=list) def __bytes__(self) -> bytes: payload = b"" for chunk in self.chunks: payload += pack("!L", chunk.ssrc) for d_type, d_value in chunk.items: payload += pack("!BB", d_type, len(d_value)) + d_value payload += b"\x00\x00" while len(payload) % 4: payload += b"\x00" return pack_rtcp_packet(RTCP_SDES, len(self.chunks), payload) @classmethod def parse(cls, data: bytes, count: int): pos = 0 chunks = [] for r in range(count): if len(data) < pos + 4: raise ValueError("RTCP SDES source is truncated") ssrc = unpack_from("!L", data, pos)[0] pos += 4 items = [] while pos < len(data) - 1: d_type, d_length = unpack_from("!BB", data, pos) pos += 2 if len(data) < pos + d_length: raise ValueError("RTCP SDES item is truncated") d_value = data[pos : pos + d_length] pos += d_length if d_type == 0: break else: items.append((d_type, d_value)) chunks.append(RtcpSourceInfo(ssrc=ssrc, items=items)) return cls(chunks=chunks) @dataclass class RtcpSrPacket: ssrc: int sender_info: RtcpSenderInfo reports: List[RtcpReceiverInfo] = field(default_factory=list) def __bytes__(self) -> bytes: payload = pack("!L", self.ssrc) payload += bytes(self.sender_info) for report in self.reports: payload += bytes(report) return pack_rtcp_packet(RTCP_SR, len(self.reports), payload) @classmethod def parse(cls, data: bytes, count: int): if len(data) != 24 + 24 * count: raise ValueError("RTCP sender report length is invalid") ssrc = unpack_from("!L", data)[0] sender_info = RtcpSenderInfo.parse(data[4:24]) pos = 24 reports = [] for r in range(count): reports.append(RtcpReceiverInfo.parse(data[pos : pos + 24])) pos += 24 return RtcpSrPacket(ssrc=ssrc, sender_info=sender_info, reports=reports) AnyRtcpPacket = Union[ RtcpByePacket, RtcpPsfbPacket, RtcpRrPacket, RtcpRtpfbPacket, RtcpSdesPacket, RtcpSrPacket, ] class RtcpPacket: @classmethod def parse(cls, data: bytes) -> List[AnyRtcpPacket]: pos = 0 packets = [] while pos < len(data): if len(data) < pos + RTCP_HEADER_LENGTH: raise ValueError( f"RTCP packet length is less than {RTCP_HEADER_LENGTH} bytes" ) v_p_count, packet_type, length = unpack("!BBH", data[pos : pos + 4]) version = v_p_count >> 6 padding = (v_p_count >> 5) & 1 count = v_p_count & 0x1F if version != 2: raise ValueError("RTCP packet has invalid version") pos += 4 end = pos + length * 4 if len(data) < end: raise ValueError("RTCP packet is truncated") payload = data[pos:end] pos = end if padding: if not payload or not payload[-1] or payload[-1] > len(payload): raise ValueError("RTCP packet padding length is invalid") payload = payload[0 : -payload[-1]] if packet_type == RTCP_BYE: packets.append(RtcpByePacket.parse(payload, count)) elif packet_type == RTCP_SDES: packets.append(RtcpSdesPacket.parse(payload, count)) elif packet_type == RTCP_SR: packets.append(RtcpSrPacket.parse(payload, count)) elif packet_type == RTCP_RR: packets.append(RtcpRrPacket.parse(payload, count)) elif packet_type == RTCP_RTPFB: packets.append(RtcpRtpfbPacket.parse(payload, count)) elif packet_type == RTCP_PSFB: packets.append(RtcpPsfbPacket.parse(payload, count)) return packets class RtpPacket: def __init__( self, payload_type: int = 0, marker: int = 0, sequence_number: int = 0, timestamp: int = 0, ssrc: int = 0, payload: bytes = b"", ) -> None: self.version = 2 self.marker = marker self.payload_type = payload_type self.sequence_number = sequence_number self.timestamp = timestamp self.ssrc = ssrc self.csrc: List[int] = [] self.extensions = HeaderExtensions() self.payload = payload self.padding_size = 0 def __repr__(self) -> str: return ( f"RtpPacket(seq={self.sequence_number}, ts={self.timestamp}, " f"marker={self.marker}, payload={self.payload_type}, " f"{len(self.payload)} bytes)" ) @classmethod def parse(cls, data: bytes, extensions_map=HeaderExtensionsMap()): if len(data) < RTP_HEADER_LENGTH: raise ValueError( f"RTP packet length is less than {RTP_HEADER_LENGTH} bytes" ) v_p_x_cc, m_pt, sequence_number, timestamp, ssrc = unpack("!BBHLL", data[0:12]) version = v_p_x_cc >> 6 padding = (v_p_x_cc >> 5) & 1 extension = (v_p_x_cc >> 4) & 1 cc = v_p_x_cc & 0x0F if version != 2: raise ValueError("RTP packet has invalid version") if len(data) < RTP_HEADER_LENGTH + 4 * cc: raise ValueError("RTP packet has truncated CSRC") packet = cls( marker=(m_pt >> 7), payload_type=(m_pt & 0x7F), sequence_number=sequence_number, timestamp=timestamp, ssrc=ssrc, ) pos = RTP_HEADER_LENGTH for i in range(0, cc): packet.csrc.append(unpack_from("!L", data, pos)[0]) pos += 4 if extension: if len(data) < pos + 4: raise ValueError("RTP packet has truncated extension profile / length") extension_profile, extension_length = unpack_from("!HH", data, pos) extension_length *= 4 pos += 4 if len(data) < pos + extension_length: raise ValueError("RTP packet has truncated extension value") extension_value = data[pos : pos + extension_length] pos += extension_length packet.extensions = extensions_map.get(extension_profile, extension_value) if padding: padding_len = data[-1] if not padding_len or padding_len > len(data) - pos: raise ValueError("RTP packet padding length is invalid") packet.padding_size = padding_len packet.payload = data[pos:-padding_len] else: packet.payload = data[pos:] return packet def serialize(self, extensions_map=HeaderExtensionsMap()) -> bytes: extension_profile, extension_value = extensions_map.set(self.extensions) has_extension = bool(extension_value) padding = self.padding_size > 0 data = pack( "!BBHLL", (self.version << 6) | (padding << 5) | (has_extension << 4) | len(self.csrc), (self.marker << 7) | self.payload_type, self.sequence_number, self.timestamp, self.ssrc, ) for csrc in self.csrc: data += pack("!L", csrc) if has_extension: data += pack("!HH", extension_profile, len(extension_value) >> 2) data += extension_value data += self.payload if padding: data += os.urandom(self.padding_size - 1) data += bytes([self.padding_size]) return data def unwrap_rtx(rtx: RtpPacket, payload_type: int, ssrc: int) -> RtpPacket: """ Recover initial packet from a retransmission packet. """ packet = RtpPacket( payload_type=payload_type, marker=rtx.marker, sequence_number=unpack("!H", rtx.payload[0:2])[0], timestamp=rtx.timestamp, ssrc=ssrc, payload=rtx.payload[2:], ) packet.csrc = rtx.csrc packet.extensions = rtx.extensions return packet def wrap_rtx( packet: RtpPacket, payload_type: int, sequence_number: int, ssrc: int ) -> RtpPacket: """ Create a retransmission packet from a lost packet. """ rtx = RtpPacket( payload_type=payload_type, marker=packet.marker, sequence_number=sequence_number, timestamp=packet.timestamp, ssrc=ssrc, payload=pack("!H", packet.sequence_number) + packet.payload, ) rtx.csrc = packet.csrc rtx.extensions = packet.extensions return rtx aiortc-1.11.0/src/aiortc/sdp.py000066400000000000000000000507351477147103300163040ustar00rootroot00000000000000import enum import ipaddress import re from dataclasses import dataclass from typing import Any, Dict, List, Optional, Tuple, Union from . import rtp from .rtcdtlstransport import RTCDtlsFingerprint, RTCDtlsParameters from .rtcicetransport import RTCIceCandidate, RTCIceParameters from .rtcrtpparameters import ( ParametersDict, RTCRtcpFeedback, RTCRtpCodecParameters, RTCRtpHeaderExtensionParameters, RTCRtpParameters, ) from .rtcsctptransport import RTCSctpCapabilities DIRECTIONS = ["inactive", "sendonly", "recvonly", "sendrecv"] DTLS_ROLE_SETUP = {"auto": "actpass", "client": "active", "server": "passive"} DTLS_SETUP_ROLE = dict([(v, k) for (k, v) in DTLS_ROLE_SETUP.items()]) FMTP_INT_PARAMETERS = [ "apt", "max-fr", "max-fs", "maxplaybackrate", "minptime", "stereo", "useinbandfec", ] class BitPattern: def __init__(self, v: str) -> None: self._mask = ~self._bytemaskstring("x", v) self._masked_value = self._bytemaskstring("1", v) def matches(self, v: int) -> bool: return (v & self._mask) == self._masked_value def _bytemaskstring(self, c: str, s: str) -> int: return ( (s[0] == c) << 7 | (s[1] == c) << 6 | (s[2] == c) << 5 | (s[3] == c) << 4 | (s[4] == c) << 3 | (s[5] == c) << 2 | (s[6] == c) << 1 | (s[7] == c) << 0 ) class H264Profile(enum.Enum): PROFILE_CONSTRAINED_BASELINE = 0 PROFILE_BASELINE = 1 PROFILE_MAIN = 2 PROFILE_CONSTRAINED_HIGH = 3 PROFILE_HIGH = 4 PROFILE_PREDICTIVE_HIGH_444 = 5 class H264Level(enum.IntEnum): LEVEL1_B = -1 LEVEL1 = 10 LEVEL1_1 = 11 LEVEL1_2 = 12 LEVEL1_3 = 13 LEVEL2 = 20 LEVEL2_1 = 21 LEVEL2_2 = 22 LEVEL3 = 30 LEVEL3_1 = 31 LEVEL3_2 = 32 LEVEL4 = 40 LEVEL4_1 = 41 LEVEL4_2 = 42 LEVEL5 = 50 LEVEL5_1 = 51 LEVEL5_2 = 52 H264_PROFILE_PATTERNS = [ (0x42, BitPattern("x1xx0000"), H264Profile.PROFILE_CONSTRAINED_BASELINE), (0x4D, BitPattern("1xxx0000"), H264Profile.PROFILE_CONSTRAINED_BASELINE), (0x58, BitPattern("11xx0000"), H264Profile.PROFILE_CONSTRAINED_BASELINE), (0x42, BitPattern("x0xx0000"), H264Profile.PROFILE_BASELINE), (0x58, BitPattern("10xx0000"), H264Profile.PROFILE_BASELINE), (0x4D, BitPattern("0x0x0000"), H264Profile.PROFILE_MAIN), (0x64, BitPattern("00000000"), H264Profile.PROFILE_HIGH), (0x64, BitPattern("00001100"), H264Profile.PROFILE_CONSTRAINED_HIGH), (0xF4, BitPattern("00000000"), H264Profile.PROFILE_PREDICTIVE_HIGH_444), ] def candidate_from_sdp(sdp: str) -> RTCIceCandidate: bits = sdp.split() assert len(bits) >= 8 candidate = RTCIceCandidate( component=int(bits[1]), foundation=bits[0], ip=bits[4], port=int(bits[5]), priority=int(bits[3]), protocol=bits[2], type=bits[7], ) for i in range(8, len(bits) - 1, 2): if bits[i] == "raddr": candidate.relatedAddress = bits[i + 1] elif bits[i] == "rport": candidate.relatedPort = int(bits[i + 1]) elif bits[i] == "tcptype": candidate.tcpType = bits[i + 1] return candidate def candidate_to_sdp(candidate: RTCIceCandidate) -> str: sdp = ( f"{candidate.foundation} {candidate.component} {candidate.protocol} " f"{candidate.priority} {candidate.ip} {candidate.port} typ {candidate.type}" ) if candidate.relatedAddress is not None: sdp += f" raddr {candidate.relatedAddress}" if candidate.relatedPort is not None: sdp += f" rport {candidate.relatedPort}" if candidate.tcpType is not None: sdp += f" tcptype {candidate.tcpType}" return sdp def grouplines(sdp: str) -> Tuple[List[str], List[List[str]]]: session = [] media = [] for line in sdp.splitlines(): if line.startswith("m="): media.append([line]) elif len(media): media[-1].append(line) else: session.append(line) return session, media def ipaddress_from_sdp(sdp: str) -> str: m = re.match("^IN (IP4|IP6) ([^ ]+)$", sdp) assert m return m.group(2) def ipaddress_to_sdp(addr: str) -> str: version = ipaddress.ip_address(addr).version return f"IN IP{version} {addr}" def parameters_from_sdp(sdp: str) -> ParametersDict: parameters: ParametersDict = {} for param in sdp.split(";"): if "=" in param: k, v = param.split("=", 1) if k in FMTP_INT_PARAMETERS: parameters[k] = int(v) else: parameters[k] = v else: parameters[param] = None return parameters def parameters_to_sdp(parameters: ParametersDict) -> str: params = [] for param_k, param_v in parameters.items(): if param_v is not None: params.append(f"{param_k}={param_v}") else: params.append(param_k) return ";".join(params) def parse_attr(line: str) -> Tuple[str, Optional[str]]: if ":" in line: bits = line[2:].split(":", 1) return bits[0], bits[1] else: return line[2:], None def parse_h264_profile_level_id(profile_str: str) -> Tuple[H264Profile, H264Level]: if not isinstance(profile_str, str) or not re.match( "[0-9a-f]{6}", profile_str, re.I ): raise ValueError("Expected a 6 character hexadecimal string") level_idc = int(profile_str[4:6], 16) profile_iop = int(profile_str[2:4], 16) profile_idc = int(profile_str[0:2], 16) level: H264Level if level_idc == H264Level.LEVEL1_1: level = H264Level.LEVEL1_B if (profile_iop & 0x10) else H264Level.LEVEL1_1 else: level = H264Level(level_idc) for idc, pattern, profile in H264_PROFILE_PATTERNS: if idc == profile_idc and pattern.matches(profile_iop): return profile, level raise ValueError( f"Unrecognized profile_iop = {profile_iop}, profile_idc = {profile_idc}" ) @dataclass class GroupDescription: semantic: str items: List[Union[int, str]] def __str__(self) -> str: return f"{self.semantic} {' '.join(map(str, self.items))}" def parse_group(dest: List[GroupDescription], value: str, type=str) -> None: bits = value.split() if bits: dest.append(GroupDescription(semantic=bits[0], items=list(map(type, bits[1:])))) @dataclass class SsrcDescription: ssrc: int cname: Optional[str] = None msid: Optional[str] = None mslabel: Optional[str] = None label: Optional[str] = None SSRC_INFO_ATTRS = ["cname", "msid", "mslabel", "label"] class MediaDescription: def __init__(self, kind: str, port: int, profile: str, fmt: List[Any]) -> None: # rtp self.kind = kind self.port = port self.host: Optional[str] = None self.profile = profile self.direction: Optional[str] = None self.msid: Optional[str] = None # rtcp self.rtcp_port: Optional[int] = None self.rtcp_host: Optional[str] = None self.rtcp_mux = False # ssrc self.ssrc: List[SsrcDescription] = [] self.ssrc_group: List[GroupDescription] = [] # formats self.fmt = fmt self.rtp = RTCRtpParameters() # SCTP self.sctpCapabilities: Optional[RTCSctpCapabilities] = None self.sctpmap: Dict[int, str] = {} self.sctp_port: Optional[int] = None # DTLS self.dtls: Optional[RTCDtlsParameters] = None # ICE self.ice: Optional[RTCIceParameters] = None self.ice_candidates: List[RTCIceCandidate] = [] self.ice_candidates_complete = False self.ice_options: Optional[str] = None def __str__(self) -> str: lines = [] lines.append( f"m={self.kind} {self.port} {self.profile} {' '.join(map(str, self.fmt))}" ) if self.host is not None: lines.append(f"c={ipaddress_to_sdp(self.host)}") if self.direction is not None: lines.append(f"a={self.direction}") for header in self.rtp.headerExtensions: lines.append(f"a=extmap:{header.id} {header.uri}") if self.rtp.muxId: lines.append(f"a=mid:{self.rtp.muxId}") if self.msid: lines.append(f"a=msid:{self.msid}") if self.rtcp_port is not None and self.rtcp_host is not None: lines.append(f"a=rtcp:{self.rtcp_port} {ipaddress_to_sdp(self.rtcp_host)}") if self.rtcp_mux: lines.append("a=rtcp-mux") for group in self.ssrc_group: lines.append(f"a=ssrc-group:{group}") for ssrc_info in self.ssrc: for ssrc_attr in SSRC_INFO_ATTRS: ssrc_value = getattr(ssrc_info, ssrc_attr) if ssrc_value is not None: lines.append(f"a=ssrc:{ssrc_info.ssrc} {ssrc_attr}:{ssrc_value}") for codec in self.rtp.codecs: lines.append(f"a=rtpmap:{codec.payloadType} {codec}") # RTCP feedback for feedback in codec.rtcpFeedback: value = feedback.type if feedback.parameter: value += f" {feedback.parameter}" lines.append(f"a=rtcp-fb:{codec.payloadType} {value}") # parameters params = parameters_to_sdp(codec.parameters) if params: lines.append(f"a=fmtp:{codec.payloadType} {params}") for k, v in self.sctpmap.items(): lines.append(f"a=sctpmap:{k} {v}") if self.sctp_port is not None: lines.append(f"a=sctp-port:{self.sctp_port}") if self.sctpCapabilities is not None: lines.append(f"a=max-message-size:{self.sctpCapabilities.maxMessageSize}") # ice for candidate in self.ice_candidates: lines.append("a=candidate:" + candidate_to_sdp(candidate)) if self.ice_candidates_complete: lines.append("a=end-of-candidates") if self.ice.usernameFragment is not None: lines.append(f"a=ice-ufrag:{self.ice.usernameFragment}") if self.ice.password is not None: lines.append(f"a=ice-pwd:{self.ice.password}") if self.ice_options is not None: lines.append(f"a=ice-options:{self.ice_options}") # dtls if self.dtls: for fingerprint in self.dtls.fingerprints: lines.append( f"a=fingerprint:{fingerprint.algorithm} {fingerprint.value}" ) lines.append(f"a=setup:{DTLS_ROLE_SETUP[self.dtls.role]}") return "\r\n".join(lines) + "\r\n" class SessionDescription: def __init__(self) -> None: self.version = 0 self.origin: Optional[str] = None self.name = "-" self.time = "0 0" self.host: Optional[str] = None self.group: List[GroupDescription] = [] self.msid_semantic: List[GroupDescription] = [] self.media: List[MediaDescription] = [] self.type: Optional[str] = None @classmethod def parse(cls, sdp: str): current_media: Optional[MediaDescription] = None dtls_fingerprints = [] dtls_role = None ice_lite = False ice_options = None ice_password = None ice_usernameFragment = None def find_codec(pt: int) -> RTCRtpCodecParameters: return next(filter(lambda x: x.payloadType == pt, current_media.rtp.codecs)) session_lines, media_groups = grouplines(sdp) # parse session session = cls() for line in session_lines: if line.startswith("v="): session.version = int(line.strip()[2:]) elif line.startswith("o="): session.origin = line.strip()[2:] elif line.startswith("s="): session.name = line.strip()[2:] elif line.startswith("c="): session.host = ipaddress_from_sdp(line[2:]) elif line.startswith("t="): session.time = line.strip()[2:] elif line.startswith("a="): attr, value = parse_attr(line) if attr == "fingerprint": algorithm, fingerprint = value.split() dtls_fingerprints.append( RTCDtlsFingerprint(algorithm=algorithm, value=fingerprint) ) elif attr == "ice-lite": ice_lite = True elif attr == "ice-options": ice_options = value elif attr == "ice-pwd": ice_password = value elif attr == "ice-ufrag": ice_usernameFragment = value elif attr == "group": parse_group(session.group, value) elif attr == "msid-semantic": parse_group(session.msid_semantic, value) elif attr == "setup": dtls_role = DTLS_SETUP_ROLE[value] # parse media for media_lines in media_groups: m = re.match("^m=([^ ]+) ([0-9]+) ([A-Z/]+) (.+)$", media_lines[0]) assert m # check payload types are valid kind = m.group(1) fmt = m.group(4).split() fmt_int: Optional[List[int]] = None if kind in ["audio", "video"]: fmt_int = [int(x) for x in fmt] for pt in fmt_int: assert pt >= 0 and pt < 256 assert pt not in rtp.FORBIDDEN_PAYLOAD_TYPES current_media = MediaDescription( kind=kind, port=int(m.group(2)), profile=m.group(3), fmt=fmt_int or fmt ) current_media.dtls = RTCDtlsParameters( fingerprints=dtls_fingerprints[:], role=dtls_role ) current_media.ice = RTCIceParameters( iceLite=ice_lite, usernameFragment=ice_usernameFragment, password=ice_password, ) current_media.ice_options = ice_options session.media.append(current_media) for line in media_lines[1:]: if line.startswith("c="): current_media.host = ipaddress_from_sdp(line[2:]) elif line.startswith("a="): attr, value = parse_attr(line) if attr == "candidate": current_media.ice_candidates.append(candidate_from_sdp(value)) elif attr == "end-of-candidates": current_media.ice_candidates_complete = True elif attr == "extmap": ext_id, ext_uri = value.split() if "/" in ext_id: ext_id, ext_direction = ext_id.split("/") extension = RTCRtpHeaderExtensionParameters( id=int(ext_id), uri=ext_uri ) current_media.rtp.headerExtensions.append(extension) elif attr == "fingerprint": algorithm, fingerprint = value.split() current_media.dtls.fingerprints.append( RTCDtlsFingerprint(algorithm=algorithm, value=fingerprint) ) elif attr == "ice-options": current_media.ice_options = value elif attr == "ice-pwd": current_media.ice.password = value elif attr == "ice-ufrag": current_media.ice.usernameFragment = value elif attr == "max-message-size": current_media.sctpCapabilities = RTCSctpCapabilities( maxMessageSize=int(value) ) elif attr == "mid": current_media.rtp.muxId = value elif attr == "msid": current_media.msid = value elif attr == "rtcp": port, rest = value.split(" ", 1) current_media.rtcp_port = int(port) current_media.rtcp_host = ipaddress_from_sdp(rest) elif attr == "rtcp-mux": current_media.rtcp_mux = True elif attr == "setup": current_media.dtls.role = DTLS_SETUP_ROLE[value] elif attr in DIRECTIONS: current_media.direction = attr elif attr == "rtpmap": format_id, format_desc = value.split(" ", 1) bits = format_desc.split("/") if current_media.kind == "audio": if len(bits) > 2: channels = int(bits[2]) else: channels = 1 else: channels = None codec = RTCRtpCodecParameters( mimeType=current_media.kind + "/" + bits[0], channels=channels, clockRate=int(bits[1]), payloadType=int(format_id), ) current_media.rtp.codecs.append(codec) elif attr == "sctpmap": format_id, format_desc = value.split(" ", 1) getattr(current_media, attr)[int(format_id)] = format_desc elif attr == "sctp-port": current_media.sctp_port = int(value) elif attr == "ssrc-group": parse_group(current_media.ssrc_group, value, type=int) elif attr == "ssrc": ssrc_str, ssrc_desc = value.split(" ", 1) ssrc = int(ssrc_str) ssrc_attr, ssrc_value = ssrc_desc.split(":", 1) try: ssrc_info = next( (x for x in current_media.ssrc if x.ssrc == ssrc) ) except StopIteration: ssrc_info = SsrcDescription(ssrc=ssrc) current_media.ssrc.append(ssrc_info) if ssrc_attr in SSRC_INFO_ATTRS: setattr(ssrc_info, ssrc_attr, ssrc_value) if current_media.dtls.role is None: current_media.dtls = None # requires codecs to have been parsed for line in media_lines[1:]: if line.startswith("a="): attr, value = parse_attr(line) if attr == "fmtp": format_id, format_desc = value.split(" ", 1) codec = find_codec(int(format_id)) codec.parameters = parameters_from_sdp(format_desc) elif attr == "rtcp-fb": bits = value.split(" ", 2) for codec in current_media.rtp.codecs: if bits[0] in ["*", str(codec.payloadType)]: codec.rtcpFeedback.append( RTCRtcpFeedback( type=bits[1], parameter=bits[2] if len(bits) > 2 else None, ) ) return session def webrtc_track_id(self, media: MediaDescription) -> Optional[str]: assert media in self.media if media.msid is not None and " " in media.msid: bits = media.msid.split() for group in self.msid_semantic: if group.semantic == "WMS" and ( bits[0] in group.items or "*" in group.items ): return bits[1] return None def __str__(self) -> str: lines = [f"v={self.version}", f"o={self.origin}", f"s={self.name}"] if self.host is not None: lines += [f"c={ipaddress_to_sdp(self.host)}"] lines += [f"t={self.time}"] if any(m.ice.iceLite for m in self.media): lines += ["a=ice-lite"] for group in self.group: lines += [f"a=group:{group}"] for group in self.msid_semantic: lines += [f"a=msid-semantic:{group}"] return "\r\n".join(lines) + "\r\n" + "".join([str(m) for m in self.media]) aiortc-1.11.0/src/aiortc/stats.py000066400000000000000000000054771477147103300166570ustar00rootroot00000000000000import datetime from dataclasses import dataclass from typing import Optional @dataclass class RTCStats: """ Base class for statistics. """ timestamp: datetime.datetime "The timestamp associated with this object." type: str id: str @dataclass class RTCRtpStreamStats(RTCStats): ssrc: int kind: str transportId: str @dataclass class RTCReceivedRtpStreamStats(RTCRtpStreamStats): packetsReceived: int packetsLost: int jitter: int @dataclass class RTCSentRtpStreamStats(RTCRtpStreamStats): packetsSent: int "Total number of RTP packets sent for this SSRC." bytesSent: int "Total number of bytes sent for this SSRC." @dataclass class RTCInboundRtpStreamStats(RTCReceivedRtpStreamStats): """ The :class:`RTCInboundRtpStreamStats` dictionary represents the measurement metrics for the incoming RTP media stream. """ pass @dataclass class RTCRemoteInboundRtpStreamStats(RTCReceivedRtpStreamStats): """ The :class:`RTCRemoteInboundRtpStreamStats` dictionary represents the remote endpoint's measurement metrics for a particular incoming RTP stream. """ roundTripTime: float fractionLost: float @dataclass class RTCOutboundRtpStreamStats(RTCSentRtpStreamStats): """ The :class:`RTCOutboundRtpStreamStats` dictionary represents the measurement metrics for the outgoing RTP stream. """ trackId: str @dataclass class RTCRemoteOutboundRtpStreamStats(RTCSentRtpStreamStats): """ The :class:`RTCRemoteOutboundRtpStreamStats` dictionary represents the remote endpoint's measurement metrics for its outgoing RTP stream. """ remoteTimestamp: Optional[datetime.datetime] = None @dataclass class RTCTransportStats(RTCStats): packetsSent: int "Total number of packets sent over this transport." packetsReceived: int "Total number of packets received over this transport." bytesSent: int "Total number of bytes sent over this transport." bytesReceived: int "Total number of bytes received over this transport." iceRole: str "The current value of :attr:`RTCIceTransport.role`." dtlsState: str "The current value of :attr:`RTCDtlsTransport.state`." class RTCStatsReport(dict): """ Provides statistics data about WebRTC connections as returned by the :meth:`RTCPeerConnection.getStats()`, :meth:`RTCRtpReceiver.getStats()` and :meth:`RTCRtpSender.getStats()` coroutines. This object consists of a mapping of string identifiers to objects which are instances of: - :class:`RTCInboundRtpStreamStats` - :class:`RTCOutboundRtpStreamStats` - :class:`RTCRemoteInboundRtpStreamStats` - :class:`RTCRemoteOutboundRtpStreamStats` - :class:`RTCTransportStats` """ def add(self, stats: RTCStats) -> None: self[stats.id] = stats aiortc-1.11.0/src/aiortc/utils.py000066400000000000000000000017221477147103300166460ustar00rootroot00000000000000import os from struct import unpack def random16() -> int: return unpack("!H", os.urandom(2))[0] def random32() -> int: return unpack("!L", os.urandom(4))[0] def uint16_add(a: int, b: int) -> int: """ Return a + b. """ return (a + b) & 0xFFFF def uint16_gt(a: int, b: int) -> bool: """ Return a > b. """ half_mod = 0x8000 return ((a < b) and ((b - a) > half_mod)) or ((a > b) and ((a - b) < half_mod)) def uint16_gte(a: int, b: int) -> bool: """ Return a >= b. """ return (a == b) or uint16_gt(a, b) def uint32_add(a: int, b: int) -> int: """ Return a + b. """ return (a + b) & 0xFFFFFFFF def uint32_gt(a: int, b: int) -> bool: """ Return a > b. """ half_mod = 0x80000000 return ((a < b) and ((b - a) > half_mod)) or ((a > b) and ((a - b) < half_mod)) def uint32_gte(a: int, b: int) -> bool: """ Return a >= b. """ return (a == b) or uint32_gt(a, b) aiortc-1.11.0/stubs/000077500000000000000000000000001477147103300142225ustar00rootroot00000000000000aiortc-1.11.0/stubs/google_crc32c.pyi000066400000000000000000000000431477147103300173550ustar00rootroot00000000000000def value(data: bytes) -> int: ... aiortc-1.11.0/tests/000077500000000000000000000000001477147103300142245ustar00rootroot00000000000000aiortc-1.11.0/tests/__init__.py000066400000000000000000000000001477147103300163230ustar00rootroot00000000000000aiortc-1.11.0/tests/codecs.py000066400000000000000000000115171477147103300160430ustar00rootroot00000000000000import fractions from unittest import TestCase from aiortc.codecs import depayload, get_decoder, get_encoder from aiortc.jitterbuffer import JitterFrame from aiortc.mediastreams import AUDIO_PTIME, VIDEO_TIME_BASE from av import AudioFrame, VideoFrame from av.packet import Packet class CodecTestCase(TestCase): def create_audio_frame(self, samples, pts, layout="mono", sample_rate=48000): frame = AudioFrame(format="s16", layout=layout, samples=samples) for p in frame.planes: p.update(bytes(p.buffer_size)) frame.pts = pts frame.sample_rate = sample_rate frame.time_base = fractions.Fraction(1, sample_rate) return frame def create_audio_frames(self, layout, sample_rate, count): frames = [] timestamp = 0 samples_per_frame = int(AUDIO_PTIME * sample_rate) for i in range(count): frames.append( self.create_audio_frame( samples=samples_per_frame, pts=timestamp, layout=layout, sample_rate=sample_rate, ) ) timestamp += samples_per_frame return frames def create_packet(self, payload: bytes, pts: int) -> Packet: """ Create a packet. """ packet = Packet(len(payload)) packet.update(payload) packet.pts = pts packet.time_base = fractions.Fraction(1, 1000) return packet def create_video_frame( self, width, height, pts, format="yuv420p", time_base=VIDEO_TIME_BASE ): """ Create a single blank video frame. """ frame = VideoFrame(width=width, height=height, format=format) for p in frame.planes: p.update(bytes(p.buffer_size)) frame.pts = pts frame.time_base = time_base return frame def create_video_frames(self, width, height, count, time_base=VIDEO_TIME_BASE): """ Create consecutive blank video frames. """ frames = [] for i in range(count): frames.append( self.create_video_frame( width=width, height=height, pts=int(i / time_base / 30), time_base=time_base, ) ) return frames def roundtrip_audio( self, codec, output_layout, output_sample_rate, input_layout="mono", input_sample_rate=8000, drop=[], ): """ Round-trip an AudioFrame through encoder then decoder. """ encoder = get_encoder(codec) decoder = get_decoder(codec) input_frames = self.create_audio_frames( layout=input_layout, sample_rate=input_sample_rate, count=10 ) output_sample_count = int(output_sample_rate * AUDIO_PTIME) for i, frame in enumerate(input_frames): # encode packages, timestamp = encoder.encode(frame) if i not in drop: # depacketize data = b"" for package in packages: data += depayload(codec, package) # decode frames = decoder.decode(JitterFrame(data=data, timestamp=timestamp)) self.assertEqual(len(frames), 1) self.assertEqual(frames[0].format.name, "s16") self.assertEqual(frames[0].layout.name, output_layout) self.assertEqual(frames[0].samples, output_sample_rate * AUDIO_PTIME) self.assertEqual(frames[0].sample_rate, output_sample_rate) self.assertEqual(frames[0].pts, i * output_sample_count) self.assertEqual( frames[0].time_base, fractions.Fraction(1, output_sample_rate) ) def roundtrip_video(self, codec, width, height, time_base=VIDEO_TIME_BASE): """ Round-trip a VideoFrame through encoder then decoder. """ encoder = get_encoder(codec) decoder = get_decoder(codec) input_frames = self.create_video_frames( width=width, height=height, count=30, time_base=time_base ) for i, frame in enumerate(input_frames): # encode packages, timestamp = encoder.encode(frame) # depacketize data = b"" for package in packages: data += depayload(codec, package) # decode frames = decoder.decode(JitterFrame(data=data, timestamp=timestamp)) self.assertEqual(len(frames), 1) self.assertEqual(frames[0].width, frame.width) self.assertEqual(frames[0].height, frame.height) self.assertEqual(frames[0].pts, i * 3000) self.assertEqual(frames[0].time_base, VIDEO_TIME_BASE) aiortc-1.11.0/tests/h264_0000.bin000066400000000000000000000000271477147103300160370ustar00rootroot00000000000000xgBÀŒ@P„jhÎ<€aiortc-1.11.0/tests/h264_0001.bin000066400000000000000000000016211477147103300160410ustar00rootroot00000000000000|…¸ áLP9ŸÿñÀ4)¡§¶ßÿ”fæO·É°ƒÿÿuOøCíÿù98C@Óÿ₫#ÅΑ´1¯₫߯R™+øÎ‘̃N#Ú3±¯â9¥RnNÎïÚÿôF½ wÿÿP¦3Oíÿ¼FhZ3x©ÿ³Ê3Yëü)Ÿ=ŸÿNƒü7kÿéÿ a¨ƒ æÿÿx[̉ư¿ñt₫V©ÿ₫wH́A79}¾ŸưáMíÿÙ÷! ›ÓÿñuqßéÿäéëV₫ÿùU¤¤Å̉̉̉Í­W]mn¦}Sζ“›ô₫©k‘c´§ÿÿö₫¨ª™lB_ôíüPËŸ—~“ơÍ Ă¢])DiêUˆR„c˶ôÿÛ₫«›@óÈôóz·h2pư¿ù¶©á ¿₫•̉̉ªí\rỵ̈­ơ×}¼soÓ=ícÔ¹ÿóüËŒN¼ñ L‡¯ÿû…á€÷ÿú†?₫Ÿ×Ûá7eßÿ̃!ư¿ÿ¦±؈ÊWµ®uơ-t±­ëD#WŸ<®ùß{ăŸöÿơºï›¼ÏÊe¼ÏêéÜsÓûØÍ¢hE¯üijªV <'ăoÿơ c­Û?ÿ¼Ff:öééÓäÔzéÿ₫–o•=®éÖóéµj´K®ºë®ú[æơO7ªzYºzës=ë®·]j´5×3̣¾ºë®úçñL÷®ºæï]sz¥›Å]­s{Ñ4µ×]=uÄz­ nù½ë›w›ô½j¶çÿÿL̃ơ»ä륮ºæ÷®nƠÇ?û뮻뷮•Ú×]uÓß{b;̉̀÷®Nm؈ï:êÖnÑ«®~÷×6í'k:ؾ~ờ¾­%Íê·7zëuÖ¤ZÜG‚úZYÖöơÖë§¾ºÍ%¹³¤êíë¥ư¿ÿ}-­tơ×}¬¼óÿÛÏêúï§¾¹¿Väío®º{zéäçùIÍúºë®nd§µ®ºæ̣­×]-tó-©̉]ṿơ×"×\Ưék™ï]¼Ï2íéf̣›ÔƯë®·Ni%›’®ûï¾»[ë›åOK'7êé뮺æơ[‘ï®o•<ÊqW¥›ô$èÿ§ÿnjÉ×6€¢§¾ºë®ºï›ôß)ûÚß?ªy¼Tơ×7ªw}ó÷®¹»̉×k[ˆ]N¾„¿ÿÛê!ñW}ơ×/7zw]u×7{æï]ủ×K]u»Y»̀º™}]u×Oÿú~»ØI\C²¼Û₫©»̉×]jºë“µ¾úz뮺ë­ÉÏê~ơÍ̃ºZƯuͽï¾~ö¶±‘ÿÿ·ëU eÛ7jZï¾úzë™o2È“ú¾ºërw̉̉Í̃¸ÊéëlnN¹znơ×\̃¡ÿ₫œvöÿÿ é[ÿ¿ôœïÿư5̀÷®nơ×[§›µuºy·êzæï|Ư뮺é,˪ëI=eĂz§¥D#yÈï₫Ÿñ'§`Éß:ÿ;ê´—2̃NÖÖ~öówS×]t®̃ÖE®¹·y;ëu¤#¼½ñÛöÿü{U€aiortc-1.11.0/tests/h264_0003.bin000066400000000000000000000010601477147103300160400ustar00rootroot00000000000000aà@œŸÁ4₫Ó;íÿ₫(*á—’¿ÓøøW§ÿ₫ÿOÿ ?âsz̃Ǽ»ëÔÿú₫¾³ăsC,gN>¤WƠ°®T¿¿ükëÿ¯èO‰ÓớGơ¬F‰}Sÿ äWöÿÿáœÆ?ÿ¼ÉŒÇx«0΀Yÿéô7ä˜g@_ư²ÿ0\°˜§ÿéĂ*Á₫ÿöÂy¿ÿëM±º÷Öô3Ň?ÿo×údç\₫3ö/ÃQ>#Îôw^”i:Ïâ<(¿oÿÎÿWÏáMÿü¿ ÉÿÓü±Ă|6¾ßÿ·¿ĂŸư=º₫3ÿëJeûúÎÿZÎùüGˆ́ưŸœư çwú¹ơ¹ŒV ³ïæªè5íÿÿ/åB|ë8…Ä=ÏÙü₫/ÅŸ˜_¬₫3ö!s¾/öur~·₫1ñ*BY3ós¼Çç?gz?Gè_yιüOŸÏÊ~?́ư ïzÄx?Ÿ³ù̃ëÑGóùüüçáCñB<ú?ơ¨¡âûç{?‰óö~?Ÿˆ?Gñ}óùüü0'£ó‰|₫?sùøhüIüưèkú;ÅÄt/WÏâ9OÅ ơˆX“ñ‡\₫/´ÇX ê¹üïgà€GŒ[Ùü_¬ïçXL_èLë)ø ßÁ8¾Ùßû?}[ëX? ŒïŸ”Bḉ_«?‹ưsñ{?wÄpÙøhï ‰ë??W…Ùùº½‚ƒô/¾/ô ïŸÏçóîÄt+ÄxŸâOçóùüü@aiortc-1.11.0/tests/rtcp_bye.bin000066400000000000000000000000101477147103300165140ustar00rootroot00000000000000Ë®R‹Caiortc-1.11.0/tests/rtcp_bye_invalid.bin000066400000000000000000000000101477147103300202220ustar00rootroot00000000000000‘Ë®R‹Caiortc-1.11.0/tests/rtcp_bye_no_sources.bin000066400000000000000000000000041477147103300207560ustar00rootroot00000000000000€Ëaiortc-1.11.0/tests/rtcp_bye_padding.bin000066400000000000000000000000101477147103300202020ustar00rootroot00000000000000 Ëaiortc-1.11.0/tests/rtcp_psfb_invalid.bin000066400000000000000000000000101477147103300203750ustar00rootroot00000000000000ήR‹Caiortc-1.11.0/tests/rtcp_psfb_pli.bin000066400000000000000000000000141477147103300175370ustar00rootroot00000000000000ÎTPbe#?¹aiortc-1.11.0/tests/rtcp_rr.bin000066400000000000000000000000401477147103300163630ustar00rootroot00000000000000É0¶„G”7¯vraiortc-1.11.0/tests/rtcp_rr_invalid.bin000066400000000000000000000000101477147103300200660ustar00rootroot00000000000000É®R‹Caiortc-1.11.0/tests/rtcp_rtpfb.bin000066400000000000000000000000641477147103300170630ustar00rootroot00000000000000Í ‹Dw»÷îä @6Ln·ß$aiortc-1.11.0/tests/rtcp_rtpfb_invalid.bin000066400000000000000000000000101477147103300205600ustar00rootroot00000000000000Í®R‹Caiortc-1.11.0/tests/rtcp_sdes.bin000066400000000000000000000000641477147103300167040ustar00rootroot00000000000000Ê m$Sê&{63f459ea-41fe-4474-9d33-9707c9ee79d1}aiortc-1.11.0/tests/rtcp_sdes_item_truncated.bin000066400000000000000000000000401477147103300217650ustar00rootroot00000000000000Ê0¶„G”7¯vraiortc-1.11.0/tests/rtcp_sdes_source_truncated.bin000066400000000000000000000000161477147103300223320ustar00rootroot00000000000000Ê€Ñaiortc-1.11.0/tests/rtcp_sr.bin000066400000000000000000000000641477147103300163720ustar00rootroot00000000000000È m$SễFG[\f¨Ư> 4ơø‘íöaiortc-1.11.0/tests/rtcp_sr_invalid.bin000066400000000000000000000000101477147103300200670ustar00rootroot00000000000000È®R‹Caiortc-1.11.0/tests/rtp.bin000066400000000000000000000002541477147103300155240ustar00rootroot00000000000000€=êªcôđ@éÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿaiortc-1.11.0/tests/rtp_dtmf.bin000066400000000000000000000000201477147103300165250ustar00rootroot00000000000000€å^Xï°ö¼¦¡ḌÀaiortc-1.11.0/tests/rtp_only_padding.bin000066400000000000000000000003541477147103300202540ustar00rootroot00000000000000 xloñ C©¼¾4‚üFåUÚç+³¯̉hg×u”ưϰpöƯ–́úpSĐo¯ălSđ·²+ö[¹â8́>1=›fE ʢ蠙ư3vT£‘Î’ưü~4‰‹ `“ơp ‰ÇË:Nä¬ÛPɘÈ6ø09¶¢{#8gß„jÀUI,8ỸÙăWJØ1‹—"¶<Áá_€EĂơ©@eAÁ­ß~»²“̃wÎvË{ô§8™gh˜ùđÊXR-̃cRí=‚®Sö.ÂàbÚHM K¥›wP®9cAO¦-2yàaiortc-1.11.0/tests/rtp_only_padding_with_header_extensions.bin000066400000000000000000000003641477147103300250770ustar00rootroot00000000000000°bVz½ŸƒY~¯m¾̃"ñ̀Œàaiortc-1.11.0/tests/rtp_with_csrc.bin000066400000000000000000000002641477147103300175720ustar00rootroot00000000000000‚>̉_½«Íï̃­¾ïÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿaiortc-1.11.0/tests/rtp_with_sdes_mid.bin000066400000000000000000000001121477147103300204170ustar00rootroot00000000000000ï7LO¡­óu?p¾̃0x€ mÇ÷¢¤<n«ÿÀ; 7Expected B-bit for TSN=4ce1f17f, SID=0001, SSN=0000aiortc-1.11.0/tests/sctp_cookie_echo.bin000066400000000000000000000000301477147103300202070ustar00rootroot00000000000000ˆˆ=̣BÊuG½ 12345678aiortc-1.11.0/tests/sctp_data.bin000066400000000000000000000000401477147103300166520ustar00rootroot00000000000000ˆˆÀø¡?0₫œư3pingaiortc-1.11.0/tests/sctp_data_padding.bin000066400000000000000000000000401477147103300203400ustar00rootroot00000000000000ˆˆÀø¡…!}­ư3Maiortc-1.11.0/tests/sctp_error.bin000066400000000000000000000000301477147103300170710ustar00rootroot00000000000000ˆˆàYWÂüå~e 09aiortc-1.11.0/tests/sctp_forward_tsn.bin000066400000000000000000000000301477147103300202700ustar00rootroot00000000000000ˆˆÀø¡¿DÉ£À ̉ "aiortc-1.11.0/tests/sctp_heartbeat.bin000066400000000000000000000000701477147103300177030ustar00rootroot00000000000000ˆˆ¸ÇeKƠ j,(µoªZvZ{4ëFaiortc-1.11.0/tests/sctp_init.bin000066400000000000000000000001441477147103300167110ustar00rootroot00000000000000ˆˆ®_…MV$R0’aKÀ€ ÀÁ€‚€$‰™'8l¤i«ơ¡ÈÂt¯å³ú8PÚ3ñw€€€Áaiortc-1.11.0/tests/sctp_init_bad_verification.bin000066400000000000000000000001441477147103300222610ustar00rootroot00000000000000ˆˆ09”'ĐV$R0’aKÀ€ ÀÁ€‚€$‰™'8l¤i«ơ¡ÈÂt¯å³ú8PÚ3ñw€€€Áaiortc-1.11.0/tests/sctp_reconfig_add_out.bin000066400000000000000000000000341477147103300212370ustar00rootroot00000000000000ˆˆé –₫¶ÓÓ‚ Êö0aiortc-1.11.0/tests/sctp_reconfig_reset_out.bin000066400000000000000000000000441477147103300216320ustar00rootroot00000000000000ˆˆÈènkéç‘‚ ‹Ø [ä‹́s‹Ø ^aiortc-1.11.0/tests/sctp_reconfig_response.bin000066400000000000000000000000341477147103300214560ustar00rootroot00000000000000ˆˆ±¿~ưD7©R‚ ‘STaiortc-1.11.0/tests/sctp_sack.bin000066400000000000000000000000501477147103300166630ustar00rootroot00000000000000ˆˆ÷¯KOæ!„[ô „[¡aiortc-1.11.0/tests/sctp_shutdown.bin000066400000000000000000000000241477147103300176160ustar00rootroot00000000000000ˆˆïœrÊQ‹ ¸4Øaiortc-1.11.0/tests/test_clock.py000066400000000000000000000020061477147103300167260ustar00rootroot00000000000000import datetime from unittest import TestCase from unittest.mock import patch from aiortc import clock class ClockTest(TestCase): @patch("aiortc.clock.current_datetime") def test_current_ms(self, mock_now): mock_now.return_value = datetime.datetime( 2018, 9, 11, tzinfo=datetime.timezone.utc ) self.assertEqual(clock.current_ms(), 3745612800000) mock_now.return_value = datetime.datetime( 2018, 9, 11, 0, 0, 1, tzinfo=datetime.timezone.utc ) self.assertEqual(clock.current_ms(), 3745612801000) def test_datetime_from_ntp(self): dt = datetime.datetime( 2018, 6, 28, 9, 3, 5, 423998, tzinfo=datetime.timezone.utc ) self.assertEqual(clock.datetime_from_ntp(16059593044731306503), dt) def test_datetime_to_ntp(self): dt = datetime.datetime( 2018, 6, 28, 9, 3, 5, 423998, tzinfo=datetime.timezone.utc ) self.assertEqual(clock.datetime_to_ntp(dt), 16059593044731306503) aiortc-1.11.0/tests/test_codecs.py000066400000000000000000000007731477147103300171040ustar00rootroot00000000000000from unittest import TestCase from aiortc.codecs import get_decoder, get_encoder from aiortc.rtcrtpparameters import RTCRtpCodecParameters BOGUS_CODEC = RTCRtpCodecParameters( mimeType="audio/bogus", clockRate=8000, channels=1, payloadType=0 ) class CodecsTest(TestCase): def test_get_decoder(self): with self.assertRaises(ValueError): get_decoder(BOGUS_CODEC) def test_get_encoder(self): with self.assertRaises(ValueError): get_encoder(BOGUS_CODEC) aiortc-1.11.0/tests/test_contrib_media.py000066400000000000000000000606461477147103300204500ustar00rootroot00000000000000import asyncio import errno import os import tempfile import time import wave from unittest import TestCase from unittest.mock import patch import av from aiortc.contrib.media import MediaBlackhole, MediaPlayer, MediaRecorder, MediaRelay from aiortc.mediastreams import AudioStreamTrack, MediaStreamError, VideoStreamTrack from .codecs import CodecTestCase from .utils import asynctest class VideoStreamTrackUhd(VideoStreamTrack): async def recv(self): pts, time_base = await self.next_timestamp() frame = av.VideoFrame(width=3840, height=2160) for p in frame.planes: p.update(bytes(p.buffer_size)) frame.pts = pts frame.time_base = time_base return frame class MediaTestCase(CodecTestCase): def setUp(self): self.directory = tempfile.TemporaryDirectory() def tearDown(self): self.directory.cleanup() def create_audio_file(self, name, channels=1, sample_rate=8000, sample_width=2): path = self.temporary_path(name) writer = wave.open(path, "wb") writer.setnchannels(channels) writer.setframerate(sample_rate) writer.setsampwidth(sample_width) writer.writeframes(b"\x00" * sample_rate * sample_width * channels) writer.close() return path def create_audio_and_video_file( self, name, width=640, height=480, video_rate=30, duration=1 ): path = self.temporary_path(name) audio_pts = 0 audio_rate = 48000 audio_samples = audio_rate // video_rate container = av.open(path, "w") audio_stream = container.add_stream("libopus", rate=audio_rate) video_stream = container.add_stream("h264", rate=video_rate) for video_frame in self.create_video_frames( width=width, height=height, count=duration * video_rate ): audio_frame = self.create_audio_frame( samples=audio_samples, pts=audio_pts, sample_rate=audio_rate ) audio_pts += audio_samples for packet in audio_stream.encode(audio_frame): container.mux(packet) for packet in video_stream.encode(video_frame): container.mux(packet) for packet in audio_stream.encode(None): container.mux(packet) for packet in video_stream.encode(None): container.mux(packet) container.close() return path def create_video_file(self, name, width=640, height=480, rate=30, duration=1): path = self.temporary_path(name) container = av.open(path, "w") if name.endswith(".png"): stream = container.add_stream("png", rate=rate) stream.pix_fmt = "rgb24" elif name.endswith(".ts"): stream = container.add_stream("h264", rate=rate) else: assert name.endswith(".mp4") stream = container.add_stream("mpeg4", rate=rate) for frame in self.create_video_frames( width=width, height=height, count=duration * rate ): for packet in stream.encode(frame): container.mux(packet) for packet in stream.encode(None): container.mux(packet) container.close() return path def temporary_path(self, name): return os.path.join(self.directory.name, name) class MediaBlackholeTest(TestCase): @asynctest async def test_audio(self): recorder = MediaBlackhole() recorder.addTrack(AudioStreamTrack()) await recorder.start() await asyncio.sleep(1) await recorder.stop() @asynctest async def test_audio_ended(self): track = AudioStreamTrack() recorder = MediaBlackhole() recorder.addTrack(track) await recorder.start() await asyncio.sleep(1) track.stop() await asyncio.sleep(1) await recorder.stop() @asynctest async def test_audio_and_video(self): recorder = MediaBlackhole() recorder.addTrack(AudioStreamTrack()) recorder.addTrack(VideoStreamTrack()) await recorder.start() await asyncio.sleep(2) await recorder.stop() @asynctest async def test_video(self): recorder = MediaBlackhole() recorder.addTrack(VideoStreamTrack()) await recorder.start() await asyncio.sleep(2) await recorder.stop() @asynctest async def test_video_ended(self): track = VideoStreamTrack() recorder = MediaBlackhole() recorder.addTrack(track) await recorder.start() await asyncio.sleep(1) track.stop() await asyncio.sleep(1) await recorder.stop() class MediaRelayTest(MediaTestCase): @asynctest async def test_audio_stop_consumer(self): source = AudioStreamTrack() relay = MediaRelay() proxy1 = relay.subscribe(source) proxy2 = relay.subscribe(source) # read some frames samples_per_frame = 160 for pts in range(0, 2 * samples_per_frame, samples_per_frame): frame1, frame2 = await asyncio.gather(proxy1.recv(), proxy2.recv()) self.assertEqual(frame1.format.name, "s16") self.assertEqual(frame1.layout.name, "mono") self.assertEqual(frame1.pts, pts) self.assertEqual(frame1.samples, samples_per_frame) self.assertEqual(frame2.format.name, "s16") self.assertEqual(frame2.layout.name, "mono") self.assertEqual(frame2.pts, pts) self.assertEqual(frame2.samples, samples_per_frame) # stop a consumer proxy1.stop() # continue reading for i in range(2): exc1, frame2 = await asyncio.gather( proxy1.recv(), proxy2.recv(), return_exceptions=True ) self.assertIsInstance(exc1, MediaStreamError) self.assertIsInstance(frame2, av.AudioFrame) # stop source track source.stop() @asynctest async def test_audio_stop_consumer_unbuffered(self): source = AudioStreamTrack() relay = MediaRelay() proxy1 = relay.subscribe(source, buffered=False) proxy2 = relay.subscribe(source, buffered=False) # read some frames samples_per_frame = 160 for pts in range(0, 2 * samples_per_frame, samples_per_frame): frame1, frame2 = await asyncio.gather(proxy1.recv(), proxy2.recv()) self.assertEqual(frame1.format.name, "s16") self.assertEqual(frame1.layout.name, "mono") self.assertEqual(frame1.pts, pts) self.assertEqual(frame1.samples, samples_per_frame) self.assertEqual(frame2.format.name, "s16") self.assertEqual(frame2.layout.name, "mono") self.assertEqual(frame2.pts, pts) self.assertEqual(frame2.samples, samples_per_frame) # stop a consumer proxy1.stop() # continue reading for i in range(2): exc1, frame2 = await asyncio.gather( proxy1.recv(), proxy2.recv(), return_exceptions=True ) self.assertIsInstance(exc1, MediaStreamError) self.assertIsInstance(frame2, av.AudioFrame) # stop source track source.stop() @asynctest async def test_audio_stop_source(self): source = AudioStreamTrack() relay = MediaRelay() proxy1 = relay.subscribe(source) proxy2 = relay.subscribe(source) # read some frames samples_per_frame = 160 for pts in range(0, 2 * samples_per_frame, samples_per_frame): frame1, frame2 = await asyncio.gather(proxy1.recv(), proxy2.recv()) self.assertEqual(frame1.format.name, "s16") self.assertEqual(frame1.layout.name, "mono") self.assertEqual(frame1.pts, pts) self.assertEqual(frame1.samples, samples_per_frame) self.assertEqual(frame2.format.name, "s16") self.assertEqual(frame2.layout.name, "mono") self.assertEqual(frame2.pts, pts) self.assertEqual(frame2.samples, samples_per_frame) # stop source track source.stop() # continue reading await asyncio.gather(proxy1.recv(), proxy2.recv()) for i in range(2): exc1, exc2 = await asyncio.gather( proxy1.recv(), proxy2.recv(), return_exceptions=True ) self.assertIsInstance(exc1, MediaStreamError) self.assertIsInstance(exc2, MediaStreamError) @asynctest async def test_audio_stop_source_unbuffered(self): source = AudioStreamTrack() relay = MediaRelay() proxy1 = relay.subscribe(source, buffered=False) proxy2 = relay.subscribe(source, buffered=False) # read some frames samples_per_frame = 160 for pts in range(0, 2 * samples_per_frame, samples_per_frame): frame1, frame2 = await asyncio.gather(proxy1.recv(), proxy2.recv()) self.assertEqual(frame1.format.name, "s16") self.assertEqual(frame1.layout.name, "mono") self.assertEqual(frame1.pts, pts) self.assertEqual(frame1.samples, samples_per_frame) self.assertEqual(frame2.format.name, "s16") self.assertEqual(frame2.layout.name, "mono") self.assertEqual(frame2.pts, pts) self.assertEqual(frame2.samples, samples_per_frame) # stop source track source.stop() # continue reading for i in range(2): exc1, exc2 = await asyncio.gather( proxy1.recv(), proxy2.recv(), return_exceptions=True ) self.assertIsInstance(exc1, MediaStreamError) self.assertIsInstance(exc2, MediaStreamError) @asynctest async def test_audio_slow_consumer(self): source = AudioStreamTrack() relay = MediaRelay() proxy1 = relay.subscribe(source, buffered=False) proxy2 = relay.subscribe(source, buffered=False) # read some frames samples_per_frame = 160 for pts in range(0, 2 * samples_per_frame, samples_per_frame): frame1, frame2 = await asyncio.gather(proxy1.recv(), proxy2.recv()) self.assertEqual(frame1.format.name, "s16") self.assertEqual(frame1.layout.name, "mono") self.assertEqual(frame1.pts, pts) self.assertEqual(frame1.samples, samples_per_frame) self.assertEqual(frame2.format.name, "s16") self.assertEqual(frame2.layout.name, "mono") self.assertEqual(frame2.pts, pts) self.assertEqual(frame2.samples, samples_per_frame) # skip some frames timestamp = 5 * samples_per_frame await asyncio.sleep(source._start + (timestamp / 8000) - time.time()) frame1, frame2 = await asyncio.gather(proxy1.recv(), proxy2.recv()) self.assertEqual(frame1.format.name, "s16") self.assertEqual(frame1.layout.name, "mono") self.assertEqual(frame1.pts, 5 * samples_per_frame) self.assertEqual(frame1.samples, samples_per_frame) self.assertEqual(frame2.format.name, "s16") self.assertEqual(frame2.layout.name, "mono") self.assertEqual(frame2.pts, 5 * samples_per_frame) self.assertEqual(frame2.samples, samples_per_frame) # stop a consumer proxy1.stop() # continue reading for i in range(2): exc1, frame2 = await asyncio.gather( proxy1.recv(), proxy2.recv(), return_exceptions=True ) self.assertIsInstance(exc1, MediaStreamError) self.assertIsInstance(frame2, av.AudioFrame) # stop source track source.stop() class BufferingInputContainer: def __init__(self, real): self.__failed = False self.__real = real def decode(self, *args, **kwargs): # fail with EAGAIN once if not self.__failed: self.__failed = True raise av.FFmpegError(errno.EAGAIN, "EAGAIN") return self.__real.decode(*args, **kwargs) def demux(self, *args, **kwargs): # fail with EAGAIN once if not self.__failed: self.__failed = True raise av.FFmpegError(errno.EAGAIN, "EAGAIN") return self.__real.demux(*args, **kwargs) def __getattr__(self, name): return getattr(self.__real, name) class MediaPlayerTest(MediaTestCase): def assertAudio(self, frame): self.assertEqual(frame.format.name, "s16") self.assertEqual(frame.layout.name, "stereo") self.assertEqual(frame.samples, 960) self.assertEqual(frame.sample_rate, 48000) def assertVideo(self, frame): self.assertEqual(frame.width, 640) self.assertEqual(frame.height, 480) def createMediaPlayer(self, path, **kwargs): return MediaPlayer(path, **kwargs) def endTime(self, frame): return frame.time + frame.samples / frame.sample_rate @asynctest async def test_audio_file_8kHz(self): path = self.create_audio_file("test.wav") player = self.createMediaPlayer(path) if isinstance(self, MediaPlayerNoDecodeTest): self.assertIsNone(player.audio) self.assertIsNone(player.video) else: # check tracks self.assertIsNotNone(player.audio) self.assertIsNone(player.video) # read all frames self.assertEqual(player.audio.readyState, "live") while True: frame = await player.audio.recv() self.assertAudio(frame) if self.endTime(frame) >= 0.98: break with self.assertRaises(MediaStreamError): await player.audio.recv() self.assertEqual(player.audio.readyState, "ended") # try reading again with self.assertRaises(MediaStreamError): await player.audio.recv() @asynctest async def test_audio_file_48kHz(self): path = self.create_audio_file("test.wav", sample_rate=48000) player = self.createMediaPlayer(path) if isinstance(self, MediaPlayerNoDecodeTest): self.assertIsNone(player.audio) self.assertIsNone(player.video) else: # check tracks self.assertIsNotNone(player.audio) self.assertIsNone(player.video) # read all frames self.assertEqual(player.audio.readyState, "live") while True: frame = await player.audio.recv() if self.endTime(frame) >= 1.0: break self.assertAudio(frame) with self.assertRaises(MediaStreamError): await player.audio.recv() self.assertEqual(player.audio.readyState, "ended") @asynctest async def test_audio_file_looping(self): path = self.create_audio_file("test.wav", sample_rate=48000) player = self.createMediaPlayer(path, loop=True) if isinstance(self, MediaPlayerNoDecodeTest): self.assertIsNone(player.audio) else: # read all frames, then loop and re-read all frames self.assertEqual(player.audio.readyState, "live") for i in range(100): frame = await player.audio.recv() self.assertAudio(frame) # read one more time, forcing a second loop await player.audio.recv() self.assertEqual(player.audio.readyState, "live") # stop the player player.audio.stop() @asynctest async def test_audio_and_video_file(self): path = self.create_audio_and_video_file(name="test.ts", duration=5) player = self.createMediaPlayer(path) # check tracks self.assertIsNotNone(player.audio) self.assertIsNotNone(player.video) # read some frames self.assertEqual(player.audio.readyState, "live") self.assertEqual(player.video.readyState, "live") for i in range(10): await asyncio.gather(player.audio.recv(), player.video.recv()) # stop audio track player.audio.stop() # continue reading for i in range(10): with self.assertRaises(MediaStreamError): await player.audio.recv() await player.video.recv() # stop video track player.video.stop() # continue reading with self.assertRaises(MediaStreamError): await player.audio.recv() with self.assertRaises(MediaStreamError): await player.video.recv() @asynctest async def test_video_file_mp4(self): path = self.create_video_file("test.mp4", duration=3) player = self.createMediaPlayer(path) if isinstance(self, MediaPlayerNoDecodeTest): self.assertIsNone(player.audio) self.assertIsNone(player.video) else: # check tracks self.assertIsNone(player.audio) self.assertIsNotNone(player.video) # read all frames self.assertEqual(player.video.readyState, "live") for i in range(90): frame = await player.video.recv() self.assertVideo(frame) with self.assertRaises(MediaStreamError): await player.video.recv() self.assertEqual(player.video.readyState, "ended") @asynctest async def test_audio_and_video_file_mpegts_eagain(self): path = self.create_audio_and_video_file("test.ts", duration=3) container = BufferingInputContainer(av.open(path, "r")) with patch("av.open") as mock_open: mock_open.return_value = container player = self.createMediaPlayer(path) # check tracks self.assertIsNotNone(player.audio) self.assertIsNotNone(player.video) # read all frames self.assertEqual(player.video.readyState, "live") error_count = 0 received_count = 0 for i in range(100): try: frame = await player.video.recv() self.assertVideo(frame) received_count += 1 except MediaStreamError: error_count += 1 break self.assertEqual(error_count, 1) self.assertGreaterEqual(received_count, 89) self.assertEqual(player.video.readyState, "ended") @asynctest async def test_video_file_mpegts_looping(self): path = self.create_video_file("test.ts", duration=5) player = self.createMediaPlayer(path, loop=True) # read all frames, then loop and re-read all frames self.assertEqual(player.video.readyState, "live") for i in range(100): frame = await player.video.recv() self.assertVideo(frame) # read one more time, forcing a second loop await player.video.recv() self.assertEqual(player.video.readyState, "live") # stop the player player.video.stop() @asynctest async def test_video_file_png(self): path = self.create_video_file("test-%3d.png", duration=3) player = self.createMediaPlayer(path) if isinstance(self, MediaPlayerNoDecodeTest): self.assertIsNone(player.audio) self.assertIsNone(player.video) else: # check tracks self.assertIsNone(player.audio) self.assertIsNotNone(player.video) # read all frames self.assertEqual(player.video.readyState, "live") for i in range(90): frame = await player.video.recv() self.assertVideo(frame) with self.assertRaises(MediaStreamError): await player.video.recv() self.assertEqual(player.video.readyState, "ended") class MediaPlayerNoDecodeTest(MediaPlayerTest): def assertAudio(self, packet): self.assertIsInstance(packet, av.Packet) def assertVideo(self, packet): self.assertIsInstance(packet, av.Packet) def createMediaPlayer(self, path, **kwargs): return MediaPlayer(path, decode=False, **kwargs) def endTime(self, packet): return float((packet.pts + packet.duration) * packet.time_base) class MediaRecorderTest(MediaTestCase): async def check_audio_recording(self, filename, codec_names): # Record audio. path = self.temporary_path(filename) recorder = MediaRecorder(path) recorder.addTrack(AudioStreamTrack()) await recorder.start() await asyncio.sleep(2) await recorder.stop() # Check audio recording. container = av.open(path, "r") self.assertEqual(len(container.streams), 1) self.assertIn(container.streams[0].codec.name, codec_names) self.assertGreater( float(container.streams[0].duration * container.streams[0].time_base), 0 ) @asynctest async def test_audio_mp3(self): await self.check_audio_recording("test.mp3", ("mp3", "mp3float")) @asynctest async def test_audio_ogg(self): await self.check_audio_recording("test.ogg", ("opus",)) @asynctest async def test_audio_wav(self): await self.check_audio_recording("test.wav", ("pcm_s16le",)) @asynctest async def test_audio_wav_ended(self): track = AudioStreamTrack() recorder = MediaRecorder(self.temporary_path("test.wav")) recorder.addTrack(track) await recorder.start() await asyncio.sleep(1) track.stop() await asyncio.sleep(1) await recorder.stop() @asynctest async def test_audio_and_video(self): path = self.temporary_path("test.mp4") recorder = MediaRecorder(path) recorder.addTrack(AudioStreamTrack()) recorder.addTrack(VideoStreamTrack()) await recorder.start() await asyncio.sleep(2) await recorder.stop() # check output media container = av.open(path, "r") self.assertEqual(len(container.streams), 2) self.assertEqual(container.streams[0].codec.name, "aac") self.assertGreater( float(container.streams[0].duration * container.streams[0].time_base), 0 ) self.assertEqual(container.streams[1].codec.name, "h264") self.assertEqual(container.streams[1].width, 640) self.assertEqual(container.streams[1].height, 480) self.assertGreater( float(container.streams[1].duration * container.streams[1].time_base), 0 ) @asynctest async def test_video_png(self): path = self.temporary_path("test-%3d.png") recorder = MediaRecorder(path) recorder.addTrack(VideoStreamTrack()) await recorder.start() await asyncio.sleep(2) await recorder.stop() # check output media container = av.open(path, "r") self.assertEqual(len(container.streams), 1) self.assertEqual(container.streams[0].codec.name, "png") self.assertGreater( float(container.streams[0].duration * container.streams[0].time_base), 0 ) self.assertEqual(container.streams[0].width, 640) self.assertEqual(container.streams[0].height, 480) @asynctest async def test_video_mp4(self): path = self.temporary_path("test.mp4") recorder = MediaRecorder(path) recorder.addTrack(VideoStreamTrack()) await recorder.start() await asyncio.sleep(2) await recorder.stop() # check output media container = av.open(path, "r") self.assertEqual(len(container.streams), 1) self.assertEqual(container.streams[0].codec.name, "h264") self.assertGreater( float(container.streams[0].duration * container.streams[0].time_base), 0 ) self.assertEqual(container.streams[0].width, 640) self.assertEqual(container.streams[0].height, 480) @asynctest async def test_video_mp4_uhd(self): path = self.temporary_path("test.mp4") recorder = MediaRecorder(path) recorder.addTrack(VideoStreamTrackUhd()) await recorder.start() await asyncio.sleep(2) await recorder.stop() # check output media container = av.open(path, "r") self.assertEqual(len(container.streams), 1) self.assertEqual(container.streams[0].codec.name, "h264") self.assertGreater( float(container.streams[0].duration * container.streams[0].time_base), 0 ) self.assertEqual(container.streams[0].width, 3840) self.assertEqual(container.streams[0].height, 2160) aiortc-1.11.0/tests/test_contrib_signaling.py000066400000000000000000000146051477147103300213360ustar00rootroot00000000000000import argparse import asyncio import os from unittest import TestCase from aiortc import RTCIceCandidate, RTCSessionDescription from aiortc.contrib.signaling import ( BYE, add_signaling_arguments, create_signaling, object_from_string, object_to_string, ) from .utils import asynctest async def delay(coro): await asyncio.sleep(0.1) return await coro() offer = RTCSessionDescription(sdp="some-offer", type="offer") answer = RTCSessionDescription(sdp="some-answer", type="answer") class SignalingTest(TestCase): def setUp(self): def mock_print(*args, **kwargs): pass # hijack print() self.original_print = __builtins__["print"] __builtins__["print"] = mock_print def tearDown(self): # restore print() __builtins__["print"] = self.original_print @asynctest async def test_copy_and_paste(self): parser = argparse.ArgumentParser() add_signaling_arguments(parser) args = parser.parse_args(["-s", "copy-and-paste"]) sig_server = create_signaling(args) sig_client = create_signaling(args) def make_pipes(): r, w = os.pipe() return os.fdopen(r, "r"), os.fdopen(w, "w") # mock out read / write pipes sig_server._read_pipe, sig_client._write_pipe = make_pipes() sig_client._read_pipe, sig_server._write_pipe = make_pipes() # connect await sig_server.connect() await sig_client.connect() res = await asyncio.gather(sig_server.send(offer), delay(sig_client.receive)) self.assertEqual(res[1], offer) res = await asyncio.gather(sig_client.send(answer), delay(sig_server.receive)) self.assertEqual(res[1], answer) await asyncio.gather(sig_server.close(), sig_client.close()) # cleanup mocks sig_client._write_pipe.close() sig_server._write_pipe.close() @asynctest async def test_tcp_socket(self): parser = argparse.ArgumentParser() add_signaling_arguments(parser) args = parser.parse_args(["-s", "tcp-socket"]) sig_server = create_signaling(args) sig_client = create_signaling(args) # connect await sig_server.connect() await sig_client.connect() res = await asyncio.gather(sig_server.send(offer), delay(sig_client.receive)) self.assertEqual(res[1], offer) res = await asyncio.gather(sig_client.send(answer), delay(sig_server.receive)) self.assertEqual(res[1], answer) await asyncio.gather(sig_server.close(), sig_client.close()) @asynctest async def test_tcp_socket_abrupt_disconnect(self): parser = argparse.ArgumentParser() add_signaling_arguments(parser) args = parser.parse_args(["-s", "tcp-socket"]) sig_server = create_signaling(args) sig_client = create_signaling(args) # connect await sig_server.connect() await sig_client.connect() res = await asyncio.gather(sig_server.send(offer), delay(sig_client.receive)) self.assertEqual(res[1], offer) # break connection sig_client._writer.close() sig_server._writer.close() res = await sig_server.receive() self.assertIsNone(res) res = await sig_client.receive() self.assertIsNone(res) await asyncio.gather(sig_server.close(), sig_client.close()) @asynctest async def test_unix_socket(self): parser = argparse.ArgumentParser() add_signaling_arguments(parser) args = parser.parse_args(["-s", "unix-socket"]) sig_server = create_signaling(args) sig_client = create_signaling(args) # connect await sig_server.connect() await sig_client.connect() res = await asyncio.gather(sig_server.send(offer), delay(sig_client.receive)) self.assertEqual(res[1], offer) res = await asyncio.gather(sig_client.send(answer), delay(sig_server.receive)) self.assertEqual(res[1], answer) await asyncio.gather(sig_server.close(), sig_client.close()) @asynctest async def test_unix_socket_abrupt_disconnect(self): parser = argparse.ArgumentParser() add_signaling_arguments(parser) args = parser.parse_args(["-s", "unix-socket"]) sig_server = create_signaling(args) sig_client = create_signaling(args) # connect await sig_server.connect() await sig_client.connect() res = await asyncio.gather(sig_server.send(offer), delay(sig_client.receive)) self.assertEqual(res[1], offer) # break connection sig_client._writer.close() sig_server._writer.close() res = await sig_server.receive() self.assertIsNone(res) res = await sig_client.receive() self.assertIsNone(res) await asyncio.gather(sig_server.close(), sig_client.close()) class SignalingUtilsTest(TestCase): def test_bye_from_string(self): self.assertEqual(object_from_string('{"type": "bye"}'), BYE) def test_bye_to_string(self): self.assertEqual(object_to_string(BYE), '{"type": "bye"}') def test_candidate_from_string(self): candidate = object_from_string( '{"candidate": "candidate:0 1 UDP 2122252543 192.168.99.7 33543 typ host", ' '"id": "audio", "label": 0, "type": "candidate"}' ) self.assertEqual(candidate.component, 1) self.assertEqual(candidate.foundation, "0") self.assertEqual(candidate.ip, "192.168.99.7") self.assertEqual(candidate.port, 33543) self.assertEqual(candidate.priority, 2122252543) self.assertEqual(candidate.protocol, "UDP") self.assertEqual(candidate.sdpMid, "audio") self.assertEqual(candidate.sdpMLineIndex, 0) self.assertEqual(candidate.type, "host") def test_candidate_to_string(self): candidate = RTCIceCandidate( component=1, foundation="0", ip="192.168.99.7", port=33543, priority=2122252543, protocol="UDP", type="host", ) candidate.sdpMid = "audio" candidate.sdpMLineIndex = 0 self.assertEqual( object_to_string(candidate), '{"candidate": "candidate:0 1 UDP 2122252543 192.168.99.7 33543 typ host", ' '"id": "audio", "label": 0, "type": "candidate"}', ) aiortc-1.11.0/tests/test_g711.py000066400000000000000000000134751477147103300163260ustar00rootroot00000000000000import fractions import sys from aiortc.codecs import PCMA_CODEC, PCMU_CODEC, get_decoder, get_encoder from aiortc.codecs.g711 import PcmaDecoder, PcmaEncoder, PcmuDecoder, PcmuEncoder from aiortc.jitterbuffer import JitterFrame from .codecs import CodecTestCase # silence PCMA_PAYLOAD = b"\xd5" * 160 PCMU_PAYLOAD = b"\xff" * 160 class PcmaTest(CodecTestCase): def test_decoder(self): decoder = get_decoder(PCMA_CODEC) self.assertIsInstance(decoder, PcmaDecoder) frames = decoder.decode(JitterFrame(data=PCMA_PAYLOAD, timestamp=0)) self.assertEqual(len(frames), 1) frame = frames[0] self.assertEqual(frame.format.name, "s16") self.assertEqual(frame.layout.name, "mono") self.assertEqual( bytes(frame.planes[0]), (b"\x08\x00" if sys.byteorder == "little" else b"\x00\x08") * 160, ) self.assertEqual(frame.pts, 0) self.assertEqual(frame.samples, 160) self.assertEqual(frame.sample_rate, 8000) self.assertEqual(frame.time_base, fractions.Fraction(1, 8000)) def test_encoder_mono_8hz(self): encoder = get_encoder(PCMA_CODEC) self.assertIsInstance(encoder, PcmaEncoder) for frame in self.create_audio_frames( layout="mono", sample_rate=8000, count=10 ): payloads, timestamp = encoder.encode(frame) self.assertEqual(payloads, [PCMA_PAYLOAD]) self.assertEqual(timestamp, frame.pts) def test_encoder_stereo_8khz(self): encoder = get_encoder(PCMA_CODEC) self.assertIsInstance(encoder, PcmaEncoder) for frame in self.create_audio_frames( layout="stereo", sample_rate=8000, count=10 ): payloads, timestamp = encoder.encode(frame) self.assertEqual(payloads, [PCMA_PAYLOAD]) self.assertEqual(timestamp, frame.pts) def test_encoder_stereo_48khz(self): encoder = get_encoder(PCMA_CODEC) self.assertIsInstance(encoder, PcmaEncoder) output = [ encoder.encode(frame) for frame in self.create_audio_frames( layout="stereo", sample_rate=48000, count=10 ) ] self.assertEqual( output, [ ([], None), # No output due to buffering. ([PCMA_PAYLOAD], 0), ([PCMA_PAYLOAD], 160), ([PCMA_PAYLOAD], 320), ([PCMA_PAYLOAD], 480), ([PCMA_PAYLOAD], 640), ([PCMA_PAYLOAD], 800), ([PCMA_PAYLOAD], 960), ([PCMA_PAYLOAD], 1120), ([PCMA_PAYLOAD], 1280), ], ) def test_encoder_pack(self): encoder = get_encoder(PCMA_CODEC) self.assertTrue(isinstance(encoder, PcmaEncoder)) packet = self.create_packet(payload=PCMA_PAYLOAD, pts=1) payloads, timestamp = encoder.pack(packet) self.assertEqual(payloads, [PCMA_PAYLOAD]) self.assertEqual(timestamp, 8) def test_roundtrip(self): self.roundtrip_audio(PCMA_CODEC, output_layout="mono", output_sample_rate=8000) def test_roundtrip_with_loss(self): self.roundtrip_audio( PCMA_CODEC, output_layout="mono", output_sample_rate=8000, drop=[1] ) class PcmuTest(CodecTestCase): def test_decoder(self): decoder = get_decoder(PCMU_CODEC) self.assertIsInstance(decoder, PcmuDecoder) frames = decoder.decode(JitterFrame(data=PCMU_PAYLOAD, timestamp=0)) self.assertEqual(len(frames), 1) frame = frames[0] self.assertEqual(frame.format.name, "s16") self.assertEqual(frame.layout.name, "mono") self.assertEqual(bytes(frame.planes[0]), b"\x00\x00" * 160) self.assertEqual(frame.pts, 0) self.assertEqual(frame.samples, 160) self.assertEqual(frame.sample_rate, 8000) self.assertEqual(frame.time_base, fractions.Fraction(1, 8000)) def test_encoder_mono_8hz(self): encoder = get_encoder(PCMU_CODEC) self.assertIsInstance(encoder, PcmuEncoder) for frame in self.create_audio_frames( layout="mono", sample_rate=8000, count=10 ): payloads, timestamp = encoder.encode(frame) self.assertEqual(payloads, [PCMU_PAYLOAD]) self.assertEqual(timestamp, frame.pts) def test_encoder_stereo_8khz(self): encoder = get_encoder(PCMU_CODEC) self.assertIsInstance(encoder, PcmuEncoder) for frame in self.create_audio_frames( layout="stereo", sample_rate=8000, count=10 ): payloads, timestamp = encoder.encode(frame) self.assertEqual(payloads, [PCMU_PAYLOAD]) self.assertEqual(timestamp, frame.pts) def test_encoder_stereo_48khz(self): encoder = get_encoder(PCMU_CODEC) self.assertIsInstance(encoder, PcmuEncoder) output = [ encoder.encode(frame) for frame in self.create_audio_frames( layout="stereo", sample_rate=48000, count=10 ) ] self.assertEqual( output, [ ([], None), # No output due to buffering ([PCMU_PAYLOAD], 0), ([PCMU_PAYLOAD], 160), ([PCMU_PAYLOAD], 320), ([PCMU_PAYLOAD], 480), ([PCMU_PAYLOAD], 640), ([PCMU_PAYLOAD], 800), ([PCMU_PAYLOAD], 960), ([PCMU_PAYLOAD], 1120), ([PCMU_PAYLOAD], 1280), ], ) def test_roundtrip(self): self.roundtrip_audio(PCMU_CODEC, output_layout="mono", output_sample_rate=8000) def test_roundtrip_with_loss(self): self.roundtrip_audio( PCMU_CODEC, output_layout="mono", output_sample_rate=8000, drop=[1] ) aiortc-1.11.0/tests/test_h264.py000066400000000000000000000245351477147103300163310ustar00rootroot00000000000000import fractions import io from contextlib import redirect_stderr from unittest import TestCase from aiortc.codecs import get_decoder, get_encoder from aiortc.codecs.h264 import H264Decoder, H264Encoder, H264PayloadDescriptor from aiortc.jitterbuffer import JitterFrame from aiortc.rtcrtpparameters import RTCRtpCodecParameters from av import Packet from .codecs import CodecTestCase from .utils import load H264_CODEC = RTCRtpCodecParameters( mimeType="video/H264", clockRate=90000, payloadType=100 ) class FragmentedCodecContext: def __init__(self, orig): self.__orig = orig def encode(self, frame): packages = self.__orig.encode(frame) dummy = Packet() dummy.pts = packages[0].pts packages.append(dummy) return packages def __getattr__(self, name): return getattr(self.__orig, name) class H264PayloadDescriptorTest(TestCase): def test_parse_empty(self): with self.assertRaises(ValueError) as cm: H264PayloadDescriptor.parse(b"") self.assertEqual(str(cm.exception), "NAL unit is too short") def test_parse_stap_a(self): payload = load("h264_0000.bin") descr, rest = H264PayloadDescriptor.parse(payload) self.assertEqual(descr.first_fragment, True) self.assertEqual(repr(descr), "H264PayloadDescriptor(FF=True)") self.assertEqual(rest[:4], b"\00\00\00\01") self.assertEqual(len(rest), 26) def test_parse_stap_a_truncated(self): payload = load("h264_0000.bin") with self.assertRaises(ValueError) as cm: H264PayloadDescriptor.parse(payload[0:1]) self.assertEqual(str(cm.exception), "NAL unit is too short") with self.assertRaises(ValueError) as cm: H264PayloadDescriptor.parse(payload[0:2]) self.assertEqual(str(cm.exception), "STAP-A length field is truncated") with self.assertRaises(ValueError) as cm: H264PayloadDescriptor.parse(payload[0:3]) self.assertEqual(str(cm.exception), "STAP-A data is truncated") def test_parse_stap_b(self): with self.assertRaises(ValueError) as cm: H264PayloadDescriptor.parse(b"\x19\x00") self.assertEqual(str(cm.exception), "NAL unit type 25 is not supported") def test_parse_fu_a_1(self): payload = load("h264_0001.bin") descr, rest = H264PayloadDescriptor.parse(payload) self.assertEqual(descr.first_fragment, True) self.assertEqual(repr(descr), "H264PayloadDescriptor(FF=True)") self.assertEqual(rest[:4], b"\00\00\00\01") self.assertEqual(len(rest), 916) def test_parse_fu_a_2(self): payload = load("h264_0002.bin") descr, rest = H264PayloadDescriptor.parse(payload) self.assertEqual(descr.first_fragment, False) self.assertEqual(repr(descr), "H264PayloadDescriptor(FF=False)") self.assertNotEqual(rest[:4], b"\00\00\00\01") self.assertEqual(len(rest), 912) def test_parse_fu_a_truncated(self): with self.assertRaises(ValueError) as cm: H264PayloadDescriptor.parse(b"\x7c") self.assertEqual(str(cm.exception), "NAL unit is too short") def test_parse_nalu(self): payload = load("h264_0003.bin") descr, rest = H264PayloadDescriptor.parse(payload) self.assertEqual(descr.first_fragment, True) self.assertEqual(repr(descr), "H264PayloadDescriptor(FF=True)") self.assertEqual(rest[:4], b"\00\00\00\01") self.assertEqual(rest[4:], payload) self.assertEqual(len(rest), 564) class H264Test(CodecTestCase): def test_decoder(self): decoder = get_decoder(H264_CODEC) self.assertIsInstance(decoder, H264Decoder) # decode junk with redirect_stderr(io.StringIO()): frames = decoder.decode(JitterFrame(data=b"123", timestamp=0)) self.assertEqual(frames, []) def test_encoder(self): encoder = get_encoder(H264_CODEC) self.assertIsInstance(encoder, H264Encoder) frame = self.create_video_frame(width=640, height=480, pts=0) packages, timestamp = encoder.encode(frame) self.assertGreaterEqual(len(packages), 1) self.assertEqual(timestamp, 0) def test_encoder_large(self): encoder = get_encoder(H264_CODEC) self.assertIsInstance(encoder, H264Encoder) # first keyframe frame = self.create_video_frame(width=1280, height=720, pts=0) payloads, timestamp = encoder.encode(frame) self.assertGreaterEqual(len(payloads), 3) self.assertEqual(timestamp, 0) # delta frame frame = self.create_video_frame(width=1280, height=720, pts=3000) payloads, timestamp = encoder.encode(frame) self.assertGreaterEqual(len(payloads), 1) self.assertEqual(timestamp, 3000) # force keyframe frame = self.create_video_frame(width=1280, height=720, pts=6000) payloads, timestamp = encoder.encode(frame, force_keyframe=True) self.assertGreaterEqual(len(payloads), 3) self.assertEqual(timestamp, 6000) def test_encoder_pack(self): encoder = get_encoder(H264_CODEC) self.assertTrue(isinstance(encoder, H264Encoder)) packet = self.create_packet(payload=bytes([0, 0, 1, 0]), pts=1) payloads, timestamp = encoder.pack(packet) self.assertEqual(payloads, [b"\x00"]) self.assertEqual(timestamp, 90) def test_encoder_target_bitrate(self): encoder = get_encoder(H264_CODEC) self.assertIsInstance(encoder, H264Encoder) self.assertEqual(encoder.target_bitrate, 1000000) frame = self.create_video_frame(width=640, height=480, pts=0) packages, timestamp = encoder.encode(frame) self.assertGreaterEqual(len(packages), 1) self.assertTrue(len(packages[0]) < 1300) self.assertEqual(timestamp, 0) # change target bitrate encoder.target_bitrate = 1200000 self.assertEqual(encoder.target_bitrate, 1200000) frame = self.create_video_frame(width=640, height=480, pts=3000) packages, timestamp = encoder.encode(frame) self.assertGreaterEqual(len(packages), 1) self.assertTrue(len(packages[0]) < 1300) self.assertEqual(timestamp, 3000) def test_roundtrip_1280_720(self): self.roundtrip_video(H264_CODEC, 1280, 720) def test_roundtrip_960_540(self): self.roundtrip_video(H264_CODEC, 960, 540) def test_roundtrip_640_480(self): self.roundtrip_video(H264_CODEC, 640, 480) def test_roundtrip_640_480_time_base(self): self.roundtrip_video( H264_CODEC, 640, 480, time_base=fractions.Fraction(1, 9000) ) def test_roundtrip_320_240(self): self.roundtrip_video(H264_CODEC, 320, 240) def test_split_bitstream(self): # No start code packages = list(H264Encoder._split_bitstream(b"\x00\x00\x00\x00")) self.assertEqual(packages, []) # 3-byte start code packages = list( H264Encoder._split_bitstream(b"\x00\x00\x01\xff\x00\x00\x01\xfb") ) self.assertEqual(packages, [b"\xff", b"\xfb"]) # 4-byte start code packages = list( H264Encoder._split_bitstream(b"\x00\x00\x00\x01\xff\x00\x00\x00\x01\xfb") ) self.assertEqual(packages, [b"\xff", b"\xfb"]) # Multiple bytes in a packet packages = list( H264Encoder._split_bitstream( b"\x00\x00\x00\x01\xff\xab\xcd\x00\x00\x00\x01\xfb" ) ) self.assertEqual(packages, [b"\xff\xab\xcd", b"\xfb"]) # Skip leading 0s packages = list(H264Encoder._split_bitstream(b"\x00\x00\x00\x01\xff")) self.assertEqual(packages, [b"\xff"]) # Both leading and trailing 0s packages = list( H264Encoder._split_bitstream( b"\x00\x00\x00\x00\x00\x00\x01\xff\x00\x00\x00\x00\x00" ) ) self.assertEqual(packages, [b"\xff\x00\x00\x00\x00\x00"]) def test_packetize_one_small(self): packages = [bytes([0xFF, 0xFF])] packetize_packages = H264Encoder._packetize(packages) self.assertListEqual(packages, packetize_packages) packages = [bytes([0xFF]) * 1300] packetize_packages = H264Encoder._packetize(packages) self.assertListEqual(packages, packetize_packages) def test_packetize_one_big(self): packages = [bytes([0xFF, 0xFF] * 1000)] packetize_packages = H264Encoder._packetize(packages) self.assertEqual(len(packetize_packages), 2) self.assertEqual(packetize_packages[0][0] & 0x1F, 28) self.assertEqual(packetize_packages[1][0] & 0x1F, 28) def test_packetize_two_small(self): packages = [bytes([0x01, 0xFF]), bytes([0xFF, 0xFF])] packetize_packages = H264Encoder._packetize(packages) self.assertEqual(len(packetize_packages), 1) self.assertEqual(packetize_packages[0][0] & 0x1F, 24) def test_packetize_multiple_small(self): packages = [bytes([0x01, 0xFF])] * 9 packetize_packages = H264Encoder._packetize(packages) self.assertEqual(len(packetize_packages), 1) self.assertEqual(packetize_packages[0][0] & 0x1F, 24) packages = [bytes([0x01, 0xFF])] * 10 packetize_packages = H264Encoder._packetize(packages) self.assertEqual(len(packetize_packages), 2) self.assertEqual(packetize_packages[0][0] & 0x1F, 24) self.assertEqual(packetize_packages[1], packages[-1]) def test_frame_encoder(self): encoder = get_encoder(H264_CODEC) frame = self.create_video_frame(width=640, height=480, pts=0) packages = list(encoder._encode_frame(frame, False)) self.assertGreaterEqual(len(packages), 3) # first frame must have at least set(p[0] & 0x1F for p in packages).issuperset( { 8, # PPS (picture parameter set) 7, # SPS (session parameter set) 5, # IDR (aka key frame) } ) frame = self.create_video_frame(width=640, height=480, pts=3000) packages = list(encoder._encode_frame(frame, False)) self.assertGreaterEqual(len(packages), 1) # change resolution frame = self.create_video_frame(width=320, height=240, pts=6000) packages = list(encoder._encode_frame(frame, False)) self.assertGreaterEqual(len(packages), 1) aiortc-1.11.0/tests/test_jitterbuffer.py000066400000000000000000000270421477147103300203350ustar00rootroot00000000000000from unittest import TestCase from aiortc.jitterbuffer import JitterBuffer from aiortc.rtp import RtpPacket class JitterBufferTest(TestCase): def assertPackets(self, jbuffer, expected): found = [x.sequence_number if x else None for x in jbuffer._packets] self.assertEqual(found, expected) def test_create(self): jbuffer = JitterBuffer(capacity=2) self.assertEqual(jbuffer._packets, [None, None]) self.assertEqual(jbuffer._origin, None) jbuffer = JitterBuffer(capacity=4) self.assertEqual(jbuffer._packets, [None, None, None, None]) self.assertEqual(jbuffer._origin, None) def test_add_ordered(self): jbuffer = JitterBuffer(capacity=4) pli_flag, frame = jbuffer.add(RtpPacket(sequence_number=0, timestamp=1234)) self.assertIsNone(frame) self.assertPackets(jbuffer, [0, None, None, None]) self.assertEqual(jbuffer._origin, 0) self.assertFalse(pli_flag) pli_flag, frame = jbuffer.add(RtpPacket(sequence_number=1, timestamp=1234)) self.assertIsNone(frame) self.assertPackets(jbuffer, [0, 1, None, None]) self.assertEqual(jbuffer._origin, 0) self.assertFalse(pli_flag) pli_flag, frame = jbuffer.add(RtpPacket(sequence_number=2, timestamp=1234)) self.assertIsNone(frame) self.assertPackets(jbuffer, [0, 1, 2, None]) self.assertEqual(jbuffer._origin, 0) self.assertFalse(pli_flag) pli_flag, frame = jbuffer.add(RtpPacket(sequence_number=3, timestamp=1234)) self.assertIsNone(frame) self.assertPackets(jbuffer, [0, 1, 2, 3]) self.assertEqual(jbuffer._origin, 0) self.assertFalse(pli_flag) def test_add_unordered(self): jbuffer = JitterBuffer(capacity=4) pli_flag, frame = jbuffer.add(RtpPacket(sequence_number=1, timestamp=1234)) self.assertIsNone(frame) self.assertPackets(jbuffer, [None, 1, None, None]) self.assertEqual(jbuffer._origin, 1) self.assertFalse(pli_flag) pli_flag, frame = jbuffer.add(RtpPacket(sequence_number=3, timestamp=1234)) self.assertIsNone(frame) self.assertPackets(jbuffer, [None, 1, None, 3]) self.assertEqual(jbuffer._origin, 1) self.assertFalse(pli_flag) pli_flag, frame = jbuffer.add(RtpPacket(sequence_number=2, timestamp=1234)) self.assertIsNone(frame) self.assertPackets(jbuffer, [None, 1, 2, 3]) self.assertEqual(jbuffer._origin, 1) self.assertFalse(pli_flag) def test_add_seq_too_low_drop(self): jbuffer = JitterBuffer(capacity=4) pli_flag, frame = jbuffer.add(RtpPacket(sequence_number=2, timestamp=1234)) self.assertIsNone(frame) self.assertPackets(jbuffer, [None, None, 2, None]) self.assertEqual(jbuffer._origin, 2) self.assertFalse(pli_flag) pli_flag, frame = jbuffer.add(RtpPacket(sequence_number=1, timestamp=1234)) self.assertIsNone(frame) self.assertPackets(jbuffer, [None, None, 2, None]) self.assertEqual(jbuffer._origin, 2) self.assertFalse(pli_flag) def test_add_seq_too_low_reset(self): jbuffer = JitterBuffer(capacity=4) pli_flag, frame = jbuffer.add(RtpPacket(sequence_number=2000, timestamp=1234)) self.assertIsNone(frame) self.assertPackets(jbuffer, [2000, None, None, None]) self.assertEqual(jbuffer._origin, 2000) self.assertFalse(pli_flag) pli_flag, frame = jbuffer.add(RtpPacket(sequence_number=1, timestamp=1234)) self.assertIsNone(frame) self.assertPackets(jbuffer, [None, 1, None, None]) self.assertEqual(jbuffer._origin, 1) self.assertFalse(pli_flag) def test_add_seq_too_high_discard_one(self): jbuffer = JitterBuffer(capacity=4) jbuffer.add(RtpPacket(sequence_number=0, timestamp=1234)) self.assertEqual(jbuffer._origin, 0) jbuffer.add(RtpPacket(sequence_number=1, timestamp=1234)) self.assertEqual(jbuffer._origin, 0) jbuffer.add(RtpPacket(sequence_number=2, timestamp=1234)) self.assertEqual(jbuffer._origin, 0) jbuffer.add(RtpPacket(sequence_number=3, timestamp=1234)) self.assertEqual(jbuffer._origin, 0) jbuffer.add(RtpPacket(sequence_number=4, timestamp=1234)) self.assertEqual(jbuffer._origin, 4) self.assertPackets(jbuffer, [4, None, None, None]) def test_add_seq_too_high_discard_one_v2(self): jbuffer = JitterBuffer(capacity=4) jbuffer.add(RtpPacket(sequence_number=0, timestamp=1234)) self.assertEqual(jbuffer._origin, 0) jbuffer.add(RtpPacket(sequence_number=2, timestamp=1234)) self.assertEqual(jbuffer._origin, 0) jbuffer.add(RtpPacket(sequence_number=3, timestamp=1235)) self.assertEqual(jbuffer._origin, 0) jbuffer.add(RtpPacket(sequence_number=4, timestamp=1235)) self.assertEqual(jbuffer._origin, 3) self.assertPackets(jbuffer, [4, None, None, 3]) def test_add_seq_too_high_discard_four(self): jbuffer = JitterBuffer(capacity=4) jbuffer.add(RtpPacket(sequence_number=0, timestamp=1234)) self.assertEqual(jbuffer._origin, 0) jbuffer.add(RtpPacket(sequence_number=1, timestamp=1234)) self.assertEqual(jbuffer._origin, 0) jbuffer.add(RtpPacket(sequence_number=3, timestamp=1234)) self.assertEqual(jbuffer._origin, 0) jbuffer.add(RtpPacket(sequence_number=7, timestamp=1235)) self.assertEqual(jbuffer._origin, 7) self.assertPackets(jbuffer, [None, None, None, 7]) def test_add_seq_too_high_discard_more(self): jbuffer = JitterBuffer(capacity=4) jbuffer.add(RtpPacket(sequence_number=0, timestamp=1234)) self.assertEqual(jbuffer._origin, 0) jbuffer.add(RtpPacket(sequence_number=1, timestamp=1234)) self.assertEqual(jbuffer._origin, 0) jbuffer.add(RtpPacket(sequence_number=2, timestamp=1234)) self.assertEqual(jbuffer._origin, 0) jbuffer.add(RtpPacket(sequence_number=3, timestamp=1234)) self.assertEqual(jbuffer._origin, 0) jbuffer.add(RtpPacket(sequence_number=8, timestamp=1234)) self.assertEqual(jbuffer._origin, 8) self.assertPackets(jbuffer, [8, None, None, None]) def test_add_seq_too_high_reset(self): jbuffer = JitterBuffer(capacity=4) jbuffer.add(RtpPacket(sequence_number=0, timestamp=1234)) self.assertEqual(jbuffer._origin, 0) self.assertPackets(jbuffer, [0, None, None, None]) jbuffer.add(RtpPacket(sequence_number=3000, timestamp=1234)) self.assertEqual(jbuffer._origin, 3000) self.assertPackets(jbuffer, [3000, None, None, None]) def test_remove(self): jbuffer = JitterBuffer(capacity=4) jbuffer.add(RtpPacket(sequence_number=0, timestamp=1234)) jbuffer.add(RtpPacket(sequence_number=1, timestamp=1234)) jbuffer.add(RtpPacket(sequence_number=2, timestamp=1234)) jbuffer.add(RtpPacket(sequence_number=3, timestamp=1234)) self.assertEqual(jbuffer._origin, 0) self.assertPackets(jbuffer, [0, 1, 2, 3]) # remove 1 packet jbuffer.remove(1) self.assertEqual(jbuffer._origin, 1) self.assertPackets(jbuffer, [None, 1, 2, 3]) # remove 2 packets jbuffer.remove(2) self.assertEqual(jbuffer._origin, 3) self.assertPackets(jbuffer, [None, None, None, 3]) def test_smart_remove(self): jbuffer = JitterBuffer(capacity=4) jbuffer.add(RtpPacket(sequence_number=0, timestamp=1234)) jbuffer.add(RtpPacket(sequence_number=1, timestamp=1234)) jbuffer.add(RtpPacket(sequence_number=3, timestamp=1235)) self.assertEqual(jbuffer._origin, 0) self.assertPackets(jbuffer, [0, 1, None, 3]) # remove 1 packet jbuffer.smart_remove(1) self.assertEqual(jbuffer._origin, 3) self.assertPackets(jbuffer, [None, None, None, 3]) def test_remove_audio_frame(self): """ Audio jitter buffer. """ jbuffer = JitterBuffer(capacity=16, prefetch=4) packet = RtpPacket(sequence_number=0, timestamp=1234) packet._data = b"0000" pli_flag, frame = jbuffer.add(packet) self.assertIsNone(frame) packet = RtpPacket(sequence_number=1, timestamp=1235) packet._data = b"0001" pli_flag, frame = jbuffer.add(packet) self.assertIsNone(frame) packet = RtpPacket(sequence_number=2, timestamp=1236) packet._data = b"0002" pli_flag, frame = jbuffer.add(packet) self.assertIsNone(frame) packet = RtpPacket(sequence_number=3, timestamp=1237) packet._data = b"0003" pli_flag, frame = jbuffer.add(packet) self.assertIsNone(frame) packet = RtpPacket(sequence_number=4, timestamp=1238) packet._data = b"0003" pli_flag, frame = jbuffer.add(packet) self.assertIsNotNone(frame) self.assertEqual(frame.data, b"0000") self.assertEqual(frame.timestamp, 1234) packet = RtpPacket(sequence_number=5, timestamp=1239) packet._data = b"0004" pli_flag, frame = jbuffer.add(packet) self.assertIsNotNone(frame) self.assertEqual(frame.data, b"0001") self.assertEqual(frame.timestamp, 1235) def test_remove_video_frame(self): """ Video jitter buffer. """ jbuffer = JitterBuffer(capacity=128, is_video=True) packet = RtpPacket(sequence_number=0, timestamp=1234) packet._data = b"0000" pli_flag, frame = jbuffer.add(packet) self.assertIsNone(frame) packet = RtpPacket(sequence_number=1, timestamp=1234) packet._data = b"0001" pli_flag, frame = jbuffer.add(packet) self.assertIsNone(frame) packet = RtpPacket(sequence_number=2, timestamp=1234) packet._data = b"0002" pli_flag, frame = jbuffer.add(packet) self.assertIsNone(frame) packet = RtpPacket(sequence_number=3, timestamp=1235) packet._data = b"0003" pli_flag, frame = jbuffer.add(packet) self.assertIsNotNone(frame) self.assertEqual(frame.data, b"000000010002") self.assertEqual(frame.timestamp, 1234) def test_pli_flag(self): """ Video jitter buffer. """ jbuffer = JitterBuffer(capacity=128, is_video=True) pli_flag, frame = jbuffer.add(RtpPacket(sequence_number=2000, timestamp=1234)) self.assertIsNone(frame) self.assertEqual(jbuffer._origin, 2000) self.assertFalse(pli_flag) # test_add_seq_too_low_reset for video (capacity >= 128) pli_flag, frame = jbuffer.add(RtpPacket(sequence_number=1, timestamp=1234)) self.assertIsNone(frame) self.assertEqual(jbuffer._origin, 1) self.assertTrue(pli_flag) pli_flag, frame = jbuffer.add(RtpPacket(sequence_number=128, timestamp=1235)) self.assertIsNone(frame) self.assertEqual(jbuffer._origin, 1) self.assertFalse(pli_flag) # test_add_seq_too_high_discard_one for video (capacity >= 128) pli_flag, frame = jbuffer.add(RtpPacket(sequence_number=129, timestamp=1235)) self.assertIsNone(frame) self.assertEqual(jbuffer._origin, 128) self.assertTrue(pli_flag) # test_add_seq_too_high_reset for video (capacity >= 128) pli_flag, frame = jbuffer.add(RtpPacket(sequence_number=2000, timestamp=2345)) self.assertIsNone(frame) self.assertEqual(jbuffer._origin, 2000) self.assertTrue(pli_flag) aiortc-1.11.0/tests/test_mediastreams.py000066400000000000000000000035121477147103300203140ustar00rootroot00000000000000import asyncio import fractions import time from typing import Tuple from unittest import TestCase from aiortc.mediastreams import ( VIDEO_CLOCK_RATE, VIDEO_PTIME, VIDEO_TIME_BASE, AudioStreamTrack, MediaStreamTrack, VideoStreamTrack, ) from av.packet import Packet class VideoPacketStreamTrack(MediaStreamTrack): """ A dummy video native track which reads green frames. """ kind = "video" _start: float _timestamp: int async def next_timestamp(self) -> Tuple[int, fractions.Fraction]: if hasattr(self, "_timestamp"): self._timestamp += int(VIDEO_PTIME * VIDEO_CLOCK_RATE) wait = self._start + (self._timestamp / VIDEO_CLOCK_RATE) - time.time() await asyncio.sleep(wait) else: self._start = time.time() self._timestamp = 0 return self._timestamp, VIDEO_TIME_BASE async def recv(self) -> Packet: """ Receive the next :class:`~av.packet.Packet`. The base implementation dummy packet h264 for tests """ pts, time_base = await self.next_timestamp() header = [0, 0, 0, 1] buffer = header + [0] * 1020 packet = Packet(len(buffer)) packet.update(bytes(buffer)) packet.pts = pts packet.time_base = time_base return packet class MediaStreamTrackTest(TestCase): def test_audio(self): track = AudioStreamTrack() self.assertEqual(track.kind, "audio") self.assertEqual(len(track.id), 36) def test_video(self): track = VideoStreamTrack() self.assertEqual(track.kind, "video") self.assertEqual(len(track.id), 36) def test_native_video(self): track = VideoPacketStreamTrack() self.assertEqual(track.kind, "video") self.assertEqual(len(track.id), 36) aiortc-1.11.0/tests/test_opus.py000066400000000000000000000066431477147103300166340ustar00rootroot00000000000000import fractions from aiortc.codecs import get_decoder, get_encoder from aiortc.codecs.opus import OpusDecoder, OpusEncoder from aiortc.jitterbuffer import JitterFrame from aiortc.rtcrtpparameters import RTCRtpCodecParameters from .codecs import CodecTestCase OPUS_CODEC = RTCRtpCodecParameters( mimeType="audio/opus", clockRate=48000, channels=2, payloadType=100 ) OPUS_PAYLOAD = b"\xfc\xff\xfe" class OpusTest(CodecTestCase): def test_decoder(self): decoder = get_decoder(OPUS_CODEC) self.assertIsInstance(decoder, OpusDecoder) frames = decoder.decode(JitterFrame(data=OPUS_PAYLOAD, timestamp=0)) self.assertEqual(len(frames), 1) frame = frames[0] self.assertEqual(frame.format.name, "s16") self.assertEqual(frame.layout.name, "stereo") self.assertEqual(bytes(frame.planes[0]), b"\x00" * 4 * 960) self.assertEqual(frame.sample_rate, 48000) self.assertEqual(frame.pts, 0) self.assertEqual(frame.time_base, fractions.Fraction(1, 48000)) def test_encoder_mono_8khz(self): encoder = get_encoder(OPUS_CODEC) self.assertIsInstance(encoder, OpusEncoder) output = [ encoder.encode(frame) for frame in self.create_audio_frames( layout="mono", sample_rate=8000, count=3 ) ] self.assertEqual( output, [ ([], None), # No output due to buffering. ([OPUS_PAYLOAD], 0), ([OPUS_PAYLOAD], 960), ], ) def test_encoder_stereo_8khz(self): encoder = get_encoder(OPUS_CODEC) self.assertIsInstance(encoder, OpusEncoder) output = [ encoder.encode(frame) for frame in self.create_audio_frames( layout="stereo", sample_rate=8000, count=3 ) ] self.assertEqual( output, [ ([], None), # No output due to buffering. ([OPUS_PAYLOAD], 0), ([OPUS_PAYLOAD], 960), ], ) def test_encoder_stereo_48khz(self): encoder = get_encoder(OPUS_CODEC) self.assertIsInstance(encoder, OpusEncoder) frames = self.create_audio_frames(layout="stereo", sample_rate=48000, count=2) # first frame payloads, timestamp = encoder.encode(frames[0]) self.assertEqual(payloads, [OPUS_PAYLOAD]) self.assertEqual(timestamp, 0) # second frame payloads, timestamp = encoder.encode(frames[1]) self.assertEqual(timestamp, 960) def test_encoder_pack(self): encoder = get_encoder(OPUS_CODEC) self.assertTrue(isinstance(encoder, OpusEncoder)) packet = self.create_packet(payload=OPUS_PAYLOAD, pts=1) payloads, timestamp = encoder.pack(packet) self.assertEqual(payloads, [OPUS_PAYLOAD]) self.assertEqual(timestamp, 48) def test_roundtrip(self): self.roundtrip_audio( OPUS_CODEC, input_layout="stereo", input_sample_rate=48000, output_layout="stereo", output_sample_rate=48000, ) def test_roundtrip_with_loss(self): self.roundtrip_audio( OPUS_CODEC, input_layout="stereo", input_sample_rate=48000, output_layout="stereo", output_sample_rate=48000, drop=[1], ) aiortc-1.11.0/tests/test_ortc.py000066400000000000000000000040651477147103300166110ustar00rootroot00000000000000import asyncio from unittest import TestCase from aiortc import ( RTCCertificate, RTCDtlsTransport, RTCIceGatherer, RTCIceTransport, RTCSctpTransport, ) from .utils import asynctest async def start_dtls_pair(ice_a, ice_b): dtls_a = RTCDtlsTransport(ice_a, [RTCCertificate.generateCertificate()]) dtls_b = RTCDtlsTransport(ice_b, [RTCCertificate.generateCertificate()]) await asyncio.gather( dtls_a.start(dtls_b.getLocalParameters()), dtls_b.start(dtls_a.getLocalParameters()), ) return dtls_a, dtls_b async def start_ice_pair(): ice_a = RTCIceTransport(gatherer=RTCIceGatherer()) ice_b = RTCIceTransport(gatherer=RTCIceGatherer()) await asyncio.gather(ice_a.iceGatherer.gather(), ice_b.iceGatherer.gather()) for candidate in ice_b.iceGatherer.getLocalCandidates(): await ice_a.addRemoteCandidate(candidate) for candidate in ice_a.iceGatherer.getLocalCandidates(): await ice_b.addRemoteCandidate(candidate) await asyncio.gather( ice_a.start(ice_b.iceGatherer.getLocalParameters()), ice_b.start(ice_a.iceGatherer.getLocalParameters()), ) return ice_a, ice_b async def start_sctp_pair(dtls_a, dtls_b): sctp_a = RTCSctpTransport(dtls_a) sctp_b = RTCSctpTransport(dtls_b) await asyncio.gather( sctp_a.start(sctp_b.getCapabilities(), sctp_b.port), sctp_b.start(sctp_a.getCapabilities(), sctp_a.port), ) return sctp_a, sctp_b class OrtcTest(TestCase): @asynctest async def test_sctp(self): # start ICE transports ice_a, ice_b = await start_ice_pair() # start DTLS transports dtls_a, dtls_b = await start_dtls_pair(ice_a, ice_b) # start SCTP transports sctp_a, sctp_b = await start_sctp_pair(dtls_a, dtls_b) # stop SCTP transports await asyncio.gather(sctp_a.stop(), sctp_b.stop()) # stop DTLS transports await asyncio.gather(dtls_a.stop(), dtls_b.stop()) # stop ICE transports await asyncio.gather(ice_a.stop(), ice_b.stop()) aiortc-1.11.0/tests/test_rate.py000066400000000000000000000757661477147103300166150ustar00rootroot00000000000000from unittest import TestCase from aiortc.rate import ( AimdRateControl, BandwidthUsage, InterArrival, OveruseDetector, OveruseEstimator, RateBucket, RateControlState, RateCounter, RemoteBitrateEstimator, ) from numpy import random TIMESTAMP_GROUP_LENGTH_US = 5000 MIN_STEP_US = 20 TRIGGER_NEW_GROUP_US = TIMESTAMP_GROUP_LENGTH_US + MIN_STEP_US BURST_THRESHOLD_MS = 5 START_RTP_TIMESTAMP_WRAP_US = 47721858827 START_ABS_SEND_TIME_WRAP_US = 63999995 def abs_send_time(us): absolute_send_time = (((us << 18) + 500000) // 1000000) & 0xFFFFFF return absolute_send_time << 8 def rtp_timestamp(us): return ((us * 90 + 500) // 1000) & 0xFFFFFFFF class AimdRateControlTest(TestCase): def setUp(self): self.rate_control = AimdRateControl() def test_update_normal(self): bitrate = 300000 now_ms = 0 self.rate_control.set_estimate(bitrate, now_ms) estimate = self.rate_control.update(BandwidthUsage.NORMAL, bitrate, now_ms) self.assertEqual(estimate, 301000) self.assertEqual(self.rate_control.state, RateControlState.INCREASE) self.assertEqual(self.rate_control.avg_max_bitrate_kbps, None) self.assertEqual(self.rate_control.var_max_bitrate_kbps, 0.4) def test_update_normal_no_estimated_throughput(self): bitrate = 300000 now_ms = 0 self.rate_control.set_estimate(bitrate, now_ms) estimate = self.rate_control.update(BandwidthUsage.NORMAL, None, now_ms) self.assertEqual(estimate, 301000) def test_update_overuse(self): bitrate = 300000 now_ms = 0 self.rate_control.set_estimate(bitrate, now_ms) estimate = self.rate_control.update(BandwidthUsage.OVERUSING, bitrate, now_ms) self.assertEqual(estimate, 255000) self.assertEqual(self.rate_control.state, RateControlState.HOLD) self.assertEqual(self.rate_control.avg_max_bitrate_kbps, 300.0) self.assertEqual(self.rate_control.var_max_bitrate_kbps, 0.4) def test_update_underuse(self): bitrate = 300000 now_ms = 0 self.rate_control.set_estimate(bitrate, now_ms) estimate = self.rate_control.update(BandwidthUsage.UNDERUSING, bitrate, now_ms) self.assertEqual(estimate, 300000) self.assertEqual(self.rate_control.state, RateControlState.HOLD) self.assertEqual(self.rate_control.avg_max_bitrate_kbps, None) self.assertEqual(self.rate_control.var_max_bitrate_kbps, 0.4) def test_additive_rate_increase(self): acked_bitrate = 100000 self.rate_control.set_estimate(acked_bitrate, 0) for now_ms in range(0, 20000, 100): estimate = self.rate_control.update( BandwidthUsage.NORMAL, acked_bitrate, now_ms ) self.assertEqual(estimate, 160000) self.assertEqual(self.rate_control.near_max, False) # overuse -> hold estimate = self.rate_control.update( BandwidthUsage.OVERUSING, acked_bitrate, now_ms ) self.assertEqual(estimate, 85000) self.assertEqual(self.rate_control.near_max, True) now_ms += 1000 # back to normal -> hold estimate = self.rate_control.update( BandwidthUsage.NORMAL, acked_bitrate, now_ms ) self.assertEqual(estimate, 85000) self.assertEqual(self.rate_control.near_max, True) now_ms += 1000 # still normal -> additive increase estimate = self.rate_control.update( BandwidthUsage.NORMAL, acked_bitrate, now_ms ) self.assertEqual(estimate, 94444) self.assertEqual(self.rate_control.near_max, True) now_ms += 1000 # overuse -> hold estimate = self.rate_control.update( BandwidthUsage.OVERUSING, acked_bitrate, now_ms ) self.assertEqual(estimate, 85000) self.assertEqual(self.rate_control.near_max, True) now_ms += 1000 def test_clear_max_throughput(self): normal_bitrate = 100000 high_bitrate = 150000 now_ms = 0 self.rate_control.set_estimate(normal_bitrate, now_ms) self.rate_control.update(BandwidthUsage.NORMAL, normal_bitrate, now_ms) now_ms += 1000 # overuse self.rate_control.update(BandwidthUsage.OVERUSING, normal_bitrate, now_ms) self.assertEqual(self.rate_control.avg_max_bitrate_kbps, 100.0) now_ms += 1000 # stable self.rate_control.update(BandwidthUsage.NORMAL, normal_bitrate, now_ms) self.assertEqual(self.rate_control.avg_max_bitrate_kbps, 100.0) now_ms += 1000 # large increase in throughput self.rate_control.update(BandwidthUsage.NORMAL, high_bitrate, now_ms) self.assertEqual(self.rate_control.avg_max_bitrate_kbps, None) now_ms += 1000 # overuse self.rate_control.update(BandwidthUsage.OVERUSING, high_bitrate, now_ms) self.assertEqual(self.rate_control.avg_max_bitrate_kbps, 150.0) now_ms += 1000 # overuse and large decrease in throughput self.rate_control.update(BandwidthUsage.OVERUSING, normal_bitrate, now_ms) self.assertEqual(self.rate_control.avg_max_bitrate_kbps, 100.0) now_ms += 1000 def test_bwe_limited_by_acked_bitrate(self): acked_bitrate = 10000 self.rate_control.set_estimate(acked_bitrate, 0) for now_ms in range(0, 20000, 100): estimate = self.rate_control.update( BandwidthUsage.NORMAL, acked_bitrate, now_ms ) self.assertEqual(estimate, 25000) def test_bwe_not_limited_by_decreasing_acked_bitrate(self): acked_bitrate = 100000 self.rate_control.set_estimate(acked_bitrate, 0) for now_ms in range(0, 20000, 100): estimate = self.rate_control.update( BandwidthUsage.NORMAL, acked_bitrate, now_ms ) self.assertEqual(estimate, 160000) # estimate doesn't change estimate = self.rate_control.update( BandwidthUsage.NORMAL, acked_bitrate // 2, now_ms ) self.assertEqual(estimate, 160000) class InterArrivalTest(TestCase): def setUp(self): self.inter_arrival_ast = InterArrival( abs_send_time(TIMESTAMP_GROUP_LENGTH_US), 1000 / (1 << 26) ) self.inter_arrival_rtp = InterArrival( rtp_timestamp(TIMESTAMP_GROUP_LENGTH_US), 1 / 9 ) def assertComputed( self, timestamp_us, arrival_time_ms, packet_size, timestamp_delta_us, arrival_time_delta_ms, packet_size_delta, timestamp_near=0, ): # AbsSendTime deltas = self.inter_arrival_ast.compute_deltas( abs_send_time(timestamp_us), arrival_time_ms, packet_size ) self.assertIsNotNone(deltas) self.assertAlmostEqual( deltas.timestamp, abs_send_time(timestamp_delta_us), delta=timestamp_near << 8, ) self.assertEqual(deltas.arrival_time, arrival_time_delta_ms) self.assertEqual(deltas.size, packet_size_delta) # RtpTimestamp deltas = self.inter_arrival_rtp.compute_deltas( rtp_timestamp(timestamp_us), arrival_time_ms, packet_size ) self.assertIsNotNone(deltas) self.assertAlmostEqual( deltas.timestamp, rtp_timestamp(timestamp_delta_us), delta=timestamp_near ) self.assertEqual(deltas.arrival_time, arrival_time_delta_ms) self.assertEqual(deltas.size, packet_size_delta) def assertNotComputed(self, timestamp_us, arrival_time_ms, packet_size): self.assertIsNone( self.inter_arrival_ast.compute_deltas( abs_send_time(timestamp_us), arrival_time_ms, packet_size ) ) self.assertIsNone( self.inter_arrival_rtp.compute_deltas( rtp_timestamp(timestamp_us), arrival_time_ms, packet_size ) ) def wrapTest(self, wrap_start_us, unorderly_within_group): timestamp_near = 1 # G1 arrival_time = 17 self.assertNotComputed(0, arrival_time, 1) # G2 arrival_time += BURST_THRESHOLD_MS + 1 self.assertNotComputed(wrap_start_us // 4, arrival_time, 1) # G3 arrival_time += BURST_THRESHOLD_MS + 1 self.assertComputed( wrap_start_us // 2, arrival_time, 1, wrap_start_us // 4, 6, 0 ) # G4 arrival_time += BURST_THRESHOLD_MS + 1 self.assertComputed( wrap_start_us // 2 + wrap_start_us // 4, arrival_time, 1, wrap_start_us // 4, 6, 0, timestamp_near, ) g4_arrival_time = arrival_time # G5 arrival_time += BURST_THRESHOLD_MS + 1 self.assertComputed( wrap_start_us, arrival_time, 2, wrap_start_us // 4, 6, 0, timestamp_near ) for i in range(10): arrival_time += BURST_THRESHOLD_MS + 1 if unorderly_within_group: self.assertNotComputed( wrap_start_us + (9 - i) * MIN_STEP_US, arrival_time, 1 ) else: self.assertNotComputed(wrap_start_us + i * MIN_STEP_US, arrival_time, 1) g5_arrival_time = arrival_time # out of order arrival_time += BURST_THRESHOLD_MS + 1 self.assertNotComputed(wrap_start_us - 100, arrival_time, 100) # G6 arrival_time += BURST_THRESHOLD_MS + 1 self.assertComputed( wrap_start_us + TRIGGER_NEW_GROUP_US, arrival_time, 10, wrap_start_us // 4 + 9 * MIN_STEP_US, g5_arrival_time - g4_arrival_time, 11, timestamp_near, ) g6_arrival_time = arrival_time # out of order arrival_time += BURST_THRESHOLD_MS + 1 self.assertNotComputed( wrap_start_us + TIMESTAMP_GROUP_LENGTH_US, arrival_time, 100 ) # G7 arrival_time += BURST_THRESHOLD_MS + 1 self.assertComputed( wrap_start_us + 2 * TRIGGER_NEW_GROUP_US, arrival_time, 10, TRIGGER_NEW_GROUP_US - 9 * MIN_STEP_US, g6_arrival_time - g5_arrival_time, -2, timestamp_near, ) def test_first_packet(self): self.assertNotComputed(0, 17, 1) def test_first_group(self): # G1 timestamp = 0 arrival_time = 17 self.assertNotComputed(timestamp, arrival_time, 1) g1_arrival_time = arrival_time # G2 timestamp += TRIGGER_NEW_GROUP_US arrival_time += BURST_THRESHOLD_MS + 1 self.assertNotComputed(timestamp, arrival_time, 2) g2_arrival_time = arrival_time # G3 timestamp += TRIGGER_NEW_GROUP_US arrival_time += BURST_THRESHOLD_MS + 1 self.assertComputed( timestamp, arrival_time, 1, TRIGGER_NEW_GROUP_US, g2_arrival_time - g1_arrival_time, 1, ) def test_second_group(self): # G1 timestamp = 0 arrival_time = 17 self.assertNotComputed(timestamp, arrival_time, 1) g1_arrival_time = arrival_time # G2 timestamp += TRIGGER_NEW_GROUP_US arrival_time += BURST_THRESHOLD_MS + 1 self.assertNotComputed(timestamp, arrival_time, 2) g2_arrival_time = arrival_time # G3 timestamp += TRIGGER_NEW_GROUP_US arrival_time += BURST_THRESHOLD_MS + 1 self.assertComputed( timestamp, arrival_time, 1, TRIGGER_NEW_GROUP_US, g2_arrival_time - g1_arrival_time, 1, ) g3_arrival_time = arrival_time # G4 timestamp += TRIGGER_NEW_GROUP_US arrival_time += BURST_THRESHOLD_MS + 1 self.assertComputed( timestamp, arrival_time, 2, TRIGGER_NEW_GROUP_US, g3_arrival_time - g2_arrival_time, -1, ) def test_accumulated_group(self): # G1 timestamp = 0 arrival_time = 17 self.assertNotComputed(timestamp, arrival_time, 1) g1_timestamp = timestamp g1_arrival_time = arrival_time # G2 timestamp += TRIGGER_NEW_GROUP_US arrival_time += BURST_THRESHOLD_MS + 1 self.assertNotComputed(timestamp, 28, 2) for i in range(10): timestamp += MIN_STEP_US arrival_time += BURST_THRESHOLD_MS + 1 self.assertNotComputed(timestamp, arrival_time, 1) g2_timestamp = timestamp g2_arrival_time = arrival_time # G3 timestamp = 2 * TRIGGER_NEW_GROUP_US arrival_time = 500 self.assertComputed( timestamp, arrival_time, 100, g2_timestamp - g1_timestamp, g2_arrival_time - g1_arrival_time, 11, ) def test_out_of_order_packet(self): # G1 timestamp = 0 arrival_time = 17 self.assertNotComputed(timestamp, arrival_time, 1) g1_timestamp = timestamp g1_arrival_time = arrival_time # G2 timestamp += TRIGGER_NEW_GROUP_US arrival_time += 11 self.assertNotComputed(timestamp, 28, 2) for i in range(10): timestamp += MIN_STEP_US arrival_time += BURST_THRESHOLD_MS + 1 self.assertNotComputed(timestamp, arrival_time, 1) g2_timestamp = timestamp g2_arrival_time = arrival_time # out of order packet arrival_time = 281 self.assertNotComputed(g1_timestamp, arrival_time, 1) # G3 timestamp = 2 * TRIGGER_NEW_GROUP_US arrival_time = 500 self.assertComputed( timestamp, arrival_time, 100, g2_timestamp - g1_timestamp, g2_arrival_time - g1_arrival_time, 11, ) def test_out_of_order_within_group(self): # G1 timestamp = 0 arrival_time = 17 self.assertNotComputed(timestamp, arrival_time, 1) g1_timestamp = timestamp g1_arrival_time = arrival_time # G2 timestamp += TRIGGER_NEW_GROUP_US arrival_time += 11 self.assertNotComputed(timestamp, 28, 2) timestamp += 10 * MIN_STEP_US g2_timestamp = timestamp for i in range(10): arrival_time += BURST_THRESHOLD_MS + 1 self.assertNotComputed(timestamp, arrival_time, 1) timestamp -= MIN_STEP_US g2_arrival_time = arrival_time # out of order packet arrival_time = 281 self.assertNotComputed(g1_timestamp, arrival_time, 1) # G3 timestamp = 2 * TRIGGER_NEW_GROUP_US arrival_time = 500 self.assertComputed( timestamp, arrival_time, 100, g2_timestamp - g1_timestamp, g2_arrival_time - g1_arrival_time, 11, ) def test_two_bursts(self): # G1 timestamp = 0 arrival_time = 17 self.assertNotComputed(timestamp, arrival_time, 1) g1_timestamp = timestamp g1_arrival_time = arrival_time # G2 timestamp += TRIGGER_NEW_GROUP_US arrival_time = 100 for i in range(10): timestamp += 30000 arrival_time += BURST_THRESHOLD_MS self.assertNotComputed(timestamp, arrival_time, 1) g2_timestamp = timestamp g2_arrival_time = arrival_time # G3 timestamp += 30000 arrival_time += BURST_THRESHOLD_MS + 1 self.assertComputed( timestamp, arrival_time, 100, g2_timestamp - g1_timestamp, g2_arrival_time - g1_arrival_time, 9, ) def test_no_bursts(self): # G1 timestamp = 0 arrival_time = 17 self.assertNotComputed(timestamp, arrival_time, 1) g1_timestamp = timestamp g1_arrival_time = arrival_time # G2 timestamp += TRIGGER_NEW_GROUP_US arrival_time = 28 self.assertNotComputed(timestamp, arrival_time, 2) g2_timestamp = timestamp g2_arrival_time = arrival_time # G3 timestamp += 30000 arrival_time += BURST_THRESHOLD_MS + 1 self.assertComputed( timestamp, arrival_time, 100, g2_timestamp - g1_timestamp, g2_arrival_time - g1_arrival_time, 1, ) def test_wrap_abs_send_time(self): self.wrapTest(START_ABS_SEND_TIME_WRAP_US, False) def test_wrap_abs_send_time_out_of_order_within_group(self): self.wrapTest(START_ABS_SEND_TIME_WRAP_US, True) def test_wrap_rtp_timestamp(self): self.wrapTest(START_RTP_TIMESTAMP_WRAP_US, False) def test_wrap_rtp_timestamp_out_of_order_within_group(self): self.wrapTest(START_RTP_TIMESTAMP_WRAP_US, True) class OveruseDetectorTest(TestCase): def setUp(self): self.timestamp_to_ms = 1 / 90 self.detector = OveruseDetector() self.estimator = OveruseEstimator() self.inter_arrival = InterArrival(5 * 90, 1 / 9) self.packet_size = 1200 self.now_ms = 0 self.receive_time_ms = 0 self.rtp_timestamp = 900 random.seed(21) def test_simple_non_overuse_30fps(self): frame_duration_ms = 33 for i in range(1000): self.update_detector(self.rtp_timestamp, self.now_ms) self.now_ms += frame_duration_ms self.rtp_timestamp += frame_duration_ms * 90 self.assertEqual(self.detector.state(), BandwidthUsage.NORMAL) def test_simple_non_overuse_with_receive_variance(self): frame_duration_ms = 10 for i in range(1000): self.update_detector(self.rtp_timestamp, self.now_ms) self.rtp_timestamp += frame_duration_ms * 90 if i % 2: self.now_ms += frame_duration_ms - 5 else: self.now_ms += frame_duration_ms + 5 self.assertEqual(self.detector.state(), BandwidthUsage.NORMAL) def test_simple_non_overuse_with_rtp_timestamp_variance(self): frame_duration_ms = 10 for i in range(1000): self.update_detector(self.rtp_timestamp, self.now_ms) self.now_ms += frame_duration_ms if i % 2: self.rtp_timestamp += (frame_duration_ms - 5) * 90 else: self.rtp_timestamp += (frame_duration_ms + 5) * 90 self.assertEqual(self.detector.state(), BandwidthUsage.NORMAL) def test_simple_overuse_2000Kbit_30fps(self): packets_per_frame = 6 frame_duration_ms = 33 drift_per_frame_ms = 1 sigma_ms = 0 unique_overuse = self.run_100000_samples( packets_per_frame, frame_duration_ms, sigma_ms ) self.assertEqual(unique_overuse, 0) frames_until_overuse = self.run_until_overuse( packets_per_frame, frame_duration_ms, sigma_ms, drift_per_frame_ms ) self.assertEqual(frames_until_overuse, 7) def test_simple_overuse_100Kbit_10fps(self): packets_per_frame = 1 frame_duration_ms = 100 drift_per_frame_ms = 1 sigma_ms = 0 unique_overuse = self.run_100000_samples( packets_per_frame, frame_duration_ms, sigma_ms ) self.assertEqual(unique_overuse, 0) frames_until_overuse = self.run_until_overuse( packets_per_frame, frame_duration_ms, sigma_ms, drift_per_frame_ms ) self.assertEqual(frames_until_overuse, 7) def test_overuse_with_low_variance_2000Kbit_30fps(self): frame_duration_ms = 33 drift_per_frame_ms = 1 self.rtp_timestamp = frame_duration_ms * 90 offset = 0 # run 1000 samples to reach steady state for i in range(1000): for j in range(6): self.update_detector(self.rtp_timestamp, self.now_ms) self.rtp_timestamp += frame_duration_ms * 90 if i % 2: offset = random.randint(0, 1) self.now_ms += frame_duration_ms - offset else: self.now_ms += frame_duration_ms + offset self.assertEqual(self.detector.state(), BandwidthUsage.NORMAL) # simulate a higher send pace, that is too high. for i in range(3): for j in range(6): self.update_detector(self.rtp_timestamp, self.now_ms) self.now_ms += frame_duration_ms + drift_per_frame_ms * 6 self.rtp_timestamp += frame_duration_ms * 90 self.assertEqual(self.detector.state(), BandwidthUsage.NORMAL) self.update_detector(self.rtp_timestamp, self.now_ms) self.assertEqual(self.detector.state(), BandwidthUsage.OVERUSING) def test_low_gaussian_variance_fast_drift_30Kbit_3fps(self): packets_per_frame = 1 frame_duration_ms = 333 drift_per_frame_ms = 100 sigma_ms = 3 unique_overuse = self.run_100000_samples( packets_per_frame, frame_duration_ms, sigma_ms ) self.assertEqual(unique_overuse, 0) frames_until_overuse = self.run_until_overuse( packets_per_frame, frame_duration_ms, sigma_ms, drift_per_frame_ms ) self.assertEqual(frames_until_overuse, 4) def test_high_haussian_variance_30Kbit_3fps(self): packets_per_frame = 1 frame_duration_ms = 333 drift_per_frame_ms = 1 sigma_ms = 10 unique_overuse = self.run_100000_samples( packets_per_frame, frame_duration_ms, sigma_ms ) self.assertEqual(unique_overuse, 0) frames_until_overuse = self.run_until_overuse( packets_per_frame, frame_duration_ms, sigma_ms, drift_per_frame_ms ) self.assertEqual(frames_until_overuse, 44) def run_100000_samples(self, packets_per_frame, mean_ms, standard_deviation_ms): unique_overuse = 0 last_overuse = -1 for i in range(100000): for j in range(packets_per_frame): self.update_detector(self.rtp_timestamp, self.receive_time_ms) self.rtp_timestamp += mean_ms * 90 self.now_ms += mean_ms self.receive_time_ms = max( self.receive_time_ms, int(self.now_ms + random.normal(0, standard_deviation_ms) + 0.5), ) if self.detector.state() == BandwidthUsage.OVERUSING: if last_overuse + 1 != i: unique_overuse += 1 last_overuse = i return unique_overuse def run_until_overuse( self, packets_per_frame, mean_ms, standard_deviation_ms, drift_per_frame_ms ): for i in range(100000): for j in range(packets_per_frame): self.update_detector(self.rtp_timestamp, self.receive_time_ms) self.rtp_timestamp += mean_ms * 90 self.now_ms += mean_ms + drift_per_frame_ms self.receive_time_ms = max( self.receive_time_ms, int(self.now_ms + random.normal(0, standard_deviation_ms) + 0.5), ) if self.detector.state() == BandwidthUsage.OVERUSING: return i + 1 return -1 def update_detector(self, timestamp, receive_time_ms): deltas = self.inter_arrival.compute_deltas( timestamp, receive_time_ms, self.packet_size ) if deltas is not None: timestamp_delta_ms = deltas.timestamp / 90 self.estimator.update( deltas.arrival_time, timestamp_delta_ms, deltas.size, self.detector.state(), receive_time_ms, ) self.detector.detect( self.estimator.offset(), timestamp_delta_ms, self.estimator.num_of_deltas(), receive_time_ms, ) class RateCounterTest(TestCase): def test_constructor(self): counter = RateCounter(10) self.assertEqual( counter._buckets, [ RateBucket(), RateBucket(), RateBucket(), RateBucket(), RateBucket(), RateBucket(), RateBucket(), RateBucket(), RateBucket(), RateBucket(), ], ) self.assertIsNone(counter._origin_ms) self.assertEqual(counter._origin_index, 0) self.assertEqual(counter._total, RateBucket()) self.assertIsNone(counter.rate(0)) def test_add(self): counter = RateCounter(10) counter.add(500, 123) self.assertEqual( counter._buckets, [ RateBucket(1, 500), RateBucket(), RateBucket(), RateBucket(), RateBucket(), RateBucket(), RateBucket(), RateBucket(), RateBucket(), RateBucket(), ], ) self.assertEqual(counter._origin_index, 0) self.assertEqual(counter._origin_ms, 123) self.assertEqual(counter._total, RateBucket(1, 500)) self.assertIsNone(counter.rate(123)) counter.add(501, 123) self.assertEqual( counter._buckets, [ RateBucket(2, 1001), RateBucket(), RateBucket(), RateBucket(), RateBucket(), RateBucket(), RateBucket(), RateBucket(), RateBucket(), RateBucket(), ], ) self.assertEqual(counter._origin_index, 0) self.assertEqual(counter._origin_ms, 123) self.assertEqual(counter._total, RateBucket(2, 1001)) self.assertIsNone(counter.rate(123)) counter.add(502, 125) self.assertEqual( counter._buckets, [ RateBucket(2, 1001), RateBucket(), RateBucket(1, 502), RateBucket(), RateBucket(), RateBucket(), RateBucket(), RateBucket(), RateBucket(), RateBucket(), ], ) self.assertEqual(counter._origin_index, 0) self.assertEqual(counter._origin_ms, 123) self.assertEqual(counter._total, RateBucket(3, 1503)) self.assertEqual(counter.rate(125), 4008000) counter.add(503, 128) self.assertEqual( counter._buckets, [ RateBucket(2, 1001), RateBucket(), RateBucket(1, 502), RateBucket(), RateBucket(), RateBucket(1, 503), RateBucket(), RateBucket(), RateBucket(), RateBucket(), ], ) self.assertEqual(counter._origin_index, 0) self.assertEqual(counter._origin_ms, 123) self.assertEqual(counter._total, RateBucket(4, 2006)) self.assertEqual(counter.rate(128), 2674667) counter.add(504, 132) self.assertEqual( counter._buckets, [ RateBucket(2, 1001), RateBucket(), RateBucket(1, 502), RateBucket(), RateBucket(), RateBucket(1, 503), RateBucket(), RateBucket(), RateBucket(), RateBucket(1, 504), ], ) self.assertEqual(counter._origin_index, 0) self.assertEqual(counter._origin_ms, 123) self.assertEqual(counter._total, RateBucket(5, 2510)) self.assertEqual(counter.rate(132), 2008000) counter.add(505, 134) self.assertEqual( counter._buckets, [ RateBucket(), RateBucket(1, 505), RateBucket(1, 502), RateBucket(), RateBucket(), RateBucket(1, 503), RateBucket(), RateBucket(), RateBucket(), RateBucket(1, 504), ], ) self.assertEqual(counter._origin_index, 2) self.assertEqual(counter._origin_ms, 125) self.assertEqual(counter._total, RateBucket(4, 2014)) self.assertEqual(counter.rate(134), 1611200) counter.add(506, 135) self.assertEqual( counter._buckets, [ RateBucket(), RateBucket(1, 505), RateBucket(1, 506), RateBucket(), RateBucket(), RateBucket(1, 503), RateBucket(), RateBucket(), RateBucket(), RateBucket(1, 504), ], ) self.assertEqual(counter._origin_index, 3) self.assertEqual(counter._origin_ms, 126) self.assertEqual(counter._total, RateBucket(4, 2018)) self.assertEqual(counter.rate(135), 1614400) class Stream: def __init__(self, capacity): self.capacity = capacity self.framerate = 30 self.payload_size = 1500 self.send_time_us = 0 self.arrival_time_us = 0 def generate_frames(self, count): for i in range(count): abs_send_time = self.send_time_us * (1 << 18) // 1000000 self.arrival_time_us = max(self.arrival_time_us, self.send_time_us) + round( (self.payload_size * 8000000) / self.capacity ) self.send_time_us += 1000000 // self.framerate yield abs_send_time, self.arrival_time_us // 1000, self.payload_size class RemoteBitrateEstimatorTest(TestCase): def test_capacity_drop(self): estimator = RemoteBitrateEstimator() stream = Stream(capacity=500000) target_bitrate = None for abs_send_time, arrival_time_ms, payload_size in stream.generate_frames( 1000 ): res = estimator.add( abs_send_time=abs_send_time, arrival_time_ms=arrival_time_ms, payload_size=payload_size, ssrc=1234, ) if res is not None: target_bitrate = res[0] self.assertEqual(target_bitrate, 550000) # reduce capacity stream.capacity = 250000 for abs_send_time, arrival_time_ms, payload_size in stream.generate_frames( 1000 ): res = estimator.add( abs_send_time=abs_send_time, arrival_time_ms=arrival_time_ms, payload_size=payload_size, ssrc=1234, ) if res is not None: target_bitrate = res[0] self.assertEqual(target_bitrate, 214200) aiortc-1.11.0/tests/test_rtcdtlstransport.py000066400000000000000000000463411477147103300213010ustar00rootroot00000000000000import asyncio import datetime from unittest import TestCase from unittest.mock import patch from aiortc.rtcdtlstransport import ( SRTP_AEAD_AES_256_GCM, SRTP_AES128_CM_SHA1_80, RTCCertificate, RTCDtlsFingerprint, RTCDtlsParameters, RTCDtlsTransport, RtpRouter, ) from aiortc.rtcrtpparameters import ( RTCRtpCodecParameters, RTCRtpDecodingParameters, RTCRtpReceiveParameters, ) from aiortc.rtp import ( RTCP_PSFB_APP, RTCP_PSFB_PLI, RTCP_RTPFB_NACK, RtcpByePacket, RtcpPsfbPacket, RtcpReceiverInfo, RtcpRrPacket, RtcpRtpfbPacket, RtcpSenderInfo, RtcpSrPacket, RtpPacket, pack_remb_fci, ) from OpenSSL import SSL from .utils import asynctest, dummy_ice_transport_pair, load RTP = load("rtp.bin") RTCP = load("rtcp_sr.bin") class BrokenDataReceiver: def __init__(self): self.data = [] async def _handle_data(self, data): raise Exception("some error") class DummyDataReceiver: def __init__(self): self.data = [] async def _handle_data(self, data): self.data.append(data) class DummyRtpReceiver: def __init__(self): self.rtp_packets = [] self.rtcp_packets = [] def _handle_disconnect(self): pass async def _handle_rtp_packet(self, packet, arrival_time_ms): self.rtp_packets.append(packet) async def _handle_rtcp_packet(self, packet): self.rtcp_packets.append(packet) class RTCCertificateTest(TestCase): def test_generate(self): certificate = RTCCertificate.generateCertificate() self.assertIsNotNone(certificate) expires = certificate.expires self.assertIsNotNone(expires) self.assertIsInstance(expires, datetime.datetime) fingerprints = certificate.getFingerprints() self.assertEqual(len(fingerprints), 3) self.assertEqual(fingerprints[0].algorithm, "sha-256") self.assertEqual(len(fingerprints[0].value), 95) self.assertEqual(fingerprints[1].algorithm, "sha-384") self.assertEqual(len(fingerprints[1].value), 143) self.assertEqual(fingerprints[2].algorithm, "sha-512") self.assertEqual(len(fingerprints[2].value), 191) class RTCDtlsTransportTest(TestCase): def assertCounters(self, transport_a, transport_b, packets_sent_a, packets_sent_b): stats_a = transport_a._get_stats()[transport_a._stats_id] stats_b = transport_b._get_stats()[transport_b._stats_id] self.assertEqual(stats_a.packetsSent, packets_sent_a) self.assertEqual(stats_a.packetsReceived, packets_sent_b) self.assertGreater(stats_a.bytesSent, 0) self.assertGreater(stats_a.bytesReceived, 0) self.assertEqual(stats_b.packetsSent, packets_sent_b) self.assertEqual(stats_b.packetsReceived, packets_sent_a) self.assertGreater(stats_b.bytesSent, 0) self.assertGreater(stats_b.bytesReceived, 0) self.assertEqual(stats_a.bytesSent, stats_b.bytesReceived) self.assertEqual(stats_b.bytesSent, stats_a.bytesReceived) @asynctest async def test_data(self): transport1, transport2 = dummy_ice_transport_pair() certificate1 = RTCCertificate.generateCertificate() session1 = RTCDtlsTransport(transport1, [certificate1]) receiver1 = DummyDataReceiver() session1._register_data_receiver(receiver1) certificate2 = RTCCertificate.generateCertificate() session2 = RTCDtlsTransport(transport2, [certificate2]) receiver2 = DummyDataReceiver() session2._register_data_receiver(receiver2) await asyncio.gather( session1.start(session2.getLocalParameters()), session2.start(session1.getLocalParameters()), ) # send encypted data await session1._send_data(b"ping") await asyncio.sleep(0.1) self.assertEqual(receiver2.data, [b"ping"]) await session2._send_data(b"pong") await asyncio.sleep(0.1) self.assertEqual(receiver1.data, [b"pong"]) # shutdown await session1.stop() await asyncio.sleep(0.1) self.assertEqual(session1.state, "closed") self.assertEqual(session2.state, "closed") # try closing again await session1.stop() await session2.stop() # try sending after close with self.assertRaises(ConnectionError): await session1._send_data(b"foo") @asynctest async def test_data_handler_error(self): transport1, transport2 = dummy_ice_transport_pair() certificate1 = RTCCertificate.generateCertificate() session1 = RTCDtlsTransport(transport1, [certificate1]) receiver1 = DummyDataReceiver() session1._register_data_receiver(receiver1) certificate2 = RTCCertificate.generateCertificate() session2 = RTCDtlsTransport(transport2, [certificate2]) session2._register_data_receiver(BrokenDataReceiver()) await asyncio.gather( session1.start(session2.getLocalParameters()), session2.start(session1.getLocalParameters()), ) # send encypted data await session1._send_data(b"ping") await asyncio.sleep(0.1) # shutdown await session1.stop() await session2.stop() @asynctest async def test_rtp(self): transport1, transport2 = dummy_ice_transport_pair() certificate1 = RTCCertificate.generateCertificate() session1 = RTCDtlsTransport(transport1, [certificate1]) receiver1 = DummyRtpReceiver() session1._register_rtp_receiver( receiver1, RTCRtpReceiveParameters( codecs=[ RTCRtpCodecParameters( mimeType="audio/PCMU", clockRate=8000, payloadType=0 ) ], encodings=[RTCRtpDecodingParameters(ssrc=1831097322, payloadType=0)], ), ) certificate2 = RTCCertificate.generateCertificate() session2 = RTCDtlsTransport(transport2, [certificate2]) receiver2 = DummyRtpReceiver() session2._register_rtp_receiver( receiver2, RTCRtpReceiveParameters( codecs=[ RTCRtpCodecParameters( mimeType="audio/PCMU", clockRate=8000, payloadType=0 ) ], encodings=[RTCRtpDecodingParameters(ssrc=4028317929, payloadType=0)], ), ) await asyncio.gather( session1.start(session2.getLocalParameters()), session2.start(session1.getLocalParameters()), ) self.assertCounters(session1, session2, 2, 2) # send RTP await session1._send_rtp(RTP) await asyncio.sleep(0.1) self.assertCounters(session1, session2, 3, 2) self.assertEqual(len(receiver2.rtcp_packets), 0) self.assertEqual(len(receiver2.rtp_packets), 1) # send RTCP await session2._send_rtp(RTCP) await asyncio.sleep(0.1) self.assertCounters(session1, session2, 3, 3) self.assertEqual(len(receiver1.rtcp_packets), 1) self.assertEqual(len(receiver1.rtp_packets), 0) # shutdown await session1.stop() await asyncio.sleep(0.1) self.assertCounters(session1, session2, 4, 3) self.assertEqual(session1.state, "closed") self.assertEqual(session2.state, "closed") # try closing again await session1.stop() await session2.stop() # try sending after close with self.assertRaises(ConnectionError): await session1._send_rtp(RTP) @asynctest async def test_rtp_malformed(self): transport1, transport2 = dummy_ice_transport_pair() certificate1 = RTCCertificate.generateCertificate() session1 = RTCDtlsTransport(transport1, [certificate1]) # receive truncated RTP await session1._handle_rtp_data(RTP[0:8], 0) # receive truncated RTCP await session1._handle_rtcp_data(RTCP[0:8]) @asynctest async def test_srtp_unprotect_error(self): transport1, transport2 = dummy_ice_transport_pair() certificate1 = RTCCertificate.generateCertificate() session1 = RTCDtlsTransport(transport1, [certificate1]) receiver1 = DummyRtpReceiver() session1._register_rtp_receiver( receiver1, RTCRtpReceiveParameters( codecs=[ RTCRtpCodecParameters( mimeType="audio/PCMU", clockRate=8000, payloadType=0 ) ], encodings=[RTCRtpDecodingParameters(ssrc=1831097322, payloadType=0)], ), ) certificate2 = RTCCertificate.generateCertificate() session2 = RTCDtlsTransport(transport2, [certificate2]) receiver2 = DummyRtpReceiver() session2._register_rtp_receiver( receiver2, RTCRtpReceiveParameters( codecs=[ RTCRtpCodecParameters( mimeType="audio/PCMU", clockRate=8000, payloadType=0 ) ], encodings=[RTCRtpDecodingParameters(ssrc=4028317929, payloadType=0)], ), ) await asyncio.gather( session1.start(session2.getLocalParameters()), session2.start(session1.getLocalParameters()), ) # send same RTP twice, to trigger error on the receiver side: # "replay check failed (bad index)" await session1._send_rtp(RTP) await session1._send_rtp(RTP) await asyncio.sleep(0.1) self.assertEqual(len(receiver2.rtcp_packets), 0) self.assertEqual(len(receiver2.rtp_packets), 1) # shutdown await session1.stop() await session2.stop() @asynctest async def test_abrupt_disconnect(self): transport1, transport2 = dummy_ice_transport_pair() certificate1 = RTCCertificate.generateCertificate() session1 = RTCDtlsTransport(transport1, [certificate1]) certificate2 = RTCCertificate.generateCertificate() session2 = RTCDtlsTransport(transport2, [certificate2]) await asyncio.gather( session1.start(session2.getLocalParameters()), session2.start(session1.getLocalParameters()), ) # break connections -> tasks exits await transport1.stop() await transport2.stop() await asyncio.sleep(0.1) # close DTLS await session1.stop() await session2.stop() # check outcome self.assertEqual(session1.state, "closed") self.assertEqual(session2.state, "closed") @asynctest async def test_abrupt_disconnect_2(self): transport1, transport2 = dummy_ice_transport_pair() certificate1 = RTCCertificate.generateCertificate() session1 = RTCDtlsTransport(transport1, [certificate1]) certificate2 = RTCCertificate.generateCertificate() session2 = RTCDtlsTransport(transport2, [certificate2]) await asyncio.gather( session1.start(session2.getLocalParameters()), session2.start(session1.getLocalParameters()), ) def fake_write_ssl(): raise ConnectionError session1._write_ssl = fake_write_ssl # close DTLS -> ConnectionError await session1.stop() await session2.stop() await asyncio.sleep(0.1) # check outcome self.assertEqual(session1.state, "closed") self.assertEqual(session2.state, "closed") @asynctest async def test_bad_client_fingerprint(self): transport1, transport2 = dummy_ice_transport_pair() certificate1 = RTCCertificate.generateCertificate() session1 = RTCDtlsTransport(transport1, [certificate1]) certificate2 = RTCCertificate.generateCertificate() session2 = RTCDtlsTransport(transport2, [certificate2]) bogus_parameters = RTCDtlsParameters( fingerprints=[ RTCDtlsFingerprint(algorithm="sha-256", value="bogus_fingerprint") ] ) await asyncio.gather( session1.start(bogus_parameters), session2.start(session1.getLocalParameters()), ) self.assertEqual(session1.state, "failed") self.assertEqual(session2.state, "connected") await session1.stop() await session2.stop() @patch("aiortc.rtcdtlstransport.SSL.Connection.do_handshake") @asynctest async def test_handshake_error(self, mock_do_handshake): mock_do_handshake.side_effect = SSL.Error( [("SSL routines", "", "decryption failed or bad record mac")] ) transport1, transport2 = dummy_ice_transport_pair() certificate1 = RTCCertificate.generateCertificate() session1 = RTCDtlsTransport(transport1, [certificate1]) certificate2 = RTCCertificate.generateCertificate() session2 = RTCDtlsTransport(transport2, [certificate2]) await asyncio.gather( session1.start(session2.getLocalParameters()), session2.start(session1.getLocalParameters()), ) self.assertEqual(session1.state, "failed") self.assertEqual(session2.state, "failed") await session1.stop() await session2.stop() @asynctest async def test_handshake_error_no_common_srtp_profile(self): transport1, transport2 = dummy_ice_transport_pair() certificate1 = RTCCertificate.generateCertificate() session1 = RTCDtlsTransport(transport1, [certificate1]) session1._srtp_profiles = [SRTP_AEAD_AES_256_GCM] certificate2 = RTCCertificate.generateCertificate() session2 = RTCDtlsTransport(transport2, [certificate2]) session2._srtp_profiles = [SRTP_AES128_CM_SHA1_80] await asyncio.gather( session1.start(session2.getLocalParameters()), session2.start(session1.getLocalParameters()), ) self.assertEqual(session1.state, "failed") self.assertEqual(session2.state, "failed") await session1.stop() await session2.stop() @asynctest async def test_lossy_channel(self): """ Transport with 25% loss eventually connects. """ transport1, transport2 = dummy_ice_transport_pair() loss_pattern = [True, False, False, False] transport1._connection.loss_pattern = loss_pattern transport2._connection.loss_pattern = loss_pattern certificate1 = RTCCertificate.generateCertificate() session1 = RTCDtlsTransport(transport1, [certificate1]) certificate2 = RTCCertificate.generateCertificate() session2 = RTCDtlsTransport(transport2, [certificate2]) await asyncio.gather( session1.start(session2.getLocalParameters()), session2.start(session1.getLocalParameters()), ) await session1.stop() await session2.stop() class RtpRouterTest(TestCase): def test_route_rtcp(self): receiver = object() sender = object() router = RtpRouter() router.register_receiver(receiver, ssrcs=[1234, 2345], payload_types=[96, 97]) router.register_sender(sender, ssrc=3456) # BYE packet = RtcpByePacket(sources=[1234, 2345]) self.assertEqual(router.route_rtcp(packet), set([receiver])) # RR packet = RtcpRrPacket( ssrc=1234, reports=[ RtcpReceiverInfo( ssrc=3456, fraction_lost=0, packets_lost=0, highest_sequence=630, jitter=1906, lsr=0, dlsr=0, ) ], ) self.assertEqual(router.route_rtcp(packet), set([sender])) # SR packet = RtcpSrPacket( ssrc=1234, sender_info=RtcpSenderInfo( ntp_timestamp=0, rtp_timestamp=0, packet_count=0, octet_count=0 ), reports=[ RtcpReceiverInfo( ssrc=3456, fraction_lost=0, packets_lost=0, highest_sequence=630, jitter=1906, lsr=0, dlsr=0, ) ], ) self.assertEqual(router.route_rtcp(packet), set([receiver, sender])) # PSFB - PLI packet = RtcpPsfbPacket(fmt=RTCP_PSFB_PLI, ssrc=1234, media_ssrc=3456) self.assertEqual(router.route_rtcp(packet), set([sender])) # PSFB - REMB packet = RtcpPsfbPacket( fmt=RTCP_PSFB_APP, ssrc=1234, media_ssrc=0, fci=pack_remb_fci(4160000, [3456]), ) self.assertEqual(router.route_rtcp(packet), set([sender])) # PSFB - JUNK packet = RtcpPsfbPacket(fmt=RTCP_PSFB_APP, ssrc=1234, media_ssrc=0, fci=b"JUNK") self.assertEqual(router.route_rtcp(packet), set()) # RTPFB packet = RtcpRtpfbPacket(fmt=RTCP_RTPFB_NACK, ssrc=1234, media_ssrc=3456) self.assertEqual(router.route_rtcp(packet), set([sender])) def test_route_rtp(self): receiver1 = object() receiver2 = object() router = RtpRouter() router.register_receiver(receiver1, ssrcs=[1234, 2345], payload_types=[96, 97]) router.register_receiver(receiver2, ssrcs=[3456, 4567], payload_types=[98, 99]) # known SSRC and payload type self.assertEqual( router.route_rtp(RtpPacket(ssrc=1234, payload_type=96)), receiver1 ) self.assertEqual( router.route_rtp(RtpPacket(ssrc=2345, payload_type=97)), receiver1 ) self.assertEqual( router.route_rtp(RtpPacket(ssrc=3456, payload_type=98)), receiver2 ) self.assertEqual( router.route_rtp(RtpPacket(ssrc=4567, payload_type=99)), receiver2 ) # unknown SSRC, known payload type self.assertEqual( router.route_rtp(RtpPacket(ssrc=5678, payload_type=96)), receiver1 ) self.assertEqual(router.ssrc_table[5678], receiver1) # unknown SSRC and payload type self.assertEqual(router.route_rtp(RtpPacket(ssrc=6789, payload_type=100)), None) def test_route_rtp_ambiguous_payload_type(self): receiver1 = object() receiver2 = object() router = RtpRouter() router.register_receiver(receiver1, ssrcs=[1234, 2345], payload_types=[96, 97]) router.register_receiver(receiver2, ssrcs=[3456, 4567], payload_types=[96, 97]) # known SSRC and payload type self.assertEqual( router.route_rtp(RtpPacket(ssrc=1234, payload_type=96)), receiver1 ) self.assertEqual( router.route_rtp(RtpPacket(ssrc=2345, payload_type=97)), receiver1 ) self.assertEqual( router.route_rtp(RtpPacket(ssrc=3456, payload_type=96)), receiver2 ) self.assertEqual( router.route_rtp(RtpPacket(ssrc=4567, payload_type=97)), receiver2 ) # unknown SSRC, ambiguous payload type self.assertEqual(router.route_rtp(RtpPacket(ssrc=5678, payload_type=96)), None) self.assertEqual(router.route_rtp(RtpPacket(ssrc=5678, payload_type=97)), None) aiortc-1.11.0/tests/test_rtcicetransport.py000066400000000000000000000336201477147103300210670ustar00rootroot00000000000000import asyncio from unittest import TestCase import aioice.stun from aioice import ConnectionClosed from aiortc.exceptions import InvalidStateError from aiortc.rtcconfiguration import RTCIceServer from aiortc.rtcicetransport import ( RTCIceCandidate, RTCIceGatherer, RTCIceParameters, RTCIceTransport, connection_kwargs, parse_stun_turn_uri, ) from .utils import asynctest async def mock_connect(): pass async def mock_get_event(): await asyncio.sleep(0.5) return ConnectionClosed() class ConnectionKwargsTest(TestCase): def test_empty(self): self.assertEqual(connection_kwargs([]), {}) def test_stun(self): self.assertEqual( connection_kwargs([RTCIceServer("stun:stun.l.google.com:19302")]), {"stun_server": ("stun.l.google.com", 19302)}, ) def test_stun_with_suffix(self): self.assertEqual( connection_kwargs( [RTCIceServer("stun:global.stun.twilio.com:3478?transport=udp")] ), {"stun_server": ("global.stun.twilio.com", 3478)}, ) def test_stun_multiple_servers(self): self.assertEqual( connection_kwargs( [ RTCIceServer("stun:stun.l.google.com:19302"), RTCIceServer("stun:stun.example.com"), ] ), {"stun_server": ("stun.l.google.com", 19302)}, ) def test_stun_multiple_urls(self): self.assertEqual( connection_kwargs( [ RTCIceServer( [ "stun:stun1.l.google.com:19302", "stun:stun2.l.google.com:19302", ] ) ] ), {"stun_server": ("stun1.l.google.com", 19302)}, ) def test_turn(self): self.assertEqual( connection_kwargs([RTCIceServer("turn:turn.example.com")]), { "turn_password": None, "turn_server": ("turn.example.com", 3478), "turn_ssl": False, "turn_transport": "udp", "turn_username": None, }, ) def test_turn_multiple_servers(self): self.assertEqual( connection_kwargs( [ RTCIceServer("turn:turn.example.com"), RTCIceServer("turn:turn.example.net"), ] ), { "turn_password": None, "turn_server": ("turn.example.com", 3478), "turn_ssl": False, "turn_transport": "udp", "turn_username": None, }, ) def test_turn_multiple_urls(self): self.assertEqual( connection_kwargs( [RTCIceServer(["turn:turn1.example.com", "turn:turn2.example.com"])] ), { "turn_password": None, "turn_server": ("turn1.example.com", 3478), "turn_ssl": False, "turn_transport": "udp", "turn_username": None, }, ) def test_turn_over_bogus(self): self.assertEqual( connection_kwargs([RTCIceServer("turn:turn.example.com?transport=bogus")]), {}, ) def test_turn_over_tcp(self): self.assertEqual( connection_kwargs([RTCIceServer("turn:turn.example.com?transport=tcp")]), { "turn_password": None, "turn_server": ("turn.example.com", 3478), "turn_ssl": False, "turn_transport": "tcp", "turn_username": None, }, ) def test_turn_with_password(self): self.assertEqual( connection_kwargs( [ RTCIceServer( urls="turn:turn.example.com", username="foo", credential="bar" ) ] ), { "turn_password": "bar", "turn_server": ("turn.example.com", 3478), "turn_ssl": False, "turn_transport": "udp", "turn_username": "foo", }, ) def test_turn_with_token(self): self.assertEqual( connection_kwargs( [ RTCIceServer( urls="turn:turn.example.com", username="foo", credential="bar", credentialType="token", ) ] ), {}, ) def test_turns(self): self.assertEqual( connection_kwargs([RTCIceServer("turns:turn.example.com")]), { "turn_password": None, "turn_server": ("turn.example.com", 5349), "turn_ssl": True, "turn_transport": "tcp", "turn_username": None, }, ) def test_turns_over_udp(self): self.assertEqual( connection_kwargs([RTCIceServer("turns:turn.example.com?transport=udp")]), {}, ) class ParseStunTurnUriTest(TestCase): def test_invalid_scheme(self): with self.assertRaises(ValueError) as cm: parse_stun_turn_uri("foo") self.assertEqual(str(cm.exception), "malformed uri: invalid scheme") def test_invalid_uri(self): with self.assertRaises(ValueError) as cm: parse_stun_turn_uri("stun") self.assertEqual(str(cm.exception), "malformed uri") def test_stun(self): uri = parse_stun_turn_uri("stun:stun.services.mozilla.com") self.assertEqual( uri, {"host": "stun.services.mozilla.com", "port": 3478, "scheme": "stun"} ) def test_stuns(self): uri = parse_stun_turn_uri("stuns:stun.services.mozilla.com") self.assertEqual( uri, {"host": "stun.services.mozilla.com", "port": 5349, "scheme": "stuns"} ) def test_stun_with_port(self): uri = parse_stun_turn_uri("stun:stun.l.google.com:19302") self.assertEqual( uri, {"host": "stun.l.google.com", "port": 19302, "scheme": "stun"} ) def test_turn(self): uri = parse_stun_turn_uri("turn:1.2.3.4") self.assertEqual( uri, {"host": "1.2.3.4", "port": 3478, "scheme": "turn", "transport": "udp"} ) def test_turn_with_port_and_transport(self): uri = parse_stun_turn_uri("turn:1.2.3.4:3478?transport=tcp") self.assertEqual( uri, {"host": "1.2.3.4", "port": 3478, "scheme": "turn", "transport": "tcp"} ) def test_turns(self): uri = parse_stun_turn_uri("turns:1.2.3.4") self.assertEqual( uri, {"host": "1.2.3.4", "port": 5349, "scheme": "turns", "transport": "tcp"}, ) def test_turns_with_port_and_transport(self): uri = parse_stun_turn_uri("turns:1.2.3.4:1234?transport=tcp") self.assertEqual( uri, {"host": "1.2.3.4", "port": 1234, "scheme": "turns", "transport": "tcp"}, ) class RTCIceGathererTest(TestCase): @asynctest async def test_gather(self): gatherer = RTCIceGatherer() self.assertEqual(gatherer.state, "new") self.assertEqual(gatherer.getLocalCandidates(), []) await gatherer.gather() self.assertEqual(gatherer.state, "completed") self.assertTrue(len(gatherer.getLocalCandidates()) > 0) # close await gatherer._connection.close() def test_default_ice_servers(self): self.assertEqual( RTCIceGatherer.getDefaultIceServers(), [RTCIceServer(urls="stun:stun.l.google.com:19302")], ) class RTCIceTransportTest(TestCase): def setUp(self): # save timers self.consent_failures = aioice.ice.CONSENT_FAILURES self.consent_interval = aioice.ice.CONSENT_INTERVAL self.retry_max = aioice.stun.RETRY_MAX self.retry_rto = aioice.stun.RETRY_RTO # shorten timers to run tests faster aioice.ice.CONSENT_FAILURES = 1 aioice.ice.CONSENT_INTERVAL = 1 aioice.stun.RETRY_MAX = 1 aioice.stun.RETRY_RTO = 0.1 def tearDown(self): # restore timers aioice.ice.CONSENT_FAILURES = self.consent_failures aioice.ice.CONSENT_INTERVAL = self.consent_interval aioice.stun.RETRY_MAX = self.retry_max aioice.stun.RETRY_RTO = self.retry_rto @asynctest async def test_construct(self): gatherer = RTCIceGatherer() connection = RTCIceTransport(gatherer) self.assertEqual(connection.state, "new") self.assertEqual(connection.getRemoteCandidates(), []) candidate = RTCIceCandidate( component=1, foundation="0", ip="192.168.99.7", port=33543, priority=2122252543, protocol="UDP", type="host", ) # add candidate await connection.addRemoteCandidate(candidate) self.assertEqual(connection.getRemoteCandidates(), [candidate]) # end-of-candidates await connection.addRemoteCandidate(None) self.assertEqual(connection.getRemoteCandidates(), [candidate]) @asynctest async def test_connect(self): gatherer_1 = RTCIceGatherer() transport_1 = RTCIceTransport(gatherer_1) gatherer_2 = RTCIceGatherer() transport_2 = RTCIceTransport(gatherer_2) # gather candidates await asyncio.gather(gatherer_1.gather(), gatherer_2.gather()) for candidate in gatherer_2.getLocalCandidates(): await transport_1.addRemoteCandidate(candidate) for candidate in gatherer_1.getLocalCandidates(): await transport_2.addRemoteCandidate(candidate) self.assertEqual(transport_1.state, "new") self.assertEqual(transport_2.state, "new") # connect await asyncio.gather( transport_1.start(gatherer_2.getLocalParameters()), transport_2.start(gatherer_1.getLocalParameters()), ) self.assertEqual(transport_1.state, "completed") self.assertEqual(transport_2.state, "completed") # cleanup await asyncio.gather(transport_1.stop(), transport_2.stop()) self.assertEqual(transport_1.state, "closed") self.assertEqual(transport_2.state, "closed") @asynctest async def test_connect_fail(self): gatherer_1 = RTCIceGatherer() transport_1 = RTCIceTransport(gatherer_1) gatherer_2 = RTCIceGatherer() transport_2 = RTCIceTransport(gatherer_2) # gather candidates await asyncio.gather(gatherer_1.gather(), gatherer_2.gather()) for candidate in gatherer_2.getLocalCandidates(): await transport_1.addRemoteCandidate(candidate) for candidate in gatherer_1.getLocalCandidates(): await transport_2.addRemoteCandidate(candidate) self.assertEqual(transport_1.state, "new") self.assertEqual(transport_2.state, "new") # connect await transport_2.stop() await transport_1.start(gatherer_2.getLocalParameters()) self.assertEqual(transport_1.state, "failed") self.assertEqual(transport_2.state, "closed") # cleanup await asyncio.gather(transport_1.stop(), transport_2.stop()) self.assertEqual(transport_1.state, "closed") self.assertEqual(transport_2.state, "closed") @asynctest async def test_connect_then_consent_expires(self): gatherer_1 = RTCIceGatherer() transport_1 = RTCIceTransport(gatherer_1) gatherer_2 = RTCIceGatherer() transport_2 = RTCIceTransport(gatherer_2) # gather candidates await asyncio.gather(gatherer_1.gather(), gatherer_2.gather()) for candidate in gatherer_2.getLocalCandidates(): await transport_1.addRemoteCandidate(candidate) for candidate in gatherer_1.getLocalCandidates(): await transport_2.addRemoteCandidate(candidate) self.assertEqual(transport_1.state, "new") self.assertEqual(transport_2.state, "new") # connect await asyncio.gather( transport_1.start(gatherer_2.getLocalParameters()), transport_2.start(gatherer_1.getLocalParameters()), ) self.assertEqual(transport_1.state, "completed") self.assertEqual(transport_2.state, "completed") # close one side await transport_1.stop() self.assertEqual(transport_1.state, "closed") # wait for consent to expire await asyncio.sleep(2) # close other side await transport_2.stop() self.assertEqual(transport_2.state, "closed") @asynctest async def test_connect_when_closed(self): gatherer = RTCIceGatherer() transport = RTCIceTransport(gatherer) # stop transport await transport.stop() self.assertEqual(transport.state, "closed") # try to start it with self.assertRaises(InvalidStateError) as cm: await transport.start( RTCIceParameters(usernameFragment="foo", password="bar") ) self.assertEqual(str(cm.exception), "RTCIceTransport is closed") @asynctest async def test_connection_closed(self): gatherer = RTCIceGatherer() # mock out methods gatherer._connection.connect = mock_connect gatherer._connection.get_event = mock_get_event transport = RTCIceTransport(gatherer) self.assertEqual(transport.state, "new") await transport.start(RTCIceParameters(usernameFragment="foo", password="bar")) self.assertEqual(transport.state, "completed") await asyncio.sleep(1) self.assertEqual(transport.state, "failed") await transport.stop() self.assertEqual(transport.state, "closed") aiortc-1.11.0/tests/test_rtcpeerconnection.py000066400000000000000000005550311477147103300213720ustar00rootroot00000000000000import asyncio import re from unittest import TestCase import aioice.ice import aioice.stun from aiortc import ( RTCConfiguration, RTCIceCandidate, RTCPeerConnection, RTCSessionDescription, ) from aiortc.contrib.media import MediaPlayer from aiortc.exceptions import ( InternalError, InvalidAccessError, InvalidStateError, OperationError, ) from aiortc.mediastreams import AudioStreamTrack, VideoStreamTrack from aiortc.rtcpeerconnection import ( filter_preferred_codecs, find_common_codecs, is_codec_compatible, ) from aiortc.rtcrtpparameters import ( RTCRtcpFeedback, RTCRtpCodecCapability, RTCRtpCodecParameters, ) from aiortc.rtcrtpsender import RTCRtpSender from aiortc.sdp import SessionDescription from aiortc.stats import RTCStatsReport from .test_contrib_media import MediaTestCase from .utils import asynctest, lf2crlf LONG_DATA = b"\xff" * 2000 STRIP_CANDIDATES_RE = re.compile("^a=(candidate:.*|end-of-candidates)\r\n", re.M) H264_SDP = lf2crlf( """a=rtpmap:99 H264/90000 a=rtcp-fb:99 nack a=rtcp-fb:99 nack pli a=rtcp-fb:99 goog-remb a=fmtp:99 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42001f a=rtpmap:100 rtx/90000 a=fmtp:100 apt=99 a=rtpmap:101 H264/90000 a=rtcp-fb:101 nack a=rtcp-fb:101 nack pli a=rtcp-fb:101 goog-remb a=fmtp:101 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f a=rtpmap:102 rtx/90000 a=fmtp:102 apt=101 """ ) VP8_SDP = lf2crlf( """a=rtpmap:97 VP8/90000 a=rtcp-fb:97 nack a=rtcp-fb:97 nack pli a=rtcp-fb:97 goog-remb a=rtpmap:98 rtx/90000 a=fmtp:98 apt=97 """ ) class BogusStreamTrack(AudioStreamTrack): kind = "bogus" def mids(pc): mids = [x.mid for x in pc.getTransceivers()] if pc.sctp: mids.append(pc.sctp.mid) return sorted(mids) def strip_ice_candidates(description): return RTCSessionDescription( sdp=STRIP_CANDIDATES_RE.sub("", description.sdp), type=description.type ) def track_states(pc): states = { "connectionState": [pc.connectionState], "iceConnectionState": [pc.iceConnectionState], "iceGatheringState": [pc.iceGatheringState], "signalingState": [pc.signalingState], } @pc.on("connectionstatechange") def connectionstatechange(): states["connectionState"].append(pc.connectionState) @pc.on("iceconnectionstatechange") def iceconnectionstatechange(): states["iceConnectionState"].append(pc.iceConnectionState) @pc.on("icegatheringstatechange") def icegatheringstatechange(): states["iceGatheringState"].append(pc.iceGatheringState) @pc.on("signalingstatechange") def signalingstatechange(): states["signalingState"].append(pc.signalingState) return states def track_remote_tracks(pc): tracks = [] @pc.on("track") def track(track): tracks.append(track) return tracks class RTCRtpCodecParametersTest(TestCase): def test_find_common_codecs_static(self): local_codecs = [ RTCRtpCodecParameters( mimeType="audio/opus", clockRate=48000, channels=2, payloadType=96 ), RTCRtpCodecParameters( mimeType="audio/PCMU", clockRate=8000, channels=1, payloadType=0 ), RTCRtpCodecParameters( mimeType="audio/PCMA", clockRate=8000, channels=1, payloadType=8 ), ] remote_codecs = [ RTCRtpCodecParameters( mimeType="audio/PCMA", clockRate=8000, channels=1, payloadType=8 ), RTCRtpCodecParameters( mimeType="audio/PCMU", clockRate=8000, channels=1, payloadType=0 ), ] common = find_common_codecs(local_codecs, remote_codecs) self.assertEqual( common, [ RTCRtpCodecParameters( mimeType="audio/PCMA", clockRate=8000, channels=1, payloadType=8 ), RTCRtpCodecParameters( mimeType="audio/PCMU", clockRate=8000, channels=1, payloadType=0 ), ], ) def find_common_codecs_dynamic(self): local_codecs = [ RTCRtpCodecParameters( mimeType="audio/opus", clockRate=48000, channels=2, payloadType=96 ), RTCRtpCodecParameters( mimeType="audio/PCMU", clockRate=8000, channels=1, payloadType=0 ), RTCRtpCodecParameters( mimeType="audio/PCMA", clockRate=8000, channels=1, payloadType=8 ), ] remote_codecs = [ RTCRtpCodecParameters( mimeType="audio/opus", clockRate=48000, channels=2, payloadType=100 ), RTCRtpCodecParameters( mimeType="audio/PCMA", clockRate=8000, channels=1, payloadType=8 ), ] common = find_common_codecs(local_codecs, remote_codecs) self.assertEqual( common, [ RTCRtpCodecParameters( mimeType="audio/opus", clockRate=48000, channels=2, payloadType=100 ), RTCRtpCodecParameters( mimeType="audio/PCMA", clockRate=8000, channels=1, payloadType=8 ), ], ) def find_common_codecs_feedback(self): local_codecs = [ RTCRtpCodecParameters( mimeType="video/VP8", clockRate=90000, payloadType=100, rtcpFeedback=[ RTCRtcpFeedback(type="nack"), RTCRtcpFeedback(type="nack", parameter="pli"), ], ) ] remote_codecs = [ RTCRtpCodecParameters( mimeType="video/VP8", clockRate=90000, payloadType=120, rtcpFeedback=[ RTCRtcpFeedback(type="nack"), RTCRtcpFeedback(type="nack", parameter="sli"), ], ) ] common = find_common_codecs(local_codecs, remote_codecs) self.assertEqual(len(common), 1) self.assertEqual(common[0].clockRate, 90000) self.assertEqual(common[0].name, "VP8") self.assertEqual(common[0].payloadType, 120) self.assertEqual(common[0].rtcpFeedback, [RTCRtcpFeedback(type="nack")]) def test_find_common_codecs_rtx(self): local_codecs = [ RTCRtpCodecParameters( mimeType="video/VP8", clockRate=90000, payloadType=100 ), RTCRtpCodecParameters( mimeType="video/rtx", clockRate=90000, payloadType=101, parameters={"apt": 100}, ), ] remote_codecs = [ RTCRtpCodecParameters( mimeType="video/VP8", clockRate=90000, payloadType=96 ), RTCRtpCodecParameters( mimeType="video/rtx", clockRate=90000, payloadType=97, parameters={"apt": 96}, ), RTCRtpCodecParameters( mimeType="video/VP9", clockRate=90000, payloadType=98 ), RTCRtpCodecParameters( mimeType="video/rtx", clockRate=90000, payloadType=99, parameters={"apt": 98}, ), ] common = find_common_codecs(local_codecs, remote_codecs) self.assertEqual( common, [ RTCRtpCodecParameters( mimeType="video/VP8", clockRate=90000, payloadType=96 ), RTCRtpCodecParameters( mimeType="video/rtx", clockRate=90000, payloadType=97, parameters={"apt": 96}, ), ], ) def test_filter_preferred_codecs(self): codecs = [ RTCRtpCodecParameters( mimeType="video/VP8", clockRate=90000, payloadType=100 ), RTCRtpCodecParameters( mimeType="video/rtx", clockRate=90000, payloadType=101, parameters={"apt": 100}, ), RTCRtpCodecParameters( mimeType="video/H264", clockRate=90000, payloadType=102 ), RTCRtpCodecParameters( mimeType="video/rtx", clockRate=90000, payloadType=103, parameters={"apt": 102}, ), ] # no preferences self.assertEqual(filter_preferred_codecs(codecs, []), codecs) # with RTX, prefer VP8 self.assertEqual( filter_preferred_codecs( codecs, [ RTCRtpCodecCapability(mimeType="video/VP8", clockRate=90000), RTCRtpCodecCapability(mimeType="video/rtx", clockRate=90000), RTCRtpCodecCapability(mimeType="video/H264", clockRate=90000), ], ), [ RTCRtpCodecParameters( mimeType="video/VP8", clockRate=90000, payloadType=100 ), RTCRtpCodecParameters( mimeType="video/rtx", clockRate=90000, payloadType=101, parameters={"apt": 100}, ), RTCRtpCodecParameters( mimeType="video/H264", clockRate=90000, payloadType=102 ), RTCRtpCodecParameters( mimeType="video/rtx", clockRate=90000, payloadType=103, parameters={"apt": 102}, ), ], ) # with RTX, prefer H264 self.assertEqual( filter_preferred_codecs( codecs, [ RTCRtpCodecCapability(mimeType="video/H264", clockRate=90000), RTCRtpCodecCapability(mimeType="video/rtx", clockRate=90000), RTCRtpCodecCapability(mimeType="video/VP8", clockRate=90000), ], ), [ RTCRtpCodecParameters( mimeType="video/H264", clockRate=90000, payloadType=102 ), RTCRtpCodecParameters( mimeType="video/rtx", clockRate=90000, payloadType=103, parameters={"apt": 102}, ), RTCRtpCodecParameters( mimeType="video/VP8", clockRate=90000, payloadType=100 ), RTCRtpCodecParameters( mimeType="video/rtx", clockRate=90000, payloadType=101, parameters={"apt": 100}, ), ], ) # no RTX, same order self.assertEqual( filter_preferred_codecs( codecs, [ RTCRtpCodecCapability(mimeType="video/VP8", clockRate=90000), RTCRtpCodecCapability(mimeType="video/H264", clockRate=90000), ], ), [ RTCRtpCodecParameters( mimeType="video/VP8", clockRate=90000, payloadType=100 ), RTCRtpCodecParameters( mimeType="video/H264", clockRate=90000, payloadType=102 ), ], ) def test_is_codec_compatible(self): # compatible: identical self.assertTrue( is_codec_compatible( RTCRtpCodecParameters( mimeType="video/H264", clockRate=90000, payloadType=102 ), RTCRtpCodecParameters( mimeType="video/H264", clockRate=90000, payloadType=102 ), ) ) self.assertTrue( is_codec_compatible( RTCRtpCodecParameters( mimeType="video/H264", clockRate=90000, payloadType=102, parameters={ "packetization-mode": "0", "profile-level-id": "42E01F", }, ), RTCRtpCodecParameters( mimeType="video/H264", clockRate=90000, payloadType=102, ), ) ) # incompatible: different clockRate self.assertFalse( is_codec_compatible( RTCRtpCodecParameters( mimeType="video/H264", clockRate=90000, payloadType=102 ), RTCRtpCodecParameters( mimeType="video/H264", clockRate=12345, payloadType=102 ), ) ) # incompatible: different mimeType self.assertFalse( is_codec_compatible( RTCRtpCodecParameters( mimeType="video/H264", clockRate=90000, payloadType=102 ), RTCRtpCodecParameters( mimeType="video/VP8", clockRate=90000, payloadType=102 ), ) ) # incompatible: different H.264 profile self.assertFalse( is_codec_compatible( RTCRtpCodecParameters( mimeType="video/H264", clockRate=90000, payloadType=102, parameters={ "packetization-mode": "1", "profile-level-id": "42001f", }, ), RTCRtpCodecParameters( mimeType="video/H264", clockRate=90000, payloadType=102, parameters={ "packetization-mode": "1", "profile-level-id": "42e01f", }, ), ) ) # incompatible: different H.264 packetization mode self.assertFalse( is_codec_compatible( RTCRtpCodecParameters( mimeType="video/H264", clockRate=90000, payloadType=102, parameters={ "packetization-mode": "0", "profile-level-id": "42001f", }, ), RTCRtpCodecParameters( mimeType="video/H264", clockRate=90000, payloadType=102, parameters={ "packetization-mode": "1", "profile-level-id": "42001f", }, ), ) ) # incompatible: cannot parse H.264 profile self.assertFalse( is_codec_compatible( RTCRtpCodecParameters( mimeType="video/H264", clockRate=90000, payloadType=102, parameters={ "profile-level-id": "42001f", }, ), RTCRtpCodecParameters( mimeType="video/H264", clockRate=90000, payloadType=102, parameters={ "profile-level-id": "blah", }, ), ) ) class RTCPeerConnectionTest(TestCase): def assertBundled(self, pc): transceivers = pc.getTransceivers() self.assertEqual( transceivers[0].receiver.transport, transceivers[0].sender.transport ) transport = transceivers[0].receiver.transport for i in range(1, len(transceivers)): self.assertEqual(transceivers[i].receiver.transport, transport) self.assertEqual(transceivers[i].sender.transport, transport) if pc.sctp: self.assertEqual(pc.sctp.transport, transport) def assertClosed(self, pc): self.assertEqual(pc.connectionState, "closed") self.assertEqual(pc.iceConnectionState, "closed") self.assertEqual(pc.signalingState, "closed") async def assertDataChannelOpen(self, dc): await self.sleepWhile(lambda: dc.readyState == "connecting") self.assertEqual(dc.readyState, "open") async def assertIceChecking(self, pc): await self.sleepWhile(lambda: pc.iceConnectionState == "new") self.assertEqual(pc.iceConnectionState, "checking") self.assertEqual(pc.iceGatheringState, "complete") async def assertIceCompleted(self, pc1, pc2): await self.sleepWhile( lambda: pc1.iceConnectionState == "checking" or pc2.iceConnectionState == "checking" ) self.assertEqual(pc1.iceConnectionState, "completed") self.assertEqual(pc2.iceConnectionState, "completed") def assertHasIceCandidates(self, description): self.assertTrue("a=candidate:" in description.sdp) self.assertTrue("a=end-of-candidates" in description.sdp) def assertHasDtls(self, description, setup): self.assertTrue("a=fingerprint:sha-256" in description.sdp) self.assertEqual( set(re.findall("a=setup:(.*)\r$", description.sdp)), set([setup]) ) async def closeDataChannel(self, dc): dc.close() await self.sleepWhile(lambda: dc.readyState == "closing") self.assertEqual(dc.readyState, "closed") async def sleepWhile(self, f, max_sleep=1.0): sleep = 0.1 total = 0.0 while f() and total < max_sleep: await asyncio.sleep(sleep) total += sleep def setUp(self): # save timers self.retry_max = aioice.stun.RETRY_MAX self.retry_rto = aioice.stun.RETRY_RTO # shorten timers to run tests faster aioice.stun.RETRY_MAX = 1 aioice.stun.RETRY_RTO = 0.1 def tearDown(self): # restore timers aioice.stun.RETRY_MAX = self.retry_max aioice.stun.RETRY_RTO = self.retry_rto @asynctest async def test_addIceCandidate_no_sdpMid_or_sdpMLineIndex(self): pc = RTCPeerConnection() with self.assertRaises(ValueError) as cm: await pc.addIceCandidate( RTCIceCandidate( component=1, foundation="0", ip="192.168.99.7", port=33543, priority=2122252543, protocol="UDP", type="host", ) ) self.assertEqual( str(cm.exception), "Candidate must have either sdpMid or sdpMLineIndex" ) @asynctest async def test_addTrack_audio(self): pc = RTCPeerConnection() # add audio track track1 = AudioStreamTrack() sender1 = pc.addTrack(track1) self.assertIsNotNone(sender1) self.assertEqual(sender1.track, track1) self.assertEqual(pc.getSenders(), [sender1]) self.assertEqual(len(pc.getTransceivers()), 1) # try to add same track again with self.assertRaises(InvalidAccessError) as cm: pc.addTrack(track1) self.assertEqual(str(cm.exception), "Track already has a sender") # add another audio track track2 = AudioStreamTrack() sender2 = pc.addTrack(track2) self.assertIsNotNone(sender2) self.assertEqual(sender2.track, track2) self.assertEqual(pc.getSenders(), [sender1, sender2]) self.assertEqual(len(pc.getTransceivers()), 2) @asynctest async def test_addTrack_bogus(self): pc = RTCPeerConnection() # try adding a bogus track with self.assertRaises(InternalError) as cm: pc.addTrack(BogusStreamTrack()) self.assertEqual(str(cm.exception), 'Invalid track kind "bogus"') @asynctest async def test_addTrack_video(self): pc = RTCPeerConnection() # add video track video_track1 = VideoStreamTrack() video_sender1 = pc.addTrack(video_track1) self.assertIsNotNone(video_sender1) self.assertEqual(video_sender1.track, video_track1) self.assertEqual(pc.getSenders(), [video_sender1]) self.assertEqual(len(pc.getTransceivers()), 1) # try to add same track again with self.assertRaises(InvalidAccessError) as cm: pc.addTrack(video_track1) self.assertEqual(str(cm.exception), "Track already has a sender") # add another video track video_track2 = VideoStreamTrack() video_sender2 = pc.addTrack(video_track2) self.assertIsNotNone(video_sender2) self.assertEqual(video_sender2.track, video_track2) self.assertEqual(pc.getSenders(), [video_sender1, video_sender2]) self.assertEqual(len(pc.getTransceivers()), 2) # add audio track audio_track = AudioStreamTrack() audio_sender = pc.addTrack(audio_track) self.assertIsNotNone(audio_sender) self.assertEqual(audio_sender.track, audio_track) self.assertEqual(pc.getSenders(), [video_sender1, video_sender2, audio_sender]) self.assertEqual(len(pc.getTransceivers()), 3) @asynctest async def test_addTrack_closed(self): pc = RTCPeerConnection() await pc.close() with self.assertRaises(InvalidStateError) as cm: pc.addTrack(AudioStreamTrack()) self.assertEqual(str(cm.exception), "RTCPeerConnection is closed") @asynctest async def test_addTransceiver_audio_inactive(self): pc = RTCPeerConnection() # add transceiver transceiver = pc.addTransceiver("audio", direction="inactive") self.assertIsNotNone(transceiver) self.assertEqual(transceiver.currentDirection, None) self.assertEqual(transceiver.direction, "inactive") self.assertEqual(transceiver.sender.track, None) self.assertEqual(transceiver.stopped, False) self.assertEqual(pc.getSenders(), [transceiver.sender]) self.assertEqual(len(pc.getTransceivers()), 1) # add track track = AudioStreamTrack() pc.addTrack(track) self.assertEqual(transceiver.currentDirection, None) self.assertEqual(transceiver.direction, "sendonly") self.assertEqual(transceiver.sender.track, track) self.assertEqual(transceiver.stopped, False) self.assertEqual(len(pc.getTransceivers()), 1) # stop transceiver await transceiver.stop() self.assertEqual(transceiver.currentDirection, None) self.assertEqual(transceiver.direction, "sendonly") self.assertEqual(transceiver.sender.track, track) self.assertEqual(transceiver.stopped, True) @asynctest async def test_addTransceiver_audio_sendrecv(self): pc = RTCPeerConnection() # add transceiver transceiver = pc.addTransceiver("audio") self.assertIsNotNone(transceiver) self.assertEqual(transceiver.currentDirection, None) self.assertEqual(transceiver.direction, "sendrecv") self.assertEqual(transceiver.sender.track, None) self.assertEqual(transceiver.stopped, False) self.assertEqual(pc.getSenders(), [transceiver.sender]) self.assertEqual(len(pc.getTransceivers()), 1) # add track track = AudioStreamTrack() pc.addTrack(track) self.assertEqual(transceiver.currentDirection, None) self.assertEqual(transceiver.direction, "sendrecv") self.assertEqual(transceiver.sender.track, track) self.assertEqual(transceiver.stopped, False) self.assertEqual(len(pc.getTransceivers()), 1) @asynctest async def test_addTransceiver_audio_track(self): pc = RTCPeerConnection() # add audio track track1 = AudioStreamTrack() transceiver1 = pc.addTransceiver(track1) self.assertIsNotNone(transceiver1) self.assertEqual(transceiver1.currentDirection, None) self.assertEqual(transceiver1.direction, "sendrecv") self.assertEqual(transceiver1.sender.track, track1) self.assertEqual(transceiver1.stopped, False) self.assertEqual(pc.getSenders(), [transceiver1.sender]) self.assertEqual(len(pc.getTransceivers()), 1) # try to add same track again with self.assertRaises(InvalidAccessError) as cm: pc.addTransceiver(track1) self.assertEqual(str(cm.exception), "Track already has a sender") # add another audio track track2 = AudioStreamTrack() transceiver2 = pc.addTransceiver(track2) self.assertIsNotNone(transceiver2) self.assertEqual(transceiver2.currentDirection, None) self.assertEqual(transceiver2.direction, "sendrecv") self.assertEqual(transceiver2.sender.track, track2) self.assertEqual(transceiver2.stopped, False) self.assertEqual(pc.getSenders(), [transceiver1.sender, transceiver2.sender]) self.assertEqual(len(pc.getTransceivers()), 2) def test_addTransceiver_bogus_direction(self): pc = RTCPeerConnection() # try adding a bogus kind with self.assertRaises(InternalError) as cm: pc.addTransceiver("audio", direction="bogus") self.assertEqual(str(cm.exception), 'Invalid direction "bogus"') def test_addTransceiver_bogus_kind(self): pc = RTCPeerConnection() # try adding a bogus kind with self.assertRaises(InternalError) as cm: pc.addTransceiver("bogus") self.assertEqual(str(cm.exception), 'Invalid track kind "bogus"') def test_addTransceiver_bogus_track(self): pc = RTCPeerConnection() # try adding a bogus track with self.assertRaises(InternalError) as cm: pc.addTransceiver(BogusStreamTrack()) self.assertEqual(str(cm.exception), 'Invalid track kind "bogus"') @asynctest async def test_close(self): pc = RTCPeerConnection() pc_states = track_states(pc) # close once await pc.close() # close twice await pc.close() self.assertEqual(pc_states["signalingState"], ["stable", "closed"]) async def _test_connect_audio_bidirectional(self, pc1, pc2): pc1_states = track_states(pc1) pc1_tracks = track_remote_tracks(pc1) pc2_states = track_states(pc2) pc2_tracks = track_remote_tracks(pc2) self.assertEqual(pc1.iceConnectionState, "new") self.assertEqual(pc1.iceGatheringState, "new") self.assertIsNone(pc1.localDescription) self.assertIsNone(pc1.remoteDescription) self.assertEqual(pc2.iceConnectionState, "new") self.assertEqual(pc2.iceGatheringState, "new") self.assertIsNone(pc2.localDescription) self.assertIsNone(pc2.remoteDescription) # create offer track1 = AudioStreamTrack() pc1.addTrack(track1) offer = await pc1.createOffer() self.assertEqual(offer.type, "offer") self.assertTrue("m=audio " in offer.sdp) self.assertFalse("a=candidate:" in offer.sdp) self.assertFalse("a=end-of-candidates" in offer.sdp) await pc1.setLocalDescription(offer) self.assertEqual(pc1.iceConnectionState, "new") self.assertEqual(pc1.iceGatheringState, "complete") self.assertEqual(mids(pc1), ["0"]) self.assertTrue("m=audio " in pc1.localDescription.sdp) self.assertTrue( lf2crlf( """a=rtpmap:96 opus/48000/2 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 """ ) in pc1.localDescription.sdp ) self.assertTrue("a=sendrecv" in pc1.localDescription.sdp) self.assertHasIceCandidates(pc1.localDescription) self.assertHasDtls(pc1.localDescription, "actpass") # handle offer await pc2.setRemoteDescription(pc1.localDescription) self.assertEqual(pc2.remoteDescription, pc1.localDescription) self.assertEqual(len(pc2.getReceivers()), 1) self.assertEqual(len(pc2.getSenders()), 1) self.assertEqual(len(pc2.getTransceivers()), 1) self.assertEqual(mids(pc2), ["0"]) # the RemoteStreamTrack should have the same ID as the source track self.assertEqual(len(pc2_tracks), 1) self.assertEqual(pc2_tracks[0].id, track1.id) # create answer track2 = AudioStreamTrack() pc2.addTrack(track2) answer = await pc2.createAnswer() self.assertEqual(answer.type, "answer") self.assertTrue("m=audio " in answer.sdp) self.assertFalse("a=candidate:" in answer.sdp) self.assertFalse("a=end-of-candidates" in answer.sdp) await pc2.setLocalDescription(answer) await self.assertIceChecking(pc2) self.assertEqual(mids(pc2), ["0"]) self.assertTrue("m=audio " in pc2.localDescription.sdp) self.assertTrue( lf2crlf( """a=rtpmap:96 opus/48000/2 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 """ ) in pc2.localDescription.sdp ) self.assertTrue("a=sendrecv" in pc2.localDescription.sdp) self.assertHasIceCandidates(pc2.localDescription) self.assertHasDtls(pc2.localDescription, "active") self.assertEqual(pc2.getTransceivers()[0].currentDirection, "sendrecv") self.assertEqual(pc2.getTransceivers()[0].direction, "sendrecv") # handle answer await pc1.setRemoteDescription(pc2.localDescription) self.assertEqual(pc1.remoteDescription, pc2.localDescription) self.assertEqual(pc1.getTransceivers()[0].currentDirection, "sendrecv") self.assertEqual(pc1.getTransceivers()[0].direction, "sendrecv") # the RemoteStreamTrack should have the same ID as the source track self.assertEqual(len(pc1_tracks), 1) self.assertEqual(pc1_tracks[0].id, track2.id) # check outcome await self.assertIceCompleted(pc1, pc2) # allow media to flow long enough to collect stats await asyncio.sleep(2) # check stats report = await pc1.getStats() self.assertIsInstance(report, RTCStatsReport) self.assertEqual( sorted([s.type for s in report.values()]), [ "inbound-rtp", "outbound-rtp", "remote-inbound-rtp", "remote-outbound-rtp", "transport", ], ) # close await pc1.close() await pc2.close() self.assertClosed(pc1) self.assertClosed(pc2) # check state changes self.assertEqual( pc1_states["connectionState"], ["new", "connecting", "connected", "closed"] ) self.assertEqual( pc1_states["iceConnectionState"], ["new", "checking", "completed", "closed"] ) self.assertEqual( pc1_states["iceGatheringState"], ["new", "gathering", "complete"] ) self.assertEqual( pc1_states["signalingState"], ["stable", "have-local-offer", "stable", "closed"], ) self.assertEqual( pc2_states["connectionState"], ["new", "connecting", "connected", "closed"] ) self.assertEqual( pc2_states["iceConnectionState"], ["new", "checking", "completed", "closed"] ) self.assertEqual( pc2_states["iceGatheringState"], ["new", "gathering", "complete"] ) self.assertEqual( pc2_states["signalingState"], ["stable", "have-remote-offer", "stable", "closed"], ) @asynctest async def test_connect_audio_bidirectional(self): pc1 = RTCPeerConnection() pc2 = RTCPeerConnection() await self._test_connect_audio_bidirectional(pc1, pc2) @asynctest async def test_connect_audio_bidirectional_with_empty_iceservers(self): pc1 = RTCPeerConnection(RTCConfiguration(iceServers=[])) pc2 = RTCPeerConnection() await self._test_connect_audio_bidirectional(pc1, pc2) @asynctest async def test_connect_audio_bidirectional_with_trickle(self): pc1 = RTCPeerConnection() pc1_states = track_states(pc1) pc2 = RTCPeerConnection() pc2_states = track_states(pc2) self.assertEqual(pc1.iceConnectionState, "new") self.assertEqual(pc1.iceGatheringState, "new") self.assertIsNone(pc1.localDescription) self.assertIsNone(pc1.remoteDescription) self.assertEqual(pc2.iceConnectionState, "new") self.assertEqual(pc2.iceGatheringState, "new") self.assertIsNone(pc2.localDescription) self.assertIsNone(pc2.remoteDescription) # create offer pc1.addTrack(AudioStreamTrack()) offer = await pc1.createOffer() self.assertEqual(offer.type, "offer") self.assertTrue("m=audio " in offer.sdp) self.assertFalse("a=candidate:" in offer.sdp) self.assertFalse("a=end-of-candidates" in offer.sdp) await pc1.setLocalDescription(offer) self.assertEqual(pc1.iceConnectionState, "new") self.assertEqual(pc1.iceGatheringState, "complete") self.assertEqual(mids(pc1), ["0"]) self.assertTrue("m=audio " in pc1.localDescription.sdp) self.assertTrue("a=sendrecv" in pc1.localDescription.sdp) self.assertHasIceCandidates(pc1.localDescription) self.assertHasDtls(pc1.localDescription, "actpass") # strip out candidates desc1 = strip_ice_candidates(pc1.localDescription) # handle offer await pc2.setRemoteDescription(desc1) self.assertEqual(pc2.remoteDescription, desc1) self.assertEqual(len(pc2.getReceivers()), 1) self.assertEqual(len(pc2.getSenders()), 1) self.assertEqual(len(pc2.getTransceivers()), 1) self.assertEqual(mids(pc2), ["0"]) # create answer pc2.addTrack(AudioStreamTrack()) answer = await pc2.createAnswer() self.assertEqual(answer.type, "answer") self.assertTrue("m=audio " in answer.sdp) self.assertFalse("a=candidate:" in answer.sdp) self.assertFalse("a=end-of-candidates" in answer.sdp) await pc2.setLocalDescription(answer) await self.assertIceChecking(pc2) self.assertEqual(mids(pc2), ["0"]) self.assertTrue("m=audio " in pc2.localDescription.sdp) self.assertTrue("a=sendrecv" in pc2.localDescription.sdp) self.assertHasIceCandidates(pc2.localDescription) self.assertHasDtls(pc2.localDescription, "active") # strip out candidates desc2 = strip_ice_candidates(pc2.localDescription) # handle answer await pc1.setRemoteDescription(desc2) self.assertEqual(pc1.remoteDescription, desc2) # trickle candidates for transceiver in pc2.getTransceivers(): iceGatherer = transceiver.sender.transport.transport.iceGatherer for candidate in iceGatherer.getLocalCandidates(): candidate.sdpMid = transceiver.mid await pc1.addIceCandidate(candidate) for transceiver in pc1.getTransceivers(): iceGatherer = transceiver.sender.transport.transport.iceGatherer for candidate in iceGatherer.getLocalCandidates(): candidate.sdpMid = transceiver.mid await pc2.addIceCandidate(candidate) # check outcome await self.assertIceCompleted(pc1, pc2) # close await pc1.close() await pc2.close() self.assertClosed(pc1) self.assertClosed(pc2) # check state changes self.assertEqual( pc1_states["connectionState"], ["new", "connecting", "connected", "closed"] ) self.assertEqual( pc1_states["iceConnectionState"], ["new", "checking", "completed", "closed"] ) self.assertEqual( pc1_states["iceGatheringState"], ["new", "gathering", "complete"] ) self.assertEqual( pc1_states["signalingState"], ["stable", "have-local-offer", "stable", "closed"], ) self.assertEqual( pc2_states["connectionState"], ["new", "connecting", "connected", "closed"] ) self.assertEqual( pc2_states["iceConnectionState"], ["new", "checking", "completed", "closed"] ) self.assertEqual( pc2_states["iceGatheringState"], ["new", "gathering", "complete"] ) self.assertEqual( pc2_states["signalingState"], ["stable", "have-remote-offer", "stable", "closed"], ) @asynctest async def test_connect_audio_bidirectional_and_close(self): pc1 = RTCPeerConnection() pc1_states = track_states(pc1) pc2 = RTCPeerConnection() pc2_states = track_states(pc2) # create offer track1 = AudioStreamTrack() pc1.addTrack(track1) offer = await pc1.createOffer() await pc1.setLocalDescription(offer) # handle offer await pc2.setRemoteDescription(pc1.localDescription) # create answer track2 = AudioStreamTrack() pc2.addTrack(track2) answer = await pc2.createAnswer() await pc2.setLocalDescription(answer) # handle answer await pc1.setRemoteDescription(pc2.localDescription) # check outcome await self.assertIceCompleted(pc1, pc2) # close one side, which causes the other to shutdown await pc1.close() await asyncio.sleep(1) self.assertClosed(pc1) self.assertClosed(pc2) # check state changes self.assertEqual( pc1_states["connectionState"], ["new", "connecting", "connected", "closed"] ) self.assertEqual( pc1_states["iceConnectionState"], ["new", "checking", "completed", "closed"] ) self.assertEqual( pc1_states["iceGatheringState"], ["new", "gathering", "complete"] ) self.assertEqual( pc1_states["signalingState"], ["stable", "have-local-offer", "stable", "closed"], ) self.assertEqual( pc2_states["connectionState"], ["new", "connecting", "connected", "closed"] ) self.assertEqual( pc2_states["iceConnectionState"], ["new", "checking", "completed", "closed"] ) self.assertEqual( pc2_states["iceGatheringState"], ["new", "gathering", "complete"] ) self.assertEqual( pc2_states["signalingState"], ["stable", "have-remote-offer", "stable", "closed"], ) @asynctest async def test_connect_audio_codec_preferences_offerer(self): pc1 = RTCPeerConnection() pc1_states = track_states(pc1) pc2 = RTCPeerConnection() pc2_states = track_states(pc2) self.assertEqual(pc1.iceConnectionState, "new") self.assertEqual(pc1.iceGatheringState, "new") self.assertIsNone(pc1.localDescription) self.assertIsNone(pc1.remoteDescription) self.assertEqual(pc2.iceConnectionState, "new") self.assertEqual(pc2.iceGatheringState, "new") self.assertIsNone(pc2.localDescription) self.assertIsNone(pc2.remoteDescription) # add track and set codec preferences to prefer PCMA / PCMU pc1.addTrack(AudioStreamTrack()) capabilities = RTCRtpSender.getCapabilities("audio") preferences = list(filter(lambda x: x.name == "PCMA", capabilities.codecs)) preferences += list(filter(lambda x: x.name == "PCMU", capabilities.codecs)) transceiver = pc1.getTransceivers()[0] transceiver.setCodecPreferences(preferences) # create offer offer = await pc1.createOffer() self.assertEqual(offer.type, "offer") self.assertTrue("m=audio " in offer.sdp) self.assertFalse("a=candidate:" in offer.sdp) self.assertFalse("a=end-of-candidates" in offer.sdp) await pc1.setLocalDescription(offer) self.assertEqual(pc1.iceConnectionState, "new") self.assertEqual(pc1.iceGatheringState, "complete") self.assertEqual(mids(pc1), ["0"]) self.assertTrue("m=audio " in pc1.localDescription.sdp) self.assertTrue( lf2crlf( """a=rtpmap:8 PCMA/8000 a=rtpmap:0 PCMU/8000 """ ) in pc1.localDescription.sdp ) self.assertTrue("a=sendrecv" in pc1.localDescription.sdp) self.assertHasIceCandidates(pc1.localDescription) self.assertHasDtls(pc1.localDescription, "actpass") # handle offer await pc2.setRemoteDescription(pc1.localDescription) self.assertEqual(pc2.remoteDescription, pc1.localDescription) self.assertEqual(len(pc2.getReceivers()), 1) self.assertEqual(len(pc2.getSenders()), 1) self.assertEqual(len(pc2.getTransceivers()), 1) self.assertEqual(mids(pc2), ["0"]) # create answer pc2.addTrack(AudioStreamTrack()) answer = await pc2.createAnswer() self.assertEqual(answer.type, "answer") self.assertTrue("m=audio " in answer.sdp) self.assertFalse("a=candidate:" in answer.sdp) self.assertFalse("a=end-of-candidates" in answer.sdp) await pc2.setLocalDescription(answer) await self.assertIceChecking(pc2) self.assertEqual(mids(pc2), ["0"]) self.assertTrue("m=audio " in pc2.localDescription.sdp) self.assertTrue( lf2crlf( """a=rtpmap:8 PCMA/8000 a=rtpmap:0 PCMU/8000 """ ) in pc2.localDescription.sdp ) self.assertTrue("a=sendrecv" in pc2.localDescription.sdp) self.assertHasIceCandidates(pc2.localDescription) self.assertHasDtls(pc2.localDescription, "active") self.assertEqual(pc2.getTransceivers()[0].currentDirection, "sendrecv") self.assertEqual(pc2.getTransceivers()[0].direction, "sendrecv") # handle answer await pc1.setRemoteDescription(pc2.localDescription) self.assertEqual(pc1.remoteDescription, pc2.localDescription) self.assertEqual(pc1.getTransceivers()[0].currentDirection, "sendrecv") self.assertEqual(pc1.getTransceivers()[0].direction, "sendrecv") # check outcome await self.assertIceCompleted(pc1, pc2) # allow media to flow long enough to collect stats await asyncio.sleep(2) # check stats report = await pc1.getStats() self.assertIsInstance(report, RTCStatsReport) self.assertEqual( sorted([s.type for s in report.values()]), [ "inbound-rtp", "outbound-rtp", "remote-inbound-rtp", "remote-outbound-rtp", "transport", ], ) # close await pc1.close() await pc2.close() self.assertClosed(pc1) self.assertClosed(pc2) # check state changes self.assertEqual( pc1_states["connectionState"], ["new", "connecting", "connected", "closed"] ) self.assertEqual( pc1_states["iceConnectionState"], ["new", "checking", "completed", "closed"] ) self.assertEqual( pc1_states["iceGatheringState"], ["new", "gathering", "complete"] ) self.assertEqual( pc1_states["signalingState"], ["stable", "have-local-offer", "stable", "closed"], ) self.assertEqual( pc2_states["connectionState"], ["new", "connecting", "connected", "closed"] ) self.assertEqual( pc2_states["iceConnectionState"], ["new", "checking", "completed", "closed"] ) self.assertEqual( pc2_states["iceGatheringState"], ["new", "gathering", "complete"] ) self.assertEqual( pc2_states["signalingState"], ["stable", "have-remote-offer", "stable", "closed"], ) @asynctest async def test_connect_audio_mid_changes(self): pc1 = RTCPeerConnection() pc1_states = track_states(pc1) pc2 = RTCPeerConnection() pc2_states = track_states(pc2) self.assertEqual(pc1.iceConnectionState, "new") self.assertEqual(pc1.iceGatheringState, "new") self.assertIsNone(pc1.localDescription) self.assertIsNone(pc1.remoteDescription) self.assertEqual(pc2.iceConnectionState, "new") self.assertEqual(pc2.iceGatheringState, "new") self.assertIsNone(pc2.localDescription) self.assertIsNone(pc2.remoteDescription) # add audio tracks immediately pc1.addTrack(AudioStreamTrack()) pc2.addTrack(AudioStreamTrack()) # create offer offer = await pc1.createOffer() self.assertEqual(offer.type, "offer") self.assertTrue("m=audio " in offer.sdp) self.assertFalse("a=candidate:" in offer.sdp) self.assertFalse("a=end-of-candidates" in offer.sdp) # pretend we're Firefox! offer.sdp = offer.sdp.replace("a=mid:0", "a=mid:sdparta_0") await pc1.setLocalDescription(offer) self.assertEqual(pc1.iceConnectionState, "new") self.assertEqual(pc1.iceGatheringState, "complete") self.assertEqual(mids(pc1), ["sdparta_0"]) self.assertTrue("m=audio " in pc1.localDescription.sdp) self.assertTrue("a=sendrecv" in pc1.localDescription.sdp) self.assertHasIceCandidates(pc1.localDescription) self.assertHasDtls(pc1.localDescription, "actpass") self.assertTrue("a=mid:sdparta_0" in pc1.localDescription.sdp) # handle offer await pc2.setRemoteDescription(pc1.localDescription) self.assertEqual(pc2.remoteDescription, pc1.localDescription) self.assertEqual(len(pc2.getReceivers()), 1) self.assertEqual(len(pc2.getSenders()), 1) self.assertEqual(len(pc2.getTransceivers()), 1) self.assertEqual(mids(pc2), ["sdparta_0"]) # create answer answer = await pc2.createAnswer() self.assertEqual(answer.type, "answer") self.assertTrue("m=audio " in answer.sdp) self.assertFalse("a=candidate:" in answer.sdp) self.assertFalse("a=end-of-candidates" in answer.sdp) await pc2.setLocalDescription(answer) await self.assertIceChecking(pc2) self.assertTrue("m=audio " in pc2.localDescription.sdp) self.assertTrue("a=sendrecv" in pc2.localDescription.sdp) self.assertHasIceCandidates(pc2.localDescription) self.assertHasDtls(pc2.localDescription, "active") self.assertTrue("a=mid:sdparta_0" in pc2.localDescription.sdp) # handle answer await pc1.setRemoteDescription(pc2.localDescription) self.assertEqual(pc1.remoteDescription, pc2.localDescription) # check outcome await self.assertIceCompleted(pc1, pc2) # close await pc1.close() await pc2.close() self.assertClosed(pc1) self.assertClosed(pc2) # check state changes self.assertEqual( pc1_states["connectionState"], ["new", "connecting", "connected", "closed"] ) self.assertEqual( pc1_states["iceConnectionState"], ["new", "checking", "completed", "closed"] ) self.assertEqual( pc1_states["iceGatheringState"], ["new", "gathering", "complete"] ) self.assertEqual( pc1_states["signalingState"], ["stable", "have-local-offer", "stable", "closed"], ) self.assertEqual( pc2_states["connectionState"], ["new", "connecting", "connected", "closed"] ) self.assertEqual( pc2_states["iceConnectionState"], ["new", "checking", "completed", "closed"] ) self.assertEqual( pc2_states["iceGatheringState"], ["new", "gathering", "complete"] ) self.assertEqual( pc2_states["signalingState"], ["stable", "have-remote-offer", "stable", "closed"], ) @asynctest async def test_connect_audio_offer_recvonly_answer_recvonly(self): pc1 = RTCPeerConnection() pc1_states = track_states(pc1) pc2 = RTCPeerConnection() pc2_states = track_states(pc2) self.assertEqual(pc1.iceConnectionState, "new") self.assertEqual(pc1.iceGatheringState, "new") self.assertIsNone(pc1.localDescription) self.assertIsNone(pc1.remoteDescription) self.assertEqual(pc2.iceConnectionState, "new") self.assertEqual(pc2.iceGatheringState, "new") self.assertIsNone(pc2.localDescription) self.assertIsNone(pc2.remoteDescription) # create offer pc1.addTransceiver("audio", direction="recvonly") offer = await pc1.createOffer() self.assertEqual(offer.type, "offer") self.assertTrue("m=audio " in offer.sdp) self.assertFalse("a=candidate:" in offer.sdp) self.assertFalse("a=end-of-candidates" in offer.sdp) await pc1.setLocalDescription(offer) self.assertEqual(pc1.iceConnectionState, "new") self.assertEqual(pc1.iceGatheringState, "complete") self.assertEqual(mids(pc1), ["0"]) self.assertTrue("m=audio " in pc1.localDescription.sdp) self.assertTrue("a=recvonly" in pc1.localDescription.sdp) self.assertHasIceCandidates(pc1.localDescription) self.assertHasDtls(pc1.localDescription, "actpass") # handle offer await pc2.setRemoteDescription(pc1.localDescription) self.assertEqual(pc2.remoteDescription, pc1.localDescription) self.assertEqual(len(pc2.getReceivers()), 1) self.assertEqual(len(pc2.getSenders()), 1) self.assertEqual(len(pc2.getTransceivers()), 1) self.assertEqual(mids(pc2), ["0"]) # create answer answer = await pc2.createAnswer() self.assertEqual(answer.type, "answer") self.assertTrue("m=audio " in answer.sdp) self.assertFalse("a=candidate:" in answer.sdp) self.assertFalse("a=end-of-candidates" in answer.sdp) await pc2.setLocalDescription(answer) await self.assertIceChecking(pc2) self.assertEqual(mids(pc2), ["0"]) self.assertTrue("m=audio " in pc2.localDescription.sdp) self.assertTrue("a=inactive" in pc2.localDescription.sdp) self.assertHasIceCandidates(pc2.localDescription) self.assertHasDtls(pc2.localDescription, "active") self.assertEqual(pc2.getTransceivers()[0].currentDirection, "inactive") self.assertEqual(pc2.getTransceivers()[0].direction, "recvonly") # handle answer await pc1.setRemoteDescription(pc2.localDescription) self.assertEqual(pc1.remoteDescription, pc2.localDescription) self.assertEqual(pc1.getTransceivers()[0].currentDirection, "inactive") self.assertEqual(pc1.getTransceivers()[0].direction, "recvonly") # check outcome await self.assertIceCompleted(pc1, pc2) # close await pc1.close() await pc2.close() self.assertClosed(pc1) self.assertClosed(pc2) # check state changes self.assertEqual( pc1_states["connectionState"], ["new", "connecting", "connected", "closed"] ) self.assertEqual( pc1_states["iceConnectionState"], ["new", "checking", "completed", "closed"] ) self.assertEqual( pc1_states["iceGatheringState"], ["new", "gathering", "complete"] ) self.assertEqual( pc1_states["signalingState"], ["stable", "have-local-offer", "stable", "closed"], ) self.assertEqual( pc2_states["connectionState"], ["new", "connecting", "connected", "closed"] ) self.assertEqual( pc2_states["iceConnectionState"], ["new", "checking", "completed", "closed"] ) self.assertEqual( pc2_states["iceGatheringState"], ["new", "gathering", "complete"] ) self.assertEqual( pc2_states["signalingState"], ["stable", "have-remote-offer", "stable", "closed"], ) @asynctest async def test_connect_audio_offer_recvonly(self): pc1 = RTCPeerConnection() pc1_states = track_states(pc1) pc2 = RTCPeerConnection() pc2_states = track_states(pc2) self.assertEqual(pc1.iceConnectionState, "new") self.assertEqual(pc1.iceGatheringState, "new") self.assertIsNone(pc1.localDescription) self.assertIsNone(pc1.remoteDescription) self.assertEqual(pc2.iceConnectionState, "new") self.assertEqual(pc2.iceGatheringState, "new") self.assertIsNone(pc2.localDescription) self.assertIsNone(pc2.remoteDescription) # create offer pc1.addTransceiver("audio", direction="recvonly") offer = await pc1.createOffer() self.assertEqual(offer.type, "offer") self.assertTrue("m=audio " in offer.sdp) self.assertFalse("a=candidate:" in offer.sdp) self.assertFalse("a=end-of-candidates" in offer.sdp) await pc1.setLocalDescription(offer) self.assertEqual(pc1.iceConnectionState, "new") self.assertEqual(pc1.iceGatheringState, "complete") self.assertEqual(mids(pc1), ["0"]) self.assertTrue("m=audio " in pc1.localDescription.sdp) self.assertTrue("a=recvonly" in pc1.localDescription.sdp) self.assertHasIceCandidates(pc1.localDescription) self.assertHasDtls(pc1.localDescription, "actpass") # handle offer await pc2.setRemoteDescription(pc1.localDescription) self.assertEqual(pc2.remoteDescription, pc1.localDescription) self.assertEqual(len(pc2.getReceivers()), 1) self.assertEqual(len(pc2.getSenders()), 1) self.assertEqual(len(pc2.getTransceivers()), 1) self.assertEqual(mids(pc2), ["0"]) # create answer pc2.addTrack(AudioStreamTrack()) answer = await pc2.createAnswer() self.assertEqual(answer.type, "answer") self.assertTrue("m=audio " in answer.sdp) self.assertFalse("a=candidate:" in answer.sdp) self.assertFalse("a=end-of-candidates" in answer.sdp) await pc2.setLocalDescription(answer) await self.assertIceChecking(pc2) self.assertEqual(mids(pc2), ["0"]) self.assertTrue("m=audio " in pc2.localDescription.sdp) self.assertTrue("a=sendonly" in pc2.localDescription.sdp) self.assertHasIceCandidates(pc2.localDescription) self.assertHasDtls(pc2.localDescription, "active") self.assertEqual(pc2.getTransceivers()[0].currentDirection, "sendonly") self.assertEqual(pc2.getTransceivers()[0].direction, "sendrecv") # handle answer await pc1.setRemoteDescription(pc2.localDescription) self.assertEqual(pc1.remoteDescription, pc2.localDescription) self.assertEqual(pc1.getTransceivers()[0].currentDirection, "recvonly") self.assertEqual(pc1.getTransceivers()[0].direction, "recvonly") # check outcome await self.assertIceCompleted(pc1, pc2) # close await pc1.close() await pc2.close() self.assertClosed(pc1) self.assertClosed(pc2) # check state changes self.assertEqual( pc1_states["connectionState"], ["new", "connecting", "connected", "closed"] ) self.assertEqual( pc1_states["iceConnectionState"], ["new", "checking", "completed", "closed"] ) self.assertEqual( pc1_states["iceGatheringState"], ["new", "gathering", "complete"] ) self.assertEqual( pc1_states["signalingState"], ["stable", "have-local-offer", "stable", "closed"], ) self.assertEqual( pc2_states["connectionState"], ["new", "connecting", "connected", "closed"] ) self.assertEqual( pc2_states["iceConnectionState"], ["new", "checking", "completed", "closed"] ) self.assertEqual( pc2_states["iceGatheringState"], ["new", "gathering", "complete"] ) self.assertEqual( pc2_states["signalingState"], ["stable", "have-remote-offer", "stable", "closed"], ) @asynctest async def test_connect_audio_offer_sendonly(self): pc1 = RTCPeerConnection() pc1_states = track_states(pc1) pc2 = RTCPeerConnection() pc2_states = track_states(pc2) self.assertEqual(pc1.iceConnectionState, "new") self.assertEqual(pc1.iceGatheringState, "new") self.assertIsNone(pc1.localDescription) self.assertIsNone(pc1.remoteDescription) self.assertEqual(pc2.iceConnectionState, "new") self.assertEqual(pc2.iceGatheringState, "new") self.assertIsNone(pc2.localDescription) self.assertIsNone(pc2.remoteDescription) # create offer pc1.addTransceiver(AudioStreamTrack(), direction="sendonly") offer = await pc1.createOffer() self.assertEqual(offer.type, "offer") self.assertTrue("m=audio " in offer.sdp) self.assertFalse("a=candidate:" in offer.sdp) self.assertFalse("a=end-of-candidates" in offer.sdp) await pc1.setLocalDescription(offer) self.assertEqual(pc1.iceConnectionState, "new") self.assertEqual(pc1.iceGatheringState, "complete") self.assertEqual(mids(pc1), ["0"]) self.assertTrue("m=audio " in pc1.localDescription.sdp) self.assertTrue("a=sendonly" in pc1.localDescription.sdp) self.assertHasIceCandidates(pc1.localDescription) self.assertHasDtls(pc1.localDescription, "actpass") # handle offer await pc2.setRemoteDescription(pc1.localDescription) self.assertEqual(pc2.remoteDescription, pc1.localDescription) self.assertEqual(len(pc2.getReceivers()), 1) self.assertEqual(len(pc2.getSenders()), 1) self.assertEqual(len(pc2.getTransceivers()), 1) self.assertEqual(mids(pc2), ["0"]) # create answer answer = await pc2.createAnswer() self.assertEqual(answer.type, "answer") self.assertTrue("m=audio " in answer.sdp) self.assertFalse("a=candidate:" in answer.sdp) self.assertFalse("a=end-of-candidates" in answer.sdp) await pc2.setLocalDescription(answer) await self.assertIceChecking(pc2) self.assertEqual(mids(pc2), ["0"]) self.assertTrue("m=audio " in pc2.localDescription.sdp) self.assertTrue("a=recvonly" in pc2.localDescription.sdp) self.assertHasIceCandidates(pc2.localDescription) self.assertHasDtls(pc2.localDescription, "active") self.assertEqual(pc2.getTransceivers()[0].currentDirection, "recvonly") self.assertEqual(pc2.getTransceivers()[0].direction, "recvonly") # handle answer await pc1.setRemoteDescription(pc2.localDescription) self.assertEqual(pc1.remoteDescription, pc2.localDescription) self.assertEqual(pc1.getTransceivers()[0].currentDirection, "sendonly") self.assertEqual(pc1.getTransceivers()[0].direction, "sendonly") # check outcome await self.assertIceCompleted(pc1, pc2) # close await pc1.close() await pc2.close() self.assertClosed(pc1) self.assertClosed(pc2) # check state changes self.assertEqual( pc1_states["connectionState"], ["new", "connecting", "connected", "closed"] ) self.assertEqual( pc1_states["iceConnectionState"], ["new", "checking", "completed", "closed"] ) self.assertEqual( pc1_states["iceGatheringState"], ["new", "gathering", "complete"] ) self.assertEqual( pc1_states["signalingState"], ["stable", "have-local-offer", "stable", "closed"], ) self.assertEqual( pc1_states["connectionState"], ["new", "connecting", "connected", "closed"] ) self.assertEqual( pc2_states["iceConnectionState"], ["new", "checking", "completed", "closed"] ) self.assertEqual( pc2_states["iceGatheringState"], ["new", "gathering", "complete"] ) self.assertEqual( pc2_states["signalingState"], ["stable", "have-remote-offer", "stable", "closed"], ) @asynctest async def test_connect_audio_offer_sendrecv_answer_recvonly(self): pc1 = RTCPeerConnection() pc1_states = track_states(pc1) pc2 = RTCPeerConnection() pc2_states = track_states(pc2) self.assertEqual(pc1.iceConnectionState, "new") self.assertEqual(pc1.iceGatheringState, "new") self.assertIsNone(pc1.localDescription) self.assertIsNone(pc1.remoteDescription) self.assertEqual(pc2.iceConnectionState, "new") self.assertEqual(pc2.iceGatheringState, "new") self.assertIsNone(pc2.localDescription) self.assertIsNone(pc2.remoteDescription) # create offer pc1.addTrack(AudioStreamTrack()) offer = await pc1.createOffer() self.assertEqual(offer.type, "offer") self.assertTrue("m=audio " in offer.sdp) self.assertFalse("a=candidate:" in offer.sdp) self.assertFalse("a=end-of-candidates" in offer.sdp) await pc1.setLocalDescription(offer) self.assertEqual(pc1.iceConnectionState, "new") self.assertEqual(pc1.iceGatheringState, "complete") self.assertTrue("m=audio " in pc1.localDescription.sdp) self.assertTrue("a=sendrecv" in pc1.localDescription.sdp) self.assertHasIceCandidates(pc1.localDescription) self.assertHasDtls(pc1.localDescription, "actpass") # handle offer await pc2.setRemoteDescription(pc1.localDescription) self.assertEqual(pc2.remoteDescription, pc1.localDescription) self.assertEqual(len(pc2.getReceivers()), 1) self.assertEqual(len(pc2.getSenders()), 1) self.assertEqual(len(pc2.getTransceivers()), 1) self.assertEqual(mids(pc2), ["0"]) # create answer answer = await pc2.createAnswer() self.assertEqual(answer.type, "answer") self.assertTrue("m=audio " in answer.sdp) self.assertFalse("a=candidate:" in answer.sdp) self.assertFalse("a=end-of-candidates" in answer.sdp) await pc2.setLocalDescription(answer) await self.assertIceChecking(pc2) self.assertTrue("m=audio " in pc2.localDescription.sdp) self.assertTrue("a=recvonly" in pc2.localDescription.sdp) self.assertHasIceCandidates(pc2.localDescription) self.assertHasDtls(pc2.localDescription, "active") self.assertEqual(pc2.getTransceivers()[0].currentDirection, "recvonly") self.assertEqual(pc2.getTransceivers()[0].direction, "recvonly") # handle answer await pc1.setRemoteDescription(pc2.localDescription) self.assertEqual(pc1.remoteDescription, pc2.localDescription) self.assertEqual(pc1.getTransceivers()[0].currentDirection, "sendonly") self.assertEqual(pc1.getTransceivers()[0].direction, "sendrecv") # check outcome await self.assertIceCompleted(pc1, pc2) # close await pc1.close() await pc2.close() self.assertClosed(pc1) self.assertClosed(pc2) # check state changes self.assertEqual( pc1_states["connectionState"], ["new", "connecting", "connected", "closed"] ) self.assertEqual( pc1_states["iceConnectionState"], ["new", "checking", "completed", "closed"] ) self.assertEqual( pc1_states["iceGatheringState"], ["new", "gathering", "complete"] ) self.assertEqual( pc1_states["signalingState"], ["stable", "have-local-offer", "stable", "closed"], ) self.assertEqual( pc2_states["connectionState"], ["new", "connecting", "connected", "closed"] ) self.assertEqual( pc2_states["iceConnectionState"], ["new", "checking", "completed", "closed"] ) self.assertEqual( pc2_states["iceGatheringState"], ["new", "gathering", "complete"] ) self.assertEqual( pc2_states["signalingState"], ["stable", "have-remote-offer", "stable", "closed"], ) @asynctest async def test_connect_audio_offer_sendrecv_answer_sendonly(self): pc1 = RTCPeerConnection() pc1_states = track_states(pc1) pc2 = RTCPeerConnection() pc2_states = track_states(pc2) self.assertEqual(pc1.iceConnectionState, "new") self.assertEqual(pc1.iceGatheringState, "new") self.assertIsNone(pc1.localDescription) self.assertIsNone(pc1.remoteDescription) self.assertEqual(pc2.iceConnectionState, "new") self.assertEqual(pc2.iceGatheringState, "new") self.assertIsNone(pc2.localDescription) self.assertIsNone(pc2.remoteDescription) # create offer pc1.addTrack(AudioStreamTrack()) offer = await pc1.createOffer() self.assertEqual(offer.type, "offer") self.assertTrue("m=audio " in offer.sdp) self.assertFalse("a=candidate:" in offer.sdp) self.assertFalse("a=end-of-candidates" in offer.sdp) await pc1.setLocalDescription(offer) self.assertEqual(pc1.iceConnectionState, "new") self.assertEqual(pc1.iceGatheringState, "complete") self.assertTrue("m=audio " in pc1.localDescription.sdp) self.assertTrue("a=sendrecv" in pc1.localDescription.sdp) self.assertHasIceCandidates(pc1.localDescription) self.assertHasDtls(pc1.localDescription, "actpass") # handle offer await pc2.setRemoteDescription(pc1.localDescription) pc2.getTransceivers()[0].direction = "sendonly" self.assertEqual(pc2.remoteDescription, pc1.localDescription) self.assertEqual(len(pc2.getReceivers()), 1) self.assertEqual(len(pc2.getSenders()), 1) self.assertEqual(len(pc2.getTransceivers()), 1) self.assertEqual(mids(pc2), ["0"]) # create answer answer = await pc2.createAnswer() self.assertEqual(answer.type, "answer") self.assertTrue("m=audio " in answer.sdp) self.assertFalse("a=candidate:" in answer.sdp) self.assertFalse("a=end-of-candidates" in answer.sdp) await pc2.setLocalDescription(answer) await self.assertIceChecking(pc2) self.assertTrue("m=audio " in pc2.localDescription.sdp) self.assertTrue("a=sendonly" in pc2.localDescription.sdp) self.assertHasIceCandidates(pc2.localDescription) self.assertHasDtls(pc2.localDescription, "active") self.assertEqual(pc2.getTransceivers()[0].currentDirection, "sendonly") self.assertEqual(pc2.getTransceivers()[0].direction, "sendonly") # handle answer await pc1.setRemoteDescription(pc2.localDescription) self.assertEqual(pc1.remoteDescription, pc2.localDescription) self.assertEqual(pc1.getTransceivers()[0].currentDirection, "recvonly") self.assertEqual(pc1.getTransceivers()[0].direction, "sendrecv") # check outcome await self.assertIceCompleted(pc1, pc2) # close await pc1.close() await pc2.close() self.assertClosed(pc1) self.assertClosed(pc2) # check state changes self.assertEqual( pc1_states["connectionState"], ["new", "connecting", "connected", "closed"] ) self.assertEqual( pc1_states["iceConnectionState"], ["new", "checking", "completed", "closed"] ) self.assertEqual( pc1_states["iceGatheringState"], ["new", "gathering", "complete"] ) self.assertEqual( pc1_states["signalingState"], ["stable", "have-local-offer", "stable", "closed"], ) self.assertEqual( pc2_states["connectionState"], ["new", "connecting", "connected", "closed"] ) self.assertEqual( pc2_states["iceConnectionState"], ["new", "checking", "completed", "closed"] ) self.assertEqual( pc2_states["iceGatheringState"], ["new", "gathering", "complete"] ) self.assertEqual( pc2_states["signalingState"], ["stable", "have-remote-offer", "stable", "closed"], ) @asynctest async def test_connect_audio_two_tracks(self): pc1 = RTCPeerConnection() pc1_states = track_states(pc1) pc2 = RTCPeerConnection() pc2_states = track_states(pc2) self.assertEqual(pc1.iceConnectionState, "new") self.assertEqual(pc1.iceGatheringState, "new") self.assertIsNone(pc1.localDescription) self.assertIsNone(pc1.remoteDescription) self.assertEqual(pc2.iceConnectionState, "new") self.assertEqual(pc2.iceGatheringState, "new") self.assertIsNone(pc2.localDescription) self.assertIsNone(pc2.remoteDescription) # create offer pc1.addTrack(AudioStreamTrack()) pc1.addTrack(AudioStreamTrack()) offer = await pc1.createOffer() self.assertEqual(offer.type, "offer") self.assertTrue("m=audio " in offer.sdp) self.assertFalse("a=candidate:" in offer.sdp) self.assertFalse("a=end-of-candidates" in offer.sdp) await pc1.setLocalDescription(offer) self.assertEqual(pc1.iceConnectionState, "new") self.assertEqual(pc1.iceGatheringState, "complete") self.assertEqual(mids(pc1), ["0", "1"]) self.assertTrue("m=audio " in pc1.localDescription.sdp) self.assertTrue("a=sendrecv" in pc1.localDescription.sdp) self.assertHasIceCandidates(pc1.localDescription) self.assertHasDtls(pc1.localDescription, "actpass") # handle offer await pc2.setRemoteDescription(pc1.localDescription) self.assertEqual(pc2.remoteDescription, pc1.localDescription) self.assertEqual(len(pc2.getReceivers()), 2) self.assertEqual(len(pc2.getSenders()), 2) self.assertEqual(len(pc2.getTransceivers()), 2) self.assertEqual(mids(pc2), ["0", "1"]) # create answer pc2.addTrack(AudioStreamTrack()) answer = await pc2.createAnswer() self.assertEqual(answer.type, "answer") self.assertTrue("m=audio " in answer.sdp) self.assertFalse("a=candidate:" in answer.sdp) self.assertFalse("a=end-of-candidates" in answer.sdp) await pc2.setLocalDescription(answer) await self.assertIceChecking(pc2) self.assertEqual(mids(pc2), ["0", "1"]) self.assertTrue("m=audio " in pc2.localDescription.sdp) self.assertTrue("a=sendrecv" in pc2.localDescription.sdp) self.assertHasIceCandidates(pc2.localDescription) self.assertHasDtls(pc2.localDescription, "active") # handle answer await pc1.setRemoteDescription(pc2.localDescription) self.assertEqual(pc1.remoteDescription, pc2.localDescription) # check outcome await self.assertIceCompleted(pc1, pc2) # close await pc1.close() await pc2.close() self.assertClosed(pc1) self.assertClosed(pc2) # check state changes self.assertEqual( pc1_states["connectionState"], ["new", "connecting", "connected", "closed"] ) self.assertEqual( pc1_states["iceConnectionState"], ["new", "checking", "completed", "closed"] ) self.assertEqual( pc1_states["iceGatheringState"], ["new", "gathering", "complete"] ) self.assertEqual( pc1_states["signalingState"], ["stable", "have-local-offer", "stable", "closed"], ) self.assertEqual( pc2_states["connectionState"], ["new", "connecting", "connected", "closed"] ) self.assertEqual( pc2_states["iceConnectionState"], ["new", "checking", "completed", "closed"] ) self.assertEqual( pc2_states["iceGatheringState"], ["new", "gathering", "complete"] ) self.assertEqual( pc2_states["signalingState"], ["stable", "have-remote-offer", "stable", "closed"], ) @asynctest async def test_connect_audio_and_video(self): pc1 = RTCPeerConnection() pc1_states = track_states(pc1) pc2 = RTCPeerConnection() pc2_states = track_states(pc2) self.assertEqual(pc1.connectionState, "new") self.assertEqual(pc1.iceConnectionState, "new") self.assertEqual(pc1.iceGatheringState, "new") self.assertIsNone(pc1.localDescription) self.assertIsNone(pc1.remoteDescription) self.assertEqual(pc2.connectionState, "new") self.assertEqual(pc2.iceConnectionState, "new") self.assertEqual(pc2.iceGatheringState, "new") self.assertIsNone(pc2.localDescription) self.assertIsNone(pc2.remoteDescription) # create offer pc1.addTrack(AudioStreamTrack()) pc1.addTrack(VideoStreamTrack()) offer = await pc1.createOffer() self.assertEqual(offer.type, "offer") self.assertTrue("m=audio " in offer.sdp) self.assertTrue("m=video " in offer.sdp) await pc1.setLocalDescription(offer) self.assertEqual(pc1.iceConnectionState, "new") self.assertEqual(pc1.iceGatheringState, "complete") self.assertEqual(mids(pc1), ["0", "1"]) # handle offer await pc2.setRemoteDescription(pc1.localDescription) self.assertEqual(pc2.remoteDescription, pc1.localDescription) self.assertEqual(len(pc2.getReceivers()), 2) self.assertEqual(len(pc2.getSenders()), 2) self.assertEqual(len(pc2.getTransceivers()), 2) self.assertEqual(mids(pc2), ["0", "1"]) # create answer pc2.addTrack(AudioStreamTrack()) pc2.addTrack(VideoStreamTrack()) answer = await pc2.createAnswer() self.assertEqual(answer.type, "answer") self.assertTrue("m=audio " in answer.sdp) self.assertTrue("m=video " in answer.sdp) await pc2.setLocalDescription(answer) await self.assertIceChecking(pc2) self.assertTrue("m=audio " in pc2.localDescription.sdp) self.assertTrue("m=video " in pc2.localDescription.sdp) # handle answer await pc1.setRemoteDescription(pc2.localDescription) self.assertEqual(pc1.remoteDescription, pc2.localDescription) # check outcome await self.assertIceCompleted(pc1, pc2) # check a single transport is used self.assertBundled(pc1) self.assertBundled(pc2) # close await pc1.close() await pc2.close() self.assertClosed(pc1) self.assertClosed(pc2) # check state changes self.assertEqual( pc1_states["connectionState"], ["new", "connecting", "connected", "closed"] ) self.assertEqual( pc1_states["iceConnectionState"], ["new", "checking", "completed", "closed"] ) self.assertEqual( pc1_states["iceGatheringState"], ["new", "gathering", "complete"] ) self.assertEqual( pc1_states["signalingState"], ["stable", "have-local-offer", "stable", "closed"], ) self.assertEqual( pc2_states["connectionState"], ["new", "connecting", "connected", "closed"] ) self.assertEqual( pc2_states["iceConnectionState"], ["new", "checking", "completed", "closed"] ) self.assertEqual( pc2_states["iceGatheringState"], ["new", "gathering", "complete"] ) self.assertEqual( pc2_states["signalingState"], ["stable", "have-remote-offer", "stable", "closed"], ) async def _test_connect_audio_and_video_mediaplayer(self, stop_tracks: bool): """ Negotiate bidirectional audio + video, with one party reading media from a file. We can optionally stop the media tracks before closing the peer connections. """ media_test = MediaTestCase() media_test.setUp() media_path = media_test.create_audio_and_video_file(name="test.mp4", duration=5) player = MediaPlayer(media_path) pc1 = RTCPeerConnection() pc1_states = track_states(pc1) pc2 = RTCPeerConnection() pc2_states = track_states(pc2) self.assertEqual(pc1.iceConnectionState, "new") self.assertEqual(pc1.iceGatheringState, "new") self.assertIsNone(pc1.localDescription) self.assertIsNone(pc1.remoteDescription) self.assertEqual(pc2.iceConnectionState, "new") self.assertEqual(pc2.iceGatheringState, "new") self.assertIsNone(pc2.localDescription) self.assertIsNone(pc2.remoteDescription) # create offer pc1.addTrack(player.audio) pc1.addTrack(player.video) offer = await pc1.createOffer() self.assertEqual(offer.type, "offer") self.assertTrue("m=audio " in offer.sdp) self.assertTrue("m=video " in offer.sdp) await pc1.setLocalDescription(offer) self.assertEqual(pc1.iceConnectionState, "new") self.assertEqual(pc1.iceGatheringState, "complete") self.assertEqual(mids(pc1), ["0", "1"]) # handle offer await pc2.setRemoteDescription(pc1.localDescription) self.assertEqual(pc2.remoteDescription, pc1.localDescription) self.assertEqual(len(pc2.getReceivers()), 2) self.assertEqual(len(pc2.getSenders()), 2) self.assertEqual(len(pc2.getTransceivers()), 2) self.assertEqual(mids(pc2), ["0", "1"]) # create answer pc2.addTrack(AudioStreamTrack()) pc2.addTrack(VideoStreamTrack()) answer = await pc2.createAnswer() self.assertEqual(answer.type, "answer") self.assertTrue("m=audio " in answer.sdp) self.assertTrue("m=video " in answer.sdp) await pc2.setLocalDescription(answer) await self.assertIceChecking(pc2) self.assertTrue("m=audio " in pc2.localDescription.sdp) self.assertTrue("m=video " in pc2.localDescription.sdp) # handle answer await pc1.setRemoteDescription(pc2.localDescription) self.assertEqual(pc1.remoteDescription, pc2.localDescription) # check outcome await self.assertIceCompleted(pc1, pc2) # check a single transport is used self.assertBundled(pc1) self.assertBundled(pc2) # let media flow await asyncio.sleep(1) # stop tracks if stop_tracks: player.audio.stop() player.video.stop() # close await pc1.close() await pc2.close() self.assertClosed(pc1) self.assertClosed(pc2) # check state changes self.assertEqual( pc1_states["connectionState"], ["new", "connecting", "connected", "closed"] ) self.assertEqual( pc1_states["iceConnectionState"], ["new", "checking", "completed", "closed"] ) self.assertEqual( pc1_states["iceGatheringState"], ["new", "gathering", "complete"] ) self.assertEqual( pc1_states["signalingState"], ["stable", "have-local-offer", "stable", "closed"], ) self.assertEqual( pc2_states["connectionState"], ["new", "connecting", "connected", "closed"] ) self.assertEqual( pc2_states["iceConnectionState"], ["new", "checking", "completed", "closed"] ) self.assertEqual( pc2_states["iceGatheringState"], ["new", "gathering", "complete"] ) self.assertEqual( pc2_states["signalingState"], ["stable", "have-remote-offer", "stable", "closed"], ) media_test.tearDown() @asynctest async def test_connect_audio_and_video_mediaplayer(self): await self._test_connect_audio_and_video_mediaplayer(stop_tracks=False) @asynctest async def test_connect_audio_and_video_mediaplayer_stop_tracks(self): await self._test_connect_audio_and_video_mediaplayer(stop_tracks=True) @asynctest async def test_connect_audio_and_video_and_data_channel(self): pc1 = RTCPeerConnection() pc1_states = track_states(pc1) pc2 = RTCPeerConnection() pc2_states = track_states(pc2) self.assertEqual(pc1.iceConnectionState, "new") self.assertEqual(pc1.iceGatheringState, "new") self.assertIsNone(pc1.localDescription) self.assertIsNone(pc1.remoteDescription) self.assertEqual(pc2.iceConnectionState, "new") self.assertEqual(pc2.iceGatheringState, "new") self.assertIsNone(pc2.localDescription) self.assertIsNone(pc2.remoteDescription) # create offer pc1.addTrack(AudioStreamTrack()) pc1.addTrack(VideoStreamTrack()) pc1.createDataChannel("chat", protocol="bob") offer = await pc1.createOffer() self.assertEqual(offer.type, "offer") self.assertTrue("m=audio " in offer.sdp) self.assertTrue("m=video " in offer.sdp) self.assertTrue("m=application " in offer.sdp) await pc1.setLocalDescription(offer) self.assertEqual(pc1.iceConnectionState, "new") self.assertEqual(pc1.iceGatheringState, "complete") self.assertEqual(mids(pc1), ["0", "1", "2"]) # handle offer await pc2.setRemoteDescription(pc1.localDescription) self.assertEqual(pc2.remoteDescription, pc1.localDescription) self.assertEqual(len(pc2.getReceivers()), 2) self.assertEqual(len(pc2.getSenders()), 2) self.assertEqual(len(pc2.getTransceivers()), 2) self.assertEqual(mids(pc2), ["0", "1", "2"]) # create answer pc2.addTrack(AudioStreamTrack()) pc2.addTrack(VideoStreamTrack()) answer = await pc2.createAnswer() self.assertEqual(answer.type, "answer") self.assertTrue("m=audio " in answer.sdp) self.assertTrue("m=video " in answer.sdp) self.assertTrue("m=application " in answer.sdp) await pc2.setLocalDescription(answer) await self.assertIceChecking(pc2) self.assertTrue("m=audio " in pc2.localDescription.sdp) self.assertTrue("m=video " in pc2.localDescription.sdp) self.assertTrue("m=application " in pc2.localDescription.sdp) # handle answer await pc1.setRemoteDescription(pc2.localDescription) self.assertEqual(pc1.remoteDescription, pc2.localDescription) # check outcome await self.assertIceCompleted(pc1, pc2) # check a single transport is used self.assertBundled(pc1) self.assertBundled(pc2) # close await pc1.close() await pc2.close() self.assertClosed(pc1) self.assertClosed(pc2) # check state changes self.assertEqual( pc1_states["connectionState"], ["new", "connecting", "connected", "closed"] ) self.assertEqual( pc1_states["iceConnectionState"], ["new", "checking", "completed", "closed"] ) self.assertEqual( pc1_states["iceGatheringState"], ["new", "gathering", "complete"] ) self.assertEqual( pc1_states["signalingState"], ["stable", "have-local-offer", "stable", "closed"], ) self.assertEqual( pc2_states["connectionState"], ["new", "connecting", "connected", "closed"] ) self.assertEqual( pc2_states["iceConnectionState"], ["new", "checking", "completed", "closed"] ) self.assertEqual( pc2_states["iceGatheringState"], ["new", "gathering", "complete"] ) self.assertEqual( pc2_states["signalingState"], ["stable", "have-remote-offer", "stable", "closed"], ) @asynctest async def test_connect_audio_and_video_and_data_channel_ice_fail(self): pc1 = RTCPeerConnection() pc1_states = track_states(pc1) pc2 = RTCPeerConnection() pc2_states = track_states(pc2) self.assertEqual(pc1.iceConnectionState, "new") self.assertEqual(pc1.iceGatheringState, "new") self.assertIsNone(pc1.localDescription) self.assertIsNone(pc1.remoteDescription) self.assertEqual(pc2.iceConnectionState, "new") self.assertEqual(pc2.iceGatheringState, "new") self.assertIsNone(pc2.localDescription) self.assertIsNone(pc2.remoteDescription) # create offer pc1.addTrack(AudioStreamTrack()) pc1.addTrack(VideoStreamTrack()) pc1.createDataChannel("chat", protocol="bob") offer = await pc1.createOffer() self.assertEqual(offer.type, "offer") self.assertTrue("m=audio " in offer.sdp) self.assertTrue("m=video " in offer.sdp) self.assertTrue("m=application " in offer.sdp) await pc1.setLocalDescription(offer) self.assertEqual(pc1.iceConnectionState, "new") self.assertEqual(pc1.iceGatheringState, "complete") self.assertEqual(mids(pc1), ["0", "1", "2"]) # close one side pc1_description = pc1.localDescription await pc1.close() # handle offer await pc2.setRemoteDescription(pc1_description) self.assertEqual(pc2.remoteDescription, pc1_description) self.assertEqual(len(pc2.getReceivers()), 2) self.assertEqual(len(pc2.getSenders()), 2) self.assertEqual(len(pc2.getTransceivers()), 2) self.assertEqual(mids(pc2), ["0", "1", "2"]) # create answer pc2.addTrack(AudioStreamTrack()) pc2.addTrack(VideoStreamTrack()) answer = await pc2.createAnswer() self.assertEqual(answer.type, "answer") self.assertTrue("m=audio " in answer.sdp) self.assertTrue("m=video " in answer.sdp) self.assertTrue("m=application " in answer.sdp) await pc2.setLocalDescription(answer) await self.assertIceChecking(pc2) self.assertTrue("m=audio " in pc2.localDescription.sdp) self.assertTrue("m=video " in pc2.localDescription.sdp) self.assertTrue("m=application " in pc2.localDescription.sdp) # check outcome done = asyncio.Event() @pc2.on("iceconnectionstatechange") def iceconnectionstatechange(): done.set() await done.wait() self.assertEqual(pc1.iceConnectionState, "closed") self.assertEqual(pc2.iceConnectionState, "failed") # close await pc1.close() await pc2.close() self.assertClosed(pc1) self.assertClosed(pc2) # check state changes self.assertEqual(pc1_states["connectionState"], ["new", "closed"]) self.assertEqual(pc1_states["iceConnectionState"], ["new", "closed"]) self.assertEqual( pc1_states["iceGatheringState"], ["new", "gathering", "complete"] ) self.assertEqual( pc1_states["signalingState"], ["stable", "have-local-offer", "closed"] ) self.assertEqual( pc2_states["connectionState"], ["new", "connecting", "failed", "closed"] ) self.assertEqual( pc2_states["iceConnectionState"], ["new", "checking", "failed", "closed"] ) self.assertEqual( pc2_states["iceGatheringState"], ["new", "gathering", "complete"] ) self.assertEqual( pc2_states["signalingState"], ["stable", "have-remote-offer", "stable", "closed"], ) @asynctest async def test_connect_audio_then_video(self): pc1 = RTCPeerConnection() pc1_states = track_states(pc1) pc2 = RTCPeerConnection() pc2_states = track_states(pc2) self.assertEqual(pc1.iceConnectionState, "new") self.assertEqual(pc1.iceGatheringState, "new") self.assertIsNone(pc1.localDescription) self.assertIsNone(pc1.remoteDescription) self.assertEqual(pc2.iceConnectionState, "new") self.assertEqual(pc2.iceGatheringState, "new") self.assertIsNone(pc2.localDescription) self.assertIsNone(pc2.remoteDescription) # 1. AUDIO ONLY # create offer pc1.addTrack(AudioStreamTrack()) offer = await pc1.createOffer() self.assertEqual(offer.type, "offer") self.assertTrue("m=audio " in offer.sdp) self.assertFalse("m=video " in offer.sdp) await pc1.setLocalDescription(offer) self.assertEqual(pc1.iceConnectionState, "new") self.assertEqual(pc1.iceGatheringState, "complete") self.assertEqual(mids(pc1), ["0"]) # handle offer await pc2.setRemoteDescription(pc1.localDescription) self.assertEqual(pc2.remoteDescription, pc1.localDescription) self.assertEqual(len(pc2.getReceivers()), 1) self.assertEqual(len(pc2.getSenders()), 1) self.assertEqual(len(pc2.getTransceivers()), 1) self.assertEqual(mids(pc2), ["0"]) # create answer pc2.addTrack(AudioStreamTrack()) answer = await pc2.createAnswer() self.assertEqual(answer.type, "answer") self.assertTrue("m=audio " in answer.sdp) self.assertFalse("m=video " in answer.sdp) await pc2.setLocalDescription(answer) await self.assertIceChecking(pc2) self.assertTrue("m=audio " in pc2.localDescription.sdp) self.assertFalse("m=video " in pc2.localDescription.sdp) # handle answer await pc1.setRemoteDescription(pc2.localDescription) self.assertEqual(pc1.remoteDescription, pc2.localDescription) # check outcome await self.assertIceCompleted(pc1, pc2) # check a single transport is used self.assertBundled(pc1) self.assertBundled(pc2) # 2. ADD VIDEO # create offer pc1.addTrack(VideoStreamTrack()) offer = await pc1.createOffer() self.assertEqual(offer.type, "offer") self.assertTrue("m=audio " in offer.sdp) self.assertTrue("m=video " in offer.sdp) await pc1.setLocalDescription(offer) self.assertEqual(pc1.iceConnectionState, "new") self.assertEqual(pc1.iceGatheringState, "complete") self.assertEqual(mids(pc1), ["0", "1"]) # handle offer await pc2.setRemoteDescription(pc1.localDescription) self.assertEqual(pc2.remoteDescription, pc1.localDescription) self.assertEqual(len(pc2.getReceivers()), 2) self.assertEqual(len(pc2.getSenders()), 2) self.assertEqual(len(pc2.getTransceivers()), 2) self.assertEqual(mids(pc2), ["0", "1"]) # create answer pc2.addTrack(VideoStreamTrack()) answer = await pc2.createAnswer() self.assertEqual(answer.type, "answer") self.assertTrue("m=audio " in answer.sdp) self.assertTrue("m=video " in answer.sdp) await pc2.setLocalDescription(answer) self.assertEqual(pc2.iceConnectionState, "completed") self.assertEqual(pc2.iceGatheringState, "complete") self.assertTrue("m=audio " in pc2.localDescription.sdp) self.assertTrue("m=video " in pc2.localDescription.sdp) # handle answer await pc1.setRemoteDescription(pc2.localDescription) self.assertEqual(pc1.remoteDescription, pc2.localDescription) self.assertEqual(pc1.iceConnectionState, "completed") # check outcome await self.assertIceCompleted(pc1, pc2) # check a single transport is used self.assertBundled(pc1) self.assertBundled(pc2) # close await pc1.close() await pc2.close() self.assertClosed(pc1) self.assertClosed(pc2) # check state changes self.assertEqual( pc1_states["connectionState"], ["new", "connecting", "connected", "connecting", "connected", "closed"], ) self.assertEqual( pc1_states["iceConnectionState"], ["new", "checking", "completed", "new", "completed", "closed"], ) self.assertEqual( pc1_states["iceGatheringState"], ["new", "gathering", "complete", "new", "gathering", "complete"], ) self.assertEqual( pc1_states["signalingState"], [ "stable", "have-local-offer", "stable", "have-local-offer", "stable", "closed", ], ) self.assertEqual( pc2_states["connectionState"], ["new", "connecting", "connected", "connecting", "connected", "closed"], ) self.assertEqual( pc2_states["iceConnectionState"], ["new", "checking", "completed", "new", "completed", "closed"], ) self.assertEqual( pc2_states["iceGatheringState"], ["new", "gathering", "complete", "new", "complete"], ) self.assertEqual( pc2_states["signalingState"], [ "stable", "have-remote-offer", "stable", "have-remote-offer", "stable", "closed", ], ) @asynctest async def test_connect_video_bidirectional(self): VIDEO_SDP = VP8_SDP + H264_SDP pc1 = RTCPeerConnection() pc1_states = track_states(pc1) pc2 = RTCPeerConnection() pc2_states = track_states(pc2) self.assertEqual(pc1.iceConnectionState, "new") self.assertEqual(pc1.iceGatheringState, "new") self.assertIsNone(pc1.localDescription) self.assertIsNone(pc1.remoteDescription) self.assertEqual(pc2.iceConnectionState, "new") self.assertEqual(pc2.iceGatheringState, "new") self.assertIsNone(pc2.localDescription) self.assertIsNone(pc2.remoteDescription) # create offer pc1.addTrack(VideoStreamTrack()) offer = await pc1.createOffer() self.assertEqual(offer.type, "offer") self.assertTrue("m=video " in offer.sdp) self.assertFalse("a=candidate:" in offer.sdp) self.assertFalse("a=end-of-candidates" in offer.sdp) await pc1.setLocalDescription(offer) self.assertEqual(pc1.iceConnectionState, "new") self.assertEqual(pc1.iceGatheringState, "complete") self.assertEqual(mids(pc1), ["0"]) self.assertTrue("m=video " in pc1.localDescription.sdp) self.assertTrue(VIDEO_SDP in pc1.localDescription.sdp) self.assertTrue("a=sendrecv" in pc1.localDescription.sdp) self.assertHasIceCandidates(pc1.localDescription) self.assertHasDtls(pc1.localDescription, "actpass") # handle offer await pc2.setRemoteDescription(pc1.localDescription) self.assertEqual(pc2.remoteDescription, pc1.localDescription) self.assertEqual(len(pc2.getReceivers()), 1) self.assertEqual(len(pc2.getSenders()), 1) self.assertEqual(len(pc2.getTransceivers()), 1) self.assertEqual(mids(pc2), ["0"]) # create answer pc2.addTrack(VideoStreamTrack()) answer = await pc2.createAnswer() self.assertEqual(answer.type, "answer") self.assertTrue("m=video " in answer.sdp) self.assertFalse("a=candidate:" in answer.sdp) self.assertFalse("a=end-of-candidates" in answer.sdp) await pc2.setLocalDescription(answer) await self.assertIceChecking(pc2) self.assertTrue("m=video " in pc2.localDescription.sdp) self.assertTrue(VIDEO_SDP in pc2.localDescription.sdp) self.assertTrue("a=sendrecv" in pc2.localDescription.sdp) self.assertHasIceCandidates(pc2.localDescription) self.assertHasDtls(pc2.localDescription, "active") # handle answer await pc1.setRemoteDescription(pc2.localDescription) self.assertEqual(pc1.remoteDescription, pc2.localDescription) # check outcome await self.assertIceCompleted(pc1, pc2) # let media flow to trigger RTCP feedback, including REMB await asyncio.sleep(5) # check stats report = await pc1.getStats() self.assertIsInstance(report, RTCStatsReport) self.assertEqual( sorted([s.type for s in report.values()]), [ "inbound-rtp", "outbound-rtp", "remote-inbound-rtp", "remote-outbound-rtp", "transport", ], ) # close await pc1.close() await pc2.close() self.assertClosed(pc1) self.assertClosed(pc2) # check state changes self.assertEqual( pc1_states["connectionState"], ["new", "connecting", "connected", "closed"] ) self.assertEqual( pc1_states["iceConnectionState"], ["new", "checking", "completed", "closed"] ) self.assertEqual( pc1_states["iceGatheringState"], ["new", "gathering", "complete"] ) self.assertEqual( pc1_states["signalingState"], ["stable", "have-local-offer", "stable", "closed"], ) self.assertEqual( pc2_states["connectionState"], ["new", "connecting", "connected", "closed"] ) self.assertEqual( pc2_states["iceConnectionState"], ["new", "checking", "completed", "closed"] ) self.assertEqual( pc2_states["iceGatheringState"], ["new", "gathering", "complete"] ) self.assertEqual( pc2_states["signalingState"], ["stable", "have-remote-offer", "stable", "closed"], ) @asynctest async def test_connect_video_h264(self): pc1 = RTCPeerConnection() pc1_states = track_states(pc1) pc2 = RTCPeerConnection() pc2_states = track_states(pc2) self.assertEqual(pc1.iceConnectionState, "new") self.assertEqual(pc1.iceGatheringState, "new") self.assertIsNone(pc1.localDescription) self.assertIsNone(pc1.remoteDescription) self.assertEqual(pc2.iceConnectionState, "new") self.assertEqual(pc2.iceGatheringState, "new") self.assertIsNone(pc2.localDescription) self.assertIsNone(pc2.remoteDescription) # create offer pc1.addTrack(VideoStreamTrack()) offer = await pc1.createOffer() self.assertEqual(offer.type, "offer") self.assertTrue("m=video " in offer.sdp) self.assertFalse("a=candidate:" in offer.sdp) self.assertFalse("a=end-of-candidates" in offer.sdp) await pc1.setLocalDescription(offer) self.assertEqual(pc1.iceConnectionState, "new") self.assertEqual(pc1.iceGatheringState, "complete") self.assertEqual(mids(pc1), ["0"]) self.assertTrue("m=video " in pc1.localDescription.sdp) self.assertTrue("a=sendrecv" in pc1.localDescription.sdp) self.assertHasIceCandidates(pc1.localDescription) self.assertHasDtls(pc1.localDescription, "actpass") # strip out vp8 parsed = SessionDescription.parse(pc1.localDescription.sdp) parsed.media[0].rtp.codecs.pop(0) parsed.media[0].fmt.pop(0) desc1 = RTCSessionDescription(sdp=str(parsed), type=pc1.localDescription.type) self.assertFalse("VP8" in desc1.sdp) self.assertTrue("H264" in desc1.sdp) # handle offer await pc2.setRemoteDescription(desc1) self.assertEqual(pc2.remoteDescription, desc1) self.assertEqual(len(pc2.getReceivers()), 1) self.assertEqual(len(pc2.getSenders()), 1) self.assertEqual(len(pc2.getTransceivers()), 1) self.assertEqual(mids(pc2), ["0"]) # create answer pc2.addTrack(VideoStreamTrack()) answer = await pc2.createAnswer() self.assertEqual(answer.type, "answer") self.assertTrue("m=video " in answer.sdp) self.assertFalse("a=candidate:" in answer.sdp) self.assertFalse("a=end-of-candidates" in answer.sdp) await pc2.setLocalDescription(answer) await self.assertIceChecking(pc2) self.assertTrue("m=video " in pc2.localDescription.sdp) self.assertTrue("a=sendrecv" in pc2.localDescription.sdp) self.assertHasIceCandidates(pc2.localDescription) self.assertHasDtls(pc2.localDescription, "active") # handle answer await pc1.setRemoteDescription(pc2.localDescription) self.assertEqual(pc1.remoteDescription, pc2.localDescription) # check outcome await self.assertIceCompleted(pc1, pc2) # close await pc1.close() await pc2.close() self.assertClosed(pc1) self.assertClosed(pc2) # check state changes self.assertEqual( pc1_states["connectionState"], ["new", "connecting", "connected", "closed"] ) self.assertEqual( pc1_states["iceConnectionState"], ["new", "checking", "completed", "closed"] ) self.assertEqual( pc1_states["iceGatheringState"], ["new", "gathering", "complete"] ) self.assertEqual( pc1_states["signalingState"], ["stable", "have-local-offer", "stable", "closed"], ) self.assertEqual( pc2_states["connectionState"], ["new", "connecting", "connected", "closed"] ) self.assertEqual( pc2_states["iceConnectionState"], ["new", "checking", "completed", "closed"] ) self.assertEqual( pc2_states["iceGatheringState"], ["new", "gathering", "complete"] ) self.assertEqual( pc2_states["signalingState"], ["stable", "have-remote-offer", "stable", "closed"], ) @asynctest async def test_connect_video_no_ssrc(self): pc1 = RTCPeerConnection() pc1_states = track_states(pc1) pc2 = RTCPeerConnection() pc2_states = track_states(pc2) self.assertEqual(pc1.iceConnectionState, "new") self.assertEqual(pc1.iceGatheringState, "new") self.assertIsNone(pc1.localDescription) self.assertIsNone(pc1.remoteDescription) self.assertEqual(pc2.iceConnectionState, "new") self.assertEqual(pc2.iceGatheringState, "new") self.assertIsNone(pc2.localDescription) self.assertIsNone(pc2.remoteDescription) # create offer pc1.addTrack(VideoStreamTrack()) offer = await pc1.createOffer() self.assertEqual(offer.type, "offer") self.assertTrue("m=video " in offer.sdp) self.assertFalse("a=candidate:" in offer.sdp) self.assertFalse("a=end-of-candidates" in offer.sdp) await pc1.setLocalDescription(offer) self.assertEqual(pc1.iceConnectionState, "new") self.assertEqual(pc1.iceGatheringState, "complete") self.assertEqual(mids(pc1), ["0"]) self.assertTrue("m=video " in pc1.localDescription.sdp) self.assertTrue("a=sendrecv" in pc1.localDescription.sdp) self.assertHasIceCandidates(pc1.localDescription) self.assertHasDtls(pc1.localDescription, "actpass") # strip out SSRC mangled = RTCSessionDescription( sdp=re.sub("^a=ssrc:.*\r\n", "", pc1.localDescription.sdp, flags=re.M), type=pc1.localDescription.type, ) # handle offer await pc2.setRemoteDescription(mangled) self.assertEqual(pc2.remoteDescription, mangled) self.assertEqual(len(pc2.getReceivers()), 1) self.assertEqual(len(pc2.getSenders()), 1) self.assertEqual(len(pc2.getTransceivers()), 1) self.assertEqual(mids(pc2), ["0"]) # create answer pc2.addTrack(VideoStreamTrack()) answer = await pc2.createAnswer() self.assertEqual(answer.type, "answer") self.assertTrue("m=video " in answer.sdp) self.assertFalse("a=candidate:" in answer.sdp) self.assertFalse("a=end-of-candidates" in answer.sdp) await pc2.setLocalDescription(answer) await self.assertIceChecking(pc2) self.assertTrue("m=video " in pc2.localDescription.sdp) self.assertTrue("a=sendrecv" in pc2.localDescription.sdp) self.assertHasIceCandidates(pc2.localDescription) self.assertHasDtls(pc2.localDescription, "active") # handle answer await pc1.setRemoteDescription(pc2.localDescription) self.assertEqual(pc1.remoteDescription, pc2.localDescription) # check outcome await self.assertIceCompleted(pc1, pc2) # close await pc1.close() await pc2.close() self.assertClosed(pc1) self.assertClosed(pc2) # check state changes self.assertEqual( pc1_states["connectionState"], ["new", "connecting", "connected", "closed"] ) self.assertEqual( pc1_states["iceConnectionState"], ["new", "checking", "completed", "closed"] ) self.assertEqual( pc1_states["iceGatheringState"], ["new", "gathering", "complete"] ) self.assertEqual( pc1_states["signalingState"], ["stable", "have-local-offer", "stable", "closed"], ) self.assertEqual( pc2_states["connectionState"], ["new", "connecting", "connected", "closed"] ) self.assertEqual( pc2_states["iceConnectionState"], ["new", "checking", "completed", "closed"] ) self.assertEqual( pc2_states["iceGatheringState"], ["new", "gathering", "complete"] ) self.assertEqual( pc2_states["signalingState"], ["stable", "have-remote-offer", "stable", "closed"], ) @asynctest async def test_connect_video_codec_preferences_offerer(self): VIDEO_SDP = H264_SDP + VP8_SDP pc1 = RTCPeerConnection() pc1_states = track_states(pc1) pc2 = RTCPeerConnection() pc2_states = track_states(pc2) self.assertEqual(pc1.iceConnectionState, "new") self.assertEqual(pc1.iceGatheringState, "new") self.assertIsNone(pc1.localDescription) self.assertIsNone(pc1.remoteDescription) self.assertEqual(pc2.iceConnectionState, "new") self.assertEqual(pc2.iceGatheringState, "new") self.assertIsNone(pc2.localDescription) self.assertIsNone(pc2.remoteDescription) # add track and set codec preferences to prefer H264 pc1.addTrack(VideoStreamTrack()) capabilities = RTCRtpSender.getCapabilities("video") preferences = list(filter(lambda x: x.name == "H264", capabilities.codecs)) preferences += list(filter(lambda x: x.name == "VP8", capabilities.codecs)) preferences += list(filter(lambda x: x.name == "rtx", capabilities.codecs)) transceiver = pc1.getTransceivers()[0] transceiver.setCodecPreferences(preferences) # create offer offer = await pc1.createOffer() self.assertEqual(offer.type, "offer") self.assertTrue("m=video " in offer.sdp) self.assertFalse("a=candidate:" in offer.sdp) self.assertFalse("a=end-of-candidates" in offer.sdp) await pc1.setLocalDescription(offer) self.assertEqual(pc1.iceConnectionState, "new") self.assertEqual(pc1.iceGatheringState, "complete") self.assertEqual(mids(pc1), ["0"]) self.assertTrue("m=video " in pc1.localDescription.sdp) self.assertTrue("a=sendrecv" in pc1.localDescription.sdp) self.assertHasIceCandidates(pc1.localDescription) self.assertHasDtls(pc1.localDescription, "actpass") self.assertTrue(VIDEO_SDP in pc1.localDescription.sdp) # handle offer await pc2.setRemoteDescription(pc1.localDescription) self.assertEqual(pc2.remoteDescription, pc1.localDescription) self.assertEqual(len(pc2.getReceivers()), 1) self.assertEqual(len(pc2.getSenders()), 1) self.assertEqual(len(pc2.getTransceivers()), 1) self.assertEqual(mids(pc2), ["0"]) # create answer pc2.addTrack(VideoStreamTrack()) answer = await pc2.createAnswer() self.assertEqual(answer.type, "answer") self.assertTrue("m=video " in answer.sdp) self.assertFalse("a=candidate:" in answer.sdp) self.assertFalse("a=end-of-candidates" in answer.sdp) await pc2.setLocalDescription(answer) await self.assertIceChecking(pc2) self.assertTrue("m=video " in pc2.localDescription.sdp) self.assertTrue("a=sendrecv" in pc2.localDescription.sdp) self.assertHasIceCandidates(pc2.localDescription) self.assertHasDtls(pc2.localDescription, "active") self.assertTrue(VIDEO_SDP in pc2.localDescription.sdp) # handle answer await pc1.setRemoteDescription(pc2.localDescription) self.assertEqual(pc1.remoteDescription, pc2.localDescription) # check outcome await self.assertIceCompleted(pc1, pc2) # close await pc1.close() await pc2.close() self.assertClosed(pc1) self.assertClosed(pc2) # check state changes self.assertEqual( pc1_states["connectionState"], ["new", "connecting", "connected", "closed"] ) self.assertEqual( pc1_states["iceConnectionState"], ["new", "checking", "completed", "closed"] ) self.assertEqual( pc1_states["iceGatheringState"], ["new", "gathering", "complete"] ) self.assertEqual( pc1_states["signalingState"], ["stable", "have-local-offer", "stable", "closed"], ) self.assertEqual( pc2_states["connectionState"], ["new", "connecting", "connected", "closed"] ) self.assertEqual( pc2_states["iceConnectionState"], ["new", "checking", "completed", "closed"] ) self.assertEqual( pc2_states["iceGatheringState"], ["new", "gathering", "complete"] ) self.assertEqual( pc2_states["signalingState"], ["stable", "have-remote-offer", "stable", "closed"], ) @asynctest async def test_connect_video_codec_preferences_offerer_only_h264(self): pc1 = RTCPeerConnection() pc1_states = track_states(pc1) pc2 = RTCPeerConnection() pc2_states = track_states(pc2) self.assertEqual(pc1.iceConnectionState, "new") self.assertEqual(pc1.iceGatheringState, "new") self.assertIsNone(pc1.localDescription) self.assertIsNone(pc1.remoteDescription) self.assertEqual(pc2.iceConnectionState, "new") self.assertEqual(pc2.iceGatheringState, "new") self.assertIsNone(pc2.localDescription) self.assertIsNone(pc2.remoteDescription) # add track and set codec preferences to only allow H264 pc1.addTrack(VideoStreamTrack()) capabilities = RTCRtpSender.getCapabilities("video") preferences = list(filter(lambda x: x.name == "H264", capabilities.codecs)) preferences += list(filter(lambda x: x.name == "rtx", capabilities.codecs)) transceiver = pc1.getTransceivers()[0] transceiver.setCodecPreferences(preferences) # create offer offer = await pc1.createOffer() self.assertEqual(offer.type, "offer") self.assertTrue("m=video " in offer.sdp) self.assertFalse("a=candidate:" in offer.sdp) self.assertFalse("a=end-of-candidates" in offer.sdp) await pc1.setLocalDescription(offer) self.assertEqual(pc1.iceConnectionState, "new") self.assertEqual(pc1.iceGatheringState, "complete") self.assertEqual(mids(pc1), ["0"]) self.assertTrue("m=video " in pc1.localDescription.sdp) self.assertTrue("a=sendrecv" in pc1.localDescription.sdp) self.assertHasIceCandidates(pc1.localDescription) self.assertHasDtls(pc1.localDescription, "actpass") self.assertFalse("VP8" in pc1.localDescription.sdp) # handle offer await pc2.setRemoteDescription(pc1.localDescription) self.assertEqual(pc2.remoteDescription, pc1.localDescription) self.assertEqual(len(pc2.getReceivers()), 1) self.assertEqual(len(pc2.getSenders()), 1) self.assertEqual(len(pc2.getTransceivers()), 1) self.assertEqual(mids(pc2), ["0"]) # create answer pc2.addTrack(VideoStreamTrack()) answer = await pc2.createAnswer() self.assertEqual(answer.type, "answer") self.assertTrue("m=video " in answer.sdp) self.assertFalse("a=candidate:" in answer.sdp) self.assertFalse("a=end-of-candidates" in answer.sdp) await pc2.setLocalDescription(answer) await self.assertIceChecking(pc2) self.assertTrue("m=video " in pc2.localDescription.sdp) self.assertTrue("a=sendrecv" in pc2.localDescription.sdp) self.assertHasIceCandidates(pc2.localDescription) self.assertHasDtls(pc2.localDescription, "active") self.assertFalse("VP8" in pc2.localDescription.sdp) # handle answer await pc1.setRemoteDescription(pc2.localDescription) self.assertEqual(pc1.remoteDescription, pc2.localDescription) # check outcome await self.assertIceCompleted(pc1, pc2) # close await pc1.close() await pc2.close() self.assertClosed(pc1) self.assertClosed(pc2) # check state changes self.assertEqual( pc1_states["connectionState"], ["new", "connecting", "connected", "closed"] ) self.assertEqual( pc1_states["iceConnectionState"], ["new", "checking", "completed", "closed"] ) self.assertEqual( pc1_states["iceGatheringState"], ["new", "gathering", "complete"] ) self.assertEqual( pc1_states["signalingState"], ["stable", "have-local-offer", "stable", "closed"], ) self.assertEqual( pc2_states["connectionState"], ["new", "connecting", "connected", "closed"] ) self.assertEqual( pc2_states["iceConnectionState"], ["new", "checking", "completed", "closed"] ) self.assertEqual( pc2_states["iceGatheringState"], ["new", "gathering", "complete"] ) self.assertEqual( pc2_states["signalingState"], ["stable", "have-remote-offer", "stable", "closed"], ) @asynctest async def test_connect_datachannel_and_close_immediately(self): pc1 = RTCPeerConnection() pc2 = RTCPeerConnection() # create two data channels dc1 = pc1.createDataChannel("chat1") self.assertEqual(dc1.readyState, "connecting") dc2 = pc1.createDataChannel("chat2") self.assertEqual(dc2.readyState, "connecting") # close one data channel dc1.close() self.assertEqual(dc1.readyState, "closed") self.assertEqual(dc2.readyState, "connecting") # perform SDP exchange await pc1.setLocalDescription(await pc1.createOffer()) await pc2.setRemoteDescription(pc1.localDescription) await pc2.setLocalDescription(await pc2.createAnswer()) await pc1.setRemoteDescription(pc2.localDescription) # check outcome await self.assertIceCompleted(pc1, pc2) self.assertEqual(dc1.readyState, "closed") await self.assertDataChannelOpen(dc2) # close await pc1.close() await pc2.close() self.assertClosed(pc1) self.assertClosed(pc2) @asynctest async def test_connect_datachannel_negotiated_and_close_immediately(self): pc1 = RTCPeerConnection() pc2 = RTCPeerConnection() # create two negotiated data channels dc1 = pc1.createDataChannel("chat1", negotiated=True, id=100) self.assertEqual(dc1.readyState, "connecting") dc2 = pc1.createDataChannel("chat2", negotiated=True, id=102) self.assertEqual(dc2.readyState, "connecting") # close one data channel dc1.close() self.assertEqual(dc1.readyState, "closed") self.assertEqual(dc2.readyState, "connecting") # perform SDP exchange await pc1.setLocalDescription(await pc1.createOffer()) await pc2.setRemoteDescription(pc1.localDescription) await pc2.setLocalDescription(await pc2.createAnswer()) await pc1.setRemoteDescription(pc2.localDescription) # check outcome await self.assertIceCompleted(pc1, pc2) self.assertEqual(dc1.readyState, "closed") await self.assertDataChannelOpen(dc2) # close await pc1.close() await pc2.close() self.assertClosed(pc1) self.assertClosed(pc2) @asynctest async def test_connect_datachannel_legacy_sdp(self): pc1 = RTCPeerConnection() pc1._sctpLegacySdp = True pc1_data_messages = [] pc1_states = track_states(pc1) pc2 = RTCPeerConnection() pc2_data_channels = [] pc2_data_messages = [] pc2_states = track_states(pc2) @pc2.on("datachannel") def on_datachannel(channel): self.assertEqual(channel.readyState, "open") pc2_data_channels.append(channel) @channel.on("message") def on_message(message): pc2_data_messages.append(message) if isinstance(message, str): channel.send("string-echo: " + message) else: channel.send(b"binary-echo: " + message) # create data channel dc = pc1.createDataChannel("chat", protocol="bob") self.assertEqual(dc.label, "chat") self.assertEqual(dc.maxPacketLifeTime, None) self.assertEqual(dc.maxRetransmits, None) self.assertEqual(dc.ordered, True) self.assertEqual(dc.protocol, "bob") self.assertEqual(dc.readyState, "connecting") # send messages @dc.on("open") def on_open(): dc.send("hello") dc.send("") dc.send(b"\x00\x01\x02\x03") dc.send(b"") dc.send(LONG_DATA) with self.assertRaises(ValueError) as cm: dc.send(1234) self.assertEqual( str(cm.exception), "Cannot send unsupported data type: " ) self.assertEqual(dc.bufferedAmount, 2011) @dc.on("message") def on_message(message): pc1_data_messages.append(message) # create offer offer = await pc1.createOffer() self.assertEqual(offer.type, "offer") self.assertTrue("m=application " in offer.sdp) self.assertFalse("a=candidate:" in offer.sdp) self.assertFalse("a=end-of-candidates" in offer.sdp) await pc1.setLocalDescription(offer) self.assertEqual(pc1.iceConnectionState, "new") self.assertEqual(pc1.iceGatheringState, "complete") self.assertEqual(mids(pc1), ["0"]) self.assertTrue("m=application " in pc1.localDescription.sdp) self.assertTrue( "a=sctpmap:5000 webrtc-datachannel 65535" in pc1.localDescription.sdp ) self.assertHasIceCandidates(pc1.localDescription) self.assertHasDtls(pc1.localDescription, "actpass") # handle offer await pc2.setRemoteDescription(pc1.localDescription) self.assertEqual(pc2.remoteDescription, pc1.localDescription) self.assertEqual(len(pc2.getReceivers()), 0) self.assertEqual(len(pc2.getSenders()), 0) self.assertEqual(len(pc2.getTransceivers()), 0) self.assertEqual(mids(pc2), ["0"]) # create answer answer = await pc2.createAnswer() self.assertEqual(answer.type, "answer") self.assertTrue("m=application " in answer.sdp) self.assertFalse("a=candidate:" in answer.sdp) self.assertFalse("a=end-of-candidates" in answer.sdp) await pc2.setLocalDescription(answer) await self.assertIceChecking(pc2) self.assertTrue("m=application " in pc2.localDescription.sdp) self.assertTrue( "a=sctpmap:5000 webrtc-datachannel 65535" in pc2.localDescription.sdp ) self.assertHasIceCandidates(pc2.localDescription) self.assertHasDtls(pc2.localDescription, "active") # handle answer await pc1.setRemoteDescription(pc2.localDescription) self.assertEqual(pc1.remoteDescription, pc2.localDescription) # check outcome await self.assertIceCompleted(pc1, pc2) await self.assertDataChannelOpen(dc) self.assertEqual(dc.bufferedAmount, 0) # check pc2 got a datachannel self.assertEqual(len(pc2_data_channels), 1) self.assertEqual(pc2_data_channels[0].label, "chat") self.assertEqual(pc2_data_channels[0].maxPacketLifeTime, None) self.assertEqual(pc2_data_channels[0].maxRetransmits, None) self.assertEqual(pc2_data_channels[0].ordered, True) self.assertEqual(pc2_data_channels[0].protocol, "bob") # check pc2 got messages await asyncio.sleep(0.1) self.assertEqual( pc2_data_messages, ["hello", "", b"\x00\x01\x02\x03", b"", LONG_DATA] ) # check pc1 got replies self.assertEqual( pc1_data_messages, [ "string-echo: hello", "string-echo: ", b"binary-echo: \x00\x01\x02\x03", b"binary-echo: ", b"binary-echo: " + LONG_DATA, ], ) # close data channel await self.closeDataChannel(dc) # close await pc1.close() await pc2.close() self.assertClosed(pc1) self.assertClosed(pc2) # check state changes self.assertEqual( pc1_states["connectionState"], ["new", "connecting", "connected", "closed"] ) self.assertEqual( pc1_states["iceConnectionState"], ["new", "checking", "completed", "closed"] ) self.assertEqual( pc1_states["iceGatheringState"], ["new", "gathering", "complete"] ) self.assertEqual( pc1_states["signalingState"], ["stable", "have-local-offer", "stable", "closed"], ) self.assertEqual( pc2_states["connectionState"], ["new", "connecting", "connected", "closed"] ) self.assertEqual( pc2_states["iceConnectionState"], ["new", "checking", "completed", "closed"] ) self.assertEqual( pc2_states["iceGatheringState"], ["new", "gathering", "complete"] ) self.assertEqual( pc2_states["signalingState"], ["stable", "have-remote-offer", "stable", "closed"], ) @asynctest async def test_connect_datachannel_modern_sdp(self): pc1 = RTCPeerConnection() pc1._sctpLegacySdp = False pc1_data_messages = [] pc1_states = track_states(pc1) pc2 = RTCPeerConnection() pc2_data_channels = [] pc2_data_messages = [] pc2_states = track_states(pc2) @pc2.on("datachannel") def on_datachannel(channel): self.assertEqual(channel.readyState, "open") pc2_data_channels.append(channel) @channel.on("message") def on_message(message): pc2_data_messages.append(message) if isinstance(message, str): channel.send("string-echo: " + message) else: channel.send(b"binary-echo: " + message) # create data channel dc = pc1.createDataChannel("chat", protocol="bob") self.assertEqual(dc.label, "chat") self.assertEqual(dc.maxPacketLifeTime, None) self.assertEqual(dc.maxRetransmits, None) self.assertEqual(dc.ordered, True) self.assertEqual(dc.protocol, "bob") self.assertEqual(dc.readyState, "connecting") # send messages @dc.on("open") def on_open(): dc.send("hello") dc.send("") dc.send(b"\x00\x01\x02\x03") dc.send(b"") dc.send(LONG_DATA) with self.assertRaises(ValueError) as cm: dc.send(1234) self.assertEqual( str(cm.exception), "Cannot send unsupported data type: " ) @dc.on("message") def on_message(message): pc1_data_messages.append(message) # create offer offer = await pc1.createOffer() self.assertEqual(offer.type, "offer") self.assertTrue("m=application " in offer.sdp) self.assertFalse("a=candidate:" in offer.sdp) self.assertFalse("a=end-of-candidates" in offer.sdp) await pc1.setLocalDescription(offer) self.assertEqual(pc1.iceConnectionState, "new") self.assertEqual(pc1.iceGatheringState, "complete") self.assertEqual(mids(pc1), ["0"]) self.assertTrue("m=application " in pc1.localDescription.sdp) self.assertTrue("a=sctp-port:5000" in pc1.localDescription.sdp) self.assertHasIceCandidates(pc1.localDescription) self.assertHasDtls(pc1.localDescription, "actpass") # handle offer await pc2.setRemoteDescription(pc1.localDescription) self.assertEqual(pc2.remoteDescription, pc1.localDescription) self.assertEqual(len(pc2.getReceivers()), 0) self.assertEqual(len(pc2.getSenders()), 0) self.assertEqual(len(pc2.getTransceivers()), 0) self.assertEqual(mids(pc2), ["0"]) # create answer answer = await pc2.createAnswer() self.assertEqual(answer.type, "answer") self.assertTrue("m=application " in answer.sdp) self.assertFalse("a=candidate:" in answer.sdp) self.assertFalse("a=end-of-candidates" in answer.sdp) await pc2.setLocalDescription(answer) await self.assertIceChecking(pc2) self.assertTrue("m=application " in pc2.localDescription.sdp) self.assertTrue("a=sctp-port:5000" in pc2.localDescription.sdp) self.assertHasIceCandidates(pc2.localDescription) self.assertHasDtls(pc2.localDescription, "active") # handle answer await pc1.setRemoteDescription(pc2.localDescription) self.assertEqual(pc1.remoteDescription, pc2.localDescription) # check outcome await self.assertIceCompleted(pc1, pc2) await self.assertDataChannelOpen(dc) # check pc2 got a datachannel self.assertEqual(len(pc2_data_channels), 1) self.assertEqual(pc2_data_channels[0].label, "chat") self.assertEqual(pc2_data_channels[0].maxPacketLifeTime, None) self.assertEqual(pc2_data_channels[0].maxRetransmits, None) self.assertEqual(pc2_data_channels[0].ordered, True) self.assertEqual(pc2_data_channels[0].protocol, "bob") # check pc2 got messages await asyncio.sleep(0.1) self.assertEqual( pc2_data_messages, ["hello", "", b"\x00\x01\x02\x03", b"", LONG_DATA] ) # check pc1 got replies self.assertEqual( pc1_data_messages, [ "string-echo: hello", "string-echo: ", b"binary-echo: \x00\x01\x02\x03", b"binary-echo: ", b"binary-echo: " + LONG_DATA, ], ) # close data channel await self.closeDataChannel(dc) # close await pc1.close() await pc2.close() self.assertClosed(pc1) self.assertClosed(pc2) # check state changes self.assertEqual( pc1_states["connectionState"], ["new", "connecting", "connected", "closed"] ) self.assertEqual( pc1_states["iceConnectionState"], ["new", "checking", "completed", "closed"] ) self.assertEqual( pc1_states["iceGatheringState"], ["new", "gathering", "complete"] ) self.assertEqual( pc1_states["signalingState"], ["stable", "have-local-offer", "stable", "closed"], ) self.assertEqual( pc2_states["connectionState"], ["new", "connecting", "connected", "closed"] ) self.assertEqual( pc2_states["iceConnectionState"], ["new", "checking", "completed", "closed"] ) self.assertEqual( pc2_states["iceGatheringState"], ["new", "gathering", "complete"] ) self.assertEqual( pc2_states["signalingState"], ["stable", "have-remote-offer", "stable", "closed"], ) @asynctest async def test_connect_datachannel_modern_sdp_negotiated(self): pc1 = RTCPeerConnection() pc1._sctpLegacySdp = False pc1_data_messages = [] pc1_states = track_states(pc1) pc2 = RTCPeerConnection() pc2_data_messages = [] pc2_states = track_states(pc2) # create data channels dc1 = pc1.createDataChannel("chat", protocol="bob", negotiated=True, id=100) self.assertEqual(dc1.id, 100) self.assertEqual(dc1.label, "chat") self.assertEqual(dc1.maxPacketLifeTime, None) self.assertEqual(dc1.maxRetransmits, None) self.assertEqual(dc1.ordered, True) self.assertEqual(dc1.protocol, "bob") self.assertEqual(dc1.readyState, "connecting") dc2 = pc2.createDataChannel("chat", protocol="bob", negotiated=True, id=100) self.assertEqual(dc2.id, 100) self.assertEqual(dc2.label, "chat") self.assertEqual(dc2.maxPacketLifeTime, None) self.assertEqual(dc2.maxRetransmits, None) self.assertEqual(dc2.ordered, True) self.assertEqual(dc2.protocol, "bob") self.assertEqual(dc2.readyState, "connecting") @dc1.on("message") def on_message1(message): pc1_data_messages.append(message) @dc2.on("message") def on_message2(message): pc2_data_messages.append(message) if isinstance(message, str): dc2.send("string-echo: " + message) else: dc2.send(b"binary-echo: " + message) # create offer offer = await pc1.createOffer() self.assertEqual(offer.type, "offer") self.assertTrue("m=application " in offer.sdp) self.assertFalse("a=candidate:" in offer.sdp) self.assertFalse("a=end-of-candidates" in offer.sdp) await pc1.setLocalDescription(offer) self.assertEqual(pc1.iceConnectionState, "new") self.assertEqual(pc1.iceGatheringState, "complete") self.assertEqual(mids(pc1), ["0"]) self.assertTrue("m=application " in pc1.localDescription.sdp) self.assertTrue("a=sctp-port:5000" in pc1.localDescription.sdp) self.assertHasIceCandidates(pc1.localDescription) self.assertHasDtls(pc1.localDescription, "actpass") # handle offer await pc2.setRemoteDescription(pc1.localDescription) self.assertEqual(pc2.remoteDescription, pc1.localDescription) self.assertEqual(len(pc2.getReceivers()), 0) self.assertEqual(len(pc2.getSenders()), 0) self.assertEqual(len(pc2.getTransceivers()), 0) self.assertEqual(mids(pc2), ["0"]) # create answer answer = await pc2.createAnswer() self.assertEqual(answer.type, "answer") self.assertTrue("m=application " in answer.sdp) self.assertFalse("a=candidate:" in answer.sdp) self.assertFalse("a=end-of-candidates" in answer.sdp) await pc2.setLocalDescription(answer) await self.assertIceChecking(pc2) self.assertTrue("m=application " in pc2.localDescription.sdp) self.assertTrue("a=sctp-port:5000" in pc2.localDescription.sdp) self.assertHasIceCandidates(pc2.localDescription) self.assertHasDtls(pc2.localDescription, "active") # handle answer await pc1.setRemoteDescription(pc2.localDescription) self.assertEqual(pc1.remoteDescription, pc2.localDescription) # check outcome await self.assertIceCompleted(pc1, pc2) await self.assertDataChannelOpen(dc1) await self.assertDataChannelOpen(dc2) # send message dc1.send("hello") dc1.send("") dc1.send(b"\x00\x01\x02\x03") dc1.send(b"") dc1.send(LONG_DATA) with self.assertRaises(ValueError) as cm: dc1.send(1234) self.assertEqual( str(cm.exception), "Cannot send unsupported data type: " ) # check pc2 got messages await asyncio.sleep(0.1) self.assertEqual( pc2_data_messages, ["hello", "", b"\x00\x01\x02\x03", b"", LONG_DATA] ) # check pc1 got replies self.assertEqual( pc1_data_messages, [ "string-echo: hello", "string-echo: ", b"binary-echo: \x00\x01\x02\x03", b"binary-echo: ", b"binary-echo: " + LONG_DATA, ], ) # close data channels await self.closeDataChannel(dc1) # close await pc1.close() await pc2.close() self.assertClosed(pc1) self.assertClosed(pc2) # check state changes self.assertEqual( pc1_states["connectionState"], ["new", "connecting", "connected", "closed"] ) self.assertEqual( pc1_states["iceConnectionState"], ["new", "checking", "completed", "closed"] ) self.assertEqual( pc1_states["iceGatheringState"], ["new", "gathering", "complete"] ) self.assertEqual( pc1_states["signalingState"], ["stable", "have-local-offer", "stable", "closed"], ) self.assertEqual( pc2_states["connectionState"], ["new", "connecting", "connected", "closed"] ) self.assertEqual( pc2_states["iceConnectionState"], ["new", "checking", "completed", "closed"] ) self.assertEqual( pc2_states["iceGatheringState"], ["new", "gathering", "complete"] ) self.assertEqual( pc2_states["signalingState"], ["stable", "have-remote-offer", "stable", "closed"], ) @asynctest async def test_connect_datachannel_recycle_stream_id(self): pc1 = RTCPeerConnection() pc2 = RTCPeerConnection() # create three data channels dc1 = pc1.createDataChannel("chat1") self.assertEqual(dc1.readyState, "connecting") dc2 = pc1.createDataChannel("chat2") self.assertEqual(dc2.readyState, "connecting") dc3 = pc1.createDataChannel("chat3") self.assertEqual(dc3.readyState, "connecting") # perform SDP exchange await pc1.setLocalDescription(await pc1.createOffer()) await pc2.setRemoteDescription(pc1.localDescription) await pc2.setLocalDescription(await pc2.createAnswer()) await pc1.setRemoteDescription(pc2.localDescription) # check outcome await self.assertIceCompleted(pc1, pc2) await self.assertDataChannelOpen(dc1) self.assertEqual(dc1.id, 1) await self.assertDataChannelOpen(dc2) self.assertEqual(dc2.id, 3) await self.assertDataChannelOpen(dc3) self.assertEqual(dc3.id, 5) # close one data channel await self.closeDataChannel(dc2) # create a new data channel dc4 = pc1.createDataChannel("chat4") await self.assertDataChannelOpen(dc4) self.assertEqual(dc4.id, 3) # close await pc1.close() await pc2.close() self.assertClosed(pc1) self.assertClosed(pc2) def test_create_datachannel_with_maxpacketlifetime_and_maxretransmits(self): pc = RTCPeerConnection() with self.assertRaises(ValueError) as cm: pc.createDataChannel("chat", maxPacketLifeTime=500, maxRetransmits=0) self.assertEqual( str(cm.exception), "Cannot specify both maxPacketLifeTime and maxRetransmits", ) @asynctest async def test_datachannel_bufferedamountlowthreshold(self): pc = RTCPeerConnection() dc = pc.createDataChannel("chat") self.assertEqual(dc.bufferedAmountLowThreshold, 0) dc.bufferedAmountLowThreshold = 4294967295 self.assertEqual(dc.bufferedAmountLowThreshold, 4294967295) dc.bufferedAmountLowThreshold = 16384 self.assertEqual(dc.bufferedAmountLowThreshold, 16384) dc.bufferedAmountLowThreshold = 0 self.assertEqual(dc.bufferedAmountLowThreshold, 0) with self.assertRaises(ValueError): dc.bufferedAmountLowThreshold = -1 self.assertEqual(dc.bufferedAmountLowThreshold, 0) with self.assertRaises(ValueError): dc.bufferedAmountLowThreshold = 4294967296 self.assertEqual(dc.bufferedAmountLowThreshold, 0) @asynctest async def test_datachannel_send_invalid_state(self): pc = RTCPeerConnection() dc = pc.createDataChannel("chat") with self.assertRaises(InvalidStateError): dc.send("hello") @asynctest async def test_connect_datachannel_then_audio(self): pc1 = RTCPeerConnection() pc1_data_messages = [] pc1_states = track_states(pc1) pc2 = RTCPeerConnection() pc2_data_channels = [] pc2_data_messages = [] pc2_states = track_states(pc2) @pc2.on("datachannel") def on_datachannel(channel): self.assertEqual(channel.readyState, "open") pc2_data_channels.append(channel) @channel.on("message") def on_message(message): pc2_data_messages.append(message) if isinstance(message, str): channel.send("string-echo: " + message) else: channel.send(b"binary-echo: " + message) # create data channel dc = pc1.createDataChannel("chat", protocol="bob") self.assertEqual(dc.label, "chat") self.assertEqual(dc.maxPacketLifeTime, None) self.assertEqual(dc.maxRetransmits, None) self.assertEqual(dc.ordered, True) self.assertEqual(dc.protocol, "bob") self.assertEqual(dc.readyState, "connecting") # send messages @dc.on("open") def on_open(): dc.send("hello") dc.send("") dc.send(b"\x00\x01\x02\x03") dc.send(b"") dc.send(LONG_DATA) with self.assertRaises(ValueError) as cm: dc.send(1234) self.assertEqual( str(cm.exception), "Cannot send unsupported data type: " ) @dc.on("message") def on_message(message): pc1_data_messages.append(message) # 1. DATA CHANNEL ONLY # create offer offer = await pc1.createOffer() self.assertEqual(offer.type, "offer") self.assertTrue("m=application " in offer.sdp) self.assertFalse("a=candidate:" in offer.sdp) self.assertFalse("a=end-of-candidates" in offer.sdp) await pc1.setLocalDescription(offer) self.assertEqual(pc1.iceConnectionState, "new") self.assertEqual(pc1.iceGatheringState, "complete") self.assertEqual(mids(pc1), ["0"]) self.assertTrue("m=application " in pc1.localDescription.sdp) self.assertHasIceCandidates(pc1.localDescription) self.assertHasDtls(pc1.localDescription, "actpass") # handle offer await pc2.setRemoteDescription(pc1.localDescription) self.assertEqual(pc2.remoteDescription, pc1.localDescription) self.assertEqual(len(pc2.getReceivers()), 0) self.assertEqual(len(pc2.getSenders()), 0) self.assertEqual(len(pc2.getTransceivers()), 0) self.assertEqual(mids(pc2), ["0"]) # create answer answer = await pc2.createAnswer() self.assertEqual(answer.type, "answer") self.assertTrue("m=application " in answer.sdp) self.assertFalse("a=candidate:" in answer.sdp) self.assertFalse("a=end-of-candidates" in answer.sdp) await pc2.setLocalDescription(answer) await self.assertIceChecking(pc2) self.assertTrue("m=application " in pc2.localDescription.sdp) self.assertHasIceCandidates(pc2.localDescription) self.assertHasDtls(pc2.localDescription, "active") # handle answer await pc1.setRemoteDescription(pc2.localDescription) self.assertEqual(pc1.remoteDescription, pc2.localDescription) # check outcome await self.assertIceCompleted(pc1, pc2) await self.assertDataChannelOpen(dc) # check pc2 got a datachannel self.assertEqual(len(pc2_data_channels), 1) self.assertEqual(pc2_data_channels[0].label, "chat") self.assertEqual(pc2_data_channels[0].maxPacketLifeTime, None) self.assertEqual(pc2_data_channels[0].maxRetransmits, None) self.assertEqual(pc2_data_channels[0].ordered, True) self.assertEqual(pc2_data_channels[0].protocol, "bob") # check pc2 got messages await asyncio.sleep(0.1) self.assertEqual( pc2_data_messages, ["hello", "", b"\x00\x01\x02\x03", b"", LONG_DATA] ) # check pc1 got replies self.assertEqual( pc1_data_messages, [ "string-echo: hello", "string-echo: ", b"binary-echo: \x00\x01\x02\x03", b"binary-echo: ", b"binary-echo: " + LONG_DATA, ], ) # 2. ADD AUDIO # create offer pc1.addTrack(AudioStreamTrack()) offer = await pc1.createOffer() self.assertEqual(offer.type, "offer") self.assertTrue("m=application " in offer.sdp) self.assertTrue("m=audio " in offer.sdp) await pc1.setLocalDescription(offer) self.assertEqual(pc1.iceConnectionState, "new") self.assertEqual(pc1.iceGatheringState, "complete") self.assertEqual(mids(pc1), ["0", "1"]) # handle offer await pc2.setRemoteDescription(pc1.localDescription) self.assertEqual(pc2.remoteDescription, pc1.localDescription) self.assertEqual(len(pc2.getReceivers()), 1) self.assertEqual(len(pc2.getSenders()), 1) self.assertEqual(len(pc2.getTransceivers()), 1) self.assertEqual(mids(pc2), ["0", "1"]) # create answer pc2.addTrack(AudioStreamTrack()) answer = await pc2.createAnswer() self.assertEqual(answer.type, "answer") self.assertTrue("m=application " in answer.sdp) self.assertTrue("m=audio " in answer.sdp) await pc2.setLocalDescription(answer) self.assertEqual(pc2.iceConnectionState, "completed") self.assertEqual(pc2.iceGatheringState, "complete") self.assertTrue("m=application " in pc2.localDescription.sdp) self.assertTrue("m=audio " in pc2.localDescription.sdp) # handle answer await pc1.setRemoteDescription(pc2.localDescription) self.assertEqual(pc1.remoteDescription, pc2.localDescription) self.assertEqual(pc1.iceConnectionState, "completed") # check outcome await self.assertIceCompleted(pc1, pc2) # check a single transport is used self.assertBundled(pc1) self.assertBundled(pc2) # 3. CLEANUP # close data channel await self.closeDataChannel(dc) # close await pc1.close() await pc2.close() self.assertClosed(pc1) self.assertClosed(pc2) # check state changes self.assertEqual( pc1_states["connectionState"], ["new", "connecting", "connected", "connecting", "connected", "closed"], ) self.assertEqual( pc1_states["iceConnectionState"], ["new", "checking", "completed", "new", "completed", "closed"], ) self.assertEqual( pc1_states["iceGatheringState"], ["new", "gathering", "complete", "new", "gathering", "complete"], ) self.assertEqual( pc1_states["signalingState"], [ "stable", "have-local-offer", "stable", "have-local-offer", "stable", "closed", ], ) self.assertEqual( pc2_states["connectionState"], ["new", "connecting", "connected", "connecting", "connected", "closed"], ) self.assertEqual( pc2_states["iceConnectionState"], ["new", "checking", "completed", "new", "completed", "closed"], ) self.assertEqual( pc2_states["iceGatheringState"], ["new", "gathering", "complete", "new", "complete"], ) self.assertEqual( pc2_states["signalingState"], [ "stable", "have-remote-offer", "stable", "have-remote-offer", "stable", "closed", ], ) @asynctest async def test_connect_datachannel_trickle(self): pc1 = RTCPeerConnection() pc1_data_messages = [] pc1_states = track_states(pc1) pc2 = RTCPeerConnection() pc2_data_channels = [] pc2_data_messages = [] pc2_states = track_states(pc2) @pc2.on("datachannel") def on_datachannel(channel): self.assertEqual(channel.readyState, "open") pc2_data_channels.append(channel) @channel.on("message") def on_message(message): pc2_data_messages.append(message) if isinstance(message, str): channel.send("string-echo: " + message) else: channel.send(b"binary-echo: " + message) # create data channel dc = pc1.createDataChannel("chat", protocol="bob") self.assertEqual(dc.label, "chat") self.assertEqual(dc.maxPacketLifeTime, None) self.assertEqual(dc.maxRetransmits, None) self.assertEqual(dc.ordered, True) self.assertEqual(dc.protocol, "bob") self.assertEqual(dc.readyState, "connecting") # send messages @dc.on("open") def on_open(): dc.send("hello") dc.send("") dc.send(b"\x00\x01\x02\x03") dc.send(b"") dc.send(LONG_DATA) with self.assertRaises(ValueError) as cm: dc.send(1234) self.assertEqual( str(cm.exception), "Cannot send unsupported data type: " ) @dc.on("message") def on_message(message): pc1_data_messages.append(message) # create offer offer = await pc1.createOffer() self.assertEqual(offer.type, "offer") self.assertTrue("m=application " in offer.sdp) self.assertFalse("a=candidate:" in offer.sdp) self.assertFalse("a=end-of-candidates" in offer.sdp) await pc1.setLocalDescription(offer) self.assertEqual(pc1.iceConnectionState, "new") self.assertEqual(pc1.iceGatheringState, "complete") self.assertEqual(mids(pc1), ["0"]) self.assertTrue("m=application " in pc1.localDescription.sdp) self.assertHasIceCandidates(pc1.localDescription) self.assertHasDtls(pc1.localDescription, "actpass") # strip out candidates desc1 = strip_ice_candidates(pc1.localDescription) # handle offer await pc2.setRemoteDescription(desc1) self.assertEqual(pc2.remoteDescription, desc1) self.assertEqual(len(pc2.getReceivers()), 0) self.assertEqual(len(pc2.getSenders()), 0) self.assertEqual(len(pc2.getTransceivers()), 0) self.assertEqual(mids(pc2), ["0"]) # create answer answer = await pc2.createAnswer() self.assertEqual(answer.type, "answer") self.assertTrue("m=application " in answer.sdp) self.assertFalse("a=candidate:" in answer.sdp) self.assertFalse("a=end-of-candidates" in answer.sdp) await pc2.setLocalDescription(answer) await self.assertIceChecking(pc2) self.assertTrue("m=application " in pc2.localDescription.sdp) self.assertHasIceCandidates(pc2.localDescription) self.assertHasDtls(pc2.localDescription, "active") # strip out candidates desc2 = strip_ice_candidates(pc2.localDescription) # handle answer await pc1.setRemoteDescription(desc2) self.assertEqual(pc1.remoteDescription, desc2) # trickle candidates for candidate in pc2.sctp.transport.transport.iceGatherer.getLocalCandidates(): candidate.sdpMid = pc2.sctp.mid await pc1.addIceCandidate(candidate) for candidate in pc1.sctp.transport.transport.iceGatherer.getLocalCandidates(): candidate.sdpMid = pc1.sctp.mid await pc2.addIceCandidate(candidate) # check outcome await self.assertIceCompleted(pc1, pc2) await self.assertDataChannelOpen(dc) # check pc2 got a datachannel self.assertEqual(len(pc2_data_channels), 1) self.assertEqual(pc2_data_channels[0].label, "chat") self.assertEqual(pc2_data_channels[0].maxPacketLifeTime, None) self.assertEqual(pc2_data_channels[0].maxRetransmits, None) self.assertEqual(pc2_data_channels[0].ordered, True) self.assertEqual(pc2_data_channels[0].protocol, "bob") # check pc2 got messages await asyncio.sleep(0.1) self.assertEqual( pc2_data_messages, ["hello", "", b"\x00\x01\x02\x03", b"", LONG_DATA] ) # check pc1 got replies self.assertEqual( pc1_data_messages, [ "string-echo: hello", "string-echo: ", b"binary-echo: \x00\x01\x02\x03", b"binary-echo: ", b"binary-echo: " + LONG_DATA, ], ) # close data channel await self.closeDataChannel(dc) # close await pc1.close() await pc2.close() self.assertClosed(pc1) self.assertClosed(pc2) # check state changes self.assertEqual( pc1_states["connectionState"], ["new", "connecting", "connected", "closed"] ) self.assertEqual( pc1_states["iceConnectionState"], ["new", "checking", "completed", "closed"] ) self.assertEqual( pc1_states["iceGatheringState"], ["new", "gathering", "complete"] ) self.assertEqual( pc1_states["signalingState"], ["stable", "have-local-offer", "stable", "closed"], ) self.assertEqual( pc2_states["connectionState"], ["new", "connecting", "connected", "closed"] ) self.assertEqual( pc2_states["iceConnectionState"], ["new", "checking", "completed", "closed"] ) self.assertEqual( pc2_states["iceGatheringState"], ["new", "gathering", "complete"] ) self.assertEqual( pc2_states["signalingState"], ["stable", "have-remote-offer", "stable", "closed"], ) @asynctest async def test_connect_datachannel_max_packet_lifetime(self): pc1 = RTCPeerConnection() pc1_data_messages = [] pc1_states = track_states(pc1) pc2 = RTCPeerConnection() pc2_data_channels = [] pc2_data_messages = [] pc2_states = track_states(pc2) @pc2.on("datachannel") def on_datachannel(channel): self.assertEqual(channel.readyState, "open") pc2_data_channels.append(channel) @channel.on("message") def on_message(message): pc2_data_messages.append(message) channel.send("string-echo: " + message) # create data channel dc = pc1.createDataChannel("chat", maxPacketLifeTime=500, protocol="bob") self.assertEqual(dc.label, "chat") self.assertEqual(dc.maxPacketLifeTime, 500) self.assertEqual(dc.maxRetransmits, None) self.assertEqual(dc.ordered, True) self.assertEqual(dc.protocol, "bob") self.assertEqual(dc.readyState, "connecting") # send message @dc.on("open") def on_open(): dc.send("hello") @dc.on("message") def on_message(message): pc1_data_messages.append(message) # create offer offer = await pc1.createOffer() await pc1.setLocalDescription(offer) await pc2.setRemoteDescription(pc1.localDescription) # create answer answer = await pc2.createAnswer() await pc2.setLocalDescription(answer) await pc1.setRemoteDescription(pc2.localDescription) # check outcome await self.assertIceCompleted(pc1, pc2) await self.assertDataChannelOpen(dc) # check pc2 got a datachannel self.assertEqual(len(pc2_data_channels), 1) self.assertEqual(pc2_data_channels[0].label, "chat") self.assertEqual(pc2_data_channels[0].maxPacketLifeTime, 500) self.assertEqual(pc2_data_channels[0].maxRetransmits, None) self.assertEqual(pc2_data_channels[0].ordered, True) self.assertEqual(pc2_data_channels[0].protocol, "bob") # check pc2 got message await asyncio.sleep(0.1) self.assertEqual(pc2_data_messages, ["hello"]) # check pc1 got replies self.assertEqual(pc1_data_messages, ["string-echo: hello"]) # close data channel await self.closeDataChannel(dc) # close await pc1.close() await pc2.close() self.assertClosed(pc1) self.assertClosed(pc2) # check state changes self.assertEqual( pc1_states["connectionState"], ["new", "connecting", "connected", "closed"] ) self.assertEqual( pc1_states["iceConnectionState"], ["new", "checking", "completed", "closed"] ) self.assertEqual( pc1_states["iceGatheringState"], ["new", "gathering", "complete"] ) self.assertEqual( pc1_states["signalingState"], ["stable", "have-local-offer", "stable", "closed"], ) self.assertEqual( pc2_states["connectionState"], ["new", "connecting", "connected", "closed"] ) self.assertEqual( pc2_states["iceConnectionState"], ["new", "checking", "completed", "closed"] ) self.assertEqual( pc2_states["iceGatheringState"], ["new", "gathering", "complete"] ) self.assertEqual( pc2_states["signalingState"], ["stable", "have-remote-offer", "stable", "closed"], ) @asynctest async def test_connect_datachannel_max_retransmits(self): pc1 = RTCPeerConnection() pc1_data_messages = [] pc1_states = track_states(pc1) pc2 = RTCPeerConnection() pc2_data_channels = [] pc2_data_messages = [] pc2_states = track_states(pc2) @pc2.on("datachannel") def on_datachannel(channel): self.assertEqual(channel.readyState, "open") pc2_data_channels.append(channel) @channel.on("message") def on_message(message): pc2_data_messages.append(message) channel.send("string-echo: " + message) # create data channel dc = pc1.createDataChannel("chat", maxRetransmits=0, protocol="bob") self.assertEqual(dc.label, "chat") self.assertEqual(dc.maxPacketLifeTime, None) self.assertEqual(dc.maxRetransmits, 0) self.assertEqual(dc.ordered, True) self.assertEqual(dc.protocol, "bob") self.assertEqual(dc.readyState, "connecting") # send message @dc.on("open") def on_open(): dc.send("hello") @dc.on("message") def on_message(message): pc1_data_messages.append(message) # create offer offer = await pc1.createOffer() await pc1.setLocalDescription(offer) await pc2.setRemoteDescription(pc1.localDescription) # create answer answer = await pc2.createAnswer() await pc2.setLocalDescription(answer) await pc1.setRemoteDescription(pc2.localDescription) # check outcome await self.assertIceCompleted(pc1, pc2) await self.assertDataChannelOpen(dc) # check pc2 got a datachannel self.assertEqual(len(pc2_data_channels), 1) self.assertEqual(pc2_data_channels[0].label, "chat") self.assertEqual(pc2_data_channels[0].maxPacketLifeTime, None) self.assertEqual(pc2_data_channels[0].maxRetransmits, 0) self.assertEqual(pc2_data_channels[0].ordered, True) self.assertEqual(pc2_data_channels[0].protocol, "bob") # check pc2 got message await asyncio.sleep(0.1) self.assertEqual(pc2_data_messages, ["hello"]) # check pc1 got replies self.assertEqual(pc1_data_messages, ["string-echo: hello"]) # close data channel await self.closeDataChannel(dc) # close await pc1.close() await pc2.close() self.assertClosed(pc1) self.assertClosed(pc2) # check state changes self.assertEqual( pc1_states["connectionState"], ["new", "connecting", "connected", "closed"] ) self.assertEqual( pc1_states["iceConnectionState"], ["new", "checking", "completed", "closed"] ) self.assertEqual( pc1_states["iceGatheringState"], ["new", "gathering", "complete"] ) self.assertEqual( pc1_states["signalingState"], ["stable", "have-local-offer", "stable", "closed"], ) self.assertEqual( pc2_states["connectionState"], ["new", "connecting", "connected", "closed"] ) self.assertEqual( pc2_states["iceConnectionState"], ["new", "checking", "completed", "closed"] ) self.assertEqual( pc2_states["iceGatheringState"], ["new", "gathering", "complete"] ) self.assertEqual( pc2_states["signalingState"], ["stable", "have-remote-offer", "stable", "closed"], ) @asynctest async def test_connect_datachannel_unordered(self): pc1 = RTCPeerConnection() pc1_data_messages = [] pc1_states = track_states(pc1) pc2 = RTCPeerConnection() pc2_data_channels = [] pc2_data_messages = [] pc2_states = track_states(pc2) @pc2.on("datachannel") def on_datachannel(channel): self.assertEqual(channel.readyState, "open") pc2_data_channels.append(channel) @channel.on("message") def on_message(message): pc2_data_messages.append(message) channel.send("string-echo: " + message) # create data channel dc = pc1.createDataChannel("chat", ordered=False, protocol="bob") self.assertEqual(dc.label, "chat") self.assertEqual(dc.maxPacketLifeTime, None) self.assertEqual(dc.maxRetransmits, None) self.assertEqual(dc.ordered, False) self.assertEqual(dc.protocol, "bob") self.assertEqual(dc.readyState, "connecting") # send message @dc.on("open") def on_open(): dc.send("hello") @dc.on("message") def on_message(message): pc1_data_messages.append(message) # create offer offer = await pc1.createOffer() self.assertEqual(offer.type, "offer") self.assertTrue("m=application " in offer.sdp) self.assertFalse("a=candidate:" in offer.sdp) self.assertFalse("a=end-of-candidates" in offer.sdp) await pc1.setLocalDescription(offer) self.assertEqual(pc1.iceConnectionState, "new") self.assertEqual(pc1.iceGatheringState, "complete") self.assertEqual(mids(pc1), ["0"]) self.assertTrue("m=application " in pc1.localDescription.sdp) self.assertHasIceCandidates(pc1.localDescription) self.assertHasDtls(pc1.localDescription, "actpass") # handle offer await pc2.setRemoteDescription(pc1.localDescription) self.assertEqual(pc2.remoteDescription, pc1.localDescription) self.assertEqual(len(pc2.getReceivers()), 0) self.assertEqual(len(pc2.getSenders()), 0) self.assertEqual(len(pc2.getTransceivers()), 0) self.assertEqual(mids(pc2), ["0"]) # create answer answer = await pc2.createAnswer() self.assertEqual(answer.type, "answer") self.assertTrue("m=application " in answer.sdp) self.assertFalse("a=candidate:" in answer.sdp) self.assertFalse("a=end-of-candidates" in answer.sdp) await pc2.setLocalDescription(answer) await self.assertIceChecking(pc2) self.assertTrue("m=application " in pc2.localDescription.sdp) self.assertHasIceCandidates(pc2.localDescription) self.assertHasDtls(pc2.localDescription, "active") # handle answer await pc1.setRemoteDescription(pc2.localDescription) self.assertEqual(pc1.remoteDescription, pc2.localDescription) # check outcome await self.assertIceCompleted(pc1, pc2) await self.assertDataChannelOpen(dc) # check pc2 got a datachannel self.assertEqual(len(pc2_data_channels), 1) self.assertEqual(pc2_data_channels[0].label, "chat") self.assertEqual(pc2_data_channels[0].maxPacketLifeTime, None) self.assertEqual(pc2_data_channels[0].maxRetransmits, None) self.assertEqual(pc2_data_channels[0].ordered, False) self.assertEqual(pc2_data_channels[0].protocol, "bob") # check pc2 got message await asyncio.sleep(0.1) self.assertEqual(pc2_data_messages, ["hello"]) # check pc1 got replies self.assertEqual(pc1_data_messages, ["string-echo: hello"]) # close data channel await self.closeDataChannel(dc) # close await pc1.close() await pc2.close() self.assertClosed(pc1) self.assertClosed(pc2) # check state changes self.assertEqual( pc1_states["connectionState"], ["new", "connecting", "connected", "closed"] ) self.assertEqual( pc1_states["iceConnectionState"], ["new", "checking", "completed", "closed"] ) self.assertEqual( pc1_states["iceGatheringState"], ["new", "gathering", "complete"] ) self.assertEqual( pc1_states["signalingState"], ["stable", "have-local-offer", "stable", "closed"], ) self.assertEqual( pc2_states["connectionState"], ["new", "connecting", "connected", "closed"] ) self.assertEqual( pc2_states["iceConnectionState"], ["new", "checking", "completed", "closed"] ) self.assertEqual( pc2_states["iceGatheringState"], ["new", "gathering", "complete"] ) self.assertEqual( pc2_states["signalingState"], ["stable", "have-remote-offer", "stable", "closed"], ) @asynctest async def test_createAnswer_closed(self): pc = RTCPeerConnection() await pc.close() with self.assertRaises(InvalidStateError) as cm: await pc.createAnswer() self.assertEqual(str(cm.exception), "RTCPeerConnection is closed") @asynctest async def test_createAnswer_without_offer(self): pc = RTCPeerConnection() with self.assertRaises(InvalidStateError) as cm: await pc.createAnswer() self.assertEqual( str(cm.exception), 'Cannot create answer in signaling state "stable"' ) @asynctest async def test_createOffer_closed(self): pc = RTCPeerConnection() await pc.close() with self.assertRaises(InvalidStateError) as cm: await pc.createOffer() self.assertEqual(str(cm.exception), "RTCPeerConnection is closed") @asynctest async def test_createOffer_without_media(self): pc = RTCPeerConnection() with self.assertRaises(InternalError) as cm: await pc.createOffer() self.assertEqual( str(cm.exception), "Cannot create an offer with no media and no data channels", ) # close await pc.close() @asynctest async def test_setLocalDescription_unexpected_answer(self): pc = RTCPeerConnection() pc.addTrack(AudioStreamTrack()) answer = await pc.createOffer() answer.type = "answer" with self.assertRaises(InvalidStateError) as cm: await pc.setLocalDescription(answer) self.assertEqual( str(cm.exception), 'Cannot handle answer in signaling state "stable"' ) # close await pc.close() @asynctest async def test_setLocalDescription_unexpected_offer(self): pc1 = RTCPeerConnection() pc2 = RTCPeerConnection() # apply offer pc1.addTrack(AudioStreamTrack()) await pc1.setLocalDescription(await pc1.createOffer()) await pc2.setRemoteDescription(pc1.localDescription) # mangle answer into an offer offer = pc2.remoteDescription offer.type = "offer" with self.assertRaises(InvalidStateError) as cm: await pc2.setLocalDescription(offer) self.assertEqual( str(cm.exception), 'Cannot handle offer in signaling state "have-remote-offer"', ) # close await pc1.close() await pc2.close() @asynctest async def test_setRemoteDescription_no_common_audio(self): pc1 = RTCPeerConnection() pc2 = RTCPeerConnection() pc1.addTrack(AudioStreamTrack()) offer = await pc1.createOffer() mangled_sdp = [] for line in offer.sdp.split("\n"): if line.startswith("a=rtpmap:"): continue mangled_sdp.append(line) mangled = RTCSessionDescription(sdp="\n".join(mangled_sdp), type=offer.type) with self.assertRaises(OperationError) as cm: await pc2.setRemoteDescription(mangled) self.assertEqual( str(cm.exception), "Failed to set remote audio description send parameters" ) # close await pc1.close() await pc2.close() @asynctest async def test_setRemoteDescription_no_common_video(self): pc1 = RTCPeerConnection() pc2 = RTCPeerConnection() pc1.addTrack(VideoStreamTrack()) offer = await pc1.createOffer() mangled = RTCSessionDescription( sdp=offer.sdp.replace("90000", "92000"), type=offer.type, ) with self.assertRaises(OperationError) as cm: await pc2.setRemoteDescription(mangled) self.assertEqual( str(cm.exception), "Failed to set remote video description send parameters" ) # close await pc1.close() await pc2.close() @asynctest async def test_setRemoteDescription_media_mismatch(self): pc1 = RTCPeerConnection() pc2 = RTCPeerConnection() # apply offer pc1.addTrack(AudioStreamTrack()) offer = await pc1.createOffer() await pc1.setLocalDescription(offer) await pc2.setRemoteDescription(pc1.localDescription) # apply answer answer = await pc2.createAnswer() await pc2.setLocalDescription(answer) mangled = RTCSessionDescription( sdp=pc2.localDescription.sdp.replace("m=audio", "m=video"), type=pc2.localDescription.type, ) with self.assertRaises(ValueError) as cm: await pc1.setRemoteDescription(mangled) self.assertEqual( str(cm.exception), "Media sections in answer do not match offer" ) # close await pc1.close() await pc2.close() @asynctest async def test_setRemoteDescription_with_invalid_dtls_setup_for_answer(self): pc1 = RTCPeerConnection() pc2 = RTCPeerConnection() # apply offer pc1.addTrack(AudioStreamTrack()) offer = await pc1.createOffer() await pc1.setLocalDescription(offer) await pc2.setRemoteDescription(pc1.localDescription) # apply answer answer = await pc2.createAnswer() await pc2.setLocalDescription(answer) mangled = RTCSessionDescription( sdp=pc2.localDescription.sdp.replace("a=setup:active", "a=setup:actpass"), type=pc2.localDescription.type, ) with self.assertRaises(ValueError) as cm: await pc1.setRemoteDescription(mangled) self.assertEqual( str(cm.exception), "DTLS setup attribute must be 'active' or 'passive' for an answer", ) # close await pc1.close() await pc2.close() @asynctest async def test_setRemoteDescription_without_ice_credentials(self): pc1 = RTCPeerConnection() pc2 = RTCPeerConnection() pc1.addTrack(AudioStreamTrack()) offer = await pc1.createOffer() await pc1.setLocalDescription(offer) mangled = RTCSessionDescription( sdp=re.sub( "^a=(ice-ufrag|ice-pwd):.*\r\n", "", pc1.localDescription.sdp, flags=re.M, ), type=pc1.localDescription.type, ) with self.assertRaises(ValueError) as cm: await pc2.setRemoteDescription(mangled) self.assertEqual( str(cm.exception), "ICE username fragment or password is missing" ) # close await pc1.close() await pc2.close() @asynctest async def test_setRemoteDescription_without_rtcp_mux(self): pc1 = RTCPeerConnection() pc2 = RTCPeerConnection() pc1.addTrack(AudioStreamTrack()) offer = await pc1.createOffer() await pc1.setLocalDescription(offer) mangled = RTCSessionDescription( sdp=re.sub("^a=rtcp-mux\r\n", "", pc1.localDescription.sdp, flags=re.M), type=pc1.localDescription.type, ) with self.assertRaises(ValueError) as cm: await pc2.setRemoteDescription(mangled) self.assertEqual(str(cm.exception), "RTCP mux is not enabled") # close await pc1.close() await pc2.close() @asynctest async def test_setRemoteDescription_unexpected_answer(self): pc = RTCPeerConnection() with self.assertRaises(InvalidStateError) as cm: await pc.setRemoteDescription(RTCSessionDescription(sdp="", type="answer")) self.assertEqual( str(cm.exception), 'Cannot handle answer in signaling state "stable"' ) # close await pc.close() @asynctest async def test_setRemoteDescription_unexpected_offer(self): pc = RTCPeerConnection() pc.addTrack(AudioStreamTrack()) offer = await pc.createOffer() await pc.setLocalDescription(offer) with self.assertRaises(InvalidStateError) as cm: await pc.setRemoteDescription(RTCSessionDescription(sdp="", type="offer")) self.assertEqual( str(cm.exception), 'Cannot handle offer in signaling state "have-local-offer"', ) # close await pc.close() @asynctest async def test_setRemoteDescription_media_datachannel_bundled(self): pc1 = RTCPeerConnection() pc2 = RTCPeerConnection() pc1_states = track_states(pc1) pc2_states = track_states(pc2) self.assertEqual(pc1.iceConnectionState, "new") self.assertEqual(pc1.iceGatheringState, "new") self.assertIsNone(pc1.localDescription) self.assertIsNone(pc1.remoteDescription) self.assertEqual(pc2.iceConnectionState, "new") self.assertEqual(pc2.iceGatheringState, "new") self.assertIsNone(pc2.localDescription) self.assertIsNone(pc2.remoteDescription) """ initial negotiation """ # create offer pc1.addTrack(AudioStreamTrack()) pc1.createDataChannel("chat", protocol="") offer = await pc1.createOffer() self.assertEqual(offer.type, "offer") await pc1.setLocalDescription(offer) self.assertEqual(pc1.iceConnectionState, "new") self.assertEqual(pc1.iceGatheringState, "complete") self.assertEqual(mids(pc1), ["0", "1"]) self.assertTrue("a=group:BUNDLE 0 1" in pc1.localDescription.sdp) self.assertTrue("m=audio " in pc1.localDescription.sdp) # handle offer await pc2.setRemoteDescription(pc1.localDescription) self.assertEqual(pc2.remoteDescription, pc1.localDescription) self.assertEqual(len(pc2.getReceivers()), 1) self.assertEqual(len(pc2.getSenders()), 1) self.assertEqual(len(pc2.getTransceivers()), 1) self.assertEqual(mids(pc2), ["0", "1"]) # create answer answer = await pc2.createAnswer() self.assertEqual(answer.type, "answer") self.assertTrue("a=group:BUNDLE 0 1" in answer.sdp) self.assertTrue("m=audio " in answer.sdp) self.assertTrue("m=application " in answer.sdp) await pc2.setLocalDescription(answer) await self.assertIceChecking(pc2) self.assertEqual(mids(pc2), ["0", "1"]) self.assertTrue("a=group:BUNDLE 0 1" in pc2.localDescription.sdp) self.assertTrue("m=audio " in pc2.localDescription.sdp) self.assertTrue("m=application " in pc2.localDescription.sdp) # handle answer await pc1.setRemoteDescription(pc2.localDescription) self.assertEqual(pc1.remoteDescription, pc2.localDescription) # check outcome await self.assertIceCompleted(pc1, pc2) """ renegotiation """ # create offer offer = await pc1.createOffer() self.assertEqual(offer.type, "offer") await pc1.setLocalDescription(offer) self.assertEqual(pc1.iceConnectionState, "completed") self.assertEqual(pc1.iceGatheringState, "complete") self.assertEqual(mids(pc1), ["0", "1"]) self.assertTrue("a=group:BUNDLE 0 1" in pc1.localDescription.sdp) self.assertTrue("m=audio " in pc1.localDescription.sdp) self.assertTrue("m=application " in pc1.localDescription.sdp) self.assertHasDtls(pc1.localDescription, "actpass") # handle offer await pc2.setRemoteDescription(pc1.localDescription) self.assertEqual(pc2.remoteDescription, pc1.localDescription) self.assertEqual(len(pc2.getReceivers()), 1) self.assertEqual(len(pc2.getSenders()), 1) self.assertEqual(len(pc2.getTransceivers()), 1) self.assertEqual(mids(pc2), ["0", "1"]) # create answer answer = await pc2.createAnswer() self.assertEqual(answer.type, "answer") self.assertTrue("a=group:BUNDLE 0 1" in answer.sdp) self.assertTrue("m=audio " in answer.sdp) self.assertTrue("m=application " in answer.sdp) await pc2.setLocalDescription(answer) self.assertEqual(pc2.iceConnectionState, "completed") self.assertEqual(pc2.iceGatheringState, "complete") self.assertEqual(mids(pc2), ["0", "1"]) self.assertTrue("a=group:BUNDLE 0 1" in pc2.localDescription.sdp) self.assertTrue("m=audio " in pc2.localDescription.sdp) self.assertTrue("m=application " in pc2.localDescription.sdp) self.assertHasDtls(pc2.localDescription, "active") # handle answer await pc1.setRemoteDescription(pc2.localDescription) self.assertEqual(pc1.remoteDescription, pc2.localDescription) self.assertEqual(pc1.iceConnectionState, "completed") # allow media to flow long enough to collect stats await asyncio.sleep(2) # close await pc1.close() await pc2.close() self.assertClosed(pc1) self.assertClosed(pc2) # check state changes self.assertEqual( pc1_states["connectionState"], ["new", "connecting", "connected", "closed"] ) self.assertEqual( pc1_states["iceConnectionState"], ["new", "checking", "completed", "closed"] ) self.assertEqual( pc1_states["iceGatheringState"], ["new", "gathering", "complete"] ) self.assertEqual( pc1_states["signalingState"], [ "stable", "have-local-offer", "stable", "have-local-offer", "stable", "closed", ], ) self.assertEqual( pc2_states["connectionState"], ["new", "connecting", "connected", "closed"] ) self.assertEqual( pc2_states["iceConnectionState"], ["new", "checking", "completed", "closed"] ) self.assertEqual( pc2_states["iceGatheringState"], ["new", "gathering", "complete"] ) self.assertEqual( pc2_states["signalingState"], [ "stable", "have-remote-offer", "stable", "have-remote-offer", "stable", "closed", ], ) @asynctest async def test_dtls_role_offer_actpass(self): pc1 = RTCPeerConnection() pc2 = RTCPeerConnection() pc1_states = track_states(pc1) pc2_states = track_states(pc2) self.assertEqual(pc1.iceConnectionState, "new") self.assertEqual(pc1.iceGatheringState, "new") self.assertIsNone(pc1.localDescription) self.assertIsNone(pc1.remoteDescription) self.assertEqual(pc2.iceConnectionState, "new") self.assertEqual(pc2.iceGatheringState, "new") self.assertIsNone(pc2.localDescription) self.assertIsNone(pc2.remoteDescription) # create offer pc1.createDataChannel("chat", protocol="") offer = await pc1.createOffer() self.assertEqual(offer.type, "offer") await pc1.setLocalDescription(offer) self.assertEqual(pc1.iceConnectionState, "new") self.assertEqual(pc1.iceGatheringState, "complete") # set remote description await pc2.setRemoteDescription(pc1.localDescription) # create answer answer = await pc2.createAnswer() self.assertHasDtls(answer, "active") await pc2.setLocalDescription(answer) await self.assertIceChecking(pc2) # handle answer await pc1.setRemoteDescription(pc2.localDescription) self.assertEqual(pc1.remoteDescription, pc2.localDescription) # check outcome await self.assertIceCompleted(pc1, pc2) self.assertEqual(pc1.sctp.transport._role, "server") self.assertEqual(pc2.sctp.transport._role, "client") # close await pc1.close() await pc2.close() self.assertClosed(pc1) self.assertClosed(pc2) # check state changes self.assertEqual( pc1_states["connectionState"], ["new", "connecting", "connected", "closed"] ) self.assertEqual( pc2_states["connectionState"], ["new", "connecting", "connected", "closed"] ) @asynctest async def test_dtls_role_offer_passive(self): pc1 = RTCPeerConnection() pc2 = RTCPeerConnection() pc1_states = track_states(pc1) pc2_states = track_states(pc2) self.assertEqual(pc1.iceConnectionState, "new") self.assertEqual(pc1.iceGatheringState, "new") self.assertIsNone(pc1.localDescription) self.assertIsNone(pc1.remoteDescription) self.assertEqual(pc2.iceConnectionState, "new") self.assertEqual(pc2.iceGatheringState, "new") self.assertIsNone(pc2.localDescription) self.assertIsNone(pc2.remoteDescription) # create offer pc1.createDataChannel("chat", protocol="") offer = await pc1.createOffer() self.assertEqual(offer.type, "offer") await pc1.setLocalDescription(offer) self.assertEqual(pc1.iceConnectionState, "new") self.assertEqual(pc1.iceGatheringState, "complete") # handle offer with replaced DTLS role await pc2.setRemoteDescription( RTCSessionDescription( type="offer", sdp=pc1.localDescription.sdp.replace("actpass", "passive") ) ) # create answer answer = await pc2.createAnswer() self.assertHasDtls(answer, "active") await pc2.setLocalDescription(answer) await self.assertIceChecking(pc2) # handle answer await pc1.setRemoteDescription(pc2.localDescription) self.assertEqual(pc1.remoteDescription, pc2.localDescription) # check outcome await self.assertIceCompleted(pc1, pc2) # pc1 is explicity passive so server. self.assertEqual(pc1.sctp.transport._role, "server") self.assertEqual(pc2.sctp.transport._role, "client") # close await pc1.close() await pc2.close() self.assertClosed(pc1) self.assertClosed(pc2) # check state changes self.assertEqual( pc1_states["connectionState"], ["new", "connecting", "connected", "closed"] ) self.assertEqual( pc2_states["connectionState"], ["new", "connecting", "connected", "closed"] ) @asynctest async def test_dtls_role_offer_active(self): pc1 = RTCPeerConnection() pc2 = RTCPeerConnection() pc1_states = track_states(pc1) pc2_states = track_states(pc2) self.assertEqual(pc1.iceConnectionState, "new") self.assertEqual(pc1.iceGatheringState, "new") self.assertIsNone(pc1.localDescription) self.assertIsNone(pc1.remoteDescription) self.assertEqual(pc2.iceConnectionState, "new") self.assertEqual(pc2.iceGatheringState, "new") self.assertIsNone(pc2.localDescription) self.assertIsNone(pc2.remoteDescription) # create offer pc1.createDataChannel("chat", protocol="") offer = await pc1.createOffer() self.assertEqual(offer.type, "offer") await pc1.setLocalDescription(offer) self.assertEqual(pc1.iceConnectionState, "new") self.assertEqual(pc1.iceGatheringState, "complete") # handle offer with replaced DTLS role await pc2.setRemoteDescription( RTCSessionDescription( type="offer", sdp=pc1.localDescription.sdp.replace("actpass", "active") ) ) # create answer answer = await pc2.createAnswer() self.assertHasDtls(answer, "passive") await pc2.setLocalDescription(answer) await self.assertIceChecking(pc2) # handle answer await pc1.setRemoteDescription(pc2.localDescription) self.assertEqual(pc1.remoteDescription, pc2.localDescription) # check outcome await self.assertIceCompleted(pc1, pc2) # pc1 is explicity active so client. self.assertEqual(pc1.sctp.transport._role, "client") self.assertEqual(pc2.sctp.transport._role, "server") # close await pc1.close() await pc2.close() self.assertClosed(pc1) self.assertClosed(pc2) # check state changes self.assertEqual( pc1_states["connectionState"], ["new", "connecting", "connected", "closed"] ) self.assertEqual( pc2_states["connectionState"], ["new", "connecting", "connected", "closed"] ) aiortc-1.11.0/tests/test_rtcrtpreceiver.py000066400000000000000000000463411477147103300207100ustar00rootroot00000000000000import asyncio import contextlib import fractions from unittest import TestCase from unittest.mock import patch from aiortc.codecs import PCMU_CODEC, get_encoder from aiortc.exceptions import InvalidStateError from aiortc.mediastreams import MediaStreamError from aiortc.rtcrtpparameters import ( RTCRtpCapabilities, RTCRtpCodecCapability, RTCRtpCodecParameters, RTCRtpEncodingParameters, RTCRtpHeaderExtensionCapability, RTCRtpReceiveParameters, RTCRtpRtxParameters, ) from aiortc.rtcrtpreceiver import ( NackGenerator, RemoteStreamTrack, RTCRtpReceiver, RTCRtpSynchronizationSource, StreamStatistics, TimestampMapper, ) from aiortc.rtp import RtcpPacket, RtpPacket from aiortc.stats import RTCStatsReport from aiortc.utils import uint16_add from .codecs import CodecTestCase from .utils import ClosedDtlsTransport, asynctest, dummy_dtls_transport_pair, load VP8_CODEC = RTCRtpCodecParameters( mimeType="video/VP8", clockRate=90000, payloadType=100 ) @contextlib.asynccontextmanager async def create_receiver(kind): async with dummy_dtls_transport_pair() as (local_transport, _): receiver = RTCRtpReceiver(kind, local_transport) assert receiver.transport == local_transport try: yield receiver finally: await receiver.stop() def create_rtp_packets(count, seq=0): packets = [] for i in range(count): packets.append( RtpPacket( payload_type=0, sequence_number=uint16_add(seq, i), ssrc=1234, timestamp=i * 160, ) ) return packets def create_rtp_video_packets(self, codec, frames, seq=0): encoder = get_encoder(codec) packets = [] for frame in self.create_video_frames(width=640, height=480, count=frames): payloads, timestamp = encoder.encode(frame) self.assertEqual(len(payloads), 1) packet = RtpPacket( payload_type=codec.payloadType, sequence_number=seq, ssrc=1234, timestamp=timestamp, ) packet.payload = payloads[0] packet.marker = 1 packets.append(packet) seq = uint16_add(seq, 1) return packets class NackGeneratorTest(TestCase): def test_no_loss(self): generator = NackGenerator() for packet in create_rtp_packets(20, 0): missed = generator.add(packet) self.assertEqual(missed, False) self.assertEqual(generator.missing, set()) def test_with_loss(self): generator = NackGenerator() # receive packets: 0, <1 missing>, 2 packets = create_rtp_packets(3, 0) missing = packets.pop(1) for packet in packets: missed = generator.add(packet) self.assertEqual(missed, packet.sequence_number == 2) self.assertEqual(generator.missing, set([1])) # late arrival missed = generator.add(missing) self.assertEqual(missed, False) self.assertEqual(generator.missing, set()) def test_with_loss_truncate(self): generator = NackGenerator() packets = create_rtp_packets(259, 0) generator.add(packets[0]) generator.add(packets[129]) self.assertEqual(generator.missing, set(range(1, 129))) generator.add(packets[258]) self.assertEqual(generator.missing, set(range(130, 258))) class StreamStatisticsTest(TestCase): def create_counter(self): return StreamStatistics(clockrate=8000) def test_no_loss(self): counter = self.create_counter() packets = create_rtp_packets(20, 0) # receive 10 packets for packet in packets[0:10]: counter.add(packet) self.assertEqual(counter.max_seq, 9) self.assertEqual(counter.packets_received, 10) self.assertEqual(counter.packets_lost, 0) self.assertEqual(counter.fraction_lost, 0) # receive 10 more packets for packet in packets[10:20]: counter.add(packet) self.assertEqual(counter.max_seq, 19) self.assertEqual(counter.packets_received, 20) self.assertEqual(counter.packets_lost, 0) self.assertEqual(counter.fraction_lost, 0) def test_no_loss_cycle(self): counter = self.create_counter() # receive 10 packets (with sequence cycle) for packet in create_rtp_packets(10, 65530): counter.add(packet) self.assertEqual(counter.max_seq, 3) self.assertEqual(counter.packets_received, 10) self.assertEqual(counter.packets_lost, 0) self.assertEqual(counter.fraction_lost, 0) def test_with_loss(self): counter = self.create_counter() packets = create_rtp_packets(20, 0) packets.pop(1) # receive 9 packets (one missing) for packet in packets[0:9]: counter.add(packet) self.assertEqual(counter.max_seq, 9) self.assertEqual(counter.packets_received, 9) self.assertEqual(counter.packets_lost, 1) self.assertEqual(counter.fraction_lost, 25) # receive 10 more packets for packet in packets[9:19]: counter.add(packet) self.assertEqual(counter.max_seq, 19) self.assertEqual(counter.packets_received, 19) self.assertEqual(counter.packets_lost, 1) self.assertEqual(counter.fraction_lost, 0) @patch("time.time") def test_no_jitter(self, mock_time): counter = self.create_counter() packets = create_rtp_packets(3, 0) mock_time.return_value = 1531562330.00 counter.add(packets[0]) self.assertEqual(counter._jitter_q4, 0) self.assertEqual(counter.jitter, 0) mock_time.return_value = 1531562330.02 counter.add(packets[1]) self.assertEqual(counter._jitter_q4, 0) self.assertEqual(counter.jitter, 0) mock_time.return_value = 1531562330.04 counter.add(packets[2]) self.assertEqual(counter._jitter_q4, 0) self.assertEqual(counter.jitter, 0) @patch("time.time") def test_with_jitter(self, mock_time): counter = self.create_counter() packets = create_rtp_packets(3, 0) mock_time.return_value = 1531562330.00 counter.add(packets[0]) self.assertEqual(counter._jitter_q4, 0) self.assertEqual(counter.jitter, 0) mock_time.return_value = 1531562330.03 counter.add(packets[1]) self.assertEqual(counter._jitter_q4, 80) self.assertEqual(counter.jitter, 5) mock_time.return_value = 1531562330.05 counter.add(packets[2]) self.assertEqual(counter._jitter_q4, 75) self.assertEqual(counter.jitter, 4) class RTCRtpReceiverTest(CodecTestCase): def test_capabilities(self): # audio capabilities = RTCRtpReceiver.getCapabilities("audio") self.assertIsInstance(capabilities, RTCRtpCapabilities) self.assertEqual( capabilities.codecs, [ RTCRtpCodecCapability( mimeType="audio/opus", clockRate=48000, channels=2 ), RTCRtpCodecCapability( mimeType="audio/PCMU", clockRate=8000, channels=1 ), RTCRtpCodecCapability( mimeType="audio/PCMA", clockRate=8000, channels=1 ), ], ) self.assertEqual( capabilities.headerExtensions, [ RTCRtpHeaderExtensionCapability( uri="urn:ietf:params:rtp-hdrext:sdes:mid" ), RTCRtpHeaderExtensionCapability( uri="urn:ietf:params:rtp-hdrext:ssrc-audio-level" ), ], ) # video capabilities = RTCRtpReceiver.getCapabilities("video") self.assertIsInstance(capabilities, RTCRtpCapabilities) self.assertEqual( capabilities.codecs, [ RTCRtpCodecCapability(mimeType="video/VP8", clockRate=90000), RTCRtpCodecCapability(mimeType="video/rtx", clockRate=90000), RTCRtpCodecCapability( mimeType="video/H264", clockRate=90000, parameters={ "level-asymmetry-allowed": "1", "packetization-mode": "1", "profile-level-id": "42001f", }, ), RTCRtpCodecCapability( mimeType="video/H264", clockRate=90000, parameters={ "level-asymmetry-allowed": "1", "packetization-mode": "1", "profile-level-id": "42e01f", }, ), ], ) self.assertEqual( capabilities.headerExtensions, [ RTCRtpHeaderExtensionCapability( uri="urn:ietf:params:rtp-hdrext:sdes:mid" ), RTCRtpHeaderExtensionCapability( uri="http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time" ), ], ) # bogus with self.assertRaises(ValueError): RTCRtpReceiver.getCapabilities("bogus") @asynctest async def test_connection_error(self): """ Close the underlying transport before the receiver. """ async with create_receiver("audio") as receiver: receiver._track = RemoteStreamTrack(kind="audio") receiver._set_rtcp_ssrc(1234) await receiver.receive(RTCRtpReceiveParameters(codecs=[PCMU_CODEC])) # receive a packet to prime RTCP packet = RtpPacket.parse(load("rtp.bin")) await receiver._handle_rtp_packet(packet, arrival_time_ms=0) # break connection await receiver.transport.stop() # give RTCP time to send a report await asyncio.sleep(2) @patch("aiortc.rtcrtpreceiver.logger.isEnabledFor") @asynctest async def test_log_debug(self, mock_is_enabled_for): mock_is_enabled_for.return_value = True async with create_receiver("audio"): pass @asynctest async def test_rtp_and_rtcp(self): async with create_receiver("audio") as receiver: receiver._track = RemoteStreamTrack(kind="audio") self.assertEqual(receiver.track.readyState, "live") await receiver.receive(RTCRtpReceiveParameters(codecs=[PCMU_CODEC])) # receive RTP for i in range(10): packet = RtpPacket.parse(load("rtp.bin")) packet.sequence_number += i packet.timestamp += i * 160 await receiver._handle_rtp_packet(packet, arrival_time_ms=i * 20) # receive RTCP SR for packet in RtcpPacket.parse(load("rtcp_sr.bin")): await receiver._handle_rtcp_packet(packet) # check stats report = await receiver.getStats() self.assertIsInstance(report, RTCStatsReport) self.assertEqual( sorted([s.type for s in report.values()]), ["inbound-rtp", "remote-outbound-rtp", "transport"], ) # check sources sources = receiver.getSynchronizationSources() self.assertEqual(len(sources), 1) self.assertIsInstance(sources[0], RTCRtpSynchronizationSource) self.assertEqual(sources[0].source, 4028317929) # check remote track frame = await receiver.track.recv() self.assertEqual(frame.pts, 0) self.assertEqual(frame.sample_rate, 8000) self.assertEqual(frame.time_base, fractions.Fraction(1, 8000)) frame = await receiver.track.recv() self.assertEqual(frame.pts, 160) self.assertEqual(frame.sample_rate, 8000) self.assertEqual(frame.time_base, fractions.Fraction(1, 8000)) # shutdown await receiver.stop() # read until end with self.assertRaises(MediaStreamError): while True: await receiver.track.recv() self.assertEqual(receiver.track.readyState, "ended") # try reading again with self.assertRaises(MediaStreamError): await receiver.track.recv() @asynctest async def test_rtp_missing_video_packet(self): nacks = [] pli = [] async def mock_send_rtcp_nack(*args): nacks.append(args) async def mock_send_rtcp_pli(*args): pli.append(args[0]) async with create_receiver("video") as receiver: receiver._send_rtcp_nack = mock_send_rtcp_nack receiver._send_rtcp_pli = mock_send_rtcp_pli receiver._track = RemoteStreamTrack(kind="video") await receiver.receive(RTCRtpReceiveParameters(codecs=[VP8_CODEC])) # generate some packets packets = create_rtp_video_packets(self, codec=VP8_CODEC, frames=129) # receive RTP with a with a gap await receiver._handle_rtp_packet(packets[0], arrival_time_ms=0) await receiver._handle_rtp_packet(packets[128], arrival_time_ms=0) # check NACK was triggered lost_packets = list(range(1, 128)) self.assertEqual(nacks[0], (1234, lost_packets)) # check PLI was triggered self.assertEqual(pli, [1234]) @asynctest async def test_rtp_empty_video_packet(self): async with create_receiver("video") as receiver: receiver._track = RemoteStreamTrack(kind="video") await receiver.receive(RTCRtpReceiveParameters(codecs=[VP8_CODEC])) # receive RTP with empty payload packet = RtpPacket(payload_type=100) await receiver._handle_rtp_packet(packet, arrival_time_ms=0) @asynctest async def test_rtp_invalid_payload(self): async with create_receiver("video") as receiver: receiver._track = RemoteStreamTrack(kind="video") await receiver.receive(RTCRtpReceiveParameters(codecs=[VP8_CODEC])) # receive RTP with unknown payload type packet = RtpPacket(payload_type=100, payload=b"\x80") await receiver._handle_rtp_packet(packet, arrival_time_ms=0) @asynctest async def test_rtp_unknown_payload_type(self): async with create_receiver("video") as receiver: receiver._track = RemoteStreamTrack(kind="video") await receiver.receive(RTCRtpReceiveParameters(codecs=[VP8_CODEC])) # receive RTP with unknown payload type packet = RtpPacket(payload_type=123) await receiver._handle_rtp_packet(packet, arrival_time_ms=0) @asynctest async def test_rtp_disabled(self): async with create_receiver("audio") as receiver: self.assertEqual(receiver._enabled, True) receiver._track = RemoteStreamTrack(kind="audio") await receiver.receive(RTCRtpReceiveParameters(codecs=[PCMU_CODEC])) receiver._enabled = False self.assertEqual(receiver._enabled, False) # receive RTP while disabled. packet = RtpPacket(payload_type=0) await receiver._handle_rtp_packet(packet, arrival_time_ms=0) # check stats report = await receiver.getStats() self.assertIsInstance(report, RTCStatsReport) self.assertEqual( sorted([s.type for s in report.values()]), ["transport"], ) @asynctest async def test_rtp_rtx(self): async with create_receiver("video") as receiver: receiver._track = RemoteStreamTrack(kind="video") await receiver.receive( RTCRtpReceiveParameters( codecs=[ VP8_CODEC, RTCRtpCodecParameters( mimeType="video/rtx", clockRate=90000, payloadType=101, parameters={"apt": 100}, ), ], encodings=[ RTCRtpEncodingParameters( ssrc=1234, payloadType=100, rtx=RTCRtpRtxParameters(ssrc=2345), ) ], ) ) # receive RTX with payload packet = RtpPacket(payload_type=101, ssrc=2345, payload=b"\x00\x00") await receiver._handle_rtp_packet(packet, arrival_time_ms=0) # receive RTX without payload packet = RtpPacket(payload_type=101, ssrc=2345) await receiver._handle_rtp_packet(packet, arrival_time_ms=0) @asynctest async def test_rtp_rtx_unknown_ssrc(self): async with create_receiver("video") as receiver: receiver._track = RemoteStreamTrack(kind="video") await receiver.receive( RTCRtpReceiveParameters( codecs=[ VP8_CODEC, RTCRtpCodecParameters( mimeType="video/rtx", clockRate=90000, payloadType=101, parameters={"apt": 100}, ), ] ) ) # receive RTX with unknown SSRC packet = RtpPacket(payload_type=101, ssrc=1234) await receiver._handle_rtp_packet(packet, arrival_time_ms=0) @asynctest async def test_send_rtcp_nack(self): async with create_receiver("video") as receiver: receiver._set_rtcp_ssrc(1234) receiver._track = RemoteStreamTrack(kind="video") await receiver.receive(RTCRtpReceiveParameters(codecs=[VP8_CODEC])) # send RTCP feedback NACK await receiver._send_rtcp_nack(5678, [7654]) @asynctest async def test_send_rtcp_pli(self): async with create_receiver("video") as receiver: receiver._set_rtcp_ssrc(1234) receiver._track = RemoteStreamTrack(kind="video") await receiver.receive(RTCRtpReceiveParameters(codecs=[VP8_CODEC])) # send RTCP feedback PLI await receiver._send_rtcp_pli(5678) def test_invalid_dtls_transport_state(self): dtlsTransport = ClosedDtlsTransport() with self.assertRaises(InvalidStateError): RTCRtpReceiver("audio", dtlsTransport) class TimestampMapperTest(TestCase): def test_simple(self): mapper = TimestampMapper() self.assertEqual(mapper.map(1000), 0) self.assertEqual(mapper.map(1001), 1) self.assertEqual(mapper.map(1003), 3) self.assertEqual(mapper.map(1004), 4) self.assertEqual(mapper.map(1010), 10) def test_wrap(self): mapper = TimestampMapper() self.assertEqual(mapper.map(4294967293), 0) self.assertEqual(mapper.map(4294967294), 1) self.assertEqual(mapper.map(4294967295), 2) self.assertEqual(mapper.map(0), 3) self.assertEqual(mapper.map(1), 4) aiortc-1.11.0/tests/test_rtcrtpsender.py000066400000000000000000000364021477147103300203610ustar00rootroot00000000000000import asyncio from struct import pack from unittest import TestCase from unittest.mock import patch from aiortc import MediaStreamTrack from aiortc.codecs import PCMU_CODEC from aiortc.exceptions import InvalidStateError from aiortc.mediastreams import AudioStreamTrack, VideoStreamTrack from aiortc.rtcrtpparameters import ( RTCRtpCapabilities, RTCRtpCodecCapability, RTCRtpCodecParameters, RTCRtpHeaderExtensionCapability, RTCRtpParameters, ) from aiortc.rtcrtpsender import RTCRtpSender from aiortc.rtp import ( RTCP_PSFB_APP, RTCP_PSFB_PLI, RTCP_RTPFB_NACK, RtcpPsfbPacket, RtcpReceiverInfo, RtcpRrPacket, RtcpRtpfbPacket, RtpPacket, is_rtcp, pack_remb_fci, ) from aiortc.stats import RTCStatsReport from tests.test_mediastreams import VideoPacketStreamTrack from .utils import ClosedDtlsTransport, asynctest, dummy_dtls_transport_pair VP8_CODEC = RTCRtpCodecParameters( mimeType="video/VP8", clockRate=90000, payloadType=100 ) H264_CODEC = RTCRtpCodecParameters( mimeType="video/H264", clockRate=90000, payloadType=98 ) class BuggyStreamTrack(MediaStreamTrack): kind = "audio" async def recv(self): raise Exception("I'm a buggy track!") class RTCRtpSenderTest(TestCase): def test_capabilities(self): # audio capabilities = RTCRtpSender.getCapabilities("audio") self.assertIsInstance(capabilities, RTCRtpCapabilities) self.assertEqual( capabilities.codecs, [ RTCRtpCodecCapability( mimeType="audio/opus", clockRate=48000, channels=2 ), RTCRtpCodecCapability( mimeType="audio/PCMU", clockRate=8000, channels=1 ), RTCRtpCodecCapability( mimeType="audio/PCMA", clockRate=8000, channels=1 ), ], ) self.assertEqual( capabilities.headerExtensions, [ RTCRtpHeaderExtensionCapability( uri="urn:ietf:params:rtp-hdrext:sdes:mid" ), RTCRtpHeaderExtensionCapability( uri="urn:ietf:params:rtp-hdrext:ssrc-audio-level" ), ], ) # video capabilities = RTCRtpSender.getCapabilities("video") self.assertIsInstance(capabilities, RTCRtpCapabilities) self.assertEqual( capabilities.codecs, [ RTCRtpCodecCapability(mimeType="video/VP8", clockRate=90000), RTCRtpCodecCapability(mimeType="video/rtx", clockRate=90000), RTCRtpCodecCapability( mimeType="video/H264", clockRate=90000, parameters={ "level-asymmetry-allowed": "1", "packetization-mode": "1", "profile-level-id": "42001f", }, ), RTCRtpCodecCapability( mimeType="video/H264", clockRate=90000, parameters={ "level-asymmetry-allowed": "1", "packetization-mode": "1", "profile-level-id": "42e01f", }, ), ], ) self.assertEqual( capabilities.headerExtensions, [ RTCRtpHeaderExtensionCapability( uri="urn:ietf:params:rtp-hdrext:sdes:mid" ), RTCRtpHeaderExtensionCapability( uri="http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time" ), ], ) # bogus with self.assertRaises(ValueError): RTCRtpSender.getCapabilities("bogus") @asynctest async def test_construct(self): async with dummy_dtls_transport_pair() as (local_transport, _): sender = RTCRtpSender("audio", local_transport) self.assertEqual(sender.kind, "audio") self.assertEqual(sender.transport, local_transport) def test_construct_invalid_dtls_transport_state(self): dtlsTransport = ClosedDtlsTransport() with self.assertRaises(InvalidStateError): RTCRtpSender("audio", dtlsTransport) @asynctest async def test_connection_error(self): """ Close the underlying transport before the sender. """ async with dummy_dtls_transport_pair() as (local_transport, _): sender = RTCRtpSender(AudioStreamTrack(), local_transport) self.assertEqual(sender.kind, "audio") await sender.send(RTCRtpParameters(codecs=[PCMU_CODEC])) await local_transport.stop() @asynctest async def test_handle_rtcp_nack(self): async with dummy_dtls_transport_pair() as (local_transport, _): sender = RTCRtpSender(VideoStreamTrack(), local_transport) self.assertEqual(sender.kind, "video") await sender.send(RTCRtpParameters(codecs=[VP8_CODEC])) # receive RTCP feedback NACK packet = RtcpRtpfbPacket( fmt=RTCP_RTPFB_NACK, ssrc=1234, media_ssrc=sender._ssrc ) packet.lost.append(7654) await sender._handle_rtcp_packet(packet) # clean shutdown await sender.stop() @asynctest async def test_handle_rtcp_pli(self): async with dummy_dtls_transport_pair() as (local_transport, _): sender = RTCRtpSender(VideoStreamTrack(), local_transport) self.assertEqual(sender.kind, "video") await sender.send(RTCRtpParameters(codecs=[VP8_CODEC])) # receive RTCP feedback NACK packet = RtcpPsfbPacket( fmt=RTCP_PSFB_PLI, ssrc=1234, media_ssrc=sender._ssrc ) await sender._handle_rtcp_packet(packet) # clean shutdown await sender.stop() @asynctest async def test_handle_rtcp_remb(self): async with dummy_dtls_transport_pair() as (local_transport, _): sender = RTCRtpSender(VideoStreamTrack(), local_transport) self.assertEqual(sender.kind, "video") await sender.send(RTCRtpParameters(codecs=[VP8_CODEC])) # receive RTCP feedback REMB packet = RtcpPsfbPacket( fmt=RTCP_PSFB_APP, ssrc=1234, media_ssrc=0, fci=pack_remb_fci(4160000, [sender._ssrc]), ) await sender._handle_rtcp_packet(packet) # receive RTCP feedback REMB (malformed) packet = RtcpPsfbPacket( fmt=RTCP_PSFB_APP, ssrc=1234, media_ssrc=0, fci=b"JUNK" ) await sender._handle_rtcp_packet(packet) # clean shutdown await sender.stop() @asynctest async def test_handle_rtcp_rr(self): async with dummy_dtls_transport_pair() as (local_transport, _): sender = RTCRtpSender(VideoStreamTrack(), local_transport) self.assertEqual(sender.kind, "video") await sender.send(RTCRtpParameters(codecs=[VP8_CODEC])) # receive RTCP RR packet = RtcpRrPacket( ssrc=1234, reports=[ RtcpReceiverInfo( ssrc=sender._ssrc, fraction_lost=0, packets_lost=0, highest_sequence=630, jitter=1906, lsr=0, dlsr=0, ) ], ) await sender._handle_rtcp_packet(packet) # check stats report = await sender.getStats() self.assertIsInstance(report, RTCStatsReport) self.assertEqual( sorted([s.type for s in report.values()]), ["outbound-rtp", "remote-inbound-rtp", "transport"], ) # clean shutdown await sender.stop() @patch("aiortc.rtcrtpsender.logger.isEnabledFor") @asynctest async def test_log_debug(self, mock_is_enabled_for): mock_is_enabled_for.return_value = True async with dummy_dtls_transport_pair() as (local_transport, _): sender = RTCRtpSender(VideoStreamTrack(), local_transport) await sender.send(RTCRtpParameters(codecs=[VP8_CODEC])) # clean shutdown await sender.stop() @asynctest async def test_send_keyframe(self): """ Ask for a keyframe. """ queue = asyncio.Queue() async def mock_send_rtp(data): if not is_rtcp(data): await queue.put(RtpPacket.parse(data)) async with dummy_dtls_transport_pair() as (local_transport, _): local_transport._send_rtp = mock_send_rtp sender = RTCRtpSender(VideoStreamTrack(), local_transport) self.assertEqual(sender.kind, "video") await sender.send(RTCRtpParameters(codecs=[VP8_CODEC])) # wait for one packet to be transmitted, and ask for keyframe await queue.get() sender._send_keyframe() # wait for packet to be transmitted, then shutdown await asyncio.sleep(0.1) await sender.stop() @asynctest async def test_handle_encoded_packet(self): async with dummy_dtls_transport_pair() as (local_transport, _): sender = RTCRtpSender(VideoPacketStreamTrack(), local_transport) self.assertEqual(sender.kind, "video") await sender.send(RTCRtpParameters(codecs=[H264_CODEC])) # wait for cleanup await asyncio.sleep(0.1) await sender.stop() @asynctest async def test_retransmit(self): """ Ask for an RTP packet retransmission. """ queue = asyncio.Queue() async def mock_send_rtp(data): if not is_rtcp(data): await queue.put(RtpPacket.parse(data)) async with dummy_dtls_transport_pair() as (local_transport, _): local_transport._send_rtp = mock_send_rtp sender = RTCRtpSender(VideoStreamTrack(), local_transport) sender._ssrc = 1234 self.assertEqual(sender.kind, "video") await sender.send(RTCRtpParameters(codecs=[VP8_CODEC])) # wait for one packet to be transmitted, and ask to retransmit packet = await queue.get() await sender._retransmit(packet.sequence_number) # wait for packet to be retransmitted, then shutdown await asyncio.sleep(0.1) await sender.stop() # check packet was retransmitted found_rtx = None while not queue.empty(): queue_packet = queue.get_nowait() if queue_packet.sequence_number == packet.sequence_number: found_rtx = queue_packet break self.assertIsNotNone(found_rtx) self.assertEqual(found_rtx.payload_type, 100) self.assertEqual(found_rtx.ssrc, 1234) @asynctest async def test_retransmit_with_rtx(self): """ Ask for an RTP packet retransmission. """ queue = asyncio.Queue() async def mock_send_rtp(data): if not is_rtcp(data): await queue.put(RtpPacket.parse(data)) async with dummy_dtls_transport_pair() as (local_transport, _): local_transport._send_rtp = mock_send_rtp sender = RTCRtpSender(VideoStreamTrack(), local_transport) sender._ssrc = 1234 sender._rtx_ssrc = 2345 self.assertEqual(sender.kind, "video") await sender.send( RTCRtpParameters( codecs=[ VP8_CODEC, RTCRtpCodecParameters( mimeType="video/rtx", clockRate=90000, payloadType=101, parameters={"apt": 100}, ), ] ) ) # wait for one packet to be transmitted, and ask to retransmit packet = await queue.get() await sender._retransmit(packet.sequence_number) # wait for packet to be retransmitted, then shutdown await asyncio.sleep(0.1) await sender.stop() # check packet was retransmitted found_rtx = None while not queue.empty(): queue_packet = queue.get_nowait() if queue_packet.payload_type == 101: found_rtx = queue_packet break self.assertIsNotNone(found_rtx) self.assertEqual(found_rtx.payload_type, 101) self.assertEqual(found_rtx.ssrc, 2345) self.assertEqual(found_rtx.payload[0:2], pack("!H", packet.sequence_number)) @asynctest async def test_disabled(self): async with dummy_dtls_transport_pair() as (local_transport, _): sender = RTCRtpSender(AudioStreamTrack(), local_transport) self.assertEqual(sender.kind, "audio") self.assertEqual(sender._enabled, True) await sender.send(RTCRtpParameters(codecs=[PCMU_CODEC])) sender._enabled = False self.assertEqual(sender._enabled, False) # check stats report = await sender.getStats() self.assertIsInstance(report, RTCStatsReport) self.assertEqual( sorted([s.type for s in report.values()]), ["outbound-rtp", "transport"], ) outbound_rtp = report["outbound-rtp_" + str(id(sender))] self.assertEqual(outbound_rtp.packetsSent, 0) # clean shutdown await sender.stop() @asynctest async def test_stop(self): async with dummy_dtls_transport_pair() as (local_transport, _): sender = RTCRtpSender(AudioStreamTrack(), local_transport) self.assertEqual(sender.kind, "audio") await sender.send(RTCRtpParameters(codecs=[PCMU_CODEC])) # clean shutdown await sender.stop() @asynctest async def test_stop_before_send(self): async with dummy_dtls_transport_pair() as (local_transport, _): sender = RTCRtpSender(AudioStreamTrack(), local_transport) await sender.stop() @asynctest async def test_stop_on_exception(self): async with dummy_dtls_transport_pair() as (local_transport, _): sender = RTCRtpSender(BuggyStreamTrack(), local_transport) self.assertEqual(sender.kind, "audio") await sender.send(RTCRtpParameters(codecs=[PCMU_CODEC])) # clean shutdown await sender.stop() @asynctest async def test_track_ended(self): async with dummy_dtls_transport_pair() as (local_transport, _): track = AudioStreamTrack() sender = RTCRtpSender(track, local_transport) await sender.send(RTCRtpParameters(codecs=[PCMU_CODEC])) # stop track and wait for RTP loop to exit track.stop() await asyncio.sleep(0.1) aiortc-1.11.0/tests/test_rtcrtptransceiver.py000066400000000000000000000033341477147103300214240ustar00rootroot00000000000000from unittest import TestCase from aiortc.rtcrtpparameters import RTCRtpCodecCapability from aiortc.rtcrtptransceiver import RTCRtpTransceiver class RTCRtpTransceiverTest(TestCase): def test_codec_preferences(self): transceiver = RTCRtpTransceiver("audio", None, None) self.assertEqual(transceiver._preferred_codecs, []) # set empty preferences transceiver.setCodecPreferences([]) self.assertEqual(transceiver._preferred_codecs, []) # set single codec transceiver.setCodecPreferences( [RTCRtpCodecCapability(mimeType="audio/PCMU", clockRate=8000, channels=1)] ) self.assertEqual( transceiver._preferred_codecs, [RTCRtpCodecCapability(mimeType="audio/PCMU", clockRate=8000, channels=1)], ) # set single codec (duplicated) transceiver.setCodecPreferences( [ RTCRtpCodecCapability( mimeType="audio/PCMU", clockRate=8000, channels=1 ), RTCRtpCodecCapability( mimeType="audio/PCMU", clockRate=8000, channels=1 ), ] ) self.assertEqual( transceiver._preferred_codecs, [RTCRtpCodecCapability(mimeType="audio/PCMU", clockRate=8000, channels=1)], ) # set single codec (invalid) with self.assertRaises(ValueError) as cm: transceiver.setCodecPreferences( [ RTCRtpCodecCapability( mimeType="audio/bogus", clockRate=8000, channels=1 ) ] ) self.assertEqual(str(cm.exception), "Codec is not in capabilities") aiortc-1.11.0/tests/test_rtcsctptransport.py000066400000000000000000002647511477147103300213130ustar00rootroot00000000000000import asyncio import contextlib from unittest import TestCase from unittest.mock import patch from aiortc.exceptions import InvalidStateError from aiortc.rtcdatachannel import RTCDataChannel, RTCDataChannelParameters from aiortc.rtcsctptransport import ( SCTP_DATA_FIRST_FRAG, SCTP_DATA_LAST_FRAG, SCTP_DATA_UNORDERED, USERDATA_MAX_LENGTH, AbortChunk, CookieEchoChunk, DataChunk, ErrorChunk, ForwardTsnChunk, HeartbeatAckChunk, HeartbeatChunk, InboundStream, InitChunk, ReconfigChunk, RTCSctpCapabilities, RTCSctpTransport, SackChunk, ShutdownAckChunk, ShutdownChunk, ShutdownCompleteChunk, StreamAddOutgoingParam, StreamResetOutgoingParam, StreamResetResponseParam, parse_packet, serialize_packet, tsn_minus_one, tsn_plus_one, ) from .utils import ClosedDtlsTransport, asynctest, dummy_dtls_transport_pair, load @contextlib.asynccontextmanager async def client_and_server(): async with dummy_dtls_transport_pair() as (client_transport, server_transport): client = RTCSctpTransport(client_transport) server = RTCSctpTransport(server_transport) assert client.is_server is False assert server.is_server is True try: yield client, server finally: await client.stop() await server.stop() assert client._association_state == RTCSctpTransport.State.CLOSED assert client.state == "closed" assert server._association_state == RTCSctpTransport.State.CLOSED assert server.state == "closed" @contextlib.asynccontextmanager async def client_standalone(): async with dummy_dtls_transport_pair() as (client_transport, _): client = RTCSctpTransport(client_transport) assert client.is_server is False try: yield client finally: await client.stop() def outstanding_tsns(client): return [chunk.tsn for chunk in client._sent_queue] def queued_tsns(client): return [chunk.tsn for chunk in client._outbound_queue] def track_channels(transport): channels = [] @transport.on("datachannel") def on_datachannel(channel): channels.append(channel) return channels async def wait_for_outcome(client, server): final = [RTCSctpTransport.State.ESTABLISHED, RTCSctpTransport.State.CLOSED] for i in range(100): if client._association_state in final and server._association_state in final: break await asyncio.sleep(0.1) class SctpPacketTest(TestCase): def roundtrip_packet(self, data): source_port, destination_port, verification_tag, chunks = parse_packet(data) self.assertEqual(source_port, 5000) self.assertEqual(destination_port, 5000) self.assertEqual(len(chunks), 1) output = serialize_packet( source_port, destination_port, verification_tag, chunks[0] ) self.assertEqual(output, data) return chunks[0] def test_parse_init(self): data = load("sctp_init.bin") chunk = self.roundtrip_packet(data) self.assertIsInstance(chunk, InitChunk) self.assertEqual(chunk.type, 1) self.assertEqual(chunk.flags, 0) self.assertEqual(len(chunk.body), 82) self.assertEqual(repr(chunk), "InitChunk(flags=0)") def test_parse_init_invalid_checksum(self): data = load("sctp_init.bin") data = data[0:8] + b"\x01\x02\x03\x04" + data[12:] with self.assertRaises(ValueError) as cm: self.roundtrip_packet(data) self.assertEqual(str(cm.exception), "SCTP packet has invalid checksum") def test_parse_init_truncated_packet_header(self): data = load("sctp_init.bin")[0:10] with self.assertRaises(ValueError) as cm: self.roundtrip_packet(data) self.assertEqual(str(cm.exception), "SCTP packet length is less than 12 bytes") def test_parse_cookie_echo(self): data = load("sctp_cookie_echo.bin") chunk = self.roundtrip_packet(data) self.assertIsInstance(chunk, CookieEchoChunk) self.assertEqual(chunk.type, 10) self.assertEqual(chunk.flags, 0) self.assertEqual(len(chunk.body), 8) def test_parse_abort(self): data = load("sctp_abort.bin") chunk = self.roundtrip_packet(data) self.assertIsInstance(chunk, AbortChunk) self.assertEqual(chunk.type, 6) self.assertEqual(chunk.flags, 0) self.assertEqual( chunk.params, [(13, b"Expected B-bit for TSN=4ce1f17f, SID=0001, SSN=0000")] ) def test_parse_data(self): data = load("sctp_data.bin") chunk = self.roundtrip_packet(data) self.assertIsInstance(chunk, DataChunk) self.assertEqual(chunk.type, 0) self.assertEqual(chunk.flags, 3) self.assertEqual(chunk.tsn, 2584679421) self.assertEqual(chunk.stream_id, 1) self.assertEqual(chunk.stream_seq, 1) self.assertEqual(chunk.protocol, 51) self.assertEqual(chunk.user_data, b"ping") self.assertEqual( repr(chunk), "DataChunk(flags=3, tsn=2584679421, stream_id=1, stream_seq=1)" ) def test_parse_data_padding(self): data = load("sctp_data_padding.bin") chunk = self.roundtrip_packet(data) self.assertIsInstance(chunk, DataChunk) self.assertEqual(chunk.type, 0) self.assertEqual(chunk.flags, 3) self.assertEqual(chunk.tsn, 2584679421) self.assertEqual(chunk.stream_id, 1) self.assertEqual(chunk.stream_seq, 1) self.assertEqual(chunk.protocol, 51) self.assertEqual(chunk.user_data, b"M") self.assertEqual( repr(chunk), "DataChunk(flags=3, tsn=2584679421, stream_id=1, stream_seq=1)" ) def test_parse_error(self): data = load("sctp_error.bin") chunk = self.roundtrip_packet(data) self.assertIsInstance(chunk, ErrorChunk) self.assertEqual(chunk.type, 9) self.assertEqual(chunk.flags, 0) self.assertEqual(chunk.params, [(1, b"\x30\x39\x00\x00")]) def test_parse_forward_tsn(self): data = load("sctp_forward_tsn.bin") chunk = self.roundtrip_packet(data) self.assertIsInstance(chunk, ForwardTsnChunk) self.assertEqual(chunk.type, 192) self.assertEqual(chunk.flags, 0) self.assertEqual(chunk.cumulative_tsn, 1234) self.assertEqual(chunk.streams, [(12, 34)]) self.assertEqual( repr(chunk), "ForwardTsnChunk(cumulative_tsn=1234, streams=[(12, 34)])" ) def test_parse_heartbeat(self): data = load("sctp_heartbeat.bin") chunk = self.roundtrip_packet(data) self.assertIsInstance(chunk, HeartbeatChunk) self.assertEqual(chunk.type, 4) self.assertEqual(chunk.flags, 0) self.assertEqual( chunk.params, [ ( 1, b"\xb5o\xaaZvZ\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00{\x10\x00\x00" b"\x004\xeb\x07F\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", ) ], ) def test_parse_reconfig_reset_out(self): data = load("sctp_reconfig_reset_out.bin") chunk = self.roundtrip_packet(data) self.assertIsInstance(chunk, ReconfigChunk) self.assertEqual(chunk.type, 130) self.assertEqual(chunk.flags, 0) self.assertEqual( chunk.params, [(13, b"\x8b\xd8\n[\xe4\x8b\xecs\x8b\xd8\n^\x00\x01")] ) # Outgoing SSN Reset Request Parameter param_data = chunk.params[0][1] param = StreamResetOutgoingParam.parse(param_data) self.assertEqual(param.request_sequence, 2346191451) self.assertEqual(param.response_sequence, 3834375283) self.assertEqual(param.last_tsn, 2346191454) self.assertEqual(param.streams, [1]) self.assertEqual(bytes(param), param_data) def test_parse_reconfig_add_out(self): data = load("sctp_reconfig_add_out.bin") chunk = self.roundtrip_packet(data) self.assertIsInstance(chunk, ReconfigChunk) self.assertEqual(chunk.type, 130) self.assertEqual(chunk.flags, 0) self.assertEqual(chunk.params, [(17, b"\xca\x02\xf60\x00\x10\x00\x00")]) # Add Outgoing Streams Request Parameter param_data = chunk.params[0][1] param = StreamAddOutgoingParam.parse(param_data) self.assertEqual(param.request_sequence, 3389191728) self.assertEqual(param.new_streams, 16) self.assertEqual(bytes(param), param_data) def test_parse_reconfig_response(self): data = load("sctp_reconfig_response.bin") chunk = self.roundtrip_packet(data) self.assertIsInstance(chunk, ReconfigChunk) self.assertEqual(chunk.type, 130) self.assertEqual(chunk.flags, 0) self.assertEqual(chunk.params, [(16, b"\x91S\x1fT\x00\x00\x00\x01")]) # Re-configuration Response Parameter param_data = chunk.params[0][1] param = StreamResetResponseParam.parse(param_data) self.assertEqual(param.response_sequence, 2438143828) self.assertEqual(param.result, 1) self.assertEqual(bytes(param), param_data) def test_parse_sack(self): data = load("sctp_sack.bin") chunk = self.roundtrip_packet(data) self.assertIsInstance(chunk, SackChunk) self.assertEqual(chunk.type, 3) self.assertEqual(chunk.flags, 0) self.assertEqual(chunk.cumulative_tsn, 2222939037) self.assertEqual(chunk.gaps, [(2, 2), (4, 4)]) self.assertEqual(chunk.duplicates, [2222939041]) self.assertEqual( repr(chunk), "SackChunk(flags=0, advertised_rwnd=128160, cumulative_tsn=2222939037, " "gaps=[(2, 2), (4, 4)])", ) def test_parse_shutdown(self): data = load("sctp_shutdown.bin") chunk = self.roundtrip_packet(data) self.assertIsInstance(chunk, ShutdownChunk) self.assertEqual( repr(chunk), "ShutdownChunk(flags=0, cumulative_tsn=2696426712)" ) self.assertEqual(chunk.type, 7) self.assertEqual(chunk.flags, 0) self.assertEqual(chunk.cumulative_tsn, 2696426712) class ChunkFactory: def __init__(self, tsn=1): self.tsn = tsn self.stream_seq = 0 def create(self, frags, ordered=True): chunks = [] for i, frag in enumerate(frags): flags = 0 if not ordered: flags |= SCTP_DATA_UNORDERED if i == 0: flags |= SCTP_DATA_FIRST_FRAG if i == len(frags) - 1: flags |= SCTP_DATA_LAST_FRAG chunk = DataChunk(flags=flags) chunk.protocol = 123 chunk.stream_id = 456 if ordered: chunk.stream_seq = self.stream_seq chunk.tsn = self.tsn chunk.user_data = frag chunks.append(chunk) self.tsn += 1 if ordered: self.stream_seq += 1 return chunks class SctpStreamTest(TestCase): def setUp(self): self.factory = ChunkFactory() def test_duplicate(self): stream = InboundStream() chunks = self.factory.create([b"foo", b"bar", b"baz"]) # feed first chunk stream.add_chunk(chunks[0]) self.assertEqual(stream.reassembly, [chunks[0]]) self.assertEqual(stream.sequence_number, 0) self.assertEqual(list(stream.pop_messages()), []) self.assertEqual(stream.reassembly, [chunks[0]]) self.assertEqual(stream.sequence_number, 0) # feed first chunk again with self.assertRaises(AssertionError) as cm: stream.add_chunk(chunks[0]) self.assertEqual(str(cm.exception), "duplicate chunk in reassembly") def test_whole_in_order(self): stream = InboundStream() chunks = self.factory.create([b"foo"]) + self.factory.create([b"bar"]) # feed first unfragmented stream.add_chunk(chunks[0]) self.assertEqual(stream.reassembly, [chunks[0]]) self.assertEqual(stream.sequence_number, 0) self.assertEqual(list(stream.pop_messages()), [(456, 123, b"foo")]) self.assertEqual(stream.reassembly, []) self.assertEqual(stream.sequence_number, 1) # feed second unfragmented stream.add_chunk(chunks[1]) self.assertEqual(stream.reassembly, [chunks[1]]) self.assertEqual(stream.sequence_number, 1) self.assertEqual(list(stream.pop_messages()), [(456, 123, b"bar")]) self.assertEqual(stream.reassembly, []) self.assertEqual(stream.sequence_number, 2) def test_whole_out_of_order(self): stream = InboundStream() chunks = ( self.factory.create([b"foo"]) + self.factory.create([b"bar"]) + self.factory.create([b"baz", b"qux"]) ) # feed second unfragmented stream.add_chunk(chunks[1]) self.assertEqual(stream.reassembly, [chunks[1]]) self.assertEqual(stream.sequence_number, 0) self.assertEqual(list(stream.pop_messages()), []) self.assertEqual(stream.reassembly, [chunks[1]]) self.assertEqual(stream.sequence_number, 0) # feed third partial stream.add_chunk(chunks[2]) self.assertEqual(stream.reassembly, [chunks[1], chunks[2]]) self.assertEqual(stream.sequence_number, 0) self.assertEqual(list(stream.pop_messages()), []) self.assertEqual(stream.reassembly, [chunks[1], chunks[2]]) self.assertEqual(stream.sequence_number, 0) # feed first unfragmented stream.add_chunk(chunks[0]) self.assertEqual(stream.reassembly, [chunks[0], chunks[1], chunks[2]]) self.assertEqual(stream.sequence_number, 0) self.assertEqual( list(stream.pop_messages()), [(456, 123, b"foo"), (456, 123, b"bar")] ) self.assertEqual(stream.reassembly, [chunks[2]]) self.assertEqual(stream.sequence_number, 2) def test_fragments_in_order(self): stream = InboundStream() chunks = self.factory.create([b"foo", b"bar", b"baz"]) # feed first chunk stream.add_chunk(chunks[0]) self.assertEqual(stream.reassembly, [chunks[0]]) self.assertEqual(stream.sequence_number, 0) self.assertEqual(list(stream.pop_messages()), []) self.assertEqual(stream.reassembly, [chunks[0]]) self.assertEqual(stream.sequence_number, 0) # feed second chunk stream.add_chunk(chunks[1]) self.assertEqual(stream.reassembly, [chunks[0], chunks[1]]) self.assertEqual(stream.sequence_number, 0) self.assertEqual(list(stream.pop_messages()), []) self.assertEqual(stream.reassembly, [chunks[0], chunks[1]]) self.assertEqual(stream.sequence_number, 0) # feed third chunk stream.add_chunk(chunks[2]) self.assertEqual(stream.reassembly, [chunks[0], chunks[1], chunks[2]]) self.assertEqual(stream.sequence_number, 0) self.assertEqual(list(stream.pop_messages()), [(456, 123, b"foobarbaz")]) self.assertEqual(stream.reassembly, []) self.assertEqual(stream.sequence_number, 1) def test_fragments_out_of_order(self): stream = InboundStream() chunks = self.factory.create([b"foo", b"bar", b"baz"]) # feed third chunk stream.add_chunk(chunks[2]) self.assertEqual(stream.reassembly, [chunks[2]]) self.assertEqual(stream.sequence_number, 0) self.assertEqual(list(stream.pop_messages()), []) self.assertEqual(stream.reassembly, [chunks[2]]) self.assertEqual(stream.sequence_number, 0) # feed first chunk stream.add_chunk(chunks[0]) self.assertEqual(stream.reassembly, [chunks[0], chunks[2]]) self.assertEqual(stream.sequence_number, 0) self.assertEqual(list(stream.pop_messages()), []) self.assertEqual(stream.reassembly, [chunks[0], chunks[2]]) self.assertEqual(stream.sequence_number, 0) # feed second chunk stream.add_chunk(chunks[1]) self.assertEqual(stream.reassembly, [chunks[0], chunks[1], chunks[2]]) self.assertEqual(stream.sequence_number, 0) self.assertEqual(list(stream.pop_messages()), [(456, 123, b"foobarbaz")]) self.assertEqual(stream.reassembly, []) self.assertEqual(stream.sequence_number, 1) def test_unordered_no_fragments(self): stream = InboundStream() chunks = ( self.factory.create([b"foo"], ordered=False) + self.factory.create([b"bar"], ordered=False) + self.factory.create([b"baz"], ordered=False) ) # feed second unfragmented stream.add_chunk(chunks[1]) self.assertEqual(stream.reassembly, [chunks[1]]) self.assertEqual(stream.sequence_number, 0) self.assertEqual(list(stream.pop_messages()), [(456, 123, b"bar")]) self.assertEqual(stream.reassembly, []) self.assertEqual(stream.sequence_number, 0) # feed third unfragmented stream.add_chunk(chunks[2]) self.assertEqual(stream.reassembly, [chunks[2]]) self.assertEqual(stream.sequence_number, 0) self.assertEqual(list(stream.pop_messages()), [(456, 123, b"baz")]) self.assertEqual(stream.reassembly, []) self.assertEqual(stream.sequence_number, 0) # feed first unfragmented stream.add_chunk(chunks[0]) self.assertEqual(stream.reassembly, [chunks[0]]) self.assertEqual(stream.sequence_number, 0) self.assertEqual(list(stream.pop_messages()), [(456, 123, b"foo")]) self.assertEqual(stream.reassembly, []) self.assertEqual(stream.sequence_number, 0) def test_unordered_with_fragments(self): stream = InboundStream() chunks = ( self.factory.create([b"foo", b"bar"], ordered=False) + self.factory.create([b"baz"], ordered=False) + self.factory.create([b"qux", b"quux", b"corge"], ordered=False) ) # feed second fragment of first message stream.add_chunk(chunks[1]) self.assertEqual(stream.reassembly, [chunks[1]]) self.assertEqual(stream.sequence_number, 0) self.assertEqual(list(stream.pop_messages()), []) self.assertEqual(stream.reassembly, [chunks[1]]) self.assertEqual(stream.sequence_number, 0) # feed second message stream.add_chunk(chunks[2]) self.assertEqual(stream.reassembly, [chunks[1], chunks[2]]) self.assertEqual(stream.sequence_number, 0) self.assertEqual(list(stream.pop_messages()), [(456, 123, b"baz")]) self.assertEqual(stream.reassembly, [chunks[1]]) self.assertEqual(stream.sequence_number, 0) # feed first fragment of third message stream.add_chunk(chunks[3]) self.assertEqual(stream.reassembly, [chunks[1], chunks[3]]) self.assertEqual(stream.sequence_number, 0) self.assertEqual(list(stream.pop_messages()), []) self.assertEqual(stream.reassembly, [chunks[1], chunks[3]]) self.assertEqual(stream.sequence_number, 0) # feed third fragment of third message stream.add_chunk(chunks[5]) self.assertEqual(stream.reassembly, [chunks[1], chunks[3], chunks[5]]) self.assertEqual(stream.sequence_number, 0) self.assertEqual(list(stream.pop_messages()), []) self.assertEqual(stream.reassembly, [chunks[1], chunks[3], chunks[5]]) self.assertEqual(stream.sequence_number, 0) # feed second fragment of third message stream.add_chunk(chunks[4]) self.assertEqual( stream.reassembly, [chunks[1], chunks[3], chunks[4], chunks[5]] ) self.assertEqual(stream.sequence_number, 0) self.assertEqual(list(stream.pop_messages()), [(456, 123, b"quxquuxcorge")]) self.assertEqual(stream.reassembly, [chunks[1]]) self.assertEqual(stream.sequence_number, 0) # feed first fragment of first message stream.add_chunk(chunks[0]) self.assertEqual(stream.reassembly, [chunks[0], chunks[1]]) self.assertEqual(stream.sequence_number, 0) self.assertEqual(list(stream.pop_messages()), [(456, 123, b"foobar")]) self.assertEqual(stream.reassembly, []) self.assertEqual(stream.sequence_number, 0) def test_prune_chunks(self): stream = InboundStream() factory = ChunkFactory(tsn=100) chunks = factory.create([b"foo", b"bar"]) + factory.create([b"baz", b"qux"]) for i in [1, 2]: stream.add_chunk(chunks[i]) self.assertEqual(list(stream.pop_messages()), []) self.assertEqual(stream.reassembly, [chunks[1], chunks[2]]) self.assertEqual(stream.sequence_number, 0) stream.sequence_number = 2 self.assertEqual(list(stream.pop_messages()), []) self.assertEqual(stream.reassembly, [chunks[1], chunks[2]]) self.assertEqual(stream.sequence_number, 2) self.assertEqual(stream.prune_chunks(101), 3) self.assertEqual(stream.reassembly, [chunks[2]]) self.assertEqual(stream.sequence_number, 2) class SctpUtilTest(TestCase): def test_tsn_minus_one(self): self.assertEqual(tsn_minus_one(0), 4294967295) self.assertEqual(tsn_minus_one(1), 0) self.assertEqual(tsn_minus_one(4294967294), 4294967293) self.assertEqual(tsn_minus_one(4294967295), 4294967294) def test_tsn_plus_one(self): self.assertEqual(tsn_plus_one(0), 1) self.assertEqual(tsn_plus_one(1), 2) self.assertEqual(tsn_plus_one(4294967294), 4294967295) self.assertEqual(tsn_plus_one(4294967295), 0) class RTCSctpTransportTest(TestCase): def assertTimerPreserved(self, client): test = self class Ctx: def __enter__(self): self.previous_timer = client._t3_handle def __exit__(self, exc_type, exc_value, traceback): test.assertIsNotNone(client._t3_handle) test.assertEqual(client._t3_handle, self.previous_timer) return Ctx() def assertTimerRestarted(self, client): test = self class Ctx: def __enter__(self): self.previous_timer = client._t3_handle def __exit__(self, exc_type, exc_value, traceback): test.assertIsNotNone(client._t3_handle) test.assertNotEqual(client._t3_handle, self.previous_timer) return Ctx() def assertTimerStopped(self, client): test = self class Ctx: def __enter__(self): pass def __exit__(self, exc_type, exc_value, traceback): test.assertIsNone(client._t3_handle) return Ctx() @asynctest async def test_construct(self): async with dummy_dtls_transport_pair() as (client_transport, _): sctpTransport = RTCSctpTransport(client_transport) self.assertEqual(sctpTransport.transport, client_transport) self.assertEqual(sctpTransport.port, 5000) @asynctest async def test_construct_invalid_dtls_transport_state(self): dtlsTransport = ClosedDtlsTransport() with self.assertRaises(InvalidStateError): RTCSctpTransport(dtlsTransport) @asynctest async def test_connect_broken_transport(self): """ Transport with 100% loss never connects. """ loss_pattern = [True] async with client_and_server() as (client, server): client._rto = 0.1 client.transport.transport._connection.loss_pattern = loss_pattern server._rto = 0.1 server.transport.transport._connection.loss_pattern = loss_pattern # connect await server.start(client.getCapabilities(), client.port) await client.start(server.getCapabilities(), server.port) # check outcome await wait_for_outcome(client, server) self.assertEqual(client._association_state, RTCSctpTransport.State.CLOSED) self.assertEqual(client.state, "closed") self.assertEqual(server._association_state, RTCSctpTransport.State.CLOSED) self.assertEqual(server.state, "connecting") @asynctest async def test_connect_lossy_transport(self): """ Transport with 25% loss eventually connects. """ loss_pattern = [True, False, False, False] async with client_and_server() as (client, server): client._rto = 0.1 client.transport.transport._connection.loss_pattern = loss_pattern server._rto = 0.1 server.transport.transport._connection.loss_pattern = loss_pattern # connect await server.start(client.getCapabilities(), client.port) await client.start(server.getCapabilities(), server.port) # check outcome await wait_for_outcome(client, server) self.assertEqual( client._association_state, RTCSctpTransport.State.ESTABLISHED ) self.assertEqual(client.state, "connected") self.assertEqual( server._association_state, RTCSctpTransport.State.ESTABLISHED ) self.assertEqual(server.state, "connected") # transmit data server_queue = asyncio.Queue() async def server_fake_receive(*args): await server_queue.put(args) server._receive = server_fake_receive for i in range(20): message = (123, i, b"ping") await client._send(*message) received = await server_queue.get() self.assertEqual(received, message) @asynctest async def test_connect_client_limits_streams(self): async with client_and_server() as (client, server): client._inbound_streams_max = 2048 client._outbound_streams_count = 256 self.assertEqual(client.maxChannels, None) self.assertEqual(server.maxChannels, None) # connect await server.start(client.getCapabilities(), client.port) await client.start(server.getCapabilities(), server.port) # check outcome await wait_for_outcome(client, server) self.assertEqual(client.maxChannels, 256) self.assertEqual( client._association_state, RTCSctpTransport.State.ESTABLISHED ) self.assertEqual(client._inbound_streams_count, 2048) self.assertEqual(client._outbound_streams_count, 256) self.assertEqual(client._remote_extensions, [192, 130]) self.assertEqual(server.maxChannels, 256) self.assertEqual( server._association_state, RTCSctpTransport.State.ESTABLISHED ) self.assertEqual(server._inbound_streams_count, 256) self.assertEqual(server._outbound_streams_count, 2048) self.assertEqual(server._remote_extensions, [192, 130]) # client requests additional outbound streams param = StreamAddOutgoingParam( request_sequence=client._reconfig_request_seq, new_streams=16 ) await client._send_reconfig_param(param) await asyncio.sleep(0.1) self.assertEqual(server.maxChannels, 272) self.assertEqual(server._inbound_streams_count, 272) self.assertEqual(server._outbound_streams_count, 2048) @asynctest async def test_connect_server_limits_streams(self): async with client_and_server() as (client, server): server._inbound_streams_max = 2048 server._outbound_streams_count = 256 # connect await server.start(client.getCapabilities(), client.port) await client.start(server.getCapabilities(), server.port) # check outcome await wait_for_outcome(client, server) self.assertEqual(client.maxChannels, 256) self.assertEqual( client._association_state, RTCSctpTransport.State.ESTABLISHED ) self.assertEqual(client._inbound_streams_count, 256) self.assertEqual(client._outbound_streams_count, 2048) self.assertEqual(client._remote_extensions, [192, 130]) self.assertEqual(server.maxChannels, 256) self.assertEqual( server._association_state, RTCSctpTransport.State.ESTABLISHED ) self.assertEqual(server._inbound_streams_count, 2048) self.assertEqual(server._outbound_streams_count, 256) self.assertEqual(server._remote_extensions, [192, 130]) await asyncio.sleep(0.1) @asynctest async def test_connect_then_client_creates_data_channel(self): async with client_and_server() as (client, server): self.assertFalse(client.is_server) self.assertEqual(client.maxChannels, None) self.assertTrue(server.is_server) self.assertEqual(server.maxChannels, None) client_channels = track_channels(client) server_channels = track_channels(server) # connect await server.start(client.getCapabilities(), client.port) await client.start(server.getCapabilities(), server.port) # check outcome await wait_for_outcome(client, server) self.assertEqual(client.maxChannels, 65535) self.assertEqual( client._association_state, RTCSctpTransport.State.ESTABLISHED ) self.assertEqual(client._inbound_streams_count, 65535) self.assertEqual(client._outbound_streams_count, 65535) self.assertEqual(client._remote_extensions, [192, 130]) self.assertEqual(server.maxChannels, 65535) self.assertEqual( server._association_state, RTCSctpTransport.State.ESTABLISHED ) self.assertEqual(server._inbound_streams_count, 65535) self.assertEqual(server._outbound_streams_count, 65535) self.assertEqual(server._remote_extensions, [192, 130]) # create data channel channel = RTCDataChannel(client, RTCDataChannelParameters(label="chat")) self.assertEqual(channel.id, None) self.assertEqual(channel.label, "chat") await asyncio.sleep(0.1) self.assertEqual(channel.id, 1) self.assertEqual(channel.label, "chat") self.assertEqual(len(client_channels), 0) self.assertEqual(len(server_channels), 1) self.assertEqual(server_channels[0].id, 1) self.assertEqual(server_channels[0].label, "chat") @asynctest async def test_connect_then_client_creates_data_channel_with_custom_id(self): async with client_and_server() as (client, server): client_channels = track_channels(client) server_channels = track_channels(server) # connect await server.start(client.getCapabilities(), client.port) await client.start(server.getCapabilities(), server.port) # check outcome await wait_for_outcome(client, server) self.assertEqual( client._association_state, RTCSctpTransport.State.ESTABLISHED ) self.assertEqual(client._inbound_streams_count, 65535) self.assertEqual(client._outbound_streams_count, 65535) self.assertEqual(client._remote_extensions, [192, 130]) self.assertEqual( server._association_state, RTCSctpTransport.State.ESTABLISHED ) self.assertEqual(server._inbound_streams_count, 65535) self.assertEqual(server._outbound_streams_count, 65535) self.assertEqual(server._remote_extensions, [192, 130]) # create data channel channel = RTCDataChannel( client, RTCDataChannelParameters(label="chat", id=100) ) self.assertEqual(channel.id, 100) self.assertEqual(channel.label, "chat") # create second data channel channel2 = RTCDataChannel( client, RTCDataChannelParameters(label="chat", id=101) ) self.assertEqual(channel2.id, 101) self.assertEqual(channel2.label, "chat") await asyncio.sleep(0.1) self.assertEqual(channel.id, 100) self.assertEqual(channel.label, "chat") self.assertEqual(channel2.id, 101) self.assertEqual(channel2.label, "chat") self.assertEqual(len(client_channels), 0) self.assertEqual(len(server_channels), 2) self.assertEqual(server_channels[0].id, 100) self.assertEqual(server_channels[0].label, "chat") self.assertEqual(server_channels[1].id, 101) self.assertEqual(server_channels[1].label, "chat") @asynctest async def test_connect_then_client_creates_data_channel_with_custom_id_and_then_normal( # noqa: E501 self, ): async with client_and_server() as (client, server): client_channels = track_channels(client) server_channels = track_channels(server) # connect await server.start(client.getCapabilities(), client.port) await client.start(server.getCapabilities(), server.port) # check outcome await wait_for_outcome(client, server) self.assertEqual( client._association_state, RTCSctpTransport.State.ESTABLISHED ) self.assertEqual(client._inbound_streams_count, 65535) self.assertEqual(client._outbound_streams_count, 65535) self.assertEqual(client._remote_extensions, [192, 130]) self.assertEqual( server._association_state, RTCSctpTransport.State.ESTABLISHED ) self.assertEqual(server._inbound_streams_count, 65535) self.assertEqual(server._outbound_streams_count, 65535) self.assertEqual(server._remote_extensions, [192, 130]) # create data channel channel = RTCDataChannel( client, RTCDataChannelParameters(label="chat", id=1) ) self.assertEqual(channel.id, 1) self.assertEqual(channel.label, "chat") # create second data channel channel2 = RTCDataChannel(client, RTCDataChannelParameters(label="chat")) self.assertEqual(channel2.id, None) self.assertEqual(channel2.label, "chat") await asyncio.sleep(0.1) self.assertEqual(channel.id, 1) self.assertEqual(channel.label, "chat") self.assertEqual(channel2.id, 3) self.assertEqual(channel2.label, "chat") self.assertEqual(len(client_channels), 0) self.assertEqual(len(server_channels), 2) self.assertEqual(server_channels[0].id, 1) self.assertEqual(server_channels[0].label, "chat") self.assertEqual(server_channels[1].id, 3) self.assertEqual(server_channels[1].label, "chat") @asynctest async def test_connect_then_client_creates_second_data_channel_with_custom_already_used_id( # noqa: E501 self, ): async with client_and_server() as (client, server): client_channels = track_channels(client) server_channels = track_channels(server) # connect await server.start(client.getCapabilities(), client.port) await client.start(server.getCapabilities(), server.port) # check outcome await wait_for_outcome(client, server) self.assertEqual( client._association_state, RTCSctpTransport.State.ESTABLISHED ) self.assertEqual(client._inbound_streams_count, 65535) self.assertEqual(client._outbound_streams_count, 65535) self.assertEqual(client._remote_extensions, [192, 130]) self.assertEqual( server._association_state, RTCSctpTransport.State.ESTABLISHED ) self.assertEqual(server._inbound_streams_count, 65535) self.assertEqual(server._outbound_streams_count, 65535) self.assertEqual(server._remote_extensions, [192, 130]) # create data channel channel = RTCDataChannel( client, RTCDataChannelParameters(label="chat", id=100) ) self.assertEqual(channel.id, 100) self.assertEqual(channel.label, "chat") # create second data channel with the same id self.assertRaises( ValueError, lambda: RTCDataChannel( client, RTCDataChannelParameters(label="chat", id=100) ), ) await asyncio.sleep(0.1) self.assertEqual(channel.id, 100) self.assertEqual(channel.label, "chat") self.assertEqual(len(client_channels), 0) self.assertEqual(len(server_channels), 1) self.assertEqual(server_channels[0].id, 100) self.assertEqual(server_channels[0].label, "chat") @asynctest async def test_connect_then_client_creates_negotiated_data_channel_without_id(self): async with client_and_server() as (client, server): # connect await server.start(client.getCapabilities(), client.port) await client.start(server.getCapabilities(), server.port) # check outcome await wait_for_outcome(client, server) self.assertEqual( client._association_state, RTCSctpTransport.State.ESTABLISHED ) self.assertEqual(client._inbound_streams_count, 65535) self.assertEqual(client._outbound_streams_count, 65535) self.assertEqual(client._remote_extensions, [192, 130]) self.assertEqual( server._association_state, RTCSctpTransport.State.ESTABLISHED ) self.assertEqual(server._inbound_streams_count, 65535) self.assertEqual(server._outbound_streams_count, 65535) self.assertEqual(server._remote_extensions, [192, 130]) # create data channel self.assertRaises( ValueError, lambda: RTCDataChannel( client, RTCDataChannelParameters(label="chat", negotiated=True) ), ) await asyncio.sleep(0.1) @asynctest async def test_connect_then_client_and_server_creates_negotiated_data_channel(self): async with client_and_server() as (client, server): client_channels = track_channels(client) server_channels = track_channels(server) # connect await server.start(client.getCapabilities(), client.port) await client.start(server.getCapabilities(), server.port) # check outcome await wait_for_outcome(client, server) self.assertEqual( client._association_state, RTCSctpTransport.State.ESTABLISHED ) self.assertEqual(client._inbound_streams_count, 65535) self.assertEqual(client._outbound_streams_count, 65535) self.assertEqual(client._remote_extensions, [192, 130]) self.assertEqual( server._association_state, RTCSctpTransport.State.ESTABLISHED ) self.assertEqual(server._inbound_streams_count, 65535) self.assertEqual(server._outbound_streams_count, 65535) self.assertEqual(server._remote_extensions, [192, 130]) # create data channel for client channel_client = RTCDataChannel( client, RTCDataChannelParameters(label="chat", negotiated=True, id=100) ) self.assertEqual(channel_client.id, 100) self.assertEqual(channel_client.label, "chat") # create data channel for server channel_server = RTCDataChannel( server, RTCDataChannelParameters(label="chat", negotiated=True, id=100) ) self.assertEqual(channel_server.id, 100) self.assertEqual(channel_server.label, "chat") await asyncio.sleep(0.1) self.assertEqual(channel_client.id, 100) self.assertEqual(channel_client.label, "chat") self.assertEqual(channel_server.id, 100) self.assertEqual(channel_server.label, "chat") # both arrays should be 0 as they track data channels created by event # which is not the case in out-of-band self.assertEqual(len(client_channels), 0) self.assertEqual(len(server_channels), 0) @asynctest async def test_connect_then_client_creates_negotiated_data_channel_with_used_id( self, ): async with client_and_server() as (client, server): client_channels = track_channels(client) server_channels = track_channels(server) # connect await server.start(client.getCapabilities(), client.port) await client.start(server.getCapabilities(), server.port) # check outcome await wait_for_outcome(client, server) self.assertEqual( client._association_state, RTCSctpTransport.State.ESTABLISHED ) self.assertEqual(client._inbound_streams_count, 65535) self.assertEqual(client._outbound_streams_count, 65535) self.assertEqual(client._remote_extensions, [192, 130]) self.assertEqual( server._association_state, RTCSctpTransport.State.ESTABLISHED ) self.assertEqual(server._inbound_streams_count, 65535) self.assertEqual(server._outbound_streams_count, 65535) self.assertEqual(server._remote_extensions, [192, 130]) # create data channel for client channel_client = RTCDataChannel( client, RTCDataChannelParameters(label="chat", negotiated=True, id=100) ) self.assertEqual(channel_client.id, 100) self.assertEqual(channel_client.label, "chat") self.assertRaises( ValueError, lambda: RTCDataChannel( client, RTCDataChannelParameters(label="chat", negotiated=True, id=100), ), ) await asyncio.sleep(0.1) self.assertEqual(channel_client.id, 100) self.assertEqual(channel_client.label, "chat") # both arrays should be 0 as they track data channels created by event # which is not the case in out-of-band self.assertEqual(len(client_channels), 0) self.assertEqual(len(server_channels), 0) @asynctest async def test_connect_then_client_and_server_creates_negotiated_data_channel_before_transport( # noqa: E501 self, ): async with client_and_server() as (client, server): client_channels = track_channels(client) server_channels = track_channels(server) self.assertEqual(client._association_state, RTCSctpTransport.State.CLOSED) self.assertEqual(server._association_state, RTCSctpTransport.State.CLOSED) # create data channel for client channel_client = RTCDataChannel( client, RTCDataChannelParameters(label="chat", negotiated=True, id=100) ) self.assertEqual(channel_client.id, 100) self.assertEqual(channel_client.label, "chat") self.assertEqual(channel_client.readyState, "connecting") # create data channel for server channel_server = RTCDataChannel( server, RTCDataChannelParameters(label="chat", negotiated=True, id=100) ) self.assertEqual(channel_server.id, 100) self.assertEqual(channel_server.label, "chat") self.assertEqual(channel_server.readyState, "connecting") # connect await server.start(client.getCapabilities(), client.port) await client.start(server.getCapabilities(), server.port) # check outcome await wait_for_outcome(client, server) self.assertEqual( client._association_state, RTCSctpTransport.State.ESTABLISHED ) self.assertEqual(client._inbound_streams_count, 65535) self.assertEqual(client._outbound_streams_count, 65535) self.assertEqual(client._remote_extensions, [192, 130]) self.assertEqual( server._association_state, RTCSctpTransport.State.ESTABLISHED ) self.assertEqual(server._inbound_streams_count, 65535) self.assertEqual(server._outbound_streams_count, 65535) self.assertEqual(server._remote_extensions, [192, 130]) self.assertEqual(channel_client.readyState, "open") self.assertEqual(channel_server.readyState, "open") await asyncio.sleep(0.1) self.assertEqual(channel_client.id, 100) self.assertEqual(channel_client.label, "chat") self.assertEqual(channel_server.id, 100) self.assertEqual(channel_server.label, "chat") # both arrays should be 0 as they track data channels created by event # which is not the case in out-of-band self.assertEqual(len(client_channels), 0) self.assertEqual(len(server_channels), 0) @asynctest async def test_connect_then_server_creates_data_channel(self): async with client_and_server() as (client, server): client_channels = track_channels(client) server_channels = track_channels(server) # connect await server.start(client.getCapabilities(), client.port) await client.start(server.getCapabilities(), server.port) # check outcome await wait_for_outcome(client, server) self.assertEqual( client._association_state, RTCSctpTransport.State.ESTABLISHED ) self.assertEqual(client._remote_extensions, [192, 130]) self.assertEqual( server._association_state, RTCSctpTransport.State.ESTABLISHED ) self.assertEqual(server._remote_extensions, [192, 130]) # create data channel channel = RTCDataChannel(server, RTCDataChannelParameters(label="chat")) self.assertEqual(channel.id, None) self.assertEqual(channel.label, "chat") await asyncio.sleep(0.1) self.assertEqual(len(client_channels), 1) self.assertEqual(client_channels[0].id, 0) self.assertEqual(client_channels[0].label, "chat") self.assertEqual(len(server_channels), 0) @patch("aiortc.rtcsctptransport.logger.isEnabledFor") @asynctest async def test_connect_with_logging(self, mock_is_enabled_for): mock_is_enabled_for.return_value = True async with client_and_server() as (client, server): # connect await server.start(client.getCapabilities(), client.port) await client.start(server.getCapabilities(), server.port) # check outcome await wait_for_outcome(client, server) self.assertEqual( client._association_state, RTCSctpTransport.State.ESTABLISHED ) self.assertEqual( server._association_state, RTCSctpTransport.State.ESTABLISHED ) @asynctest async def test_connect_with_partial_reliability(self): async with client_and_server() as (client, server): client._local_partial_reliability = True server._local_partial_reliability = False # connect await server.start(client.getCapabilities(), client.port) await client.start(server.getCapabilities(), server.port) # check outcome await wait_for_outcome(client, server) self.assertEqual( client._association_state, RTCSctpTransport.State.ESTABLISHED ) self.assertEqual(client._remote_extensions, [130]) self.assertEqual(client._remote_partial_reliability, False) self.assertEqual( server._association_state, RTCSctpTransport.State.ESTABLISHED ) self.assertEqual(server._remote_extensions, [192, 130]) self.assertEqual(server._remote_partial_reliability, True) @asynctest async def test_abrupt_disconnect(self): """ Abrupt disconnect causes sending ABORT chunk to fail. """ async with client_and_server() as (client, server): # connect await server.start(client.getCapabilities(), client.port) await client.start(server.getCapabilities(), server.port) # check outcome await wait_for_outcome(client, server) self.assertEqual( client._association_state, RTCSctpTransport.State.ESTABLISHED ) self.assertEqual( server._association_state, RTCSctpTransport.State.ESTABLISHED ) # break connection await client.transport.stop() await server.transport.stop() await asyncio.sleep(0) # FIXME @asynctest async def test_garbage(self): async with client_and_server() as (_, server): await server.start(RTCSctpCapabilities(maxMessageSize=65536), 5000) await server._handle_data(b"garbage") # check outcome await asyncio.sleep(0.1) self.assertEqual(server._association_state, RTCSctpTransport.State.CLOSED) @asynctest async def test_bad_verification_tag(self): # verification tag is 12345 instead of 0 data = load("sctp_init_bad_verification.bin") async with client_and_server() as (_, server): await server.start(RTCSctpCapabilities(maxMessageSize=65536), 5000) await server._handle_data(data) # check outcome await asyncio.sleep(0.1) self.assertEqual(server._association_state, RTCSctpTransport.State.CLOSED) @asynctest async def test_bad_cookie(self): async with client_and_server() as (client, server): # corrupt cookie real_send_chunk = client._send_chunk async def mock_send_chunk(chunk): if isinstance(chunk, CookieEchoChunk): chunk.body = b"garbage" return await real_send_chunk(chunk) client._send_chunk = mock_send_chunk await server.start(client.getCapabilities(), client.port) await client.start(server.getCapabilities(), server.port) # check outcome await asyncio.sleep(0.1) self.assertEqual( client._association_state, RTCSctpTransport.State.COOKIE_ECHOED ) self.assertEqual(server._association_state, RTCSctpTransport.State.CLOSED) @asynctest async def test_maybe_abandon(self): async def mock_send_chunk(chunk): pass async with client_standalone() as client: client._local_tsn = 0 client._send_chunk = mock_send_chunk # send 3 chunks await client._send(123, 456, b"M" * USERDATA_MAX_LENGTH * 3) self.assertEqual(outstanding_tsns(client), [0, 1, 2]) self.assertEqual(queued_tsns(client), []) for chunk in client._outbound_queue: self.assertEqual(chunk._abandoned, False) # try abandon middle chunk client._maybe_abandon(client._sent_queue[1]) for chunk in client._outbound_queue: self.assertEqual(chunk._abandoned, False) @asynctest async def test_maybe_abandon_max_retransmits(self): async def mock_send_chunk(chunk): pass async with client_standalone() as client: client._local_tsn = 1 client._last_sacked_tsn = 0 client._advanced_peer_ack_tsn = 0 client._send_chunk = mock_send_chunk # send 3 chunks await client._send( 123, 456, b"M" * USERDATA_MAX_LENGTH * 3, max_retransmits=0 ) self.assertEqual(outstanding_tsns(client), [1, 2, 3]) self.assertEqual(queued_tsns(client), []) self.assertEqual(client._local_tsn, 4) self.assertEqual(client._advanced_peer_ack_tsn, 0) for chunk in client._outbound_queue: self.assertEqual(chunk._abandoned, False) # try abandon middle chunk client._maybe_abandon(client._sent_queue[1]) for chunk in client._outbound_queue: self.assertEqual(chunk._abandoned, True) # try abandon middle chunk (again) client._maybe_abandon(client._sent_queue[1]) for chunk in client._outbound_queue: self.assertEqual(chunk._abandoned, True) # update advanced peer ack point client._update_advanced_peer_ack_point() self.assertEqual(outstanding_tsns(client), []) self.assertEqual(queued_tsns(client), []) self.assertEqual(client._advanced_peer_ack_tsn, 3) # check forward TSN self.assertIsNotNone(client._forward_tsn_chunk) self.assertEqual(client._forward_tsn_chunk.cumulative_tsn, 3) self.assertEqual(client._forward_tsn_chunk.streams, [(123, 0)]) # transmit client._t3_cancel() await client._transmit() self.assertIsNone(client._forward_tsn_chunk) self.assertIsNotNone(client._t3_handle) @asynctest async def test_stale_cookie(self): def mock_timestamp(): mock_timestamp.calls += 1 if mock_timestamp.calls == 1: return 0 else: return 61 mock_timestamp.calls = 0 async with client_and_server() as (client, server): server._get_timestamp = mock_timestamp await server.start(client.getCapabilities(), client.port) await client.start(server.getCapabilities(), server.port) # check outcome await asyncio.sleep(0.1) self.assertEqual(client._association_state, RTCSctpTransport.State.CLOSED) self.assertEqual(server._association_state, RTCSctpTransport.State.CLOSED) @asynctest async def test_receive_data(self): async with client_standalone() as client: client._last_received_tsn = 0 # receive chunk chunk = DataChunk(flags=(SCTP_DATA_FIRST_FRAG | SCTP_DATA_LAST_FRAG)) chunk.user_data = b"foo" chunk.tsn = 1 await client._receive_chunk(chunk) self.assertEqual(client._sack_needed, True) self.assertEqual(client._sack_duplicates, []) self.assertEqual(client._sack_misordered, set()) self.assertEqual(client._last_received_tsn, 1) client._sack_needed = False # receive chunk again await client._receive_chunk(chunk) self.assertEqual(client._sack_needed, True) self.assertEqual(client._sack_duplicates, [1]) self.assertEqual(client._sack_misordered, set()) self.assertEqual(client._last_received_tsn, 1) @asynctest async def test_receive_data_out_of_order(self): async with client_standalone() as client: client._last_received_tsn = 0 # build chunks chunks = [] chunk = DataChunk(flags=SCTP_DATA_FIRST_FRAG) chunk.user_data = b"foo" chunk.tsn = 1 chunks.append(chunk) chunk = DataChunk() chunk.user_data = b"bar" chunk.tsn = 2 chunks.append(chunk) chunk = DataChunk(flags=SCTP_DATA_LAST_FRAG) chunk.user_data = b"baz" chunk.tsn = 3 chunks.append(chunk) # receive first chunk await client._receive_chunk(chunks[0]) self.assertEqual(client._sack_needed, True) self.assertEqual(client._sack_duplicates, []) self.assertEqual(client._sack_misordered, set()) self.assertEqual(client._last_received_tsn, 1) client._sack_needed = False # receive last chunk await client._receive_chunk(chunks[2]) self.assertEqual(client._sack_needed, True) self.assertEqual(client._sack_duplicates, []) self.assertEqual(client._sack_misordered, set([3])) self.assertEqual(client._last_received_tsn, 1) client._sack_needed = False # receive middle chunk await client._receive_chunk(chunks[1]) self.assertEqual(client._sack_needed, True) self.assertEqual(client._sack_duplicates, []) self.assertEqual(client._sack_misordered, set([])) self.assertEqual(client._last_received_tsn, 3) client._sack_needed = False # receive last chunk again await client._receive_chunk(chunks[2]) self.assertEqual(client._sack_needed, True) self.assertEqual(client._sack_duplicates, [3]) self.assertEqual(client._sack_misordered, set([])) self.assertEqual(client._last_received_tsn, 3) client._sack_needed = False @asynctest async def test_receive_forward_tsn(self): received = [] async def fake_receive(*args): received.append(args) async with client_standalone() as client: client._last_received_tsn = 101 client._receive = fake_receive factory = ChunkFactory(tsn=102) chunks = ( factory.create([b"foo"]) + factory.create([b"baz"]) + factory.create([b"qux"]) + factory.create([b"quux"]) + factory.create([b"corge"]) + factory.create([b"grault"]) ) # receive chunks with gaps for i in [0, 2, 3, 5]: await client._receive_chunk(chunks[i]) self.assertEqual(client._sack_needed, True) self.assertEqual(client._sack_duplicates, []) self.assertEqual(client._sack_misordered, set([104, 105, 107])) self.assertEqual(client._last_received_tsn, 102) self.assertEqual(received, [(456, 123, b"foo")]) received.clear() client._sack_needed = False # receive forward tsn chunk = ForwardTsnChunk() chunk.cumulative_tsn = 103 chunk.streams = [(456, 1)] await client._receive_chunk(chunk) self.assertEqual(client._sack_needed, True) self.assertEqual(client._sack_duplicates, []) self.assertEqual(client._sack_misordered, set([107])) self.assertEqual(client._last_received_tsn, 105) self.assertEqual(received, [(456, 123, b"qux"), (456, 123, b"quux")]) received.clear() client._sack_needed = False # receive forward tsn again await client._receive_chunk(chunk) self.assertEqual(client._sack_needed, True) self.assertEqual(client._sack_duplicates, []) self.assertEqual(client._sack_misordered, set([107])) self.assertEqual(client._last_received_tsn, 105) self.assertEqual(received, []) client._sack_needed = False # receive chunk await client._receive_chunk(chunks[4]) self.assertEqual(client._sack_needed, True) self.assertEqual(client._sack_duplicates, []) self.assertEqual(client._sack_misordered, set()) self.assertEqual(client._last_received_tsn, 107) self.assertEqual(received, [(456, 123, b"corge"), (456, 123, b"grault")]) received.clear() client._sack_needed = False @asynctest async def test_receive_heartbeat(self): ack = None async def mock_send_chunk(chunk): nonlocal ack ack = chunk async with client_standalone() as client: client._send_chunk = mock_send_chunk # receive heartbeat chunk = HeartbeatChunk() chunk.params.append((1, b"\x01\x02\x03\x04")) chunk.tsn = 1 await client._receive_chunk(chunk) # check response self.assertIsInstance(ack, HeartbeatAckChunk) self.assertEqual(ack.params, [(1, b"\x01\x02\x03\x04")]) @asynctest async def test_receive_sack_discard(self): async with client_standalone() as client: client._last_received_tsn = 0 # receive sack sack_point = client._last_sacked_tsn chunk = SackChunk() chunk.cumulative_tsn = tsn_minus_one(sack_point) await client._receive_chunk(chunk) # sack point must not changed self.assertEqual(client._last_sacked_tsn, sack_point) @asynctest async def test_receive_shutdown(self): async def mock_send_chunk(chunk): pass async with client_standalone() as client: client._last_received_tsn = 0 client._send_chunk = mock_send_chunk client._set_state(RTCSctpTransport.State.ESTABLISHED) # receive shutdown chunk = ShutdownChunk() chunk.cumulative_tsn = tsn_minus_one(client._last_sacked_tsn) await client._receive_chunk(chunk) self.assertEqual( client._association_state, RTCSctpTransport.State.SHUTDOWN_ACK_SENT ) # receive shutdown complete chunk = ShutdownCompleteChunk() await client._receive_chunk(chunk) self.assertEqual(client._association_state, RTCSctpTransport.State.CLOSED) @asynctest async def test_mark_received(self): async with client_standalone() as client: client._last_received_tsn = 0 # receive 1 self.assertFalse(client._mark_received(1)) self.assertEqual(client._last_received_tsn, 1) self.assertEqual(client._sack_misordered, set()) # receive 3 self.assertFalse(client._mark_received(3)) self.assertEqual(client._last_received_tsn, 1) self.assertEqual(client._sack_misordered, set([3])) # receive 4 self.assertFalse(client._mark_received(4)) self.assertEqual(client._last_received_tsn, 1) self.assertEqual(client._sack_misordered, set([3, 4])) # receive 6 self.assertFalse(client._mark_received(6)) self.assertEqual(client._last_received_tsn, 1) self.assertEqual(client._sack_misordered, set([3, 4, 6])) # receive 2 self.assertFalse(client._mark_received(2)) self.assertEqual(client._last_received_tsn, 4) self.assertEqual(client._sack_misordered, set([6])) @asynctest async def test_send_sack(self): sack = None async def mock_send_chunk(c): nonlocal sack sack = c async with client_standalone() as client: client._last_received_tsn = 123 client._send_chunk = mock_send_chunk await client._send_sack() self.assertIsNotNone(sack) self.assertEqual(sack.duplicates, []) self.assertEqual(sack.gaps, []) self.assertEqual(sack.cumulative_tsn, 123) @asynctest async def test_send_sack_with_duplicates(self): sack = None async def mock_send_chunk(c): nonlocal sack sack = c async with client_standalone() as client: client._last_received_tsn = 123 client._sack_duplicates = [125, 127] client._send_chunk = mock_send_chunk await client._send_sack() self.assertIsNotNone(sack) self.assertEqual(sack.duplicates, [125, 127]) self.assertEqual(sack.gaps, []) self.assertEqual(sack.cumulative_tsn, 123) @asynctest async def test_send_sack_with_gaps(self): sack = None async def mock_send_chunk(c): nonlocal sack sack = c async with client_standalone() as client: client._last_received_tsn = 12 client._sack_misordered = [14, 15, 17] client._send_chunk = mock_send_chunk await client._send_sack() self.assertIsNotNone(sack) self.assertEqual(sack.duplicates, []) self.assertEqual(sack.gaps, [(2, 3), (5, 5)]) self.assertEqual(sack.cumulative_tsn, 12) @asynctest async def test_send_data(self): async def mock_send_chunk(chunk): pass async with client_standalone() as client: client._local_tsn = 0 client._send_chunk = mock_send_chunk # no data await client._transmit() self.assertIsNone(client._t3_handle) self.assertEqual(outstanding_tsns(client), []) self.assertEqual(queued_tsns(client), []) self.assertEqual(client._outbound_stream_seq, {}) # 1 chunk await client._send(123, 456, b"M" * USERDATA_MAX_LENGTH) self.assertIsNotNone(client._t3_handle) self.assertEqual(outstanding_tsns(client), [0]) self.assertEqual(queued_tsns(client), []) self.assertEqual(client._outbound_stream_seq, {123: 1}) @asynctest async def test_send_data_unordered(self): async def mock_send_chunk(chunk): pass async with client_standalone() as client: client._local_tsn = 0 client._send_chunk = mock_send_chunk # 1 chunk await client._send(123, 456, b"M" * USERDATA_MAX_LENGTH, ordered=False) self.assertIsNotNone(client._t3_handle) self.assertEqual(outstanding_tsns(client), [0]) self.assertEqual(queued_tsns(client), []) self.assertEqual(client._outbound_stream_seq, {}) @asynctest async def test_send_data_congestion_control(self): sent_tsns = [] async def mock_send_chunk(chunk): sent_tsns.append(chunk.tsn) async with client_standalone() as client: client._cwnd = 4800 client._last_sacked_tsn = 4294967295 client._local_tsn = 0 client._ssthresh = 4800 client._send_chunk = mock_send_chunk # queue 16 chunks, but cwnd only allows 4 await client._send(123, 456, b"M" * USERDATA_MAX_LENGTH * 16) self.assertEqual(client._cwnd, 4800) self.assertEqual(client._fast_recovery_exit, None) self.assertEqual(client._flight_size, 4800) self.assertEqual(sent_tsns, [0, 1, 2, 3]) self.assertEqual(outstanding_tsns(client), [0, 1, 2, 3]) self.assertEqual( queued_tsns(client), [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] ) # SACK comes in acknowledging 2 chunks sack = SackChunk() sack.cumulative_tsn = 1 await client._receive_chunk(sack) self.assertEqual(client._cwnd, 6000) self.assertEqual(client._fast_recovery_exit, None) self.assertEqual(client._flight_size, 6000) self.assertEqual(sent_tsns, [0, 1, 2, 3, 4, 5, 6]) self.assertEqual(outstanding_tsns(client), [2, 3, 4, 5, 6]) self.assertEqual(queued_tsns(client), [7, 8, 9, 10, 11, 12, 13, 14, 15]) # SACK comes in acknowledging 2 more chunks sack = SackChunk() sack.cumulative_tsn = 3 await client._receive_chunk(sack) self.assertEqual(client._cwnd, 6000) self.assertEqual(client._fast_recovery_exit, None) self.assertEqual(client._flight_size, 6000) self.assertEqual(sent_tsns, [0, 1, 2, 3, 4, 5, 6, 7, 8]) self.assertEqual(outstanding_tsns(client), [4, 5, 6, 7, 8]) self.assertEqual(queued_tsns(client), [9, 10, 11, 12, 13, 14, 15]) # SACK comes in acknowledging 2 more chunks sack = SackChunk() sack.cumulative_tsn = 5 await client._receive_chunk(sack) self.assertEqual(client._cwnd, 6000) self.assertEqual(client._fast_recovery_exit, None) self.assertEqual(client._flight_size, 6000) self.assertEqual(sent_tsns, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) self.assertEqual(outstanding_tsns(client), [6, 7, 8, 9, 10]) self.assertEqual(queued_tsns(client), [11, 12, 13, 14, 15]) # SACK comes in acknowledging 2 more chunks sack = SackChunk() sack.cumulative_tsn = 7 await client._receive_chunk(sack) self.assertEqual(client._cwnd, 7200) self.assertEqual(client._fast_recovery_exit, None) self.assertEqual(client._flight_size, 7200) self.assertEqual(sent_tsns, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]) self.assertEqual(outstanding_tsns(client), [8, 9, 10, 11, 12, 13]) self.assertEqual(queued_tsns(client), [14, 15]) # SACK comes in acknowledging 2 more chunks sack = SackChunk() sack.cumulative_tsn = 9 await client._receive_chunk(sack) self.assertEqual(client._cwnd, 7200) self.assertEqual(client._fast_recovery_exit, None) self.assertEqual(client._flight_size, 7200) self.assertEqual( sent_tsns, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] ) self.assertEqual(outstanding_tsns(client), [10, 11, 12, 13, 14, 15]) self.assertEqual(queued_tsns(client), []) @asynctest async def test_send_data_slow_start(self): sent_tsns = [] async def mock_send_chunk(chunk): sent_tsns.append(chunk.tsn) async with client_standalone() as client: client._last_sacked_tsn = 4294967295 client._local_tsn = 0 client._ssthresh = 131072 client._send_chunk = mock_send_chunk # queue 8 chunks, but cwnd only allows 3 with self.assertTimerRestarted(client): await client._send(123, 456, b"M" * USERDATA_MAX_LENGTH * 8) self.assertEqual(client._cwnd, 3600) self.assertEqual(client._fast_recovery_exit, None) self.assertEqual(client._flight_size, 3600) self.assertEqual(sent_tsns, [0, 1, 2]) self.assertEqual(outstanding_tsns(client), [0, 1, 2]) self.assertEqual(queued_tsns(client), [3, 4, 5, 6, 7]) # SACK comes in acknowledging 2 chunks sack = SackChunk() sack.cumulative_tsn = 1 with self.assertTimerRestarted(client): await client._receive_chunk(sack) self.assertEqual(client._cwnd, 4800) self.assertEqual(client._fast_recovery_exit, None) self.assertEqual(client._flight_size, 4800) self.assertEqual(sent_tsns, [0, 1, 2, 3, 4, 5]) self.assertEqual(outstanding_tsns(client), [2, 3, 4, 5]) self.assertEqual(queued_tsns(client), [6, 7]) # SACK sack comes in acknowledging 2 more chunks sack = SackChunk() sack.cumulative_tsn = 3 with self.assertTimerRestarted(client): await client._receive_chunk(sack) self.assertEqual(client._cwnd, 6000) self.assertEqual(client._fast_recovery_exit, None) self.assertEqual(client._flight_size, 4800) self.assertEqual(sent_tsns, [0, 1, 2, 3, 4, 5, 6, 7]) self.assertEqual(outstanding_tsns(client), [4, 5, 6, 7]) self.assertEqual(queued_tsns(client), []) # SACK comes in acknowledging 2 more chunks sack = SackChunk() sack.cumulative_tsn = 5 with self.assertTimerRestarted(client): await client._receive_chunk(sack) self.assertEqual(client._cwnd, 6000) self.assertEqual(client._fast_recovery_exit, None) self.assertEqual(client._flight_size, 2400) self.assertEqual(sent_tsns, [0, 1, 2, 3, 4, 5, 6, 7]) self.assertEqual(outstanding_tsns(client), [6, 7]) self.assertEqual(queued_tsns(client), []) # SACK comes in acknowledging final chunks sack = SackChunk() sack.cumulative_tsn = 7 with self.assertTimerStopped(client): await client._receive_chunk(sack) self.assertEqual(client._cwnd, 6000) self.assertEqual(client._fast_recovery_exit, None) self.assertEqual(client._flight_size, 0) self.assertEqual(sent_tsns, [0, 1, 2, 3, 4, 5, 6, 7]) self.assertEqual(outstanding_tsns(client), []) self.assertEqual(queued_tsns(client), []) @asynctest async def test_send_data_with_gap(self): sent_tsns = [] async def mock_send_chunk(chunk): sent_tsns.append(chunk.tsn) async with client_standalone() as client: client._last_sacked_tsn = 4294967295 client._local_tsn = 0 client._ssthresh = 131072 client._send_chunk = mock_send_chunk # queue 8 chunks, but cwnd only allows 3 with self.assertTimerRestarted(client): await client._send(123, 456, b"M" * USERDATA_MAX_LENGTH * 8) self.assertEqual(client._cwnd, 3600) self.assertEqual(client._fast_recovery_exit, None) self.assertEqual(client._flight_size, 3600) self.assertEqual(sent_tsns, [0, 1, 2]) self.assertEqual(outstanding_tsns(client), [0, 1, 2]) self.assertEqual(queued_tsns(client), [3, 4, 5, 6, 7]) # SACK comes in acknowledging chunks 0 and 2 sack = SackChunk() sack.cumulative_tsn = 0 sack.gaps = [(2, 2)] # TSN 1 is missing with self.assertTimerRestarted(client): await client._receive_chunk(sack) self.assertEqual(client._cwnd, 4800) self.assertEqual(client._fast_recovery_exit, None) self.assertEqual(client._flight_size, 4800) self.assertEqual(sent_tsns, [0, 1, 2, 3, 4, 5]) self.assertEqual(outstanding_tsns(client), [1, 2, 3, 4, 5]) self.assertEqual(queued_tsns(client), [6, 7]) # SACK comes in acknowledging chunks 1 and 3 sack = SackChunk() sack.cumulative_tsn = 3 with self.assertTimerRestarted(client): await client._receive_chunk(sack) self.assertEqual(client._cwnd, 6000) self.assertEqual(client._fast_recovery_exit, None) self.assertEqual(client._flight_size, 4800) self.assertEqual(sent_tsns, [0, 1, 2, 3, 4, 5, 6, 7]) self.assertEqual(outstanding_tsns(client), [4, 5, 6, 7]) self.assertEqual(queued_tsns(client), []) # SACK comes in acknowledging 2 more chunks sack = SackChunk() sack.cumulative_tsn = 5 with self.assertTimerRestarted(client): await client._receive_chunk(sack) self.assertEqual(client._cwnd, 6000) self.assertEqual(client._fast_recovery_exit, None) self.assertEqual(client._flight_size, 2400) self.assertEqual(sent_tsns, [0, 1, 2, 3, 4, 5, 6, 7]) self.assertEqual(outstanding_tsns(client), [6, 7]) self.assertEqual(queued_tsns(client), []) # SACK comes in acknowledging final chunks sack = SackChunk() sack.cumulative_tsn = 7 with self.assertTimerStopped(client): await client._receive_chunk(sack) self.assertEqual(client._cwnd, 6000) self.assertEqual(client._fast_recovery_exit, None) self.assertEqual(client._flight_size, 0) self.assertEqual(sent_tsns, [0, 1, 2, 3, 4, 5, 6, 7]) self.assertEqual(outstanding_tsns(client), []) self.assertEqual(queued_tsns(client), []) @asynctest async def test_send_data_with_gap_1_retransmit(self): sent_tsns = [] async def mock_send_chunk(chunk): sent_tsns.append(chunk.tsn) async with client_standalone() as client: client._last_sacked_tsn = 4294967295 client._local_tsn = 0 client._ssthresh = 131072 client._send_chunk = mock_send_chunk # queue 8 chunks, but cwnd only allows 3 with self.assertTimerRestarted(client): await client._send(123, 456, b"M" * USERDATA_MAX_LENGTH * 8) self.assertEqual(client._cwnd, 3600) self.assertEqual(client._fast_recovery_exit, None) self.assertEqual(client._flight_size, 3600) self.assertEqual(sent_tsns, [0, 1, 2]) self.assertEqual(outstanding_tsns(client), [0, 1, 2]) self.assertEqual(queued_tsns(client), [3, 4, 5, 6, 7]) # SACK comes in acknowledging chunks 0 and 2 sack = SackChunk() sack.cumulative_tsn = 0 sack.gaps = [(2, 2)] # TSN 1 is missing with self.assertTimerRestarted(client): await client._receive_chunk(sack) self.assertEqual(client._cwnd, 4800) self.assertEqual(client._fast_recovery_exit, None) self.assertEqual(client._flight_size, 4800) self.assertEqual(sent_tsns, [0, 1, 2, 3, 4, 5]) self.assertEqual(outstanding_tsns(client), [1, 2, 3, 4, 5]) self.assertEqual(queued_tsns(client), [6, 7]) # SACK comes in acknowledging chunks 3 and 4 sack = SackChunk() sack.cumulative_tsn = 0 sack.gaps = [(2, 4)] # TSN 1 is missing with self.assertTimerPreserved(client): await client._receive_chunk(sack) self.assertEqual(client._cwnd, 4800) self.assertEqual(client._fast_recovery_exit, None) self.assertEqual(client._flight_size, 4800) self.assertEqual(sent_tsns, [0, 1, 2, 3, 4, 5, 6, 7]) self.assertEqual(outstanding_tsns(client), [1, 2, 3, 4, 5, 6, 7]) self.assertEqual(queued_tsns(client), []) # SACK comes in acknowledging 2 more chunks sack = SackChunk() sack.cumulative_tsn = 0 sack.gaps = [(2, 6)] # TSN 1 is missing with self.assertTimerRestarted(client): await client._receive_chunk(sack) self.assertEqual(client._cwnd, 4800) self.assertEqual(client._fast_recovery_exit, 7) self.assertEqual(client._flight_size, 2400) self.assertEqual(sent_tsns, [0, 1, 2, 3, 4, 5, 6, 7, 1]) self.assertEqual(outstanding_tsns(client), [1, 2, 3, 4, 5, 6, 7]) self.assertEqual(queued_tsns(client), []) # SACK comes in acknowledging final chunks sack = SackChunk() sack.cumulative_tsn = 7 with self.assertTimerStopped(client): await client._receive_chunk(sack) self.assertEqual(client._cwnd, 4800) self.assertEqual(client._fast_recovery_exit, None) self.assertEqual(client._flight_size, 0) self.assertEqual(sent_tsns, [0, 1, 2, 3, 4, 5, 6, 7, 1]) self.assertEqual(outstanding_tsns(client), []) self.assertEqual(queued_tsns(client), []) @asynctest async def test_send_data_with_gap_2_retransmit(self): sent_tsns = [] async def mock_send_chunk(chunk): sent_tsns.append(chunk.tsn) async with client_standalone() as client: client._last_sacked_tsn = 4294967295 client._local_tsn = 0 client._ssthresh = 131072 client._send_chunk = mock_send_chunk # queue 8 chunks, but cwnd only allows 3 with self.assertTimerRestarted(client): await client._send(123, 456, b"M" * USERDATA_MAX_LENGTH * 8) self.assertEqual(client._cwnd, 3600) self.assertEqual(client._fast_recovery_exit, None) self.assertEqual(client._flight_size, 3600) self.assertEqual(sent_tsns, [0, 1, 2]) self.assertEqual(outstanding_tsns(client), [0, 1, 2]) self.assertEqual(queued_tsns(client), [3, 4, 5, 6, 7]) # SACK comes in acknowledging chunk 2 sack = SackChunk() sack.cumulative_tsn = 4294967295 sack.gaps = [(3, 3)] # TSN 0 and 1 are missing with self.assertTimerPreserved(client): await client._receive_chunk(sack) self.assertEqual(client._cwnd, 3600) self.assertEqual(client._fast_recovery_exit, None) self.assertEqual(client._flight_size, 3600) self.assertEqual(sent_tsns, [0, 1, 2, 3]) self.assertEqual(outstanding_tsns(client), [0, 1, 2, 3]) self.assertEqual(queued_tsns(client), [4, 5, 6, 7]) # SACK comes in acknowledging chunk 3 sack = SackChunk() sack.cumulative_tsn = 4294967295 sack.gaps = [(3, 4)] # TSN 0 and 1 are missing with self.assertTimerPreserved(client): await client._receive_chunk(sack) self.assertEqual(client._cwnd, 3600) self.assertEqual(client._fast_recovery_exit, None) self.assertEqual(client._flight_size, 3600) self.assertEqual(sent_tsns, [0, 1, 2, 3, 4]) self.assertEqual(outstanding_tsns(client), [0, 1, 2, 3, 4]) self.assertEqual(queued_tsns(client), [5, 6, 7]) # SACK comes in acknowledging chunk 4 sack = SackChunk() sack.cumulative_tsn = 4294967295 sack.gaps = [(3, 5)] # TSN 0 and 1 are missing with self.assertTimerRestarted(client): await client._receive_chunk(sack) self.assertEqual(client._cwnd, 4800) self.assertEqual(client._fast_recovery_exit, 4) self.assertEqual(client._flight_size, 2400) self.assertEqual(sent_tsns, [0, 1, 2, 3, 4, 0, 1]) self.assertEqual(outstanding_tsns(client), [0, 1, 2, 3, 4]) self.assertEqual(queued_tsns(client), [5, 6, 7]) # SACK comes in acknowledging all chunks up to 4 sack = SackChunk() sack.cumulative_tsn = 4 with self.assertTimerRestarted(client): await client._receive_chunk(sack) self.assertEqual(client._cwnd, 4800) self.assertEqual(client._fast_recovery_exit, None) self.assertEqual(client._flight_size, 3600) self.assertEqual(sent_tsns, [0, 1, 2, 3, 4, 0, 1, 5, 6, 7]) self.assertEqual(outstanding_tsns(client), [5, 6, 7]) self.assertEqual(queued_tsns(client), []) # SACK comes in acknowledging final chunks sack = SackChunk() sack.cumulative_tsn = 7 with self.assertTimerStopped(client): await client._receive_chunk(sack) self.assertEqual(client._cwnd, 4800) self.assertEqual(client._fast_recovery_exit, None) self.assertEqual(client._flight_size, 0) self.assertEqual(sent_tsns, [0, 1, 2, 3, 4, 0, 1, 5, 6, 7]) self.assertEqual(outstanding_tsns(client), []) self.assertEqual(queued_tsns(client), []) @asynctest async def test_send_data_with_gap_3_retransmit(self): sent_tsns = [] async def mock_send_chunk(chunk): sent_tsns.append(chunk.tsn) async with client_standalone() as client: client._last_sacked_tsn = 4294967295 client._local_tsn = 0 client._ssthresh = 131072 client._send_chunk = mock_send_chunk # queue 8 chunks, but cwnd only allows 3 with self.assertTimerRestarted(client): await client._send(123, 456, b"M" * USERDATA_MAX_LENGTH * 8) self.assertEqual(client._cwnd, 3600) self.assertEqual(client._fast_recovery_exit, None) self.assertEqual(client._flight_size, 3600) self.assertEqual(sent_tsns, [0, 1, 2]) self.assertEqual(outstanding_tsns(client), [0, 1, 2]) self.assertEqual(queued_tsns(client), [3, 4, 5, 6, 7]) # SACK comes in acknowledging chunks 0 and 1 sack = SackChunk() sack.cumulative_tsn = 1 with self.assertTimerRestarted(client): await client._receive_chunk(sack) self.assertEqual(client._cwnd, 4800) self.assertEqual(client._fast_recovery_exit, None) self.assertEqual(client._flight_size, 4800) self.assertEqual(sent_tsns, [0, 1, 2, 3, 4, 5]) self.assertEqual(outstanding_tsns(client), [2, 3, 4, 5]) self.assertEqual(queued_tsns(client), [6, 7]) # SACK comes in acknowledging chunk 5 sack = SackChunk() sack.cumulative_tsn = 1 sack.gaps = [(4, 4)] # TSN 2, 3 and 4 are missing with self.assertTimerPreserved(client): await client._receive_chunk(sack) self.assertEqual(client._cwnd, 4800) self.assertEqual(client._fast_recovery_exit, None) self.assertEqual(client._flight_size, 4800) self.assertEqual(sent_tsns, [0, 1, 2, 3, 4, 5, 6]) self.assertEqual(outstanding_tsns(client), [2, 3, 4, 5, 6]) self.assertEqual(queued_tsns(client), [7]) # SACK comes in acknowledging chunk 6 sack = SackChunk() sack.cumulative_tsn = 1 sack.gaps = [(4, 5)] # TSN 2, 3 and 4 are missing with self.assertTimerPreserved(client): await client._receive_chunk(sack) self.assertEqual(client._cwnd, 4800) self.assertEqual(client._fast_recovery_exit, None) self.assertEqual(client._flight_size, 4800) self.assertEqual(sent_tsns, [0, 1, 2, 3, 4, 5, 6, 7]) self.assertEqual(outstanding_tsns(client), [2, 3, 4, 5, 6, 7]) self.assertEqual(queued_tsns(client), []) # artificially raise flight size to hit cwnd client._flight_size += 2400 # SACK comes in acknowledging chunk 7 sack = SackChunk() sack.cumulative_tsn = 1 sack.gaps = [(4, 6)] # TSN 2, 3 and 4 are missing with self.assertTimerRestarted(client): await client._receive_chunk(sack) self.assertEqual(client._cwnd, 4800) self.assertEqual(client._fast_recovery_exit, 7) self.assertEqual(client._flight_size, 4800) self.assertEqual(sent_tsns, [0, 1, 2, 3, 4, 5, 6, 7, 2, 3]) self.assertEqual(outstanding_tsns(client), [2, 3, 4, 5, 6, 7]) self.assertEqual(queued_tsns(client), []) # SACK comes in acknowledging all chunks up to 3, and 5, 6, 7 sack = SackChunk() sack.cumulative_tsn = 3 sack.gaps = [(2, 4)] # TSN 4 is missing with self.assertTimerRestarted(client): await client._receive_chunk(sack) self.assertEqual(client._cwnd, 4800) self.assertEqual(client._fast_recovery_exit, 7) self.assertEqual(client._flight_size, 3600) self.assertEqual(sent_tsns, [0, 1, 2, 3, 4, 5, 6, 7, 2, 3, 4]) self.assertEqual(outstanding_tsns(client), [4, 5, 6, 7]) self.assertEqual(queued_tsns(client), []) # SACK comes in ackowledging all chunks sack = SackChunk() sack.cumulative_tsn = 7 with self.assertTimerStopped(client): await client._receive_chunk(sack) self.assertEqual(client._cwnd, 4800) self.assertEqual(client._fast_recovery_exit, None) self.assertEqual(client._flight_size, 2400) self.assertEqual(sent_tsns, [0, 1, 2, 3, 4, 5, 6, 7, 2, 3, 4]) self.assertEqual(outstanding_tsns(client), []) self.assertEqual(queued_tsns(client), []) @asynctest async def test_t2_expired_when_shutdown_ack_sent(self): async def mock_send_chunk(chunk): pass async with client_standalone() as client: client._send_chunk = mock_send_chunk chunk = ShutdownAckChunk() # fails once client._set_state(RTCSctpTransport.State.SHUTDOWN_ACK_SENT) client._t2_start(chunk) client._t2_expired() self.assertEqual(client._t2_failures, 1) self.assertIsNotNone(client._t2_handle) self.assertEqual( client._association_state, RTCSctpTransport.State.SHUTDOWN_ACK_SENT ) # fails 10 times client._t2_failures = 9 client._t2_expired() self.assertEqual(client._t2_failures, 10) self.assertIsNotNone(client._t2_handle) self.assertEqual( client._association_state, RTCSctpTransport.State.SHUTDOWN_ACK_SENT ) # fails 11 times client._t2_expired() self.assertEqual(client._t2_failures, 11) self.assertIsNone(client._t2_handle) self.assertEqual(client._association_state, RTCSctpTransport.State.CLOSED) # let async code complete await asyncio.sleep(0) @asynctest async def test_t3_expired(self): async def mock_send_chunk(chunk): pass async def mock_transmit(): pass async with client_standalone() as client: client._local_tsn = 0 client._send_chunk = mock_send_chunk # 1 chunk await client._send(123, 456, b"M" * USERDATA_MAX_LENGTH) self.assertIsNotNone(client._t3_handle) self.assertEqual(outstanding_tsns(client), [0]) self.assertEqual(queued_tsns(client), []) # t3 expires client._transmit = mock_transmit client._t3_expired() self.assertIsNone(client._t3_handle) self.assertEqual(outstanding_tsns(client), [0]) self.assertEqual(queued_tsns(client), []) for chunk in client._outbound_queue: self.assertEqual(chunk._retransmit, True) # let async code complete await asyncio.sleep(0) aiortc-1.11.0/tests/test_rtcsessiondescription.py000066400000000000000000000011561477147103300223000ustar00rootroot00000000000000from unittest import TestCase from aiortc import RTCSessionDescription class RTCSessionDescriptionTest(TestCase): def test_bad_type(self): with self.assertRaises(ValueError) as cm: RTCSessionDescription(sdp="v=0\r\n", type="bogus") self.assertEqual( str(cm.exception), "'type' must be in ['offer', 'pranswer', 'answer', 'rollback'] " "(got 'bogus')", ) def test_good_type(self): desc = RTCSessionDescription(sdp="v=0\r\n", type="answer") self.assertEqual(desc.sdp, "v=0\r\n") self.assertEqual(desc.type, "answer") aiortc-1.11.0/tests/test_rtp.py000066400000000000000000000635721477147103300164570ustar00rootroot00000000000000import fractions import math import sys from unittest import TestCase from aiortc import rtp from aiortc.rtcrtpparameters import RTCRtpHeaderExtensionParameters, RTCRtpParameters from aiortc.rtp import ( RtcpByePacket, RtcpPacket, RtcpPsfbPacket, RtcpRrPacket, RtcpRtpfbPacket, RtcpSdesPacket, RtcpSrPacket, RtpPacket, clamp_packets_lost, pack_header_extensions, pack_packets_lost, pack_remb_fci, unpack_header_extensions, unpack_packets_lost, unpack_remb_fci, unwrap_rtx, wrap_rtx, ) from av import AudioFrame from .utils import load def create_audio_frame(sample_func, samples, pts, layout="mono", sample_rate=48000): frame = AudioFrame(format="s16", layout=layout, samples=samples) for p in frame.planes: buf = bytearray() for i in range(samples): sample = int(sample_func(i) * 32767) buf.extend(int.to_bytes(sample, 2, sys.byteorder, signed=True)) p.update(buf) frame.pts = pts frame.sample_rate = sample_rate frame.time_base = fractions.Fraction(1, sample_rate) return frame class RtcpPacketTest(TestCase): def test_bye(self): data = load("rtcp_bye.bin") packets = RtcpPacket.parse(data) self.assertEqual(len(packets), 1) packet = packets[0] self.assertIsInstance(packet, RtcpByePacket) self.assertEqual(packet.sources, [2924645187]) self.assertEqual(bytes(packet), data) self.assertEqual(repr(packet), "RtcpByePacket(sources=[2924645187])") def test_bye_invalid(self): data = load("rtcp_bye_invalid.bin") with self.assertRaises(ValueError) as cm: RtcpPacket.parse(data) self.assertEqual(str(cm.exception), "RTCP bye length is invalid") def test_bye_no_sources(self): data = load("rtcp_bye_no_sources.bin") packets = RtcpPacket.parse(data) self.assertEqual(len(packets), 1) packet = packets[0] self.assertIsInstance(packet, RtcpByePacket) self.assertEqual(packet.sources, []) self.assertEqual(bytes(packet), data) self.assertEqual(repr(packet), "RtcpByePacket(sources=[])") def test_bye_only_padding(self): data = load("rtcp_bye_padding.bin") packets = RtcpPacket.parse(data) self.assertEqual(len(packets), 1) packet = packets[0] self.assertIsInstance(packet, RtcpByePacket) self.assertEqual(packet.sources, []) self.assertEqual(bytes(packet), b"\x80\xcb\x00\x00") self.assertEqual(repr(packet), "RtcpByePacket(sources=[])") def test_bye_only_padding_zero(self): data = load("rtcp_bye_padding.bin")[0:4] + b"\x00\x00\x00\x00" with self.assertRaises(ValueError) as cm: RtcpPacket.parse(data) self.assertEqual(str(cm.exception), "RTCP packet padding length is invalid") def test_psfb_invalid(self): data = load("rtcp_psfb_invalid.bin") with self.assertRaises(ValueError) as cm: RtcpPacket.parse(data) self.assertEqual( str(cm.exception), "RTCP payload-specific feedback length is invalid" ) def test_psfb_pli(self): data = load("rtcp_psfb_pli.bin") packets = RtcpPacket.parse(data) self.assertEqual(len(packets), 1) packet = packets[0] self.assertIsInstance(packet, RtcpPsfbPacket) self.assertEqual(packet.fmt, 1) self.assertEqual(packet.ssrc, 1414554213) self.assertEqual(packet.media_ssrc, 587284409) self.assertEqual(packet.fci, b"") self.assertEqual(bytes(packet), data) def test_rr(self): data = load("rtcp_rr.bin") packets = RtcpPacket.parse(data) self.assertEqual(len(packets), 1) packet = packets[0] self.assertIsInstance(packet, RtcpRrPacket) self.assertEqual(packet.ssrc, 817267719) self.assertEqual(packet.reports[0].ssrc, 1200895919) self.assertEqual(packet.reports[0].fraction_lost, 0) self.assertEqual(packet.reports[0].packets_lost, 0) self.assertEqual(packet.reports[0].highest_sequence, 630) self.assertEqual(packet.reports[0].jitter, 1906) self.assertEqual(packet.reports[0].lsr, 0) self.assertEqual(packet.reports[0].dlsr, 0) self.assertEqual(bytes(packet), data) def test_rr_invalid(self): data = load("rtcp_rr_invalid.bin") with self.assertRaises(ValueError) as cm: RtcpPacket.parse(data) self.assertEqual(str(cm.exception), "RTCP receiver report length is invalid") def test_rr_truncated(self): data = load("rtcp_rr.bin") for length in range(1, 4): with self.assertRaises(ValueError) as cm: RtcpPacket.parse(data[0:length]) self.assertEqual( str(cm.exception), "RTCP packet length is less than 4 bytes" ) for length in range(4, 32): with self.assertRaises(ValueError) as cm: RtcpPacket.parse(data[0:length]) self.assertEqual(str(cm.exception), "RTCP packet is truncated") def test_sdes(self): data = load("rtcp_sdes.bin") packets = RtcpPacket.parse(data) self.assertEqual(len(packets), 1) packet = packets[0] self.assertIsInstance(packet, RtcpSdesPacket) self.assertEqual(packet.chunks[0].ssrc, 1831097322) self.assertEqual( packet.chunks[0].items, [(1, b"{63f459ea-41fe-4474-9d33-9707c9ee79d1}")] ) self.assertEqual(bytes(packet), data) def test_sdes_item_truncated(self): data = load("rtcp_sdes_item_truncated.bin") with self.assertRaises(ValueError) as cm: RtcpPacket.parse(data) self.assertEqual(str(cm.exception), "RTCP SDES item is truncated") def test_sdes_source_truncated(self): data = load("rtcp_sdes_source_truncated.bin") with self.assertRaises(ValueError) as cm: RtcpPacket.parse(data) self.assertEqual(str(cm.exception), "RTCP SDES source is truncated") def test_sr(self): data = load("rtcp_sr.bin") packets = RtcpPacket.parse(data) self.assertEqual(len(packets), 1) packet = packets[0] self.assertIsInstance(packet, RtcpSrPacket) self.assertEqual(packet.ssrc, 1831097322) self.assertEqual(packet.sender_info.ntp_timestamp, 16016567581311369308) self.assertEqual(packet.sender_info.rtp_timestamp, 1722342718) self.assertEqual(packet.sender_info.packet_count, 269) self.assertEqual(packet.sender_info.octet_count, 13557) self.assertEqual(len(packet.reports), 1) self.assertEqual(packet.reports[0].ssrc, 2398654957) self.assertEqual(packet.reports[0].fraction_lost, 0) self.assertEqual(packet.reports[0].packets_lost, 0) self.assertEqual(packet.reports[0].highest_sequence, 246) self.assertEqual(packet.reports[0].jitter, 127) self.assertEqual(packet.reports[0].lsr, 0) self.assertEqual(packet.reports[0].dlsr, 0) self.assertEqual(bytes(packet), data) def test_sr_invalid(self): data = load("rtcp_sr_invalid.bin") with self.assertRaises(ValueError) as cm: RtcpPacket.parse(data) self.assertEqual(str(cm.exception), "RTCP sender report length is invalid") def test_rtpfb(self): data = load("rtcp_rtpfb.bin") packets = RtcpPacket.parse(data) self.assertEqual(len(packets), 1) packet = packets[0] self.assertIsInstance(packet, RtcpRtpfbPacket) self.assertEqual(packet.fmt, 1) self.assertEqual(packet.ssrc, 2336520123) self.assertEqual(packet.media_ssrc, 4145934052) self.assertEqual( packet.lost, [12, 32, 39, 54, 76, 110, 123, 142, 183, 187, 223, 236, 271, 292], ) self.assertEqual(bytes(packet), data) def test_rtpfb_invalid(self): data = load("rtcp_rtpfb_invalid.bin") with self.assertRaises(ValueError) as cm: RtcpPacket.parse(data) self.assertEqual(str(cm.exception), "RTCP RTP feedback length is invalid") def test_compound(self): data = load("rtcp_sr.bin") + load("rtcp_sdes.bin") packets = RtcpPacket.parse(data) self.assertEqual(len(packets), 2) self.assertIsInstance(packets[0], RtcpSrPacket) self.assertIsInstance(packets[1], RtcpSdesPacket) def test_bad_version(self): data = b"\xc0" + load("rtcp_rr.bin")[1:] with self.assertRaises(ValueError) as cm: RtcpPacket.parse(data) self.assertEqual(str(cm.exception), "RTCP packet has invalid version") class RtpPacketTest(TestCase): def test_dtmf(self): data = load("rtp_dtmf.bin") packet = RtpPacket.parse(data) self.assertEqual(packet.version, 2) self.assertEqual(packet.marker, 1) self.assertEqual(packet.payload_type, 101) self.assertEqual(packet.sequence_number, 24152) self.assertEqual(packet.timestamp, 4021352124) self.assertEqual(packet.csrc, []) self.assertEqual(packet.extensions, rtp.HeaderExtensions()) self.assertEqual(len(packet.payload), 4) self.assertEqual(packet.serialize(), data) def test_no_ssrc(self): data = load("rtp.bin") packet = RtpPacket.parse(data) self.assertEqual(packet.version, 2) self.assertEqual(packet.marker, 0) self.assertEqual(packet.payload_type, 0) self.assertEqual(packet.sequence_number, 15743) self.assertEqual(packet.timestamp, 3937035252) self.assertEqual(packet.csrc, []) self.assertEqual(packet.extensions, rtp.HeaderExtensions()) self.assertEqual(len(packet.payload), 160) self.assertEqual(packet.serialize(), data) self.assertEqual( repr(packet), "RtpPacket(seq=15743, ts=3937035252, marker=0, payload=0, 160 bytes)", ) def test_padding_only(self): data = load("rtp_only_padding.bin") packet = RtpPacket.parse(data) self.assertEqual(packet.version, 2) self.assertEqual(packet.marker, 0) self.assertEqual(packet.payload_type, 120) self.assertEqual(packet.sequence_number, 27759) self.assertEqual(packet.timestamp, 4044047131) self.assertEqual(packet.csrc, []) self.assertEqual(packet.extensions, rtp.HeaderExtensions()) self.assertEqual(len(packet.payload), 0) self.assertEqual(packet.padding_size, 224) serialized = packet.serialize() self.assertEqual(len(serialized), len(data)) self.assertEqual(serialized[0:12], data[0:12]) self.assertEqual(serialized[-1], data[-1]) def test_padding_only_with_header_extensions(self): extensions_map = rtp.HeaderExtensionsMap() extensions_map.configure( RTCRtpParameters( headerExtensions=[ RTCRtpHeaderExtensionParameters( id=2, uri="http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time", ) ] ) ) data = load("rtp_only_padding_with_header_extensions.bin") packet = RtpPacket.parse(data, extensions_map) self.assertEqual(packet.version, 2) self.assertEqual(packet.marker, 0) self.assertEqual(packet.payload_type, 98) self.assertEqual(packet.sequence_number, 22138) self.assertEqual(packet.timestamp, 3171065731) self.assertEqual(packet.csrc, []) self.assertEqual( packet.extensions, rtp.HeaderExtensions(abs_send_time=15846540) ) self.assertEqual(len(packet.payload), 0) self.assertEqual(packet.padding_size, 224) serialized = packet.serialize(extensions_map) self.assertEqual(len(serialized), len(data)) self.assertEqual(serialized[0:20], data[0:20]) self.assertEqual(serialized[-1], data[-1]) def test_padding_too_long(self): data = load("rtp_only_padding.bin")[0:12] + b"\x02" with self.assertRaises(ValueError) as cm: RtpPacket.parse(data) self.assertEqual(str(cm.exception), "RTP packet padding length is invalid") def test_padding_zero(self): data = load("rtp_only_padding.bin")[0:12] + b"\x00" with self.assertRaises(ValueError) as cm: RtpPacket.parse(data) self.assertEqual(str(cm.exception), "RTP packet padding length is invalid") def test_with_csrc(self): data = load("rtp_with_csrc.bin") packet = RtpPacket.parse(data) self.assertEqual(packet.version, 2) self.assertEqual(packet.marker, 0) self.assertEqual(packet.payload_type, 0) self.assertEqual(packet.sequence_number, 16082) self.assertEqual(packet.timestamp, 144) self.assertEqual(packet.csrc, [2882400001, 3735928559]) self.assertEqual(packet.extensions, rtp.HeaderExtensions()) self.assertEqual(len(packet.payload), 160) self.assertEqual(packet.serialize(), data) def test_with_csrc_truncated(self): data = load("rtp_with_csrc.bin") for length in range(12, 20): with self.assertRaises(ValueError) as cm: RtpPacket.parse(data[0:length]) self.assertEqual(str(cm.exception), "RTP packet has truncated CSRC") def test_with_sdes_mid(self): extensions_map = rtp.HeaderExtensionsMap() extensions_map.configure( RTCRtpParameters( headerExtensions=[ RTCRtpHeaderExtensionParameters( id=9, uri="urn:ietf:params:rtp-hdrext:sdes:mid" ) ] ) ) data = load("rtp_with_sdes_mid.bin") packet = RtpPacket.parse(data, extensions_map) self.assertEqual(packet.version, 2) self.assertEqual(packet.marker, 1) self.assertEqual(packet.payload_type, 111) self.assertEqual(packet.sequence_number, 14156) self.assertEqual(packet.timestamp, 1327210925) self.assertEqual(packet.csrc, []) self.assertEqual(packet.extensions, rtp.HeaderExtensions(mid="0")) self.assertEqual(len(packet.payload), 54) self.assertEqual(packet.serialize(extensions_map), data) def test_with_sdes_mid_truncated(self): data = load("rtp_with_sdes_mid.bin") for length in range(12, 16): with self.assertRaises(ValueError) as cm: RtpPacket.parse(data[0:length]) self.assertEqual( str(cm.exception), "RTP packet has truncated extension profile / length" ) for length in range(16, 20): with self.assertRaises(ValueError) as cm: RtpPacket.parse(data[0:length]) self.assertEqual( str(cm.exception), "RTP packet has truncated extension value" ) def test_truncated(self): data = load("rtp.bin")[0:11] with self.assertRaises(ValueError) as cm: RtpPacket.parse(data) self.assertEqual(str(cm.exception), "RTP packet length is less than 12 bytes") def test_bad_version(self): data = b"\xc0" + load("rtp.bin")[1:] with self.assertRaises(ValueError) as cm: RtpPacket.parse(data) self.assertEqual(str(cm.exception), "RTP packet has invalid version") class RtpUtilTest(TestCase): def test_clamp_packets_lost(self): self.assertEqual(clamp_packets_lost(-8388609), -8388608) self.assertEqual(clamp_packets_lost(-8388608), -8388608) self.assertEqual(clamp_packets_lost(0), 0) self.assertEqual(clamp_packets_lost(8388607), 8388607) self.assertEqual(clamp_packets_lost(8388608), 8388607) def test_pack_packets_lost(self): self.assertEqual(pack_packets_lost(-8388608), b"\x80\x00\x00") self.assertEqual(pack_packets_lost(-1), b"\xff\xff\xff") self.assertEqual(pack_packets_lost(0), b"\x00\x00\x00") self.assertEqual(pack_packets_lost(1), b"\x00\x00\x01") self.assertEqual(pack_packets_lost(8388607), b"\x7f\xff\xff") def test_pack_remb_fci(self): # exponent = 0, mantissa = 0 data = pack_remb_fci(0, [2529072847]) self.assertEqual(data, b"REMB\x01\x00\x00\x00\x96\xbe\x96\xcf") # exponent = 0, mantissa = 0x3ffff data = pack_remb_fci(0x3FFFF, [2529072847]) self.assertEqual(data, b"REMB\x01\x03\xff\xff\x96\xbe\x96\xcf") # exponent = 1, mantissa = 0 data = pack_remb_fci(0x40000, [2529072847]) self.assertEqual(data, b"REMB\x01\x06\x00\x00\x96\xbe\x96\xcf") data = pack_remb_fci(4160000, [2529072847]) self.assertEqual(data, b"REMB\x01\x13\xf7\xa0\x96\xbe\x96\xcf") # exponent = 63, mantissa = 0x3ffff data = pack_remb_fci(0x3FFFF << 63, [2529072847]) self.assertEqual(data, b"REMB\x01\xff\xff\xff\x96\xbe\x96\xcf") def test_unpack_packets_lost(self): self.assertEqual(unpack_packets_lost(b"\x80\x00\x00"), -8388608) self.assertEqual(unpack_packets_lost(b"\xff\xff\xff"), -1) self.assertEqual(unpack_packets_lost(b"\x00\x00\x00"), 0) self.assertEqual(unpack_packets_lost(b"\x00\x00\x01"), 1) self.assertEqual(unpack_packets_lost(b"\x7f\xff\xff"), 8388607) def test_unpack_remb_fci(self): # junk with self.assertRaises(ValueError): unpack_remb_fci(b"JUNK") # exponent = 0, mantissa = 0 bitrate, ssrcs = unpack_remb_fci(b"REMB\x01\x00\x00\x00\x96\xbe\x96\xcf") self.assertEqual(bitrate, 0) self.assertEqual(ssrcs, [2529072847]) # exponent = 0, mantissa = 0x3ffff bitrate, ssrcs = unpack_remb_fci(b"REMB\x01\x03\xff\xff\x96\xbe\x96\xcf") self.assertEqual(bitrate, 0x3FFFF) self.assertEqual(ssrcs, [2529072847]) # exponent = 1, mantissa = 0 bitrate, ssrcs = unpack_remb_fci(b"REMB\x01\x06\x00\x00\x96\xbe\x96\xcf") self.assertEqual(bitrate, 0x40000) self.assertEqual(ssrcs, [2529072847]) # 4160000 bps bitrate, ssrcs = unpack_remb_fci(b"REMB\x01\x13\xf7\xa0\x96\xbe\x96\xcf") self.assertEqual(bitrate, 4160000) self.assertEqual(ssrcs, [2529072847]) # exponent = 63, mantissa = 0x3ffff bitrate, ssrcs = unpack_remb_fci(b"REMB\x01\xff\xff\xff\x96\xbe\x96\xcf") self.assertEqual(bitrate, 0x3FFFF << 63) self.assertEqual(ssrcs, [2529072847]) def test_unpack_header_extensions(self): # none self.assertEqual(unpack_header_extensions(0, None), []) # one-byte, value self.assertEqual(unpack_header_extensions(0xBEDE, b"\x900"), [(9, b"0")]) # one-byte, value, padding, value self.assertEqual( unpack_header_extensions(0xBEDE, b"\x900\x00\x00\x301"), [(9, b"0"), (3, b"1")], ) # one-byte, value, value self.assertEqual( unpack_header_extensions(0xBEDE, b"\x10\xc18sdparta_0"), [(1, b"\xc1"), (3, b"sdparta_0")], ) # two-byte, value self.assertEqual(unpack_header_extensions(0x1000, b"\xff\x010"), [(255, b"0")]) # two-byte, value (1 byte), padding, value (2 bytes) self.assertEqual( unpack_header_extensions(0x1000, b"\xff\x010\x00\xf0\x0212"), [(255, b"0"), (240, b"12")], ) def test_unpack_header_extensions_bad(self): # one-byte, value (truncated) with self.assertRaises(ValueError) as cm: unpack_header_extensions(0xBEDE, b"\x90") self.assertEqual( str(cm.exception), "RTP one-byte header extension value is truncated" ) # two-byte (truncated) with self.assertRaises(ValueError) as cm: unpack_header_extensions(0x1000, b"\xff") self.assertEqual( str(cm.exception), "RTP two-byte header extension is truncated" ) # two-byte, value (truncated) with self.assertRaises(ValueError) as cm: unpack_header_extensions(0x1000, b"\xff\x020") self.assertEqual( str(cm.exception), "RTP two-byte header extension value is truncated" ) def test_pack_header_extensions(self): # none self.assertEqual(pack_header_extensions([]), (0, b"")) # one-byte, single value self.assertEqual( pack_header_extensions([(9, b"0")]), (0xBEDE, b"\x900\x00\x00") ) # one-byte, two values self.assertEqual( pack_header_extensions([(1, b"\xc1"), (3, b"sdparta_0")]), (0xBEDE, b"\x10\xc18sdparta_0"), ) # two-byte, single value self.assertEqual( pack_header_extensions([(255, b"0")]), (0x1000, b"\xff\x010\x00") ) def test_map_header_extensions(self): data = bytearray( [ 0x90, 0x64, 0x00, 0x58, 0x65, 0x43, 0x12, 0x78, 0x12, 0x34, 0x56, 0x78, # SSRC 0xBE, 0xDE, 0x00, 0x08, # Extension of size 8x32bit words. 0x40, 0xDA, # AudioLevel. 0x22, 0x01, 0x56, 0xCE, # TransmissionOffset. 0x62, 0x12, 0x34, 0x56, # AbsoluteSendTime. 0x81, 0xCE, 0xAB, # TransportSequenceNumber. 0xA0, 0x03, # VideoRotation. 0xB2, 0x12, 0x48, 0x76, # PlayoutDelayLimits. 0xC2, 0x72, 0x74, 0x78, # RtpStreamId 0xD5, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6D, # RepairedRtpStreamId 0x00, 0x00, # Padding to 32bit boundary. ] ) extensions_map = rtp.HeaderExtensionsMap() extensions_map.configure( RTCRtpParameters( headerExtensions=[ RTCRtpHeaderExtensionParameters( id=2, uri="urn:ietf:params:rtp-hdrext:toffset" ), RTCRtpHeaderExtensionParameters( id=4, uri="urn:ietf:params:rtp-hdrext:ssrc-audio-level" ), RTCRtpHeaderExtensionParameters( id=6, uri="http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time", ), RTCRtpHeaderExtensionParameters( id=8, uri="http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01", ), RTCRtpHeaderExtensionParameters( id=12, uri="urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id" ), RTCRtpHeaderExtensionParameters( id=13, uri="urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id", ), ] ) ) packet = RtpPacket.parse(data, extensions_map) # check mapped values self.assertEqual(packet.extensions.abs_send_time, 0x123456) self.assertEqual(packet.extensions.audio_level, (True, 90)) self.assertEqual(packet.extensions.mid, None) self.assertEqual(packet.extensions.repaired_rtp_stream_id, "stream") self.assertEqual(packet.extensions.rtp_stream_id, "rtx") self.assertEqual(packet.extensions.transmission_offset, 0x156CE) self.assertEqual(packet.extensions.transport_sequence_number, 0xCEAB) # TODO: check packet.serialize(extensions_map) def test_rtx(self): extensions_map = rtp.HeaderExtensionsMap() extensions_map.configure( RTCRtpParameters( headerExtensions=[ RTCRtpHeaderExtensionParameters( id=9, uri="urn:ietf:params:rtp-hdrext:sdes:mid" ) ] ) ) data = load("rtp_with_sdes_mid.bin") packet = RtpPacket.parse(data, extensions_map) # wrap / unwrap RTX rtx = wrap_rtx(packet, payload_type=112, sequence_number=12345, ssrc=1234) recovered = unwrap_rtx(rtx, payload_type=111, ssrc=4084547440) # check roundtrip self.assertEqual(recovered.version, packet.version) self.assertEqual(recovered.marker, packet.marker) self.assertEqual(recovered.payload_type, packet.payload_type) self.assertEqual(recovered.sequence_number, packet.sequence_number) self.assertEqual(recovered.timestamp, packet.timestamp) self.assertEqual(recovered.ssrc, packet.ssrc) self.assertEqual(recovered.csrc, packet.csrc) self.assertEqual(recovered.extensions, packet.extensions) self.assertEqual(recovered.payload, packet.payload) def test_compute_audio_level_dbov(self): num_samples = 960 # 20ms @ 48kHz # test a frame of all zeroes (-127 dBov, the minimum value) silent_frame = create_audio_frame(lambda n: 0.0, num_samples, 0) self.assertEqual(rtp.compute_audio_level_dbov(silent_frame), -127) # test a 50Hz square wave (0 dBov, the maximum value) square_frame = create_audio_frame( lambda n: 1.0 if n < num_samples / 2 else -1.0, num_samples, 0 ) self.assertEqual(rtp.compute_audio_level_dbov(square_frame), 0) # test a 50Hz sine wave (-3 dBov, the maximum value for a sine wave) sine_frame = create_audio_frame( lambda n: math.sin(2 * math.pi * n / num_samples), num_samples, 0 ) self.assertEqual(rtp.compute_audio_level_dbov(sine_frame), -3) aiortc-1.11.0/tests/test_sdp.py000066400000000000000000002255471477147103300164420ustar00rootroot00000000000000# ruff: noqa: E501 from unittest import TestCase from aiortc.rtcrtpparameters import ( RTCRtcpFeedback, RTCRtpCodecParameters, RTCRtpHeaderExtensionParameters, ) from aiortc.sdp import ( GroupDescription, H264Level, H264Profile, SessionDescription, SsrcDescription, parse_h264_profile_level_id, ) from .utils import lf2crlf class SdpTest(TestCase): maxDiff = None def test_audio_chrome(self): d = SessionDescription.parse( lf2crlf( """v=0 o=- 863426017819471768 2 IN IP4 127.0.0.1 s=- t=0 0 a=group:BUNDLE audio a=msid-semantic: WMS TF6VRif1dxuAfe5uefrV2953LhUZt1keYvxU m=audio 45076 UDP/TLS/RTP/SAVPF 111 103 104 9 0 8 106 105 13 110 112 113 126 c=IN IP4 192.168.99.58 a=rtcp:9 IN IP4 0.0.0.0 a=candidate:2665802302 1 udp 2122262783 2a02:a03f:3eb0:e000:b0aa:d60a:cff2:933c 38475 typ host generation 0 network-id 2 network-cost 10 a=candidate:1039001212 1 udp 2122194687 192.168.99.58 45076 typ host generation 0 network-id 1 network-cost 10 a=candidate:3496416974 1 tcp 1518283007 2a02:a03f:3eb0:e000:b0aa:d60a:cff2:933c 9 typ host tcptype active generation 0 network-id 2 network-cost 10 a=candidate:1936595596 1 tcp 1518214911 192.168.99.58 9 typ host tcptype active generation 0 network-id 1 network-cost 10 a=ice-ufrag:5+Ix a=ice-pwd:uK8IlylxzDMUhrkVzdmj0M+v a=ice-options:trickle a=fingerprint:sha-256 6B:8B:5D:EA:59:04:20:23:29:C8:87:1C:CC:87:32:BE:DD:8C:66:A5:8E:50:55:EA:8C:D3:B6:5C:09:5E:D6:BC a=setup:actpass a=mid:audio a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level a=sendrecv a=rtcp-mux a=rtpmap:111 opus/48000/2 a=rtcp-fb:111 transport-cc a=fmtp:111 minptime=10;useinbandfec=1 a=rtpmap:103 ISAC/16000 a=rtpmap:104 ISAC/32000 a=rtpmap:9 G722/8000 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 a=rtpmap:106 CN/32000 a=rtpmap:105 CN/16000 a=rtpmap:13 CN/8000 a=rtpmap:110 telephone-event/48000 a=rtpmap:112 telephone-event/32000 a=rtpmap:113 telephone-event/16000 a=rtpmap:126 telephone-event/8000 a=ssrc:1944796561 cname:/vC4ULAr8vHNjXmq a=ssrc:1944796561 msid:TF6VRif1dxuAfe5uefrV2953LhUZt1keYvxU ec1eb8de-8df8-4956-ae81-879e5d062d12 a=ssrc:1944796561 mslabel:TF6VRif1dxuAfe5uefrV2953LhUZt1keYvxU a=ssrc:1944796561 label:ec1eb8de-8df8-4956-ae81-879e5d062d12""" ) ) self.assertEqual( d.group, [GroupDescription(semantic="BUNDLE", items=["audio"])] ) self.assertEqual( d.msid_semantic, [ GroupDescription( semantic="WMS", items=["TF6VRif1dxuAfe5uefrV2953LhUZt1keYvxU"] ) ], ) self.assertEqual(d.host, None) self.assertEqual(d.name, "-") self.assertEqual(d.origin, "- 863426017819471768 2 IN IP4 127.0.0.1") self.assertEqual(d.time, "0 0") self.assertEqual(d.version, 0) self.assertEqual(len(d.media), 1) self.assertEqual(d.media[0].kind, "audio") self.assertEqual(d.media[0].host, "192.168.99.58") self.assertEqual(d.media[0].port, 45076) self.assertEqual(d.media[0].profile, "UDP/TLS/RTP/SAVPF") self.assertEqual(d.media[0].direction, "sendrecv") self.assertEqual(d.media[0].msid, None) self.assertEqual( d.media[0].rtp.codecs, [ RTCRtpCodecParameters( mimeType="audio/opus", clockRate=48000, channels=2, payloadType=111, rtcpFeedback=[RTCRtcpFeedback(type="transport-cc")], parameters={"minptime": 10, "useinbandfec": 1}, ), RTCRtpCodecParameters( mimeType="audio/ISAC", clockRate=16000, channels=1, payloadType=103 ), RTCRtpCodecParameters( mimeType="audio/ISAC", clockRate=32000, channels=1, payloadType=104 ), RTCRtpCodecParameters( mimeType="audio/G722", clockRate=8000, channels=1, payloadType=9 ), RTCRtpCodecParameters( mimeType="audio/PCMU", clockRate=8000, channels=1, payloadType=0 ), RTCRtpCodecParameters( mimeType="audio/PCMA", clockRate=8000, channels=1, payloadType=8 ), RTCRtpCodecParameters( mimeType="audio/CN", clockRate=32000, channels=1, payloadType=106 ), RTCRtpCodecParameters( mimeType="audio/CN", clockRate=16000, channels=1, payloadType=105 ), RTCRtpCodecParameters( mimeType="audio/CN", clockRate=8000, channels=1, payloadType=13 ), RTCRtpCodecParameters( mimeType="audio/telephone-event", clockRate=48000, channels=1, payloadType=110, ), RTCRtpCodecParameters( mimeType="audio/telephone-event", clockRate=32000, channels=1, payloadType=112, ), RTCRtpCodecParameters( mimeType="audio/telephone-event", clockRate=16000, channels=1, payloadType=113, ), RTCRtpCodecParameters( mimeType="audio/telephone-event", clockRate=8000, channels=1, payloadType=126, ), ], ) self.assertEqual( d.media[0].rtp.headerExtensions, [ RTCRtpHeaderExtensionParameters( id=1, uri="urn:ietf:params:rtp-hdrext:ssrc-audio-level" ) ], ) self.assertEqual(d.media[0].rtp.muxId, "audio") self.assertEqual(d.media[0].rtcp_host, "0.0.0.0") self.assertEqual(d.media[0].rtcp_port, 9) self.assertEqual(d.media[0].rtcp_mux, True) # ssrc self.assertEqual( d.media[0].ssrc, [ SsrcDescription( ssrc=1944796561, cname="/vC4ULAr8vHNjXmq", msid="TF6VRif1dxuAfe5uefrV2953LhUZt1keYvxU ec1eb8de-8df8-4956-ae81-879e5d062d12", mslabel="TF6VRif1dxuAfe5uefrV2953LhUZt1keYvxU", label="ec1eb8de-8df8-4956-ae81-879e5d062d12", ) ], ) self.assertEqual(d.media[0].ssrc_group, []) # formats self.assertEqual( d.media[0].fmt, [111, 103, 104, 9, 0, 8, 106, 105, 13, 110, 112, 113, 126] ) self.assertEqual(d.media[0].sctpmap, {}) self.assertEqual(d.media[0].sctp_port, None) # ice self.assertEqual(len(d.media[0].ice_candidates), 4) self.assertEqual(d.media[0].ice_candidates_complete, False) self.assertEqual(d.media[0].ice_options, "trickle") self.assertEqual(d.media[0].ice.iceLite, False) self.assertEqual(d.media[0].ice.usernameFragment, "5+Ix") self.assertEqual(d.media[0].ice.password, "uK8IlylxzDMUhrkVzdmj0M+v") # dtls self.assertEqual(len(d.media[0].dtls.fingerprints), 1) self.assertEqual(d.media[0].dtls.fingerprints[0].algorithm, "sha-256") self.assertEqual( d.media[0].dtls.fingerprints[0].value, "6B:8B:5D:EA:59:04:20:23:29:C8:87:1C:CC:87:32:BE:DD:8C:66:A5:8E:50:55:EA:8C:D3:B6:5C:09:5E:D6:BC", ) self.assertEqual(d.media[0].dtls.role, "auto") self.assertEqual( str(d), lf2crlf( """v=0 o=- 863426017819471768 2 IN IP4 127.0.0.1 s=- t=0 0 a=group:BUNDLE audio a=msid-semantic:WMS TF6VRif1dxuAfe5uefrV2953LhUZt1keYvxU m=audio 45076 UDP/TLS/RTP/SAVPF 111 103 104 9 0 8 106 105 13 110 112 113 126 c=IN IP4 192.168.99.58 a=sendrecv a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level a=mid:audio a=rtcp:9 IN IP4 0.0.0.0 a=rtcp-mux a=ssrc:1944796561 cname:/vC4ULAr8vHNjXmq a=ssrc:1944796561 msid:TF6VRif1dxuAfe5uefrV2953LhUZt1keYvxU ec1eb8de-8df8-4956-ae81-879e5d062d12 a=ssrc:1944796561 mslabel:TF6VRif1dxuAfe5uefrV2953LhUZt1keYvxU a=ssrc:1944796561 label:ec1eb8de-8df8-4956-ae81-879e5d062d12 a=rtpmap:111 opus/48000/2 a=rtcp-fb:111 transport-cc a=fmtp:111 minptime=10;useinbandfec=1 a=rtpmap:103 ISAC/16000 a=rtpmap:104 ISAC/32000 a=rtpmap:9 G722/8000 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 a=rtpmap:106 CN/32000 a=rtpmap:105 CN/16000 a=rtpmap:13 CN/8000 a=rtpmap:110 telephone-event/48000 a=rtpmap:112 telephone-event/32000 a=rtpmap:113 telephone-event/16000 a=rtpmap:126 telephone-event/8000 a=candidate:2665802302 1 udp 2122262783 2a02:a03f:3eb0:e000:b0aa:d60a:cff2:933c 38475 typ host a=candidate:1039001212 1 udp 2122194687 192.168.99.58 45076 typ host a=candidate:3496416974 1 tcp 1518283007 2a02:a03f:3eb0:e000:b0aa:d60a:cff2:933c 9 typ host tcptype active a=candidate:1936595596 1 tcp 1518214911 192.168.99.58 9 typ host tcptype active a=ice-ufrag:5+Ix a=ice-pwd:uK8IlylxzDMUhrkVzdmj0M+v a=ice-options:trickle a=fingerprint:sha-256 6B:8B:5D:EA:59:04:20:23:29:C8:87:1C:CC:87:32:BE:DD:8C:66:A5:8E:50:55:EA:8C:D3:B6:5C:09:5E:D6:BC a=setup:actpass """ ), ) def test_audio_firefox(self): d = SessionDescription.parse( lf2crlf( """v=0 o=mozilla...THIS_IS_SDPARTA-58.0.1 4934139885953732403 1 IN IP4 0.0.0.0 s=- t=0 0 a=sendrecv a=fingerprint:sha-256 EB:A9:3E:50:D7:E3:B3:86:0F:7B:01:C1:EB:D6:AF:E4:97:DE:15:05:A8:DE:7B:83:56:C7:4B:6E:9D:75:D4:17 a=group:BUNDLE sdparta_0 a=ice-options:trickle a=msid-semantic:WMS * m=audio 45274 UDP/TLS/RTP/SAVPF 109 9 0 8 101 c=IN IP4 192.168.99.58 a=candidate:0 1 UDP 2122187007 192.168.99.58 45274 typ host a=candidate:2 1 UDP 2122252543 2a02:a03f:3eb0:e000:b0aa:d60a:cff2:933c 47387 typ host a=candidate:3 1 TCP 2105458943 192.168.99.58 9 typ host tcptype active a=candidate:4 1 TCP 2105524479 2a02:a03f:3eb0:e000:b0aa:d60a:cff2:933c 9 typ host tcptype active a=candidate:0 2 UDP 2122187006 192.168.99.58 38612 typ host a=candidate:2 2 UDP 2122252542 2a02:a03f:3eb0:e000:b0aa:d60a:cff2:933c 54301 typ host a=candidate:3 2 TCP 2105458942 192.168.99.58 9 typ host tcptype active a=candidate:4 2 TCP 2105524478 2a02:a03f:3eb0:e000:b0aa:d60a:cff2:933c 9 typ host tcptype active a=candidate:1 1 UDP 1685921791 1.2.3.4 37264 typ srflx raddr 192.168.99.58 rport 37264 a=candidate:1 2 UDP 1685921790 1.2.3.4 52902 typ srflx raddr 192.168.99.58 rport 52902 a=sendrecv a=end-of-candidates a=extmap:1/sendonly urn:ietf:params:rtp-hdrext:ssrc-audio-level a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid a=fmtp:109 maxplaybackrate=48000;stereo=1;useinbandfec=1 a=fmtp:101 0-15 a=ice-pwd:f9b83487285016f7492197a5790ceee5 a=ice-ufrag:403a81e1 a=ice-options:trickle a=mid:sdparta_0 a=msid:{dee771c7-671a-451e-b847-f86f8e87c7d8} {12692dea-686c-47ca-b3e9-48f38fc92b78} a=rtcp:38612 IN IP4 192.168.99.58 a=rtcp-mux a=rtpmap:109 opus/48000/2 a=rtpmap:9 G722/8000/1 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 a=rtpmap:101 telephone-event/8000 a=setup:actpass a=ssrc:882128807 cname:{ed463ac5-dabf-44d4-8b9f-e14318427b2b} """ ) ) self.assertEqual( d.group, [GroupDescription(semantic="BUNDLE", items=["sdparta_0"])] ) self.assertEqual( d.msid_semantic, [GroupDescription(semantic="WMS", items=["*"])] ) self.assertEqual(d.host, None) self.assertEqual(d.name, "-") self.assertEqual( d.origin, "mozilla...THIS_IS_SDPARTA-58.0.1 4934139885953732403 1 IN IP4 0.0.0.0", ) self.assertEqual(d.time, "0 0") self.assertEqual(d.version, 0) self.assertEqual(len(d.media), 1) self.assertEqual(d.media[0].kind, "audio") self.assertEqual(d.media[0].host, "192.168.99.58") self.assertEqual(d.media[0].port, 45274) self.assertEqual(d.media[0].profile, "UDP/TLS/RTP/SAVPF") self.assertEqual(d.media[0].direction, "sendrecv") self.assertEqual( d.media[0].msid, "{dee771c7-671a-451e-b847-f86f8e87c7d8} " "{12692dea-686c-47ca-b3e9-48f38fc92b78}", ) self.assertEqual( d.media[0].rtp.codecs, [ RTCRtpCodecParameters( mimeType="audio/opus", clockRate=48000, channels=2, payloadType=109, parameters={ "maxplaybackrate": 48000, "stereo": 1, "useinbandfec": 1, }, ), RTCRtpCodecParameters( mimeType="audio/G722", clockRate=8000, channels=1, payloadType=9 ), RTCRtpCodecParameters( mimeType="audio/PCMU", clockRate=8000, channels=1, payloadType=0 ), RTCRtpCodecParameters( mimeType="audio/PCMA", clockRate=8000, channels=1, payloadType=8 ), RTCRtpCodecParameters( mimeType="audio/telephone-event", clockRate=8000, channels=1, payloadType=101, parameters={"0-15": None}, ), ], ) self.assertEqual( d.media[0].rtp.headerExtensions, [ RTCRtpHeaderExtensionParameters( id=1, uri="urn:ietf:params:rtp-hdrext:ssrc-audio-level" ), RTCRtpHeaderExtensionParameters( id=2, uri="urn:ietf:params:rtp-hdrext:sdes:mid" ), ], ) self.assertEqual(d.media[0].rtp.muxId, "sdparta_0") self.assertEqual(d.media[0].rtcp_host, "192.168.99.58") self.assertEqual(d.media[0].rtcp_port, 38612) self.assertEqual(d.media[0].rtcp_mux, True) self.assertEqual( d.webrtc_track_id(d.media[0]), "{12692dea-686c-47ca-b3e9-48f38fc92b78}" ) # ssrc self.assertEqual( d.media[0].ssrc, [ SsrcDescription( ssrc=882128807, cname="{ed463ac5-dabf-44d4-8b9f-e14318427b2b}" ) ], ) self.assertEqual(d.media[0].ssrc_group, []) # formats self.assertEqual(d.media[0].fmt, [109, 9, 0, 8, 101]) self.assertEqual(d.media[0].sctpmap, {}) self.assertEqual(d.media[0].sctp_port, None) # ice self.assertEqual(len(d.media[0].ice_candidates), 10) self.assertEqual(d.media[0].ice_candidates_complete, True) self.assertEqual(d.media[0].ice_options, "trickle") self.assertEqual(d.media[0].ice.iceLite, False) self.assertEqual(d.media[0].ice.usernameFragment, "403a81e1") self.assertEqual(d.media[0].ice.password, "f9b83487285016f7492197a5790ceee5") # dtls self.assertEqual(len(d.media[0].dtls.fingerprints), 1) self.assertEqual(d.media[0].dtls.fingerprints[0].algorithm, "sha-256") self.assertEqual( d.media[0].dtls.fingerprints[0].value, "EB:A9:3E:50:D7:E3:B3:86:0F:7B:01:C1:EB:D6:AF:E4:97:DE:15:05:A8:DE:7B:83:56:C7:4B:6E:9D:75:D4:17", ) self.assertEqual(d.media[0].dtls.role, "auto") self.assertEqual( str(d), lf2crlf( """v=0 o=mozilla...THIS_IS_SDPARTA-58.0.1 4934139885953732403 1 IN IP4 0.0.0.0 s=- t=0 0 a=group:BUNDLE sdparta_0 a=msid-semantic:WMS * m=audio 45274 UDP/TLS/RTP/SAVPF 109 9 0 8 101 c=IN IP4 192.168.99.58 a=sendrecv a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level a=extmap:2 urn:ietf:params:rtp-hdrext:sdes:mid a=mid:sdparta_0 a=msid:{dee771c7-671a-451e-b847-f86f8e87c7d8} {12692dea-686c-47ca-b3e9-48f38fc92b78} a=rtcp:38612 IN IP4 192.168.99.58 a=rtcp-mux a=ssrc:882128807 cname:{ed463ac5-dabf-44d4-8b9f-e14318427b2b} a=rtpmap:109 opus/48000/2 a=fmtp:109 maxplaybackrate=48000;stereo=1;useinbandfec=1 a=rtpmap:9 G722/8000 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 a=rtpmap:101 telephone-event/8000 a=fmtp:101 0-15 a=candidate:0 1 UDP 2122187007 192.168.99.58 45274 typ host a=candidate:2 1 UDP 2122252543 2a02:a03f:3eb0:e000:b0aa:d60a:cff2:933c 47387 typ host a=candidate:3 1 TCP 2105458943 192.168.99.58 9 typ host tcptype active a=candidate:4 1 TCP 2105524479 2a02:a03f:3eb0:e000:b0aa:d60a:cff2:933c 9 typ host tcptype active a=candidate:0 2 UDP 2122187006 192.168.99.58 38612 typ host a=candidate:2 2 UDP 2122252542 2a02:a03f:3eb0:e000:b0aa:d60a:cff2:933c 54301 typ host a=candidate:3 2 TCP 2105458942 192.168.99.58 9 typ host tcptype active a=candidate:4 2 TCP 2105524478 2a02:a03f:3eb0:e000:b0aa:d60a:cff2:933c 9 typ host tcptype active a=candidate:1 1 UDP 1685921791 1.2.3.4 37264 typ srflx raddr 192.168.99.58 rport 37264 a=candidate:1 2 UDP 1685921790 1.2.3.4 52902 typ srflx raddr 192.168.99.58 rport 52902 a=end-of-candidates a=ice-ufrag:403a81e1 a=ice-pwd:f9b83487285016f7492197a5790ceee5 a=ice-options:trickle a=fingerprint:sha-256 EB:A9:3E:50:D7:E3:B3:86:0F:7B:01:C1:EB:D6:AF:E4:97:DE:15:05:A8:DE:7B:83:56:C7:4B:6E:9D:75:D4:17 a=setup:actpass """ ), ) def test_audio_freeswitch(self): d = SessionDescription.parse( lf2crlf( """v=0 o=FreeSWITCH 1538380016 1538380017 IN IP4 1.2.3.4 s=FreeSWITCH c=IN IP4 1.2.3.4 t=0 0 a=msid-semantic: WMS lyNSTe6w2ijnMrDEiqTHFyhqjdAag3ys m=audio 16628 UDP/TLS/RTP/SAVPF 8 101 a=rtpmap:8 PCMA/8000 a=rtpmap:101 telephone-event/8000 a=ptime:20 a=fingerprint:sha-256 35:5A:BC:8E:CD:F8:CD:EB:36:00:BB:C4:C3:33:54:B5:9B:70:3C:E9:C4:33:8F:39:3C:4B:5B:5C:AD:88:12:2B a=setup:active a=rtcp-mux a=rtcp:16628 IN IP4 1.2.3.4 a=ice-ufrag:75EDuLTEOkEUd3cu a=ice-pwd:5dvb9SbfooWc49814CupdeTS a=candidate:0560693492 1 udp 659136 1.2.3.4 16628 typ host generation 0 a=end-of-candidates a=ssrc:2690029308 cname:rbaag6w9fGmRXQm6 a=ssrc:2690029308 msid:lyNSTe6w2ijnMrDEiqTHFyhqjdAag3ys a0 a=ssrc:2690029308 mslabel:lyNSTe6w2ijnMrDEiqTHFyhqjdAag3ys a=ssrc:2690029308 label:lyNSTe6w2ijnMrDEiqTHFyhqjdAag3ysa0""" ) ) self.assertEqual(d.group, []) self.assertEqual( d.msid_semantic, [ GroupDescription( semantic="WMS", items=["lyNSTe6w2ijnMrDEiqTHFyhqjdAag3ys"] ) ], ) self.assertEqual(d.host, "1.2.3.4") self.assertEqual(d.name, "FreeSWITCH") self.assertEqual(d.origin, "FreeSWITCH 1538380016 1538380017 IN IP4 1.2.3.4") self.assertEqual(d.time, "0 0") self.assertEqual(d.version, 0) self.assertEqual(len(d.media), 1) self.assertEqual(d.media[0].kind, "audio") self.assertEqual(d.media[0].host, None) self.assertEqual(d.media[0].port, 16628) self.assertEqual(d.media[0].profile, "UDP/TLS/RTP/SAVPF") self.assertEqual(d.media[0].direction, None) self.assertEqual( d.media[0].rtp.codecs, [ RTCRtpCodecParameters( mimeType="audio/PCMA", clockRate=8000, channels=1, payloadType=8 ), RTCRtpCodecParameters( mimeType="audio/telephone-event", clockRate=8000, channels=1, payloadType=101, ), ], ) self.assertEqual(d.media[0].rtp.headerExtensions, []) self.assertEqual(d.media[0].rtp.muxId, "") self.assertEqual(d.media[0].rtcp_host, "1.2.3.4") self.assertEqual(d.media[0].rtcp_port, 16628) self.assertEqual(d.media[0].rtcp_mux, True) # ssrc self.assertEqual( d.media[0].ssrc, [ SsrcDescription( ssrc=2690029308, cname="rbaag6w9fGmRXQm6", msid="lyNSTe6w2ijnMrDEiqTHFyhqjdAag3ys a0", mslabel="lyNSTe6w2ijnMrDEiqTHFyhqjdAag3ys", label="lyNSTe6w2ijnMrDEiqTHFyhqjdAag3ysa0", ) ], ) self.assertEqual(d.media[0].ssrc_group, []) # formats self.assertEqual(d.media[0].fmt, [8, 101]) self.assertEqual(d.media[0].sctpmap, {}) self.assertEqual(d.media[0].sctp_port, None) # ice self.assertEqual(len(d.media[0].ice_candidates), 1) self.assertEqual(d.media[0].ice_candidates_complete, True) self.assertEqual(d.media[0].ice_options, None) self.assertEqual(d.media[0].ice.iceLite, False) self.assertEqual(d.media[0].ice.usernameFragment, "75EDuLTEOkEUd3cu") self.assertEqual(d.media[0].ice.password, "5dvb9SbfooWc49814CupdeTS") # dtls self.assertEqual(len(d.media[0].dtls.fingerprints), 1) self.assertEqual(d.media[0].dtls.fingerprints[0].algorithm, "sha-256") self.assertEqual( d.media[0].dtls.fingerprints[0].value, "35:5A:BC:8E:CD:F8:CD:EB:36:00:BB:C4:C3:33:54:B5:9B:70:3C:E9:C4:33:8F:39:3C:4B:5B:5C:AD:88:12:2B", ) self.assertEqual(d.media[0].dtls.role, "client") self.assertEqual( str(d), lf2crlf( """v=0 o=FreeSWITCH 1538380016 1538380017 IN IP4 1.2.3.4 s=FreeSWITCH c=IN IP4 1.2.3.4 t=0 0 a=msid-semantic:WMS lyNSTe6w2ijnMrDEiqTHFyhqjdAag3ys m=audio 16628 UDP/TLS/RTP/SAVPF 8 101 a=rtcp:16628 IN IP4 1.2.3.4 a=rtcp-mux a=ssrc:2690029308 cname:rbaag6w9fGmRXQm6 a=ssrc:2690029308 msid:lyNSTe6w2ijnMrDEiqTHFyhqjdAag3ys a0 a=ssrc:2690029308 mslabel:lyNSTe6w2ijnMrDEiqTHFyhqjdAag3ys a=ssrc:2690029308 label:lyNSTe6w2ijnMrDEiqTHFyhqjdAag3ysa0 a=rtpmap:8 PCMA/8000 a=rtpmap:101 telephone-event/8000 a=candidate:0560693492 1 udp 659136 1.2.3.4 16628 typ host a=end-of-candidates a=ice-ufrag:75EDuLTEOkEUd3cu a=ice-pwd:5dvb9SbfooWc49814CupdeTS a=fingerprint:sha-256 35:5A:BC:8E:CD:F8:CD:EB:36:00:BB:C4:C3:33:54:B5:9B:70:3C:E9:C4:33:8F:39:3C:4B:5B:5C:AD:88:12:2B a=setup:active """ ), ) def test_audio_freeswitch_no_dtls(self): d = SessionDescription.parse( lf2crlf( """v=0 o=FreeSWITCH 1538380016 1538380017 IN IP4 1.2.3.4 s=FreeSWITCH c=IN IP4 1.2.3.4 t=0 0 a=msid-semantic: WMS lyNSTe6w2ijnMrDEiqTHFyhqjdAag3ys m=audio 16628 UDP/TLS/RTP/SAVPF 8 101 a=rtpmap:8 PCMA/8000 a=rtpmap:101 telephone-event/8000 a=ptime:20 a=rtcp-mux a=rtcp:16628 IN IP4 1.2.3.4 a=ice-ufrag:75EDuLTEOkEUd3cu a=ice-pwd:5dvb9SbfooWc49814CupdeTS a=candidate:0560693492 1 udp 659136 1.2.3.4 16628 typ host generation 0 a=end-of-candidates a=ssrc:2690029308 cname:rbaag6w9fGmRXQm6 a=ssrc:2690029308 msid:lyNSTe6w2ijnMrDEiqTHFyhqjdAag3ys a0 a=ssrc:2690029308 mslabel:lyNSTe6w2ijnMrDEiqTHFyhqjdAag3ys a=ssrc:2690029308 label:lyNSTe6w2ijnMrDEiqTHFyhqjdAag3ysa0""" ) ) self.assertEqual(d.group, []) self.assertEqual( d.msid_semantic, [ GroupDescription( semantic="WMS", items=["lyNSTe6w2ijnMrDEiqTHFyhqjdAag3ys"] ) ], ) self.assertEqual(d.host, "1.2.3.4") self.assertEqual(d.name, "FreeSWITCH") self.assertEqual(d.origin, "FreeSWITCH 1538380016 1538380017 IN IP4 1.2.3.4") self.assertEqual(d.time, "0 0") self.assertEqual(d.version, 0) self.assertEqual(len(d.media), 1) self.assertEqual(d.media[0].kind, "audio") self.assertEqual(d.media[0].host, None) self.assertEqual(d.media[0].port, 16628) self.assertEqual(d.media[0].profile, "UDP/TLS/RTP/SAVPF") self.assertEqual(d.media[0].direction, None) self.assertEqual( d.media[0].rtp.codecs, [ RTCRtpCodecParameters( mimeType="audio/PCMA", clockRate=8000, channels=1, payloadType=8 ), RTCRtpCodecParameters( mimeType="audio/telephone-event", clockRate=8000, channels=1, payloadType=101, ), ], ) self.assertEqual(d.media[0].rtp.headerExtensions, []) self.assertEqual(d.media[0].rtp.muxId, "") self.assertEqual(d.media[0].rtcp_host, "1.2.3.4") self.assertEqual(d.media[0].rtcp_port, 16628) self.assertEqual(d.media[0].rtcp_mux, True) # ssrc self.assertEqual( d.media[0].ssrc, [ SsrcDescription( ssrc=2690029308, cname="rbaag6w9fGmRXQm6", msid="lyNSTe6w2ijnMrDEiqTHFyhqjdAag3ys a0", mslabel="lyNSTe6w2ijnMrDEiqTHFyhqjdAag3ys", label="lyNSTe6w2ijnMrDEiqTHFyhqjdAag3ysa0", ) ], ) self.assertEqual(d.media[0].ssrc_group, []) # formats self.assertEqual(d.media[0].fmt, [8, 101]) self.assertEqual(d.media[0].sctpmap, {}) self.assertEqual(d.media[0].sctp_port, None) # ice self.assertEqual(len(d.media[0].ice_candidates), 1) self.assertEqual(d.media[0].ice_candidates_complete, True) self.assertEqual(d.media[0].ice_options, None) self.assertEqual(d.media[0].ice.iceLite, False) self.assertEqual(d.media[0].ice.usernameFragment, "75EDuLTEOkEUd3cu") self.assertEqual(d.media[0].ice.password, "5dvb9SbfooWc49814CupdeTS") # dtls self.assertEqual(d.media[0].dtls, None) self.assertEqual( str(d), lf2crlf( """v=0 o=FreeSWITCH 1538380016 1538380017 IN IP4 1.2.3.4 s=FreeSWITCH c=IN IP4 1.2.3.4 t=0 0 a=msid-semantic:WMS lyNSTe6w2ijnMrDEiqTHFyhqjdAag3ys m=audio 16628 UDP/TLS/RTP/SAVPF 8 101 a=rtcp:16628 IN IP4 1.2.3.4 a=rtcp-mux a=ssrc:2690029308 cname:rbaag6w9fGmRXQm6 a=ssrc:2690029308 msid:lyNSTe6w2ijnMrDEiqTHFyhqjdAag3ys a0 a=ssrc:2690029308 mslabel:lyNSTe6w2ijnMrDEiqTHFyhqjdAag3ys a=ssrc:2690029308 label:lyNSTe6w2ijnMrDEiqTHFyhqjdAag3ysa0 a=rtpmap:8 PCMA/8000 a=rtpmap:101 telephone-event/8000 a=candidate:0560693492 1 udp 659136 1.2.3.4 16628 typ host a=end-of-candidates a=ice-ufrag:75EDuLTEOkEUd3cu a=ice-pwd:5dvb9SbfooWc49814CupdeTS """ ), ) def test_audio_dtls_session_level(self): d = SessionDescription.parse( lf2crlf( """v=0 o=- 863426017819471768 2 IN IP4 127.0.0.1 s=- t=0 0 a=fingerprint:sha-256 6B:8B:5D:EA:59:04:20:23:29:C8:87:1C:CC:87:32:BE:DD:8C:66:A5:8E:50:55:EA:8C:D3:B6:5C:09:5E:D6:BC a=setup:actpass m=audio 45076 UDP/TLS/RTP/SAVPF 0 8 c=IN IP4 192.168.99.58 a=rtcp:9 IN IP4 0.0.0.0 a=candidate:2665802302 1 udp 2122262783 2a02:a03f:3eb0:e000:b0aa:d60a:cff2:933c 38475 typ host generation 0 network-id 2 network-cost 10 a=candidate:1039001212 1 udp 2122194687 192.168.99.58 45076 typ host generation 0 network-id 1 network-cost 10 a=ice-ufrag:5+Ix a=ice-pwd:uK8IlylxzDMUhrkVzdmj0M+v a=mid:audio a=sendrecv a=rtcp-mux a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000""" ) ) self.assertEqual(d.group, []) self.assertEqual(d.msid_semantic, []) self.assertEqual(d.host, None) self.assertEqual(d.name, "-") self.assertEqual(d.origin, "- 863426017819471768 2 IN IP4 127.0.0.1") self.assertEqual(d.time, "0 0") self.assertEqual(d.version, 0) self.assertEqual(len(d.media), 1) self.assertEqual(d.media[0].kind, "audio") self.assertEqual(d.media[0].host, "192.168.99.58") self.assertEqual(d.media[0].port, 45076) self.assertEqual(d.media[0].profile, "UDP/TLS/RTP/SAVPF") self.assertEqual(d.media[0].direction, "sendrecv") self.assertEqual(d.media[0].msid, None) self.assertEqual( d.media[0].rtp.codecs, [ RTCRtpCodecParameters( mimeType="audio/PCMU", clockRate=8000, channels=1, payloadType=0 ), RTCRtpCodecParameters( mimeType="audio/PCMA", clockRate=8000, channels=1, payloadType=8 ), ], ) self.assertEqual(d.media[0].rtp.headerExtensions, []) self.assertEqual(d.media[0].rtp.muxId, "audio") self.assertEqual(d.media[0].rtcp_host, "0.0.0.0") self.assertEqual(d.media[0].rtcp_port, 9) self.assertEqual(d.media[0].rtcp_mux, True) # ssrc self.assertEqual(d.media[0].ssrc, []) self.assertEqual(d.media[0].ssrc_group, []) # formats self.assertEqual(d.media[0].fmt, [0, 8]) self.assertEqual(d.media[0].sctpmap, {}) self.assertEqual(d.media[0].sctp_port, None) # ice self.assertEqual(len(d.media[0].ice_candidates), 2) self.assertEqual(d.media[0].ice_candidates_complete, False) self.assertEqual(d.media[0].ice_options, None) self.assertEqual(d.media[0].ice.iceLite, False) self.assertEqual(d.media[0].ice.usernameFragment, "5+Ix") self.assertEqual(d.media[0].ice.password, "uK8IlylxzDMUhrkVzdmj0M+v") # dtls self.assertEqual(len(d.media[0].dtls.fingerprints), 1) self.assertEqual(d.media[0].dtls.fingerprints[0].algorithm, "sha-256") self.assertEqual( d.media[0].dtls.fingerprints[0].value, "6B:8B:5D:EA:59:04:20:23:29:C8:87:1C:CC:87:32:BE:DD:8C:66:A5:8E:50:55:EA:8C:D3:B6:5C:09:5E:D6:BC", ) self.assertEqual(d.media[0].dtls.role, "auto") self.assertEqual( str(d), lf2crlf( """v=0 o=- 863426017819471768 2 IN IP4 127.0.0.1 s=- t=0 0 m=audio 45076 UDP/TLS/RTP/SAVPF 0 8 c=IN IP4 192.168.99.58 a=sendrecv a=mid:audio a=rtcp:9 IN IP4 0.0.0.0 a=rtcp-mux a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 a=candidate:2665802302 1 udp 2122262783 2a02:a03f:3eb0:e000:b0aa:d60a:cff2:933c 38475 typ host a=candidate:1039001212 1 udp 2122194687 192.168.99.58 45076 typ host a=ice-ufrag:5+Ix a=ice-pwd:uK8IlylxzDMUhrkVzdmj0M+v a=fingerprint:sha-256 6B:8B:5D:EA:59:04:20:23:29:C8:87:1C:CC:87:32:BE:DD:8C:66:A5:8E:50:55:EA:8C:D3:B6:5C:09:5E:D6:BC a=setup:actpass """ ), ) def test_audio_ice_lite(self): d = SessionDescription.parse( lf2crlf( """v=0 o=- 863426017819471768 2 IN IP4 127.0.0.1 s=- t=0 0 a=ice-lite m=audio 45076 UDP/TLS/RTP/SAVPF 0 8 c=IN IP4 192.168.99.58 a=rtcp:9 IN IP4 0.0.0.0 a=candidate:2665802302 1 udp 2122262783 2a02:a03f:3eb0:e000:b0aa:d60a:cff2:933c 38475 typ host generation 0 network-id 2 network-cost 10 a=candidate:1039001212 1 udp 2122194687 192.168.99.58 45076 typ host generation 0 network-id 1 network-cost 10 a=ice-ufrag:5+Ix a=ice-pwd:uK8IlylxzDMUhrkVzdmj0M+v a=fingerprint:sha-256 6B:8B:5D:EA:59:04:20:23:29:C8:87:1C:CC:87:32:BE:DD:8C:66:A5:8E:50:55:EA:8C:D3:B6:5C:09:5E:D6:BC a=setup:actpass a=mid:audio a=sendrecv a=rtcp-mux a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000""" ) ) self.assertEqual(d.group, []) self.assertEqual(d.msid_semantic, []) self.assertEqual(d.host, None) self.assertEqual(d.name, "-") self.assertEqual(d.origin, "- 863426017819471768 2 IN IP4 127.0.0.1") self.assertEqual(d.time, "0 0") self.assertEqual(d.version, 0) self.assertEqual(len(d.media), 1) self.assertEqual(d.media[0].kind, "audio") self.assertEqual(d.media[0].host, "192.168.99.58") self.assertEqual(d.media[0].port, 45076) self.assertEqual(d.media[0].profile, "UDP/TLS/RTP/SAVPF") self.assertEqual(d.media[0].direction, "sendrecv") self.assertEqual(d.media[0].msid, None) self.assertEqual( d.media[0].rtp.codecs, [ RTCRtpCodecParameters( mimeType="audio/PCMU", clockRate=8000, channels=1, payloadType=0 ), RTCRtpCodecParameters( mimeType="audio/PCMA", clockRate=8000, channels=1, payloadType=8 ), ], ) self.assertEqual(d.media[0].rtp.headerExtensions, []) self.assertEqual(d.media[0].rtp.muxId, "audio") self.assertEqual(d.media[0].rtcp_host, "0.0.0.0") self.assertEqual(d.media[0].rtcp_port, 9) self.assertEqual(d.media[0].rtcp_mux, True) # ssrc self.assertEqual(d.media[0].ssrc, []) self.assertEqual(d.media[0].ssrc_group, []) # formats self.assertEqual(d.media[0].fmt, [0, 8]) self.assertEqual(d.media[0].sctpmap, {}) self.assertEqual(d.media[0].sctp_port, None) # ice self.assertEqual(len(d.media[0].ice_candidates), 2) self.assertEqual(d.media[0].ice_candidates_complete, False) self.assertEqual(d.media[0].ice_options, None) self.assertEqual(d.media[0].ice.iceLite, True) self.assertEqual(d.media[0].ice.usernameFragment, "5+Ix") self.assertEqual(d.media[0].ice.password, "uK8IlylxzDMUhrkVzdmj0M+v") # dtls self.assertEqual(len(d.media[0].dtls.fingerprints), 1) self.assertEqual(d.media[0].dtls.fingerprints[0].algorithm, "sha-256") self.assertEqual( d.media[0].dtls.fingerprints[0].value, "6B:8B:5D:EA:59:04:20:23:29:C8:87:1C:CC:87:32:BE:DD:8C:66:A5:8E:50:55:EA:8C:D3:B6:5C:09:5E:D6:BC", ) self.assertEqual(d.media[0].dtls.role, "auto") self.assertEqual( str(d), lf2crlf( """v=0 o=- 863426017819471768 2 IN IP4 127.0.0.1 s=- t=0 0 a=ice-lite m=audio 45076 UDP/TLS/RTP/SAVPF 0 8 c=IN IP4 192.168.99.58 a=sendrecv a=mid:audio a=rtcp:9 IN IP4 0.0.0.0 a=rtcp-mux a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 a=candidate:2665802302 1 udp 2122262783 2a02:a03f:3eb0:e000:b0aa:d60a:cff2:933c 38475 typ host a=candidate:1039001212 1 udp 2122194687 192.168.99.58 45076 typ host a=ice-ufrag:5+Ix a=ice-pwd:uK8IlylxzDMUhrkVzdmj0M+v a=fingerprint:sha-256 6B:8B:5D:EA:59:04:20:23:29:C8:87:1C:CC:87:32:BE:DD:8C:66:A5:8E:50:55:EA:8C:D3:B6:5C:09:5E:D6:BC a=setup:actpass """ ), ) def test_audio_ice_session_level_credentials(self): d = SessionDescription.parse( lf2crlf( """v=0 o=- 863426017819471768 2 IN IP4 127.0.0.1 s=- t=0 0 a=ice-ufrag:5+Ix a=ice-pwd:uK8IlylxzDMUhrkVzdmj0M+v m=audio 45076 UDP/TLS/RTP/SAVPF 0 8 c=IN IP4 192.168.99.58 a=rtcp:9 IN IP4 0.0.0.0 a=candidate:2665802302 1 udp 2122262783 2a02:a03f:3eb0:e000:b0aa:d60a:cff2:933c 38475 typ host generation 0 network-id 2 network-cost 10 a=candidate:1039001212 1 udp 2122194687 192.168.99.58 45076 typ host generation 0 network-id 1 network-cost 10 a=fingerprint:sha-256 6B:8B:5D:EA:59:04:20:23:29:C8:87:1C:CC:87:32:BE:DD:8C:66:A5:8E:50:55:EA:8C:D3:B6:5C:09:5E:D6:BC a=setup:actpass a=mid:audio a=sendrecv a=rtcp-mux a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000""" ) ) self.assertEqual(d.group, []) self.assertEqual(d.msid_semantic, []) self.assertEqual(d.host, None) self.assertEqual(d.name, "-") self.assertEqual(d.origin, "- 863426017819471768 2 IN IP4 127.0.0.1") self.assertEqual(d.time, "0 0") self.assertEqual(d.version, 0) self.assertEqual(len(d.media), 1) self.assertEqual(d.media[0].kind, "audio") self.assertEqual(d.media[0].host, "192.168.99.58") self.assertEqual(d.media[0].port, 45076) self.assertEqual(d.media[0].profile, "UDP/TLS/RTP/SAVPF") self.assertEqual(d.media[0].direction, "sendrecv") self.assertEqual(d.media[0].msid, None) self.assertEqual( d.media[0].rtp.codecs, [ RTCRtpCodecParameters( mimeType="audio/PCMU", clockRate=8000, channels=1, payloadType=0 ), RTCRtpCodecParameters( mimeType="audio/PCMA", clockRate=8000, channels=1, payloadType=8 ), ], ) self.assertEqual(d.media[0].rtp.headerExtensions, []) self.assertEqual(d.media[0].rtp.muxId, "audio") self.assertEqual(d.media[0].rtcp_host, "0.0.0.0") self.assertEqual(d.media[0].rtcp_port, 9) self.assertEqual(d.media[0].rtcp_mux, True) # ssrc self.assertEqual(d.media[0].ssrc, []) self.assertEqual(d.media[0].ssrc_group, []) # formats self.assertEqual(d.media[0].fmt, [0, 8]) self.assertEqual(d.media[0].sctpmap, {}) self.assertEqual(d.media[0].sctp_port, None) # ice self.assertEqual(len(d.media[0].ice_candidates), 2) self.assertEqual(d.media[0].ice_candidates_complete, False) self.assertEqual(d.media[0].ice_options, None) self.assertEqual(d.media[0].ice.iceLite, False) self.assertEqual(d.media[0].ice.usernameFragment, "5+Ix") self.assertEqual(d.media[0].ice.password, "uK8IlylxzDMUhrkVzdmj0M+v") # dtls self.assertEqual(len(d.media[0].dtls.fingerprints), 1) self.assertEqual(d.media[0].dtls.fingerprints[0].algorithm, "sha-256") self.assertEqual( d.media[0].dtls.fingerprints[0].value, "6B:8B:5D:EA:59:04:20:23:29:C8:87:1C:CC:87:32:BE:DD:8C:66:A5:8E:50:55:EA:8C:D3:B6:5C:09:5E:D6:BC", ) self.assertEqual(d.media[0].dtls.role, "auto") self.assertEqual( str(d), lf2crlf( """v=0 o=- 863426017819471768 2 IN IP4 127.0.0.1 s=- t=0 0 m=audio 45076 UDP/TLS/RTP/SAVPF 0 8 c=IN IP4 192.168.99.58 a=sendrecv a=mid:audio a=rtcp:9 IN IP4 0.0.0.0 a=rtcp-mux a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 a=candidate:2665802302 1 udp 2122262783 2a02:a03f:3eb0:e000:b0aa:d60a:cff2:933c 38475 typ host a=candidate:1039001212 1 udp 2122194687 192.168.99.58 45076 typ host a=ice-ufrag:5+Ix a=ice-pwd:uK8IlylxzDMUhrkVzdmj0M+v a=fingerprint:sha-256 6B:8B:5D:EA:59:04:20:23:29:C8:87:1C:CC:87:32:BE:DD:8C:66:A5:8E:50:55:EA:8C:D3:B6:5C:09:5E:D6:BC a=setup:actpass """ ), ) def test_datachannel_firefox(self): d = SessionDescription.parse( lf2crlf( """v=0 o=mozilla...THIS_IS_SDPARTA-58.0.1 7514673380034989017 0 IN IP4 0.0.0.0 s=- t=0 0 a=sendrecv a=fingerprint:sha-256 39:4A:09:1E:0E:33:32:85:51:03:49:95:54:0B:41:09:A2:10:60:CC:39:8F:C0:C4:45:FC:37:3A:55:EA:11:74 a=group:BUNDLE sdparta_0 a=ice-options:trickle a=msid-semantic:WMS * m=application 45791 DTLS/SCTP 5000 c=IN IP4 192.168.99.58 a=candidate:0 1 UDP 2122187007 192.168.99.58 45791 typ host a=candidate:1 1 UDP 2122252543 2a02:a03f:3eb0:e000:b0aa:d60a:cff2:933c 44087 typ host a=candidate:2 1 TCP 2105458943 192.168.99.58 9 typ host tcptype active a=candidate:3 1 TCP 2105524479 2a02:a03f:3eb0:e000:b0aa:d60a:cff2:933c 9 typ host tcptype active a=sendrecv a=end-of-candidates a=ice-pwd:d30a5aec4dd81f07d4ff3344209400ab a=ice-ufrag:9889e0c4 a=mid:sdparta_0 a=sctpmap:5000 webrtc-datachannel 256 a=setup:actpass a=max-message-size:1073741823 """ ) ) self.assertEqual( d.group, [GroupDescription(semantic="BUNDLE", items=["sdparta_0"])] ) self.assertEqual( d.msid_semantic, [GroupDescription(semantic="WMS", items=["*"])] ) self.assertEqual(d.host, None) self.assertEqual(d.name, "-") self.assertEqual( d.origin, "mozilla...THIS_IS_SDPARTA-58.0.1 7514673380034989017 0 IN IP4 0.0.0.0", ) self.assertEqual(d.time, "0 0") self.assertEqual(d.version, 0) self.assertEqual(len(d.media), 1) self.assertEqual(d.media[0].kind, "application") self.assertEqual(d.media[0].host, "192.168.99.58") self.assertEqual(d.media[0].port, 45791) self.assertEqual(d.media[0].profile, "DTLS/SCTP") self.assertEqual(d.media[0].fmt, ["5000"]) # sctp self.assertEqual(d.media[0].sctpmap, {5000: "webrtc-datachannel 256"}) self.assertEqual(d.media[0].sctp_port, None) self.assertIsNotNone(d.media[0].sctpCapabilities) self.assertEqual(d.media[0].sctpCapabilities.maxMessageSize, 1073741823) # ice self.assertEqual(len(d.media[0].ice_candidates), 4) self.assertEqual(d.media[0].ice_candidates_complete, True) self.assertEqual(d.media[0].ice_options, "trickle") self.assertEqual(d.media[0].ice.iceLite, False) self.assertEqual(d.media[0].ice.usernameFragment, "9889e0c4") self.assertEqual(d.media[0].ice.password, "d30a5aec4dd81f07d4ff3344209400ab") # dtls self.assertEqual(len(d.media[0].dtls.fingerprints), 1) self.assertEqual(d.media[0].dtls.fingerprints[0].algorithm, "sha-256") self.assertEqual( d.media[0].dtls.fingerprints[0].value, "39:4A:09:1E:0E:33:32:85:51:03:49:95:54:0B:41:09:A2:10:60:CC:39:8F:C0:C4:45:FC:37:3A:55:EA:11:74", ) self.assertEqual(d.media[0].dtls.role, "auto") self.assertEqual( str(d), lf2crlf( """v=0 o=mozilla...THIS_IS_SDPARTA-58.0.1 7514673380034989017 0 IN IP4 0.0.0.0 s=- t=0 0 a=group:BUNDLE sdparta_0 a=msid-semantic:WMS * m=application 45791 DTLS/SCTP 5000 c=IN IP4 192.168.99.58 a=sendrecv a=mid:sdparta_0 a=sctpmap:5000 webrtc-datachannel 256 a=max-message-size:1073741823 a=candidate:0 1 UDP 2122187007 192.168.99.58 45791 typ host a=candidate:1 1 UDP 2122252543 2a02:a03f:3eb0:e000:b0aa:d60a:cff2:933c 44087 typ host a=candidate:2 1 TCP 2105458943 192.168.99.58 9 typ host tcptype active a=candidate:3 1 TCP 2105524479 2a02:a03f:3eb0:e000:b0aa:d60a:cff2:933c 9 typ host tcptype active a=end-of-candidates a=ice-ufrag:9889e0c4 a=ice-pwd:d30a5aec4dd81f07d4ff3344209400ab a=ice-options:trickle a=fingerprint:sha-256 39:4A:09:1E:0E:33:32:85:51:03:49:95:54:0B:41:09:A2:10:60:CC:39:8F:C0:C4:45:FC:37:3A:55:EA:11:74 a=setup:actpass """ ), ) def test_datachannel_firefox_63(self): d = SessionDescription.parse( lf2crlf( """v=0 o=mozilla...THIS_IS_SDPARTA-58.0.1 7514673380034989017 0 IN IP4 0.0.0.0 s=- t=0 0 a=sendrecv a=fingerprint:sha-256 39:4A:09:1E:0E:33:32:85:51:03:49:95:54:0B:41:09:A2:10:60:CC:39:8F:C0:C4:45:FC:37:3A:55:EA:11:74 a=group:BUNDLE sdparta_0 a=ice-options:trickle a=msid-semantic:WMS * m=application 45791 UDP/DTLS/SCTP webrtc-datachannel c=IN IP4 192.168.99.58 a=candidate:0 1 UDP 2122187007 192.168.99.58 45791 typ host a=candidate:1 1 UDP 2122252543 2a02:a03f:3eb0:e000:b0aa:d60a:cff2:933c 44087 typ host a=candidate:2 1 TCP 2105458943 192.168.99.58 9 typ host tcptype active a=candidate:3 1 TCP 2105524479 2a02:a03f:3eb0:e000:b0aa:d60a:cff2:933c 9 typ host tcptype active a=sendrecv a=end-of-candidates a=ice-pwd:d30a5aec4dd81f07d4ff3344209400ab a=ice-ufrag:9889e0c4 a=mid:sdparta_0 a=sctp-port:5000 a=setup:actpass a=max-message-size:1073741823 """ ) ) self.assertEqual( d.group, [GroupDescription(semantic="BUNDLE", items=["sdparta_0"])] ) self.assertEqual( d.msid_semantic, [GroupDescription(semantic="WMS", items=["*"])] ) self.assertEqual(d.host, None) self.assertEqual(d.name, "-") self.assertEqual( d.origin, "mozilla...THIS_IS_SDPARTA-58.0.1 7514673380034989017 0 IN IP4 0.0.0.0", ) self.assertEqual(d.time, "0 0") self.assertEqual(d.version, 0) self.assertEqual(len(d.media), 1) self.assertEqual(d.media[0].kind, "application") self.assertEqual(d.media[0].host, "192.168.99.58") self.assertEqual(d.media[0].port, 45791) self.assertEqual(d.media[0].profile, "UDP/DTLS/SCTP") self.assertEqual(d.media[0].fmt, ["webrtc-datachannel"]) # sctp self.assertEqual(d.media[0].sctpmap, {}) self.assertEqual(d.media[0].sctp_port, 5000) self.assertIsNotNone(d.media[0].sctpCapabilities) self.assertEqual(d.media[0].sctpCapabilities.maxMessageSize, 1073741823) # ice self.assertEqual(len(d.media[0].ice_candidates), 4) self.assertEqual(d.media[0].ice_candidates_complete, True) self.assertEqual(d.media[0].ice_options, "trickle") self.assertEqual(d.media[0].ice.iceLite, False) self.assertEqual(d.media[0].ice.usernameFragment, "9889e0c4") self.assertEqual(d.media[0].ice.password, "d30a5aec4dd81f07d4ff3344209400ab") # dtls self.assertEqual(len(d.media[0].dtls.fingerprints), 1) self.assertEqual(d.media[0].dtls.fingerprints[0].algorithm, "sha-256") self.assertEqual( d.media[0].dtls.fingerprints[0].value, "39:4A:09:1E:0E:33:32:85:51:03:49:95:54:0B:41:09:A2:10:60:CC:39:8F:C0:C4:45:FC:37:3A:55:EA:11:74", ) self.assertEqual(d.media[0].dtls.role, "auto") self.assertEqual( str(d), lf2crlf( """v=0 o=mozilla...THIS_IS_SDPARTA-58.0.1 7514673380034989017 0 IN IP4 0.0.0.0 s=- t=0 0 a=group:BUNDLE sdparta_0 a=msid-semantic:WMS * m=application 45791 UDP/DTLS/SCTP webrtc-datachannel c=IN IP4 192.168.99.58 a=sendrecv a=mid:sdparta_0 a=sctp-port:5000 a=max-message-size:1073741823 a=candidate:0 1 UDP 2122187007 192.168.99.58 45791 typ host a=candidate:1 1 UDP 2122252543 2a02:a03f:3eb0:e000:b0aa:d60a:cff2:933c 44087 typ host a=candidate:2 1 TCP 2105458943 192.168.99.58 9 typ host tcptype active a=candidate:3 1 TCP 2105524479 2a02:a03f:3eb0:e000:b0aa:d60a:cff2:933c 9 typ host tcptype active a=end-of-candidates a=ice-ufrag:9889e0c4 a=ice-pwd:d30a5aec4dd81f07d4ff3344209400ab a=ice-options:trickle a=fingerprint:sha-256 39:4A:09:1E:0E:33:32:85:51:03:49:95:54:0B:41:09:A2:10:60:CC:39:8F:C0:C4:45:FC:37:3A:55:EA:11:74 a=setup:actpass """ ), ) def test_video_chrome(self): d = SessionDescription.parse( lf2crlf( """v=0 o=- 5195484278799753993 2 IN IP4 127.0.0.1 s=- t=0 0 a=group:BUNDLE video a=msid-semantic: WMS bbgewhUzS6hvFDlSlrhQ6zYlwW7ttRrK8QeQ m=video 34955 UDP/TLS/RTP/SAVPF 96 97 98 99 100 101 102 c=IN IP4 10.101.2.67 a=rtcp:9 IN IP4 0.0.0.0 a=candidate:638323114 1 udp 2122260223 10.101.2.67 34955 typ host generation 0 network-id 2 network-cost 10 a=candidate:1754264922 1 tcp 1518280447 10.101.2.67 9 typ host tcptype active generation 0 network-id 2 network-cost 10 a=ice-ufrag:9KhP a=ice-pwd:mlPea2xBCmFmNLfmy/jlqw1D a=ice-options:trickle a=fingerprint:sha-256 30:4A:BF:65:23:D1:99:AB:AE:9F:FD:5D:B1:08:4F:09:7C:9F:F2:CC:50:16:13:81:1B:5D:DD:D0:98:45:81:1E a=setup:actpass a=mid:video a=extmap:2 urn:ietf:params:rtp-hdrext:toffset a=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time a=extmap:4 urn:3gpp:video-orientation a=extmap:5 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01 a=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay a=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type a=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/video-timing a=sendrecv a=rtcp-mux a=rtcp-rsize a=rtpmap:96 VP8/90000 a=rtcp-fb:96 goog-remb a=rtcp-fb:96 transport-cc a=rtcp-fb:96 ccm fir a=rtcp-fb:96 nack a=rtcp-fb:96 nack pli a=rtpmap:97 rtx/90000 a=fmtp:97 apt=96 a=rtpmap:98 VP9/90000 a=rtcp-fb:98 goog-remb a=rtcp-fb:98 transport-cc a=rtcp-fb:98 ccm fir a=rtcp-fb:98 nack a=rtcp-fb:98 nack pli a=rtpmap:99 rtx/90000 a=fmtp:99 apt=98 a=rtpmap:100 red/90000 a=rtpmap:101 rtx/90000 a=fmtp:101 apt=100 a=rtpmap:102 ulpfec/90000 a=ssrc-group:FID 1845476211 3305256354 a=ssrc:1845476211 cname:9iW3jspLCZJ5WjOZ a=ssrc:1845476211 msid:bbgewhUzS6hvFDlSlrhQ6zYlwW7ttRrK8QeQ 420c6f28-439d-4ead-b93c-94e14c0a16b4 a=ssrc:1845476211 mslabel:bbgewhUzS6hvFDlSlrhQ6zYlwW7ttRrK8QeQ a=ssrc:1845476211 label:420c6f28-439d-4ead-b93c-94e14c0a16b4 a=ssrc:3305256354 cname:9iW3jspLCZJ5WjOZ a=ssrc:3305256354 msid:bbgewhUzS6hvFDlSlrhQ6zYlwW7ttRrK8QeQ 420c6f28-439d-4ead-b93c-94e14c0a16b4 a=ssrc:3305256354 mslabel:bbgewhUzS6hvFDlSlrhQ6zYlwW7ttRrK8QeQ a=ssrc:3305256354 label:420c6f28-439d-4ead-b93c-94e14c0a16b4 """ ) ) self.assertEqual( d.group, [GroupDescription(semantic="BUNDLE", items=["video"])] ) self.assertEqual( d.msid_semantic, [ GroupDescription( semantic="WMS", items=["bbgewhUzS6hvFDlSlrhQ6zYlwW7ttRrK8QeQ"] ) ], ) self.assertEqual(d.host, None) self.assertEqual(d.name, "-") self.assertEqual(d.origin, "- 5195484278799753993 2 IN IP4 127.0.0.1") self.assertEqual(d.time, "0 0") self.assertEqual(d.version, 0) self.assertEqual(len(d.media), 1) self.assertEqual(d.media[0].kind, "video") self.assertEqual(d.media[0].host, "10.101.2.67") self.assertEqual(d.media[0].port, 34955) self.assertEqual(d.media[0].profile, "UDP/TLS/RTP/SAVPF") self.assertEqual(d.media[0].direction, "sendrecv") self.assertEqual(d.media[0].msid, None) self.assertEqual( d.media[0].rtp.codecs, [ RTCRtpCodecParameters( mimeType="video/VP8", clockRate=90000, payloadType=96, rtcpFeedback=[ RTCRtcpFeedback(type="goog-remb"), RTCRtcpFeedback(type="transport-cc"), RTCRtcpFeedback(type="ccm", parameter="fir"), RTCRtcpFeedback(type="nack"), RTCRtcpFeedback(type="nack", parameter="pli"), ], ), RTCRtpCodecParameters( mimeType="video/rtx", clockRate=90000, payloadType=97, parameters={"apt": 96}, ), RTCRtpCodecParameters( mimeType="video/VP9", clockRate=90000, payloadType=98, rtcpFeedback=[ RTCRtcpFeedback(type="goog-remb"), RTCRtcpFeedback(type="transport-cc"), RTCRtcpFeedback(type="ccm", parameter="fir"), RTCRtcpFeedback(type="nack"), RTCRtcpFeedback(type="nack", parameter="pli"), ], ), RTCRtpCodecParameters( mimeType="video/rtx", clockRate=90000, payloadType=99, parameters={"apt": 98}, ), RTCRtpCodecParameters( mimeType="video/red", clockRate=90000, payloadType=100 ), RTCRtpCodecParameters( mimeType="video/rtx", clockRate=90000, payloadType=101, parameters={"apt": 100}, ), RTCRtpCodecParameters( mimeType="video/ulpfec", clockRate=90000, payloadType=102 ), ], ) self.assertEqual( d.media[0].rtp.headerExtensions, [ RTCRtpHeaderExtensionParameters( id=2, uri="urn:ietf:params:rtp-hdrext:toffset" ), RTCRtpHeaderExtensionParameters( id=3, uri="http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time", ), RTCRtpHeaderExtensionParameters(id=4, uri="urn:3gpp:video-orientation"), RTCRtpHeaderExtensionParameters( id=5, uri="http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01", ), RTCRtpHeaderExtensionParameters( id=6, uri="http://www.webrtc.org/experiments/rtp-hdrext/playout-delay", ), RTCRtpHeaderExtensionParameters( id=7, uri="http://www.webrtc.org/experiments/rtp-hdrext/video-content-type", ), RTCRtpHeaderExtensionParameters( id=8, uri="http://www.webrtc.org/experiments/rtp-hdrext/video-timing", ), ], ) self.assertEqual(d.media[0].rtp.muxId, "video") self.assertEqual(d.media[0].rtcp_host, "0.0.0.0") self.assertEqual(d.media[0].rtcp_port, 9) self.assertEqual(d.media[0].rtcp_mux, True) self.assertEqual(d.webrtc_track_id(d.media[0]), None) # ssrc self.assertEqual( d.media[0].ssrc, [ SsrcDescription( ssrc=1845476211, cname="9iW3jspLCZJ5WjOZ", msid="bbgewhUzS6hvFDlSlrhQ6zYlwW7ttRrK8QeQ 420c6f28-439d-4ead-b93c-94e14c0a16b4", mslabel="bbgewhUzS6hvFDlSlrhQ6zYlwW7ttRrK8QeQ", label="420c6f28-439d-4ead-b93c-94e14c0a16b4", ), SsrcDescription( ssrc=3305256354, cname="9iW3jspLCZJ5WjOZ", msid="bbgewhUzS6hvFDlSlrhQ6zYlwW7ttRrK8QeQ 420c6f28-439d-4ead-b93c-94e14c0a16b4", mslabel="bbgewhUzS6hvFDlSlrhQ6zYlwW7ttRrK8QeQ", label="420c6f28-439d-4ead-b93c-94e14c0a16b4", ), ], ) self.assertEqual( d.media[0].ssrc_group, [GroupDescription(semantic="FID", items=[1845476211, 3305256354])], ) # formats self.assertEqual(d.media[0].fmt, [96, 97, 98, 99, 100, 101, 102]) self.assertEqual(d.media[0].sctpmap, {}) self.assertEqual(d.media[0].sctp_port, None) # ice self.assertEqual(len(d.media[0].ice_candidates), 2) self.assertEqual(d.media[0].ice_candidates_complete, False) self.assertEqual(d.media[0].ice_options, "trickle") self.assertEqual(d.media[0].ice.iceLite, False) self.assertEqual(d.media[0].ice.usernameFragment, "9KhP") self.assertEqual(d.media[0].ice.password, "mlPea2xBCmFmNLfmy/jlqw1D") # dtls self.assertEqual(len(d.media[0].dtls.fingerprints), 1) self.assertEqual(d.media[0].dtls.fingerprints[0].algorithm, "sha-256") self.assertEqual( d.media[0].dtls.fingerprints[0].value, "30:4A:BF:65:23:D1:99:AB:AE:9F:FD:5D:B1:08:4F:09:7C:9F:F2:CC:50:16:13:81:1B:5D:DD:D0:98:45:81:1E", ) self.assertEqual(d.media[0].dtls.role, "auto") self.assertEqual( str(d), lf2crlf( """v=0 o=- 5195484278799753993 2 IN IP4 127.0.0.1 s=- t=0 0 a=group:BUNDLE video a=msid-semantic:WMS bbgewhUzS6hvFDlSlrhQ6zYlwW7ttRrK8QeQ m=video 34955 UDP/TLS/RTP/SAVPF 96 97 98 99 100 101 102 c=IN IP4 10.101.2.67 a=sendrecv a=extmap:2 urn:ietf:params:rtp-hdrext:toffset a=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time a=extmap:4 urn:3gpp:video-orientation a=extmap:5 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01 a=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay a=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type a=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/video-timing a=mid:video a=rtcp:9 IN IP4 0.0.0.0 a=rtcp-mux a=ssrc-group:FID 1845476211 3305256354 a=ssrc:1845476211 cname:9iW3jspLCZJ5WjOZ a=ssrc:1845476211 msid:bbgewhUzS6hvFDlSlrhQ6zYlwW7ttRrK8QeQ 420c6f28-439d-4ead-b93c-94e14c0a16b4 a=ssrc:1845476211 mslabel:bbgewhUzS6hvFDlSlrhQ6zYlwW7ttRrK8QeQ a=ssrc:1845476211 label:420c6f28-439d-4ead-b93c-94e14c0a16b4 a=ssrc:3305256354 cname:9iW3jspLCZJ5WjOZ a=ssrc:3305256354 msid:bbgewhUzS6hvFDlSlrhQ6zYlwW7ttRrK8QeQ 420c6f28-439d-4ead-b93c-94e14c0a16b4 a=ssrc:3305256354 mslabel:bbgewhUzS6hvFDlSlrhQ6zYlwW7ttRrK8QeQ a=ssrc:3305256354 label:420c6f28-439d-4ead-b93c-94e14c0a16b4 a=rtpmap:96 VP8/90000 a=rtcp-fb:96 goog-remb a=rtcp-fb:96 transport-cc a=rtcp-fb:96 ccm fir a=rtcp-fb:96 nack a=rtcp-fb:96 nack pli a=rtpmap:97 rtx/90000 a=fmtp:97 apt=96 a=rtpmap:98 VP9/90000 a=rtcp-fb:98 goog-remb a=rtcp-fb:98 transport-cc a=rtcp-fb:98 ccm fir a=rtcp-fb:98 nack a=rtcp-fb:98 nack pli a=rtpmap:99 rtx/90000 a=fmtp:99 apt=98 a=rtpmap:100 red/90000 a=rtpmap:101 rtx/90000 a=fmtp:101 apt=100 a=rtpmap:102 ulpfec/90000 a=candidate:638323114 1 udp 2122260223 10.101.2.67 34955 typ host a=candidate:1754264922 1 tcp 1518280447 10.101.2.67 9 typ host tcptype active a=ice-ufrag:9KhP a=ice-pwd:mlPea2xBCmFmNLfmy/jlqw1D a=ice-options:trickle a=fingerprint:sha-256 30:4A:BF:65:23:D1:99:AB:AE:9F:FD:5D:B1:08:4F:09:7C:9F:F2:CC:50:16:13:81:1B:5D:DD:D0:98:45:81:1E a=setup:actpass """ ), ) def test_video_firefox(self): d = SessionDescription.parse( lf2crlf( """v=0 o=mozilla...THIS_IS_SDPARTA-61.0 8964514366714082732 0 IN IP4 0.0.0.0 s=- t=0 0 a=sendrecv a=fingerprint:sha-256 AF:9E:29:99:AC:F6:F6:A2:86:A7:2E:A5:83:94:21:7F:F1:39:C5:E3:8F:E4:08:04:D9:D8:70:6D:6C:A2:A1:D5 a=group:BUNDLE sdparta_0 a=ice-options:trickle a=msid-semantic:WMS * m=video 42738 UDP/TLS/RTP/SAVPF 120 121 c=IN IP4 192.168.99.7 a=candidate:0 1 UDP 2122252543 192.168.99.7 42738 typ host a=candidate:1 1 TCP 2105524479 192.168.99.7 9 typ host tcptype active a=candidate:0 2 UDP 2122252542 192.168.99.7 52914 typ host a=candidate:1 2 TCP 2105524478 192.168.99.7 9 typ host tcptype active a=sendrecv a=end-of-candidates a=extmap:3 urn:ietf:params:rtp-hdrext:sdes:mid a=extmap:4 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time a=extmap:5 urn:ietf:params:rtp-hdrext:toffset a=fmtp:120 max-fs=12288;max-fr=60 a=fmtp:121 max-fs=12288;max-fr=60 a=ice-pwd:c43b0306087bb4de15f70e4405c4dafe a=ice-ufrag:1a0e6b24 a=mid:sdparta_0 a=msid:{38c9a1f0-d360-4ad8-afe3-4d7f6d4ae4e1} {d27161f3-ab5d-4aff-9dd8-4a24bfbe56d4} a=rtcp:52914 IN IP4 192.168.99.7 a=rtcp-fb:120 nack a=rtcp-fb:120 nack pli a=rtcp-fb:120 ccm fir a=rtcp-fb:120 goog-remb a=rtcp-fb:121 nack a=rtcp-fb:121 nack pli a=rtcp-fb:121 ccm fir a=rtcp-fb:121 goog-remb a=rtcp-mux a=rtpmap:120 VP8/90000 a=rtpmap:121 VP9/90000 a=setup:actpass a=ssrc:3408404552 cname:{6f52d07e-17ef-42c5-932b-3b57c64fe049} """ ) ) self.assertEqual( d.group, [GroupDescription(semantic="BUNDLE", items=["sdparta_0"])] ) self.assertEqual( d.msid_semantic, [GroupDescription(semantic="WMS", items=["*"])] ) self.assertEqual(d.host, None) self.assertEqual(d.name, "-") self.assertEqual( d.origin, "mozilla...THIS_IS_SDPARTA-61.0 8964514366714082732 0 IN IP4 0.0.0.0", ) self.assertEqual(d.time, "0 0") self.assertEqual(d.version, 0) self.assertEqual(len(d.media), 1) self.assertEqual(d.media[0].kind, "video") self.assertEqual(d.media[0].host, "192.168.99.7") self.assertEqual(d.media[0].port, 42738) self.assertEqual(d.media[0].profile, "UDP/TLS/RTP/SAVPF") self.assertEqual(d.media[0].direction, "sendrecv") self.assertEqual( d.media[0].msid, "{38c9a1f0-d360-4ad8-afe3-4d7f6d4ae4e1} " "{d27161f3-ab5d-4aff-9dd8-4a24bfbe56d4}", ) self.assertEqual( d.media[0].rtp.codecs, [ RTCRtpCodecParameters( mimeType="video/VP8", clockRate=90000, payloadType=120, rtcpFeedback=[ RTCRtcpFeedback(type="nack"), RTCRtcpFeedback(type="nack", parameter="pli"), RTCRtcpFeedback(type="ccm", parameter="fir"), RTCRtcpFeedback(type="goog-remb"), ], parameters={"max-fs": 12288, "max-fr": 60}, ), RTCRtpCodecParameters( mimeType="video/VP9", clockRate=90000, payloadType=121, rtcpFeedback=[ RTCRtcpFeedback(type="nack"), RTCRtcpFeedback(type="nack", parameter="pli"), RTCRtcpFeedback(type="ccm", parameter="fir"), RTCRtcpFeedback(type="goog-remb"), ], parameters={"max-fs": 12288, "max-fr": 60}, ), ], ) self.assertEqual( d.media[0].rtp.headerExtensions, [ RTCRtpHeaderExtensionParameters( id=3, uri="urn:ietf:params:rtp-hdrext:sdes:mid" ), RTCRtpHeaderExtensionParameters( id=4, uri="http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time", ), RTCRtpHeaderExtensionParameters( id=5, uri="urn:ietf:params:rtp-hdrext:toffset" ), ], ) self.assertEqual(d.media[0].rtp.muxId, "sdparta_0") self.assertEqual(d.media[0].rtcp_host, "192.168.99.7") self.assertEqual(d.media[0].rtcp_port, 52914) self.assertEqual(d.media[0].rtcp_mux, True) self.assertEqual( d.webrtc_track_id(d.media[0]), "{d27161f3-ab5d-4aff-9dd8-4a24bfbe56d4}" ) # formats self.assertEqual(d.media[0].fmt, [120, 121]) self.assertEqual(d.media[0].sctpmap, {}) self.assertEqual(d.media[0].sctp_port, None) # ice self.assertEqual(len(d.media[0].ice_candidates), 4) self.assertEqual(d.media[0].ice_candidates_complete, True) self.assertEqual(d.media[0].ice_options, "trickle") self.assertEqual(d.media[0].ice.iceLite, False) self.assertEqual(d.media[0].ice.usernameFragment, "1a0e6b24") self.assertEqual(d.media[0].ice.password, "c43b0306087bb4de15f70e4405c4dafe") # dtls self.assertEqual(len(d.media[0].dtls.fingerprints), 1) self.assertEqual(d.media[0].dtls.fingerprints[0].algorithm, "sha-256") self.assertEqual( d.media[0].dtls.fingerprints[0].value, "AF:9E:29:99:AC:F6:F6:A2:86:A7:2E:A5:83:94:21:7F:F1:39:C5:E3:8F:E4:08:04:D9:D8:70:6D:6C:A2:A1:D5", ) self.assertEqual(d.media[0].dtls.role, "auto") self.assertEqual( str(d), lf2crlf( """v=0 o=mozilla...THIS_IS_SDPARTA-61.0 8964514366714082732 0 IN IP4 0.0.0.0 s=- t=0 0 a=group:BUNDLE sdparta_0 a=msid-semantic:WMS * m=video 42738 UDP/TLS/RTP/SAVPF 120 121 c=IN IP4 192.168.99.7 a=sendrecv a=extmap:3 urn:ietf:params:rtp-hdrext:sdes:mid a=extmap:4 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time a=extmap:5 urn:ietf:params:rtp-hdrext:toffset a=mid:sdparta_0 a=msid:{38c9a1f0-d360-4ad8-afe3-4d7f6d4ae4e1} {d27161f3-ab5d-4aff-9dd8-4a24bfbe56d4} a=rtcp:52914 IN IP4 192.168.99.7 a=rtcp-mux a=ssrc:3408404552 cname:{6f52d07e-17ef-42c5-932b-3b57c64fe049} a=rtpmap:120 VP8/90000 a=rtcp-fb:120 nack a=rtcp-fb:120 nack pli a=rtcp-fb:120 ccm fir a=rtcp-fb:120 goog-remb a=fmtp:120 max-fs=12288;max-fr=60 a=rtpmap:121 VP9/90000 a=rtcp-fb:121 nack a=rtcp-fb:121 nack pli a=rtcp-fb:121 ccm fir a=rtcp-fb:121 goog-remb a=fmtp:121 max-fs=12288;max-fr=60 a=candidate:0 1 UDP 2122252543 192.168.99.7 42738 typ host a=candidate:1 1 TCP 2105524479 192.168.99.7 9 typ host tcptype active a=candidate:0 2 UDP 2122252542 192.168.99.7 52914 typ host a=candidate:1 2 TCP 2105524478 192.168.99.7 9 typ host tcptype active a=end-of-candidates a=ice-ufrag:1a0e6b24 a=ice-pwd:c43b0306087bb4de15f70e4405c4dafe a=ice-options:trickle a=fingerprint:sha-256 AF:9E:29:99:AC:F6:F6:A2:86:A7:2E:A5:83:94:21:7F:F1:39:C5:E3:8F:E4:08:04:D9:D8:70:6D:6C:A2:A1:D5 a=setup:actpass """ ), ) def test_video_session_star_rtcp_fb(self): d = SessionDescription.parse( lf2crlf( """v=0 o=mozilla...THIS_IS_SDPARTA-61.0 8964514366714082732 0 IN IP4 0.0.0.0 s=- t=0 0 a=group:BUNDLE sdparta_0 a=msid-semantic:WMS * m=video 42738 UDP/TLS/RTP/SAVPF 120 121 c=IN IP4 192.168.99.7 a=sendrecv a=extmap:3 urn:ietf:params:rtp-hdrext:sdes:mid a=extmap:4 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time a=extmap:5 urn:ietf:params:rtp-hdrext:toffset a=mid:sdparta_0 a=msid:{38c9a1f0-d360-4ad8-afe3-4d7f6d4ae4e1} {d27161f3-ab5d-4aff-9dd8-4a24bfbe56d4} a=rtcp:52914 IN IP4 192.168.99.7 a=rtcp-mux a=ssrc:3408404552 cname:{6f52d07e-17ef-42c5-932b-3b57c64fe049} a=rtpmap:120 VP8/90000 a=fmtp:120 max-fs=12288;max-fr=60 a=rtpmap:121 VP9/90000 a=fmtp:121 max-fs=12288;max-fr=60 a=rtcp-fb:* nack a=rtcp-fb:* nack pli a=rtcp-fb:* goog-remb a=candidate:0 1 UDP 2122252543 192.168.99.7 42738 typ host a=candidate:1 1 TCP 2105524479 192.168.99.7 9 typ host tcptype active a=candidate:0 2 UDP 2122252542 192.168.99.7 52914 typ host a=candidate:1 2 TCP 2105524478 192.168.99.7 9 typ host tcptype active a=end-of-candidates a=ice-ufrag:1a0e6b24 a=ice-pwd:c43b0306087bb4de15f70e4405c4dafe a=ice-options:trickle a=fingerprint:sha-256 AF:9E:29:99:AC:F6:F6:A2:86:A7:2E:A5:83:94:21:7F:F1:39:C5:E3:8F:E4:08:04:D9:D8:70:6D:6C:A2:A1:D5 a=setup:actpass """ ) ) self.assertEqual( d.media[0].rtp.codecs, [ RTCRtpCodecParameters( mimeType="video/VP8", clockRate=90000, payloadType=120, rtcpFeedback=[ RTCRtcpFeedback(type="nack"), RTCRtcpFeedback(type="nack", parameter="pli"), RTCRtcpFeedback(type="goog-remb"), ], parameters={"max-fs": 12288, "max-fr": 60}, ), RTCRtpCodecParameters( mimeType="video/VP9", clockRate=90000, payloadType=121, rtcpFeedback=[ RTCRtcpFeedback(type="nack"), RTCRtcpFeedback(type="nack", parameter="pli"), RTCRtcpFeedback(type="goog-remb"), ], parameters={"max-fs": 12288, "max-fr": 60}, ), ], ) def test_safari(self): d = SessionDescription.parse( lf2crlf( """ v=0 o=- 8148572839875102105 2 IN IP4 127.0.0.1 s=- t=0 0 a=group:BUNDLE audio video data a=msid-semantic: WMS cb7e185b-6110-4f65-b027-ddb8b5fa78c7 m=audio 61015 UDP/TLS/RTP/SAVPF 111 103 9 102 0 8 105 13 110 113 126 c=IN IP4 1.2.3.4 a=rtcp:9 IN IP4 0.0.0.0 a=candidate:3317362580 1 udp 2113937151 192.168.0.87 61015 typ host generation 0 network-cost 999 a=candidate:3103151263 1 udp 2113939711 2a01:e0a:151:dc10:a8cb:5e93:9627:557c 61016 typ host generation 0 network-cost 999 a=candidate:842163049 1 udp 1677729535 1.2.3.4 61015 typ srflx raddr 192.168.0.87 rport 61015 generation 0 network-cost 999 a=ice-ufrag:XSmV a=ice-pwd:Ss5xY4RMFEJASRvK5TIPgLN9 a=ice-options:trickle a=fingerprint:sha-256 F2:68:A5:17:E7:85:D6:4E:23:F1:5D:02:39:9E:0F:B5:EA:C0:BD:FC:F5:27:3E:38:9B:BA:4E:AF:8B:35:AF:89 a=setup:actpass a=mid:audio a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level a=sendrecv a=rtcp-mux a=rtpmap:111 opus/48000/2 a=rtcp-fb:111 transport-cc a=fmtp:111 minptime=10;useinbandfec=1 a=rtpmap:103 ISAC/16000 a=rtpmap:9 G722/8000 a=rtpmap:102 ILBC/8000 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 a=rtpmap:105 CN/16000 a=rtpmap:13 CN/8000 a=rtpmap:110 telephone-event/48000 a=rtpmap:113 telephone-event/16000 a=rtpmap:126 telephone-event/8000 a=ssrc:205815247 cname:JTNiIZ6eJ7ghkHaB a=ssrc:205815247 msid:cb7e185b-6110-4f65-b027-ddb8b5fa78c7 f473166a-7fe5-4ab6-a3af-c5eb806a13b9 a=ssrc:205815247 mslabel:cb7e185b-6110-4f65-b027-ddb8b5fa78c7 a=ssrc:205815247 label:f473166a-7fe5-4ab6-a3af-c5eb806a13b9 m=video 51044 UDP/TLS/RTP/SAVPF 96 97 98 99 100 101 127 125 104 c=IN IP4 1.2.3.4 a=rtcp:9 IN IP4 0.0.0.0 a=candidate:3317362580 1 udp 2113937151 192.168.0.87 51044 typ host generation 0 network-cost 999 a=candidate:3103151263 1 udp 2113939711 2a01:e0a:151:dc10:a8cb:5e93:9627:557c 51045 typ host generation 0 network-cost 999 a=candidate:842163049 1 udp 1677729535 82.64.133.208 51044 typ srflx raddr 192.168.0.87 rport 51044 generation 0 network-cost 999 a=ice-ufrag:XSmV a=ice-pwd:Ss5xY4RMFEJASRvK5TIPgLN9 a=ice-options:trickle a=fingerprint:sha-256 F2:68:A5:17:E7:85:D6:4E:23:F1:5D:02:39:9E:0F:B5:EA:C0:BD:FC:F5:27:3E:38:9B:BA:4E:AF:8B:35:AF:89 a=setup:actpass a=mid:video a=extmap:2 urn:ietf:params:rtp-hdrext:toffset a=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time a=extmap:4 urn:3gpp:video-orientation a=extmap:5 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01 a=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay a=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type a=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/video-timing a=extmap:10 http://tools.ietf.org/html/draft-ietf-avtext-framemarking-07 a=sendrecv a=rtcp-mux a=rtcp-rsize a=rtpmap:96 H264/90000 a=rtcp-fb:96 goog-remb a=rtcp-fb:96 transport-cc a=rtcp-fb:96 ccm fir a=rtcp-fb:96 nack a=rtcp-fb:96 nack pli a=fmtp:96 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=640c1f a=rtpmap:97 rtx/90000 a=fmtp:97 apt=96 a=rtpmap:98 H264/90000 a=rtcp-fb:98 goog-remb a=rtcp-fb:98 transport-cc a=rtcp-fb:98 ccm fir a=rtcp-fb:98 nack a=rtcp-fb:98 nack pli a=fmtp:98 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f a=rtpmap:99 rtx/90000 a=fmtp:99 apt=98 a=rtpmap:100 VP8/90000 a=rtcp-fb:100 goog-remb a=rtcp-fb:100 transport-cc a=rtcp-fb:100 ccm fir a=rtcp-fb:100 nack a=rtcp-fb:100 nack pli a=rtpmap:101 rtx/90000 a=fmtp:101 apt=100 a=rtpmap:127 red/90000 a=rtpmap:125 rtx/90000 a=fmtp:125 apt=127 a=rtpmap:104 ulpfec/90000 a=ssrc-group:FID 11942296 149700150 a=ssrc:11942296 cname:JTNiIZ6eJ7ghkHaB a=ssrc:11942296 msid:cb7e185b-6110-4f65-b027-ddb8b5fa78c7 bd201f69-1364-40da-828f-cc695ff54a37 a=ssrc:11942296 mslabel:cb7e185b-6110-4f65-b027-ddb8b5fa78c7 a=ssrc:11942296 label:bd201f69-1364-40da-828f-cc695ff54a37 a=ssrc:149700150 cname:JTNiIZ6eJ7ghkHaB a=ssrc:149700150 msid:cb7e185b-6110-4f65-b027-ddb8b5fa78c7 bd201f69-1364-40da-828f-cc695ff54a37 a=ssrc:149700150 mslabel:cb7e185b-6110-4f65-b027-ddb8b5fa78c7 a=ssrc:149700150 label:bd201f69-1364-40da-828f-cc695ff54a37 m=application 60277 DTLS/SCTP 5000 c=IN IP4 1.2.3.4 a=candidate:3317362580 1 udp 2113937151 192.168.0.87 60277 typ host generation 0 network-cost 999 a=candidate:3103151263 1 udp 2113939711 2a01:e0a:151:dc10:a8cb:5e93:9627:557c 60278 typ host generation 0 network-cost 999 a=candidate:842163049 1 udp 1677729535 82.64.133.208 60277 typ srflx raddr 192.168.0.87 rport 60277 generation 0 network-cost 999 a=ice-ufrag:XSmV a=ice-pwd:Ss5xY4RMFEJASRvK5TIPgLN9 a=ice-options:trickle a=fingerprint:sha-256 F2:68:A5:17:E7:85:D6:4E:23:F1:5D:02:39:9E:0F:B5:EA:C0:BD:FC:F5:27:3E:38:9B:BA:4E:AF:8B:35:AF:89 a=setup:actpass a=mid:data a=sctpmap:5000 webrtc-datachannel 1024 """ ) ) self.assertEqual( d.group, [GroupDescription(semantic="BUNDLE", items=["audio", "video", "data"])], ) self.assertEqual( d.msid_semantic, [ GroupDescription( semantic="WMS", items=["cb7e185b-6110-4f65-b027-ddb8b5fa78c7"] ) ], ) self.assertEqual(d.host, None) self.assertEqual(d.name, "-") self.assertEqual(d.origin, "- 8148572839875102105 2 IN IP4 127.0.0.1") self.assertEqual(d.time, "0 0") self.assertEqual(d.version, 0) self.assertEqual(len(d.media), 3) self.assertEqual(d.media[0].kind, "audio") self.assertEqual(d.media[0].host, "1.2.3.4") self.assertEqual(d.media[0].port, 61015) self.assertEqual(d.media[0].profile, "UDP/TLS/RTP/SAVPF") self.assertEqual(d.media[0].direction, "sendrecv") self.assertEqual(d.media[0].msid, None) self.assertEqual(d.webrtc_track_id(d.media[0]), None) self.assertEqual(d.media[1].kind, "video") self.assertEqual(d.media[1].host, "1.2.3.4") self.assertEqual(d.media[1].port, 51044) self.assertEqual(d.media[1].profile, "UDP/TLS/RTP/SAVPF") self.assertEqual(d.media[1].direction, "sendrecv") self.assertEqual(d.media[1].msid, None) self.assertEqual(d.webrtc_track_id(d.media[0]), None) self.assertEqual(d.media[2].kind, "application") self.assertEqual(d.media[2].host, "1.2.3.4") self.assertEqual(d.media[2].port, 60277) self.assertEqual(d.media[2].profile, "DTLS/SCTP") self.assertEqual(d.media[2].direction, None) self.assertEqual(d.media[2].msid, None) class H264SdpTest(TestCase): def assertParseFails(self, v, msg): with self.assertRaises(ValueError) as cm: parse_h264_profile_level_id(v) self.assertEqual(str(cm.exception), msg) def test_parse_invalid(self): # invalid hexadecimal self.assertParseFails(None, "Expected a 6 character hexadecimal string") self.assertParseFails("", "Expected a 6 character hexadecimal string") self.assertParseFails("xyzxyz", "Expected a 6 character hexadecimal string") # invalid level self.assertParseFails("42E000", "0 is not a valid H264Level") self.assertParseFails("42E00F", "15 is not a valid H264Level") self.assertParseFails("42E0FF", "255 is not a valid H264Level") # invalid profile self.assertParseFails( "42E11F", "Unrecognized profile_iop = 225, profile_idc = 66" ) self.assertParseFails( "58601F", "Unrecognized profile_iop = 96, profile_idc = 88" ) self.assertParseFails( "64E01F", "Unrecognized profile_iop = 224, profile_idc = 100" ) def test_parse_constrained_baseline(self): self.assertEqual( parse_h264_profile_level_id("42E01F"), (H264Profile.PROFILE_CONSTRAINED_BASELINE, H264Level.LEVEL3_1), ) self.assertEqual( parse_h264_profile_level_id("42E00B"), (H264Profile.PROFILE_CONSTRAINED_BASELINE, H264Level.LEVEL1_1), ) self.assertEqual( parse_h264_profile_level_id("42F00B"), (H264Profile.PROFILE_CONSTRAINED_BASELINE, H264Level.LEVEL1_B), ) self.assertEqual( parse_h264_profile_level_id("42C02A"), (H264Profile.PROFILE_CONSTRAINED_BASELINE, H264Level.LEVEL4_2), ) self.assertEqual( parse_h264_profile_level_id("58F01F"), (H264Profile.PROFILE_CONSTRAINED_BASELINE, H264Level.LEVEL3_1), ) def test_parse_baseline(self): self.assertEqual( parse_h264_profile_level_id("42001F"), (H264Profile.PROFILE_BASELINE, H264Level.LEVEL3_1), ) self.assertEqual( parse_h264_profile_level_id("42A01F"), (H264Profile.PROFILE_BASELINE, H264Level.LEVEL3_1), ) self.assertEqual( parse_h264_profile_level_id("58A01F"), (H264Profile.PROFILE_BASELINE, H264Level.LEVEL3_1), ) def test_parse_main(self): self.assertEqual( parse_h264_profile_level_id("4D401F"), (H264Profile.PROFILE_MAIN, H264Level.LEVEL3_1), ) def test_parse_high(self): self.assertEqual( parse_h264_profile_level_id("64001F"), (H264Profile.PROFILE_HIGH, H264Level.LEVEL3_1), ) def test_parse_constrained_high(self): self.assertEqual( parse_h264_profile_level_id("640C1F"), (H264Profile.PROFILE_CONSTRAINED_HIGH, H264Level.LEVEL3_1), ) aiortc-1.11.0/tests/test_utils.py000066400000000000000000000040201477147103300167710ustar00rootroot00000000000000from unittest import TestCase from aiortc.utils import ( uint16_add, uint16_gt, uint16_gte, uint32_add, uint32_gt, uint32_gte, ) class UtilsTest(TestCase): def test_uint16_add(self): self.assertEqual(uint16_add(0, 1), 1) self.assertEqual(uint16_add(1, 1), 2) self.assertEqual(uint16_add(1, 2), 3) self.assertEqual(uint16_add(65534, 1), 65535) self.assertEqual(uint16_add(65535, 1), 0) self.assertEqual(uint16_add(65535, 3), 2) def test_uint16_gt(self): self.assertFalse(uint16_gt(0, 1)) self.assertFalse(uint16_gt(1, 1)) self.assertTrue(uint16_gt(2, 1)) self.assertTrue(uint16_gt(32768, 1)) self.assertFalse(uint16_gt(32769, 1)) self.assertFalse(uint16_gt(65535, 1)) def test_uint16_gte(self): self.assertFalse(uint16_gte(0, 1)) self.assertTrue(uint16_gte(1, 1)) self.assertTrue(uint16_gte(2, 1)) self.assertTrue(uint16_gte(32768, 1)) self.assertFalse(uint16_gte(32769, 1)) self.assertFalse(uint16_gte(65535, 1)) def test_uint32_add(self): self.assertEqual(uint32_add(0, 1), 1) self.assertEqual(uint32_add(1, 1), 2) self.assertEqual(uint32_add(1, 2), 3) self.assertEqual(uint32_add(4294967294, 1), 4294967295) self.assertEqual(uint32_add(4294967295, 1), 0) self.assertEqual(uint32_add(4294967295, 3), 2) def test_uint32_gt(self): self.assertFalse(uint32_gt(0, 1)) self.assertFalse(uint32_gt(1, 1)) self.assertTrue(uint32_gt(2, 1)) self.assertTrue(uint32_gt(2147483648, 1)) self.assertFalse(uint32_gt(2147483649, 1)) self.assertFalse(uint32_gt(4294967295, 1)) def test_uint32_gte(self): self.assertFalse(uint32_gte(0, 1)) self.assertTrue(uint32_gte(1, 1)) self.assertTrue(uint32_gte(2, 1)) self.assertTrue(uint32_gte(2147483648, 1)) self.assertFalse(uint32_gte(2147483649, 1)) self.assertFalse(uint32_gte(4294967295, 1)) aiortc-1.11.0/tests/test_vpx.py000066400000000000000000000241571477147103300164630ustar00rootroot00000000000000import fractions from unittest import TestCase from aiortc.codecs import get_decoder, get_encoder from aiortc.codecs.vpx import ( Vp8Decoder, Vp8Encoder, VpxPayloadDescriptor, _vpx_assert, number_of_threads, ) from aiortc.rtcrtpparameters import RTCRtpCodecParameters from .codecs import CodecTestCase VP8_CODEC = RTCRtpCodecParameters( mimeType="video/VP8", clockRate=90000, payloadType=100 ) class VpxPayloadDescriptorTest(TestCase): def test_no_picture_id(self): descr, rest = VpxPayloadDescriptor.parse(b"\x10") self.assertEqual(descr.partition_start, 1) self.assertEqual(descr.partition_id, 0) self.assertEqual(descr.picture_id, None) self.assertEqual(descr.tl0picidx, None) self.assertEqual(descr.tid, None) self.assertEqual(descr.keyidx, None) self.assertEqual(bytes(descr), b"\x10") self.assertEqual(repr(descr), "VpxPayloadDescriptor(S=1, PID=0, pic_id=None)") self.assertEqual(rest, b"") def test_short_picture_id_17(self): """ From RFC 7741 - 4.6.3 """ descr, rest = VpxPayloadDescriptor.parse(b"\x90\x80\x11") self.assertEqual(descr.partition_start, 1) self.assertEqual(descr.partition_id, 0) self.assertEqual(descr.picture_id, 17) self.assertEqual(descr.tl0picidx, None) self.assertEqual(descr.tid, None) self.assertEqual(descr.keyidx, None) self.assertEqual(bytes(descr), b"\x90\x80\x11") self.assertEqual(repr(descr), "VpxPayloadDescriptor(S=1, PID=0, pic_id=17)") self.assertEqual(rest, b"") def test_short_picture_id_127(self): descr, rest = VpxPayloadDescriptor.parse(b"\x90\x80\x7f") self.assertEqual(descr.partition_start, 1) self.assertEqual(descr.partition_id, 0) self.assertEqual(descr.picture_id, 127) self.assertEqual(descr.tl0picidx, None) self.assertEqual(descr.tid, None) self.assertEqual(descr.keyidx, None) self.assertEqual(bytes(descr), b"\x90\x80\x7f") self.assertEqual(rest, b"") def test_long_picture_id_128(self): descr, rest = VpxPayloadDescriptor.parse(b"\x90\x80\x80\x80") self.assertEqual(descr.partition_start, 1) self.assertEqual(descr.partition_id, 0) self.assertEqual(descr.picture_id, 128) self.assertEqual(descr.tl0picidx, None) self.assertEqual(descr.tid, None) self.assertEqual(descr.keyidx, None) self.assertEqual(bytes(descr), b"\x90\x80\x80\x80") self.assertEqual(rest, b"") def test_long_picture_id_4711(self): """ From RFC 7741 - 4.6.5 """ descr, rest = VpxPayloadDescriptor.parse(b"\x90\x80\x92\x67") self.assertEqual(descr.partition_start, 1) self.assertEqual(descr.partition_id, 0) self.assertEqual(descr.picture_id, 4711) self.assertEqual(descr.tl0picidx, None) self.assertEqual(descr.tid, None) self.assertEqual(descr.keyidx, None) self.assertEqual(bytes(descr), b"\x90\x80\x92\x67") self.assertEqual(rest, b"") def test_tl0picidx(self): descr, rest = VpxPayloadDescriptor.parse(b"\x90\xc0\x92\x67\x81") self.assertEqual(descr.partition_start, 1) self.assertEqual(descr.partition_id, 0) self.assertEqual(descr.picture_id, 4711) self.assertEqual(descr.tl0picidx, 129) self.assertEqual(descr.tid, None) self.assertEqual(descr.keyidx, None) self.assertEqual(bytes(descr), b"\x90\xc0\x92\x67\x81") self.assertEqual(rest, b"") def test_tid(self): descr, rest = VpxPayloadDescriptor.parse(b"\x90\x20\xe0") self.assertEqual(descr.partition_start, 1) self.assertEqual(descr.partition_id, 0) self.assertEqual(descr.picture_id, None) self.assertEqual(descr.tl0picidx, None) self.assertEqual(descr.tid, (3, 1)) self.assertEqual(descr.keyidx, None) self.assertEqual(bytes(descr), b"\x90\x20\xe0") self.assertEqual(rest, b"") def test_keyidx(self): descr, rest = VpxPayloadDescriptor.parse(b"\x90\x10\x1f") self.assertEqual(descr.partition_start, 1) self.assertEqual(descr.partition_id, 0) self.assertEqual(descr.picture_id, None) self.assertEqual(descr.tl0picidx, None) self.assertEqual(descr.tid, None) self.assertEqual(descr.keyidx, 31) self.assertEqual(bytes(descr), b"\x90\x10\x1f") self.assertEqual(rest, b"") def test_truncated(self): with self.assertRaises(ValueError) as cm: VpxPayloadDescriptor.parse(b"") self.assertEqual(str(cm.exception), "VPX descriptor is too short") with self.assertRaises(ValueError) as cm: VpxPayloadDescriptor.parse(b"\x80") self.assertEqual( str(cm.exception), "VPX descriptor has truncated extended bits" ) with self.assertRaises(ValueError) as cm: VpxPayloadDescriptor.parse(b"\x80\x80") self.assertEqual(str(cm.exception), "VPX descriptor has truncated PictureID") with self.assertRaises(ValueError) as cm: VpxPayloadDescriptor.parse(b"\x80\x80\x80") self.assertEqual( str(cm.exception), "VPX descriptor has truncated long PictureID" ) with self.assertRaises(ValueError) as cm: VpxPayloadDescriptor.parse(b"\x80\x40") self.assertEqual(str(cm.exception), "VPX descriptor has truncated TL0PICIDX") with self.assertRaises(ValueError) as cm: VpxPayloadDescriptor.parse(b"\x80\x20") self.assertEqual(str(cm.exception), "VPX descriptor has truncated T/K") with self.assertRaises(ValueError) as cm: VpxPayloadDescriptor.parse(b"\x80\x10") self.assertEqual(str(cm.exception), "VPX descriptor has truncated T/K") class Vp8Test(CodecTestCase): def test_assert(self): with self.assertRaises(Exception) as cm: _vpx_assert(1) self.assertEqual(str(cm.exception), "libvpx error: Unspecified internal error") def test_decoder(self): decoder = get_decoder(VP8_CODEC) self.assertIsInstance(decoder, Vp8Decoder) def test_encoder(self): encoder = get_encoder(VP8_CODEC) self.assertIsInstance(encoder, Vp8Encoder) frame = self.create_video_frame(width=640, height=480, pts=0) payloads, timestamp = encoder.encode(frame) self.assertEqual(len(payloads), 1) self.assertTrue(len(payloads[0]) < 1300) self.assertEqual(timestamp, 0) # change resolution frame = self.create_video_frame(width=320, height=240, pts=3000) payloads, timestamp = encoder.encode(frame) self.assertEqual(len(payloads), 1) self.assertTrue(len(payloads[0]) < 1300) self.assertEqual(timestamp, 3000) def test_encoder_rgb(self): encoder = get_encoder(VP8_CODEC) self.assertIsInstance(encoder, Vp8Encoder) frame = self.create_video_frame(width=640, height=480, pts=0, format="rgb24") payloads, timestamp = encoder.encode(frame) self.assertEqual(len(payloads), 1) self.assertTrue(len(payloads[0]) < 1300) self.assertEqual(timestamp, 0) def test_encoder_pack(self): encoder = get_encoder(VP8_CODEC) self.assertTrue(isinstance(encoder, Vp8Encoder)) encoder.picture_id = 0 packet = self.create_packet(payload=b"\x00", pts=1) payloads, timestamp = encoder.pack(packet) self.assertEqual(payloads, [b"\x90\x80\x00\x00"]) self.assertEqual(timestamp, 90) def test_encoder_large(self): encoder = get_encoder(VP8_CODEC) self.assertIsInstance(encoder, Vp8Encoder) # first keyframe frame = self.create_video_frame(width=2560, height=1920, pts=0) payloads, timestamp = encoder.encode(frame) self.assertEqual(len(payloads), 7) self.assertEqual(len(payloads[0]), 1300) self.assertEqual(timestamp, 0) # delta frame frame = self.create_video_frame(width=2560, height=1920, pts=3000) payloads, timestamp = encoder.encode(frame) self.assertEqual(len(payloads), 1) self.assertTrue(len(payloads[0]) < 1300) self.assertEqual(timestamp, 3000) # force keyframe frame = self.create_video_frame(width=2560, height=1920, pts=6000) payloads, timestamp = encoder.encode(frame, force_keyframe=True) self.assertEqual(len(payloads), 7) self.assertEqual(len(payloads[0]), 1300) self.assertEqual(timestamp, 6000) def test_encoder_target_bitrate(self): encoder = get_encoder(VP8_CODEC) self.assertIsInstance(encoder, Vp8Encoder) self.assertEqual(encoder.target_bitrate, 500000) frame = self.create_video_frame(width=640, height=480, pts=0) payloads, timestamp = encoder.encode(frame) self.assertEqual(len(payloads), 1) self.assertTrue(len(payloads[0]) < 1300) self.assertEqual(timestamp, 0) # change target bitrate encoder.target_bitrate = 600000 self.assertEqual(encoder.target_bitrate, 600000) frame = self.create_video_frame(width=640, height=480, pts=3000) payloads, timestamp = encoder.encode(frame) self.assertEqual(len(payloads), 1) self.assertTrue(len(payloads[0]) < 1300) self.assertEqual(timestamp, 3000) def test_number_of_threads(self): self.assertEqual(number_of_threads(1920 * 1080, 16), 8) self.assertEqual(number_of_threads(1920 * 1080, 8), 3) self.assertEqual(number_of_threads(1920 * 1080, 4), 2) self.assertEqual(number_of_threads(1920 * 1080, 2), 1) def test_roundtrip_1280_720(self): self.roundtrip_video(VP8_CODEC, 1280, 720) def test_roundtrip_960_540(self): self.roundtrip_video(VP8_CODEC, 960, 540) def test_roundtrip_640_480(self): self.roundtrip_video(VP8_CODEC, 640, 480) def test_roundtrip_640_480_time_base(self): self.roundtrip_video(VP8_CODEC, 640, 480, time_base=fractions.Fraction(1, 9000)) def test_roundtrip_320_240(self): self.roundtrip_video(VP8_CODEC, 320, 240) aiortc-1.11.0/tests/utils.py000066400000000000000000000054361477147103300157460ustar00rootroot00000000000000import asyncio import contextlib import functools import logging import os from aiortc.rtcdtlstransport import RTCCertificate, RTCDtlsTransport def lf2crlf(x): return x.replace("\n", "\r\n") class ClosedDtlsTransport: state = "closed" class DummyConnection: def __init__(self, rx_queue, tx_queue): self.closed = False self.loss_cursor = 0 self.loss_pattern = None self.rx_queue = rx_queue self.tx_queue = tx_queue async def close(self): if not self.closed: await self.rx_queue.put(None) self.closed = True async def recv(self): if self.closed: raise ConnectionError data = await self.rx_queue.get() if data is None: raise ConnectionError return data async def send(self, data): if self.closed: raise ConnectionError if self.loss_pattern is not None: lost = self.loss_pattern[self.loss_cursor] self.loss_cursor = (self.loss_cursor + 1) % len(self.loss_pattern) if lost: return await self.tx_queue.put(data) class DummyIceTransport: def __init__(self, connection, role): self._connection = connection self.role = role async def stop(self): await self._connection.close() async def _recv(self): return await self._connection.recv() async def _send(self, data): await self._connection.send(data) def asynctest(coro): @functools.wraps(coro) def wrap(*args, **kwargs): asyncio.run(coro(*args, **kwargs)) return wrap def dummy_connection_pair(): queue_a = asyncio.Queue() queue_b = asyncio.Queue() return ( DummyConnection(rx_queue=queue_a, tx_queue=queue_b), DummyConnection(rx_queue=queue_b, tx_queue=queue_a), ) def dummy_ice_transport_pair(): connection_a, connection_b = dummy_connection_pair() return ( DummyIceTransport(connection_a, "controlling"), DummyIceTransport(connection_b, "controlled"), ) @contextlib.asynccontextmanager async def dummy_dtls_transport_pair(): ice_a, ice_b = dummy_ice_transport_pair() dtls_a = RTCDtlsTransport(ice_a, [RTCCertificate.generateCertificate()]) dtls_b = RTCDtlsTransport(ice_b, [RTCCertificate.generateCertificate()]) await asyncio.gather( dtls_b.start(dtls_a.getLocalParameters()), dtls_a.start(dtls_b.getLocalParameters()), ) try: yield (dtls_a, dtls_b) finally: await dtls_a.stop() await dtls_b.stop() def load(name: str) -> bytes: path = os.path.join(os.path.dirname(__file__), name) with open(path, "rb") as fp: return fp.read() if os.environ.get("AIORTC_DEBUG"): logging.basicConfig(level=logging.DEBUG)