Showing preview only (958K chars total). Download the full file or copy to clipboard to get everything.
Repository: Sorosliu1029/Jike-Metro
Branch: master
Commit: 94c902c07a01
Files: 45
Total size: 923.0 KB
Directory structure:
gitextract_fudjadwr/
├── .gitignore
├── .travis.yml
├── CODE_OF_CONDUCT.md
├── LICENSE
├── MANIFEST.in
├── README.rst
├── docs/
│ ├── CNAME
│ ├── convert.py
│ ├── example.html
│ ├── index.html
│ ├── jike_api.html
│ ├── objects.html
│ ├── source_notebooks/
│ │ ├── example.ipynb
│ │ ├── index.ipynb
│ │ ├── jike_api.ipynb
│ │ └── objects.ipynb
│ ├── static/
│ │ └── custom.css
│ └── templates/
│ └── full.tpl
├── jike/
│ ├── __init__.py
│ ├── __main__.py
│ ├── client.py
│ ├── constants.py
│ ├── objects/
│ │ ├── __init__.py
│ │ ├── base.py
│ │ ├── message.py
│ │ ├── topic.py
│ │ ├── user.py
│ │ └── wrapper.py
│ ├── qr_code.py
│ ├── session.py
│ └── utils.py
├── nlp/
│ └── generate_dataset.py
├── setup.cfg
├── setup.py
├── tests/
│ ├── __init__.py
│ ├── test_base.py
│ ├── test_client.py
│ ├── test_message.py
│ ├── test_qr_code.py
│ ├── test_session.py
│ ├── test_topic.py
│ ├── test_user.py
│ ├── test_utils.py
│ └── test_wrapper.py
└── tox.ini
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitignore
================================================
.ipynb_checkpoints
*.pyc
.tox/
*.egg-info
metro.json
poc/
nlp/*.txt
.cache/
build/
dist/
================================================
FILE: .travis.yml
================================================
sudo: false
language: python
matrix:
include:
- python: 3.4
env: TOXENV=py34
- python: 3.5
env: TOXENV=py35
- python: 3.6
env: TOXENV=py36
allow_failures:
- python: 3.5
env: TOXENV=py35
install: pip install tox
cache: pip
script: tox
notifications:
email: false
================================================
FILE: CODE_OF_CONDUCT.md
================================================
# 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 soros.liu1029@gmail.com. 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/
================================================
FILE: LICENSE
================================================
MIT License
Copyright (c) 2018 Soros Liu
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
================================================
FILE: MANIFEST.in
================================================
include README.rst LICENSE
recursive-include tests *.py
================================================
FILE: README.rst
================================================
==================
Jike Metro 🚇
==================
.. image:: https://img.shields.io/travis/Sorosliu1029/Jike-Metro.svg
:alt: Travis
:target: https://travis-ci.org/Sorosliu1029/Jike-Metro
.. image:: https://img.shields.io/pypi/v/jike.svg
:alt: PyPI
:target: https://pypi.org/project/jike/
.. image:: https://img.shields.io/pypi/l/jike.svg
:alt: PyPI - License
:target: https://pypi.org/project/jike/
.. image:: https://img.shields.io/pypi/pyversions/jike.svg
:alt: PyPI - Python Version
:target: https://pypi.org/project/jike/
.. image:: https://img.shields.io/pypi/status/jike.svg
:alt: PyPI - Status
:target: https://pypi.org/project/jike/
.. image:: https://img.shields.io/github/contributors/Sorosliu1029/Jike-Metro.svg
:alt: GitHub contributors
:target: https://github.com/Sorosliu1029/Jike-Metro/graphs/contributors
.. image:: https://img.shields.io/badge/Say%20Thanks-!-1EAEDB.svg
:alt: Say Thanks
:target: https://saythanks.io/to/Sorosliu1029
.. image:: https://img.shields.io/github/stars/Sorosliu1029/Jike-Metro.svg?style=social&label=Stars
:alt: GitHub stars
:target: https://github.com/Sorosliu1029/Jike-Metro/
Jike Metro 🚇 是即刻镇的地铁工程,旨在提高即友的出行游览效率。
**安全提醒**:Jike Metro 🚇 目前是地下工作,非官方授权,随时可能翻车,给果果 🐈 买小鱼干可保平安。
.. image:: https://cdn.jellow.site/Ftub2jUf092k6GYua0DTV8t-PMoR.jpg?imageView2/0/w/2000/h/400/q/50
图片来源: `即刻九号工友“果果”和小伙伴们 <https://web.okjike.com/topic/55d6de4660b2719eb447649a/official>`_
Jike Metro 🚇 简易乘车指南
==========================
.. code-block:: python
>>> c = jike.JikeClient()
>>> c.get_my_profile()
User(id='58cf99696a34ae0015b9f5d5', screenName=挖地道的)
>>> my_collection = c.get_my_collection()
>>> my_collection[0]
OfficialMessage(id='55dd572f41904d0e00fc58f8', content=即刻果果: 分享一只曾经的童星(已光速成长))
>>> news_feed = c.get_news_feed()
>>> news_feed[0]
OfficialMessage(id='5ac347a30799810017977041', content=DeepMind 发布新架构 让AI 边玩游戏边强化学习)
>>> ceo = c.get_user_profile(username='82D23B32-CF36-4C59-AD6F-D05E3552CBF3')
>>> ceo
User(screenName=瓦恁)
>>> c.create_my_post(content='Jike Metro 🚇 released!', link='https://github.com/Sorosliu1029/Jike-Metro')
True
更详细的乘车指南请移步 👉 `Jike Metro 🚇 乘车指南 <https://jike-metro.sorosliu.xyz/>`_
Jike Metro 🚇 乘车体验
======================
Jike Metro 🚇 目前支持:
- 获取自己的收藏,查看自己的用户信息
- 流式获取首页消息和动态
- 获取某个用户的用户信息、发布的动态、创建的主题、关注的主题、TA关注的人和关注TA的人
- 获取某条消息/动态的评论
- 获取某个主题下的精选和广场
- 发布个人动态(可带图、带链接、带主题),删除个人动态
- 点赞、收藏、评论、转发某条消息/动态
- 在浏览器中打开某条消息的原始链接
- 根据关键词搜索主题
- 根据关键词搜索自己的收藏
- 获取即刻首页的推荐关注主题列表(不限于首页显示的5个)
Jike Metro 🚇 现在支持 Python 3.4-3.6
Jike Metro 🚇 入口
==================
可通过 pip 安装 Jike Metro 🚇
.. code-block:: bash
$ pip install jike
注意安全,小心行驶,不要影响其他即友的出行。
Jike Metro 🚇 基础设施
======================
Jike Metro 🚇 基于:
- `即刻Web版 <https://web.okjike.com>`_
- `requests <https://github.com/requests/requests>`_
- `qrcode <https://github.com/lincolnloop/python-qrcode>`_
================================================
FILE: docs/CNAME
================================================
jike-metro.sorosliu.xyz
================================================
FILE: docs/convert.py
================================================
"""
Convert Jupyter notebook to html
"""
import os
import json
from nbconvert import HTMLExporter
INDEX_HTML_PATH = os.path.join('docs', 'index.html')
TEMPLATE_PATH = os.path.join('docs', 'templates')
def gen_notebook_path():
if not os.path.exists(INDEX_HTML_PATH):
last_render_datetime = 0
else:
last_render_datetime = os.path.getmtime(INDEX_HTML_PATH)
flt = lambda f: f.endswith('.ipynb') and 'checkpoint' not in f
for dirpath, dirnames, filenames in os.walk(os.path.join('docs', 'source_notebooks')):
for filename in filter(flt, filenames):
source_ipynb_path = os.path.join(dirpath, filename)
modified_datetime = os.path.getmtime(source_ipynb_path)
if modified_datetime > last_render_datetime:
yield source_ipynb_path
def arrange_notebook_execution_order(source_ipynb_path):
with open(source_ipynb_path, 'rt', encoding='utf-8') as f:
notebook = json.load(f)
cnt = 1
for cell in notebook['cells']:
if cell['cell_type'] == 'code':
cell['execution_count'] = cnt
if cell['outputs']:
assert len(cell['outputs']) == 1
cell['outputs'][0]['execution_count'] = cnt
cnt += 1
with open(source_ipynb_path, 'wt', encoding='utf-8') as f:
json.dump(notebook, f)
def convert():
exporter = HTMLExporter()
exporter.template_path = [os.path.join('docs', 'templates')]
exporter.template_file = 'full'
for source_ipynb_path in gen_notebook_path():
arrange_notebook_execution_order(source_ipynb_path)
_, filename = os.path.split(source_ipynb_path)
body, _ = exporter.from_filename(source_ipynb_path)
write_path = os.path.join('docs', filename.replace('ipynb', 'html'))
with open(write_path, 'wt', encoding='utf-8') as f:
f.write(body)
print('{} write success.'.format(write_path))
def main():
convert()
if __name__ == '__main__':
main()
================================================
FILE: docs/example.html
================================================
<!DOCTYPE html>
<html>
<head><meta charset="utf-8" />
<title>example</title><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<link rel="stylesheet" href="./static/style.min.css" />
<link rel="stylesheet" href="./static/highlight.min.css" />
<link rel="stylesheet" href="./static/temporary.min.css" />
<!-- Custom stylesheet, it must be in the same directory as the html file -->
<link rel="stylesheet" href="./static/custom.css">
<style type="text/css">
/* Overrides of notebook CSS for static HTML export */
body {
overflow: visible;
padding: 8px;
}
div#notebook {
overflow: visible;
border-top: none;
}@media print {
div.cell {
display: block;
page-break-inside: avoid;
}
div.output_wrapper {
display: block;
page-break-inside: avoid;
}
div.output {
display: block;
page-break-inside: avoid;
}
}
</style></head>
<body>
<div tabindex="-1" id="notebook" class="border-box-sizing">
<div class="container" id="notebook-container">
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h1 id="简单的例子">简单的例子<a class="anchor-link" href="#简单的例子">¶</a></h1>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p><span style="float: left">Prev: <a href="./index.html">乘车指南 🚇</a></span>
<span style="float: right">Next: <a href="./objects.html">Jike Metro 🚇 中各个类的可用属性</a></span></p>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In [1]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="kn">import</span> <span class="nn">jike</span>
<span class="n">c</span> <span class="o">=</span> <span class="n">jike</span><span class="o">.</span><span class="n">JikeClient</span><span class="p">()</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h2 id="获取瓦总和不管姐粉丝性别百分比">获取瓦总和不管姐粉丝性别百分比<a class="anchor-link" href="#获取瓦总和不管姐粉丝性别百分比">¶</a></h2>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>想法来自 <a href="https://web.okjike.com/user/c7d257c7-a4fc-4383-a779-49f3123adfab/post">劳斯判据</a> 的 <a href="https://web.okjike.com/post-detail/5ac0a1dee72e500017c5e47f/originalPost">动态</a></p>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In [2]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="c1"># 瓦总</span>
<span class="n">ceo_follower</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">get_user_follower</span><span class="p">(</span><span class="n">username</span><span class="o">=</span><span class="s1">'82D23B32-CF36-4C59-AD6F-D05E3552CBF3'</span><span class="p">)</span>
<span class="n">ceo_follower</span>
</pre></div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area">
<div class="prompt output_prompt">Out[2]:</div>
<div class="output_text output_subarea output_execute_result">
<pre>List(20 items)</pre>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In [3]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">ceo_follower</span><span class="o">.</span><span class="n">load_all</span><span class="p">()</span>
</pre></div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area">
<div class="prompt output_prompt">Out[3]:</div>
<div class="output_text output_subarea output_execute_result">
<pre>19956</pre>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In [4]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="c1"># 不管姐</span>
<span class="n">boss_follower</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">get_user_follower</span><span class="p">(</span><span class="n">username</span><span class="o">=</span><span class="s1">'B5C00109-15EA-4351-8B93-E58651E8C39D'</span><span class="p">)</span>
<span class="n">boss_follower</span><span class="o">.</span><span class="n">load_all</span><span class="p">()</span>
</pre></div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area">
<div class="prompt output_prompt">Out[4]:</div>
<div class="output_text output_subarea output_execute_result">
<pre>4388</pre>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In [5]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">ceo_male_fan_count</span> <span class="o">=</span> <span class="nb">sum</span><span class="p">((</span><span class="n">follower</span><span class="o">.</span><span class="n">gender</span> <span class="o">==</span> <span class="s1">'MALE'</span> <span class="k">for</span> <span class="n">follower</span> <span class="ow">in</span> <span class="n">ceo_follower</span><span class="p">))</span>
<span class="n">ceo_female_fan_count</span> <span class="o">=</span> <span class="nb">sum</span><span class="p">((</span><span class="n">follower</span><span class="o">.</span><span class="n">gender</span> <span class="o">==</span> <span class="s1">'FEMALE'</span> <span class="k">for</span> <span class="n">follower</span> <span class="ow">in</span> <span class="n">ceo_follower</span><span class="p">))</span>
<span class="n">ceo_other_fan_count</span> <span class="o">=</span> <span class="nb">sum</span><span class="p">(</span><span class="n">follower</span><span class="o">.</span><span class="n">gender</span> <span class="o">==</span> <span class="kc">None</span> <span class="k">for</span> <span class="n">follower</span> <span class="ow">in</span> <span class="n">ceo_follower</span><span class="p">)</span>
<span class="nb">print</span><span class="p">(</span><span class="n">ceo_male_fan_count</span><span class="p">,</span> <span class="n">ceo_female_fan_count</span><span class="p">,</span> <span class="n">ceo_other_fan_count</span><span class="p">)</span>
</pre></div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area">
<div class="prompt"></div>
<div class="output_subarea output_stream output_stdout output_text">
<pre>12794 4070 3092
</pre>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In [6]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">boss_male_fan_count</span> <span class="o">=</span> <span class="nb">sum</span><span class="p">((</span><span class="n">follower</span><span class="o">.</span><span class="n">gender</span> <span class="o">==</span> <span class="s1">'MALE'</span> <span class="k">for</span> <span class="n">follower</span> <span class="ow">in</span> <span class="n">boss_follower</span><span class="p">))</span>
<span class="n">boss_female_fan_count</span> <span class="o">=</span> <span class="nb">sum</span><span class="p">((</span><span class="n">follower</span><span class="o">.</span><span class="n">gender</span> <span class="o">==</span> <span class="s1">'FEMALE'</span> <span class="k">for</span> <span class="n">follower</span> <span class="ow">in</span> <span class="n">boss_follower</span><span class="p">))</span>
<span class="n">boss_other_fan_count</span> <span class="o">=</span> <span class="nb">sum</span><span class="p">(</span><span class="n">follower</span><span class="o">.</span><span class="n">gender</span> <span class="o">==</span> <span class="kc">None</span> <span class="k">for</span> <span class="n">follower</span> <span class="ow">in</span> <span class="n">boss_follower</span><span class="p">)</span>
<span class="nb">print</span><span class="p">(</span><span class="n">boss_male_fan_count</span><span class="p">,</span> <span class="n">boss_female_fan_count</span><span class="p">,</span> <span class="n">boss_other_fan_count</span><span class="p">)</span>
</pre></div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area">
<div class="prompt"></div>
<div class="output_subarea output_stream output_stdout output_text">
<pre>2844 1163 381
</pre>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In [7]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="o">%</span><span class="k">matplotlib</span> inline
<span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="nn">plt</span>
<span class="kn">from</span> <span class="nn">matplotlib.gridspec</span> <span class="k">import</span> <span class="n">GridSpec</span>
<span class="n">labels</span> <span class="o">=</span> <span class="s1">'male'</span><span class="p">,</span> <span class="s1">'female'</span><span class="p">,</span> <span class="s1">'unknown'</span>
<span class="n">ceo_stats</span> <span class="o">=</span> <span class="p">(</span><span class="n">ceo_male_fan_count</span><span class="p">,</span> <span class="n">ceo_female_fan_count</span><span class="p">,</span> <span class="n">ceo_other_fan_count</span><span class="p">)</span>
<span class="n">boss_stats</span> <span class="o">=</span> <span class="p">(</span><span class="n">boss_male_fan_count</span><span class="p">,</span> <span class="n">boss_female_fan_count</span><span class="p">,</span> <span class="n">boss_other_fan_count</span><span class="p">)</span>
<span class="n">the_grid</span> <span class="o">=</span> <span class="n">GridSpec</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">subplot</span><span class="p">(</span><span class="n">the_grid</span><span class="p">[</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">],</span> <span class="n">aspect</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s1">'ceo'</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">pie</span><span class="p">(</span><span class="n">ceo_stats</span><span class="p">,</span> <span class="n">labels</span><span class="o">=</span><span class="n">labels</span><span class="p">,</span> <span class="n">autopct</span><span class="o">=</span><span class="s1">'</span><span class="si">%1.1f%%</span><span class="s1">'</span><span class="p">,</span> <span class="n">shadow</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">subplot</span><span class="p">(</span><span class="n">the_grid</span><span class="p">[</span><span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">],</span> <span class="n">aspect</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s1">'boss'</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">pie</span><span class="p">(</span><span class="n">boss_stats</span><span class="p">,</span> <span class="n">labels</span><span class="o">=</span><span class="n">labels</span><span class="p">,</span> <span class="n">autopct</span><span class="o">=</span><span class="s1">'</span><span class="si">%1.1f%%</span><span class="s1">'</span><span class="p">,</span> <span class="n">shadow</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
</pre></div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area">
<div class="prompt"></div>
<div class="output_png output_subarea ">
<img src="data:image/png;base64,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
"
>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h2 id="店长发车的时间分布">店长发车的时间分布<a class="anchor-link" href="#店长发车的时间分布">¶</a></h2><p>基于最近一个月 <a href="https://web.okjike.com/topic/5701d10d5002b912000e588d/official">不好笑便利店</a> 主题下的精选,由评论判断是否开车</p>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In [8]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="c1"># 不好笑便利店 的主题精选</span>
<span class="n">selected</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">get_topic_selected</span><span class="p">(</span><span class="n">topic_id</span><span class="o">=</span><span class="s1">'5701d10d5002b912000e588d'</span><span class="p">)</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In [9]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="kn">from</span> <span class="nn">datetime</span> <span class="k">import</span> <span class="n">datetime</span><span class="p">,</span> <span class="n">timedelta</span>
<span class="n">today</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">today</span><span class="p">()</span>
<span class="n">a_month_ago</span> <span class="o">=</span> <span class="n">today</span> <span class="o">-</span> <span class="n">timedelta</span><span class="p">(</span><span class="n">days</span><span class="o">=</span><span class="mi">30</span><span class="p">)</span>
<span class="n">date_parse</span> <span class="o">=</span> <span class="k">lambda</span> <span class="n">t</span><span class="p">:</span> <span class="n">datetime</span><span class="o">.</span><span class="n">strptime</span><span class="p">(</span><span class="n">t</span><span class="p">[:</span><span class="o">-</span><span class="mi">5</span><span class="p">],</span> <span class="s1">'%Y-%m-</span><span class="si">%d</span><span class="s1">T%H:%M:%S'</span><span class="p">)</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In [10]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">comment_keywords</span> <span class="o">=</span> <span class="p">{</span><span class="s1">'奶'</span><span class="p">,</span> <span class="s1">'任务'</span><span class="p">,</span> <span class="s1">'爱尔兰'</span><span class="p">,</span> <span class="s1">'不动产'</span><span class="p">,</span> <span class="s1">'发车'</span><span class="p">,</span> <span class="s1">'开车'</span><span class="p">,</span> <span class="s1">'上车'</span><span class="p">,</span> <span class="s1">'窑子'</span><span class="p">,</span> <span class="s1">'黄色'</span><span class="p">,</span> <span class="s1">'黄即'</span><span class="p">,</span>
<span class="s1">'片子'</span><span class="p">,</span> <span class="s1">'看片'</span><span class="p">,</span> <span class="s1">'借一部'</span><span class="p">,</span> <span class="s1">'资源'</span><span class="p">,</span> <span class="s1">'举报'</span><span class="p">}</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In [11]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="kn">from</span> <span class="nn">collections</span> <span class="k">import</span> <span class="n">defaultdict</span>
<span class="n">time_periods</span> <span class="o">=</span> <span class="n">defaultdict</span><span class="p">(</span><span class="nb">int</span><span class="p">)</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In [12]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">message_date</span> <span class="o">=</span> <span class="n">today</span>
<span class="k">while</span> <span class="n">message_date</span> <span class="o">></span> <span class="n">a_month_ago</span><span class="p">:</span>
<span class="n">messages</span> <span class="o">=</span> <span class="n">selected</span><span class="o">.</span><span class="n">load_more</span><span class="p">(</span><span class="n">limit</span><span class="o">=</span><span class="mi">100</span><span class="p">)</span>
<span class="k">for</span> <span class="n">message</span> <span class="ow">in</span> <span class="n">messages</span><span class="p">:</span>
<span class="n">message_date</span> <span class="o">=</span> <span class="n">date_parse</span><span class="p">(</span><span class="n">message</span><span class="o">.</span><span class="n">createdAt</span><span class="p">)</span>
<span class="n">comments</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">get_comment</span><span class="p">(</span><span class="n">message</span><span class="p">)</span>
<span class="n">comments</span><span class="o">.</span><span class="n">load_full</span><span class="p">()</span>
<span class="k">for</span> <span class="n">comment</span> <span class="ow">in</span> <span class="n">comments</span><span class="p">:</span>
<span class="k">if</span> <span class="nb">any</span><span class="p">((</span><span class="n">keyword</span> <span class="ow">in</span> <span class="n">comment</span><span class="o">.</span><span class="n">content</span> <span class="k">for</span> <span class="n">keyword</span> <span class="ow">in</span> <span class="n">comment_keywords</span><span class="p">)):</span>
<span class="n">time_periods</span><span class="p">[</span><span class="n">message_date</span><span class="o">.</span><span class="n">hour</span><span class="p">]</span> <span class="o">+=</span> <span class="mi">1</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In [13]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="c1"># UTC time, should +8 for Asia/Shanghai</span>
<span class="n">adjusted_time_periods</span> <span class="o">=</span> <span class="p">[((</span><span class="n">h</span><span class="o">+</span><span class="mi">8</span><span class="p">)</span><span class="o">%</span><span class="k">24</span>, time_periods[h]) for h in range(24)]
</pre></div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In [14]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">adjusted_time_periods</span> <span class="o">=</span> <span class="n">adjusted_time_periods</span><span class="p">[</span><span class="o">-</span><span class="mi">8</span><span class="p">:]</span> <span class="o">+</span> <span class="n">adjusted_time_periods</span><span class="p">[:</span><span class="o">-</span><span class="mi">8</span><span class="p">]</span>
<span class="n">adjusted_time_periods</span>
</pre></div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area">
<div class="prompt output_prompt">Out[14]:</div>
<div class="output_text output_subarea output_execute_result">
<pre>[(0, 0),
(1, 0),
(2, 0),
(3, 0),
(4, 0),
(5, 0),
(6, 0),
(7, 0),
(8, 13),
(9, 20),
(10, 8),
(11, 20),
(12, 33),
(13, 30),
(14, 42),
(15, 71),
(16, 17),
(17, 37),
(18, 41),
(19, 31),
(20, 41),
(21, 38),
(22, 18),
(23, 2)]</pre>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>店长最可能发车的三个时间段</p>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In [15]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">total_cnt</span> <span class="o">=</span> <span class="nb">sum</span><span class="p">((</span><span class="n">cnt</span> <span class="k">for</span> <span class="n">_</span><span class="p">,</span> <span class="n">cnt</span> <span class="ow">in</span> <span class="n">adjusted_time_periods</span><span class="p">))</span>
<span class="n">drive_time</span> <span class="o">=</span> <span class="nb">sorted</span><span class="p">(</span><span class="n">adjusted_time_periods</span><span class="p">,</span> <span class="n">key</span><span class="o">=</span><span class="k">lambda</span> <span class="n">t</span><span class="p">:</span> <span class="n">t</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span> <span class="n">reverse</span><span class="o">=</span><span class="kc">True</span><span class="p">)[:</span><span class="mi">3</span><span class="p">]</span>
<span class="k">for</span> <span class="n">period</span><span class="p">,</span> <span class="n">cnt</span> <span class="ow">in</span> <span class="n">drive_time</span><span class="p">:</span>
<span class="nb">print</span><span class="p">(</span><span class="s1">'发车时间: </span><span class="si">{}</span><span class="s1">点,发车概率: </span><span class="si">{:.2%}</span><span class="s1">'</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">period</span><span class="p">,</span> <span class="n">cnt</span> <span class="o">/</span> <span class="n">total_cnt</span><span class="p">))</span>
</pre></div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area">
<div class="prompt"></div>
<div class="output_subarea output_stream output_stdout output_text">
<pre>发车时间: 15点,发车概率: 15.37%
发车时间: 14点,发车概率: 9.09%
发车时间: 18点,发车概率: 8.87%
</pre>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>店长发车的时间分布</p>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In [16]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="o">%</span><span class="k">matplotlib</span> inline
<span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="nn">plt</span>
<span class="n">data</span> <span class="o">=</span> <span class="p">[]</span>
<span class="k">for</span> <span class="n">h</span><span class="p">,</span> <span class="n">cnt</span> <span class="ow">in</span> <span class="n">adjusted_time_periods</span><span class="p">:</span>
<span class="n">data</span><span class="o">.</span><span class="n">extend</span><span class="p">([</span><span class="n">h</span><span class="p">]</span><span class="o">*</span><span class="n">cnt</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">hist</span><span class="p">(</span><span class="n">data</span><span class="p">,</span> <span class="nb">max</span><span class="p">(</span><span class="n">data</span><span class="p">)</span><span class="o">-</span><span class="nb">min</span><span class="p">(</span><span class="n">data</span><span class="p">),</span> <span class="n">facecolor</span><span class="o">=</span><span class="s1">'g'</span><span class="p">,</span> <span class="n">align</span><span class="o">=</span><span class="s1">'left'</span><span class="p">,</span> <span class="n">histtype</span><span class="o">=</span><span class="s1">'bar'</span><span class="p">,</span> <span class="n">rwidth</span><span class="o">=</span><span class="mf">0.9</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">xlabel</span><span class="p">(</span><span class="s1">'Hour of a day'</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">ylabel</span><span class="p">(</span><span class="s1">'Drive count'</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s1">'Histogram of drive statistics'</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">grid</span><span class="p">(</span><span class="kc">True</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
</pre></div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area">
<div class="prompt"></div>
<div class="output_png output_subarea ">
<img src="data:image/png;base64,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
"
>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<h2 id="生成⎡推荐关注⎦和⎡我关注的主题⎦对应关键词集的词云">生成⎡推荐关注⎦和⎡我关注的主题⎦对应关键词集的词云<a class="anchor-link" href="#生成⎡推荐关注⎦和⎡我关注的主题⎦对应关键词集的词云">¶</a></h2>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>即刻Web端首页右侧栏的推荐关注</p>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In [17]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">recommended_topics</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">get_recommended_topic</span><span class="p">()</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>加载至少200个推荐的主题</p>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In [18]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="k">while</span> <span class="nb">len</span><span class="p">(</span><span class="n">recommended_topics</span><span class="p">)</span> <span class="o"><</span> <span class="mi">200</span><span class="p">:</span>
<span class="n">recommended_topics</span><span class="o">.</span><span class="n">load_more</span><span class="p">()</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In [19]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">recommended_topics</span>
</pre></div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area">
<div class="prompt output_prompt">Out[19]:</div>
<div class="output_text output_subarea output_execute_result">
<pre>List(217 items)</pre>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>给我推荐的前五个主题的关键词</p>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In [20]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="k">for</span> <span class="n">topic</span> <span class="ow">in</span> <span class="n">recommended_topics</span><span class="p">[:</span><span class="mi">5</span><span class="p">]:</span>
<span class="nb">print</span><span class="p">(</span><span class="n">topic</span><span class="o">.</span><span class="n">keywords</span><span class="p">)</span>
</pre></div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area">
<div class="prompt"></div>
<div class="output_subarea output_stream output_stdout output_text">
<pre>单车 租赁 自行车 租赁 o2o ofo 骑行 mobike 共享单车
美团 人人网 饭否 bat 马化腾 马云 李彦宏 张一鸣 大众点评 o2o 龙岩
穿搭 搭配 服装 时尚
网易云音乐 网易 网易云 云音乐 营销
二次元 动漫 新番 动画 漫画 魔王 动漫头像
</pre>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>我自己关注的主题</p>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In [21]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">my_subscribed_topics</span> <span class="o">=</span> <span class="n">c</span><span class="o">.</span><span class="n">get_user_subscribed_topic</span><span class="p">(</span><span class="n">username</span><span class="o">=</span><span class="s1">'WalleMax'</span><span class="p">)</span>
<span class="n">my_subscribed_topics</span><span class="o">.</span><span class="n">load_all</span><span class="p">()</span>
</pre></div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area">
<div class="prompt output_prompt">Out[21]:</div>
<div class="output_text output_subarea output_execute_result">
<pre>167</pre>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>自己关注的最近五个主题的关键词</p>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In [22]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="k">for</span> <span class="n">topic</span> <span class="ow">in</span> <span class="n">my_subscribed_topics</span><span class="p">[:</span><span class="mi">5</span><span class="p">]:</span>
<span class="nb">print</span><span class="p">(</span><span class="n">topic</span><span class="o">.</span><span class="n">keywords</span><span class="p">)</span>
</pre></div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area">
<div class="prompt"></div>
<div class="output_subarea output_stream output_stdout output_text">
<pre>想法 灵感 一个想法 杠精 思考
None
彩虹 合唱 金承志 张志超 神曲 音乐 作品 合唱 古典 搞怪
开箱 晒单 购物 评测
追踪 抓取 内测 邀请码
</pre>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>进行关键词计数</p>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In [23]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="kn">from</span> <span class="nn">collections</span> <span class="k">import</span> <span class="n">Counter</span>
<span class="n">recommended_keywords_counter</span> <span class="o">=</span> <span class="n">Counter</span><span class="p">()</span>
<span class="n">subscribed_keywords_counter</span> <span class="o">=</span> <span class="n">Counter</span><span class="p">()</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In [24]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="k">for</span> <span class="n">topic</span> <span class="ow">in</span> <span class="n">recommended_topics</span><span class="p">:</span>
<span class="n">recommended_keywords_counter</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">topic</span><span class="o">.</span><span class="n">keywords</span><span class="o">.</span><span class="n">split</span><span class="p">()</span> <span class="k">if</span> <span class="n">topic</span><span class="o">.</span><span class="n">keywords</span> <span class="k">else</span> <span class="p">[])</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>“推荐关注”一共有1164个关键词</p>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In [25]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="nb">len</span><span class="p">(</span><span class="n">recommended_keywords_counter</span><span class="p">)</span>
</pre></div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area">
<div class="prompt output_prompt">Out[25]:</div>
<div class="output_text output_subarea output_execute_result">
<pre>1164</pre>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>“推荐关注”中出现频次最高的10个关键词及其对应频数</p>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In [26]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">recommended_keywords_counter</span><span class="o">.</span><span class="n">most_common</span><span class="p">(</span><span class="mi">10</span><span class="p">)</span>
</pre></div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area">
<div class="prompt output_prompt">Out[26]:</div>
<div class="output_text output_subarea output_execute_result">
<pre>[('搞笑', 14),
('电影', 12),
('明星', 10),
('综艺', 9),
('科技', 9),
('娱乐', 8),
('鹿晗', 7),
('新闻', 6),
('李易峰', 6),
('日本', 6)]</pre>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In [27]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="k">for</span> <span class="n">topic</span> <span class="ow">in</span> <span class="n">my_subscribed_topics</span><span class="p">:</span>
<span class="n">subscribed_keywords_counter</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">topic</span><span class="o">.</span><span class="n">keywords</span><span class="o">.</span><span class="n">split</span><span class="p">()</span> <span class="k">if</span> <span class="n">topic</span><span class="o">.</span><span class="n">keywords</span> <span class="k">else</span> <span class="p">[])</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>“我关注的主题”一共有953个关键词</p>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In [28]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="nb">len</span><span class="p">(</span><span class="n">subscribed_keywords_counter</span><span class="p">)</span>
</pre></div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area">
<div class="prompt output_prompt">Out[28]:</div>
<div class="output_text output_subarea output_execute_result">
<pre>953</pre>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>“我关注的主题”中出现频次最高的10个关键词及其对应频数</p>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In [29]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">subscribed_keywords_counter</span><span class="o">.</span><span class="n">most_common</span><span class="p">(</span><span class="mi">10</span><span class="p">)</span>
</pre></div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area">
<div class="prompt output_prompt">Out[29]:</div>
<div class="output_text output_subarea output_execute_result">
<pre>[('阅读', 13),
('搞笑', 12),
('科普', 11),
('热门', 11),
('恋爱', 10),
('好笑', 10),
('新闻', 10),
('科技', 9),
('哄妹子', 9),
('哄', 9)]</pre>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<p>好奇,怎么会有 “哄妹子” 呢? 🤔🤔🤔</p>
</div>
</div>
</div>
<div class="cell border-box-sizing text_cell rendered"><div class="prompt input_prompt">
</div>
<div class="inner_cell">
<div class="text_cell_render border-box-sizing rendered_html">
<hr>
<p>基于 <a href="https://github.com/amueller/word_cloud">Word Cloud</a> 生成关键词词云</p>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In [30]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="kn">from</span> <span class="nn">PIL</span> <span class="k">import</span> <span class="n">Image</span>
<span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
<span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="nn">plt</span>
<span class="kn">from</span> <span class="nn">matplotlib.gridspec</span> <span class="k">import</span> <span class="n">GridSpec</span>
<span class="kn">from</span> <span class="nn">wordcloud</span> <span class="k">import</span> <span class="n">WordCloud</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell rendered">
<div class="input">
<div class="prompt input_prompt">In [31]:</div>
<div class="inner_cell">
<div class="input_area">
<div class=" highlight hl-ipython3"><pre><span></span><span class="o">%</span><span class="k">matplotlib</span> inline
<span class="n">mask</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">Image</span><span class="o">.</span><span class="n">open</span><span class="p">(</span><span class="s1">'jike.png'</span><span class="p">))</span>
<span class="n">wc</span> <span class="o">=</span> <span class="n">WordCloud</span><span class="p">(</span><span class="n">background_color</span><span class="o">=</span><span class="s1">'white'</span><span class="p">,</span> <span class="n">max_words</span><span class="o">=</span><span class="mi">100</span><span class="p">,</span> <span class="n">mask</span><span class="o">=</span><span class="n">mask</span><span class="p">,</span> <span class="n">width</span><span class="o">=</span><span class="mi">1000</span><span class="p">,</span> <span class="n">height</span><span class="o">=</span><span class="mi">800</span><span class="p">,</span>
<span class="n">relative_scaling</span><span class="o">=</span><span class="mf">0.3</span><span class="p">,</span> <span class="n">random_state</span><span class="o">=</span><span class="mi">42</span><span class="p">,</span>
<span class="n">font_path</span><span class="o">=</span><span class="s1">'/System/Library/Fonts/PingFang.ttc'</span><span class="p">)</span>
<span class="n">the_grid</span> <span class="o">=</span> <span class="n">GridSpec</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">)</span>
<span class="n">wc</span><span class="o">.</span><span class="n">generate_from_frequencies</span><span class="p">(</span><span class="n">recommended_keywords_counter</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">subplot</span><span class="p">(</span><span class="n">the_grid</span><span class="p">[</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">],</span> <span class="n">aspect</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s1">'Recommendation World Cloud'</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">axis</span><span class="p">(</span><span class="s2">"off"</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">imshow</span><span class="p">(</span><span class="n">wc</span><span class="p">,</span> <span class="n">interpolation</span><span class="o">=</span><span class="s2">"bilinear"</span><span class="p">)</span>
<span class="n">wc</span><span class="o">.</span><span class="n">generate_from_frequencies</span><span class="p">(</span><span class="n">subscribed_keywords_counter</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">subplot</span><span class="p">(</span><span class="n">the_grid</span><span class="p">[</span><span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">],</span> <span class="n">aspect</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s1">'Subscription World Cloud'</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">axis</span><span class="p">(</span><span class="s2">"off"</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">imshow</span><span class="p">(</span><span class="n">wc</span><span class="p">,</span> <span class="n">interpolation</span><span class="o">=</span><span class="s2">"bilinear"</span><span class="p">)</span>
</pre></div>
</div>
</div>
</div>
<div class="output_wrapper">
<div class="output">
<div class="output_area">
<div class="prompt"></div>
<div class="output_png output_subarea ">
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAXoAAADHCAYAAAAXg5iPAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAIABJREFUeJzsvXeYXVd19/9Zp9x+Z+70XqRRlyzZqrYlGcu9vHbAgB2wKXFIICQhjZIQQiAmENKAJOQNAYIDxjgOxbhgG1dZslwky0W9jUbS9H5nbr/nnP3745wZ3WnSyNjgH+98n2eeOXfvffZeu6299lpr7yNKKeYwhznMYQ6/vtB+1QTMYQ5zmMMc3lzMMfo5zGEOc/g1xxyjn8Mc5jCHX3PMMfo5zGEOc/g1xxyjn8Mc5jCHX3PMMfo5zGEOc/g1xxyj/yVCRJ4WkQ+9zncbRSQhIvobTdebDRFpE5ErZoi7VETaf4G87xSRL7x+6mbMt1lElIgYb3Te50jH6x4z51DGZhE59Au8/2kR+dYbSdMvA2cbe7/o2PLGz4LX+/4Z8v2ciNx1Lu+8oYzem9BpjyF1ew0VeSPL+H8Fk5mjUuqkUiqilLLf4HK+ISL/t+C3KSLJGcIufCPLniV9IiIfE5G9Hg3tIvK/InLeL5uW1wsR2SQiO0QkLiKDIvKsiKz7VdM1BqXUNqXU4tmknY45KqW+qJR6QxcjETE8PrKhIOxWj3lODjv4RpZ9DjTWiMi3RaRLREZF5KCIfF5Ewr8Kes6EN0Oiv0EpFQHOBy4A/uJNKGMObxyeAS4p+L0WOAlsnhQG8NK5ZPwGScNfA/4I+BhQCiwC7gOufwPyftMhIkXAg8C/4tJfB3weyP4q6RrDr3rHMhOUUhbwHBPH5iXAwWnCnjnX/H/ReotIqUdfELhIKRUFrgSKgZZfJO83A2+a6kYp1Q08isvwARARv4j8o4icFJEeEfkPEQkWxP+GiLwiIiMickxErvHCa0Xkfk8aOioiv1Pwzuc8Ce8ub1XdIyKLROQvRKRXRE6JyFUF6Z8WkS94ElZCRB4QkTIR+b5X7k4RaS5Iv0REHvPKPiQiNxfE3SkiXxeRh7yyXxCRloL4K71VPi4i/wZIQVyLiDwpIgMi0u+VH/Pivgc0Ag94NH5SJqkSZtEm94rIdz269onIGLOejGeApSJS7v3eDNwDhCeFPaeUynv53+jlOey159KCsttE5FMi8hqQnDyhRCTotduQiOwHZpRsRWQh8PvAe5RSTyqlskqplFLq+0qpv5vhnd/x2mPQa59aL3yKKkYK1CIiontjs19EWnnjFpJFAEqpHyilbKVUWin1c6XUa165E7bh09EJtIjIi974/KnHZBCRgDfuB7y+2CkiVV5cqYh8R0Q6vba+zwu/VNxd0adEpBv4jkyS0r0+/AsR2e+9+x2vrDDwMFDrjcuENw4n1+Fs4+PjIvKaNy/+R0QCM7TdZCFkM/DlacKe8fL2i8hXvTp3es/+meo9uTARuUBEdntz5n+AmegC+FNgFLhNKdUGoJQ6pZT647G+nZR3sTcf+0TkhIh8RkQ0L+6MY0BE5onIVo+ux4DyyfmfDW8aoxeReuBa4GhB8N/hDvzzgQW40s1nvfTrge8CnwBiuJ3Z5r13D9AO1ALvAr4oIpcV5HsD8D2gBHgZd4HRvPz/BvjGJPJ+E3ifF9+CuzJ/B1fiOgD8tUdTGHgMuBuo9N77dxFZNimvz3tlHwX+1nu3HPgx8BncjjkGbCxsIuBLXp2WAg3A5wCUUu/Dlapv8NQ1f89UnK1NbvTSxID7gX+bJg+UUqeAE5yW4C8BtgE7JoWNTaZFwA+APwYqgJ/hLki+gmzfg8soY55kVoi/xm3zFuBq4APT0eXhcqBdKfXiGdKMw6v/l4CbgRqvXvfM5l3gd4D/g7sLXYvbpm8EDgO2iPy3iFwrIiWvI4/3A7fj1skC/sUL/wCuBNkAlAEfAdJe3PeAELAcd+x+pSC/atyx3gT87gxl3orbPy24c/YzSqkk7pzu9MZlRCnVWfjSLMfHzcA1wDxgJfDBGWh4BtgoIpo3n8LAvcD6grClnJbo/xK4EJe/rALW486/s9bbo+8+3HYrBf4XeOcMdAFcAfxYKeWcIU0h/hW3r+YDb8Pt09+a5bt34+6my4E7OPOcmR5KqTfsD5cxJ3BXOgU8gTvZwWVsSaClIP1FwHHv+RvAV6bJswGwgWhB2JeAO73nzwGPFcTd4NGge7+jHi1jdDwN/GVB+n8CHp70/ive8y3Atkn0fAP4a+/5TuBbBXHXAQe95/cDzxfECS5j/tAMbfd24OVJbXlFwe9mrx7GLNvk8YK4ZUD6DP12Jy4j0IBeXAbxkYKwIeBtXtq/Au4teFcDOoBLC+i+fZpxcYX33ApcUxD3u7jMfDq6/rKwDc9A+xe8528Df18QFwHyXtuNt19B/NNj/QE8CXykIO6qyel/gXmx1KOzHZdR3w9UFfTVXdP1cwGNfzepL3OAjsv8dwArJ5VXAzhAyTS0XOq9H5gU1l7wu21SW1wHHJsu7eQ6zHJ83FYQ//fAf8zQbgEgg8u03wF83wt/viDseEH6Y8B1Bb+vBtpmU29cYaYTkIL4HWNjaxrajhS20QxpFK5Aq3tlLyuI+zDw9NnGAO7O3gLCBfF3F6afzd+bIdG/Xbn6qkuBJZzeZlTgMpCXvC3dMPCIFw4u8zo2TX61wKBSarQg7ASuND6GnoLnNNCvThstxyScyBnST/49lrYJ2DBGr0fzrbiSwRi6C55TBe/WAqfGIpTbQ+O/RaRKRO4RkQ4RGQHuYvZbstm0yWS6AjKzXnJsi3we0KqUSgHbC8KCwAsFZZ8oqJfj1auw7FPMjNpJ8SdmSggM4DKt2WIybQkvj7oZ33h9dJ0TlFIHlFIfVErVAyu8sr56DllMpsvEHSvfw9293uOpKv5eREzcuTSolBqaIb8+pVTmHMusnSWtsxkfM82ZCfBofBF3HI7tNOH02Jysn59Q9jR0n6netUCHN08L358J5zI2y3H7bDJtsx2XQ8rdTc2GrmnxZurot+JKMf/oBfXjMtHlSqmY91esXMMtuINhOiNGJ1AqItGCsEZcKeHNxilgawG9MeVuV39vFu924U44wPUeKfwNfBF31T5PKVUE3EaBDt+LmwlvdJs8gyshXc/pybTPo/d6YGfBBOnEXQCBCfUqLPtMtE9oF4/umfAEUC8z2xcmYzJtYVyVRgfubhJcYWMMhQv2udD1uqGUOog7L1Z4Qckz0DSGyXTlcYWZvFLq80qpZcDFuKqn9+OO21LxbD7TkTELUieXOaaiOdu7sxkf54IxIWQzp8fmtoKwQkY/oexJdMPZx2WdR2/h+zPhceAdY3r2s6Aft88m0zbWJmcaA11AiUz05Dnnsflm+9F/FbhSRFZ5K/s3ga+ISCWAiNSJyNVe2m8DvyUil3v6tzoRWaJcHfIO4EueQWgl8Nu4EvCbjQeBRSLyPnFdDE0RWVdoXDoDHgKWi8hNniT9MSZ2YBRXxRQXkTpc20QhenD1eVPwRreJUuqoV94f4U0mT7J5wQsrnEz3Atd7/WQCf4brQbJjlsXdC/yFiJR4dpw/PANdR4B/B37gGdN8Xn1/U0T+fJpXfoA7hs73jHBfBF5QSrUppfpwJ9Zt4hpeb2eiYHEv8DERqff06NPlf84Q15j/Z15dEZEGXBvG816SV4BLxD0nUcz0Xmq3icgyEQnh2px+qJSyRWSLiJwn7tmKEVxm4iilunCNpv/utbMpIpdMk++Z8PteW5TiqtD+xwvvAco8WqfDLzo+JuMZYAvuYrHfC3sWV2NwPhPH5g+Az4hIhae//yyznxPP4apIPua11024Ov6Z8M9AEfDfItIE4/zsn735OA5Pu3Av8LciEvXS/2kBbTOOAaXUCWAX8Hlv/G/CVS+fE95URu9Nru/iGVyBT+EaLJ/31BWPA4u9tC/iGie+AsSBrZxeAd+Dq7fqBH6CqyN//M2k3aNpFFdX+5te2d24Vn//LN7tB96Na4AeABbiDtAxfB5YjVvXh3ANt4X4Eu6gHRaRj09TxBvdJs/gqtEKadyGa8gbn0xKqUO4u49/xZVUbsA1GudmWc7ncbeex4Gf46ofzoSP4RqSvw4M46r33gE8MDmhV/+/An6EKwm14PbdGH4Hd0EdwDVSFjKfb+KqQV4FdjO1P14vRoENwAsiksRl8HtxGSBKqcdwmehruAa3B6fJ43u4u4BuXL31x7zwauCHuEz+AO6cGWvP9+Ey/oO4dpc/Pke678btn1bcNv+CR+9BXIba6o3NCSqdN2B8TMYOXCPmC2NqFW9u9QG9njAwhi/gMsXXgD24/TirA08efTfhGoYHce1zM44BpdQg7i4qj9u3o7g70DgTHVDG8Ie4knsrrurpbuC/vLzONgbeizuGBnGdGb47mzoVQiaqpOYwhzn8vw4RacM1Ur/pwtQcfjmYuwJhDnOYwxx+zTHH6OcwhznM4dccc6qbOcxhDnP4NcecRD+HOcxhDr/mmGP0c5jDHObwa463ys11U/RHqXwH7YlHAQdNfIzmWzG1KCD49GKCehUjuWOAojSwip7UNoJGNS3F78PQgqczVopc9lksuw2UjUgAhY2IH00rIpFwr9EOBq4lFH4fhde9K6VQOFgqT85Jk7JGiOf76M2coCfTRk/mOLbK886GT1IdnI8gKOVgKxtdDCaevYBEfoi72j7LQK6Dd9V/mirfckQEy3YoC4eYjD3DW7m/42s0hVdwQ+3H2dF/DEvZFJshtvceIOYL0xyppHW0h0sql7Ei1kjeSXP3ic/TmT7Cuxo+xeIi90bXl4Ze4fmBnZT5ysg5WWzlUBes4UTqFLayubH2OmqD1Qxk43zilf/Apxl8+fyPUGyePqeRtrPcefwRTiZ7ptA6GUHdz+3zr6M24COf3YZyEihnEH/oFjS9jLxjkbFz6KKhUDhKoVDYyiFj50jbWVJ2lpF8ku70IJ3pfjrSA3RlBujPxrGVzVXV6/jogrfj182z0sPEw2i/TPz/RjeazOf4o60P8tjJo9y6+Hz+5qIrMLTXLwsqpUhbeSzHQQEKhVKM97flOOQdh7xje38OedsmbVuM5jKM5LLjf/Fshr50kr50kpFshtF8lmubF/OJNZsZGU7znR8+T2kshObNOct2yOUsEuksH765gWL9LlCjgIGE3osy19KZHmTv8ClaE71sqlgMCD7NoDJQxF3HnyFk+AkbAZc2ZVFkBLm8+jy+37aNiysW05UepilUzuHRLjrTg3xoweUEdd+ENjgxMkRHYgS/YZCx8sTMYaqMuxD8GEY9ft8aMtkdKJUhFLwOy27HtnsQdHy+80gkf4hSCULBGwkG3sYMh9vPOrbfKox+CgJGFXWRK1HKJmMPYOpFgODXS9Dx4dNLifmXE9DLyDsJck4cn1aMJpMnfR6FAwgKC8Oow3GGEPw4ThxDbwAE0SIUbnBOJvdzYGQHSStOyoozag2StkfJ2ikslXMvohCDiFHKUK6b6sB8HBxaEy+zP/4s68qupyowD22Gg3M522Jb6wmylkVjSWxaRl8IQ9PQvbzChp+qQIyw4afSX4yjHOQsXV1kRFkQmU9ID5F1sgzmhggZIRZHF6KLTkB3jwYM55OMWCmWFjVOGbS2ctgfb+N4sov5kVqMab6BooDOVD9pJ8vN1haUk8HK7QQcNK0K0dzDvPvjbXyr9WfoouHgYDk2lrKxHJucY5F18uScPLZy0EUjoPsoNsPUBsvYWL6CxdEG5kVqMDTdu//D5aeWyjCa70AXH2GjcsKi/6vCmexgk4WB0+kVY4cuHZXHUTl0CSEyJkyk0CWEQsg5eXyaiSaCUgoHhYZ4accW0bPDrxtc1biQre3H2dnTTm8qQWVo9p+T0EUm1MdWiv/cu5On2luxHYWjHBylsMcWdUd5fe6c/lMu87e9tGN/AgiCrgkBwyRsmOwf7KUzOUrQ0aivjlFXHWNJSxUd3cOc7BwiGvbT3TdCOFwG+WZwenCvAPKhiVAXLOVgvJOsnedoopvhXIpLK5dRZAbRNZ2BbIJyfxFVgSDP9h1iSXWdJ4jkOTTSyXAuBUBPJk5A801pj7xj88iJIxyLD1AWCJHM57hpfjmOk8A0yhAJIRjoWhmOSuA4cSzrJI4zhK5XYztDKJVGqRy208svIqu85Ri9K4G7Fx6G/PUAhM0myrjASzG1soZEaYzcOB6vlMK2HTLJHOGiAH7/JpQaxXEG0bQSlErj2AMY2gJMcwUiAbzbTMcxkh9g58BDgEITA0NMLJXHUjlqAi0sKbqIqsA8yv11RM0yAFJWnOf676Mt+RqnUge4tOpWlkQ3oGtTJU4RIRYM4CiFTz/7R6NMMdhcsXR8Ii2O1iEChugsU/X4NOOMw6A53EhDqB5DdESErJ1DEw1NNAR30QIYyMZJWRmqA2WYM1yNUxMo49NLb5sg7Y/BxuGbxx7kqd6XvXqaiERQKonj9KCcUdBKaUv1cGj0JPPCNVT4Y5iagU8zMDWDkO6n2IwQ84UpMsMUmxFKfVEiRpCQ4ccQt65jbaGUoiv1Igmri6BeRjzXhohOyKigOXLltMz0l4WcZXG0b5BM3kKhCJkmjaUxjvYNUBwM0DuaIOL3s7iqHN2Tnkdze0nkDlAbdW/ETuQO0J96kubYR7GdPL3JRxjJvkpN0R9wIpmhMz1EqS8MCEVmkOF8ig1l7qHfvGPzzb272Dtw9l0YwHA2jULRNjLEJ7Y/TJHvTDf1nkaRz88fnn8R9ZHTB2Z1EWrCUVrjgx6zFkRchq2JeONXw9A0AoaJqbnPPs0gbJpEfX6iPj/FvgAxfwDLcWiKxphXXEJZIETUF6DY72cgm0ChONExgGnqPLe7lWDAR3NdKZomgANiglbpChrmEgAcFN2ZYf5P/RqqA8U81r2HsSVRQwjoJhk7h63cXUcinyFj5yg2Q2TsPEHdR3d6aMa5pyFEfD5ChomlHLK2RTxvsqjo3WhaEJEAprEURR5dq8Aw6lBYOM4wpjEPQ2/E8fejVBafsZhf5ONybzlGb1sOP/7WVkTg5o9chqaPScSnJ7WVt8mkcvR3D3PolVNEioNcfNWK8bRKKV577igPfG8Hv/XJ62hoqUSpKAPdNvnc2MV/lRPKFU2josbC53eZcl1oIZdWvZegHiVqlBE0Imzv+yFHRneyMLqOTRXvnsJAQkYxl1e/n6d77qY18TIPd/4HIxX9rCm9Bp82dcKcGBomnsmwsHwWd5kJ4xJ23snSmT1E3pn67Yq8kyVtJ1BK0ZE+wkxSQLm/njK/e6jRdmySVgaF4mSqF1s5lPmKSFjp8ZYfk/gBxJOwg8bUA8K2ciZI+qKVYAYuR9NKsO1TIAYKRVd6AFMz+ND861kZa3En/hgDQLCUfTovJThKYWiemseTDk3dXbTyTpLB7GHKAktIWb2EzSp0CRAyKqbQ98tG3nY43NvPsb5BlFIsrCzHbxg88NpBFleVM5BMEfH7mFdWhJJuHJUjntnNcPZFivzupxwSucOkrVNkrE7aR75H1u6hPvo+gnoxHekuQrqPFwaOMS9SQW82TlO4YrzbbaXY2dPOU+2t50z79s7Z351VHgjxwWWrJ4SJCNc0LWJBrAwUjOSzdCTi6KKxrLQSw2PspqbTnRxlV28HMX+Q65sX4zd0DNG9nayQtPJ8avsj7Oxp56MrL2RNZcmU+Tc4nGLbi0cZGEpQFA3SWDt2I7Tm/VkolUbsLjCasRwbRyleGTyOLhqHRjq5pNK93UQXjagZxEFR4gsTNvzUBGNEjICnenJ3Hznb3X36tKmsVAFKgU/XsRyHsmCYqK+UYGA5ALlcHsfR8fvWY9sOuZxD0H/pBAHGZ74DEExTx7JsbNvB75+VqnIC3jKMPjGSZrBnxJXoM3leeHI/Ky9sIRwNohs6FbXFPPvwHl574RiJeJqh/lESI2l8foMNly1j3Zal+PXTapKmRdXkcxb3fP0J/uCOm7Ath2//3YN0tPVPKduxHBD4xD+/l/lLXeYXM6vYWP4u8CQQW1kEdFeClUlb1DFoolETWMANdX/Is30/5OWhx9jaezdpe5SN5ROvtnYcxQsn2zk+MMTCzS6jt5XFYK4L28kDEM/3uu1hp+nNtGGID0Mz0dB5pOs/Gcp1T6FhLB9Q7Oj7EdPduSQIb6t8DxsrXJqOJ7v4tyP3kXVyDOZGsZTNA5072Nr3CgA+zeTDLTfQGK7y8rcZzI1iT/NVQ1spMvbp0+5KJclnt3vtFsE0V5N3bLrSA0SNELXB8ik6dkcpHul6kR39e7mm4mISfQYj6SxlkRCxUIDOoRH6EymW1lZy0YJGNDHQxGAoexRLZYmatWhiUOZfelaV1psNn6GTzVvju7acbY2rKQZTaUxdR9c0RDKcHLmTrNVLzu4la/fTOuRecJl3BvHpFfSlHsfQojTFfg+fVkY8n6I10ctAdpSGUBmG6OQdm8ZQGeJxelPTuXXJKt5WP29GGp/tPMFjJ4+yoqyKdy5YPmFsHxnq557Dr1EdjvK+JecTMKZnMkHdoGoaNU+xP8CayjqUUjx+6hj/+spz1EeK+eYVN1EaOK1W60iM8M29O6kKRbisYT5lwdOqTKUUr/R1sq3jOLqm4Z9mByxAdUURFyxv4NjJPipKowwMJbwM0mAdBzUMWik4wzjKYSiXZFPFYhwUOcfiRLKPoWwCWzn4dIPRfBpdNLrSQ2ysWMyBkQ6qgzFG8xlWljQyL1LJwXgn9aFStvYemJamxmgxughlwRDlgRBBw2W5yWSWhx95jeXL6qitjXHi5AD9/aNsvHgRIuDzuemeevogFRVRkskcFeUR2k70c83VK6eUdTa8ZRj9vp2t3PXVn2NZDlbeIpXI8rVP/xBN04iVR/jDO97Jy88eof14H1t+4wLKqoqpqIlRURujKBYal+atvM3ocIqikjC3fPRyvv5XP+LA7hOsungBt/3x1eQy+Slldxzv4zv/8DOs/GnG9Xq3+yJCxCjhsur3EzVL2d73I17ov58SXzULImvG0+maxrqGOpZWVlAWDqGUImWNcH/7vzCYcy/cs1UeB5vO9FF+cOIOAMp8dVxf91FqAi1EjKnfsHCUTU/mOFknTbm/gZBRNJVGhCJP3QSu1jKvLDJ2npF8ElNcNUresRjMjXr68tPfD+lI9fO5vd+Zwf6gGMolTv9SGZQzhGN3oOm1OM4waVVCb3aIcn/xtOofUJxM9bBr8BAbis8jmwnTn0hi2Q7DqQy7jrdj6BrFwQAo0MWkKXIZ/Zl9BI1yNDHI2WM3OP9qOf1oJkvWsuhPJgn7fCSzObpHRsnbNkopDF0jZ9tAmJaSP0Mph4H00wykt7Go9K8AGM7uojf5MDWRd2BoUQQTEUETjXWl8xjMJdFEI2z46U4Pcyo1SLHPZZS6CFc0nPn71Dnb5rGTR5lXVMIHlq4eN2gCPNXeyr1H9lIRDPPexedT5DvrNU/TQkRYXFJOyPRxeLifI8P9bKg+fUHmsrJKmqIxDg/3s7e/h7pw0fgcTFp5fnDoNUbzOW5eeB7nV9RMmZ/ZnM2SlnL8PoMFTZWMJNLomkYqk8Oxs0AWVBbsTiCHpRy29hxiKJckZeVoipQSNkJs7z3C6tJmbmu+hJOpPo6MdFMRKGJVSROHRjpJ2znWlM3n4vJF6KLRGCpn9+BxlhfXY05SrWgi+HWDxSUVDGRSOAoWl1S4Qt7OVrbvOMzQUJLiWIhkIkt3T5wTJwZIpXO879aLyedtjh7toa6uhId+9ioLWqo41T5AcXGIuroSGhvKmC3eMox+2dp53PYnV9PbMcTS1c1ompBOZtm38zjL182jpMI14i1YUccN79s4IyPuPjXAf37hAX7rk9exeGUDH/7s26mfX4FjOVTXl05Jr5s6mq6hz0JPPluICD4JsKHsRnTx0ZZ8lYbQUgqZjt/QuXX1KpwCQ52rEgkT0t26Zp00OSeDLgZBPYIgBPQwEaOE6+s+Oq2RL+ek+d+TX6Irc4zNle9mQWTqDb8C6AX69/nhGv72vA/Rlx3m83vvpNiM8OnltxHS/Xy79Wc827+XkOHHFJ1NFStpiZz9Gm2/bhLzRdDEh24sQDeXIBiIVsRwepSB7AgXlCwkoE81YhUincu7nwqLFZHM5SkJB3GU4uTAMM3lJSgUeSdJe3I7/Zn9hIwKdPGDQFVoDTrnvs19I2HqOpXRCPPLSwmaJj2jCZSCBRVlaJrQHR+lPBLGdmw0LYdSNo7Ke/9d1dzYfWBKWTgqP27zMURjX7yDwVyCulApxxO9NIcr6E4Ps7y4bsadp+U4dCRGqI1EMbVJ414mCjnTzbITo8MANEVjZxSI0lae4/EhbO8jTHnHpjYc5Xh8kEfaDhMq2B04SlEfKWbPQA+PnzpKbaRovOw9Az1sbW+lyPSzrqqeI8MD4+8FDZOY6ceybfYe7mTv4dO3EtuOQgQyeR8+ox7wgfhAQhiiY+KnxDDoT/XSEKzEIEDGznMiMczi4hqaw5U0hys824KwtMgd9w3ejklE0JXGhvKFE2xGY1C4Xjd7BnrI2Bbrq+qpjUSpCUWprYmxbs08SkoirFndxI9/8hLr182nqCjIrpeOo2kaDz/6MqIJ7e2DNDWVoWmM2x+Vc27OXG8ZRh8tDqEcxdMPvMzFV62gtLKI/S+18fSDL7P+8mWYvtmRms9ZdJ3sJ5fNs393G/f/93Zsyy7Q9bt6M+U46IbO22/fTLR4qsfL4ZEXOZHaV/COQ1fa/S7KscTL5JzT3y+oCy5iadFFKFxG69dc7whDM1lbei0rY1sI6hGS1vD4O5ayOZ7sQ4AiM4hfNxnIZtlQ9gFiviCmGBwafZ6fd/8XNUFXHWRqPjR0gnp0Rm+eQm8NQ3z49bN7nRiaTrEZpj3Vx0g+xQUli6gOlKKUImvnCGgmQd2PTzN5V8PbmJ3HoKB5U9Ufugn3uwsK0OlKt5Ow0rREasc9iWZCLBRgeVkjWctC1zQ0EaqKLiCZdZm+JoJPIjRHr6I6tBa/HkPQSOa7sJwUuj7Tbbq/HAR9JpsXNBP0mQiQsSwEYWNLEznbIm+7TNDUsxwb+ieyVjfl9FqzAAAgAElEQVQ5Z4CcPciBfvem5LwTJ2DU0pv6OaPZvTQUfYCIbwlB3cc1tavoTA9xXqxh3GjYnx2dkR5HKba2t/L3L23jA0sv4OZF56YGODE6zMe3PUzWtvjshstYU1k3YQcwIe3IML/31H3Es6dtSSnL9Vj7/qFX+MmxfRQuJWnL3W3/9NgBHj95dDwua1ukrDy6CH/zwpMTyltSWsG/X3ojb79qFdFwAF3TsB2H/sEEFWVRBoeThEIhxPwQieERhgcyBCNhiipsujMjZKw8hqZjK4dTySGihp+BbJK8YxPQzXEalFIuc5WJqlsRmbAYZlI52g530bSoGs2vM5RNE/X5CTgGJf4gewd6qAlFOX68j/hImn37O0Fg8+bFHDnSTT5vs3hRNSOjaUZG0gSDPnw+g+uvPZ/unjhKwUUXLkDEpWm2moe3DKO3LZuaxjJymTz7d59g5Yb57Hz6IGVVxURjoXHptfvkIDt+vnfK+/XzKmhaNPGbDZW1JdTPr2D7w69x4/s3ES52mV5nWx9P3bebGz+wicqaGOnU1BtU25J7eH7gp9PS2p46SHvq4PjvC0quZFF0PccSu9k1+DBrS69jQXQ1uhgYmokxjddNIp/lmd6XiOdTLIhWY4jGwZFOTNFpDJdzS9OFBPWo6xGjmUTN0mkNum8kTqS6yTg5FkXr0RAyTp6h3CgRI0jECJK2s2SdqaqvmaCLRsQIocnEcw1tSde2UBssn6ASGoODMy4F6oZQFZuo3qkpOa0LzjkWgkNv+hWCRhk5O0HK6sWvx7BzJ6kInndObfBGw9A0DP/pXUvQPD0WjILdjFIm82N/gsJiML2NwfQOFpR+CoB4Zjf96aeoDF+LoHF06B+oj76X8tAWUlaWmkCM0XwaUzN4qmc/C6PVM7ptvtzXyRd3baUtPsSJ0eEJO8rZwNR0in1+nmrv4FPbH+FzF17OxtqmaRdsWzkMZzOM5rIsjJUTnEG//3owmElxYnSYkVwWy3HYvvMYl1+0mJ7+EQaGk+w93Mk7r7mAx7Yd4O1Xn4/PF2Dbw0e562s/Z/2WpfzBHTexIlbLwXg3lnIIG35aouXjDgGRSY4G+19q49lH9lBaVcT1t15EMDRVhaWU4sSRbr78R9/nvPXz+cDHr6U6FCVomOiiUR2OUu3ZMTasb6G2JsZDD79KdWURLfMr2br1AIsWVfO2S1yvoCuvWMGLL7ZimjqPP7GP3r4RurqGERHKyyNcsnkxpjk7Fv6WYfQdbf38xx0/pbdjiO98+SHCRQEGukfQTY27vvIov/3n1wNw+LVTDPW5EstAbxwRobQiylXvXj+F0dc2l7N682J2bzvMolUNlJS7KhF/wGRn8UE2XbuSqvpSWg90MhnzIqswCnxj09Yoe+PPkHVSNIaW0RhePh5XE1xAXmXZM7yV1sQrdGda2Vj+TlaXXo0p/mknnYg7EfyayUg+RX2wlIgRIGIEfiUGRIXiyGg7Qd1Pc9hlFAk7TX9uhNpgGSHdz4/an+GpnldmnWdDqII/XXIzEeM0o3dwOJboxFI2P2p/hke7d05DjOJ4shsHxU/at7Gtb88Zy5kfLmZpuJUS/3yyTpyMNURpYDGN4S2zpvXNglIOjhpBJIi7oxFQDoosunb6A1AiOj69HFAU+S/A0GL4ddczLGg2EMo3YUiE2ujNBI0GelMPUxxYS29mBEPT2dZ7kCuqV7CmdB57h0+xrLhuEh2KV/u7+evnHqd1eJBL6+dx+/I1mOd4IKo2HOWOi67kb3c+xcNth/mr5x7jjouuZFNt84ySfdj08TcXXcHS0omebgPpFDt72qkMhVleVoVfnz07evD4Qf7i2UcB6OkfZc+hDmoqiti15yQ1FUWk0jmOtPVRU1VMNOwy5Wwmz3B/guRoBqXg4sp5rC1vxFYOpqazsKjC66Gp9Th+sIuf/vc2mhfXcOU7107L6AH27jxOT/sQVv4I7/rwFlZX1dGXTpB3HE6NDqOUotQforsnzpGjPfT2jrD/YCdl5VHiI2kOH+nhogsXEI0GMU0d0YTly+ppmV/JsdZeAgGTzZsW4fMZ56Rufssw+tKKIm767Uuw8jZH93bw2I928sFPXEc0FiQaC42rbtZftpQPfvxaAL5xx0/RDZ3bP3k94aKZpd2Bnjjf/OID46tfKpEhO41RthALImtYEHHdxRSwP/4srw4/CUBDaBmXVr63YEC4/y+v/gCm5mdf/Bme6rmLkXw/mypudvXrkyaBKTpN4XLChp9RK0NjuHw8jakZM6o0xnY2g7nOcVVSIfIqR8oaQSmHk8l907hgCg3hJRSbE10Pk1aGo4kOqgOl1IXcuP5MnHguwbrSxfg0E59mEJok6YzmU5xM9VLuL6YqMNE4HNT9UyZNxs6RtNKeqqh32jqO0QPQke6nPxufMR1ASJ/Hmlg1KasHTXyM5E8RMioZzh2lIrDyV+pHbzm9xBN3AzaW3QPo+MwFgE04sAVTb0TzDnXlnAHahv8V23HdWvtT7nXwCgel8hwa+CsMLUZz7Pco8p9HxvFzeLSLBdFq5kUq6EgP0ZEexJ4kpduOw/Pdp/j8C09weKiftVV1fGbDZVQGp47Ls0E83/jPbrgMQfhZ2yH++vkn+LuNV7O+qn56oQYhbPimGHJf7D7F555/nAWxcr595U3nZOgNFiwKpqERDvhwlCLgN1i7somRHRk6eoa5ePX8GetoaDqGZ6MYc9vOpnOEi4Kva8ykE1l2PnUApRRLVzdTVhvjkc4j9KYSVIejZG2bEk89FQn7WbiwmlPtg1xx2XK2bT/MurXzMQyNJ57cz3XXrgJczlJaGgbCxEfSFHUNU1s71QnjbHjLMHrTp7PwPNcKn83kCQR9LDyvnpKKqKuP8tIFQj5KK12LvD9gYpgGpZVRdGPm1a28OsZHP/eOcYn+8J5T3P0vj01MNKlf3Y52A/NOhgMjz2J5RrFDo8/TFF7B/MgqtAJLe8ys5OqaDxHzVfJ8//28OPgQGTvJZdXvJzxJV+zXTW6sX+Xq9W2LsOFncVGNe0wcpmX0GTtJT+Y4VYF5HEvs5tGub3GmM4/PDdw3JUzQeFfDJykunsjouzODdKUH2VyxkiLDVZUdTXSQdfIsjjaCwI11G7mu5sIJ7z3bv5d/Ongv19Ss5+aGSyfEaaLhn6S2Cmg+fn/hO8irqSqbMSiluOfkkzzRs5vbmq5kfdmZv9xoSI7u5E/w68X4tSJ8WhifHiFsTPf51V8uHCeBZXeha8XoWgm6FsNxEuSsI1hWN+HgFYQDmwCwnSTJfCsN0feja1PtRnlnhM7Re3BUloBRg02eYjPEroFWLihtpj5Uyr7hdlqiVePvpK08Pz12gH95ZQedyRHWVtVzx0VXML9oqh86AMpVh41JtkPZzLh6Z1ysEaEyGOEz67eQtS0eP3WMz7/wBP+8+XoWl5wWWPyawbLSSpRS9GWSHBzsm1DUjq6TpKw8fl2nIzHCQDo163bNOjYry6tpKS6lqrSIdauaSKVz7DnUSSqd4+iJPq6+ZBmlsZlPnCulSCez+AM+ejoGuf+/t2OaBh/4+LUY5rk7Zxw70MnRfR34/AYXX70C3aePu9K+3NtJ1rEpC4QQgcbGMsoqwrS1VTAcTxIIGVy8aT6aaDz11AH6h+NopiJWGvCuYlEEQyaVFVO96GaDtwyjf+6xfdx35zaUo0jE0/R3D/OPf/YDDFMnEPbz25+6nlw2T3HZdO54Z0YqmWHX1oOEo67U331qENua6gM+EzpSh2hL7kETA0dZDGQ7ebDz39hSeSvLiy8Z18GLCAE9xMXlNxHSi3i6925eG36KoBFlS+VtE/IcO9YPpw9CGZM9IDxYTp6joy/x2vBTxPN93NL4aUp8NSyKrqc9dZCUPUJdaPG07pan88hxMrUPW1kTVFJjOJboJGllqAzEEHGNxXvjxwkZAeZHahHEk+onMu6s5zNf7ismZJzdhqBrOnUh99yAUoq8sjAn3QvkKIciM4QA5f5imsMuw1YoLMcmY+eIGKelrryTJp4tI2RUkrL6KPEvRBc/CudXKs0DOCpBzjrmegCIhqGVEQlejWnUYuoN6PpETzBBQ9fC6DKVQTniet0k88fw6a7ffNaxKDKD9KTjdKQGGcgmuKz6tFqxMznKf+59ke7UKFvq5/OX67fQUlw6Y7tYyuG/9r3EnoFufJrO3oEebOVQ4g9iFqgKRISqUIRPr7uUgUyaQ0N97GhtozPZDwoqK6Jk8xb/sO4a/CGTT+94lN29E1WkSc8w+2p/F7c/9qNzcoR9e8syvn/1zeiaRl/vKD/fdpDLLl7M6hWNXPu2Zdz70G76BhLsO9zF+cum7jRy2TwvPnWArQ+8wnv+4Ap2bT3IA999lsWrGsmkskSmcdA4E6y8zfaHXyM5mmbReQ2s3NAyroINGiYN0WKaoiXjOnqAU9YxNl3RTIYUDZUOryZ3Ymom8y4q4mD2JSL+ImrW+DiZOs6oNUpNZT2bahadE11jeMsw+iUXNPLeyJVk0jl++J9PkUoGuPEDm4iVRzAMnZKKKIl4mpblZ3ftm4x8zqLzRD+BoMvghvpGcSa7J80gGGftNC8OPIRfC1Lqq6EjfZiWyAXE87082v1tklactWXXFejiBVPzs7r0anQx2TX4ME2hFRMk/7PBva/EJudk3Ltj0ke4v+NrKKVoia7G1AK0RFbTHD6Px7q/w0uDj7AgsoaLy2+aUb/fltjLydR+SnzVVPqnfkS+OlBCTbCU+9q3Y4rBqlgL++JtzAtXUxUo4Viic9rLzHYPHcHB4USqh6d6Xp4SX2SGWRVrmXYRi+eTfLv1Z6wobuayqtWY05wuLEQin+bO44/Qn43zx4vfRYnP3aHp4qMysJKQ4doWkvluAnqp60tv1pwxzzcbfmMBIf+FKJVDofAZzZhGIyOpH4NPI+hfN55WlyB+vYrO0XuZ3rFRYWhFDKS2EvUtQ9diBHWTlJUl7R3VB0jbOcKeiq0pGuP25Ws5OTrMh5avpSIYnsL0RFx/e00EQzQyVp5n2o+PS/Xzi0u5edF5U3ToIkJzUQmfWb+F/YO9nK9V8PAzr5HLWZimTiQS4F21a4n6/MT8wQmHoFL5PIOZNIamURsumtU1IIWI+YNEfe6cy4QDlJdGqCqPsv9IF/c/vodczuKKq1bx+LMHWbawGr/vtIAy0BPnG3fcz7OP7iGbyrH0giaq6ksRTejrGiY+mDwnRq+U4tSxXl54fB+6rnHpDRcQK49i45DM5zgw1Esqn8dWiupwdLzt/JqfHquDUWuEmFlCpVnF0dFDOLqDqZmUBcoo9ZXxdN9jVPgrWVq0HP11XoPwlmH01Q1lVNaVsO2h1xiNp8ikchzb18Hbb99MTUMZQ/2jDA8mqKiJnT2zSSitLOKDH7+OWFkYK++wb9dxvvm393Py6Mw6YnAlywMjz3I8+SoXlFxFwhqiI32Y2uBCLi6/iQc7v87WvnvIOEkuLr9p/OQsuH7qq0ouoyVyPlGz/AzukKdhO3lGrSF6Mm0cS+zmWGI3jrIQMagJLmZ1yZUsiK4loIU9ty4fi6Lr2DP8NEdHX2JN6dWEjantYzl59o1sI+dkWBBZM343TyFWxRbw50tv5ZutD3Ln8UeoCZbRn43zjvpNBHUfT/e+zD0nnpzaRt4K+eP2Z/jJNGaspUVNfGnV705h9EopXhw8yOM9u8gri0srL+BsMDSdpJXm+YH9PN7zEu+svwRNNBQOKauPoFHBSK6DEl8Lfv3cx8mbAjEw9Bosuw/H7iVvnUKTKD5jIdHgdUjBJXw+vYIl5XdwNkcYEcGxNQTh2trzyds2juNgeOpLX0FbG5rGLYtczyNDtGkl+c21zUQu8tNUFEMT4ZZFK9lY24TmHcqqCIapDUenNbaKCBdU1HB+RQ0nTwzg9xsYhkZ5eRS/3wABv67z2Q2XkXdO76Lvbz3AF158isUlFfzbpTdQ7D83j7LCRac4GmRJSxVNdaXccv0a4ok0u/acpKI0QmVplGQ6N4HRH3zlJAdePkE4GmDz9atYsd49NRyKBEiMpBnoiVM3b/bXZ1h5m8d/vIvermHmL61l47XnoWmCKI3r5y3h8oaW8XZviBSPP1cHanmm70mCepDaonr2xF+hPtRE0holRRqf5nN34GKMXwinv84N6luG0StHsXfncR76/g4uvuo8nn3kNdKpLF/983t594e3UBQLk0nmqGkqm9V23M2vlRef3M9Ad5y7vvoo+ZzF6HCKwd4RetqH+O4/P8w1N29gyeqmKQKUUorezAl29P+YkF7Eytil4+6WIkJTeDlXVH+Qn3X+X17ov59SXy2rYpdNoE0Xg2Jf5Xh+qiDvUWuQU6mDZOxRGkMr8OtBjiZ283j3nYzk+8mrHJp3m2ZNYAHvqP8TosbEuosIdaHF1AYXcip1gEMjL3JBycRLvJRStKcPcnhkJxEjxrLijcg0nyEQERZF6/nEklu48/gjPNGzG0N0yv0uw7ywbDmlvon6wcHcKD9t307SzuDTTK6t2UBDaOIEKfVFp70HZDif4OHO5/FrPq6sWjNtmskIaD5uariEPfHjPNjxHBtKl9IQqkQpi5H8SVJ2P0PZI/SbdZhamBL/IqqC55813zcTyknhMxaglI2ulxEwV6BUDl2PkbNaMY1GdM2134gImYyw+9WTpFJZ8paNpmnYtoNp6piGzupVjUQjQZ7ctp/zV7g2raHhFHv2d3DxhhYMXaMkFqZQwzblUJSHjGWRtvI0RmMsKXH7bXdfJ/cd28/CWDnvWbRygrpmQr0mHPRzF3h/wKC0JEIqnSPgN2luKqfYM2xGCwytGSvPzp4O8o7DxTWNNBbFxs9cnAvGxrmuCZduWITfZxAdl+6L8PsMrti0BNOYON4FWLSykXd/ZAurNy0iEPIx0B0nGgvRdXKA3o7hWfuoK6U4sqedp+9/GV3XuOaWDVRUx8bpm+5aiDEE9SDl/gqKzRhDuQGGc4ME9RBBPUgq10dXpgNBWFOygZF8nKHcIJWBqhnzOxPeEoxeKcWeF4/xrS89yOXvWENVfSkvPXOI3/zo5ezedpiBnhHaDncTjQWpPodjv4dfPUVP+yCrLlpAIOSntrmcsqpihvpG+fn/vsjvfe4dzFtSQ2dbP5PFqKQd5+ne7zOY7WJz5c1U+BsmxItoLIyuY0vlKK8MP0FdaNF4XdxLj2xyTpq0nSBhDRHP99KTOc6oNYiDzePdd+IoG58W4L3Nn6NKb8anBcnYCcr8dbREVqNweL7/p/j0AIFpPHcAAlqYNaXX0JE+xK7Bn9EcXkGJr2b8itqUPcJz/feRtkdZV3od1YGWGQewiFDhL2FpUTNP9rxM3rH4dutDaCJcVLac5cXNE/rs8Z6XyCuLeeEaejKDpKwMV1WvI3wWXb2jHJ7qeZkDoye5pGIly4vnzWpSiQgtkVquq9nA99p+zn0d2/lIy41oIoSMSurCG9ExKQ0sRpcA8dzxs+b5ZsNyBsnm95PNH8S9WfX0mQ3hGJpExhk9gK5r+Ewdy2ew72AXC+ZXsHd/B5suWkg+b2MaBn39o7y65xR+n0FP7wiDw0mSyRwDQwlKY2Gu3LKM2CTVg1KKwWyavG1TEgji03R+1naIb+/bxcU1jXxizSWYmkYyn+PRE0d4oPUgpYEg1zUvniLJ522b1pFBTo7GubC6YZyJ+/0mjQ2lpNM5imMhdEMbv7OlkI5DQ/0833UScPXzf7790XNq08saWrimaeHpdhQhGDi9smmaUBRxx6DP1Mll8hMOXC5d3cTH/+k9rrrGq1u4KEhZZRGdbf10nTp98vZsGBlK8T///gSDfSOsvWQxm69bhWizXbSE1SXrEVzNcV3QValqorEwsmS8bhoaNYHaX+jDBm8JRg9uha64aS1X37ye115w3QYDIR/X33oR/T1xvvQH32P15sUUncGKPiE/Tbjh/Ru54f0b0Q3dvR7V69R9u47z9AMvU1IWITGc5vjBLmzLGR8MGTvJM733cHT0JWqDCzwpeaoUrIvOebFLmRdZiSYGx5OvMpTrYSjXxWCuk3iun6Q1RMZJkXcyEzxkHOUQMUrGJX6AmuB83tnwCcr9DYSNYvbGt52VAbrMbzWLohvYF9/G9r4fcnXN7+DXg9jKYufAQ7QmXqbcX8/a0uvIZxSOYWEYGpmMhd9voBfc+tmZ7ufBzh2U+KJcWrmKx7pf4muHf8TovBRXVq8d16MP5Ub5WdcLmJrB7fOvY3vfa2ztfZXmSDXvrL9kRn278nzkf9rxLBEjyG/UbZrth0PG2/yq6nU845V3aeX5rChupiKwkp7Uy64BFo1EvpOq4NnVQW82/OYCfMZ88lYbIiam4QoMrkScx71J9TR8pkFleRHP72qlrDRMc0M5nV3DZDJ5QkEfgYDJgSNd9PaNMhxP0TKvgsHdSZoby+jrH2V+c8UUJg/uZXNff/V5tra3cvvytbx38SoGMin2D/bSEC0el2AvrmniI+et58u7nuEru7czv7iUpSUVE8bhUDbNZ597nL0DPXxm/RZuWXQemmgUFwUJBE16+0aoqi6ms3OYocYkpaWnpVpLOfzk2H76M66Hzc7uDl7tm/5yvkI4SpHzVD814ShXNy0c3wOM7Zanu4YgEU/zX19+iKKSEP3dcUBRUlFEWVXxhLQ+v0F5tbvg9nYMubbzs/DrTDrHff/1DLu3H6aiJsZv/v4VFJWEsG2HbCbPSDyNZdmYpk4m7bpVmj6dqpoYmibY3qlo23IYHEhQXhFFNMFBjfvIDw8lGRlOj5cpAmWVRYTD53bn0FuC0YsIy9fNY9naea5uSwTd0ABB0zXyWYvSyiLedsP5E1ZLTdfQpiitBPEOgRS6SBV2alVdCTe+fyP+oI/vf+3nvPrcURataqCixu3o7nQre4a34tdDbKx4F1GjDIfpvXQMzaTYrGTX4MM80XMnlpPDwTvVKQY+LUjUKCVqlhE2imlNvErWTnJZ5W2E+hoZac3ReSqNVdtDz6kBcllFj5xi5cbZfzDDpwXYWPFOejLH2RffRpm/jnVl13Nw5Hl2Dj6EIT42VbwLI13CtucOEAz6MLxrT0tKwixf6TKflJ3h7hOPczLZy3ubLueWxi0siNTxjWMP8EjXi1xYtoyS/4+6946S477ufD8VO+fumZ7pyRGDGWQiEAQBgknMpCVKspIlS1rJlr3rsA5rW6v1ylq/s7vvPR8f2Za81vOz5KBEihIlUoGZBBiQ82CAweScOofqSu+PGk4gAIpcSzLfFwcHQKO7qmuq6tb93fu9368aoGhW+PrYs1zIjrAvsYmt4Q4avQnGSnN8c/RZPJKLu5O7UMSrXbbKpsY3x55lurLIww0H6Ao0XHNA5c0Qd4W4u243Xxr8Hk9MvUqrL8x06ShpbYC4u5fL2e8hCgoJz6a3NSb+84Bt2xjmDPnyk8sBf2zZ/KZISTtM0PMA8hoaaLlcxbQsfD6V2ZEcs/M5svkymmaQrA1RKGps7Wvk+KlR2ltrsExrJWiIooAkCdc85qxW4dWZMUbymXVllDdCFkUe7tzEsdlJnhy5xN+ePcJ/23snfmWVqRX3+LivdQMn56f4+/PH2ZNspCUYIZMpcaF/imy2hKrK+HwuiqUq0ejqz+LC4hxPjgwsy1GDX1H5aM92Nifqrlu+0S2T7w9f5MmRAep9AfbVN697p2XbnJqcJlOuoBkGoiiyp7mRkNvFwmyW1569QHohjyiK2LbTjJ0YmqexowZJcvoWgiiSSDmstfRcHqNqoLqvn4BUylV+8I8v8/jXDqG6ZH75M7exYWsTgiAwPbnEj75/kvnZHPtv3cj5M+PEa4OoisTQ4Bwf+/QtWJbND75zDEWVMQyTibFFmprjiJKIx6ty8I4+/AE3zz11nnJRIxpzHpZjIwts39XGzhvfXKjuqvP6tt79c4QormaVHb0pPv3ZBwmEPdi2TU1TlP/w5w8TCHnXXcAPfHQfgiCQMTMslOYQBZFCsMxH//gOaprCVKwys5UZXKKLsBpBFhQEBJb8MzTe6WOGMe75+G7u/sAealIRfEEnuEZddUTVJN3B3bT7tzv7/CnrpqASI6LW4ZfDhNVaYmoDUTVJUInjk0O4JB8Vs8C/jPxXqlaJsFrL0pjNi985STDqZ/vBjVw4coVyvoIv7KV7e+tbPjuCIFDjauK22l/hiam/4dD8Iyxqk1wpnEC3NPbG382G4F6yixVCYS/BoJdXDl3i4Q/soVR0Bqo0S+eR8Rd4bu4UWyMd3Jfai0tSOVizDY/kwi25CKl+psqLfH3saZ6ZPUGbv44PNd+OR1Jp8CT4jY6H+L8GvsXfDz3Jopbj3Q03E1JWWR6GZfLE1Kscmj9LZ6CBBxpuuqZLFfCmo/mCILAvsYkfzxzl1cUL3JncTot3I7pVwLQNajxb8MhxFiv91Hv3XHc7vwgY5iTFygvoxjiK1ECu9DiGOevUrb0PIUnrvQjS2RInTo9hGCY+r8qV4Xni0QD5YoWz5ydQFAnTsJwpSZeMphlIkki+qCFJIsdPjdLRVov/DRnf+aVZhrNpkl4/m2K1b/rwCygqv755N6cXpvnJ6GVuSbXyUPtGbF73GxC5v20DT40N8tLUCP8ycJo/uGE/waCbhlSEbLaMrpuUSlVCwdWEJa9r/K9zR5krFbipvpkt8Tr+8eJJHh++SEsowj0t3bil1eTAUXTV+frAaQ5PjRJxefj9HfvZUZO6qg91amqaoYU0G5M1VHSdy14PNzSmCAQ97LtrM+ePDTM1ukClVOXiqTH+9N/9PTfe0ccdD99AS1cSURJJ1DnU4ly2hKbp1w70NizMZHn2sRM8+fVXsG14+FO3cNu7b1iZ5QlHfGze1szxI0N0dCc5e3qM1vYaPB6VkaF5LMumUq5SKGjcuK+Z0ZF5evoasG0nu9+6oxXv8vmzLRtFkVY06EVJvDL5ivUAACAASURBVJox+Bbwjgn0ztLM4Oj8GJ2hBKG+CJYMmmXwyPBpFFFit9JMs3910KN9o0O1PJk+zlJ1kbAaYdIeZ+fuPWgUuZC+zEhxGEmQqHUnafN1kHAluJwfYEt4O/2582xOxal1rx+s8ctRDtZ+hJS365o6NWth2yZg0erbRKr5P+OS/IjY6zIOQXAhCCJVc+0STEBxySguBdO0iCXDeHwuqhUdt1ddYVC8VQiCSEdgBwdqPsiPp7/CqczTCAhsj7yLPfEHUUQVWdbJpEtUNYOevhSnT44SjngJ1rj5zsRLfHv8Beo9MT7eejcRxckgJFHixngvS9U8P5p+je9NHmakOENPsJnPdDxEq29VMnZDsInf7X4vf335u3xr7Dku58d5b+NB+sKtqKLMYjXH83On8MpuPtJyJ7Uu51yatsVkaQHDNlFEibKpMViYdH5G1ykBRdUgdyZv4MuDj/Ps7Gl+u/s9hNW2ZStJ50a43irsFwsJ264iij4q1VMIgkIi/CdUqqfRqhfwqLtQ5FUKaLImRCLux+NWyWRL6LpJb089LpfCkeNDtDTGGByeJxr1sXNbKy8cHqAhFWNxqUgi5md4bAFdN4DVQG9YFk+NDVIydO6s7aTe/+ZDN4Ig0BOt4WMbd3BibnKFEjiWz/D354+zq7aB25va+djG7Zycn+J7Q/3c17qBJiVItWri9TrZf0tznMDy7IphWTxy+RzPjA0ScXv4tU272ZVsoCEQ4i9PvsznXnmak3NTfLz3BlqCEQRgppTny2eP8M1LZ/HIMr+/42bube1eceJa840Juz3UBpzySMTrIRVyjjFeF+bTn3uQ3FKRS2fHefnH5zhxaID5qTTf+4eXeOWpc9z1/t3c+6EbCUV9SLJEMVemWjHgGnp4c1Np/ufvfp2JK3N4/C7e/ckDPPSrN+Na81DIpIucODLElYEZBvqn6N3cyPjIAoZhUp+KLJdyHM35VGOUxYU8mmaQTRfJ58pEoj4kSaRSrhJLBFiYy7G05Eh/R2N+52FvWisl17eCd0SgNyyT56YHmSxlmC7lMGyLc0vTlE2dh1u3sKemheemLvE3/Yf40+134ZXXikHZuCU3ZbNEqVxCWrbKCysRPBUvSXcdLtEFCETUKDaQN/IUzSJe2bduO69DQKDdv5XXbQmvl/3YtkG29EM0YwxVTmFaWWTXjWQqL+EQDy0EBELeu1Hl9c1cGwjF/PTu6SAQ8lIpaaTaa4nUhEBwntxvJ07Ztk3BSDOnjWKv+WDeSJPV51FFD6GQlwO39iBK4roa/bn8EN+deImI6ufXOx6kI7B+wKRsavzt4OMcWjiLW1S5r/5GHm48QJ37ahZQT7CZP+z5AP80+hSH588xXVnisxs/QkcgRdwV4jc6H2K6ssQNka41A08G/zD8Q85mh5AFCcM2yVQL1LojNHrW66O8DlEQuCnex1wlze7YRkRBWjNNvMzGuAa76BcNUXACnW2Vcbu2Y5pzFCvPU9Uv4la3IEvryQXpTJH+gWm2b2lmcanArh2tZLIlltJFZudyjE0ssaEzyStHBhFEp3m7tFRE102W0sWrbn4bGMmleX5iGLckc0dTxzr65fUgiyIf3rCVD3VvxSM7WfZcqcCjg+c4NjfBnrpGdicb2VffzA9HLvGty2f5o+0H2NSborkpRjjkRas608+WbXNoaoQvnz1C1TL5aOcOdicbUSWJ93VuotEf4i9OHuYbl85wZHaCD3Zvod4X5Cvnj3F81nnQ/MGOm7m7pfvaDCIB3IqMZhhMZLI0hNdHaEkSiSQC7DrYw/abuhgdnOXZx47x4hOnmZtM8/Sjx7jprk0EIz4URaJc0BgbnEWrVJEVCZdbQa8aYDs1/1K+QnNXkvd/5jb23N6L6lofRusbItQkw1zqnyYQ9DAxusDCXA6tapBqiKLrJqZlg21TqeiEQl5efPYCpZLGgw/vopCv4PW5WJzPc/LoEDv3dFAoVJAkEVEUOPR8Pxt6UytZ/1vBOyLQF40ql7Jz3JHq5rX5UebLBT7WtYsnx/v576efYXdNM1fyi9xa34n7DUMbulWlbJaRBImJ8gRtvg6y1QwVs0zFLK/4oiqiylhphJSnkRpXLbZtUTHLaJZGXs8zNpxnaibLUqZIZ5tTu5uZyxEKeNixqYlrJ5Y2mjGCZgxj22UMawmP2ocgSFi2gWnlUOUUlnX1aLcAtPU10tKTQhAd+zzLcmr7to3To3hziZfl99poVpnB/HGOLD7OVHkQvxyhJ7SX0eI5LuePsqCNszt2P72hm/G4AysB1utVsWyLFl8dDzbsY0OwmU2hNizbwrSdhrEkiEiCxLZIJ4qocEvNVjaFWnFL6nXE2gQavTX8dtfDbIt0UtGrpNxxbNtGEkR6gs30BJtXWEGGYaFIMtsinSvVMQFwiy72xTdTq0ap6sayC5OAYZrLZT6bhCvMJ9vvRUREtw1M21znc2tjv6X5hZ8nDHMW01rAtHOAiSQlkMSIMzglNfDGWzBfqLBjazM1iSAvvHwJ6fQolYqOIAgc2NeNIAr0D0yTzVVwqwqqKnNgXzelUpXJ6TTn+ifXrQZNy+LxoX4mC1m2JOrYnWy8+rzZ165MvlFtcrqYp2zoBBQXHlnBKyv8ctcWDk05DlXv7dzElob1q2MbOD43yZ+99ixzpQL7U618onfHyoCULIrsq2+mLRTlK+eO8vVLZ/jCkedQRImSodMZjvH5PbezO9l4jUzegSQI3NzWjCJJdCZimJZFplyhLhhY977MQoGxK7P4Ah4+9nv3cOC+bXzvq4fo3tJIqiVOVTOQVZnMUoH/8dv/jKRIyLKI1++mUq5iWTayInHLA9t436/dSqo1sexJux7TkxlmpzM0tsSYm8nS2JKgXNZRNYPN25txuxWWFgqIksjF85OUSxq6buL3uzl5bJhctsQnf/N2LNsmnghy0y0b+PEPTtHQFKOpJc7Q4OzbZuC8IwJ9rlqh0RehPzPL5ew8k6UsE6UMi5USkiDy3dGz/NqGm7gj1X3NG9cjedCsKkE5SMUsIwgiIiKN3maGCoNYtk3K04BpG4yXRkl66ugO9JDR04yVRslKWS4MVLk0NEeuUMaybXL5CuVKFbdboaczid9/dQnndQUQAREECbAxrSwgIQgyujl1Vca2Fk7TefWmlNZkK44WfNFZUSz/Wrdv26ZiFRktnuN0+hmGiqexbINmXx/7a95Pg3cD6eoML859k4Gco2t/Mfcq26Pvos2/dWXoarKU5vm5fkzbjWbC3w0+R2cgSdwVYEHLU+sJcT4zQdUy2BvbxngxS0RN0+6vQVhe8czM58gXHBGyRCxAJOTFK7u5K7mLI6dGODI5yv49Dh1ONywGrszQ1epk6t9+4gR33dLLXcndRGdq6GitIRr2cmFkjonhDP8wfwzDtNnaXodtw8hsmojfQ9UwOLilg2jAi2XbnM6cJaZGqfckmSxPo1sGqqjQ5m95S9fgzwuynEQSYyiSiSgEEAQVy8phWmm06jmCYgibWuYKBfyqSioVwRtxs1Qsc+fdfeRLGnWhALWxwArTYjFd5APv2UUiHuCu2/tIxBzqbSDgpqu9Ft+ysqJDZZznO4PnEQWBX2rfSMy9ysiRlgP+QqVEXtdwLXvwvhG2bVM0dA5PjWLaNq3ByMp7d9TUs72mnqOzk5yan2JzPLlCxzQti5enx/j8a89yJbvEpniSP9p5gIRndSVt2TYZrcxwbomCXkUA9OWEByCjVfjOlfMsVkr0xWpJ+gLr6vivb+Po2CSLxRKKKKKbJlHf1cyjs0eu8MXPPkrPtmb+6IsfoWtLI7/15w8jiM596HLLqC4Z27LJZUoIgmP5udbkwzQszrx6BZdb4Y6Hd9K+MXWVLk56qcDmbc2MDM1x474ujr46yPxsllKpysXzkwSDHpYW86Qao9x21yYnDkgiyfoIiwt5tmxvcdQpRRGXS6ZcqjI2vEBrew2aZhAIeHjLDM5lvCMCfVavMFnKoIoyYZeHofwiO2KNNPojJNw+Xp0b5enJAfbWtOKTVaazeTTTJOR2MVvMMK0vEbRa8QtRLCGPZlZo9bVRNsvEXHEKRoGIGkERVPJGgVZf23Lm2cxEaYyku45BZRK3S0HXTVRFwudzEQp60A2TatWAazoV2YiiD1H04lW3UtRexbJL6OY0gqAiiRF0Ywr7La6wLNvkbOYFcvoCgiByIXsICxO35FuRULBti6XqNFcKJ7iYe5Wp8iCGpRF11bM9chd94f34JIc6FlNT3FP/a7T5t/DqwuOMFM8yWR6gwdvD5vBBugI7KZtVBvMzCAgEZDdT5TQ+2YUqyZRMjYpZZaaSwbQtWv0J0tUil3MzNPviqMsP3W//4AS6blAsVdm0IcUte7tWGkYTUxmKZY18QSPgdyEAr54YJl/Q2NrbwPhkmqpuMDOb5eUjQ/R21CMhcXF8joHxeYpalaph0l4fo7U2ykw6jyyJNCbiKJLkCGZp8/TnLmFhrSnllXmg/u5//cX5r4RhLmCYc3hcu6lUT2Gas0hSFAEFyy5Sqs7x44uLDC0sEfa46UnWUNZ1XhkeJxn0k6to3Jfoxu9fnU2Ir6Er1q4RuaqrvbqovFgpIQgCm+JJ7mruWseJr/MFUESRMwvT/O6LT6yb2lwLy7aZKRZ4bXYcRRTZXrNqGONTVD6zeQ9prcyeZONKOmLZNt8fvsj/OPYiU8UcG6M1fH7P7XSF42SrFebLJYayixybneTo7ASD2SWKepWY28tD7RvZnWzkpckRXpoa4dHB8zw+1E+Nx09nOEZPtIaNsRpSviC1Xj8xt5d0uUy2XOHi3DwV3eBAe8tVx2EaFpVSdUW5VhAEXJ7VMrCiyqguBVESefcn99O+MYWuGWQWCxx/aYAzrww6g5STaZ78l1d47ZkL3PX+3dz3kb0EI6ukg56+Bmam0owMz1HRdAJBD5GoH1WtEIn6KRY0xkcW6dnUgGXZZDNF8rkKqUaR3Td14fO7nLEeAepSEb777SPU1oVYWihw7NUreH0uSsXqdaWSr4V3RKDvDSfpDtWgWyZprYQsSOxMNOGRFMqmTnswztmlKQbz88SEAN8/249uWexqbuDo6AQtsSgTmRzj6X5+afNGepONy4ErQG9wEzb2SkbcE9i4st96d4p6dwrbhu2bJFobYxTLVWdgxbAoljWKpep1GSACCmHv/VhWHkkMI4khVLkJSQgiik7WYllFlDfJ6t+4xdnKMK8tPr7yilcKsSF4I+Iy39rC4kT6J7y28DiCIBJTU/SFb6Y3dDMhpWZ5StE5VkdkzceW8K20+DZxKv0M57IvMFw4TV5fJOXpIqr6eX/zjRSNChHVR607hF9xIyEQVDz4ZRc7oq3Ytk2jN0ZA8RBVfSv7sAFsm/vv2MzkdIbB0Xm+/tgRimVnMGhiOo2um3jcCg+9ayuGabJneyuz83ly+TJV3SBf0Ehni+za1oIsO4p/2WIFj0vBBnyOMyDHL0+QigcZGJ9HEKA1GaViVXhx4RUkQSKiOBOJmqURd6UIKuuX7v8WUOVWQr6HKZR/QsB7L2XtKKLgxePaDQhopo/p3DkMy6KsG8zlC3hVFd00KWhVChWN6tsQ4Hsjbqpr5su3PohmmusyaYAbahvYV9/CoakRXpoc+anbckkyN9U3sz+1OuAmCAK7ahtW/r4Wo7k08+UiN9Y18dldB9kYrSFTrfAnh3/C0dkJMloF3TLxyArNwTC3NbZzV3MX3ZE4iihxd0sXQ9klXpoc4YXJYS6lF3hpaoTnJoaQBBGvonBbYwef33Mbtg2KJNIUDlEXDFAbuP5E6lpYlk2lpOH2ulBUBdWtIAiwYUszN921aaV35/G5OPvaFeK1IXbe0sPJQ5eYGV/i63/9NMMD03zyP91HbWN0JTv3Bz20b6whZxSY1Odo7I6iCDKiBBkzT6Lbh5A0GM/NMvDKLKIk0NAcI7hsjmQYJqPD81SrJjv3dNDclkCWJXq3NDHQP8niYp5Y4q1f3++IQC8IAsfmx/jGlZOEXR4iqpeTixPEXD6+O3qWqMvLRzt34ZVVipUqcb8PAWdp2BAO4VYUagN+bNtGkSRe93MEJ7PI61U8kox6DVEm509oqo/Q9Aad5/XLQ5N6Tye6pRF3rV7YihSHZYqcLDmfVzz7AUd+2MJGWi7wS6JCq38Lcb0B03ZTNvR1y1ABwcnI5RA2IAsKSU87DZ7ulfeISPQFd1IyMrT4ttDi20RADiAIElAF27XcjDURUJanPgxCSoz9Ne+nL7yfC9nDhJQ4EbUWUZCIu1ezwo7Aao3Vtm1M26bDn0QSRSzbxrCsqwSoLNsmX9QolquEgx7uOuioJ4qCwDOHBiiWNO6/YzOyLPLtJ04wODyHx61w/MwouXyFR584gbL8cD12epR/96Gb6WpIYJoWL5wdQhJFasJOecKjKkT8HlqTMZbyJcKKSNlwdEEU0bHrc0tu/LKX2co8jd63L4L3s4QgSChyO+HAx7FtCbe7GVm0EQSVkqGjmQZhjxvDtIh4PYS9HnIVDZcsU9CqIAhoxrUlnS3bZqlQIuhxo0gimWIZj6rgVlfVVLFtPIZCazjCG8sdlaLOH2+/hQvtc0wX8yuiaNeCIko0+IPsqEld9cC41ipAFATe09mHW1a4v3UDdT6nNxRUXHRG4pycn2JLIsmWeA031jXSF6unxutfV5p1STIbIlG6wyE+2L2F8UKW/qU5Ts+PMZTNsVApc7ChHq+sUDEMriwukS1rbG8QrqrPvxE2kF7Ic/hHZzl/bJhP/OG9uDyq01i1QatUr3lsgbCXD//Wndz34b08+pXneenJM7z8k3PYls1v/Nm7icSd4/QH3bi64FDmGP42L2NWhj2xLaiizPnsFRS/TFmUSfjC3HnvFgRBoGzonFmaYkOohrOZaW64qQNJEFnUiszpBaazjtFS3aY4iihiLvfQ3greEYEenCVmvTfI7aluruQW+Jv+Q8yVC/SEa/lY5y6iLodDr3gl7t7YhQAosoRp2Uiiw3O3bBv3G6y10lqJPz3xI97XtpWbk+3X3f/aE1rQNY4tjKGZqzeYDVh2Kz6hmbGcxES+H4CE28+WWOqaP/Cnpy4xXcrx8a7dgCNXcFvtR1nQCvz5qWe5p0Hk9lQ3wut634JAvaeTek/nVdsCsKunwBym1hzlnmgTsmiAEoDy9x3TY3MW5BawCiC3Yitbnby7+jLYFQSpiZjSxL7EewEbUZCwbJvDw6NMZHPoprksZCXQlYizvaGes9OzlHWdXY0pFkolXhud4N6N3UjC6sO0UtF5/MenKZY0dm1r5eQ5Zzx/19YWXKqMrhu4lqeOs7kyd+7voa05Qam8KgfgUmXKms43vncUQYCuVILFXJFbNrfhcanEAl6SkQCmZWFaFmNzaTa31hFW/GyLbOZ4+iQTpQK6beASVTySG5fo+jcP9MBy49nFoZkhTixMUu8LsjPRyGtzjgzAXX1dzGYKXJydJ1uu4JJl2uJRipqGS5HxqArZUoXicvBRZYmo34umG/zVky/zwZu30VoT4R+eO85NG1rY1bnK8MqXNf7qyZf59/fspbV2VRLZNC2+9vwJDvS28kDPer1/27Z55dIYRy6PrbxWRWeACgPMraiF3Lm1i97G2nWf0zWDcrGCKIrUh4N8su8GRFtgcSqNrMqE4gF+deN2HmzrIeaW0bVHwD6HQj35kqPfL0t1uNRedH0Y3RzFtHK41c20+iN0R7o5mLyMpOynUM0jmi9g20lubK5nU10toiBQNU3aYuvln9dCrxocfbafJ7/+Cv0nRkGAvXf2ccOBDbg8qtMfK1/fmEiUBFq6k/z65x6iNhXlkb97nteevUB9S5yP/M5dqC6ZqqWT0fNUzCpeybHhXKpmUQQZSZBY1DK4RJWlag6/5EURZQbz87w8N0R/doZnpy5xsK6TbbFG0lqRZ6cvL5u3uPne2Flurm3nQLLjLVMs3zGBHiDq8tIXqWO6lCPm8vGBth0cWxjjSxcP86nuG6n3hpBFkYh3/dSobdtMlXLMVwpXbTOtlbiYneXs0jQB5WoNFq+s0B6Ir+voT5dyfO74j0i4fQTV6+i22DBaTNMZjPOXe969PMnrfJeqZSIJInPlAmOFNBY2hmmiihKWLfDNK2d4YfoKRb3K01OXVja5t7aVd7e8iVmzMQh2GuwSkjUN1hSoN4KVwbaWgAqCXgL37SDWAVVsywRzEewiCAEQ4wiCd3kF4HzfczOzqJLMTD6PS5Lxqgr9s/O0x6Kcnprm3MwcJyamKFarDC2mGU1neKivh6aIUyrxuFWndDOTIV+okKoN883vH6Oj5WpqpCCAz+fi0tAsT73YTyjooVSu0tIY410HNq6ch7pogLrotbOyxsRaCz6BnkAXU+Vp4q4YNa6Es9qzTQLvgNLN67CxyVYr9EWT+BUXs+UC06Wcwy4xq/TV19JVE3cmRpebgKLoPHQty+YrTx/h1UtjuFUZr6ry+Q/ciSgILOZL6KbpZKiFMhV9TXJi28uv6SsOTJWqTv/EHCVNZ3whw/mxWSRRJBbw0lEXX6nhR3weWhJXB0vDNHnt8jiXpxe4ddP6xMnQTV587Aguj8riTIbbf3kvmYU8l0+OMHllllse3k04ESTs8hB2ebCsEkuVDIKgokhN2FQxWUIQJGxbQzMuoxujmNYiguDCo+5AN0axrFFsbQbFzmGY42SLeRYKu+mu3UHY42Z4Kc3Q0hLbUvXXPBdDF6b4yz/+NuWiRiDsZcuNHSQbYwiiY2ZkA1r5ah/ptRAEAW/AzcOfuoWluRw//vYRfvytI2zd28n2m7twiSohxb/MTnP8J+JqGL/iZamaBUGgaJZZ0rI0eZOUTZ0nxs9zINnBaGGJdLWMblmkvCE8klNO8ikuZFEi7nIqGtcTq7sW3jGB3iMr+BUXl3PzHF0Y47d6D9AWiHGwvpNHhk/xxQsv8fubbiXmvrbxyBPj53lsZL23qGYZZLUyRaPKv1w5zvfHzl/1ue5wDV/YcQ9+cX1jQxUl/kPvfrZEr32x2MCX+g8znF9a93rVMvni+Re5qbZt5bWh3CLfHT3LJ7v38KOJi3xz6CT3N/XR7HdKPQuVIo+NnmFD+Nqc8fU7roBxEZQtThaPBGII7BwCAcDELj+BoPSCGAdzAls/C2IEwfSClQHXARDW1DCvw9UKedzc0dVBXqtSMQxCbjcxn5eyrpOrrFoUCgK4XLIjYCUItDTG6GhOMHDl+homhZIzyn/n/h4Grsxy9PToOl25tyNbIIkSu6I7MG2TiBpGRFwWlrt+KeIXDd2yiLq97K1tQQCenryMZhrIy0vz1mB0/Wp03T1sUdSq3LtjAxtSNfztU68xly0wNLPEYr7EiaFJZtJ5ZjJ5zo3NEPC42NSU5Nmzgzx37gojc2n+n6ePEA14OdjXzjNnB8kWK0wsZjEti4mlLH2NSdqTMVheqfU01NDTsHo92rZNvqzx+NELlKs6f/LwrWxqWk+lzMzlmBicxTJM+o8OcfbwJWRFYtedm3ngU7cRiFx971p2EVlwU9HPYtsagqCiil2YVgZsA7/7Nkw7j2HOYNs6ll3CMGdR5Q4UsQ7bKiJLdUznlrCYJ+L1MJHJEnBdba7zOrTlocSb7trEfR/ey4atTbg8KlXNcBI2G3T9p/dFBEHA7VV576cPMnB6jOGL0zz+1UNs2NqEL+jBWNbmcUsuMtU8FjZzlSX8shcbm5SnhvHSzEpy6JWdh7FumexONGPaFhVTd6oZCEiCgGVbZKplukO1b0s45B0T6PckWtBtE4+k8HubDq64sHskhV9u286JxQlkUSSzkOfS6TE8Phfd25pRl0eDH27dyp0pR/HNxma+UuCrl45iY3MhM0NI8XCwvpMt0XpSvhCK6NTyXZKE9xru9Jpp8L8uvkLYdR3NGRsu5+Zp9q/Peizb5mJ2ju41QTuva5xLT3N4dph/GjxGvTdEXq9we6oLlyTzxfMv0RtJcl9j7xv3sro7uwqCG8QaULYhyK1OicYugpUF28C2ywhSEkGKg9wKcjew3aF/WrOgbgepnrVTkwBbUnXM5gvkNI2o10PA5aI1GqFYrfLPJ04zmy8Q93kxbRtr+fdalCs63/7+CfLFCtt6G5EkkXtvdzTQDx252tcWnBruhUvTGIbJ3LIOydor17QtBFhXs62YOooorSuT2bbNeHkSRVCoWlVmKo4UhioqGJbBhuD/niPPzxqKKLI9nlo5xD01TWyOOlPFa3VkrgcBAY9Lwe9xISIwnc7zzNlB5rMFXhkYJehxrQRuSRToSSWoDfuxbJuu+jjNiQjPnr3CfTt6+J37bqZqmPz5o89ycFM7+ze2rZTsrofJpRx/9eTLeF0K//HB/TQnIle9Pxj3c8cHbyI9l3UIDrf2sjidYXp4nme+8TI3P7ST+Bv6YI5BuoBpLiKKXlYuAtugWHkeGx1BcJErPoLkD+BSNyMKfsBG0weQxQSaPoBlbyOvaUiiQLFaxb8c6C3LYmE6iy/oWWmsJurC/Oof3sOugxvx+l2s9shYERN7XXDsp54XQSDZFOP+j9zElz//Xc4eGeLMa1fYc3svcVeYrkAzftlLSPETkL34JDdBxUcxXyLlqSGo+J3hScVNeyDOicVx3JLCZClDUHFzYnGCPYkWisbyCsMWKJnVdaXTt4J3TKCXRJHnJi+xL9nOQrmA7XGU7o7Mj3J7fRd7Es0AnDh/kW//9dPUNsVo7kqiuhQEQSDq8hJRPeR1jVfnRnhk+DTd4Rrua+rl9177Hpuj9cyUc7w2MEqDN8QdqW52xBuJuLzXvMBlUeTmZBttgeszZh4fO7+ujv/T0BtJ8mc77iHh9vF/nH6a33z5UVySjCyIfH7H3dR63qTUYFdB8GIbg06pxhhFkOrALjjZuuB2/i54QHAmgYXl4SFbcDmBXz8HSAhy88pm2uZdSgAAIABJREFUS1WdmXyBdKlM/+w8NzTUY1o2x8YniXm9RL0e/KpKoVploVgkXXZcgSRx9eYIh7z0dCQpljQ8bnVlmthh1FS41vW4ra+JSMiLbUNzKkY04qNUqmIs32BHF6/gFhVckoJfduORVc6mx2jwOtPNiighCgIJl5/L+SvLg3ECEhIVS0O3dHZGd7zlc/PzhGXbXMpN0uRLUDI1FrTcitpiXA3ikRR0y+RyfopWfy15vURp2aJRAGLq1ZIFm5qTbG2t44/+6Yd8+s49dNbF+cIjz3D75k5u3tiKAPQ1JYn4PGxqTrKtNcXxoUlKVZ3huTSGaVKoVJnLFhiZSyMKUBcN4rtOJnxlZpFcucIfv+cgAY/r2kHGhssnRyjmy/hCXvwhLy6Pii/k4fLJEdKz2asCvWXlkaUkAe/9gIhujuGkalVkqRZh+Vp2qX0417SES+nBsBZwKX0EPHeRKz1G3OdjU32KqM/LlYUlMmVHbqSUr/BX//lRqpqBx+fCsmzqmmPsua0XzxsnS4XlQUVsrDcJ9IblOEepooQNFKoae+7o5alHj9J/YpRnv3uCbTd10epL0epLrQwHrkWDx+lt+GWH7y8IArIockO8ifZAHGPU5IGmTStJaI3bz854M0takZHC4nWHx66Hd0ygr5oGT09doiec5C/OP0+tJ8j+ZBvPTl2iO1SDS5QJqm4iiSAtPfXUNkYdmQCcH/xkKcPR+TF+PDGAZuq8t20bd9R3kdMrSILI3toWbqvvYqSwxDNTl/m7gVf46uWj3NfUy90NPVdl7oIgEFDcRF3X86i18cjKWw701vJkqEuSeX56kLRWomhU0UwDAfjW0Cl21TTRGUzQ7I9cw3rPAnQEdSfIG8BaAHMY7JJTulH2gX4epDqwciCs+d5iDKQESC1XfS+vqrC7qYEXrgxzT08Xt3e2M53L89SlQepDAbbUJZnJF9jT3MhiscQzg0O8d0svAdfqTfKee7bh9UnIkoRuaui2xvGz4xw5OUK5rHPfHU52b9oGPr+IKJuEIwo7ok0rGfvI+CLfePwYNbEALlWmWjCYq+SYLqWJuHzLGb7AgpYn5vJzOT/D7clNVK0qs9ocISWEiIAqqmT0LLWuBFH1395lyrZtJsuL/GTmFG3+WnySmzOZEWrcIabLafYleugNNXF4oZ+zmVG6AvV4ZBejxTkmS0tsjbSyM3p1c16AZYqrk9m9TqsV1mTmxYrGbLbALyXjzOeKeF0KxwYnOHxxhHSxzOWpBc6MTvPi+WG8LoVP3bGbltoorwyMki9r6/Z3cXKOTLHMM2cH1wWZiN/Dns4mFFmiWqkycmECWZUpFyqcfukilmkhySKyKuN/Y+lGEHEpPfg970IQPBjmBGVtAo/rRiQxiN97N6rcjiCoyFISt7IZmwqSFEeSoohCAHC8eG9o2oh7uQeXDPqJ+Zz7ObNUZGxwltmJ9Mpuc0tFpkYXaO2uW4khwAo10ubNM/rT8zNcmcyyIZagJRRhNJvmplQz++/dyqXT45w/Nsz40Bwdvavia28l+74h1uT0yGSFB5s2E3f7kAQRw7J4T8tWkp4g2WqZOm+I+HXj0rXxjgj0RV0jUy2vlARCqofuUILHRs4ykJ3lb/oPYVgWcbeP3+zYx967N6OVqitTpfOVAv/l+A+pmAb7k+3cWt9JrSdAZZne+Inu3bQEopQMnRp3gPe3bePOVDcvTF/hu6NnaQ1E2VPTsvJ9XJJMoy/Md0ZOM13KIYsSdd7gVTWxqmWyNZp6SydxsVLkj47+gLRWIu72cUtdJ93hBJIgMl3Kc2j2Cn91/iU6Qgk+v/1uguobAr3gB9etwDIdU4xiy52A5QR+RHC9Xi56PV9chnoDr2dDb8RCscSLV0Zoi0XZlqpjaDHNa2Pj7GpqQBIEgm4XumWRWKa0NkfC1PhX6/uCIBAIiVzKv4pXDrKoTSIJEts338LWjY2IooDHrQI2M5UrtOxcYk4chVwDTb6+FVvDVF2YT31oH16PiiJLNPpiFLIVEu4ATb44Q4U5eoIpioZG3ijTF2ok6QnjlVTq3EmOp08hIBB3xZjXFugL9rxt+eOfF8qGRlegnmNLg3QG6ukI1FExq3QE6tBtk5KpcTE3iW6ZBBQvqihTNDRsbCpm9SojFxub0fkMhYpGtlRhYHKOYqXKYr7IlZlFon4PHckYM+k8pmlRE/Lzk9OXaE5EeGh3L3dt6+Zrzx9nKV8i6HXzK7dsp68pidelUNENrswsspArrtvn5FKWXEmjf2KOfLVKsVrFo8i018TY2lpP0ahiWRalQgVFlZkbX2RycBbbttm8bwNuj0opV163TQEXAe+9gLMql6V6Qv6PrNCC/VId4MiVK54Ur4crVe7GSXxsQCTk+wACq5IcPnV1VRJbthE99MMznDs2THapwOjlWf78N/+Ru96/m9vevWOFEglORi8r0jqjkrUwLYvB9CKiX+bS0gJFvUrKH0QQBG440M1jf/8i81MZTh66RMfG1FXOdW+Gtf3Heu/q8Jssiiv/jri8RFxvz7gc3iGB/kx6iq9fOcFQfpH+zCxxl4/b67vZHmvka4NH+d2+WygZVb4xdJKp8QVOvTRAY0ftyslIuP384ZbbqfUEeH56kP964kfX1YLQLRMbm/e1buNjXbu4r6mXgLJ+CZfyhvi/dz/Es9OX+eL5l/hE127uauy55vacWj8/Vfc84vLywfYdhFQ3Db4wXlnhS/2HWdJK/MnWO7k52UZaK600pd8Ix/hEXPvCciBbu4S79v4F4fqnOeH38b6tfU4WaIM3a7BV8xGtSOSWiliTRWKSiFauEvV5uav76uyybOaZ10bwGmEMW8O2LapiDpbvt6oBsqAiCyqxQJiZyhLeN3jbKrJENLx6obf4ErT4Eg4DwtJp8MaodTsX+9rHWEbPMl6aYFtkMyICsqDgk72cz10k5aknoLy1wZmfJzoD9aT1It2BFHF3kIJeYVHLU+txfgYLWo6qZVAxq4wW5zBskyZvgs5AHUOFWcrGegaIbcORy2MMTM0T9rl5eWAUURhHkkTOjc0wtZTjk7fvIuBx4VZlvnn4NJem5vnwge14VIWFXJF0oUxnfZzGWJijgxPsaG9AliR8osgnbtt51TG8cH6IHxzr53cf2M9jAxc4OTNFRzRG0h/gkYvnmCkWuLe+HbfHhSBCPBWleUM9hm5i6iblonZV+cK5X9Q1/5YQ1nah1123b+yjrbLGbNv5v6phIAgC+XKFiN8pyXp8Lg7cv5W9d/Zx5cIkT3/nGC//5BxTIwt89f/8ISdeusSHfusOera3IIoi2/Z1sfWmTrbvu3ZvRxAEVElCECWmi3kG0gv85jZHCru2IcrG7S08P3mSk4cucd+H9+JdM9Fc0qvolkVQvU7p6w2wbJvzi7M0+EOEXe6VzzjH7JAg3mqd/h0R6HfEm2j2R/nRRD9PTQ2wOVJH0aiiWyYbQjVoloFXVvlY5y7srEFzdx2hqJ9KScMf8iKLIj1hp+a1NVqPT766zlg2dI4tjPHU5ACNvgitgRiiIFDjWR8IHF2PKj+a6OdL/YcpGVVemRvh5OLkdb9/xOXh3/fuJ/omT1pZFGn0h/mLc8+T1zWwYaKUwbAsPnP42yCAX1b57LY737Qp9rOG6FwtgJMppudyzE+mWZjOkGqtYfjiFF6/m2g8QKI+cg2jFzBsHREZzSquMF6KRgbNWs3gvFIQrxyiWqlQNctIgowiXt9ycG2DzCOpeNaMqq/9BgE5QFegA9M2cdRGLWJqFK/kYaoyTbdy7ZmEXyT6c+N8degZOgMpXJKCYZtOPXi5bNXqT3JzYiP9uXHa/XX058YRBJipZHAvu2/Z2JQ0faWk8tDuPhRJ5Okzg2xpqaMm5OfJExfpbayloy6OKjsJyG/fdzP//bHnGVvIUBPyUzVMvn+sny0tdRwfmqS3sZYTQ5O8MjDKgd626waOVaVRk+FMmtliEZcsI0sSFxcXAAiGvBx83x60chVREonXhdEqOlpJQytXV/wefpbQDJPD/SNsba3nUP8wm5qTHOofoasuzs7OxhUxPNWtsGFbM+29Dey/dyuPfuUFTh2+zKmXL6OVq3z2Sx8lkghw60PbV0ph14IoCLSHo1yqZugIx4h7fcwU8zQFw8iKxJa9Hbz45GlGL88yN5mhpXuVmfTo4HkG0vN8bvdtqJJERiszlF0i6QtQ6/FfVXefLub57CtP8bGe7RyMtXD2+Ai2DfGaIPlcmb5tTfj8b81U/R0R6BVBJO7yMVsu8P7WbeiWyX858UPqvEHHTzY9jW6ZbImm2LwQ5plHj5JqS9C1tfmqbbUF47QFV80cLNvm+MI4/zR+jKlSjk907+GBpr5rNj5LRpWXZ4f51tApJkoZHmre5Gjv5Bb5yeQAdzf20OSLcGR+jIHsHO9t3cJYIcPh2WE+vWHvTz3OuNvHr2+4Cd12NFn++cpxstUyn+lxDFRkQaTW8+Za4T9rLBVLnJuaZUNtgrDbTVUzKOYrWJZFTYOBosrYlmOzWNCqfOPIaYYX0rxnRx/bGh3WiGYWcUt+SmaGuLudspmjxu144L4Oy7aYrQwhCyo7ovcyW7lCzFWPbXs5PTHDN4+eoT4c4JP7duJRr+0BcHZyhn969ZQziLPvBnwuFUkQ6Q50IgsymqVRNEqoooIkSBSM4jW384uEaVvMVXJ0Bupp9dcQcwXI6SXmKlm6Ainq3FFmymku56fI6WWOLF4iqHipmDpuUaGy3JS1LJtHXzlL1O/F61JQZYnTI1M8c+Yye7qa8LqcqeCvPX+C//RLt+AOeJcnxZ0mdSLo419eOkVbbZTZTJ5fvmkLJ4Yn8boU7t+5ka88/Ro1IT89DTVvmiWKCGyIJ9Atk5ZQhOZwGMu2KVarVCwTbanAlTPOoJUoCdiWjWlYGFWDzTdvoK71LVCI3wZUWUKVJc6MTtOdquHY4AT37tjAE8cvEvC62bjmeARBQHXJbN7TTmtPHT/51hEe/9phdt3aQzDqe9MA7wu4qWuKE0uGiHq93N+YZKFcwi3JhN2ele13bW4kFPVhGiaZhTysCfTz5SJj+eyKpejJ+Wn+44tPkvD4uLWxjYc7N9ESDCMJzhT6D0cGKBs622rqyc4717LHozJ4cZotO1v+/6d1cyEzyyPDpzi+OE6TLwyCQEh18+H2GwipDuNioVLgkeHTbJbDRBJBgpHVTNy0LRYqRXTrau5r1TL5cv9hdMvkd/oO0OALY9gWkyVHA1hAIOb24ZZkFipFvjLwKi2BKL/dd4DuUA2DuQUOzwxzd2MPf7D5NkpGlRemB3lPy2Z+vWcf3x87x0B27i11wd2SjG6ZzFeK2NiUl0fg5ysFBJzVhfdt+Kf+a2HbNkeGJ/js955ib1sTX3joDvp2t9PQXsPCVIZgxLdsVee42qiSxFQ2z2Mnz1PWdTbW1eBWZMJqElV0IwkyVUvDtHVkYf2qysZGEiS6grtRBDcuyYth6SDBZCbLE2cv0p1M8NEbt+O5poAcTGfy/ODMRTYkE/zKjdvw4dxckeWmq9/2EVNX6a4JV/ya2/lFQhJE9tf0Ml1eYmOwiWZfgkfHX0ZAwC+70SydoOJlX2IjT82cIu4N0hdq4rm5s/hlDzXuMH7FTcTv5f03beHG7mYUSWQ6neOfXzzJe/dupi7i1Jjvu6GHgakFvvXyGT5x+06KlSp/9/QR6qNBPnpwBxcn53j6zCAf2b+dgGc1SPQ11XLHli5G5tLruPOWZVPWdbCdCVsbkCWR21vbubu9E8008SoKN6acSVxJFJlJmizNZLh8aoTmDSmmhuawLAtBEPBdw8v2Z4GWmghHBydoSUSIB31ousnNG1s5PTztPLje8H5BEPAGPex5eBt1m+oJ1vgpmwaWrrNUKsOyvHVtwIdbca7FG+/sY8veDgxsXloaZwGN+VIRlyQR9/q4sd4x9k42Rjn44HY2bm+hZ0fLm35v07LwKSoPtPXw0uQIz44P8fHeHTzQ1sNUIcejg+d5T0cfTYEwE4sLXL4whaxIeLwqr74wQCTqf8se2u+IQO9XVO5u3EhOr3BicYKg6sYlynxt8CimbRFQ3PRFktzf1EtN2U3Pjhb8Qc/K+G9Rr/KFkz9hKH+1e7uNzVQxh0uS+W+nnrrq/92SzOe2vYstsRQpb4j/uftBEi4fpm3z5EQ//++l19gQquG3evejCCL/cOkIhm3xcOsWJEEgr2u4JRn1Ok5Ia2FYFi/NDnEhMwu2zXB+iapl8tjIGRAENkXquCHe+AszzDBtm0ODoxS1KqlIEK9LRRYd/e36lsTK+9bWVn9p60aevjDIkeEJBucW6UvV4pP/P+7eM76O87z2/U/Zs3vHRu9EIwn2TkkU1anmyN2xEx+nOe3GceI49ZcTn9jOccpN4rSTOE6cOMlNbMddsppVKEqkKDaxF4DoRAd2L9PPhwFAgigEbcqm7/pCAnv27MHsd573fZ9nPWuF8cuL2PFcC1sgJNVimaBioOAYrKiGgW7M6vDblAwDRV+8/Vyb6QC1bRtVNygtctxcDvUHmP5aDg4bxvm3YJb4+tDreCSFrbEWjicvo1smj1Zv5cWxUyTcIe4u7+TAxDl8kpvt8VZeGjtN1ijw7t3rcMkSfreCqhv82/7j7O5o5K7VVwXGfG6FD9y1kX94/jCTmTxvdA1S0gx+7tEdlAV9xIONrG+oIuxztHVkUXJ8ZkWRRzZ3LKgzpQsl/vbpg0xm80xlC+zuaMAlSrhlZ6x7XfMnZNu2Ge4ZY7R/ErWgMdwzRiFboq6tCtuy8QVXlma4GZQ0g28dOcdUtkC6UEI3TE73j1IdC9FRszDIz17n+dFxzo6OM1hMM3q6hwf1FmRRZDCVZipfIOr1ckdzA+3lzmLB41XweBVKhkFmTKVvNIXf5WJdopKaaxy7vH43H/x1RwZhJWPQK8s8sWoN72lbx5cuneLvTr1OXybJeCFP1O3hHavWOrIOqkGxoGED6WSeREV4nn/2jXBbBPp6f5Sw4mVjrIZ7qluRBZGsrhJWPFxMj2PaFienhxkv5thr1jFxJUk+U5qjQHllFz/TvpOCsbBtWbdM/vbcq9QHory9cd0CJoYoCDQGnVWgJIrEFC+vjDpsnMF8inc2buAdjesRBYF/vnSYl0a6+P1ND1Ltc4THptQ8QZd7niGKaVs8f+UiBUMnqRYwbQvNdApFH+7YjTmTuvnLM/uZUvN8cssjDrVLELGwf2CG1uOZHMf6rxDyurm3Y9WcPjlAXtU41n8FzZy/S1J1g/JQgHMjY/znGye5p6P5+tMiILC6KkF15OoDcKhngH9+9dii1zGZy2OYFv1TKT7+laeX3B1N5wvYts3AdJrf/OozyIscVx0J8lv77iboWfm29q2EbdsUDYPtsTbckoLug3XROkxMmgoVBF1ewi4fD1dvodwdZno8jX4sT0Jzk4pNsyFSy+mzF2ltrSOXKtC2uRHF7eJD924lp2l89+JlFEki7PWwtsrxJb1zXROqZbK3cxV7O1cRmuG9S4JAZIZ2KEki79+zkXjQWRHK0vwmtImpLEdO9tMaiuLJ2dy7sYnVjRV854XTFEs6Pq/C9k2NJOJXU6CZ6RxqUccX9GDbEK2I4A9pjPVPomlLa8d8v/c3FvAR8CicH5qgtSpOPOije2QKv0dhbV3Fon0cqmkymS8wXSiimSapYpGg242qG+Q1Ha/LhWEu3h3rdyk0hqL4XS6mSkWy2rVd4sI8W0HHlessBUPn9ZEBxgo5PnviIJIo0puexrQd29Eyj4+f79xOYzDKJw6/gIDAX9z9CGVe5/vxehVqG8vweGasR8tDBG5i4rwtAn3R1Pn8xUPU+iN4JRd/fe4VNsfr2FxWyyujl8nqKmsiFWxLNOAZt4hVhJFdEp4Zb0qXKLExvrh4lWoa/Ofl49QFIuwqb7phoXNaLfC1vlNz6ZvmYJz+XJLPX3ydY5OD/FrnXnaWNyIIAiVD51J6nKZgfC7oyKLIfdVt9M7sLhoCUaZKeSRR5Bt9p3l1rAdwmCO92Sk00+Q33vjW3PSzKV7LL62+Y4HS5q2Gbdsc6RviSirDzuY6OioT8yaX0UyW3//md5nKL3THsiwLG/j6ibN88+T5Ba/LosAnHr+fJzZdlYSezhU5PjC86LVYtnO+vKZxcmiEpdhDs5IGBU3j1BLHpYrRuaar2wGWbXNgqI/JYh7VNKkNhhFjIh7JRXvo6pidpVD6vB480xLTU0koWdR4Kzjw/AXEEqQmszR31uH2KET9XnKaRtfYJKliic311fgUF8+f72ZgOoWiyNzb3oxLWlwPRRQEWquWTm1ZNvQPTmGaFrZqEXG70VWD810jTKcKxCJ+2lZVzAv0sksmFPOTHE8jSk4BdHo0RbGgzgt+txqpQpFcUaUqGqSkGxQ0nY6aBLIozuTDZ5RsLQtdc4J3tqQSUBSiXg8uUSTi8aLITi+IgGNNqMgLn0FZdNLKU8UCUyXQTZO64NK72aJhcGZqlLSqMlrIktU03pwcQURgulSYt1vWLJOxYg7XjFLsZLFwtbGuMkSsLEA46icS9TM2nLqpe3RbBPqSabAqWMaDNe1Mqnk2xmp4qLYDRZT42Lp7GMglOTDaw5GJAd5Vv5695VsQbJBd0qKULdu2yeglcrpK0TRIakUkxBVRWmv8ET6z/XF8kouBXJLPXTjEdwbPEVa8fGLzPpqCcc4nxwA4NjnIqekR3lbfiYhAQdOQRYm31693VgSWhWYYZA2Vy+lJvC4XVT5nlWtj8/W+02T0Eu9u2jC306jwBlcsPfr9oKQbvHihB0GAhzvbCLiVa+6lQ7U0LQuPLHFHS8NcrnI5WLbNG72DTOULC2QStjXV8hfvfXTR9x3tG+JfD52gNhLiV+7bjW+JYuyJgWE+f+AItbEwH7l396JdnH7FtWR35w8DJdOgJzWNIjmdvKZlLelvMItcKk9VY4LxoWkq6ssQRRHTMEmOpylki/hDXgRBIBH001lTgaobrK12WGchr5vmRIxEwD83jkqmhmbp2Ni4RQVlRs55uV2jz+OiqiJMvqDi8ypEQj4syyYU9DI+mSUc8mAY5rzdpy/oWO4ZuoEv6KX3zCCCIFDbUjFj/3jr4XbJbFtVR66kOoVZl4yIc59tmLewu9I7yX989jk8PoX7fno353QNn6IQcLtJl0o8vKaNtVUVHO4b5N62ZhRJIpsqUMiX5n3mBlccXDNSz6aBmBMYUx3NK0kU8QU9eP3OLqouGObP7noE27b565OHODU5yt/sfRtuSeKloV4+++ZrmLZNV2qKL5w7xvHxYX5r691cTk3xz2ePsqW8hrpgmInRNOdPDRGO+tBUg7sf7MSybKRFWHCL4bYI9FHFy481rEMA6mWFOn+UkUKaiZJTafZIMo/Vr2VKzXM2O4Ysig5rxlB5c+oKBUNDEAQ6whXUzwiFHRjt4R8uHES3TFTToC2cIF0sEfJ6yJZU/IprppPTxLJtNMNEkSVU3cCvKNgCfKP/NIcnBnhn0wYerVtDwhOY49Zbto1hmzxcu5rdFU2UDINnL3RTEQxwJZ3m7pZm8qrGYCpFdsYlqcwv8tgqR8/Gsm3OTI8yqeZ4tG7tD5RSads2l8YmOdZ/hVWJGLtXOeylyVyBo/1DrK2umAtGsYCP39p3N+UrMHLQTJOPfulJDl7un/kcHWa4/hVBm8pQ/aKc/oKmIQoQ9Lq5q6WBkHfxLalumE6DltvNHS0NC1RMb0e4JZlHmtt5abCHgq7jluR537Vl22RVFa/LNcPPFvD43IiSiNunUFEfZ9v9nbRvbsLtVfBeQ6dL5ouMZ/PURcOcH50gEfCzo7GOgqYjSyK6ZeISJF4aP8b5TB9l7jAuQWZdpIW1oaZlrztf0PD73AwOJ/H73OiGicftwuNx4fe5cSsuJEnEtG3GczkM0yTs8VDTXEF2Os+V7jHaNjdhWRajfZOYhkl2OkeiZmn54O8FsiSyubmGgqY7nsuCkzp85VwP4evGRy5d4MjL5/GHvLztZ/bwjnVrEQRIlxx/2YCi4JVd7Gysw+dymri+8m+v8eyX31jx9YiiQHlNlB/70F3svG8NoiTOee/O6jT5XC7ckoxbkkipJf7k2Ct0pSZpDEX5zB0Psb6skolinkOjg/x39xk+snGXQ4gwLYoFDV0z6e0aI5YIrjh9c1sE+tmC1dzPMGPoPWsgLOGXFbozk5xNjmBjY1o2j9avwScruGfSHIZlYtkWoiByR0XTTB7dduSJVYF/OnSMPS2NHOjuo7W8jETAT0UowJnhMTKlElGfl8uT03RUJFhfXclPrtrGJk89ZV4/esnCdNvsLm+iNZRgLJNjMpPHjQtDszkzPsxYNseVdIZTw6O0lJUxnsthWhYnhobZXl+LOuMUZOgG06Mp3tO4ARObfLqAAOTTBUzDIpwI4Qt63rI8vWnZPHuui3SxxM/cuZVE0I8NPH3mIn/+/Kvc3dbEz9y5be67kERxXg53KVgzQmSzKJReBNtAEP3YdgGve++igT7gdtNUFqMmElp2wvO7FZrLotRGQ/PqCbczZFGkNhTijpoGJgr5OWodQKpU4uvnzvHc5W5+rGM171q7Fq/Pzb3v3jHDdLLwh31Ey8N4fAo7921AuSYFUhEKsG9NK5Zto8gyfsU1o9dv455RwjRtkyk1TUrLYdkWLYFa3OLVcxR1nUtTk7TGy/DK8hzFsKoiTFVFmMryEM31Zfh9bi50j7J3Vxud7dWUlwUpFHVSxSIfe+ZpBtJpfmHrNrZoAUzDpG2zM5GIokh1czm6ZqxYKOxmMZHJ868vH6WkGXhcMuXhAHd3NvPymR52tzcsmqN3yxKVoQCGbhJzO8FS1xw5k7BLmVstZ1MFxq8kkSQRyXVjWWBDMxgdnCY5kWXVmmoqapef2IqGjojAxzbfxa7KOvwup8O3whfgvW1doMndAAAgAElEQVTr+KezR3lny1rqaqOs3VSPrpkIAsQSQfyBHzF65WKo8oXm0hzgrELDLg9by+p4faKfneWNeCSZ/tw0U6U8pm1zZ2Uzlg2isLBV+PjgMJphcnZkHL9bIadqSKJAYzxCIuDjzMgYeVVnMpdn0u+joOtEJA8DYyneSA+xtqaCdbUVmJYFgkA2rXG8e4SSbhDxeIj6vHhcziy9ubaaoq454keqxnA6y3ShSNzvwzQtzh68RCFbIhjzEwj7mLRVut/s4/KbfRTzJTbuXcued+1c8bbsZmDbNoPJNC+c76apLMqDa1oQBYHJXJ4nT13Esm12rWrAp7iQROehH0qmSRWKNzz3rAOVLIqIgqO4KQo+LCuFJFVh2yq27ayyrk1ebGus4e9/4glkUcSruJZMbWyqr+ZzH3w7sijhcytzxwk4Cpqlko5pWfM8VX/Y7Bvbtjk3Oc7F6UmmikVaojFm/3rNMHj+8mUODw3Rn0rRGImwo7aW0DXXn9NULqQmMaa/tyAZ8bpxiS5i7hAiIpIo4ZGc1FbJMPjn48f595Nv8lh7B7+wbRsxr3fePVvbXj03+Xa0OJzw2qoo4gzjYzyfZzyfZySbJauprN62gdXbljb4udWwbRvdNGkqj6HIEvVlEc4MjhHyelBkaV6O/nqUChr/+Tff5UrfxLzfi6LI4x+8g/U7rv4d2+5ZzUPv3T5PTXWxa+k5P8xX//FlJkZSjA0l5wV6tyTjuyYFGnV7ebC+lY9vuYsKX2DefRcEgT01TXzx3AkOjQxQ17qO5rZK3G4XwbCXkaHpue7YleC2DPSqadCdmUSznBlWwJFyvZydpMoXwiPJFE2NgMtDQHbTWBZjKO90meqWuSgbI+rzYtk26WIJ07ZwyzLlwTgCAllVwy1JTObz3NfewpF+RxJZkSVifh+j6RxFXXcG/Eyn3exNTgR9TGTzbIxXY5gWm2urGUlnCXk8jGZzRLxeHmhvcQadbZOeyHD8hdOEy0IMdzurr/atzdi2jTfowe1THA2fG+Rxv1dYts13Tl9gPJPn1x+4k3jAx1SuwDNnurg4NsGaqnLu7WjGryh88okHMEyLz796dKb4uTxCHg8f3rON9+/YSEdFANM8iOhqAVvAslLoRheyvIV/PXSCi2MTNzzfSlAbDfOzd26ld2CSZCpPV98EVRVhFJfEndtaHI38HyIKhs4L/ZeZLhVZHU9gXJOjT/j9fOyO3Xz06ae5ksnw5wcP8lePPEJl8GqBszeZ5CPfeYqMqi71EcviwdZmNrfJSDiNU2OlaTyiE+hzmsrxkWEmCgX+9c0TDGcz/Nadd1EXvmoSLgoCh4eGOHJl8c7wvK7NKUUeGhzEtBYftwG3wttXryHiubUUS80wef3SAGcHxpAlkZFklv6JJALOWF9uh2gYJqdev8zFkwPzfi9KIjvvny8ZXlkXY/ve1fNE0K6Hbdus3tzAoefP0H9pFF2fL3j4xKrV1AcjTBTy1AbDrE9UIggCKbVEuS+wYDpKeP38/PrtNIecyaKmPj73OQ2rlm9sux63ZaAXYKZiLs39bNk2zcEyklqBdzdt5GJ6ggupMaJuH23hckaLWSZKOdZEKxc9Z1HT6ahMMJrJoggSsihyZniM1kQc3TQJeNy4DImB6RSTuTwl3UCRJZoSMeIBH7GAj/JQYK5rM+BWaCyLoBomblki6HbzYEcLZX4fUZ+X2nCIkMdNmd+PZppM5fN4XS78LjfR8jDx6ihqUcOybGpWVTLeP0kuVcDUzTkn+lsN27Z5vWeQrxw7g8clc3liit/+2rP0T6UYTKYRgHdu7qQs4EcUBPa0NqEaBgcvDzCVW8i+uR4hr5utjbXURcNYdolSqQnLSiKKUWyriOJag27ZHO4Z5EB33y35mzqrK/jgzs3YtrNObm0qZ+PaOrp7xzFMix92WVYSRGIeH1lNw7Kdn6/t1NxYWcUvbNvGH+3fz4mRYb548k0+umv3nC+vJIjzlEJXAhtIFYuopolp2qwK1iIK4BYVskZ+bhkY9/r45L338VeHX+eb58/zTHc3qVKJ/7l3L23xsrnrPDg4yN8cfv2Gn/vawACvDQws+lpVMMi9Tc23PNCLgkA84CPi9+CSJRIhP6m8o+PTUhlfUTAMhL3c+8QW/EEPZ4/2cvZo75LHmqaFWtQWrMMEmDEWX7q7NuL28rXLZxkr5PjZzq1IgsiF5ARP9pznL+9+jHJfYME5H21sB0HgfP8YI9MZhw3kkulsrMTrXjmT6bYM9Iok0x4ud8R7cBgqs5wZG+cB2RKvxcaeY6s8VNsxJ91q2TYlQ0ezTEKKBwEYzmTxuZxCWEk3aCsv40oqw0AyxaXxSeJ+J83TXlGGZprURUPIosi6WofNoJrOTmGWZVAW9FMW9M8xVQRBoH6mQ9M3o55XFwk7xuSKTLPHmZXVokapoCG5ZCjpYFuM9k2QqI0TSYQYuDBMMV+6qW3ZzaB/KslkLg82PHX6IlGfl7ymkVc1tjbUcO/qVfNWQYok8esP3LEiyqIgCHOMGQEFRVmPgIRlZ7CsNDYGsijy7q2d7Gqpv+lr1w2T01dGOdDVj2oYhL1utjbW4HFJeL0uppI2umEwMp4mEvahrCCn+lZDACIeDzZhh3kjClxbkZJEkcfbO3hjaIgnL17kq+fOcU9TE1urHVXU5liMf3j8bTdk6lwL1TT51P6XnRW2bTFcnCTk8jJWGiTsCtCTu0JZzFm1VwWD/O6ePVQHg3z+2DFeHxzk9777XT553/10lDn0y+ZolHuaFi/eaqbJ8ZERirpOc9SRRFgMMa8P7yJ0xe8XLlmitbqMgcmk0wcT8BHyeWivTsz1DNwIwYiPd/zs3VTURPnS373AuaN9Sx470DXG5//o25SusxqUXRIf+NUHaWyrpLa5nNZ1tdQ0lpHRVE5OOBIuJdNgJJ/hQnKcFwcdQx4R6M+m+bcLJ9iUmO9mJwgCVb4gq8IxTl4epnd0msbKGCGfm8pYcJ6l5o1wWwb6WYzks/zdycMUDJ0PdGxgS8VVh56r6o0OpNmJwLY5cKWPz506goXN/77jQRpCEeI+L6liiQ01VaSKRSpDAaI+L7YNOxqdFm51htWxvqYSt3y1sy2jqfzvN/ajmSY/tqqDu2oaV6QznVZL/N5rz1MyDd7fsYF765pR3C7ufvdOFI9rTl7AG/CgeJ0AWdlcQSgWeEuCvCAI7Gyu52fv3EZDPEJDPIosinzi29+lqBm8f8cGYr6Fuvw+5ebXxTYaufxXsOwMpuX4gvq9j+JRdnD/6pabOpdhWVyemObLR09zfGAYURC4u62Jn9y5iS0N1bhlmaDfTS6vUihqmKZFQ218SQXTHyTcssO6mU0jpEpFnuvuxrQsttXUUB0KEVQUfm7LVs5NTFAVCM55EdiAR5ZpjM4367BtG800cc1QNq9HyTDm5YKLptO97ZaUufz8LBwWk4ef37qNkNvDZw8d4vjICH/22qv8+b6HCbndPN7ezqNti6s5TuTz/MRX/5u+VIonVq/m57cuVL6cxWIp1VsBv1vBsGyyxRK5koZt20xm8isO9DeDQq7E+RP9WKY1J9JWzKsYuklqMoe8Tuanf/cxPD4Fr0ehKz3Jnx0/QEYtYQGj+SxjhRzHxpxUmI3T1PkPp98g4Q2gXHOP9Jl61+9t2MvIdIaw34OmGxima56ExUpwWwf6tKbyVO9F0qrKnppGtlQs3hR1PWoDIYZyaQayaZ7p6+LD67exsbYKmB+YF5dNXYgL0xM82XOBvK6xvbJ2xdffk0ly4Eo/eUPj8WbH5lCUxGWFneraqlZ8/u8FTWVRfvW+3QiCs/P5ryOn6B6f4s6WRu5suTqBWZZNQdcX3KOVQpHyaMZlruqGW2T1EhdzV/BILip9ISaKOap8Ifyysui9t22bK6kMXzt+lm+dPM94Ns/a6nLet20997Q3E/RclXt1Kw7v2zQtEvEg06n893zttxrXBrjxXJ4/fPkl8prGXz78CNUhR8t8dSLBZx95hOqgQ0DY39fHqliM2pnXr0WqVOIvDh6kIhDg4dZWmqLRZdQWRVoDdWSMHAVTRRFdVHrmM0EEnAnp/evXIwrwT8eOc29T8xzFUBIEltobyeLVVJQoiEs2aL2ViAa8i0orXwvLsigsIpX8vWLr3g5+8tceAhue/PeDPPvlNzhzaZgRy+kALqk6j923nsZQlL+9x9mRFXSd3zn4LNsravlAx8a5cw1m0/zOa8/yS+t3srv66k43pZb4ndee5XJ6Gp9boajqlLQCiXAAa4layFK4rQP9UrBsRxBsqe1s3Ovj3rpVfOHsMb7Td5FHm9uJuJfODYqCgFd2LVqbNyyLZ/oukdFUEl4/dcEwI/nskudSJJmYx4sAHBoeIKOViLi9eGSZi8nJZf8uRZKoD0bespUPXJ3MbNvmSjLDl46cIuTx8MFdm+Z8NgHGMlk++dRLJFfAtrkesijy4T2drE4EsawpLCuDJMbpy2X474Gj+GSFrWX19Oem6YhUcE9V27x7b9s2OVXjxQuX+ddDJ+gam6QqHOSj9+3msfUdlAX981aytm0zOJLk6Mk+fB6Fnv5JYhHfD51xsxhsmPPdvXb0SqLImkQ5GVXlUy+/zDPdXTzY0sIf7L1nXo7etm1OjIzw9fPnsGybunCYputW/NdCAHJGgQk1SclUCcheklqO+kW0sBRJ4j2d69hSXUNLLIZhWRwaHCSvL5QWmUWmpJLXnNcvTU3ydNelJY+tDARYX1F50zZ43w9Mw+JK7wSvPnOKV58+RamgE7iBLNNKEAh5aWitdNiAcSe3XlJ1xqey5Asa0bAPURRwSzK1Mx+Y1zXCioeE10998GrapdzrpzUS52Jygne1ds49/3GPRmMo4tT5fBohn5tYyM+qqhh+783tsn8kA/1wLsMnD7/EVHHpAuF0yQlQ56bG+YXvfnPZ/GCFL8Dv77yHSv9C6eKe9DTP9nUBkFKLfGz/d5btXF2fqORP9+xDNU2+O3DZESHSSvz2gedu2BTVEIrw+QfeTtz71qj8XQvdtPjS0VP0Tk7zEzs2sbm+eq6r2JpJDfRMTjOeWSj1a9k2quFYILpd8gL9IJckkitZeJTNOBZxg1hWClH3kfA4VneWbZPWSzPvvUqBM0yL01dG+cLBY7za1YdLknhi0xp+YsdGWsodD4HFAriq6ui6hSoaSLJEJLy4F/DtDr/LxZbqar7TdYmnL11iW3UN7+7snPtbNNPk6a5L5HWdteXl7KitXXZCkwSJXWWdCIBuGyiiC5ZJanlkmTXlzo5zOJPhD19+ib7U8u32swuub1+4wJMXLy553EMtrfy/+/bd0kA/K4Q3nMkS83mRRZGBZBrDsvC6ZIQJlT/91f9gqHcCZgw73irYto3H7SIRD5IvLNw9eCSZj2+5a8Gi0y3JfGjNlgULV48k8/vb7yWkeOj1TnH00hCqpnNhcIKysH+uV2Il+JEM9EXD4M3xEUYLuRseq1sWZ6bGlj2mLhhGXUTASDNN/vvSGYbzWSRBQJFkkmqRouHQptySNNfUNYuc5nzBx8aucHF6AhFhxlEGcrqKapqIgvO765t+7B9QVtmekSr4xolztJaX8ePb1yOKIsOpDMcHhinpBo+sa+NP3rkPbZEibP9Ukj9+5hUCboXf3nc3scD8iUkAGuMBFJcXWa7BtnKYVpo2t0BzpIKioc/pE/lkBccwxCZVLPHVY2f498NvMp0vsL62kg/t3sKdLQ24ZdeydYuyWIBVjQlUTcc0LVIZR4bhh1+OvTlIosjjHR0cGxnmv8+e5V9OnGBXXR31kQi2bXN5eprXBgaQBIHH2tpJ+G/sHeoSZFyShJeV5XVnb7MsilQFgzdVCL4epmUxmsuhWxYRj/uW71Yt2+bo0DBnR8cQRYHtdbW8MTjESCZLSzzOFiVGMa/SvLqa5tVV7P/2m7fkc03Doph3KK+G7sSORDxIeXUUy7IXXXFLosjaeMWC3wuCwI7KWiaLhRk9J3Hu+Ep/kLFklgOne7GxiYd8uGY6+G8GP5KBvtzn5+Pb7qKwhJztzSLoUoh55hdubNvm+PgwX+8+h23b7Gtq44OrN5FUi3z68H6Gcmn21Dbx02u3zBu8QZeCadt8+dJp8obOmng5n9x1PyG3m2f7uvirNw/hEiU+vvWuBfl+RZQIL5NiuhWwbZveySR/89Ih8prGA2taODE4wucOHOH4wDBXkmnuX93CE5vWsL62ah6raBZ+xYVLFPHIMutqK6kKB+d2ArMrbsvKUSidBixMaxoBCbfgJqT4uT7emJbF2eFx/m7/YQ529xPyuvnFu3fwzi2djlftClbmtg2V5SFcsuRMqnnttkzdrAQ+l4uf3rSZN4aGGMqkOTw0RF04jGnbfPPCBcZyOVYnEjze3n7TuxbLtjk4MMBQJrPgNQHorKhg7cyKPu7z8WcP7cOwnMnetCzyuk5QmV9TsWybnKZh2Rbemfb+WXRPT/EbzzxDRlXZVlNzyzuaRUFgY3UlvdNJKgJ+1pSXoxkmcZ+PdZUVlIlufu733sbqzQ1MDCd57ZnTt+Rzj796if/14S8AMDro6NyYpoWmGaiaic/rmpNRXwkuJif5w8Mv8sldD9ARS8x7LeB1s6WtlulsAcuy6RmeYnt73U1d720V6FXT4PDI0Jzs55VcZkaD3ObNiZG51XNzJMo7W9Yud6rvG9OlIn9/8g3Gi3kqfQF+fv12NpRVYto2Pelp/uL4QU5PjDqdsOXV83Lf3x24zMHhAWRB5B0ta9hcUY0AJFb7eXNihBcGLvNsXxf7GtvmZEh/UBhJZ/mDb32XU0OjSKLIFw+dIKeqyKJEdSTIExvX8Nj6jrkHciyT43DvIM2JGKuryhddkZmWxeHeQfZf6uXx9avprHFWLbrejWEMYdlZBMGLz7N33vvsGY2hZ8918TcvHmIknWVTfTW/ePcOtjZWIQk6pjmMJJUBIratY1kpbAxEwY8ohpn1Dq2tjlJXE/2RTNfMomQYjOVyM85QEu9a64zxtrIy+lMpRnM5nu66hCgI7G1qomQa9CWTeF0uyv0rmxBNy+LfT53k+e7uBa8JgsCv7do9F+hlUaRixgjetm1e6e/jc0eP8mhbGw+3thHxODIdk4UCn9r/MiPZLB/euo1H29rm0oAv9faSUlXK/X7WV1Te8snXsm0uT01THXIWG33JJEPpDHGfj4FUmqr6Wu56ZD0AkyM3p/i4GGSXRCwRpFhQGbx8NVMQKw9SUHX6Tg+AILC+o4aAz01O1zg5MbxoxuBaDOcz9KSneW6gi+H8/Ek4iJtCSWMsmcW2ob48QvgmGUW3VaDPaip/fOSVuaKljT23mvjiuRP8+/mTCMDPrNvC6m3OYFQNg2f6u5bN1y+GiNvDvsa2eTS0WeimyRfPneDAcB+SIPCutk464xUzdn8Cb29Zy9O9XZyZGuMLZ4/TEUvgdzlbtalSgX86c5ScrtEWLWNfY9tc8Im4Pfzsuq0cHx/m9dFBnuq9wE+u3oSpO7TOWTXOfOaqQuGthluWyWsaHpeLiM9DfSxCZ00FWxpq6KhMOKqHM9IHtu0Yk3zyyRfZ297MZ9750JJb72P9V/j3198kU1T5xNvuwyWCLDeguNoxrSkEFLgukZJTNf7t9RP868Hj2MBP3bGFD+zYSHnQj25cJl18CtOaRJHbkeUqbNukqL6KbReQxChuZTs+z/0AfPd8NyPpLA+ubaUm8oO1Y7xVuDAxwcefe9ZxdeJq5eK/TjurUM00mSo44/zLZ87wjfOORPSd9Q186v77kVcwXgRBIOHzz+O7m5bNaC6LMaP4uBh0y+JAfz/Hh0c4PjzMCz09/PL2HWyorEQ3TS5NTdGfSjF9zXNYNHRe7u3FtCzWJBJUh2799yIKAm2JMtZXyViWEy9qw6EZKQ7JydPf4L4UciqvPPUmoYifrtNDy6ZQG9oq+Z+f+6kFrBdBgJ7RJEbXiGOvqRkUSzpjRo7PHH2FyeLytpa27dC4//HMEQKua/2RBd7Xsp53Nqwl6HMjSxJFdeni+FK4rQK9KAhE3J65Va5umUwXi1jYBBX3nArctebfRUPn86ePcGZqHAHhxvxzGyxsWiNx7qxpXDTQq6bJRDGPW5TYWF7FB9dsmhfgqvxB3tm6lgvJCV4Z6uP4+DB3VjcgCAJ9mRSD2TRuSeInV2+c5z4jCAKby6t5vLmDc9MTBF1uZxVyYYRMMkd5TRTTsLh0coB737EV+SaKLStF1Ofht/bdjW3bVIWDxAN+vDONZLPBHa6utl/r7sewLDbUVuJZoqAtCgL7Otv59skL7L/Uy5krY2yuL0NxrcEl1yPbNTNcennu3JmSyt+8dIivHD1DWcDHR+7bzUNrWnG7ZGzbRhT9GOYgkhjFtMZRxE50owfbymGjYVlZLGtmy2zbHO51On5tbH76jq23/L79IKCaJiPZLCXDIO7zIQvCvJDjEkUqA1e7J9MllbyuzQuuN4IkCPzarl384rardMRkqcRHn/4OPdPTC46fHQ8uUeSXt++gNRbnn48fY39fH5empvjl7TvYVbcwjWAD5ycmOT4yjCSKPNjSgvstoF4KgjD3DAsiSKIE3JzDWHoqx7/86dMIgkMrXu69Hq9CfcvCPDtArCpCc1M5+aKG4pKwbJvaQJjP3v3YnGxyXtfwyK65SXn2+zVsi0+/8RJht4ePbNjN0HCSweFpQCBe8OFzuVAskXSqQCjoYWgkSb6g0dZcvqIU0W0R6J38boGArPHHd+1BNQuAQF9G59f2P0tOU/mVjbt4oMERGQopV/PYNs6Djg37mlrZXF69+IfM4MzUGN+6fH6mwLT4zO13ufi9HXu5s6aB+mCEcu/8gpcoCDzU2Mqrw/3U+EMkrnl9Y6KKv9j7KK9e6eOx5vYFlE1FlPiVjbvI6RrSzIOsawbJiSySLGEaFrl04S1jBwiCwPbGhUwN27bJlVTODo+T1zT2tjfTMznN8YErxPxedjTXLfkACIJAUzzCfatX8cVDJ/jmm+dZV7MXxbXmKsdavMrdLuoGf7//MF8+cpq6WJjfe/QetjfWzmNjmOYUslSFbRtYVs4RRLOy2Jg4WrQuhBlfWsM0uZLKYNnWXIfzjzKiXi+fffgRqoMLWWCzsIHPHT3Cf56+uZyzIAjEfPPvkVuWcS2xU8tqGk93XWJ9RSWt8Tjv7uxkc3U1f/366zx3uZunuy6xsWph74dlWTzb3UVGVakPh9lVu/T4+X6hGSbTxQIe2cVQOk1NKETArSCJ4rKpPEkSqW8pX8COESVhgRdrciLLpVODK7LvkwBLMBBjNm5JpjkccxZ02RT/9OZR3te+njuqG7FtJyVtY7OhrIo1sXIuJCdpCEUYvZjEmDQolXRsn8FUXY7LfRNcuDxKc30ZI2NpomEfDbUxfCugWt4Wgd6yCyTz/4FhpQkrW0jrzyKKPiq8Pz6TKxYo8/poCC3DFxbgjup6PrB645LHAHyj+xxP9lxY9hhBEPC7FB5ubJv7+XpU+YP8+d2PEHApSNdQ/iRBYGtFDWvj5ZiWxXghT0otMlUqciWXpi+Toi+TpC+dwrBMPnPXQzTWxxkdmGR8aBrF7cKy7Les2ef6hrGSYXAlmeGN3kFevtTLycERHlrbyp0tjTx3rpvJXIH7OlbRXLa83KosSTzc2c63Tp7n1e4+eieTtFdeLSpdW8N48cJlvnL0NBGfh995eC87murmPZCCIKC41mKYQ4CIYfQjIGJaSUQxjCgEsewMguADbNJFlSupDF6Xa5594Y8q5Blpgvol5ATAyU2HVlC4t20by7KxBJvx0RRl5SEmxjL4fArh6PKMHcu2efLiBT69/xXKfD7es66T96ztpCUW43/dey8diTI2VFYSXkSLRxAE3tbeQcLn7Biv3YncalyemuaZS5eQBJHpYpGWeAy/orC7oZ6KZXwUvH43v/iJty8qn3y9I9bB505zdP/yceNayC6Jj//5+9myp92xZizm+aM3XiKplqj0BcG2OTE+zO8efI7d1fWsi1fQEIpyYLiPiWyekbE0uVwJG0eZdWg4ieJy+v/DM+YvFYnQiqWfb4tAb6Ojm6OYVoqS0YVuDiFaXiy7dOM3X4O0pjKcW8gmuBYptTRvHW/bNrZlz+XcREnEthxPV1ESyekaPZkkhmU5Wt+2jWlbWJaNbpkUDJ2crpHRVDKqSlYrkdFUUmqJlFoirZbI6Rp5XUMzTYwZOzwBx4jg693n+ECwjaMvnUcUBXwBD1WNZW+JqBk4NY2pXIGB6TSnr4xypG+IS2OTTOUKjrZKWZRtjbX0TyV56vQF3LLEI+va8awgjdRWUcaW+hpeuHCZFy/20FpeNidnO4ucqvGVo6cp6Dof3LV5QZCfhSAIeJRtCIIHQ25GlsqR5QawDUwriY2OJMYBga6xSUbTWRIBP7XRW9AN8/8jTE1muXxxhNb2ak4c7iEY9pJJF9m5p31F72+OxthSXc0bV4b47KFDHBoY5KO7drGpqooPb92GCIzl89dsjq+qXs4yeG6kIvn9QjMNKoNBeqeTbK6pJuR2E3S7ifuW390JgoDXvzzl1Ot3E47dmMJ6PSRZmlv9q6YjcTCYTfMndz3MqnCMvkySTx15icZQlJ9buw2XKFEfDJPTNNJaEUkSMC0br8eFqhl4PQpF1fGd1nSDwozWzkp3SbdFoJeEABHfOzCtJLKYwOtai41FPr/0Cv56mLbN508f4b8unlr2uPyMTvy1OHekh66T/bgUmbrWSoa6x5gcTbFl72qk1jC/+tKTM/6NNpY9Mzlgz+mvL7f2lgXR0VmXXSS8fuJeL7WBMI3hKB3RBG3RONVKgL1PbMHtcZGojjI2NI19ky3OK8UzZy7xf/YfZjyTp6jrSIJAzO9jT1sj93W0cEdLA2Gvmz977lWGkml2NtWxa1X9NStyx4bQmHPzuaD3oWEAACAASURBVAq3LLGvs42XL/Xw4oXLvHfrOmLXpVIyxRKDybSjyuhxkywUkZbcDs8yC2bTcbOrs4iT8jJMBpNX+MLBYxQ0nQ11VcTfAn2TH2VIksjocIpwyEdyOk9lTZSG5nI8K/BwFQWBHbW1tJeV8dVz5/jCieMcHBxgIJ3i0/c/wJ31zrgwZ+TBwRkD12JWQuEHgdpwmLayOC9099AUiy5YZCgeF1UNZfgCbmSX5PjhzlKCRWHerpOZ5/zh9+3kjn3rbvpaBEGY06JXTYOUWuIjm3bTGa9As0w+f/YoIgK/u+1uqvxBBEGg0hdEEGCsmKehNk7f4DTFko4kCpTFA+SLGl6PQr6gsaa1CtOyHX+MFeC2CPSCIONVOhf+vrBQs9y2bUzbniuOSqJIczi24qYO30zAbQhdlRqYGk3RdXKAWHmISCLE+NA0o4OTNK+pYdPmelojZeR0R0xLFAREBCRBxCU5LliKJCELIj2ZJGm1RFMoyv0NLZR5fcTcXhI+P2VeH2HFQ9jtwSs7PPTZgfXmq5c4+vJ5KuvinHnjMoGwj7aNDbjeAi11w7KYzBUoC/hoqyxjZ1MdmxtqaIxH5xgK50fGeeF8Nz5F4b3bNhDyuDk5OELX+CQel4vXuvvJqRq10TDuawq0giCwqb6aumiEkVSWwWR6QaAPeNzUREKMpLP8/f7DfP3E2e+5U1IzHPnnTFGlLODj8Q0dPxStlVsNy7bJqCrJ4tLyE7NptxvB61VQSzrnTg0y1D+JP+Cmr3uMcNTPPfvW3XBFKAgCUa+XD23axNrycv701QOM5XL4ryExFHQd1TCQBIGgcnNiW7cCNjCWzRF0u8moKqviMTZUVTKZz1N+TcqovqWCP/iHDyGIIsGIj+/8f4e4fPYKG+9oZc+jG+cROfq7Rnn2y2/gUmQe/+AdJKpWrhR5PUKKm/+54158sgtREJBFkYcaWnl3a+ecFMJ0qUDApbAuXolmmHg9Xp7YtwGP20UmW8I0LfbsbGV1SyXTqTxN9WUUitqCyWwp3BaBfiWwgYlinuf7uvG6XLy9ZQ0AAZfCp+54YMUz2ywkUXCKujYEIj4qG8pm1CQFglEfkUQToVgAv0vh03c+QEHXEQSH7iQKwpxmviSKyIKIaVv82svf4ZUrfaxPVPKbW+9yClzC9QIBC5FN5UlPZvEHPBi6STQRwqW8NQFrd3M9f/3jj1MfixD3+3DLCxkKDfEoH7lvN/1TKe5qdfxkeyan+dRTL89Y1VnIksjuVfUEPW5se9ZGUCAR8PPze7YT9nloLS9b8Pkhj5uP3n8H/3jgCF3jk0zlC8t15C8LURQIeT1sbajlPVvXsaPprSv4/SAxy4JRbjBpTeSXp+zBTCrShs6N9RQLGqvaKwlH/XNdnctBN01Gc7m5HXCF38//s2MnPclpgm73nDTC+YkJCrqOS5IoGvqykgkxr5fwLdakDygKZX4fEa+XwwNDbK6p5rW+AVrL4vMCvUuRSVQ7WQJNNTjxaheHnj+Dx6dw1yMbmN2fCoJAMOLjwpsDdJ0axOtXeM8v3ndTDVCzMCyL4+NXiHq8tEac56E/k+Ls1DjvbXN2Cj3paT75xks8UN/Cp3c/iN+lLPndz1o8Aisqws7iRyLQ29i8MHCZfzt/gtMTY/zC+u2opjHTMvy9pziymoYArNrSQEVdHEMzcXtdNK2pcWSEZ9InFb4bF5JKhj4XZGRBnFegXQlm1SQty6KsKvKWUCsBKsNBKsPBZa/N65L5sY1rnIA+s/PYVF/N+7dvQJuRcGgui/JQZ9tM2sXm0Bs9VJaHqKuJEilIZMezvNh3HpcssWtbM6NjGbK5ErIs4nXJPFrZzFSgkrymEY342bC2Fq6ht0miQF7V8SrzzbSLmo7bJWOYFqLg+ALEfF4kUUQ1DDRjfmPKrFPYj8IEIAsCQUWhoOtM5vMUdB3TtvHMsGJmFRDB6Z4VZ473LkIRnoUki0RCfg6/2jW3Yj3yWhd33LP6htczlsvxK089yXB2oYjf544enfu/ZpoUZ7SPPvXyflzLBMRf330H71t386mQ5dAUi9IYc5rl+qaT5DWdsiofjdHvfRUeKw/x8Pt20HPuCi9+4wR7HttITWPixm+8Dppp8HenDrM2XsFvbL4TQRAYyqX58qVT7Gtso2jofPrIywQVN3trm4i43xqv6Nsy0Nu2Tck0GMym5qzXZpkydcEwHbEEXckpfvPAM8sq660ELlHi03c8wI5VN9dSfD0My6Iwcy1ht+emik+RsiCxijA1TQnymSLpqRxqUbthoehmMMu+AJx85HWvW5ajGyQIbmzbSQnIoozTkarREAvzsQd3AgaC4MG20oiigm1D78AkB490s35NLW63TEUiRCjkpbd/kguXRti5tZlkOs9Tz51my4YGOtoqqYgFqYg59MFQ0EtrVYKjvUMc6xsm5HGzq7We/T297O1oJuz1kAj60AyT/zp8is0N1QxOp8mWVDY31OBXXIxnchy41I9pWgwl0ySCfjwumVXlce5qb/yRMBNvTyT4xx97AnNGUuAPX3qJnuQ0v757N9tqahnOZvj9F15Atyw+ee+9NESc1WnIvVA3aRaiILB+cwPSlkY0zcTQTSqrIxSLN5YPsbAp6Ab5ZaRG7BmBu9nP0kwDzVqChgsY1vIdojcL0yoxUXgB3UojIFMTvge3fJXnXsiVePlbJ8gk5+9+TNNiqHccgEunBvnS/3mR67Mg2VQBxe1ipH+Sf/vzZ2lsX9y97lq4vQqN7VWs3tyA2+PCI7toicQ5OTFCd3oKRZQZLzjaP33pJE/2XkAzTX5p/SYMy2Ygm15wzrDbTcT9/dWebqtAn9M0ulNTHBu/wv6hPs5MjpGZkUOoCYR426rVvKNlDU3hGCcnRujPpMjpGl7ZddMP8qzUsSyKFIyFA1kzDYybKIhOlgok1aLjKOT2zAmfrQQNG2qJN8SIxQK4ZBm1oKGsoFh2M7Bsm9dP9DIxlQNsdm5upjLhUBFt26KoHQUsBNyo+jl0ow+vezsB76Pkis8jiWFccgP50ov4PfeSLXyDSOBD2LafwSvTjE9k6R2YJJUp8r63b2NqOsfrR3p4zxPbCAU9bOys48SpQTZvqCceDVBdeTXVNvvVjaSyuGWJVLHEM6cuMTid5tTgCCGvhzvbGjg5OIppWaSLJfomk2SLKvGAj7DPw8mBUQqqhiyJFFQdO+AodJ4cGGFzYw2hmzRq+GEgoCh0VjhB6uLkBCm1RMjtZmddHZ3lFQTdypzLWWu8jNWJG68ws9kS3/ryGwSDXvx+N/mcisfroqY+Tk3d4pRZ27aZLBQQEPjjBx9ENZcey33JJH984AAZVeWda9fyRMfqpby4EYCG8Pe+yl4Mlq2hmUksNLBtNGsayfIji05tqJBT+ea/HGDw8viC984mA84f7+fCif5Fzz97zP4n3+SVp1ZwQTNMnrf/9B7e90v3IbskOuMV/MeFN/mp576KKAgUTYPpYoGPHfgOGa1ESPHw6698Z6nT8cGOzfxM5/fXBHhbBfpXh/v4nVefI1kqYsNcE4ckCPzihh38ePv6BYW7gEvhD3beS3NkeZ739RjOZfjEoRfJaItTOL9w9jgvDPSw0gSyapoMZNPYwNe6z/La8OIDZzn8j7WbebSpHV/wLRA2s2FkPE133wSxiB9Vu/rwakYXueJTCLgIBz6EbFUAFl73bkDEo3SiG/0U1ddR9XOU1DcQxSBF7Rg+9x6qKyKs7ahmVVM509M5Ll0eo6dvgkJRo1DUSGWKnD43xMXuUQIBN263zLmLIwT8btLpIi3N5bxt3wYEQWA4meGBzlYuj08R8rppr0rQWVvBVK7Alw+f4rGNHdg2JPNF8qpGrqQS8Cisq6tElkSyJZV1dRV4XS6KusGmhuoVUUNvJ5iWxfOXLzNVKLClupr60PKU0ayqcn5igoZIZIGapaGbVNXG0Es63RdH6e0aZfX6Ovbcv3bJFMFEPs+nX9nP5qpqPrhx45LHGZbFoYFBsprmeLd6fbTF40S9b418x1IwrAy6lQUssuoFJMGDLDq1JVkWqW5MIF3HBrItm/HhJIWcSijqI1a+0OAFnFTi2NA0pYJGMOIjVh5esvveNCymxtLksyX2f/sED79vB/GKMHXBMGHFw/9Ys5nGUISzU+N88fwJNpdXc2F6gpjHy8ONbTSFYgsYaLYNTTMNV9fjR9YcvMofRBQE6oMRdlTV0RyO8rcnD1PQdacxaRF2hiSKrI6Xs66sYsVNRoIg0OPxLlvs6k0nOTw6+D39HU5T1M0LKD3U2Po9fd5K4VZkfB4XAZ+C65qB75JqEVAQBA9F9RD54nN43VvJFb6J3/sgRfUwslyHR9mMJEbJFr9NwPs4itwMCPQOTFIWDzB4ZZra6ijnL41wZSTFxFSWcxeH8bhlVrdVcbSmn42ddTTUxUlnimzsrOPV17t5274NhILO1jQa8NE3mWQomSFbVBmcSjORzbOqPEZnbQUFTacsqFAe8pMpysQCftKFEh6XTO9EkrKgj/p4hDf7RxAFgfKQf9mc8e0G27Y5PTbGV86cQRIEHmltI3ADc/CBdJqPPfsMdaEwf7ZvHzHv1W2+JAkM9U/h97mpa4gTifrweBW6L4ywZsPC4vV0scCfvvYqT3c5Hgw/vn4dirQwTMxe59fOnZ2rk/3zieO8OTrCB9ZvYE9jI/4Zh6q3Ek49x4eNhYBIzLsdj3y1UzcU9fPRz7wH67rGIl0z+Ov/y92bR8dxX3e+n9p7X9Dd2HcQBAjumyiSIrVSuyN5X2Jb82I7sWNPtskkk0k8ec4ybyaZSV4miePJ2HNsJcp4iS3LtiTLkqyFEimKpCiKG0AAxL4DjUbv3dVVv/dHgU1CBEhRK5/vOTyH6K6qrq6uur/f797v8kff58hz3ey6fT2f/K3bkZcT7LMsvvmXj/P0w0dZta6e3/jPH0bXVUA4bG1RLHM6LMvm8LNn+NqfPEIuU6CQdyoFUZcHt6axpiLGDbXNGIrKI/2n+b2teynZNv/ad5KfDfVxZ3M7H1y1jgqXm8F0nIViDtO2saUSmVKR3uQMjd4w/alZOoKVBLQ3Xs+/phJ9WyjCf7/xbloDYaq9fvoX4vzjicNveP94Icf3ek6Uyz2vj5Dh4iMdGy4R/i/ZNgPJOG5VW9SiUNld52jXTOdSRN1efKqxYt29YJV4bOAsM7kMIcNFwbLIl0z21DXTURG7IurmfKyPLq+h8XaEJElURQPomkptVZDQot+lQGDZcSx7FlnyocgbMfR12HYGi3lsO4XXfTtmaQhbpCnZ09gijWVPY1OHKkmsWV3Nw48eY2omxV23riMc8tDdO8krx4d5/z2bASiaFrqmMD2TIhzyYhYtImEfqqqgaYpzJkJQFfAxPp9ka3MdUwtpBAKvodMUCdMaqyBdKKIrMrqqoqklJhNJFrI59nS0AIJ0voimKKQLBRRJJvMmBKDezpjMpMu9m+WMbS4OezF5/smzzzKaTLKzoZG7Vq++Yr9nJpNhNpPBpaqX3Gsen4ttG9p4+fmzCNuFukjk8QcvrfkK4JEz3aSKBTRFYU0shryMyY4QgrNzc/yX/c8zlkpR5fVya1sbLw4Nc2h0lOOTk+xtbuYzW7ayoarqHYW8ypKLCvdOEDYCR8vdsgsosjM4yoq8LOGpWCiV4cuGWyMU9S+LqhFCcP2+tex//DWGeqfIZwpU1YWdcmfuKecz5Ai6HkGSAnRsaMRwaVyssOLVdGJuD6lFJy4JCU1xYNntoQi/v20v+8cG+ZtXD/DC+BC/u2UPC1aWV+aGUSWFglXiulgTectkIDVH0S5xJjHJ/U0bCOpvrHZ/TSV6n6ZzU33Lm94/kc/zrdPHmMikHLTIecPwRRXMBn+Qu1pWX5LozySm2D/dxy11q+hbmKPZH+bmhhbawxX8aOgUXeEqbqhuIahfOoIK4NjUOD8514MEfLxjAyOpBX4y0IOuKHxp0/Ur2hgKISiVHE9V2xZomoJplrBtpzanaW8fWkQIweDoHL3npvH7XISDnjI8q1gawNC6UJQqStY4hrZ+UX5AIEkatp0iV3gBVWlAiCIIC1vkMc0+NKWWqliQYMBDPJHl5VcG2HeTA31FcgaYUsnimf3dJJJZEsksJ8+MEQ578fuc63Lm7ARej4EA5jNZgh4Xkwspgm4XmiLTPT7NmhqnHh10u9je2uAYhk/HKVoWbeFIGY2TLZosZPN4DR0Jibl0lpJtv2f4+kf7u3llagKXqvKZ9VuX3UYs4uZ/1tfH144cZmB+nrZwBf9u9y5iF7E7HdE+iYJl0R+PEzQM8qUST/T1UbQsqn0+Aq+b/WdSeY4c7GNqIoHHV8XEcJxw1IeqXbge5xnfAPP5HG5V5bNbtvLpTUvF/IQQmLbNgeFh/urAAU5NT+HRNH5t+3Y+sWEjQ4kED712nB91d/PT3l5eGR/nY+vX84n1G4i9QRnlqw1bFEgVuinZC5REFiFMIu4bCLk2vy3HlySJ9vUNVNaGGB+a49iBXhrbq3CeDR3bjlMqzWDbcVyufRSLJrZlO4PG4tcNGi7+dOc+R/oA6Kqo5P/ecSuVbueaGIrKrQ1t1PoCfLvnNebyWeZKSbIlE1WyqDA8tPgjDKfnmcw5r8uSRKZU/P9non+7oikQ4kubduJZJPMkiwX+32MHVtw+rLtJW3mafBWARL03yOn5KU7FJ8mWili2zXB6nnUVNZfMmHJmkYe6XyWez1LrC3Bf2xpSZpEjU2PsHxvkW6de4fMbr0OXL03ahUKJp589TT5vggQtTVHO9EwiSVAZC3Dz3k4U5e19OLwenVDQjXrR7MVtbEeIHEIU0fUWsoUDeIzd5AoHkCQvucJBNLUVXe3AsmcpmKcxtPUosh8hZJ55sQdNVfiNz93C+OQC3b2THDk2iHcRNSTLEms7a7l+Wys9fVOcOD3K/XdvxjBU8nmT/Qd7ufXGNYQ9bjprYk7DyjQ52DvMLV1ttFVGEIDfZZQJIl5Dpyrgo7MmRlXQT/f4NJYtqAn5iWeyhD1uLCGYTmbIm6X3LNHX+YP0xGcdhydNI1tY2vg3LYsn+/v5zskTHBkbI18q0RGN8kc33sjG6prXGb7o+HSdqXSarzzzcwKGi6JtMZ1OO8qoNbW4VJWiZZV5Jf6Qm+27O5kYnadgW6y5rgldVxmZTSAFNCp9Xo5PTTKZclBXPl3nc1u38StbtpRVIc+TFAfm5/nOyRM80t3NXDZLwDD43NZtfGTdejRFoT0S4T/s2csNjU38zyOHeXVigq++/DKHx8b4jeuvZ1tt3TvgFyvImH2YdhK/3oFLqUaWlk6shBAk03ks25EuqQh6yOaLrNrYQKZQpLWr7rKqt+GonzVbmrEtQS5dwCrZKKqEotSjqqsRIo+i1CJJOi6PwT2f3EVLZw3hmJPYNVmhI3yhcR5xe9jlblryGZIksSYc48s7bgbgn/sOo8sKHcEqXouP4VV1slYR07ZZHaxkJDOPIf+CWwleKUKGi9ubVpXdmmayGb5x8uiy6AEBpMwCAd0g6vYylJ5HkiS2xeqJuXz8YOAEAd3FqmD0kiRfsm1+2H+Gxwd7kSWJ96/qYlU4goTE59Zv578dfYH/dfIIhqry6TWbHAPyi+4oWwjm4hnSmTyGrjGmJRgYnMF9lca/byRkWWLz2gbWrKqmIuTF63GSsDNLdKMqVYtXQ8Hruo2CeQJVqUORgyDJuI3rFyWDo7j0LRjaaiRJRwjB2o5aIhVe3C6NirCX8ckEG9c30LRIAZdlmYY6p6HUWF9B1+oafD5nBv/R928nmyvQ3BgF2Wm8K7JMybZpr4ri1i+Ytm9quqBMuqa2ks6aGLrqyBp31sZYU1eJIsll821bCCSJKxKP3skIGgY31DsPtS4rZLkU4fXq5AQHhodxaxr3r1nDr23bzqpI5JKSTYXbzQe6uvjmK6+QKhbLsEevrtMRjbKtrpbJdJqxZJKBRdJSyRY8OtCPBPTOzHFnuJ10ushkMkX2pSEe2L6ZiVSKXMkk6vHwG9fv5ENdXRiqimXbJPJ5zszM8GR/P88MnGM8lUIIwaqKCr543Q7ubG9HV5Tyb+RSVW5tbWVdVSVfP3qU7508ycGREQbm5/n89u18oKsLr6a/rbN7Rz/eRpX9S6SwLWFjChthC5453MvoVIJCscSdN6zh8IkhIl2VbGkJ09BRi42gZJWQJYf1fvH5abrCJ3/rdhAOFFpRncFKlqNYpQFskUWSXMhyhKZVVTzw7+50eDEIinYJTXpjK3NJktAkBdO2WBeuwQZm82lure2gZ2Eat6LR5AuTKGTL0ipvNH4hE729SA/XZOdByFulFYlVEo6+fcCtkzGLTGaTrA5GkSUZQ1G4rrKBtsClptQFq8RPzvXw10dfJGMW2V5Vxy93biy7YH28cwMzuQz/+9RR/uaVA0xnM/zq+m1UeXwXjiNAUxXCQQ+pTAGPRycc8iDJ0hvSIrmakCSJ9pbKFd83tPWL2znmJ4bWxXnvSr/7vvL/ZclPwPMBQCsft6FuqSZRXU2YuppLdYokSSqz+sC59q/f93xoinLJLFxf0kC+8H9JktAvkmKQ33BX5J0Pl6Jycnaael+A4jIuQ6os88sbNlIoWexsrGNjbRi/rrNgxlElFa/qJ16cwa8GkSWZT2/awIZaH7O5JAjnu1e6I2iShz999hkW8nnSpkk8m0WRJDqjUWYTmUXiGyTzBeLZHD7DIWaVbJs9Tc3sbRriI+vWcUtraxnC+erkBP9l/366Z2bImKbjkub1cmd7O5/csJHWiooVBemqfX5+d/cNrK2s5G9feonBRIK/eOEFXKrGh9e+ne5wEj6tDdNOkDNHSYteYh5nVvz42Al+MHyMZk+E1qKDykJX6RmcZj6VI5HO4TF0iqbF0xNneGL8FGtDtXy6bReatPT+qqxdep8KYVEsHiSffwqEQDd2oKqNSLLDth/JxHl45BjzhSxf6LiJStflSYoXhyYrbI81lXOWhMNpkJDKAnG2EFcFKf+FTPQDyQS//dyjqItJt2hZTGRSK9r2Vbp97KlvRpMVbq/vKK8EKt0+woanbHhyHtUzkUnxz2de5aHu4yQKeZoDIX5v+15qLmq2eTWdX9+4Awl48MyrfOvUK5yam+JX129nV20jLkXF49HZvq0Fy7LJ54t4PAarWqswzdKSGt+7EdLrbuyL3aCEkBFc+P7nk/yVUE5S+VjLhyMOB29aA2HZz7w6RvI7HX2JOAuFPMFFg3gJlkwaJEmiMRjkj268kWQpzivzB6h01TCWG8KnBlgb2MzL8ecJaCFsYdHgaSXiLzFLPyXbpMKI0RJowBBhXKrK2UzG4XK43OxsbODOVe38/Gw/QkCm6DSyPZqGIktEPB4mU2l2NNbzX2+/nbDbvSRx1/oDSEiYtk1bRQU3Nbdwb0cHndGoM4u/wnV2qSq/1NFJUzDE/7P/eVKFAhurr0w6uppQJBcR9x5kScMWRUBClZ3m63h2gSNzgxStEuvcjQQNN7quYFmCkN9NIpmjMuInkcpxjhmenDiNaVt8snX5+9G0HVZ4xiwymUvQaETR1NXYdhJFqebiZ2Yyn+SHw8eYL2YxFJXf6tqHW7kweStYJeYK6cu6WS0XEhIRw4uhXN1E8Bcq0SuyRMTtwhKCvsRStxz/YmlGWQZF4FI1fJpTyrjY2FiVlfJgYQvBbC7Dz4fP8VD3q5yam8YWgrWRSv5wx01sq6q75MYP6Aa/uWUXDf4Q//DaIQ5NjHB6bppbG9v46Or1bIhV09Zy9bTqtxol2yZtFric7qYsSfg1A0WSEQh+PHyKQ9NvnBsQ1N18pmMLYd2DLKmARK40jab4USUPkiSRKOb4+9MvMF+8OhvIlSKgufhi1w1EXe+c9vlVhxDoi6sTl6oS0F38/p49lCy7THiSJAeFYZslTFEgoldSsPJIkkTSTNDu6yJpLuDXAvjVINP5CSxhocgqOStLwcoR89TwxzffQjznEJ0CLoPmYAiPruNdq2PZNgWrVHZhSxeK5Eslavx+zHwJcy5P98x02eXM5dbxygp/eONeJlJpNlRXUen1rSjtcbGJfMm2KNpF3IoLRZbZXFPDf7/zTqbSadojkbd1IJYkFUO9VFPp9ZOQtW3VuGSn1GjoKpqqkMkVWUjlCAfcnE5eGUr9wtQ5TLtEV6iGgdQcjYaEbS8gSS4kyQ0sSpBLElsqGnmgbRd/2/1zfjhyjK5gLe9r2FgeSPtSU/zHVx4mW7qy5tDF4VZ1vrLpPjZXNF7VftdsoheLzNWSbV9xZmiJHCPpn2Ej+J1t4FE6CegtaPLSB16TlbIb1PkaLqw8cT5/DgML8zwzOsATg710x2co2hZeVeOO5na+uOl62oIVy56fJEm4VY2PdaxnbaSSrx5/iefHBnm47zTPjJxjR3U9d7d0sKO6gZjHiyK/O0WHkcw8Xz76GClz5Zss5vLxlS13UecNYgs4MjvCdwdefcOfUeV2s7tyjNZAA6aVwlAqSJtDqLKXJv8vARLZkskTY91MZJNosvKmSy42jjdAzOXjgfbrCOompu30Y1yKsSxE8N2KSq+PNtPEq+tYtqDC6+aDXcuXLryqH102mClM4NeCpMwFPKqP0dwgRTtP1lIIiDCmXSRmVFHlqqMvfYaScGrLKzFla4OXh3WOD81y7EAfJdNiYjjuoNSKFpqusvuOdWysrnFMdObThHxuUtkCFQEPlmUzNZ+iPhZiojANwrnepijRlxpid3QLcH7VEqLxbWbFXhznG8ZctEY8P5GRJKiuDOBTjfL5yEjEwhflh8vbWABgWiX6U7MkCjkSxRw97hbcyq/Q7PWjKWGki+4zVVZ4f+MWTiTGeHL8FP+77wXWhmpp88dwLDudFULxDUpC2AiSxRwuRaN4GabySnFNJfpcyeTp4X5sIdBkhaeG+0ibfZ2xHAAAIABJREFURVRJXmKY+/qw7DwZc4ycNUujvxFdLlLjjS5J9LYQjKYWGE4lkCWZ/aODLBTyi3LDF5cpBMligZ75WQ5PjnJ4cpRT8emygJpbVdlZ1cAvr9nEzfUtb6ixpMgyG2PV/OXeu/j5yDn+6fQxTsxO8cRQH8+ODtAcCHNddT1761vYWdPwjku95q0S3YlpEsWck1wvPv1FT90ad4CifekN1RWsYmekGSEc+KeqyOQLjqCbqsiM55M8OnIaW5ikzHPM5eNISMzkDiNLKnW+fbx+aHUpKl/q2kN78M2tbgZScf7m5HMALJhJjk8cJlPKUueuZmd0K7r09je332joioODjqqesmeqbdtOfV1eOjtWZY2IXslccZpGTxsCQdZKE9FjjGYHqXc3kyjOYWMjSzI5K4Mu60sGsotnslcqm50Pw6VRKpaYmVygpjHCQjxNrCaEN+BCN5wUUTQtnnr5LDdsbOHgyUFcukZnUyVHe0b52G2bmS8mmcjNkCpl8Chu1Hd5cJ0vZvl6735mC+nya30pR/ZgKBPnT47/uLw63xCu58aq1fxw+Fj5Hn817szo+1PT/M2Zpy6pf+uySoUeYE/1Ks4kJokXsoxnMwxl4ry/aSNV6qXfN6C5+JVVuzmVGGMgPcs/nzvIf1h/Ny5Foy1Qyd/t+MQbFmWcyaf4w2M/IFN6c7yQayrRCwHf6TnBC+NDTgNisYbbGAyyKhS57L6ypFNhdAESliigSEuTpS1s/ueJwzyxiJBZKOTJWyVaAmHqfUsp5i+MDfHlA08Rz2cdHIokEXN72VpZyy+1rWFnTQPBq1SZkySJoOHi/rY17Klr4tnRAR7pO8OxmQl65mfpmZ/l5clRvr7v/e+aprdX1fm3a/fS4L3w/ccyC/zt6f0r7tPiilA/FsQ0LYJ+N12rqjnQc450psDGzjpolHlitBtZ0gnpLRhyHkMJo8shJEm55HcBUCSZrdEGtseubjl6Po7PjV3wFijGGcqOokoqa4Or0aS3t6l9tXEuEedMfBaQsKodN7NHH3yRkf4pPvyFW8uyuQCapLM2uAXTLmIJiwZPCy7ZQ9ZKE1BDhPQIYT1KpasGAcjINHpW4VYu9J6S8xkOPXmSlq462tbWr6hXnphN89yPXmHVunra1tVT2xylpjFCKOIjUunH5TEwXFqZLTo+u0DP8DRN1WGKpsXgRJy+0VkS6RxPHT5LoBoyeo4NwQ4m8jOM56YZzk6gySoxowLtKqCAbyZyVpFnp3oYyVxqcJ4oZnly4nT5b8u26QxU8y8Dh0i/rnQykp3nn84dvOQYPtXg4807Celudle1EtBc3F7XycnEBMbiABIvZHh+6iwScFN1B0HdQ2ewho80bedvu5/m4Mw5BtKzrAnWlBE0BSuNWwmWc4ktLGxhUbQzyJKKKhnIkoJb1csD1ZuJaybRCyHQZYWdNY3M5rKLDSuIurx8qmsTDf6lXqCKLBMyXMiSjCIr5EozSMgosoug3kbaHCGgt17YXpJZF6nkp4NnMW0bv26wyhPhM+u2Uu+7cGxJkthZ28CGWDW987N0hGPsrmtkZ00jLcEwLkW96hpjseQ0cVTFgW0FNIN7mzu4vamd49MTPDncx6GJET7asYF6/7tnhafJCrsqm+kKX2iQdSem+MfuS2/08yFJkEo79eOFVI5cvkg2W2Q2niGVKeC1zsM2FdxqFZI0ykz+CIqkY4kiFa5LJWptIRhOz+PX3twAN5SeL8+MAqqfCj1MwSownZ/DDJjv6Yz+xoYWtlXXo0iO73Ehb/LSkyeYHJ7jg792y5JtzWKJgTOTFAvLL83HLqovVNWFidUt1WcRQnD8xV6++uXv85Ev3kbb2jqWK0wKITh7fIhv/cVPuP+zN7H2ula2XcFaUEJClqUy3jwa8tJWF+X5Y/0sZHL0nowjdU4hBKRLGSbzsxiKTqKYYmdkIx2BN0+EfCPhU118qHHrkn7P8fkRjsWHqXT52VfTVR5sVgeqqDC87KvtIr9YBjmbnKQ/NUOVK8CmiobyKill5jg0O7C4X8zh3JSKGIt5YF3ogtzCeC7BX556AlWS6QrVEtQ9KJLM+xo2MltIsz3aTLM3QskukjQnKdgZBtIHafHtQJPdeJQwOSvJufQBClYaVdJRZJ02327g8uW3K8U1kehtIRgbm+fUmTHaXX4+H9rE5g2NeNw6vT2TrPZXkc0W8XqM8o29OhTh67d/wIHo+X1IfAybEolCD3krjletX/ohksS9rZ1sq6pzZkOSRFB3UeFyX0LiCBtu/mzXbZi2TZXHh1u9NLkXzBK5oknQ42J8UZels255+OKTr/USC3i5bpUjhXzw7DCJTI77tq/lhromdtQ0EM9nCegGEs6DeC0hRy4OWZJQVRlD1zA0BVmScRkalVE/uqa8Lq8ITDuFT2vCFgX8WislO4tTQb2wYd4y+c/HnyxDU682SrZNtlTEo+p4VS87KjYzX1zAp3qwxNUZ0rzd8fqBez6ZZXpsnmhtGH9oKQpsYS7NX//uvzA9Or/i8QSAEHzs397OR379tiXXO58t8tyPXqFklpganuOHX3/ukv3b1tbRtb2VI8+eoZAzGeye4MG/uFSWUZIltt3cRdc2J0HXVwa5dVs7Aa+LkmXjdRm01UUZmUpw27bV9M5MMOtV2BjqZDgzTpUryq1V1zOYGXtX4K4BzcW/WbW7/LdA8L/OPs+x+DA17hBf6LgZv7aUSPXlDfeW4Qh/ffpJ+lMzrA/X8ZVN95Xvxb7kNCcPPkhJ2NR4gqiyQrZUpDNYhS1sJrJJIoYXl7ryyjFq+Pjtrn2oi/j8op0jXhxmIneKavcaJnJnKNkF2v17yZTmyFtJQMIUBUwrT7o0i8zV+9ZeHNdEokfA9EySwaFZpmaSdLRXY2ctjr46wOnucYYH5igUTO69axMVi871Hk1nTUUMy05iWsOOfoTkJ6JXospRVOV1+Gwh8Koa7eFLO/SvD0mSrjizPjU6xaHeEX5t3w76p+L0jE/TURsrJ2ghBEf6RxmeW+CF7gHCXjcjcwt01EZZyOaZzzg2ced6Jjl7aoyGlhgZj87URIL2NbVEq5ZX03uvw+3SuX/fRpKpvIP/T+e5c28XQb+bhVSOPnu2vG1AbyWoh7GFhRAmeWtuEca59HvJkkxnsIoK4/JmzitFopjj8MwwAJP5aebMUWwELtmgyVt/hb3f3YhPJVmIp1l//SqM1xHj3D4Xd3xsJ5mF5S0ETbPEC48dZ2Zs3tFvuegyCiE48VIfrx3sRXdpHPzZCZ7615dRNAWv38X5je/42PVEqkMcfa4bl0en/+QIr77QQyFvEor4yvovsixT3RgpJ/rJeIr9x88RDXrpHprmo7dtxqWr1EQDuA2dzoZqnpsb5lx6BI/iImcVkJFo8S6/qni7Q5KWeiwIQVkC5Tyk9fWYf/kiclVusfbtVQ10WS0nelVWnGWsgCOzwxyZGUWTFWYLGeq9IUzb4v1NG654bhfj8nXZTYtvB9nSPBG9iXwpSbP/OkJ6PYqscy71Ih7VIRtmS/OE9DpS5lsj/V0Tid6ybBYWciiKjKo4pr1WySYU9NCxuhoJibYNjQQDl+o6FMxeEpnvIksGhtZFOv8Ufvc+gp6PlLcRQtA/MMPhowPsu6WLSIXvLSfRvsk5Qh7HYCTkdTGfyV9KYnhdn3O5Tzx3dpJnH3+NDdtaqGmo4NSxIcIVXqJVgWW2fu8jaeaZV3JIIYk5sosrSpuclQIPTM2mWLROJ1eaJqS7SJv96HKQgL6KgjWHA0O7cOM6zdgb2Bp9c+Yvr8Un+NwL3wbAo7iR5QizxXkq9BCq9N6xYs9HySyVlQyHz05SyJpU1VeQz16oD2u6itfv4v2fvWnZY9i2zYGfvsYT336J629fx647lyaXhbk0P/yGM4P/9T/9ENGaEF/74x9QzJt8/isfIFLtTFwCYS/PPHyE2fEEH/3SPva+bzPPPnKUf/3az7nlg9u546PXIy3W9UORC2CGXMEkmcmzc10zyUyB54/189iB01SGffSPzbK2tYrrOzcSMypImmlGspMA7yniabk4z92QJMr0jZKwWTAdufKQ7lmRiDSeXaAjWE17oJKXpgc4ER+nM1S1BJJ9PhLFCSZzSUrCxK9GyVkJclaaiNGAX42iSBqN3i0cjX+XmNFGSK9dHKxkZEnFFg4aR5ZULrUJuvq4JhK9LEt4fYajcKgrCAGGodHYUEHfuSnm4hna2ypXTM6O5oqDEVaVaoRYCllKpfN866EDHDk2SDTi59ab1iyWRy4gEwoFk1x+ZScdWZbwegwUxaHnD87Ms3eNM9upDPhI5QpkiyZ+l1NntoWgwuvBrWt0j08TC/hYXRvFazhY3nS+SMmyqW2ooG1NDTUNFTQtfsfaxss3nt/LeGailyOzIyveesVFyJhlFxjLPA3CT8GaQ5Z0prIvEnNfx3mW7cUhSdKbTgoXz9RcikGyaOJRXHhUN4r03t/iR5/r5l+/9nNsyyY+ncQslnjyu4d4+elT5W3u+PhO9n34umX3F7bgzJFBvvVfHyVWG+aTv3MX/vAFkbCSafHYQwc4+XI/N923lT33bEIzNO799A18488fof/kKFtv7ERWZEb7p3nyey9T2xzllg9so7oxwr2fvoGTL5/j0JMnueNj11PfemkJsrEqxNqWalprI8STWXaua+ahJ46yZ1MbjVVhdE1m3JxkLDvlkOsQHJ0/jUvRWe1vRpffu6a4QJA0cwymZ3k1PkLY8HJT1WqemjjDlkgjAc3NVG4BCclhsK5wdzf7I3hUnVPzEwQXm7LnUnOkinlCF61GbSxmC8O4VTcpc5aI0US6NEe8MIomG/jUClLmDFP5HmJGG7awGMueIOZqY64wgE+LMl8YQSCoMBqZKwyhSm+tx/HePwU4M/pSyWLHthZqa8IMDs2STOWIz2fYurmZyqif7t5JKisDuL0qAoEqOZKshrYaQ1uFbWeQJBce1w5kyVNuGpmmxU8eP86hI+fYvqWZ67a1cPjoACfPjLFpQwPru+rRNIX9B3r57g8Ol+32Xh/RqI/f+dLtVMYCzKdzzKUyNMec8lDI64iETSZS+KudRF8sWTzfPcBkIkUyWyBbMJlNZWiKhjA0lWdO9RPxe7hncye/3F6FrqsIoK45imFcfcP33QpVkh2G30qnVzr/lkCR3CiLjVAHceNBXqYxWrBK/K/ugzzsOvGmzileyJK3TFyKRkgLsC7s1GqFEMsS5N71EE6yNoslErMpdJeGx+/CtgXphSxjAzPsvH15H1UhBGdfG+Yf/tO/YgvBr/6n+2lYVbVUjiNfZGpkjtauOj70+VvQXY6m0q47N/Dk9w6x/9FXufWD24nVhRnsmaCQK/LBX7uFqnqH/xGK+nn/Z2/kuUdeobiCxaCuqty8tZ1o0MuNm9uIhXx88s6tqIpC0OfCtE1enj5Bi7cOdXFwTZgpZgpx2n1Nyx7znQghBEXbIl3Kk1hszA6m5/idw99hLJsgZeb5WMt15C2Tvzz5U+q9YfbVdDGZT6LLCg3epZwYTZKRcXRrJrILrPZXLWrXwLnUHHuq2spky/MhIaPJOkU7h1cNo8su8tZ5311B0c4xmx8gZqwipNdREkVm8r0kzWnqPRup86xnvjgGCMJ6PRIyU/m3Riq8JhK9pins2NaGoji44prqYNkkWlpE31y/3cEVPzX9E4ayA7R621nta6VgZ0iX5gloUVq9G1GlC05Tlm3z/Itn+c4PDlNdGeCBT+wi4Hdx7LVhvv2vL/Pjx17l9lvX8eH3byORyDIwNEtLU7Qs+GWaFn3npnC7dZoaI8iyhBCC3olZKnweIn5nFDdUhbaqCo4PTrCqymH+uTSVT+3ZAggefvkUlUEfuzscjfvHjnWzu6OZmWSG//nUIT5zy3a8+rv/U+Qtk2+fe4XYRUzS2XyG7GXkT2+ubed31t204kB0eGaYPzzyKJKkICEhsJElDQkJt1qFJXKcL91IgCGrKJLMS1fBul0uZOSyQqhyvlxzjYyVW27sZN31bUyPxvmTz3yD6sYI//5/fArDpfHSkyf5m9//NoGK5WV8J4Zm+fs//B4L8Qxf/PMPs/a61ku28/hcfO7L95Ocz1DdGC2/H4r6+fTv3oNZMMsrgB23rSVWG6K2OUbJtCik8qQXsrg9Bmu3tzI7kaB5Te0l2uyKIhMNenm1d4zVDTEGxuNoqoykwpEzI1TFvEg41/78ysyhwL3zP4IlbHqTU/SlphlKz3EuPctweo7RrNPUXjBzZJNFIi4f68J1bIs0o8sKLf4oZxIT9KdmsIVNzOWnwbPUqc5hx8sISxA2PDw32UdpscG/UMyRKRW4r3EDvouABI5MQSNRl40qaeVSjaF40WUPhuylxXd9+XfSJTe17vNaU85rMaNtyd+wfN/mjcY1kegzVponpx4lbS5PT5MkiS3hHXT619EV2IhH9bF/5ikk0mRKMwhh0erbuGSfUsnmxZd6+do3nkUC7rlzAzU1ofKFMwyVqsogP378Vc72TRKL+HEZGr/+uZvp7HAgU3Nzaf7gj7/PqrZKfu+373L04i2bF7oH2dxSu0Q9bltbA//03FH2bWgn6HFhC8Fjx7rpm5zlteFJ/C6Do+dG2dBUgy2gwufmwzs38OMjp4mns1T43lwj8q1E3irxL/2vvJ4vBUCQ5RO9V9Wp84ZWNMMYSM0tPvA6Ydc6qr01pIoDgMBQKjCUCOczcIXh4fc23ELWMvFrxrIkG4GDqrGEjSxJaLKyYurQZWXJoHWthKarqJrC3FSSxFyKm+7fSjjqR5Ilsqk8siwRjCx/3rMTCYZ7p7jtQ9vZdvOaZV2QJEnCF/SguzSGeycp5k1s28a2bDTdUfd85bluspk8mWSOxGyauckEibk0C3NpFuIZ0gtZSqZFy5paWtbUUlm/NOGVLIuR6QQvHB8glS0wOpXA7dIIeF1MziUJ+Fqod1djCZup/BwRPYRAENHfOTbs+bCF4J/PvcSjo68toqykJbLgdZ4QX+q8hXWhOipdAVyLOjHtgSr++dxLfH/oKFmrSMm2Gc3O0+yLosiSUwqWZDRZwRI2bf4I6xrqy4zbmVza0cJaRnfGp0aod1ciSQ6Hx6V4UCSDop0E7CXaUpZdQGCjSK5FIpvT4yrZeSyRx6VcnU3qcnFNJPqCled08jXafZ341EubkM7Mz4UtbGpcdQS0AEfiBzHtUlnZrSyPJQS5nMkTT5/kn759EK9b567b1/Pwj49RWxNiz67VALjdOl/47E309k/zne+/zImTo7jdOpqm4DKcH07XnRKKIssYiw/MwHScqWSKLS3blghTtVaGCfs8PHf6HPduXYMkSaxvrKYhEiJTMIkFvOxY1Ug04OHYwDjgaKp/ZOdG3qsqjS4r7K1uI3TR7H2hmOP5qXNv+di2KC32TWS8Wj0etYa5/KuLMrLOF1ZkmZdmhjg2O8oX1uzmlrr2S2arthB8f/A4Pxo6yYaKWn5r3Y1vGob5XoYQ0HNsCNsWdG5uAsm5V8cGZ3B5DCJVy6O8zhMnXR59WQekiyObyvPVP/oeA2fGEWKR/SoW5T4sG8t0dOq9fje+oBuPz4U/5KG2OUZVfQX1qyppWFVFoOLSQad3ZJYnX+5haDKOWbKYT2XRVedZyRdL7NnYStJMEdaDpMwMNa4Yk/lZtoTXvOP1eVWS2RhuoD81Q5M3QnugkvZAFc9PneU7g4eJGX5urOq4BF5Z4w7y8ZbreH7qLEOZOeLFDH/y2o/5/Oob+aWGTbgUDUPR8KkG43aCvGVS6fYznk1waPYcuytXETNWVqU8//pCsZ94oYdG3630JL5HZ+ij6MqFPJcujTOc/jm1nl0sFAcw7RQpcxRVcuHT62nx3fnWr9FbPsLbFIZssCd6CyG9AntxaSQhocgqqqRyOH6A/bNPA1CwCqRLKSpd9RhyE0lzFk02EAhGRub5P987xP6DvbS3VvLZf7MX27b5wSNHMc0LTVoJ8HldvP99W6ivC/MPX3+GeDxz2XM0LZtHj3Wza3XTJTNwTVG4b1sXX/3ZQTpqY7TXRKkJ+Yn4PYS9bgxVpWRb9E7MLrG3W4m5+G6ER9X5YtcNrAldIEz1LEzxytzYWz62LGnE3NsJ6kFAQpJk6rz7Fu3enJjIJnl2vJd4IXfJQ3hxDKfnOTg9iCrLb5gyfq1FIVfk9JEBKioDNK6uRpIkCrkio31ThKJ+wrEAZ48PMze1sGS/we4JbMtmfHCWl352ckk5qqGtivq2C41Tf9jLfb9yI+ODsyiKjKxIqJqKbqhohsYLj77K0WfP8Lkv38/669vw+FzoLq284rhcX8jQVdrqopQsmx1rmxiciON16wS9LkanEwylJxkxpsjZBSbzs0wX4gQ1Hz71reG/30hIksTd9evZV9uFV9XLSKsziYnL7ieAgzP9jGcTBDQ31e4Avclp/vr0k8wXs3yqdSduRaPC8CKAyZxTcZjOJ/mr008ylJ7j3665lZXXmM5gO5U7QjzfQ96aYzp3dJHk6catRGnw3YRPq6POswskmYhrDSU7x3yhlzUVn8SjRhdn/78ApZvzUbALPDz2bSbzTqKRF5saPjVA0c7jUjzUuurRZYObXPsoWHNM5PooCRO34kcI+NFjx3jq2dPctW89n/7ELqIRHyfPrJy4VFVmx7ZWzg3M8O3vv3zZ8xueTZAtFLltffslpQtJkmirinDX5g4efvkUn9q7mYf2H2MunSWdL+IxNGYXG7jXSOkYcBjDF5egFGkFestifrWFoGRbKyaFkn0xQUm+RP5YWoRVCiF4frKf8WySqMvLQHqOucLyA21f0sHmz+TSPD565oo6Kl5NZ0esCY/63jFiXx+Tw3MMdo+zbkdbefY+P5tifHCW5s4aPH4XX//zRzj409eW7GcvNnFffvoUrzzXfeENSeITv3kHH/nibeWXFEUuwy4vWRnZNv0nR5FVmfq2Smqbr05XKOBxUSyVGJiY49TABPWxEIauosgyZslCDwaJ1odQJIW1wVVsDHUQLy7wzPQh7q7Zi197ZxO+V13aEL2ShLZAMJad57uDRzCFxX21XXy6bRdf7X6GpyZO843e/RTtEp9dtYcWX4yDM+foTU1hCZukmSdbKjja8FdI8pnSJClzlPbgB0GSWCgOUunegib7UCUXEgqT2UMUrAX8egOT2ZexRIGkOUR/8keososq91agdsXPeSNxTSV6TdbYG72Ngp1z1OeETd7KMVucZjg7wHhuBCFs9lXfS7VRy6nkixTsPKK8AoDamjBer0FP7ySnzoyx87q2K36uLEsO0uUK21WGvHxgzzr8boPxzAJJs4Bb1WjwhsiWiswXcty8to2u+iomSyk+uGs9fsNAV2V0VUJTZWRJoXt8ikJRYIkSMm+fL+w7FQKBuQhZPTg9yO8c+iErdTpn82nMN6DIN1fI8MjQCUrCZjKX4j8dffyK+3QvTPO7hx654nbNvgq+eeMnrplEL4Tg1OFzpBdybN7TgWY4ZcD+E6PMzyS551O7Mdwat31wO2u3ty7Zd+zcND958AXW7Whj6+0dzBbmcCkGlrCo3+ysfi+Gpa50LwlbkJhNlfH6Vxthv5vbtncgIZFf9OfdvbEVj8tptBu6iizDfDGJJEn4VS81rhh17ioM5b35HS6n9Z4rFflW/wF6k1PUuoN8qGkbzd4If7D+bryawY9HjjOXzyBJEhvD9Xxv6AjdC5PM5dOMZOLYQhC9opmIYCp3mGr3DoJ6K5bIoctePGo1hhJAQkFCJubexFDqSSQU6r03UrKzpM0x6rw3oMleXEqIfOGtMbyvmURfEiWGMgNU6Esx5LqsU+tqYF1gEyVR4unpx/j28Df5aMMDaJLhQLkkCU12VCTvvWsj1VVBHvyXA/zV3/6MX7pnM2s739poeD40VeF0agqPS+PxkW6iLsd68Itdu7GF4PnJc9xY00os6OOR7pN8fNVmfJpCd/IlFjLTlOwSNe5WFowJqgJN9CSH6Qhch3Lt/AzLhhCCbMmB3Y1kEoxkEm/peLYQPDvRx+nEFJUuH9dXNl/WFu3U/CQ9C9NUuX3srGxZsRF8PqIuL95rJMkD2JbNYM8Etm0z0jdFMp7B43dx5LkzaLpK17YWZFlm601rLtn3+IFeHv+Xg7StrWPTh1o4Oj9PwU7jknWyxrwjUWwpPPmdQ4z0T614DsJ2Bpti3uThrz+Ldxny4cXh9bu5+5O7CMecWvLJcxP8/Ggfp85N0NVSzcDEHMfOjhEL+7CFze3XdbCmuZqIsbT5GtbfPeKfaVsULBNFkrGEzdgi6uZi1qxjcG7x3cEj/GjkVVRZ4eMtO+gIOOW0CsPLb3beSr0nzC3VnRiyyoZwAw2eMMOZOI+NneBYfBhFkmnwLu+OdiEk6r03kSj0cibxIJYwmc2fpifxf1Bkg7C+mkbfbWiyh5h7A7Ywmc4dJVeaJW/NM555AV0J0Ba4D8i/pWtzTWQYVVap0KO8FH9+WTiWhMSe2K1sCe3gA3Wf4PujD/HYxA/4cMMnqfO0A5SJMYausmtHG00NEb7x4H6+/8MjvNIco6uzlsrY5W86gYPWKRYdoSPTtByda1tQLJaYyCepdPtYKOZxKxq316/mW2eP0JOYRldUmnxh5vJZehIzDKTiHJwaosnvZ8GcIWHOULRz+LUwcwWnGWuJq9eVfi+iJGzmC1kk4O6GLvZUt6647dmFGR7sPbzi+0IIxjIJHuw9Qsm2+MSqrfxqx84Vk7ct4H+ceo6ehWnaA5V8ZctdZbnflUO6Kpu1dzpkReb+X9lLaj7D4/9ygNH+aW66fyuvPN9D69o6Gle/Mdelsdw4c8U4uqxRtIv4VAfSaFs2x17o4fiB3hX3NYslcukCkiTxs+8cwu010IyVH/9wLMCNv7SFYMSHLaC5poJ7d3dhaAp37OhkbiHD0Z5R3ne0Q5OrAAAgAElEQVTDWoYm40zF06xpvtor8/bGQHqG/3bqCWwhMG2b7gWnRh9z+dEXBc2KtsVDAy/x9bP7KdoW9zVs4gNNW5ZMNEK6h/+rbXfZCazGHeT+xs38XfczfLXnWUrCImb4afFdvvwlSRKGEiDm3kCFq5OSncMWRTpDH0dXAsicl2CwGE0/R8S1lkSxnxb/3TT778QSBXoXfoAl3pw08cVxTSR6vxrk002/SqaUpmAXCGhB5EX2pCUszmV6afI4+GGP4uX26vfxT0P/yHi2n0aXo50iyxXkrVEkScFQW6irDfMbX7gNl0vj6WdOc9PeThrqLw9TyudN/uHrz5Rx9EXTYnomRTpT4C//5qfc/ZGNvDg/wK217Zi2xbPj/Wiygo3j43hwapB7G7sIaAaGouLXDNyKSs724hdhkiUbQ/agyhogqNCrkbn2ESSZUpF4IYssydxS2859TcuTewD2T/bzUN/RFd8v2hb/3HeE7sQUq4Mx7m9aj74Mhfx82BcJvEmS47H6VuRa34uQJIm61kq+9J8/wqMPvsAP//dznHipj2KhxIe/cCse35VLKQIHsBDQApi2iSopeFWfwxnQJP7N799LNr2CkYwQPPHtl3jsoQNs2dtB9yuDbL1xDe//7E0o2vLXUlVlojUhXj42SCZbYHR8HgFs66zn8JEBCsUSzVUhxkbn2dBRi7bCcd7NCGoeZvNphheliiVJotUX4wONW8pILUvYTGQTlITN7bVdfKnzFgLa0tWNw8W4MFFQZJkPNW0jXsjyk9Hj5C2Te+rXU+e5PHRUCEFJ5CjZTiO1JPLYwqIkCsi2M0PXZC95a468FSeotzKSeRZbmOV/V2s1uFJcE4lelmQM2cWR1EGen3maNYF17KjYQ5WrhmOJwzw3/SQfbXyAEGEkSaLSqObD9Z8ioOSJp78JSBhaMwVzAEUOUBX8bRTZRyjo5rMP7CGbLfLs/h5iUT8PfGIXHrdOKOgpu7kDBPwu6mvD5HImuYvYgVWVzipgfj5LrTtAMOOiyu1b1MoXJIt5qt1+Ii4vfs2g0u2jJRDh0Mww6yqqCekG1dYu5gpj5O0sXiVI1KhHINDeQ/lccGqY2ZJJ+iKnqWzp0ptrLp9hNp/BpajUeN68jLItBD8b6+F7A8fRFYVPtW8nqLt4frJ/WePs8+c4mIovnkeWZyZ6L6tfE9JdbIrUXXODgSRJ+EMePvj5W3D7DL7+Z484q5tz06QXcviC7svXe4XAp3pxyQYSEulSCl3WkZCQZGnF5qoQgunRebpfGSRWG+KXf/sufvLgfo7tP8tN92/lulu7lsXmAxSKJXrPTaNpCoMjc8iyxPaNzQyPzpEvlKiKOtK5siTh0t9b3X+AiOHlP264h2TRSay6rNLoq6DOEy5fW7ei8cXOW9gaaWZbpJmIcfkmsRCCvGWiygpf7LyZu+vXkzbzrAnWvCGY70zuNaZyR5xjYWOJPP3JRxbr8xL1vr2U7ByV7q1osoPkm84dQ5ENB6KM9YujdZOzsgxnBzidfI2QFkZG5jsj36Tdt4bjC0dZG9hArpSlL93zuj3dKLKTiA21jWJpFFn2ch4iIkkSFWEvn31gDxOTCX782Kt0ddbyvrs3cetNa4hFL2g879m9mq2bm1c8R1mW8PtdJMZyPDdxji3ROr559gjXVTZQ4fIggJl8mmfG+7i78UKtVZYUvGoQr+okyNejAd7LRmzaLPKVYz/FcxHhI2uZLBTzZeKREILe5AxJM0e1O0Ct583XXAVO2aZgl7ijrpO769cwmU3xB4d/wlx+ZWjreUjlmcQkv3Xw4ct+xuZIHf+456P4r7FEfz6KBZPuY0PIskS0OsTjDx0gMZfmgX9/D1UNy1tSwqKiqqeOsBFCk5zSjXIFwTYhBKlElm//3c8Y7pvio1/cx6r19XzsS/sY7ZvmH7/yA2zLZvutXWjapalALNptzsym8HldZLIFkukcbpeD6bdtQS5fxLLeWyno86HKCtsizZRsi0dHT+DToEL3Ob7HixOzom3hVjTuqHXsHCVJwrRLjGUTTOdTrAnWlKG+Qgh6U9N8o3c/dZ4wv7p6L2uCNeX3bIesgAMfXu6MBBV6LVXuz4CkYlnzICnlnAUgo1CyU1j2AradZF34AQylAgnHq9m0U2iylzfkdXi5a/OW9n6b4rmZpzidPI4lbOrcDdxb+0F6Uz38eOJ7TObHEMKmP332kv1ur7qT1f4HAFDlIG59LRIqEm4KhRLnE34s6udjH7qOH/74GIoi4XZpeNwaQggKBWf2LksSPu/rjC8kCU1Vylh3S9hsitQhEHQvzPDA6m1MZlMcnBpiZ2UT22KNbInWoUoyFcbyKnjXEsLGEjY9iellATTnz90SNoemhzFtmxZ/5IozoItjNp5CTjvXtirmR5FlPt62BVsI7qjvxKcZBCyTexq6LnH6KYeAE/MTnElMUeX2c0NV62W5B43e8BJJ2GspigWTnzz4AgefOMG2m7v4xG/ewff+4WlefOw4idkUX/zzD1PXElvxHkmaKXrTfcSL8whs6ty1xIxYWVvm4rAsp/H73b9/khcff42tN3Zy96d2o6oKda2V/PqffYiv/fH3+ds/+C73fHI3t3/semI1obJyJYAiS4SDHhRZZi6eRlUVFEXG7dKQZYlY1E88kUFcQ9QGIQR9qWm+2vMMWavIf93yQXZVrsJG8JPR1/jZ+Cl2RFv4ZOuFvlC8kOXLx37IufQMf7j+Hu6qW1/+DU7Oj/H0xBlUWaHVF+Xu+g3IkoQtBIf6RxiNL+DWNXa0/X/UvWecHNd15v2/lbo698z05IhJyDmDAQABEqSYKZFKtKKVvJacLVnv+rV2X7+yfl6vbFn2OlCyTcuiKIukmEkxAwRBAiBBBCKnGUzO07m70t0PNRhgCJAEZVmCz5f5TYeq27eqzj33nOc8z4XMq67MMJF/iLLQrUhZIlPcjqJECBvLCOjNKFNqa447SLa0E12tRQgdU10/XUAOqL+YzuLLwtEvTaxkVfk6Xh9/jTFrGAWV2dF5xPVf58G++wipYW6svWOGZBqAqQYxppTdAZSpbrPBoTTfu3cb+fy5IobjunhS8vDjb/LI45cmch2LBfnsJ66cLuIqCK5vnIPlOVMYfwUPieW6BFSN6xvOqfTc2jyf4GWE/LiYhVSdz81ZS91F0jFBTSdpRhgqZNk14ks7rqpswnyXfPr5Zjsujz69j6gXIBwKcOv1S6ipihHTTT4/Z62P1xeCKjPCHy7aBO+Qi/SAv35rK4cnh2iPVfLHy7ZMS7ddzAQX8o5fDuYzVu7iwb9/geqGcj72W1tonV/PF/7HHQTDAfZsO8LEcJr6WTNTMNLzpql1U3aKolskooUQCDoi7RfoxbqOx+CZUbY/uY/nfrKL0cFJ1l63kE999Safwx4/2OhY1Mjvfvvj/PDbT/PT773ErhcOct1dq1m1eQEVNXGf1wlfVLumMoY3qxLH9YhGTBbOrScUClAoWixd0ETs54Br/mdZ0bW57/ROBgqTLClvYs5UBC4QTJbybB8+TsoqcGvjEuKG708qAmHmJ+rYN9HDE30HWF89m7DuixxtrpvLztFTPNV3gL8/tpXWaCVz47VICccHR9l7ZoCWZBlLmmqZWW6T5Eqvkyu9gaZWoitJLHcAxQuhq5VoaoJ0aR+ezFG0T1K0TxA1r8D1JglojZj6e8PC349dFo6+2vQvRplRMYNWoMas566GT/BQ330czRzkyuQ1M25sV7oU3AIgGS4OkbZTzInNJ18osfsNX/7r7Rz2qVSeVLpANlei8qwq0nnmev5WVVUVOtqqp5E3Z0nWwCfichxvujnobAPP+ZFY+OeUxftlmqFqbKrrnCEleL5JKXnszFucyU5QFgixrvq9qVLP1i6QEI2aKBm//mE7fg5eCDEjx+7//86O+YJirPivVYyVUlLIlXjqhzv48d88ixky+Oz/cwuz5tX7zJEVET79Rzdz3YdX07GoiVy6QO/J4ell742tR3BsFzNo+BDk/BkEUBGoYLg0QkWgAttyGOmf5PShPna/eIi9248xMZqhtqmCz379VjbctvyCGoAQgvpZlfzmn93J9ic6eOIHr/D9bz7KY/duZ/n6OazYOJe2BQ2sWNzynhQdl8suVUrJ1qFjPNN/CFPV+UjLKsqmnLkiBCuSzST0EKezI5zIDLO8ogXwUz7X1c3nsd79vDl+hkOpflZUtEz1A5h8oXM9p7IjHE0N8n+Ovsj/XHIbMc1EURTiQX+Ru7DOIYgE1pIt7SGkL8B2hxEigCICKCKIKmKYeju2O8R47mEcbxyJQzx4HZpyIU257TnTZGo/z3xfFo7+rC1NrJhRCBRCUBmo5qNNn/H/f1uOoa/Qw9HMIUwliIdHSA1xfmR43ab5fORDqy6YmB/9ZCc/e/4gv/eVLbS9LYJKpQr8z289SjIZ5au/cwPxeJDe3nEGh1LTFMbtbdXsfv0Uk5N5dEMjFDS4ZuNcAoFffUHqUiyk6SxLNiDgXZuKhgoZHji9D0d6rKpsoj12jhlRArbrUHSdafUeKSXHUiPYnouqKdRXJxjJpwkFDdTz0l+HJgaZsC6tpVtK6Mn6uP2JUoFXhk5dkqMXQGe8iurgf0xr8xdhR/d285O/e55Q1GeZXL5h7nT6SQhBrCxMbLm/iA73TfDnv/UD0mNZJFAq2ISjJp2Lm6gLVnJN1QaGS8PMjs6mzEigoHBk32n++ms/ZrB7DD2g0Tqvnjs+v5FVm+ZT1VD+jqkuIQThaJDrPryG5evnsuPp/bz0yBs8dd8Onv3JTj77329ly11rLhtH/m4mpeRkZoR/OLaVnFNiS918rq7unDH2hlA5jeFy9k/0smfsDMvKm6ff74zVMDdew87R02wdOsbyima/0C0EsyJJvti5gT/e+zA7Rk7y0zN7uHvWWtqrKmgsj1MWDhIzA0yUMuePiLy1n6J9BMuYS8k+g6HWoSohsqXdRAKrCGiN5Kw3iZir8Lw8npdFVWKoSpyS6zBh5aYYYCWvDJ8gZRUIqNol76rPt8vC0Z8tlKhCmyqO2OSdHDHNV0cvugV6C2eYG11IUJ0ZmWTsDJ7mr3QRLTJjMQgGDcrLIhfc6MGg4WvGxoJUvI3ASVEEqqZg6CpliRCW5bJz9ynyeYtiwUIIQTwewrJdJibzJJMRzKB+WcDLLtUawwn+as3tUznAi98CjufxQNc+Dk0MEtMDfLBl8QUsfa+P9vDdgy8jhC807knJkUlfeKIqFKUsHCLcZGDo6nTBznJdvnNwG68Nd13yeM/unA5NDPKVVx+6pO8oCP50xY3c0rzgks/zn2FCCGYvaeaOz2+kc1ETC9e2+2kRLwciANj+aKfytTWNET70hTVkpnrSFAUa28MsvbIDLaBTGaikPdKGEExBkCXNndWs3jSXUDTI/FVttMyuJRILgbBBZjkrLC2lh5QZhIgi3tZNW1ET56ZPXsnVNy/l6N5ujh/oYfnVc6bJ1y53Zz9WyvKdw89xMjNMU7icz7RfeUHTXEQP0B6rYt9ED/smeii69nR6NaQZXFHVzq7RLnaOnGLCylMR8H2DEIIrq9rZUjefB7vf4Mddu1lT0cbRwRHOjE6ysLGGxvIL05+qEiWgzSIaWEfIWMRY7gFs16EsdCsgSBdfxvVSRANryJX2EQosYjz/EMnwRxgoePy/ex/xxc6lZKSUwfIcOqJV1ATff97+snD0g8V+3krv5crkRkwlyECxlycHfsq11TfRGu4g7+bYPvo8+yff4AO1t1EVqJ3mHXekTdbJENEiFN0i51cWPU/iOBfysniev29wXW8G0Rn4DVNni+mO4+F6Ho7tIoDycn/RmJjIkZrMUyxajI/nyGSKrFzRemEx9zI1RSiXQA8gMVWNkGZwbX0nq6uaZ2798XObffkUI8XsjNfrQjHualnCwL4Uo6NZVFWwYE49AMVsiSo3xJLy+vfPFy/9gqamqyhvY3J0HQ+75BAI6ogpitmfV4P2F23BsM5tn6lGMASeDUonVv7HaOYmXPsgilKBFlgNSHR9D5vvsNCDHwDpImWKUu5eNGMeAg1QUIWHXXgc2+0BQFPgw19yESKDbgq0QBtCCFz7BI71BkbobsBByhyl7PcJhD8FSgxQkd4YUhYAgXQHCAaPs2Sty+I1KkI8hV0sRzc3Apf3vZ1zLAquTdwI8fnO9cyO11zw3CsI5sfreEzZx1AhzaRdmHb0AlhW3kx5IMSkXeBMbnza0YMP1by7dQ37xnuoDsYxNZ3KaBhFCAxNJaBrCMcHMSjClwTU1WqEMJDYOO44npfDkyVcmcNyerHdfsrDd2A5/SAgbCzBkwXy1kHKjRWENYNTmREAAqpOW7SKz3dcTTLw/qm4LwtHH1DNaejkNVXXU2c2Mi+2iCcGHuSuxk/QEmrj7qbP88zQo9zfcy93NtxNrdmALnTCWoS4npiO5M9P/by68wTDIxfCkk6eGqZQsLj3vh0XFJIsy2V4JE0mU+Qv/vpnLFvcRFlZGM/zF4V0ukhdXYLJyTyeJ4lETWqqY4RDl2/hVXqTIPOg1ILMIN0z5/hvBQilGpRKwAbpp1RU4O7WTqoDknllNQSVAtIrgDAQmCAEzdEy/r/lN8zA4Z/tEK4PxHn4gF/0dhyPVLpAbXWcZ+97jVlZ+Ppv34UQAsdxmRhJ47kXFmM1XaWsMjqd/8ym89z750+w8fYVzFs+s15w/EAPj//rdj7ztRuJV/gR7Ht30P6yzMYp/RhFSWKXxgmEP4frdqG4PXhOF6g5pDcf6U3glHYglASecwjPHcCxduKUdgJFtMBVaMaVgIYWWIOUUxoM0kWx38QubkMofr3Fc4ewS6/g2odQtFm41j6kTOGUXgVZRCgxjODtONYurMLjKFoTurkJKTN4Tg96cAs+bDDCxaQfLzdrCpfzp0tv49BkP1dUdVxUWUwIwdrKVv5k8c20RiopN8Iz3muPVvEni28hGYjQGq284LstkSR/uvR2qoMxEnoIWaswnM4SNQMoQlATjPPlOZtQhCBpRrCcowT12bheAcvtoyr6WUAlZ+0hoNVTEb4LUNGUHKbeAShEA+vwvZjCHy28keFimqMpn9qi0owS0gLsGTtDfSjxvnpaxHuxvP0yTEopu/OneLD3Pm6tv4u2cCe2tHlq4GEm7Qnuavw1TCVIwS3wxMCDDJeG+FjTZwiqIY5njuBImxqzjpyTpS7YyEh/gW988xEy2Xfih/BTReISbuAtmxewZsUsWloqmZzM4zoujY0V5HIlCgWLru5RqipjtLQkL9vtrXS6cXP/imJeA9LFLT6FUGvwNe4yCHUWSujjSGs3bvGJmd9FzkiHKcZyFPPm9/ytrudxunuUXN5CCGhtrsTQFP7Xb/0bnUua+NAXrkEIwWDPGH/z9Z+QnpiJo7eKNsm6BL//7Y+TSEaRUrL7xcN8+/fuY+21C0jW+TwjQsC66xfx6jMHeOIHr3DF9YvQA/p0AXHhmnZWbpyL+NVdHCllkWLm2+jmTdiFR1G0WViFB1C1Tjx3ACGiBCK/DrgUM3+Fqs9HemnM6G8jvXE/Co98DqHWIERsxtxL6WAXHsJ1ujBCd6KofhHRc3qxCg/i2kcJRD6LUJJImaWU/R6B8KcRShxFrQYExcx30M1NqPpSrPy/I5QEurnlsrqfz6Z3wacOGS72U23Wo0wV9s/msnNOGkc6SCSudLG8EiW3gIdHU6gNXTFI2xMgIW74nfJpewJPeiSmeLbO94m2tLC8mdBfTegElLNYe/8efPtcnRUQOX/bOl3fkvIi/5/F4888Tt6xeGX4hJ/CmfqdAVXDk5LbmpZMH/q95u+yiOiFEDSFZrE4sYxtI8/REGwioJisr9zMD7rv4UDqTVaWrSOoBbm+5hZ+eOb7bB15llXlV/BWei+a0DmZPUZIC9McnkVdbYJvfuOOC/RfPWlhuyO4Xoqic5KQsRCBjq5WoYiLF1LD4cAUcucczl4IQSwWJBo1qZrqnL2cHooLTG1ADX8S6XYDFkKtxXfyDqj1MMURL4zFaPps8DJIt3fmMZQKhFqFh0bJK+JJj4yTnoa4ChQmrDEKbh5VaCQDlSiVaVoD1YTVCI7lkBrLMtw/wdU3L8Uq2ghFUJaM8umv3YRzXgotmyrww796mqq6MoJTc55LF3jqhztom9/A+Eia3S8dZt2WhQSCBqMDk+x+4RBL1nUw0j/JyUN9XH3TEsyggXa51U6EihG8Fc/txwjeimO9jqJWo+qLkd4EqjYXI3gbVv4BnNJreN4ArtuFXdqKotaiBzbhyRJIv/9DyiJO6TWM8N0IEUZ6IyCCKFoDWmC9L+Wo1uFYu5DuKNIbw7V2o6gNKGodfrSu4LsCD885gVDLsYtPAB6qNg9Fa/uV39+T9jh7J1/F8WxybobhYj+VZi0hNYwqNGaFZ9MYamXv5E76i93EtDJS9jjVZj1ZJ01loIbGYCuedDmRPQQS2iJzSdkTnModxvZsZkcXEdPLyLtZTmQPIhCE1Ahn8ifIuzkqjGoA6oPNLIivQBHKOyKS/Pl6d0GSS/msqeoENYPu3Dgl1yFhBJkTr6Em+P4aFy8LRw9+3nh52Rq6cqeYsMapMWsJaWHWV24m7+amNjMKES3GpqoP8FDffdQFG7E9B1MPYXklBD5rnakb1NZcWLDIW4cp2Cf9SF6UAwNI6RDUVULGhcyB59tZiGUuX2JoOE1FeYRY1CSdKZLOFGhurPiVPwwXMykl0noN6aVQzGuQ1i4QEcACoU2lYQzABekgnTNIbxiv8Iifx/XSoMQRaiNK4Cpyns6BTN9Ul6HlI3fUMEE1RE++i5STQhMaSxMreCu1j9ZIB81eO//8zScY7Bmj98QwP73nJZ79911U1if49Fdvom1+w/R4S0WLB/7+BYLhAHf9xmYMU8fzPLY+9iYj/RN89bufQNUU/vwr/8aSK2ez9toFPHrvywhF8Kmv3YRdcvirP7ifxWs7WL5hzuV3TaSL63YhvTE85zTSG8LDQXojeN4oQgnjeaO+I9YacPK78ZxTSHcAxVgOSOzC43jOGf9w2LjOYaz8AwjhpyJUYzlaYDWufQC3tBNHm4fnjiDdQQKRz+HZJ7CtHWjmxrcNTqCbm/G8UUDg2keQsoCh/WIx3T+PRbQoc6NLGLWGOJTew6bqWzmQ2k2ZnqQ8UEWN2TAdlXfnj1MbbGTcGiahV9Bf6CYZqKbg5pkojrBvcicKCkIoFNwco6UhHOnQWzhNA5Iyo5KSW0AIhaWJdWhCp+jlWV52JeD7qrO73Ekrx/6JbtYkO2dwNp3JjXIqO8RVVXMvSCNJKdkzcZqQajAnVj/jHj2RGWTcyrKqot3/LJKcU5rWiVCFwkBhko5Y1fsqkl8Wjt7xbCbscVzpsKHqWoQQTNjjvDL6Eusrr8WVLmk7haEYBNUQ5UYF6yo2ENcTJANJdCVAQElOF2elfJsq+9RkqIrPAS2x8TwLU2/DdgZntCSftbOO/Sxix7ZdHnt6H+MTOcoSYQYGJ6d5cBYvuLAr7nIyoc3BK9yPV3oFr/QSQoSQ7hCIEFIMgyxOOREdr/g4Ql+I0GYh1HqkO+D/9YbxSi/j0kRvYQQFhaLr6wboikZHZA6aolNyi2hahK7cKQaK/bRGOjBMnZXXzGP3C4eYHMuy+c5V9JwY4uje7hnbZMd2eOxftrN3+zG+8I3bpykBpISG1io+8Qc3Ut9aBUg237mSzGQOz/OorE3wwc9tJFYWppArcf1H1yCmhNwvH0d/VgvUwi3tAmHi2AdB5pDSwnVOoKotSC+LlX+QQPgTKGojQomjGWtAhFDUJhAhjNCHObsLk7JAMf0XBCJfQFHPqk2puPY+POc0qrEU3bzGTwHl/hlFbcS13sAwrwf0qeNIPPcMQilHC6yZHrGNhqR42czhmfwJbGkTVMOUGUlCaoSgFuZoej8JvRxHOryVep2OyHxO547RGp6Dh0tndCGDxV5OKUdYFF/FovhKJJLZ0YVknTSe9HCkRXtkHmVGEkMJUG5UTdGXRBmzhkkGqsg6fr0vosVQp9gwR0sZHu59nSXlsyi4FodSvbjSY8foMcZLWVTh608FVYP5iUZMVceVHs8PHmBxooU5sfrpZ0ACh1N9HM8MsKLcX1wzdpGdI6cZK+VojpSzdegY7dFKQlqAKyovfQG+LBz9mDXKD7r/EduzkICpmnyg9g76i72cyh7jueEnESjMCrcxOzqfbaPP0xmZy6xw21Se/iiNoWZUoRJQAnie5JXXTjA4lGLL5vnEYz76wlDrMEI1nNsmCTA8wOfCOAsBVFWFk6dHeOypfdRUxVgwv4GWxgpyeYuNV81B0xR2veFH971941y7cf5l8zC83YQQoJajhj4F3ihe8TlQE+CN+pA+EURKy9d3FRrgp1Ckcxq8FNIbB28SlHIQPpwvrifIOVkSRjlM5UJVoVFj1tKdP03SqGRWpJ3+Yi8dkdkEVZO1WxZycPcpFqxqZcuH1/DCT1+n7/QIxnm9B/lMiVee3s/1H11D2/yG6TlVFMGite0M9Y7z2jMHcF2PYCiAVbJ57N7tZFJ5JobTPP/gbjKTeQq5Es2za+lc0kQ0fnkgb6SXwi4+BQj04E3I/I8xQh/CtY/guUNoxir8IutVFDP/G8/twbX2oerzkDKHqs/DKjxCIHw3QpjnHxiEihCBGa+r+jJAxSm9ihA6KFVo+lIKqT9GM5ajGssBD6e03d8xyAyq1nH+iH0nz+XR9TphjeLisSSxhl3jWzmRPUTOzdAYbCWhVzBcGqA1PIc50UV05Y/Tkz+FLvRp+vKEXkFreA4SSckr0Zs/TUiNsHt8G8lADYZi8NTAv3NdzQepCzadd2ZJUA3RVzjDULGPMWuY1eXXMCvcSdouMFbKUHQtRotpX5pw9BijpQyHUr3UBBPcc+I5FiaaCGkB2qM1qLOGhJ0AACAASURBVEJh3MoyVEwT1gKknQKG0Hhx6CA9+TGOZwYYK2W558TzRPUgN9UvZV1VGwP5FAXXZlPtHKSERYn69zV/l4Wj96RLjVlHfbARx3MYKg3iTSkalbwSs8IdtIbbOZJ5i5yb5arkNXRG55GyJwipYebFFlJmlHEqewJp+vDJl14+wpv7z7BmZSuxaJCTp0cYGr4QgVNTHaO1pRIp4ZEn9jI+nuXjH1nLwcN9vLj1MIWCTSxm8ju/eR3xWJDtrx0nEQsxNJxi1fJZtLYkOdU1zLLFzb8UZ+93Wlo4tkMoavoQUsvFcVzCkcA0ZNRzPUIRc0pQWiDtg0i3B0WfjXSHptEZIBFah5+39yamzyO0FoRaB+4AQm3wc79TlnUyeNJjpDREUPXTZo608TyPuJ7AxWW4OEhcTzBmjdIYaiafLXDqUB/X3rkKocBA9yiVtQlymSLDff55M6k8pYJFMVei9+QwAJF4kETSV/KZGM7w7AO+3ONZ3pW+rlHymQIbbltO+4IGyqvjVNYlKK+KE74E+t9fjgkUtRlVn4+iVmEXHkMo5QilCtUI4WT+Btfai6LWYpdexIz+DtKbAKGjGStxrNfRjNXYpeeR3jhCrfNTct64/zmZv8g5LTx3CJBIWcC19uHYb6LqS5BeCqf4ElpgDUIYmNGvoGgtgDmFtU+DzOPax6eglb96SwZ8uOSYNUxDcBZDpT5Wla8npEXIuRlmRxeioLIwvhLLsxgtDRLTE4DAkRazwp3E9TKOZPZxPPMWzeEOOqILKLg5TDVEMlBDyStRbiSnz2l7JfJujjUV10y/tmPsOYQAD8nTA3t5YfAgXblh/uHEc9zasAJD0QhrAW5pWMHG6vncc+J5OmN19OfH0RSVI+k+7jn+PEcz/eScImq3wkdbriBuhCi6NoOFCfKORWUgRlgLoAmV1clZCAS256IpCjtHTjNUTBMz3l085ny7LBw9gK4YhNQIjmKjWAr9hV4czy84RbQoyUAVqfEUCgq2Z9GVO4lA4EiHcWuMZjmLCXsMKb1pXdLz7bEn9/LkMwemiicC/wGAm29YzJe/uAkh4MSpYQ4d7ue2m5dx9RWzmTenjtf3dHHvD3dw8HA/tTVxHMfj8LEBQkGDoycGcWyP2ZcoHPGLsOH+SXY8exDD1AmGDRRFofv4EMmaGMFwgGy6SC5dIBQ1qa5LsHrjXMDBK21FMTcgvQlk6VWEsQwhInilFxBGOZwXDQq1CemcQLq+s5XuAIq+CM85xx5aY9YxWOynwqj0ayhSUnALxPUEjucwao2wLLGSnnw3tWY9/adHyKULdC5qwiranD7cz/L1c3jlyX0885OdgI+FH+ge5eF/2sZzD/riJVfduIQ7v7QJgNlLmvja33ySs5dQCMHD/7SVo29285HfvPY9Ba5/dWYQCH8ahImUaYRSgW5ei6+nG8MI3YnnjeB5g+jmZjRjLWdTKkgbVWtDKGGM4AcBBcdz6ctPkM09TIXaTcpJUvKy6KpHZ7QaVVGmagDH0ALr8Jw+XOcoRvAOFK0V6Q1jF1/CcwfRAmtnjFRKG7vwFJ7bh6LWomqzL/J7fvlmexY7x16izKggqIZpCLYwWOhFQWXv5GssS1xBjdkwxYR7ElMJIaei8ROZUyyMrUQIQVtkLnk3hypUdMVgTmwJzw89wt7JnVyZvJaAEmTCGmWw2MO4NUK5UUl7ZP5UClHiSRddGD7vVe0SWsKV3HtqK59v34ymqNx7ahuOdNlcswjLc5gXb+Ce489xbe0iBNAWqebG+mXQD1/quI4fd+8ACVdU+fNsqCrH0gPc0bQK8Ll7HuvdR8YuYigqrvToz6cI6wE63mW+3m6XjaM/3wpunt3jOwioM3PtY9Ywuyd2IKVk3BplbcV6PCQpexJPumSdzDsc0W+OCpoG122aTyiok82VePbFQ9PpGiEE0YhJsWRTKtlUJqOUJUIYhsYDD79ONlsklTboaKsmYGiYpk55WZj62gT5wn9cAeZSTdUUKmvjWJbDkb1nqG2qYM7iRhauauUn92ylVLS56voF1DUn+em/bGfp2nZ07STIPEKbg5AFMNO4hUf93621oASuPoficAeQzhGE2jTjvNKbQDpHCJlzWVexiIgWAVYggJJXnCqEO1ONbBqe9Cg3KojoMQSC4/t7UDWVQMhgsGeckf4JOhY3UVVfxqJ1fuEpmyrwt//9Aa67azVLr+oEmE699Jwcmo78z7dTB/vIZYrsf/XEBcAFRQha5tROy+H9qkwIAeJsCimOHrx1xnuK1oFy3mPrL1ZTIuroUzl5bXoRO5UZ4tGefaStSlYkV3AkNUhPbhf1oQRfnnsNYSWAUOoIRL48fUxDa2UavqfUYoQ++g6j1TFCd+FP5n/+ollybQquRVA1SNt5Ks04Y6UMEslwMUVEM6kLljNY7CWsRYloccZKw9QFm6kIVLF7fCttkbn0FbqI6+XsGHuWlnAHZXoF20efoeQVmRNdPNVxbyEQlNwCYS1KwclzJncCD4+AYjJY7KXcqCTjpGgJz+aqyhuITdGLF90CRbdAxp4kqIb8DnkjREUgiqHomKrOD05vY6yUIRmI8vLwYQBs6WKoGkfS/eweO8nVVXMpeTbt0RpaphSqLM/hkZ7duHgcmDjDUDHFQz1+8FNnluN6HgqC09lRXE+yoKyOlRXN72ueL0tHH1YjXF97K7vGtk+/JoHWcCe31N2JQPD4wIMIoTAnMoe0naIx1MzRzKF3PW48HuQjH1pFsiLC4FCKna+fnvF+LGpSshyKpXMSf0L4D4eqKVSU+0VYgGLJpvvMGMMjaVa8C4/9L9KklBx/q4/URJ6ahjIc2/WRQNkixbw1jTPOZUoUciUUxRelQBZQgjcgvVG8wkMgwmjhz4BShnSO4BUfRzGuQGjNCLV+Krq/cFcklBp0JUGdMTM/GOWdHWm5UYGUkgWrWnlj2xH+4RsPUV4dp6wySsOsSsKxIGVTugCp8SwBUydZm6C5s/bc7/Yke7Yd5eW3sY7alkPPiSGkJ/nu1/+dipr4DMy/qqt87CvX/cod/fl2sR3Hu+1C/PdmQn8VBPWhxBTPul8M9x2YcwFG+7wjvY/z/fIgqYfSvewdP83qZAcnMoNcXTWPpwf2knOK7J3ooj5Yxpc6rqciUE1FoArbs5iwRjic3gMSWsLtdEYX4kmPvJulMdSGKjR6CqdZl9xMTC+jv3CGA6nXmR9bBkDWSdMWmUt3/hg5N8M1VTcTUIIcz7xFV+44C+IrECExfS/Zns2+ydeYtMepMuuJ6z7+XuJz0medAi8MvsW1NYuI6SFSdp5l5X5Dn+U59ObH+Hz7Ztoi1XhScjwzyKJEEzmnRNG1iegmR9P9jJYybBs+TMlziOpBGkMVRLQgjnTxkIRUg2Q4QsoqkHMs4v8VUzeDxf7pyNzyLBYpyzkLUj2Q2sPp3HHCaoTd4zswFIOrkpsIaxEMxaAqUIOmaLSEW9EUHe/n1EGIRk1fW/MiEbquqWzZtIBcvsTAYIrKZJRwKECxZE/lwX85VttYzsCZMUYGUnQsaMAqOfScGiGTKrB4dRtH9p7hxKE+ek+PsGrDHHRDA842VkjUyH/Ddxw+BljqiwCHsxGcGvltEBdXO5LmJn4eJyCEoHl2LV/+5l386K+f4Zkfv8YNH1uHbmiXhowRcN1dq9lwy7JzYwH2bj/Kfd95hhUb53Js3xm++Cd3UFmXmPG9UPhyydP/x+wsVbEAkmaEpeVNjJdyxI0gUd2kJhgjqBrT2qjvZmeFXC4HOmdPeqhC4URmkNPZYTqjfj7b8hx0oWJ7vpOLaGf5eiRXJzfhWjsAgZBjKM5+VAyiznEiagGJQmu8Gc2YgxA61YF6PPyoGOCaqlsYH8ww9pbKrM559HVnGB3sZXLMYvU1cxFxMSNg0ITG8rKrAOmjaISC7blsGz7EswMH6MuPk3WKtEdreHOii5SVo7/g7z7PCpZHNZOIbpK1iwwUJliX7OR0dpiwFmBxopnl5a08M7CP3vwYBdeiPVrDJ1vXA/DS4DFsz6UuGCfjlDg42c+h1ABrkrP+a8ErI1qMudGF0x1opmoS0SIoKDSEmrkquQkPjwrDh1C+PPoCp3InuL3+I5iqv6pJKUkaPrzM4/15estysB0PXVNxXcnYeJZsrgRSMjAwSankoCiCTLbIcy8eorw8wpHjg4RDBlet7fi5WCsd12MyU0AIX9Dcdjxs20FRFGLhAIWSjetJQgGdgKFN7yyaO6ppaK30o3Uh2PbUfjoXNtC5oB5FVRjsGWf+8hbqW5Jk3RL9hdT0OQUQ14OE9fNpgmFGxCjeGaUyA+3xPk0IQTgWxAhoJOvK2PPyUeIVEW79zNXvqZkqhCAYDkw3T0kp6T05zNM/eo2VG+dy129s5t7/9QQP/uML3P27N1B3mXUpSynpPtRHdUuSYNiklLdwHBdFFaiqgqZrPj/PO4xZSsn+0UF2DvTykdkLiRtB4ufpnM6Ln7f7AfK2TX8ujeW6zCmvnOHQ87bF/UcP0BCJsbm5DUUoeFLieO47KAL4pgkF9R0kB/8j5nguWafI2uRsDEWjOhin2kwQUDUsz6HMiGAq5+5PIXxOHll4FISKFAGkUosa2IB0e6Zgw0EUrYmzQYkQAvW8AMUpOOx88QiZyTyDPZN+Kng4TbFgsWDFLETdhQ1Nbxd3kUhGSxlmRSpJ23k+1nIlMT2INoWxdzx3ilZYoolztSNT1dlSu5gHzryGKyXX1MzHUDQmrRx7x7tZUtbCaCnDeCnL8fQALZEqck6JumCCN8fPEFQNqswozeELqYzfzS4LRy8KOtXd8yhORdJCwEiwxJpZ68mdljSE5+A6HmdODtPUluSG+J1kzXEM5VwO/2IPSbFg8+iTe4nHQxw/OUw6XeDBR94gHDLIZItkMgWkhKeffYunnn2LTLZIyXK4519e5v4HdgOS8YkchaJFKBTgxW1HSGUKuJ5HvmBz5NgAiiLYcOXsd9TdvJhJKTnZO8qZwQlGJ3OsXtDMZKbAvuN9tNZVkIgGefH149iuR0djJfPLYrz84E4CoQA3fnYjifNSESuumo2mq6iafyNfuWUBZtCXenu+9yiTVp6IFiDvWIyVclxd08HK5PvL7/085jouI33jVNaXo2oqju3w/IO72f3iYb74jduxLYcf/uXPqG2uYP0ty/zrJ99JfsQ3KSXZVJ49Lx/j0X/eRlV9Gbf/+gZi5WHu/r0b+PHfPMt3vno/1921mhUb5hKviFwWDl96km0/3cV1d19FMGzys3/dStehPkKxIKqmEEmE2HjXWpJ1M8Xrz8dXZ6wS/3JoD4sqa1hdc67BzPY8joyPMFEqMJzP0ZWe4NDYMCcnx2kvq+Av13+AeODcQqoIhe70JPcd2UddJMb8iip6Mim+u/dV8rbNxUwIuK1tHtc2t/9i5uO89FK1mWB2rJ6jmT6Gi2l6c2PMTzSStvNk7AJB1S985tIFXNclEDDQdQ8pCwgRB2kjvaGpTm4FRZ/vE7W5/dPn8zyPUsHGKlpE4iEMUyMyFXS4jofneWRTBfSARi5TxPM8BrtHicRDRBPhGapbZ00XKnc2reFUdpjDqf7p+2xRWRNBzUAVCo/2vs5tjavYUD2PZMDfkWiKyjU1Cyi4Ft89+jRXVM6m5Nk82f8mDaFyYkaQgmuxsqKNh3p28RudW9hSN5+0XcRxJUO5PGEtwu7BPtbUqFSHLo3g7LJw9JqmMjGaYaBnHFVVUBRBdX0Z7R3tPPLcDsqSEVzHIz2Zp797lNUb59LW3vmexy0WbZ742X4UIShZDq4reeTxN30uECkpFv0bWwiBovi0xecLlQgENdVxNl49hxuuXUAub7Hz9VNEo0HaW6sZGcswNpZjcChNLBGkZPmRv6ooWI5LyNQpWQ5SQixsok2leKSE7oFxMvkSIxNZJjJ5pJQMjqZprE4QDhoYuobtWpTHQvSdHOSB7z5NrDzC1XesmuHow28jZTsfN64KQUQLEFA1urJjVJoRolOCKCO9Yzzzb9uxSxd/uN/JmubUcfUHV6NpF0/hSCmxLYetD+zkp3/7M+7++u2s2LyQp+9/jUf/eRu3f24DS6+a7V/jhgrKKqOcOTZI7+kRJkczpMayBIIzd0iO7XLyYC/7XjnO61uPUMgVWX/LMq67czXRMr8wVpaM8umv3sSrz7zFz+5/jad/9BoL17Rx9U1LaZlT+yt3+K7jTju4fKbANR9ZS+PsOpySw66f7WPftsNc8+F1M8Z5ZGKUew7sxnJd8o7NZKnIN3e9RFPUT0+tqK7n+pYO/uiVZ8iUSlSFwiQCJq3xcm5tm8v8imrC+kyyPVPT+MKilewfHeTv9+/iW1duQVdUasNRio7D263oOjx9+hgLK2q49ueID842HloFi8mRDD3HBzj1Vi9X37aCutYqmsOVNIUrcaWLlH46yUMipWRtcrZfdyp6/J+v/YhTB3u57qPruOXXO1CMpf4JvHGkdKZ6PFwUYxmevQ/kufTrgVeOcf+3nySXKfDFb36EuStb6VhQ79NuCCivjDFvaTOlkkNVXYLB7lG+9ev3IITgo79/I6u3LLoobcHb9THSdoFnBvazoryNzlgt24ePsCjRxL2nttIcqWR1RQcCSNt59oyf5sb6pRyY7CbnFDmeGeR3597Iq6O+ZOrKinb2TnTz4+5X+Fz7JqrNKK/0n+GBEweoCUUpN4OsrG7gUu2ycPRCEWi6ilWyiZWFyaULmGEDXVeJxkOUJaP0dY0SjpqkJnLTkmgXM8/zo/B0ukAkavKVL22mujLK/Q/s4sSpEb78xU3E40HGx3P87T++gBCwZfN8Nm2Yi+24OI5HwNBQFH9xKBZ9BI6uq2RzJV8QuWCRy5Wor00wqKTo7Z8g3TfM/pP9xMMmYdPgYNcQW1bNJpMvIQSsmttM+VTjlhAwq66CkcksRcshGQ8zNJ7hhnXzyBZKfg5VQK5Q+g8DH3pyE4yVspiq7qs1TR1wtH+CB77zFMV8iUg8dNGo5Xw7i29fd9Myrrx1BVzE0UspyU7keOx7L/DQd5+mkC1yYPsRFl45m4HuUT74hY1s/tAqNE1FSjnlgOHAzpM8++87sSyHxVd0UNdaRSFvETA1FEXBthxe/OkbjAxMsuHWZSy7ajZVDWUzdlFCCMxQgA23LmPplZ3sefkorz5zgK6jA7TMrv1lAEje1TzXIzORI1lngxAEI+Y0y2brwiaOvXn6gu/oikJZIEjGKlEWMPlQhy9oXXIdBIKIbvjiJI7Dp+cv44OdCzBVDV1RLnBMrufxs+7jxAMma2sb+Y3Fq9nW10XJdaiLRPm95VdedNyTxQL7Rgbe+/d5HlbR9mtc2RLZyTxjg5MMnRml59gAXYf7GOwaZXw4het4GAGN27907RRYQJId80V8wrHgBYpjea9I38lhTh3oYWxjCqHWo+iLEdosPGsPAguh1iO8LNLtARFBKOci3brWKrKTeY7v6+bJf9lK+6ImGt4mOBRL+M+m67j88PsvcmJfN4nK2Iyg6nzzkX9ZunIjeHgUnBI/6n6FoGowN17PyewQHpIqM8Ydjav4Ydd26oJlJPQw3z/xIqaq89m2a3Cky4uDB/m11qsoN86N2VR1PtZyBfsmuqef2fZ4BbPLKokbJiFNn661XIpdFo5+fCRNNl3AMHVy6QKxsjBjQ2lGh9KMj6TJZ4s4joco+oXPnpMjJMov3LI4jstzLx3m4cf2cOLUMNGoyez2ahobynnm+YMEAhPMnV07jboxDP/nG4ZGICB4Yethnn/pMF/87AYa6svY9soxfvbcW/z+b20hEQ/x8qvH6TozSjwWxLJcdu85zS0fWEJ1VYxXDnbhuh65okUwoBPQNWzHpWg5qFPt+GdNCEFdZZxoOEB9ZZxw0KC9sZJEJEi2UKJkOdx81Xw8TxIM6Bw+PfZzzasEOmJVrDNb8aTkVGZ0xjgAKuvL+d2/+yzRsnffAr70wGv85K+evPh5pN+T0Husn3/7s0fY8fgbANzwqQ18+PduIhIP8ck/uBHdOJdi6u8d5/jRQWpqE5QUwX/7s7voPTNGoWDz9JP70DSVLTctoaY2gRky+MTvf8AXhDH190SNJJJRNt62nCuuX4SiKu+5iP0yrJAt8tg/PEe8Mkb/ySFWXrdo+r3qpiRm5EK+97Z4OXd2LuB7b73OFxatoi4Sw5OSHxx6k/FSgZvb5jBZ9BlaQ7pBzHhnznhXSu4/sp/WRDkrqxuoi0T5QEsnXekJutIXwlYB6iIxgpeoZjTaP8k//Y8H6T89TD5dIJsqUMgVsUsO3hSEWVEVIvEQ1U0VKJqK6/mF2N7jg/zjH/+EUMTk4394M42dF3LJT8+jYzNZtBnPd2BoBnlrOQ3xBCHNQNXmc25F9wD/uUvWlnHd3Vdw6lAvb7xwkK7DfXQsufj25OSBHp770Q6EIrju41fQttCnN7kYy+/eiS6eGdjHmmQHQS3A/HgjKyvaODjZw9P9e1ld0UFIDbCorBlbugQUnQkrh6nqfLh5PRHNBAG3NKyY1lCOaCblU3zz5UaEjdXnMPxyqpYSN0xqw9H3VUy/LBy9buh4rkcwaBCrC9PYWsnBPV2EoyaVNQmCEYOhvgnskkM4GmRiLHvR4xRLDo8/6fPRxKLBGdz0l2JDw2n2H+ydxsUnEiFOnBrm2IkhrlrXybw5dXhS0n1mjMpkhJrqGDt2nuTKtR2smtvEmvnNZAsWpq6RyhdJhE1yRQtFCIJvK9iGTJ38WJbSSIqzJKijFxlTCRjqHgEpcW2X7sN9FHLvRL98zipqEuhCoS+fYsLK43guabtIzpmJKFJ1lcr6cuLJd5fci5aFLxoUSylJjWbY+uBOHrvneXqPD1JWFeeO39zCBz6zkVDUnIq2jRnfsW0XXVcZHUlz7PAA2UyJppYkuVyJgd4JNF0lNZGjpjaBEIJQ1GRkOM3hV0+8eyJfQE1dgvaOGgLBy0cjoKK2jDU3LvXZNvsmqGpMUipYaLpKvDJKvDJ60fRAzAhwaGyY14f6uDUSI2uXeKrrGGtqm9DPk1T0C6oXghAEF6JrSq7D9w68wY7+biRQZp5LV5Ych8lSgWQwzGcXrOCGlktry9F0lTPHBug+3Ieqq5ihALGyMJMjGTzXY831i7nmrjXUt1VRWV9OOBZEURWkJ9m3/SiHd58klyrQc3yQT//x7SzbOG86KDjfxnJ5Hj9ylPFCgYCqoqsqm9tMmstMHMvh2ftfZaBr+ILvpUaz6IbG5Eiae///h2lbdBF+KgmHdp1kuG8cMxRgfHCSH3zrkQs+ZgR0rvvYFVxdP5e1yU4Cio4iBJtrFgKwOtnBsvJWDFXzkT4CVk5x10jgCx2bZxRoz5fGXJPsnOa5efv9UBuOsbammepQhJZo2X89Rz85lqGuOcnhN7uJl4fZ88pxahvLSU/mcRwXMxigoipOojzMQM/4dCT+djN0lQ9cv4jWliT3/2QX+w72XMQnyIuuzm83IQRtsyqpKI+w90APG66aQ2N9OZ4nWTC3ntrqOLquksv76ZxoxHdoZdEpZfl4GNfzqIiHsW33oiRbj3//BR6/5/n3HItju7iOv/X/31/8Hor63hf4zt/+AJt/cyMlzyFt+eRjhqKiCGXG7x/tG+fPPvV3qO9B5ztxnmYunHPwe7ce4sl/eomDrx1DepJ5q9v5ta/fzsIr57wrRXAuW6L71AitHdW0z65FUQRVNXEOHejBshxc1yOVmqkrW8hb9PWMv+s4SyWbl549yJf/4AbKLrLr+1WYUATz13Yy1j/B8s0LqZ3lo8N2PrWXUDTIwitnXzSCLTkOw/kclcEwT3cdpzYcpSs9SU8mxc1tYYbz2Wke9p+eOHjRFMv8iio+MmfRjNdMTeMPV17Ft3ZJSq7D11etn37vjeF+/uL1l/nTK65lbnnl9L3iSR+NdrJ7hM7WarJTqcuz446Vhfnwb99AqWBRUZsgXh5BSslf/MY/032kn6Xr53L1bSsunBtVcO1H1xGMmPzwzx/j1Fs9/OVv3csnvn4b19y5egYXEkBQ18lZls9NJSXC86YDOsdxeenBXex7+ci7Xo83XjjIGy8cfNfPFHMlnrlvx0XfC0VNlm+cT1VjBYN9Kd58owt9ipJD1RRUVSESMZnVWkl5xZS86dTl9Rfed3a7pqqDenEU3+6hHrYPdFNu+uieG1vmUG5eGpfTZeHoZ3X6RGMNs5IU8hbzljVTURnDdT3MoEE0HkR6knAsyMjAJJHYxRsFdF3l+s0LcF0PRRXk8xY/vP9VIhGTtw73MzGZ45/+dTtmUCeft0ilLsYRcs4S8RAtzRUcOz5ELl8iGjGprY7z+NP7aG6qoLd/Ajnl/IQimN1Rw7zZdQB094xx7MQQa1e1cf+DO6mtTtBQX0ZNdZyaqhhIP++dncyjGSrhWOid4XVnHazwI/B3wu1LKcml8ji2i1W0OZYaor+QwvJcNKHgIVleMbPjVdM1aloqMcx3h4h6nsdQz7k9x/6Xj/Cvf/oQx/d2USpYVNaVs+WTV3P9J9aTrC97z+JnOpVHKIL9b3Yze24dxaJN75kxqmridJ8eRVEEycrojMWxqSWJEVjAscP9F12sG5uT1NaV8Q9//Sy25V7w/q/Kzm69H//eCxzaeWL69dG+cfSAztzV7VP9DjNtrJjnW7u30ZWewPU8XunvJqCqCAT37N9NQFVZX+835pwt1kok+0cG8ZAsTtaSs+0LdkAKgqpQmKhhMJLKcmLyXGqwL5tGEYLacJR4wGSy6C+2h48P8PRJvwYWjwbp6hmjriYxzceuGRrrb1854zyTI2lU7b3RaIGgwcYPrqK2Jcn3v/Egh3ad5Pt/8gD5dIEbP7N+xmeDuk57RQWelLjSo3tikrKg7w9UTWXFlCD6O1k+U+D15w/i2C5L18+lbIqB1rYc3nzpEKmxLPNWt1HfXm/+MwAAIABJREFUWv2OxzBMfXoH3HNmjFLJprk56adWHH/hGR3NcPRIP3d9dO0vTE/aUDUs12Ewl/F7Kv6rRfRnt2jJ6pnSWJquUts486JV15e943F8rDm4U8+4ZbnseqMLVRVkcyUc2+XVXSdRFAXP896TukDXVTraqjl4uJ+xsSyRcICTp0cYGcsghCBXsCgWbYSAcCjAoSMD/F/q3jM8jvO6+/5N216wWPQOAgRIsFexikUUJVGSVWyr0b3FjhPHsh0/epIncXzFieM4jnuJbLnIsmRLtmR1iiqkKFLsvZPovWN7m5253w8DAgQBSpTyxmbOF1zYnd2ZvWfmzH2f8y8N9SWYpuDgkVaECb/+7W5k2bLM+90f9rF+zUz8vukTSjn1i6bxl9/8ALbLlBoOvnqCn/7dY7j9Lv72wU9RVJU/5XaZZIYffPHXnB5NJsPpBE3RAWRJxiYrFDi8VLhzJ1wguUV+Pv3vm8cu+MvFMw++SuORtrH/FVWm41wPbp+L6+5ZyaaPrqV6djmKOrkROFXMXVDF3IVVdHcMo+tZ7A4Nm00jHktRXBJAUWU07RLsshDEIim6O0cQQqAoMslkBofDhiRBINeDrEisXFuP9zKTgT9XyLJEVUMZS2+cN/aaaZhsf2IPQ90jU57TfKebb6y+Ad00GE4l+dsdW7i7fjYbKy30RtDpIp01kJDYPGMe76ubjWEKvvzGFnTT4FvX3oRdUZElCf0yLMJzI0P89MSBsf/D6dSU25aXBNCGFBKJDLv2NeJ02hgcjpEbcI+hyf5b46PIzFxSwxd/+FEe+srv2f3iUX7z78+Sk+9l2UVjlspmcdk02kNhSr1e6vPzsI1aRqqawp2f3TgGCmg+0Ynb56RmbsXYA6m7uZ8zB1pIxFK8/3M3MHu5VZqKhRP84z3fJzwU4/p7V7DxvpVj+xRCcGpvE5IsUTu3AptDG/MsliSJ6uoC5i2oRNcNdmw/zZKl07DN1Xj6yQNks8aUiV4IE92MoY02jTNmBJvsQ5pCu143o6iyE6dq3Q8FrnH03JXGVZHopwohBJFIklAoQXl5cEwXHixt+JaWAUpLA7jfwpDb53Xwf+6/iaIiP798ZCdnz/fxwBduIsfvYnA4xje/swUBDA7F6B+I0NcfwTBMmlsGyGatp4WsyCQSGbp6Rigq9LP1tRMsX1pD30CUjvPDZHQLAeGwq0yrtpa6A4NRjp3oZHZDKcdOdrBkYTUnz3SjqApnG3sJR5K89z2Lxo7T4XZQNr0Yx2V+S9vpLpAkFFWhuLqA8ovkAS6OVDyNwzX+HZosk8zqKJJMkgxu1T6pbxEPJ9j+xB5c3rcmLZ3e1zi+sgCmL6jmE1+7m8qZpUybUzGloJilsCgmGXlLkoR7tPk4fUbx2LaGMEe1ciZub442olKJDNtfOUk8lsLnd3HH3Ut5/o+HuH7TXI4faePYoTaOHmrF43HQMPvKoWd/iqiYUUpeaS5FVflj4ySEwOlx4HBbqqOXrtQypmGZTyvKKJLGMp64kNgyhsUaBet1TVaQMa3yABKq/PYkpxUlFfzLyuvH/t/b28E/79k2abuOrhEKhIbDoaGqMmfO95LJGKxZUUdV+Tsj71wuJEmiuCqfv/zGfag2lYHOYapmTpTbcGsaLlVjWXkZ6ayBpsjEMhmcmtWkVxTJMqp5aj8Pf/1paudU8MBDnxqTwZAVeayMIivy2CRTUcbdomRZtpr4oy/0dw7xs6/8nsHuET737Q9OCbcUQpBO67hcNo4caWPFyjquWV47qcwshCBlDJHI9tIRe4kS17UgyXTGXqHSuwmXWoRDyRtdBRoMpY7TFd+G11bJ7OBayjwryLFZ/ceLezRvF1dFor/QnJNlaXTAJdLpLI8+uptEIs2mTfPp7hphzdoZqKpCLJbiZz/dxsc+toYZM0vGsLoIMQFhISsSpSU5lJfl4vU40DSFstJc8oKe0QvWGqhtO87wq9/sQs8a6LrB9378ytiDxTAE6UyWxuYBEkmdk2e62bh+FgODMYqL/GMzepfLjixLGIbJq6+fZmAoxsJ5lZxv6qe0OIeBwSh1NYXYbAqRaJK37ij+/xOarFDnL8QUJqokgyTRHB1kpr8IWZFxuO0ko0ke/cbTFuZTCDJpHSNrotlV1Itm1MIU2F220RKPhM2hcv1mC5I3pVyCEHSe7+XQaye4/r5VOEebshfeu/RzAnii9TCFDi/rS+rHthtIxdjSdQqXamO9bzoDfWGu3zSPV7YcIxpJ0tcTIhpJcuRgGzXTCwmHEvR0h646C0G7y8aJN88SLM6hr20Q1aZSUB6kqqGMU3vOo2eyzLt25oQx2dvTyTcPvIFuGuimQVcswkMnDvLEuRMAzC8o5lNzlpA1TRzqu7uVz48M8dCJg2P/d0RDUzZ1AzkuHAkNVZGZXV+K22ln/uzysUQWHopx5kATRnb8s/FIknjEKv00n+rkzecPj73n9jlpuKbWOk+j2g4X2N+5RX4+/a93k4qnKarKJxkb92wNp1M8f/Ys03JzLf9UVWHdtOoJxypJEgvWzOTpB1/j1L4m3nzuEJs+vOZdoa+ymSwv/WYXTcfbqZxZSvVFPgkXR2fnMLt2nGXNugZe2XqcBQurqKqeeuWdMgYIZ87hUovojL+GwMSrVRDOnEdCxqEESRshuuNv0J/ci1MtYiB5mLjeQ5lnA35bDRLvTKn1qkj0pil4+o8HaWsb5OZb5lNbW8T2bac5e7aHv/6r62lrH+T1HWdYtbpuLDmnM9mx5mB0OMahV48jyzJz1zTgzrk8zn6qaJhRwn13LZv0uhCCkVCC1rZBckdRJ4vmVyEE1NUWIssSZ873IgEVZUGqK/PIZAyCuW6qKoI4HRorl9WyZ18Tnd0jLJhbgSRJlJZYyfJ/OuYESqkXBiPpBAKBS7WRGa1rlU8v5u8f/uwY9A0sDPHj336BQ6+dYPnNC9n0sbWTSCG+oAfV9tYXmRCC3tYBfvS3j3Bq93kkWeKWT1w3+iwRNEYH6ElEWF047kUqEJwI9ZDwWI22sJ7ile4zPNV2FE1WuG+a1ciz2TVKy3MJjyR4+Gev03y+j0Qiw9BAlNvet5jB/iitzf3vSpbifzL0lM6pPY3MX9PAC7/YTjycoHpOOdfcOJ+9Lx7huntXTvrM7LwC/u/SNRjC5IWWs/z+/Eluqq5jXdk0JAly7A6ypknWNCewX99JpAyd/sQ4im0knZpyCmIYJj6vg6HhOC6XDbtNpfAipFDHuR6++Zmfk4yNI8KEYOz62vqbXbzy2Hhzs2ZuBf/8u7/B4bLxyu9243TbWXnLQuxOmwVqKJhYxr0QsiThczg4NzjIQDzB+2bPwu+Y+NslSaKstojr713Bw19/mpcffZMVNy982/LkpSGE4OC2Uzz3s23YHBrv++zGKev/um5wcH8LS66pobDIT16+l5amAebMK5/yPnGrpQynTmIKHd2MITAwhY4pNNxaCSljkObIH0kbQ3g0Cwbqs1WRMobpiG0h41xGgXPpO/otV0WiB+uJePp0N42N/SxbVsORI23ce98KptUU0NY+ZF01l4n+9kFaT3aSTqSZuWwcDiYEJJIZYvE0etZAmIJEIk3MoZJM6WOlhZn1xcyaWTLlSTFNk3Q6i92uIYSgfzBKMpXhtR3NOJ0a4UgCSZLo6Bqmsbmfj2xeyeoVdZw+10NPX5imln7qagsxTMHpcz3YNIUlCyfOQGKhOKf2NU5CGFyIjrM9CFOQzWRpPNJKeHBqOeZMWid2UYM5z+5Bki2lQ2s8rBJIOpEBCabNuQRiJqBhWS2Ht50kFU9R1VA2ZZMwlchgd2hTwt+EEHSc7eG/HniUw9tOUlxdQEV9CRcPbWNkkJe6TrE0v9JCGVwSTdFBvn1qG+FMgvdWzWddUR05Nifh0PhvC+Z52XT7Qp75w35uuXMxW587QmtTPyMjCUIjcfRMdspj/3NEeCjKoddO0N3Uy74tR4kMRXnf32yi+UQ7P/7SI1yzaQFldZPZuwUuD/lON42hYc6NDKFKMscHellXVs2y4grsisrOrjZMBAH7u+tJLCwo4V9XbRxDsbzR1co/vvkKvfEomizjUK3zU1oc4Nrp0xkcjuF0aNSMmvVcOGSbU6N0WiGpxPjsOxlPM9A5hBCQk+/FdxFXo3C0HPv6U/t56Cu/ByRaT3fz3s9uxJfrfgvdH4hlMgRdLnKdLrqjEaLpDD7HJfahssTKWxey5ddv0N85PAr7fWeJPpVIs+33e0nEUtz0oWtZccuCSceVn++1HNDmleNy25EkiVmzy+jpDk19/JiEM02osgtFdpIyhhDCwKHmIyERzjSTa29guv9ezoUeQWDgVPIBQTjTSEPgL3Cp79z/4uq4E0Zjw4bZFJfk8NDPXmfGjGLmz68YG9j29iEefngniiKTSumMDMfHPlc6vZi6RdU43I4J6JFoNMU3v7MFm02lpzdMIpnhn7/xHJqmYJomQ0MxDh5p41vff4ncgIf8PA+lJQEK830EAm5co7ML52iT9MKzxjSthLnp+jkcONzKcChBMOCms3sEw7CYtQBOh4bLaWNgKEZFeS4vbD3O9esamD+3fMI8+fzhVr5693cvO8k3sqbFrAzF+fZnf375Jaiwkv3lQpIkYqEEP/7yIwx0Tg1THOkLA4JjO8/y1Xu+NyVqQlFlNj9wO3NWTjSlMA2Tk3vO87P/9zvOHmymuLqAv/yPDzB31bhJtyRJ1HjzCOspIpkUDufkRK+bBgtzy7ipbBZFTt8EvLCeydLXGx6DYCIsZdGKqnxOnehCliV8PifptH7VJHoza5KIJMlkssQjCfRMlkxaJxVP4w24LRmKKSYyQgj6EjH+89BO6gJBQukUuQ4n3zq4i9W9nXxizmLOjwzi0WwUuq8cShrVM5wa6qMrFmE4leRHR/cymIwzkkrSFgnRl4jzj2++wrqKGj4+y+olnT7XwzPNErIkEYklCUWS1FTms3rZdAryvFQ3lPGV33x2HA0l4KXf7OTXX38GENz68XXc8IFx9q2qKrh9TuoWVDFnZR0HXj3Jkz96mb72QT7y/+6gqHJqYTqbqlBXWEiR12PJjNg0IukULkVhsCeEoY+jrYQp2Lh5JYF8H26/k66mPvo6hjCyJsI0GeweoaupD4BENEUmZUlAjAxE6G7uRwjB9feuoKgyjwVrGxjquSh5SxI5eR6m1RRyoQxr/XRBSWmAkrcCjSChjAoEOpQgpsiiSs6x92RJs96/9OcLC5qpSPZ3LOlxddwJo6HZFFavrkdVZB55ZBenT3czb54FB9R1g9BIAlmRyKSzY4YhACP9YUL9EezOFEZDGZIEBfk+ykoDGKZVY8/NdZOLhW03UiaGYZKX5yWbNdi9r5lUSrdgmbKEx22nqNDPrJklzJtdzoy6InJy3Fw6tnsONNPTG8bp1Bgajk04JrBOv8tlJ53Oks2azKwrRpiC3XubWHHNuLGvza69JSQxEUsx1D2CLMvkFvpRL5PAhBAMdA1bM/bLhGmYDHQO09MymVRyIfJKreVpf8dUFC4LJXXxzE0IQSKSZPvv9/C7bz1Pf8cQ1bPL+fS/38eclZMF34ION6okE8okKXBOJmrN8BdS7y+0hJMvGhNVUwjkunntpeMIIXj5haOWafuTFmrEblcpLM9lzrwKHFcRWSpQ6OfaO5bS3dTPuruW03q6i5d+9Trz187iU/92H8/85GU6zvZQ2VA6oY/REQ3zL/u2YwjBRxoWcmSgl+srp1Ph9fPT4/tpDo/wZk87dYE8Au+gdNMXj/Ktg7tI6Bncmo2DfV3k2J0Uur24NBudsQj3L1rJgoISVFkGAaXFOTijGoX5PuKJNOFokvWrZ+AdBRBoNpXci1Bz8UiSo2+cHUv8I31hXKON54vPaeWMEu7/7od5/HtbeOGXO9jxxwOEBqJ85uv3UDnFKttvdzCnqJDjvX1U5uRQE8xFk2UGO0f4t088yMAl5jQXxJ0vfIthGESGYphC8OMHfjs2GTCFIDpslbCe+N4Wnv3ptgnfsfXRNyfkXVmV+fDf387q2xczNBjj+WcPU1mVx4pVdRzY18zK1VNzIyxXvARRvQVT6AymjuJUCxEYyJKKLE1HQr6wYwzSJI0BTJHFpRUzlDqG052PIv0vR93IssSy5bW0tAzwxOP7mDbNIpfU1BTwub/ZiM2mMjIS56v/9NTYZ7IZy3BhpD88hl5Yu3YGkWwGJIn5M8uY22B17y8kDz1rYBoCI2uQSOmMhBMMDkUZGYzT3jFMS9sAz7xwhKefO0xVZT733XUNq5bXoqoysixjt6usWz0Dj9uOnjV4bssxhkNxbDYFJLBpKslkhv6BCNMq8xkOxQnmunnPpvkcONxKPD6ejOsWVfOFH338skzOvVuO8P3PP4wn4OJLD36KktExuTTSiQz/8ZmfcWLX2SnfB/DkuPjijz+BnpksYHWlIUkSwWKrHJTVszQebePJH7zEnhcOY+gGS2+cx0f+8b1UzyqfcvXhVm14NTuD6RjuuI3hTAJTCEbSCXoUjROhicQfCQjYXBS5fHz0M+snYOgv1IEz6SwjI3Gaz/fRdL6Pymn5lxVe+3OEarP4CkIIFqydRXl98Rh6asG6WfR1DFLZMBFh0hELYwrBA0uuHZM3UCSJZcXl1Ofm0Rga5sRgH3+7ePU7QmBU+nL4wfpbscnKGKJHkxVkSeLNnnZ2dbUxM7eAXLuT3kSMZFZHGIK6mkL6B6NUlObS1jmM122fcoyFEJw50Ezj0XE47tbH3kTVVO66/6YxD2AYlazI9/GhB24jWJTDb//zBY7uPMP3vvBr/uo/NlM9ayJ6qj8e49XGJtKGQdPwMPs7O9lUX2eVJJOZCROQy4VzVBbbyBoY2fEVgN1pw+4EBG/7PbIik05meOmFY0QiCRwODbfbmtR1d41gmiZTezdIBB1zcaqF9MR3UuBcjFstJaq347dNJ+iYw4WpvCxrFDtXkjbCDKdPkjaGMYWOZUH5zuKqS/RgLetuvGkuBw60sG8Uv3ohLnTmkawnrWGYFE8rRLVr2Bwabr8L0xQUF/i5dcNc2rqGeeNwE8kcCKVTFHo9qLLMyb5+fA475X4/oVQKXTVIBAxWL6znvpwcIpEULa0D7N7XRHvnMMWFfiRJYu7ickIkqF1eSExN41JstEQH0SoV5s2qoCcbodKey22b5pOb62bu7HKEKWhuHWD9tTPIDbi54bpZE36vZtcIFPgvC6/05LhBsmBf/jwvuUU5U26XiqfftlyhqApFVfkYWYOupr63nP1PCglyi3IIFuVgmiZtp7vY8qvX2fHkPoZ6QvjzvNz6yfXc/In15OT7LrtCUSWZHJuTUCbJkeFjvNx9BiGgJxnm+IjKwaH2CdsbQmCTFf55wS3U+6YmsjhdNrJZA9M0qa0vmoTB/3OGntaJR5Jk0hnO7G/C7Xey98UjON12JFmmqLoAj38iw1GSJJYUltGQW0CO3cFAMj7hvRy7k709HRS4PCwvqbjipbwQFhSz0OnGshZkQq3db3MwL78YRZJ46MRBtne2MJxKosZgcChKe+cQLW0DzJheTGvHEKVFOWOlzQuRjKXZ8us3LFkTt51kPI2qKjz3i+0MdA/z8a+8j6JLPAMcbju3fmIdbp+TX37tKc4eauWNpw9SMaNkwnfbFBW7qpLKZqkK5OC3O8hzuzE1B1/80cfQ0+9+AvNOQpIsjSKhyGzdcgzDMHl922lkWR7TfprKVMcQKVoiz5A2hsm1z6LAtRRZ0ojrXfQn9xOLdjDNdyeSpGKYabri2/Fo5VR7byOmtzGUOkEqO4BLs0imVxpXzd1QU1tIXp4XISwqczDoZfW19Rw50sYNN8xl0aJqFEUeQ9poqkIypfPjx94gHE1e9kJPpXUKAh78TgcxPYNuGPjsdnqjUeKZDG5NoysSJZHRSRtZlmZLsWkqeUEPwVw3C+dXkkzpuF1WvX7EnuB0uAe3w87uwWY2ljTwWv9Z2sxhSnQ/0VCKam+Q0pKJNbqGiy5YSZImYNL/HJGMpfnB/Q/TfLz97TceDUmWuOv+m3n/5zdhZE2e+uFLbHl4B5pNZf7aBu66fxNzV82YUFqaCkopSzJezUFUT7F52hLuqJiHKQTfOvkq5e4A91QvmrDfpKHztaNbOD3Qw6kXW4mEE1x8kcuyxLLVdRQU+kgmdf7w2B7+6ks34XkbQ5M/VQx2j7DlV69zZl8T5w+1klPgo/FIK22nOvHn+4iNxFl522KW3jBv1LAiO8Z3cGgSutCxKyrry6sp8/owhYmExK019czMy8E/ChS4MAlaVFiKIQTyRXwEWZJYXFSGF43tL58kk8oSzPNQWh6k8XwvmqpQUORnRl0hX1+1EbuiUJuTS0xP88GZ88mP2zl8uJ2u3hCSZJEJM5kswVzPhEQvTMGBV09w8LWTLFzXQMf5PtrPdrNx80raz/aw+/kjREfifObr904qzdjsGhvuWYGsyJzc08jNH10ziVvgtduoDQbpi8VwqCpVgRwkLLZq7dyJrO//6TBNQXvbIKqqICsy+QU+jhxupb11EEmSKK8IsnRFLaF0CpemMRCPU+z1IBurcEsOdF0jlISg08RBhHJHJVkzgTDakZVSar3Xgoijyn4UxYdTmYtfdYDZgmGAJLmQ5anRSZfGVZHoZVli0ybLwHdwMMpTTx5g5ao61q6dSWJpDTabSlNzP7pucPRoC0IIPvihVQSCbvp3Rrl1/Rw8rqlnw7IkkRtwc3J4gKxpEkmn8drtSKOEErtqybrme1wMxhMTWIEXCBiei5yNLGeZGP2pKHW+QtKmjiYrBO1uUoZO0tDfkXzo/2SYQmCOSgEoqiUDbf0mGdMwiUcSxCNJVt22+LLlIADTEOx/+RitJztIj7KJVU1h2aYFtJ3p5rp7V7D6tiX4LjH6EEJwcvd5FFWmftG0cTYh4FRtJLI6Ps2B3+bEECZO1YZPc1Dsmnjxpo0sXs1BMpnh/JF2Vq+bieuS1Y+eyTIyFKeiKo+TxzomwEb/3FFYmcfmB25jx5P7KK8voXpWGfu2HEUIwTU3zaf5eMcYWupY+AxHQ6fxqhZEOCss0tTtpRu5c0Ylx8OnGOlt5prgfDRNZ4RWXh/oZ1FgNgWOIBKweYbFJL24ia1IEp+Zt5RkPMNzxw7S2xOifkYJqqbQdK6PSCTJzFml1EwvxKVZDfINlbVsGDUbCUeSlObnWKQgp42O7hEWzC6fVLrp7xrmDz/YiqoprL9rGb/592etMajIY9NH1vD9Lz7CsV3n+M7nH+YzX7+HugVVE1bsqqaw/v3LuPa2xdhHJ1cXRzprYFcUrq+tYSiRoGVkhHy3G7dt4qrCNEx2PH2Arsa+/+7pA6xyz/X3rsAbGIduG4ZB4/le3B470WgKr9fBoiXT2PL8EWbNKePg/hbyp+dyoLcHWZKIptMsKC2mKxzj/GAbTk1jZVUFQWcuhtGBEEmEOYJQfBhGD3rqJRBpDKUAValAVvLIpF7ByHaRkl24nHei2ZZc0Wruqkj0um4QCSfJCbhwuWz4/E5+8uNXmTuvgltumY+mKezd08icOWUoiszzzx3hi1/aRFZY9n/F+X58o7M3SQJFlsdEhiQJ0oZBQcaNz2HHME3Kc/wEnE7cNg1VlqnPz6PM76MrHCHovjwGP2MaDKfjxLMZwpkkpa4cBlIxuuIhChxeepJhYtk0aTOLLMko0uXt4S6O6HCMY2+cRruM3kzryc4xeOXpfY0Mdk+NmMmkdKIj45jo4wdbObK/BVVTWLJiOscPtZJO6eQX+ZnRYNWHFVXm+s2rWHL93Cm/E6w6/MhAmNaTHWOvSZLEwvWzmbG4Bl+eZ1LDVQjBSF+Yn//TEwx2DfO573yYxaP7kCQJm6yQMadeZsf0NO3xYao9QRyKpQy4qayBItNLt6eXgiI/xw61YQoTu10jJ+Bm3+7zRMMpXG4bM2eV4nRdPc1YWZbR7Bqrb1+Kosno6SyLNswZM2nJLw8yfdRgPpZNMMM7jfmBhrH/X+x5HSEEZa4ijoVP49e8HB45RWeyl/ZEFyWOQnJsXivRSxLKVE1ASbI8WGUZh0PDP1ri9PqcBPM86HqWopJx7ZpL42JTHiEEhVPotKeTGf7ww600Hmtjwz0rmD5vXApYAspqC/n0v97Ntz77C84cbOYPP9zKF37wkQlsbrCS/QXCm1UGsSz5APRwCqk5ws7XWyiuymfVsqldr0zTZPsf9rHnxaNjpd53G8IU5Bb5WXbjvAmJXlUVGmaVsf21U5aEtk0lv8BLMM9LXX0xPp+TqDDpCIUp81vosXhGpz0Upi8WR5Nl+qIxRKEgqzcCBqYZIiv5sDs2oCjF6JmjSLIXWSnBNIcQZhTTHMGmViLJVw4XvSoS/eBglO9+5yUqKoKsXTeTO+5YjJE12br1OOfO9XDjjXMJBr2cOd3DtWvq+eNTBzlzupv6hmKyhsmDv9s5tsSTGL2xVJm8XC+zaouYVVvMzIKJ1PNCzzgcbSiRpCMUAQQDsTgDsfgURwk+px2namN+oAy/zcVIJo4pBHkODylDJ9duXQRd4QiPHTzOXyxbQon/7U9G45FWvvbBH172fdMwx4wrvv/5X73lw+MCvNI0BfFYisG+CC6PndBwjM62obH3ausuqXW/1Y0gXUqbssLm0C4rhmYaJi89vIMz+5rwBtxjDTCwbllFkjg80sPugRZKXTn4bU5MYc3C2+Mj/MvRlyhx+bm7ehHzckvZWDJzDEfv8TqYPqPIci5KZxkcjFqQNVVm+ep6liyv+ZMatl9JpBMZTu45x5yVM9jyy9dZdfti9IzBq4/tYtby6eSus/o2DsXGqUgjvakBEkYKp+JAHtUqz5pZUmYaXRgE7TmUOAsAwZLceTjkyQ82IUzC6VPY1SBO1Xqw2+wqJWW55OX7UFSZ4hJLgXLugkqqqvORJEEy24udq2jTAAAgAElEQVRdCSJL2hUpvYKlsPrKb3fz8qNvEizK4eaPrZl0bUiSRPWsMv7iX+/mZ//4e9a+d+kYAOECp0XPZEnEUkSGYgz1WMYl7ed66GkdAGD7k/vY8fQB0skMN39kDQ1LayZJbIwPgPVnwdqZLFzXMIn8dyXR0zrAlkd2TklkF0LQ0tyP1+ektyfEgoVVY/emLEtUVefTODRModdNUtfJmiamsAhuXpsNRZZIZbPISgGqWoOiVpLNNmK74J4l0siyHyFSKEoBQkQQIonNtgjTDCFLk6WtLxdXRaLPz/OyefMKdu06x4MPbmN6bREer4P58ytZsWI6zzx7iL7eMJpNYeMNc6irK+LAwRbmL6zkcx9ay3AoTu9ghNrKApraB8joBmWFOXT0jPD6vvMcPNHOR967HPfoRXVpeeG5U2d4aO9BcpwOps54glAyxeZF83j/wln4NQeKJBPPZlAkiTJ3zlhDSwjoDyfY3drB5oXzpviuyWFz2AiWBCbo+VwciWiKoZ4RZEUmtyjnivDh/qBlv6jZFDRNJZHIgBCommoRO0a3M7ImWx95g+NvgdQxTZNzh1uv6LfAeMnm2Z++ihCC9Xcvp+4Sklidr5BToV5+cX4PummgyQqtsSFqvfnU+Qr46oKbebLtCF87uoUNJfXcW70YBYiEErzy4jHsjomG0RtumgOSxJOP7UFRZZYsq+FqCcMwCQ9GOPDycaoayuhs7OWlh3dgGCZzVtZTt7B6jOBV4bIkPXyah33DR1mRtwi7rKFKCvFsgnAmSliNoEoKQ0aIplg7hjC5uXjdpP1mRYLzoYeo9t87luhVVWHJ8gqy4sJkJkVlrQNN8SJLMhkjzNmRH+O31VPhvRMkmY7o0yT0zgnfLUkSRa4NBByzMQ2TfVuP8eg3n0NP69z04WuZNqucWGjyhEmSJGYvm87/efAT+PO8tJ3pZqBrhJ7Wfrqb++lpGWCwe4TQQJR4NEkmmZkgj20aJg6XnfySAC6fc1Sp9q0f6jOX1HDnX2
gitextract_fudjadwr/ ├── .gitignore ├── .travis.yml ├── CODE_OF_CONDUCT.md ├── LICENSE ├── MANIFEST.in ├── README.rst ├── docs/ │ ├── CNAME │ ├── convert.py │ ├── example.html │ ├── index.html │ ├── jike_api.html │ ├── objects.html │ ├── source_notebooks/ │ │ ├── example.ipynb │ │ ├── index.ipynb │ │ ├── jike_api.ipynb │ │ └── objects.ipynb │ ├── static/ │ │ └── custom.css │ └── templates/ │ └── full.tpl ├── jike/ │ ├── __init__.py │ ├── __main__.py │ ├── client.py │ ├── constants.py │ ├── objects/ │ │ ├── __init__.py │ │ ├── base.py │ │ ├── message.py │ │ ├── topic.py │ │ ├── user.py │ │ └── wrapper.py │ ├── qr_code.py │ ├── session.py │ └── utils.py ├── nlp/ │ └── generate_dataset.py ├── setup.cfg ├── setup.py ├── tests/ │ ├── __init__.py │ ├── test_base.py │ ├── test_client.py │ ├── test_message.py │ ├── test_qr_code.py │ ├── test_session.py │ ├── test_topic.py │ ├── test_user.py │ ├── test_utils.py │ └── test_wrapper.py └── tox.ini
SYMBOL INDEX (249 symbols across 17 files)
FILE: docs/convert.py
function gen_notebook_path (line 12) | def gen_notebook_path():
function arrange_notebook_execution_order (line 26) | def arrange_notebook_execution_order(source_ipynb_path):
function convert (line 42) | def convert():
function main (line 57) | def main():
FILE: jike/client.py
function check_unread_count_periodically (line 15) | def check_unread_count_periodically(obj):
function auto_load_unread (line 29) | def auto_load_unread(obj):
function notify_update (line 35) | def notify_update(obj, unread):
class JikeClient (line 49) | class JikeClient:
method __init__ (line 50) | def __init__(self, sync_unread=False):
method __del__ (line 76) | def __del__(self):
method get_my_profile (line 80) | def get_my_profile(self):
method get_my_collection (line 83) | def get_my_collection(self):
method get_news_feed_unread_count (line 89) | def get_news_feed_unread_count(self):
method get_news_feed (line 97) | def get_news_feed(self):
method get_following_update (line 103) | def get_following_update(self):
method get_user_profile (line 109) | def get_user_profile(self, username):
method get_user_post (line 119) | def get_user_post(self, username, limit=20):
method get_user_created_topic (line 124) | def get_user_created_topic(self, username, limit=20):
method get_user_subscribed_topic (line 129) | def get_user_subscribed_topic(self, username, limit=20):
method get_user_following (line 134) | def get_user_following(self, username, limit=20):
method get_user_follower (line 139) | def get_user_follower(self, username, limit=20):
method get_comment (line 144) | def get_comment(self, message):
method get_topic_selected (line 153) | def get_topic_selected(self, topic_id):
method get_topic_square (line 160) | def get_topic_square(self, topic_id):
method open_in_browser (line 168) | def open_in_browser(url_or_message):
method create_my_post (line 189) | def create_my_post(self, content, link=None, topic_id=None, pictures=N...
method delete_my_post (line 217) | def delete_my_post(self, post):
method _like_action (line 226) | def _like_action(self, message, action):
method like_it (line 243) | def like_it(self, message):
method unlike_it (line 246) | def unlike_it(self, message):
method _collect_action (line 249) | def _collect_action(self, message, action):
method collect_it (line 264) | def collect_it(self, message):
method uncollect_it (line 267) | def uncollect_it(self, message):
method repost_it (line 270) | def repost_it(self, content, message, sync_comment=True):
method comment_it (line 291) | def comment_it(self, content, message, pictures=None, sync2personal_up...
method search_topic (line 316) | def search_topic(self, keywords):
method search_collection (line 326) | def search_collection(self, keywords):
method get_recommended_topic (line 334) | def get_recommended_topic(self):
method create_emitter (line 341) | def create_emitter(self, endpoint, fixed_extra_payload=()):
method schedule_my_post (line 350) | def schedule_my_post(self, content, link=None, topic_id=None, pictures...
method _load_unread (line 357) | def _load_unread(self, choice):
method set_automatic_rules (line 368) | def set_automatic_rules(self, notified_topics, notified_users):
method _create_new_jike_session (line 372) | def _create_new_jike_session(self):
method relogin (line 380) | def relogin(self):
FILE: jike/objects/base.py
class JikeSequenceBase (line 13) | class JikeSequenceBase(Sequence):
method __init__ (line 28) | def __init__(self):
method __repr__ (line 31) | def __repr__(self):
method __getitem__ (line 34) | def __getitem__(self, item):
method __contains__ (line 37) | def __contains__(self, item):
method __len__ (line 40) | def __len__(self):
method __reversed__ (line 43) | def __reversed__(self):
method index (line 46) | def index(self, item, start=0, stop=None):
method append (line 53) | def append(self, item):
method clear (line 56) | def clear(self):
method extend (line 59) | def extend(self, items):
class JikeStreamBase (line 64) | class JikeStreamBase:
method __init__ (line 78) | def __init__(self, maxlen=200):
method __repr__ (line 81) | def __repr__(self):
method __getitem__ (line 84) | def __getitem__(self, item):
method __contains__ (line 87) | def __contains__(self, item):
method __len__ (line 90) | def __len__(self):
method __reversed__ (line 93) | def __reversed__(self):
method index (line 96) | def index(self, item, start=0, stop=None):
method append (line 103) | def append(self, item):
method appendleft (line 106) | def appendleft(self, item):
method clear (line 109) | def clear(self):
method extend (line 112) | def extend(self, items):
method extendleft (line 116) | def extendleft(self, items):
method pop (line 120) | def pop(self):
method popleft (line 123) | def popleft(self):
class JikeFetcher (line 127) | class JikeFetcher:
method __init__ (line 132) | def __init__(self, jike_session):
method __repr__ (line 136) | def __repr__(self):
method fetch_more (line 139) | def fetch_more(self, endpoint, payload):
class List (line 146) | class List(JikeSequenceBase, JikeFetcher):
method __init__ (line 151) | def __init__(self, jike_session, endpoint, fixed_extra_payload=(), typ...
method __repr__ (line 158) | def __repr__(self):
method load_more (line 161) | def load_more(self, limit=20, extra_payload=()):
method load_all (line 180) | def load_all(self, extra_payload=()):
class Stream (line 187) | class Stream(JikeStreamBase, JikeFetcher):
method __init__ (line 192) | def __init__(self, jike_session, endpoint, fixed_extra_payload=(), max...
method __repr__ (line 199) | def __repr__(self):
method load_more (line 202) | def load_more(self, limit=20, extra_payload=()):
method load_full (line 219) | def load_full(self, extra_payload=()):
method load_update (line 222) | def load_update(self, unread_count, extra_payload=()):
class JikeEmitter (line 252) | class JikeEmitter(JikeFetcher):
method __init__ (line 253) | def __init__(self, jike_session, endpoint, fixed_extra_payload=()):
method __repr__ (line 259) | def __repr__(self):
method generate (line 262) | def generate(self):
method stop (line 281) | def stop(self):
FILE: jike/objects/wrapper.py
function repr_namedtuple (line 8) | def repr_namedtuple(nt):
function str_namedtuple (line 12) | def str_namedtuple(nt):
function namedtuple_with_defaults (line 17) | def namedtuple_with_defaults(namedtuple):
FILE: jike/qr_code.py
function make_qrcode (line 15) | def make_qrcode(uuid, render_choice='browser'):
function render2terminal (line 35) | def render2terminal(qr):
function render2browser (line 39) | def render2browser(qr):
function render2viewer (line 55) | def render2viewer(qr):
class JikeSvgPathImage (line 63) | class JikeSvgPathImage(SvgImage):
method units (line 64) | def units(self, pixels, text=True):
FILE: jike/session.py
class JikeSession (line 11) | class JikeSession:
method __init__ (line 12) | def __init__(self, token):
method __del__ (line 18) | def __del__(self):
method __repr__ (line 21) | def __repr__(self):
method get (line 24) | def get(self, url, params=None):
method post (line 27) | def post(self, url, params=None, json=None):
FILE: jike/utils.py
function read_token (line 31) | def read_token():
function write_token (line 38) | def write_token(token):
function wait_login (line 46) | def wait_login(uuid):
function confirm_login (line 55) | def confirm_login(uuid):
function login (line 66) | def login():
function extract_url (line 95) | def extract_url(content):
function extract_link (line 99) | def extract_link(jike_session, link):
function get_uptoken (line 112) | def get_uptoken():
function upload_a_picture (line 119) | def upload_a_picture(picture):
function upload_pictures (line 140) | def upload_pictures(picture_paths):
function notify (line 147) | def notify(title, message):
FILE: nlp/generate_dataset.py
function translate_two_digits (line 69) | def translate_two_digits(digits):
function generate_date (line 80) | def generate_date():
function generate_dataset (line 101) | def generate_dataset(m):
FILE: tests/test_base.py
class TestJikeSequenceBase (line 7) | class TestJikeSequenceBase(unittest.TestCase):
method setUp (line 8) | def setUp(self):
method test_init (line 16) | def test_init(self):
method test_repr (line 19) | def test_repr(self):
method test_len (line 22) | def test_len(self):
method test_append (line 25) | def test_append(self):
method test_getitem (line 30) | def test_getitem(self):
method test_contains (line 36) | def test_contains(self):
method test_extend (line 41) | def test_extend(self):
method test_reversed (line 47) | def test_reversed(self):
method test_index (line 52) | def test_index(self):
method test_clear (line 58) | def test_clear(self):
class TestJikeStreamBase (line 65) | class TestJikeStreamBase(unittest.TestCase):
method setUp (line 66) | def setUp(self):
method test_init (line 76) | def test_init(self):
method test_repr (line 80) | def test_repr(self):
method test_getitem (line 83) | def test_getitem(self):
method test_contains (line 89) | def test_contains(self):
method test_len (line 94) | def test_len(self):
method test_reversed (line 97) | def test_reversed(self):
method test_index (line 102) | def test_index(self):
method test_append (line 108) | def test_append(self):
method test_appendleft (line 113) | def test_appendleft(self):
method test_clear (line 120) | def test_clear(self):
method test_extend (line 126) | def test_extend(self):
method test_extendleft (line 132) | def test_extendleft(self):
method test_pop (line 138) | def test_pop(self):
method test_popleft (line 146) | def test_popleft(self):
class TestJikeFetcher (line 158) | class TestJikeFetcher(unittest.TestCase):
method setUp (line 159) | def setUp(self):
method test_init (line 163) | def test_init(self):
method test_repr (line 167) | def test_repr(self):
method test_fetch_more (line 170) | def test_fetch_more(self):
class TestList (line 183) | class TestList(unittest.TestCase):
method setUp (line 184) | def setUp(self):
method test_init (line 188) | def test_init(self):
method test_repr (line 193) | def test_repr(self):
method test_load_more (line 196) | def test_load_more(self):
method test_load_all (line 221) | def test_load_all(self):
class TestStream (line 236) | class TestStream(unittest.TestCase):
method setUp (line 237) | def setUp(self):
method test_init (line 241) | def test_init(self):
method test_repr (line 246) | def test_repr(self):
method test_load_more (line 249) | def test_load_more(self):
method test_load_full (line 280) | def test_load_full(self):
method test_load_update (line 298) | def test_load_update(self):
class TestJikeEmitter (line 322) | class TestJikeEmitter(unittest.TestCase):
method setUp (line 323) | def setUp(self):
method test_init (line 327) | def test_init(self):
method test_repr (line 332) | def test_repr(self):
method test_generate (line 335) | def test_generate(self):
method test_stop (line 355) | def test_stop(self):
FILE: tests/test_client.py
class TestJikeClient (line 8) | class TestJikeClient(unittest.TestCase):
method setUp (line 9) | def setUp(self):
method tearDown (line 28) | def tearDown(self):
method test_init (line 32) | def test_init(self):
method test_get_my_profile (line 51) | def test_get_my_profile(self, mock_get_user_profile):
method test_get_my_collection (line 58) | def test_get_my_collection(self):
method test_get_news_feed_unread_count (line 73) | def test_get_news_feed_unread_count(self):
method test_get_news_feed (line 87) | def test_get_news_feed(self):
method test_get_following_update (line 102) | def test_get_following_update(self):
method test_get_user_profile (line 117) | def test_get_user_profile(self):
method test_get_user_post (line 130) | def test_get_user_post(self):
method test_get_user_created_topic (line 139) | def test_get_user_created_topic(self):
method test_get_user_subscribed_topic (line 148) | def test_get_user_subscribed_topic(self):
method test_get_user_following (line 157) | def test_get_user_following(self):
method test_get_user_follower (line 166) | def test_get_user_follower(self):
method test_get_comment (line 175) | def test_get_comment(self):
method test_get_topic_selected (line 188) | def test_get_topic_selected(self):
method test_get_topic_square (line 197) | def test_get_topic_square(self):
method test_open_in_browser (line 206) | def test_open_in_browser(self):
method test_create_my_post (line 236) | def test_create_my_post(self):
method test_delete_my_post (line 261) | def test_delete_my_post(self):
method test__like_action (line 282) | def test__like_action(self):
method test_like_it (line 305) | def test_like_it(self):
method test_unlike_it (line 311) | def test_unlike_it(self):
method test__collect_action (line 317) | def test__collect_action(self):
method test_collect_it (line 340) | def test_collect_it(self):
method test_uncollect_it (line 346) | def test_uncollect_it(self):
method test_repost_it (line 352) | def test_repost_it(self):
method test_comment_it (line 382) | def test_comment_it(self):
method test_search_topic (line 412) | def test_search_topic(self):
method test_search_collection (line 421) | def test_search_collection(self):
method test_get_recommended_topics (line 430) | def test_get_recommended_topics(self):
method test__create_new_jike_session (line 439) | def test__create_new_jike_session(self):
FILE: tests/test_message.py
class TestMessage (line 5) | class TestMessage(unittest.TestCase):
method setUp (line 6) | def setUp(self):
method test_official_message (line 9) | def test_official_message(self):
method test_original_post (line 18) | def test_original_post(self):
method test_repost (line 27) | def test_repost(self):
method test_question (line 36) | def test_question(self):
method test_answer (line 45) | def test_answer(self):
method test_person_update_section (line 54) | def test_person_update_section(self):
method test_personal_update (line 60) | def test_personal_update(self):
method test_comment (line 66) | def test_comment(self):
FILE: tests/test_qr_code.py
class TestJikeQrCode (line 8) | class TestJikeQrCode(unittest.TestCase):
method setUp (line 9) | def setUp(self):
method test_make_qrcode (line 13) | def test_make_qrcode(self):
method test_render2terminal (line 27) | def test_render2terminal(self, mock_print_tty):
method test_render2browser (line 32) | def test_render2browser(self):
method test_render2viewer (line 42) | def test_render2viewer(self):
FILE: tests/test_session.py
class TestJikeSession (line 9) | class TestJikeSession(unittest.TestCase):
method setUp (line 10) | def setUp(self):
method tearDown (line 13) | def tearDown(self):
method test_init (line 16) | def test_init(self):
method test_repr (line 21) | def test_repr(self):
method test_get (line 25) | def test_get(self):
method test_post (line 36) | def test_post(self):
FILE: tests/test_topic.py
class TestTopic (line 5) | class TestTopic(unittest.TestCase):
method test_topic (line 6) | def test_topic(self):
FILE: tests/test_user.py
class TestUser (line 5) | class TestUser(unittest.TestCase):
method test_user (line 6) | def test_user(self):
FILE: tests/test_utils.py
class TestJikeUtils (line 10) | class TestJikeUtils(unittest.TestCase):
method setUp (line 11) | def setUp(self):
method tearDown (line 14) | def tearDown(self):
method test_read_token (line 17) | def test_read_token(self):
method test_write_token (line 24) | def test_write_token(self):
method test_extract_link (line 33) | def test_extract_link(self):
method test_extract_url (line 52) | def test_extract_url(self):
method test_wait_login (line 62) | def test_wait_login(self):
method test_confirm_login (line 91) | def test_confirm_login(self):
method test_login (line 120) | def test_login(self):
method test_get_uptoken (line 163) | def test_get_uptoken(self):
method test_upload_a_picture (line 184) | def test_upload_a_picture(self):
method test_upload_pictures (line 236) | def test_upload_pictures(self):
FILE: tests/test_wrapper.py
class TestWrapper (line 6) | class TestWrapper(unittest.TestCase):
method setUp (line 7) | def setUp(self):
method test_repr_namedtuple (line 10) | def test_repr_namedtuple(self):
method test_str_namedtuple (line 15) | def test_str_namedtuple(self):
method test_namedtuple_with_defaults (line 20) | def test_namedtuple_with_defaults(self):
Condensed preview — 45 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (975K chars).
[
{
"path": ".gitignore",
"chars": 89,
"preview": ".ipynb_checkpoints\n*.pyc\n.tox/\n*.egg-info\nmetro.json\npoc/\nnlp/*.txt\n.cache/\nbuild/\ndist/\n"
},
{
"path": ".travis.yml",
"chars": 292,
"preview": "sudo: false\nlanguage: python\nmatrix:\n include:\n - python: 3.4\n env: TOXENV=py34\n - python: 3.5\n env: TOXENV=py3"
},
{
"path": "CODE_OF_CONDUCT.md",
"chars": 3220,
"preview": "# Contributor Covenant Code of Conduct\n\n## Our Pledge\n\nIn the interest of fostering an open and welcoming environment, w"
},
{
"path": "LICENSE",
"chars": 1066,
"preview": "MIT License\n\nCopyright (c) 2018 Soros Liu\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\n"
},
{
"path": "MANIFEST.in",
"chars": 55,
"preview": "include README.rst LICENSE\nrecursive-include tests *.py"
},
{
"path": "README.rst",
"chars": 2958,
"preview": "==================\nJike Metro 🚇\n==================\n\n.. image:: https://img.shields.io/travis/Sorosliu1029/Jike-Metro.svg"
},
{
"path": "docs/CNAME",
"chars": 23,
"preview": "jike-metro.sorosliu.xyz"
},
{
"path": "docs/convert.py",
"chars": 2015,
"preview": "\"\"\"\nConvert Jupyter notebook to html\n\"\"\"\nimport os\nimport json\nfrom nbconvert import HTMLExporter\n\nINDEX_HTML_PATH = os."
},
{
"path": "docs/example.html",
"chars": 368018,
"preview": "<!DOCTYPE html>\n<html>\n<head><meta charset=\"utf-8\" />\n<title>example</title><script src=\"https://cdnjs.cloudflare.com/aj"
},
{
"path": "docs/index.html",
"chars": 51561,
"preview": "<!DOCTYPE html>\n<html>\n<head><meta charset=\"utf-8\" />\n<title>index</title><script src=\"https://cdnjs.cloudflare.com/ajax"
},
{
"path": "docs/jike_api.html",
"chars": 9149,
"preview": "<!DOCTYPE html>\n<html>\n<head><meta charset=\"utf-8\" />\n<title>jike_api</title><script src=\"https://cdnjs.cloudflare.com/a"
},
{
"path": "docs/objects.html",
"chars": 24753,
"preview": "<!DOCTYPE html>\n<html>\n<head><meta charset=\"utf-8\" />\n<title>objects</title><script src=\"https://cdnjs.cloudflare.com/aj"
},
{
"path": "docs/source_notebooks/example.ipynb",
"chars": 330031,
"preview": "{\"cells\": [{\"cell_type\": \"markdown\", \"metadata\": {}, \"source\": [\"# \\u7b80\\u5355\\u7684\\u4f8b\\u5b50\"]}, {\"cell_type\": \"mar"
},
{
"path": "docs/source_notebooks/index.ipynb",
"chars": 25841,
"preview": "{\"cells\": [{\"cell_type\": \"markdown\", \"metadata\": {}, \"source\": [\"# \\u4e58\\u8f66\\u6307\\u5357\"]}, {\"cell_type\": \"markdown\""
},
{
"path": "docs/source_notebooks/jike_api.ipynb",
"chars": 5172,
"preview": "{\"cells\": [{\"cell_type\": \"markdown\", \"metadata\": {}, \"source\": [\"# \\u5373\\u523bWeb API\"]}, {\"cell_type\": \"markdown\", \"me"
},
{
"path": "docs/source_notebooks/objects.ipynb",
"chars": 8911,
"preview": "{\"cells\": [{\"cell_type\": \"markdown\", \"metadata\": {}, \"source\": [\"# Jike Metro \\ud83d\\ude87 \\u4e2d\\u5404\\u4e2a\\u7c7b\\u768"
},
{
"path": "docs/static/custom.css",
"chars": 9130,
"preview": "/*\nAuthor: Neil Panchal\nhttp://neil.panchal.io\n\nNew colors. These are a bit darker to allow for a better contrast. I sta"
},
{
"path": "docs/templates/full.tpl",
"chars": 1681,
"preview": "{%- extends 'basic.tpl' -%}\n\n{%- block header -%}\n<!DOCTYPE html>\n<html>\n<head>\n{%- block html_head -%}\n<meta charset=\"u"
},
{
"path": "jike/__init__.py",
"chars": 739,
"preview": "# -*- coding: utf-8 -*-\n\n# ___ __ __ ___ __\n# / (_) /_____ / |/ /__ / /__________\n#"
},
{
"path": "jike/__main__.py",
"chars": 514,
"preview": "# -*- coding: utf-8 -*-\n\nimport sys\nfrom .client import JikeClient\n\noptions = sys.argv[1:]\nif not {'news', 'follow'} & s"
},
{
"path": "jike/client.py",
"chars": 14315,
"preview": "# -*- coding: utf-8 -*-\n\n\"\"\"\nClient that Jikers play with\n\"\"\"\n\nimport webbrowser\nfrom threading import Timer\nfrom .sessi"
},
{
"path": "jike/constants.py",
"chars": 5301,
"preview": "# -*- coding: utf-8 -*-\n\n\"\"\"\nThis module provides constants for Jike.\n\"\"\"\n\nimport re\nimport os\nfrom string import Templa"
},
{
"path": "jike/objects/__init__.py",
"chars": 140,
"preview": "# -*- coding: utf-8 -*-\n\nfrom .base import List, Stream, JikeEmitter\nfrom .message import *\nfrom .user import User\nfrom "
},
{
"path": "jike/objects/base.py",
"chars": 8100,
"preview": "# -*- coding: utf-8 -*-\n\n\"\"\"\nSpecial class designed for Jike Metro\n\"\"\"\n\nfrom collections import deque\nfrom collections.a"
},
{
"path": "jike/objects/message.py",
"chars": 3181,
"preview": "# -*- coding: utf-8 -*-\n\n\"\"\"\ncontaining objects:\n\n- OfficialMessage\n- OriginalPost\n- Repost\n- Question\n\"\"\"\n\nfrom collect"
},
{
"path": "jike/objects/topic.py",
"chars": 1267,
"preview": "# -*- coding: utf-8 -*-\n\n\"\"\"\nObject type for topic\n\n\"\"\"\n\nfrom collections import namedtuple\nfrom .wrapper import namedtu"
},
{
"path": "jike/objects/user.py",
"chars": 2092,
"preview": "# -*- coding: utf-8 -*-\n\n\"\"\"\nObject type for user\n\n\"\"\"\n\nfrom collections import namedtuple\nfrom .wrapper import namedtup"
},
{
"path": "jike/objects/wrapper.py",
"chars": 554,
"preview": "# -*- coding: utf-8 -*-\n\n\"\"\"\nwrapper\n\"\"\"\n\n\ndef repr_namedtuple(nt):\n return nt.__class__.__name__ + '(id={id}, conten"
},
{
"path": "jike/qr_code.py",
"chars": 1912,
"preview": "# -*- coding: utf-8 -*-\n\n\"\"\"\nQR code that be scanned to allow login\n\"\"\"\n\nimport qrcode\nimport tempfile\nimport webbrowser"
},
{
"path": "jike/session.py",
"chars": 748,
"preview": "# -*- coding: utf-8 -*-\n\n\"\"\"\nSession that communicates with Jike server\n\"\"\"\n\nimport requests\nfrom .constants import HEAD"
},
{
"path": "jike/utils.py",
"chars": 4428,
"preview": "# -*- coding: utf-8 -*-\n\n\"\"\"\nutils\n\"\"\"\n\nimport requests\nimport json\nimport os\nimport platform\nfrom collections import de"
},
{
"path": "nlp/generate_dataset.py",
"chars": 2586,
"preview": "# -*- coding: utf-8 -*-\n\nfrom faker import Faker\nimport random\nfrom babel.dates import format_time\n\nfake = Faker()\nfake."
},
{
"path": "setup.cfg",
"chars": 34,
"preview": "[metadata]\nlicense_file = LICENSE\n"
},
{
"path": "setup.py",
"chars": 2169,
"preview": "import sys\nimport os\nfrom setuptools import setup, find_packages\nfrom codecs import open\n\nhere = os.path.abspath(os.path"
},
{
"path": "tests/__init__.py",
"chars": 0,
"preview": ""
},
{
"path": "tests/test_base.py",
"chars": 13542,
"preview": "import unittest\nimport requests\nfrom unittest.mock import *\nfrom jike.objects.base import *\n\n\nclass TestJikeSequenceBase"
},
{
"path": "tests/test_client.py",
"chars": 19033,
"preview": "import unittest\nimport requests\nfrom unittest.mock import *\n\nfrom jike.client import JikeClient\n\n\nclass TestJikeClient(u"
},
{
"path": "tests/test_message.py",
"chars": 2722,
"preview": "import unittest\nfrom jike.objects.message import *\n\n\nclass TestMessage(unittest.TestCase):\n def setUp(self):\n "
},
{
"path": "tests/test_qr_code.py",
"chars": 2003,
"preview": "import qrcode\nimport unittest\nfrom unittest.mock import *\n\nfrom jike import qr_code\n\n\nclass TestJikeQrCode(unittest.Test"
},
{
"path": "tests/test_session.py",
"chars": 1767,
"preview": "import unittest\nimport requests\nimport responses\nfrom urllib.parse import urlencode\n\nfrom jike.session import JikeSessio"
},
{
"path": "tests/test_topic.py",
"chars": 347,
"preview": "import unittest\nfrom jike.objects.topic import Topic\n\n\nclass TestTopic(unittest.TestCase):\n def test_topic(self):\n "
},
{
"path": "tests/test_user.py",
"chars": 335,
"preview": "import unittest\nfrom jike.objects.user import User\n\n\nclass TestUser(unittest.TestCase):\n def test_user(self):\n "
},
{
"path": "tests/test_utils.py",
"chars": 11873,
"preview": "import unittest\nimport responses\nimport requests\nfrom urllib.parse import urlencode\nfrom unittest.mock import *\n\nfrom ji"
},
{
"path": "tests/test_wrapper.py",
"chars": 1056,
"preview": "import unittest\nfrom collections import namedtuple\nfrom jike.objects.wrapper import *\n\n\nclass TestWrapper(unittest.TestC"
},
{
"path": "tox.ini",
"chars": 379,
"preview": "# tox (https://tox.readthedocs.io/) is a tool for running tests\n# in multiple virtualenvs. This configuration file will "
}
]
About this extraction
This page contains the full source code of the Sorosliu1029/Jike-Metro GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 45 files (923.0 KB), approximately 521.6k tokens, and a symbol index with 249 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.