From 54efdb76c809d89053f929e1b5c78bad244ddbcf Mon Sep 17 00:00:00 2001 From: ccy_branch <531334290@qq.com> Date: Sun, 12 Oct 2025 21:58:19 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E5=9C=A8src=E7=9B=AE=E5=BD=95=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0main.py=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main.py b/src/main.py index 75d9766..0b6d030 100644 --- a/src/main.py +++ b/src/main.py @@ -1 +1 @@ -print('hello world') +"print('hello world')" -- 2.34.1 From 19f24975fe55a319572b777b4d5f8865b477e216 Mon Sep 17 00:00:00 2001 From: ccy_branch <531334290@qq.com> Date: Mon, 20 Oct 2025 00:39:25 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E6=B7=BB=E5=8A=A0DjangoBlog=E6=B5=8B?= =?UTF-8?q?=E8=AF=95=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests.py | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 tests.py diff --git a/tests.py b/tests.py new file mode 100644 index 0000000..d491021 --- /dev/null +++ b/tests.py @@ -0,0 +1,37 @@ +# 定义测试类,继承自TestCase,用于测试Django博客项目中的工具类/函数 +class DjangoBlogTest(TestCase): + # 本测试用例无需前置初始化操作,故保持空实现 + def setUp(self): + pass + + # 1. 测试SHA256加密工具函数get_sha256 + # 对字符串'test'进行SHA256加密,获取加密结果 + def test_utils(self): + md5 = get_sha256('test') + self.assertIsNotNone(md5) + # 2. 测试Markdown解析工具类CommonMarkdown + # 调用get_markdown方法,解析一段包含多种元素的Markdown文本 + c = CommonMarkdown.get_markdown(''' + # Title1 + + ```python + import os + ``` + + [url](https://www.lylinux.net/) + + [ddd](http://www.baidu.com) + + + ''') + self.assertIsNotNone(c) + d = { + 'd': 'key1', + 'd2': 'key2' + } + data = parse_dict_to_url(d) + self.assertIsNotNone(data) + + + + -- 2.34.1 From beb871f296d3599ac560632123483aadd6f11a55 Mon Sep 17 00:00:00 2001 From: ccy_branch <531334290@qq.com> Date: Mon, 20 Oct 2025 00:47:51 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E6=B7=BB=E5=8A=A0DjangoBlog=E6=B5=8B?= =?UTF-8?q?=E8=AF=95=E6=96=87=E4=BB=B6=E5=92=8C=E5=85=B6=E4=BB=96=E8=B5=84?= =?UTF-8?q?=E6=BA=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/ccy.iml | 12 + FETCH_HEAD | 0 doc/new_doc_file.md | 0 .../.idea/.gitignore | 5 + .../inspectionProfiles/profiles_settings.xml | 6 + .../.idea/misc.xml | 7 + .../.idea/modules.xml | 8 + ...-engineering-methodology-djq-branch(1).iml | 12 + .../.idea/vcs.xml | 6 + .../.gitignore | 42 + .../.idea/.gitignore | 3 + .../.idea/Django.iml | 12 + .../inspectionProfiles/profiles_settings.xml | 6 + .../.idea/misc.xml | 4 + .../.idea/modules.xml | 8 + .../.idea/vcs.xml | 6 + .../26组软件界面说明书.docx | Bin 0 -> 728606 bytes .../README.md | 6 + .../doc/26组软件界面说明书.docx | Bin 0 -> 728606 bytes .../doc/djq.txt | 0 .../doc/test.txt | 0 .../DjangoBlog-master/.coveragerc | 10 + .../DjangoBlog-master/.dockerignore | 11 + .../DjangoBlog-master/.gitattributes | 6 + .../.github/ISSUE_TEMPLATE.md | 18 + .../.github/workflows/codeql-analysis.yml | 47 + .../.github/workflows/django.yml | 136 +++ .../.github/workflows/docker.yml | 43 + .../.github/workflows/publish-release.yml | 39 + .../DjangoBlog-master/.gitignore | 80 ++ .../DjangoBlog-master/Dockerfile | 15 + .../DjangoBlog-master/LICENSE | 20 + .../DjangoBlog-master/README.md | 158 +++ .../DjangoBlog-master/accounts/__init__.py | 0 .../DjangoBlog-master/accounts/admin.py | 59 + .../DjangoBlog-master/accounts/apps.py | 5 + .../DjangoBlog-master/accounts/forms.py | 117 ++ .../accounts/migrations/0001_initial.py | 49 + .../accounts/migrations/__init__.py | 0 .../DjangoBlog-master/accounts/models.py | 35 + .../accounts/templatetags/__init__.py | 0 .../DjangoBlog-master/accounts/tests.py | 207 ++++ .../DjangoBlog-master/accounts/urls.py | 28 + .../accounts/user_login_backend.py | 26 + .../DjangoBlog-master/accounts/utils.py | 49 + .../DjangoBlog-master/accounts/views.py | 204 ++++ .../DjangoBlog-master/blog/__init__.py | 0 .../DjangoBlog-master/blog/admin.py | 112 ++ .../DjangoBlog-master/blog/apps.py | 5 + .../blog/context_processors.py | 88 ++ .../DjangoBlog-master/blog/documents.py | 213 ++++ .../DjangoBlog-master/blog/forms.py | 19 + .../blog/management/__init__.py | 0 .../blog/management/commands/__init__.py | 0 .../blog/management/commands/build_index.py | 18 + .../management/commands/build_search_words.py | 13 + .../blog/management/commands/clear_cache.py | 11 + .../management/commands/create_testdata.py | 40 + .../blog/management/commands/ping_baidu.py | 50 + .../management/commands/sync_user_avatar.py | 47 + .../DjangoBlog-master/blog/middleware.py | 42 + .../blog/migrations/0001_initial.py | 137 +++ ...002_blogsettings_global_footer_and_more.py | 23 + .../0003_blogsettings_comment_need_review.py | 17 + ...de_blogsettings_analytics_code_and_more.py | 27 + ...options_alter_category_options_and_more.py | 300 +++++ .../0006_alter_blogsettings_options.py | 17 + .../blog/migrations/__init__.py | 0 .../DjangoBlog-master/blog/models.py | 427 +++++++ .../DjangoBlog-master/blog/search_indexes.py | 13 + .../blog/templatetags/__init__.py | 0 .../blog/templatetags/blog_tags.py | 344 ++++++ .../DjangoBlog-master/blog/tests.py | 232 ++++ .../DjangoBlog-master/blog/urls.py | 62 + .../DjangoBlog-master/blog/views.py | 379 ++++++ .../DjangoBlog-master/comments/__init__.py | 0 .../DjangoBlog-master/comments/admin.py | 47 + .../DjangoBlog-master/comments/apps.py | 5 + .../DjangoBlog-master/comments/forms.py | 13 + .../comments/migrations/0001_initial.py | 38 + .../0002_alter_comment_is_enable.py | 18 + ...ns_remove_comment_created_time_and_more.py | 60 + .../comments/migrations/__init__.py | 0 .../DjangoBlog-master/comments/models.py | 39 + .../comments/templatetags/__init__.py | 0 .../comments/templatetags/comments_tags.py | 30 + .../DjangoBlog-master/comments/tests.py | 109 ++ .../DjangoBlog-master/comments/urls.py | 11 + .../DjangoBlog-master/comments/utils.py | 38 + .../DjangoBlog-master/comments/views.py | 63 + .../docker-compose/docker-compose.es.yml | 48 + .../deploy/docker-compose/docker-compose.yml | 60 + .../DjangoBlog-master/deploy/entrypoint.sh | 31 + .../deploy/k8s/configmap.yaml | 119 ++ .../deploy/k8s/deployment.yaml | 274 +++++ .../DjangoBlog-master/deploy/k8s/gateway.yaml | 17 + .../DjangoBlog-master/deploy/k8s/pv.yaml | 94 ++ .../DjangoBlog-master/deploy/k8s/pvc.yaml | 60 + .../DjangoBlog-master/deploy/k8s/service.yaml | 80 ++ .../deploy/k8s/storageclass.yaml | 10 + .../DjangoBlog-master/deploy/nginx.conf | 50 + .../DjangoBlog-master/djangoblog/__init__.py | 1 + .../djangoblog/admin_site.py | 64 + .../DjangoBlog-master/djangoblog/apps.py | 11 + .../djangoblog/blog_signals.py | 122 ++ .../djangoblog/elasticsearch_backend.py | 183 +++ .../DjangoBlog-master/djangoblog/feeds.py | 40 + .../djangoblog/logentryadmin.py | 91 ++ .../djangoblog/plugin_manage/base_plugin.py | 41 + .../plugin_manage/hook_constants.py | 7 + .../djangoblog/plugin_manage/hooks.py | 44 + .../djangoblog/plugin_manage/loader.py | 19 + .../DjangoBlog-master/djangoblog/settings.py | 343 ++++++ .../DjangoBlog-master/djangoblog/sitemap.py | 59 + .../djangoblog/spider_notify.py | 21 + .../DjangoBlog-master/djangoblog/tests.py | 32 + .../DjangoBlog-master/djangoblog/urls.py | 71 ++ .../DjangoBlog-master/djangoblog/utils.py | 232 ++++ .../djangoblog/whoosh_cn_backend.py | 1044 +++++++++++++++++ .../DjangoBlog-master/djangoblog/wsgi.py | 16 + .../DjangoBlog-master/docs/README-en.md | 158 +++ .../DjangoBlog-master/docs/config-en.md | 64 + .../DjangoBlog-master/docs/config.md | 58 + .../DjangoBlog-master/docs/docker-en.md | 114 ++ .../DjangoBlog-master/docs/docker.md | 114 ++ .../DjangoBlog-master/docs/es.md | 28 + .../DjangoBlog-master/docs/imgs/alipay.jpg | Bin 0 -> 17961 bytes .../docs/imgs/pycharm_logo.png | Bin 0 -> 132045 bytes .../DjangoBlog-master/docs/imgs/wechat.jpg | Bin 0 -> 24722 bytes .../DjangoBlog-master/docs/k8s-en.md | 141 +++ .../DjangoBlog-master/docs/k8s.md | 141 +++ .../locale/en/LC_MESSAGES/django.mo | Bin 0 -> 11097 bytes .../locale/en/LC_MESSAGES/django.po | 685 +++++++++++ .../locale/zh_Hans/LC_MESSAGES/django.mo | Bin 0 -> 10321 bytes .../locale/zh_Hans/LC_MESSAGES/django.po | 667 +++++++++++ .../locale/zh_Hant/LC_MESSAGES/django.mo | Bin 0 -> 10268 bytes .../locale/zh_Hant/LC_MESSAGES/django.po | 668 +++++++++++ .../DjangoBlog-master/manage.py | 22 + .../DjangoBlog-master/oauth/__init__.py | 0 .../DjangoBlog-master/oauth/admin.py | 54 + .../DjangoBlog-master/oauth/apps.py | 5 + .../DjangoBlog-master/oauth/forms.py | 12 + .../oauth/migrations/0001_initial.py | 57 + ...ptions_alter_oauthuser_options_and_more.py | 86 ++ .../0003_alter_oauthuser_nickname.py | 18 + .../oauth/migrations/__init__.py | 0 .../DjangoBlog-master/oauth/models.py | 67 ++ .../DjangoBlog-master/oauth/oauthmanager.py | 504 ++++++++ .../oauth/templatetags/__init__.py | 1 + .../oauth/templatetags/oauth_tags.py | 22 + .../DjangoBlog-master/oauth/tests.py | 249 ++++ .../DjangoBlog-master/oauth/urls.py | 25 + .../DjangoBlog-master/oauth/views.py | 253 ++++ .../DjangoBlog-master/owntracks/__init__.py | 0 .../DjangoBlog-master/owntracks/admin.py | 7 + .../DjangoBlog-master/owntracks/apps.py | 5 + .../owntracks/migrations/0001_initial.py | 31 + ...0002_alter_owntracklog_options_and_more.py | 22 + .../owntracks/migrations/__init__.py | 0 .../DjangoBlog-master/owntracks/models.py | 20 + .../DjangoBlog-master/owntracks/tests.py | 64 + .../DjangoBlog-master/owntracks/urls.py | 12 + .../DjangoBlog-master/owntracks/views.py | 127 ++ .../DjangoBlog-master/plugins/__init__.py | 1 + .../plugins/article_copyright/__init__.py | 1 + .../plugins/article_copyright/plugin.py | 32 + .../plugins/external_links/__init__.py | 1 + .../plugins/external_links/plugin.py | 48 + .../plugins/reading_time/__init__.py | 1 + .../plugins/reading_time/plugin.py | 43 + .../plugins/seo_optimizer/__init__.py | 1 + .../plugins/seo_optimizer/plugin.py | 142 +++ .../plugins/view_count/__init__.py | 1 + .../plugins/view_count/plugin.py | 18 + .../DjangoBlog-master/requirements.txt | Bin 0 -> 2554 bytes .../servermanager/MemcacheStorage.py | 32 + .../servermanager/__init__.py | 0 .../DjangoBlog-master/servermanager/admin.py | 19 + .../servermanager/api/__init__.py | 1 + .../servermanager/api/blogapi.py | 27 + .../servermanager/api/commonapi.py | 64 + .../DjangoBlog-master/servermanager/apps.py | 5 + .../servermanager/migrations/0001_initial.py | 45 + ...002_alter_emailsendlog_options_and_more.py | 32 + .../servermanager/migrations/__init__.py | 0 .../DjangoBlog-master/servermanager/models.py | 33 + .../DjangoBlog-master/servermanager/robot.py | 187 +++ .../DjangoBlog-master/servermanager/tests.py | 79 ++ .../DjangoBlog-master/servermanager/urls.py | 10 + .../DjangoBlog-master/servermanager/views.py | 1 + .../src/main.py | 1 + .../src/zjp.py | 1 + 192 files changed, 13223 insertions(+) create mode 100644 .idea/ccy.iml create mode 100644 FETCH_HEAD create mode 100644 doc/new_doc_file.md create mode 100644 software-engineering-methodology-djq-branch(1)/.idea/.gitignore create mode 100644 software-engineering-methodology-djq-branch(1)/.idea/inspectionProfiles/profiles_settings.xml create mode 100644 software-engineering-methodology-djq-branch(1)/.idea/misc.xml create mode 100644 software-engineering-methodology-djq-branch(1)/.idea/modules.xml create mode 100644 software-engineering-methodology-djq-branch(1)/.idea/software-engineering-methodology-djq-branch(1).iml create mode 100644 software-engineering-methodology-djq-branch(1)/.idea/vcs.xml create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/.gitignore create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/.idea/.gitignore create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/.idea/Django.iml create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/.idea/inspectionProfiles/profiles_settings.xml create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/.idea/misc.xml create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/.idea/modules.xml create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/.idea/vcs.xml create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/26组软件界面说明书.docx create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/README.md create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/doc/26组软件界面说明书.docx create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/doc/djq.txt create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/doc/test.txt create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/.coveragerc create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/.dockerignore create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/.gitattributes create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/.github/ISSUE_TEMPLATE.md create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/.github/workflows/codeql-analysis.yml create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/.github/workflows/django.yml create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/.github/workflows/docker.yml create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/.github/workflows/publish-release.yml create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/.gitignore create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/Dockerfile create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/LICENSE create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/README.md create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/accounts/__init__.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/accounts/admin.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/accounts/apps.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/accounts/forms.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/accounts/migrations/0001_initial.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/accounts/migrations/__init__.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/accounts/models.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/accounts/templatetags/__init__.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/accounts/tests.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/accounts/urls.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/accounts/user_login_backend.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/accounts/utils.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/accounts/views.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/__init__.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/admin.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/apps.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/context_processors.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/documents.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/forms.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/management/__init__.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/management/commands/__init__.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/management/commands/build_index.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/management/commands/build_search_words.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/management/commands/clear_cache.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/management/commands/create_testdata.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/management/commands/ping_baidu.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/management/commands/sync_user_avatar.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/middleware.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/migrations/0001_initial.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/migrations/0002_blogsettings_global_footer_and_more.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/migrations/0003_blogsettings_comment_need_review.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/migrations/0004_rename_analyticscode_blogsettings_analytics_code_and_more.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/migrations/0005_alter_article_options_alter_category_options_and_more.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/migrations/0006_alter_blogsettings_options.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/migrations/__init__.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/models.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/search_indexes.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/templatetags/__init__.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/templatetags/blog_tags.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/tests.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/urls.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/views.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/comments/__init__.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/comments/admin.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/comments/apps.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/comments/forms.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/comments/migrations/0001_initial.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/comments/migrations/0002_alter_comment_is_enable.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/comments/migrations/0003_alter_comment_options_remove_comment_created_time_and_more.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/comments/migrations/__init__.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/comments/models.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/comments/templatetags/__init__.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/comments/templatetags/comments_tags.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/comments/tests.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/comments/urls.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/comments/utils.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/comments/views.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/deploy/docker-compose/docker-compose.es.yml create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/deploy/docker-compose/docker-compose.yml create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/deploy/entrypoint.sh create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/deploy/k8s/configmap.yaml create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/deploy/k8s/deployment.yaml create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/deploy/k8s/gateway.yaml create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/deploy/k8s/pv.yaml create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/deploy/k8s/pvc.yaml create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/deploy/k8s/service.yaml create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/deploy/k8s/storageclass.yaml create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/deploy/nginx.conf create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/__init__.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/admin_site.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/apps.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/blog_signals.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/elasticsearch_backend.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/feeds.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/logentryadmin.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/plugin_manage/base_plugin.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/plugin_manage/hook_constants.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/plugin_manage/hooks.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/plugin_manage/loader.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/settings.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/sitemap.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/spider_notify.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/tests.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/urls.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/utils.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/whoosh_cn_backend.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/wsgi.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/docs/README-en.md create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/docs/config-en.md create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/docs/config.md create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/docs/docker-en.md create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/docs/docker.md create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/docs/es.md create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/docs/imgs/alipay.jpg create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/docs/imgs/pycharm_logo.png create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/docs/imgs/wechat.jpg create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/docs/k8s-en.md create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/docs/k8s.md create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/locale/en/LC_MESSAGES/django.mo create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/locale/en/LC_MESSAGES/django.po create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/locale/zh_Hans/LC_MESSAGES/django.mo create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/locale/zh_Hans/LC_MESSAGES/django.po create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/locale/zh_Hant/LC_MESSAGES/django.mo create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/locale/zh_Hant/LC_MESSAGES/django.po create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/manage.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/oauth/__init__.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/oauth/admin.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/oauth/apps.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/oauth/forms.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/oauth/migrations/0001_initial.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/oauth/migrations/0002_alter_oauthconfig_options_alter_oauthuser_options_and_more.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/oauth/migrations/0003_alter_oauthuser_nickname.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/oauth/migrations/__init__.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/oauth/models.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/oauth/oauthmanager.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/oauth/templatetags/__init__.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/oauth/templatetags/oauth_tags.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/oauth/tests.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/oauth/urls.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/oauth/views.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/owntracks/__init__.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/owntracks/admin.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/owntracks/apps.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/owntracks/migrations/0001_initial.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/owntracks/migrations/0002_alter_owntracklog_options_and_more.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/owntracks/migrations/__init__.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/owntracks/models.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/owntracks/tests.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/owntracks/urls.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/owntracks/views.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/plugins/__init__.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/plugins/article_copyright/__init__.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/plugins/article_copyright/plugin.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/plugins/external_links/__init__.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/plugins/external_links/plugin.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/plugins/reading_time/__init__.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/plugins/reading_time/plugin.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/plugins/seo_optimizer/__init__.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/plugins/seo_optimizer/plugin.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/plugins/view_count/__init__.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/plugins/view_count/plugin.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/requirements.txt create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/servermanager/MemcacheStorage.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/servermanager/__init__.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/servermanager/admin.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/servermanager/api/__init__.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/servermanager/api/blogapi.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/servermanager/api/commonapi.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/servermanager/apps.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/servermanager/migrations/0001_initial.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/servermanager/migrations/0002_alter_emailsendlog_options_and_more.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/servermanager/migrations/__init__.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/servermanager/models.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/servermanager/robot.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/servermanager/tests.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/servermanager/urls.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/servermanager/views.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/main.py create mode 100644 software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/zjp.py diff --git a/.idea/ccy.iml b/.idea/ccy.iml new file mode 100644 index 0000000..07abf20 --- /dev/null +++ b/.idea/ccy.iml @@ -0,0 +1,12 @@ + + + + + + + + + + \ No newline at end of file diff --git a/FETCH_HEAD b/FETCH_HEAD new file mode 100644 index 0000000..e69de29 diff --git a/doc/new_doc_file.md b/doc/new_doc_file.md new file mode 100644 index 0000000..e69de29 diff --git a/software-engineering-methodology-djq-branch(1)/.idea/.gitignore b/software-engineering-methodology-djq-branch(1)/.idea/.gitignore new file mode 100644 index 0000000..10b731c --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/.idea/.gitignore @@ -0,0 +1,5 @@ +# 默认忽略的文件 +/shelf/ +/workspace.xml +# 基于编辑器的 HTTP 客户端请求 +/httpRequests/ diff --git a/software-engineering-methodology-djq-branch(1)/.idea/inspectionProfiles/profiles_settings.xml b/software-engineering-methodology-djq-branch(1)/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000..105ce2d --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/software-engineering-methodology-djq-branch(1)/.idea/misc.xml b/software-engineering-methodology-djq-branch(1)/.idea/misc.xml new file mode 100644 index 0000000..db8786c --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/.idea/misc.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/software-engineering-methodology-djq-branch(1)/.idea/modules.xml b/software-engineering-methodology-djq-branch(1)/.idea/modules.xml new file mode 100644 index 0000000..11045d5 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/software-engineering-methodology-djq-branch(1)/.idea/software-engineering-methodology-djq-branch(1).iml b/software-engineering-methodology-djq-branch(1)/.idea/software-engineering-methodology-djq-branch(1).iml new file mode 100644 index 0000000..07abf20 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/.idea/software-engineering-methodology-djq-branch(1).iml @@ -0,0 +1,12 @@ + + + + + + + + + + \ No newline at end of file diff --git a/software-engineering-methodology-djq-branch(1)/.idea/vcs.xml b/software-engineering-methodology-djq-branch(1)/.idea/vcs.xml new file mode 100644 index 0000000..6c0b863 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/.gitignore b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/.gitignore new file mode 100644 index 0000000..8206f0c --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/.gitignore @@ -0,0 +1,42 @@ + +# 系统和用户目录 +Application Data/ +Cookies/ +Local Settings/ +My Documents/ +NetHood/ +PrintHood/ +Recent/ +SendTo/ +Templates/ +「开始」菜单/ +AppData/ +Contacts/ +Desktop/ +Documents/ +Downloads/ +Favorites/ +Links/ +Music/ +NTUSER.* +OneDrive/ +Pictures/ +Saved Games/ +Searches/ +Videos/ +WPS Cloud Files/ +wechat_files/ + +# 临时文件和IDE配置 +.bash_history +.eclipse/ +.gitconfig +.idlerc/ +.matplotlib/ +.p2/ +.ssh/ +.vscode/ +eclipse-workspace/ +eclipse/ +ntuser.* + diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/.idea/.gitignore b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/.idea/.gitignore new file mode 100644 index 0000000..359bb53 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/.idea/.gitignore @@ -0,0 +1,3 @@ +# 默认忽略的文件 +/shelf/ +/workspace.xml diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/.idea/Django.iml b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/.idea/Django.iml new file mode 100644 index 0000000..8b8c395 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/.idea/Django.iml @@ -0,0 +1,12 @@ + + + + + + + + + + \ No newline at end of file diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/.idea/inspectionProfiles/profiles_settings.xml b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000..105ce2d --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/.idea/misc.xml b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/.idea/misc.xml new file mode 100644 index 0000000..23231ce --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/.idea/misc.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/.idea/modules.xml b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/.idea/modules.xml new file mode 100644 index 0000000..340639d --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/.idea/vcs.xml b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/26组软件界面说明书.docx b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/26组软件界面说明书.docx new file mode 100644 index 0000000000000000000000000000000000000000..81eabb3fb6728aa9d93204e28582abb09deb7a94 GIT binary patch literal 728606 zcmb?@bBrj@_UG8PZQHhO+qP}nwr$(S9nah`?%1Ba-?#ZC@4f8)vB_3aU6txjPW3q_ zsp|7N)vX{63<3r4PYIVh5csG4p91-}V`6Wt;AHRMOt0`4hVpj+;$N`%a2*s6KmdRw zAOHY_e}@@5IM8|6+Tz}G%GnwZNcqA*SeYWGN(7k% zz20=kX^Zzhw=oCf&hY)dw#8{uhgsz4o}9*`%_;AEe`mC&Y}w)LieF{7CtvHCBA#sNx{rNLuP-s1jko$^64re7Ad^j%aHX^gue? z9?~}2cB?-8dEoJp^}W{O`kq7oZ6lWlByHjF7%WBMpK}N^PzSPN_c)bzq;+_6!~TWigaVy2|Q3Art}wSgS4QZAa3ye7dNNi zLPts1SPTVdxr;i8cP&_rCB{Z2AyEVTfz1y!-`m(uzW7J+kF?x9uFS=Yo~0Ctnh&ci zSE9k6FM}4TM}+%^E%W#rac{cOm_B1N5dA$K{uKRFqo-23k^3?_w1+C%Hd9h4z17vA zdQS8wwDlFpvkUJP`oWUq63Fs|U*5gFpRoVwB}A9II{Cj|^7`u~#DDjavAvV&KW_3( zQj{KMKp5Wx?H8W(&Nj)-4rv2U<>f@kq38=eY6IOWA#vR4>$Uu~8cB3??DX?_?cYg_ z7G5UzY>>;;CBi~X0Z1F8;-y`b{>0QP8u_3jt%nUu$`vFWeeqs}K#M#!l*~%2Q9nQ$ zSb~de8|k*&4r5I2w&0Ks8VWZV+X(wY*rL7dbT`-@KpryV0Gua%&3PSY$&IuakYXg# zmfsc!K*_MO5bzAQ9CKh_3%=FCk3TXK+NAis9+n5zoo+)ZH>v3BV1?qQo9^n_g7~TY z+2-XFS6e3a;!g^o8j8}0gN)Vzo(TfLoyu*l_wW(^grtfrWUnMOtf@TZGz8&Ef2+yb za}!9O*0?GKX`Qq2s>inbOkCOdP|eUA3*_lubMjC#&|fd^JWKGkwnNfEytosym?KNS zlMAS-zdfY)aZIsn7UCd%`%$Eg+;Sk~mcB5ZZ+VUYSKB3d!qnHp3F--!E9MJHLkMs=b~%R4{}>iv(ysZB7abh@jcq6fL2}!u{Q?$IhYOuhENEeb3`Gpg3#zOD1SW|*)^;du1p59twu=%^IaG&e=BIkAv`8t73FOh!V_{p2%XAfaMi=z zw4DE#Hj~uYLiy@ZBt{=d*hx~FJdH)UC_DNuuO#;ta8CEkatXhAh28t^%;Me1J!Efj zjeF+al+VW4%3(k39%lJTmfJRED?)FY5|FsnM z<$&yt!2gJ*~Qbw)cGG5AM4J>ZI2=LflqKFI7`7*?`-H=mWGOlu_O@@ zQj6ZzT{4GXZWNB>LryMQxU$t?bb>%2kO#s$!Ue*|(FX={MDC3x9k)w7;cp1Lv2Tnf z7LtG)vf`-u@93)PtFvaa-t>IXMD~`G&==9<#*C#ui{VKI)5I)2Or9-nf^1>II1*xeT49eYlcc@WegxDu^XQyt z3Pb_9B#rbuMB;eey|Hq^ib0ln zO8LNO$*Wy*V%qEnf`bAkdC=cA^kc=GgpOYlMM;83Bk@&9K=9Gr_K-?CvqK3Bd2jD{ zKHDAUnR2@An>^cOb-W{i&P%v$0WsL5$}Q=Du;+)KNP34H_?9wia#Mp9_?4)t(mq3n z0>#sv@DADX6Y$K3H@Fa9)NqZhfHqPta}xUjK*@WveDaNL@c^()mao9MGQ2OVgSR`9 zx-W|ZYkzQYOIBx@tx%iu0k1BU5_Xh1xOvIsW!*G=Ry#^p%nsijvy1n40JvfLjMXlE zv3i}Zc&(DS6L+1XXeJ0xZ6N!1nlNdXZ2{$?Eud_q-4{D)SLzxH#E7R z!_Z`v=O&eFjN^PcJ7j_}uB8I!4^VBP$u5(?67<+!P8Q#&!g0jWGcrOX-%~~qe!ToJ zf@qXD$Vp51e`hy z&)Uii)!Gj0r$Aw=h{Zo7eI}e*vzUd<`plhClD8#Q&L}6ze(&gvG73)cI;itr8N|CP z#CB##ya=r$ak^wVhAs7?v?;u98-|gPAQB@dMF2ucj&O9=F&?5MML7P`4=wS_f$h4S zavE=Ad7+^)=B3Q$vBNTVDITBXkS~5%311bCU%`k+vTI<;qt7xj9`Zgr{r0@3N5|X2 zcf1&#rRlkylM#%!>`6r-`(>oZ85$>cF2(PGd>KYEWN}VhFvl6e)GvM09z0T*d>}%`fUWD@tTO^_0erPccZ-FL| zYGifK`tdqNQ8&?wlfAh1_*I27u9@^Y0&jS%gu8LOS0f2WXn|aA%!NGq&_-6M+a*}3 zTgTKt-;A70o$_I3;H8eCE%nT;N#|8mg=2P%_HJaP`-VOj1b?hy@useMi~BZ!;Q8`T zX5@j$)ORxc#AUf$Zm+l7&qy~QqlZ@_0SKZbzHp8h*sfKDu4aR(`H8JbA@&O+rN(73 z%6-ZV?T$$kKRJ5yOt`op9VSz<4}>SCx0xbR$YW(b4X!X{m=_pJLs-cSBe-eP&4;H5 zJ6MbHRXM3)iusutOidxl>8RCn28dlF)*tv+%-m%>?$oLs+la1Oe(WN&BE(7tJZS^JeWD^0DkuO+Nim3RKxr2CESz4AvtWJyOfSE7oLDx2#FHb7m!3 zm^E6GQ>t%GywHkBqo54Uzm@WDeKQO?n>_c+S#Wa;TmMoSBv}7)D5RZ0lKOHsQyv(C z4S+OyoB(0;G6}-qWfF|R%Ontsmq92NCyQ7-9Hfn(Ic>;0IFm*kKT|;*w@9;tOE7^v zHN1zmT`*!F-D2c?!FBiTK;)lk=Hx9*DGd|Gbu;MF4S*HtpfGD9R1{#OPaQruZ{0+d z#tIt9<|Cff@|7FomEq@#@18eZ)6xvY3%z;z^U(79!c!w+>CYLL68ok7=tMRPR z1?D^27C*XGZc>ErVt&{*lg}=fPGxcko@N{RK@y`DnS+&_>;C-Hz#lS5%0;+dtR3t( zN`aA$jkY%Tyzfxy_#kSFzx7jm{jA9mbj6=DaCO0Njlbo;l?lwqU*pT`>iT|@XsdpK zh6C|@d+loSutW8ODFQFf246=21~YgvqWS?WF~s(T{RpXT0Epuzs2nPb&KeIV+E`gk zwo*vJR?3p;N|6RV3O9N&+bSIBm3*yGuzSgkQo#-j4|*{>4jlN7_@ID*O|9}shT%n# z7K=?qgC-4A+(nGdt0G{thy%95|D38E4hv*sWtGg1Hd#riyW3Z@cQo9-i|0qrM&uo)h4i$#e zN3o)flohhO8YtOrGDoqaLkWMe|EA|Zk7gX0^N&hmyBY{Ep2m$f+X{|V|1GM)=Kq5z zW`YXcvNXct)-H`jevWvRA#2v;MWsGknRp68MJ6pLSrtrU_FZGwi3%LwX^d;n3*lpq z*5`DN!U;XHs`-d1?w8j=4vJKJDx65iYD}A#i!A^=fGZ;U<%2J`8PSc2*qZ@ zp^MC*E)_LOOMKKXWmJ+W=?Ue5W_&2AAEK;iiw`Kf&uP6V>6cKbq8=e;c?eBD0J02M z%kbn1j3oy7QKk3`Q??93@4ql+E(Zy@Cy(a$Rq0+`2KW|{h?5tOiN|&yhrOw_AP}e= zBZ9Cts!G!3^X#-_rn$_D;9I-kMDI2KMC$`8uAty!lxtMHZ zLUTsy-MYTC^}M<3N9k#SzwgUYw&jHOU;+KjOzP;fXWpouNn04KaFd})9*;Y0&X-=8 zHqnoJ)0k6w$1CEZK(bDg-|Q}+@z4b}Ft9pz8{d+A%RiiA7t*R4<5D_`JSDyEy2`+- zU19yK(UX26_bYopc_ULd+-(I*>tnU(+VKkdM>JkqX;#WW)`OARka<=#kMzOpcqVD1QnTXq+9Se{xialex?H3V>Rr zTeW(La~1?WQPZ&qf)Hv_&%V}`%HFI1ur$k|qjg@&aglNPCteanW<*AEUy2I>W2*00ZE zUZ5?AVQX#ca;tKwr<$_d$fH3!b0=U?$8bA#2A6tV!X_r6FLYVI0U zS2B}FA5Jk=zlq(C+K%u9$Y&E2JI2lN1H*gXAEB$wSn!CF0)J@XH?)>a?+_H+l~L*a zzb2>Ae|(;f)$9E~Vj057D4p5Q%wLG~f{nfnjGVRfpF((xIYFou>SYXzVgJ5u-O+Dy zIRGHz%#AkWv5UW6%+puA+;nSYO7wG&&61B#bz{d1pivTF*1v zu>G2Y==(Vg2bPf**&S-4frtINWu#fUS^N^9P@$%ji)e3O9^WPz9qW7rfoAkAn!smU zf9{3%5Q8c0IJcjXbhwaeL0z4whE2CUZq@(!I4;L;+=2eG zPZ)Fq*X~qVw&34g*$~^4a4>G3HN(EDeOSx)?PJ|Kvjor?4_C(|#&qG)$)=}njfl{G zKz3d_-uIMrZQl<+VncVbT)AkX&1^B=xUQ{sYXj}t%;!6h3(zEC+q z98dL~2Yvh{z#aen-CW=I@o2pEhOWGYINk#a)gbqlaNF^c(vIwzaleNDJ?T0n%J$~Z za?IpJU-tw4pUjThamw#aFaUu2zl7*NyxPB50cTSe7fUJbfo4#;S9taw$D-PEIc-JJ*?qHyLZpEORGiwtxjyI6Jj2iu}=qpF#`H z74`%x(~2)m=%AM=FxAb+ww{CW1-wNb+BUgv#4`y1^feZnuj_7YQZD8B$GLLl*~-hi zM^7dr&?^<~AWNB+j;hDi?k}ybUfM!lc@+9Rf!m)}wyv&PtYgOjFJ6dAqfL8zLEH(K zkzb>3*~QM!8aKOGu-*>uioweDI5Ra@ba2;YDPA`L887D`NiwjU`PqD{d8F4fdic}V z#k+P~TQe6N*(ldJe1IDKoklO&j=G6|oR-gU+D?j9CKe-g7uibvysUNaR)6KvB{SPY zwSGR%+|9meUh3!6U40nmx{nvKe4FchErlo=_$|ntB1BIPVbnOZ<*YuBUJ<Rkkg-9>w^*I?%{+FT~eQE@^+6#P8ht+gN5dQVLO6=?V(Pbt@NlH*+@wEG?qW zZ}7cL@z?g{8BWMh>51LNN6`SlcN&B3vF#{B?$>t9-mO-6y)c6m1pMMOc&DfFm<3RN zQT#&H`W`PIGZ6y@aM1j8cGp*CI}%buo7Dvrz1&^prfB_<(QMqq28V*$$>grsAKF+( zIBj(O)b5>LwvtKiWBN_D+xl<-?2?1&C)BfE>~jJ5)yN!5ksrE?(ZH{Oga{F(O!DL# zBLqB2lrrQa^+WS-H&A0L>`M5h!Ju6#aT zVXG6xAYhA}f`DeYM3840aDh1WkOXinIfxso#DpllqI~|Qm|?)9lps@NAQDEi;7@t36@~Wepip%t%F^#D~h!GRXmcwrYZ$Qk*e1 zg`AhAx@bZjCLOI=qzEyV@{Xs)4@nAC^iHxs-hstVlB!a`nr_l0q3E>)k6bgRFc&Q7 zwSph>PM8M_(-crtaRN!wXC*fDPbAlFp=ecuy6V-fM%5B5k(M=juRB4Qd-^=f*s5p zLlp5HGPVXsrT9p-!x3R9RZb9As>kpKJYIUu5M3h&VJ*>>;38|^` z_T0#yKZy%!T{O%Xn&v|W0<9O|=OdTkjmNoeFXo-gkm1)u6h9BmHQ#}Q9r?d03o%=B z4RUb6lQeOUeUj8y7$Vdj{JgjA%<8c8B=iz~>mIC$uR-hN4LfVO-ZrqoxV683G8kO^ zk%R=FYP<F6CkL~S zP+h%lH@?z6qLYBe^8HwvbZ>Yv0h9zX`}@l8rFgoJoJ0ypL^CM+8wL93;#WAnj$k&^ z5aaUzA7XaJxwukUwzahp#IS^p5vAPkjfgu8$=9jj)_`K-TkPf5C#A|ZG~%RJy&xk8 zZ(|lB;mh97tCzJs{^xeHU2c>zi4p~1;VJJa_BI(7HjH#sAsNwVryGRDGI(Ur%Zm6L z>AhkJ36F(G>Gyg4t*)jpHfLfg^>r*a-LLemW3WLF-TBF3K}O3`rP`G?=pQVBW2QRg zn-#9sp?t7{eFU{EM@C;YcP#EJt2kDH4e{_Bx87dGw%f3uSkk#I)hGLXR*DCG%^~-0 z+K8giwE`G@-63_Vrzf@1A!~)OdfNRzrB`mHc7IVtB$)Jt(yNur+c!h*1e@S_!-y>V(h9s*j7Rbbh zo@^{A(!y3^@-Uo|rprGhq795EdV77Z=U36@yLZ8-UIP+MVz_ndpuu%-j>zl`#ru6iNSrcivuBV zk};rfxcKhv8ZpqyijA1Zfxqq0z90~njkqB}r4q76_xp*7p?!U$D4c$~HQ)|%Y->40FRx)9nMi)R(8fPypT(t<>koBY}1Co={mP77#+7WOA7Kv zPMcB>q0MHakRpY03@$0puVWaGUtA*@jXnjya3b4~^mdPI365YU@nLGLvaoNGG9H;; z5J9}P896(QZyBz%Ua;}CBsNeZxF*~fTZP_XWl5lP>pUyU%m&;LV|GeBm-$#6a0v;O z3Cm=zK{g=JWn<&~vL^9`2N}tI2Ih*jB}q5Ayzh+1U{17UvlFF|(_P1tBtrgZ#1M`o zx**hO|RRMdCN5XviyOA&UUQ&}6PUwaYNoNL77vs6Tt9fum!fPbxa!#AN z_Rfq56L8|wt42F^&`rSTR?pWfhI-Gkt*q@}0-Ao%k;F{eAYsEHJ#7>~CH3hDFW`_o zPR)gi4i6qQIq^%cB0(3ZnSjEHE_Nn%sf^ZXrU?u zp<{c3&M@yN=%~}l*V0k9Dw}K)8Kz{*3W>K9@T|u~3h_ZyB8wgJ}!}_C{ zN_HmLk`&SW)^cHDjffoCE+(;iw|W!BvM6E|ai*>hCeYDvf=x(`7K2N&Bgc#v^Pre* z!6v3!+E7<`m7&g&Z++VsoJx`<*y*LULGF|f_udt@T7H5f7*j1Eaod2yg19VnU3{Da>-pyR3w|%DO{kHp^fQ4Bg11oy@K=D+F`3ba|WULN8@!T;>XW8d4-J zFcAI9*>z2c6(nfOmnkaCsF!9~y75-A!)*r56S!%a6;k-#nzOW4%aJk)J6F z>gzr^_8n#dkA6(}s(=tnvL)2G)X>Mu8pB9CvE&av*2q)b^MS7}WA=lD|5!q`X7HFt z0kpKD)vbgxDp_$T{)NSaB`J17^2d} zl55B_{9LW>eS76JhRDS{#6FoJ4f#GI5ccnAQNH7KCDx{!*2_c%mOmxK?V%L%X&-ijUgF( zLicbltLkVHDjhgbq{%K3jAX6n034?S{?Tt7J71I^%K|zN1GO%<#%XfMf&TZ~V;mf^ zDq0*#y(&sKGI2jL6Suddbbsktqzy^3Jhe*?5`9?R=r9_7U-K;0htdNA#$xOC2XA8+ zZG<6%ZQ@flog6XFXx%;sOQR?1L4lbJ>o29q$Rj9}dOwHEm{M!vv9x*6E#W|p#8oUi z@bIk89$o@Zm0h$bpND1Du3DC&pBCTcTl$BlWfrz?YTg7YND=lev_+DQ#Fw;2< z;Fy!AyA|1-tS<_=eWh{ms3&-q)*qXjLK_wl{qa%#)su_s7VR6e2l}}wO#&?;TEMwi zk`E+55ZsVTdx&5vtmi|ML+;zHoOu#iCYfbovpYzc?f#c?>9azvMMRjN9V<%ZZtj}) zH<=HcWnTWptuRhMc+Pacm^0i+d8w{ta_?uV=ktzU*j5+K`^&pVuY1n)sBFy7oG&ul z`s-w151jY?w0yk^V0s43NqKcMvK8=TmUz!8uYNO>u!$G@bToPU=Swr z`J4+F&W5`X11`m&y|T*oao74}i2BO;*t9cgESvGv)C0Eh_UG(4K3Q_fKFsKNQufNA zmx|?fg>7Y%*USw&QBM?Yy@vs_9Wp{j|%9N|(ZN zVu^L>?VWwYeKPC))ddH>YjB&(Io0dulEi4#LjRiBFi>FppiqRuk5|Qc!>BQ(b_?7! zOcF3}7op21zbGeV1Kr3&tA^LeSdeFX@+L-O{k4$-+IK3L-H4r($^CmBcd4sL1Q2D8fV`-bO1cxP5G74EX6>&hUQqrZU?ncw!(+6RDYcbMQ;(C!wv4 z?s@E?6LE2m9PL9ehKZeO>Cbk$26j-L;Gq=Tu&q-$(HB`ido`a&V45IXGWl57=sV7y zK>W5B1yeFh#Z|c0JRSsEul;=|Ht%WuB%F3mbpL<_I*L1t# z>t^=2g=`EQWwQNQ*kHMlgBT56bSt}*nF`DcbLEr)RBuAv8+dQryb?tKl_d-*JjULJaJ*= z%()*afp2Ia30!n@y~<8UXtoWS{GxjG8r$ec7zR*TR}-o~$GP!*0FhVai^xcY=poyinb zw@)QbygT8A#my1Ja4qQq9z>v|zfsC!x)PB$bZNgX<9Av-oRS?bD9iy<9dy~#(d;XW zeWw)qG4fI@L~BI1N!tRX%LUh6QYGAGfre7w~p;6x$jPsGdT zBih|^4!8|A`gNJ8o3=XU0uY(8q-XLkJ=JvyIU5Ogbmb z*aTTk8fI4TWg^?BJ@AssxBaB%)4z1KA#dpfay?69Xd20*ZC>B}^6XpW=Ab{%=OdoD z8$JnZrvAjV<%Cr$ztq(621Jot;>k-hfj`ei&n>Hlx^!n@A%;D#<+gx2v_WX5LOQgO zER`*P^C6fs%ax#~Myd)qFgDl0)CAK*y@Wq_6VK>63=r2TjAC`yKFRg(U2vVV@`>Lf zi#Rlb^P{nOQvzU0GjTVzeBlMTVjdXauphEEM__oDnSD?;C2o#}H88AJn>vG8Q7eBq z6avn63W6mG`Im+4xJ^GfR8RxT85cTm)vK$F~F{0(How^}K>5Id4N?fp>(}DNi$)KUq$gAk2}P zvUHKUjUyfghQp0ftKeyciB1m*+2Y+*0nCg3z|DiRNnBij*e(CcJ8>^>Q5Pj8>g8Qo zS;=@l;}nl%7_$PYt{mLI^SF@LYM4XI>_fP9!2y-mvp7Buxc7ptW4X7);Zbm|HXs*T z4BDm+25$H?vJi5A@4HqT_a2=~ruwyISzqtWlIt@xz?qOokT7%t^iC)stC4lZZcK^k z*2!oZM|3eY4QddMfeYwg!DLZTygCuZ#v^r^6#mEEUN{Dp8I7qMqhhM9p({;E&lNZa z3c7w0OkBlCIE*SD1dfA3pllPqP$0S#*s}-8ewk}|s)6NqdH@_n`VJ}9{%t5K2g@Le z0z1+sEF3uN0`@00eAddufWtIe)O5Kk>{=echMV(rF*yrg`;`lhrlBovMATxaQ4&% zah7+NuaT;z2Ml8!Ty(CUb#eKAHB4SkZ5M&?FHe+cSp4?3hN7#RWc#IvO`?QC8v+V8 zmF+LZvhc15+!-TO3LAGWE9^fthrhZ0sTu{ZZi$UCq>7*-!q zNKfJTRF;s99EH7GN8U6aJ7)ZVfRvV!Wg>%eW!s`&1eQz$wpDKv6DVZ3o6(WXYalCqX}%{+kt ztTBFZ!k8*0_F}IDS>{=S9X$hhA*(oUNBrhtt*W7m>=nnLr2Qz2Va-FglNk5VGf(qj z34r62g|jqo0!+r1wy}?z;o=p~)a9ODFHW&z{FRT*a$T$B%3qPJ5jh$*S#CDsPcy9B4b1gP`l6pS0FB#SmGVa(5Iv~Cm-OiZodR>Cm zn8+@!AkMz-(nC|4eRXFGLsRoi(oAFqh%wVo(rC7Fn+u^h6o?vX(F7O;c^cYH@_Erf za`u)~9FrJyx3Q5!@IGjvqv>xpCGplv4q{H%U>=1IN9JTMqC|axc>vSf5}c@+61e_L zHG|6_Nk|aAy#ZJYaE)PF0K&kEDHSw{3fkna*{egmbCe09V{y+^W+XZ2ui;JP5(64a z?&8(`=-#>Im805+thdK#4!7G~muF;N`=>XhP5DfjrV!UiDdJM^7AOek*RNLDwlL%u z0$)N2mDK8UXiVtZZ+rKXjfcuQT7YMo8CWf}K2eOQ35~qajiP)I0G!PGOvsI}@&|2B zjAR@iqVBgvU`7sj4A49xDKO$#8G5#;BS)ZXnE4^~!rq;gXFZFr>;@Re+yQTQAkM~v zZzyhZh)1vIl2n^(?O=(i z_3doU^>B}W#>kBJSQpCs|KzOr{rEK+EAX zc4M5dCj)xko#-P3JSz|9QUtl3T#=%Vpa7igx`~L< zyTM^5wr-$jQ_!jhYW$VaW_Wi4kq1HOps=s4BfPXIBpxVT_y7dp3A$x|;Xt%8cqn$k z4Y044_4rRMlpz9TtuaJFnCnD<#p0NHV)9xpKDRBbohQAIHIK(fXhc@Cc~Lk(6*C#& z^;ykrhK}DWY{c4rf7nJD+|UNewsGujQW#16W`kfUt;Ou1H9I3R!HpE-6@XO&d%4ij zk*!uDxhK361ZuY;AAfHGvE>^m?b0XmcCeR$Gmz*U`VHqC{W;T`?NtIppIy0#hf#D( zoY)>KM5|D#kh`*tZ{h8&RvTk_0^1@A2VnuKU{d)yh`C0tKog&47xmHEd z1wt)HFPPY)gPW$I+p5>yTsULycOA`AW$;z&lc<9N+RgOrfz!;FI(&2IrAwaAs+BU; z%*n61+IMOrNn#qr>&nO`e477s&julTYcwTgJmC0>mh#Blm?*e_3ddPc+te9EBGU(< za8l!S)DO5|Nlb{(V&hm<-}nM#1^kR;391QLvalz=kFN37sV*TLR3A5>Yp;)|H*1$1 zNuQg(U2t}#s6V@GtCKBgraMHp)Z}~lQG=A-^91XP=dYP_WU-nnOkI%3cR6BYUxIXBaiuNM-r?qa!p*X~UXErzfh+ zxnM8ohPF@y0lrgP8~2xjv$V7`fyoP)E$y{{v$S>X8rHp+c1~fzuKlh4T7N9Kk?no~ ze;k#DOBwC&ZnG{YQmjwXLiKLi)J~eTxi61g)w*!3NVb+jBK->Pgbey`-RPP>sJEm^cM44F zV(kiFWB3hYEq!J9Cf%iF73m>7vY5ADn^-pm?&;HBWYDERP% zEo<$C7vZ3N0UQeet+~hhR#5B#ElGin#C=j9FLLBBjlSdN!C)55^8?{bC?}T- z9@8CHJKjhbhJ){`MQ3g~aM;{gGxlA$?qCdtVbw`Cg3MMLaD`wgWAPEiAmL999NrBS z92+Bi<)z0+e=;8rMze2)Tr7jyWA?_2Uu9BG;zOD(5QY%;rxn20-SVfFg=-twfHRn-$x zeyNXI<>X6-bJnN`=UnP_Ps8RLFQ$AY?EI-1wJjOGq~r0?h~$K$WOVcNSuf&IH}W_K z3EZ{RZb3!=!;+dogXYgARYO$me=aqndg{P=6>EyBJNM=7FaML*)KoBotD@_$yYai; z`mv*LjOB$Hl6WyK*&3eo38>5zPSb6aP=`nz@w(llf;i0mI|S)=HIZJn>$r-6RR>ls zebt^8`7OC()U_;GOf6NfBU0vkDzt4rWJsQwG_g&u@`AaxxsriJXa(iq@I?ye?wROQ z$Ac*lhh|D9F%nzrIdW-vTAd>~v_ATg1WsU|%V>T^cIub(@jeFBjAcFfgtvC&`R~%> zKM@7m-!J3-dW}cU@vEMmJx?1@Rw}`4Ts0va@76vA%SB?a)?r1LRc%Q?)a>6LpgRX{ zy!vpFpAZrB1@BVzh_5FeT-W=I=XK{hmR~6YUhsLx`7lO|fHx=8Bt>Vdi<+gcc-b#x zb?HAnlF}UOrL-@DkaX`a1CW~&+KHI~2pJn` zPUI$Ygynh)O^GsT0M!arhBr(Pz>S1a0`|yiOO)34vQKpegl-S2b!AH z;g~TXaHZq|!wVqljST?E=C2}Xuqox+g}VrNk0zfuE% zjZzEs7@-UbG1M|I7k@QE;xq zMZlgNz%WQ4=MjhG&W*H{ulW%Wug zkOX-4+17eog4VpH$oHWs2dl@0IuteMZx2Zdbm&%@w%~)<`qX0aJ3Ms*i9a57f3VSa z{GF4D4H+Rm7V$tc?{Eu34(|9Ec3)LO8Y1E^15HVigPA`J&A2ps1#w^m#*vKCqQpkb zg0%|~)SdP`azHC(H&fUoDx+5fm?jWtQ2D`^4cc# zqJ8f8k!>aIZDii?L&X4F^dhd(IQLsDySA;52EwUNBj2`>&vtk)q8wM|T$BIa7kpo$ zp|_dz(N0f(Xw8<|iyIz}+)QC!rrxIfG%&(Mgi#m7h6x!>A)ze_^#KOT zaQB;(gr0yN?OI84Fdq*S*UhZ!qr$xe+6qOiJesdiy~MVtDi1(4pQ2NBq4}wjV7Haj z)L>$8gZ9oFA26jrd4neVR=I~cOp8xqrWnoS0PC5__uM@|9f_#UmEQ2ChQ77EQ#z=j zJP>&F-Aca$*m0)DdOlc4*H=_1t^P%e&JW;DaHug+4WZG^jJ&uxCnxazpx>y&5 zLBakydyJ4=2#HL_RM9r()aU(S06taKGtcx5b&(u;T8j9NNzLT*#>eRB`ee#>CS?;| zuM>#9KibFq3L=+Fkg{#)wc!dO*AX{lJC!rE2R-fHP&s&q48=rAaPAVyseYhU7qr-B z5f4P0r64yht47J%PQnA6YQ}N3$15I2K;QlxFjF=qQyDDmeFFnTblhy3 zL&+mo8l5` z=AJFZ{0NWqNnIHNnut|7=C%bl&wQo>^DWd_GvYl%`XK%722jZQ@<3M6s{cn zW1bZJQStG)hvM%f%%6Xj`iEkk6n%H9H^o%VFX{RCCQn{j4l|d7zRG6R646WQAzn`n z3~1xEI;DGM^jz0_t)2TG8oq8s;N;A#zV%jru!9a_%-H>|o~IH#ki&Uls>KZR@kQ+VU9_aKSEGG>GiBwvPx0neQ4auK!=|A}YnWwcc-*ihD(9%Mrn(GXjb8 zVU}Nbc6*x-GS6j2qs$~UibWhURb*A>n(DEkGherOgp0;{Cba~WOCj10UB7?(RjJKL z8Ww|WAffFsOU2?Qhwg8%&WpNU7KB(_W2GaNGNH1}AjDiRlj}Pl-Q&M3hG<3Wkf!0b zUW7MBDEJ5~@W!t++q~1x0sEV4*_> z@0>Ua?Fc@fN>p30^n}PP%xR&pbe+jpcBhC{(veT%T2HzN$+zLDtD`#-P1%18rv~QT z5k-6p^diJ~F(`Rk2)FMS-~OJXaa2#ryelCf0&Ab>fak14#E^{m(72R?hOTwM{PRLz ztc81Q@yxlY#V4kAHsek)ed>FfTV}Qg+F`Nd?_Fb=Qhe3aDi?|B#^KcaQn|)P>XZXa zKCApW@%!v71W9n}NscPG9mnZmR2Avlwk4o5xcwKV%=VrdiMjrtE+J2QBHHTxn&BQH z{`#B$Mb}$E#nm+JqJz78g1bY41a}Q?!6gvfU53GeYjB6)?ruW}8Z@{|ATapgE_dGd zzxO-;f9^SJ&0c%Ws$N}Pv-fmYS3ULg-r$o{RO1%A!RZp!iUwHFMrb+opx?GvG()i9 z-opob%UHmyKGf{&@cV1QiSRc;#0Xd0wZBG~A{nW-v`z~t+`;!QUsg*qt80cru~%`; zr1J~M+Gyh*dw+eIvfcUVwWm}MT}(a<^{3$`?dKsZ^D*i5tkx7W|Is-7LkRPBF!2A5 zC;O)e+v49!c|Avm{|!zCkFxop4ko98mDm4MTK~V=*?L$y{tG6nNsvVU$&D*phwm0t z+PPoYoEqX(qwccHs8Z%goyqcx`T7P~Lv8Egk_viR)xVePBN3TapVq~mPTM%7AuLtS zkR-x8uYTi!gIu`Z7yOwN7|^M`xuUeX8kat6BS_Y1+lVaWK}@q+n7oaZ*P`ZPUeX>= zhR!m>JLFcr`?EXkqij>q;=3XuZchTFI>AA1HousJFQ=5>=EbHk_?G(gv%Z?7L*#Er zbhIiq|Lh_C&;ORw>M5uXX4f(7BK`l__b(yGzeXCXj@iNZ8@f>*aLl36Pn9kqyWeFH z-8j(xvi|inuP@%x`KWZzt6S2R7oPcX?Eg%UoT(7Q>9xh`iKA%SDjN7b7+a z>uaus1X8|2{gLUXb&1tJMkN+bpO5?c#HF!JMO$Oq7cNVrze@P|oWGRZgR5`5E5=%V z9X(y=9^UG0V0VNQu4(x>gi(9TJKIuFkv0kr4X&mfxDmLLGet0VmJNTC(IM1qx6ZrO z6_3|EJjtD;TtC2(U*AqZIkilw#%V z@$!c6tm$&5IaO@D_IyxJmYR6Yli9mB%ij48?7XA1EnO52q5qax=B6P3eu{sYel;{^ zL*Xn#0nOSf>en#03dGhZkO8l#VJqpj$x$HI!s~CjcKw>{11#nlGZ;7gH3ef$1<)0B zwED=iRjo)jh#4}Rf@dqrKyXB6Eig|YC$O8;&J7`CQhDopwj#-=EicwBdbhV4KT3$x z@QprOO@?u8IF`}cS9`zP?SMy1rN zmoijTk;(Qbu0Ox&Kq9J*I;2-ta3@HZCZuw#o$v_UJ{*{0>~2+kXXN|kqw2)88jIP6 z56m*~zHQ+H+iSX9GdV!XNb+ncDWj6QMw+=#sHK>L7BnHVGakk#-kLRm_+(bYXFj)6A91v%q;; zc+S$%tUT<5*+#zRh`Zfeoy1X$I0cm{!XHRyLwTGq z_24ww(Z%+5`B&X`Ku`=kbvQ~dynF3Ytp+omWo?5A2T@oY?OKyuv#V5BNE$coOl!q8 zT)Rdke%Ot^F~j%nx(YB9A!i^Tuv?;8YcpJ&uJfY(8u=8{~2pPkv>y!Jq zC4eY^`7XAI_(SGkkIpXZJ4Uyb;VXla@`YN6b$(GpR8%_=aGVZ?&lK|QMn>Bu->WhB zF|m45X>4V!!?_hM9PsV&h#a+fLEMRvq*n~okzHEo2YOm3Z~U*6>3NdT_?tt|iBiSO#Xzd2TCLO9e*s+oXU>fOfPx(@zu12M-)8Z{W#A(E z6FlJf5&nOHg8!?bt>b5F%XgeEPSyZG&}(3nx~e=D`kQ}rU@0odXaWF;mjD3#1uD${ z0C2}6TfuHB#r#Tk@pav+)NNW4!9OqgakuUbtzs|ODjd8N~M4Qlu ze#1TdMF(2kO=5#s-} zjU~>4FTo^5M>Qv(K5`U#cuOOJ>MJtxM+Q|*+QT{oNN4f?>g3MQkObVtiC6c4Xi%vY zrPvwile$Ka-Xg_2y!)?Fag&aho7sGacGkC&gizCOcWIqu1OA7UIwL z>%U1bk=?Do(i#3Y6W5mi`ykD@z4?9SsbI|(LvUwWTF6&=kM5?wI@U}8aLLG;eC`iZ z?H5px!q!0jp}0~)#$yG~U8>}QODikN02!GoRmMNqVA@?iRWS{Jsf#&AhPxqJ7Ql~+etCm}zk2j}&cg1?{ z;HmauQEd~KBruA;KCd_kU&}du_bXR1#K2jUeCi$-2!{Ab?t5#86f-=^mFip=0+|LB+dIMs9q>RnOgg|?i*6-bMtxyxEpI8Y zu;a*8_`737H0hf#ZZGttAwRcX@aTC8v?9%uGX&;!4^T#<#+cRm0Hz{+3@h%7Prq! zhAKSPFO7m2y8A0xF`T(9?R5TK%5YiJus7m%($H}8agj|;{PrgTj%euu;y1)#fIvJ4 z8_UC3e!%rCl}HKn`0gf9L>wEB{tP}uOoL!sAg{1I>RELN+I9a!|^Xo*O*KnxTjzxRFBtTP1Ua!VhH%a9D_HM@TrCRt> zH-US9zWqK^^CDMP$)DuLlnkP#PM$tn9)^O?M@=hP>z*H*>V}ApY2tU8!w=>O5GiRw ziWzQ=)M)bl4B=2*z#oox347UORdv+V zc_@fMxJFfQ*#vu5_+CtvPC>C>s8N3c!=YJVM%A**syeWc=ON*+D{Jau7>NlrYGHHp z)x?L*9Pz-HBnBlpoy&buww-59f0Mri0lNwKWwYmHug`&h{%CAIPpUb;OhW~5rMiC< z<@qE7LP`&&a|8~VdhZ;e7!m6X=}HkR%}qCMZ_A<+Fl)Q61}BZX(7EzXpQ~*72N}w^ z5z~8LH+398HPzNucDJ|cSUax*h4ZX=T5`l&t7>a{nra^I@}ALR zP7~vv3q3lG%o8KYuN^0U&z~=&)Oj7O_HcRDsE|xiE+Qgwn06`Fs)Kr*feuEE%C)2{ zWW!+y!Ww2FAEo$>MGft#r4gQovM#52wv=22jNWH{xe_-swx4ZHF!_*;xsg5**Ftis z79K9oW!$1ck594DE6Tzr&7Ow2k=T^|HtSGDuIE?zhfIg&BEGhIPId{mgMm{{Nh17x z9KgclD4TAyVb2&beL4B7IcH7vlYnNU^#ExDb1WqA|7HLu%_irSv#f2#7aB0)@X~NVr!20>CA#*wB>4%`eg( zR$Tr9{$sLvyAi-=zn4><(FXzP{U%6BskQ&jpH-bySP@l6ej)OP zkZ;1+T*0hovl}@}n!*F8O&=_1Z0PN<{w61v?(}B&ZS)PqxMe^V2~PsxA_vNzw{sUd z;Y^=B@$wa+OuKdw8M}-mSNb8|0L~A%Q?-=6uWaeRZ!EfWWM9eGwTh1c%YxzS1kNU} z)1zibUITJ7vf?mvx9ahJ%|k6ieh)}~N%>J%`HZHSs#xp2nl|Ia4 z;3OK`pVpo&?|7Mxi_b5tv^(rR#8wMhU&b#v zE|g~o zRyVWs&jolFPK*lm;zh!rcIk2?m~JG#f-`i!_|Oy3s++dof(_DPyN_$Xt5z-K!rk`IrOr4T>F$TwZ{L#P z?aq84o?Ffb-DrT8$5!hq3VDbJSiaAHLA$)ALv4^@eOqr~eT@{s%cwakz9LWUaxC+R zRXn^nqZWE}oom^Yl@NHc+9qB*niK=)PKB0uDJLD1j0#68|Mq7wPct<2xI?KEgahN? z`)%XTW$Wip(NZ)uf4R8uBTKF~oY`{9n+;p>xY3a@iKZ!IY0 zNolLQyf+&mo{}!df-ccs`h4^teuK6gP21aFKl`QVH8W*sb;_mZSQ)kjzcV&M+hC*F zfsMxJ;qj7$ou%FXPh7g`)8*zSCMKr2C}mxiRK?RZ)ReW|BjCvNm75K?VYVrq-(&y% zYwF0t+D3=NC5~3%!{g!M>d7|U>0SVM*bC;B#!RLzL^9w<$;gGQ(vAG=m!`+h)T7n0 zWBj%F{4mBPc0Ya#;X1x~?(OX%D?iz(`Y(fFKSe_N3%C7^glQh$?# z>Zy29oML8i$?J59vV_+Eppt>^LG`<>TKIHSQN&g5Ng!~SBK&i}ZB>48iCW-YL)p3$ zNq=NF%`=P*F7Nq8%@h`|P=!#MHac7f5oSfl|JC6|xf`>q)fs>|81M!9IR`i1j5bsb z-C)ZvE#IMk%y`BvZ zO`1b&3!n~Fr4*i9UVhO`aJKUsN*m5QI08=1=uClL%M4#{hH3m0_H=l${s6lxH6W{t zI{5-1Uu9~IjIK>T0?=at7DMkV@H_LL!2F14Hb4;VPSkLqh(B~V%N^*oYpnCgf|!To zdR7^c7mbmY;6V>**;b;#pu*@>l{1Cst6ndSV_q3l|qgXKu z-y+skgHC<~Zx%B}Iqlt1`w3ct$pFhg=g>Y}MHOA{O_7LTcMUq-E-4Rjh7=MN(?PFn znb-gT^_l7%OUbN&61-4EY5AfEbq#t&fHbX>x#c?LRbRTg#^Q6*E&$-hC8Z7+Re*~^ z#Lf#TvhLdrpRflVn`HNTTRUa0sKEsZL`N!_bbCx2{n9&nK?xyG!>;P5(=9L7T;4YX z$tmjVFCWa7p>!`VEiG+qs4G^d~tatL!(OC>Q{W9)cDMX%M3CpBRZ_!^IxcIpb z0n4JMrlw|2?6uf0+O-$}wgfo2xS%U7_69Zl?CcKYCK=gZC#;%;k8f*@ARtAp6lKOu zZyRW0asb_%H$_2YIv+@ARS67U{vdSQm!OulJ4pekH3 zZs;~&`pypzF__@)=tQ)b+5XqHz69=+JG}V5ri{oiesMWeI&?=Msgwzr_0M)l7lQaW z*=`JC8&wh(UZGlh5|B*VwHypfpUM~UYHulFaXh@TWP{40b{KKCFq*B0Pe8%fZu+*< zv6;`v9f^cI7P|yA1%32qy5IoF&wC6OysGZ`Sp42^gZ8b>#>;{2<#hDCjn+827B!#y zDpmT>(Ey=ph7UiQOEz$-Rb-JIxjEb)zKf{-O=v6Zu5OZUJ1|tkrT4ArgC$-+roctttD~2K*=_z^!?&nojhJ+mwVgLRU~q!}<8`{}TE_{UDR}Jhp*G_~Zs%#&Ok17l zP1f!@SjoB8*));}N7AMJ?AFw$-vAI)YIg-8k=TmZd`ItiuZ2^)r4L!|aSjAs?R!&o zY(lI;ez?JNUtQ-dp}LC5&tNV;8f^K7&__jKdp`VhHTtvLMDsbZ@TKJY$bS3pdS-w+ ztB(FM2IpSBL66gA5JFYLaj zEF%-Dw^k=_Vq|2btxX6h*RDjuAkGo;w7c93hO{NXD_yZ*RY@h~1<)Qm(5yLyl%h0q z(1hZKY>2&~SFF`**xu^d(f! z=9G%DQ~mS4GH87J<36pSt@?_#>~1F4Gr>+0t+X1|)4(=4sR`pmPvG+&6Ip}Iw^F%9 zsHk71?PL~5c%wAX%ac?8JZR+YpG4X(HPsCoQGKJ4q4a>1yrwq*5z2H0ib`4L*AZ*M zLsKOL<}@P2VDBz{0BZC^Mt-u%)>6TUK?*5t+k61;*6+CM`D?yK^(owxj+jq&@J_r& zc9nHmX_-w96A03d60;r-Mjt_rVRa+Kp8UjA!hYj%3Z6cZU$4c!-6bUpV~!rgG$y@` z!G@T0%E7CRz^89?v5cry*7bhV{Y^?MkHw*a{i)MzJuQ?wb!@@Jg>!0>=VOb(5fe#; z1+6qZ05M^VhT4s=M{Zco!g#(q2e`*YsVCE3JI+1b5EXZ=qg6IVd6vj1##Vbho3IHK z=2o!h5}PsjNIftnXzx_uzAQaeDu;{!pqVLF$rdylCjPmdqZg+!t0x{{3Mi=AyEsqw zCC3e(#&g;Lp7?T7Yz&2SWh7H-0Y5_zwuR8on*)~``Hm3&CbdSdxf7M*u6)|8bpN`! z{Rk!^D0VUM)a5kZVy>7mJ>g0p;hi>U!3VgKD`^nSt-}}|#&dwgv0K@5db)gk?lPv( zdX%Z%{?)ZV7<)I@I$<1!O=1$$!)+=MxpgpSRqcN1ok^#Q7i_!vVy9vuz23pYq%~7| zvT<+w&`h>0cqvLb1@zgatLYf~&NTn4s zkER?nW!6TC<~WT7cr2{ip!#)ClKfKZ@r?By;M2%I9prSFY#zcTngp6Md_H$Y4Ntnx zy0XoLsqqoXbA+j_9$q}~n4ABE75kU$pz(StYN_@iDX9Rv zPkqMq0X=7U2QP~0;$_^`$XEZIEAX*!Y*)m?OwGl{2Ly^+cJM!5-Aq*|PF<`8-(2M9 zVn23X<1jFmrKX#Z<-o7+Z2!?K8Qs(s{i?uhn8Vk*U;l zqSuQLT%AUf{U|qx5#fAui+bZj!{BF%I_MGC>+e0)(KIDo&$i?*+S^?IzgVpGmXinT~<3n5a#g7B<9)RH=h_hMjH9uBCcR z`Xyo5vL%BObQp0_5aGd4s{DBMbrHE2%G;chV)QPfYjkW(1ipr_Yt(*~$gN^{&W3>x zKOD|=Yg9!|C+9&M@&V}7?XmbGEul%RIlxpJqflFWXS6woE5&H6W8Cyk%(8P}HNh93 zF|oWn4CRxQ6z?2=f2Pv!C1e0~vV@1gu^_S*tt775^ZN{8ivejZJIA%?xP+db>y}FW zrrE-jYle;vNDMAoz@OPq>?VvP!D9u&ATzb5WrlAaH!~^+8j_60t|kGN%H;;uyqXg7 zj8pM3XbiAqOZ*NXiqYQ&wp-!PR2F~wgOfT+^H~4o%a`tlN~k_qlyhehc$31HDf3=2 zV;tc-JivXpg$vBORBsuxw)}K|Bg%*~1#Bl%IyDxcOGLE(lNl4-pcpdDse4zU{i3W! z(QU+O+G02Vr#}LRLWq!*6y^c8J1jT03vBkRF?|gWH!xH)RY(}d0&tcURUbbX3(?cF zbDK4T_MD00RIrF+enI44UJggj%A-V$Tn|!5BFnGsKllaWAO_7_fez+LAXZZr%ZWgb z_*RqAS~lm??Jp(6*aoFmR^v3dZ~zE)F9px5xD?EXJp_a)C?D8OK`2Gd@gg`48dQ&% zu=1MVcA+oFC%Re?_VEmUVFeD1=tlyYc+Z=0b%RO?l;X#s!-JopW<&nT02n6PvqNlR;q)$hmOKa6u#}oV~AjEGkAK zSCg4aC2!NlF9cNP2T6WX`Fp9{Y|pGsspXF6Ui=n?U_0%!xVyP&2JxA2u>KzDhx@Tp zuSY?dDzr63fx>F2{3r1%3OPJr-yqwgMg{d-zZJ!AV=}?PRmC)PG3rBV!-nyZtwsu4CAKHd68ynf!C*DY&umCRnJwd z)G$by$kRH|eIPv{z-{mNzPzRBBH=hqhGSGYZaX);^U%(K3=WVpc8Z5u;SplZ+G?Qu z8Sfq4-3kYPc0#=sv#Gmo)mU8}m-j=JHzy$w6qg!yuSNNC+9Q}WCNF;Tkau+LNp@6O z$vCy>z|TNmdM09O^6BZyooioM7%bKfVG@6ho3<&hWZ!%_cntJE*GaQf%e{MpyB!YJ zSi$0haHf@Q+&*n7{P=w0V1LT7;-=c#wQswan#)#At*A+lA2VS7)6(lA=@8w3KFwz{ zk%f-{yp%QQ5Ur+sdj4DhZrV9Q00yj_03BDEpsxp9b&c%6!#iewE+dN3w)rw=!{v@b z^dx$+L_KDoHKw-s+r+yes3p~oWrX18hq=Z4AC>RO&BmuefYJ27=`Mz{AA zPt^3NF!lZQQ}Piyn=5PC=U~X~VaHGVMbNqx3KQiPn>nN3o_{E62r4$VqrGj~uP=4r z>vQM8`<=2p5Dg#5Kvx$cZt?)KJ8ZtjaawM(j?iZ1xyCGp#%#3`=ZV+a&$kIrAGYA! zvx)&dCa`+MrLy}Ze!&57A*_Od?fpM_FzN6WNgI~FK(g%XmUhh(71;3=2Q7uyu1_1U?L8g)KYkHZuqdMAkfdhSd{S5^HdeB48l6&;p~>4p3@#gqdZNG( zner2PpP9fp>(o}&SvbDqg{E+JFLDv1Y+P~WeY(=KpI6eMQg>9Xpt72EWt=0lV*0tF zK^QLRGbzq+REb+SWdT&c-kzmr0hb~jGi1!knkBlFIl6Ek?Kn3EaIE?*l7=-l68)?G zfz2?DfG#S4n+^+p{+l-%fLh4E*^*q2_{|%I10mu5sE2+gjC4nT0d-EHp2xVgv4SdV zCL@8f4jsXrmt8I6+`(0`N9w=w;wWu31=SKnH|mp54wHplnqC?N?W__sXqcG1`dto) zNn?!dAKp)0I<*-VoM|}zaqAcz9W~-4ks2{S*NKa6cYpNKCPSbEJ&EBtuf4oYWVT-QThW4G*fCHu7s$y`LxX_dhc;aLf5LWEhLAYB{D5OD_SKbB;F*lWOodn8_9P z{`Bb+r%^k%nAnSzDwXH)UEk@6^l9AJ*ALaz%3+Z=IHs$O&L8-1700P*|Kw+8mnqcTkn)>yw!>)O_CfPSsw1Gv768B*k&186>^6RhoFJut?6K7Sy6TWtHJI+3hXiOF^SqZb zf!>W5&&BpVqK7*CX&fxOh4S&s821X())w`*`BHCGhhOd1neJTY{ksk;r%+8=AHYF(oEmX=64 zg}WtgpLcTop+j!{(Ma7aBqf-8c!Z?Lu6wBNd7D|W57%-Ef z`CiuDQ+?M|HHE^-@`ktU+a7OvGOU|!?n>`2YS_F`isSzpZrJX7v>R71i@ezc1g`(R zpCQBo@TxSiuddCRH5uHTEcZ252Zhete~27Rx(g+2(0kgwNwCc#Gk4M{I9cg+IN^O<1jak-)}K_bv6~?5| zznFA|WZ|W}<<_)lL zu5~)`KRQAG>U4QX2>|O>WwSfZBY+aGKfatBL@~2h4yRk$$PG+8t*|Ej`pZja-U<4Q z@6WO?*sBtE?bYSDxxuBkKu7&~q6a5(a65G1OM~9UZoHaJ)^xn(>Ds%;70@02z(8Gz zyapkFCQU(T#dAJ&*Vs6>_wib7?j@@%A6QUR;@gj4NK0GfzQ^fzLiL)SCDzU+0QfcX z{IxlB#K0se@Kkdg6w?*xN@?#p&5%9z+2bM@-O^c_$G*S=YY^gwrKyr4MO1C2msMyR zUO+aaOrY6dM2mNAG(#xMBf@nju#Y9-2O6A-ziD;aG=0{tS%77MF={weZpF`PB1iTG zFHe2{)qA>=hBWXStjoEa^VPp5rPdYIbkFL}OL|&j`iI}pJ1jTD^WeodsvYE~KkmqG z>rANM&*wbZ0JHz(QG;tYN&?t9@0Nh+?@7S81jO(gjNJRwsCEXE+Y&AG5-Hp1-qVL( z_6T&}O4ff*|8!LyxC{vjf(KAXqG9j!BnSJ7I5`K`To^=o4+Q|qt7@uiVYtnoTK3`2 zV}+&4xqXPCip;Exlfu8lAv}Na@sLmj;w_kw%|dwwnSWYMO?$L1WOW*eFx}b07vru#Q8a73PPi1OZzZP{<>12NU8v-NvNQ2IC^0UNrSc<+W6VDjgzt2V>G>Cf7 ztuW*#;*5MOY8{qLRg z^7%tpA}Aw+G|q~B^Exguk6%=PdG1ksxB+tEPK0i`cXhmhMaw9}o`bo!$KF1#Pl`|! z?U3sjHXolMtN4ZEAYIVfWa8d2b>c;z2eu@kRn`hDvPb7+Q?|IQ7sU=w52BQ+4q+En%uBjjMf*W@dwYXq0u{A%m%09QZC(oV84usRMQqjAo4VYR2F`s z2Jsa{yR{jmg%8j(l#bEIN>Sj?S~ptSYb6#qZpDSTt5tKtv{4CO5dr8K%6hLKlq?x! z$;V`6ReWv6lF5f#j|}pCd??mWy8K=WgXjC#!4UuZN?QCRZPl8>Q_thQi z5qAEYHZFWdp9iv}!Vu~H)m1~fB6GN{XKxcW&d!uX!J|Z`yxcA`*NuvzUKp%MxGm7* z;HN%yB+1KVx|pUJ{jb?Qz>n%oTj!_i-7KUSd|nt?H$z;k%C(D=_gD*m`ro{{?<>g0 z+Fx9D=3^9_(gtMhY%5HISUa3G_reQ<&hEfFs(4Zas{yc`zJh{YS1sRrp)~5q+f83k z5VS7f+xz~= zO*B6Rm#M@O(Fj_{d(Kxw+aPtYSYRI&8(&q+zIrol*j-1th^GO5)VcnFSQ*K6>pyzs z@d6Pr)I0Rc%#cI%^lXuzQb+4H*}DJiriNRrK#LWlg0L~avT_Qcl2G%o4W%}-qwQ{@ zs65n=!h{15q9xQsi1#9Os{Zzbm;5m!NNp|$G+LORuJoS5LF1oa`G(?oXaE2Zezq-m zS3UfzLzGxr*uD%vE#{us8-k3X&MOTp8=>(d;fJS2O(Irgwu0fThJy9jKUHXRaB#S~ zx>{OVI`>=?L#p~5M+vD27B6!q_7GD|Z`GXCqY#KdJ)mKR^{3^7kG{BAi`LEsz>iuW zOP@S(&qHll*)VU1lVAiCualJ)*B!YQKcg|%xZLAo-=0_D+<5o<4%Sq^la;t0=Z)h= zXfCEC?m@+@+?smf&pT@IYtRee zoGyPR`KI?ro>a&~4nqMe<26w%P|a!SDyU3r_`1S~z-PgZ z-$dwXviJ3R5$EOpR!K*v%&X_QPyF=(8rY*f&tG4JEs4vk!b3YPvmV(0vj{EZEbYbe zec03&>HZ>VkSFvC2eYwljx?7XAaLb~tlN9-Qxi$3-S6ZOYgwPCSlU}Dh4l$dK7D#m3LpaU66n$8 zQ{-v>;Z6_`{&?~LtJ-us|($H3}cjdOjs2Ajc6m727Hl+aVRcsq+`BmJe|{pybt^;1nWek;cEHxx8^~uI;25vfwB5*uc*5+(hj~Fjp(>&Kdoa^>J zD!Cob$;Rm3Rn0%%1{6%&yq-Uxzy%wm?Sfx_20DVC5%R$uzB)&FXS-wErL9?X5w}%E z1dbd!sbNS&mX_5D9IkUzf*$3w0b~AefuO+0^pxfb3=%HgD!#|t<2f66puec}{lj)= zT}RE{$RE%;SQd$>Walzh!6qxO*X7_qYnUwDcl!YPPmVkF<2->{Aao1NRmEESvNinr zd}g8M?bSS$AqZJd@R~5>t}jK#z3^FEPljtZ5>Y5Iheykq-IbzO#53yq)x%(nTe4+W zo0@9O>fq#r5r^63=B6vD*fNDiha!QCsBDu>DLacn%psf$jQyN3od0l|Jmo)i1T@=B zPbJa~JWGBJxNEQ;+ERjb+ zotfA{S1tS}og~Gc-(-o*f*eg-+hln=GPDg-mLjMjBcnI#nlQW`Fef#P1k1`^VRQzi zRpfFj&6;xUV!Tn-J@JDSv2rK2hQc@HE#Iu9*ye5wN!-v?O9Ipt;mey)`3prYYB6N7 zXLJMMZ~bUg{%HKdBHh^CMUrKVKaXQIJZ0rXAoU*P>*v8=MhlCXVR_(;a}53Vi{R8- zCxZs7{+w9t3L`q*j}~QICJkP*qb)d``kjnM9I#l`piP4?Am}y&i!t4ZQ(j@q7rRr} zEB7o5L&M5y50;r0j89gem(Jb1zl7if5pDhR+C3UcOu>yppq8UDu>8j@I%o zyz%DGH+&eGaz8BrEY0Tk7G<@$+Wl2AFbyp{2pc;Ub@geJI%xBm4{tASh5=*$)|)2G z4w(O%(Ru678L>;1o?9%|b~GC(8;+9gnET@vsQEDk&fNQP5vA>s$H*||b2(p-%;DMi zTt>{W_uHf-g}-|OqmL=c_egpi#4taYIELwFk1cV;jhJ2d{5lT?vDF7{_E%_GpKiQR zj+r<+Bq~^n0ZqLF4@vj~&kHL{Cz}P8;8XAuCVck(2FC&yY;-gM^_~mFfAgI_kP3Xv zPRsmUR~4Pv!6{iJ_{k*$pkyHB_Kh)!vQyz5nFVYCKFGP>xx)IG_15*}noAtW#4hmT z%c7Q4@6#`BgHgAqtv(7jm$v5YLFqZnXoSMqo#u2^ipZ#JDe6yKJv%EB>{@;z>_Il> zRQ&i+9+OYIJGVW*Pwa30yqz0fq`$e%M2F4g8dV6V`kj7{)>Mc{5m$FF z6AtgYpZ7k+TgxAH)g?fm+0>jKQIb1dvqrVGr(5?7H~DVv(BGF74&NGW)SS=T@W!Oq zY`h$xNcI&x-kg57efSXg)V2HtcCKZh%i0LUn;U+Za=kTG)mYrvlJoe8?K7gUxT)g^ z-AeYU67Il|O2X4ky11%J_6>|DvSct!{C?2+Q?-#dKU78ClWy2pLV;*<~9irEs~T;raKUmi3*Y#o5F$yB|~Y z-Bu8q7MoN55}DMPX5|V+ldIN4!<{x`oi_7t?-u5Z6J|(ki}B~QwTSrbb=qScdc6u) zZ|@{b!!%{rH8+o_L%qOC1Et?y&o^yeSZyldl7dEjXkFhdjoYlgxE8Euqw@TEv{>Yeqvh@CcPLm+kcu1Fkl6Me{?$%?Hc#L?!8y zkjb1Lm$Bq2(@}99BaZ?oG8vDXc_}^i#`KEY^;r~w6Me=pXCTpXNmaY1*?Asrc0r<+ z9pHNneR|B~+;1}yfl!4IfJ;lh&<&9+I+maN_;+5Uh3Sn2R-EYUVxnBqtfl5RJ+DaJ zH+Wy@i>l_;KOx<6ea%s31|!!{sKYq;W+S?4JME^Rcg?}pxx_^@+yRqc$8@6s<}(ly z;=qSN>$Ef67M;z+ZWk@hP_NUgzePZCn<%AXq%vc|?#~mN0J9&iEYNyR?H&FjGDo-X zAH(&4K*K7Tf~1dMXd5ypTQ|Otk7w~!H8=Bq_~8BLXV{eZtG|=eDQwDnbo!Q@oSd=0 z^Q39MJTrJHc6Uf1ZNci6wR$Zw?QBk_;q%32qhN|+UNXGZ>+@3fJE_RR^4+oY;bHG# zYRw7{nAg@*b!_gWrirg5wsHf-2BFNmM|cYy^YAqF^sLFR<=Px}QWAK3y=hsYdAn~v zQ-$oOti#}$KUIniAtAfx`oj~!s z=|0x)L_Cn1xrZ1P9pC&sc70yquE2{^jK`aryXn`kq`e)Kw&|>aj3qsW!G#YkKK7(l z7#DvVc%6MpAwcaR$6%X9-| zGSy&yPODzy=Hsz0Peh}PDClV22#fqS!s4XWCE^pEkEjauAN+3YzgehkZ|$y?t@@XQ z^zX2qprVg@(CWtgXOFP3FfDo)Z0V{EJYphAH%^d!Q!>HRoaE3DTQNT$qcR2{S24%7;Pg@P_MJPG zl$4Tj;xc2(mOg={F$I=eV%REdEqv>MyJ-+V(}w(^{qNadDhD-Zw`@g4y|T zix1f=M=_IBiygd2{2NSA7Osoxmi@KN(B-P9ApxARJ5bZ!5JRak%zX?X1e+KwOzwp< z5|8{YXYm46vC=B`wI>90r>d>gzZd>hZEs@-{bno0tLYLr@g zCL79Rcs~#fR#gw(Kn61w{YmJ(*PmRI<+0igm6wTN?4ooVrUQ`=km zW%^y>!$Va_pht$d`|j~C)vC5WvMVf|@6o7NP$weHsHu-?k+90))|!V(+3&_DEuZv{ zpQ^9G2kuTN3`wft(BqDn#(%n(i*g=FPmvv#^I9;Ktt{tm*&kg_rsx4*>x2f%NF+Gh z1e)@wbqU+m%q-pWIEO>20xp|!1TkQkBD4hZ)%%lh?>1h(#|YV9vY1j*K;z8cC&0>n zyWZ2PXjJut2@*6B+#>W!VWBulX>s>QTGXGqU2XZ|*WN!klsL%WsZWEVQ<}^_dh0*HYPf zE;yC!jf+&r)l*9tnifRfaKo_M!+*P+r{dkMRYiF-!QEpE+)2(lw&&w~2`aT*M`!`y zsjK5Yyn&tseA}iUQ&fN-R+25d`&-uPI`DuT{>GyOATqt#hvp1DMIV>f3I^Y!ja!qO z><&xUJ=oqlwAz?Mr4w5Mmz1~)>s#C0TqRxdE-heVePN{%J^mYDbz>T?d1TX+qrO_E zwpd|HFTOBy`iWCMFrdfdU=;`YD#fTZKCZ8j^p_;R$Ktm)0HByuq1Cjo@mfE(NT`+5 z|J%wVEF5{3zJyKKtz13*4avbouB@rOmF6Nx?88;fhbDf}BiqV-hnl%$wCwbO?u)*> zK@5`Lh^B7mMhjVG$+VqSW_a5*$i{~5$xGtz-@i}sTtUnFY!gl{3+Go2wqg_Vr9`g{ z8ARvBdI|WJ3^$wf;{dq@J>`O?*SxDhcF_`+WmhZ_lBxQ1yDh6%P-ORP^{{Woaq;bk^_I0o6%I%5$u# za{8c0lvQs=WP8S~^|K}S8nStJws!k+DgS2XlZO701TF!QEzg^;bQZ<2X2-k=^TGI8 zh@rUDh1QV-hfXP{(7mIHJ`XY<(#9cB`_Ohll9v!g@8k2-&;Fu-vnMXOHJ<@3Zoi>Q z?v8^ZjS^?xH$qnwJqJ9P1Vni2y?n0wPq%Rn`e_y!H1-E8V`?oDe`8ZvsP)`?SLQ#v zv-X#A>GO7Z6E)Yiew_V2XjLa2B}G>@B9l^bKU(lqRdJ5MxW3046HP4gB>)`U6G@zvC1A#*qk25~|)+d++wb0+P=j-Z?m&`$ag)a?aAU$BvDTMx~`0 zGJCcAXjqgcmYmBg!*=prlwGdKsH8yQr>z4g2TM%0Yl7T6sqzml0Q#}%<^+HbDXvt_ z1Qrao@!rF;eVy|wSh_%akfGFaN}v2Y)=eg%l)sWr@btScNTf6xObqnggmCachF3H9 z2p!6l_aA_rBX37(2hPi(52ZWt4#NklGcJOGLC$tJISkVG*htonn>T&pWwno!%^4b; zLW73N#9^cPh%Tgtc8A#(nvE$InY0=ts-(zoHd2aq{=K$eJ!3rE- z{dS`W)08jX#)l3N$>VjAI?4r|!021m0|&+jkIJm{WMMp>q>rkqoq zihh3!2zIVilug=RXyykV8l~@8A0FQv$7<$sGfb%Yy89cxTn}w-<2zN<-9FviQh+GK z1NX33GS=IGz`l|vXVDuEx6!$c%A>d1H|^|<{|{Sl6%|LEWtfEL4!+hcX!v| z-nhF5w*bL|2X}4UodCf#xV!7A=e7U4IAd@_)9mhAwfE9FXC;l_S-=(|qTKFI+JWil z=$tXtq_mvWT=wsIwqh6ECu2u(C;6ZEXNF5S*EKaYG!ChLZT#Ne{~>)#gtq9V{1_|; z1=^?&o?YQxEt?#gqaFy0;=RpUzVCCdk5tyYTfsBo=`_ex7)%a&9=SA*8?@uV*NWq% z;IkeW^Q1jU3)Yal3oPl_kijG%A=qsHcpT=%kIPD@?AiFs6RaTN>gX39B`u$WPSco0 zTb{vhLnVLyg);TUxX4C*wNsnIAtqTonukNHELSSXb(uR5Eut^q>f^_7CXuhsq!3I? zq-_-u9w^N0*l5mL-~9*+Uq&I8j%o|`1O^ZnVeIqs^X8^;)3O~i-U`@VP3=#c=M^g( z+n~~WM358>f1`>2m#bb2P8oZR;xu4-`A*o<&JKXG3-de6AlF@R^3@XgKf;hN{}q-3 z!E$zZG?AV|$F(JS-iBUzNG0rRFeY-r29Y*ry2ULcgQBJAlZOX+B35=p?e&|Ne#VX) zxUaulDu37lg3;;71ryy;w4c+vPZv?rED1y$<+J zo-FEcnHyH__hm~Y$x>=EtEjseOKAPxek2beMDae2sAAgA(ReHg3KH!%t`Q?2Pya$q z&*y}J>J!y`>it@uqk@e^_!%RrP~{*x&AI2(srCBv%m}ezgj%|5D!{KLJ)c#_4o5vc zn0A*Clb}uh99aZ3Yt6^TF1Qm<6eQ6?4ohv^JF6y#+z=$N7m<#Kv+Ps8=+k?@w<}_&e9}429A3 z7>m2EV1WXT79+wcy(5i|eNCMq;T1sg=58*xigM zQV06cC^6$4!SoEY#Whl?jZ8*V=_%uyeRG2`uG*~c*N&!9_?Y)lVclOrsb(yAa;W#< z0Q@juN6J%Sria|{f(0ZnHIjlPy2D4wpk|Ch)8 zVK<`-U=r!SXhQnFf~mM_`~S;4XXZo_4wyCs7}0?byH4{c53+8(f2hD4)ftAqz zOWlq}N`W`%%4OJfgOzOj-}>fiq_7(B2wctmD}Eb}|L66353c>%pb%jg9L%2f?<`F? zgp0=iBcQX8B5XLUAIg1Ye(7#c_#f;1|BpTXTW6sqm; zdP|S`hOmC!1v53JEFd_0bmQH*q^Y747DjwYmoz-L-iflZ{9i0U6ZrA^LxL3hy=vT` z^JmVp^La_G*oC09;aP99NhbnTnsr?beblFAUTk|I0LMQ0zBf8?@W0yy4BeY5<>~p0 z*PJph+=^BFd!fO~`4_SeoZd4QIrdLJ%P2V{g@r|JwKr$I$43ra#NL-BMjTx$j(vS% zZ!cB;EgH%f1G;a02`5B|0G}5&breR(qh*%+zx&ar7r#>MFmin#k;DnsmXoZG)|tqJ zCTB?QCXn>oj~|wTI|w$tF8CkD#~G5o!;f*D-`yG3-V;ZNt=!4iEjnEY;cpo;X@;O9U2;3>@v|Ivon zRS;fD94tu+NI-6RC-S`{vhk0+0dc0n{G6r%GAb&GUtMeK7rdxA}nc z@IBAit@^+~APB8y`@bI9{qxNbpnDSj-=cw5qj&bag3}t7D({>5CeH*NELr0M(&z#2 zHhEWOV{PF3GQPQ)_!tHU{I43|*Yr&Ny}oXRRsW9v%UM=g zx#+&JF+Pm33+Kp_1)RXWm$xtxdSSG~qodxQ9twC)jI6Cc&vX{w!}d64 zPFemrx?xO}1#mkJIx!N#y;lELnfS4cb2fsDseXAK0bo`$#sdQb-S_nvhyj4R(ZOav z;>Cpkr_#fNCnv$@cM)Qj*G)NiHEPEWTn?t*y6EV{ujfs~9|g8;&-R;hEsL9*?|V@N zea^e#_a?HuKOIEFWsJ{FPh$`gmQPtyF*n;;TQ4=*=>k`vq!gc%lQX#0;h5% zC1aW#6;9NNo42fN6d;@63mC4z{|Q1{F1>d>Y1)Gfaq*q{UvsC&_RbD8!(CWBeM}%Cp1P+-PH}^!}(b z?FOg*Zy7OywZKI@Ue72N%cUizrE#B%NyMp?Twh(y9Jm(&Ppl^)xl-FSZ8V&(;_)A~wT+p?$>E*Vp&HJ*K6hky2FbJnML3|2W>_yoW-> zqo%4_=XG;7b~W@oR~oO*wPFK6ZS44+FXQ{e_oi;BbH?zObWre}Rh%Bl9=>fF}@mDR0!yK2?TGA@ajQ)0}zx`O`S>rLdjs3f%GSaci4U1|6;E#TEh2I7l5Y=VCOo6j8IBoQbaB z609oERsT!!h2HF!1}z+D<6&YqGH==`I3re3NW3=sqxFrr}`tFk>+gC8_6qN1Y= zTJB)O3o`k-c9rqAcXsAq zhV8L2ZZ0b+Iar}l%}Z$Ce)T?0ZRss=3}lT!s>FDSvDJk*v^t`#bK}1A+S;5-C^Ol$Xn_#k- zj4aP)pdgC?n9VjzcfPWIxHrhhEGBd>mbkt7xwz`xdp-G^FZwuhklaCV<*y?>LY#Tr z#ai&zZk2#t(esw*mj~)5Y_t$7!svojj`-j82akO)nEMe6EAk# zPUUzr9hM`zQ8M5C`p+G{RjSjX2aZ_GuxYE^_*!?;=ni0u!8nq$)6;A~d4iu%*^>Pu zHyCvF_#t-D7~gcEWai*h-J}}6sIc&c=gY{a0;(SjOGm*?XHOlwu_sXc!n? z9-cg)anZ6orEb{lwU@xMRU7?SNe7|q-`Zn9L`EP*?DHyrdsseG$YSyZdp&L`3M@n5 zQtO;U)b#~hyqW*jh z9Zb2|fhWoAQ2XNl9G@-WJa)mK@xJ1cMO!ouC!^9Ya4l8UMSz;rY?|$A5EFsim&0zd zo!QYNsNwLrhV|;G)00z1d=V1%`n2_yNk_oRFAv#!g86Hbt#x_t082cc@7JnPwFj491D-zbh!)D)PwQ z^IY4yh^OENSY7Am=M1`yKgM_WasbLU({4MiIZAkbdwY9BL&MLXU0W9)8jlcr;r_-3 zi#9E{`##++EiGvp`l=VIwCGh5%nKtZW4X?o%(Qp5X9$QZt65qC^{1Vxs;ZXO!q-a= zy3e2gRlsgm9`zPjJz5ApE$W}$T7#RGw=RG_zHFh&>OH+Q;Ly|h`}3rrzmC!GgU;GGTfD$D2W`Rx10q^d*G2)@6qd^d15+LLi~R;)0X6$tjfZvigEPK`XKNXjqV$ zhhB75b$x-ChuE%u`^CS#rF*c^kDH@;O*OTD`iL534J9SRPv2zFq2=`b+4*_0EOvFf}uu9kXoa~Dmj&~c} zyft(?md3WYxG0kAFc?eJ^oabM{bh`8G9)Z)O+Q1AQPbJ^sv<}iB!r+{F*h+W5fA{h zxlSeB-J4WOj*EqAy1)MV^-D@Y!7u)0IyexGT>4VuY+2}16d?!>)NIDjUEP$5%gGui zkJ{ojXc0@OMir}w)UvD3dMF?0c(^91(h&D^)s51%uYCULQS5j9-5UJP(I@vKdSW;+ z{&h*0y2;Qcyc;hFhzn1^b09Ps(n$9MRGke`<9B_P#lVnzJQcDtR+RQcEA{QemZ%eF zx;c*&vYT8pRY{JoU(PI7wnvcZoaQqm5ze3e;Bz+jpWp*fRl`w9CPqiE1nPAva(pf$ z?$)uy8T4D(DJjj)B`@4$^qU>XczC=nw}*jbYb`M^AtB)(7X+}e1s}GP#G`O1si@Yh z9AweNJUl!A7cU_(02HC7tN;pE7k>Tg2Z)V3;Ud7|PLL8yG?kMZtGEoLjr=&ap&LXB zh*=0GR7_clAs{>bs*s{MJUu<7UMmB_PMfDQu$e`%7Dr5LD=RAjPj|#K=9vw+On~7K zEcJJH>4?$(9;`d|V=$ar55M`0<%{{=k$GFq_0kKE9gc+OY)zk2O*rt}EEbKZsJxPn zt70w2T`tV|w+|Mu{C=m?7a-8a*Z55HGA8VL1U&^bG-6J8aK@s132n1=PI-2X_A#IT zj`({qc4?Sit_pJrXZ0%zCl=>I&;QsBchC{oD&Z(Ztrt4qNx!ABSx`|^uP4FmY;SMx z?2H4y1C8H#eG)i0I7WlE`}{b8r5Y1S;B;phTwuVm0Klj0y*MIX96UTAiuQR=|JzP` z6jW3K7k!wzO<-W2t6HqkzE?L29Uw%yU(7aV%6f3)6(iw1gS8&`9ucv{<05a-w&Nfk zE_Msx0$?Halg3?=l7$2X2LtY7X?Yn28v0S-WA+}9Nx1On11+#s@kYWe8b0T*XBUZm z=yk+70?&tzt(1Gtgz0_t=SRDkc~(f36FzP_S>GF(Tr+=K1?^~cG{ya~a>e*YxS<*0 zOyFj_n5U5OaQU4bs#`rv@O-t=4$8hwZ0eiYVuzn*@whmKOnOn*G8zV`Ys;7mHJ(C# zW}ahmmtqIi@WlH=FY||9VwIhp9UxVPTnzAtSpNB?yfqltNv%4eL!XkFnQ7D;7K6_g zw#C(MpqOZC7=fQZ)oe0|5=2@gpFx!%^|(GOuZ;D@Zizj1>-KD2@Q0er2MF~k*93sJ z9Q(nNm6Zi?Kbx~|0IH0;eC?*qtXYjhm4}B1WY%BAJTCkH5Oaxm>Mf`82quXD+}c0W zx?%-i=H#3+M0?Za*;#cJ6(Ik5et8imPZ-^?wy`NIDf!EFdiYtxJ;2$JtM=t{3iPN4w$ zW}q*=-ARQj&wQQiRtOd}>8B)CweX3Cj};gqlsi6_NR_0xrj4~jT<|`CS`L~MMkPdz+N~a-t>p+1JEXKUHuruFpAKvE}VaMXEppM zGBP8bs$9`2{1gz!0#m^oMJ$M^48 z`1p&nvpY^LAtJdt6)92_;3i0QH8T?v6C2xA?11u*W$SB=<;CFjz4u<1uKkhKgS!gf zq1id+xW&j4O6k_~BHyo9t!P{hRQU^-UjIqL70|D9Qg_O1DnKNFuQAWh+ilonqX}X!l!2=2!0d%A1^&G?6u* zn-Z)1Bo1KqYUfg<(ubAJyO+wx!Xrd^NsyK3{JK2ZNtl3Rp!*&5Z(14)lu%w88?|4f zYj9U0r77~>d)+;T45k95&0n;_EhJShUOT^G-=>}SU|5T(9@ot$!2fa{)lc2JsEhOS zcZ(J|?M+)7D_~A><$Q^lbPl_8J;ur5;gZr)0Gh?`cC2M-xeru44vMA2F0QT#6rS5d z=y8McQKwX8_`Roye-v|zmJj#$?>D2Eh&{Ix0DF5c6lJh}j5#?uF)}i`$7c7gN8dh4yI7V{VF?GB+DY==zg_rLM`rg+R{5N^2%% ztN8nbC5PX)QQLkNPTUMdF~KwS(nr?SZ*9j*gfwn)=o|7ezV2p?Yvy>%f|1)p_+SiP z3Jt|s_X)b z%468HR*RlpzHIi;`%7atxXFI8wh*Wub2znWuqJ-6Y$=4(t?Qe<2Z5V1_8x>&lKwlXG*clUC0*U+l@&hQg=$31flGwc?LI%| z;27H)l0JQ)zx}U-e<3b%%Cc>gHOGC(yw26dB_uq2Jt@JLb7V+raB*k>6@mH#-*+^T z`&ih2zx@pw)izeTMC~I!{=?VUP$N`gV%>Wsa)gz|*ni6Ue}3j*BpXpF6Dfcu|9@ZF z4gItnjvcZ^|nE(P$j(x8Lrot zAL-WQ6B+_S&`%nf&j}01w|;rVgo^@wZTwB_@_z+%|Melv$Kf|1D#o7Is*A7&P}dco z_>4-)AM?6Z_GU^1XyBXihoA|>{i~i0GeSkL(aM{(2Igv#lJFD!ec%u@V04B+cJ^B~ z#SC2pR#=Jx;|ZC+2}?Wym_hvOI|1=Zc-s1qO5}7^^u~NS#hyvrhHtH3|(Qsvjt(n3@5ZJqqcr#i9S0GmKx#WH45}L=7Z_CT6Rr=Pc`N zX4W6f%}zQ0Itl4qyuYxg(`A?!Aj@R8lTf|QwT>b}u)a9zq+PoaHp(~q!`Ats%CPAo z8U_8&*u#5*x;w1KkI6`(Vuy6eiBLvHpKG+rRh%9N+QXeQk55pTZqxXT%4K{CF%nA} z3TI_t9{}}HkIK9@Qf4E$Uy-M}fi)i)HSzQF{;Y+Me|bP-_K}L;9uZh=lnt#=u6bRf zP!QGKDV$CbZW9&cOQbMk#TWUurDg8`44t%Z59!qdg*Kd8JhF?eBJ*fK8=k<#**uxeNmmS{YvOMN{kT=Yey1oR(*I8+snz0BwLY@BW56y?aE3QE6S;2WJj zL@{L3Wz;ELoo4B3Yv1Rrzs>TVJ&W&c2a|tF??V7lu!f3BL4hV~VzRb#1Rk#-_OGse zQKKeUL#GafvDpqr^X@mRZW-fH6kT?obcHrIno}+M%GX@Jp;_ZFq_^HGl9+W|8wV72 z%x+8NoG;v+bLL?IFQ zLg6Tr=(><)ZDt&b{LFjRokyQ0^OHycY z2?_uO1&7;Tvx+M_wL}ZSuItKv+w%+})w-ps%baEpMeDxe6WJh&i~?ks|9$#3HALZ9k1o|Tl)(I z;_`Q*!)FtW8Go8D!hGRW$4`76HGIXG`W&+%Q=h_pGJHFud&EGB6|_KY`=ID&b@MGx zEw2NcTy=o%`XTjD9t0~bi_?BRTB5+ivefz0{awpjyis@TdQKUY&!;tC=fxW2x1q|~ zwHJcNE@iAjC7QMdN6*;sGN26K;70K}3m^>%5rGnp2mR(mOQn$hKWB&(NJ#Nw1_)B4 z`Z2QivJ?jO&$LNrqSLq@yLKzq4#3G!3Hh}WfXuk6b4x+*Zo$q{lYwsYPTd z2nHepREby*bo0t-pE4#6|D}h;>!Dy3myVW;XX})JUkYJ%hMT8S5dJRe_cTdJ75fUhdnLkWA0**37iUL5O zJ(atYR=WHCUjxbgU_Lni8~ma7_qDosA|4ej?XY=Wa%$>o8H`o%CY9o)+eM2$@(mHk zW=qbSpIV5oS;h7wNkFIhkvQ*9-{@cBg$j-M1O}F66ymnP8oFt0b6NfJxv-25UCQZCr8cp72r=TUO+n66; zY&bBi%``<==36HP-u9~eTq`fLG(drBY&TPjaH$K5OLvScgB(?_GjC7BzuF=*bzp=M zB^0xXtPAs@zl-zJofi%^9S(Nz+OHHM7ms${A76RjCijLO|C1KL^MgjUK12(_ctl-c>{-&mFNBV6NY!rS)E2 zGOqN(s2lR!r{ zDDDdn9WaIS`MM``KqAK7JHWREFywOdj}Nt}offt_{e8`CWC`qkGx)ru8t0tvs=hr8 zhGhnFOqkeNSy2H3Y~r^JHlGFS+AX`EORU}mrl88pMCVt)sh)hAkNOaukvYQBbV2W) zmN+-)NqnC43`i)-Q!=pvq{MD#p!bY1yJb(VW#_h`+>hQe{r2W2mnPDLJ9`f?gbQSU zLepF-JEu#g&6t`1I}GDNC+kTKbLqCWX>0mFXA(a>JUSr*TD{_XK> z(UVXvP$-7@58Bc5y+*a$b*`RsW}8Ffk`G;0_#@gR>U;!ujv%SzDVOJ5Yt1dh5 z*%4hA=f7A0w!Mu0-o0^b_{R~N9!OA2el~VY!tbwJRonZoL$upYXZ8GRr;7xm5jPB) zG+598365{Fju5^Jh7=lV{wZZ^=zmEXyl}BiMS1xTftRW0XW3N79YjlE7dbf(kG{XX z@bGoIAySE?AT;Sj3Pjkz08**MW6$)xBRWQ?duWjO40H$}y(T4wArcq>1lUEQgRu03bvmfVUsrrBIIc@`oYq0i+I{j-V}-=9f=XUXB>vZbV5 zw#P~sb@4x^47f-#!83dHsoMv~g16N;ZS7UZ$p%;1R(@!$t)H^CJd0-z+#puzI0%-p zTb{9^2G*8ik1}zt1fJmZ49Z{_MD0q zrsJLDa@U{9n}wp`Xd-`o?I!sLxij^=aV;8dlGsD~j9G``;=hrY_MVc&!o$D+fNG3k z8KQ`eia+t!Athzq?F$7~WKt5bkoT#YpEA%debg`9OO+xeXXC$tVn^()CW#;1Vx*-_ zktqb`8i0^N@JmvkGc_uBq}aY4+N6mKA5_#>V7u2^b$yLo=9JlcYNdZSg&4=}(v#P2 z_;O&{(A3B3((nffnIAi2bs~1s@68ZUJ)SKRNOwQnNIxlVd+1R9WMM%{2ME{kC@tB` z;ulxs4a_;q&CM>X979#=&#x>fIW@K{L)u!4D&1WhOLEtSui)A%OBxPczzyzJ`ugig zVvx$kx>pMr@IZvmq9+(3Q|yx@!D zLVX`H8;T~vN+x^Gr}#TK=jtP*aF+uiOW=31WMNNQ!(H8%JMn|#(3F)x949G=hYB8! zli{-SWD6sXwt)T?ZPkH=h$}0fR-y@mPoQZJn2PdZL``}HG-14~*yl^EW(2iwv61syEPZj^=hP~Mf%b46b>B$&0XO>l}!>U zMz2x&eeKvW#mF;zk1KXZE6k`u<7hUkb|Ss?nF;gWr6z3~WX804te z>RcV+)z70fks{fFv03IHaBhE% z7-z?+%R+7&?04q(e}^t2geWDCN0c1|oA-Kmp5Omb-tO#GnLG&*8b(U60@92Hf*qDF z@5q>KxTzSp;xl1wdiiTV1!-FGvJm7uBdID&Rq853M+If^L7^_cxB-2Mo(RlA|9z?t zD5I>J{b_`QtNNQvTc%I}&a142p^nU;F7F?@$vmfvDJ@iV19qJ2>dt=5ZsEc3=NHO1 z<0?@Iea%&@08CcLpO=i1N68Gn1Vy*91tjq8ii(XY9R_Oif2|M`z(t_Q* z1l=PyReKJ0X2eWBX(gVc40Y@{o;)@x@S=Y_l>AU&=00QvF0-}>AAs{FnM=jKA1I)G zl*VeA_0wA!W}8FijZqyO-OLX;a>vsLzvgrz|G8hwc%>RJ`&?>?&qI+wb>?HACS84M z&*?wXyOK0CXU6fTG0nuJ2XReDZz+M5eFUPh(b4b!fe3jy&>jND?5Bz7}J-RUoGf__IZJcSoY=gh`kDH z2>MH_W(tV*ignet^&)bLHD-<$HZ5QwQFeP;PIZY;g~N}qLqi2808475zZmeS*wd(2N z7Uet?^$6*6Eyk1sR@F_g7wLdiRi#~QbR4-fBa% z4|ELN;0aOSp_Lwfp#^fKnBeUWRL=pexORgojVGXH0-n|oxM=FeMF*onbp&X!zwabxnV3|kV2vtXp7wOnMY^t#-U=vXv*YgusP%7fQNCDVlD|Ox zC{2PWaH3B#`tnFI8XrFr9nB{tq@B1T35j`BuNTD-Bn>ENMxlYkQ1Q{-Qd5~U*GDPI z4oQALzT+zOPF?AkZ0C8qKW&TM%hsj%!r0-zmze1J}GAXM@g(cU+RwXA5aW@BE&tB%ro2*{{ib zw7LW*6r^lSLgL;VJJW!Y3I&A*ZRPdI9BNvvzq3}IV%Cy0yPxzab`GrZIgr^fXeYNN zgURmZ*@j7S94ijx3bbe_w5sNL`t{w*()&1lZ$uOQw}VKYx|e|yk5~c@v+ii+3%eWK z4uhJgHn(T8QPx0dOv4|X+0e{sJfn(4C3&A3oN^`dsidpxzh})%Dav1>fFQv?{`}pD z9Lan~IYH{b^mk*lRL?FedU3?s$KFrf{+Hlg|6{%{DtGKVF+HL^x%4Jm)AHJe26q|O z0Wa&(0Y-D>#GDm~Q0{LUEEvc>eOd6j|J2o4+7_8JLiysm28K15bz_2}{Xe;~4Mc13 ze1jJVH(w^H*}>KtLy=V|d{2j0I~Iy!$T<|p)?99_eDvf$Oj}Wic~ZaQh2iNsssq}V zYMYTYM~oTTYvv}$tF6vv@^&YmU}2?T@-Tg~46C@$w`234B=(fWXFgKGY^J>I|B(dzz9 zsLPq}jDy2|-QB1A(j#s!Jr0Ac$LNrm+iTJcycL+WtV-H9nNDN$5$SFQbZ z?x+K%*+x^LTc^{V=OdTD?yp)ZA-{s<>;-e; zMQcJ`bEygzw| z9$x7ch0mtKgVo!3XCDa%z4n6OLue8&7h)t)Nq&%}*Lts)SSj));T1IBx|s8}ZGF}9 zPhgnRb}#ukR&9EVcNpt6iWsCs6R(7TfXEh(n1~@og1x*VLjzzfX$*WO953syvJ4G7 z$@Yd{{kCdGu@%DNBgMeQFbUt4NH?@&0nN02>hWxWn*HSsB{CV7k68y+@c zJt_V6=4k}B87_J0Z~JzuHzKfT>;MWVscBs;Uv6JU00~*KVm9~GJ_ba8Q+;x04HT_6 z)}g_;p!YUD3*1LfD%>at6`+8QB-A4z%L|MT@WHzmgy|CPT@P>uxj#i(zoSNJT<{?I zO~Tu3IJB>;BL{zbLdWg=na5Y{;=y+6TMd-8>F<^tkBel7mLINZ^X0nSe}^^meL_Ih zC+q&MFwI0^nMsQps30NNVDy?n!dY^Vk{Gg?{%TCtt`>u>Ruh}m3T)z*IC;(TQp=mj zcskUS=+tHySwh5tbV9&}zVNx%;>H6LcQz3=765u)lMC)Ln7H zPspYR`T{c2SaTe$nF<|^-M*jaIh;#H$~s4f)(>%7F^U1M&Wi4xd zuxR+*_Ma+$+QM%N77qILH*I3Kbj6xi5h;`%KZ)bBRX~EBC(&~*XD#v{p5@%Aey#n7g&v35dOijufXhcS`i<66_x3q_N*Ke2`w zbrT(N7~-z5?%t}em)m~vY(w?Tc5l%md46H?rMs6f6BFL)*QuMeH5aOWOuDOjk{{|( zEuwg0KcMfbvy0(TmvXRmO3!cE{A!S)LPYu#jZ7n&xa^>$X3}{t_V~mB8idDNs>5Sx z=Y+7Xtvde^7vF^hesI?!2a8(q`C-$_uE8RX^%yim?U`*-sjt0H&|=vgoxd07_IO_^ z3N15Xp)1P%FiRBTXg~7~DZxeO@%PLVDi6q`sV*4haYoTFzO*lvk;7yFGZqt`E}e(X z1RCs|KV$-DQW3sw8x7C*kpY`BxxN&3-I9WvVW8%VzG9{&as|spOrWI>nx)wMNhFJs zKvnz8z-in%+cKX>PtDmzLgmEmN-w;w5W3ndmLQ+s?aHDdc;V*HwB{S1sEg&QV2E~= z{5NHGy#>$eUKkMH5r^)N;WzwAv@2qS7wDGeU%$v86^`FZ<+}e|@Mj{BhIMPhmC0`r`c~AmOz{9A$*p}pb zNz*k`*&yPlKI0NolXvJ%U#-n2Qka&5shIExbW`0e2j3ly9bi(jM`ykSc^}OWI$t5D z#@Wnvi+kdR@FPO`$UBP9wc#G`aS)dLes2X0Jf47`aX$6zWfkI`+RJ12mx;RgX?^$I zc>o&O1)?y*1>YX)QN2L6!Y7)-HW6q*W1VzjGuX{9Q2VwpssmMoIjuYf$?m0 zc-HdCYi>rssv)2)TXlBp!Pk@(Jx{PQ&3@v-^Ms?)p)#w=#I)LO^%B{D>}(;AH2X`X z&b-FF_>0TRJ;j?dJO{o{n1%S#?RPv1XqS?o#@F91tVq9qHssua12JxB$ z1Y{g1vd2;2e%@ib{MofPSa-cKOB-F;`Hsxe)F9;pgDxBj|BhB%BxaE~iG@es!Icq; zECuyftB`KE#SMfoP`@OIW@K#*|;W4x8D zU<#lyK;~RLosTZF3!zm7A*CaeBsHZfY+IFnn54r8rhF5k869NxH8ZT_MEc1&Rh5K- z7Ruj5NYM~VCy4l+I67CU)=DU@_a-D2eDwgu4EYm{I0=INz3{$GUcZ>eaqkxJmV6FI zv=k-^fs>iMs%C1phzeNWn|j%Oa|h4YqIl7itRJJoKR`=xN0rDafy;EljpYg;&Xc~6o65E0EQ(yQnDO2)<QTw@mjAqvP(jN_9j-xQv%+E+hKuo72gPDip5{Yw? z{EH5&r>C}&a(2K`ALTdi!vnflz;?Q2lm$OPBpbd2WO8+&BL**9x~aGwFq!y?%$BbGvy?a0(6`L?*~Sb$__;xLhg% zm%aWzwflBw%HPVY;GJ=w!qy0x0IT%FH(HWZa>pyZ3*tZ&8T_;=9?>}w z-xTG0Of>Q~vQ9c+W^LP`n8nsa^R%D4GEk!`(K;^AjUDSbDNs@%EhJT>;oUQ9g6$_m z+pwF{nG}zruNyvYKEmG-UX#wvnX0;-iZkMOz2+`J2896XnmavRX)})@1O=Q~o@91h zkJr@rxkUw<-RIq$aTa#em|Bn2JJ#S{j^-B^va4~z4h~GiG%t=q^z^)onfXK6GKk>g z(qCT+T~6hO$0R+T4r%fiS>3wJ-bpsP!WO`5jYj;w=!K%~Qb zCMvNDz6uF)*07TL?n0uM6%tK*)8bwq6r`QsV{Z@Iam##j^PHBh43>=HdyMWpg@_@K ze>{6httq_T#P@nlOk*YUbVbqhz6pg%b(ws--WwK10!hh_BA|Y+T5I|A<#rs@FRIZ< z1b}JYnmbB@?W4>VkEWAL9v{6xQUtui&W8)7ih?qP{3g~C_4GpCoBJ0^!cJhvrx5P? z?o-%+)1q3OruA|uWRMs&Y7`tOfaj0Sa>4M(2y{Rg+fyMqEGT_w47Z0XAwH9x+h#qx zp>$}f#$~ou{>efvgEnbB>PNQ&LV+~es|^Sw763v1_~rxw=G&}Alh^9Kdq+r{pPnCa zF6Y2?>%VE^|TIy#3xBWYl3Ox-_q0)RyWr3$GiY_9jq?#8(YQDT?c%}<6X?O_7c{^nPe zeubhyGIM|FZv<0=q}aQAG05TXKk9=!@{8oXbme?Hjp?3Z$!WK>_1`owQ=S z_$w|^)w;4!5s2{yjBLT37y<|58mP4%{$U0x=*N5-0=^>F;_C8=tkt!%cm>I+SlFa% z=-4GRj0|xos7_NI1;s6+_&*rkQZ?qL*~b&=1F(Lx%ab+hY5jpdVOW*3o)a@Q8h(`wRBxA~BwN!{;g#9i^q!^6TMGaI)1E1ec`Gv%B} zy?!-5w=KcEF9T!9wT(1bhbu7N$i#F<3GiV9p@_5*awpXPA9-&XR@D>!d!v{LB2pqH z9n#&XY`UbSrMtToln$v)gLKy>Hn|b$mS)r4-OV%l`=9H1`8?Nk&bzZ-ZP>78*33Qk zeb20!@26?zJAcpDzP_k=M~4q$Id3vX92*j4o@aHeXd;$dJ0f*+N69QIa`r4xbno5C z^m5LjN923$olR+Aq~`c27fK^KlsBq@-e+MM#nau5$(xK4D)B zz3suk5Pe%cC}QAC?@+4Syu+fR%w6pq|EZvbyo4^!aWsbWJUdj5U^7cOu{$}1Sar2J zvbdf+U|AL?-?u>fC&B%g7X{8=%kQE5JY`uwd}GK#aP+Eb#XugpQAnZLztoLvydC-> z8Sz{i@zGL3M$VZd^LZxC)x3B3QDyb!8sa)9Pl#EZ#@oC9k8vSa{_WzzAzw6VYw(vJ zof4@r-$WmLtrA;EJM2!9e|it4?)J1lu4mSB7!&1J<5q~gYdGo`C4MytCA?E&m(KWF z$p_8sV}RG0+wbM%dfeBctQ*Fjz-YlORjj&EMDT=cNd7HRLQv~Vh+@Wp!M7InCo6r} zdafuaU+#R`wYAk#IE=>r=y@8LrL#EqvTxv^P*Oj?*AClTH!@LOOqI2$qKg)%3LCJj z@jMrJNi?IA9{gk3;a>vUlatE(JnnsYwGlgXwkDDYJ> z>ci8eb6Fe_E!Wcc;V}I&XZ0Sf#)lfd!Xym64-SnbG#izf=`9&9csMvHEX9xFDi>iB z#3Y0nPM?m&!-;t8(m9MLDwl0>2eLQAXzq?KeEj9&dH5Kq1l|eeWogZ#YV(tAH+c+M zhSB^QW&5$?Zx~uNYILNiVt*KGsnY+^D=Su3;yC=V!+i;wUT<Gn)7Qto9|KOe7G!oHnx>bDxEHX( zWQtxVIBm}F4g@oWC-Cu7kjWJ`aL-i#@(Y-cd?N9V*cy?I^h3Fag4yr|Qu%~uo}jg5 zr$EM>!oS~VGcxsRC-BAT>FRgPB-Pr@C27ND`BWLDB#S2XTD#WdwYF7(y-&v9>3=wo z2-%M?)|~1??T~fZ3L4c$7NXHVk3v=Fcgs*vwD??GZKfRwhP}2WntxGD&7)jiTnI5* zrFOD3pWftTBFC&zl~h-PgI+MCt|_T(B?=!wSIkA(oD`+HtF&8o>$bNMj~_6~k+23k zb87XQ(YmbP`&l^kLx9|EWZygZ=?p4Z2yF={&3enNJi`0Uxq3?~zZ#1j4^g(QuB38` zT&gODZDPj>8Yq#Y$ywpH3cp^W5pp+#ZzIRE?Q2`6MGN$CrDA<7iRSbk2si!7`vgLx zC}vQkz4s;R9Csxb8?mv{%)z!*AL3T1uG+xDX+?@v)a>`F3<(91mYtcr35`Wnlsz4} zjrSg<*J6=+i*Kopy{(n}CAn>XgTqDQ{Be6X8;U7=d~se$QE!sWhw}i@ODT1)0E5}X zi&j3E zK0XVCdfH7tvo4W@Q+DBj^JAO(wx5sSYn$R`(RlH7eBJq#EApXcg@Rk!v`<4lR{E3^ zzOZp=U!E0ExNkjBSF^I?KfAjp{| zDbFNW1y`0A`!>V$EM}#-*@45Jmv^?WMjcc&MV6H~b;diT%x#R!_g}>f6<+&HKZ0?<%^E~TgL9XAMKFBF>NzIl}Rb;YFy?fFw&fik%~;YXo_9FiY>iq?3gu|Flgxn%v=@l55u+5*`@E0vl~ zO0UfV%&3jiieYWr(qc_RajxxFb7mk^GUZ4N^mC%X3@7ZSLA{HVESjR5mppv9!Js6IlCu%3Ieh zwL$|K4)`W^c+Un{?!yT``Lk=HkZt8yfkliNNB;H_7YAka_aw5e=FDoQ7$vKSB8+gd zPY&!9K6=QW$Czn&c>x+ydb>&?Q~f?B5pIT_m1uUm_V8yY_m|k$9-U54mlG6nTX&{a znOe{NayfY?C2}|qb9Na^iM#MGCkc3Ob8h&I5&yj&u^U_33p+J!IdxbIr9 z+|FR6LaCfg`fak%!>sF79~+U3`%%+i zZwEcos9WOwTJxclk?C(=0{=db)81sR%Brf-tD>&Y&Yyl=v3QTTDjA*Xq?{yR4egDQ zhL8w(pT_)LWjb2vafb}YkQ=u54wm%$?-Y*rdt976IhlX?t(A2?&-Zli9rXV17byB~ zRx(k(;9NeSg%lSTJ9}B!`B52s63`2H(uDY3Y#kC%HC2SyYRg2pv`C~{C_4WLB_iPQ ze3<{~Sa>RtbkYo<%M^cmh%)4#yFxs>`Jxf&zHlDYbGcwZa&lJ6>cok^DZnB7xGmd6 zv`uX_Wkyl?Vmc~!<;LhSCJuQZ3ND?Rtu-b$bzmZ?w4Y0X{sUD^7NU=o-#W3TncT@} z(;@VYl8>qAM)DqvQbWkusOro539mDfF`Z(#9mJ{;tBuo|B*z8!WG+RcR%#@C zkwrU+&Xy&~DBIm8aFi0Irm>g_L*nm!hJL6Gjb|0rQQ6Xf_f1SJl5i^~dUVZBZ@TUE z^qZvayKPa0MI1u${hYmexyb`U}IRb!e)gBAQ_tqWf5as4fYRdKpv?xEbh2AZS zu%VneF)^6gcK0x!g%&(C8TYs|#f|KKD6Oli?WF9HYu$5e+4_y=eR{YA5hs10P8x+Y z3GdK=il#~^t(m3rd~>n$+bIT>aM-x9Zc!!mqq7+Qf_~;eVnN<_1*b}qefpym5d#ld zye{KTj^dbj%dLxzmyfX&gx*Ch|6G$HH)8uhyS&}6Ioiz!_fcv|ut02G8qZ`6qM-ab z5F*o4^|H`OeU9R2MIBcwFt8z5_>sa3)hnBFzz#pcs;hn^k=0#G#fqe*Of|G z1hbZ)GT0Z@VwUP^z8mC}^j*Ka&uBo+dWBq3x;TUH24=n5J5Z>DEUdiwp`S-ABN965F)l&T7n(Cbch)xH_ao%N z*Lbp~y|){^ye6r<>=b=Aw_(fGP^iCu`1NnI4q*Y7tJJHPO9pO-p(zO4Wy*!+)VP?X zI9a*TDf0;UR8ZgplL1ZUyX?{3Gu`WRk+b-Di?$V8XKuJ`Cl&c(%q6X$?qpZNG_m3; zKy%640u|DzfIE8J#1hk!@wwd;{Jc`*eUfbEmxar2afNRCX>Y#E#p1+4zCQ9&yghW= zs24(fvR?>Yb|K;!6{y(+f9m(X`n0c^P#s$W@WWl zN6vhTmgIGh8QC+;%p6ssaeMB)s6yuz*DW*WBjYpoT5-A|H|Tdv*>P&sONBOM#C0@Y z|Jz;?NA;zQDtgX7%{qoZ+OvZuTRe7U6}8fp-j>X2bT|c{xs;DA#Vs;Bn6V4dyHCqdga<<{r7PCAc{PD$y{e6P> zNr`Nb`y;}T>1|`EktYdU0=14-GUH9;;TXFBD#|Z7rp<}Vp4(ROe8)g#xl3Q?zz?c{ zRK~sbh@Q0|h>K0E$jMUd1q9McnG^A`9KWhOGcNQ=wXI@{dTBP5dsmc&!RN_=9*?Qm zLAoVUAM@7l4n_&s#<-iYk7vEftZr8YDl&F94~B1xXnbmvGj9tkQkEFB>ylc%^<5RI z(UEL!VNODE57lY3{+d?TV;zswET6Rnx@X%!_2(?vXJrg_*MPFko?23v=|aRz==p`V(nURk zNlW?d`R|MXbPW}s;p`)^3dQD^ZZlDG9$rFg=2fu_!n1A$DJ9Ta|N2t)^VT0)iCNN$hCDdDCUpoVtT)0dtj0>a<%7H zS&Tv`-FK?elDV(fO(=SOGDVq7lLda6$fo7nOnNL2`8{jbF6}BVI@_BC-n`ed%kOK zE*=&UT)%%gpo=hcT)1z}3J%%cU1qnqJ_-yB)Ei0ISX?7yCx~UUAG|Nb*R7=e)~$h? zB<2UN^-kw;5l`cMwapaF=^%%uPs+T(U6nMQl6;ZV0a{edAoP+YqHiFO_j1?gjG8Gm z1uxHKlX~SL;iVRO59L}fi(5nt2ls(pB;=;=W;0FDZI8wS?!TK|xX@kBF4sgo*$QgZ z!0NkGa#Q(sA%Qc$#ltcU`yhlg>by2)S5V#Zu5B;CrLt^q2j5+3Z}xhIQ^%quP50_c z;3v^#FZtV=Oqk`KxCb-TMewAPja;9=`42yAb2^~7U7g;gsX5Ewm8yQ$yEpS^9>{sQM@DDQ6J{hJse#-%tVar&D6t;NrIjKV z3-_h_h2&?yLw&ZK<@F6uzI}3cC+Frf-*1Ku43A9??XB!-9(`U4&@A*aPmx=ToA~le zE|H&RG;7`IC6+;8sOn3CN;DN^8P5jRKl#xN_sAC?$ggH`wijq4pY5Gg#a36KwNEL` zu5Rq|R*{#!YjJ=mD|wRtsFn~}u2i<+bz^J)NpX10TWiU=M>IPcx207GL;EVB|xxH;)8fwm48e(!~x`}nK8UMzb2dTXL{==Su|tMp;=ercZd5YVfq$tyP_%MrW#MQ)t|5kdn%q@#A`AL zw!P&{KqBR&N2lV<-I2QpsPy>iGduyVriI7yUIRZBI=y1=4u0p~o%G&_Io;&dsI zSQVaay(UEc@N4ZPUzz?rjsS^`A>^B4^Ed}bteVQ4ZQfNQ_Z&gJ=~Cd=Li$deCr{`Z zG=tqzLPdo z9;<8EXdx#=N7`ukYAr|t+A!8HS6Vo=1Fa=A=7LfUlD-J+GNBqmB_n?==+Q>;ti!AB#^sVgUN-y$0GXWz zhn1KnRlgbv!~i>iq+=Ag+RYbsy4kg zHCs%QSU7p3OFgrh!^?bms2)R!+Nt539;=)$%z4{Xh>sp-itrwK(33PJsKU(=jupw! zkz<(b?hyxD|BA)xp1O3b(bk3OLaX%5J}mfih0IJXs)t;)@b$#;pZDfrhrNV0l`@)j zmd*%YDspPNx0%`3%GS48$V|mRcWJ59B=Qpm5y;SnpwI2k5k7C_uX2ZH7RNgEGnw^~A*Uc0)50(P!S3~8&$@oqJP6W$UHN{h2Mmp?IE`Hk!lUIa%mq~_-H8+y6 z&|E_IaY@)%p8nWs*&RB;nu`+Zhc zy+3_4VaoRNGt_OJRS)S9Tk@nWKeqSYGT9)uny-RrJ+70dqrrKynTTE8@?Uv++tAgN zsk6{J3rWQ+zWK9@l$2~I=tK4Z{uhr>5FFrif-`30r>DQhzp1gHg*Dq+%|4YpycDGp z&zRFuS4gKmJgK^TNKP*4xa)OQB`3yjwb1Q)GtVs4C>X|!xQ6!8ME>62Un(?|Jg%8Z zxcD9yp>~QKHh^`stGD^XDjE}yw|T0DH-(3;_i(g_%La_L(WgfuEzbnlYX%;uar*<30(kF+O&}t^eR#*S9chf4{*-4S_ zEQVn&Q@wiC&f>G6RmvunJ5qG9i!GZgRQCp}!y;5HjMYccx~JMDLhJH&Qk}AgZD}FU z(YmR#v1$8>p-IquR?m)+oXWzgj2 zBi#Vei86X}dS421g*t7K#yO+n{Je9|B&%PGhgmPNg0gXAHyqa3Am!@cpSioI-tFAQ zQko5VMa;ws7jcp`Q2NNokzYPkzfU2}w3SopvMLp1lo-HX)s?Y@YM&yXryII$9qRR!a{qn>iHBp1<9SQ$%O(gR{oOsi%3doh~>hfcy7_hGD_m9 z+gvPO12_W4NKdhMy&y*qu|nuf+6qy5z1poO%a6-#cmt1y zU#c1wR!5->HENHk@r>YEU&=rnp<|bsdOj<4xDlo1(ord*RH5);0<>u2^BWlbD0L>2 z>kKbA*E*!+W8#Oy+opRKnT$w0gVr|=qEkdN=#s{7xtw_K&(4-RsL3WqF*bvI4ShP=z=Nd|CSoAa*PLFy< zCD=Xvs!n67NSUk3(fyTwZQF0@@uA(o1NI<^{Rg4Oem!~)$GVzqjrHYiF_9&tvpyo_ zg;NLDA(vrWjWh$Da=A<2;{?RRlTuxkO|AB>;B$dM8uRC#kHuBkHQQ92$j2)!^XbkZ4Mr_0v07eX?VMbe#Hay{-%y4gbgxsB^-1?; z^e&h{9$fabo3d7d~^pp^r_}i+|^{hj4*A*9Ha7dLNz4 z3*l>%NajyhuQ(003hmD)b|&SN=;=wsO0ind8Z&MjO4|N#B6YG#zkMb`S|FRqe{s~u zR#aM>(@mG4iYrU$bC=+t2I$lfyBmW?9fzR=HbfY2!XISBz) zv=oFBUr5L;dvpxR>f9B&r6$g6adBgia<5D0YN)yeHh)y+-Y6#vxt$fW`GBa-JxFO0 z*M6zye*3%Tw})$ZBraC_yPMmiYwfpd=v%BWjj{_5VJds1j+CtjkmaMUM}lWvl4@B& z9;P!p8q1KTruxFIBWAYdHQd0?8FigmeD+DTyGe@`Z@9Fg>E6_NUiY}yYHMnD2w#e# zCXdfWd}Vq^1C|2r1xdOpF6;D~lKvONxf7B@ze9LtD6qs+2FYGAqUm! z&Ai8)V426+v%Av8$i0%cH^;W}@+OPRD;fo+4fe(X*~zrQa@!@5t#XBNqlw}jN?YIm z1PD;GGQvMAZ!gG4ObXt^$4_6n0l+`?>-7jv&RjW_O7mi`IJxhL%g8_@`82h5=44Jo z8^g2FZkSt-NK+jX6e^d@c`O?F-8)x*#>FS*buM3}gLHJ;u5zxq+fZWkuE#MceSb36 zCv)??#yx(_Tyckh*(uejm9lCV#$=-R5Dk&Vn>n}2WAhNt8)@Irpd)V{{=c*Dj3^3V z%k6|aGl&B$KDqQau| z#D951J2Gy(ElJA1*D?NBy(2XFD1xF((L>cLw9fO;aY0+jx#^;Mv@ewXiHA$mjOv_# zHBx|l6V5?9oYS8aBMZSsqq)2AnI&nmT^%mVr{GIty=G6BAD8yh4h+i`-*i4~N&7;_b_Q@eH*;-?AmnfppS#q9K_5z|U0 zTy1T`QnR{Y<>(l!lB+py&u;{u*7l6!8&c^A)U7Qo7EA{{bSEY{g#IX0t0g8%JkWDq#x;V1v)OSy}y5GW($22jLv%dWp2YB<1#Zpu=i4T;5O|& z4fX@FH$92>L_$Wf4$i#S@>PIVK_FV2$=+|=q+7EfhC&~dUvdOpm)^q50MB1PK@Yn767;AJEOS_&~S)}Wmi)ETb(k)XG$JQ7uS z&KW*ho`X|y`}Q@@)k-Ifq352$ak(YD^#!Y4Q5Kb?@x^BfUxpsIsZ34SJBtu1F4p(F zKRXI~j5pTpY|XXJ?SKD#NBL0eM3%Uf1>AcuXWlU3LsLtsLU&&=aosvk?EIi8JE)RxWsaK* zvQmm}BnuMDjlHm0*3_8t^ey5Nqv=TWM7%4T5kYsovgCrVRYYWI_`T0mwct#gYGUYC zE7}uw@Q#nL^E^;cF+U8O;@8;H(g_ZgWh1oVyZ;eZ3Fn!kt_|Z_5zs{zJskMu>n>?qJ zuko!T`KHd@h-@??p&pAstwMdBX(zV#Q{Oq{77i{fFM{JdMMo}E#X(U`Ev|P#VtAY`l37EmxWgsONYWzwJ2l75jMJhFrFR=g_-^;@&5An9~G0^sqlB@PN zVcZGZ?EF@e<3BNC87=o7;yZ3p?)Vm+xX2rxf|P3-WTnOpQtQ zdbA?Vw%tiJ}>==Ly5q)S_># zJ#t%O1UE`{N#3@wF!Xdr5p6%G>Pf3YKJtmBl+0GtC_wzu@#m<6x$ zdiCiDC#wcV+6!q&_?^3YgB`UYbb(!w!)0J`ILg}I^V30yGLpineno**COQ0~5US(X z#OtFezScCuW9-8s#6*1n-l{dd7t|fWOuemb85B+y#6`PZxjU;bttUZ2IX`_5dkE?Y zwt4OQXV3oogz~0=3<-3X!1c~mSA>4}Y} zN$!f=_|F6E` zIlnfFrzDJFZsX;@w)_ob)LrTxoClL3{jsyu|Nibv)9kN-QHk2Q=MvQm3+*x?G5@-L ze}x5|qQ{r(0#hgDsYFSI!fVNR+$CBPF zv8b$%HQ)EY8xoQ%Z&6AHhlVb@3E2IswNLEo>gwmDonNeQ(`pQ*ClYg}sDze&<*HGX zm3{w=_xglV5>1W@_Zl~Wt0)~Qi2m)8Ogf4(crk_P@!wm_PoeCH%~4BK>rsqYdgMO) zXIbZ5FGN}6EwQYd9{#Xw`SmN|$3Y3ur3C{;3SG;}@J~bW3uo|!zre4Ql7A2NW_uy? z1pYM2D!$nR^WSaXes#{Y!Tz7&a9;0kd&T(0kkEMlzx$xPdeFsX`DXZE6+ON7-S~_C zwp9c2@BgA8G|oeBcE0>yIWT-;*-iR^{3lSD#sI3_XjbSC?yIP%%*@OHTWy|1R3;`S z$|i9Y>o$1<7>vlSmWs+>ty3U1Z!=SOV)K#kUkgqLHVr>~=Ne7fwReUcNgLeE2xDjh zBC>yV({)Pk+L*l~6B69SpIx&Vs-IrncsB_j|FouXeF)-&t@A(6^raMa(sH5Dq)H>G zbL|LeSV)?{1j#v9>P5nuyO?5k5fwi z^PjgmZ;-!jyI|8pLyB5j)02}0gQoTl4m7ffj>Ce51qDFt8K{B-J^U&St99G70f6`e zc$=ZY!G*J{%*;%7Ha2RxEer+S|p{p~FK%XlQ6J zv9SsK32K_&JTWpd;^gEcCMHJvPA()gYs%q&+6CYfot;lc|IEyI0g3&boSfTR?+PS9 zgz)P9{`N7F`{jf5%F4=yh6XsCo0{4f$fASCFh=S*En(uR0$J9TpA&WV_v=)eVzsdNt-ceoU+(;h`WXF@2+*IVI)rcS^!4>kmri%42w%S@@!Wr(A_sTc8oRx{{Ugiovg^5?9 z^VtfMf$3TYZkyTOBasFd2D~29yYr5Mf`YH#^G7!UMaO!&#_n^xjhWd+3+e5ji3wWC zAzAs8fxGL0{|P1VuZGV=qKz(qq&JY>7kl$!o`;E_pP!YrJU2HNu%S-Ib>k>E+GSib z0cz*{3rD`0^MfU9Y-}TSCPqe}SX@w8=y5Wt=5tz+Mu!vp^~&dXP#nOOvK9N{Sz8R* z05YT&?5J9ABUpa%G&3fYQ4y}kW23&5U^jEz-SRtlT}YZkiN4lB+Fl!4u?Ekag( zPyj_;eZ91_bfeB55ZWfEpcpUKbV(B5vE}i;+0y0a=4MBa26mW|!WgWtuAVSsJ=f#| zj4z4X=DCng)7;(F+#Mo49dN3OG~rCb!cFz{9$RC@7#J8t9gJEvKv)~-Ved%`+WZ?j zKFmKX^-P7*Y~~PNU*CN(LI#j}yLLrUG4yo9v{Y43N$(CwTLgjzO+8l=OcWIrIbO@! z_H2$8rg@zrLCZ}}YJ{{!#l&#f`V@}x0gFnzUZydw;QiE+c6*$QO(O^3PB0j3dD+lk z4}g0BP&+8EtjzZ2@}#-w6)EZ6QQBQYVWBimTM#zQBW`CWr=8hGO`JCHc)4lbd=wOZ zdaop-gaAk(PS+c`VB2syX>oU1de?0?{p+>6hX*hkEoEgK%Qz-xW}n^Kwacq3AYsqp zb9=2>mDvqzFd0bwT%-*%>;lA~SSczjUZU{1>s9X9*jV5yQUF?DxhtB$AIM^xo0`7K zXbZt-R)pux}88_j|aaN*d&Rgf%Y`i?L{afo-*+=k=xN!|31MW4#aUs(hJMSjudPtp*Ep8ixp zkL&XTh~vrTDDXq?IVovq2GWFuYuH;@{tA5ydGTQ(cTNHCKvPgLuE%M$mw+5F#4N^& zp0;a{1O09wK)uM*zju}<;Knv_R#RNec>dYJ-u}Z=E;2GQa&q6m*Mx-SGC=tqY#IFV z*D?S!fFvRyuswoQxNLw0lp-E+`+*T?@@f>1)z#Gj69C;i-wo#m?{Y-gg&!u!5 z4M+?C*y9`U7}ZW&B|V>LmyL55R(4q)~6r2Q?&d6Lh@x_S-H5J|NP}N zareJ*QhFY+w7<||(w|(8w7j{w$)H8^wM{}DH9xV+VR#-K9v&VVy1lc*`1Y-4rK!SS zdz~B^fk41$rjHE{1nElu>ulic`+14@o&vNsEkG{3=LV1SUbENOVgG=SC|pwoD9ih@ za*&D8!+VYXC|gk-1YR8-?_m*T`q3Zh zOyuPHKrNi#dAr8*;_zrd7>LvYCl*d32sj3XgQmg3!PX3W?W%wNaP)A?$$A>xOHZ*G zmgI4)wQgYc*YjPAp`@$P6cZBz`uTQt2fzh01nY~5`S+~w+0K8Vlq@eV2M$=Q;@@22 zzdi@J7*&i|Yq&?}BTaSa+0K-jwss$jjDo@-DyG2CLDRoN%*KBiFjCbml8!_j#X5}| zIBmfDrSdvZ^VG!#f}la-bqsVMum8ACepa#q$4pNQpM!2`mf_D^W5L4EBBiaQI(G&7 z+rWJ8`(hBy%ajZ2Fy7EMPl^zF!;&a;Cw{PD*>TUrp z3rL#43dj87FY_us8X6jQcI@J+e~zT(8$s4*Q%On5X154n=>Tl^A*|B5{$`@wKzCg^ zU9JJf;Nt8I2K#9#oeXpZJioGv3Xp9t(Wo+C>5lDzG7_>I_x_aYL~p^t!C40{P5*Xg zpYb!H2kKCe+W3adQBzT6=jLMa`G|;!sH>}+t^t1mU?SL&a=ATyeT^zAVwvSXe|`xB zR`eIN;@b9i=0L3Bf0qRcq z%D{O7SYB400=P94j@GP zfZ#Wf#LY}i4U(wU&PWR9`joYcDvR-1p5S=Bc;V{>Ooz4pzRu1vq$NmUH#auOGU$LN z1;Fp*6s+{br3w2W;PA7maUBa&(^ve?MFVU69;cSJCo@ z&P@~ok~qKv8_ELRB$?ja_^;z^l_aWJ009fiqz$}>BS?M#lLstJv)2gn@m+S&q+JiE z-Qs9*opS9Wu699voSd9+@$nx|Nd(c-(QVKOUv&B0uKCRJI1TTE>|zO|EC8VZG6-VF z;m4$&WdIcjp2(i4!)_Wd@3ff40l^Sh$6o`f2YTn67Gr-y%|~{+9$19n=|qWkJz&dm z+Ir~d%wC>s*`#q{zkHeMzL}4&v{=6W6GGUF6S8;r`&&W_IRygi|Ndl(0fmF4FFeUxINj<(iTFqUM}ganU28>tJq z9WDbz<&3q9s;a7%mKF=kGhdLyYwPOTz^CRs_8P(LXQt-%#Xqa~#sV6|rS4Hp_WYB9 zc{EnvH&1+D^g3~$Cfy{B0+98<+7gc(fRYu=9Jb->3V@;7{Q11k#+#kxKq_ka=mMgk zOpDWe0liDq2N_J7_vHovXn|bGX1Ye9bUZ+A{p<>pROq_mZT#-JOm6esDM=Hv3Nzi+c&G!h` zr0!s#B$-km}aUYrNEV|vE;)B!0;9_CN@C0mL&<(%`g5tIN8Jl`X|4^Bw*XQo;Em&GALu+xgPMFzy>kuCm+BCa9ZPPExMA0qipEdPaepn z@U1x4`(XlFE0AJ7-9`em9F_v0)Uho7%N~9e{{+*>*PxgLlT;9peBZnPvmt;vBIa>F zeH)jYECAqjz|e^J9P_fWC@CmJ@|7=dZb2C6?+23>Ff9ZrCz00nS`rF<9FD=0N|l$z(}WekPG8@_J6rW|sh19v8? zbhlnSOkE@O*e(Z?BVg~E4A6OBzGk+e;b9P7>unc)gHU2~$nw;$c^~){M=%!Sn00qI zHq0z6D9BUSFdm7>$@P!qD}ez>OhDk4+w=i;D|Tq*90Sh7WI@7+0ugD|$t<@4SOC@Dqinrl!s>N(u}RhKW@m zLl^!hx}JJWTIZbk{d0ufN5EZAHCr z{`nFVl>e{g%Ku}Ffv-s9_tKZv9x9+&y+|HYYKyyGBre)`W_wnpoo|Y_V$oDRre(cd zi8_z4C&CYyq!Gk*_m;c%z58%8lFiL(&)=^?*HCU9p_ImM6? z+H5&Q+XU@+Bh85~r*oPc(JxI!PQEab?j?EDltgleWV$DAVpe4_nb+DcXTegeL&t0J zvqvo9SvA#yU{>$gdlI4*Ufy+6CCjDH6Z0y5yZ?Gb1C2`jx#B(W4;;SI7_5vMj zx;@$dI`^FG1ME9lr~c21#;Vd%wf$O6jUEj7cYZD9UXnMs?(#Y4*kxlgU?2aR| z+;=e*`-90mPWx(J-+}_S8IAab>C-s)w4s!7#U^t)cNrdIVRBs2%lr=eUMJsh9mHt7 zPfnz7(zbaW^D`9VXubE}i+6Yaj&!$hOH!+G&&Ul9?0gZ;Wzc;--+#|V7rD~Yyg!Lt zD<9Q5A*`v9P%#p9QjR%jeawFuN@t8QH)Sv=)}9m5Y3Deiy=xdKfs=f4f)MvPEMsM| zYA*r`y*D>0SEt*YM)JB`@OQ=Y58*Q{1O}n6$zKYbI;d&nG9m^vG_MECrK1??wV0p= z!n2KGCIsY(EG{R@Sgg7i|I;Sbf7`^?yd~5vq-)GJ`><~eiU+NQT2eLlh*RS->XfLw zz@n>ae^AWo7^BfF2I-)oG<}pJOPbc`iPR^Lf}}SdE*EN6w_UG$l)oOmc1j9VdV$q- z_)Dl3y#;;N(d#Ho)25Xrl%bwkJ1?oyJwH6J@zB$$VswQkmc4PkL?H+=GUZ)WQ)jg} z5sJ{MpFiLcmDSIxYp4R!wZ5IM({fO%1X5iVz7H)=@8kAr#M5)#tyJ|GIM7gv=6!I% z!OpeHzlKmNZjis^xP>{0N5odk=-&Q`?|l%SeVQ0`CUnl>(GJV_trfL$DVd(Xpl^^08jI4vvsM4Yb&sEcjxvh2^%$9H<$sgi$Sy-bawu*$OR9wV4RezlUW)D{`|hwaltA zHF=a?wmHJHR|j4v;MnQQCz%~yUq84VTEOJDDrulR3f>dYvnqBqx?-ZiZ*$$A@%ERf zb{fG~bF}o_%#FBPCQI#{8oxb-a&PWvHJ?Wo9jdFQ?+d9Gphs^54YBNb~eeNr)rFN83T_R3c^;6&V0Bh ze;yulTn{9XI)@V`ycUIxsEzjvoMH+uQOzy5=n5%J*0>wbmZR1y&TS5DX?S=oRydV{96SC~3P->U20)Yl??blA9Ou zRjj%01dDtBao^3%5t^IcSYoWATJc&;4B%da6#9lC=~K+Qr!zk26fP#@Z1%{(nSI)$ z2JN&g(qv@9iG zn&UgqM?P&ty9f!?f+HN{ig_GqHe|7=-lgN>zLXcJI;9aOx@jo9)Kq(j69eQI@m>;# zla@xC5$L7Y@0i+W20hHscvTX-71BXYS-yvsKE9 zWa=#<*-nYv5iOnjomA|iyFu=UZ0Lg~nXHeZjGwA|C6s*@-eF_02G>K23NCsqs7~At zGJe@6e(lSoPoZOWbJPe$1ScnMOB!#gU=ijkX=-+#kqD5Lp{44LGuqTJZEQG0U&k`3ao0GA$r43Ea|gWz9U%V}c|4`bkiTCj^F%!iCahsaE( zZkMVE?>6!cixt=REQ{v6lUk}YR16jSkIgR7V!7ytTFcQ*!iSI3V6Is_7}AvLlT)&+ zOX~iwRI!Nh@g+wJ$2lGb2I5Svdysm@4~si%A9g0+y2D~UG!j24p|5T2Z8~l&!CuMB zJIR`r($iH}bVVmrxgzaNOm+~_agAT0*c}=lVmmW<%qNF@i%i4hdY+hBkW7q>juiz- zM~s!HZM!ieYetljOPGJ^_rg6{mi;s;&8n`VQ=By3IqUiQsn^r@cDZsl_jWeQPdPa_ zUa(GfP7LxUNO>JzKV2oBa+V`X*{yJajy$s!P87J;Fmf6S{CE@`Xbs>Dg~-Capkc~viW-8i+OEhh-1;rFPz z*Zz5IEMYrDj8+9rE?@coVehTN;_A9~%@`p-aQ6gvf;%L^J-9<~r*M}5A-KB-cM6v( z3W65y?pC#(uo%qh%2YLS<}+grdONYQd2W#;%p}h6lD*`thW^jhA;m)roZ@mXb>-o)T>vW z*}t+jTBi(o&=;p(A>}9xDcbwReyH_=mS!nX?^G9bE zB;RAl^R0QwN)k+ljUX5W?dBZY2|KOTbQX~E7&|DqIwdGbcSW^XyAEFZ4vm#iLc1kC z`AT}|DO$D6?K)%i)thejrxyYZI6cOf_BZw`)wx_w=Wl|!nIk4kO#9ZH>II+o4XVXn zW(xqOr6_7HujnSV`Bv$Hmebpt25nwF1eu@M8Gc>Pk4!r+f{n7mDBX-hEfj`_hR~+y z-gqk%IenkfH~4T9Naa3Ey6ja7@;eNS&X*_+`Z2N(4^q2L@dVF)dqA%afz$Zq+MmuK z%*O=rH5>6*$c~h*whKwT1$5HTD}mI{fA+7Dgp$yf6Ry+*UH(~={t+$Sy&nkkjb57e z^9i)tJ2>@CKfJ@x98ZIN8ISiYatKF;5F}~P->#y21fe+6q98W3 zjgQj0d#{I~BIVRplaTKmmy{QiX!3We`{&iVEf@3; z|88*JFXgyaqc&dFv3c`s0H*DTzs+)}e2|gZ z6$*}IDr7RN^M{^2}cymI~oL2{f%8%KBT z*|}@pV(Sp?F|iz<2x;xvSi8E<)r)&%CY_be6KAGI^;ng8b;S7(7n0QuxGiwcE}1)E zDM_jf{T96|mvj;6vjeM8QN#(NUe>!d%83o`J9+~B$Wk_KElb@(XIRVIAg$27+uYJS zt={Frv{L=D{dq}H+Wz1$5_H2Qg;+-bwl?#Q_+Xcy4js@-U|j-Ue<03Y%bHHJt4(JE z*m~68)9ich0Xf4C_<b(#-R>1^^}HV> z!Ut$7u{xhv(M=)pC1w3o4XC1rj~)bm!e0aeLb) zP4j}f#uhG4cYA2bmdn>eOx%_w?5qmq2vn+rQZBo{hSGyt~g;>2(= z^GhW+x{ajy-Pnad9ZHHhjU}R_!$$=E&Ljk1nd{ zg#jed=etJ=iut=iH^*e=^LjH+COxP^ri!GzUTi$uS%G#4+T>F4$-)mdufCvPs3SrI zpX_oPi}va}=H&;>VxhjLjk})qmwyt-j?i`rUBMa~A5t8aM>C4h0`0H(`DL^D?!^%zT@`jbdsSSv zBXS2>;F3V4uZ9B#G${1?rxn6sv#oDQyUmA=`&O*AA25suXX>`w$N6*WHglcg)K_7bn^iMznor<5At(LsCcf!$T ztnpUDYF4X%`1VD5|aC&AsYzw+Sba7^VRUchX%wfd3|7E|7K9Xic0R# z{an#c8|-mEd4mzPk-{_((O1I+N9+bjP(^a$1Y05;T6U`3(wI}&X_@|P?0FpW zw4Jyoo+6!&u~lC$dMP$Sj#mZl83iQ$46p?5?w?ND+OQ;!f~kkSSC`eS{AmI=7RPGM z9P)#-T|>7TD1*_6C9SYyGcqx8F^DC%8qUrS!=}z_<0ooDyUr!if`{~DadJ6`>dEd$ za~|&-1#hbc3F0AWGn#&3!=M45{**5JyiI`(_9BdX*JF{VO;NYL8o7x2gzZd5H-&To zKE%J=Un44f_Yt#ysH?c%r&cl&iyCIUKkGN&s+5UFy%1ucORzk3_=q%bT*MM0W_JDq zI*=O}C^m-ga$DkrNAr`2rus>&>wK>%KR?DncClZWf*3Ov>dpV`?KwSY>9mCr&&j5; zjnOBDg2#-3<9sw)T@E{M5PrHIjva+rFneAuu3l&PxHg%5DVd@pO=^WVfZI-XsaSC| zu&Qdg?k%_^Zv3g1{rKqj%<0u$(~Yuqm7Iyvr(5H#)DxQ|OFyw)_%?Q!V3b+b=3<}E zSYB;gXud1tg~!aoc5=DagnE^L%bX}%r~D6wicftj1M(j+;c}VrwJ9J~{}4Q?^pe3^kalBK^Ajc%l1}L56f_F z;TGY`#rD_B&1DTMq&4S>tOg*lF%8i31uSX{ZQ@V%x$$^jrYW_p0)-h*Iwa$) z$ff&Q_)-xmtN%(L>hJc<!gCpVT)tnvq1~o?XnDrWZ7RIsX z92=a-)w%gi&~*x6MRVOzO{^uak==fxetHe0x-?j04-s!TA`!Mm);~Y`v%VxXuOQie z=~66N@nDeA@?huC>(Z@lKno;1@70p;@*_lSWVElgo|xQQnRe0R@GpaX(hLvr(mzR1 znex3|@pvvy?={_}j1x$=CK2j{*v|-F=*s=>U!3=~KNemlD4wAU?CfAVa>%J{G;Z^X6I+x@S6mVQT7-5GjlV8Cd4R zIu22KD-%tX(Fz#P_@s#kXPPJ9-DH29rARtSEO~)hI(Gne#K3nmyxX($T}Xw9B}>4X ze6MtO_GHRy3ky>cew-BRa_Bl29666jfAD|7FnqvD%1M;CJUzco8rdy2>FF(kd5Lyb zHvJPXQ^fCh3k)XDD;`C*`l*JwD_9lz5S=-W$Y6qpIMVO|WjbuSAOx8Y2UY@qB ze}wK>u!O;`Md~f}t>ni_&J>Q0z)2uaM*W+aWZI%0Y!9K=l2=EhE7aOG&R7VTm?iSz z_=9D`&!Ys1)sD-WfQ2i@ZBVAo+B_@{y1X}T*WwlqXf7)|3p5%?xh;(8?E1Z#IX6pKK; z&@6(12tDm4iyXdw1amZGr8rxNb1B^FgoO3nXKk!avxU%|jJIrtdyRRf$ zzJi~Yhu|kz$nt!Hsp(Z}ErLtt>#av{QDK377gE5Va}p?0z;6OeE0eC-?;6%_KV6^Z zE2Lj<#nQ<2Yc)}D&+o9iA&ANQtnVI9L0$C>rFArhSVXQ|n=>wZ=j*QZea{=RYWLT1 z2szl@HgQ?|!)6$Gf%T9U(bLHUdkPALPY7>yh*)9x>Dvmj1S@s(zOa@U&zZtE@dJW! zHhfXn@4au1$bvZ^t~o}RF>0xjL&8{f>-a!d$3kiGCRT^s*h)sj8I`3BK;x>yzVpjt zLGC_1N%#y~MS+K1jis%1zt8(MTh2g-8j*+nC;`ePHcSH|$|d0K<;1YQ{U>)^{ZXpI zd;%ylrdL7u>*X;pkv-0+=8;cGCQdBfV~Vd4DZJ| zW}7#$^%IdeG=v~NzgmTT-XqRkOz8H1$00RT| zcwssx6~XH_QIxqqQU>pj#vx884_o)gd*C{t8Vyb8Va1T;2DAxQABq&)DFE+uN^aL? zYgsIn*4&Fz`P6}a`nD<7TsjUa0^z*t{5iAimID&uVsYO3HH7LBOf(T+|JaSM(*#aZ ze7rG2!9;cCq#ZWcKPum?AFL=o8lG+H(a7hf^Bm}m#@D0UiWs}LX*JlhOs&0rqVxD& zux?~3E$s*W;ZzKoEL3{?Q+oPI&r6sNXodL|c>>GGI{L}|4PRq*O(~LI& zW}CP@pp7_xKfiKVQBKbi-k1Ln=HTG19MokFJxfMr&`CCz%oMm#T6|FZhz-nYK)vGT zktZ1O_`QOa$$unlELSmB`WhdoNgXNpQe$}TKD1?e8f7SJc6C&0>6@v+>~#IUWH6xi zn#Z{=>**Exd-!ZPdN0*rUp8*WIvheqobCF%;;c6`w@l;gJ$HSoi=hKiu7LSG-j`AN zzWy}(OxyH8nP8m{6+RWVfi^OZEz0dq4Oe8#I7CDYhzK&%Nu@M;+BV;fya#u11c&V; zErb8k?{&ph-{X%N>%5Bde*gaN%!h4Dku4PwLJ2I`Up?i3<40!|e50zmlOL%g%DxZR zxV%10W{vl;aiUo$7ZrVl8T2ri^Qb;y9q+AZ=QBq5k%r^zk%m>^k=G`h zwc---{V?;&mHWH;`{{^`G%vqWUFRmJ=jA0=VI$)%3tDI8V$^dy)~ls0K80^|3CJ6z zk?FV$rm$51_Lz*th;KlRNykz`6!lW7aMz>9Iq7z_xGK-{*KD0W+rjz|$C-Ifn?Jh> zfbSz{i98R{gUKGZ8ZQKkxJq@}P9~gW-3#n)=Mw=3vl}*1#XD@?k6D9d>Z6EnB%xgq zeyQhCm8XoKiaIM*_i)pGhg7eWfKbzXa|dWe6m*)(FE>*&64UQx&YsWqvL!Vzgc?4w zorLrL)q|Sy;3X9m3(vGLjtbsB7&xO7j-vBce&{3Swn3#-<2fZVA4mnbC?ZTwl%SG zSu1?kaZ@4gHXj^K;UtBl6m*qOvLiU@3g4Fz?hM!>mdyE*147ZYcZeeByZ1cEO5*sfFLkErmLHAh==TMuykPNMfH(n!> zqU1+&en-3VD3s&d3_^k#yIH?YE?`5{ zI=RHRN_H!H!9Tp6eL!xH*~~QT?^L8nA3E{&&8*!gz{z0|dRQ2jrwD&S+r<;@1-4g; zwOmf@M|~r?Gk%r~)_(1(*$*+obQGVyNs0*q-@Qk!xpX<#hG_d_MpvX9;HIwi@F-vb zRcXyxL!>gf?qZCqOs`u93@&ouiNHVkqBTJ}iQHZeGB>l`rGc3)<|zH4A=3J_nT2LF z2J_F_9=6u@%EKT8B=ab;+kx(us+)+}oR852xyo{8ZrajyiTJqkJCTbkoW2N=!#HG^ z?bv*;-xJY);Qb762w^EwDNsg{SsJ_zCp1=&J&yGe=rpfbX`tH!9+SyQg9Oa20=|B< zr?f4}_)1EWTE#TuvUPBakKQ7%iAUyscFU*IK{Fk6SvOrb-Cz}vH?ciTo$H!9c6ow) zx$cra5g^i5dop*?FpZBJdAUMEj&ops-8|N1TGf%V58x_7+y*126Ak)orla z5ULF=-b{h8dc#T&-mNSLmwgcv3mE?dm;%LeFSLW!(SNz+j}Gh9sDI?hZJ)NuT3}LhFu?WtpX4FwL+ZPR%w-%ZjdGwG=*xu5;X$pbv@;!e4>im*~2NOUjbt$zjptrvaz zY+y}m#n#B7^0bFHo14|>S;D?Oly8_vG8y=T&lIyQE#Vz=8n&1Wu5T8Zg8m4dH?5sW zBKqFO^6|5{-UYxoR46iq^n~=dfRHr=zJV5_U#jVU*bvWu{(vg|*9fLn*AJJeUvfJKFu;dUh7Pso-vLyr-VK<4N2wrQ<2N>)@n*K8P6DX>iK(_ zea|=*$vT)OP{%+Ra zwj9&fRmIHAA|?BD#viMzVYLufluw5c6>?e6Rd=O5*%MQ@$=eO@OAtk=hL2C2tCB1F z`X*MJt>-ORpx$sy+drhZq;wJ^8?#gcGuEdHZ2hN)ev*xC%nE_EnHe@^yF0-ysfc7O zhXp|c4^j4YA-#P0QfB2-e?(|5U2R$VsRs=g*K{*(;l-xAf8N%7Y1QUnth%(DnwE-; zI?*V8=X{E=pp@SbJl~*x{<|MT zu+^`c3AArbyfMyR>4^}kV7>jDk(>XZbR&j3)*;}JQ_W^+nUzdNlEai;3yZ9+?RLU} zGi=-SGdw8+Q_|C8eg_vuk%Qo-zEQ+>noTNc_^SYa6E8`y=)Xnvf0EJT4wI28MgHYH z|3Au4|0U0pKUognqA-u4A^N%&e>OhZOV`F`N(9fU6Q+s`t zDBhkmOz3E6Al=H86oRa6INr)uG{N`j)9R%sz+9d;YQm}>Ui=4t8DaoyQ9u7Fe?Kvu zfFmq;cz7fv5pULy;Wff~dYLo(myc3wu3&iG;`_IO3Ps>d#Y(0DS1_cumIGdTT=$Z2 zH7a1=W^K9;>~{EkpDeuR+^Zq9+Hm=NP(b=zTh!}wNojy1sdyjNa@He!Us1levg}$_ zynFyZqu1!5;i;=%^Fe{%l=MBC$`756m*KrG<{b)KmexPQh1CKzc{Gm>mc{9u3Gpet z2I32BW98HCb#xRfrlT_TnBi=2-T47-8J$nZvhAZDz{j~Vw^Oh$GwH>P@9ZJD#bXv2 z)@^UR*_4w^4FV5GM`P5>xQHUH>a|^nEjiPE|NhXpaOev5;YvNger?ZH2M=k@kJM1MIhC`rJ!TFV$cpSc+6SQZ; zF8n~1bz1FDJm$Lz7%R3;8Vdk)buntHt`ya+s~$hE^T{jQYhg|fBWF`Dw{1nYjJxHT z4NBCRTiJw+D^l8UtDn8p9Lh9Ijp&eM4P{`MK95^}WVANOzIF5YjNdnoEiuHVg6p{f zyeYv5)NQ?}JgC-2b#comIfTF{uaubeV(gSxliA^OZe;ET_&I`22`5nomj6a}<(gmm zE}wk*B@HHAV!;{{zA0P6e=Fw7()RtlIiMQR`6Eyme1Zp7 z(OoTy;{3ilHzO!_Pq(L$;VJ>pcZ*zoik z9-^PIq-=43oAxe#?fr023o(!BPYYVryo!QLnKtv?c@xOlFX?f<$$Pl}INVSh1?v?b z#X4`n`kt|2gv-@??%908N+fcnrJ+cX1--&mKL55$1L})8zLI}dBZIm=TPAU9=Ec6h zsaCOQW9U;$fc|YC*lD3(7F?&aUnG9396h)LS@K}c_cNOqtV}D#L)MNbrM!8CMw=hJ zE3%Lkl)*odD)C6Q21Nf#ggkKclL3f zqy}_lCoCqbvQ-~(K>EG$ndac8hp^l3I^2V+JD_7=D9+N!4wOboVFmGCGtq%HT*{hD zTK3>}rZKXRR&W=I6IQknD>T!)?G4YckkB1_eDAS;T>{-Vjc_KKQrmCf=5o;%LO`fj zDBzE9)1?DaQ)HQOYPBOmQQNM{|r47OVg&6L6{>7eF; zFJJ~t2Bl&xZ<<*CZdbqokhR~kHMLK)jrL{YZ8elMvrTwrn02s)kt2>0Wo< z3zH>dX|+SwIjXMM&(=>_1*^C>D~uD?yy|L1--2t^X0D;-b@>N}3e1?)g@qs@?I8+? z+s@`wY~f^6$_)^Zaul8(x5KCUZ5lhN-sN-_O$@lb6j&4$X)TkC&`qc8wgc-`df#WY=5TbE;O;UL@ReBRIu0|_)#UgtaBdgom^NE)2 zXNZ>9!U~;*PV4vfK?`F8b1$$?A|c$@eD;O)k=V)35&j$*23L#Ub z)2jycM~m&b#Pn%DW39!C|MF~U#Qsa@4DdTwR{HJl1*I3hT__*sJ1+!UiwN;ru%%y; zD7hQ$xgD#I45Ky9>+(4ju1p!$r!kv_OBYR)0Twl`09Z*WSDjvOThHxI8Of6$MmkYo z{=-WJOMQKPBP@#GhDIA(%UyDo%QyRyX1pib!l1p08XlQf`1;FAMl=*y;(bFq@YqH@GNI0NBTaI< z8!PrB-NSY?3z6-hkp0O{s~H829#g4>BV*g;pZ;4muDdO2*r*eHq($za>rM2>dY&YsGi%PbvyJV4;p$ zXy?4Nb5hI6*8;y|oMS5E!r_ZnMWoNOKi~O;=)vRA^W$)Lv#ir`D%`NRtHnGj>;1cT z+9^a^3stQxd*i<~@Ovd`@*mfC>BTmWY&=&B^7b{DeQi7mFfX}h1XoP6Ax6s^))Uef z&JEoCJvZ_w%0ANZY_12YmeGR>ICw>G>66WSig5)o=@a+Nk99bzdDtum4i4L8;ZRaEHkPRd$54c(L_ zQf!_I2Hqa7*e1b&N8@ikK9BxVONSl@5t4UD`u=p96%@IQ;^N2Cvsu0tS{c$>4%Iu~ z0!^3hrZDH%&P;*(HctgBWMv1=QqrfG8Jn?$kEqFije7o=h!!LKvv3ebp}*%W)x6Qr z7`{;OW+dI&aWD973D4&Z7(wUJZH1QFM05b>zF8Yv4lRyzaU|=!P8t&n_zPHZDoKTJ z97y0(C3mZ}F4hN?dy>S$0jMd=BSVXU8G1!p1Z*PQ4dIQtj(kgfLgLU0e#KT@RonoT zbxl{Hp-AP+$Xb1OXkl{DqI|bK04c*CigI;^7judFaqiY`h|1-v#I-r&jItaizjoHU5iW9X8^jC z_*Qv?9E`l0W)8_Lzqzz{<#%+>p61b_lO^3VU;SyyhvLzkkx0tfSzCEuu6D=Ei%t}o zd2>wM44hqRlPFJ@Y{*l zW)=UCm>m$1`_bWgmtCO(3@~Jn6zi%?NXoWxGyAp252!+s1#AZwEcp`|{;|QP?io<1 z6<0uIySO%i0ODKI0rJOQ4d0dZHkkizPvc^GaWu(Ob!d*!P zoTpRgZVp_RYnIIODN~h5hVGmFJjSxpXU$QeyEh?X_>7ghl_Un#TZyyd1^wOsoE;ib zjm08*ujlr|o3QO>lJN=5#SpCuCho5}(L54b`%qG5@}%8u29$fesWC96^|x>1C2znD z-H0Wj=ZXCMrW+Q0dGtitSN4*BQ>zpU_kNFt?LVx)#yHK}u%t$1^XmCIFby=5URBq( zM2Q>>fG2mKaJ=3lBYEwnpE|sypy;7H?mg9(KcH;36uCFUa%e^J)YNDU3c;OmbI0$Z z=j+xW2bn8`^Kod(i^X+5%xtI`hN^IjYwPclRBE<$ZjjZ({71;f2*PX%hH2Fn2q{2G{JT0bVUIOWE$-K5XPB_c~bS%YRB zp@4y&<>D|CU!R^VW-6@$TXIji3|DM%Z;DZ!L)}2hvFdXRU?|Sxw8tqJ{dq?-zWsNb z`E5&Zl35V(FIhFq3pZQMY76ywa@Xx+{xm>*&@pg;gg$D9t{F9*yRyytrn5ZfV0~tp z-s>p`+-MRx^ucD=?r~aH632?m>>eJ=HrYzV(Wf^JUbi)t<$3jPxw_T6mIP4gCvrJS z6f4P#)$peHdHi6jzFWU7Y#r;PCMZ%(!pkZrxqbT^E!2RG=bWD!JFD;*X-72VdNvKlfeQy|U3jU6FNl023$kElLm0K4I|ZLo^uw%BA>8C$;YNd>VC zjfN5S(ffC{NA#T~UI|lJ*&XiGcy7qae5ptm7UxlZft@gK&OPXmoOQ9pDr9hz`N$f8D6#JckRzgSyKZm&5-ZaP4k?&UPU&1T$ARHn_&%+IOV zxbAjm`FWIG&LPeK(g`_QWoznz8`asZe4aCu{rT^xC=_y9{fzC@pzX;bg0Tb*e6&4( z9I)@H*vxj1Z!V8yV@oUz`sDF=S=??r$luZoXC>iSrF=7l)1v_t#(pQ0LIVRt6CBDu zxb`413jK;rk03`*ZLpp`g?Nl~o^s@4*vEGnOe!&Vd)!v=E%?UhR`?cZrD!TvW5R{b zw?t9{(F#s?W65gFde&ujwOfLboqTE?sy-P5(3%&(HPrGI{ z`z&e@p5aDPjRA?%^|Mm!$Wfm% znMfN|$xrfvle&o1y7FgS{d7AS^EzKq@iBedWwK&NFF9>vmwDGW*lfR@b#{i zu#7+@0o$oN^M~{mTpkV`8YctaU!luO1-ZP^FmSP#6g zYP8jrPw~zvZ!nmAfNl_@AM;%l2^C>|J<`Vj5c%jDBi~*LaY)ARgtj<&P-d1+6;`!@ zX^Xai=Dv4Fp&D5$1ckU6cECt?NE$80n5oZcCU(WwRYmT>gz_y$Jv)UGE#dByyz8i? zor^tr|CJ_d-;m>V6C-^kiYyJ}4I-n|$t7#bL4XM)ywJ?p*0_* zVJbvlPHH2ja{a7K?IRXwne!<%x7{Q;`;sHeAzlk%gY^yJ= zYqgzQzkR7~_|@y=lIYjVBe@$Hc!=K zIAkLtQ9uQRroyQ+^XHzvPMYqUuTij|<}=f!d&=o22Y0EcLEBf`8s#JJ(N&|#>HVWa zkRc!@{gANtvhP&mnTWUqJwik3a&kBV>WgH`zRrV`+)cZhdo&hoq4&nb&FLga>WV z(CHB%jt4_u@E`@Gk2HB7bw$>YE66qShX^ZpXr>~GG-PP z2+wdsp2p8ukcg5D(YE^!0OwTE1aS#5=PTW@?hYh?yPTPNkKcXSwJ%v;Ql_v^Nk5Aa zgq~K8gQY1fiYH2AHy|KcUbf#vh}Jdnm|4NgS^uFZ^^e3T^KclicU_wKA`dsUu2&!3 zU!}gm`par4ukU&X(pt>K5|}rO0(t#RF9cpD6RnFZH+s!cr=fXpuGX^kbh8=jyeu4)8E`tC*uBYIA)DT@G?9j?7U4jxm&lRnKun3)+EW+^98A3a<2 z*HQP<(II~gin1wP^9ogG{ye>gA_nVf4ICjSgVX1S;BA0V(RiDSt3FdWN;zgsFViAc z=m_MUO)d|>?^pQqx=xkrlJ{7Gt^oacZD=yo z_$-eH_G~Db}01N>WF*U0dyI z4h}a{fXoqXiHy`Lqc|1xJSTQ@~EwV;DoZICi_&^`8h*lJJv9wJwhR_1khp7(x(dllzZG9G>#o3V{Hr8!{x7-WlC`b8S67%oZcGr-i+V~!bGxZK`H%=WqEgpz-Gv1V z_wLMsYm6(c)?8*6^Fsex1lyta(DV$Ry16Gxi!3I}IW~jt@38s&L+*5}6*6{Uyxo(j z=j$EsNhBj;J20x<%?>KjujMn_xIc=G^dzFMM#GOf>Y-$Adh(C5h{MV0Fw_Bj!A5?s zDl-#jnjR9gB9#OL|Ls)g)|~Wh+%I<{{3dqhK1-Eh%d=hd`y9WD#uKTl>xy@1!QrX& z7f^K8X>_O_3qSKYqBY_Z>@&62(!eC)2DWsSCVhLY_;INt`yUPjQ=3V3I zBCoV-@{O9?0&rRA_MCR62l4$(#>V7`pD6?b0}G!Y&kfPKX+`fKO~_|&e)Gjj+%jVU zE7?IpC$_p=GD7#I5m|h?6@%Z+7bHcS?YT2@z{1II8R~b~rNyH}$9mjO7nK9t7d`$D zW5v4TYgC|iRs=bsI*?S!DB~L=M@0=qaUU;B=r>UvbJOHVmC}nZnAhbguAQ}ltyDez ztZG~`9ZsnZ$WbXwdi0F9+itAV+MO!^Et1Ogn8j2kZr3!v$o`+0`F|fnEph$a9T}BG z#AV&o?BX~)Df{eK(BV{K_|?L@XRmv%1#m&%Lp5ehx>r_NY_mh4Tj#FiwFHZ{U4pyL z82Z1B)ON{aRWcrWDFw0L?$A(fLZXp1tF6y1Tw5)eua)2GYT6-R;Q=UF@s5nG&T6ki z??rr@nU7Y^SiPy+z7XR)ZAfZR zzkSl+Quq%L5Jlb;lHF#~-pD*`u*Kzj4f7dUgjgKb5mcO|ajRzTN-j7VM|4Jl80uYr zLvGClkV$`yJ})+Wol<)o;z54iIK&oNY@p)PoLV+^m5Jc=1TLs89Kl7cBtlFr5EIqF zp`H+|X3oe7j)EaI$EHP}A@dsfwXx_FT?_>eAHcgnRXt3D7@x1M_-u90{LF}-oDBLz zp60xtb4zw(U-pNZ_fm4`f9nZO4e8x?Bx%(Zxohe^B9w24gH9|1FmaG0189vzAD8YK zK#@H$A1czM9wrvZVW4TO~nh%f)1db5)#?-B`2cJ3CV z5=$2jcIbdV>{UEHp|XP;f!xEzx$_~RZj6SRriwkUX?fRg=W-W1tr}hC8^AvLoGrWkpO!)khr%c7#GU`BRNC;{J&*OGf zExy2kigMi3Y3t&Jedm-2-C1cQaq_uLH$ZW+wQgI^d$UkW37f?`GA#6N@2iTdjC0j= zvW=F8Q>WtcaM|_V(`_}3{tFRu#?!NH)zfBP*a{hEYZdc`o8P>XYcGc`x8z=Ip*}*+z+!PnAkE=x_z;F0mb{)uBYG9!YyW)4MTiM!%s4rxpC1-y35NU&e*i19aLc~{ zOyIBTg3YF$9GS;Ru-Saj4Lgvv@4&7px&Js58mD+v25&%1#EKtZ+$~OJ%4V-+?7({DMwf z;IQ*ZtQFOq)l~nOZx=&><3$vchw!Xh&HVaFfBy@}D(TrzNs00y8AYUVYbSG)vW~a_ zP7+D2xjEMS0@n*IX1n8hAy2uN{`}O*2?W{1R`1veC8M1@CE_}JZ~3LII9gOiJc1PGF1IQZB;YN-?3tlkcu!}23_%imX*CK?-SgYjq>an}=eR;llb zq0>XsNMq6E9n3nh>Aan=Djhwt!m)j0%CAO&s5dEaD~6__S+zX8=tst%5@>$d?~ukL zDht1r;O1$BmIU~$#LcRuJ9&SW>e5`}xx-&o=yq{-Ui4;8p=uqbsbRW*`vyyVZ2uDO zG+3&deTg+a613xhKEKExs1Lkb-}W&aggG)!T6N3QUY$b7qd9l^NnO)>gY|$=rg&5E zMBapD5B{#e_TnXQ0)hlwfWZ>@6aQ?k`R9AAyy)&EC&B8-pQ;0^i;7nkQE5hb72 zJD82fE#zMuef}2-FyJ;cG_0to&M$ag5~6V%p2q7XZ|5g;Y+Boy;ef`?8y83&_Ed2oVrwHnxDQ(PG+!`AF<%_X{pbE9P|JGliYp0@760c`m^9oDZ(?`S zsvh2N#pAfObu{lW7qGqj(hlKYdgO=SDz5^@&pyy>A~74i7vhb{zt?%;`<+u+LA^n& zFi3##zy5XQ^Iu);{Q@d{VBkOhBh}6S`=AS9#-7=tIhiDC=_l3ne-RnE-zf*kKiZ68 z2p;XJ=f3*m_Sd>lIhe4kbhD?8k@7WBQH-&tghCH!`$z+C)8%-DDa`nzrOFR z@FM;u!k+TLrGjKuE;n?f`QHf5;n*GW8{|p4j{?iyfcre1Jw-AGyQ7a3;AR6=g4Y)e z6k!TFRUVImG$7&S%U>;*r-afU#W-ixJ!*=j+ewo5CbkrjvNJYbz4#&BzS(}%Fd!}t z*W_%!JKG%vgnVA21t=-Ge@zx-rI+*bVt~)%C#jnww>E(}mmldTF4u{Y{}2}T_pYp9 z)-6)Ey^WgM@mIV9tlK0h4m`Ej@lLw<>g*07*`b{=-ak}*o>JQc%8V!}{ zNm)2#gqGtamtU0FJl&-8Z1)lfyZ{rGOTpvG%Mde#^{1u#3#AgCM+Nw5Wk6Ij5BJl2!p4D^XTjhN))zH{CI9aq&zjPq8gf}AE#wsiRw0e}C1=9XqSGf9^T(Q0dTkZWuOAxSj)jvcKJinCwQrEV zd9gYWjXl|CNr*HS3pW$S9AkrR3!^Eflb4e}>F!$;*TgUXR>Q*VJDM-m4x*RpKKK8) z#$O*0QvR5!VYTmdSMjpF9a+H+Q0{iB4Uv!*8`6+D%;(sh6jQd=tI)8VWazp}+uLf0 z`dFp{;G{=*&-&^G_J=v&)Kz9OJ9rvs#egS1lN)gt)mXkf(fs;xJ-N;OR1s`LlFTNc zVMEVgc>wpyo7RpsIDW6kN!eU-a|86f4L5kagQ3YjkL7JEn=uc|g`L4>doP*|n*H=T z3pj=zucY}n;akPy&)8_(IiXD~c(I`4MNVr^T%ftEPvhYd>V4GK0J|PrW>fruSw%kZXPE;+*ScuUHz2cgRMsRaMgvx?eF+ zDCbi`++O`8dsjl0AHU4gXV-9?a2@><dAwY0vaDv0&?r`Tl=X~EecddKZnqRZJ z_ujpG*HhJ1PgS+oFLCaSLKd%VhoyA;Du;f+Q(GgpLg7V>oVd{dKFPyWPC{;(!+}hY zW8oIO0;*X7&34kv6BHYt>g%{awoKD*$f-|Xq)UZ%G2m@HRhP3H=wcbYRc6bVRb1d6 z9Ey2W(~Jm^i`gCW*y;F(#9W{rez3jb3XvZPC!>Q13?(vtZ;gKekXg#NdL8^eEGw-Z zMg7unHxz{dAKxf&r&TbSjZeniB}rs361mwyBQvSw!#Ut{^oUR2g&NYrkvWvkom@rZ zPRwrdCr4aTHVXVM46lAj81X?9+xZo% z`M7XtT1wJi8obDLd_iAxh2bpVCfb}AUd^}Xr@5$xR2o{YBw*iIwmEs~3uQzEE-pVZ zg-^`(q_Y>6H5OeoG{lskardo~zhad_ z&3!f?Qp+Liu77dukkMu!V7#sa8kjnNFex;Z@-PK|2yAN5+9Q0u4u6n>N`2&$IXf}w z(pr?EjQn;?M?9EfokehJEb3|bcN~dl0-^q;F1ITi*3-#?pUyu`%TeR(@ZPu!@e8Y( zfhvQNjP?Ikvl*7uWFmI<-Si&nCa1nbZGE)JFj>?+d)__vE- z{1RMJQ4(lBhUOSgoHpbe*5}91K(@&GZOMF6Z4R% zQ-8txVxj>v#Of=fGw_Uud9Rm1z>X3f2Ed2nmcidv97BhY!^3v!@$%!_h1bUg@4k+A zAzBW!ymfgOoyzW)qJFWttp1CGQr*M%cw`a%I%f34&-`aHDJ=zFruY1uWBdYN>AFog zoWIJ^;N0KO8$pQK+|L^cRO7n;roH93)cTZ=kNJfl^GAHx*6YKzu#Yp^=n5Ql(x|!q z4XbFj2=71_`gBS&0~^J*sEhBsn|PR=&<=&lET{8vh1lsv_K><5h4Vw*G)3yEvxYjn z_nPEi(^3Cc_mtGZ=!SmM)a65YW&2uU*GNJm*8Ab&jq=*X;;a!#60$qlTyvzO214#{ zx^X3vcs0@dYVY&sx2Srv<^InbmTdOQ5E(TZmbhyYp@ku>-SxLQVe=HiMHKS5CL!s; zB~|J~4z{$&McW6trra_wQG<4Nl^@%l!T*xj>>|dZEzc+2ciN_A;aQTD^`y^(Lf^a_ zq!>Ky8t6?mLu7zMiFWDGd*O0it@5(j{o&p_<6wb0>9oOidF?7r#JInnim=0ozn%6^ z$5#~aSGXEBJnG%I?^rkD(5_ffLBS-BE^t9XxD?sg7|X@HD|n@;SB4DOHh2GEYlT|F zbjg3?w*FE;1r(q$^Nt;i&9(0U)IhU8iuFY5)YJ&bJV>F@6;M(HxgYw*w7q*@;2T6y z%~-MJ(b+)`Q|cCp(D)8-gwkc#HGa-DVm5Rx)WiO&M~9if-`_u1^=9e%Nf!%Vfcp9A zah0*#g#Z$psL-p#tHMl&B#SN`BpZKp#+*Mx`dhs5PTRiyZPY#@`&5%}HWG7h?^`8-TRf1v6Lpmxh%8 zOhWbbX@)PW3xtSmlht{($Jz3qe{m%IDSB=Gc+2Qu5Y1En`%0X<^bHS@_PbgXTTu5O zf`2XYpS{=1L@2xL(gxmv{&Ss#zwJv5_AbE+7MZ4ht>m9+X8npOoRK2z;3)U6J0I(f z&BFh+0{BX^G5>q>v)%v9Xxa1Mi9|{NXSjKGxD5Pz2^VAEVp;w(YOX)e|IZW@AH@(J zwU3ehb>W>$E!qzDGIL?E3KCj-ke$?|z3Jw&5C0hy1pl zH{`|RteJ=0#qs5I%BcsGvyGR<9AdXDJps!_Rlw%fRIaze#JM$2K1; zmPQL*nzLR%InbOEk~2%72DWpD@c(Ora-TU8DuX|4Tt#-k?!G}^DtRuAAm>I3kEEWt zIKQ{K1U_?=)VqXL7(gT?BqbyyeU`}*6x6&F6y(j{0s*-PvxnZ+KX}hR5diFE?{PKa z!^$yxtyp_~LyD3F;3wgReK0@EpNuYA$sv>Xyd&8fgE%)DA-Ye4-Y=*Qq(gm^& z$(7L@(xG_bsh;cbt50^?W;3uYe$$p|oK|XKD{lEPxY+c8tv$^BG(mfFlOSa7UMpz_ zN{s�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

YHhtmA~tE3>; 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

{hWdc4+GWvR39KeAWXE{K}h+}3&G+`hkP~ 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

S!m{x($v? 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 z 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%0AX=>)^?@oU#;Dj`bTytX7j112PD(WDN}89}OY< zc8GT8r04jff?+#3b`rqG+z7!F&7Z6(>vsD)u;|5ThpYz8|IgQeQ0AHOc3(Qf;jU1( zfee850gknEr>-;ZT>^wQ`=P11X}oUR&~=ZgG3|+dp>i~Bl3KN}K(F1XC0D8ZJwe;T z$$_03Dg#DD_y(zc-?v_gw7wih9{y#x&7+gL5elMvK67(8st|qF1;9>yi&U zFF$8J<-jR>Wcr)!7$7G8nHi^cU|vQRkgjg87(4oM+;cJZ5y3xy;+&gf~3YscsRG34b&rYUZLiA|(qrFcp#f32gQqIw%6Pu!}-O&HPiPVUcBR55s zK_FlorOKsDEhx`kwgPNQJ#}JLMz;vFQ|!TH(h4PSQ$5?^g#K2hcK*K4K>+h>cp&>m zTkU#x<;grKhQ8D=KdT4%(7fQZ@sXj?Uyx{F%y98Kh~XKZG5id?^IiFR`FK!Xp?UEX?F-* zK>=!!f)kMazWa?~IjUxC^K{}sSGDrnlzxCEX?gdM)=FF|#I@3V*Lufrwz)_V=}>0< zZ3{Z9eMrZu80=n6!#LP>^4CBo{Bll5;A4h|bGYVwH1wyZyf`A+;4mHRMZP*;_Ni(I zxwo&5qX}Sio&y@pA_n-4H1oc;AzBN4@^=^Rc2#K-eE*eD2+lG;^l&nsJp68oA3kLb zp&%1LE_S$TUhk%_Gfy-3;O?0AxS2i$^arhXPLaGuhToOVUgd2VTQ71%`qUD5 zE}@;pp280H8=gzQb=ePa@S;kCBYR$F4Cm_zxQpRElaZ;XPTPzPwX1ot)5Bm2vk-X zlXk&HY|A+)o(zTF2YS@PIGvDrq%KRQt$4T8mHo$B0KjCvWj*J3Hj9gmwc%w#tQnrX#_ z!F4)o3(i_AVx9=w+HuuGi+6W$cppB+1iaY3=ud-NN#kM@IYZTLJFVuNFr|y?_FCo2 zCA7o&0q6eoxdFO)m)`%JYg(Tq-hVPjnqwMm4u_1Z18(@%w|xD2q;PY2y>h_ea8`k> zqKw{#u+T>PkNz8}A^s&$UW`e(yQOi~+Fj*HKuM;FM8G6Rsx2{Ul@Au9)5~}%M;%@W&Z1;7_#xt8_DqcIh{45 z{qe@7Zbc$7X2-|jg17<8cp9BLKpQ0q)<%>>F$=w`%U#U-TS0a{o>E}}#tq;yk$#`p z11epvarREqV)0i-!qpu`Rp)KI62ALJfIgnk_3JPL-oYh5U=cMgEy%KZ>IrQ~ou6D} zF$7az{;ErHI9?`ozQI?wG#?}4xgv=kcR@lqKEnB$tYh3Dct!5e=jY+N0Dq;0%qf78 zg&QmV>Mv^NcFrKg~CJIe80cxvC~=5qr9}0L5FUY`bD1}FLktCkOP@n z5H?B{f!tk?e557V$0t#>~zK9`M=JC|-Cu*s z)O%JY6PlgI$U{>Lqg2%pO%~GPb=rDrn6Ue9NG_k<96;!P+(er) zCkFyETfeR@Zs*EZ5ib(pqNTE!nXb0y_SSmYe7r85AHO{y{85n8jmkH;eFb{+gX5M; zzn8%#UnV=&Nrqu*)be;WD)a1TH#xit*^N5Qs($JIsj`||(gc2tQdc!Iu^Ui@=KkOu zHx(B+w0^|&`usXan$c1*BdXNXf9py(mBV)K-LBr$(nf)Mbv9jeVDT`r&CJl+-8~Qm zR{-lVJx9b_Q@Y`mhLo!YZHWNDi?xUspm}-V=SgnZ{h~C2g4m$o)Y8bXrCF+Qar&Ty zk~>Nqe$k_;^6l-vFF_s#N*m?kgR`K%!T0`(fQ~tY={X|uU>C|mjv_^%gNiKhd~hIO z_)_;9fZOqY8-zyByeXuBdanPKCis`YoK^Yehf&YHG6NCUBOKk?3oM9MY5RzR2H_6N z-1)_$nQd#ftGx9Nig)ReFFaBZL-s!HF;I4qH{*2cp!_Ujf>=r?6hby-7vRTQgOhN* zx6!2%;Rq{*kYO;`v%RgMwjf6{HX@Xr5pTBkuut6=qqdHi;j>nFZdF#6fO|S(g4@fd zyY+;jco1)ft-i`_%V=8lu_Md-=ErT!$eD2UoPaav3l3~$MR>z3K* zM^aFp(Yt@Rdwb`+@#v{r(nwimrsv*lw`aBrC3w`FE4y1(acBzXeX3&NJ%4dgqJy+v z#cnV=NRn}PXeSu9oMabA6P8r#sGwJ=`4ca6IB{;VPNxGt-Xu9$r#5R<{;Y^?O1Op<6 z`$No+w;%J08_Ae0hbG#%NfHJ8pYZ*yJ0=SeAu6zv6SQCXdUcksNwbK)ee_RPWn#+S89D9*`a5fWmt%%$x2zLs+4<*F_ zEm9|y>%3|rAjkG?=tp;qFbgY=HJ*yFs#6Y4MveqCJ72Ty$}ua+dCN#%YumDLzl|#eww+8vjh?340q_qG>GIa^T9b! z)t+XyBg892hDe^Xeicxr21Wx>k}9rQCYx^N4W>dc9k)p@cH?$xL6a_}J)ysbFPhOx zLy_VaD0vkw!c3ePH@eJbgg6|g4b3gIsCR&d4%k%l)QGuVK3>MPB7Vh zTn`81@A<`FiER>0Fu9M&NaDhJVP;c;?IDG76rV!R2Hk|m| zHH!HxeI@ltikvlt_9W>Cb))_ahf&irSg85*s)K=X>CLZ=x)~+w|33B&rxp88m87?@ zZ#*82e$WAu0&(XK)+&5gG&*J}x;9^bR&kcXw^O6XFkOpT|EGr_-5faCnWMJ-RRX zwo2qBOkh-DHlnV{d22jrht#-FplSkIk*AbzBA`I;F|PN!LIH2MVqy!fQN)<_&ca=-^>0{EedHN!j{~1`K-y1bDyt^aH=-U>X0Rw#;^BK5$Jl^OD&f>C z$;g)ozg;;x@9ZXAHZ!w^uy4}k&Cut{^;{C(gS<=Up?uHdRWliOvMd_*yFRR&&H;8K znv>nWXTfH~=_K}jypr@H%NMPD(evtVR<~N2mX&m`JEX78aB=dh{$|f|-7>4OvAI?6 zkk)a%QQ}2dg-O*4nAf}7P~aglR*m~Y1wniYQ01;v(kYZMk$5IHhVKx6h7bQOJcoNY}qsu-*;s~O|O3-!G(x~h2(GyOqLeN zD2Ok9(fz1hi0w|}Xi-zhXX4?&H2bR=Zf17wk18-A&cmtoS%=_BG6Axh1{7+>x=_*(ITsk4{4clOD!D<|6&&et&l!l>z)?c+P|%5^`T zmSFb8axhjNqfbB77FK-icT((+4U~#T#82^GK751h8(0_83axB;!IL;u6kl)7N*%M0 z7Pj)V&MJhsni+4jxWo3_Z;Y@>PYM4}0KZeVD!UB#CHya|hChA~l4LP}k!)3>7$JS6 zxncp4LeuFcS+PG$p=2V7Bl&#pzJVFT1`Qeik+ipY>&I7uT zG$Xe=IHVK?XCvtvN_Fm&)I|Jlo-@Q=v6f)K55_gXc?dW%us4juk>AH@_Gv1@b?Fn=s-h zldp5J6kFIa5eeO7ii22Kfs8euf<)^3=aVhMPELHwT%Yif7o>p{>MkgHyk}yK;SQW-1C%WYZ0TVmY zTUVHHl+(_tC;yv%s(HcsyMdVl4|fknWu%MAeJxrw?V__fTUes`4i+Ff^UBs5q^*tp z+Rl}%PjUxL@<*Pli|rYOeLh(1l+@w=vHMcFIBAy589IE>hp)TXixGS2vQC2=+Vssn znQKm}rFmaX6Ze*zmaC+9%g;C^g$pJ(h5huFjhD-eC8U1;JEO)s4=3!pFI9_0qwo8v z4Bgc!u{X%6H1I>Dd@z-I$B=3@S1;^5E51KPt@BZrok54G66vix+W%0&_~j0JT?M+# za6kP~{sxymfvYnK$ST2ckEF>{Okw?@Yxv7IoqGj3R`H2SVGEGG5d}A6fT71N<(IXg z+P`2kj3|(RNXCTrC`QtZpCat;&C^Pm7F?Dxsb2ji6Xd3rA^l`#sq~u7#B)0O58^oyz_{Fo#G&hi1SEBHOH2n7F6Kj$VmIsa%n>`j*P?{v_a*d7ru3 zj=G-njLGME5N!1LdVLQwh07k=B4JEnN=PVeAf2PS6A64G8P zbu|BJV+u_tK@9$ZFw9YYB)qBv8uoPN7E&f5-V$OEzcQ|H}K4E(9 zfZ|r_X>8!G`%s2j4W-_t!Zyt#)!{JE690{kYcS(FW)0C3@P-Q zD9~s*OoX~pne+31f}wH3gAo1|VsU3J!QVup9k)8x@g{|}g9HQzP}ttx$HP0m&plFW zj?Z7F8W9E*)4{506z_t!g4bC6!Qkr^5FO{fCLsM7vG!Z?X(_~vL2`xHvYe3J_u3Y5vI$2*)(6LZ62^*`*_2C`gY&;_VbSCQa=%$WIBG=`^M z)hU5!+Xmvd)R0QFeUw^o?_wDtZ}I3kifDmH??>@BkqFB8ZYsEAjqjeMh~dY1H>){aJhu;)9c+R zwf_y1q*OUkKVFhfutWGvsJHdU!iJu;ek7^^o=T`)D;JNJ`ZPtA6MajzlJfG9Hu>1p zCIa}E11lw!F@y5b_2hllmV&4TbJY>aM_bWoqEN>4QaLhbSUxN!7l%5MzrlP(b5zmwl^=vc? zhsaC{;G2DbbB|=`yuL&H_yqt2ACR7MQ$ghjR&*eB0u4RzsfjJ(tw-3DBpH{<}~f3 zNt-{?oix~C;U&kmecxW@dq&o-aC5Q^wZ<&d=6gseVsj*N^Qj_fGZ;cx98kWtU5b(N;d6KX^upD|~LGLj7h# z3A@=)W8szb@=+7Q)0#~4rKE7e=@feCHO}n6)Wk2(8&`tc&2_%@&wn!^wU@57^Df4O z%8)^9@Ps3p&@v^qS?(x{aFsf|1f29eMc4NB5?^CRyx<(8(OCs~kfhNF>T!bUr zKAaVssEcEmhd;L}9IhFVW_U$u1n;$2F+xQ6F=7U@b~Df61PALW58AK@lBO#S=`ybCS_6pm^Y1gasePbt6IJtqV8k#EJe>)*~ zAj5fe7GKb_j$~|PM&)n%FG@}SNe!N0m|2bEkR>suV>Gb0>q4UIYW3Rp4a-2^@}$x( zWLtin=jE$kqu1wl0lLelfqTAMN#k8I=(N@&KrUhN%WU5w%>qT3{jS1;EVoVB9)Ic0 z>)XSu<<~W_AuZ0}OyQnx;9x6dUDUKIEVV3Tz5l_5QLX=}YZmJ8qje=e!|(4i_)H{c7({Q9PP1@cU!_v6wPGgrX`|U{B$i77HkwjdHK-+d z+rjH9p5@ylaZkFDk;4(MDkG<1tvt&dLF%Nztbrt_FhmQYMr*Q8i=?*jm}0%_xO2~Y zR-Srbw~F#d+U)%N+PFOj;Qi_Ue6+*m`p!M>mr}9mRVxgkM)sW+>8B`6@IYzDo3V1g zQH;Rcej+^#4#PL5s81mx`~OdSBP3_8d&6LbXwkaB@zROvlipoEIlLL?{Yd5av7n|w zkn~1y0A`A!brMWg>u;})&a&bLbvRSZ=rT_pJYM0$9+(_bA<@(GH#{)qT|WlRIVI9! zj#rdH^Z~!r5ao(+<2>GdXnf1?eSql`vON?23=VT2bQVuxhh)_YK_-Kwk#gkhcZX>X z{HxNPxC=KHXq`Qi8V@H}V6%c@cvw)JlO5Lg+HqT&;>NqXN{Eqktf+_eJhF5%7qPCT z#mvpTi%%K|ezLjSA|n5&9~OtdHv?w?-#0ytZ7W`9rrC&&3ov z^1hHXyr@=(ivnvYE4_wsu@LeUaw|4|4LANW9_&@B4Xt^Y2vhK9Tv!84#~C6@LAko( zecw>4%8lA&^o(2>QzPjYM<(jDI?TDlimRA)c=Pqb-idu))guLo>6#R2{yu}+|3y3N z$phNG(EQ@@K_A-;GBuRym5;#lg!PnO$sY^kU25t>=L8vzOLGi?fWmCIhyvE_Jz zv=Ur8>m5kLJ?(Tdy@L`&Nw>>h<~;=YguI`kRTtFKjO68-J@NamCIN35`@n|Zs)!Pe zP~K_6oKdk4MF`=<05XOmuIsO6Ej4}lI+iDJC>|P+$dNSM<@TUBZd?LD_@kSx%b?-y z*eGEuRI@kV$N6P)*WQnz*F+0!0YD}8! z9=L&3pv2{@#sEwjG4w@e_)s^}cgSuoW9*@En~&d?laN~4p!z>Q5~MZM)8Gpp!mW}t z4lpDet*mSUHx2;n@goZa_{H-remVig* z^9v&eANyDraV#`iA*?3(o`NGG3+K&*nzY9<+NXY}%BwV0TH!Gf{i1nS|7on}>X%m% zD>RywVM%x7jZSb~rj6k!QyZhMv(~u;dgBH?V|YUjWjg{*ZU^+p(c6o|U`(H|3g72& z^hEWw0UVUF1C-kA=JS)vb-``$OF`@@7U6W%KZcM7jPcXWGha)RX4Ko~jEXfgM9HO6 zZKRoNRa1x8n#RN7JxuG6wSD3x}eoHCJX6*4ag$MTMkW?0#s+q%+a1;~cCEF=uP|i2@b`q26M68!J>8HseTLTDqejQy_w}OYlWi`?Ls@3oLB7!(= zU&z_;*y-@Yav)s6u*A6+>T@-e-HWqucGqm+g`xmEEaIl~Zaqvvdwpz}_UbCnN8tPh z3Iwr+6JH18IAHc0-yaVfa;(b=3cb{kFzha@FVGZ0Cfxp6_oQv{lI5WQeo-gO7QX%VB98zkoU&b#tchg z4AI?rmQmTM>9Ie=?Xyd$2xBeQ+IRhWNMYqfI$jx6*6_}<>}H{r^fVsw0oyY$U}f2i zJE@RNKIzVWyWCJpZ}P*vdK3=(iMnUE>yLDAH9bezrmp#tO_3kFIVcpHZJ#UzeoI){ z+;m;#z+X_7(Y=s*!P9M!+2*DWZ>P2T>HBX!S6r)(%F~N%JE)LXi7_k7DJ<8-C>6}VgB+iPyE`|5L==|ewgO9r| z_ponwpm#Ph0CvSKuKPmLV`W+`6cqBU=APE-0J;15rsm|e#F$YR0)j-j(Txj})zwf@ zctR;yrlMg?tvJ5^Db9gtoc#%CD-O8Y@3De1w4Oy)Z zBlVrO$+QEOuCtC;3GeI0j_B+aBow|MyRQ#1pRL9j2_u z$`Y|-d!qJIAX6~h&a8fe@CS=|RC(ms@v@hh^pU4~2Su$LGUO&B6q!<}q zWe~NrIjof=4C-~mpKuXD->brS_8?2tc9V!4G)N>{_V7n!O5B8_5Qxnp#tiBblMT@> z)V){bY5UxXC-axra1Dlj2%H#AM!)!q>1gL1EGl4QeBQlt4V@bkTmSynI%j_qUUVl3 z<+Q$*%Z_lXrE^sw(t|2-74>lO7HaHvGj6p05H5!^W~mUtn+{t6j@)=%x#fVN**T!9 z(d02UcU|dmOfU4s$OPHB#FkW#o?4IxiudCa95E6Lg{+VWH$NQXjfVnbt)0dUNgnA7 ztO+STO1(bX=I%i^ZMl%SvUkF=G0k%pXc&^_5~#QP)8m^g>E-dH82)H05UJNKEb5bZ zqROVGM-scbs{PHvXna_`bJ|Dd;!qy|9#u4sLA5ke$$nD#!t*sA#uh=6-D2&`%*log z4R)=JFel_T<}8fRKcr|7Dd^ zBM2SHDa3EvxJaCXQ>LNqJ;q``h&Z+l?#72tSvqF#YxccVpT^MBqz7*_8l6D~;;=*^zrj2g(8I(T&`Lf?ekDyWNZ22h$ffd*d^ z`vQF*Dtg3Pm`s?aMMb3tmx3+D{vC_(ST#|sm_ll#?%l;GPKXigxuUF#Ue2})k?x%} zu9Mq3^<73|4mA#&`j@A*g6rGhcwi@s<;>w<=vqqMb!g@ivc#8c;4b*=$w{dCH8;52?~?t7 zH*>b-Mw8-}L;}C?E@InlIptF~Nl);f&#InMUK}-=G=BYLvdLe)6@35|N z$Z4zfl0J<3f|7eL^eIJ5tVj7!-l?GSc2}XtTFzLJ9L|i-{Qz2QTXCsf5-<;Oz$#Kk zF1K)?j?VWV?}y(gav2LW4)%;Wc84DsF9;4OJNuRi;PKKwrx^v3V&9z2i{~c~DS6$| zLOiik8QR11MY5QcjSSglSx&-NVt+l=zL$eNKaXY*U4PtJ|IFG_oi7op$S^rZJn_gH zvHSmfu)mx4-P}Rl zNAArFR%_R(`58sRkL(~CHXJntiFZ$>tUjU_c9GFE>ogEYgne)+aN^Be33UVTU>-e% zYaHHis5GgUwIj`yShKioOZ*4VeN*{xUHeHkOFD*sb^+ZqJ}~1m-8Q0@GZptnwPjRX zz8uF)750~9c1#?|5VZmkk56J6CIs7@^^2QOj%7I9*|V`7L!zzOeXpb7)3|%NLj}1w zr|`Nb((!tsrnm&`Hao3mGF7*%Tn9d-2XSP>(&viY_CtC&T|+!t^9`qA5=>0iR)@|C z&cYDUgA<+8K&8vVv%Gn&)3W%9Jyy2Mp~nc1Yy5n8o{yb%rfx#a^W$5KpF>G;a08WI z7X-<(*c#kA=>#g-kI4GMncOnvEadml&@~pa)o|f}rDZuk*vwXpEq?@Ab!4nVbgLHW zHm-2%V=KAj7#^?*E6mL9gx7A?@E<356&Y*Gv>`C@^w(PCeiANh!8sYX#f+2^f)KqD z2m84}d3a9mrJJ<^{k>l1yTeaGyS`Jrv|`;fI7`k`%Pye`u;)_#@wz zGl)ipsN==d*CXT~29lYrV*F43pV#%AN8w=L_N%Mk_Z|zy@>8G39PP?|jSoUm8v?t2;0ez$-)*r()jK^@LMeom#Uzkpo81Pr!KE>?2j_hGQfc08 zp0}d;*&CtR{+ndaU^;DZC`V|{O722-9l_uUbEs2ml@T!7(XgJ>+e23dU|%g=(;n1Y zxlF7y`{2EDe!)DT3ihaJBM--zTfgnsA{(hq zf<2i1(Ja0AHgbiF`7{kPcu)llVzGpyXW-_9J$}eVZ|=QatjpLLAa^|8iTfIwQ~LG{ z?gQ2vPrs~r^C#X4(Rln>`$DFl`oi{KG2STo8Ixv!Y3Z>MUtD)yxJw?;pPl>QRNw?@ zqK!$9*@&m$6#9^=EKZx@B)f;tShLj^fgNFrv@!$4eOBhxqBARTVPww}A4dqU2{IGz zj64+Z(%bw{JqwU3p697sAP&67sMLmXy~*>Q^agwFi7|_->kAB^SYZ;Lx}W1CnryRZ z`st`|OAabvQUi4>LRrtlN`pI4>Mf9q<|8z5mH(vm3bN6p>g2ij1B$^V$!I{P@RZkP z-9zMSG))T^ESEvwcidRGz&K^k^cQC9bRhWVG)viH$y@B}p|V$(H2K{T7R|-5J-`7P0T|IwqGZnuMkJS zeZefR(SheurR=EJ4*PNN9WDq(PGYqA73g}scT8TLr2mHna&L5H(7VtC{oyv~hvC&JU` zP$T^faBvJdWSVFb@)ae^gx7}4lbE*@vB(;i!qb)OMTm>>OA{>l&WSbanCUoZYA$Ec zZ+z(5a&NOX=~+)}+!3$=vOL;iGq0C>m515nZTjnJE>0%_Tl{F3X_}2+Rqs;}9vV_^ zFQMzfG=l4uD~PMw;wcDqUkJWTFsy6J5gO&Q_<&w8%(s%O_jgG$s=7ieHlP~jj5`yW zFu3vdL#Vyo@#L(NFu3OP?R==402v-e}ma)k)wTN0)rp|IunAPw_3y{-IS_TkGcOv zmYLK<)_;UHO;_j-v`5#%+stiU%N@@N#M#ORwF@2wnLYY0VMcRZ-YhVVU>zAC@3J}; z212hl0td>7*?9G_I7P064N-Txncx@P8e(qQu-~QoAsVhC+3Ba))HPc!NXS*Q8&l;$R#r*o= zf;9hHtJPyKwTfS1)l5)UqdesTDW*=4F7=PA8-pjAwZRtk*Vky3g7+mX)G1wTW0I`+?UYi zCtda{05rT{lU7?q_oP?dUWC$LCwOOqU;_CY!mZqE`!Q6lU_0QSb-g#wDN$UOA$lKC zeim@A;^X+p00a>MHG7O-Fi0Yj*TZ)}H9O_;2wCE7?+a6~(XULK5j|sdDZ4SLa2&9b zdajF6l&^(VJGX71-C<%>pI23>5nL+u=(i83hEstbhGOKVe?(Oz!+b8&mydKUW8)b_o|=gn>ss&x2}@*4Gn%MmahYBbm^5FDKCTk%q$)xZ5XCZtgrki( zHNEeRs(AL4)fP3V;V$Kh@ZN%zfa6=xuf6bhFF}#Mu1qm&FZCDoVSplGD8N zVQ81R9$`h0Fgwj0wzI}kUP1D=_=r2HMZ1XEidZ=om0igA3aLs)QA;bd%hf0}=uGojlhbu8)2kSe7N$LItmk zbVj^oG?Qq$Ys97)Z9N@Y6JCR= zzx%TxIlUPL8=Pp+kO0;oDIr9gb;*ROv>7jGSMv#Y$$U`aSr>zEh@FKqK7bQq_N#8Ub|AVZv4y&ST z!@bho-6f!OcS|TGpmZbM3P>Z}jdV(PcWgSOLAo31X2XWf8GPUG`_8$}KV1C5HO$Of zYi7;!-1qNBPeTiTTMZ`HC7FAuiz#fReA24y8p1X94S}%23dF3>5GqWbidzG;>hC^qTtAi7+{!9oeGcN zDOhd7oZpMATG8m68$SzA?gJ};My@k&#~(!BPWFakl@h)$_E9_pNBAt)fjFBt)u zX^O2AG?Y48mA`IhCypi-x`LX$e+e&y2&9J1n20_XU5J)7y7qm1cmrO5yvj^Oj~DL+ zkNB@CAFcaEI)9=m}6NEr&(M7ENeRa_HGqUr+_&|+H z`p^xH7l|YGt0Sv4>a=67oi?U5P7_0edr2XO+!S&Rq2 z+dnMR^J|5h9P+t~)-ko8A_hGD*BJtSbGk+nNR600bTw;%bPDG8OMWzy#-!H~oU3ie zG~F9r;DP!V5ini54E9U8kUA<@W`ZVZ+#4?qOJ}z6!)7r;A;qm}wM(fX$*@P@ehJF@&;@48#q2}a| zT)#b5EbS%9CmviKHMsiN3GfQN(Me@d*nD~#Qbtm{k)^5S?yk96kG3eEn0so@obNOR zw8601?4-?+TUm9{eor}XM$W{(_d3kQjXi+of)sF5yS=|1fLt5Fv^K&G_(G)}1AHJT zX=w11uQEpEz}+DsJ5+)ad}ERe*BF&i6zWa)lbUM9<3tw9RraB1VeFpNRPg{)S2!Ya zfa^@+PvQK-A#Z|Shd?C>_4bVkgX}zHY0p>X*<;702Mzfa9BcxR3BZRYr$#edJ~GR> zDz4+#wmFp3eB09jSl93i{9vKTKCZ_soRJy&R6YR>uzZsj(I+| z6_PR_k9F5G31I=wYpi$lw%zq#3$fQ6j7wjsD#$MeoM97mTmq&>X3T)va7=o)_V3%) zFOjnBgk553J(P zW;<+bUtwr6Hq%B{)P3;oMM(HuTbxYFiQko2AWrG|c@;FuRmyBPXFQw4pu>6@#AhwJ z#s-r@FpFD|fgL#@!O~O<(NPPU8xsEOhzV(iydhfAQAK>Gv5w3%>T{C!6IE<0{=ylM zt>S82X`CPVE2Gv+No5qCiQzF*o-HG1RvS?1@`wGF5HO){$eg6!i!|>$3lpnS)?T_m zx+uVS+cjf6IL}`{Pd5CfmXhW!QZZaB{>BWk`5~H%mq_`1fQ4r(uIKieJ%_+F-ZGsf zc&JfaexP}W_(Rxe4c>T!Ws%CkAIi^22iY<*Q9te*E97Ip!1`fsqooET$jWcRd#%V{GwV#3JM08oVNUF+lMU=)#85`7HhPijwqlkD1+aK;@BsBf~s;dIiaG=<8`{Qwcyw`Hz#oFx?%K_NO=6e#p z?CjQQDtC^U6hP$&$w**XOPtl`6a1B5Ct{L22J>!*Gc%gx}8y;m0X6q zddXF>e_ygm(qK2YNIv_<*F7aJ)Nc|NG)wE{!QJf%;H4-1>ZJOAAIp~ga|(bzmHP^y2Aw?SLwhZgH9fpqT>{!IXE!C z*RE75{bT6!k^bXDO2LkH5AmxJ(CDe**PRM$z?MYUxnpMy;3???K>_s()&mh9iyyL0b+%wd1ZF?H&x+w$CP2XyvLQII>y$JfIie$@?(ZbawCTcsLoavBNz z9>jG7@MSTNq54gvN~<1@1fQsmf^0Ur~{Y!#bja?K+=! zxOsnQuzj%?mb=BZ);>ewyz{qm>_GN-#}o{;{g7{4HY6}2ZK1xZE;ubwS7wyE5ngL+ zb|fP~HSpqwitW(mph04m9Y=~OqF%_ocJhlkm3uypo0;N~9p7xP*FpAPHQcd^d% zp2nnOGs~!;Wn^mdz&V}S=-2a|BD=#=YgV&ndGI83iWF!JAVwRJ!_cbVoVrC-sy)iR zmO$>)#2KGk6t!F>f0WaW>(OIX40@Xr6-w=Ftvw}F$RrdqU0?O5l_nBRVR$)a>X3NR z1dH+(UQ6JQ(&~{y%e#5-O_nJ4D~&4LLY78_rdL<+$)vs7*>W2~Q9fvHDj|!rS3

$%8xZzS3Y>$@pz9BWY*2GSCCkzKs*`r21 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 AF8}}l literal 0 HcmV?d00001 diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/README.md b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/README.md new file mode 100644 index 0000000..b5c9c6c --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/README.md @@ -0,0 +1,6 @@ +<<<<<<< HEAD +这是我的个人分支说明 +======= +# software-engineering-methodology + +>>>>>>> f783378e06d6abd4513ad3220bf6f630b2fb7263 diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/doc/26组软件界面说明书.docx b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/doc/26组软件界面说明书.docx new file mode 100644 index 0000000000000000000000000000000000000000..81eabb3fb6728aa9d93204e28582abb09deb7a94 GIT binary patch literal 728606 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�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

YHhtmA~tE3>; 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

{hWdc4+GWvR39KeAWXE{K}h+}3&G+`hkP~ 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

S!m{x($v? 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 z zen)GC9jmwBqxkZj33U3$!|O;vEcrd-kFS><2H{K7P z8l{H^D^$<0hm^boCG|`VV|0R+e1~R-76OlJ=S{d-UNHyxEm?CzPv`PUfML`bip`;_ z58Rj$TWoso`?j(V$pSg-nbhBDVt=IqchIDcjlPn66ku=+h~L9}Ep4z^qsTw)2 zh5|kLg$WHo;jQpJYvQ8~a@KaJG=VZ$IXCCY>~-G>y{PU&POi$92T*!UYc|81;0}KG zitf8rA8o|_6NZZeswF|-7L!y*_H^kC1JEMiEL@20F(7!*6kB(S0-lp=m>LxnAZP-R_XfF<}fEy7j&lpX%a@x>s=22qLYz*GlMa&?ecK4>#i z6nNfOQuz43Gev(VUT4wd)T5s&^`fP)A?7zsJ{muK+t())NeKoAZEp-;EgryIW{lw^bKZF|568 z4J-|5B)Xq(7&eXgbolER%&5m#s{Rv?>PxHr_>X;|9Mbr|`7RtsVH*i6BhL*Iu13e5 z8=9Wg{-*kd{80(^m7P!h?9y3pO_AU6bV1tm@!7c`@Jiv(EZv3 z&+E(jF;fz!ww^2B0DEDT)cM`YqYh(f^GEgOx?WNEETx%Jz?Dfsg6A;KEDbg*y*_%i zA6^9CnEO09ZmuvB1pr#48vTKX4NHz#{Z=Mf;`bHYkopGBI()a}JfC2LHjv|Isb*iC+pzZ`Vx?Lc?CGY@RL^?K*85?TopyK1Rc?*FZ)l{IejcJ) zrIWdot&pJ4w?UKg$?w^OxRsY%`G2^!;Ap|?9=F!XL@v~NK&bm zYczch(DSgTkew@ed`J1|HDCG*1uavi(`XbH^unKvBSwhSSE(h5Rz-@;WVPP7!hGpN z6?*KOol|{Gw(n-!p)WwE<>1!onh!ck?y%1~$BQJKX-eRX?s+0@qNwYoNkd|rv*ufx z1p?QRrlf_Ki*)@racG@yg2eHmvWLjYIf!^nfslyIwmn_Fjh1T^PAG^H^30A$Q>;yv zx@jd*@npbaXOjs`Mn3UR0HFJ4+g+=>WB{bdo8oWNWwP7$WPByOPfb+3!dgEM_RBJtEIH zhdcg=FDCnlu+Y+2hH0@@g0V15%MG62-fDF7wg9@(bc!7Z-vc4wlgS8G7^{AiY+;~x zcL1p7LrGH|GE)1EiW-Nu>58N09K|R04vV(Mk7keW^r_ z)j9L|>9`;^rUw@RW#Wsh)J;kc9{N`dlT0igr`EQkOJ31&>omP#_n~;1edyJlKWfmk zMdLEDuk8{9<2S56jtJ1nQ#=)4^ms+9Gug}|$}}oMMwEKULkp~c=bwQk7z9sC3wE!9 z`l~fqlZrMhfl=<`z-A1FnTL`;-aROdyGt03CeqFt>(8G?1I`ZsQ&-33$f8}rGv%)+r+>TRIF(J z*Gnq?WIFr=<&#HK@0nQW0Rn7a#pJ$Ji|7T&OM`-;0UkpEh05&;DMlauD!vB+3Ip8H z0nfVHIv6op8ylJHGn!lLn;Nq)*x8r@0r`FUhRe%Iz{B9c0Cs}^D)~hb2nbvp2ne(j z3Igy6B8X$pAkFa=|j- zStP0~jUsj-KOjz5;U|EyfH^>$e6~ydSt+L`#xqf!7mKvC#~0Zd*SC(gk~|q7`@lbg zZaf4CBrf?M9T^{e1PHHh+OHgAhM%th)clu!Z}Wj}G`ito|K2>{APWBduP^g^OjzV3 z|Jw2iLVKx@|GnLF!HNIpsM2A5CaM1%#g7oE@b802PVKRxQ2u?8LTtZY;=kW1%meSg zZ}qRi`0oJz*DU^-B>$aP|MeCx-Dy!~ELeJcC0c-Hm(Uaq4l8MneHUYcQ>;QgTXxWo zJy8?I)mH^)8{7wY?QoD|M)L(8-Utz~)c7fd$j0WVOeAK=r>ndYj49)-ga8+F{4)I4 z?;cw)FBlGv2pl`Fu_@yu3H?UPZ*peGDEY|`1%y`k; zj)GYhFro!@ioFxwB81Q%6fUYjy{jM)za9a`svA3ObN;C;fVr2g6;zKZv{z1a*G>#o zu>rNhv%1)5jpJqeyZ6|+YP!fn&iC#<$IolW)7kf467e*4yDqJ?fxp<4hRN2A@Tp{; z8vlaTCoXV#I5~gn(2uhkF<~mt{fZhte~xD$Ce!ck$B-QOT5(n+lg$*#z-RNwAol_` zFqZpKN~!IL@To`O>{55}dlA*zqJ4#p*=u>`WvI)@Q6}Q9D-}LI6T33EH$#^BR5mAI zj(H36P5HX^=4(;>xkf=6*rB8rt5vs2B)FqNVuDdEonw!e=x-Z}$;)oUKxm`Q8yv-$ zAEPT7ISQiEn8FD;0W%fdQNavJYqsfqG49j*V#@)&=EGoBq4;8q*`xdBlDUip{;IiF zqKg``9lTg87a0Z0uFluECsCTYL(2EamH1hMl+M2U0a_n}Cvvkf27!q!-&2JV4NS^x zpPEx&qivf($N_Zw5MnU-8;5L@*eQ!vC=kZk_4FC=Dg+0$NFaDYbCjIiU>vflB}8KydlsCS7!F?-m&lX21si+22KAdBgIqQrd5d?j zWDK02OKv-s#@TH|JWWBi8H3%2X9-_KmHk)W9@e7|5>Yg+t@o(@ATul#|5h@@XT4ek*xezH|YMvFtVG>p$kl=yO4p;VE!HXz*Uq7f-_YzT5W?^v6 zHC2Tu1nGV4?1oD96zN%=Fp7&$e59Rik*-nIjS6>LRW#2;2Q}QYYlna?zOMl9{VmP$ z`9rk^t&{cCpAhu);h*5MY3~N2z@F-}8Yx~X$20M|Hj8Oa$FwCSEk=dN@wZGR6(`Us zlu?q6@C~TNyr3W!X?+xCsA1%-=Fl*`ND-IzK0dSh+bg-7M<+(N;)}@_dl}z>t1#hS zOiiYu7U$149D*wyrqxyxE)dK`&^k>!AEl`Il4%%`>st>qQ%sVb36c)^83iFTxW*Jb zWo(5O3ks7iP89OBgPk)Q%aM2t!g4j(;m@4D->&Se0bDibv3+s2^CV|80%VXh??0sB z`pFk>r@`Jk&}VYcUu8-?^l@$wE#qqKu}Ojr4-<7lm!n|x%urymBjfrPyG4<>#X*x2 z@=jG?A&I)dQtMC9>LqBi0&K@kN$ljn8&6(qz1wqUX&dnC8CH7GK1f;p=e@bwv?`od z9p9dv?r$wFuISYIHwWG2Ev+NXWmP1- z{t&e$O?wuJY}KDC%hZmfSWO`jyT-=6Y(^wpX4H56LEefPAWnx^+8~w-B_5|3Y*tbJ zt66sQRGmYfK}%-J4+nK}cD6N7W*A=G z94!p;72r=YuU51W&dc@fGN|}zPV4^p+8kWNe_Y(JM-m8d1V_f^W)T_XW(Rr@%he8B zJ)8%wE`H3N*>~epd3u{ig7E$5SG#&DxzoAAMXt7-rUkt^w8iKzi+QkIo?e7Ejxh1` z5I!ZA3U~g%vS)pT?u3IBkR~352=O(#R>a&K{e9XZo%pH@v%0-sCV-{6|5!zy7usOIxH%1z1qR%pb=E|^ zv*MNZ@xB||=VHUAC`QERg28A|Gqm3|<`jV*#YCc4t#cRGn9u;)TDDT%|2UMI`{A9O zwjgNp0ZV~T78<=|NEtw;l(%4g zdqg?*Zp54lHRqEF{&a3%EMVQdn^|aVOkN)oPiR5nL7F)Y?tX?I5B5_Ng7kr%l*AEX zXMh)a<~yyZrzI1!E#Z`pJrwzG8nialIFC?+uf^BtQSM=`^{GnQLt4r(y8VvHje?Y= z>dY7W_l;WtwJ)g-zPPgBjCspsUekjsl9_0M;fpRM&<69>3kdO?=OcA^V7%|$4h^d9 zJp8T<&E~UbSL*1Bknnz=L7n3sQ-91esXy-yFycG~sdA}yfMwbediacdO zBrY_C95z`}8s0-1sAooEbvP~i%_g={iQ_zEYe7U`obf3|JnhWMd##dreG`5J zrvjtm3ZW5C$kX}sa>b!RtjDC8cVE_$?Gx!k?BP#j8KQ4cCXIN2XzvPf5_P+ zr^zJmCMS{H1W`NH$eI+ydNb|sOw3TEWJD)&XFVrhCfAq!%>mismj5h=&<|PT=kBV~ z2-c#cLen-bGD@SIx6GDT^}vA&JCz@JXT{PHp$tt)Ir`cKJ>IbR(5p) zCYl9nkhklPgq=QM$#v_7Xv2!H2^F-4uvuF+)^dcJ6cCznx;gVPB$lQ1d8`O3fexkT zT#1|RNqV?DZDuoKz4k!u)>Ia>dWo{ec}?7a7zY1**k!f13i_rS6|<~-^@0x#y$l3N zK!l6>YG#$M1ZkZiIwn?Vf-d8Tx``@ioo3zXY;xAJ*)!|iAg+r8*U|;QZ>2^qkF1Lw z4c*)GN%mN0E^oC?xlWhrM@x3!3Ta2JX+fmC@_tqC?yi-YLhO94c_|vK%H+M|XA+mS zu%DeKWL_z}_o`lo;YB<5r`^w>F|;}nrD$qe(Ky#7pf5G$fm)oJkQ+FG*MZr7t@?@* z!=3mv6|ZG>Ubk#fsd0fG`Z*YQRlV60WIK3eB06cKHXW-+q5YqxtO_r>Ns*3!fRt+I zznE01=F4#_IQUf~k-IFbxS-+Cyz!))yEJS$LgUXlSS;Rk)RUfvp=vzB^Ungr58Z0S z=C0#F!9tI{$7#2nHaEtJwEf^GU5}mk&)b2(em-7pdXJ*UwCNcfKkkP|M}pzf7j7%l zwJA0!(P;M7_$k{K4$N43W}F!#yN&L1GaK2Ayj$y#S;ja_<5PsyjaY{7HSf~Q56t*D zS8^iH!yR#aebMfs)>#!|3qCt%Gf0%ed&tLYWqSAcIY9$<@XB%^V=o>jrG{aVqjV~+ z5=4y!Nzb54@^NKJv>XK{B+OQT*bC`M!dtU^%1Q0D*Ta%Fr+mFP1|}XCF;9p~ckv6N z@Q62sa&d4krxkViQcsi@D$@19o_1=(Tu|{T-j}Tf!h*T-Lhwep4^P>gvL?)R=B%{t!7j_`c zSKN|6?k$xvg0)kjVG6S1$es8Blc2Ss$6?sgk85H{;~>-dsl7s~V_OBm*zaQUV7b>& zLo;KzF>e|su;&v9lOB$?FzMJbzJUqR`9VpKW*#a$u>!!-8rUs+c<+`9-%zOe-MZ^l ztgt=9AmjA(5A<39}v$@fvdTn5ZS^PPsI3r$B)=|jWL*R z$osh|6P2MvvyK%QHN{8R0R1vn6ox+!`C*8eH%sIiDu4sJ6$#uxh@yjBVO$Z%Wx^HU zOP0C!Dq7ci>WHUB&4*}Qfsn;ImQ*#N0Pqsk*nchZ*weKa&Z@#j_$|_etcs<;z!nzd z&2J^vZ5J`Jv(~f<@y6#YI_;Ov)941lSXZ_7u2!lGEHbr9Vs~Ae-0RxRRLj=XDo4=@ zV+<<=Jor>I>T0^~imZ+KaPw|W85{7<9H-tDWmS@o?3z;UZ<{ao?VJj~w%M?q6YA@I z@s4F~oc=wEae(vJr}g3+p~@IvVrt zV&cr&54y-R3-DP zB6e~4UYfFxxaB55J_Fj)!s>brf8m1f`s-i+ft0s!`!O-BsBDKwr5U!L1=$R@kYU9) zDW{-MqwCQHQs2WceLhgXt#22s@9_LGVUQ_`xG}L#ocrK7KdiK}PXAQSU8UpmIb}$c zQ31U=%$w(%J!#(Yzf5dO(_;f3nq+0(mGEXFp@uv`h4|?zg3ukc=@-Ii5%+5)Z{H>H znNWKIdsSoV$ltm7SV;{`Z){PC>r;c6q~qyFG&w7?ZH*nV2li~{3(m97C}en z{hOIkrSL_Pcr5DKM-2tkXhWDhE1#G%xk2&T`~n88*d3ctaO2{=R<9$>dW$ZZd_FK5 zhKUG}7Qgx4_boF8yJ0mFKr%5MVQRX}ees#3%aQ?=(;iPUiA|_buhCLMeRsoobqtF} zl|pa(d^?olkAW>mvx9(b_^> zCLOz?rFmO02Q)$4b2rv})6Ke$i?S5b#?CP>rDE`z$vX7G=WJ|GEvXFIm=%JQt4aqZ zc5IH6$=(pYJ_K9gVIK%=ib~AzDB=T+222K}LM%4l%NcLZr_1E&VM&PQ?+8*VHmEs|yyMeI@LUb>!A- z6Fp=;;DsZWx_aial4O2$AH3CX7wf1+Q}YeMoRxRz#vCe&IzXX(9-THR33t6XV0Fc- z{RpmfD>-nWF7Vf5sQ0$u4e>s{GO5$EK;}9c=$0YR0K!Qu@>ibu$em))i#zy{X=&7l z=xaQ|k=|BMirnSWp~R|=crG?DYFgCXRSwL(x8UJyCD;pF$9O^QiuDY@)vF!$FCF5f z($!W04$YYMduR${eO-cpfl)P-A!jFeCU3(vwewbg6~S61tNxyxi9LTcD|f-@%if1# zr5sG)r)(gy<_y%<*I+J20MT4PaTJnfsh*%LVcL6}zXTd-lUV+mrwo`bxr zcpx=5yV*;Noo)t=-hCKa;^(X5`Dl3Hp$xw2bX?D47}#$umY-yqtUKJ+YL_k6o{9$% zzruL{r*JJDvS`vsYWeC_9XZOU&+@JHEU6tc?Vid<6xuuo&kxx?QvU7$iL9p{7E?7Wp!R`Y+qiX53pCvF3}LFG3u}n0 zPw>mHgGb99%)p#iBVX>2^aUxM??GVz*|u|=5Nz-y6DMe7&UHJN zmQU{Z@2-u|Tm7F1RcvxAtHB6|qKT!-Gc`8w-xvIuC9};?6Vp!XNG2e=Y))f;#wWyo z&mF!{YEbY2OmVu11`T=f?TgTG+}Pdo_=}PB)6kbC3}Tmky{FB6&`)gi8xdwqc7wsI z{ossrsY8+vcYKQ;?10vJk;J7-@q8?!au6owE2Jrc5iv5FIGkUEz1a7);~s@O^Ku~) zkJ3VI^*K|Q(jBcN9c4y0gAu}I_44Sz7tSc@99^sij#kp@r@IOG4aKXzF zG4rklBSt^M=#d`^d4TOn6XC7cjYys_^nGKqLgptuN+pVjdLGcG2v+^VU3rziJVc5B z@?Nvm7U0nW}@&_c%Gj|KbXcGv*s~Td( zEjW1%u=dxq%*WEA`|_x#oQ!>yO^|vh&1z*AYL~87K2o_Wzg#d)mAR_=TQw{7KOxxO zl-!~(=$*)`^KCs5h(UIyB3OfuUM{$I+`%OD>#ozk`4DGEuEjIcg5V6F;9Z6Z4Y}xl zX0Hdca|f#v7u7=~@(Ti!zP;uy(StG>h$Ec73=&&*T(i2&3dkozy~@H#BGM329qVR9 z{nQLHtj#$AL`e#+JH(ybO;jlW2O3r#X1##Xc~fHIWztAQw+!k?;l9(|Q5`RqIEDSo zX(~v^B4c|9-M+O|VY#`bw(0_e8Qo46^3Iz|HYeMxkpN5A782`zl;S^Z0n2OZXgbr)1AR2L}FKIpob1l-&)x|E4y;u z4XF?-0|<`k>wYG|0&lD&aTN^_Se`$y^u9?KI*NFqVie;0gquLC^u z;(Qwa9a<2RBI%kh6TA$e-NEZF!!fr<5E^wO6ISih2K>%6II;yn_~{)dMbOtEsk+=1 zQ@5cs52~ypR!{zpGz_~a*p|{~N;dQssYf;X-rfGP#_1a%jaB;>aA45=hNJ#$!a8R0 zefz?^H&ddE*$@P>5($v;0uY(lzhSC2G9ib0T+?V&fAr7k%ln_KfGEocUi2SE`jp_G z32NMO@YzIk7H#77ijPEi;6Gnx6V>t$)7>8NuU(pU;aOp5>5tz*iJZ$ZDS{iM{^2Ow z3IFla8gH+tuq<0CKuU77Fap ztNe=%cUJq?E{PvS;L|o{$qbCyr@`h5cszf;@Ru(egnzM;)B5}kdUc%{IA>eLPPTE> z9pb;3FM!fn{rQ*DY2Qb*<=i{?fdSVF|Mbqf3Dq8X8~*oG{AvpPCvIOY-!Uf&WS?$cj~#I`tq{uxo^U+h7DU!jejVlpa3 z3FD1r9<|4JNc!YoBlTbx4E6^Tn`t@n&-r)(R6q&{gybC?o3iAO>iPZ7ba=047XGxM z9@|`iO=&MKV?ho7%9_Vp>U3vxl(;v)kY(Qg|HxcTNG&BfVL$%)5WgP7(f`yV%vT3~ z))QU2I;^tLuA<%&7*eeo7kgBOL5aT9VI_VxAjMl0`3|$)MNkJ&+)^PhK*haIIHx`q zFm?JovYeLz$|}fRTgK@i^4v>R$%&Y?yspJ75wN2GE1P$OU?R^vlm-wcp2&mog= z=ZM&pTq5@S}Q6S(uFN-T#E z9hfZdQzTbf;qu1p9oiY?&X8WssM$u_BqQPdctgJ$(WL=xQPTST4mP8S4!l=BE-!Z0 zzy4MxYBoiEo_0}k*S^@;gVq#1mgG`;6)EDD`(AN+&i!lULKa@7^lhY6>kP+q`cIHB zg8bJk9Lz0MU}tqL0aoL&j{5Dr{wO$qQND!r97GNh5WZkNsUs^ZwG;?rl0zC;2Pph6 z=4x%oPIem*0-ZPdiP!&!*_JGK3gv99* zohL%{*)=#!x!OBNrmy=B{h^4u9m%w1Xay_@Vm}oAXJ;3HzvzaAcBR^2zzQCQMk5&J zqQix>RLn(wP+9Yv2HIE#maJ4ItvhwBbQfx`$heav#0x^F1gUL(pkfK3-ndYhN~lJj zjuq|WCf2QxxkjEs{lh?Ijmrhf{UxAKX7|nr`i|-NDNf~xABBtNgc+L%=f`?a$EGt2 z9(*AFINr*?b2nazcGFB;-#F6A{TYr?24{oSbh|EuEf2Pt=)k9FE(s9;^_26JrxeR(#{6y4Zb%!khM=%0^AO!mC$3{)b_8k-wMz<6w~g@#+eZ*VTGcfC~!94g71=`pS)o@u?Uzj2sooCR2m>b@%U+mfp?(}5w;J}N1&XY;b z#qyla#=VU52W^J6tFSVkb;VPyFd*u>YKq1*KFN1|cav+rZQ-exqtyEk#RJe_Mso^r z&I!BiQWf%5J!j1WTna`6D~0=pjKj|9t(TMkzi>R>(4`k~&Z8ei*Mw=%g_r%K2j7e4 zvO9W9n|d0w;5}_w5zEV9PN3aqASsAGT@_k2PMT4fP*6ji`G#o#t~WmH?^*vU=MBNv zu^EMkONVs~yFYOoGPEVy)^ya4@-NOu9)6Y=Icm&%3|;LXme4^g53In>?Q%-DrwQlA z0kWV zjaJH2Fp2v!tz<^I^BH%#6h*;RLeT|7j52=-;!qW*{%&!N0*WO-Nqu4FSNxv4)xXIb zlx;hN*0(e}=4msDIp(`l07IQnyIkeC65rtX*L?QM57U7iZ4>##khm0VcfycoXw|t?n!!dl556sy229PRIsD z@@O+Ai%xhE5gW`|dI#gyuwo4p)oEj#4brVs`MJ5A<+COVBbbc=HUm<-=fJb?(M&(Sl z`o#sowqA|GEUo=0)(rUJ#m!X220p#_65KeegT zTL>NWjfO>|V(OsOEa^AdadX%(&}0!CyD`5;)Qo6n9fOaNxtEO13}InL!!H*0{vIdm zw&rsi4Xmgd0x|?z`XcEDgi9gH?*u#C_nF)q<~M`=NvOs z9;HSko)@^xl`7c?re-uX^a-wGRq3mCh}~OI%??1IF9%h*Qp)AVW7Sqz-CL%uC%QNw zMcxXf`)JpSOzJ3d_LA+Z5{+4tHKwzJR3(SYi}%4HpO&lDT;bAI9Zewu4$vpGJBMTM zpP5V372|KDpPKF?5#jdRgYC?GUE>do-%r1b`YEsge=(pyRdTJjJXa{+xZ1`9se| zK|vtWdO&4MNnz4Ee&|#Swv;VLuiH@A?ac<`OY?{EfWVJHk027ZRs`o)(%M5wVgnmx zj@kkd-3~-BEq+%_$IE6%8^BN_xAjE;a)*3^h%=c3?saZfvr(Z3hTS1rX_~rQ0=&t}TeMX(hUk~fa z(GDdhwuwW>FcpGvFA1L!B2_29pcQ+kOCPM`))X1Z3ngaFCFj0f&W+e1TPlN0%eIhO z&jRM|3NLh5&NJfN;5<{s3_Uz`mT228Lc9 zr)E;WR{ik2bN#s@llY-#j2ZD~W@y9zO=dh&|KthwMcC+`^sRz3ptu{k&#%FEm3KUy1l+2nk0PwsRD@_(%DlHdZApTiq0YSKsfB!to@-~bu!P*- zPL=0LXXej?L+TJptj$qB&4Hn$pLr8E9?(XjH8VK(0?g<2UcL?sT3GQrM zg1h@|k~1^sd~?2;dw<;i3kkb>S698Y-nE_rGx2Iu=P2t!!A`E)KZXfh$=0^}$N&YE ztl4D9WI=}36KvE6Yv(=PkiRbtP^5EZd)z`)c~zPM2r=KY5eW*6VwHsv`NslI5o!1U zn|Vd$N*~<2?rH?rjWfDm3!ep*oRD%(_G2bKt4xAxlE1V;DfN1xwL_Nn^zplpITi*T z^mFEkU5b7215265kj5QWf88%u@ct=~cm}m5J#$Pw9SM>M*8Q#`S{WV3w^QXVbA7b3 zKokCjYRQa`Y}gD|O}Gau7F`c7Rh=M^KVuJf6~iceYNERy0^c0{Wq-|7YktW%Lpk{) zmnPvZ9vPB=v+4{vQWREG2{?l8Oy2^=h@|F%ET-Y+J;Ut-vh70eOs|Lu?9t7bhg`G! z(Erj0vi^VB2ja`hXeQ*scH|9i{jh>3olFQ;$B8j?LeQ6CCgj(ajKfx_+{pMAH{Ff5 z+pVBdJA7UM5PqFesSxd5c5@j|+gy+DNY*i{HS6KRjDksT#SGM|`7k0%c?Y@@x-aDG z_s2PMwHJm75`d>i2l4mmbxypf=LLmlfaW7>R^I@^VE0LZ$0l@JJYw^1L=Bemu~pZn zbPdf*^K(TeRV7qgor78gJ;!xRhFL8Wp2D3w zRLZm+MWuT1xGYxqFoLUBInFVZ{&22rH&1}Tyr6A}9*E?mUE#X422}g#`Vh+UxFA>v zO28NiIcO_qSBl8ttE1~Q_LK{mG)kvlX#1a9Kuxz^B*6>0D2nvh>3qBpYat!oYb zbbxpQjUF`+KN0P22|QO}&2(e0GNQ@~+59O){2Chu>}nijB~3mu71M zXy9+xuEq@&iCx|254!2Kss`Q)^q{7y1d(P^=ewhkhWlhfqZ`ID z=t6xfotgZ&@m^vyfJKcu+{Iad>gJ!?Kp5e0mCeRvzmG8Kgz1GA<(tMvH8^loiqp%+ zR<#0bK~I&n;!#9*P*L6K8}j!05ZysCrE>}07>mxJuy3^$J2;rs)bM0IFJkDiKGIRA zXBlr`rjD39#hYp`rj34E$IX=Pm?Ju$x*KH6MO^r zVuXxz%7)baZihBF%KIMmyuxomo+xRtAr=9rIBXUuY&!Ga(?`SoK%Fd1X!P0(l1;`d zkykBu;kC)Sgtms-?{nK&dN(Fuj`5u26ap)%_6>6pje4s-A*Z>^P7D3=S< zUQ%O@{ln^%WB>Bbs@LIE!x~T<8n-PVY;wSxN}mQ=hp~Cj4nc*s^B^lfwLvAP{&F=A z!;RrJ6Rkf@^4O!PsukIP(|1u40JNP-cGaYX z$V8X00__|=DeMsX1^zl>zg?JPe_7xy3%eA`I|d(pp~o)36$o7gGfx!Dx;A^7xcR;w zS~+bvr`COBrF!JtCO(-@+wSOu`_pWLTu$|kVc%Xq`wm$8GfZBxAjIMK5|`00!pkMF zjpW9Z``LXP%S}n_%wSx|CPJ1pB9HG(CUT;?r5RC{>tS+F_5;>%^UcpA1XV{A4%5nm zoUiGar;SM`$KH)yxT)bN!taB)3mOGmtQd~wwV~#tWw^-+0Lw86LjjCvu_7B39vil= zMgD8csqz2!mQ#@t(N0H;z5*ROp!E$q_WRZlJ{hb8!+AYT(-nS3e}RcvAqZy~u#DYp zOd5oCSjUfp-n0*YlY$C*+s#W=)9gIIDhfMnt>O#kh+u z;&aod>FtZ2=+Bd_ksIJ2pt0vw*}@WR0^;1~*B_dUg*BGm^ja$!NbV_MM7o>CiI5A*&%Qm~4{j`6qrIAYu-X3~y1pE%?n6yUGnVpKdDq4YdI z-jrJVVw62gvm0;BJsdYbQw#LD32BQ|=)W3|`!q<CBN6K;ym`>+%S#2n-Lh}AW>B*kj+Dt45%!2N2I}x(*I;1@&|8%TvpU00W`qeD zS7l;+s&C+*J##{qxM&Xtb3P7`EJSac_HJxM>1bU2%^j#-jW;Xj8s)R<8)p4$Z}FJJ z;IHHaqOr|~ixxb$QAEM!LQ9EQ)wXSh+mo285=@DoMur6;ldRS&tHY`4iSD1+%hP(J zkiQ+)f|ltZe_;hIcA?s@TS&)|nzw$#Dh+km1hWP! zG6sXlqkTguAIN(IqbQ>HVr~h+)U`codlKT)-{xWy3q_QXKExYjkYVu6LZ5B_6%(-` z7Ao3BJu14XKD!nuhi%<@iIA<|-C$>QNZ#f?#h;3K+&o!&%(Y|1zvM%yKySS)dbI}S za`*pfxbzb{66lAQ&YbWp`8UVV7I7`zU$2dN^Y3~Q;V@1^WZ$@N%(nAbs(Tjt3ncor zmDxQ(KCXsCgo1V%XcmsWsQ^_oHY5Ok+K*9Pp&kmB5Gg1lV#3aCJoU{gv|{W-h{?4; z#vm)dC;#nTh5hvf;%<#U%44ex&LMVyzov=PnRUTl9WY}Q3s&qRNej5C)Ia&l42RG< zC+Bd&dhia36dAEE#D=Y9xh0yP{#4jfyQX@FfyY;vnzGHl2RlQe&f96$*%i zc&KtMI(?A7CnV>dTt*ewPK&B7Uaa>kBBk8*z}>TSkarvZK>KStD`Ni?qDU5cegm2} zz$|BxCXN0Z>l%G?;B}9%9p)403-)*W>j%ZZ#(z~YlDlLRSIsodEE!*$G2^1{1JFA_ z1A!RM$PD}CUlO5`SF*-#OrsavD~{cBDdN1|h=t1nWEsjHp4)-&M9#4vAP`NkRMudA zJ+h$>NgBq)w|bth$besk#e~thV;wfD9b`3xXot$?DLUY^A#n8z$x(dvb8=9B{ zF0kikxu&rbtaXn-r$?_>+vzI4?-L^Jyh|Qb;TQ!QjQ`17(WRZRaS|dJ%=T;Zok(*| zvmceU4t*cKSYp&$?PxpfFN>UJDg?&%v2>4p`*ylQE4oWLiSv6KDyJ;-!U&wKu7!W<2`4B%ZB%)Uueo-f5P=9lBWe zt@=Jd{sZ>NfcUzc%19%Oc^;pm3`Htx@UTK^)%z9X1Vg78kM4_mVOL$kCz8WY;-9k4 z`|>GDhy#=QG;yA_;X77odW6ZrVoOmPN$IHNtddgwf(}xuFKo_joy9JU+D=nLT8P*) z7>9edf37yH&40e@IDZI)U^R%xCL-DnYoG0t{PNm%LwZy~5YjqrAjN8VSKF}&!Ph2c zZHU5oE4%#`s2qW@dGOjX%&}bACX}QP3c6wxC$NPKmS|D+}8G*rBY$@pI9hOQEtK2%G zB!*#hh3xW}tA#|YwA*Qa2(fKd`r4XR3O2abHs4HWw~ZYkp3`r{9{gO5W{5H5e{S9I z&(wQxDDPhCzKf;0e!cpEWYQETpCHmSSAU~4R1Z6dhb4f4+8ni3N7uFQ{xL`Xw9gsX zj|=o+ZXa;!wrP3kVRV;|jcAA863dEKJBmQ9a%n zMp;@>i_$GDl|LbzxMycA>oT8>6B;Hc{M3Lo_?aBX>wq4MyP+$xN}qoB`%>0r{rx~S z7Weg%Td0EZ74=GE-%wh5CVqnaMW&!-)f(|j{maRHw70Kw6}h)P_GtjItGLjW9G>qt z8LTvvlszsJp&)eus^Cl#N&JgnRRu zuEtGh1x-5N#%rgkO}|;Dhkkb^L>^I`^pDg_s9={Fh_P=S|7TZ`eLgxToM>SsL+&*x z{EB-qwzqx5#T)yp@9^p^Bau~^t{bDzSU4SE?P!ZlHaxcX7p7?(rGfd~FOx*weJgyB z-t$t&Xgios`#$HkUSccV4ft!+tjM?Uw6?y`g2!i#UmQ~YbaGL3=+)^2g)e#7jUa)U z489%^ot$h~NNGEuBEH0( zs$mW*67}rA%}4eQO(ld*U_?#^9fpjvVbXMmqw~A21hZzFQ`=FrUDXX*$(6Jw#RC@P z`j zNA9)Rr}J^f$EItNk9pHC5B|2pjBYK=#FS>#roXwN7s@fEx}(c~EK-MhLoLM2=tK<& zTSbf=1#q`GV?f^=^{fDI)Ip|K)Wu7wfPL2ayCVKaL`kUabrG1_;G)sru&?O?Z|~Ct zO%G}|e0fdnLTw}w*GAMnSO;sC(q8tWw0fTk31k^!3wm<*y?W6}S3>jU!2kqUr1p*=W^zkM4Ft ze_r7C&5`W!8KJvycbTxaK0Y=AGHoIya2O$y5!RU0uqWWwEgD}kb_?HHH%WXUYRr#; zwmvojBu3pZ25AId@~ru0i`GfdFl265=x{t(=nDm+2bB*ZUkw}|!(izo2r)n8$cQ55 z;0wjmpM}^@z{GzDa49an$&3Ca)XP;EYv%xEfuC@c28$CG){_REa&>^6?Y=f89*H0? zxB%$UDZx2eA8&tNf7o-wrN$<4&IW^J38E_%shr-Bf=xC(3-Ya5RXPqj5pkgB_|uA@1)kb&(_Cu6x_S)QU9aG(J8l0+p=pbsn-| zDyzQDB{AdsZD)+>XyM=DA^OS*QNfEy{u9W*yV>3&dnb#MsuK+)qO>JbB}P4I)M4f9m+KUfYta91U~Y z$!+L9C_C@%k1E?bDuqrsY_4Sc1K1nHB6g>BI_Wx-6Y}nHX#5rpn~&7|k1=Ff*4hZl z+xe0V`!tYFvu1)$lW!tH1VQI=aDE(yCcpC`bLrBGJ6o$@2l)!L)ox{}dfR12ul;^a z%Lfg|Xv;ZTP^3n| zN?FHnXemljcM9uX%Lb1nHW*;}gh!4!kEaqQe0o4{0>3&zq`d{9!pmkVSfhlhlp3>i4lIQJ&^LM__#T7p ziTK@Ew6mcYyg8RN4y8ghxJ++Ue>$+=$^rE$56L~y&~B!30*6(})#_)J!x@;g#}5n{ zZ-qfBD&cboD{`DV)j(Z5#D9c_Rj{2;EW132HOFs1!@Do9`DMEd&7|YK{6tUFV-P|T zw@f*^@fr5=Zh%=Ol{QDN?RfumCf65>F~2(Q?-x9QxMe8mn=yvthSu%U5ZI`|Qk^PYJ9mK%#C!-rQLFgc-;5WV&&gU_*g zX&8$PGMxd1ONWq z6-ih(a(klTonc{OQ55o=W}mOr8#Ibw&S~VK+N}R6M`B(z&Alt3;7Mh?#ghhNzab&# zP^WEqtaC>H6I|tle&EpWo7kFmsfk)WS1VB9+-m-&Z8}F`8g=42e`=(=a^;vnwGfN< z9CHqh6}TuQt>Cf==kZZ<s|;HsPzyOdz|7qXc~;vbQRjzlU|1L6Sw+Q?n$bQ;Pg95!KfR-w3AkijLIVkV5d! zth8TFHsXM3?}BbyvJgLSZLCHyOzmr{fH-Vfl%&DCe!NRnmek ze||Dn?P3HDj&u;qZvWpkRB!BxQVAJtS?#;^eA8)y zL-uim=W1wEQIB=NCO)6O8DKKi_S*M)z9Bpj#47V zsH(3zZwtA~ikOg&q+h}?=JV!}csSq`eWv~9cemcW^QF6*7T&4sqB`V@Ik@B7{GX#> zTfH)(Wwys$ZB3+-gVP2MUj(}#IL4l&F689)O414T?*>tDd5YRblJ<0F0A2%c!Aop zRJ-|{>cm}LdlH(PG6pv}+WbiE7Z zcHK6r)DY)AZ}nGJV735XcOX~1HFjk8CL~;p5r+3FQJI9FDErOg^U5cFHs?2Jr8DAX z_XL(px65;qF_&Ee>UQtnL|DeW@0kfPsHgkP$Zxh2=GnwE>P?sS{EP+h>@eCh`0t%) z_IDSPu*Y)&_N96D z$1Jl|o+;SU8Q01*g4&;^<&*IhUR&!CJ+oHYkG#Y6NMLd5Pf8%yk3Fz4%UbjJ~v8eLqp>K$!R{SH`5#JhfGWNwlMrfObG=3T42_4+3RhVmA1 zsvzvEJCeMaBOlIr^qvzaZ}+h)HikY&cH{|E2L&qx{*4MRaZXm;+;1iN2-5r#+i#^E z4?LS9yNcBPc#KgmdlcnQL2>0f&r#iDT8*a{1^c%iI@*!HM9~G$Rm5>A*FEFP9$pQT1WL}eZnp@`I$Wf&*Y+O z;A4=Ls+#_KLj}V@wV^A@BytN3K3@|2YA83(0CtW<8k)$Sv&dr=1$#LWSnUc=1m@Aa;iT#xSPIjDgwX zgW7p<2_4S36!;=>P4-o8VuqaOmE|klY?Hh&?Db;fcWFTL-#SiA37ocC-E+dwp58B5+bKPsR2D zYqRa0PdBcH%2hbM;1JdaL{l=3VGE(nEZEON(yvtg4d_ITDE%*w%dmxWVchU1V$r^T&ADB^fr)!@z9i~5B&^=Y1q6BQ> zrK#`56MU)oXuE+kGN|rRg@Y|nY|qf~(J!G9VPKGK4M7LsLvF8RA7;2O2uL=GR2SdwW2}1@;!#1x-&3JFZh&6 zxR;#uH2JbDdiP_y#CggbT@p$!hP8v-8X^;@l3iYj4WP~oZB#>>Tk zUeC?wk@bZ&pcd2eam2oqO&0N1Bwl4wz)uYOx&?63Kfk~}jXQODesysZE4HmaJylc+ zJ4&o9PWdO;ux=i*bvF^N`%RO#o(1R*Mh( z4^PH=RQP30e-Q@s>LeDi5cl;u$X=VSQ8hrZrV^}W?=Zi8o3@njMo) z{DEL@V#aZ5PM(8vmhz@VP;Q;nZ2~_5mEsyL%2~dv<>_oEJi8 zLN^ItGCn<&P^;o%IewF*tGjF2`-%BbR>*h3)LO@~a|=6!g@X~r2+gVUUDjFS(^AWC zh(W1A;kwf&uY~m@!_!A=?gae_^K^%4R%s=pza6Kz;U)ypkgPRh zy7#@&e^pOr>>Z=BZf&1+4oCawiAabLKzCm<+Yv?*Mb?GdT`h28DhmGi#Km23}THHlPkBw?lwXIH#BdFAdCD+^qp6Z5Gs^|K}4es_)3jUYc zMsX=KPBEBu%!ue+w%1^+U@Hzr8h6mQiWEB0X3I{SmHwehzzuPjoJftjH zZH)b{xT@01iz&fU)*SZVBxUt<@unYJ_U2rsH?Y1Kn>BHDX7%5dS_C#D`?=V*w-9HZ#m&xf-aX zKItwCVlx9|IL2F-zaGx*0C+$}+P8k4LOIS{gK=f_z>R{3vXLgPet%EpuCj<`1FG|l zpOt>otypC%?k3#|S^?HK{FfAR+?i`pIS4k7PHo5*7hdv@TsFphM<2aV&Q8a8=z|M< zo(BC1>uBd&OQ9@RExOMAO@I01L&>!n_xIMqU9=IeFVZUcx9^$epK!W6fbDz!xa!OqbjAG8F#ltB#X&owCxL?Slo z1FORVCil86oC?X+7#F7Osa(?~sCU$o2|x3T=1aAgw1Oq5%&B0d{PDY%F>b;T7E z?Zr*WlLhDWFc-XETN*0anvR;^^}R!Y9{VqO`{4f{XkM^P(ad}X+K6Yk3+;kNu5%1u3>ASwaPOX z+uJq(3V&EDwzU9v)zibtY+(Y#BTy z7GRt`L#&;Yd{hsRoRj`2RW0bs`?Zr@8do(2(;!+U4d8kG60Vkr3UuA+v5xxakRRkQ zt+bhU_g;^_;_E&2&t8%p?vP-fqJLg5%5ai8#$nBUCn zZZYr(Cm{0(d9Qr`h7;k4pwq>jwrHDE!m zB2tEu?8A~pT?;=0HElckd|f3}7DEbFH_2|or3QG;tSA}ealsD>{Uh1psYb<^=;>O4tW@ysh-gtEmSLZ;8Dl1F)LZoF zeRhnkFZ|lI<2Agfg}EHmCshFQkvYT(zw0 zHZazS&R(zn+2C$NB`O`8HVrsem3k7p4jkjkk^U5&5ZmigB?^g{uZ5rGJ^urqVz+Yz zFLDm>1U!tfufIt9{@n9uV^P;WlvnvuA$DK+9d5_e*B10+wqzO!2pKdGjX9@WaB%*2 z=j_KpfM^kwz3kA6Xp>s}u6I^0Xfw6Ypf`|U8vdbn%^dOCm`osuYAYf6u)fsGoBh#; z6+Qn&#i`vQ?Nw}oeHEK9`cCSzvby~{!H5PkMt~y)zOM^$S2?%GFq7{-`)HmXB>o!D zY;~SByFB-=ZGM(v18=yz@;#v?0t{OE<1xPcKFCWhiLG$Yrylg%NyG?u|cn))8sr+%rLZMFYmXoJm~ z;-%&jDO>s#Yn=1$gf{8@@wd~D>V$M}n}M(-tv1^%2~Q56Aw0r(Z-M@>e18t`>dsNW z+DZM9uds}5tox(7S9t-XO}8(o;uqYq@bUuCYnjWu5ETwBWJYMKaj@5YS;CiGRd0pa z+eW%@z@uic5k-{-W);>UUh#{lRo_0tU1Oan0!`zmg{OV)z_G*-eqwYfsN7h_%78)f zask&W4+Gt)XGJ#yGD`r;HEpAlRa`eCB~+{Otv+k7rqb@YMrb~ZCU29bw`Jk;yS;wx z3aW=J)lnltD)7F6Cc#WAT$f+Ha)yrPc;AD0>Y73i3zx=WH*z#KJQKjsbJOUEF3WG_ zd|15S>C{YgX(v}J22~L42>>ga)_{YF1=eAIhB9rH9`v&Jx?}SHY}pli#ElRTHOq)u zfb`l{>_ys#c&Uz%FMc!+{)2AW3Hujx3q~;J|A=lW8sK_}g6g2R2;Kv)I<=!Whi1aa z&-kgt{xnB>+TF__m-c`a>Qjt+;yq}qY|0e>>=P1;Nf^)virFZuJ1G@XN8f{<>QdYd zFa4rQ!jPu-mnLr1#?f5>kb(HfS2D_2q;gB@+rS#82OARDVW z5*7zlEzo6F_B*!ek9w7J?(A8p6iv`i_IE4qkhJOvpO4~+iic5LA7&>!^U0D%=hgOx zMVhUs-J*6DD_4$EM3vih{mANUiIi!C%*o+JOokodx*1aqc}(jAcj&gA{~})SO*%MR zWd1kE3ugl#y%j|pDU0Bgi_s2^TZpBasZsb5$BGAvXVBC3oK({>KSGU|+@LV-`&ey9 z3}_~uz>-;u1*5BOTq=UiF^kwUesbjVkh;kYvv#BRX~8SNAfA2#=;ApixX4*kpa8K0L5(3jA373*Dja&r%AOD;Zs_Hq#J8r zWfSKg6r%-rGEtNl-%#F-;^OUnV8$qwF#1FvoP(QAkYcsOh?vV1k1L7)-S9Gydzb5* zQF5=Fz(s7vc?t7avG)k`2h$lzwy0^!?8-XIi=ui$DxFaAJuDYTCyFP#Ek0wte0=)R z;{Cj@E|>02Kd#QIT&f)QbxcaiUI^TYd%i4F!X9%iacHa0_R;^MYyAnH{Z&E+2IHdqM7>XWn zW*zqg9uXVO3^BPL&8+d>Fkg}9LoCh-60ETMI2-jt9b=Ar)p^nRP6#L^7Sc#PbYnH9Pr(! z9*JQYcPvDvKD+@a1pYB>A>-&A?lj%#A|2npg&wkLRhe4KA&AK^NC=GEDO>#%a-U?5 zgvax3XS?lmsl&T_XctvVz##%+?s>@m-y|pIo8ksK3A0DB`|WTolC$*Ku>1@R^FO~q za|!D?>7(k%Wp82u)3o7nv=i9%n0gbLQ4h0s;E3el4`(IT#!PG|e)x7vt4Cf3jtuD{ zU^q{#Zu8pEfn&g&vIKw0YeI)m(kJTE-@xNPQDnX?$NG>CKYu`~Q6stZ#%8Q{nt2Ia zKW&rH7A^vp@q?w{P@KXmfi3`0SD>H^0a&IW2Yqctr0~+Ka`?bx83v*X!RPMk(+&xC zv;PAjgF5Zwu&xz)2E zOQsI>KCv2ARjr2WU!v=74(L=)w*mUy8NQ_W!`7R~P_4im`jB^b2|9q&d`JDl*Ad;* zs9|mEOh=u@v*&)!)G+Wx|AXYuOAt!HjK2sDoA@mc%72H*1f4R~{R1KsOZRO34iM9* zhc_Qxuq)C(ngN|?bUWP%y^iTfQgWI>=}W;&3U68A=?t4O2;>hszI$A2XN(!H$COQ9 zYspd6G*9rA^0Xn8y)^@4Vg#p?U;_Er(eMt^QcQC(gheVRAog)E2;@~;t#iT83}M)r z@e!dF7nSW<%i#lj!nqR*rK5UFX2;(aaOMRE8eB21|IkA?FNKS9 z6S+czl)oBP2r47c3u=0vlKUOtvh)!tNo?j#62Zjg#gacKg!{ETy zCDhY6i0uqxX|L)`xQm2-cPGZ`Ef;wrBYr|U?AgdB!x*?sq+;%y*+<7VBeg2Q+K(<_ z4034ozW6Dwml`k}K=#>yEHPo66;BOHLM3-Y{vO;!p~5+R)?jHZxd>}iV^sqG6k7)z zT)Ry?t}*=CsvcfS` z$xtfTrQ#}Gc7y8e2w`z_!Fv(Cv25E0z3pTKJg>n@iz-)j4|<>|53Rrg%DZXOHb9RX zY0*60VwcO~S#SU+%8|nSW-8i43Ga=&AGXRjrR43rpZ&9_FH39_1#kW=e5b$7ZSYPF z@>4-GUML;XdbxU%w5dA#XH|^2zcq|wsPs;-0$(W0FNlpo` z36HzD)5D-0BJYm3`%*dx`;I)r`_V$Lc0dRa^0&wkYI$0jDgX`eM4H{SIb1G(f>kZZ zcqHTb(ChgDk}C|^DyB{t@#q!?ng+maxfL^=u z2F`c3QYmJ7KMj>E!Q-I;0E6sp4=}#B3#cNFA4S?_+u`@|K_hdv{bjPzUhMl^W?LO_ zAzL=7a&^36i3Q8&@t?ey8M`WrpFscW%yLFO6MN1eNgAjt)Sv-Ddf(3ZsT^vkX{2#S zcI|4XHHa^RJust)>HlDz$g#oyetqJhp-WxWz%$Q%yeWff^7*@I_1lT}6l(P|eccQC6Ycf!SBHKc6qtRaNdI~qafDBb(X-IKDVF%w2 zB-%({2IS*+B@Zry-cb+1%MG}0%zxIOm1L?{WhD4Rn8`VQJ#j{-Av(Q&Eru)QtVg#q z()_uZv^gasdFvzX@YW_`UWaMFRBFmupT^s~Kld~3#X$Kk=is}w7*qQ_@oB1_+s4Wp z)d(~ltBoA#jd6G2cs78mChgG`*}%6}a`pG$@VKVE9E1O43*Bv2^2&metF#au)JMkP zJwc@RMi9PiyZf!B|8#BoxNgOPfw}W89rGxx#k&`o=Fh;{edsCj4Xu!xg-SG)Jq1Mg zOP-c9=*~xV`rXM^#tmKMVhiOmBFs|p)YOEi3P!SAqL~8+c~9xR#t%^xQmMYE0ul0N zs?F`>WVv86Z%L(xuPg~;UX#bDbs+%z#&Mal>`PZTTMFt;7IcQ(sj7QeQOj))XhdCa z#otD{Gv?$CS+E=I2t>nWn=_So)E_qi6hk|T4B*wFe$tt#r9*h8bb=Y-2;!-EieHhP zXGCl>49^Ie;)~@#FVnWY0_1YzjE3VB;*v13?=5xqZ=)t!;{sa zi6G9CAL}?C6Cc&g!ZQgCZO|9?hNgliJkmhY#Us9|#1g>J*aP(~wHo2VTk9I>q7^sD zBQf0o2K%pA?ZYh81D)m7#(0K$r#&eU3ow{`X7&h62qK|`cb}v?yr4eT2u(b_|3pNt zHc)J*f&xBu*_~g}GVPlPe9Ya4ey{>zM;%nP?3Y6+c<+lUY$1glYiTAF_47PzNv1Zy z|3hwlPf~Su1UQB6kUBg@A|YN5k266Qrhu?4e_4hqJTlIx8tb*naB7R1$9au4 zPt--fz5#42eC7fZ*6`kEN^-rtgL*c?bKqwXkpMB&_245h%}W%vKeUITR05PzVshM9 zP~?8cPt1HZJyO+>+pIanic}v(O#QMDI_s(_P(IdIQtq#U`2YtZb1C?~OL;l;-YK7b zQf{xNenq8diG(}A0{t=YXv>>Lxt=K?NyePpihl~1yheH@-9JE9kfw=HWLDmUi>;`i zUH~xdy7!fuYiXJD?;UjW$^$Ko$s5dwbM`R06T44q>1d3Dh$6!_%=Xy8Xr6Ei7uo~H z4C;$NF7dwBX}=xbm_cI)%DWeM^M*kB5|B3rM zkdBg%K=!18?h?Wh;B(>{J;*r>F>lc7BYzwA8d5XGapn>#=^LQtxIyvPV}4h?Z&}8; zh%kYq9^M%%ee2}ZE>jp;q{V_>vw|P?^@wtOJ~&eL47mAic9tW0k#Z}>@_*Yn)u}Lg z#p+x>z1l11f}%jFaW(l+Ohnhhl4XgLQo?gTVxqOGUP7Uuqlb?ij1IKEce#X<6hj}+ zxx$S=@a?;p1Sl#E8DDz+s9hFuDcQN~YP=$oUbOeU4oHASpt;|!j1pDn0#8;muL;)2GX&cEiTYWS zv{`qFZ4lzDsEq%x8%L>hFo`|AB_^OYFW z?X>yv>-K2Tv{imQQmvll6$9UTm59~a&;j+p`@K}2OX?MRGQ+RaFIB`uon9X)GN@r= z&!OGac1OT9rCrY8O{wgMn#2xZKu%gTG+@MIYS=_2ye7jpH)2m-(glZ(#FwGc zo<2PM2+nyw;_tVs%s4WSjp(kP+3DGhcW z@S|SvfaHztWwV9io^zlw$dhq90!d${wHAbY?p5W~#HL7m(@XEY@8=5wJ1cw%1iL*T zfq%7nrM76rsxA7z0>PJpO@9r2{!Uy(-6~Z5feD=9Hwka9?%o%bL`Lj{?zz*nk4Mn* zhJ9Hz9CRS7zo3xR-t`F+P+A=v!ENOaAj-hkQT$8pbD;I2v@%}$uT@;q%2{0kQoR!o zDdHx+Y{C5w?L1p$?Kef9c#l2bbB-hJg~VLbww#9sis6bkaum?dHFtDh7uIGZI|?3D zovB_on7;68yB?l6rWj!PhB2>Jx4kCN#{kV?d0ru&ZgXUxSgx(SK}P6kh{%Lb{ReWr zZjiGUdB{)FM~KWn;JY9n5F7$nVfDG4BjwrCpWKpa)JI;$3hMM6q+oLwZtiBM(0b{= z#wx+qvS3ZCz_VlK_`HxeN3`B16n#ta@0ptjG_45HDzuNN{u3~gV1~~vYgOlvmd1Aj z*SpF9)+bamVfzjW`^I*B9pdKUwsjyzMrd9Z zD)~f6xDgg+pd0#YxDZ zj5E83zNOnhH;@hbrTxKdEW?Y40JoqOGVnT@ip&hZ@(a(EA%arv4$;MhEc-A^fecn- zCkBSG1<9xiE+Gqgm_bkeK9ALJ&>&91m(91;hU0GUOjm~ssa$sXbDw=LRhB^`r{mG6 zeU|6?cuD?S6815ipYS~_0IynQ_Yi|ks;b)?yk2Kygk-F19 z7ir;x$5%yNc#Z_9<{d|d=q+CzbK(wfqlt&~jD#H%l4QoQrGsB$07zC6-a5xa6&pFY zg%BlL2!bd8F2NZYuCIuscf`|XF&?g-i3dnS=`W)O0>ol7KD|Jmo`n;9-CmBoD6YyA z_p6>pusqw&a_bLp1``0A@=}Hpr-LZsmd4p#b#QJp`UsJi^{aqtYE4Gr7M@neD=V1S8;IS>zUGWL{)uyUNI!R=&%x7;pQ(78--9=SIt3$Lr9`ukw zeZI9cFf$NtpO@#d5KemjfbcTq7H^Rw=fvx=R5E1wf6;mT|1frCkG0v3MRi*JK}0HA z?{(f_MxL|l+}ok)Iy}`U#@)9NC}(0-a6t~E8Fb9p=my??NUvRGo@&VACVva|OAL60 zcku=oi+~a0dNf9>NI`{^X+|L_tQOw@n=lsD*UF;8&cy&egnyI0S1Lr2boAj1x?3qK zXA27St7OSmKw@7c0r%CkoafEAsy4|Z&nqX(3#Cs*(e;*yAn9?lpdo`)cH$i@jxXqS ze5+du#)vAchoKScTh2#6#uyhRxMg*?W&bUg_CXdbEuDMiT?6it7(p3 zx8!(KW?<<7|CKovhf(F^GMqJXTKWky2m<2cl}pwD3>Gk;A$1Q*EJl!|Cjf8Uot11D zW~x~vJAJFH9tdryG;E;Q2qF&t|s|zsnbIu$-gRXf3D`&AZ!r`O=tpm zpF%wbA*wspP~89Hhn|1_bLB_fh;bU6iZlNGO=}v=SApU6ntpAZ7J*QAFm+U>5w4;- zy9e5A17iL`P6hrpa5h|gXfr0rO$1x^s^9DXA?lsO<7&U};ihS9PRz!(ZKG+D#_h|ckd{uLJnRb%qX_kQx z<=XduqOPDtHu90buMM04>-8*?AUYpPDKPoY3vd3V(4epX@4F@ZQvs(O=_pPqP&&W5 zb>;qhCs8M3cTgf5Al57kN?OfWKXtyGK^!^s1HBoi6k0yIl0P1&{*ST?aIIZoDAx=` zfk1gNoS^v+qWEZA9xO+lzTXGcV*n!4025~Pf0;Pwgf9Qc#l0EWfmQ>FPIXRPXD|%B zJs5`{(+7GEskaq9NLr4QPsS)c6yE0QK&T1Q+T^6!$A_Tj@c4r!rS=`vgyQm632}_; zj}Yl?w?XtjzV65GhZ$>#I(>gRVA(8983S#wkX&D#;eS%KhtEb9CBjR8lxMS5xrbto zK)96Zk)o^oQ4@L*_pSgJW;X~%E^yLjGC`9i-*Yg{{F|@ANilMVn}`Tv0^`zv)>ee) zb0Fr+)|m<3D-tqS4;sVdrLxUOB%2460ofLQDLP^*y!i||3^TR$xDC60xF5SgQQw>) zWbiErNrPCzwgO2Gh0i6vK8)f;wY?82;!<+ZJl-1EMrU6!-ohF5yu;+V7rMwaf~Fc#RIA6+Ro7 znocMAF2W*hsr8N{nR*(Ijm8Zy$$EmPbQ_G~*hnIDUA05vML7!A_t$d&Ub3a;UzRj znZ_jcbb-o{k7ormO_n=GHh?f}pFJ+uyDdejK0*#54C2YHM7ta5l#jQQ4}&z@&B zpx0-^PNH{5e>xs+h9H5&Af_itj*|~(?_!zZB=BGMg`PH+&)Jk?J?q7U^=bj$m-jtk z8YD0$SNmTx=}iKxz4C*O%WB1GrOZ*_^oi`RrX$P5zLuKFu&|B~iD-}Npp>!2=Nbqc zUnEe10j1xa)zlmdCC}ENcd(9Gv37^w@j3y1sgxy|xopq*v<8t=EnIivH3u?1V8?AOOyc4ovxmbAubn24OZF$-21oNn*~hL~`k^{PbhRiYxgOMatb zf_hUuL4_yQ14>v5s*OEQd~sd>2VC+T_2zlws*ud=iQYpYMu@|H-pz9+8tA7hy&He4aQ`O0I!!*a{xP0UF^AH*;6$ zIDZ1mCuO|q@B_ML5!v_HZ&mu24Zcdy%GcAk*>JeLe!zVo2v0QnqL1dfFt%ic)1?K1 zrLMCVCJ=(g)KmXO@&N2$t8Wog?*f)&NMtlxoT07 zxo6rqGwb&Khkdm!At|~O`ZwZRz<6vHMJ5XxmkGyT34f_TyZk=6dy0%5fs}{$y)T6^heg%3Y-{w zOZflu;X}oEy8G7n$|L^rJV4ty>FV3mG0ylrl6uJ2?KgCZQL>5>96pUf$+BxO9(!Pr zr75zFA9@-oJJqQP_WEP5>`<4xPe2#!+b(lrAJ0bQ@pB$B!2{o0rKG44Nbb9NP$gLO zy=F=(-=hA%G;M|s@PmQ^AO?~=*sDR@GB-V_wjUVhke^8phQ~m4(u@~4s%;xTzLWK2 zLE$r|I;NP4r8tEOnxd2s&^XAIu(+o zUe*V;h5v{lRG(nJIZs)~h)5+7&iKMrln#kEo!K0#^qYCk^;9+E>??@gconsK?W{kx|5KX9ZOEex7>bscG+tVh#6Y+^4{ffFkFndK(^U9w&fvkZ5 zRm=+iCO;fCJGCMOsA+GbMs9$A*ZZVW47SsPJ)xT&ef)ZLKpZQuyJka4jl(pHmhZD2 z{!!LjUyT9@V0=jCU7TQyyS-*&f+R7DeU8Exl-reRMxa>ovH!^%I(t5E2$d?YsdMcR zSJ)ua{|{hnnRYndd)5J2?Y_K1X<6mhWu%C(Rw1F;WWyP=-tX;I3OS4u8zHddJ=AoE z(JAq_yC&>&$RH!4UFkYJXbxJumk%w`c;Pbw~#6ny&R_wLJ| z1peBEj#m$2;2MnzrK$6otuWNj&-H=Fd3C-0ncwHU(a2R^si^WvrP?xk!^$}w2E)4a z!jC#X&*DLiW72dp>Dl0Bk-+Af1e2`1K-#ggIT98d41Vj zDPqfe<8x2&Gp&nfoLXX+KCxR@=F`#ErqE7%7;C7R+1o?UqD0DMs+<(L7$6Usr2{JF zfZz$bND{~_qtw!SiyOc4JnVninK&{XgZD1_cD$!gSnzfLAH=asr(XRB8^sYMpEnF) zWX*1Puz{8M@1pC&396#C5MKq-6FDVgJ36E(sV|Yp8Gdb%LjW=4!=Nt(R|B&^QotXU zc)~Wd0CqlLu&WO+Q0*sA+~DLj^IM`tvvQoS5#kJkFA6v9OpCf1L_;4EjL<)h`Jb9OC}+O>*nCBA~YR_o^D( z%!fp#OigP)m$1x#6~ zPQN)#&4LKQOS!-MPPVk!ThT{Ip2XY51Xxb3wKY5y7+LZHVi{2eCvoUo(ZZ*CgDX&a zrzQz6r3SXft>rnFYq0KE!`0A1I_E&oBE(0S-mPbmJ-IQtKqeb~Dx8(w*vjk-8U3oW zSD!^fQdFlYntO9<-5`6BC&`sNd}i!&0XzP=_F+XbzL0mhtDPrUTh(uHH}d2I3kJKK zkIGA}RiRZ;SR_yxw!Txe-qw>JN+?R1*c`CH{5PdT()LH4n@TqE z=0eg{c!~U3`pE$^;O|C~A357s?%PxdkkabF4Teb&95AJiNTo3!0_q)N%exNBhhW#g zIdZv| z5wydbv!6Iyq!9K@9Q6dARd$^qd}rhoPjM~rZ}F(m$uMR4qWk8#wK9&hla<{bMe1Xb zD?y}665%T$DTmO&*2qREAFdxx&7jLf{zcyt4zqnZD*qkKpojNj zALv!UA-Am+x2CG6F_``7#2_(x?c00q%kUp+C!6E|XqASfR_d>aNURyRK=*0-J$0Sh6a;E#$O z6UQL!xbr^~0<>^KbcVm-q*h}fL3KC_f!dr-oDb(vP<=tzK7`{f4HykFswB0~1Dpfa z%e8$ra@|5M*1x+Ix4G3^j|?6g;LAdb$rgw(9^?Cet@&&Z9Ce%90ujLlJhu4DB4djc zaA^UkVRT=ip4J05Jwq?tfGOL~39wA}<%-^lZh#dKZVbLkx91d!lGNk5d-xf=9;C{a zjy8ug;u3)aGMJPqU&bAErbNpsW3PjR*x`wf&|!+Xj*J+8#LHJ+0j_^mF@~{*)81uA zFdkvIVetuP=>M&~d=J7E0H9;C%V7&)epEAUdK5~XZvli&UJb+o6>ZuoK=t44({J)C zMesXzq4(n#tq;TJV6@6_*A1#^(&Lp2&~ zK!X(gs*5NA!=x3qwKz3TNLP5JsP>B!i@c9D;AnBWp6J_CIaj8n1sqx1!fJKWr!uPG zKD?qGQ+9nvjSSM#ob>vdZTx;qW}3eEr6=7( zcKG*#50vH=O#lm1fCy87lHO{dK=S`4LDe+rM7RW79Ek9=qQdBf1 z2so=%z^PfF;aUW?3aWq_trJVr!}dt zj0Sv)Sl)m#YPkPJ~xmt_*p(04uo=?LX8i33AJ&eQg{Y{^DZ;5l39UDY*~lGdJ1 zaT^7!Z`o8u<9kVx&(9Tu>}KU+7p}1-W*l%Al2_RzaV|Ei`&0M%5D{GBlq;>PFT#pVU$$U z(eFZ8H_9A^deT7(QEprN`~)BRUC+L+bVa6Fg8^zCB3e)GF9uaGzHgQ+J|3}94&T}e zET-?mV$nDTKs}b%-BF=@_UFD`Pgj^PrDfQlI6wSl!vmCwD&TQatIDvFnuKHj?wBJ% zpa9XENm{bP2tP#6lp%HNKf^X zQ^`#S2k|wfyiG*+C7>7iK_-(o_FxZWlMM8}`kdwj%1AV2AyrI+a&3pSRB*xL)IFg0 z>iVUZWTWnogtz~QZ~YFx1Nlkpe${L9yDHtTtcs9>MWI?-Vf*GykO#z$*$#ikJ3sM? zQ7VOb?!m7TS%slg{bMczF`f_VE+&}fz7!TgBrlkSIS~B(^Yazsb|^Tbhd$NKc2Bjd zIP?lRkPo|#Hv@y}mpa~$aXP=hZ z3OzoLFBaQ&uL*nxp{~Ik$sWBx%=?X|4Tl6MWrKFm-P3k?0iMPAz)*8lkL~-`Me>5O z8EnnqM#?{ew(*O%8YKE}&Y8+tar*b2nFxfO=2>b+Ubu+AY^uF{Qhy;*e-V7x%Jwwq z6}CN0c9S8sZfozz7Q7*`#ZZ}WpgLL27fB%|(>k&g3BYd`_zR`@O^r*#;X8 zZ0CvhQRFoeeoF3;bi7b^mIq>w!ZHqza$_5}72>@_N~Eimh3QU=0+|1soe5c+1EISS zzN-lkeEWEI!NDlp52T6NX?*<_)WG*QN%pBAwve=<(yOPHdx#E1o z@f}%}FoB>tx;Co0=Pg=DJnwAdYl_4IrtX!AXERSwl?~CV7&>lO@ayt>T1<@XZ zmAW?^v5pa);cMB8a&tHf*K*I6B~pmFSOE5}qYJo^x?=dk@%8p8^;7W!xKjcGc%%l& zB)*z-HrZ*B0ooFmlZ^+YeO7`Axeb|w53JIN_&vHN5S&3#YT?6S1FwZ2_L%S4?REZ< zWh2iIu>i+Ew1ew8vi;7{_R)CEg!<7KE^_*GI<;SFbB0xhJ`aDc37U!keA5{b93y80 zr%g$j7qkRuIrx81A$GtgQJbyEUB!!BW`f%1I#}niGyR1P`9+jxLxJKT%QLl^;UL5F z9QdX?pu+(Mw;hqwF%4H9pwg{Cx#!AdO(KVN z>?^hPdswBPXxVOc9P>!**86zbz3z7(NcI#b19J}w#0D&6&OwxZs(j8#+@*q1LF6;> z&p&oOf||k4G`-wT`prRZr3xI4!!P8C*suk^5&ffP~zDwp~~rggl7 z$q`nCzW?$7$&>`{DKJRvzLc84czZ;&hC-RNt(txF!e!1_$${653d*FGGzlSX&%-#7 zpLb~fLVF(DhtQ2{X@B*snpjM|=?N}3fD;%*jnLR0M4nJfNq^P3jkK4_*N=ppSn06 z+RroFE+nzTlK^w>y_%TyaDDrZK01^(Zu5?1DE%8!tjs>Ymm!1dQ zU<7f_s{84JyjEmW_GsrHwFr9!9R($y5h^$GsD7Y-mX2b@BddgJJ_W9MWY&EF89f%9 zE{2j@a9&0S1D;LxRxMLNl+HT5a9^&lA|QQEdlho|OC@yPzGAMeGyfd{#q-;E<6`IX z$RktlEdfsKwf@kPVVj*HwDj9GcpCHLZh3MuM2F0Z_yW)Mab@ZgFHZ%Dx(|*x3_%&0Wzk;UuP_Xco`@9RPZVav8 zDiF_#-N6)+mm`Yi{@~d|x3E)U@P{o|ZebP*!9JX;<;hNcB4a@x^7tE*ULiPFs{~C= zL`Xto=aX)pb4eY{RE6YRXgfeHBzh+9ltKP1UpMp4ttiLo zF(xRJIek`w8ZYku3sTVb)Lz13Wf#m9r!`!VMZkr^w)T#LymNf;LP~cl-2Q;A#M76B zxf6PDU29r2aq1P9{F&9E*HC4@{X&e;;jRbiDF}ZX&rK! zdeGC^<&edes!P7|r3C%u6@h&oW&b_B#Obizz*oTf$o5+hTn|p|q#Bo!h(Ezj3zauGX6vc$eBefc+2S`~; zC)f0N4pxebK~aT=Dt`CR>%8A!d*yZ~!jxw@H>2pVv<`YIfYkMV=9AUP>~(&)#nWBo z(}(YKuswKZHM4$z!s$G>FHKoxhq`}~4VdeFFU25CBJ9I%(sQ{WytIsG7*=xz8VI;z zEp%UZJQKAhm!AtcWfVQr+r7bSygMVyQA}Jt1Dz1Gd>jF9wgX?Hn5Ih=b_m6u?E`$; z&goY>73bSK@g?2^kW@AtvngKR^k1r0y!)Ou?4~wsEPAH@xV%X6P2r1gwWRw5n!Cyk z{vM3ScIPm)Gh5)Vcj4AQCKR@Bl)9LXAI!(S;aoN7I#hyWrS2c>7I2zM0ZT&A{v{bh zdWm8>cH5S*?Zosk_uWl14+{s7ZCW{lO3dcz=a64{kE2@GmR^GX9TTG%y3i{XcHSq z>gRLi-u6B4f29W3kjFyaw5IlY+hCQLV3WJ$Y6_Co&1TZWEX7^Z6fyp{guAg&bvD+* z>s?ze>Il?tUl(5;XeMsuD$$4M^eE-#%s z2OLG23gcgHI10+DQmikH4if&~aM8wOLaJJ|`GIHSTyz2PtLd^#GEEr_L08ttlF+kQ zfi9|+jsH?L3_X1|t69yrT?|4dKI{9}M-98ld%8RVFE{4U&2nVEdJ zhRC^zY--Rt-eDG1R>SE>mnjLZ97R>5NUP#Mjqqu!zv7@t{Chb)Exc!31UI90f+u>Y zKK{d?ATn9>fB$MnI)uuGG_h7gXV*Qdd5XoypZ3aG@Q@I1>cSSB9iR!|J$TPX(}{K5 z|4FRE?xZgjp`+gW5w$=DP76fv9}C}*`_R|W&%n?GEb;zttnpnM3H`lZb-_n0TN!2c zKXtY)k{P@(|G+p7I!eHA`eH;luNh0q?b!mZ<2!&|8!l*A4(1!CzfJkyE&CRKl}vyO z%T3%2>vl^;5wtP7zxi)`UQqR1Ur;2MHd=GeKAoHXIK=MM8_?PDGsV2N7v%sr=gJxO z7iSTrf04(_eAR?9>tNYzjMeH=;67Pl`EMMta;vV%d|5V4s8SXBxONnDI^($95>S<< zM{})ElgFnUayiM6;ZRS4BjRKKkOO{vx1NF-6&X14P{E%UT!_8DY+=Ev&&Iyu+o{rA zN|vt21;i$ilo!aU8`wFODAl#18}H&E;&9U~v*DOQ?VwuDDdH2K87p>JeY)9EcUsQ1 zT&O=Imlz}k`Xy`HymO+#Oz!2q!8a~OCr26o;F;?|4V?DHn|Sx~FNGq7rrzhhXd{S0 z6f`em5sx*HO2O*1x*Fw)ztsWkk2{IV<1r*^>AfyJ)&L;URBKI<==?FV)W-0igo)Rzro_;WsxbR|qI_jsQntr~1o&}dU z6!q3mJ7fxup zpG@udh0;v0LS?yT3k8#I3H*+~eC~u@Zow6w;@{)|rU#ow)~s5GrtO%$o<Q=UybmuB8P6zM57g8V@=ZU~A7#2_UpBwQWcIZ1#}mJrv8c)& z0XKe#{|lG^#N~(IC9~M!%+IzcxqgJ{p;;H8#;ZZ(sjJtfAITxp^W+pfj=JGt|s zR^YWBF(Jej)p7DfP>C*Y0$3UM{>aB-FZEttMNIXskSF7#p z_B+flXdoHPea)RA!6|WBh{x2ANLPd2-8rJjt;DN&70wF<`vbJ0eTi9G%%S@cB^9f> zQ*&$^&nK}cu6G!u>mW#V&r0dQ!qY8V!bc<3AUqD5bLiv z_G=JKK55ic0UYNWTLUJ3@FfRq68r!|MsflqrOy10Dc{8%+(eV1!-nv|{!jU~M=)Ei zG>ns=$GXKx$p6M$aLp7_w7qN)g8BDDueJ)hbAZzr!v$Gc>Vtm$%ge^wICKO}@Ox{6 zTal&$PsBL?bv&6=-+F9TAFCweojBFk`JZ?9wVb#b`qhIy=bDM3Y2_rz!6p3IJP2>s zM!S;ZCE?wRkIiwWSv_w_Z5Sp?`T58isD1%JYSGVV4CMxuY~Rb->qirI&GY++LtA$4f59&Ya(kpy{2kg0E5U zs?KE0e+jw&Tp-+Df=t2k8YJx~iR(&c-KJTBUN#K85_RT6xr?J$o zz|SwPlPYFv^Lc!KWlGQ)ft>>YBuUZU>D#!-r&mSTe7x01MbeX9eo9H#a`z_DQHRD)MRN2`(2e06x9!}Kf9#_X`?!zwUaDz#Dy>5=qrAFjwWe7!=KzGCR-VU#wj4Lr>=yTheuMwygE;PA;gan#KPI79w_5zQl zEre~S&U*yHPI85ko`*h0-raOU4Llf13Y5aVAFCu(9}I%-sQsZ=4akYUark&3#+c*`W~qVi(KNr<6HbU0^aJzAAioa~ z)sh_RMhj}VpdL@8-3F3g+I3o>i${)DsLYUmj?1J)6;mjujX|);#G|s65b+?vfPo0a zN@-v)lML=}j;qj`49{Cm!>U-M7E-BArIb!>#$1w-OkYY1YWpjUAE-|ui-j+gICs@E z?(O*Gf?>kwW6sOFf$~;|f9d)iuwHS9Zee}>Ux;!~fs?n*#v}IqzqwN*0G^)pv~WCf zi5h(Z^1sUzTsjMBE%i}+FWWF8ub1`xq+cbN{$$q3IM?w^H`|3!o=2-`FxMy7)fb+Z zN4a-Aiax+iSkMp`k*qR?VJjh{#nyP{w^S}lu%z_PHZ5WlPPJW+TB>>U!@i$RT>D0y zZG=^Y^^RZ>*l1*M?wrr~#7$^4?Z~RvhJ3H_i2_S%pBMg}Y?5d+dqZl;+egIHrX)Bw z^#W5vSPh-{(BiL0hiFd3b1%UvX2_<35SJNuGm_F@XUfP97{lLiK{J#NKTz+@a%+Tx z&Dw7t7hLQ;Qb5=y9Phc<~rJVU}M7ZOkbEzW+m?7~s;zE|c)vC~=;1 z&`^_Kn8lPLI+c;tq-~{+jK?K`PS>H~(F_E6ToxNx1bA z?{Isiv+^T9!poHJdyUhrq}$w#djnzP5NyWRgF7u}JfjI4MU{;03Fp7pud+U@f&ocI z+nPY-NVfByfqlu|_7hr#O0TI0%4if}YUojIUYp6>DxMdD@&zZf_p{LoF@}w$< z#sHK7m{)_g{Oool6*Mnsd0WBKeGwIEb%=4_(@2yujVN{4q3yi$~GB3XJ1e6MsL;p z#K-r8poN_b`x692E#)E%+*{7u=>N;tFc2_A>(+M;mQP4BtGAhD?4%F)1djY1@w>1q z!F1mj{1SFc-xtj{&C|8_)MPP;Z#1gU7zns*8GeK|DUiFzNKCw5r-S*;4^mB*S{pn8}K5XDoy@=I7;+iY| zsw3&^V#i#dOZ`>(+vT`2_QC>Bc(N=lG*y5qPV`kY35PA*Hh~(5GGwI(ffG2}@2nePeaxU=}f{Q)cBN)<^Y74^swT=t9a+BDJx zvw4(EfQ++ZHcQRiD7lI{;=bdYx2A)8%bRJEnr3V&l|voMKXwgzn82Qc1gzI!bRWJ*y8F`hH7ir8!dqSyb|_iv#0#Gz}ikUMkqOoGq6J>ots9$;i6CxsUKJzoh3+u8j0f+lx9W7<%Q z7-Mjd4I552K_S)X9VE|qb=*%G0)HgIP)M{K$h`*6GA|Xk?txrR4wD2gP6!I=zbLNs zX;$+cp7`A=yg00RV8MGnUg2)mq})CncS5!$>_)ZPG`<`6APImvv<@#1I&n95^}3cN zO@k&4|CgVtp|W1Tj6!(499VAJxI%s9-3Dc~p_31r>2+=252Tn)xt7+0zu|1@*1qti zMlJ?SC=@JkZ9ZAz6SZSvi4h=)^YFy^A~cOW04cjtybqCKKQqG zt!I=0d6CF}zT)-sREB98X=D8`rH{g4S-#Kd4W0gm(jWmUoe*wGX?_kCg#{ch@DS0$ zHQecILZ9>>NmFXJ+skyz1zaQ{Q68GARhV0e!6IPTk)YKT4~R78V#~n{HUkNzdJe^4 z7D@WHxk78`s1%3~VudrsmM;d{S=TEd^lxOT^3FBj3z-^Yn;9+0XxdQFy5*yYc$edF zM1>)J`2lyy-1@I^A3bmniKfd-#RPE<@-6$;KDXO2~&vd*_xrlK2*d6fQ_RCho#w+BHh+SrZlxpk zfkNjvS_^&RWtm?0#(NoP2HJ#!b`+9XW_qMwIE4A^|GCqQ91x)kmpc-+%2u{!LDXYX1HZ#?&M%L3;BGg$> zhK+u<)Hkn0XVAE4(xWv-lU61pb}=PE(WL&Xmtq);q_hmRb73(_@+Nutt|3y|-_hVF ziK|!7A=nMmi(RWa=Y8X@JhOK*hOn-HLs=Dk79~5mDR!!OMqe)58ncOqPn4W2d<1J- zYRIh#UMarN1MS(79#{hu9hypgx zkXkRCiU`g&n7}>$#jW(FI&{aPBbu30uH1U#r1Ea|r7S*d8tPn~}^{(7C zhmUYgC-!^<3MYM*t*sZs#gI-fNKJ3c1Yk~UhVqo^CqWA9b^{d6`J6S^!Gjsi%|qaw zuA5P$W><4kRb7jgATr+@rn~NBs#-T_E)WNL#?rzrxddhV*#56^;6|P zV#1T>(*bawqrGJZSaEg~EC0OSKUuV0IiXnmSr9rg&<;!T(hhC3ObmmsHuN3v?DdVn zvrLW>nI2{O<@xOOrEn?L>;SeIT`hM$uV;X~iTHS2*htMQ^0npzC{};r^5qjUlAWV|TQlq8FfDB;0nb>R(_?(5@OZh` zdKVjSF4))`cr}%UaBe;nt!3#JK;@HVlZ0%S1R7mV;@;Z;Q zpv!@J1+9hfdk|gydYPY<>hV{G4M-+nOv|TqlnsOSQ9V=)di%>5w8~|<*aPv3s2x{u zfTB+{aKI$Nqsog?eMe3=7SjGzVp_H0=1CY5d#)6b16InO_HQzNATK`Gd{BexYP$Q^ zw?|4{DzXhg?3C5YOi3TxrzHs_5;9g4gu&7&m1rCbCII@U4P7%QR{qH5%9#i!9EUE{ z^R2MjB>UB&Uv{Fu;{+SoAYmXa&pUi~Wn|MHB!v!FP5U90QVt*W25dpI8oR>Hn|lg7t{*y&62I)6woG?bh3Z@ic zE%>K;s$>|k*i6_%Xen6{-cf&eT;#&q;$X*O*GdXGAGMeAS?&2@M#icG@GS?y?Jg%0~zLW zII!$CPAIy<__72CH}vYad}??o7$qZ$5tO>@_PmACt<#qXXVf6;Fw)N7V(Z^XMh)6w zZH?vBnC zBi%_??AKca|F%O<%u4AADuLf8FFhl=P+>*+U-Ws)|MI|9R5b7E&IbpuWFxq48+ffT zVP`aiZ)5Nsr=@a&Sg4>L2g$vl0l$MkP7aqn_`@nsAXY|P`v^?qI%l=}EpY>w=G$s` z7=j0_mwfE)uID{I>*mu5yw=azloXzw9a@UE_Zi9x_rAxx{so$tzhYtV44;z%oX8@# z&Y1|~Cyn!(#G~(eo1t4+koz^%D5V8@sE^T(a8@`XH#ugG|#rYsFAIZv<3Hate#gZ2_&3}%@*dO__e$VIyrSYVDo=p z3nhzjT#ttOx6a%rP}x&1b;;;n4HAUDN3TjmVpV3JF%S%KlfTqJ-xhhI)PI9J`l&r6 zuO53thPo+<$_#;~GwTMFZNxW>(XL!z@ zVMPo>_eCd{%jctg$u+C?fNrv?S^XJGsyyl~2%Jkd{RBj|s2O??$HX{ueS+O6|W@XJvIofAPdh@4?Y-b4}PcJjznXj)%K_+N;MD9qbXtS zZ?J2mKw@ul>=iV=O#(HT%JCZQkemGEyTSSkn6$BJp>|{beeyEDRP4o0x=*txYwy8c z1)U2KR=UjR=i!Gsy45oXc6TJ!#C{cuBvf*xGDJ6F*)CjJ=UkE-WeY?k=xgvG28gZR~;Fd23Hiz2y&MFeuI^pdr`=IyqD(VR*?=ec>C zw{XcR5@=T_R2(E2ICo~~F`oAN!+#q4dW>3QkWbJc2T2b{<_u#3TCWuJ#b}=IOTo_Z z^3a|4+k_g&X{~XZ0|Iz!KDc%pz>I3U7;u~BE#~8L4~(D17H&{Ew21F7S3$`9PSZL#C=YSWE&HJg#C=UmDq)5)8p9dG00a zfify5IE2J&3Zk+Q-i%ij=y$MwKwkLQ&q}g&*&5@r7O8(K{U5wFNP8MHg`aqHm2<4o zQkxQ>WS*uNAC|P-5Bpa63ZT_%;pkR`iSTP5qzA6?{1Rayj09lkOq$$-1^IQ<8MD+Z zi1oMA*qhAmY5)Hk8cbQTJ5k9hE<|)I@_ai(0bLU9z@mgqbKhqto^Px}*QtJsA;{=n z5^pwNn}i7DdqjaM^`YlI?#Foxgxu07dzY{sK6h-16*mDPmXXM}xGi!h!nR~ccQkO* zKbN2NqxrEc*fcT#$xjH;o+jsiWR_3NW_0?!g(U{Q$S{pJbyOXfD;z80Ina^ZhYfxq zHR8>X91yW)z4Ofm_q38SLyZWxzr7gY4SuE3Zcf4dp1p)BO=g#l`>8p657ixnxcubp zf{g?h^pN=EwZ=Adl{EsxtEIYk43%?}FAT5mf+#;Per*t?6IpBg4W%Uk7QONnHGm$< zXCB=5F%-=6Z92GRvSrhQ?_w8xB7?2C{iSu>&-ZP`FT~f?K8sucCOVCrFYQ&+!KIkT z;LZt3wqp;#$iV>&%-iD}cW~(RMRk`M*Pg75+QZ+?Qg{OXaK@jdi!LcE6Ft(wU{ICX zgO+i_%hF90Zf?b~$iLG08=< zA|ZX{(R`>(mL1E)Kw@4ddeuA2(fErNx?$~O|}6Ut8NgvJ#x*NW`Q(Kru_lQ__y zqrMaTU2L)|UA5Vr)U9X{VZ9<6`ykus?SN!1zL~5OW5MRVM0~#8Yu-gxi3pf^3r(>> zW+T^r5HVlVbQVtXWjsP~4#DV6Q)0iwk%e==tp}2X5Y~kKZ+Z$P)V3Bup5gq`*qMyg5%J>*BNo~F%L~^K>Gz;4uFmC zD8r+4DFu-C?$s>*|LA(h;7HdmUOTpJ+vdc!t%)_UZQGdGwrv{|+Y{T#+k5Z-se0>F zozMNLpXz?@d#!c-uC;w~=`Zj(1I@a{7zasF_!1NnV!;T1&HI~tJ^o0FpvUsgKY++r z5rskxBSD;$H&xbI<*h|9p}3{Ml3jq0#RKb1A4BdZ@7Up^CyR#*WzqpAC{yfvC4p=R zkF{$2E@AA(ak zj~G8v2#Kr{evb#~={(W336uufT~S}?S(&3i03UGeK6$fhCz=ZDu%U{B?>(l*R9l2M zFZ~TUr=)u%ge7TQ3rb79I4P2-yw!Yc9m^s8McViH$RDEQ_zAe>Y{MleS`4j1UUa*T za4g7={H`5y7kS!P4YOIWuIe6RPWg!kdj8*37lr5FsV+@8@F_Mb_k&f@^c~SB3lR8@ zDpA#SfZvc)0shNmfV@1C4Qc5v&I0#U?ty>tGq>@F+<>_HoGTU==4+5dITB2n!qbnp zO){50K7zjME9X8uL3;%lnJyh=W6TKSw3@GL}Zg%1fFF*L43L`n>5JyNZ}`_X%ya1K{|3kt4QhpM3mcKzfB$0TM|h7j z>zhn9E3Fp4+s8WeDQK|-K5u9O$%QfUd(R;w1Dw_0>6SN-EZMxfnd9-3dbhNO2@A&d zg7k)<%xM(q+8v0LW1A9=JeW?Dqw$^8VpzB%u=kT0*cKHrL9#oc4Q*ja?RwEFSqch&S)RCs@!;n=z${+)jL989^9Sq){+xBV!ZOjJvU`pOUKIl8jx zpNK-R315E(JxMi*=m}OT3`t|ZKqU`>Znx%YU=^9u2}~4j=|g0x?<2K83s%DC#^g+J z+Ot~Y(fqYMPw1)TaC38_Mc$zvNIumr%9f?Ob17`U{K#f*G*|Et1-NbhGm)Z=6x%x3@_%033ft z4it#!i$1B?!{|ixGvJH)4&+~d70j<$s0_pukvgcImLK|Bc)ZysXo$w>c+%=hH)`^I z6xqJ@QHfZG_S@C*gNheO`F&EPH0>B*&$rFKq{p-&ew*uL#{#G&AlCrC05X2~mh|yoivx zd~cW}p^;}jl<_U!5(&*EyJyVWe_>=qvK)NptofeZ`c`p^;~(7Kmh(emqsu?Pc%u|y z`4EGB#osn0u+@Xr;Z-}&!3sZ)9!BCm>h%h>!u*(;zm}FX6ihfZNV#* zN%)8bbEurAW01=u_R$wg+3*zAt9t%}lxL&7_u<@5^k$V`Q$f+#F&^*rs2OBs?Wn{~ zjAOVDpy_U%01LlFM#Vs=ZBBCRo$7yt!a?(}-=RH|X5Dek2{GL8WK95^N4Ut8h5 zHT1#U);<7ZOm&aw$3pvZBXBqQ1jpk8?!vwvG7ZK5#m~PK61mRc?VV1@6Jz`2%Zkrr z`a$mA)?k{lhFBHha$Hkn6fGQ7>>}O-F9oGnEcC$39iQ@QpNglC`@3Esm0vJiPnMlZ z4>f3i5m<69|8$(pl45ENLws2>=WjsMlSOi_H%iAvtNl~|qoVBf^^`1gp3CodUX_9M)JbA<4b}S`FAjQeFwCmB$v~yr{fy3sjpaH1}a8%2JAbxw- z;fhH0qFK~tpcyL;OiiuuJ1??Bi!tPsVSBB@K^7+@;ZDpm^TZX(_#QO>u7lT?q*I@2 zuH+EpZ9O?klo6W;>^J`c&PH7}7;uW3v_P)4q3hbsDV9GaOjgEthr!dU2Z6XHifgcq z*4Ahivk4qu=r#w3dkU0iE(Ban%i)g{J3g|~Z!P32E`ZrY?+Cb%f3@~NtDKD-oY^d6 zU@thV4o}Y=qs-wLzkXC1KmF0W#Q07}{2fLu2Tzht_2grphB=U@xiitXLX6|_&}6_( z^&kIrg>h5#%_Hg@6?}UEbkP&8U8{(*?v|uq3oq@!6@M76c7m)xdA=yC(Aw@-4tY26 z_xQGud+&+fFCJjgME*lFH39fjnm?g0$VYB_U;B}|jhXEO+{n*6Lp{oztp)JfGX!^9 zhf{s*g|J#g1n0y7N~OY0{s2Gsq#b#Jt}FXp-G|UDTN$vxpY+A|262g!w5hO5nft>> ziY=16z4=IyJ2%Z;QSBjEfu$)>5AuOlZ=L`@gng8v9ILYJSMTc>4{B`SAGntY_?_%x zd*+VmYzDEVu3<%(aU|KTjSG8bcGUS_(1mgMFu{|BDP5iRAo0g10f&Q*MVy2e=3NXz zhwV@ro-)iW?#$B0++TlIEpKuuaqIHNzikz|%8A90)|>Y4NugA_H@hy;#M|4H5vk{| z3Isijd#Ly|{49f5<{*{SwB2ofgnvFS6OY+(SIhujwj0sxtj%RRXaU1(%7=c^>qyVM zII6{60kuK70Y;%{>!2B$3E)L&5mgAW=)~=^kvHhT81x}wAfEE--nVelMy6YgRGX=X zM4$XJjKtBO>$+Xb1?f)rWTQJ-0fhwWLzCq5;p^GfN?aGF%xj5}*aT8p=SAKktWT74 zuC%&3nU7C}l*}1Bi9y<_QV(VhBJ?mBBR-TXq}^x>ke_)fkDA;o-91=ZqeJSOB(w@w z?>N)3**lczYu}%(2^`jVxQTM3;yu@z4LQ}J-?4T|1T-O5TdGs?E5v^X)lH(rP8P+W z9%BVFM!bKa8pkoMn}rqEAeioP62G>G&-b^5De>eWDMm76vv2%F%;eqz50c+nD5_j%% zS{49nDw4su2pqs4o9@Q>&9{@qzB{x6__iHKmY}MK`kT&G&xKRdOJZO0KcAc>HpQ;S zecJy=%)T4}qBt^rJ$|l+YVwo=->2a&FvsGvKjAoTb$D*mIvB|K_k$%qA$P1)r^@Z% zbm12K62e$%Qvdp5s3Vmqxb7MyC?_O$VDcb(xLwz$H)Z0DWAR!jlVobIJZqXcLhXmv zvHhF^7sD~2-ULlJ(w00qG8T~gGkE!%2&*p<$WlwRktUkMc5vnSmFT=_j3s8o`XM|l z60fpdr^Y6Drw7WgX$Nk%)f0&h=loKEhSfg$PtswbMQ+SEh-_Z}{mviaG6lorrl6}L zmJ)~aP&izS&=zJ)g0O%q_cCz}clZi@dEvFRKwQeL5v+HGtl+Rb($O>FSQYb@o$et) zCt$fcAlr?(=n}Abs`*P60{<>6fi54rAAd`ONqu5yr2!G7>q`9JWPHR>EByt{Cb{+J zqN64!({o9!Zl_Tj8`?S=FsO+-J(9yEO|s?mE_@mkg}5eXAjE6<#LwJ4~@psaGCIZ zbc_X3Ul&!Ql)%UW9~BkZByAw8N2Q(uy+LSSN3B_^eBQ(;@GL56y%E^_bkwlVo#ui= zA^J!Zr&m#UiTyp>{70$6H%8ZsEEui zvO~-A-JE$Dv|@{%A_=Q#sZ#OGUZe*9$O-4%aw_Td(@Z0MwB_bGxbKyL?8t%|Vo41O zlGSn)=zGea7l*@=HCBzjGv%w+uJSLKFji!;tks;U*uRIUjozX#KLW=D*j-GLvG4%d z2g=9=QL$7}CFwC;^QrXxzF|l`g)28HI~Ni_2Tn$Xx86OQz>U7!KkScQ-$;S{M|XXc z({SmD0ZZohd*NaH^B3yslMtpG;rFQ`rnWq`Jv#R{tDT!57CT+I^FE#OcLFEOyMf!t z??ZyDx*=%9kL?5iRr>D)_YJ%es~c=8uG2qvCP`|iM5#?YizK%HCmfDParW5SR>+(H z7tyQ3BnGX>^s~TS{fq?&ly+=Ron2ct`!q24ETVmGNY$o?Htbq>Osb+Xv2D(BZr$MU z779i+ZwR=|%c$XUxvU8^Mj=zZQKOljWM2RF>BH*e{l@%I+ha4j8Qp<7FS{Th1D z{iZC)6XI&aBAk;9=fU$jI-`9ZS3<;^%0WJB>(v1gWk#KU2^zD5m_;sXSYl~c$i((d zJ_cCp1*q?hOSyOqtKXI`c%^7N^Pj5FxG)d4JtBF2b-pfUaYl^7l!6c+v@jbc7)RA9 z1qMuEEnP5Mq4W9?#g)ObpxfzCwXME4wBW&F#EI7K>dIa8Y~ zQ!`px6x+f)(OMf5vh@xs+P4gudgRyFmX?)XzI!dUhtP4&MpO3x!DwU~b|TNvYnO(M zmYg@49rpf5&~P+*Uyh^>TUfC^&61jnJ~IS~{S?#hs@l7v#n{SZvZd*zW>;30H5M}UoMA#CwZ{Ksn$Uf`R- zx?@_wx-*vkn;im9ECBUthVa!1n^5aa(l?3xJICmsil}ZgBXI5)MBQtHn!cyH=+4(x__g?qM`N z8TJbP#?(T+poKOpG;6wWbhDel{5rulvVk&tex`V?K#pL+C_Dz?TPy{Ofgi!=7=bJ` z)#01Tm8r(gc_@b02~PHq-=CyPSoB`bXlIB6fm@o6QoZg0TSmuD-4GQR(1#2*WtMJ1 z*UrYd)uL$Jandiuab^^~N{}udaEX>b7Hkc5p*-y6h@W=uVUBU$Q=%{~@pkmr6Vg_oVBit_BOKXH-; z6GgvKo`|%3bAdcnhuO8}QS(sl7io_aX>9^FDtXb(``A8OnY_lkT4T7a>SA4vU_~06 zL1bE_ZWx!R^PSJelh;a2OaQfM@xZe=r~~>bz1J~5OK<78BQ`Om10BW~13%NlM})V4 zn2`IY!HWzq$;PVYcz)5z$4J^!YA_rw>UKI);Ih zbjNyYV$)Bh^)AL6DnZHq_+|bZbo(dkq48#ToNMKKETIQc8}50p}1?VitpH*j-<%)I_G%GYchhM>hC4df+U+c|Z)1-GHJO&Vy=B7A+xE z446Juf7fGuQs%tsP~meaN@hfEVHerITIsgymI3-&ox>1 z_tV=^mWJ$QC{N#Fhv%)f^7pvMzESzxkO(=vga>(Uu#B4s+Y{kdC=w^Wsu$gZx%Nb5 zzJp5MzE2?)&47=#UBBi|xVR^sehvk6C6&$Jen($IU6Z7jS8JQ3%lE&OCf%qW6RR1A z(Evz<%hv)Vz-y%NY0#2z@LR~qI+BIHSu+wdGFqnl0=J1h}CXx*|#xF!3NfY3kY?N4b{g^Rt z4`vF_DG87mJ6=8@U(9kZMC!Lfu65zBlyM>_myoFXO|Do2#)PM(47747$xz}#a`c2V zo5OXQytdILHl^0yOiAu}|$yH}e-_(E_2{b15o5keBTfb3OtK z#yw3W;w{wr9p!Fpw#l#6h(@I5q%@fzK;r9u=R!EWn4_>Zl;w95^$yaHjJi~B1Kb7u zCOlr3%^0&4>9T9HE|3tmt2z!$q1pLeU>l3~=ntpCwj2i~ofyq)K{RXNv@>loFZsUJ zN^!%BYUVN}o0iSAX=w`dtxoQVsN9)?A{B9*iuTnyhDN?>GVw&ib-Um=P|@lVk~Yds zi2j%y$4{5O&t9jY+gkXsRqBa!GLoZe*cWl@J`rDpo31V3-p<8@`(&8kC*kP*^6sA* zN@de7BVo0%!hc~T7!IdhG(d9+K)-G?fc-SE?S&A3IP{`g=@W)5Xq?K3P*x#04FvU+ z6rBBI8aSJhpYqX;6ByC$W36@B&+gWHnbnY``Y)AgNC-IB#CzUz;#ehF%^Uh|;6`o) z39Bq*J1@OD+92Bv;1+<;*f2;mE5z2Glr4xQJZ*?SE;Yo$ps;i3YWjRL$tK{cQ#)FA z0_#_9Cew1n56MS}QYqBh*Fh70)8t&95J=6P>BW9V{qVK zV|Rhxx5^p8N5`5AzA?ZuwK;IAbKNqRqoTmiM}@>{#kDn2))1)+wmHm%I2S^@*sK!H zAzo#n&G|B{<~<#OxZa7$lmlC`#fq{Y4Cl9GxG+Q|PaN!%k@PG42Om1)3P7Sbybm2<sxIEa`J)_^J z3z(ep*Jn6=0M2pRad`|p0iuI<39D%LiT5tKU~TOFbSEjk0-0gg_&F_1ABhUeeDJ1} z&Lu!#N{<0H7%RS{L_3s`^Q1F}0K@V!lLRC|qhxc`*6fu^>PWeE0%#^)u_g!7qP1hk zi@=(SdbdtG7)Y861aZkD-3f1^4qy|lY}jW2JUBn_3CUo|&cbBFOV7Hdcm)9~zn zQ)0kXp4aF;BPJsxK4EP@I&%t^4tTnpY@Y+yY$Nd6nI$ssfVX5si%5Lc#q0SZ{s=3E z*}&N94mJjGr^4Ob2cSsk)L~IBe90&OqECGfa7D1t;ogN7aEqQ@iRMPBYlxe56}KSr z>Y^eP$W`2(wdG*_mhW|~w>nwxXCUiwgrXi-o}%=3K~s@q8 zxmiVmFS7aaV0J#f38^`mR;q~yNmHcnjH>VuY|zTSfvo23T3eFz9DXC9*0ZDxC+2t- zR|8qR<8SWfx?asUkghCW;=2ml@|ySIsIE5l;v-4&S$&xX+r#a1l-+CN!+$whjy3xD zSn+NiNF=&aPNV(0*IHhccWX&_0`CZ|$6o^s5N=81)6sq$t0Ho)Sig z&Hs!2=P`xYVwGDT@2GouFj)i69IkwIibfLzs>;iO+-HMVbyA)?rmPDmdb1%l5nghf zqZst?OpvAC3sB72BPw1qp(WM;OoSl}MQ>y}e9OQT{d37PH(~reH=F|^bh@2QlFvLT z1>vf8;IbLMoez_uju6<;2FRa z!dX|6G$7@YlC=kwd-1Vx;&0N_X+@)0GA{*r;}QBOC|EYLN4n!)2Vocbf%TGXSFXi& z;{7BIcC7n~+tR55kpzOdT#;RnX@#K#cJ*aj@_r}|jpgKLon6bd% z%zB;l?7U5iD`>>$+(-Vt3Z)eX>oF_%`>c6lYl}tINwj#W&3^(d)<#DA$j=!^jGBC& zbq+tIZZzYiv`dBdR$6)NQ-3cR-ABCR*IU$(rh@Yrz2i{+igFvF=hXeseeT)eHqr@X zZQ(x;_F%=o@rBRrV|!EMqdBMVJFSM3pTR!MpWa#G88nue%Il z_>r(3;ZgaZnY0nHb;#TMA^u|g-;1VKGM$MhdhVql)+FcDiIVpcZp8lH1S&WDtofPO zLD;%Mh%C~EyzPUymmCGg=FBMQ z!@6cvwb|P5BbobzwBJyEE7GEJ4?^n!J)(xVn^a+eA0y+}I`yqjq*cfb+V>VWPv^yl z2Aos_o}I%8+&v0_oO7lwHG!Iun;$**74O+=0!h_F;g#&>6Olo8&SYM-{91HoPnCE% z7k+-QI!bKy_$RvIx?-~W5V>suMqoKFo(ZVizS|j2%YK&as30d?j`z2bpn96mW|YSQPQVF_ zXZ1(3*<55~Ql<~$ZdGU=UeO1Q2sWLpN_4^5Kcm4;*`@9QI^NDs{4RhJ*`M;7-9ytc-*CJ{NJmO|Xqr;M2 zvuC4(YlCd_Fbjh=X)PD}2M4*#0qszvuzLZ6pRE3dy8u!C^RU70W-J580ULle!2)zT zjjTN|F+6#V4y5&|x;N)7H}bx$saX~i6*q@wZFP@_h)<>;p>h`91Agi2O~Q5%coa6wMU{DKme+=M{+x2c6wBH zwwXL@poJ)ydaGD8wMZqXb!ri5r^a%7DX|^P+xT8LU~nPfY&8J%!i^3sVNo?FERS~q zYa>OZYY|Ah?jMP3PNi=pJRze>7r;CA=u!{ zCvD`>$)*=pLs?R2ufN1L*b9EHn>qYtqXn^$I!1ii;{tsGIq-Gn(*6HfiT`CGC~?^ z$%)8DL7;0Dt*=;YA@eY#&_;83#TW3J8N*c&ghza}fb9C`FCo#z=6t#<-=4VmRFvjx z01!VdA4}v*E0yMYt03xoto;)8*3)(ko;E+bsA$guxuxVg+nRrR_MV_v9Fq0W3bC-W z-eBJU$xVZC^7A{le3JX0oTz9Q;|F}PO4O4tRY=1s%!L9xQZwm54pcM(^}dnwLR;1) zd6dIRVewqYBr$JE;2R*OzkY*L5M*MXlo?CSQw?z!ZLv0GMD&ep-RuA#@tb8Ph74Eb{yd7e-bTD|3I45{8n{f%PnI5pfHBJ+UsP zv1c}54W(M_HhW_3Ut!RIZ*~b2xs{7wJl-dSSzLVcL+azx9P)V!7+F@utpN~_W7h4Y zD5&Ket0w4D6_M&%*!BM)A;@DegMSvTR^6`rr>KhS>y*PQ7O!nh> zsoU4#8f75Gk%c=99*4p`fOb1#6 zxbLQ}OHsZyCwk-JczU)y5P>Wm~Qm{udTB5p4$Q{Q&)@&WQ{9YP;ORDOH%D1B04T^mjPP zpE>+W(e28NRb9mx*KWMCX~@euii_I3QlXq#upthpC@7(Rw?pDcSt}R#+qNxA)XSL~ zsO=kqmJ!bk7z$7L$U(j_Q5|85&}tJSssL9vuq#!x{A^T2GW+|Ok<2A?B>u%_b4NWU zLew-RSbA8lu)M?HdQewR%3BHm0*xZORXp$4*i2!!#ki;|O~%-Q3DYr%DPl+BFxER& zv+ZR+=QG+9L-TXK6j}72S0V1GQ1tl3>oW2kLx%l$$P%Qxz9tDxvWM$d2*Ry;5;B0b zCdw?rF;z(E0r@U4_>(#J6m}pRc{~e`O$~8~-W%xjZvxXaq?YQ3n?_y{4PpNu0yt+I zMe%nct5OK%hHHA0ofr)Rx@hr)u!V}*k$$fPBo=>|0KZKCvN$P$O$Q|Mf?%1yzX+#@ z5SPDrwUy-mZak9_XN&+7u)_D~+fp#n+E1H|9jOXl89rcXFx=wXfc~WqNXM0UJ6iDJ zN;rocKhvGc#v3FDEevFQX5#CC65^D|vjTJ%tqzD5Rg?e?23w5;ySnJ_Si-TM1irl* zmBOreZCpbjxJQKX!ThyvCl!Kb#@k$hzD0kqZy5AxW-(h z(`hzYkzy0g6ihr}90uNzYJV-JF-eb1CknFEmIc!_qsvv=Y!X`=F}eCOc*hvG`oF%I zW3!A}kvmmIMRfj9jrWqFYHv*@{ukq$iWO?@eMVE6Iw`fGLdXh{d<$d^m>TAYe~+pQ zoq>-Mu_d`@%2?x5jyWtRkmQ|b<-{~5iN-k*2N-UUr|m8~TUy$U-sy}*`-A5V|LKJh z;{P4EO3PxNj_LL=V`4zhWpgon9g)}d%Ld)nKM&s7bZvi@z+aNHvH#70`;(3b--5-x zJcB*eR8>*DHz0IFIR4ICkWfA0$2w_BS$=tLZ3f)6*P%VKT-W+w4Z+d2k)QO^J|P3i5`2ppeO>pE0)zeIHOxf@w;HE{&=jMZdHwei7M}!mqOePzaLw&wKdFz?Fs&e7t>6)8MNz8wna2~^AqrjA*H?Jsc#)r{e z;q}r`SP15Cpf-IMjL+)ay6}nqe|%Dahv0L_WR$@5^}wGy`K&jH_-_dJeP7BC!{fdf zq%x}Y8#`tGb78*M=a-cMn80_iT?RLaO}WrFuPf)jZh_^KiJ;6_=l?I9t_^sAD!L<* zuGPh&l2Lg6k93*ENj6H@CnW2xsU;o`M2)+ls(&NLuW{g$ZW2w43RcGBkRm|XSPrZ; zSTmZ{Ps?^lwhmQaGSZ+RGu&BsdMrr$jIr!abbkX~lXWAOxhH5!jrXN<{TqOPT$Xd* zJgN{9_iDJO6s}%0VyX35*FT2X%N{3cC3084>Ppv&tu>TGZIy>?O!!!gU3lz;{Y!v~ z=_tk(*W8k~vom+TXZhtKS~XRWBEnJ-m{M-{dFQH@SvE-D=}>6i;5CZ+;9<+OoB|Sd zkTWRR{cXvBEO~kx|&T(eJ30ch_nh z-QuGUy0HBtD&qg(SNd}acE7|#=+M=ojWXKRaD-~b0jp!l2!(bqLPW+Gg|LpQhiQ@3 zKj|AzEIeo*vw>H?)eySgUK5K(!8;H#_A<);8%YM#TTy){2h$uhpuZ@RE?hn3(Z}@_ zg+=amkU^e3M~G>wV7@+G-ZL|IXgg;|=TN38V_n8!{Q|XCZxv^ZT;t}_!nLt-|B1#< zU(Gs76?+9O^y+uF=e7P~)B!KX*abXJYK=@(7)YZP8!M5a9;?RtXJA9i8D9R7#0vfO zH(^pwIKva(|5h#-_L}06Q*Mq_FG*7BUuea9X0J z8DA~58mlsvPOIvuc^g~+o$`PpDM{J5qi3*WC)J6KUl#B^Agy`{EoiSuKEcL4_9X{r zMBf~yuZaWdtmvl;{m5;Ya2JA-a88r|FJLxlu7pRL)sJNbDEi^L3>HI*IC8yLMfe@0AFLpOtgGOCdm1?)L;aUwI=m|=PKnCC&9BZi_E>3qKU2=ut2 z!swBEXAGm_T8vQ_G%l66E*Gh>Ej{?=RNd=aM|Zv!j5TQDl3R7a0yD-lBy>Dra=EfI z8WhmW9~wb%_BNgLpdt2x!eiKlFJ`uCt1awEy$Yaz{-_dJp>Wr3KNm3n;uE%IMeP8q zpOgGoiF+fmJ?^7uzg*CE9E6^h4a<8N0G7#i*R75Q_Q?1%n#YvJtgEU%0YFi4^f?OC zR2De(BE4mbhBUk#2;;{+nurZFHz6P7w63}Y8AYH>WbaXxyNca43c40+O`ZE{MFS?h zbrzIq3jIf(+dIx>elsV8Y!h1aCY?!gafMQ>>aVX;5C(Zy= z;A_@@Fc()*+gfnuUC-TC22(ic;YBZ*pfRV-|2?PEe^ljBa_U_4xJDk$XDK8O(PeMZ z7{c4>X(Ii1lQr81B&UY6%uo7^bUqLMg$b7%pB^M~F>XzEm9PeYFPgCuZT~0edUgQT zIdXV#V4;0BZrHDmEjaw8quccN4J`h4MNT${1J$V*m4f4R+5u(QgdS%WHXV1RC10F` z3s&I#H3?>q1dy*K$6IIig=0qX3nza2+bD@_9j*+C3BiN>MIVGM2E0OKPw&<@B3CbV zCQ9VB3Ao_4d91CdJ>PdnRcu7XDL*Gpgbh}gXAEj_vuHhOTcJUjMNuR^+nG(*$=o+`RWS~Yq+UGkf) z95a&Z%nXqYFR<8{nYMUu;0Z82>ZcPA3wW*c9Z56CySaAL^agZ@i|T)f%<^&lCr+tT z#Qc}a(WO32ad9*%YDB#eE@H*_-doVL$l(XYdtdNpl;n2pfHlY}`405rwno%QI2)%@ zuE9C-SCWUgW7MJ;9r~QCcJgO^ZQXs9VUMdfWUe4Tx1~I9^4BPdU(+9R&Mi#=>@6Zv zcQJ2WDY%%2hN4d}lG~y#QsngMh8fmzxiKJaiN26JJYbx#w~bbSw&a=+U<~e^ACOaM z=}r6P*QXz)beG^QG2RP{Jf&3>i3*vajoo5*+dtIi$?#<*ll?Pf#mC#^yTvE!PVyku zLh1g2j&5}w;^jC0pUra>%zpjAETk2a>LF?CW(G}tAPA6PIpJKp1K%f;uRH1 zjZ_Q`^IWa0MbK}SJT6AFGSIYzi@&lQw$q+LZ}=pw>C`sOCI53rFTl}+s5efShfWamLy>A}|RxMcEYv?xj{*PvjS9i_m9wLsI&xN!dl{l zMS57DOk;%|B3bWpT!gigQO#{SNXC%!{p|Zbv=Gt(FjcP$=%%ehUyLz)n>L8E3wNH# ziT_h$pI;A1<~OVIg>I8Y6^+=MZO>sbn9-A{K3eg>-XHWpw8m$6dA8)LF(haoH0r=Y zw0OawhB)y4F|F9Tl;gk@TJP%vn{}(dF~<%zRG!_L?`R*|zHwC24z3|O0*@(7#Y$+! z4<7`nXqj#Lom20qc6x3vRE)orgAWFaM2p;_3ec#%RaQvTeXG`@3ygJ(p*X8N^Z;7jUf6v5Qz+`CXqN>m@88p1?3#i0Wu0SyX7sCrQpzg$bWbqo6P0$r{LL{CYO{};iLSXaN%x&t^?uCSQ__3Akxgr( zvW-(RMK$)^cySS^ln;6+xO@9F7-BYgEBTjA5SQj} zrazE+g9%|cdp088X4C(du1^^dwv(7?&Y=)r2bhf0wtLw2%gAfG*MVENz&5#ufqT<< zNp1)vM8UX7o`@;Q1g@g1H2;y+Y+*|5b;Hk4Dd2`68sLY-HD=d;yO@8F#$jp-&||qk zSBni>DB@9~=<3%5OYeh=nbEIX9}uCsDyhxFrn5wp=!jl2(9n-0x>z+^Zi>Q6X=c_{RKqSun@@(jU3g-V*2+`YP0J69dBB$cw%CJE<&Uh88LQdN^P zfhF}JxF5s;O9*tK$W-rA*O()x%*DXZXibnVJY@6>D892ARlLtDyeOuDfAt6{Am{{6 z`&oP3%fQ#Zn<3@~*TGljuC;{TWwhNyZK@LY1M#*jfuwTu{OksI7*-X(V3{coBB%B_ ztdx2!nJM($=qWrI#gBpU595x0+Qes&8+C?a-i*~skJ=M5V2>Q&QZ|#tNd2s`MQv#m z`<_|;nJ+T!q{94U`0&4F)Tl@WRNAm+pfk2z?+wn<rZEL{bj9iAXVWj+3 z*8?gU*)QsoL-WMOGoB_YlahMKBr6UJ+MLS$v+6DV7StB`P`6|o4cEh)L&{kO>2ayo zeu9%d!bMe30lk~D9*!l6q++l(kk5OGhCg~5wG-l8IC-!t^)7EXuV&kEevsKa-3PBM zz$J6Sr25|hF?jtj=k}t*EZ23!r~g~|Hy<74XS0nDxZ0sXt(ron)`T?CZ}TRa$AkU4 z*uou3y2)tar;Nsz%n#DEhO6Xl zf@ob04=Z{Yj3*UCd=v|BC05vjt>ur&pl^oalbR3jN!w`fPYx7U+l? zLyY79s~E(#C8w0aV=zj`Af`h^cba_AS|94!j+dK%J5o(lf?AqeNhuU)r{}aa9Up)rh{1AR<@X~ORdA0H9E-}nV!R;z=aOW& zx+|<#qL?+Z*m7B@`_T23javCR)5!KmrsvqRc&YfBzSH_CG}1fukWHh+kze(wkc1FqZ7KI*9Ub zL8yUaIq&`Stg-`Cuci00(YyNTOBGLfXusB}gc|hXD75PIBs@`L(IynOfAgEk!S}~q z8SnLstmvy;->OcUlkK=ap?A<}Z%X)s{)~-E7c~fL&9mSDWw$Bi4t(d!YHZj6^B^nI zxK30&`ejf=5^3-?F2&fb>57>k1Kv(_JlUbcCM8AlH1eXR?O>Nh z8|8qO`JHEvd%C7!6tzr*5V~+Y3OS|~L|g#5fn&(`{p;AIn!Qhf&9h@0z{D<=s$Ai; zdrsh=3}%P7(~zFEV$IBp7``4K$NmM{^uvq^;-AYx{Ge68QLTscMcoXKU(%LO{K_f1KAR6YL@a2UK8F< z*aNv^);C#_+oc-Wo=7&~f?IW%fcXTa&}xfz5oEj2Lcw8+)@=#I7jLFR4OP}V0csI2 z)k{`~`{dq&ene9#Y5d!G?G0rn`Zpi!1|s>DgT?OV^bwaA5qf>3I~sl=$UH++79Cpb zEdK?s#$cFyrTB6Q)Kt%vc3T+j{76KQ!0x77HI){Ph?m-r<86RHoCfyq=^oEawvL-D zJe_u2pbhYxqXUDJQb%r;J@|T?sS^GdfziLbVeOIR54iXI~^g`D>1 z4y$ct9KFz?B(hLZ_|OLMoeo^z_uv?s=1?y?9zTy4U|-;|<7pNo{*7BZ?pOCZ?=2f` zXY(IOQEoo-J~2f6rx1tNGJZ)<25UX}J)cMi zs;$gCNE$JT#+ZQ|`w)ZeKDDweinhpMLh|tCzGTrIzeR&_0~o~K2;MO>R=u8r7EP6l z6v<)!avD&w4WoU{E7TzNSf?w>1}b75Oi1q{Q2Mgv2oXfk!>wrP3Y=O=DdUzyWo0ik zY_`;nX1#0B0nhJOk83A-2LMxK=08i71nqD;rOg7LT_=%(BmMv)`k&@&9U^s z`Z(tKK}@D<3ABQQwgewDHu*CgfVCkhRsJ1_)Zj(_l7OsIsZ+HEY|)bL57U$MOT(1V z;5!UH61p(_-=l+{c7ymJ4#kuxkK${lFlF*>pQ}1fQOr&1yR@|%qrj#Ik@5+`IVhRj zGn%5XgRaJ5FV)-Q-I4|3tq!zm!gEx@o1X;Mi-NH^IO4;8c#n{;1TSi-rim$QVU*a; zABU2c7wzpD=XIWoN%;TxI>*2|y71e_wr$(yiEUerjmA!6+fHNKPTC|5o20QC+s-|0 z-~Yvz`!$n;IkWekXZEw!Z!JF}Vy4VG7Hqeoln4+Tv!{e8Rt@mxLYT#-6#!EqTKHnp zIsrD<;Cxm<#tL=5WIXA~f0cz%&s2jX+# z2fRCBWB>aZ0ZHxjOGL=%upC1#O^EX^*S1MeAFjATcP;*{9-BWh`rVU{#?P|Q>B6Sg3*;RBu$u8N`wXQ6H3Z|nTI8UsCBVmc z$}bP}ddsQIyFlhAqY60`ip6H(ak?!g3B$Y)x4b2t5}HM{+h8bPcC!;b_JIFiW#7Nx zgFk^CWNPF5; zpX8&VRrO|@buknT>cVU+1vI-WLp}s!rB~0rP=ij+kXIaJ@f!ucl7YUx@sBb?|AYPr z;l1=t2c;|9Mqz10Rluwq#dbT=71VRXJIc|0+FXrjk4D(21G>9r0<}n{>?H>P6T-Fh zIx!7Ve2KP8r z#7q(f_#eNxRL8L%5qS((3RsH97+sj!9*s@)1bu}z2RQ!3{`_}zJnCbvEBZj z>3ILNq}fa=qoS4d+uXX>;P{eG!%$%H$aa43z)8`i7NY?hZJ z8|k+<76lZMg=_(q=Sr1zi&3gsGmmhrGrZW;B1p@wGGXAZ>Roe!{i)~U*I!H{FUCEd zBqte{QZe*6h$~i6tHRzxE)jl=HakG*0=0szZX~C3YRM>()pZ1)Zw;-)-k#354QeHH zpm`F$!>qM30Z|BBv~aEDF??xBK>MI$UTSsIvkgrXXP_g`J4Hm%PA|*-em0BQin>YW z^g@*)2U9$d>GAFu)9m+ZnPP8*@E}6D0O+&z^Iz*7Tf4SXK^+ap6KcLL}o?K#%MV4o-(zkhjV`oC_&F_-$b4IU^SMIq^3K0 zGLQLZQmZA%aN&j^U>n6wZD{+BFq-=Pm<1TB#Um>86I8(nSmxyZk6`8eRi` zq{5`k#sZi5r5$fw--OS>FLeBugOx=FGz~f~TaI6?)qqhLe<+C$m0g!dtosPgUdmz8 ziicTY9LEYh)L>?i+f{lH3oW8gGwKY>b5KV~2-TUeR-d5;N2p=%EJN+9$%5=GAcfYk z5xL6~wq#ZgM8fV_L8Vu*kRoeg=vB*&KSi}t5LuU;by3<4Rnh`VaaYze$BXFK&y-{2GfMufuL^S({&6zEU+R4 zh5p9y)S4Zr=V1JIxoX<_Ah>d9WM5=(4xZpC*b%`d(y1H6-z$`PXsVw@DYmVU{B^FH zqQSYtpd(aOxtC_E3z5tfDeg3JCdwuWhpnZh8pG5j*k0q%dP!o>ut>BsQre-1QN+}< z)_Ybfz8fGj5`eEV!l)%Sa<*aa$$S~|K;U>{QTsW+wih$sZF@rlyPiWK9?|hLnU@ds zVA9=MiY=|*7&oGjxA}7k!au<8+2Te%3iGw;2eZE_u|r7hp)vps)rHX>@p4z}co= z`m?86C+zv%Y0IEn;a$3s49_H;O<)l7JNg4ZDg7uccN}EvYX^Ll(aA7wblUE}>BGdW z9WyIhb_5STXtc2V&KoBk?}2863!F!aFFN2G@Ac@Asjmrq_Gp*knQ@mL^QfQSKOGt- zDZ^7ei2wNX4MN8T65|4bY&$}kRS^7le0NxZxKc{;!COHBnF-{2D|Ih1rr{4AKe9SW zgqB_xrQvsA0F3#69C1qI{RIggtFOw|!3d25nlP_Fl1^Zac=qhD&5M5~gW-fH>JDf`N>Z!adCg?Tqc zo>g2$odR=!1cwlre)yL0CbR&JNok@snzPjdGgCMB2S=QAgFNAgWYg`{bDUy8js^bG zPqM{P;VcZB3l(%{!#72Uq=&<;{BC%-Xs7{llCo3G{#h79>skLM-zC1M{3R#?{Mx`;I8r-K^-_rnCatRtX8>;%r6 z1XA(@l`+^oNf|K6JB@&x$=lr|&m6{#FkE%xM+ z(PzV&pJ`IYb7B%b44^}@0V0nt+@w~YVZQf~y%p-Uqfs02efN|6ym^=#`t_x)T-sYQ z`UYr0PzPCXC>`7*fh*Q+tZRcV(x#V^HDg?qZ>vy#U_l$JVV8wi?UnP^+t@FQ4`E?$SA`$EaY(FWvz?HDa3r0gR0 zuExshwbim~&gp%6>X%U@-Ls<{TJTQgnS9nf_r+VRu$N5KMiGt0H(yJJ_Yii)W`3vh z`xsPN;2zOKVAH2AiSi<8u^V1&pAn=&KOH(u(#M~ic?qjGgWH$kG-sNWRSo+;H=F^C zY=&`L5)13=-H))rKg}O?^oi#fqf|>o!>m5`F%%cCnW2MIISlt{OAdifldni~<4&F) zw;ri&@)r~W4FTIVw%ZIrDJPq0(X(_e%85_~TQ_i_G8)qNx1ugX68G0~JPtoghA($h zsjx+psf~9QU@%T7U{(`DjA=1TVo3qs0MG&j7(`ZLL`}Z&wXS1J-zxXO<1-ZiV#vT_>HKpk zkUzd0225=K)z$g2p_+$G>OEjbQSSiX6VxA z9>K~pl~Xi|g_FqMN$f7g+Xb*EyaPC1ze*SE9_LHCcnGeHg%@un1430M_y>087fjW| z|7j`fr4zn#kzcVRht6$2(GnXEf)JJUS-;qFdML7}DIJW9g$*ibXQe!KFA<4_&3c(e-nip{Y1 zwA2PGZEzc*xM)c>CaRh-MVwx^YohNs=Ei5A!82uqPXY$8M@ewaG~gs>z59MM6LYQ! z21l`2#h=nD?e)N~UYaFC9r?pDKe zH$2=M=>d%;l>$DOvsbLPsN(5Gqr*DzP|LEp`cCv@WD6leQoC+ZFQ^PR+{HAP`tO!+Ne6K99U$yjH={_M~-oqE$lqlSYG=?E;n3UFB`ikyp zuAc!IhYM4*wq8Rd?qQ3cZH5hniM{v?5&TZk=|@XNNE}%q#D3bP84ZBf%%Cfe40kKJRgw z<6iiS??P`KAuFD7W6jXDzJF)>HRmh7xgCX4$2WP+G?I)jkl6hripH8M)L9!-a>Q?4 z-Te2`DvG4LZnNu^0Fc**pA!E_@&uC4a&pl@>eN6&6L;$@N5Ibcr@!8D^J{PQoj%By z@9A7rtX`z$6Rr&+Foj53sQLupphFF$e&i4$YNMWpLIVRA((swsgVgK9eAFnT)Z0jG zD$?z%9QkKB_e@7RxeN5JQDw=Xn?4XA2;B(Lq#436SbIx4Gtx;2b**wsH3bczFnjPu zez_+|(2?}1l;d+9W|WV3*)ltR!FSnkM>`rZ=$b$xTp-pevd`i6wM_8&>U7$PL}dukfT&J(vE9(L8M?GOl&j}EP9owZ7?TW z@vlYA_B$Xy3B@nEClqgeJYN#M-(D0+0a8=1l5r@C54Md?pZSzcIO?k5c`rVj9{K%{ z_FZs!OroScn7zDUva`%QVuo+`nEgucCmi+<2P&GksE)H^@F*Ab7f&h`aA0p*sD`H# zguYs>m#5lUqr_Pn5lKI|_m>ZQ6l6q$+N>DPISp>jET?>_LHasAB-)0Oqa5u=5BV)- z^cP3K4iTJ*8%aX=ErT#J1&8!@wodeQD%;6{8AQAup8}_<*gp9gi%vr4pah_G35M(n zxMr@QZu+g)kP;0&HpG1h04Yt*z;U77`?3+J@8Ve0FibmV8@Sbhq|LE}s|H2TYL+ou zl^|e`H7EU{t+o`Ek_mVdVbwh)|ASTzx+uk{`&Y$&_`H)SQcZ-(0@Uc%EGb318nMnY z4FMJ(toILFgu(?B3yXx?rn5<#S>N9@mwjqzU>bd)iywH?58}vqZUiwH(9X%#b5_uT zo+5Qi2wKQt3u_TAoF`O{^&*0mi|g&5N)`Qf7$|IssdgO*y1yt?V*DH%#yfIvCWh&(&6m}C*RX|@3B`E$NG9Vj7Y>-;IL-d%{eh)(p}5%gw7K z1D10@Azg&)*aPVst5OVlrRQrxk5WeU^FhH8MgC!F7YDFWyHP?lLTZ!uxTr|g9~qS4 zw@wpt2eUT}dHjR-UY?VS`Qfh-zPUj^0G&!PFTUDUUBF6gGEIIolG!-aptgs9*$o(*hM?B|eFM2Dv#2ml~EBCmi zYyo3Lf0R%!kbW^nZE=0@Qn@PV8%*`_b9S%2GV$Jpb36u*?K;5{(`J^!mp~;#eAf6{ zq;)BcMi#eW7t17oiaAPFpEUVpTS<;xS=AYZk-BfB!vS>;(mIF=3H+*6%d7Ki6fdIzTW#MD&}k_i($6jIV4wH_FXWf^;ZOpX zuaG6(rDIfE80psCZB|YlqmV@GSo)OQP?fMEs83_t*9okMUVRy|mbWe4t zqGA5gtM@9O>>A&t>-_s7PAl*+kfX#^zQNj#6` z-0RT=XFq9bp0aYt3th%%3Qq|sSM=flF3C>$yoLKiGm|-^lx`*Mz0`7HxbL~6S{9)DsGpt5k=~SC0nIxI)-yO0rO{1h@8j`i3 zgu;0&QAOR{GM|NsKX`V0W!$Iem-Wdjsr~Ag)@q7T-EVQQJs%>9$YNmmMoNtn>*o-1 z4dE5kP|3bNUmnB`J>Q|GZ|quJ?B(63oI@0VB^^aB%Lz6kjgbR$2p8h)fNCfbm-HPl z2RzIEjVUcyPT-~jtGsqSUhzNhFJ}5>xk(F)dr@tPKasQ$1JDh}zBtp?NLINckl;0n zpFGwM5Sm6`!#K_Qmg8gN2lRZMBLNLMT_{u@Z!Dd8#~3spRK)LSgq3ND_G7+*_wrir zhz*d@v-Ok`G-c>)RoXsk)2^50pbfur_kxB3@oT})b9Tl@2y0%dqu~`qjMRG?R$zB) zEd~!G#I@p^`z<_+4P!lat5wLt$)0cpu=XRLUj&%Go2qwFgPoJ^4H(L<%pQ~wW(o_p zmY9Blj&;Tj40b#W)h};@#02#l_b0?+kl;S9H{CIvyO+>JYDIar`5dDH_-B10q@ce^ zRBc+5Od^7R6J2{Ck0-mRo8S8Q{f1S87f$z-R7(om^rlJ*+!3-oH5rc8D~ap8c2BUi z9l>5)>}dMbV2#vr+;KCjYGwJIl)pN7g%f08mtMtV8FOIO=1fu7!iKf-pN%P@^_9?i zqG;C~t2jMwIu2hMNZJ-6`MnnJyAGsdh>u?oZgCc&gDsNZ@B64w8bt?3iF^LCOArur zc60y#lYzI2LiOsuv=Q$9;_KPr!)F~8$j=Q)Zkg?=>A>4zC9g)@zSuLH%IS54k~~rN zL8XrAqTw5Fcc;f~)BmTh))eQp_ky4jRENlwsDt^pb3dwBwRL_;HtIu(X)xY6Yr4>$ zw^7WnZX2HP+@8(yIXW(;Yct6?-SG3S_HsT%^qYJFbt<6pXA-M#M)h`#{pY{v!W%&O zY-7Tt*bhf^FAO&$`kUQ0Q`qwF5?0=vTYW^7iGG`X>p)N5L9dz>xa*Gcbqb2b+utPS zHfQA13Al9Qob<#Od_UY@4>M+qSYa!oW6Kxa!;1xjj;{Ikv##A-V~E~L2m38)JqIz< zidfURtW10{uCqc6!eO@Vv%5(%NQ?pTtOJK5RQ!ZQKoz!ha}F2)jd|pqeak6Fz3a6ho5ZG1<1EOle zZ4z0s3Y7-K9Zpa;u!0))KsD3WV#*F;k*QuoS2y&nuuocjZl1HAOm&G^eq{W=(6U7IMiQ#%l8McK;X z)5tGo%ps_$gKzrH5%@Vo)g-^XXW2;=wD+j;}R?73os}Ju&(kCSUVU zt=(z{ki4SpUzO5=+BgR3Bc|LP#PO65X4z_TNb|N!{Gx{V8|~?97kU8s^HM49Cu30$ ze3rjaj9)1IiyEdMFCMXe7rr7_{^?t}A^N&1nOvwg`MY%zaq{u{evO#!=^@Lr_kQla z^xNqrZN94~oKof?ZZWp66}8q!h~gBKq3;UQByD{o4Ztn4g2kqW00*JfZ ztay4V$g*io&{!6w2t5sV4#IOl0q%wasXcA`<6IBeKTeQF}XD%;!d;IjOikna&s9 zVAd6TKSzO427D8(|3)zx;cn7A4ISn0@{GXp{aax67%Tkj1Zu58#u!d17!CIkm!e4a zEDG%iZ`SR0zY81b31iH)bF1vEV%g8uow}>r2qz~>WD)l+?=h=6+rkyx_;D-Bg}s4D z>=q0vO)|k98WO!ucuIUR5_X@NJ(TCl(VwZV1J~cHMf$UYq_K$Rdd9EL3=|AzUx3)@ z2qG{8tlzsAvXK57$x(YQTH?Ry7&@(DeN9qatVe6^hk)U3wUT$#sa66-s5)$20HRDK zqKF;Vw!T3cYvDURv-+J5vN`|p-ctX-q@RW*?peY!M>CozL7U9Q_Dh)W)5)81Fk5KJ zI$=c9^ABXrfz92SC$s8=&`V}N$9)syo4)H9_qEzC9T>0S z=IJ+s%lEu;_{C!0j6HV#0*D-UPo4SIj6=RlVXgKZ3mE!}0l32NO~d9a=dZvzc%sXj zmxb`A7UlF4#G}J(mnesdGrjqkl3L7k!f5`~uk?EELWBNf6^-KN3Q-B6GSHR|vj~mF zp!?)3pI&V*(UOG|CE7afcR$zDB-2r(~UFE5_`xvav+WL zU@$u;dWho(9jYY_UM_NGl(b&&M4?Sz_Lj;Qd|Z>s;$V#QL{3yIe;TgMj+` zr0N%K+i~8<$ea*V0b~=n4U(%PY~KWTEF)k)D+XtLs^zR6?HlQXDJV6Q^!RYzYjK^F z%d)AseP!r#%&)0*0dp;&_IhV;MEQLQ`KYC4eFwly;Q;f)ezc?b3FciTa>jbe)InCT z*+bYa0U8tj%3(6P#?xd!rVmvfqh}{k#HHBwf> zlgJ%!_w`R>7B=Ed`w*MZM%_NDKjy??@YF(rNT}>+ z6ob2z+=`zR+MUIPK7o1n;^>SFue;7sqQyY$baK@GF8I^%f_wZ9@XB z`%V5PgpZ{`NJl}fsh^{T@g-YMz#;eT5tG6kyRg9w z?^W}lz}$#^rLPOf2+Icy*@AXQ3v~p;&U?pe^oT<=8jYCuS-oW9Ye8^gn#Si18Y*J6 zgoaM+2V7U_mLyY`SEhq+`vX%S{IXtazLCyPwxy1%P7W@gl(_)evAar(Q~;_(5k5f> z+KXJWG3_AE-n~NeUkvT9d?-55&lhQvIQo)_&Sr^qQ;eFrm zePnK{SnQ`OYdKmPjphYuPl9pvlzj!K$%S?xm4wW03lbU-N<>8J({iY!Irf?9p3-lY zn;jgoVG$Vo4UfzHJzctR9XEnMT>~Hh0Jb-=c6_40D}80yP_vL@Q}(|NH(W)|rIC%l zAyvfqjdDKL9M@}};^>R~OAc(y3%n*5LD*UEoT*iOcB8y)`anYE*nll(8*B|61q~z4 zt(4~cmWvI#@T7dCmWQaN)Ra-O#V~9^L!#vKBk7rrC`M_pw(!9^R^mwEw`#`AQp}_I zBPey6y%UCLYYaNi``&5135g3cVdc`X%k88&X`@;hz^Ni(3H_2sxRENgVoQ5`v$n6- zoJwpX-rNV7U}2{g$NlVH0+7QPg>+ywsmfbj7%UP^;|y>R5$}(1b%sajw)JsCHJe+ilOw&Ia5BMt~i)s~hx7`2=9Z!H>tC zNVP&|qm?UrBz=wKsn$gW`GrGhiQ2+@l}a=qi53WU4Wdx9*Q~*sL6`v#o6BJN#fdDs zl>&t+J_?OI!i)fS)>awoEM%r9Z@h{rba2?ExoxC;Hg%Zj%Nk}ht7*LrE1u3TdraI{ zBJ15w7@=YTi9M)t{xb2B2bYv}&lOqQ#sYZ$YW^s#l$h6$egCY zaqVO1bfG@g@YYIwiaI%fbMlYjyD1!Mc2|9*`wtz^sm=SmLZ!oO3MYb`TW*9SmiBD$}`Z_kVZ*a$PeF#`i*iDMKEcs28qzkjABn-?@L?J z92o;UH0h_TmNEvY21-2i30U`MhDrYbytyV9l%Mp&!S-_426D7X`Tmdxrow;?0IgfN zYXjL8qPkzv{_2+|dS9(tDevGxZyJ!`dl4$KpD= zt-(6NYr3#q=f4S731h_;wg2L9lNlNXiC+9IxEq1rfm{>j@$SOrQ8Tt759@+?MZ-VU zmohP}5C8GL<^vsg#QD4CXCvu?dw9o@{grj(Kz&Th(S`s7&I^6Zt-z9_oDz}QBW7D@ zh}AEW@l!y4eO=8;Jr3r1P^TGPbH}*E20K@+Ox@;wpHb?c?K_DVmmS2(2N_JStmWQ# zLk=u4_KeY$vzGWCmX_H_abOJqq1DBMWh}xbu$G(L%wLiZUEHlCYvBIVti`@gdM06cbeN!j_PElbh^0? z@fGMft5ohjqABU!xODlvYYL|uN`-4(A*L|K0WsZbky<7>WhkVXpuUgzgrT);VMQ7o zy-wkQX~M!F()5})|ImzHyRQ5oJNKo;H32`BSrw_GTpxVsN zg2wdB0`PYik63hVE*vWgV*J4o+rmhGKY{QM%QD)`?W!D|hJ$>7cq&{->CM=xq_z`O z)*EQg*G&$^$c=DYA}Y7wIh9NWvhTU_TTi;-yr%gI*^&-DNeG4?o}l_vAzybUpTOLu zoNK4d{xwinzlW;aqF|kkyowrn8u#%)Z2uN#+E6M_V#S;KMQEi`VvzQKk zapjAKJ@j7d{+%GFu6#!>(Prlk)%|%?j8_Qtg??#h!t?E$XVp6ocEw<{Q2SV6H!#;2 zU?<^>lW?D$wK$$E!+V6@L+i_T7ytWf&dQEG!iA5 zQSFy*y{)FkcrMi1{4c%Legqn~z7Ysg)!{g3KXN_wSO+&Fli5}{01YX=)-0oja!aB{ zQR7wE#mfRJ%P=9p&32F}|89;Nbh!)H;bWGx!@r%hzk&}0!WAH0SrSEVbsDcdARQ7( zKsJjtx+7FT`(ZeH;h*V`waLFN0&#W-4U1^625@iBp`c9dAJKMjaYsj?)P-%YQv(x_ zKMIL)rkCIFO0$rN~2vwejNx6H1>_PPrbAwOPY?{L#LxTMa;Zd5tv!IE= zW9=2lnoIUJ?U`jISX_C^^xf2}Dq~eSX_jv%_S>rn;q|^?A-)I!c2FXUFgBMM%-21zqKix!#&FIk zqddki`mor+yi`((HhKw~99w4mtyLlhTM*#!Xw-lo5Ub!oG;{-&m3QzWeW?bNCRjzI z!OM%Q&?!f~_j2S^m6~Qg^6RPE4_CV1obc8Ge0CDa9$NsRGR?}8!v)`iQ@aFjqc(rV zJDXk36xsZG8=wE4`0hbq-n=>Q?#zi1D_6dPg__q!!E&U_o!r;B4eGkH=;A?Yc%BK= zRz3(9EqKd1i4k~!OXhE&jVo+TYcZb7wPFUKkrX+uvt)XEM+75V4MlY|CO5(u{jJ%m zF!H>;=1cnh8EQl&De^~ScE@}*8f0v>Xy9HFBy#0Fdk4Mzg}>Zjqh1{c53B0JCgw|wtf%k0akj)I zgt}vgaTLQB@4D@`wx2cHNvPmq2OTa$`!cm1nG_!=YVjySuj<+`yXb>~)G7hZC^{En zr>8qp40vW(U_YK&OcUN(P0FQV%Y(RtFl~^#1&b1EN6j^d#0=|6iV7Y6fc%f!1#D^z zu{|^9m1&9H^qxYg zAw97r(~j_`3R4bTWj0s0c!QvjN0JId8_pEf{3Cd)dV&33&)!}fkc}s&M>`~6DOEPP9R=@5_*a2 zyMU(*p~=|1f7o~6jYz-uuz*Res7!B3rLeg@FPhz2IOJ5;=!R*73VAPS9A!B*;ANL0 zv`l@4I;x%8v~L+tLBCqJ>`1wF5*!|l9th06I&iQDAEj4TF6lo6W&+%@x9rWI$BwP_ zKV|TXRCPG4Rg{txZ0OnNlc?Q5HCoXG7N9`rIk7MK%7n>r%eNLJdkIMx_%WssMqXk@ zJE&odH#HN|N-i1y>GtIbz&BAplbnnjmutKg66tJ5quLneRY9c2l)~T4E_5RwCAzdn z#Jog_F*NI#H7t6#+mt-X_n+!;o19b8bt9o!%Ay{jPe;o2t_p2cXD9%Ss_7*R+kr$$ z@aqL#(!8&{4iVmUC?C@s>mcGP`vD*ybTlXQRo2y6?N*~ns0m&>nAG}Z31Kd2<2q<} zN~Cg>%qViaXK;n=3)doojzd2{1jT5;jrcCd(SO8Hs$!$+u)1EkYb>Z>Jx;Up!%sBA z!}k`x3vr#DvJdr6{y6{Pf8dq5$l^JtQ1s0nA-k^*1zzDBO6x9KR5F01?Y3UGnEfPc zM}GbXKEteqVp!D@O}h{qx}GCPjOEnYLu$dXDPra08-oWB1MUa%^^3~q&%=%TSEbH4{GXt97Ei;j)B#Od zjj2ylQ2JfC%Yns<()qekXRoet&GAFKJwBvv@bntS-}WIq85qHl7^xHU`Rg`D`rP)=Nn!|OolmVL$F0Rq6o!& zsJs*+=X8Gpk|J$c;|Xq}CT(Ql)Ue7LM(mtYK21DUln(IR+Au`R?*sq^(W3`XkzqCM zWdn=I;HWRTo;{TJekANQv7h*Ksxme6LYFZ(;VLPoY@{0!&c4Q=NW&Mi2$cl}tm*Dm zYXNS|!8GL|+-TWRdZhF_47yP<=s>UEgAkhbYo_XhzHS(=D#k$uAT=!K2Hqq1C_wkm z+9hC)T9+(4mKbf1CsR|r>nf65X!i#!C#a(H;Uu^i@@%q zJ&}!kL+PcF)|XpjSoJG4R&F)ur)t7wp%1R5@2knnI9$xkDDaMXpZx5fhg-Y>5`4~> znug0cB?J-hSrG?aL8dZ9C`DV1^Q?avpqfow8pHe@GXHrgY+*Ot~*w`pjHyp z@Ah=+S3U`jPACGu^g{i(3v zIHdQ5Z*l>u*?Cqb;0eERIy0Qy@Z&qGkO%DVsfL>lhLZ)bBG)BgFI%-pSL}HP+pHda zS^)Xc3wN(`v!b5o_ZsRB*s?bcGfGm31LZ!^Z_|H<0&qM?j}3y&?y-F4;fo(@1c+Qc zQ>mv_2Y*C>R5S3#-7aAQc+gK5;fYKl$61l3e_4&E+5F^`-zlGhF50qj?%?sFy`R?>+<|zGWnL@~m zUOd!zwPvJ~U&%+oEZteS-`2a$FhehL`@*;&^m{>jn;UK-uEG9+Gfn$6TN$xs2A~}W z$_0U??*%p3^Gxnpta!*|Jmw4Oi$0OSYXGOwjhwTl2RB`M`EE=c^<+P2L&|*Pg*D;e zGd0_4?WpE`bXZEmU{Z+sA^&v7M%vrMDK!!(cZjVHw^@RQk@Y2yq5FFb;52PiZ>c&z z1d=gK-M&B5ExBLvJ-mn57hjbh-LAyBX{N(@?-?I85Tj|8GdJrY)_TzJi*@#sUvk)Z zCqif==+_lJ*OYlcY9mgvw)CL@-1dYL05v;oXBxVI1lb8s5DGAz$#u_q{1&u)H(G&a z_dy0qikNT9SKex2Y^#_!<5)p;h8g35i(u*O!ogK)*&>$Gt8?N zk4Egv(5wZWsq3TPdbNAdr{4q=u4wXl#wINFNMC|y@o!x_NOAmLO;%F=t`MOKak2B( z1uJBWFfK r!<;yy?)6!nKo^NO*9wWmhLycq2bde67&;1t~+k%`m7saBWZ}>b`|# zY3Sjhne^~>vf$dNv@F}@D)5uz*<2n)C8G$qu>jcJo#3V#_2Fy7F#vgAzf0t~6J>DyCst^(xuhDRxuhACpUr zo7_wYi{kY~Qjo80aWH_fCQ}#}3+4AE?%50jsu5CySFJkkD;$)_sDSi_LjcFRNA*$F z(OcRll2p#!JHjDHMme6txQc`(Dme7eC11LfQntsj-^Co9;%ibRms&(p&ZZza!LjL1=3?&hOAHh$lT%X81aeF25qH<9P)zFod0nmnJw~A4d6E*Xw zZ)^?%$a4!>s)BDguB)o2JF>;V&z_6syqFp~sLZJw#w&6Owcj^ts)mW#&gX;ISJFLN zOQoNLJVEG}VM2;pP>XZm<0POOC2872tJOFadBuRFC^N9kI3Byme)TS`Fu4@S4zdV3 zcOu|}_8RTtFC1pTs*KllDI#4AJpxcZK`R^N*&=_4ybN!3NA^kFXm<6@{=^QC7(lBSCDyZ=nv zoUe{@R>bVNit;adl>3n-ZB_}U(D`Weyb;PUi(JxJtN$hEjQNf z1aDK_Th-x7xWGZv@}XUhah)EVhN}wYNYE4tPxLt25E6T|>dQL4Wv5Whx)) zv@ZA-+$ke+a70bd23?QXx(>#eHfwZEy~eOw61UY){hTpF--{Hu3mugh=YrQzJE!WM zDTzoUK6pUup1;c*njvK|5}TYiitl0I8}V}$=%(2}ObZ(>Qd8lh_Ke_V+7}qI5fIsx z_^S2Vs&ouhLz(DZ=;cRu_>GbO!WmRp353sPbi*BhD!q1=I&Sy1`zQzl4X)nl*N`Kz zZrp5|&Qr;_z2PsPL>8f2ofi1jOCs7lfndDu3}HtcgX_hHz*Dxfi7YD3J9Ys+wZXq5 z1g9s2ucw>N8A%-1VM&&d*$4OjhES^iLmmNE{W`vt^7Y`6^xbt$Hr6*Tz#!*wsgzVV zRl@W^MJ)EPj7R-!S|W@AWW&w~z0K#=U$2k)TmVkeF|f0dC_uY>jM#q(HXzdrJpcIL zvW4QJ=cJ5nOF}#gurI)Jp1JC4E&Vhl&Zs7ed&P|*gb_-40lB=8lVrxdp|Q^ z?B*Fhdk`N!1&Ib<2Y$nT!{iv*>w4l>!D?{{YW4A1+3hpBHr1giKFw9tVmdGZa0Jk6 zM%7gG@a0LknAS%;>%^OFQ@b|{gu!I_X9qipi8fla2gIplN3th(J;x_18ikQ40o>P+ zvCGw#-w#Az)ryVvxZp}iwOMAr^r8Wu66pw`!}A)s`t~)i;>i!X#1IFv)VIej)UY;I zU*B6>3c%*Z!0?{S>=iUf`-DH{2JJUY?Y78dlwjN0b@l5VH|+9$&Mh{mbjB*2WN!%XYv!LsApKDz(Q_0)3J zws;jY3^qVIjI0HM7Ts|>yk9{aSZgll=*2JJc@Ot~ir?CtFTefovizwu))>ppCh;%l z6Lq(*uL=ht|J9;@|6z|w6!=;i+Pd%_!Y!(=D@FhJ%M@sE?5WTBoF1|JcTM0V{;OgC z{71*CGRul0rPOig#Ml>A7TN#S5#XWmb>L0SgU@Z!iFYt8Smj@#^Y`#M7e-9$JZP*5 z%ZF4&!2ffE@6QoZ1wsmgph9q39LoRmCH5S|27ng*x{9$x^uSe=zhAYhiD?}gfIBuy`BULh zAS(6;lfF*2j!3UL(%8m+>fk5n^l0Ew&>jNFAbs0qWd3{zyrF!_wkCv^W8C=i4I_=Q z)~-Nj7u@n-0PAamZ4%28z-#^+^tYYB$p6mCGz$0=^SD(jwwILsxz2nPE`max$#D<#r-M<``Tn4oM5Wj>(d&_d?V&k`mJ+Gj>R#fp6$P3!y&40w7Na= zVCxj|QRB6hZ!rAl%=bKIfwVLyablFZ)};uD6f6kJk_ zjwC995%b>&tu8Wdj_qAB2!B}mX{u6A2*@jC(gjZLHIrwsNy5Vrb8+K`x~eUE{~wC! zQ8LIsMB*sGR;O!%FYI~0eg#zD&@jy7)q0Jl7C7||-!p;8OEx;T(DqofRI)5kVD5_! z(EK~;5{s16mRZqQ9Qx4kcn8a`dL!ZW5G3^QGB=*hEySO@1B}CP zqSz`kwCao0wTk<@eO1Ex1glUKybqW0S{>qJ~?%j>*bN!zW_x75}Xs<9@-xvs`>` z)kMh1V4WU?c*Vf^jYrt&2BEWJ@VGa=*|23S@a}AfexI`*Kfm;2pmfYwfci#kd`l+6 z$qQFyXsBVqUg(`~N6@$5sPSaTr!%5$0qGu&L0T@5S{sBHoR_axz7BAD6CGCIB)X#N zxw0H8#5nE(^2^PpP{!8_ZHEo?sf2`P+1*Ep;n4>HBhPH>C;E7#+gPYp$}2f%>A)f| zbJ|Tl$aB4)`-+E-9{+0!t#6?%f=71BS>C}X?M$swi=XNSB(_5OLjSX10GDulg0~i; zHTQl6#q3z%8VL$7uG9259am=T^V1>4Na%|w8ue@KrsHM6wK2oz0O9~|PbwY>l(~U+T#!%sz=L_ ztOHERhoMcr1+$vsI_{}rT>LM}-ZChzrV9g1g1bv_g8SfZg9d`TI|O%^!JPmBLhxV# zg1ft0a1ZVf+c_Ou8~Qg4h@jG4gKHo4 zD6`O`JTQxp<&#w~ZU<<6&a07?x$F{sNe4`Q8hPG(bD>hZO4s7Wd4i2>UHtx=A9z+# z1Or0+2Rvf(zs=IAouPQvu+=;PJ-o{NjKZtg_Ghcr7 zRC++kzo$J7r6#Y`KlO$1J?Ytf0Br-;v@YO-vLS2*nZ_+_zoQ5VGL6Ke^rYYWZR$X< z^=8oatxe>A3WF0ju+~vfRTW==zV6gs+~7k*NMCO#ap(2ukquqe8oG{>jNY<;&gQpt zgD^mJA7Q=n+T!}%l|f9*wCgHeywb|}Qh}UZ9$o9@{wt4RaD`J_fu?b!n0(~t7s#u3 zj92b_8?j&eAnjJOkcFC*R(YCBjiG%MjWn+OF{#@IcvJO6@{czkD4h{UE`CM5-<0ay z7enB}F(XfJtNw>3)Bzv?3-^g2aH2nS!ki*F?qReyRrdD$R^5p5uIqvx`H&U59Mu!U zIkXLNY$Z0*dYRk{^&qjxfdoH%%Zbhh>n0mCfu?K=+qE2OGI{=HFS;`aXI2t2mj3e# zJvyZDuF86jyTjntdg2?%ltdQ^B3mmloPgdMA7rXd`CZHApiE?7*h!>Vyw9&Pyx=(n zr7W*EGI^Kmfl+t~_}$o;t*|<)4*m1n1Rju+vzFaGW%&%)84y~3@3ku#z% zV}?|Ud3SEcAgd0(LC-P>J*pO5=k^o=`o9#N!ib(0Jwrt>x>D2m55 zZ*qh|UgOF_D_=4qZ!{@~ChUtUd6OI6$|ZkMa_JX3Ql!xBcfTN&3nB{tLm1=xi&q3< zoYIpylS5w6Ow%TlQyCa|c7I`0j<3~$E3GCwT=j}vh_ortbi~@ons;L;?%qqn%oP%hh z=3=8NIEg1aIb+2}Uj@L64uq3EoAboF!5`a2N@!v7D4@`PmTz7G*YnJ<-3lIs+I?wD zE#G$_Q65O|2}t|b4SJwqa=8{iYlKNa%6q-b=Z)^6e|!XZ@eLo7J8TM#J3JJ_)zLeN z@o#4yT@!k`UNrl0xYMNBORok&!oe)kA|oziI{}5ft*Ad@vdFHh0qW=6)$t*J=#{3` zl^s1z^bCQS-2NZ@r1=r4+OVcGf->4QCFso=eQ3|O1{=CmG>l&1vEhP8Oz zGQ{fX1LezF;9w=|X+6mNv)YW+maQ;!h7U4zEXR`=@icFvq5&+W6N^V|oKE>@(HvNf zK7giJ@PBZh`z zZM$q0b&$xhT?r>6zyJqm4D)sOiban^b=ZqtU}mSq{)heJyzznWHq4!1k43>@2LAt7 z(6jS3Fx$G4I z6DaT=j|zB}Aq6}%@}p!%Bfp|0{)$6!ga5&JC*f>^fKq^aVKM*ZLyhjLx_2RCw!w0Ljuj_K86qGTHBH8H36_U20SKzkHGfAX7P8 zh3k{PUo(tC|9n{1z#s~xpWWfQ36roD@!aZ!94GCdn)C zo*yxP^Djlo9y9&FFti-hpefOeuZN=QUF3Df<#Gg=2em31{l| zvBTbC?*@kvN`HALxo6AvHmaTlS-%52?2@^rW&u;e!jTpQis+-alOHu<<*-^P+doub z86-bfHisXoM>E=TA5ZeauNiBP`5Wj3Apm}J;?^#BA9BzoN{;SpJD^&5xuRa{Cy;LP zlY-Hb{c}OZX$8&8*E9?gC%t$l)Cls31#fVxgDzH|r*lmvmy^{}~@#q7&gQKAt zCeKhFfGBBH=d~5d^)2mAEL19uW09vYHOQr@ak1-!%d$8QE`JEZ(eK9a z6=_-2r@&Oy#$FKkAP^s1$?U8M^1`9Nph$&Hgv0HgVL&C29kxltnuST=`qOTqFG3?i z)GJa;%2=(=w7nPH4E|feaSv!Px$22e%CYZ}F7fvl5eyicxZ(E5fcInJW8Kn`PzO8*KHD@}=UZpKT1qp_Nx|*r$(O zT!LPBV7^Ul1ZGziN+WF}<)Z79bbM~*$KaA?+#%K$Lc~(HVm*r5l*VVkMWl52O%u`+ zT0UF{ovUlf?BvJgLN>I`B)LbxiCtda``J-ByM&iBv7AxzlYW51w(>24f+}J!v@mUn zE#ZF?J>VM^sKfwpr`Vgh{j>AnpPILk8Jd5{rk%t6y;ccNPH@@In?N|h*wrgSCg#Q) zhkcdxTN&6EtXPv9n<(3<_!~Et?DFxy1kYh==PdM_a?7M$-Q19kEND^Ol|Jy{XUFUp ztKyx}fX!PMp=3^6 zFXBjeo4JCCZ@~_C_p8RX-r8l-Ii#*{{>YGiv zrq`}+aqFij&SZ!CMc(wa8rpW<2(jcLMVIwgh(Gbxg)I;(bLmOVW@h0St>Rm`ar^FG zH&F&NTMF@c{~>j>CjhBiUjnP#e3ATKFSNiD=)=y3y=`iEhSvs+eO%L!7vJ;qwIH9n*ch|m zcy}AW*Zf(6FSko|!Z&_{l~yDD$!EhvI=P;YH?)O$ymzhSPy#?WJN} z$+fqe4L?0z)CfExfE5S3s`^B@u&9fCxE{^h-DS8s7)n05v_76sF<<_Ga3G7rV_<^M zx?HG$M+fVgAiCmBch3_Gb$b+=a&8l>$3j>%0AX=>)^?@oU#;Dj`bTytX7j112PD(WDN}89}OY< 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

$%8xZzS3Y>$@pz9BWY*2GSCCkzKs*`r21 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 AF8}}l literal 0 HcmV?d00001 diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/doc/djq.txt b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/doc/djq.txt new file mode 100644 index 0000000..e69de29 diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/doc/test.txt b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/doc/test.txt new file mode 100644 index 0000000..e69de29 diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/.coveragerc b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/.coveragerc new file mode 100644 index 0000000..9757484 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/.coveragerc @@ -0,0 +1,10 @@ +[run] +source = . +include = *.py +omit = + *migrations* + *tests* + *.html + *whoosh_cn_backend* + *settings.py* + *venv* diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/.dockerignore b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/.dockerignore new file mode 100644 index 0000000..2818c38 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/.dockerignore @@ -0,0 +1,11 @@ +bin/data/ +# virtualenv +venv/ +collectedstatic/ +djangoblog/whoosh_index/ +uploads/ +settings_production.py +*.md +docs/ +logs/ +static/ \ No newline at end of file diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/.gitattributes b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/.gitattributes new file mode 100644 index 0000000..fd52ece --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/.gitattributes @@ -0,0 +1,6 @@ +blog/static/* linguist-vendored +*.js linguist-vendored +*.css linguist-vendored +* text=auto +*.sh text eol=lf +*.conf text eol=lf \ No newline at end of file diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/.github/ISSUE_TEMPLATE.md b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/.github/ISSUE_TEMPLATE.md new file mode 100644 index 0000000..2b5b7aa --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,18 @@ + + +**我确定我已经查看了** (标注`[ ]`为`[x]`) + +- [ ] [DjangoBlog的readme](https://github.com/liangliangyy/DjangoBlog/blob/master/README.md) +- [ ] [配置说明](https://github.com/liangliangyy/DjangoBlog/blob/master/bin/config.md) +- [ ] [其他 Issues](https://github.com/liangliangyy/DjangoBlog/issues) + +---- + +**我要申请** (标注`[ ]`为`[x]`) + +- [ ] BUG 反馈 +- [ ] 添加新的特性或者功能 +- [ ] 请求技术支持 diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/.github/workflows/codeql-analysis.yml b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/.github/workflows/codeql-analysis.yml new file mode 100644 index 0000000..6b76522 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/.github/workflows/codeql-analysis.yml @@ -0,0 +1,47 @@ +name: "CodeQL" + +on: + push: + branches: + - master + - dev + paths-ignore: + - '**/*.md' + - '**/*.css' + - '**/*.js' + - '**/*.yml' + - '**/*.txt' + pull_request: + branches: + - master + - dev + paths-ignore: + - '**/*.md' + - '**/*.css' + - '**/*.js' + - '**/*.yml' + - '**/*.txt' + schedule: + - cron: '30 1 * * 0' + + +jobs: + CodeQL-Build: + runs-on: ubuntu-latest + permissions: + security-events: write + actions: read + contents: read + + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + - name: Initialize CodeQL + uses: github/codeql-action/init@v2 + + - name: Autobuild + uses: github/codeql-action/autobuild@v2 + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v2 \ No newline at end of file diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/.github/workflows/django.yml b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/.github/workflows/django.yml new file mode 100644 index 0000000..94baea9 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/.github/workflows/django.yml @@ -0,0 +1,136 @@ +name: Django CI + +on: + push: + branches: + - master + - dev + paths-ignore: + - '**/*.md' + - '**/*.css' + - '**/*.js' + pull_request: + branches: + - master + - dev + paths-ignore: + - '**/*.md' + - '**/*.css' + - '**/*.js' + +jobs: + build-normal: + runs-on: ubuntu-latest + strategy: + max-parallel: 4 + matrix: + python-version: ["3.10","3.11" ] + + steps: + - name: Start MySQL + uses: samin/mysql-action@v1.3 + with: + host port: 3306 + container port: 3306 + character set server: utf8mb4 + collation server: utf8mb4_general_ci + mysql version: latest + mysql root password: root + mysql database: djangoblog + mysql user: root + mysql password: root + + - uses: actions/checkout@v3 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + cache: 'pip' + - name: Install Dependencies + run: | + python -m pip install --upgrade pip + pip install -r requirements.txt + - name: Run Tests + env: + DJANGO_MYSQL_PASSWORD: root + DJANGO_MYSQL_HOST: 127.0.0.1 + run: | + python manage.py makemigrations + python manage.py migrate + python manage.py test + + build-with-es: + runs-on: ubuntu-latest + strategy: + max-parallel: 4 + matrix: + python-version: ["3.10","3.11" ] + + steps: + - name: Start MySQL + uses: samin/mysql-action@v1.3 + with: + host port: 3306 + container port: 3306 + character set server: utf8mb4 + collation server: utf8mb4_general_ci + mysql version: latest + mysql root password: root + mysql database: djangoblog + mysql user: root + mysql password: root + + - name: Configure sysctl limits + run: | + sudo swapoff -a + sudo sysctl -w vm.swappiness=1 + sudo sysctl -w fs.file-max=262144 + sudo sysctl -w vm.max_map_count=262144 + + - uses: miyataka/elasticsearch-github-actions@1 + + with: + stack-version: '7.12.1' + plugins: 'https://release.infinilabs.com/analysis-ik/stable/elasticsearch-analysis-ik-7.12.1.zip' + + + - uses: actions/checkout@v3 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + cache: 'pip' + - name: Install Dependencies + run: | + python -m pip install --upgrade pip + pip install -r requirements.txt + - name: Run Tests + env: + DJANGO_MYSQL_PASSWORD: root + DJANGO_MYSQL_HOST: 127.0.0.1 + DJANGO_ELASTICSEARCH_HOST: 127.0.0.1:9200 + run: | + python manage.py makemigrations + python manage.py migrate + coverage run manage.py test + coverage xml + + - name: Upload coverage to Codecov + uses: codecov/codecov-action@v1 + + docker: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + + - name: Build and push + uses: docker/build-push-action@v3 + with: + context: . + push: false + tags: djangoblog/djangoblog:dev diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/.github/workflows/docker.yml b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/.github/workflows/docker.yml new file mode 100644 index 0000000..a312e2f --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/.github/workflows/docker.yml @@ -0,0 +1,43 @@ +name: docker + +on: + push: + paths-ignore: + - '**/*.md' + - '**/*.yml' + branches: + - 'master' + - 'dev' + +jobs: + docker: + runs-on: ubuntu-latest + steps: + - name: Set env to docker dev tag + if: endsWith(github.ref, '/dev') + run: | + echo "DOCKER_TAG=test" >> $GITHUB_ENV + - name: Set env to docker latest tag + if: endsWith(github.ref, '/master') + run: | + echo "DOCKER_TAG=latest" >> $GITHUB_ENV + - name: Checkout + uses: actions/checkout@v3 + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + + - name: Login to DockerHub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Build and push + uses: docker/build-push-action@v3 + with: + context: . + push: true + tags: ${{ secrets.DOCKERHUB_USERNAME }}/djangoblog:${{env.DOCKER_TAG}} + + diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/.github/workflows/publish-release.yml b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/.github/workflows/publish-release.yml new file mode 100644 index 0000000..5eb0853 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/.github/workflows/publish-release.yml @@ -0,0 +1,39 @@ +name: publish release + +on: + release: + types: [ published ] + +jobs: + docker: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Docker meta + id: meta + uses: docker/metadata-action@v3 + with: + images: name/app + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - name: Login to DockerHub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Build and push + uses: docker/build-push-action@v3 + with: + context: . + push: true + platforms: | + linux/amd64 + linux/arm64 + linux/arm/v7 + linux/arm/v6 + linux/386 + tags: ${{ secrets.DOCKERHUB_USERNAME }}/djangoblog:${{ github.event.release.tag_name }} diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/.gitignore b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/.gitignore new file mode 100644 index 0000000..3015816 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/.gitignore @@ -0,0 +1,80 @@ +# 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 + +# Translations +*.pot + +# Django stuff: +*.log +logs/ + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + + +# PyCharm +# http://www.jetbrains.com/pycharm/webhelp/project.html +.idea +.iml +static/ +# virtualenv +venv/ + +collectedstatic/ +djangoblog/whoosh_index/ +google93fd32dbd906620a.html +baidu_verify_FlHL7cUyC9.html +BingSiteAuth.xml +cb9339dbe2ff86a5aa169d28dba5f615.txt +werobot_session.* +django.jpg +uploads/ +settings_production.py +werobot_session.db +bin/datas/ diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/Dockerfile b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/Dockerfile new file mode 100644 index 0000000..80b46ac --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/Dockerfile @@ -0,0 +1,15 @@ +FROM python:3.11 +ENV PYTHONUNBUFFERED 1 +WORKDIR /code/djangoblog/ +RUN apt-get update && \ + apt-get install default-libmysqlclient-dev gettext -y && \ + rm -rf /var/lib/apt/lists/* +ADD requirements.txt requirements.txt +RUN pip install --upgrade pip && \ + pip install --no-cache-dir -r requirements.txt && \ + pip install --no-cache-dir gunicorn[gevent] && \ + pip cache purge + +ADD . . +RUN chmod +x /code/djangoblog/deploy/entrypoint.sh +ENTRYPOINT ["/code/djangoblog/deploy/entrypoint.sh"] diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/LICENSE b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/LICENSE new file mode 100644 index 0000000..3b08474 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2025 车亮亮 + +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. \ No newline at end of file diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/README.md b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/README.md new file mode 100644 index 0000000..56aa4cc --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/README.md @@ -0,0 +1,158 @@ +# DjangoBlog + +

+ Django CI + CodeQL + codecov + license +

+ +

+ 一款功能强大、设计优雅的现代化博客系统 +
+ English简体中文 +

+ +--- + +DjangoBlog 是一款基于 Python 3.10 和 Django 4.0 构建的高性能博客平台。它不仅提供了传统博客的所有核心功能,还通过一个灵活的插件系统,让您可以轻松扩展和定制您的网站。无论您是个人博主、技术爱好者还是内容创作者,DjangoBlog 都旨在为您提供一个稳定、高效且易于维护的写作和发布环境。 + +## ✨ 特性亮点 + +- **强大的内容管理**: 支持文章、独立页面、分类和标签的完整管理。内置强大的 Markdown 编辑器,支持代码语法高亮。 +- **全文搜索**: 集成搜索引擎,提供快速、精准的文章内容搜索。 +- **互动评论系统**: 支持回复、邮件提醒等功能,评论内容同样支持 Markdown。 +- **灵活的侧边栏**: 可自定义展示最新文章、最多阅读、标签云等模块。 +- **社交化登录**: 内置 OAuth 支持,已集成 Google, GitHub, Facebook, 微博, QQ 等主流平台。 +- **高性能缓存**: 原生支持 Redis 缓存,并提供自动刷新机制,确保网站高速响应。 +- **SEO 友好**: 具备基础 SEO 功能,新内容发布后可自动通知 Google 和百度。 +- **便捷的插件系统**: 通过创建独立的插件来扩展博客功能,代码解耦,易于维护。我们已经通过插件实现了文章浏览计数、SEO 优化等功能! +- **集成图床**: 内置简单的图床功能,方便图片上传和管理。 +- **自动化前端**: 集成 `django-compressor`,自动压缩和优化 CSS 及 JavaScript 文件。 +- **健壮的运维**: 内置网站异常邮件提醒和微信公众号管理功能。 + +## 🛠️ 技术栈 + +- **后端**: Python 3.10, Django 4.0 +- **数据库**: MySQL, SQLite (可配置) +- **缓存**: Redis +- **前端**: HTML5, CSS3, JavaScript +- **搜索**: Whoosh, Elasticsearch (可配置) +- **编辑器**: Markdown (mdeditor) + +## 🚀 快速开始 + +### 1. 环境准备 + +确保您的系统中已安装 Python 3.10+ 和 MySQL/MariaDB。 + +### 2. 克隆与安装 + +```bash +# 克隆项目到本地 +git clone https://github.com/liangliangyy/DjangoBlog.git +cd DjangoBlog + +# 安装依赖 +pip install -r requirements.txt +``` + +### 3. 项目配置 + +- **数据库**: + 打开 `djangoblog/settings.py` 文件,找到 `DATABASES` 配置项,修改为您的 MySQL 连接信息。 + + ```python + DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.mysql', + 'NAME': 'djangoblog', + 'USER': 'root', + 'PASSWORD': 'your_password', + 'HOST': '127.0.0.1', + 'PORT': 3306, + } + } + ``` + 在 MySQL 中创建数据库: + ```sql + CREATE DATABASE `djangoblog` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; + ``` + +- **更多配置**: + 关于邮件发送、OAuth 登录、缓存等更多高级配置,请参阅我们的 [详细配置文档](/docs/config.md)。 + +### 4. 初始化数据库 + +```bash +python manage.py makemigrations +python manage.py migrate + +# 创建一个超级管理员账户 +python manage.py createsuperuser +``` + +### 5. 运行项目 + +```bash +# (可选) 生成一些测试数据 +python manage.py create_testdata + +# (可选) 收集和压缩静态文件 +python manage.py collectstatic --noinput +python manage.py compress --force + +# 启动开发服务器 +python manage.py runserver +``` + +现在,在您的浏览器中访问 `http://127.0.0.1:8000/`,您应该能看到 DjangoBlog 的首页了! + +## 部署 + +- **传统部署**: 我们为您准备了非常详细的 [服务器部署教程](https://www.lylinux.net/article/2019/8/5/58.html)。 +- **Docker 部署**: 项目已全面支持 Docker。如果您熟悉容器化技术,请参考 [Docker 部署文档](/docs/docker.md) 来快速启动。 +- **Kubernetes 部署**: 我们也提供了完整的 [Kubernetes 部署指南](/docs/k8s.md),助您轻松上云。 + +## 🧩 插件系统 + +插件系统是 DjangoBlog 的核心特色之一。它允许您在不修改核心代码的情况下,通过编写独立的插件来为您的博客添加新功能。 + +- **工作原理**: 插件通过在预定义的“钩子”上注册回调函数来工作。例如,当一篇文章被渲染时,`after_article_body_get` 钩子会被触发,所有注册到此钩子的函数都会被执行。 +- **现有插件**: `view_count`(浏览计数), `seo_optimizer`(SEO优化)等都是通过插件系统实现的。 +- **开发您自己的插件**: 只需在 `plugins` 目录下创建一个新的文件夹,并编写您的 `plugin.py`。欢迎探索并为 DjangoBlog 社区贡献您的创意! + +## 🤝 贡献指南 + +我们热烈欢迎任何形式的贡献!如果您有好的想法或发现了 Bug,请随时提交 Issue 或 Pull Request。 + +## 📄 许可证 + +本项目基于 [MIT License](LICENSE) 开源。 + +--- + +## ❤️ 支持与赞助 + +如果您觉得这个项目对您有帮助,并且希望支持我继续维护和开发新功能,欢迎请我喝杯咖啡!您的每一份支持都是我前进的最大动力。 + +

+ 支付宝赞助 + 微信赞助 +

+

+ (左) 支付宝 / (右) 微信 +

+ +## 🙏 鸣谢 + +特别感谢 **JetBrains** 为本项目提供的免费开源许可证。 + +

+ + JetBrains Logo + +

+ +--- +> 如果本项目帮助到了你,请在[这里](https://github.com/liangliangyy/DjangoBlog/issues/214)留下你的网址,让更多的人看到。您的回复将会是我继续更新维护下去的动力。 diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/accounts/__init__.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/accounts/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/accounts/admin.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/accounts/admin.py new file mode 100644 index 0000000..32e483c --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/accounts/admin.py @@ -0,0 +1,59 @@ +from django import forms +from django.contrib.auth.admin import UserAdmin +from django.contrib.auth.forms import UserChangeForm +from django.contrib.auth.forms import UsernameField +from django.utils.translation import gettext_lazy as _ + +# Register your models here. +from .models import BlogUser + + +class BlogUserCreationForm(forms.ModelForm): + password1 = forms.CharField(label=_('password'), widget=forms.PasswordInput) + password2 = forms.CharField(label=_('Enter password again'), widget=forms.PasswordInput) + + class Meta: + model = BlogUser + fields = ('email',) + + def clean_password2(self): + # Check that the two password entries match + password1 = self.cleaned_data.get("password1") + password2 = self.cleaned_data.get("password2") + if password1 and password2 and password1 != password2: + raise forms.ValidationError(_("passwords do not match")) + return password2 + + def save(self, commit=True): + # Save the provided password in hashed format + user = super().save(commit=False) + user.set_password(self.cleaned_data["password1"]) + if commit: + user.source = 'adminsite' + user.save() + return user + + +class BlogUserChangeForm(UserChangeForm): + class Meta: + model = BlogUser + fields = '__all__' + field_classes = {'username': UsernameField} + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + + +class BlogUserAdmin(UserAdmin): + form = BlogUserChangeForm + add_form = BlogUserCreationForm + list_display = ( + 'id', + 'nickname', + 'username', + 'email', + 'last_login', + 'date_joined', + 'source') + list_display_links = ('id', 'username') + ordering = ('-id',) diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/accounts/apps.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/accounts/apps.py new file mode 100644 index 0000000..9b3fc5a --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/accounts/apps.py @@ -0,0 +1,5 @@ +from django.apps import AppConfig + + +class AccountsConfig(AppConfig): + name = 'accounts' diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/accounts/forms.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/accounts/forms.py new file mode 100644 index 0000000..fce4137 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/accounts/forms.py @@ -0,0 +1,117 @@ +from django import forms +from django.contrib.auth import get_user_model, password_validation +from django.contrib.auth.forms import AuthenticationForm, UserCreationForm +from django.core.exceptions import ValidationError +from django.forms import widgets +from django.utils.translation import gettext_lazy as _ +from . import utils +from .models import BlogUser + + +class LoginForm(AuthenticationForm): + def __init__(self, *args, **kwargs): + super(LoginForm, self).__init__(*args, **kwargs) + self.fields['username'].widget = widgets.TextInput( + attrs={'placeholder': "username", "class": "form-control"}) + self.fields['password'].widget = widgets.PasswordInput( + attrs={'placeholder': "password", "class": "form-control"}) + + +class RegisterForm(UserCreationForm): + def __init__(self, *args, **kwargs): + super(RegisterForm, self).__init__(*args, **kwargs) + + self.fields['username'].widget = widgets.TextInput( + attrs={'placeholder': "username", "class": "form-control"}) + self.fields['email'].widget = widgets.EmailInput( + attrs={'placeholder': "email", "class": "form-control"}) + self.fields['password1'].widget = widgets.PasswordInput( + attrs={'placeholder': "password", "class": "form-control"}) + self.fields['password2'].widget = widgets.PasswordInput( + attrs={'placeholder': "repeat password", "class": "form-control"}) + + def clean_email(self): + email = self.cleaned_data['email'] + if get_user_model().objects.filter(email=email).exists(): + raise ValidationError(_("email already exists")) + return email + + class Meta: + model = get_user_model() + fields = ("username", "email") + + +class ForgetPasswordForm(forms.Form): + new_password1 = forms.CharField( + label=_("New password"), + widget=forms.PasswordInput( + attrs={ + "class": "form-control", + 'placeholder': _("New password") + } + ), + ) + + new_password2 = forms.CharField( + label="确认密码", + widget=forms.PasswordInput( + attrs={ + "class": "form-control", + 'placeholder': _("Confirm password") + } + ), + ) + + email = forms.EmailField( + label='邮箱', + widget=forms.TextInput( + attrs={ + 'class': 'form-control', + 'placeholder': _("Email") + } + ), + ) + + code = forms.CharField( + label=_('Code'), + widget=forms.TextInput( + attrs={ + 'class': 'form-control', + 'placeholder': _("Code") + } + ), + ) + + def clean_new_password2(self): + password1 = self.data.get("new_password1") + password2 = self.data.get("new_password2") + if password1 and password2 and password1 != password2: + raise ValidationError(_("passwords do not match")) + password_validation.validate_password(password2) + + return password2 + + def clean_email(self): + user_email = self.cleaned_data.get("email") + if not BlogUser.objects.filter( + email=user_email + ).exists(): + # todo 这里的报错提示可以判断一个邮箱是不是注册过,如果不想暴露可以修改 + raise ValidationError(_("email does not exist")) + return user_email + + def clean_code(self): + code = self.cleaned_data.get("code") + error = utils.verify( + email=self.cleaned_data.get("email"), + code=code, + ) + if error: + raise ValidationError(error) + return code + + +class ForgetPasswordCodeForm(forms.Form): + email = forms.EmailField( + label=_('Email'), + ) diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/accounts/migrations/0001_initial.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/accounts/migrations/0001_initial.py new file mode 100644 index 0000000..d2fbcab --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/accounts/migrations/0001_initial.py @@ -0,0 +1,49 @@ +# Generated by Django 4.1.7 on 2023-03-02 07:14 + +import django.contrib.auth.models +import django.contrib.auth.validators +from django.db import migrations, models +import django.utils.timezone + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ('auth', '0012_alter_user_first_name_max_length'), + ] + + operations = [ + migrations.CreateModel( + name='BlogUser', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('password', models.CharField(max_length=128, verbose_name='password')), + ('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')), + ('is_superuser', models.BooleanField(default=False, help_text='Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')), + ('username', models.CharField(error_messages={'unique': 'A user with that username already exists.'}, help_text='Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.', max_length=150, unique=True, validators=[django.contrib.auth.validators.UnicodeUsernameValidator()], verbose_name='username')), + ('first_name', models.CharField(blank=True, max_length=150, verbose_name='first name')), + ('last_name', models.CharField(blank=True, max_length=150, verbose_name='last name')), + ('email', models.EmailField(blank=True, max_length=254, verbose_name='email address')), + ('is_staff', models.BooleanField(default=False, help_text='Designates whether the user can log into this admin site.', verbose_name='staff status')), + ('is_active', models.BooleanField(default=True, help_text='Designates whether this user should be treated as active. Unselect this instead of deleting accounts.', verbose_name='active')), + ('date_joined', models.DateTimeField(default=django.utils.timezone.now, verbose_name='date joined')), + ('nickname', models.CharField(blank=True, max_length=100, verbose_name='昵称')), + ('created_time', models.DateTimeField(default=django.utils.timezone.now, verbose_name='创建时间')), + ('last_mod_time', models.DateTimeField(default=django.utils.timezone.now, verbose_name='修改时间')), + ('source', models.CharField(blank=True, max_length=100, verbose_name='创建来源')), + ('groups', models.ManyToManyField(blank=True, help_text='The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.group', verbose_name='groups')), + ('user_permissions', models.ManyToManyField(blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.permission', verbose_name='user permissions')), + ], + options={ + 'verbose_name': '用户', + 'verbose_name_plural': '用户', + 'ordering': ['-id'], + 'get_latest_by': 'id', + }, + managers=[ + ('objects', django.contrib.auth.models.UserManager()), + ], + ), + ] diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/accounts/migrations/__init__.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/accounts/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/accounts/models.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/accounts/models.py new file mode 100644 index 0000000..3baddbb --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/accounts/models.py @@ -0,0 +1,35 @@ +from django.contrib.auth.models import AbstractUser +from django.db import models +from django.urls import reverse +from django.utils.timezone import now +from django.utils.translation import gettext_lazy as _ +from djangoblog.utils import get_current_site + + +# Create your models here. + +class BlogUser(AbstractUser): + nickname = models.CharField(_('nick name'), max_length=100, blank=True) + creation_time = models.DateTimeField(_('creation time'), default=now) + last_modify_time = models.DateTimeField(_('last modify time'), default=now) + source = models.CharField(_('create source'), max_length=100, blank=True) + + def get_absolute_url(self): + return reverse( + 'blog:author_detail', kwargs={ + 'author_name': self.username}) + + def __str__(self): + return self.email + + def get_full_url(self): + site = get_current_site().domain + url = "https://{site}{path}".format(site=site, + path=self.get_absolute_url()) + return url + + class Meta: + ordering = ['-id'] + verbose_name = _('user') + verbose_name_plural = verbose_name + get_latest_by = 'id' diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/accounts/templatetags/__init__.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/accounts/templatetags/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/accounts/tests.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/accounts/tests.py new file mode 100644 index 0000000..6893411 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/accounts/tests.py @@ -0,0 +1,207 @@ +from django.test import Client, RequestFactory, TestCase +from django.urls import reverse +from django.utils import timezone +from django.utils.translation import gettext_lazy as _ + +from accounts.models import BlogUser +from blog.models import Article, Category +from djangoblog.utils import * +from . import utils + + +# Create your tests here. + +class AccountTest(TestCase): + def setUp(self): + self.client = Client() + self.factory = RequestFactory() + self.blog_user = BlogUser.objects.create_user( + username="test", + email="admin@admin.com", + password="12345678" + ) + self.new_test = "xxx123--=" + + def test_validate_account(self): + site = get_current_site().domain + user = BlogUser.objects.create_superuser( + email="liangliangyy1@gmail.com", + username="liangliangyy1", + password="qwer!@#$ggg") + testuser = BlogUser.objects.get(username='liangliangyy1') + + loginresult = self.client.login( + username='liangliangyy1', + password='qwer!@#$ggg') + self.assertEqual(loginresult, True) + response = self.client.get('/admin/') + self.assertEqual(response.status_code, 200) + + category = Category() + category.name = "categoryaaa" + category.creation_time = timezone.now() + category.last_modify_time = timezone.now() + category.save() + + article = Article() + article.title = "nicetitleaaa" + article.body = "nicecontentaaa" + article.author = user + article.category = category + article.type = 'a' + article.status = 'p' + article.save() + + response = self.client.get(article.get_admin_url()) + self.assertEqual(response.status_code, 200) + + def test_validate_register(self): + self.assertEquals( + 0, len( + BlogUser.objects.filter( + email='user123@user.com'))) + response = self.client.post(reverse('account:register'), { + 'username': 'user1233', + 'email': 'user123@user.com', + 'password1': 'password123!q@wE#R$T', + 'password2': 'password123!q@wE#R$T', + }) + self.assertEquals( + 1, len( + BlogUser.objects.filter( + email='user123@user.com'))) + user = BlogUser.objects.filter(email='user123@user.com')[0] + sign = get_sha256(get_sha256(settings.SECRET_KEY + str(user.id))) + path = reverse('accounts:result') + url = '{path}?type=validation&id={id}&sign={sign}'.format( + path=path, id=user.id, sign=sign) + response = self.client.get(url) + self.assertEqual(response.status_code, 200) + + self.client.login(username='user1233', password='password123!q@wE#R$T') + user = BlogUser.objects.filter(email='user123@user.com')[0] + user.is_superuser = True + user.is_staff = True + user.save() + delete_sidebar_cache() + category = Category() + category.name = "categoryaaa" + category.creation_time = timezone.now() + category.last_modify_time = timezone.now() + category.save() + + article = Article() + article.category = category + article.title = "nicetitle333" + article.body = "nicecontentttt" + article.author = user + + article.type = 'a' + article.status = 'p' + article.save() + + response = self.client.get(article.get_admin_url()) + self.assertEqual(response.status_code, 200) + + response = self.client.get(reverse('account:logout')) + self.assertIn(response.status_code, [301, 302, 200]) + + response = self.client.get(article.get_admin_url()) + self.assertIn(response.status_code, [301, 302, 200]) + + response = self.client.post(reverse('account:login'), { + 'username': 'user1233', + 'password': 'password123' + }) + self.assertIn(response.status_code, [301, 302, 200]) + + response = self.client.get(article.get_admin_url()) + self.assertIn(response.status_code, [301, 302, 200]) + + def test_verify_email_code(self): + to_email = "admin@admin.com" + code = generate_code() + utils.set_code(to_email, code) + utils.send_verify_email(to_email, code) + + err = utils.verify("admin@admin.com", code) + self.assertEqual(err, None) + + err = utils.verify("admin@123.com", code) + self.assertEqual(type(err), str) + + def test_forget_password_email_code_success(self): + resp = self.client.post( + path=reverse("account:forget_password_code"), + data=dict(email="admin@admin.com") + ) + + self.assertEqual(resp.status_code, 200) + self.assertEqual(resp.content.decode("utf-8"), "ok") + + def test_forget_password_email_code_fail(self): + resp = self.client.post( + path=reverse("account:forget_password_code"), + data=dict() + ) + self.assertEqual(resp.content.decode("utf-8"), "错误的邮箱") + + resp = self.client.post( + path=reverse("account:forget_password_code"), + data=dict(email="admin@com") + ) + self.assertEqual(resp.content.decode("utf-8"), "错误的邮箱") + + def test_forget_password_email_success(self): + code = generate_code() + utils.set_code(self.blog_user.email, code) + data = dict( + new_password1=self.new_test, + new_password2=self.new_test, + email=self.blog_user.email, + code=code, + ) + resp = self.client.post( + path=reverse("account:forget_password"), + data=data + ) + self.assertEqual(resp.status_code, 302) + + # 验证用户密码是否修改成功 + blog_user = BlogUser.objects.filter( + email=self.blog_user.email, + ).first() # type: BlogUser + self.assertNotEqual(blog_user, None) + self.assertEqual(blog_user.check_password(data["new_password1"]), True) + + def test_forget_password_email_not_user(self): + data = dict( + new_password1=self.new_test, + new_password2=self.new_test, + email="123@123.com", + code="123456", + ) + resp = self.client.post( + path=reverse("account:forget_password"), + data=data + ) + + self.assertEqual(resp.status_code, 200) + + + def test_forget_password_email_code_error(self): + code = generate_code() + utils.set_code(self.blog_user.email, code) + data = dict( + new_password1=self.new_test, + new_password2=self.new_test, + email=self.blog_user.email, + code="111111", + ) + resp = self.client.post( + path=reverse("account:forget_password"), + data=data + ) + + self.assertEqual(resp.status_code, 200) + diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/accounts/urls.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/accounts/urls.py new file mode 100644 index 0000000..107a801 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/accounts/urls.py @@ -0,0 +1,28 @@ +from django.urls import path +from django.urls import re_path + +from . import views +from .forms import LoginForm + +app_name = "accounts" + +urlpatterns = [re_path(r'^login/$', + views.LoginView.as_view(success_url='/'), + name='login', + kwargs={'authentication_form': LoginForm}), + re_path(r'^register/$', + views.RegisterView.as_view(success_url="/"), + name='register'), + re_path(r'^logout/$', + views.LogoutView.as_view(), + name='logout'), + path(r'account/result.html', + views.account_result, + name='result'), + re_path(r'^forget_password/$', + views.ForgetPasswordView.as_view(), + name='forget_password'), + re_path(r'^forget_password_code/$', + views.ForgetPasswordEmailCode.as_view(), + name='forget_password_code'), + ] diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/accounts/user_login_backend.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/accounts/user_login_backend.py new file mode 100644 index 0000000..73cdca1 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/accounts/user_login_backend.py @@ -0,0 +1,26 @@ +from django.contrib.auth import get_user_model +from django.contrib.auth.backends import ModelBackend + + +class EmailOrUsernameModelBackend(ModelBackend): + """ + 允许使用用户名或邮箱登录 + """ + + def authenticate(self, request, username=None, password=None, **kwargs): + if '@' in username: + kwargs = {'email': username} + else: + kwargs = {'username': username} + try: + user = get_user_model().objects.get(**kwargs) + if user.check_password(password): + return user + except get_user_model().DoesNotExist: + return None + + def get_user(self, username): + try: + return get_user_model().objects.get(pk=username) + except get_user_model().DoesNotExist: + return None diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/accounts/utils.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/accounts/utils.py new file mode 100644 index 0000000..4b94bdf --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/accounts/utils.py @@ -0,0 +1,49 @@ +import typing +from datetime import timedelta + +from django.core.cache import cache +from django.utils.translation import gettext +from django.utils.translation import gettext_lazy as _ + +from djangoblog.utils import send_email + +_code_ttl = timedelta(minutes=5) + + +def send_verify_email(to_mail: str, code: str, subject: str = _("Verify Email")): + """发送重设密码验证码 + Args: + to_mail: 接受邮箱 + subject: 邮件主题 + code: 验证码 + """ + html_content = _( + "You are resetting the password, the verification code is:%(code)s, valid within 5 minutes, please keep it " + "properly") % {'code': code} + send_email([to_mail], subject, html_content) + + +def verify(email: str, code: str) -> typing.Optional[str]: + """验证code是否有效 + Args: + email: 请求邮箱 + code: 验证码 + Return: + 如果有错误就返回错误str + Node: + 这里的错误处理不太合理,应该采用raise抛出 + 否测调用方也需要对error进行处理 + """ + cache_code = get_code(email) + if cache_code != code: + return gettext("Verification code error") + + +def set_code(email: str, code: str): + """设置code""" + cache.set(email, code, _code_ttl.seconds) + + +def get_code(email: str) -> typing.Optional[str]: + """获取code""" + return cache.get(email) diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/accounts/views.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/accounts/views.py new file mode 100644 index 0000000..ae67aec --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/accounts/views.py @@ -0,0 +1,204 @@ +import logging +from django.utils.translation import gettext_lazy as _ +from django.conf import settings +from django.contrib import auth +from django.contrib.auth import REDIRECT_FIELD_NAME +from django.contrib.auth import get_user_model +from django.contrib.auth import logout +from django.contrib.auth.forms import AuthenticationForm +from django.contrib.auth.hashers import make_password +from django.http import HttpResponseRedirect, HttpResponseForbidden +from django.http.request import HttpRequest +from django.http.response import HttpResponse +from django.shortcuts import get_object_or_404 +from django.shortcuts import render +from django.urls import reverse +from django.utils.decorators import method_decorator +from django.utils.http import url_has_allowed_host_and_scheme +from django.views import View +from django.views.decorators.cache import never_cache +from django.views.decorators.csrf import csrf_protect +from django.views.decorators.debug import sensitive_post_parameters +from django.views.generic import FormView, RedirectView + +from djangoblog.utils import send_email, get_sha256, get_current_site, generate_code, delete_sidebar_cache +from . import utils +from .forms import RegisterForm, LoginForm, ForgetPasswordForm, ForgetPasswordCodeForm +from .models import BlogUser + +logger = logging.getLogger(__name__) + + +# Create your views here. + +class RegisterView(FormView): + form_class = RegisterForm + template_name = 'account/registration_form.html' + + @method_decorator(csrf_protect) + def dispatch(self, *args, **kwargs): + return super(RegisterView, self).dispatch(*args, **kwargs) + + def form_valid(self, form): + if form.is_valid(): + user = form.save(False) + user.is_active = False + user.source = 'Register' + user.save(True) + site = get_current_site().domain + sign = get_sha256(get_sha256(settings.SECRET_KEY + str(user.id))) + + if settings.DEBUG: + site = '127.0.0.1:8000' + path = reverse('account:result') + url = "http://{site}{path}?type=validation&id={id}&sign={sign}".format( + site=site, path=path, id=user.id, sign=sign) + + content = """ +

请点击下面链接验证您的邮箱

+ + {url} + + 再次感谢您! +
+ 如果上面链接无法打开,请将此链接复制至浏览器。 + {url} + """.format(url=url) + send_email( + emailto=[ + user.email, + ], + title='验证您的电子邮箱', + content=content) + + url = reverse('accounts:result') + \ + '?type=register&id=' + str(user.id) + return HttpResponseRedirect(url) + else: + return self.render_to_response({ + 'form': form + }) + + +class LogoutView(RedirectView): + url = '/login/' + + @method_decorator(never_cache) + def dispatch(self, request, *args, **kwargs): + return super(LogoutView, self).dispatch(request, *args, **kwargs) + + def get(self, request, *args, **kwargs): + logout(request) + delete_sidebar_cache() + return super(LogoutView, self).get(request, *args, **kwargs) + + +class LoginView(FormView): + form_class = LoginForm + template_name = 'account/login.html' + success_url = '/' + redirect_field_name = REDIRECT_FIELD_NAME + login_ttl = 2626560 # 一个月的时间 + + @method_decorator(sensitive_post_parameters('password')) + @method_decorator(csrf_protect) + @method_decorator(never_cache) + def dispatch(self, request, *args, **kwargs): + + return super(LoginView, self).dispatch(request, *args, **kwargs) + + def get_context_data(self, **kwargs): + redirect_to = self.request.GET.get(self.redirect_field_name) + if redirect_to is None: + redirect_to = '/' + kwargs['redirect_to'] = redirect_to + + return super(LoginView, self).get_context_data(**kwargs) + + def form_valid(self, form): + form = AuthenticationForm(data=self.request.POST, request=self.request) + + if form.is_valid(): + delete_sidebar_cache() + logger.info(self.redirect_field_name) + + auth.login(self.request, form.get_user()) + if self.request.POST.get("remember"): + self.request.session.set_expiry(self.login_ttl) + return super(LoginView, self).form_valid(form) + # return HttpResponseRedirect('/') + else: + return self.render_to_response({ + 'form': form + }) + + def get_success_url(self): + + redirect_to = self.request.POST.get(self.redirect_field_name) + if not url_has_allowed_host_and_scheme( + url=redirect_to, allowed_hosts=[ + self.request.get_host()]): + redirect_to = self.success_url + return redirect_to + + +def account_result(request): + type = request.GET.get('type') + id = request.GET.get('id') + + user = get_object_or_404(get_user_model(), id=id) + logger.info(type) + if user.is_active: + return HttpResponseRedirect('/') + if type and type in ['register', 'validation']: + if type == 'register': + content = ''' + 恭喜您注册成功,一封验证邮件已经发送到您的邮箱,请验证您的邮箱后登录本站。 + ''' + title = '注册成功' + else: + c_sign = get_sha256(get_sha256(settings.SECRET_KEY + str(user.id))) + sign = request.GET.get('sign') + if sign != c_sign: + return HttpResponseForbidden() + user.is_active = True + user.save() + content = ''' + 恭喜您已经成功的完成邮箱验证,您现在可以使用您的账号来登录本站。 + ''' + title = '验证成功' + return render(request, 'account/result.html', { + 'title': title, + 'content': content + }) + else: + return HttpResponseRedirect('/') + + +class ForgetPasswordView(FormView): + form_class = ForgetPasswordForm + template_name = 'account/forget_password.html' + + def form_valid(self, form): + if form.is_valid(): + blog_user = BlogUser.objects.filter(email=form.cleaned_data.get("email")).get() + blog_user.password = make_password(form.cleaned_data["new_password2"]) + blog_user.save() + return HttpResponseRedirect('/login/') + else: + return self.render_to_response({'form': form}) + + +class ForgetPasswordEmailCode(View): + + def post(self, request: HttpRequest): + form = ForgetPasswordCodeForm(request.POST) + if not form.is_valid(): + return HttpResponse("错误的邮箱") + to_email = form.cleaned_data["email"] + + code = generate_code() + utils.send_verify_email(to_email, code) + utils.set_code(to_email, code) + + return HttpResponse("ok") diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/__init__.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/admin.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/admin.py new file mode 100644 index 0000000..46c3420 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/admin.py @@ -0,0 +1,112 @@ +from django import forms +from django.contrib import admin +from django.contrib.auth import get_user_model +from django.urls import reverse +from django.utils.html import format_html +from django.utils.translation import gettext_lazy as _ + +# Register your models here. +from .models import Article + + +class ArticleForm(forms.ModelForm): + # body = forms.CharField(widget=AdminPagedownWidget()) + + class Meta: + model = Article + fields = '__all__' + + +def makr_article_publish(modeladmin, request, queryset): + queryset.update(status='p') + + +def draft_article(modeladmin, request, queryset): + queryset.update(status='d') + + +def close_article_commentstatus(modeladmin, request, queryset): + queryset.update(comment_status='c') + + +def open_article_commentstatus(modeladmin, request, queryset): + queryset.update(comment_status='o') + + +makr_article_publish.short_description = _('Publish selected articles') +draft_article.short_description = _('Draft selected articles') +close_article_commentstatus.short_description = _('Close article comments') +open_article_commentstatus.short_description = _('Open article comments') + + +class ArticlelAdmin(admin.ModelAdmin): + list_per_page = 20 + search_fields = ('body', 'title') + form = ArticleForm + list_display = ( + 'id', + 'title', + 'author', + 'link_to_category', + 'creation_time', + 'views', + 'status', + 'type', + 'article_order') + list_display_links = ('id', 'title') + list_filter = ('status', 'type', 'category') + filter_horizontal = ('tags',) + exclude = ('creation_time', 'last_modify_time') + view_on_site = True + actions = [ + makr_article_publish, + draft_article, + close_article_commentstatus, + open_article_commentstatus] + + def link_to_category(self, obj): + info = (obj.category._meta.app_label, obj.category._meta.model_name) + link = reverse('admin:%s_%s_change' % info, args=(obj.category.id,)) + return format_html(u'%s' % (link, obj.category.name)) + + link_to_category.short_description = _('category') + + def get_form(self, request, obj=None, **kwargs): + form = super(ArticlelAdmin, self).get_form(request, obj, **kwargs) + form.base_fields['author'].queryset = get_user_model( + ).objects.filter(is_superuser=True) + return form + + def save_model(self, request, obj, form, change): + super(ArticlelAdmin, self).save_model(request, obj, form, change) + + def get_view_on_site_url(self, obj=None): + if obj: + url = obj.get_full_url() + return url + else: + from djangoblog.utils import get_current_site + site = get_current_site().domain + return site + + +class TagAdmin(admin.ModelAdmin): + exclude = ('slug', 'last_mod_time', 'creation_time') + + +class CategoryAdmin(admin.ModelAdmin): + list_display = ('name', 'parent_category', 'index') + exclude = ('slug', 'last_mod_time', 'creation_time') + + +class LinksAdmin(admin.ModelAdmin): + exclude = ('last_mod_time', 'creation_time') + + +class SideBarAdmin(admin.ModelAdmin): + list_display = ('name', 'content', 'is_enable', 'sequence') + exclude = ('last_mod_time', 'creation_time') + + +class BlogSettingsAdmin(admin.ModelAdmin): + pass diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/apps.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/apps.py new file mode 100644 index 0000000..7930587 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/apps.py @@ -0,0 +1,5 @@ +from django.apps import AppConfig + + +class BlogConfig(AppConfig): + name = 'blog' diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/context_processors.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/context_processors.py new file mode 100644 index 0000000..4a62f34 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/context_processors.py @@ -0,0 +1,88 @@ +# 导入日志模块,用于记录系统运行时的信息和错误 +import logging + +# 导入Django的时间工具,用于获取当前时间 +from django.utils import timezone + +# 导入自定义工具:缓存工具和获取博客设置的方法 +from djangoblog.utils import cache, get_blog_setting +# 导入当前应用的模型:分类和文章模型 +from .models import Category, Article + +# 创建日志记录器,用于记录当前模块的日志信息 +logger = logging.getLogger(__name__) + + +def seo_processor(requests): + """ + 自定义上下文处理器:用于在所有模板中全局共享SEO相关的配置和数据 + 上下文处理器会在每次请求时被调用,返回的字典会自动注入到所有模板中 + + Args: + requests: HttpRequest对象,包含当前请求的信息(如协议、主机等) + + Returns: + dict: 包含网站配置、导航数据等的字典,供模板全局使用 + """ + # 定义缓存键,用于标识当前处理器的缓存数据 + key = 'seo_processor' + # 尝试从缓存中获取数据,减少数据库查询和计算开销 + value = cache.get(key) + + # 如果缓存中存在数据,直接返回缓存内容 + if value: + return value + else: + # 缓存未命中时,记录日志并重新计算数据 + logger.info('set processor cache.') + # 获取博客的全局设置(从数据库或其他配置源) + setting = get_blog_setting() + + # 构建需要返回给模板的数据集 + value = { + # 网站名称(用于页面标题等) + 'SITE_NAME': setting.site_name, + # 是否显示谷歌广告 + 'SHOW_GOOGLE_ADSENSE': setting.show_google_adsense, + # 谷歌广告代码 + 'GOOGLE_ADSENSE_CODES': setting.google_adsense_codes, + # 网站SEO描述(用于meta标签) + 'SITE_SEO_DESCRIPTION': setting.site_seo_description, + # 网站描述(用于页面展示) + 'SITE_DESCRIPTION': setting.site_description, + # 网站关键词(用于meta标签,提升SEO) + 'SITE_KEYWORDS': setting.site_keywords, + # 网站基础URL(协议+域名,如https://example.com/) + 'SITE_BASE_URL': requests.scheme + '://' + requests.get_host() + '/', + # 文章摘要长度(用于列表页显示) + 'ARTICLE_SUB_LENGTH': setting.article_sub_length, + # 导航栏显示的分类列表(从数据库查询所有分类) + 'nav_category_list': Category.objects.all(), + # 导航栏显示的页面列表(筛选类型为"页面"且状态为"已发布"的文章) + 'nav_pages': Article.objects.filter( + type='p', # 'p'表示页面(page),区别于普通文章(article) + status='p'), # 'p'表示已发布(published) + # 是否开启网站评论功能 + 'OPEN_SITE_COMMENT': setting.open_site_comment, + # 网站备案号 + 'BEIAN_CODE': setting.beian_code, + # 网站统计代码(如百度统计、Google Analytics) + 'ANALYTICS_CODE': setting.analytics_code, + # 公安备案号 + "BEIAN_CODE_GONGAN": setting.gongan_beiancode, + # 是否显示公安备案号 + "SHOW_GONGAN_CODE": setting.show_gongan_code, + # 当前年份(用于页脚版权信息等) + "CURRENT_YEAR": timezone.now().year, + # 全局页头代码(如自定义CSS、JS) + "GLOBAL_HEADER": setting.global_header, + # 全局页脚代码 + "GLOBAL_FOOTER": setting.global_footer, + # 评论是否需要审核后才显示 + "COMMENT_NEED_REVIEW": setting.comment_need_review, + } + + # 将数据存入缓存,有效期为10小时(60秒*60分*10小时) + # 减少重复计算和数据库查询,提升性能 + cache.set(key, value, 60 * 60 * 10) + return value \ No newline at end of file diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/documents.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/documents.py new file mode 100644 index 0000000..0f1db7b --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/documents.py @@ -0,0 +1,213 @@ +import time + +import elasticsearch.client +from django.conf import settings +from elasticsearch_dsl import Document, InnerDoc, Date, Integer, Long, Text, Object, GeoPoint, Keyword, Boolean +from elasticsearch_dsl.connections import connections + +from blog.models import Article + +ELASTICSEARCH_ENABLED = hasattr(settings, 'ELASTICSEARCH_DSL') + +if ELASTICSEARCH_ENABLED: + connections.create_connection( + hosts=[settings.ELASTICSEARCH_DSL['default']['hosts']]) + from elasticsearch import Elasticsearch + + es = Elasticsearch(settings.ELASTICSEARCH_DSL['default']['hosts']) + from elasticsearch.client import IngestClient + + c = IngestClient(es) + try: + c.get_pipeline('geoip') + except elasticsearch.exceptions.NotFoundError: + c.put_pipeline('geoip', body='''{ + "description" : "Add geoip info", + "processors" : [ + { + "geoip" : { + "field" : "ip" + } + } + ] + }''') + + +class GeoIp(InnerDoc): + continent_name = Keyword() + country_iso_code = Keyword() + country_name = Keyword() + location = GeoPoint() + + +class UserAgentBrowser(InnerDoc): + Family = Keyword() + Version = Keyword() + + +class UserAgentOS(UserAgentBrowser): + pass + + +class UserAgentDevice(InnerDoc): + Family = Keyword() + Brand = Keyword() + Model = Keyword() + + +class UserAgent(InnerDoc): + browser = Object(UserAgentBrowser, required=False) + os = Object(UserAgentOS, required=False) + device = Object(UserAgentDevice, required=False) + string = Text() + is_bot = Boolean() + + +class ElapsedTimeDocument(Document): + url = Keyword() + time_taken = Long() + log_datetime = Date() + ip = Keyword() + geoip = Object(GeoIp, required=False) + useragent = Object(UserAgent, required=False) + + class Index: + name = 'performance' + settings = { + "number_of_shards": 1, + "number_of_replicas": 0 + } + + class Meta: + doc_type = 'ElapsedTime' + + +class ElaspedTimeDocumentManager: + @staticmethod + def build_index(): + from elasticsearch import Elasticsearch + client = Elasticsearch(settings.ELASTICSEARCH_DSL['default']['hosts']) + res = client.indices.exists(index="performance") + if not res: + ElapsedTimeDocument.init() + + @staticmethod + def delete_index(): + from elasticsearch import Elasticsearch + es = Elasticsearch(settings.ELASTICSEARCH_DSL['default']['hosts']) + es.indices.delete(index='performance', ignore=[400, 404]) + + @staticmethod + def create(url, time_taken, log_datetime, useragent, ip): + ElaspedTimeDocumentManager.build_index() + ua = UserAgent() + ua.browser = UserAgentBrowser() + ua.browser.Family = useragent.browser.family + ua.browser.Version = useragent.browser.version_string + + ua.os = UserAgentOS() + ua.os.Family = useragent.os.family + ua.os.Version = useragent.os.version_string + + ua.device = UserAgentDevice() + ua.device.Family = useragent.device.family + ua.device.Brand = useragent.device.brand + ua.device.Model = useragent.device.model + ua.string = useragent.ua_string + ua.is_bot = useragent.is_bot + + doc = ElapsedTimeDocument( + meta={ + 'id': int( + round( + time.time() * + 1000)) + }, + url=url, + time_taken=time_taken, + log_datetime=log_datetime, + useragent=ua, ip=ip) + doc.save(pipeline="geoip") + + +class ArticleDocument(Document): + body = Text(analyzer='ik_max_word', search_analyzer='ik_smart') + title = Text(analyzer='ik_max_word', search_analyzer='ik_smart') + author = Object(properties={ + 'nickname': Text(analyzer='ik_max_word', search_analyzer='ik_smart'), + 'id': Integer() + }) + category = Object(properties={ + 'name': Text(analyzer='ik_max_word', search_analyzer='ik_smart'), + 'id': Integer() + }) + tags = Object(properties={ + 'name': Text(analyzer='ik_max_word', search_analyzer='ik_smart'), + 'id': Integer() + }) + + pub_time = Date() + status = Text() + comment_status = Text() + type = Text() + views = Integer() + article_order = Integer() + + class Index: + name = 'blog' + settings = { + "number_of_shards": 1, + "number_of_replicas": 0 + } + + class Meta: + doc_type = 'Article' + + +class ArticleDocumentManager(): + + def __init__(self): + self.create_index() + + def create_index(self): + ArticleDocument.init() + + def delete_index(self): + from elasticsearch import Elasticsearch + es = Elasticsearch(settings.ELASTICSEARCH_DSL['default']['hosts']) + es.indices.delete(index='blog', ignore=[400, 404]) + + def convert_to_doc(self, articles): + return [ + ArticleDocument( + meta={ + 'id': article.id}, + body=article.body, + title=article.title, + author={ + 'nickname': article.author.username, + 'id': article.author.id}, + category={ + 'name': article.category.name, + 'id': article.category.id}, + tags=[ + { + 'name': t.name, + 'id': t.id} for t in article.tags.all()], + pub_time=article.pub_time, + status=article.status, + comment_status=article.comment_status, + type=article.type, + views=article.views, + article_order=article.article_order) for article in articles] + + def rebuild(self, articles=None): + ArticleDocument.init() + articles = articles if articles else Article.objects.all() + docs = self.convert_to_doc(articles) + for doc in docs: + doc.save() + + def update_docs(self, docs): + for doc in docs: + doc.save() diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/forms.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/forms.py new file mode 100644 index 0000000..715be76 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/forms.py @@ -0,0 +1,19 @@ +import logging + +from django import forms +from haystack.forms import SearchForm + +logger = logging.getLogger(__name__) + + +class BlogSearchForm(SearchForm): + querydata = forms.CharField(required=True) + + def search(self): + datas = super(BlogSearchForm, self).search() + if not self.is_valid(): + return self.no_query_found() + + if self.cleaned_data['querydata']: + logger.info(self.cleaned_data['querydata']) + return datas diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/management/__init__.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/management/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/management/commands/__init__.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/management/commands/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/management/commands/build_index.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/management/commands/build_index.py new file mode 100644 index 0000000..3c4acd7 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/management/commands/build_index.py @@ -0,0 +1,18 @@ +from django.core.management.base import BaseCommand + +from blog.documents import ElapsedTimeDocument, ArticleDocumentManager, ElaspedTimeDocumentManager, \ + ELASTICSEARCH_ENABLED + + +# TODO 参数化 +class Command(BaseCommand): + help = 'build search index' + + def handle(self, *args, **options): + if ELASTICSEARCH_ENABLED: + ElaspedTimeDocumentManager.build_index() + manager = ElapsedTimeDocument() + manager.init() + manager = ArticleDocumentManager() + manager.delete_index() + manager.rebuild() diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/management/commands/build_search_words.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/management/commands/build_search_words.py new file mode 100644 index 0000000..cfe7e0d --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/management/commands/build_search_words.py @@ -0,0 +1,13 @@ +from django.core.management.base import BaseCommand + +from blog.models import Tag, Category + + +# TODO 参数化 +class Command(BaseCommand): + help = 'build search words' + + def handle(self, *args, **options): + datas = set([t.name for t in Tag.objects.all()] + + [t.name for t in Category.objects.all()]) + print('\n'.join(datas)) diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/management/commands/clear_cache.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/management/commands/clear_cache.py new file mode 100644 index 0000000..0d66172 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/management/commands/clear_cache.py @@ -0,0 +1,11 @@ +from django.core.management.base import BaseCommand + +from djangoblog.utils import cache + + +class Command(BaseCommand): + help = 'clear the whole cache' + + def handle(self, *args, **options): + cache.clear() + self.stdout.write(self.style.SUCCESS('Cleared cache\n')) diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/management/commands/create_testdata.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/management/commands/create_testdata.py new file mode 100644 index 0000000..675d2ba --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/management/commands/create_testdata.py @@ -0,0 +1,40 @@ +from django.contrib.auth import get_user_model +from django.contrib.auth.hashers import make_password +from django.core.management.base import BaseCommand + +from blog.models import Article, Tag, Category + + +class Command(BaseCommand): + help = 'create test datas' + + def handle(self, *args, **options): + user = get_user_model().objects.get_or_create( + email='test@test.com', username='测试用户', password=make_password('test!q@w#eTYU'))[0] + + pcategory = Category.objects.get_or_create( + name='我是父类目', parent_category=None)[0] + + category = Category.objects.get_or_create( + name='子类目', parent_category=pcategory)[0] + + category.save() + basetag = Tag() + basetag.name = "标签" + basetag.save() + for i in range(1, 20): + article = Article.objects.get_or_create( + category=category, + title='nice title ' + str(i), + body='nice content ' + str(i), + author=user)[0] + tag = Tag() + tag.name = "标签" + str(i) + tag.save() + article.tags.add(tag) + article.tags.add(basetag) + article.save() + + from djangoblog.utils import cache + cache.clear() + self.stdout.write(self.style.SUCCESS('created test datas \n')) diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/management/commands/ping_baidu.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/management/commands/ping_baidu.py new file mode 100644 index 0000000..2c7fbdd --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/management/commands/ping_baidu.py @@ -0,0 +1,50 @@ +from django.core.management.base import BaseCommand + +from djangoblog.spider_notify import SpiderNotify +from djangoblog.utils import get_current_site +from blog.models import Article, Tag, Category + +site = get_current_site().domain + + +class Command(BaseCommand): + help = 'notify baidu url' + + def add_arguments(self, parser): + parser.add_argument( + 'data_type', + type=str, + choices=[ + 'all', + 'article', + 'tag', + 'category'], + help='article : all article,tag : all tag,category: all category,all: All of these') + + def get_full_url(self, path): + url = "https://{site}{path}".format(site=site, path=path) + return url + + def handle(self, *args, **options): + type = options['data_type'] + self.stdout.write('start get %s' % type) + + urls = [] + if type == 'article' or type == 'all': + for article in Article.objects.filter(status='p'): + urls.append(article.get_full_url()) + if type == 'tag' or type == 'all': + for tag in Tag.objects.all(): + url = tag.get_absolute_url() + urls.append(self.get_full_url(url)) + if type == 'category' or type == 'all': + for category in Category.objects.all(): + url = category.get_absolute_url() + urls.append(self.get_full_url(url)) + + self.stdout.write( + self.style.SUCCESS( + 'start notify %d urls' % + len(urls))) + SpiderNotify.baidu_notify(urls) + self.stdout.write(self.style.SUCCESS('finish notify')) diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/management/commands/sync_user_avatar.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/management/commands/sync_user_avatar.py new file mode 100644 index 0000000..d0f4612 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/management/commands/sync_user_avatar.py @@ -0,0 +1,47 @@ +import requests +from django.core.management.base import BaseCommand +from django.templatetags.static import static + +from djangoblog.utils import save_user_avatar +from oauth.models import OAuthUser +from oauth.oauthmanager import get_manager_by_type + + +class Command(BaseCommand): + help = 'sync user avatar' + + def test_picture(self, url): + try: + if requests.get(url, timeout=2).status_code == 200: + return True + except: + pass + + def handle(self, *args, **options): + static_url = static("../") + users = OAuthUser.objects.all() + self.stdout.write(f'开始同步{len(users)}个用户头像') + for u in users: + self.stdout.write(f'开始同步:{u.nickname}') + url = u.picture + if url: + if url.startswith(static_url): + if self.test_picture(url): + continue + else: + if u.metadata: + manage = get_manager_by_type(u.type) + url = manage.get_picture(u.metadata) + url = save_user_avatar(url) + else: + url = static('blog/img/avatar.png') + else: + url = save_user_avatar(url) + else: + url = static('blog/img/avatar.png') + if url: + self.stdout.write( + f'结束同步:{u.nickname}.url:{url}') + u.picture = url + u.save() + self.stdout.write('结束同步') diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/middleware.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/middleware.py new file mode 100644 index 0000000..94dd70c --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/middleware.py @@ -0,0 +1,42 @@ +import logging +import time + +from ipware import get_client_ip +from user_agents import parse + +from blog.documents import ELASTICSEARCH_ENABLED, ElaspedTimeDocumentManager + +logger = logging.getLogger(__name__) + + +class OnlineMiddleware(object): + def __init__(self, get_response=None): + self.get_response = get_response + super().__init__() + + def __call__(self, request): + ''' page render time ''' + start_time = time.time() + response = self.get_response(request) + http_user_agent = request.META.get('HTTP_USER_AGENT', '') + ip, _ = get_client_ip(request) + user_agent = parse(http_user_agent) + if not response.streaming: + try: + cast_time = time.time() - start_time + if ELASTICSEARCH_ENABLED: + time_taken = round((cast_time) * 1000, 2) + url = request.path + from django.utils import timezone + ElaspedTimeDocumentManager.create( + url=url, + time_taken=time_taken, + log_datetime=timezone.now(), + useragent=user_agent, + ip=ip) + response.content = response.content.replace( + b'', str.encode(str(cast_time)[:5])) + except Exception as e: + logger.error("Error OnlineMiddleware: %s" % e) + + return response diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/migrations/0001_initial.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/migrations/0001_initial.py new file mode 100644 index 0000000..3d391b6 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/migrations/0001_initial.py @@ -0,0 +1,137 @@ +# Generated by Django 4.1.7 on 2023-03-02 07:14 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion +import django.utils.timezone +import mdeditor.fields + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ] + + operations = [ + migrations.CreateModel( + name='BlogSettings', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('sitename', models.CharField(default='', max_length=200, verbose_name='网站名称')), + ('site_description', models.TextField(default='', max_length=1000, verbose_name='网站描述')), + ('site_seo_description', models.TextField(default='', max_length=1000, verbose_name='网站SEO描述')), + ('site_keywords', models.TextField(default='', max_length=1000, verbose_name='网站关键字')), + ('article_sub_length', models.IntegerField(default=300, verbose_name='文章摘要长度')), + ('sidebar_article_count', models.IntegerField(default=10, verbose_name='侧边栏文章数目')), + ('sidebar_comment_count', models.IntegerField(default=5, verbose_name='侧边栏评论数目')), + ('article_comment_count', models.IntegerField(default=5, verbose_name='文章页面默认显示评论数目')), + ('show_google_adsense', models.BooleanField(default=False, verbose_name='是否显示谷歌广告')), + ('google_adsense_codes', models.TextField(blank=True, default='', max_length=2000, null=True, verbose_name='广告内容')), + ('open_site_comment', models.BooleanField(default=True, verbose_name='是否打开网站评论功能')), + ('beiancode', models.CharField(blank=True, default='', max_length=2000, null=True, verbose_name='备案号')), + ('analyticscode', models.TextField(default='', max_length=1000, verbose_name='网站统计代码')), + ('show_gongan_code', models.BooleanField(default=False, verbose_name='是否显示公安备案号')), + ('gongan_beiancode', models.TextField(blank=True, default='', max_length=2000, null=True, verbose_name='公安备案号')), + ], + options={ + 'verbose_name': '网站配置', + 'verbose_name_plural': '网站配置', + }, + ), + migrations.CreateModel( + name='Links', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=30, unique=True, verbose_name='链接名称')), + ('link', models.URLField(verbose_name='链接地址')), + ('sequence', models.IntegerField(unique=True, verbose_name='排序')), + ('is_enable', models.BooleanField(default=True, verbose_name='是否显示')), + ('show_type', models.CharField(choices=[('i', '首页'), ('l', '列表页'), ('p', '文章页面'), ('a', '全站'), ('s', '友情链接页面')], default='i', max_length=1, verbose_name='显示类型')), + ('created_time', models.DateTimeField(default=django.utils.timezone.now, verbose_name='创建时间')), + ('last_mod_time', models.DateTimeField(default=django.utils.timezone.now, verbose_name='修改时间')), + ], + options={ + 'verbose_name': '友情链接', + 'verbose_name_plural': '友情链接', + 'ordering': ['sequence'], + }, + ), + migrations.CreateModel( + name='SideBar', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=100, verbose_name='标题')), + ('content', models.TextField(verbose_name='内容')), + ('sequence', models.IntegerField(unique=True, verbose_name='排序')), + ('is_enable', models.BooleanField(default=True, verbose_name='是否启用')), + ('created_time', models.DateTimeField(default=django.utils.timezone.now, verbose_name='创建时间')), + ('last_mod_time', models.DateTimeField(default=django.utils.timezone.now, verbose_name='修改时间')), + ], + options={ + 'verbose_name': '侧边栏', + 'verbose_name_plural': '侧边栏', + 'ordering': ['sequence'], + }, + ), + migrations.CreateModel( + name='Tag', + fields=[ + ('id', models.AutoField(primary_key=True, serialize=False)), + ('created_time', models.DateTimeField(default=django.utils.timezone.now, verbose_name='创建时间')), + ('last_mod_time', models.DateTimeField(default=django.utils.timezone.now, verbose_name='修改时间')), + ('name', models.CharField(max_length=30, unique=True, verbose_name='标签名')), + ('slug', models.SlugField(blank=True, default='no-slug', max_length=60)), + ], + options={ + 'verbose_name': '标签', + 'verbose_name_plural': '标签', + 'ordering': ['name'], + }, + ), + migrations.CreateModel( + name='Category', + fields=[ + ('id', models.AutoField(primary_key=True, serialize=False)), + ('created_time', models.DateTimeField(default=django.utils.timezone.now, verbose_name='创建时间')), + ('last_mod_time', models.DateTimeField(default=django.utils.timezone.now, verbose_name='修改时间')), + ('name', models.CharField(max_length=30, unique=True, verbose_name='分类名')), + ('slug', models.SlugField(blank=True, default='no-slug', max_length=60)), + ('index', models.IntegerField(default=0, verbose_name='权重排序-越大越靠前')), + ('parent_category', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='blog.category', verbose_name='父级分类')), + ], + options={ + 'verbose_name': '分类', + 'verbose_name_plural': '分类', + 'ordering': ['-index'], + }, + ), + migrations.CreateModel( + name='Article', + fields=[ + ('id', models.AutoField(primary_key=True, serialize=False)), + ('created_time', models.DateTimeField(default=django.utils.timezone.now, verbose_name='创建时间')), + ('last_mod_time', models.DateTimeField(default=django.utils.timezone.now, verbose_name='修改时间')), + ('title', models.CharField(max_length=200, unique=True, verbose_name='标题')), + ('body', mdeditor.fields.MDTextField(verbose_name='正文')), + ('pub_time', models.DateTimeField(default=django.utils.timezone.now, verbose_name='发布时间')), + ('status', models.CharField(choices=[('d', '草稿'), ('p', '发表')], default='p', max_length=1, verbose_name='文章状态')), + ('comment_status', models.CharField(choices=[('o', '打开'), ('c', '关闭')], default='o', max_length=1, verbose_name='评论状态')), + ('type', models.CharField(choices=[('a', '文章'), ('p', '页面')], default='a', max_length=1, verbose_name='类型')), + ('views', models.PositiveIntegerField(default=0, verbose_name='浏览量')), + ('article_order', models.IntegerField(default=0, verbose_name='排序,数字越大越靠前')), + ('show_toc', models.BooleanField(default=False, verbose_name='是否显示toc目录')), + ('author', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='作者')), + ('category', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='blog.category', verbose_name='分类')), + ('tags', models.ManyToManyField(blank=True, to='blog.tag', verbose_name='标签集合')), + ], + options={ + 'verbose_name': '文章', + 'verbose_name_plural': '文章', + 'ordering': ['-article_order', '-pub_time'], + 'get_latest_by': 'id', + }, + ), + ] diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/migrations/0002_blogsettings_global_footer_and_more.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/migrations/0002_blogsettings_global_footer_and_more.py new file mode 100644 index 0000000..adbaa36 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/migrations/0002_blogsettings_global_footer_and_more.py @@ -0,0 +1,23 @@ +# Generated by Django 4.1.7 on 2023-03-29 06:08 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('blog', '0001_initial'), + ] + + operations = [ + migrations.AddField( + model_name='blogsettings', + name='global_footer', + field=models.TextField(blank=True, default='', null=True, verbose_name='公共尾部'), + ), + migrations.AddField( + model_name='blogsettings', + name='global_header', + field=models.TextField(blank=True, default='', null=True, verbose_name='公共头部'), + ), + ] diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/migrations/0003_blogsettings_comment_need_review.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/migrations/0003_blogsettings_comment_need_review.py new file mode 100644 index 0000000..e9f5502 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/migrations/0003_blogsettings_comment_need_review.py @@ -0,0 +1,17 @@ +# Generated by Django 4.2.1 on 2023-05-09 07:45 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + dependencies = [ + ('blog', '0002_blogsettings_global_footer_and_more'), + ] + + operations = [ + migrations.AddField( + model_name='blogsettings', + name='comment_need_review', + field=models.BooleanField(default=False, verbose_name='评论是否需要审核'), + ), + ] diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/migrations/0004_rename_analyticscode_blogsettings_analytics_code_and_more.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/migrations/0004_rename_analyticscode_blogsettings_analytics_code_and_more.py new file mode 100644 index 0000000..ceb1398 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/migrations/0004_rename_analyticscode_blogsettings_analytics_code_and_more.py @@ -0,0 +1,27 @@ +# Generated by Django 4.2.1 on 2023-05-09 07:51 + +from django.db import migrations + + +class Migration(migrations.Migration): + dependencies = [ + ('blog', '0003_blogsettings_comment_need_review'), + ] + + operations = [ + migrations.RenameField( + model_name='blogsettings', + old_name='analyticscode', + new_name='analytics_code', + ), + migrations.RenameField( + model_name='blogsettings', + old_name='beiancode', + new_name='beian_code', + ), + migrations.RenameField( + model_name='blogsettings', + old_name='sitename', + new_name='site_name', + ), + ] diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/migrations/0005_alter_article_options_alter_category_options_and_more.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/migrations/0005_alter_article_options_alter_category_options_and_more.py new file mode 100644 index 0000000..d08e853 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/migrations/0005_alter_article_options_alter_category_options_and_more.py @@ -0,0 +1,300 @@ +# Generated by Django 4.2.5 on 2023-09-06 13:13 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion +import django.utils.timezone +import mdeditor.fields + + +class Migration(migrations.Migration): + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('blog', '0004_rename_analyticscode_blogsettings_analytics_code_and_more'), + ] + + operations = [ + migrations.AlterModelOptions( + name='article', + options={'get_latest_by': 'id', 'ordering': ['-article_order', '-pub_time'], 'verbose_name': 'article', 'verbose_name_plural': 'article'}, + ), + migrations.AlterModelOptions( + name='category', + options={'ordering': ['-index'], 'verbose_name': 'category', 'verbose_name_plural': 'category'}, + ), + migrations.AlterModelOptions( + name='links', + options={'ordering': ['sequence'], 'verbose_name': 'link', 'verbose_name_plural': 'link'}, + ), + migrations.AlterModelOptions( + name='sidebar', + options={'ordering': ['sequence'], 'verbose_name': 'sidebar', 'verbose_name_plural': 'sidebar'}, + ), + migrations.AlterModelOptions( + name='tag', + options={'ordering': ['name'], 'verbose_name': 'tag', 'verbose_name_plural': 'tag'}, + ), + migrations.RemoveField( + model_name='article', + name='created_time', + ), + migrations.RemoveField( + model_name='article', + name='last_mod_time', + ), + migrations.RemoveField( + model_name='category', + name='created_time', + ), + migrations.RemoveField( + model_name='category', + name='last_mod_time', + ), + migrations.RemoveField( + model_name='links', + name='created_time', + ), + migrations.RemoveField( + model_name='sidebar', + name='created_time', + ), + migrations.RemoveField( + model_name='tag', + name='created_time', + ), + migrations.RemoveField( + model_name='tag', + name='last_mod_time', + ), + migrations.AddField( + model_name='article', + name='creation_time', + field=models.DateTimeField(default=django.utils.timezone.now, verbose_name='creation time'), + ), + migrations.AddField( + model_name='article', + name='last_modify_time', + field=models.DateTimeField(default=django.utils.timezone.now, verbose_name='modify time'), + ), + migrations.AddField( + model_name='category', + name='creation_time', + field=models.DateTimeField(default=django.utils.timezone.now, verbose_name='creation time'), + ), + migrations.AddField( + model_name='category', + name='last_modify_time', + field=models.DateTimeField(default=django.utils.timezone.now, verbose_name='modify time'), + ), + migrations.AddField( + model_name='links', + name='creation_time', + field=models.DateTimeField(default=django.utils.timezone.now, verbose_name='creation time'), + ), + migrations.AddField( + model_name='sidebar', + name='creation_time', + field=models.DateTimeField(default=django.utils.timezone.now, verbose_name='creation time'), + ), + migrations.AddField( + model_name='tag', + name='creation_time', + field=models.DateTimeField(default=django.utils.timezone.now, verbose_name='creation time'), + ), + migrations.AddField( + model_name='tag', + name='last_modify_time', + field=models.DateTimeField(default=django.utils.timezone.now, verbose_name='modify time'), + ), + migrations.AlterField( + model_name='article', + name='article_order', + field=models.IntegerField(default=0, verbose_name='order'), + ), + migrations.AlterField( + model_name='article', + name='author', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='author'), + ), + migrations.AlterField( + model_name='article', + name='body', + field=mdeditor.fields.MDTextField(verbose_name='body'), + ), + migrations.AlterField( + model_name='article', + name='category', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='blog.category', verbose_name='category'), + ), + migrations.AlterField( + model_name='article', + name='comment_status', + field=models.CharField(choices=[('o', 'Open'), ('c', 'Close')], default='o', max_length=1, verbose_name='comment status'), + ), + migrations.AlterField( + model_name='article', + name='pub_time', + field=models.DateTimeField(default=django.utils.timezone.now, verbose_name='publish time'), + ), + migrations.AlterField( + model_name='article', + name='show_toc', + field=models.BooleanField(default=False, verbose_name='show toc'), + ), + migrations.AlterField( + model_name='article', + name='status', + field=models.CharField(choices=[('d', 'Draft'), ('p', 'Published')], default='p', max_length=1, verbose_name='status'), + ), + migrations.AlterField( + model_name='article', + name='tags', + field=models.ManyToManyField(blank=True, to='blog.tag', verbose_name='tag'), + ), + migrations.AlterField( + model_name='article', + name='title', + field=models.CharField(max_length=200, unique=True, verbose_name='title'), + ), + migrations.AlterField( + model_name='article', + name='type', + field=models.CharField(choices=[('a', 'Article'), ('p', 'Page')], default='a', max_length=1, verbose_name='type'), + ), + migrations.AlterField( + model_name='article', + name='views', + field=models.PositiveIntegerField(default=0, verbose_name='views'), + ), + migrations.AlterField( + model_name='blogsettings', + name='article_comment_count', + field=models.IntegerField(default=5, verbose_name='article comment count'), + ), + migrations.AlterField( + model_name='blogsettings', + name='article_sub_length', + field=models.IntegerField(default=300, verbose_name='article sub length'), + ), + migrations.AlterField( + model_name='blogsettings', + name='google_adsense_codes', + field=models.TextField(blank=True, default='', max_length=2000, null=True, verbose_name='adsense code'), + ), + migrations.AlterField( + model_name='blogsettings', + name='open_site_comment', + field=models.BooleanField(default=True, verbose_name='open site comment'), + ), + migrations.AlterField( + model_name='blogsettings', + name='show_google_adsense', + field=models.BooleanField(default=False, verbose_name='show adsense'), + ), + migrations.AlterField( + model_name='blogsettings', + name='sidebar_article_count', + field=models.IntegerField(default=10, verbose_name='sidebar article count'), + ), + migrations.AlterField( + model_name='blogsettings', + name='sidebar_comment_count', + field=models.IntegerField(default=5, verbose_name='sidebar comment count'), + ), + migrations.AlterField( + model_name='blogsettings', + name='site_description', + field=models.TextField(default='', max_length=1000, verbose_name='site description'), + ), + migrations.AlterField( + model_name='blogsettings', + name='site_keywords', + field=models.TextField(default='', max_length=1000, verbose_name='site keywords'), + ), + migrations.AlterField( + model_name='blogsettings', + name='site_name', + field=models.CharField(default='', max_length=200, verbose_name='site name'), + ), + migrations.AlterField( + model_name='blogsettings', + name='site_seo_description', + field=models.TextField(default='', max_length=1000, verbose_name='site seo description'), + ), + migrations.AlterField( + model_name='category', + name='index', + field=models.IntegerField(default=0, verbose_name='index'), + ), + migrations.AlterField( + model_name='category', + name='name', + field=models.CharField(max_length=30, unique=True, verbose_name='category name'), + ), + migrations.AlterField( + model_name='category', + name='parent_category', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='blog.category', verbose_name='parent category'), + ), + migrations.AlterField( + model_name='links', + name='is_enable', + field=models.BooleanField(default=True, verbose_name='is show'), + ), + migrations.AlterField( + model_name='links', + name='last_mod_time', + field=models.DateTimeField(default=django.utils.timezone.now, verbose_name='modify time'), + ), + migrations.AlterField( + model_name='links', + name='link', + field=models.URLField(verbose_name='link'), + ), + migrations.AlterField( + model_name='links', + name='name', + field=models.CharField(max_length=30, unique=True, verbose_name='link name'), + ), + migrations.AlterField( + model_name='links', + name='sequence', + field=models.IntegerField(unique=True, verbose_name='order'), + ), + migrations.AlterField( + model_name='links', + name='show_type', + field=models.CharField(choices=[('i', 'index'), ('l', 'list'), ('p', 'post'), ('a', 'all'), ('s', 'slide')], default='i', max_length=1, verbose_name='show type'), + ), + migrations.AlterField( + model_name='sidebar', + name='content', + field=models.TextField(verbose_name='content'), + ), + migrations.AlterField( + model_name='sidebar', + name='is_enable', + field=models.BooleanField(default=True, verbose_name='is enable'), + ), + migrations.AlterField( + model_name='sidebar', + name='last_mod_time', + field=models.DateTimeField(default=django.utils.timezone.now, verbose_name='modify time'), + ), + migrations.AlterField( + model_name='sidebar', + name='name', + field=models.CharField(max_length=100, verbose_name='title'), + ), + migrations.AlterField( + model_name='sidebar', + name='sequence', + field=models.IntegerField(unique=True, verbose_name='order'), + ), + migrations.AlterField( + model_name='tag', + name='name', + field=models.CharField(max_length=30, unique=True, verbose_name='tag name'), + ), + ] diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/migrations/0006_alter_blogsettings_options.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/migrations/0006_alter_blogsettings_options.py new file mode 100644 index 0000000..e36feb4 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/migrations/0006_alter_blogsettings_options.py @@ -0,0 +1,17 @@ +# Generated by Django 4.2.7 on 2024-01-26 02:41 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('blog', '0005_alter_article_options_alter_category_options_and_more'), + ] + + operations = [ + migrations.AlterModelOptions( + name='blogsettings', + options={'verbose_name': 'Website configuration', 'verbose_name_plural': 'Website configuration'}, + ), + ] diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/migrations/__init__.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/models.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/models.py new file mode 100644 index 0000000..f53cebb --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/models.py @@ -0,0 +1,427 @@ +import logging +import re +from abc import abstractmethod + +from django.conf import settings +from django.core.exceptions import ValidationError +from django.db import models +from django.urls import reverse +from django.utils.timezone import now +from django.utils.translation import gettext_lazy as _ +from mdeditor.fields import MDTextField +from uuslug import slugify + +from djangoblog.utils import cache_decorator, cache +from djangoblog.utils import get_current_site + +logger = logging.getLogger(__name__) + + +class LinkShowType(models.TextChoices): + # 定义友情链接显示类型的枚举类,分别对应首页、列表页、文章页、所有页面、轮播 + I = ('i', _('index')) + L = ('l', _('list')) + P = ('p', _('post')) + A = ('a', _('all')) + S = ('s', _('slide')) + + +class BaseModel(models.Model): + """ + 基础模型类,为其他模型提供通用的字段和方法 + """ + id = models.AutoField(primary_key=True) # 自增主键 + creation_time = models.DateTimeField(_('creation time'), default=now) # 创建时间 + last_modify_time = models.DateTimeField(_('modify time'), default=now) # 最后修改时间 + + def save(self, *args, **kwargs): + """ + 重写save方法,处理slug字段(如果模型有slug和title/name字段),并调用父类save方法 + 同时处理仅更新views字段的特殊情况 + """ + is_update_views = isinstance( + self, + Article) and 'update_fields' in kwargs and kwargs['update_fields'] == ['views'] + if is_update_views: + Article.objects.filter(pk=self.pk).update(views=self.views) + else: + # 如果模型有slug字段,生成slug(基于title或name字段) + if 'slug' in self.__dict__: + slug_source = getattr(self, 'title') if 'title' in self.__dict__ else getattr(self, 'name') + setattr(self, 'slug', slugify(slug_source)) + super().save(*args, **kwargs) + + def get_full_url(self): + """ + 获取模型对象的完整URL(包含域名) + """ + site = get_current_site().domain + url = "https://{site}{path}".format(site=site, + path=self.get_absolute_url()) + return url + + class Meta: + abstract = True # 抽象模型,不生成数据库表 + + @abstractmethod + def get_absolute_url(self): + """ + 抽象方法,子类必须实现,用于获取模型对象的绝对URL + """ + pass + + +class Article(BaseModel): + """ + 文章模型类,存储文章的相关信息 + """ + # 文章状态:草稿、已发布 + STATUS_CHOICES = ( + ('d', _('Draft')), + ('p', _('Published')), + ) + # 评论状态:开启、关闭 + COMMENT_STATUS = ( + ('o', _('Open')), + ('c', _('Close')), + ) + # 文章类型:文章、页面 + TYPE = ( + ('a', _('Article')), + ('p', _('Page')), + ) + title = models.CharField(_('title'), max_length=200, unique=True) # 文章标题,唯一 + body = MDTextField(_('body')) # 文章内容,使用MDTextField支持markdown + pub_time = models.DateTimeField( + _('publish time'), blank=False, null=False, default=now) # 发布时间 + status = models.CharField( + _('status'), + max_length=1, + choices=STATUS_CHOICES, + default='p') # 文章状态 + comment_status = models.CharField( + _('comment status'), + max_length=1, + choices=COMMENT_STATUS, + default='o') # 评论状态 + type = models.CharField(_('type'), max_length=1, choices=TYPE, default='a') # 文章类型 + views = models.PositiveIntegerField(_('views'), default=0) # 文章浏览量 + author = models.ForeignKey( + settings.AUTH_USER_MODEL, + verbose_name=_('author'), + blank=False, + null=False, + on_delete=models.CASCADE) # 文章作者,外键关联用户模型 + article_order = models.IntegerField( + _('order'), blank=False, null=False, default=0) # 文章排序序号 + show_toc = models.BooleanField(_('show toc'), blank=False, null=False, default=False) # 是否显示目录 + category = models.ForeignKey( + 'Category', + verbose_name=_('category'), + on_delete=models.CASCADE, + blank=False, + null=False) # 文章分类,外键关联Category模型 + tags = models.ManyToManyField('Tag', verbose_name=_('tag'), blank=True) # 文章标签,多对多关联Tag模型 + + def body_to_string(self): + """将文章内容转换为字符串返回""" + return self.body + + def __str__(self): + """自定义字符串表示,返回文章标题""" + return self.title + + class Meta: + ordering = ['-article_order', '-pub_time'] # 排序规则:先按article_order降序,再按pub_time降序 + verbose_name = _('article') + verbose_name_plural = verbose_name + get_latest_by = 'id' + + def get_absolute_url(self): + """获取文章的绝对URL,用于生成文章详情页链接""" + return reverse('blog:detailbyid', kwargs={ + 'article_id': self.id, + 'year': self.creation_time.year, + 'month': self.creation_time.month, + 'day': self.creation_time.day + }) + + @cache_decorator(60 * 60 * 10) + def get_category_tree(self): + """ + 获取文章分类的树形结构(包含当前分类及其所有父级分类),并缓存 + """ + tree = self.category.get_category_tree() + names = list(map(lambda c: (c.name, c.get_absolute_url()), tree)) + return names + + def save(self, *args, **kwargs): + """重写save方法,调用父类save方法""" + super().save(*args, **kwargs) + + def viewed(self): + """文章被浏览时,浏览量加1并保存""" + self.views += 1 + self.save(update_fields=['views']) + + def comment_list(self): + """ + 获取文章的评论列表,优先从缓存获取,缓存不存在则查询数据库并缓存 + """ + cache_key = 'article_comments_{id}'.format(id=self.id) + value = cache.get(cache_key) + if value: + logger.info('get article comments:{id}'.format(id=self.id)) + return value + else: + comments = self.comment_set.filter(is_enable=True).order_by('-id') + cache.set(cache_key, comments, 60 * 100) + logger.info('set article comments:{id}'.format(id=self.id)) + return comments + + def get_admin_url(self): + """获取文章在admin后台的编辑URL""" + info = (self._meta.app_label, self._meta.model_name) + return reverse('admin:%s_%s_change' % info, args=(self.pk,)) + + @cache_decorator(expiration=60 * 100) + def next_article(self): + """获取下一篇文章(id大于当前文章且已发布的第一篇),并缓存""" + return Article.objects.filter( + id__gt=self.id, status='p').order_by('id').first() + + @cache_decorator(expiration=60 * 100) + def prev_article(self): + """获取前一篇文章(id小于当前文章且已发布的第一篇),并缓存""" + return Article.objects.filter(id__lt=self.id, status='p').first() + + def get_first_image_url(self): + """ + 从文章内容中提取第一张图片的URL + 通过正则表达式匹配markdown图片语法中的图片链接 + """ + match = re.search(r'!\[.*?\]\((.+?)\)', self.body) + if match: + return match.group(1) + return "" + + +class Category(BaseModel): + """ + 文章分类模型类 + """ + name = models.CharField(_('category name'), max_length=30, unique=True) # 分类名称,唯一 + parent_category = models.ForeignKey( + 'self', + verbose_name=_('parent category'), + blank=True, + null=True, + on_delete=models.CASCADE) # 父分类,自关联 + slug = models.SlugField(default='no-slug', max_length=60, blank=True) # 分类的slug,用于URL + index = models.IntegerField(default=0, verbose_name=_('index')) # 分类排序序号 + + class Meta: + ordering = ['-index'] # 按index降序排序 + verbose_name = _('category') + verbose_name_plural = verbose_name + + def get_absolute_url(self): + """获取分类的绝对URL,用于生成分类页链接""" + return reverse( + 'blog:category_detail', kwargs={ + 'category_name': self.slug}) + + def __str__(self): + """自定义字符串表示,返回分类名称""" + return self.name + + @cache_decorator(60 * 60 * 10) + def get_category_tree(self): + """ + 递归获取分类的树形结构(当前分类及其所有父级分类),并缓存 + """ + categorys = [] + + def parse(category): + categorys.append(category) + if category.parent_category: + parse(category.parent_category) + + parse(self) + return categorys + + @cache_decorator(60 * 60 * 10) + def get_sub_categorys(self): + """ + 递归获取当前分类的所有子分类,包括子分类的子分类等,并缓存 + """ + categorys = [] + all_categorys = Category.objects.all() + + def parse(category): + if category not in categorys: + categorys.append(category) + childs = all_categorys.filter(parent_category=category) + for child in childs: + if category not in categorys: + categorys.append(child) + parse(child) + + parse(self) + return categorys + + +class Tag(BaseModel): + """ + 文章标签模型类 + """ + name = models.CharField(_('tag name'), max_length=30, unique=True) # 标签名称,唯一 + slug = models.SlugField(default='no-slug', max_length=60, blank=True) # 标签的slug,用于URL + + def __str__(self): + """自定义字符串表示,返回标签名称""" + return self.name + + def get_absolute_url(self): + """获取标签的绝对URL,用于生成标签页链接""" + return reverse('blog:tag_detail', kwargs={'tag_name': self.slug}) + + @cache_decorator(60 * 60 * 10) + def get_article_count(self): + """获取该标签下的文章数量,并缓存""" + return Article.objects.filter(tags__name=self.name).distinct().count() + + class Meta: + ordering = ['name'] # 按名称排序 + verbose_name = _('tag') + verbose_name_plural = verbose_name + + +class Links(models.Model): + """ + 友情链接模型类 + """ + name = models.CharField(_('link name'), max_length=30, unique=True) # 链接名称,唯一 + link = models.URLField(_('link')) # 链接URL + sequence = models.IntegerField(_('order'), unique=True) # 排序序号,唯一 + is_enable = models.BooleanField( + _('is show'), default=True, blank=False, null=False) # 是否显示 + show_type = models.CharField( + _('show type'), + max_length=1, + choices=LinkShowType.choices, + default=LinkShowType.I) # 显示类型,关联LinkShowType枚举 + creation_time = models.DateTimeField(_('creation time'), default=now) # 创建时间 + last_mod_time = models.DateTimeField(_('modify time'), default=now) # 最后修改时间 + + class Meta: + ordering = ['sequence'] # 按sequence排序 + verbose_name = _('link') + verbose_name_plural = verbose_name + + def __str__(self): + """自定义字符串表示,返回链接名称""" + return self.name + + +class SideBar(models.Model): + """ + 侧边栏模型类,用于展示自定义HTML内容 + """ + name = models.CharField(_('title'), max_length=100) # 侧边栏标题 + content = models.TextField(_('content')) # 侧边栏内容(HTML) + sequence = models.IntegerField(_('order'), unique=True) # 排序序号,唯一 + is_enable = models.BooleanField(_('is enable'), default=True) # 是否启用 + creation_time = models.DateTimeField(_('creation time'), default=now) # 创建时间 + last_mod_time = models.DateTimeField(_('modify time'), default=now) # 最后修改时间 + + class Meta: + ordering = ['sequence'] # 按sequence排序 + verbose_name = _('sidebar') + verbose_name_plural = verbose_name + + def __str__(self): + """自定义字符串表示,返回侧边栏标题""" + return self.name + + +class BlogSettings(models.Model): + """ + 博客配置模型类,存储网站的各种配置信息 + """ + site_name = models.CharField( + _('site name'), + max_length=200, + null=False, + blank=False, + default='') # 网站名称 + site_description = models.TextField( + _('site description'), + max_length=1000, + null=False, + blank=False, + default='') # 网站描述 + site_seo_description = models.TextField( + _('site seo description'), max_length=1000, null=False, blank=False, default='') # 网站SEO描述 + site_keywords = models.TextField( + _('site keywords'), + max_length=1000, + null=False, + blank=False, + default='') # 网站关键词 + article_sub_length = models.IntegerField(_('article sub length'), default=300) # 文章摘要长度 + sidebar_article_count = models.IntegerField(_('sidebar article count'), default=10) # 侧边栏文章数量 + sidebar_comment_count = models.IntegerField(_('sidebar comment count'), default=5) # 侧边栏评论数量 + article_comment_count = models.IntegerField(_('article comment count'), default=5) # 文章评论数量 + show_google_adsense = models.BooleanField(_('show adsense'), default=False) # 是否显示Google广告 + google_adsense_codes = models.TextField( + _('adsense code'), max_length=2000, null=True, blank=True, default='') # Google广告代码 + open_site_comment = models.BooleanField(_('open site comment'), default=True) # 是否开启网站评论 + global_header = models.TextField("公共头部", null=True, blank=True, default='') # 公共头部HTML + global_footer = models.TextField("公共尾部", null=True, blank=True, default='') # 公共尾部HTML + beian_code = models.CharField( + '备案号', + max_length=2000, + null=True, + blank=True, + default='') # 网站备案号 + analytics_code = models.TextField( + "网站统计代码", + max_length=1000, + null=False, + blank=False, + default='') # 网站统计代码 + show_gongan_code = models.BooleanField( + '是否显示公安备案号', default=False, null=False) # 是否显示公安备案号 + gongan_beiancode = models.TextField( + '公安备案号', + max_length=2000, + null=True, + blank=True, + default='') # 公安备案号 + comment_need_review = models.BooleanField( + '评论是否需要审核', default=False, null=False) # 评论是否需要审核 + + class Meta: + verbose_name = _('Website configuration') + verbose_name_plural = verbose_name + + def __str__(self): + """自定义字符串表示,返回网站名称""" + return self.site_name + + def clean(self): + """ + 模型验证方法,确保只能有一个配置实例 + 如果存在其他配置实例(排除当前实例),则抛出验证错误 + """ + if BlogSettings.objects.exclude(id=self.id).count(): + raise ValidationError(_('There can only be one configuration')) + + def save(self, *args, **kwargs): + """ + 重写save方法,保存后清除缓存(使配置变更立即生效) + """ + super().save(*args, **kwargs) + from djangoblog.utils import cache + cache.clear() \ No newline at end of file diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/search_indexes.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/search_indexes.py new file mode 100644 index 0000000..7f1dfac --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/search_indexes.py @@ -0,0 +1,13 @@ +from haystack import indexes + +from blog.models import Article + + +class ArticleIndex(indexes.SearchIndex, indexes.Indexable): + text = indexes.CharField(document=True, use_template=True) + + def get_model(self): + return Article + + def index_queryset(self, using=None): + return self.get_model().objects.filter(status='p') diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/templatetags/__init__.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/templatetags/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/templatetags/blog_tags.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/templatetags/blog_tags.py new file mode 100644 index 0000000..d6cd5d5 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/templatetags/blog_tags.py @@ -0,0 +1,344 @@ +import hashlib +import logging +import random +import urllib + +from django import template +from django.conf import settings +from django.db.models import Q +from django.shortcuts import get_object_or_404 +from django.template.defaultfilters import stringfilter +from django.templatetags.static import static +from django.urls import reverse +from django.utils.safestring import mark_safe + +from blog.models import Article, Category, Tag, Links, SideBar, LinkShowType +from comments.models import Comment +from djangoblog.utils import CommonMarkdown, sanitize_html +from djangoblog.utils import cache +from djangoblog.utils import get_current_site +from oauth.models import OAuthUser +from djangoblog.plugin_manage import hooks + +logger = logging.getLogger(__name__) + +register = template.Library() + + +@register.simple_tag(takes_context=True) +def head_meta(context): + return mark_safe(hooks.apply_filters('head_meta', '', context)) + + +@register.simple_tag +def timeformat(data): + try: + return data.strftime(settings.TIME_FORMAT) + except Exception as e: + logger.error(e) + return "" + + +@register.simple_tag +def datetimeformat(data): + try: + return data.strftime(settings.DATE_TIME_FORMAT) + except Exception as e: + logger.error(e) + return "" + + +@register.filter() +@stringfilter +def custom_markdown(content): + return mark_safe(CommonMarkdown.get_markdown(content)) + + +@register.simple_tag +def get_markdown_toc(content): + from djangoblog.utils import CommonMarkdown + body, toc = CommonMarkdown.get_markdown_with_toc(content) + return mark_safe(toc) + + +@register.filter() +@stringfilter +def comment_markdown(content): + content = CommonMarkdown.get_markdown(content) + return mark_safe(sanitize_html(content)) + + +@register.filter(is_safe=True) +@stringfilter +def truncatechars_content(content): + """ + 获得文章内容的摘要 + :param content: + :return: + """ + from django.template.defaultfilters import truncatechars_html + from djangoblog.utils import get_blog_setting + blogsetting = get_blog_setting() + return truncatechars_html(content, blogsetting.article_sub_length) + + +@register.filter(is_safe=True) +@stringfilter +def truncate(content): + from django.utils.html import strip_tags + + return strip_tags(content)[:150] + + +@register.inclusion_tag('blog/tags/breadcrumb.html') +def load_breadcrumb(article): + """ + 获得文章面包屑 + :param article: + :return: + """ + names = article.get_category_tree() + from djangoblog.utils import get_blog_setting + blogsetting = get_blog_setting() + site = get_current_site().domain + names.append((blogsetting.site_name, '/')) + names = names[::-1] + + return { + 'names': names, + 'title': article.title, + 'count': len(names) + 1 + } + + +@register.inclusion_tag('blog/tags/article_tag_list.html') +def load_articletags(article): + """ + 文章标签 + :param article: + :return: + """ + tags = article.tags.all() + tags_list = [] + for tag in tags: + url = tag.get_absolute_url() + count = tag.get_article_count() + tags_list.append(( + url, count, tag, random.choice(settings.BOOTSTRAP_COLOR_TYPES) + )) + return { + 'article_tags_list': tags_list + } + + +@register.inclusion_tag('blog/tags/sidebar.html') +def load_sidebar(user, linktype): + """ + 加载侧边栏 + :return: + """ + value = cache.get("sidebar" + linktype) + if value: + value['user'] = user + return value + else: + logger.info('load sidebar') + from djangoblog.utils import get_blog_setting + blogsetting = get_blog_setting() + recent_articles = Article.objects.filter( + status='p')[:blogsetting.sidebar_article_count] + sidebar_categorys = Category.objects.all() + extra_sidebars = SideBar.objects.filter( + is_enable=True).order_by('sequence') + most_read_articles = Article.objects.filter(status='p').order_by( + '-views')[:blogsetting.sidebar_article_count] + dates = Article.objects.datetimes('creation_time', 'month', order='DESC') + links = Links.objects.filter(is_enable=True).filter( + Q(show_type=str(linktype)) | Q(show_type=LinkShowType.A)) + commment_list = Comment.objects.filter(is_enable=True).order_by( + '-id')[:blogsetting.sidebar_comment_count] + # 标签云 计算字体大小 + # 根据总数计算出平均值 大小为 (数目/平均值)*步长 + increment = 5 + tags = Tag.objects.all() + sidebar_tags = None + if tags and len(tags) > 0: + s = [t for t in [(t, t.get_article_count()) for t in tags] if t[1]] + count = sum([t[1] for t in s]) + dd = 1 if (count == 0 or not len(tags)) else count / len(tags) + import random + sidebar_tags = list( + map(lambda x: (x[0], x[1], (x[1] / dd) * increment + 10), s)) + random.shuffle(sidebar_tags) + + value = { + 'recent_articles': recent_articles, + 'sidebar_categorys': sidebar_categorys, + 'most_read_articles': most_read_articles, + 'article_dates': dates, + 'sidebar_comments': commment_list, + 'sidabar_links': links, + 'show_google_adsense': blogsetting.show_google_adsense, + 'google_adsense_codes': blogsetting.google_adsense_codes, + 'open_site_comment': blogsetting.open_site_comment, + 'show_gongan_code': blogsetting.show_gongan_code, + 'sidebar_tags': sidebar_tags, + 'extra_sidebars': extra_sidebars + } + cache.set("sidebar" + linktype, value, 60 * 60 * 60 * 3) + logger.info('set sidebar cache.key:{key}'.format(key="sidebar" + linktype)) + value['user'] = user + return value + + +@register.inclusion_tag('blog/tags/article_meta_info.html') +def load_article_metas(article, user): + """ + 获得文章meta信息 + :param article: + :return: + """ + return { + 'article': article, + 'user': user + } + + +@register.inclusion_tag('blog/tags/article_pagination.html') +def load_pagination_info(page_obj, page_type, tag_name): + previous_url = '' + next_url = '' + if page_type == '': + if page_obj.has_next(): + next_number = page_obj.next_page_number() + next_url = reverse('blog:index_page', kwargs={'page': next_number}) + if page_obj.has_previous(): + previous_number = page_obj.previous_page_number() + previous_url = reverse( + 'blog:index_page', kwargs={ + 'page': previous_number}) + if page_type == '分类标签归档': + tag = get_object_or_404(Tag, name=tag_name) + if page_obj.has_next(): + next_number = page_obj.next_page_number() + next_url = reverse( + 'blog:tag_detail_page', + kwargs={ + 'page': next_number, + 'tag_name': tag.slug}) + if page_obj.has_previous(): + previous_number = page_obj.previous_page_number() + previous_url = reverse( + 'blog:tag_detail_page', + kwargs={ + 'page': previous_number, + 'tag_name': tag.slug}) + if page_type == '作者文章归档': + if page_obj.has_next(): + next_number = page_obj.next_page_number() + next_url = reverse( + 'blog:author_detail_page', + kwargs={ + 'page': next_number, + 'author_name': tag_name}) + if page_obj.has_previous(): + previous_number = page_obj.previous_page_number() + previous_url = reverse( + 'blog:author_detail_page', + kwargs={ + 'page': previous_number, + 'author_name': tag_name}) + + if page_type == '分类目录归档': + category = get_object_or_404(Category, name=tag_name) + if page_obj.has_next(): + next_number = page_obj.next_page_number() + next_url = reverse( + 'blog:category_detail_page', + kwargs={ + 'page': next_number, + 'category_name': category.slug}) + if page_obj.has_previous(): + previous_number = page_obj.previous_page_number() + previous_url = reverse( + 'blog:category_detail_page', + kwargs={ + 'page': previous_number, + 'category_name': category.slug}) + + return { + 'previous_url': previous_url, + 'next_url': next_url, + 'page_obj': page_obj + } + + +@register.inclusion_tag('blog/tags/article_info.html') +def load_article_detail(article, isindex, user): + """ + 加载文章详情 + :param article: + :param isindex:是否列表页,若是列表页只显示摘要 + :return: + """ + from djangoblog.utils import get_blog_setting + blogsetting = get_blog_setting() + + return { + 'article': article, + 'isindex': isindex, + 'user': user, + 'open_site_comment': blogsetting.open_site_comment, + } + + +# return only the URL of the gravatar +# TEMPLATE USE: {{ email|gravatar_url:150 }} +@register.filter +def gravatar_url(email, size=40): + """获得gravatar头像""" + cachekey = 'gravatat/' + email + url = cache.get(cachekey) + if url: + return url + else: + usermodels = OAuthUser.objects.filter(email=email) + if usermodels: + o = list(filter(lambda x: x.picture is not None, usermodels)) + if o: + return o[0].picture + email = email.encode('utf-8') + + default = static('blog/img/avatar.png') + + url = "https://www.gravatar.com/avatar/%s?%s" % (hashlib.md5( + email.lower()).hexdigest(), urllib.parse.urlencode({'d': default, 's': str(size)})) + cache.set(cachekey, url, 60 * 60 * 10) + logger.info('set gravatar cache.key:{key}'.format(key=cachekey)) + return url + + +@register.filter +def gravatar(email, size=40): + """获得gravatar头像""" + url = gravatar_url(email, size) + return mark_safe( + '' % + (url, size, size)) + + +@register.simple_tag +def query(qs, **kwargs): + """ template tag which allows queryset filtering. Usage: + {% query books author=author as mybooks %} + {% for book in mybooks %} + ... + {% endfor %} + """ + return qs.filter(**kwargs) + + +@register.filter +def addstr(arg1, arg2): + """concatenate arg1 & arg2""" + return str(arg1) + str(arg2) diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/tests.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/tests.py new file mode 100644 index 0000000..ee13505 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/tests.py @@ -0,0 +1,232 @@ +import os + +from django.conf import settings +from django.core.files.uploadedfile import SimpleUploadedFile +from django.core.management import call_command +from django.core.paginator import Paginator +from django.templatetags.static import static +from django.test import Client, RequestFactory, TestCase +from django.urls import reverse +from django.utils import timezone + +from accounts.models import BlogUser +from blog.forms import BlogSearchForm +from blog.models import Article, Category, Tag, SideBar, Links +from blog.templatetags.blog_tags import load_pagination_info, load_articletags +from djangoblog.utils import get_current_site, get_sha256 +from oauth.models import OAuthUser, OAuthConfig + + +# Create your tests here. + +class ArticleTest(TestCase): + def setUp(self): + self.client = Client() + self.factory = RequestFactory() + + def test_validate_article(self): + site = get_current_site().domain + user = BlogUser.objects.get_or_create( + email="liangliangyy@gmail.com", + username="liangliangyy")[0] + user.set_password("liangliangyy") + user.is_staff = True + user.is_superuser = True + user.save() + response = self.client.get(user.get_absolute_url()) + self.assertEqual(response.status_code, 200) + response = self.client.get('/admin/servermanager/emailsendlog/') + response = self.client.get('admin/admin/logentry/') + s = SideBar() + s.sequence = 1 + s.name = 'test' + s.content = 'test content' + s.is_enable = True + s.save() + + category = Category() + category.name = "category" + category.creation_time = timezone.now() + category.last_mod_time = timezone.now() + category.save() + + tag = Tag() + tag.name = "nicetag" + tag.save() + + article = Article() + article.title = "nicetitle" + article.body = "nicecontent" + article.author = user + article.category = category + article.type = 'a' + article.status = 'p' + + article.save() + self.assertEqual(0, article.tags.count()) + article.tags.add(tag) + article.save() + self.assertEqual(1, article.tags.count()) + + for i in range(20): + article = Article() + article.title = "nicetitle" + str(i) + article.body = "nicetitle" + str(i) + article.author = user + article.category = category + article.type = 'a' + article.status = 'p' + article.save() + article.tags.add(tag) + article.save() + from blog.documents import ELASTICSEARCH_ENABLED + if ELASTICSEARCH_ENABLED: + call_command("build_index") + response = self.client.get('/search', {'q': 'nicetitle'}) + self.assertEqual(response.status_code, 200) + + response = self.client.get(article.get_absolute_url()) + self.assertEqual(response.status_code, 200) + from djangoblog.spider_notify import SpiderNotify + SpiderNotify.notify(article.get_absolute_url()) + response = self.client.get(tag.get_absolute_url()) + self.assertEqual(response.status_code, 200) + + response = self.client.get(category.get_absolute_url()) + self.assertEqual(response.status_code, 200) + + response = self.client.get('/search', {'q': 'django'}) + self.assertEqual(response.status_code, 200) + s = load_articletags(article) + self.assertIsNotNone(s) + + self.client.login(username='liangliangyy', password='liangliangyy') + + response = self.client.get(reverse('blog:archives')) + self.assertEqual(response.status_code, 200) + + p = Paginator(Article.objects.all(), settings.PAGINATE_BY) + self.check_pagination(p, '', '') + + p = Paginator(Article.objects.filter(tags=tag), settings.PAGINATE_BY) + self.check_pagination(p, '分类标签归档', tag.slug) + + p = Paginator( + Article.objects.filter( + author__username='liangliangyy'), settings.PAGINATE_BY) + self.check_pagination(p, '作者文章归档', 'liangliangyy') + + p = Paginator(Article.objects.filter(category=category), settings.PAGINATE_BY) + self.check_pagination(p, '分类目录归档', category.slug) + + f = BlogSearchForm() + f.search() + # self.client.login(username='liangliangyy', password='liangliangyy') + from djangoblog.spider_notify import SpiderNotify + SpiderNotify.baidu_notify([article.get_full_url()]) + + from blog.templatetags.blog_tags import gravatar_url, gravatar + u = gravatar_url('liangliangyy@gmail.com') + u = gravatar('liangliangyy@gmail.com') + + link = Links( + sequence=1, + name="lylinux", + link='https://wwww.lylinux.net') + link.save() + response = self.client.get('/links.html') + self.assertEqual(response.status_code, 200) + + response = self.client.get('/feed/') + self.assertEqual(response.status_code, 200) + + response = self.client.get('/sitemap.xml') + self.assertEqual(response.status_code, 200) + + self.client.get("/admin/blog/article/1/delete/") + self.client.get('/admin/servermanager/emailsendlog/') + self.client.get('/admin/admin/logentry/') + self.client.get('/admin/admin/logentry/1/change/') + + def check_pagination(self, p, type, value): + for page in range(1, p.num_pages + 1): + s = load_pagination_info(p.page(page), type, value) + self.assertIsNotNone(s) + if s['previous_url']: + response = self.client.get(s['previous_url']) + self.assertEqual(response.status_code, 200) + if s['next_url']: + response = self.client.get(s['next_url']) + self.assertEqual(response.status_code, 200) + + def test_image(self): + import requests + rsp = requests.get( + 'https://www.python.org/static/img/python-logo.png') + imagepath = os.path.join(settings.BASE_DIR, 'python.png') + with open(imagepath, 'wb') as file: + file.write(rsp.content) + rsp = self.client.post('/upload') + self.assertEqual(rsp.status_code, 403) + sign = get_sha256(get_sha256(settings.SECRET_KEY)) + with open(imagepath, 'rb') as file: + imgfile = SimpleUploadedFile( + 'python.png', file.read(), content_type='image/jpg') + form_data = {'python.png': imgfile} + rsp = self.client.post( + '/upload?sign=' + sign, form_data, follow=True) + self.assertEqual(rsp.status_code, 200) + os.remove(imagepath) + from djangoblog.utils import save_user_avatar, send_email + send_email(['qq@qq.com'], 'testTitle', 'testContent') + save_user_avatar( + 'https://www.python.org/static/img/python-logo.png') + + def test_errorpage(self): + rsp = self.client.get('/eee') + self.assertEqual(rsp.status_code, 404) + + def test_commands(self): + user = BlogUser.objects.get_or_create( + email="liangliangyy@gmail.com", + username="liangliangyy")[0] + user.set_password("liangliangyy") + user.is_staff = True + user.is_superuser = True + user.save() + + c = OAuthConfig() + c.type = 'qq' + c.appkey = 'appkey' + c.appsecret = 'appsecret' + c.save() + + u = OAuthUser() + u.type = 'qq' + u.openid = 'openid' + u.user = user + u.picture = static("/blog/img/avatar.png") + u.metadata = ''' +{ +"figureurl": "https://qzapp.qlogo.cn/qzapp/101513904/C740E30B4113EAA80E0D9918ABC78E82/30" +}''' + u.save() + + u = OAuthUser() + u.type = 'qq' + u.openid = 'openid1' + u.picture = 'https://qzapp.qlogo.cn/qzapp/101513904/C740E30B4113EAA80E0D9918ABC78E82/30' + u.metadata = ''' + { + "figureurl": "https://qzapp.qlogo.cn/qzapp/101513904/C740E30B4113EAA80E0D9918ABC78E82/30" + }''' + u.save() + + from blog.documents import ELASTICSEARCH_ENABLED + if ELASTICSEARCH_ENABLED: + call_command("build_index") + call_command("ping_baidu", "all") + call_command("create_testdata") + call_command("clear_cache") + call_command("sync_user_avatar") + call_command("build_search_words") diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/urls.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/urls.py new file mode 100644 index 0000000..adf2703 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/urls.py @@ -0,0 +1,62 @@ +from django.urls import path +from django.views.decorators.cache import cache_page + +from . import views + +app_name = "blog" +urlpatterns = [ + path( + r'', + views.IndexView.as_view(), + name='index'), + path( + r'page//', + views.IndexView.as_view(), + name='index_page'), + path( + r'article////.html', + views.ArticleDetailView.as_view(), + name='detailbyid'), + path( + r'category/.html', + views.CategoryDetailView.as_view(), + name='category_detail'), + path( + r'category//.html', + views.CategoryDetailView.as_view(), + name='category_detail_page'), + path( + r'author/.html', + views.AuthorDetailView.as_view(), + name='author_detail'), + path( + r'author//.html', + views.AuthorDetailView.as_view(), + name='author_detail_page'), + path( + r'tag/.html', + views.TagDetailView.as_view(), + name='tag_detail'), + path( + r'tag//.html', + views.TagDetailView.as_view(), + name='tag_detail_page'), + path( + 'archives.html', + cache_page( + 60 * 60)( + views.ArchivesView.as_view()), + name='archives'), + path( + 'links.html', + views.LinkListView.as_view(), + name='links'), + path( + r'upload', + views.fileupload, + name='upload'), + path( + r'clean', + views.clean_cache_view, + name='clean'), +] diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/views.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/views.py new file mode 100644 index 0000000..d5dc7ec --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/blog/views.py @@ -0,0 +1,379 @@ +import logging +import os +import uuid + +from django.conf import settings +from django.core.paginator import Paginator +from django.http import HttpResponse, HttpResponseForbidden +from django.shortcuts import get_object_or_404 +from django.shortcuts import render +from django.templatetags.static import static +from django.utils import timezone +from django.utils.translation import gettext_lazy as _ +from django.views.decorators.csrf import csrf_exempt +from django.views.generic.detail import DetailView +from django.views.generic.list import ListView +from haystack.views import SearchView + +from blog.models import Article, Category, LinkShowType, Links, Tag +from comments.forms import CommentForm +from djangoblog.plugin_manage import hooks +from djangoblog.plugin_manage.hook_constants import ARTICLE_CONTENT_HOOK_NAME +from djangoblog.utils import cache, get_blog_setting, get_sha256 + +logger = logging.getLogger(__name__) + + +class ArticleListView(ListView): + # template_name属性用于指定使用哪个模板进行渲染 + template_name = 'blog/article_index.html' + + # context_object_name属性用于给上下文变量取名(在模板中使用该名字) + context_object_name = 'article_list' + + # 页面类型,分类目录或标签列表等 + page_type = '' + paginate_by = settings.PAGINATE_BY + page_kwarg = 'page' + link_type = LinkShowType.L + + def get_view_cache_key(self): + return self.request.get['pages'] + + @property + def page_number(self): + page_kwarg = self.page_kwarg + page = self.kwargs.get( + page_kwarg) or self.request.GET.get(page_kwarg) or 1 + return page + + def get_queryset_cache_key(self): + """ + 子类重写.获得queryset的缓存key + """ + raise NotImplementedError() + + def get_queryset_data(self): + """ + 子类重写.获取queryset的数据 + """ + raise NotImplementedError() + + def get_queryset_from_cache(self, cache_key): + ''' + 缓存页面数据 + :param cache_key: 缓存key + :return: + ''' + value = cache.get(cache_key) + if value: + logger.info('get view cache.key:{key}'.format(key=cache_key)) + return value + else: + article_list = self.get_queryset_data() + cache.set(cache_key, article_list) + logger.info('set view cache.key:{key}'.format(key=cache_key)) + return article_list + + def get_queryset(self): + ''' + 重写默认,从缓存获取数据 + :return: + ''' + key = self.get_queryset_cache_key() + value = self.get_queryset_from_cache(key) + return value + + def get_context_data(self, **kwargs): + kwargs['linktype'] = self.link_type + return super(ArticleListView, self).get_context_data(**kwargs) + + +class IndexView(ArticleListView): + ''' + 首页 + ''' + # 友情链接类型 + link_type = LinkShowType.I + + def get_queryset_data(self): + article_list = Article.objects.filter(type='a', status='p') + return article_list + + def get_queryset_cache_key(self): + cache_key = 'index_{page}'.format(page=self.page_number) + return cache_key + + +class ArticleDetailView(DetailView): + ''' + 文章详情页面 + ''' + template_name = 'blog/article_detail.html' + model = Article + pk_url_kwarg = 'article_id' + context_object_name = "article" + + def get_context_data(self, **kwargs): + comment_form = CommentForm() + + article_comments = self.object.comment_list() + parent_comments = article_comments.filter(parent_comment=None) + blog_setting = get_blog_setting() + paginator = Paginator(parent_comments, blog_setting.article_comment_count) + page = self.request.GET.get('comment_page', '1') + if not page.isnumeric(): + page = 1 + else: + page = int(page) + if page < 1: + page = 1 + if page > paginator.num_pages: + page = paginator.num_pages + + p_comments = paginator.page(page) + next_page = p_comments.next_page_number() if p_comments.has_next() else None + prev_page = p_comments.previous_page_number() if p_comments.has_previous() else None + + if next_page: + kwargs[ + 'comment_next_page_url'] = self.object.get_absolute_url() + f'?comment_page={next_page}#commentlist-container' + if prev_page: + kwargs[ + 'comment_prev_page_url'] = self.object.get_absolute_url() + f'?comment_page={prev_page}#commentlist-container' + kwargs['form'] = comment_form + kwargs['article_comments'] = article_comments + kwargs['p_comments'] = p_comments + kwargs['comment_count'] = len( + article_comments) if article_comments else 0 + + kwargs['next_article'] = self.object.next_article + kwargs['prev_article'] = self.object.prev_article + + context = super(ArticleDetailView, self).get_context_data(**kwargs) + article = self.object + # Action Hook, 通知插件"文章详情已获取" + hooks.run_action('after_article_body_get', article=article, request=self.request) + # # Filter Hook, 允许插件修改文章正文 + article.body = hooks.apply_filters(ARTICLE_CONTENT_HOOK_NAME, article.body, article=article, + request=self.request) + + return context + + +class CategoryDetailView(ArticleListView): + ''' + 分类目录列表 + ''' + page_type = "分类目录归档" + + def get_queryset_data(self): + slug = self.kwargs['category_name'] + category = get_object_or_404(Category, slug=slug) + + categoryname = category.name + self.categoryname = categoryname + categorynames = list( + map(lambda c: c.name, category.get_sub_categorys())) + article_list = Article.objects.filter( + category__name__in=categorynames, status='p') + return article_list + + def get_queryset_cache_key(self): + slug = self.kwargs['category_name'] + category = get_object_or_404(Category, slug=slug) + categoryname = category.name + self.categoryname = categoryname + cache_key = 'category_list_{categoryname}_{page}'.format( + categoryname=categoryname, page=self.page_number) + return cache_key + + def get_context_data(self, **kwargs): + + categoryname = self.categoryname + try: + categoryname = categoryname.split('/')[-1] + except BaseException: + pass + kwargs['page_type'] = CategoryDetailView.page_type + kwargs['tag_name'] = categoryname + return super(CategoryDetailView, self).get_context_data(**kwargs) + + +class AuthorDetailView(ArticleListView): + ''' + 作者详情页 + ''' + page_type = '作者文章归档' + + def get_queryset_cache_key(self): + from uuslug import slugify + author_name = slugify(self.kwargs['author_name']) + cache_key = 'author_{author_name}_{page}'.format( + author_name=author_name, page=self.page_number) + return cache_key + + def get_queryset_data(self): + author_name = self.kwargs['author_name'] + article_list = Article.objects.filter( + author__username=author_name, type='a', status='p') + return article_list + + def get_context_data(self, **kwargs): + author_name = self.kwargs['author_name'] + kwargs['page_type'] = AuthorDetailView.page_type + kwargs['tag_name'] = author_name + return super(AuthorDetailView, self).get_context_data(**kwargs) + + +class TagDetailView(ArticleListView): + ''' + 标签列表页面 + ''' + page_type = '分类标签归档' + + def get_queryset_data(self): + slug = self.kwargs['tag_name'] + tag = get_object_or_404(Tag, slug=slug) + tag_name = tag.name + self.name = tag_name + article_list = Article.objects.filter( + tags__name=tag_name, type='a', status='p') + return article_list + + def get_queryset_cache_key(self): + slug = self.kwargs['tag_name'] + tag = get_object_or_404(Tag, slug=slug) + tag_name = tag.name + self.name = tag_name + cache_key = 'tag_{tag_name}_{page}'.format( + tag_name=tag_name, page=self.page_number) + return cache_key + + def get_context_data(self, **kwargs): + # tag_name = self.kwargs['tag_name'] + tag_name = self.name + kwargs['page_type'] = TagDetailView.page_type + kwargs['tag_name'] = tag_name + return super(TagDetailView, self).get_context_data(**kwargs) + + +class ArchivesView(ArticleListView): + ''' + 文章归档页面 + ''' + page_type = '文章归档' + paginate_by = None + page_kwarg = None + template_name = 'blog/article_archives.html' + + def get_queryset_data(self): + return Article.objects.filter(status='p').all() + + def get_queryset_cache_key(self): + cache_key = 'archives' + return cache_key + + +class LinkListView(ListView): + model = Links + template_name = 'blog/links_list.html' + + def get_queryset(self): + return Links.objects.filter(is_enable=True) + + +class EsSearchView(SearchView): + def get_context(self): + paginator, page = self.build_page() + context = { + "query": self.query, + "form": self.form, + "page": page, + "paginator": paginator, + "suggestion": None, + } + if hasattr(self.results, "query") and self.results.query.backend.include_spelling: + context["suggestion"] = self.results.query.get_spelling_suggestion() + context.update(self.extra_context()) + + return context + + +@csrf_exempt +def fileupload(request): + """ + 该方法需自己写调用端来上传图片,该方法仅提供图床功能 + :param request: + :return: + """ + if request.method == 'POST': + sign = request.GET.get('sign', None) + if not sign: + return HttpResponseForbidden() + if not sign == get_sha256(get_sha256(settings.SECRET_KEY)): + return HttpResponseForbidden() + response = [] + for filename in request.FILES: + timestr = timezone.now().strftime('%Y/%m/%d') + imgextensions = ['jpg', 'png', 'jpeg', 'bmp'] + fname = u''.join(str(filename)) + isimage = len([i for i in imgextensions if fname.find(i) >= 0]) > 0 + base_dir = os.path.join(settings.STATICFILES, "files" if not isimage else "image", timestr) + if not os.path.exists(base_dir): + os.makedirs(base_dir) + savepath = os.path.normpath(os.path.join(base_dir, f"{uuid.uuid4().hex}{os.path.splitext(filename)[-1]}")) + if not savepath.startswith(base_dir): + return HttpResponse("only for post") + with open(savepath, 'wb+') as wfile: + for chunk in request.FILES[filename].chunks(): + wfile.write(chunk) + if isimage: + from PIL import Image + image = Image.open(savepath) + image.save(savepath, quality=20, optimize=True) + url = static(savepath) + response.append(url) + return HttpResponse(response) + + else: + return HttpResponse("only for post") + + +def page_not_found_view( + request, + exception, + template_name='blog/error_page.html'): + if exception: + logger.error(exception) + url = request.get_full_path() + return render(request, + template_name, + {'message': _('Sorry, the page you requested is not found, please click the home page to see other?'), + 'statuscode': '404'}, + status=404) + + +def server_error_view(request, template_name='blog/error_page.html'): + return render(request, + template_name, + {'message': _('Sorry, the server is busy, please click the home page to see other?'), + 'statuscode': '500'}, + status=500) + + +def permission_denied_view( + request, + exception, + template_name='blog/error_page.html'): + if exception: + logger.error(exception) + return render( + request, template_name, { + 'message': _('Sorry, you do not have permission to access this page?'), + 'statuscode': '403'}, status=403) + + +def clean_cache_view(request): + cache.clear() + return HttpResponse('ok') diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/comments/__init__.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/comments/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/comments/admin.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/comments/admin.py new file mode 100644 index 0000000..a814f3f --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/comments/admin.py @@ -0,0 +1,47 @@ +from django.contrib import admin +from django.urls import reverse +from django.utils.html import format_html +from django.utils.translation import gettext_lazy as _ + + +def disable_commentstatus(modeladmin, request, queryset): + queryset.update(is_enable=False) + + +def enable_commentstatus(modeladmin, request, queryset): + queryset.update(is_enable=True) + + +disable_commentstatus.short_description = _('Disable comments') +enable_commentstatus.short_description = _('Enable comments') + + +class CommentAdmin(admin.ModelAdmin): + list_per_page = 20 + list_display = ( + 'id', + 'body', + 'link_to_userinfo', + 'link_to_article', + 'is_enable', + 'creation_time') + list_display_links = ('id', 'body', 'is_enable') + list_filter = ('is_enable',) + exclude = ('creation_time', 'last_modify_time') + actions = [disable_commentstatus, enable_commentstatus] + + def link_to_userinfo(self, obj): + info = (obj.author._meta.app_label, obj.author._meta.model_name) + link = reverse('admin:%s_%s_change' % info, args=(obj.author.id,)) + return format_html( + u'%s' % + (link, obj.author.nickname if obj.author.nickname else obj.author.email)) + + def link_to_article(self, obj): + info = (obj.article._meta.app_label, obj.article._meta.model_name) + link = reverse('admin:%s_%s_change' % info, args=(obj.article.id,)) + return format_html( + u'%s' % (link, obj.article.title)) + + link_to_userinfo.short_description = _('User') + link_to_article.short_description = _('Article') diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/comments/apps.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/comments/apps.py new file mode 100644 index 0000000..ff01b77 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/comments/apps.py @@ -0,0 +1,5 @@ +from django.apps import AppConfig + + +class CommentsConfig(AppConfig): + name = 'comments' diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/comments/forms.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/comments/forms.py new file mode 100644 index 0000000..e83737d --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/comments/forms.py @@ -0,0 +1,13 @@ +from django import forms +from django.forms import ModelForm + +from .models import Comment + + +class CommentForm(ModelForm): + parent_comment_id = forms.IntegerField( + widget=forms.HiddenInput, required=False) + + class Meta: + model = Comment + fields = ['body'] diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/comments/migrations/0001_initial.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/comments/migrations/0001_initial.py new file mode 100644 index 0000000..61d1e53 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/comments/migrations/0001_initial.py @@ -0,0 +1,38 @@ +# Generated by Django 4.1.7 on 2023-03-02 07:14 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion +import django.utils.timezone + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ('blog', '0001_initial'), + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ] + + operations = [ + migrations.CreateModel( + name='Comment', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('body', models.TextField(max_length=300, verbose_name='正文')), + ('created_time', models.DateTimeField(default=django.utils.timezone.now, verbose_name='创建时间')), + ('last_mod_time', models.DateTimeField(default=django.utils.timezone.now, verbose_name='修改时间')), + ('is_enable', models.BooleanField(default=True, verbose_name='是否显示')), + ('article', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='blog.article', verbose_name='文章')), + ('author', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='作者')), + ('parent_comment', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='comments.comment', verbose_name='上级评论')), + ], + options={ + 'verbose_name': '评论', + 'verbose_name_plural': '评论', + 'ordering': ['-id'], + 'get_latest_by': 'id', + }, + ), + ] diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/comments/migrations/0002_alter_comment_is_enable.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/comments/migrations/0002_alter_comment_is_enable.py new file mode 100644 index 0000000..17c44db --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/comments/migrations/0002_alter_comment_is_enable.py @@ -0,0 +1,18 @@ +# Generated by Django 4.1.7 on 2023-04-24 13:48 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('comments', '0001_initial'), + ] + + operations = [ + migrations.AlterField( + model_name='comment', + name='is_enable', + field=models.BooleanField(default=False, verbose_name='是否显示'), + ), + ] diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/comments/migrations/0003_alter_comment_options_remove_comment_created_time_and_more.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/comments/migrations/0003_alter_comment_options_remove_comment_created_time_and_more.py new file mode 100644 index 0000000..a1ca970 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/comments/migrations/0003_alter_comment_options_remove_comment_created_time_and_more.py @@ -0,0 +1,60 @@ +# Generated by Django 4.2.5 on 2023-09-06 13:13 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion +import django.utils.timezone + + +class Migration(migrations.Migration): + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('blog', '0005_alter_article_options_alter_category_options_and_more'), + ('comments', '0002_alter_comment_is_enable'), + ] + + operations = [ + migrations.AlterModelOptions( + name='comment', + options={'get_latest_by': 'id', 'ordering': ['-id'], 'verbose_name': 'comment', 'verbose_name_plural': 'comment'}, + ), + migrations.RemoveField( + model_name='comment', + name='created_time', + ), + migrations.RemoveField( + model_name='comment', + name='last_mod_time', + ), + migrations.AddField( + model_name='comment', + name='creation_time', + field=models.DateTimeField(default=django.utils.timezone.now, verbose_name='creation time'), + ), + migrations.AddField( + model_name='comment', + name='last_modify_time', + field=models.DateTimeField(default=django.utils.timezone.now, verbose_name='last modify time'), + ), + migrations.AlterField( + model_name='comment', + name='article', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='blog.article', verbose_name='article'), + ), + migrations.AlterField( + model_name='comment', + name='author', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='author'), + ), + migrations.AlterField( + model_name='comment', + name='is_enable', + field=models.BooleanField(default=False, verbose_name='enable'), + ), + migrations.AlterField( + model_name='comment', + name='parent_comment', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='comments.comment', verbose_name='parent comment'), + ), + ] diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/comments/migrations/__init__.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/comments/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/comments/models.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/comments/models.py new file mode 100644 index 0000000..7c3bbc8 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/comments/models.py @@ -0,0 +1,39 @@ +from django.conf import settings +from django.db import models +from django.utils.timezone import now +from django.utils.translation import gettext_lazy as _ + +from blog.models import Article + + +# Create your models here. + +class Comment(models.Model): + body = models.TextField('正文', max_length=300) + creation_time = models.DateTimeField(_('creation time'), default=now) + last_modify_time = models.DateTimeField(_('last modify time'), default=now) + author = models.ForeignKey( + settings.AUTH_USER_MODEL, + verbose_name=_('author'), + on_delete=models.CASCADE) + article = models.ForeignKey( + Article, + verbose_name=_('article'), + on_delete=models.CASCADE) + parent_comment = models.ForeignKey( + 'self', + verbose_name=_('parent comment'), + blank=True, + null=True, + on_delete=models.CASCADE) + is_enable = models.BooleanField(_('enable'), + default=False, blank=False, null=False) + + class Meta: + ordering = ['-id'] + verbose_name = _('comment') + verbose_name_plural = verbose_name + get_latest_by = 'id' + + def __str__(self): + return self.body diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/comments/templatetags/__init__.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/comments/templatetags/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/comments/templatetags/comments_tags.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/comments/templatetags/comments_tags.py new file mode 100644 index 0000000..fde02b4 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/comments/templatetags/comments_tags.py @@ -0,0 +1,30 @@ +from django import template + +register = template.Library() + + +@register.simple_tag +def parse_commenttree(commentlist, comment): + """获得当前评论子评论的列表 + 用法: {% parse_commenttree article_comments comment as childcomments %} + """ + datas = [] + + def parse(c): + childs = commentlist.filter(parent_comment=c, is_enable=True) + for child in childs: + datas.append(child) + parse(child) + + parse(comment) + return datas + + +@register.inclusion_tag('comments/tags/comment_item.html') +def show_comment_item(comment, ischild): + """评论""" + depth = 1 if ischild else 2 + return { + 'comment_item': comment, + 'depth': depth + } diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/comments/tests.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/comments/tests.py new file mode 100644 index 0000000..2a7f55f --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/comments/tests.py @@ -0,0 +1,109 @@ +from django.test import Client, RequestFactory, TransactionTestCase +from django.urls import reverse + +from accounts.models import BlogUser +from blog.models import Category, Article +from comments.models import Comment +from comments.templatetags.comments_tags import * +from djangoblog.utils import get_max_articleid_commentid + + +# Create your tests here. + +class CommentsTest(TransactionTestCase): + def setUp(self): + self.client = Client() + self.factory = RequestFactory() + from blog.models import BlogSettings + value = BlogSettings() + value.comment_need_review = True + value.save() + + self.user = BlogUser.objects.create_superuser( + email="liangliangyy1@gmail.com", + username="liangliangyy1", + password="liangliangyy1") + + def update_article_comment_status(self, article): + comments = article.comment_set.all() + for comment in comments: + comment.is_enable = True + comment.save() + + def test_validate_comment(self): + self.client.login(username='liangliangyy1', password='liangliangyy1') + + category = Category() + category.name = "categoryccc" + category.save() + + article = Article() + article.title = "nicetitleccc" + article.body = "nicecontentccc" + article.author = self.user + article.category = category + article.type = 'a' + article.status = 'p' + article.save() + + comment_url = reverse( + 'comments:postcomment', kwargs={ + 'article_id': article.id}) + + response = self.client.post(comment_url, + { + 'body': '123ffffffffff' + }) + + self.assertEqual(response.status_code, 302) + + article = Article.objects.get(pk=article.pk) + self.assertEqual(len(article.comment_list()), 0) + self.update_article_comment_status(article) + + self.assertEqual(len(article.comment_list()), 1) + + response = self.client.post(comment_url, + { + 'body': '123ffffffffff', + }) + + self.assertEqual(response.status_code, 302) + + article = Article.objects.get(pk=article.pk) + self.update_article_comment_status(article) + self.assertEqual(len(article.comment_list()), 2) + parent_comment_id = article.comment_list()[0].id + + response = self.client.post(comment_url, + { + 'body': ''' + # Title1 + + ```python + import os + ``` + + [url](https://www.lylinux.net/) + + [ddd](http://www.baidu.com) + + + ''', + 'parent_comment_id': parent_comment_id + }) + + self.assertEqual(response.status_code, 302) + self.update_article_comment_status(article) + article = Article.objects.get(pk=article.pk) + self.assertEqual(len(article.comment_list()), 3) + comment = Comment.objects.get(id=parent_comment_id) + tree = parse_commenttree(article.comment_list(), comment) + self.assertEqual(len(tree), 1) + data = show_comment_item(comment, True) + self.assertIsNotNone(data) + s = get_max_articleid_commentid() + self.assertIsNotNone(s) + + from comments.utils import send_comment_email + send_comment_email(comment) diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/comments/urls.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/comments/urls.py new file mode 100644 index 0000000..7df3fab --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/comments/urls.py @@ -0,0 +1,11 @@ +from django.urls import path + +from . import views + +app_name = "comments" +urlpatterns = [ + path( + 'article//postcomment', + views.CommentPostView.as_view(), + name='postcomment'), +] diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/comments/utils.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/comments/utils.py new file mode 100644 index 0000000..f01dba7 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/comments/utils.py @@ -0,0 +1,38 @@ +import logging + +from django.utils.translation import gettext_lazy as _ + +from djangoblog.utils import get_current_site +from djangoblog.utils import send_email + +logger = logging.getLogger(__name__) + + +def send_comment_email(comment): + site = get_current_site().domain + subject = _('Thanks for your comment') + article_url = f"https://{site}{comment.article.get_absolute_url()}" + html_content = _("""

Thank you very much for your comments on this site

+ You can visit %(article_title)s + to review your comments, + Thank you again! +
+ If the link above cannot be opened, please copy this link to your browser. + %(article_url)s""") % {'article_url': article_url, 'article_title': comment.article.title} + tomail = comment.author.email + send_email([tomail], subject, html_content) + try: + if comment.parent_comment: + html_content = _("""Your comment on %(article_title)s
has + received a reply.
%(comment_body)s +
+ go check it out! +
+ If the link above cannot be opened, please copy this link to your browser. + %(article_url)s + """) % {'article_url': article_url, 'article_title': comment.article.title, + 'comment_body': comment.parent_comment.body} + tomail = comment.parent_comment.author.email + send_email([tomail], subject, html_content) + except Exception as e: + logger.error(e) diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/comments/views.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/comments/views.py new file mode 100644 index 0000000..ad9b2b9 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/comments/views.py @@ -0,0 +1,63 @@ +# Create your views here. +from django.core.exceptions import ValidationError +from django.http import HttpResponseRedirect +from django.shortcuts import get_object_or_404 +from django.utils.decorators import method_decorator +from django.views.decorators.csrf import csrf_protect +from django.views.generic.edit import FormView + +from accounts.models import BlogUser +from blog.models import Article +from .forms import CommentForm +from .models import Comment + + +class CommentPostView(FormView): + form_class = CommentForm + template_name = 'blog/article_detail.html' + + @method_decorator(csrf_protect) + def dispatch(self, *args, **kwargs): + return super(CommentPostView, self).dispatch(*args, **kwargs) + + def get(self, request, *args, **kwargs): + article_id = self.kwargs['article_id'] + article = get_object_or_404(Article, pk=article_id) + url = article.get_absolute_url() + return HttpResponseRedirect(url + "#comments") + + def form_invalid(self, form): + article_id = self.kwargs['article_id'] + article = get_object_or_404(Article, pk=article_id) + + return self.render_to_response({ + 'form': form, + 'article': article + }) + + def form_valid(self, form): + """提交的数据验证合法后的逻辑""" + user = self.request.user + author = BlogUser.objects.get(pk=user.pk) + article_id = self.kwargs['article_id'] + article = get_object_or_404(Article, pk=article_id) + + if article.comment_status == 'c' or article.status == 'c': + raise ValidationError("该文章评论已关闭.") + comment = form.save(False) + comment.article = article + from djangoblog.utils import get_blog_setting + settings = get_blog_setting() + if not settings.comment_need_review: + comment.is_enable = True + comment.author = author + + if form.cleaned_data['parent_comment_id']: + parent_comment = Comment.objects.get( + pk=form.cleaned_data['parent_comment_id']) + comment.parent_comment = parent_comment + + comment.save(True) + return HttpResponseRedirect( + "%s#div-comment-%d" % + (article.get_absolute_url(), comment.pk)) diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/deploy/docker-compose/docker-compose.es.yml b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/deploy/docker-compose/docker-compose.es.yml new file mode 100644 index 0000000..83e35ff --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/deploy/docker-compose/docker-compose.es.yml @@ -0,0 +1,48 @@ +version: '3' + +services: + es: + image: liangliangyy/elasticsearch-analysis-ik:8.6.1 + container_name: es + restart: always + environment: + - discovery.type=single-node + - "ES_JAVA_OPTS=-Xms512m -Xmx512m" + ports: + - 9200:9200 + volumes: + - ./bin/datas/es/:/usr/share/elasticsearch/data/ + + kibana: + image: kibana:8.6.1 + restart: always + container_name: kibana + ports: + - 5601:5601 + environment: + - ELASTICSEARCH_HOSTS=http://es:9200 + + djangoblog: + build: . + restart: always + command: bash -c 'sh /code/djangoblog/bin/docker_start.sh' + ports: + - "8000:8000" + volumes: + - ./collectedstatic:/code/djangoblog/collectedstatic + - ./uploads:/code/djangoblog/uploads + environment: + - DJANGO_MYSQL_DATABASE=djangoblog + - DJANGO_MYSQL_USER=root + - DJANGO_MYSQL_PASSWORD=DjAnGoBlOg!2!Q@W#E + - DJANGO_MYSQL_HOST=db + - DJANGO_MYSQL_PORT=3306 + - DJANGO_MEMCACHED_LOCATION=memcached:11211 + - DJANGO_ELASTICSEARCH_HOST=es:9200 + links: + - db + - memcached + depends_on: + - db + container_name: djangoblog + diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/deploy/docker-compose/docker-compose.yml b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/deploy/docker-compose/docker-compose.yml new file mode 100644 index 0000000..9609af3 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/deploy/docker-compose/docker-compose.yml @@ -0,0 +1,60 @@ +version: '3' + +services: + db: + image: mysql:latest + restart: always + environment: + - MYSQL_DATABASE=djangoblog + - MYSQL_ROOT_PASSWORD=DjAnGoBlOg!2!Q@W#E + ports: + - 3306:3306 + volumes: + - ./bin/datas/mysql/:/var/lib/mysql + depends_on: + - redis + container_name: db + + djangoblog: + build: + context: ../../ + restart: always + command: bash -c 'sh /code/djangoblog/bin/docker_start.sh' + ports: + - "8000:8000" + volumes: + - ./collectedstatic:/code/djangoblog/collectedstatic + - ./logs:/code/djangoblog/logs + - ./uploads:/code/djangoblog/uploads + environment: + - DJANGO_MYSQL_DATABASE=djangoblog + - DJANGO_MYSQL_USER=root + - DJANGO_MYSQL_PASSWORD=DjAnGoBlOg!2!Q@W#E + - DJANGO_MYSQL_HOST=db + - DJANGO_MYSQL_PORT=3306 + - DJANGO_REDIS_URL=redis:6379 + links: + - db + - redis + depends_on: + - db + container_name: djangoblog + nginx: + restart: always + image: nginx:latest + ports: + - "80:80" + - "443:443" + volumes: + - ./bin/nginx.conf:/etc/nginx/nginx.conf + - ./collectedstatic:/code/djangoblog/collectedstatic + links: + - djangoblog:djangoblog + container_name: nginx + + redis: + restart: always + image: redis:latest + container_name: redis + ports: + - "6379:6379" diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/deploy/entrypoint.sh b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/deploy/entrypoint.sh new file mode 100644 index 0000000..2fb6491 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/deploy/entrypoint.sh @@ -0,0 +1,31 @@ +#!/usr/bin/env bash +NAME="djangoblog" +DJANGODIR=/code/djangoblog +USER=root +GROUP=root +NUM_WORKERS=1 +DJANGO_WSGI_MODULE=djangoblog.wsgi + + +echo "Starting $NAME as `whoami`" + +cd $DJANGODIR + +export PYTHONPATH=$DJANGODIR:$PYTHONPATH + +python manage.py makemigrations && \ + python manage.py migrate && \ + python manage.py collectstatic --noinput && \ + python manage.py compress --force && \ + python manage.py build_index && \ + python manage.py compilemessages || exit 1 + +exec gunicorn ${DJANGO_WSGI_MODULE}:application \ +--name $NAME \ +--workers $NUM_WORKERS \ +--user=$USER --group=$GROUP \ +--bind 0.0.0.0:8000 \ +--log-level=debug \ +--log-file=- \ +--worker-class gevent \ +--threads 4 diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/deploy/k8s/configmap.yaml b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/deploy/k8s/configmap.yaml new file mode 100644 index 0000000..835d4ad --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/deploy/k8s/configmap.yaml @@ -0,0 +1,119 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: web-nginx-config + namespace: djangoblog +data: + nginx.conf: | + user nginx; + worker_processes auto; + error_log /var/log/nginx/error.log notice; + pid /var/run/nginx.pid; + + events { + worker_connections 1024; + multi_accept on; + use epoll; + } + + http { + include /etc/nginx/mime.types; + default_type application/octet-stream; + + log_format main '$remote_addr - $remote_user [$time_local] "$request" ' + '$status $body_bytes_sent "$http_referer" ' + '"$http_user_agent" "$http_x_forwarded_for"'; + + access_log /var/log/nginx/access.log main; + + sendfile on; + keepalive_timeout 65; + gzip on; + gzip_disable "msie6"; + + gzip_vary on; + gzip_proxied any; + gzip_comp_level 8; + gzip_buffers 16 8k; + gzip_http_version 1.1; + gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png; + + # Include server configurations + include /etc/nginx/conf.d/*.conf; + } + djangoblog.conf: | + server { + server_name lylinux.net; + root /code/djangoblog/collectedstatic/; + listen 80; + keepalive_timeout 70; + location /static/ { + expires max; + alias /code/djangoblog/collectedstatic/; + } + + location ~* (robots\.txt|ads\.txt|favicon\.ico|favion\.ico|crossdomain\.xml|google93fd32dbd906620a\.html|BingSiteAuth\.xml|baidu_verify_Ijeny6KrmS\.html)$ { + root /resource/djangopub; + expires 1d; + access_log off; + error_log off; + } + + location / { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $http_host; + proxy_set_header X-NginX-Proxy true; + proxy_redirect off; + if (!-f $request_filename) { + proxy_pass http://djangoblog:8000; + break; + } + } + } + server { + server_name www.lylinux.net; + listen 80; + return 301 https://lylinux.net$request_uri; + } + resource.lylinux.net.conf: | + server { + index index.html index.htm; + server_name resource.lylinux.net; + root /resource/; + + location /djangoblog/ { + alias /code/djangoblog/collectedstatic/; + } + + access_log off; + error_log off; + include lylinux/resource.conf; + } + lylinux.resource.conf: | + expires max; + access_log off; + log_not_found off; + add_header Pragma public; + add_header Cache-Control "public"; + add_header "Access-Control-Allow-Origin" "*"; + +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: djangoblog-env + namespace: djangoblog +data: + DJANGO_MYSQL_DATABASE: djangoblog + DJANGO_MYSQL_USER: db_user + DJANGO_MYSQL_PASSWORD: db_password + DJANGO_MYSQL_HOST: db_host + DJANGO_MYSQL_PORT: db_port + DJANGO_REDIS_URL: "redis:6379" + DJANGO_DEBUG: "False" + MYSQL_ROOT_PASSWORD: db_password + MYSQL_DATABASE: djangoblog + MYSQL_PASSWORD: db_password + DJANGO_SECRET_KEY: xxxxxxxxxxxxxxxxxxxxxxxxxxxxx + diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/deploy/k8s/deployment.yaml b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/deploy/k8s/deployment.yaml new file mode 100644 index 0000000..414fdcc --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/deploy/k8s/deployment.yaml @@ -0,0 +1,274 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: djangoblog + namespace: djangoblog + labels: + app: djangoblog +spec: + replicas: 3 + selector: + matchLabels: + app: djangoblog + template: + metadata: + labels: + app: djangoblog + spec: + containers: + - name: djangoblog + image: liangliangyy/djangoblog:latest + imagePullPolicy: Always + ports: + - containerPort: 8000 + envFrom: + - configMapRef: + name: djangoblog-env + readinessProbe: + httpGet: + path: / + port: 8000 + initialDelaySeconds: 10 + periodSeconds: 30 + livenessProbe: + httpGet: + path: / + port: 8000 + initialDelaySeconds: 10 + periodSeconds: 30 + resources: + requests: + cpu: 10m + memory: 100Mi + limits: + cpu: "2" + memory: 2Gi + volumeMounts: + - name: djangoblog + mountPath: /code/djangoblog/collectedstatic + - name: resource + mountPath: /resource + volumes: + - name: djangoblog + persistentVolumeClaim: + claimName: djangoblog-pvc + - name: resource + persistentVolumeClaim: + claimName: resource-pvc + +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: redis + namespace: djangoblog + labels: + app: redis +spec: + replicas: 1 + selector: + matchLabels: + app: redis + template: + metadata: + labels: + app: redis + spec: + containers: + - name: redis + image: redis:latest + imagePullPolicy: IfNotPresent + ports: + - containerPort: 6379 + resources: + requests: + cpu: 10m + memory: 100Mi + limits: + cpu: 200m + memory: 2Gi + +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: db + namespace: djangoblog + labels: + app: db +spec: + replicas: 1 + selector: + matchLabels: + app: db + template: + metadata: + labels: + app: db + spec: + containers: + - name: db + image: mysql:latest + imagePullPolicy: IfNotPresent + ports: + - containerPort: 3306 + envFrom: + - configMapRef: + name: djangoblog-env + readinessProbe: + exec: + command: + - mysqladmin + - ping + - "-h" + - "127.0.0.1" + - "-u" + - "root" + - "-p$MYSQL_ROOT_PASSWORD" + initialDelaySeconds: 10 + periodSeconds: 10 + livenessProbe: + exec: + command: + - mysqladmin + - ping + - "-h" + - "127.0.0.1" + - "-u" + - "root" + - "-p$MYSQL_ROOT_PASSWORD" + initialDelaySeconds: 10 + periodSeconds: 10 + resources: + requests: + cpu: 10m + memory: 100Mi + limits: + cpu: "2" + memory: 2Gi + volumeMounts: + - name: db-data + mountPath: /var/lib/mysql + volumes: + - name: db-data + persistentVolumeClaim: + claimName: db-pvc + +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: nginx + namespace: djangoblog + labels: + app: nginx +spec: + replicas: 1 + selector: + matchLabels: + app: nginx + template: + metadata: + labels: + app: nginx + spec: + containers: + - name: nginx + image: nginx:latest + imagePullPolicy: IfNotPresent + ports: + - containerPort: 80 + resources: + requests: + cpu: 10m + memory: 100Mi + limits: + cpu: "2" + memory: 2Gi + volumeMounts: + - name: nginx-config + mountPath: /etc/nginx/nginx.conf + subPath: nginx.conf + - name: nginx-config + mountPath: /etc/nginx/conf.d/default.conf + subPath: djangoblog.conf + - name: nginx-config + mountPath: /etc/nginx/conf.d/resource.lylinux.net.conf + subPath: resource.lylinux.net.conf + - name: nginx-config + mountPath: /etc/nginx/lylinux/resource.conf + subPath: lylinux.resource.conf + - name: djangoblog-pvc + mountPath: /code/djangoblog/collectedstatic + - name: resource-pvc + mountPath: /resource + volumes: + - name: nginx-config + configMap: + name: web-nginx-config + - name: djangoblog-pvc + persistentVolumeClaim: + claimName: djangoblog-pvc + - name: resource-pvc + persistentVolumeClaim: + claimName: resource-pvc + +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: elasticsearch + namespace: djangoblog + labels: + app: elasticsearch +spec: + replicas: 1 + selector: + matchLabels: + app: elasticsearch + template: + metadata: + labels: + app: elasticsearch + spec: + containers: + - name: elasticsearch + image: liangliangyy/elasticsearch-analysis-ik:8.6.1 + imagePullPolicy: IfNotPresent + env: + - name: discovery.type + value: single-node + - name: ES_JAVA_OPTS + value: "-Xms256m -Xmx256m" + - name: xpack.security.enabled + value: "false" + - name: xpack.monitoring.templates.enabled + value: "false" + ports: + - containerPort: 9200 + resources: + requests: + cpu: 10m + memory: 100Mi + limits: + cpu: "2" + memory: 2Gi + readinessProbe: + httpGet: + path: / + port: 9200 + initialDelaySeconds: 15 + periodSeconds: 30 + livenessProbe: + httpGet: + path: / + port: 9200 + initialDelaySeconds: 15 + periodSeconds: 30 + volumeMounts: + - name: elasticsearch-data + mountPath: /usr/share/elasticsearch/data/ + volumes: + - name: elasticsearch-data + persistentVolumeClaim: + claimName: elasticsearch-pvc diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/deploy/k8s/gateway.yaml b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/deploy/k8s/gateway.yaml new file mode 100644 index 0000000..a8de073 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/deploy/k8s/gateway.yaml @@ -0,0 +1,17 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: nginx + namespace: djangoblog +spec: + ingressClassName: nginx + rules: + - http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: nginx + port: + number: 80 \ No newline at end of file diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/deploy/k8s/pv.yaml b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/deploy/k8s/pv.yaml new file mode 100644 index 0000000..874b72f --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/deploy/k8s/pv.yaml @@ -0,0 +1,94 @@ +apiVersion: v1 +kind: PersistentVolume +metadata: + name: local-pv-db +spec: + capacity: + storage: 10Gi + volumeMode: Filesystem + accessModes: + - ReadWriteOnce + persistentVolumeReclaimPolicy: Retain + storageClassName: local-storage + local: + path: /mnt/local-storage-db + nodeAffinity: + required: + nodeSelectorTerms: + - matchExpressions: + - key: kubernetes.io/hostname + operator: In + values: + - master +--- +apiVersion: v1 +kind: PersistentVolume +metadata: + name: local-pv-djangoblog +spec: + capacity: + storage: 5Gi + volumeMode: Filesystem + accessModes: + - ReadWriteOnce + persistentVolumeReclaimPolicy: Retain + storageClassName: local-storage + local: + path: /mnt/local-storage-djangoblog + nodeAffinity: + required: + nodeSelectorTerms: + - matchExpressions: + - key: kubernetes.io/hostname + operator: In + values: + - master + + +--- +apiVersion: v1 +kind: PersistentVolume +metadata: + name: local-pv-resource +spec: + capacity: + storage: 5Gi + volumeMode: Filesystem + accessModes: + - ReadWriteOnce + persistentVolumeReclaimPolicy: Retain + storageClassName: local-storage + local: + path: /mnt/resource/ + nodeAffinity: + required: + nodeSelectorTerms: + - matchExpressions: + - key: kubernetes.io/hostname + operator: In + values: + - master + +--- +apiVersion: v1 +kind: PersistentVolume +metadata: + name: local-pv-elasticsearch +spec: + capacity: + storage: 5Gi + volumeMode: Filesystem + accessModes: + - ReadWriteOnce + persistentVolumeReclaimPolicy: Retain + storageClassName: local-storage + local: + path: /mnt/local-storage-elasticsearch + nodeAffinity: + required: + nodeSelectorTerms: + - matchExpressions: + - key: kubernetes.io/hostname + operator: In + values: + - master \ No newline at end of file diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/deploy/k8s/pvc.yaml b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/deploy/k8s/pvc.yaml new file mode 100644 index 0000000..ef238c5 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/deploy/k8s/pvc.yaml @@ -0,0 +1,60 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: db-pvc + namespace: djangoblog +spec: + storageClassName: local-storage + volumeName: local-pv-db + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 10Gi + + +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: djangoblog-pvc + namespace: djangoblog +spec: + volumeName: local-pv-djangoblog + storageClassName: local-storage + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 5Gi + +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: resource-pvc + namespace: djangoblog +spec: + volumeName: local-pv-resource + storageClassName: local-storage + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 5Gi + +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: elasticsearch-pvc + namespace: djangoblog +spec: + volumeName: local-pv-elasticsearch + storageClassName: local-storage + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 5Gi + \ No newline at end of file diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/deploy/k8s/service.yaml b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/deploy/k8s/service.yaml new file mode 100644 index 0000000..4ef2931 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/deploy/k8s/service.yaml @@ -0,0 +1,80 @@ +apiVersion: v1 +kind: Service +metadata: + name: djangoblog + namespace: djangoblog + labels: + app: djangoblog +spec: + selector: + app: djangoblog + ports: + - protocol: TCP + port: 8000 + targetPort: 8000 + type: ClusterIP +--- +apiVersion: v1 +kind: Service +metadata: + name: nginx + namespace: djangoblog + labels: + app: nginx +spec: + selector: + app: nginx + ports: + - protocol: TCP + port: 80 + targetPort: 80 + type: ClusterIP +--- +apiVersion: v1 +kind: Service +metadata: + name: redis + namespace: djangoblog + labels: + app: redis +spec: + selector: + app: redis + ports: + - protocol: TCP + port: 6379 + targetPort: 6379 + type: ClusterIP +--- +apiVersion: v1 +kind: Service +metadata: + name: db + namespace: djangoblog + labels: + app: db +spec: + selector: + app: db + ports: + - protocol: TCP + port: 3306 + targetPort: 3306 + type: ClusterIP +--- +apiVersion: v1 +kind: Service +metadata: + name: elasticsearch + namespace: djangoblog + labels: + app: elasticsearch +spec: + selector: + app: elasticsearch + ports: + - protocol: TCP + port: 9200 + targetPort: 9200 + type: ClusterIP + diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/deploy/k8s/storageclass.yaml b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/deploy/k8s/storageclass.yaml new file mode 100644 index 0000000..5d5a14c --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/deploy/k8s/storageclass.yaml @@ -0,0 +1,10 @@ +apiVersion: storage.k8s.io/v1 +kind: StorageClass +metadata: + name: local-storage + annotations: + storageclass.kubernetes.io/is-default-class: "true" +provisioner: kubernetes.io/no-provisioner +volumeBindingMode: Immediate + + diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/deploy/nginx.conf b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/deploy/nginx.conf new file mode 100644 index 0000000..32161d8 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/deploy/nginx.conf @@ -0,0 +1,50 @@ +user nginx; +worker_processes auto; + +error_log /var/log/nginx/error.log notice; +pid /var/run/nginx.pid; + + +events { + worker_connections 1024; +} + + +http { + include /etc/nginx/mime.types; + default_type application/octet-stream; + + log_format main '$remote_addr - $remote_user [$time_local] "$request" ' + '$status $body_bytes_sent "$http_referer" ' + '"$http_user_agent" "$http_x_forwarded_for"'; + + access_log /var/log/nginx/access.log main; + + sendfile on; + #tcp_nopush on; + + keepalive_timeout 65; + + #gzip on; + + server { + root /code/djangoblog/collectedstatic/; + listen 80; + keepalive_timeout 70; + location /static/ { + expires max; + alias /code/djangoblog/collectedstatic/; + } + location / { + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $http_host; + proxy_set_header X-NginX-Proxy true; + proxy_redirect off; + if (!-f $request_filename) { + proxy_pass http://djangoblog:8000; + break; + } + } + } +} diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/__init__.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/__init__.py new file mode 100644 index 0000000..1e205f4 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/__init__.py @@ -0,0 +1 @@ +default_app_config = 'djangoblog.apps.DjangoblogAppConfig' diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/admin_site.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/admin_site.py new file mode 100644 index 0000000..f120405 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/admin_site.py @@ -0,0 +1,64 @@ +from django.contrib.admin import AdminSite +from django.contrib.admin.models import LogEntry +from django.contrib.sites.admin import SiteAdmin +from django.contrib.sites.models import Site + +from accounts.admin import * +from blog.admin import * +from blog.models import * +from comments.admin import * +from comments.models import * +from djangoblog.logentryadmin import LogEntryAdmin +from oauth.admin import * +from oauth.models import * +from owntracks.admin import * +from owntracks.models import * +from servermanager.admin import * +from servermanager.models import * + + +class DjangoBlogAdminSite(AdminSite): + site_header = 'djangoblog administration' + site_title = 'djangoblog site admin' + + def __init__(self, name='admin'): + super().__init__(name) + + def has_permission(self, request): + return request.user.is_superuser + + # def get_urls(self): + # urls = super().get_urls() + # from django.urls import path + # from blog.views import refresh_memcache + # + # my_urls = [ + # path('refresh/', self.admin_view(refresh_memcache), name="refresh"), + # ] + # return urls + my_urls + + +admin_site = DjangoBlogAdminSite(name='admin') + +admin_site.register(Article, ArticlelAdmin) +admin_site.register(Category, CategoryAdmin) +admin_site.register(Tag, TagAdmin) +admin_site.register(Links, LinksAdmin) +admin_site.register(SideBar, SideBarAdmin) +admin_site.register(BlogSettings, BlogSettingsAdmin) + +admin_site.register(commands, CommandsAdmin) +admin_site.register(EmailSendLog, EmailSendLogAdmin) + +admin_site.register(BlogUser, BlogUserAdmin) + +admin_site.register(Comment, CommentAdmin) + +admin_site.register(OAuthUser, OAuthUserAdmin) +admin_site.register(OAuthConfig, OAuthConfigAdmin) + +admin_site.register(OwnTrackLog, OwnTrackLogsAdmin) + +admin_site.register(Site, SiteAdmin) + +admin_site.register(LogEntry, LogEntryAdmin) diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/apps.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/apps.py new file mode 100644 index 0000000..d29e318 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/apps.py @@ -0,0 +1,11 @@ +from django.apps import AppConfig + +class DjangoblogAppConfig(AppConfig): + default_auto_field = 'django.db.models.BigAutoField' + name = 'djangoblog' + + def ready(self): + super().ready() + # Import and load plugins here + from .plugin_manage.loader import load_plugins + load_plugins() \ No newline at end of file diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/blog_signals.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/blog_signals.py new file mode 100644 index 0000000..393f441 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/blog_signals.py @@ -0,0 +1,122 @@ +import _thread +import logging + +import django.dispatch +from django.conf import settings +from django.contrib.admin.models import LogEntry +from django.contrib.auth.signals import user_logged_in, user_logged_out +from django.core.mail import EmailMultiAlternatives +from django.db.models.signals import post_save +from django.dispatch import receiver + +from comments.models import Comment +from comments.utils import send_comment_email +from djangoblog.spider_notify import SpiderNotify +from djangoblog.utils import cache, expire_view_cache, delete_sidebar_cache, delete_view_cache +from djangoblog.utils import get_current_site +from oauth.models import OAuthUser + +logger = logging.getLogger(__name__) + +oauth_user_login_signal = django.dispatch.Signal(['id']) +send_email_signal = django.dispatch.Signal( + ['emailto', 'title', 'content']) + + +@receiver(send_email_signal) +def send_email_signal_handler(sender, **kwargs): + emailto = kwargs['emailto'] + title = kwargs['title'] + content = kwargs['content'] + + msg = EmailMultiAlternatives( + title, + content, + from_email=settings.DEFAULT_FROM_EMAIL, + to=emailto) + msg.content_subtype = "html" + + from servermanager.models import EmailSendLog + log = EmailSendLog() + log.title = title + log.content = content + log.emailto = ','.join(emailto) + + try: + result = msg.send() + log.send_result = result > 0 + except Exception as e: + logger.error(f"失败邮箱号: {emailto}, {e}") + log.send_result = False + log.save() + + +@receiver(oauth_user_login_signal) +def oauth_user_login_signal_handler(sender, **kwargs): + id = kwargs['id'] + oauthuser = OAuthUser.objects.get(id=id) + site = get_current_site().domain + if oauthuser.picture and not oauthuser.picture.find(site) >= 0: + from djangoblog.utils import save_user_avatar + oauthuser.picture = save_user_avatar(oauthuser.picture) + oauthuser.save() + + delete_sidebar_cache() + + +@receiver(post_save) +def model_post_save_callback( + sender, + instance, + created, + raw, + using, + update_fields, + **kwargs): + clearcache = False + if isinstance(instance, LogEntry): + return + if 'get_full_url' in dir(instance): + is_update_views = update_fields == {'views'} + if not settings.TESTING and not is_update_views: + try: + notify_url = instance.get_full_url() + SpiderNotify.baidu_notify([notify_url]) + except Exception as ex: + logger.error("notify sipder", ex) + if not is_update_views: + clearcache = True + + if isinstance(instance, Comment): + if instance.is_enable: + path = instance.article.get_absolute_url() + site = get_current_site().domain + if site.find(':') > 0: + site = site[0:site.find(':')] + + expire_view_cache( + path, + servername=site, + serverport=80, + key_prefix='blogdetail') + if cache.get('seo_processor'): + cache.delete('seo_processor') + comment_cache_key = 'article_comments_{id}'.format( + id=instance.article.id) + cache.delete(comment_cache_key) + delete_sidebar_cache() + delete_view_cache('article_comments', [str(instance.article.pk)]) + + _thread.start_new_thread(send_comment_email, (instance,)) + + if clearcache: + cache.clear() + + +@receiver(user_logged_in) +@receiver(user_logged_out) +def user_auth_callback(sender, request, user, **kwargs): + if user and user.username: + logger.info(user) + delete_sidebar_cache() + # cache.clear() diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/elasticsearch_backend.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/elasticsearch_backend.py new file mode 100644 index 0000000..4afe498 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/elasticsearch_backend.py @@ -0,0 +1,183 @@ +from django.utils.encoding import force_str +from elasticsearch_dsl import Q +from haystack.backends import BaseEngine, BaseSearchBackend, BaseSearchQuery, log_query +from haystack.forms import ModelSearchForm +from haystack.models import SearchResult +from haystack.utils import log as logging + +from blog.documents import ArticleDocument, ArticleDocumentManager +from blog.models import Article + +logger = logging.getLogger(__name__) + + +class ElasticSearchBackend(BaseSearchBackend): + def __init__(self, connection_alias, **connection_options): + super( + ElasticSearchBackend, + self).__init__( + connection_alias, + **connection_options) + self.manager = ArticleDocumentManager() + self.include_spelling = True + + def _get_models(self, iterable): + models = iterable if iterable and iterable[0] else Article.objects.all() + docs = self.manager.convert_to_doc(models) + return docs + + def _create(self, models): + self.manager.create_index() + docs = self._get_models(models) + self.manager.rebuild(docs) + + def _delete(self, models): + for m in models: + m.delete() + return True + + def _rebuild(self, models): + models = models if models else Article.objects.all() + docs = self.manager.convert_to_doc(models) + self.manager.update_docs(docs) + + def update(self, index, iterable, commit=True): + + models = self._get_models(iterable) + self.manager.update_docs(models) + + def remove(self, obj_or_string): + models = self._get_models([obj_or_string]) + self._delete(models) + + def clear(self, models=None, commit=True): + self.remove(None) + + @staticmethod + def get_suggestion(query: str) -> str: + """获取推荐词, 如果没有找到添加原搜索词""" + + search = ArticleDocument.search() \ + .query("match", body=query) \ + .suggest('suggest_search', query, term={'field': 'body'}) \ + .execute() + + keywords = [] + for suggest in search.suggest.suggest_search: + if suggest["options"]: + keywords.append(suggest["options"][0]["text"]) + else: + keywords.append(suggest["text"]) + + return ' '.join(keywords) + + @log_query + def search(self, query_string, **kwargs): + logger.info('search query_string:' + query_string) + + start_offset = kwargs.get('start_offset') + end_offset = kwargs.get('end_offset') + + # 推荐词搜索 + if getattr(self, "is_suggest", None): + suggestion = self.get_suggestion(query_string) + else: + suggestion = query_string + + q = Q('bool', + should=[Q('match', body=suggestion), Q('match', title=suggestion)], + minimum_should_match="70%") + + search = ArticleDocument.search() \ + .query('bool', filter=[q]) \ + .filter('term', status='p') \ + .filter('term', type='a') \ + .source(False)[start_offset: end_offset] + + results = search.execute() + hits = results['hits'].total + raw_results = [] + for raw_result in results['hits']['hits']: + app_label = 'blog' + model_name = 'Article' + additional_fields = {} + + result_class = SearchResult + + result = result_class( + app_label, + model_name, + raw_result['_id'], + raw_result['_score'], + **additional_fields) + raw_results.append(result) + facets = {} + spelling_suggestion = None if query_string == suggestion else suggestion + + return { + 'results': raw_results, + 'hits': hits, + 'facets': facets, + 'spelling_suggestion': spelling_suggestion, + } + + +class ElasticSearchQuery(BaseSearchQuery): + def _convert_datetime(self, date): + if hasattr(date, 'hour'): + return force_str(date.strftime('%Y%m%d%H%M%S')) + else: + return force_str(date.strftime('%Y%m%d000000')) + + def clean(self, query_fragment): + """ + Provides a mechanism for sanitizing user input before presenting the + value to the backend. + + Whoosh 1.X differs here in that you can no longer use a backslash + to escape reserved characters. Instead, the whole word should be + quoted. + """ + words = query_fragment.split() + cleaned_words = [] + + for word in words: + if word in self.backend.RESERVED_WORDS: + word = word.replace(word, word.lower()) + + for char in self.backend.RESERVED_CHARACTERS: + if char in word: + word = "'%s'" % word + break + + cleaned_words.append(word) + + return ' '.join(cleaned_words) + + def build_query_fragment(self, field, filter_type, value): + return value.query_string + + def get_count(self): + results = self.get_results() + return len(results) if results else 0 + + def get_spelling_suggestion(self, preferred_query=None): + return self._spelling_suggestion + + def build_params(self, spelling_query=None): + kwargs = super(ElasticSearchQuery, self).build_params(spelling_query=spelling_query) + return kwargs + + +class ElasticSearchModelSearchForm(ModelSearchForm): + + def search(self): + # 是否建议搜索 + self.searchqueryset.query.backend.is_suggest = self.data.get("is_suggest") != "no" + sqs = super().search() + return sqs + + +class ElasticSearchEngine(BaseEngine): + backend = ElasticSearchBackend + query = ElasticSearchQuery diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/feeds.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/feeds.py new file mode 100644 index 0000000..8c4e851 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/feeds.py @@ -0,0 +1,40 @@ +from django.contrib.auth import get_user_model +from django.contrib.syndication.views import Feed +from django.utils import timezone +from django.utils.feedgenerator import Rss201rev2Feed + +from blog.models import Article +from djangoblog.utils import CommonMarkdown + + +class DjangoBlogFeed(Feed): + feed_type = Rss201rev2Feed + + description = '大巧无工,重剑无锋.' + title = "且听风吟 大巧无工,重剑无锋. " + link = "/feed/" + + def author_name(self): + return get_user_model().objects.first().nickname + + def author_link(self): + return get_user_model().objects.first().get_absolute_url() + + def items(self): + return Article.objects.filter(type='a', status='p').order_by('-pub_time')[:5] + + def item_title(self, item): + return item.title + + def item_description(self, item): + return CommonMarkdown.get_markdown(item.body) + + def feed_copyright(self): + now = timezone.now() + return "Copyright© {year} 且听风吟".format(year=now.year) + + def item_link(self, item): + return item.get_absolute_url() + + def item_guid(self, item): + return diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/logentryadmin.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/logentryadmin.py new file mode 100644 index 0000000..2f6a535 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/logentryadmin.py @@ -0,0 +1,91 @@ +from django.contrib import admin +from django.contrib.admin.models import DELETION +from django.contrib.contenttypes.models import ContentType +from django.urls import reverse, NoReverseMatch +from django.utils.encoding import force_str +from django.utils.html import escape +from django.utils.safestring import mark_safe +from django.utils.translation import gettext_lazy as _ + + +class LogEntryAdmin(admin.ModelAdmin): + list_filter = [ + 'content_type' + ] + + search_fields = [ + 'object_repr', + 'change_message' + ] + + list_display_links = [ + 'action_time', + 'get_change_message', + ] + list_display = [ + 'action_time', + 'user_link', + 'content_type', + 'object_link', + 'get_change_message', + ] + + def has_add_permission(self, request): + return False + + def has_change_permission(self, request, obj=None): + return ( + request.user.is_superuser or + request.user.has_perm('admin.change_logentry') + ) and request.method != 'POST' + + def has_delete_permission(self, request, obj=None): + return False + + def object_link(self, obj): + object_link = escape(obj.object_repr) + content_type = obj.content_type + + if obj.action_flag != DELETION and content_type is not None: + # try returning an actual link instead of object repr string + try: + url = reverse( + 'admin:{}_{}_change'.format(content_type.app_label, + content_type.model), + args=[obj.object_id] + ) + object_link = '{}'.format(url, object_link) + except NoReverseMatch: + pass + return mark_safe(object_link) + + object_link.admin_order_field = 'object_repr' + object_link.short_description = _('object') + + def user_link(self, obj): + content_type = ContentType.objects.get_for_model(type(obj.user)) + user_link = escape(force_str(obj.user)) + try: + # try returning an actual link instead of object repr string + url = reverse( + 'admin:{}_{}_change'.format(content_type.app_label, + content_type.model), + args=[obj.user.pk] + ) + user_link = '{}'.format(url, user_link) + except NoReverseMatch: + pass + return mark_safe(user_link) + + user_link.admin_order_field = 'user' + user_link.short_description = _('user') + + def get_queryset(self, request): + queryset = super(LogEntryAdmin, self).get_queryset(request) + return queryset.prefetch_related('content_type') + + def get_actions(self, request): + actions = super(LogEntryAdmin, self).get_actions(request) + if 'delete_selected' in actions: + del actions['delete_selected'] + return actions diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/plugin_manage/base_plugin.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/plugin_manage/base_plugin.py new file mode 100644 index 0000000..2b4be5c --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/plugin_manage/base_plugin.py @@ -0,0 +1,41 @@ +import logging + +logger = logging.getLogger(__name__) + + +class BasePlugin: + # 插件元数据 + PLUGIN_NAME = None + PLUGIN_DESCRIPTION = None + PLUGIN_VERSION = None + + def __init__(self): + if not all([self.PLUGIN_NAME, self.PLUGIN_DESCRIPTION, self.PLUGIN_VERSION]): + raise ValueError("Plugin metadata (PLUGIN_NAME, PLUGIN_DESCRIPTION, PLUGIN_VERSION) must be defined.") + self.init_plugin() + self.register_hooks() + + def init_plugin(self): + """ + 插件初始化逻辑 + 子类可以重写此方法来实现特定的初始化操作 + """ + logger.info(f'{self.PLUGIN_NAME} initialized.') + + def register_hooks(self): + """ + 注册插件钩子 + 子类可以重写此方法来注册特定的钩子 + """ + pass + + def get_plugin_info(self): + """ + 获取插件信息 + :return: 包含插件元数据的字典 + """ + return { + 'name': self.PLUGIN_NAME, + 'description': self.PLUGIN_DESCRIPTION, + 'version': self.PLUGIN_VERSION + } diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/plugin_manage/hook_constants.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/plugin_manage/hook_constants.py new file mode 100644 index 0000000..6685b7c --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/plugin_manage/hook_constants.py @@ -0,0 +1,7 @@ +ARTICLE_DETAIL_LOAD = 'article_detail_load' +ARTICLE_CREATE = 'article_create' +ARTICLE_UPDATE = 'article_update' +ARTICLE_DELETE = 'article_delete' + +ARTICLE_CONTENT_HOOK_NAME = "the_content" + diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/plugin_manage/hooks.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/plugin_manage/hooks.py new file mode 100644 index 0000000..d712540 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/plugin_manage/hooks.py @@ -0,0 +1,44 @@ +import logging + +logger = logging.getLogger(__name__) + +_hooks = {} + + +def register(hook_name: str, callback: callable): + """ + 注册一个钩子回调。 + """ + if hook_name not in _hooks: + _hooks[hook_name] = [] + _hooks[hook_name].append(callback) + logger.debug(f"Registered hook '{hook_name}' with callback '{callback.__name__}'") + + +def run_action(hook_name: str, *args, **kwargs): + """ + 执行一个 Action Hook。 + 它会按顺序执行所有注册到该钩子上的回调函数。 + """ + if hook_name in _hooks: + logger.debug(f"Running action hook '{hook_name}'") + for callback in _hooks[hook_name]: + try: + callback(*args, **kwargs) + except Exception as e: + logger.error(f"Error running action hook '{hook_name}' callback '{callback.__name__}': {e}", exc_info=True) + + +def apply_filters(hook_name: str, value, *args, **kwargs): + """ + 执行一个 Filter Hook。 + 它会把 value 依次传递给所有注册的回调函数进行处理。 + """ + if hook_name in _hooks: + logger.debug(f"Applying filter hook '{hook_name}'") + for callback in _hooks[hook_name]: + try: + value = callback(value, *args, **kwargs) + except Exception as e: + logger.error(f"Error applying filter hook '{hook_name}' callback '{callback.__name__}': {e}", exc_info=True) + return value diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/plugin_manage/loader.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/plugin_manage/loader.py new file mode 100644 index 0000000..12e824b --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/plugin_manage/loader.py @@ -0,0 +1,19 @@ +import os +import logging +from django.conf import settings + +logger = logging.getLogger(__name__) + +def load_plugins(): + """ + Dynamically loads and initializes plugins from the 'plugins' directory. + This function is intended to be called when the Django app registry is ready. + """ + for plugin_name in settings.ACTIVE_PLUGINS: + plugin_path = os.path.join(settings.PLUGINS_DIR, plugin_name) + if os.path.isdir(plugin_path) and os.path.exists(os.path.join(plugin_path, 'plugin.py')): + try: + __import__(f'plugins.{plugin_name}.plugin') + logger.info(f"Successfully loaded plugin: {plugin_name}") + except ImportError as e: + logger.error(f"Failed to import plugin: {plugin_name}", exc_info=e) \ No newline at end of file diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/settings.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/settings.py new file mode 100644 index 0000000..30f9ac5 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/settings.py @@ -0,0 +1,343 @@ +""" +Django settings for djangoblog project. + +Generated by 'django-admin startproject' using Django 1.10.2. + +For more information on this file, see +https://docs.djangoproject.com/en/1.10/topics/settings/ + +For the full list of settings and their values, see +https://docs.djangoproject.com/en/1.10/ref/settings/ +""" +import os +import sys +from pathlib import Path + +from django.utils.translation import gettext_lazy as _ + + +def env_to_bool(env, default): + str_val = os.environ.get(env) + return default if str_val is None else str_val == 'True' + + +# Build paths inside the project like this: BASE_DIR / 'subdir'. +BASE_DIR = Path(__file__).resolve().parent.parent + +# Quick-start development settings - unsuitable for production +# See https://docs.djangoproject.com/en/1.10/howto/deployment/checklist/ + +# SECURITY WARNING: keep the secret key used in production secret! +SECRET_KEY = os.environ.get( + 'DJANGO_SECRET_KEY') or 'n9ceqv38)#&mwuat@(mjb_p%em$e8$qyr#fw9ot!=ba6lijx-6' +# SECURITY WARNING: don't run with debug turned on in production! +DEBUG = env_to_bool('DJANGO_DEBUG', True) +# DEBUG = False +TESTING = len(sys.argv) > 1 and sys.argv[1] == 'test' + +# ALLOWED_HOSTS = [] +ALLOWED_HOSTS = ['*', '127.0.0.1', 'example.com'] +# django 4.0新增配置 +CSRF_TRUSTED_ORIGINS = ['http://example.com'] +# Application definition + + +INSTALLED_APPS = [ + # 'django.contrib.admin', + 'django.contrib.admin.apps.SimpleAdminConfig', + 'django.contrib.auth', + 'django.contrib.contenttypes', + 'django.contrib.sessions', + 'django.contrib.messages', + 'django.contrib.staticfiles', + 'django.contrib.sites', + 'django.contrib.sitemaps', + 'mdeditor', + 'haystack', + 'blog', + 'accounts', + 'comments', + 'oauth', + 'servermanager', + 'owntracks', + 'compressor', + 'djangoblog' +] + +MIDDLEWARE = [ + + 'django.middleware.security.SecurityMiddleware', + 'django.contrib.sessions.middleware.SessionMiddleware', + 'django.middleware.locale.LocaleMiddleware', + 'django.middleware.gzip.GZipMiddleware', + # 'django.middleware.cache.UpdateCacheMiddleware', + 'django.middleware.common.CommonMiddleware', + # 'django.middleware.cache.FetchFromCacheMiddleware', + 'django.middleware.csrf.CsrfViewMiddleware', + 'django.contrib.auth.middleware.AuthenticationMiddleware', + 'django.contrib.messages.middleware.MessageMiddleware', + 'django.middleware.clickjacking.XFrameOptionsMiddleware', + 'django.middleware.http.ConditionalGetMiddleware', + 'blog.middleware.OnlineMiddleware' +] + +ROOT_URLCONF = 'djangoblog.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.contrib.auth.context_processors.auth', + 'django.contrib.messages.context_processors.messages', + 'blog.context_processors.seo_processor' + ], + }, + }, +] + +WSGI_APPLICATION = 'djangoblog.wsgi.application' + +# Database +# https://docs.djangoproject.com/en/1.10/ref/settings/#databases + + +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.mysql', + 'NAME': os.environ.get('DJANGO_MYSQL_DATABASE') or 'djangoblog', + 'USER': os.environ.get('DJANGO_MYSQL_USER') or 'root', + 'PASSWORD': os.environ.get('DJANGO_MYSQL_PASSWORD') or '123456', + 'HOST': os.environ.get('DJANGO_MYSQL_HOST') or '127.0.0.1', + 'PORT': int( + os.environ.get('DJANGO_MYSQL_PORT') or 3306), + 'OPTIONS': { + 'charset': 'utf8mb4'}, + }} + +# Password validation +# https://docs.djangoproject.com/en/1.10/ref/settings/#auth-password-validators + +AUTH_PASSWORD_VALIDATORS = [ + { + 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', + }, +] + +LANGUAGES = ( + ('en', _('English')), + ('zh-hans', _('Simplified Chinese')), + ('zh-hant', _('Traditional Chinese')), +) +LOCALE_PATHS = ( + os.path.join(BASE_DIR, 'locale'), +) + +LANGUAGE_CODE = 'zh-hans' + +TIME_ZONE = 'Asia/Shanghai' + +USE_I18N = True + +USE_L10N = True + +USE_TZ = False + +# Static files (CSS, JavaScript, Images) +# https://docs.djangoproject.com/en/1.10/howto/static-files/ + + +HAYSTACK_CONNECTIONS = { + 'default': { + 'ENGINE': 'djangoblog.whoosh_cn_backend.WhooshEngine', + 'PATH': os.path.join(os.path.dirname(__file__), 'whoosh_index'), + }, +} +# Automatically update searching index +HAYSTACK_SIGNAL_PROCESSOR = 'haystack.signals.RealtimeSignalProcessor' +# Allow user login with username and password +AUTHENTICATION_BACKENDS = [ + 'accounts.user_login_backend.EmailOrUsernameModelBackend'] + +STATIC_ROOT = os.path.join(BASE_DIR, 'collectedstatic') + +STATIC_URL = '/static/' +STATICFILES = os.path.join(BASE_DIR, 'static') + +AUTH_USER_MODEL = 'accounts.BlogUser' +LOGIN_URL = '/login/' + +TIME_FORMAT = '%Y-%m-%d %H:%M:%S' +DATE_TIME_FORMAT = '%Y-%m-%d' + +# bootstrap color styles +BOOTSTRAP_COLOR_TYPES = [ + 'default', 'primary', 'success', 'info', 'warning', 'danger' +] + +# paginate +PAGINATE_BY = 10 +# http cache timeout +CACHE_CONTROL_MAX_AGE = 2592000 +# cache setting +CACHES = { + 'default': { + 'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', + 'TIMEOUT': 10800, + 'LOCATION': 'unique-snowflake', + } +} +# 使用redis作为缓存 +if os.environ.get("DJANGO_REDIS_URL"): + CACHES = { + 'default': { + 'BACKEND': 'django.core.cache.backends.redis.RedisCache', + 'LOCATION': f'redis://{os.environ.get("DJANGO_REDIS_URL")}', + } + } + +SITE_ID = 1 +BAIDU_NOTIFY_URL = os.environ.get('DJANGO_BAIDU_NOTIFY_URL') \ + or 'http://data.zz.baidu.com/urls?site=https://www.lylinux.net&token=1uAOGrMsUm5syDGn' + +# Email: +EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' +EMAIL_USE_TLS = env_to_bool('DJANGO_EMAIL_TLS', False) +EMAIL_USE_SSL = env_to_bool('DJANGO_EMAIL_SSL', True) +EMAIL_HOST = os.environ.get('DJANGO_EMAIL_HOST') or 'smtp.mxhichina.com' +EMAIL_PORT = int(os.environ.get('DJANGO_EMAIL_PORT') or 465) +EMAIL_HOST_USER = os.environ.get('DJANGO_EMAIL_USER') +EMAIL_HOST_PASSWORD = os.environ.get('DJANGO_EMAIL_PASSWORD') +DEFAULT_FROM_EMAIL = EMAIL_HOST_USER +SERVER_EMAIL = EMAIL_HOST_USER +# Setting debug=false did NOT handle except email notifications +ADMINS = [('admin', os.environ.get('DJANGO_ADMIN_EMAIL') or 'admin@admin.com')] +# WX ADMIN password(Two times md5) +WXADMIN = os.environ.get( + 'DJANGO_WXADMIN_PASSWORD') or '995F03AC401D6CABABAEF756FC4D43C7' + +LOG_PATH = os.path.join(BASE_DIR, 'logs') +if not os.path.exists(LOG_PATH): + os.makedirs(LOG_PATH, exist_ok=True) + +LOGGING = { + 'version': 1, + 'disable_existing_loggers': False, + 'root': { + 'level': 'INFO', + 'handlers': ['console', 'log_file'], + }, + 'formatters': { + 'verbose': { + 'format': '[%(asctime)s] %(levelname)s [%(name)s.%(funcName)s:%(lineno)d %(module)s] %(message)s', + } + }, + 'filters': { + 'require_debug_false': { + '()': 'django.utils.log.RequireDebugFalse', + }, + 'require_debug_true': { + '()': 'django.utils.log.RequireDebugTrue', + }, + }, + 'handlers': { + 'log_file': { + 'level': 'INFO', + 'class': 'logging.handlers.TimedRotatingFileHandler', + 'filename': os.path.join(LOG_PATH, 'djangoblog.log'), + 'when': 'D', + 'formatter': 'verbose', + 'interval': 1, + 'delay': True, + 'backupCount': 5, + 'encoding': 'utf-8' + }, + 'console': { + 'level': 'DEBUG', + 'filters': ['require_debug_true'], + 'class': 'logging.StreamHandler', + 'formatter': 'verbose' + }, + 'null': { + 'class': 'logging.NullHandler', + }, + 'mail_admins': { + 'level': 'ERROR', + 'filters': ['require_debug_false'], + 'class': 'django.utils.log.AdminEmailHandler' + } + }, + 'loggers': { + 'djangoblog': { + 'handlers': ['log_file', 'console'], + 'level': 'INFO', + 'propagate': True, + }, + 'django.request': { + 'handlers': ['mail_admins'], + 'level': 'ERROR', + 'propagate': False, + } + } +} + +STATICFILES_FINDERS = ( + 'django.contrib.staticfiles.finders.FileSystemFinder', + 'django.contrib.staticfiles.finders.AppDirectoriesFinder', + # other + 'compressor.finders.CompressorFinder', +) +COMPRESS_ENABLED = True +# COMPRESS_OFFLINE = True + + +COMPRESS_CSS_FILTERS = [ + # creates absolute urls from relative ones + 'compressor.filters.css_default.CssAbsoluteFilter', + # css minimizer + 'compressor.filters.cssmin.CSSMinFilter' +] +COMPRESS_JS_FILTERS = [ + 'compressor.filters.jsmin.JSMinFilter' +] + +MEDIA_ROOT = os.path.join(BASE_DIR, 'uploads') +MEDIA_URL = '/media/' +X_FRAME_OPTIONS = 'SAMEORIGIN' + +DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField' + +if os.environ.get('DJANGO_ELASTICSEARCH_HOST'): + ELASTICSEARCH_DSL = { + 'default': { + 'hosts': os.environ.get('DJANGO_ELASTICSEARCH_HOST') + }, + } + HAYSTACK_CONNECTIONS = { + 'default': { + 'ENGINE': 'djangoblog.elasticsearch_backend.ElasticSearchEngine', + }, + } + +# Plugin System +PLUGINS_DIR = BASE_DIR / 'plugins' +ACTIVE_PLUGINS = [ + 'article_copyright', + 'reading_time', + 'external_links', + 'view_count', + 'seo_optimizer' +] \ No newline at end of file diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/sitemap.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/sitemap.py new file mode 100644 index 0000000..8b7d446 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/sitemap.py @@ -0,0 +1,59 @@ +from django.contrib.sitemaps import Sitemap +from django.urls import reverse + +from blog.models import Article, Category, Tag + + +class StaticViewSitemap(Sitemap): + priority = 0.5 + changefreq = 'daily' + + def items(self): + return ['blog:index', ] + + def location(self, item): + return reverse(item) + + +class ArticleSiteMap(Sitemap): + changefreq = "monthly" + priority = "0.6" + + def items(self): + return Article.objects.filter(status='p') + + def lastmod(self, obj): + return obj.last_modify_time + + +class CategorySiteMap(Sitemap): + changefreq = "Weekly" + priority = "0.6" + + def items(self): + return Category.objects.all() + + def lastmod(self, obj): + return obj.last_modify_time + + +class TagSiteMap(Sitemap): + changefreq = "Weekly" + priority = "0.3" + + def items(self): + return Tag.objects.all() + + def lastmod(self, obj): + return obj.last_modify_time + + +class UserSiteMap(Sitemap): + changefreq = "Weekly" + priority = "0.3" + + def items(self): + return list(set(map(lambda x: x.author, Article.objects.all()))) + + def lastmod(self, obj): + return obj.date_joined diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/spider_notify.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/spider_notify.py new file mode 100644 index 0000000..7b909e9 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/spider_notify.py @@ -0,0 +1,21 @@ +import logging + +import requests +from django.conf import settings + +logger = logging.getLogger(__name__) + + +class SpiderNotify(): + @staticmethod + def baidu_notify(urls): + try: + data = '\n'.join(urls) + result = requests.post(settings.BAIDU_NOTIFY_URL, data=data) + logger.info(result.text) + except Exception as e: + logger.error(e) + + @staticmethod + def notify(url): + SpiderNotify.baidu_notify(url) diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/tests.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/tests.py new file mode 100644 index 0000000..01237d9 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/tests.py @@ -0,0 +1,32 @@ +from django.test import TestCase + +from djangoblog.utils import * + + +class DjangoBlogTest(TestCase): + def setUp(self): + pass + + def test_utils(self): + md5 = get_sha256('test') + self.assertIsNotNone(md5) + c = CommonMarkdown.get_markdown(''' + # Title1 + + ```python + import os + ``` + + [url](https://www.lylinux.net/) + + [ddd](http://www.baidu.com) + + + ''') + self.assertIsNotNone(c) + d = { + 'd': 'key1', + 'd2': 'key2' + } + data = parse_dict_to_url(d) + self.assertIsNotNone(data) diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/urls.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/urls.py new file mode 100644 index 0000000..e101637 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/urls.py @@ -0,0 +1,71 @@ +"""djangoblog URL Configuration + +The `urlpatterns` list routes URLs to views. For more information please see: + https://docs.djangoproject.com/en/1.10/topics/http/urls/ +Examples: +Function views + 1. Add an import: from my_app import views + 2. Add a URL to urlpatterns: url(r'^$', views.home, name='home') +Class-based views + 1. Add an import: from other_app.views import Home + 2. Add a URL to urlpatterns: url(r'^$', Home.as_view(), name='home') +Including another URLconf + 1. Import the include() function: from django.conf.urls import url, include + 2. Add a URL to urlpatterns: url(r'^blog/', include('blog.urls')) +""" +from django.conf import settings +from django.conf.urls.i18n import i18n_patterns +from django.conf.urls.static import static +from django.contrib.sitemaps.views import sitemap +from django.urls import path, include +from django.urls import re_path +from haystack.views import search_view_factory + +from blog.views import EsSearchView +from djangoblog.admin_site import admin_site +from djangoblog.elasticsearch_backend import ElasticSearchModelSearchForm +from djangoblog.feeds import DjangoBlogFeed +from djangoblog.sitemap import ArticleSiteMap, CategorySiteMap, StaticViewSitemap, TagSiteMap, UserSiteMap +from django.contrib import admin +from django.urls import path, re_path, include +from django.conf.urls.i18n import i18n_patterns +from django.contrib.sitemaps.views import sitemap +from blog.views import page_not_found_view, server_error_view, permission_denied_view, DjangoBlogFeed +from search.views import search_view_factory +from es_search.views import EsSearchView +from es_search.forms import ElasticSearchForm + +sitemaps = { + 'blog': ArticleSiteMap, + 'Category': CategorySiteMap, + 'Tag': TagSiteMap, + 'User': UserSiteMap, + 'static': StaticViewSitemap +} + +handler404 = 'blog.views.page_not_found_view' +handler500 = 'blog.views.server_error_view' +handler403 = 'blog.views.permission_denied_view' + +urlpatterns = [ + path('i18n/', include('django.conf.urls.i18n')), +] + +urlpatterns += i18n_patterns( + re_path(r'^admin/', admin.site.urls), + re_path(r'', include('blog.urls', namespace='blog')), + re_path(r'mdeditor/', include('mdeditor.urls')), + re_path(r'', include('comments.urls', namespace='comment')), + re_path(r'', include('accounts.urls', namespace='account')), + re_path(r'', include('oauth.urls', namespace='oauth')), + re_path(r'^sitemap\.xml$', sitemap, {'sitemaps': sitemaps}, name='django.contrib.sitemaps.views.sitemap'), + re_path(r'^feed/$', DjangoBlogFeed()), + re_path(r'^rss/$', DjangoBlogFeed()), + re_path(r'^search', search_view_factory(view_class=EsSearchView, form_class=ElasticSearchForm), name='search'), + re_path(r'', include('servermanager.urls', namespace='servermanager')), + re_path(r'', include('owntracks.urls', namespace='owntracks')), + prefix_default_language=False +) + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) + +if settings.DEBUG: + urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/utils.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/utils.py new file mode 100644 index 0000000..57f63dc --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/utils.py @@ -0,0 +1,232 @@ +#!/usr/bin/env python +# encoding: utf-8 + + +import logging +import os +import random +import string +import uuid +from hashlib import sha256 + +import bleach +import markdown +import requests +from django.conf import settings +from django.contrib.sites.models import Site +from django.core.cache import cache +from django.templatetags.static import static + +logger = logging.getLogger(__name__) + + +def get_max_articleid_commentid(): + from blog.models import Article + from comments.models import Comment + return (Article.objects.latest().pk, Comment.objects.latest().pk) + + +def get_sha256(str): + m = sha256(str.encode('utf-8')) + return m.hexdigest() + + +def cache_decorator(expiration=3 * 60): + def wrapper(func): + def news(*args, **kwargs): + try: + view = args[0] + key = view.get_cache_key() + except: + key = None + if not key: + unique_str = repr((func, args, kwargs)) + + m = sha256(unique_str.encode('utf-8')) + key = m.hexdigest() + value = cache.get(key) + if value is not None: + # logger.info('cache_decorator get cache:%s key:%s' % (func.__name__, key)) + if str(value) == '__default_cache_value__': + return None + else: + return value + else: + logger.debug( + 'cache_decorator set cache:%s key:%s' % + (func.__name__, key)) + value = func(*args, **kwargs) + if value is None: + cache.set(key, '__default_cache_value__', expiration) + else: + cache.set(key, value, expiration) + return value + + return news + + return wrapper + + +def expire_view_cache(path, servername, serverport, key_prefix=None): + ''' + 刷新视图缓存 + :param path:url路径 + :param servername:host + :param serverport:端口 + :param key_prefix:前缀 + :return:是否成功 + ''' + from django.http import HttpRequest + from django.utils.cache import get_cache_key + + request = HttpRequest() + request.META = {'SERVER_NAME': servername, 'SERVER_PORT': serverport} + request.path = path + + key = get_cache_key(request, key_prefix=key_prefix, cache=cache) + if key: + logger.info('expire_view_cache:get key:{path}'.format(path=path)) + if cache.get(key): + cache.delete(key) + return True + return False + + +@cache_decorator() +def get_current_site(): + site = Site.objects.get_current() + return site + + +class CommonMarkdown: + @staticmethod + def _convert_markdown(value): + md = markdown.Markdown( + extensions=[ + 'extra', + 'codehilite', + 'toc', + 'tables', + ] + ) + body = md.convert(value) + toc = md.toc + return body, toc + + @staticmethod + def get_markdown_with_toc(value): + body, toc = CommonMarkdown._convert_markdown(value) + return body, toc + + @staticmethod + def get_markdown(value): + body, toc = CommonMarkdown._convert_markdown(value) + return body + + +def send_email(emailto, title, content): + from djangoblog.blog_signals import send_email_signal + send_email_signal.send( + send_email.__class__, + emailto=emailto, + title=title, + content=content) + + +def generate_code() -> str: + """生成随机数验证码""" + return ''.join(random.sample(string.digits, 6)) + + +def parse_dict_to_url(dict): + from urllib.parse import quote + url = '&'.join(['{}={}'.format(quote(k, safe='/'), quote(v, safe='/')) + for k, v in dict.items()]) + return url + + +def get_blog_setting(): + value = cache.get('get_blog_setting') + if value: + return value + else: + from blog.models import BlogSettings + if not BlogSettings.objects.count(): + setting = BlogSettings() + setting.site_name = 'djangoblog' + setting.site_description = '基于Django的博客系统' + setting.site_seo_description = '基于Django的博客系统' + setting.site_keywords = 'Django,Python' + setting.article_sub_length = 300 + setting.sidebar_article_count = 10 + setting.sidebar_comment_count = 5 + setting.show_google_adsense = False + setting.open_site_comment = True + setting.analytics_code = '' + setting.beian_code = '' + setting.show_gongan_code = False + setting.comment_need_review = False + setting.save() + value = BlogSettings.objects.first() + logger.info('set cache get_blog_setting') + cache.set('get_blog_setting', value) + return value + + +def save_user_avatar(url): + ''' + 保存用户头像 + :param url:头像url + :return: 本地路径 + ''' + logger.info(url) + + try: + basedir = os.path.join(settings.STATICFILES, 'avatar') + rsp = requests.get(url, timeout=2) + if rsp.status_code == 200: + if not os.path.exists(basedir): + os.makedirs(basedir) + + image_extensions = ['.jpg', '.png', 'jpeg', '.gif'] + isimage = len([i for i in image_extensions if url.endswith(i)]) > 0 + ext = os.path.splitext(url)[1] if isimage else '.jpg' + save_filename = str(uuid.uuid4().hex) + ext + logger.info('保存用户头像:' + basedir + save_filename) + with open(os.path.join(basedir, save_filename), 'wb+') as file: + file.write(rsp.content) + return static('avatar/' + save_filename) + except Exception as e: + logger.error(e) + return static('blog/img/avatar.png') + + +def delete_sidebar_cache(): + from blog.models import LinkShowType + keys = ["sidebar" + x for x in LinkShowType.values] + for k in keys: + logger.info('delete sidebar key:' + k) + cache.delete(k) + + +def delete_view_cache(prefix, keys): + from django.core.cache.utils import make_template_fragment_key + key = make_template_fragment_key(prefix, keys) + cache.delete(key) + + +def get_resource_url(): + if settings.STATIC_URL: + return settings.STATIC_URL + else: + site = get_current_site() + return 'http://' + site.domain + '/static/' + + +ALLOWED_TAGS = ['a', 'abbr', 'acronym', 'b', 'blockquote', 'code', 'em', 'i', 'li', 'ol', 'pre', 'strong', 'ul', 'h1', + 'h2', 'p'] +ALLOWED_ATTRIBUTES = {'a': ['href', 'title'], 'abbr': ['title'], 'acronym': ['title']} + + +def sanitize_html(html): + return bleach.clean(html, tags=ALLOWED_TAGS, attributes=ALLOWED_ATTRIBUTES) diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/whoosh_cn_backend.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/whoosh_cn_backend.py new file mode 100644 index 0000000..04e3f7f --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/whoosh_cn_backend.py @@ -0,0 +1,1044 @@ +# encoding: utf-8 + +from __future__ import absolute_import, division, print_function, unicode_literals + +import json +import os +import re +import shutil +import threading +import warnings + +import six +from django.conf import settings +from django.core.exceptions import ImproperlyConfigured +from datetime import datetime +from django.utils.encoding import force_str +from haystack.backends import BaseEngine, BaseSearchBackend, BaseSearchQuery, EmptyResults, log_query +from haystack.constants import DJANGO_CT, DJANGO_ID, ID +from haystack.exceptions import MissingDependency, SearchBackendError, SkipDocument +from haystack.inputs import Clean, Exact, PythonData, Raw +from haystack.models import SearchResult +from haystack.utils import get_identifier, get_model_ct +from haystack.utils import log as logging +from haystack.utils.app_loading import haystack_get_model +from jieba.analyse import ChineseAnalyzer +from whoosh import index +from whoosh.analysis import StemmingAnalyzer +from whoosh.fields import BOOLEAN, DATETIME, IDLIST, KEYWORD, NGRAM, NGRAMWORDS, NUMERIC, Schema, TEXT +from whoosh.fields import ID as WHOOSH_ID +from whoosh.filedb.filestore import FileStorage, RamStorage +from whoosh.highlight import ContextFragmenter, HtmlFormatter +from whoosh.highlight import highlight as whoosh_highlight +from whoosh.qparser import QueryParser +from whoosh.searching import ResultsPage +from whoosh.writing import AsyncWriter + +try: + import whoosh +except ImportError: + raise MissingDependency( + "The 'whoosh' backend requires the installation of 'Whoosh'. Please refer to the documentation.") + +# Handle minimum requirement. +if not hasattr(whoosh, '__version__') or whoosh.__version__ < (2, 5, 0): + raise MissingDependency( + "The 'whoosh' backend requires version 2.5.0 or greater.") + +# Bubble up the correct error. + +DATETIME_REGEX = re.compile( + '^(?P\d{4})-(?P\d{2})-(?P\d{2})T(?P\d{2}):(?P\d{2}):(?P\d{2})(\.\d{3,6}Z?)?$') +LOCALS = threading.local() +LOCALS.RAM_STORE = None + + +class WhooshHtmlFormatter(HtmlFormatter): + """ + This is a HtmlFormatter simpler than the whoosh.HtmlFormatter. + We use it to have consistent results across backends. Specifically, + Solr, Xapian and Elasticsearch are using this formatting. + """ + template = '<%(tag)s>%(t)s' + + +class WhooshSearchBackend(BaseSearchBackend): + # Word reserved by Whoosh for special use. + RESERVED_WORDS = ( + 'AND', + 'NOT', + 'OR', + 'TO', + ) + + # Characters reserved by Whoosh for special use. + # The '\\' must come first, so as not to overwrite the other slash + # replacements. + RESERVED_CHARACTERS = ( + '\\', '+', '-', '&&', '||', '!', '(', ')', '{', '}', + '[', ']', '^', '"', '~', '*', '?', ':', '.', + ) + + def __init__(self, connection_alias, **connection_options): + super( + WhooshSearchBackend, + self).__init__( + connection_alias, + **connection_options) + self.setup_complete = False + self.use_file_storage = True + self.post_limit = getattr( + connection_options, + 'POST_LIMIT', + 128 * 1024 * 1024) + self.path = connection_options.get('PATH') + + if connection_options.get('STORAGE', 'file') != 'file': + self.use_file_storage = False + + if self.use_file_storage and not self.path: + raise ImproperlyConfigured( + "You must specify a 'PATH' in your settings for connection '%s'." % + connection_alias) + + self.log = logging.getLogger('haystack') + + def setup(self): + """ + Defers loading until needed. + """ + from haystack import connections + new_index = False + + # Make sure the index is there. + if self.use_file_storage and not os.path.exists(self.path): + os.makedirs(self.path) + new_index = True + + if self.use_file_storage and not os.access(self.path, os.W_OK): + raise IOError( + "The path to your Whoosh index '%s' is not writable for the current user/group." % + self.path) + + if self.use_file_storage: + self.storage = FileStorage(self.path) + else: + global LOCALS + + if getattr(LOCALS, 'RAM_STORE', None) is None: + LOCALS.RAM_STORE = RamStorage() + + self.storage = LOCALS.RAM_STORE + + self.content_field_name, self.schema = self.build_schema( + connections[self.connection_alias].get_unified_index().all_searchfields()) + self.parser = QueryParser(self.content_field_name, schema=self.schema) + + if new_index is True: + self.index = self.storage.create_index(self.schema) + else: + try: + self.index = self.storage.open_index(schema=self.schema) + except index.EmptyIndexError: + self.index = self.storage.create_index(self.schema) + + self.setup_complete = True + + def build_schema(self, fields): + schema_fields = { + ID: WHOOSH_ID(stored=True, unique=True), + DJANGO_CT: WHOOSH_ID(stored=True), + DJANGO_ID: WHOOSH_ID(stored=True), + } + # Grab the number of keys that are hard-coded into Haystack. + # We'll use this to (possibly) fail slightly more gracefully later. + initial_key_count = len(schema_fields) + content_field_name = '' + + for field_name, field_class in fields.items(): + if field_class.is_multivalued: + if field_class.indexed is False: + schema_fields[field_class.index_fieldname] = IDLIST( + stored=True, field_boost=field_class.boost) + else: + schema_fields[field_class.index_fieldname] = KEYWORD( + stored=True, commas=True, scorable=True, field_boost=field_class.boost) + elif field_class.field_type in ['date', 'datetime']: + schema_fields[field_class.index_fieldname] = DATETIME( + stored=field_class.stored, sortable=True) + elif field_class.field_type == 'integer': + schema_fields[field_class.index_fieldname] = NUMERIC( + stored=field_class.stored, numtype=int, field_boost=field_class.boost) + elif field_class.field_type == 'float': + schema_fields[field_class.index_fieldname] = NUMERIC( + stored=field_class.stored, numtype=float, field_boost=field_class.boost) + elif field_class.field_type == 'boolean': + # Field boost isn't supported on BOOLEAN as of 1.8.2. + schema_fields[field_class.index_fieldname] = BOOLEAN( + stored=field_class.stored) + elif field_class.field_type == 'ngram': + schema_fields[field_class.index_fieldname] = NGRAM( + minsize=3, maxsize=15, stored=field_class.stored, field_boost=field_class.boost) + elif field_class.field_type == 'edge_ngram': + schema_fields[field_class.index_fieldname] = NGRAMWORDS(minsize=2, maxsize=15, at='start', + stored=field_class.stored, + field_boost=field_class.boost) + else: + # schema_fields[field_class.index_fieldname] = TEXT(stored=True, analyzer=StemmingAnalyzer(), field_boost=field_class.boost, sortable=True) + schema_fields[field_class.index_fieldname] = TEXT( + stored=True, analyzer=ChineseAnalyzer(), field_boost=field_class.boost, sortable=True) + if field_class.document is True: + content_field_name = field_class.index_fieldname + schema_fields[field_class.index_fieldname].spelling = True + + # Fail more gracefully than relying on the backend to die if no fields + # are found. + if len(schema_fields) <= initial_key_count: + raise SearchBackendError( + "No fields were found in any search_indexes. Please correct this before attempting to search.") + + return (content_field_name, Schema(**schema_fields)) + + def update(self, index, iterable, commit=True): + if not self.setup_complete: + self.setup() + + self.index = self.index.refresh() + writer = AsyncWriter(self.index) + + for obj in iterable: + try: + doc = index.full_prepare(obj) + except SkipDocument: + self.log.debug(u"Indexing for object `%s` skipped", obj) + else: + # Really make sure it's unicode, because Whoosh won't have it any + # other way. + for key in doc: + doc[key] = self._from_python(doc[key]) + + # Document boosts aren't supported in Whoosh 2.5.0+. + if 'boost' in doc: + del doc['boost'] + + try: + writer.update_document(**doc) + except Exception as e: + if not self.silently_fail: + raise + + # We'll log the object identifier but won't include the actual object + # to avoid the possibility of that generating encoding errors while + # processing the log message: + self.log.error( + u"%s while preparing object for update" % + e.__class__.__name__, + exc_info=True, + extra={ + "data": { + "index": index, + "object": get_identifier(obj)}}) + + if len(iterable) > 0: + # For now, commit no matter what, as we run into locking issues + # otherwise. + writer.commit() + + def remove(self, obj_or_string, commit=True): + if not self.setup_complete: + self.setup() + + self.index = self.index.refresh() + whoosh_id = get_identifier(obj_or_string) + + try: + self.index.delete_by_query( + q=self.parser.parse( + u'%s:"%s"' % + (ID, whoosh_id))) + except Exception as e: + if not self.silently_fail: + raise + + self.log.error( + "Failed to remove document '%s' from Whoosh: %s", + whoosh_id, + e, + exc_info=True) + + def clear(self, models=None, commit=True): + if not self.setup_complete: + self.setup() + + self.index = self.index.refresh() + + if models is not None: + assert isinstance(models, (list, tuple)) + + try: + if models is None: + self.delete_index() + else: + models_to_delete = [] + + for model in models: + models_to_delete.append( + u"%s:%s" % + (DJANGO_CT, get_model_ct(model))) + + self.index.delete_by_query( + q=self.parser.parse( + u" OR ".join(models_to_delete))) + except Exception as e: + if not self.silently_fail: + raise + + if models is not None: + self.log.error( + "Failed to clear Whoosh index of models '%s': %s", + ','.join(models_to_delete), + e, + exc_info=True) + else: + self.log.error( + "Failed to clear Whoosh index: %s", e, exc_info=True) + + def delete_index(self): + # Per the Whoosh mailing list, if wiping out everything from the index, + # it's much more efficient to simply delete the index files. + if self.use_file_storage and os.path.exists(self.path): + shutil.rmtree(self.path) + elif not self.use_file_storage: + self.storage.clean() + + # Recreate everything. + self.setup() + + def optimize(self): + if not self.setup_complete: + self.setup() + + self.index = self.index.refresh() + self.index.optimize() + + def calculate_page(self, start_offset=0, end_offset=None): + # Prevent against Whoosh throwing an error. Requires an end_offset + # greater than 0. + if end_offset is not None and end_offset <= 0: + end_offset = 1 + + # Determine the page. + page_num = 0 + + if end_offset is None: + end_offset = 1000000 + + if start_offset is None: + start_offset = 0 + + page_length = end_offset - start_offset + + if page_length and page_length > 0: + page_num = int(start_offset / page_length) + + # Increment because Whoosh uses 1-based page numbers. + page_num += 1 + return page_num, page_length + + @log_query + def search( + self, + query_string, + sort_by=None, + start_offset=0, + end_offset=None, + fields='', + highlight=False, + facets=None, + date_facets=None, + query_facets=None, + narrow_queries=None, + spelling_query=None, + within=None, + dwithin=None, + distance_point=None, + models=None, + limit_to_registered_models=None, + result_class=None, + **kwargs): + if not self.setup_complete: + self.setup() + + # A zero length query should return no results. + if len(query_string) == 0: + return { + 'results': [], + 'hits': 0, + } + + query_string = force_str(query_string) + + # A one-character query (non-wildcard) gets nabbed by a stopwords + # filter and should yield zero results. + if len(query_string) <= 1 and query_string != u'*': + return { + 'results': [], + 'hits': 0, + } + + reverse = False + + if sort_by is not None: + # Determine if we need to reverse the results and if Whoosh can + # handle what it's being asked to sort by. Reversing is an + # all-or-nothing action, unfortunately. + sort_by_list = [] + reverse_counter = 0 + + for order_by in sort_by: + if order_by.startswith('-'): + reverse_counter += 1 + + if reverse_counter and reverse_counter != len(sort_by): + raise SearchBackendError("Whoosh requires all order_by fields" + " to use the same sort direction") + + for order_by in sort_by: + if order_by.startswith('-'): + sort_by_list.append(order_by[1:]) + + if len(sort_by_list) == 1: + reverse = True + else: + sort_by_list.append(order_by) + + if len(sort_by_list) == 1: + reverse = False + + sort_by = sort_by_list[0] + + if facets is not None: + warnings.warn( + "Whoosh does not handle faceting.", + Warning, + stacklevel=2) + + if date_facets is not None: + warnings.warn( + "Whoosh does not handle date faceting.", + Warning, + stacklevel=2) + + if query_facets is not None: + warnings.warn( + "Whoosh does not handle query faceting.", + Warning, + stacklevel=2) + + narrowed_results = None + self.index = self.index.refresh() + + if limit_to_registered_models is None: + limit_to_registered_models = getattr( + settings, 'HAYSTACK_LIMIT_TO_REGISTERED_MODELS', True) + + if models and len(models): + model_choices = sorted(get_model_ct(model) for model in models) + elif limit_to_registered_models: + # Using narrow queries, limit the results to only models handled + # with the current routers. + model_choices = self.build_models_list() + else: + model_choices = [] + + if len(model_choices) > 0: + if narrow_queries is None: + narrow_queries = set() + + narrow_queries.add(' OR '.join( + ['%s:%s' % (DJANGO_CT, rm) for rm in model_choices])) + + narrow_searcher = None + + if narrow_queries is not None: + # Potentially expensive? I don't see another way to do it in + # Whoosh... + narrow_searcher = self.index.searcher() + + for nq in narrow_queries: + recent_narrowed_results = narrow_searcher.search( + self.parser.parse(force_str(nq)), limit=None) + + if len(recent_narrowed_results) <= 0: + return { + 'results': [], + 'hits': 0, + } + + if narrowed_results: + narrowed_results.filter(recent_narrowed_results) + else: + narrowed_results = recent_narrowed_results + + self.index = self.index.refresh() + + if self.index.doc_count(): + searcher = self.index.searcher() + parsed_query = self.parser.parse(query_string) + + # In the event of an invalid/stopworded query, recover gracefully. + if parsed_query is None: + return { + 'results': [], + 'hits': 0, + } + + page_num, page_length = self.calculate_page( + start_offset, end_offset) + + search_kwargs = { + 'pagelen': page_length, + 'sortedby': sort_by, + 'reverse': reverse, + } + + # Handle the case where the results have been narrowed. + if narrowed_results is not None: + search_kwargs['filter'] = narrowed_results + + try: + raw_page = searcher.search_page( + parsed_query, + page_num, + **search_kwargs + ) + except ValueError: + if not self.silently_fail: + raise + + return { + 'results': [], + 'hits': 0, + 'spelling_suggestion': None, + } + + # Because as of Whoosh 2.5.1, it will return the wrong page of + # results if you request something too high. :( + if raw_page.pagenum < page_num: + return { + 'results': [], + 'hits': 0, + 'spelling_suggestion': None, + } + + results = self._process_results( + raw_page, + highlight=highlight, + query_string=query_string, + spelling_query=spelling_query, + result_class=result_class) + searcher.close() + + if hasattr(narrow_searcher, 'close'): + narrow_searcher.close() + + return results + else: + if self.include_spelling: + if spelling_query: + spelling_suggestion = self.create_spelling_suggestion( + spelling_query) + else: + spelling_suggestion = self.create_spelling_suggestion( + query_string) + else: + spelling_suggestion = None + + return { + 'results': [], + 'hits': 0, + 'spelling_suggestion': spelling_suggestion, + } + + def more_like_this( + self, + model_instance, + additional_query_string=None, + start_offset=0, + end_offset=None, + models=None, + limit_to_registered_models=None, + result_class=None, + **kwargs): + if not self.setup_complete: + self.setup() + + # Deferred models will have a different class ("RealClass_Deferred_fieldname") + # which won't be in our registry: + model_klass = model_instance._meta.concrete_model + + field_name = self.content_field_name + narrow_queries = set() + narrowed_results = None + self.index = self.index.refresh() + + if limit_to_registered_models is None: + limit_to_registered_models = getattr( + settings, 'HAYSTACK_LIMIT_TO_REGISTERED_MODELS', True) + + if models and len(models): + model_choices = sorted(get_model_ct(model) for model in models) + elif limit_to_registered_models: + # Using narrow queries, limit the results to only models handled + # with the current routers. + model_choices = self.build_models_list() + else: + model_choices = [] + + if len(model_choices) > 0: + if narrow_queries is None: + narrow_queries = set() + + narrow_queries.add(' OR '.join( + ['%s:%s' % (DJANGO_CT, rm) for rm in model_choices])) + + if additional_query_string and additional_query_string != '*': + narrow_queries.add(additional_query_string) + + narrow_searcher = None + + if narrow_queries is not None: + # Potentially expensive? I don't see another way to do it in + # Whoosh... + narrow_searcher = self.index.searcher() + + for nq in narrow_queries: + recent_narrowed_results = narrow_searcher.search( + self.parser.parse(force_str(nq)), limit=None) + + if len(recent_narrowed_results) <= 0: + return { + 'results': [], + 'hits': 0, + } + + if narrowed_results: + narrowed_results.filter(recent_narrowed_results) + else: + narrowed_results = recent_narrowed_results + + page_num, page_length = self.calculate_page(start_offset, end_offset) + + self.index = self.index.refresh() + raw_results = EmptyResults() + + if self.index.doc_count(): + query = "%s:%s" % (ID, get_identifier(model_instance)) + searcher = self.index.searcher() + parsed_query = self.parser.parse(query) + results = searcher.search(parsed_query) + + if len(results): + raw_results = results[0].more_like_this( + field_name, top=end_offset) + + # Handle the case where the results have been narrowed. + if narrowed_results is not None and hasattr(raw_results, 'filter'): + raw_results.filter(narrowed_results) + + try: + raw_page = ResultsPage(raw_results, page_num, page_length) + except ValueError: + if not self.silently_fail: + raise + + return { + 'results': [], + 'hits': 0, + 'spelling_suggestion': None, + } + + # Because as of Whoosh 2.5.1, it will return the wrong page of + # results if you request something too high. :( + if raw_page.pagenum < page_num: + return { + 'results': [], + 'hits': 0, + 'spelling_suggestion': None, + } + + results = self._process_results(raw_page, result_class=result_class) + searcher.close() + + if hasattr(narrow_searcher, 'close'): + narrow_searcher.close() + + return results + + def _process_results( + self, + raw_page, + highlight=False, + query_string='', + spelling_query=None, + result_class=None): + from haystack import connections + results = [] + + # It's important to grab the hits first before slicing. Otherwise, this + # can cause pagination failures. + hits = len(raw_page) + + if result_class is None: + result_class = SearchResult + + facets = {} + spelling_suggestion = None + unified_index = connections[self.connection_alias].get_unified_index() + indexed_models = unified_index.get_indexed_models() + + for doc_offset, raw_result in enumerate(raw_page): + score = raw_page.score(doc_offset) or 0 + app_label, model_name = raw_result[DJANGO_CT].split('.') + additional_fields = {} + model = haystack_get_model(app_label, model_name) + + if model and model in indexed_models: + for key, value in raw_result.items(): + index = unified_index.get_index(model) + string_key = str(key) + + if string_key in index.fields and hasattr( + index.fields[string_key], 'convert'): + # Special-cased due to the nature of KEYWORD fields. + if index.fields[string_key].is_multivalued: + if value is None or len(value) == 0: + additional_fields[string_key] = [] + else: + additional_fields[string_key] = value.split( + ',') + else: + additional_fields[string_key] = index.fields[string_key].convert( + value) + else: + additional_fields[string_key] = self._to_python(value) + + del (additional_fields[DJANGO_CT]) + del (additional_fields[DJANGO_ID]) + + if highlight: + sa = StemmingAnalyzer() + formatter = WhooshHtmlFormatter('em') + terms = [token.text for token in sa(query_string)] + + whoosh_result = whoosh_highlight( + additional_fields.get(self.content_field_name), + terms, + sa, + ContextFragmenter(), + formatter + ) + additional_fields['highlighted'] = { + self.content_field_name: [whoosh_result], + } + + result = result_class( + app_label, + model_name, + raw_result[DJANGO_ID], + score, + **additional_fields) + results.append(result) + else: + hits -= 1 + + if self.include_spelling: + if spelling_query: + spelling_suggestion = self.create_spelling_suggestion( + spelling_query) + else: + spelling_suggestion = self.create_spelling_suggestion( + query_string) + + return { + 'results': results, + 'hits': hits, + 'facets': facets, + 'spelling_suggestion': spelling_suggestion, + } + + def create_spelling_suggestion(self, query_string): + spelling_suggestion = None + reader = self.index.reader() + corrector = reader.corrector(self.content_field_name) + cleaned_query = force_str(query_string) + + if not query_string: + return spelling_suggestion + + # Clean the string. + for rev_word in self.RESERVED_WORDS: + cleaned_query = cleaned_query.replace(rev_word, '') + + for rev_char in self.RESERVED_CHARACTERS: + cleaned_query = cleaned_query.replace(rev_char, '') + + # Break it down. + query_words = cleaned_query.split() + suggested_words = [] + + for word in query_words: + suggestions = corrector.suggest(word, limit=1) + + if len(suggestions) > 0: + suggested_words.append(suggestions[0]) + + spelling_suggestion = ' '.join(suggested_words) + return spelling_suggestion + + def _from_python(self, value): + """ + Converts Python values to a string for Whoosh. + + Code courtesy of pysolr. + """ + if hasattr(value, 'strftime'): + if not hasattr(value, 'hour'): + value = datetime(value.year, value.month, value.day, 0, 0, 0) + elif isinstance(value, bool): + if value: + value = 'true' + else: + value = 'false' + elif isinstance(value, (list, tuple)): + value = u','.join([force_str(v) for v in value]) + elif isinstance(value, (six.integer_types, float)): + # Leave it alone. + pass + else: + value = force_str(value) + return value + + def _to_python(self, value): + """ + Converts values from Whoosh to native Python values. + + A port of the same method in pysolr, as they deal with data the same way. + """ + if value == 'true': + return True + elif value == 'false': + return False + + if value and isinstance(value, six.string_types): + possible_datetime = DATETIME_REGEX.search(value) + + if possible_datetime: + date_values = possible_datetime.groupdict() + + for dk, dv in date_values.items(): + date_values[dk] = int(dv) + + return datetime( + date_values['year'], + date_values['month'], + date_values['day'], + date_values['hour'], + date_values['minute'], + date_values['second']) + + try: + # Attempt to use json to load the values. + converted_value = json.loads(value) + + # Try to handle most built-in types. + if isinstance( + converted_value, + (list, + tuple, + set, + dict, + six.integer_types, + float, + complex)): + return converted_value + except BaseException: + # If it fails (SyntaxError or its ilk) or we don't trust it, + # continue on. + pass + + return value + + +class WhooshSearchQuery(BaseSearchQuery): + def _convert_datetime(self, date): + if hasattr(date, 'hour'): + return force_str(date.strftime('%Y%m%d%H%M%S')) + else: + return force_str(date.strftime('%Y%m%d000000')) + + def clean(self, query_fragment): + """ + Provides a mechanism for sanitizing user input before presenting the + value to the backend. + + Whoosh 1.X differs here in that you can no longer use a backslash + to escape reserved characters. Instead, the whole word should be + quoted. + """ + words = query_fragment.split() + cleaned_words = [] + + for word in words: + if word in self.backend.RESERVED_WORDS: + word = word.replace(word, word.lower()) + + for char in self.backend.RESERVED_CHARACTERS: + if char in word: + word = "'%s'" % word + break + + cleaned_words.append(word) + + return ' '.join(cleaned_words) + + def build_query_fragment(self, field, filter_type, value): + from haystack import connections + query_frag = '' + is_datetime = False + + if not hasattr(value, 'input_type_name'): + # Handle when we've got a ``ValuesListQuerySet``... + if hasattr(value, 'values_list'): + value = list(value) + + if hasattr(value, 'strftime'): + is_datetime = True + + if isinstance(value, six.string_types) and value != ' ': + # It's not an ``InputType``. Assume ``Clean``. + value = Clean(value) + else: + value = PythonData(value) + + # Prepare the query using the InputType. + prepared_value = value.prepare(self) + + if not isinstance(prepared_value, (set, list, tuple)): + # Then convert whatever we get back to what pysolr wants if needed. + prepared_value = self.backend._from_python(prepared_value) + + # 'content' is a special reserved word, much like 'pk' in + # Django's ORM layer. It indicates 'no special field'. + if field == 'content': + index_fieldname = '' + else: + index_fieldname = u'%s:' % connections[self._using].get_unified_index( + ).get_index_fieldname(field) + + filter_types = { + 'content': '%s', + 'contains': '*%s*', + 'endswith': "*%s", + 'startswith': "%s*", + 'exact': '%s', + 'gt': "{%s to}", + 'gte': "[%s to]", + 'lt': "{to %s}", + 'lte': "[to %s]", + 'fuzzy': u'%s~', + } + + if value.post_process is False: + query_frag = prepared_value + else: + if filter_type in [ + 'content', + 'contains', + 'startswith', + 'endswith', + 'fuzzy']: + if value.input_type_name == 'exact': + query_frag = prepared_value + else: + # Iterate over terms & incorportate the converted form of + # each into the query. + terms = [] + + if isinstance(prepared_value, six.string_types): + possible_values = prepared_value.split(' ') + else: + if is_datetime is True: + prepared_value = self._convert_datetime( + prepared_value) + + possible_values = [prepared_value] + + for possible_value in possible_values: + terms.append( + filter_types[filter_type] % + self.backend._from_python(possible_value)) + + if len(terms) == 1: + query_frag = terms[0] + else: + query_frag = u"(%s)" % " AND ".join(terms) + elif filter_type == 'in': + in_options = [] + + for possible_value in prepared_value: + is_datetime = False + + if hasattr(possible_value, 'strftime'): + is_datetime = True + + pv = self.backend._from_python(possible_value) + + if is_datetime is True: + pv = self._convert_datetime(pv) + + if isinstance(pv, six.string_types) and not is_datetime: + in_options.append('"%s"' % pv) + else: + in_options.append('%s' % pv) + + query_frag = "(%s)" % " OR ".join(in_options) + elif filter_type == 'range': + start = self.backend._from_python(prepared_value[0]) + end = self.backend._from_python(prepared_value[1]) + + if hasattr(prepared_value[0], 'strftime'): + start = self._convert_datetime(start) + + if hasattr(prepared_value[1], 'strftime'): + end = self._convert_datetime(end) + + query_frag = u"[%s to %s]" % (start, end) + elif filter_type == 'exact': + if value.input_type_name == 'exact': + query_frag = prepared_value + else: + prepared_value = Exact(prepared_value).prepare(self) + query_frag = filter_types[filter_type] % prepared_value + else: + if is_datetime is True: + prepared_value = self._convert_datetime(prepared_value) + + query_frag = filter_types[filter_type] % prepared_value + + if len(query_frag) and not isinstance(value, Raw): + if not query_frag.startswith('(') and not query_frag.endswith(')'): + query_frag = "(%s)" % query_frag + + return u"%s%s" % (index_fieldname, query_frag) + + # if not filter_type in ('in', 'range'): + # # 'in' is a bit of a special case, as we don't want to + # # convert a valid list/tuple to string. Defer handling it + # # until later... + # value = self.backend._from_python(value) + + +class WhooshEngine(BaseEngine): + backend = WhooshSearchBackend + query = WhooshSearchQuery diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/wsgi.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/wsgi.py new file mode 100644 index 0000000..2295efd --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/djangoblog/wsgi.py @@ -0,0 +1,16 @@ +""" +WSGI config for djangoblog 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.10/howto/deployment/wsgi/ +""" + +import os + +from django.core.wsgi import get_wsgi_application + +os.environ.setdefault("DJANGO_SETTINGS_MODULE", "djangoblog.settings") + +application = get_wsgi_application() diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/docs/README-en.md b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/docs/README-en.md new file mode 100644 index 0000000..37ea069 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/docs/README-en.md @@ -0,0 +1,158 @@ +# DjangoBlog + +

+ Django CI + CodeQL + codecov + license +

+ +

+ A powerful, elegant, and modern blog system. +
+ English简体中文 +

+ +--- + +DjangoBlog is a high-performance blog platform built with Python 3.10 and Django 4.0. It not only provides all the core functionalities of a traditional blog but also features a flexible plugin system, allowing you to easily extend and customize your website. Whether you are a personal blogger, a tech enthusiast, or a content creator, DjangoBlog aims to provide a stable, efficient, and easy-to-maintain environment for writing and publishing. + +## ✨ Features + +- **Powerful Content Management**: Full support for managing articles, standalone pages, categories, and tags. Comes with a powerful built-in Markdown editor with syntax highlighting. +- **Full-Text Search**: Integrated search engine for fast and accurate content searching. +- **Interactive Comment System**: Supports replies, email notifications, and Markdown formatting in comments. +- **Flexible Sidebar**: Customizable modules for displaying recent articles, most viewed posts, tag cloud, and more. +- **Social Login**: Built-in OAuth support, with integrations for Google, GitHub, Facebook, Weibo, QQ, and other major platforms. +- **High-Performance Caching**: Native support for Redis caching with an automatic refresh mechanism to ensure high-speed website responses. +- **SEO Friendly**: Basic SEO features are included, with automatic notifications to Google and Baidu upon new content publication. +- **Extensible Plugin System**: Extend blog functionalities by creating standalone plugins, ensuring decoupled and maintainable code. We have already implemented features like view counting and SEO optimization through plugins! +- **Integrated Image Hosting**: A simple, built-in image hosting feature for easy uploads and management. +- **Automated Frontend**: Integrated with `django-compressor` to automatically compress and optimize CSS and JavaScript files. +- **Robust Operations**: Built-in email notifications for website exceptions and management capabilities through a WeChat Official Account. + +## 🛠️ Tech Stack + +- **Backend**: Python 3.10, Django 4.0 +- **Database**: MySQL, SQLite (configurable) +- **Cache**: Redis +- **Frontend**: HTML5, CSS3, JavaScript +- **Search**: Whoosh, Elasticsearch (configurable) +- **Editor**: Markdown (mdeditor) + +## 🚀 Getting Started + +### 1. Prerequisites + +Ensure you have Python 3.10+ and MySQL/MariaDB installed on your system. + +### 2. Clone & Installation + +```bash +# Clone the project to your local machine +git clone https://github.com/liangliangyy/DjangoBlog.git +cd DjangoBlog + +# Install dependencies +pip install -r requirements.txt +``` + +### 3. Project Configuration + +- **Database**: + Open `djangoblog/settings.py`, locate the `DATABASES` section, and update it with your MySQL connection details. + + ```python + DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.mysql', + 'NAME': 'djangoblog', + 'USER': 'root', + 'PASSWORD': 'your_password', + 'HOST': '127.0.0.1', + 'PORT': 3306, + } + } + ``` + Create the database in MySQL: + ```sql + CREATE DATABASE `djangoblog` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; + ``` + +- **More Configurations**: + For advanced settings such as email, OAuth, caching, and more, please refer to our [Detailed Configuration Guide](/docs/config-en.md). + +### 4. Database Initialization + +```bash +python manage.py makemigrations +python manage.py migrate + +# Create a superuser account +python manage.py createsuperuser +``` + +### 5. Running the Project + +```bash +# (Optional) Generate some test data +python manage.py create_testdata + +# (Optional) Collect and compress static files +python manage.py collectstatic --noinput +python manage.py compress --force + +# Start the development server +python manage.py runserver +``` + +Now, open your browser and navigate to `http://127.0.0.1:8000/`. You should see the DjangoBlog homepage! + +## Deployment + +- **Traditional Deployment**: A detailed guide for server deployment is available here: [Deployment Tutorial](https://www.lylinux.net/article/2019/8/5/58.html) (in Chinese). +- **Docker Deployment**: This project fully supports Docker. If you are familiar with containerization, please refer to the [Docker Deployment Guide](/docs/docker-en.md) for a quick start. +- **Kubernetes Deployment**: We also provide a complete [Kubernetes Deployment Guide](/docs/k8s-en.md) to help you go cloud-native easily. + +## 🧩 Plugin System + +The plugin system is a core feature of DjangoBlog. It allows you to add new functionalities to your blog without modifying the core codebase by writing standalone plugins. + +- **How it Works**: Plugins operate by registering callback functions to predefined "hooks". For instance, when an article is rendered, the `after_article_body_get` hook is triggered, and all functions registered to this hook are executed. +- **Existing Plugins**: Features like `view_count` and `seo_optimizer` are implemented through this plugin system. +- **Develop Your Own Plugin**: Simply create a new folder under the `plugins` directory and write your `plugin.py`. We welcome you to explore and contribute your creative ideas to the DjangoBlog community! + +## 🤝 Contributing + +We warmly welcome contributions of any kind! If you have great ideas or have found a bug, please feel free to open an issue or submit a pull request. + +## 📄 License + +This project is open-sourced under the [MIT License](LICENSE). + +--- + +## ❤️ Support & Sponsorship + +If you find this project helpful and wish to support its continued maintenance and development, please consider buying me a coffee! Your support is my greatest motivation. + +

+ Alipay Sponsorship + WeChat Sponsorship +

+

+ (Left) Alipay / (Right) WeChat +

+ +## 🙏 Acknowledgements + +A special thanks to **JetBrains** for providing a free open-source license for this project. + +

+ + JetBrains Logo + +

+ +--- +> If this project has helped you, please leave your website URL [here](https://github.com/liangliangyy/DjangoBlog/issues/214) to let more people see it. Your feedback is the driving force for my continued updates and maintenance. diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/docs/config-en.md b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/docs/config-en.md new file mode 100644 index 0000000..b877efb --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/docs/config-en.md @@ -0,0 +1,64 @@ +# Introduction to main features settings + +## Cache: +Cache using `memcache` for default. If you don't have `memcache` environment, you can remove the `default` setting in `CACHES` and change `locmemcache` to `default`. +```python +CACHES = { + 'default': { + 'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache', + 'LOCATION': '127.0.0.1:11211', + 'KEY_PREFIX': 'django_test' if TESTING else 'djangoblog', + 'TIMEOUT': 60 * 60 * 10 + }, + 'locmemcache': { + 'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', + 'TIMEOUT': 10800, + 'LOCATION': 'unique-snowflake', + } +} +``` + +## OAuth Login: +QQ, Weibo, Google, GitHub and Facebook are now supported for OAuth login. Fetch OAuth login permissions from the corresponding open platform, and save them with `appkey`, `appsecret` and callback address in **Backend->OAuth** configuration. + +### Callback address examples: +QQ: http://your-domain-name/oauth/authorize?type=qq +Weibo: http://your-domain-name/oauth/authorize?type=weibo +type is in the type field of `oauthmanager`. + +## owntracks: +owntracks is a location tracking application. It will send your locaiton to the server by timing.Simple support owntracks features. Just install owntracks app and set api address as `your-domain-name/owntracks/logtracks`. Visit `your-domain-name/owntracks/show_dates` and you will see the date with latitude and langitude, click it and see the motion track. The map is drawn by AMap. + +## Email feature: +Same as before, Configure your own error msg recvie email information with`ADMINS = [('liangliang', 'liangliangyy@gmail.com')]` in `settings.py`. And modify: +```python +EMAIL_HOST = 'smtp.zoho.com' +EMAIL_PORT = 587 +EMAIL_HOST_USER = os.environ.get('DJANGO_EMAIL_USER') +EMAIL_HOST_PASSWORD = os.environ.get('DJANGO_EMAIL_PASSWORD') +DEFAULT_FROM_EMAIL = EMAIL_HOST_USER +SERVER_EMAIL = os.environ.get('DJANGO_EMAIL_USER') +``` +with your email account information. + +## WeChat Official Account +Simple wechat official account features integrated. Set token as `your-domain-name/robot` in wechat backend. Default token is `lylinux`, you can change it to your own in `servermanager/robot.py`. Add a new command in `Backend->Servermanager->command`, in this way, you can manage the system through wechat official account. + +## Introduction to website configuration +You can add website configuration in **Backend->BLOG->WebSiteConfiguration**. Such as: keywords, description, Google Ad, website stats code, case number, etc. +OAuth user avatar path is saved in *StaticFileSavedAddress*. Please input absolute path, code directory for default. + +## Source code highlighting +If the code block in your article didn't show hightlight, please write the code blocks as following: + +![](https://resource.lylinux.net/image/codelang.png) + +That is, you should add the corresponding language name before the code block. + +## Update +If you get errors as following while executing database migrations: +```python +django.db.migrations.exceptions.MigrationSchemaMissing: Unable to create the django_migrations table ((1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(6) NOT NULL)' at line 1")) +``` +This problem may cause by the mysql version under 5.6, a new version( >= 5.6 ) mysql is needed. + diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/docs/config.md b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/docs/config.md new file mode 100644 index 0000000..24673a3 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/docs/config.md @@ -0,0 +1,58 @@ +# 主要功能配置介绍: + +## 缓存: +缓存默认使用`localmem`缓存,如果你有`redis`环境,可以设置`DJANGO_REDIS_URL`环境变量,则会自动使用该redis来作为缓存,或者你也可以直接修改如下代码来使用。 +https://github.com/liangliangyy/DjangoBlog/blob/ffcb2c3711de805f2067dd3c1c57449cd24d84ee/djangoblog/settings.py#L185-L199 + + +## oauth登录: + +现在已经支持QQ,微博,Google,GitHub,Facebook登录,需要在其对应的开放平台申请oauth登录权限,然后在 +**后台->Oauth** 配置中新增配置,填写对应的`appkey`和`appsecret`以及回调地址。 +### 回调地址示例: +qq:http://你的域名/oauth/authorize?type=qq +微博:http://你的域名/oauth/authorize?type=weibo +type对应在`oauthmanager`中的type字段。 + +## owntracks: +owntracks是一个位置追踪软件,可以定时的将你的坐标提交到你的服务器上,现在简单的支持owntracks功能,需要安装owntracks的app,然后将api地址设置为: +`你的域名/owntracks/logtracks`就可以了。然后访问`你的域名/owntracks/show_dates`就可以看到有经纬度记录的日期,点击之后就可以看到运动轨迹了。地图是使用高德地图绘制。 + +## 邮件功能: +同样,将`settings.py`中的`ADMINS = [('liangliang', 'liangliangyy@gmail.com')]`配置为你自己的错误接收邮箱,另外修改: +```python +EMAIL_HOST = 'smtp.zoho.com' +EMAIL_PORT = 587 +EMAIL_HOST_USER = os.environ.get('DJANGO_EMAIL_USER') +EMAIL_HOST_PASSWORD = os.environ.get('DJANGO_EMAIL_PASSWORD') +DEFAULT_FROM_EMAIL = EMAIL_HOST_USER +SERVER_EMAIL = os.environ.get('DJANGO_EMAIL_USER') +``` +为你自己的邮箱配置。 + +## 微信公众号 +集成了简单的微信公众号功能,在微信后台将token地址设置为:`你的域名/robot` 即可,默认token为`lylinux`,当然你可以修改为你自己的,在`servermanager/robot.py`中。 +然后在**后台->Servermanager->命令**中新增命令,这样就可以使用微信公众号来管理了。 +## 网站配置介绍 +在**后台->BLOG->网站配置**中,可以新增网站配置,比如关键字,描述等,以及谷歌广告,网站统计代码及备案号等等。 +其中的*静态文件保存地址*是保存oauth用户登录的头像路径,填写绝对路径,默认是代码目录。 +## 代码高亮 +如果你发现你文章的代码没有高亮,请这样书写代码块: + +![](https://resource.lylinux.net/image/codelang.png) + + +也就是说,需要在代码块开始位置加入这段代码对应的语言。 + +## update +如果你发现执行数据库迁移的时候出现如下报错: +```python +django.db.migrations.exceptions.MigrationSchemaMissing: Unable to create the django_migrations table ((1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(6) NOT NULL)' at line 1")) +``` +可能是因为你的mysql版本低于5.6,需要升级mysql版本>=5.6即可。 + + +django 4.0登录可能会报错CSRF,需要配置下`settings.py`中的`CSRF_TRUSTED_ORIGINS` + +https://github.com/liangliangyy/DjangoBlog/blob/master/djangoblog/settings.py#L39 + diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/docs/docker-en.md b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/docs/docker-en.md new file mode 100644 index 0000000..8d5d59e --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/docs/docker-en.md @@ -0,0 +1,114 @@ +# Deploying DjangoBlog with Docker + +![Docker Pulls](https://img.shields.io/docker/pulls/liangliangyy/djangoblog) +![Docker Image Version (latest by date)](https://img.shields.io/docker/v/liangliangyy/djangoblog?sort=date) +![Docker Image Size (latest by date)](https://img.shields.io/docker/image-size/liangliangyy/djangoblog) + +This project fully supports containerized deployment using Docker, providing you with a fast, consistent, and isolated runtime environment. We recommend using `docker-compose` to launch the entire blog service stack with a single command. + +## 1. Prerequisites + +Before you begin, please ensure you have the following software installed on your system: +- [Docker Engine](https://docs.docker.com/engine/install/) +- [Docker Compose](https://docs.docker.com/compose/install/) (Included with Docker Desktop for Mac and Windows) + +## 2. Recommended Method: Using `docker-compose` (One-Click Deployment) + +This is the simplest and most recommended way to deploy. It automatically creates and manages the Django application, a MySQL database, and an optional Elasticsearch service for you. + +### Step 1: Start the Basic Services + +From the project's root directory, run the following command: + +```bash +# Build and start the containers in detached mode (includes Django app and MySQL) +docker-compose up -d --build +``` + +`docker-compose` will read the `docker-compose.yml` file, pull the necessary images, build the project image, and start all services. + +- **Access Your Blog**: Once the services are up, you can access the blog by navigating to `http://127.0.0.1` in your browser. +- **Data Persistence**: MySQL data files will be stored in the `data/mysql` directory within the project root, ensuring that your data persists across container restarts. + +### Step 2: (Optional) Enable Elasticsearch for Full-Text Search + +If you want to use Elasticsearch for more powerful full-text search capabilities, you can include the `docker-compose.es.yml` configuration file: + +```bash +# Build and start all services in detached mode (Django, MySQL, Elasticsearch) +docker-compose -f docker-compose.yml -f deploy/docker-compose/docker-compose.es.yml up -d --build +``` +- **Data Persistence**: Elasticsearch data will be stored in the `data/elasticsearch` directory. + +### Step 3: First-Time Initialization + +After the containers start for the first time, you'll need to execute some initialization commands inside the application container. + +```bash +# Get a shell inside the djangoblog application container (named 'web') +docker-compose exec web bash + +# Inside the container, run the following commands: +# Create a superuser account (follow the prompts to set username, email, and password) +python manage.py createsuperuser + +# (Optional) Create some test data +python manage.py create_testdata + +# (Optional, if ES is enabled) Create the search index +python manage.py rebuild_index + +# Exit the container +exit +``` + +## 3. Alternative Method: Using the Standalone Docker Image + +If you already have an external MySQL database running, you can run the DjangoBlog application image by itself. + +```bash +# Pull the latest image from Docker Hub +docker pull liangliangyy/djangoblog:latest + +# Run the container and connect it to your external database +docker run -d \ + -p 8000:8000 \ + -e DJANGO_SECRET_KEY='your-strong-secret-key' \ + -e DJANGO_MYSQL_HOST='your-mysql-host' \ + -e DJANGO_MYSQL_USER='your-mysql-user' \ + -e DJANGO_MYSQL_PASSWORD='your-mysql-password' \ + -e DJANGO_MYSQL_DATABASE='djangoblog' \ + --name djangoblog \ + liangliangyy/djangoblog:latest +``` + +- **Access Your Blog**: After startup, visit `http://127.0.0.1:8000`. +- **Create Superuser**: `docker exec -it djangoblog python manage.py createsuperuser` + +## 4. Configuration (Environment Variables) + +Most of the project's configuration is managed through environment variables. You can modify them in the `docker-compose.yml` file or pass them using the `-e` flag with the `docker run` command. + +| Environment Variable | Default/Example Value | Notes | +|---------------------------|--------------------------------------------------------------------------|---------------------------------------------------------------------| +| `DJANGO_SECRET_KEY` | `your-strong-secret-key` | **Must be changed to a random, complex string!** | +| `DJANGO_DEBUG` | `False` | Toggles Django's debug mode. | +| `DJANGO_MYSQL_HOST` | `mysql` | Database hostname. | +| `DJANGO_MYSQL_PORT` | `3306` | Database port. | +| `DJANGO_MYSQL_DATABASE` | `djangoblog` | Database name. | +| `DJANGO_MYSQL_USER` | `root` | Database username. | +| `DJANGO_MYSQL_PASSWORD` | `djangoblog_123` | Database password. | +| `DJANGO_REDIS_URL` | `redis:6379/0` | Redis connection URL (for caching). | +| `DJANGO_ELASTICSEARCH_HOST`| `elasticsearch:9200` | Elasticsearch host address. | +| `DJANGO_EMAIL_HOST` | `smtp.example.org` | Email server address. | +| `DJANGO_EMAIL_PORT` | `465` | Email server port. | +| `DJANGO_EMAIL_USER` | `user@example.org` | Email account username. | +| `DJANGO_EMAIL_PASSWORD` | `your-email-password` | Email account password. | +| `DJANGO_EMAIL_USE_SSL` | `True` | Whether to use SSL. | +| `DJANGO_EMAIL_USE_TLS` | `False` | Whether to use TLS. | +| `DJANGO_ADMIN_EMAIL` | `admin@example.org` | Admin email for receiving error reports. | +| `DJANGO_BAIDU_NOTIFY_URL` | `http://data.zz.baidu.com/...` | Push API from [Baidu Webmaster Tools](https://ziyuan.baidu.com/linksubmit/index). | + +--- + +After deployment, please review and adjust these environment variables according to your needs, especially `DJANGO_SECRET_KEY` and the database and email settings. \ No newline at end of file diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/docs/docker.md b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/docs/docker.md new file mode 100644 index 0000000..e7c255a --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/docs/docker.md @@ -0,0 +1,114 @@ +# 使用 Docker 部署 DjangoBlog + +![Docker Pulls](https://img.shields.io/docker/pulls/liangliangyy/djangoblog) +![Docker Image Version (latest by date)](https://img.shields.io/docker/v/liangliangyy/djangoblog?sort=date) +![Docker Image Size (latest by date)](https://img.shields.io/docker/image-size/liangliangyy/djangoblog) + +本项目全面支持使用 Docker 进行容器化部署,为您提供了快速、一致且隔离的运行环境。我们推荐使用 `docker-compose` 来一键启动整个博客服务栈。 + +## 1. 环境准备 + +在开始之前,请确保您的系统中已经安装了以下软件: +- [Docker Engine](https://docs.docker.com/engine/install/) +- [Docker Compose](https://docs.docker.com/compose/install/) (对于 Docker Desktop 用户,它已内置) + +## 2. 推荐方式:使用 `docker-compose` (一键部署) + +这是最简单、最推荐的部署方式。它会自动为您创建并管理 Django 应用、MySQL 数据库,以及可选的 Elasticsearch 服务。 + +### 步骤 1: 启动基础服务 + +在项目根目录下,执行以下命令: + +```bash +# 构建并以后台模式启动容器 (包含 Django 应用和 MySQL) +docker-compose up -d --build +``` + +`docker-compose` 会读取 `docker-compose.yml` 文件,自动拉取所需镜像、构建项目镜像,并启动所有服务。 + +- **访问您的博客**: 服务启动后,在浏览器中访问 `http://127.0.0.1` 即可看到博客首页。 +- **数据持久化**: MySQL 的数据文件将存储在项目根目录下的 `data/mysql` 文件夹中,确保数据在容器重启后不丢失。 + +### 步骤 2: (可选) 启用 Elasticsearch 全文搜索 + +如果您希望使用 Elasticsearch 提供更强大的全文搜索功能,可以额外加载 `docker-compose.es.yml` 配置文件: + +```bash +# 构建并以后台模式启动所有服务 (Django, MySQL, Elasticsearch) +docker-compose -f docker-compose.yml -f deploy/docker-compose/docker-compose.es.yml up -d --build +``` +- **数据持久化**: Elasticsearch 的数据将存储在 `data/elasticsearch` 文件夹中。 + +### 步骤 3: 首次运行的初始化操作 + +当容器首次启动后,您需要进入容器来执行一些初始化命令。 + +```bash +# 进入 djangoblog 应用容器 +docker-compose exec web bash + +# 在容器内执行以下命令: +# 创建超级管理员账户 (请按照提示设置用户名、邮箱和密码) +python manage.py createsuperuser + +# (可选) 创建一些测试数据 +python manage.py create_testdata + +# (可选,如果启用了 ES) 创建索引 +python manage.py rebuild_index + +# 退出容器 +exit +``` + +## 3. 备选方式:使用独立的 Docker 镜像 + +如果您已经拥有一个正在运行的外部 MySQL 数据库,您也可以只运行 DjangoBlog 的应用镜像。 + +```bash +# 从 Docker Hub 拉取最新镜像 +docker pull liangliangyy/djangoblog:latest + +# 运行容器,并链接到您的外部数据库 +docker run -d \ + -p 8000:8000 \ + -e DJANGO_SECRET_KEY='your-strong-secret-key' \ + -e DJANGO_MYSQL_HOST='your-mysql-host' \ + -e DJANGO_MYSQL_USER='your-mysql-user' \ + -e DJANGO_MYSQL_PASSWORD='your-mysql-password' \ + -e DJANGO_MYSQL_DATABASE='djangoblog' \ + --name djangoblog \ + liangliangyy/djangoblog:latest +``` + +- **访问您的博客**: 启动完成后,访问 `http://127.0.0.1:8000`。 +- **创建管理员**: `docker exec -it djangoblog python manage.py createsuperuser` + +## 4. 配置说明 (环境变量) + +本项目的大部分配置都通过环境变量来管理。您可以在 `docker-compose.yml` 文件中修改它们,或者在使用 `docker run` 命令时通过 `-e` 参数传入。 + +| 环境变量名称 | 默认值/示例 | 备注 | +|-------------------------|--------------------------------------------------------------------------|---------------------------------------------------------------------| +| `DJANGO_SECRET_KEY` | `your-strong-secret-key` | **请务必修改为一个随机且复杂的字符串!** | +| `DJANGO_DEBUG` | `False` | 是否开启 Django 的调试模式 | +| `DJANGO_MYSQL_HOST` | `mysql` | 数据库主机名 | +| `DJANGO_MYSQL_PORT` | `3306` | 数据库端口 | +| `DJANGO_MYSQL_DATABASE` | `djangoblog` | 数据库名称 | +| `DJANGO_MYSQL_USER` | `root` | 数据库用户名 | +| `DJANGO_MYSQL_PASSWORD` | `djangoblog_123` | 数据库密码 | +| `DJANGO_REDIS_URL` | `redis:6379/0` | Redis 连接地址 (用于缓存) | +| `DJANGO_ELASTICSEARCH_HOST` | `elasticsearch:9200` | Elasticsearch 主机地址 | +| `DJANGO_EMAIL_HOST` | `smtp.example.org` | 邮件服务器地址 | +| `DJANGO_EMAIL_PORT` | `465` | 邮件服务器端口 | +| `DJANGO_EMAIL_USER` | `user@example.org` | 邮件账户 | +| `DJANGO_EMAIL_PASSWORD` | `your-email-password` | 邮件密码 | +| `DJANGO_EMAIL_USE_SSL` | `True` | 是否使用 SSL | +| `DJANGO_EMAIL_USE_TLS` | `False` | 是否使用 TLS | +| `DJANGO_ADMIN_EMAIL` | `admin@example.org` | 接收异常报告的管理员邮箱 | +| `DJANGO_BAIDU_NOTIFY_URL` | `http://data.zz.baidu.com/...` | [百度站长平台](https://ziyuan.baidu.com/linksubmit/index) 的推送接口 | + +--- + +部署完成后,请务必检查并根据您的实际需求调整这些环境变量,特别是 `DJANGO_SECRET_KEY` 和数据库、邮件相关的配置。 diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/docs/es.md b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/docs/es.md new file mode 100644 index 0000000..97226c5 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/docs/es.md @@ -0,0 +1,28 @@ +# 集成Elasticsearch +如果你已经有了`Elasticsearch`环境,那么可以将搜索从`Whoosh`换成`Elasticsearch`,集成方式也很简单, +首先需要注意如下几点: +1. 你的`Elasticsearch`支持`ik`中文分词 +2. 你的`Elasticsearch`版本>=7.3.0 + +接下来在`settings.py`做如下改动即可: +- 增加es链接,如下所示: +```python +ELASTICSEARCH_DSL = { + 'default': { + 'hosts': '127.0.0.1:9200' + }, +} +``` +- 修改`HAYSTACK`配置: +```python +HAYSTACK_CONNECTIONS = { + 'default': { + 'ENGINE': 'djangoblog.elasticsearch_backend.ElasticSearchEngine', + }, +} +``` +然后终端执行: +```shell script +./manage.py build_index +``` +这将会在你的es中创建两个索引,分别是`blog`和`performance`,其中`blog`索引就是搜索所使用的,而`performance`会记录每个请求的响应时间,以供将来优化使用。 \ No newline at end of file diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/docs/imgs/alipay.jpg b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/docs/imgs/alipay.jpg new file mode 100644 index 0000000000000000000000000000000000000000..424d70a2ffbb629b481e0c27d72d6076727e8041 GIT binary patch literal 17961 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⁡O0bI!3Bi@jSTgKn>Bg&Q53II7XEA`NhoOY$25L(eK?<1>~>hujoRs}yUHVX zQTt}~MN1Zw0!xe7-aUbnm3fxd*KjwLLobx-SSZdGT`vUtB-=hS^~#Rs9K<#Wao{Zp z{kmB)_tVwwglj-W2qla4$Dx zz53|611jp`Ro8}#TnY+1OdA}SN;lGY+!=)=QY;q0b}yA~i0O^|s1#r34{5DET&Qh` z+yAF+h#H($?p6{{X zz@F@jlhUjuyW%|!{Q!~$q>$)y1Hsl$FMYS;#r=c7U7SN-8Uv-lv<@mZOXKOlXLy4C z3v?;Yh1KbtsO!ynC%cyr-`4MR8{Y~e28GXK7yRZ9{3d5(xoP=XYdX*Uy?#pU$a5>& z`JUOV_ zRl}`OH8`y;U%XD+MFBD!HxL@B`JSH_G!;0V9-A+_4Hhf%=wJ%txE{qNaHkfkLsS+h zfe@JrYreKrFKhU2`1kD)K_#LCd!v$sI$is2ee^7Am=@kq2Z-`cU(l{<8*ON_J?@@& zOR+4E3%sN-vIK-%81R}RdPK$bCrBoGF zRu$>N^0s*R^!6R919|j@|cY|A}(o`$`Onha=;(7(EQNg;0 z^sK+j)DQ>i-wCKpkXH^lH{QNw|FWJ%bUle^xtPfLdv#(gNpA7lv59GyIOXp*E+vz_!y|AkM=lB7mYXSWGfxr6#WlV5UW{v7tVn1!e zwg=v}kG!o+0qXfY-FyUozk}%&PS$ZRL^NoDuz%nVw(p)FVMPG6Ph*mgs4z0~C)P`9 zWsg_X!-)T2FkH=VqaRBu8Zkq=AX6oLSWpg(yQ^NIftdmxjx literal 0 HcmV?d00001 diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/docs/imgs/pycharm_logo.png b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/docs/imgs/pycharm_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..7f2a4b0ea66469bd218774de8cb3027a9c18b84d GIT binary patch literal 132045 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 z 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

*$hI3G#u%WdV|9<`IE_VBVx2~ei~?p& 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


AewDOjh!MMu(vjQJBsiX3ZCmAui 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 literal 0 HcmV?d00001 diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/docs/k8s-en.md b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/docs/k8s-en.md new file mode 100644 index 0000000..20e9527 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/docs/k8s-en.md @@ -0,0 +1,141 @@ +# Deploying DjangoBlog with Kubernetes + +This document guides you through deploying the DjangoBlog application on a Kubernetes (K8s) cluster. We provide a complete set of `.yaml` configuration files in the `deploy/k8s` directory to deploy a full service stack, including the DjangoBlog application, Nginx, MySQL, Redis, and Elasticsearch. + +## Architecture Overview + +This deployment utilizes a microservices-based, cloud-native architecture: + +- **Core Components**: Each core service (DjangoBlog, Nginx, MySQL, Redis, Elasticsearch) runs as a separate `Deployment`. +- **Configuration Management**: Nginx configurations and Django application environment variables are managed via `ConfigMap`. **Note: For sensitive information like passwords, using `Secret` is highly recommended.** +- **Service Discovery**: All services are exposed internally within the cluster as `ClusterIP` type `Service`, enabling communication via service names. +- **External Access**: An `Ingress` resource is used to route external HTTP traffic to the Nginx service, which acts as the single entry point for the entire blog application. +- **Data Persistence**: A `local-storage` solution based on node-local paths is used. This requires you to manually create storage directories on a specific K8s node and statically bind them using `PersistentVolume` (PV) and `PersistentVolumeClaim` (PVC). + +## 1. Prerequisites + +Before you begin, please ensure you have the following: + +- A running Kubernetes cluster. +- The `kubectl` command-line tool configured to connect to your cluster. +- An [Nginx Ingress Controller](https://kubernetes.github.io/ingress-nginx/deploy/) installed and configured in your cluster. +- Filesystem access to one of the nodes in your cluster (defaulted to `master` in the configs) to create local storage directories. + +## 2. Deployment Steps + +### Step 1: Create a Namespace + +We recommend deploying all DjangoBlog-related resources in a dedicated namespace for better management. + +```bash +# Create a namespace named 'djangoblog' +kubectl create namespace djangoblog +``` + +### Step 2: Configure Persistent Storage + +This setup uses Local Persistent Volumes. You need to create the data storage directories on a node within your cluster (the default is the `master` node in `pv.yaml`). + +```bash +# Log in to your master node +ssh user@master-node + +# Create the required storage directories +sudo mkdir -p /mnt/local-storage-db +sudo mkdir -p /mnt/local-storage-djangoblog +sudo mkdir -p /mnt/resource/ +sudo mkdir -p /mnt/local-storage-elasticsearch + +# Log out from the node +exit +``` +**Note**: If you wish to store data on a different node or use different paths, you must modify the `nodeAffinity` and `local.path` settings in the `deploy/k8s/pv.yaml` file. + +After creating the directories, apply the storage-related configurations: + +```bash +# Apply the StorageClass +kubectl apply -f deploy/k8s/storageclass.yaml + +# Apply the PersistentVolumes (PVs) +kubectl apply -f deploy/k8s/pv.yaml + +# Apply the PersistentVolumeClaims (PVCs) +kubectl apply -f deploy/k8s/pvc.yaml +``` + +### Step 3: Configure the Application + +Before deploying the application, you need to edit the `deploy/k8s/configmap.yaml` file to modify sensitive information and custom settings. + +**It is strongly recommended to change the following fields:** +- `DJANGO_SECRET_KEY`: Change to a random, complex string. +- `DJANGO_MYSQL_PASSWORD` and `MYSQL_ROOT_PASSWORD`: Change to your own secure database password. + +```bash +# Edit the ConfigMap file +vim deploy/k8s/configmap.yaml + +# Apply the configuration +kubectl apply -f deploy/k8s/configmap.yaml +``` + +### Step 4: Deploy the Application Stack + +Now, we can deploy all the core services. + +```bash +# Deploy the Deployments (DjangoBlog, MySQL, Redis, Nginx, ES) +kubectl apply -f deploy/k8s/deployment.yaml + +# Deploy the Services (to create internal endpoints for the Deployments) +kubectl apply -f deploy/k8s/service.yaml +``` + +The deployment may take some time. You can run the following command to check if all Pods are running successfully (STATUS should be `Running`): + +```bash +kubectl get pods -n djangoblog -w +``` + +### Step 5: Expose the Application Externally + +Finally, expose the Nginx service to external traffic by applying the `Ingress` rule. + +```bash +# Apply the Ingress rule +kubectl apply -f deploy/k8s/gateway.yaml +``` + +Once deployed, you can access your blog via the external IP address of your Ingress Controller. Use the following command to find the address: + +```bash +kubectl get ingress -n djangoblog +``` + +### Step 6: First-Time Initialization + +Similar to the Docker deployment, you need to get a shell into the DjangoBlog application Pod to perform database initialization and create a superuser on the first run. + +```bash +# First, get the name of a djangoblog pod +kubectl get pods -n djangoblog | grep djangoblog + +# Exec into one of the Pods (replace [pod-name] with the name from the previous step) +kubectl exec -it [pod-name] -n djangoblog -- bash + +# Inside the Pod, run the following commands: +# Create a superuser account (follow the prompts) +python manage.py createsuperuser + +# (Optional) Create some test data +python manage.py create_testdata + +# (Optional, if ES is enabled) Create the search index +python manage.py rebuild_index + +# Exit the Pod +exit +``` + +Congratulations! You have successfully deployed DjangoBlog on your Kubernetes cluster. \ No newline at end of file diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/docs/k8s.md b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/docs/k8s.md new file mode 100644 index 0000000..9da3c28 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/docs/k8s.md @@ -0,0 +1,141 @@ +# 使用 Kubernetes 部署 DjangoBlog + +本文档将指导您如何在 Kubernetes (K8s) 集群上部署 DjangoBlog 应用。我们提供了一套完整的 `.yaml` 配置文件,位于 `deploy/k8s` 目录下,用于部署一个包含 DjangoBlog 应用、Nginx、MySQL、Redis 和 Elasticsearch 的完整服务栈。 + +## 架构概览 + +本次部署采用的是微服务化的云原生架构: + +- **核心组件**: 每个核心服务 (DjangoBlog, Nginx, MySQL, Redis, Elasticsearch) 都将作为独立的 `Deployment` 运行。 +- **配置管理**: Nginx 的配置文件和 Django 应用的环境变量通过 `ConfigMap` 进行管理。**注意:敏感信息(如密码)建议使用 `Secret` 进行管理。** +- **服务发现**: 所有服务都通过 `ClusterIP` 类型的 `Service` 在集群内部暴露,并通过服务名相互通信。 +- **外部访问**: 使用 `Ingress` 资源将外部的 HTTP 流量路由到 Nginx 服务,作为整个博客应用的统一入口。 +- **数据持久化**: 采用基于节点本地路径的 `local-storage` 方案。这需要您在指定的 K8s 节点上手动创建存储目录,并通过 `PersistentVolume` (PV) 和 `PersistentVolumeClaim` (PVC) 进行静态绑定。 + +## 1. 环境准备 + +在开始之前,请确保您已具备以下环境: + +- 一个正在运行的 Kubernetes 集群。 +- `kubectl` 命令行工具已配置并能够连接到您的集群。 +- 集群中已安装并配置好 [Nginx Ingress Controller](https://kubernetes.github.io/ingress-nginx/deploy/)。 +- 对集群中的一个节点(默认为 `master`)拥有文件系统访问权限,用于创建本地存储目录。 + +## 2. 部署步骤 + +### 步骤 1: 创建命名空间 + +我们建议将 DjangoBlog 相关的所有资源都部署在一个独立的命名空间中,便于管理。 + +```bash +# 创建一个名为 djangoblog 的命名空间 +kubectl create namespace djangoblog +``` + +### 步骤 2: 配置持久化存储 + +此方案使用本地持久卷 (Local Persistent Volume)。您需要在集群的一个节点上(在 `pv.yaml` 文件中默认为 `master` 节点)创建用于数据存储的目录。 + +```bash +# 登录到您的 master 节点 +ssh user@master-node + +# 创建所需的存储目录 +sudo mkdir -p /mnt/local-storage-db +sudo mkdir -p /mnt/local-storage-djangoblog +sudo mkdir -p /mnt/resource/ +sudo mkdir -p /mnt/local-storage-elasticsearch + +# 退出节点 +exit +``` +**注意**: 如果您希望将数据存储在其他节点或使用不同的路径,请务必修改 `deploy/k8s/pv.yaml` 文件中 `nodeAffinity` 和 `local.path` 的配置。 + +创建目录后,应用存储相关的配置文件: + +```bash +# 应用 StorageClass +kubectl apply -f deploy/k8s/storageclass.yaml + +# 应用 PersistentVolume (PV) +kubectl apply -f deploy/k8s/pv.yaml + +# 应用 PersistentVolumeClaim (PVC) +kubectl apply -f deploy/k8s/pvc.yaml +``` + +### 步骤 3: 配置应用 + +在部署应用之前,您需要编辑 `deploy/k8s/configmap.yaml` 文件,修改其中的敏感信息和个性化配置。 + +**强烈建议修改以下字段:** +- `DJANGO_SECRET_KEY`: 修改为一个随机且复杂的字符串。 +- `DJANGO_MYSQL_PASSWORD` 和 `MYSQL_ROOT_PASSWORD`: 修改为您自己的数据库密码。 + +```bash +# 编辑 ConfigMap 文件 +vim deploy/k8s/configmap.yaml + +# 应用配置 +kubectl apply -f deploy/k8s/configmap.yaml +``` + +### 步骤 4: 部署应用服务栈 + +现在,我们可以部署所有的核心服务了。 + +```bash +# 部署 Deployments (DjangoBlog, MySQL, Redis, Nginx, ES) +kubectl apply -f deploy/k8s/deployment.yaml + +# 部署 Services (为 Deployments 创建内部访问端点) +kubectl apply -f deploy/k8s/service.yaml +``` + +部署需要一些时间,您可以运行以下命令检查所有 Pod 是否都已成功运行 (STATUS 为 `Running`): + +```bash +kubectl get pods -n djangoblog -w +``` + +### 步骤 5: 暴露应用到外部 + +最后,通过应用 `Ingress` 规则来将外部流量引导至我们的 Nginx 服务。 + +```bash +# 应用 Ingress 规则 +kubectl apply -f deploy/k8s/gateway.yaml +``` + +部署完成后,您可以通过 Ingress Controller 的外部 IP 地址来访问您的博客。执行以下命令获取地址: + +```bash +kubectl get ingress -n djangoblog +``` + +### 步骤 6: 首次运行的初始化操作 + +与 Docker 部署类似,首次运行时,您需要进入 DjangoBlog 应用的 Pod 来执行数据库初始化和创建管理员账户。 + +```bash +# 首先,获取 djangoblog pod 的名称 +kubectl get pods -n djangoblog | grep djangoblog + +# 进入其中一个 Pod (将 [pod-name] 替换为上一步获取到的名称) +kubectl exec -it [pod-name] -n djangoblog -- bash + +# 在 Pod 内部执行以下命令: +# 创建超级管理员账户 (请按照提示操作) +python manage.py createsuperuser + +# (可选) 创建测试数据 +python manage.py create_testdata + +# (可选,如果启用了 ES) 创建索引 +python manage.py rebuild_index + +# 退出 Pod +exit +``` + +至此,您已成功在 Kubernetes 集群上完成了 DjangoBlog 的部署! \ No newline at end of file diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/locale/en/LC_MESSAGES/django.mo b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/locale/en/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..f63669f46b3283a84e04098a7338b55f204e7b9d GIT binary patch literal 11097 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 literal 0 HcmV?d00001 diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/locale/en/LC_MESSAGES/django.po b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/locale/en/LC_MESSAGES/django.po new file mode 100644 index 0000000..c80b30a --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/locale/en/LC_MESSAGES/django.po @@ -0,0 +1,685 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-13 16:02+0800\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \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" + +#: .\accounts\admin.py:12 +msgid "password" +msgstr "password" + +#: .\accounts\admin.py:13 +msgid "Enter password again" +msgstr "Enter password again" + +#: .\accounts\admin.py:24 .\accounts\forms.py:89 +msgid "passwords do not match" +msgstr "passwords do not match" + +#: .\accounts\forms.py:36 +msgid "email already exists" +msgstr "email already exists" + +#: .\accounts\forms.py:46 .\accounts\forms.py:50 +msgid "New password" +msgstr "New password" + +#: .\accounts\forms.py:60 +msgid "Confirm password" +msgstr "Confirm password" + +#: .\accounts\forms.py:70 .\accounts\forms.py:116 +msgid "Email" +msgstr "Email" + +#: .\accounts\forms.py:76 .\accounts\forms.py:80 +msgid "Code" +msgstr "Code" + +#: .\accounts\forms.py:100 .\accounts\tests.py:194 +msgid "email does not exist" +msgstr "email does not exist" + +#: .\accounts\models.py:12 .\oauth\models.py:17 +msgid "nick name" +msgstr "nick name" + +#: .\accounts\models.py:13 .\blog\models.py:29 .\blog\models.py:266 +#: .\blog\models.py:284 .\comments\models.py:13 .\oauth\models.py:23 +#: .\oauth\models.py:53 +msgid "creation time" +msgstr "creation time" + +#: .\accounts\models.py:14 .\comments\models.py:14 .\oauth\models.py:24 +#: .\oauth\models.py:54 +msgid "last modify time" +msgstr "last modify time" + +#: .\accounts\models.py:15 +msgid "create source" +msgstr "create source" + +#: .\accounts\models.py:33 .\djangoblog\logentryadmin.py:81 +msgid "user" +msgstr "user" + +#: .\accounts\tests.py:216 .\accounts\utils.py:39 +msgid "Verification code error" +msgstr "Verification code error" + +#: .\accounts\utils.py:13 +msgid "Verify Email" +msgstr "Verify Email" + +#: .\accounts\utils.py:21 +#, python-format +msgid "" +"You are resetting the password, the verification code is:%(code)s, valid " +"within 5 minutes, please keep it properly" +msgstr "" +"You are resetting the password, the verification code is:%(code)s, valid " +"within 5 minutes, please keep it properly" + +#: .\blog\admin.py:13 .\blog\models.py:92 .\comments\models.py:17 +#: .\oauth\models.py:12 +msgid "author" +msgstr "author" + +#: .\blog\admin.py:53 +msgid "Publish selected articles" +msgstr "Publish selected articles" + +#: .\blog\admin.py:54 +msgid "Draft selected articles" +msgstr "Draft selected articles" + +#: .\blog\admin.py:55 +msgid "Close article comments" +msgstr "Close article comments" + +#: .\blog\admin.py:56 +msgid "Open article comments" +msgstr "Open article comments" + +#: .\blog\admin.py:89 .\blog\models.py:101 .\blog\models.py:183 +#: .\templates\blog\tags\sidebar.html:40 +msgid "category" +msgstr "category" + +#: .\blog\models.py:20 .\blog\models.py:179 .\templates\share_layout\nav.html:8 +msgid "index" +msgstr "index" + +#: .\blog\models.py:21 +msgid "list" +msgstr "list" + +#: .\blog\models.py:22 +msgid "post" +msgstr "post" + +#: .\blog\models.py:23 +msgid "all" +msgstr "all" + +#: .\blog\models.py:24 +msgid "slide" +msgstr "slide" + +#: .\blog\models.py:30 .\blog\models.py:267 .\blog\models.py:285 +msgid "modify time" +msgstr "modify time" + +#: .\blog\models.py:63 +msgid "Draft" +msgstr "Draft" + +#: .\blog\models.py:64 +msgid "Published" +msgstr "Published" + +#: .\blog\models.py:67 +msgid "Open" +msgstr "Open" + +#: .\blog\models.py:68 +msgid "Close" +msgstr "Close" + +#: .\blog\models.py:71 .\comments\admin.py:47 +msgid "Article" +msgstr "Article" + +#: .\blog\models.py:72 +msgid "Page" +msgstr "Page" + +#: .\blog\models.py:74 .\blog\models.py:280 +msgid "title" +msgstr "title" + +#: .\blog\models.py:75 +msgid "body" +msgstr "body" + +#: .\blog\models.py:77 +msgid "publish time" +msgstr "publish time" + +#: .\blog\models.py:79 +msgid "status" +msgstr "status" + +#: .\blog\models.py:84 +msgid "comment status" +msgstr "comment status" + +#: .\blog\models.py:88 .\oauth\models.py:43 +msgid "type" +msgstr "type" + +#: .\blog\models.py:89 +msgid "views" +msgstr "views" + +#: .\blog\models.py:97 .\blog\models.py:258 .\blog\models.py:282 +msgid "order" +msgstr "order" + +#: .\blog\models.py:98 +msgid "show toc" +msgstr "show toc" + +#: .\blog\models.py:105 .\blog\models.py:249 +msgid "tag" +msgstr "tag" + +#: .\blog\models.py:115 .\comments\models.py:21 +msgid "article" +msgstr "article" + +#: .\blog\models.py:171 +msgid "category name" +msgstr "category name" + +#: .\blog\models.py:174 +msgid "parent category" +msgstr "parent category" + +#: .\blog\models.py:234 +msgid "tag name" +msgstr "tag name" + +#: .\blog\models.py:256 +msgid "link name" +msgstr "link name" + +#: .\blog\models.py:257 .\blog\models.py:271 +msgid "link" +msgstr "link" + +#: .\blog\models.py:260 +msgid "is show" +msgstr "is show" + +#: .\blog\models.py:262 +msgid "show type" +msgstr "show type" + +#: .\blog\models.py:281 +msgid "content" +msgstr "content" + +#: .\blog\models.py:283 .\oauth\models.py:52 +msgid "is enable" +msgstr "is enable" + +#: .\blog\models.py:289 +msgid "sidebar" +msgstr "sidebar" + +#: .\blog\models.py:299 +msgid "site name" +msgstr "site name" + +#: .\blog\models.py:305 +msgid "site description" +msgstr "site description" + +#: .\blog\models.py:311 +msgid "site seo description" +msgstr "site seo description" + +#: .\blog\models.py:313 +msgid "site keywords" +msgstr "site keywords" + +#: .\blog\models.py:318 +msgid "article sub length" +msgstr "article sub length" + +#: .\blog\models.py:319 +msgid "sidebar article count" +msgstr "sidebar article count" + +#: .\blog\models.py:320 +msgid "sidebar comment count" +msgstr "sidebar comment count" + +#: .\blog\models.py:321 +msgid "article comment count" +msgstr "article comment count" + +#: .\blog\models.py:322 +msgid "show adsense" +msgstr "show adsense" + +#: .\blog\models.py:324 +msgid "adsense code" +msgstr "adsense code" + +#: .\blog\models.py:325 +msgid "open site comment" +msgstr "open site comment" + +#: .\blog\models.py:352 +msgid "Website configuration" +msgstr "Website configuration" + +#: .\blog\models.py:360 +msgid "There can only be one configuration" +msgstr "There can only be one configuration" + +#: .\blog\views.py:348 +msgid "" +"Sorry, the page you requested is not found, please click the home page to " +"see other?" +msgstr "" +"Sorry, the page you requested is not found, please click the home page to " +"see other?" + +#: .\blog\views.py:356 +msgid "Sorry, the server is busy, please click the home page to see other?" +msgstr "Sorry, the server is busy, please click the home page to see other?" + +#: .\blog\views.py:369 +msgid "Sorry, you do not have permission to access this page?" +msgstr "Sorry, you do not have permission to access this page?" + +#: .\comments\admin.py:15 +msgid "Disable comments" +msgstr "Disable comments" + +#: .\comments\admin.py:16 +msgid "Enable comments" +msgstr "Enable comments" + +#: .\comments\admin.py:46 +msgid "User" +msgstr "User" + +#: .\comments\models.py:25 +msgid "parent comment" +msgstr "parent comment" + +#: .\comments\models.py:29 +msgid "enable" +msgstr "enable" + +#: .\comments\models.py:34 .\templates\blog\tags\article_info.html:30 +msgid "comment" +msgstr "comment" + +#: .\comments\utils.py:13 +msgid "Thanks for your comment" +msgstr "Thanks for your comment" + +#: .\comments\utils.py:15 +#, python-format +msgid "" +"

Thank you very much for your comments on this site

\n" +" You can visit
%(article_title)s\n" +" to review your comments,\n" +" Thank you again!\n" +"
\n" +" If the link above cannot be opened, please copy this " +"link to your browser.\n" +" %(article_url)s" +msgstr "" +"

Thank you very much for your comments on this site

\n" +" You can visit %(article_title)s\n" +" to review your comments,\n" +" Thank you again!\n" +"
\n" +" If the link above cannot be opened, please copy this " +"link to your browser.\n" +" %(article_url)s" + +#: .\comments\utils.py:26 +#, python-format +msgid "" +"Your comment on " +"%(article_title)s
has \n" +" received a reply.
%(comment_body)s\n" +"
\n" +" go check it out!\n" +"
\n" +" If the link above cannot be opened, please copy this " +"link to your browser.\n" +" %(article_url)s\n" +" " +msgstr "" +"Your comment on " +"%(article_title)s
has \n" +" received a reply.
%(comment_body)s\n" +"
\n" +" go check it out!\n" +"
\n" +" If the link above cannot be opened, please copy this " +"link to your browser.\n" +" %(article_url)s\n" +" " + +#: .\djangoblog\logentryadmin.py:63 +msgid "object" +msgstr "object" + +#: .\djangoblog\settings.py:140 +msgid "English" +msgstr "English" + +#: .\djangoblog\settings.py:141 +msgid "Simplified Chinese" +msgstr "Simplified Chinese" + +#: .\djangoblog\settings.py:142 +msgid "Traditional Chinese" +msgstr "Traditional Chinese" + +#: .\oauth\models.py:30 +msgid "oauth user" +msgstr "oauth user" + +#: .\oauth\models.py:37 +msgid "weibo" +msgstr "weibo" + +#: .\oauth\models.py:38 +msgid "google" +msgstr "google" + +#: .\oauth\models.py:48 +msgid "callback url" +msgstr "callback url" + +#: .\oauth\models.py:59 +msgid "already exists" +msgstr "already exists" + +#: .\oauth\views.py:154 +#, python-format +msgid "" +"\n" +"

Congratulations, you have successfully bound your email address. You " +"can use\n" +" %(oauthuser_type)s to directly log in to this website without a " +"password.

\n" +" You are welcome to continue to follow this site, the address is\n" +" %(site)s\n" +" Thank you again!\n" +"
\n" +" If the link above cannot be opened, please copy this link to your " +"browser.\n" +" %(site)s\n" +" " +msgstr "" +"\n" +"

Congratulations, you have successfully bound your email address. You " +"can use\n" +" %(oauthuser_type)s to directly log in to this website without a " +"password.

\n" +" You are welcome to continue to follow this site, the address is\n" +" %(site)s\n" +" Thank you again!\n" +"
\n" +" If the link above cannot be opened, please copy this link to your " +"browser.\n" +" %(site)s\n" +" " + +#: .\oauth\views.py:165 +msgid "Congratulations on your successful binding!" +msgstr "Congratulations on your successful binding!" + +#: .\oauth\views.py:217 +#, python-format +msgid "" +"\n" +"

Please click the link below to bind your email

\n" +"\n" +" %(url)s\n" +"\n" +" Thank you again!\n" +"
\n" +" If the link above cannot be opened, please copy this link " +"to your browser.\n" +"
\n" +" %(url)s\n" +" " +msgstr "" +"\n" +"

Please click the link below to bind your email

\n" +"\n" +" %(url)s\n" +"\n" +" Thank you again!\n" +"
\n" +" If the link above cannot be opened, please copy this link " +"to your browser.\n" +"
\n" +" %(url)s\n" +" " + +#: .\oauth\views.py:228 .\oauth\views.py:240 +msgid "Bind your email" +msgstr "Bind your email" + +#: .\oauth\views.py:242 +msgid "" +"Congratulations, the binding is just one step away. Please log in to your " +"email to check the email to complete the binding. Thank you." +msgstr "" +"Congratulations, the binding is just one step away. Please log in to your " +"email to check the email to complete the binding. Thank you." + +#: .\oauth\views.py:245 +msgid "Binding successful" +msgstr "Binding successful" + +#: .\oauth\views.py:247 +#, python-format +msgid "" +"Congratulations, you have successfully bound your email address. You can use " +"%(oauthuser_type)s to directly log in to this website without a password. " +"You are welcome to continue to follow this site." +msgstr "" +"Congratulations, you have successfully bound your email address. You can use " +"%(oauthuser_type)s to directly log in to this website without a password. " +"You are welcome to continue to follow this site." + +#: .\templates\account\forget_password.html:7 +msgid "forget the password" +msgstr "forget the password" + +#: .\templates\account\forget_password.html:18 +msgid "get verification code" +msgstr "get verification code" + +#: .\templates\account\forget_password.html:19 +msgid "submit" +msgstr "submit" + +#: .\templates\account\login.html:36 +msgid "Create Account" +msgstr "Create Account" + +#: .\templates\account\login.html:42 +#, fuzzy +#| msgid "forget the password" +msgid "Forget Password" +msgstr "forget the password" + +#: .\templates\account\result.html:18 .\templates\blog\tags\sidebar.html:126 +msgid "login" +msgstr "login" + +#: .\templates\account\result.html:22 +msgid "back to the homepage" +msgstr "back to the homepage" + +#: .\templates\blog\article_archives.html:7 +#: .\templates\blog\article_archives.html:24 +msgid "article archive" +msgstr "article archive" + +#: .\templates\blog\article_archives.html:32 +msgid "year" +msgstr "year" + +#: .\templates\blog\article_archives.html:36 +msgid "month" +msgstr "month" + +#: .\templates\blog\tags\article_info.html:12 +msgid "pin to top" +msgstr "pin to top" + +#: .\templates\blog\tags\article_info.html:28 +msgid "comments" +msgstr "comments" + +#: .\templates\blog\tags\article_info.html:58 +msgid "toc" +msgstr "toc" + +#: .\templates\blog\tags\article_meta_info.html:6 +msgid "posted in" +msgstr "posted in" + +#: .\templates\blog\tags\article_meta_info.html:14 +msgid "and tagged" +msgstr "and tagged" + +#: .\templates\blog\tags\article_meta_info.html:25 +msgid "by " +msgstr "by" + +#: .\templates\blog\tags\article_meta_info.html:29 +#, python-format +msgid "" +"\n" +" title=\"View all articles published by " +"%(article.author.username)s\"\n" +" " +msgstr "" +"\n" +" title=\"View all articles published by " +"%(article.author.username)s\"\n" +" " + +#: .\templates\blog\tags\article_meta_info.html:44 +msgid "on" +msgstr "on" + +#: .\templates\blog\tags\article_meta_info.html:54 +msgid "edit" +msgstr "edit" + +#: .\templates\blog\tags\article_pagination.html:4 +msgid "article navigation" +msgstr "article navigation" + +#: .\templates\blog\tags\article_pagination.html:9 +msgid "earlier articles" +msgstr "earlier articles" + +#: .\templates\blog\tags\article_pagination.html:12 +msgid "newer articles" +msgstr "newer articles" + +#: .\templates\blog\tags\article_tag_list.html:5 +msgid "tags" +msgstr "tags" + +#: .\templates\blog\tags\sidebar.html:7 +msgid "search" +msgstr "search" + +#: .\templates\blog\tags\sidebar.html:50 +msgid "recent comments" +msgstr "recent comments" + +#: .\templates\blog\tags\sidebar.html:57 +msgid "published on" +msgstr "published on" + +#: .\templates\blog\tags\sidebar.html:65 +msgid "recent articles" +msgstr "recent articles" + +#: .\templates\blog\tags\sidebar.html:77 +msgid "bookmark" +msgstr "bookmark" + +#: .\templates\blog\tags\sidebar.html:96 +msgid "Tag Cloud" +msgstr "Tag Cloud" + +#: .\templates\blog\tags\sidebar.html:107 +msgid "Welcome to star or fork the source code of this site" +msgstr "Welcome to star or fork the source code of this site" + +#: .\templates\blog\tags\sidebar.html:118 +msgid "Function" +msgstr "Function" + +#: .\templates\blog\tags\sidebar.html:120 +msgid "management site" +msgstr "management site" + +#: .\templates\blog\tags\sidebar.html:122 +msgid "logout" +msgstr "logout" + +#: .\templates\blog\tags\sidebar.html:129 +msgid "Track record" +msgstr "Track record" + +#: .\templates\blog\tags\sidebar.html:135 +msgid "Click me to return to the top" +msgstr "Click me to return to the top" + +#: .\templates\oauth\oauth_applications.html:5 +#| msgid "login" +msgid "quick login" +msgstr "quick login" + +#: .\templates\share_layout\nav.html:26 +msgid "Article archive" +msgstr "Article archive" diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/locale/zh_Hans/LC_MESSAGES/django.mo b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/locale/zh_Hans/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..a2d36e98a180a2d9f413841d0cfa0c5f85654f63 GIT binary patch literal 10321 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, YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-13 16:02+0800\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: .\accounts\admin.py:12 +msgid "password" +msgstr "密码" + +#: .\accounts\admin.py:13 +msgid "Enter password again" +msgstr "再次输入密码" + +#: .\accounts\admin.py:24 .\accounts\forms.py:89 +msgid "passwords do not match" +msgstr "密码不匹配" + +#: .\accounts\forms.py:36 +msgid "email already exists" +msgstr "邮箱已存在" + +#: .\accounts\forms.py:46 .\accounts\forms.py:50 +msgid "New password" +msgstr "新密码" + +#: .\accounts\forms.py:60 +msgid "Confirm password" +msgstr "确认密码" + +#: .\accounts\forms.py:70 .\accounts\forms.py:116 +msgid "Email" +msgstr "邮箱" + +#: .\accounts\forms.py:76 .\accounts\forms.py:80 +msgid "Code" +msgstr "验证码" + +#: .\accounts\forms.py:100 .\accounts\tests.py:194 +msgid "email does not exist" +msgstr "邮箱不存在" + +#: .\accounts\models.py:12 .\oauth\models.py:17 +msgid "nick name" +msgstr "昵称" + +#: .\accounts\models.py:13 .\blog\models.py:29 .\blog\models.py:266 +#: .\blog\models.py:284 .\comments\models.py:13 .\oauth\models.py:23 +#: .\oauth\models.py:53 +msgid "creation time" +msgstr "创建时间" + +#: .\accounts\models.py:14 .\comments\models.py:14 .\oauth\models.py:24 +#: .\oauth\models.py:54 +msgid "last modify time" +msgstr "最后修改时间" + +#: .\accounts\models.py:15 +msgid "create source" +msgstr "来源" + +#: .\accounts\models.py:33 .\djangoblog\logentryadmin.py:81 +msgid "user" +msgstr "用户" + +#: .\accounts\tests.py:216 .\accounts\utils.py:39 +msgid "Verification code error" +msgstr "验证码错误" + +#: .\accounts\utils.py:13 +msgid "Verify Email" +msgstr "验证邮箱" + +#: .\accounts\utils.py:21 +#, python-format +msgid "" +"You are resetting the password, the verification code is:%(code)s, valid " +"within 5 minutes, please keep it properly" +msgstr "您正在重置密码,验证码为:%(code)s,5分钟内有效 请妥善保管." + +#: .\blog\admin.py:13 .\blog\models.py:92 .\comments\models.py:17 +#: .\oauth\models.py:12 +msgid "author" +msgstr "作者" + +#: .\blog\admin.py:53 +msgid "Publish selected articles" +msgstr "发布选中的文章" + +#: .\blog\admin.py:54 +msgid "Draft selected articles" +msgstr "选中文章设为草稿" + +#: .\blog\admin.py:55 +msgid "Close article comments" +msgstr "关闭文章评论" + +#: .\blog\admin.py:56 +msgid "Open article comments" +msgstr "打开文章评论" + +#: .\blog\admin.py:89 .\blog\models.py:101 .\blog\models.py:183 +#: .\templates\blog\tags\sidebar.html:40 +msgid "category" +msgstr "分类目录" + +#: .\blog\models.py:20 .\blog\models.py:179 .\templates\share_layout\nav.html:8 +msgid "index" +msgstr "首页" + +#: .\blog\models.py:21 +msgid "list" +msgstr "列表" + +#: .\blog\models.py:22 +msgid "post" +msgstr "文章" + +#: .\blog\models.py:23 +msgid "all" +msgstr "所有" + +#: .\blog\models.py:24 +msgid "slide" +msgstr "侧边栏" + +#: .\blog\models.py:30 .\blog\models.py:267 .\blog\models.py:285 +msgid "modify time" +msgstr "修改时间" + +#: .\blog\models.py:63 +msgid "Draft" +msgstr "草稿" + +#: .\blog\models.py:64 +msgid "Published" +msgstr "发布" + +#: .\blog\models.py:67 +msgid "Open" +msgstr "打开" + +#: .\blog\models.py:68 +msgid "Close" +msgstr "关闭" + +#: .\blog\models.py:71 .\comments\admin.py:47 +msgid "Article" +msgstr "文章" + +#: .\blog\models.py:72 +msgid "Page" +msgstr "页面" + +#: .\blog\models.py:74 .\blog\models.py:280 +msgid "title" +msgstr "标题" + +#: .\blog\models.py:75 +msgid "body" +msgstr "内容" + +#: .\blog\models.py:77 +msgid "publish time" +msgstr "发布时间" + +#: .\blog\models.py:79 +msgid "status" +msgstr "状态" + +#: .\blog\models.py:84 +msgid "comment status" +msgstr "评论状态" + +#: .\blog\models.py:88 .\oauth\models.py:43 +msgid "type" +msgstr "类型" + +#: .\blog\models.py:89 +msgid "views" +msgstr "阅读量" + +#: .\blog\models.py:97 .\blog\models.py:258 .\blog\models.py:282 +msgid "order" +msgstr "排序" + +#: .\blog\models.py:98 +msgid "show toc" +msgstr "显示目录" + +#: .\blog\models.py:105 .\blog\models.py:249 +msgid "tag" +msgstr "标签" + +#: .\blog\models.py:115 .\comments\models.py:21 +msgid "article" +msgstr "文章" + +#: .\blog\models.py:171 +msgid "category name" +msgstr "分类名" + +#: .\blog\models.py:174 +msgid "parent category" +msgstr "上级分类" + +#: .\blog\models.py:234 +msgid "tag name" +msgstr "标签名" + +#: .\blog\models.py:256 +msgid "link name" +msgstr "链接名" + +#: .\blog\models.py:257 .\blog\models.py:271 +msgid "link" +msgstr "链接" + +#: .\blog\models.py:260 +msgid "is show" +msgstr "是否显示" + +#: .\blog\models.py:262 +msgid "show type" +msgstr "显示类型" + +#: .\blog\models.py:281 +msgid "content" +msgstr "内容" + +#: .\blog\models.py:283 .\oauth\models.py:52 +msgid "is enable" +msgstr "是否启用" + +#: .\blog\models.py:289 +msgid "sidebar" +msgstr "侧边栏" + +#: .\blog\models.py:299 +msgid "site name" +msgstr "站点名称" + +#: .\blog\models.py:305 +msgid "site description" +msgstr "站点描述" + +#: .\blog\models.py:311 +msgid "site seo description" +msgstr "站点SEO描述" + +#: .\blog\models.py:313 +msgid "site keywords" +msgstr "关键字" + +#: .\blog\models.py:318 +msgid "article sub length" +msgstr "文章摘要长度" + +#: .\blog\models.py:319 +msgid "sidebar article count" +msgstr "侧边栏文章数目" + +#: .\blog\models.py:320 +msgid "sidebar comment count" +msgstr "侧边栏评论数目" + +#: .\blog\models.py:321 +msgid "article comment count" +msgstr "文章页面默认显示评论数目" + +#: .\blog\models.py:322 +msgid "show adsense" +msgstr "是否显示广告" + +#: .\blog\models.py:324 +msgid "adsense code" +msgstr "广告内容" + +#: .\blog\models.py:325 +msgid "open site comment" +msgstr "公共头部" + +#: .\blog\models.py:352 +msgid "Website configuration" +msgstr "网站配置" + +#: .\blog\models.py:360 +msgid "There can only be one configuration" +msgstr "只能有一个配置" + +#: .\blog\views.py:348 +msgid "" +"Sorry, the page you requested is not found, please click the home page to " +"see other?" +msgstr "抱歉,你所访问的页面找不到,请点击首页看看别的?" + +#: .\blog\views.py:356 +msgid "Sorry, the server is busy, please click the home page to see other?" +msgstr "抱歉,服务出错了,请点击首页看看别的?" + +#: .\blog\views.py:369 +msgid "Sorry, you do not have permission to access this page?" +msgstr "抱歉,你没用权限访问此页面。" + +#: .\comments\admin.py:15 +msgid "Disable comments" +msgstr "禁用评论" + +#: .\comments\admin.py:16 +msgid "Enable comments" +msgstr "启用评论" + +#: .\comments\admin.py:46 +msgid "User" +msgstr "用户" + +#: .\comments\models.py:25 +msgid "parent comment" +msgstr "上级评论" + +#: .\comments\models.py:29 +msgid "enable" +msgstr "启用" + +#: .\comments\models.py:34 .\templates\blog\tags\article_info.html:30 +msgid "comment" +msgstr "评论" + +#: .\comments\utils.py:13 +msgid "Thanks for your comment" +msgstr "感谢你的评论" + +#: .\comments\utils.py:15 +#, python-format +msgid "" +"

Thank you very much for your comments on this site

\n" +" You can visit %(article_title)s\n" +" to review your comments,\n" +" Thank you again!\n" +"
\n" +" If the link above cannot be opened, please copy this " +"link to your browser.\n" +" %(article_url)s" +msgstr "" +"

非常感谢您对此网站的评论

\n" +" 您可以访问%(article_title)s\n" +"查看您的评论,\n" +"再次感谢您!\n" +"
\n" +" 如果上面的链接打不开,请复制此链接链接到您的浏览器。\n" +"%(article_url)s" + +#: .\comments\utils.py:26 +#, python-format +msgid "" +"Your comment on " +"%(article_title)s
has \n" +" received a reply.
%(comment_body)s\n" +"
\n" +" go check it out!\n" +"
\n" +" If the link above cannot be opened, please copy this " +"link to your browser.\n" +" %(article_url)s\n" +" " +msgstr "" +"您对 %(article_title)s
" +"的评论有\n" +" 收到回复。
%(comment_body)s\n" +"
\n" +"快去看看吧!\n" +"
\n" +" 如果上面的链接打不开,请复制此链接链接到您的浏览器。\n" +" %(article_url)s\n" +" " + +#: .\djangoblog\logentryadmin.py:63 +msgid "object" +msgstr "对象" + +#: .\djangoblog\settings.py:140 +msgid "English" +msgstr "英文" + +#: .\djangoblog\settings.py:141 +msgid "Simplified Chinese" +msgstr "简体中文" + +#: .\djangoblog\settings.py:142 +msgid "Traditional Chinese" +msgstr "繁体中文" + +#: .\oauth\models.py:30 +msgid "oauth user" +msgstr "第三方用户" + +#: .\oauth\models.py:37 +msgid "weibo" +msgstr "微博" + +#: .\oauth\models.py:38 +msgid "google" +msgstr "谷歌" + +#: .\oauth\models.py:48 +msgid "callback url" +msgstr "回调地址" + +#: .\oauth\models.py:59 +msgid "already exists" +msgstr "已经存在" + +#: .\oauth\views.py:154 +#, python-format +msgid "" +"\n" +"

Congratulations, you have successfully bound your email address. You " +"can use\n" +" %(oauthuser_type)s to directly log in to this website without a " +"password.

\n" +" You are welcome to continue to follow this site, the address is\n" +" %(site)s\n" +" Thank you again!\n" +"
\n" +" If the link above cannot be opened, please copy this link to your " +"browser.\n" +" %(site)s\n" +" " +msgstr "" +"\n" +"

恭喜你已经绑定成功 你可以使用\n" +" %(oauthuser_type)s 来免密登录本站

\n" +" 欢迎继续关注本站, 地址是\n" +" %(site)s\n" +" 再次感谢你\n" +"
\n" +" 如果上面链接无法打开,请复制此链接到你的浏览器 \n" +" %(site)s\n" +" " + +#: .\oauth\views.py:165 +msgid "Congratulations on your successful binding!" +msgstr "恭喜你绑定成功" + +#: .\oauth\views.py:217 +#, python-format +msgid "" +"\n" +"

Please click the link below to bind your email

\n" +"\n" +" %(url)s\n" +"\n" +" Thank you again!\n" +"
\n" +" If the link above cannot be opened, please copy this link " +"to your browser.\n" +"
\n" +" %(url)s\n" +" " +msgstr "" +"\n" +"

请点击下面的链接绑定您的邮箱

\n" +"\n" +" %(url)s\n" +"\n" +"再次感谢您!\n" +"
\n" +"如果上面的链接打不开,请复制此链接到您的浏览器。\n" +"%(url)s\n" +" " + +#: .\oauth\views.py:228 .\oauth\views.py:240 +msgid "Bind your email" +msgstr "绑定邮箱" + +#: .\oauth\views.py:242 +msgid "" +"Congratulations, the binding is just one step away. Please log in to your " +"email to check the email to complete the binding. Thank you." +msgstr "恭喜您,还差一步就绑定成功了,请登录您的邮箱查看邮件完成绑定,谢谢。" + +#: .\oauth\views.py:245 +msgid "Binding successful" +msgstr "绑定成功" + +#: .\oauth\views.py:247 +#, python-format +msgid "" +"Congratulations, you have successfully bound your email address. You can use " +"%(oauthuser_type)s to directly log in to this website without a password. " +"You are welcome to continue to follow this site." +msgstr "" +"恭喜您绑定成功,您以后可以使用%(oauthuser_type)s来直接免密码登录本站啦,感谢" +"您对本站对关注。" + +#: .\templates\account\forget_password.html:7 +msgid "forget the password" +msgstr "忘记密码" + +#: .\templates\account\forget_password.html:18 +msgid "get verification code" +msgstr "获取验证码" + +#: .\templates\account\forget_password.html:19 +msgid "submit" +msgstr "提交" + +#: .\templates\account\login.html:36 +msgid "Create Account" +msgstr "创建账号" + +#: .\templates\account\login.html:42 +#| msgid "forget the password" +msgid "Forget Password" +msgstr "忘记密码" + +#: .\templates\account\result.html:18 .\templates\blog\tags\sidebar.html:126 +msgid "login" +msgstr "登录" + +#: .\templates\account\result.html:22 +msgid "back to the homepage" +msgstr "返回首页吧" + +#: .\templates\blog\article_archives.html:7 +#: .\templates\blog\article_archives.html:24 +msgid "article archive" +msgstr "文章归档" + +#: .\templates\blog\article_archives.html:32 +msgid "year" +msgstr "年" + +#: .\templates\blog\article_archives.html:36 +msgid "month" +msgstr "月" + +#: .\templates\blog\tags\article_info.html:12 +msgid "pin to top" +msgstr "置顶" + +#: .\templates\blog\tags\article_info.html:28 +msgid "comments" +msgstr "评论" + +#: .\templates\blog\tags\article_info.html:58 +msgid "toc" +msgstr "目录" + +#: .\templates\blog\tags\article_meta_info.html:6 +msgid "posted in" +msgstr "发布于" + +#: .\templates\blog\tags\article_meta_info.html:14 +msgid "and tagged" +msgstr "并标记为" + +#: .\templates\blog\tags\article_meta_info.html:25 +msgid "by " +msgstr "由" + +#: .\templates\blog\tags\article_meta_info.html:29 +#, python-format +msgid "" +"\n" +" title=\"View all articles published by " +"%(article.author.username)s\"\n" +" " +msgstr "" +"\n" +" title=\"查看所有由 %(article.author.username)s\"发布的文章\n" +" " + +#: .\templates\blog\tags\article_meta_info.html:44 +msgid "on" +msgstr "在" + +#: .\templates\blog\tags\article_meta_info.html:54 +msgid "edit" +msgstr "编辑" + +#: .\templates\blog\tags\article_pagination.html:4 +msgid "article navigation" +msgstr "文章导航" + +#: .\templates\blog\tags\article_pagination.html:9 +msgid "earlier articles" +msgstr "早期文章" + +#: .\templates\blog\tags\article_pagination.html:12 +msgid "newer articles" +msgstr "较新文章" + +#: .\templates\blog\tags\article_tag_list.html:5 +msgid "tags" +msgstr "标签" + +#: .\templates\blog\tags\sidebar.html:7 +msgid "search" +msgstr "搜索" + +#: .\templates\blog\tags\sidebar.html:50 +msgid "recent comments" +msgstr "近期评论" + +#: .\templates\blog\tags\sidebar.html:57 +msgid "published on" +msgstr "发表于" + +#: .\templates\blog\tags\sidebar.html:65 +msgid "recent articles" +msgstr "近期文章" + +#: .\templates\blog\tags\sidebar.html:77 +msgid "bookmark" +msgstr "书签" + +#: .\templates\blog\tags\sidebar.html:96 +msgid "Tag Cloud" +msgstr "标签云" + +#: .\templates\blog\tags\sidebar.html:107 +msgid "Welcome to star or fork the source code of this site" +msgstr "欢迎您STAR或者FORK本站源代码" + +#: .\templates\blog\tags\sidebar.html:118 +msgid "Function" +msgstr "功能" + +#: .\templates\blog\tags\sidebar.html:120 +msgid "management site" +msgstr "管理站点" + +#: .\templates\blog\tags\sidebar.html:122 +msgid "logout" +msgstr "登出" + +#: .\templates\blog\tags\sidebar.html:129 +msgid "Track record" +msgstr "运动轨迹记录" + +#: .\templates\blog\tags\sidebar.html:135 +msgid "Click me to return to the top" +msgstr "点我返回顶部" + +#: .\templates\oauth\oauth_applications.html:5 +#| msgid "login" +msgid "quick login" +msgstr "快捷登录" + +#: .\templates\share_layout\nav.html:26 +msgid "Article archive" +msgstr "文章归档" diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/locale/zh_Hant/LC_MESSAGES/django.mo b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/locale/zh_Hant/LC_MESSAGES/django.mo new file mode 100644 index 0000000000000000000000000000000000000000..fe2ea17dc2636742b9c3b8d4eddb6293ee3b7290 GIT binary patch literal 10268 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 literal 0 HcmV?d00001 diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/locale/zh_Hant/LC_MESSAGES/django.po b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/locale/zh_Hant/LC_MESSAGES/django.po new file mode 100644 index 0000000..a2920ce --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/locale/zh_Hant/LC_MESSAGES/django.po @@ -0,0 +1,668 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-09-13 16:02+0800\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: .\accounts\admin.py:12 +msgid "password" +msgstr "密碼" + +#: .\accounts\admin.py:13 +msgid "Enter password again" +msgstr "再次輸入密碼" + +#: .\accounts\admin.py:24 .\accounts\forms.py:89 +msgid "passwords do not match" +msgstr "密碼不匹配" + +#: .\accounts\forms.py:36 +msgid "email already exists" +msgstr "郵箱已存在" + +#: .\accounts\forms.py:46 .\accounts\forms.py:50 +msgid "New password" +msgstr "新密碼" + +#: .\accounts\forms.py:60 +msgid "Confirm password" +msgstr "確認密碼" + +#: .\accounts\forms.py:70 .\accounts\forms.py:116 +msgid "Email" +msgstr "郵箱" + +#: .\accounts\forms.py:76 .\accounts\forms.py:80 +msgid "Code" +msgstr "驗證碼" + +#: .\accounts\forms.py:100 .\accounts\tests.py:194 +msgid "email does not exist" +msgstr "郵箱不存在" + +#: .\accounts\models.py:12 .\oauth\models.py:17 +msgid "nick name" +msgstr "昵稱" + +#: .\accounts\models.py:13 .\blog\models.py:29 .\blog\models.py:266 +#: .\blog\models.py:284 .\comments\models.py:13 .\oauth\models.py:23 +#: .\oauth\models.py:53 +msgid "creation time" +msgstr "創建時間" + +#: .\accounts\models.py:14 .\comments\models.py:14 .\oauth\models.py:24 +#: .\oauth\models.py:54 +msgid "last modify time" +msgstr "最後修改時間" + +#: .\accounts\models.py:15 +msgid "create source" +msgstr "來源" + +#: .\accounts\models.py:33 .\djangoblog\logentryadmin.py:81 +msgid "user" +msgstr "用戶" + +#: .\accounts\tests.py:216 .\accounts\utils.py:39 +msgid "Verification code error" +msgstr "驗證碼錯誤" + +#: .\accounts\utils.py:13 +msgid "Verify Email" +msgstr "驗證郵箱" + +#: .\accounts\utils.py:21 +#, python-format +msgid "" +"You are resetting the password, the verification code is:%(code)s, valid " +"within 5 minutes, please keep it properly" +msgstr "您正在重置密碼,驗證碼為:%(code)s,5分鐘內有效 請妥善保管." + +#: .\blog\admin.py:13 .\blog\models.py:92 .\comments\models.py:17 +#: .\oauth\models.py:12 +msgid "author" +msgstr "作者" + +#: .\blog\admin.py:53 +msgid "Publish selected articles" +msgstr "發布選中的文章" + +#: .\blog\admin.py:54 +msgid "Draft selected articles" +msgstr "選中文章設為草稿" + +#: .\blog\admin.py:55 +msgid "Close article comments" +msgstr "關閉文章評論" + +#: .\blog\admin.py:56 +msgid "Open article comments" +msgstr "打開文章評論" + +#: .\blog\admin.py:89 .\blog\models.py:101 .\blog\models.py:183 +#: .\templates\blog\tags\sidebar.html:40 +msgid "category" +msgstr "分類目錄" + +#: .\blog\models.py:20 .\blog\models.py:179 .\templates\share_layout\nav.html:8 +msgid "index" +msgstr "首頁" + +#: .\blog\models.py:21 +msgid "list" +msgstr "列表" + +#: .\blog\models.py:22 +msgid "post" +msgstr "文章" + +#: .\blog\models.py:23 +msgid "all" +msgstr "所有" + +#: .\blog\models.py:24 +msgid "slide" +msgstr "側邊欄" + +#: .\blog\models.py:30 .\blog\models.py:267 .\blog\models.py:285 +msgid "modify time" +msgstr "修改時間" + +#: .\blog\models.py:63 +msgid "Draft" +msgstr "草稿" + +#: .\blog\models.py:64 +msgid "Published" +msgstr "發布" + +#: .\blog\models.py:67 +msgid "Open" +msgstr "打開" + +#: .\blog\models.py:68 +msgid "Close" +msgstr "關閉" + +#: .\blog\models.py:71 .\comments\admin.py:47 +msgid "Article" +msgstr "文章" + +#: .\blog\models.py:72 +msgid "Page" +msgstr "頁面" + +#: .\blog\models.py:74 .\blog\models.py:280 +msgid "title" +msgstr "標題" + +#: .\blog\models.py:75 +msgid "body" +msgstr "內容" + +#: .\blog\models.py:77 +msgid "publish time" +msgstr "發布時間" + +#: .\blog\models.py:79 +msgid "status" +msgstr "狀態" + +#: .\blog\models.py:84 +msgid "comment status" +msgstr "評論狀態" + +#: .\blog\models.py:88 .\oauth\models.py:43 +msgid "type" +msgstr "類型" + +#: .\blog\models.py:89 +msgid "views" +msgstr "閱讀量" + +#: .\blog\models.py:97 .\blog\models.py:258 .\blog\models.py:282 +msgid "order" +msgstr "排序" + +#: .\blog\models.py:98 +msgid "show toc" +msgstr "顯示目錄" + +#: .\blog\models.py:105 .\blog\models.py:249 +msgid "tag" +msgstr "標簽" + +#: .\blog\models.py:115 .\comments\models.py:21 +msgid "article" +msgstr "文章" + +#: .\blog\models.py:171 +msgid "category name" +msgstr "分類名" + +#: .\blog\models.py:174 +msgid "parent category" +msgstr "上級分類" + +#: .\blog\models.py:234 +msgid "tag name" +msgstr "標簽名" + +#: .\blog\models.py:256 +msgid "link name" +msgstr "鏈接名" + +#: .\blog\models.py:257 .\blog\models.py:271 +msgid "link" +msgstr "鏈接" + +#: .\blog\models.py:260 +msgid "is show" +msgstr "是否顯示" + +#: .\blog\models.py:262 +msgid "show type" +msgstr "顯示類型" + +#: .\blog\models.py:281 +msgid "content" +msgstr "內容" + +#: .\blog\models.py:283 .\oauth\models.py:52 +msgid "is enable" +msgstr "是否啟用" + +#: .\blog\models.py:289 +msgid "sidebar" +msgstr "側邊欄" + +#: .\blog\models.py:299 +msgid "site name" +msgstr "站點名稱" + +#: .\blog\models.py:305 +msgid "site description" +msgstr "站點描述" + +#: .\blog\models.py:311 +msgid "site seo description" +msgstr "站點SEO描述" + +#: .\blog\models.py:313 +msgid "site keywords" +msgstr "關鍵字" + +#: .\blog\models.py:318 +msgid "article sub length" +msgstr "文章摘要長度" + +#: .\blog\models.py:319 +msgid "sidebar article count" +msgstr "側邊欄文章數目" + +#: .\blog\models.py:320 +msgid "sidebar comment count" +msgstr "側邊欄評論數目" + +#: .\blog\models.py:321 +msgid "article comment count" +msgstr "文章頁面默認顯示評論數目" + +#: .\blog\models.py:322 +msgid "show adsense" +msgstr "是否顯示廣告" + +#: .\blog\models.py:324 +msgid "adsense code" +msgstr "廣告內容" + +#: .\blog\models.py:325 +msgid "open site comment" +msgstr "公共頭部" + +#: .\blog\models.py:352 +msgid "Website configuration" +msgstr "網站配置" + +#: .\blog\models.py:360 +msgid "There can only be one configuration" +msgstr "只能有一個配置" + +#: .\blog\views.py:348 +msgid "" +"Sorry, the page you requested is not found, please click the home page to " +"see other?" +msgstr "抱歉,你所訪問的頁面找不到,請點擊首頁看看別的?" + +#: .\blog\views.py:356 +msgid "Sorry, the server is busy, please click the home page to see other?" +msgstr "抱歉,服務出錯了,請點擊首頁看看別的?" + +#: .\blog\views.py:369 +msgid "Sorry, you do not have permission to access this page?" +msgstr "抱歉,你沒用權限訪問此頁面。" + +#: .\comments\admin.py:15 +msgid "Disable comments" +msgstr "禁用評論" + +#: .\comments\admin.py:16 +msgid "Enable comments" +msgstr "啟用評論" + +#: .\comments\admin.py:46 +msgid "User" +msgstr "用戶" + +#: .\comments\models.py:25 +msgid "parent comment" +msgstr "上級評論" + +#: .\comments\models.py:29 +msgid "enable" +msgstr "啟用" + +#: .\comments\models.py:34 .\templates\blog\tags\article_info.html:30 +msgid "comment" +msgstr "評論" + +#: .\comments\utils.py:13 +msgid "Thanks for your comment" +msgstr "感謝你的評論" + +#: .\comments\utils.py:15 +#, python-format +msgid "" +"

Thank you very much for your comments on this site

\n" +" You can visit %(article_title)s\n" +" to review your comments,\n" +" Thank you again!\n" +"
\n" +" If the link above cannot be opened, please copy this " +"link to your browser.\n" +" %(article_url)s" +msgstr "" +"

非常感謝您對此網站的評論

\n" +" 您可以訪問%(article_title)s\n" +"查看您的評論,\n" +"再次感謝您!\n" +"
\n" +" 如果上面的鏈接打不開,請復製此鏈接鏈接到您的瀏覽器。\n" +"%(article_url)s" + +#: .\comments\utils.py:26 +#, python-format +msgid "" +"Your comment on " +"%(article_title)s
has \n" +" received a reply.
%(comment_body)s\n" +"
\n" +" go check it out!\n" +"
\n" +" If the link above cannot be opened, please copy this " +"link to your browser.\n" +" %(article_url)s\n" +" " +msgstr "" +"您對 %(article_title)s
" +"的評論有\n" +" 收到回復。
%(comment_body)s\n" +"
\n" +"快去看看吧!\n" +"
\n" +" 如果上面的鏈接打不開,請復製此鏈接鏈接到您的瀏覽器。\n" +" %(article_url)s\n" +" " + +#: .\djangoblog\logentryadmin.py:63 +msgid "object" +msgstr "對象" + +#: .\djangoblog\settings.py:140 +msgid "English" +msgstr "英文" + +#: .\djangoblog\settings.py:141 +msgid "Simplified Chinese" +msgstr "簡體中文" + +#: .\djangoblog\settings.py:142 +msgid "Traditional Chinese" +msgstr "繁體中文" + +#: .\oauth\models.py:30 +msgid "oauth user" +msgstr "第三方用戶" + +#: .\oauth\models.py:37 +msgid "weibo" +msgstr "微博" + +#: .\oauth\models.py:38 +msgid "google" +msgstr "谷歌" + +#: .\oauth\models.py:48 +msgid "callback url" +msgstr "回調地址" + +#: .\oauth\models.py:59 +msgid "already exists" +msgstr "已經存在" + +#: .\oauth\views.py:154 +#, python-format +msgid "" +"\n" +"

Congratulations, you have successfully bound your email address. You " +"can use\n" +" %(oauthuser_type)s to directly log in to this website without a " +"password.

\n" +" You are welcome to continue to follow this site, the address is\n" +" %(site)s\n" +" Thank you again!\n" +"
\n" +" If the link above cannot be opened, please copy this link to your " +"browser.\n" +" %(site)s\n" +" " +msgstr "" +"\n" +"

恭喜你已經綁定成功 你可以使用\n" +" %(oauthuser_type)s 來免密登錄本站

\n" +" 歡迎繼續關註本站, 地址是\n" +" %(site)s\n" +" 再次感謝你\n" +"
\n" +" 如果上面鏈接無法打開,請復製此鏈接到你的瀏覽器 \n" +" %(site)s\n" +" " + +#: .\oauth\views.py:165 +msgid "Congratulations on your successful binding!" +msgstr "恭喜你綁定成功" + +#: .\oauth\views.py:217 +#, python-format +msgid "" +"\n" +"

Please click the link below to bind your email

\n" +"\n" +" %(url)s\n" +"\n" +" Thank you again!\n" +"
\n" +" If the link above cannot be opened, please copy this link " +"to your browser.\n" +"
\n" +" %(url)s\n" +" " +msgstr "" +"\n" +"

請點擊下面的鏈接綁定您的郵箱

\n" +"\n" +" %(url)s\n" +"\n" +"再次感謝您!\n" +"
\n" +"如果上面的鏈接打不開,請復製此鏈接到您的瀏覽器。\n" +"%(url)s\n" +" " + +#: .\oauth\views.py:228 .\oauth\views.py:240 +msgid "Bind your email" +msgstr "綁定郵箱" + +#: .\oauth\views.py:242 +msgid "" +"Congratulations, the binding is just one step away. Please log in to your " +"email to check the email to complete the binding. Thank you." +msgstr "恭喜您,還差一步就綁定成功了,請登錄您的郵箱查看郵件完成綁定,謝謝。" + +#: .\oauth\views.py:245 +msgid "Binding successful" +msgstr "綁定成功" + +#: .\oauth\views.py:247 +#, python-format +msgid "" +"Congratulations, you have successfully bound your email address. You can use " +"%(oauthuser_type)s to directly log in to this website without a password. " +"You are welcome to continue to follow this site." +msgstr "" +"恭喜您綁定成功,您以後可以使用%(oauthuser_type)s來直接免密碼登錄本站啦,感謝" +"您對本站對關註。" + +#: .\templates\account\forget_password.html:7 +msgid "forget the password" +msgstr "忘記密碼" + +#: .\templates\account\forget_password.html:18 +msgid "get verification code" +msgstr "獲取驗證碼" + +#: .\templates\account\forget_password.html:19 +msgid "submit" +msgstr "提交" + +#: .\templates\account\login.html:36 +msgid "Create Account" +msgstr "創建賬號" + +#: .\templates\account\login.html:42 +#, fuzzy +#| msgid "forget the password" +msgid "Forget Password" +msgstr "忘記密碼" + +#: .\templates\account\result.html:18 .\templates\blog\tags\sidebar.html:126 +msgid "login" +msgstr "登錄" + +#: .\templates\account\result.html:22 +msgid "back to the homepage" +msgstr "返回首頁吧" + +#: .\templates\blog\article_archives.html:7 +#: .\templates\blog\article_archives.html:24 +msgid "article archive" +msgstr "文章歸檔" + +#: .\templates\blog\article_archives.html:32 +msgid "year" +msgstr "年" + +#: .\templates\blog\article_archives.html:36 +msgid "month" +msgstr "月" + +#: .\templates\blog\tags\article_info.html:12 +msgid "pin to top" +msgstr "置頂" + +#: .\templates\blog\tags\article_info.html:28 +msgid "comments" +msgstr "評論" + +#: .\templates\blog\tags\article_info.html:58 +msgid "toc" +msgstr "目錄" + +#: .\templates\blog\tags\article_meta_info.html:6 +msgid "posted in" +msgstr "發布於" + +#: .\templates\blog\tags\article_meta_info.html:14 +msgid "and tagged" +msgstr "並標記為" + +#: .\templates\blog\tags\article_meta_info.html:25 +msgid "by " +msgstr "由" + +#: .\templates\blog\tags\article_meta_info.html:29 +#, python-format +msgid "" +"\n" +" title=\"View all articles published by " +"%(article.author.username)s\"\n" +" " +msgstr "" +"\n" +" title=\"查看所有由 %(article.author.username)s\"發布的文章\n" +" " + +#: .\templates\blog\tags\article_meta_info.html:44 +msgid "on" +msgstr "在" + +#: .\templates\blog\tags\article_meta_info.html:54 +msgid "edit" +msgstr "編輯" + +#: .\templates\blog\tags\article_pagination.html:4 +msgid "article navigation" +msgstr "文章導航" + +#: .\templates\blog\tags\article_pagination.html:9 +msgid "earlier articles" +msgstr "早期文章" + +#: .\templates\blog\tags\article_pagination.html:12 +msgid "newer articles" +msgstr "較新文章" + +#: .\templates\blog\tags\article_tag_list.html:5 +msgid "tags" +msgstr "標簽" + +#: .\templates\blog\tags\sidebar.html:7 +msgid "search" +msgstr "搜索" + +#: .\templates\blog\tags\sidebar.html:50 +msgid "recent comments" +msgstr "近期評論" + +#: .\templates\blog\tags\sidebar.html:57 +msgid "published on" +msgstr "發表於" + +#: .\templates\blog\tags\sidebar.html:65 +msgid "recent articles" +msgstr "近期文章" + +#: .\templates\blog\tags\sidebar.html:77 +msgid "bookmark" +msgstr "書簽" + +#: .\templates\blog\tags\sidebar.html:96 +msgid "Tag Cloud" +msgstr "標簽雲" + +#: .\templates\blog\tags\sidebar.html:107 +msgid "Welcome to star or fork the source code of this site" +msgstr "歡迎您STAR或者FORK本站源代碼" + +#: .\templates\blog\tags\sidebar.html:118 +msgid "Function" +msgstr "功能" + +#: .\templates\blog\tags\sidebar.html:120 +msgid "management site" +msgstr "管理站點" + +#: .\templates\blog\tags\sidebar.html:122 +msgid "logout" +msgstr "登出" + +#: .\templates\blog\tags\sidebar.html:129 +msgid "Track record" +msgstr "運動軌跡記錄" + +#: .\templates\blog\tags\sidebar.html:135 +msgid "Click me to return to the top" +msgstr "點我返回頂部" + +#: .\templates\oauth\oauth_applications.html:5 +#| msgid "login" +msgid "quick login" +msgstr "快捷登錄" + +#: .\templates\share_layout\nav.html:26 +msgid "Article archive" +msgstr "文章歸檔" diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/manage.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/manage.py new file mode 100644 index 0000000..919ba74 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/manage.py @@ -0,0 +1,22 @@ +#!/usr/bin/env python +import os +import sys + +if __name__ == "__main__": + os.environ.setdefault("DJANGO_SETTINGS_MODULE", "djangoblog.settings") + try: + from django.core.management import execute_from_command_line + except ImportError: + # The above import may fail for some other reason. Ensure that the + # issue is really that Django is missing to avoid masking other + # exceptions on Python 2. + try: + import django + except ImportError: + raise ImportError( + "Couldn't import Django. Are you sure it's installed and " + "available on your PYTHONPATH environment variable? Did you " + "forget to activate a virtual environment?" + ) + raise + execute_from_command_line(sys.argv) diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/oauth/__init__.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/oauth/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/oauth/admin.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/oauth/admin.py new file mode 100644 index 0000000..57eab5f --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/oauth/admin.py @@ -0,0 +1,54 @@ +import logging + +from django.contrib import admin +# Register your models here. +from django.urls import reverse +from django.utils.html import format_html + +logger = logging.getLogger(__name__) + + +class OAuthUserAdmin(admin.ModelAdmin): + search_fields = ('nickname', 'email') + list_per_page = 20 + list_display = ( + 'id', + 'nickname', + 'link_to_usermodel', + 'show_user_image', + 'type', + 'email', + ) + list_display_links = ('id', 'nickname') + list_filter = ('author', 'type',) + readonly_fields = [] + + def get_readonly_fields(self, request, obj=None): + return list(self.readonly_fields) + \ + [field.name for field in obj._meta.fields] + \ + [field.name for field in obj._meta.many_to_many] + + def has_add_permission(self, request): + return False + + def link_to_usermodel(self, obj): + if obj.author: + info = (obj.author._meta.app_label, obj.author._meta.model_name) + link = reverse('admin:%s_%s_change' % info, args=(obj.author.id,)) + return format_html( + u'%s' % + (link, obj.author.nickname if obj.author.nickname else obj.author.email)) + + def show_user_image(self, obj): + img = obj.picture + return format_html( + u'' % + (img)) + + link_to_usermodel.short_description = '用户' + show_user_image.short_description = '用户头像' + + +class OAuthConfigAdmin(admin.ModelAdmin): + list_display = ('type', 'appkey', 'appsecret', 'is_enable') + list_filter = ('type',) diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/oauth/apps.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/oauth/apps.py new file mode 100644 index 0000000..17fcea2 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/oauth/apps.py @@ -0,0 +1,5 @@ +from django.apps import AppConfig + + +class OauthConfig(AppConfig): + name = 'oauth' diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/oauth/forms.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/oauth/forms.py new file mode 100644 index 0000000..0e4ede3 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/oauth/forms.py @@ -0,0 +1,12 @@ +from django.contrib.auth.forms import forms +from django.forms import widgets + + +class RequireEmailForm(forms.Form): + email = forms.EmailField(label='电子邮箱', required=True) + oauthid = forms.IntegerField(widget=forms.HiddenInput, required=False) + + def __init__(self, *args, **kwargs): + super(RequireEmailForm, self).__init__(*args, **kwargs) + self.fields['email'].widget = widgets.EmailInput( + attrs={'placeholder': "email", "class": "form-control"}) diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/oauth/migrations/0001_initial.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/oauth/migrations/0001_initial.py new file mode 100644 index 0000000..3aa3e03 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/oauth/migrations/0001_initial.py @@ -0,0 +1,57 @@ +# Generated by Django 4.1.7 on 2023-03-07 09:53 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion +import django.utils.timezone + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ] + + operations = [ + migrations.CreateModel( + name='OAuthConfig', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('type', models.CharField(choices=[('weibo', '微博'), ('google', '谷歌'), ('github', 'GitHub'), ('facebook', 'FaceBook'), ('qq', 'QQ')], default='a', max_length=10, verbose_name='类型')), + ('appkey', models.CharField(max_length=200, verbose_name='AppKey')), + ('appsecret', models.CharField(max_length=200, verbose_name='AppSecret')), + ('callback_url', models.CharField(default='http://www.baidu.com', max_length=200, verbose_name='回调地址')), + ('is_enable', models.BooleanField(default=True, verbose_name='是否显示')), + ('created_time', models.DateTimeField(default=django.utils.timezone.now, verbose_name='创建时间')), + ('last_mod_time', models.DateTimeField(default=django.utils.timezone.now, verbose_name='修改时间')), + ], + options={ + 'verbose_name': 'oauth配置', + 'verbose_name_plural': 'oauth配置', + 'ordering': ['-created_time'], + }, + ), + migrations.CreateModel( + name='OAuthUser', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('openid', models.CharField(max_length=50)), + ('nickname', models.CharField(max_length=50, verbose_name='昵称')), + ('token', models.CharField(blank=True, max_length=150, null=True)), + ('picture', models.CharField(blank=True, max_length=350, null=True)), + ('type', models.CharField(max_length=50)), + ('email', models.CharField(blank=True, max_length=50, null=True)), + ('metadata', models.TextField(blank=True, null=True)), + ('created_time', models.DateTimeField(default=django.utils.timezone.now, verbose_name='创建时间')), + ('last_mod_time', models.DateTimeField(default=django.utils.timezone.now, verbose_name='修改时间')), + ('author', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='用户')), + ], + options={ + 'verbose_name': 'oauth用户', + 'verbose_name_plural': 'oauth用户', + 'ordering': ['-created_time'], + }, + ), + ] diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/oauth/migrations/0002_alter_oauthconfig_options_alter_oauthuser_options_and_more.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/oauth/migrations/0002_alter_oauthconfig_options_alter_oauthuser_options_and_more.py new file mode 100644 index 0000000..d5cc70e --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/oauth/migrations/0002_alter_oauthconfig_options_alter_oauthuser_options_and_more.py @@ -0,0 +1,86 @@ +# Generated by Django 4.2.5 on 2023-09-06 13:13 + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion +import django.utils.timezone + + +class Migration(migrations.Migration): + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('oauth', '0001_initial'), + ] + + operations = [ + migrations.AlterModelOptions( + name='oauthconfig', + options={'ordering': ['-creation_time'], 'verbose_name': 'oauth配置', 'verbose_name_plural': 'oauth配置'}, + ), + migrations.AlterModelOptions( + name='oauthuser', + options={'ordering': ['-creation_time'], 'verbose_name': 'oauth user', 'verbose_name_plural': 'oauth user'}, + ), + migrations.RemoveField( + model_name='oauthconfig', + name='created_time', + ), + migrations.RemoveField( + model_name='oauthconfig', + name='last_mod_time', + ), + migrations.RemoveField( + model_name='oauthuser', + name='created_time', + ), + migrations.RemoveField( + model_name='oauthuser', + name='last_mod_time', + ), + migrations.AddField( + model_name='oauthconfig', + name='creation_time', + field=models.DateTimeField(default=django.utils.timezone.now, verbose_name='creation time'), + ), + migrations.AddField( + model_name='oauthconfig', + name='last_modify_time', + field=models.DateTimeField(default=django.utils.timezone.now, verbose_name='last modify time'), + ), + migrations.AddField( + model_name='oauthuser', + name='creation_time', + field=models.DateTimeField(default=django.utils.timezone.now, verbose_name='creation time'), + ), + migrations.AddField( + model_name='oauthuser', + name='last_modify_time', + field=models.DateTimeField(default=django.utils.timezone.now, verbose_name='last modify time'), + ), + migrations.AlterField( + model_name='oauthconfig', + name='callback_url', + field=models.CharField(default='', max_length=200, verbose_name='callback url'), + ), + migrations.AlterField( + model_name='oauthconfig', + name='is_enable', + field=models.BooleanField(default=True, verbose_name='is enable'), + ), + migrations.AlterField( + model_name='oauthconfig', + name='type', + field=models.CharField(choices=[('weibo', 'weibo'), ('google', 'google'), ('github', 'GitHub'), ('facebook', 'FaceBook'), ('qq', 'QQ')], default='a', max_length=10, verbose_name='type'), + ), + migrations.AlterField( + model_name='oauthuser', + name='author', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='author'), + ), + migrations.AlterField( + model_name='oauthuser', + name='nickname', + field=models.CharField(max_length=50, verbose_name='nickname'), + ), + ] diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/oauth/migrations/0003_alter_oauthuser_nickname.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/oauth/migrations/0003_alter_oauthuser_nickname.py new file mode 100644 index 0000000..6af08eb --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/oauth/migrations/0003_alter_oauthuser_nickname.py @@ -0,0 +1,18 @@ +# Generated by Django 4.2.7 on 2024-01-26 02:41 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('oauth', '0002_alter_oauthconfig_options_alter_oauthuser_options_and_more'), + ] + + operations = [ + migrations.AlterField( + model_name='oauthuser', + name='nickname', + field=models.CharField(max_length=50, verbose_name='nick name'), + ), + ] diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/oauth/migrations/__init__.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/oauth/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/oauth/models.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/oauth/models.py new file mode 100644 index 0000000..be838ed --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/oauth/models.py @@ -0,0 +1,67 @@ +# Create your models here. +from django.conf import settings +from django.core.exceptions import ValidationError +from django.db import models +from django.utils.timezone import now +from django.utils.translation import gettext_lazy as _ + + +class OAuthUser(models.Model): + author = models.ForeignKey( + settings.AUTH_USER_MODEL, + verbose_name=_('author'), + blank=True, + null=True, + on_delete=models.CASCADE) + openid = models.CharField(max_length=50) + nickname = models.CharField(max_length=50, verbose_name=_('nick name')) + token = models.CharField(max_length=150, null=True, blank=True) + picture = models.CharField(max_length=350, blank=True, null=True) + type = models.CharField(blank=False, null=False, max_length=50) + email = models.CharField(max_length=50, null=True, blank=True) + metadata = models.TextField(null=True, blank=True) + creation_time = models.DateTimeField(_('creation time'), default=now) + last_modify_time = models.DateTimeField(_('last modify time'), default=now) + + def __str__(self): + return self.nickname + + class Meta: + verbose_name = _('oauth user') + verbose_name_plural = verbose_name + ordering = ['-creation_time'] + + +class OAuthConfig(models.Model): + TYPE = ( + ('weibo', _('weibo')), + ('google', _('google')), + ('github', 'GitHub'), + ('facebook', 'FaceBook'), + ('qq', 'QQ'), + ) + type = models.CharField(_('type'), max_length=10, choices=TYPE, default='a') + appkey = models.CharField(max_length=200, verbose_name='AppKey') + appsecret = models.CharField(max_length=200, verbose_name='AppSecret') + callback_url = models.CharField( + max_length=200, + verbose_name=_('callback url'), + blank=False, + default='') + is_enable = models.BooleanField( + _('is enable'), default=True, blank=False, null=False) + creation_time = models.DateTimeField(_('creation time'), default=now) + last_modify_time = models.DateTimeField(_('last modify time'), default=now) + + def clean(self): + if OAuthConfig.objects.filter( + type=self.type).exclude(id=self.id).count(): + raise ValidationError(_(self.type + _('already exists'))) + + def __str__(self): + return self.type + + class Meta: + verbose_name = 'oauth配置' + verbose_name_plural = verbose_name + ordering = ['-creation_time'] diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/oauth/oauthmanager.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/oauth/oauthmanager.py new file mode 100644 index 0000000..2e7ceef --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/oauth/oauthmanager.py @@ -0,0 +1,504 @@ +import json +import logging +import os +import urllib.parse +from abc import ABCMeta, abstractmethod + +import requests + +from djangoblog.utils import cache_decorator +from oauth.models import OAuthUser, OAuthConfig + +logger = logging.getLogger(__name__) + + +class OAuthAccessTokenException(Exception): + ''' + oauth授权失败异常 + ''' + + +class BaseOauthManager(metaclass=ABCMeta): + """获取用户授权""" + AUTH_URL = None + """获取token""" + TOKEN_URL = None + """获取用户信息""" + API_URL = None + '''icon图标名''' + ICON_NAME = None + + def __init__(self, access_token=None, openid=None): + self.access_token = access_token + self.openid = openid + + @property + def is_access_token_set(self): + return self.access_token is not None + + @property + def is_authorized(self): + return self.is_access_token_set and self.access_token is not None and self.openid is not None + + @abstractmethod + def get_authorization_url(self, nexturl='/'): + pass + + @abstractmethod + def get_access_token_by_code(self, code): + pass + + @abstractmethod + def get_oauth_userinfo(self): + pass + + @abstractmethod + def get_picture(self, metadata): + pass + + def do_get(self, url, params, headers=None): + rsp = requests.get(url=url, params=params, headers=headers) + logger.info(rsp.text) + return rsp.text + + def do_post(self, url, params, headers=None): + rsp = requests.post(url, params, headers=headers) + logger.info(rsp.text) + return rsp.text + + def get_config(self): + value = OAuthConfig.objects.filter(type=self.ICON_NAME) + return value[0] if value else None + + +class WBOauthManager(BaseOauthManager): + AUTH_URL = 'https://api.weibo.com/oauth2/authorize' + TOKEN_URL = 'https://api.weibo.com/oauth2/access_token' + API_URL = 'https://api.weibo.com/2/users/show.json' + ICON_NAME = 'weibo' + + def __init__(self, access_token=None, openid=None): + config = self.get_config() + self.client_id = config.appkey if config else '' + self.client_secret = config.appsecret if config else '' + self.callback_url = config.callback_url if config else '' + super( + WBOauthManager, + self).__init__( + access_token=access_token, + openid=openid) + + def get_authorization_url(self, nexturl='/'): + params = { + 'client_id': self.client_id, + 'response_type': 'code', + 'redirect_uri': self.callback_url + '&next_url=' + nexturl + } + url = self.AUTH_URL + "?" + urllib.parse.urlencode(params) + return url + + def get_access_token_by_code(self, code): + + params = { + 'client_id': self.client_id, + 'client_secret': self.client_secret, + 'grant_type': 'authorization_code', + 'code': code, + 'redirect_uri': self.callback_url + } + rsp = self.do_post(self.TOKEN_URL, params) + + obj = json.loads(rsp) + if 'access_token' in obj: + self.access_token = str(obj['access_token']) + self.openid = str(obj['uid']) + return self.get_oauth_userinfo() + else: + raise OAuthAccessTokenException(rsp) + + def get_oauth_userinfo(self): + if not self.is_authorized: + return None + params = { + 'uid': self.openid, + 'access_token': self.access_token + } + rsp = self.do_get(self.API_URL, params) + try: + datas = json.loads(rsp) + user = OAuthUser() + user.metadata = rsp + user.picture = datas['avatar_large'] + user.nickname = datas['screen_name'] + user.openid = datas['id'] + user.type = 'weibo' + user.token = self.access_token + if 'email' in datas and datas['email']: + user.email = datas['email'] + return user + except Exception as e: + logger.error(e) + logger.error('weibo oauth error.rsp:' + rsp) + return None + + def get_picture(self, metadata): + datas = json.loads(metadata) + return datas['avatar_large'] + + +class ProxyManagerMixin: + def __init__(self, *args, **kwargs): + if os.environ.get("HTTP_PROXY"): + self.proxies = { + "http": os.environ.get("HTTP_PROXY"), + "https": os.environ.get("HTTP_PROXY") + } + else: + self.proxies = None + + def do_get(self, url, params, headers=None): + rsp = requests.get(url=url, params=params, headers=headers, proxies=self.proxies) + logger.info(rsp.text) + return rsp.text + + def do_post(self, url, params, headers=None): + rsp = requests.post(url, params, headers=headers, proxies=self.proxies) + logger.info(rsp.text) + return rsp.text + + +class GoogleOauthManager(ProxyManagerMixin, BaseOauthManager): + AUTH_URL = 'https://accounts.google.com/o/oauth2/v2/auth' + TOKEN_URL = 'https://www.googleapis.com/oauth2/v4/token' + API_URL = 'https://www.googleapis.com/oauth2/v3/userinfo' + ICON_NAME = 'google' + + def __init__(self, access_token=None, openid=None): + config = self.get_config() + self.client_id = config.appkey if config else '' + self.client_secret = config.appsecret if config else '' + self.callback_url = config.callback_url if config else '' + super( + GoogleOauthManager, + self).__init__( + access_token=access_token, + openid=openid) + + def get_authorization_url(self, nexturl='/'): + params = { + 'client_id': self.client_id, + 'response_type': 'code', + 'redirect_uri': self.callback_url, + 'scope': 'openid email', + } + url = self.AUTH_URL + "?" + urllib.parse.urlencode(params) + return url + + def get_access_token_by_code(self, code): + params = { + 'client_id': self.client_id, + 'client_secret': self.client_secret, + 'grant_type': 'authorization_code', + 'code': code, + + 'redirect_uri': self.callback_url + } + rsp = self.do_post(self.TOKEN_URL, params) + + obj = json.loads(rsp) + + if 'access_token' in obj: + self.access_token = str(obj['access_token']) + self.openid = str(obj['id_token']) + logger.info(self.ICON_NAME + ' oauth ' + rsp) + return self.access_token + else: + raise OAuthAccessTokenException(rsp) + + def get_oauth_userinfo(self): + if not self.is_authorized: + return None + params = { + 'access_token': self.access_token + } + rsp = self.do_get(self.API_URL, params) + try: + + datas = json.loads(rsp) + user = OAuthUser() + user.metadata = rsp + user.picture = datas['picture'] + user.nickname = datas['name'] + user.openid = datas['sub'] + user.token = self.access_token + user.type = 'google' + if datas['email']: + user.email = datas['email'] + return user + except Exception as e: + logger.error(e) + logger.error('google oauth error.rsp:' + rsp) + return None + + def get_picture(self, metadata): + datas = json.loads(metadata) + return datas['picture'] + + +class GitHubOauthManager(ProxyManagerMixin, BaseOauthManager): + AUTH_URL = 'https://github.com/login/oauth/authorize' + TOKEN_URL = 'https://github.com/login/oauth/access_token' + API_URL = 'https://api.github.com/user' + ICON_NAME = 'github' + + def __init__(self, access_token=None, openid=None): + config = self.get_config() + self.client_id = config.appkey if config else '' + self.client_secret = config.appsecret if config else '' + self.callback_url = config.callback_url if config else '' + super( + GitHubOauthManager, + self).__init__( + access_token=access_token, + openid=openid) + + def get_authorization_url(self, next_url='/'): + params = { + 'client_id': self.client_id, + 'response_type': 'code', + 'redirect_uri': f'{self.callback_url}&next_url={next_url}', + 'scope': 'user' + } + url = self.AUTH_URL + "?" + urllib.parse.urlencode(params) + return url + + def get_access_token_by_code(self, code): + params = { + 'client_id': self.client_id, + 'client_secret': self.client_secret, + 'grant_type': 'authorization_code', + 'code': code, + + 'redirect_uri': self.callback_url + } + rsp = self.do_post(self.TOKEN_URL, params) + + from urllib import parse + r = parse.parse_qs(rsp) + if 'access_token' in r: + self.access_token = (r['access_token'][0]) + return self.access_token + else: + raise OAuthAccessTokenException(rsp) + + def get_oauth_userinfo(self): + + rsp = self.do_get(self.API_URL, params={}, headers={ + "Authorization": "token " + self.access_token + }) + try: + datas = json.loads(rsp) + user = OAuthUser() + user.picture = datas['avatar_url'] + user.nickname = datas['name'] + user.openid = datas['id'] + user.type = 'github' + user.token = self.access_token + user.metadata = rsp + if 'email' in datas and datas['email']: + user.email = datas['email'] + return user + except Exception as e: + logger.error(e) + logger.error('github oauth error.rsp:' + rsp) + return None + + def get_picture(self, metadata): + datas = json.loads(metadata) + return datas['avatar_url'] + + +class FaceBookOauthManager(ProxyManagerMixin, BaseOauthManager): + AUTH_URL = 'https://www.facebook.com/v16.0/dialog/oauth' + TOKEN_URL = 'https://graph.facebook.com/v16.0/oauth/access_token' + API_URL = 'https://graph.facebook.com/me' + ICON_NAME = 'facebook' + + def __init__(self, access_token=None, openid=None): + config = self.get_config() + self.client_id = config.appkey if config else '' + self.client_secret = config.appsecret if config else '' + self.callback_url = config.callback_url if config else '' + super( + FaceBookOauthManager, + self).__init__( + access_token=access_token, + openid=openid) + + def get_authorization_url(self, next_url='/'): + params = { + 'client_id': self.client_id, + 'response_type': 'code', + 'redirect_uri': self.callback_url, + 'scope': 'email,public_profile' + } + url = self.AUTH_URL + "?" + urllib.parse.urlencode(params) + return url + + def get_access_token_by_code(self, code): + params = { + 'client_id': self.client_id, + 'client_secret': self.client_secret, + # 'grant_type': 'authorization_code', + 'code': code, + + 'redirect_uri': self.callback_url + } + rsp = self.do_post(self.TOKEN_URL, params) + + obj = json.loads(rsp) + if 'access_token' in obj: + token = str(obj['access_token']) + self.access_token = token + return self.access_token + else: + raise OAuthAccessTokenException(rsp) + + def get_oauth_userinfo(self): + params = { + 'access_token': self.access_token, + 'fields': 'id,name,picture,email' + } + try: + rsp = self.do_get(self.API_URL, params) + datas = json.loads(rsp) + user = OAuthUser() + user.nickname = datas['name'] + user.openid = datas['id'] + user.type = 'facebook' + user.token = self.access_token + user.metadata = rsp + if 'email' in datas and datas['email']: + user.email = datas['email'] + if 'picture' in datas and datas['picture'] and datas['picture']['data'] and datas['picture']['data']['url']: + user.picture = str(datas['picture']['data']['url']) + return user + except Exception as e: + logger.error(e) + return None + + def get_picture(self, metadata): + datas = json.loads(metadata) + return str(datas['picture']['data']['url']) + + +class QQOauthManager(BaseOauthManager): + AUTH_URL = 'https://graph.qq.com/oauth2.0/authorize' + TOKEN_URL = 'https://graph.qq.com/oauth2.0/token' + API_URL = 'https://graph.qq.com/user/get_user_info' + OPEN_ID_URL = 'https://graph.qq.com/oauth2.0/me' + ICON_NAME = 'qq' + + def __init__(self, access_token=None, openid=None): + config = self.get_config() + self.client_id = config.appkey if config else '' + self.client_secret = config.appsecret if config else '' + self.callback_url = config.callback_url if config else '' + super( + QQOauthManager, + self).__init__( + access_token=access_token, + openid=openid) + + def get_authorization_url(self, next_url='/'): + params = { + 'response_type': 'code', + 'client_id': self.client_id, + 'redirect_uri': self.callback_url + '&next_url=' + next_url, + } + url = self.AUTH_URL + "?" + urllib.parse.urlencode(params) + return url + + def get_access_token_by_code(self, code): + params = { + 'grant_type': 'authorization_code', + 'client_id': self.client_id, + 'client_secret': self.client_secret, + 'code': code, + 'redirect_uri': self.callback_url + } + rsp = self.do_get(self.TOKEN_URL, params) + if rsp: + d = urllib.parse.parse_qs(rsp) + if 'access_token' in d: + token = d['access_token'] + self.access_token = token[0] + return token + else: + raise OAuthAccessTokenException(rsp) + + def get_open_id(self): + if self.is_access_token_set: + params = { + 'access_token': self.access_token + } + rsp = self.do_get(self.OPEN_ID_URL, params) + if rsp: + rsp = rsp.replace( + 'callback(', '').replace( + ')', '').replace( + ';', '') + obj = json.loads(rsp) + openid = str(obj['openid']) + self.openid = openid + return openid + + def get_oauth_userinfo(self): + openid = self.get_open_id() + if openid: + params = { + 'access_token': self.access_token, + 'oauth_consumer_key': self.client_id, + 'openid': self.openid + } + rsp = self.do_get(self.API_URL, params) + logger.info(rsp) + obj = json.loads(rsp) + user = OAuthUser() + user.nickname = obj['nickname'] + user.openid = openid + user.type = 'qq' + user.token = self.access_token + user.metadata = rsp + if 'email' in obj: + user.email = obj['email'] + if 'figureurl' in obj: + user.picture = str(obj['figureurl']) + return user + + def get_picture(self, metadata): + datas = json.loads(metadata) + return str(datas['figureurl']) + + +@cache_decorator(expiration=100 * 60) +def get_oauth_apps(): + configs = OAuthConfig.objects.filter(is_enable=True).all() + if not configs: + return [] + configtypes = [x.type for x in configs] + applications = BaseOauthManager.__subclasses__() + apps = [x() for x in applications if x().ICON_NAME.lower() in configtypes] + return apps + + +def get_manager_by_type(type): + applications = get_oauth_apps() + if applications: + finds = list( + filter( + lambda x: x.ICON_NAME.lower() == type.lower(), + applications)) + if finds: + return finds[0] + return None diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/oauth/templatetags/__init__.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/oauth/templatetags/__init__.py new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/oauth/templatetags/__init__.py @@ -0,0 +1 @@ + diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/oauth/templatetags/oauth_tags.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/oauth/templatetags/oauth_tags.py new file mode 100644 index 0000000..7b687d5 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/oauth/templatetags/oauth_tags.py @@ -0,0 +1,22 @@ +from django import template +from django.urls import reverse + +from oauth.oauthmanager import get_oauth_apps + +register = template.Library() + + +@register.inclusion_tag('oauth/oauth_applications.html') +def load_oauth_applications(request): + applications = get_oauth_apps() + if applications: + baseurl = reverse('oauth:oauthlogin') + path = request.get_full_path() + + apps = list(map(lambda x: (x.ICON_NAME, '{baseurl}?type={type}&next_url={next}'.format( + baseurl=baseurl, type=x.ICON_NAME, next=path)), applications)) + else: + apps = [] + return { + 'apps': apps + } diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/oauth/tests.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/oauth/tests.py new file mode 100644 index 0000000..bb23b9b --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/oauth/tests.py @@ -0,0 +1,249 @@ +import json +from unittest.mock import patch + +from django.conf import settings +from django.contrib import auth +from django.test import Client, RequestFactory, TestCase +from django.urls import reverse + +from djangoblog.utils import get_sha256 +from oauth.models import OAuthConfig +from oauth.oauthmanager import BaseOauthManager + + +# Create your tests here. +class OAuthConfigTest(TestCase): + def setUp(self): + self.client = Client() + self.factory = RequestFactory() + + def test_oauth_login_test(self): + c = OAuthConfig() + c.type = 'weibo' + c.appkey = 'appkey' + c.appsecret = 'appsecret' + c.save() + + response = self.client.get('/oauth/oauthlogin?type=weibo') + self.assertEqual(response.status_code, 302) + self.assertTrue("api.weibo.com" in response.url) + + response = self.client.get('/oauth/authorize?type=weibo&code=code') + self.assertEqual(response.status_code, 302) + self.assertEqual(response.url, '/') + + +class OauthLoginTest(TestCase): + def setUp(self) -> None: + self.client = Client() + self.factory = RequestFactory() + self.apps = self.init_apps() + + def init_apps(self): + applications = [p() for p in BaseOauthManager.__subclasses__()] + for application in applications: + c = OAuthConfig() + c.type = application.ICON_NAME.lower() + c.appkey = 'appkey' + c.appsecret = 'appsecret' + c.save() + return applications + + def get_app_by_type(self, type): + for app in self.apps: + if app.ICON_NAME.lower() == type: + return app + + @patch("oauth.oauthmanager.WBOauthManager.do_post") + @patch("oauth.oauthmanager.WBOauthManager.do_get") + def test_weibo_login(self, mock_do_get, mock_do_post): + weibo_app = self.get_app_by_type('weibo') + assert weibo_app + url = weibo_app.get_authorization_url() + mock_do_post.return_value = json.dumps({"access_token": "access_token", + "uid": "uid" + }) + mock_do_get.return_value = json.dumps({ + "avatar_large": "avatar_large", + "screen_name": "screen_name", + "id": "id", + "email": "email", + }) + userinfo = weibo_app.get_access_token_by_code('code') + self.assertEqual(userinfo.token, 'access_token') + self.assertEqual(userinfo.openid, 'id') + + @patch("oauth.oauthmanager.GoogleOauthManager.do_post") + @patch("oauth.oauthmanager.GoogleOauthManager.do_get") + def test_google_login(self, mock_do_get, mock_do_post): + google_app = self.get_app_by_type('google') + assert google_app + url = google_app.get_authorization_url() + mock_do_post.return_value = json.dumps({ + "access_token": "access_token", + "id_token": "id_token", + }) + mock_do_get.return_value = json.dumps({ + "picture": "picture", + "name": "name", + "sub": "sub", + "email": "email", + }) + token = google_app.get_access_token_by_code('code') + userinfo = google_app.get_oauth_userinfo() + self.assertEqual(userinfo.token, 'access_token') + self.assertEqual(userinfo.openid, 'sub') + + @patch("oauth.oauthmanager.GitHubOauthManager.do_post") + @patch("oauth.oauthmanager.GitHubOauthManager.do_get") + def test_github_login(self, mock_do_get, mock_do_post): + github_app = self.get_app_by_type('github') + assert github_app + url = github_app.get_authorization_url() + self.assertTrue("github.com" in url) + self.assertTrue("client_id" in url) + mock_do_post.return_value = "access_token=gho_16C7e42F292c6912E7710c838347Ae178B4a&scope=repo%2Cgist&token_type=bearer" + mock_do_get.return_value = json.dumps({ + "avatar_url": "avatar_url", + "name": "name", + "id": "id", + "email": "email", + }) + token = github_app.get_access_token_by_code('code') + userinfo = github_app.get_oauth_userinfo() + self.assertEqual(userinfo.token, 'gho_16C7e42F292c6912E7710c838347Ae178B4a') + self.assertEqual(userinfo.openid, 'id') + + @patch("oauth.oauthmanager.FaceBookOauthManager.do_post") + @patch("oauth.oauthmanager.FaceBookOauthManager.do_get") + def test_facebook_login(self, mock_do_get, mock_do_post): + facebook_app = self.get_app_by_type('facebook') + assert facebook_app + url = facebook_app.get_authorization_url() + self.assertTrue("facebook.com" in url) + mock_do_post.return_value = json.dumps({ + "access_token": "access_token", + }) + mock_do_get.return_value = json.dumps({ + "name": "name", + "id": "id", + "email": "email", + "picture": { + "data": { + "url": "url" + } + } + }) + token = facebook_app.get_access_token_by_code('code') + userinfo = facebook_app.get_oauth_userinfo() + self.assertEqual(userinfo.token, 'access_token') + + @patch("oauth.oauthmanager.QQOauthManager.do_get", side_effect=[ + 'access_token=access_token&expires_in=3600', + 'callback({"client_id":"appid","openid":"openid"} );', + json.dumps({ + "nickname": "nickname", + "email": "email", + "figureurl": "figureurl", + "openid": "openid", + }) + ]) + def test_qq_login(self, mock_do_get): + qq_app = self.get_app_by_type('qq') + assert qq_app + url = qq_app.get_authorization_url() + self.assertTrue("qq.com" in url) + token = qq_app.get_access_token_by_code('code') + userinfo = qq_app.get_oauth_userinfo() + self.assertEqual(userinfo.token, 'access_token') + + @patch("oauth.oauthmanager.WBOauthManager.do_post") + @patch("oauth.oauthmanager.WBOauthManager.do_get") + def test_weibo_authoriz_login_with_email(self, mock_do_get, mock_do_post): + + mock_do_post.return_value = json.dumps({"access_token": "access_token", + "uid": "uid" + }) + mock_user_info = { + "avatar_large": "avatar_large", + "screen_name": "screen_name1", + "id": "id", + "email": "email", + } + mock_do_get.return_value = json.dumps(mock_user_info) + + response = self.client.get('/oauth/oauthlogin?type=weibo') + self.assertEqual(response.status_code, 302) + self.assertTrue("api.weibo.com" in response.url) + + response = self.client.get('/oauth/authorize?type=weibo&code=code') + self.assertEqual(response.status_code, 302) + self.assertEqual(response.url, '/') + + user = auth.get_user(self.client) + assert user.is_authenticated + self.assertTrue(user.is_authenticated) + self.assertEqual(user.username, mock_user_info['screen_name']) + self.assertEqual(user.email, mock_user_info['email']) + self.client.logout() + + response = self.client.get('/oauth/authorize?type=weibo&code=code') + self.assertEqual(response.status_code, 302) + self.assertEqual(response.url, '/') + + user = auth.get_user(self.client) + assert user.is_authenticated + self.assertTrue(user.is_authenticated) + self.assertEqual(user.username, mock_user_info['screen_name']) + self.assertEqual(user.email, mock_user_info['email']) + + @patch("oauth.oauthmanager.WBOauthManager.do_post") + @patch("oauth.oauthmanager.WBOauthManager.do_get") + def test_weibo_authoriz_login_without_email(self, mock_do_get, mock_do_post): + + mock_do_post.return_value = json.dumps({"access_token": "access_token", + "uid": "uid" + }) + mock_user_info = { + "avatar_large": "avatar_large", + "screen_name": "screen_name1", + "id": "id", + } + mock_do_get.return_value = json.dumps(mock_user_info) + + response = self.client.get('/oauth/oauthlogin?type=weibo') + self.assertEqual(response.status_code, 302) + self.assertTrue("api.weibo.com" in response.url) + + response = self.client.get('/oauth/authorize?type=weibo&code=code') + + self.assertEqual(response.status_code, 302) + + oauth_user_id = int(response.url.split('/')[-1].split('.')[0]) + self.assertEqual(response.url, f'/oauth/requireemail/{oauth_user_id}.html') + + response = self.client.post(response.url, {'email': 'test@gmail.com', 'oauthid': oauth_user_id}) + + self.assertEqual(response.status_code, 302) + sign = get_sha256(settings.SECRET_KEY + + str(oauth_user_id) + settings.SECRET_KEY) + + url = reverse('oauth:bindsuccess', kwargs={ + 'oauthid': oauth_user_id, + }) + self.assertEqual(response.url, f'{url}?type=email') + + path = reverse('oauth:email_confirm', kwargs={ + 'id': oauth_user_id, + 'sign': sign + }) + response = self.client.get(path) + self.assertEqual(response.status_code, 302) + self.assertEqual(response.url, f'/oauth/bindsuccess/{oauth_user_id}.html?type=success') + user = auth.get_user(self.client) + from oauth.models import OAuthUser + oauth_user = OAuthUser.objects.get(author=user) + self.assertTrue(user.is_authenticated) + self.assertEqual(user.username, mock_user_info['screen_name']) + self.assertEqual(user.email, 'test@gmail.com') + self.assertEqual(oauth_user.pk, oauth_user_id) diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/oauth/urls.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/oauth/urls.py new file mode 100644 index 0000000..c4a12a0 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/oauth/urls.py @@ -0,0 +1,25 @@ +from django.urls import path + +from . import views + +app_name = "oauth" +urlpatterns = [ + path( + r'oauth/authorize', + views.authorize), + path( + r'oauth/requireemail/.html', + views.RequireEmailView.as_view(), + name='require_email'), + path( + r'oauth/emailconfirm//.html', + views.emailconfirm, + name='email_confirm'), + path( + r'oauth/bindsuccess/.html', + views.bindsuccess, + name='bindsuccess'), + path( + r'oauth/oauthlogin', + views.oauthlogin, + name='oauthlogin')] diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/oauth/views.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/oauth/views.py new file mode 100644 index 0000000..12e3a6e --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/oauth/views.py @@ -0,0 +1,253 @@ +import logging +# Create your views here. +from urllib.parse import urlparse + +from django.conf import settings +from django.contrib.auth import get_user_model +from django.contrib.auth import login +from django.core.exceptions import ObjectDoesNotExist +from django.db import transaction +from django.http import HttpResponseForbidden +from django.http import HttpResponseRedirect +from django.shortcuts import get_object_or_404 +from django.shortcuts import render +from django.urls import reverse +from django.utils import timezone +from django.utils.translation import gettext_lazy as _ +from django.views.generic import FormView + +from djangoblog.blog_signals import oauth_user_login_signal +from djangoblog.utils import get_current_site +from djangoblog.utils import send_email, get_sha256 +from oauth.forms import RequireEmailForm +from .models import OAuthUser +from .oauthmanager import get_manager_by_type, OAuthAccessTokenException + +logger = logging.getLogger(__name__) + + +def get_redirecturl(request): + nexturl = request.GET.get('next_url', None) + if not nexturl or nexturl == '/login/' or nexturl == '/login': + nexturl = '/' + return nexturl + p = urlparse(nexturl) + if p.netloc: + site = get_current_site().domain + if not p.netloc.replace('www.', '') == site.replace('www.', ''): + logger.info('非法url:' + nexturl) + return "/" + return nexturl + + +def oauthlogin(request): + type = request.GET.get('type', None) + if not type: + return HttpResponseRedirect('/') + manager = get_manager_by_type(type) + if not manager: + return HttpResponseRedirect('/') + nexturl = get_redirecturl(request) + authorizeurl = manager.get_authorization_url(nexturl) + return HttpResponseRedirect(authorizeurl) + + +def authorize(request): + type = request.GET.get('type', None) + if not type: + return HttpResponseRedirect('/') + manager = get_manager_by_type(type) + if not manager: + return HttpResponseRedirect('/') + code = request.GET.get('code', None) + try: + rsp = manager.get_access_token_by_code(code) + except OAuthAccessTokenException as e: + logger.warning("OAuthAccessTokenException:" + str(e)) + return HttpResponseRedirect('/') + except Exception as e: + logger.error(e) + rsp = None + nexturl = get_redirecturl(request) + if not rsp: + return HttpResponseRedirect(manager.get_authorization_url(nexturl)) + user = manager.get_oauth_userinfo() + if user: + if not user.nickname or not user.nickname.strip(): + user.nickname = "djangoblog" + timezone.now().strftime('%y%m%d%I%M%S') + try: + temp = OAuthUser.objects.get(type=type, openid=user.openid) + temp.picture = user.picture + temp.metadata = user.metadata + temp.nickname = user.nickname + user = temp + except ObjectDoesNotExist: + pass + # facebook的token过长 + if type == 'facebook': + user.token = '' + if user.email: + with transaction.atomic(): + author = None + try: + author = get_user_model().objects.get(id=user.author_id) + except ObjectDoesNotExist: + pass + if not author: + result = get_user_model().objects.get_or_create(email=user.email) + author = result[0] + if result[1]: + try: + get_user_model().objects.get(username=user.nickname) + except ObjectDoesNotExist: + author.username = user.nickname + else: + author.username = "djangoblog" + timezone.now().strftime('%y%m%d%I%M%S') + author.source = 'authorize' + author.save() + + user.author = author + user.save() + + oauth_user_login_signal.send( + sender=authorize.__class__, id=user.id) + login(request, author) + return HttpResponseRedirect(nexturl) + else: + user.save() + url = reverse('oauth:require_email', kwargs={ + 'oauthid': user.id + }) + + return HttpResponseRedirect(url) + else: + return HttpResponseRedirect(nexturl) + + +def emailconfirm(request, id, sign): + if not sign: + return HttpResponseForbidden() + if not get_sha256(settings.SECRET_KEY + + str(id) + + settings.SECRET_KEY).upper() == sign.upper(): + return HttpResponseForbidden() + oauthuser = get_object_or_404(OAuthUser, pk=id) + with transaction.atomic(): + if oauthuser.author: + author = get_user_model().objects.get(pk=oauthuser.author_id) + else: + result = get_user_model().objects.get_or_create(email=oauthuser.email) + author = result[0] + if result[1]: + author.source = 'emailconfirm' + author.username = oauthuser.nickname.strip() if oauthuser.nickname.strip( + ) else "djangoblog" + timezone.now().strftime('%y%m%d%I%M%S') + author.save() + oauthuser.author = author + oauthuser.save() + oauth_user_login_signal.send( + sender=emailconfirm.__class__, + id=oauthuser.id) + login(request, author) + + site = 'http://' + get_current_site().domain + content = _(''' +

Congratulations, you have successfully bound your email address. You can use + %(oauthuser_type)s to directly log in to this website without a password.

+ You are welcome to continue to follow this site, the address is + %(site)s + Thank you again! +
+ If the link above cannot be opened, please copy this link to your browser. + %(site)s + ''') % {'oauthuser_type': oauthuser.type, 'site': site} + + send_email(emailto=[oauthuser.email, ], title=_('Congratulations on your successful binding!'), content=content) + url = reverse('oauth:bindsuccess', kwargs={ + 'oauthid': id + }) + url = url + '?type=success' + return HttpResponseRedirect(url) + + +class RequireEmailView(FormView): + form_class = RequireEmailForm + template_name = 'oauth/require_email.html' + + def get(self, request, *args, **kwargs): + oauthid = self.kwargs['oauthid'] + oauthuser = get_object_or_404(OAuthUser, pk=oauthid) + if oauthuser.email: + pass + # return HttpResponseRedirect('/') + + return super(RequireEmailView, self).get(request, *args, **kwargs) + + def get_initial(self): + oauthid = self.kwargs['oauthid'] + return { + 'email': '', + 'oauthid': oauthid + } + + def get_context_data(self, **kwargs): + oauthid = self.kwargs['oauthid'] + oauthuser = get_object_or_404(OAuthUser, pk=oauthid) + if oauthuser.picture: + kwargs['picture'] = oauthuser.picture + return super(RequireEmailView, self).get_context_data(**kwargs) + + def form_valid(self, form): + email = form.cleaned_data['email'] + oauthid = form.cleaned_data['oauthid'] + oauthuser = get_object_or_404(OAuthUser, pk=oauthid) + oauthuser.email = email + oauthuser.save() + sign = get_sha256(settings.SECRET_KEY + + str(oauthuser.id) + settings.SECRET_KEY) + site = get_current_site().domain + if settings.DEBUG: + site = '127.0.0.1:8000' + path = reverse('oauth:email_confirm', kwargs={ + 'id': oauthid, + 'sign': sign + }) + url = "http://{site}{path}".format(site=site, path=path) + + content = _(""" +

Please click the link below to bind your email

+ + %(url)s + + Thank you again! +
+ If the link above cannot be opened, please copy this link to your browser. +
+ %(url)s + """) % {'url': url} + send_email(emailto=[email, ], title=_('Bind your email'), content=content) + url = reverse('oauth:bindsuccess', kwargs={ + 'oauthid': oauthid + }) + url = url + '?type=email' + return HttpResponseRedirect(url) + + +def bindsuccess(request, oauthid): + type = request.GET.get('type', None) + oauthuser = get_object_or_404(OAuthUser, pk=oauthid) + if type == 'email': + title = _('Bind your email') + content = _( + 'Congratulations, the binding is just one step away. ' + 'Please log in to your email to check the email to complete the binding. Thank you.') + else: + title = _('Binding successful') + content = _( + "Congratulations, you have successfully bound your email address. You can use %(oauthuser_type)s" + " to directly log in to this website without a password. You are welcome to continue to follow this site." % { + 'oauthuser_type': oauthuser.type}) + return render(request, 'oauth/bindsuccess.html', { + 'title': title, + 'content': content + }) diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/owntracks/__init__.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/owntracks/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/owntracks/admin.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/owntracks/admin.py new file mode 100644 index 0000000..655b535 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/owntracks/admin.py @@ -0,0 +1,7 @@ +from django.contrib import admin + +# Register your models here. + + +class OwnTrackLogsAdmin(admin.ModelAdmin): + pass diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/owntracks/apps.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/owntracks/apps.py new file mode 100644 index 0000000..1bc5f12 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/owntracks/apps.py @@ -0,0 +1,5 @@ +from django.apps import AppConfig + + +class OwntracksConfig(AppConfig): + name = 'owntracks' diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/owntracks/migrations/0001_initial.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/owntracks/migrations/0001_initial.py new file mode 100644 index 0000000..9eee55c --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/owntracks/migrations/0001_initial.py @@ -0,0 +1,31 @@ +# Generated by Django 4.1.7 on 2023-03-02 07:14 + +from django.db import migrations, models +import django.utils.timezone + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ] + + operations = [ + migrations.CreateModel( + name='OwnTrackLog', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('tid', models.CharField(max_length=100, verbose_name='用户')), + ('lat', models.FloatField(verbose_name='纬度')), + ('lon', models.FloatField(verbose_name='经度')), + ('created_time', models.DateTimeField(default=django.utils.timezone.now, verbose_name='创建时间')), + ], + options={ + 'verbose_name': 'OwnTrackLogs', + 'verbose_name_plural': 'OwnTrackLogs', + 'ordering': ['created_time'], + 'get_latest_by': 'created_time', + }, + ), + ] diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/owntracks/migrations/0002_alter_owntracklog_options_and_more.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/owntracks/migrations/0002_alter_owntracklog_options_and_more.py new file mode 100644 index 0000000..b4f8dec --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/owntracks/migrations/0002_alter_owntracklog_options_and_more.py @@ -0,0 +1,22 @@ +# Generated by Django 4.2.5 on 2023-09-06 13:19 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('owntracks', '0001_initial'), + ] + + operations = [ + migrations.AlterModelOptions( + name='owntracklog', + options={'get_latest_by': 'creation_time', 'ordering': ['creation_time'], 'verbose_name': 'OwnTrackLogs', 'verbose_name_plural': 'OwnTrackLogs'}, + ), + migrations.RenameField( + model_name='owntracklog', + old_name='created_time', + new_name='creation_time', + ), + ] diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/owntracks/migrations/__init__.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/owntracks/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/owntracks/models.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/owntracks/models.py new file mode 100644 index 0000000..760942c --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/owntracks/models.py @@ -0,0 +1,20 @@ +from django.db import models +from django.utils.timezone import now + + +# Create your models here. + +class OwnTrackLog(models.Model): + tid = models.CharField(max_length=100, null=False, verbose_name='用户') + lat = models.FloatField(verbose_name='纬度') + lon = models.FloatField(verbose_name='经度') + creation_time = models.DateTimeField('创建时间', default=now) + + def __str__(self): + return self.tid + + class Meta: + ordering = ['creation_time'] + verbose_name = "OwnTrackLogs" + verbose_name_plural = verbose_name + get_latest_by = 'creation_time' diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/owntracks/tests.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/owntracks/tests.py new file mode 100644 index 0000000..3b4b9d8 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/owntracks/tests.py @@ -0,0 +1,64 @@ +import json + +from django.test import Client, RequestFactory, TestCase + +from accounts.models import BlogUser +from .models import OwnTrackLog + + +# Create your tests here. + +class OwnTrackLogTest(TestCase): + def setUp(self): + self.client = Client() + self.factory = RequestFactory() + + def test_own_track_log(self): + o = { + 'tid': 12, + 'lat': 123.123, + 'lon': 134.341 + } + + self.client.post( + '/owntracks/logtracks', + json.dumps(o), + content_type='application/json') + length = len(OwnTrackLog.objects.all()) + self.assertEqual(length, 1) + + o = { + 'tid': 12, + 'lat': 123.123 + } + + self.client.post( + '/owntracks/logtracks', + json.dumps(o), + content_type='application/json') + length = len(OwnTrackLog.objects.all()) + self.assertEqual(length, 1) + + rsp = self.client.get('/owntracks/show_maps') + self.assertEqual(rsp.status_code, 302) + + user = BlogUser.objects.create_superuser( + email="liangliangyy1@gmail.com", + username="liangliangyy1", + password="liangliangyy1") + + self.client.login(username='liangliangyy1', password='liangliangyy1') + s = OwnTrackLog() + s.tid = 12 + s.lon = 123.234 + s.lat = 34.234 + s.save() + + rsp = self.client.get('/owntracks/show_dates') + self.assertEqual(rsp.status_code, 200) + rsp = self.client.get('/owntracks/show_maps') + self.assertEqual(rsp.status_code, 200) + rsp = self.client.get('/owntracks/get_datas') + self.assertEqual(rsp.status_code, 200) + rsp = self.client.get('/owntracks/get_datas?date=2018-02-26') + self.assertEqual(rsp.status_code, 200) diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/owntracks/urls.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/owntracks/urls.py new file mode 100644 index 0000000..c19ada8 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/owntracks/urls.py @@ -0,0 +1,12 @@ +from django.urls import path + +from . import views + +app_name = "owntracks" + +urlpatterns = [ + path('owntracks/logtracks', views.manage_owntrack_log, name='logtracks'), + path('owntracks/show_maps', views.show_maps, name='show_maps'), + path('owntracks/get_datas', views.get_datas, name='get_datas'), + path('owntracks/show_dates', views.show_log_dates, name='show_dates') +] diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/owntracks/views.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/owntracks/views.py new file mode 100644 index 0000000..4c72bdd --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/owntracks/views.py @@ -0,0 +1,127 @@ +# Create your views here. +import datetime +import itertools +import json +import logging +from datetime import timezone +from itertools import groupby + +import django +import requests +from django.contrib.auth.decorators import login_required +from django.http import HttpResponse +from django.http import JsonResponse +from django.shortcuts import render +from django.views.decorators.csrf import csrf_exempt + +from .models import OwnTrackLog + +logger = logging.getLogger(__name__) + + +@csrf_exempt +def manage_owntrack_log(request): + try: + s = json.loads(request.read().decode('utf-8')) + tid = s['tid'] + lat = s['lat'] + lon = s['lon'] + + logger.info( + 'tid:{tid}.lat:{lat}.lon:{lon}'.format( + tid=tid, lat=lat, lon=lon)) + if tid and lat and lon: + m = OwnTrackLog() + m.tid = tid + m.lat = lat + m.lon = lon + m.save() + return HttpResponse('ok') + else: + return HttpResponse('data error') + except Exception as e: + logger.error(e) + return HttpResponse('error') + + +@login_required +def show_maps(request): + if request.user.is_superuser: + defaultdate = str(datetime.datetime.now(timezone.utc).date()) + date = request.GET.get('date', defaultdate) + context = { + 'date': date + } + return render(request, 'owntracks/show_maps.html', context) + else: + from django.http import HttpResponseForbidden + return HttpResponseForbidden() + + +@login_required +def show_log_dates(request): + dates = OwnTrackLog.objects.values_list('creation_time', flat=True) + results = list(sorted(set(map(lambda x: x.strftime('%Y-%m-%d'), dates)))) + + context = { + 'results': results + } + return render(request, 'owntracks/show_log_dates.html', context) + + +def convert_to_amap(locations): + convert_result = [] + it = iter(locations) + + item = list(itertools.islice(it, 30)) + while item: + datas = ';'.join( + set(map(lambda x: str(x.lon) + ',' + str(x.lat), item))) + + key = '8440a376dfc9743d8924bf0ad141f28e' + api = 'http://restapi.amap.com/v3/assistant/coordinate/convert' + query = { + 'key': key, + 'locations': datas, + 'coordsys': 'gps' + } + rsp = requests.get(url=api, params=query) + result = json.loads(rsp.text) + if "locations" in result: + convert_result.append(result['locations']) + item = list(itertools.islice(it, 30)) + + return ";".join(convert_result) + + +@login_required +def get_datas(request): + now = django.utils.timezone.now().replace(tzinfo=timezone.utc) + querydate = django.utils.timezone.datetime( + now.year, now.month, now.day, 0, 0, 0) + if request.GET.get('date', None): + date = list(map(lambda x: int(x), request.GET.get('date').split('-'))) + querydate = django.utils.timezone.datetime( + date[0], date[1], date[2], 0, 0, 0) + nextdate = querydate + datetime.timedelta(days=1) + models = OwnTrackLog.objects.filter( + creation_time__range=(querydate, nextdate)) + result = list() + if models and len(models): + for tid, item in groupby( + sorted(models, key=lambda k: k.tid), key=lambda k: k.tid): + + d = dict() + d["name"] = tid + paths = list() + # 使用高德转换后的经纬度 + # locations = convert_to_amap( + # sorted(item, key=lambda x: x.creation_time)) + # for i in locations.split(';'): + # paths.append(i.split(',')) + # 使用GPS原始经纬度 + for location in sorted(item, key=lambda x: x.creation_time): + paths.append([str(location.lon), str(location.lat)]) + d["path"] = paths + result.append(d) + return JsonResponse(result, safe=False) diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/plugins/__init__.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/plugins/__init__.py new file mode 100644 index 0000000..e88afca --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/plugins/__init__.py @@ -0,0 +1 @@ +# This file makes this a Python package diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/plugins/article_copyright/__init__.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/plugins/article_copyright/__init__.py new file mode 100644 index 0000000..e88afca --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/plugins/article_copyright/__init__.py @@ -0,0 +1 @@ +# This file makes this a Python package diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/plugins/article_copyright/plugin.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/plugins/article_copyright/plugin.py new file mode 100644 index 0000000..317fed2 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/plugins/article_copyright/plugin.py @@ -0,0 +1,32 @@ +from djangoblog.plugin_manage.base_plugin import BasePlugin +from djangoblog.plugin_manage import hooks +from djangoblog.plugin_manage.hook_constants import ARTICLE_CONTENT_HOOK_NAME + + +class ArticleCopyrightPlugin(BasePlugin): + PLUGIN_NAME = '文章结尾版权声明' + PLUGIN_DESCRIPTION = '一个在文章正文末尾添加版权声明的插件。' + PLUGIN_VERSION = '0.2.0' + PLUGIN_AUTHOR = 'liangliangyy' + + # 2. 实现 register_hooks 方法,专门用于注册钩子 + def register_hooks(self): + # 在这里将插件的方法注册到指定的钩子上 + hooks.register(ARTICLE_CONTENT_HOOK_NAME, self.add_copyright_to_content) + + def add_copyright_to_content(self, content, *args, **kwargs): + """ + 这个方法会被注册到 'the_content' 过滤器钩子上。 + 它接收原始内容,并返回添加了版权信息的新内容。 + """ + article = kwargs.get('article') + if not article: + return content + + copyright_info = f"\n

本文由 {article.author.username} 原创,转载请注明出处。

" + return content + copyright_info + + +# 3. 实例化插件。 +# 这会自动调用 BasePlugin.__init__,然后 BasePlugin.__init__ 会调用我们上面定义的 register_hooks 方法。 +plugin = ArticleCopyrightPlugin() diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/plugins/external_links/__init__.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/plugins/external_links/__init__.py new file mode 100644 index 0000000..e88afca --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/plugins/external_links/__init__.py @@ -0,0 +1 @@ +# This file makes this a Python package diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/plugins/external_links/plugin.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/plugins/external_links/plugin.py new file mode 100644 index 0000000..5b2ef14 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/plugins/external_links/plugin.py @@ -0,0 +1,48 @@ +import re +from urllib.parse import urlparse +from djangoblog.plugin_manage.base_plugin import BasePlugin +from djangoblog.plugin_manage import hooks +from djangoblog.plugin_manage.hook_constants import ARTICLE_CONTENT_HOOK_NAME + + +class ExternalLinksPlugin(BasePlugin): + PLUGIN_NAME = '外部链接处理器' + PLUGIN_DESCRIPTION = '自动为文章中的外部链接添加 target="_blank" 和 rel="noopener noreferrer" 属性。' + PLUGIN_VERSION = '0.1.0' + PLUGIN_AUTHOR = 'liangliangyy' + + def register_hooks(self): + hooks.register(ARTICLE_CONTENT_HOOK_NAME, self.process_external_links) + + def process_external_links(self, content, *args, **kwargs): + from djangoblog.utils import get_current_site + site_domain = get_current_site().domain + + # 正则表达式查找所有 标签 + link_pattern = re.compile(r'(]*?\s+)?href=")([^"]*)(".*?/a>)', re.IGNORECASE) + + def replacer(match): + # match.group(1) 是 ... + href = match.group(2) + + # 如果链接已经有 target 属性,则不处理 + if 'target=' in match.group(0).lower(): + return match.group(0) + + # 解析链接 + parsed_url = urlparse(href) + + # 如果链接是外部的 (有域名且域名不等于当前网站域名) + if parsed_url.netloc and parsed_url.netloc != site_domain: + # 添加 target 和 rel 属性 + return f'{match.group(1)}{href}" target="_blank" rel="noopener noreferrer"{match.group(3)}' + + # 否则返回原样 + return match.group(0) + + return link_pattern.sub(replacer, content) + + +plugin = ExternalLinksPlugin() diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/plugins/reading_time/__init__.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/plugins/reading_time/__init__.py new file mode 100644 index 0000000..e88afca --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/plugins/reading_time/__init__.py @@ -0,0 +1 @@ +# This file makes this a Python package diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/plugins/reading_time/plugin.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/plugins/reading_time/plugin.py new file mode 100644 index 0000000..35f9db1 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/plugins/reading_time/plugin.py @@ -0,0 +1,43 @@ +import math +import re +from djangoblog.plugin_manage.base_plugin import BasePlugin +from djangoblog.plugin_manage import hooks +from djangoblog.plugin_manage.hook_constants import ARTICLE_CONTENT_HOOK_NAME + + +class ReadingTimePlugin(BasePlugin): + PLUGIN_NAME = '阅读时间预测' + PLUGIN_DESCRIPTION = '估算文章阅读时间并显示在文章开头。' + PLUGIN_VERSION = '0.1.0' + PLUGIN_AUTHOR = 'liangliangyy' + + def register_hooks(self): + hooks.register(ARTICLE_CONTENT_HOOK_NAME, self.add_reading_time) + + def add_reading_time(self, content, *args, **kwargs): + """ + 计算阅读时间并添加到内容开头。 + """ + # 移除HTML标签和空白字符,以获得纯文本 + clean_content = re.sub(r'<[^>]*>', '', content) + clean_content = clean_content.strip() + + # 中文和英文单词混合计数的一个简单方法 + # 匹配中文字符或连续的非中文字符(视为单词) + words = re.findall(r'[\u4e00-\u9fa5]|\w+', clean_content) + word_count = len(words) + + # 按平均每分钟200字的速度计算 + reading_speed = 200 + reading_minutes = math.ceil(word_count / reading_speed) + + # 如果阅读时间少于1分钟,则显示为1分钟 + if reading_minutes < 1: + reading_minutes = 1 + + reading_time_html = f'

预计阅读时间:{reading_minutes} 分钟

' + + return reading_time_html + content + + +plugin = ReadingTimePlugin() \ No newline at end of file diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/plugins/seo_optimizer/__init__.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/plugins/seo_optimizer/__init__.py new file mode 100644 index 0000000..e88afca --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/plugins/seo_optimizer/__init__.py @@ -0,0 +1 @@ +# This file makes this a Python package diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/plugins/seo_optimizer/plugin.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/plugins/seo_optimizer/plugin.py new file mode 100644 index 0000000..b5b19a3 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/plugins/seo_optimizer/plugin.py @@ -0,0 +1,142 @@ +import json +from django.utils.html import strip_tags +from django.template.defaultfilters import truncatewords +from djangoblog.plugin_manage.base_plugin import BasePlugin +from djangoblog.plugin_manage import hooks +from blog.models import Article, Category, Tag +from djangoblog.utils import get_blog_setting + + +class SeoOptimizerPlugin(BasePlugin): + PLUGIN_NAME = 'SEO 优化器' + PLUGIN_DESCRIPTION = '为文章、页面等提供 SEO 优化,动态生成 meta 标签和 JSON-LD 结构化数据。' + PLUGIN_VERSION = '0.2.0' + PLUGIN_AUTHOR = 'liuangliangyy' + + def register_hooks(self): + hooks.register('head_meta', self.dispatch_seo_generation) + + def _get_article_seo_data(self, context, request, blog_setting): + article = context.get('article') + if not isinstance(article, Article): + return None + + description = strip_tags(article.body)[:150] + keywords = ",".join([tag.name for tag in article.tags.all()]) or blog_setting.site_keywords + + meta_tags = f''' + + + + + + + + + ''' + for tag in article.tags.all(): + meta_tags += f'' + meta_tags += f'' + + structured_data = { + "@context": "https://schema.org", + "@type": "Article", + "mainEntityOfPage": {"@type": "WebPage", "@id": request.build_absolute_uri()}, + "headline": article.title, + "description": description, + "image": request.build_absolute_uri(article.get_first_image_url()), + "datePublished": article.pub_time.isoformat(), + "dateModified": article.last_modify_time.isoformat(), + "author": {"@type": "Person", "name": article.author.username}, + "publisher": {"@type": "Organization", "name": blog_setting.site_name} + } + if not structured_data.get("image"): + del structured_data["image"] + + return { + "title": f"{article.title} | {blog_setting.site_name}", + "description": description, + "keywords": keywords, + "meta_tags": meta_tags, + "json_ld": structured_data + } + + def _get_category_seo_data(self, context, request, blog_setting): + category_name = context.get('tag_name') + if not category_name: + return None + + category = Category.objects.filter(name=category_name).first() + if not category: + return None + + title = f"{category.name} | {blog_setting.site_name}" + description = strip_tags(category.name) or blog_setting.site_description + keywords = category.name + + # BreadcrumbList structured data for category page + breadcrumb_items = [{"@type": "ListItem", "position": 1, "name": "首页", "item": request.build_absolute_uri('/')}] + breadcrumb_items.append({"@type": "ListItem", "position": 2, "name": category.name, "item": request.build_absolute_uri()}) + + structured_data = { + "@context": "https://schema.org", + "@type": "BreadcrumbList", + "itemListElement": breadcrumb_items + } + + return { + "title": title, + "description": description, + "keywords": keywords, + "meta_tags": "", + "json_ld": structured_data + } + + def _get_default_seo_data(self, context, request, blog_setting): + # Homepage and other default pages + structured_data = { + "@context": "https://schema.org", + "@type": "WebSite", + "url": request.build_absolute_uri('/'), + "potentialAction": { + "@type": "SearchAction", + "target": f"{request.build_absolute_uri('/search/')}?q={{search_term_string}}", + "query-input": "required name=search_term_string" + } + } + return { + "title": f"{blog_setting.site_name} | {blog_setting.site_description}", + "description": blog_setting.site_description, + "keywords": blog_setting.site_keywords, + "meta_tags": "", + "json_ld": structured_data + } + + def dispatch_seo_generation(self, metas, context): + request = context.get('request') + if not request: + return metas + + view_name = request.resolver_match.view_name + blog_setting = get_blog_setting() + + seo_data = None + if view_name == 'blog:detailbyid': + seo_data = self._get_article_seo_data(context, request, blog_setting) + elif view_name == 'blog:category_detail': + seo_data = self._get_category_seo_data(context, request, blog_setting) + + if not seo_data: + seo_data = self._get_default_seo_data(context, request, blog_setting) + + json_ld_script = f'' + + return f""" + {seo_data.get("title", "")} + + + {seo_data.get("meta_tags", "")} + {json_ld_script} + """ + +plugin = SeoOptimizerPlugin() diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/plugins/view_count/__init__.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/plugins/view_count/__init__.py new file mode 100644 index 0000000..8804fdf --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/plugins/view_count/__init__.py @@ -0,0 +1 @@ +# This file makes this a Python package \ No newline at end of file diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/plugins/view_count/plugin.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/plugins/view_count/plugin.py new file mode 100644 index 0000000..15e9d94 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/plugins/view_count/plugin.py @@ -0,0 +1,18 @@ +from djangoblog.plugin_manage.base_plugin import BasePlugin +from djangoblog.plugin_manage import hooks + + +class ViewCountPlugin(BasePlugin): + PLUGIN_NAME = '文章浏览次数统计' + PLUGIN_DESCRIPTION = '统计文章的浏览次数' + PLUGIN_VERSION = '0.1.0' + PLUGIN_AUTHOR = 'liangliangyy' + + def register_hooks(self): + hooks.register('after_article_body_get', self.record_view) + + def record_view(self, article, *args, **kwargs): + article.viewed() + + +plugin = ViewCountPlugin() \ No newline at end of file diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/requirements.txt b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..9dc5c935191f166db408850beb747475a262f65f GIT binary patch literal 2554 zcmZ{mOK)0H41~|RQhy3jxa83;x~aOVRHt-$MBCMc>m$SHk)3NsCx724O z&svob%XMU|V{iQC@?R zZ~0G!W+z_|B@^!EYb0|a8|zFJJ(1fNe%^|{En8uk>3b5kw*sb!x=F1+XweA^2Zpom&^VXcC#kB7{YUtyk1AW8lRCsH7kc&9|2FJZDW6fPxwcK<4UuCUBdsXLVs`_5F zp~0oR=sQS>?<%PjW*zBU@cbYY3-!J}L^}_3Y27N;PkG)pk*uJsc&?t#R3o*J(X1SA zka;NaQGO#GYHJxbBbSkJp-k9@@&PlNs$w3EcPR@sF|TltTB6Tpl&WX?P!AFM`gAq# ziDP5!b%x?N`7!_PG~o%JQRKX9Y6p=$>EBXOM*7a}6;HOi-71ev8|^_li^@^eSj@w__0A3aLAaD3lW$cY-+ejf+0D0n;c*g?m`=Y9 z#D{NVKaQOf&bHqN|K6p!G41^vmi8TR=TIe^a2}m??@)Ypmc4|+%#Zt&bBpa!Y_Lna z95ZK`d!>na86B&$`)xt#Oe-&k^ISIS%h_8C0ec(O{{Ln{w6Q!`KVv#@hd&K=)9UJoM~W6el-zM7!{x**T=1X z^wa1z+L2b5chAc%ZKb?k2fY03=7b3E0}!J+D^ z`Om~yc~RJ~yuIGH-QLq%`|ZTuPLXcJX{%xE{f6^yk|#Rdx2k=` SS`X?#O)JeKo3nk{t@?jbHFwMa literal 0 HcmV?d00001 diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/servermanager/MemcacheStorage.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/servermanager/MemcacheStorage.py new file mode 100644 index 0000000..38a7990 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/servermanager/MemcacheStorage.py @@ -0,0 +1,32 @@ +from werobot.session import SessionStorage +from werobot.utils import json_loads, json_dumps + +from djangoblog.utils import cache + + +class MemcacheStorage(SessionStorage): + def __init__(self, prefix='ws_'): + self.prefix = prefix + self.cache = cache + + @property + def is_available(self): + value = "1" + self.set('checkavaliable', value=value) + return value == self.get('checkavaliable') + + def key_name(self, s): + return '{prefix}{s}'.format(prefix=self.prefix, s=s) + + def get(self, id): + id = self.key_name(id) + session_json = self.cache.get(id) or '{}' + return json_loads(session_json) + + def set(self, id, value): + id = self.key_name(id) + self.cache.set(id, json_dumps(value)) + + def delete(self, id): + id = self.key_name(id) + self.cache.delete(id) diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/servermanager/__init__.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/servermanager/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/servermanager/admin.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/servermanager/admin.py new file mode 100644 index 0000000..f26f4f6 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/servermanager/admin.py @@ -0,0 +1,19 @@ +from django.contrib import admin +# Register your models here. + + +class CommandsAdmin(admin.ModelAdmin): + list_display = ('title', 'command', 'describe') + + +class EmailSendLogAdmin(admin.ModelAdmin): + list_display = ('title', 'emailto', 'send_result', 'creation_time') + readonly_fields = ( + 'title', + 'emailto', + 'send_result', + 'creation_time', + 'content') + + def has_add_permission(self, request): + return False diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/servermanager/api/__init__.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/servermanager/api/__init__.py new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/servermanager/api/__init__.py @@ -0,0 +1 @@ + diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/servermanager/api/blogapi.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/servermanager/api/blogapi.py new file mode 100644 index 0000000..8a4d6ac --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/servermanager/api/blogapi.py @@ -0,0 +1,27 @@ +from haystack.query import SearchQuerySet + +from blog.models import Article, Category + + +class BlogApi: + def __init__(self): + self.searchqueryset = SearchQuerySet() + self.searchqueryset.auto_query('') + self.__max_takecount__ = 8 + + def search_articles(self, query): + sqs = self.searchqueryset.auto_query(query) + sqs = sqs.load_all() + return sqs[:self.__max_takecount__] + + def get_category_lists(self): + return Category.objects.all() + + def get_category_articles(self, categoryname): + articles = Article.objects.filter(category__name=categoryname) + if articles: + return articles[:self.__max_takecount__] + return None + + def get_recent_articles(self): + return Article.objects.all()[:self.__max_takecount__] diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/servermanager/api/commonapi.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/servermanager/api/commonapi.py new file mode 100644 index 0000000..83ad9ff --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/servermanager/api/commonapi.py @@ -0,0 +1,64 @@ +import logging +import os + +import openai + +from servermanager.models import commands + +logger = logging.getLogger(__name__) + +openai.api_key = os.environ.get('OPENAI_API_KEY') +if os.environ.get('HTTP_PROXY'): + openai.proxy = os.environ.get('HTTP_PROXY') + + +class ChatGPT: + + @staticmethod + def chat(prompt): + try: + completion = openai.ChatCompletion.create(model="gpt-3.5-turbo", + messages=[{"role": "user", "content": prompt}]) + return completion.choices[0].message.content + except Exception as e: + logger.error(e) + return "服务器出错了" + + +class CommandHandler: + def __init__(self): + self.commands = commands.objects.all() + + def run(self, title): + """ + 运行命令 + :param title: 命令 + :return: 返回命令执行结果 + """ + cmd = list( + filter( + lambda x: x.title.upper() == title.upper(), + self.commands)) + if cmd: + return self.__run_command__(cmd[0].command) + else: + return "未找到相关命令,请输入hepme获得帮助。" + + def __run_command__(self, cmd): + try: + res = os.popen(cmd).read() + return res + except BaseException: + return '命令执行出错!' + + def get_help(self): + rsp = '' + for cmd in self.commands: + rsp += '{c}:{d}\n'.format(c=cmd.title, d=cmd.describe) + return rsp + + +if __name__ == '__main__': + chatbot = ChatGPT() + prompt = "写一篇1000字关于AI的论文" + print(chatbot.chat(prompt)) diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/servermanager/apps.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/servermanager/apps.py new file mode 100644 index 0000000..03cc38d --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/servermanager/apps.py @@ -0,0 +1,5 @@ +from django.apps import AppConfig + + +class ServermanagerConfig(AppConfig): + name = 'servermanager' diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/servermanager/migrations/0001_initial.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/servermanager/migrations/0001_initial.py new file mode 100644 index 0000000..bbdbf77 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/servermanager/migrations/0001_initial.py @@ -0,0 +1,45 @@ +# Generated by Django 4.1.7 on 2023-03-02 07:14 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ] + + operations = [ + migrations.CreateModel( + name='commands', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('title', models.CharField(max_length=300, verbose_name='命令标题')), + ('command', models.CharField(max_length=2000, verbose_name='命令')), + ('describe', models.CharField(max_length=300, verbose_name='命令描述')), + ('created_time', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')), + ('last_mod_time', models.DateTimeField(auto_now=True, verbose_name='修改时间')), + ], + options={ + 'verbose_name': '命令', + 'verbose_name_plural': '命令', + }, + ), + migrations.CreateModel( + name='EmailSendLog', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('emailto', models.CharField(max_length=300, verbose_name='收件人')), + ('title', models.CharField(max_length=2000, verbose_name='邮件标题')), + ('content', models.TextField(verbose_name='邮件内容')), + ('send_result', models.BooleanField(default=False, verbose_name='结果')), + ('created_time', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')), + ], + options={ + 'verbose_name': '邮件发送log', + 'verbose_name_plural': '邮件发送log', + 'ordering': ['-created_time'], + }, + ), + ] diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/servermanager/migrations/0002_alter_emailsendlog_options_and_more.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/servermanager/migrations/0002_alter_emailsendlog_options_and_more.py new file mode 100644 index 0000000..4858857 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/servermanager/migrations/0002_alter_emailsendlog_options_and_more.py @@ -0,0 +1,32 @@ +# Generated by Django 4.2.5 on 2023-09-06 13:19 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('servermanager', '0001_initial'), + ] + + operations = [ + migrations.AlterModelOptions( + name='emailsendlog', + options={'ordering': ['-creation_time'], 'verbose_name': '邮件发送log', 'verbose_name_plural': '邮件发送log'}, + ), + migrations.RenameField( + model_name='commands', + old_name='created_time', + new_name='creation_time', + ), + migrations.RenameField( + model_name='commands', + old_name='last_mod_time', + new_name='last_modify_time', + ), + migrations.RenameField( + model_name='emailsendlog', + old_name='created_time', + new_name='creation_time', + ), + ] diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/servermanager/migrations/__init__.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/servermanager/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/servermanager/models.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/servermanager/models.py new file mode 100644 index 0000000..4326c65 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/servermanager/models.py @@ -0,0 +1,33 @@ +from django.db import models + + +# Create your models here. +class commands(models.Model): + title = models.CharField('命令标题', max_length=300) + command = models.CharField('命令', max_length=2000) + describe = models.CharField('命令描述', max_length=300) + creation_time = models.DateTimeField('创建时间', auto_now_add=True) + last_modify_time = models.DateTimeField('修改时间', auto_now=True) + + def __str__(self): + return self.title + + class Meta: + verbose_name = '命令' + verbose_name_plural = verbose_name + + +class EmailSendLog(models.Model): + emailto = models.CharField('收件人', max_length=300) + title = models.CharField('邮件标题', max_length=2000) + content = models.TextField('邮件内容') + send_result = models.BooleanField('结果', default=False) + creation_time = models.DateTimeField('创建时间', auto_now_add=True) + + def __str__(self): + return self.title + + class Meta: + verbose_name = '邮件发送log' + verbose_name_plural = verbose_name + ordering = ['-creation_time'] diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/servermanager/robot.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/servermanager/robot.py new file mode 100644 index 0000000..7b45736 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/servermanager/robot.py @@ -0,0 +1,187 @@ +import logging +import os +import re + +import jsonpickle +from django.conf import settings +from werobot import WeRoBot +from werobot.replies import ArticlesReply, Article +from werobot.session.filestorage import FileStorage + +from djangoblog.utils import get_sha256 +from servermanager.api.blogapi import BlogApi +from servermanager.api.commonapi import ChatGPT, CommandHandler +from .MemcacheStorage import MemcacheStorage + +robot = WeRoBot(token=os.environ.get('DJANGO_WEROBOT_TOKEN') + or 'lylinux', enable_session=True) +memstorage = MemcacheStorage() +if memstorage.is_available: + robot.config['SESSION_STORAGE'] = memstorage +else: + if os.path.exists(os.path.join(settings.BASE_DIR, 'werobot_session')): + os.remove(os.path.join(settings.BASE_DIR, 'werobot_session')) + robot.config['SESSION_STORAGE'] = FileStorage(filename='werobot_session') + +blogapi = BlogApi() +cmd_handler = CommandHandler() +logger = logging.getLogger(__name__) + + +def convert_to_article_reply(articles, message): + reply = ArticlesReply(message=message) + from blog.templatetags.blog_tags import truncatechars_content + for post in articles: + imgs = re.findall(r'(?:http\:|https\:)?\/\/.*\.(?:png|jpg)', post.body) + imgurl = '' + if imgs: + imgurl = imgs[0] + article = Article( + title=post.title, + description=truncatechars_content(post.body), + img=imgurl, + url=post.get_full_url() + ) + reply.add_article(article) + return reply + + +@robot.filter(re.compile(r"^\?.*")) +def search(message, session): + s = message.content + searchstr = str(s).replace('?', '') + result = blogapi.search_articles(searchstr) + if result: + articles = list(map(lambda x: x.object, result)) + reply = convert_to_article_reply(articles, message) + return reply + else: + return '没有找到相关文章。' + + +@robot.filter(re.compile(r'^category\s*$', re.I)) +def category(message, session): + categorys = blogapi.get_category_lists() + content = ','.join(map(lambda x: x.name, categorys)) + return '所有文章分类目录:' + content + + +@robot.filter(re.compile(r'^recent\s*$', re.I)) +def recents(message, session): + articles = blogapi.get_recent_articles() + if articles: + reply = convert_to_article_reply(articles, message) + return reply + else: + return "暂时还没有文章" + + +@robot.filter(re.compile('^help$', re.I)) +def help(message, session): + return '''欢迎关注! + 默认会与图灵机器人聊天~~ + 你可以通过下面这些命令来获得信息 + ?关键字搜索文章. + 如?python. + category获得文章分类目录及文章数. + category-***获得该分类目录文章 + 如category-python + recent获得最新文章 + help获得帮助. + weather:获得天气 + 如weather:西安 + idcard:获得身份证信息 + 如idcard:61048119xxxxxxxxxx + music:音乐搜索 + 如music:阴天快乐 + PS:以上标点符号都不支持中文标点~~ + ''' + + +@robot.filter(re.compile(r'^weather\:.*$', re.I)) +def weather(message, session): + return "建设中..." + + +@robot.filter(re.compile(r'^idcard\:.*$', re.I)) +def idcard(message, session): + return "建设中..." + + +@robot.handler +def echo(message, session): + handler = MessageHandler(message, session) + return handler.handler() + + +class MessageHandler: + def __init__(self, message, session): + userid = message.source + self.message = message + self.session = session + self.userid = userid + try: + info = session[userid] + self.userinfo = jsonpickle.decode(info) + except Exception as e: + userinfo = WxUserInfo() + self.userinfo = userinfo + + @property + def is_admin(self): + return self.userinfo.isAdmin + + @property + def is_password_set(self): + return self.userinfo.isPasswordSet + + def save_session(self): + info = jsonpickle.encode(self.userinfo) + self.session[self.userid] = info + + def handler(self): + info = self.message.content + + if self.userinfo.isAdmin and info.upper() == 'EXIT': + self.userinfo = WxUserInfo() + self.save_session() + return "退出成功" + if info.upper() == 'ADMIN': + self.userinfo.isAdmin = True + self.save_session() + return "输入管理员密码" + if self.userinfo.isAdmin and not self.userinfo.isPasswordSet: + passwd = settings.WXADMIN + if settings.TESTING: + passwd = '123' + if passwd.upper() == get_sha256(get_sha256(info)).upper(): + self.userinfo.isPasswordSet = True + self.save_session() + return "验证通过,请输入命令或者要执行的命令代码:输入helpme获得帮助" + else: + if self.userinfo.Count >= 3: + self.userinfo = WxUserInfo() + self.save_session() + return "超过验证次数" + self.userinfo.Count += 1 + self.save_session() + return "验证失败,请重新输入管理员密码:" + if self.userinfo.isAdmin and self.userinfo.isPasswordSet: + if self.userinfo.Command != '' and info.upper() == 'Y': + return cmd_handler.run(self.userinfo.Command) + else: + if info.upper() == 'HELPME': + return cmd_handler.get_help() + self.userinfo.Command = info + self.save_session() + return "确认执行: " + info + " 命令?" + + return ChatGPT.chat(info) + + +class WxUserInfo(): + def __init__(self): + self.isAdmin = False + self.isPasswordSet = False + self.Count = 0 + self.Command = '' diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/servermanager/tests.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/servermanager/tests.py new file mode 100644 index 0000000..22a6689 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/servermanager/tests.py @@ -0,0 +1,79 @@ +from django.test import Client, RequestFactory, TestCase +from django.utils import timezone +from werobot.messages.messages import TextMessage + +from accounts.models import BlogUser +from blog.models import Category, Article +from servermanager.api.commonapi import ChatGPT +from .models import commands +from .robot import MessageHandler, CommandHandler +from .robot import search, category, recents + + +# Create your tests here. +class ServerManagerTest(TestCase): + def setUp(self): + self.client = Client() + self.factory = RequestFactory() + + def test_chat_gpt(self): + content = ChatGPT.chat("你好") + self.assertIsNotNone(content) + + def test_validate_comment(self): + user = BlogUser.objects.create_superuser( + email="liangliangyy1@gmail.com", + username="liangliangyy1", + password="liangliangyy1") + + self.client.login(username='liangliangyy1', password='liangliangyy1') + + c = Category() + c.name = "categoryccc" + c.save() + + article = Article() + article.title = "nicetitleccc" + article.body = "nicecontentccc" + article.author = user + article.category = c + article.type = 'a' + article.status = 'p' + article.save() + s = TextMessage([]) + s.content = "nice" + rsp = search(s, None) + rsp = category(None, None) + self.assertIsNotNone(rsp) + rsp = recents(None, None) + self.assertTrue(rsp != '暂时还没有文章') + + cmd = commands() + cmd.title = "test" + cmd.command = "ls" + cmd.describe = "test" + cmd.save() + + cmdhandler = CommandHandler() + rsp = cmdhandler.run('test') + self.assertIsNotNone(rsp) + s.source = 'u' + s.content = 'test' + msghandler = MessageHandler(s, {}) + + # msghandler.userinfo.isPasswordSet = True + # msghandler.userinfo.isAdmin = True + msghandler.handler() + s.content = 'y' + msghandler.handler() + s.content = 'idcard:12321233' + msghandler.handler() + s.content = 'weather:上海' + msghandler.handler() + s.content = 'admin' + msghandler.handler() + s.content = '123' + msghandler.handler() + + s.content = 'exit' + msghandler.handler() diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/servermanager/urls.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/servermanager/urls.py new file mode 100644 index 0000000..8d134d2 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/servermanager/urls.py @@ -0,0 +1,10 @@ +from django.urls import path +from werobot.contrib.django import make_view + +from .robot import robot + +app_name = "servermanager" +urlpatterns = [ + path(r'robot', make_view(robot)), + +] diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/servermanager/views.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/servermanager/views.py new file mode 100644 index 0000000..60f00ef --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/DjangoBlog-master(1)/DjangoBlog-master/servermanager/views.py @@ -0,0 +1 @@ +# Create your views here. diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/main.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/main.py new file mode 100644 index 0000000..75d9766 --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/main.py @@ -0,0 +1 @@ +print('hello world') diff --git a/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/zjp.py b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/zjp.py new file mode 100644 index 0000000..e75154b --- /dev/null +++ b/software-engineering-methodology-djq-branch(1)/software-engineering-methodology/src/zjp.py @@ -0,0 +1 @@ +print("hello world") \ No newline at end of file -- 2.34.1