From 2f7deaae2d165b2905d2fc80b0ab6fda576cd4d4 Mon Sep 17 00:00:00 2001 From: Alice Date: Thu, 14 Jul 2016 02:56:24 +0000 Subject: [PATCH] Initial commit --- .gitignore | 91 + LICENSE | 21 + README.md | 40 + ccvpn/__init__.py | 0 ccvpn/ca.crt | 39 + ccvpn/context_processors.py | 9 + ccvpn/forms.py | 0 ccvpn/passwords.py | 48 + ccvpn/settings.py | 173 ++ ccvpn/urls.py | 38 + ccvpn/views.py | 82 + ccvpn/wsgi.py | 16 + lambdainst/__init__.py | 0 lambdainst/admin.py | 132 ++ lambdainst/core.py | 99 + lambdainst/forms.py | 56 + lambdainst/graphs.py | 126 + lambdainst/management/__init__.py | 0 lambdainst/management/commands/__init__.py | 0 lambdainst/management/commands/core_info.py | 11 + .../management/commands/expire_notify.py | 56 + lambdainst/management/commands/send_report.py | 113 + lambdainst/middleware.py | 42 + lambdainst/migrations/0001_initial.py | 73 + lambdainst/migrations/__init__.py | 0 lambdainst/models.py | 147 ++ lambdainst/openvpn.py | 98 + lambdainst/templatetags/active.py | 19 + lambdainst/templatetags/bw.py | 38 + lambdainst/tests.py | 274 +++ lambdainst/urls.py | 18 + lambdainst/views.py | 360 +++ locale/fr/LC_MESSAGES/django.po | 1141 +++++++++ manage.py | 10 + pages/faq.en.md | 126 + pages/faq.fr.md | 131 ++ pages/help.en.md | 17 + pages/help.fr.md | 16 + pages/install-android.en.md | 21 + pages/install-android.fr.md | 21 + pages/install-gnulinux.en.md | 107 + pages/install-gnulinux.fr.md | 252 ++ pages/install-osx.en.md | 11 + pages/install-osx.fr.md | 11 + pages/install-windows.en.md | 47 + pages/install-windows.fr.md | 48 + pages/self-diagnosis.en.md | 91 + pages/self-diagnosis.fr.md | 87 + pages/tos.en.md | 68 + payments/__init__.py | 0 payments/admin.py | 60 + payments/backends.py | 456 ++++ payments/forms.py | 15 + payments/management/__init__.py | 0 payments/management/commands/__init__.py | 0 payments/management/commands/bitcoin_info.py | 15 + .../management/commands/check_btc_payments.py | 28 + .../management/commands/confirm_payment.py | 52 + .../management/commands/expire_payments.py | 31 + payments/migrations/0001_initial.py | 60 + .../migrations/0002_auto_20151204_0341.py | 19 + .../migrations/0003_auto_20151209_0440.py | 20 + payments/migrations/__init__.py | 0 payments/models.py | 114 + payments/tests.py | 323 +++ payments/urls.py | 14 + payments/views.py | 116 + requirements.txt | 10 + static/affimg/banner.png | Bin 0 -> 8828 bytes static/affimg/leaderboard.png | Bin 0 -> 16751 bytes static/css/admin_status.css | 23 + static/css/font-awesome.css | 2086 +++++++++++++++++ static/css/font-awesome.min.css | 4 + static/css/grids-responsive-min.css | 7 + static/css/pure-min.css | 11 + static/css/reset.css | 49 + static/css/style.css | 688 ++++++ static/fonts/OpenSans.woff2 | Bin 0 -> 15572 bytes static/fonts/OpenSansB.woff2 | Bin 0 -> 16276 bytes static/fonts/fontawesome-webfont.eot | Bin 0 -> 70807 bytes static/fonts/fontawesome-webfont.svg | 655 ++++++ static/fonts/fontawesome-webfont.ttf | Bin 0 -> 142072 bytes static/fonts/fontawesome-webfont.woff | Bin 0 -> 83588 bytes static/fonts/fontawesome-webfont.woff2 | Bin 0 -> 66624 bytes static/img/7proxies.png | Bin 0 -> 423629 bytes static/img/anon.svg | 65 + static/img/bg-logo.svg | 65 + static/img/bg-title.png | Bin 0 -> 4359 bytes static/img/bg.png | Bin 0 -> 21906 bytes static/img/bolt.svg | 54 + static/img/chat.png | Bin 0 -> 1219 bytes static/img/chat.svg | 57 + static/img/cheap.svg | 65 + static/img/fast.svg | 54 + static/img/openvpn.svg | 71 + static/img/unlimited.svg | 57 + static/ping.js | 139 ++ templates/account_layout.html | 22 + templates/admin/index.html | 98 + .../admin/tickets/ticket/change_list.html | 17 + templates/ccvpn/chat.html | 27 + templates/ccvpn/index.html | 95 + templates/ccvpn/page.html | 30 + templates/ccvpn/signup.html | 50 + templates/lambdainst/account.html | 126 + templates/lambdainst/admin_ref.html | 69 + templates/lambdainst/admin_status.html | 82 + templates/lambdainst/config.html | 68 + templates/lambdainst/logs.html | 54 + templates/lambdainst/mail_expire_soon.txt | 7 + templates/lambdainst/settings.html | 31 + templates/lambdainst/status.html | 61 + templates/layout.html | 93 + templates/payments/form.html | 13 + templates/payments/list.html | 28 + templates/payments/view.html | 34 + templates/registration/login.html | 25 + .../registration/password_reset_complete.html | 16 + .../registration/password_reset_confirm.html | 30 + .../registration/password_reset_done.html | 16 + .../registration/password_reset_form.html | 28 + templates/tickets/index.html | 56 + templates/tickets/layout.html | 27 + templates/tickets/list.html | 52 + templates/tickets/mail_support_new.txt | 14 + templates/tickets/mail_support_reply.txt | 10 + templates/tickets/mail_user_close.txt | 7 + templates/tickets/mail_user_reply.txt | 9 + templates/tickets/new.html | 17 + templates/tickets/view.html | 50 + tickets/__init__.py | 0 tickets/admin.py | 84 + tickets/forms.py | 24 + tickets/migrations/0001_initial.py | 52 + tickets/migrations/0002_auto_20160106_1750.py | 18 + tickets/migrations/__init__.py | 0 tickets/models.py | 109 + tickets/tests.py | 3 + tickets/urls.py | 14 + tickets/views.py | 154 ++ 140 files changed, 11727 insertions(+) create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 README.md create mode 100644 ccvpn/__init__.py create mode 100644 ccvpn/ca.crt create mode 100644 ccvpn/context_processors.py create mode 100644 ccvpn/forms.py create mode 100644 ccvpn/passwords.py create mode 100644 ccvpn/settings.py create mode 100644 ccvpn/urls.py create mode 100644 ccvpn/views.py create mode 100644 ccvpn/wsgi.py create mode 100644 lambdainst/__init__.py create mode 100644 lambdainst/admin.py create mode 100644 lambdainst/core.py create mode 100644 lambdainst/forms.py create mode 100644 lambdainst/graphs.py create mode 100644 lambdainst/management/__init__.py create mode 100644 lambdainst/management/commands/__init__.py create mode 100644 lambdainst/management/commands/core_info.py create mode 100644 lambdainst/management/commands/expire_notify.py create mode 100644 lambdainst/management/commands/send_report.py create mode 100644 lambdainst/middleware.py create mode 100644 lambdainst/migrations/0001_initial.py create mode 100644 lambdainst/migrations/__init__.py create mode 100644 lambdainst/models.py create mode 100644 lambdainst/openvpn.py create mode 100644 lambdainst/templatetags/active.py create mode 100644 lambdainst/templatetags/bw.py create mode 100644 lambdainst/tests.py create mode 100644 lambdainst/urls.py create mode 100644 lambdainst/views.py create mode 100644 locale/fr/LC_MESSAGES/django.po create mode 100755 manage.py create mode 100644 pages/faq.en.md create mode 100644 pages/faq.fr.md create mode 100644 pages/help.en.md create mode 100644 pages/help.fr.md create mode 100644 pages/install-android.en.md create mode 100644 pages/install-android.fr.md create mode 100644 pages/install-gnulinux.en.md create mode 100644 pages/install-gnulinux.fr.md create mode 100644 pages/install-osx.en.md create mode 100644 pages/install-osx.fr.md create mode 100644 pages/install-windows.en.md create mode 100644 pages/install-windows.fr.md create mode 100644 pages/self-diagnosis.en.md create mode 100644 pages/self-diagnosis.fr.md create mode 100644 pages/tos.en.md create mode 100644 payments/__init__.py create mode 100644 payments/admin.py create mode 100644 payments/backends.py create mode 100644 payments/forms.py create mode 100644 payments/management/__init__.py create mode 100644 payments/management/commands/__init__.py create mode 100644 payments/management/commands/bitcoin_info.py create mode 100644 payments/management/commands/check_btc_payments.py create mode 100644 payments/management/commands/confirm_payment.py create mode 100644 payments/management/commands/expire_payments.py create mode 100644 payments/migrations/0001_initial.py create mode 100644 payments/migrations/0002_auto_20151204_0341.py create mode 100644 payments/migrations/0003_auto_20151209_0440.py create mode 100644 payments/migrations/__init__.py create mode 100644 payments/models.py create mode 100644 payments/tests.py create mode 100644 payments/urls.py create mode 100644 payments/views.py create mode 100644 requirements.txt create mode 100644 static/affimg/banner.png create mode 100644 static/affimg/leaderboard.png create mode 100644 static/css/admin_status.css create mode 100644 static/css/font-awesome.css create mode 100644 static/css/font-awesome.min.css create mode 100644 static/css/grids-responsive-min.css create mode 100644 static/css/pure-min.css create mode 100644 static/css/reset.css create mode 100644 static/css/style.css create mode 100644 static/fonts/OpenSans.woff2 create mode 100644 static/fonts/OpenSansB.woff2 create mode 100644 static/fonts/fontawesome-webfont.eot create mode 100644 static/fonts/fontawesome-webfont.svg create mode 100644 static/fonts/fontawesome-webfont.ttf create mode 100644 static/fonts/fontawesome-webfont.woff create mode 100644 static/fonts/fontawesome-webfont.woff2 create mode 100644 static/img/7proxies.png create mode 100644 static/img/anon.svg create mode 100644 static/img/bg-logo.svg create mode 100644 static/img/bg-title.png create mode 100644 static/img/bg.png create mode 100644 static/img/bolt.svg create mode 100644 static/img/chat.png create mode 100644 static/img/chat.svg create mode 100644 static/img/cheap.svg create mode 100644 static/img/fast.svg create mode 100644 static/img/openvpn.svg create mode 100644 static/img/unlimited.svg create mode 100644 static/ping.js create mode 100644 templates/account_layout.html create mode 100644 templates/admin/index.html create mode 100644 templates/admin/tickets/ticket/change_list.html create mode 100644 templates/ccvpn/chat.html create mode 100644 templates/ccvpn/index.html create mode 100644 templates/ccvpn/page.html create mode 100644 templates/ccvpn/signup.html create mode 100644 templates/lambdainst/account.html create mode 100644 templates/lambdainst/admin_ref.html create mode 100644 templates/lambdainst/admin_status.html create mode 100644 templates/lambdainst/config.html create mode 100644 templates/lambdainst/logs.html create mode 100644 templates/lambdainst/mail_expire_soon.txt create mode 100644 templates/lambdainst/settings.html create mode 100644 templates/lambdainst/status.html create mode 100644 templates/layout.html create mode 100644 templates/payments/form.html create mode 100644 templates/payments/list.html create mode 100644 templates/payments/view.html create mode 100644 templates/registration/login.html create mode 100644 templates/registration/password_reset_complete.html create mode 100644 templates/registration/password_reset_confirm.html create mode 100644 templates/registration/password_reset_done.html create mode 100644 templates/registration/password_reset_form.html create mode 100644 templates/tickets/index.html create mode 100644 templates/tickets/layout.html create mode 100644 templates/tickets/list.html create mode 100644 templates/tickets/mail_support_new.txt create mode 100644 templates/tickets/mail_support_reply.txt create mode 100644 templates/tickets/mail_user_close.txt create mode 100644 templates/tickets/mail_user_reply.txt create mode 100644 templates/tickets/new.html create mode 100644 templates/tickets/view.html create mode 100644 tickets/__init__.py create mode 100644 tickets/admin.py create mode 100644 tickets/forms.py create mode 100644 tickets/migrations/0001_initial.py create mode 100644 tickets/migrations/0002_auto_20160106_1750.py create mode 100644 tickets/migrations/__init__.py create mode 100644 tickets/models.py create mode 100644 tickets/tests.py create mode 100644 tickets/urls.py create mode 100644 tickets/views.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ce5b7a2 --- /dev/null +++ b/.gitignore @@ -0,0 +1,91 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +env/ +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +*.egg-info/ +.installed.cfg +*.egg + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*,cover +.hypothesis/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + +# IPython Notebook +.ipynb_checkpoints + +# pyenv +.python-version + +# celery beat schedule file +celerybeat-schedule + +# dotenv +.env + +# virtualenv +venv/ +ENV/ + +# Spyder project settings +.spyderproject + +# Rope project settings +.ropeproject + +ccvpn/local_settings.py diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..ed4438f --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2016 PacketImpact + +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. diff --git a/README.md b/README.md new file mode 100644 index 0000000..6da84c8 --- /dev/null +++ b/README.md @@ -0,0 +1,40 @@ +CCrypto VPN +=========== + +CCVPN is the software we use at CCrypto to provide our VPN. +You can see it live at https://vpn.ccrypto.org/ + +It handles user management, support tickets, billing and is used as a backend +for VPN authentication. +It communicates with an external service, lambdacore, that manages VPN servers +and sessions. + +CCrypto's commercial support *does not* include this product and will not help you set it up. +Feel free to contact us about ccvpn, but with no guarantee. +[PacketImpact](https://packetimpact.net/) however may provide you commercial support +and more services about ccvpn and lambdacore. + + +Getting Started +--------------- + +```bash + git clone https://github.com/CCrypto/ccvpn3.git + cd ccvpn3/ + + ./manage.py createsuperuser + ./manage.py runserver + +``` + +CRON +---- + +For bitcoin payments, you will need to run a script regularly to check for +verified transaction. Another to delete old cancelled payments. +And another to send expiration emails. + + */5 * * * * /home/vpn/ccvpn3/manage.py check_btc_payments + 0 0 * * * /home/vpn/ccvpn3/manage.py expire_payments + 0 */6 * * * /home/vpn/ccvpn3/manage.py expire_notify + diff --git a/ccvpn/__init__.py b/ccvpn/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/ccvpn/ca.crt b/ccvpn/ca.crt new file mode 100644 index 0000000..1260895 --- /dev/null +++ b/ccvpn/ca.crt @@ -0,0 +1,39 @@ +-----BEGIN CERTIFICATE----- +MIIG0zCCBLugAwIBAgIJAOOv2BdszSOVMA0GCSqGSIb3DQEBBQUAMIGhMQswCQYD +VQQGEwJGUjERMA8GA1UEBxMIU29tZUNpdHkxHzAdBgNVBAoTFkNvZ25pdGl2ZSBD +cnlwdG9ncmFwaHkxEzARBgNVBAsTCkNDcnlwdG9WUE4xEzARBgNVBAMTCkNDcnlw +dG9WUE4xEzARBgNVBCkTCkNDcnlwdG9WUE4xHzAdBgkqhkiG9w0BCQEWEGNlcnRA +Y2NyeXB0by5vcmcwHhcNMTMwODEzMTgxOTQ4WhcNMjMwODExMTgxOTQ4WjCBoTEL +MAkGA1UEBhMCRlIxETAPBgNVBAcTCFNvbWVDaXR5MR8wHQYDVQQKExZDb2duaXRp +dmUgQ3J5cHRvZ3JhcGh5MRMwEQYDVQQLEwpDQ3J5cHRvVlBOMRMwEQYDVQQDEwpD +Q3J5cHRvVlBOMRMwEQYDVQQpEwpDQ3J5cHRvVlBOMR8wHQYJKoZIhvcNAQkBFhBj +ZXJ0QGNjcnlwdG8ub3JnMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA +xvkZj62nUvSjEPs1qBokLd8bBpBlLj6RGgJpfPqS/kKF0s1HpcYZynIcqP6Dw/Pi +LFcTE1STzgFfcEdKLmZAH+JCFVpc9mRTXEifouBk+2j3MG9+j2GTXHCK5FMkcJWQ +o4YihO2UOLz8qz4yn3dmy0zP1UmqxB2SayYXhwT2+pDSTkBCP6YtRURVVNIVRM7A +72hBUJ2dUgKHMTsBJSQj/11rRJ6wW6yUt0NtEcDUbdgrq0BibHq8zzCkl3vGl20M +2UCXPNKavP1aapoDGWLSxZgJ9nkFUfWbjWjHuuBw8cjQ7OV7SLiBXqLNJdcCshDA +OlwaPS4atao73rliE8bWAsGiwJZ+WXnGNJAr/6BwEtOizc6hr92S8lHOrlEWz3/F +h2+L/GI97KMM+pfxlTd8j4dbBpDIXv2vlpYOQ97EbYSbWv7fmYZ2BxxgljATBPfA +hA/y7GEfTodC/mkyZO8R2joBxcbQRu7AjsL30AOiE0GepUQNqhlbhEePvm28C9Rn +OHm4zaqQLo3BJzlP23N9sn4cMZYMiPnx+eCDv+UW7Y+xHVz0GSjlO1IkZ5lTu2fR +IbONfLYDGcByOBaLmo3oD60grw552COTAYDMlu2h8zQV0gPhJziO/txDapoBuNeX +XUdzzp1l6GFTsqIKs6ATleJ4n/S4OQe/kicZkCdYZ3kCAwEAAaOCAQowggEGMB0G +A1UdDgQWBBTWsE0h2/8fw8SbrhvXny8aBL/KTTCB1gYDVR0jBIHOMIHLgBTWsE0h +2/8fw8SbrhvXny8aBL/KTaGBp6SBpDCBoTELMAkGA1UEBhMCRlIxETAPBgNVBAcT +CFNvbWVDaXR5MR8wHQYDVQQKExZDb2duaXRpdmUgQ3J5cHRvZ3JhcGh5MRMwEQYD +VQQLEwpDQ3J5cHRvVlBOMRMwEQYDVQQDEwpDQ3J5cHRvVlBOMRMwEQYDVQQpEwpD +Q3J5cHRvVlBOMR8wHQYJKoZIhvcNAQkBFhBjZXJ0QGNjcnlwdG8ub3JnggkA46/Y +F2zNI5UwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAgEAMQsLBf8TPFkh +/cnsh+E2N5YCqoeiYwLfPlqo3DwVaDoD8w5NovbIj+O6Z31FkTbt2Zotky6BQMCz +5wfuPa1WPuU2kARqS+4LA8FOd1tH4+xqGE6lgkqQuKGJEhi4J4wBg0yKvS4GxZ0+ +ZXw+fWZSGDPR8WlKVfAR6DEuPIgJqIo0hIWbMgKsmqDzxevWg+Y8C9X0VjLwaSX+ +dcC9N+ztYFKkzP4yOba8vFjYBmAYzaxwloUmm+iaTD/jrik9kqjd6grNh8bQa/0N +hzoa0UL8qgnorusvzo85B/I+cavS37djAeoZ1Oilerp39HS5yjvtbI/ijKW6Wp0l +aYCQ6e9f6Ka9cMfVwDJ+aow3rp0MJG0ilP+mS+ouE/R4tnAfVXrlh5X7tsGanByu +LtXIbRrLGcCmmNLtdZ2lRVi3BRRKQu5G/6WkvjslBU27CcvKnTtT7FmtKg9564rB +NCRawVf3veelwmVdnmkKd6Ka05ymJrm3ZU03+41ilSiqecFRFqz/+urdYkmynJtq +E4hNy013h6rooKnNXrMDMuTJqPTa0xJTM+74+JQwEZETSW7TdAGVrqRnJXdXn8Zi +17Gr351BJNOBWvyk8MPBKLM24e0qX+4NykQCT8Whhj4YQ/wzvwx2ayKAfoJYd74s +9ZCg4dyZMObBjkw08am0H6W6pe9umaY= +-----END CERTIFICATE----- diff --git a/ccvpn/context_processors.py b/ccvpn/context_processors.py new file mode 100644 index 0000000..0bcb08d --- /dev/null +++ b/ccvpn/context_processors.py @@ -0,0 +1,9 @@ +from django.conf import settings + + +def some_settings(request): + return { + 'ROOT_URL': settings.ROOT_URL, + 'ADDITIONAL_HTML': settings.ADDITIONAL_HTML, + 'ADDITIONAL_HEADER_HTML': settings.ADDITIONAL_HEADER_HTML, + } diff --git a/ccvpn/forms.py b/ccvpn/forms.py new file mode 100644 index 0000000..e69de29 diff --git a/ccvpn/passwords.py b/ccvpn/passwords.py new file mode 100644 index 0000000..6c17538 --- /dev/null +++ b/ccvpn/passwords.py @@ -0,0 +1,48 @@ +import hashlib +import binascii +from collections import OrderedDict + +from django.contrib.auth.hashers import BasePasswordHasher +from django.utils.translation import ugettext as _ + + +class LegacyPasswordHasher(BasePasswordHasher): + """ Legacy password hasher. + Single SHA512 iteration with a 32 bytes salt. + It's wrong and should not be used except for backward compatibility. + CCVPN2 had it in a binary form, it must be base64-encoded and appened + to "legacy_sha512$" during the migration. + """ + algorithm = "legacy_sha512" + + def encode(self, password, salt): + assert password is not None + if isinstance(password, str): + password = bytes(password, 'utf-8') + if isinstance(salt, str): + salt = bytes(salt, 'utf-8') + hash = hashlib.sha512(salt + password) + return "%s$%s%s" % (self.algorithm, binascii.b2a_hex(salt).decode('utf-8'), + hash.hexdigest()) + + def verify(self, password, encoded): + algorithm, rest = encoded.split('$', 1) + assert algorithm == self.algorithm + + binary = binascii.a2b_hex(rest) + + encoded_2 = self.encode(password, binary[:32]) + return encoded == encoded_2 + + def safe_summary(self, encoded): + algorithm, hash = encoded.split('$', 1) + assert algorithm == self.algorithm + return OrderedDict([ + (_('algorithm'), algorithm), + (_('salt'), hash[0:8]), + (_('hash'), hash[64:72]), + ]) + + def must_update(self, encoded): + return True # "legacy" + diff --git a/ccvpn/settings.py b/ccvpn/settings.py new file mode 100644 index 0000000..282b4df --- /dev/null +++ b/ccvpn/settings.py @@ -0,0 +1,173 @@ +""" +Django settings for ccvpn project. + +Generated by 'django-admin startproject' using Django 1.8. + +For more information on this file, see +https://docs.djangoproject.com/en/1.8/topics/settings/ + +For the full list of settings and their values, see +https://docs.djangoproject.com/en/1.8/ref/settings/ +""" + +# Build paths inside the project like this: os.path.join(BASE_DIR, ...) +import os + +BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + + +# Quick-start development settings - unsuitable for production +# See https://docs.djangoproject.com/en/1.8/howto/deployment/checklist/ + +# SECURITY WARNING: keep the secret key used in production secret! +SECRET_KEY = '@4+zlzju0(wymvatr%8uguuc-aeap8yaz$269ftloqhd&vm%c4' + +# SECURITY WARNING: don't run with debug turned on in production! +DEBUG = True + +ALLOWED_HOSTS = [] + + +# Application definition + +INSTALLED_APPS = ( + 'django.contrib.admin', + 'django.contrib.auth', + 'django.contrib.contenttypes', + 'django.contrib.sessions', + 'django.contrib.messages', + 'django.contrib.staticfiles', + 'django_countries', + 'lambdainst', + 'payments', + 'tickets', +) + +MIDDLEWARE_CLASSES = ( + 'django.contrib.sessions.middleware.SessionMiddleware', + 'django.middleware.common.CommonMiddleware', + 'django.middleware.common.BrokenLinkEmailsMiddleware', + 'django.middleware.csrf.CsrfViewMiddleware', + 'django.contrib.auth.middleware.AuthenticationMiddleware', + 'django.contrib.auth.middleware.SessionAuthenticationMiddleware', + 'django.contrib.messages.middleware.MessageMiddleware', + 'django.middleware.clickjacking.XFrameOptionsMiddleware', + 'django.middleware.security.SecurityMiddleware', + 'django.middleware.locale.LocaleMiddleware', + 'lambdainst.middleware.ReferrerMiddleware', +) + +ROOT_URLCONF = 'ccvpn.urls' + +TEMPLATES = [ + { + 'BACKEND': 'django.template.backends.django.DjangoTemplates', + 'DIRS': [ + os.path.join(BASE_DIR, 'templates/'), + ], + 'APP_DIRS': True, + 'OPTIONS': { + 'context_processors': [ + 'django.template.context_processors.debug', + 'django.template.context_processors.request', + 'django.template.context_processors.i18n', + 'django.template.context_processors.static', + 'django.template.context_processors.csrf', + 'django.contrib.auth.context_processors.auth', + 'django.contrib.messages.context_processors.messages', + 'ccvpn.context_processors.some_settings', + ], + }, + }, +] + +WSGI_APPLICATION = 'ccvpn.wsgi.application' + +LOGIN_URL = 'account:login' +LOGOUT_URL = 'account:logout' + +LOGIN_REDIRECT_URL = 'ccvpn.views.index' +LOGOUT_REDIRECT_URL = 'ccvpn.views.index' + +PAGES_DIR = BASE_DIR + '/pages/' + +PASSWORD_HASHERS = [ + 'django.contrib.auth.hashers.PBKDF2PasswordHasher', + 'ccvpn.passwords.LegacyPasswordHasher', +] + +# Database +# https://docs.djangoproject.com/en/1.8/ref/settings/#databases + +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.sqlite3', + 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), + } +} + + +# Internationalization +# https://docs.djangoproject.com/en/1.8/topics/i18n/ + +LANGUAGE_CODE = 'en' + +TIME_ZONE = 'UTC' + +USE_I18N = True + +USE_L10N = True + +USE_TZ = True + +LANGUAGES = ( + ('fr', "French"), + ('en', "English"), +) + +LOCALE_PATHS = ( + os.path.join(BASE_DIR, 'locale/'), +) + +# Static files (CSS, JavaScript, Images) +# https://docs.djangoproject.com/en/1.8/howto/static-files/ + +STATIC_URL = '/static/' + +STATICFILES_DIRS = ( + os.path.join(BASE_DIR, 'static'), +) + +# Security + +X_FRAME_OPTIONS = 'SAMEORIGIN' + +SESSION_COOKIE_SECURE = False +CSRF_COOKIE_SECURE = False +CSRF_COOKIE_HTTPONLY = True + +SECURE_CONTENT_TYPE_NOSNIFF = True +SECURE_BROWSER_XSS_FILTER = True + +SECURE_SSL_REDIRECT = False +SECURE_HSTS_SECONDS = 3600 +SECURE_HSTS_INCLUDE_SUBDOMAINS = True + + +# OpenVPN CA Certificate + +with open(BASE_DIR + '/ccvpn/ca.crt') as ca_file: + OPENVPN_CA = ca_file.read() + + +ADDITIONAL_HEADER_HTML = '' +ADDITIONAL_HTML = '' + +LAMBDAINST_CLUSTER_MESSAGES = {} + +# Local settings +try: + from .local_settings import * # noqa +except ImportError: + pass + diff --git a/ccvpn/urls.py b/ccvpn/urls.py new file mode 100644 index 0000000..d4731de --- /dev/null +++ b/ccvpn/urls.py @@ -0,0 +1,38 @@ +from django.conf.urls import include, url +from django.contrib import admin +from django.contrib.auth import views as auth_views + +from . import views + +from lambdainst import urls as account_urls, views as account_views +from payments import urls as payments_urls +from tickets import urls as tickets_urls + +urlpatterns = [ + url(r'^admin/status$', account_views.admin_status, name='admin_status'), + url(r'^admin/referrers$', account_views.admin_ref, name='admin_ref'), + url(r'^admin/', include(admin.site.urls)), + + url(r'^api/auth$', account_views.api_auth), + + url(r'^$', views.index, name='index'), + url(r'^ca.crt$', account_views.ca_crt), + url(r'^setlang$', views.set_lang, name='set_lang'), + url(r'^chat$', views.chat, name='chat'), + url(r'^page/(?P[a-zA-Z0-9_-]+)$', views.page, name='page'), + url(r'^status$', account_views.status), + + url(r'^account/forgot$', auth_views.password_reset, + {}, name='password_reset'), + url(r'^account/forgot_done$', auth_views.password_reset_done, + name='password_reset_done'), + url(r'^account/reset/(?P[0-9A-Za-z_\-]+)/(?P[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,20})/$', + auth_views.password_reset_confirm, name='password_reset_confirm'), + url(r'^account/reset/done/$', auth_views.password_reset_complete, + name='password_reset_complete'), + + url(r'^account/', include(account_urls, namespace='account')), + url(r'^payments/', include(payments_urls, namespace='payments')), + url(r'^tickets/', include(tickets_urls, namespace='tickets')), + +] diff --git a/ccvpn/views.py b/ccvpn/views.py new file mode 100644 index 0000000..7b801ae --- /dev/null +++ b/ccvpn/views.py @@ -0,0 +1,82 @@ +import os.path + +import markdown +from django.http import HttpResponseNotFound +from django.shortcuts import render +from django.conf import settings +from django.utils.translation import ugettext as _, get_language +from django import http +from django.utils.http import is_safe_url +from django.utils.translation import ( + LANGUAGE_SESSION_KEY, check_for_language, +) + + +md = markdown.Markdown(extensions=['toc', 'meta', 'codehilite(noclasses=True)']) + + +def index(request): + eur = '%.2f' % (settings.PAYMENTS_MONTHLY_PRICE / 100) + return render(request, 'ccvpn/index.html', dict(eur_price=eur)) + + +def chat(request): + if request.user.is_authenticated(): + username = request.user.username + '|cc' + else: + username = "cc?" + return render(request, 'ccvpn/chat.html', dict(username=username)) + + +def set_lang(request): + """ django.views.i18n.set_language() with GET """ + + next = request.GET.get('next', request.GET.get('next')) + if not is_safe_url(url=next, host=request.get_host()): + next = request.META.get('HTTP_REFERER') + if not is_safe_url(url=next, host=request.get_host()): + next = '/' + response = http.HttpResponseRedirect(next) + lang_code = request.GET.get('lang', None) + if lang_code and check_for_language(lang_code): + if hasattr(request, 'session'): + request.session[LANGUAGE_SESSION_KEY] = lang_code + else: + response.set_cookie(settings.LANGUAGE_COOKIE_NAME, lang_code, + max_age=settings.LANGUAGE_COOKIE_AGE, + path=settings.LANGUAGE_COOKIE_PATH, + domain=settings.LANGUAGE_COOKIE_DOMAIN) + return response + + +def page(request, name): + basename = settings.PAGES_DIR + '/' + name + + username = request.user.username + + page_replace = { + 'USERNAME': username or '[username]', + } + + files = [ + basename + '.' + get_language() + '.md', + basename + '.en.md', + basename + '.md', + ] + + for file in files: + if not os.path.isfile(file): + continue + + with open(file, encoding='utf8') as fh: + page = fh.read() + for s, r in page_replace.items(): + page = page.replace('{' + s + '}', r) + page = md.convert(page) + + title = md.Meta.get('title', [None])[0] + ctx = dict(content=page, title=title) + return render(request, 'ccvpn/page.html', ctx) + + return HttpResponseNotFound() + diff --git a/ccvpn/wsgi.py b/ccvpn/wsgi.py new file mode 100644 index 0000000..33961b6 --- /dev/null +++ b/ccvpn/wsgi.py @@ -0,0 +1,16 @@ +""" +WSGI config for ccvpn project. + +It exposes the WSGI callable as a module-level variable named ``application``. + +For more information on this file, see +https://docs.djangoproject.com/en/1.8/howto/deployment/wsgi/ +""" + +import os + +from django.core.wsgi import get_wsgi_application + +os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ccvpn.settings") + +application = get_wsgi_application() diff --git a/lambdainst/__init__.py b/lambdainst/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/lambdainst/admin.py b/lambdainst/admin.py new file mode 100644 index 0000000..c3bfdc6 --- /dev/null +++ b/lambdainst/admin.py @@ -0,0 +1,132 @@ +import string +from django.shortcuts import resolve_url +from django import forms +from django.contrib import admin +from django.contrib.auth.admin import UserAdmin +from django.contrib.auth.models import User +from django.utils.translation import ugettext as _ + +from lambdainst.models import VPNUser, GiftCode, GiftCodeUser + + +def make_user_link(user): + change_url = resolve_url('admin:auth_user_change', user.id) + return '%s' % (change_url, user.username) + + +class GiftCodeAdminForm(forms.ModelForm): + def clean(self): + input_code = self.cleaned_data.get('code', '') + code_charset = string.ascii_letters + string.digits + if any(c not in code_charset for c in input_code): + raise forms.ValidationError(_("Code must be [a-zA-Z0-9]")) + if not 1 <= len(input_code) <= 32: + raise forms.ValidationError(_("Code must be between 1 and 32 characters")) + return self.cleaned_data + + +class VPNUserInline(admin.StackedInline): + model = VPNUser + can_delete = False + fk_name = 'user' + + fields = ('notes', 'expiration', 'last_expiry_notice', 'notify_expiration', + 'trial_periods_given', 'referrer_a', 'last_vpn_auth') + readonly_fields = ('referrer_a', 'last_vpn_auth') + + def referrer_a(self, object): + if not object.referrer: + return "-" + + s = make_user_link(object.referrer) + " " + if object.referrer_used: + s += _("(rewarded)") + else: + s += _("(not rewarded)") + return s + referrer_a.allow_tags = True + referrer_a.short_description = _("Referrer") + + def is_paid(self, object): + return object.is_paid + is_paid.boolean = True + is_paid.short_description = _("Is paid?") + + +class GiftCodeUserAdmin(admin.TabularInline): + model = GiftCodeUser + fields = ('user_link', 'code_link', 'date') + readonly_fields = ('user_link', 'code_link', 'date') + list_display = ('user', ) + original = False + + def user_link(self, object): + return make_user_link(object.user) + user_link.allow_tags = True + user_link.short_description = 'User' + + def code_link(self, object): + change_url = resolve_url('admin:lambdainst_giftcode_change', object.code.id) + return '%s' % (change_url, object.code.code) + code_link.allow_tags = True + code_link.short_description = 'Code' + + def has_add_permission(self, request): + return False + + def has_delete_permission(self, request, obj=None): + return False + + +class UserAdmin(UserAdmin): + inlines = (VPNUserInline, GiftCodeUserAdmin) + list_display = ('username', 'email', 'is_staff', 'date_joined', 'is_paid') + ordering = ('-date_joined', ) + fieldsets = ( + (None, {'fields': ('username', 'password', 'email', 'links')}), + (_('Important dates'), {'fields': ('last_login', 'date_joined')}), + (_('Permissions'), {'fields': ('is_active', 'is_staff', 'is_superuser', + 'groups', 'user_permissions')}), + ) + readonly_fields = ('last_login', 'date_joined', 'links') + + def is_paid(self, object): + return object.vpnuser.is_paid + is_paid.boolean = True + is_paid.short_description = _("Is paid?") + + def links(self, object): + fmt = '%s' + payments_url = resolve_url('admin:payments_payment_changelist') + tickets_url = resolve_url('admin:tickets_ticket_changelist') + s = fmt % (payments_url, object.id, "Payments") + s += ' - ' + fmt % (tickets_url, object.id, "Tickets") + return s + links.allow_tags = True + + +class GiftCodeAdmin(admin.ModelAdmin): + fields = ('code', 'time', 'created', 'created_by', 'single_use', 'free_only', + 'available', 'comment') + readonly_fields = ('created', 'created_by') + list_display = ('code', 'time', 'comment_head', 'available') + search_fields = ('code', 'comment', 'users__username') + inlines = (GiftCodeUserAdmin,) + list_filter = ('available', 'time') + form = GiftCodeAdminForm + + def comment_head(self, object): + return object.comment_head + comment_head.short_description = _("Comment") + + def save_model(self, request, obj, form, change): + if not change: + obj.created_by = request.user + obj.save() + + +admin.site.unregister(User) +admin.site.register(User, UserAdmin) + +admin.site.register(GiftCode, GiftCodeAdmin) + diff --git a/lambdainst/core.py b/lambdainst/core.py new file mode 100644 index 0000000..dab98de --- /dev/null +++ b/lambdainst/core.py @@ -0,0 +1,99 @@ +from datetime import timedelta, datetime +import lcoreapi +from django.conf import settings +from django.core.mail import mail_admins +import logging + +cluster_messages = settings.LAMBDAINST_CLUSTER_MESSAGES + +lcore_settings = settings.LCORE + +LCORE_BASE_URL = lcore_settings.get('BASE_URL') +LCORE_API_KEY = lcore_settings['API_KEY'] +LCORE_API_SECRET = lcore_settings['API_SECRET'] +LCORE_SOURCE_ADDR = lcore_settings.get('SOURCE_ADDRESS') +LCORE_INST_SECRET = lcore_settings['INST_SECRET'] + +# The default is to log the exception and only raise it if we cannot show +# the previous value or a default value instead. +LCORE_RAISE_ERRORS = bool(lcore_settings.get('RAISE_ERRORS', False)) + +LCORE_CACHE_TTL = lcore_settings.get('CACHE_TTL', 60) +if isinstance(LCORE_CACHE_TTL, int): + LCORE_CACHE_TTL = timedelta(seconds=LCORE_CACHE_TTL) +assert isinstance(LCORE_CACHE_TTL, timedelta) + +core_api = lcoreapi.API(LCORE_API_KEY, LCORE_API_SECRET, LCORE_BASE_URL) + + +class APICache: + """ Cache data for a time, try to update and silence errors. + Outdated data is not a problem. + """ + def __init__(self, ttl=None, initial=None): + self.cache_date = datetime.fromtimestamp(0) + self.ttl = ttl or LCORE_CACHE_TTL + + self.has_cached_value = initial is not None + self.cached = initial() if initial else None + + def query(self, wrapped, *args, **kwargs): + try: + return wrapped(*args, **kwargs) + except lcoreapi.APIError: + logger = logging.getLogger('django.request') + logger.exception("core api error") + + if LCORE_RAISE_ERRORS: + raise + + if not self.has_cached_value: + # We only return a default value if we were given one. + # Prevents returning an unexpected None. + raise + + # Return previous value + return self.cached + + def __call__(self, wrapped): + def wrapper(*args, **kwargs): + if self.cache_date > (datetime.now() - self.ttl): + return self.cached + + self.cached = self.query(wrapped, *args, **kwargs) + + # New results *and* errors are cached + self.cache_date = datetime.now() + return self.cached + return wrapper + + +@APICache(initial=lambda: 0) +def current_active_sessions(): + return core_api.get(core_api.info['current_instance'] + '/sessions', active=True)['total_count'] + + +@APICache(initial=lambda: []) +def get_locations(): + gateways = core_api.get('/gateways/') + locations = {} + + for gw in gateways.list_iter(): + cc = gw['cluster_name'] + + if cc not in locations: + locations[cc] = dict( + servers=0, + bandwidth=0, + hostname='gw.' + cc + '.204vpn.net', + country_code=cc, + message=cluster_messages.get(cc), + ) + + locations[cc]['servers'] += 1 + locations[cc]['bandwidth'] += gw['bandwidth'] + + locations = sorted(locations.items(), key=lambda x: x[1]['country_code']) + return locations + + diff --git a/lambdainst/forms.py b/lambdainst/forms.py new file mode 100644 index 0000000..f552dc0 --- /dev/null +++ b/lambdainst/forms.py @@ -0,0 +1,56 @@ +from django import forms +from django.contrib.auth.models import User +from django.utils.translation import ugettext_lazy as _ +from django.utils.safestring import mark_safe + + +class FormPureRender: + def as_pure_aligned(self): + html = '' + for f in self: + html += '
\n' + html += str(f.label_tag()) + '\n' + html += str(f) + '\n' + if f.errors: + html += str(f.errors) + '\n' + html += '
\n' + return mark_safe(html) + + +class UserField(forms.RegexField): + def clean(self, value): + super(UserField, self).clean(value) + try: + User.objects.get(username=value) + raise forms.ValidationError(_("Username taken.")) + except User.DoesNotExist: + return value + + +class SignupForm(forms.Form, FormPureRender): + username = UserField( + label=_("Username"), min_length=2, max_length=16, regex='^[a-zA-Z0-9_-]+$', + widget=forms.TextInput(attrs={'required': 'true', + 'pattern': '[a-zA-Z0-9_-]{2,32}', + 'placeholder': _("Username"), + 'autofocus': 'true'}) + ) + password = forms.CharField( + label=_("Password"), + widget=forms.PasswordInput(attrs={'placeholder': _("Anything")}) + ) + password2 = forms.CharField( + label=_("Repeat"), + widget=forms.PasswordInput(attrs={'placeholder': _("Same Anything")}) + ) + email = forms.EmailField( + label=_("E-Mail"), + widget=forms.EmailInput(attrs={'placeholder': _("E-Mail")}), + required=False, + ) + + def clean_password(self): + if self.data['password'] != self.data['password2']: + raise forms.ValidationError(_("Passwords are not the same")) + return self.data['password'] + diff --git a/lambdainst/graphs.py b/lambdainst/graphs.py new file mode 100644 index 0000000..52ff026 --- /dev/null +++ b/lambdainst/graphs.py @@ -0,0 +1,126 @@ +from datetime import timedelta, date + +import pygal + +from .models import User +from payments.models import BACKENDS +from payments.models import Payment + + +PERIOD_VERBOSE_NAME = { + 'y': "per month", + 'm': "per day", +} + + +def monthdelta(date, delta): + m = (date.month + delta) % 12 + y = date.year + (date.month + delta - 1) // 12 + if not m: + m = 12 + d = min(date.day, [31, 29 if y % 4 == 0 and not y % 400 == 0 + else 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 + ][m - 1]) + return date.replace(day=d, month=m, year=y) + + +def last_days(n=30): + now = date.today() + for i in range(n - 1, -1, -1): + yield now - timedelta(days=i) + + +def last_months(n=12): + now = date.today().replace(day=1) + for i in range(n - 1, -1, -1): + yield monthdelta(now, -i) + + +def time_filter_future(period, m, df): + def _filter(o): + if period == 'm': + return df(o).date() <= m + if period == 'y': + return df(o).date().replace(day=1) <= m + return _filter + + +def time_filter_between(period, m, df): + def _filter(o): + if period == 'm': + return df(o).year == m.year and df(o).month == m.month and df(o).day == m.day + return df(o).date() <= m and df(o).date() > (m - timedelta(days=1)) + if period == 'y': + return df(o).year == m.year and df(o).month == m.month + return (df(o).date().replace(day=1) <= m and + df(o).date().replace(day=1) > (m - timedelta(days=30))) + return _filter + + +def users_graph(period): + chart = pygal.Line(fill=True, x_label_rotation=75, show_legend=False) + chart.title = 'Users %s' % PERIOD_VERBOSE_NAME[period] + chart.x_labels = [] + values = [] + gen = last_days(30) if period == 'm' else last_months(12) + users = User.objects.all() + + for m in gen: + filter_ = time_filter_future(period, m, lambda o: o.date_joined) + users_filtered = filter(filter_, users) + values.append(len(list(users_filtered))) + chart.x_labels.append('%02d/%02d' % (m.month, m.day)) + + chart.add('Users', values) + return chart.render() + + +def payments_paid_graph(period): + chart = pygal.StackedBar(x_label_rotation=75, show_legend=True) + chart.x_labels = [] + gen = list(last_days(30) if period == 'm' else last_months(12)) + + chart.title = 'Payments %s in €' % (PERIOD_VERBOSE_NAME[period]) + + for m in gen: + chart.x_labels.append('%02d/%02d' % (m.month, m.day)) + + values = dict() + for backend_id, backend in BACKENDS.items(): + values = [] + payments = list(Payment.objects.filter(status='confirmed', backend_id=backend_id)) + + for m in gen: + filter_ = time_filter_between(period, m, lambda o: o.created) + filtered = filter(filter_, payments) + values.append(sum(u.paid_amount for u in filtered) / 100) + + chart.add(backend_id, values) + + return chart.render() + + +def payments_success_graph(period): + chart = pygal.StackedBar(x_label_rotation=75, show_legend=True) + chart.x_labels = [] + gen = list(last_days(30) if period == 'm' else last_months(12)) + + chart.title = 'Successful payments %s' % (PERIOD_VERBOSE_NAME[period]) + + for m in gen: + chart.x_labels.append('%02d/%02d' % (m.month, m.day)) + + values = dict() + for backend_id, backend in BACKENDS.items(): + values = [] + payments = list(Payment.objects.filter(status='confirmed', backend_id=backend_id)) + + for m in gen: + filter_ = time_filter_between(period, m, lambda o: o.created) + filtered = filter(filter_, payments) + values.append(sum(1 for u in filtered)) + + chart.add(backend_id, values) + + return chart.render() + diff --git a/lambdainst/management/__init__.py b/lambdainst/management/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/lambdainst/management/commands/__init__.py b/lambdainst/management/commands/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/lambdainst/management/commands/core_info.py b/lambdainst/management/commands/core_info.py new file mode 100644 index 0000000..ed4f627 --- /dev/null +++ b/lambdainst/management/commands/core_info.py @@ -0,0 +1,11 @@ +from django.core.management.base import BaseCommand + +from lambdainst.core import core_api + + +class Command(BaseCommand): + help = "Get informations about core API" + + def handle(self, *args, **options): + for k, v in core_api.info.items(): + print("%s: %s" % (k, v)) diff --git a/lambdainst/management/commands/expire_notify.py b/lambdainst/management/commands/expire_notify.py new file mode 100644 index 0000000..e9d70bf --- /dev/null +++ b/lambdainst/management/commands/expire_notify.py @@ -0,0 +1,56 @@ +from django.core.management.base import BaseCommand + +from datetime import timedelta + +from django.db.models import Q, F +from django.conf import settings +from django.utils import timezone +from django.template.loader import get_template +from django.template import Context +from django.core.mail import send_mass_mail + +from lambdainst.models import VPNUser + +ROOT_URL = settings.ROOT_URL +SITE_NAME = settings.TICKETS_SITE_NAME + +NOTIFY_DAYS_BEFORE = settings.NOTIFY_DAYS_BEFORE +assert isinstance(NOTIFY_DAYS_BEFORE, (list, tuple, set)) + + +def get_next_expirations(days=3): + """ Gets users whose subscription will expire in some days """ + + limit_date = timezone.now() + timedelta(days=days) + + users = VPNUser.objects.exclude(user__email__exact='') + + users = users.filter(expiration__gt=timezone.now()) # Not expired + users = users.filter(expiration__lt=limit_date) # Expire in a few days + + # Make sure we dont send the notice twice + users = users.filter(Q(last_expiry_notice__isnull=True) + | Q(expiration__gt=F('last_expiry_notice') + + timedelta(days=days))) + return users + + +class Command(BaseCommand): + help = "Notify users near the end of their subscription" + + def handle(self, *args, **options): + from_email = settings.DEFAULT_FROM_EMAIL + + for v in NOTIFY_DAYS_BEFORE: + emails = [] + qs = get_next_expirations(v) + users = list(qs) + for u in users: + ctx = Context(dict(site_name=SITE_NAME, user=u.user, + exp=u.expiration, url=ROOT_URL)) + text = get_template('lambdainst/mail_expire_soon.txt').render(ctx) + emails.append(("CCVPN Expiration", text, from_email, [u.user.email])) + print("sending -%d days notify to %s ..." % (v, u.user.email)) + + send_mass_mail(emails) + qs.update(last_expiry_notice=timezone.now()) diff --git a/lambdainst/management/commands/send_report.py b/lambdainst/management/commands/send_report.py new file mode 100644 index 0000000..c463d47 --- /dev/null +++ b/lambdainst/management/commands/send_report.py @@ -0,0 +1,113 @@ +from datetime import timedelta +from io import StringIO + +from django.conf import settings +from django.contrib.auth.models import User +from django.core.management.base import BaseCommand +from django.core.mail import EmailMessage +from django.db.models import Count +from django.utils import timezone + + +def get_prev_month(d): + if d.month == 1: + year = d.year - 1 + month = 12 + else: + year = d.year + month = d.month - 1 + return d.replace(month=month, year=year) + + +def should_bill(report, user, time_limit): + """ Determines if one user has actually paid for the current month """ + + # Here for consistency, should be filtered in the query + if not user.vpnuser.expiration or user.vpnuser.expiration < time_limit: + return False + + # Replay payments + payments = list(user.payment_set.order_by('id').filter(status='confirmed')) + paid_expiration = None + for p in payments: + d = p.confirmed_on or p.created + paid_expiration = max(paid_expiration or d, d) + p.time + + # Numbre of days paid after the start of the month + # If negative and not filtered with vpnuser.expiration, user was given time. + # If positive, user has paid for this time. + delta = paid_expiration - time_limit + + if delta < timedelta(): + report.write("- %s (#%d): %s\n" % (user.username, user.id, -delta)) + + return delta > timedelta() + + +class Command(BaseCommand): + help = "Generate and send a monthly usage report to ADMINS" + + def handle(self, *args, **options): + addresses = settings.USAGE_REPORT_DESTINATION + + def format_e(n): + return '%.2f%s' % (n / 100, settings.PAYMENTS_CURRENCY[1]) + + # Dates + end = timezone.now().replace(microsecond=0, second=0, minute=0, hour=0, day=5) + start = get_prev_month(end) + + # Filter users + filtering_report = StringIO() + all_users = User.objects.order_by('id') + active_users = all_users.filter(vpnuser__expiration__gt=start) + paying_users = active_users.filter(payment__status='confirmed').annotate(Count('payment')).filter(payment__count__gt=0) + users = [u for u in paying_users if should_bill(filtering_report, u, start)] + + # Generate report + report = "CCVPN Usage Report\n" + report += "==================\n\n" + + report += "From: %s\nTo : %s\n\n" % (start, end) + + keys = ('Users', 'Active', 'W/Payment', 'Selected') + values = (all_users.count(), active_users.count(), paying_users.count(), len(users)) + report += " | ".join("%-10s" % s for s in keys) + "\n" + report += " | ".join("%-10s" % s for s in values) + "\n" + report += "\n" + + user_cost = settings.VPN_USER_COST + total_cost = settings.VPN_USER_COST * len(users) + + report += "Billed: %d * %s = %s\n" % (len(users), format_e(user_cost), format_e(total_cost)) + report += "\n" + + if filtering_report.getvalue(): + report += "Ignored users:\n" + report += filtering_report.getvalue() + report += "\n" + + users_text = "\n".join("%s (#%d)" % (u.username, u.id) for u in users) + + subject = "[CCVPN] Usage Report: %s to %s" % ( + start.strftime('%m/%Y'), end.strftime('%m/%Y')) + + # Send + print(report) + print("-------") + print("Send to: " + ", ".join(a for a in addresses)) + + print("Confirm? [y/n] ", end='') + i = input() + if i.lower().strip() != 'y': + return + + for dest in addresses: + mail = EmailMessage(subject=subject, body=report, + from_email=settings.DEFAULT_FROM_EMAIL, to=[dest]) + mail.attach('users.txt', users_text, 'text/plain') + mail.send() + + print("Sent.") + + diff --git a/lambdainst/middleware.py b/lambdainst/middleware.py new file mode 100644 index 0000000..de06694 --- /dev/null +++ b/lambdainst/middleware.py @@ -0,0 +1,42 @@ +from datetime import datetime, timedelta + +from django.conf import settings +from .models import User + + +class ReferrerMiddleware(): + def process_request(self, request): + if 'ref' in request.GET: + id = request.GET['ref'] + elif 'referrer' in request.COOKIES: + id = request.COOKIES['referrer'] + else: + return + + try: + id = int(id.strip()) + except (ValueError, TypeError): + return + + try: + u = User.objects.get(id=id) + except User.DoesNotExist: + return + + request.session['referrer'] = u.id + + def process_response(self, request, response): + id = request.session.get('referrer') + if not id: + return response + + max_age = 365 * 24 * 60 * 60 + expires = (datetime.utcnow() + timedelta(seconds=max_age)) + expires = expires.strftime("%a, %d-%b-%Y %H:%M:%S GMT") + response.set_cookie('referrer', id, + max_age=max_age, + expires=expires, + domain=settings.SESSION_COOKIE_DOMAIN, + secure=settings.SESSION_COOKIE_SECURE or None) + return response + diff --git a/lambdainst/migrations/0001_initial.py b/lambdainst/migrations/0001_initial.py new file mode 100644 index 0000000..ed7ecb5 --- /dev/null +++ b/lambdainst/migrations/0001_initial.py @@ -0,0 +1,73 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import migrations, models +import django.db.models.deletion +import lambdainst.models +from django.conf import settings +import datetime + + +class Migration(migrations.Migration): + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ] + + operations = [ + migrations.CreateModel( + name='GiftCode', + fields=[ + ('id', models.AutoField(serialize=False, primary_key=True, verbose_name='ID', auto_created=True)), + ('code', models.CharField(default=lambdainst.models.random_gift_code, max_length=32)), + ('time', models.DurationField(default=datetime.timedelta(30))), + ('created', models.DateTimeField(null=True, auto_now_add=True)), + ('single_use', models.BooleanField(default=True)), + ('free_only', models.BooleanField(default=True)), + ('available', models.BooleanField(default=True)), + ('comment', models.TextField(blank=True)), + ('created_by', models.ForeignKey(related_name='created_giftcode_set', null=True, blank=True, to=settings.AUTH_USER_MODEL)), + ], + options={ + 'verbose_name_plural': 'Gift Codes', + 'verbose_name': 'Gift Code', + }, + ), + migrations.CreateModel( + name='GiftCodeUser', + fields=[ + ('id', models.AutoField(serialize=False, primary_key=True, verbose_name='ID', auto_created=True)), + ('date', models.DateTimeField(null=True, auto_now_add=True)), + ('code', models.ForeignKey(to='lambdainst.GiftCode')), + ('user', models.ForeignKey(to=settings.AUTH_USER_MODEL)), + ], + options={ + 'verbose_name_plural': 'Gift Code Users', + 'verbose_name': 'Gift Code User', + }, + ), + migrations.CreateModel( + name='VPNUser', + fields=[ + ('id', models.AutoField(serialize=False, primary_key=True, verbose_name='ID', auto_created=True)), + ('notes', models.TextField(blank=True)), + ('expiration', models.DateTimeField(null=True, blank=True)), + ('last_expiry_notice', models.DateTimeField(null=True, blank=True)), + ('notify_expiration', models.BooleanField(default=True)), + ('trial_periods_given', models.IntegerField(default=0)), + ('last_vpn_auth', models.DateTimeField(null=True, blank=True)), + ('referrer_used', models.BooleanField(default=False)), + ('referrer', models.ForeignKey(related_name='referrals', null=True, on_delete=django.db.models.deletion.SET_NULL, blank=True, to=settings.AUTH_USER_MODEL)), + ('user', models.OneToOneField(to=settings.AUTH_USER_MODEL)), + ], + options={ + 'verbose_name_plural': 'VPN Users', + 'verbose_name': 'VPN User', + }, + ), + migrations.AddField( + model_name='giftcode', + name='users', + field=models.ManyToManyField(through='lambdainst.GiftCodeUser', to=settings.AUTH_USER_MODEL), + ), + ] diff --git a/lambdainst/migrations/__init__.py b/lambdainst/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/lambdainst/models.py b/lambdainst/models.py new file mode 100644 index 0000000..cad186e --- /dev/null +++ b/lambdainst/models.py @@ -0,0 +1,147 @@ +import random +from datetime import timedelta +from django.db import models +from django.contrib.auth.models import User +from django.utils.translation import ugettext as _ +from django.utils import timezone +from django.conf import settings +from django.db.models.signals import post_save +from django.dispatch import receiver + +assert isinstance(settings.TRIAL_PERIOD, timedelta) +assert isinstance(settings.TRIAL_PERIOD_LIMIT, int) + +prng = random.SystemRandom() + + +def random_gift_code(): + charset = "123456789ABCDEFGHIJKLMNPQRSTUVWXYZ" + return ''.join([prng.choice(charset) for n in range(10)]) + + +class VPNUser(models.Model): + class Meta: + verbose_name = _("VPN User") + verbose_name_plural = _("VPN Users") + + user = models.OneToOneField(User, on_delete=models.CASCADE) + notes = models.TextField(blank=True) + + expiration = models.DateTimeField(blank=True, null=True) + last_expiry_notice = models.DateTimeField(blank=True, null=True) + notify_expiration = models.BooleanField(default=True) + + trial_periods_given = models.IntegerField(default=0) + + last_vpn_auth = models.DateTimeField(blank=True, null=True) + + referrer = models.ForeignKey(User, blank=True, null=True, on_delete=models.SET_NULL, + related_name='referrals') + referrer_used = models.BooleanField(default=False) + + @property + def is_paid(self): + if not self.expiration: + return False + return self.expiration > timezone.now() + + @property + def time_left(self): + return timezone.now() - self.expiration + + def add_paid_time(self, time): + now = timezone.now() + if not self.expiration or self.expiration < now: + self.expiration = now + self.expiration += time + + def give_trial_period(self): + self.add_paid_time(settings.TRIAL_PERIOD) + self.trial_periods_given += 1 + + @property + def can_have_trial(self): + if self.trial_periods_given >= settings.TRIAL_PERIOD_LIMIT: + return False + if self.user.payment_set.filter(status='confirmed').count() > 0: + return False + return True + + @property + def remaining_trial_periods(self): + return settings.TRIAL_PERIOD_LIMIT - self.trial_periods_given + + def on_payment_confirmed(self, payment): + if self.referrer and not self.referrer_used: + self.referrer.vpnuser.add_paid_time(timedelta(days=14)) + self.referrer.vpnuser.save() + self.referrer_used = True + + def __str__(self): + return self.user.username + + +@receiver(post_save, sender=User) +def create_vpnuser(sender, instance, created, **kwargs): + if created: + VPNUser.objects.create(user=instance) + + +class GiftCode(models.Model): + class Meta: + verbose_name = _("Gift Code") + verbose_name_plural = _("Gift Codes") + + code = models.CharField(max_length=32, default=random_gift_code) + time = models.DurationField(default=timedelta(days=30)) + created = models.DateTimeField(auto_now_add=True, null=True, blank=True) + created_by = models.ForeignKey(User, related_name='created_giftcode_set', + on_delete=models.CASCADE, null=True, blank=True) + single_use = models.BooleanField(default=True) + free_only = models.BooleanField(default=True) + available = models.BooleanField(default=True) + comment = models.TextField(blank=True) + users = models.ManyToManyField(User, through='GiftCodeUser') + + def use_on(self, user): + if not self.available: + return False + if self.free_only and user.vpnuser.is_paid: + return False + + link = GiftCodeUser(user=user, code=self) + link.save() + + user.vpnuser.add_paid_time(self.time) + user.vpnuser.save() + + if self.single_use: + self.available = False + + self.save() + + return True + + @property + def comment_head(self): + head = self.comment.split('\n', 1)[0] + if len(head) > 80: + head = head[:80] + "..." + return head + + def __str__(self): + return self.code + + +class GiftCodeUser(models.Model): + class Meta: + verbose_name = _("Gift Code User") + verbose_name_plural = _("Gift Code Users") + + user = models.ForeignKey(User) + code = models.ForeignKey(GiftCode) + date = models.DateTimeField(auto_now_add=True, null=True, blank=True) + + def __str__(self): + return "%s (%s)" % (self.user.username, self.code.code) + diff --git a/lambdainst/openvpn.py b/lambdainst/openvpn.py new file mode 100644 index 0000000..b13997b --- /dev/null +++ b/lambdainst/openvpn.py @@ -0,0 +1,98 @@ +from django.utils.translation import ugettext as _ +from django.conf import settings + + +CA_CERT = settings.OPENVPN_CA + +CONFIG_OS = ( + ('windows', _("Windows")), + ('android', _("Android")), + ('ubuntu', _("Ubuntu")), + ('osx', _("OS X")), + ('ios', _("iOS")), + ('freebox', _("Freebox")), + ('other', _("Other / GNU/Linux")), +) + +PROTOCOLS = ( + ('udp', _("UDP (default)")), + ('tcp', _("TCP")), + ('udpl', _("UDP (low MTU)")), +) + + +def make_config(gw_name, os, protocol, http_proxy=None, ipv6=True): + use_frag = protocol == 'udpl' and os != 'ios' + ipv6 = ipv6 and (os != 'freebox') + http_proxy = http_proxy if protocol == 'tcp' else None + resolvconf = os in ('ubuntu', 'other') + + openvpn_proto = {'udp': 'udp', 'udpl': 'udp', 'tcp': 'tcp'} + openvpn_ports = {'udp': 1196, 'udpl': 1194, 'tcp': 443} + + hostname = 'gw.%s.204vpn.net' % gw_name + remote = str(hostname) + remote += ' ' + str(openvpn_ports[protocol]) + remote += ' ' + openvpn_proto[protocol] + + config = """\ +# +----------------------------+ +# | Cognitive Cryptography VPN | +# | https://vpn.ccrypto.org/ | +# +----------------------------+ + +verb 4 +client +tls-client +script-security 2 +remote-cert-tls server +dev tun +nobind +persist-key +persist-tun +comp-lzo yes + +remote {remote} + +auth-user-pass + +""".format(remote=remote) + + if os == 'ios': + # i'd like to note here how much i hate OpenVPN + config += "redirect-gateway ipv6\n" + config += 'push "route 0.0.0.0 128.0.0.0"\n' + config += 'push "route 128.0.0.0 128.0.0.0"\n' + else: + config += "redirect-gateway def1\n" + if ipv6: + config += "tun-ipv6\n" + config += "route-ipv6 2000::/3\n" + config += "\n" + + if use_frag: + config += "fragment 1300\n" + config += "mssfix 1300\n" + config += "\n" + + if http_proxy: + config += "http-proxy %s\n\n" % http_proxy + + if resolvconf: + config += "up /etc/openvpn/update-resolv-conf\n" + config += "down /etc/openvpn/update-resolv-conf\n" + config += "\n" + + if os == 'windows': + config += "register-dns\n" + config += "\n" + + config += "\n%s\n" % CA_CERT + + if os == 'windows': + config = config.replace('\n', '\r\n') + + return config + + + diff --git a/lambdainst/templatetags/active.py b/lambdainst/templatetags/active.py new file mode 100644 index 0000000..1dd1eed --- /dev/null +++ b/lambdainst/templatetags/active.py @@ -0,0 +1,19 @@ +import re + +from django import template +from django.core.urlresolvers import reverse, NoReverseMatch + +register = template.Library() + + +@register.simple_tag(takes_context=True) +def active(context, pattern_or_urlname): + try: + pattern = '^' + reverse(pattern_or_urlname) + except NoReverseMatch: + pattern = pattern_or_urlname + path = context['request'].path + if re.search(pattern, path): + return 'active' + return '' + diff --git a/lambdainst/templatetags/bw.py b/lambdainst/templatetags/bw.py new file mode 100644 index 0000000..04c5d9f --- /dev/null +++ b/lambdainst/templatetags/bw.py @@ -0,0 +1,38 @@ +from django.utils.translation import ugettext, ungettext +from django.template import Library +from django.utils.html import avoid_wrapping +from django.utils import formats + +register = Library() + + +@register.filter(is_safe=True) +def bwformat(bps): + try: + bps = float(bps) + except (TypeError, ValueError, UnicodeDecodeError): + value = ungettext("%(bw)d bps", "%(bw)d bps", 0) % {'bw': 0} + return avoid_wrapping(value) + + filesize_number_format = lambda value: formats.number_format(round(value, 1), -1) + + K = 1 * 10 ** 3 + M = 1 * 10 ** 6 + G = 1 * 10 ** 9 + T = 1 * 10 ** 12 + P = 1 * 10 ** 15 + + if bps < K: + value = ungettext("%(size)d bps", "%(size)d bps", bps) % {'size': bps} + elif bps < M: + value = ugettext("%s Kbps") % filesize_number_format(bps / K) + elif bps < G: + value = ugettext("%s Mbps") % filesize_number_format(bps / M) + elif bps < T: + value = ugettext("%s Gbps") % filesize_number_format(bps / G) + elif bps < P: + value = ugettext("%s Tbps") % filesize_number_format(bps / T) + else: + value = ugettext("%s Pbps") % filesize_number_format(bps / P) + + return avoid_wrapping(value) diff --git a/lambdainst/tests.py b/lambdainst/tests.py new file mode 100644 index 0000000..7af92fb --- /dev/null +++ b/lambdainst/tests.py @@ -0,0 +1,274 @@ +from datetime import timedelta, datetime +from django.test import TestCase +from django.utils import timezone + +from .forms import SignupForm +from .models import VPNUser, User, random_gift_code, GiftCode, GiftCodeUser +from payments.models import Payment + + +class UserTestMixin: + def assertRemaining(self, vpnuser, time): + """ Check that the vpnuser will expire in time (+/- 5 seconds) """ + exp = vpnuser.expiration or timezone.now() + seconds = (exp - timezone.now() - time).total_seconds() + self.assertAlmostEqual(seconds, 0, delta=5) + + +class UserModelTest(TestCase, UserTestMixin): + def setUp(self): + User.objects.create_user('aaa') + + def test_add_time(self): + u = User.objects.get(username='aaa') + vu = u.vpnuser + p = timedelta(days=1) + + self.assertFalse(vu.is_paid) + + vu.expiration = timezone.now() + vu.add_paid_time(p) + final = vu.expiration + + self.assertRemaining(vu, p) + self.assertGreater(final, timezone.now()) + self.assertTrue(vu.is_paid) + + def test_add_time_past(self): + u = User.objects.get(username='aaa') + vu = u.vpnuser + p = timedelta(days=1) + + self.assertFalse(vu.is_paid) + + vu.expiration = timezone.now() - timedelta(days=135) + vu.add_paid_time(p) + final = vu.expiration + + self.assertRemaining(vu, p) + self.assertGreater(final, timezone.now()) + self.assertTrue(vu.is_paid) + + def test_add_time_initial(self): + u = User.objects.get(username='aaa') + vu = u.vpnuser + p = timedelta(days=1) + + self.assertFalse(vu.is_paid) + + vu.add_paid_time(p) + self.assertTrue(vu.is_paid) + + def test_grant_trial(self): + p = timedelta(days=1) + u = User.objects.get(username='aaa') + vu = u.vpnuser + + with self.settings(TRIAL_PERIOD=p, TRIAL_PERIOD_LIMIT=2): + self.assertEqual(vu.remaining_trial_periods, 2) + self.assertTrue(vu.can_have_trial) + vu.give_trial_period() + self.assertRemaining(vu, p) + + self.assertEqual(vu.remaining_trial_periods, 1) + self.assertTrue(vu.can_have_trial) + vu.give_trial_period() + self.assertRemaining(vu, p * 2) + + self.assertEqual(vu.remaining_trial_periods, 0) + self.assertFalse(vu.can_have_trial) + + def test_trial_refused(self): + p = timedelta(days=1) + u = User.objects.get(username='aaa') + payment = Payment.objects.create(user=u, status='confirmed', amount=300, + time=timedelta(days=30)) + payment.save() + + vu = u.vpnuser + + with self.settings(TRIAL_PERIOD=p, TRIAL_PERIOD_LIMIT=2): + self.assertEqual(vu.remaining_trial_periods, 2) + self.assertFalse(vu.can_have_trial) + + +class UserModelReferrerTest(TestCase, UserTestMixin): + def setUp(self): + self.referrer = User.objects.create_user('ref') + + self.without_ref = User.objects.create_user('aaaa') + + self.with_ref = User.objects.create_user('bbbb') + self.with_ref.vpnuser.referrer = self.referrer + + self.payment = Payment.objects.create( + user=self.with_ref, status='confirmed', amount=300, time=timedelta(days=30)) + + def test_no_ref(self): + self.without_ref.vpnuser.on_payment_confirmed(self.payment) + + def test_ref(self): + self.with_ref.vpnuser.on_payment_confirmed(self.payment) + self.assertTrue(self.with_ref.vpnuser.referrer_used) + self.assertEqual(self.with_ref.vpnuser.referrer, self.referrer) + self.assertRemaining(self.referrer.vpnuser, timedelta(days=14)) + + +class GCModelTest(TestCase): + def test_generator(self): + c = random_gift_code() + self.assertEqual(len(c), 10) + self.assertNotEqual(c, random_gift_code()) + + +class SignupViewTest(TestCase): + def test_form(self): + response = self.client.get('/account/signup') + self.assertEqual(response.status_code, 200) + self.assertIsInstance(response.context['form'], SignupForm) + + def test_post(self): + response = self.client.post('/account/signup', { + 'username': 'test_un', 'password': 'test_pw', 'password2': 'test_pw'}) + self.assertRedirects(response, '/account/') + + user = User.objects.get(username='test_un') + self.assertTrue(user.check_password('test_pw')) + + def test_post_error(self): + response = self.client.post('/account/signup', { + 'username': 'test_un', 'password': 'test_pw', 'password2': 'qsdf'}) + self.assertEqual(response.status_code, 200) + self.assertIsInstance(response.context['form'], SignupForm) + self.assertFormError(response, 'form', 'password', + 'Passwords are not the same') + + def test_post_referrer(self): + ref = User.objects.create_user('referrer') + + response = self.client.post('/account/signup?ref=%d' % ref.id, { + 'username': 'test_un', 'password': 'test_pw', 'password2': 'test_pw'}) + self.assertRedirects(response, '/account/') + + user = User.objects.get(username='test_un') + self.assertTrue(user.check_password('test_pw')) + self.assertEqual(user.vpnuser.referrer, ref) + + +class AccountViewsTest(TestCase, UserTestMixin): + def setUp(self): + User.objects.create_user('test', None, 'testpw') + self.client.login(username='test', password='testpw') + + def test_account(self): + response = self.client.get('/account/') + self.assertEqual(response.status_code, 200) + + def test_trial_get(self): + response = self.client.get('/account/trial') + self.assertRedirects(response, '/account/') + + def test_trial(self): + p = timedelta(days=1) + with self.settings(RECAPTCHA_API='TEST', TRIAL_PERIOD=p): + good_data = {'g-recaptcha-response': 'TEST-TOKEN'} + + response = self.client.post('/account/trial', good_data) + self.assertRedirects(response, '/account/') + + user = User.objects.get(username='test') + self.assertRemaining(user.vpnuser, p) + + def test_trial_fail(self): + p = timedelta(days=1) + with self.settings(RECAPTCHA_API='TEST', TRIAL_PERIOD=p): + bad_data = {'g-recaptcha-response': 'TOTALLY-NOT-TEST-TOKEN'} + + response = self.client.post('/account/trial', bad_data) + self.assertRedirects(response, '/account/') + + user = User.objects.get(username='test') + self.assertRemaining(user.vpnuser, timedelta()) + + def test_settings_form(self): + response = self.client.get('/account/settings') + self.assertEqual(response.status_code, 200) + + def test_settings_post(self): + response = self.client.post('/account/settings', { + 'password': 'new_test_pw', 'password2': 'new_test_pw', + 'email': 'new_email@example.com'}) + self.assertEqual(response.status_code, 200) + + user = User.objects.get(username='test') + self.assertTrue(user.check_password('new_test_pw')) + self.assertEqual(user.email, 'new_email@example.com') + + def test_settings_post_fail(self): + response = self.client.post('/account/settings', { + 'password': 'new_test_pw', 'password2': 'new_test_pw_qsdfg', + 'email': 'new_email@example.com'}) + self.assertEqual(response.status_code, 200) + + user = User.objects.get(username='test') + self.assertFalse(user.check_password('new_test_pw')) + self.assertEqual(user.email, 'new_email@example.com') + + def test_giftcode_use_single(self): + gc = GiftCode.objects.create(time=timedelta(days=42), single_use=True) + + response = self.client.post('/account/gift_code', {'code': gc.code}) + self.assertRedirects(response, '/account/') + + user = User.objects.get(username='test') + self.assertRemaining(user.vpnuser, timedelta(days=42)) + + response = self.client.post('/account/gift_code', {'code': gc.code}) + self.assertRedirects(response, '/account/') + + user = User.objects.get(username='test') + self.assertRemaining(user.vpnuser, timedelta(days=42)) # same expiration + + def test_giftcode_use_free_only(self): + gc = GiftCode.objects.create(time=timedelta(days=42), free_only=True) + + response = self.client.post('/account/gift_code', {'code': gc.code}) + self.assertRedirects(response, '/account/') + + user = User.objects.get(username='test') + self.assertRemaining(user.vpnuser, timedelta(days=42)) + + def test_giftcode_use_free_only_fail(self): + gc = GiftCode.objects.create(time=timedelta(days=42), free_only=True) + user = User.objects.get(username='test') + user.vpnuser.add_paid_time(timedelta(days=1)) + user.vpnuser.save() + + response = self.client.post('/account/gift_code', {'code': gc.code}) + self.assertRedirects(response, '/account/') + + user = User.objects.get(username='test') + self.assertRemaining(user.vpnuser, timedelta(days=1)) + + def test_giftcode_create_gcu(self): + gc = GiftCode.objects.create(time=timedelta(days=42)) + + response = self.client.post('/account/gift_code', {'code': gc.code}) + self.assertRedirects(response, '/account/') + + user = User.objects.get(username='test') + gcu = GiftCodeUser.objects.get(user=user, code=gc) + + self.assertRemaining(user.vpnuser, timedelta(days=42)) + self.assertIn(gcu, user.giftcodeuser_set.all()) + + +class CACrtViewTest(TestCase): + def test_ca_crt(self): + with self.settings(OPENVPN_CA='test ca'): + response = self.client.get('/ca.crt') + self.assertEqual(response.status_code, 200) + self.assertEqual(response['Content-Type'], 'application/x-x509-ca-cert') + self.assertEqual(response.content, b'test ca') + + diff --git a/lambdainst/urls.py b/lambdainst/urls.py new file mode 100644 index 0000000..5d1a149 --- /dev/null +++ b/lambdainst/urls.py @@ -0,0 +1,18 @@ +from django.conf.urls import url +from django.contrib.auth import views as auth_views + +from . import views + +urlpatterns = [ + url(r'^login$', auth_views.login, name='login'), + url(r'^logout$', views.logout, name='logout'), + url(r'^signup$', views.signup, name='signup'), + + url(r'^settings', views.settings), + url(r'^config_dl', views.config_dl), + url(r'^config', views.config), + url(r'^logs', views.logs), + url(r'^gift_code', views.gift_code), + url(r'^trial', views.trial), + url(r'^', views.index, name='index'), +] diff --git a/lambdainst/views.py b/lambdainst/views.py new file mode 100644 index 0000000..8d31bb5 --- /dev/null +++ b/lambdainst/views.py @@ -0,0 +1,360 @@ +import requests +import io +import zipfile +from urllib.parse import urlencode +from datetime import timedelta, datetime + +from django.http import HttpResponse, HttpResponseNotFound, HttpResponseForbidden +from django.http import JsonResponse +from django.shortcuts import render, redirect +from django.contrib.auth import authenticate +from django.contrib.auth.decorators import login_required, user_passes_test +from django.contrib.admin.sites import site +from django.contrib import messages +from django.utils.translation import ugettext as _ +from django.utils import timezone +from django.conf import settings as project_settings +from django.views.decorators.csrf import csrf_exempt +from django.db.models import Count +from django.contrib import auth +from django.contrib.auth.models import User +from django_countries import countries + +from payments.models import ACTIVE_BACKENDS +from .forms import SignupForm +from .models import GiftCode, VPNUser +from .core import core_api, current_active_sessions, get_locations as core_get_locations +from .core import LCORE_INST_SECRET, LCORE_SOURCE_ADDR +from . import graphs +from . import openvpn + + +def get_locations(): + """ Pretty bad thing that returns get_locations() with translated stuff + that depends on the request + """ + countries_d = dict(countries) + locations = core_get_locations() + for k, v in locations: + cc = v['country_code'].upper() + v['country_name'] = countries_d.get(cc, cc) + return locations + + +def ca_crt(request): + return HttpResponse(content=project_settings.OPENVPN_CA, + content_type='application/x-x509-ca-cert') + + +def logout(request): + auth.logout(request) + return redirect('index') + + +def signup(request): + if request.user.is_authenticated(): + return redirect('account:index') + + if request.method != 'POST': + form = SignupForm() + return render(request, 'ccvpn/signup.html', dict(form=form)) + + form = SignupForm(request.POST) + + if not form.is_valid(): + return render(request, 'ccvpn/signup.html', dict(form=form)) + + user = User.objects.create_user(form.cleaned_data['username'], + form.cleaned_data['email'], + form.cleaned_data['password']) + user.save() + + try: + user.vpnuser.referrer = User.objects.get(id=request.session.get('referrer')) + except User.DoesNotExist: + pass + + user.vpnuser.save() + + user.backend = 'django.contrib.auth.backends.ModelBackend' + auth.login(request, user) + + return redirect('account:index') + + +@login_required +def index(request): + ref_url = project_settings.ROOT_URL + '?ref=' + str(request.user.id) + + twitter_url = 'https://twitter.com/intent/tweet?' + twitter_args = { + 'text': _("Awesome VPN! 3€ per month, with a free 7 days trial!"), + 'via': 'CCrypto_VPN', + 'url': ref_url, + 'related': 'CCrypto_VPN,CCrypto_org' + } + + context = dict( + title=_("Account"), + ref_url=ref_url, + twitter_link=twitter_url + urlencode(twitter_args), + backends=sorted(ACTIVE_BACKENDS.values(), key=lambda x: x.backend_id), + default_backend='paypal', + recaptcha_site_key=project_settings.RECAPTCHA_SITE_KEY, + ) + return render(request, 'lambdainst/account.html', context) + + +def captcha_test(grr, request): + api_url = project_settings.RECAPTCHA_API + + if api_url == 'TEST' and grr == 'TEST-TOKEN': + # FIXME: i'm sorry. + return True + + data = dict(secret=project_settings.RECAPTCHA_SECRET_KEY, + remoteip=request.META['REMOTE_ADDR'], + response=grr) + + try: + r = requests.post(api_url, data=data) + r.raise_for_status() + d = r.json() + return d.get('success') + except (requests.ConnectionError, requests.HTTPError, ValueError): + return False + + +@login_required +def trial(request): + if request.method != 'POST' or not request.user.vpnuser.can_have_trial: + return redirect('account:index') + + grr = request.POST.get('g-recaptcha-response', '') + if captcha_test(grr, request): + request.user.vpnuser.give_trial_period() + request.user.vpnuser.save() + messages.success(request, _("OK!")) + else: + messages.error(request, _("Invalid captcha")) + + return redirect('account:index') + + +@login_required +def settings(request): + if request.method != 'POST': + return render(request, 'lambdainst/settings.html') + + pw = request.POST.get('password') + pw2 = request.POST.get('password2') + if pw and pw2: + if pw != pw2: + messages.error(request, _("Passwords do not match")) + else: + request.user.set_password(pw) + + email = request.POST.get('email') + if email: + request.user.email = email + else: + request.user.email = '' + + request.user.save() + + return render(request, 'lambdainst/settings.html', dict(title=_("Settings"))) + + +@login_required +def gift_code(request): + try: + code = GiftCode.objects.get(code=request.POST.get('code', '').strip(), available=True) + except GiftCode.DoesNotExist: + code = None + + if code is None: + messages.error(request, _("Gift code not found or already used.")) + elif not code.use_on(request.user): + messages.error(request, _("Gift code only available to free accounts.")) + else: + messages.success(request, _("OK!")) + + return redirect('account:index') + + +@login_required +def logs(request): + page_size = 20 + page = int(request.GET.get('page', 0)) + offset = page * page_size + + base = core_api.info['current_instance'] + path = '/users/' + request.user.username + '/sessions/' + l = core_api.get(base + path, offset=offset, limit=page_size) + return render(request, 'lambdainst/logs.html', { + 'sessions': l['items'], + 'page': page, + 'prev': page - 1 if page > 0 else None, + 'next': page + 1 if offset + page_size < l['total_count'] else None, + 'last_page': l['total_count'] // page_size, + 'title': _("Logs"), + }) + + +@login_required +def config(request): + return render(request, 'lambdainst/config.html', dict( + titla=_("Config"), + config_os=openvpn.CONFIG_OS, + config_countries=(c for _, c in get_locations()), + config_protocols=openvpn.PROTOCOLS, + )) + + +@login_required +def config_dl(request): + allowed_cc = [cc for (cc, _) in get_locations()] + + common_options = { + 'protocol': request.GET.get('protocol'), + 'os': request.GET.get('client_os'), + 'http_proxy': request.GET.get('http_proxy'), + 'ipv6': 'enable_ipv6' in request.GET, + } + + # Should be validated since it's used in the filename + # other common options are only put in the config file + protocol = common_options['protocol'] + if protocol not in ('udp', 'udpl', 'tcp'): + return HttpResponseNotFound() + + location = request.GET.get('gateway') + + if location == 'all': + # Multiple gateways in a zip archive + + f = io.BytesIO() + z = zipfile.ZipFile(f, mode='w') + + for gw_name in allowed_cc + ['random']: + filename = 'ccrypto-%s-%s.ovpn' % (gw_name, protocol) + config = openvpn.make_config(gw_name=gw_name, **common_options) + z.writestr(filename, config.encode('utf-8')) + + z.close() + + r = HttpResponse(content=f.getvalue(), content_type='application/zip') + r['Content-Disposition'] = 'attachment; filename="%s.zip"' % filename + return r + else: + # Single gateway + if location[3:] in allowed_cc: + gw_name = location[3:] + else: + gw_name = 'random' + filename = 'ccrypto-%s-%s.ovpn' % (gw_name, protocol) + + config = openvpn.make_config(gw_name=gw_name, **common_options) + + if 'plain' in request.GET: + return HttpResponse(content=config, content_type='text/plain') + else: + r = HttpResponse(content=config, content_type='application/x-openvpn-profile') + r['Content-Disposition'] = 'attachment; filename="%s.ovpn"' % filename + return r + + +@csrf_exempt +def api_auth(request): + if request.method != 'POST': + return HttpResponseNotFound() + + username = request.POST.get('username') + password = request.POST.get('password') + secret = request.POST.get('secret') + + if secret != LCORE_INST_SECRET: + return HttpResponseForbidden(content="Invalid secret") + + user = authenticate(username=username, password=password) + if not user or not user.is_active: + return JsonResponse(dict(status='fail', message="Invalid credentials")) + + if not user.vpnuser.is_paid: + return JsonResponse(dict(status='fail', message="Not allowed to connect")) + + user.vpnuser.last_vpn_auth = timezone.now() + user.vpnuser.save() + + return JsonResponse(dict(status='ok')) + + +def status(request): + locations = get_locations() + + ctx = { + 'title': _("Status"), + 'n_users': VPNUser.objects.filter(expiration__gte=timezone.now()).count(), + 'n_sess': current_active_sessions(), + 'n_gws': sum(l['servers'] for cc, l in locations), + 'n_countries': len(set(cc for cc, l in locations)), + 'total_bw': sum(l['bandwidth'] for cc, l in locations), + 'locations': locations, + } + return render(request, 'lambdainst/status.html', ctx) + + +@user_passes_test(lambda user: user.is_staff) +def admin_status(request): + graph_name = request.GET.get('graph_name') + graph_period = request.GET.get('period') + if graph_period not in ('y', 'm'): + graph_period = 'm' + if graph_name: + if graph_name == 'users': + content = graphs.users_graph(graph_period) + elif graph_name == 'payments_paid': + content = graphs.payments_paid_graph(graph_period) + elif graph_name == 'payments_success': + content = graphs.payments_success_graph(graph_period) + else: + return HttpResponseNotFound() + return HttpResponse(content=content, content_type='image/svg+xml') + + payment_status = ((b, b.get_info()) for b in ACTIVE_BACKENDS.values()) + payment_status = ((b, i) for (b, i) in payment_status if i) + + ctx = { + 'api_status': {k: str(v) for k, v in core_api.info.items()}, + 'payment_backends': sorted(ACTIVE_BACKENDS.values(), key=lambda x: x.backend_id), + 'payment_status': payment_status, + } + ctx.update(site.each_context(request)) + return render(request, 'lambdainst/admin_status.html', ctx) + + +@user_passes_test(lambda user: user.is_staff) +def admin_ref(request): + last_week = datetime.now() - timedelta(days=7) + last_month = datetime.now() - timedelta(days=30) + + top_ref = User.objects.annotate(n_ref=Count('referrals')).order_by('-n_ref')[:10] + top_ref_week = User.objects.filter(referrals__user__date_joined__gt=last_week) \ + .annotate(n_ref=Count('referrals')) \ + .order_by('-n_ref')[:10] + top_ref_month = User.objects.filter(referrals__user__date_joined__gt=last_month) \ + .annotate(n_ref=Count('referrals')) \ + .order_by('-n_ref')[:10] + + ctx = { + 'top_ref': top_ref, + 'top_ref_week': top_ref_week, + 'top_ref_month': top_ref_month, + } + ctx.update(site.each_context(request)) + return render(request, 'lambdainst/admin_ref.html', ctx) + + + + + diff --git a/locale/fr/LC_MESSAGES/django.po b/locale/fr/LC_MESSAGES/django.po new file mode 100644 index 0000000..80c7d88 --- /dev/null +++ b/locale/fr/LC_MESSAGES/django.po @@ -0,0 +1,1141 @@ +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-07-07 17:43+0000\n" +"PO-Revision-Date: 2016-04-07 01:32+0000\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Language: fr\n" +"X-Source-Language: C\n" +"X-Generator: Poedit 1.8.7.1\n" + +#: ccvpn/passwords.py:41 +msgid "algorithm" +msgstr "" + +#: ccvpn/passwords.py:42 +msgid "salt" +msgstr "" + +#: ccvpn/passwords.py:43 +msgid "hash" +msgstr "" + +#: lambdainst/admin.py:17 +msgid "Code must be [a-zA-Z0-9]" +msgstr "" + +#: lambdainst/admin.py:19 +msgid "Code must be between 1 and 32 characters" +msgstr "" + +#: lambdainst/admin.py:39 +msgid "(rewarded)" +msgstr "" + +#: lambdainst/admin.py:41 +msgid "(not rewarded)" +msgstr "" + +#: lambdainst/admin.py:43 +msgid "Referrer" +msgstr "" + +#: lambdainst/admin.py:48 lambdainst/admin.py:92 +msgid "Is paid?" +msgstr "Est payé?" + +#: lambdainst/admin.py:83 +msgid "Important dates" +msgstr "Dates importantes" + +#: lambdainst/admin.py:84 +msgid "Permissions" +msgstr "Permissions" + +#: lambdainst/admin.py:116 tickets/admin.py:52 +msgid "Comment" +msgstr "Notes" + +#: lambdainst/forms.py:25 +msgid "Username taken." +msgstr "Identifiant réservé." + +#: lambdainst/forms.py:32 lambdainst/forms.py:35 templates/ccvpn/signup.html:13 +msgid "Username" +msgstr "Identifiant" + +#: lambdainst/forms.py:39 templates/ccvpn/signup.html.py:19 +msgid "Password" +msgstr "Mot de passe" + +#: lambdainst/forms.py:40 +msgid "Anything" +msgstr "N'importe quoi" + +#: lambdainst/forms.py:43 templates/ccvpn/signup.html.py:24 +msgid "Repeat" +msgstr "Répétez" + +#: lambdainst/forms.py:44 +msgid "Same Anything" +msgstr "La même chose" + +#: lambdainst/forms.py:47 lambdainst/forms.py:48 templates/ccvpn/signup.html:30 +#: templates/lambdainst/settings.html.py:22 +#: templates/registration/password_reset_form.html:11 +msgid "E-Mail" +msgstr "E-Mail" + +#: lambdainst/forms.py:54 +msgid "Passwords are not the same" +msgstr "Les mots de passe de correspondent pas" + +#: lambdainst/models.py:24 +msgid "VPN User" +msgstr "VPN User" + +#: lambdainst/models.py:25 +msgid "VPN Users" +msgstr "VPN Users" + +#: lambdainst/models.py:92 +msgid "Gift Code" +msgstr "Code cadeau" + +#: lambdainst/models.py:93 +msgid "Gift Codes" +msgstr "Codes cadeau" + +#: lambdainst/models.py:138 +msgid "Gift Code User" +msgstr "Utilisateur de codes" + +#: lambdainst/models.py:139 +msgid "Gift Code Users" +msgstr "Utilisateurs de codes" + +#: lambdainst/openvpn.py:8 templates/ccvpn/page.html.py:17 +msgid "Windows" +msgstr "Windows" + +#: lambdainst/openvpn.py:9 templates/ccvpn/page.html.py:16 +msgid "Android" +msgstr "Android" + +#: lambdainst/openvpn.py:10 +msgid "Ubuntu" +msgstr "Ubuntu" + +#: lambdainst/openvpn.py:11 templates/ccvpn/page.html.py:19 +msgid "OS X" +msgstr "OS X" + +#: lambdainst/openvpn.py:12 +msgid "iOS" +msgstr "iOS" + +#: lambdainst/openvpn.py:13 +msgid "Freebox" +msgstr "Freebox" + +#: lambdainst/openvpn.py:14 +msgid "Other / GNU/Linux" +msgstr "Autre / GNU/Linux" + +#: lambdainst/openvpn.py:18 +msgid "UDP (default)" +msgstr "UDP (par défaut)" + +#: lambdainst/openvpn.py:19 +msgid "TCP" +msgstr "TCP" + +#: lambdainst/openvpn.py:20 +msgid "UDP (low MTU)" +msgstr "UDP (MTU réduit)" + +#: lambdainst/templatetags/bw.py:14 +#, python-format +msgid "%(bw)d bps" +msgid_plural "%(bw)d bps" +msgstr[0] "" +msgstr[1] "" + +#: lambdainst/templatetags/bw.py:26 +#, python-format +msgid "%(size)d bps" +msgid_plural "%(size)d bps" +msgstr[0] "" +msgstr[1] "" + +#: lambdainst/templatetags/bw.py:28 +#, python-format +msgid "%s Kbps" +msgstr "" + +#: lambdainst/templatetags/bw.py:30 +#, python-format +msgid "%s Mbps" +msgstr "" + +#: lambdainst/templatetags/bw.py:32 +#, python-format +msgid "%s Gbps" +msgstr "" + +#: lambdainst/templatetags/bw.py:34 +#, python-format +msgid "%s Tbps" +msgstr "" + +#: lambdainst/templatetags/bw.py:36 +#, python-format +msgid "%s Pbps" +msgstr "" + +#: lambdainst/views.py:91 +msgid "Awesome VPN! 3€ per month, with a free 7 days trial!" +msgstr "" + +#: lambdainst/views.py:98 templates/account_layout.html.py:9 +#: templates/account_layout.html:11 templates/lambdainst/account.html.py:10 +msgid "Account" +msgstr "Compte" + +#: lambdainst/views.py:137 lambdainst/views.py:180 +msgid "OK!" +msgstr "OK!" + +#: lambdainst/views.py:139 +msgid "Invalid captcha" +msgstr "Captcha invalide" + +#: lambdainst/views.py:153 +msgid "Passwords do not match" +msgstr "Les mots de passe ne correspondent pas" + +#: lambdainst/views.py:165 templates/account_layout.html.py:13 +#: templates/lambdainst/settings.html:6 +msgid "Settings" +msgstr "Options" + +#: lambdainst/views.py:176 +msgid "Gift code not found or already used." +msgstr "Code inconnu ou déjà utilisé." + +#: lambdainst/views.py:178 +msgid "Gift code only available to free accounts." +msgstr "Code uniquement disponible pour les nouveaux comptes." + +#: lambdainst/views.py:200 templates/account_layout.html.py:15 +#: templates/lambdainst/logs.html:6 +msgid "Logs" +msgstr "Logs" + +#: lambdainst/views.py:207 templates/lambdainst/config.html.py:7 +msgid "Config" +msgstr "Config" + +#: lambdainst/views.py:296 payments/backends.py:120 payments/backends.py:122 +#: templates/admin/index.html:53 templates/admin/index.html.py:56 +#: templates/lambdainst/admin_ref.html:16 +#: templates/lambdainst/admin_status.html:16 templates/payments/list.html:13 +#: templates/tickets/index.html.py:29 templates/tickets/list.html:14 +msgid "Status" +msgstr "État" + +#: payments/admin.py:16 +msgid "Payment Data" +msgstr "Données de paiement" + +#: payments/admin.py:39 +msgid "Amount" +msgstr "Montant" + +#: payments/admin.py:43 +msgid "Paid amount" +msgstr "Montant payé" + +#: payments/backends.py:47 payments/backends.py:48 +msgid "Bitcoin" +msgstr "" + +#: payments/backends.py:81 +#, python-format +msgid "Please send %(amount)s BTC to %(address)s" +msgstr "Envoyez %(amount)s BTC à %(address)s" + +#: payments/backends.py:125 +msgid "Bitcoin value" +msgstr "Valeur du Bitcoin" + +#: payments/backends.py:126 +msgid "Testnet" +msgstr "" + +#: payments/backends.py:127 +msgid "Balance" +msgstr "Balance" + +#: payments/backends.py:128 +msgid "Blocks" +msgstr "Blocks" + +#: payments/backends.py:129 +msgid "Bitcoind version" +msgstr "Version de Bitcoind" + +#: payments/backends.py:147 +msgid "Manual" +msgstr "Manuel" + +#: payments/backends.py:152 payments/backends.py:153 +msgid "PayPal" +msgstr "PayPal" + +#: payments/backends.py:189 +msgid "" +"Waiting for PayPal to confirm the transaction... It can take up to a few " +"minutes..." +msgstr "" +"En attente de la confirmation par Paypal... Cette étape peut durer quelques " +"minutes..." + +#: payments/backends.py:258 +msgid "Stripe" +msgstr "Stripe" + +#: payments/backends.py:259 +msgid "Credit Card or Alipay (Stripe)" +msgstr "Carte ou Alipay (Stripe)" + +#: payments/backends.py:312 +msgid "No payment information was received." +msgstr "Aucune information de paiement reçue." + +#: payments/backends.py:329 +msgid "The payment has been refunded or rejected." +msgstr "Le paiement a été remboursé ou rejeté." + +#: payments/backends.py:337 +msgid "The paid amount is under the required amount." +msgstr "La montant payé est inférieur au montant requis." + +#: payments/backends.py:361 +msgid "Coinbase" +msgstr "Coinbase" + +#: payments/backends.py:362 +msgid "Bitcoin with CoinBase" +msgstr "Bitcoin avec CoinBase" + +#: payments/models.py:14 +msgid "Waiting for payment" +msgstr "En attente du paiement" + +#: payments/models.py:15 +msgid "Confirmed" +msgstr "Confirmé" + +#: payments/models.py:16 +msgid "Cancelled" +msgstr "Annullé" + +#: payments/models.py:17 +msgid "Rejected by processor" +msgstr "Rejeté" + +#: payments/models.py:18 +msgid "Payment processing failed" +msgstr "Traitement échoué" + +#: payments/models.py:22 +msgid "Every 6 months" +msgstr "Tous les 6 mois" + +#: payments/models.py:23 +msgid "Yearly" +msgstr "Annuel" + +#: templates/account_layout.html:12 +msgid "Config Download" +msgstr "Configuration" + +#: templates/account_layout.html:14 +msgid "Payments" +msgstr "Paiements" + +#: templates/admin/index.html:20 +#, python-format +msgid "Models in the %(name)s application" +msgstr "" + +#: templates/admin/index.html:31 templates/lambdainst/account.html.py:61 +#: templates/lambdainst/account.html:83 +msgid "Add" +msgstr "Ajouter" + +#: templates/admin/index.html:37 +msgid "Change" +msgstr "" + +#: templates/admin/index.html:47 +msgid "You don't have permission to edit anything." +msgstr "" + +#: templates/admin/index.html:60 +msgid "Referrers Stats" +msgstr "" + +#: templates/admin/index.html:71 +msgid "Recent Actions" +msgstr "" + +#: templates/admin/index.html:72 +msgid "My Actions" +msgstr "" + +#: templates/admin/index.html:76 +msgid "None available" +msgstr "" + +#: templates/admin/index.html:90 +msgid "Unknown content" +msgstr "" + +#: templates/ccvpn/index.html:6 +msgid "CCrypto VPN is a cheap, fast, anonymous and secure VPN service" +msgstr "" +"CCrypto VPN est un service de VPN peu cher, rapide, anonyme et sécurisé" + +#: templates/ccvpn/index.html:15 +msgid "Unlimited" +msgstr "Illimité" + +#: templates/ccvpn/index.html:16 +msgid "Unlimited bandwidth" +msgstr "Bande passante illimitée" + +#: templates/ccvpn/index.html:17 +msgid "Uncensored" +msgstr "Sans censure" + +#: templates/ccvpn/index.html:18 +msgid "We have porn and pirates." +msgstr "Avec du porn et des pirates." + +#: templates/ccvpn/index.html:24 +msgid "Cheap" +msgstr "Pas cher" + +#: templates/ccvpn/index.html:25 +msgid "per month!" +msgstr "par mois!" + +#: templates/ccvpn/index.html:26 +msgid "We accept Paypal, Bitcoins and Stripe." +msgstr "Accepte PayPal, des Bitcoins et Stripe." + +#: templates/ccvpn/index.html:32 +msgid "Secure" +msgstr "Sécurisé" + +#: templates/ccvpn/index.html:33 +msgid "Encrypted tunnel" +msgstr "Tunnel chiffré" + +#: templates/ccvpn/index.html:34 +msgid "with an anonymous address." +msgstr "avec une adresse anonyme." + +#: templates/ccvpn/index.html:35 +msgid "Supports DNSSEC and PFS." +msgstr "Avec du DNSSEC et PFS." + +#: templates/ccvpn/index.html:41 +msgid "OpenVPN" +msgstr "OpenVPN" + +#: templates/ccvpn/index.html:42 +msgid "Secure, Free, easy. On:" +msgstr "Sécurisé, Libre, simple. Sur:" + +#: templates/ccvpn/index.html:54 +msgid "Fast" +msgstr "Rapide" + +#: templates/ccvpn/index.html:56 +msgid "Compressed tunnel." +msgstr "Tunnel compressé." + +#: templates/ccvpn/index.html:57 +msgid "Even on Youtube." +msgstr "Même sur YouTube." + +#: templates/ccvpn/index.html:66 +msgid "Sign up and get your free trial" +msgstr "Créez un compte et profitez de l'essai gratuit" + +#: templates/ccvpn/index.html:72 +msgid "Why?" +msgstr "Pourquoi?" + +#: templates/ccvpn/index.html:74 +msgid "Hide any personal data found from your IP address" +msgstr "Cacher les données personnelles liées à votre adresse IP" + +#: templates/ccvpn/index.html:75 +msgid "Protect yourself on open networks" +msgstr "Protéger vos données et votre vie privée sur des réseaux non sécurisés" + +#: templates/ccvpn/index.html:76 +msgid "Compress traffic on slow connections" +msgstr "Compresser les données sur les connexions lentes" + +#: templates/ccvpn/index.html:77 +msgid "Bypass overly restrictive firewalls" +msgstr "Contourner les firewalls restrictifs" + +#: templates/ccvpn/index.html:78 +msgid "Enable IPv6 on IPv4-only networks" +msgstr "Avoir de l'IPv6 sur les réseaux sans IPv6" + +#: templates/ccvpn/index.html:82 +msgid "VPN done the right way" +msgstr "Le VPN, bien fait" + +#: templates/ccvpn/index.html:84 +msgid "Anonymity" +msgstr "Anonymat" + +#: templates/ccvpn/index.html:84 +msgid "We don't even require your email address." +msgstr "Il n'y a même pas besoin de donner son adresse e-mail." + +#: templates/ccvpn/index.html:85 tickets/models.py:15 +msgid "Security" +msgstr "Sécurité" + +#: templates/ccvpn/index.html:85 +msgid "Best TLS available, RSA 4096b, BlowFish 128b." +msgstr "Meilleur TLS disponible, RSA 4096b, BlowFish 128b." + +#: templates/ccvpn/index.html:86 +msgid "Privacy" +msgstr "Intimité" + +#: templates/ccvpn/index.html:86 +msgid "Not a single byte of your traffic is logged." +msgstr "Pas un seul byte du trafic n'est enregistré." + +#: templates/ccvpn/page.html:8 +msgid "Help" +msgstr "Aide" + +#: templates/ccvpn/page.html:10 +msgid "Frequently Asked Questions" +msgstr "Questions fréquemment posées" + +#: templates/ccvpn/page.html:11 +msgid "Self-Diagnosis" +msgstr "Auto-Diagnostic" + +#: templates/ccvpn/page.html:14 +msgid "Installation" +msgstr "Installation" + +#: templates/ccvpn/page.html:18 +msgid "GNU/Linux" +msgstr "GNU/Linux" + +#: templates/ccvpn/signup.html:8 templates/ccvpn/signup.html.py:37 +#: templates/layout.html:34 +msgid "Sign up" +msgstr "Créer un compte" + +#: templates/ccvpn/signup.html:16 +msgid "2 to 32 alphanumeric characters." +msgstr "2 à 32 caractères alphanumériques." + +#: templates/ccvpn/signup.html:22 +msgid "Anything from 1 to 256 characters." +msgstr "N'importe quoi entre 1 et 256 caractères." + +#: templates/ccvpn/signup.html:27 +msgid "Same password." +msgstr "Le même mot de passe." + +#: templates/ccvpn/signup.html:33 +msgid "Optional." +msgstr "Optionnel." + +#: templates/ccvpn/signup.html:34 +msgid "Used to recover your password and confirm stuff." +msgstr "Utilisé pour retrouver votre mot de passe." + +#: templates/ccvpn/signup.html:41 +msgid "Already a member? Log in" +msgstr "Déjà membre ? Connectez vous" + +#: templates/ccvpn/signup.html:42 templates/registration/login.html.py:18 +msgid "Forgot your password?" +msgstr "Mot de passe oublié ?" + +#: templates/ccvpn/signup.html:43 templates/registration/login.html.py:19 +#: templates/registration/password_reset_confirm.html:22 +#: templates/registration/password_reset_form.html:21 +msgid "Need help?" +msgstr "Besoin d'aide ?" + +#: templates/lambdainst/account.html:15 +#, python-format +msgid "Your account is paid until %(until)s" +msgstr "Votre compte est activé jusqu'au %(until)s" + +#: templates/lambdainst/account.html:18 +#, python-format +msgid "(%(left)s left)" +msgstr "(%(left)s restant)" + +#: templates/lambdainst/account.html:24 +msgid "" +"You can activate your free trial account for two hours periods for up to one " +"week, by clicking this button:" +msgstr "" +"Vous pouvez activez votre compte d'essai pour des périodes de deux heures " +"pendant jusqu'à une semaine avec ce bouton:" + +#: templates/lambdainst/account.html:33 +msgid "Activate" +msgstr "Activer" + +#: templates/lambdainst/account.html:50 +msgid "Your account is not paid." +msgstr "Votre compte n'est pas payé." + +#: templates/lambdainst/account.html:63 +msgid "month" +msgstr "mois" + +#: templates/lambdainst/account.html:64 templates/lambdainst/account.html:65 +#: templates/lambdainst/account.html:66 +msgid "months" +msgstr "mois" + +#: templates/lambdainst/account.html:71 +msgid "with" +msgstr "avec" + +#: templates/lambdainst/account.html:93 +msgid "Gift code" +msgstr "Code cadeau" + +#: templates/lambdainst/account.html:99 +msgid "Use" +msgstr "Utiliser" + +#: templates/lambdainst/account.html:108 +msgid "" +"Get two weeks for free for every referral that takes at least one month!" +msgstr "" +"Gagnez deux semaines gratuites pour chaque client qui a utilisé ce lien !" + +#: templates/lambdainst/account.html:111 +msgid "Share this link" +msgstr "Partagez ce lien" + +#: templates/lambdainst/account.html:115 +msgid "tweet" +msgstr "" + +#: templates/lambdainst/admin_ref.html:15 +#: templates/lambdainst/admin_status.html:15 +msgid "Home" +msgstr "Accueil" + +#: templates/lambdainst/admin_ref.html:25 +msgid "Top Referrers (week)" +msgstr "" + +#: templates/lambdainst/admin_ref.html:39 +msgid "Top Referrers (month)" +msgstr "" + +#: templates/lambdainst/admin_ref.html:53 +msgid "Top Referrers (all time)" +msgstr "" + +#: templates/lambdainst/admin_status.html:25 +msgid "Core API Info" +msgstr "" + +#: templates/lambdainst/admin_status.html:39 +msgid "Active Payment Backends" +msgstr "Méthodes de payment actives" + +#: templates/lambdainst/admin_status.html:57 +msgid "Backend: " +msgstr "Méthode :" + +#: templates/lambdainst/config.html:11 +msgid "OS" +msgstr "OS" + +#: templates/lambdainst/config.html:20 +msgid "Gateway" +msgstr "Serveur" + +#: templates/lambdainst/config.html:22 +msgid "Random" +msgstr "Aléatoire" + +#: templates/lambdainst/config.html:23 +msgid "All (multiple config files)" +msgstr "Tous (plusieurs fichiers)" + +#: templates/lambdainst/config.html:26 +msgid "Country" +msgstr "Pays" + +#: templates/lambdainst/config.html:36 +msgid "Protocol" +msgstr "Protocole" + +#: templates/lambdainst/config.html:42 +msgid "" +"TCP is slower. Use it only if you have important packet loss or if UDP is " +"filtered." +msgstr "" +"TCP est plus lent. Ne l'utilisez que si l'UDP est bloqué ou pose des " +"problèmes." + +#: templates/lambdainst/config.html:46 +msgid "Use HTTP Proxy?" +msgstr "Utiliser un proxy?" + +#: templates/lambdainst/config.html:48 +msgid "Leave empty if you don't know." +msgstr "Dans le doute, laissez vide." + +#: templates/lambdainst/config.html:50 +msgid "Requires TCP." +msgstr "Nécéssite TCP." + +#: templates/lambdainst/config.html:56 +msgid "Enable IPv6?" +msgstr "Activer l'IPv6?" + +#: templates/lambdainst/config.html:60 +msgid "Download config" +msgstr "Télécharger la config" + +#: templates/lambdainst/logs.html:7 +msgid "" +"Everything we have to keep about you. Automatically deleted after 1 year." +msgstr "" +"Tout ce que nous avons l'obligation de garder. Automatiquement éffacé au " +"bout de 1 an." + +#: templates/lambdainst/logs.html:12 templates/payments/list.html.py:11 +msgid "Date" +msgstr "Date" + +#: templates/lambdainst/logs.html:13 +msgid "Duration" +msgstr "Durée" + +#: templates/lambdainst/logs.html:14 +msgid "Client IP" +msgstr "IP Source" + +#: templates/lambdainst/logs.html:15 +msgid "Shared IP" +msgstr "IP Partagée" + +#: templates/lambdainst/logs.html:16 templates/lambdainst/status.html.py:42 +msgid "Bandwidth" +msgstr "Bande passante" + +#: templates/lambdainst/logs.html:27 tickets/admin.py:58 tickets/models.py:58 +msgid "Open" +msgstr "Open" + +#: templates/lambdainst/logs.html:30 templates/lambdainst/logs.html.py:31 +msgid "[unknown]" +msgstr "[inconnu]" + +#: templates/lambdainst/mail_expire_soon.txt:4 +#, python-format +msgid "Your account will expire in %(exp)s" +msgstr "Votre compte expirera le %(exp)s" + +#: templates/lambdainst/mail_expire_soon.txt:5 +msgid "You can renew it here:" +msgstr "Vous pouvez le renouveller ici:" + +#: templates/lambdainst/settings.html:12 templates/lambdainst/settings.html:17 +msgid "Change password" +msgstr "Changer le mot de passe" + +#: templates/lambdainst/settings.html:17 +msgid "repeat" +msgstr "répétez" + +#: templates/lambdainst/settings.html:27 +msgid "Save" +msgstr "Enregistrer" + +#: templates/lambdainst/status.html:8 +msgid "Our Servers" +msgstr "Nos Serveurs" + +#: templates/lambdainst/status.html:12 +#, python-format +msgid "We have %(n_users)s active users." +msgstr "Il y a %(n_users)s comptes actifs." + +#: templates/lambdainst/status.html:15 +#, python-format +msgid "%(n_sess)s are using our VPN right now." +msgstr "%(n_sess)s sont connectés en ce moment." + +#: templates/lambdainst/status.html:20 +#, python-format +msgid "" +"They are connected to %(n_gws)s servers spread across " +"%(n_countries)s countries to provide a low-latency and secure access " +"anywhere in the world." +msgstr "" +"Ils sont connectés à %(n_gws)s serveurs répartis sur " +"%(n_countries)s pays, pour fournir un accès rapide et sécurisé dans le " +"monde entier." + +#: templates/lambdainst/status.html:28 +#, python-format +msgid "" +"Our network has a total bandwidth of %(total_bw)s and all our " +"servers are DDoS-protected." +msgstr "" +"Notre réseau a une bande passante totale de %(total_bw)s et tous " +"nos serveurs sont protégés contre les attaques DDoS." + +#: templates/lambdainst/status.html:36 +msgid "Locations" +msgstr "Localisations" + +#: templates/lambdainst/status.html:39 +msgid "Location" +msgstr "Localisation" + +#: templates/lambdainst/status.html:40 +msgid "Hostname" +msgstr "Nom" + +#: templates/lambdainst/status.html:41 templates/layout.html.py:50 +msgid "Servers" +msgstr "Serveurs" + +#: templates/layout.html:22 +msgid "Service Status" +msgstr "État des services" + +#: templates/layout.html:30 +msgid "Your account" +msgstr "Votre compte" + +#: templates/layout.html:31 +msgid "Logout" +msgstr "Se déconnecter" + +#: templates/layout.html:35 templates/registration/login.html.py:8 +#: templates/registration/login.html:13 +msgid "Log in" +msgstr "Se connecter" + +#: templates/layout.html:49 +msgid "VPN" +msgstr "VPN" + +#: templates/layout.html:51 +msgid "Guides" +msgstr "Guides" + +#: templates/layout.html:53 templates/tickets/index.html.py:6 +#: templates/tickets/layout.html:8 tickets/models.py:14 +msgid "Support" +msgstr "Support" + +#: templates/layout.html:56 +msgid "Admin" +msgstr "Admin" + +#: templates/layout.html:75 +msgid "CCrypto_VPN on Twitter" +msgstr "CCrypto_VPN sur Twitter" + +#: templates/layout.html:76 +msgid "ToS" +msgstr "CGU" + +#: templates/layout.html:77 +msgid "It's open-source!" +msgstr "C'est open-source!" + +#: templates/layout.html:85 +msgid "Any question? Chat with us" +msgstr "Une question ? Contactez nous" + +#: templates/payments/form.html:7 templates/payments/view.html.py:13 +msgid "Payment" +msgstr "Paiement" + +#: templates/payments/list.html:6 +msgid "Subscription" +msgstr "Abonnement" + +#: templates/payments/list.html:12 +msgid "Value" +msgstr "Valeur" + +#: templates/payments/view.html:23 +msgid "The payment has been confirmed." +msgstr "Le paiement a été confirmé." + +#: templates/payments/view.html:25 +msgid "The payment has been cancelled." +msgstr "Le paiement a été annulé." + +#: templates/payments/view.html:27 +msgid "This page will be updated with payment progress." +msgstr "Cette page sera mise à jour avec la progression du paiement." + +#: templates/payments/view.html:30 +msgid "Go back to your account" +msgstr "Retourner sur votre compte" + +#: templates/registration/login.html:17 +#: templates/registration/password_reset_confirm.html:20 +#: templates/registration/password_reset_form.html:19 +msgid "Don't have an account? Create one" +msgstr "Pas de compte ? Créez-en un" + +#: templates/registration/password_reset_complete.html:8 +#: templates/registration/password_reset_confirm.html:8 +#: templates/registration/password_reset_done.html:8 +#: templates/registration/password_reset_form.html:8 +msgid "Password Reset" +msgstr "Réinitialisation de mot de passe" + +#: templates/registration/password_reset_complete.html:10 +msgid "Your password has been changed." +msgstr "Votre mot de passe a bien été changé." + +#: templates/registration/password_reset_complete.html:11 +msgid "You can now log in with your new password." +msgstr "Vous pouvez maintenant vous connecter avec votre nouveau mot de passe." + +#: templates/registration/password_reset_confirm.html:13 +msgid "Reset" +msgstr "Réinitialiser" + +#: templates/registration/password_reset_confirm.html:16 +msgid "Invalid reset link." +msgstr "Lien de réinitialisatio invalide." + +#: templates/registration/password_reset_confirm.html:21 +#: templates/registration/password_reset_form.html:20 +msgid "Remember your password? Log in" +msgstr "Vous vous en rappelez ? Connectez-vous" + +#: templates/registration/password_reset_done.html:10 +msgid "Sent! Check your emails to reset your password." +msgstr "Envoyé! Allez voir vos emails pour confirmer." + +#: templates/registration/password_reset_form.html:15 +msgid "Reset Password" +msgstr "Changer le mot de passe" + +#: templates/tickets/index.html:10 +msgid "Before creating a ticket, please check if you question is convered in" +msgstr "Avant d'ouvrir un ticket, vérifiez que votre question n'est pas dans" + +#: templates/tickets/index.html:11 +msgid "the FAQ" +msgstr "la FAQ" + +#: templates/tickets/index.html:13 +#, python-format +msgid "" +"If you would prefer to talk us in real time, we have a live chat.
You can also use your own IRC client on #ccrypto on " +"chat.freenode.net. We are however not always online and you may have to wait." +msgstr "" +"Si vous préférez nous parler directement, nous avons un chat live.
Vous pouvez aussi utiliser un client " +"IRC sur #ccrypto sur chat.freenode.net. Nous ne sommes pas présents 24h/24," +"il faudra peut-être attendre." + +#: templates/tickets/index.html:23 +msgid "Your open tickets" +msgstr "Vos tickets ouverts" + +#: templates/tickets/index.html:27 templates/tickets/list.html.py:12 +msgid "ID" +msgstr "ID" + +#: templates/tickets/index.html:28 templates/tickets/list.html.py:13 +#: tickets/forms.py:8 +msgid "Subject" +msgstr "Sujet" + +#: templates/tickets/layout.html:10 +msgid "Live Chat" +msgstr "Chat Live" + +#: templates/tickets/layout.html:11 templates/tickets/new.html.py:7 +msgid "New Ticket" +msgstr "Nouveau ticket" + +#: templates/tickets/layout.html:12 +msgid "Open Tickets" +msgstr "Tickets ouverts" + +#: templates/tickets/layout.html:14 +msgid "Closed Tickets" +msgstr "Tickets fermés" + +#: templates/tickets/layout.html:16 +msgid "All Open" +msgstr "Tous ouverts" + +#: templates/tickets/layout.html:18 +msgid "All Closed" +msgstr "Tous fermés" + +#: templates/tickets/list.html:6 +msgid "Tickets" +msgstr "Tickets" + +#: templates/tickets/list.html:16 +msgid "User" +msgstr "Auteur" + +#: templates/tickets/list.html:49 +msgid "No ticket to show." +msgstr "Aucun ticket." + +#: templates/tickets/mail_support_new.txt:5 +msgid "A new ticket has been created." +msgstr "Un nouveau ticket a été crée." + +#: templates/tickets/mail_support_new.txt:8 +msgid "Category:" +msgstr "Catégorie :" + +#: templates/tickets/mail_support_new.txt:9 +msgid "Subject:" +msgstr "Sujet :" + +#: templates/tickets/mail_support_new.txt:10 +msgid "User:" +msgstr "Auteur :" + +#: templates/tickets/mail_support_reply.txt:5 +msgid "New reply on ticket:" +msgstr "Nouvelle réponse au ticket :" + +#: templates/tickets/mail_support_reply.txt:6 +msgid "From:" +msgstr "Par :" + +#: templates/tickets/mail_user_close.txt:5 +msgid "Your ticket was closed." +msgstr "Votre ticket a été fermé." + +#: templates/tickets/mail_user_reply.txt:5 +msgid "New reply on your ticket:" +msgstr "Nouvelle réponse à votre ticket:" + +#: templates/tickets/new.html:13 +msgid "Open Ticket" +msgstr "Créer le ticket" + +#: templates/tickets/view.html:7 tickets/models.py:66 tickets/models.py:72 +#: tickets/models.py:82 +msgid "Ticket:" +msgstr "Ticket:" + +#: templates/tickets/view.html:9 +msgid "closed" +msgstr "fermé" + +#: templates/tickets/view.html:20 tickets/forms.py:23 +msgid "Private" +msgstr "Privé" + +#: templates/tickets/view.html:40 +msgid "Reply" +msgstr "Répondre" + +#: templates/tickets/view.html:42 +msgid "Close Ticket" +msgstr "Fermer le ticket" + +#: templates/tickets/view.html:44 +msgid "Re-open Ticket" +msgstr "Ré-ouvrir le ticket" + +#: tickets/admin.py:11 +msgid "Close selected tickets (without notice)" +msgstr "Fermer les tickets (sans notification)" + +#: tickets/admin.py:19 +msgid "Close selected tickets" +msgstr "Fermer les tickets séléctionnés" + +#: tickets/admin.py:56 +msgid "Re-opened" +msgstr "Ré-ouvert" + +#: tickets/admin.py:60 tickets/models.py:53 +msgid "Closed" +msgstr "Fermé" + +#: tickets/forms.py:7 +msgid "Category" +msgstr "Catégorie" + +#: tickets/forms.py:9 +msgid "Message" +msgstr "Message" + +#: tickets/models.py:16 +msgid "Account / Billing" +msgstr "Compte / Facturation" + +#: tickets/models.py:36 +msgid "Can view any ticket" +msgstr "Peut voir n'importe quel ticket" + +#: tickets/models.py:37 +msgid "Can reply to any ticket" +msgstr "Peut répondre à n'importe quel ticket" + +#: tickets/models.py:38 +msgid "Can view private messages on tickets" +msgstr "Peut voir les messages privés" + +#: tickets/models.py:39 +msgid "Can post private messages on tickets" +msgstr "Peut envoyer des messages privés" + +#: tickets/models.py:56 +msgid "Waiting for staff" +msgstr "En attente du support" diff --git a/manage.py b/manage.py new file mode 100755 index 0000000..d8626e8 --- /dev/null +++ b/manage.py @@ -0,0 +1,10 @@ +#!/usr/bin/env python +import os +import sys + +if __name__ == "__main__": + os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ccvpn.settings") + + from django.core.management import execute_from_command_line + + execute_from_command_line(sys.argv) diff --git a/pages/faq.en.md b/pages/faq.en.md new file mode 100644 index 0000000..b4c2333 --- /dev/null +++ b/pages/faq.en.md @@ -0,0 +1,126 @@ +Title: Frequently Asked Questions + +[TOC] + +General +------- + +### What is a VPN? +A Virtual Private Network is a private network on the Internet. +Here, it is made of our customers and our servers acts like routers. +That means that everything goes through our servers, and you appear anonymous +on the Internet. +Because of the strong encryption used, attackers or your ISP cannot log, +filter, or change anything. + +### Why should I pay to use it instead of tor? +Although tor may be free (and extremely good for some usage), tor is also very +slow and exit nodes can see and intercept your traffic. +This means that tor is good if you want full anonymity, but not for +everyday web browsing, or to play an online game. For that, a VPN is perfect. + +### Do you propose an affiliate program? +Yes! Share your affiliate link and earn 2 weeks for each referral. +Invite 24 friends and you get one year of free VPN! + +### Can I have a static IP address? +Yes, as each server has its own address. You only have to choose one. + +### Can I have a dedicated IP address? +Not at the moment. + +### Do you monitor or limit bandwidth usage? +No, every user share each VPN server's connection. +We always try to have enough bandwidth (at least 20Mbps) available +for everyone. + +### Do you censor some websites or protocols? +No and we will never do it. + +### Which protocols are supported? +We only support OpenVPN for now. + +### Which payment methods are supported? +We support Paypal, Stripe (credit card) and Bitcoin. +Feel free to ask [the support](/page/help) if you need any other method. + +### Is it open-source? +Yes! Our VPN is made with OpenVPN. +Our servers' config and this website are also open-source and available on our +[GitHub project](https://github.com/CCrypto/ccvpn/). + +### Are my data kept secure? +Yes, the VPN traffic is strongly encrypted and we do not keep any data on the +VPN servers. +The website and database are on a different server, in a +different datacenter. + +### Will there be more servers/countries available? +Yes, but we first need money to pay the servers. +If you would like to have a server somewhere, know a good provider or would +like to host one, please contact us. + + +Account +------- + +### Can I have a trial account? +Yes, we provide 7 days trial accounts. +You just have to [sign up](/account/signup). + +### Can I use my account on multiple machines? +Yes, you can! Up to 10 at the same time! + +### How can I delete my account? +Contact [the support](/page/help). + + +Technical +--------- + +### Encryption used +Authentication uses a 4096 bits RSA key. (3072 bits on oldest servers) +The current recommended key size considered safe until 2030 is 2048 bits. + +VPN trafic encryption is performed with the Blowfish cipher using a random +128 bits key re-generated every 60 minutes, and unique to a VPN connection. + +Key Exchange uses a 3072 bits Diffie-Hellman parameters. +A 2048 bits key is considered safe until 2030. + +### Do you support IPv6? +Yes, most of our servers are dual stack - they perfectly support IPv4 and IPv6 +at the same time. +Some are IPv4 only (but we're working with our providers to fix it) and will +block all IPv6 traffic to make sure your IPv6 address is not leaked. + +### Do you support PPTP? +No, PPTP is not supported and will not be supported. +PPTP is considered insecure and should never be used. + + + +Legal +----- + +### What do you log? +We only keep VPN connection IP addresses because of the law. +We do not keep any data concerning your traffic. + +### Is it really anonymous? +Depends of your definition of anonymous. +It is anonymous, because we will not ask you for your name or verify your +identity to be able to use the VPN, and we use anonymous payment methods +like Bitcoin. +It is anonymous, because no one can find out your identity from the other side +of the VPN. +However, French authorities can ask us for user data (username, email, +payments, ...) + +### Will you log traffic or send user data to authorities? +We won't log your traffic under any condition. +We may give the little we know about you to authorities +only if required by the law to keep the service running. +In this case, we'll try to contact you before doing anything if possible. + + diff --git a/pages/faq.fr.md b/pages/faq.fr.md new file mode 100644 index 0000000..7308457 --- /dev/null +++ b/pages/faq.fr.md @@ -0,0 +1,131 @@ +Title: Questions fréquemment posées + +[TOC] + +Géneral +------- + +### Qu'est-ce qu'un VPN ? +Un VPN (Réseau Privé Virtuel) est un réseau virtual permettant de considérer +plusieurs ordinateurs distants comme étant sur le même réseau local. +Ici, c'est utilisé pour faire passer tout le traffic de nos clients +à travers nos serveurs. +Cela permet de paraître anonyme sur Internet et de chiffrer vos communications +pour qu'un intermédiaire (FAI, attaquant, Wifi public, ...) ne puisse pas +vous espionner ou modifier les données et vous garanti un accès neutre et +sécurisé au réseau. + +### Pourquoi payer pour un VPN au lieu d'utiliser Tor ? +Tor a les avantages d'être gratuit et parfaitement anonyme, mais les noeuds +de sortie ne sont pas toujours dignes de confiance et peuvent enregistrer ou +intercepter vos données, et c'est beaucoup plus lent qu'un VPN. +Un VPN est donc largement plus adapté à une utilisation de tous les jours. + +### Avez-vous un programme d'affiliation ? +Oui, vous pouvez partager un lien associé à votre compte, qui vous +fera gagner 2 semaines de VPN pour chaque client l'ayant suivi. +Inviter 24 personnes vous donne donc 1 an de VPN gratuit ! + +### Puis-je avoir une adresse statique ? +Oui, chaque serveur a une adresse statique. Il suffit d'en choisir un. + +### Puis-je avoir une adresse dédiée ? +Non, pas pour le moment. + +### Y a-t-il une limite de bande passante ? +Non, tous les utilisateurs partagent équitablement la connexion des serveurs. +Nous faisons en sorte qu'il y ait toujours un minimum de 20Mbps disponible +pour chaque client. + +### Censurez-vous certains sites ou protocoles ? +Non, et nous ne le ferons jamais. Le VPN vous fourni un accès complêtement neutre. + +### Avec quels protocoles fonctionne le VPN ? +Notre VPN est fait avec OpenVPN. + +### Quelles méthodes de payement sont disponibles ? +Vous pouvez payer par Paypal ou Stripe (carte), ou encore avec des Bitcoins. +Vous pouvez [nous contacter](/page/help) si vous avez besoin d'un autre moyen +de payement. + +### Est-ce Libre ? +Oui ! Notre VPN fonctionne avec OpenVPN, et ce site ansi que les outils que nous +avons développé pour gérer le VPN sont libres et disponibles sur +[GitHub](https://github.com/CCrypto/). + +### Est-ce vraiment sécurisé ? +Oui, le VPN utilise différents algorithmes de chiffrement fiables et nous ne +gardons aucune données sensible sur les serveurs du VPN. +Les comptes clients et historiques de connexions sont uniquement gardés sur des +serveurs séparés. + +### Y aura-t-il plus de serveurs ou dans d'autres pays ? +Oui, nous ajoutons des serveurs en fonction de la demande et de nos moyens. +Si vous voudriez héberger un serveur, recommander un bon hébergeur, ou +seriez simplement intéressé par une certain pays, contactez nous. + +Comptes +------- + +### Puis-je avoir un compte de test gratuit ? +Oui, pendant 7 jours. +Vous n'avez qu'à [créer un compte](/account/signup) et [nous contacter](/page/help). + +### Puis-je utiliser mon compte sur plusieurs machines ? +Oui, vous pouvez utiliser votre compte avec un maximum de 10 connexions +simultannées. +Vous devrez cependant créer un profile pour chacune des +connexions. + +### Comment supprimer mon compte ? +[Contactez nous](/page/help). + + +Technique +--------- + +### Chiffrement +L'authentification utilise une clé RSA de 4096 bits. (3072 sur les serveurs plus anciens) +Les clés de 2048 bits ou plus sont considérées sûres jusqu'à 2030. + +Le traffic est chiffré avec Blowfish, en utilisant une clé aléatoire de 128 bits +re-générée toutes les 60 minutes et unique pour chaque connexion au VPN. + +L'échange de clés (Diffie-Hellman) utilise un groupe de 3072 bits. +2048 bits ou plus est considéré suffisant jusqu'en 2030. + +### Est-ce que l'IPv6 est supporté ? +Oui, la plupart des serveurs fonctionnent en IPv4 et IPv6 (dual stack). +Quelques-uns ne fonctionnent qu'en IPv4 et bloquent entièrement l'IPv6 pour +éviter de laisser passer votre addresse IPv6. + +### Est-ce que le PPTP est supporté ? +Non, le PPTP n'est plus considéré sécurisé et ne doit plus être utilisé. + + +Légal +----- + +### Quelles informations gardez-vous ? +Nous conservons uniquement l'adresses IP et l'heure de chaque connexion, +comme exigé par la loi. Nous n'analysons et n'enregistrons rien concernant +les données passant par le VPN. + +### Est-ce réellement anonyme ? +Ça dépend de votre définition d'anonyme. +C'est anonyme, parce que nous ne vous demandons pas votre nom et ne vérifions pas +votre identité pour vous laisser profiter du VPN, et que nous autorisons des +méthodes de payement anonymes, comme le Bitcoin. +C'est anonyme, parce que l'on ne peut pas associer une connexion à travers le VPN +à votre vraie adresse. +Mais, les autorités françaises peuvent nous demander votre historique de +connexions et les données associées à votre compte. (nom, adresse e-mail, ...) + +### Donnez vous des informations aux autorités ? +Nous ne vous espionnerons jamais. +Le peu de données enregistrées peuvent être transmises aux autorités si requis +par la loi. +Dans ce cas, nous essaierons de contacter les clients concernés avant tout, +si possible. + + diff --git a/pages/help.en.md b/pages/help.en.md new file mode 100644 index 0000000..9647985 --- /dev/null +++ b/pages/help.en.md @@ -0,0 +1,17 @@ +Title: Guides + + +## Installation + + + +## Support + + - [**Frequently Asked Questions**](/page/faq) + - **[Self-Diagnosis](/page/self-diagnosis)**: Before asking for help, check here if you find the solution to your problem. + diff --git a/pages/help.fr.md b/pages/help.fr.md new file mode 100644 index 0000000..0e6f1f0 --- /dev/null +++ b/pages/help.fr.md @@ -0,0 +1,16 @@ +Title: Guides + +## Installation + + + +## Support + + - [**Questions fréquemment posées**](/page/faq) + - [**Auto-Diagnostic**](/page/self-diagnosis) : Avant de demander de l'aide, vérifiez si vous trouvez la solution à votre problème ici. + diff --git a/pages/install-android.en.md b/pages/install-android.en.md new file mode 100644 index 0000000..0c8136e --- /dev/null +++ b/pages/install-android.en.md @@ -0,0 +1,21 @@ +Title: Install on Android + +1. First, you have to install [Arne Schwabe's OpenVPN for Android][openvpn_android]. + It is the most frequently updated and secure OpenVPN client for Android. + +2. Download the .ovpn file you need in [your account](/account/config) and save it + somewhere on your Android device. + +3. Open the OpenVPN for Android application and import the .ovpn file. + It will create a new profile from the configuration file. + +4. *(Optionally)* Edit the imported profile and set your username and password if you do not + want to be asked every time. + +5. You can now connect to that profile. + On connection it will show the log while trying to connect. + If it fails to connect, you can use the menu here to send the log by email + to *support at ccrypto.org* or copy it in a support ticket. + +[openvpn_android]: https://play.google.com/store/apps/details?id=de.blinkt.openvpn + diff --git a/pages/install-android.fr.md b/pages/install-android.fr.md new file mode 100644 index 0000000..91b2180 --- /dev/null +++ b/pages/install-android.fr.md @@ -0,0 +1,21 @@ +Title: Installation sur Android + +1. Installez d'abord [OpenVPN pour Android d'Arne Schwabe][openvpn_android]. + C'est le client Android le mieux mis à jour et le plus sécurisé. + +2. Téléchargez le fichier .ovpn dont vous avez besoin dans [votre compte](/account/config) + et enregistrez-le quelque part. + +3. Ouvrez l'application OpenVPN et importez le .ovpn téléchargé. Un nouveau + profile sera crée. + +4. *(Facultatif)* Éditez le profile et entrez votre identifiant et mot de passe + pour qu'ils ne soient pas demandés à chaque connexion. + +5. Vous pouvez maintenant vous connecter à ce profile. + Pendant la connexion, le log OpenVPN sera affiché. Si il y a une erreur, + vous pouvez envoyer les informations nécessaires à *support at ccrypto.org* + grace au menu ou en copiant le log dans un ticket. + +[openvpn_android]: https://play.google.com/store/apps/details?id=de.blinkt.openvpn + diff --git a/pages/install-gnulinux.en.md b/pages/install-gnulinux.en.md new file mode 100644 index 0000000..b64a546 --- /dev/null +++ b/pages/install-gnulinux.en.md @@ -0,0 +1,107 @@ +Title: Install on GNU/Linux + + +With NetworkManager +------------------- + +*WARNING*: **This method requires a very recent NetworkManager. +Older versions will not work or may be insecure.** +It has not been tested as much as the classic one and may not work on your system. +It is known to work with an up to date Arch Linux and Linux Mint 17 or later. +**If you are not sure about it, choose the other methods** + +1. Download and install OpenVPN and the NetworkManager plugin with your package manager. + + - *Debian*: `sudo apt-get install install openvpn resolvconf network-manager-openvpn network-manager-openvpn-gnome` + - *Fedora*: `sudo yum install openvpn networkmanager-openvpn` + - *Arch Linux*: `sudo pacman -S openvpn networkmanager-openvpn` + +2. Download the .ovpn file you need in [your account](/account/config) and put + it in `/etc/openvpn/` . + ie: `/etc/openvpn/ccrypto.conf` + +3. [Download the ca.crt file](https://vpn.ccrypto.org/ca.crt) and put it in `/etc/openvpn/` aswell. + +4. Create the NetworkManager profile: + + - Create a new OpenVPN connection. This highly depends on your environment: + - *Mint*: Left click on the Network icon in the Control Panel> Network Connections> Add + - Select "Import a saved VPN configuration" + - Select your ccrypto-\*.conf config file from the /etc/openvpn/ directory + - Select "password authentication" as the authentication type + - Enter your CCrypto username and password. + - Select the ca.crt you saved into /etc/openvpn as the CA Certificate and click "Save". + +5. Your VPN is now ready to use with NetworkManager. + + + +With systemd (Arch, Fedora 16 or later, Debian 8 or later, ...) +------------ + +1. Download and install OpenVPN with your package manager. + + - Debian: `sudo apt-get install install openvpn` + - Fedora: `sudo yum install openvpn` + - Arch Linux: `sudo pacman -S openvpn` + +2. Download the .ovpn file you need in [your account](/account/config) and put + it in `/etc/openvpn/` . + ie: `/etc/openvpn/ccrypto.conf` + +3. Start the OpenVPN service: + + sudo systemctl start openvpn@ccrypto + +4. *(Optional)* To make OpenVPN start at boot, + create a text file anywhere and write your username and + password inside, on two lines. + Then, add at the end of your ccrypto.conf file: + + auth-user-pass /path/to/the/file.txt + + And enable the systemd service : + + systemctl enable openvpn@ccrypto + + For additional security, you can make sure only root is be able to access this file: + + sudo chown root:root /path/to/the/file.txt + sudo chmod 600 /path/to/the/file.txt + + + +Without systemd (Debian before 8.0, ...) +--------------- + +1. Download and install OpenVPN with your package manager. + + - Debian: `sudo apt-get install install openvpn resolvconf` + - Fedora: `sudo yum install openvpn` + +2. Download the .ovpn file you need in [your account](/account/config) and put + it in `/etc/openvpn/` . + ie: `/etc/openvpn/ccrypto.conf` + +3. Start the OpenVPN service: + + sudo service openvpn start ccrypto + +4. *(Optional)* To make OpenVPN start at boot, + create a text file anywhere and write your username and + password inside, on two lines. + Then, add at the end of your ccrypto.conf file: + + auth-user-pass /path/to/the/file.txt + + And add the configuration file name to the AUTOSTART list in `/etc/default/openvpn` (you can add it at the end): + + AUTOSTART="ccrypto" + + For additional security, you can make sure only root is be able to access this file: + + sudo chown root:root /path/to/the/file.txt + sudo chmod 600 /path/to/the/file.txt + + + diff --git a/pages/install-gnulinux.fr.md b/pages/install-gnulinux.fr.md new file mode 100644 index 0000000..5cdc201 --- /dev/null +++ b/pages/install-gnulinux.fr.md @@ -0,0 +1,252 @@ +Title: Installation sous GNU/Linux + +Avec NetworkManager +------------------- + +*ATTENTION*: **Cette méthode nécéssite une version très récente de NetworkManager. +Des versions plus anciennes peuvent ne pas fonctionner ou montrer des problèmes +de sécurité.** +Elle a été moins testée que la méthode classique et pourrait ne pas fonctionner +sur votre système. +Elle a fonctionné avec Linux Mint 17 ou plus et Arch Linux à jour. +**Dans le doute, utilisez les autres méthodes.** + +1. Téléchargez et installez OpenVPN et le plugin NM avec votre gestionnaire de paquets : + + - *Debian*: `sudo apt-get install install openvpn resolvconf network-manager-openvpn network-manager-openvpn-gnome` + - *Fedora*: `sudo yum install openvpn networkmanager-openvpn` + - *Arch Linux*: `sudo pacman -S openvpn networkmanager-openvpn` + +2. Téléchargez la configuration (.ovpn) dont vous avez besoin dans + [votre compte](/account/config) et placez la dans `/etc/openvpn/` . + ie: `/etc/openvpn/ccrypto.conf` + +2. [Téléchargez le fichier ca.crt](https://vpn.ccrypto.org/ca.crt) et placez le aussi dans `/etc/openvpn/` . + +4. Créez le profile NetworkManager : + + - Créez une nouvelle connexion. Ça dépend beaucoup de l'environnement. + - *Mint*: Clic gauche sur l'icone Network dans le Control Panel> Network Connections> Add + - Choisissez "Import a saved VPN configuration" / "Importer une configuration VPN enregistrée" + - Sélectionnez le .conf placé dans /etc/openvpn + - Choisissez "password authentication" / "mot de passe" comme type d'authentification + - Entrez vos identifiants CCrypto. + - Choisissez le ca.crt dans /etc/openvpn comme "CA Certificate" / "Certificat du CA" et enregistrez. + +5. Votre VPN est maintenant prêt à être utilisé avec NetworkManager. + + + +Avec systemd (Arch, Fedora 16 ou plus, Debian 8 ou plus, ...) +------------ + +1. Téléchargez et installez OpenVPN avec votre gestionnaire de paquets : + + - Debian: `sudo apt-get install install openvpn` + - Fedora: `sudo yum install openvpn` + - Arch Linux: `sudo pacman -S openvpn` + +2. Téléchargez la configuration (.ovpn) dont vous avez besoin dans + [votre compte](/account/config) et placez la dans `/etc/openvpn/` . + Renommez le pour avoir un .conf. + ie: `/etc/openvpn/ccrypto.conf` + +3. Démarrez le service OpenVPN : + + sudo systemctl start openvpn@ccrypto + +4. *(Facultatif)* Pour qu'OpenVPN puisse se connecter au démarrage, + créez un fichier texte quelque part avec votre identifiant et votre + mot de passe, sur deux lignes. Ajoutez ensuite cette ligne à la fin de + votre fichier .conf : + + auth-user-pass /path/to/the/file.txt + + Et activez le service systemd : + + systemctl enable openvpn@ccrypto + + Pour plus de sécurité, vous pouvez restreindre l'accès à ce fichier : + + sudo chown root:root /path/to/the/file.txt + sudo chmod 600 /path/to/the/file.txt + + +Sans systemd (Debian before 8.0, ...) +--------------- + +1. Téléchargez et installez OpenVPN avec votre gestionnaire de paquets : + + - Debian: `sudo apt-get install install openvpn resolvconf` + - Fedora: `sudo yum install openvpn` + +2. Téléchargez la configuration (.ovpn) dont vous avez besoin dans + [votre compte](/account/config) et placez la dans `/etc/openvpn/` . + Renommez le pour avoir un .conf. + ie: `/etc/openvpn/ccrypto.conf` + +3. Démarrez le service OpenVPN : + + sudo service openvpn start ccrypto + +4. *(Facultatif)* Pour qu'OpenVPN puisse se connecter au démarrage, + créez un fichier texte quelque part avec votre identifiant et votre + mot de passe, sur deux lignes. Ajoutez ensuite cette ligne à la fin de + votre fichier .conf : + + auth-user-pass /path/to/the/file.txt + + Ajoutez le nom du fichier de configuration à la liste AUTOSTART dans `/etc/default/openvpn` (vous pouvez l'ajouter à la fin): + + AUTOSTART="ccrypto" + + Pour plus de sécurité, vous pouvez restreindre l'accès à ce fichier : + + sudo chown root:root /path/to/the/file.txt + sudo chmod 600 /path/to/the/file.txt + + + + + + + + + + + + + + + + + + + + + + + + + + +Vous aurez besoin d'un fichier : Dans [votre compte](/account/), téléchargez +la config. Vous pouvez le renommer en ccrypto.conf. + +**N'utilisez pas le plugin OpenVPN pour Network-Manager.** +N-M ne supporte pas certaines options récentes d'OpenVPN, et ne peut simplement +pas se connecter à notre VPN. + +Si vous avez une question, n'hésitez pas à [nous contacter](/page/help). + + +Fedora 16 ou plus récent +------------------------ +**Vous devez être connecté en tant que root pour démarrer le VPN. +Il est aussi possible d'utiliser sudo.** + +Installez OpenVPN : + + yum install openvpn + +Placez le fichier que vous avez téléchargé dans `/etc/openvpn/`. +Par exemple : `/etc/openvpn/ccrypto.conf` + + cd /lib/systemd/system + ln openvpn@.service openvpn@ccrypto.service + +Démarrez OpenVPN : + + systemctl start openvpn@ccrypto.service + +Maintenant, vous pouvez le faire démarrer en même temps que l'OS +si vous le souhaitez : + + systemctl enable openvpn@ccrypto.service + + +Debian/Ubuntu +------------- +**Vous devez être connecté en tant que root pour démarrer le VPN. +Il est aussi possible d'utiliser sudo.** + +Installez OpenVPN : + + apt-get install openvpn resolvconf + +Placez le fichier que vous avez téléchargé dans `/etc/openvpn/`. +Par exemple : `/etc/openvpn/ccrypto.conf` + +Démarrez OpenVPN : + + service openvpn start ccrypto + +Pour le démarrer en même temps que l'OS, enregistrez vos identifiants comme +expliqué dans la partie en dessous, et éditez `/etc/default/openvpn` pour +décommenter et modifiez la ligne `AUTOSTART`: + + AUTOSTART="ccrypto" + +Linux Mint Mate Edition 17 ou plus récent +------------- + +Pré-requis: Mettez à jour votre système en utilisant la commande: + +``` +sudo aptitude update +``` + +Installez les différents programmes utilisés pour faire fonctionner votre VPN CCrypto: + +``` +sudo aptitude install openvpn resolvconf network-manager-openvpn-gnome +``` + +Redémarrez la machine pour finaliser l'installation. + +Il faut maintenant télécharger le fichier de configuration disponible [sur le site dans la partie account](https://vpn.ccrypto.org/account/). +et le placer dans /etc/openvpn. Téléchargez le fichier ca.crt [disponible ici](https://vpn.ccrypto.org/ca.crt) et placez le dans /etc/openvpn. + +Il s'agit d'un fichier .ovpn (qui fonctionne tel que sous Windows). Un simple renommage de ce fichier en ccrypto-*.conf suffit a faire fonctionner le tout. + +- On clique gauche sur l'icône réseau du Tableau de bord > Connexions Réseaux > Ajouter +- Sélectionnez "importez une configuration VPN enregistrée" +- On va dans le répertoire /etc/openvpn/ et on sélectionne le fichier ccrypto-*.conf. +La fenêtre suivante devrait s'afficher: ![screenshot](http://i.imgur.com/HcdRwgP.png) + +Choisissez Mot de passe comme type d'authentification. Rentrez votre nom d'utilisateur ainsi que votre mot de passe +Et dans certificat du CA, sélectionnez votre ca.crt téléchargé précedemment. + +Votre VPN est prêt à l'utilisation. + +Enregistrer les identifiants +---------------------------- +Vous pouvez faire qu'OpenVPN enregistre votre nom d'utilisateur et votre mot de +passe, pour ne pas avoir à l'entrer à chaque connexion. + +Créez un fichier texte "ccrypto_creds.txt" contenant votre nom sur la +première ligne, et votre mot de passe sur la deuxième, comme ceci: + + JackSparrow + s0mep4ssw0rd + +Déplacez-le ensuite dans `/etc/openvpn/`, avec le fichier +ccrypto.conf que vous avez téléchargé plus tôt. + +Ouvrez ccrypto.ovpn avec un éditeur de texte (vim, gedit, kate, ...) +et ajouter une ligne à la fin: + + auth-user-pass /etc/openvpn/ccrypto_creds.txt + +Pour que seul root puisse lire ce fichier : + + chown root:root /etc/openvpn/ccrypto_creds.txt + chmod 600 /etc/openvpn/ccrypto_creds.txt + +Autres distributions +-------------------- + +Vous devriez lire un guide adapté à la distribution : + +* ArchLinux + diff --git a/pages/install-osx.en.md b/pages/install-osx.en.md new file mode 100644 index 0000000..83329a1 --- /dev/null +++ b/pages/install-osx.en.md @@ -0,0 +1,11 @@ +Title: Install on Mac OS X + +1. Download the .ovpn file you need in [your account](/account/config). + +2. Download and install [TunnelBlick](https://tunnelblick.net/). + +3. Import the provided .ovpn OpenVPN configuration in TunnelBlick. + +4. The VPN is now ready to use within TunnelBlick. + + diff --git a/pages/install-osx.fr.md b/pages/install-osx.fr.md new file mode 100644 index 0000000..f2f8935 --- /dev/null +++ b/pages/install-osx.fr.md @@ -0,0 +1,11 @@ +Title: Installation sous Mac OS X + +1. Télécharger la configuration (.ovpn) dont vous avez besoin dans [votre compte](/account/config). + +2. Téléchargez et installez [TunnelBlick](https://tunnelblick.net/). + +3. Importez le fichier .ovpn dans TunnelBlick. + +4. Vous pouvez utiliser le VPN avec TunnelBlick. + + diff --git a/pages/install-windows.en.md b/pages/install-windows.en.md new file mode 100644 index 0000000..ccccd8a --- /dev/null +++ b/pages/install-windows.en.md @@ -0,0 +1,47 @@ +Title: Install on Windows + + +1. Download OpenVPN for Windows on + [OpenVPN.net](http://openvpn.net/index.php/open-source/downloads.html) + (you need the Windows Installer) and install OpenVPN. + +2. In [your account](/account/config), download the config file (.ovpn) you want to use, + and copy it to `C:\Program Files\OpenVPN\config\`. + If you downloaded multiple config files as an archive, extract it in that folder. + +3. Start `OpenVPN GUI` *as Administrator*. You can find it on your desktop or in the start menu. + Once it's started, you should see it in the system tray. Right click it and select Connect. + +4. It should now open a OpenVPN log window showing its progress. + If an error occured, please see the [self-diagnosis](/page/self-diagnosis) page. + If it doesn't solve your problem or you have another question, contact + our [support](/tickets/) + +5. If everything worked, the OpenVPN icon should turn green. + Your are now connected and can enjoy your secure connection. + + +Save username and password +-------------------------- +You can make OpenVPN remember your username and password, so you don't need +to type them everytime you want to use the VPN. + +This can be done by creating a text file named "ccrypto_creds.txt" containing +your username on the first line and your password on the second +(see example below). +Move it to `C:\Program Files\OpenVPN\config\`, next to the .ovpn file you +copied there before. + +It should look like this: + + JackSparrow + s0mep4ssw0rd + +Then, open the .ovpn file with a text editor (Notepad, Notepad++, ...) +and add this line at the end of the file: + + auth-user-pass ccrypto_creds.txt + +Now, if you restart OpenVPN, it should not ask you for your password anymore. + + diff --git a/pages/install-windows.fr.md b/pages/install-windows.fr.md new file mode 100644 index 0000000..4ba9185 --- /dev/null +++ b/pages/install-windows.fr.md @@ -0,0 +1,48 @@ +Title: Installation sous Windows + + +1. Téléchargez le Windows Installer d'OpenVPN sur + [OpenVPN.net](http://openvpn.net/index.php/open-source/downloads.html) + et installez OpenVPN. + +2. Dans [votre compte](/account/config), téléchargez le fichier de configuration (.ovpn) + et copiez le dans `C:\Program Files\OpenVPN\config\`. + Si vous avez téléchargé plusieurs fichiers dans une archive, extrayez l'archive dans + `C:\Program Files\OpenVPN\config\` + +3. Démarrez `OpenVPN GUI` *en tant qu'Administrateur*. Vous pouvez le trouver sur le bureau ou + dans le menu Démarrer. + Une fois démarré, vous devriez le voir dans la zone de notification. + Faites un clic droit dessus, et choisissez `Connect`. + +4. Une fenêtre de log OpenVPN devrait s'ouvrir et montrer la progression. + Si il y a une erreur, elle y sera affichée et vous pourrez lire + [la page d'auto-diagnostic](/page/self-diagnosis). + Si votre problème n'est pas résolu, [contactez le support](/tickets/). + +5. Si la connexion s'est bien passée, l'icone OpenVPN devrait devenir verte. + Vous êtes alors connecté et pouvez profiter de votre connexion sécurisée. + + +Enregistrer les identifiants +---------------------------- +Vous pouvez faire qu'OpenVPN enregistre votre nom d'utilisateur et votre mot de +passe, pour ne pas avoir à l'entrer à chaque connexion. + +Créez un fichier texte "ccrypto_creds.txt" contenant votre nom sur la +première ligne, et votre mot de passe sur la deuxième, comme ceci: + + JackSparrow + s0mep4ssw0rd + +Déplacez-le ensuite dans `C:\Program Files\OpenVPN\config\`, avec le fichier +ccrypto.ovpn que vous avez téléchargé plus tôt. + +Ouvrez ccrypto.ovpn avec un éditeur de texte (Bloc-notes, Notepad++, ...) +et ajouter une ligne à la fin: + + auth-user-pass ccrypto_creds.txt + +Pour finir, redémarrez OpenVPN GUI et connectez vous : il ne devrait plus vous +demander votre mot de passe. + diff --git a/pages/self-diagnosis.en.md b/pages/self-diagnosis.en.md new file mode 100644 index 0000000..daab17d --- /dev/null +++ b/pages/self-diagnosis.en.md @@ -0,0 +1,91 @@ +Title: Self Diagnosis + + +Windows +------- + +*Before anything, make sure you have started OpenVPN as Administrator and that your +config files exist in `C:\Program Files\OpenVPN\config\`.* + +### netsh.exe error + +If you find lines like those in your OpenVPN log: + + NETSH: C:\Windows\system32\netsh.exe interface ipv6 set address Local Area Network + ERROR: netsh command failed: returned error code 1 + +This error is really frequent on Windows and seem to happen because of +a OpenVPN problem with netsh.exe and IPv6. +To fix it, rename your network connection to avoid spaces, +for example "Local Area Network" to "lan". + + - [Rename a network connection](http://windows.microsoft.com/en-au/windows-vista/rename-a-network-connection) + + +### Multiple TAP-Windows adapters + + Error: When using --tun-ipv6, if you have more than one TAP-Windows adapter, you must also specify --dev-node + Exiting due to fatal error + +That one can happen when you have multiple TAP-Windows adapters, most of the +time because of another software using TAP. + +To fix it, open a command prompt (Shift+Right click) in your OpenVPN directory +(where openvpn.exe is), and run: + + openvpn.exe --show-adapters + +This will list your TAP adapters. +Then, open your ccrypto.ovpn configuration file with notepad and add this on a +new line: + + dev-node [name] + +Replace [name] by your TAP adapter name. + + +### Still doesn't work + +If you still cannot use the VPN, please go to the [Support page](/page/help) +and we'll do our best to help you. +Please also send us your OpenVPN logs. + + +GNU/Linux +--------- + +### I have a ".ovpn" file but I need a ".conf"! +You just have to change the extension by renamming the file. +.conf is more commonly used on GNU/Linux, but it's the same as the .ovpn file. + + +### I'm unable to use your VPN with Network-Manager. +First, check that you have properly created the profile (tutorial to come). +If it's the case, before anything else, let's make sure that OpenVPN itself is working with the following command: +`sudo openvpn --config ccrypto.conf` +(make sure to replace "ccrypto.conf" by the actual name of your configuration file) + +### I'm connected but cannot ping google.com +Try to `ping 8.8.8.8`: if it works then your computer doesn't use the right DNS server. +Add `nameserver 10.99.0.20` at the beginning of /etc/resolv.conf **once the connection is made**. +Else, continue reading. + + +### It still doesn't work! +Using the `ip route` command, make sure you have, alongside with other lines, the following: + + 0.0.0.0/1 via 10.99.2.1 dev tun0 + 10.99.0.0/24 via 10.99.2.1 dev tun0 + 10.99.2.0/24 dev tun0 proto kernel scope link src 10.99.2.18 + 128.0.0.0/1 via 10.99.2.1 dev tun0 + 199.115.114.65 via 192.168.1.1 dev wlan0 + +These values might (and for some, will) change a little depending on your configuration (for example: wlan0 → eth0, 192.168.1.1 → 192.168.42.23, etc.). +If you don't have every one of these lines, kill OpenVPN and fire it again or add the routes by hand using `ip route add`. +If you don't know how to do it, it would be best to come ask on IRC (we will need the output of both `ip addr` and `ip route`, +please paste them into https://paste.cubox.me and just give us the link to the paste). + + +### I've tried everything but nothing seems to work! T_T +Ok… I guess now you can come [ask us on IRC](/chat) (but remember to stay a while, we're not payed professionnal, we might not be around at a given time but we will answer later on). + diff --git a/pages/self-diagnosis.fr.md b/pages/self-diagnosis.fr.md new file mode 100644 index 0000000..5a1da30 --- /dev/null +++ b/pages/self-diagnosis.fr.md @@ -0,0 +1,87 @@ +Title: Auto-Diagnostic + + +Windows +------- + +*Tout d'abord, assurez vous d'avoir bien démarré OpenVPN en tant qu'administrateur +et que votre fichier de configuration est correctement placé dans +`C:\Program Files\OpenVPN\config\`.* + +### netsh.exe + +Si vous trouvez ces lignes dans votre historique OpenVPN: + + NETSH: C:\Windows\system32\netsh.exe interface ipv6 set address Connexion au réseau local + ERROR: netsh command failed: returned error code 1 + +Cette erreur est fréquente sous windows et semble arriver à cause d'un problème +d'OpenVPN avec netsh.exe et l'IPv6. +Pour le résoudre, renommez votre connection réseau pour éviter les espaces. +Par exemple « Connexion au réseau local » en « lan ». + + - [(fr) Renommer une connexion réseau](http://windows.microsoft.com/fr-xf/windows-vista/rename-a-network-connection) + + +### Multiples interfaces TAP + + Error: When using --tun-ipv6, if you have more than one TAP-Windows adapter, you must also specify --dev-node + Exiting due to fatal error + +Cette erreur pourra apparaitre si vous avec de multiples interfaces TAP, +la plupart du temps à cause d'un autre logiciel utilisant TAP. +Pour le résoudre, ouvrez un interpréteur de commandes (Shift + Clic droit) +dans votre répertoire OpenVPN (là où openvpn.exe se situe) et lancez : + + openvpn.exe --show-adapters + +Cela va lister vos interfaces TAP. +Puis, ouvrez votre fichier de configuration ccrypto.ovpn avec un éditeur de texte +et ajoutez ceci sur une nouvelle ligne : + + dev-node [nom] + +Remplacez [nom] par le nom de votre interface TAP. + + +### Ça ne fonctionne toujours pas ? + +Si vous ne pouvez toujours pas utiliser le VPN, n'hésitez pas à +[nous contacter](/page/help). +Joignez les logs d'OpenVPN à votre message, pour nous aider à trouver +le problème au plus vite. + + +GNU/Linux +--------- + +### J'ai un fichier ".ovpn" mais il me faut un ".conf" ! +Il vous suffit de changer l'extension en renommant le fichier. + +### Il m'est impossible d'utiliser votre VPN avec Network-Manager. +Tout d'abord, vérifiez que vous avez correctement créé le profil (tutoriel à venir). +Si c'est bien le cas, avant toute chose, vérifiez qu'OpenVPN lui-même est opérationnel en utilisant cette commande : +`sudo openvpn --config ccrypto.conf` +(assurez-vous de remplacer "ccrypto.conf" par le nom de votre fichier de configuration) + +### Je suis connecté mais je ne peux pas ping google.com +Essayez de `ping 8.8.8.8`, si ça marche, votre ordinateur n'utilise pas le serveur DNS. Ajoutez `nameserver 10.99.0.20` au début de /etc/resolv.con **une fois la connexion établie**. Sinon, lisez la suite. + +### Ça ne marche toujours pas ! +En utilisant la commande `ip route`, vérifiez que vous avez, entre autre choses, les lignes suivantes : + + 0.0.0.0/1 via 10.99.2.1 dev tun0 + 10.99.0.0/24 via 10.99.2.1 dev tun0 + 10.99.2.0/24 dev tun0 proto kernel scope link src 10.99.2.18 + 128.0.0.0/1 via 10.99.2.1 dev tun0 + 199.115.114.65 via 192.168.1.1 dev wlan0 + +Ces valeurs peuvent (et pour certaines, vont) changer suivant votre configuration (par exemple : wlan0 → eth0, 192.168.1.1 → 192.168.42.23, etc.) +Si vous n'avez pas toutes ces lignes, relancez OpenVPN ou ajouter les routes à la main en utilisant `ip route add`. +Si vous ne savez pas comment faire, ce serait mieux de venir nous demander sur IRC +(nous allons avoir besoin des sorties des commandes `ip addr` et `ip route`, +veuillez utiliser https://paste.cubox.me et nous envoyer uniquement le lien vers le paste). + +### J'ai tout essayé mais rien ne semble fonctionner ! T_T +Ok… Je pense que vous pouvez venir [nous demander sur IRC](/chat) (mais souvenez-vous que nous ne sommes pas des professionnels payés, nous ne sommes pas toujours présent mais nous finirons toujours par répondre si vous ne partez pas trop vite). + diff --git a/pages/tos.en.md b/pages/tos.en.md new file mode 100644 index 0000000..f1937a4 --- /dev/null +++ b/pages/tos.en.md @@ -0,0 +1,68 @@ +Title: Terms of Service + +Cognitive Cryptography provides virtual private networking (VPN) to its clients. You (Client) +acknowledge that Cognitive Cryptography and/or any of its parent companies or constituents +will not be liable for any and all liability arising from your use of its services +and website. + +Services are provided "as is" with no express or implied warranty for quality +and speed. While Cognitive Cryptography attempt to maintain the services available, it may +be subject to inavailabilities for various including maintenances, failures and +third-party services failure. + +By using our services and/or website, you agree in full to the terms and +conditions provided herein, in addition to all future amendments and modifications. +If you do not agree to these terms and conditions, then access to the service is prohibed. + +Clients who breaches or violates our terms and conditions may have their +account and access to the service removed withour any refund. + +### Acceptable Use +We support your right to free speech and privacy, but you need to comply with +all applicable laws and regulations in France and the country in which you +reside to use this service. + +By using our services, you agree to not engage in any of the following activities: + + - SPAM. You agree to not send or facilitate any unsolicited email. + - Anything that could be considered hostile by a third party, including but + not limited to Denial-of-Service attacks. + - Receiving or distributing any illegal content + - Receiving or distributing any copyrighted, trademark, or patented content + which you do not own or lack consent or license from the owner. + - Any action that results in inclusion on IP blacklists. + +### Client Responsabilities +As a client, you are responsible for maintaining the confidentility and +security of the account you are provided. + +### Cognitive Cryptography's Rights +Cognitive Cryptography reserves the right to close your account and access to the service +at any given time without any given notice. While Cognitive Cryptography attempts to provide +complete and quality service to its clients, this right is reserved for reasons +which may arise at a later date. + +Client understands that Cognitive Cryptography for reasons beyond its control may shut down +and terminate services. In this case, clients will be notified at least thirty +(30) days in advance, and will not be eligible for a partial or complete refund. + +### Refund Policy +If you are not 100% satisfied with your purchase, within 7 days from the +purchase date, we will fully refund the cost of your order. + +### Privacy Policy + +What do we collect? + + - Your account settings. + - Payment data, including transaction IDs and Paypal or Bitcoin adresses. + - The IP adresses used to log in. + +How is my Information used? +Your information is used to provide you and maintain the service. +We do not sell or redistribute your information. +Those informations will never leave our servers unless we are required to by +the law. If this happens, we will inform all people concerned. + +We use cookies. + diff --git a/payments/__init__.py b/payments/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/payments/admin.py b/payments/admin.py new file mode 100644 index 0000000..f56ed5d --- /dev/null +++ b/payments/admin.py @@ -0,0 +1,60 @@ +from django.shortcuts import resolve_url +from django.contrib import admin +from django.utils.translation import ugettext_lazy as _ +from .models import Payment, RecurringPaymentSource + + +class PaymentAdmin(admin.ModelAdmin): + model = Payment + list_display = ('user', 'backend', 'status', 'amount', 'paid_amount', 'created') + list_filter = ('backend_id', 'status') + + fieldsets = ( + (None, { + 'fields': ('backend', 'user_link', 'time', 'status', 'status_message'), + }), + (_("Payment Data"), { + 'fields': ('amount_fmt', 'paid_amount_fmt', 'recurring_source', + 'backend_extid_link', 'backend_data'), + }), + ) + + readonly_fields = ('backend', 'user_link', 'time', 'status', 'status_message', + 'amount_fmt', 'paid_amount_fmt', 'recurring_source', + 'backend_extid_link', 'backend_data') + search_fields = ('user__username', 'user__email', 'backend_extid', 'backend_data') + + def backend(self, object): + return object.backend.backend_verbose_name + + def backend_extid_link(self, object): + ext_url = object.backend.get_ext_url(object) + if ext_url: + return '%s' % (ext_url, object.backend_extid) + return object.backend_extid + backend_extid_link.allow_tags = True + + def amount_fmt(self, object): + return '%.2f %s' % (object.amount / 100, object.currency_name) + amount_fmt.short_description = _("Amount") + + def paid_amount_fmt(self, object): + return '%.2f %s' % (object.paid_amount / 100, object.currency_name) + paid_amount_fmt.short_description = _("Paid amount") + + def user_link(self, object): + change_url = resolve_url('admin:auth_user_change', object.user.id) + return '%s' % (change_url, object.user.username) + user_link.allow_tags = True + user_link.short_description = 'User' + + +class RecurringPaymentSourceAdmin(admin.ModelAdmin): + model = RecurringPaymentSource + list_display = ('user', 'backend', 'created') + readonly_fields = ('user', 'backend', 'created', 'last_confirmed_payment') + + +admin.site.register(Payment, PaymentAdmin) +admin.site.register(RecurringPaymentSource, RecurringPaymentSourceAdmin) + diff --git a/payments/backends.py b/payments/backends.py new file mode 100644 index 0000000..749e276 --- /dev/null +++ b/payments/backends.py @@ -0,0 +1,456 @@ +import json +from ipaddress import IPv4Address, IPv4Network +from decimal import Decimal + +from django.shortcuts import redirect +from django.utils.translation import ugettext_lazy as _ +from urllib.parse import urlencode +from urllib.request import urlopen +from django.core.urlresolvers import reverse +from django.conf import settings as project_settings + + +class BackendBase: + backend_id = None + backend_verbose_name = "" + backend_display_name = "" + backend_enabled = False + + def __init__(self, settings): + pass + + def new_payment(self, payment): + """ Initialize a payment and returns an URL to redirect the user. + Can return a HTML string that will be sent back to the user in a + default template (like a form) or a HTTP response (like a redirect). + """ + raise NotImplementedError() + + def callback(self, payment, request): + """ Handle a callback """ + raise NotImplementedError() + + def get_info(self): + """ Returns some status (key, value) list """ + return () + + def get_ext_url(self, payment): + """ Returns URL to external payment view, or None """ + return None + + +class BitcoinBackend(BackendBase): + """ Bitcoin backend. + Connects to a bitcoind. + """ + backend_id = 'bitcoin' + backend_verbose_name = _("Bitcoin") + backend_display_name = _("Bitcoin") + + COIN = 100000000 + + def __init__(self, settings): + from bitcoin import SelectParams + from bitcoin.rpc import Proxy + + self.btc_value = settings.get('BITCOIN_VALUE') + self.account = settings.get('ACCOUNT', 'ccvpn3') + + chain = settings.get('CHAIN') + if chain: + SelectParams(chain) + + self.url = settings.get('URL') + if not self.url: + return + + assert isinstance(self.btc_value, int) + + self.make_rpc = lambda: Proxy(self.url) + self.rpc = self.make_rpc() + self.backend_enabled = True + + def new_payment(self, payment): + rpc = self.make_rpc() + + # bitcoins amount = (amount in cents) / (cents per bitcoin) + btc_price = round(Decimal(payment.amount) / self.btc_value, 5) + + address = str(rpc.getnewaddress(self.account)) + + msg = _("Please send %(amount)s BTC to %(address)s") + payment.status_message = msg % dict(amount=str(btc_price), address=address) + payment.backend_extid = address + payment.backend_data = dict(btc_price=str(btc_price), btc_address=address) + payment.save() + return redirect(reverse('payments:view', args=(payment.id,))) + + def check(self, payment): + rpc = self.make_rpc() + + if payment.status != 'new': + return + + btc_price = payment.backend_data.get('btc_price') + address = payment.backend_data.get('btc_address') + if not btc_price or not address: + return + + btc_price = Decimal(btc_price) + + received = Decimal(rpc.getreceivedbyaddress(address)) / self.COIN + payment.paid_amount = int(received * self.btc_value) + payment.backend_data['btc_paid_price'] = str(received) + + if received >= btc_price: + payment.user.vpnuser.add_paid_time(payment.time) + payment.user.vpnuser.on_payment_confirmed(payment) + payment.user.vpnuser.save() + + payment.status = 'confirmed' + + payment.save() + + def get_info(self): + rpc = self.make_rpc() + + try: + info = rpc.getinfo() + if not info: + return [(_("Status"), "Error: got None")] + except Exception as e: + return [(_("Status"), "Error: " + repr(e))] + v = info.get('version', 0) + return ( + (_("Bitcoin value"), "%.2f €" % (self.btc_value / 100)), + (_("Testnet"), info['testnet']), + (_("Balance"), '{:f}'.format(info['balance'] / self.COIN)), + (_("Blocks"), info['blocks']), + (_("Bitcoind version"), '.'.join(str(v // 10 ** (2 * i) % 10 ** (2 * i)) + for i in range(3, -1, -1))), + ) + + def get_ext_url(self, payment): + if not payment.backend_extid: + return None + return 'http://blockr.io/address/info/%s' % payment.backend_extid + + +class ManualBackend(BackendBase): + """ Manual backend used to store and display informations about a + payment processed manually. + More a placeholder than an actual payment beckend, everything raises + NotImplementedError(). + """ + + backend_id = 'manual' + backend_verbose_name = _("Manual") + + +class PaypalBackend(BackendBase): + backend_id = 'paypal' + backend_verbose_name = _("PayPal") + backend_display_name = _("PayPal") + + def __init__(self, settings): + self.test = settings.get('TEST', False) + self.header_image = settings.get('HEADER_IMAGE', None) + self.title = settings.get('TITLE', 'VPN Payment') + self.currency = settings.get('CURRENCY', 'EUR') + self.account_address = settings.get('ADDRESS') + self.receiver_address = settings.get('RECEIVER', self.account_address) + + if self.test: + default_api = 'https://www.sandbox.paypal.com/' + else: + default_api = 'https://www.paypal.com/' + self.api_base = settings.get('API_BASE', default_api) + + if self.account_address: + self.backend_enabled = True + + def new_payment(self, payment): + ROOT_URL = project_settings.ROOT_URL + params = { + 'cmd': '_xclick', + 'notify_url': ROOT_URL + reverse('payments:cb_paypal', args=(payment.id,)), + 'item_name': self.title, + 'amount': '%.2f' % (payment.amount / 100), + 'currency_code': self.currency, + 'business': self.account_address, + 'no_shipping': '1', + 'return': ROOT_URL + reverse('payments:view', args=(payment.id,)), + 'cancel_return': ROOT_URL + reverse('payments:cancel', args=(payment.id,)), + } + + if self.header_image: + params['cpp_header_image'] = self.header_image + + payment.status_message = _("Waiting for PayPal to confirm the transaction... It can take up to a few minutes...") + payment.save() + + return redirect(self.api_base + '/cgi-bin/webscr?' + urlencode(params)) + + def handle_verified_callback(self, payment, params): + if self.test and params['test_ipn'] != '1': + raise ValueError('Test IPN') + + txn_type = params.get('txn_type') + if txn_type not in (None, 'web_accept', 'express_checkout'): + # Not handled here and can be ignored + return + + if params['payment_status'] == 'Refunded': + payment.status = 'refunded' + payment.status_message = None + + elif params['payment_status'] == 'Completed': + if self.receiver_address != params['receiver_email']: + raise ValueError('Wrong receiver: ' + params['receiver_email']) + if self.currency.lower() != params['mc_currency'].lower(): + raise ValueError('Wrong currency: ' + params['mc_currency']) + + payment.paid_amount = int(float(params['mc_gross']) * 100) + if payment.paid_amount < payment.amount: + raise ValueError('Not fully paid.') + + payment.user.vpnuser.add_paid_time(payment.time) + payment.user.vpnuser.on_payment_confirmed(payment) + payment.user.vpnuser.save() + + payment.backend_extid = params['txn_id'] + payment.status = 'confirmed' + payment.status_message = None + payment.save() + + def verify_ipn(self, payment, request): + v_url = self.api_base + '/cgi-bin/webscr?cmd=_notify-validate' + v_req = urlopen(v_url, data=request.body, timeout=5) + v_res = v_req.read() + return v_res == b'VERIFIED' + + def callback(self, payment, request): + if not self.verify_ipn(payment, request): + return False + + params = request.POST + + try: + self.handle_verified_callback(payment, params) + return True + except (KeyError, ValueError) as e: + payment.status = 'error' + payment.status_message = None + payment.backend_data['ipn_exception'] = repr(e) + payment.backend_data['ipn_last_data'] = repr(request.POST) + payment.save() + raise + + def get_ext_url(self, payment): + if not payment.backend_extid: + return None + url = 'https://history.paypal.com/webscr?cmd=_history-details-from-hub&id=%s' + return url % payment.backend_extid + + +class StripeBackend(BackendBase): + backend_id = 'stripe' + backend_verbose_name = _("Stripe") + backend_display_name = _("Credit Card or Alipay (Stripe)") + + def __init__(self, settings): + if 'API_KEY' not in settings or 'PUBLIC_KEY' not in settings: + return + + import stripe + self.stripe = stripe + + stripe.api_key = settings['API_KEY'] + self.pubkey = settings['PUBLIC_KEY'] + self.header_image = settings.get('HEADER_IMAGE', '') + self.currency = settings.get('CURRENCY', 'EUR') + self.name = settings.get('NAME', 'VPN Payment') + + self.backend_enabled = True + + def new_payment(self, payment): + desc = str(payment.time) + ' for ' + payment.user.username + form = ''' +
+ +
+ ''' + return form.format( + post=reverse('payments:cb_stripe', args=(payment.id,)), + pubkey=self.pubkey, + img=self.header_image, + email=payment.user.email or '', + name=self.name, + desc=desc, + amount=payment.amount, + curr=self.currency, + ) + + def callback(self, payment, request): + post_data = request.POST + + token = post_data.get('stripeToken') + if not token: + payment.status = 'cancelled' + payment.status_message = _("No payment information was received.") + return + + months = int(payment.time.days / 30) + username = payment.user.username + + try: + charge = self.stripe.Charge.create( + amount=payment.amount, + currency=self.currency, + card=token, + description="%d months for %s" % (months, username), + ) + payment.backend_extid = charge['id'] + + if charge['refunded'] or not charge['paid']: + payment.status = 'rejected' + payment.status_message = _("The payment has been refunded or rejected.") + payment.save() + return + + payment.paid_amount = int(charge['amount']) + + if payment.paid_amount < payment.amount: + payment.status = 'error' + payment.status_message = _("The paid amount is under the required amount.") + payment.save() + return + + payment.status = 'confirmed' + payment.status_message = None + payment.save() + payment.user.vpnuser.add_paid_time(payment.time) + payment.user.vpnuser.on_payment_confirmed(payment) + payment.user.vpnuser.save() + + except self.stripe.error.CardError as e: + payment.status = 'rejected' + payment.status_message = e.json_body['error']['message'] + payment.save() + + def get_ext_url(self, payment): + if not payment.backend_extid: + return None + return 'https://dashboard.stripe.com/payments/%s' % payment.backend_extid + + +class CoinbaseBackend(BackendBase): + backend_id = 'coinbase' + backend_verbose_name = _("Coinbase") + backend_display_name = _("Bitcoin with CoinBase") + + def __init__(self, settings): + self.sandbox = settings.get('SANDBOX', False) + if self.sandbox: + default_site = 'https://sandbox.coinbase.com/' + default_base = 'https://api.sandbox.coinbase.com/' + else: + default_site = 'https://www.coinbase.com/' + default_base = 'https://api.coinbase.com/' + + self.currency = settings.get('CURRENCY', 'EUR') + self.key = settings.get('KEY') + self.secret = settings.get('SECRET') + self.base = settings.get('BASE_URL', default_base) + self.site = settings.get('SITE_URL', default_site) + + self.callback_secret = settings.get('CALLBACK_SECRET') + self.callback_source_ip = settings.get('CALLBACK_SOURCE', '54.175.255.192/27') + + if not self.key or not self.secret or not self.callback_secret: + return + + from coinbase.wallet.client import Client + self.client = Client(self.key, self.secret, self.base) + self.backend_enabled = True + + def new_payment(self, payment): + ROOT_URL = project_settings.ROOT_URL + + months = int(payment.time.days / 30) + username = payment.user.username + + amount_str = '%.2f' % (payment.amount / 100) + name = "%d months for %s" % (months, username) + checkout = self.client.create_checkout( + amount=amount_str, + currency=self.currency, + name=name, + success_url=ROOT_URL + reverse('payments:view', args=(payment.id,)), + cancel_url=ROOT_URL + reverse('payments:cancel', args=(payment.id,)), + metadata={'payment_id': payment.id}, + ) + embed_id = checkout['embed_code'] + payment.backend_data['checkout_id'] = checkout['id'] + payment.backend_data['embed_code'] = checkout['embed_code'] + return redirect(self.site + 'checkouts/' + embed_id + + '?custom=' + str(payment.id)) + + def callback(self, Payment, request): + if self.callback_source_ip: + if ('.' in request.META['REMOTE_ADDR']) != ('.' in self.callback_source_ip): + print("source IP version") + print(repr(request.META.get('REMOTE_ADDR'))) + print(repr(self.callback_source_ip)) + return False # IPv6 TODO + net = IPv4Network(self.callback_source_ip) + if IPv4Address(request.META['REMOTE_ADDR']) not in net: + print("source IP") + return False + + secret = request.GET.get('secret') + if secret != self.callback_secret: + print("secret") + return False + + data = json.loads(request.body.decode('utf-8')) + order = data.get('order') + + if not order: + # OK but we don't care + print("order") + return True + + id = order.get('custom') + try: + payment = Payment.objects.get(id=id) + except Payment.DoesNotExist: + # Wrong ID - Valid request, ignore + print("wrong payment") + return True + + button = order.get('button') + if not button: + # Wrong structure. + print("button") + return False + + payment.status = 'confirmed' + payment.save() + payment.user.vpnuser.add_paid_time(payment.time) + payment.user.vpnuser.on_payment_confirmed(payment) + payment.user.vpnuser.save() + return True + diff --git a/payments/forms.py b/payments/forms.py new file mode 100644 index 0000000..65d9c92 --- /dev/null +++ b/payments/forms.py @@ -0,0 +1,15 @@ +from django import forms +from .models import BACKEND_CHOICES + + +class NewPaymentForm(forms.Form): + TIME_CHOICES = ( + ('1', '1'), + ('3', '3'), + ('6', '6'), + ('12', '12'), + ) + + time = forms.ChoiceField(choices=TIME_CHOICES) + method = forms.ChoiceField(choices=BACKEND_CHOICES) + diff --git a/payments/management/__init__.py b/payments/management/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/payments/management/commands/__init__.py b/payments/management/commands/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/payments/management/commands/bitcoin_info.py b/payments/management/commands/bitcoin_info.py new file mode 100644 index 0000000..66265fd --- /dev/null +++ b/payments/management/commands/bitcoin_info.py @@ -0,0 +1,15 @@ +from django.core.management.base import BaseCommand, CommandError + +from payments.models import ACTIVE_BACKENDS + + +class Command(BaseCommand): + help = "Get bitcoind info" + + def handle(self, *args, **options): + if 'bitcoin' not in ACTIVE_BACKENDS: + raise CommandError("bitcoin backend not active.") + + backend = ACTIVE_BACKENDS['bitcoin'] + for key, value in backend.get_info(): + self.stdout.write("%s: %s" % (key, value)) diff --git a/payments/management/commands/check_btc_payments.py b/payments/management/commands/check_btc_payments.py new file mode 100644 index 0000000..0a0e68b --- /dev/null +++ b/payments/management/commands/check_btc_payments.py @@ -0,0 +1,28 @@ +from django.core.management.base import BaseCommand, CommandError + +from payments.models import Payment, ACTIVE_BACKENDS + + +class Command(BaseCommand): + help = "Check bitcoin payments status" + + def handle(self, *args, **options): + if 'bitcoin' not in ACTIVE_BACKENDS: + raise CommandError("bitcoin backend not active.") + + backend = ACTIVE_BACKENDS['bitcoin'] + + payments = Payment.objects.filter(backend_id='bitcoin', status='new') + + self.stdout.write("Found %d active unconfirmed payments." % len(payments)) + + for p in payments: + self.stdout.write("Checking payment #%d... " % p.id, ending="") + backend.check(p) + + if p.status == 'confirmed': + self.stdout.write("OK.") + else: + self.stdout.write("Waiting") + + diff --git a/payments/management/commands/confirm_payment.py b/payments/management/commands/confirm_payment.py new file mode 100644 index 0000000..9cbbe4a --- /dev/null +++ b/payments/management/commands/confirm_payment.py @@ -0,0 +1,52 @@ +from django.core.management.base import BaseCommand +from django.utils import timezone +from django.utils.dateparse import parse_duration + +from payments.models import Payment + + +class Command(BaseCommand): + help = "Manually confirm a Payment" + + def add_arguments(self, parser): + parser.add_argument('id', action='store', type=int, help="Payment ID") + parser.add_argument('--paid-amount', dest='amount', action='store', type=int, help="Paid amount") + parser.add_argument('--extid', dest='extid', action='store', type=str) + parser.add_argument('-n', dest='sim', action='store_true', help="Simulate") + + def handle(self, *args, **options): + try: + p = Payment.objects.get(id=options['id']) + except Payment.DoesNotExist: + self.stderr.write("Cannot find payment #%d" % options['id']) + return + + print("Payment #%d by %s (amount=%d; paid_amount=%d)" % (p.id, p.user.username, p.amount, p.paid_amount)) + + if options['amount']: + pa = options['amount'] + else: + pa = p.amount + + extid = options['extid'] + + print("Status -> confirmed") + print("Paid amount -> %d" % pa) + if extid: + print("Ext ID -> %s" % extid) + + print("Confirm? [y/n] ") + i = input() + if i.lower().strip() == 'y': + p.user.vpnuser.add_paid_time(p.time) + p.user.vpnuser.on_payment_confirmed(p) + p.user.vpnuser.save() + + p.paid_amount = pa + p.status = 'confirmed' + if extid: + p.backend_extid = extid + p.save() + else: + print("aborted.") + diff --git a/payments/management/commands/expire_payments.py b/payments/management/commands/expire_payments.py new file mode 100644 index 0000000..deaf1e0 --- /dev/null +++ b/payments/management/commands/expire_payments.py @@ -0,0 +1,31 @@ +from django.core.management.base import BaseCommand +from django.utils import timezone +from django.utils.dateparse import parse_duration + +from payments.models import Payment + + +class Command(BaseCommand): + help = "Cancels expired Payments" + + def add_arguments(self, parser): + parser.add_argument('-n', dest='sim', action='store_true', help="Simulate") + parser.add_argument('-e', '--exp-time', action='store', + help="Expiration time.", default='3 00:00:00') + + def handle(self, *args, **options): + now = timezone.now() + expdate = now - parse_duration(options['exp_time']) + + self.stdout.write("Now: " + now.isoformat()) + self.stdout.write("Exp: " + expdate.isoformat()) + + expired = Payment.objects.filter(created__lte=expdate, status='new', + paid_amount=0) + + for p in expired: + self.stdout.write("Payment #%d (%s): %s" % (p.id, p.user.username, p.created)) + if not options['sim']: + p.status = 'cancelled' + p.save() + diff --git a/payments/migrations/0001_initial.py b/payments/migrations/0001_initial.py new file mode 100644 index 0000000..4706156 --- /dev/null +++ b/payments/migrations/0001_initial.py @@ -0,0 +1,60 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import migrations, models +import jsonfield.fields +from django.conf import settings + + +class Migration(migrations.Migration): + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ] + + operations = [ + migrations.CreateModel( + name='Payment', + fields=[ + ('id', models.AutoField(verbose_name='ID', primary_key=True, serialize=False, auto_created=True)), + ('backend_id', models.CharField(choices=[('bitcoin', 'Bitcoin'), ('coinbase', 'Coinbase'), ('manual', 'Manual'), ('paypal', 'PayPal'), ('stripe', 'Stripe')], max_length=16)), + ('status', models.CharField(choices=[('new', 'Waiting for payment'), ('confirmed', 'Confirmed'), ('cancelled', 'Cancelled'), ('rejected', 'Rejected by processor'), ('error', 'Payment processing failed')], max_length=16)), + ('created', models.DateTimeField(auto_now_add=True)), + ('modified', models.DateTimeField(auto_now=True)), + ('confirmed_on', models.DateTimeField(null=True, blank=True)), + ('amount', models.IntegerField()), + ('paid_amount', models.IntegerField(default=0)), + ('time', models.DurationField()), + ('status_message', models.TextField(null=True, blank=True)), + ('backend_extid', models.CharField(null=True, max_length=64, blank=True)), + ('backend_data', jsonfield.fields.JSONField(blank=True, default=dict)), + ], + options={ + 'ordering': ('-created',), + }, + ), + migrations.CreateModel( + name='RecurringPaymentSource', + fields=[ + ('id', models.AutoField(verbose_name='ID', primary_key=True, serialize=False, auto_created=True)), + ('backend', models.CharField(choices=[('bitcoin', 'Bitcoin'), ('coinbase', 'Coinbase'), ('manual', 'Manual'), ('paypal', 'PayPal'), ('stripe', 'Stripe')], max_length=16)), + ('created', models.DateTimeField(auto_now_add=True)), + ('modified', models.DateTimeField(auto_now=True)), + ('period', models.CharField(choices=[('monthly', 'Monthly'), ('biannually', 'Bianually'), ('yearly', 'Yearly')], max_length=16)), + ('last_confirmed_payment', models.DateTimeField(null=True, blank=True)), + ('backend_id', models.CharField(null=True, max_length=64, blank=True)), + ('backend_data', jsonfield.fields.JSONField(blank=True, default=dict)), + ('user', models.ForeignKey(to=settings.AUTH_USER_MODEL)), + ], + ), + migrations.AddField( + model_name='payment', + name='recurring_source', + field=models.ForeignKey(null=True, to='payments.RecurringPaymentSource', blank=True), + ), + migrations.AddField( + model_name='payment', + name='user', + field=models.ForeignKey(to=settings.AUTH_USER_MODEL), + ), + ] diff --git a/payments/migrations/0002_auto_20151204_0341.py b/payments/migrations/0002_auto_20151204_0341.py new file mode 100644 index 0000000..8755270 --- /dev/null +++ b/payments/migrations/0002_auto_20151204_0341.py @@ -0,0 +1,19 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('payments', '0001_initial'), + ] + + operations = [ + migrations.AlterField( + model_name='recurringpaymentsource', + name='period', + field=models.CharField(max_length=16, choices=[('6m', 'Every 6 months'), ('1year', 'Yearly')]), + ), + ] diff --git a/payments/migrations/0003_auto_20151209_0440.py b/payments/migrations/0003_auto_20151209_0440.py new file mode 100644 index 0000000..312fb3f --- /dev/null +++ b/payments/migrations/0003_auto_20151209_0440.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9 on 2015-12-09 04:40 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('payments', '0002_auto_20151204_0341'), + ] + + operations = [ + migrations.AlterField( + model_name='payment', + name='status', + field=models.CharField(choices=[('new', 'Waiting for payment'), ('confirmed', 'Confirmed'), ('cancelled', 'Cancelled'), ('rejected', 'Rejected by processor'), ('error', 'Payment processing failed')], default='new', max_length=16), + ), + ] diff --git a/payments/migrations/__init__.py b/payments/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/payments/models.py b/payments/models.py new file mode 100644 index 0000000..2138251 --- /dev/null +++ b/payments/models.py @@ -0,0 +1,114 @@ +from django.db import models +from django.conf import settings +from django.utils.translation import ugettext_lazy as _ +from jsonfield import JSONField + +from .backends import BackendBase + +backend_settings = settings.PAYMENTS_BACKENDS +assert isinstance(backend_settings, dict) + +CURRENCY_CODE, CURRENCY_NAME = settings.PAYMENTS_CURRENCY + +STATUS_CHOICES = ( + ('new', _("Waiting for payment")), + ('confirmed', _("Confirmed")), + ('cancelled', _("Cancelled")), + ('rejected', _("Rejected by processor")), + ('error', _("Payment processing failed")), +) + +PERIOD_CHOICES = ( + ('6m', _("Every 6 months")), + ('1year', _("Yearly")), +) + +# All known backends (classes) +BACKENDS = {} +BACKEND_CHOICES = [] + +# All enabled backends (configured instances) +ACTIVE_BACKENDS = {} +ACTIVE_BACKEND_CHOICES = [] + +for cls in BackendBase.__subclasses__(): + name = cls.backend_id + assert isinstance(name, str) + + obj = cls(backend_settings.get(name, {})) + if not obj.backend_enabled: + if name in backend_settings: + raise Exception("Invalid settings for payment backend %r" % name) + + BACKENDS[name] = obj + BACKEND_CHOICES.append((name, cls.backend_verbose_name)) + + if obj.backend_enabled: + ACTIVE_BACKENDS[name] = obj + ACTIVE_BACKEND_CHOICES.append((name, cls.backend_verbose_name)) + +BACKEND_CHOICES = sorted(BACKEND_CHOICES, key=lambda x: x[0]) +ACTIVE_BACKEND_CHOICES = sorted(ACTIVE_BACKEND_CHOICES, key=lambda x: x[0]) + + +class Payment(models.Model): + """ Just a payment. + If recurring_source is not null, it has been automatically issued. + backend_id is the external transaction ID, backend_data is other + things that should only be used by the associated backend. + """ + user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE) + backend_id = models.CharField(max_length=16, choices=BACKEND_CHOICES) + status = models.CharField(max_length=16, choices=STATUS_CHOICES, default='new') + created = models.DateTimeField(auto_now_add=True) + modified = models.DateTimeField(auto_now=True) + confirmed_on = models.DateTimeField(null=True, blank=True) + amount = models.IntegerField() + paid_amount = models.IntegerField(default=0) + time = models.DurationField() + recurring_source = models.ForeignKey('RecurringPaymentSource', null=True, blank=True) + status_message = models.TextField(blank=True, null=True) + + backend_extid = models.CharField(max_length=64, null=True, blank=True) + backend_data = JSONField(blank=True) + + @property + def currency_code(self): + return CURRENCY_CODE + + @property + def currency_name(self): + return CURRENCY_NAME + + @property + def backend(self): + """ Returns a global instance of the backend + :rtype: BackendBase + """ + return BACKENDS[self.backend_id] + + def get_amount_display(self): + return '%.2f %s' % (self.amount / 100, CURRENCY_NAME) + + @property + def is_confirmed(self): + return self.status == 'confirmed' + + class Meta: + ordering = ('-created', ) + + +class RecurringPaymentSource(models.Model): + """ Used as a source to periodically make Payments. + They use the same backends. + """ + user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE) + backend = models.CharField(max_length=16, choices=BACKEND_CHOICES) + created = models.DateTimeField(auto_now_add=True) + modified = models.DateTimeField(auto_now=True) + period = models.CharField(max_length=16, choices=PERIOD_CHOICES) + last_confirmed_payment = models.DateTimeField(blank=True, null=True) + + backend_id = models.CharField(max_length=64, null=True, blank=True) + backend_data = JSONField(blank=True) + diff --git a/payments/tests.py b/payments/tests.py new file mode 100644 index 0000000..eae9e4c --- /dev/null +++ b/payments/tests.py @@ -0,0 +1,323 @@ +from datetime import timedelta +from urllib.parse import parse_qs + +from django.test import TestCase, RequestFactory +from django.http import HttpResponseRedirect +from django.contrib.auth.models import User + +from .models import Payment +from .backends import BitcoinBackend, PaypalBackend, StripeBackend + +from decimal import Decimal + + +class FakeBTCRPCNew: + def getnewaddress(self, account): + return 'TEST_ADDRESS' + + +class FakeBTCRPCUnpaid: + def getreceivedbyaddress(self, address): + assert address == 'TEST_ADDRESS' + return Decimal('0') + + +class FakeBTCRPCPartial: + def getreceivedbyaddress(self, address): + assert address == 'TEST_ADDRESS' + return Decimal('0.5') * 100000000 + + +class FakeBTCRPCPaid: + def getreceivedbyaddress(self, address): + assert address == 'TEST_ADDRESS' + return Decimal('1') * 100000000 + + +PAYPAL_IPN_TEST = '''\ +mc_gross=3.00&\ +protection_eligibility=Eligible&\ +address_status=confirmed&\ +payer_id=LPLWNMTBWMFAY&\ +tax=0.00&\ +address_street=1+Main+St&\ +payment_date=20%3A12%3A59+Jan+13%2C+2009+PST&\ +payment_status=Completed&\ +charset=windows-1252&\ +address_zip=95131&\ +first_name=Test&\ +mc_fee=0.88&\ +address_country_code=US&\ +address_name=Test+User&\ +notify_version=2.6&\ +custom=&\ +payer_status=verified&\ +address_country=United+States&\ +address_city=San+Jose&\ +quantity=1&\ +verify_sign=AtkOfCXbDm2hu0ZELryHFjY-Vb7PAUvS6nMXgysbElEn9v-1XcmSoGtf&\ +payer_email=test_user@example.com&\ +txn_id=61E67681CH3238416&\ +payment_type=instant&\ +last_name=User&\ +address_state=CA&\ +receiver_email=test_business@example.com&\ +payment_fee=0.88&\ +receiver_id=S8XGHLYDW9T3S&\ +txn_type=express_checkout&\ +item_name=&\ +mc_currency=EUR&\ +item_number=&\ +residence_country=US&\ +test_ipn=1&\ +handling_amount=0.00&\ +transaction_subject=&\ +payment_gross=3.00&\ +shipping=0.00''' + + +class BitcoinBackendTest(TestCase): + def setUp(self): + self.user = User.objects.create_user('test', 'test_user@example.com', None) + + self.p = Payment.objects.create( + user=self.user, time=timedelta(days=30), backend='bitcoin', + amount=300) + + def test_new(self): + backend = BitcoinBackend(dict(BITCOIN_VALUE=300, URL='')) + backend.make_rpc = FakeBTCRPCNew + + backend.new_payment(self.p) + redirect = backend.new_payment(self.p) + self.assertEqual(self.p.backend_extid, 'TEST_ADDRESS') + self.assertEqual(self.p.status, 'new') + self.assertIn('btc_price', self.p.backend_data) + self.assertIn('btc_address', self.p.backend_data) + self.assertEqual(self.p.backend_data['btc_address'], 'TEST_ADDRESS') + self.assertIsInstance(redirect, HttpResponseRedirect) + self.assertEqual(redirect.url, '/payments/view/%d' % self.p.id) + self.assertEqual(self.p.status_message, "Please send 1.00000 BTC to TEST_ADDRESS") + + def test_rounding(self): + """ Rounding test + 300 / 300 = 1 => 1.00000 BTC + 300 / 260 = Decimal('1.153846153846153846153846154') => 1.15385 BTC + """ + backend = BitcoinBackend(dict(BITCOIN_VALUE=300, URL='')) + backend.make_rpc = FakeBTCRPCNew + backend.new_payment(self.p) + self.assertEqual(self.p.status_message, "Please send 1.00000 BTC to TEST_ADDRESS") + + backend = BitcoinBackend(dict(BITCOIN_VALUE=260, URL='')) + backend.make_rpc = FakeBTCRPCNew + backend.new_payment(self.p) + self.assertEqual(self.p.status_message, "Please send 1.15385 BTC to TEST_ADDRESS") + + +class BitcoinBackendConfirmTest(TestCase): + def setUp(self): + self.user = User.objects.create_user('test', 'test_user@example.com', None) + + self.p = Payment.objects.create( + user=self.user, time=timedelta(days=30), backend='bitcoin', + amount=300) + + # call new_payment + backend = BitcoinBackend(dict(BITCOIN_VALUE=300, URL='')) + backend.make_rpc = FakeBTCRPCNew + backend.new_payment(self.p) + + def test_check_unpaid(self): + backend = BitcoinBackend(dict(BITCOIN_VALUE=300, URL='')) + backend.make_rpc = FakeBTCRPCUnpaid + + backend.check(self.p) + self.assertEqual(self.p.status, 'new') + self.assertEqual(self.p.paid_amount, 0) + + def test_check_partially_paid(self): + backend = BitcoinBackend(dict(BITCOIN_VALUE=300, URL='')) + backend.make_rpc = FakeBTCRPCPartial + backend.check(self.p) + self.assertEqual(self.p.status, 'new') + self.assertEqual(self.p.paid_amount, 150) + + def test_check_paid(self): + backend = BitcoinBackend(dict(BITCOIN_VALUE=300, URL='')) + backend.make_rpc = FakeBTCRPCPaid + backend.check(self.p) + self.assertEqual(self.p.paid_amount, 300) + self.assertEqual(self.p.status, 'confirmed') + + +class BackendTest(TestCase): + def setUp(self): + self.user = User.objects.create_user('test', 'test_user@example.com', None) + + def test_paypal(self): + # TODO: This checks the most simple and perfect payment that could + # happen, but not errors or other/invalid IPN + + payment = Payment.objects.create( + user=self.user, + time=timedelta(days=30), + backend='paypal', + amount=300 + ) + + settings = dict( + TEST=True, + TITLE='Test Title', + CURRENCY='EUR', + ADDRESS='test_business@example.com', + ) + + with self.settings(ROOT_URL='root'): + backend = PaypalBackend(settings) + redirect = backend.new_payment(payment) + + self.assertIsInstance(redirect, HttpResponseRedirect) + + host, params = redirect.url.split('?', 1) + params = parse_qs(params) + + expected_notify_url = 'root/payments/callback/paypal/%d' % payment.id + expected_return_url = 'root/payments/view/%d' % payment.id + expected_cancel_url = 'root/payments/cancel/%d' % payment.id + + self.assertEqual(params['cmd'][0], '_xclick') + self.assertEqual(params['notify_url'][0], expected_notify_url) + self.assertEqual(params['return'][0], expected_return_url) + self.assertEqual(params['cancel_return'][0], expected_cancel_url) + self.assertEqual(params['business'][0], 'test_business@example.com') + self.assertEqual(params['currency_code'][0], 'EUR') + self.assertEqual(params['amount'][0], '3.00') + self.assertEqual(params['item_name'][0], 'Test Title') + + # Replace PaypalBackend.verify_ipn to not call the PayPal API + # we will assume the IPN is authentic + backend.verify_ipn = lambda payment, request: True + + ipn_url = '/payments/callback/paypal/%d' % payment.id + ipn_request = RequestFactory().post( + ipn_url, + content_type='application/x-www-form-urlencoded', + data=PAYPAL_IPN_TEST) + r = backend.callback(payment, ipn_request) + + self.assertTrue(r) + self.assertEqual(payment.status, 'confirmed') + self.assertEqual(payment.paid_amount, 300) + self.assertEqual(payment.backend_extid, '61E67681CH3238416') + + def test_paypal_ipn_error(self): + payment = Payment.objects.create( + user=self.user, + time=timedelta(days=30), + backend='paypal', + amount=300 + ) + + settings = dict( + TEST=True, + TITLE='Test Title', + CURRENCY='EUR', + ADDRESS='test_business@example.com', + ) + + with self.settings(ROOT_URL='root'): + backend = PaypalBackend(settings) + redirect = backend.new_payment(payment) + + self.assertIsInstance(redirect, HttpResponseRedirect) + + host, params = redirect.url.split('?', 1) + params = parse_qs(params) + + expected_notify_url = 'root/payments/callback/paypal/%d' % payment.id + + # Replace PaypalBackend.verify_ipn to not call the PayPal API + # we will assume the IPN is authentic + backend.verify_ipn = lambda payment, request: True + + ipn_url = '/payments/callback/paypal/%d' % payment.id + ipn_request = RequestFactory().post( + ipn_url, + content_type='application/x-www-form-urlencoded', + data=PAYPAL_IPN_TEST) + r = backend.callback(payment, ipn_request) + + self.assertTrue(r) + self.assertEqual(payment.status, 'confirmed') + self.assertEqual(payment.paid_amount, 300) + self.assertEqual(payment.backend_extid, '61E67681CH3238416') + + def test_stripe(self): + payment = Payment.objects.create( + user=self.user, + time=timedelta(days=30), + backend='stripe', + amount=300 + ) + + settings = dict( + API_KEY='test_secret_key', + PUBLIC_KEY='test_public_key', + CURRENCY='EUR', + NAME='Test Name', + ) + + with self.settings(ROOT_URL='root'): + backend = StripeBackend(settings) + form_html = backend.new_payment(payment) + + expected_form = ''' +
+ +
+ '''.format(id=payment.id) + self.maxDiff = None + self.assertEqual(expected_form, form_html) + + def create_charge(**kwargs): + self.assertEqual(kwargs, { + 'amount': 300, + 'currency': 'EUR', + 'card': 'TEST_TOKEN', + 'description': "1 months for test", + }) + return { + 'id': 'TEST_CHARGE_ID', + 'refunded': False, + 'paid': True, + 'amount': 300, + } + + # Replace the Stripe api instance + backend.stripe = type('Stripe', (object, ), { + 'Charge': type('Charge', (object, ), { + 'create': create_charge, + }), + 'error': type('error', (object, ), { + 'CardError': type('CardError', (Exception, ), {}), + }), + }) + + request = RequestFactory().post('', {'stripeToken': 'TEST_TOKEN'}) + backend.callback(payment, request) + + self.assertEqual(payment.backend_extid, 'TEST_CHARGE_ID') + diff --git a/payments/urls.py b/payments/urls.py new file mode 100644 index 0000000..0be8fe6 --- /dev/null +++ b/payments/urls.py @@ -0,0 +1,14 @@ +from django.conf.urls import url +from . import views + +urlpatterns = [ + url(r'^new$', views.new), + url(r'^view/(?P[0-9]+)$', views.view, name='view'), + url(r'^cancel/(?P[0-9]+)$', views.cancel, name='cancel'), + + url(r'^callback/paypal/(?P[0-9]+)$', views.callback_paypal, name='cb_paypal'), + url(r'^callback/stripe/(?P[0-9]+)$', views.callback_stripe, name='cb_stripe'), + url(r'^callback/coinbase/$', views.callback_coinbase, name='cb_coinbase'), + + url(r'^$', views.list_payments), +] diff --git a/payments/views.py b/payments/views.py new file mode 100644 index 0000000..2b6d1dc --- /dev/null +++ b/payments/views.py @@ -0,0 +1,116 @@ +from datetime import timedelta +from django.shortcuts import render, redirect +from django.core.urlresolvers import reverse +from django.conf import settings +from django.contrib.auth.decorators import login_required +from django.http import HttpResponse, HttpResponseBadRequest, HttpResponseNotFound +from django.views.decorators.csrf import csrf_exempt +from django.utils import timezone + +from .forms import NewPaymentForm +from .models import Payment, BACKENDS + + +monthly_price = settings.PAYMENTS_MONTHLY_PRICE + + +@login_required +def new(request): + if request.method != 'POST': + return redirect('account:index') + + form = NewPaymentForm(request.POST) + + if not form.is_valid(): + return redirect('account:index') + + months = int(form.cleaned_data['time']) + payment = Payment( + user=request.user, + backend_id=form.cleaned_data['method'], + status='new', + time=timedelta(days=30 * months), + amount=monthly_price * months + ) + + if not payment.backend.backend_enabled: + return HttpResponseNotFound() + + payment.save() + + r = payment.backend.new_payment(payment) + + if not r: + payment.status = 'error' + payment.save() + raise Exception("Failed to initialize payment #%d" % payment.id) + + if isinstance(r, str): + return render(request, 'payments/form.html', dict(html=r)) + elif r is None: + return redirect('payments:view', payment.id) + + return r + + +@csrf_exempt +def callback_paypal(request, id): + """ PayPal IPN """ + if not BACKENDS['paypal'].backend_enabled: + return HttpResponseNotFound() + + p = Payment.objects.get(id=id) + if BACKENDS['paypal'].callback(p, request): + return HttpResponse() + else: + return HttpResponseBadRequest() + + +@csrf_exempt +@login_required +def callback_stripe(request, id): + """ Stripe button POST """ + if not BACKENDS['stripe'].backend_enabled: + return HttpResponseNotFound() + + p = Payment.objects.get(id=id) + BACKENDS['stripe'].callback(p, request) + return redirect(reverse('payments:view', args=(id,))) + + +@csrf_exempt +def callback_coinbase(request): + if not BACKENDS['coinbase'].backend_enabled: + return HttpResponseNotFound() + + if BACKENDS['coinbase'].callback(Payment, request): + return HttpResponse() + else: + return HttpResponseBadRequest() + + +@login_required +@csrf_exempt +def view(request, id): + p = Payment.objects.get(id=id, user=request.user) + return render(request, 'payments/view.html', dict(payment=p)) + + +@login_required +def cancel(request, id): + p = Payment.objects.get(id=id, user=request.user) + if p.status == 'new': + p.status = 'cancelled' + p.save() + return render(request, 'payments/view.html', dict(payment=p)) + + +@login_required +def list_payments(request): + # Only show recent cancelled payments + cancelled_limit = timezone.now() - timedelta(days=3) + + objects = request.user.payment_set.exclude(status='cancelled', + created__lte=cancelled_limit) + return render(request, 'payments/list.html', dict(payments=objects)) + diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..bcfae59 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,10 @@ +django +django-jsonfield +django_countries +markdown +requests +pygal +pytz +python-bitcoinlib +stripe + diff --git a/static/affimg/banner.png b/static/affimg/banner.png new file mode 100644 index 0000000000000000000000000000000000000000..718e034cde1a2c17018cbc721abc2a66961ecaeb GIT binary patch literal 8828 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 literal 0 HcmV?d00001 diff --git a/static/affimg/leaderboard.png b/static/affimg/leaderboard.png new file mode 100644 index 0000000000000000000000000000000000000000..e354b6273203094800cd902dc83eaad8ef8777b2 GIT binary patch literal 16751 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 literal 0 HcmV?d00001 diff --git a/static/css/admin_status.css b/static/css/admin_status.css new file mode 100644 index 0000000..6d34033 --- /dev/null +++ b/static/css/admin_status.css @@ -0,0 +1,23 @@ +.dashboard #content { + width: auto; +} + +.admin-graph { + width: 48%; + margin: auto; + display: inline-block; + margin: 0; + padding: 0; +} + + +.half-module { + display: inline-block; + width: 50%; +} +.half-module table { + width: 95%; +} +.half-module + .half-module { + float: left; +} diff --git a/static/css/font-awesome.css b/static/css/font-awesome.css new file mode 100644 index 0000000..b2a5fe2 --- /dev/null +++ b/static/css/font-awesome.css @@ -0,0 +1,2086 @@ +/*! + * Font Awesome 4.5.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */ +/* FONT PATH + * -------------------------- */ +@font-face { + font-family: 'FontAwesome'; + src: url('../fonts/fontawesome-webfont.eot?v=4.5.0'); + src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.5.0') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff2?v=4.5.0') format('woff2'), url('../fonts/fontawesome-webfont.woff?v=4.5.0') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.5.0') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.5.0#fontawesomeregular') format('svg'); + font-weight: normal; + font-style: normal; +} +.fa { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +/* makes the font 33% larger relative to the icon container */ +.fa-lg { + font-size: 1.33333333em; + line-height: 0.75em; + vertical-align: -15%; +} +.fa-2x { + font-size: 2em; +} +.fa-3x { + font-size: 3em; +} +.fa-4x { + font-size: 4em; +} +.fa-5x { + font-size: 5em; +} +.fa-fw { + width: 1.28571429em; + text-align: center; +} +.fa-ul { + padding-left: 0; + margin-left: 2.14285714em; + list-style-type: none; +} +.fa-ul > li { + position: relative; +} +.fa-li { + position: absolute; + left: -2.14285714em; + width: 2.14285714em; + top: 0.14285714em; + text-align: center; +} +.fa-li.fa-lg { + left: -1.85714286em; +} +.fa-border { + padding: .2em .25em .15em; + border: solid 0.08em #eeeeee; + border-radius: .1em; +} +.fa-pull-left { + float: left; +} +.fa-pull-right { + float: right; +} +.fa.fa-pull-left { + margin-right: .3em; +} +.fa.fa-pull-right { + margin-left: .3em; +} +/* Deprecated as of 4.4.0 */ +.pull-right { + float: right; +} +.pull-left { + float: left; +} +.fa.pull-left { + margin-right: .3em; +} +.fa.pull-right { + margin-left: .3em; +} +.fa-spin { + -webkit-animation: fa-spin 2s infinite linear; + animation: fa-spin 2s infinite linear; +} +.fa-pulse { + -webkit-animation: fa-spin 1s infinite steps(8); + animation: fa-spin 1s infinite steps(8); +} +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +.fa-rotate-90 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1); + -webkit-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); +} +.fa-rotate-180 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); + -webkit-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); +} +.fa-rotate-270 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); + -webkit-transform: rotate(270deg); + -ms-transform: rotate(270deg); + transform: rotate(270deg); +} +.fa-flip-horizontal { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1); + -webkit-transform: scale(-1, 1); + -ms-transform: scale(-1, 1); + transform: scale(-1, 1); +} +.fa-flip-vertical { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1); + -webkit-transform: scale(1, -1); + -ms-transform: scale(1, -1); + transform: scale(1, -1); +} +:root .fa-rotate-90, +:root .fa-rotate-180, +:root .fa-rotate-270, +:root .fa-flip-horizontal, +:root .fa-flip-vertical { + filter: none; +} +.fa-stack { + position: relative; + display: inline-block; + width: 2em; + height: 2em; + line-height: 2em; + vertical-align: middle; +} +.fa-stack-1x, +.fa-stack-2x { + position: absolute; + left: 0; + width: 100%; + text-align: center; +} +.fa-stack-1x { + line-height: inherit; +} +.fa-stack-2x { + font-size: 2em; +} +.fa-inverse { + color: #ffffff; +} +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen + readers do not read off random characters that represent icons */ +.fa-glass:before { + content: "\f000"; +} +.fa-music:before { + content: "\f001"; +} +.fa-search:before { + content: "\f002"; +} +.fa-envelope-o:before { + content: "\f003"; +} +.fa-heart:before { + content: "\f004"; +} +.fa-star:before { + content: "\f005"; +} +.fa-star-o:before { + content: "\f006"; +} +.fa-user:before { + content: "\f007"; +} +.fa-film:before { + content: "\f008"; +} +.fa-th-large:before { + content: "\f009"; +} +.fa-th:before { + content: "\f00a"; +} +.fa-th-list:before { + content: "\f00b"; +} +.fa-check:before { + content: "\f00c"; +} +.fa-remove:before, +.fa-close:before, +.fa-times:before { + content: "\f00d"; +} +.fa-search-plus:before { + content: "\f00e"; +} +.fa-search-minus:before { + content: "\f010"; +} +.fa-power-off:before { + content: "\f011"; +} +.fa-signal:before { + content: "\f012"; +} +.fa-gear:before, +.fa-cog:before { + content: "\f013"; +} +.fa-trash-o:before { + content: "\f014"; +} +.fa-home:before { + content: "\f015"; +} +.fa-file-o:before { + content: "\f016"; +} +.fa-clock-o:before { + content: "\f017"; +} +.fa-road:before { + content: "\f018"; +} +.fa-download:before { + content: "\f019"; +} +.fa-arrow-circle-o-down:before { + content: "\f01a"; +} +.fa-arrow-circle-o-up:before { + content: "\f01b"; +} +.fa-inbox:before { + content: "\f01c"; +} +.fa-play-circle-o:before { + content: "\f01d"; +} +.fa-rotate-right:before, +.fa-repeat:before { + content: "\f01e"; +} +.fa-refresh:before { + content: "\f021"; +} +.fa-list-alt:before { + content: "\f022"; +} +.fa-lock:before { + content: "\f023"; +} +.fa-flag:before { + content: "\f024"; +} +.fa-headphones:before { + content: "\f025"; +} +.fa-volume-off:before { + content: "\f026"; +} +.fa-volume-down:before { + content: "\f027"; +} +.fa-volume-up:before { + content: "\f028"; +} +.fa-qrcode:before { + content: "\f029"; +} +.fa-barcode:before { + content: "\f02a"; +} +.fa-tag:before { + content: "\f02b"; +} +.fa-tags:before { + content: "\f02c"; +} +.fa-book:before { + content: "\f02d"; +} +.fa-bookmark:before { + content: "\f02e"; +} +.fa-print:before { + content: "\f02f"; +} +.fa-camera:before { + content: "\f030"; +} +.fa-font:before { + content: "\f031"; +} +.fa-bold:before { + content: "\f032"; +} +.fa-italic:before { + content: "\f033"; +} +.fa-text-height:before { + content: "\f034"; +} +.fa-text-width:before { + content: "\f035"; +} +.fa-align-left:before { + content: "\f036"; +} +.fa-align-center:before { + content: "\f037"; +} +.fa-align-right:before { + content: "\f038"; +} +.fa-align-justify:before { + content: "\f039"; +} +.fa-list:before { + content: "\f03a"; +} +.fa-dedent:before, +.fa-outdent:before { + content: "\f03b"; +} +.fa-indent:before { + content: "\f03c"; +} +.fa-video-camera:before { + content: "\f03d"; +} +.fa-photo:before, +.fa-image:before, +.fa-picture-o:before { + content: "\f03e"; +} +.fa-pencil:before { + content: "\f040"; +} +.fa-map-marker:before { + content: "\f041"; +} +.fa-adjust:before { + content: "\f042"; +} +.fa-tint:before { + content: "\f043"; +} +.fa-edit:before, +.fa-pencil-square-o:before { + content: "\f044"; +} +.fa-share-square-o:before { + content: "\f045"; +} +.fa-check-square-o:before { + content: "\f046"; +} +.fa-arrows:before { + content: "\f047"; +} +.fa-step-backward:before { + content: "\f048"; +} +.fa-fast-backward:before { + content: "\f049"; +} +.fa-backward:before { + content: "\f04a"; +} +.fa-play:before { + content: "\f04b"; +} +.fa-pause:before { + content: "\f04c"; +} +.fa-stop:before { + content: "\f04d"; +} +.fa-forward:before { + content: "\f04e"; +} +.fa-fast-forward:before { + content: "\f050"; +} +.fa-step-forward:before { + content: "\f051"; +} +.fa-eject:before { + content: "\f052"; +} +.fa-chevron-left:before { + content: "\f053"; +} +.fa-chevron-right:before { + content: "\f054"; +} +.fa-plus-circle:before { + content: "\f055"; +} +.fa-minus-circle:before { + content: "\f056"; +} +.fa-times-circle:before { + content: "\f057"; +} +.fa-check-circle:before { + content: "\f058"; +} +.fa-question-circle:before { + content: "\f059"; +} +.fa-info-circle:before { + content: "\f05a"; +} +.fa-crosshairs:before { + content: "\f05b"; +} +.fa-times-circle-o:before { + content: "\f05c"; +} +.fa-check-circle-o:before { + content: "\f05d"; +} +.fa-ban:before { + content: "\f05e"; +} +.fa-arrow-left:before { + content: "\f060"; +} +.fa-arrow-right:before { + content: "\f061"; +} +.fa-arrow-up:before { + content: "\f062"; +} +.fa-arrow-down:before { + content: "\f063"; +} +.fa-mail-forward:before, +.fa-share:before { + content: "\f064"; +} +.fa-expand:before { + content: "\f065"; +} +.fa-compress:before { + content: "\f066"; +} +.fa-plus:before { + content: "\f067"; +} +.fa-minus:before { + content: "\f068"; +} +.fa-asterisk:before { + content: "\f069"; +} +.fa-exclamation-circle:before { + content: "\f06a"; +} +.fa-gift:before { + content: "\f06b"; +} +.fa-leaf:before { + content: "\f06c"; +} +.fa-fire:before { + content: "\f06d"; +} +.fa-eye:before { + content: "\f06e"; +} +.fa-eye-slash:before { + content: "\f070"; +} +.fa-warning:before, +.fa-exclamation-triangle:before { + content: "\f071"; +} +.fa-plane:before { + content: "\f072"; +} +.fa-calendar:before { + content: "\f073"; +} +.fa-random:before { + content: "\f074"; +} +.fa-comment:before { + content: "\f075"; +} +.fa-magnet:before { + content: "\f076"; +} +.fa-chevron-up:before { + content: "\f077"; +} +.fa-chevron-down:before { + content: "\f078"; +} +.fa-retweet:before { + content: "\f079"; +} +.fa-shopping-cart:before { + content: "\f07a"; +} +.fa-folder:before { + content: "\f07b"; +} +.fa-folder-open:before { + content: "\f07c"; +} +.fa-arrows-v:before { + content: "\f07d"; +} +.fa-arrows-h:before { + content: "\f07e"; +} +.fa-bar-chart-o:before, +.fa-bar-chart:before { + content: "\f080"; +} +.fa-twitter-square:before { + content: "\f081"; +} +.fa-facebook-square:before { + content: "\f082"; +} +.fa-camera-retro:before { + content: "\f083"; +} +.fa-key:before { + content: "\f084"; +} +.fa-gears:before, +.fa-cogs:before { + content: "\f085"; +} +.fa-comments:before { + content: "\f086"; +} +.fa-thumbs-o-up:before { + content: "\f087"; +} +.fa-thumbs-o-down:before { + content: "\f088"; +} +.fa-star-half:before { + content: "\f089"; +} +.fa-heart-o:before { + content: "\f08a"; +} +.fa-sign-out:before { + content: "\f08b"; +} +.fa-linkedin-square:before { + content: "\f08c"; +} +.fa-thumb-tack:before { + content: "\f08d"; +} +.fa-external-link:before { + content: "\f08e"; +} +.fa-sign-in:before { + content: "\f090"; +} +.fa-trophy:before { + content: "\f091"; +} +.fa-github-square:before { + content: "\f092"; +} +.fa-upload:before { + content: "\f093"; +} +.fa-lemon-o:before { + content: "\f094"; +} +.fa-phone:before { + content: "\f095"; +} +.fa-square-o:before { + content: "\f096"; +} +.fa-bookmark-o:before { + content: "\f097"; +} +.fa-phone-square:before { + content: "\f098"; +} +.fa-twitter:before { + content: "\f099"; +} +.fa-facebook-f:before, +.fa-facebook:before { + content: "\f09a"; +} +.fa-github:before { + content: "\f09b"; +} +.fa-unlock:before { + content: "\f09c"; +} +.fa-credit-card:before { + content: "\f09d"; +} +.fa-feed:before, +.fa-rss:before { + content: "\f09e"; +} +.fa-hdd-o:before { + content: "\f0a0"; +} +.fa-bullhorn:before { + content: "\f0a1"; +} +.fa-bell:before { + content: "\f0f3"; +} +.fa-certificate:before { + content: "\f0a3"; +} +.fa-hand-o-right:before { + content: "\f0a4"; +} +.fa-hand-o-left:before { + content: "\f0a5"; +} +.fa-hand-o-up:before { + content: "\f0a6"; +} +.fa-hand-o-down:before { + content: "\f0a7"; +} +.fa-arrow-circle-left:before { + content: "\f0a8"; +} +.fa-arrow-circle-right:before { + content: "\f0a9"; +} +.fa-arrow-circle-up:before { + content: "\f0aa"; +} +.fa-arrow-circle-down:before { + content: "\f0ab"; +} +.fa-globe:before { + content: "\f0ac"; +} +.fa-wrench:before { + content: "\f0ad"; +} +.fa-tasks:before { + content: "\f0ae"; +} +.fa-filter:before { + content: "\f0b0"; +} +.fa-briefcase:before { + content: "\f0b1"; +} +.fa-arrows-alt:before { + content: "\f0b2"; +} +.fa-group:before, +.fa-users:before { + content: "\f0c0"; +} +.fa-chain:before, +.fa-link:before { + content: "\f0c1"; +} +.fa-cloud:before { + content: "\f0c2"; +} +.fa-flask:before { + content: "\f0c3"; +} +.fa-cut:before, +.fa-scissors:before { + content: "\f0c4"; +} +.fa-copy:before, +.fa-files-o:before { + content: "\f0c5"; +} +.fa-paperclip:before { + content: "\f0c6"; +} +.fa-save:before, +.fa-floppy-o:before { + content: "\f0c7"; +} +.fa-square:before { + content: "\f0c8"; +} +.fa-navicon:before, +.fa-reorder:before, +.fa-bars:before { + content: "\f0c9"; +} +.fa-list-ul:before { + content: "\f0ca"; +} +.fa-list-ol:before { + content: "\f0cb"; +} +.fa-strikethrough:before { + content: "\f0cc"; +} +.fa-underline:before { + content: "\f0cd"; +} +.fa-table:before { + content: "\f0ce"; +} +.fa-magic:before { + content: "\f0d0"; +} +.fa-truck:before { + content: "\f0d1"; +} +.fa-pinterest:before { + content: "\f0d2"; +} +.fa-pinterest-square:before { + content: "\f0d3"; +} +.fa-google-plus-square:before { + content: "\f0d4"; +} +.fa-google-plus:before { + content: "\f0d5"; +} +.fa-money:before { + content: "\f0d6"; +} +.fa-caret-down:before { + content: "\f0d7"; +} +.fa-caret-up:before { + content: "\f0d8"; +} +.fa-caret-left:before { + content: "\f0d9"; +} +.fa-caret-right:before { + content: "\f0da"; +} +.fa-columns:before { + content: "\f0db"; +} +.fa-unsorted:before, +.fa-sort:before { + content: "\f0dc"; +} +.fa-sort-down:before, +.fa-sort-desc:before { + content: "\f0dd"; +} +.fa-sort-up:before, +.fa-sort-asc:before { + content: "\f0de"; +} +.fa-envelope:before { + content: "\f0e0"; +} +.fa-linkedin:before { + content: "\f0e1"; +} +.fa-rotate-left:before, +.fa-undo:before { + content: "\f0e2"; +} +.fa-legal:before, +.fa-gavel:before { + content: "\f0e3"; +} +.fa-dashboard:before, +.fa-tachometer:before { + content: "\f0e4"; +} +.fa-comment-o:before { + content: "\f0e5"; +} +.fa-comments-o:before { + content: "\f0e6"; +} +.fa-flash:before, +.fa-bolt:before { + content: "\f0e7"; +} +.fa-sitemap:before { + content: "\f0e8"; +} +.fa-umbrella:before { + content: "\f0e9"; +} +.fa-paste:before, +.fa-clipboard:before { + content: "\f0ea"; +} +.fa-lightbulb-o:before { + content: "\f0eb"; +} +.fa-exchange:before { + content: "\f0ec"; +} +.fa-cloud-download:before { + content: "\f0ed"; +} +.fa-cloud-upload:before { + content: "\f0ee"; +} +.fa-user-md:before { + content: "\f0f0"; +} +.fa-stethoscope:before { + content: "\f0f1"; +} +.fa-suitcase:before { + content: "\f0f2"; +} +.fa-bell-o:before { + content: "\f0a2"; +} +.fa-coffee:before { + content: "\f0f4"; +} +.fa-cutlery:before { + content: "\f0f5"; +} +.fa-file-text-o:before { + content: "\f0f6"; +} +.fa-building-o:before { + content: "\f0f7"; +} +.fa-hospital-o:before { + content: "\f0f8"; +} +.fa-ambulance:before { + content: "\f0f9"; +} +.fa-medkit:before { + content: "\f0fa"; +} +.fa-fighter-jet:before { + content: "\f0fb"; +} +.fa-beer:before { + content: "\f0fc"; +} +.fa-h-square:before { + content: "\f0fd"; +} +.fa-plus-square:before { + content: "\f0fe"; +} +.fa-angle-double-left:before { + content: "\f100"; +} +.fa-angle-double-right:before { + content: "\f101"; +} +.fa-angle-double-up:before { + content: "\f102"; +} +.fa-angle-double-down:before { + content: "\f103"; +} +.fa-angle-left:before { + content: "\f104"; +} +.fa-angle-right:before { + content: "\f105"; +} +.fa-angle-up:before { + content: "\f106"; +} +.fa-angle-down:before { + content: "\f107"; +} +.fa-desktop:before { + content: "\f108"; +} +.fa-laptop:before { + content: "\f109"; +} +.fa-tablet:before { + content: "\f10a"; +} +.fa-mobile-phone:before, +.fa-mobile:before { + content: "\f10b"; +} +.fa-circle-o:before { + content: "\f10c"; +} +.fa-quote-left:before { + content: "\f10d"; +} +.fa-quote-right:before { + content: "\f10e"; +} +.fa-spinner:before { + content: "\f110"; +} +.fa-circle:before { + content: "\f111"; +} +.fa-mail-reply:before, +.fa-reply:before { + content: "\f112"; +} +.fa-github-alt:before { + content: "\f113"; +} +.fa-folder-o:before { + content: "\f114"; +} +.fa-folder-open-o:before { + content: "\f115"; +} +.fa-smile-o:before { + content: "\f118"; +} +.fa-frown-o:before { + content: "\f119"; +} +.fa-meh-o:before { + content: "\f11a"; +} +.fa-gamepad:before { + content: "\f11b"; +} +.fa-keyboard-o:before { + content: "\f11c"; +} +.fa-flag-o:before { + content: "\f11d"; +} +.fa-flag-checkered:before { + content: "\f11e"; +} +.fa-terminal:before { + content: "\f120"; +} +.fa-code:before { + content: "\f121"; +} +.fa-mail-reply-all:before, +.fa-reply-all:before { + content: "\f122"; +} +.fa-star-half-empty:before, +.fa-star-half-full:before, +.fa-star-half-o:before { + content: "\f123"; +} +.fa-location-arrow:before { + content: "\f124"; +} +.fa-crop:before { + content: "\f125"; +} +.fa-code-fork:before { + content: "\f126"; +} +.fa-unlink:before, +.fa-chain-broken:before { + content: "\f127"; +} +.fa-question:before { + content: "\f128"; +} +.fa-info:before { + content: "\f129"; +} +.fa-exclamation:before { + content: "\f12a"; +} +.fa-superscript:before { + content: "\f12b"; +} +.fa-subscript:before { + content: "\f12c"; +} +.fa-eraser:before { + content: "\f12d"; +} +.fa-puzzle-piece:before { + content: "\f12e"; +} +.fa-microphone:before { + content: "\f130"; +} +.fa-microphone-slash:before { + content: "\f131"; +} +.fa-shield:before { + content: "\f132"; +} +.fa-calendar-o:before { + content: "\f133"; +} +.fa-fire-extinguisher:before { + content: "\f134"; +} +.fa-rocket:before { + content: "\f135"; +} +.fa-maxcdn:before { + content: "\f136"; +} +.fa-chevron-circle-left:before { + content: "\f137"; +} +.fa-chevron-circle-right:before { + content: "\f138"; +} +.fa-chevron-circle-up:before { + content: "\f139"; +} +.fa-chevron-circle-down:before { + content: "\f13a"; +} +.fa-html5:before { + content: "\f13b"; +} +.fa-css3:before { + content: "\f13c"; +} +.fa-anchor:before { + content: "\f13d"; +} +.fa-unlock-alt:before { + content: "\f13e"; +} +.fa-bullseye:before { + content: "\f140"; +} +.fa-ellipsis-h:before { + content: "\f141"; +} +.fa-ellipsis-v:before { + content: "\f142"; +} +.fa-rss-square:before { + content: "\f143"; +} +.fa-play-circle:before { + content: "\f144"; +} +.fa-ticket:before { + content: "\f145"; +} +.fa-minus-square:before { + content: "\f146"; +} +.fa-minus-square-o:before { + content: "\f147"; +} +.fa-level-up:before { + content: "\f148"; +} +.fa-level-down:before { + content: "\f149"; +} +.fa-check-square:before { + content: "\f14a"; +} +.fa-pencil-square:before { + content: "\f14b"; +} +.fa-external-link-square:before { + content: "\f14c"; +} +.fa-share-square:before { + content: "\f14d"; +} +.fa-compass:before { + content: "\f14e"; +} +.fa-toggle-down:before, +.fa-caret-square-o-down:before { + content: "\f150"; +} +.fa-toggle-up:before, +.fa-caret-square-o-up:before { + content: "\f151"; +} +.fa-toggle-right:before, +.fa-caret-square-o-right:before { + content: "\f152"; +} +.fa-euro:before, +.fa-eur:before { + content: "\f153"; +} +.fa-gbp:before { + content: "\f154"; +} +.fa-dollar:before, +.fa-usd:before { + content: "\f155"; +} +.fa-rupee:before, +.fa-inr:before { + content: "\f156"; +} +.fa-cny:before, +.fa-rmb:before, +.fa-yen:before, +.fa-jpy:before { + content: "\f157"; +} +.fa-ruble:before, +.fa-rouble:before, +.fa-rub:before { + content: "\f158"; +} +.fa-won:before, +.fa-krw:before { + content: "\f159"; +} +.fa-bitcoin:before, +.fa-btc:before { + content: "\f15a"; +} +.fa-file:before { + content: "\f15b"; +} +.fa-file-text:before { + content: "\f15c"; +} +.fa-sort-alpha-asc:before { + content: "\f15d"; +} +.fa-sort-alpha-desc:before { + content: "\f15e"; +} +.fa-sort-amount-asc:before { + content: "\f160"; +} +.fa-sort-amount-desc:before { + content: "\f161"; +} +.fa-sort-numeric-asc:before { + content: "\f162"; +} +.fa-sort-numeric-desc:before { + content: "\f163"; +} +.fa-thumbs-up:before { + content: "\f164"; +} +.fa-thumbs-down:before { + content: "\f165"; +} +.fa-youtube-square:before { + content: "\f166"; +} +.fa-youtube:before { + content: "\f167"; +} +.fa-xing:before { + content: "\f168"; +} +.fa-xing-square:before { + content: "\f169"; +} +.fa-youtube-play:before { + content: "\f16a"; +} +.fa-dropbox:before { + content: "\f16b"; +} +.fa-stack-overflow:before { + content: "\f16c"; +} +.fa-instagram:before { + content: "\f16d"; +} +.fa-flickr:before { + content: "\f16e"; +} +.fa-adn:before { + content: "\f170"; +} +.fa-bitbucket:before { + content: "\f171"; +} +.fa-bitbucket-square:before { + content: "\f172"; +} +.fa-tumblr:before { + content: "\f173"; +} +.fa-tumblr-square:before { + content: "\f174"; +} +.fa-long-arrow-down:before { + content: "\f175"; +} +.fa-long-arrow-up:before { + content: "\f176"; +} +.fa-long-arrow-left:before { + content: "\f177"; +} +.fa-long-arrow-right:before { + content: "\f178"; +} +.fa-apple:before { + content: "\f179"; +} +.fa-windows:before { + content: "\f17a"; +} +.fa-android:before { + content: "\f17b"; +} +.fa-linux:before { + content: "\f17c"; +} +.fa-dribbble:before { + content: "\f17d"; +} +.fa-skype:before { + content: "\f17e"; +} +.fa-foursquare:before { + content: "\f180"; +} +.fa-trello:before { + content: "\f181"; +} +.fa-female:before { + content: "\f182"; +} +.fa-male:before { + content: "\f183"; +} +.fa-gittip:before, +.fa-gratipay:before { + content: "\f184"; +} +.fa-sun-o:before { + content: "\f185"; +} +.fa-moon-o:before { + content: "\f186"; +} +.fa-archive:before { + content: "\f187"; +} +.fa-bug:before { + content: "\f188"; +} +.fa-vk:before { + content: "\f189"; +} +.fa-weibo:before { + content: "\f18a"; +} +.fa-renren:before { + content: "\f18b"; +} +.fa-pagelines:before { + content: "\f18c"; +} +.fa-stack-exchange:before { + content: "\f18d"; +} +.fa-arrow-circle-o-right:before { + content: "\f18e"; +} +.fa-arrow-circle-o-left:before { + content: "\f190"; +} +.fa-toggle-left:before, +.fa-caret-square-o-left:before { + content: "\f191"; +} +.fa-dot-circle-o:before { + content: "\f192"; +} +.fa-wheelchair:before { + content: "\f193"; +} +.fa-vimeo-square:before { + content: "\f194"; +} +.fa-turkish-lira:before, +.fa-try:before { + content: "\f195"; +} +.fa-plus-square-o:before { + content: "\f196"; +} +.fa-space-shuttle:before { + content: "\f197"; +} +.fa-slack:before { + content: "\f198"; +} +.fa-envelope-square:before { + content: "\f199"; +} +.fa-wordpress:before { + content: "\f19a"; +} +.fa-openid:before { + content: "\f19b"; +} +.fa-institution:before, +.fa-bank:before, +.fa-university:before { + content: "\f19c"; +} +.fa-mortar-board:before, +.fa-graduation-cap:before { + content: "\f19d"; +} +.fa-yahoo:before { + content: "\f19e"; +} +.fa-google:before { + content: "\f1a0"; +} +.fa-reddit:before { + content: "\f1a1"; +} +.fa-reddit-square:before { + content: "\f1a2"; +} +.fa-stumbleupon-circle:before { + content: "\f1a3"; +} +.fa-stumbleupon:before { + content: "\f1a4"; +} +.fa-delicious:before { + content: "\f1a5"; +} +.fa-digg:before { + content: "\f1a6"; +} +.fa-pied-piper:before { + content: "\f1a7"; +} +.fa-pied-piper-alt:before { + content: "\f1a8"; +} +.fa-drupal:before { + content: "\f1a9"; +} +.fa-joomla:before { + content: "\f1aa"; +} +.fa-language:before { + content: "\f1ab"; +} +.fa-fax:before { + content: "\f1ac"; +} +.fa-building:before { + content: "\f1ad"; +} +.fa-child:before { + content: "\f1ae"; +} +.fa-paw:before { + content: "\f1b0"; +} +.fa-spoon:before { + content: "\f1b1"; +} +.fa-cube:before { + content: "\f1b2"; +} +.fa-cubes:before { + content: "\f1b3"; +} +.fa-behance:before { + content: "\f1b4"; +} +.fa-behance-square:before { + content: "\f1b5"; +} +.fa-steam:before { + content: "\f1b6"; +} +.fa-steam-square:before { + content: "\f1b7"; +} +.fa-recycle:before { + content: "\f1b8"; +} +.fa-automobile:before, +.fa-car:before { + content: "\f1b9"; +} +.fa-cab:before, +.fa-taxi:before { + content: "\f1ba"; +} +.fa-tree:before { + content: "\f1bb"; +} +.fa-spotify:before { + content: "\f1bc"; +} +.fa-deviantart:before { + content: "\f1bd"; +} +.fa-soundcloud:before { + content: "\f1be"; +} +.fa-database:before { + content: "\f1c0"; +} +.fa-file-pdf-o:before { + content: "\f1c1"; +} +.fa-file-word-o:before { + content: "\f1c2"; +} +.fa-file-excel-o:before { + content: "\f1c3"; +} +.fa-file-powerpoint-o:before { + content: "\f1c4"; +} +.fa-file-photo-o:before, +.fa-file-picture-o:before, +.fa-file-image-o:before { + content: "\f1c5"; +} +.fa-file-zip-o:before, +.fa-file-archive-o:before { + content: "\f1c6"; +} +.fa-file-sound-o:before, +.fa-file-audio-o:before { + content: "\f1c7"; +} +.fa-file-movie-o:before, +.fa-file-video-o:before { + content: "\f1c8"; +} +.fa-file-code-o:before { + content: "\f1c9"; +} +.fa-vine:before { + content: "\f1ca"; +} +.fa-codepen:before { + content: "\f1cb"; +} +.fa-jsfiddle:before { + content: "\f1cc"; +} +.fa-life-bouy:before, +.fa-life-buoy:before, +.fa-life-saver:before, +.fa-support:before, +.fa-life-ring:before { + content: "\f1cd"; +} +.fa-circle-o-notch:before { + content: "\f1ce"; +} +.fa-ra:before, +.fa-rebel:before { + content: "\f1d0"; +} +.fa-ge:before, +.fa-empire:before { + content: "\f1d1"; +} +.fa-git-square:before { + content: "\f1d2"; +} +.fa-git:before { + content: "\f1d3"; +} +.fa-y-combinator-square:before, +.fa-yc-square:before, +.fa-hacker-news:before { + content: "\f1d4"; +} +.fa-tencent-weibo:before { + content: "\f1d5"; +} +.fa-qq:before { + content: "\f1d6"; +} +.fa-wechat:before, +.fa-weixin:before { + content: "\f1d7"; +} +.fa-send:before, +.fa-paper-plane:before { + content: "\f1d8"; +} +.fa-send-o:before, +.fa-paper-plane-o:before { + content: "\f1d9"; +} +.fa-history:before { + content: "\f1da"; +} +.fa-circle-thin:before { + content: "\f1db"; +} +.fa-header:before { + content: "\f1dc"; +} +.fa-paragraph:before { + content: "\f1dd"; +} +.fa-sliders:before { + content: "\f1de"; +} +.fa-share-alt:before { + content: "\f1e0"; +} +.fa-share-alt-square:before { + content: "\f1e1"; +} +.fa-bomb:before { + content: "\f1e2"; +} +.fa-soccer-ball-o:before, +.fa-futbol-o:before { + content: "\f1e3"; +} +.fa-tty:before { + content: "\f1e4"; +} +.fa-binoculars:before { + content: "\f1e5"; +} +.fa-plug:before { + content: "\f1e6"; +} +.fa-slideshare:before { + content: "\f1e7"; +} +.fa-twitch:before { + content: "\f1e8"; +} +.fa-yelp:before { + content: "\f1e9"; +} +.fa-newspaper-o:before { + content: "\f1ea"; +} +.fa-wifi:before { + content: "\f1eb"; +} +.fa-calculator:before { + content: "\f1ec"; +} +.fa-paypal:before { + content: "\f1ed"; +} +.fa-google-wallet:before { + content: "\f1ee"; +} +.fa-cc-visa:before { + content: "\f1f0"; +} +.fa-cc-mastercard:before { + content: "\f1f1"; +} +.fa-cc-discover:before { + content: "\f1f2"; +} +.fa-cc-amex:before { + content: "\f1f3"; +} +.fa-cc-paypal:before { + content: "\f1f4"; +} +.fa-cc-stripe:before { + content: "\f1f5"; +} +.fa-bell-slash:before { + content: "\f1f6"; +} +.fa-bell-slash-o:before { + content: "\f1f7"; +} +.fa-trash:before { + content: "\f1f8"; +} +.fa-copyright:before { + content: "\f1f9"; +} +.fa-at:before { + content: "\f1fa"; +} +.fa-eyedropper:before { + content: "\f1fb"; +} +.fa-paint-brush:before { + content: "\f1fc"; +} +.fa-birthday-cake:before { + content: "\f1fd"; +} +.fa-area-chart:before { + content: "\f1fe"; +} +.fa-pie-chart:before { + content: "\f200"; +} +.fa-line-chart:before { + content: "\f201"; +} +.fa-lastfm:before { + content: "\f202"; +} +.fa-lastfm-square:before { + content: "\f203"; +} +.fa-toggle-off:before { + content: "\f204"; +} +.fa-toggle-on:before { + content: "\f205"; +} +.fa-bicycle:before { + content: "\f206"; +} +.fa-bus:before { + content: "\f207"; +} +.fa-ioxhost:before { + content: "\f208"; +} +.fa-angellist:before { + content: "\f209"; +} +.fa-cc:before { + content: "\f20a"; +} +.fa-shekel:before, +.fa-sheqel:before, +.fa-ils:before { + content: "\f20b"; +} +.fa-meanpath:before { + content: "\f20c"; +} +.fa-buysellads:before { + content: "\f20d"; +} +.fa-connectdevelop:before { + content: "\f20e"; +} +.fa-dashcube:before { + content: "\f210"; +} +.fa-forumbee:before { + content: "\f211"; +} +.fa-leanpub:before { + content: "\f212"; +} +.fa-sellsy:before { + content: "\f213"; +} +.fa-shirtsinbulk:before { + content: "\f214"; +} +.fa-simplybuilt:before { + content: "\f215"; +} +.fa-skyatlas:before { + content: "\f216"; +} +.fa-cart-plus:before { + content: "\f217"; +} +.fa-cart-arrow-down:before { + content: "\f218"; +} +.fa-diamond:before { + content: "\f219"; +} +.fa-ship:before { + content: "\f21a"; +} +.fa-user-secret:before { + content: "\f21b"; +} +.fa-motorcycle:before { + content: "\f21c"; +} +.fa-street-view:before { + content: "\f21d"; +} +.fa-heartbeat:before { + content: "\f21e"; +} +.fa-venus:before { + content: "\f221"; +} +.fa-mars:before { + content: "\f222"; +} +.fa-mercury:before { + content: "\f223"; +} +.fa-intersex:before, +.fa-transgender:before { + content: "\f224"; +} +.fa-transgender-alt:before { + content: "\f225"; +} +.fa-venus-double:before { + content: "\f226"; +} +.fa-mars-double:before { + content: "\f227"; +} +.fa-venus-mars:before { + content: "\f228"; +} +.fa-mars-stroke:before { + content: "\f229"; +} +.fa-mars-stroke-v:before { + content: "\f22a"; +} +.fa-mars-stroke-h:before { + content: "\f22b"; +} +.fa-neuter:before { + content: "\f22c"; +} +.fa-genderless:before { + content: "\f22d"; +} +.fa-facebook-official:before { + content: "\f230"; +} +.fa-pinterest-p:before { + content: "\f231"; +} +.fa-whatsapp:before { + content: "\f232"; +} +.fa-server:before { + content: "\f233"; +} +.fa-user-plus:before { + content: "\f234"; +} +.fa-user-times:before { + content: "\f235"; +} +.fa-hotel:before, +.fa-bed:before { + content: "\f236"; +} +.fa-viacoin:before { + content: "\f237"; +} +.fa-train:before { + content: "\f238"; +} +.fa-subway:before { + content: "\f239"; +} +.fa-medium:before { + content: "\f23a"; +} +.fa-yc:before, +.fa-y-combinator:before { + content: "\f23b"; +} +.fa-optin-monster:before { + content: "\f23c"; +} +.fa-opencart:before { + content: "\f23d"; +} +.fa-expeditedssl:before { + content: "\f23e"; +} +.fa-battery-4:before, +.fa-battery-full:before { + content: "\f240"; +} +.fa-battery-3:before, +.fa-battery-three-quarters:before { + content: "\f241"; +} +.fa-battery-2:before, +.fa-battery-half:before { + content: "\f242"; +} +.fa-battery-1:before, +.fa-battery-quarter:before { + content: "\f243"; +} +.fa-battery-0:before, +.fa-battery-empty:before { + content: "\f244"; +} +.fa-mouse-pointer:before { + content: "\f245"; +} +.fa-i-cursor:before { + content: "\f246"; +} +.fa-object-group:before { + content: "\f247"; +} +.fa-object-ungroup:before { + content: "\f248"; +} +.fa-sticky-note:before { + content: "\f249"; +} +.fa-sticky-note-o:before { + content: "\f24a"; +} +.fa-cc-jcb:before { + content: "\f24b"; +} +.fa-cc-diners-club:before { + content: "\f24c"; +} +.fa-clone:before { + content: "\f24d"; +} +.fa-balance-scale:before { + content: "\f24e"; +} +.fa-hourglass-o:before { + content: "\f250"; +} +.fa-hourglass-1:before, +.fa-hourglass-start:before { + content: "\f251"; +} +.fa-hourglass-2:before, +.fa-hourglass-half:before { + content: "\f252"; +} +.fa-hourglass-3:before, +.fa-hourglass-end:before { + content: "\f253"; +} +.fa-hourglass:before { + content: "\f254"; +} +.fa-hand-grab-o:before, +.fa-hand-rock-o:before { + content: "\f255"; +} +.fa-hand-stop-o:before, +.fa-hand-paper-o:before { + content: "\f256"; +} +.fa-hand-scissors-o:before { + content: "\f257"; +} +.fa-hand-lizard-o:before { + content: "\f258"; +} +.fa-hand-spock-o:before { + content: "\f259"; +} +.fa-hand-pointer-o:before { + content: "\f25a"; +} +.fa-hand-peace-o:before { + content: "\f25b"; +} +.fa-trademark:before { + content: "\f25c"; +} +.fa-registered:before { + content: "\f25d"; +} +.fa-creative-commons:before { + content: "\f25e"; +} +.fa-gg:before { + content: "\f260"; +} +.fa-gg-circle:before { + content: "\f261"; +} +.fa-tripadvisor:before { + content: "\f262"; +} +.fa-odnoklassniki:before { + content: "\f263"; +} +.fa-odnoklassniki-square:before { + content: "\f264"; +} +.fa-get-pocket:before { + content: "\f265"; +} +.fa-wikipedia-w:before { + content: "\f266"; +} +.fa-safari:before { + content: "\f267"; +} +.fa-chrome:before { + content: "\f268"; +} +.fa-firefox:before { + content: "\f269"; +} +.fa-opera:before { + content: "\f26a"; +} +.fa-internet-explorer:before { + content: "\f26b"; +} +.fa-tv:before, +.fa-television:before { + content: "\f26c"; +} +.fa-contao:before { + content: "\f26d"; +} +.fa-500px:before { + content: "\f26e"; +} +.fa-amazon:before { + content: "\f270"; +} +.fa-calendar-plus-o:before { + content: "\f271"; +} +.fa-calendar-minus-o:before { + content: "\f272"; +} +.fa-calendar-times-o:before { + content: "\f273"; +} +.fa-calendar-check-o:before { + content: "\f274"; +} +.fa-industry:before { + content: "\f275"; +} +.fa-map-pin:before { + content: "\f276"; +} +.fa-map-signs:before { + content: "\f277"; +} +.fa-map-o:before { + content: "\f278"; +} +.fa-map:before { + content: "\f279"; +} +.fa-commenting:before { + content: "\f27a"; +} +.fa-commenting-o:before { + content: "\f27b"; +} +.fa-houzz:before { + content: "\f27c"; +} +.fa-vimeo:before { + content: "\f27d"; +} +.fa-black-tie:before { + content: "\f27e"; +} +.fa-fonticons:before { + content: "\f280"; +} +.fa-reddit-alien:before { + content: "\f281"; +} +.fa-edge:before { + content: "\f282"; +} +.fa-credit-card-alt:before { + content: "\f283"; +} +.fa-codiepie:before { + content: "\f284"; +} +.fa-modx:before { + content: "\f285"; +} +.fa-fort-awesome:before { + content: "\f286"; +} +.fa-usb:before { + content: "\f287"; +} +.fa-product-hunt:before { + content: "\f288"; +} +.fa-mixcloud:before { + content: "\f289"; +} +.fa-scribd:before { + content: "\f28a"; +} +.fa-pause-circle:before { + content: "\f28b"; +} +.fa-pause-circle-o:before { + content: "\f28c"; +} +.fa-stop-circle:before { + content: "\f28d"; +} +.fa-stop-circle-o:before { + content: "\f28e"; +} +.fa-shopping-bag:before { + content: "\f290"; +} +.fa-shopping-basket:before { + content: "\f291"; +} +.fa-hashtag:before { + content: "\f292"; +} +.fa-bluetooth:before { + content: "\f293"; +} +.fa-bluetooth-b:before { + content: "\f294"; +} +.fa-percent:before { + content: "\f295"; +} diff --git a/static/css/font-awesome.min.css b/static/css/font-awesome.min.css new file mode 100644 index 0000000..d0603cb --- /dev/null +++ b/static/css/font-awesome.min.css @@ -0,0 +1,4 @@ +/*! + * Font Awesome 4.5.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.5.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.5.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.5.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.5.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.5.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.5.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"} diff --git a/static/css/grids-responsive-min.css b/static/css/grids-responsive-min.css new file mode 100644 index 0000000..1df05db --- /dev/null +++ b/static/css/grids-responsive-min.css @@ -0,0 +1,7 @@ +/*! +Pure v0.6.0 +Copyright 2014 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +https://github.com/yahoo/pure/blob/master/LICENSE.md +*/ +@media screen and (min-width:35.5em){.pure-u-sm-1,.pure-u-sm-1-1,.pure-u-sm-1-2,.pure-u-sm-1-3,.pure-u-sm-2-3,.pure-u-sm-1-4,.pure-u-sm-3-4,.pure-u-sm-1-5,.pure-u-sm-2-5,.pure-u-sm-3-5,.pure-u-sm-4-5,.pure-u-sm-5-5,.pure-u-sm-1-6,.pure-u-sm-5-6,.pure-u-sm-1-8,.pure-u-sm-3-8,.pure-u-sm-5-8,.pure-u-sm-7-8,.pure-u-sm-1-12,.pure-u-sm-5-12,.pure-u-sm-7-12,.pure-u-sm-11-12,.pure-u-sm-1-24,.pure-u-sm-2-24,.pure-u-sm-3-24,.pure-u-sm-4-24,.pure-u-sm-5-24,.pure-u-sm-6-24,.pure-u-sm-7-24,.pure-u-sm-8-24,.pure-u-sm-9-24,.pure-u-sm-10-24,.pure-u-sm-11-24,.pure-u-sm-12-24,.pure-u-sm-13-24,.pure-u-sm-14-24,.pure-u-sm-15-24,.pure-u-sm-16-24,.pure-u-sm-17-24,.pure-u-sm-18-24,.pure-u-sm-19-24,.pure-u-sm-20-24,.pure-u-sm-21-24,.pure-u-sm-22-24,.pure-u-sm-23-24,.pure-u-sm-24-24{display:inline-block;*display:inline;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-u-sm-1-24{width:4.1667%;*width:4.1357%}.pure-u-sm-1-12,.pure-u-sm-2-24{width:8.3333%;*width:8.3023%}.pure-u-sm-1-8,.pure-u-sm-3-24{width:12.5%;*width:12.469%}.pure-u-sm-1-6,.pure-u-sm-4-24{width:16.6667%;*width:16.6357%}.pure-u-sm-1-5{width:20%;*width:19.969%}.pure-u-sm-5-24{width:20.8333%;*width:20.8023%}.pure-u-sm-1-4,.pure-u-sm-6-24{width:25%;*width:24.969%}.pure-u-sm-7-24{width:29.1667%;*width:29.1357%}.pure-u-sm-1-3,.pure-u-sm-8-24{width:33.3333%;*width:33.3023%}.pure-u-sm-3-8,.pure-u-sm-9-24{width:37.5%;*width:37.469%}.pure-u-sm-2-5{width:40%;*width:39.969%}.pure-u-sm-5-12,.pure-u-sm-10-24{width:41.6667%;*width:41.6357%}.pure-u-sm-11-24{width:45.8333%;*width:45.8023%}.pure-u-sm-1-2,.pure-u-sm-12-24{width:50%;*width:49.969%}.pure-u-sm-13-24{width:54.1667%;*width:54.1357%}.pure-u-sm-7-12,.pure-u-sm-14-24{width:58.3333%;*width:58.3023%}.pure-u-sm-3-5{width:60%;*width:59.969%}.pure-u-sm-5-8,.pure-u-sm-15-24{width:62.5%;*width:62.469%}.pure-u-sm-2-3,.pure-u-sm-16-24{width:66.6667%;*width:66.6357%}.pure-u-sm-17-24{width:70.8333%;*width:70.8023%}.pure-u-sm-3-4,.pure-u-sm-18-24{width:75%;*width:74.969%}.pure-u-sm-19-24{width:79.1667%;*width:79.1357%}.pure-u-sm-4-5{width:80%;*width:79.969%}.pure-u-sm-5-6,.pure-u-sm-20-24{width:83.3333%;*width:83.3023%}.pure-u-sm-7-8,.pure-u-sm-21-24{width:87.5%;*width:87.469%}.pure-u-sm-11-12,.pure-u-sm-22-24{width:91.6667%;*width:91.6357%}.pure-u-sm-23-24{width:95.8333%;*width:95.8023%}.pure-u-sm-1,.pure-u-sm-1-1,.pure-u-sm-5-5,.pure-u-sm-24-24{width:100%}}@media screen and (min-width:48em){.pure-u-md-1,.pure-u-md-1-1,.pure-u-md-1-2,.pure-u-md-1-3,.pure-u-md-2-3,.pure-u-md-1-4,.pure-u-md-3-4,.pure-u-md-1-5,.pure-u-md-2-5,.pure-u-md-3-5,.pure-u-md-4-5,.pure-u-md-5-5,.pure-u-md-1-6,.pure-u-md-5-6,.pure-u-md-1-8,.pure-u-md-3-8,.pure-u-md-5-8,.pure-u-md-7-8,.pure-u-md-1-12,.pure-u-md-5-12,.pure-u-md-7-12,.pure-u-md-11-12,.pure-u-md-1-24,.pure-u-md-2-24,.pure-u-md-3-24,.pure-u-md-4-24,.pure-u-md-5-24,.pure-u-md-6-24,.pure-u-md-7-24,.pure-u-md-8-24,.pure-u-md-9-24,.pure-u-md-10-24,.pure-u-md-11-24,.pure-u-md-12-24,.pure-u-md-13-24,.pure-u-md-14-24,.pure-u-md-15-24,.pure-u-md-16-24,.pure-u-md-17-24,.pure-u-md-18-24,.pure-u-md-19-24,.pure-u-md-20-24,.pure-u-md-21-24,.pure-u-md-22-24,.pure-u-md-23-24,.pure-u-md-24-24{display:inline-block;*display:inline;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-u-md-1-24{width:4.1667%;*width:4.1357%}.pure-u-md-1-12,.pure-u-md-2-24{width:8.3333%;*width:8.3023%}.pure-u-md-1-8,.pure-u-md-3-24{width:12.5%;*width:12.469%}.pure-u-md-1-6,.pure-u-md-4-24{width:16.6667%;*width:16.6357%}.pure-u-md-1-5{width:20%;*width:19.969%}.pure-u-md-5-24{width:20.8333%;*width:20.8023%}.pure-u-md-1-4,.pure-u-md-6-24{width:25%;*width:24.969%}.pure-u-md-7-24{width:29.1667%;*width:29.1357%}.pure-u-md-1-3,.pure-u-md-8-24{width:33.3333%;*width:33.3023%}.pure-u-md-3-8,.pure-u-md-9-24{width:37.5%;*width:37.469%}.pure-u-md-2-5{width:40%;*width:39.969%}.pure-u-md-5-12,.pure-u-md-10-24{width:41.6667%;*width:41.6357%}.pure-u-md-11-24{width:45.8333%;*width:45.8023%}.pure-u-md-1-2,.pure-u-md-12-24{width:50%;*width:49.969%}.pure-u-md-13-24{width:54.1667%;*width:54.1357%}.pure-u-md-7-12,.pure-u-md-14-24{width:58.3333%;*width:58.3023%}.pure-u-md-3-5{width:60%;*width:59.969%}.pure-u-md-5-8,.pure-u-md-15-24{width:62.5%;*width:62.469%}.pure-u-md-2-3,.pure-u-md-16-24{width:66.6667%;*width:66.6357%}.pure-u-md-17-24{width:70.8333%;*width:70.8023%}.pure-u-md-3-4,.pure-u-md-18-24{width:75%;*width:74.969%}.pure-u-md-19-24{width:79.1667%;*width:79.1357%}.pure-u-md-4-5{width:80%;*width:79.969%}.pure-u-md-5-6,.pure-u-md-20-24{width:83.3333%;*width:83.3023%}.pure-u-md-7-8,.pure-u-md-21-24{width:87.5%;*width:87.469%}.pure-u-md-11-12,.pure-u-md-22-24{width:91.6667%;*width:91.6357%}.pure-u-md-23-24{width:95.8333%;*width:95.8023%}.pure-u-md-1,.pure-u-md-1-1,.pure-u-md-5-5,.pure-u-md-24-24{width:100%}}@media screen and (min-width:64em){.pure-u-lg-1,.pure-u-lg-1-1,.pure-u-lg-1-2,.pure-u-lg-1-3,.pure-u-lg-2-3,.pure-u-lg-1-4,.pure-u-lg-3-4,.pure-u-lg-1-5,.pure-u-lg-2-5,.pure-u-lg-3-5,.pure-u-lg-4-5,.pure-u-lg-5-5,.pure-u-lg-1-6,.pure-u-lg-5-6,.pure-u-lg-1-8,.pure-u-lg-3-8,.pure-u-lg-5-8,.pure-u-lg-7-8,.pure-u-lg-1-12,.pure-u-lg-5-12,.pure-u-lg-7-12,.pure-u-lg-11-12,.pure-u-lg-1-24,.pure-u-lg-2-24,.pure-u-lg-3-24,.pure-u-lg-4-24,.pure-u-lg-5-24,.pure-u-lg-6-24,.pure-u-lg-7-24,.pure-u-lg-8-24,.pure-u-lg-9-24,.pure-u-lg-10-24,.pure-u-lg-11-24,.pure-u-lg-12-24,.pure-u-lg-13-24,.pure-u-lg-14-24,.pure-u-lg-15-24,.pure-u-lg-16-24,.pure-u-lg-17-24,.pure-u-lg-18-24,.pure-u-lg-19-24,.pure-u-lg-20-24,.pure-u-lg-21-24,.pure-u-lg-22-24,.pure-u-lg-23-24,.pure-u-lg-24-24{display:inline-block;*display:inline;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-u-lg-1-24{width:4.1667%;*width:4.1357%}.pure-u-lg-1-12,.pure-u-lg-2-24{width:8.3333%;*width:8.3023%}.pure-u-lg-1-8,.pure-u-lg-3-24{width:12.5%;*width:12.469%}.pure-u-lg-1-6,.pure-u-lg-4-24{width:16.6667%;*width:16.6357%}.pure-u-lg-1-5{width:20%;*width:19.969%}.pure-u-lg-5-24{width:20.8333%;*width:20.8023%}.pure-u-lg-1-4,.pure-u-lg-6-24{width:25%;*width:24.969%}.pure-u-lg-7-24{width:29.1667%;*width:29.1357%}.pure-u-lg-1-3,.pure-u-lg-8-24{width:33.3333%;*width:33.3023%}.pure-u-lg-3-8,.pure-u-lg-9-24{width:37.5%;*width:37.469%}.pure-u-lg-2-5{width:40%;*width:39.969%}.pure-u-lg-5-12,.pure-u-lg-10-24{width:41.6667%;*width:41.6357%}.pure-u-lg-11-24{width:45.8333%;*width:45.8023%}.pure-u-lg-1-2,.pure-u-lg-12-24{width:50%;*width:49.969%}.pure-u-lg-13-24{width:54.1667%;*width:54.1357%}.pure-u-lg-7-12,.pure-u-lg-14-24{width:58.3333%;*width:58.3023%}.pure-u-lg-3-5{width:60%;*width:59.969%}.pure-u-lg-5-8,.pure-u-lg-15-24{width:62.5%;*width:62.469%}.pure-u-lg-2-3,.pure-u-lg-16-24{width:66.6667%;*width:66.6357%}.pure-u-lg-17-24{width:70.8333%;*width:70.8023%}.pure-u-lg-3-4,.pure-u-lg-18-24{width:75%;*width:74.969%}.pure-u-lg-19-24{width:79.1667%;*width:79.1357%}.pure-u-lg-4-5{width:80%;*width:79.969%}.pure-u-lg-5-6,.pure-u-lg-20-24{width:83.3333%;*width:83.3023%}.pure-u-lg-7-8,.pure-u-lg-21-24{width:87.5%;*width:87.469%}.pure-u-lg-11-12,.pure-u-lg-22-24{width:91.6667%;*width:91.6357%}.pure-u-lg-23-24{width:95.8333%;*width:95.8023%}.pure-u-lg-1,.pure-u-lg-1-1,.pure-u-lg-5-5,.pure-u-lg-24-24{width:100%}}@media screen and (min-width:80em){.pure-u-xl-1,.pure-u-xl-1-1,.pure-u-xl-1-2,.pure-u-xl-1-3,.pure-u-xl-2-3,.pure-u-xl-1-4,.pure-u-xl-3-4,.pure-u-xl-1-5,.pure-u-xl-2-5,.pure-u-xl-3-5,.pure-u-xl-4-5,.pure-u-xl-5-5,.pure-u-xl-1-6,.pure-u-xl-5-6,.pure-u-xl-1-8,.pure-u-xl-3-8,.pure-u-xl-5-8,.pure-u-xl-7-8,.pure-u-xl-1-12,.pure-u-xl-5-12,.pure-u-xl-7-12,.pure-u-xl-11-12,.pure-u-xl-1-24,.pure-u-xl-2-24,.pure-u-xl-3-24,.pure-u-xl-4-24,.pure-u-xl-5-24,.pure-u-xl-6-24,.pure-u-xl-7-24,.pure-u-xl-8-24,.pure-u-xl-9-24,.pure-u-xl-10-24,.pure-u-xl-11-24,.pure-u-xl-12-24,.pure-u-xl-13-24,.pure-u-xl-14-24,.pure-u-xl-15-24,.pure-u-xl-16-24,.pure-u-xl-17-24,.pure-u-xl-18-24,.pure-u-xl-19-24,.pure-u-xl-20-24,.pure-u-xl-21-24,.pure-u-xl-22-24,.pure-u-xl-23-24,.pure-u-xl-24-24{display:inline-block;*display:inline;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-u-xl-1-24{width:4.1667%;*width:4.1357%}.pure-u-xl-1-12,.pure-u-xl-2-24{width:8.3333%;*width:8.3023%}.pure-u-xl-1-8,.pure-u-xl-3-24{width:12.5%;*width:12.469%}.pure-u-xl-1-6,.pure-u-xl-4-24{width:16.6667%;*width:16.6357%}.pure-u-xl-1-5{width:20%;*width:19.969%}.pure-u-xl-5-24{width:20.8333%;*width:20.8023%}.pure-u-xl-1-4,.pure-u-xl-6-24{width:25%;*width:24.969%}.pure-u-xl-7-24{width:29.1667%;*width:29.1357%}.pure-u-xl-1-3,.pure-u-xl-8-24{width:33.3333%;*width:33.3023%}.pure-u-xl-3-8,.pure-u-xl-9-24{width:37.5%;*width:37.469%}.pure-u-xl-2-5{width:40%;*width:39.969%}.pure-u-xl-5-12,.pure-u-xl-10-24{width:41.6667%;*width:41.6357%}.pure-u-xl-11-24{width:45.8333%;*width:45.8023%}.pure-u-xl-1-2,.pure-u-xl-12-24{width:50%;*width:49.969%}.pure-u-xl-13-24{width:54.1667%;*width:54.1357%}.pure-u-xl-7-12,.pure-u-xl-14-24{width:58.3333%;*width:58.3023%}.pure-u-xl-3-5{width:60%;*width:59.969%}.pure-u-xl-5-8,.pure-u-xl-15-24{width:62.5%;*width:62.469%}.pure-u-xl-2-3,.pure-u-xl-16-24{width:66.6667%;*width:66.6357%}.pure-u-xl-17-24{width:70.8333%;*width:70.8023%}.pure-u-xl-3-4,.pure-u-xl-18-24{width:75%;*width:74.969%}.pure-u-xl-19-24{width:79.1667%;*width:79.1357%}.pure-u-xl-4-5{width:80%;*width:79.969%}.pure-u-xl-5-6,.pure-u-xl-20-24{width:83.3333%;*width:83.3023%}.pure-u-xl-7-8,.pure-u-xl-21-24{width:87.5%;*width:87.469%}.pure-u-xl-11-12,.pure-u-xl-22-24{width:91.6667%;*width:91.6357%}.pure-u-xl-23-24{width:95.8333%;*width:95.8023%}.pure-u-xl-1,.pure-u-xl-1-1,.pure-u-xl-5-5,.pure-u-xl-24-24{width:100%}} \ No newline at end of file diff --git a/static/css/pure-min.css b/static/css/pure-min.css new file mode 100644 index 0000000..f0aa374 --- /dev/null +++ b/static/css/pure-min.css @@ -0,0 +1,11 @@ +/*! +Pure v0.6.0 +Copyright 2014 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +https://github.com/yahoo/pure/blob/master/LICENSE.md +*/ +/*! +normalize.css v^3.0 | MIT License | git.io/normalize +Copyright (c) Nicolas Gallagher and Jonathan Neal +*/ +/*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}.hidden,[hidden]{display:none!important}.pure-img{max-width:100%;height:auto;display:block}.pure-g{letter-spacing:-.31em;*letter-spacing:normal;*word-spacing:-.43em;text-rendering:optimizespeed;font-family:FreeSans,Arimo,"Droid Sans",Helvetica,Arial,sans-serif;display:-webkit-flex;-webkit-flex-flow:row wrap;display:-ms-flexbox;-ms-flex-flow:row wrap;-ms-align-content:flex-start;-webkit-align-content:flex-start;align-content:flex-start}.opera-only :-o-prefocus,.pure-g{word-spacing:-.43em}.pure-u{display:inline-block;*display:inline;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-g [class *="pure-u"]{font-family:sans-serif}.pure-u-1,.pure-u-1-1,.pure-u-1-2,.pure-u-1-3,.pure-u-2-3,.pure-u-1-4,.pure-u-3-4,.pure-u-1-5,.pure-u-2-5,.pure-u-3-5,.pure-u-4-5,.pure-u-5-5,.pure-u-1-6,.pure-u-5-6,.pure-u-1-8,.pure-u-3-8,.pure-u-5-8,.pure-u-7-8,.pure-u-1-12,.pure-u-5-12,.pure-u-7-12,.pure-u-11-12,.pure-u-1-24,.pure-u-2-24,.pure-u-3-24,.pure-u-4-24,.pure-u-5-24,.pure-u-6-24,.pure-u-7-24,.pure-u-8-24,.pure-u-9-24,.pure-u-10-24,.pure-u-11-24,.pure-u-12-24,.pure-u-13-24,.pure-u-14-24,.pure-u-15-24,.pure-u-16-24,.pure-u-17-24,.pure-u-18-24,.pure-u-19-24,.pure-u-20-24,.pure-u-21-24,.pure-u-22-24,.pure-u-23-24,.pure-u-24-24{display:inline-block;*display:inline;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top;text-rendering:auto}.pure-u-1-24{width:4.1667%;*width:4.1357%}.pure-u-1-12,.pure-u-2-24{width:8.3333%;*width:8.3023%}.pure-u-1-8,.pure-u-3-24{width:12.5%;*width:12.469%}.pure-u-1-6,.pure-u-4-24{width:16.6667%;*width:16.6357%}.pure-u-1-5{width:20%;*width:19.969%}.pure-u-5-24{width:20.8333%;*width:20.8023%}.pure-u-1-4,.pure-u-6-24{width:25%;*width:24.969%}.pure-u-7-24{width:29.1667%;*width:29.1357%}.pure-u-1-3,.pure-u-8-24{width:33.3333%;*width:33.3023%}.pure-u-3-8,.pure-u-9-24{width:37.5%;*width:37.469%}.pure-u-2-5{width:40%;*width:39.969%}.pure-u-5-12,.pure-u-10-24{width:41.6667%;*width:41.6357%}.pure-u-11-24{width:45.8333%;*width:45.8023%}.pure-u-1-2,.pure-u-12-24{width:50%;*width:49.969%}.pure-u-13-24{width:54.1667%;*width:54.1357%}.pure-u-7-12,.pure-u-14-24{width:58.3333%;*width:58.3023%}.pure-u-3-5{width:60%;*width:59.969%}.pure-u-5-8,.pure-u-15-24{width:62.5%;*width:62.469%}.pure-u-2-3,.pure-u-16-24{width:66.6667%;*width:66.6357%}.pure-u-17-24{width:70.8333%;*width:70.8023%}.pure-u-3-4,.pure-u-18-24{width:75%;*width:74.969%}.pure-u-19-24{width:79.1667%;*width:79.1357%}.pure-u-4-5{width:80%;*width:79.969%}.pure-u-5-6,.pure-u-20-24{width:83.3333%;*width:83.3023%}.pure-u-7-8,.pure-u-21-24{width:87.5%;*width:87.469%}.pure-u-11-12,.pure-u-22-24{width:91.6667%;*width:91.6357%}.pure-u-23-24{width:95.8333%;*width:95.8023%}.pure-u-1,.pure-u-1-1,.pure-u-5-5,.pure-u-24-24{width:100%}.pure-button{display:inline-block;zoom:1;line-height:normal;white-space:nowrap;vertical-align:middle;text-align:center;cursor:pointer;-webkit-user-drag:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.pure-button::-moz-focus-inner{padding:0;border:0}.pure-button{font-family:inherit;font-size:100%;padding:.5em 1em;color:#444;color:rgba(0,0,0,.8);border:1px solid #999;border:0 rgba(0,0,0,0);background-color:#E6E6E6;text-decoration:none;border-radius:2px}.pure-button-hover,.pure-button:hover,.pure-button:focus{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#1a000000', GradientType=0);background-image:-webkit-gradient(linear,0 0,0 100%,from(transparent),color-stop(40%,rgba(0,0,0,.05)),to(rgba(0,0,0,.1)));background-image:-webkit-linear-gradient(transparent,rgba(0,0,0,.05) 40%,rgba(0,0,0,.1));background-image:-moz-linear-gradient(top,rgba(0,0,0,.05) 0,rgba(0,0,0,.1));background-image:-o-linear-gradient(transparent,rgba(0,0,0,.05) 40%,rgba(0,0,0,.1));background-image:linear-gradient(transparent,rgba(0,0,0,.05) 40%,rgba(0,0,0,.1))}.pure-button:focus{outline:0}.pure-button-active,.pure-button:active{box-shadow:0 0 0 1px rgba(0,0,0,.15) inset,0 0 6px rgba(0,0,0,.2) inset;border-color:#000\9}.pure-button[disabled],.pure-button-disabled,.pure-button-disabled:hover,.pure-button-disabled:focus,.pure-button-disabled:active{border:0;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);filter:alpha(opacity=40);-khtml-opacity:.4;-moz-opacity:.4;opacity:.4;cursor:not-allowed;box-shadow:none}.pure-button-hidden{display:none}.pure-button::-moz-focus-inner{padding:0;border:0}.pure-button-primary,.pure-button-selected,a.pure-button-primary,a.pure-button-selected{background-color:#0078e7;color:#fff}.pure-form input[type=text],.pure-form input[type=password],.pure-form input[type=email],.pure-form input[type=url],.pure-form input[type=date],.pure-form input[type=month],.pure-form input[type=time],.pure-form input[type=datetime],.pure-form input[type=datetime-local],.pure-form input[type=week],.pure-form input[type=number],.pure-form input[type=search],.pure-form input[type=tel],.pure-form input[type=color],.pure-form select,.pure-form textarea{padding:.5em .6em;display:inline-block;border:1px solid #ccc;box-shadow:inset 0 1px 3px #ddd;border-radius:4px;vertical-align:middle;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.pure-form input:not([type]){padding:.5em .6em;display:inline-block;border:1px solid #ccc;box-shadow:inset 0 1px 3px #ddd;border-radius:4px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.pure-form input[type=color]{padding:.2em .5em}.pure-form input[type=text]:focus,.pure-form input[type=password]:focus,.pure-form input[type=email]:focus,.pure-form input[type=url]:focus,.pure-form input[type=date]:focus,.pure-form input[type=month]:focus,.pure-form input[type=time]:focus,.pure-form input[type=datetime]:focus,.pure-form input[type=datetime-local]:focus,.pure-form input[type=week]:focus,.pure-form input[type=number]:focus,.pure-form input[type=search]:focus,.pure-form input[type=tel]:focus,.pure-form input[type=color]:focus,.pure-form select:focus,.pure-form textarea:focus{outline:0;border-color:#129FEA}.pure-form input:not([type]):focus{outline:0;border-color:#129FEA}.pure-form input[type=file]:focus,.pure-form input[type=radio]:focus,.pure-form input[type=checkbox]:focus{outline:thin solid #129FEA;outline:1px auto #129FEA}.pure-form .pure-checkbox,.pure-form .pure-radio{margin:.5em 0;display:block}.pure-form input[type=text][disabled],.pure-form input[type=password][disabled],.pure-form input[type=email][disabled],.pure-form input[type=url][disabled],.pure-form input[type=date][disabled],.pure-form input[type=month][disabled],.pure-form input[type=time][disabled],.pure-form input[type=datetime][disabled],.pure-form input[type=datetime-local][disabled],.pure-form input[type=week][disabled],.pure-form input[type=number][disabled],.pure-form input[type=search][disabled],.pure-form input[type=tel][disabled],.pure-form input[type=color][disabled],.pure-form select[disabled],.pure-form textarea[disabled]{cursor:not-allowed;background-color:#eaeded;color:#cad2d3}.pure-form input:not([type])[disabled]{cursor:not-allowed;background-color:#eaeded;color:#cad2d3}.pure-form input[readonly],.pure-form select[readonly],.pure-form textarea[readonly]{background-color:#eee;color:#777;border-color:#ccc}.pure-form input:focus:invalid,.pure-form textarea:focus:invalid,.pure-form select:focus:invalid{color:#b94a48;border-color:#e9322d}.pure-form input[type=file]:focus:invalid:focus,.pure-form input[type=radio]:focus:invalid:focus,.pure-form input[type=checkbox]:focus:invalid:focus{outline-color:#e9322d}.pure-form select{height:2.25em;border:1px solid #ccc;background-color:#fff}.pure-form select[multiple]{height:auto}.pure-form label{margin:.5em 0 .2em}.pure-form fieldset{margin:0;padding:.35em 0 .75em;border:0}.pure-form legend{display:block;width:100%;padding:.3em 0;margin-bottom:.3em;color:#333;border-bottom:1px solid #e5e5e5}.pure-form-stacked input[type=text],.pure-form-stacked input[type=password],.pure-form-stacked input[type=email],.pure-form-stacked input[type=url],.pure-form-stacked input[type=date],.pure-form-stacked input[type=month],.pure-form-stacked input[type=time],.pure-form-stacked input[type=datetime],.pure-form-stacked input[type=datetime-local],.pure-form-stacked input[type=week],.pure-form-stacked input[type=number],.pure-form-stacked input[type=search],.pure-form-stacked input[type=tel],.pure-form-stacked input[type=color],.pure-form-stacked input[type=file],.pure-form-stacked select,.pure-form-stacked label,.pure-form-stacked textarea{display:block;margin:.25em 0}.pure-form-stacked input:not([type]){display:block;margin:.25em 0}.pure-form-aligned input,.pure-form-aligned textarea,.pure-form-aligned select,.pure-form-aligned .pure-help-inline,.pure-form-message-inline{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.pure-form-aligned textarea{vertical-align:top}.pure-form-aligned .pure-control-group{margin-bottom:.5em}.pure-form-aligned .pure-control-group label{text-align:right;display:inline-block;vertical-align:middle;width:10em;margin:0 1em 0 0}.pure-form-aligned .pure-controls{margin:1.5em 0 0 11em}.pure-form input.pure-input-rounded,.pure-form .pure-input-rounded{border-radius:2em;padding:.5em 1em}.pure-form .pure-group fieldset{margin-bottom:10px}.pure-form .pure-group input,.pure-form .pure-group textarea{display:block;padding:10px;margin:0 0 -1px;border-radius:0;position:relative;top:-1px}.pure-form .pure-group input:focus,.pure-form .pure-group textarea:focus{z-index:3}.pure-form .pure-group input:first-child,.pure-form .pure-group textarea:first-child{top:1px;border-radius:4px 4px 0 0;margin:0}.pure-form .pure-group input:first-child:last-child,.pure-form .pure-group textarea:first-child:last-child{top:1px;border-radius:4px;margin:0}.pure-form .pure-group input:last-child,.pure-form .pure-group textarea:last-child{top:-2px;border-radius:0 0 4px 4px;margin:0}.pure-form .pure-group button{margin:.35em 0}.pure-form .pure-input-1{width:100%}.pure-form .pure-input-2-3{width:66%}.pure-form .pure-input-1-2{width:50%}.pure-form .pure-input-1-3{width:33%}.pure-form .pure-input-1-4{width:25%}.pure-form .pure-help-inline,.pure-form-message-inline{display:inline-block;padding-left:.3em;color:#666;vertical-align:middle;font-size:.875em}.pure-form-message{display:block;color:#666;font-size:.875em}@media only screen and (max-width :480px){.pure-form button[type=submit]{margin:.7em 0 0}.pure-form input:not([type]),.pure-form input[type=text],.pure-form input[type=password],.pure-form input[type=email],.pure-form input[type=url],.pure-form input[type=date],.pure-form input[type=month],.pure-form input[type=time],.pure-form input[type=datetime],.pure-form input[type=datetime-local],.pure-form input[type=week],.pure-form input[type=number],.pure-form input[type=search],.pure-form input[type=tel],.pure-form input[type=color],.pure-form label{margin-bottom:.3em;display:block}.pure-group input:not([type]),.pure-group input[type=text],.pure-group input[type=password],.pure-group input[type=email],.pure-group input[type=url],.pure-group input[type=date],.pure-group input[type=month],.pure-group input[type=time],.pure-group input[type=datetime],.pure-group input[type=datetime-local],.pure-group input[type=week],.pure-group input[type=number],.pure-group input[type=search],.pure-group input[type=tel],.pure-group input[type=color]{margin-bottom:0}.pure-form-aligned .pure-control-group label{margin-bottom:.3em;text-align:left;display:block;width:100%}.pure-form-aligned .pure-controls{margin:1.5em 0 0}.pure-form .pure-help-inline,.pure-form-message-inline,.pure-form-message{display:block;font-size:.75em;padding:.2em 0 .8em}}.pure-menu{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.pure-menu-fixed{position:fixed;left:0;top:0;z-index:3}.pure-menu-list,.pure-menu-item{position:relative}.pure-menu-list{list-style:none;margin:0;padding:0}.pure-menu-item{padding:0;margin:0;height:100%}.pure-menu-link,.pure-menu-heading{display:block;text-decoration:none;white-space:nowrap}.pure-menu-horizontal{width:100%;white-space:nowrap}.pure-menu-horizontal .pure-menu-list{display:inline-block}.pure-menu-horizontal .pure-menu-item,.pure-menu-horizontal .pure-menu-heading,.pure-menu-horizontal .pure-menu-separator{display:inline-block;*display:inline;zoom:1;vertical-align:middle}.pure-menu-item .pure-menu-item{display:block}.pure-menu-children{display:none;position:absolute;left:100%;top:0;margin:0;padding:0;z-index:3}.pure-menu-horizontal .pure-menu-children{left:0;top:auto;width:inherit}.pure-menu-allow-hover:hover>.pure-menu-children,.pure-menu-active>.pure-menu-children{display:block;position:absolute}.pure-menu-has-children>.pure-menu-link:after{padding-left:.5em;content:"\25B8";font-size:small}.pure-menu-horizontal .pure-menu-has-children>.pure-menu-link:after{content:"\25BE"}.pure-menu-scrollable{overflow-y:scroll;overflow-x:hidden}.pure-menu-scrollable .pure-menu-list{display:block}.pure-menu-horizontal.pure-menu-scrollable .pure-menu-list{display:inline-block}.pure-menu-horizontal.pure-menu-scrollable{white-space:nowrap;overflow-y:hidden;overflow-x:auto;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;padding:.5em 0}.pure-menu-horizontal.pure-menu-scrollable::-webkit-scrollbar{display:none}.pure-menu-separator{background-color:#ccc;height:1px;margin:.3em 0}.pure-menu-horizontal .pure-menu-separator{width:1px;height:1.3em;margin:0 .3em}.pure-menu-heading{text-transform:uppercase;color:#565d64}.pure-menu-link{color:#777}.pure-menu-children{background-color:#fff}.pure-menu-link,.pure-menu-disabled,.pure-menu-heading{padding:.5em 1em}.pure-menu-disabled{opacity:.5}.pure-menu-disabled .pure-menu-link:hover{background-color:transparent}.pure-menu-active>.pure-menu-link,.pure-menu-link:hover,.pure-menu-link:focus{background-color:#eee}.pure-menu-selected .pure-menu-link,.pure-menu-selected .pure-menu-link:visited{color:#000}.pure-table{border-collapse:collapse;border-spacing:0;empty-cells:show;border:1px solid #cbcbcb}.pure-table caption{color:#000;font:italic 85%/1 arial,sans-serif;padding:1em 0;text-align:center}.pure-table td,.pure-table th{border-left:1px solid #cbcbcb;border-width:0 0 0 1px;font-size:inherit;margin:0;overflow:visible;padding:.5em 1em}.pure-table td:first-child,.pure-table th:first-child{border-left-width:0}.pure-table thead{background-color:#e0e0e0;color:#000;text-align:left;vertical-align:bottom}.pure-table td{background-color:transparent}.pure-table-odd td{background-color:#f2f2f2}.pure-table-striped tr:nth-child(2n-1) td{background-color:#f2f2f2}.pure-table-bordered td{border-bottom:1px solid #cbcbcb}.pure-table-bordered tbody>tr:last-child>td{border-bottom-width:0}.pure-table-horizontal td,.pure-table-horizontal th{border-width:0 0 1px;border-bottom:1px solid #cbcbcb}.pure-table-horizontal tbody>tr:last-child>td{border-bottom-width:0} \ No newline at end of file diff --git a/static/css/reset.css b/static/css/reset.css new file mode 100644 index 0000000..0c2b821 --- /dev/null +++ b/static/css/reset.css @@ -0,0 +1,49 @@ +/* http://meyerweb.com/eric/tools/css/reset/ + v2.0 | 20110126 + License: none (public domain) +*/ + +html, body, div, span, applet, object, iframe, +h1, h2, h3, h4, h5, h6, p, blockquote, pre, +a, abbr, acronym, address, big, cite, code, +del, dfn, em, img, ins, kbd, q, s, samp, +small, strike, strong, sub, sup, tt, var, +b, u, i, center, +dl, dt, dd, ol, ul, li, +fieldset, form, label, legend, +table, caption, tbody, tfoot, thead, tr, th, td, +article, aside, canvas, details, embed, +figure, figcaption, footer, header, hgroup, +menu, nav, output, ruby, section, summary, +time, mark, audio, video { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + /*font: inherit;*/ + vertical-align: baseline; +} +/* HTML5 display-role reset for older browsers */ +article, aside, details, figcaption, figure, +footer, header, hgroup, menu, nav, section { + display: block; +} +body { + line-height: 1; +} +ol, ul { + list-style: none; +} +blockquote, q { + quotes: none; +} +blockquote:before, blockquote:after, +q:before, q:after { + content: ''; + content: none; +} +table { + border-collapse: collapse; + border-spacing: 0; +} + diff --git a/static/css/style.css b/static/css/style.css new file mode 100644 index 0000000..ce83887 --- /dev/null +++ b/static/css/style.css @@ -0,0 +1,688 @@ +* { + box-sizing: border-box; + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; +} + +html, body { + height: 100%; +} + +body { + margin: 0 auto; + background: #eee; +} + +html, button, input, select, textarea, +.pure-g [class *= "pure-u"] { + font-family: 'Open Sans', Arial, sans-serif; +} + +a{ + color: #1c619a; +} + +em { + color: #9A691C; + font-style: normal; + font-weight: bold; +} + +pre { + font-family: monospace; + margin-top: 1em; + margin-bottom: 1em; +} + +div#captcha > div > div { + margin: 1em auto; +} + +/* Firefox fix */ +.formpage.pure-g { + text-align: center; +} +.formpage.pure-g > div{ + text-align: left; +} + + +/***************************************************/ +/********************* Top bar */ + +#topbar{ + padding: 0 3%; + color: #737373; + background: #000; +} +#topbar p { + margin: 0; +} +#topbar a:hover{ + cursor: pointer; + background: none; +} +#topbar a{ + display: inline-block; + color: #2c99f3; + text-decoration: none; + padding: 4px 5px; +} +#topbar a:hover{ + background: #222; +} +#topbar .topbar-left{ + float: left; +} +#topbar .topbar-right{ + float: right; + text-align: right; +} +#topbar .topbar-right a{ + font-size: 1.2em; + padding: 2px 5px 2px; +} + + +/***************************************************/ +/********************* Header */ + +header{ + height: 80px; + padding: 0 3%; + color: #fff; + background-color: #1c619a; + border-bottom: 1px solid #000; + +} +header #logo{ + float: left; + height: 80px; + padding-left: 75px; + background: url(../img/bg-logo.svg) no-repeat; + background-size: 70px; + background-position: left center; +} +header #logo * { + margin: 0; + padding: 0; + border: 0; +} +header #logo h1, header #logo h2 { + font-size: 100%; +} +header #logo h1 a{ + margin: 0px; + position: relative; + top: -24px; + font-size: 68px; +} +header #logo h2 a{ + display: block; + margin: 0px; + margin-top: 3px; + font-size: 16px; + font-weight: normal; + letter-spacing: 0.425em; +} +header #logo h1 a, header #logo h2 a { + color: white; + text-decoration: none; +} +header nav{ + float: right; + font-size: 1.2em; + text-transform: uppercase; +} +header nav ul{ + margin: 0px; + padding: 0px; + padding-top: 26px; +} +header nav li{ + display: inline; + margin: 0px 7px; +} +header nav li.selected{ + border-bottom: 2px solid #ddd; +} +header nav li:hover{ + border-bottom: 2px solid #1c80d4; +} +header nav a{ + color: #fff; + text-decoration: none; +} + + +/***************************************************/ +/********************* Common layout */ + +.left-menu { + float: left; + display: block; + width: 200px; + line-height: 20px; + position: absolute; +} +.left-menu p.menu-title { + text-align: center; + padding-top: 1.5em; + margin: 0; +} +.left-menu .title a { + color: white; + font-weight: 600; +} +.left-menu ul { + list-style-type: disc; + padding: 0.5em 1em 0.5em 30px; + margin: 0; +} +.left-menu li { + padding: 0.3em 0; +} +.left-menu a { + text-decoration: none; +} + +.left-menu + .content { + margin-left: 200px; +} + + +.content { + padding: 0em 2em 3em 2em; + background: #fff; + overflow: auto; + + -webkit-box-shadow: -1px 1px 2px -1px rgba(0,0,0,0.53); + -moz-box-shadow: -1px 1px 2px -1px rgba(0,0,0,0.53); + box-shadow: -1px 1px 2px -1px rgba(0,0,0,0.53); +} + +.content h1 { + font-size: 2em; + color: #1c619a; + text-align: center; +} + +.content h2 { + font-size: 1.5em; + font-weight: normal; +} + +.content h3 { + font-size: 1em; + padding-left: 2em; +} + + +footer{ + padding-top: 4em; + clear: both; + color: #1c619a; + text-align: center; +} +footer a { color: #1c619a; } +footer p { margin-top: 0.6em; margin-bottom: 0.5em; } + + +.message p { + text-align: center; + width: 100%; + padding: 1.2em; + margin: 0; + color: white; +} +.message p.info, .message p.success { + background-color: #062D4D; +} +.message p.error, .message p.critical, .message .warning { + background-color: #A7332F; +} + + +table.admin-list { + width: 100%; +} +table.admin-list thead td { + text-align: center; + font-size: 1.1em; + font-weight: 600; + border: 1px solid #bbb; + border-top: 0; +} +table.admin-list thead tr td:first-child { border-left: 0; } +table.admin-list thead tr td:last-child { border-right: 0; } +table.admin-list tbody tr td:first-child { font-size: 1.1em; border-left: 0; } +table.admin-list tbody tr td { padding: 6px; border: 1px solid #bbb; } +table.admin-list tbody tr td:first-child { border-left: 0; } +table.admin-list tbody tr td:last-child { border-right: 0; } +table.admin-list tbody tr:last-child td { border-bottom: 0; } +table.admin-list tbody tr:nth-child(even) { background: #eee; } + + +@media screen and (max-width: 64em) { + .content { + padding: 0em 1em 3em 1em; + } + + header{ + height: 120px; + } + header nav{ + float: left; + width: 100%; + } + header nav ul{ + text-align: center; + padding-top: 0; + } +} + + + +/***************************************************/ +/********************* Forms / Buttons */ + +.pure-form select { + height: 2.5em; +} + +.pure-button-primary, .pure-button-selected, +a.pure-button-primary, a.pure-button-selected { + color: #fff; + background-color: #1c619a; + padding: 0.5em 2em; +} + +form p.inputinfo { + font-size: 0.8em; + display: block; + margin: 0.5em 1em 1em 180px; +} + + +.formpage div.pure-g > div { + margin: auto; +} + +.formpage form.pure-form label { + margin-top: 1.25em 0 0.25em 0; +} +.formpage form.pure-form input, +.formpage form.pure-form select, +.formpage form.pure-form textarea { + margin-left: auto; + margin-right: auto; + margin: 0.10em auto; + width: 90%; +} +.formpage form.pure-form { + text-align: center; +} +.formpage form.pure-form input[type=submit] { + margin-top: 1.25em; + +} +.formpage form.pure-form { + +} +.formpage form.pure-form .inputhelp { + width: 80%; + display: inline-block; + margin: 0; + color: #606060; + font-size: 0.8em; +} + +.formpage > div { + margin: auto; +} + +ul.errorlist { + list-style-type: none; + color: #b00000; +} + +.formpage div.links { + margin: 20px auto 0 auto; +} +.formpage div.links ul{ + padding: 0px 20px 0 20px; +} +.formpage div.links ul li{ + list-style: none; +} +.formpage div.links ul li:before{ + content: "→ "; +} +.formpage div.links a{ + text-decoration: none; +} +.formpage div.links a:hover{ + text-decoration: underline; +} + +.formpage form.pure-form input.button-1-2 { + width: 45%; +} + + +/***************************************************/ +/********************* Help Pages */ + +.install-guides { + text-align: center; + list-style-type: none; +} +.install-guides li { + display: inline-block; + width: 10em; + padding-top: 1em; + text-align: center; + border: 1px solid #ccc; + border-radius: 5px; + margin: 0 1em; +} +.install-guides li a { + line-height: 3em; + text-decoration: none; +} +.install-guides li i { + display: block; + color: #0b2d4f; +} + +.page > .content > p { + margin: 1.5em 0; +} + + +/***************************************************/ +/********************* Home Page */ + +.home-content { + width: 75%; + margin: 3em auto; +} +.home-item{ + float: left; + text-align: center; +} +.home-item img{ + width: 60%; + margin: auto; +} +.home-item h2{ + color: #1c619a; + text-transform: uppercase; + font-weight: normal; + font-size: 1.5em; + margin: 0.80em 0 0.60em 0; +} +.home-item p{ + margin: 0px; + padding: 0.2em; +} +.home-item b{ color: #1c619a; } +.home-item ul{ + margin: 0; + padding: 0 1.5em; +} +.home-item ul li{ + margin: 0px; + padding: 0px; + list-style: none; +} + +.home-signup { + text-align: center; +} +a.home-signup-button { + padding: 0.75em 2em; +} + +@media screen and (max-width: 80em) { + .home-content { + width: 100%; + } +} + +@media screen and (max-width: 48em) { + .home-content { + width: 100%; + margin-top: 0; + } + .home-item-content { + margin-left: 20%; + } + .home-item h2 { + margin: 1em 0 0.20em 0; + } + .home-item img { + width: 20%; + float: left; + margin-top: 3em; + } + .home-signup-button { + min-width: 50%; + } +} + + + +/***************************************************/ +/********************* Account */ + +.account-status { + text-align: center; + margin-bottom: 3em; +} +.account-status-paid, .account-status-disabled { + font-weight: bold; +} + +.account-aff-box { + background: #E6F5FF; + border-radius: 4px; + border: 1px solid #72B6ED; + box-shadow: 1px 1px 3px #aaa; + padding: 0.6em 2em; + margin: 2em 0 0 0; +} + +.account-payment-box label, .account-giftcode-box label { + width: 8em; +} + +@media screen and (min-width: 64em) { + .account-payment-box { + border-right: 1px solid #1c619a; + } +} + + +/***************************************************/ +/********************* Gateways */ + +#gateways table { + width: 100%; +} +#gateways table thead td { + text-align: center; + font-size: 1.1em; + font-weight: 600; + border: 1px solid #bbb; + border-top: 0; +} +#gateways table thead tr td:first-child { + border-left: 0; +} +#gateways table thead tr td:last-child { + border-right: 0; +} +#gateways table tbody tr td:first-child { + font-size: 1.2em; + border-left: 0; +} +#gateways table tbody tr td { + padding: 10px; + border: 1px solid #bbb; +} +#gateways table tbody tr td:first-child { + border-left: 0; +} +#gateways table tbody tr td:last-child { + border-right: 0; +} +#gateways table tbody tr:last-child td { + border-bottom: 0; +} +#gateways table tbody tr:nth-child(even) { + background: #eee; +} +#gateways table tr td:not(:first-child) { + width: 20%; +} +#gateways table tr td .td-info { + display: block; + font-size: 0.8em; + font-weight: normal; +} +#gateways .host_name { + font-family: monospace; +} + + + +/***************************************************/ +/********************* Tickets */ + +div.ticket-messages { + margin: 2em 2em; + border: 1px solid #c7c7c7; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} + +div.ticket-message { + background: #f4f4f4; + border-bottom: 1px solid #c7c7c7; + padding: 0.25em 1em 1em 1em; +} +div.ticket-message:last-child { + border-bottom: 0; +} + +div.ticket-message-user { + background: #e8e8e8; +} +div.ticket-message-staff { +} +div.ticket-message-private { + background: #f8e7e7; +} + +.ticket-message-author, +.ticket-message-date { + font-weight: bold; + font-size: 0.9em; + margin: 0; + margin-bottom: 0.5em; +} +.ticket-message-author { + text-align: left; + float: left; +} +.ticket-message-date { + text-align: right; + +} +.ticket-message-content { + margin: 0; +} +.ticket-message-reply textarea { + width: 80%; + margin: auto; +} +.ticket-message-reply input[type=submit] { + margin: auto; +} + + +.pages { + text-align: center; +} +.pages a { + margin: 1em 0.5em; + padding: 0.20em 0.6em; + border: 1px solid #c7c7c7; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + text-decoration: none; +} + + + +/***************************************************/ +/********************* Live chat */ + +.livechat-thing { + position: fixed; + bottom: 0; + right: 0; +} +.livechat-thing .icon{ + width: 1.4em; + height: 1.4em; + display: inline-block; + background: url(../img/chat.svg); + background-size: contain; + background-repeat: no-repeat; + margin-right: 0.4em; + margin-bottom: -0.4em; +} +.livechat-thing a { + display: block; + padding: 0.6em 0.9em; + background-color: #1c619a; + color: white; + text-decoration: none; + font-size: 0.9em; + border-left: 1px solid #1c619a; + + -webkit-border-top-left-radius: 10px; + -moz-border-radius-topleft: 10px; + border-top-left-radius: 10px; +} +#livechat-iframe { + border: 0; + width: 100%; + height: 80%; +} + + + +/***************************************************/ +/********************* Fonts */ + +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 400; + src: local('Open Sans'), local('OpenSans'), url(../fonts/OpenSans.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000; +} +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-weight: 700; + src: local('Open Sans Bold'), local('OpenSans-Bold'), url(../fonts/OpenSansB.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000; +} + + + diff --git a/static/fonts/OpenSans.woff2 b/static/fonts/OpenSans.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..5287058cf90dd427ca8ad6e330cd339bd257dd9c GIT binary patch literal 15572 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 ab)kb)z25LcH12#3l+gg_#ocOw0{nk#e8;T- literal 0 HcmV?d00001 diff --git a/static/fonts/OpenSansB.woff2 b/static/fonts/OpenSansB.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..be4c25b4299232febd93f9b7528642869d60f16a GIT binary patch literal 16276 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 EKejGBx&QzG literal 0 HcmV?d00001 diff --git a/static/fonts/fontawesome-webfont.eot b/static/fonts/fontawesome-webfont.eot new file mode 100644 index 0000000000000000000000000000000000000000..9b6afaedc0fd7aaf927a07f82da9c11022251b8b GIT binary patch literal 70807 zcmZ^}Wl$VUur9nTuq^HxTo;17ySux)ySqCCcXti$65L&a6FgY3Kydip@6`Qqs&3t$ zn(CgXdb+0i$IMheorwhnXu^a70RI~>fd4H}fFvluf0(@T|3?3R`#<=9#I_>Z@c)?q zOW^<{0Zsr%fIC10;03S%xc#?s_)h}>C;-*}v=zVuU=J_>xc-Mw0yO_aT>ta2`JX+c z0CoW5|4bGDDS#Eg3}69p{O3pg|ADqn49DF!An`ilxr>=A|?`Ne7|ECWR@o3Shq z4=fR~zT?A7B1K1mtmFVZ}vWI<_%EUx1N z-VuB1=Y)C8rIeJnB*soB7}lI+^=v+DtI)8suN#oL*oLO=#L=H?p3`HZ8#M=!rA(1x z+mo^&?u+k{qG{vIR3S%;NeiW#Lo;Fr!w1xX|2=AphPlC{NvF{mb)sydz;TeKh@TK` zOtM`}_qO0GPkgg=@Lr3-Ck>4h9)e9nfJG}w2Soq&B#!i}mydp=R~tvqpY;d)J{qHOLYB| zCUqLmmh{alZOvG+8#VHrNMNPz?TX(yib%TD9pB1X50crH;lp8-9wdvT06MC2s62Pq z3hJm=U6X|eF5byj=vrp*yRERvaTU&|52`XTnF!alAf~&GwNad~(y;K9ko-=o@=5Mz z`s(tbjzMpUv7}VcW7M>e6MVFW?9#lDc??ea6_mSX{gflBouo?3|8ZZ1NbPV4hU)qS zDPgQvv|KueLqh6a6vfwz^WJ59A3gD&-Q$WCZQa9kl$3qL{jgZf{etTB7*DeNyK9_02&)phNsFCRbML)Q;i$p^G38_|f8;C|fggVX49xtK+dTUF=Uu$V+)yKe}QszkyF{ zF$gq{^HC$ChqmuA^(pe9%6XQ0kvl|B7pB>7reH~Ng*!s zk4WlGz+keFJ{6_*B}aOZDd-al?UpGCv@C?=rNYOBqBrdG^=-JVPZXLI-1p#x%h`EK#4x0YNw| z@Nd1N$eroPsd0l}))bqw3f9#%BRTa=0|XN_NFgko(WZZ|uVu@R>?l(HlC6SYLw zY)G##!XmBYgU;2r&L$U(S((fle-pkQuv#P>OnLrOo3zZKe;!OSiD;yOomI-VH;qTE z!agoYCvK|ar(yY)5Ts;Pr5Xz{`6a@uR>)D-ut`a*fXE1IJ=SBT z6~3m1E@y|^FwaapzajS5Jj}MWDak&^MZKk9490}MA2t!DT7HGS{0)vXd#(4Rk4)zi z?7qwgX1q>zNI94-ZbswGoco2Nr_b)uxw49P6F2z#jl(7V2Gbtz0+^ z?tt?R5|P-WM~dLnZcrd9VtL0f1&o}{i`V$ox6|(2G+S8TSaa|ym0-?~&2f|ZkxpLP z)#-0Ut3|in_b6*+YFWm@#=|t1#!s`vHAhSXg6XIo!}S!7&Nik(+Qt}0>l(+GQ(=&Q zf4KV7v`*$D(>brO( zXuDmsKrVVmkXJ>+KbRwDxkOt?AF6N74>f6)a}wip+%u381sw6P}c!E`x+S1Ot(~r@l(*LpDrTvvX{?%3)@6 zCM;q4)B5KqIbkx&>ij?|vboS~?7B!jkwgH6;OpI+UGJGVV(qR41U_i(i@0gH46p3G zE$vuquK@VvtC@*oQ_bEAp8OZ4*HuhT(+f@FHfhBG_YfxZAIn8Ko-k-I%D3raJ^k3M zWKxl>LAwb0o8;uf_)nxA@&`X6Eb4OlA&y!yU-|a*6`hCRvOScM{#1- zMY~SwG*>svuPk{&`DsB8c1<1x<&JyCx5=Oa%}bd<28}Fl9$=uf`(=qh6&1}UZnWbu zXvgYc2OXY&@d%NQO%lB@izfKY=jp$DH8hk$kEv!DSJrL7?8gn_3l=Dc5+D5u2&Yt% zU?H6i(IRDTErb)KV-e>HS(uH_EX0#FEywwF%P^BGB6mz-794>6o(GSZ^jZ~FX zHlymrW^dqgtj?WJh&zzv9&+ik-vpGE#B;aNiO)e(d-_mxAkrA3?u$|DsjX+NC~bCJ z98<-BL49p~zI{L#VA`BAyXAQTU?+!=81^Vh3CWe}P7+Tg_uy3{)Cp*hpng z7JM)DY5KSZGpqzxhWgxhC=P-oJ37{8ve8IJ^|Ht8`IV$w> ze3UO;yC$HBb0qvP9+V0>dZ^D!H@S%Mn}Dv&0cWf_%~1m3x&0pC?*xnzncdJLiGIp= zv`p+TS`!q0zOym!Z3EXBume=33pA?zH~^BLF{E4326vh9k!=r1VpYK(i`5^q3dg)p zf<^>bjJFVWBe>^+KVxAr{uCnvbZNw2+wA5^lEHceC9IL)GI<!$FzXbB8i5t?7^w5~*(I0K}B>Ns?Y)yhrYhUE029rwn% zvq6tyX}<6(Mv!6QSokj=@0A&}gh`W~?6g2|v?S|%1PxIhtauIR5N(+dA*_qgJt=BH z3U1FsVHUhwdl4iW?hApR`XY98e3D~Q2FbZk1CmpPVrRaT_MD|5xS_YQ5;R^`UJdQb zUA<9W_jDUN%`3rc`jwpO?6+m`9=xw&AvA|Iu*)od5?jc}gbWMBW}4`6Z?(;;F_Hmb+o4k zt$BsV+x@eoNf*4y7wiDZz@H$b$P9+#!dRBGl^b&08rc@0ecYrR{uVv`C(OaPDa`Ss z`%TK_hcp?IYK#Eamn(vL$01?8!2IEli}`ZoNyafy~}xL zT^qg;Lk{MGBu+{N-GozN0Jg@jvs94}df~T1=#^>jEx!a%b~7D%B|?>Q$soN1+;3gl z&qQhs3bjsbp z;hUYly`U8{TQK=5j2Mvu;eLC`#AM-n!>6y0a-nnm!rqh4>P5@MX>s`>0~Y5~8NlnS zzXfN1<@S}Bd)tOx?5dbLB*fun)_FuYd-9fpW*eo@my_pIt@er7eZPPe9qc-m9b;xL z9XiN3H2I_bR8;m~`szdC1OWoN=i^;A?85sES(?Vb)ai)LVS!vt5vkEOX?=`WQY9~! z76wX5y}JCS*yG~997z}`fi~ZY_t2^`)>Eg?oxZ6a?dLr)V$hKKOseL{x0@zjD($a8 zJoRq$h{LIKjW;0=BFw77c>D{DDH<{2#LLUH7@v!5gi(xF#n2=!W`syt6Qi9o4ntWZ z$LTXZ(b)FwzuncNH=$5+1hCMh#!i;(FJp*L@iMB6+UZg*@ZWv!_R9xSlut?0_XzTS zW4R@mceF$;Igko^hWM#BI&4XrQBOH*xa@7h?inG3b3=U3Dr;=Tc^b4;t`^I<(Bglh z(?4dzi^(l3oD(?Z0(qjJQN>;trBM$7tX8}PljaeV29Y2Y(6ZWiJR1w1tz-M7wD;-Q ziw;?HmVFgH;_mTa9$uM_vC`W*|GKc0HFFX&t(-{fRF+8} z@ebGaElDMQBSx3_CFek0K2OHaCD=wOmaHa%;8C3AnI`+GUV)#+@F?(X2I|Vq2b8za zVVe(xfV8=MmfE=13p)=#Cfj6Bpik*YIKgX@NmZV>Rss*dQ*vk(tAJ04e?jj4yfjVE z@@Ohk`p}%%t1&+t+DNF6?MEX)@p*8N=uMF0912L017sAHQJ}^ICZPwY>97d*!=}*Hzja^qr4+d7GR^6tFhuvRFlX2{ffuaqblOkV zG)j|x8o8Ao9YDnx-%o0obsQUG9mJZ5mxc(&YC$bjcp8U#(GOmCE~8|LATTcCrzbAh zmaZi%(}@x%jwj_UiO6X?#M`H&6B8Dc`hmm52GND(QMx37Ng;#>F~{kxi5z){{IUF~ zgUM8$pd31nO=qZ>^SQ@Gx$fCl8S1#Eod7!fhaOcwBhtXB!Vu<`gz(`8qR@RL_-X4e z5nUpS|2~<@1v8;y-6Lr{3;+t7_0`sN&5Pchs9|FWBqL;0F$!Zan(ML#_n{WZe~#>t z7>z4d*!3@%b|B(N#B_>~ng z52C8p=2PPGufp`EV^V+-85DkQaSM~rxeq6%s@i%;*%>h`8>i8`SINNCbY^X?bgL9v zVRg(-v3Hs^Kw{18XNrcbLwe-7C2(eF<4|pOsx5DOe*(u~;hs($q8;Yh;0dOB%D>cU9#klLpv8bV!S|xoF%fD2++NC%APUprGMe8H{IR~%D8xYX~k z-~4*a(Jmhu>UM++L++!rG~T&IHhX`=scLHzPMQ{tIaH$q`o|?%$+X>jITaf4b23Vw zinfviMLWvTdJwRh$7HWKi}Ve!u#u*31Al~V8H3Ify@SRK-A_!|;h*%k6~ln^C|u>m z$L9nz>BR68`do39i6ZlSOCgO1(%|0_FbJ5jMC4)7mZhcHIF{mNQVm{t>jsZDiyu6 z_Jw+ulcCFzX?5p%}fQo|SS{ZuAbsWmuM9=4honv?P?0%i7Z+ zx5^2x-cV%F28tQz5h`P9UVl(7*~?-{s!}59WyaP(u77Kcpy15);{43sI-OKSsCdIbtw&Ue30(YX@yCRv;f7WJ^5<50bwO+B~i+C z;&Lmw~QLzA$$?W*hz9vT(al7&?9e}yIvMUg=1<%Yj#mUXe~NeX6@l7T+wa#e7Ws@Py6rc4MZ+4thjO@ttq zgC-l@ihsyZE`Lf`b+~CcIGqVfZj!;uE~c>8_@SypvA=;t;30(5hTm(x!r-y9GNH#? zPtP7ebC5ekGSL#{^h%s0=3oS$p=H9GA;xNakfDwmKdCWXK%IxTgda7M3M(cordrS( zNnLykJ&OA6I21(7j{i=msiAo26FdzOCP|jokQI;mEh?<2>?xrY(i#pd@PEo@H!Z_X zC&NoF=YF)-m=1t^NxF95Ji1~QTbE~I;JTYjaK$@b@=~dW+Jha%s{3PNk&N3tR72sg zU*6I_{I?sY6E50{k~hSyO6;r3lF@`u7phc^<8_k!!r9@fR9n9}2*d|ft#;Vl5 ztBb(4TGy_*yr}iOffw%y2CK4@FbLRJz4qX;V(YQRM$<@VB0}qfTi}(G5)6orC^E$8 zN$G?|A(0m?p|IP<0j&aq(6EB*J}NB6MD3tyBdgl&2h2Are`Ix&DwS5qkclZbtEejzr0WH;eig2#=fR8;0yhN}=mMe+j2HJ#60 z+D)(WAPho%;I@`J9AwhLL~n9mBhR7NK_J30&SDowjt4QMY6d!Qt>ysDma#=xf8~!C zkFpDygoMcF0+HtUhH_Nl^3sxOGVFBjd^t!`n*?r-?ydQMNNGB!oK0r=u~%}i%FN=J z$u7Mh$StZVr|Q|pCrJaxPl@@(2yA|O&8gBQtu4s+vL5TA*kBdD0jPO{mnYm~l}x^# zNOvN2aZ6opt`LZ!4KJqC=DC_u{?i2#K!nL@s@uhypE?n7$bbpS3zzHG2_ZfVc`3v2 z^x4{))KUZKF5K+~*DP}x!9G4ULwvo?S?Cdlqvl`85eg5esEuOCritJdMj-`AP&;K5 zS=ILEVDv~pEOsNMRn!^aSZFj)nnwYk`D2MPpMlLU392&T;gfgbYVli5atT7Bl!}~d z72{rJSYSQbA~_RFdb_al-qF{E>^8mtAIjH|CRC_X!WiRe% z7q+P{R*+6#)G}*{pU~Ub?=q=Xs#ex(J^#U)C&EoNq4gQ_f@YZ0HuvEjfk_>4c?(c^+^1(SO zl5OSLJc_WqYU!J*5KPh1DB2g+`?XEEp;jvO_&vmWqQYIt%a8a;UJQal*mj}BsooEv zi>UUDIvE)QIF|GTWO(H<7D)wZ#ec6L+$kJ^=U?n90BtjxI9(D6MvLHx=L`#XYze}| zSk5(8c%L8hCyAgJ<6!b(F|ecxg&io{Wy_n#^+d4MTp(B&AYZJXBMqRp_$w;0c$Nkq z-S1>;1eef(qk&Z;oN6)ot&x`Tp=V$(%EiK;wtK#f0cZ3YM{6Svb;&vWcKDXzNV&U* zQD2;*qV_bl#cOEd>B~XyV*`(#ok3}L9{3pf` zh)4RvIzmq0^9-Huy)P9^Zl|6wM3hrLW+qbi{I z?KA!AXh~Y9PNJ+mPPrCa<&E&q3+0pK>(D9f=X%+Sni#(-@kMARd*bpHbCs}B+8705 z-ru+EP+9uc2z$Xci!CuR2j$tr@K`N(N|8Ur`f*tqSL0fTY^swG{wG$qvzfSVHT9x0 zifBn5M>CmRV!I&!i)czSX0Ex7RvcT~Tji>JfFgzZbcU(Lr5TFln>`-9 z>l8C`V}}3ojE}dNWMPoi^aKQJ-FOo10>S;xcPxH=rtwaZ;@`01Z4mYL~8d|cpYYem6(FAw$o~OV1GQ7LVsm1N%>RI}Q$__Sl zl!Qm*Oc8`gP(`Vad^b1u*x`-o0R=>M3A9TNzVT7#M1`pHgY|{K4-C@mo#IE*md}fv zn%#)~t7krP6&~57-hL6^-W0&2&`?!EscLX@E4Hx-*B#ZsUDFQBlzW<5R9Y1lFzNhE zr;i6K->br~pwT6nrghMvfn*-bk!FF0!Pe z5E8s|f*YEYf)(BF06$P1LTjTi3Be>!uEkK4kKSK{Yv#oC(Yy|A>m|@fh0UUjmb0f? z7PN-hl>Yv`yspwQ2<&CWE~x(|qOPjbEP-DUESpUk)9qkPo;5;2Eye1OVM@ub;>t0i z<0+CJGImy!hDq7WH2k5Z3P#Hgy(^Jb`qdu{(L{II6u2>CBut5)*xDM~==<7L9O|94 zO(Cu5H|j+b(H{xw9fR{ednAoNB@yBed(DW;m>bC0>F2;+J*Ev;j=FKp3Ta1xc{}Z8;nf#d~H?sAxxkm{np0{!@XK0y_tG+x@dG!r_NX;cAb{!SDykswTwM zOu|ZKt0`csLaqj(5!ay(nD)-7Hjhg%jmJ^%_7shEO{>aIcR?K6%9odbQC3$dTWEsHw$CM2@?pds7}zFtqUdI<@5xmtOfDX6uti;+HngFcphCE-8(_w?&aKQ zfzK`3&=II9mdn!3ZAu5FO>}eRU7J?}Eg@iDOq!)A^mnh|6lZp)6iYCk@eZ?2ER9}D z&cxwD_*1;L0Zb=*wdN|5=2$cF1o-UBh^kX6TaE1KM5-?fir3%DNhQnO=-lz5sIqXJ zU{i4!1h%tUQZ)M8g=x3J=V&o9@JSkNfH{miR#}QKFlT~x6b{b##+?yoN`P!;Cs+yn zgnp_Z>XkWrH5O_`ue9hDe8Ir6KsGCa^-!)*qhF@-pCaxIL<)VQ^nouINQ-&u_@!4i8N|+G zac$xD1xQz;D??53a5|G?U~iv8CQ*odfL*lOj3RgLqUhLtcXk-v!afZ{BU6H74Sf}L z`JgxqjgQMPQbIcXoKoU@lu#-+MX5q!xZ;NE98<3$qsYK1Zr`N3vS39fyauxFUKK{; zL#Nt3xPYmYvV=*4{{diz?1O7F`$x`PU|{5%XxN4hblbc5fTey0nO0&`LlsZ=LNWlZ zDG8f9k|1?Pd45SQLu>*aMch*-Je^yJ80(PZAiVuH=092}dO56;0CcBQTe{28Y(`&F zf9^nh)*{r9+Ndjm%8WbSo;{7{3Nl-nfa$YY+vbIzVGH}>NH!sHakwG0O6}2nTgy0S z)`Dm4?VU69c+Dj?@oe(wF!M zRtQbPzAQ+2oE^17q6m=L&?P4@27M4`1m;cWLN(@6AO@S1O=p&UWnFa2vx?X>l>l&g zy0DN8#t&CD?x+A++~gbO>H#v{nXOc7&qLzsbHO1wmAiW#=iyh^Z%Z+ZU z+@=Y<2Fso$>X;31>cs#^ucfOHDpA7DqOn|wM^5WF;?QI%n(t$a1r1AB#*HRhIpy;7+LcrDC-`p znzsaxHE=Crby`Xfb$bZ|-$npgzQ)>dKfElMQBqUh%U8B2ZdI&R4?Ayo?ooskR#9>* zCp(HPu%WZpmz_daj%=h^J~H6SO6wX)=;URDnCh=Ycy>}2kNa&(oRm_g`MN%UiqYF$ z>qyCN6*iPLeULwc(;by8o8_%}^sCqbwUu6c@o zHNDFGBkuV~f4^CFlgaFYWn~Jj!UwpaoD5trVZeaiO8uqujA1Hx@6o) z&$MnUqRCy~t?sHYEmrzJV|1lZnX(W((M0B$*YNaAot`U|1tMccGZW-m;oHm7+!&b> zP~Of6*|Jy{2myptO}{9Qq}(+N!BC%+o7ASca{1&~>3OeGDKGn4N1cz^1X&%~CM@m7 z6*jM0Zhzvp<(X|~>Z6#fCvnbVb;cY~xY9HImJ*lbxCZUVItSzc=n$m_n)o`=}o zYV%oQw~mOb$85yb6T-h2n8T@nVW~E(;DXX5Q$)1(ts-x;b`S%`q$`x`Zudu!IyxU7Y~>g1sND_2CG9 zWshrRVS13TSffE*W50>}n)ug1|7!<%u;=R1VV4L(T^U^dm^F@4e6|)X?Kmg*k<)u` z!L(GfMzELsi7oXJ;;K6LLkz+SwudZw_?o^i9$wukXig{?C)+^CQvjdI*f7;ZGD0R= zoHK{gxlKqx+XOaU3mju03d~~Q zJqbvb19g_MGn(Y_a~Dc|Rld*_#|uyLBvLuE@~5wI&1{JPuNVf&S=?ibjYFCEi(MtG zXoiGirH}BTvI6wi1&ucUYC+O6H-&cR;3=Kqzow&U%i;KrK`^B3q-==Vx1X%$n2X6e zRZ+R=61R;a=_V+DkA<^9`SGS~2g(c)IYXQ`qPKq%+8QlYDwL3s)t^p2G)=cT@Y+TA zRL|_}0BkZ-&kq|i(UN@^OD^&e^_$eo539>HFEB-&6)jIu1~T47IZ(XxEzV|Ll~*}) zCdxO3%CRf@l49c8>-+Ot2zavba{wA#S<`kH3!J+%E~}ygc>96S#`XwiU%efX4fW}n zENRum1%_MCQyPutcbZKk7oFP>L7^^4KYmWjr&F>dXvDe(Uu-{fQ-34sTz$Jcn;wTs zMWHvewkQ(9)-f_9v6u5R=x;D>`qz~z2w7Fp8$@9boLGPXnV_uICMP`G_swzNAFGfgBnR=Y%&@LgG14TfP z{##Z)gG6-Q$6tD%iRuclOh<6$cIemg>g%;B3_>cXch{a-O^v3XpMO1KELOmGPcttL z`c#g^-}2uy5*QII^lDa2pCY|SykuSnLTHzi1K-I1~Lchn(t^55=! z3H#SM1y7jH-hQ~;$JIn%kQ{FcDXsF3L{rP{mu%j;Xzbjy2v1`XYjcfz8MjqE<}V;x zmULc7HjJ8Dl^rA8p=wPDK$;e}sryoj+`7?;oKyh|h(Ebc))GnoymCW0zX6g4G;?quKjDV`9PlOo~ zth76n!syqg5!Y>yVvNjx>QvU5yV%sZbQwhW#$-iL3D0~+p8yA$^l(+{@0Y8w>C7BU zqvBC+QOVD@#)v^nq+2H z!+42V;)votWB|RpbUL19#BvLF@9;WMCDMPa<&tX($63tEmmlZiO7f)zIVlSA!~AG`g%M%~74aNO1mdzc=KVOg7#_XIj zGb|fus@QkLL67~f%$l+-`8&)i#+Vrn|3nJv)^~Q^)OGu>U8P+K-3;=0*PP<|JW#vb zWpj9D%-G~x8dP{Wi~i}!Wk`U5htOT2Qus2$hWOJU{TfnR7UbQmprs-z`7dbp3Cn z70zOk88dhG^O=_kT^Au;UJCxPfKO+mxZ{kW*TzQKTnpn%vi7^}cn@|#B00-&=xXmM z=HzT21*ULxinXsX;G z7Ou;#UZWTzdcktnx>V^Vo5O=N*icE}h0Ob4O#ytC@mn|Uc! zUo;nx-FVCg2VJyl?_m%nVU<%b19oA=0?(oHj99WY2h==+=#xFFNg@5l)09u4FJ>qT zQzuG-QIv1l!6*acRR3lhp-tPQTDKIGuc+Oeo0!cjL1L|nn$O^w`vaFlhm2*K(WDSE zE>_hea2WnERCTEcWn*N-C&}h?0n3lPQNH4jyrm=icW27{vTw-{X5nQe5}|5*$uEPK zW-CeH$*yCo_Jm7MHU}k%bqg&2zRraBai`WmZ6ZzwH;i2xHE5-HswWiBs8`#qrN_*x z+FdU~Q#cZ1T56sqIB7n!GS^s$H?M0Jub*DlKT8OKIsOye0zXaY4QO@tWV`a=Uw;tN zSi0KY=vS&^4UPKFaDNDk&11&s)!cvSUREpehiVsl2NoeIcepE)lK=Q3>XDCENLJR! zHgrM~LNg=wU%N*L+y!~6DOH6HBb+`l`vp)sdc>ZgcT1vKco6Os9ibu1}| z+Tt!5g?Y$v18OT##CaA&UEatK-MPc;ifGvP{e~o$!ZGS%%0Z=?Mw7y;IHuMEk76T> zA;ge>;b51eGJA}3k7>byo(b6F^b$bGQI#U+DU*(ihMP@YQ6P6&*aSq>M?l0`=g1c` z`=yzFs8!#+Q}co&JdYL4XTKEsYe2S1RLT~VXxAsfWeM;`fQ3<8>=Q-%H3Hl=bo2oX zs6+t1vz{Utk7xpo*iZW*2YKX#5l~U=T?<4z>9RA#%2=Yh%-Ah|Pg2Qq=l7nkjJlKt zsLl80Eg};+g%cDym`lZ)&{+1mN=Wu7R}=B#gTMVrlL9NW+E@bp8ik;NhJ)rUP%NL> zy^HM$UL=bN znkhNidTaBC8RYK$qcZ%lc=(O{XWrH)`Xu9;^N~hM8uUtx$l1l%DEePBR;BIae|KMK z9ng>pjRIG7bjPt_6amuqW&WEqA$|7mz^u9Z%#U)t+rfUuHf zgMhSz0nuQme_2v+K^cffjj=eX=x_mDKHUW5txlJRZo1`b2N)Fc5aEUG-~&ssE1%c2 z*gn*>@01A`jaZlj=6oGO6c=0pSv*M8RLKRxKUzhE6C z$|}tTWC^|0e{P#i5^PiP0XwoZ#|-pu+}hAHo!z8EG}`?TbFLqcv8p8tl@*}_A?9)C zvSUQw-Wt!eXx;Tsc8hAvxSP3rOem5>H~$%;77Q58nM%FC=#^XMz>&6mH6sbfBxv4* z-T!(c#rrrmI722zSFQ_1^2)o0FAWl_Rvv&)%}>>1jFYMwySw=H7A4I-Cq^->PHMCh zDGNpzF>4n&*v2p`e6?ktu{f!Jj={uy!K4e`pADW~qCU=8#<~sg z*T@y`{a&E2eH`ApEn8@$i2q;H9&ns0^g?)jo|8h)+f9zX-jLMzT9mefyJk*h0d$o$ z5D;NmAqreWOT4N*dM&^_3`z(7a}ojmT;jyY`XyD8qal?ksVPc2Zi|PfLgo!-yV&(y z?yj~wg=Jgllc>b$Kx8vspm%SUhC#sqBz zG+A^6zl$_{oR7T7g!mB1!%qPm!uT$A*VP&)BFtf3gvSWH&qDH>G9{rXu`jHA9@j>< zTjrjl3{GrNnB_wd*Ttc6f8~jgF8Y@l!9_RoV!r47xA+WOao88=+d!1{Ts%{5$$a(U zezX*>r`}|5a(ZYfi9|x_6}!~{*2!_PZyM^aEPK#{-;E$w^ijr~zi|z#1-MMoY9B`TqMgzRKYqk=I?x?AusFOliN?qB%on@ znQb~M(NOzfgyhWI;7-)WbrJujt2DXXoeB4yHm=Goo-wcpcl1D4djtvKg%ZjBsuahR zS1k9Y8)a0abT`RR^oh~m|2MRP3Fa+z$Xq<{^NIc@mYO&U+I|ofG>Po8`1B2CNv^~| zY+WP*cQN)|`PKiB9h4L+5{T3clY~Kf2rb$*c8x}@mA-$x^wsiZNn~#Z)?vdU1CZLk z^`me#C0h|MEWKVB#Q<-3I(K(jZJ2-sy1q4rKdla{JxC(+!z3~MjkA@ia174F^Cmpq z)w`1T`>t<+s%8@GV!WK|m4+nWA}|#sfE%I{Qy5F+UFBS{f*`bCMG(S75OhK+^~Uy2 zzjwwWA|B+aToy!sqBU(mY<}MM!)?Yc4O4i;cD_749kcXbUM!{peDaqySYKtp0}6K8 zMw0Q$zQ~@LTbj9l2ABD`i8PBxAx<8};22FO2ep9uh7`jtabXeBSk`pxGOIFjEk9S( z_gTl(UoPhWcaC|@jEg3?A&5<9BMq?KqQCrCI-;WS9Nahs{}m5LX&3uq+~8ovHHp77 zp+5H1BMg*3ooAAY$X%dAoJXHvr4$}yL)$K$ApevokHDacQ#%QY4pY56e228JmS4yg zE6%|K{2f6I@4+20hap5#7Er}Ggc6+gZ!9zcD5n#r=^1NX@!6!$WN0D+k26A)D2t@7l2mQO0>(eZ% ziz0$*cG()YO~}3hs>kGdL=Kz}t%!YZWUzF7f!@J2o)hbe(>~@nkgP@u?i8|54+*Av znAxlRL{RC)I^u3a%_Zdvd7!?s@00Ls*<%S5~9r$1bGk+(oP zg6--P*-SiV>n_LD66p_)0wumON{0@-H=awc43Xg>tbd1!=;McZ0~GH)W!P13+FCsP zzC&`%`Y4lH==_b&;xY>-+c9ejY%zZriZ@O*#qvSGIEB5-) zCz9~3?{)peB=yEba4EHZRdvpdaoB)dTDQhPhY{zQNu%;b!U#QcV{xz-e117hHt-E< zy(|rhsR`WwmolsumQ(0EbSZ^tIdyWU1?ZdA6msm;Zps%F$C>hNWvxd}a1&<^2NcH5 zF9*w$k>He|UdC~$**X({7zt^xf}yglb4nExr7){$ubqJBNRV5Lb5~^}mU~PohqFH* z`ccyongz)sG*CaiOWgh6nw)ubh%!3fttRL9$$!fsj>%{vymYFXs&xJZP5kZ-z{*g3 z*y*W5YRr(}gQY)IKI0t~+}gq+B}po4FqEQz&qAjvI#mzG#(p}Tvpz&acKY9cZ)s!0 zm$SRvp0V*Y%XW@sk4#Q~o&?<;vcL^2mxJRtC#`|8`nQA%Z6h6FJirDXXMXz~%-iuSjgX-ov2 z25Wy(yPV>Aqk>gD+3jyi|sukY^LlzO4jiG}Bv%7Ik zN^2mIMmLmyY@`o~pSHq%2wk-?fBa2mAdbHN<-yD4&SI+r|JsO!Cm3hU-N*`?#Jgeh z^xc^YjracpFF?@05ZSzViz(2BCj%uf@=y8fdV{KThu=ci-WMd(g@$5UgP=X##dycS zi{*MZAho&$(iaLJXaHyH-Vz=f+O*;iR3M|MlAJlYlqrT zP{t;ds1#WCr)cqPh|k)!%YH5%l@vE*!8JFi)qj?3w8%@e{#=egpq!kPu#xq7oG1JF zQk2XXEHIe**eY&Tq5dHnN+tpMsbzPK1J$?qAjEX%bdZY01-~QHLDY^8p1>JmrgSPR zm)Xl+lX0U`SqfF;0>IfZ6EH!_a3d<0SZcay1DuI69V)H;p)mcLpnPQ~uIxz*txWtd ztuk0Mh#LvS6(bTb!%1QMISv4aFAQ7iGu^MmoiL(14h7O?3q=3`-k@aOcN)GR!-0p-?DR5_l1&XLLCD3Oe>6x*!Y2Oo7X0EsHm{Wp((-KAc&spz`t_-kSb;9hntB z-8=)q`_~=%sv4uS+(rvy@5U=B2>emye`#5M0#!Vy20-#U;GoN2F(ZwX80EWdjW9JJ zVsNMtop^@2F~&n7wsQtnrgC-^(6T8e4cLV!_UCE%;4KiCO)TdT7;^=thBbtX>_us? zQQzZQnt=Ry2n*g!7CB$ZkO3^l^ayQ@y6tZ5LHd~mvne}%gZE~pw_+*lKymVYL!ASh z23~MGAM7u>fYu)#gh7x~ChxDy782;vI1t9iW zU;`-m*kyY?`nck0TLi<%`qJr7mAb-U=Xs+M45k> zYmh;=-Jl0ZN?1@xBFZ-{Ru}S~7h^_DekLd{p(&R| zZMQI%0^fyJx&fU4`_G*af@ENmrqJ(KBpD+ZK) zd19YL`Ahh32NX1u8u3h~4c|=kLL_QOD$K`m_EI3zbnX0$B+*y26jh>G2_muLsLpc%Da06|H+BvI8sy&L18B=cDa&me;=;R0WDzEA?m63Y1 zQ@(y=lS8KV&@)<(Vm*s*QH5BxYAjhrNJmcKdA#srT&#XnfHsoEj-HunTk)aYgBYkU zDjR|)up5F~ugP26#Hw-a2NpVYx-rlch-WC8*HFcI6`o}(+f}4q`#g3 zvmt||Fv257>3gK30YI}6fMaQqaZsa~n6@c0C};q<$&m=kEl2QT;S3j=QD{GT6tFk) zyhU1+e#?>K6lJhS8hC{+)y+aSDJNlnYQ#&*fT|R`--3M?77>XNj=WL>-qS9JAVbGI zPJz%eta;D^zkw@%hi1_+%-;A0|{_QNQ@+Owi53e?*@!=n6k=+ODg~!;t6}6TUupc-$GcR|7{@S z=+HQ*H2O|*wp2+Uba8$~_+w^vESuL}7E_Z9K{Sg*(=pa`u^+4Q3MS8^AdhMd)GuhaBR3 zSocc6%v7GhIQx07#2zih7=0Rsogw0>5WG08c`$JGEMcG+@|p`n4v4faLmc1){)y*L zHyn&A{A2~_nl%(9f-v~5{DVwT1T;A%rg6$~{V2o|#802e4aRnFY*vY2i;4;iJTJ)s zT3Jbe8gxlLsk%$!P6p+ahrMXHAYDLLDcK6JS$Amz75n^N4qv_jNT23SExyfAW0H_o z{1T^Hx5%pCVjpo1B(p7rOWDCy^ryA7bdN_>B-=z(Sn8}(E0cM}F*o(r+5P~4bvuHC zHSP=uNAJ`ujL8wD5mNxWRUNB4(>W~xXt(s>L?_=a^ZlJZ_SkcHtf950pK z7GUgW#NvzFq?Yel>odelAnm*y=BQMY803O1M~ozBo|k+++E~3~yj?>HfvvWV6jS(s zu_*z@jE2`u(&Q(JBP^^_J>EKyj3>j_V1G#OQ~5s+?R7IUF+>eh4QOtK-!Nd^X5WNKvO$3767OvM)UerT<|;%an4j z1@ogI8GVjT5Qg)~QATLp3rm#dh2w}kq9K8`kOf6swnOoc0(ZV`~+ zgv3P_!h0bS0GC-z$X@`-@o~JlEdX&CJGLWdL0JIR+E~&V%Z0M&kXQx>HZy3DmJviw z`%hK-$JnP}H93g54-*K;2lT}84+ijpO0^>9ogsD4N)Uv`mpEEP!pd6!2}I5ei$blm_CgJ8 zu*R?rtlp>?LJ*xRxWvt%+g8L|cA*eV3S=Drro9TQ(-o<(tO5aT#H&Og z)&Vgpx26Vlf($cl;^>wZn)68#18c|076OD4rWjjzN}f}%v?8a<)oxX7t1lV+cSxoD z6t4bydTpRDQtB>t$vi*cAz?+?nEdXDyx)S?cY}Dslv%55IFv$ zU!WWgZLy&wFv(ZW7=c5V5y)gH);a(PYcrf5>^*l}DiiFBm2CzK?y(R7of(ENdmXf$ zl!1r?eM9Ei5{Rj2V!7`Tth@^u#+12^EhyzY-YI?)4LDABRt!EDe=a3(MC#$Ge$Mkj zl-rIhJTxtLPzORStsBP)ezL7CwpZeHLRj;QOJFD#jR6b_%N`_;lr--Z@-6omw|2GILn&XtqIJoYOP;Dp4P4t4J7&r3lKn}2Wg60{MbOs>SM4L@w zOuLD)P32u2pHa+0d>zp-i3zfh%=8n=B1Il^Y}6Y(M7S<_AdiUxu;c=%^Cm(U=jK0} zHBQwdn%9Z}=58T>*lk1^6xzT6u3pd9UJ0eRYRQ6)1RtNr)ALp$zpxO6u=>^{4^L}! zeZ`bOj9f?CR(?Z6`GnV~5Dcd-QPpnwu)%hpWmHc};d`ozM6#UbfoNzsqn|Z9U=4g| z)}XIR4Hoq7I)NCX;2*#`+7S<)?3ueg(aLV>*PGb0jrpmYn6S5rho>GH=Q@P3fiVt* z=5sKyKUyu^PVk9{P(2tdO3XAnnxl7_ekkd9@e@5T2=XRaTnb~mBM*Ut?h0D}DuL$o zA=>>xCJ|oZjS}4C4&WRbVQeI%j&oH7*{w-;VY5iaFFqf}%)HIjJ;?M76mnpc`DCp7 z2@Dc~P63`u7t{S)eej}?v?fv&A9A92q+j8w+0Pn_Jiv67pVQZJju@^-oCAR5WC@2h zl>b?08Mq0sMuM0aCmY+vpJ~zlWQmETDaq0Nkq$bP$gIn8HeHIX(*Q+o!b|p@hKHsR zvsz$CKqM8F`f7nL=$u*r?Z)h^HxNMNIf~6-%R$ttF_AfCa~s$e{oEHZh|?J!D!XBF z34SSBptAeUgSChKuDwHOl7uaQ0K3}%#F+ev{GZ_f!RT`PD9x@Qt!E(;9L$;W=#&5e z-yjeJ$1tB4@qrgm0>hwf+mS%D!5UB=FTUvYA$Mf`q?bnMkuXClNbO2MfFO)Rc% z!wJZhJ12kD$M72fz)CChJ1=7-H*-O3pep%=$$tA&F<{b`u)G=@m;Q{2JxefUNw@(X z4n6P^urqFlWTW!m=n3Q!95NdkDb{6`<17s`V{rCD^LE!;3p1I%SEuPN?PsyOh_Vf z8xZgxf4xK!-r_RoocMq`e2kwqGSUNbBmsW!96q!(zScz%r;%x=#ddiS*%HtLr4?0^J`)i=YV! zo;6C&UPe}pB&yy6&C0<3(z8X%Qh4=Vz;HWUS;PAu* zM7zsX(9F8Z`RY9i<=B}rlld!!czDT^oZHJhv`_FHzhF!|p8uB~249oL^8SEf9L!5g z^rQp6j5;qpnRdwmLBni10qoeV?WmjAft$RWylK~kA~1p$TW3r}s2j6QS` zPt-P*0|jT2K6C)7H6U~*PH9acI#!3{*Y}RYVL=T>u^Rk2L}b*FEXAXVY3*oqJ$k>7 zL^|$AhE8%B`m``S#fB|L;5D-gY9Y#Pj&mqf39f^jfL9bNFz_VXf`c$Nw{2ZHu)VzdSqC5G5OFB|C~qk@$iuBlppuwBcc zDPdy|0=jTgQ?Q8bV?Y)@tSuicD1uP$1*U6ac20Y;4oIlMpt~ zLzhFnP)U=Kn#{ier0?tgoH54{ps;F5czOMD9+YzEf?;Ap^J#?#ykSqzaf4VtJl9n{cpoCLaU3jqHZR| zg<=ooyLoP~m`XTW7as+CZY4QwlD^HR&u z&%UNB?qx$E+$2j#-~ag$q1kn-9$5)bij>`!%Bmsl7#%cd9F-4U55;GW@E4i8*lzpkb*9q=QbxtkB$!LG%xJJr@R z*1(<9U?WlKWRe#4Q-yeiHTDwRDI#~Acrrd8x9&(_7=f%7>}NiRJYeur31;`B2Bxdi z*^Y3w*oy{{;`F9`YhH(=O!5E7TIOBG2KiRP8u2B6AB1%~(2^ICC;u**T1Cg? zPGDg}1aR7Mz8VSgq^5ieipc3;*QA`78cY^(8G&+Tc6IwwPSx1VYAt~)VCMdiS~e?3 zAVi&!kzeb)IY-6J!6%U_JK*kgIE%j~B}e&-J>8key2R;CLQK7W&i9gbWGnZ`F0)6Q zf16p852jQq={wF3mLPY&D`{kZW{ZBQ2b_DZfuwzGKb$rWN-yM70LM9b7(HgJGz2L+ zv?ti%feJ42RGi*oiKdRJ5!Wx5HseW-pm4!Kl)Yg!Q8+&)`qhzvD`o{3GyB}a;gO$ML{@?Bgn81mjWxuY2GI-(hUxx|XV)&_iBkm-=pO%Svq z_Gai3flE!&0rO;wP^k6EHt>D9+0(GFu}`l7iA2{m3k7+><(bv6@9zx zfW}v0Y^ujVyVlS>jZcUQ<|QrUMNh;<+?YXxPO5YpeTxvpO$7lE-4e1%m|f5%+U4Ol zE9dq+q1J;7aQBHGw4z2MXhLL<=6w^Op-u9R{qUbRs_ZKDvVqN8jJ}`^BW8djzpOO} zt2U^ajBu4{w*vUk`_6{&k#QYr+A&s5)P*<4S_8WlZ6rKw^W`uVL`_6uv4cUo!hd$D1p1?_W%62A)&(!jYrc;k+W8ba#p z{hWZ#=Zmg}qHpu|6q74MM`0&>6dLK!1R#zLR|4~?E0K6-H5&1B%$YryIAhiRTc9J> zlgYUI5CG&JI>x8u30XY)FTm#Z5kk=?B6s(q;^#^a_27kW_RE93k{|p=_xL|DlTjH z+?bYi4TO30dk1eErcgbwaMqIP>SZ*ONu@WWbn$`$yAjjZ(JUhoBMoc--j@Jn96Cua zoHV!!p&F9?TbF9bvAk+`BC$Bs1A^xYj)&jl*MA#?CO<2S4oPein;t>kk_6=**_h4?KRhOXuc<5|v=v+KaR>wvt^QI#Wi#5v zOf`y8jeJ`g4-Oc7eC%vAG)Mv#0PID~Q7&wN486kg2k~`=qxl11VVkrRP)}@A#_rzA z;xWKN6Z^~a4_F!tR!R;GISjsLwMy68)R||UMoUUe9^`?ojP#kXCf|sQ(9ab_iKg@% z2I*hHFzQ5+J#uf0+`T-3qSp-)O@ZY{$9Ygog+>=(oEyLpIMbD=NvxO>APf_Tidr9$ z+D{Eip3sRQ>9inV7BQHZhku0H;?OCNcubF_1e=J?-l7*2KYzq5bnhDvtpoD_lT~BM? zqzj@;`)>8>wAHLMVH);6n-@=G{>wXWxex$U=EaDTjDHgpUbeVP5pi*>I7Xlx#H~e? zmAd?P=7#FE4gvS*mF0zDJrG5^U=bX_y5a~gMzrkVbGVKyw>Kmr{YV!zcJd5)yi!7F} zZZecHuOlL-MhfVsG%q9KoX89&K_Fk7{sL?@#@@5=Cb~FS&X8vE+%wKc76Wiy21d-K zlu9;0U@>u+?Zt)o{+K89CK7h|Diqk!Fb)%zB-0Q&?e*kW_s*_u`&4rprV!o=!#~T# zB>7Xpi=?@FBa1DX$w8G^zo}SVB!&30+ij7WuW30Fs*D( zo5MbOVA7SD*RTi8>4|HP89A_4;^UvaWukewmoU#Oen=1U9#B(Fs7dGDv?$@t=8oa5 z2Vli!zkNdJm8^_4-vn&v9pv-3YezUg=C2aM2xm2@%8}C{ zv*OsqUtj{D`bU`Xkb~j1NHTTz( zHzGjc61O^3q_h0RvaEl=zLz-1(7FW(wYNvC#rBh?<>V0)h)3O#tz+CPj!4;pj1hA& zX4RshRFlZO7w4wM#x<|uZINGvV5z_qx3N-Rw6cWUm&MpT&TD|3Sxj`5lq}DgnVI48 z(0?zH-j@!Nl4cBi?s8<7UT5GYK%Bmab2`??N!Q>I$qD+HMtLP~Pv)(fE5@WWFnSaj6197SRF?>Y zt!+86fg$t^?!XvQw=9Ab9>%j2)mRXI92vHf*iIV(E-K#;Pzio*>IVU93OOuu4lDtkO41}nRM|O7L3y&Br33spVbQIrA>mIXTcGw{TMBFu5(ql3Pfi!-+VccJ z@eSVBH(P&SoA_Y%6D6(Lkzp0|UPKqPp0aXc>C)q15R0o1TDty;qwSj4h>YXTne>*ty|sc@lzUeeVH2poAkm2Lxg=j zE<_Yr7^hZ@bSWKNd;I?|&7D$A$aBQo$3FB0duULX`&`<7V~sbM<>_oXO}LcNBA?R% zpICce{5^$p-|ISyfeSd~0iL$o=LpV#2TolA8-Kq(?f%o5mjNAjbQ0=z*GH^=1~;0~ zR6u$2^t6)QR{=_;^D&7~BboX9jUbZtB#A!KXSNC%;_>% zWooMAX^I9xCeWhtIzwav&@{_-{|8t0>p)^S0rv+W_74_D zi?Dp8HQC0?EsrWSVTCh>e+-Ndg48IPfQ1Sw+W>6c5wyn9D8xQi%`paoq#2zORZk39 zzSg|PLtHbguEsB+a-n&hP`%zI z;%a2nx+GU~Eu!p-pq|k6q_Dk-N}}x=bYXNYGv~P3N0=&lken6+Ve)^xyxKZDrWL*D z)>|H(NGA!j2$TWJEkzRS-rcSehKYYwwY^>>DO^i8NvZRc)C$Ktpg;h-A{8!K#f<_p^>cmqIJAygU4YHHP7+EKbA~2&7LCmr@O$i-FdHcs3SsnjT+MMZSp=hUpXnX;gr; z!c!0<1R`&w9ux*JD`-AByX0#-tsyr+#E2CwQ!$WL=uYK&Br<~Q9K7Lh z4-oy?;}Tv2FS$GoY_}LIW)z?!kDRKhb95ap7$78+eY@J0`%J88xsn9OzGpzj1O&EQDUk( z@1E&#ysPtSRZdK`6b~|%xQvT(QxE@<1|31hsO-*4$c>BxGc@jCHI1dflH9MuEXP%~ za*|ly-bzJ|>z!qEo~i)^7=IRMp=PSFXS`vTq2{+66KJK5C6d3ReY~@VBJYKzOTfY{ z77F?mR68o;$QU9*4wHGPp17=Y7u~Fdu${JoBS3imMX5@HK|$>lV{5FDi;w0&Os{+= ze<158+n*qfCf@9RI6sUtWdM;ZGTn#A*(=-&9uC^XLHs&(0Bcy&GVw;s4;LKrOY~nM z@D2gq8gWZZ+kT}IhGqbrWXT}{+olsXHI?^g5a%FOV!R+vKHDQhcp2MzP~YAto3Yui zh=7XAFuk?Ej<96Vm0>k5iXZ8-}K23g7!Q{)`dJO-B~=os8a+T8*5uy2 z9Vg2L>xS2AT5Sb#RBeEvaxZSE{|yi^gh5k{pr)k^fj*Hy5zJnOw3!%wnwVLTmMZG7 zM^eQhG5GO5C9cxcK zwgBeYKCtSI(gphnK&ArZ#+IQ6wCW#F5Qu}sYG6=bq{=Ufw_lM>QHnE(aGhwk`QrkZpt8$r zJCw*E52hG32@TE5njnHP48c?23btvUydA$~)rMeM?UY!~IU)uXV!B~-=w@U&UAO}+ z4iXceBz-8Sge=3f^F;tI0PRs?W!+|N29~^(Bq;J`lPf_EJ)5|DV@iPV)dbdLT)Wy58CY6=9b|wj=%A1i@7iBV{|b zO;r!@6MMY|j9jQ_5+7ZVcA->^9mW8VVaw29zGInup$z< zloz)_Y!~u93Y#~92LQ&xPbO%%o%z}l`^8E0&0CbjFkg zaD^IjKV{g}>JSPj04BXmcF8sn2CtU&&I-D&lx;u29@~U0DOg$ZYQELHmXE;=Z@}1b zb=-BiaOiiam;Vl@Aba&TWIa>VBRgphlKl8t3&E7le!{s$wlG{zW$?XJLcGN4$SQeS zal2G0@=t+lf_WMQ!w~uRCF0lw0siP;n!NPw>fdA&5jC==jpWM!15M{nRUi@kkVHzA-FA zP7Y{1JhKr6mw0pUxFRbxfgPksj+39is7R-=o57R!tlk$dWpu{uk^mqV2NLUXa>Rbo zE0v5CWF8PWsY9uEDD2>bG9qDaF+L=+a1Bd@0*s^d_2A4J0+uevm_$F^Q~_ffz>Biu z6bSQwBIWVnjYbzZBlP;c#4skOh~8@dO$5XmwU$E4#ltondFGU)JnQI3Z>fJ2*ho@mCm% zC*!qm6u>$#7fBj3<4KlqQ#rwo_^R`0Kos%>?q`0x(%u2 zJ57W@RNRkd>yZf1kg>0ROoq>f2P}m~Oa*E>6Xt0{DloT($IFu1_(1#+RWl%ht#XyO<9${45Q`jMZ5Y?c@1h10 z(pc@e4)tC+J?7Q`V(Sq#Wpi2qL$XsfaRAtKYcag(g=T1d4(gsCr7(6j^ z)D?FM3g`y9WH)+xmN6-l8IZ`K5|fzhc$Q9qh6HdyUK0YO)bTvvEqJGLLmbxY&`Q5@ zg7zFmJ)R5>H}W~(Od!+ZBmW9)k0CI2KlgS!WE?=JGtQ^qB{6zjM1pbYG%8Q_5&?0>4r+yULP2ZWOV*V{=Hn()JK@J4O$hM*EaEOu^+n?S3R3M7b|Rwb`{E~epdDEp8L z(xv&0w2H4fNtKRnYg@8Jz2TH`Ewz&nCF&7Impt8^Hd{6tKxvO8S#8`|9~Uyz5# z%2i4D&%hCoZlY@21=vkqa8pZ~3d(K7(gh2e3Qjp2`29# zs*n>~D;qrYF3sG65g424YVSt7v~}|9I%ii@PMn&0?ONAXu29^Si=L3XE4IyrP&Whn zR{hqj49<)XhGMsHeu;1DGt-x9q{57B`=~0hv=VwjO7)>1f5YT`bZ2cXVcL_4j zpYptYI+Hs{y_r}wq8J2b1&msB9v1P0)ZnbDd+K;UVc@AJVgaVyT0o#xMfSuKN)XsX zoUs+p1T{Qcoz~wMcTl~4V?9LfC`bpoz(g{^Azzw3L4k{r*1}%$>b&H>t5nF+UanxX zhFJBTX%aX`@V`>fuV<;6<~s=9lJIDLdPJ54$E!>PQmI&~@t8vZ3H&3LdxbH}j$Mah zFht?Gg#o43Y$Af|9}6HzVIQ(`V4ThKQfM&Ee}a;TyO8*CR75@e5CWz{vf{0JDQ-S9!k@cG*dYEIF^t?1lOqiA#{}sFb1;IS_>qht>`Aur=j_Gh73EJp zX0}dE&q#{-{-WIlY9Tfz;DqtS1cNTB?+gp=7J#pV(iTj4M}X7qF}Orve9C;w>HwRwa2NrQJ_s}OqGBs5t%-#^4EpR&vG)8yH-VU%#UENhXnG%4 zaR#r@(1KfkWOJ9de*#n{lpANl6Q*a6M+t@Op+Sl`OAY(!8y8#T!R2PMl|UYS$VA%Sv9JZFp$Y~f0|L=lcC>?iM}zk0L5T! z;ll6;z(AT`#J70jT~b>ha+klJ!UMlpb*foumz^W*{;?=4zl>IZ(p1nLGXqh4Iinx!?Xn^PjUr26PjM zCH|?1A;__TeT&6>t0ilTOm*kTAvQ-%Z_sc^!q-aQ9|Qn`#QW->>&Qt96tWTKoV z9>WHYPVbC;kw6puKf{JapumGg^%Jzk1o$bKoFN7zly&oAsmu$&)jU?02P%q)B_|p+ zwh@Xp+L4PV#D9a}b>aYZT@`8wTNnKYP;6U`tx5t=U<^(%7<_skhOjZC;X_USp`!lzL5-5Cedm_z#Y zRV|b$kSxhhUtt75GZ}BO*$yq2N5>_dj|om%_LeLcWXqSt+3v!s?%? zv0J)Gy(<)AxrnHi(6Zsd342-ihu!RRO}k4rh;@SF6Co(5IGHT4oWRSCqA)OEt(8{D zrs5s5ZA}8}O0Aw>|D}P2a*waCfU*a2yM))12d=B6D`-DC$iOvhT%1&RhwCQ-(bT`; zPm+n*<8E7c51(~E4<9l_a2SooMQFR31(STm8fW{m%vbV)PlN`JX@RyC*tM<>7jvk9 zn6X1IRgAOmq!|8sDAh_j-z1gZMBg2gWm!r5?eYDC=4xH5+pO$6KD~B6` z>X|Wxz$+LLkp>SE{K}z^uPa!iTktzv03o3MIJi*YrXgE^$`6gt5e{ z?yUpr@hTHg5cZhglA%ibfW0hswZlrH%eOWMEy_Lac^G6$2ysm_4af^+nuOO!D-ux= zC0W0Ycb2=zvWcXOB-Jk9pOwQm384hOvcXm#nTiI!NNF#9PIQfzCN;UY7u&4HlS14c z`n%GUj`I(Ua6>ENP8wTV~BlY(|jt7En4llb+>h7WCo*fH zDNeQCk0wI5_SMapwyhb|{a^>HfJ`fso*og#74MqV{Rw3?je_o`ftbUB!%^R$u|587 zd1lzW2VSJ{IJedyaOiM+A>WTU)SWPg^b|&*Hx(D+#4>><*ZT-4nw^J%JoPu2i53(p z3VIyVTv9~>#=pDHP{mLrhbrZ_8FN`t`!;0h*-2L9>mt43Ig;V)9@U=4 zY2Kzq6Ye4GtJ+OL0uu%)#DlRx9LpuHI!*JNK(=sAl7;wzxk=>%E3)zAN1jg6#l)$Z z-;_#m4@)f<2*TF+8$eJ=#>!PyQC%KHa@^)5{g1;pK0bv*^Yiq(4OlSmMn7V`Zw-En~tTviK* zwL3|12C;B0cp~Rml@`N-Jpx=mB%OT0gW(c=`(%3mocPSkraZtZf1g0GiH7*&$M-8=zJK;M6i{o}70E`WZ^7p8Ogu|7QR|OW#@NyYrUIL9T((z9=SQynIM51lL`x6!EiX|KV2oj+E``v zqb(01iqU5Ym%8eDc(OJ>2Djz9jnAjNigYyD@(L)$7%02&%#B~iM7ppr1>2Ufo_wU4 zufJ2tu(6QVnS9)WVsI5llNL)CgJ1jZe94CxNNoZfYXjgT6iegvnnx_P^5*NcTq_5@8a8`j0U%^nY}zEeYd54QYG)Z7R%kjWVI;A+X5BnJY` zq}V`2(FR*pJo`ztS6`)6HlUmW74VNC-|b6`k~MmG0>`(q+){8P@xq)9J?q*kkDI%mP1Gj z>^yv4D=!H!5VGOJ?4v&B^AJ`-LhZ80R5ZVGpd?MkbPNiXF~h)w(q%WT;P5+k(oRb)*mo7+$Brpjf5wip8Sb#z`yteEvUK=+n((?f5(%ItC#(6Q2Y4JuWi^^7B zL5%<27fn4}zq0p}*}=f9laezqkgqTfwh~{CtOL+~F9f)Yu}6=^fbrnRV5^4+1=%+| zr~p+1lqQ;O=Yi1iil_~~$D2viTi;~QbcW@@@>>S!)4zDTA0c29#_w(g>Ja*soV+O8F$wir{%7EJWMN*~5*W+w%U z5!`}irWl%9;v+Xvy?iTZ8nKe(SsQMUCFRBT9G<4A-8Kw*J%i3=?DNT37^XyG7vI>3 zOizb97v$ne%ZYk$JvV@xtxQ?Q{0>%^HDPVOA7 zWTBD`Of1z^iZc)*`-N*fv6zB7IzNq2o6?zB?7|fkENmB)FK(eoVVXGo%qE5igku)& zeIcdEb+L;A&OW=0A&J9HuL2T)un;Y@$Y!KHI~&bPo8v(0hBqN?elz}HDOTq$nEt_c zn1*8uJ=NknHjK)4$gMslJ&w))jT(K0A-_%NpY0iB|#MreO=4(S4I zipn!&{cDLQpvk3SES!iiVr;5SXlM1=yIH1pQG^sSgBHFbEd(vy!y4^+Y>Q}u#c~Pw z19`Ctc0l6`f)NbbdJZrneas+|STRX9zNEzszyLZ(ObfUV&_wC;FsWBpS>pAGQAgM# zF$v=>iK8wS|KBn4)+td_i$ydH_K_sylh!T7k4{EL`B-lRC`$#Fl14eBMlWzh>=OqEPu%d(f0QQ!Dhc0RUJRh+)v)yFP*rE1W!H^ zaI|jir`bEsbfkO0OA4ai%F%8j5~unPk`Xuseip`Nn? z#HC+Q(q9}9z8_U^Z}2?x;m#ge`F)|(WqyWoB{QLnM#~c6E<(mPno?Onz!-Y(r~AOT zMz#YY+CbiWZ`=(?Z2c?*$JsfKAhwdcsD2q)EV&!r)=z>ZN{N&aDl)jYGLAbJBQdag zX_&s;(1QeE(yo05j>v0*^e_myC_##w6qH;;{*2Fg7#V0*EhA_G%Ye;Kyk-$$U^@&I zDPVUXn3Q9SyO|yEO=yFG@{j*GuwDaUerD{Ztz8HI8i)ehwOki84O3QDIh`RRhM4ov z1R_Th6JFTcZ2Hof;?dp;#^39jraUQhInAqvt`rmG1kerrkNLk25hF{agfAFMh@a$< zu{FYjo#1SgSU`h;R_ReBB}tp$BSa1vL61g&J_*+if^Rdp#LKaCu7HtJ!BqgwL@6iud z7Q=wJTsW{pL$w@_qHNcY@f&*6P zB1U5!-_p_Kw8O#~`_GE5~bki=SW?xyQv6v-PTB|GWXvcP-_Ll&PRD z?~{mCWwyiJX|jg-moOC)3jI%WnN}Gv=t}d zq6I)K=`3}$g~dp?T$u~iTG-$VPFfx=C%F2YOmAAl4wU@hk!c9;ElNfvXwM9hLR{L& z!kTvwg#FW#khtRRe6kY;f006_ z)^`9)ap9U&2EZjkTH$`z*}R@RvCS-KYF7pW`kqLZiD`*GM9&dT*v)?J(pC=o)wDnT z(*)kJoU^SN|6x(0JR^mkIl?$+7UB({?HAhW5Bxx$E_g)y2+` zINMfk96Q#AdB|)g#EI>rG*Po2J3Rg^T4PAsCV$}=~O4K!?90F<5~ zs~P1<^L7TK%41Q}aG*b@i?CGa&{u}S+SGFbDGNKaZmit{j3-jG6VZv^xX@)#JZ2CXPYo6a67|>s#iH@>L`PczDl@9HbceiF~r}@Xl^2 z6&;e{N6UZCo&)f>%K>&C$aFw@iarz5S0(7N?%6oiiBGInN8zl%(lu+^H>GYO#E^rW zM6CLS#)3xcbh;#kJZJ^F0CcmPU*XA5{5lNF#%Rr$D~m4rH{)gp{h;QxpV4|EgRCQ? zn6j%@_7x7qvylX*RR_T26r4zZDEHihqm@#fG8yGmd=X0!ug2&;!{&wz4Nc?@8GSa% zK<|w39s;~GT=9<$4~NUR1lDav^SCojF{Z5TKB0-@oP0YGI z(G!fP2mVpy(m7Y3O_K)=I~#7y#KqewBMrrnl4~i_kQjvFIk!fSH_A!q=%zK{MvIjk zfgT5*agS^@0BTCgN+mh`LT!l@(n>fvW1t!%2|}6>7l96xHgfeGhNAp~KqryeGxZQR zL{Fl}qDgu0iE_3!+g5)vqh)|T0nj&ci^N!)|2Z7R=^Tne&ZjCidHteB{La#@gaoV< z;w(`lUk4n}PmSSWwMKV#{WkdU#$r8qO4T0aw@5mn7W0U)#YLo3dXb>qj>SlQG>0+r z8Mf5j*}-~elw7j)L>4g+>^}XG`pgvNy)_mPdsNx^6$u_<|4d#xy25tusJl2eMelKx zChOOFdOd~l2C*JV&Y6;%#t~QxbYb~mv$xNDVv-{dHsc=c^CN(b(Pb5dRgSy3SEm)? zG!cNCCo(GF7_8E|U}Cx0ds8OhKph9`#BoY`?OFNkBf6+(KvEMTQ@8^jxBTx~s{x@U zW+!H+x+n_K`-A30NsA;RKpKK3@8=fdz^|b~6dYp(TS~a$TvbA)JR4<^+3IU{i6fJJ zJwbU(^h-Ky%y`;?M)m^4LsE`~(R1Xd)px60B;$jhMpW6bo)FpW3NHluN!IJDV<;6g zTzn+7zp-A76i*QPk!+Ie{(flGqxh4CW1>vBTa7f|r3z`KI$sSCoCYMFAaLPrqL?)T z-rBf$-568-PRKw|JtH^gvT6jO7(zZy2YiOvJgQE^WP6%2hxbNnn%4KD5%*3*FcN{2 zn<4u2i!Ba)nL5^*!#qAS`Hm0rCKXxvM-)!B4^Xw(_(rmOb7rmQu@@w4w&-YoCVQ~BW%4n^J1NhrSx7UZ*K$r=U3xX zsW@pxc#k5f1dIqERY#wiI;Bt$jmotGvc#pqKuHv&1uLNyQ71oWm3hSasWgf{jz`4* z%<;_qoW%yMd;zcq48jG3UvDGW!76}iV`PgQK$=9wmhC#(+VulVTSB)(_R`-|u89xW z%A!I*2W2>c3@fhi1hrN7yds%TU~AR_^EfuIZs1E89I61EOD4Tn*lBG$maJUTk>0l= zRm2a-BAe}UbC|-DubzZ+HTwgKp(uvuwN8xTPWXi1GglD+p~Ef&$d0feKtm{;-Fn+m z`{hRvWb?Y~zW+em9L%r}$(Ay30wgep2;&faZsP@aV#2ksQgZSNm)1k}p*B9pUC(MD z6UC1y^G8Zk1;~)!)dfW4){^5EEpDsxL%Ur;i+D5l&I-Z5^7t2HObf6Y-e|I_arwZ~ zC)^#Ql>l!nq}KJ^iWonRdB_Gi0gqjITES{u9bj+t<8&l1z_JpJjw9l*ca69W31JPU z3Wrj~fn@w|;vQh;?a6}>99RRV7=OZ?DDVm>ZbHe6yG|>GZYpjIf`)BsS`x5|H-?^62B2w410>;M6GZbodT&( z`s{##G8tX>4n&*~ywX5ksV{J0%aak9V}7FN{9{N8QTdFS_KdF?hHzwQRQY%YkEDjC z22z8@7FS43H~#9Nuw5eZ&X85s4Z`lWJ2~Zkin1&KR|Y9%OmvZU*^;fx08ydifEMv2lB0>U$lnwJ?NMf-sP{11 z5(=Ib5tVHB$vtDFX)-S7+G%e~cz!Ovh&?MM1qUA5+qer7m=$L!;u*!o27?7sAoQb> zse!zW=fZkmsN{b?`43;z2W!xdU@qt3qWKNkzH0&KjzhD~8DHQ<`Od>g!Do;vad;Jh z8#JCE2d1(%L8J=_90um#JJh|%8N3q9u0AwIPg3uZ)g*XHP_w)0+FZ-f!-`g(Wo2Te z+3!2BDoLlENR)%81w`)z^R@iDy!GJ4cIdF{m0u$Wa$xj|_aXIXh$@vMB5kW_jGW>C z7=`*?2=gAu$kGUDKQYmWbCGA6HO*hjKzai^(i zpQq6bB?}lCXjDbyUfv{;vX9sv?Tz9CE*Bm{nbqci$W*hqRjfb{D4)i|rFdg^exQaH z+Nk!wvk+WCo2hW>mvE>yhDL?{)>d%5;@UOEwh2Rz6&5K%@=w5a`Fzo5g1BXbVor8s zS2#lbycy0b5_M$e1<0$g8U`#%yIHIl9Z~mg-`|T>g$rMRGIgWL;OswV5aD@{S}EPa z3tvL>0ob%pW%&%7Axa3(3voSN?;y*MS5VwEMjeJB_YhJd6k-X`3DT|QOi$~qdn*N~l{{Kau9^Hy&n9gkU=2LQs=U)hQ95M$s9y@x6nkIKH@IVmS<1TRof z4{I06YprHQWn^;aX!A`MDc788r}0?k(I~?ekS9}FYCI~*eGv?6X{k*3e1^MTY#sXu zr(w8pD++Yr(S&Sn9C3;eKpbUg5sS=TAh*N^lpdbf-oA7m@5#2F$EXlNkYuzEW)+*6 zWG)}X1XIMyIMmxFKX#*NOjY5hQ*+uGRzfpJeoaj+78htkAW?582^mIN{e%4ngb$$E z`g}y@4Y_3W$80iuEK}jcdj{}x*7Rq#-7p~zTiqzwk_sF<(VEc>9XCpjR^<%;p2g3S z&@d}0qUU=%Q`F7fgP8@AAcw72(vUl0 zEosrl^u(e-y90tp!4DGC7}420YIYx!r3>*=M1wK|vdHGyplvnUWhfQXLdh9OT@IxV zQgDSgK|VyloRX!I^d%A}U8=c^4ofeM$jDbd$;m_KMh5NFuEJ#SnKG`&sa=H801$Fl z`7;&pH5gd2G2^-l1^3Qgdz3BlwKP>THA9464zhknhvtfmj1ZReQXc_bgJ+6arNZ8Nh zXXhCMuzgSeCPP|GP@rmlXp-R%@Gb0#zgW^VV2ST}D9Jr2`AZ*=YWCd~>silw?a4*# z_Eo?8P>9==lF745$~OVs=M9m9ZL^dz$r%|7`?@o~9B0nj3fHsvo&+2) zUcrIDU+XA}sSFvx7MLA@=~&q+pOamx6|S~4Kd^j7Ete;|i&47Z;Ef8?EtsV?)n8ma z;_b=y!^3z!k&gyZJ09cgayqqoH~ZN4B@=pS{>EYNCZ|o`soPQtW#%~r!-Vx)28X)e z=5FKH>5e(R4B^j}gCnpid*g%^jacuhk=lcenepftz14;}PGDKlS$ZWiW{u|snZcKh zZ5rYvxG+XHje)~A7+^1kLX06+Do2Mv#l328V=x#P-19KLHFdFXg4|ZfkPIu`+32|qoE!BzA41h#L=O`{F-g~Fv@@C2msq4 zY*5j9F@t4>^g#2HHzjg1WmQ^R?F&4<(6-PKr=Q_*r8A`KO*T#i+{| zUzfr&)B0beeB*AAnPzAgNLX^jRJ0Xu3V*8o_rRPgG$2AE!g6u%=n2T|K3fAI`UV00 zC*%klP;w>iX=%y^!h$FMMl{*IQq4UflQ|P1zJnA~kM2*dB$&?-1M_SzEXSAiHZh9z z5sm$3`Kfp}zbtPAte4|ryiXxxB(ws3zt&5JE{Ov{;5uayJf0R$#B{z1D7WT9g2}_? zh}=^N&(xy9X@Ng5qW?bGfXC4r7eWSW2>rLS4Z4n zkZCE(<8G4%r3j6h?^lN6nLF<<(9dCy!W08f0J)$?RPzR2oKfT0zqIlQz86(okdY}u z5elq!mccG5$itZ& zJ(8NMXR5tqVZIk6I!Ay<3Q` zo&YrOx_+Vo+tB<8sTLri$bP^gSUYh1%V^;0YPh^m61_kzu_$YZM&3r{VXO-v@Dc*& z3CsKDVMotdG-<6wYBG2eM_ z4@_AUh6$44+@fzBUz%nrO=)|*YJ!6;sc?x%r@{>gm*6pNPrzoloL2O#F(v{Q7H^D8 zEcH2y%mRuKlUgAjCL-`56f;Ksjn22cDYEtE|Yh#w2<@O(w?&#f$t|LVQv(9{HhTmZgnzx!p8W zV6my1VmrW~X`+U#AqmU<+B0l6B&`Tb7+hD2{x^mYFA0KW-UI|7>*7&123g2qRr}XP zqWtLW9E9e9drKTu=3k|4JXcSHc{|b{4QUOi>SvZ>2tJV~#yv*sbwc#qzBX5|ytZ3| zB1eq|j#3dG2Ww^>9e=h^)+T1ox^#dq!ben%stU;?OPT#;ZK>8X}+r9mf z78)463Gjj;X}_AvdV!#_oDhr(2AV#epp!HiL0NHxx~O9G=2~TXNN6v$&(NS@hYI@( zMppOukdC}5VMbDJxlGFAyC?W100mvJ$Wi${*lr(rvM`6%q)UM`-C`xt(swu{;}SHqF@>?wX4v`z5^_A^k;Ut%oxS@IrNukyVrRe8-*3R{BU`r8dl6e`6l6i5XSibD`$Z3S^t zVm{|3H5=_QUZssclnlTJl*^zH*#dEfco5+w3_-p2U#uqcT1B|69TIhvvqEl-`JbL( z6{_9c9QnrC5as|%Mw(|HQhqNJY`3gWZ$VNJu0C*;+WfwDQIan3KMks^8K*|HX@}9` zjf^8dJVVig>@qOiD5ruoYDmF)G-fvEcS#yV6b^x!WD-GC8a&j0j3~v|ATi$p#}VR0 zKkZ9lIU3YR=q7M)P*BS(ohSZWtC|P*b~<}m3toJDm=p?X646je8+2!*@)BB?P>l{{ zI3-7w5_JF=&2FX(=oEf}#AJ~uJWOeM)wdQ(QNMAo_--N3ggmjQR;$ z9b~v{F}T?a=K*Bb%4%g+oyNp+{{TA?@~886R#j4q{?go>;_fP)+E-NiY!IFy$7PtH zC}c0&(#LgKfV``KYc7-{z{TQcrNp7Ppwq;g5cb*7W+Q?k+OGvjT9EBbBnjQ%O;D_F zi^kxk*|TRr2A^Irdvg~S8*%uj3DM-I!aQk+M^t@4wF&CBHOFLA=puHYc!p~{SMNGo zNdKUUdx^Yh7*FcnB&i|NMWUll2tcry6a}(Oa#b2{Pn#^YH%#(IY^`*M4GUw`9qs~5 zi{#XLfdG>NT9@Y)cfkb6%?ZaR!?ke4pVxRB8Q@juX2r1z?`5lA3EDh2Fb=m7$FJ}7`e}R?jJMc zJUJ;=EJ_&@uMO7=0P&aLRZOo{yaXds<=}4`Wi3BP^zx54smy@)2aVPHC-PFSn0!NdHNx5)n!K675GY6AGI`mr*)`XIuX2Ku3Vy zx0>Obv^}pbr^_g~xi{NpZ>H>36ouV&Y0ntKJZ%Q|QxW25RgwJi)q)F2`F)jBvXk`C z6}`$UTCZqI^J1b^Y%Hq66&8@qGR{ux^F=hr>cyTi`DohBm}xIimFEj7OwJ071541v zk%dVChkRiINt;<=q6+db)F3nn4w=o_f1(Dk-T?`al=9wL3c@=Wz~ERT2PXtM!FQ&9 zopT}Wh7pD;pW*t@fOS3pabd8n%`-)vZ?zd?;QWX@IYLBD)H5B2bq`x>ufv-caR_Sy zYCC9?db8Ids6)XBEf~R(qJ+4~@0)69sJjL!W=V(&l&c}+3`rt_)7L~tjpelTgDN?!3IY~3lRN=V*51@=+_hMyWNK>jPCq{H#( zGamfw#uThYDGH9=V6;$3_JtUc9MzYNTvbuD{uf4pv}x)3)yv&ADKDxuXvl;?z4xqS zI_0Ih@&WE{Xm^hT7B&NzmpjUz(2iP8#P|T_GCyxJJTU@H;0CM7Y?H#i+XWd?;L?M) zum_uA2K5NPRx{MQySPN@P&)sAV}lCyeJ<5NZ~5@}V?g9&@@)zKx(9kIfLhmcsHICVIRN38*D(zDs#XJek+%MEPLW z+hoz@q+l~EKp0(XyALWgzX)f$^bOD(ffK#l2l|L`b<#t#15&%N)7qU-Od3$2YP(mB zv`jVCViRc`CxxigY|!(h>*VKdCNeq4V&fPFQcY5HF*$hnY{MpRIr3W95VYz&8%mbN{$Ae_Mcxn#f*UN3gIlJA8Ar+eFno?ZQHY-dUxCz#gNH7>7pslAt zE`b*9`g9ZHMTYJ(LW86QqA_K@9p6ARQI6g!ITExzMH&{NY=|$}y-?N_v=`|z<;6SY zuV!Cq0)xyD%sitJi9rew0~YqCO7;5;Sve?;Fy4kzvx+2yeJ5=t{TfsnPccH^=+^hG z6dJ(c5A(oi*y5hcB!Zis_#Zu&5;U)ol*+dw_53)YyKj3+D5*3O&>30P>hDsm@XB-LYUnLe%sa{5ij)9fu%$RTQm515N7AV zI~FY*&h}Sm%(*T+zI9k?4lvSE-#v0(ua{|+o0KilU@;iYIU!d8{BnP915-BiB}G`9hNq&PJmcBQ z;4Hp{g3qOknI@I1Yq367nx$GfOPGf8W(?&XQPG#~hS8!~VD8FwK9mj9>Rr7Uf?e8|zlYHwI%XjoxBvb6UFq9jliX_Q{YXSd@AW>a))@ z0X0W2_hHBVdaIb=l2L<7#xiEEtHc=rLlWYyS65C8j*SYZumps>@FOP(xGSBtk z9VJR3G@}?+h+?_0-@wR!=OA?7CdZnXWy*rjy%Q+P&cyBNb_WwqLUM1|M>pzTow!`p z!b(6S1sORZ-ggHURM4e5Kp4#uNVtDozZbY$AP$`f&ARAHjw772srG za5P$TLwhmD`C{XJf%Nbw0c$8<^d0ALK;DrGmSE zgRF*;$b5NYC8(G=O~ zoXxXC+72N|gOCf;l2mlhmw)-t><2qEJNRV{n7~e)` za4sD7))#oijlaV*TYvo5#)sfhlMBQZ1Fc z=>fFpMSD~VQP;ajsu2hRzVvNI6&voMzt!MuMy;9V*(k51x?CtGZ=6zPh>a^oux??*n5%I zt%bFQ7Azi;s5rzwcfcjs0j+X2czHM97#!BCAZeBE80V-0o-*f3l!{uZ8IAECMHJvb z77*$Qq@jY$SQ5hi%SK^D;-mufFS5P&dDceWTos}9VKvN@j@yq8v4;Jj3$<_R^7YlA zn&*=1Nj8*EevQhQLPYXY>?hUnz6Jte`r>btG2!hF5P0=<9Ashgi1%NT;>pJmGUnZ0 zA{rtm361I!nuBZLN#i*IvqIo)j`-gFEPDget$9PFQs1O-Smrc0o8?NYSIk|n!wc;= z3lu`qGalk1jhS*EbQ?)Wqs&`1frn#~WvRx2p&1;#_Du0b43Stl3 z-P=^>Z>x2DiUon4DYTqo+c_~uJ>3lmxO@huvUOfToF%h1-e&i$858~c*h3CF^l^9R zVWc$lElgkCAqFFbbGn~SNofZ$lvI7L^bkVSxB3VLCfDpFmUyOVH0XdQ=cNb^%%Gq* z<#CQ;R7yu#VeXs<^fTc+C-CEr^9HUjNtIam%|qA7UtFcQu?xYEPIl212nf32fPm{C)#bzki3tOcil#sV+qI*lrbWx-WSJ5^tldkD<-O=>fTaxL!IY#+tcdqie4%a2 z$Zwk!ckev9$} zndcOOXtKSz)q6lFE;n2YvgbjS;&K zf#cyt<6@>Zv0@=I98?3AV}n_{O)JL1J5&a16a34w$@bZc;<^XKe^h%PGVzL+dqy)% zv!8Rcmsihk=;zY$)nxSp5V|pPyChDOB{L$$JOpE`sKGZI{(xyO!0n&I_#Q##O`_x@@fHd;!VBq$Ik z3mNB*iUGrcu^9&tJ2mcxH?(;;=x@|&KZ92n0V#^Cb2_kyFo+e@yqDL}UQ~L*pNawY z;DPGU&WC@p`$$;g(mretpo7K>?Z|ThQe%BT`d;`q#RiyRo+G8;q;+UdXh}4ac72!O zOuOS)R$4)k$wen%aVZ9akvRa7N8Ls5VJKf!my1#ij!5jAfRv&VQHszfEO=z^PTnzW zXX|`AXeBBA0vd*4UKW@sygT0=kqyy7K>@%m4qq0$zoZ)p;ZQlqDw#T5qXmFt+n-VS zkZ&jTh#)PUMkxsjC>ARTEEdUvLG&$3}H8nRFSkUx_gd@;ET*Yvbe9f^G zDd`k%pC(@XU;I8#Mh>R}qEMX?YP3C5o$-eYty;`K(wswCT2vd5)w}~t`DF;&#p=@> z$PrzM#fhFjx~fx;;*R=}cOac0J|s9VrSDN!D|CkT!=AZdO%>2TV_fpdv6k z))n^{W4Mu>a!^ov2il++7}i$WB5Bi7+G@P!X526E74B*^p#HF&apnV3a^2 zO>d~ooBA=F`+hMd-tD>xywl-K21ka}d{zRtdSgrpk>ZV6u0x0z;)e0{0al|E`YkG(y>gxlaqUV+Oa}6=8PTogKD5@hN(-IX+>zZDnwnIh0Q^l9qtyy7bWEsJA*iqtYcKSg=AB3 zD?2ldZ(-2|0=qRKT0`iHLiz(%qb#06sYczZX zvtsBoQ2%2z-=&0lIlm5?olG!za|t?RV=l9l5+96^$5GE&U|Hj^j7rL{qI2EqZbxf&h18*FE`oh{;F(jPvD@|XTeNgc z9#WUALhKr6jr3%u%PfV+o)U;ZPvFdTNdIYSWT>;GvDZqB2dPCuO9olj7O4c%Fs}T3j$lkAO@q4< zz2uaK?%J-kW5Z?Z3Q^foJ^a?t;_89q-@G_a=!5E|U>n744`nj5*v0>+@3iGL?R+XEW7RW4G znfXFZ22>g-!s0b!B1yf~GWnqcGve4w5Xg#P(K~qlVdZfWhYBNMt6<#&!fBKlr_&!E zJN^Se6dJgzn9nvJyCCMA2SNnZYn-9oc4xMwB+;~h@sU>d9!U!Zb?g>)6Oqw?9;q!SMD6M-9DxV& zMFBNbS-(#tv-pE8;?WyWY#@yXoQT84x}lJMzAYialBs&OYKnSg{+a=5Lf0c*rqkt4 zf*kr!3M_f*W3@1fW{ZqqWB<@oD~Tryqm>KA1!`UIUkS%S!FfJ(%jQxmvGVBcZD7m&&isIE z<*!7LXQ?*~ws2$C6~AsE zlW7*TgA7@dFw7?#l)T)MDNJ_d@lrOz>KeAiEF2#YFxD;k_$Y_t66){TO-NiSJ)mHgR=@uS9>kE zlmq9*8-9}TAW0>*7$((_x zQlfvk$RGvt2}BcHu(Yc9J0L`UV-#z$xI^#1ld^*k_C{8SRcU^xIO$PQ zbBYV|^YP5REXQGaw$rY1lj{M&p)o^Z&Z#7Mxq*-=7vv`T$!IYfgahz^w)XI}_G2l- z&(zbm4i_dAGR3b>apvp@ra15W*oC2Am${sF~n86AR0da`4A?XRC``Y;n6(G@MXBbQAb zHb@E=hYcS-H^Y_!tKca;=g4HGDZ4R{5F_wiJ=?|ii>1=WmYKM27UC&kks06;_i;E- zq7w_uEsF$pG7Awx*)55(b)A?Yph0!qUgtpIvN#oVRR`0Rv9T}+k^0vQwm$;a%1&X0 ze>ymHz@!9R2Qe~UG;6O5#Rv}#JAxFg1>${~zFe_?gV9)*O;2cOPyJS#&>)>sBanW)IZkPavu94F*pbYx;tfU;5pBML$b%x8-IR zW#4s_N#DD*EP);tN9j$2t1?uc3Tm+^vRT3|BIZyWD*#16y1xqO$VQ3IQoT$98k(=h_;lDCW8*nDBZQu|!l`nQ!Ah%hqRh?2b4{7L3_;@HfG z7D6^jIFpG6*>5O#AWWwz6@+yjv5~=>E0P>cB2?6nbXgQS9ny+cvY?lZb1=XKnBr%P zT|Z8xL16#$$eIWx*4jxp01mVlr|`mYN@4Q0M{HK$bk@EN}>lcRr6Af z+i*W@OAv^_NZ2{eXOS6VZ0&T*aM3v0=kz=#ik>$@xs9Apz!(NUT{*^TDI~(VUYh;I zkopBYr5Nc&v=>qg^`S8a6PI5-mZ1A}O6?>CNaNHlVEf}o#{OzeZ_+*&`0TuwWSEBO z5w!}3fAU*mi_P{E!4&YbSY9D>8a*8l&Peb&ADbFMAgk^m*qxNH<8Bh=@^qBNnuY;%yLfLC)er>QabrP>!^za%vmN%0E|A6ETc*YtB z+M>Vqm;eVrQqaqrAyW|w>Q6YNIIx$8rc5Z-xT{4Z5Lo!Cjkf5X@{9s`DRID5uNz*Z zCKHehk|y)|zE;IFKhI*0RAqMsrK+EyyJpi-z~^lDnZ>nrsHB2{gVF{`wls3N!UUL^ z8t@dPR79n&%D?3#!p{eXf>9uB0`2q)=m{lCmZbDD*DwKWa$x6Y85ze(NwrjLJjw{D zC2TGaIXBjhnRy~vIH0ePS;Y;9O&6= zWB{MT^N>`G1hp40-;D%dBY=U>+fn>IjaMiIoIZ=sec}6QBIXX;{sOVYd4QoH z25$KBS+jh=H4-zGy;!R;2)r<5OT87F5i(ef%-R0c zq@+BkJrWn=!omDngZcVRJHC;ZyG(-n5tqr{pZ*V0&rNyKo5-go)*TV|2njhB9dxxF zkXBvd_GhaWJcC{qXljqK&p!5N3$WPx0ADwjXOuEcU@LmYk=V8kf=G^j;3}-u?|vws zD@w!8t~!Q6?)jIR-FT754Yytq|3BGA2g+MV*knpjJm0Ffv=}`p^L(Z&)g$WAriwYa zCtu_4TjYADISS#w$l}T-B(acG^L$fZJ5kXRd6p)X9$38%x50c!sxiGKc?itttbLfXqm6S>|M>-NT^A=#e)I8D2a^*S@$u) zSB3}Gg1|Fr;bdDyy6kh289j{_WiVgFfWb_(TYIuBz3u{x3#vmJhjt3utMmcosSbb zN{W?}sfYlsR++!CvR>z8E{~H)fK~tu@JZXQG6k$#il%KrJg`P-=B=8GZ>4&PP46&R ztSM&~0o_uzJZH$YP1tK2B-5~FphU+pH-qFElL-uHxFxl4@C*sTQf6h#d48{-q7cCL}BU`n_&nc`Nq9cBP?bfL?_<^Wkv)HAP?vdiJRMN@2S(d z#-=tJiG>kRGTubFynz)CZHSe%QBduIw&*^^?Fe@Ka*0Km`Yqv(V1_071a{yASu#h7 zcImkOwiBq*1o9)e?-arcwbq_^U|4|rQA~$ZS^G_T5R#3@hS*@!_db%4`F2s-B>6n^M6EI;>SK5b9dN zW5o+z(CUq`0y~K45hlENXQa~$P!9(cE^Z{k3=>)LA}14%%n~9dsCK z;BgDE#9JU^p5BIAy&yP~BA0AOsv(@Pj-;3sg8|irOHWxU`nRD_hYz&R^JrXc(%g@Y zNvQk#iBwW1AM@7TiLi;Og9RQtj(ZnQ_glh^WEtGmJ;^>kys}ySo9(gi1;BPEUNAr+ zZeh@8H-GR4Du5yxOxaOcN8yseXWs3-A?c~8F5=eAB%9bU7!}A+9LW;MiAvR?NVQuN@XpAJ^XwP-?T-WBU4if^GC!e17>Ih_QSg_&Mj*&|5@kiz6qMMr(E5g#+U`b zh>!shDMUOhe*AW9IItK4I>AJPVZ`RJFl#lo@e-V@I|r+L0FYe~KZLNslsc=C0=w9a zX49v!l3KI0ZpR>b&KM_)>&A>#iyts)@wPhqur82Tf#H^_Z^-I;_4d^67qu8G(hybY z2;ejpIf@Ng7VH8T?7*%@ve^|5G91BJtM1H<3p*I$Nn9N_x61jK7?32F*h2QH*rIOR zh4z(erND!6NR*4e0^N}^gMrz1&R3!OV65r4<8&I4`V4qFuCrtm4YWi!olMdnWiC&6g^!FV+6uh7t37bm%1Ju2ZlD-oQn6q_>I0&ZI ze4rxw7raN>?jAK?afC+{d=IHFnH4xCDjP$6am3qW5KZe(c#2Rmol zJ<&i&PG5siRgDmpW8kt~?PM@cTt$PzBa-4xmDoa_|JL=;5dtTMDuLM(tB0o!5jnp2 zSie2l{d(OZ^#ufx+)x+;gu^{csJb7(E#v7+3`R3(>*+6{7Vpat9yESk zs6tEQt@3f)p4#A|pwC=`)1MD`b6TjBMm156_(VFZY2=8epVIo0(K;=SF;K7x;t!!E z8#tSr2IEpbv>HoP8tL(1&IJ=14TzT%{+Hm%>LNMklwmj$Q?X{SNCq}#OQdJh0E9oi zK^c*ZK}uM-kmI6T`cND!2n)FZ{OsE0m=lN`|tMI4lJ9}B$&fWLVz#RmI){ih-R^vFk+D$OV)HWvl%cp zr3x?-VZ@u>P6W!8x3Y>3kH9gWpb!n9!3NJVFdHXPYtt)@7Y~RhrM-&Fa8y;-ik^#| z0T&<=VPFN|c3wV?Cwukjpq>7KB*&1Z=Z`;bh_UGMCD)B(^F+~)Mb^+EiIK2=S{jle zuZW17>H?cdR(CJb%oBYui?u5FuZ&=t+Rz_)_14f~gX|!UImck6Sdb zBTH(F=^nXmWmQ@-;ys7425Ac{EE8pkV49{E76=!42RSS)kr7f{8X~Q@W$3D1J6Ks~ zOa&h>f`2PSZXe(~Y{_TP!I_<^?lwhxfFRJMzyW(ZfLvk0b{+vI+QX%Um*HnAK7#bOUQ5HeezHv!Wed<9caj^o27;zQoCJ-K}-INc9s79^(xbsz!UvBLp%9VNm~1wW6Ly)W;#oJA)i)}U}X#hT2T~SmlBEuzY#`fcE zLm<{!vPPJrMqDkBrhvDmO}((=U;O!Q#!KVdv|ga1dB;KzKfj0S4f{iwFQJjBo!H;sLYs&dgbC0XG3KhvFDbgn2=N?DAjYR+1U1u zSr5~z%#5|k@(Vhdtekvy2F*Wyi%ZIn0M!4ytc!ifxJpKkhF&6oET6n0?zG2`>Y4@~ zO3JW$_-Hjn+4xm^R-uWv?<1_hX<`|Qc+1U4RN}bUkm0&XZzuLvHRo%GAe9agq-<8VnQ3t*j2iRADFcs;yYGT5r4T5=>qvw5KurwIAm6 zyCW#k${>8T0G>4jE6tiKG7++e!dqHq)ft3vww2at8W|M%^wHVD+0)4spxL4SD7`{WWbq(8t570$Q>w`n{BDPE~=jN>KYqdUMR%Ah-I!Cqh(E+}`h%n%XNIz(&e2-Nt} zeEuDnz(fw8nG^HOtZ_N(PU7LH#1~kisBTZi)N0Z}NRb#ZAgTbrQ{tJPrLUs%Mz3LbdjTu6NQV?!w2Uhs zKo0}fI6b#~1K>~TuslWb@kgtu^&mhn(wKV=DB$K$cw?tqkex>5A)JA^UHm#nJ=u>5 zOcE5FXJ=w|!CnE82W;u^k{*`Db>F!~i5(z*XAB?O9gcKP?t@UMLUEn>&Ai1T43Iv0I?*O## zp*Y!+UlNHg-cesH(;OOUR^bb$w;qb3#=5I+Hloho zf)$hRiY5YWpsQlSg=ILn2@=5ZjdCQ3IJFp|=PHd;w0JOKYavPIMhtOj;sgrS^5+)M z*tu1%Gza)-{qd; z@y}><1gS53g&c&vNfOCwd?y|hX;35mrpm|@k@qWkATFJRCU2KL7D!C{XZOQO&1}v0 zatk1(O_TLr82knW=K8Nsu)Fe33#sZ?mRXS;D##jr*yWGB=JA}iiC$cXpEAM>uv|kw z$Xgk;bulq9CP#>Z_1=S-;yu_tBViqheFl*ARh z7J}2KW2}JgXH(x&B~r1PIskOgg;+BG|1!}RtlZG=yTj~IfF5LsEV2_im35r}^F!x| z7X|mc&`-|}`-&+S(jJ2Ca~DuwHywBseo!!~Ij|!_Tt>*)D;)>+XcY*Sd)|lfodnsy zRtptdyOdy`?oLSV(-oCc2FYT&dGsYx^iY^c831#>c$E6t9-3t@;>;o+elTYu0Zaz0 z)QJ;`y^9~4qg}keon6yXl-bsjN(>iEZ$qX!8VtlrXSY2QT-ca<<%d8J$YYcGZaomK{5^c z+wp%9rZ=L5Bmi=3Dg{Qg3oh4FPdCQMW{ifSj5$NQyfX{Mslf`g> zA=S?*tD(gUsR`@3_+U*m)2N>D4}^TX#7F(^cJ2@rL*RtyX%Ptjf7?&Xi<%RR^DP<5l&#v4=O^{b&?xBPwnv6En07chbVZmp@KW4XsQiUL~pu zueHFkD%Yswe7vds0<0tmUBjT{w#1BihMgrg^AaPa;r8Jevv(=8BZe4>!nyDOzhtQ$ zq47|DCL)ptV@w=5Dvb)7Et04Qc8h@r(sU)24v$xb0_g0dVdim*6(ic!3p4S;Vr zfpNaj+^l(P$%o8r6A4y7V$p)_Q^(9pH0wu!kzp0qC$8%LoT5@{Isso?JEQ_=kg>_u z_&*Dx<9))nQR<5BGDnhUS{L039&nz}7iNBtHZ*RTzvy+QMBmC;L@j^Ph_4HJ0s z{_q!0D8UWNb))}CZ4!t{E7kvEFigZgO*%;#QeA_b_Fs|Ey~t8(3h)$o_NU$DMr#9v zpV6y9va%TBLv2AO6|dVxaKFxLR!E}Y7qN^G5>NZeWCn4!%b6Lrwtl*AT4_hKJGzf5 z5|pTv%^cd=9oUt|=O~aFd52h02oDC6=#S{B2rxpis&6`Ki+e%Rp95zHFPDv4K{M#d zVrs~=f5ke&K-iB{wunnhhHD#?=kEF0a@>}rD(EI;qz7#+BT=wPwKqopl(|!Kdj&2# zf_Sw98>b(#3`A}Rbb_Oi6Sg!Hoaxatv6q{u=uUwe%iK`y{5l0#c%fjJ4Q6jyP=>cw z-R8|9D6oXv2Cwun629X|d1s0>m^F-s5rzNNpi!s!tpq}lg|etC4mnK@NVw!-8q?#I z2et+cK%NwO2y!O9YC7^56v>mLJEOvy^x+6yMwPl?LdpJt))J!Y6X~d5NeP8XbI#Mx z@NZT{m&X1VA~^%+$AV$&SA8&b8e#X8k2^14wr&s8U);;VNc4-0-Wo}XXWQHasWh(n6zvF_k`?(=}zR!PM@}F$;An zDQxu52l)_n{YCc_Gx zA&9beOzX|#I7Q@%sq8kj&xor5!L*4hn~5hYB43qnpy7uUq+ODEe`#|72m%!K*}C!( z;y0=M^0@459MU})LJ>c>eYN|hP`t$;=H+00+{$om2plb@;$!-5OYlM*9JYf^QE<>5 z$bxc3hqLLMN7hx1YYQJuVQ))5iA>K(@(UR<9VjqPTFHYz!O$5iY z`!F+hqRg!uqtTDb?W>sxFV;*SLE1G9DSa#BqA(JuYn=@WqFFCdtCOK4mjkr}8`z<* z6)4C3zfg=^DP0{0r&C5OGtL*{Xj4 zBHBn}!dy?oqHOD)rbh^^vEx(A50+al@fx5uW?q+z;}P2FYfXBhj3f|ydN;y--V8<= zT{sF7>tt9Lr9;<`A}AvOAfmwhP74JQ0aF~B!UP{0xgH<{hJSIfXg08r#A#^Q!$28| zf-SH)6zmu@qEHeDTafbKFW#I_8qVc=)vrz4+W_v>5OJ=V*03FgeR~w-+A>xy5b}H~ z>K37Qi8*F{sf>%|mpP4gi#(@+sY5EObXz+d$gOIJeo)CSQOFht6k))aa}?s}DJnq@ zuxn+5B({;N3}aack0&ayv{$IQGJSMdZZAJ%i3JGQNOYnA zhGQ-q?~ucQPs89FMIr-z9!1KL+>{%uESTfm8bd(31^{YrGk$au5bx;AtI<{ zZUrxpXMq)$1^+A7Qw8t(AeWB@ypZxCn=2^@X#2bGP&KeapC{x2OsX{@4n8YqmbVWL z4rSf^V~`v=7I&WeNof$2mCLOAk7WHE2}-^0$~234VL}u!*+L#~hV$w<5&OPolofPE zJc6ziC2kq7foI>`ol1~}V774+FDyI$==;@AhBG-P7*wAdH~?dlJL?v&3H;5>N{h z?f*?{;Vx~@9&>ma`C!Fz#pfD?EKLk>F>JipV>=|tItg#{kDoUf3x`luaTF@&cmQ6R z{*z;HkeSw~pXk>vEj%8R9!@&+PkK<2w3OpBqAb*qu-Tb71r?|o0#d|-hitYqAslG5 z59P*Q(bEw5EY!pnCZt`AXiSxs9Bi80w_ya$tb-j)=)$NaW0@)qIv}qf#Q3Z-P!LdA z?OLMFJzHVR4!DVS}%ctav^C8nJ%G-4MjoRFDVojAH3 zVRct(sKQYBQD%b^9|E$$A+8)&^5U$N!-v+Py#+M{0>q3(#T}TNi?qp<5%HQg0ms(j zSOB5Qd2zS}!D>=YNO!^Agdz8eHlZE_z??KAfsP&LaO1RwxRDZ_bSadzo+y-txQ4zg zZtQKLJ~%cc5D(Hevk*|5%jFi#=b6RQNX$6qdkmuIz%h_Ii8+fERyiwN0#b})Vz+eB z9SbMw2gnqO{jM$WAq#{;5`l+}M^4e*OdFRR4xqcARLGsZ3It1-%&MgUW?OSIOt+iA z0s1{bl%pXV>@cB7TBHm29tdsUI;0d_Q13f}+mTud6a&DZdRIMiCewL=YINzq@I|nx zi*>I;FUnG|f{TV7_I?E&)CK|Ro7)ID7`dYKY2RVtmb$JkE|$6)cfi<7BBS)j4eBCM z6`Y`Q!Go+QL|wgs4`&?@)Fu()nAGGIH0+%QBOp~il~%UGnyp3LVm7X9SADdM(% zA4*xNocib^tX0U!J1#+@w^36QH0pHU;D+*&h9tPIv$|4C$Ii9BZnW)+s|eKr3Xv4G z9qVy`i7ALVbiVZ8xjxW*M=gG4)Dj!1%1Hc5#`HG3-7S|YiWi*`CDKX(K=L0TOB}2R z2=-u^h|>E=zzdjN48s2cx}b5_uR{PB?tF0#5aS$Vwxpq3nJL+cC9Wnvkxc04;$Ram zE4>g6QBmvh z0u5+6i98Hc$GPBYvQIem&06w?sg07Cfl@ck7*f71uR?N?<|`5dX7g$%CAe{EPV#+f zO{U-z8#lFwrm4)2R3>26asr|oeA5*FiNxAhrYJHJ7X<~*&B60WsA*3LN2<^9z%f`R ze#@KU(&0q^W6mFgL@OmYv8_0OVa#R%#PF16KndJwSht~d>yeu3jN`wa;5vlcG<>+* zIWM3ME4RpfjX0+4R8LRSpHxI3_E4q(CpKg#J$|?Q-dz96bVBiS7V4W*&=o=C%%iag zYJE?vg}0VvwxArTQs`j!Hj?6C;R&R#;6GK^C6}DZ2zAw_l}P3TqMZBhkUYB66UT6i!2CCp}IW!5nik8+GL#}VIM?DeYx$Y%x zdS+RZ2SKRr^3Hn-ppV(LDQ-P(qPo|&+njIOB4>{K=$Xc@)l*^Kn9 zY?0=dP6$|J<$@Hb0sYEca1NLvogb?(68{wJm9}`8uq|*zVG!N7EF`M?*+%flwALd? z&7#b=(8QNT5=GGmFculiuWjuB0=n9hw=9yN*t(9k_DrMcMP6hs+2)9cJljmK+X(5N zG_Si#K%q>qWN=4&bj`%UjUE&~1f#ed6bNBd)DDL0@l+^3%O%1@h?H!xoY_2sFp$Uz zY1Xryulz&Q(qR4)e&k4Vaw<1mA1ame*i^O2m^6q~yq5Z;R6B4%FfUjL(GQ-iYEeW^ zykVuvqpkUNWmDlU<*O5ScJyD#1WC0m#;}EPI zR1j}Y2!d!gmvS&ZC2a#TW1!rd#FoY7sVV50?sbFUlfr_GVQHb*)Ndl0Q+SoSu3OS^ zhAx z4*~bO>DHENH-(>9P6~Ns3&rJv2aIC67B`#Ui&4Y`451K)sZlTziG1^U-oth7PXIiY zw$XG{i|z||8SDZ7)AkaG=q0(q)WicQe`b2b`!(IYZ@Mq2H}hIq&jL7wiVdg=HHD5P zFFes&c2-&m$fHgdpJ>%9V^-v&5CM{(D3}y+Q80rD$#(qmJ{3Eah!HbgIT4dUD~@ey z?Iince&iKQ+l1NZ*)*J;9{8|X%uh;c?3Dw{z> z>m_lZA@hTaDGiw^mi0D`F11T)rBv&6%PipEvFY_RVPTH{m5)J zvjo08n6@57cz|C$CuS50ArU! zcfpx8)=h-wpfQIpE*KiIcuI3{l!1o@!b&dSD78PT{y;otAR(l+aj}p4`xgoT04Pm^ zstJ+(j;s$mJ0poixYGwKp}h4{I22;Xl<4eIRG9bvy&zNw%;UqVUtKgc3egstUv_$bQMSU>paKg0+%29Roe!wZs(`zkT z``XoGE#966Qm@pbr2hgGQ}T%PYc$@TEF<>AxT@IP)O*G}rOOBVuOs%CC1&&5TNrH& zOXlWlY*l#}1%z%!kAh5-AQ)Jbj31N>fRIRhAWEkgfIYsZ@&*P4jGRr>0ZDuT@fz0w zwm7e>$KuFV;>iHTld(7=0HjsL2h-;nID4VDmzRpxuof&!6ZttJ#8>V)!8)65ok1Q) zulgKo8W*tl3gh|NuS4>`{#yALXM`w8hfwZ_cwSe7%?LPgMZ#&qFX>y zX_I*DLF*O^oKeQEkcTQKImanCW$?eCpVIOSr(9*{=qR#!DEe-fMMGW+!R3Nkac{SE zWzfskMAYqMzZ)x+VN1$a!UcqOPmT7vLZ%S@O9$4kz(4gV2GEUpmbQ1<~CW5XR@)ouHA!gAPNA%fvb{&(P%h@ z49qOcfX?wW!(%EU80f;`E(xD{JS}QdbhAg`@zIaQ&FO}SYl7^C52!Au?^g=(?jAho z=QPn4d&r_m1Q4Mq0u2TL6q zJ1iR-?%kjNrQWP;kpKTDWYDW(y0XTdsPaJcC{m{|9aB*bor;Ylf<0}~jBySkg9U2S z5`YY>q~{y58zlbYS1*vDq;d`pHY$B=!b)0d@Lij)Pjc> z&EC#N!{S)cS7MN_x27SV1mh~5_Yv?&{Fq!@I7Nh{ni#l%Mct~Ohgtw#(M>#6F8s<* zFEV9|oW+j*-8KU&GtDZPP0XS~C}t32B20Y*Q5tg(M+X5$)g!?#i-5?c5YYn3nH9=J zFo;+Ur8~n23I#CTgXD~l@}!m@0W_zK1zVrI;tV9$9PC03?z&;~i)P2753SHU2MIL8 zjiGUP+S4%gz{=U-`7O~O2noc6nT^G)3Yc8P+G^h+BM%oRtmD}1R%5eiW_UsiP2zJB z4npZ^XH^s-Sc@NEA13WV-gEM1e(Qh3POTrPAA9WafcY zJrrczgfp3g6)8dQ8bi$^f=^j@hOfQsvqtmV`s2oP<^VFEt3&PPsxZZ(lFkiOyi0dO zq~3Y*c*jC3BB!SQ-K-OW0p#MgCm}EmbrQZFAvo#e-XS`H%5qo_>S|JkF4h6aG2n?%~OCTiLmx5d>Ifmcv*R2-kZt5wR{qw zh3njr83WPT;=iV38Gj43W=&&=`CL4)0MjfWM)1*(;5c3@+!IF0wXhezQXr8(`6&S) zdX{wzUE70`s@ojf6HBG z)k)pn(0GU+o#R+D4usR=A&?Y8h1PG(Qq2-DWSf!3M0{i~RLTq}g%n^M0{{>voDMMy zu)N*Wz7*zc;OQ4lEK6}SvEiAAiC3bCl8_I_v6s`?-s?m~d$ulocr;VJJ)R;N&U#_D zvm7{k)f%3~4*)2dh@9}B0bsaf6~R6w4sgS4{aLzmTz2z{tp(rTV+SQ9RwmUHTU65j zsJO{L7-%%7DGRhRe5y=B&R%GXMT=OOkQ_zWa313v7y=Z<2_UtuP) zl?~=>)mBTk+uT$Edyv6SjPkd$K~;)OATlg4B4Ow zE?hOAmv_#Hy*eiin)ON$1#~to<5o!{F`o2w5Ay|D0J*8^1sIcGW;d)nEq2FzqN98y zQ5YSt$!VnDHQebV&oVl^AX;qU=`F&o>YvWa6@q^eN|QvkO`z&8kPEIm#e@x`nRLDz zJaexnGgPaP)R4$!7KVy{VoyhSV5rt5NQMi8Z@DP#7RIc9`yOnmE)NL}S(4+P!0hG5 z-o6Z%87)zSdVy{lVBvhkPs`~33KYkzUT%EX6e-g#`GEuHu;Boj%{Ic0WsSZW%w!?J z8NKnKLIH!MusM!5lADgMmyU(uX^mNo#J?vW~#x>!3v6vW?p^<31O7|ZbWdI(%EG-v9otAIcQ z_F_ET(ppv(&|^V9;cn<1HuK9)Kg&LH%g%#N0fFJt$1K7<`awUZ&=uhtef;{v^V0EY z+}}H4pP#e=AwM2FUQ|YfBp~zN9qR9gq0UxVj6u=RJNYq9@i%YBiHevb8in81$r|Bzqi7&dyt4z(N2lp>pNBgwl)VNw?s<_;B; zhJ=L=T%(S62Ts1&kFuy*t%{;(+Y7hNAj=jcs8w7Jqf~c2E<~pb3V@p=Bx;Jd{#}J5 z5y$ykOIJI+OfyMwiYWIBJgV=dUm#U=cPtcMa6W+isK{moPSWv0CuBEwc)=SwBjSi0 zw0c>gvG`$i)pVzLP%<)is|;!Fr05RC4&vZZjVchptO^U=FkXWjx}^MPcOLW_K<;=ZQL(+ZnkZ00&voxIs`e2G&i^x z;G0g)xunMBam}T6C)6^82#$AL8aJ!Azze{xe-}a+kEnh?kI=fz!8N?Yjx2oe+lfD{ z`C|6I^g_hiH`lQk0_dbcHIMZ|4g?K!TE>6~hzPI`{S~O1I+=!-&WX2UQ1BstUt}QY zfOr(tS>sv8af2-Xtls-VJwIE?sch)PcxpFGProO~%;Qg!+<`M08T++{@kT3Uct@>* zz!3vJp~x&gU({YIctVtzZ9Ff>X-;9rYJ#P1}6^9sr+?f~}5Pdzed3r;>fuJMLK zibGmix%w@jsI89V8+<{j^DL&Vw|fao*_=iJ+1(?HJU}r#v0^#t*p0TOVF7};dtntC z%gA72cJq(b%c@c_~WqHO>0R(8)y?Y`RvW{J2*l8+ z!9ue(>g{k9aU5FUTI<;Ai*}_`rH{0f;7`^AW9c-M8NJlifWm4yH@z`>QVPIJ3u;S- zX?urqAr_?XRS<}Symw|{wRt_&YrQsRoE}8eIfaohfc_~;zQnshV$$Ft`Io*_oSOpg zOO40@0E-ca@&R(SK)ykA$&oAx3z-uk5x@Fu5$7#;9=U>I69nH;7t!9WU#C&mwl&;@ zV7RM=yE|kWik%I^dsXFbL){BdR_M7K#DVBJK{CkLHHeE;nyoS$+yxn7E?9x1R6uYJ z25kg>rtb3cz$PCMe4Z`>6Mj7XT1jCsO(A|lO2r>jTgXr!$g}SUJAOGCdo)-(&Lm2V zIo&lhFXL0Whz-~Bgr$a1fV3*I$S_{?86wQ+ZyJmEqW+#o_FK^5RITSxcZ(vo2DQg} zpkG_i-PlO<6Pf0wi-*Y+&eIN?`m|J?Y+He^1-B%oqCTpti1)P!p@}s$<~JY{?rH%B zg@88Hz$uG)0kZ@Z7R1R!cxhmMJqbST&3z)%FSKbT_{)7{d-f;Ic}!#hq~E|%B=Y*c z-q8UWL+3G!^x*2T0`XnSbGI!;#=N`nyNiZFA zayxY|EVv57)()BDur`#YfFZUe@wUP62go_M#wCH$azp(79)2EW;=+bvAXD8{A+1?p zG8w1H7?h{ee@C~khb^|pL%@xT7yw0><`AAWWIby`Yfoc@weq>V485}ehM`6$ZCXv- zSF!Vr8p!y9KF$+ooUuE~!>zz%#zZs2m%kDHflWBkJZ+aCd*qZOTpOvF47^ihO?C{rX~= zDD39-N6Z4?bpoCaI6xPJ{QhO5y3aK!M=|*JlB8#M*!U*`$D5iagK+y;82NPCK5?|tzrhPEX~a4J^yd8In&u$awIAPZ)KU-k?^>r zenXeMqkx>05~_-JFbxx^zvjwF>zf8L8*XFTCSDsIn$8_JFAIfC4k@xuP(f?b3miRZ zY?MQ``;2tK>cZ@e#3HbSpg25od>w~${XD1iaW6?cPM(OVS_hGPu&rcDm+S+3VmI0_ ziM9rGS+%7DHGlNrwjwG2Pc&!f=(tBNU+?*3vz5_>@rD=Qqe9pY8d8GS)xaP`(4zB2 z4iB5)xqOR`cNXa%V;v%^5p|W!l}HA9GUdn=hj3Aer+RX}^RC3y8R`~u>VRe#Ei(xC zROzaUwO|jqJRA8D&a|n9=$7M?u#PD5K;*HVg^wOZjf*&CfeqJW8e_3KVM|nfgnaGO z+d}I|=Kee|X38$LbE5@*dNtJHfRTx9)J}l8F6?}O=_&2&4aQM}J|>knF9RVYpNg)! z2aor$MpQ( zBYXY3jwYAns;8#0!Qh*cHYm3uN;Fs8Fn!+q5NuhGlHBA316tctXqENdvq@drj#pY! z=+TEmrZ+TrMuZVn+rfIGamLa$?${F~P7zh3R1geWj+sQ(L5f7a+Coj@>6VREKoWB% z{Pr4Kw)J@mPYsoEgl zfUr@a3&S~|r{}j&in`aFIIwjma;7w8+2(O-cNfcw_hLl3B?$4TB*F`8$T0$!0s5ClTGGaHA2aH3Y76werZnEn88YOD45{U6iH zNS?p+?Lmm?z+is2V{)OaY4ZXaa3-p=fi{LYzuR4?zZ3QkoE#_S6N&210+{bVr2t5L zDf7PQmnw4sOcS&0s%m1|P`Xdnk(fC~2|GNg1uqnLd~*WF##@C z;$}Eo-@hrlsq|fSwAQr6iFyW@2}kAWkJR;|yIPATy*pZ~EQr+c)%4P^5NvsQA-vcV zSF1EEF63&ntTq=1zFUxFXJgO@U!HpizhRSDdmH*bICq`IW?gHWFhJOsoyYpW5Cmt- zv_M3C5F&DRqQ9dO2zPNCR8vT41fgZXU@NiQV;egkY1lWkac3y?46!2JbunBMD!U1l zK|UAumZn{S524tl;Z@p#V!q;^QjJn;ro&3ri-fja3c>}c$SrnMQ7!^LSGxC5Q0_$y zXjJE+TNAVb-f~7AGpMX3M_yPOKA-$ z%eBS3bF#L$;li+uOGG$3Z(&Zs^|Tu?3t!nlyGmDI%kr*p9#+(yYe*`C>+{{l-gtF5ZZP70!bQ@iZ-X~~B3)JOHcu9UA`}qzfOZdS@`fZO$Pu!m z*(EKXiot$+0DaJ4>njxk`c1Rx`fRr|+Mi*L8YQ8IA!73rU~xRVEtfCPF9kwqN#TH< zjqgj1CN{voY_N z4NQ=Ue3V2;fRXtvIJq7=#p{9WWXT$m`}6brQ$N|X%ESbD?Z93`s8IuNbq7V6%79>D|W z2m~ij@LMYPtaLtRyUti7vzQ98q5;DEqx<;E)DnL41QxWYlv#r72BlEUDCY!lXHGL; z%PvsPA%I};!V${`6FhhZ6O%|lj5Sxr+N)_E7r^O732MJ>kJdF*&C*5ERJqAaICM zJ_uAIh=+n7NNCBt@a&J007N2)DG)Uv4o7JK0_M4ak&3~RF9;V7NgP-{`1E-=8*m-C z_(9f#&__odaOs1F1{4gG8TK|DW+=?Tpd&#HN;4Q~NZ3)hBP>QEjK>-#4D(-0dHVkLA*D3tL4VLbu>;%0;oM6-#r6Qm}% zNJxo6Jt9FwDiEYgAj-q$hrbL>4$c}n8G;$G9%w&+=wXim<^%1A(hOS+8V!05wGTE8 zdI;GF@CX_RzzNU@-3Uzy#R*gjehUf(ZwCVezy%lu>{#{u3Z{G)lBacJRh!)t*T2EH|% zHh3oSrQ%)4^Opw|{#!gJwuo)jze{u`-!1#aAONO|J0IL8|8}3c4Y_UWZ2QpJ2Y>qo zZ4t75$D0Rl*I=!Nw`;Ms$s?FmLXF557Y@4tIoSRTMYtMg15jRN8_j!lgST65+j-k= zD@^NVI*_p&+Yyf|2(zJKE-nj`i2+B6>mgj9!e#S}i;c#Oh(LFMQ5@=a8vt32B6WaN zt5GYgWKaNhngT!%1H>U5$YY%*cVPBriLrH0C`PAhXfO(}4>^Hhs8uG=Sz;uJ%xYzQ zK?q|8;T@e7?1oIESJVS^;5#6IxEk|aoB^YfXEMi0nmpr$fEpN`Kj6S4y#L(*`G#iy zf#gw@k1G(mfJi)EGW`M4Y&tHb5sAXkLSfxwg6PwTokA?(6;X;_lt;noow8sP`(e+q z*2beb%ZdXS9JNuQV^HLF%NdN@Wrd|nKi6c9gW(uD*q1s{@>Isyu0DZC>As^zofZ0#q0 zl)%7^11A^opQ=?DC^iBuC~6&=FksD8bkn5%kZ`Pl6N<*8*2kB`URaGP4h^HfIQ4Rf zr2=AWqlVqiOd;9(v>k3UkB98c&xZ)qz_zD;M!^Q?gfj?}Fp%@lPGtxI>o5A-8h%8C zDR?zd2ed$M{4>Ka4}2K|?MKiRi}rbtZ9??=6RM5Ep(w9FYY+B*o!kYnF2G@`mIg+k zZkWBBix*Ig6zU+el^dFQS6YoC2}Sc^f=nNm0&Auy8hY_V6LGy2?4-po zz!G)=<8{L(Pwn84_eqb;o>`WBx_ zekF*5c<4)rj|hP_)y^fMMuosVnSSu19|B}ho=pZ3OGDj!i|gl?UPvC(L~5)7gQ}>c zP31o6SeCleX|8Cru}EFbivTGq-%qHOT6l1SJ4|*+j{Klwcz|oF&@NQ9gbLF> ztXdsXF}cLZ$B-%MvE&UNff}jtbWMoC*({?sdi+;3^vTdtQ}5P8!U2=`$YoULV2S@W zQ^m4uMh0ZdPU12w)o+lPVh7A81M7NR1M3I@1SZWF51%RuMCquCgH8FELuHSL0?_$< z{5=vpIdc25C{l-&hp7&L(p86^@1gP78W`i0Rys=7m;94}gAF)_eU9pW0Po&%i^o&ZCT zgGL@Gg95CWTk-TN!_+QCa7iN_S( z{3R1ObUX|Q<}Ud^4wQ{v9&qG(H2+Q*;AmtS(rkEgnUwlmZbq6t^e^3BM&}x^Xx81j zd44uFhQzN;bljad#k8yAa|Mlp<6!Uhz-)^J>PVd?{%X9}g5DjApC5o{+Zvw&>cyB* z35uIE@*|wdtB%`<64g1xVMT0;=G8}N+87cH$3oXL=qd)P4NiRAG?WQ)pKnN6+2Fr| zLQ0F@YD&ee+!C3M2uD}`kDJ>nQ3l0BRkYsW#Cg&EsU!v_lIY28?OI?hj0q70P|j%@ zIr(j}ZfD3b*2K#*8~+aSl1e#zn_BZIMdO`JtYm5g>xrLJ(+CzD|~2~UnE zXKR<*!CZ?<;_h2Ch-P6)48p`*f7Zu^(a&;nEdeqHixFKyyVafgK~&XQ zX|`TfU!-}FKTOA0TE zN!eSi!Yd}slOj@lc*45@h6-QbQ_stNcnlPUi`b%kQbgW-W-$W6y$!`Nn5cWYKT{Gw zvlj9FFhTb}RMVCJa=v(^M3lf1xrS#>Z+z70jJ$(5PPuN(+|L4lMuH9rf%WPR(&It3 zh^z`YjgS?y2ar|`W5gruw*0}Jbfx}%3&h}rP9-hP=wIgNrU@d@vuLudywfVi;&;lc}GjA>rY3$@2UN_0|t zmmAb9yuP6B-LJKLY}cU-$m~~0gS7}@Xb`uW73PIwfLWuRd*#j2a@CwxuLmO`lSyIR z!LIM>;Bi_v*OlZ|Fp;vit1v{v+Qe+;=|ZsGqOr)VgIl)7Y}u?^MPS@kDwL@eUvjp# ztb9K>JFmk`YP>+`0Y6qAg z>0mlU94Cwb>>MXt3?Vd%5w_ojC-s*Tzz}BxxqOV&?dGehSm6^C`o%yl%8QoP;9AXo zvvI82L1NR9CsgY&hVmyp*h6^}j_e`4iN|&D-bCHFe3En3GQ8P=d^H+=Rh1QOsZ976 z!%?m!36lcoYBa}zbTt|vpD3qWOqlRJ-lkeMT0000000000CGV>t literal 0 HcmV?d00001 diff --git a/static/fonts/fontawesome-webfont.svg b/static/fonts/fontawesome-webfont.svg new file mode 100644 index 0000000..d05688e --- /dev/null +++ b/static/fonts/fontawesome-webfont.svg @@ -0,0 +1,655 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/static/fonts/fontawesome-webfont.ttf b/static/fonts/fontawesome-webfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..26dea7951a73079223b50653c455c5adf46a4648 GIT binary patch literal 142072 zcmd4434B!5**|{Ix!dgfl1wJaOfpLr43K1!u!SM)5RlCc5Ce)Lh@yfZZlh8a+(9X| zRijob-Cn!cUu%o+wC`JeyGU(o?dIDzwzc-HO9Sm|D`YPJ?{n@g3-Ylumyd6~ zTR!vRO`DOwLz4K>OV(b!<-`fpBq`V9zU7k3uD#elZr_#2?~>T@ zaU0gJy~yc!@hpj*cn0@7HsFF=wyi?`kH{xBY~H$KUt_pQ;*vv>Y_`j;xNz;IcfWbI z#BCLlqA1EB$cV<3FPF50>0b?T~)5t^1(3<3a{+!VgED@!N1j?~z0G z+FW*@q)Li%m(qs(ZRVL@jY{_*f7+id*IsqCl$B!tg9e;HDNSPaIEj`NABu?_#*M~K zikkP>+sIL=sH8CTN7{l~RB3_~llrBD(if$#N-s#ih}mM}V;98h>T2rxl0$>8!J5JD z!Nr4X1}`7HaqynOM+Uz*_~pUFgTEPkchETEI#P3_uAl64otpoP|dh@@&{+svy z^Z0*0_p4e@)KlfD^i+7lo{%T#33&V-pU3M_JhF#-m`8G-a2xJ|d&qs32fL0%`OSN~j#l0+*Y42uj@zxrqJ<(ja zgJmPBRAeYeN0u$z(VS=qtGRGPLY-5O+XX4rp2D9j@g2?e;VO%zN=y~rA>kd($an)T zUf06gyLnq{*sG4tws&;0j<(j2Ce7M#$;wMM%);r6OV25c&ZcVQti#jLrN)l;w=QlD z2AdaOgj1SVzEhY|enEb*w#^14)I|`2HssI-U5cag9w|ou3|*~DGaM2r?(uabVoJyt z#4v=EobkSKkMTa!*;TUM+uo5d4u0jedyV6VuDIe5Q&|mD4_$FRJ15CefazvoBiG)W zVrO4JQsRn3#_@Y!`-*WeDM0c>P6rZ_BGNQzkt8L(ny%kjW! z-XdcTv|u0{3fCx8cx$)Z+0og}I=$xPWV|#z7^qwiJHT^ znkP)0IH7sh;hIE2a{B#B1NT|I7MtpKKE3t8lj_7s(&tM?CaO;!XuiMiIG$V6qfi~@ z98=$Nz_*fuA#G7IXklv&4|mI$P#RPDp>|*4K3je7)bYkZ_sv%8@kZhP zoR6=xBrdq6p+UKihbqvWvaXRzAw z_S=r?pypzKW$UVfN$Y&}Vq>E*X}*=#2*Hi{ZYx2rl_l+%d^xF>+Hv}3C|9ypW96Yk z#!A*YpY3GVvKK|W8c*LW9$<~#>_+33ZsX_1suy3BZKY5D+qe>nvmhyDO)ZE@{hxT8)R}aQI=B%G)?OFb@+dj6u$2x8OoQ_yfH}bC= z-+BFY)_v=aJMY|)S-e zL}0el926-PDM*C+WE_W(D-~4Bo-~jiDfMA>Vi~?K7LtaAlr7blVh^1vS%`4FI2AGI zsEiajK9ZEnix?x?YW|bggbYW2yG(44ah|hgzoH9xaT!Bf2Ddhp|5zr36dy`zS9TT_SEp?_e7#AB`Hn zb?BLyQ)vwD}ftI1l&xkOIvXmkE%PZqw5a^bSqPRqGsb)#;?qpSPH4)+gPet z`>$|SyytXx%_pc9lb$hYs(S2=v#>W~T{WABy3{m=y_r_r6rgP!T0_+g8xfccL3v47 zlBcA+6v^)#@H;`a41fd~Nsgk&7G_RIkMV(%o}^0tP)4LZyK&)Zh_v!Pxur0;#j#NP zkF~#$r>1kXNx4!z}u#ud$xZF;{cbrLhICUb_Ls@zjQEUtJKpw5iz@+iX0~7Zd~@ z=X4}m3WTqqf6M6wDJfv41SzedBw7cWLF_ODG-LDB`ttiHL zRfb5iENVJh5NS?ncGVD_Tryo^M~{h&N|_?9i1`5C)1}LiZ%@@}flwHLg7x3*5C|?tadRy zR10=Qk@ml`fB!3dzsKKO;-C=9X6-K9$Zz~I%0Bu#KajU~JwG{x?uVd}}vjag1(U(^Ua!c+ezZirA?w zj!`F0s+Qrv0X{@)LBM@ozR=zQX6~ThlWHda92ggk|Qq z7t{W}*gc13Ts}Eg21c&aqzg6jSBH85^WLPgV4Ib5>w{>>Q19|W@e#{Mc6)30ru$BY;X=ZMf{159D;S4N7@ zSYYKkpHcW%3**)WwkiuhCldMLztLD28@@(z0ElEr4gh@RN6WEq0cwN8^I?)^Vci=~ zrCADc2*LqzullWMLs!EwL958QhQ8=7w!`KyUUaYvjlPDi0)(T{zJ}vDqNB7dibiJ{ zcT_vrB*!tIf}NiA3&97y+gzIg>_6j7h$28RcPMbvglr^F3yZm!r-sEkBo7BRg-`%8 z0U3zI#0Udo5?KG-ihS# zx4VVR7jyyUSqEpBgsekK6menc>>oAl;ZW;zT74{}6CJ}+KyUG)fFlTjlxj+q7)h2= z?N0$5FwvOWAKyOtQ@P8Q->7*p0l~VhQEN!oe8*a2RIx?mY==c%Q>zeA{YeS&u)!2yR?PzmK<;LE52{ zK<5-~1zyD9np>nP9U)4SoxZJW%35e+)6r~}b^qi8oBBY&=%)s$@kOq(({Ezqus*k5nTVW?WNhzN@~mu=*`VR!4xWG9sG&(@zwMsJ8!GGSDht1uRyIa%sfr{d zM2Cw_7i?^22gc?!%Uxg zA3+;J6Ndh$Q`1?hzRtx#v$eI-eh*w-1CBu%7EiXdD%kr$+5y0gY?IepyXS%Lm58tH zugupyF8gjPvurlL|M?M8Z6EV*x&;ufN=7!4YDm}Y*@He6ui);*R=+phbGsAF9$ zdU)p*>u<&)8m2En&m^R|Xk|d>QoJq!f@MSi0L}y3tZ1xQ7Nvy^{svtcrgNq-pA;8u zZw;w$vaGSecz3Vy=S?^Ju{I_N|olNj=N|)m7}S7nS~3t z71YWq*Vb|E{l{sAvqe~^Iqb@d%r!{x5>s-bt}{+u8>9p@kr;q(xxGck=n&s?s&}y5 zS#xaeNUEZ)u7dtk5w~s5DPC;&4%`}5lU2d$U}ej!mP(wfk}9ZEs4ak#zkxZMi@u#9 z&6hTPlr~}eFSb>>fBg0HV*sahr5LAGJs9tk2%%bX29%U4aG5moEr( zrBe~7^Dg#Thc@1xa!9r~mjUbQ*_^!W1ycB*KbQsf?^*9@fe{t0I-ih7%~VimVR6+Zg>wsyMsdwBYE{M{)2)=Zy%Xw4cb zHhsF9J9e{r(?9i3^J4Dl52|k=t&_%gSVmE#h`>RVwjq#3EDz+kaHDcf(g>#8Gs!|G zm4RHoKa)%GA0!n!-CSs7Gf5+mO!6Nla~am(-kV7kI*7;u6i6o?)HfC11qsy$zfCpU z0PYVs5eh_BPx$)7TETLnafy~1_G*$^n9B_O1MNd^(CBC_9>UA`_fr|O*|KBlXI4+&)gnGIo)!EHSP(ullsEtnGmKN5*zO3flVBf%cr$Z{S zZmlHSNukOjD_54+E@=oE@A$8tF|>Zsz0r!0#;_-HM^Foov&br!qjIoGVY;Fu6#saI zSvYrvG>g~i55&`u8aw&>3zme8cN25ZANpjK-EOPcA%C*E!@|btJazmX#o^+8&PpYS zM4=yv4JTbu>L$$_x+Z(hro}U-DlINcm1YlA*;1QQwg!v6PD^a5v$m+tdNr~wWvRDX z0uhTN8BbS+m?m4dEEu|G`)s$TYEErL{&lF{T|@h&pcV|G7R)4u6maozRl*oUSIk-= zgdiz^5Q9Nb0da*1gxIf@yTZYEIvw{{PN+BL8gmol&3q6x2UcfS-Lb#bbvZ3D_Ox+s zobsv_d7%m-T%HsAuME5tkfuUNY9bRM_lcK4kyL;}WNlJxwAG01xyXGI{Vg~>2JAD0 z|9*%Za!Sr*L?Kuq_5Xcd9)iTMHqkH7}?;bq( z?m>BgNTy>sIu5k?*JrqtS?_NvTrwj0mitid;JbYO{*6PToQ&fg6X(vIc*pS^89JDD z40t(ctkU@D(h|&)+zP^}GljP+(6 +|+&Vdls@0SAya!8#E9iVniRwHu0GY;H*n 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�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%0D0!#Bo^>xe$Z4SmykflG_VnkLvLv4@e#4_y4Q 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�>=olG4!T4BYNCc4f{&*Kgc`m= zjJH3zZE>o>GG*ti+od(?8;3_~`^-y6Vc-7QLko9Ku^3YMaD_M01hvF8H1d51bH-Qg z&rU;(FDDJ`vnPQcsLkm2u>^3J_mzRA+|DUF$&Oh_oso^^4x1UwgG}Y9+56ML6H|6_ zrJeYDbf4FaXVJmTWa49(C+jOw%o22n>f)U!(|lA_N#G?c;Xg$PBeEGoyNtk7d|nb& z23S`NlA1R~aYuq=Ym%jRMLT~X>RX}|_^4SV5%lm}!HJ{gma-}ywawnYfA+$h!DIK& z_U6JRcmVI8I|@BA?$$#`ZRr(Ws}a-{l!Finp^uaG*;;LRp-~SSZRuY{mL-_|)wwRH zj?fh;w0!MdFt@G>)Mp3q67-#I>7?CDiu!xq=&kV10zYqC+TShTe}2C%d1LMD{kp&J zpB%V zqHt{!`YiHsZPSCx!M$0Lx~Y4leVb|}&Eq4ldP41et!`GUllxNHPEJYmPdnS8;|$)12a(P+_;ag~KXu(rZ+JCF0=`-mWjRgwiZr zJ%f{tVMLj&xI(TTW3vp9@hJkAu+F$3ehfIM5tFE_&RJNu=q;C!u_O=$j3Y+5gqD#3 z%;x8pv-_<}WTl?G5XTM*p)+aOMb*WiEiDT^?I@B?m2$!owj$46CYxg2#D?w1eAhOOnCIO0~Db=Rz}~Q?1Uc$ahEX zgAcj$uZDeKjk~FA)?S6erp*>0<4hQTvwZa88N<;CFmCvaxg+J<#@mvR)0~Sb;DYLj zu{~eXwmynPGKC^?U7y;OicY|t{?CFb8J(8+D*AP7RD~%Oh*+xx(AO-a zNi-CUkaj>znwpIwSc=m}ksD971{2Yb55}etv0H;^i?bB{#Urk*19Wkv0c82bOZ(*Q zw2U-uZ-`8tz5nmJ{j+N~ChIV?f^buL8 zt*`XT^z8E2F=eU_omN+5_^Y|(oc@ZDhMl@WS^nYDoB`*~c?Xnv(ZvGC+G;<$(o%l( z#DsC^kx_H^V}1!P$@R|OKX!1=LPCsD8($Snw;erHUI6NhR&T{ttu|Yqj6NpebQ@^Y z8w<<940A$cS^ovzuc3v|-bfg#UAfh*e+y)T`l`CI=q$ccl_0zcre0~ z9K$419@2Du&7DFsZ!ilq)}tW!UTOG5o$q+ueuD@cYM`6a1`!+P27?N{uUBnV8PK0p z2ECe1R2ew+5FnGQwkY+$`;yeO!YF$&7wDB+RdU%-e7?mfyDXQpD()khai>bpwk%cY z+t1U7bM&gEYP~_;UanHebxK%+MjH&^;m8w8om{SFPbqbV$d!a7!6}1MgD$4SAg-%r zOcv8iv_tTSZX5!ZXk9$4vpeLCs7xl9VULXxCT^32Y?^TTK8_Kq@2MD6bVe$Z8tyPk zUpb^#i+a%RaM{SoBda92=sf!VwWUj616q&+v^4a=b#@}yz6}mN`pe);XuD3W)q#2F z9+D4%!%0ZJbNaYF>2fx(^fmN-kNi+|kBo3AzTUZ*)=+O$pfDK7BSwCBlHxmIj#7!c zq;kw55_d3UxH$g3WY;uJk3A$f{=iJNB3Gil{l$9SE~DsqB z04j$X4V*SL(Rgat?vo^yn*FU*T)}mk9hk234aqnPb+ic0yq)TlFfz^}cw`_bV?9BO z3<&r?Y$1d$(g=?{&^QR$LCY!h2|NOiL>lomXhHTrgK?2fU7Y zp??4ijs+IdP{Q zPsimnFv(FbnEjc0+(X0Ny#mB`R{5xUS%5nErM^;VDnj+sqamNDX0HYmhz$^ku0k6$ z6_vr5Ca=Mvrt0ZLB1lv^@ba9(7ehZ)n{iO*+U{9+WFh|J z)-S9bwrJsz_Wnl~FFAVemq)n`N0%%FeHfwl&?&U^{DHBf z_nn2q(GO??aj5{-a$sFfnQZ<+bmh?IuWIw^6eI1mUvEByt{j{%E6V}%_JKP;YXLXI zB=Pk@NZuZpK;F4<#vidUOgx~42V0Hk+5e>;w!y08iNndu!2caYLW1JM_zppE!o zGIlBF02?44!v#xJ`5mu7qsrw$qIKkDMLi@NhiNHMEV2Q%588%)26C_h$kG01H*S1( zBgj#4s*GIE;?q??VY4YyN2T^VjebfUg@dU;G3f0@p4<$aM4p}>a`48AK}{uN?{m2w zq5O2X6v$tA5$E*ti!Xpf8^@2^xN+S0$o)yV>6wniD$^jEi^^uJJdJ*|;lL=8pQ$R* zk(r*GWVEUER!;4-nth3hR=wI5ha)C10j7*Rdbs zM6MlEjZRinlG1m~wlC1B#~w$gzT7r01W)BT!CqJY0=)iz3BBa>7W7XC`y70DY~RS$ z$5Hc_Tep4*LXSfsG_LKUg8(fS^mm}QK)}(zz?X*BIHEf0cVHSYgY-Eb5K|ks-^~zA z=pwh@VNyejnXwQhb%=YLpErpbTvWX-P~|312uh<@q| z{B`KqDAU*_IRFmy3@_4J!Hv18AD9jAr?`(o(5IitG1or7JfU(T2wm7?C|l&Xp!z}p zFYwt{y6*j^U-!7&3qQxNIc3;;OA8s92hJc@Tq3t@6EXYcl1Q%k|2ED!kH-yar& zJm~cf_3oR|Tnb%as7)P}FQpuY%-LX$YSmB-n)bB9D5&Bb;s?T^CSS zZbTQ6I>#u-15?!Uh@Y{$%?9jKjzp_Ftq^BBLAG?u_K7SyDy-PFV*n5dGjHt*Qn%aO?TP*;VdgPv!KhysZui7>Q6UmSS5Mwpnhi`0cNdIVo)lZ4%%=! zzCtyxSf&b9f4o5nNflIs{z6~AF1|o;{V(xRAUe02nKXiq1IX^0%Z)!*AYBH`T#$9+ znMCU{>mjBXE)am8bb?QU2@8AU_ka9qMZ|gp{pdsAgu(pCM_~9MU_SWed34_!lHd1Y zr=Gp_OY|ey*Pxh&id#>dXgwie;HoX(d1UwR1`pi*2$~z2b?e>~RO+}2)?EgQ;C^%x zeH5wRtcD9Vg7RgO6XYQ>t{~}O{F`(~!OnQx&sQ=tv`T=*$P$(9uvc6ps*eE1c`$kGNibUQr zrdYFGZ}Qb<`X*GlN=syT`DD(t_IdEe!6%OFo0F6+?Uy@xYLe!*n*b&$92|MiMf7zC z19Goy1S3FykUbv#Ma}AlFM_#$=p)69AK-^O1xvpCrGD8%ijxGH&jYz$=}^$Cr0m4u ziqh=Vs_Fi*Z$IjG*AILMj9D-Q%|WlN>tHS)pV9-zKZsiZj~tGwxDxeGJU<1g;fI?L zJOV%48-F)ogcM34p!XL+5A_zP=Pw+4;s?x+&Cb4%-Y#He%k{ z3lDyN-?zECac=+1>g6L<2-~wECXVY}eo}oW}bDA-zuF_pgiMXQ~ zu>-mp(M~rbKx4#CHZ3KgiV48Z(uD0~Pm?{mI|f*u==FK%cAMy)8jmWM`{vgM6sLRDY=YjvL7%N;BKkhRvXc7> z6ya0;6X&%k8yd5Q1XtJCvr5yPCb`}?vQO@i5}#8C&R6o`(8%Ito9Em$@dktJyRi?? ztjy;V$b+q4ItzM}l~TU>2^mUI|7`S1e}UNTG_;XeNFq&Bx-?MJ=vG zRdyVi3S#ibqAw<06unKn#A`^>TG7vFB$jVcoETCD)@+vz~WHCnj);L&4u z>|L<1EKA81`FNmDE}T9&ylL01o5PbNa*fiIj!YHhrevK)E-S0xUU*4{nm-re0RkgU<-)t*Z^bJw7OGv^Ep z&EM4c#Fna^JKi|G!=C`9a);TJYSOXuY_|3bAY+Yp-l~=F*ACD1rpgowt4b!!o)+G_ zd3}-|lRnjk2k*V(CWT~CX(&|Q)US37)G6F4U|YE@QY zY*ulBJTFnDnG0msb%S?GX-sG_67_xyxEtT;SmIXjE zyU@D^ZAx;v)v7;d3^f=OYWMPOyEe`&D{i=P#f~Y3rnJ!#Q=g(fdh|ign6)RSPrYYS z-^57cfQqUSHg)fr^ZNFYNKy>i;P8G0Wn-6)&y;CoJm8iVJU%MpJ?)%=`b@RlkbA%^ z$XG}e%E>=<8_nJk0r`r7@_?5YbU z^;tHzuAs1L{IImh;Zb=x=ETXl#rHsC-b5x|{_DhakZ5VmiL(ifp(}UU=5~f$QA|sJ z6yuWbaV_eY{))AF)L4tU(T+Or#)Oa%OYzhZ?|>;T%!OOSEOQMYi>M93)D(5;urw0# z+Za8Hw&Im@-g;#|{65UmGHr_u~_`0ozW5AJE8hzwFj%mK8&SH4z^&6_Dd!O)N&V}{~R~N*Y zn^NUY-$PM5bc@;ef7TA8iIw?_FN!wiFTEsMoyV?Ud{NeJ|L>aS_UmWYd5v2BckN}w z>!=K-m|(@qM9`#YD@CpK|F0T|w;)Dtm7^B1=$C<5m$t_Lu32Co#K>g8E;b0xjb?1w`#bMcpv0|2Ws%mv%5*UKw-j)DEZH>^*wM1I@pNx*yu+c7bFbc)b zKl2KsgD01OUaAhZ$-m@&R<+45aX+_4xSubz$>U|iI$SD$Y`zhIMAR3=<#AjmCbk() zh7~C`WK;$nvI|mt0xbgfRkzEw2c#0n=nX2V1mTkeGwZD(qZD@@1D@NBQa}PdW7rNx zZfM0!Ity@s$2@y%zs4?*VNPspEKKpWo>gLJQNzP=_p>|pG^ZR+mL~eZ)cpiS3>GGG>S#B>ybnRgu6g!i>6Fgi}37#9~#|dAa9?-gh zv9m%%PVILG+{Cp6AEdsih;tYlxNgn9Ml;b}@7}s$bW(!%j@8*E{Y&2gQ{H_S3?~&H zQ2jb;E$GW@5;&Fza;Sttz9}=ornu{=E>Q=3>e_mTw|{d})7yg!8^;bWpX-)Lw|@il z-=OV};>M6Z)=w?PbcWM%8q5|-{gz_ypo|-UWdDY5k58L+{9F1RWgNr*3->??BWF~E zO6%|+NCfmu%y<$059tpNxEp{caspjsmq$*34DK)q!(r$WiKTMGx{hYaBYcR`Aqild zX{?)t#CvO5)aq3)u5W??9I5Bcl1Jp|W%NH^+%h?*VbDnZyden>c<&rJafv0z9PI0x zF-@vkRT5eO>f6}XZ_p$(90*511(4KCHr<|avsAWzJNk6g)!+SYuG8Hzt zLXmy@goX*Xo7aqPC@pJ%PxP9Y=q)^it{gZ3q=)kI5-0VlTUvgH9LiK$cDO4S=Q6r% zFv^hKUb+@N?UGL<4`nRb zf+AWD4jYR*v`(VLY##w63aWwN2za?Xyn5;nv?FhO8GyZi0rMBkY&!&IJ@Cgry;(I5 zeT(kd`O;62{rr#leY9}3)Lu5MuF`DYdiC{#@Qby7d3)ceKfeA#$BPS&*4eH7d}wQM zFbq_I#^3({MojLral(+bLyD~$0Qg}WZjbdQM&i!WGd;LL>Dej9l&!u zAVY4}z&|Z?NI^_K%ma zV{Tgnm@PJ* z^6@cHH*w|YO!M-@JC}nh_=w(}h?FW=Cg}~L1c%JHq(c!EXyW!!ipzwWrBa!oZNJau z)#_3$sdil>=FBONkMPp5(cUY^o9xjWEXg^!3Fr><%?(6Jr{QMv%!J&WWQ#%XN%rRS zvd=M1E+Z8!n{1k+v*UbpTCa;6W7onDrEY06&&l=SUUOXOW%hJ!V=QyMy3v>vaMyS; z{UudtBj)ZuzklwCw5k$+rl-aoNHUfT#4SItM4N6eOLxub71kRS-E{#3JaQeB2cgO? zjF#B__-Lqy63g0Q#gRxcfX{41!=8+6fLpJpol@2`6sXX@0QYQr7^uLk>ui<~x^W4A z7Z2usdoe?pNz~`CM-szpBKuaNY}#xgB;F%#=~IojE^i&8Z#WyUh;HA>V_J`!iloxD zol!*0L}z`;yh^{I6*3c)%G6}JWz~DDw|o|uTWihT*ypg8Tms#(9<<)zvJInLyp~F&wFb|6OwB?fCz zx;NRVX>hqJr)0_9m1{@W+&I1}Kg}SAsvFj=yJ5__btg5CEgKvfn$>UAh&rFzkk{9j z?#%1$QK#i4*&vu+XU)xV7v`p^gy5J(H%%D2YvZJnqPp3$eBP?;6uDgQ4vY?H4FHr4 zbtSk1`MpyTO9G+bfIyWm-u6zkS-)ntz}4eA-tjhU)~h?{N)zBC=zbOM>0`SQ(vjRH z1d4`1M-NZhTpZqvg-U6N1%0OlJYz2dS}$I(1FhK=?;|ZU!C{cmx_fsk zx`>b9J5q+`u0qiR-?QLtkM3^md}?U7qQ`~1@vFp>;WaJU&1HEgJ_peJYi)H+`>;LQ z=NDTi7;m5XTdgs_t3Llh6ZF)FaxtY0<1$bqW(ubcFvCtYw?)PG&U2xe2!liqc(jeg zaKLVseB@*ehLo$}6oY|vO2&`6I${)?o(LGaNFoO&F&%BhlOCqg_(G)j-Bl?;k6ekQ2hygrlr&@mJaf^ zG2TJa#Ts%ArdgfP4l|3$(Uk~}5Jwk9ZV-;18|~0pl!@;-t$d=ZZSD9?(+oSt+%M{= z-#=!DVcMqgivGFx6PPa?k=vgoEf|^Y?bF8#_v2uD3(T~FBUUGuX+@2RX(1dY&;7UtE2cuN0TN2Q- zczV-<;@BA39Y}MX<`}S@G=g?VDi1ItegAi&S&vd{)gcdw>>gQ7rEeOQ|;Lm&au{-wdZJz|r zfkOQMT;wjMV>~*EPT~hZ6CSH?yt$^JV9lGL1drDeF)WVFj1Gpq*jX;d74+zW9s`jK z5JgFRf+HTm|LkCDB?Ko{qNrC{k?bP>K0 z`CPQ6iRyL{`Aa5Kz%ZSXqE3mCgrfHuh_s8!3yHLg5N9rWhi7VL*3`_5)X)=G^Qnl; zw_erOVzA>LsN(GO9BGW+d55H{VQKOjlo|u_Yc}dzaVNJL^*lbk5RGP-{|E6tnE`m( zV_;-pU|?Znn~>EK5YKP(m4Ta`0R%3U+O34q|NsAI;ACV2aXA>6KokHq&kFwl004N} zV_;-pU}N}qmw|zk;Xe>?GBN-~kO5O20F%B3a{zeSja18O6+sZ~d35)T@y3fGq6Q&K z#3;$e7rK#I#HAZC3j?BvxDh4bLd>f1GyD(1r5`2YE}ojHnyIc#hy#b}sjjX*_3A3Q zLx->2cdqy~Ai8-}Kqw|zLKX>d100>d2f05;+SBKY-@SYl=)BsaHNlfE<$J(a=s$@~ zkTY(uhwf_Nf1JH5HglkJ_29cByNdtEyC*-SJLiR`vZ>Ym@hmWx+D%f&8*|-}*WA^9 zC|vGPVmD@8mY3Ppm7*t+{%0 zUe3$xi>^pnz8{Jn_f~|n=1bM?e)SEqa2%j_*)p9oJzqrsHG%rowi8W>&^oC7Z^)$1?lvVE-}Lo@QHl zAL1W(+s+g7l()H$tJP;Fxojr=rqrYT|F@BFOE@$CO<+ykvB!KKV|`KCY0giue>u#( zc{#2C@38-pdEa3_E##M$xm&<)mEhC7|Heqkuc|}82FI1g#NU{8W7k|?{$C5qC--HYe_r`&3)yB3p7Z>}!j{gtvyDj>Y-#^|+ zcb0hCox*KUk_P|)U@|f?GjfE4q-ci7nHiapXUxb9%?O_SCg zYG8Tb;G)Du%tfl8)F91b_~OjPYA78lfsQP}EolwL2G@Lphxx%+urF=L7E`j?( z;zKG!3?Xg=62U>(meH3PkvJp+*@7HG0-@+oVkkdUA3BPHqf$_Xs7}=Q^3>(xZQQ|1;%Gi}-7!k%8jftj4 z3!`1w6l^}W4eN}7$E3xmW9+yToF*0$TfGXlO1sJu7aJ#uv#pL?U9;K|pSA|ErV{Uu z7vkITz*_EF{o1Dqw1kF);dP1Y6ze7usfqpTY3n_N+70Lp{0-en{z*9-IU75OP+}6X zmN@-wWePNfm{PupwyB4NB8f>Vl52DJ=Gj!)mZUUzT6vmlD{ZTh986}CyU13uCp|bl zKAn@^l&()7&cJ1qWb|!gZ*yd(WLmZdZLg;IQJ56Rj<_8)J1kTNbs!6zMadFpjb^jI z^X^RCX`o?gLYkU3xr?|;>;F+NoY zeUm&APr%dhCJOKcB?YYo1BIkQVWE9LdOv6XP?3KTv#7qvS_~;B6qgm7_)tEFuj0E8 z5Dth00RoO-^kDMA=7T^RVWslJh{N(Scv<5S-?4(12l9WjXPT@{TrT)@7spqu*^mu(jy{z7J269H(fNKypn9qXF zW}el_W`F8!6#QJ;B#?vUBzc$Ic@BL}sqj;jC~W5`=K&>EX}AErAi1D#_WVL?!M12F zVlT=rx>|XyzF&DNkSa&jc?o|>e#xTd{l?QEG+mnU%k<0cw(_=)HqRB#6?uC`yR_YV zm2g$8P0-4($*uvqC|$2^@^@tis6%)?;d+Z6uQzlu{viAb=|*?^Zm@6IdsscDo2;Aa zo8!I4Ugs_7t&Ce{1Jj^2jNLB34H&t1D0ggq@qN0!(SBloQNQsn`flrh^IqgV#UOmJ zanSXb)l_*OeP3w?n`vg%gTM#Ep|GKjhdB=?hUvq-k1&tekLthbv&337mf6Sr$AA@U zWm*+h;0fUg(^hITJrh40vLozlyTm%Z$^ke4?VW$5R_*0V?;}v*K zpFy9=pVhuh-{2Sc7t)ue|MD-B4qk@<004N}V_;-pU}|TQWKd@S0VW`31VRP|2QZ%j z02b5%5de7FjZr;I13?gdcZr%P1O*9Vb%j`1B)Ry31e;)porr>hg>XqOA0)YpcQImX zX=!ccFA#r)#?C^p@rPLXc5jnhVunmhg@kw0IK01$Tfoqc zU%OIon{O6h`;xE1J|-*RjT?!vdj8YXsmZgNfjqfHi@3S5~dxXNS36I^m8EqcU{ zbbbI=6OB6n004N}eOCpT8%NUJsur!ZyM{0`)2^f*t-?+mhnZ0sNiAutk!C!w;A6~P zIJq1%Gcz-Dj+q&9%v5h?WUs&f`+k4x?&_X?4fS4EwWfIL|NY0eNkLOQrHH5Qp1Nb| z_Nlw3?wz`i6y+#S1u9aBrm0L7nxR>mqjghvPTfCs53Q#Sw2^kB-DwZnllG#$X&>5` z_M`pj06LHkqJ!xWI+PBh!|4b*l8&OI=@>eej-%u01UivUqIp`ND%Ge?nk;J2A~oq` zI)zT9)97?MgU+N)bQYaWo9P_dLg&(XbUs}`7t%#^FVTC*4JN(>-)A-ADJ+Q|JMD zDm{&!PS2oc(zEE<^c;FFJ&&GGFQ6CFi|EDl5_&1Uj9yN!pjXnX=+*QZdM&+uf5&9^7j6P1Epik1L=+pEW z`Ye5pK2KkuFVchbCHgXbg}zE(qp#C9=$rH{`Zj%szDwVu@6!+Hhx8-*G5v&oNv%nH;ElW+@6LPhp1jx8p}aTm!~61nygwhn2l7FDFdxE)@?m^9 zAHhfRQG7HX!^iS*d_14PC-O-=&kJ1T8rNB~#SLEMCZEiw@Tq(npU!9SnY@Y5;#2{BV8*KawBCkLJhlWBGCX zczyyuk#FNC@ss&>zJu@NyZCOthwtV4_lw z{6c;aznEXbFXfl<%lQ@jN`4i;nqR}O<=64+`3?L=eiOf$-@gE!T;oc@xS>${9h%ZL9tRQr}CdQhTd?)V^vzwZA$*9jFdc2dhKWq3SSoxH>`|sg6=dt7Fu$>Ns`0IzgSN zPEzw~K~+^v)sIQYAx=G!vZc#0DtFl#FbyQaw)l+>nP>$NF zhRRhVHCCST)ixEVP(>=9dY~AOo%#7q^Qf!y^OJfZtE*XE%j$Yo>#Vl2x{=k3S>4R) zO=(@-lGZw{^_H{qeb)}d{3s5cP9ZdQ&>57>c*(e)Z}J0aN4YSvgEESi8Trv_E)GqQ z>pAYI6b)Lg9rO)HgCcAvjMy6%0yFZKOmVyCjatsQl+<1vDX-Tngie2KyQ<^$^HE@j zgWSLynUc(ATDBYIB4=cBfoFGTy592G6$9O+Nuv<^sPfLZ?X6UN*IsRPoS@?xS<^Rm zR18cnFyWwttt1n=UT2u=xpu!Shw1tQZ*0QylIO-F(~|vEG7}3-XLjrtwgnxpYl>|< zsa0h6bMimTwLNcGLNT&~Vcrj%aa8EoBNN!Uo;Qxrx&7@|>j3X0N(nf&cv#Gr`4kM?xn!{Nt&bTY%Qe0*yW9NEy$G~f? zC8uk=qVIH~I4}j@j60579@%~ido@A9?qWjmuQi5?0EtDXOiKQMlw^@$eXRE6V1pvOM#c3e0I`E zjxg=JaoB<|$|Gl-nUz#TiCy%DNj9SKaytcuWtjcFJi*9*;zcxCL2`^oUU_;YMZ9oseIt{oHtd))O##f~=` z3CD$z-5;B%Jn>iT@9-n`CvuOLjfrOE=)R9BJ91%XdZI!Tq>ELu2DY#++xU_RB1cx- zkhKS1;A|K9+U~R{zSS9El4#k9M3<@KAu`B5Y0adHZ^`0;r-o)VC$~8)Wm^tsqd`1s zhq6~VZe7;GcF~?r0?EL3dzB=*q%oz4c_l>5y3Tkg;!Isx^y6?K$C{PfV*&{qEqqQw zh%+w8;{IT@(syKqcB+FkI$)W+D>@M8;=WfBiKh$AO)hWREGGlf#j*pJCTA_AGZ*49 zVn{_KCYJ^d?y4XR)u1bvLewD68|T`_bt@gXwI_~^OnD$QX6jB%sI8b-v7h$9AsbRf zwstCV<1RhP1nYL`iv3+dm_}l_*EWUaK<@k?AKBqBEJ#F^!%VjW$MiaOXv$D-dQbBG zz>EDHe3=)G#N9&M*b*UBCys@Nt+6y+EWUMS4#XOD@kOvn5GoqP3jt+Y`a` zMgLt%No`L!u4Hn?$eD?>lZ+xUJ`%k~Mq+D8v>gcdwnRjUd1V)yXo)P^C5a2dbKlG* zE^bXS*i70?m0Cn9ZH>AW!A1iw6z7{#7&{RdD?wCPvCxr3WsGDPPogq1Ws**Cgm&z> za)N$Iz&`TMv^|p5?QzExMy5M-qDl{2l2x`E*}9QDFi68xZ@yM`S&%N><`z(9!lK(V! zqj+lY^0ZT%=akt@JG>+U63oPEQVmIwg>Tb(D63Zs@o-`=G z+gCB2Re@72bCbur{B_EKIZ^^kPAfL`t}wd3%52tD)0spy&47*($S2%%vwRidv+0G2l%L^T!N@gXa`J zt|{3iv|v+?u%Dc+botAZOjmB{v8>qoR>gsL(Ztooa}Cyry37_bI-MDE)V%p^?^HW%Mek)o#@n%rtn~*LK@x{`ojx@g7UMt!j`?QC7>(%&B z$2(z%6C$@R=9_mit?KyP*!f2mnzcOSf3xk*iLkY|?(A4>KB?eVpR(|~pY^*7*4*?g z7iuep%c$p7n=YKwG2OjP_ILJv zr|{R;w_MiVr*l3g-%{t4DX-1)+0(lP*Pk$(YgXiK5%X1bWo4m2UU#cuC0|F#9w+}p zo3e{ECLB;c9-hdPrMtRA-u&F8z_&ZjdmsL@sqogkKLrw}=ksKQJfF0AyIQ+@d~JV; z_vAURmszsUU$b+a_}ZTh`;N|3t?W9z+T`ZsFFNPWFPo|RGNbavszoanGK6Z-E39SJ;) zNkd9QERbP~K|fQxI71Xe#=<_Q#SBS|9jppsoA%DNoqzQ}Xya<8aMpEPF`_%P3PK;O zidfk;HOt{j!wSa0)7!RN&Mx@u6sE4sur}2@?^ z8#Wv}By~Bf!NfsIfp-F%2lJARq1+r0sD1m@v?tOIVa|WvB(^#yUwRlKiEL5%B-7aSVOdGDE4Tz?STjD?ZQn8?U@X)9|BYs-XttGS%G6k19) zHZZ)DTJoArfLFm`7aNe7Jz62nVnrKX+wfW(HgQ z!I6O0K-P>G<)&^!fXB<6<#Yj5Ot;CQ^kxN!)^r`A$jGp90LJL4HT(bn|35uxh-~H3 zkzCt$Y#@RIRR4qQkYX0n71<#4F$ZSDx}G=GREJU13W|b66FWM;(5@0Om2B6(YIcaP zWzq-i(r%LvMTw{f-=J$XKJTMs4>wV%Y>IzEVU*kol6B&ET`u{Bi`MzTSCT`uhLOl5 zt~eBSBcJhkV6?(U6(2ESP2xC%nCPpZg{pVyJ$xt8l!7p(iBx>7@G>tPicRz-o?;TS zAc%BXBq6BEkdVU9HDh8E%$lNuTspY;0^V{*< zT0I?=4BFN;W95x&`CqzjGwkDxzT7BR$%FRokJR~({TJI#VP`7_uLYgoPv)q!Qo$#( z!p1d-hN3+`gy+Bi>und#soPAyh@A|i9y+kziz@VAR=x)E7vLBJ*YNz@dMkQkgE3$T zj8P+Mj2`SSl3FmLwh=9r!bX)6X@Oz|Mj|rLJViyts1xlw>+~XZKhd21+u7X|4jO{g zQrUr8>PS+t9YoXnw|J^qEDbe+RCK0xVic;JWzW3kSx$fJsdGk7L@NXT`t!H;^tSJ} zF$f6=hm{!5q+o!y*#X)_3n-E%Hez8=HYlKg)ff?2vo>c=SH?DLF4Z|*x~O&?AM2r- z>i?`HLuRygz;^l&ct8-aElRjxN3fUKchvrOTM*bmgTNFM1i0li18s9jJ^;o4&uQ=3 z&lB?)9&iQ2fJP`XVzs;47=B2}T}qW*l(A~vxvkvPM$Kj|ehWbS$MeM+`e$bkLZB_6 z1yp$MC8?@#Rn>K#jBRBH&Itx5zxuMe0UYAxJH`R%KsV40bOSwbPS6ADvicnlFJB*3 zIKY4nl<#ulhQRRubM~F{SUqRguY`ocNC*+2of_?k=#>^~lo4at*^ZFhpJdmQUomVt zF=>I~Nuab;lyZdEKBKy-?Z9?>M`GBvv8hxsD(~^qX4Ngtc-Jjy?Av>yj4=YtXuz<* zJ_OGwk?J$`Gl1bCq9nOG1R2{I6>8Of|L>dZ-#T??cF!L8mGY?w86}w%(Y+h$gu6en z46tOO5H%~Z6aoMDzh+hKdKIkFjacGX96ah{B|v6ENKe8zo5Ki?`f2&=N3Va4d&C5< zTh+4CO(Ua5T5AU)UzaBmZhQN0CXqL#v$Ru6?Sdg;!$I;D0G6^9#F|iQrFKE^=O>Bp z*z^FHmAB3Gw5`>DRZq~pm)TC2skxo02vPaQz=Y7tkAe5o`pWhy3m+mxeo!2ane3`C zrp(5-NlJ2PFZ8yfdJX`%8MU06L84F+A-l!-n`Ow0lyTvk@*rmTFvV zY-FT~!RYn81tK{T_w=S^yZ{QYh;(A@xtZh!_22qXZ?0Hk=+0L5j4 z)ac;E0U-whAO`{{jdhec<9`D(4Qfn-G6QlQ$aUmeaxAsZYR(xSB$r)XG~tAogd3jm z(O#Tg7&;qd_xGk+r2s{YwAN_nybq#T=knXiFUaxU|J}|1e>cGH21s=`KnVaT5ddYn zK}Z59&Hx~(Z8k}{brjcWv`*_aTIYxcWk89u1T{`t>!J%X<7^h}Wm^|So8=c|7vx6} zE}PBGU01KMXoHd2rH9%TLV-jG3BmGEdJxM3iX`c7GUo}b8(@F}KtkpJa5sQ|n#}Hl zRf5UJu~hFp@n3{V>*Gl8@sBhI-TTax^L z2`~U3PP>N#-~+9HH{kQ75mV^X%0Np1U@;iG2!rpQ15U3uYY@C&;m-kpMeSkjB)}}= z&#T7QzkdY$8%knBF~_JFfU2Ec9k#^}%|6`oPj3s-dTb!@@ zVDF5cGAKn~`~v%Ht%zb`uD#72=x{gsxdZ*bjJF6e$m%vb;H(>dcEJB{Tf}0w4%aZ;+rPsxd` z-jM874pGC@vE|ubCl;m5*h1%rzXh87|mf(IBA@oeGB zL~pxL)g#C}}arC5MF9cV!wjLDJQgya%j}N?jIBG-b4iAj4<4 zlEld6V)2wdYCw?`rrc#!cM5fS^8mGP$|KL;TU7~r zGdC(KMe+k?TMtAuM`}U)(V`6};X3c08ROF4%*puFg*dkSU{}8fMilXq9rI&rPcE9T zzB&S^amor%X-^m|wpP5=)2rRR^4@sm1T#x+H5Qbm7syI#!In%QdwX7_6wwi8vw6E+ zPhK656G5Iv(U!e{&jAe|=E(Cyny@f~eX+P$_egGmyN-FQG}UxU6cX)Y0VXB|d%#+M zbK^$0$;bPAa#)N;8#RfAw9C5QQ0j^mA7(ZDg1N2_4qpLk^Z*Ct+YVY2v1^#2?QSUP z@(J%8p7GI9bKE?YA4U0}C!9JW0$|BZ#Yg#+Ip_JjYii98Q$seK205hq5|klTUb<pH62cdHjPyA-yyO8WDliCYPmV}O>Z*bfIGH=i%hY&8~%-_ zq@A(auwN1)?L-bdpo_%LJnmB`EE)Z`1UC&YSOZ0rIGt{^z8^&^Kl7YC(^uF78k6{qCNO5CR_`RLNmIW?p;cTUQ>qM!jnq-G z)M-DPpgwEfJhBvztR0BSDlKaw=~@bXZRd?SzbK4~E_->*%#NwuknyMOC20Olk|j$s4B%)(ygq4GCl(9FtDjtP0i)u5UIbf5ZKkF+ediC9-9(gyn2Hxg}K&H6kDgRvavqjVanh~_ak zW}S>jwn%N0Wt)hVrnZb(NrE5>)ZhbC%5SC;8V*~T8mhsta#@VH*V>HwTtQ?hF_stw z_S=x`o$vJrtJ@e)7)o!=y8H4I0Ar9*X!e*PQ)xZ3^dIjGn+1)>*eww#yx>grdf|lT zOGFd|y@*2uI!$A(~ZAQzG#?NwLVKhKmk$yrF%^LlA+V}4 z`WLN8Cpy+i8ee7=$}H7G17f5BnVM>&L0qHGh_dxe;gqj2ASv0%NRqh%VVIc}wh4kg zuIruYPAFB$I}V$;vvIJ#o|W}%apTV6(UN34Xt3MSGhk;2tZRA@jv}ok<%QPgyvr!; z^EmwikXTsIjLb@F1z)dsvu|C~o}?Zi4+6Zm8cOLnVKmw{q$bxeGc!Ha1_e2u1u4pQ z%$~0Gz9!Pz%}P*K-u=uP%c3y)+gzA&tR$|ssYvSSSrCXZX|}#O{~j-yX`_9sw=^t& za-`F6)w_VEa?MxAbz;vIi1}&UofET0w6Rv&Twwj%)$YyCPM*ueQTT13i-(oa zuABu_$-UL%eaGoYdH%}Dkz6icEz=!q@UG18#&iF{bgC-O_%$SWj44gEFRSNd(P*dSWR(;J5~Dnbn-~(&xmc=Q6j{gMO~} zl0n%BZup%v+w!?sJK)IVEk>MhYGl*SFiqy3_2nW>JDsr_qHqgppD^{+|!QyxBPNU-f z-m+TlL&$YrIsORs79ECF4)p)nR4;j;|br2w8KMh7-DZFNw_NLngHvsG#5zrM4feTo4d5-gV#Wn0JMx zL{G~N3MMhPR=U_#c)M+f>sRRPT*}{nnE?6IjR)W9d*s@3JR|Fhyt1Q1=bVcvLL#;W z7ZsO*+^`OMF+n6r=r>SpaMs?vF;#eDEQ>bHo=f$TaQiBYRX+PYHWSB)ugsMgJMuGlbWE=(Y zs^V{UXYStoguz`1l+RiP5%vb5VC1!`J$CvHO-16gJnT}*+K(LL@QbEwUeI7Zr|~1YSF$1QJ9~v_{wv0 zdFcKolqdrNj!CY67*D)7m)n35Q?GC8_ZMX3ttWIM6c?M1`)SFu*a0BUnb9>r**B$@ z(e1_QND`M?)U@x0G?Jj$0Kz?P%!2oqB8y60W~Xa7{K@n-;?rlY2;@k8BbI%;{t}G}9o?sshTPXe5E?;6$;c zxRe*E|LaNN`R!0Khf;N^ZZ^%2-aK1)_&8E`ig6j^<8)C;oTQ#%APT-R!e3SUT9}iG zB<@xqnDHK7SVwZ_4g)<4n4Wi>MBjBvdawc79BVVXtej9q0Cuimo{KI|QaD`&8Ds&k zizG(#8+<AVw$aL?|*SX?ZT2nR86uu}%U4*;xY_p$m1D)CFatuZW_|p2?*xV(a4lKCA|o*hG9Ie3*8kyc zRqjB}l{*Mj+%BHe*?G+qtHN(x+m!t$2^t-3$FX_&55b88nGpnGPCGTH8lgzP??BE0 zRtdRVKp zFtkxy7Zt#s)~_``-I7G{a&v|8tUjzv%AZ7Qr3pYpJ^f5 z@y|2>2l<&MmWu_pqvTtDd)gv_`Z6oz+dNCsnF2sMN#;RYRClO2h=(QXruh-3y$ieU zY0p1kh~=ij{MrXL9S4i8L`fzg5{%R!PX_b;Ih+RB^8OeZ0p3C02AaJS0*?)W8}FzP zZ9DAXr38a0O7z`hD>cwSt1z(Zm#B58?~~b`K|mxsJ+FWl#rsbFbSrx-$<3~#<=EPY zO5)h={6-i zVdxKkACeuEGyj2{G=q@(7qG$3D<|E*F~5_hD^=v!%v)2r`n}tt{x=CSD8+<@a&IyX zPcf<4!K)o^vFfcYu55*;Z_p}bhBO`y)j+#6zs}}sbG)f}h9OZy2>9&Yp7)?O=eg=1`Z6%w_8i2$a=9ju zQWI!fz%{UdrBVqymZ)EoIv`X!gZL{=eylpT+q_cV9Y4YqG1jhxn$HLq^&sI~-su}5 z5ZsPnFz?Z;W#x-j&aQ~mdmcnaZY_@_`71nkpkEmga*&6}`Qju-y2Dzv>zjNphJ^OC^{DZdLmBWdDiFQ@p;iaj|T!%M~ZrSZzK& zRbAH%AFNuj2z5!>G^q;ralcEVbTOZl8J?wbS-p*Tl4;9LsaJIW;yGHzRuN8b2&2(o zes|EI!hK%fP;xpDuZCk@!TP95u(@&8ZxqAC|4U{)Ss<6p6?4P%56|av_BibW8j>h$ z$tOOJ)qxD2t2(9#qcN7l_{hZt6S~@mjVwZckrx`ujbPu{n3s($zV) z7wjfs={`H|k7x23G$}{<>Qa-UY6VRxR_Z=AY76;@j(2wJdI?GvDy>dE0Zp;@n3jSm zQtGi$8LEzcjg6v`9#><2 zFyMvd=KjjmR$5ZyO3e3Ml2;1X^DW>?#co3+s|u2STZOQzT+6KR$*j8)55IDgisokm zt$Ky*AoKoHnvL?;5uJ>5yR_Nzi-mD~U&N@CgL$o8ssu;MvAv@l9AVlUYb?h#W&BLIyHklQhXwn?z5t#!4T$Y z9;kSLF@C9$Tp0(Hs;SD)kxV2Y_3Ogx`?|iT&FzXh7JY|sk_X5`+%}t&n1Fb{eZdqD z^`N*j$;pt^R-3I>m)<(>q2*P&cpyg>uAEkm5FhGXe5V<_!aP`UQm95P!h~V!3~ZUn zJb#l^#ZQrzVKZY#ShF(H(^_}raK>o9G=%NU{7Lj8ojewe1`9XBIbi!qg4)rzJ5nM1 zz(u4Wh01{iOl%TEF%=h^X?GgT9V9&?R1nhe-utCl&aF{_yLLJHaMtYUt}ppB9kajrpB)M4H-`kF;4K&T~|cmwL>_ z6N$*q<~TQ)fuKlB7LwC->B9;a;8YpfDcZ{6wgS7hb-TpNMA2Zo$?1E|Ex){48B{e( z;E(`-4SlZU%Yo>R4&Hv$I?fSwa4Ny|UgGE_2>j|xUNSBR1_QH0I^C+%Z{Jl^ zZluK&so$l-%s+2t5&rS+R$<+?GBN3A^YfSI*vi3BNbH|n%5NOM1TeRa(*;Y;ly@+P zuRHwJS8wnoJ3gawN&=32At3_l#!bU!1@ZU@1jjJ@h(nNNqBjbLdsP%6{i^W1Qahxhn^0@qJgex~*H(n;xL_>woo<49CLf2cS zXleQ$S; zk<9RONVg@QZT`8RPZ!lqm=32Um7{@pLLll_&SJ##(zwfN`7q+E>jW8&0r`oJ1Kq*# z-W3;27@6h-^FZb3I!VvqIjV|qige|$4f(VLU8Z&ftm!fSAg>BP-7T=Rxi45!BIt7@k$f9_eVE~!h z-*DOdzN)>EC^Ns(+Nl~e?`q>H;cgjw)OA^WVsz2>kDb9O1tuNXICE73jV+PY@a+5a z8J);KDr{SvM-MMmabeN^3kF?5=Lh}!?t2=R70Ldg(+vy6ERVAT#@HpOH+h|U<0lS9 zZ(aZI3jH%hY~}tIzyBWVuYUz7Fc~p! z=Wv~)pIBZDrZQu?#zYy}W}v{?47{f0k!Lr7{-Q`llURH2vx z8$L7N$0w=Pwb4X#SzYR;=l7${OG#SqIR?Df@Y31Q$98c`Ps|6|D@pFW+`n97xiO>F zJ86CGh|#6<=OKTId%1vYiq=}E3RV`;T4Uj|*9p(g;wrre>TtgQGJv|#`ZAa05~zTl z>v@Vm|AxZF^OgzcCAEEu_4i-M#P(YFh=MwAZ<{6_7PzJYwgfmCJXP-sV(Y|C&uGr( zA1NxPeV1p(=|ij!ntWjjvfR#D*JqrF0rk^tSJ;Xybh9S4n-l`#Z9i?7$IRY8&h^L3i&V&iIETrTp-8(BG}3-wWOa} z+0YpY#nQ>Cak$Nrr(nux!*jE!K>(k-5(n5S83Z-QYFLhWjO#&$3}7;X81qbY0H4Vs zL}7#hpcal8;0&pZMTp%7gt{e4N=6DuFisazKV?BMLmr9%+Ze46%KPQyLBBG<+;2Dy zRq7*JW6oXzS(1&Mhb+J&6t`HE0!?*63R2@;;2xkY06q9*-anLDmQW z1VB!;h3bDmxFa?syVLOJaR~eNQ4YhvQX*3C@>IIa?gf5 z13PIP)$$;xClq-tg^nP_ria~G6c{fDWaj2RL&#S~24e_|agJQlQPgOdD*zf_A2jq-oo9#2* zcI$~PN1lj^6%mw+XC1|%b|yzRMd&Pa^T*@`gMr~EOV{^G9|PPdK)G8kp#d>!rH_Qh zXf7wSRM!`3N@$JMAhu&{!gTeOTo+rX+utp05M?tTU@c=&r5u#St^Wsu$tF>Sq0>hv zAeoS@ED?ox!fFuncQJSa1^bF`gn<=%mgO>hlu0WL6Nm;Lgu9qe_pW~22$O&(Gr;P- znMWA~nx;I9UExBL(CHSG)HXF9K*&ORT{7Y#UooC4fsa4riR3vk6q~%0^-{RXgd%)$ zn{r9DPut}+?gm0Ht73gY4FAM_`q5Lcj*vWk8sPrRHZOjx$Wmn1-qmI{#7s$Rgz>m3 zHfKk#q8ihS)8?K!?OYf(b(N?gJ*TLmFE9@>)JmNqM;-O{cv?DByO_oMZF&3sGp$lG z%aK`RW?zqLzc(sr2q8r@;m4({KZlaT)Qv)g>2evqTIT+IEjmdZ`hn-kY(FH_A!D4!4b*-E2K2wBC0Z$lf1wmjobKZ}t^e3mY; z>2X%f!$!=1tvn!#%5!XV&y$oPv0=^V)X7k-ebZd$>6_EpQco5KXmD8?B?|8%TqPnG8%Xw6!#MQC?{VQ>(a{Q9=giWgVZT{o8?GS(CCR~5DGcz~fy$`6gB5}fTKCu-!| z7!y?_Rjz)Oaq`YNxIDIt^i%r`S7%8179H29Ez=6>Q94gkIhy_#e^~*p zj9Ql=C4w=fjAi^-F?L4#7hx5DNItq>z%KazY7N!xqRHT7a0<1C$v?M;$?#M-4T^P~ z{Lv~c)fJhwFVMg#NYHFq%X9i{b%?pH5dp@rluufMQMv9ca4KcA%$cJR$VFOsEG9UX z6(vg&#f1NbuQj z%q2CN#L>g2+aB|m0jQf{Ztu{(S9fs2{*t-m*sW`1AP!%7!g$$eDM&q2ucP4%RT zied~+9UqWg3!~r;`8!ndZWF-g>wH9{g|K}QOS_*1_@tPx(s2%A^*RykCqW&EtO`+b z!b6tDCO-k#-K?EVq8-XZBocg()y9hd#rI53^l7N@m}POshH$m)%}fT7kOQJoXFG(3 z9!|4nUQ&}1RbqPQUV+d)^&i5XWWBs{EH8FTPa^y4Z07b7Aq(~iqnKxD!?*A$ogn11STN0oZBpRpVCM#wfdInAW(}SRZ-Lns0XTW zc^T)o18(FH=_Zy|x<#R)tUX^@x?x^|S!$~*N;P%j1epTd`wp!7x5wr5@9D@uweA`| zkH+dV()R8*S2Mzov?X;pUo&MqDgH2cHn|!`nD-U1dWxVRoa$9Y$|*$eZ;`N>@7@hy*@SSlAfC9$%<9(VpbH9BM{0l=rNQYDAeNK+OXZlN@RXEa z2Q52~oDIRhMPkMaI9qf-8^~XZ42%S(Gz^Xff;Vkma!H>zd+x+R5N6h9lGHB`2IoTL;Y10a9BZD*XHr2i&OTG-9 zAxi6~kr^&s(u^1DLk>ZXV$@c$IT+`JC=AMpCn0h2YA@IU5d8&5#7p z6!G8w%naQ!xRjd^=s~LYoV2BUyXb!sZQZ4OG9c;uGFU#Mh#dl)@7XH2KNgC=9YrLw)N&ODx@{*Mk0|GkHy(LZ3M8AjTZRh2Q0p6f&P$w*m?q_p6}F-AI5 z#>>))`Ja?$-pGQMF3aB0(f!!z3oya)*oxJB@V31=wAvR$24SsE!GNd>vTg*->g7z8 zjt_b8;=h{~-j_~nip|=TEF1zE0!!;1j6r{^_v0{QDO*xh#7WFXkI8&0Bp@eSNtC@3 znokczW~+c2T+V(W)*^9}1l^}Im(^>CFG|!{nzJzdrC%YJcE5%Tv>$xogaX$9WwlzE z*tZ^K%$42pD89!XiZWXhd5BSHqV{7Ha*)YK_6^v{`7kjIi-E>qxK$7 zaSFZD?Ek0UYVp*G0%df@N;9^pvLzQz)F&&enZiKCcgJs|b1h+I9!2JEs?)(SLJdN{ ztIp0RfFlpkJRZOPd{-^%-Zs4qhe^=FMjeoH7S?(AR zzE0^C5$JZ$^-UkzV4sICmKnbdJ$G`7%AyjX_Tg84oboHCV@Soms0G(qpO&W`O~V*4 zpm+R>IEM)1DVu*jdtN`0o-&VU1re>uRxtPsJ!lLFcLKS&1-`Fb&**uz1{WBpD{`LK zD5ULbf9}U+E69jHqYIibk@OLu_dqUO$WiB!IFfb zcW8mZbeiv>E#riBF50&O!<5vtoAG0xmn0|k>j2&)jj};eH*%CW{pKcTz>t~olNWKN zV`nc~JV)&yS5k7c?s<Zh5Bp&#U|YG+y2dS120{I?|%!U+9Aw$Lfg&7#1xTxO{Ph1C4)@t!4C( z?s=Fk>by=(qijfeL@7sAE3SF~)T^hxk3#(~OH&4+4VF97pT`x1PrV!}~W-2_CF zc^#gJ0{Jt{1lWq_LC;~eZXkpwa_xvGT|1qB0zQ6k^F1I^vjgzuL zp_J!x$q27BgjD(^HQI>mj3ESQ5hx4Gq{d2~75$-1do@pPBWnJXG*FHUZthH-5Py$+ z<|@SaNdp>6)E_sm18#Ik7@@SnxG=C_k^=lT1MV~W$59+jV0dC8{7z)@x!fIbq_;*t z7=eeedeb!0pyUy+V@Y){WQO<@tiEa?^!39d?qJ%`g_b>*x^%;z#bhdKFfvCOYoI~D^+Ne;M*ym6# zLCMmGvN;7iaKQQhw`t>@;j&s?%c#qn*%ghwDTV86+`) zd+qJ=Ob@MfN3Sr0yaurt=9>mW>S8n(neW(V0@P?XV#UV$`K%fCn{UjgrRMoy2m-_NkFc;XFAO<8}zHn5%!%F@d;j5vExe24E@G^=!nu-uAXEEO0k( zi;`mrSHT#su^XFL=UDP*E*vm5zrq3?a~q)VHBZx&f|I{|r z0Y$mTGgZEsbOy>A6$xo|#8)*ov^j%b|CA%n{rmJ8L;^fMF zdWTZxL;mixbZGU4Bc14MsW7)v_F<1EVq2?ws!kY^N$7NX7=Rdd{%y;M7l1Lg1bp&!DBgo3g_veFW>(PdRP=)sM3dB0H( zqJ%j>Y`_uM)CcxY2wD(DmBSSI%jeKce9!BN7Aq{i6#rtkCefnI4eEA(M1snBID_|` z+>1M$O3;x=K|NkjPbP%HK$14$Ecbyn;I6^5bIQg%vEVL~@EO4g-mUE*MuJ*WxttK4W*FdeGA0uH!>s{1<{8ET;{QoljQee_e4 za%U_i&Xy<=9UEFarU{*`@sZ}UBje61+UsV{X3RAm?ur{SRTXfdVwyqhJZQbS<^vr~ z5C|O0Vn=*%2e==#PT*TxJIiWW)&XUi6g76YJ5Fop-{cxE_H-17ICs{Drn9@WA|ww;1@AE9c2t@mF!j z%wQP$CB8xbjo*gpvUH`^B?{DrW&whtlbp3Pya zvS)^;tgs{1+|C!N7haYh*d& z!2KXongxM`ci9_;k?o+074aGN3}`coOGojsg0Th|Ij;gp#XQC~ct%FnSfA@fteBm0|bv2EfK_wynjE ztpD>}%aa$&a`f^#DeqpjPKDT|o@gUhnHiqX#Qu+*beo(U9y3I9W${?O*sX-0ABi88 zE;4RI)GPBBj?UHcFWM!q{$SXweug&8aw*rYxyYM1>}U|GCAV0eVik#bye@p@#JT(I z(YPdfMPJ|1kmFKrg@a!*K00cbV9PTX^Qd-l=m(R9kDEW1(}jxV;rZ(#GlU7l4B`wQ zdylX*62T!1L?idZaazX}T}N-9fB$)y3~GrfjMbP0BpluGmTcH*Up`m0#p*}Q%2trW zVGe~6g*QAR3Cpr~0en&oo^PE5p_1X}eYPoR^fKG9r=v<(ErZZEy5AZ{sY&H+=H&-hQplxt!B{^aaJJJkz0#fkJ3yZ-Sk{LEf9EFt4w%s8N#E^c@hyzF* zNMovSkEY3fHji@O=bqVPJ=B|QP4^V_32KAhDPS3%# zfOKxYL9d-IUFb5tmYB!znv`-0(ia`gahtxZ`x80qt0!ggi|-*;qR zd9BI8==N}!Ax~o7>zzEqWjkLg7j$xP2*_K=pc-HZ=xzv$X_ulsx>B?Kk-cA_R;#5! z^Qj5+F`KXRgSL{-WI|cFg+GLbOTYw|{QlO<1@dl=TP&WfO{eqWxHLCOrlae?u2>t8 zFP_bUi`m@R53%j*HB>7+z&%?ix(!IG1B+W9Wt{*h*Sx!~E68X{p!0unD>hr|DGNdW z*-PH68+oQhi9R>GCc7No->107UATPt@N1&=iV&L(8?&BHrKeDMUMzb0^eiS=NW?hc z;*PE(a<;~5HS0ffgYc>;hiYk|)R82WuMpWv9O_WAC>5)hhjm3TJ2}_Rbk{9e&s=U0 z7`B_&MKqchjTWk(*5~TnG|rJ* zW!N#jb@|$QZvy!b3@RjQkK{r#?{kGgFwB&Og>%NB%LJ4ceW@lF`J9{z`%6g-xz%8) zv&sRrz*TyQXWSyZxqnR&JsM+Fw|tHVi7mV_xz;gjtusfZZ{>!o57;Vl2g!SyJN-jY z50ai}Y8y^*J&K0k8rpo1zV_z5b{tatagXN_ zP?wd)vm&q9(R>db=(QyGLc`G+bn(RbIkpy?ZnJ{HY>^auqe5R}I}}Ua3a4LVCN8LS z@2}&Vyp(v>T9;|Q(DV7@t{g-vKXP%Fd8N6ReOJ5fMK0G}xZ}g#F@gvm9?pqgYQE0b zXc_R+-6I(>wRYMwFwbhINL7&n3T_kEObU%wFQW=Al#$wU+&*PSnMkTrQc|aVoM)FKI z(Mp>Jr$B^gD<$-V+&UxbwNE>LR8$k4g3O;&QrPTlv?$%~Mhjd7m{`nw2^*KC6ux&$1XrPX*#`ZXJBchQ^a`Bn${600AM2?b9V1;oy!gF@QwM zUs=l?6R;a<5EUG#SlzcmJrqv+7YK7nwf?eyE71W_*dth(l;w1V5aJ!g-LQ)c3PQY4 z^&HR}b}N-LqY5U~3Vm6LHu#jn6WzdNb$Y^M)IZG6WyNZ0lw#94ysKJ?bKb#JVvzZ@ zw&549h+Ve|Vi>ed))=lyA-=jXd`;;trdnjMVYX=2GLUjdAcOSUZ%S&5x7m78#T6eK zi;^6rwAM8}nzv#l{A4s15=lJvI#W&~$EyUm8i)zrK)f`+>!2qd+G<`xQ~@> zbS7j^Ic=e{&W!dZbu<_=pEuO#J6%65fk+}7+$zRTF(r)0G=Syh#T_%VrY8QBxe8JO z;FIN()8ld@U1aj)WT5SdSq0ZGo!Ue7FC%ZpJ;6oiPpF)H1w+?zc*@tNrU@%r2k#KR zcvwxu3ABgm5@P(OmC1#WSBw|PIh{wI>fM={P~>+Bx-3t4t@rMSi4_p9rxBeXaI@*k zW6f=U04`)m+AO?Oi6o&@!eN-oEp*Bh6YR=9`E|F6(KO6muh?BqQyESj%$SCD0qT<(3muW$T-tR%i-k$oROg! zBa7zi>Cby{T3G^P*WB0I^wKcm{i#^~l|#WpIvSeF*i`S~m&;&Eudfjq!Tcbq{kKIE zNfH|)D((P;?cQ2~2KCZx<1^o%B)9SH$-9qF{O>fOR&l3bk;3?v>K8#rfwhmVH=}Fd z!}xU=;_F0L*VqR}ZtsrhRdv7Wha2Bj9UCG!Q-Yf?AHou>jTEHq*Cu5nwHY?^HpnP0imt@$^6iSd{wv_@|B8}7A|pDv_fuPm$-xzfR3HWAGz zYOsIPJ>cbxEf}fx2Ws|3s|*InxZGYN5z29dpup$hz;lH>G?EuE?=H3?#cBk{ zlPZm8`3Tmdh-3)}_`0!sfZA$2_ymwHaG=~Y;F0x(K-ZiW1A3}_-SmN~x(`rZSc4w5) zon>S?63|bBT~Qse%V1N|+&QCl^-gE{K4=B}VhF7u4=BD`&{mmJw63ntYTKbk<>Ffs zwOXA6yCz65F{|KUoa?!)Z$->B(obbY3|Av)MK!j~-1ttNq<70h$#@p|cfeR)2FuzJ zT0naGT?(A_ffCKI8V(KOO`~?N#7;k70DrbfG|=z8SV$WlVG=q2e#dZa4@Bb zcC6Pa%*$4H<^B_)WJ|k@c(0`E8csU5(o~={_hWv__T{SG-!13{z1gH%N<;7md2dv$ z#|m&dvW^Mmu0iq^q7q&DME)drBKK^?oV*~n0oF@*OPt)J-PwpCi`SfckfP}KMU5aw`<(x@05a>D!-`e8bjo5a z1>BaL=Q=jg)2B`pJKbX0pG^2|&$dohn;X{+Ob1#|uFywQ;dz=G9xVC^8Z3s~V)Y?X zYuJ~PU-$qWc0`lt`wI?>Ln}+Dz|E*An5{Bl=ICCBFTrnQ@wyfRZsB^S9!`5qhCl@k zbDu4q{5U_UxLXb!*&pYMXl+SVLpWA9LsSg>XZ;w%^=^X6{Zi@h0n+NI@NwR1LX-{W zKfP&MiDIcJrr4b0L_TAM3NHC=a`T>RBWQR*Q?=%FfVDezs2u8!9gW}X{BsTG?2-w# znNHU{Da*=%bjrcH9K&Kh;+w%#aQLyEURE7ktEV?DP3zG{&2F*Yf|TqpUy4qi_em(=)%m|Lpq1GrYMUIGsWL+ zj%{fAoJYKl7aZEL$3ce-oyrcp@!U(>l&`q)HoH2586HRA>)e)11f`vj>k9GzZJUO# zBTZ=rIpUFWFGV<6;Ds|t!1&=mB69{)%|~^X?No%y@}+YL;AefN2B45A77g@7bZVpTI`S?Mht>;;)SsKUOU>7 z053q$zwZ}ZuzxjIfoh{H2XIFKh5`!$I$zWgUdn8&j}ioP6t)~ooziC>p0Wtej$?5c zf1GBTtYd}rJ5d>9qlIr(pVDH5S`xeKdhmAW6DojPA@elWnRB(5n zc!$4ONq=-&0^U^L8{2Ry@a&UNiDMYhm)F>HEthrj8?W7^daP>VK>>`_fo%nQgHZag zFZq^p+_>n0KQc_!_#D7KG8UUnuHb_;x=ol|e&(E@;) zk%}M@!Qr;T773g&JIPpC>XF_DH_()5@U_#9C09npUD_ba*hKQDKkhv!6+2!=UY*#< z$)PEOk=!F{xXZ5$0wQR@pX2J&2_PnAK3+v$UdFQ2V<MZ$lTY5 z3@iRCqz7V6+Wpc^ONp9gU)2fbdlG&ve1uyO<{VS$|*DhD+c_zF#$Y}Ao;rg*|Takq4Q_qHQ#H=t9C3Fn4 z?ubrt!)VeDAq=AhN^0SRbTfqb_I@WY5DqUjDfTxVhFAEXGo>5(ytNZXXfxGRidD%PeG(t(c) z?xL21z`aL%vrxWijVUnKPM$d-4X_Pb?l_n6*p`uPQq(lhD_vwcucYk)fmJ)y+RC;E z7B_C_g#xpWPr?tXbO=7A`J3JDuet-&sQAt0=a}SJK8Y_s_DdC#zgpNr1mgacNHXJV zNwp+5cj9qx6A`WNqsXoBdZq+!o}KlzEQk|M*8)4Rkmp7KL!SB2`|HtAAI~7UO@R~XE>75)A0;}7fv?PrI`Q*@hYrs0N8$3}b zP+lgc&SSiiZ`U`k?M3&&*-!NFkuBzjP55w%6(HLkq z0KRlKjP8^ahBV@K1L23?%Nmqdhzo~x-@N1x&B(#lOgl}$m5>rC8iZATzNK2UYDDYG z^6Hv%S#!0eA!B!6eZKX!!MLQEJ5e2)nKJ9Eu0pl(a1CNYt`&jeQ7ZNM6XSBzMTr~( zLLpFKoOC|lqlJ6FU`^Urd>bYwfAwZx@>jeI7lId~;tDRzt*;-_`KxS(R5s0!YE%wO zi}1+@94@jWZu>GJv~(7GK!veIs|9BS0;#;^~{5~}liwa z0(cese>VJyWDsD>)@Qf^Fg8E&m`!cwe{#afXAHG|2=k#lE)LykWtu^vN zCK4i)Oc-}fNiq2x$Gby`x#fn?a1N3|r0dwNB^9E^slAe%VO>+*CNQgWIhsP$^{xfp z$aDJk-!jX?W?v4tboBa}*{PCt{zd$VyxUoOL|I!CP-TNUS#qBz8<(AaH?95Xy1Ls_ zC3te*$&L5Kv9o`>+*-G?srvIr$L;PRF-tB{bI)xKbZv8M1$Cg)ji@jg=s|P^$o{22 z`Fm0T9`a>daj~1ihb7K{yuFb~NR)yf)pZ$1mzEWGpNmQ;TdcZ?Upv}BL0zVx znc~~^doLSnw@F{M^h<4XL2D~wO?#)-JI=RkVbKT4+6pa{kbHcTY^(N*v1pXd0MAZk zq)trD17384M^wRwb*p?g`MyHpA}R+w_Qj|&B91m5Kyz?&Q{WYRqY9igQu~jECH>w? zTYKRQ#ufVGrv4NRTMnQC-K!$|&ef+{51v9F!n?yiM-cm8=WWE|PazMx2ji~rj9A_U@g%R^@2VgTSQ8W#kDEeIZYI0q3Nz+ zUEP^_5O!Qj)K(gG$dI9MaM-zA2FFsmlh>6%?7f8s3<~5q<$jny*+7oYoehIOXoHR> z!k&4+k)#E?_WG2304&Y#Tv5W5t2JHL6IYOUS)pghSwWo*_VC{!D*Np(m0D5DS%Ku8fIvyqnKzW@Cn-%2maOCiD( z<^Y}nKMRwn9ab3|<E9vcT?T{}8dDlb;c(_Ws43WuKP+m(-P5oB{q-kz-R}?{R1W^# zUkId^T>$Y{yl9;)xkJEgKsWgEY=s{U$HVDQk<9-@CMS-CNbWu=Wr!*N%GnQwmkGd$ zGnY?GF!Skx^yJi3dAj#B>HI9(q{Yl8-(w^ z8xA6G?*2ee*lJgwXQ{pK-KTno-Xk5a+>C;;#f8d<<| ziTD=wf@O+T^5c7@V7;SO_NMO1T$4)ob-?xgy%aro{Cce=fHtAR67e^D%ZAepz%%^e z@q2Yc_uKFksMhqoVIPgtX5}QdSbL;le&P*F^;Pe*&ux08U*+!oJp4lI57_MkgcfX`Y0PP|5w``Mb^!$Tv z37p8Wzqr2@pQL?#R4p3qg@!RdS=pWs%sQI0+YJku%rw5I^QBS64p5$Rw#;-ssK?40 z$w@ReXONlXm^8xt8BfM*shyZP*sCsOfHr>Hjd^;=`gUHZFE7YJehmt>H9= z=j=OaDz4DUF$5p80`gY&Q4P%ZaG%Xq`_R4hyF*IdK0~+`+HRGXN{Krg*@yL@(u97~ zUR0-8)==i>GEydcD$iA>FjUDf5z-d}j6eJX<*Sh+R1XdPk>0ZCnguv{{)_=Wuq+{@ z&~Wx5cShc3Z1C|$=Za<(?VCLV%WB25)|dzWq2|j(wBdI~*-JxCuzz%1TWCw#VTi7z z*u9SBFzbOvvyD{+gm^>-M`5`^a}_R|PX|0+kU2@juQm(kuJBwmI~~2l?+#>&VUbAx zF7u9LbR`%>y{I_Q>o$ul#t2jIHy>Z;%SFP+hDeUmz7V6X0XGql&g4$f(84!SjvO8s z__zv*LIW;OixO|q$=Y3@y{WGxYgO*P1A#e4&|jVQ8>*Gs9Kgp5GQBiRvj96c+|>3 zzNM!bN38{TzJo&TLlTr#EIezqJn{#)-7+c=2N1JAzx_SrogaDy#@>as(%{jv@}m7W zL;+jy=*(CMd#9W#+cjvnmsd~2)#C_a6tttHI&NG#`J#nQJ`vl}0>u z?Np|8BLXOYQ4Qi$UbWCq9#2<8vH`!5Ynwp<@nv|oni^(?32Bfn2*O=S&p3!Lj5Jqi zVVLfspbf|NodW{V&}M+!ytiPA|EqVbNO1)(7Q25{6MO<*Qfv9rowi_M|CN^9Z5$ju zRB8;&zE?Nw_Ie{DuswAp$7(h{rv zA>3(Aw6U;4lL*`siEQ$?Jr+7K;+!_O1q-Bx48jC@yObV1jPYT^3(nRUSB-%oRPA${ z-mq;|sOss(ny-u|aPP|b(kzx%G)qkQs9XN|fs07@7K&bjut0fziLZcZaZ>2mp^K0g z4nwJ-vMDvaJKnODRA>mUu@=sJMv?ovU<${}dr?yidHn$6yK8WrRgq~fp}U|S(L+JDnQ#c#8a zS@H~8(j_@Eahcf)or>Moc+cjvhgPYsQAa1#5QflCA&MPk-2%Mq+UT*yIP za*clLeE4@dlHTi;QJu?+O7a_mjAz!=@opUwBG~NMB&$<|w}a#R!i|&_+UdBPAyk}` z&9FNHhP<>!h2rV)lk#8zi>C4U_RV(lrQqG9Z4am1E~_Ec2J0N>9tIQDJX)mO5Cm!N z2ZJE#$q)M8a^Gm24tQviaK9%O$6WT@F~-{F*j_zvNm38hrFCG`pp=Ob)%$9;}qalqY`FDl(k`-Dc6UAr;+4_SNm>} ze3L6dpIYwDD`yqegNrBw5YnbGHF$>Cw=t0auEj$nzo&P#UfDOGFnFS{S(c5lBzxtN z+YWv2y~gxW(w*s<22TiRAM11B21*)Z*~Us?g&M0Xe|)0k_qm6)NAkHFGpVLWnUhF% z5sGr3u{SJe|7V%U-}9{f-`{^M$F9h)a6nlve0HqtAiaB_w}2 zF7ZU~ht!1?{fF&Em3gEm3F={lT_^B1D?UXglH`#)tF=)y5y{hXmzLGi>b)TQ{<$i( z85wK(uceJ4h^8h)`=uzFJc_Dgt~WOp7_`m?8XaN88$wHYL}pHvhHgH2`v=9qRA`JDHc7o_^dSq8b-Ip|1Um2-X5O*j3@ctYO!Puxe&S7 z2=3QB*^XC!rk9%GgSxNPS*N?jhJh@5^QiJqj#%F}?wC3%epSQz@KVWePD18?#mtF5 zG1{7xMe#G8a!aR$*x#S5`{%KFad2XEzn)><^k+ROEN`1Qo*p&BX8CmM_ImG?v$}s} zlvdS2l|uUEEikm$HSujTvp9J}%J^Q@U;sM9@X(cGLv7asDP?pu3pM}mDR|MO@^J~{ z#Di&l$?-Q6vA=ZnLK<`cIrcZHem=NVEvC=CSc|G?PVXw;`#f*EXCq?H*xY;H2Q~(7zL%?%_?mka9c^ON<3*G2pyG(JN zmaCTi2AE=Avh}65%d-9>?$6syqVG0WqRF7O9Q32_7LUEW`m`^#ns3bt?F--!hh)=w z`Vy?WZRO>MwNys9RvrXDOqK25UMTpi`cIvWL_1efn+1d57?)n@`Nj5We9F9PuDN`8 zN)k*ydWo6pNy4~zfo`~KNu=6mzS=`&F;gj)ft}u~aSbL8GXOLkhx>~#qvaP&hG>Gu zGC^OcZ!`Bfz=dKY<$iJjQRXTYDcUIX-*>y@Ye7?=!(Bju6I=>~ zd81ob>uY-f;Gl6jU^!*O44p>CYWdazK8_DNx`jIJQD1P4j$brFlt5exOAA1?&dm>~ z*A))5u?J9K_-IOPR#2hI6jmDgGTq!~ooHmQ7i9%oG!1B1$mLy$3rn3*x}q}mCf^4m z_yru!x2^q*R$K{nlbe+5rD%&>X8ATh9Rb<-Dc3Y{@u+i(L#bvLN`Xw&@D(%ky8eKoo3=Q=&c%Z&5e3UX%8l*>X zDJsh(orEh9*)2};=Ryd-JcvmD0thv58)|m^X}}mTVFH#*ZoI|j*c24lMrvg`%_wfOTSO^2440d6yn2{XM#1*UTy%L)N9dKNvP7N z_``cHxz`jhk>mSqRNbSyM<0*Btd# z1qd;zJP`g+tTH5kdTYOvmP9R1-K{gFQBw@66kFssh@8`rx$eXME2TYkNHmZa;uww` z8YkBklG79u-=fQLV!Rdp*QRyJ4TH7_?K^}iM=AfAxIn#~*?rPvlXKzZQ_tO~4@a7Bqt;|LqMhXY`qM8{KSBv(*xu-QR7VU$x zXD>TFLCX$M!$cvLPhIkKi}Y0KZZ{QA`b1|0kKns`C?>QzP>`BWX>6)EZ}p6zcafNj zqXmadSGNS|lvqKDoj-1oj{Q!Ugc)V5vwN9sqJY!v+%!Y^ry5*dvA9_IVxEE(HvLqY z0>;ae$zn8{CZ+Ejf^>x*-gpqOt2m02$e2Bwt-Ry#(ygA-njwU2#$tIaxH$GPPh!H{ z$7**B6SI?Z7Y$zvdFfEh?wXxA;6^A*KI{QRU>&SBX8(x8-wKBP_9k|L@irRBI>Y9~ z)gXz1R~4@zEg36%Y{8%ejZ~q@m~QiTh*3mgxq4 z!yK*uR3?2UPcThqST;X8LRp`JxeU&po<+zZxo1AX!0&2-0rjL@X*4-F2P79747b8_?=3mCA?*tT#hO6q>vKK}n>;>LpV^~FpWo53wTj{?_niHX1m#Vyr8jFqwRpXVEA*_AnPsQ;aU z{cl(?a|NpEahLFB&Zkl;r;{uFKOY6WB{ZWxR!}5Ad$gcZpclk!QBX#(03s}4g`q$B zIRpzLZ~L&evh)4VPeh`cO1*|)y&!@A&;>&BPb84Odr_K8eo7@-R;T}RRHkH19l#Bq zG-NEQnb>_?$HkxD^ThV{Ogp zp`u_gnw+!=EhJb=OSm!1bLY^wcs$-BHD*#-9nT5P0IDQYRQiD!l9XeTN*cqI!`JOA zm30E+`mRlqF~ytq0{qPMfI5+>Z-Bm}KlF*_+n`cKNHdP3$W}c9Op}@#xRnv&;oi|G znDqS6*Qr>El&$bBub4P=&!Pd-4cJo^C65|qy!Ve(LCR}#ulADQEDwiKgx&dLpZ0lV zA=x^Sw#@U2aK}J+y8`S4AMvARIPQn~y_}vu?diu?9Jp|EPBz{)$7k7Kc;^km-!@edDs(@cz^EuBj%D*1>;T&Eh$j{{j=Hh$ZgImH>*?5U*7h( zTj;ZWPT|@{xZ2fZ!?IAaT}#Y?UUn4Bb)~Dp0UY5Z=CJn2Wx#5JrLcPHi3!`O6E31n z$v)n8db;)GvIe_1A7J;^UFEJ#-IggW+&bufx#VuQrGh`6;eXWD!?*}+hOq?wFL_t? zlau}A)l~=6lJ5%YecX+V^3u+q_G4WYl=2r5?|1Lz+QTK%_)#6X$Z{#t+jR|gtlXlWF1QOv=3yS9?Uxl{um>lpzPg{!gSEd zH8I@_B1X0t)OnxBz(jXyA(047s(>K^hcVnB<2Ek$!@da2Iwg}!9k4jrIDV}oCR+MI zb5XsgeTPdwQbY5%YjB0*MotpR#QWwp=c{UU7#GhpbW0=KO7F z%o95;MTxTad$5YNGBijgg^IT#A+KrHt8oPhci<*8&NgzsvaZmxra(kIYN=O9w)(Hm z0m}7#ed21{8m__Z>izu_WTX4x;|H93a+nfT6-n`w8ogc{!w)~NubyRl3bd;vq;tpd z!tUdFY$C;8`1_u-y^(~MiX;G!fFS>_n3m7=G-%m@xqN<(3M|er=rI-%ZP1F)M{8c^ z89jb03vdIpTb5)|=5>r1 z<%Jc$z}3Scn>w=b0DVSBYvf=%K0S7Uq)HB)78`A+>*hqQcIs4qyjsOKp%ako(EMCV z)@v)LaArGNk>iO$y?Cjo5Aqe##aTvNLX8Yop25_zX5L`eoOIsMhEWne^60;Vtd48p zHCW14JY0K^L2y@h6>`~lBRS5b2|FbzV1?hP9Bof0qv2lhU}mIandY)AvpPUk5lUnV zx;%KguFz0O&|wT>X18gOGvOEkkQ869KTS2?e@LQc~H`x$ZgmWB?(}S%Ysful#ryYu$&7CMR*3B7I1M zfg@N-4G08K`x0x*~YH!}qMnMVzPO7yOw3hnsKZE*wE zS-0>o82(m@^+4RStady(bwI6vSZQf2EMgX^)d)hSH8fmF(zs(}dRV4+Kl{nIzg8kN z?!|&whQI%Sn@8gwv2s@b&ZU^83JX13`EP}) z9t-E%KLjh6D0E7|!qozP0^X0ZJ^W0g!Gvu~!M3_fwU<^^7`ZS?sv9Rwgx1=@p1Oj% zsJb>lFAHC3pBa$OWo5aB8#3Lcv^MvSwi%?XVR)7+mlcq1pNX%;=|Q~pURj=Y1FC9> z``IAu$a>fd!QTM=NG2nMv@Vp0%vmaAg&;Z@OLexdo$6Bnb!Z-xHJk;xfQ}zOED(+A zwicK7Mlga#6b5vP*0P2I36z}b0h~$g+8Z4OVLs&KF^5|jD!Ul2Mhc@8Bdk+BfN>zN z`Kx&D&YjNAIYQX;^8o^#&MxZ)wDmxOzb_+xN9PzBK+p;gO-8RQiwPlbY5f&qlAW#jQ_=3vpmJoGQ$F?mxeVZq(HJn@?Usjwd#+e|4{k!P$io-0A|}0wrfuf7Yce zz;FKyP(!1NHhDdMxxat9z}XL>e;hh#Z01b!SFI)zfWyBW&B`Oxj?!eYOr#+s}m19)1BEn zRDWhG0=9VeY+3qz>sMpj&jnPv_YF-d7?b5hGVdN=2r9i@$AJ zn}7T-qn2Iz{?fTCZp-UhN)PJ}q^{f-zPLNXK^#GUkpo=Tc<>+`xk-2#uqcZnf+$Sy za;)$PnO3->6Vh|pKGHmgc6Y9*hZ|pY#PJ*P|0MqN+qLsMv8stj$Hs|Z_B(BJt_q5V zQbUOYKzcN=K-Fj{3fH+-c5Us(x!~YALck|r8ey9Tcg%|iBUYBy#Ih1L$rOw-_|HFs zmH--5NkRJ7>q_PItqN*j6acqr71EMnLPeiOQ%xQ!BaQ7%emAlIT03FjCL$hR9)_1K2VoY_IP?yI$1D(dW%#gibni_-3_ED@NsF_yV%u)N4yM%g zA^NIrt>_%zINsU0M5*Cm4L%%RFbgz`J|7J9+<|#>K1nU$4)T!FWJ5&6E~{M(#^=Hc zf;M4CF-m6SHODn0)vRS_HZId=BleOo9*)J8zdgV(zVhgBH~5{87cd#j14d6@fD~I^ z5aq-~5LE07@4k<&6HFpRWKOIfa`XWa+AjKH&v=Kz{`JLK&LwF+q`tPpIBbaom@eB{uj)yuI^5Qx}w&Afqffq5a!_9#dJ3gn-v#i zHEV8Ylpwuv1qEXmk4KpeVOJMqYcynYG3e_bf&h`|>im0wR3K{A zP3!jUH;dMLRkNbm?X18h#GnC^s35(dzL0EuTXrgI(Y?k)?&MNy6~mTW!ANo-54G>$ z_Bt$3aq`y82)BxLy0jJo%O;SIjVeF##VF|Ha*s1el= zu+=!@a1x@AOR}Rb+{I}M+!1;lY9l9EBv*R}a^#y90F-)HCtHvdB-rs^!l(9}|E;+l zbpZxrnQ6)Ik{`HNMztZF42*Zb&De9!cnA^v?g2_!e;nnkd!oouwUtxRU4X#Ch+|xM zvJ=a}Rs6FKgFL+QmsF9Ts6=1YPH&ms1BFPU83eRylL`=s1`mTteIw*@IyXq<@!iD zE@$59Gv(B|kO3?1ynE)fkZUdYIR74>@_6Qk=(Pnl(Uzdb8@G{ zj5KfwEWyJOI{ElQ2es+Z9ilH|8cjy8jGU?b^a>O@9a~x&3z2%njR@9-fGrGBp|3C=dj6157%&nOND-8W z7FzPBMO;2L4jBOP5H50nJ2X8|DIn|-qkUscD6b$UdOH<``?;qldlVT9oI;^a`e*!& zfqc6i?N}Em_GyQach>gsU^tGdeKR@8GvGRd2azX&o|-ipMF9j}6S2xYI?S~?*qN$4 z9TxJ)f0BOwM1P9!P;u&zXu>$gW~a7IK{pO)vW3gmm^;ou`8pNs3fEfN=n(>D&`RFN|oe&$RPJrpGb9q{Hzj8p!0SU@mmPX|q z>o5tkL`a|_AmK1QaS4pe0I1QBuLfeBI7sj)QY%->zpHq{+Q;7jZifv98JqK+&Y;-z z)?U6b5tJ-qjg=x*yEnT8Y+z)=W=s#z%8a~h$feY@?zLCy0IHeV-;bA<0Qw7FBGAz9 zCWiTfHlX-krZpgG7NoELsRMR8T|p?iHcXR^NqOMp^7bpZih;yB%2duu5 zey~>Gr~a=^@*HF`U-%ET&#lktpRD6h*fX|09SopOhoEGC0Ygp&0$?(Gx!oVVP*j>~ zO=<>&5gcsSU!@M|+u3{8C{T~KdtP9kg?vF<$j6;1pIfhtE$9--iD+JSps!0KdaU;=%KZbxQEMs1U>(IK#K)~xT|j13ktHoV5@-TN-zz=6KIXlwjIUny@YscefP2YEl>GI% zv%d7ZEhnO*Lwvz$@$no6nUQl`d=>aQ#T1)$M_o{{+%0ZSEZv&ev-*KeYCn$V&`3zA zNRJUWfuLq(MaB5|2n|*$bqhMkE<&PH?0a@+B|+e*jKnuSq&e`^BAWn3X-N>?gznP) zq*g52KgCT-B5{9Mm6Bp_KTwtidL-_L7$hP`gg2~in|=dqMxw0ChV@E8*?Z>JXU28I z1s@)()rVJT2C7E<{I^-T@9;d|9)}B>ecJ?^g22;c~FYh z)5tmi=g1mtUWG!g}`QnMLkR7)NH;^^zwe1M)1gi6C13MxDQ-3p# z)bfF6`HDZa8c_~`wWir>L~E3ju+~O=%yxkGT*;QFh^YV&Po-uAE+Uv{B!3pArHxtQ6`EM~~q76AI ziEIO9Yq{=L1#vcc6)ri6Oe2qvJ%2ufdkAio4K6?5#+PMhhx;$EP%toZ*j_KX{fWh+ z+a(FVsh8iXS~Igvu)Q?4z9r39NY^E1%{<;YONRRM3=zoo!Ec1ec|+Uq5UExNY3_!7PfK^=6vg%rhoZm z+G!nBTCPF{n8P&{f?sW-^eB@j1gLAyLe$$T`+)< z@cOV-L_TjdngB>d(=wf9MKVz&CxDjK(UP+$H4nne9ZOMv` z6XR^V{YO3>wr;=+?>jd?-F_+pUtd4J{b28KyIWiHpuDZEZuh>smd3`k=0e@@4#IH* zSIu(%ZOGeB@Q65BX-r?nR}46j!fnHxr@!j5`<_%6Kk2h~MeoYkB6LP^cKPgvI=heV z@U6$WB&7WI5~?|UNLAK@i8=&FqnFVB=tDx?me6LfR8%&!e;j@vGd>DM78!VB7BO}p z6dav+eTk>N?nd-5Su$z(#?)gq(?cxFGHKZ@*EZOaHB>!v)N_@Z zW+cwSXW+XH`dm`hra9o#2^QYbltx4mkO|nJpF%FF(G4b+v{}6wND0YIN z&H+erbcD4QMQU88lPtb?9KW7g7Dz|Dfw#|!>FSEbgg&=emr&v8Z#v)g+gSK*i;ibb1Nxbe;4pyu6-l4cJMnOq3zt3)YF+JA z#flHQu=M?#zh<0qh!{pgD}2Alos1>whczQ5575pKu1O)ISIpP?e)|vV26L0 zmpV2+t9LZ|r+T5$&oR$e+CSZX@L^!>8(fri+@ix4x*o6QSU$of7t zaB~F@Mm*+--J6m$+>v%{Z{+wgU4_Fw=k~6KJL};x2mnviO@~_^>NB8 zlz#MW*HAF%c864;6nC*#A((j8LF2FyqJjxyB{1M=h!s*L(3z-li-Hd+B@1K4QacEZ z$QXsmq=Za6=?sv|K1N`mNvmM7k#qXbWIGUC@{xh!G1JGCPP; zf8%x5ko_k%M9gWgX<7B|<8*M!{I~za0SRbHbLKcdeQp6j>yIg9sk2@19vSYM^|jcr z$1Y&EvphUzI=T=6JD3paQ_nsBT>R=$&!xDSFH|I+=Ysn58{?EIBu>!az?3wjo~?J; zEJ=c4m{$c+M5RNg4h=SPjVNIKKuB|<24Uu_Q%-n1e)P5lO(2jQ_UF* z$BKR1gucEhldL*pV57ULfH2_A<}v^L8N8!Kt`TaWlqG8V2xN(ly zKzMBQ&KQ<96)2zG^UyPo@ZR!lO;ymN6=^Rl18Q z8olR5G0Jnn<;nDw0C;3(r2u^yj~=^Ss{bto6RT;>-*_Si!W3 z@(mzH*642k8QEpqx6em{--_zM&36@DTc?KhUU_##hPMm_q42}2aF}z9$KaF+C^Zz! z7yYDkaNtaY5&(^mClKuEIh=mKgR|us1}e1rK{`X-mbZZc5Fio-=!sc0v=-11v$+E= zCw8Z_xQp`&^vqn*sUTjZ!Wov}_LCKg$B*YI?$Ocil)25D54OzDEH2JW&-?k!Ppc*8 zTMlMqC=}#Js6X||-#_%EJT^)uNlXf6g5aWQcZdp8n zgIM`SCONCCtIdta%9B_PMulf{El(TU84@O}+o}?C(8lBI+H4H-H-$(4QFv_Ja$w2W z*>e^cn&hU{ROxX0&o%$>YLhxGghjqC*)mQTTvFTjVMj2ht*E8eNNODqZV;Ka?1%ST z4o)+Gzn7pQt*NC}r$;bYf>nz;g5RCGUPJ10Qh8kxWDQrRxA;fqSC{4#B#OO+x%Zr| zh4>`XhJ;DiU;@I}XBAu@MHw3Z z=qRc(RB<&dgOR43w5)P!>xmC!(F1r#bAJ-0XyQ|WCGG_C}#{m}U5|n8JNB5LpSLoJUroD(Pcot2Rt0W1U*4qN+ueqNt zanZfEJ66?7J-SXp3uMRlIJH?;O)42_8DWa6p-O6Wl-e(Md^~T~CnK$z%qDZ%p*a66 ztgFgMYAJX6;t`eA5@Z&jUkH#06|QQJd5`?kzI~fO7b+|&o8aWkigwcY3IPqZ0-(aG zWvK^#ai7G!fhACQrI_Z`P_v@=tOkn+iv~hEYN&Y^$D#0I3EUebyH20x_^`d_=F~eY zkL@sy((EWe?M2!ng&)w+4T89DQ_IE-yU9o}ydF$878(kt(#ZDq*T5E%_C93OQm=)- zUfSD(AL`y7fBVN>1eaYYVAK40oDf(TpW`%~^mgs~!A-SYf=YPyTR0P5@wUxH^ecAog7senKW+RGxHL`du4I3|Hf=VzB8mPIr7LbUPP`;Is ziIHPvhKyWR2x$Ul{lSC1y$KK4U`H^>&;~@0fJD}Hbmi0?m1MA8mBEjF!Y#Le@_%P` zM*04k0B-HLzEw}Jf%>|JFJ0GHu^3Z|92H1bMfnHPh3v@6WNy(h&3&IzB%3Y_^j{Sv z5sa217eo3gr0e+fB*~;G6H)Lj>ON6BceQiO&S`vaN0oJ3M+~oW#Kmc7-*WHKgk0?+b=l82W4Qko8}#Uq90`4{bypRdneNQHhy5>$CE{HRWb$ z5%0N%V5PLM4p}h`IhNz7@m#)HZLaRw-pl##-}NpH9#`F;n*>`aS6K_QiiK7d36>PA zX}1!`<$&wzV{#}ubdr8fQcr(lA8H zj>95CF8Oz)?3_H7DxHH~)e;F`|MBi|ucCdXD_xEr&v$m`!M3llQzBP+tS=!9%~m1V z&e3qDM|8g|(L+=_l6?50VU<(InKK=IitHl1BG{=sFCx_tg#Gc&U{ib;Uoh|N;`;qR z>R*2yx<{vPF76-Bp7~h!pVPqGsBN8QcTV=B)rn@~+ulYw4K#f7R%Udfjl0eV!=Ai}?lZM?lp&BRR zY7<8k38D>scz1E%zQr340j7{B_%Lblwo@`~{z%m$je7ik!-mJ6`S5OtW8$CD@P=6qg+K!Orp*pP@nTz9#)pr}=E?7CwfS*Wbd)P{853o@Dhs+I2 zii|)t29e~-esLEW^NieUx>>!lDTU31&U4gj53UEjNP1)r!O0+ecNmEn)HJG7IQ3iG z8(m&}v~`tSaDjwo4L|LL%JYm!KkI-PlD!d(GU@C3%*($8WYHJ=%JXn9%|9x77d7^? zrM5bHVo(qBMATp6o~u8Y0~iL_cb&YQb0&0V^A$T>k*7bNa1cTnQ4-f%f4rNneQU$9 zYIF0)$MSdI(Xa^FQDHq`dM`*sP#j~USiyFgjwNI>ZqmsX^Z!b_Ps)JFvkdt3M7D?2 zmfhb!D=PZdZ-;R4UxEbWZ$%`zL}`Eszu$$=tzCbx7eH?My~&pb>FxH3+y$%UqPmW) zXYT#|io`W4LkKyX_;?!W+F=ypO~XQGIP;1OkQRkF|2=S~KthN@xp3qR!k&=<5IDdC z2mU1~{uYrG6PKjoZHweyR_JfLIcBB#7VSZH*e_;>Qv9S`%?A6!#LsCxU1@wSa#;!w z3AVkU0aPAFKRTYm@HGpGV%f5C#xokcno86cXN8jhrmQlI_PD{iz; z)rPzZq7}O(`|2e@v@f9achN0|8U87$C`h=#k+#LmJH1IAA@*$5lE&uFnBl=T-N2!R z5XL7_PWV6MbXjR%c5T^J??;<`RWuCf{8JCQh+eJ5!7kR0X+xeyxlKJDRmsf7POmRu@&6p@+4!DZo`-rvf{O1ncNR;BSAC}#aF zQNUh|u|5g<26rk*&<(YKAU&W*f6z@p(nt#&=a~{*mL7-(Gw(M8lY?ZKwXZNt5e8h? z7zVhEJmR1fKMV}RBK^Z~`15<*Y5bAGUZ@uD@$O_N3#5276YbmW8>VFuRB)C20SOAQ zAmFt0@e+uxt66}|A7lxKA>lTbkkzTicWW#vapaOcMfL2ON5^W?-6eSe^Myji?ulqzbGzeVR_h-fHy1`14K}`jMP=3dv zTIKh`05L$$zbw%R$#7O74HyX2;=2FM=If~d?q>zk@LJP#M%N&nPQy!evYNlsPyW3AV&kx7rc{Aql$HWbyIHpIzMT?>v$T?h(}|X5Tc(=E_KqB^Huj>eLaBQfP7O= zr>2TJY#CW4A-6a=X`Z-d&Ako_yuhyc&G@Q3<;tP8)Pq0hKbVutOPQ?Rs7k*=5BseH za!*}LDX>b7X8Z`Z`in(Lb!U9FEP~4YT~R-D^H-HEP=*q3|7sBvWf`dfjKm=_A)`Qq z2pz0DGGas;WDK1Fs|gVnz#)tyivrMM0JMzHtNDJdt>>9OlHwRtZ}9jZEj^wP&_B7} zDfZa?0Wy*@;3pQ)=+yKUWKMmDv_u@ETB9d&t8ouwGYK5qUIF}TgCUJkP%N$8y{ml& za&DtM2u01k$qP_D&ujXTp_-{;O2pERocb+Dab>S9he=?E)wqk?^wy~J$*TY<0z{d+ zd2^29{*3;8+A7a<3rx+lW9al}GRB=Ucm2j5H_EA@!MU?<7tWrexL##liQzJ%`%j=^ z&{xW@;nJZ&skF9E8h8DM>}^PpCrm~4wKCbwnnrUmtk*$#p-2)#>&)4v`>xzu*l49%%Kn}yc@u9|gZJySC-A#wM2x2$GX_%8YAMXCCvv{u<*mpnR2W>l{i zsp^-&k|7z}uJ1~nz_}}Z8`P>=WfGdIUoTQbDclhk(>>TKllrr-aTH_8p<*@jP|JNB z_EH_=nZWUg2NbZXF?nm zTzjXmf99iR=nj-kDLQd%|7YyUKp3QE=#S5Ko6Ud%NmB%8CeeVdbXD*Q*SUNRMZk8Y ztC!u~J=A-|p7YURVbfJgc>svkhqoGN;3be?j#q8kRMnZ8={sytTE21W@zbfz<)x`< zlP1_jBziI}JtiurU~se`KQhv{)$o%XlF1*GDP3H!qW0Gfl^W? zcg#xaxL8&4cE+3Ke4xG%$4^?P6;i;J72C$0hNmJHu%=X8lp-l$GJ_LLLTvY~ zg7Wmo>wHyf}ddYI^z>hTASU4ilR1W7V0lnT2lPX^IKFbc7e#*;Fu+ey$ZKcBtG-kS1Hi zT?Bwy?;m^)7x^etj$>iJ4F+9gk4E7=vtiH4!qXG9m@Cw9|+bx*A;Yo;2xn7Fa(*v*2 zmZ%2LXm_p3J1H;Trfm8*;~+!4U}LPF3NwU~hay={X49Fl+aP(|qG2Sw#snuv>jzy+ z5E#in5%pb-%h9!{AFxH3$W6|WFhmqwU|&QU+F9vU?HwkfM_N>y#%_u}W6&zkZrTOb z)SW@H`G5y&eGzi1wQwd~S#OU>2#ooVlgC`8SzXKHoN;z z7Q>~e!{RS20n=))2jE#HB8_O#$O9pSau)u;w%YVz9BhC>Mf5l<(o3!X*?3x8vCA$> zBBl56TO|edp{ZuPX3yEc{NV7q`L5j0W98MCpEs_}KNixYNM7UK&d!V76lMRoj<8@6 zkMK+$UwW{6eAi6tp01CD;llVQC4L@fpL>Bxmi{N@-eG|LxP$1~zMto{COLfG10O-+RZaK;obD94Vm_vVX>qG?rQw(m>(0tSj& z^9^dcx+hG(8j_G$nRX1qI#RoV4c=`LVgtSN&mA84ZUwhS4dc zftp60ZchSYf`S4bP#4wsNi#Ciq<<>28k6?fKFT2eXj;^N=25ZTldj#d=5H7CC{v+H z(rH(no}*H24+GWr)YCCx8aR6PJ<&VfANl!nWPcHWkTVCIcQg|jJxlMqOV?g)7RLJ# z6_&|f;_-<3!tL!G{qRLJZDtw8mntY+Hp;Zpx5pm9V&46mLBNQHYM8t6P>wWzToI%U zBFoGVpA|-=90ckE8iWp|7UZdJ#WGnHB`z6ZNN@oV z48I`C2%?u@%8Q$OsL|0`^17gMj3TI57c?1ddaVlIjRwILKD2ur;O2LGz#W<{5v+T^K73(vt`1FsYmX>h1XowXsSR2v!@R_^!S#kr@)nYMV+%KN!pSge1#F=49D z>e6|dp_;(=j$!4Yk=mTn4Vj6121<`ZXB7yE_5>NTbjAa~qUtgm7+q)#{S7j@6g1gk z72JfzHc;5OG^A|yOd0da74fK;E`_3NRabiY2KAj}*0Zhm<>w z8a3h(54zJJtM8E$+;&C;Pu12trMFUuTO4kiF@Jn(01)Lwy+QO5$BcBb!}FekxlsdI zS1|P4VL9M<1U;xn!htRS?4B`iv)b6(##2QE*}4mx2tW!VF_T!yv`8#^Bu+ z6i)06_lv|Sq-Lx;{bK5_+l(-xRUr~+@MqFyz7{EZ`eCx-ia=ze{E#3x#AI9B8bg)I z#cZtRX`Re$hasKE`+g z&d8x)Cx5a0W9f_YAzrgio4lA+tU`iilhM_%tb?UqTBP=ea@P*^CTYZW1~@mQ4cLY? znFIxNrjti3U5(p-3~NtnR^k#%wnAk5gmtEKbe}ELE$o+6igLy7!_^**6p-;1JGZU) z5Gx^MILp{zgOPRr5)D!XE6CAoR0dyO-8NvwAx;uAJH}m?U#B+2TS-3E- zWc^8ZKAUpn2;@wxc(;rDjByIIE~SWX514d~(e_CtSDDt(pnFsEe5(nGR? zvdL57m8!VXfC;ogD|DLCrEDTgIMjsO{ca?KX+$ z8SOLAINqbW;%gHbEh^EVXFFQDOB%2^mFO^k&-8D4HaJIhlnjMw>7xdzF>2Hfvu;Xf zczz}c3a?-K*twY~Nvx!17tO>J$cD&UM_TRkBs0;4kMC<`0#V#K1(dL&r8!B0^5k<= zzoojCEh$NJ41g%f?wg$p%InblQ7Im4_sfDWJ_@E&P~V5-y3nKRII@A6h==9{+Xgvo z$TOD2C{AkwlYG-Y1Ky|Cooas^{th6nwrRZcZJkwYN5(DznV{}3`=&o`9Jpxag<;6- z4}11}$VP&W$o>Fjd(GH~6Z1axuWhpb%j2H6o#RcltGz#5Xhp`e+@RTGw$YDZF`GAU!L9&p&}}xr)1POi$ijmo2BsiEHj)IG zoe+nN0-u6^e2EBsSnPpcoDAm755UHYj1t1^zk5e&uQ%`u-}_TVyOO)5pEG@T2Bz6suUCc`POVE$N0t*q>R+CD#j321OD?VRb=lv9g}!v`k4I22aHMN604{ihv|5G;p&GS4|0Qb3~woEh+|-KRGn&W}-E z`WJfLxXe#s%0b|`n_k-_k#*}%t8n80{`+GTw>3$0igU1(8`F!9ES}$3x8X2f}xTWf(Jmr?qO?1;tt73c0RAoMjx;cj^e2IA5^sDgnS; zB7n+mGZYknj~{b`aa#!xL~!3=86t*jE@5rVKBfatovc*tES1Ux@c61WVH?Uwt8CaG ze@>7lx{2L?{vk8y28yM)X5vP)om5*+@VS#7SJ3{=;Oh?Tphs8A(oQfhtnNJZdcV$yVN zS@j{KV>ql&I4o|D1nemQFNrh5ePVKAV`cKZG-O24IF0M(&rFJH$LalfUZLTG6rJgkqy2_K$-|R5q0h`K;~2k*30XFPFY!^Krrl; zj*ZSRb--sEDzoBCgos=ajNQ5O@6A8!YCRBb!*AFB1K+8+Kt5^Oy$j#-(wvJBC=K18 z<@Z~KyBbdzU9O zA(8Hdq<2!cb?pNOmq><7z*yhayayHDPlNy~Aa+5N9&Gk1TMDEliZeRV7P3 zY-6DZ1h2;ev0~J+ncaL2hK0ib_LYeA`8%OP%zErac)+ub^^jI2%f*F>v2J8RADQhO zBBO;vZ*8B0VKE%I<)}jJH19>|N5H+dvDzn}SUbEM0g{S&N49 zhWrzB*^m*#8VvOE`2Z#+E6XjXge*9KH)NNWr$KMo79>?Dl+>bA_O?y*MQ)ABYWBBp zlcY(BM07_x-JW-~*A*23H|mtLtqO1uq|ugDN2CdVIbnjB1@T$CGFrMCDkO~p;h)D$ zj{PZIP~ZR;Zq}~&)6fspG!b+pw5mg$y-{)|9a=ZW>gXDftt3>A-^qq5l@Ru1wF#26 zpxAQD800J=3>>T=o!+k%Qo)*C8MY;)uo7=xC|&3q1gBsxWx-AeeS$;~l*cLS_GCqX zPlDy}lb!Lc(FFwwX;OU>BuiE|sHJ16{%0)n&|z_GnZmr@{$bs-Ohc1hx^v7pb1N(J zIFcTwONVBksW*M8H&>L!isw$t`cW7vSe)?R<{vS}j?m?W>EPWa=NDrHi=BMT3EuzN zv*J)en858U2wqxM6Q7~-6fkyZQH<7pFP77`*k_fJY_AwC<34c#LAc+`C@1l~FHT*0 z?=|T#+v`$h`n+fNnjWb1w#c%0d7O6M*`)WNg++cQ5|)$UXWxc7dU<)@R%3wL%-j;b z1>gcS=~!Uf9zbO_AUjE3rrWBa?bENP+0v6ClvB=UPXapf&7X2$rcy}=Dnp_tQd6tf zuHCT+AY`vD46-bU@BlhGp`!eAW+p57_cbHto%K+9HV<+udATq&&)NoOkONyr%zv+D zC1+-~v5B}#16d-dWPTP2vYe_^MtN~H2teqU3RYbmozv$$`|U!mOnk~yUl=+6OY5Na7oh&&|FF1s z03^}F_}+PA`T1lTxq_@wEg5`xUGR}UP9dkUu_h5J)U0V73&BTvq~sfFvUEnwe=vxj7v+q^*|n4*E19YH?!@ZRxp|6rvu z_}1bRKqiB8l1o~!=Qogo;mY=q=(#P2DMcpR3gya{E7p1jA6Boku<#QUc4S9LS#@r9 z0ui@n6$%`PpI3iUmby>ZoO5Z3P^JedNOgu;^kX}I+F+_LO?358D@Q&UV7Ao z=)B;GM;+2p|CT{x>~uOiD$KEq5e$E8nprVp!JXx9`&(=Vr)VhSZJTAsB2GUizikFL z32t``DxDq4aL^Xk)&<5J8tHHUNDglfGah;7!*o+q6bre?RP6;`lZRMyn|Y2$&5E~Z zVN{qmu}JSH@qRG{!ixw9_Ch!cQ@G@k1XmJt5nl>^Q%97I^^i@>F$aey?1oK`;Z3LN z{PM0NJJ#D86$Bc;VuFR|5F2{!jPgjPhK)YOXItygPEY4VUw!$t(x#IHShe~7pfj>5DUFWgS1UL`BkM(EVytMxReBjfY)b^ukHR8RCblT|80 zO|I}`EnUL%j!4LF_#Umd+mV4*?Z+-{AkR5lk}Vh%W>=!b}oYUz?r6jPGWoKI$&O9Yc0F z<{m!R3afLIB_zLTM1hk{!%-Nb;>O_oYuyN~`7*{~?)3+x+{yweudSUPL=~CZ(xA%K zX!@<*gqU@8!|0=!?wgZlOyz*3D&f%PLfm20@Tz<_!7boUhttq>IUV$=2Sj*qfSI8_ zU0;>STjCYujx_xGdL_L2doDucyXAnMP|`~)OU81w%KEpczFfs_+V~0p>nyb%4q^dF z1Ya~wuVYf`Mmt#RH^h>#Hc72Ps1TRCjap|#tE;1|Md*zgwVE(YP>-pvjH^|KFyfT@ z@&56^_lNlv$B{RsP2+D&mF!11p%Dz%-RM{azEmWkLzc9BkvIxWe zkS^1yM@jLmlBWPfE$O@c?;N6NX)$1lT$**z%zxX8CgIT!nTFad0u*1uZtA);2{8FFAYQiX*8N= z1-@pVD)2D&Z)B)`PyuoHk&h~a>+BU+7!WLS^5rBdR`7eGk1pQCQrGNIS+Rq!_oFg` zdH##9VwdogVuTXxCpEUoZ0=0WSlyjdwfO+quJA_T&Rx2?+DLd-HR_H`et4m(69^x& zx;-&xDtlRP{`6$;Kso;55P-i6_g&7|7u_ObQuuKE#6pdyAo&lbg8*WD?prE2_`a^m zt1N>&cacwU6Nnjw60A2>lElPHYid_Gsh;RuU!X2P2$cYCLsMJY^nNy-WEX(_0D9XC zBePj!h?c=k_?KELt)2 znC$n$E&nmC7E^v4GbG!Z?VjK`p9l)8=X#t-+aBy8ZsxP;gh-Gf&e-TTw+(C_dxJ9% z`)jwEd_CV|OA8!pK9uJmkM$Vk_Fb5;bv*8tR=7DlTOjVbI$e78SJ3kZMYF z8a-|NOc1H8!9#q)kv%5%P<~vFu^mqY9pwrOg~oAM1Oi0B3eC)9TdB;I|LQ*6m#^m` z<~5JQLPr#ks|0xTjDfKSb8wF-9}N)S}21$Fey)hnQ`#Cjz^5 zU8rMsBF7^gPCB^gv`gf$Xf`pKX6LJ#Rfld#5{i=MLbrz=PvQnRldK8mkfXPK<9)CC z#b2C!LoB+hitXQvePNsSM}(dw=6%pVYJ48E3bW?lOn9fj)5<#$DF|4gT^lpaI4sjo zXAgI$Y);@Sl<$%5l+MY8zJj?B+1HdHiId&&GXM7IJQ~Q%%=m5%aF(TZ|GQ_u`A3{% z&#%KU!05eaN2k$8%MG5RDLc2&Amgymw9Q>Z_>b1r@*D~k)49^(Gahii1A*1t=i4u! zE3@*eZ-LGy^{=W%E>almB3Tw{zbSp)Z4mMymAZh=s_ul`gH7D7d(;voRg4b0{8xR7 z0-0;fLI0WJ9~Kql{v}W$d<%w$2*^nG(|usoU_dT2xgKN~555JKWl{~-eNA0_{g}_=r>Mh#0_V22 zc#CT5uHUO_Ibj4};zX=!CDBQ?L?`2!|K|>9>KbAy)oCvGjG2^^caY0X#>i#8Z$R1h zccqe|BAFOXsT=|N5I0Bcs;Zi%?X1$UfCHlEienGwQQXxTKfpNku)z=CRQ&vZ9cwBM z4oxtT8Ox-O0fw2mNLc2H0u}3RP%T&liR!6~){WAw7Q7(LrF)|t#_xP4-is!u z&p$P}XZ+HC`(KmV$sZ~(DNq3`fUU5b$!(9EBnt_ zwm=*YeC=Do_-2jNu1X6w>nR*@xEK_wI5Z6<8AyLREsPWBsmoX8G#X|^g9S(z)iGbYPT3xJX8|#FZXIS4vqvc)2#?;v zUq3;=Lep}wa{Z;dL-2GYV{kNMPcU)qOFQWX(*L$INoX<;p0VO&llFKC^_DlB)M^+@ zi`#7Pr7OgBFwTS_i^5Q6(_?2aVB@1v)lZ*0+Z$N;9i_9!1vg_qBpvjM0CI(GL3z=V zGHRIzb@GfF>mp^wI$jb;1ayoeG3|Xl<8S;AE>^u3249;|cd4)iOB-@Y zz-JkwOUB`?14_{{;z{wp)M?%7#NV!#q?Z6is1Y89A-V$ts(8M6by&6Ln8q=RqM-1- zq*N)5J=h2CL4J9aKbW_ATR=KlO{Uu>(o$*uWwAWAPl$ldi!G>bJAwLE8Ez6p4*H;w z1PQdkeWI+u%$=5Cd$^V%@bdrbi)q+Sz3AP_Ne8!?x$Uaycbm;6b!-I4%VcWW#H*z4 z$BT?|j(3n=vfgjKgEg((&)V@IC;DW*&hD>m@Ke@)9sjgl=2+HH1YU@||JtqF-k0f8 zcf4d%N#L^r{Tj08Ph{~Mj{>YJQ%4%KcsfuzDjMeS zsi(5qEM>ccE04)kXUH57?rEeHe^AWK85z0>NPPMZ zsC#`yu<4O=z*7g=sxXc-hBvByvR#@l3)2XU`GcEG{f_Za65Xc6F9rIjMg*v}rO{lE z#@sb>+7#Y_N$iPo8_|V=wY^GF?hr`as;V^Lx^U!{a`RT{;{@#b$xi|OV*=}yGn@d^ z#+lwGWj6%!r(*z!R=_(Fj}gGwxUjLLlhlJD+{oyljd7M>UE)udplp-Wkcn~>kX>0O z`V(Os?Zk6t@N83p>)0+6D_Z~9zPwty{<7UIbD`@c6^t3Y=31F)6Nbf4o!CRx!?9Mx z@aXs=3Kp3Tiimv7)Dlo624=rmQ>SG0`dE^IoueUS(>bFR;4nd(uM$anv<9OYoqc3D zaDsX{6^p#)0V#HU3+A4pebCoL+29}>@EoU-dxZddhf(6jjlidtBnUUiisW&D`w*!* zGD3Dg^71YvCK&86>u2m^xoc@N_ZQ=b%XEIw8k*7oF+2hpe5^p|UnwJF19)GZ&?_$z zaeIR~1_&D4mP+7g2o@#D6do*TY?^`Mxpb8u{3;Y4nRK<+hLWEpRx(o+W)OYr!7Z9k*Y?$Ir=NaO^%<32V#78Uld zxi7j}pXcfqsg*x+G{B1g?O@&yBa#s8cMpF1@lcvfK zmd|rVz0VxJ=D+}m*|MzcF!QDW|M1fC`TXlfQxXB8) zg6S-V_zA&t-0|z(6{j|}@p?xszT;#r?^m(JMh0r5oAbkz*C2%Vm6UupeKMy&G-^4!n2N`G*|Di$-oNEa3yoLm(90rqdO~{>9mSfjQKKY@vnFDzI_JxZx*2J^8b1Jp4YWWk`L*< zME(y0fa_~;jAZ7f)(o2eg*<%?<6aMyyNP&qWz@bhI$UIcNar}C=|z5!eo8(sMo`wW z)*@?_dU&Naw=W*gBvkPM51-!3yJuJekLaMgC@?uP_UNV!uN1(aeM0c^d=H}|z8 zONcxfN+hI6Nk!|b+mByAn~iy}e0MI^CiQWAF(Z>EU9gL@i@6+~Ps%lkn={}V#1HoZ zzHP9F1m-)~Ahev#R*3>TS2rxF;a)^T!S&MS`Rt;0NL}6JWJGgdAkW99%PacI6Pcvl z6dw7J5knM zX)I&RdI`Nm)6PoNoVN@3tnLlXV3r7XUGEbw*w&I>D`o2RZ*;`nvw*Lg@uq8zU!AhP0+gp%qPtU zG1~y^<}6S)Sm^I-XAE1iS^gzNxrC?ir!r7g$!;%alXqV>)1 zeF#r*k2BSPgm{p|yw+1D@eC)2p@M;}2#gN+hnjT{@xizPJcL7?qHN4fu zv6uqfutQ>H-Y%@+VaBFhaLy1bdjSdY$T^QL7aJ2R%4_Ck@+CI=ocoOZgZ&%y)~(mu zaO|?xlozt0g46x5x#W6=P1oy-?~{n`1%K%!q$T*nliLKIg$~4!Qg>Am;ZkVx2MfOH z1fdR-G@%(l)Sa>fKfMHq-)_*qwMYAfz8E^=qA-Ye>$t~YnNOaeoF*TrHyqE4naGNt zU<-oThVFhdFSvJK2oEQ0d~9})^u4y=C~RrrfKYhg@JRo@Cg0?fbPSq*L~4xGul&*= z%fDU9ckQVzde*DYYb}qRZ}M_K6oNTxZYYduNl54=pbS|7m2y@v$7e{x{3Wn+BavTxacfq6B_O48ib{U4zFc-4^Qb!Shw^zhw{#^o0-l-qce*QZr1 z-)M95^ySl))qCsj*4I7M1F*(=RkwYtzi%{E7Cr}v8Vmm3anKL`{FR$2KGoF%t%A+9 zApantnYl3NP^6hqQ|TNe{2}r4^-W>dN6u+`6HnQgv4ccjo0&`ZeFtW^$aPjnlf-m( z^7VCO1b&FJ?KC=b;^a86PHOr?x72<6l7gf_=%Io0=S3exA@arguD!VS@#vs_`v=|+ zDAe=3MVbAazv-8TEo=QDKYA^M^L48W;vAwTszcBLD=o(`!?mbf@gp17erwau8w5s` zAGb|y9S2%TRIOZgdU{Q(g9~{vlH?s)ls8h88)}T*XTB9%K2RwyERf3z^Q8pLG!_Ff zF0BtM$7-=#wGUoZByoS0w5VWHVS#kpb$kw4HEyNW`@{EJr|kUs-=V`lejGLm&|#ep z-^a?H{`L9b?9Z?Jx{kVcjszH>#fN_WKWoxJKk#sC^MTetDopS9idMT)(VUWtB9XRX z#^c-GEZ)bT5?GWqlubw#*H10lE?!ua*jgO0m=Qk7dhMJ4egYz|5I$n~YjH}YFzG``qE~pt#hwl0z5F}vi3(y^4 zQh1GH!T+K7II_4pJ_y|Eo#dNV%1f~J*Nw`U7kU0J4_xoY}!p}PG9i?SouaL>CUr23&^GNs8e>1h|*9$p(|{X3sce1FzYTE6h>r+8K@{WrZK zZfQRMz<=dThsQl8tuGtIrbIj49D-Z=p@tLg*|Ni=V}K!7~6R7 zZyMkZ7bbZVHWpp8b5Kj0Wlqxq*O-umkP=sAIha`w%Yv0e`kxnIc_E`vRa710*DeVi z67a%($k}y74-4AqfynHLnBT-+h zS>JwUZ}gt1pg0bTFRcn}blC$~pWd9B8XJEKG4^@I;Z3C&f@sEO?KLL88*w~Br%?gNhrJ;Fpo6{a__TI5ye3bp91H&y3KA&5jr~x(gYG|T&?3%T3E2kU$f^fjNMAe zPo))P-a?{KfN)z{DW;19NOCs~e@rHWyP5RO4Q&n%#!PViNoGA;`t#TtHs4|C;v>84 z`M7(gJ!uc!!E^-s8<&PU*zNtK-HO+s-t$uL*gMJ4*;Ko^u4L0&Mz?#lP0m%GEraX1 zw;GxHaU+y7Wx=nPcN5mr!b3kre=IfBTW6qk2<9kYZgcRDUu_c3c(E)RC5CHU9TNV% zd*zERS_}fYPyp^18RQ)r+Y?~=YL84Uti>h(jnqVoBGle-z)YKOiEr~*HbGYa(Bp-g z>+G~Nnw)~65boEy&)DsXRX|5hnc^%pHYqLBVG0G)kb(?!_0`nY`m0u{a+h8G>JlqP;!JysP8e zFO~4GdZ{F4nVv!1b(Mt@pd83uUsaf_mV}i`gM8OFGfcp^RxmK~3C0$&Rt za!5<0i2zh-!SQZQ_?Mc)=!QK2mIlFKE=^sde#a<1^=*PxOv8a=*vet`0&5}gD`Aen z;l)f_&{d93X!P7H3DjQoLa2I%Q8K)b**%R_0e5-SsJ9t$wv%TVtYYZ=v{Rbt!n1y; zKh`mEIObf&G|g$+<)F`@Qv;HJVIe;-Up+ntT?P(+@WYq_6`S_!*6{zll1uVXNfWpq z#srKihThX;D*xX9`u8s*&2F?Wc4j^8#@P;)l-EX0Qz_Rcj$ZaYYaNp;h#okL#NU%A zblOz1A{tYU?Uj_-S8T6~^sSf5%0krEyv*4C-Su{Hg?UreRC(FvwQdFer6DdcLN^&U zDtz|jOigmSGUn97`88#EhV~qOBzJ=$zHMZ-Su?Y@rE}9v$Mx{DJzE5>zN^cO>b?hY znfZo{Xa=bM!v1RK+NnBM8f$5AFwbUtu3MBHG-elR7d6hXWAi1Xp#Mq){Je0)v)aRl zo7BRi4yl`Fd$eiZ$neb32xHB;Lv3}Z#;qz|r|fUr7~_+Ume`EJP8;dZoiQ>3(a*X~ zmz7SJ(hSq3{1N#aw4ZUU?pzFqd-%PB!Q14I}ku zUKiia*W0(-^f|8GYxwY|hZXeG9xKTau{ITD2O;TuaphL?F}XvcWRjB_#xgM(0WXrz9w-9O8XF*ccHBCU;G(csPC{`0$#H`BON=Vz%lmRk=Bcv5(m4OSCBQ$CAAy69x)Y!nP zDGIY_+{ja^R)Ub0*&Mdd#xmzRK|177hTi}T`&_K4){sEEqz&At?YL%e==H4OBJl)C zQtXlwFLn8wJs#*~KaEoL6@C-S)<9$7Lzk~ zZe6-%$8EBl`fq*}_NlFpH?Q#*1JVFBwk__HsgeE#I35_GUG*o!MMHuc+u*9P5P7N? zTYL(stuFu>yphGDY=;}RcEI@jY)l=dh5#pEYmjvWxXPD!k$9G%r*DA&5r0wNP>* zH9u3cu~pcAbl2-6aj1V#RVZXCq=lfbp}*?wF+iIkzM3`-db%nK>O1N)7K_0mKAZky zxM*N_pz8y0@n`rq%qOEy_%*3WVWNZvT>+U|TC=J`{ zd!a-n8Uc{wZmmU$$CO4{*IRLGjQgy$WX*^GL*22)GPtc7+V1e^z5LGu5Dvh)@Ew{h zmhT&F^%&HSM4W5@><;&q*tBq)+np#dJI*Cf*utnWl0ny_nS*NPrKilgk3j-h7dlX2r0yjB23e&X4n@ zkq8}ertsy7 zw2~{maay8K(*wQ6Y-P-^_7NK`3&S$p`rH^;n!`#v90*PKH4$Qn%Mv(xQ7{~aiZQqYPH__Y7Fo`?zT3r@E zTKkEUDTG8`%W2q_>DQs2GW%UT=k$W)&cfw*J!KB*qA~G~Dz6+_aUw)9Ia%^VKRa$TvI(mX*tejX? z-IkX0H6q}kfG2Sk3tTv2A;(5)#S`*m0WzsD--=%`-dR>Lv8rlyV#1@R(Hry*2X45t+?a03E#FO~YX<+p3_~h}=`n z=bNORF{`iRa^dM&0!UJ#<5bCPtIvxUKCKA~guJi2ZX79${dmFj*?k*&{ELR>JWI3T z1wH=0&9e)pp&ySF0<%%w+xIIjXtV*rlok4A*S{Gy4e$a| z@`d|@nx(ZjPN>ThB);y}2=n4l?~(c8Ihc7V%^|$9qLMMx~G{N}g4kgM8)XrTe-=pt>`J2@-}{2im6^tI_p<9|Awv(Ea@H5qIyK z|C%H~;B=bclD6t%#@_Cw-8{G6iF+)hf@es^%8jEpYZ7PIVcs;iEM&&?Yd=Z?XHM=75Y&5@MWl7v_QNt>L!Rp*?)46agS1wI5)waLq}8X@(^ka>hzm zioIuv6A1DN2?yVC_9Zz=8?m!(=zPWurQSOwY7#zyY$kmXxJ$Z_Lk2953EY6&bAId8T2 zMsbs}j)My;6J&Nt#>s+*o{@=hjt?E8QzK(`9rtrldq-Lro5bs?xba{u-2xq){7{0} zMgBBm&GaEeBSw+asPdv|!HXqIcaKn|2RB5;^#G_tSp6@h8(r(TR?+KR+gq#mL6q%P z(Gz}wwhfft@bn%g@1%WH{!pVo#h^7H#g9ec%rZF>6%(TdeJu+ zn{3z&vCy0>4m*(T8KOEAsa8iG`T;;l^ACg5PgU-pJA7HzKg6hCTa$W!!-o4Q)tgN= z0QAE`2Yk{^6#B73=v}a`=C<<}o10v;WSm7u3C-6u2@|@gz_|MQBz)i$qNKPl&kF8*dfC|gSjZVda0xt&$m5t< zy1W}5bI|I>fzkh#ow*=D77+pjjUX*IQmP#WaN-!qQC2LzlcmMLvaB4tM@?9k#^;Sq zFo7lO?FTswy>WWPgloagvjtaw>ZQe$@!Cx~8)EQ*bQ})s}Q!FOGMaJDEMo6ipeg-1OO0f!x&S2-^AuD9-)oi3UGM=>Rj{yoEA6 zeqrIWIi3P*bV5!#&C@khPWA3^6Vaf1tDfalSB?-lxf%A_* zP8h`(^j(k0&D_vd&X+pdr{wNOvucmOsm*19U}vC7Bn4&b3P`Xly?m^(*`;Iaxl_l+ zYLG}F&#wKhRReVN(m&?B+5DKk1t@>i_xm5%Y6_`?V85Va=P{*YZP`XJecu%MTBlae z76CIrF-vbXzn-<@Qb<(Ia_En+=4gm)Vzw|hM^_&u zGDz7Z2JusmaiWx+Lz6H}u%+AXw{6?DZQHhO+qP}nwr$(C=bO#U;;!xwsEEp}ii*g} zljqTi;p*EiYj@ICDW#-nn>OL(A#4N`N$c*yt0nTuO^RWTzUS@~`HqWE^QSU?nQojH z29fHPY=HkD6Ja(=(ctJP|~bZXW}usj4A-Z+}_pcSyghq zTyh+#3_enBFAKfVZ8Ck^WXZ+lIS@@h0~fwe-mQ0jzOP;>+`!V&>c#n{Hl1AM@U@{b zj)`e#1oPR9#p={r9AwU<*W_yR{R*nnTes#6`(-oq^nKyN&yXqTzx+rD?<-Y8gYt8) z4jEh}6>Ck{1d|9#PzV}*z2Eo8(18<}Qc|d4asYQKC%rwh~rIa7Dlv zB;C@2Peyaa=$a6ij-3H2-5Vd~y6)g9lX zuwALV6&;Fs#59P(|Dt8b49gcCjr=V97naU0g3g5lIq?&TqCkYug;Vd~%Y=DgIMa{x zAxH~^&0x#UH+H#$I4=k>^B|V_>^ngjrit3Th!GyT%o>tg1qN-EB4_~UroVH3zP!9z zgVrs_dVGe*#VQO-)t4k}H(<6xBqKhe{1xfFWsKyVpGBoEz>^~ZDv_y*{ zn_EXEC31+?)(C?T3M@0zolDttT#qXpYX1~}#hNX5Hzas znkT(wGajtY)~5Puje>kgi~O_spI!UI@d0dR!4lA6CbMwIAzu#!hnTW_;so$zcFUR* zJJzzovwOCi6HFT}(Ngp&Qsd&)Z#C_Qy;&j{3&*DATi?8^Ap+>n4VL&{4=!3LmC~)B zxll3~XNPbm7%9Bpp=CPFvsgLz=n!gxhY=DvY~K(!9S_T_M@+)qKby`vrSP$R>C_t1 z=M`X$3K1>{WE4o_kuj`^mls$X2r1M1Q_u&<#zbAI??j1-J(%>F>js9()xC3W>zN_R zBJf1TBtcJ{+H^Lks?3?X<_WSi(i(Q5(yITosbYbu!BAv=DN_ZgMXgY_?JGRP26;Tk z{o8P?GI;T-ua06T7RU8dn8rai1O{9lcouE?P6Eb;9!kg#r)!C$!DqZCJ>vd@1q1?s zSVt>krWcdXVyS_O+lZ!v~E8UhI z+{50{;4F|Z0b+5t0;2FfQj$M1s^7a2%j_$0|JjJ3^M{KsR=$w%V;Z-8{82U0^H>)= zmxvyyfiFH@2Ea}UOl05)_Uxd#_h&&9`}(-&gx0;2Jp%CjcG8jB=inZjvk@|Iq7ZDT z0jzUFo5~FuDKy|{+d&9R&1vtJTN&a)xX_mmjx9_gD~UF+4zvnOv{k8Z+BQ7&mDj2B z%W`BN);F8v%ly`IS}!3Bc_nv6Es!LJgz;zx%?J9|%N}!ShA158zr=fUjG~vU6{?w| z>~AZ%Q;N2!_%&Jaw_BhN6DLJqC-cXjdV;q2qNh?cM+Q_m@Z{QNG4rf@ zPqFjvu8hoOF09)6I)=amiMuq7tXze!FJD2frPqKzBrB#~kR!C&?C5satZ&TG4aPWg z?@gm%9-5ck+*&%P8yncfjgMUgi!IT|1yBvNHLBnn*JjaZ*5I94k9(xlC!Cnp%n+0% zP!yzMqeWnlls-nAti9m{5qWt!T1KfO$yWacGKWE4nIpA`@Njs2`Z~jTv!$h;Y{GDE zw3-ZKpx-##(N6vM13?mK_u=-n&$scYbPFzt?Q;o?+aE-Lb?WscWX2WauWLJu+nMc8JRu7W>ugZ%{*0ST%N+n+)78 z07r^|q7gOw*Wvhg1cjPN~msPeXL$*B$aI4>|H{0Vm1krg9j=@ZbR4$WJfH}b=D zpPqxnow2=!a)OqEe8$%xR0DGl5jujQ-wchypxtU2r>_%|l=c;~KULCBvj)gB83mC| zqdQ6fK`%iT4wnv>4mXJehuc4Ui`0W&165_{#+GfV(LtY7mRu;a8A1(>U7}ZrftPiz z+t<|I-Q|VF12qu2aX@{dp|{AlfA#fS1mKlOkeEN`oAcrx#QK*)M8*hdj^lhgxA?fB zFr2R)uN}is*Lhu$LV^IsGENl9HW`;tUO)p?oh@xPP%DRMmFPbp5U zI8m$`dmSq8Ht&dIhF2haYZ6)K6cf@>;BLQ;udv^?Ys%eZza3jB-j(Mv#V*z*luJjN z#h`CGn*qi=JgosxC%=jG7alKR3L3&xk=KK5B`8ZiNgv@Zy;u!M!KwZN{mlM#aG_tc zr3F8U?&1H99wKZUxMDrvyW?;BMdXtq01fx`JXo~gwm1_eo`;Vy&}`FSZBL~O7nAsN zz9La~#j71D2oVi(=FkzD*{H z;FB(R2TH{D=BhuVc^~}(_g7JxRbp)H4#U`(4mt^^YT-411WyxV6hiilI3!79CS3>R zb_gy_pm2G`>Cblq-az3npvFut=r9XS;!h5PoQcJ)Tpx5#u z-b8T(vXHN(qMI65o4te;2DU_DuXj(EA`nh31r3b$@{z>U-sZAI|1=)U%V{qVjrs_U zdlBH{8QV?1l?m9Z#}hzef?1?pLC~L914ZZW0YUrV8W41XkX0dJXMz^<(2yxh73?o_HLC?MQKg3+&Mutx@DeLpLoeL z8UD7a%+-qcsl4!do`y~3l-^kxgB(8rugk8WtOv;FEC{FQe!r)3W)Rk`y;oS^F+y1N z&sdpPXhDrL0-By(hcUg6oV@adR^oSV_pA~gb8a4r~QStoKQ7*~0 zjOsd$qd~Z>QF~Doq322LJzSw)%In}D@R_>a0M62c&8xGLJ3pqFb}jT&SSk1X*Fc(O zcd{vynImp*u;^21n60Rottt3mv-W7|x>GygDHHTi8DV|VCvjs3;#L*GCf%3(f{td;%)hn8gEsiVcmDBRcbp0 zLYhnoGvhiv;;%T*9Rq)bVwL25xZtY$)u$$y_*&ao6^I8Rsj9_c>*q{}QG>_Km6*|z z3qunW{`82eL!fpXDGI-ryNmdf(D3|E9GaB67+OHT=wopom7kAr-7~wM@9Ok0k-6F_ z&LbbvWjKs0m^=X>YF-&gRO_r9rk{22SuoQ1&scplWlWp1bVa zf84omeV=p-eebpB^>DsBI2co{!qLy+mEh$0u}mhceDgOh(5CU>>`Y*a-TM7ahDM*9 z?{_SqL5ku7@+#YD@JNLqqu|E&gdnIWa%v~hv1Fa+q-mHoH-4W226mF^@N+*BZW@`W z@W3J1kN>}`KhKN-EM}lV$VZDrT;tdBXI6^U(}*TZHkd;%8-T7JY(z=twHR!4OJ_@t zcD0p7nGBgxMZ30nO;`w1vQ3ZTrsHrQF2!2L8Cv(6VuD9C!3Q`OOaP@6cSEP+!|CF3 zK3h-Nw$A9QIP(5m`JIvDQGx=hyOMJJOf2bWkKe_ac&^L7oAgyFIw)RMGG`DSxDB}e zk;`6J!dWqv4whd-GS}{6F*cF}r7i90j=bNc(jdN=Z-?ycem{pMN#L~N^e5;V=n7S) z>0qyaRkqaL-cmC3dYKZv+Kv4kuI@d6F4otL^H9omg9bgOGL@0JE7(nXeK+X3Cd-e~ z6o&;^kvw&oC(aeH_x-ecOlWE35h-=$4P2*-Ib-d+`O2mA+Wc``l z>KFE@MT&`iyW?h_{@yl6fAK1S&CDsbG&$kN4E{R}Iw-1&{ElYShK&N2 z)rAGwHC})k5WHhG&2W8MT;M@RQ$5CPGMHv5cF@(AL*JTZCY>#@q^d6 zdSjHhN;abs86_aX#G91Pcq)O`jGq^`jocm$# zZdg_is%buX1hftFQit5Be~9A{0PW-069Y$|Ief)-o&@PJ0NfartgxSirJFL<9NYX- zN8v!kwzHg2h*}ELf}0TW=+MTB#tB46_vKCf*Yvk>xc|CfB#Pj`w4ok-H&cCl`Fk!q zqMN&lw~b3a-ZZouWUJY#)?jIHYDo-julhP`{U1&*s^ptVmseUE`}r3Vr~&E&+a}#0 z>kYB{XklDhol=Y-v{>5yHBXwfT#j1LUW}qU8CtLxG*>~T({Yj-ZQK!eUE>VoUQ1x0 zgyLf`OTE9>F_QdnhZQogI1hZl`DY93+@)NJ($EJoF@R&tfcCBT=JIp1Z2W)nfhnsF zn7?9TEPW!DGp9%X$E^p)LFNN$1HJ-z|1ILBI=?@N{Rj4$!VL|DAj&u3IH!>#J^0cH zhtys)_iSk5YcgU^K#CBzkqD_(hj;GS-0`}h7~uAfHQum{pNftB`1!@eer2HTpV-W| z^dYY&od&}F;(I^{OUF5MEy^7p6{t&SbNQYT_%Clp5xlO{9%7djra**hJ~x7FgenAL zDPn=RD%gj+;Y%%Dxl)JAcAV=ZN_3Fn=B{jvLa~0#gnFvJ4)3esql(3YU2zp(!hXkB zNQ@lao@-N)Lrdya=g1bZbV%Vn052ujv#EqHIng{`$IGW-!KDEu)iMY_o9aFrAr7YC zad;)|PdOpA%dy48Jo)}+b&cbH>5>)`Dk=?tQ{|ZiU`b#$+qFK7OnpwQu=sMfqHqFKPFcdn{qATYd2?KDM;U~AIoLi`2Ce187n;f3=dGP~W#%2M?-ga% zf!hT?&;9KZb+j{XuC=E`MWQlz+_vC?PfV!2p@pX|X1jGR>I>beygOZv$IXs}hi^B<7Uca@Yf+Uixy{jPrcnY~b_?}<^GPfs`Z=Y8 zp>LX+&NOfr`4Y{B??g^VruXb;^l;&odC~RxMXw!!$9c9@p9*3V*Jt1ApjH7hq|MFJ zMoF|K9r<<*QX3m)h)8Ga4_Y$pn<1`*g=M0gFi!Tf@5hBS5KI^5#}}4I>-M?z8gN_K z`3!vr&Sj}FEujT#b}`z=enjxZ!%?@nJBmU^8Kz-XA^{;2A81P2KLcz-j|(Nb4eeC@ zFp_iZ!9lh6HrK+y(%5CY+GxLO;O5rgZl>$eJ3EzX+5))5%z$qR!s>rbh(hmLJdK$? zPn8SbaYOSf%E(q^CQyxevF>(o7pq?>BIwAM+Dck2yJa?>1E$rxh@Gw3b~m$UJ5rI) zD!pIT18ReiVaq6B7_YFoNSlwtsg71@3iV}TNk7bb}HEsC!ipebXz8sK?K}bpq8iqC0AHLYf_Hq(e=Ng1vlmQPj7n!HU>aAEI z8gT!xe6h>Q(%F4+-dGCJN<0WvJn=gEk@WNc;1Je>LWM$Ju_qag8a4=1{*xphNe1!g z=CBN#-#{MZnH`tOu;JX#dK*3o(ug*a2RBJFyPXzz9#Pb1mGH++i3fnd%JiMVh!V(h zock!DiD2+;C<)5Y?8Pkj>rL3P=|wZs>^6HNIjh*Hs(#Jaj<5Tac9pCUf6|k#9v&`!oBR)3vE;NYvHF0W|>< zQ(7-@r`0qRJ_;A-cKV79Ki|ITnWXWG_6{bqpZ&ANc96o>ln2#g$&CNtf@1Pk%gMI4T(MRP2MK-i-+=x6AvWx@JLG#G zKuacE#AtSf@Vvp#E9(z8UPq;PK8B*KI%;tuF>EF~b%#~+aUYP|cYB=kAGJhFxqge` z6D}MPcvx%;jgej8qkmXz=d)CFv={Y}kJV*7ef+tmG?J6&+so|1?FaArDc-*u?mb{{ zE?#{X20Oa@07ms|GdySuYYkqLIHcC~NT9o}3T?=M5$&Kuk=gqbHgu|_Zrjr+X8G@S zERE1gI7d7>=)^)ks)+1WZq?oC+oIjnytA|(KO&`K-oq6)u>}ZYHFg=ryv8{-!aLGf zo0wn9eVh43UuS1TIO&wnM81cvyI{tCP4WdopA10*j!QExyTrs!qL6OAa?_QLz^=W| z`)8;ZcZ!oDN7ekF21{XgT|sm()h1||Ph zd}yol_eH@z^6!V0V((X7NUqr&>^J|!4{4iMPHYQMR4ASi{ja1@H+t$|!}*81^LvT( z`nDDpL@j;hB{8qnDIhueRwam+mfZj2z54zrY6%G_=ZUm6;+U=QgxChs!L{ugJ zoeY53dbOc=LhUlQe|Pt6=;tswHp7b9YpB$h%({T-sKo$zRgQ`^4Qx zBtK~z;q;*Vvs7eY-tqm~DbXo|Jt*UbY?QkBByCM_zel=*&u}57<*IUZU{4@b0aORh zTkgQTB-DFcP@i9EVKgN66# zy3{4P%NF;20spTx`4-UGX=Sn{sOy7jrx-Njn0;?zHk*u)4FgksylJG=Kr}<+qtR7Y zqr(W87cC&YEkXXH0^K#nqHut!rZ&QRPY&(!27n$<2bNuzdD(5l3%OH9T)vLSAc@Y& z*YLCa5QT1MLNLl6>|Xnj4OpKBTuQo z*HLuFZq`jzR!m$qCy9eY6@{Oa$-ci+Bu5%I7oc9<8%2ynoSeD;0cvsCR#W{x>4JY_ zmvBCruZ90yYC#%Z7IONzTVj0azD>RT0BQOI2xt7DqDhrH9r6u!tiB)K+n8bVem7kG zd{V*XC)NJ8w>MD%6joOiVAI;|NGvO^6NEKM2QVa>`@+6WZt1ry+h4Ag>f1vGAjCDd zyK5)3_uiM*OTlfooXAYF@Hv5VyFAGmlbRj8^p^F&M1t!$uG=nl<@1jq<4MDJ21T%) z0JzBvWjcYkrNrGzvyqf%-$G7@y_W@`hUUmlA~o#6-s9l322ek{IW%lyN7*a|{=ge_ z`fbBj&PDJ{K2^ViQF1;Y6RQzwTb$?ph;Gz;+S1eYLrQqX0zz`7=D91Vll zK{oO(=qgLu42pMc$;HWetLL1KFB3NG2#^{5DH$SNTyA+-8*CmhM751ne;Nb>2~)9- zCd#EW4Lr&siuQT05dpC$I(O2>wq|1D;F2JR`Z1cPFIM#+e#d%$RA1a6nStNijXQX0 zxDgc8$9g_G2fCGyA5thFZ=mRRwsL@P)Q72)0j-!ghD|*=Z7y~suR)^TA+;2Z({5f# z<;Z7|O;?I`W(^SlmsU+XMAM~Sq+9<1 z7ziB;zgF;U43v#SJ)cC0t}Xc7Y#|=UqGa%BB*zWa2>{;<*udZoU`VZO0$3+rDs%kg zR;101XL7Pu9t$9nN6|?M_pxC;v0!_E=oq#^y!9J?vSJ0|Cj|CPaP19t?yNbV2JbGK z>}+@b?rs#-ZfHIC-*UosbLkIiOtbODayJoHNddD5#fLdU4Vr!u|DftN)k*d~)an*<3RFRyDEx&gH!uP$<`i`2MoFT;J~-atC|^4F%$wCHOhl7>l0;23NWsh75+z7`W_rRc)JyA~PtG*6 zg@{0}3peK%(`A)r{P)EaHA4MTbqjoRE}8w~Coz^6{~Q^@{;?Fqc2yekAg4e+birYQhk&X6JYWA4wv|`(H^|itsswFPHL*lN2ztwOLa5hXDdGez50Uz9eHe zGQhidz@M&BeNme9_M!qJTzr4(^F|`2 z1d#t6ue8(tW>i<50B=qF=@_4;g(RO$>b<+da5nyI_PRYsaVf*Uw-A0aTnFb1bk$m??qAIH1ZC3OB)EVPR++X0oIz>@c zM?bm6ARkv7zrL7Y3Y9rvD$l-H|&1bC4Y_^I8SG4Pf+)e(+k!VH6CeAH5l24 zG2mvG9D)1WEMaFxoGXFl=YlCa>I9dY<$Fw-hOkc17!D@3wVp5KH>Siygzz|aGt-9D zzb<<2sva!yhr#Lwp%Z2>M~9a%I?t!#XwIqM{{FZDy)+^1N;14K!!Jc%{Z@t6Lxw4F zXDpmgbql`LX!K6C54$I4)wlu1qozw7y@J?tvn5*Ru5O%Pi9MKxmN9nhN-dN0?c&F> z_wPjE<+Z@w{{bCT1$pDl4OO!0O?bI;EHcm^ZkPWtVRKOX-x}2NwGjtFOnj)o*gOD>-Oz#`z+VQ=icj~FIb8ut*PIvTmFm$ADQ_fxk}N>(hKT2W_139Wy%Oo_381WzN8ax2rDd)4*VGBF~9OBpaFXf>=$U>ire9&A({y(PdL5RS0a;A$1wh`L;^CjJV4vX1 zo!oNBs5p?ei^MBzNNTOBw1=%zF2I?;%{6CoCffu&x&WK8MF9(I5KSsTAv(?>BIQXs z|A$oFpmv<0bAsCPp4!2ayD+MrB>Qa42KMndK8Ia5(#E}tr+4=lw1u>T>dl7<%?Qqf zWM<$1yQ-z(UGNw5lv46z`2^{G(NPF{u@R!oE!z`y>YJToDI{yT9pBFY={q*E)ciOY zBB>+?AeOEw*ul%aiTx^*#_7t)_O^;DCsFy4W+VH1*Yl72G()U{v8V_cgU~E?rfttF zwU2qeaIVjOIR{02x<_=@3OsZ+hozwi<6GK1xDK)t58p|8pp3D5e}jpoF2{2< zhYJOY_iqExyoI={qQa#8XvMPL9VUnX9uX0BwwDn^wU(5(SHkCk@MXIoN{?Y7jV-|S z_KWrL4PM7dyMA$n1RsCE$dUA5gW&-9qM^iONk&6L6kgvTQ3_iNENaNKB}J=E73Oa` zE2GAaRe(RRVRkaI#;7DxlJZu72CQk`y{y3CLl2;As~z5R`CY4lO{jg3LuIXybX8P` zszP4(7ONee>bDOPc8oZE6ChTZ?MP)SzR7eiw578%2rEk4J!P*~ z*UethZRjGK1y;9(iNj~&>M4)9?F8_bFM0X$>W+_TzWS?Qd$cnI?VSmBA0;-zL?ru# zTeVh(4vswp_MVO29sTdQ-|IvS@N1a@_~;F~Zch$O^!L}S0Tl2;>g0@P?$z_>*LwW* zaOo$)gZ=HCq0ArRXKrsWAb#(+xnxw@Y)GPy&3vi~P$fk~2-3*;c?ETCH(e5t%7v(; zMuhA2Eo*Y~`N^L2=}CIEvn^#OSw)Ryy4bk%*P85T zKi54H&Z0d<<0ps;UGoC?6gvv$fM2Em`z zKm!V~W(1-8Tg=qaBV-#XgmGU<#V{+r?kf8B*vr({y`6XBt!cA!LrqkQ+iGUP7_S1fBQ~VfZf_d;R~v?8RPeicFye&-~|)JbUO&*j;KeI zFoHk5IVHT2G;(WDOMV310<)~CvAn0CjDu%`BPBssu^HcZGW!Mu3^ z)nFnihUT@DS_p;`!(j5%NI327WPq|qI`CQ1X+}~c8Q{h4L_btoev5z=Y{qPld^1c0 zN4QYtS#xl(P%>Ahb<s?-sUh z;^h{0jWidKpa`tvx447;R#xE6f3AKD#cs=rx7Rg;k$zVIhk37Jx7!oXL!En6&x(P& z#qf_wTlpt#mB zi2Mven7o=ow(aEMzoHB#UbWY9>k^MO9nO?3LJ{dt;JJehpG>j__h|r@PkYbMhM>i? z?Pl@cPyIm}-quFgF6VhOXY4wpch!IR^PA1~+0pIr%Uj9~{JRizx?)u~4n2a%v{&AY0kY(q=2)BlXcOf0=e(wk%b zzAMzaEFb6&fQ|otK3ss`P6aCXKbO6GHm&{Nn@a_$FiprjKvObP+UE0Uf^IUSv_<8$ zDJxL~(YBm$)Xbf$V8oEq zl2e1>I#1B2h61&T0D;nshaRlPXH_ef0c!++uQmgh10+klA5RQWZ_RrMgWTK#1xHEy{Pgsq)5BmoN+6`B#c5uwbJVp}J2iaf?Q?%?a}-?*pZ_Q5S5xofaFHv@ zJ@7fv)_H35o^WiFl2M`Bf)GKZ`6_5qV7E0O@zH(tUK6wqqz6s`YO{lQ!V_=^xgQjU zZK{7*q6jMqClEM*{K1R*RvC@ux`C82T`Z=i$6Xa2>*&1g#MZ&tyX1mXIYOp}*~>~o zTh2z{5|bagXq9B(uf$~Z0O>hx)JzXKkRkq7E=g&fJpFlUZ1bQ5m9Jcd{+LXedo}Y6 zuRdOFts)oLW;?+`_ZYeupg0SU9+>74Ct2ps+pgyS3F6MAo3CU61v6O!7(l=CdjyOY z=*1VcJpmh?rtRotmQA@RTxoKP$26t{VfgQ{KgK^naPUMt^V|+IzO_w{qg$*I#MfQq zUg|eeB_~yPUB3g)hJx)oOmd!98V(58@aOsT>1>;RSV(S`)#cXnJD!3%6xsWHtxmSH zFO_{`jV*12bd5u8H}V*QKcmPYdsmKHO2~W$&?%a6ZOtr>IkeqX=@w7SoPTv61*E0c zSLGJZcNd|(W8o3?H*TT&FX`b^4}t&B;%|Qs9of(nIC0nJxd=EJwd(KMj#5%WdoUt_uow@XV-f626w}mnirdcP6tmBOmD6!Qb) zf4ZwAZ0`kd04Pzf@x%sUW4CF%4b{y1;+;JVwC{t9wfG$t0#>D2OEqi`@!o3PPTVL{ z_(n)BEZ$tZDY(OCpF`MNSkP8Lh|Gr7x-{NBto(F_5*$EDkM!_9H>03UooSq~@D&X& z0X3)-x|87`fWzu?a6;k&>1`f9Zp+o{~*?K)w3xu|;( zxsOFg3?hZxz^GrMo~@VFo<`LDuu|J3HEI-9s8V(l`Cn*KcXt|KBkKzdM~n*F6hoHF z&FKcXVq&dXb~;y`D{a;dhwp8aO0CMswc2VOqF18K@pan&DvwmutJAEcK=-`?8EYW@ z7F=HS@$%PS8P8mAMP4rYpk4SI{FZ{RDNjfrn)&yY5pDwiMT6GBu*2WW0CIu-Ju+Uq z9{L%;hOblVFqDi|O`JJQgbTJScM4wprANJ3tpO;TpaEpBm0pVTJK@BP)@dAFS!QUk zTB(2Nf+wdD1<9T@a@^K*MdSz|#`S-nF+t3G{|8Qd+H3t*@kCR4yZ1cR{IKD9@jiQw zlL*Q-QHt>kJ2;&I&i_@2$MLW15#T8VE1E5ovf}e2_d4()w{vE`i+@Xk0|J74fqfpv z5}({JT@|ZS2$@@aLlpt_^@xhNi-;Nw7G6^fc2;Qw&yV%uLLx4C@0x#ATY4jx0Sp0Qi>^nEIi3P6^Nc=&U;|IE$@9CTVd*aZpF3bDgkw!u>&-#FUXgEIE zdk;Qeksy`#dfQny!i{c|*3bvVCMZ4{+-xLlWIqoN*5t^s4@RkvH;iC|+jTP1qhq0B z+B(EB9OY8#;?*eclf&W_^nIIziC)a_`vv%(>v<9)w(T?63l#9wd?LeivpT&!vbhkC z>sjL>8SlXE#N5t zHYdpVM;h;lnEYrGEHJ#^s$W6YQ$Ch6*Tb1Y#e^B(!e)ta_-+fm^Eh&BPItW*69z4>ga?fd>RghET zFF3D=YkYcDxJ2q}8rsujh-nC5p#X~g9`_b@c6xh~071{|N@=tlkMtuGdwpf4pZC}x ztk*H!HN3VRWo4DA*uS9gh?dgL{%!cP zCb2WAEE3f{cY5CuO*l~gW2)8shy_sUYv9jyGWTYdC6X+ulQn>x%Ge*sExLrv$6tTG z)n#2mBc=ms?Fd)`mF(?MH z{#;q>!wryHQ$fC=18QG(1)!N&0NV=a+-wTp+5vfdX?h!Bn_n$ zcH=oH3=C5HaK+=!@eW5*DIfERc`eGk%jSs%aOL$oh8L09X+eesutXUp;^MGT9`6?Mo1+?|pYp0w{c0O(dGWnDuTi zZI4~V56#5Chn;Xkaj~$F#Yv+(DUNw2?~`7jZkA^@%b1Vx#8;%9JE?j~;-p~3gTzQ{ zWmNS_;(ZH^3_qp7a6xv>`^tLze;TF!#tnh)(d~*^?>*!?75uLS^4sNq|JK#mBZ^bu zd`kysT@xPWkaPf^RDCdj&>Z|TRSf`<_JV$uuyfeK0XmU~vs9P9J9V4mfI3T=SEb@1 z2m*2RSCNe7kR;U#R4s~I0%L?{X_;0d0Ni(_Wr{*PbXx<6CgpXRS#$F)3#Kb75o8~l zNvi-4+%<#FZMnaQN>GXF1@g;kG9p!v_Rmy0unXi9&$qh4^niw+m{f?tA_zTI{hIlG zx{Ead80$>nFiX;o2$_cq)NL&rW%IIio|WN#m{B*FBrbC-p;Yg#Em;?*9pi^-CJC{T)gDLTXx@Wz>*&R-o$@duPe)W48T0L0!khNnL z#8Z)d3UFngqKTELpRRx`sIIaNqx< zV`|2xokqJ;#=~kC!m2YtfwCdqw3@Wj9|$DQ=n(C=FiPo8Hq$62H!=b$V?Dtv4kFH>fu zR){$SIjM~TmuDBKEB+a@^e6ouK8mBXSMVQAChfVqbqq*d3r=a1UzcXlwJO_!|F0&? zZNOkcAm055AtO(+%Lx0~$a9{3Ve%wC>zruRn@dG>L_lUHf0*;bRclm-NALX9Jyfl3 z3qL}#sg?gXPm5Hkrx$a?NPSLgW7f`^wv^h6%DtL6>~+~xG)N9dX4uBJ<*#F{1*k^u zg$`EU(0kbq`|rq!UvIw!c7~6vJ~?CBfs=-Nj7f?;)hqe*o60_}V%*#!H=(G)LoXm{ zW^Pj3lIc#+$t&hy6K;<~b1Oz$1{hFvQJClHVF@Ty2xY3=tCn$+ zj*bhfhSqs$!Bd5sYj7dCH-#<&r?4O9I)BIP@qH?M@c zFp~7(tvF*MzIM-2X5JPCF>+^?tI`BjSGfEgmo@vV)<_{jW>%NG| zGxT|fr5U0z8}GMNWeQVU{=3z9h)|e4nA@iu|m35zH%9}M%Heh`-fB;>9Ase3}(||)4oNGmnMUmbSdUpWj#iKOkRw ze0Yh4a~RU7oFFVRe+Z<>_IOFGtB(Na|MJDu{y!4n3xE#+6EL_BK@1f$aCi?w7$IG- z_SxZ)>8^FR6oCT;sn}wATx98n^1oq zyIsAIq`Usr>eN2|^^U5rH0o|4-~whb?~(~~Ot(OLg?tJ9CoVG?G73A$eLdqWP$vAR z-{$hlqrPGFDJ^zz<&7+tuH!B`KWl+REfxnBag)0IZJ};}MhyIMd6SuK}V9QxY=4C9BfvWvoIn{ZqMuXW_M=^FR;mW^Co+uiaVhe+7b z1tz_NP^VJQGt9f#j^E{-DzAy&@M5f}4jWU>N(!Nwt$0n|h9w`{{ zJ17%UX9l+%NXmE;E3-X(t>%j#A>MCu0oOCDVXT`dnWN4e*lWhF8D)iRbcEPjp#)5b zRo3)%t*aX%VuTz_3bvu8sYfdh-+?WW1~~%3dVTJ4w;o_-VlQ#WU5_leT2479L2?W%R3_K_GWrIKQy^t|`tbQ2o|@yT1y!vHc#$i({7@D~x!4=P2Fa-4I@nF3Hl>o5(%Ue6r9I?UnZxlo1XsiW z|1Ekxt~FunIXUjmS>o_A5;&PbAG1?s##rjo&~leKWw_>KQH+7NghC=j=J`ZsQl)$M9H`r zlBz(bUd(Q(iZ6_)nq2+al|;oiZY-`OXFj3N?{j5=*62GHB2ZJZrLV-QH3?N35b(;` zT$zrRRNA?I9B)BK%rZ9w^MIT&mq%QQi@2&87#4W4fi#|;#RR5!#!c6>&7w2Gl^_!B zxObIO9ORW>0UIUYs-tCbbLj|fAIEMb%YINQ2ah7vwx^2UK`ot7Ax_zQa$QWsM@#OS z%fK{8tJy|~*_wh{F!3Hym~V}0QF-qxUNyFJ)xZS%-*tly@@zR$Q4?$ASBNENL35I* z%Tb-3r>~|CB+k7rar>HeQT~5?KaaS6HqjTk0z@DEy>q%|EM-}l4wZ4TMR9FTI;|p6 z2!;Qq>i0K)A506x+t~^mJ%AJELi*6Fjr|I20~74fZ0pK^IW51qBw!B~mfQ|DOON1Ks>V3pgNi z&;ik%)k)MRqvkmUAzhC_PkHcPa$Ay<(tPyDr)fVmw?gHHQ&dJNUSifEYQ2J=Ei~_P z{r*kpazu~glGv~ceYcx%QrBTKB83~5p*h*|^IHTRel+r4V>wV-H-946`MHk|{7e*y zW&R&Fi8?iH5H#%xXgl+w|IU1re=lH_Nis52sR934i3)!4&o8BzODxL5gOUj{GD&(wKliEo1WgZ)#N~~;=zLW+9|&VNFLE#=!UWlf8_uT`yUA*6@H%_F=IkKCbnV@2LiH$3Gv zeU?b@C*`sR+3;=b0$0l#{V5F$HvC=wu!^p=+ND=8sjih|I+4wVcQxJxlz)LwtJwo_ z%Krdlo9jNpVY-zLc90Z@_z-vHXVr)9=d?gSjfGrM65&^0Ns1l$`g2E7a z0v!3YHhJ_zOFhmQV|H~fvLxi8p+2^Ex3S@UI15NZD&5VN#sQCmd9g*y{W@d+P8&)o zbzfpdOU!mqTZ1IlT5GLK2cr^bV~i>D!EnQt%ppj&n>B0=Tf^3{B`kob50P9T5SoGt0@6W3?(s z2fd>HH&BL{>1t6lP2Jl6N6>g`8fsEdw4^azy`=p|UkiF}8$v;Gepv?eUDD}n=<2f-F_PJdKJo6{uj_Qa41E4 zYxPm3cc7xbHjAwH!T0-0S6`B*+MsAy!2m4sjbF7P8n})?r(p_K+B{)kRe;A$2+!F% zQi-5tSx(e*|48(iGa#h)J|iT&vmOLPG4+?W zup-DvXFx41-JGrL9I1~}Vm--qRdhA&gLO?5SyrzhU!e|`ngg$6RZ7m^elXi`{=5G% z+a2rh^cr!y_Z=bhJQd#?1MRMEOX`aK|hGL88MA5;NG^Y$D~lv_WK-E}F|ev(0xTva z1iP3{s7I|wVBfokRY+ODRNZ5z4{yyL6Sgv zDxxK&y14W&ppT)p{yC3t|LCvJYmpY~7%U|YmZL$9=-o?5I;n#+0H!1rgx922GkrMF zzZWgxujXv^6#5k`v2gLID}sEs5QCL*eqv2)Rx;VqW1A6g15{+h1BNJzJf-x0)-5-uw2k@@W<){tEN} zc_yQ#u%}R>7CCsOG{HBS%jInzvK>i6e8ex=0s8erP83O_Ay=|HZYA`-W$0Z zFAz=H%q{P4DwcQ&<(v~Ga*Pn461hlmq^DQv=M(z#zzopEEp$W-OV>Qp4q*KaUe$`)yK&IBgF8s`e*^LfQ*e?JT~X0UOdW0`W$?0 z_$D3H2!Jgtz|WZ5jq#Ew=TPuTI~)y)!w~-?o8z1sHtkWDH?hOqP9Mhpo^mah(|il< zCdVT)mC~1pyB(tpKh;HDz7#Jh0D8>ub(bSoOT96gi0=+jrl@?3Si}o4Hyo8Ol9qU9 zWOTJG4JLPL7`@bncfwXyV;rM5b9uR8BXoeA%S*}4O)-Mq7i)fcr23?Sx*-VsQXQBB zJk#%>!qe>Gd3FYm#QxEdPhik1Nw+IWA}D7!NplmqBn~+Ro%Wp09)q|yt0SM0pG8*2 zdtR{OMS01d5hG+~#1{GEsk9lc?cR?Gro{)FgnLlukZpZl_0+dPRy4tvA#1Gebpqg- zTT$=i_+xPobDYfp1?Ka>98Vfp4H#*@gNxhE_w9}O&~w>N;&F$W;KbngGN|=gcS}Y~ zLx*&;2N>cWuqeB1esIm$SK2KGl!3vdV8Oj~fP(Xo9}SO4wfK`PEFXN%&P07P5cnP! z6Sqt1uUR9tQe91`T`0nd!h|1Z2LjTqg99{P#F)3CSk5tLSM=rUxm$p`uy;i7&~jjo z;&J5%VM5r7jVgI4}bQS)bvxAJ9I zj0_5VMn!I>OShG0N*o?blTe(MzVJ}ez~YYQsaA0iB72ucnYpuw7VhR@P$ zJbL*Ag3_K>R4bCNo?ZNYEzIR>#HzYxXhgu+f64{|tcLjqu!Hhwba(KYK%gj7^=gav zT>q3BzU3pKFRq9s*!e|mU&z&y)yl91g%NZOe3NHk^;h`O?m&`AIu&7r{>j6aH#Ej@ zOe{uU{OB#8^@5PH(6^6xj6ox5UBETODECombgtPzF@SV9=6fr$7)DU1JK+4s>z|Az+^;?yP#hlN_E05f4chfYeFEKaK!*SxUDc8mcp}1 z-n3~4;|Sq~?oeZQsEp`nD@#pz59kZ*b|8-A-Tp}RJfsVK zh^)qP0dfB!eXs8)fbXpD5We6mg3DQlVh$T)M?$5S0CMQFBQXfRPk7pHdZSv6Q5FlQ z#~3PKh_2?BD_^MhE`oWnbIn~xGfux`0Q=()4vV9z7hPpVEj*QB8^6F+^0FJeOR6dF z)5_BzSd>XqXa%Ux+<8+FnkF`K~g6pflD}y=MwVS&c$&SgxC>;}AwzWLQfh67nsiEn;b6ujulUR;BB|co!kql;~jkuNqR#Cw%pr zuz6UdPch-+rI>!TK?N+D38BWZC#ase3y-j_Z@LTs!W@vW3Tc^cbtapd@Y`fBg##_Sd7?e?6!w3+US5(l!~rjn;?o^LO>GVs&L*HP=U zyGT#^NTTs%T;z;u_O<9ELbRKjK|b4#rtIinB|G&H+Nj&Y-ZOWxtlcTJ^OnHWE)DcF z=6Me^2}+5tGHQJ3OnxcF^iM70=z&<~V9LT>$q}t>ywjvqql_cWeQk%L?F=h?s2i08 zUs9R9nsGoL%Trwt%1^!+6PQ+-chAx+ntD&JKA!P{=)ntv?0dcD=&GWgE73|Q7h@Uv zoV-m)-g&yL9X<8z%qApKLq;M&Vw!lV6uFJo&pQqoEPJh(sh z#Jn!}xMgN7wZwc|?WXu#L?Wt3MaKB>=|4YVjkf;@a%RvfqTbl2@n|-la1ES$;`ivJ{75FZ@ zZ+cu*U;DleGF1f$*bKFO>~><GRG)UjHR?bMe9bY@w_|h&;j_anqvg=Ql@1JGjc(zvA6~t4| z8k0X;LTXEvi;Lqf$~oBeMTM(bbV3i4Kf}lLp6fSqoXkk-Shlf)CWX~A!@IP$7qov} z<1H!SE&a3^Z6Dk+X@U6g@s<)>Mt#hk{|b?EXO6vCLVr26DOqwu!fPAI{B*9dC6SQq zV9!1*f0N6`@z1=;yX1xhXnUr7?o2pxFNzN6d%q}PVNTRW6$Wd7v`)Pf_pN`>5oRH- zXJ4<^Q29CVfi(BKoDW*QV$!WUvs5Du$$^#9$y**)kDGp^?4JKxw0ZdUM66XYG+Vx} z^YbIIRuR0pf`8e9wy8XqVcX)YmNZ&}bN2mwb!Cbgmm!Uat^Y6$UT&)H1>cA2Q#EJ; zSLs#~f zM%T$%JnrP2Yk1eYkYaB5>u$Y7p=(EF<}Z4$nmivvOWMWf10#AQ^%5nydv`D>Z~f4E z#>*JIHSEd4S!(L`50z2evATVp^<<5w%F~IJ4|@=v;3)G*e#G2_!jgUH%btZ&q?h)= z(z_=E(30;+8@|bj&E7KMk;D^;g=n{p(i=7IPF@pyzXk0gjU~vfwrBciHzRpGxp*qX zoDx5At4^$TubTXF5Nm#?HInJc_kmlP z6wFNSy6shNltiL;LyUd7vFGd?BL<1A+*O73`)E2Yn2q&6C{1g)^uWg6{9bPO^xj0N z@QzXl^)(Ht8{>A}`92jIlW(KBLQxrvvZZ=HJGKkHU#7^ripHidI!cwibr0vp)XLlW z*#nq-J}Fg5R{AZCk?sSl11k;t*jW3w zD<*`?-K;157dV(N@3X94XX6at^q6*1CTv~DY8@u&d6s~^J^NS7+Kb-MZK@;$2E3fG zmsO_(q73HwifVvao!-~Eb+Z*DSldsf?JlMLD-2WIINauU$nS&i_-{GSf3;)+wLb#4 zvG2mPCN_)!y@><+9p)~ncPEtJV~kh&pWEcrV-tX z#1^*px(EKD4~;!24)IB`JE>#0Oa$HtfBgp!gS0A3Lu(C%YU{ht`N&qVJ#rW0Qo7G4 z`G+HiSF3bbs>8;j14}qcPvd;@fY}fZS`M)jUj}^;m0>+cTn1p%JH?SpG9z;E;_4F^ z<8Tt~qAlHqJE-7C%>2{<)((3K_dYnwyj!%ghs>=M+HWQ%I>alGab>mg3phvoF9RiUo|Wk z@qD8ju7Zu`HnV5X%$)vhu`>N$=6dGs!iKV)?=VOfzp1bIvFpD_?@F{j<`=IIxm-i$ ztArYqMbXt~49|s1QQJFO_+?*r;$*6~V*1jX%0`Kij4!w$B5pDc;LXcQEm&Lgb!lB} zE47H57#E_T$ximKyVT4!s1W}i1%JY)r?-5?c;&>LS;|YLQRuDOTP2d5;?eO!x#Q|d zho$*<;~mEZ$r463)9jnfOx<9dRSVm=Mkl91m5+$2V`%f6wdYj*tl9HM{IQzsnODzgRQy#Afp(Sc%Uic*W_6Dyevq{a}2 z^ZX;BV+(aIiPNk4)b^U;lU{l>^G{n`s4>j?#6gY$@|kQoq9ajm#6xcQ?{8B>o@e5o zhF_>)w^DlP=|a{5Y8#AIk8yjRZmN8ds++&4YCT%!tz@2c%s0BKWf_$?rx@->xO}nHShLDHnPh`3 zNS5)kMTXLntG|$}4LZl_#H=hQ^Q?_p%#fUC4YMD_k&B!*KwySto0FcG_4YPriuQns^$O`X&4dga?qqI!KpL25IjYstGy zJL;B_-Emv`ZMHtncKd6=4pU#6T&Np8))!47VCJR|iq2zK(r%3wCn<~Ga=yLq+A|D$ zKZM#!=}f#^`#!Rk3^jM(790~#cV+$wu|nmyvlLP<)O()!l{gJh)3lDo*|EiA-#$B? z^hpDZEtxtsc4~;r!I^$qYcp8Jr~9tF@r?kVp^{i4QE5$+OvlyA$o9-;bz4rABn}hG`1%qj z9zp~9Dcc)M;pGdE+{9a6q{W#)eYK5_Gn=O!;U{AiGK`yCF~ z@sXbaM?)-gv{K<~%0l;-KWroxcf>2G7tF`E>Nx2~e=k1FZ_lte(e}}7#{`L_25D$j zboiNIw2lp~M6MeZoVNrGU`!%H+s#E2^_|?Ap-(Pe_!U^jnyD@^JZ9Ib_53p*XTlfJ zlo5R=xs%7Ii!&&I!E5w)CI5qgd?k#eU@$V?1MUM!h!f+tTJbF$+VeDVL1f@Vx%#n;Kbe4Ky_r84Fg!?-w4|_E?)=dpn-? zAi+gK;x=_zBD^tPzdpgf(n!kRDm#HY!U$Ja>-_6%LBmiEW`zQBG<1f2UQp1;mOmZ9 z7*z3&-G|i2jc+T+X)dHno7y3SK~-AD;gn1e>`{LR|kn|5VN5mlurJckVVNew0B|<1#i#N{8v!G ztLXaW>AW;cq$hQ9T8#DLH2qk%)lytyy--+Q@pd-b^@R${luYU+lZge%0(cbibB?xZ zE+yxdFE39n{+iX-P|a&+eP4PpDNkki=uIrg2Toh8v{oylK6RcuY4VuZDQ+z32z}RW z9BF?)nF7tS(6FG$P6=ctHo8yva?df6o-&jBa#|W({ZNHA(kYsXWMh+2+#7wSwA4Va& zZ@s3(D5U)2v^)&Ovv7uDKni|F+UiQNIUj}wscJ}|DtkV(ywmV46QEiz9RA|t!P23z zC)WZ+{`tULJ2&?1{;!k@xp<%CS*0U6)2{bnytVaM_(cv2d|J66(pd(v!N^s4dJ}59 zgw&PToSU*~*EEoC9o;922cGuhKfFp&L&jWhOer0khn5U9d0i;;3Oz*W+v>6vZ-DTt zvpU6v_dSmod3iC;D`|H7`VzS8z%4@Fop?G@b%~RhZ!5dkpB}57r^=zqUXWD9`H^U! zmn?FRtP5;DN_Es^Ma0ly;CZZ*6B%^a6dvZFG^rFhcc~7JNHBEnnT#(qAG5aN@EvUP z9b6MA-p*pSy~tQfLj8uU-Hu@J&5XFl4_EA@69YoyWy^$IK4i#5T(Vt3jF2 z1Qh~!r?BE9(vt}xuu}|wm+yKgo1g%)rwjf_L@uWT%jYz}K zH$?u(dtoLfVlexBAW#GW{{`~(be>hI^Y<7~XiJlALCbyW62^8=VUvCxkj-6m#?$2& zEyD$c^4$I3rYck@n>)Yu?y+RZ9lv*>JYpJwcuO{z7KmkNm0N20qc+ zu}YggQEI)<*3xyFuRmkPb+pKuI3*>2GpEyM%e7=`F?0TDDVSJ?MNtHUC-h(CLn+lW%&6brZ9rsaE^R1br%bfJf>2aQ7#+xN2W_;32h9%6D<~*CCdeTEygs6dD$&%4Pgo=IRo#k1-9;{^;Nt;%^o-1cku1$L5T=V+ z$VvBqH1Em&-SrVeYf3Al{C`6IuaQW;dX!L3L={C@E5qGd^ndY1A2P=7CQo^@$!L|h zr*w>1FtiyYXU1er?>-jbgKsJdIfJ-L!j;WFZ8$Roo9I9*w1C%uX89ZSZ`M0uu-n212g!OPlbt#in5A~gL4}Lvkm`T{&GOs4rrJ3|ObF9ovf5Rv;C%s_p7+#9(y_j&L?;vj(wUwNSqF2lUOToA-?>2WYeyd0rQJKPOaYc>sn&7V4!t>yJFw+s`>*o30#c9H^v^`I?HsD* z&i&T<5u+|+i}t^zkC*}*Zt|VcZ%^7huyU2O36QB?EXURSb~oV)NrtBXl3|*Qr9op z3yIopFAck!&Gw&<290?2p;?K+EaQf=*t8txylu>@%Rya>`qz+^iBly`cd6H!of`MX z@rI$2p&D_^2WnU{%r)9b8U@Z&DHO#df0LRHH#5FfT_PO+c%wCt(-wvo(57H8}m}O}YvmS7tj{*92B{bO)|44>){fo%WooOf z3S0CtOa54uvMaujRAY42-(^^225b|#b$I~{1|TyxDr5E?v)d(-6$9Q^`J6-F9ZMB( zX>~g#`KBhMaYUwS(r$+u3N6?m*D)%q^D48Rn9>gfWVpX$w{v+Qm&uWPD);YW19K)H zDGl#CCc2KA)aV*|WQ{eSqe53|M-|VqRC{V0eld8FLKddcwOIP5U#=sq>se)1trIl{ zSz`{tYiRe4Wt2>Qagi#bIuFrU_3QrJ6Lg~}NSHt9uFRhjCE6hAw%;Ni+Ly2&BCcSU zf=P#mKj1q<`=JJ{JZIBnsp~jw9Bf>EF{nChzF*k}qPH4vy$Q zuVt3A!+y|7feADN=hs~`@nF>?pisIrMZUkNgHxlj(b@c02xr*L7^6LtU&+1b2LUhl#DW3}g3q(6RUZ1u6HF!YxLsWnBUt>m7f)s?taFmX62=T)+HSD{WF( zxHs<3S9fRz?|sFO?oWQ>FXv`68O~6n-6y^pkufWdtTVuTRo$kZ#>ura?Kxfd3897s z9Lx4=V=z;O?SNXaC22U9Z2M7y)YYJ;8J<^T!@&}l}{&$@Z>i=CX{WpgC9bjMns5=bwz?%kJM^Jt} zS%7|&coXDz)Z9JJe|GFxT3p_?kH9h_ohScQEqglNV-;qrKYF8HBN0Ksj(;n)T#-_+ zUg1};gfp)VM%@FtG&HT*d?WZAjMV%3Nnir{YT*F`mGI6Dt3YeV8Ly8X<#ifQ*Uc>a zLp~Jx4bO|)KZ>bam-Q$E-WnmV{G}u4y&OorJS$*v0Q34yUf88jKC%#Ric5fKeK&bI z$Hvb2MzG99X5Zm`o+oWx!UA`3qgbb{??Wq__uJby8u++g_CSLQq-+yKhh0^!=lp%y z9MK?Uo6NbX;_~2T>RHR{ttcKG?U=Mc+MR5 z@rGuv&$f+y+v|A8b|0#b(fy4(Bt|5pqA|N-JaU(DWANQoZ>5`m$Cwz?lH0*&%gw{t zj?6s2%)Go!|Md@#I&Urq&CrOg91P+m&;L!Z_)Sy)Yx={KJ9>+0%#*spt=HWO|K zfBzZzRf>P_n=k$wk7qjlz&|UvN9i;`vHA+Bo_`HI9-pYd_BZbFjVj%TJYMg^*X@T* zF3=kEd<SiVZ}M-yN$~x(`~Zj3!sLRJa|Uj*pnie~L-%n9TC8@;h_i+@}Xt9Zu#N zCL_~Ci+;N!$vF~xbC&Ifgxr}OkKZ38s?Duja-EdkpUi|CwxgOPI#5m0Z4wa4=6Z-! zD_?+Q8(*M!TVah zBgZ|Pjau!4Okw%GniF*G4u78Tgq`ao@hdCN{keE=q#TTvRE{J&^x=jt!%pKO!wxo9 z!Y(chl%xHs_?6(^^eo}a&^t1Rzh`X2w!Ys|CJj*mewW@0L$*|6e-f}n!y8^k|*~a<~0<(#v;x$*$)o$0S01?uN^(-D7S0kUZ5XP&ITGTH; z+8?Ho&P9yLS7+fSVbwtFS=XxPU{Dh9=p)ss@%qlb3@oq>a&<^aAb`|7KsaOF!@!@Q zZ3u3~8R!lnVh{&ig9O4iEX-N;r86-%6U$2eNhAY@NH~N^@hOBf9!x+Ep0242G!GJ! zfd8b?)1*tpC$q5cBvL&+5nt~>MkyFC55^qk5$6W^TR`~SZ`iaf@}c?+R{dzRh;S$X zjrvLY^{1IQ%6hwV$qBedBCg_AyCQb@+AGhM5h~sYz@?gTDA5qk8BO35JxC&x(uu$O zSfehNymXH(@#W{+5P@pu1$E7Jz+oSv7x70K(Vqqo<$psYqQA6~FE+k?J08OcbO?}- zfmpZ%T45V>yqwRL&Z;ZtYwu1tsXJmo*BUsg(4OIYn+iGNx6pI*|JvdNgp$to7VA3SVF?6i*@-xO z=NoRrWsMecCO|VbIB8QHQxu*Ftvw* zL15stA~c*>Mf`(4pxu4>{e7LmyDx2w^?s!G8}_NVA5sx&(O+73-?N^xT29LE@Wg+) zRY;YsRyB0<=Ay9LP!z|yt|ERGe>r#1w8?i+J4k8<5&?r=AmW1Pp#=G=f;efd{)&um z#I24aB2%8?YJi()fv!OEx1@tr@+oDLKucf@@g-qr={D`{P6!$G4ch?{BIcT7Q$c{` zKZQf%h=?^PCKMSX6?-ZT+5}3%M=56mfkRM35~>~30XaKRh&#J(?bc3 zqqebWZNVxdA!+cgS~5SJ@Zb=LL#4rS&?(iiL0x+?DRuM!aK5ih4*PJP1tjyauChWe zlYzzZgM<$H$RkRyC~-uL@W34b$lrCUD#{h;3>>^lA2>kMK_~kL4e>?kF`1sw%H1BW z-~S;()Dgh1q_>7R=fSZmjP&RQn6P};tI+VM55aPL7+CcCvizS)$}WftxDa7#eDn~2 z*xnfTb3nW@-vs~O4!pg4n{O-ph<5qzuhHZ6z@*j-u-W>YOne|E;tFnx|M`r7af7~p zclAI*~?#NA9$f8w2^jjAToSs? zB<5UOgjf%MzG4CjDkhHN(4HJIv2R1hxPJMnMRNIJ4LOBG zq!apaqvyDVOzbynBe(=)1AUxey|*NRGn>Ms*&aaJo+F}vI)PB^fU`#3Lrj-IOBd`u z@Mp~VNJ5tCtH5H=#1t4*Jn;0=H&E3pus?EaLk(9`q)2|~j)VJFrvajNuBgMB2%58m zgTpq_gYzDaFepw_8F5xpq#6#vh~Dmu8`ga;(7F+`py;YRBmmXZILWa&L~+P8>KkyJbGlQ}M}6QzUe(bw5e+8*p3Z7rlS-l?nFc*zLcz zVEt#f$E^19nDok;T#-qS+bw=r)A5X|o?I*CtZEt7m2{+sK+AR9e87h=|2=jYz}lS9 z0N}UN_&tG#<jJd`k2@Tu>e z!1Fs>-&D&5o;mZMo}GlgI~Bs`08=a?E7`Z6?P~LB_ut8_0{Pq-ZM!V-OoD96TN-c2 ziY>^M^bZlru=7hbgUF9KW$`)U3=v1#!6=fIEvvCxH-1W+J7GS@1E?=T>T;KitU?@#7MCx~kXy3! zk!noWO~KnMLSxz11)K1ne6Rv!P?4f{&wt)Io>CJq18hRWHmjX{ZE#H9CGI}zBw>vV z1ne*o{MKLJ%~*c1FfO9$1md=M@YE;fp3mFj;T+?*N~gOnb9uY(9p1!ih}Mr9wEnOO zpBkbvf5ugr9Adv?+)A$=T{*CD)+c-QU&(n_tTTNK?S0b=Vbch!Xatu-kV#y zphw~#=bZUNoiUc!e1;gQUMs#6nP5QgVjt~E-`_XqfO%t8u7snxU8djW4xqPy#oru5upL#%>ujLkf6-TtW1x4fX%qq%HDNw=J7)hNrVtuskIF~vH!H$04M+QS zh~anp=ntz_PHZ?7(3Ic*6FLoF@%UzQg8USBqK)gcs+6#lh*aIx+sfBcA~$zw*>ZpQ zOIY$(_HrTUS5CmUaIe?QmCU3aSWOj133ELJ$zN1PZPRTtU#GT?st=w#$8@{D78O%} z$)n78>kt0nk}m(Oc9P%20oG-05(VraiDG$jKzm-*Wu+7-xTw0g1Y-Remc|_1C|kI$ zACtEIdY+%EwJ)}4o;lqJ?LxisVkICQYsAK#zN6G}N8_Y*;*{;Hj zGqc1DF(Hs$meX+i9Mml$pBduDYE6hJY~xx>5bM&a|NUVFmV@RugYZ`lcyA^X+xrM3 zz#8>mK&{#We=Rzc$b+OxNP(DXe%__?R(N;iyKR0hB=a-k-u|c{TL0h}ZSc&04^EiY zwb!UCCTMuXlC{K5HXxycNr8Kn>$v#a(DK}H?8z;RrM0(O;$wIfSi}EqFZ+EMu6jUf z-JJA5KU8LC{VJ2;ahCgeTJHPTRRR`xLZ6tL517WAKRg zg{8H7?U@D_xr-2B_OH^Kf(%v{D`Dj=r%0I#Qp<9TP|w=u(-kBu?wBnd4q0uqWyh@V z)M~??=a2D61#TA7cCl)|i+%<}@*Gv-k77**=5_-=0}ATJ`3_8-+)crU_e z)Wh@KzCd607Jd_7=lHR!gk=n{DZl1z9%V{oXKB7y(7jGZx8bLI?C_vbuPjQzL=B>( zutJgDzp!@EE$Eg&R~I6R`w?x~`z|9JSUzwO6jjLFKcW>GT6_;S1pG26kn!ELJJ)T9 z-57?s)zape#Gj?U1mvE22T;}hl?3pd5@5vjR4aYM^|HR*_0|u98vAEfUl}ZEDg#Lr zw-z;%&U|v^r{)$fLxxtU7lB75p&{!)Y&wQ&-IK*;DW8~y+Mq=J>A4NxKl-c08s$Am z{{#?IT%^`VzswZQWd#DWWzp0-jE{4WHw2hb4;2WL;>-}B6ti;u) zy{o0U0*kACt5H#5Cu79>TfGe|2_f)ppcc0zg1w2Q>G70 zoVM3Bj1g+6eFWNDVS2R-fmi^7!>Lr~(WQq?XUg|i=^jS*9+jr8?v2Wiq5s-xfZwjI zYpaUbD*z9wSdjqM>4lC2wZjU8c=f<-AQO834^g#0vt{o{aY(@@1-Fvlrpz9?udL~W zX+#-7e`v zvEZe}n^wvQn8Lk15aMvY`s!+Ot#2jjKF1eS&yOg2bUSpbXtD4&p<4|B%)~G^ zYhK@=+=UprN+7}|5H#s%w>#|DYmEMe@oimdf~^avW)u86-=}lkr9Wz>A#zX4u&9iN z#-CEkSCe8ksIS*J{eAG;C@GGVKH}bsfIY$K!meKr3XH{Te1?k91w7LWRwZ^1)6qA% zZ8+;*GC$`EC<7@3k(CB>_0}0ogUj#5&AVh(Oa5vjsg!s=-Y={jZJR%l&wgFR+yCA( zu*!e7X2QIQR-9GL|5+%;Ks>aKnXx}0Hc?O$@z?iMT)@OOYe_j%rFxfk43Lli-2b)( zN?Yb3vEP`Y%0T^dt8#2Koxh(`%ey{d?C(_&kAH;PH7%-sqbvc(n_c-k`B&kID!>u`t4CRL-%#HueetT*!_&ea5`?c(+#BE1y>hlax5&!Re zN;q!`b5c4iYOD_*OG1^k^6}hpWNJ!!$aFaod)iBX43_n;mIJelrD^yG{=?DpQ$*}5 zb@E@T--GAt*I(aTQ0^!CM#4Ix?*L!ir=?qf`1Vgg;{E_kot9YUIVx%k^&SRZU^VgS z6@!#n0+j2lO9iZBi0@HzA$QVW9auCe!i`r|f!3|o4!)lIgr1E;AqpF1Rcmd@wciB$ z2RJprPRP<~B^UbvqjDYHbu#B%Wpn2jh8(e z<<~DBp?IG7IVR{*e9zY75Zt9n<~hF7c;1&;`e_Wt9Q$)qDPb*boP%%}eOeM)srgr| zL$_caICeu2Lz%u#@zXk;f|7cDi$9T}8~~>03B$!#Bt{T4@`!>Hlw5b#{Hm)N&b5}pyi#vurt4Y+@H zn=%U|@Z}rD7c2F(gpz;fj`cwqYd~$iK*fuJ5EImH?J8~3bP+|I=$`ttVINgCLG@HM z=p)M-`Yj5XAYl%NShx$WZa8f)zxl@eMw7odX-u8f6-o6dG=aOX}ht`w`-WMQkbDs3=%+p5diHfJ~^1<#`vyb4ux$l)G$wp zyQ}!$q^Li6biYsOKCg01cdO6-=TJWz(?rlvqS~g{P$3HD1u?tw^cP0qA_^!%E37@dq2PX=#r9wHvJ$HZUq3Im#cs4o_?l~j8P$% z+aq2G(5}y;7P`!;bHl^pUJ)XUh_@$>n(t2QMzX@*oS~!sWYNn)Syna2?s$JO9;!rw z1xvG(h*#G1q+sbp0|=R#-Gt4oeI52B5yY0vN){F01)Mw6SyU-)0WP6V7;~DqWO|bI zi=xMWww6)bGOsXQ5yWLG zray*ZJex34EL$A0UDXz_`t|OV*W22vr*-r-MKu265Yj#mi0d+%!Mzkca4t%RcAgLL zx^wO=_@a+ZF+p%%lU>GJKAiG$_wX4^305qf1dM=#|9Sowvle(dv*hmf zWLfr*CF*%=FA8(dNaOniPL|-9H!Ci$KO*>;6KbW}%K_Fp{u^3R5=(*r!L304 z7eZzIlFYlsR*H$&zFVp5B)Y^#Q)z{nz&rz9t^2)n419Iy=Ybx4r?R;Ldb^F6rf$;t z5LB-JsF-}!(aEFSng5)IH#pNzct?k?#d^mzYk;!+Vl)UvY}>J$62IT|2(-BT%x{~~ zo=WIpR|Ai;c0AyBm*b~PO?bH zOGb-DV_S9f0T0bgoI$UK#(G8X&GYz@th$DelfAj}0B>Wya0Le^E(a5Z>2Douy2WhC zf$#is9GFVaTV7)0zTh(jrAmw`x)zzd+Lm?@Pk{q{NjR^wG|eT-7xhFFHM1l&BowC* z3oX@U;M9Sry{UJUKYtKhVv@C+|75o$2d14-j2d9+j>G=Z`oq#&@(PBz7Qp;G9XsC@ zB3SbvThkGTMSR5#g))jwiwd2ojdcG*0Z)f0jk|xl>1C%<^o8~MetTqkv&pZOvW19; z(8qfD?-}up3B}wsbkFy-la)-jpnJe*;>0AH{f@fKD5rN{682g(@2^@(w4MJ+w30UX zX_aRtRYxVN0lB8h|HKt+jN~!Pz8BgUUT-){;~gKy(Jq&_SM+dvWJ)@ny@$EfE&p*?UFjAxb!lh$1k8%u zV8~5>(j|Qa_Ix`nB=UWjRS>x6_J9HZ$ARwm#a~%M- z&vSZxBm#_af5Q-sD)UU3GxTWWfJ`X>9DkRhQv9rc45LE4Eok_pMNoLVj-p>(bI<~z z3H+~>gNj;{ab-ksD?f4XMVy7q+IV`^3v)ryN^qLlx^exjd{gQ&O8CVZVBk0c z9QH`EpsN7qvgB54|I4ak%(5yUpU7+pd6{{$N3(gd2w!QbRR|y7mHSMihqK@kX8ih! zLhQTX@5Jjg#y5n`zS}sTngxwU1&xZtlD~#~2(m~9zu&%5n9=OOBos8Lio2{oG-II5 zWw>uei3K%w|56r;)e&T)3T30pmfw-KYp&Qa$^7x*&d|P}p-zmiuua@m72j@3hg;gj z*XC>d_uoBmtk!(vxw6)qHv!Bo#clpDQPWPiQT=@Dhe*SZVpq3UEv$lNdKA=tHe8WqhQ~e)GJ-D7oa~_xVHN+>$@M$6Y(zT83xbG5nr>{CNHqzxh4n>ZvMXF4tm6 zLHAz-boO#t_26N+@rRTHgOM}w@NV>3d(f&fg}?E1ekg}yQVQzxc)b9JCN}+GyTqC@ z-uayzB!*7X=M3z6NdG0Cipbz5{q)pJ@G0+gopFI7-cIzk(c8$@{Q^s^)RKB$LIq>T z9#0Ys$EWonkp2L%ha~JYDi3Bt23B|Gr*^<2?g=?op7`p>e38RvFO6dA88K>#Y z1MN*j6N%nycBf=#X`CZ_)&_XqQ0rH4`{ zW_wqD=}L=yi{VTSiojoUMUU%ACF_%|d@r?q+ZdKbD3}cFGcUN2c(>vrlava1ofKQO zw~4nsmXHAePp?Z!4!ukFE|pFNdZ_9OC&{YN=miws?mI60_=(kR3DlbI--gE4oU`|N zkG6>I+cy&SPaR!L&oYU=O=^gY3!MJZe!rrX&d}tt<@V6zp&H%b`(qt0@0m>UE3T~I zx0U+)+5H`**1wi%eWl79dPCS8nxqr!2)+6;A%gmGL`uk^|IlJ?*W1Xo*3lBbPj_Qa z#+x&RIoA-RW8qmarhep>!al*rOtIew_CRwgsPPkpL6Z^i{ zybMYd_qn>sQK3J4_=hCro`&<|v!ZW|9VLgq^!Hmta0|gDDG4on970K)ryq|q!Y2Rg z8t#6j_Wn&u8Da6@`1zXEtZVvR3hVCUDlq>CK9ea@q<@jxXGBB@3x~q&I)z?-MC_4CP^|d@cm6~sL08GWaq7&VA70Kmwz9cHHt{1Sv5f(?O$iy zK$!E5)qWdi&Rq+4ii{C(nHj8?`FSwUt}{O*h@QO$xVs=Z6E4KBxS#eVR{*+M@X#p8JFHwSl@Esv)|?_k>*# z65j9TXa^HGrHb}2cNKKke)aagyJfx@hoQqXs6cwyr64Z8Ey}JC4BB-b3nSOW#m_aF ztu9Mf8trsjEF*tX(}pgh=mx2t50Xg%rPW9p-CXuY1CY+JBY1N2WsdaQ_kYag3Gqo+|6($ z3_dKJF0p|w+%;f1-{v<`f9J-LwhhTFi{Rrp3y)O|7TyE_9d%!vwJ)3t%J%$#Z{AT) z(J`}dngZ|x6ZASo<8mlghR`@1ID8nU);e4E3)Uh*BP3s>;%dH_sK?SLOO}zb6vF0r zC*Ov#Pw2Lnxs?cwqDEx3H(s&pZs%o0i#@ch4mXMc>Cx!9Tk!+@ROJrC?vPi&aB`i@ zh`UksFX3>QIAzExQ-86ni!3FdmmCk*D z?LImqw0Vc8*r&PPXfk%KGc;zZ(50gV{QA7QryD#zk~_OSGfmh&YSug+O8%^~rnF<- z@*ilG=JX}2ss7tS8>9Xe<(Qp^8EWS;MT&O1D3bgp5CDe4tX=bx&S&|6h)Umo(VP{w zP?hc7(QJ_icqxPZuJy@?EeH|!)NfrfYt^mKG@TW17@_+ddp`QSnPiWTs9%eG4w;Q0 zx;&&mximf9xhLGOF-fmj>Xn`H+23~Yqrj3A1wgi!M?5|-`z@vTSm3cj*6ZM`%@Es!nCPCX36)CM+%`g8voJKdiU4`PmM-m zL6vuYffr@I+PAX|*wmBtkfvK8xJ=D!x;S#`S_v-?T_PFC%KX)fYDVWf3*!9z6>a{y zNZmOxKV&rFStUAvlWnA zKTJB4@@woBq02>*X{RhW3?$!&h1Yf@R?@ z5ZQxy5C>I~G5Kc{6P+CkrQmuTotd5G4K{O0UB5OEh0gGD`XccAkzESzOv!u61ca5w zTK;K)iYFC@Ds`1(;jPwxVn`?%3{O#6!dA#O80^gPT@1d-k437Z(1gmzMO+PB*XYPe zhN_JbD}+9Nw+ae>HTCz9ICpndN8gOm4muZ78*nfU7-5GlnF~}Be@6-}u$A9qDav!^ zivkhprJnY<2>0TTU(x9USw}P{IeW|`KFAbFZ!wrk8065-Zv)W>?G+3xZG2wV*hGaX z{G+!8xm)X&(<-!Kbt4%kSrJNn`Tpt75#QeNUJ4z$!y<$(YU6aT!aFsDht zFx`T*G2yu54{I582@+BI`x0P-apSv@IU?Wz(Wp=b=PSiHPH4AH+1;l~fYkFyQYWru zS_8yU@=lIIJU>hDDVO8=IW1HWu|EBV)FqpcDeS!EZku%eQ=RPxWx-S3>Eh$~-}W|* z8aDS{p-#m>a+4!6Y4nL;uoP_9%N6=|iU#}TFegN4odS-ydC%Y|ouP`|K1e{M@~-#L9gNvS?)m0_B-)#;EoN;`t%cSQu`GHrKGyv$j0h2DJPOF+D_p_aQy6j~AoasL& zTsN1Lbz3BGmFzJr(r13oyK_w0MPy6HyHH$fplc1R=ZmUY^(!@O_9AHWzX7og|CBo1tpV4NbzS$Czf(4!wH+pi9N~H7Q{ypD^}H zM7>qT7`Hw$sgsoIKu<538+B`4;Kw0!v-~Q5Bx4N``=6PjqaHw=@xV6KahhW8?xfwzd0{>;4RuthR?gZWCmNZKqC&WuD^ z&@ovI_}{}TnXX}7(TF07_O|%A8$ZzXpCThHVN-jM+vOvhCPwCI2*V8`7HWSZd$&nK z8FNQlKfhU}ND;D>T4Y4%lN=C_x8ec*aKMi%M#F$yixNSCX$49*IKdGs`C^~143she zR_EjA0ZB;Ra=7=3f`ZH|Zzywq*Wc>>ULb&|F3P*-l1jVt*)R>Y*!)TOVQ%H zwP|iA7P6Gix4sLYPqPHTyvcolYJIcj65iku+t&z?%AW`Baf;$WW0_@K#<=qtKl)$L zvlCpCa}74J}|!GQAj_Jk`gpW2!+@NQy8&%Inzo+Wm-~F zxfB%+Az7rrcdTB!!fr(5IDY#e(`p}gOy1YSiBe!9+1S2tWm|%PyX)a zSjE>{!DKxx#-=vevR10Z6&vsIlPf`c*BMq6j)m+FTqt19B&!tqwvo;;( zd8xz}GxTIf8k>BNod-#IfChk*mi_hN4ac)%{qNrU{rYl0njibWkVnffwr{6>HX9<} zFfyYmO)*(LuBc1vu)yyVdOP8W7t3To);BdC(Z z&@r8>yn2`bHoAKoPJ-o^YO>Qk0??0}jG>AR0;m#E3xF}3eWE|3kc*a(O^@som8;GA=;_!ce8-U7+R01H0dq@b!-sjh@TU z*C`>YJX}0(1-$pSQBxUkC{QG|626wjggOw>I;YBom@?0BRP`>^ZN@k6dn~b@NfG#O-s>VB|Jz>BHQjJ3w~;g7z@|S0>Y>D3s3Qe3Uic$vvgeTR?9h{k8&V7MQi9C-=4k zTE!<;_3|Fnino8((3`^GpxWYTUKe_gi)f>^0qj)>kGPFaQHt1I-ua7`^lBw#5ju*~UX(CSk82zN9IMuqD^nrgN`ew9z#Rn*&m5RtKyu-`^T%D!LD+ z2)kdhZA79_*B=>x5&^=na1hS;6pbeQyDfpl{5KzbW6r{2D*k;j!HEp9<4xaz?`(F0 zWZSfJ?DmhOh3@(pw`OBja1(km#!PUe-ms0Cdz|cQxJe%NBD*zT0+KeQjQx1XEp6lH z*lp1cfrYcn>5oeR))L0SX>?^pT=rc2RPknK`D$h1-QWh4n;tD0I4$BDO=~V?%nYTnMAPE{D?*fo0$}6DTK?Xo2cBQ zlhzF@vL!7`5T=^(T+gziE^Hc#S|CS`!$ELjTm6cXAXh93Uw;eACO|Qqj4+GUeXZ!h zDNt6zpI@~~g^f9T8vsYhnFb#zR{crUH#MUf%YA2K=-~cZn;YL2AVGf6SUIB?x>V+_ zP=cwx@78q|-%b33o4K$BO%zMEy4Q&#A!QT_+bbMCD z`x2~#3E`a%8u1i4oC#aqR^f7tWG~hOvAh^2j>>xVbU6Z$u+t1d^52G&I|$U5wTbjD z{#0Z%-EMkvc2C|bEmuK~npUYjTj8G0)tp?62LJ-)wlD(5G_iVj-2almmHh>y5QnRl z1P;mq$l28nA4hFD5tj!WXJ*Duiuad88_y~nJe-^FptSyNNTET&msl^=z%+!R(9GF( zC*8IUc*iGn{sIzOex8{Ft64i$i^&wIA6$*D(HVW%?(~$2E%3eZPXAWnc6X{Bm$L)6 zW3?(ZB#^C-#vy9Y>C6UyLdItIFXiwgyp)@G%%~QyV=6da2-V&|GImSq@`(d9{6j*# z+W&1>p7}6Kfhv|QBbMWWBY15{z(6xn9C#;QG~7?Jf~g=d6nK32x;OtyowG(RqOJ@N z;|#gGT4^0f*V$WuAIQNsqyAJ818Cgq(fN+_+QEbCjTS?jCPgJE%jj1fJHzszitPGp zi^F*o`hf=cIXGXR+>8qNeY3TJs%Gpo%-bZm38JHP6Ip|R8bl+XEH`7leA*1=YNb3O+yk7<^1h!SH; zmEW}Onsy5`l_b1VwUR3%Waf`uKDc`I;9b=soBc#5HnvS^BmhY?`yz9n*aV;>29 z4gP}nOb>=**S~6w*Odxol?Fy_#XW~@DEKd2iaQ%+E2P2~cv~MTr@jypR6}w=z{xXY z8R}x4zDDZOY)OCr;II-OgaB>FQ@XC2)lz z`jDf@A!sD~05ukCotD3gPkM4!ya+CR_b&!d`i2Zn@%-a`2t@;zC;ME48CmKCIC%Vi zmXQjPUT^L7CYw za7OKNa_x%fyR8BMu(<0gU-&GAo3crzrSMzYDlHOM^u2o_Pr*O&c-mm!G6X_J5tJZS zk<4zjScNL(fDhhJ-u(efmoFkwtl$3mSWdfs7Z!F_-H>x(S0wEHo4P3t>ZQR7Ibv*% zbIm*1h(CU^HW{}e>u`2`$m&(4e)j9|$UV=}>-)(Mfg_qctEYKqL;B}2wieELS24p! zZ)|N`@=iO4Z|<>ijXVp@+TguD6AxXFW3Vh(rUGy4AaZ#%KOd0R&oW33r(t$3oldn~wExf+hA>z9KIe-Y3Vcbj{r>Jg8Dfn@uEaL}Y*i7E|E=o!B zvh;U5oZ;Q>P*keIL%R5lZbSm&Q0GNO7dRE75E1zZXcUAZj_sK(#%XM#Mk>;9_-BYB zWOn7yT>H%=5XHd z9T`J^x5aNNOdWH{C2-cTSb`oCAkGhrGE$dYJN*m>ocd20c!K%(cXe|31m0aO-70JHwUWKc#_(E^UuHP%8ng)xQ zzOp$i;VaeG%W?hlolAp_m&PBfjU&T8T~7UHL8`!tNQi4 z`=-RzNyz#Bb#U`#C-0P9H$5_&VvISqFaw|u5s_Y1d-~jRoYl{9!5eOn*X~8QV3+m z0U!Y6*Gd!=H?M=*AKYvdf8qu_i-f^QG-j}fSJJkQNW>9kG}Ok}(HjZ<{Il~C4$vl@ zX3G%pGcGu=U*KgT<@*+tfz{>bH9$@N_CdKxi%CJ|64wdYyX083!eXF4m9_z$wrw{M z1??)*4idtoOXztc?Jf4eO)_(GIip|<24i0U? zf&*$mf$$$4##*42Q&TMBquP#I^1*yFC@L=*j7yF5_$*m~1lz-$#Lr`o1%XkhnSWHI z>s&cA&>s#y`r0kjqhRyH_~1rL(xsb4J*b9z=UOB{f`akoOKV zn<2@90p%W5@@$|!H9FO9Cn4n^e8r?1k?j7m4O(E%db`6~eRPp!!dN~#M%VhNzS>La(AhqCR-XQx{xWP(i=3<4iV!@d^>wwt zp%FV@B>zdYve!I)-1&Bo$NrvlqeF0vbwhS_E9>j=_rZTQ_d3Y~ZZG>!hZ;AAFLk(Y z{HOl?&sjuKM^pr}!>W%uFCzAZD=oO#H{%l)CdlG49U2k+#CVylf2IXQsc-l0E`&Oc z|7&2h0n3NRHR3PrS5;kR71_^~sVje~(tqnlJlgO^m2bU)&LbdXdm^mGcjQG+@5Wg$ zz}`m{k->EFPfB&Xo>e`@`>fy-<(zM=td+F}cR8%&bKsxJnbQ#!Zr69{!J)h1Gi#my zQqW9P9V3tdu+KH08QSiGHL(*b8T|-Ny8`SBPv8qo4FmU5f}bZtf(fezTF}=dt9C^k zY_I;IX?G^=81S=mk}H;LXy|w#zj5SirQf{Yx50bTpra74eehmoTh0a>aIm_&%V!J1 z#P?Gr_4^tK^UXeIBwhgUE`s)SGUUQ|&l3QcRRgrCA-E!)7-q2Axt<6oA@5lksTR1o1!15xD(cQQS#FO$Xhq>xeOt>wvI-x$QiMD z@AHg4qWVK8OhavWI8m`m70W4vjY?D7nZJ(12wZil@4qH9pM5iD;KKIhQeI+{=4PB6 z9o0J~ic~iQ;=HP9#xK)>@eY4m=0+=Hc^* z0z;@jkm5jdv_|k0BFYbG)t&({Vov7;+g#@y5HpzfYa%9KM~?uZt!M`Sf=KOtkCnny&;bnM zjcir4Y#4Z^`C1A3!eQy}nG`|kBGu1gTm1!s%~MB`1JlhFp*Glm3?lY_Z$!b@G@Wq# zyG2ic3DGz?M$cP}>N>ZVuINDphDz?8B{jzix-mn})8X9FKNTj*KpKF3M&3{6{t` zZ~s%O+%D=<=^HOjOPbA|$65jNQTmOJuF;-Prra9SnK(l9vNkP8oz61?N85(E14i1F z8mpQK;;!>QSC>TO625+LEeGWdtRf)x0=-Z%Q7PajiVq;!$Bz}dL`(0}zcZCem0lZ0 znJ|zJwqMGvm3?{$%p4EaEWF%{lc@V1oF1K_@Ls;#rzComiinU(dKAST0Ipgvx1%L5 z^tsGNomWwsn6SZ~;Yg5c9I;`F^NC(%Iuxc~sWYXV%-{V4{UL7ZD8MJsClFDz0#U5ptBnLbNqzBA)&zQ{v`z4k- z8u4I72)COfvOlQ8BCkR>s9+2<=&(A8L8ZlXF9m>697zKh z!M47sge@s^`j;2fRyF^;(g`ZaHI;;B`(#7> zPd*}|i2F=P9GMmE%a573Z?mO7=-Pw-0r^H|r5bY0B_5!uOIqdqMW374cms2v%c0ND zb%g$F2(qLQywM>#bGz!QKSwf`5Uhc)e0*8x%v0mB+tcABRIOg2)A0!&`-6b2$JEbb z8~=Nw(3kE@d$7db8E~1+(demH?)hZQUipz9`r?Vl^q{sfkn73dGocK*F-rNqy8E}s zJ*PkFD}SjUp#Qx3Wj>2_tS_nBQ&ZAF|11H7yn~t-OZhf4uPEp?CRkGSB zxvl_MA&j3&N>>0XuTq@)3E}NZ8$ebWI-fs5kJ?HuA`|yygOMUt^eYwM+N|`zF_;^NQkEl6=J8QZfLBu zLxD!PlW7xE1f8&x` zpT)QSNivjznb5%`oioAD2=1*(59>21g}71bEqVS$Bi3 zO9X%p1$KVQ@OumIOTN_K(AqWj=T1pfn3*GfBvi;14I)*cd44jH5X#Ni`lAcm3I?KY zipBX)9WP%m555k~9J?5Os3A(EfxpLDG9#3vAALN=dbQxD?ER?tQMzFvoK9(#ztwaaAxKm}D&lav;Ogc`y=K*K z`F&G$A3J%XK??27%?3|4ciwk?b)QF0C{(vEMgM$KUcB|j&Dr^7DrknsQuf~(UT)~2 z#(`_vgPZ;Pbj)&D^^Cvj-##$R^I(42{Um($mV3usP4ROjm}s}{$X91kAfSBCH9c&Ghksz{!U#EoyxxQ$ zp;aFP0I=t>en5dDwJ6=GR95Llc0F?KBH(~bFcvYBuY+2_NV55q8Hh4K3LkidZ_&+Q z(GJ`wLTe}^AQ+3mw=j|W=qGOEDM{;d>jPz529w(H1)DLm_~zqoX`9)%ABFApG+u z9LdRNCO{=>=9&TqUDcSGxn9R2OqiO4U{FBoFs+#~YAfFKf;5F2dJ_smLc!G6DO4Cs zWy#0bR@8cF>2t@nag65eYOv2mqH-C!l?LvQm3& z>_9{aNXG|w%R+d4ImDnTv9>8MO-Ma>j?@ksxV53Zu2!=1v7U@Ey6wx%cK9XLdBXIV zTUG|M#T|!}2HbMSNMbepo&jXcc1&q(3w7~5P^&tpsq|0s=VxT6@?%spH;Y-1W}-rr zW$Su)a;;sr^Q@hXf0lg}S{@#M>Fd7PF?s#F%DnMEwXOVD+?Hcc&qw^nJ$pGfK4|%W zt@*_G;tR1Sp~T`x&91qr!hl<^2`RI2)!Qha`lR+l`A6e>W1C+c0!nU-tSB!4TUlUVw4~WkU6lK}>wc=rRe8><5^SsCQ=KkiB>k9>?>uEU2piU~t?!mL|jv((q zP?%pXLeH8+{3TgEbj@l9!}IY;BhGSEfJ{^2c1EdWNqt7!J{(L|N|)&Zr{;&5tYHC* z9miI~(83OIijDbqF9ES>`#TlF?T z@gUtWQC_b)j=!~<*{sq7{-sQDF#0tt4Q%P^;a2JqKRXUXr>sl$O1orG?;&)z3QiF+ zgkaC=#FCm{N;lnSd)DK8Z{=H9E_?p>%1sP_Ii?A(_<;-*3qBAoq7nl5eRFvA?FDI_ z1?2|)gFGKoqU%U;qwaOix65Ncnnb^u(-0rnAF#IzP@A)-!MVvJ2o6{mDn31Q=sWv2 zcp*1sNXy%}7H{h9eymWM?3-3dH|2LnUVf>3f_<^E2?KPvS&_MX+sr=GwoSnBFxn^g z$uYx|QOe{KK=Knap+mj^>zB!vp38c`DVnjkR;#&_P7%risCOqHSnMo1Q#r`AbFhNO z8WhPfjOO#b{!4t;e+~xRN{XG8y=@wCV9l2uNWgSYeh2?Y*!?b}U{=)qNZCfnj3G#r zxh>`c2AZ4_c5-+L|L6o>aRm;9&hJtO08-ar{a%QEI!^El1>ZxIQ}v7^EMAk=-ljnm zvF%#`{VAdDZCLRq6$Ql>(%Y{__tpaV?d>v4ICS5!u<_TMn9xnep=PK(TH(VaasWCr zx-TUXIUEfPb4Dlk?pKHFxzL3*RP;S0^X)c*CL>#=otkiiDuTV(RmQjng+E#_h6*Xph?_1jLUyLM-EVV3;OqPxsf_KfRk&JQDIzd z=3f(VF9|FWG!+fe6NOefeRQWe(}vJIC%r{GYc6d4J(WX>(#gL9Ttofnw!5EtqHf63 z$CZsOmgy_mL`vk^(p}Y@NxA&Ou<3;_Z+usN-cK2uP$$sO9D7yi1l*~+vwz!DQ0Y`L z=8uP=C&oHv>pGzRtdVtO>?`@huaT~wa;*M29pCv}_mW0xFj_Lm+rC!yTj^gOTNC$` zKG8az@r2FGP3I$->JOVtzMLD5`)ix=eWIZ?)q^}wMxS*rKNw3+c9>|}KmYr6>`qPi z@La$|y?6Sr4;|1N5>zsc-W@rzDjH!e+XpfF1vz9T>0kfO75{d1e;PPCm~5W)_=&6R zAHgSMuY6Eh*|adpUv9lr8rIbBMs-j0`GHBc}3+O-|AA+V#gGEZFLfpa=ojrt~gca|u|9*K45Jhv>QOg9sY6$g_6H7TN?>r(9a zFZDO8Lp_pj5cGrf*5t}pzyHVwC9Bg=%-jA)6a!yO&% zyFXf5J31-U9pq_W;T~}Dabg?6&+n+u(SG19E`*Vpg3GCILBx|*Ov`$7pp4gz1_kXD zaZFna)!Wea)_rO^S`-1@6E{pg=j7-e9_F#b;&6+9WuN4b@|g}+0}UN~G|sU5XS)Ii zQ}|6XFA04e1tNuzu>BFVpj3()>#bkrp=s()T0&uQGdnWEDB47}3G(PhgcvaIl&B?H zmB}yyi?W|-)v5P>JeQLGHnF~s++p?~h&1Jh6++8LXvJl!9-RlGxZ3W%loM>y_5I&kQ&CP0+wkRlzQDTg z_MB+6f)(%P+zL%<5Mtq4k)Z8G`Xe@=$>YQl>uI7+(2l>hc5I{hN9l;1|327F6pgHp zG*x#jD&NZl{~lGkz*gBGYN!E56kdRc2E#4j+8zgNjy$D9J1PL6K@G-m(#N{Qk}(E9 zn^mbZyguf$0bzFjgpWZ;e1!dn2b6GhWd26+O>}nB%!SSh$>=`ofj0X~P7-#SuC3_G zN;@d<;-Jm+1L+tjtl%3XGG71;hA-`J>Ps(zCG>q=uW1S;V4NB>H7NnF~j}xjV{I40V8Qjjn`F*0dDt8xF7$u z>qd+-eDe5u-@t7HbIN=)(?lK0m3*byo3)|oeVOvB;!F3_SL2jQqMJYZ+|DyW81l(1 zYnPIz4@TqJ7Xu`)ZL_DfUmXM9c-opc*7be*n&ZwomTS1axfWc#Sr9AwgByRL;$e5X*2o-|Ys z15goJ<3nZT5mqVz01dnZ1m_8Ka6k;A2N+4!qekz9@#VbtwMQZsICOS=5O6d{zj1oUSw3(w)ysuH=Hi`Hs%~F1}Tn@EGc~7!Drd z*gL13-KS46S-Fwf3)~?jTd{2H6cq7@kBs#ua3~cf6ecN`2I3!^oUBtvu8@{d&bQ3O z%150DjPo1;z#7aA|2iuI+eXDLessqMR#vDPIaY>$EQyFCeS#WYW}*^5>wgI)T}l-O`hz8FGqD;B0xk1T7s~62-}b3bkG8M4a7y=10-LNkle6Yp92O8S82o_EGM(= zC9YVVEijU>lg18p9tSg$`W$V~yybI0vM=%{^#LD?Xm?f8t6sH0MNYQ$fhu3o;5R9n zpe3e6^8JH7qn{T}^>~Z;!`)!6Ae0^XLLOz|XJ_aN&`Qh{w^!H@lmW!qCH%n|99Q9l z*{@gpc*x?$M-E)a0;Sv&$44n2IIx3?N+78BNjYE4nSp@QNK zZmQ!p9t7khWv4OEFxL3+#ErX{2R0e`q*9i>FeOTU~|!6zvp?DJ})ioPFn zLh^r2MHpa7y6ilDTU-1(F4#6|jnRY8U@ULR{^*Q&Apq8z>PZkj@zM_8ez+t>roy$X z`z1e*pDO5cXl2{%vnOPoN+8NuqM?bE{mfOgA<1?+HOVmgBa!l~lHfNW#mPnSA5TGA zlIHRgAyD=Dtlxlri659r8-4jNbYo*ZR4n*NiZGE^$$NDfw^69`cjA4z-d|GEFHYmP zCK7qB-u`uKWFEMBSGyT7H)lSf`uX>fpHa2r{)gGCtW8+`SvQN^Xqh7O5eXx@n{{~N zCGJf9ODUul5u@5uo$~8L)%lYbo4aGON5K9t5JS{`FnM5xF&6i%j={sqX~N}3X&9y4 z=q#UE887}C$R0puz%sg7ZMm^^D&uipz#hPt7L!B}sHf#?yZ!dX#@i#&#?Ub?G$MZQO+jl zns?NPZNEnTj&v#9(@8QKct1W}kbk4i_ zKkU6TImf$#deul!`fP>`{%2(#*#3h*eHSNYavsM#(1-OdWnK$MtM(;_(*-XnnU!0M zNuRqvxCel6r||%fk(~*@!*-sf!2$4Lbb{=^hawivlzkeU3FuKuMTZb&VcyBO1?pRS z8bhVzs$3C6@^9?$%yQWXr5n+H4cG7mvcsiAlIlOw< zW~K6kX9jr#pzvI)+QLZDcuZ#0C=X1Rt9{^i<$11LILsELe)-5J>MiTmo}ib>w`t+h zB(r{6dqmq#jbYT1a#fzy?bx6)Sl zjI~m-fCF?qx1RZoU4#brlZv!1tN!=OVE1t61%~YfAHar<$qs8meKYT_9R;4e1&O{G zkbM4Cm#rl5zAe_DDW&i)#NF84s4KW?bmZH<6bd%d>&WU{Hq{?jqEvh}`5>d+L8Cd1M%;3N?=17x;-=T>Vv^DhYz9GsYe514BqED2}M0}dn`-%W);8-ZHmsWpU4!EwSl%7O8RM_zlpnR5?H zTD&G@t@3_SB`#M|t}ITH_|1wq04$dHaOLXG|Ak$W-6+!j<=l-=-&_Ax`e)8!Sk=iS zH1ReH(D<&IloLJnHQfHwKQ-SEp6l5T=gZ7vJ`YHae|@T^e40S=tS0X1$V7ABY{od5 zulq)7r{O4QXtde)_QqB4>s%f$i7)dx0s$}f;-HMl8n-rFZ&y>M_Y=zPVm&>@>pXqm zZcH8adP=xqKGDer1cp}s8;Gj0GcV+}7=22~Qae6Hp7b@+G-1>7w@2XqmgoM2=SWZR z4WYT&x46HV>u<2}p4r#a&^_jts3shN>(QtGRH{AlKSx35o66Vs6y{}&C7-51?$6?zW7cP%EPKJiqy|_* z11*l(`N>^oM5P38r3EAd>J;nhJ8k8n2WIhkuHu>+^^s%lC{cjAH<8a;8)r?lW{fh$ zqT`a%lMpG6+%G<3MM_p zq7&)0NPw%zND}#g zlNr_&?Z`8j=rk@bbYWx*h`1qaP%I!!7@H4S;-}TPj*%swekq3r{6zoqo}&XCnGQkz z5(0{&s(fbN%>;v^7EoApfAe)Vn5bT8=ZDX~md7Hn2mAQT$TwhIk+>1)*{8FRW<1y% z&=rqU5z+XF!~@~!-t~S@QU3$VKsCSp5qn?^dngPO0`Zs!*U0z`hFBUDJTBgi5Ww?F zo>>2v2!W472;{jB%4=Y<%^8dJdRdv(;b+)V2laqBVIGkMAA6*8gb=`Yz6aGnA1-xC z5T^Xa<0B^hXkic68crGv@Xo`A-YsCzyTu3?4lA4|8Td&mg8aZk!>1XJI(Hxw9ZY0c zMf>r@9xniYb`DI+Vel8?2gpz`GU$=ml;f5aCO0j8jN;q-k;9zshwI<~r~D1}?MJ8m zuyy_D{r2+Tov_dS`c`{v`vSWG>rn{B&5xcin63t)CJL_mQZ zUW6UM;(9yMSz$+8AqF569)M%N4>;NZkv6l+jz9<;g>X0wv2bJ&^_ErI!NtY4YtB^L zL(rd-t84Ap@;ckzSqwt2x8tj4*A_LC}U=6Zd^Xcwk&8R&{3ha z5nDjE0kx=pT`43ftd(8ltoA8 z$D$6fFhvYRVV>oZr~pDTIP_pb68n2h2puV{^CA>zNNR)-s7Mk4sR$e-5pZHbDghA= zk&9C#vJI5FHi_UKBvG+qi{}h(!$En)8;>|R&qrK;bU4X~;ZfLZh69Z_Hyo)QB2Ftd zHjKH1;4>Z>AF|oFw7`jnKr{r1M8{qhybu&FI2@B4ooB#zgouR-XcU!+C{Uic9w0s> zC=dsJj)2boh&(CWM!|`VKm-H?9uRCC@FqsaLA)L~Zbxp?;Y<82wTo;poJa^8Z!G>E z=8Pkqb^djz6Li`6;Nuw^&1o!UDC#2g5kxzjkJL7?!C$`EJ&4}(jM%(i`j6r=V+dU2 zu-;x`aM$rm$~dC$4~ObRMrV#hqUT*26p&7AFEC=9HX?=&NGIlgW66M?i#T7mRS4z5 zZXp(*NBaIzQiFW%I$t6XKX-wYKw}pXW$$VuFwD)4s6k?1|JWuVzK#zW3dBN06gvm~ zPKYG}!3HAIxetF=EZUDGaxRJ|FaLW5;sHdQYuyb?)-)V!MEd=m|%h z(;rDH{D^ME@jCr9f|#>+HB403^G*PSIi~N8=TD5t!|~ohvf&UDbpG!(H-gQ8pZnm~ zl1@a1l_F*pX;l#hbpR2N!Zsv$bz$pEcnPnNCe)LMBrWw1Y<(r zZbTJ2Juc|aB~p!T1b$l8K#a8W?E&5^is1h#A>d((We)%mpc4jj7z4`UKbIvmFa&|r z1M0s*3`@V9OkNQ!G#zpyLO>KgX9Xa>9wgp=HnE@UC#?6!AGW7|`z|}Vbq=ERX|@DJ zxdMa0jU`j<3f%Ipt1Gm7*UhuXFJEK_mZGnpTV(qdl-mOrwcFzt&$as&w%Y!dN;}cf zX!p%*u_GYs<8x=&p*byfU|zHBLrt(7gTY-84f|G9+x|5e11>Mdz;K$UyH}MHXQ0w{ zE~~Y>7F65K7!lqCA#n3-5c;fkyS$;+wp3Tx4fQp)jrNbNSYXFjEr4j4VY}xy*`5V0 zwqtHHhKilGXIZCRhZ%7e{7J&_I@ za4#&y&9DN|QyuTBsI0Q-(~GR6unTxDLMuv%pInUq_$p0YjhuiJ!TSQ{)K@xyLjGqlIghEV$Ax<~U z`S}7NoN!jIh7bde$AV!EkL`2kKMv8tI4m$GSM#{q-hr^Phywdn6Uc~|s zw=L27@H4@6ZP_aqMG>OV|MY5Ed5`!)-_Y>w#O1xG&`+YxjKj zw|DB7g&ZPIEKlS-EJBWuYRs(#opFRP#nHuvcY1c%x<2^Rd*56dzPLniC{Q zVjMK*1hGdzq~G_tdQLIrqc$7~il_-vfB-@iv7{&_j&vPMltLe}Q5%lTWTWDe2IXVJ zzY(r<#Go)zM@0x$2v;Y2DjgPoUr-hdUgIc+7sO$RRX7nbaN%i(fk2A&;4v{2+Xw{J zfQXwsV(Wr@tS$&*`Cu413Wjy|YDc1f2!IGYA6x%NhyR2+`KkfUl|YQ;8|ejKew~&I zf`zC^GtOzoTM*P4TB|(k=LbX)1M}uWtR@Mu7oyk`p2iY_h&UZqjf8#0jX~o%Gpv@( zmk5XmpdUJbNNFSyhzWsw)j&)Lj8+YZ5U6H9mujG+I7AkV34v#uTkN^&IvESr+L5VK z-9|vFfjYw1Hdak={qBtRF?RpG&GzP7hnQ&h1=YY{tQyc6?y{H`uzVlgn*74M%3(T0g0T^C;NdxiWeXc0Z9a6eKCZ9AC{w7&}_ESX%YZuupeni z?@o{oo)nqKZ1D64?S((Q$97&?XLI0u7fv2$Tk1;f23+xOZ36Lj)Y>le`X^R4Iw!wt z&J;Vcv=Sm`+IGJ+NRFhJJA6NCghgYqNdx5#2B8K$6gA_YgJk z&c(I1ePxqv$E)D(mGySlidu{gONl#BVfSEQxSha4H_WcKO?Z7=j;{Y2)B>BDLFzT7 zb_K-6O`WZFU2C1)hIC@M03J8vJJWs}q9cPm#PPA5t zkJ)uKP@)`aMTEjR1WxKCZD6dLL@>?5j^L_dyZz=;dz6zd|LO1dFxP$o_!&G34%m5) zLr(PF?w%O3{FfiDj@!%*fQT_3^kbkSS5B7-h$xWJpzJ>+O=6Cko{K^jUmy{Xr-6GB z$TmR|0&%NBBH)C87G^{U#Maursd%uEkqyZ5^_1d3;yT*&Vwa$Z`gh}?NC)h((0%cX za|oP$noUaFz7Rmn?W^qFJQUvHu^ZS8ke)fKc=W^nQ~y=-18~cKxuXWVBZnwNZ6FvTgcT7IBlaRO zR~R_KVeUVlTXuqIL>eHe!iYp55CXBvVZ?u+Zgb?=;n5cSqq+Zl7sCH%gaG{< zCIsXm0P@cw>d#^M@6ql=2t*PA`EAMo>ipTu?ChB*_o|{3W2hp$Z0g3NItbZ7nz{AA(KT4ecy|X9S-Z_))!Hb9!K(xTa zizT9;k3JvqJ??tD+M9?0&~Aqowc9mA0|2%&wawcfnbZxgDDUMr4>j6@H8l#Hi7WQv_ag07O2ohBna|O zXoJA$EC>Wa3o3>N@+};uG>eFZyY4Qt|M=cx7`%KOH^hgCNpKS4Yqz@_W~7b+vG<fTCa@pny=3)JL`;`GkPZA#j@l7Mn*JjNJ)G5dxA3=v2f!LO_es zH>!6K0z&+G21~xdM4N=G03w8uPY8$uh&Iwd2n1_zU-WE1S&2K{zJLu#VoH@cS9u}$ zeXl=qU%JdV46-(v*nlp!F&K%?7p(RDS_DC4n3#Xs-DpC=Lm|6LAQ%9~>VT0L_#>g2 z;|($1++spN0iWU{bMpy-7|Hvw)vkscAq@U2gusaLTg**fh(u!U_d?zJ2yx(+@_D}Y z+PGsvK%9Iwi-oo$j!0?{8I}cm2N|4du7&v)69OLPQb@za`9T^m!imPB|5)!F6OHOq zo*E%Ca2qL;Br28ygnGe%HS()>jyw<-`PS;eSTBgNHJ4+t^E(NF(4W!siwn_3VRc7T10x1~v0>lnG)RSFsZ3rP9q;RFL5KA?ArKP)QW0F4cdgR} zMJ$XW1bmIggh0gQM?{+>0ZE=o4StA zE-!Y~fa1{yLZH^(eDk2I2DZ%gEZAL8w zK)qdFJJGgq@X(F3D(ps#055AQu}hmu?aCPqc6n=~UDe)ZTNf;{)kS5tsk+{-@94CP zD#~z8EVnCB39M_b;DDmBwiaWM%-A2Im*pc|oIrxaX zi#KL%KBxvf7)i9LXtQ^nWz03?=>g*-U|lVsa#s(Cn+&>gZ6exev{?i(@(9uwqSr>G z6Us6ULP}v{3fI~Yqh~1(I?gx>U0zsY-VxmNbWl!!U|1L8B!pNAK?NZdMJNk-4}3(M zif`bt@ZHewLZ5#R%^VvPx{fmtRPiP!qFRy`R|#mdi&O(K*W<`PA_DTc|9m3h!u*Jo zV08Wbz&Rt*gFJn$bDa4^!$`oLxUGyt#oF|p5DY)wMYDyf@-G2}>G z`G^>BNm9g3(vGW+BAs(kBZ)hedP#(3q~9JkJ`GmyE^Tt1cd%E9t>i~y0VtSJY=Isd zqXjiZY{(}fAT4(^5h@W;fbM}$f#)yhV?SbSoS47A@p8!xklH(e=L6FI7#|c6AFwk6xB@}@$(ztjG48}Sb)aqK}6TaDzcr?Gg zuIv9bK0y^3AV|&pzxX-{5`plnB-D}wgoB4-iNFwE1L*`_S1?5h1r&&1o92~Vnf28Y$G5*D)(-kXxLCbZ}KWcV;ub z?zl_!-UY(hXX&0()_eAY_P?LI#g5)pVI9(W7frAmaOJzJqrt83_o52e-9Fup%`LG< zK>QCcCnmt+N_%Jp-Ti&v6bVIs|YYuPCS9Byss3) zlyV4*$w(8L$_s2EaSN_kIM;S>T4(pHUTl|RNO&=Zgd31TtfU9J#yWc-tJ4bI zrIqXGXktHvNMVRw8W1D`u2OKrK@k9wB=B5(UV(4o(MIkFTF5(W6iUNp9CW@xCmA+) zCkUJ{(1soYlf)7MKfpxoc(5Wt?Aj>lfEIkbVZ;PLq@T{)IKyTl#2+19>f-7Eu0Mt_ zadD|j5~PC;(dmNGQY7Y$HmsD4k0h4&4N%61A|CWykS=6gH>$P+Vd1WgLJoYBAV06` zI99$(79!6E7ketWQ@qJVVo=?W5lP^@1E-V^qtyVTx%GV2z=aZn(B8Y%57zo4s)qPj z*?$#u~U74v=h1F;!Pq0%5`NjuY= z$DwuNYlVDDWqvwdKx#?)oli6>pN!&JxHQQTUo2f1Ar4~V!c(;u9lPtu*2gm-XD4nW zP=17{)%WW^#r7GI1i{BhYb_kk|!Wl!liA&r7*S; zaKtV`hVf4E%plJvnfoax3Pcb{JrEHU`j>zZbo`tUcC6}(<9~<<7*u<16Cg=nShue0 zcYS|Q#rT;ht~!zGOx|b_QxK^d)F)R@`}&C5h*blLJkPh=cNA7{Nfxb+hkc?f+hcK)yO5xDSqS`Xhuy zTsA@+{AUt@_#mNhL^6w2whOZEjdXaT;I(kWfk6PlX>_gcQhbE-=eM{!;Xu!AcJ3{O z8zvYIKJZWd!8Nw?`chlNX?%++C)jmZ>+f1rZM!)n=$s~03<84C~ z;`^G3aQ@>U5XRX?Li(--*{%VuZ!WfLPyuYg5ai0Lsdg#IeK~=DE=7dD3BqI!BKKCT z_Gc0&U>O03RxM};iPu?MbrHyWy3K7UvE>j2Yi2gvrSoUu6)@k{wzfk+lvyLEQ8rI3 zu#Tc~>%?}X6Uk8vbE6coemQmn^V`d96XzRTzN*=l^8Hol{^dGYOrOh2C)!k`2UFyU zf|Ozg5{4BVZgra^AB*SPb=X7PfC}Tz)eCJaHWKS_lbl&O#Ttt_{0K?Z%;pJJM&BPj zwZyu*K4GWdx}S3k4x@_NhXLX3xNXXPki~=7Ko$yEVTUtB8x$d+=vsa}akR-P(qMe( zkj^C#H~~PtOmxzrM~u{55CP$!&09!ZoZpC!Gmhgv?3&~odDyUBOc?141J@q~3yJIi zf zo)ZI+UO7)9;B!kvWkfUvL$si;9 z@sB+<6wVpMpNbH_AFiZ4QR|X`5R>W-ADAVgU|7^0!eILWP(DT@Du(>fSI%FROnLwp;&0BsejkwXZ!u_I6q~u|yzv4fwMzMF=WGL5lawizN7=E@&rw?Mtb#%&PTa0nn%yJL_ZeUGB zi>q=%V65GLU%S2WS|9{^Q4RDWLhnbno&xE6NKZ$q!D7}AAd1BAGRphULITHbgZb`* z7pewEO9TQjFd`8M(g2qTxUph60PPE01CAJv*h0ewbknL2PRa{JV(Mg@Dp7v*WLwK&M>lMkZI`cU zqum0Vh6JDjBBmBkiE?=na85x5wg%raB?&;3!ge4l13~F)1+Ef^Yy(tR*Rez(HWCzfCy9Wh2Le|S#3KA4#t$xVvGLW2 z<#31-E+i9zr?|I)*A4oA*O|sv;w~kKYzMskz;$NWcrt8enIT+)qRmU2ST;jhng!2E zmfG+3~x+>>E07dUQAeHdj^pV&LW&6#2ypr`$p0Gz zaSpPmwSWN4PYZ(%IK8pV4k>El*8fT4} zG3TVB65;3IDghChk`i$(!jpD%QePk_g$%{bir5Q~rJq^P#{sN@)xQ&2k~qn>iG47m zy;=4#k!61%IMinNpF&m%qSW;>&i%~20SKLe^c5f|A-W*#2*IHuop)q>I($BcBR9=k zA$uW2AzvY3kglXteqYjJxt?N6#`n3JL00&Dk6Yy{XqKxFqWR`33L)b_^ac-$NOBNK zs4@!IO__*@5Oj-w&3X|r9L5Mqp=>!~iG$B;?z^Nw#JVI@vAd_%X&_2mLJ<+xsi7@M z0XQ|5wHM}L5Z}vf+|^l5w1+j5;e9FIo96u~`mX4pDHrtzk0h5aYn?gKsPh3BA_l@7RooM2UZi%HG)086k4+$+{mcPuq|#A9p=^pi)Am5(8a(^1 zw_fa}%pS2Xeenjnbj<_~oKv7Tg@-S(nI#3bV){6{#tDIP`(jI@JyTN+Ay5k;fQ`Vi zvEywnoL^H!2vi`ZZN+Qg4%=izr`RUt|}9$Zwk4Xm^ABcLVpWl^p>FgR@F(A1a5##1uG4 zRKfin6?UMb$_`@re-OKY<8wNYM9j1Ob7gEe3vYv2b`M?yw_}TN6E*>>YKjoSGbuQ9 zsGf5M+A%V0EuLl-*aQesw_*^uWmcPQTer%#($1Ag305JsXaO;oalaZQ-@;h~HApIo zQBl-0v6d3z_$mwsZ@74|t)JU!Ek#qU0`);{5vm2mP_@{b6i*q;DTb&BP<1TD)$k6C zA&;(_j|!y?mqo^egOv_m+-dta5vzdn5SCRHTN`6r#WQsfNq67TXn+3?k20rzgWyAt z+vzum+}O9+uS{=%NL|PK^^AxjaXHLQ5fD!7 zipY@Lp8^9BHIVWY$RWWdrSQk%W)dmYS2$+eDN{T6KI|>d>wqUARf+Z0r_F8?W306S zBxC)(5Y5@`l;I@hyd(x$(Y~)E00e#cnWND5QNA;)qAa9|-^>6X<6v7?Mpl21gEtg2` zVJ_Hnx0=XVW1citP5r`o7L6F;d{@WRR(tEhy%UtOn;`?1H!m|YI(z*At0Z};V zk>jvM9B57jNry{)oFIiO&29{Rr5%^J7<;U7B>50tW_(vK$SX;|d(#^kGll17ElAY_ z7n~N-i-<-Mf*BB7>_X~@T}WDMg#M@KuM;i2SJ617%hx;)=OhFje+tANqBq8p0*#mM z-{p~Dbv}&AwOFpO+Urvrc?U$cx3h^A?#r{>@+x z+p*lGgzDbn-adnf><3vZj$@FV5B2fy6)qjMvm&ADyHc#%Fgl3d5D5u zjR|YmZSDAf@_-uRtd$|8G$Q0AjZ4r*%GKF2j)pkEd&*rW8IwW2`8;d#Ebl*;;GjJF zh&}zqyKKWs_IYftYB3ydfB~F|9oGt^ts(?IT3KpOHP=H3RN0u9paza(Bd{C}bv}NE zEo}bHb#QSUi`(2b)=r%4u(w|egup-#7Ta{Dn-A#bXY^_F@=2jXTv+tt1T+cr0{P^N z{e|##Jvw~wI}HP4HGqf!Eq*9mw-tcc0J3%`lk83>2C`BmaNm#Y9Cn8ahEi^^?CxOV zPH4-c2IBuuP^2u;5p`C8Hi{vM@Wg>=GZBTyj~ajr6PJ>}U9!LDqcG=I~H{Uii zOt3ZR=x-<3&K?5u>;eJaGrQdOp$a&;vexcjTy6KyEwlUD3hklx5<&r2+Wi;~o}5=_ zx1$D7INvQZ3hl~;m3A>_0d$lRvmb-H_(yr-oB{AZbQOwWqY+PN8KP| zr4E9i3WLE?q6!vauTWV$(b{SXZ5?io*RNe}S1eg*3pt>udLm+d3{R`EVW`61q=xeh zYN%VoyXW%U&Da+l!^rTc0xKciID$dtiFGsV_@=oSMmE^|DU)mls;b7RNTsMhqkX(> z+d0F&^yOnL*v}vi`!Hdgi7oJBHnbi#K%_Z?-7Lx;HV;3TgN=(&o7T^q9Dsntu+?;m zA^+MOLf*2%579p%P<);KH3SbBdl*a!*!8}f~DW}+^k`N9;td@ZY zNbH4(+F|KlBrDl{j*ydVA_Mec04d3UkY8#y^$)W_?*r+wUfi{IJN@0x;ZHKE6@erU zlMR~w4uP=E&*<1i-}m#}E}q}PTEE+w0zb?rl9D)guJK~ONGBoalDsE#z=?V3WCwJ7 zH$+yv@g*VNwV&uiG2} zX#ynfXD@(s5bPZUyTtEqoyfmAtj| zZs+Dh1jh`BJb~!j!*H`^{EQ2}wHHP-&EB8VshE<+@DCEq88_^Ujbz;&P*NTwY?4?= zg27zM^8Yi0$#+6e^H+q6Bo){iboZ=b9j@g6Lag+|xpPA55OX=lIv7f_ZXo1(APo9> zf1m!bNqTUlof~BA+_L~8Y>@SX`qHw*m`U%mTt9QJ9|BOu=IHbjtVc!o?4j>(vd6r^ zSath%VUx!GAeE+{n*t$`lUqBCs=GPrurK;QNc%$&lS5L2VmO`FX}1thefPquXg2f7hteJ5^$w_{UqErE$Hs+SkRI4gmGn9j3> z$`fm#4C~X*Iy@2P&9rqKT|5^%fSRe(tO)7SG&~N9IKH@+7zQ;+62#%pE*xi9VZU$) zx5@jK&$46KO&ncFB*ay1c4TdbU4=AcE=0t_(sG-H3u1GXj1HN^s0wbmr`cZm$^rh* zr*PqX5MqE64BrA-vZ;%^7Y8G;nvl0nh0N&~<8J=FxLzGhBmw|L=K+O;AQ~jL z3x=aXB9Ngx7!XPXE|4lI#G5b=ItAj@1~2Y{_YU;I4Z!V~<|gwf4UwGG(V_Gu9Mvnt zd^el;c8qK};V-$vJs|q9I}wse4v;5Kf`WAofPnhkHJ1|_2RYaaRfjBq#pNXkp48v7 zIkIICAt759MDg?|$;O|C5Xl-`xZb4`LD_8j;l2`?4bBOMO?Ddu(>6rikG}&k~NFGFtNX(mp!H}5MIYtm;FT`9Q zXPfk~zjWie+>_YBfoBI8o1=`|Q8woz5Gs4=4~Rymvw5g<>A)qik>MN!n*V>+K9GSh zl$}U8=YjWSaYcm#RQ&e@b|ZZQIzt5lsQ)M@VRASY??@z%G7bl=dw?jH#1QG}Aq;je z|FdtK$5rVAx%41mJjb5V%lCG(dH3pIG96r|Jqphxmo7>CuX*aR5#Vqk&T>*=NjeE3 z;L-|rL6lvAq(yMp5CZ8T`UuyZF{A>FcUCHpNYxZdRAp%*aeL}oQ ztt9=phuanRAL;iqaO;ww8Q;>+n$}!MW%q)JnU@2*uvy#5_wHhxcUT|eDDk@LN+r>U zA+gj$lJ-b4;D-~*Tg-OwFOXWHLUi3f#Gs4;ldR#M-p%}fxP0QrB-mH_ySEWS{t$SN zdDaL1>pNs;2#4N{!F(70@;r0wJh<>QoOze_5F{YkEE29RqH`v8GCunuLLs`(f^!D8 z()9J&5{cz-z3x9PdzjZgfh2JYW@)>;%%KJ`QV3 zcHc=v+qPrP zjO-MaM1&#+B<56jVZ_JU>~*4Gl5f-I+s_Y6L(L8)AGSBYcg%i{Fw4v8u$h30x}t%A zKx;bSw3pdQLIxi~AAevj2%F=D?DQ%|-SQy892{MR1D1LZ>j$I}Yq4Z0{X2 z2=$AR-$r!z8;H=i1tY%e=G5CQaP8M|1n^y*ErbuAX}f3D+VLeVcK>oB3@!lCcb36H zm%~XDrvQn-J#8g~6t3pP!cMyz>BQY2{-cQXZ)j_<>+nF>M)bg2Au3kkWpE9WgWJ|E zw#ydIwE5T|v?3mA!TNtLNPi(5dmG5T6~dqsSPhcDf!G4u7PQ%R`f=ytPP-aHVlI*a zx%rh$nZU`E1y)uz-KHbSC`Xde!WjeY7zH*K6Xr&ykMZi-mL{76mD*ARAyGfkia80h z4#U-ZcGTGa{@)5X^l3KgW7hRHoFbkq+GzVw2PE0x2Z0n|I(vZl0y#DilSr7&R-3Ge zXcdyzX@-%zpzDmK%X76r}z}Vnqq$i`E6zd~+ z&)m)CbT=HDIPd$}yic*1A7f*FAM@^`JpW6iA7k@lVdv}WS{c0GT0c?m$}$87-&IEP%qI3p^y~v z#2uLEjYG6=_C6#CkI+7Sp-*Z1SvKtV!?`>}83Y3a&w03`G~9O@M6B^m5zHimzH8TuDEq*A~Z(or9;+y%Hu>h?;e)QzyIoH%H=hiNZxhiTjiE z?;vo3KHf`RxsyH)JjptL5<8_2BE@)u`V4q1#>G_4IqwoLO>D$cYO>h3MYU?7)lx>bEvkSs`JJLG{%6^bF2s&{Zi9lBC`2qeBcy#Cy zp8XIinMZu=&p|N1<nq?D-3xsNbm@y6P;WLY-*h-|XSF@M@OnIyt zKqBzd5CVg}EHF08UUW=-7;N-2$Pyii^3Sp1{r@K+5W>w469V*86FAu?@!U2x12`nO zNBLh$ZIEQ6?C*kO8e%g@|EhiQ_pY;R7EiYhD5y(t!`QX7*7h%H0#PFcK>vP>6aOAq z-eRX#x1tuPvy+?|a2!J5$@#7Ji6wLFA&~otMpOeJ>r(^)I=Xze-P%!Y8#$0?EeH5q z(^g?S;oA2R%l~dd4DZI@{(%+q?V;84?NQwG4r35_EAE5WqA$OpdOVQ{2``Lv;Oc7P z3{+0y*$&$QL2?~-0yhvj@b)Eh2@+IoE2|6bqQ){?S~bnq&#bX6NEt3h?XVQCdkH@N zOS!jxMxAYhKv{y`e;Kg=E=G@ZRqb@Ut-aEAW3ad#Vqn|C4!aq>{t^fVsS&CRa4Br4 zvV?9yNiY4HiN?)J|7`BD^dJGrW~J2*;N# zup`73*n{-pFs_Z;=G59|4l3GEUul;wm~Bf4u2h9is|1NaMcr5{B;Zg(>ll0d@wr4B z)WUq+x=+KAos~}e4m*4PYK&PC*(u&O2we!@WE%iC_-=%N+XzGkb8cPlgg|60C_}>0 zgn*<;9(gjHN1-z_Tw2BaA4F8&+kLT%?Pc*T(f)wc3veol!Tol=`v`q|l#T1-5FfwH zqWvS_FKzJr?;zs)BNq7Y!X^9)#|HlfZT}7vr!DeX~0$V;XXOg10v{0tj+ZR$W`$MhA=Se>n9e*+nYd)NWn74L3nINY;b0u z@pq($K0|zvPqUHy5t|(SvOl%~3^bDv1qpi$1aLouz#jYYYe*fkLU?;4WQuqfakvNp zZQ_c9K7fitT&g%rk8>acNW|KLti;<=SD^ApLP&^{l_)m}hbUsDSL2AiPG3J>I$gWi z^iDAzKTDrJ$tL-8^yimBB)^7A@;5*%zr|+v+ia@8!hS>)%G6`*N%vEBoNqn|0>ci1 zaS&lYh%`lefb_!Q{0T`^qG)sw0qz#3b0{(pY=aPNJs)K5{0b7F-(v&+ZTkG{i~;}3 z{*-V3EbteA@*1!I!8?D2`@aH0_$8zQPgq}u1GOL~&JOOgS5CwIA}x_rCY4!>WMMf( z4q|#)q)Q#?gn*<{u}f(_At2%sRRDxT)`J{^*?BnaUe-*akN@JXk|G3TCaKyE2 z1zbJggaDj8YNIp+b`pYX02`9?r;%DAF-Z?T2FDGN%Ulv9hklz=YoD~!y`0dBWJwaT z1cYotk^t;S+(k~ts`@s@W(Wz0>>|SP&(wnp9!MO5&}1&AKEZpLx4GZpJ->ux4T2*D zavpjR1dIw|fNzz33g0Y3U9kWLQ76zetx9GTK1@Budfsry>L-I{m*S5x7t_AW^5pU6KL>2oizVP9Wb{Fm`W> zT$ViKr$WsNqDX>F-n87#5XENEHx8n=8|ak{fpmgL8PpG1-y0vY|M9WQ?6Nr})(kRR zgGK*7#QrDOW7syo3UPdi9m4JHAZ~OIujYv04W0JDl6pIdO~6A)2%bc={$V)ZhY{N! z<>=viXL5QVF$0cp*v~z1=yyRt+=Q{;)rj41tjGNj{rE{Z_Jv>v0sRk#JN2RUAa{lN_&?2RqN2&f^lAjHPXrb;&qoLfE3 zX5p6CfmEO!YyLSEQ*AY&hqu6qZ=6|gn;-(No|*`hUkYJf&}5P zhkHAaRBXi#VkJ=rt5FS9;|b7Q%V9!=(`*97(KL{JCGiI;3yUBK2s=Ej$jS;!t*Efr zCJ~Qd;^awI0F*-%RLLk2*i0DW-E$d7MN@=;IfM#g8!Cv)aDiNp#NsN5nWdbGpz{kR zBSk32qoTNGyp=McuelC!*5^46`|RU({_TVI_M3NF7u>>`^EV(Klr9-+-$nY7_+RP( zmj*~`C5|hIU;X@n$g9AEOSz@4+`b~IfS)@cBft=#$d5OMOH~Ntl+G*wsU$GY>FL_Y zW{7$K7oNWEwGfnW7i^5D-@pJ35q4MC2^Q}Y)ctk)%9oGW-W|*A>dkZQ(5^+c_s#{j zZRFzmp?ag!Tj_n=x(%&725cp*~+y8!od0{Jo zPQ4egdV+71oq%i-#FY(nLzu(4%g!N#n6bBeJqTZ-&l~LY8FYyW<~9MbmnKzAvW$q{gC;Tb)WmN{g2GqkZi8}4B-Lver zowM!wy9m$y&@6lQZ?_|={kXmQ`Vr2o*iJhlRu0lG>W>Wf(u1m} z@VI_-IvncTI|+cc$sRa7({}KG@491wU4JX{ZeP3o((kRb@4da9_VP!Gy(fO(ff&6372G>J+p0RcMDbsKKIJM0JFyTg9#*VovtdpPF&o_Ti5 z)&+LuwVig~BXjKUzjgy-fOs3?RjQsK&X+wG{gh#(j1G~QNP3cCPNft;2b|K=1%mHB zWiLH{gB?GJN7Z#5wvDk@de?2O_ItmB-9g_Y%&$klPZ$#qVxI!Ro|HNS)q+R%b9E8O zAMSquQGQ?V7VGZ9&<_OL&xxl!=MGW!Fa*cP?7Kg>-#+<^8*S^YGwe>zkJ)wy-*G+f z19t9MWcv;+vAed-T$@DUPH9sD~S|qVo-*rtleBM_8RnGswC}Ayu=l!v4UFk%;WZ{pS{AaysX`J5O3wit7hBHH*%uwF6|fWBRgB|U%v5xees#QZSg`P zx5|A`C&7Z-XTYSboK$4jj+ta1Ew8jMVk7WeO*u9K=yhcyuma<;_ap=&)qqO`*aZ9F zcw&jbpi2Z~jT_?iyD^n~_Wu(bf&WZ3AS1xoMj%)VBZeKe5eUYD`8EO>9h%~&pv95W zL=ecJMfMA^j#oAUP@y`$77lNK!5!>TFd+^RLf3<(b2F>uM}6L0qfK zN^QsDHaos%0jKqWC_6bs2*bSxFaSJ&j{oFBtov8gqw~f#0MY%2R(INiGdaV7;6M+8 zY#%_heu9X8hv#sx50ZjCSj-<=JKuJrk;4A79u) z$l)f82Ak~2ayWD(0oOthtR*z>LOAg`0>bz%=RGUo^5=rA=Tw*4TmlL$gVSCDg0Cmw zQ60#%TH=3<{?>6!@%6m-auEL&A^=uEslNa?YhXK32M;apv_m@l2vPkJ2!WGG1P*Z| z@m|g#xC>%n9q(ua@mEb6&%sm$R)AZexc%u62KBX7R?k60WgIkAFljoWg$uC{D7Av( zQY$Pe!ML!HP{dQMidYqmJaZ8zTyE`XY?)bYx2#`c3)>qZ z1g2SWS&{=p%XPN0<_<=K(v2#Rmc+0F7!;j9 zvle~mMz`M8`QTlrH*thA91@5qgVdt88}1V7-|SiYjbFRV>d@C|+$IB)0Oj8SNKVE; zba^>r{u{p!LW6@FB+_Ev(1%$Ik6;|M)!qcT45HtZs9k#COg|fE7YLva5FyaD9u7$E zh-~ucY14?g#X%%fe`LS<>)UMt^CEtS-Z!54F}g3)F&ci~CpN;}N<#66Y~F-^h9EiD zdj#Z0ToLr*eMkcOlAG8YE@5mGdm{?w;{Ae)P0Na(4GtZ08ZOoC0DwVs%l&X_37x1W zm*n&z>*<#2_I0};@R9f^#?_q z`sr-)e*5+}?zTgF>s@U)N%J@wpV*q=XjslA1L#Q+3HFM9fJ)@DDPaMBGRWwa-? z392mAO$p{xZ$AdKSlz$QenA=Qt(5yWjv3ebyPPe0y8eZ7oVQWA^@SuYZ={}%8$`^Icv{0G)xr7xR+fi1sdsm0b3d_UaElWOv;@ zE3AvCZ&S2RqIQc=1w8fAt@hccw%Q`by+HwmYNirUsKh!7%5BBOQV4-5_R+E`0t(gI z^BfF^YM>fIfM|8H5gw za}L4@?w12ZD>C^fv-HGg-xYijK+sW~12WI@QdhsfB1wv7z7)_5tof zBoUx3v{ehM9q(_uf0G2&f<^NK<<6 zy^Dywx7ZSmF`5`Pb_4{mM@=+|CYsogKE2&-+WCHub=`yLlc(&xpU>XE{n_sycLvNb zbC>H{>sZHml&dnMY$osd9O#?5C_CqIieH$Sh#(Mf!REY{u7M4MJKBnY*a#6AUeP(x zMv(s44w_xr{hgrpd(v>&hPvZ;E{qJi0{USq9K`SJo}J9R9oq;(y)FQbVJ#wTd~UK` z#%SXz#Ci*Qx1n{A3Sz*?U6*Lnr;KV+j%z>`V`ZIADG(%Jv z7unbvaN)%;DrnI>g?1}8e$@UE^&44q(`ZWo1jO-(iA&(m3Dztj5!+&vWjAbSy%XYW zJpR?0Fais^cW~mt8Gw=txmYJ+DO_~vNb3WGk{AkQM)(-7o zU{5}=+rsAV%vZQE}z3}Wbd+@GVv{J6IaijWK0^qVy z!$^y0!~-xHLELqOvMgYWnv$m3n9{2jZ6j>n>QVN@Gh6MYSJvAb!nc&b$8l3Z%nsQ-Rah7Lepw#waUKrWvWG|gZ{`br5&ON;ejca1D^vWcW3(`13Oj{$HyP~yy`~_@i z?K%L8XnNT&#a8hCa1Xhh2LS?}r>uu!g?)Txegu=D04H#qC>2GxII4Hs@o!h#+7&(A zI4}(+G7-CSBi_r-J>u-C=PtB-1a~0-M>*7aDWJTZ*Bg*-#JM8m;DBMP8V=Zi&gXag zIo;>yG191h(4PFobZe19e+lej3&xl+j3b*RH?s9>yFr`pGZ5t3 zlK)?Ndn04BCwY^wEbl*DKt%5F|>=77M#W=ZEU0zVoJ@Zy|(P@@6Ff^Iah ziOo{c!Y~4$#tMW{J|QfHO}NZ{Hf9!tI{Tmt6bah}>p;Qzf3E`q`v3lweenFzfK&C0 z(mT&B;JF9H3?KrMqX1N_%F`b@&t(Zyirabm07d~qSGCO1YMD)ymFfb~DQ__fQIyE} zWF?%s!CwCPbi0&_->x9q;R)3Ic7vkt*~R7(c(a61pEX^QY%}A5)oqe&3bXY|Ah2m2 zo7()oXaR<_wzUHg{B><^i`i^fcIPzD349@&?A&fVdS?-+LvtXt!jp5NY=(XwPJkut z5^N?hy;pHcn*~yw0~lC}eQyKpgIfl4v^9NO^E_xE>_XjezigXL2+!#37>b1&Sa0(F zdtv2Mu}>PCvvL7if)J$z7~ii88i8~hK&a3tB7iS~W}kpiah6gL`?j&w{M@w&^;R%q z*a!&N!A87^k;i7NeH$n~S_dPsvKMy5Zn-ulizY!fs&p)f(gj2V3X;eoXogKNkxeX; z->nl=92a{cqk@>27;DPH9mB?w6c>-afYeGl3_8Wd+A!u)S9Ah|^y_ZRdv`?em~Laa zkS_+LEWKp74TKp<;>L+#@zsbS8t{;s#^NsNmNV8De5IY1zrp!e`2~LXlk87_+hZpSuD9<_En(5-q*BXlp2e&Z z!I+?-^8PgmRH4_#=(snph~ zDT?RUs2&@BgJxV)X*>t6rADzVplrSfp5mEz#-~PDQ%;EW$*2%>qSuv}P|vQJ)5)HC zYMOoikIig0*P^6e#C0(T0VLyxiV?0=P7kjlR_+bbDhuRzxYgc%bs9hb295Vg&YA@7 z$0h*iCTs>#T+h+GH?ch8BVnqd00V3mF{F7$0Ltstt8a}PL|T1l*SZs90wdNPdnejE zA8oaN9^b+9*~Ml!A4Uh@#6}f#w0k(1M_LK!Yp;W#E(A#j8#$qP-!u|%SqD1hDn~$} zRp-|`d(D<|705aofPoPOZhSVyr#IWrZWwNzS~Rdk1%F}hZA8XL0;k0#8@t=zzuUm; zhq+*kQs#r%!TqA^--*m-uex6kK!G1`yq^uXymYn|xGxHBv?m_B%37mA z6HC#8;yA}p=zifjck3Q)*WEDIzB?`P@vrQe=cZck9*p=iu#IQLG4gMQSdbBNqZFH1 zFVb#-5!j#6+zyc4!e{_7n??f;2qc9y0{^?2%4T!cy{W-}~ zGd!(rvWK`db~S-L zGm~KlGUA=hZk;x5ScJKJ|KfpdY{lqqxDC>*H=v;xr;rgu1rJqHAb9~9To|1=N%p`M zki};^fEeOQFch-@F7w&ougOia6@ZZqeR4=U%p&zL(^h52*{X~v+X+i?1ApI5hkyeE z6d-Nr+s;-|G&Bw2U>|;FOK!x}aMW-MM1z^wP*TMbgm2I!PMJw8l5uP_u{?AlXvp;y z+gM^k%8ocWb))Y3(vDaphxW4N1G?BufWRdB5vF!+X_H|ny2>#?heHy;qY?iuiFsCY z*n#GplodlftXC5|%J`i%`O|$pnjW5(HMTP;ar{JTck20yG=(`M7aT zOq`{YG2RsL){qlLJ^lCdXxzHz)vz9?IzU@8r$+$?J%=XrS0vChx%W10oNuzQ-j5J* zrJW^oD+C=Y9fhx$Q)vk^Y(SW~1V=UzXmLMGh4d3u3R@v>priocRCTT8o!(~KH@3Al znVj|oCLL&M#P|g87@q?xfW7HoykGinQABU2V@XXU2(2NnBa%lnRp5Pk$Jno)l%wbg zX0Xed*E5^ON>~nc?ng}@63wnnNLdhwg)9A1ir;QWUbwm1xKCoah6fL8$!QbiKI4_MrR#Z4vP9x4k^4jAOgTFo5Rh0; zHa-q9y5<}U#d|1vn}e6e8Ug|e6LLVnbqnZw0JgFtDytLT zwhyqjM3hJIJmX+A>N5_G<`A=ReRuopyNw*EG;)%|#7q2B%(|-PWy@0(vBpq-u6>t= z2N3Z25UnE63n4_Tz=7f~+f6UXHe0=XpnI?4qhn$4NUhVsBq!E>_X^fKs@uz|*DyiL7hd4AZbfZ`?4- zPMy7(jdT}m%QYNM=fEx~;Zm*ubZoG8LFMxEn##*2lawo#Y&}2o0lWEz&eok#Z*xR+ z0-z1K51MeV#sVv$EM0UQ_iR?1gNhC+`D*X z*!KJr96a*3*k^y*Wg~}jdUwxLOjMjTfq{*~0-iuW%cYmMvA5nwlwA8We(xjp#8a0z zv0yg#>r9emvs7P5a%@)K92p*T}dE<5zpESuUd$vR2hj__{@o6_mW*DM>vT%8ky%mX>ca|*?PXJ;-1~D%QB83_HueFCHb!xhpFNQI_z;9fga*y- zkW3sxv~S4CMd0d8V9}n2rn-{x&SX~x=J|$;n9FsT;vH(U0=9(qG)1q2MdjQ=!u!*+SBhOc zzO#)SnQ5a(wXg{nXV|z4X_*|GZP_^uf3)dDu-G()?ddfz$$tLyG)}m;!v<_Xr3^6V zxfhi%dxyp~*$VL&mz`h{ES1&jZsv)bZOOd$=T7x8(3#S0H0Awt8ynBDTb~#kKdFt4 z8P~!_k7>qpK}*}Gk(Mq)DbvgKPcKFJ$omKGss-Sa257^N+7TM&9@op23;QdOcnKGV} zSKaSQVpK9{5cSz3n%k(+sWxgw&dC=PpM`V+3QO{$eiiV8kDu$i1pQA1 zLcrRZU)cS3O=YCPCe8CsZmQET>;`Mm>NP{{RKX1Zfvr}+$SmlXVx@X|mFMd3(X&m2)nU>Ul@3{%5G?5FKlI#F3+(G$0gaQ zu_-oge5PgLV5<9`XjtJ`Sb=euwz3xwT|;8vwSa-E$qA4~V1wnI+-!?yrdcX$W)#d; zLX%X+3ye*;CbsSwZeN{d4Z~I#LMKp;%cG*aKcH~91AFBK3KrW0i*~>L_LuXlHCZ+S zKvArPO(T=|vv*Hs2a3PEX{J`(yVWj zL>Pf4c1v=K9Y8F2SQ>%Dbz(uf20ACAkcXaZ)q;$8o@DE`0s71#M%Y>9H?Ta5PJ4hMefH!Fo5db1NIi2i>33$7Qq#PR6o077%a| z7Q&gh5v0gpLSDf-HvNrk^xF^}ZdE`Le_zYb-AYEmUI59ic8Ruw8}@plk#{h%*v8+t z0zTFO8kWNxEP|D|5*B1I^QQLPkX`5$=uTkJP_hrk5lcK6`(t}RNNY|&tvNMjFgC~p zC}?~T3q_brNRV0y6QIa4*;EF$PPR!1BBud1ExC=W`+$(cDsl99Q_Er&|;?LV| z$Ns+49=>I~jp>tU9jTDc#?_%DMz=A+3}k1gLf>WC>dgk*Icu64- zZ4B6v$G`k6KI7w1;i&vS`CzGS-!Ra6c8-Ld;Uvh(L381TYyv5;MBNdfPM+P-?s@nU zd*}TP_SU#dl$G8F@5+GVt!eT|a>cs6YlPBIQRVgc)2or#y6ZLa(-ah;NGxJe?cd;%V z0DAoVSn?)f0X?ZOV%-7JJ$fNnT{6gCeRYw&e(-8L^u`Q( z6eC99=z%L~>+~YElUQV%NJPoT&}T$Tdl1p)(f6*igKuoWb+Ohy{Ah>0`_5*b&l-De z|6+UKfr+?Ua{0Z@=xdRNfcFeAkPuD9H}T>9`eoRX6$9*@4>_TiA$0XEhZUH|I)vp- zp*_l1P_iN?$!cA*8e_W72KA+AL?Anz*aG?XmB7a+z@_`?tLGq4?}RJLajAM7)CkTI zJzaQegWbJvuyx4rfIuXyi9ld9it>4^@t-n2Qf|aq7y*etUBje{|Men?gDSgGE&)Qs z3Z7#H_lxo?{3-z}<(fpeCbX0&Ra|E%F9|=H`eqvbn7(ZfD+w^ zQ54xH85zmej?lQF!*gxdb))U@+so|zkC)hMxE2l`ooerXINz?jaWJ4D(>iudWUnNq zoyho$CMKbynP|mia8!_}cm^?IEsVgK6PwWpG_&SzG!P9~O|pi(Hz|x|c0lESbM{(7 zm)0Y|MKeLZfx^0KWwS+$T#^T^jadgH02i&Y6Kv($ zq4w4XEA5+8TkU&kD$u07_~LZy+pE5{uWi>l-20KqE#2$pC?t_NMHE zN6w7~xN-hHM&SEZ{NT0BE0pe}Kq0vXWFb@xrA|uRM2;53qyOK+2x#Vio@+qfUk3&R z4kSp#HdrSb1Ppl9!%82NFI6a(i&#YujuDVWkP{LSkJY54$r2U>2)LR_P;aR^?nz>* zD!$(S`sPZTdtsLKWHGv`Ym6=Fn~YjN!B+QAM9%J*_#>D72>?t$=;-?GHutHwMezK*EID5%rkG!qP#_f}GT^A`oaP zD)|*S5+ur-i(6m`ivJBb2zH?@*sAnBEQ(88$Md_{xB&u7a3{=Xys(x^ zlhGqwj051pZf$KO?SkDXI8tL_3jl!Ph7%YE#6so80EkjS;q7T|9KtB%5@^Fo84-Xg zG8l+fmVRL{psEvA$u>$BB%-)wA_;{}Q(2r7IH@&p8i)>n)hF)P9PVD{JFigwJR(!W zDq3B}#)HVF1|U%5qNIQ57We@K{J;p*l}<@0SXX0QSJA4ku6#!YBv7M9=6f(O(t(F+ zXwmBOEoe(_v^%ctZ=ImwVst{~A*wN&SY{#kCIG-ytH;~#U*2q=e0D3FIC06f5A(C+ z<<}`uihe>%s_(WhKHqHbyuHbue|EWDH9eP2(PLD)_e`>2KNS4$ilA%d)L?Hm`>bx+$ZXM$E+>J<4@_!8nRb4lL$` zcoU2ES`_;v3UV6Kp+Nc^owx%&oC|7DV^J=rGTK)%m(A=(`{1o*Hi^@f-XF(2@R>Fx z^~{~10l&B0G0XNJ-e}*PxY4~&H7-m>0YZAn5C53`^Yh#6#izH}lyQCB2A4!*W>Xfq z8199-6WiRSx%T1T5hD_6bC$70F`s3H^RDZ(1ps7xJ@p#nz*@vUz?_X}T-~M(s_QLj1^7|F&MT~OwF8l7=4Yq1U zZ+GoSG^mfJ!(*OWafo^H`73cxzzFbs3b;lpSi^&^Cqp9-^(%O#RL;G_Jsc#p(eIPL zpD-!%BOdzM6qq%hv)D%1MK@7atuf=0i^mPH2Y$BBj=puHeSh*kUiUpN#7c}q z4WU+5WCxtVrSRv^*4YCOjkjFF&h#2Do7BqQ{s0j(Lg6ZGg9S=8WrUY^YMU*FdC;LI z3Q9f(Hlwk|tDMw#-Y~|Fp|vTl++fGg0GhD{tD_@;>nEV7bhLS&emK)+O=)IPfYM0P zU>i4rWoqCtO=1<6t?FwZf4U8~$n9ug)+3S?yLG+2_`)O= zQ>eT|3Rg}dstA?uI|xPWD@L7+#jH|_QP6EEsJ0B`T?V~X6=(i{_A7umB*imU;ea zDv##_2Cikkzm-wOD!ll600Dcn`9uA0VYIN7jeQLp@QR!`+o%x%!o?j}BiA!iUV$58 z4PQ6#_oc7|a{&ws2~)b7$7t-1?YYt0aY4JrL_(3S;`dxNsH;t*RA@ZEzZd^KGg`tz z(S+d{D+^&GiEwzNbK>s_!oL(2VlKc$al>mFjVzK*fNJ9lI>y^z*q8RrqhS|ftXY$I zKvWBBpU?u)OJhsry}owc5P~&sA~!Bq(W*K%5^xY17h?Pgm#vjaT~0s{3dTC;9G z-=^WQNF?Cr_Is|vfBz5*$zzDd_F0h+&vB4+KTZ#o*xV|hK|{V(JcsMK-hXW;zP-^F z6K$>epKkhofYPUaI|ZBGtyWA3On$LqjTbmj?Bg1j^1Zs0F<$wN#A0u zqMBpK!qCr2Xi102&H;9;1vE}lfCftEFw_78M5q8acsD;3El>tmer6G_zX^Zcc4k4U!rUYYY(~vJn_o>IQ<>M zv$L!CJr5v?eA2cqzt91Sc%4FZQbf>~i10B14b9jIY4+A1xyJ!oC$PK~au`q+iWouF z?uJ-!D+-hpiL+w=?T$W|;eoClQ)y;_gHrm-DPW6T4Ih3v8HEwn> z#QtiX#P-=Y(CiBrd-g6}15LOdBsz@cp&4}l!S(FfmkGN;PvQ@4Lv+b_2mOS~nT*3u z2v*CF(5y;H7ZI=ARxf?`coiqYPH?7w=a?4VMYLf z<2fL(p^g3dJ6Tk>Kq~`E1Ozl<<>x9o+BFBVQCBj*4}u0Jv6)Wq|vwq5>dL zv)#VMHLz+$PY0ly@Y*ABcsNF&U9A1;dFI^!feJ+X`Fya*u2ucX4Hb@5qWaAZM z2fa_XMNmMXoNJmOo`(>rrXgbYfB?E90RhIXt6;s(lc>#TdArH>qsbW1LqLEuSgPmK)6f8t{@NQc z_jvy8%}Gi2dS-^bf%XbUKsf?G)d>7}G;qc-0_$9GL^&5{84G4PG?kAJ&>Ib?l!TMX zxzT_Eetu{m{Ezhj|ITQ@o&G%l;7Upq>8i#k*#$KkVDZyeF$Z;S1QmuT^-4h!euRLc zgF?)ReF#L#uu+xs@XNc3^7U-#Xv>ppfZXcZnmu;*tKD|@wq7=-bwg(U4cU|vDE`6Q z-=`5B0!?h!@I>1MJ-Dtv;{bXCF3C(L888MPeTJ;Qbb1a`6cZszB1f)!ZBxMFpu9KHu}BX-C6 z{N5Y%J$&zKD6nhU{CB9;5LROy8?NU6D*ywF&_k^3O6Eatk_~&dLJL7NAY+5YY|?A^ zy(<_IEMQY!4p3N$zTtAjhuyf*+i^h+KvX%AdH+mol2`M)W)AFRm!h8-&?4Tld7bIl z(-HthIt?}AW{AN)lL#Zy9DvY^8+&?(BwI!K(0X3iY6O+bU>_Fr%d~5t<|d(q=$Vyd z8L}y&V(*jL*~a%AWJ7Z^2~BEfmyL|K{m-c(3=vY%0v0Duo8)~5^4WA?d$gFk)4uD6 zS1oAR3K$*@IAEY2c`2k-KPyJSRf)=j{6pV*m8wAH)mQAR%4%>8lofJ66s)#y|GFO9 z^&;!r4!a}NdpZI;QKM2DH*4OM*?V`pxX1W9a{U)q;b1V-*UkMDG+$%l` zL_#oERoJDeqzswogA=Z};DOnf0R7sxJb#0|z-RC?1wRfMPT|HHwCXI#zse zP(?!iP4>-SR@lmG+FEy>Pi9I(lsdGDh*O||bCYs;c@&LGTORryl;?8CV>3vp93)cDP~9ug3@MsY7h zC(!3H7_fTV6#L6}#HA7=oL{kw#g}dgMj*;=2$T_>EJ0*o6_&}(R(#?*`^U$(*sZ%~ zqbsTNna9z5nFuw_CY;vDw(K2kfBSv|Y`|)SmZ;s;<|ZFMhk+n;a(RKYNH@X=OtQgP zu2KMWaSF^*w+8Rq#Hp?A13u@X%I%!Gh?b>yps*DC8JYJ%Mh-<3VCA9k4%S>l;L<|- zSBhY<5Uoc!dG``l207Wv z_UiOaaz3d-SZn}7I&#)t+rehGI1cvaNc{a6R(WiO&Z_TIgHtQ{6y zcWp}isL=rQ^n#78?JwT~Mgamvh-|g-d!lOzWhG?vTnp9w?n)B>f{ez3YPnR^urybI zJ~;@C$lPP!tVAQw%>jW3F%Dt&D5rglJ&B6FAOL#?yIe^6UpWj&5T{p2SqX9pxPmxo zc)ZB^YFaD%6JM{Y1_Q1WD*kg}eV1ND;5hTyo7nlQ3 zzm(_AHHR2>@zp6#EEu6f0`Gkztqp*YYi}ND#|v*j#JY=a53VI%a|QdA4&Bw{VEhsH z(b9SCtQFdh6f`iYviHJX)Nh21yJbV0HY3N561(o_x-1LKXH0h~09E}tJMGoyr`q72 zP5HNsJ{S!&M--SH&*+-ZMKUG?x-;l|}&MowYsUnOTKK)`vC$@8z7;ego&Jh z&M^XB<+1Z7E3rx$%_x?u@a(E1p`t(!`CoaH0Rjckm1p>%{8ji!Yi_YWA6;eBN2FSR zPN-LOjKJ#;4c{*oZ9oH5`wfWwjk8UI@wg+TyCf^o`jaovj>R>di?SsmxoB)8Lci_W zv>?)v6g~uE?K2{o6=N~cNrgubEF2g1%&?0%`3|77pexjO4=RWUf@;UMNEOVB7RfsUUGAef4E?{cgu zSHm={qUT@%U*|C{Sc86G9lv*R2MU9*O|I)tnie2pBszdzP_X^jkjF3sy;8Bnhze&9 zXm68wPQy`icSKp6OTR!iU?&B~K_aL7)RsKdhQ*CBfce@y2@-i<*8y(CPAp^Wu@u&0 z;jnf#sc)9`130w{BiAaZ@*#2R%W+w_k{R*=J ze3X@qVXjW#j?1D9)e$wBE*!Pqk6Qr`nkM7jc10!w!!8vS( zyX>p)VJ2V%d~6O*ROWIH6e4sHuW1w;IGZPJp1*!%sP$^s&|@rMjUrgsV$ldhFmk$> zB*C};vfJ`-gq-$mg05ZwRSlJ{=08MVm7Mxy4Xq*5KUBJq=O{7rFYTi@cT=Oz&*8dC zk540~;RmlUD>WWuVRxf}*C*RxTmvcG+wrhDva3b{ zcE(T6u|Isao=t`*V}g%DgyQ(1uB)-Z)zD7p=Nc<18wEJK2+$%&#RGQY_)RtdCNTmA zr3sXCA`Xz2*nAuETHC`m-umR3{dO5F!dBiF z31VRyTw<&`3}jIS5W8R_*d2gCz*!SDf0u4S_G`c?0Jhe)+xLLR)yulN({@w+e5}U0 zMq0xN{Q9{oomkK(B|U*c73>qP;#gKrSXzM@MSUv;)^)&e|H_r%gC(=t+wsp&v{bZM zVp(F@$n|sM8ObhN)5lJ65byy6PD*SCBM^cS2r!D$-V{QZSWyD=M)Kd?Hx9B)z(ixf zY%+r7D1J@@K98noUxtjywvYaD2SDeSY^ZxkE8Wb&SNb?2f*HZ-z4Re`^(#`DcFJP1 z6UzA>jV4bXTWtsTUx2;_P){7PVz^6*T~=2{ao#ptbWO5jM)lsy>eo;}AgiA3xpf2% z5`aBGARk7qoZ>HOeQI(11dF#KUY(1jHr<6YwM3H@iB>8CP$|oA8^o!%-!&Y^gnAq{ zasN#vKZB67LX8x5+y0lXupux4t+0%zA+Tr1lUX+BLJG##aG7&sQ>+c83=^Mfi9O>Zif zxXa%9{e0`i8`YT`e?gxpX4SO&^+_Vsr-?1jB`~5(9P@TcfuPt&A(rb3)te2nZw~F+ z0nuAFvA#(OY871Tm(Y``e30E?8m10xZdVLyN&8@;jcQHnAYRhG zoMQULH^Kp+8GIW+NIToiDStT|`7(+8h$CLlroEO*;$?CeusN^i^nUG-E}WnzT(H=X$7G=zcrJ^43% z&{d4fO0XIHoNKTfP6HHNNa0dNt^%gm@6WY=}cStu3WbVN)k; znZ!14K%=md*SL)F!*pKbuvT%57!s^^cDfB}+r}pL>u-|>53rtyBXeODG7yDLxiG~( zes>KU;f-uE8?2nub``P1ij5Tz&}hI*3RIX>SS%>#fZO~5j!qrz{aN}Fxdl{%tN2-s z1>{8zx(AyObfae7wJcCh}c%r(L#Ps7AU6w_Ln&};i4o|>Gf>? zemV_88v)8H*&!yCNMkM3ewYQnHXtH^|Mu}pn=m}yX%(Ur@Wi4Y!!_1`>$PQjTF36` z=alq?unH0!ma{pB2#BdAWTm!>*Tt#5ERSCEGgolJlV$Q2`{SS2*qDnDC&B161mr|R zZ#Lv~6Uk@aw@(v$^DT`JA7$Rn^MWQW)qSTEDn&JQ3w?1uCs_bYCEWn`-`wB&wMV5b zTNXb@G;%yS7s^Z+IIfu;_~U9jUV*icv0Wj7HK8gPids%}SO7x+AYVQ~D`iUHquq_v z#45%Iul|0PwPx;`%5%&}0SH9M!q?d9^E0AR!AFN{pR$I}j zH82AGtR12@rxC!1FFR-q>(4?o0-vK15RF};&K1q;#R533l}`Si6QN4l7%YBDEff$? z(2&cEQFlunBf!sDv%IUPt>80N#)1O^?c?m%&rfGGupLGQEeR)IzblgiY`ZvQX&!hD z&g~^eK;0f1575^^)1-7Xk32L1yCBz#o;M)djk(YdEnnLYjlgc$g{1&TbPRf~ymmj% z3snMFas3#!MXPx{x)Y=!=PBm5z%Z)=r#S0T9K)sm>hsJs<3p)n03_J0L*V5TRgc#J4wN44n=5 z=>_w4v48;V!v6FeJDAiG*FZC7#7!ctAB$M$B)o=1y0#*s*r_s0cXSYbv$esDPg)IcR6U|r;} zYj$&`D@qj<6W}=q_^}T=!kc;IVXiA7M-4K zWb>|>U`rNWYJs*nYivuKJ(?5v_$=Fw=x7T$->Wa-6h1uNE<@2h z7=)_uq8=jDD+-H#A( zIj(?Z2ohJ*Ij{l|<5EI^7E$7}RP+D-ZO}8oB6Lim)F{TT$ceP6xB(_{`W_7f&=*yD zFY1ze=5Xr9a@d>;L~Vo@^1J5{G_;)d!%h6YEdz1^MJcwVO{{J1(ZaS3>R{Kr|_t(~QVw6$Sya4)S-MH1&|G-O~sN2&n#- z*`?;Cx?T_o%54&)s=A^;$$e}}LFl+s*W1fa&$kN)K{v8tL~^=_0&zFxbF9ye-)(4| z7mxjB0095=Nkl=ID&G6yBo5LKW`> zX?Lq8WW*O(Y5ySpb=wx~qf4Uf<3C=^W~wsN8Hh8J5Ov1!*)#w&jh&on``;zzwRRu<<>&&Kd)AVRUPF(0t!#8f+|#9;2vKya zh3)tW00vgYzy4#HU9*t1N3;f7lp^XAdek@yODA9#{lL8_=1T%Mvo0VwD^*|)n}hmC zv~eo~pZC?LT5kk<<%pwh+|n_E$(UAqn>{Q>0AMYK zRhc9n5NLv8eh}9j0zH_IJhe_bt0RI?SQ>vhjto*OgY*a#oV>xduODjJSSFKU%A(O3 zD6^v;_ic1$eVaHZ-ah;i;8D94z|Lu(&HgM*av_o7A(%2TcD1su@8m@CPZHgAdQe9`EqMzH-53RNyxMK8LW4MnKNQP{}`dOcAY1G9Dwjbbn>NGlv zGU;->J`_dg8+`|_JU!8dAr@@KeU^&bAPpx@7NZo$2=Mc6N+ek@y{#Qc%n}fQ5%|x5 z0JMi{h$|4>m7x?ZyMBa?%5B6cwjNQwr2X|GRS)`mEgb>tsQ6vmwIe+N z?QJS2@6p)$`eJeG(3a2`X6W(EH!m8~)qeY{UD(;~upO%}wxL}c+qnLbcH5>=_U>=j z+BZi?VLQ6l{;_|%ef*o1w*Q`)_6R{3+a^;S(J$Vnc8ahmog!`VkW5>|e0&_IhH1?A zSNF)Jez=8A!iRn(D*Huj-U0^2t2t=3JFLKXqK4Oo|Epjl=J#nwf?|6b8&j=4 zX>eWA)2$x~jcsTZOhGr1%m&|{1$!c={cSi6b`dDFiKyir9jI{bmS&qsQ=E{I<_e$M z5c4^>LuJEnNuvOTA{5LfL<>z)J$5j ztzJ&RzXbx)2FT*ZM)GfffFf|&6vYZ?Gyo6?Dc9eX#Aqy~)4&b(@uB&)U|LJdf$fp4 zNhjp`+~i^c`ix1lyPhO!6zcCRm8oZ-k@GmElrb}}B!9mKnzt73ct!DW=wTLD*YYNC zEx$JNaM%k!v~z%ydtt!}^3<2PKl|}*7jqh}U~}9x!W7)YoSCr&nF7jo zs8*sM0<_{HPG^iRN>8t{gU?L0D@R5XSIt5WMH}m=a|xg7+tN+_?9DG$+gAuFPgc*j zlWYp*-0MN2dGpS&$dg7`OKYgnVCNbnoxKiVgQ%>iXubXE!_{^n>`W|+dum(?!Yuv_ zD;33K@+<;Z{&YFwNV4(8dxp5>!1=ngr9zRKl%z~QaG_6%xDSPfpY&YJ8}A6_nx(2!%g8iMAO9) zLo;V1K9{b&lI;GUk3}pfhG!L{6a>qHDVb8*)K0)T)TPUQa*2)M>a z&GH2fIbk!;uTf3>IUukJATW#(+fRT1hmgfrt<07_a~f<-V|h=diHwz8YO|Ls;g4#++& zpss{W*MGsr59n4{o|+>4d_Dp6Wrb&GGAtSEz=2w9%SqiWN4FBvHNkV2ZLzdOV;roK z0D+}H0Rr`vg#dfC>!zXhec>J_7R*EF=L;!Hc(Z-^$uhg=#?jUjwz&z1i#XQMcwAS? z6iMXYT|Bj=J^eh_S=m0WV*-hA>r@mYlE;DKM_*vI+wJvdCfm^N4FCelvEcOr2D0mb z00;k@lG5$f^!5M&dKHc|=OoE!psxaj5|hXgAO`j)qX92RU^DYQ=6+CBP9wm@;e+-I zYL4WZ{jdv#M*}Jya*vk0f;eRa_to~7sfKC!ZUz+2E`{B63F2cGF%;a0!WC9t6v55`Lj3viE-TI*1?|=xVbxSfBaw2TO^uD$qE7QjZ_u9*k zFR<4hn`8exN*4Yf*$CdGJO)}bsY;1=u z32LY zce2I(``D#zax9l*!Hy}ZHnMjg>zLcxGSl(1!anrHJ#hur%iX;?*lxxQJ9)l)VPMuU zzF5h);vzsqD{lI>_^=1I%dznTI@?85K9B64W@Gujp&jF_TSg-%5EIIuKQqVv{1N^2 zH0%Y-3Aa(iFrd}b2ZTG{r4P{T6}naa@k$>5rLycRZlB05cW_D3~0n) zSf4_a?wIdpZno*xzq40TBN0=4n6|6O=CSRzOYNVf_gE2Dx6_sQ?YR~!WXs~`1Ovli ztB4XUAIgmn7(m!m%ILv|MJqr7ODPefh0y+fVpyek77(wgUCAb)7+*Fnp1+?gf3?Mh zbZUgcw94!4r6(qV`lX)NoSVD=bSrhGDUbe=V3OL`EuV45_a!9z@j9waRmqdER>=-2 zMYOk8=%qqdy4$U{PO$dbQ7py{ET#cj>ss)kf19&7ZQs)kJKQZ$ z`5TyhBe0^)GsGfUT!L7)Sibn}cJk|0wtHE7#zmgZGF4*+=zE=b(xFO!`=X-59|Z`^ zwXYCmop$VqlhgQ^;O*s0ZBx3V>0McEVaBvGcb zS$IJ|?dcHs)$=p};##PzL0`a0RyhzgoWz28QfNPDM_!v{191vT?-9#AphP)E3{Siw z-QM~bnUjyAvdmSgbpaPC~R4MPojkP?6vx?88nht9a z>qM;}p%4I|3XoYX!CV*!6rS8<_W%TxET~PoX#?*>t#rFZYr69s^jsNx@Se+=P=o70 zY=DY~D*3sxBx=*H6cC^?SR1W7fwDgXa#QJ#eDn;Q}ZnTfzyUHev<(d^p2N=uE6URDNkNljj1XVpn z4~HK;&Ka)PrtggryilRK zvKRd~=@87-!fGVojRh3C;hhddrEwuhEv_4h#W%!!$AK6jHZBq$jKC?7lP{!B_TSjc zPc9*^9~&HR*c{3+7WGQB#S{ohJ--pEeO+fPZPW>mm(W6iKrHs1*l=?xZE4Mny9;)# zF8uq^T^idR8%Nn!Z{1)OU;fMr|8#>Dez?O5-dSs(k~{y`-%PfGqxhNM#%lBj@}=L~ zWM>Z&cCsJ(=;&@cdzeM$4=@x*@3iN3&O|FfLm(gERj>fddqcMa04{|}zoJzV`2igW z7NSNpH`^`%yp5;$=gRi2tuNx70f`ZIIduDY#tXTex;nDpTp(aDxD%~}sg}m3uaKT3 z&|zA0PIYYf&Pqh+Pb=p5+0gy6PGz#d_ak^_G{5f>dJnGYK{YY6|0{{BoCtd`tsT7y z1PNVEd0deA0|MutQwh#q= z64zG~7U2YdO49~t1z?EAUYLLa8j!_8_%-zAcXYBBvIvV2@UiaH;*fC3pydD{PFt0V z2Dk@rIzj$;N2T5_MQT{+g}BqSpuj-jwivD;DTizZCUw2wYRfXGa@ z9B@+3XI;*S!H+AY60g2eF_Oh7nk}t~+8uF#_Az$n<-pMNon!|K5cOscv3C0JZ^e5h7Ge zjvCK_qs^L=GpAWY@OJ#0^|pRl?{h$)juB|x7LCAjGl|FE4bWxGjKDCYZWsWEgpV~m zs$Cfr`UV9(X)LVK1NUeMmxk5eWslx}86s?t5r}ClFjb$9j>fif{SapQH}dlcjY0@o zu1%ZILIPT∈=E>N8JGu#B#o2x)s8ls&GbxDi|$Nq!4YNS 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

m1mqGVy)s2gDQ*X-6+l8zPIDh~_z_y^D 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 S2y~+W0000 + + +image/svg+xml + + + + + + + \ No newline at end of file diff --git a/static/img/bg-logo.svg b/static/img/bg-logo.svg new file mode 100644 index 0000000..d92e663 --- /dev/null +++ b/static/img/bg-logo.svg @@ -0,0 +1,65 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/static/img/bg-title.png b/static/img/bg-title.png new file mode 100644 index 0000000000000000000000000000000000000000..931a4765e0a2c38410b9e0afed8b65fcb35768ea GIT binary patch literal 4359 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 Bc+&s? literal 0 HcmV?d00001 diff --git a/static/img/bg.png b/static/img/bg.png new file mode 100644 index 0000000000000000000000000000000000000000..b6b954d37bda23c8f5063b204d4d750dd3ca9dda GIT binary patch literal 21906 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 literal 0 HcmV?d00001 diff --git a/static/img/bolt.svg b/static/img/bolt.svg new file mode 100644 index 0000000..27f6ac0 --- /dev/null +++ b/static/img/bolt.svg @@ -0,0 +1,54 @@ + + + +image/svg+xml + + + \ No newline at end of file diff --git a/static/img/chat.png b/static/img/chat.png new file mode 100644 index 0000000000000000000000000000000000000000..5df57bc7313dda641704d14e92a54739caeab7e7 GIT binary patch literal 1219 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE0wix1Z>k4UEa{HEjtmSN`?>!lvVtU&J%W50 z7^>757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+10f+@+{-GzZ+Rj;xUkjGiz z5m^kh={g8AI%&+V01C2~c>21sKVW8J&{KLD=e?1Efq9~*i(`n#@u^dzGh#wT+Vpnq5ZIf=82^_>~?tuaCQTMBH_4uNUiD zue}S!Rt4pA91Bu$^qo9m#+j6N>E~|#ezUjc#M0trYdx>swtW5ndQ|oL`n79!tY9rM za21n3cv#5LnZH?Au6metd+X9;{W-}AtgE9=%DE<0&B#5S z>wEXn+mP#%7t4D0W`5soy|Vt)GwG5K;@4v>wqHol5q;O&za!G}d`w3DMgMDh!p}74 z`pcxpO*`Yh3uR z36h%pw@l~Q1v(4Zp3rHMD-!)&^H?oBi_zznp`mvC=WjjSlRADV%RF40cW&kfKHDpg zY{Kpby*1a@Y1^>hv}~&R%ZDjK*1oFg`^5@>{^I>u-1#PO%lUxib`OrZx}3S})Y)0` zCzVO`_sr_6c?WK2Sc+>c{Z%8fYdRl8(S^>EmG72(s(oKKmF-g9?lbB!E3X(Io9y(f z(3D|2xH2n0b+2L86KlPWC_1n&? ztIYL9H!HT4U0{iRn-SchFJ;|j`FV=1?zcsM+$v_PJ-PK%SK{5a^jUW%KfC!VbgK53 zg+DgPmR5>eymb;+d-q;(;ien6ExmHo?o6yZdi(N~1%*FV{`vHG{@AXmfz9SJGt-P|K?J2WRHZ5%ME3x05AG}rakHX))f&)Ca{Zmi$KSuVGl*Fh`q z$ezy0Wul&j=gOzcFvf~}c)8F|{HIU){?%!peb)y~tiSw`U1^=5eE+*SAC#4xl$cKW z1my_57jc?s71}bhcz^blb$$Cg?{~k`Ow;8KIk6^R!)wZ)SIaibuNNJzKeEBbPJUg26EMH3mbgZgq$HN4S|t~y0x1R~14A=i17lqSqYwiFD-$y- zV-sy4!@%HmW!nZ64Y~O#nQ4`{HOx}6;{j@r1lbUrpH@m XmtT}V`<;yxP!WTttDnm{r-UW|+FcdJ literal 0 HcmV?d00001 diff --git a/static/img/chat.svg b/static/img/chat.svg new file mode 100644 index 0000000..b56c127 --- /dev/null +++ b/static/img/chat.svg @@ -0,0 +1,57 @@ + +image/svg+xml \ No newline at end of file diff --git a/static/img/cheap.svg b/static/img/cheap.svg new file mode 100644 index 0000000..a39b876 --- /dev/null +++ b/static/img/cheap.svg @@ -0,0 +1,65 @@ + + + +image/svg+xml + + + + + + + \ No newline at end of file diff --git a/static/img/fast.svg b/static/img/fast.svg new file mode 100644 index 0000000..27f6ac0 --- /dev/null +++ b/static/img/fast.svg @@ -0,0 +1,54 @@ + + + +image/svg+xml + + + \ No newline at end of file diff --git a/static/img/openvpn.svg b/static/img/openvpn.svg new file mode 100644 index 0000000..03e303c --- /dev/null +++ b/static/img/openvpn.svg @@ -0,0 +1,71 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/static/img/unlimited.svg b/static/img/unlimited.svg new file mode 100644 index 0000000..940b254 --- /dev/null +++ b/static/img/unlimited.svg @@ -0,0 +1,57 @@ + + + +image/svg+xml + + + + + \ No newline at end of file diff --git a/static/ping.js b/static/ping.js new file mode 100644 index 0000000..15e7529 --- /dev/null +++ b/static/ping.js @@ -0,0 +1,139 @@ +var NPINGS = 6; +var TIMEOUT = 3000; + +function img_ping(host, callback, avg, count) { + var start; + + var avg = avg || 0; + if (typeof(count) === 'undefined') { + // -1 to ignore the first ping, so the DNS lookup does not change + // the average time. + count = -1; + callback('...'); + } + count = count + 1; + + + if (count > 0) { + // no timeout for the first ping, DNS can be slow + var timer = setTimeout(function() { + callback('timeout'); + }, TIMEOUT); + } + + function ok() { + var time = new Date() - start; + + clearTimeout(timer); + + if (count > 0) { + avg = ((avg * (count-1)) + time) / (count); + } else { + avg = 0; + } + + if (count >= NPINGS) { + callback(Math.round(avg) + 'ms'); + } else { + ping(host, callback, avg, count); + } + } + + + var img = new Image(); + img.onload = ok; + img.onerror = ok; + + start = new Date(); + img.src = 'http://' + host + '/ping'; + + callback('...'); +} + +function perf_ping(host, callback, start) { + if (start == undefined) { + var perfEntries = performance.getEntries(); + // use the last perf entry to ignore any request preceding + // this ping() call + start = 0; + for (var i = 0; i < perfEntries.length; i++) { + if (start < perfEntries[i].startTime) { + start = perfEntries[i].startTime; + } + } + console.log("start: " + start); + } + + var timer = setTimeout(function() { + callback('timeout'); + }, TIMEOUT); + + var url = 'http://' + host + '/ping'; + var random_thing = "?" + String(Math.random()).slice(2) + + function ok() { + clearTimeout(timer); + + var average = 0; + var count = 0; + + var perfEntries = performance.getEntries(); + for (var i = 0; i < perfEntries.length; i++) { + var e = perfEntries[i]; + + // ignore old entries + if (e.startTime < start) { + continue; + } + + // ignore other stuff + if (e.name.slice(0, url.length) != url || e.entryType != 'resource') { + continue; + } + + var time = e.duration - Math.max(e.requestStart - e.startTime, 0); + average = (average*count + time) / (count+1); + count += 1; + } + + if (count < NPINGS) { + ping(host, callback, count, start); + return; + } + + average -= 2; // average difference to a simple icmp ping + callback(Math.round(average) + 'ms'); + } + + var img = new Image(); + img.onload = ok; + img.onerror = ok; + img.src = url + random_thing; + callback('...'); +} + +var ping = (performance) ? perf_ping : img_ping; + +window.addEventListener('load', function() { + var lines = document.getElementsByClassName('host_line'); + for (var i=0; i +

+
+ {% block account_content %}{% endblock %} +
+ +{% endblock %} diff --git a/templates/admin/index.html b/templates/admin/index.html new file mode 100644 index 0000000..0c3a7c9 --- /dev/null +++ b/templates/admin/index.html @@ -0,0 +1,98 @@ +{% extends "admin/base_site.html" %} +{% load i18n admin_static %} + +{% block extrastyle %}{{ block.super }}{% endblock %} + +{% block coltype %}colMS{% endblock %} + +{% block bodyclass %}{{ block.super }} dashboard{% endblock %} + +{% block breadcrumbs %}{% endblock %} + +{% block content %} +
+ +{% if app_list %} + {% for app in app_list %} +
+ + + {% for model in app.models %} + + {% if model.admin_url %} + + {% else %} + + {% endif %} + + {% if model.add_url %} + + {% else %} + + {% endif %} + + {% if model.admin_url %} + + {% else %} + + {% endif %} + + {% endfor %} +
+ {{ app.name }} +
{{ model.name }}{{ model.name }}{% trans 'Add' %} {% trans 'Change' %} 
+
+ {% endfor %} +{% else %} +

{% trans "You don't have permission to edit anything." %}

+{% endif %} + + +
+{% endblock %} + +{% block sidebar %} + +{% endblock %} diff --git a/templates/admin/tickets/ticket/change_list.html b/templates/admin/tickets/ticket/change_list.html new file mode 100644 index 0000000..e05ac54 --- /dev/null +++ b/templates/admin/tickets/ticket/change_list.html @@ -0,0 +1,17 @@ +{% extends "admin/change_list.html" %} + +{% block extrahead %} +{{ block.super }} + +{% endblock %} diff --git a/templates/ccvpn/chat.html b/templates/ccvpn/chat.html new file mode 100644 index 0000000..a822d27 --- /dev/null +++ b/templates/ccvpn/chat.html @@ -0,0 +1,27 @@ +{% extends 'layout.html' %} +{% load i18n %} +{% load staticfiles %} + +{% block wrap %} + + + +{% endblock %} + +{# Remove the blue live chat link in the corner #} +{% block livechat_thing %} +{% endblock %} diff --git a/templates/ccvpn/index.html b/templates/ccvpn/index.html new file mode 100644 index 0000000..c0c1a05 --- /dev/null +++ b/templates/ccvpn/index.html @@ -0,0 +1,95 @@ +{% extends 'layout.html' %} +{% load i18n %} +{% load staticfiles %} + +{% block headers %} + +{% endblock %} + +{% block content %} +
+
+
+ +
+

{% trans 'Unlimited' %}

+

{% trans 'Unlimited bandwidth' %}.
+ {% trans 'Uncensored' %}.
+ {% trans 'We have porn and pirates.' %}

+
+
+
+ +
+

{% trans 'Cheap' %}

+

{{eur_price}}€ {% trans 'per month!' %}
+ {% trans 'We accept Paypal, Bitcoins and Stripe.' %}

+
+
+
+ +
+

{% trans 'Secure' %}

+

{% trans 'Encrypted tunnel' %} + {% trans 'with an anonymous address.' %}
+ {% trans 'Supports DNSSEC and PFS.' %}

+
+
+
+ +
+

{% trans 'OpenVPN' %}

+

{% trans 'Secure, Free, easy. On:' %}
+

    +
  • Windows, OSX
  • +
  • GNU/Linux, BSD
  • +
  • Android, iOS
  • +
+

+
+
+
+ +
+

{% trans 'Fast' %}

+

1Gbps
+ {% trans 'Compressed tunnel.' %}
+ {% trans 'Even on Youtube.' %} +

+
+
+
+
+ + + +
+
+

{% trans 'Why?' %}

+
    +
  • {% trans 'Hide any personal data found from your IP address' %}
  • +
  • {% trans 'Protect yourself on open networks' %}
  • +
  • {% trans 'Compress traffic on slow connections' %}
  • +
  • {% trans 'Bypass overly restrictive firewalls' %}
  • +
  • {% trans 'Enable IPv6 on IPv4-only networks' %}
  • +
+
+
+

{% trans 'VPN done the right way' %}

+
    +
  • {% trans 'Anonymity' %} - {% trans "We don't even require your email address." %}
  • +
  • {% trans 'Security' %} - {% trans "Best TLS available, RSA 4096b, BlowFish 128b." %}
  • +
  • {% trans 'Privacy' %} - {% trans "Not a single byte of your traffic is logged." %}
  • +
+
+
+ +
+ +{% endblock %} + + diff --git a/templates/ccvpn/page.html b/templates/ccvpn/page.html new file mode 100644 index 0000000..32c162f --- /dev/null +++ b/templates/ccvpn/page.html @@ -0,0 +1,30 @@ +{% extends 'layout.html' %} +{% load i18n %} +{% load staticfiles %} + +{% block content %} +
+ +
+ {% if title %} +

{{ title }}

+ {% endif %} + {{ content|safe }} +
+ +{% endblock %} + diff --git a/templates/ccvpn/signup.html b/templates/ccvpn/signup.html new file mode 100644 index 0000000..4437862 --- /dev/null +++ b/templates/ccvpn/signup.html @@ -0,0 +1,50 @@ +{% extends 'layout.html' %} +{% load i18n %} +{% load staticfiles %} + +{% block content %} +
+
+

{% trans 'Sign up' %}

+
+ {% csrf_token %} + + {{ form.username.errors }} + + +

{% trans '2 to 32 alphanumeric characters.' %}

+ + {{ form.password.errors }} + + +

{% trans 'Anything from 1 to 256 characters.' %}

+ + + +

{% trans 'Same password.' %}

+ + {{ form.email.errors }} + + +

+ {% trans 'Optional.' %} + {% trans 'Used to recover your password and confirm stuff.' %} +

+ + +
+ +
+
+ +{% endblock %} + diff --git a/templates/lambdainst/account.html b/templates/lambdainst/account.html new file mode 100644 index 0000000..3d35df2 --- /dev/null +++ b/templates/lambdainst/account.html @@ -0,0 +1,126 @@ +{% extends 'account_layout.html' %} +{% load i18n %} +{% load staticfiles %} + +{% block headers %} +{% endblock %} + +{% block account_content %} +
+

{% trans 'Account' %} : {{user.username}}

+ + + +
+ + +
+ + +
+ +{% endblock %} + + diff --git a/templates/lambdainst/admin_ref.html b/templates/lambdainst/admin_ref.html new file mode 100644 index 0000000..5de1d95 --- /dev/null +++ b/templates/lambdainst/admin_ref.html @@ -0,0 +1,69 @@ +{% extends "admin/base_site.html" %} +{% load i18n admin_static %} + +{% block extrastyle %}{{ block.super }} + + +{% endblock %} + +{% block coltype %}{% endblock %} + +{% block bodyclass %}{{ block.super }} dashboard{% endblock %} + +{% block breadcrumbs %} + +{% endblock %} + +{% block content %} +
+
+ + + {% for r in top_ref_week %} + + + + + {% endfor %} +
+ {% trans 'Top Referrers (week)' %} +
{{r.username}}{{r.n_ref}}
+
+ +
+ + + {% for r in top_ref_month %} + + + + + {% endfor %} +
+ {% trans 'Top Referrers (month)' %} +
{{r.username}}{{r.n_ref}}
+
+ +
+ + + {% for r in top_ref %} + + + + + {% endfor %} +
+ {% trans 'Top Referrers (all time)' %} +
{{r.username}}{{r.n_ref}}
+
+
+ +{% endblock %} + +{% block sidebar %} +{% endblock %} + diff --git a/templates/lambdainst/admin_status.html b/templates/lambdainst/admin_status.html new file mode 100644 index 0000000..ff36ef5 --- /dev/null +++ b/templates/lambdainst/admin_status.html @@ -0,0 +1,82 @@ +{% extends "admin/base_site.html" %} +{% load i18n admin_static %} + +{% block extrastyle %}{{ block.super }} + + +{% endblock %} + +{% block coltype %}{% endblock %} + +{% block bodyclass %}{{ block.super }} dashboard{% endblock %} + +{% block breadcrumbs %} + +{% endblock %} + +{% block content %} +
+
+ + + {% for k, v in api_status.items %} + + + + + {% endfor %} +
+ {% trans 'Core API Info' %} +
{{k}}{{v}}
+
+ + + {% for backend in payment_backends %} + + + + + + {% endfor %} +
+ {% trans 'Active Payment Backends' %} +
{{backend.backend_id}}{{backend.backend_verbose_name}}{{backend.backend_display_name}}
+
+ +
+ + {% for backend, info in payment_status %} +
+ + + {% for name, value in info %} + + + + + {% endfor %} +
+ {% trans 'Backend: ' %} {{ backend.backend_verbose_name }} +
{{name}}{{value}}
+
+ {% endfor %} +
+ +
+
+ +
+
+ +
+
+{% endblock %} + +{% block sidebar %} +{% endblock %} + diff --git a/templates/lambdainst/config.html b/templates/lambdainst/config.html new file mode 100644 index 0000000..a2abb82 --- /dev/null +++ b/templates/lambdainst/config.html @@ -0,0 +1,68 @@ +{% extends 'account_layout.html' %} +{% load i18n %} +{% load staticfiles %} + +{% block account_content %} +
+

{% trans 'Config' %}

+
+
+
+ + +
+ +
+ + +
+ +
+ + +

{% trans 'TCP is slower. Use it only if you have important packet loss or if UDP is filtered.' %}

+
+ +
+ + +

{% trans 'Requires TCP.' %}

+
+ +
+ + + +
+
+
+
+ +{% endblock %} + + diff --git a/templates/lambdainst/logs.html b/templates/lambdainst/logs.html new file mode 100644 index 0000000..e72e274 --- /dev/null +++ b/templates/lambdainst/logs.html @@ -0,0 +1,54 @@ +{% extends 'account_layout.html' %} +{% load i18n %} +{% load staticfiles %} + +{% block account_content %} +

{% trans 'Logs' %}

+

{% trans 'Everything we have to keep about you. Automatically deleted after 1 year.' %}

+ + + + + + + + + + + + + {% for line in sessions %} + + + + + + + + {% endfor %} + +
{% trans 'Date' %}{% trans 'Duration' %}{% trans 'Client IP' %}{% trans 'Shared IP' %}{% trans 'Bandwidth' %}
{{ line.connect_date }} + {% if line.disconnect_date != None %} + {{ line.connect_date|timesince:line.disconnect_date }} + {% else %} + {% trans "Open" %} + {% endif %} + {{ line.remote.addr|default:_('[unknown]') }}{{ line.gateway.main_addr.ipv4|default:_('[unknown]') }}{{ line.stats.up | filesizeformat }} / + {{ line.stats.down | filesizeformat }} +
+

+ {% if prev != None and prev > 0 %} + << + {% endif %} + {% if prev != None %} + < + {% endif %} + {{ page }} + {% if next != None %} + > + {% endif %} + {% if next != None and last_page > next %} + >> + {% endif %} +

+{% endblock %} diff --git a/templates/lambdainst/mail_expire_soon.txt b/templates/lambdainst/mail_expire_soon.txt new file mode 100644 index 0000000..3a2653b --- /dev/null +++ b/templates/lambdainst/mail_expire_soon.txt @@ -0,0 +1,7 @@ +{% load i18n %}{{ site_name }} +======================================== + +{% blocktrans with exp=exp|timeuntil %}Your account will expire in {{exp}}{% endblocktrans %} +{% trans 'You can renew it here:' %} +{{ url }} + diff --git a/templates/lambdainst/settings.html b/templates/lambdainst/settings.html new file mode 100644 index 0000000..bb539cc --- /dev/null +++ b/templates/lambdainst/settings.html @@ -0,0 +1,31 @@ +{% extends 'account_layout.html' %} +{% load i18n %} +{% load staticfiles %} + +{% block account_content %} +

{% trans 'Settings' %}

+ +
+ {% csrf_token %} +
+
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ +
+
+
+{% endblock %} diff --git a/templates/lambdainst/status.html b/templates/lambdainst/status.html new file mode 100644 index 0000000..ca7fba0 --- /dev/null +++ b/templates/lambdainst/status.html @@ -0,0 +1,61 @@ +{% extends 'layout.html' %} +{% load i18n %} +{% load staticfiles %} +{% load bw %} + +{% block content %} +
+

{% trans 'Our Servers' %}

+ +
    +
  • + {% blocktrans trimmed with n_users=n_users %} + We have {{ n_users }} active users. + {% endblocktrans %} + {% blocktrans trimmed with n_sess=n_sess %} + {{ n_sess }} are using our VPN right now. + {% endblocktrans %} +
  • +
  • + {% blocktrans trimmed with n_gw=n_gw n_countries=n_countries %} + They are connected to {{ n_gws }} servers spread across + {{ n_countries }} countries to provide a low-latency + and secure access anywhere in the world. + {% endblocktrans %} +
  • +
  • + {% with total_bw|bwformat as total_bw_f %} + {% blocktrans trimmed with total_bw=total_bw_f %} + Our network has a total bandwidth of {{ total_bw }} and + all our servers are DDoS-protected. + {% endblocktrans %} + {% endwith %} +
  • +
+ +

{% trans 'Locations' %}

+ + + + + + + + + + {% for country, d in locations %} + + + + + + {% endfor %} + +
{% trans 'Location' %}{% trans 'Hostname' %}{% trans 'Servers' %}{% trans 'Bandwidth' %}
{{ d.country_name }} + {{ d.hostname }} + {{ d.servers }}{{ d.bandwidth|bwformat }}
+
+ + + +{% endblock %} diff --git a/templates/layout.html b/templates/layout.html new file mode 100644 index 0000000..397eef6 --- /dev/null +++ b/templates/layout.html @@ -0,0 +1,93 @@ +{% load i18n %} +{% load staticfiles %} +{% get_current_language as LANGUAGE_CODE %} + + + + {{ title | default:'CCrypto VPN' }} + + + + + + + {{ADDITIONAL_HEADER_HTML | safe}} + {% block headers %}{% endblock %} + + +
+
+

+ CCrypto + // {% trans 'Service Status' %} + {% for l, _ in LANGUAGES %} + | {{l.upper}} + {% endfor %} +

+
+
+ {% if user.is_authenticated %} +

{% trans 'Your account' %} + {% trans 'Logout' %} +

+ {% else %} +

{% trans 'Sign up' %} + {% trans 'Log in' %} +

+ {% endif %} +
+
+
+ + + + {% block wrap %} + {% for message in messages %} +
+

{{ message }}

+
+ {% endfor %} + + {% block content %}{% endblock %} + {% endblock %} + + + + {% block livechat_thing %} + + {% endblock %} + + {{ADDITIONAL_HTML | safe}} + + + diff --git a/templates/payments/form.html b/templates/payments/form.html new file mode 100644 index 0000000..e571b3b --- /dev/null +++ b/templates/payments/form.html @@ -0,0 +1,13 @@ +{% extends 'account_layout.html' %} +{% load i18n %} +{% load staticfiles %} + +{% block account_content %} +
+

{% trans 'Payment' %}

+ + {{ html | safe }} +
+ +{% endblock %} + diff --git a/templates/payments/list.html b/templates/payments/list.html new file mode 100644 index 0000000..c1a0cc9 --- /dev/null +++ b/templates/payments/list.html @@ -0,0 +1,28 @@ +{% extends 'account_layout.html' %} +{% load i18n %} +{% load staticfiles %} + +{% block account_content %} +

{% trans 'Subscription' %}

+ + + + + + + + + + + {% for payment in payments %} + + + + + + {% endfor %} + +
{% trans 'Date' %}{% trans 'Value' %}{% trans 'Status' %}
{{ payment.created }}{{ payment.time }} + ({{ payment.get_amount_display }}) + {{ payment.get_status_display }}
+{% endblock %} diff --git a/templates/payments/view.html b/templates/payments/view.html new file mode 100644 index 0000000..b19d121 --- /dev/null +++ b/templates/payments/view.html @@ -0,0 +1,34 @@ +{% extends 'account_layout.html' %} +{% load i18n %} +{% load staticfiles %} + +{% block headers %} + {% if payment.status == 'new' %} + + {% endif %} +{% endblock %} + +{% block account_content %} +
+

{% trans 'Payment' %} #{{payment.id}}: + {{ payment.get_status_display }} +

+ + {% if payment.status_message %} +

{{payment.status_message}}

+ {% endif %} + +

+ {% if payment.status == 'confirmed' %} + {% trans 'The payment has been confirmed.' %} + {% elif payment.status == 'cancelled' %} + {% trans 'The payment has been cancelled.' %} + {% elif payment.status == 'new' %} + {% trans 'This page will be updated with payment progress.' %} + {% endif %} +
+ {% trans 'Go back to your account' %} +

+
+{% endblock %} + diff --git a/templates/registration/login.html b/templates/registration/login.html new file mode 100644 index 0000000..d128c0e --- /dev/null +++ b/templates/registration/login.html @@ -0,0 +1,25 @@ +{% extends 'layout.html' %} +{% load i18n %} +{% load staticfiles %} + +{% block content %} +
+
+

{% trans 'Log in' %}

+
+ {% csrf_token %} + {{ form.as_p }} + + +
+ +
+
+{% endblock %} + diff --git a/templates/registration/password_reset_complete.html b/templates/registration/password_reset_complete.html new file mode 100644 index 0000000..179457a --- /dev/null +++ b/templates/registration/password_reset_complete.html @@ -0,0 +1,16 @@ +{% extends 'layout.html' %} +{% load i18n %} +{% load staticfiles %} + +{% block content %} +
+
+

{% trans 'Password Reset' %}

+

+ {% trans 'Your password has been changed.' %} + {% trans 'You can now log in with your new password.' %} +

+
+
+{% endblock %} + diff --git a/templates/registration/password_reset_confirm.html b/templates/registration/password_reset_confirm.html new file mode 100644 index 0000000..7f87ecd --- /dev/null +++ b/templates/registration/password_reset_confirm.html @@ -0,0 +1,30 @@ +{% extends 'layout.html' %} +{% load i18n %} +{% load staticfiles %} + +{% block content %} +
+
+

{% trans 'Password Reset' %}

+ {% if form %} +
+ {% csrf_token %} + {{ form }} + +
+ {% else %} +

{% trans 'Invalid reset link.' %}

+ {% endif %} + +
+
+{% endblock %} + + + diff --git a/templates/registration/password_reset_done.html b/templates/registration/password_reset_done.html new file mode 100644 index 0000000..3e8b82e --- /dev/null +++ b/templates/registration/password_reset_done.html @@ -0,0 +1,16 @@ +{% extends 'layout.html' %} +{% load i18n %} +{% load staticfiles %} + +{% block content %} +
+
+

{% trans 'Password Reset' %}

+

+ {% trans 'Sent! Check your emails to reset your password.' %} +

+
+
+{% endblock %} + + diff --git a/templates/registration/password_reset_form.html b/templates/registration/password_reset_form.html new file mode 100644 index 0000000..404cf3f --- /dev/null +++ b/templates/registration/password_reset_form.html @@ -0,0 +1,28 @@ +{% extends 'layout.html' %} +{% load i18n %} +{% load staticfiles %} + +{% block content %} +
+
+

{% trans 'Password Reset' %}

+
+ {% csrf_token %} + + + + +
+ +
+
+{% endblock %} + + diff --git a/templates/tickets/index.html b/templates/tickets/index.html new file mode 100644 index 0000000..37ebc10 --- /dev/null +++ b/templates/tickets/index.html @@ -0,0 +1,56 @@ +{% extends 'tickets/layout.html' %} +{% load i18n %} +{% load staticfiles %} + +{% block tickets_content %} +

{% trans 'Support' %}

+ +{% url 'chat' as chat_url %} + +

{% trans 'Before creating a ticket, please check if you question is convered in' %} + {% trans 'the FAQ' %}. +

+

{% blocktrans trimmed with chat_url as chat_url %} + If you would prefer to talk us in real time, we have a + live chat.
+ You can also use your own IRC client on #ccrypto on chat.freenode.net. + We are however not always online and you may have to wait. + {% endblocktrans %} +

+ + +{% if tickets %} +

{% trans 'Your open tickets' %}

+ + + + + + + + + + {% for ticket in tickets %} + + + + + + {% endfor %} + +
#{% trans 'ID' %}{% trans 'Subject' %}{% trans 'Status' %}
#{{ticket.id}}{{ ticket.subject }}{{ ticket.status_text }}
+ + {% if tickets.has_previous or tickets.has_next %} +

+ {% if tickets.has_previous %} + < + {% endif %} + {{ tickets.number }} + {% if tickets.has_next %} + > + {% endif %} +

+ {% endif %} +{% endif %} +{% endblock %} + diff --git a/templates/tickets/layout.html b/templates/tickets/layout.html new file mode 100644 index 0000000..7d26ca6 --- /dev/null +++ b/templates/tickets/layout.html @@ -0,0 +1,27 @@ +{% extends 'layout.html' %} +{% load i18n %} +{% load staticfiles %} + +{% block content %} + +{% endblock %} + diff --git a/templates/tickets/list.html b/templates/tickets/list.html new file mode 100644 index 0000000..f25e3b0 --- /dev/null +++ b/templates/tickets/list.html @@ -0,0 +1,52 @@ +{% extends 'tickets/layout.html' %} +{% load i18n %} +{% load staticfiles %} + +{% block tickets_content %} +

{% trans 'Tickets' %}

+ +{% if tickets %} + + + + + + + {% if not single_user %} + + {% endif %} + + + + {% for ticket in tickets %} + + + + + {% if not single_user %} + {% if ticket.user %} + + {% else %} + + {% endif %} + {% endif %} + + {% endfor %} + +
#{% trans 'ID' %}{% trans 'Subject' %}{% trans 'Status' %}{% trans 'User' %}
#{{ticket.id}}{{ ticket.subject }}{{ ticket.status_text }} + {{ticket.user.username}} + -
+

+ {% if tickets.has_previous %} + < + {% endif %} + {{ tickets.number }} + {% if tickets.has_next %} + > + {% endif %} +

+{% else %} +

{% trans 'No ticket to show.' %}

+{% endif %} +{% endblock %} + diff --git a/templates/tickets/mail_support_new.txt b/templates/tickets/mail_support_new.txt new file mode 100644 index 0000000..a5b46d3 --- /dev/null +++ b/templates/tickets/mail_support_new.txt @@ -0,0 +1,14 @@ +{% load i18n %} +{{ site_name }} +======================================== + +{% trans "A new ticket has been created." %} +{{ url }} + +{% trans "Category:" %} {{ ticket.get_category_display }} +{% trans "Subject:" %} {{ ticket.subject }} +{% trans "User:" %} {{ ticket.user.username }} + +{{ message.message | safe }} + + diff --git a/templates/tickets/mail_support_reply.txt b/templates/tickets/mail_support_reply.txt new file mode 100644 index 0000000..d8a05e7 --- /dev/null +++ b/templates/tickets/mail_support_reply.txt @@ -0,0 +1,10 @@ +{% load i18n %} +{{ site_name }} +======================================== + +{% trans "New reply on ticket:" %} {{ ticket.subject }} +{% trans "From:" %} {{ message.user.username }} +{{ url }} + +{{ message.message | safe }} + diff --git a/templates/tickets/mail_user_close.txt b/templates/tickets/mail_user_close.txt new file mode 100644 index 0000000..b0717d2 --- /dev/null +++ b/templates/tickets/mail_user_close.txt @@ -0,0 +1,7 @@ +{% load i18n %} +{{ site_name }} +======================================== + +{% trans "Your ticket was closed." %} +{{ url }} + diff --git a/templates/tickets/mail_user_reply.txt b/templates/tickets/mail_user_reply.txt new file mode 100644 index 0000000..882665b --- /dev/null +++ b/templates/tickets/mail_user_reply.txt @@ -0,0 +1,9 @@ +{% load i18n %} +{{ site_name }} +======================================== + +{% trans "New reply on your ticket:" %} {{ ticket.subject }} +{{ url }} + +{{ message.message | safe}} + diff --git a/templates/tickets/new.html b/templates/tickets/new.html new file mode 100644 index 0000000..bfc1568 --- /dev/null +++ b/templates/tickets/new.html @@ -0,0 +1,17 @@ +{% extends 'tickets/layout.html' %} +{% load i18n %} +{% load staticfiles %} + +{% block tickets_content %} +
+

{% trans 'New Ticket' %}

+ +
+ {% csrf_token %} + {{ form }} + + +
+
+{% endblock %} + diff --git a/templates/tickets/view.html b/templates/tickets/view.html new file mode 100644 index 0000000..58052de --- /dev/null +++ b/templates/tickets/view.html @@ -0,0 +1,50 @@ +{% extends 'tickets/layout.html' %} +{% load i18n %} +{% load staticfiles %} + +{% block tickets_content %} +
+

{% trans 'Ticket:' %} {{ ticket.subject }} + {% if not ticket.is_open %} + [{% trans 'closed' %}] + {% endif %} +

+ +
+ {% for message in ticket_messages %} +
+

+ {% if message.staff_only %}[{% trans "Private" %}]{% endif %} + {% if ticket.user != message.user %} CCrypto Support - {% endif %} + {{ message.user.username|default:'-' }}: +

+

+ {% with created=message.created|date:'d/m/Y H:i' %} + {{ created }} + {% endwith %} +

+

+ {{ message.message | linebreaksbr | urlize }} +

+
+ {% endfor %} +
+ +
+ {% csrf_token %} + {{ form }} + + + {% if ticket.is_open %} + + {% else %} + + {% endif %} +
+ +
+{% endblock %} + diff --git a/tickets/__init__.py b/tickets/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/tickets/admin.py b/tickets/admin.py new file mode 100644 index 0000000..d440994 --- /dev/null +++ b/tickets/admin.py @@ -0,0 +1,84 @@ +from django.contrib import admin +from django.shortcuts import resolve_url +from django.utils import timezone +from django.utils.translation import ugettext_lazy as _ +from django.utils import formats +from .models import Ticket, TicketMessage, TicketNotifyAddress + + +def close_without_notice(modeladmin, request, queryset): + queryset.update(is_open=False, closed=timezone.now()) +close_without_notice.short_description = _("Close selected tickets (without notice)") + + +def close_tickets(modeladmin, request, queryset): + for t in queryset: + if t.is_open: + t.notify_close() + queryset.update(is_open=False, closed=timezone.now()) +close_tickets.short_description = _("Close selected tickets") + + +class TicketMessageAdmin(admin.StackedInline): + model = TicketMessage + fields = ('user_link', 'remote_addr', 'created', 'staff_only', 'message') + readonly_fields = ('user_link', 'created') + extra = 1 + + def user_link(self, object): + change_url = resolve_url('admin:auth_user_change', object.user.id) + return '%s' % (change_url, object.user.username) + user_link.allow_tags = True + user_link.short_description = 'User' + + +class TicketAdmin(admin.ModelAdmin): + fields = ('category', 'subject', 'user_link', 'created', 'status', 'closed') + readonly_fields = ('user_link', 'created', 'status', 'closed') + list_display = ('subject', 'user', 'created', 'category', 'is_open') + list_filter = ('category', 'is_open') + search_fields = ('subject', 'user__username', 'message_set__message') + actions = (close_tickets, close_without_notice) + inlines = (TicketMessageAdmin,) + + def user_link(self, object): + change_url = resolve_url('admin:auth_user_change', object.user.id) + return '%s' % (change_url, object.user.username) + user_link.allow_tags = True + user_link.short_description = 'User' + + def comment_head(self, object): + return object.comment_head + comment_head.short_description = _("Comment") + + def status(self, object): + if object.is_open and object.closed: + return _("Re-opened") + elif object.is_open: + return _("Open") + else: + return _("Closed") + + def save_model(self, request, obj, form, change): + if not change: + obj.user = request.user + obj.save() + + def save_formset(self, request, form, formset, change): + formset.save() + if not change: + for f in formset.forms: + obj = f.instance + obj.user = request.user + obj.save() + + +class TicketNotifyAddressAdmin(admin.ModelAdmin): + list_display = ('category', 'address') + list_filter = ('category', ) + search_fields = ('address', ) + + +admin.site.register(Ticket, TicketAdmin) +admin.site.register(TicketNotifyAddress, TicketNotifyAddressAdmin) + diff --git a/tickets/forms.py b/tickets/forms.py new file mode 100644 index 0000000..ae63fa0 --- /dev/null +++ b/tickets/forms.py @@ -0,0 +1,24 @@ +from django import forms +from .models import TicketMessage, CATEGORY_CHOICES +from django.utils.translation import ugettext_lazy as _ + + +class NewTicketForm(forms.Form): + category = forms.ChoiceField(label=_("Category"), choices=CATEGORY_CHOICES) + subject = forms.CharField(label=_("Subject"), min_length=1, max_length=100) + message = forms.CharField(label=_("Message"), widget=forms.Textarea) + + +class ReplyForm(forms.ModelForm): + class Meta: + model = TicketMessage + fields = ('message',) + + +class StaffReplyForm(forms.ModelForm): + class Meta: + model = TicketMessage + fields = ('message', 'staff_only') + + staff_only = forms.BooleanField(label=_("Private"), required=False) + diff --git a/tickets/migrations/0001_initial.py b/tickets/migrations/0001_initial.py new file mode 100644 index 0000000..421b836 --- /dev/null +++ b/tickets/migrations/0001_initial.py @@ -0,0 +1,52 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import migrations, models +from django.conf import settings +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ] + + operations = [ + migrations.CreateModel( + name='Ticket', + fields=[ + ('id', models.AutoField(verbose_name='ID', auto_created=True, primary_key=True, serialize=False)), + ('category', models.CharField(max_length=16, choices=[('support', 'Support'), ('security', 'Security'), ('billing', 'Account / Billing')])), + ('subject', models.CharField(max_length=100)), + ('created', models.DateTimeField(auto_now_add=True)), + ('is_open', models.BooleanField(default=True)), + ('closed', models.DateTimeField(blank=True, null=True)), + ('user', models.ForeignKey(blank=True, to=settings.AUTH_USER_MODEL, null=True, on_delete=django.db.models.deletion.SET_NULL)), + ], + options={ + 'ordering': ('-created',), + 'permissions': (('view_any_ticket', 'Can view any ticket'), ('reply_any_ticket', 'Can reply to any ticket'), ('view_private_message', 'Can view private messages on tickets'), ('post_private_message', 'Can post private messages on tickets')), + }, + ), + migrations.CreateModel( + name='TicketMessage', + fields=[ + ('id', models.AutoField(verbose_name='ID', auto_created=True, primary_key=True, serialize=False)), + ('remote_addr', models.GenericIPAddressField(blank=True, null=True)), + ('created', models.DateTimeField(auto_now_add=True)), + ('message', models.TextField()), + ('staff_only', models.BooleanField(default=False)), + ('ticket', models.ForeignKey(related_name='message_set', to='tickets.Ticket')), + ('user', models.ForeignKey(blank=True, to=settings.AUTH_USER_MODEL, null=True, on_delete=django.db.models.deletion.SET_NULL)), + ], + ), + migrations.CreateModel( + name='TicketNotifyAddress', + fields=[ + ('id', models.AutoField(verbose_name='ID', auto_created=True, primary_key=True, serialize=False)), + ('category', models.CharField(max_length=16, choices=[('support', 'Support'), ('security', 'Security'), ('billing', 'Account / Billing')])), + ('address', models.EmailField(max_length=254)), + ], + ), + ] diff --git a/tickets/migrations/0002_auto_20160106_1750.py b/tickets/migrations/0002_auto_20160106_1750.py new file mode 100644 index 0000000..49c7ee1 --- /dev/null +++ b/tickets/migrations/0002_auto_20160106_1750.py @@ -0,0 +1,18 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('tickets', '0001_initial'), + ] + + operations = [ + migrations.AlterModelOptions( + name='ticketmessage', + options={'ordering': ('created',)}, + ), + ] diff --git a/tickets/migrations/__init__.py b/tickets/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/tickets/models.py b/tickets/models.py new file mode 100644 index 0000000..cc64b7a --- /dev/null +++ b/tickets/models.py @@ -0,0 +1,109 @@ +from django.db import models +from django.conf import settings +from django.utils.translation import ugettext_lazy as _ +from django.core.urlresolvers import reverse +from django.template.loader import get_template +from django.template import Context +from django.core.mail import send_mail + + +ROOT_URL = settings.ROOT_URL +SITE_NAME = settings.TICKETS_SITE_NAME + +CATEGORY_CHOICES = ( + ('support', _("Support")), + ('security', _("Security")), + ('billing', _("Account / Billing")), +) + +if hasattr(settings, 'TICKETS_CATEGORIES'): + CATEGORY_CHOICES = settings.TICKETS_CATEGORIES + + +def notify(subject, template, recipient_list, params): + ctx = Context(dict(site_name=SITE_NAME, **params)) + text = get_template(template).render(ctx) + + for a in recipient_list: + send_mail(subject, text, settings.DEFAULT_FROM_EMAIL, [a], fail_silently=True) + + +class Ticket(models.Model): + class Meta: + ordering = ('-created',) + + permissions = ( + ('view_any_ticket', _("Can view any ticket")), + ('reply_any_ticket', _("Can reply to any ticket")), + ('view_private_message', _("Can view private messages on tickets")), + ('post_private_message', _("Can post private messages on tickets")), + ) + + user = models.ForeignKey(settings.AUTH_USER_MODEL, blank=True, null=True, + on_delete=models.SET_NULL) + category = models.CharField(max_length=16, choices=CATEGORY_CHOICES) + subject = models.CharField(max_length=100) + created = models.DateTimeField(auto_now_add=True) + is_open = models.BooleanField(default=True) + closed = models.DateTimeField(blank=True, null=True) + + @property + def status_text(self): + if self.closed: + return _("Closed") + last_msg = self.message_set.last() + if last_msg and last_msg.user == self.user: + return _("Waiting for staff") + else: + return _("Open") + + def get_contacts(self): + contacts = TicketNotifyAddress.objects.filter(category=self.category) + return [c.address for c in contacts] + + def notify_new(self, first_message): + url = ROOT_URL + reverse('tickets:view', args=(self.id,)) + subject = _("Ticket:") + " " + self.subject + ctx = dict(ticket=self, message=first_message, url=url) + notify(subject, 'tickets/mail_support_new.txt', self.get_contacts(), ctx) + + def notify_reply(self, message): + url = ROOT_URL + reverse('tickets:view', args=(self.id,)) + subject = _("Ticket:") + " " + self.subject + ctx = dict(ticket=self, message=message, url=url) + notify(subject, 'tickets/mail_support_reply.txt', self.get_contacts(), ctx) + if self.user and self.user.email: + if message.staff_only and not self.user.has_perm('tickets.view_private_message'): + return + notify(subject, 'tickets/mail_user_reply.txt', [self.user.email], ctx) + + def notify_close(self): + url = ROOT_URL + reverse('tickets:view', args=(self.id,)) + subject = _("Ticket:") + " " + self.subject + ctx = dict(ticket=self, url=url) + notify(subject, 'tickets/mail_user_close.txt', [self.user.email], ctx) + + def __str__(self): + return self.subject + + def get_absolute_url(self): + return reverse('tickets:view', args=(self.id,)) + + +class TicketNotifyAddress(models.Model): + category = models.CharField(max_length=16, choices=CATEGORY_CHOICES) + address = models.EmailField() + + +class TicketMessage(models.Model): + ticket = models.ForeignKey(Ticket, related_name='message_set', + on_delete=models.CASCADE) + user = models.ForeignKey(settings.AUTH_USER_MODEL, blank=True, null=True, + on_delete=models.SET_NULL) + remote_addr = models.GenericIPAddressField(blank=True, null=True) + created = models.DateTimeField(auto_now_add=True) + message = models.TextField() + staff_only = models.BooleanField(default=False) + + class Meta: + ordering = ('created',) diff --git a/tickets/tests.py b/tickets/tests.py new file mode 100644 index 0000000..7ce503c --- /dev/null +++ b/tickets/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/tickets/urls.py b/tickets/urls.py new file mode 100644 index 0000000..8baf96f --- /dev/null +++ b/tickets/urls.py @@ -0,0 +1,14 @@ +from django.conf.urls import url + +from . import views + +urlpatterns = [ + url(r'^new$', views.new, name='new'), + url(r'^view/(?P[0-9]+)$', views.view, name='view'), + url(r'^$', views.index, name='index'), + url(r'^open$', views.index, dict(f='open'), name='index_open'), + url(r'^closed$', views.index, dict(f='closed'), name='index_closed'), + url(r'^all_open$', views.index, dict(f='open', all=True), name='index_open_all'), + url(r'^all_closed$', views.index, dict(f='closed', all=True), name='index_closed_all'), +] + diff --git a/tickets/views.py b/tickets/views.py new file mode 100644 index 0000000..e9a600e --- /dev/null +++ b/tickets/views.py @@ -0,0 +1,154 @@ +from django.shortcuts import render, redirect, get_object_or_404 +from django.contrib.auth.decorators import login_required +from django.http.response import HttpResponseNotFound +from django.utils import timezone +from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger + +from .models import Ticket, TicketMessage +from .forms import NewTicketForm, ReplyForm, StaffReplyForm + + +def common_context(request): + context = { + 'open_n': Ticket.objects.filter(is_open=True, user=request.user).count(), + 'closed_n': Ticket.objects.filter(is_open=False, user=request.user).count(), + } + if request.user.has_perm('tickets.view_any_ticket'): + context.update({ + 'all_open_n': Ticket.objects.filter(is_open=True).count(), + 'all_closed_n': Ticket.objects.filter(is_open=False).count(), + }) + return context + + +@login_required +def index(request, f=None, all=False): + tickets = Ticket.objects + + if f == 'closed': + tickets = tickets.filter(is_open=False) + else: + tickets = tickets.filter(is_open=True) + + if all is False or not request.user.has_perm('tickets.view_any_ticket'): + tickets = tickets.filter(user=request.user) + single_user = True + else: + single_user = False + + paginator = Paginator(tickets, 20) + page = request.GET.get('page') + try: + tickets = paginator.page(page) + except PageNotAnInteger: + tickets = paginator.page(1) + except EmptyPage: + tickets = paginator.page(paginator.num_pages) + + context = dict(tickets=tickets, filter=f, single_user=single_user) + context.update(common_context(request)) + if not f: + return render(request, 'tickets/index.html', context) + else: + return render(request, 'tickets/list.html', context) + + +@login_required +def new(request): + context = common_context(request) + if request.method != 'POST': + context['form'] = NewTicketForm() + return render(request, 'tickets/new.html', context) + + form = NewTicketForm(request.POST) + + if not form.is_valid(): + context['form'] = form + return render(request, 'tickets/new.html', context) + + ticket = Ticket(category=form.cleaned_data['category'], + subject=form.cleaned_data['subject'], + user=request.user) + ticket.save() + + firstmsg = TicketMessage(ticket=ticket, user=request.user, + message=form.cleaned_data['message']) + + if not request.user.is_staff: + firstmsg.remote_addr = request.META['REMOTE_ADDR'] + + firstmsg.save() + + ticket.notify_new(firstmsg) + + return redirect('tickets:view', id=ticket.id) + + +@login_required +def view(request, id): + ticket = get_object_or_404(Ticket, id=id) + + view_any_ticket = request.user.has_perm('tickets.view_any_ticket') + reply_any_ticket = request.user.has_perm('tickets.reply_any_ticket') + + if not view_any_ticket and ticket.user != request.user: + return HttpResponseNotFound() + + if request.user.has_perm('tickets.view_private_message'): + messages = ticket.message_set.all() + else: + messages = ticket.message_set.filter(staff_only=False) + + if request.method != 'POST': + if request.user.is_staff: + form = StaffReplyForm() + else: + form = ReplyForm() + + ctx = dict(ticket=ticket, ticket_messages=messages, form=form) + ctx.update(common_context(request)) + return render(request, 'tickets/view.html', ctx) + + if not reply_any_ticket and ticket.user != request.user: + return HttpResponseNotFound() + + if request.POST.get('close') or request.POST.get('button_close'): + ticket.is_open = False + ticket.closed = timezone.now() + ticket.save() + ticket.notify_close() + return redirect('tickets:view', id=ticket.id) + + if request.POST.get('reopen') or request.POST.get('button_reopen'): + ticket.is_open = True + ticket.save() + return redirect('tickets:view', id=ticket.id) + + if request.user.has_perm('tickets.post_private_message'): + form = StaffReplyForm(request.POST) + else: + form = ReplyForm(request.POST) + + if not form.is_valid(): + ctx = dict(ticket=ticket, ticket_messages=messages, form=form) + ctx.update(common_context(request)) + return render(request, 'tickets/view.html', ctx) + + msg = TicketMessage(ticket=ticket, user=request.user, + **form.cleaned_data) + + if not request.user.is_staff: + msg.remote_addr = request.META['REMOTE_ADDR'] + + msg.save() + + if not ticket.is_open: + ticket.is_open = True + ticket.save() + + ticket.notify_reply(msg) + + return redirect('tickets:view', id=ticket.id) + + +

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