From 836bdc9409b19132a13de6ef589355be21280fb9 Mon Sep 17 00:00:00 2001 From: molong Date: Sun, 18 Jan 2026 09:52:48 +0800 Subject: [PATCH] first commit --- .editorconfig | 18 + .env.example | 70 ++ .gitattributes | 11 + .gitignore | 30 + .htaccess | 1 + LICENSE | 194 ++++ README.md | 56 + app/Console/Commands/Workerman.php | 87 ++ app/Console/Commands/WorkermanWin.php | 81 ++ app/Events/WorkermanEvent.php | 103 ++ .../Controllers/Admin/Auth/Department.php | 87 ++ app/Http/Controllers/Admin/Auth/Index.php | 88 ++ app/Http/Controllers/Admin/Auth/Menu.php | 103 ++ app/Http/Controllers/Admin/Auth/Role.php | 105 ++ app/Http/Controllers/Admin/Auth/Users.php | 123 +++ app/Http/Controllers/Admin/System/Area.php | 67 ++ app/Http/Controllers/Admin/System/Client.php | 24 + app/Http/Controllers/Admin/System/Crontab.php | 34 + app/Http/Controllers/Admin/System/Dict.php | 175 ++++ app/Http/Controllers/Admin/System/File.php | 179 ++++ app/Http/Controllers/Admin/System/Index.php | 59 ++ app/Http/Controllers/Admin/System/Log.php | 68 ++ app/Http/Controllers/Admin/System/Menu.php | 24 + app/Http/Controllers/Admin/System/Modules.php | 34 + app/Http/Controllers/Admin/System/Setting.php | 99 ++ app/Http/Controllers/Admin/System/Tasks.php | 88 ++ app/Http/Controllers/Api/System/Area.php | 34 + app/Http/Controllers/Api/System/Index.php | 34 + app/Http/Controllers/BaseController.php | 25 + app/Http/Controllers/Controller.php | 8 + app/Http/Middleware/AuthCheckMiddleware.php | 30 + app/Listeners/AdminLogin.php | 33 + app/Models/Auth/Admin.php | 60 ++ app/Models/Auth/Department.php | 27 + app/Models/Auth/Permission.php | 39 + app/Models/Auth/Role.php | 23 + app/Models/BaseModel.php | 46 + app/Models/System/Area.php | 16 + app/Models/System/Client.php | 39 + app/Models/System/ClientMenu.php | 27 + app/Models/System/Config.php | 45 + app/Models/System/Crontab.php | 24 + app/Models/System/Dict.php | 22 + app/Models/System/DictGroup.php | 25 + app/Models/System/Log.php | 22 + app/Models/System/Modules.php | 13 + app/Models/System/Tasks.php | 31 + app/Providers/AppServiceProvider.php | 26 + app/Services/Auth/DepartmentService.php | 127 +++ app/Services/Auth/MenuService.php | 193 ++++ app/Services/Auth/RoleService.php | 159 +++ app/Services/Auth/UsersService.php | 194 ++++ app/Services/System/AreaService.php | 118 +++ app/Services/System/ClientMenuService.php | 88 ++ app/Services/System/ClientService.php | 84 ++ app/Services/System/CrontabService.php | 119 +++ app/Services/System/DictService.php | 254 +++++ app/Services/System/LogService.php | 113 +++ app/Services/System/ModulesService.php | 147 +++ app/Services/System/SettingService.php | 100 ++ app/Services/System/TasksService.php | 111 ++ app/Support/Regex.php | 230 +++++ app/Support/Time.php | 298 ++++++ app/Support/Tree.php | 88 ++ app/Traits/AdminController.php | 88 ++ app/Traits/ModelTrait.php | 43 + artisan | 15 + bootstrap/app.php | 38 + bootstrap/cache/.gitignore | 2 + bootstrap/providers.php | 5 + composer.json | 85 ++ config/app.php | 126 +++ config/auth.php | 122 +++ config/cache.php | 107 ++ config/cors.php | 34 + config/database.php | 170 ++++ config/debugbar.php | 325 ++++++ config/filesystems.php | 94 ++ config/gateway.php | 40 + config/jwt.php | 301 ++++++ config/logging.php | 132 +++ config/mail.php | 116 +++ config/modules.php | 273 +++++ config/queue.php | 112 ++ config/services.php | 38 + config/session.php | 217 ++++ config/wechat.php | 49 + database/.gitignore | 1 + database/factories/UserFactory.php | 44 + .../0001_01_01_000002_create_jobs_table.php | 57 ++ ...024_05_17_153707_admin_auth_base_table.php | 132 +++ .../2024_05_20_185456_system_base_table.php | 203 ++++ ...2025_04_04_220920_create_modules_table.php | 28 + database/seeders/AdminSeeder.php | 64 ++ database/seeders/CitySeeder.php | 23 + database/seeders/DatabaseSeeder.php | 19 + database/seeders/SystemSeeder.php | 207 ++++ database/seeders/area.json | 1 + docs/ACCOUNT_MODULE.md | 960 ++++++++++++++++++ lang/en/auth.php | 20 + lang/en/pagination.php | 19 + lang/en/passwords.php | 22 + lang/en/validation.php | 193 ++++ lang/zh_CN/auth.php | 20 + lang/zh_CN/pagination.php | 19 + lang/zh_CN/passwords.php | 22 + lang/zh_CN/validation.php | 200 ++++ modules/Ads/app/Controllers/Admin/Ads.php | 84 ++ modules/Ads/app/Controllers/Api/Ads.php | 35 + modules/Ads/app/Models/Ads.php | 28 + modules/Ads/app/Providers/.gitkeep | 0 .../Ads/app/Providers/AdsServiceProvider.php | 120 +++ .../app/Providers/EventServiceProvider.php | 38 + .../app/Providers/RouteServiceProvider.php | 67 ++ modules/Ads/app/Services/AdsService.php | 124 +++ modules/Ads/composer.json | 30 + modules/Ads/config/.gitkeep | 0 modules/Ads/config/config.php | 5 + modules/Ads/database/factories/.gitkeep | 0 modules/Ads/database/migrations/.gitkeep | 0 .../2024_08_19_231401_ads_table.php | 39 + modules/Ads/database/seeders/.gitkeep | 0 .../database/seeders/AdsDatabaseSeeder.php | 42 + modules/Ads/module.json | 11 + modules/Ads/package.json | 15 + modules/Ads/resources/assets/js/app.js | 0 modules/Ads/resources/assets/sass/app.scss | 0 modules/Ads/resources/views/index.blade.php | 7 + .../resources/views/layouts/master.blade.php | 29 + modules/Ads/routes/.gitkeep | 0 modules/Ads/routes/admin.php | 16 + modules/Ads/routes/api.php | 13 + modules/Ads/routes/web.php | 9 + modules/Ads/vite.config.js | 26 + modules/Member/app/Controllers/.gitkeep | 0 .../Member/app/Controllers/Admin/Extend.php | 39 + .../Member/app/Controllers/Admin/Field.php | 130 +++ .../Member/app/Controllers/Admin/Index.php | 124 +++ .../Member/app/Controllers/Admin/Level.php | 88 ++ modules/Member/app/Controllers/Api/Extend.php | 82 ++ modules/Member/app/Controllers/Api/Index.php | 100 ++ modules/Member/app/Controllers/Api/Login.php | 87 ++ modules/Member/app/Controllers/Api/Social.php | 60 ++ modules/Member/app/Events/LoginBefore.php | 33 + modules/Member/app/Events/LoginEvent.php | 34 + modules/Member/app/Events/MemberUpdate.php | 40 + modules/Member/app/Events/Registered.php | 40 + modules/Member/app/Jobs/MemberExport.php | 77 ++ modules/Member/app/Jobs/MemberImport.php | 79 ++ .../Member/app/Listeners/UpMemberPaswd.php | 36 + modules/Member/app/Listeners/UpdateMember.php | 27 + modules/Member/app/Models/Fields.php | 21 + modules/Member/app/Models/Member.php | 97 ++ modules/Member/app/Models/MemberAccount.php | 18 + modules/Member/app/Models/MemberAddress.php | 18 + modules/Member/app/Models/MemberBank.php | 18 + modules/Member/app/Models/MemberCoupon.php | 18 + modules/Member/app/Models/MemberExtends.php | 22 + modules/Member/app/Models/MemberLevel.php | 22 + modules/Member/app/Models/MemberScore.php | 18 + modules/Member/app/Models/MemberStore.php | 18 + modules/Member/app/Models/MemberWallet.php | 18 + modules/Member/app/Models/Pm.php | 22 + modules/Member/app/Models/Store.php | 22 + modules/Member/app/Notifications/Member.php | 57 ++ .../Member/app/Observers/FieldObserver.php | 107 ++ modules/Member/app/Providers/.gitkeep | 0 .../app/Providers/EventServiceProvider.php | 42 + .../app/Providers/MemberServiceProvider.php | 120 +++ .../app/Providers/RouteServiceProvider.php | 67 ++ modules/Member/app/Services/AuthService.php | 134 +++ modules/Member/app/Services/ExtendService.php | 146 +++ modules/Member/app/Services/FieldsService.php | 140 +++ modules/Member/app/Services/LevelService.php | 124 +++ modules/Member/app/Services/MemberService.php | 299 ++++++ modules/Member/composer.json | 30 + modules/Member/config/.gitkeep | 0 modules/Member/config/config.php | 5 + modules/Member/database/factories/.gitkeep | 0 modules/Member/database/migrations/.gitkeep | 0 .../2024_05_29_220055_member_base_table.php | 72 ++ .../2024_10_05_035325_memeber_extends.php | 71 ++ .../2024_10_05_035325_memeber_table_up.php | 23 + .../2025_08_31_210818_member_health.php | 72 ++ .../2025_12_04_200250_member_up_date.php | 26 + modules/Member/database/seeders/.gitkeep | 0 .../database/seeders/MemberDatabaseSeeder.php | 24 + .../Member/database/seeders/MemberSeeder.php | 33 + modules/Member/module.json | 11 + modules/Member/package.json | 15 + modules/Member/resources/assets/.gitkeep | 0 modules/Member/resources/assets/js/app.js | 0 modules/Member/resources/assets/sass/app.scss | 0 modules/Member/resources/views/.gitkeep | 0 .../Member/resources/views/index.blade.php | 7 + .../resources/views/layouts/master.blade.php | 29 + modules/Member/routes/.gitkeep | 0 modules/Member/routes/admin.php | 49 + modules/Member/routes/api.php | 32 + modules/Member/routes/web.php | 9 + modules/Member/tests/Feature/.gitkeep | 0 modules/Member/tests/Unit/.gitkeep | 0 modules/Member/vite.config.js | 26 + modules/Wechat/app/Controllers/Api/Index.php | 150 +++ modules/Wechat/app/Listeners/LoginBind.php | 33 + modules/Wechat/app/Listeners/RegisterBind.php | 33 + modules/Wechat/app/Models/MemberSocial.php | 18 + modules/Wechat/app/Providers/.gitkeep | 0 .../app/Providers/EventServiceProvider.php | 45 + .../app/Providers/RouteServiceProvider.php | 67 ++ .../app/Providers/WechatServiceProvider.php | 120 +++ .../Wechat/app/Services/MessageService.php | 38 + modules/Wechat/app/Services/OauthService.php | 179 ++++ modules/Wechat/app/Services/WechatService.php | 74 ++ modules/Wechat/composer.json | 30 + modules/Wechat/config/.gitkeep | 0 modules/Wechat/config/config.php | 5 + modules/Wechat/database/factories/.gitkeep | 0 modules/Wechat/database/migrations/.gitkeep | 0 .../2024_05_29_220055_member_social_table.php | 41 + modules/Wechat/database/seeders/.gitkeep | 0 .../database/seeders/WechatDatabaseSeeder.php | 22 + modules/Wechat/module.json | 11 + modules/Wechat/package.json | 15 + modules/Wechat/resources/assets/js/app.js | 0 modules/Wechat/resources/assets/sass/app.scss | 0 .../Wechat/resources/views/index.blade.php | 7 + .../resources/views/layouts/master.blade.php | 29 + modules/Wechat/routes/.gitkeep | 0 modules/Wechat/routes/admin.php | 9 + modules/Wechat/routes/api.php | 31 + modules/Wechat/routes/web.php | 9 + modules/Wechat/vite.config.js | 26 + package.json | 18 + phpunit.xml | 33 + public/.htaccess | 21 + public/favicon.ico | 0 public/index.php | 17 + public/robots.txt | 2 + resources/admin/.gitignore | 26 + resources/admin/LICENSE | 21 + resources/admin/README.md | 19 + resources/admin/index.html | 111 ++ resources/admin/package.json | 41 + resources/admin/public/admin.js | 11 + resources/admin/public/static/images/404.png | Bin 0 -> 99568 bytes .../public/static/images/auth_banner.jpg | Bin 0 -> 520882 bytes .../admin/public/static/images/avatar.jpg | Bin 0 -> 22534 bytes .../admin/public/static/images/avatar2.gif | Bin 0 -> 135443 bytes .../admin/public/static/images/avatar3.gif | Bin 0 -> 136520 bytes .../admin/public/static/images/loginbg.svg | 1 + .../admin/public/static/images/logo-r.png | Bin 0 -> 8373 bytes resources/admin/public/static/images/logo.png | Bin 0 -> 9112 bytes .../admin/public/static/images/no-widgets.svg | 57 ++ .../public/static/images/tasks-example.png | Bin 0 -> 17767 bytes resources/admin/public/static/images/ver.svg | 236 +++++ resources/admin/src/App.vue | 64 ++ resources/admin/src/api/index.js | 11 + resources/admin/src/api/module/account.js | 153 +++ resources/admin/src/api/module/ads.js | 33 + resources/admin/src/api/module/auth.js | 174 ++++ resources/admin/src/api/module/common.js | 29 + resources/admin/src/api/module/member.js | 132 +++ resources/admin/src/api/module/system.js | 342 +++++++ resources/admin/src/assets/icons/Back.vue | 3 + resources/admin/src/assets/icons/BugFill.vue | 3 + resources/admin/src/assets/icons/BugLine.vue | 3 + resources/admin/src/assets/icons/Code.vue | 3 + resources/admin/src/assets/icons/Download.vue | 3 + .../admin/src/assets/icons/FileExcel.vue | 3 + resources/admin/src/assets/icons/FilePpt.vue | 3 + resources/admin/src/assets/icons/FileWord.vue | 3 + .../admin/src/assets/icons/Organization.vue | 3 + resources/admin/src/assets/icons/Upload.vue | 3 + resources/admin/src/assets/icons/Vue.vue | 3 + resources/admin/src/assets/icons/Wechat.vue | 3 + resources/admin/src/assets/icons/index.js | 12 + resources/admin/src/assets/style/app.scss | 103 ++ resources/admin/src/assets/style/dark.scss | 37 + resources/admin/src/assets/style/diy.scss | 12 + resources/admin/src/assets/style/fix.scss | 83 ++ resources/admin/src/assets/style/media.scss | 50 + resources/admin/src/assets/style/pages.scss | 44 + resources/admin/src/assets/style/style.scss | 6 + .../src/components/scCodeEditor/index.vue | 115 +++ .../src/components/scContextmenu/index.vue | 100 ++ .../src/components/scContextmenu/item.vue | 84 ++ .../src/components/scCron/components/day.vue | 97 ++ .../src/components/scCron/components/hour.vue | 97 ++ .../components/scCron/components/minute.vue | 97 ++ .../components/scCron/components/month.vue | 99 ++ .../components/scCron/components/second.vue | 97 ++ .../admin/src/components/scCron/index.vue | 125 +++ .../admin/src/components/scCropper/index.vue | 84 ++ .../admin/src/components/scDialog/index.vue | 84 ++ .../components/scEcharts/echarts-theme-T.js | 74 ++ .../admin/src/components/scEcharts/index.vue | 64 ++ .../src/components/scEditor/UploadAdapter.js | 80 ++ .../src/components/scEditor/ckeditor.vue | 180 ++++ .../admin/src/components/scEditor/index.vue | 210 ++++ .../src/components/scFileExport/column.vue | 53 + .../src/components/scFileExport/index.vue | 199 ++++ .../src/components/scFileImport/index.vue | 133 +++ .../src/components/scFileSelect/index.vue | 283 ++++++ .../src/components/scFilterBar/index.vue | 310 ++++++ .../admin/src/components/scFilterBar/my.vue | 112 ++ .../src/components/scFilterBar/pinyin.js | 2 + .../src/components/scFilterBar/pySelect.vue | 51 + .../admin/src/components/scForm/index.vue | 295 ++++++ .../components/scForm/items/tableselect.vue | 37 + .../src/components/scFormTable/index.vue | 123 +++ .../src/components/scIconSelect/index.vue | 128 +++ .../src/components/scMapSelect/index.vue | 78 ++ .../components/scMini/scStatusIndicator.vue | 47 + .../admin/src/components/scMini/scTrend.vue | 66 ++ .../src/components/scPageHeader/index.vue | 52 + .../components/scPasswordStrength/index.vue | 92 ++ .../admin/src/components/scQrCode/index.vue | 88 ++ .../admin/src/components/scQrCode/qrcode.js | 618 +++++++++++ .../admin/src/components/scSelect/index.vue | 94 ++ .../src/components/scSelectFilter/index.vue | 127 +++ .../src/components/scSelectRemote/index.vue | 48 + .../src/components/scSelectTree/index.vue | 45 + .../src/components/scStatistic/index.vue | 70 ++ .../admin/src/components/scTable/column.js | 23 + .../src/components/scTable/columnSetting.vue | 120 +++ .../admin/src/components/scTable/index.vue | 409 ++++++++ .../src/components/scTableSelect/index.vue | 233 +++++ .../admin/src/components/scTitle/index.vue | 27 + .../admin/src/components/scUpload/file.vue | 193 ++++ .../admin/src/components/scUpload/index.vue | 282 +++++ .../src/components/scUpload/multiple.vue | 249 +++++ .../src/components/scUserSelect/index.vue | 265 +++++ .../admin/src/components/scVideo/index.vue | 84 ++ .../src/components/scWaterMark/index.vue | 66 ++ .../admin/src/components/scWorkflow/index.vue | 154 +++ .../src/components/scWorkflow/nodeWrap.vue | 57 ++ .../components/scWorkflow/nodes/addNode.vue | 102 ++ .../components/scWorkflow/nodes/approver.vue | 193 ++++ .../components/scWorkflow/nodes/branch.vue | 222 ++++ .../components/scWorkflow/nodes/promoter.vue | 106 ++ .../src/components/scWorkflow/nodes/send.vue | 118 +++ .../src/components/scWorkflow/select.vue | 269 +++++ resources/admin/src/config/fileSelect.js | 69 ++ resources/admin/src/config/filterBar.js | 74 ++ resources/admin/src/config/iconSelect.js | 308 ++++++ resources/admin/src/config/index.js | 79 ++ resources/admin/src/config/myConfig.js | 21 + resources/admin/src/config/route.js | 31 + resources/admin/src/config/select.js | 21 + resources/admin/src/config/table.js | 70 ++ resources/admin/src/config/tableSelect.js | 23 + resources/admin/src/config/upload.js | 20 + resources/admin/src/config/workflow.js | 69 ++ resources/admin/src/directives/auth.js | 22 + resources/admin/src/directives/copy.js | 29 + resources/admin/src/directives/role.js | 22 + resources/admin/src/directives/time.js | 79 ++ .../admin/src/layout/components/NavMenu.vue | 38 + .../admin/src/layout/components/feedback.vue | 60 ++ .../src/layout/components/iframeView.vue | 66 ++ .../admin/src/layout/components/search.vue | 139 +++ .../admin/src/layout/components/setting.vue | 89 ++ .../admin/src/layout/components/sideM.vue | 136 +++ .../admin/src/layout/components/tags.vue | 305 ++++++ .../admin/src/layout/components/tasks.vue | 97 ++ .../admin/src/layout/components/topbar.vue | 59 ++ .../admin/src/layout/components/userbar.vue | 185 ++++ .../admin/src/layout/components/winTool.vue | 38 + resources/admin/src/layout/index.vue | 370 +++++++ resources/admin/src/layout/other/404.vue | 44 + resources/admin/src/layout/other/empty.vue | 3 + resources/admin/src/locales/index.js | 28 + resources/admin/src/locales/lang/en.js | 39 + resources/admin/src/locales/lang/zh-cn.js | 39 + resources/admin/src/main.js | 20 + resources/admin/src/mixin/import.vue | 76 ++ .../src/pages/account/accounts/index.vue | 146 +++ .../admin/src/pages/account/accounts/save.vue | 142 +++ .../src/pages/account/families/index.vue | 120 +++ .../admin/src/pages/account/families/save.vue | 175 ++++ .../admin/src/pages/account/members/index.vue | 129 +++ .../admin/src/pages/account/members/save.vue | 128 +++ .../admin/src/pages/account/records/index.vue | 142 +++ .../admin/src/pages/account/records/save.vue | 216 ++++ .../admin/src/pages/auth/department/index.vue | 155 +++ .../admin/src/pages/auth/department/save.vue | 103 ++ .../admin/src/pages/auth/permission/index.vue | 170 ++++ .../admin/src/pages/auth/permission/save.vue | 209 ++++ resources/admin/src/pages/auth/role/index.vue | 173 ++++ .../admin/src/pages/auth/role/permission.vue | 129 +++ resources/admin/src/pages/auth/role/save.vue | 121 +++ resources/admin/src/pages/auth/user/index.vue | 218 ++++ resources/admin/src/pages/auth/user/role.vue | 78 ++ resources/admin/src/pages/auth/user/save.vue | 156 +++ resources/admin/src/pages/home/index.vue | 48 + .../pages/home/widgets/components/about.vue | 27 + .../pages/home/widgets/components/echarts.vue | 98 ++ .../pages/home/widgets/components/index.js | 8 + .../pages/home/widgets/components/info.vue | 33 + .../home/widgets/components/progress.vue | 32 + .../src/pages/home/widgets/components/sms.vue | 63 ++ .../pages/home/widgets/components/time.vue | 40 + .../src/pages/home/widgets/components/ver.vue | 33 + .../pages/home/widgets/components/welcome.vue | 56 + .../admin/src/pages/home/widgets/index.vue | 255 +++++ .../src/pages/home/work/components/myapp.vue | 131 +++ resources/admin/src/pages/home/work/index.vue | 37 + .../src/pages/login/components/commonPage.vue | 35 + .../pages/login/components/passwordForm.vue | 117 +++ .../src/pages/login/components/phoneForm.vue | 74 ++ resources/admin/src/pages/login/index.vue | 188 ++++ .../admin/src/pages/login/resetPassword.vue | 124 +++ .../admin/src/pages/login/userRegister.vue | 171 ++++ .../admin/src/pages/member/apply/index.vue | 216 ++++ .../admin/src/pages/member/apply/save.vue | 127 +++ .../admin/src/pages/member/field/index.vue | 213 ++++ .../admin/src/pages/member/field/save.vue | 200 ++++ .../admin/src/pages/member/level/index.vue | 152 +++ .../admin/src/pages/member/level/save.vue | 148 +++ .../admin/src/pages/member/lists/index.vue | 163 +++ .../admin/src/pages/member/lists/save.vue | 106 ++ .../admin/src/pages/operate/ads/index.vue | 186 ++++ .../admin/src/pages/operate/ads/save.vue | 173 ++++ .../admin/src/pages/system/area/index.vue | 113 +++ .../admin/src/pages/system/area/save.vue | 86 ++ .../admin/src/pages/system/client/index.vue | 128 +++ .../admin/src/pages/system/client/menu.vue | 136 +++ .../src/pages/system/client/menuform.vue | 76 ++ .../admin/src/pages/system/client/save.vue | 69 ++ .../admin/src/pages/system/crontab/index.vue | 154 +++ .../admin/src/pages/system/crontab/logs.vue | 79 ++ .../admin/src/pages/system/crontab/save.vue | 113 +++ resources/admin/src/pages/system/dic/dic.vue | 107 ++ .../admin/src/pages/system/dic/index.vue | 321 ++++++ resources/admin/src/pages/system/dic/list.vue | 109 ++ .../admin/src/pages/system/log/index.vue | 114 +++ resources/admin/src/pages/system/log/info.vue | 49 + .../admin/src/pages/system/modules/index.vue | 116 +++ .../admin/src/pages/system/setting/index.vue | 111 ++ .../admin/src/pages/system/setting/save.vue | 99 ++ resources/admin/src/pages/ucenter/index.vue | 142 +++ .../admin/src/pages/ucenter/user/account.vue | 86 ++ .../admin/src/pages/ucenter/user/logs.vue | 35 + .../admin/src/pages/ucenter/user/password.vue | 95 ++ .../src/pages/ucenter/user/pushSettings.vue | 30 + .../admin/src/pages/ucenter/user/seting.vue | 65 ++ .../admin/src/pages/ucenter/user/space.vue | 55 + .../src/pages/ucenter/user/upToEnterprise.vue | 18 + resources/admin/src/router/index.js | 165 +++ resources/admin/src/router/scrollBehavior.js | 22 + resources/admin/src/router/systemRouter.js | 35 + resources/admin/src/sent.js | 95 ++ resources/admin/src/store/index.js | 15 + resources/admin/src/store/modules/global.js | 51 + resources/admin/src/store/modules/iframe.js | 38 + .../admin/src/store/modules/keepAlive.js | 34 + resources/admin/src/store/modules/viewTags.js | 52 + resources/admin/src/utils/color.js | 29 + resources/admin/src/utils/db.js | 304 ++++++ resources/admin/src/utils/errorHandler.js | 33 + resources/admin/src/utils/load.js | 60 ++ resources/admin/src/utils/permission.js | 23 + resources/admin/src/utils/print.js | 137 +++ resources/admin/src/utils/request.js | 219 ++++ resources/admin/src/utils/template.js | 316 ++++++ resources/admin/src/utils/tool.js | 270 +++++ resources/admin/src/utils/useTabs.js | 61 ++ resources/admin/src/utils/verificate.js | 27 + resources/admin/vite.config.js | 88 ++ resources/mobile/.gitignore | 15 + resources/mobile/App.vue | 13 + resources/mobile/index.html | 20 + resources/mobile/main.js | 9 + resources/mobile/manifest.json | 72 ++ resources/mobile/package.json | 15 + resources/mobile/pages.json | 22 + resources/mobile/pages/index/index.vue | 52 + resources/mobile/static/logo.png | Bin 0 -> 4023 bytes resources/mobile/uni.promisify.adaptor.js | 13 + resources/mobile/uni.scss | 76 ++ resources/mobile/utils/request.js | 208 ++++ resources/views/error.blade.php | 35 + resources/views/welcome.blade.php | 42 + resources/web/App.vue | 20 + resources/web/app.js | 6 + routes/admin.php | 125 +++ routes/api.php | 24 + routes/console.php | 11 + routes/web.php | 44 + storage/app/.gitignore | 3 + storage/app/public/.gitignore | 2 + storage/debugbar/.gitignore | 2 + storage/framework/.gitignore | 9 + storage/framework/cache/.gitignore | 3 + storage/framework/sessions/.gitignore | 2 + storage/framework/testing/.gitignore | 2 + storage/framework/views/.gitignore | 2 + storage/logs/.gitignore | 2 + storage/modules_statuses.json | 6 + storage/stubs/action-invoke.stub | 11 + storage/stubs/action.stub | 11 + storage/stubs/assets/js/app.stub | 0 storage/stubs/assets/sass/app.stub | 0 storage/stubs/cast.stub | 29 + storage/stubs/channel.stub | 24 + storage/stubs/class-invoke.stub | 11 + storage/stubs/class.stub | 11 + storage/stubs/command.stub | 56 + storage/stubs/component-class.stub | 25 + storage/stubs/component-view.stub | 3 + storage/stubs/composer.stub | 30 + storage/stubs/controller-api.stub | 65 ++ storage/stubs/controller-plain.stub | 15 + storage/stubs/controller.invokable.stub | 23 + storage/stubs/controller.stub | 73 ++ storage/stubs/enum.stub | 14 + storage/stubs/event-provider.stub | 38 + storage/stubs/event.stub | 40 + storage/stubs/exception-render-report.stub | 32 + storage/stubs/exception-render.stub | 24 + storage/stubs/exception-report.stub | 22 + storage/stubs/exception.stub | 16 + storage/stubs/factory.stub | 28 + storage/stubs/feature-test.stub | 26 + storage/stubs/helper-invoke.stub | 17 + storage/stubs/helper.stub | 17 + storage/stubs/interface.stub | 14 + storage/stubs/job-queued.stub | 36 + storage/stubs/job.stub | 33 + storage/stubs/json.stub | 11 + storage/stubs/listener-duck.stub | 25 + storage/stubs/listener-queued-duck.stub | 27 + storage/stubs/listener-queued.stub | 28 + storage/stubs/listener.stub | 26 + storage/stubs/mail.stub | 29 + storage/stubs/middleware.stub | 17 + storage/stubs/migration/add.stub | 28 + storage/stubs/migration/create.stub | 28 + storage/stubs/migration/delete.stub | 28 + storage/stubs/migration/drop.stub | 28 + storage/stubs/migration/plain.stub | 24 + storage/stubs/model.stub | 22 + storage/stubs/notification.stub | 48 + storage/stubs/observer.stub | 48 + storage/stubs/package.stub | 15 + storage/stubs/policy.plain.stub | 18 + storage/stubs/provider.stub | 24 + storage/stubs/repository-invoke.stub | 11 + storage/stubs/repository.stub | 11 + storage/stubs/request.stub | 26 + storage/stubs/resource-collection.stub | 17 + storage/stubs/resource.stub | 17 + storage/stubs/route-provider.stub | 67 ++ storage/stubs/routes/admin.stub | 14 + storage/stubs/routes/api.stub | 14 + storage/stubs/routes/web.stub | 14 + storage/stubs/rule.implicit.stub | 28 + storage/stubs/rule.stub | 23 + storage/stubs/scaffold/config.stub | 5 + storage/stubs/scaffold/provider.stub | 120 +++ storage/stubs/scope.stub | 24 + storage/stubs/seeder.stub | 22 + storage/stubs/service-invoke.stub | 17 + storage/stubs/service.stub | 17 + storage/stubs/trait.stub | 8 + storage/stubs/unit-test.stub | 20 + storage/stubs/view.stub | 3 + storage/stubs/views/index.stub | 7 + storage/stubs/views/master.stub | 29 + storage/stubs/vite.stub | 26 + storage/workerman/202407/14.log | 0 tests/Browser/ExampleTest.php | 21 + tests/Browser/Pages/HomePage.php | 36 + tests/Browser/Pages/Page.php | 20 + tests/Browser/console/.gitignore | 2 + tests/Browser/screenshots/.gitignore | 2 + tests/Browser/source/.gitignore | 2 + tests/DuskTestCase.php | 46 + tests/Feature/ExampleTest.php | 19 + tests/TestCase.php | 10 + tests/Unit/ExampleTest.php | 16 + vite-module-loader.js | 47 + vite.config.js | 26 + 584 files changed, 40891 insertions(+) create mode 100644 .editorconfig create mode 100644 .env.example create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 .htaccess create mode 100644 LICENSE create mode 100644 README.md create mode 100644 app/Console/Commands/Workerman.php create mode 100644 app/Console/Commands/WorkermanWin.php create mode 100644 app/Events/WorkermanEvent.php create mode 100644 app/Http/Controllers/Admin/Auth/Department.php create mode 100644 app/Http/Controllers/Admin/Auth/Index.php create mode 100644 app/Http/Controllers/Admin/Auth/Menu.php create mode 100644 app/Http/Controllers/Admin/Auth/Role.php create mode 100644 app/Http/Controllers/Admin/Auth/Users.php create mode 100644 app/Http/Controllers/Admin/System/Area.php create mode 100644 app/Http/Controllers/Admin/System/Client.php create mode 100644 app/Http/Controllers/Admin/System/Crontab.php create mode 100644 app/Http/Controllers/Admin/System/Dict.php create mode 100644 app/Http/Controllers/Admin/System/File.php create mode 100644 app/Http/Controllers/Admin/System/Index.php create mode 100644 app/Http/Controllers/Admin/System/Log.php create mode 100644 app/Http/Controllers/Admin/System/Menu.php create mode 100644 app/Http/Controllers/Admin/System/Modules.php create mode 100644 app/Http/Controllers/Admin/System/Setting.php create mode 100644 app/Http/Controllers/Admin/System/Tasks.php create mode 100644 app/Http/Controllers/Api/System/Area.php create mode 100644 app/Http/Controllers/Api/System/Index.php create mode 100644 app/Http/Controllers/BaseController.php create mode 100644 app/Http/Controllers/Controller.php create mode 100644 app/Http/Middleware/AuthCheckMiddleware.php create mode 100644 app/Listeners/AdminLogin.php create mode 100644 app/Models/Auth/Admin.php create mode 100644 app/Models/Auth/Department.php create mode 100644 app/Models/Auth/Permission.php create mode 100644 app/Models/Auth/Role.php create mode 100644 app/Models/BaseModel.php create mode 100644 app/Models/System/Area.php create mode 100644 app/Models/System/Client.php create mode 100644 app/Models/System/ClientMenu.php create mode 100644 app/Models/System/Config.php create mode 100644 app/Models/System/Crontab.php create mode 100644 app/Models/System/Dict.php create mode 100644 app/Models/System/DictGroup.php create mode 100644 app/Models/System/Log.php create mode 100644 app/Models/System/Modules.php create mode 100644 app/Models/System/Tasks.php create mode 100644 app/Providers/AppServiceProvider.php create mode 100644 app/Services/Auth/DepartmentService.php create mode 100644 app/Services/Auth/MenuService.php create mode 100644 app/Services/Auth/RoleService.php create mode 100644 app/Services/Auth/UsersService.php create mode 100644 app/Services/System/AreaService.php create mode 100644 app/Services/System/ClientMenuService.php create mode 100644 app/Services/System/ClientService.php create mode 100644 app/Services/System/CrontabService.php create mode 100644 app/Services/System/DictService.php create mode 100644 app/Services/System/LogService.php create mode 100644 app/Services/System/ModulesService.php create mode 100644 app/Services/System/SettingService.php create mode 100644 app/Services/System/TasksService.php create mode 100644 app/Support/Regex.php create mode 100644 app/Support/Time.php create mode 100644 app/Support/Tree.php create mode 100644 app/Traits/AdminController.php create mode 100644 app/Traits/ModelTrait.php create mode 100644 artisan create mode 100644 bootstrap/app.php create mode 100644 bootstrap/cache/.gitignore create mode 100644 bootstrap/providers.php create mode 100644 composer.json create mode 100644 config/app.php create mode 100644 config/auth.php create mode 100644 config/cache.php create mode 100644 config/cors.php create mode 100644 config/database.php create mode 100644 config/debugbar.php create mode 100644 config/filesystems.php create mode 100644 config/gateway.php create mode 100644 config/jwt.php create mode 100644 config/logging.php create mode 100644 config/mail.php create mode 100644 config/modules.php create mode 100644 config/queue.php create mode 100644 config/services.php create mode 100644 config/session.php create mode 100644 config/wechat.php create mode 100644 database/.gitignore create mode 100644 database/factories/UserFactory.php create mode 100644 database/migrations/0001_01_01_000002_create_jobs_table.php create mode 100644 database/migrations/2024_05_17_153707_admin_auth_base_table.php create mode 100644 database/migrations/2024_05_20_185456_system_base_table.php create mode 100644 database/migrations/2025_04_04_220920_create_modules_table.php create mode 100644 database/seeders/AdminSeeder.php create mode 100644 database/seeders/CitySeeder.php create mode 100644 database/seeders/DatabaseSeeder.php create mode 100644 database/seeders/SystemSeeder.php create mode 100644 database/seeders/area.json create mode 100644 docs/ACCOUNT_MODULE.md create mode 100644 lang/en/auth.php create mode 100644 lang/en/pagination.php create mode 100644 lang/en/passwords.php create mode 100644 lang/en/validation.php create mode 100644 lang/zh_CN/auth.php create mode 100644 lang/zh_CN/pagination.php create mode 100644 lang/zh_CN/passwords.php create mode 100644 lang/zh_CN/validation.php create mode 100644 modules/Ads/app/Controllers/Admin/Ads.php create mode 100644 modules/Ads/app/Controllers/Api/Ads.php create mode 100644 modules/Ads/app/Models/Ads.php create mode 100644 modules/Ads/app/Providers/.gitkeep create mode 100644 modules/Ads/app/Providers/AdsServiceProvider.php create mode 100644 modules/Ads/app/Providers/EventServiceProvider.php create mode 100644 modules/Ads/app/Providers/RouteServiceProvider.php create mode 100644 modules/Ads/app/Services/AdsService.php create mode 100644 modules/Ads/composer.json create mode 100644 modules/Ads/config/.gitkeep create mode 100644 modules/Ads/config/config.php create mode 100644 modules/Ads/database/factories/.gitkeep create mode 100644 modules/Ads/database/migrations/.gitkeep create mode 100644 modules/Ads/database/migrations/2024_08_19_231401_ads_table.php create mode 100644 modules/Ads/database/seeders/.gitkeep create mode 100644 modules/Ads/database/seeders/AdsDatabaseSeeder.php create mode 100644 modules/Ads/module.json create mode 100644 modules/Ads/package.json create mode 100644 modules/Ads/resources/assets/js/app.js create mode 100644 modules/Ads/resources/assets/sass/app.scss create mode 100644 modules/Ads/resources/views/index.blade.php create mode 100644 modules/Ads/resources/views/layouts/master.blade.php create mode 100644 modules/Ads/routes/.gitkeep create mode 100644 modules/Ads/routes/admin.php create mode 100644 modules/Ads/routes/api.php create mode 100644 modules/Ads/routes/web.php create mode 100644 modules/Ads/vite.config.js create mode 100644 modules/Member/app/Controllers/.gitkeep create mode 100644 modules/Member/app/Controllers/Admin/Extend.php create mode 100644 modules/Member/app/Controllers/Admin/Field.php create mode 100644 modules/Member/app/Controllers/Admin/Index.php create mode 100644 modules/Member/app/Controllers/Admin/Level.php create mode 100644 modules/Member/app/Controllers/Api/Extend.php create mode 100644 modules/Member/app/Controllers/Api/Index.php create mode 100644 modules/Member/app/Controllers/Api/Login.php create mode 100644 modules/Member/app/Controllers/Api/Social.php create mode 100644 modules/Member/app/Events/LoginBefore.php create mode 100644 modules/Member/app/Events/LoginEvent.php create mode 100644 modules/Member/app/Events/MemberUpdate.php create mode 100644 modules/Member/app/Events/Registered.php create mode 100644 modules/Member/app/Jobs/MemberExport.php create mode 100644 modules/Member/app/Jobs/MemberImport.php create mode 100644 modules/Member/app/Listeners/UpMemberPaswd.php create mode 100644 modules/Member/app/Listeners/UpdateMember.php create mode 100644 modules/Member/app/Models/Fields.php create mode 100644 modules/Member/app/Models/Member.php create mode 100644 modules/Member/app/Models/MemberAccount.php create mode 100644 modules/Member/app/Models/MemberAddress.php create mode 100644 modules/Member/app/Models/MemberBank.php create mode 100644 modules/Member/app/Models/MemberCoupon.php create mode 100644 modules/Member/app/Models/MemberExtends.php create mode 100644 modules/Member/app/Models/MemberLevel.php create mode 100644 modules/Member/app/Models/MemberScore.php create mode 100644 modules/Member/app/Models/MemberStore.php create mode 100644 modules/Member/app/Models/MemberWallet.php create mode 100644 modules/Member/app/Models/Pm.php create mode 100644 modules/Member/app/Models/Store.php create mode 100644 modules/Member/app/Notifications/Member.php create mode 100644 modules/Member/app/Observers/FieldObserver.php create mode 100644 modules/Member/app/Providers/.gitkeep create mode 100644 modules/Member/app/Providers/EventServiceProvider.php create mode 100644 modules/Member/app/Providers/MemberServiceProvider.php create mode 100644 modules/Member/app/Providers/RouteServiceProvider.php create mode 100644 modules/Member/app/Services/AuthService.php create mode 100644 modules/Member/app/Services/ExtendService.php create mode 100644 modules/Member/app/Services/FieldsService.php create mode 100644 modules/Member/app/Services/LevelService.php create mode 100644 modules/Member/app/Services/MemberService.php create mode 100644 modules/Member/composer.json create mode 100644 modules/Member/config/.gitkeep create mode 100644 modules/Member/config/config.php create mode 100644 modules/Member/database/factories/.gitkeep create mode 100644 modules/Member/database/migrations/.gitkeep create mode 100644 modules/Member/database/migrations/2024_05_29_220055_member_base_table.php create mode 100644 modules/Member/database/migrations/2024_10_05_035325_memeber_extends.php create mode 100644 modules/Member/database/migrations/2024_10_05_035325_memeber_table_up.php create mode 100644 modules/Member/database/migrations/2025_08_31_210818_member_health.php create mode 100644 modules/Member/database/migrations/2025_12_04_200250_member_up_date.php create mode 100644 modules/Member/database/seeders/.gitkeep create mode 100644 modules/Member/database/seeders/MemberDatabaseSeeder.php create mode 100644 modules/Member/database/seeders/MemberSeeder.php create mode 100644 modules/Member/module.json create mode 100644 modules/Member/package.json create mode 100644 modules/Member/resources/assets/.gitkeep create mode 100644 modules/Member/resources/assets/js/app.js create mode 100644 modules/Member/resources/assets/sass/app.scss create mode 100644 modules/Member/resources/views/.gitkeep create mode 100644 modules/Member/resources/views/index.blade.php create mode 100644 modules/Member/resources/views/layouts/master.blade.php create mode 100644 modules/Member/routes/.gitkeep create mode 100644 modules/Member/routes/admin.php create mode 100644 modules/Member/routes/api.php create mode 100644 modules/Member/routes/web.php create mode 100644 modules/Member/tests/Feature/.gitkeep create mode 100644 modules/Member/tests/Unit/.gitkeep create mode 100644 modules/Member/vite.config.js create mode 100644 modules/Wechat/app/Controllers/Api/Index.php create mode 100644 modules/Wechat/app/Listeners/LoginBind.php create mode 100644 modules/Wechat/app/Listeners/RegisterBind.php create mode 100644 modules/Wechat/app/Models/MemberSocial.php create mode 100644 modules/Wechat/app/Providers/.gitkeep create mode 100644 modules/Wechat/app/Providers/EventServiceProvider.php create mode 100644 modules/Wechat/app/Providers/RouteServiceProvider.php create mode 100644 modules/Wechat/app/Providers/WechatServiceProvider.php create mode 100644 modules/Wechat/app/Services/MessageService.php create mode 100644 modules/Wechat/app/Services/OauthService.php create mode 100644 modules/Wechat/app/Services/WechatService.php create mode 100644 modules/Wechat/composer.json create mode 100644 modules/Wechat/config/.gitkeep create mode 100644 modules/Wechat/config/config.php create mode 100644 modules/Wechat/database/factories/.gitkeep create mode 100644 modules/Wechat/database/migrations/.gitkeep create mode 100644 modules/Wechat/database/migrations/2024_05_29_220055_member_social_table.php create mode 100644 modules/Wechat/database/seeders/.gitkeep create mode 100644 modules/Wechat/database/seeders/WechatDatabaseSeeder.php create mode 100644 modules/Wechat/module.json create mode 100644 modules/Wechat/package.json create mode 100644 modules/Wechat/resources/assets/js/app.js create mode 100644 modules/Wechat/resources/assets/sass/app.scss create mode 100644 modules/Wechat/resources/views/index.blade.php create mode 100644 modules/Wechat/resources/views/layouts/master.blade.php create mode 100644 modules/Wechat/routes/.gitkeep create mode 100644 modules/Wechat/routes/admin.php create mode 100644 modules/Wechat/routes/api.php create mode 100644 modules/Wechat/routes/web.php create mode 100644 modules/Wechat/vite.config.js create mode 100644 package.json create mode 100644 phpunit.xml create mode 100644 public/.htaccess create mode 100644 public/favicon.ico create mode 100644 public/index.php create mode 100644 public/robots.txt create mode 100644 resources/admin/.gitignore create mode 100644 resources/admin/LICENSE create mode 100644 resources/admin/README.md create mode 100644 resources/admin/index.html create mode 100644 resources/admin/package.json create mode 100644 resources/admin/public/admin.js create mode 100644 resources/admin/public/static/images/404.png create mode 100644 resources/admin/public/static/images/auth_banner.jpg create mode 100644 resources/admin/public/static/images/avatar.jpg create mode 100644 resources/admin/public/static/images/avatar2.gif create mode 100644 resources/admin/public/static/images/avatar3.gif create mode 100644 resources/admin/public/static/images/loginbg.svg create mode 100644 resources/admin/public/static/images/logo-r.png create mode 100644 resources/admin/public/static/images/logo.png create mode 100644 resources/admin/public/static/images/no-widgets.svg create mode 100644 resources/admin/public/static/images/tasks-example.png create mode 100644 resources/admin/public/static/images/ver.svg create mode 100644 resources/admin/src/App.vue create mode 100644 resources/admin/src/api/index.js create mode 100644 resources/admin/src/api/module/account.js create mode 100644 resources/admin/src/api/module/ads.js create mode 100644 resources/admin/src/api/module/auth.js create mode 100644 resources/admin/src/api/module/common.js create mode 100644 resources/admin/src/api/module/member.js create mode 100644 resources/admin/src/api/module/system.js create mode 100644 resources/admin/src/assets/icons/Back.vue create mode 100644 resources/admin/src/assets/icons/BugFill.vue create mode 100644 resources/admin/src/assets/icons/BugLine.vue create mode 100644 resources/admin/src/assets/icons/Code.vue create mode 100644 resources/admin/src/assets/icons/Download.vue create mode 100644 resources/admin/src/assets/icons/FileExcel.vue create mode 100644 resources/admin/src/assets/icons/FilePpt.vue create mode 100644 resources/admin/src/assets/icons/FileWord.vue create mode 100644 resources/admin/src/assets/icons/Organization.vue create mode 100644 resources/admin/src/assets/icons/Upload.vue create mode 100644 resources/admin/src/assets/icons/Vue.vue create mode 100644 resources/admin/src/assets/icons/Wechat.vue create mode 100644 resources/admin/src/assets/icons/index.js create mode 100644 resources/admin/src/assets/style/app.scss create mode 100644 resources/admin/src/assets/style/dark.scss create mode 100644 resources/admin/src/assets/style/diy.scss create mode 100644 resources/admin/src/assets/style/fix.scss create mode 100644 resources/admin/src/assets/style/media.scss create mode 100644 resources/admin/src/assets/style/pages.scss create mode 100644 resources/admin/src/assets/style/style.scss create mode 100644 resources/admin/src/components/scCodeEditor/index.vue create mode 100644 resources/admin/src/components/scContextmenu/index.vue create mode 100644 resources/admin/src/components/scContextmenu/item.vue create mode 100644 resources/admin/src/components/scCron/components/day.vue create mode 100644 resources/admin/src/components/scCron/components/hour.vue create mode 100644 resources/admin/src/components/scCron/components/minute.vue create mode 100644 resources/admin/src/components/scCron/components/month.vue create mode 100644 resources/admin/src/components/scCron/components/second.vue create mode 100644 resources/admin/src/components/scCron/index.vue create mode 100644 resources/admin/src/components/scCropper/index.vue create mode 100644 resources/admin/src/components/scDialog/index.vue create mode 100644 resources/admin/src/components/scEcharts/echarts-theme-T.js create mode 100644 resources/admin/src/components/scEcharts/index.vue create mode 100644 resources/admin/src/components/scEditor/UploadAdapter.js create mode 100644 resources/admin/src/components/scEditor/ckeditor.vue create mode 100644 resources/admin/src/components/scEditor/index.vue create mode 100644 resources/admin/src/components/scFileExport/column.vue create mode 100644 resources/admin/src/components/scFileExport/index.vue create mode 100644 resources/admin/src/components/scFileImport/index.vue create mode 100644 resources/admin/src/components/scFileSelect/index.vue create mode 100644 resources/admin/src/components/scFilterBar/index.vue create mode 100644 resources/admin/src/components/scFilterBar/my.vue create mode 100644 resources/admin/src/components/scFilterBar/pinyin.js create mode 100644 resources/admin/src/components/scFilterBar/pySelect.vue create mode 100644 resources/admin/src/components/scForm/index.vue create mode 100644 resources/admin/src/components/scForm/items/tableselect.vue create mode 100644 resources/admin/src/components/scFormTable/index.vue create mode 100644 resources/admin/src/components/scIconSelect/index.vue create mode 100644 resources/admin/src/components/scMapSelect/index.vue create mode 100644 resources/admin/src/components/scMini/scStatusIndicator.vue create mode 100644 resources/admin/src/components/scMini/scTrend.vue create mode 100644 resources/admin/src/components/scPageHeader/index.vue create mode 100644 resources/admin/src/components/scPasswordStrength/index.vue create mode 100644 resources/admin/src/components/scQrCode/index.vue create mode 100644 resources/admin/src/components/scQrCode/qrcode.js create mode 100644 resources/admin/src/components/scSelect/index.vue create mode 100644 resources/admin/src/components/scSelectFilter/index.vue create mode 100644 resources/admin/src/components/scSelectRemote/index.vue create mode 100644 resources/admin/src/components/scSelectTree/index.vue create mode 100644 resources/admin/src/components/scStatistic/index.vue create mode 100644 resources/admin/src/components/scTable/column.js create mode 100644 resources/admin/src/components/scTable/columnSetting.vue create mode 100644 resources/admin/src/components/scTable/index.vue create mode 100644 resources/admin/src/components/scTableSelect/index.vue create mode 100644 resources/admin/src/components/scTitle/index.vue create mode 100644 resources/admin/src/components/scUpload/file.vue create mode 100644 resources/admin/src/components/scUpload/index.vue create mode 100644 resources/admin/src/components/scUpload/multiple.vue create mode 100644 resources/admin/src/components/scUserSelect/index.vue create mode 100644 resources/admin/src/components/scVideo/index.vue create mode 100644 resources/admin/src/components/scWaterMark/index.vue create mode 100644 resources/admin/src/components/scWorkflow/index.vue create mode 100644 resources/admin/src/components/scWorkflow/nodeWrap.vue create mode 100644 resources/admin/src/components/scWorkflow/nodes/addNode.vue create mode 100644 resources/admin/src/components/scWorkflow/nodes/approver.vue create mode 100644 resources/admin/src/components/scWorkflow/nodes/branch.vue create mode 100644 resources/admin/src/components/scWorkflow/nodes/promoter.vue create mode 100644 resources/admin/src/components/scWorkflow/nodes/send.vue create mode 100644 resources/admin/src/components/scWorkflow/select.vue create mode 100644 resources/admin/src/config/fileSelect.js create mode 100644 resources/admin/src/config/filterBar.js create mode 100644 resources/admin/src/config/iconSelect.js create mode 100644 resources/admin/src/config/index.js create mode 100644 resources/admin/src/config/myConfig.js create mode 100644 resources/admin/src/config/route.js create mode 100644 resources/admin/src/config/select.js create mode 100644 resources/admin/src/config/table.js create mode 100644 resources/admin/src/config/tableSelect.js create mode 100644 resources/admin/src/config/upload.js create mode 100644 resources/admin/src/config/workflow.js create mode 100644 resources/admin/src/directives/auth.js create mode 100644 resources/admin/src/directives/copy.js create mode 100644 resources/admin/src/directives/role.js create mode 100644 resources/admin/src/directives/time.js create mode 100644 resources/admin/src/layout/components/NavMenu.vue create mode 100644 resources/admin/src/layout/components/feedback.vue create mode 100644 resources/admin/src/layout/components/iframeView.vue create mode 100644 resources/admin/src/layout/components/search.vue create mode 100644 resources/admin/src/layout/components/setting.vue create mode 100644 resources/admin/src/layout/components/sideM.vue create mode 100644 resources/admin/src/layout/components/tags.vue create mode 100644 resources/admin/src/layout/components/tasks.vue create mode 100644 resources/admin/src/layout/components/topbar.vue create mode 100644 resources/admin/src/layout/components/userbar.vue create mode 100644 resources/admin/src/layout/components/winTool.vue create mode 100644 resources/admin/src/layout/index.vue create mode 100644 resources/admin/src/layout/other/404.vue create mode 100644 resources/admin/src/layout/other/empty.vue create mode 100644 resources/admin/src/locales/index.js create mode 100644 resources/admin/src/locales/lang/en.js create mode 100644 resources/admin/src/locales/lang/zh-cn.js create mode 100644 resources/admin/src/main.js create mode 100644 resources/admin/src/mixin/import.vue create mode 100644 resources/admin/src/pages/account/accounts/index.vue create mode 100644 resources/admin/src/pages/account/accounts/save.vue create mode 100644 resources/admin/src/pages/account/families/index.vue create mode 100644 resources/admin/src/pages/account/families/save.vue create mode 100644 resources/admin/src/pages/account/members/index.vue create mode 100644 resources/admin/src/pages/account/members/save.vue create mode 100644 resources/admin/src/pages/account/records/index.vue create mode 100644 resources/admin/src/pages/account/records/save.vue create mode 100644 resources/admin/src/pages/auth/department/index.vue create mode 100644 resources/admin/src/pages/auth/department/save.vue create mode 100644 resources/admin/src/pages/auth/permission/index.vue create mode 100644 resources/admin/src/pages/auth/permission/save.vue create mode 100644 resources/admin/src/pages/auth/role/index.vue create mode 100644 resources/admin/src/pages/auth/role/permission.vue create mode 100644 resources/admin/src/pages/auth/role/save.vue create mode 100644 resources/admin/src/pages/auth/user/index.vue create mode 100644 resources/admin/src/pages/auth/user/role.vue create mode 100644 resources/admin/src/pages/auth/user/save.vue create mode 100644 resources/admin/src/pages/home/index.vue create mode 100644 resources/admin/src/pages/home/widgets/components/about.vue create mode 100644 resources/admin/src/pages/home/widgets/components/echarts.vue create mode 100644 resources/admin/src/pages/home/widgets/components/index.js create mode 100644 resources/admin/src/pages/home/widgets/components/info.vue create mode 100644 resources/admin/src/pages/home/widgets/components/progress.vue create mode 100644 resources/admin/src/pages/home/widgets/components/sms.vue create mode 100644 resources/admin/src/pages/home/widgets/components/time.vue create mode 100644 resources/admin/src/pages/home/widgets/components/ver.vue create mode 100644 resources/admin/src/pages/home/widgets/components/welcome.vue create mode 100644 resources/admin/src/pages/home/widgets/index.vue create mode 100644 resources/admin/src/pages/home/work/components/myapp.vue create mode 100644 resources/admin/src/pages/home/work/index.vue create mode 100644 resources/admin/src/pages/login/components/commonPage.vue create mode 100644 resources/admin/src/pages/login/components/passwordForm.vue create mode 100644 resources/admin/src/pages/login/components/phoneForm.vue create mode 100644 resources/admin/src/pages/login/index.vue create mode 100644 resources/admin/src/pages/login/resetPassword.vue create mode 100644 resources/admin/src/pages/login/userRegister.vue create mode 100644 resources/admin/src/pages/member/apply/index.vue create mode 100644 resources/admin/src/pages/member/apply/save.vue create mode 100644 resources/admin/src/pages/member/field/index.vue create mode 100644 resources/admin/src/pages/member/field/save.vue create mode 100644 resources/admin/src/pages/member/level/index.vue create mode 100644 resources/admin/src/pages/member/level/save.vue create mode 100644 resources/admin/src/pages/member/lists/index.vue create mode 100644 resources/admin/src/pages/member/lists/save.vue create mode 100644 resources/admin/src/pages/operate/ads/index.vue create mode 100644 resources/admin/src/pages/operate/ads/save.vue create mode 100644 resources/admin/src/pages/system/area/index.vue create mode 100644 resources/admin/src/pages/system/area/save.vue create mode 100644 resources/admin/src/pages/system/client/index.vue create mode 100644 resources/admin/src/pages/system/client/menu.vue create mode 100644 resources/admin/src/pages/system/client/menuform.vue create mode 100644 resources/admin/src/pages/system/client/save.vue create mode 100644 resources/admin/src/pages/system/crontab/index.vue create mode 100644 resources/admin/src/pages/system/crontab/logs.vue create mode 100644 resources/admin/src/pages/system/crontab/save.vue create mode 100644 resources/admin/src/pages/system/dic/dic.vue create mode 100644 resources/admin/src/pages/system/dic/index.vue create mode 100644 resources/admin/src/pages/system/dic/list.vue create mode 100644 resources/admin/src/pages/system/log/index.vue create mode 100644 resources/admin/src/pages/system/log/info.vue create mode 100644 resources/admin/src/pages/system/modules/index.vue create mode 100644 resources/admin/src/pages/system/setting/index.vue create mode 100644 resources/admin/src/pages/system/setting/save.vue create mode 100644 resources/admin/src/pages/ucenter/index.vue create mode 100644 resources/admin/src/pages/ucenter/user/account.vue create mode 100644 resources/admin/src/pages/ucenter/user/logs.vue create mode 100644 resources/admin/src/pages/ucenter/user/password.vue create mode 100644 resources/admin/src/pages/ucenter/user/pushSettings.vue create mode 100644 resources/admin/src/pages/ucenter/user/seting.vue create mode 100644 resources/admin/src/pages/ucenter/user/space.vue create mode 100644 resources/admin/src/pages/ucenter/user/upToEnterprise.vue create mode 100644 resources/admin/src/router/index.js create mode 100644 resources/admin/src/router/scrollBehavior.js create mode 100644 resources/admin/src/router/systemRouter.js create mode 100644 resources/admin/src/sent.js create mode 100644 resources/admin/src/store/index.js create mode 100644 resources/admin/src/store/modules/global.js create mode 100644 resources/admin/src/store/modules/iframe.js create mode 100644 resources/admin/src/store/modules/keepAlive.js create mode 100644 resources/admin/src/store/modules/viewTags.js create mode 100644 resources/admin/src/utils/color.js create mode 100644 resources/admin/src/utils/db.js create mode 100644 resources/admin/src/utils/errorHandler.js create mode 100644 resources/admin/src/utils/load.js create mode 100644 resources/admin/src/utils/permission.js create mode 100644 resources/admin/src/utils/print.js create mode 100644 resources/admin/src/utils/request.js create mode 100644 resources/admin/src/utils/template.js create mode 100644 resources/admin/src/utils/tool.js create mode 100644 resources/admin/src/utils/useTabs.js create mode 100644 resources/admin/src/utils/verificate.js create mode 100644 resources/admin/vite.config.js create mode 100644 resources/mobile/.gitignore create mode 100644 resources/mobile/App.vue create mode 100644 resources/mobile/index.html create mode 100644 resources/mobile/main.js create mode 100644 resources/mobile/manifest.json create mode 100644 resources/mobile/package.json create mode 100644 resources/mobile/pages.json create mode 100644 resources/mobile/pages/index/index.vue create mode 100644 resources/mobile/static/logo.png create mode 100644 resources/mobile/uni.promisify.adaptor.js create mode 100644 resources/mobile/uni.scss create mode 100644 resources/mobile/utils/request.js create mode 100644 resources/views/error.blade.php create mode 100644 resources/views/welcome.blade.php create mode 100644 resources/web/App.vue create mode 100644 resources/web/app.js create mode 100644 routes/admin.php create mode 100644 routes/api.php create mode 100644 routes/console.php create mode 100644 routes/web.php create mode 100644 storage/app/.gitignore create mode 100644 storage/app/public/.gitignore create mode 100644 storage/debugbar/.gitignore create mode 100644 storage/framework/.gitignore create mode 100644 storage/framework/cache/.gitignore create mode 100644 storage/framework/sessions/.gitignore create mode 100644 storage/framework/testing/.gitignore create mode 100644 storage/framework/views/.gitignore create mode 100644 storage/logs/.gitignore create mode 100644 storage/modules_statuses.json create mode 100644 storage/stubs/action-invoke.stub create mode 100644 storage/stubs/action.stub create mode 100644 storage/stubs/assets/js/app.stub create mode 100644 storage/stubs/assets/sass/app.stub create mode 100644 storage/stubs/cast.stub create mode 100644 storage/stubs/channel.stub create mode 100644 storage/stubs/class-invoke.stub create mode 100644 storage/stubs/class.stub create mode 100644 storage/stubs/command.stub create mode 100644 storage/stubs/component-class.stub create mode 100644 storage/stubs/component-view.stub create mode 100644 storage/stubs/composer.stub create mode 100644 storage/stubs/controller-api.stub create mode 100644 storage/stubs/controller-plain.stub create mode 100644 storage/stubs/controller.invokable.stub create mode 100644 storage/stubs/controller.stub create mode 100644 storage/stubs/enum.stub create mode 100644 storage/stubs/event-provider.stub create mode 100644 storage/stubs/event.stub create mode 100644 storage/stubs/exception-render-report.stub create mode 100644 storage/stubs/exception-render.stub create mode 100644 storage/stubs/exception-report.stub create mode 100644 storage/stubs/exception.stub create mode 100644 storage/stubs/factory.stub create mode 100644 storage/stubs/feature-test.stub create mode 100644 storage/stubs/helper-invoke.stub create mode 100644 storage/stubs/helper.stub create mode 100644 storage/stubs/interface.stub create mode 100644 storage/stubs/job-queued.stub create mode 100644 storage/stubs/job.stub create mode 100644 storage/stubs/json.stub create mode 100644 storage/stubs/listener-duck.stub create mode 100644 storage/stubs/listener-queued-duck.stub create mode 100644 storage/stubs/listener-queued.stub create mode 100644 storage/stubs/listener.stub create mode 100644 storage/stubs/mail.stub create mode 100644 storage/stubs/middleware.stub create mode 100644 storage/stubs/migration/add.stub create mode 100644 storage/stubs/migration/create.stub create mode 100644 storage/stubs/migration/delete.stub create mode 100644 storage/stubs/migration/drop.stub create mode 100644 storage/stubs/migration/plain.stub create mode 100644 storage/stubs/model.stub create mode 100644 storage/stubs/notification.stub create mode 100644 storage/stubs/observer.stub create mode 100644 storage/stubs/package.stub create mode 100644 storage/stubs/policy.plain.stub create mode 100644 storage/stubs/provider.stub create mode 100644 storage/stubs/repository-invoke.stub create mode 100644 storage/stubs/repository.stub create mode 100644 storage/stubs/request.stub create mode 100644 storage/stubs/resource-collection.stub create mode 100644 storage/stubs/resource.stub create mode 100644 storage/stubs/route-provider.stub create mode 100644 storage/stubs/routes/admin.stub create mode 100644 storage/stubs/routes/api.stub create mode 100644 storage/stubs/routes/web.stub create mode 100644 storage/stubs/rule.implicit.stub create mode 100644 storage/stubs/rule.stub create mode 100644 storage/stubs/scaffold/config.stub create mode 100644 storage/stubs/scaffold/provider.stub create mode 100644 storage/stubs/scope.stub create mode 100644 storage/stubs/seeder.stub create mode 100644 storage/stubs/service-invoke.stub create mode 100644 storage/stubs/service.stub create mode 100644 storage/stubs/trait.stub create mode 100644 storage/stubs/unit-test.stub create mode 100644 storage/stubs/view.stub create mode 100644 storage/stubs/views/index.stub create mode 100644 storage/stubs/views/master.stub create mode 100644 storage/stubs/vite.stub create mode 100644 storage/workerman/202407/14.log create mode 100644 tests/Browser/ExampleTest.php create mode 100644 tests/Browser/Pages/HomePage.php create mode 100644 tests/Browser/Pages/Page.php create mode 100644 tests/Browser/console/.gitignore create mode 100644 tests/Browser/screenshots/.gitignore create mode 100644 tests/Browser/source/.gitignore create mode 100644 tests/DuskTestCase.php create mode 100644 tests/Feature/ExampleTest.php create mode 100644 tests/TestCase.php create mode 100644 tests/Unit/ExampleTest.php create mode 100644 vite-module-loader.js create mode 100644 vite.config.js diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..f904d4b --- /dev/null +++ b/.editorconfig @@ -0,0 +1,18 @@ +root = true + +[*] +charset = utf-8 +end_of_line = lf +indent_size = 4 +indent_style = tab +insert_final_newline = true +trim_trailing_whitespace = true + +[*.md] +trim_trailing_whitespace = false + +[*.{yml,yaml}] +indent_size = 2 + +[docker-compose.yml] +indent_size = 4 diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..db23f7a --- /dev/null +++ b/.env.example @@ -0,0 +1,70 @@ +APP_NAME=sentos +VERSION=1.0.0 +APP_ENV=local +APP_KEY= +APP_DEBUG=true +APP_TIMEZONE=Asia/Shanghai +APP_URL=http://localhost + +APP_LOCALE=en +APP_FALLBACK_LOCALE=en +APP_FAKER_LOCALE=en_US + +APP_MAINTENANCE_DRIVER=file +APP_MAINTENANCE_STORE=database + +BCRYPT_ROUNDS=12 + +LOG_CHANNEL=stack +LOG_STACK=single +LOG_DEPRECATIONS_CHANNEL=null +LOG_LEVEL=debug + +DB_CONNECTION=mysql +DB_HOST=127.0.0.1 +DB_PORT=3306 +DB_DATABASE=laravel +DB_USERNAME=root +DB_PASSWORD= + +SESSION_DRIVER=file +SESSION_LIFETIME=120 +SESSION_ENCRYPT=false +SESSION_PATH=/ +SESSION_DOMAIN=null + +BROADCAST_CONNECTION=log +FILESYSTEM_DISK=local +QUEUE_CONNECTION=database + +CACHE_STORE=file +CACHE_PREFIX= + +MEMCACHED_HOST=127.0.0.1 + +REDIS_CLIENT=phpredis +REDIS_HOST=127.0.0.1 +REDIS_PASSWORD=null +REDIS_PORT=6379 + +MAIL_MAILER=log +MAIL_HOST=127.0.0.1 +MAIL_PORT=2525 +MAIL_USERNAME=null +MAIL_PASSWORD=null +MAIL_ENCRYPTION=null +MAIL_FROM_ADDRESS="hello@example.com" +MAIL_FROM_NAME="${APP_NAME}" + +AWS_ACCESS_KEY_ID= +AWS_SECRET_ACCESS_KEY= +AWS_DEFAULT_REGION=us-east-1 +AWS_BUCKET= +AWS_USE_PATH_STYLE_ENDPOINT=false + +OSS_ACCESS_KEY_ID= +OSS_ACCESS_KEY_SECRET= +OSS_BUCKET=nowart +OSS_ENDPOINT=oss-cn-hangzhou.aliyuncs.com + +VITE_APP_NAME="${APP_NAME}" diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..fcb21d3 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,11 @@ +* text=auto eol=lf + +*.blade.php diff=html +*.css diff=css +*.html diff=html +*.md diff=markdown +*.php diff=php + +/.github export-ignore +CHANGELOG.md export-ignore +.styleci.yml export-ignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..8254a67 --- /dev/null +++ b/.gitignore @@ -0,0 +1,30 @@ +/.phpunit.cache +/node_modules +/public/build +/public/hot +/public/storage +/public/static +/public/assets +/public/*.js +/public/.user.ini +/storage/*.key +/vendor +/resources/admin-bak +.env +.env.backup +.env.production +.phpactor.json +.phpunit.result.cache +Homestead.json +Homestead.yaml +auth.json +npm-debug.log +yarn-error.log +/.fleet +/.idea +/.vscode +composer.lock +bootstrap/cache/* +package-lock.json +yarn.lock +/resources/antdvadmin diff --git a/.htaccess b/.htaccess new file mode 100644 index 0000000..0519ecb --- /dev/null +++ b/.htaccess @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..f63f5a9 --- /dev/null +++ b/LICENSE @@ -0,0 +1,194 @@ +木兰宽松许可证,第2版 + +木兰宽松许可证,第2版 + +2020年1月 http://license.coscl.org.cn/MulanPSL2 + +您对“软件”的复制、使用、修改及分发受木兰宽松许可证,第2版(“本许可证”)的如下条款的约束: + +0. 定义 + +“软件” 是指由“贡献”构成的许可在“本许可证”下的程序和相关文档的集合。 + +“贡献” 是指由任一“贡献者”许可在“本许可证”下的受版权法保护的作品。 + +“贡献者” 是指将受版权法保护的作品许可在“本许可证”下的自然人或“法人实体”。 + +“法人实体” 是指提交贡献的机构及其“关联实体”。 + +“关联实体” 是指,对“本许可证”下的行为方而言,控制、受控制或与其共同受控制的机构,此处的控制是 +指有受控方或共同受控方至少50%直接或间接的投票权、资金或其他有价证券。 + +1. 授予版权许可 + +每个“贡献者”根据“本许可证”授予您永久性的、全球性的、免费的、非独占的、不可撤销的版权许可,您可 +以复制、使用、修改、分发其“贡献”,不论修改与否。 + +2. 授予专利许可 + +每个“贡献者”根据“本许可证”授予您永久性的、全球性的、免费的、非独占的、不可撤销的(根据本条规定 +撤销除外)专利许可,供您制造、委托制造、使用、许诺销售、销售、进口其“贡献”或以其他方式转移其“贡 +献”。前述专利许可仅限于“贡献者”现在或将来拥有或控制的其“贡献”本身或其“贡献”与许可“贡献”时的“软 +件”结合而将必然会侵犯的专利权利要求,不包括对“贡献”的修改或包含“贡献”的其他结合。如果您或您的“ +关联实体”直接或间接地,就“软件”或其中的“贡献”对任何人发起专利侵权诉讼(包括反诉或交叉诉讼)或 +其他专利维权行动,指控其侵犯专利权,则“本许可证”授予您对“软件”的专利许可自您提起诉讼或发起维权 +行动之日终止。 + +3. 无商标许可 + +“本许可证”不提供对“贡献者”的商品名称、商标、服务标志或产品名称的商标许可,但您为满足第4条规定 +的声明义务而必须使用除外。 + +4. 分发限制 + +您可以在任何媒介中将“软件”以源程序形式或可执行形式重新分发,不论修改与否,但您必须向接收者提供“ +本许可证”的副本,并保留“软件”中的版权、商标、专利及免责声明。 + +5. 免责声明与责任限制 + +“软件”及其中的“贡献”在提供时不带任何明示或默示的担保。在任何情况下,“贡献者”或版权所有者不对 +任何人因使用“软件”或其中的“贡献”而引发的任何直接或间接损失承担责任,不论因何种原因导致或者基于 +何种法律理论,即使其曾被建议有此种损失的可能性。 + +6. 语言 + +“本许可证”以中英文双语表述,中英文版本具有同等法律效力。如果中英文版本存在任何冲突不一致,以中文 +版为准。 + +条款结束 + +如何将木兰宽松许可证,第2版,应用到您的软件 + +如果您希望将木兰宽松许可证,第2版,应用到您的新软件,为了方便接收者查阅,建议您完成如下三步: + +1, 请您补充如下声明中的空白,包括软件名、软件的首次发表年份以及您作为版权人的名字; + +2, 请您在软件包的一级目录下创建以“LICENSE”为名的文件,将整个许可证文本放入该文件中; + +3, 请将如下声明文本放入每个源文件的头部注释中。 + +Copyright (c) [Year] [name of copyright holder] +[Software Name] is licensed under Mulan PSL v2. +You can use this software according to the terms and conditions of the Mulan +PSL v2. +You may obtain a copy of Mulan PSL v2 at: + http://license.coscl.org.cn/MulanPSL2 +THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO +NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. +See the Mulan PSL v2 for more details. + +Mulan Permissive Software License,Version 2 + +Mulan Permissive Software License,Version 2 (Mulan PSL v2) + +January 2020 http://license.coscl.org.cn/MulanPSL2 + +Your reproduction, use, modification and distribution of the Software shall +be subject to Mulan PSL v2 (this License) with the following terms and +conditions: + +0. Definition + +Software means the program and related documents which are licensed under +this License and comprise all Contribution(s). + +Contribution means the copyrightable work licensed by a particular +Contributor under this License. + +Contributor means the Individual or Legal Entity who licenses its +copyrightable work under this License. + +Legal Entity means the entity making a Contribution and all its +Affiliates. + +Affiliates means entities that control, are controlled by, or are under +common control with the acting entity under this License, ‘control’ means +direct or indirect ownership of at least fifty percent (50%) of the voting +power, capital or other securities of controlled or commonly controlled +entity. + +1. Grant of Copyright License + +Subject to the terms and conditions of this License, each Contributor hereby +grants to you a perpetual, worldwide, royalty-free, non-exclusive, +irrevocable copyright license to reproduce, use, modify, or distribute its +Contribution, with modification or not. + +2. Grant of Patent License + +Subject to the terms and conditions of this License, each Contributor hereby +grants to you a perpetual, worldwide, royalty-free, non-exclusive, +irrevocable (except for revocation under this Section) patent license to +make, have made, use, offer for sale, sell, import or otherwise transfer its +Contribution, where such patent license is only limited to the patent claims +owned or controlled by such Contributor now or in future which will be +necessarily infringed by its Contribution alone, or by combination of the +Contribution with the Software to which the Contribution was contributed. +The patent license shall not apply to any modification of the Contribution, +and any other combination which includes the Contribution. If you or your +Affiliates directly or indirectly institute patent litigation (including a +cross claim or counterclaim in a litigation) or other patent enforcement +activities against any individual or entity by alleging that the Software or +any Contribution in it infringes patents, then any patent license granted to +you under this License for the Software shall terminate as of the date such +litigation or activity is filed or taken. + +3. No Trademark License + +No trademark license is granted to use the trade names, trademarks, service +marks, or product names of Contributor, except as required to fulfill notice +requirements in section 4. + +4. Distribution Restriction + +You may distribute the Software in any medium with or without modification, +whether in source or executable forms, provided that you provide recipients +with a copy of this License and retain copyright, patent, trademark and +disclaimer statements in the Software. + +5. Disclaimer of Warranty and Limitation of Liability + +THE SOFTWARE AND CONTRIBUTION IN IT ARE PROVIDED WITHOUT WARRANTIES OF ANY +KIND, EITHER EXPRESS OR IMPLIED. IN NO EVENT SHALL ANY CONTRIBUTOR OR +COPYRIGHT HOLDER BE LIABLE TO YOU FOR ANY DAMAGES, INCLUDING, BUT NOT +LIMITED TO ANY DIRECT, OR INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING +FROM YOUR USE OR INABILITY TO USE THE SOFTWARE OR THE CONTRIBUTION IN IT, NO +MATTER HOW IT’S CAUSED OR BASED ON WHICH LEGAL THEORY, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGES. + +6. Language + +THIS LICENSE IS WRITTEN IN BOTH CHINESE AND ENGLISH, AND THE CHINESE VERSION +AND ENGLISH VERSION SHALL HAVE THE SAME LEGAL EFFECT. IN THE CASE OF +DIVERGENCE BETWEEN THE CHINESE AND ENGLISH VERSIONS, THE CHINESE VERSION +SHALL PREVAIL. + +END OF THE TERMS AND CONDITIONS + +How to Apply the Mulan Permissive Software License,Version 2 +(Mulan PSL v2) to Your Software + +To apply the Mulan PSL v2 to your work, for easy identification by +recipients, you are suggested to complete following three steps: + +i. Fill in the blanks in following statement, including insert your software +name, the year of the first publication of your software, and your name +identified as the copyright owner; + +ii. Create a file named "LICENSE" which contains the whole context of this +License in the first directory of your software package; + +iii. Attach the statement to the appropriate annotated syntax at the +beginning of each source file. + +Copyright (c) [Year] [name of copyright holder] +[Software Name] is licensed under Mulan PSL v2. +You can use this software according to the terms and conditions of the Mulan +PSL v2. +You may obtain a copy of Mulan PSL v2 at: + http://license.coscl.org.cn/MulanPSL2 +THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO +NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. +See the Mulan PSL v2 for more details. diff --git a/README.md b/README.md new file mode 100644 index 0000000..813308d --- /dev/null +++ b/README.md @@ -0,0 +1,56 @@ +### Laradmin +Laradmin是一个基于Laravel + Vue 开发的后台管理系统,基础功能包括:用户管理、角色管理、菜单管理、部门管理、日志管理、字典管理、参数管理、定时任务、城市管理、客户端管理、图片上传、富文本编辑器 + +### 演示地址 +http://www.sentcms.com +账号:admin +密码:admin888 +(请勿修改密码,数据定期清理) + +### 运行环境 + +1. PHP >= 7.2.0 +2. MySQL >= 5.7.0 +3. Redis >= 4.0.0 +4. Laravel >= 11.0.0 +5. Vue >= 3.0.0 +6. Node >= 16.0.0 +7. Vite >= 4.0.0 + +### 服务器端安装 +1. 运行composer install +2. 运行composer install-project +3. 运行php artisan migrate +4. 运行php artisan module:seed +5. 运行php artisan serve +6. 访问http://localhost:8000 + +### 前端安装 +1. cd resources/admin +2. yarn install +3. yarn run serve +4. 访问http://localhost:8080 + +### 线上部署 +1. 运行composer install +2. 运行composer install-project +3. 运行php artisan migrate +4. 运行php artisan module:seed +5. 运行cd resources/admin && yarn install && yarn run build +6. 访问http://域名/admin + + +### 功能 +- [x] 用户管理 后台用户管理 +- [x] 部门管理 配置公司的部门结构,支持树形结构 +- [x] 菜单管理 配置系统菜单,按钮等等 +- [x] 角色管理 配置用户担当的角色,分配权限 +- [x] 配置管理 参数的管理 +- [x] 字典管理 字典数据管理 +- [x] 城市数据 城市数据管理 +- [x] 客户端管理 客户端管理 +- [x] 定时任务 定时任务管理 +- [x] 操作日志 后台用户操作记录 +- [x] 图片上传 图片上传管理 +- [x] 富文本编辑器 富文本编辑器管理 +- [ ] 应用管理 应用管理 diff --git a/app/Console/Commands/Workerman.php b/app/Console/Commands/Workerman.php new file mode 100644 index 0000000..87cf1dd --- /dev/null +++ b/app/Console/Commands/Workerman.php @@ -0,0 +1,87 @@ + +// +---------------------------------------------------------------------- +namespace App\Console\Commands; + +use Illuminate\Console\Command; +use GatewayWorker\BusinessWorker; +use GatewayWorker\Gateway; +use GatewayWorker\Register; +use Workerman\Worker; +use App\Events\WorkermanEvent; + +class Workerman extends Command { + /** + * The name and signature of the console command. + * + * @var string + */ + protected $signature = 'work {action} {--d}'; + + /** + * The console command description. + * + * @var string + */ + protected $description = 'Start a Workerman server.'; + + /** + * Execute the console command. + */ + public function handle() { + global $argv; + $action = $this->argument('action'); + + $argv[0] = 'work'; + $argv[1] = $action; + $argv[2] = $this->option('d') ? '-d' : ''; + + $this->start(); + } + + public function start() { + $this->startGateWay(); + $this->startBusinessWorker(); + $this->startRegister(); + + $workerPath = storage_path('workerman/'); + if (!is_dir($workerPath)) + mkdir($workerPath, 0755, true); + Worker::$pidFile = $workerPath . config('app.name') . '_workman.pid'; + $logPath = $workerPath . date('Ym') . '/'; + if (!is_dir($logPath)) + mkdir($logPath, 0755, true); + Worker::$logFile = $logPath . date('d') . '.log'; + + Worker::runAll(); + } + + public function startGateWay() { + $gateway = new Gateway("websocket://0.0.0.0:2346"); + $gateway->name = 'Gateway'; + $gateway->count = 4; + $gateway->lanIp = '127.0.0.1'; + $gateway->startPort = 2900; + $gateway->pingInterval = 10; + $gateway->pingNotResponseLimit = 1; + $gateway->pingData = '{"type":"pong"}'; + $gateway->registerAddress = '127.0.0.1:1236'; + } + + public function startBusinessWorker() { + $worker = new BusinessWorker(); + $worker->name = 'BusinessWorker'; + $worker->count = 3; + $worker->registerAddress = '127.0.0.1:1236'; + $worker->eventHandler = WorkermanEvent::class; + } + + public function startRegister() { + $register = new Register('text://0.0.0.0:1236'); + } +} diff --git a/app/Console/Commands/WorkermanWin.php b/app/Console/Commands/WorkermanWin.php new file mode 100644 index 0000000..a77f268 --- /dev/null +++ b/app/Console/Commands/WorkermanWin.php @@ -0,0 +1,81 @@ + +// +---------------------------------------------------------------------- +namespace App\Console\Commands; + +use Illuminate\Console\Command; +use GatewayWorker\BusinessWorker; +use GatewayWorker\Gateway; +use GatewayWorker\Register; +use Workerman\Worker; +use App\Events\WorkermanEvent; + +class WorkermanWin extends Command { + + // 兼容windows + protected $signature = 'wk {action : action} {--start=all : start} {--d : daemon mode}'; + + protected $description = 'Start a Workerman server.'; + + public function handle() { + global $argv; + $action = $this->argument('action'); + + + //针对 Windows 一次执行,无法注册多个协议的特殊处理 + if ($action === 'single') { + $start = $this->option('start'); + if ($start === 'register') { + $this->startRegister(); + } elseif ($start === 'gateway') { + $this->startGateWay(); + } elseif ($start === 'worker') { + $this->startBusinessWorker(); + } + Worker::runAll(); + + return; + } + + $argv[1] = $action; + $argv[2] = $this->option('d') ? '-d' : ''; + + $this->start(); + } + + public function start() { + $this->startGateWay(); + $this->startBusinessWorker(); + $this->startRegister(); + Worker::runAll(); + } + + public function startGateWay() { + $gateway = new Gateway("websocket://0.0.0.0:2346"); + $gateway->name = 'Gateway'; + $gateway->count = 4; + $gateway->lanIp = '127.0.0.1'; + $gateway->startPort = 2900; + $gateway->pingInterval = 10; + $gateway->pingNotResponseLimit = 1; + $gateway->pingData = '{"type":"pong"}'; + $gateway->registerAddress = '127.0.0.1:1236'; + } + + public function startBusinessWorker() { + $worker = new BusinessWorker(); + $worker->name = 'BusinessWorker'; + $worker->count = 3; + $worker->registerAddress = '127.0.0.1:1236'; + $worker->eventHandler = WorkermanEvent::class; + } + + public function startRegister() { + $register = new Register('text://0.0.0.0:1236'); + } +} diff --git a/app/Events/WorkermanEvent.php b/app/Events/WorkermanEvent.php new file mode 100644 index 0000000..96bfe73 --- /dev/null +++ b/app/Events/WorkermanEvent.php @@ -0,0 +1,103 @@ + +// +---------------------------------------------------------------------- +namespace App\Events; + +use GatewayWorker\BusinessWorker; +use GatewayWorker\Lib\Gateway; +use Illuminate\Support\Facades\Log; +use Workerman\Lib\Timer; + +class WorkermanEvent { + + /** + * @title worker 启动时触发 + * + * @param BusinessWorker $businessWorker + * @return void + */ + public static function onWorkerStart(BusinessWorker $businessWorker) { + + self::log(__FUNCTION__, $businessWorker->workerId); + // 向所有客户端连接发送数据 + // Gateway::sendToAll("worker started"); + // 定时向所有客户端连接发送数据 + Timer::add(1, function() use ($businessWorker) { + $time_now = time(); + foreach ($businessWorker->connections as $connection) { + if (empty($connection->lastMessageTime)){ + $connection->lastMessageTime = $time_now; + continue; + } + if ($time_now - $connection->lastMessageTime > 10) { + $connection->lastMessageTime = $time_now; + Gateway::sendToClient($connection->id, 'pong'); + } + } + }); + } + + /** + * @title 当客户端连接时触发 + * + * @param int $client_id 连接id + * @return void + */ + public static function onConnect($client_id) { + self::log(__FUNCTION__, $client_id); + } + + /** + * @title 客户端连接时触发 + * + * @param int $client_id 连接id + * @param mixed $message 具体消息 + * @return void + */ + public static function onWebSocketConnect($client_id, $data) { + self::log(__FUNCTION__, $client_id, $data); + } + + /** + * @title 当客户端发来消息时触发 + * + * @param int $client_id 连接id + * @param mixed $message 具体消息 + * @return void + */ + public static function onMessage(string $client_id, string $message) { + self::log(__FUNCTION__, $client_id, $message); + + if (empty($message)) { + return; + } + + Gateway::sendToAll($message); + if ($message == 'ping') { + Gateway::sendToClient($client_id, 'pong'); + return; + } + } + + /** + * @title 当用户断开连接时触发 + * + * @param int $client_id 连接id + * @return void + */ + public static function onClose(string $client_id) { + self::log(__FUNCTION__, $client_id); + Gateway::destoryClient($client_id); + } + + protected static function log(string $title, ...$data): void{ + if (config('app.debug')) { + Log::info("{$title} | " . json_encode($data, 256)); + } + } +} diff --git a/app/Http/Controllers/Admin/Auth/Department.php b/app/Http/Controllers/Admin/Auth/Department.php new file mode 100644 index 0000000..053d4ca --- /dev/null +++ b/app/Http/Controllers/Admin/Auth/Department.php @@ -0,0 +1,87 @@ + +// +---------------------------------------------------------------------- +namespace App\Http\Controllers\Admin\Auth; + +use Illuminate\Http\Request; +use App\Http\Controllers\BaseController; +use App\Services\Auth\DepartmentService; + +class Department extends BaseController { + + + /** + * @title 部门列表 + * + * @return \Illuminate\Http\JsonResponse + */ + public function index(Request $request, DepartmentService $service){ + try { + $this->data['data'] = $service->getDataList($request); + } catch (\Exception $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + + return response()->json($this->data); + } + + /** + * @title 添加部门 + * + * @param Request $request + * @param Department $service + * @return void + */ + public function add(Request $request, DepartmentService $service){ + try { + $this->data['data'] = $service->create($request); + } catch (\Exception $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + + return response()->json($this->data); + } + + /** + * @title 修改部门 + * + * @param Request $request + * @param DepartmentService $service + * @return void + */ + public function edit(Request $request, DepartmentService $service){ + try { + $this->data['data'] = $service->update($request); + } catch (\Exception $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + + return response()->json($this->data); + } + + /** + * @title 删除部门 + * + * @param Request $request + * @param DepartmentService $service + * @return void + */ + public function delete(Request $request, DepartmentService $service){ + try { + $this->data['data'] = $service->delete($request); + } catch (\Exception $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + + return response()->json($this->data); + } +} diff --git a/app/Http/Controllers/Admin/Auth/Index.php b/app/Http/Controllers/Admin/Auth/Index.php new file mode 100644 index 0000000..83f286d --- /dev/null +++ b/app/Http/Controllers/Admin/Auth/Index.php @@ -0,0 +1,88 @@ + +// +---------------------------------------------------------------------- +namespace App\Http\Controllers\Admin\Auth; + +use App\Http\Controllers\BaseController; +use Illuminate\Support\Facades\Auth; +use Illuminate\Http\Request; +use Illuminate\Auth\Events\Login; + +class Index extends BaseController { + + /** + * @title 用户登录 + * + * @return \Illuminate\Http\JsonResponse + */ + public function login() { + $credentials = request(['username', 'password']); + + $token = auth('admin')->attempt($credentials); + + if (!$token) { + $this->data['code'] = 0; + $this->data['message'] = '登录失败!'; + }else{ + $this->data['code'] = 1; + $this->data['message'] = '登录成功!'; + $this->data['data'] = [ + 'access_token' => $token, + 'token_type' => 'bearer', + 'expires_in' => auth('admin')->factory()->getTTL() * 60 + ]; + event(new Login('admin', auth('admin')->user(), false)); + } + return response()->json($this->data); + } + + /** + * @title 获取用户信息 + * + * @return \Illuminate\Http\JsonResponse + */ + public function user() { + try { + $user = auth('admin')->userOrFail(); + $user->roles = $user->roles()->get(); + $this->data['data'] = $user; + } catch (\Tymon\JWTAuth\Exceptions\UserNotDefinedException $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + + return response()->json($this->data); + } + + /** + * @title 退出 + * @desc 退出 + * @method POST + * @param \Illuminate\Http\Request $request + * + * @return \Illuminate\Http\JsonResponse + */ + public function logout() { + auth('admin')->logout(); + $this->data['message'] = '退出成功'; + return response()->json($this->data); + } + + /** + * @title 刷新token + * @desc 刷新token + * @method POST + * @param \Illuminate\Http\Request $request + * + * @return \Illuminate\Http\JsonResponse + */ + public function refresh() { + $this->data['data'] = auth('admin')->refresh(); + return response()->json($this->data); + } +} diff --git a/app/Http/Controllers/Admin/Auth/Menu.php b/app/Http/Controllers/Admin/Auth/Menu.php new file mode 100644 index 0000000..09e12c6 --- /dev/null +++ b/app/Http/Controllers/Admin/Auth/Menu.php @@ -0,0 +1,103 @@ + +// +---------------------------------------------------------------------- +namespace App\Http\Controllers\Admin\Auth; + +use Illuminate\Http\Request; +use App\Http\Controllers\BaseController; +use App\Services\Auth\MenuService; + +class Menu extends BaseController { + + + /** + * @title 权限节点列表 + * + * @return \Illuminate\Http\JsonResponse + */ + public function index(Request $request, MenuService $service){ + try { + $this->data['data'] = $service->getDataList($request); + } catch (\Exception $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + + return response()->json($this->data); + } + + /** + * @title 获取我的权限节点 + * + * @return \Illuminate\Http\JsonResponse + */ + public function my(Request $request, MenuService $service){ + try { + $this->data['data'] = $service->getMyMenuList($request); + } catch (\Exception $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + + return response()->json($this->data); + } + + /** + * @title 添加权限节点 + * + * @param Request $request + * @param Department $service + * @return void + */ + public function add(Request $request, MenuService $service){ + try { + $this->data['data'] = $service->create($request); + } catch (\Exception $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + + return response()->json($this->data); + } + + /** + * @title 修改权限节点 + * + * @param Request $request + * @param MenuService $service + * @return void + */ + public function edit(Request $request, MenuService $service){ + try { + $this->data['data'] = $service->update($request); + } catch (\Exception $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + + return response()->json($this->data); + } + + /** + * @title 删除权限节点 + * + * @param Request $request + * @param MenuService $service + * @return void + */ + public function delete(Request $request, MenuService $service){ + try { + $this->data['data'] = $service->delete($request); + } catch (\Exception $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + + return response()->json($this->data); + } +} diff --git a/app/Http/Controllers/Admin/Auth/Role.php b/app/Http/Controllers/Admin/Auth/Role.php new file mode 100644 index 0000000..85ee6d0 --- /dev/null +++ b/app/Http/Controllers/Admin/Auth/Role.php @@ -0,0 +1,105 @@ + +// +---------------------------------------------------------------------- +namespace App\Http\Controllers\Admin\Auth; + +use Illuminate\Http\Request; +use App\Http\Controllers\BaseController; +use App\Services\Auth\RoleService; + +class Role extends BaseController { + + + /** + * @title 角色列表 + * + * @return \Illuminate\Http\JsonResponse + */ + public function index(Request $request, RoleService $service){ + try { + $this->data['data'] = $service->getDataList($request); + } catch (\Exception $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + + return response()->json($this->data); + } + + /** + * @title 添加角色 + * + * @param Request $request + * @param Department $service + * @return void + */ + public function add(Request $request, RoleService $service){ + try { + $this->data['data'] = $service->create($request); + } catch (\Exception $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + + return response()->json($this->data); + } + + /** + * @title 修改角色 + * + * @param Request $request + * @param RoleService $service + * @return void + */ + public function edit(Request $request, RoleService $service){ + try { + $this->data['data'] = $service->update($request); + } catch (\Exception $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + + return response()->json($this->data); + } + + /** + * @title 删除角色 + * + * @param Request $request + * @param RoleService $service + * @return void + */ + public function delete(Request $request, RoleService $service){ + try { + $this->data['data'] = $service->delete($request); + } catch (\Exception $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + + return response()->json($this->data); + } + + /** + * @title 角色权限 + * + * @param Request $request + * @param RoleService $service + * @return void + */ + public function auth(Request $request, RoleService $service){ + try { + $this->data['data'] = $service->auth($request); + } catch (\Exception $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + + return response()->json($this->data); + } +} diff --git a/app/Http/Controllers/Admin/Auth/Users.php b/app/Http/Controllers/Admin/Auth/Users.php new file mode 100644 index 0000000..ad3bc68 --- /dev/null +++ b/app/Http/Controllers/Admin/Auth/Users.php @@ -0,0 +1,123 @@ + +// +---------------------------------------------------------------------- +namespace App\Http\Controllers\Admin\Auth; + +use Illuminate\Http\Request; +use App\Http\Controllers\BaseController; +use App\Services\Auth\UsersService; + +class Users extends BaseController { + + + /** + * @title 用户列表 + * + * @return \Illuminate\Http\JsonResponse + */ + public function index(Request $request, UsersService $service){ + try { + $this->data['data'] = $service->getDataList($request); + } catch (\Exception $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + + return response()->json($this->data); + } + + /** + * @title 添加用户 + * + * @param Request $request + * @param UsersService $service + * @return void + */ + public function add(Request $request, UsersService $service){ + try { + $this->data['data'] = $service->create($request); + } catch (\Exception $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + + return response()->json($this->data); + } + + /** + * @title 修改用户 + * + * @param Request $request + * @param UsersService $service + * @return void + */ + public function edit(Request $request, UsersService $service){ + try { + $this->data['data'] = $service->update($request); + } catch (\Exception $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + + return response()->json($this->data); + } + + /** + * @title 删除用户 + * + * @param Request $request + * @param UsersService $service + * @return void + */ + public function delete(Request $request, UsersService $service){ + try { + $this->data['data'] = $service->delete($request); + } catch (\Exception $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + + return response()->json($this->data); + } + + /** + * @title 修改密码 + * + * @param Request $request + * @param UsersService $service + * @return void + */ + public function passwd(Request $request, UsersService $service){ + try { + $this->data['data'] = $service->upPassword($request); + } catch (\Exception $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + + return response()->json($this->data); + } + + /** + * @title 角色分配 + * + * @param Request $request + * @param UsersService $service + * @return void + */ + public function uprole(Request $request, UsersService $service){ + try { + $this->data['data'] = $service->uprole($request); + } catch (\Exception $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + + return response()->json($this->data); + } +} diff --git a/app/Http/Controllers/Admin/System/Area.php b/app/Http/Controllers/Admin/System/Area.php new file mode 100644 index 0000000..4e129a4 --- /dev/null +++ b/app/Http/Controllers/Admin/System/Area.php @@ -0,0 +1,67 @@ + +// +---------------------------------------------------------------------- +namespace App\Http\Controllers\Admin\System; + +use Illuminate\Http\Request; +use App\Http\Controllers\BaseController; +use App\Services\System\AreaService; + +class Area extends BaseController { + + /** + * @title 地区列表 + * + * @param Request $request + * @param AreaService $service + * @return void + */ + public function index(Request $request, AreaService $service){ + try { + $this->data['data'] = $service->getAreaList($request); + } catch (\Exception $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + return response()->json($this->data); + } + + /** + * @title 添加地区 + * + * @param Request $request + * @param AreaService $service + * @return void + */ + public function add(Request $request, AreaService $service){ + try { + $this->data['data'] = $service->create($request); + } catch (\Exception $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + return response()->json($this->data); + } + + /** + * @title 编辑地区 + * + * @param Request $request + * @param AreaService $service + * @return void + */ + public function edit(Request $request, AreaService $service){ + try { + $this->data['data'] = $service->update($request); + } catch (\Exception $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + return response()->json($this->data); + } +} diff --git a/app/Http/Controllers/Admin/System/Client.php b/app/Http/Controllers/Admin/System/Client.php new file mode 100644 index 0000000..a0ba758 --- /dev/null +++ b/app/Http/Controllers/Admin/System/Client.php @@ -0,0 +1,24 @@ + +// +---------------------------------------------------------------------- +namespace App\Http\Controllers\Admin\System; + +use Illuminate\Http\Request; +use App\Http\Controllers\BaseController; +use App\Traits\AdminController; +use App\Services\System\ClientService; + +class Client extends BaseController { + + use AdminController; + protected $service = null; + + public function __construct(ClientService $service) { + $this->service = $service; + } +} diff --git a/app/Http/Controllers/Admin/System/Crontab.php b/app/Http/Controllers/Admin/System/Crontab.php new file mode 100644 index 0000000..5555344 --- /dev/null +++ b/app/Http/Controllers/Admin/System/Crontab.php @@ -0,0 +1,34 @@ + +// +---------------------------------------------------------------------- +namespace App\Http\Controllers\Admin\System; + +use Illuminate\Http\Request; +use App\Http\Controllers\BaseController; +use App\Traits\AdminController; +use App\Services\System\CrontabService; + +class Crontab extends BaseController { + + use AdminController; + protected $service = null; + + public function __construct(CrontabService $service) { + $this->service = $service; + } + + public function reload(Request $request){ + try { + $this->data['data'] = $this->service->reload($request); + } catch (\Exception $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + return $this->data; + } +} diff --git a/app/Http/Controllers/Admin/System/Dict.php b/app/Http/Controllers/Admin/System/Dict.php new file mode 100644 index 0000000..aac77c2 --- /dev/null +++ b/app/Http/Controllers/Admin/System/Dict.php @@ -0,0 +1,175 @@ + +// +---------------------------------------------------------------------- +namespace App\Http\Controllers\Admin\System; + +use Illuminate\Http\Request; +use App\Http\Controllers\BaseController; +use App\Services\System\DictService; + +class Dict extends BaseController { + + /** + * @title 字典列表 + * + * @return void + */ + public function all(Request $request, DictService $service){ + try { + $this->data['data'] = $service->getDictionaryAll($request); + } catch (\Exception $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + return $this->data; + } + + /** + * @title 字典列表 + * + * @param Request $request + * @param DictService $service + * @return void + */ + public function lists(Request $request, DictService $service){ + try { + $this->data['data'] = $service->getDataList($request); + } catch (\Exception $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + + return response()->json($this->data); + } + + /** + * @title 字段分类 + * + * @param Request $request + * @param DictService $service + * @return void + */ + public function category(Request $request, DictService $service){ + try { + $this->data['data'] = $service->getCategoryList($request); + } catch (\Exception $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + + return response()->json($this->data); + } + + /** + * @title 添加字典 + * + * @param Request $request + * @param DictService $service + * @return void + */ + public function add(Request $request, DictService $service){ + try { + $this->data['data'] = $service->create($request); + } catch (\Exception $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + + return response()->json($this->data); + } + + /** + * @title 修改字典 + * + * @param Request $request + * @param DictService $service + * @return void + */ + public function edit(Request $request, DictService $service){ + try { + $this->data['data'] = $service->update($request); + } catch (\Exception $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + + return response()->json($this->data); + } + + /** + * @title 删除字典 + * + * @param Request $request + * @param DictService $service + * @return void + */ + public function delete(Request $request, DictService $service){ + try { + $this->data['data'] = $service->delete($request); + } catch (\Exception $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + + return response()->json($this->data); + } + + /** + * @title 添加字典分类 + * + * @param Request $request + * @param DictService $service + * @return void + */ + public function addcate(Request $request, DictService $service){ + try { + $this->data['data'] = $service->createCategory($request); + } catch (\Exception $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + + return response()->json($this->data); + } + + /** + * @title 修改字典分类 + * + * @param Request $request + * @param DictService $service + * @return void + */ + public function editcate(Request $request, DictService $service){ + try { + $this->data['data'] = $service->updateCategory($request); + } catch (\Exception $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + + return response()->json($this->data); + } + + /** + * @title 删除字典分类 + * + * @param Request $request + * @param DictService $service + * @return void + */ + public function deleteCate(Request $request, DictService $service){ + try { + $this->data['data'] = $service->deleteCategory($request); + } catch (\Exception $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + + return response()->json($this->data); + } +} diff --git a/app/Http/Controllers/Admin/System/File.php b/app/Http/Controllers/Admin/System/File.php new file mode 100644 index 0000000..70039cb --- /dev/null +++ b/app/Http/Controllers/Admin/System/File.php @@ -0,0 +1,179 @@ + +// +---------------------------------------------------------------------- +namespace App\Http\Controllers\Admin\System; + +use Illuminate\Http\Request; +use Illuminate\Support\Facades\Storage; +use App\Http\Controllers\BaseController; + +class File extends BaseController { + + /** + * @title 上传文件 + * + * @param Request $request + * @return void + */ + public function upload(Request $request){ + $type = $request->input('type', 'images'); + + try { + switch ($type) { + case 'avatar': + $this->data['data'] = $this->avatar($request); + break; + case 'images': + $this->data['data'] = $this->images($request); + break; + case 'files': + $this->data['data'] = $this->files($request); + break; + default: + $this->data['data'] = $this->images($request); + break; + } + } catch (\Throwable $th) { + $this->data['code'] = 0; + $this->data['message'] = $th->getMessage(); + } + return response()->json($this->data); + } + + /** + * @title 文件列表 + * + * @param Request $request + * @return void + */ + public function lists(Request $request){ + $path = $request->input('groupId', 'images'); + + $files = Storage::allFiles($path); + + $data = []; + foreach ($files as $key => $value) { + $data[] = [ + 'path' => $value, + 'url' => Storage::disk()->url($path), + 'name'=> explode('/', $value)[2], + ]; + } + $this->data['data'] = ['data' => $data]; + return response()->json($this->data); + } + + + /** + * @title 列表菜单 + * + * @return void + */ + public function menu(Request $request){ + $file = [ + ['id'=> 'images','title'=>'图片', 'children' => []], + ['id'=> 'files','title'=>'文件', 'children' => []], + ['id'=> 'videos','title'=>'视频', 'children' => []], + ['id'=> 'audios','title'=>'音频', 'children' => []], + ]; + + foreach ($file as $key => $value) { + $paths = Storage::disk()->allDirectories($value['id']); + foreach ($paths as $key => $value) { + $file[$key]['children'][] = ['id'=> $value, 'title'=>explode('/', $value)[1]]; + } + } + + $this->data['data'] = $file; + return response()->json($this->data); + } + + /** + * @title 删除文件 + * + * @return void + */ + public function delete(Request $request){ + return response()->json($this->data); + } + + /** + * @title 上传头像 + * + * @param Request $request + * @return void + */ + protected function avatar(Request $request){ + $file = $request->file('file'); + + if ($file->isValid()) { + $ext = $file->extension(); + $name = $file->hashName(); + + $path = $file->store('avatar/'.date('Ymd')); + + $data = [ + 'path' => $path, + 'url' => Storage::disk()->url($path), + 'src' => Storage::disk()->url($path), + 'name'=> $name, + 'size'=> $file->getSize(), + 'ext' => $ext, + ]; + return $data; + }else{ + throw new \Exception('上传失败'); + } + } + + protected function images(Request $request){ + $file = $request->file('file'); + + if ($file->isValid()) { + $ext = $file->extension(); + $name = $file->hashName(); + + $path = $file->store('images/'.date('Ymd')); + + $data = [ + 'path' => $path, + 'url' => Storage::disk()->url($path), + 'src' => Storage::disk()->url($path), + 'name'=> $name, + 'size'=> $file->getSize(), + 'ext' => $ext, + ]; + return $data; + }else{ + throw new \Exception('上传失败'); + } + } + + protected function files(Request $request){ + $file = $request->file('file'); + + if ($file->isValid()) { + $ext = $file->extension(); + $name = $file->hashName(); + + $path = $file->store('files/'.date('Ymd')); + + $data = [ + 'path' => $path, + 'url' => Storage::disk()->url($path), + 'src' => Storage::disk()->url($path), + 'name'=> $name, + 'size'=> $file->getSize(), + 'ext' => $ext, + ]; + return $data; + }else{ + throw new \Exception('上传失败'); + } + } +} diff --git a/app/Http/Controllers/Admin/System/Index.php b/app/Http/Controllers/Admin/System/Index.php new file mode 100644 index 0000000..f4b1d25 --- /dev/null +++ b/app/Http/Controllers/Admin/System/Index.php @@ -0,0 +1,59 @@ + +// +---------------------------------------------------------------------- +namespace App\Http\Controllers\Admin\System; + +use Illuminate\Http\Request; +use App\Http\Controllers\BaseController; + +class Index extends BaseController { + + /** + * @title 系统信息 + * + * @return void + */ + public function version(Request $request){ + $system_info_mysql = \Illuminate\Support\Facades\DB::select("select version() as v;"); + + $this->data['data'] = [ + ['label' => '系统核心版本', 'values' => env('VERSION', '0.0.1')], + ['label' => '服务器操作系统', 'values' => PHP_OS], + ['label' => '运行环境', 'values' => $_SERVER['SERVER_SOFTWARE']], + ['label' => 'MYSQL版本', 'values' => $system_info_mysql[0]->v], + ['label' => '上传限制', 'values' => '10'] + ]; + return response()->json($this->data); + } + + /** + * @title 系统信息 + * + * @return void + */ + public function info(Request $request){ + $this->data['data'] = [ + ['label' => '系统名称', 'values' => env('APP_NAME', 'LarAdmin')], + ['label' => '后端框架', 'values' => 'PHP8 + Laravel ' . \Illuminate\Foundation\Application::VERSION], + ['label' => '前端框架', 'values' => 'VITE + VUE3 + Element Plus'], + ['label' => '系统后台UI', 'values' => 'SentUI 1.0.0'], + ['label' => 'Development', 'values' => 'molong'] + ]; + return response()->json($this->data); + } + + /** + * @title 清理缓存 + * + * @return void + */ + public function clearcache(Request $request){ + $this->data['data'] = cache()->flush(); + return response()->json($this->data); + } +} diff --git a/app/Http/Controllers/Admin/System/Log.php b/app/Http/Controllers/Admin/System/Log.php new file mode 100644 index 0000000..8ab338c --- /dev/null +++ b/app/Http/Controllers/Admin/System/Log.php @@ -0,0 +1,68 @@ + +// +---------------------------------------------------------------------- +namespace App\Http\Controllers\Admin\System; + +use Illuminate\Http\Request; +use App\Http\Controllers\BaseController; +use App\Services\System\LogService; + +class Log extends BaseController { + + /** + * @title 日志列表 + * @param Request $request + * @param LogService $service + * @return \Illuminate\Http\JsonResponse + */ + public function index(Request $request, LogService $service){ + try { + $this->data['data'] = $service->getDataList($request); + } catch (\Exception $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + + return response()->json($this->data); + } + + /** + * @title 我的日志列表 + * @param Request $request + * @param LogService $service + * @return \Illuminate\Http\JsonResponse + */ + public function my(Request $request, LogService $service){ + try { + $request->merge(['is_my' => 1]); + $this->data['data'] = $service->getDataList($request); + } catch (\Exception $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + + return response()->json($this->data); + } + + /** + * @title 删除日志 + * @param Request $request + * @param LogService $service + * @return \Illuminate\Http\JsonResponse + */ + public function delete(Request $request, LogService $service){ + try { + $this->data['data'] = $service->delete($request); + } catch (\Exception $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + + return response()->json($this->data); + } +} diff --git a/app/Http/Controllers/Admin/System/Menu.php b/app/Http/Controllers/Admin/System/Menu.php new file mode 100644 index 0000000..fb3f816 --- /dev/null +++ b/app/Http/Controllers/Admin/System/Menu.php @@ -0,0 +1,24 @@ + +// +---------------------------------------------------------------------- +namespace App\Http\Controllers\Admin\System; + +use Illuminate\Http\Request; +use App\Http\Controllers\BaseController; +use App\Traits\AdminController; +use App\Services\System\ClientMenuService; + +class Menu extends BaseController { + + use AdminController; + protected $service = null; + + public function __construct(ClientMenuService $service) { + $this->service = $service; + } +} diff --git a/app/Http/Controllers/Admin/System/Modules.php b/app/Http/Controllers/Admin/System/Modules.php new file mode 100644 index 0000000..81ca5b0 --- /dev/null +++ b/app/Http/Controllers/Admin/System/Modules.php @@ -0,0 +1,34 @@ + +// +---------------------------------------------------------------------- +namespace App\Http\Controllers\Admin\System; + +use Illuminate\Http\Request; +use App\Http\Controllers\BaseController; +use App\Traits\AdminController; +use App\Services\System\ModulesService; + +class Modules extends BaseController { + + use AdminController; + protected $service = null; + + public function __construct(ModulesService $service) { + $this->service = $service; + } + + public function update(Request $request){ + try { + $this->data['data'] = $this->service->update($request); + } catch (\Throwable $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + return response()->json($this->data); + } +} diff --git a/app/Http/Controllers/Admin/System/Setting.php b/app/Http/Controllers/Admin/System/Setting.php new file mode 100644 index 0000000..8cba304 --- /dev/null +++ b/app/Http/Controllers/Admin/System/Setting.php @@ -0,0 +1,99 @@ + +// +---------------------------------------------------------------------- +namespace App\Http\Controllers\Admin\System; + +use Illuminate\Http\Request; +use App\Http\Controllers\BaseController; +use App\Services\System\SettingService; + +class Setting extends BaseController { + + /** + * @title 获取配置列表 + * + * @param Request $request + * @param SettingService $service + * @return void + */ + public function index(Request $request, SettingService $service){ + try { + $this->data['data'] = $service->getDataList($request); + } catch (\Exception $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + + return response()->json($this->data); + } + + /** + * @title 创建配置 + * + * @param Request $request + * @param SettingService $service + * @return void + */ + public function add(Request $request, SettingService $service){ + try { + $this->data['data'] = $service->create($request); + } catch (\Exception $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + + return response()->json($this->data); + } + + public function edit(Request $request, SettingService $service){ + try { + $this->data['data'] = $service->update($request); + } catch (\Exception $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + + return response()->json($this->data); + } + + /** + * @title 更新配置 + * + * @param Request $request + * @param SettingService $service + * @return void + */ + public function save(Request $request, SettingService $service){ + try { + $this->data['data'] = $service->saveSetting($request); + $this->data['message'] = "保存成功!"; + } catch (\Exception $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + + return response()->json($this->data); + } + + /** + * @title 获取配置字段 + * + * @param Request $request + * @param SettingService $service + * @return void + */ + public function fields(Request $request, SettingService $service){ + try { + $this->data['data'] = $service->getFields($request); + } catch (\Throwable $th) { + $this->data['code'] = 0; + $this->data['message'] = $th->getMessage(); + } + return response()->json($this->data); + } +} diff --git a/app/Http/Controllers/Admin/System/Tasks.php b/app/Http/Controllers/Admin/System/Tasks.php new file mode 100644 index 0000000..364566a --- /dev/null +++ b/app/Http/Controllers/Admin/System/Tasks.php @@ -0,0 +1,88 @@ + +// +---------------------------------------------------------------------- +namespace App\Http\Controllers\Admin\System; + +use Illuminate\Http\Request; +use App\Http\Controllers\BaseController; +use App\Services\System\TasksService; + +class Tasks extends BaseController { + + /** + * @title 任务列表 + * + * @param Request $request + * @param TasksService $service + * @return void + */ + public function index(Request $request, TasksService $service){ + try { + $this->data['data'] = $service->getDataList($request); + } catch (\Exception $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + + return response()->json($this->data); + } + + /** + * @title 添加任务 + * + * @param Request $request + * @param TasksService $service + * @return void + */ + public function add(Request $request, TasksService $service){ + try { + $this->data['data'] = $service->create($request); + } catch (\Exception $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + + return response()->json($this->data); + } + + /** + * @title 编辑任务 + * + * @param Request $request + * @param TasksService $service + * @return void + */ + public function edit(Request $request, TasksService $service){ + try { + $this->data['data'] = $service->update($request); + } catch (\Exception $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + + return response()->json($this->data); + } + + /** + * @title 删除任务 + * + * @param Request $request + * @param TasksService $service + * @return void + */ + public function delete(Request $request, TasksService $service){ + try { + $this->data['data'] = $service->delete($request); + } catch (\Exception $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + + return response()->json($this->data); + } +} diff --git a/app/Http/Controllers/Api/System/Area.php b/app/Http/Controllers/Api/System/Area.php new file mode 100644 index 0000000..ffda325 --- /dev/null +++ b/app/Http/Controllers/Api/System/Area.php @@ -0,0 +1,34 @@ + +// +---------------------------------------------------------------------- +namespace App\Http\Controllers\Api\System; + +use Illuminate\Http\Request; +use App\Http\Controllers\BaseController; +use App\Services\System\AreaService; + +class Area extends BaseController { + + /** + * @title 获取地区数据 + * + * @param Request $request + * @return void + */ + public function index(Request $request, AreaService $service){ + try { + $this->data['data'] = $service->getDataList($request); + } catch (\Exception $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + + return response()->json($this->data); + } + +} diff --git a/app/Http/Controllers/Api/System/Index.php b/app/Http/Controllers/Api/System/Index.php new file mode 100644 index 0000000..19acfd2 --- /dev/null +++ b/app/Http/Controllers/Api/System/Index.php @@ -0,0 +1,34 @@ + +// +---------------------------------------------------------------------- +namespace App\Http\Controllers\Api\System; + +use Illuminate\Http\Request; +use App\Http\Controllers\BaseController; +use App\Services\System\QrcodeService; + +class Index extends BaseController { + + /** + * @title 生成二维码 + * + * @param Request $request + * @return void + */ + public function qrcode(Request $request, QrcodeService $service){ + try { + $this->data['data'] = $service->getQrcode($request); + } catch (\Exception $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + + return response()->json($this->data); + } + +} diff --git a/app/Http/Controllers/BaseController.php b/app/Http/Controllers/BaseController.php new file mode 100644 index 0000000..7dc700b --- /dev/null +++ b/app/Http/Controllers/BaseController.php @@ -0,0 +1,25 @@ + +// +---------------------------------------------------------------------- +namespace App\Http\Controllers; + +use Illuminate\Http\Request; +use Illuminate\Support\Facades\Http; +use Illuminate\Support\Facades\Process; + +class BaseController { + + protected $data = ['code' => 1, 'message' => 'success', 'data' => []]; + + public function __construct(Request $request){ + if ($request->filled('page')) { + $offset = ($request->input('page', 1) - 1) * $request->input('limit', 30); + $request->mergeIfMissing(['offset' => $offset]); + } + } +} diff --git a/app/Http/Controllers/Controller.php b/app/Http/Controllers/Controller.php new file mode 100644 index 0000000..8677cd5 --- /dev/null +++ b/app/Http/Controllers/Controller.php @@ -0,0 +1,8 @@ + +// +---------------------------------------------------------------------- +namespace App\Http\Middleware; + +use Closure; +use Illuminate\Http\Request; +use Symfony\Component\HttpFoundation\Response; +use App\Services\System\LogService; +use Illuminate\Support\Facades\Log; + +class AuthCheckMiddleware { + + public function handle(Request $request, Closure $next, string $guard = 'admin'): Response { + $response = $next($request); + if (auth($guard)->check()) { + if($guard == 'admin'){ + app(LogService::class)->createLog($request); + } + return $response; + }else{ + return response()->json(['code' => 2000, 'message' => '未登录,请重新登录!']); + } + } +} diff --git a/app/Listeners/AdminLogin.php b/app/Listeners/AdminLogin.php new file mode 100644 index 0000000..8de5934 --- /dev/null +++ b/app/Listeners/AdminLogin.php @@ -0,0 +1,33 @@ + +// +---------------------------------------------------------------------- +namespace App\Listeners; + +use Illuminate\Auth\Events\Login; +use App\Models\Auth\Admin; + +class AdminLogin { + + /** + * Create the event listener. + */ + public function __construct() { + // + } + + /** + * Handle the event. + */ + public function handle(Login $event): void { + $admin = $event->user; + + $admin->last_login_ip = request()->ip(); + $admin->last_login_at = date('Y-m-d H:i:s'); + $admin->save(); + } +} diff --git a/app/Models/Auth/Admin.php b/app/Models/Auth/Admin.php new file mode 100644 index 0000000..347418b --- /dev/null +++ b/app/Models/Auth/Admin.php @@ -0,0 +1,60 @@ + +// +---------------------------------------------------------------------- +namespace App\Models\Auth; + +use Tymon\JWTAuth\Contracts\JWTSubject; +use Illuminate\Notifications\Notifiable; +use Illuminate\Foundation\Auth\User as Authenticatable; +use Illuminate\Database\Eloquent\Casts\Attribute; +use Illuminate\Support\Facades\Hash; +use App\Traits\ModelTrait; + +class Admin extends Authenticatable implements JWTSubject { + use Notifiable, ModelTrait; + + protected $table = 'auth_admins'; + protected $primaryKey = 'uid'; + protected $fillable = ['username', 'nickname', 'email', 'mobile', 'password', 'department_id', 'status', 'last_login_at', 'last_login_ip']; + protected $hidden = ['password', 'deleted_at']; + protected $with = ['department', 'roles']; + + // Rest omitted for brevity + + /** + * Get the identifier that will be stored in the subject claim of the JWT. + * + * @return mixed + */ + public function getJWTIdentifier() { + return $this->getKey(); + } + + /** + * Return a key value array, containing any custom claims to be added to the JWT. + * + * @return array + */ + public function getJWTCustomClaims() { + return []; + } + + public function password() : Attribute { + return new Attribute( + set: fn ($value) => Hash::make($value), + ); + } + + public function department(){ + return $this->belongsTo(Department::class, 'department_id', 'id'); + } + + public function roles(){ + return $this->belongsToMany(Role::class, 'auth_admins_roles', 'uid', 'role_id'); + } +} diff --git a/app/Models/Auth/Department.php b/app/Models/Auth/Department.php new file mode 100644 index 0000000..3bc756f --- /dev/null +++ b/app/Models/Auth/Department.php @@ -0,0 +1,27 @@ + +// +---------------------------------------------------------------------- +namespace App\Models\Auth; + +class Department extends \App\Models\BaseModel { + + protected $table = 'auth_departments'; + protected $fillable = ['title', 'name', 'parent_id', 'status', 'sort']; + protected $hidden = ['deleted_at']; + + protected function casts(): array { + return [ + 'parent_id' => 'integer', + 'sort' => 'integer', + ]; + } + + public function members(){ + return $this->hasMany(Admin::class, 'department_id', 'uid'); + } +} diff --git a/app/Models/Auth/Permission.php b/app/Models/Auth/Permission.php new file mode 100644 index 0000000..5b167c2 --- /dev/null +++ b/app/Models/Auth/Permission.php @@ -0,0 +1,39 @@ + +// +---------------------------------------------------------------------- +namespace App\Models\Auth; + +use Illuminate\Database\Eloquent\Casts\Attribute; + +class Permission extends \App\Models\BaseModel { + + protected $table = 'auth_permissions'; + protected $fillable = ['title', 'name', 'parent_id', 'hiddenBreadcrumb', 'hidden', 'affix', 'color', 'fullpage', 'icon', 'status', 'sort']; + protected $hidden = ['deleted_at']; + + public function meta() : Attribute { + return Attribute::make( + get: fn (mixed $value, array $data) => [ + 'id' => $data['id'], + 'parent_id' => $data['parent_id'], + 'title' => $data['title'], + 'hiddenBreadcrumb' => $data['hiddenBreadcrumb'], + 'hidden' => $data['hidden'], + 'affix' => $data['affix'], + 'color' => $data['color'], + 'fullpage' => $data['fullpage'], + 'icon' => isset($data['icon']) && $data['icon'] ? $data['icon'] : 'el-icon-document', + // 'icon' => isset($data['icon']) && $data['icon'] ? $data['icon'] : 'AIconFileTextOutlined', + ], + ); + } + + public function roles(){ + return $this->belongsToMany(Role::class, 'auth_roles_permissions', 'permission_id', 'role_id'); + } +} diff --git a/app/Models/Auth/Role.php b/app/Models/Auth/Role.php new file mode 100644 index 0000000..744751c --- /dev/null +++ b/app/Models/Auth/Role.php @@ -0,0 +1,23 @@ + +// +---------------------------------------------------------------------- +namespace App\Models\Auth; + +class Role extends \App\Models\BaseModel { + + protected $table = 'auth_roles'; + protected $fillable = ['title', 'name', 'data_range', 'sort', 'status', 'description']; + protected $hidden = ['deleted_at']; + + public function admins(){ + return $this->belongsToMany(Admin::class, 'auth_admins_roles', 'role_id', 'uid'); + } + public function permissions(){ + return $this->belongsToMany(Permission::class, 'auth_roles_permissions', 'role_id', 'permission_id'); + } +} diff --git a/app/Models/BaseModel.php b/app/Models/BaseModel.php new file mode 100644 index 0000000..697a4ad --- /dev/null +++ b/app/Models/BaseModel.php @@ -0,0 +1,46 @@ + +// +---------------------------------------------------------------------- +namespace App\Models; + +use Illuminate\Database\Eloquent\Model; +use Illuminate\Support\Facades\Schema; + +class BaseModel extends Model { + + protected $dateFormat = 'Y-m-d H:i:s'; + + protected function casts(): array { + return [ + 'created_at' => 'datetime:Y-m-d H:i:s', + 'updated_at' => 'datetime:Y-m-d H:i:s', + 'deleted_at' => 'datetime:Y-m-d H:i:s', + ]; + } + + protected function serializeDate($data){ + return $data->timezone('Asia/Shanghai')->format('Y-m-d H:i:s'); + } + /** + * 过滤移除非当前表的字段参数 + * + * @param array $params + * + * @return array + */ + public function setFilterFields(array $params) : array { + $fields = Schema::getColumnListing($this->getTable()); + foreach ($params as $key => $param) { + if ( !in_array($key, $fields) ) unset($params[$key]); + } + // 同时过滤时间戳字段【时间戳只允许自动更改,不允许手动设置】 + if ( $this->timestamps === true && isset($params[self::CREATED_AT]) ) unset($params[self::CREATED_AT]); + if ( $this->timestamps === true && isset($params[self::UPDATED_AT]) ) unset($params[self::UPDATED_AT]); + return $params; + } +} diff --git a/app/Models/System/Area.php b/app/Models/System/Area.php new file mode 100644 index 0000000..55b1cf0 --- /dev/null +++ b/app/Models/System/Area.php @@ -0,0 +1,16 @@ + +// +---------------------------------------------------------------------- +namespace App\Models\System; + +class Area extends \App\Models\BaseModel { + + protected $table = 'system_areas'; + protected $fillable = ['title', 'parent_id', 'status']; + protected $hidden = ['deleted_at']; +} diff --git a/app/Models/System/Client.php b/app/Models/System/Client.php new file mode 100644 index 0000000..08c3487 --- /dev/null +++ b/app/Models/System/Client.php @@ -0,0 +1,39 @@ + +// +---------------------------------------------------------------------- +namespace App\Models\System; + +use Illuminate\Database\Eloquent\Casts\Attribute; + +class Client extends \App\Models\BaseModel { + + protected $table = 'system_client'; + protected $fillable = ['title', 'app_id', 'secret', 'redirect', 'status']; + + protected function casts(): array { + return [ + 'status' => 'integer', + ]; + } + + public function appId() : Attribute { + return Attribute::make( + set: function (mixed $value, array $data){ + return uniqid(); + } + ); + } + + public function secret() : Attribute { + return Attribute::make( + set: function (mixed $value, array $data){ + return md5(uniqid()); + } + ); + } +} diff --git a/app/Models/System/ClientMenu.php b/app/Models/System/ClientMenu.php new file mode 100644 index 0000000..770a64d --- /dev/null +++ b/app/Models/System/ClientMenu.php @@ -0,0 +1,27 @@ + +// +---------------------------------------------------------------------- +namespace App\Models\System; + +use Illuminate\Database\Eloquent\Casts\Attribute; + +class ClientMenu extends \App\Models\BaseModel { + + protected $table = 'system_client_menu'; + protected $with = ['client']; + + protected function casts(): array { + return [ + 'status' => 'integer', + 'sort' => 'integer', + ]; + } + public function client(){ + return $this->belongsTo(Client::class, 'client_id', 'id'); + } +} diff --git a/app/Models/System/Config.php b/app/Models/System/Config.php new file mode 100644 index 0000000..0994f97 --- /dev/null +++ b/app/Models/System/Config.php @@ -0,0 +1,45 @@ + +// +---------------------------------------------------------------------- +namespace App\Models\System; + +use Illuminate\Database\Eloquent\Casts\Attribute; + +class Config extends \App\Models\BaseModel { + + protected $table = 'system_configs'; + protected $fillable = ['values', 'name', 'title', 'group', 'remark', 'type', 'status', 'sort']; + protected $hidden = ['deleted_at']; + + protected function casts(): array { + return [ + 'option' => 'json', + ]; + } + + public function options(): Attribute { + return Attribute::make( + get: fn (mixed $value, array $data) => [ + 'placeholder' => $data['title'], + 'options' => $data['option'] ? json_decode($data['option'], true) : [], + ], + ); + } + + public function label() : Attribute { + return Attribute::make( + get: fn (mixed $value, array $data) => $data['title'], + ); + } + + public function prop() : Attribute { + return Attribute::make( + get: fn (mixed $value, array $data) => $data['title'], + ); + } +} diff --git a/app/Models/System/Crontab.php b/app/Models/System/Crontab.php new file mode 100644 index 0000000..1fa00b5 --- /dev/null +++ b/app/Models/System/Crontab.php @@ -0,0 +1,24 @@ + +// +---------------------------------------------------------------------- +namespace App\Models\System; + +use Illuminate\Database\Eloquent\Casts\Attribute; + +class Crontab extends \App\Models\BaseModel { + + protected $table = 'system_crontabs'; + protected $fillable = []; + protected $hidden = ['deleted_at']; + + protected function casts(): array { + return [ + 'status' => 'integer', + ]; + } +} diff --git a/app/Models/System/Dict.php b/app/Models/System/Dict.php new file mode 100644 index 0000000..8846302 --- /dev/null +++ b/app/Models/System/Dict.php @@ -0,0 +1,22 @@ + +// +---------------------------------------------------------------------- +namespace App\Models\System; + +use Illuminate\Database\Eloquent\Casts\Attribute; + +class Dict extends \App\Models\BaseModel { + + protected $table = 'system_dicts'; + protected $fillable = ['title', 'values', 'group_id', 'group_name', 'sort', 'status']; + protected $hidden = ['deleted_at']; + + public function group(){ + return $this->belongsTo(DictGroup::class, 'group_id', 'id'); + } +} diff --git a/app/Models/System/DictGroup.php b/app/Models/System/DictGroup.php new file mode 100644 index 0000000..f9a99e1 --- /dev/null +++ b/app/Models/System/DictGroup.php @@ -0,0 +1,25 @@ + +// +---------------------------------------------------------------------- +namespace App\Models\System; + +class DictGroup extends \App\Models\BaseModel { + + protected $table = 'system_dict_groups'; + protected $fillable = ['title', 'name', 'parent_id', 'sort', 'status']; + protected $hidden = ['deleted_at']; + + protected function casts(): array { + return [ + 'parent_id' => 'integer', + 'status' => 'integer', + 'sort' => 'integer', + ]; + } + +} diff --git a/app/Models/System/Log.php b/app/Models/System/Log.php new file mode 100644 index 0000000..68926f1 --- /dev/null +++ b/app/Models/System/Log.php @@ -0,0 +1,22 @@ + +// +---------------------------------------------------------------------- +namespace App\Models\System; + +use App\Models\Auth\Admin; + +class Log extends \App\Models\BaseModel { + + protected $table = 'system_logs'; + protected $fillable = ['title', 'name', 'url', 'method', 'client_ip', 'browser', 'user_id', 'data', 'remark', 'status']; + protected $hidden = ['deleted_at']; + + public function user() { + return $this->belongsTo(Admin::class, 'user_id', 'uid'); + } +} diff --git a/app/Models/System/Modules.php b/app/Models/System/Modules.php new file mode 100644 index 0000000..32a6a2c --- /dev/null +++ b/app/Models/System/Modules.php @@ -0,0 +1,13 @@ + +// +---------------------------------------------------------------------- +namespace App\Models\System; + +class Modules extends \App\Models\BaseModel { + // +} diff --git a/app/Models/System/Tasks.php b/app/Models/System/Tasks.php new file mode 100644 index 0000000..eb91f8b --- /dev/null +++ b/app/Models/System/Tasks.php @@ -0,0 +1,31 @@ + +// +---------------------------------------------------------------------- +namespace App\Models\System; + +use Illuminate\Database\Eloquent\Casts\Attribute; +use Illuminate\Support\Facades\Storage; +use App\Models\Auth\Admin; + +class Tasks extends \App\Models\BaseModel { + + protected $table = 'system_tasks'; + protected $fillable = []; + protected $hidden = ['deleted_at']; + protected $append = ['url']; + + public function url(): Attribute{ + return Attribute::make( + get: fn (mixed $value, array $data) => Storage::disk('public')->url($data['file']), + ); + } + + public function user() { + return $this->belongsTo(Admin::class, 'user_id', 'uid'); + } +} diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php new file mode 100644 index 0000000..9d453bb --- /dev/null +++ b/app/Providers/AppServiceProvider.php @@ -0,0 +1,26 @@ +alias('Debugbar', \Barryvdh\Debugbar\Facades\Debugbar::class); + } + + /** + * Bootstrap any application services. + */ + public function boot(): void + { + // + } +} diff --git a/app/Services/Auth/DepartmentService.php b/app/Services/Auth/DepartmentService.php new file mode 100644 index 0000000..71050c5 --- /dev/null +++ b/app/Services/Auth/DepartmentService.php @@ -0,0 +1,127 @@ + +// +---------------------------------------------------------------------- +namespace App\Services\Auth; + +use App\Models\Auth\Department; +use App\Support\Tree; + +class DepartmentService { + + /** + * @title 获取部门列表 + * + * @param [type] $request + * @return void + */ + public function getDataList($request) { + $map = []; + + if ($request->filled('title')) { + $map[] = ['title', 'like', '%' . $request->input('title') . '%']; + } + if ($request->filled('name')) { + $map[] = ['name', 'like', '%' . $request->input('name') . '%']; + } + if ($request->filled('pid')) { + $map[] = ['parent_id', '=', $request->input('pid')]; + } + + $query = Department::where($map)->orderBy('id', 'desc'); + + if($request->filled('is_tree') && $request->filled('is_tree') == 1){ + $query = $query->get()->toArray(); + $tree = new Tree(); + $data = $tree->list_to_tree($query, 0, 'id', 'parent_id'); + }else{ + $data = [ + 'total' => $query->count(), + 'page' => $request->input('page', 1), + 'data' => $query->offset($request->input('offset', 0))->limit($request->input('limit', 10))->get(), + ]; + } + return $data; + } + + /** + * @title 添加部门 + * + * @param [type] $request + * @return void + */ + public function create($request) { + $request->validate([ + 'title' => 'required|unique:auth_departments', + 'name' => 'required|unique:auth_departments', + ]); + $data = $request->all(); + $data['status'] = 1; + + return Department::create($data); + } + + /** + * @title 修改部门 + * + * @param [type] $request + * @return void + */ + public function update($request) { + try { + $department = Department::findOrFail($request->input('id')); + } catch (\Throwable $th) { + throw new \Exception("部门不存在!", 1); + } + + if ($request->filled('title')) { + $department->title = $request->input('title'); + } + if ($request->filled('name')) { + $department->name = $request->input('name'); + } + if ($request->filled('parent_id')) { + $department->parent_id = $request->input('parent_id'); + } + if ($request->filled('status')) { + $department->status = $request->input('status'); + } + if ($request->filled('sort')) { + $department->sort = $request->input('sort'); + } + + $department->save(); + return $department; + } + + /** + * @title 删除部门 + * + * @param [type] $request + * @return void + */ + public function delete($request) { + if($request->filled('id')){ + try { + $department = Department::findOrFail($request->input('id')); + } catch (\Throwable $th) { + throw new \Exception("角色不存在!", 1); + } + $department->delete(); + } + if($request->filled('ids')){ + try { + $ids = $request->input('ids'); + $department = Department::whereIn('id', $ids)->delete(); + } catch (\Throwable $th) { + throw new \Exception($th->getMessage(), 1); + } + } + + return $department; + } +} diff --git a/app/Services/Auth/MenuService.php b/app/Services/Auth/MenuService.php new file mode 100644 index 0000000..85bc98c --- /dev/null +++ b/app/Services/Auth/MenuService.php @@ -0,0 +1,193 @@ + +// +---------------------------------------------------------------------- +namespace App\Services\Auth; + +use App\Models\Auth\Permission; +use App\Models\Auth\Admin; +use App\Support\Tree; + +class MenuService { + + /** + * @title 获取权限节点列表 + * + * @param [type] $request + * @return void + */ + public function getDataList($request) { + $map = []; + + if ($request->filled('title')) { + $map[] = ['title', 'like', '%' . $request->input('title') . '%']; + } + if ($request->filled('name')) { + $map[] = ['name', 'like', '%' . $request->input('name') . '%']; + } + if ($request->filled('pid')) { + $map[] = ['parent_id', '=', $request->input('pid')]; + } + + $query = Permission::where($map)->orderBy('sort', 'asc')->orderBy('id', 'desc'); + + + if($request->filled('is_tree') && $request->filled('is_tree') == 1){ + $query = $query->get()->toArray(); + $tree = new Tree(); + $data = $tree->list_to_tree($query, 0, 'id', 'parent_id'); + }else{ + $data = [ + 'total' => $query->count(), + 'page' => $request->input('page', 1), + 'data' => $query->offset($request->input('offset', 0))->limit($request->input('limit', 10))->get(), + ]; + } + return $data; + } + + /** + * @title 获取我的权限节点 + * + * @param [type] $request + * @return void + */ + public function getMyMenuList($request){ + $map = []; + $data = []; + $uid = auth('admin')->user()['uid']; + + $tree = new Tree(); + if($uid != env('ADMIN_ID', 1)){ + $map[] = ['uid', '=', $uid]; + + $admin = Admin::with(['roles'])->where($map)->first(); + $permission = []; + $menu = []; + foreach ($admin->roles as $key => $role) { + $menu = array_merge($menu, $role->permissions->append(['meta'])->toArray()); + $permission = array_merge($permission, $role->permissions->pluck('name')->toArray()); + } + $data = [ + 'menu' => $tree->list_to_tree($menu, 0, 'id', 'parent_id'), + 'permissions' => $permission + ]; + }else{ + $query = Permission::where($map)->orderBy('sort', 'asc'); + + $data = [ + 'menu' => $tree->list_to_tree($query->where('type', '=', 'menu')->get()->append(['meta'])->toArray(), 0, 'id', 'parent_id'), + 'permissions' => $query->pluck('name') + ]; + } + + return $data; + } + + /** + * @title 添加权限节点 + * + * @param [type] $request + * @return void + */ + public function create($request) { + $request->validate([ + 'title' => 'required|unique:auth_permissions', + 'name' => 'required|unique:auth_permissions', + ]); + $data = $request->all(); + $data['status'] = 1; + + return Permission::create($data); + } + + /** + * @title 修改权限节点 + * + * @param [type] $request + * @return void + */ + public function update($request) { + try { + $permission = Permission::findOrFail($request->input('id')); + } catch (\Throwable $th) { + throw new \Exception("权限节点不存在!", 1); + } + + $data = $request->all(); + foreach ($data as $key => $value) { + if (in_array($key, ['affix', 'color', 'component', 'fullpage', 'hidden', 'hiddenBreadcrumb', 'icon', 'name', 'parent_id', 'redirect', 'sort', 'title', 'type', 'path', 'status'])) { + $permission->$key = $value; + } + } + + $permission->save(); + return $permission; + } + + /** + * @title 删除权限节点 + * + * @param [type] $request + * @return void + */ + public function delete($request) { + if($request->filled('id')){ + try { + $permission = Permission::findOrFail($request->input('id')); + } catch (\Throwable $th) { + throw new \Exception("权限节点不存在!", 1); + } + + $permission->roles()->detach(); + $permission->delete(); + } + if($request->filled('ids')){ + try { + $permission = Permission::whereIn('id', $request->input('ids')); + foreach ($permission->get() as $item) { + $item->roles()->detach(); + } + $permission->delete(); + } catch (\Throwable $th) { + throw new \Exception($th->getMessage(), 1); + } + } + + return $permission; + } + + /** + * @title 批量导入 + * + * @param [array] $data + * @return void + */ + public function importMenu($data, $parent_id = 0){ + foreach ($data as $key => $value) { + $save = [ + 'title' => $value['title'], + 'name' => $value['name'], + 'path' => $value['path'], + 'component' => $value['component'], + 'type' => $value['type'], + 'affix' => isset($value['affix']) ? $value['affix'] : 0, + 'parent_id' => $parent_id, + 'status' => 1, + 'sort' => isset($value['sort']) ? $value['sort'] : $key, + 'icon' => isset($value['icon']) ? $value['icon'] : '', + 'hidden' => isset($value['hidden']) ? $value['hidden'] : 0, + 'created_at' => date('Y-m-d H:i:s'), + 'updated_at' => date('Y-m-d H:i:s'), + ]; + $res = Permission::insertGetId($save); + if (isset($value['children']) && !empty($value['children'])) { + $this->importMenu($value['children'], $res); + } + } + } +} diff --git a/app/Services/Auth/RoleService.php b/app/Services/Auth/RoleService.php new file mode 100644 index 0000000..dce32dd --- /dev/null +++ b/app/Services/Auth/RoleService.php @@ -0,0 +1,159 @@ + +// +---------------------------------------------------------------------- +namespace App\Services\Auth; + +use App\Models\Auth\Role; +use App\Support\Tree; + +class RoleService { + + /** + * @title 获取角色列表 + * + * @param [type] $request + * @return void + */ + public function getDataList($request) { + $map = []; + + if ($request->filled('title')) { + $map[] = ['title', 'like', '%' . $request->input('title') . '%']; + } + if ($request->filled('name')) { + $map[] = ['name', 'like', '%' . $request->input('name') . '%']; + } + + $query = Role::with(['permissions'])->where($map)->orderBy('id', 'desc'); + + if($request->filled('is_tree') && $request->filled('is_tree') == 1){ + $query = $query->get()->toArray(); + $tree = new Tree(); + $data = $tree->list_to_tree($query, 0, 'id', 'parent_id'); + }else{ + if ($request->filled('page')){ + $data = [ + 'total' => $query->count(), + 'page' => $request->input('page', 1), + 'data' => $query->offset($request->input('offset', 0))->limit($request->input('limit', 10))->get(), + ]; + }else{ + $data = $query->get(); + } + } + return $data; + } + + /** + * @title 添加角色 + * + * @param [type] $request + * @return void + */ + public function create($request) { + $request->validate([ + 'title' => 'required|unique:auth_roles', + 'name' => 'required|alpha_dash:ascii|unique:auth_roles', + ]); + $data = $request->all(); + $data['status'] = 1; + + return Role::create($data); + } + + /** + * @title 修改角色 + * + * @param [type] $request + * @return void + */ + public function update($request) { + $request->validate([ + 'title' => 'required|unique:auth_roles,title,' . $request->input('id'), + 'name' => 'required|alpha_dash:ascii|unique:auth_roles,name,' . $request->input('id'), + ]); + try { + $role = Role::findOrFail($request->input('id')); + } catch (\Throwable $th) { + throw new \Exception("角色不存在!", 1); + } + + if ($request->filled('title')) { + $role->title = $request->input('title'); + } + if ($request->filled('name')) { + $role->name = $request->input('name'); + } + if ($request->filled('status')) { + $role->status = $request->input('status'); + } + if ($request->filled('sort')) { + $role->sort = $request->input('sort'); + } + + $role->save(); + return $role; + } + + /** + * @title 删除角色 + * + * @param [type] $request + * @return void + */ + public function delete($request) { + if($request->filled('id')){ + try { + $role = Role::findOrFail($request->input('id')); + } catch (\Throwable $th) { + throw new \Exception("角色不存在!", 1); + } + $role->permissions()->detach(); + $role->admins()->detach(); + $role->delete(); + } + if($request->filled('ids')){ + try { + $role = Role::whereIn('id', $request->input('ids')); + foreach ($role->get() as $item) { + $item->permissions()->detach(); //删除关联 + $item->admins()->detach(); //删除关联 + } + + $role->delete(); + } catch (\Throwable $th) { + throw new \Exception($th->getMessage(), 1); + } + } + + return $role; + } + + /** + * @title 角色授权 + * + * @param [type] $request + * @return void + */ + public function auth($request){ + try { + $role = Role::with(['permissions'])->findOrFail($request->input('id')); + } catch (\Throwable $th) { + throw new \Exception("角色不存在!", 1); + } + + + if($request->filled('data_range')){ + $role->data_range = $request->input('data_range'); + } + + $role->permissions()->sync($request->input('permissions')); + $role->save(); + return $role; + } +} diff --git a/app/Services/Auth/UsersService.php b/app/Services/Auth/UsersService.php new file mode 100644 index 0000000..a79c935 --- /dev/null +++ b/app/Services/Auth/UsersService.php @@ -0,0 +1,194 @@ + +// +---------------------------------------------------------------------- +namespace App\Services\Auth; + +use App\Models\Auth\Admin; + +class UsersService { + + /** + * @title 获取用户列表 + * + * @param [type] $request + * @return void + */ + public function getDataList($request) { + $map = []; + + if ($request->filled('username')) { + $map[] = ['username', 'like', '%' . $request->input('username') . '%']; + } + if ($request->filled('mobile')) { + $map[] = ['mobile', 'like', '%' . $request->input('mobile') . '%']; + } + if ($request->filled('email')) { + $map[] = ['email', 'like', '%' . $request->input('email') . '%']; + } + if ($request->filled('department_id')) { + $map[] = ['department_id', '=', $request->input('department_id')]; + } + + $query = Admin::where($map)->orderBy('uid', 'desc'); + + $data = [ + 'total' => $query->count(), + 'page' => $request->input('page', 1), + 'data' => $query->offset($request->input('offset', 0))->limit($request->input('limit', 10))->get(), + ]; + return $data; + } + + /** + * @title 添加用户 + * + * @param [type] $request + * @return void + */ + public function create($request) { + $request->validate([ + 'username' => 'required|unique:auth_admins,username', + // 'email' => 'required|unique:auth_admins', + // 'mobile' => 'required|unique:auth_admins', + 'password' => 'required|min:8', + ]); + + $data = $request->all(); + $data['status'] = 1; + $data['last_login_at'] = date('Y-m-d H:i:s'); + $data['last_login_ip'] = $request->ip(); + + $admins = Admin::create($data); + $request->whenFilled('roles_id', function ($value) use ($admins) { + $admins->roles()->sync($value); + }); + return $admins; + } + + /** + * @title 修改用户 + * + * @param [type] $request + * @return void + */ + public function update($request) { + $request->validate([ + 'username' => 'required|unique:auth_admins,username,' . $request->input('uid').',uid', + ]); + try { + $admins = Admin::findOrFail($request->input('uid')); + } catch (\Throwable $th) { + throw new \Exception("用户不存在!", 1); + } + + if ($request->filled('username')) { + $admins->username = $request->input('username'); + } + if ($request->filled('email')) { + $admins->email = $request->input('email'); + } + if ($request->filled('mobile')) { + $admins->mobile = $request->input('mobile'); + } + if ($request->filled('nickname')) { + $admins->nickname = $request->input('nickname'); + } + if ($request->filled('department_id')) { + $admins->department_id = $request->input('department_id'); + } + if ($request->filled('avatar')) { + $admins->avatar = $request->input('avatar'); + } + if ($request->filled('remark')) { + $admins->remark = $request->input('remark'); + } + if ($request->filled('status')) { + $admins->status = $request->input('status'); + } + if ($request->filled('password')) { + $admins->password = $request->input('password'); + } + $request->whenFilled('roles_id', function ($value) use ($admins) { + $admins->roles()->sync($value); + }); + + $admins->save(); + return $admins; + } + + /** + * @title 删除用户 + * + * @param [type] $request + * @return void + */ + public function delete($request) { + if($request->filled('id')){ + if($request->input('id') == env('ADMIN_ID', 1)){ + throw new \Exception("超级管理员不能删除!", 1); + } + try { + $admins = Admin::findOrFail($request->input('id')); + } catch (\Throwable $th) { + throw new \Exception("角色不存在!", 1); + } + $admins->roles()->detach(); + $admins->delete(); + } + if($request->filled('ids')){ + if(in_array(env('ADMIN_ID', 1), $request->input('ids'))){ + throw new \Exception("超级管理员不能删除!", 1); + } + try { + $admins = Admin::whereIn('uid', $request->input('ids')); + foreach ($admins->get() as $item) { + $item->roles()->detach(); //删除关联 + } + $admins = $admins->delete(); + } catch (\Throwable $th) { + throw new \Exception($th->getMessage(), 1); + } + } + return $admins; + } + + /** + * @title 修改密码 + * + * @param [type] $request + * @return void + */ + public function upPassword($request) { + try { + $admins = Admin::findOrFail($request->input('uid')); + } catch (\Throwable $th) { + throw new \Exception("用户不存在!", 1); + } + + $admins->password = $request->input('password'); + $admins->save(); + return $admins; + } + + /** + * @title 设置角色 + * + * @param [type] $request + * @return void + */ + public function uprole($request){ + try { + $admins = Admin::with(['roles'])->findOrFail($request->input('uid')); + } catch (\Illuminate\Database\Eloquent\ModelNotFoundException $th) { + throw new \Exception($th->getMessage(), 1); + } + + $admins->roles()->sync($request->input('roles')); + return $admins; + } +} diff --git a/app/Services/System/AreaService.php b/app/Services/System/AreaService.php new file mode 100644 index 0000000..d11499c --- /dev/null +++ b/app/Services/System/AreaService.php @@ -0,0 +1,118 @@ + +// +---------------------------------------------------------------------- +namespace App\Services\System; + +use App\Models\System\Area; +use App\Support\Tree; + +class AreaService { + + /** + * @title 区域列表 + * + * @param [type] $request + * @return void + */ + public function getAreaList($request){ + $map = []; + if($request->filled('title')){ + $map[] = ['title', 'like', '%' . $request->input('title') . '%']; + } + if($request->filled('id')){ + $map[] = ['id', '=', $request->input('id')]; + } + if($request->filled('parent_code')){ + $map[] = ['parent_code', '=', $request->input('parent_code')]; + } + + $query = Area::where($map)->orderBy('id', 'asc'); + + if($request->filled('page')){ + $data = [ + 'total' => $query->count(), + 'page' => $request->input('page', 1), + 'data' => $query->offset($request->input('offset', 0))->limit($request->input('limit', 10))->get(), + ]; + }else{ + if($request->filled('is_tree') && $request->filled('is_tree') == 1){ + $query = $query->get()->toArray(); + $tree = new Tree(); + $data = $tree->list_to_tree($query, 0, 'code', 'parent_code'); + }else{ + $data = $query->get(); + } + } + return $data; + } + + /** + * @title 添加区域 + * + * @param [type] $request + * @return void + */ + public function create($request){ + $request->validate([ + 'title' => 'required', + 'code' => 'required|unique:system_areas', + ], [ + 'code.unique' => '编码已存在', + 'title.required' => '请输入标题', + 'code.required' => '请输入编码', + ]); + + $area = new Area; + + foreach ($area->setFilterFields($request->all()) as $key => $value) { + $area->$key = $value; + } + + $area->save(); + return $area; + } + + /** + * @title 编辑区域 + * + * @param [type] $request + * @return void + */ + public function update($request){ + $request->validate([ + 'id' => 'required', + 'title' => 'required', + 'code' => 'required', + ], [ + 'id.required' => '参数错误', + 'title.required' => '请输入标题', + 'code.required' => '请输入编码', + ]); + + $area = Area::where('id', '=', $request->input('id'))->first(); + + foreach ($area->setFilterFields($request->all()) as $key => $value) { + $area->$key = $value; + } + + $area->save(); + return $area; + } + + public function delete($request){ + $request->validate([ + 'id' => 'required', + ], [ + 'id.required' => '参数错误', + ]); + + $area = Area::where('id', '=', $request->input('id'))->first(); + $area->delete(); + return $area; + } +} diff --git a/app/Services/System/ClientMenuService.php b/app/Services/System/ClientMenuService.php new file mode 100644 index 0000000..ab72352 --- /dev/null +++ b/app/Services/System/ClientMenuService.php @@ -0,0 +1,88 @@ + +// +---------------------------------------------------------------------- +namespace App\Services\System; + +use App\Models\System\ClientMenu; +use App\Support\Tree; + +class ClientMenuService { + + public function getDataList($request){ + $map = []; + + if($request->filled('title')){ + $map[] = ['title', 'like', '%' . $request->input('title') . '%']; + } + + $query = ClientMenu::where($map)->orderBy('id', 'asc'); + + if($request->filled('page')){ + $data = [ + 'total' => $query->count(), + 'page' => $request->input('page', 1), + 'data' => $query->offset($request->input('offset', 0))->limit($request->input('limit', 10))->get(), + ]; + }else{ + if($request->filled('is_tree') && $request->filled('is_tree') == 1){ + $query = $query->get()->toArray(); + $tree = new Tree(); + $data = $tree->list_to_tree($query, 0, 'id', 'parent_id'); + }else{ + $data = $query->get(); + } + } + return $data; + } + + public function create($request){ + $request->validate([ + 'title' => 'required', + ]); + $menu = new ClientMenu(); + + foreach ($menu->setFilterFields($request->all()) as $key => $value) { + $menu->$key = $value; + } + $menu->save(); + + return $menu; + } + + public function update($request){ + $request->validate([ + 'id' => 'required', + 'title' => 'required', + ], [ + 'id.required' => '参数错误', + 'title.required' => '请输入标题', + ]); + + $menu = ClientMenu::where('id', $request->input('id'))->first(); + + foreach ($menu->setFilterFields($request->all()) as $key => $value) { + $menu->$key = $value; + } + + $menu->save(); + return $menu; + } + + public function delete($request){ + $request->validate([ + 'id' => 'required', + ], [ + 'id.required' => '参数错误', + ]); + + $menu = ClientMenu::where('id', $request->input('id'))->first(); + + $menu->delete(); + return $menu; + } +} diff --git a/app/Services/System/ClientService.php b/app/Services/System/ClientService.php new file mode 100644 index 0000000..07cf7f0 --- /dev/null +++ b/app/Services/System/ClientService.php @@ -0,0 +1,84 @@ + +// +---------------------------------------------------------------------- +namespace App\Services\System; + +use App\Models\System\Client; + +class ClientService { + + public function getDataList($request){ + $map = []; + + if($request->filled('title')){ + $map[] = ['title', 'like', '%' . $request->input('title') . '%']; + } + + $query = Client::where($map)->orderBy('id', 'asc'); + + if($request->filled('page')){ + $data = [ + 'total' => $query->count(), + 'page' => $request->input('page', 1), + 'data' => $query->offset($request->input('offset', 0))->limit($request->input('limit', 10))->get(), + ]; + }else{ + $data = $query->get(); + } + return $data; + } + + public function create($request){ + $request->validate([ + 'title' => 'required', + ]); + $client = new Client(); + + foreach ($client->setFilterFields($request->all()) as $key => $value) { + $client->$key = $value; + } + + $client->app_id = ''; + $client->secret = ''; + $client->redirect = ''; + $client->save(); + + return $client; + } + + public function update($request){ + $request->validate([ + 'id' => 'required', + 'title' => 'required', + ], [ + 'id.required' => '参数错误', + 'title.required' => '请输入标题', + ]); + + $client = Client::where('id', $request->input('id'))->first(); + + $client->title = $request->input('title'); + $client->status = $request->input('status', 0); + + $client->save(); + return $client; + } + + public function delete($request){ + $request->validate([ + 'id' => 'required', + ], [ + 'id.required' => '参数错误', + ]); + + $client = Client::where('id', $request->input('id'))->first(); + + $client->delete(); + return $client; + } +} diff --git a/app/Services/System/CrontabService.php b/app/Services/System/CrontabService.php new file mode 100644 index 0000000..cd20aa1 --- /dev/null +++ b/app/Services/System/CrontabService.php @@ -0,0 +1,119 @@ + +// +---------------------------------------------------------------------- +namespace App\Services\System; + +use App\Models\System\Crontab; + +class CrontabService { + + public function getDataList($request){ + $map = []; + + if($request->filled('title')){ + $map[] = ['title', 'like', '%' . $request->input('title') . '%']; + } + if($request->filled('type')){ + $map[] = ['type', '=', $request->input('type')]; + } + + $query = Crontab::where($map)->orderBy('id', 'asc'); + + if($request->filled('page')){ + $data = [ + 'total' => $query->count(), + 'page' => $request->input('page', 1), + 'data' => $query->offset($request->input('offset', 0))->limit($request->input('limit', 10))->get(), + ]; + }else{ + $data = $query->get(); + } + + return $data; + } + + public function create($request){ + $request->validate([ + 'title' => 'required', + 'type' => 'required', + 'expression' => 'required', + 'command' => 'required', + ], [ + 'title.required' => '请输入标题', + 'type.required' => '请选择类型', + 'expression.required' => '请输入表达式', + 'command.required' => '请输入命令', + ]); + + $crontab = new Crontab; + + foreach ($crontab->setFilterFields($request->all()) as $key => $value) { + $crontab->$key = $value; + } + + $crontab->save(); + + return $crontab; + } + + public function update($request){ + $request->validate([ + 'id' => 'required', + 'title' => 'required', + 'type' => 'required', + 'expression' => 'required', + 'command' => 'required', + ], [ + 'id.required' => '参数错误', + 'title.required' => '请输入标题', + 'type.required' => '请选择类型', + 'expression.required' => '请输入表达式', + 'command.required' => '请输入命令', + ]); + + $crontab = Crontab::where('id', $request->input('id'))->first(); + + foreach ($crontab->setFilterFields($request->all()) as $key => $value) { + $crontab->$key = $value; + } + + $crontab->save(); + + return $crontab; + } + + public function delete($request){ + $request->validate([ + 'id' => 'required', + ], [ + 'id.required' => '参数错误', + ]); + + $crontab = Crontab::where('id', $request->input('id'))->first(); + + $crontab->delete(); + return $crontab; + } + + public function reload($request){ + $request->validate([ + 'id' => 'required', + 'status' => 'required', + ], [ + 'id.required' => '参数错误', + 'status.required' => '参数错误', + ]); + + $crontab = Crontab::where('id', $request->input('id'))->first(); + + $crontab->status = $request->input('status'); + + $crontab->save(); + return $crontab; + } +} diff --git a/app/Services/System/DictService.php b/app/Services/System/DictService.php new file mode 100644 index 0000000..243de39 --- /dev/null +++ b/app/Services/System/DictService.php @@ -0,0 +1,254 @@ + +// +---------------------------------------------------------------------- +namespace App\Services\System; + +use App\Models\System\Dict; +use App\Models\System\DictGroup; +use App\Support\Tree; + +class DictService { + + /** + * @title 获取列表数据 + * + * @param [type] $request + * @return void + */ + public function getDataList($request) { + $map = []; + + if ($request->filled('title')) { + $map[] = ['title', 'like', '%' . $request->input('title') . '%']; + } + if ($request->filled('name')) { + $map[] = ['group_name', '=', $request->input('name')]; + } + if ($request->filled('group_id')) { + $map[] = ['group_id', '=', $request->input('group_id')]; + } + + $query = Dict::where($map)->orderBy('sort', 'asc')->orderBy('id', 'desc'); + + if($request->filled('page')){ + $data = [ + 'total' => $query->count(), + 'page' => $request->input('page', 1), + 'data' => $query->offset($request->input('offset', 0))->limit($request->input('limit', 10))->get(), + ]; + }else{ + $data = $query->get(); + } + return $data; + } + + /** + * @title 字段分类数据 + * + * @param [type] $request + * @return void + */ + public function getCategoryList($request){ + $map = []; + + if ($request->filled('title')) { + $map[] = ['title', 'like', '%' . $request->input('title') . '%']; + } + if ($request->filled('name')) { + $map[] = ['name', 'like', '%' . $request->input('name') . '%']; + } + + $query = DictGroup::where($map)->orderBy('id', 'desc'); + + + if($request->filled('is_tree') && $request->filled('is_tree') == 1){ + $query = $query->get()->toArray(); + $tree = new Tree(); + $data = $tree->list_to_tree($query, 0, 'id', 'parent_id'); + }else{ + $data = [ + 'total' => $query->count(), + 'page' => $request->input('page', 1), + 'data' => $query->limit($request->input('limit', 10))->offset($request->input('page', 1) - 1)->get(), + ]; + } + return $data; + } + + /** + * @title 创建字典 + * + * @param [type] $request + * @return void + */ + public function create($request){ + $request->validate([ + 'title' => 'required', + 'values' => 'required', + ]); + + $data = $request->all(); + + $data['group_name'] = DictGroup::where('id', '=', $data['group_id'])->value('name'); + + $dict = Dict::create($data); + + if($dict->values == ''){ + $dict->values = $dict->id; + $dict->save(); + } + $this->setDictCache(true); + return $dict; + } + + /** + * @title 更新字典 + * + * @param [type] $request + * @return void + */ + public function update($request){ + try { + $dict = Dict::findOrFail($request->input('id')); + } catch (\Throwable $th) { + throw new \Exception("改字典不存在", 1); + } + + if ($request->filled('title')) { + $dict->title = $request->input('title'); + } + if ($request->filled('values')) { + $dict->values = $request->input('values'); + } + if ($request->filled('sort')) { + $dict->sort = $request->input('sort'); + } + if ($request->filled('status')) { + $dict->status = $request->input('status'); + } + if ($request->filled('group_id')) { + $dict->group_id = $request->input('group_id'); + $dict->group_name = DictGroup::where('id', '=', $request->input('group_id'))->value('name'); + } + + $dict->save(); + $this->setDictCache(true); + return $dict; + } + + /** + * @title 删除字典 + * + * @param [type] $request + * @return void + */ + public function delete($request){ + try { + $dict = Dict::findOrFail($request->input('id')); + } catch (\Throwable $th) { + throw new \Exception("改字典不存在", 1); + } + + $dict->delete(); + $this->setDictCache(true); + return $dict; + } + + /** + * @title 创建字典分类 + * + * @param [type] $request + * @return void + */ + public function createCategory($request){ + $request->validate([ + 'title' => 'required|unique:system_dict_groups', + 'name' => 'required|unique:system_dict_groups', + ]); + + $data = $request->all(); + $data['status'] = 1; + $group = DictGroup::create($data); + + $this->setDictCache(true); + return $group; + } + + /** + * @title 更新字典分类 + * + * @param [type] $request + * @return void + */ + public function updateCategory($request){ + try { + $dict = DictGroup::findOrFail($request->input('id')); + } catch (\Throwable $th) { + throw new \Exception("改字典不存在", 1); + } + + if ($request->filled('parent_id')) { + $dict->parent_id = $request->input('parent_id'); + } + if ($request->filled('title')) { + $dict->title = $request->input('title'); + } + if ($request->filled('name')) { + $dict->name = $request->input('name'); + } + if ($request->filled('sort')) { + $dict->sort = $request->input('sort'); + } + if ($request->filled('status')) { + $dict->status = $request->input('status'); + } + + $dict->save(); + $this->setDictCache(true); + return $dict; + } + + /** + * @title 删除字典 + * + * @param [type] $request + * @return void + */ + public function deleteCategory($request){ + try { + $dict = DictGroup::findOrFail($request->input('id')); + } catch (\Throwable $th) { + throw new \Exception("改字典不存在", 1); + } + + $dict->delete(); + $this->setDictCache(true); + return $dict; + } + + public function getDictionaryAll(){ + $map = []; + + $map[] = ['status', '=', 1]; + + $list = Dict::where($map)->get(); + + $data = []; + foreach ($list as $key => $value) { + $data[$value['group_name']][] = $value; + } + return $data; + } + + public function setDictCache($refresh = false){ + if (!cache('dict') || $refresh){ + $data = $this->getDictionaryAll(); + cache('dict', $data); + } + } +} diff --git a/app/Services/System/LogService.php b/app/Services/System/LogService.php new file mode 100644 index 0000000..71c1077 --- /dev/null +++ b/app/Services/System/LogService.php @@ -0,0 +1,113 @@ + +// +---------------------------------------------------------------------- +namespace App\Services\System; + +use App\Models\System\Log; + +class LogService { + + /** + * @title 获取日志列表 + * + * @param [type] $request + * @return void + */ + public function getDataList($request) { + $map = []; + + if ($request->filled('title')) { + $map[] = ['title', 'like', '%' . $request->input('title') . '%']; + } + if ($request->filled('name')) { + $map[] = ['name', 'like', '%' . $request->input('name') . '%']; + } + if ($request->filled('url')) { + $map[] = ['url', 'like', '%' . $request->input('url') . '%']; + } + if ($request->filled('method')) { + $map[] = ['method', 'like', '%' . $request->input('method') . '%']; + } + if ($request->filled('ip')) { + $map[] = ['ip', 'like', '%' . $request->input('ip') . '%']; + } + if ($request->filled('user_id')) { + $map[] = ['user_id', '=', $request->input('user_id')]; + } + if ($request->filled('remark')) { + $map[] = ['remark', 'like', '%' . $request->input('remark') . '%']; + } + if ($request->filled('status')) { + $map[] = ['status', '=', $request->input('status')]; + } + if ($request->filled('is_my')) { + $user = auth('admin')->user(); + $map[] = ['user_id', '=', $user->uid]; + } + + $query = Log::with(['user:nickname,username,uid'])->where($map)->orderBy('id', 'desc'); + + if ($request->filled('date')) { + $query->whereBetween('created_at', $request->input('date')); + } + $data = [ + 'total' => $query->count(), + 'page' => $request->input('page', 1), + 'data' => $query->offset($request->input('offset', 0))->limit($request->input('limit', 10))->get(), + ]; + return $data; + } + + public function createLog($request){ + list($class, $method) = explode('@', $request->route()->getActionName()); + $reflection = new \ReflectionMethod("\\" . $class, $method); + $docComment = $reflection->getDocComment(); + $matches = []; + preg_match("/@title(.*)(\\r\\n|\\r|\\n)/U", $docComment, $matches); + + $data = [ + 'user_id' => auth('admin')->user()->uid, + 'title' => isset($matches[1]) ? trim($matches[1]) : '', + 'name' => $request->route()->getName() ?? '', + 'client_ip' => $request->ip(), + 'url' => $request->path(), + 'method' => $request->method(), + 'data' => json_encode($request->all()), + 'browser' => $request->userAgent(), + 'remark' => $request->input('remark', ''), + 'status' => 1, + ]; + $log = Log::create($data); + + return $log; + } + + /** + * @title 删除日志 + * @param Request $request + * @return bool + */ + public function delete($request){ + $map = []; + if($request->filled('id')){ + $map[] = ['id', '=', $request->input('id')]; + } + if($request->filled('ids')){ + $map[] = ['id', 'IN', $request->input('ids')]; + } + + $query = Log::where($map); + + if($request->filled('date')){ + $query->whereBetween('created_at', $request->input('date')); + } + + $query->delete(); + return true; + } +} diff --git a/app/Services/System/ModulesService.php b/app/Services/System/ModulesService.php new file mode 100644 index 0000000..e2b0ff9 --- /dev/null +++ b/app/Services/System/ModulesService.php @@ -0,0 +1,147 @@ + +// +---------------------------------------------------------------------- +namespace App\Services\System; + +use Nwidart\Modules\Contracts\ActivatorInterface; +use Nwidart\Modules\Module; +use Nwidart\Modules\Facades\Module as ModuleFacade; +use Illuminate\Container\Container; +use Illuminate\Database\Eloquent\Model; +use Illuminate\Support\Facades\Artisan; +use App\Models\System\Modules; + +class ModulesService implements ActivatorInterface { + + /** + * 模块管理的模型 + * @var class-string $modelClass + */ + private string $modelClass; + /** + * Laravel Filesystem instance + * + * @var Filesystem + */ + private $files; + + public function __construct(Container $app) { + $this->modelClass = $app['config']['modules.activators.database.model']; + $this->files = $app['files']; + } + + /** + * Enables a module + */ + public function enable(Module $module): void { + $this->setActiveByName($module->getName(), true); + } + + /** + * Disables a module + */ + public function disable(Module $module): void { + $this->setActiveByName($module->getName(), false); + } + + /** + * Determine whether the given status same with a module status. + */ + public function hasStatus(Module|string $module, bool $status): bool { + $name = $module instanceof Module ? $module->getName() : $module; + $moduleRecord = $this->modelClass::where('name', $name)->first(); + if ($moduleRecord) { + return boolval($moduleRecord['status']) === $status; + } else { + return $status === false; + } + } + + /** + * Set active state for a module. + */ + public function setActive(Module $module, bool $active): void { + $this->setActiveByName($module->getName(), $active); + } + + /** + * Sets a module status by its name + */ + public function setActiveByName(string $name, bool $active): void { + $module = ModuleFacade::getModulePath($name); + $json = $this->readJson($module . 'module.json'); + $this->modelClass::upsert(['name' => $name, 'status' => $active, 'title' => $json['alias']], ['name'], ['status', 'title']); + } + + /** + * Deletes a module activation status + */ + public function delete(Module $module): void { + $moduleRecord = $this->modelClass::where('name', $module->getName())->first(); + if ($moduleRecord) { + $moduleRecord->delete(); + } + } + + /** + * Deletes any module activation statuses created by this class. + */ + public function reset(): void { + $this->modelClass::truncate(); + } + + + public function getDataList($request){ + $map = []; + + if($request->filled('title')){ + $map[] = ['title', 'like', '%' . $request->input('title') . '%']; + } + + $query = Modules::where($map)->orderBy('id', 'asc'); + + if($request->filled('page')){ + $data = [ + 'total' => $query->count(), + 'page' => $request->input('page', 1), + 'data' => $query->offset($request->input('offset', 0))->limit($request->input('limit', 10))->get(), + ]; + }else{ + $data = $query->get(); + } + return $data; + } + + public function update($request){ + if($request->filled('name')){ + $name = $request->input('name'); + $module = ModuleFacade::getModulePath($name); + $json = $this->readJson($module . 'module.json'); + + $module = Modules::where('name', $name)->first(); + + $module->title = $json['alias']; + + $module->save(); + return $module; + } + } + + /** + * Reads the json file that contains the activation statuses. + * + * @throws FileNotFoundException + */ + private function readJson($file): array { + if (! $this->files->exists($file)) { + return []; + } + + return $this->files->json($file); + } +} diff --git a/app/Services/System/SettingService.php b/app/Services/System/SettingService.php new file mode 100644 index 0000000..8276c63 --- /dev/null +++ b/app/Services/System/SettingService.php @@ -0,0 +1,100 @@ + +// +---------------------------------------------------------------------- +namespace App\Services\System; + +use App\Models\System\Config; + +class SettingService { + + /** + * @title 获取配置列表 + * + * @param [type] $request + * @return void + */ + public function getDataList($request){ + $map = []; + + if ($request->filled('group_name')) { + $map[] = ['group', '=', $request->input('group_name')]; + } + + $data = Config::where($map)->orderBy('sort', 'asc')->pluck('values', 'name'); + return $data; + } + + public function create($request){ + $request->validate([ + 'title' => 'required', + 'name' => 'required', + 'values' => 'required', + ]); + + $data = $request->all(); + $config = Config::create($data); + + $this->setConfigCache(true); + return $config; + } + + public function update($request){ + $request->validate([ + 'title' => 'required', + 'name' => 'required', + ]); + $config = Config::where('id', $request->input('id'))->first(); + + + foreach ($config->setFilterFields($request->all()) as $key => $value) { + $config->$key = $value; + } + $config->save(); + + $this->setConfigCache(true); + return $config; + } + + public function saveSetting($request){ + $data = $request->all(); + + foreach ($data as $key => $value) { + Config::where('name', $key)->update(['values' => $value]); + } + + $this->setConfigCache(true); + return true; + } + + public function delete($request){ + $data = $request->all(); + $config = Config::find($data['id']); + $config->delete(); + + $this->setConfigCache(true); + return $config; + } + + public function getFields($request){ + $map = []; + + if ($request->filled('group_name')) { + $map[] = ['group', '=', $request->input('group_name')]; + } + + $config = Config::where($map)->orderBy('sort', 'asc')->get()->append(['options', 'label']); + return $config; + } + + public static function setConfigCache($refresh = false){ + if (!cache('config') || $refresh){ + $config = Config::orderBy('sort', 'asc')->pluck('values', 'name'); + cache('config', $config); + } + } +} diff --git a/app/Services/System/TasksService.php b/app/Services/System/TasksService.php new file mode 100644 index 0000000..15b90c3 --- /dev/null +++ b/app/Services/System/TasksService.php @@ -0,0 +1,111 @@ + +// +---------------------------------------------------------------------- +namespace App\Services\System; + +use App\Models\System\Tasks; +use Illuminate\Support\Facades\Storage; + +class TasksService { + + public function getDataList($request){ + $map = []; + + if ($request->filled('title')) { + $map[] = ['title', 'like', '%' . $request->input('title') . '%']; + } + if ($request->filled('name')) { + $map[] = ['name', 'like', '%' . $request->input('name') . '%']; + } + if ($request->filled('url')) { + $map[] = ['url', 'like', '%' . $request->input('url') . '%']; + } + if ($request->filled('method')) { + $map[] = ['method', 'like', '%' . $request->input('method') . '%']; + } + if ($request->filled('ip')) { + $map[] = ['ip', 'like', '%' . $request->input('ip') . '%']; + } + if ($request->filled('user_id')) { + $map[] = ['user_id', '=', $request->input('user_id')]; + } + if ($request->filled('data')) { + $map[] = ['data', 'like', '%' . $request->input('data') . '%']; + } + if ($request->filled('remark')) { + $map[] = ['remark', 'like', '%' . $request->input('remark') . '%']; + } + if ($request->filled('status')) { + $map[] = ['status', '=', $request->input('status')]; + } + if ($request->filled('is_my')) { + $user = auth('admin')->user(); + $map[] = ['user_id', '=', $user->uid]; + } + + $query = Tasks::with(['user:nickname,username,uid'])->where($map)->orderBy('id', 'desc'); + + if ($request->filled('page')) { + $data = [ + 'total' => $query->count(), + 'page' => $request->input('page', 1), + 'data' => $query->offset($request->input('offset', 0))->limit($request->input('limit', 10))->get()->append(['url']), + ]; + }else{ + $data = $query->get()->append(['url']); + } + return $data; + } + + public function create($data){ + $task = new Tasks(); + + $task->type = $data['type'] ? $data['type'] : 'export'; + $task->title = $data['title'] ? $data['title'] : $task->type . '任务'; + $task->file = $data['file'] ? $data['file'] : ''; + $task->status = $data['status'] ? $data['status'] : 0; + $task->user_id = auth('admin')->user()->uid; + + $task->save(); + return $task; + } + + public function update($data){ + $task = Tasks::where('id', $data['id'])->first(); + + if ($data['status'] != '') { + $task->status = $data['status']; + } + if ($data['file'] != '') { + $task->file = $data['file']; + } + if (in_array($data['type'], ['import', 'export'])) { + $task->type = $data['type']; + } + if ($data['title'] != '') { + $task->title = $data['title']; + } + + $task->save(); + } + + public function delete($data){ + $task = Tasks::where('id', $data['id'])->first(); + + if ($task->status == 0) { + throw new \Exception("该任务正在执行中,无法删除"); + } + + if ($task->file) { + Storage::disk('public')->delete($task->file); + } + + $task->delete(); + return $task; + } +} diff --git a/app/Support/Regex.php b/app/Support/Regex.php new file mode 100644 index 0000000..8d565e9 --- /dev/null +++ b/app/Support/Regex.php @@ -0,0 +1,230 @@ + +// +---------------------------------------------------------------------- +namespace App\Support; + +class Regex { + + + /** + * 验证用户名 + * + * @param string $value 验证的值 + * @param int $minLen 最小长度 + * @param int $maxLen 最大长度 + * @param string $type 验证类型,默认‘ALL’,EN.验证英文,CN.验证中文,ALL.验证中文和英文 + * @return bool + */ + public static function isUsername($value, $minLen = 2, $maxLen = 48, $type = 'ALL') + { + if (empty ($value)) { + return false; + } + + switch ($type) { + case 'EN' : + $match = '/^[_\w\d]{' . $minLen . ',' . $maxLen . '}$/iu'; + break; + case 'CN' : + $match = '/^[_\x{4e00}-\x{9fa5}\d]{' . $minLen . ',' . $maxLen . '}$/iu'; + break; + default : + $match = '/^[_\w\d\x{4e00}-\x{9fa5}]{' . $minLen . ',' . $maxLen . '}$/iu'; + } + + return preg_match($match, $value) !== 0; + } + + /** + * 验证密码 + * + * @param string $value 验证的值 + * @param int $minLen 最小长度 + * @param int $maxLen 最大长度 + * @return bool + */ + public static function isPassword($value, $minLen = 6, $maxLen = 16) + { + $value = trim($value); + if (empty ($value)) { + return false; + } + + $match = '/^[\\~!@#$%^&*()-_=+|{}\[\],.?\/:;\'\"\d\w]{' . $minLen . ',' . $maxLen . '}$/'; + + return preg_match($match, $value) !== 0; + } + + /** + * 验证eamil + * + * @param string $value 验证的值 + * @return bool + */ + public static function isEmail($value) + { + $value = trim($value); + if (empty ($value)) { + return false; + } + + $match = '/^[\w\d]+[\w\d-.]*@[\w\d-.]+\.[\w\d]{2,10}$/i'; + + return preg_match($match, $value) !== 0; + } + + /** + * 验证电话号码 + * + * @param string $value 验证的值 + * @return bool + */ + public static function isTelephone($value) + { + $value = trim($value); + if (empty ($value)) { + return false; + } + + $match = '/^0[0-9]{2,3}[-]?\d{7,8}$/'; + + return preg_match($match, $value) !== 0; + } + + /** + * 验证手机 + * + * @param string $value 验证的值 + * @return bool + */ + public static function isMobile($value) + { + $value = trim($value); + if (empty ($value)) { + return false; + } + + $match = '/^[(86)|0]?(1\d{10})$/'; + + return preg_match($match, $value) !== 0; + } + + /** + * 验证邮政编码 + * + * @param string $value 验证的值 + * @return bool + */ + public static function isPostCode($value) + { + $value = trim($value); + if (empty ($value)) { + return false; + } + + $match = '/\d{6}/'; + + return preg_match($match, $value) !== 0; + } + + /** + * 验证IP + * + * @param string $value 验证的值 + * @return boolean + */ + public static function isIp($value) + { + $value = trim($value); + if (empty ($value)) { + return false; + } + + $match = '/^(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])' . + '\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)' . + '\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)' . + '\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])$/'; + + return preg_match($match, $value) !== 0; + } + + /** + * 验证身份证号码 + * + * @param string $value 验证的值 + * @return boolean + */ + public static function isIDCard($value) + { + $value = trim($value); + if (empty ($value)) { + return false; + } + + if (strlen($value) > 18) { + return false; + } + + $match = '/^\d{6}((1[89])|(2\d))\d{2}((0\d)|(1[0-2]))((3[01])|([0-2]\d))\d{3}(\d|X)$/i'; + + return preg_match($match, $value) !== 0; + } + + /** + * 验证URL + * + * @param string $value 验证的值 + * @return boolean + */ + public static function isUrl($value) + { + $value = strtolower(trim($value)); + if (empty ($value)) { + return false; + } + $match = '/^(http:\/\/)?(https:\/\/)?([\w\d-]+\.)+[\w-]+(\/[\d\w-.\/?%&=]*)?$/'; + + return preg_match($match, $value) !== 0; + } + + /** + * 是否有数字 + * 说明:如果字符串中含有非法字符返回假,没有返回真 + * + * @param string $value 验证的值 + * @return int + */ + public static function hasNumber($value) + { + return preg_match("/[0-9]/", $value) != false; + } + + /** + * 是否含有英文 + * 说明:如果字符串中含有非法字符返回假,没有返回真 + * + * @param string $value 验证的值 + * @return bool + */ + public static function hasEnglish($value) + { + return preg_match("/[a-zA-Z]/", $value) != false; + } + + /** + * 是否有中文 + * 说明:如果字符串中含有非法字符返回假,没有返回真 + * + * @param string $value 验证的值 + * @return bool + */ + public static function hasChinese($value) + { + return preg_match("/[\x7f-\xff]/", $value) != false; + } +} diff --git a/app/Support/Time.php b/app/Support/Time.php new file mode 100644 index 0000000..981113d --- /dev/null +++ b/app/Support/Time.php @@ -0,0 +1,298 @@ + +// +---------------------------------------------------------------------- +namespace App\Support; + +use Illuminate\Support\Carbon; + +class Time { + + /** + * 返回今日开始和结束的时间戳 + * + * @return array + */ + public static function today($data = '') { + [$y, $m, $d] = explode('-', $data ? $data : date('Y-m-d')); + + return [ + mktime(0, 0, 0, $m, $d, $y), + mktime(23, 59, 59, $m, $d, $y), + ]; + } + + /** + * 返回昨日开始和结束的时间戳 + * + * @return array + */ + public static function yesterday() { + $yesterday = date('d') - 1; + + return [ + mktime(0, 0, 0, date('m'), $yesterday, date('Y')), + mktime(23, 59, 59, date('m'), $yesterday, date('Y')), + ]; + } + + /** + * 返回本周开始和结束的时间戳 + * + * @return array + */ + public static function week() { + [$y, $m, $d, $w] = explode('-', date('Y-m-d-w')); + if ($w == 0) $w = 7; //修正周日的问题 + + return [ + mktime(0, 0, 0, $m, $d - $w + 1, $y), mktime(23, 59, 59, $m, $d - $w + 7, $y), + ]; + } + + /** + * 返回上周开始和结束的时间戳 + * + * @return array + */ + public static function lastWeek() { + $timestamp = time(); + + return [ + strtotime(date('Y-m-d', strtotime("last week Monday", $timestamp))), + strtotime(date('Y-m-d', strtotime("last week Sunday", $timestamp))) + 24 * 3600 - 1, + ]; + } + + /** + * 返回本月开始和结束的时间戳 + * + * @return array + */ + public static function month($data = '') { + $res = []; + $data = $data ? $data : date('Y-m-d'); + $nextMoth = date('Y-m-d', strtotime($data . ' +1 month')); + + return [ + mktime(0, 0, 0, date('m', strtotime($data)), 1, date('Y', strtotime($data))), + mktime(0, 0, 0, date('m', strtotime($nextMoth)), 1, date('Y', strtotime($nextMoth))), + ]; + } + + /** + * 返回上个月开始和结束的时间戳 + * + * @return array + */ + public static function lastMonth() { + $y = date('Y'); + $m = date('m'); + $begin = mktime(0, 0, 0, $m - 1, 1, $y); + $end = mktime(23, 59, 59, $m - 1, date('t', $begin), $y); + + return [$begin, $end]; + } + + /** + * 返回今年开始和结束的时间戳 + * + * @return array + */ + public static function year() { + $y = date('Y'); + + return [ + mktime(0, 0, 0, 1, 1, $y), + mktime(23, 59, 59, 12, 31, $y), + ]; + } + + /** + * 返回去年开始和结束的时间戳 + * + * @return array + */ + public static function lastYear() { + $year = date('Y') - 1; + + return [ + mktime(0, 0, 0, 1, 1, $year), + mktime(23, 59, 59, 12, 31, $year), + ]; + } + + /** + * 获取几天前零点到现在/昨日结束的时间戳 + * + * @param int $day 天数 + * @param bool $now 返回现在或者昨天结束时间戳 + * @return array + */ + public static function dayToNow($day = 1, $now = true) { + $end = time(); + if (!$now) { + [$foo, $end] = self::yesterday(); + } + + return [ + mktime(0, 0, 0, date('m'), date('d') - $day, date('Y')), + $end, + ]; + } + + /** + * 返回几天前的时间戳 + * + * @param int $day + * @return int + */ + public static function daysAgo($day = 1) { + $nowTime = time(); + + return $nowTime - self::daysToSecond($day); + } + + /** + * 返回几天后的时间戳 + * + * @param int $day + * @return int + */ + public static function daysAfter($day = 1) { + $nowTime = time(); + + return $nowTime + self::daysToSecond($day); + } + + /** + * 天数转换成秒数 + * + * @param int $day + * @return int + */ + public static function daysToSecond($day = 1) { + return $day * 86400; + } + + /** + * 周数转换成秒数 + * + * @param int $week + * @return int + */ + public static function weekToSecond($week = 1) { + return self::daysToSecond() * 7 * $week; + } + + /** + * 获取毫秒级别的时间戳 + */ + public static function getMillisecond() { + $time = explode(" ", microtime()); + $time = $time[1] . ($time[0] * 1000); + $time2 = explode(".", $time); + $time = $time2[0]; + + return $time; + } + + /** + * 获取相对时间 + * + * @param int $timeStamp + * @return string + */ + public static function formatRelative($timeStamp) { + $currentTime = time(); + + // 判断传入时间戳是否早于当前时间戳 + $isEarly = $timeStamp <= $currentTime; + + // 获取两个时间戳差值 + $diff = abs($currentTime - $timeStamp); + + $dirStr = $isEarly ? '前' : '后'; + + if ($diff < 60) { // 一分钟之内 + $resStr = $diff . '秒' . $dirStr; + } elseif ($diff >= 60 && $diff < 3600) { // 多于59秒,少于等于59分钟59秒 + $resStr = floor($diff / 60) . '分钟' . $dirStr; + } elseif ($diff >= 3600 && $diff < 86400) { // 多于59分钟59秒,少于等于23小时59分钟59秒 + $resStr = floor($diff / 3600) . '小时' . $dirStr; + } elseif ($diff >= 86400 && $diff < 2623860) { // 多于23小时59分钟59秒,少于等于29天59分钟59秒 + $resStr = floor($diff / 86400) . '天' . $dirStr; + } elseif ($diff >= 2623860 && $diff <= 31567860 && $isEarly) { // 多于29天59分钟59秒,少于364天23小时59分钟59秒,且传入的时间戳早于当前 + $resStr = date('m-d H:i', $timeStamp); + } else { + $resStr = date('Y-m-d', $timeStamp); + } + + return $resStr; + } + + /** + * 范围日期转换时间戳 + * + * @param string $rangeDatetime + * @param int $maxRange 最大时间间隔 + * @param string $delimiter + * @return array + */ + public static function parseRange($rangeDatetime, $maxRange = 0, $delimiter = ' - ') { + $rangeDatetime = explode($delimiter, $rangeDatetime, 2); + $rangeDatetime[0] = strtotime($rangeDatetime[0]); + $rangeDatetime[1] = isset($rangeDatetime[1]) ? strtotime($rangeDatetime[1]) : time(); + $rangeDatetime = [ + min($rangeDatetime[0], $rangeDatetime[1]), + max($rangeDatetime[0], $rangeDatetime[1]), + ]; + + // 如果结束时间小于或等于开始时间 直接返回null +// if ($rangeDatetime[1] < $rangeDatetime[0]) { +// return null; +// } + + // 如果大于最大时间间隔 则用结束时间减去最大时间间隔获得开始时间 + if ($maxRange > 0 && $rangeDatetime[1] - $rangeDatetime[0] > $maxRange) { + $rangeDatetime[0] = $rangeDatetime[1] - $maxRange; + } + + return $rangeDatetime; + } + + /** + * 获取指定时间范围内的日期数组 + * @param int $startTime + * @param int $endTime + * @return \Carbon\CarbonPeriod + */ + public static function daysUntilOfTimestamp($startTime, $endTime) { + $startTime = Carbon::createFromTimestamp($startTime); + $endTime = Carbon::createFromTimestamp($endTime); + + return $startTime->daysUntil($endTime); + } + + /** + * 时间排序 + * + * @param array $times + * @return array + */ + public static function sort($times) { + usort($times, function ($com1, $com2) { + $com1 = strtotime($com1); + $com2 = strtotime($com2); + + return $com1 < $com2 ? -1 : 1; + }); + + return $times; + } + +} diff --git a/app/Support/Tree.php b/app/Support/Tree.php new file mode 100644 index 0000000..5b74cde --- /dev/null +++ b/app/Support/Tree.php @@ -0,0 +1,88 @@ + +// +---------------------------------------------------------------------- +namespace App\Support; + +class Tree { + + public static function list_to_tree($list, $root = 0, $pk = 'id', $pid = 'parent_id', $children = 'children') { + // 创建Tree + $tree = array(); + if (is_array($list)) { + // 创建基于主键的数组引用 + $refer = array(); + foreach ($list as $key => $data) { + $refer[$data[$pk]] = &$list[$key]; + } + foreach ($list as $key => $data) { + // 判断是否存在parent + $parentId = 0; + if (isset($data[$pid])) { + $parentId = $data[$pid]; + } + if ((string)$root == $parentId) { + $tree[] = &$list[$key]; + } else { + if (isset($refer[$parentId])) { + $parent = &$refer[$parentId]; + $parent[$children][] = &$list[$key]; + } + } + } + } + return $tree; + } + + public static function tree_to_list($tree = [], $children = 'children') { + if (empty($tree) || !is_array($tree)) { + return $tree; + } + $arrRes = []; + foreach ($tree as $k => $v) { + $arrTmp = $v; + unset($arrTmp[$children]); + $arrRes[] = $arrTmp; + if (!empty($v[$children])) { + $arrTmp = self::tree_to_list($v[$children], $children); + $arrRes = array_merge($arrRes, $arrTmp); + } + } + return $arrRes; + } + + /** + * 获得所有的子 + */ + public static function get_children($data, $id = 0, $pk = 'id', $pid = 'parent_id') { + $array = []; + foreach ($data as $k => $v) { + if ($v[$pid] == $id) { + $array[] = $v[$pk]; + array_merge($array, self::get_children($data, $v[$pk], $pk, $pid)); + } + } + return $array; + } + + /** + * 获取id的所有父,包含自己 + */ + public static function get_parents($data, $id = 0, $pk = 'id', $pid = 'parent_id', $field = '') { + $temp = []; + foreach ($data as $k => $v) { + if ($v[$pk] == $id) { + $temp[] = $v; + $temp = array_merge($temp, self::get_parents($data, $v[$pid]), $pk, $pid, $field); + } + } + if($field){ + $temp = array_column($temp, $field); + } + return $temp; + } +} diff --git a/app/Traits/AdminController.php b/app/Traits/AdminController.php new file mode 100644 index 0000000..7c97ba4 --- /dev/null +++ b/app/Traits/AdminController.php @@ -0,0 +1,88 @@ + +// +---------------------------------------------------------------------- +namespace App\Traits; + +use Illuminate\Http\Request; + +trait AdminController { + + protected $service = null; + + /** + * @title 列表 + * + * @param Request $request + * @param $service + * @return void + */ + public function index(Request $request){ + try { + $this->data['data'] = $this->service->getDataList($request); + } catch (\Throwable $th) { + $this->data['code'] = 0; + $this->data['message'] = $th->getMessage(); + } + + return response()->json($this->data); + } + + /** + * @title 添加 + * + * @param Request $request + * @param $service + * @return void + */ + public function add(Request $request){ + try { + $this->data['data'] = $this->service->create($request); + } catch (\Throwable $th) { + $this->data['code'] = 0; + $this->data['message'] = $th->getMessage(); + } + + return response()->json($this->data); + } + + /** + * @title 编辑 + * + * @param Request $request + * @param $service + * @return void + */ + public function edit(Request $request){ + try { + $this->data['data'] = $this->service->update($request); + } catch (\Throwable $th) { + $this->data['code'] = 0; + $this->data['message'] = $th->getMessage(); + } + + return response()->json($this->data); + } + + /** + * @title 删除 + * + * @param Request $request + * @param $service + * @return void + */ + public function delete(Request $request){ + try { + $this->data['data'] = $this->service->delete($request); + } catch (\Throwable $th) { + $this->data['code'] = 0; + $this->data['message'] = $th->getMessage(); + } + + return response()->json($this->data); + } +} diff --git a/app/Traits/ModelTrait.php b/app/Traits/ModelTrait.php new file mode 100644 index 0000000..0872cb3 --- /dev/null +++ b/app/Traits/ModelTrait.php @@ -0,0 +1,43 @@ + +// +---------------------------------------------------------------------- +namespace App\Traits; + +use Illuminate\Support\Facades\Schema; + +trait ModelTrait { + + protected function casts(): array { + return [ + 'created_at' => 'datetime:Y-m-d H:i:s', + 'updated_at' => 'datetime:Y-m-d H:i:s', + 'deleted_at' => 'datetime:Y-m-d H:i:s', + ]; + } + + protected function serializeDate($data){ + return $data->timezone('Asia/Shanghai')->format('Y-m-d H:i:s'); + } + /** + * 过滤移除非当前表的字段参数 + * + * @param array $params + * + * @return array + */ + public function setFilterFields(array $params) : array { + $fields = Schema::getColumnListing($this->getTable()); + foreach ($params as $key => $param) { + if ( !in_array($key, $fields) ) unset($params[$key]); + } + // 同时过滤时间戳字段【时间戳只允许自动更改,不允许手动设置】 + if ( $this->timestamps === true && isset($params[self::CREATED_AT]) ) unset($params[self::CREATED_AT]); + if ( $this->timestamps === true && isset($params[self::UPDATED_AT]) ) unset($params[self::UPDATED_AT]); + return $params; + } +} diff --git a/artisan b/artisan new file mode 100644 index 0000000..8e04b42 --- /dev/null +++ b/artisan @@ -0,0 +1,15 @@ +#!/usr/bin/env php +handleCommand(new ArgvInput); + +exit($status); diff --git a/bootstrap/app.php b/bootstrap/app.php new file mode 100644 index 0000000..d3f20ba --- /dev/null +++ b/bootstrap/app.php @@ -0,0 +1,38 @@ +withRouting( + web: __DIR__.'/../routes/web.php', + api: __DIR__.'/../routes/api.php', + commands: __DIR__.'/../routes/console.php', + then: function(){ + Route::middleware(['api']) + ->prefix('admin') + ->name('admin.') + ->group(base_path('routes/admin.php')); + }, + health: '/up', + ) + ->withMiddleware(function (Middleware $middleware) { + $middleware->alias([ + 'auth.check' => AuthCheckMiddleware::class + ]); + }) + ->withExceptions(function (Exceptions $exceptions) { + $exceptions->shouldRenderJsonWhen(function(Request $request, Throwable $e){ + // if($request->is('admin/*')){ + // return true; + // } + return $request->expectsJson(); + }); + }) + ->withEvents(discover: [ + __DIR__ . '/../app/Listeners' + ]) + ->create(); diff --git a/bootstrap/cache/.gitignore b/bootstrap/cache/.gitignore new file mode 100644 index 0000000..d6b7ef3 --- /dev/null +++ b/bootstrap/cache/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/bootstrap/providers.php b/bootstrap/providers.php new file mode 100644 index 0000000..38b258d --- /dev/null +++ b/bootstrap/providers.php @@ -0,0 +1,5 @@ + env('APP_NAME', 'Laravel'), + + /* + |-------------------------------------------------------------------------- + | Application Environment + |-------------------------------------------------------------------------- + | + | This value determines the "environment" your application is currently + | running in. This may determine how you prefer to configure various + | services the application utilizes. Set this in your ".env" file. + | + */ + + 'env' => env('APP_ENV', 'production'), + + /* + |-------------------------------------------------------------------------- + | Application Debug Mode + |-------------------------------------------------------------------------- + | + | When your application is in debug mode, detailed error messages with + | stack traces will be shown on every error that occurs within your + | application. If disabled, a simple generic error page is shown. + | + */ + + 'debug' => (bool) env('APP_DEBUG', false), + + /* + |-------------------------------------------------------------------------- + | Application URL + |-------------------------------------------------------------------------- + | + | This URL is used by the console to properly generate URLs when using + | the Artisan command line tool. You should set this to the root of + | the application so that it's available within Artisan commands. + | + */ + + 'url' => env('APP_URL', 'http://localhost'), + + /* + |-------------------------------------------------------------------------- + | Application Timezone + |-------------------------------------------------------------------------- + | + | Here you may specify the default timezone for your application, which + | will be used by the PHP date and date-time functions. The timezone + | is set to "UTC" by default as it is suitable for most use cases. + | + */ + + 'timezone' => env('APP_TIMEZONE', 'UTC'), + + /* + |-------------------------------------------------------------------------- + | Application Locale Configuration + |-------------------------------------------------------------------------- + | + | The application locale determines the default locale that will be used + | by Laravel's translation / localization methods. This option can be + | set to any locale for which you plan to have translation strings. + | + */ + + 'locale' => env('APP_LOCALE', 'en'), + + 'fallback_locale' => env('APP_FALLBACK_LOCALE', 'en'), + + 'faker_locale' => env('APP_FAKER_LOCALE', 'en_US'), + + /* + |-------------------------------------------------------------------------- + | Encryption Key + |-------------------------------------------------------------------------- + | + | This key is utilized by Laravel's encryption services and should be set + | to a random, 32 character string to ensure that all encrypted values + | are secure. You should do this prior to deploying the application. + | + */ + + 'cipher' => 'AES-256-CBC', + + 'key' => env('APP_KEY'), + + 'previous_keys' => [ + ...array_filter( + explode(',', env('APP_PREVIOUS_KEYS', '')) + ), + ], + + /* + |-------------------------------------------------------------------------- + | Maintenance Mode Driver + |-------------------------------------------------------------------------- + | + | These configuration options determine the driver used to determine and + | manage Laravel's "maintenance mode" status. The "cache" driver will + | allow maintenance mode to be controlled across multiple machines. + | + | Supported drivers: "file", "cache" + | + */ + + 'maintenance' => [ + 'driver' => env('APP_MAINTENANCE_DRIVER', 'file'), + 'store' => env('APP_MAINTENANCE_STORE', 'database'), + ], + +]; diff --git a/config/auth.php b/config/auth.php new file mode 100644 index 0000000..b4bb506 --- /dev/null +++ b/config/auth.php @@ -0,0 +1,122 @@ + [ + 'guard' => env('AUTH_GUARD', 'web'), + 'passwords' => env('AUTH_PASSWORD_BROKER', 'users'), + ], + + /* + |-------------------------------------------------------------------------- + | Authentication Guards + |-------------------------------------------------------------------------- + | + | Next, you may define every authentication guard for your application. + | Of course, a great default configuration has been defined for you + | which utilizes session storage plus the Eloquent user provider. + | + | All authentication guards have a user provider, which defines how the + | users are actually retrieved out of your database or other storage + | system used by the application. Typically, Eloquent is utilized. + | + | Supported: "session" + | + */ + + 'guards' => [ + 'web' => [ + 'driver' => 'session', + 'provider' => 'members', + ], + 'admin' => [ + 'driver' => 'jwt', + 'provider' => 'admins' + ], + 'api' => [ + 'driver' => 'jwt', + 'provider' => 'members', + ] + ], + + /* + |-------------------------------------------------------------------------- + | User Providers + |-------------------------------------------------------------------------- + | + | All authentication guards have a user provider, which defines how the + | users are actually retrieved out of your database or other storage + | system used by the application. Typically, Eloquent is utilized. + | + | If you have multiple user tables or models you may configure multiple + | providers to represent the model / table. These providers may then + | be assigned to any extra authentication guards you have defined. + | + | Supported: "database", "eloquent" + | + */ + + 'providers' => [ + 'admins' => [ + 'driver' => 'eloquent', + 'model' => App\Models\Auth\Admin::class, + ], + 'members' => [ + 'driver' => 'eloquent', + 'model' => App\Member\Models\Member::class, + ], + ], + + /* + |-------------------------------------------------------------------------- + | Resetting Passwords + |-------------------------------------------------------------------------- + | + | These configuration options specify the behavior of Laravel's password + | reset functionality, including the table utilized for token storage + | and the user provider that is invoked to actually retrieve users. + | + | The expiry time is the number of minutes that each reset token will be + | considered valid. This security feature keeps tokens short-lived so + | they have less time to be guessed. You may change this as needed. + | + | The throttle setting is the number of seconds a user must wait before + | generating more password reset tokens. This prevents the user from + | quickly generating a very large amount of password reset tokens. + | + */ + + 'passwords' => [ + 'users' => [ + 'provider' => 'members', + 'table' => env('AUTH_PASSWORD_RESET_TOKEN_TABLE', 'password_reset_tokens'), + 'expire' => 60, + 'throttle' => 60, + ], + ], + + /* + |-------------------------------------------------------------------------- + | Password Confirmation Timeout + |-------------------------------------------------------------------------- + | + | Here you may define the amount of seconds before a password confirmation + | window expires and users are asked to re-enter their password via the + | confirmation screen. By default, the timeout lasts for three hours. + | + */ + + 'password_timeout' => env('AUTH_PASSWORD_TIMEOUT', 10800), + +]; diff --git a/config/cache.php b/config/cache.php new file mode 100644 index 0000000..6b57b18 --- /dev/null +++ b/config/cache.php @@ -0,0 +1,107 @@ + env('CACHE_STORE', 'database'), + + /* + |-------------------------------------------------------------------------- + | Cache Stores + |-------------------------------------------------------------------------- + | + | Here you may define all of the cache "stores" for your application as + | well as their drivers. You may even define multiple stores for the + | same cache driver to group types of items stored in your caches. + | + | Supported drivers: "array", "database", "file", "memcached", + | "redis", "dynamodb", "octane", "null" + | + */ + + 'stores' => [ + + 'array' => [ + 'driver' => 'array', + 'serialize' => false, + ], + + 'database' => [ + 'driver' => 'database', + 'table' => env('DB_CACHE_TABLE', 'cache'), + 'connection' => env('DB_CACHE_CONNECTION'), + 'lock_connection' => env('DB_CACHE_LOCK_CONNECTION'), + ], + + 'file' => [ + 'driver' => 'file', + 'path' => storage_path('framework/cache/data'), + 'lock_path' => storage_path('framework/cache/data'), + ], + + 'memcached' => [ + 'driver' => 'memcached', + 'persistent_id' => env('MEMCACHED_PERSISTENT_ID'), + 'sasl' => [ + env('MEMCACHED_USERNAME'), + env('MEMCACHED_PASSWORD'), + ], + 'options' => [ + // Memcached::OPT_CONNECT_TIMEOUT => 2000, + ], + 'servers' => [ + [ + 'host' => env('MEMCACHED_HOST', '127.0.0.1'), + 'port' => env('MEMCACHED_PORT', 11211), + 'weight' => 100, + ], + ], + ], + + 'redis' => [ + 'driver' => 'redis', + 'connection' => env('REDIS_CACHE_CONNECTION', 'cache'), + 'lock_connection' => env('REDIS_CACHE_LOCK_CONNECTION', 'default'), + ], + + 'dynamodb' => [ + 'driver' => 'dynamodb', + 'key' => env('AWS_ACCESS_KEY_ID'), + 'secret' => env('AWS_SECRET_ACCESS_KEY'), + 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), + 'table' => env('DYNAMODB_CACHE_TABLE', 'cache'), + 'endpoint' => env('DYNAMODB_ENDPOINT'), + ], + + 'octane' => [ + 'driver' => 'octane', + ], + + ], + + /* + |-------------------------------------------------------------------------- + | Cache Key Prefix + |-------------------------------------------------------------------------- + | + | When utilizing the APC, database, memcached, Redis, and DynamoDB cache + | stores, there might be other applications using the same cache. For + | that reason, you may prefix every cache key to avoid collisions. + | + */ + + 'prefix' => env('CACHE_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_cache_'), + +]; diff --git a/config/cors.php b/config/cors.php new file mode 100644 index 0000000..6480dde --- /dev/null +++ b/config/cors.php @@ -0,0 +1,34 @@ + ['api/*', 'admin/*'], + + 'allowed_methods' => ['*'], + + 'allowed_origins' => ['*'], + + 'allowed_origins_patterns' => [], + + 'allowed_headers' => ['*'], + + 'exposed_headers' => [], + + 'max_age' => 0, + + 'supports_credentials' => false, + +]; diff --git a/config/database.php b/config/database.php new file mode 100644 index 0000000..9f07812 --- /dev/null +++ b/config/database.php @@ -0,0 +1,170 @@ + env('DB_CONNECTION', 'sqlite'), + + /* + |-------------------------------------------------------------------------- + | Database Connections + |-------------------------------------------------------------------------- + | + | Below are all of the database connections defined for your application. + | An example configuration is provided for each database system which + | is supported by Laravel. You're free to add / remove connections. + | + */ + + 'connections' => [ + + 'sqlite' => [ + 'driver' => 'sqlite', + 'url' => env('DB_URL'), + 'database' => env('DB_DATABASE', database_path('database.sqlite')), + 'prefix' => '', + 'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true), + ], + + 'mysql' => [ + 'driver' => 'mysql', + 'url' => env('DB_URL'), + 'host' => env('DB_HOST', '127.0.0.1'), + 'port' => env('DB_PORT', '3306'), + 'database' => env('DB_DATABASE', 'laravel'), + 'username' => env('DB_USERNAME', 'root'), + 'password' => env('DB_PASSWORD', ''), + 'unix_socket' => env('DB_SOCKET', ''), + 'charset' => env('DB_CHARSET', 'utf8mb4'), + 'collation' => env('DB_COLLATION', 'utf8mb4_unicode_ci'), + 'prefix' => 'sent_', + 'prefix_indexes' => true, + 'strict' => true, + 'engine' => null, + 'options' => extension_loaded('pdo_mysql') ? array_filter([ + PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'), + ]) : [], + ], + + 'mariadb' => [ + 'driver' => 'mariadb', + 'url' => env('DB_URL'), + 'host' => env('DB_HOST', '127.0.0.1'), + 'port' => env('DB_PORT', '3306'), + 'database' => env('DB_DATABASE', 'laravel'), + 'username' => env('DB_USERNAME', 'root'), + 'password' => env('DB_PASSWORD', ''), + 'unix_socket' => env('DB_SOCKET', ''), + 'charset' => env('DB_CHARSET', 'utf8mb4'), + 'collation' => env('DB_COLLATION', 'utf8mb4_unicode_ci'), + 'prefix' => '', + 'prefix_indexes' => true, + 'strict' => true, + 'engine' => null, + 'options' => extension_loaded('pdo_mysql') ? array_filter([ + PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'), + ]) : [], + ], + + 'pgsql' => [ + 'driver' => 'pgsql', + 'url' => env('DB_URL'), + 'host' => env('DB_HOST', '127.0.0.1'), + 'port' => env('DB_PORT', '5432'), + 'database' => env('DB_DATABASE', 'laravel'), + 'username' => env('DB_USERNAME', 'root'), + 'password' => env('DB_PASSWORD', ''), + 'charset' => env('DB_CHARSET', 'utf8'), + 'prefix' => '', + 'prefix_indexes' => true, + 'search_path' => 'public', + 'sslmode' => 'prefer', + ], + + 'sqlsrv' => [ + 'driver' => 'sqlsrv', + 'url' => env('DB_URL'), + 'host' => env('DB_HOST', 'localhost'), + 'port' => env('DB_PORT', '1433'), + 'database' => env('DB_DATABASE', 'laravel'), + 'username' => env('DB_USERNAME', 'root'), + 'password' => env('DB_PASSWORD', ''), + 'charset' => env('DB_CHARSET', 'utf8'), + 'prefix' => '', + 'prefix_indexes' => true, + // 'encrypt' => env('DB_ENCRYPT', 'yes'), + // 'trust_server_certificate' => env('DB_TRUST_SERVER_CERTIFICATE', 'false'), + ], + + ], + + /* + |-------------------------------------------------------------------------- + | Migration Repository Table + |-------------------------------------------------------------------------- + | + | This table keeps track of all the migrations that have already run for + | your application. Using this information, we can determine which of + | the migrations on disk haven't actually been run on the database. + | + */ + + 'migrations' => [ + 'table' => 'migrations', + 'update_date_on_publish' => true, + ], + + /* + |-------------------------------------------------------------------------- + | Redis Databases + |-------------------------------------------------------------------------- + | + | Redis is an open source, fast, and advanced key-value store that also + | provides a richer body of commands than a typical key-value system + | such as Memcached. You may define your connection settings here. + | + */ + + 'redis' => [ + + 'client' => env('REDIS_CLIENT', 'phpredis'), + + 'options' => [ + 'cluster' => env('REDIS_CLUSTER', 'redis'), + 'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_database_'), + ], + + 'default' => [ + 'url' => env('REDIS_URL'), + 'host' => env('REDIS_HOST', '127.0.0.1'), + 'username' => env('REDIS_USERNAME'), + 'password' => env('REDIS_PASSWORD'), + 'port' => env('REDIS_PORT', '6379'), + 'database' => env('REDIS_DB', '0'), + ], + + 'cache' => [ + 'url' => env('REDIS_URL'), + 'host' => env('REDIS_HOST', '127.0.0.1'), + 'username' => env('REDIS_USERNAME'), + 'password' => env('REDIS_PASSWORD'), + 'port' => env('REDIS_PORT', '6379'), + 'database' => env('REDIS_CACHE_DB', '1'), + ], + + ], + +]; diff --git a/config/debugbar.php b/config/debugbar.php new file mode 100644 index 0000000..44aff57 --- /dev/null +++ b/config/debugbar.php @@ -0,0 +1,325 @@ + env('DEBUGBAR_ENABLED', null), + 'except' => [ + 'telescope*', + 'horizon*', + ], + + /* + |-------------------------------------------------------------------------- + | Storage settings + |-------------------------------------------------------------------------- + | + | DebugBar stores data for session/ajax requests. + | You can disable this, so the debugbar stores data in headers/session, + | but this can cause problems with large data collectors. + | By default, file storage (in the storage folder) is used. Redis and PDO + | can also be used. For PDO, run the package migrations first. + | + | Warning: Enabling storage.open will allow everyone to access previous + | request, do not enable open storage in publicly available environments! + | Specify a callback if you want to limit based on IP or authentication. + | Leaving it to null will allow localhost only. + */ + 'storage' => [ + 'enabled' => true, + 'open' => env('DEBUGBAR_OPEN_STORAGE'), // bool/callback. + 'driver' => 'file', // redis, file, pdo, socket, custom + 'path' => storage_path('debugbar'), // For file driver + 'connection' => null, // Leave null for default connection (Redis/PDO) + 'provider' => '', // Instance of StorageInterface for custom driver + 'hostname' => '127.0.0.1', // Hostname to use with the "socket" driver + 'port' => 2304, // Port to use with the "socket" driver + ], + + /* + |-------------------------------------------------------------------------- + | Editor + |-------------------------------------------------------------------------- + | + | Choose your preferred editor to use when clicking file name. + | + | Supported: "phpstorm", "vscode", "vscode-insiders", "vscode-remote", + | "vscode-insiders-remote", "vscodium", "textmate", "emacs", + | "sublime", "atom", "nova", "macvim", "idea", "netbeans", + | "xdebug", "espresso" + | + */ + + 'editor' => env('DEBUGBAR_EDITOR') ?: env('IGNITION_EDITOR', 'phpstorm'), + + /* + |-------------------------------------------------------------------------- + | Remote Path Mapping + |-------------------------------------------------------------------------- + | + | If you are using a remote dev server, like Laravel Homestead, Docker, or + | even a remote VPS, it will be necessary to specify your path mapping. + | + | Leaving one, or both of these, empty or null will not trigger the remote + | URL changes and Debugbar will treat your editor links as local files. + | + | "remote_sites_path" is an absolute base path for your sites or projects + | in Homestead, Vagrant, Docker, or another remote development server. + | + | Example value: "/home/vagrant/Code" + | + | "local_sites_path" is an absolute base path for your sites or projects + | on your local computer where your IDE or code editor is running on. + | + | Example values: "/Users//Code", "C:\Users\\Documents\Code" + | + */ + + 'remote_sites_path' => env('DEBUGBAR_REMOTE_SITES_PATH'), + 'local_sites_path' => env('DEBUGBAR_LOCAL_SITES_PATH', env('IGNITION_LOCAL_SITES_PATH')), + + /* + |-------------------------------------------------------------------------- + | Vendors + |-------------------------------------------------------------------------- + | + | Vendor files are included by default, but can be set to false. + | This can also be set to 'js' or 'css', to only include javascript or css vendor files. + | Vendor files are for css: font-awesome (including fonts) and highlight.js (css files) + | and for js: jquery and highlight.js + | So if you want syntax highlighting, set it to true. + | jQuery is set to not conflict with existing jQuery scripts. + | + */ + + 'include_vendors' => true, + + /* + |-------------------------------------------------------------------------- + | Capture Ajax Requests + |-------------------------------------------------------------------------- + | + | The Debugbar can capture Ajax requests and display them. If you don't want this (ie. because of errors), + | you can use this option to disable sending the data through the headers. + | + | Optionally, you can also send ServerTiming headers on ajax requests for the Chrome DevTools. + | + | Note for your request to be identified as ajax requests they must either send the header + | X-Requested-With with the value XMLHttpRequest (most JS libraries send this), or have application/json as a Accept header. + | + | By default `ajax_handler_auto_show` is set to true allowing ajax requests to be shown automatically in the Debugbar. + | Changing `ajax_handler_auto_show` to false will prevent the Debugbar from reloading. + */ + + 'capture_ajax' => true, + 'add_ajax_timing' => false, + 'ajax_handler_auto_show' => true, + 'ajax_handler_enable_tab' => true, + + /* + |-------------------------------------------------------------------------- + | Custom Error Handler for Deprecated warnings + |-------------------------------------------------------------------------- + | + | When enabled, the Debugbar shows deprecated warnings for Symfony components + | in the Messages tab. + | + */ + 'error_handler' => false, + + /* + |-------------------------------------------------------------------------- + | Clockwork integration + |-------------------------------------------------------------------------- + | + | The Debugbar can emulate the Clockwork headers, so you can use the Chrome + | Extension, without the server-side code. It uses Debugbar collectors instead. + | + */ + 'clockwork' => false, + + /* + |-------------------------------------------------------------------------- + | DataCollectors + |-------------------------------------------------------------------------- + | + | Enable/disable DataCollectors + | + */ + + 'collectors' => [ + 'phpinfo' => true, // Php version + 'messages' => true, // Messages + 'time' => true, // Time Datalogger + 'memory' => true, // Memory usage + 'exceptions' => true, // Exception displayer + 'log' => true, // Logs from Monolog (merged in messages if enabled) + 'db' => true, // Show database (PDO) queries and bindings + 'views' => true, // Views with their data + 'route' => true, // Current route information + 'auth' => false, // Display Laravel authentication status + 'gate' => true, // Display Laravel Gate checks + 'session' => true, // Display session data + 'symfony_request' => true, // Only one can be enabled.. + 'mail' => true, // Catch mail messages + 'laravel' => false, // Laravel version and environment + 'events' => false, // All events fired + 'default_request' => false, // Regular or special Symfony request logger + 'logs' => false, // Add the latest log messages + 'files' => false, // Show the included files + 'config' => false, // Display config settings + 'cache' => false, // Display cache events + 'models' => true, // Display models + 'livewire' => true, // Display Livewire (when available) + 'jobs' => false, // Display dispatched jobs + ], + + /* + |-------------------------------------------------------------------------- + | Extra options + |-------------------------------------------------------------------------- + | + | Configure some DataCollectors + | + */ + + 'options' => [ + 'time' => [ + 'memory_usage' => false, // Calculated by subtracting memory start and end, it may be inaccurate + ], + 'messages' => [ + 'trace' => true, // Trace the origin of the debug message + ], + 'memory' => [ + 'reset_peak' => false, // run memory_reset_peak_usage before collecting + 'with_baseline' => false, // Set boot memory usage as memory peak baseline + 'precision' => 0, // Memory rounding precision + ], + 'auth' => [ + 'show_name' => true, // Also show the users name/email in the debugbar + 'show_guards' => true, // Show the guards that are used + ], + 'db' => [ + 'with_params' => true, // Render SQL with the parameters substituted + 'backtrace' => true, // Use a backtrace to find the origin of the query in your files. + 'backtrace_exclude_paths' => [], // Paths to exclude from backtrace. (in addition to defaults) + 'timeline' => false, // Add the queries to the timeline + 'duration_background' => true, // Show shaded background on each query relative to how long it took to execute. + 'explain' => [ // Show EXPLAIN output on queries + 'enabled' => false, + 'types' => ['SELECT'], // Deprecated setting, is always only SELECT + ], + 'hints' => false, // Show hints for common mistakes + 'show_copy' => false, // Show copy button next to the query, + 'slow_threshold' => false, // Only track queries that last longer than this time in ms + 'memory_usage' => false, // Show queries memory usage + 'soft_limit' => 100, // After the soft limit, no parameters/backtrace are captured + 'hard_limit' => 500, // After the hard limit, queries are ignored + ], + 'mail' => [ + 'timeline' => false, // Add mails to the timeline + 'show_body' => true, + ], + 'views' => [ + 'timeline' => false, // Add the views to the timeline (Experimental) + 'data' => false, //true for all data, 'keys' for only names, false for no parameters. + 'group' => 50, // Group duplicate views. Pass value to auto-group, or true/false to force + 'exclude_paths' => [ // Add the paths which you don't want to appear in the views + 'vendor/filament' // Exclude Filament components by default + ], + ], + 'route' => [ + 'label' => true, // show complete route on bar + ], + 'session' => [ + 'hiddens' => [], // hides sensitive values using array paths + ], + 'symfony_request' => [ + 'hiddens' => [], // hides sensitive values using array paths, example: request_request.password + ], + 'events' => [ + 'data' => false, // collect events data, listeners + ], + 'logs' => [ + 'file' => null, + ], + 'cache' => [ + 'values' => true, // collect cache values + ], + ], + + /* + |-------------------------------------------------------------------------- + | Inject Debugbar in Response + |-------------------------------------------------------------------------- + | + | Usually, the debugbar is added just before , by listening to the + | Response after the App is done. If you disable this, you have to add them + | in your template yourself. See http://phpdebugbar.com/docs/rendering.html + | + */ + + 'inject' => true, + + /* + |-------------------------------------------------------------------------- + | DebugBar route prefix + |-------------------------------------------------------------------------- + | + | Sometimes you want to set route prefix to be used by DebugBar to load + | its resources from. Usually the need comes from misconfigured web server or + | from trying to overcome bugs like this: http://trac.nginx.org/nginx/ticket/97 + | + */ + 'route_prefix' => '_debugbar', + + /* + |-------------------------------------------------------------------------- + | DebugBar route middleware + |-------------------------------------------------------------------------- + | + | Additional middleware to run on the Debugbar routes + */ + 'route_middleware' => [], + + /* + |-------------------------------------------------------------------------- + | DebugBar route domain + |-------------------------------------------------------------------------- + | + | By default DebugBar route served from the same domain that request served. + | To override default domain, specify it as a non-empty value. + */ + 'route_domain' => null, + + /* + |-------------------------------------------------------------------------- + | DebugBar theme + |-------------------------------------------------------------------------- + | + | Switches between light and dark theme. If set to auto it will respect system preferences + | Possible values: auto, light, dark + */ + 'theme' => env('DEBUGBAR_THEME', 'auto'), + + /* + |-------------------------------------------------------------------------- + | Backtrace stack limit + |-------------------------------------------------------------------------- + | + | By default, the DebugBar limits the number of frames returned by the 'debug_backtrace()' function. + | If you need larger stacktraces, you can increase this number. Setting it to 0 will result in no limit. + */ + 'debug_backtrace_limit' => 50, +]; diff --git a/config/filesystems.php b/config/filesystems.php new file mode 100644 index 0000000..46e4e9a --- /dev/null +++ b/config/filesystems.php @@ -0,0 +1,94 @@ + env('FILESYSTEM_DISK', 'local'), + + /* + |-------------------------------------------------------------------------- + | Filesystem Disks + |-------------------------------------------------------------------------- + | + | Below you may configure as many filesystem disks as necessary, and you + | may even configure multiple disks for the same driver. Examples for + | most supported storage drivers are configured here for reference. + | + | Supported Drivers: "local", "ftp", "sftp", "s3" + | + */ + + 'disks' => [ + + 'local' => [ + 'driver' => 'local', + 'root' => storage_path('app'), + 'throw' => false, + ], + + 'public' => [ + 'driver' => 'local', + 'root' => storage_path('app/public'), + 'url' => env('APP_URL').'/storage', + 'visibility' => 'public', + 'throw' => false, + ], + + 's3' => [ + 'driver' => 's3', + 'key' => env('AWS_ACCESS_KEY_ID'), + 'secret' => env('AWS_SECRET_ACCESS_KEY'), + 'region' => env('AWS_DEFAULT_REGION'), + 'bucket' => env('AWS_BUCKET'), + 'url' => env('AWS_URL'), + 'endpoint' => env('AWS_ENDPOINT'), + 'use_path_style_endpoint' => env('AWS_USE_PATH_STYLE_ENDPOINT', false), + 'throw' => false, + ], + + 'oss' => [ + "driver" => "oss", + "access_key_id" => env("OSS_ACCESS_KEY_ID"), // Required, yourAccessKeyId + "access_key_secret" => env("OSS_ACCESS_KEY_SECRET"), // Required, yourAccessKeySecret + "bucket" => env("OSS_BUCKET"), // Required, for example: my-bucket + "endpoint" => env("OSS_ENDPOINT"), // Required, for example: oss-cn-shanghai.aliyuncs.com + "internal" => env("OSS_INTERNAL", null), // Optional, for example: oss-cn-shanghai-internal.aliyuncs.com + "domain" => env("OSS_DOMAIN", null), // Optional, for example: oss.my-domain.com + "is_cname" => env("OSS_CNAME", false), // Optional, if the Endpoint is a custom domain name, this must be true, see: https://github.com/aliyun/aliyun-oss-php-sdk/blob/572d0f8e099e8630ae7139ed3fdedb926c7a760f/src/OSS/OssClient.php#L113C1-L122C78 + "prefix" => env("OSS_PREFIX", ""), // Optional, the prefix of the store path + "use_ssl" => env("OSS_SSL", false), // Optional, whether to use HTTPS + "throw" => env("OSS_THROW", false), // Optional, whether to throw an exception that causes an error + "signatureVersion" => env("OSS_SIGNATURE_VERSION", "v1"), // Optional, select v1 or v4 as the signature version + "region" => env("OSS_REGION", ""), // Optional, for example: cn-shanghai, used only when v4 signature version is selected + "options" => [], // Optional, add global configuration parameters, For example: [\OSS\OssClient::OSS_CHECK_MD5 => false] + "macros" => [] // Optional, add custom Macro, For example: [\App\Macros\ListBuckets::class, \App\Macros\CreateBucket::class] + ], + + ], + + /* + |-------------------------------------------------------------------------- + | Symbolic Links + |-------------------------------------------------------------------------- + | + | Here you may configure the symbolic links that will be created when the + | `storage:link` Artisan command is executed. The array keys should be + | the locations of the links and the values should be their targets. + | + */ + + 'links' => [ + public_path('storage') => storage_path('app/public'), + ], + +]; diff --git a/config/gateway.php b/config/gateway.php new file mode 100644 index 0000000..046495f --- /dev/null +++ b/config/gateway.php @@ -0,0 +1,40 @@ + +// +---------------------------------------------------------------------- + +return[ + // 扩展自身需要的配置 + 'protocol' => 'websocket', // 协议 支持 tcp udp unix http websocket text + 'host' => '0.0.0.0', // 监听地址 + 'port' => 2348, // 监听端口 + 'socket' => '', // 完整监听地址 + 'context' => [], // socket 上下文选项 + 'register_deploy' => true, // 是否需要部署register + 'businessWorker_deploy' => true, // 是否需要部署businessWorker + 'gateway_deploy' => true, // 是否需要部署gateway + + // Register配置 + 'registerAddress' => '127.0.0.1:1236', + + // Gateway配置 + 'name' => 'workerman', + 'count' => 1, + 'lanIp' => '127.0.0.1', + 'startPort' => 2000, + 'daemonize' => false, + 'pingInterval' => 30, + 'pingNotResponseLimit' => 0, + 'pingData' => '{"type":"ping"}', + + // BusinsessWorker配置 + 'businessWorker' => [ + 'name' => 'BusinessWorker', + 'count' => 1, + 'eventHandler' => '\Modules\Workerman\Events\WorkermanEvent', + ], +]; diff --git a/config/jwt.php b/config/jwt.php new file mode 100644 index 0000000..4d23414 --- /dev/null +++ b/config/jwt.php @@ -0,0 +1,301 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +return [ + + /* + |-------------------------------------------------------------------------- + | JWT Authentication Secret + |-------------------------------------------------------------------------- + | + | Don't forget to set this in your .env file, as it will be used to sign + | your tokens. A helper command is provided for this: + | `php artisan jwt:secret` + | + | Note: This will be used for Symmetric algorithms only (HMAC), + | since RSA and ECDSA use a private/public key combo (See below). + | + */ + + 'secret' => env('JWT_SECRET'), + + /* + |-------------------------------------------------------------------------- + | JWT Authentication Keys + |-------------------------------------------------------------------------- + | + | The algorithm you are using, will determine whether your tokens are + | signed with a random string (defined in `JWT_SECRET`) or using the + | following public & private keys. + | + | Symmetric Algorithms: + | HS256, HS384 & HS512 will use `JWT_SECRET`. + | + | Asymmetric Algorithms: + | RS256, RS384 & RS512 / ES256, ES384 & ES512 will use the keys below. + | + */ + + 'keys' => [ + + /* + |-------------------------------------------------------------------------- + | Public Key + |-------------------------------------------------------------------------- + | + | A path or resource to your public key. + | + | E.g. 'file://path/to/public/key' + | + */ + + 'public' => env('JWT_PUBLIC_KEY'), + + /* + |-------------------------------------------------------------------------- + | Private Key + |-------------------------------------------------------------------------- + | + | A path or resource to your private key. + | + | E.g. 'file://path/to/private/key' + | + */ + + 'private' => env('JWT_PRIVATE_KEY'), + + /* + |-------------------------------------------------------------------------- + | Passphrase + |-------------------------------------------------------------------------- + | + | The passphrase for your private key. Can be null if none set. + | + */ + + 'passphrase' => env('JWT_PASSPHRASE'), + + ], + + /* + |-------------------------------------------------------------------------- + | JWT time to live + |-------------------------------------------------------------------------- + | + | Specify the length of time (in minutes) that the token will be valid for. + | Defaults to 1 hour. + | + | You can also set this to null, to yield a never expiring token. + | Some people may want this behaviour for e.g. a mobile app. + | This is not particularly recommended, so make sure you have appropriate + | systems in place to revoke the token if necessary. + | Notice: If you set this to null you should remove 'exp' element from 'required_claims' list. + | + */ + + 'ttl' => env('JWT_TTL', 60 * 60 * 24 * 7 ), + + /* + |-------------------------------------------------------------------------- + | Refresh time to live + |-------------------------------------------------------------------------- + | + | Specify the length of time (in minutes) that the token can be refreshed + | within. I.E. The user can refresh their token within a 2 week window of + | the original token being created until they must re-authenticate. + | Defaults to 2 weeks. + | + | You can also set this to null, to yield an infinite refresh time. + | Some may want this instead of never expiring tokens for e.g. a mobile app. + | This is not particularly recommended, so make sure you have appropriate + | systems in place to revoke the token if necessary. + | + */ + + 'refresh_ttl' => env('JWT_REFRESH_TTL', 20160), + + /* + |-------------------------------------------------------------------------- + | JWT hashing algorithm + |-------------------------------------------------------------------------- + | + | Specify the hashing algorithm that will be used to sign the token. + | + */ + + 'algo' => env('JWT_ALGO', Tymon\JWTAuth\Providers\JWT\Provider::ALGO_HS256), + + /* + |-------------------------------------------------------------------------- + | Required Claims + |-------------------------------------------------------------------------- + | + | Specify the required claims that must exist in any token. + | A TokenInvalidException will be thrown if any of these claims are not + | present in the payload. + | + */ + + 'required_claims' => [ + 'iss', + 'iat', + 'exp', + 'nbf', + 'sub', + 'jti', + ], + + /* + |-------------------------------------------------------------------------- + | Persistent Claims + |-------------------------------------------------------------------------- + | + | Specify the claim keys to be persisted when refreshing a token. + | `sub` and `iat` will automatically be persisted, in + | addition to the these claims. + | + | Note: If a claim does not exist then it will be ignored. + | + */ + + 'persistent_claims' => [ + // 'foo', + // 'bar', + ], + + /* + |-------------------------------------------------------------------------- + | Lock Subject + |-------------------------------------------------------------------------- + | + | This will determine whether a `prv` claim is automatically added to + | the token. The purpose of this is to ensure that if you have multiple + | authentication models e.g. `App\User` & `App\OtherPerson`, then we + | should prevent one authentication request from impersonating another, + | if 2 tokens happen to have the same id across the 2 different models. + | + | Under specific circumstances, you may want to disable this behaviour + | e.g. if you only have one authentication model, then you would save + | a little on token size. + | + */ + + 'lock_subject' => true, + + /* + |-------------------------------------------------------------------------- + | Leeway + |-------------------------------------------------------------------------- + | + | This property gives the jwt timestamp claims some "leeway". + | Meaning that if you have any unavoidable slight clock skew on + | any of your servers then this will afford you some level of cushioning. + | + | This applies to the claims `iat`, `nbf` and `exp`. + | + | Specify in seconds - only if you know you need it. + | + */ + + 'leeway' => env('JWT_LEEWAY', 0), + + /* + |-------------------------------------------------------------------------- + | Blacklist Enabled + |-------------------------------------------------------------------------- + | + | In order to invalidate tokens, you must have the blacklist enabled. + | If you do not want or need this functionality, then set this to false. + | + */ + + 'blacklist_enabled' => env('JWT_BLACKLIST_ENABLED', true), + + /* + | ------------------------------------------------------------------------- + | Blacklist Grace Period + | ------------------------------------------------------------------------- + | + | When multiple concurrent requests are made with the same JWT, + | it is possible that some of them fail, due to token regeneration + | on every request. + | + | Set grace period in seconds to prevent parallel request failure. + | + */ + + 'blacklist_grace_period' => env('JWT_BLACKLIST_GRACE_PERIOD', 0), + + /* + |-------------------------------------------------------------------------- + | Cookies encryption + |-------------------------------------------------------------------------- + | + | By default Laravel encrypt cookies for security reason. + | If you decide to not decrypt cookies, you will have to configure Laravel + | to not encrypt your cookie token by adding its name into the $except + | array available in the middleware "EncryptCookies" provided by Laravel. + | see https://laravel.com/docs/master/responses#cookies-and-encryption + | for details. + | + | Set it to true if you want to decrypt cookies. + | + */ + + 'decrypt_cookies' => false, + + /* + |-------------------------------------------------------------------------- + | Providers + |-------------------------------------------------------------------------- + | + | Specify the various providers used throughout the package. + | + */ + + 'providers' => [ + + /* + |-------------------------------------------------------------------------- + | JWT Provider + |-------------------------------------------------------------------------- + | + | Specify the provider that is used to create and decode the tokens. + | + */ + + 'jwt' => Tymon\JWTAuth\Providers\JWT\Lcobucci::class, + + /* + |-------------------------------------------------------------------------- + | Authentication Provider + |-------------------------------------------------------------------------- + | + | Specify the provider that is used to authenticate users. + | + */ + + 'auth' => Tymon\JWTAuth\Providers\Auth\Illuminate::class, + + /* + |-------------------------------------------------------------------------- + | Storage Provider + |-------------------------------------------------------------------------- + | + | Specify the provider that is used to store tokens in the blacklist. + | + */ + + 'storage' => Tymon\JWTAuth\Providers\Storage\Illuminate::class, + + ], + +]; diff --git a/config/logging.php b/config/logging.php new file mode 100644 index 0000000..d526b64 --- /dev/null +++ b/config/logging.php @@ -0,0 +1,132 @@ + env('LOG_CHANNEL', 'stack'), + + /* + |-------------------------------------------------------------------------- + | Deprecations Log Channel + |-------------------------------------------------------------------------- + | + | This option controls the log channel that should be used to log warnings + | regarding deprecated PHP and library features. This allows you to get + | your application ready for upcoming major versions of dependencies. + | + */ + + 'deprecations' => [ + 'channel' => env('LOG_DEPRECATIONS_CHANNEL', 'null'), + 'trace' => env('LOG_DEPRECATIONS_TRACE', false), + ], + + /* + |-------------------------------------------------------------------------- + | Log Channels + |-------------------------------------------------------------------------- + | + | Here you may configure the log channels for your application. Laravel + | utilizes the Monolog PHP logging library, which includes a variety + | of powerful log handlers and formatters that you're free to use. + | + | Available Drivers: "single", "daily", "slack", "syslog", + | "errorlog", "monolog", "custom", "stack" + | + */ + + 'channels' => [ + + 'stack' => [ + 'driver' => 'stack', + 'channels' => explode(',', env('LOG_STACK', 'single')), + 'ignore_exceptions' => false, + ], + + 'single' => [ + 'driver' => 'single', + 'path' => storage_path('logs/laravel.log'), + 'level' => env('LOG_LEVEL', 'debug'), + 'replace_placeholders' => true, + ], + + 'daily' => [ + 'driver' => 'daily', + 'path' => storage_path('logs/laravel.log'), + 'level' => env('LOG_LEVEL', 'debug'), + 'days' => env('LOG_DAILY_DAYS', 14), + 'replace_placeholders' => true, + ], + + 'slack' => [ + 'driver' => 'slack', + 'url' => env('LOG_SLACK_WEBHOOK_URL'), + 'username' => env('LOG_SLACK_USERNAME', 'Laravel Log'), + 'emoji' => env('LOG_SLACK_EMOJI', ':boom:'), + 'level' => env('LOG_LEVEL', 'critical'), + 'replace_placeholders' => true, + ], + + 'papertrail' => [ + 'driver' => 'monolog', + 'level' => env('LOG_LEVEL', 'debug'), + 'handler' => env('LOG_PAPERTRAIL_HANDLER', SyslogUdpHandler::class), + 'handler_with' => [ + 'host' => env('PAPERTRAIL_URL'), + 'port' => env('PAPERTRAIL_PORT'), + 'connectionString' => 'tls://'.env('PAPERTRAIL_URL').':'.env('PAPERTRAIL_PORT'), + ], + 'processors' => [PsrLogMessageProcessor::class], + ], + + 'stderr' => [ + 'driver' => 'monolog', + 'level' => env('LOG_LEVEL', 'debug'), + 'handler' => StreamHandler::class, + 'formatter' => env('LOG_STDERR_FORMATTER'), + 'with' => [ + 'stream' => 'php://stderr', + ], + 'processors' => [PsrLogMessageProcessor::class], + ], + + 'syslog' => [ + 'driver' => 'syslog', + 'level' => env('LOG_LEVEL', 'debug'), + 'facility' => env('LOG_SYSLOG_FACILITY', LOG_USER), + 'replace_placeholders' => true, + ], + + 'errorlog' => [ + 'driver' => 'errorlog', + 'level' => env('LOG_LEVEL', 'debug'), + 'replace_placeholders' => true, + ], + + 'null' => [ + 'driver' => 'monolog', + 'handler' => NullHandler::class, + ], + + 'emergency' => [ + 'path' => storage_path('logs/laravel.log'), + ], + + ], + +]; diff --git a/config/mail.php b/config/mail.php new file mode 100644 index 0000000..07342fc --- /dev/null +++ b/config/mail.php @@ -0,0 +1,116 @@ + env('MAIL_MAILER', 'log'), + + /* + |-------------------------------------------------------------------------- + | Mailer Configurations + |-------------------------------------------------------------------------- + | + | Here you may configure all of the mailers used by your application plus + | their respective settings. Several examples have been configured for + | you and you are free to add your own as your application requires. + | + | Laravel supports a variety of mail "transport" drivers that can be used + | when delivering an email. You may specify which one you're using for + | your mailers below. You may also add additional mailers if needed. + | + | Supported: "smtp", "sendmail", "mailgun", "ses", "ses-v2", + | "postmark", "resend", "log", "array", + | "failover", "roundrobin" + | + */ + + 'mailers' => [ + + 'smtp' => [ + 'transport' => 'smtp', + 'url' => env('MAIL_URL'), + 'host' => env('MAIL_HOST', '127.0.0.1'), + 'port' => env('MAIL_PORT', 2525), + 'encryption' => env('MAIL_ENCRYPTION', 'tls'), + 'username' => env('MAIL_USERNAME'), + 'password' => env('MAIL_PASSWORD'), + 'timeout' => null, + 'local_domain' => env('MAIL_EHLO_DOMAIN'), + ], + + 'ses' => [ + 'transport' => 'ses', + ], + + 'postmark' => [ + 'transport' => 'postmark', + // 'message_stream_id' => env('POSTMARK_MESSAGE_STREAM_ID'), + // 'client' => [ + // 'timeout' => 5, + // ], + ], + + 'resend' => [ + 'transport' => 'resend', + ], + + 'sendmail' => [ + 'transport' => 'sendmail', + 'path' => env('MAIL_SENDMAIL_PATH', '/usr/sbin/sendmail -bs -i'), + ], + + 'log' => [ + 'transport' => 'log', + 'channel' => env('MAIL_LOG_CHANNEL'), + ], + + 'array' => [ + 'transport' => 'array', + ], + + 'failover' => [ + 'transport' => 'failover', + 'mailers' => [ + 'smtp', + 'log', + ], + ], + + 'roundrobin' => [ + 'transport' => 'roundrobin', + 'mailers' => [ + 'ses', + 'postmark', + ], + ], + + ], + + /* + |-------------------------------------------------------------------------- + | Global "From" Address + |-------------------------------------------------------------------------- + | + | You may wish for all emails sent by your application to be sent from + | the same address. Here you may specify a name and address that is + | used globally for all emails that are sent by your application. + | + */ + + 'from' => [ + 'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'), + 'name' => env('MAIL_FROM_NAME', 'Example'), + ], + +]; diff --git a/config/modules.php b/config/modules.php new file mode 100644 index 0000000..9d09af2 --- /dev/null +++ b/config/modules.php @@ -0,0 +1,273 @@ + 'Modules', + + /* + |-------------------------------------------------------------------------- + | Module Stubs + |-------------------------------------------------------------------------- + | + | Default module stubs. + | + */ + 'stubs' => [ + 'enabled' => false, + 'path' => base_path('storage/stubs'), + 'files' => [ + 'routes/web' => 'routes/web.php', + 'routes/api' => 'routes/api.php', + 'routes/admin' => 'routes/admin.php', + // 'views/index' => 'resources/views/index.blade.php', + // 'views/master' => 'resources/views/layouts/master.blade.php', + 'scaffold/config' => 'config/config.php', + 'composer' => 'composer.json', + // 'assets/js/app' => 'resources/assets/js/app.js', + // 'assets/sass/app' => 'resources/assets/sass/app.scss', + // 'vite' => 'vite.config.js', + // 'package' => 'package.json', + ], + 'replacements' => [ + 'routes/web' => ['LOWER_NAME', 'STUDLY_NAME', 'MODULE_NAMESPACE', 'CONTROLLER_NAMESPACE'], + 'routes/api' => ['LOWER_NAME', 'STUDLY_NAME', 'MODULE_NAMESPACE', 'CONTROLLER_NAMESPACE'], + 'routes/admin' => ['LOWER_NAME', 'STUDLY_NAME', 'MODULE_NAMESPACE', 'CONTROLLER_NAMESPACE'], + 'vite' => ['LOWER_NAME', 'STUDLY_NAME'], + 'json' => ['LOWER_NAME', 'STUDLY_NAME', 'MODULE_NAMESPACE', 'PROVIDER_NAMESPACE'], + 'views/index' => ['LOWER_NAME'], + 'views/master' => ['LOWER_NAME', 'STUDLY_NAME'], + 'scaffold/config' => ['STUDLY_NAME'], + 'composer' => [ + 'LOWER_NAME', + 'STUDLY_NAME', + 'VENDOR', + 'AUTHOR_NAME', + 'AUTHOR_EMAIL', + 'MODULE_NAMESPACE', + 'PROVIDER_NAMESPACE', + 'APP_FOLDER_NAME', + ], + ], + 'gitkeep' => true, + ], + 'paths' => [ + /* + |-------------------------------------------------------------------------- + | Modules path + |-------------------------------------------------------------------------- + | + | This path is used to save the generated module. + | This path will also be added automatically to the list of scanned folders. + | + */ + 'modules' => base_path('modules'), + + /* + |-------------------------------------------------------------------------- + | Modules assets path + |-------------------------------------------------------------------------- + | + | Here you may update the modules' assets path. + | + */ + 'assets' => public_path('modules'), + + /* + |-------------------------------------------------------------------------- + | The migrations' path + |-------------------------------------------------------------------------- + | + | Where you run the 'module:publish-migration' command, where do you publish the + | the migration files? + | + */ + 'migration' => base_path('database/migrations'), + + /* + |-------------------------------------------------------------------------- + | The app path + |-------------------------------------------------------------------------- + | + | app folder name + | for example can change it to 'src' or 'App' + */ + 'app_folder' => 'app/', + + /* + |-------------------------------------------------------------------------- + | Generator path + |-------------------------------------------------------------------------- + | Customise the paths where the folders will be generated. + | Setting the generate key to false will not generate that folder + */ + 'generator' => [ + // app/ + 'actions' => ['path' => 'app/Actions', 'generate' => false], + 'casts' => ['path' => 'app/Casts', 'generate' => false], + 'channels' => ['path' => 'app/Broadcasting', 'generate' => false], + 'class' => ['path' => 'app/Classes', 'generate' => false], + 'command' => ['path' => 'app/Console', 'generate' => false], + 'component-class' => ['path' => 'app/View/Components', 'generate' => false], + 'emails' => ['path' => 'app/Emails', 'generate' => false], + 'event' => ['path' => 'app/Events', 'generate' => false], + 'enums' => ['path' => 'app/Enums', 'generate' => false], + 'exceptions' => ['path' => 'app/Exceptions', 'generate' => false], + 'jobs' => ['path' => 'app/Jobs', 'generate' => false], + 'helpers' => ['path' => 'app/Helpers', 'generate' => false], + 'interfaces' => ['path' => 'app/Interfaces', 'generate' => false], + 'listener' => ['path' => 'app/Listeners', 'generate' => false], + 'model' => ['path' => 'app/Models', 'generate' => true], + 'notifications' => ['path' => 'app/Notifications', 'generate' => false], + 'observer' => ['path' => 'app/Observers', 'generate' => false], + 'policies' => ['path' => 'app/Policies', 'generate' => false], + 'provider' => ['path' => 'app/Providers', 'generate' => true], + 'repository' => ['path' => 'app/Repositories', 'generate' => false], + 'resource' => ['path' => 'app/Transformers', 'generate' => false], + 'route-provider' => ['path' => 'app/Providers', 'generate' => true], + 'rules' => ['path' => 'app/Rules', 'generate' => false], + 'services' => ['path' => 'app/Services', 'generate' => true], + 'scopes' => ['path' => 'app/Models/Scopes', 'generate' => false], + 'traits' => ['path' => 'app/Traits', 'generate' => false], + + // app/Http/ + 'controller' => ['path' => 'app/Controllers', 'generate' => true], + 'filter' => ['path' => 'app/Http/Middleware', 'generate' => false], + 'request' => ['path' => 'app/Http/Requests', 'generate' => false], + + // config/ + 'config' => ['path' => 'config', 'generate' => true], + + // database/ + 'factory' => ['path' => 'database/factories', 'generate' => true], + 'migration' => ['path' => 'database/migrations', 'generate' => true], + 'seeder' => ['path' => 'database/seeders', 'generate' => true], + + // lang/ + 'lang' => ['path' => 'lang', 'generate' => false], + + // resource/ + 'assets' => ['path' => 'resources/assets', 'generate' => false], + 'component-view' => ['path' => 'resources/views/components', 'generate' => false], + 'views' => ['path' => 'resources/views', 'generate' => false], + + // routes/ + 'routes' => ['path' => 'routes', 'generate' => true], + + // tests/ + 'test-feature' => ['path' => 'tests/Feature', 'generate' => false], + 'test-unit' => ['path' => 'tests/Unit', 'generate' => false], + ], + ], + + /* + |-------------------------------------------------------------------------- + | Package commands + |-------------------------------------------------------------------------- + | + | Here you can define which commands will be visible and used in your + | application. You can add your own commands to merge section. + | + */ + 'commands' => ConsoleServiceProvider::defaultCommands() + ->merge([ + // New commands go here + ])->toArray(), + + /* + |-------------------------------------------------------------------------- + | Scan Path + |-------------------------------------------------------------------------- + | + | Here you define which folder will be scanned. By default will scan vendor + | directory. This is useful if you host the package in packagist website. + | + */ + 'scan' => [ + 'enabled' => false, + 'paths' => [ + base_path('vendor/*/*'), + ], + ], + + /* + |-------------------------------------------------------------------------- + | Composer File Template + |-------------------------------------------------------------------------- + | + | Here is the config for the composer.json file, generated by this package + | + */ + 'composer' => [ + 'vendor' => env('MODULE_VENDOR', 'tensent'), + 'author' => [ + 'name' => env('MODULE_AUTHOR_NAME', 'molong'), + 'email' => env('MODULE_AUTHOR_EMAIL', 'molong@tensent.cn'), + ], + 'composer-output' => false, + ], + + /* + |-------------------------------------------------------------------------- + | Caching + |-------------------------------------------------------------------------- + | + | Here is the config for setting up the caching feature. + | + */ + 'cache' => [ + 'enabled' => env('MODULES_CACHE_ENABLED', false), + 'driver' => env('MODULES_CACHE_DRIVER', 'file'), + 'key' => env('MODULES_CACHE_KEY', 'laravel-modules'), + 'lifetime' => env('MODULES_CACHE_LIFETIME', 60), + ], + + /* + |-------------------------------------------------------------------------- + | Choose what laravel-modules will register as custom namespaces. + | Setting one to false will require you to register that part + | in your own Service Provider class. + |-------------------------------------------------------------------------- + */ + 'register' => [ + 'translations' => true, + /** + * load files on boot or register method + */ + 'files' => 'register', + ], + + /* + |-------------------------------------------------------------------------- + | Activators + |-------------------------------------------------------------------------- + | + | You can define new types of activators here, file, database, etc. The only + | required parameter is 'class'. + | The file activator will store the activation status in storage/installed_modules + */ + 'activators' => [ + 'file' => [ + 'class' => FileActivator::class, + 'statuses-file' => base_path('storage/modules_statuses.json'), + 'cache-key' => 'activator.installed', + 'cache-lifetime' => 604800, + ], + 'database' => [ + 'class' => \App\Services\System\ModulesService::class, + 'model' => \App\Models\System\Modules::class + ] + ], + + 'activator' => 'file', +]; diff --git a/config/queue.php b/config/queue.php new file mode 100644 index 0000000..116bd8d --- /dev/null +++ b/config/queue.php @@ -0,0 +1,112 @@ + env('QUEUE_CONNECTION', 'database'), + + /* + |-------------------------------------------------------------------------- + | Queue Connections + |-------------------------------------------------------------------------- + | + | Here you may configure the connection options for every queue backend + | used by your application. An example configuration is provided for + | each backend supported by Laravel. You're also free to add more. + | + | Drivers: "sync", "database", "beanstalkd", "sqs", "redis", "null" + | + */ + + 'connections' => [ + + 'sync' => [ + 'driver' => 'sync', + ], + + 'database' => [ + 'driver' => 'database', + 'connection' => env('DB_QUEUE_CONNECTION'), + 'table' => env('DB_QUEUE_TABLE', 'jobs'), + 'queue' => env('DB_QUEUE', 'default'), + 'retry_after' => (int) env('DB_QUEUE_RETRY_AFTER', 90), + 'after_commit' => false, + ], + + 'beanstalkd' => [ + 'driver' => 'beanstalkd', + 'host' => env('BEANSTALKD_QUEUE_HOST', 'localhost'), + 'queue' => env('BEANSTALKD_QUEUE', 'default'), + 'retry_after' => (int) env('BEANSTALKD_QUEUE_RETRY_AFTER', 90), + 'block_for' => 0, + 'after_commit' => false, + ], + + 'sqs' => [ + 'driver' => 'sqs', + 'key' => env('AWS_ACCESS_KEY_ID'), + 'secret' => env('AWS_SECRET_ACCESS_KEY'), + 'prefix' => env('SQS_PREFIX', 'https://sqs.us-east-1.amazonaws.com/your-account-id'), + 'queue' => env('SQS_QUEUE', 'default'), + 'suffix' => env('SQS_SUFFIX'), + 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), + 'after_commit' => false, + ], + + 'redis' => [ + 'driver' => 'redis', + 'connection' => env('REDIS_QUEUE_CONNECTION', 'default'), + 'queue' => env('REDIS_QUEUE', 'default'), + 'retry_after' => (int) env('REDIS_QUEUE_RETRY_AFTER', 90), + 'block_for' => null, + 'after_commit' => false, + ], + + ], + + /* + |-------------------------------------------------------------------------- + | Job Batching + |-------------------------------------------------------------------------- + | + | The following options configure the database and table that store job + | batching information. These options can be updated to any database + | connection and table which has been defined by your application. + | + */ + + 'batching' => [ + 'database' => env('DB_CONNECTION', 'sqlite'), + 'table' => 'job_batches', + ], + + /* + |-------------------------------------------------------------------------- + | Failed Queue Jobs + |-------------------------------------------------------------------------- + | + | These options configure the behavior of failed queue job logging so you + | can control how and where failed jobs are stored. Laravel ships with + | support for storing failed jobs in a simple file or in a database. + | + | Supported drivers: "database-uuids", "dynamodb", "file", "null" + | + */ + + 'failed' => [ + 'driver' => env('QUEUE_FAILED_DRIVER', 'database-uuids'), + 'database' => env('DB_CONNECTION', 'sqlite'), + 'table' => 'failed_jobs', + ], + +]; diff --git a/config/services.php b/config/services.php new file mode 100644 index 0000000..27a3617 --- /dev/null +++ b/config/services.php @@ -0,0 +1,38 @@ + [ + 'token' => env('POSTMARK_TOKEN'), + ], + + 'ses' => [ + 'key' => env('AWS_ACCESS_KEY_ID'), + 'secret' => env('AWS_SECRET_ACCESS_KEY'), + 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), + ], + + 'resend' => [ + 'key' => env('RESEND_KEY'), + ], + + 'slack' => [ + 'notifications' => [ + 'bot_user_oauth_token' => env('SLACK_BOT_USER_OAUTH_TOKEN'), + 'channel' => env('SLACK_BOT_USER_DEFAULT_CHANNEL'), + ], + ], + +]; diff --git a/config/session.php b/config/session.php new file mode 100644 index 0000000..f0b6541 --- /dev/null +++ b/config/session.php @@ -0,0 +1,217 @@ + env('SESSION_DRIVER', 'database'), + + /* + |-------------------------------------------------------------------------- + | Session Lifetime + |-------------------------------------------------------------------------- + | + | Here you may specify the number of minutes that you wish the session + | to be allowed to remain idle before it expires. If you want them + | to expire immediately when the browser is closed then you may + | indicate that via the expire_on_close configuration option. + | + */ + + 'lifetime' => env('SESSION_LIFETIME', 120), + + 'expire_on_close' => env('SESSION_EXPIRE_ON_CLOSE', false), + + /* + |-------------------------------------------------------------------------- + | Session Encryption + |-------------------------------------------------------------------------- + | + | This option allows you to easily specify that all of your session data + | should be encrypted before it's stored. All encryption is performed + | automatically by Laravel and you may use the session like normal. + | + */ + + 'encrypt' => env('SESSION_ENCRYPT', false), + + /* + |-------------------------------------------------------------------------- + | Session File Location + |-------------------------------------------------------------------------- + | + | When utilizing the "file" session driver, the session files are placed + | on disk. The default storage location is defined here; however, you + | are free to provide another location where they should be stored. + | + */ + + 'files' => storage_path('framework/sessions'), + + /* + |-------------------------------------------------------------------------- + | Session Database Connection + |-------------------------------------------------------------------------- + | + | When using the "database" or "redis" session drivers, you may specify a + | connection that should be used to manage these sessions. This should + | correspond to a connection in your database configuration options. + | + */ + + 'connection' => env('SESSION_CONNECTION'), + + /* + |-------------------------------------------------------------------------- + | Session Database Table + |-------------------------------------------------------------------------- + | + | When using the "database" session driver, you may specify the table to + | be used to store sessions. Of course, a sensible default is defined + | for you; however, you're welcome to change this to another table. + | + */ + + 'table' => env('SESSION_TABLE', 'sessions'), + + /* + |-------------------------------------------------------------------------- + | Session Cache Store + |-------------------------------------------------------------------------- + | + | When using one of the framework's cache driven session backends, you may + | define the cache store which should be used to store the session data + | between requests. This must match one of your defined cache stores. + | + | Affects: "apc", "dynamodb", "memcached", "redis" + | + */ + + 'store' => env('SESSION_STORE'), + + /* + |-------------------------------------------------------------------------- + | Session Sweeping Lottery + |-------------------------------------------------------------------------- + | + | Some session drivers must manually sweep their storage location to get + | rid of old sessions from storage. Here are the chances that it will + | happen on a given request. By default, the odds are 2 out of 100. + | + */ + + 'lottery' => [2, 100], + + /* + |-------------------------------------------------------------------------- + | Session Cookie Name + |-------------------------------------------------------------------------- + | + | Here you may change the name of the session cookie that is created by + | the framework. Typically, you should not need to change this value + | since doing so does not grant a meaningful security improvement. + | + */ + + 'cookie' => env( + 'SESSION_COOKIE', + Str::slug(env('APP_NAME', 'laravel'), '_').'_session' + ), + + /* + |-------------------------------------------------------------------------- + | Session Cookie Path + |-------------------------------------------------------------------------- + | + | The session cookie path determines the path for which the cookie will + | be regarded as available. Typically, this will be the root path of + | your application, but you're free to change this when necessary. + | + */ + + 'path' => env('SESSION_PATH', '/'), + + /* + |-------------------------------------------------------------------------- + | Session Cookie Domain + |-------------------------------------------------------------------------- + | + | This value determines the domain and subdomains the session cookie is + | available to. By default, the cookie will be available to the root + | domain and all subdomains. Typically, this shouldn't be changed. + | + */ + + 'domain' => env('SESSION_DOMAIN'), + + /* + |-------------------------------------------------------------------------- + | HTTPS Only Cookies + |-------------------------------------------------------------------------- + | + | By setting this option to true, session cookies will only be sent back + | to the server if the browser has a HTTPS connection. This will keep + | the cookie from being sent to you when it can't be done securely. + | + */ + + 'secure' => env('SESSION_SECURE_COOKIE'), + + /* + |-------------------------------------------------------------------------- + | HTTP Access Only + |-------------------------------------------------------------------------- + | + | Setting this value to true will prevent JavaScript from accessing the + | value of the cookie and the cookie will only be accessible through + | the HTTP protocol. It's unlikely you should disable this option. + | + */ + + 'http_only' => env('SESSION_HTTP_ONLY', true), + + /* + |-------------------------------------------------------------------------- + | Same-Site Cookies + |-------------------------------------------------------------------------- + | + | This option determines how your cookies behave when cross-site requests + | take place, and can be used to mitigate CSRF attacks. By default, we + | will set this value to "lax" to permit secure cross-site requests. + | + | See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#samesitesamesite-value + | + | Supported: "lax", "strict", "none", null + | + */ + + 'same_site' => env('SESSION_SAME_SITE', 'lax'), + + /* + |-------------------------------------------------------------------------- + | Partitioned Cookies + |-------------------------------------------------------------------------- + | + | Setting this value to true will tie the cookie to the top-level site for + | a cross-site context. Partitioned cookies are accepted by the browser + | when flagged "secure" and the Same-Site attribute is set to "none". + | + */ + + 'partitioned' => env('SESSION_PARTITIONED_COOKIE', false), + +]; diff --git a/config/wechat.php b/config/wechat.php new file mode 100644 index 0000000..4e09b19 --- /dev/null +++ b/config/wechat.php @@ -0,0 +1,49 @@ + +// +---------------------------------------------------------------------- + +return [ + 'wx' => [ + 'app_id' => 'wx8729bae07a068c87', + 'secret' => 'bd76508353688757296ce1e8c1307758', + + 'token' => '', + ], + /** + * OAuth 配置 + * + * scopes:公众平台(snsapi_userinfo / snsapi_base),开放平台:snsapi_login + * callback:OAuth授权完成后的回调页地址 + */ + 'oauth' => [ + 'scopes' => ['snsapi_userinfo'], + 'callback' => '/examples/oauth_callback.php', + ], + + /** + * 接口请求相关配置,超时时间等,具体可用参数请参考: + * https://github.com/symfony/symfony/blob/5.3/src/Symfony/Contracts/HttpClient/HttpClientInterface.php + */ + 'http' => [ + 'timeout' => 5.0, + // 'base_uri' => 'https://api.weixin.qq.com/', // 如果你在国外想要覆盖默认的 url 的时候才使用,根据不同的模块配置不同的 uri + + 'retry' => true, // 使用默认重试配置 + // 'retry' => [ + // // 仅以下状态码重试 + // 'status_codes' => [429, 500] + // // 最大重试次数 + // 'max_retries' => 3, + // // 请求间隔 (毫秒) + // 'delay' => 1000, + // // 如果设置,每次重试的等待时间都会增加这个系数 + // // (例如. 首次:1000ms; 第二次: 3 * 1000ms; etc.) + // 'multiplier' => 3 + // ], + ], +]; diff --git a/database/.gitignore b/database/.gitignore new file mode 100644 index 0000000..9b19b93 --- /dev/null +++ b/database/.gitignore @@ -0,0 +1 @@ +*.sqlite* diff --git a/database/factories/UserFactory.php b/database/factories/UserFactory.php new file mode 100644 index 0000000..584104c --- /dev/null +++ b/database/factories/UserFactory.php @@ -0,0 +1,44 @@ + + */ +class UserFactory extends Factory +{ + /** + * The current password being used by the factory. + */ + protected static ?string $password; + + /** + * Define the model's default state. + * + * @return array + */ + public function definition(): array + { + return [ + 'name' => fake()->name(), + 'email' => fake()->unique()->safeEmail(), + 'email_verified_at' => now(), + 'password' => static::$password ??= Hash::make('password'), + 'remember_token' => Str::random(10), + ]; + } + + /** + * Indicate that the model's email address should be unverified. + */ + public function unverified(): static + { + return $this->state(fn (array $attributes) => [ + 'email_verified_at' => null, + ]); + } +} diff --git a/database/migrations/0001_01_01_000002_create_jobs_table.php b/database/migrations/0001_01_01_000002_create_jobs_table.php new file mode 100644 index 0000000..425e705 --- /dev/null +++ b/database/migrations/0001_01_01_000002_create_jobs_table.php @@ -0,0 +1,57 @@ +id(); + $table->string('queue')->index(); + $table->longText('payload'); + $table->unsignedTinyInteger('attempts'); + $table->unsignedInteger('reserved_at')->nullable(); + $table->unsignedInteger('available_at'); + $table->unsignedInteger('created_at'); + }); + + Schema::create('job_batches', function (Blueprint $table) { + $table->string('id')->primary(); + $table->string('name'); + $table->integer('total_jobs'); + $table->integer('pending_jobs'); + $table->integer('failed_jobs'); + $table->longText('failed_job_ids'); + $table->mediumText('options')->nullable(); + $table->integer('cancelled_at')->nullable(); + $table->integer('created_at'); + $table->integer('finished_at')->nullable(); + }); + + Schema::create('failed_jobs', function (Blueprint $table) { + $table->id(); + $table->string('uuid')->unique(); + $table->text('connection'); + $table->text('queue'); + $table->longText('payload'); + $table->longText('exception'); + $table->timestamp('failed_at')->useCurrent(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('jobs'); + Schema::dropIfExists('job_batches'); + Schema::dropIfExists('failed_jobs'); + } +}; diff --git a/database/migrations/2024_05_17_153707_admin_auth_base_table.php b/database/migrations/2024_05_17_153707_admin_auth_base_table.php new file mode 100644 index 0000000..7346097 --- /dev/null +++ b/database/migrations/2024_05_17_153707_admin_auth_base_table.php @@ -0,0 +1,132 @@ +id('uid')->unique()->comment('用户ID'); + $table->string('username')->unique()->comment('用户名'); + $table->string('nickname')->nullable()->comment('昵称'); + $table->string('email')->nullable()->comment('邮箱'); + $table->string('mobile')->nullable()->comment('手机号码'); + $table->string('password')->comment('密码'); + $table->string('avatar')->nullable()->comment('头像'); + $table->unsignedBigInteger('department_id')->nullable()->comment('部门id'); + $table->unsignedTinyInteger('gender')->default(1)->comment('性别 1男 2女'); + $table->text('remark')->nullable()->comment('备注,个性签名'); + $table->unsignedTinyInteger('status')->default(1)->comment('状态 1正常 2禁用'); + $table->string('last_login_ip')->nullable()->comment('最后登录ip'); + $table->timestamp('last_login_at')->nullable()->comment('最后登录时间'); + $table->timestamp('email_verified_at')->nullable()->comment('邮箱验证时间'); + $table->timestamp('mobile_verified_at')->nullable()->comment('手机验证时间'); + $table->timestamp('created_at')->nullable()->comment('创建时间'); + $table->timestamp('updated_at')->nullable()->comment('更新时间'); + $table->timestamp('deleted_at')->nullable()->comment('删除时间'); + + $table->engine = 'InnoDB'; + $table->charset = 'utf8mb4'; + $table->collation = 'utf8mb4_unicode_ci'; + $table->comment('后台管理员表'); + }); + Schema::create('auth_admins_roles', function (Blueprint $table) { + $table->unsignedBigInteger('role_id')->comment('角色id'); + $table->unsignedBigInteger('uid')->comment('用户id'); + $table->primary(['role_id', 'uid']); + + $table->engine = 'InnoDB'; + $table->charset = 'utf8mb4'; + $table->collation = 'utf8mb4_unicode_ci'; + $table->comment('后台管理员角色对应表'); + }); + Schema::create('auth_roles', function (Blueprint $table) { + $table->id()->uniqid()->comment('主键id'); + $table->string('title', 50)->comment('角色名称'); + $table->string('name', 50)->comment('角色标识'); + $table->string('data_range')->default('all')->comment('数据范围 all全部 department本部门 department_sub本部门及以下 self仅自己'); + $table->integer('sort')->default(0)->comment('排序'); + $table->unsignedTinyInteger('status')->default(1)->comment('状态 1正常 2禁用'); + $table->string('description', 255)->nullable()->comment('角色描述'); + $table->timestamp('created_at')->nullable()->comment('创建时间'); + $table->timestamp('updated_at')->nullable()->comment('更新时间'); + $table->timestamp('deleted_at')->nullable()->comment('删除时间'); + + $table->engine = 'InnoDB'; + $table->charset = 'utf8mb4'; + $table->collation = 'utf8mb4_unicode_ci'; + $table->comment('后台管理员角色表'); + }); + Schema::create('auth_roles_permissions', function (Blueprint $table) { + $table->bigInteger('role_id')->unsigned()->comment('角色ID'); + $table->bigInteger('permission_id')->unsigned()->comment('权限ID'); + $table->primary(['role_id', 'permission_id']); + + $table->engine = 'InnoDB'; + $table->charset = 'utf8mb4'; + $table->collation = 'utf8mb4_unicode_ci'; + $table->comment('后台管理员角色权限表'); + }); + Schema::create('auth_permissions', function (Blueprint $table) { + $table->id()->uniqid()->comment('主键id'); + $table->integer('parent_id')->default(0)->comment('父级id'); + $table->string('title', 50)->comment('权限标题'); + $table->string('name', 50)->comment('权限名称'); + $table->string('icon', 50)->nullable()->comment('图标'); + $table->string('path', 100)->nullable()->comment('权限链接'); + $table->string('redirect', 100)->nullable()->comment('重定向'); + $table->string('component', 200)->nullable()->comment('组件'); + $table->string('type', 20)->default('menu')->comment('类型 menu菜单 button按钮 link外链 iframeIframe'); + $table->string('color', 20)->nullable()->comment('颜色'); + $table->tinyInteger('hidden')->default(0)->comment('是否显示 1显示 2不显示'); + $table->tinyInteger('hiddenBreadcrumb')->default(0)->comment('是否显示面包屑 1显示 2不显示'); + $table->tinyInteger('affix')->default(0)->comment('是否固定 1固定 2不固定'); + $table->tinyInteger('fullpage')->default(0)->comment('是否全屏 1全屏 2不全屏'); + $table->text('apiList')->nullable()->comment('接口列表'); + $table->integer('sort')->default(0)->comment('排序'); + $table->tinyInteger('status')->default(1)->comment('状态 1正常 2禁用'); + $table->timestamp('created_at')->nullable()->comment('创建时间'); + $table->timestamp('updated_at')->nullable()->comment('更新时间'); + $table->timestamp('deleted_at')->nullable()->comment('删除时间'); + + $table->engine = 'InnoDB'; + $table->charset = 'utf8mb4'; + $table->collation = 'utf8mb4_unicode_ci'; + $table->comment('权限表'); + }); + Schema::create('auth_departments', function (Blueprint $table) { + $table->id()->uniqid()->comment('主键id'); + $table->string('parent_id')->default(0)->comment('父级id'); + $table->string('title')->comment('部门名称'); + $table->string('name')->comment('部门标识'); + $table->string('sort')->default(0)->comment('排序'); + $table->tinyInteger('status')->default(1)->comment('状态 1正常 2禁用'); + $table->string('description', 255)->nullable()->comment('部门描述'); + $table->timestamp('created_at')->nullable()->comment('创建时间'); + $table->timestamp('updated_at')->nullable()->comment('更新时间'); + $table->timestamp('deleted_at')->nullable()->comment('删除时间'); + + $table->engine = 'InnoDB'; + $table->charset = 'utf8mb4'; + $table->collation = 'utf8mb4_unicode_ci'; + $table->comment('部门表'); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void { + Schema::dropIfExists('auth_admins'); + Schema::dropIfExists('auth_admins_roles'); + Schema::dropIfExists('auth_roles'); + Schema::dropIfExists('auth_roles_permissions'); + Schema::dropIfExists('auth_permissions'); + Schema::dropIfExists('auth_departments'); + } +}; diff --git a/database/migrations/2024_05_20_185456_system_base_table.php b/database/migrations/2024_05_20_185456_system_base_table.php new file mode 100644 index 0000000..63bef9f --- /dev/null +++ b/database/migrations/2024_05_20_185456_system_base_table.php @@ -0,0 +1,203 @@ +id()->uniqid()->comment('主键id'); + $table->unsignedBigInteger('user_id')->comment('用户ID'); + $table->string('title')->comment('日志标题'); + $table->string('name')->comment('日志名称'); + $table->string('url')->comment('请求地址'); + $table->string('method')->comment('请求方法'); + $table->string('client_ip')->nullable()->comment('请求IP'); + $table->text('data')->nullable()->comment('请求数据'); + $table->text('remark')->nullable()->comment('备注'); + $table->text('browser')->nullable()->comment('浏览器'); + $table->tinyInteger('status')->default(1)->comment('状态码'); + $table->timestamp('created_at')->nullable()->comment('创建时间'); + $table->timestamp('updated_at')->nullable()->comment('更新时间'); + + $table->engine = 'InnoDB'; + $table->charset = 'utf8mb4'; + $table->collation = 'utf8mb4_unicode_ci'; + $table->comment('系统日志表'); + }); + Schema::create('system_configs', function (Blueprint $table) { + $table->id()->uniqid()->comment('主键id'); + $table->string('title')->comment('配置标题'); + $table->string('name')->comment('配置名称'); + $table->string('values')->nullable()->comment('配置值'); + $table->string('type')->comment('配置类型'); + $table->string('group')->comment('配置分组'); + $table->jsonb('option')->nullable()->comment('配置选项'); + $table->string('remark')->nullable()->comment('配置备注'); + $table->string('sort')->default(0)->comment('排序'); + $table->tinyInteger('status')->default(1)->comment('状态'); + $table->timestamp('created_at')->nullable()->comment('创建时间'); + $table->timestamp('updated_at')->nullable()->comment('更新时间'); + + $table->engine = 'InnoDB'; + $table->charset = 'utf8mb4'; + $table->collation = 'utf8mb4_unicode_ci'; + $table->comment('系统配置表'); + }); + Schema::create('system_dicts', function (Blueprint $table) { + $table->id()->uniqid()->comment('主键id'); + $table->string('title')->comment('字典标题'); + $table->string('values')->comment('字典值'); + $table->string('group_id')->comment('字典分组'); + $table->string('group_name')->comment('字典分组标识'); + $table->string('sort')->default(0)->comment('排序'); + $table->tinyInteger('status')->default(1)->comment('状态'); + $table->timestamp('created_at')->nullable()->comment('创建时间'); + $table->timestamp('updated_at')->nullable()->comment('更新时间'); + + $table->engine = 'InnoDB'; + $table->charset = 'utf8mb4'; + $table->collation = 'utf8mb4_unicode_ci'; + $table->comment('系统字典表'); + }); + Schema::create('system_dict_groups', function (Blueprint $table) { + $table->id()->uniqid()->comment('主键id'); + $table->string('parent_id')->default(0)->comment('父级id'); + $table->string('title')->comment('字典分组标题'); + $table->string('name')->comment('字典分组名称'); + $table->string('sort')->default(0)->comment('排序'); + $table->tinyInteger('status')->default(1)->comment('状态'); + $table->timestamp('created_at')->nullable()->comment('创建时间'); + $table->timestamp('updated_at')->nullable()->comment('更新时间'); + + $table->engine = 'InnoDB'; + $table->charset = 'utf8mb4'; + $table->collation = 'utf8mb4_unicode_ci'; + $table->comment('系统字典分组表'); + }); + Schema::create('system_areas', function (Blueprint $table) { + $table->id()->uniqid()->comment('主键id'); + $table->string('code')->comment('城市编码'); + $table->string('parent_code')->default(0)->comment('父级id'); + $table->string('title')->comment('城市名称'); + $table->tinyInteger('status')->default(1)->comment('状态'); + $table->timestamp('created_at')->nullable()->comment('创建时间'); + $table->timestamp('updated_at')->nullable()->comment('更新时间'); + + $table->engine = 'InnoDB'; + $table->charset = 'utf8mb4'; + $table->collation = 'utf8mb4_unicode_ci'; + $table->comment('系统城市数据表'); + }); + + Schema::create('system_messages', function (Blueprint $table) { + $table->id()->uniqid()->comment('主键id'); + $table->unsignedBigInteger('send_uid')->comment('发送人uid'); + $table->string('receive_uid')->comment('接受人uid'); + $table->string('receive_group')->nullable()->comment('接受组'); + $table->string('type')->default(1)->comment('消息类型 1系统消息 2用户消息'); + $table->string('title')->comment('消息标题'); + $table->text('content')->comment('消息内容'); + $table->text('params')->nullable()->comment('消息参数'); + $table->string('url')->nullable()->comment('消息链接'); + $table->string('status')->default(1)->comment('状态 1未读 2已读'); + $table->timestamp('created_at')->nullable()->comment('创建时间'); + $table->timestamp('updated_at')->nullable()->comment('更新时间'); + $table->timestamp('read_at')->nullable()->comment('已读时间'); + $table->timestamp('deleted_at')->nullable()->comment('删除时间'); + + $table->engine = 'InnoDB'; + $table->charset = 'utf8mb4'; + $table->collation = 'utf8mb4_unicode_ci'; + $table->comment('系统消息表'); + }); + + Schema::create('system_tasks', function (Blueprint $table) { + $table->id()->uniqid()->comment('主键id'); + $table->unsignedBigInteger('user_id')->default(0)->comment('用户id'); + $table->string('title')->comment('任务名称'); + $table->string('file')->comment('文件路径'); + $table->string('type')->default('export')->comment('任务类型 import export'); + $table->string('status')->default(1)->comment('状态 1正常 2禁用'); + $table->timestamp('created_at')->nullable()->comment('创建时间'); + $table->timestamp('updated_at')->nullable()->comment('更新时间'); + + $table->engine = 'InnoDB'; + $table->charset = 'utf8mb4'; + $table->collation = 'utf8mb4_unicode_ci'; + $table->comment('系统excel任务表'); + }); + Schema::create('system_crontabs', function (Blueprint $table) { + $table->id()->uniqid()->comment('主键id'); + $table->string('title')->comment('定时任务标题'); + $table->string('command')->comment('定时任务命令'); + $table->string('expression')->comment('定时任务表达式'); + $table->string('status')->default(1)->comment('状态 1正常 2禁用'); + $table->timestamp('created_at')->nullable()->comment('创建时间'); + $table->timestamp('updated_at')->nullable()->comment('更新时间'); + + $table->engine = 'InnoDB'; + $table->charset = 'utf8mb4'; + $table->collation = 'utf8mb4_unicode_ci'; + $table->comment('系统定时任务表'); + }); + Schema::create('system_client', function (Blueprint $table) { + $table->id()->uniqid()->comment('主键id'); + $table->string('title')->comment('客户端名称'); + $table->string('app_id')->comment('客户端ID'); + $table->string('secret')->comment('客户端密钥'); + $table->string('redirect')->comment('回调地址'); + $table->string('status')->default(1)->comment('状态 1正常 2禁用'); + $table->timestamp('created_at')->nullable()->comment('创建时间'); + $table->timestamp('updated_at')->nullable()->comment('更新时间'); + + $table->engine = 'InnoDB'; + $table->charset = 'utf8mb4'; + $table->collation = 'utf8mb4_unicode_ci'; + $table->comment('系统客户端表'); + }); + Schema::create('system_client_menu', function (Blueprint $table) { + $table->id()->uniqid()->comment('主键id'); + $table->string('client_id')->comment('客户端ID'); + $table->unsignedBigInteger('parent_id')->default(0)->comment('父级id'); + $table->string('position')->comment('菜单位置'); + $table->string('name')->nullable()->comment('菜单名称标识'); + $table->string('title')->comment('菜单标题'); + $table->string('url')->comment('菜单链接'); + $table->string('cover')->nullable()->comment('菜单图片'); + $table->string('icon')->nullable()->comment('菜单图标'); + $table->string('sort')->default(0)->comment('排序'); + $table->tinyInteger('is_show')->default(1)->comment('是否显示 1显示 2不显示'); + $table->tinyInteger('is_blank')->default(1)->comment('是否新窗口打开 1是 2否'); + $table->string('status')->default(1)->comment('状态 1正常 2禁用'); + $table->timestamp('created_at')->nullable()->comment('创建时间'); + $table->timestamp('updated_at')->nullable()->comment('更新时间'); + + $table->engine = 'InnoDB'; + $table->charset = 'utf8mb4'; + $table->collation = 'utf8mb4_unicode_ci'; + $table->comment('系统客户端菜单表'); + }); + + } + + /** + * Reverse the migrations. + */ + public function down(): void { + Schema::dropIfExists('system_logs'); + Schema::dropIfExists('system_configs'); + Schema::dropIfExists('system_dicts'); + Schema::dropIfExists('system_dict_groups'); + Schema::dropIfExists('system_areas'); + Schema::dropIfExists('system_messages'); + Schema::dropIfExists('system_tasks'); + Schema::dropIfExists('system_crontabs'); + Schema::dropIfExists('system_client'); + Schema::dropIfExists('system_client_menu'); + } +}; diff --git a/database/migrations/2025_04_04_220920_create_modules_table.php b/database/migrations/2025_04_04_220920_create_modules_table.php new file mode 100644 index 0000000..bec9beb --- /dev/null +++ b/database/migrations/2025_04_04_220920_create_modules_table.php @@ -0,0 +1,28 @@ +id(); + $table->string('title', 50)->nullable()->comment('模块标题'); + $table->string('name')->unique()->comment('模块标识'); + $table->text('description')->nullable()->comment('模块描述'); + $table->boolean('status')->comment('模块状态'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void { + Schema::dropIfExists('modules'); + } +}; diff --git a/database/seeders/AdminSeeder.php b/database/seeders/AdminSeeder.php new file mode 100644 index 0000000..6e8bce2 --- /dev/null +++ b/database/seeders/AdminSeeder.php @@ -0,0 +1,64 @@ +insert([ + 'username' => 'admin', + 'nickname' => '超级管理员', + 'email' => 'admin@admin.com', + 'mobile' => '13888888888', + 'password' => Hash::make('admin888'), + 'department_id' => 1, + 'status' => 1, + 'created_at' => date('Y-m-d H:i:s'), + 'updated_at' => date('Y-m-d H:i:s'), + ]); + + DB::table('auth_departments')->insert([ + 'title' => '总部', + 'name' => 'root', + 'parent_id' => 0, + 'sort' => 0, + 'description' => '总部', + 'created_at' => date('Y-m-d H:i:s'), + 'updated_at' => date('Y-m-d H:i:s'), + ]); + + DB::table('auth_roles')->insert([ + 'title' => '超级管理员', + 'name' => 'admin', + 'description' => '超级管理员', + 'created_at' => date('Y-m-d H:i:s'), + 'updated_at' => date('Y-m-d H:i:s'), + ]); + app(MenuService::class)->importMenu($this->getPermissions(), 0); + } + + public function getPermissions(){ + $permissions = [ + ['title' => '首页', 'name' => 'home', 'path' => '/home', 'component' => '', 'type' => 'menu', 'sort' => 0, 'children' => [ + ['title' => '仪表盘', 'name' => 'dashboard', 'path' => '/dashboard', 'component' => 'home', 'type' => 'menu', 'affix' => 1], + ['title' => '个人中心', 'name' => 'ucenter', 'path' => '/ucenter', 'component' => 'ucenter', 'type' => 'menu'], + ]], + ['title' => '权限', 'name' => 'auth', 'path' => '/auth', 'component' => '', 'type' => 'menu', 'sort' => 99, 'children' => [ + ['title' => '用户管理', 'name' => 'auth.user', 'path' => '/auth/user', 'component' => 'auth/user', 'type' => 'menu'], + ['title' => '角色管理', 'name' => 'auth.role', 'path' => '/auth/role', 'component' => 'auth/role', 'type' => 'menu'], + ['title' => '权限管理', 'name' => 'auth.permission', 'path' => '/auth/permission', 'component' => 'auth/permission', 'type' => 'menu'], + ['title' => '部门管理', 'name' => 'auth.department', 'path' => '/auth/department', 'component' => 'auth/department', 'type' => 'menu'], + ]] + ]; + return $permissions; + } +} diff --git a/database/seeders/CitySeeder.php b/database/seeders/CitySeeder.php new file mode 100644 index 0000000..d2dd555 --- /dev/null +++ b/database/seeders/CitySeeder.php @@ -0,0 +1,23 @@ +call([ + AdminSeeder::class, + SystemSeeder::class, + CitySeeder::class + ]); + } +} diff --git a/database/seeders/SystemSeeder.php b/database/seeders/SystemSeeder.php new file mode 100644 index 0000000..764900c --- /dev/null +++ b/database/seeders/SystemSeeder.php @@ -0,0 +1,207 @@ +insertSettingDict(); + $this->insertDataAuthDict(); + $this->insertAdsDict(); + $this->addModelFieldTypeDict(); + $this->insertClientMenuPosition(); + $this->insertPermissions(); + } + + public function insertSettingDict(){ + $group_id = DB::table('system_dict_groups')->insertGetId([ + 'parent_id' => 0, + 'title' => '配置分组', + 'name' => 'setting_group', + 'status' => 1, + 'created_at' => date('Y-m-d H:i:s'), + 'updated_at' => date('Y-m-d H:i:s'), + ]); + if($group_id){ + $dict = DB::table('system_dicts')->insert([ + ['group_id' => $group_id, 'group_name' => 'setting_group', 'title' => '基础配置', 'values' => 'base', 'sort' => 1, 'status' => 1, 'created_at' => date('Y-m-d H:i:s'), 'updated_at' => date('Y-m-d H:i:s')], + ['group_id' => $group_id, 'group_name' => 'setting_group', 'title' => '上传配置', 'values' => 'upload', 'sort' => 1, 'status' => 1, 'created_at' => date('Y-m-d H:i:s'), 'updated_at' => date('Y-m-d H:i:s')], + ]); + DB::table('system_configs')->insert([ + ['name' => 'system_name', 'title' => '系统名称', 'values' => 'SentOS', 'type' => 'string', 'group' => 'base', 'sort' => 1, 'status' => 1, 'remark' => '系统名称', 'created_at' => date('Y-m-d H:i:s'), 'updated_at' => date('Y-m-d H:i:s')], + ['name' => 'system_logo', 'title' => '系统Logo', 'values' => '', 'type' => 'image', 'group' => 'base', 'sort' => 2, 'status' => 1, 'remark' => '系统Logo', 'created_at' => date('Y-m-d H:i:s'), 'updated_at' => date('Y-m-d H:i:s')], + ['name' => 'system_email', 'title' => '邮箱', 'values' => '', 'type' => 'string', 'group' => 'base', 'sort' => 6, 'status' => 1, 'remark' => '邮箱', 'created_at' => date('Y-m-d H:i:s'), 'updated_at' => date('Y-m-d H:i:s')], + ['name' => 'system_copyright', 'title' => '版权信息', 'values' => 'Copyright © 2019-2024 SentCMS All Rights Reserved.', 'type' => 'string', 'group' => 'base', 'sort' => 3, 'status' => 1, 'remark' => '版权信息', 'created_at' => date('Y-m-d H:i:s'), 'updated_at' => date('Y-m-d H:i:s')], + ['name' => 'system_icp', 'title' => '备案信息', 'values' => '', 'type' => 'string', 'group' =>'base', 'sort' => 4, 'status' => 1, 'remark' => '备案信息', 'created_at' => date('Y-m-d H:i:s'), 'updated_at' => date('Y-m-d H:i:s')], + ['name' => 'upload_way', 'title' => '上传引擎', 'values' => 'public', 'type' => 'radio', 'group' =>'upload', 'sort' => 1, 'status' => 1, 'remark' => '上传引擎', 'created_at' => date('Y-m-d H:i:s'), 'updated_at' => date('Y-m-d H:i:s')] + ]); + } + } + + public function insertDataAuthDict(){ + $group_id = DB::table('system_dict_groups')->insertGetId([ + 'parent_id' => 0, + 'title' => '数据权限分组', + 'name' => 'data_auth', + 'sort' => 1, + 'status' => 1, + 'created_at' => date('Y-m-d H:i:s'), + 'updated_at' => date('Y-m-d H:i:s'), + ]); + if($group_id){ + DB::table('system_dicts')->insert([ + [ + 'group_id' => $group_id, + 'group_name' => 'data_auth', + 'title' => '全部数据', + 'values' => 'all', + 'sort' => 1, + 'status' => 1, + 'created_at' => date('Y-m-d H:i:s'), + 'updated_at' => date('Y-m-d H:i:s'), + ], + [ + 'group_id' => $group_id, + 'group_name' => 'data_auth', + 'title' => '本部门数据', + 'values' => 'department', + 'sort' => 2, + 'status' => 1, + 'created_at' => date('Y-m-d H:i:s'), + 'updated_at' => date('Y-m-d H:i:s'), + ], + [ + 'group_id' => $group_id, + 'group_name' => 'data_auth', + 'title' => '本部门及以下数据', + 'values' => 'department_sub', + 'sort' => 3, + 'status' => 1, + 'created_at' => date('Y-m-d H:i:s'), + 'updated_at' => date('Y-m-d H:i:s'), + ], + [ + 'group_id' => $group_id, + 'group_name' => 'data_auth', + 'title' => '仅自己数据', + 'values' => 'self', + 'sort' => 4, + 'status' => 1, + 'created_at' => date('Y-m-d H:i:s'), + 'updated_at' => date('Y-m-d H:i:s'), + ] + ]); + } + } + + public function insertAdsDict(){ + $group_id = DB::table('system_dict_groups')->insertGetId([ + 'parent_id' => 0, + 'title' => '广告位', + 'name' => 'ads_places', + 'sort' => 1, + 'status' => 1, + 'created_at' => date('Y-m-d H:i:s'), + 'updated_at' => date('Y-m-d H:i:s'), + ]); + if($group_id){ + DB::table('system_dicts')->insert([ + [ + 'group_id' => $group_id, + 'group_name' => 'ads_places', + 'title' => '首页轮播', + 'values' => 'index_banner', + 'sort' => 2, + 'status' => 1, + 'created_at' => date('Y-m-d H:i:s'), + 'updated_at' => date('Y-m-d H:i:s'), + ] + ]); + } + } + + public function insertClientMenuPosition(){ + $group_id = DB::table('system_dict_groups')->insertGetId([ + 'parent_id' => 0, + 'title' => '菜单位置', + 'name' => 'client_menu_position', + 'sort' => 3, + 'status' => 1, + 'created_at' => date('Y-m-d H:i:s'), + 'updated_at' => date('Y-m-d H:i:s'), + ]); + + if($group_id){ + DB::table('system_dicts')->insert([ + [ + 'group_id' => $group_id, + 'group_name' => 'client_menu_position', + 'title' => '顶部菜单', + 'values' => 'top', + 'sort' => 1, + 'status' => 1, + 'created_at' => date('Y-m-d H:i:s'), + 'updated_at' => date('Y-m-d H:i:s'), + ] + ]); + } + } + /** + * @title 添加字典 + * + * @return void + */ + public function addModelFieldTypeDict(){ + $group_id = DB::table('system_dict_groups')->insertGetId([ + 'parent_id' => 0, + 'title' => '字段类型', + 'name' => 'field_type', + 'status' => 1, + 'created_at' => date('Y-m-d H:i:s'), + 'updated_at' => date('Y-m-d H:i:s'), + ]); + if($group_id){ + $dict = DB::table('system_dicts')->insert([ + ['group_id' => $group_id, 'group_name' => 'field_type', 'title' => '单行文本', 'values' => 'string', 'sort' =>1, 'status' => 1, 'created_at' => date('Y-m-d H:i:s'), 'updated_at' => date('Y-m-d H:i:s')], + ['group_id' => $group_id, 'group_name' => 'field_type', 'title' => '多行文本', 'values' => 'text', 'sort' => 2, 'status' => 1, 'created_at' => date('Y-m-d H:i:s'), 'updated_at' => date('Y-m-d H:i:s')], + ['group_id' => $group_id, 'group_name' => 'field_type', 'title' => '单选按钮', 'values' => 'radio', 'sort' => 3, 'status' => 1, 'created_at' => date('Y-m-d H:i:s'), 'updated_at' => date('Y-m-d H:i:s') ], + ['group_id' => $group_id, 'group_name' => 'field_type', 'title' => '多选按钮', 'values' => 'checkbox', 'sort' => 4, 'status' => 1, 'created_at' => date('Y-m-d H:i:s'), 'updated_at' => date('Y-m-d H:i:s') ], + ['group_id' => $group_id, 'group_name' => 'field_type', 'title' => '下拉列表', 'values' => 'select', 'sort' => 5, 'status' => 1, 'created_at' => date('Y-m-d H:i:s'), 'updated_at' => date('Y-m-d H:i:s') ], + ['group_id' => $group_id, 'group_name' => 'field_type', 'title' => '字典选择', 'values' => 'sSelect', 'sort' => 5, 'status' => 1, 'created_at' => date('Y-m-d H:i:s'), 'updated_at' =>date('Y-m-d H:i:s') ], + ['group_id' => $group_id, 'group_name' => 'field_type', 'title' => '树形选择', 'values' => 'sSelectTree', 'sort' => 6, 'status' => 1, 'created_at' => date('Y-m-d H:i:s'), 'updated_at' => date('Y-m-d H:i:s') ], + ['group_id' => $group_id, 'group_name' => 'field_type', 'title' => '日期', 'values' => 'date', 'sort' => 6, 'status' => 1, 'created_at' => date('Y-m-d H:i:s'), 'updated_at' => date('Y-m-d H:i:s') ], + ['group_id' => $group_id, 'group_name' => 'field_type', 'title' => '日期时间', 'values' => 'datetime', 'sort' => 7, 'status' => 1, 'created_at' => date('Y-m-d H:i:s'), 'updated_at' => date('Y-m-d H:i:s') ], + ['group_id' => $group_id, 'group_name' => 'field_type', 'title' => '文件', 'values' => 'file', 'sort' => 8, 'status' => 1, 'created_at' => date('Y-m-d H:i:s'), 'updated_at' => date('Y-m-d H:i:s') ], + ['group_id' => $group_id, 'group_name' => 'field_type', 'title' => '图片', 'values' => 'image', 'sort' => 9, 'status' => 1, 'created_at' => date('Y-m-d H:i:s'), 'updated_at' => date('Y-m-d H:i:s') ], + ['group_id' => $group_id, 'group_name' => 'field_type', 'title' => '多图', 'values' => 'images', 'sort' => 10, 'status' => 1, 'created_at' => date('Y-m-d H:i:s'), 'updated_at' => date('Y-m-d H:i:s') ], + ['group_id' => $group_id, 'group_name' => 'field_type', 'title' => '富文本', 'values' => 'editor', 'sort' => 10, 'status' => 1, 'created_at' => date('Y-m-d H:i:s'), 'updated_at' => date('Y-m-d H:i:s') ], + ['group_id' => $group_id, 'group_name' => 'field_type', 'title' => '视频', 'values' => 'video', 'sort' => 10, 'status' => 1, 'created_at' => date('Y-m-d H:i:s'), 'updated_at' => date('Y-m-d H:i:s') ], + ['group_id' => $group_id, 'group_name' => 'field_type', 'title' => '音频', 'values' => 'audio', 'sort' => 10, 'status' => 1, 'created_at' => date('Y-m-d H:i:s'), 'updated_at' => date('Y-m-d H:i:s')], + ['group_id' => $group_id, 'group_name' => 'field_type', 'title' => '数字', 'values' => 'number', 'sort' => 3, 'status' => 1, 'created_at' => date('Y-m-d H:i:s'), 'updated_at' => date('Y-m-d H:i:s')] + ]); + } + } + + public function insertPermissions(){ + $permissions = [ + ['title' => '系统', 'name' => 'system', 'path' => '/system', 'component' => '', 'type' => 'menu', 'sort' => 100, 'children' => [ + ['title' => '系统设置', 'name' => 'system.setting', 'path' => '/system/setting', 'component' => 'system/setting', 'type' => 'menu'], + ['title' => '城市数据', 'name' => 'system.area', 'path' => '/system/area', 'component' => 'system/area', 'type' => 'menu'], + ['title' => '字典管理', 'name' => 'system.dic', 'path' => '/system/dic', 'component' => 'system/dic', 'type' => 'menu'], + ['title' => '客户端管理', 'name' => 'system.client', 'path' => '/system/client', 'component' => 'system/client', 'type' => 'menu'], + ['title' => '模块管理', 'name' => 'system.modules', 'path' => '/system/modules', 'component' => 'system/modules', 'type' => 'menu'], + ['title' => '系统日志', 'name' => 'system.log', 'path' => '/system/log', 'component' => 'system/log', 'type' => 'menu'], + ['title' => '定时任务', 'name' => 'system.crontab', 'path' => '/system/crontab', 'component' => 'system/crontab', 'type' => 'menu'], + ]] + ]; + app(MenuService::class)->importMenu($permissions, 0); + } +} diff --git a/database/seeders/area.json b/database/seeders/area.json new file mode 100644 index 0000000..1253516 --- /dev/null +++ b/database/seeders/area.json @@ -0,0 +1 @@ +[{"title":"\u5317\u4eac\u5e02","code":"110000","parent_code":0},{"title":"\u5929\u6d25\u5e02","code":"120000","parent_code":0},{"title":"\u6cb3\u5317\u7701","code":"130000","parent_code":0},{"title":"\u5c71\u897f\u7701","code":"140000","parent_code":0},{"title":"\u5185\u8499\u53e4\u81ea\u6cbb\u533a","code":"150000","parent_code":0},{"title":"\u8fbd\u5b81\u7701","code":"210000","parent_code":0},{"title":"\u5409\u6797\u7701","code":"220000","parent_code":0},{"title":"\u9ed1\u9f99\u6c5f\u7701","code":"230000","parent_code":0},{"title":"\u4e0a\u6d77\u5e02","code":"310000","parent_code":0},{"title":"\u6c5f\u82cf\u7701","code":"320000","parent_code":0},{"title":"\u6d59\u6c5f\u7701","code":"330000","parent_code":0},{"title":"\u5b89\u5fbd\u7701","code":"340000","parent_code":0},{"title":"\u798f\u5efa\u7701","code":"350000","parent_code":0},{"title":"\u6c5f\u897f\u7701","code":"360000","parent_code":0},{"title":"\u5c71\u4e1c\u7701","code":"370000","parent_code":0},{"title":"\u6cb3\u5357\u7701","code":"410000","parent_code":0},{"title":"\u6e56\u5317\u7701","code":"420000","parent_code":0},{"title":"\u6e56\u5357\u7701","code":"430000","parent_code":0},{"title":"\u5e7f\u4e1c\u7701","code":"440000","parent_code":0},{"title":"\u5e7f\u897f\u58ee\u65cf\u81ea\u6cbb\u533a","code":"450000","parent_code":0},{"title":"\u6d77\u5357\u7701","code":"460000","parent_code":0},{"title":"\u91cd\u5e86\u5e02","code":"500000","parent_code":0},{"title":"\u56db\u5ddd\u7701","code":"510000","parent_code":0},{"title":"\u8d35\u5dde\u7701","code":"520000","parent_code":0},{"title":"\u4e91\u5357\u7701","code":"530000","parent_code":0},{"title":"\u897f\u85cf\u81ea\u6cbb\u533a","code":"540000","parent_code":0},{"title":"\u9655\u897f\u7701","code":"610000","parent_code":0},{"title":"\u7518\u8083\u7701","code":"620000","parent_code":0},{"title":"\u9752\u6d77\u7701","code":"630000","parent_code":0},{"title":"\u5b81\u590f\u56de\u65cf\u81ea\u6cbb\u533a","code":"640000","parent_code":0},{"title":"\u65b0\u7586\u7ef4\u543e\u5c14\u81ea\u6cbb\u533a","code":"650000","parent_code":0},{"title":"\u53f0\u6e7e\u7701","code":"710000","parent_code":0},{"title":"\u9999\u6e2f\u7279\u522b\u884c\u653f\u533a","code":"810000","parent_code":0},{"title":"\u6fb3\u95e8\u7279\u522b\u884c\u653f\u533a","code":"820000","parent_code":0},{"title":"\u5317\u4eac\u5e02","code":"110100","parent_code":110000},{"title":"\u5929\u6d25\u5e02","code":"120100","parent_code":120000},{"title":"\u77f3\u5bb6\u5e84\u5e02","code":"130100","parent_code":130000},{"title":"\u5510\u5c71\u5e02","code":"130200","parent_code":130000},{"title":"\u79e6\u7687\u5c9b\u5e02","code":"130300","parent_code":130000},{"title":"\u90af\u90f8\u5e02","code":"130400","parent_code":130000},{"title":"\u90a2\u53f0\u5e02","code":"130500","parent_code":130000},{"title":"\u4fdd\u5b9a\u5e02","code":"130600","parent_code":130000},{"title":"\u5f20\u5bb6\u53e3\u5e02","code":"130700","parent_code":130000},{"title":"\u627f\u5fb7\u5e02","code":"130800","parent_code":130000},{"title":"\u6ca7\u5dde\u5e02","code":"130900","parent_code":130000},{"title":"\u5eca\u574a\u5e02","code":"131000","parent_code":130000},{"title":"\u8861\u6c34\u5e02","code":"131100","parent_code":130000},{"title":"\u592a\u539f\u5e02","code":"140100","parent_code":140000},{"title":"\u5927\u540c\u5e02","code":"140200","parent_code":140000},{"title":"\u9633\u6cc9\u5e02","code":"140300","parent_code":140000},{"title":"\u957f\u6cbb\u5e02","code":"140400","parent_code":140000},{"title":"\u664b\u57ce\u5e02","code":"140500","parent_code":140000},{"title":"\u6714\u5dde\u5e02","code":"140600","parent_code":140000},{"title":"\u664b\u4e2d\u5e02","code":"140700","parent_code":140000},{"title":"\u8fd0\u57ce\u5e02","code":"140800","parent_code":140000},{"title":"\u5ffb\u5dde\u5e02","code":"140900","parent_code":140000},{"title":"\u4e34\u6c7e\u5e02","code":"141000","parent_code":140000},{"title":"\u5415\u6881\u5e02","code":"141100","parent_code":140000},{"title":"\u547c\u548c\u6d69\u7279\u5e02","code":"150100","parent_code":150000},{"title":"\u5305\u5934\u5e02","code":"150200","parent_code":150000},{"title":"\u4e4c\u6d77\u5e02","code":"150300","parent_code":150000},{"title":"\u8d64\u5cf0\u5e02","code":"150400","parent_code":150000},{"title":"\u901a\u8fbd\u5e02","code":"150500","parent_code":150000},{"title":"\u9102\u5c14\u591a\u65af\u5e02","code":"150600","parent_code":150000},{"title":"\u547c\u4f26\u8d1d\u5c14\u5e02","code":"150700","parent_code":150000},{"title":"\u5df4\u5f66\u6dd6\u5c14\u5e02","code":"150800","parent_code":150000},{"title":"\u4e4c\u5170\u5bdf\u5e03\u5e02","code":"150900","parent_code":150000},{"title":"\u5174\u5b89\u76df","code":"152200","parent_code":150000},{"title":"\u9521\u6797\u90ed\u52d2\u76df","code":"152500","parent_code":150000},{"title":"\u963f\u62c9\u5584\u76df","code":"152900","parent_code":150000},{"title":"\u6c88\u9633\u5e02","code":"210100","parent_code":210000},{"title":"\u5927\u8fde\u5e02","code":"210200","parent_code":210000},{"title":"\u978d\u5c71\u5e02","code":"210300","parent_code":210000},{"title":"\u629a\u987a\u5e02","code":"210400","parent_code":210000},{"title":"\u672c\u6eaa\u5e02","code":"210500","parent_code":210000},{"title":"\u4e39\u4e1c\u5e02","code":"210600","parent_code":210000},{"title":"\u9526\u5dde\u5e02","code":"210700","parent_code":210000},{"title":"\u8425\u53e3\u5e02","code":"210800","parent_code":210000},{"title":"\u961c\u65b0\u5e02","code":"210900","parent_code":210000},{"title":"\u8fbd\u9633\u5e02","code":"211000","parent_code":210000},{"title":"\u76d8\u9526\u5e02","code":"211100","parent_code":210000},{"title":"\u94c1\u5cad\u5e02","code":"211200","parent_code":210000},{"title":"\u671d\u9633\u5e02","code":"211300","parent_code":210000},{"title":"\u846b\u82a6\u5c9b\u5e02","code":"211400","parent_code":210000},{"title":"\u957f\u6625\u5e02","code":"220100","parent_code":220000},{"title":"\u5409\u6797\u5e02","code":"220200","parent_code":220000},{"title":"\u56db\u5e73\u5e02","code":"220300","parent_code":220000},{"title":"\u8fbd\u6e90\u5e02","code":"220400","parent_code":220000},{"title":"\u901a\u5316\u5e02","code":"220500","parent_code":220000},{"title":"\u767d\u5c71\u5e02","code":"220600","parent_code":220000},{"title":"\u677e\u539f\u5e02","code":"220700","parent_code":220000},{"title":"\u767d\u57ce\u5e02","code":"220800","parent_code":220000},{"title":"\u5ef6\u8fb9\u671d\u9c9c\u65cf\u81ea\u6cbb\u5dde","code":"222400","parent_code":220000},{"title":"\u54c8\u5c14\u6ee8\u5e02","code":"230100","parent_code":230000},{"title":"\u9f50\u9f50\u54c8\u5c14\u5e02","code":"230200","parent_code":230000},{"title":"\u9e21\u897f\u5e02","code":"230300","parent_code":230000},{"title":"\u9e64\u5c97\u5e02","code":"230400","parent_code":230000},{"title":"\u53cc\u9e2d\u5c71\u5e02","code":"230500","parent_code":230000},{"title":"\u5927\u5e86\u5e02","code":"230600","parent_code":230000},{"title":"\u4f0a\u6625\u5e02","code":"230700","parent_code":230000},{"title":"\u4f73\u6728\u65af\u5e02","code":"230800","parent_code":230000},{"title":"\u4e03\u53f0\u6cb3\u5e02","code":"230900","parent_code":230000},{"title":"\u7261\u4e39\u6c5f\u5e02","code":"231000","parent_code":230000},{"title":"\u9ed1\u6cb3\u5e02","code":"231100","parent_code":230000},{"title":"\u7ee5\u5316\u5e02","code":"231200","parent_code":230000},{"title":"\u5927\u5174\u5b89\u5cad\u5730\u533a","code":"232700","parent_code":230000},{"title":"\u4e0a\u6d77\u5e02","code":"310100","parent_code":310000},{"title":"\u5357\u4eac\u5e02","code":"320100","parent_code":320000},{"title":"\u65e0\u9521\u5e02","code":"320200","parent_code":320000},{"title":"\u5f90\u5dde\u5e02","code":"320300","parent_code":320000},{"title":"\u5e38\u5dde\u5e02","code":"320400","parent_code":320000},{"title":"\u82cf\u5dde\u5e02","code":"320500","parent_code":320000},{"title":"\u5357\u901a\u5e02","code":"320600","parent_code":320000},{"title":"\u8fde\u4e91\u6e2f\u5e02","code":"320700","parent_code":320000},{"title":"\u6dee\u5b89\u5e02","code":"320800","parent_code":320000},{"title":"\u76d0\u57ce\u5e02","code":"320900","parent_code":320000},{"title":"\u626c\u5dde\u5e02","code":"321000","parent_code":320000},{"title":"\u9547\u6c5f\u5e02","code":"321100","parent_code":320000},{"title":"\u6cf0\u5dde\u5e02","code":"321200","parent_code":320000},{"title":"\u5bbf\u8fc1\u5e02","code":"321300","parent_code":320000},{"title":"\u676d\u5dde\u5e02","code":"330100","parent_code":330000},{"title":"\u5b81\u6ce2\u5e02","code":"330200","parent_code":330000},{"title":"\u6e29\u5dde\u5e02","code":"330300","parent_code":330000},{"title":"\u5609\u5174\u5e02","code":"330400","parent_code":330000},{"title":"\u6e56\u5dde\u5e02","code":"330500","parent_code":330000},{"title":"\u7ecd\u5174\u5e02","code":"330600","parent_code":330000},{"title":"\u91d1\u534e\u5e02","code":"330700","parent_code":330000},{"title":"\u8862\u5dde\u5e02","code":"330800","parent_code":330000},{"title":"\u821f\u5c71\u5e02","code":"330900","parent_code":330000},{"title":"\u53f0\u5dde\u5e02","code":"331000","parent_code":330000},{"title":"\u4e3d\u6c34\u5e02","code":"331100","parent_code":330000},{"title":"\u5408\u80a5\u5e02","code":"340100","parent_code":340000},{"title":"\u829c\u6e56\u5e02","code":"340200","parent_code":340000},{"title":"\u868c\u57e0\u5e02","code":"340300","parent_code":340000},{"title":"\u6dee\u5357\u5e02","code":"340400","parent_code":340000},{"title":"\u9a6c\u978d\u5c71\u5e02","code":"340500","parent_code":340000},{"title":"\u6dee\u5317\u5e02","code":"340600","parent_code":340000},{"title":"\u94dc\u9675\u5e02","code":"340700","parent_code":340000},{"title":"\u5b89\u5e86\u5e02","code":"340800","parent_code":340000},{"title":"\u9ec4\u5c71\u5e02","code":"341000","parent_code":340000},{"title":"\u6ec1\u5dde\u5e02","code":"341100","parent_code":340000},{"title":"\u961c\u9633\u5e02","code":"341200","parent_code":340000},{"title":"\u5bbf\u5dde\u5e02","code":"341300","parent_code":340000},{"title":"\u516d\u5b89\u5e02","code":"341500","parent_code":340000},{"title":"\u4eb3\u5dde\u5e02","code":"341600","parent_code":340000},{"title":"\u6c60\u5dde\u5e02","code":"341700","parent_code":340000},{"title":"\u5ba3\u57ce\u5e02","code":"341800","parent_code":340000},{"title":"\u798f\u5dde\u5e02","code":"350100","parent_code":350000},{"title":"\u53a6\u95e8\u5e02","code":"350200","parent_code":350000},{"title":"\u8386\u7530\u5e02","code":"350300","parent_code":350000},{"title":"\u4e09\u660e\u5e02","code":"350400","parent_code":350000},{"title":"\u6cc9\u5dde\u5e02","code":"350500","parent_code":350000},{"title":"\u6f33\u5dde\u5e02","code":"350600","parent_code":350000},{"title":"\u5357\u5e73\u5e02","code":"350700","parent_code":350000},{"title":"\u9f99\u5ca9\u5e02","code":"350800","parent_code":350000},{"title":"\u5b81\u5fb7\u5e02","code":"350900","parent_code":350000},{"title":"\u5357\u660c\u5e02","code":"360100","parent_code":360000},{"title":"\u666f\u5fb7\u9547\u5e02","code":"360200","parent_code":360000},{"title":"\u840d\u4e61\u5e02","code":"360300","parent_code":360000},{"title":"\u4e5d\u6c5f\u5e02","code":"360400","parent_code":360000},{"title":"\u65b0\u4f59\u5e02","code":"360500","parent_code":360000},{"title":"\u9e70\u6f6d\u5e02","code":"360600","parent_code":360000},{"title":"\u8d63\u5dde\u5e02","code":"360700","parent_code":360000},{"title":"\u5409\u5b89\u5e02","code":"360800","parent_code":360000},{"title":"\u5b9c\u6625\u5e02","code":"360900","parent_code":360000},{"title":"\u629a\u5dde\u5e02","code":"361000","parent_code":360000},{"title":"\u4e0a\u9976\u5e02","code":"361100","parent_code":360000},{"title":"\u6d4e\u5357\u5e02","code":"370100","parent_code":370000},{"title":"\u9752\u5c9b\u5e02","code":"370200","parent_code":370000},{"title":"\u6dc4\u535a\u5e02","code":"370300","parent_code":370000},{"title":"\u67a3\u5e84\u5e02","code":"370400","parent_code":370000},{"title":"\u4e1c\u8425\u5e02","code":"370500","parent_code":370000},{"title":"\u70df\u53f0\u5e02","code":"370600","parent_code":370000},{"title":"\u6f4d\u574a\u5e02","code":"370700","parent_code":370000},{"title":"\u6d4e\u5b81\u5e02","code":"370800","parent_code":370000},{"title":"\u6cf0\u5b89\u5e02","code":"370900","parent_code":370000},{"title":"\u5a01\u6d77\u5e02","code":"371000","parent_code":370000},{"title":"\u65e5\u7167\u5e02","code":"371100","parent_code":370000},{"title":"\u4e34\u6c82\u5e02","code":"371300","parent_code":370000},{"title":"\u5fb7\u5dde\u5e02","code":"371400","parent_code":370000},{"title":"\u804a\u57ce\u5e02","code":"371500","parent_code":370000},{"title":"\u6ee8\u5dde\u5e02","code":"371600","parent_code":370000},{"title":"\u83cf\u6cfd\u5e02","code":"371700","parent_code":370000},{"title":"\u90d1\u5dde\u5e02","code":"410100","parent_code":410000},{"title":"\u5f00\u5c01\u5e02","code":"410200","parent_code":410000},{"title":"\u6d1b\u9633\u5e02","code":"410300","parent_code":410000},{"title":"\u5e73\u9876\u5c71\u5e02","code":"410400","parent_code":410000},{"title":"\u5b89\u9633\u5e02","code":"410500","parent_code":410000},{"title":"\u9e64\u58c1\u5e02","code":"410600","parent_code":410000},{"title":"\u65b0\u4e61\u5e02","code":"410700","parent_code":410000},{"title":"\u7126\u4f5c\u5e02","code":"410800","parent_code":410000},{"title":"\u6fee\u9633\u5e02","code":"410900","parent_code":410000},{"title":"\u8bb8\u660c\u5e02","code":"411000","parent_code":410000},{"title":"\u6f2f\u6cb3\u5e02","code":"411100","parent_code":410000},{"title":"\u4e09\u95e8\u5ce1\u5e02","code":"411200","parent_code":410000},{"title":"\u5357\u9633\u5e02","code":"411300","parent_code":410000},{"title":"\u5546\u4e18\u5e02","code":"411400","parent_code":410000},{"title":"\u4fe1\u9633\u5e02","code":"411500","parent_code":410000},{"title":"\u5468\u53e3\u5e02","code":"411600","parent_code":410000},{"title":"\u9a7b\u9a6c\u5e97\u5e02","code":"411700","parent_code":410000},{"title":"\u7701\u76f4\u8f96\u53bf","code":"419000","parent_code":410000},{"title":"\u6b66\u6c49\u5e02","code":"420100","parent_code":420000},{"title":"\u9ec4\u77f3\u5e02","code":"420200","parent_code":420000},{"title":"\u5341\u5830\u5e02","code":"420300","parent_code":420000},{"title":"\u5b9c\u660c\u5e02","code":"420500","parent_code":420000},{"title":"\u8944\u9633\u5e02","code":"420600","parent_code":420000},{"title":"\u9102\u5dde\u5e02","code":"420700","parent_code":420000},{"title":"\u8346\u95e8\u5e02","code":"420800","parent_code":420000},{"title":"\u5b5d\u611f\u5e02","code":"420900","parent_code":420000},{"title":"\u8346\u5dde\u5e02","code":"421000","parent_code":420000},{"title":"\u9ec4\u5188\u5e02","code":"421100","parent_code":420000},{"title":"\u54b8\u5b81\u5e02","code":"421200","parent_code":420000},{"title":"\u968f\u5dde\u5e02","code":"421300","parent_code":420000},{"title":"\u6069\u65bd\u571f\u5bb6\u65cf\u82d7\u65cf\u81ea\u6cbb\u5dde","code":"422800","parent_code":420000},{"title":"\u7701\u76f4\u8f96\u53bf","code":"429000","parent_code":420000},{"title":"\u957f\u6c99\u5e02","code":"430100","parent_code":430000},{"title":"\u682a\u6d32\u5e02","code":"430200","parent_code":430000},{"title":"\u6e58\u6f6d\u5e02","code":"430300","parent_code":430000},{"title":"\u8861\u9633\u5e02","code":"430400","parent_code":430000},{"title":"\u90b5\u9633\u5e02","code":"430500","parent_code":430000},{"title":"\u5cb3\u9633\u5e02","code":"430600","parent_code":430000},{"title":"\u5e38\u5fb7\u5e02","code":"430700","parent_code":430000},{"title":"\u5f20\u5bb6\u754c\u5e02","code":"430800","parent_code":430000},{"title":"\u76ca\u9633\u5e02","code":"430900","parent_code":430000},{"title":"\u90f4\u5dde\u5e02","code":"431000","parent_code":430000},{"title":"\u6c38\u5dde\u5e02","code":"431100","parent_code":430000},{"title":"\u6000\u5316\u5e02","code":"431200","parent_code":430000},{"title":"\u5a04\u5e95\u5e02","code":"431300","parent_code":430000},{"title":"\u6e58\u897f\u571f\u5bb6\u65cf\u82d7\u65cf\u81ea\u6cbb\u5dde","code":"433100","parent_code":430000},{"title":"\u5e7f\u5dde\u5e02","code":"440100","parent_code":440000},{"title":"\u97f6\u5173\u5e02","code":"440200","parent_code":440000},{"title":"\u6df1\u5733\u5e02","code":"440300","parent_code":440000},{"title":"\u73e0\u6d77\u5e02","code":"440400","parent_code":440000},{"title":"\u6c55\u5934\u5e02","code":"440500","parent_code":440000},{"title":"\u4f5b\u5c71\u5e02","code":"440600","parent_code":440000},{"title":"\u6c5f\u95e8\u5e02","code":"440700","parent_code":440000},{"title":"\u6e5b\u6c5f\u5e02","code":"440800","parent_code":440000},{"title":"\u8302\u540d\u5e02","code":"440900","parent_code":440000},{"title":"\u8087\u5e86\u5e02","code":"441200","parent_code":440000},{"title":"\u60e0\u5dde\u5e02","code":"441300","parent_code":440000},{"title":"\u6885\u5dde\u5e02","code":"441400","parent_code":440000},{"title":"\u6c55\u5c3e\u5e02","code":"441500","parent_code":440000},{"title":"\u6cb3\u6e90\u5e02","code":"441600","parent_code":440000},{"title":"\u9633\u6c5f\u5e02","code":"441700","parent_code":440000},{"title":"\u6e05\u8fdc\u5e02","code":"441800","parent_code":440000},{"title":"\u4e1c\u839e\u5e02","code":"441900","parent_code":440000},{"title":"\u4e2d\u5c71\u5e02","code":"442000","parent_code":440000},{"title":"\u6f6e\u5dde\u5e02","code":"445100","parent_code":440000},{"title":"\u63ed\u9633\u5e02","code":"445200","parent_code":440000},{"title":"\u4e91\u6d6e\u5e02","code":"445300","parent_code":440000},{"title":"\u5357\u5b81\u5e02","code":"450100","parent_code":450000},{"title":"\u67f3\u5dde\u5e02","code":"450200","parent_code":450000},{"title":"\u6842\u6797\u5e02","code":"450300","parent_code":450000},{"title":"\u68a7\u5dde\u5e02","code":"450400","parent_code":450000},{"title":"\u5317\u6d77\u5e02","code":"450500","parent_code":450000},{"title":"\u9632\u57ce\u6e2f\u5e02","code":"450600","parent_code":450000},{"title":"\u94a6\u5dde\u5e02","code":"450700","parent_code":450000},{"title":"\u8d35\u6e2f\u5e02","code":"450800","parent_code":450000},{"title":"\u7389\u6797\u5e02","code":"450900","parent_code":450000},{"title":"\u767e\u8272\u5e02","code":"451000","parent_code":450000},{"title":"\u8d3a\u5dde\u5e02","code":"451100","parent_code":450000},{"title":"\u6cb3\u6c60\u5e02","code":"451200","parent_code":450000},{"title":"\u6765\u5bbe\u5e02","code":"451300","parent_code":450000},{"title":"\u5d07\u5de6\u5e02","code":"451400","parent_code":450000},{"title":"\u6d77\u53e3\u5e02","code":"460100","parent_code":460000},{"title":"\u4e09\u4e9a\u5e02","code":"460200","parent_code":460000},{"title":"\u4e09\u6c99\u5e02","code":"460300","parent_code":460000},{"title":"\u510b\u5dde\u5e02","code":"460400","parent_code":460000},{"title":"\u7701\u76f4\u8f96\u53bf","code":"469000","parent_code":460000},{"title":"\u91cd\u5e86\u5e02","code":"500100","parent_code":500000},{"title":"\u53bf","code":"500200","parent_code":500000},{"title":"\u6210\u90fd\u5e02","code":"510100","parent_code":510000},{"title":"\u81ea\u8d21\u5e02","code":"510300","parent_code":510000},{"title":"\u6500\u679d\u82b1\u5e02","code":"510400","parent_code":510000},{"title":"\u6cf8\u5dde\u5e02","code":"510500","parent_code":510000},{"title":"\u5fb7\u9633\u5e02","code":"510600","parent_code":510000},{"title":"\u7ef5\u9633\u5e02","code":"510700","parent_code":510000},{"title":"\u5e7f\u5143\u5e02","code":"510800","parent_code":510000},{"title":"\u9042\u5b81\u5e02","code":"510900","parent_code":510000},{"title":"\u5185\u6c5f\u5e02","code":"511000","parent_code":510000},{"title":"\u4e50\u5c71\u5e02","code":"511100","parent_code":510000},{"title":"\u5357\u5145\u5e02","code":"511300","parent_code":510000},{"title":"\u7709\u5c71\u5e02","code":"511400","parent_code":510000},{"title":"\u5b9c\u5bbe\u5e02","code":"511500","parent_code":510000},{"title":"\u5e7f\u5b89\u5e02","code":"511600","parent_code":510000},{"title":"\u8fbe\u5dde\u5e02","code":"511700","parent_code":510000},{"title":"\u96c5\u5b89\u5e02","code":"511800","parent_code":510000},{"title":"\u5df4\u4e2d\u5e02","code":"511900","parent_code":510000},{"title":"\u8d44\u9633\u5e02","code":"512000","parent_code":510000},{"title":"\u963f\u575d\u85cf\u65cf\u7f8c\u65cf\u81ea\u6cbb\u5dde","code":"513200","parent_code":510000},{"title":"\u7518\u5b5c\u85cf\u65cf\u81ea\u6cbb\u5dde","code":"513300","parent_code":510000},{"title":"\u51c9\u5c71\u5f5d\u65cf\u81ea\u6cbb\u5dde","code":"513400","parent_code":510000},{"title":"\u8d35\u9633\u5e02","code":"520100","parent_code":520000},{"title":"\u516d\u76d8\u6c34\u5e02","code":"520200","parent_code":520000},{"title":"\u9075\u4e49\u5e02","code":"520300","parent_code":520000},{"title":"\u5b89\u987a\u5e02","code":"520400","parent_code":520000},{"title":"\u6bd5\u8282\u5e02","code":"520500","parent_code":520000},{"title":"\u94dc\u4ec1\u5e02","code":"520600","parent_code":520000},{"title":"\u9ed4\u897f\u5357\u5e03\u4f9d\u65cf\u82d7\u65cf\u81ea\u6cbb\u5dde","code":"522300","parent_code":520000},{"title":"\u9ed4\u4e1c\u5357\u82d7\u65cf\u4f97\u65cf\u81ea\u6cbb\u5dde","code":"522600","parent_code":520000},{"title":"\u9ed4\u5357\u5e03\u4f9d\u65cf\u82d7\u65cf\u81ea\u6cbb\u5dde","code":"522700","parent_code":520000},{"title":"\u6606\u660e\u5e02","code":"530100","parent_code":530000},{"title":"\u66f2\u9756\u5e02","code":"530300","parent_code":530000},{"title":"\u7389\u6eaa\u5e02","code":"530400","parent_code":530000},{"title":"\u4fdd\u5c71\u5e02","code":"530500","parent_code":530000},{"title":"\u662d\u901a\u5e02","code":"530600","parent_code":530000},{"title":"\u4e3d\u6c5f\u5e02","code":"530700","parent_code":530000},{"title":"\u666e\u6d31\u5e02","code":"530800","parent_code":530000},{"title":"\u4e34\u6ca7\u5e02","code":"530900","parent_code":530000},{"title":"\u695a\u96c4\u5f5d\u65cf\u81ea\u6cbb\u5dde","code":"532300","parent_code":530000},{"title":"\u7ea2\u6cb3\u54c8\u5c3c\u65cf\u5f5d\u65cf\u81ea\u6cbb\u5dde","code":"532500","parent_code":530000},{"title":"\u6587\u5c71\u58ee\u65cf\u82d7\u65cf\u81ea\u6cbb\u5dde","code":"532600","parent_code":530000},{"title":"\u897f\u53cc\u7248\u7eb3\u50a3\u65cf\u81ea\u6cbb\u5dde","code":"532800","parent_code":530000},{"title":"\u5927\u7406\u767d\u65cf\u81ea\u6cbb\u5dde","code":"532900","parent_code":530000},{"title":"\u5fb7\u5b8f\u50a3\u65cf\u666f\u9887\u65cf\u81ea\u6cbb\u5dde","code":"533100","parent_code":530000},{"title":"\u6012\u6c5f\u5088\u50f3\u65cf\u81ea\u6cbb\u5dde","code":"533300","parent_code":530000},{"title":"\u8fea\u5e86\u85cf\u65cf\u81ea\u6cbb\u5dde","code":"533400","parent_code":530000},{"title":"\u62c9\u8428\u5e02","code":"540100","parent_code":540000},{"title":"\u65e5\u5580\u5219\u5e02","code":"540200","parent_code":540000},{"title":"\u660c\u90fd\u5e02","code":"540300","parent_code":540000},{"title":"\u6797\u829d\u5e02","code":"540400","parent_code":540000},{"title":"\u5c71\u5357\u5e02","code":"540500","parent_code":540000},{"title":"\u90a3\u66f2\u5e02","code":"540600","parent_code":540000},{"title":"\u963f\u91cc\u5730\u533a","code":"542500","parent_code":540000},{"title":"\u897f\u5b89\u5e02","code":"610100","parent_code":610000},{"title":"\u94dc\u5ddd\u5e02","code":"610200","parent_code":610000},{"title":"\u5b9d\u9e21\u5e02","code":"610300","parent_code":610000},{"title":"\u54b8\u9633\u5e02","code":"610400","parent_code":610000},{"title":"\u6e2d\u5357\u5e02","code":"610500","parent_code":610000},{"title":"\u5ef6\u5b89\u5e02","code":"610600","parent_code":610000},{"title":"\u6c49\u4e2d\u5e02","code":"610700","parent_code":610000},{"title":"\u6986\u6797\u5e02","code":"610800","parent_code":610000},{"title":"\u5b89\u5eb7\u5e02","code":"610900","parent_code":610000},{"title":"\u5546\u6d1b\u5e02","code":"611000","parent_code":610000},{"title":"\u5170\u5dde\u5e02","code":"620100","parent_code":620000},{"title":"\u5609\u5cea\u5173\u5e02","code":"620200","parent_code":620000},{"title":"\u91d1\u660c\u5e02","code":"620300","parent_code":620000},{"title":"\u767d\u94f6\u5e02","code":"620400","parent_code":620000},{"title":"\u5929\u6c34\u5e02","code":"620500","parent_code":620000},{"title":"\u6b66\u5a01\u5e02","code":"620600","parent_code":620000},{"title":"\u5f20\u6396\u5e02","code":"620700","parent_code":620000},{"title":"\u5e73\u51c9\u5e02","code":"620800","parent_code":620000},{"title":"\u9152\u6cc9\u5e02","code":"620900","parent_code":620000},{"title":"\u5e86\u9633\u5e02","code":"621000","parent_code":620000},{"title":"\u5b9a\u897f\u5e02","code":"621100","parent_code":620000},{"title":"\u9647\u5357\u5e02","code":"621200","parent_code":620000},{"title":"\u4e34\u590f\u56de\u65cf\u81ea\u6cbb\u5dde","code":"622900","parent_code":620000},{"title":"\u7518\u5357\u85cf\u65cf\u81ea\u6cbb\u5dde","code":"623000","parent_code":620000},{"title":"\u897f\u5b81\u5e02","code":"630100","parent_code":630000},{"title":"\u6d77\u4e1c\u5e02","code":"630200","parent_code":630000},{"title":"\u6d77\u5317\u85cf\u65cf\u81ea\u6cbb\u5dde","code":"632200","parent_code":630000},{"title":"\u9ec4\u5357\u85cf\u65cf\u81ea\u6cbb\u5dde","code":"632300","parent_code":630000},{"title":"\u6d77\u5357\u85cf\u65cf\u81ea\u6cbb\u5dde","code":"632500","parent_code":630000},{"title":"\u679c\u6d1b\u85cf\u65cf\u81ea\u6cbb\u5dde","code":"632600","parent_code":630000},{"title":"\u7389\u6811\u85cf\u65cf\u81ea\u6cbb\u5dde","code":"632700","parent_code":630000},{"title":"\u6d77\u897f\u8499\u53e4\u65cf\u85cf\u65cf\u81ea\u6cbb\u5dde","code":"632800","parent_code":630000},{"title":"\u94f6\u5ddd\u5e02","code":"640100","parent_code":640000},{"title":"\u77f3\u5634\u5c71\u5e02","code":"640200","parent_code":640000},{"title":"\u5434\u5fe0\u5e02","code":"640300","parent_code":640000},{"title":"\u56fa\u539f\u5e02","code":"640400","parent_code":640000},{"title":"\u4e2d\u536b\u5e02","code":"640500","parent_code":640000},{"title":"\u4e4c\u9c81\u6728\u9f50\u5e02","code":"650100","parent_code":650000},{"title":"\u514b\u62c9\u739b\u4f9d\u5e02","code":"650200","parent_code":650000},{"title":"\u5410\u9c81\u756a\u5e02","code":"650400","parent_code":650000},{"title":"\u54c8\u5bc6\u5e02","code":"650500","parent_code":650000},{"title":"\u660c\u5409\u56de\u65cf\u81ea\u6cbb\u5dde","code":"652300","parent_code":650000},{"title":"\u535a\u5c14\u5854\u62c9\u8499\u53e4\u81ea\u6cbb\u5dde","code":"652700","parent_code":650000},{"title":"\u5df4\u97f3\u90ed\u695e\u8499\u53e4\u81ea\u6cbb\u5dde","code":"652800","parent_code":650000},{"title":"\u963f\u514b\u82cf\u5730\u533a","code":"652900","parent_code":650000},{"title":"\u514b\u5b5c\u52d2\u82cf\u67ef\u5c14\u514b\u5b5c\u81ea\u6cbb\u5dde","code":"653000","parent_code":650000},{"title":"\u5580\u4ec0\u5730\u533a","code":"653100","parent_code":650000},{"title":"\u548c\u7530\u5730\u533a","code":"653200","parent_code":650000},{"title":"\u4f0a\u7281\u54c8\u8428\u514b\u81ea\u6cbb\u5dde","code":"654000","parent_code":650000},{"title":"\u5854\u57ce\u5730\u533a","code":"654200","parent_code":650000},{"title":"\u963f\u52d2\u6cf0\u5730\u533a","code":"654300","parent_code":650000},{"title":"\u81ea\u6cbb\u533a\u76f4\u8f96\u53bf\u7ea7\u884c\u653f\u533a\u5212","code":"659000","parent_code":650000},{"title":"\u53f0\u5317\u5e02","code":"710100","parent_code":710000},{"title":"\u9ad8\u96c4\u5e02","code":"710200","parent_code":710000},{"title":"\u53f0\u5357\u5e02","code":"710300","parent_code":710000},{"title":"\u53f0\u4e2d\u5e02","code":"710400","parent_code":710000},{"title":"\u91d1\u95e8\u53bf","code":"710500","parent_code":710000},{"title":"\u5357\u6295\u53bf","code":"710600","parent_code":710000},{"title":"\u57fa\u9686\u5e02","code":"710700","parent_code":710000},{"title":"\u65b0\u7af9\u5e02","code":"710800","parent_code":710000},{"title":"\u5609\u4e49\u5e02","code":"710900","parent_code":710000},{"title":"\u65b0\u5317\u5e02","code":"711100","parent_code":710000},{"title":"\u5b9c\u5170\u53bf","code":"711200","parent_code":710000},{"title":"\u65b0\u7af9\u53bf","code":"711300","parent_code":710000},{"title":"\u6843\u56ed\u53bf","code":"711400","parent_code":710000},{"title":"\u82d7\u6817\u53bf","code":"711500","parent_code":710000},{"title":"\u5f70\u5316\u53bf","code":"711700","parent_code":710000},{"title":"\u5609\u4e49\u53bf","code":"711900","parent_code":710000},{"title":"\u4e91\u6797\u53bf","code":"712100","parent_code":710000},{"title":"\u5c4f\u4e1c\u53bf","code":"712400","parent_code":710000},{"title":"\u53f0\u4e1c\u53bf","code":"712500","parent_code":710000},{"title":"\u82b1\u83b2\u53bf","code":"712600","parent_code":710000},{"title":"\u6f8e\u6e56\u53bf","code":"712700","parent_code":710000},{"title":"\u8fde\u6c5f\u53bf","code":"712800","parent_code":710000},{"title":"\u9999\u6e2f\u5c9b","code":"810100","parent_code":810000},{"title":"\u4e5d\u9f99","code":"810200","parent_code":810000},{"title":"\u65b0\u754c","code":"810300","parent_code":810000},{"title":"\u6fb3\u95e8\u534a\u5c9b","code":"820100","parent_code":820000},{"title":"\u79bb\u5c9b","code":"820200","parent_code":820000},{"title":"\u4e1c\u57ce\u533a","code":"110101","parent_code":110100},{"title":"\u897f\u57ce\u533a","code":"110102","parent_code":110100},{"title":"\u671d\u9633\u533a","code":"110105","parent_code":110100},{"title":"\u4e30\u53f0\u533a","code":"110106","parent_code":110100},{"title":"\u77f3\u666f\u5c71\u533a","code":"110107","parent_code":110100},{"title":"\u6d77\u6dc0\u533a","code":"110108","parent_code":110100},{"title":"\u95e8\u5934\u6c9f\u533a","code":"110109","parent_code":110100},{"title":"\u623f\u5c71\u533a","code":"110111","parent_code":110100},{"title":"\u901a\u5dde\u533a","code":"110112","parent_code":110100},{"title":"\u987a\u4e49\u533a","code":"110113","parent_code":110100},{"title":"\u660c\u5e73\u533a","code":"110114","parent_code":110100},{"title":"\u5927\u5174\u533a","code":"110115","parent_code":110100},{"title":"\u6000\u67d4\u533a","code":"110116","parent_code":110100},{"title":"\u5e73\u8c37\u533a","code":"110117","parent_code":110100},{"title":"\u5bc6\u4e91\u533a","code":"110118","parent_code":110100},{"title":"\u5ef6\u5e86\u533a","code":"110119","parent_code":110100},{"title":"\u548c\u5e73\u533a","code":"120101","parent_code":120100},{"title":"\u6cb3\u4e1c\u533a","code":"120102","parent_code":120100},{"title":"\u6cb3\u897f\u533a","code":"120103","parent_code":120100},{"title":"\u5357\u5f00\u533a","code":"120104","parent_code":120100},{"title":"\u6cb3\u5317\u533a","code":"120105","parent_code":120100},{"title":"\u7ea2\u6865\u533a","code":"120106","parent_code":120100},{"title":"\u4e1c\u4e3d\u533a","code":"120110","parent_code":120100},{"title":"\u897f\u9752\u533a","code":"120111","parent_code":120100},{"title":"\u6d25\u5357\u533a","code":"120112","parent_code":120100},{"title":"\u5317\u8fb0\u533a","code":"120113","parent_code":120100},{"title":"\u6b66\u6e05\u533a","code":"120114","parent_code":120100},{"title":"\u5b9d\u577b\u533a","code":"120115","parent_code":120100},{"title":"\u6ee8\u6d77\u65b0\u533a","code":"120116","parent_code":120100},{"title":"\u5b81\u6cb3\u533a","code":"120117","parent_code":120100},{"title":"\u9759\u6d77\u533a","code":"120118","parent_code":120100},{"title":"\u84df\u5dde\u533a","code":"120119","parent_code":120100},{"title":"\u957f\u5b89\u533a","code":"130102","parent_code":130100},{"title":"\u6865\u897f\u533a","code":"130104","parent_code":130100},{"title":"\u65b0\u534e\u533a","code":"130105","parent_code":130100},{"title":"\u4e95\u9649\u77ff\u533a","code":"130107","parent_code":130100},{"title":"\u88d5\u534e\u533a","code":"130108","parent_code":130100},{"title":"\u85c1\u57ce\u533a","code":"130109","parent_code":130100},{"title":"\u9e7f\u6cc9\u533a","code":"130110","parent_code":130100},{"title":"\u683e\u57ce\u533a","code":"130111","parent_code":130100},{"title":"\u4e95\u9649\u53bf","code":"130121","parent_code":130100},{"title":"\u6b63\u5b9a\u53bf","code":"130123","parent_code":130100},{"title":"\u884c\u5510\u53bf","code":"130125","parent_code":130100},{"title":"\u7075\u5bff\u53bf","code":"130126","parent_code":130100},{"title":"\u9ad8\u9091\u53bf","code":"130127","parent_code":130100},{"title":"\u6df1\u6cfd\u53bf","code":"130128","parent_code":130100},{"title":"\u8d5e\u7687\u53bf","code":"130129","parent_code":130100},{"title":"\u65e0\u6781\u53bf","code":"130130","parent_code":130100},{"title":"\u5e73\u5c71\u53bf","code":"130131","parent_code":130100},{"title":"\u5143\u6c0f\u53bf","code":"130132","parent_code":130100},{"title":"\u8d75\u53bf","code":"130133","parent_code":130100},{"title":"\u77f3\u5bb6\u5e84\u9ad8\u65b0\u6280\u672f\u4ea7\u4e1a\u5f00\u53d1\u533a","code":"130171","parent_code":130100},{"title":"\u77f3\u5bb6\u5e84\u5faa\u73af\u5316\u5de5\u56ed\u533a","code":"130172","parent_code":130100},{"title":"\u8f9b\u96c6\u5e02","code":"130181","parent_code":130100},{"title":"\u664b\u5dde\u5e02","code":"130183","parent_code":130100},{"title":"\u65b0\u4e50\u5e02","code":"130184","parent_code":130100},{"title":"\u8def\u5357\u533a","code":"130202","parent_code":130200},{"title":"\u8def\u5317\u533a","code":"130203","parent_code":130200},{"title":"\u53e4\u51b6\u533a","code":"130204","parent_code":130200},{"title":"\u5f00\u5e73\u533a","code":"130205","parent_code":130200},{"title":"\u4e30\u5357\u533a","code":"130207","parent_code":130200},{"title":"\u4e30\u6da6\u533a","code":"130208","parent_code":130200},{"title":"\u66f9\u5983\u7538\u533a","code":"130209","parent_code":130200},{"title":"\u6ee6\u5357\u53bf","code":"130224","parent_code":130200},{"title":"\u4e50\u4ead\u53bf","code":"130225","parent_code":130200},{"title":"\u8fc1\u897f\u53bf","code":"130227","parent_code":130200},{"title":"\u7389\u7530\u53bf","code":"130229","parent_code":130200},{"title":"\u5510\u5c71\u9ad8\u65b0\u6280\u672f\u4ea7\u4e1a\u5f00\u53d1\u533a","code":"130273","parent_code":130200},{"title":"\u6cb3\u5317\u5510\u5c71\u6d77\u6e2f\u7ecf\u6d4e\u5f00\u53d1\u533a","code":"130274","parent_code":130200},{"title":"\u9075\u5316\u5e02","code":"130281","parent_code":130200},{"title":"\u8fc1\u5b89\u5e02","code":"130283","parent_code":130200},{"title":"\u6ee6\u5dde\u5e02","code":"130284","parent_code":130200},{"title":"\u6d77\u6e2f\u533a","code":"130302","parent_code":130300},{"title":"\u5c71\u6d77\u5173\u533a","code":"130303","parent_code":130300},{"title":"\u5317\u6234\u6cb3\u533a","code":"130304","parent_code":130300},{"title":"\u629a\u5b81\u533a","code":"130306","parent_code":130300},{"title":"\u9752\u9f99\u6ee1\u65cf\u81ea\u6cbb\u53bf","code":"130321","parent_code":130300},{"title":"\u660c\u9ece\u53bf","code":"130322","parent_code":130300},{"title":"\u5362\u9f99\u53bf","code":"130324","parent_code":130300},{"title":"\u79e6\u7687\u5c9b\u5e02\u7ecf\u6d4e\u6280\u672f\u5f00\u53d1\u533a","code":"130371","parent_code":130300},{"title":"\u5317\u6234\u6cb3\u65b0\u533a","code":"130372","parent_code":130300},{"title":"\u7ecf\u6d4e\u6280\u672f\u5f00\u53d1\u533a","code":"130390","parent_code":130300},{"title":"\u90af\u5c71\u533a","code":"130402","parent_code":130400},{"title":"\u4e1b\u53f0\u533a","code":"130403","parent_code":130400},{"title":"\u590d\u5174\u533a","code":"130404","parent_code":130400},{"title":"\u5cf0\u5cf0\u77ff\u533a","code":"130406","parent_code":130400},{"title":"\u80a5\u4e61\u533a","code":"130407","parent_code":130400},{"title":"\u6c38\u5e74\u533a","code":"130408","parent_code":130400},{"title":"\u4e34\u6f33\u53bf","code":"130423","parent_code":130400},{"title":"\u6210\u5b89\u53bf","code":"130424","parent_code":130400},{"title":"\u5927\u540d\u53bf","code":"130425","parent_code":130400},{"title":"\u6d89\u53bf","code":"130426","parent_code":130400},{"title":"\u78c1\u53bf","code":"130427","parent_code":130400},{"title":"\u90b1\u53bf","code":"130430","parent_code":130400},{"title":"\u9e21\u6cfd\u53bf","code":"130431","parent_code":130400},{"title":"\u5e7f\u5e73\u53bf","code":"130432","parent_code":130400},{"title":"\u9986\u9676\u53bf","code":"130433","parent_code":130400},{"title":"\u9b4f\u53bf","code":"130434","parent_code":130400},{"title":"\u66f2\u5468\u53bf","code":"130435","parent_code":130400},{"title":"\u90af\u90f8\u7ecf\u6d4e\u6280\u672f\u5f00\u53d1\u533a","code":"130471","parent_code":130400},{"title":"\u90af\u90f8\u5180\u5357\u65b0\u533a","code":"130473","parent_code":130400},{"title":"\u6b66\u5b89\u5e02","code":"130481","parent_code":130400},{"title":"\u6865\u4e1c\u533a","code":"130502","parent_code":130500},{"title":"\u6865\u897f\u533a","code":"130503","parent_code":130500},{"title":"\u90a2\u53f0\u53bf","code":"130521","parent_code":130500},{"title":"\u4e34\u57ce\u53bf","code":"130522","parent_code":130500},{"title":"\u5185\u4e18\u53bf","code":"130523","parent_code":130500},{"title":"\u67cf\u4e61\u53bf","code":"130524","parent_code":130500},{"title":"\u9686\u5c27\u53bf","code":"130525","parent_code":130500},{"title":"\u4efb\u53bf","code":"130526","parent_code":130500},{"title":"\u5357\u548c\u53bf","code":"130527","parent_code":130500},{"title":"\u5b81\u664b\u53bf","code":"130528","parent_code":130500},{"title":"\u5de8\u9e7f\u53bf","code":"130529","parent_code":130500},{"title":"\u65b0\u6cb3\u53bf","code":"130530","parent_code":130500},{"title":"\u5e7f\u5b97\u53bf","code":"130531","parent_code":130500},{"title":"\u5e73\u4e61\u53bf","code":"130532","parent_code":130500},{"title":"\u5a01\u53bf","code":"130533","parent_code":130500},{"title":"\u6e05\u6cb3\u53bf","code":"130534","parent_code":130500},{"title":"\u4e34\u897f\u53bf","code":"130535","parent_code":130500},{"title":"\u6cb3\u5317\u90a2\u53f0\u7ecf\u6d4e\u5f00\u53d1\u533a","code":"130571","parent_code":130500},{"title":"\u5357\u5bab\u5e02","code":"130581","parent_code":130500},{"title":"\u6c99\u6cb3\u5e02","code":"130582","parent_code":130500},{"title":"\u7ade\u79c0\u533a","code":"130602","parent_code":130600},{"title":"\u83b2\u6c60\u533a","code":"130606","parent_code":130600},{"title":"\u6ee1\u57ce\u533a","code":"130607","parent_code":130600},{"title":"\u6e05\u82d1\u533a","code":"130608","parent_code":130600},{"title":"\u5f90\u6c34\u533a","code":"130609","parent_code":130600},{"title":"\u6d9e\u6c34\u53bf","code":"130623","parent_code":130600},{"title":"\u961c\u5e73\u53bf","code":"130624","parent_code":130600},{"title":"\u5b9a\u5174\u53bf","code":"130626","parent_code":130600},{"title":"\u5510\u53bf","code":"130627","parent_code":130600},{"title":"\u9ad8\u9633\u53bf","code":"130628","parent_code":130600},{"title":"\u5bb9\u57ce\u53bf","code":"130629","parent_code":130600},{"title":"\u6d9e\u6e90\u53bf","code":"130630","parent_code":130600},{"title":"\u671b\u90fd\u53bf","code":"130631","parent_code":130600},{"title":"\u5b89\u65b0\u53bf","code":"130632","parent_code":130600},{"title":"\u6613\u53bf","code":"130633","parent_code":130600},{"title":"\u66f2\u9633\u53bf","code":"130634","parent_code":130600},{"title":"\u8821\u53bf","code":"130635","parent_code":130600},{"title":"\u987a\u5e73\u53bf","code":"130636","parent_code":130600},{"title":"\u535a\u91ce\u53bf","code":"130637","parent_code":130600},{"title":"\u96c4\u53bf","code":"130638","parent_code":130600},{"title":"\u4fdd\u5b9a\u9ad8\u65b0\u6280\u672f\u4ea7\u4e1a\u5f00\u53d1\u533a","code":"130671","parent_code":130600},{"title":"\u4fdd\u5b9a\u767d\u6c9f\u65b0\u57ce","code":"130672","parent_code":130600},{"title":"\u6dbf\u5dde\u5e02","code":"130681","parent_code":130600},{"title":"\u5b9a\u5dde\u5e02","code":"130682","parent_code":130600},{"title":"\u5b89\u56fd\u5e02","code":"130683","parent_code":130600},{"title":"\u9ad8\u7891\u5e97\u5e02","code":"130684","parent_code":130600},{"title":"\u6865\u4e1c\u533a","code":"130702","parent_code":130700},{"title":"\u6865\u897f\u533a","code":"130703","parent_code":130700},{"title":"\u5ba3\u5316\u533a","code":"130705","parent_code":130700},{"title":"\u4e0b\u82b1\u56ed\u533a","code":"130706","parent_code":130700},{"title":"\u4e07\u5168\u533a","code":"130708","parent_code":130700},{"title":"\u5d07\u793c\u533a","code":"130709","parent_code":130700},{"title":"\u5f20\u5317\u53bf","code":"130722","parent_code":130700},{"title":"\u5eb7\u4fdd\u53bf","code":"130723","parent_code":130700},{"title":"\u6cbd\u6e90\u53bf","code":"130724","parent_code":130700},{"title":"\u5c1a\u4e49\u53bf","code":"130725","parent_code":130700},{"title":"\u851a\u53bf","code":"130726","parent_code":130700},{"title":"\u9633\u539f\u53bf","code":"130727","parent_code":130700},{"title":"\u6000\u5b89\u53bf","code":"130728","parent_code":130700},{"title":"\u6000\u6765\u53bf","code":"130730","parent_code":130700},{"title":"\u6dbf\u9e7f\u53bf","code":"130731","parent_code":130700},{"title":"\u8d64\u57ce\u53bf","code":"130732","parent_code":130700},{"title":"\u5f20\u5bb6\u53e3\u5e02\u5bdf\u5317\u7ba1\u7406\u533a","code":"130772","parent_code":130700},{"title":"\u53cc\u6865\u533a","code":"130802","parent_code":130800},{"title":"\u53cc\u6ee6\u533a","code":"130803","parent_code":130800},{"title":"\u9e70\u624b\u8425\u5b50\u77ff\u533a","code":"130804","parent_code":130800},{"title":"\u627f\u5fb7\u53bf","code":"130821","parent_code":130800},{"title":"\u5174\u9686\u53bf","code":"130822","parent_code":130800},{"title":"\u6ee6\u5e73\u53bf","code":"130824","parent_code":130800},{"title":"\u9686\u5316\u53bf","code":"130825","parent_code":130800},{"title":"\u4e30\u5b81\u6ee1\u65cf\u81ea\u6cbb\u53bf","code":"130826","parent_code":130800},{"title":"\u5bbd\u57ce\u6ee1\u65cf\u81ea\u6cbb\u53bf","code":"130827","parent_code":130800},{"title":"\u56f4\u573a\u6ee1\u65cf\u8499\u53e4\u65cf\u81ea\u6cbb\u53bf","code":"130828","parent_code":130800},{"title":"\u627f\u5fb7\u9ad8\u65b0\u6280\u672f\u4ea7\u4e1a\u5f00\u53d1\u533a","code":"130871","parent_code":130800},{"title":"\u5e73\u6cc9\u5e02","code":"130881","parent_code":130800},{"title":"\u65b0\u534e\u533a","code":"130902","parent_code":130900},{"title":"\u8fd0\u6cb3\u533a","code":"130903","parent_code":130900},{"title":"\u6ca7\u53bf","code":"130921","parent_code":130900},{"title":"\u9752\u53bf","code":"130922","parent_code":130900},{"title":"\u4e1c\u5149\u53bf","code":"130923","parent_code":130900},{"title":"\u6d77\u5174\u53bf","code":"130924","parent_code":130900},{"title":"\u76d0\u5c71\u53bf","code":"130925","parent_code":130900},{"title":"\u8083\u5b81\u53bf","code":"130926","parent_code":130900},{"title":"\u5357\u76ae\u53bf","code":"130927","parent_code":130900},{"title":"\u5434\u6865\u53bf","code":"130928","parent_code":130900},{"title":"\u732e\u53bf","code":"130929","parent_code":130900},{"title":"\u5b5f\u6751\u56de\u65cf\u81ea\u6cbb\u53bf","code":"130930","parent_code":130900},{"title":"\u6cb3\u5317\u6ca7\u5dde\u7ecf\u6d4e\u5f00\u53d1\u533a","code":"130971","parent_code":130900},{"title":"\u6ca7\u5dde\u9ad8\u65b0\u6280\u672f\u4ea7\u4e1a\u5f00\u53d1\u533a","code":"130972","parent_code":130900},{"title":"\u6ca7\u5dde\u6e24\u6d77\u65b0\u533a","code":"130973","parent_code":130900},{"title":"\u6cca\u5934\u5e02","code":"130981","parent_code":130900},{"title":"\u4efb\u4e18\u5e02","code":"130982","parent_code":130900},{"title":"\u9ec4\u9a85\u5e02","code":"130983","parent_code":130900},{"title":"\u6cb3\u95f4\u5e02","code":"130984","parent_code":130900},{"title":"\u5b89\u6b21\u533a","code":"131002","parent_code":131000},{"title":"\u5e7f\u9633\u533a","code":"131003","parent_code":131000},{"title":"\u56fa\u5b89\u53bf","code":"131022","parent_code":131000},{"title":"\u6c38\u6e05\u53bf","code":"131023","parent_code":131000},{"title":"\u9999\u6cb3\u53bf","code":"131024","parent_code":131000},{"title":"\u5927\u57ce\u53bf","code":"131025","parent_code":131000},{"title":"\u6587\u5b89\u53bf","code":"131026","parent_code":131000},{"title":"\u5927\u5382\u56de\u65cf\u81ea\u6cbb\u53bf","code":"131028","parent_code":131000},{"title":"\u5eca\u574a\u7ecf\u6d4e\u6280\u672f\u5f00\u53d1\u533a","code":"131071","parent_code":131000},{"title":"\u9738\u5dde\u5e02","code":"131081","parent_code":131000},{"title":"\u4e09\u6cb3\u5e02","code":"131082","parent_code":131000},{"title":"\u5f00\u53d1\u533a","code":"131090","parent_code":131000},{"title":"\u6843\u57ce\u533a","code":"131102","parent_code":131100},{"title":"\u5180\u5dde\u533a","code":"131103","parent_code":131100},{"title":"\u67a3\u5f3a\u53bf","code":"131121","parent_code":131100},{"title":"\u6b66\u9091\u53bf","code":"131122","parent_code":131100},{"title":"\u6b66\u5f3a\u53bf","code":"131123","parent_code":131100},{"title":"\u9976\u9633\u53bf","code":"131124","parent_code":131100},{"title":"\u5b89\u5e73\u53bf","code":"131125","parent_code":131100},{"title":"\u6545\u57ce\u53bf","code":"131126","parent_code":131100},{"title":"\u666f\u53bf","code":"131127","parent_code":131100},{"title":"\u961c\u57ce\u53bf","code":"131128","parent_code":131100},{"title":"\u6cb3\u5317\u8861\u6c34\u7ecf\u6d4e\u5f00\u53d1\u533a","code":"131171","parent_code":131100},{"title":"\u8861\u6c34\u6ee8\u6e56\u65b0\u533a","code":"131172","parent_code":131100},{"title":"\u6df1\u5dde\u5e02","code":"131182","parent_code":131100},{"title":"\u5c0f\u5e97\u533a","code":"140105","parent_code":140100},{"title":"\u8fce\u6cfd\u533a","code":"140106","parent_code":140100},{"title":"\u674f\u82b1\u5cad\u533a","code":"140107","parent_code":140100},{"title":"\u5c16\u8349\u576a\u533a","code":"140108","parent_code":140100},{"title":"\u4e07\u67cf\u6797\u533a","code":"140109","parent_code":140100},{"title":"\u664b\u6e90\u533a","code":"140110","parent_code":140100},{"title":"\u6e05\u5f90\u53bf","code":"140121","parent_code":140100},{"title":"\u9633\u66f2\u53bf","code":"140122","parent_code":140100},{"title":"\u5a04\u70e6\u53bf","code":"140123","parent_code":140100},{"title":"\u53e4\u4ea4\u5e02","code":"140181","parent_code":140100},{"title":"\u65b0\u8363\u533a","code":"140212","parent_code":140200},{"title":"\u5e73\u57ce\u533a","code":"140213","parent_code":140200},{"title":"\u4e91\u5188\u533a","code":"140214","parent_code":140200},{"title":"\u4e91\u5dde\u533a","code":"140215","parent_code":140200},{"title":"\u9633\u9ad8\u53bf","code":"140221","parent_code":140200},{"title":"\u5929\u9547\u53bf","code":"140222","parent_code":140200},{"title":"\u5e7f\u7075\u53bf","code":"140223","parent_code":140200},{"title":"\u7075\u4e18\u53bf","code":"140224","parent_code":140200},{"title":"\u6d51\u6e90\u53bf","code":"140225","parent_code":140200},{"title":"\u5de6\u4e91\u53bf","code":"140226","parent_code":140200},{"title":"\u5c71\u897f\u5927\u540c\u7ecf\u6d4e\u5f00\u53d1\u533a","code":"140271","parent_code":140200},{"title":"\u57ce\u533a","code":"140302","parent_code":140300},{"title":"\u77ff\u533a","code":"140303","parent_code":140300},{"title":"\u90ca\u533a","code":"140311","parent_code":140300},{"title":"\u5e73\u5b9a\u53bf","code":"140321","parent_code":140300},{"title":"\u76c2\u53bf","code":"140322","parent_code":140300},{"title":"\u6f5e\u5dde\u533a","code":"140403","parent_code":140400},{"title":"\u4e0a\u515a\u533a","code":"140404","parent_code":140400},{"title":"\u5c6f\u7559\u533a","code":"140405","parent_code":140400},{"title":"\u6f5e\u57ce\u533a","code":"140406","parent_code":140400},{"title":"\u8944\u57a3\u53bf","code":"140423","parent_code":140400},{"title":"\u5e73\u987a\u53bf","code":"140425","parent_code":140400},{"title":"\u9ece\u57ce\u53bf","code":"140426","parent_code":140400},{"title":"\u58f6\u5173\u53bf","code":"140427","parent_code":140400},{"title":"\u957f\u5b50\u53bf","code":"140428","parent_code":140400},{"title":"\u6b66\u4e61\u53bf","code":"140429","parent_code":140400},{"title":"\u6c81\u53bf","code":"140430","parent_code":140400},{"title":"\u6c81\u6e90\u53bf","code":"140431","parent_code":140400},{"title":"\u5c71\u897f\u957f\u6cbb\u9ad8\u65b0\u6280\u672f\u4ea7\u4e1a\u56ed\u533a","code":"140471","parent_code":140400},{"title":"\u57ce\u533a","code":"140502","parent_code":140500},{"title":"\u6c81\u6c34\u53bf","code":"140521","parent_code":140500},{"title":"\u9633\u57ce\u53bf","code":"140522","parent_code":140500},{"title":"\u9675\u5ddd\u53bf","code":"140524","parent_code":140500},{"title":"\u6cfd\u5dde\u53bf","code":"140525","parent_code":140500},{"title":"\u9ad8\u5e73\u5e02","code":"140581","parent_code":140500},{"title":"\u6714\u57ce\u533a","code":"140602","parent_code":140600},{"title":"\u5e73\u9c81\u533a","code":"140603","parent_code":140600},{"title":"\u5c71\u9634\u53bf","code":"140621","parent_code":140600},{"title":"\u5e94\u53bf","code":"140622","parent_code":140600},{"title":"\u53f3\u7389\u53bf","code":"140623","parent_code":140600},{"title":"\u5c71\u897f\u6714\u5dde\u7ecf\u6d4e\u5f00\u53d1\u533a","code":"140671","parent_code":140600},{"title":"\u6000\u4ec1\u5e02","code":"140681","parent_code":140600},{"title":"\u6986\u6b21\u533a","code":"140702","parent_code":140700},{"title":"\u592a\u8c37\u533a","code":"140703","parent_code":140700},{"title":"\u6986\u793e\u53bf","code":"140721","parent_code":140700},{"title":"\u5de6\u6743\u53bf","code":"140722","parent_code":140700},{"title":"\u548c\u987a\u53bf","code":"140723","parent_code":140700},{"title":"\u6614\u9633\u53bf","code":"140724","parent_code":140700},{"title":"\u5bff\u9633\u53bf","code":"140725","parent_code":140700},{"title":"\u7941\u53bf","code":"140727","parent_code":140700},{"title":"\u5e73\u9065\u53bf","code":"140728","parent_code":140700},{"title":"\u7075\u77f3\u53bf","code":"140729","parent_code":140700},{"title":"\u4ecb\u4f11\u5e02","code":"140781","parent_code":140700},{"title":"\u76d0\u6e56\u533a","code":"140802","parent_code":140800},{"title":"\u4e34\u7317\u53bf","code":"140821","parent_code":140800},{"title":"\u4e07\u8363\u53bf","code":"140822","parent_code":140800},{"title":"\u95fb\u559c\u53bf","code":"140823","parent_code":140800},{"title":"\u7a37\u5c71\u53bf","code":"140824","parent_code":140800},{"title":"\u65b0\u7edb\u53bf","code":"140825","parent_code":140800},{"title":"\u7edb\u53bf","code":"140826","parent_code":140800},{"title":"\u57a3\u66f2\u53bf","code":"140827","parent_code":140800},{"title":"\u590f\u53bf","code":"140828","parent_code":140800},{"title":"\u5e73\u9646\u53bf","code":"140829","parent_code":140800},{"title":"\u82ae\u57ce\u53bf","code":"140830","parent_code":140800},{"title":"\u6c38\u6d4e\u5e02","code":"140881","parent_code":140800},{"title":"\u6cb3\u6d25\u5e02","code":"140882","parent_code":140800},{"title":"\u5ffb\u5e9c\u533a","code":"140902","parent_code":140900},{"title":"\u5b9a\u8944\u53bf","code":"140921","parent_code":140900},{"title":"\u4e94\u53f0\u53bf","code":"140922","parent_code":140900},{"title":"\u4ee3\u53bf","code":"140923","parent_code":140900},{"title":"\u7e41\u5cd9\u53bf","code":"140924","parent_code":140900},{"title":"\u5b81\u6b66\u53bf","code":"140925","parent_code":140900},{"title":"\u9759\u4e50\u53bf","code":"140926","parent_code":140900},{"title":"\u795e\u6c60\u53bf","code":"140927","parent_code":140900},{"title":"\u4e94\u5be8\u53bf","code":"140928","parent_code":140900},{"title":"\u5ca2\u5c9a\u53bf","code":"140929","parent_code":140900},{"title":"\u6cb3\u66f2\u53bf","code":"140930","parent_code":140900},{"title":"\u4fdd\u5fb7\u53bf","code":"140931","parent_code":140900},{"title":"\u504f\u5173\u53bf","code":"140932","parent_code":140900},{"title":"\u4e94\u53f0\u5c71\u98ce\u666f\u540d\u80dc\u533a","code":"140971","parent_code":140900},{"title":"\u539f\u5e73\u5e02","code":"140981","parent_code":140900},{"title":"\u5c27\u90fd\u533a","code":"141002","parent_code":141000},{"title":"\u66f2\u6c83\u53bf","code":"141021","parent_code":141000},{"title":"\u7ffc\u57ce\u53bf","code":"141022","parent_code":141000},{"title":"\u8944\u6c7e\u53bf","code":"141023","parent_code":141000},{"title":"\u6d2a\u6d1e\u53bf","code":"141024","parent_code":141000},{"title":"\u53e4\u53bf","code":"141025","parent_code":141000},{"title":"\u5b89\u6cfd\u53bf","code":"141026","parent_code":141000},{"title":"\u6d6e\u5c71\u53bf","code":"141027","parent_code":141000},{"title":"\u5409\u53bf","code":"141028","parent_code":141000},{"title":"\u4e61\u5b81\u53bf","code":"141029","parent_code":141000},{"title":"\u5927\u5b81\u53bf","code":"141030","parent_code":141000},{"title":"\u96b0\u53bf","code":"141031","parent_code":141000},{"title":"\u6c38\u548c\u53bf","code":"141032","parent_code":141000},{"title":"\u84b2\u53bf","code":"141033","parent_code":141000},{"title":"\u6c7e\u897f\u53bf","code":"141034","parent_code":141000},{"title":"\u4faf\u9a6c\u5e02","code":"141081","parent_code":141000},{"title":"\u970d\u5dde\u5e02","code":"141082","parent_code":141000},{"title":"\u79bb\u77f3\u533a","code":"141102","parent_code":141100},{"title":"\u6587\u6c34\u53bf","code":"141121","parent_code":141100},{"title":"\u4ea4\u57ce\u53bf","code":"141122","parent_code":141100},{"title":"\u5174\u53bf","code":"141123","parent_code":141100},{"title":"\u4e34\u53bf","code":"141124","parent_code":141100},{"title":"\u67f3\u6797\u53bf","code":"141125","parent_code":141100},{"title":"\u77f3\u697c\u53bf","code":"141126","parent_code":141100},{"title":"\u5c9a\u53bf","code":"141127","parent_code":141100},{"title":"\u65b9\u5c71\u53bf","code":"141128","parent_code":141100},{"title":"\u4e2d\u9633\u53bf","code":"141129","parent_code":141100},{"title":"\u4ea4\u53e3\u53bf","code":"141130","parent_code":141100},{"title":"\u5b5d\u4e49\u5e02","code":"141181","parent_code":141100},{"title":"\u6c7e\u9633\u5e02","code":"141182","parent_code":141100},{"title":"\u65b0\u57ce\u533a","code":"150102","parent_code":150100},{"title":"\u56de\u6c11\u533a","code":"150103","parent_code":150100},{"title":"\u7389\u6cc9\u533a","code":"150104","parent_code":150100},{"title":"\u8d5b\u7f55\u533a","code":"150105","parent_code":150100},{"title":"\u571f\u9ed8\u7279\u5de6\u65d7","code":"150121","parent_code":150100},{"title":"\u6258\u514b\u6258\u53bf","code":"150122","parent_code":150100},{"title":"\u548c\u6797\u683c\u5c14\u53bf","code":"150123","parent_code":150100},{"title":"\u6e05\u6c34\u6cb3\u53bf","code":"150124","parent_code":150100},{"title":"\u6b66\u5ddd\u53bf","code":"150125","parent_code":150100},{"title":"\u547c\u548c\u6d69\u7279\u7ecf\u6d4e\u6280\u672f\u5f00\u53d1\u533a","code":"150172","parent_code":150100},{"title":"\u4e1c\u6cb3\u533a","code":"150202","parent_code":150200},{"title":"\u6606\u90fd\u4ed1\u533a","code":"150203","parent_code":150200},{"title":"\u9752\u5c71\u533a","code":"150204","parent_code":150200},{"title":"\u77f3\u62d0\u533a","code":"150205","parent_code":150200},{"title":"\u767d\u4e91\u9102\u535a\u77ff\u533a","code":"150206","parent_code":150200},{"title":"\u4e5d\u539f\u533a","code":"150207","parent_code":150200},{"title":"\u571f\u9ed8\u7279\u53f3\u65d7","code":"150221","parent_code":150200},{"title":"\u56fa\u9633\u53bf","code":"150222","parent_code":150200},{"title":"\u8fbe\u5c14\u7f55\u8302\u660e\u5b89\u8054\u5408\u65d7","code":"150223","parent_code":150200},{"title":"\u5305\u5934\u7a00\u571f\u9ad8\u65b0\u6280\u672f\u4ea7\u4e1a\u5f00\u53d1\u533a","code":"150271","parent_code":150200},{"title":"\u6d77\u52c3\u6e7e\u533a","code":"150302","parent_code":150300},{"title":"\u6d77\u5357\u533a","code":"150303","parent_code":150300},{"title":"\u4e4c\u8fbe\u533a","code":"150304","parent_code":150300},{"title":"\u7ea2\u5c71\u533a","code":"150402","parent_code":150400},{"title":"\u5143\u5b9d\u5c71\u533a","code":"150403","parent_code":150400},{"title":"\u677e\u5c71\u533a","code":"150404","parent_code":150400},{"title":"\u963f\u9c81\u79d1\u5c14\u6c81\u65d7","code":"150421","parent_code":150400},{"title":"\u5df4\u6797\u5de6\u65d7","code":"150422","parent_code":150400},{"title":"\u5df4\u6797\u53f3\u65d7","code":"150423","parent_code":150400},{"title":"\u6797\u897f\u53bf","code":"150424","parent_code":150400},{"title":"\u514b\u4ec0\u514b\u817e\u65d7","code":"150425","parent_code":150400},{"title":"\u7fc1\u725b\u7279\u65d7","code":"150426","parent_code":150400},{"title":"\u5580\u5587\u6c81\u65d7","code":"150428","parent_code":150400},{"title":"\u5b81\u57ce\u53bf","code":"150429","parent_code":150400},{"title":"\u6556\u6c49\u65d7","code":"150430","parent_code":150400},{"title":"\u79d1\u5c14\u6c81\u533a","code":"150502","parent_code":150500},{"title":"\u79d1\u5c14\u6c81\u5de6\u7ffc\u4e2d\u65d7","code":"150521","parent_code":150500},{"title":"\u79d1\u5c14\u6c81\u5de6\u7ffc\u540e\u65d7","code":"150522","parent_code":150500},{"title":"\u5f00\u9c81\u53bf","code":"150523","parent_code":150500},{"title":"\u5e93\u4f26\u65d7","code":"150524","parent_code":150500},{"title":"\u5948\u66fc\u65d7","code":"150525","parent_code":150500},{"title":"\u624e\u9c81\u7279\u65d7","code":"150526","parent_code":150500},{"title":"\u901a\u8fbd\u7ecf\u6d4e\u6280\u672f\u5f00\u53d1\u533a","code":"150571","parent_code":150500},{"title":"\u970d\u6797\u90ed\u52d2\u5e02","code":"150581","parent_code":150500},{"title":"\u4e1c\u80dc\u533a","code":"150602","parent_code":150600},{"title":"\u5eb7\u5df4\u4ec0\u533a","code":"150603","parent_code":150600},{"title":"\u8fbe\u62c9\u7279\u65d7","code":"150621","parent_code":150600},{"title":"\u51c6\u683c\u5c14\u65d7","code":"150622","parent_code":150600},{"title":"\u9102\u6258\u514b\u524d\u65d7","code":"150623","parent_code":150600},{"title":"\u9102\u6258\u514b\u65d7","code":"150624","parent_code":150600},{"title":"\u676d\u9526\u65d7","code":"150625","parent_code":150600},{"title":"\u4e4c\u5ba1\u65d7","code":"150626","parent_code":150600},{"title":"\u4f0a\u91d1\u970d\u6d1b\u65d7","code":"150627","parent_code":150600},{"title":"\u6d77\u62c9\u5c14\u533a","code":"150702","parent_code":150700},{"title":"\u624e\u8d49\u8bfa\u5c14\u533a","code":"150703","parent_code":150700},{"title":"\u963f\u8363\u65d7","code":"150721","parent_code":150700},{"title":"\u83ab\u529b\u8fbe\u74e6\u8fbe\u65a1\u5c14\u65cf\u81ea\u6cbb\u65d7","code":"150722","parent_code":150700},{"title":"\u9102\u4f26\u6625\u81ea\u6cbb\u65d7","code":"150723","parent_code":150700},{"title":"\u9102\u6e29\u514b\u65cf\u81ea\u6cbb\u65d7","code":"150724","parent_code":150700},{"title":"\u9648\u5df4\u5c14\u864e\u65d7","code":"150725","parent_code":150700},{"title":"\u65b0\u5df4\u5c14\u864e\u5de6\u65d7","code":"150726","parent_code":150700},{"title":"\u65b0\u5df4\u5c14\u864e\u53f3\u65d7","code":"150727","parent_code":150700},{"title":"\u6ee1\u6d32\u91cc\u5e02","code":"150781","parent_code":150700},{"title":"\u7259\u514b\u77f3\u5e02","code":"150782","parent_code":150700},{"title":"\u624e\u5170\u5c6f\u5e02","code":"150783","parent_code":150700},{"title":"\u989d\u5c14\u53e4\u7eb3\u5e02","code":"150784","parent_code":150700},{"title":"\u6839\u6cb3\u5e02","code":"150785","parent_code":150700},{"title":"\u4e34\u6cb3\u533a","code":"150802","parent_code":150800},{"title":"\u4e94\u539f\u53bf","code":"150821","parent_code":150800},{"title":"\u78f4\u53e3\u53bf","code":"150822","parent_code":150800},{"title":"\u4e4c\u62c9\u7279\u524d\u65d7","code":"150823","parent_code":150800},{"title":"\u4e4c\u62c9\u7279\u4e2d\u65d7","code":"150824","parent_code":150800},{"title":"\u4e4c\u62c9\u7279\u540e\u65d7","code":"150825","parent_code":150800},{"title":"\u676d\u9526\u540e\u65d7","code":"150826","parent_code":150800},{"title":"\u96c6\u5b81\u533a","code":"150902","parent_code":150900},{"title":"\u5353\u8d44\u53bf","code":"150921","parent_code":150900},{"title":"\u5316\u5fb7\u53bf","code":"150922","parent_code":150900},{"title":"\u5546\u90fd\u53bf","code":"150923","parent_code":150900},{"title":"\u5174\u548c\u53bf","code":"150924","parent_code":150900},{"title":"\u51c9\u57ce\u53bf","code":"150925","parent_code":150900},{"title":"\u5bdf\u54c8\u5c14\u53f3\u7ffc\u524d\u65d7","code":"150926","parent_code":150900},{"title":"\u5bdf\u54c8\u5c14\u53f3\u7ffc\u4e2d\u65d7","code":"150927","parent_code":150900},{"title":"\u5bdf\u54c8\u5c14\u53f3\u7ffc\u540e\u65d7","code":"150928","parent_code":150900},{"title":"\u56db\u5b50\u738b\u65d7","code":"150929","parent_code":150900},{"title":"\u4e30\u9547\u5e02","code":"150981","parent_code":150900},{"title":"\u4e4c\u5170\u6d69\u7279\u5e02","code":"152201","parent_code":152200},{"title":"\u963f\u5c14\u5c71\u5e02","code":"152202","parent_code":152200},{"title":"\u79d1\u5c14\u6c81\u53f3\u7ffc\u524d\u65d7","code":"152221","parent_code":152200},{"title":"\u79d1\u5c14\u6c81\u53f3\u7ffc\u4e2d\u65d7","code":"152222","parent_code":152200},{"title":"\u624e\u8d49\u7279\u65d7","code":"152223","parent_code":152200},{"title":"\u7a81\u6cc9\u53bf","code":"152224","parent_code":152200},{"title":"\u4e8c\u8fde\u6d69\u7279\u5e02","code":"152501","parent_code":152500},{"title":"\u9521\u6797\u6d69\u7279\u5e02","code":"152502","parent_code":152500},{"title":"\u963f\u5df4\u560e\u65d7","code":"152522","parent_code":152500},{"title":"\u82cf\u5c3c\u7279\u5de6\u65d7","code":"152523","parent_code":152500},{"title":"\u82cf\u5c3c\u7279\u53f3\u65d7","code":"152524","parent_code":152500},{"title":"\u4e1c\u4e4c\u73e0\u7a46\u6c81\u65d7","code":"152525","parent_code":152500},{"title":"\u897f\u4e4c\u73e0\u7a46\u6c81\u65d7","code":"152526","parent_code":152500},{"title":"\u592a\u4ec6\u5bfa\u65d7","code":"152527","parent_code":152500},{"title":"\u9576\u9ec4\u65d7","code":"152528","parent_code":152500},{"title":"\u6b63\u9576\u767d\u65d7","code":"152529","parent_code":152500},{"title":"\u6b63\u84dd\u65d7","code":"152530","parent_code":152500},{"title":"\u591a\u4f26\u53bf","code":"152531","parent_code":152500},{"title":"\u4e4c\u62c9\u76d6\u7ba1\u59d4\u4f1a","code":"152571","parent_code":152500},{"title":"\u963f\u62c9\u5584\u5de6\u65d7","code":"152921","parent_code":152900},{"title":"\u963f\u62c9\u5584\u53f3\u65d7","code":"152922","parent_code":152900},{"title":"\u989d\u6d4e\u7eb3\u65d7","code":"152923","parent_code":152900},{"title":"\u5185\u8499\u53e4\u963f\u62c9\u5584\u7ecf\u6d4e\u5f00\u53d1\u533a","code":"152971","parent_code":152900},{"title":"\u548c\u5e73\u533a","code":"210102","parent_code":210100},{"title":"\u6c88\u6cb3\u533a","code":"210103","parent_code":210100},{"title":"\u5927\u4e1c\u533a","code":"210104","parent_code":210100},{"title":"\u7687\u59d1\u533a","code":"210105","parent_code":210100},{"title":"\u94c1\u897f\u533a","code":"210106","parent_code":210100},{"title":"\u82cf\u5bb6\u5c6f\u533a","code":"210111","parent_code":210100},{"title":"\u6d51\u5357\u533a","code":"210112","parent_code":210100},{"title":"\u6c88\u5317\u65b0\u533a","code":"210113","parent_code":210100},{"title":"\u4e8e\u6d2a\u533a","code":"210114","parent_code":210100},{"title":"\u8fbd\u4e2d\u533a","code":"210115","parent_code":210100},{"title":"\u5eb7\u5e73\u53bf","code":"210123","parent_code":210100},{"title":"\u6cd5\u5e93\u53bf","code":"210124","parent_code":210100},{"title":"\u65b0\u6c11\u5e02","code":"210181","parent_code":210100},{"title":"\u7ecf\u6d4e\u6280\u672f\u5f00\u53d1\u533a","code":"210190","parent_code":210100},{"title":"\u4e2d\u5c71\u533a","code":"210202","parent_code":210200},{"title":"\u897f\u5c97\u533a","code":"210203","parent_code":210200},{"title":"\u6c99\u6cb3\u53e3\u533a","code":"210204","parent_code":210200},{"title":"\u7518\u4e95\u5b50\u533a","code":"210211","parent_code":210200},{"title":"\u65c5\u987a\u53e3\u533a","code":"210212","parent_code":210200},{"title":"\u91d1\u5dde\u533a","code":"210213","parent_code":210200},{"title":"\u666e\u5170\u5e97\u533a","code":"210214","parent_code":210200},{"title":"\u957f\u6d77\u53bf","code":"210224","parent_code":210200},{"title":"\u74e6\u623f\u5e97\u5e02","code":"210281","parent_code":210200},{"title":"\u5e84\u6cb3\u5e02","code":"210283","parent_code":210200},{"title":"\u94c1\u4e1c\u533a","code":"210302","parent_code":210300},{"title":"\u94c1\u897f\u533a","code":"210303","parent_code":210300},{"title":"\u7acb\u5c71\u533a","code":"210304","parent_code":210300},{"title":"\u5343\u5c71\u533a","code":"210311","parent_code":210300},{"title":"\u53f0\u5b89\u53bf","code":"210321","parent_code":210300},{"title":"\u5cab\u5ca9\u6ee1\u65cf\u81ea\u6cbb\u53bf","code":"210323","parent_code":210300},{"title":"\u6d77\u57ce\u5e02","code":"210381","parent_code":210300},{"title":"\u9ad8\u65b0\u533a","code":"210390","parent_code":210300},{"title":"\u65b0\u629a\u533a","code":"210402","parent_code":210400},{"title":"\u4e1c\u6d32\u533a","code":"210403","parent_code":210400},{"title":"\u671b\u82b1\u533a","code":"210404","parent_code":210400},{"title":"\u987a\u57ce\u533a","code":"210411","parent_code":210400},{"title":"\u629a\u987a\u53bf","code":"210421","parent_code":210400},{"title":"\u65b0\u5bbe\u6ee1\u65cf\u81ea\u6cbb\u53bf","code":"210422","parent_code":210400},{"title":"\u6e05\u539f\u6ee1\u65cf\u81ea\u6cbb\u53bf","code":"210423","parent_code":210400},{"title":"\u5e73\u5c71\u533a","code":"210502","parent_code":210500},{"title":"\u6eaa\u6e56\u533a","code":"210503","parent_code":210500},{"title":"\u660e\u5c71\u533a","code":"210504","parent_code":210500},{"title":"\u5357\u82ac\u533a","code":"210505","parent_code":210500},{"title":"\u672c\u6eaa\u6ee1\u65cf\u81ea\u6cbb\u53bf","code":"210521","parent_code":210500},{"title":"\u6853\u4ec1\u6ee1\u65cf\u81ea\u6cbb\u53bf","code":"210522","parent_code":210500},{"title":"\u5143\u5b9d\u533a","code":"210602","parent_code":210600},{"title":"\u632f\u5174\u533a","code":"210603","parent_code":210600},{"title":"\u632f\u5b89\u533a","code":"210604","parent_code":210600},{"title":"\u5bbd\u7538\u6ee1\u65cf\u81ea\u6cbb\u53bf","code":"210624","parent_code":210600},{"title":"\u4e1c\u6e2f\u5e02","code":"210681","parent_code":210600},{"title":"\u51e4\u57ce\u5e02","code":"210682","parent_code":210600},{"title":"\u53e4\u5854\u533a","code":"210702","parent_code":210700},{"title":"\u51cc\u6cb3\u533a","code":"210703","parent_code":210700},{"title":"\u592a\u548c\u533a","code":"210711","parent_code":210700},{"title":"\u9ed1\u5c71\u53bf","code":"210726","parent_code":210700},{"title":"\u4e49\u53bf","code":"210727","parent_code":210700},{"title":"\u51cc\u6d77\u5e02","code":"210781","parent_code":210700},{"title":"\u5317\u9547\u5e02","code":"210782","parent_code":210700},{"title":"\u7ecf\u6d4e\u6280\u672f\u5f00\u53d1\u533a","code":"210793","parent_code":210700},{"title":"\u7ad9\u524d\u533a","code":"210802","parent_code":210800},{"title":"\u897f\u5e02\u533a","code":"210803","parent_code":210800},{"title":"\u9c85\u9c7c\u5708\u533a","code":"210804","parent_code":210800},{"title":"\u8001\u8fb9\u533a","code":"210811","parent_code":210800},{"title":"\u76d6\u5dde\u5e02","code":"210881","parent_code":210800},{"title":"\u5927\u77f3\u6865\u5e02","code":"210882","parent_code":210800},{"title":"\u6d77\u5dde\u533a","code":"210902","parent_code":210900},{"title":"\u65b0\u90b1\u533a","code":"210903","parent_code":210900},{"title":"\u592a\u5e73\u533a","code":"210904","parent_code":210900},{"title":"\u6e05\u6cb3\u95e8\u533a","code":"210905","parent_code":210900},{"title":"\u7ec6\u6cb3\u533a","code":"210911","parent_code":210900},{"title":"\u961c\u65b0\u8499\u53e4\u65cf\u81ea\u6cbb\u53bf","code":"210921","parent_code":210900},{"title":"\u5f70\u6b66\u53bf","code":"210922","parent_code":210900},{"title":"\u767d\u5854\u533a","code":"211002","parent_code":211000},{"title":"\u6587\u5723\u533a","code":"211003","parent_code":211000},{"title":"\u5b8f\u4f1f\u533a","code":"211004","parent_code":211000},{"title":"\u5f13\u957f\u5cad\u533a","code":"211005","parent_code":211000},{"title":"\u592a\u5b50\u6cb3\u533a","code":"211011","parent_code":211000},{"title":"\u8fbd\u9633\u53bf","code":"211021","parent_code":211000},{"title":"\u706f\u5854\u5e02","code":"211081","parent_code":211000},{"title":"\u53cc\u53f0\u5b50\u533a","code":"211102","parent_code":211100},{"title":"\u5174\u9686\u53f0\u533a","code":"211103","parent_code":211100},{"title":"\u5927\u6d3c\u533a","code":"211104","parent_code":211100},{"title":"\u76d8\u5c71\u53bf","code":"211122","parent_code":211100},{"title":"\u94f6\u5dde\u533a","code":"211202","parent_code":211200},{"title":"\u6e05\u6cb3\u533a","code":"211204","parent_code":211200},{"title":"\u94c1\u5cad\u53bf","code":"211221","parent_code":211200},{"title":"\u897f\u4e30\u53bf","code":"211223","parent_code":211200},{"title":"\u660c\u56fe\u53bf","code":"211224","parent_code":211200},{"title":"\u8c03\u5175\u5c71\u5e02","code":"211281","parent_code":211200},{"title":"\u5f00\u539f\u5e02","code":"211282","parent_code":211200},{"title":"\u53cc\u5854\u533a","code":"211302","parent_code":211300},{"title":"\u9f99\u57ce\u533a","code":"211303","parent_code":211300},{"title":"\u671d\u9633\u53bf","code":"211321","parent_code":211300},{"title":"\u5efa\u5e73\u53bf","code":"211322","parent_code":211300},{"title":"\u5580\u5587\u6c81\u5de6\u7ffc\u8499\u53e4\u65cf\u81ea\u6cbb\u53bf","code":"211324","parent_code":211300},{"title":"\u5317\u7968\u5e02","code":"211381","parent_code":211300},{"title":"\u51cc\u6e90\u5e02","code":"211382","parent_code":211300},{"title":"\u8fde\u5c71\u533a","code":"211402","parent_code":211400},{"title":"\u9f99\u6e2f\u533a","code":"211403","parent_code":211400},{"title":"\u5357\u7968\u533a","code":"211404","parent_code":211400},{"title":"\u7ee5\u4e2d\u53bf","code":"211421","parent_code":211400},{"title":"\u5efa\u660c\u53bf","code":"211422","parent_code":211400},{"title":"\u5174\u57ce\u5e02","code":"211481","parent_code":211400},{"title":"\u5357\u5173\u533a","code":"220102","parent_code":220100},{"title":"\u5bbd\u57ce\u533a","code":"220103","parent_code":220100},{"title":"\u671d\u9633\u533a","code":"220104","parent_code":220100},{"title":"\u4e8c\u9053\u533a","code":"220105","parent_code":220100},{"title":"\u7eff\u56ed\u533a","code":"220106","parent_code":220100},{"title":"\u53cc\u9633\u533a","code":"220112","parent_code":220100},{"title":"\u4e5d\u53f0\u533a","code":"220113","parent_code":220100},{"title":"\u519c\u5b89\u53bf","code":"220122","parent_code":220100},{"title":"\u957f\u6625\u7ecf\u6d4e\u6280\u672f\u5f00\u53d1\u533a","code":"220171","parent_code":220100},{"title":"\u957f\u6625\u51c0\u6708\u9ad8\u65b0\u6280\u672f\u4ea7\u4e1a\u5f00\u53d1\u533a","code":"220172","parent_code":220100},{"title":"\u957f\u6625\u9ad8\u65b0\u6280\u672f\u4ea7\u4e1a\u5f00\u53d1\u533a","code":"220173","parent_code":220100},{"title":"\u957f\u6625\u6c7d\u8f66\u7ecf\u6d4e\u6280\u672f\u5f00\u53d1\u533a","code":"220174","parent_code":220100},{"title":"\u6986\u6811\u5e02","code":"220182","parent_code":220100},{"title":"\u5fb7\u60e0\u5e02","code":"220183","parent_code":220100},{"title":"\u7ecf\u6d4e\u6280\u672f\u5f00\u53d1\u533a","code":"220192","parent_code":220100},{"title":"\u660c\u9091\u533a","code":"220202","parent_code":220200},{"title":"\u9f99\u6f6d\u533a","code":"220203","parent_code":220200},{"title":"\u8239\u8425\u533a","code":"220204","parent_code":220200},{"title":"\u4e30\u6ee1\u533a","code":"220211","parent_code":220200},{"title":"\u6c38\u5409\u53bf","code":"220221","parent_code":220200},{"title":"\u5409\u6797\u7ecf\u6d4e\u5f00\u53d1\u533a","code":"220271","parent_code":220200},{"title":"\u5409\u6797\u9ad8\u65b0\u6280\u672f\u4ea7\u4e1a\u5f00\u53d1\u533a","code":"220272","parent_code":220200},{"title":"\u86df\u6cb3\u5e02","code":"220281","parent_code":220200},{"title":"\u6866\u7538\u5e02","code":"220282","parent_code":220200},{"title":"\u8212\u5170\u5e02","code":"220283","parent_code":220200},{"title":"\u78d0\u77f3\u5e02","code":"220284","parent_code":220200},{"title":"\u94c1\u897f\u533a","code":"220302","parent_code":220300},{"title":"\u94c1\u4e1c\u533a","code":"220303","parent_code":220300},{"title":"\u68a8\u6811\u53bf","code":"220322","parent_code":220300},{"title":"\u4f0a\u901a\u6ee1\u65cf\u81ea\u6cbb\u53bf","code":"220323","parent_code":220300},{"title":"\u516c\u4e3b\u5cad\u5e02","code":"220381","parent_code":220300},{"title":"\u53cc\u8fbd\u5e02","code":"220382","parent_code":220300},{"title":"\u9f99\u5c71\u533a","code":"220402","parent_code":220400},{"title":"\u897f\u5b89\u533a","code":"220403","parent_code":220400},{"title":"\u4e1c\u4e30\u53bf","code":"220421","parent_code":220400},{"title":"\u4e1c\u8fbd\u53bf","code":"220422","parent_code":220400},{"title":"\u4e1c\u660c\u533a","code":"220502","parent_code":220500},{"title":"\u4e8c\u9053\u6c5f\u533a","code":"220503","parent_code":220500},{"title":"\u901a\u5316\u53bf","code":"220521","parent_code":220500},{"title":"\u8f89\u5357\u53bf","code":"220523","parent_code":220500},{"title":"\u67f3\u6cb3\u53bf","code":"220524","parent_code":220500},{"title":"\u6885\u6cb3\u53e3\u5e02","code":"220581","parent_code":220500},{"title":"\u96c6\u5b89\u5e02","code":"220582","parent_code":220500},{"title":"\u6d51\u6c5f\u533a","code":"220602","parent_code":220600},{"title":"\u6c5f\u6e90\u533a","code":"220605","parent_code":220600},{"title":"\u629a\u677e\u53bf","code":"220621","parent_code":220600},{"title":"\u9756\u5b87\u53bf","code":"220622","parent_code":220600},{"title":"\u957f\u767d\u671d\u9c9c\u65cf\u81ea\u6cbb\u53bf","code":"220623","parent_code":220600},{"title":"\u4e34\u6c5f\u5e02","code":"220681","parent_code":220600},{"title":"\u5b81\u6c5f\u533a","code":"220702","parent_code":220700},{"title":"\u524d\u90ed\u5c14\u7f57\u65af\u8499\u53e4\u65cf\u81ea\u6cbb\u53bf","code":"220721","parent_code":220700},{"title":"\u957f\u5cad\u53bf","code":"220722","parent_code":220700},{"title":"\u4e7e\u5b89\u53bf","code":"220723","parent_code":220700},{"title":"\u5409\u6797\u677e\u539f\u7ecf\u6d4e\u5f00\u53d1\u533a","code":"220771","parent_code":220700},{"title":"\u6276\u4f59\u5e02","code":"220781","parent_code":220700},{"title":"\u6d2e\u5317\u533a","code":"220802","parent_code":220800},{"title":"\u9547\u8d49\u53bf","code":"220821","parent_code":220800},{"title":"\u901a\u6986\u53bf","code":"220822","parent_code":220800},{"title":"\u5409\u6797\u767d\u57ce\u7ecf\u6d4e\u5f00\u53d1\u533a","code":"220871","parent_code":220800},{"title":"\u6d2e\u5357\u5e02","code":"220881","parent_code":220800},{"title":"\u5927\u5b89\u5e02","code":"220882","parent_code":220800},{"title":"\u5ef6\u5409\u5e02","code":"222401","parent_code":222400},{"title":"\u56fe\u4eec\u5e02","code":"222402","parent_code":222400},{"title":"\u6566\u5316\u5e02","code":"222403","parent_code":222400},{"title":"\u73f2\u6625\u5e02","code":"222404","parent_code":222400},{"title":"\u9f99\u4e95\u5e02","code":"222405","parent_code":222400},{"title":"\u548c\u9f99\u5e02","code":"222406","parent_code":222400},{"title":"\u6c6a\u6e05\u53bf","code":"222424","parent_code":222400},{"title":"\u5b89\u56fe\u53bf","code":"222426","parent_code":222400},{"title":"\u9053\u91cc\u533a","code":"230102","parent_code":230100},{"title":"\u5357\u5c97\u533a","code":"230103","parent_code":230100},{"title":"\u9053\u5916\u533a","code":"230104","parent_code":230100},{"title":"\u5e73\u623f\u533a","code":"230108","parent_code":230100},{"title":"\u677e\u5317\u533a","code":"230109","parent_code":230100},{"title":"\u9999\u574a\u533a","code":"230110","parent_code":230100},{"title":"\u547c\u5170\u533a","code":"230111","parent_code":230100},{"title":"\u963f\u57ce\u533a","code":"230112","parent_code":230100},{"title":"\u53cc\u57ce\u533a","code":"230113","parent_code":230100},{"title":"\u4f9d\u5170\u53bf","code":"230123","parent_code":230100},{"title":"\u65b9\u6b63\u53bf","code":"230124","parent_code":230100},{"title":"\u5bbe\u53bf","code":"230125","parent_code":230100},{"title":"\u5df4\u5f66\u53bf","code":"230126","parent_code":230100},{"title":"\u6728\u5170\u53bf","code":"230127","parent_code":230100},{"title":"\u901a\u6cb3\u53bf","code":"230128","parent_code":230100},{"title":"\u5ef6\u5bff\u53bf","code":"230129","parent_code":230100},{"title":"\u5c1a\u5fd7\u5e02","code":"230183","parent_code":230100},{"title":"\u4e94\u5e38\u5e02","code":"230184","parent_code":230100},{"title":"\u9f99\u6c99\u533a","code":"230202","parent_code":230200},{"title":"\u5efa\u534e\u533a","code":"230203","parent_code":230200},{"title":"\u94c1\u950b\u533a","code":"230204","parent_code":230200},{"title":"\u6602\u6602\u6eaa\u533a","code":"230205","parent_code":230200},{"title":"\u5bcc\u62c9\u5c14\u57fa\u533a","code":"230206","parent_code":230200},{"title":"\u78be\u5b50\u5c71\u533a","code":"230207","parent_code":230200},{"title":"\u6885\u91cc\u65af\u8fbe\u65a1\u5c14\u65cf\u533a","code":"230208","parent_code":230200},{"title":"\u9f99\u6c5f\u53bf","code":"230221","parent_code":230200},{"title":"\u4f9d\u5b89\u53bf","code":"230223","parent_code":230200},{"title":"\u6cf0\u6765\u53bf","code":"230224","parent_code":230200},{"title":"\u7518\u5357\u53bf","code":"230225","parent_code":230200},{"title":"\u5bcc\u88d5\u53bf","code":"230227","parent_code":230200},{"title":"\u514b\u5c71\u53bf","code":"230229","parent_code":230200},{"title":"\u514b\u4e1c\u53bf","code":"230230","parent_code":230200},{"title":"\u62dc\u6cc9\u53bf","code":"230231","parent_code":230200},{"title":"\u8bb7\u6cb3\u5e02","code":"230281","parent_code":230200},{"title":"\u9e21\u51a0\u533a","code":"230302","parent_code":230300},{"title":"\u6052\u5c71\u533a","code":"230303","parent_code":230300},{"title":"\u6ef4\u9053\u533a","code":"230304","parent_code":230300},{"title":"\u68a8\u6811\u533a","code":"230305","parent_code":230300},{"title":"\u57ce\u5b50\u6cb3\u533a","code":"230306","parent_code":230300},{"title":"\u9ebb\u5c71\u533a","code":"230307","parent_code":230300},{"title":"\u9e21\u4e1c\u53bf","code":"230321","parent_code":230300},{"title":"\u864e\u6797\u5e02","code":"230381","parent_code":230300},{"title":"\u5bc6\u5c71\u5e02","code":"230382","parent_code":230300},{"title":"\u5411\u9633\u533a","code":"230402","parent_code":230400},{"title":"\u5de5\u519c\u533a","code":"230403","parent_code":230400},{"title":"\u5357\u5c71\u533a","code":"230404","parent_code":230400},{"title":"\u5174\u5b89\u533a","code":"230405","parent_code":230400},{"title":"\u4e1c\u5c71\u533a","code":"230406","parent_code":230400},{"title":"\u5174\u5c71\u533a","code":"230407","parent_code":230400},{"title":"\u841d\u5317\u53bf","code":"230421","parent_code":230400},{"title":"\u7ee5\u6ee8\u53bf","code":"230422","parent_code":230400},{"title":"\u5c16\u5c71\u533a","code":"230502","parent_code":230500},{"title":"\u5cad\u4e1c\u533a","code":"230503","parent_code":230500},{"title":"\u56db\u65b9\u53f0\u533a","code":"230505","parent_code":230500},{"title":"\u5b9d\u5c71\u533a","code":"230506","parent_code":230500},{"title":"\u96c6\u8d24\u53bf","code":"230521","parent_code":230500},{"title":"\u53cb\u8c0a\u53bf","code":"230522","parent_code":230500},{"title":"\u5b9d\u6e05\u53bf","code":"230523","parent_code":230500},{"title":"\u9976\u6cb3\u53bf","code":"230524","parent_code":230500},{"title":"\u8428\u5c14\u56fe\u533a","code":"230602","parent_code":230600},{"title":"\u9f99\u51e4\u533a","code":"230603","parent_code":230600},{"title":"\u8ba9\u80e1\u8def\u533a","code":"230604","parent_code":230600},{"title":"\u7ea2\u5c97\u533a","code":"230605","parent_code":230600},{"title":"\u5927\u540c\u533a","code":"230606","parent_code":230600},{"title":"\u8087\u5dde\u53bf","code":"230621","parent_code":230600},{"title":"\u8087\u6e90\u53bf","code":"230622","parent_code":230600},{"title":"\u6797\u7538\u53bf","code":"230623","parent_code":230600},{"title":"\u675c\u5c14\u4f2f\u7279\u8499\u53e4\u65cf\u81ea\u6cbb\u53bf","code":"230624","parent_code":230600},{"title":"\u5927\u5e86\u9ad8\u65b0\u6280\u672f\u4ea7\u4e1a\u5f00\u53d1\u533a","code":"230671","parent_code":230600},{"title":"\u4f0a\u7f8e\u533a","code":"230717","parent_code":230700},{"title":"\u4e4c\u7fe0\u533a","code":"230718","parent_code":230700},{"title":"\u53cb\u597d\u533a","code":"230719","parent_code":230700},{"title":"\u5609\u836b\u53bf","code":"230722","parent_code":230700},{"title":"\u6c64\u65fa\u53bf","code":"230723","parent_code":230700},{"title":"\u4e30\u6797\u53bf","code":"230724","parent_code":230700},{"title":"\u5927\u7b90\u5c71\u53bf","code":"230725","parent_code":230700},{"title":"\u5357\u5c94\u53bf","code":"230726","parent_code":230700},{"title":"\u91d1\u6797\u533a","code":"230751","parent_code":230700},{"title":"\u94c1\u529b\u5e02","code":"230781","parent_code":230700},{"title":"\u5411\u9633\u533a","code":"230803","parent_code":230800},{"title":"\u524d\u8fdb\u533a","code":"230804","parent_code":230800},{"title":"\u4e1c\u98ce\u533a","code":"230805","parent_code":230800},{"title":"\u90ca\u533a","code":"230811","parent_code":230800},{"title":"\u6866\u5357\u53bf","code":"230822","parent_code":230800},{"title":"\u6866\u5ddd\u53bf","code":"230826","parent_code":230800},{"title":"\u6c64\u539f\u53bf","code":"230828","parent_code":230800},{"title":"\u540c\u6c5f\u5e02","code":"230881","parent_code":230800},{"title":"\u5bcc\u9526\u5e02","code":"230882","parent_code":230800},{"title":"\u629a\u8fdc\u5e02","code":"230883","parent_code":230800},{"title":"\u65b0\u5174\u533a","code":"230902","parent_code":230900},{"title":"\u6843\u5c71\u533a","code":"230903","parent_code":230900},{"title":"\u8304\u5b50\u6cb3\u533a","code":"230904","parent_code":230900},{"title":"\u52c3\u5229\u53bf","code":"230921","parent_code":230900},{"title":"\u4e1c\u5b89\u533a","code":"231002","parent_code":231000},{"title":"\u9633\u660e\u533a","code":"231003","parent_code":231000},{"title":"\u7231\u6c11\u533a","code":"231004","parent_code":231000},{"title":"\u897f\u5b89\u533a","code":"231005","parent_code":231000},{"title":"\u6797\u53e3\u53bf","code":"231025","parent_code":231000},{"title":"\u7ee5\u82ac\u6cb3\u5e02","code":"231081","parent_code":231000},{"title":"\u6d77\u6797\u5e02","code":"231083","parent_code":231000},{"title":"\u5b81\u5b89\u5e02","code":"231084","parent_code":231000},{"title":"\u7a46\u68f1\u5e02","code":"231085","parent_code":231000},{"title":"\u4e1c\u5b81\u5e02","code":"231086","parent_code":231000},{"title":"\u7231\u8f89\u533a","code":"231102","parent_code":231100},{"title":"\u900a\u514b\u53bf","code":"231123","parent_code":231100},{"title":"\u5b59\u5434\u53bf","code":"231124","parent_code":231100},{"title":"\u5317\u5b89\u5e02","code":"231181","parent_code":231100},{"title":"\u4e94\u5927\u8fde\u6c60\u5e02","code":"231182","parent_code":231100},{"title":"\u5ae9\u6c5f\u5e02","code":"231183","parent_code":231100},{"title":"\u5317\u6797\u533a","code":"231202","parent_code":231200},{"title":"\u671b\u594e\u53bf","code":"231221","parent_code":231200},{"title":"\u5170\u897f\u53bf","code":"231222","parent_code":231200},{"title":"\u9752\u5188\u53bf","code":"231223","parent_code":231200},{"title":"\u5e86\u5b89\u53bf","code":"231224","parent_code":231200},{"title":"\u660e\u6c34\u53bf","code":"231225","parent_code":231200},{"title":"\u7ee5\u68f1\u53bf","code":"231226","parent_code":231200},{"title":"\u5b89\u8fbe\u5e02","code":"231281","parent_code":231200},{"title":"\u8087\u4e1c\u5e02","code":"231282","parent_code":231200},{"title":"\u6d77\u4f26\u5e02","code":"231283","parent_code":231200},{"title":"\u6f20\u6cb3\u5e02","code":"232701","parent_code":232700},{"title":"\u547c\u739b\u53bf","code":"232721","parent_code":232700},{"title":"\u5854\u6cb3\u53bf","code":"232722","parent_code":232700},{"title":"\u677e\u5cad\u533a","code":"232790","parent_code":232700},{"title":"\u547c\u4e2d\u533a","code":"232791","parent_code":232700},{"title":"\u52a0\u683c\u8fbe\u5947\u533a","code":"232792","parent_code":232700},{"title":"\u65b0\u6797\u533a","code":"232793","parent_code":232700},{"title":"\u9ec4\u6d66\u533a","code":"310101","parent_code":310100},{"title":"\u5f90\u6c47\u533a","code":"310104","parent_code":310100},{"title":"\u957f\u5b81\u533a","code":"310105","parent_code":310100},{"title":"\u9759\u5b89\u533a","code":"310106","parent_code":310100},{"title":"\u666e\u9640\u533a","code":"310107","parent_code":310100},{"title":"\u8679\u53e3\u533a","code":"310109","parent_code":310100},{"title":"\u6768\u6d66\u533a","code":"310110","parent_code":310100},{"title":"\u95f5\u884c\u533a","code":"310112","parent_code":310100},{"title":"\u5b9d\u5c71\u533a","code":"310113","parent_code":310100},{"title":"\u5609\u5b9a\u533a","code":"310114","parent_code":310100},{"title":"\u6d66\u4e1c\u65b0\u533a","code":"310115","parent_code":310100},{"title":"\u91d1\u5c71\u533a","code":"310116","parent_code":310100},{"title":"\u677e\u6c5f\u533a","code":"310117","parent_code":310100},{"title":"\u9752\u6d66\u533a","code":"310118","parent_code":310100},{"title":"\u5949\u8d24\u533a","code":"310120","parent_code":310100},{"title":"\u5d07\u660e\u533a","code":"310151","parent_code":310100},{"title":"\u7384\u6b66\u533a","code":"320102","parent_code":320100},{"title":"\u79e6\u6dee\u533a","code":"320104","parent_code":320100},{"title":"\u5efa\u90ba\u533a","code":"320105","parent_code":320100},{"title":"\u9f13\u697c\u533a","code":"320106","parent_code":320100},{"title":"\u6d66\u53e3\u533a","code":"320111","parent_code":320100},{"title":"\u6816\u971e\u533a","code":"320113","parent_code":320100},{"title":"\u96e8\u82b1\u53f0\u533a","code":"320114","parent_code":320100},{"title":"\u6c5f\u5b81\u533a","code":"320115","parent_code":320100},{"title":"\u516d\u5408\u533a","code":"320116","parent_code":320100},{"title":"\u6ea7\u6c34\u533a","code":"320117","parent_code":320100},{"title":"\u9ad8\u6df3\u533a","code":"320118","parent_code":320100},{"title":"\u9521\u5c71\u533a","code":"320205","parent_code":320200},{"title":"\u60e0\u5c71\u533a","code":"320206","parent_code":320200},{"title":"\u6ee8\u6e56\u533a","code":"320211","parent_code":320200},{"title":"\u6881\u6eaa\u533a","code":"320213","parent_code":320200},{"title":"\u65b0\u5434\u533a","code":"320214","parent_code":320200},{"title":"\u6c5f\u9634\u5e02","code":"320281","parent_code":320200},{"title":"\u5b9c\u5174\u5e02","code":"320282","parent_code":320200},{"title":"\u9f13\u697c\u533a","code":"320302","parent_code":320300},{"title":"\u4e91\u9f99\u533a","code":"320303","parent_code":320300},{"title":"\u8d3e\u6c6a\u533a","code":"320305","parent_code":320300},{"title":"\u6cc9\u5c71\u533a","code":"320311","parent_code":320300},{"title":"\u94dc\u5c71\u533a","code":"320312","parent_code":320300},{"title":"\u4e30\u53bf","code":"320321","parent_code":320300},{"title":"\u6c9b\u53bf","code":"320322","parent_code":320300},{"title":"\u7762\u5b81\u53bf","code":"320324","parent_code":320300},{"title":"\u5f90\u5dde\u7ecf\u6d4e\u6280\u672f\u5f00\u53d1\u533a","code":"320371","parent_code":320300},{"title":"\u65b0\u6c82\u5e02","code":"320381","parent_code":320300},{"title":"\u90b3\u5dde\u5e02","code":"320382","parent_code":320300},{"title":"\u5de5\u4e1a\u56ed\u533a","code":"320391","parent_code":320300},{"title":"\u5929\u5b81\u533a","code":"320402","parent_code":320400},{"title":"\u949f\u697c\u533a","code":"320404","parent_code":320400},{"title":"\u65b0\u5317\u533a","code":"320411","parent_code":320400},{"title":"\u6b66\u8fdb\u533a","code":"320412","parent_code":320400},{"title":"\u91d1\u575b\u533a","code":"320413","parent_code":320400},{"title":"\u6ea7\u9633\u5e02","code":"320481","parent_code":320400},{"title":"\u864e\u4e18\u533a","code":"320505","parent_code":320500},{"title":"\u5434\u4e2d\u533a","code":"320506","parent_code":320500},{"title":"\u76f8\u57ce\u533a","code":"320507","parent_code":320500},{"title":"\u59d1\u82cf\u533a","code":"320508","parent_code":320500},{"title":"\u5434\u6c5f\u533a","code":"320509","parent_code":320500},{"title":"\u82cf\u5dde\u5de5\u4e1a\u56ed\u533a","code":"320571","parent_code":320500},{"title":"\u5e38\u719f\u5e02","code":"320581","parent_code":320500},{"title":"\u5f20\u5bb6\u6e2f\u5e02","code":"320582","parent_code":320500},{"title":"\u6606\u5c71\u5e02","code":"320583","parent_code":320500},{"title":"\u592a\u4ed3\u5e02","code":"320585","parent_code":320500},{"title":"\u5de5\u4e1a\u56ed\u533a","code":"320590","parent_code":320500},{"title":"\u9ad8\u65b0\u533a","code":"320591","parent_code":320500},{"title":"\u5d07\u5ddd\u533a","code":"320602","parent_code":320600},{"title":"\u6e2f\u95f8\u533a","code":"320611","parent_code":320600},{"title":"\u901a\u5dde\u533a","code":"320612","parent_code":320600},{"title":"\u5982\u4e1c\u53bf","code":"320623","parent_code":320600},{"title":"\u542f\u4e1c\u5e02","code":"320681","parent_code":320600},{"title":"\u5982\u768b\u5e02","code":"320682","parent_code":320600},{"title":"\u6d77\u95e8\u5e02","code":"320684","parent_code":320600},{"title":"\u6d77\u5b89\u5e02","code":"320685","parent_code":320600},{"title":"\u9ad8\u65b0\u533a","code":"320691","parent_code":320600},{"title":"\u8fde\u4e91\u533a","code":"320703","parent_code":320700},{"title":"\u6d77\u5dde\u533a","code":"320706","parent_code":320700},{"title":"\u8d63\u6986\u533a","code":"320707","parent_code":320700},{"title":"\u4e1c\u6d77\u53bf","code":"320722","parent_code":320700},{"title":"\u704c\u4e91\u53bf","code":"320723","parent_code":320700},{"title":"\u704c\u5357\u53bf","code":"320724","parent_code":320700},{"title":"\u8fde\u4e91\u6e2f\u7ecf\u6d4e\u6280\u672f\u5f00\u53d1\u533a","code":"320771","parent_code":320700},{"title":"\u6dee\u5b89\u533a","code":"320803","parent_code":320800},{"title":"\u6dee\u9634\u533a","code":"320804","parent_code":320800},{"title":"\u6e05\u6c5f\u6d66\u533a","code":"320812","parent_code":320800},{"title":"\u6d2a\u6cfd\u533a","code":"320813","parent_code":320800},{"title":"\u6d9f\u6c34\u53bf","code":"320826","parent_code":320800},{"title":"\u76f1\u7719\u53bf","code":"320830","parent_code":320800},{"title":"\u91d1\u6e56\u53bf","code":"320831","parent_code":320800},{"title":"\u6dee\u5b89\u7ecf\u6d4e\u6280\u672f\u5f00\u53d1\u533a","code":"320871","parent_code":320800},{"title":"\u7ecf\u6d4e\u5f00\u53d1\u533a","code":"320890","parent_code":320800},{"title":"\u4ead\u6e56\u533a","code":"320902","parent_code":320900},{"title":"\u76d0\u90fd\u533a","code":"320903","parent_code":320900},{"title":"\u5927\u4e30\u533a","code":"320904","parent_code":320900},{"title":"\u54cd\u6c34\u53bf","code":"320921","parent_code":320900},{"title":"\u6ee8\u6d77\u53bf","code":"320922","parent_code":320900},{"title":"\u961c\u5b81\u53bf","code":"320923","parent_code":320900},{"title":"\u5c04\u9633\u53bf","code":"320924","parent_code":320900},{"title":"\u5efa\u6e56\u53bf","code":"320925","parent_code":320900},{"title":"\u76d0\u57ce\u7ecf\u6d4e\u6280\u672f\u5f00\u53d1\u533a","code":"320971","parent_code":320900},{"title":"\u4e1c\u53f0\u5e02","code":"320981","parent_code":320900},{"title":"\u5e7f\u9675\u533a","code":"321002","parent_code":321000},{"title":"\u9097\u6c5f\u533a","code":"321003","parent_code":321000},{"title":"\u6c5f\u90fd\u533a","code":"321012","parent_code":321000},{"title":"\u5b9d\u5e94\u53bf","code":"321023","parent_code":321000},{"title":"\u626c\u5dde\u7ecf\u6d4e\u6280\u672f\u5f00\u53d1\u533a","code":"321071","parent_code":321000},{"title":"\u4eea\u5f81\u5e02","code":"321081","parent_code":321000},{"title":"\u9ad8\u90ae\u5e02","code":"321084","parent_code":321000},{"title":"\u7ecf\u6d4e\u5f00\u53d1\u533a","code":"321090","parent_code":321000},{"title":"\u4eac\u53e3\u533a","code":"321102","parent_code":321100},{"title":"\u6da6\u5dde\u533a","code":"321111","parent_code":321100},{"title":"\u4e39\u5f92\u533a","code":"321112","parent_code":321100},{"title":"\u9547\u6c5f\u65b0\u533a","code":"321150","parent_code":321100},{"title":"\u4e39\u9633\u5e02","code":"321181","parent_code":321100},{"title":"\u626c\u4e2d\u5e02","code":"321182","parent_code":321100},{"title":"\u53e5\u5bb9\u5e02","code":"321183","parent_code":321100},{"title":"\u6d77\u9675\u533a","code":"321202","parent_code":321200},{"title":"\u9ad8\u6e2f\u533a","code":"321203","parent_code":321200},{"title":"\u59dc\u5830\u533a","code":"321204","parent_code":321200},{"title":"\u6cf0\u5dde\u533b\u836f\u9ad8\u65b0\u6280\u672f\u4ea7\u4e1a\u5f00\u53d1\u533a","code":"321271","parent_code":321200},{"title":"\u5174\u5316\u5e02","code":"321281","parent_code":321200},{"title":"\u9756\u6c5f\u5e02","code":"321282","parent_code":321200},{"title":"\u6cf0\u5174\u5e02","code":"321283","parent_code":321200},{"title":"\u5bbf\u57ce\u533a","code":"321302","parent_code":321300},{"title":"\u5bbf\u8c6b\u533a","code":"321311","parent_code":321300},{"title":"\u6cad\u9633\u53bf","code":"321322","parent_code":321300},{"title":"\u6cd7\u9633\u53bf","code":"321323","parent_code":321300},{"title":"\u6cd7\u6d2a\u53bf","code":"321324","parent_code":321300},{"title":"\u5bbf\u8fc1\u7ecf\u6d4e\u6280\u672f\u5f00\u53d1\u533a","code":"321371","parent_code":321300},{"title":"\u4e0a\u57ce\u533a","code":"330102","parent_code":330100},{"title":"\u62f1\u5885\u533a","code":"330105","parent_code":330100},{"title":"\u897f\u6e56\u533a","code":"330106","parent_code":330100},{"title":"\u6ee8\u6c5f\u533a","code":"330108","parent_code":330100},{"title":"\u8427\u5c71\u533a","code":"330109","parent_code":330100},{"title":"\u4f59\u676d\u533a","code":"330110","parent_code":330100},{"title":"\u5bcc\u9633\u533a","code":"330111","parent_code":330100},{"title":"\u4e34\u5b89\u533a","code":"330112","parent_code":330100},{"title":"\u94b1\u5858\u533a","code":"330113","parent_code":330100},{"title":"\u4e34\u5e73\u533a","code":"330114","parent_code":330100},{"title":"\u6850\u5e90\u53bf","code":"330122","parent_code":330100},{"title":"\u6df3\u5b89\u53bf","code":"330127","parent_code":330100},{"title":"\u5efa\u5fb7\u5e02","code":"330182","parent_code":330100},{"title":"\u6d77\u66d9\u533a","code":"330203","parent_code":330200},{"title":"\u6c5f\u5317\u533a","code":"330205","parent_code":330200},{"title":"\u5317\u4ed1\u533a","code":"330206","parent_code":330200},{"title":"\u9547\u6d77\u533a","code":"330211","parent_code":330200},{"title":"\u911e\u5dde\u533a","code":"330212","parent_code":330200},{"title":"\u5949\u5316\u533a","code":"330213","parent_code":330200},{"title":"\u8c61\u5c71\u53bf","code":"330225","parent_code":330200},{"title":"\u5b81\u6d77\u53bf","code":"330226","parent_code":330200},{"title":"\u4f59\u59da\u5e02","code":"330281","parent_code":330200},{"title":"\u6148\u6eaa\u5e02","code":"330282","parent_code":330200},{"title":"\u9e7f\u57ce\u533a","code":"330302","parent_code":330300},{"title":"\u9f99\u6e7e\u533a","code":"330303","parent_code":330300},{"title":"\u74ef\u6d77\u533a","code":"330304","parent_code":330300},{"title":"\u6d1e\u5934\u533a","code":"330305","parent_code":330300},{"title":"\u6c38\u5609\u53bf","code":"330324","parent_code":330300},{"title":"\u5e73\u9633\u53bf","code":"330326","parent_code":330300},{"title":"\u82cd\u5357\u53bf","code":"330327","parent_code":330300},{"title":"\u6587\u6210\u53bf","code":"330328","parent_code":330300},{"title":"\u6cf0\u987a\u53bf","code":"330329","parent_code":330300},{"title":"\u745e\u5b89\u5e02","code":"330381","parent_code":330300},{"title":"\u4e50\u6e05\u5e02","code":"330382","parent_code":330300},{"title":"\u9f99\u6e2f\u5e02","code":"330383","parent_code":330300},{"title":"\u5357\u6e56\u533a","code":"330402","parent_code":330400},{"title":"\u79c0\u6d32\u533a","code":"330411","parent_code":330400},{"title":"\u5609\u5584\u53bf","code":"330421","parent_code":330400},{"title":"\u6d77\u76d0\u53bf","code":"330424","parent_code":330400},{"title":"\u6d77\u5b81\u5e02","code":"330481","parent_code":330400},{"title":"\u5e73\u6e56\u5e02","code":"330482","parent_code":330400},{"title":"\u6850\u4e61\u5e02","code":"330483","parent_code":330400},{"title":"\u5434\u5174\u533a","code":"330502","parent_code":330500},{"title":"\u5357\u6d54\u533a","code":"330503","parent_code":330500},{"title":"\u5fb7\u6e05\u53bf","code":"330521","parent_code":330500},{"title":"\u957f\u5174\u53bf","code":"330522","parent_code":330500},{"title":"\u5b89\u5409\u53bf","code":"330523","parent_code":330500},{"title":"\u8d8a\u57ce\u533a","code":"330602","parent_code":330600},{"title":"\u67ef\u6865\u533a","code":"330603","parent_code":330600},{"title":"\u4e0a\u865e\u533a","code":"330604","parent_code":330600},{"title":"\u65b0\u660c\u53bf","code":"330624","parent_code":330600},{"title":"\u8bf8\u66a8\u5e02","code":"330681","parent_code":330600},{"title":"\u5d4a\u5dde\u5e02","code":"330683","parent_code":330600},{"title":"\u5a7a\u57ce\u533a","code":"330702","parent_code":330700},{"title":"\u91d1\u4e1c\u533a","code":"330703","parent_code":330700},{"title":"\u6b66\u4e49\u53bf","code":"330723","parent_code":330700},{"title":"\u6d66\u6c5f\u53bf","code":"330726","parent_code":330700},{"title":"\u78d0\u5b89\u53bf","code":"330727","parent_code":330700},{"title":"\u5170\u6eaa\u5e02","code":"330781","parent_code":330700},{"title":"\u4e49\u4e4c\u5e02","code":"330782","parent_code":330700},{"title":"\u4e1c\u9633\u5e02","code":"330783","parent_code":330700},{"title":"\u6c38\u5eb7\u5e02","code":"330784","parent_code":330700},{"title":"\u67ef\u57ce\u533a","code":"330802","parent_code":330800},{"title":"\u8862\u6c5f\u533a","code":"330803","parent_code":330800},{"title":"\u5e38\u5c71\u53bf","code":"330822","parent_code":330800},{"title":"\u5f00\u5316\u53bf","code":"330824","parent_code":330800},{"title":"\u9f99\u6e38\u53bf","code":"330825","parent_code":330800},{"title":"\u6c5f\u5c71\u5e02","code":"330881","parent_code":330800},{"title":"\u5b9a\u6d77\u533a","code":"330902","parent_code":330900},{"title":"\u666e\u9640\u533a","code":"330903","parent_code":330900},{"title":"\u5cb1\u5c71\u53bf","code":"330921","parent_code":330900},{"title":"\u5d4a\u6cd7\u53bf","code":"330922","parent_code":330900},{"title":"\u6912\u6c5f\u533a","code":"331002","parent_code":331000},{"title":"\u9ec4\u5ca9\u533a","code":"331003","parent_code":331000},{"title":"\u8def\u6865\u533a","code":"331004","parent_code":331000},{"title":"\u4e09\u95e8\u53bf","code":"331022","parent_code":331000},{"title":"\u5929\u53f0\u53bf","code":"331023","parent_code":331000},{"title":"\u4ed9\u5c45\u53bf","code":"331024","parent_code":331000},{"title":"\u6e29\u5cad\u5e02","code":"331081","parent_code":331000},{"title":"\u4e34\u6d77\u5e02","code":"331082","parent_code":331000},{"title":"\u7389\u73af\u5e02","code":"331083","parent_code":331000},{"title":"\u83b2\u90fd\u533a","code":"331102","parent_code":331100},{"title":"\u9752\u7530\u53bf","code":"331121","parent_code":331100},{"title":"\u7f19\u4e91\u53bf","code":"331122","parent_code":331100},{"title":"\u9042\u660c\u53bf","code":"331123","parent_code":331100},{"title":"\u677e\u9633\u53bf","code":"331124","parent_code":331100},{"title":"\u4e91\u548c\u53bf","code":"331125","parent_code":331100},{"title":"\u5e86\u5143\u53bf","code":"331126","parent_code":331100},{"title":"\u666f\u5b81\u7572\u65cf\u81ea\u6cbb\u53bf","code":"331127","parent_code":331100},{"title":"\u9f99\u6cc9\u5e02","code":"331181","parent_code":331100},{"title":"\u7476\u6d77\u533a","code":"340102","parent_code":340100},{"title":"\u5e90\u9633\u533a","code":"340103","parent_code":340100},{"title":"\u8700\u5c71\u533a","code":"340104","parent_code":340100},{"title":"\u5305\u6cb3\u533a","code":"340111","parent_code":340100},{"title":"\u957f\u4e30\u53bf","code":"340121","parent_code":340100},{"title":"\u80a5\u4e1c\u53bf","code":"340122","parent_code":340100},{"title":"\u80a5\u897f\u53bf","code":"340123","parent_code":340100},{"title":"\u5e90\u6c5f\u53bf","code":"340124","parent_code":340100},{"title":"\u5408\u80a5\u9ad8\u65b0\u6280\u672f\u4ea7\u4e1a\u5f00\u53d1\u533a","code":"340171","parent_code":340100},{"title":"\u5408\u80a5\u7ecf\u6d4e\u6280\u672f\u5f00\u53d1\u533a","code":"340172","parent_code":340100},{"title":"\u5408\u80a5\u65b0\u7ad9\u9ad8\u65b0\u6280\u672f\u4ea7\u4e1a\u5f00\u53d1\u533a","code":"340173","parent_code":340100},{"title":"\u5de2\u6e56\u5e02","code":"340181","parent_code":340100},{"title":"\u9ad8\u65b0\u6280\u672f\u5f00\u53d1\u533a","code":"340190","parent_code":340100},{"title":"\u7ecf\u6d4e\u6280\u672f\u5f00\u53d1\u533a","code":"340191","parent_code":340100},{"title":"\u955c\u6e56\u533a","code":"340202","parent_code":340200},{"title":"\u5f0b\u6c5f\u533a","code":"340203","parent_code":340200},{"title":"\u9e20\u6c5f\u533a","code":"340207","parent_code":340200},{"title":"\u4e09\u5c71\u533a","code":"340208","parent_code":340200},{"title":"\u829c\u6e56\u53bf","code":"340221","parent_code":340200},{"title":"\u7e41\u660c\u53bf","code":"340222","parent_code":340200},{"title":"\u5357\u9675\u53bf","code":"340223","parent_code":340200},{"title":"\u65e0\u4e3a\u5e02","code":"340281","parent_code":340200},{"title":"\u9f99\u5b50\u6e56\u533a","code":"340302","parent_code":340300},{"title":"\u868c\u5c71\u533a","code":"340303","parent_code":340300},{"title":"\u79b9\u4f1a\u533a","code":"340304","parent_code":340300},{"title":"\u6dee\u4e0a\u533a","code":"340311","parent_code":340300},{"title":"\u6000\u8fdc\u53bf","code":"340321","parent_code":340300},{"title":"\u4e94\u6cb3\u53bf","code":"340322","parent_code":340300},{"title":"\u56fa\u9547\u53bf","code":"340323","parent_code":340300},{"title":"\u868c\u57e0\u5e02\u9ad8\u65b0\u6280\u672f\u5f00\u53d1\u533a","code":"340371","parent_code":340300},{"title":"\u868c\u57e0\u5e02\u7ecf\u6d4e\u5f00\u53d1\u533a","code":"340372","parent_code":340300},{"title":"\u5927\u901a\u533a","code":"340402","parent_code":340400},{"title":"\u7530\u5bb6\u5eb5\u533a","code":"340403","parent_code":340400},{"title":"\u8c22\u5bb6\u96c6\u533a","code":"340404","parent_code":340400},{"title":"\u516b\u516c\u5c71\u533a","code":"340405","parent_code":340400},{"title":"\u6f58\u96c6\u533a","code":"340406","parent_code":340400},{"title":"\u51e4\u53f0\u53bf","code":"340421","parent_code":340400},{"title":"\u5bff\u53bf","code":"340422","parent_code":340400},{"title":"\u82b1\u5c71\u533a","code":"340503","parent_code":340500},{"title":"\u96e8\u5c71\u533a","code":"340504","parent_code":340500},{"title":"\u535a\u671b\u533a","code":"340506","parent_code":340500},{"title":"\u5f53\u6d82\u53bf","code":"340521","parent_code":340500},{"title":"\u542b\u5c71\u53bf","code":"340522","parent_code":340500},{"title":"\u548c\u53bf","code":"340523","parent_code":340500},{"title":"\u675c\u96c6\u533a","code":"340602","parent_code":340600},{"title":"\u76f8\u5c71\u533a","code":"340603","parent_code":340600},{"title":"\u70c8\u5c71\u533a","code":"340604","parent_code":340600},{"title":"\u6fc9\u6eaa\u53bf","code":"340621","parent_code":340600},{"title":"\u94dc\u5b98\u533a","code":"340705","parent_code":340700},{"title":"\u4e49\u5b89\u533a","code":"340706","parent_code":340700},{"title":"\u90ca\u533a","code":"340711","parent_code":340700},{"title":"\u679e\u9633\u53bf","code":"340722","parent_code":340700},{"title":"\u8fce\u6c5f\u533a","code":"340802","parent_code":340800},{"title":"\u5927\u89c2\u533a","code":"340803","parent_code":340800},{"title":"\u5b9c\u79c0\u533a","code":"340811","parent_code":340800},{"title":"\u6000\u5b81\u53bf","code":"340822","parent_code":340800},{"title":"\u592a\u6e56\u53bf","code":"340825","parent_code":340800},{"title":"\u5bbf\u677e\u53bf","code":"340826","parent_code":340800},{"title":"\u671b\u6c5f\u53bf","code":"340827","parent_code":340800},{"title":"\u5cb3\u897f\u53bf","code":"340828","parent_code":340800},{"title":"\u6850\u57ce\u5e02","code":"340881","parent_code":340800},{"title":"\u6f5c\u5c71\u5e02","code":"340882","parent_code":340800},{"title":"\u5c6f\u6eaa\u533a","code":"341002","parent_code":341000},{"title":"\u9ec4\u5c71\u533a","code":"341003","parent_code":341000},{"title":"\u5fbd\u5dde\u533a","code":"341004","parent_code":341000},{"title":"\u6b59\u53bf","code":"341021","parent_code":341000},{"title":"\u4f11\u5b81\u53bf","code":"341022","parent_code":341000},{"title":"\u9edf\u53bf","code":"341023","parent_code":341000},{"title":"\u7941\u95e8\u53bf","code":"341024","parent_code":341000},{"title":"\u7405\u740a\u533a","code":"341102","parent_code":341100},{"title":"\u5357\u8c2f\u533a","code":"341103","parent_code":341100},{"title":"\u6765\u5b89\u53bf","code":"341122","parent_code":341100},{"title":"\u5168\u6912\u53bf","code":"341124","parent_code":341100},{"title":"\u5b9a\u8fdc\u53bf","code":"341125","parent_code":341100},{"title":"\u51e4\u9633\u53bf","code":"341126","parent_code":341100},{"title":"\u5929\u957f\u5e02","code":"341181","parent_code":341100},{"title":"\u660e\u5149\u5e02","code":"341182","parent_code":341100},{"title":"\u988d\u5dde\u533a","code":"341202","parent_code":341200},{"title":"\u988d\u4e1c\u533a","code":"341203","parent_code":341200},{"title":"\u988d\u6cc9\u533a","code":"341204","parent_code":341200},{"title":"\u4e34\u6cc9\u53bf","code":"341221","parent_code":341200},{"title":"\u592a\u548c\u53bf","code":"341222","parent_code":341200},{"title":"\u961c\u5357\u53bf","code":"341225","parent_code":341200},{"title":"\u988d\u4e0a\u53bf","code":"341226","parent_code":341200},{"title":"\u961c\u9633\u5408\u80a5\u73b0\u4ee3\u4ea7\u4e1a\u56ed\u533a","code":"341271","parent_code":341200},{"title":"\u754c\u9996\u5e02","code":"341282","parent_code":341200},{"title":"\u57c7\u6865\u533a","code":"341302","parent_code":341300},{"title":"\u7800\u5c71\u53bf","code":"341321","parent_code":341300},{"title":"\u8427\u53bf","code":"341322","parent_code":341300},{"title":"\u7075\u74a7\u53bf","code":"341323","parent_code":341300},{"title":"\u6cd7\u53bf","code":"341324","parent_code":341300},{"title":"\u5bbf\u5dde\u9a6c\u978d\u5c71\u73b0\u4ee3\u4ea7\u4e1a\u56ed\u533a","code":"341371","parent_code":341300},{"title":"\u5bbf\u5dde\u7ecf\u6d4e\u6280\u672f\u5f00\u53d1\u533a","code":"341372","parent_code":341300},{"title":"\u7ecf\u6d4e\u5f00\u53d1\u533a","code":"341390","parent_code":341300},{"title":"\u91d1\u5b89\u533a","code":"341502","parent_code":341500},{"title":"\u88d5\u5b89\u533a","code":"341503","parent_code":341500},{"title":"\u53f6\u96c6\u533a","code":"341504","parent_code":341500},{"title":"\u970d\u90b1\u53bf","code":"341522","parent_code":341500},{"title":"\u8212\u57ce\u53bf","code":"341523","parent_code":341500},{"title":"\u91d1\u5be8\u53bf","code":"341524","parent_code":341500},{"title":"\u970d\u5c71\u53bf","code":"341525","parent_code":341500},{"title":"\u8c2f\u57ce\u533a","code":"341602","parent_code":341600},{"title":"\u6da1\u9633\u53bf","code":"341621","parent_code":341600},{"title":"\u8499\u57ce\u53bf","code":"341622","parent_code":341600},{"title":"\u5229\u8f9b\u53bf","code":"341623","parent_code":341600},{"title":"\u8d35\u6c60\u533a","code":"341702","parent_code":341700},{"title":"\u4e1c\u81f3\u53bf","code":"341721","parent_code":341700},{"title":"\u77f3\u53f0\u53bf","code":"341722","parent_code":341700},{"title":"\u9752\u9633\u53bf","code":"341723","parent_code":341700},{"title":"\u5ba3\u5dde\u533a","code":"341802","parent_code":341800},{"title":"\u90ce\u6eaa\u53bf","code":"341821","parent_code":341800},{"title":"\u6cfe\u53bf","code":"341823","parent_code":341800},{"title":"\u7ee9\u6eaa\u53bf","code":"341824","parent_code":341800},{"title":"\u65cc\u5fb7\u53bf","code":"341825","parent_code":341800},{"title":"\u5ba3\u57ce\u5e02\u7ecf\u6d4e\u5f00\u53d1\u533a","code":"341871","parent_code":341800},{"title":"\u5b81\u56fd\u5e02","code":"341881","parent_code":341800},{"title":"\u5e7f\u5fb7\u5e02","code":"341882","parent_code":341800},{"title":"\u9f13\u697c\u533a","code":"350102","parent_code":350100},{"title":"\u53f0\u6c5f\u533a","code":"350103","parent_code":350100},{"title":"\u4ed3\u5c71\u533a","code":"350104","parent_code":350100},{"title":"\u9a6c\u5c3e\u533a","code":"350105","parent_code":350100},{"title":"\u664b\u5b89\u533a","code":"350111","parent_code":350100},{"title":"\u957f\u4e50\u533a","code":"350112","parent_code":350100},{"title":"\u95fd\u4faf\u53bf","code":"350121","parent_code":350100},{"title":"\u8fde\u6c5f\u53bf","code":"350122","parent_code":350100},{"title":"\u7f57\u6e90\u53bf","code":"350123","parent_code":350100},{"title":"\u95fd\u6e05\u53bf","code":"350124","parent_code":350100},{"title":"\u6c38\u6cf0\u53bf","code":"350125","parent_code":350100},{"title":"\u5e73\u6f6d\u53bf","code":"350128","parent_code":350100},{"title":"\u798f\u6e05\u5e02","code":"350181","parent_code":350100},{"title":"\u601d\u660e\u533a","code":"350203","parent_code":350200},{"title":"\u6d77\u6ca7\u533a","code":"350205","parent_code":350200},{"title":"\u6e56\u91cc\u533a","code":"350206","parent_code":350200},{"title":"\u96c6\u7f8e\u533a","code":"350211","parent_code":350200},{"title":"\u540c\u5b89\u533a","code":"350212","parent_code":350200},{"title":"\u7fd4\u5b89\u533a","code":"350213","parent_code":350200},{"title":"\u57ce\u53a2\u533a","code":"350302","parent_code":350300},{"title":"\u6db5\u6c5f\u533a","code":"350303","parent_code":350300},{"title":"\u8354\u57ce\u533a","code":"350304","parent_code":350300},{"title":"\u79c0\u5c7f\u533a","code":"350305","parent_code":350300},{"title":"\u4ed9\u6e38\u53bf","code":"350322","parent_code":350300},{"title":"\u6885\u5217\u533a","code":"350402","parent_code":350400},{"title":"\u4e09\u5143\u533a","code":"350403","parent_code":350400},{"title":"\u660e\u6eaa\u53bf","code":"350421","parent_code":350400},{"title":"\u6e05\u6d41\u53bf","code":"350423","parent_code":350400},{"title":"\u5b81\u5316\u53bf","code":"350424","parent_code":350400},{"title":"\u5927\u7530\u53bf","code":"350425","parent_code":350400},{"title":"\u5c24\u6eaa\u53bf","code":"350426","parent_code":350400},{"title":"\u6c99\u53bf","code":"350427","parent_code":350400},{"title":"\u5c06\u4e50\u53bf","code":"350428","parent_code":350400},{"title":"\u6cf0\u5b81\u53bf","code":"350429","parent_code":350400},{"title":"\u5efa\u5b81\u53bf","code":"350430","parent_code":350400},{"title":"\u6c38\u5b89\u5e02","code":"350481","parent_code":350400},{"title":"\u9ca4\u57ce\u533a","code":"350502","parent_code":350500},{"title":"\u4e30\u6cfd\u533a","code":"350503","parent_code":350500},{"title":"\u6d1b\u6c5f\u533a","code":"350504","parent_code":350500},{"title":"\u6cc9\u6e2f\u533a","code":"350505","parent_code":350500},{"title":"\u60e0\u5b89\u53bf","code":"350521","parent_code":350500},{"title":"\u5b89\u6eaa\u53bf","code":"350524","parent_code":350500},{"title":"\u6c38\u6625\u53bf","code":"350525","parent_code":350500},{"title":"\u5fb7\u5316\u53bf","code":"350526","parent_code":350500},{"title":"\u91d1\u95e8\u53bf","code":"350527","parent_code":350500},{"title":"\u77f3\u72ee\u5e02","code":"350581","parent_code":350500},{"title":"\u664b\u6c5f\u5e02","code":"350582","parent_code":350500},{"title":"\u5357\u5b89\u5e02","code":"350583","parent_code":350500},{"title":"\u8297\u57ce\u533a","code":"350602","parent_code":350600},{"title":"\u9f99\u6587\u533a","code":"350603","parent_code":350600},{"title":"\u4e91\u9704\u53bf","code":"350622","parent_code":350600},{"title":"\u6f33\u6d66\u53bf","code":"350623","parent_code":350600},{"title":"\u8bcf\u5b89\u53bf","code":"350624","parent_code":350600},{"title":"\u957f\u6cf0\u53bf","code":"350625","parent_code":350600},{"title":"\u4e1c\u5c71\u53bf","code":"350626","parent_code":350600},{"title":"\u5357\u9756\u53bf","code":"350627","parent_code":350600},{"title":"\u5e73\u548c\u53bf","code":"350628","parent_code":350600},{"title":"\u534e\u5b89\u53bf","code":"350629","parent_code":350600},{"title":"\u9f99\u6d77\u5e02","code":"350681","parent_code":350600},{"title":"\u5ef6\u5e73\u533a","code":"350702","parent_code":350700},{"title":"\u5efa\u9633\u533a","code":"350703","parent_code":350700},{"title":"\u987a\u660c\u53bf","code":"350721","parent_code":350700},{"title":"\u6d66\u57ce\u53bf","code":"350722","parent_code":350700},{"title":"\u5149\u6cfd\u53bf","code":"350723","parent_code":350700},{"title":"\u677e\u6eaa\u53bf","code":"350724","parent_code":350700},{"title":"\u653f\u548c\u53bf","code":"350725","parent_code":350700},{"title":"\u90b5\u6b66\u5e02","code":"350781","parent_code":350700},{"title":"\u6b66\u5937\u5c71\u5e02","code":"350782","parent_code":350700},{"title":"\u5efa\u74ef\u5e02","code":"350783","parent_code":350700},{"title":"\u65b0\u7f57\u533a","code":"350802","parent_code":350800},{"title":"\u6c38\u5b9a\u533a","code":"350803","parent_code":350800},{"title":"\u957f\u6c40\u53bf","code":"350821","parent_code":350800},{"title":"\u4e0a\u676d\u53bf","code":"350823","parent_code":350800},{"title":"\u6b66\u5e73\u53bf","code":"350824","parent_code":350800},{"title":"\u8fde\u57ce\u53bf","code":"350825","parent_code":350800},{"title":"\u6f33\u5e73\u5e02","code":"350881","parent_code":350800},{"title":"\u8549\u57ce\u533a","code":"350902","parent_code":350900},{"title":"\u971e\u6d66\u53bf","code":"350921","parent_code":350900},{"title":"\u53e4\u7530\u53bf","code":"350922","parent_code":350900},{"title":"\u5c4f\u5357\u53bf","code":"350923","parent_code":350900},{"title":"\u5bff\u5b81\u53bf","code":"350924","parent_code":350900},{"title":"\u5468\u5b81\u53bf","code":"350925","parent_code":350900},{"title":"\u67d8\u8363\u53bf","code":"350926","parent_code":350900},{"title":"\u798f\u5b89\u5e02","code":"350981","parent_code":350900},{"title":"\u798f\u9f0e\u5e02","code":"350982","parent_code":350900},{"title":"\u4e1c\u6e56\u533a","code":"360102","parent_code":360100},{"title":"\u897f\u6e56\u533a","code":"360103","parent_code":360100},{"title":"\u9752\u4e91\u8c31\u533a","code":"360104","parent_code":360100},{"title":"\u9752\u5c71\u6e56\u533a","code":"360111","parent_code":360100},{"title":"\u65b0\u5efa\u533a","code":"360112","parent_code":360100},{"title":"\u7ea2\u8c37\u6ee9\u533a","code":"360113","parent_code":360100},{"title":"\u5357\u660c\u53bf","code":"360121","parent_code":360100},{"title":"\u5b89\u4e49\u53bf","code":"360123","parent_code":360100},{"title":"\u8fdb\u8d24\u53bf","code":"360124","parent_code":360100},{"title":"\u7ecf\u6d4e\u6280\u672f\u5f00\u53d1\u533a","code":"360190","parent_code":360100},{"title":"\u9ad8\u65b0\u533a","code":"360192","parent_code":360100},{"title":"\u660c\u6c5f\u533a","code":"360202","parent_code":360200},{"title":"\u73e0\u5c71\u533a","code":"360203","parent_code":360200},{"title":"\u6d6e\u6881\u53bf","code":"360222","parent_code":360200},{"title":"\u4e50\u5e73\u5e02","code":"360281","parent_code":360200},{"title":"\u5b89\u6e90\u533a","code":"360302","parent_code":360300},{"title":"\u6e58\u4e1c\u533a","code":"360313","parent_code":360300},{"title":"\u83b2\u82b1\u53bf","code":"360321","parent_code":360300},{"title":"\u4e0a\u6817\u53bf","code":"360322","parent_code":360300},{"title":"\u82a6\u6eaa\u53bf","code":"360323","parent_code":360300},{"title":"\u6fc2\u6eaa\u533a","code":"360402","parent_code":360400},{"title":"\u6d54\u9633\u533a","code":"360403","parent_code":360400},{"title":"\u67f4\u6851\u533a","code":"360404","parent_code":360400},{"title":"\u6b66\u5b81\u53bf","code":"360423","parent_code":360400},{"title":"\u4fee\u6c34\u53bf","code":"360424","parent_code":360400},{"title":"\u6c38\u4fee\u53bf","code":"360425","parent_code":360400},{"title":"\u5fb7\u5b89\u53bf","code":"360426","parent_code":360400},{"title":"\u90fd\u660c\u53bf","code":"360428","parent_code":360400},{"title":"\u6e56\u53e3\u53bf","code":"360429","parent_code":360400},{"title":"\u5f6d\u6cfd\u53bf","code":"360430","parent_code":360400},{"title":"\u745e\u660c\u5e02","code":"360481","parent_code":360400},{"title":"\u5171\u9752\u57ce\u5e02","code":"360482","parent_code":360400},{"title":"\u5e90\u5c71\u5e02","code":"360483","parent_code":360400},{"title":"\u7ecf\u6d4e\u6280\u672f\u5f00\u53d1\u533a","code":"360490","parent_code":360400},{"title":"\u6e1d\u6c34\u533a","code":"360502","parent_code":360500},{"title":"\u5206\u5b9c\u53bf","code":"360521","parent_code":360500},{"title":"\u6708\u6e56\u533a","code":"360602","parent_code":360600},{"title":"\u4f59\u6c5f\u533a","code":"360603","parent_code":360600},{"title":"\u8d35\u6eaa\u5e02","code":"360681","parent_code":360600},{"title":"\u7ae0\u8d21\u533a","code":"360702","parent_code":360700},{"title":"\u5357\u5eb7\u533a","code":"360703","parent_code":360700},{"title":"\u8d63\u53bf\u533a","code":"360704","parent_code":360700},{"title":"\u4fe1\u4e30\u53bf","code":"360722","parent_code":360700},{"title":"\u5927\u4f59\u53bf","code":"360723","parent_code":360700},{"title":"\u4e0a\u72b9\u53bf","code":"360724","parent_code":360700},{"title":"\u5d07\u4e49\u53bf","code":"360725","parent_code":360700},{"title":"\u5b89\u8fdc\u53bf","code":"360726","parent_code":360700},{"title":"\u9f99\u5357\u53bf","code":"360727","parent_code":360700},{"title":"\u5b9a\u5357\u53bf","code":"360728","parent_code":360700},{"title":"\u5168\u5357\u53bf","code":"360729","parent_code":360700},{"title":"\u5b81\u90fd\u53bf","code":"360730","parent_code":360700},{"title":"\u4e8e\u90fd\u53bf","code":"360731","parent_code":360700},{"title":"\u5174\u56fd\u53bf","code":"360732","parent_code":360700},{"title":"\u4f1a\u660c\u53bf","code":"360733","parent_code":360700},{"title":"\u5bfb\u4e4c\u53bf","code":"360734","parent_code":360700},{"title":"\u77f3\u57ce\u53bf","code":"360735","parent_code":360700},{"title":"\u745e\u91d1\u5e02","code":"360781","parent_code":360700},{"title":"\u5409\u5dde\u533a","code":"360802","parent_code":360800},{"title":"\u9752\u539f\u533a","code":"360803","parent_code":360800},{"title":"\u5409\u5b89\u53bf","code":"360821","parent_code":360800},{"title":"\u5409\u6c34\u53bf","code":"360822","parent_code":360800},{"title":"\u5ce1\u6c5f\u53bf","code":"360823","parent_code":360800},{"title":"\u65b0\u5e72\u53bf","code":"360824","parent_code":360800},{"title":"\u6c38\u4e30\u53bf","code":"360825","parent_code":360800},{"title":"\u6cf0\u548c\u53bf","code":"360826","parent_code":360800},{"title":"\u9042\u5ddd\u53bf","code":"360827","parent_code":360800},{"title":"\u4e07\u5b89\u53bf","code":"360828","parent_code":360800},{"title":"\u5b89\u798f\u53bf","code":"360829","parent_code":360800},{"title":"\u6c38\u65b0\u53bf","code":"360830","parent_code":360800},{"title":"\u4e95\u5188\u5c71\u5e02","code":"360881","parent_code":360800},{"title":"\u8881\u5dde\u533a","code":"360902","parent_code":360900},{"title":"\u5949\u65b0\u53bf","code":"360921","parent_code":360900},{"title":"\u4e07\u8f7d\u53bf","code":"360922","parent_code":360900},{"title":"\u4e0a\u9ad8\u53bf","code":"360923","parent_code":360900},{"title":"\u5b9c\u4e30\u53bf","code":"360924","parent_code":360900},{"title":"\u9756\u5b89\u53bf","code":"360925","parent_code":360900},{"title":"\u94dc\u9f13\u53bf","code":"360926","parent_code":360900},{"title":"\u4e30\u57ce\u5e02","code":"360981","parent_code":360900},{"title":"\u6a1f\u6811\u5e02","code":"360982","parent_code":360900},{"title":"\u9ad8\u5b89\u5e02","code":"360983","parent_code":360900},{"title":"\u4e34\u5ddd\u533a","code":"361002","parent_code":361000},{"title":"\u4e1c\u4e61\u533a","code":"361003","parent_code":361000},{"title":"\u5357\u57ce\u53bf","code":"361021","parent_code":361000},{"title":"\u9ece\u5ddd\u53bf","code":"361022","parent_code":361000},{"title":"\u5357\u4e30\u53bf","code":"361023","parent_code":361000},{"title":"\u5d07\u4ec1\u53bf","code":"361024","parent_code":361000},{"title":"\u4e50\u5b89\u53bf","code":"361025","parent_code":361000},{"title":"\u5b9c\u9ec4\u53bf","code":"361026","parent_code":361000},{"title":"\u91d1\u6eaa\u53bf","code":"361027","parent_code":361000},{"title":"\u8d44\u6eaa\u53bf","code":"361028","parent_code":361000},{"title":"\u5e7f\u660c\u53bf","code":"361030","parent_code":361000},{"title":"\u4fe1\u5dde\u533a","code":"361102","parent_code":361100},{"title":"\u5e7f\u4e30\u533a","code":"361103","parent_code":361100},{"title":"\u5e7f\u4fe1\u533a","code":"361104","parent_code":361100},{"title":"\u7389\u5c71\u53bf","code":"361123","parent_code":361100},{"title":"\u94c5\u5c71\u53bf","code":"361124","parent_code":361100},{"title":"\u6a2a\u5cf0\u53bf","code":"361125","parent_code":361100},{"title":"\u5f0b\u9633\u53bf","code":"361126","parent_code":361100},{"title":"\u4f59\u5e72\u53bf","code":"361127","parent_code":361100},{"title":"\u9131\u9633\u53bf","code":"361128","parent_code":361100},{"title":"\u4e07\u5e74\u53bf","code":"361129","parent_code":361100},{"title":"\u5a7a\u6e90\u53bf","code":"361130","parent_code":361100},{"title":"\u5fb7\u5174\u5e02","code":"361181","parent_code":361100},{"title":"\u5386\u4e0b\u533a","code":"370102","parent_code":370100},{"title":"\u5e02\u4e2d\u533a","code":"370103","parent_code":370100},{"title":"\u69d0\u836b\u533a","code":"370104","parent_code":370100},{"title":"\u5929\u6865\u533a","code":"370105","parent_code":370100},{"title":"\u5386\u57ce\u533a","code":"370112","parent_code":370100},{"title":"\u957f\u6e05\u533a","code":"370113","parent_code":370100},{"title":"\u7ae0\u4e18\u533a","code":"370114","parent_code":370100},{"title":"\u6d4e\u9633\u533a","code":"370115","parent_code":370100},{"title":"\u83b1\u829c\u533a","code":"370116","parent_code":370100},{"title":"\u94a2\u57ce\u533a","code":"370117","parent_code":370100},{"title":"\u5e73\u9634\u53bf","code":"370124","parent_code":370100},{"title":"\u5546\u6cb3\u53bf","code":"370126","parent_code":370100},{"title":"\u6d4e\u5357\u9ad8\u65b0\u6280\u672f\u4ea7\u4e1a\u5f00\u53d1\u533a","code":"370171","parent_code":370100},{"title":"\u9ad8\u65b0\u533a","code":"370190","parent_code":370100},{"title":"\u5e02\u5357\u533a","code":"370202","parent_code":370200},{"title":"\u5e02\u5317\u533a","code":"370203","parent_code":370200},{"title":"\u9ec4\u5c9b\u533a","code":"370211","parent_code":370200},{"title":"\u5d02\u5c71\u533a","code":"370212","parent_code":370200},{"title":"\u674e\u6ca7\u533a","code":"370213","parent_code":370200},{"title":"\u57ce\u9633\u533a","code":"370214","parent_code":370200},{"title":"\u5373\u58a8\u533a","code":"370215","parent_code":370200},{"title":"\u9752\u5c9b\u9ad8\u65b0\u6280\u672f\u4ea7\u4e1a\u5f00\u53d1\u533a","code":"370271","parent_code":370200},{"title":"\u80f6\u5dde\u5e02","code":"370281","parent_code":370200},{"title":"\u5e73\u5ea6\u5e02","code":"370283","parent_code":370200},{"title":"\u83b1\u897f\u5e02","code":"370285","parent_code":370200},{"title":"\u5f00\u53d1\u533a","code":"370290","parent_code":370200},{"title":"\u6dc4\u5ddd\u533a","code":"370302","parent_code":370300},{"title":"\u5f20\u5e97\u533a","code":"370303","parent_code":370300},{"title":"\u535a\u5c71\u533a","code":"370304","parent_code":370300},{"title":"\u4e34\u6dc4\u533a","code":"370305","parent_code":370300},{"title":"\u5468\u6751\u533a","code":"370306","parent_code":370300},{"title":"\u6853\u53f0\u53bf","code":"370321","parent_code":370300},{"title":"\u9ad8\u9752\u53bf","code":"370322","parent_code":370300},{"title":"\u6c82\u6e90\u53bf","code":"370323","parent_code":370300},{"title":"\u5e02\u4e2d\u533a","code":"370402","parent_code":370400},{"title":"\u859b\u57ce\u533a","code":"370403","parent_code":370400},{"title":"\u5cc4\u57ce\u533a","code":"370404","parent_code":370400},{"title":"\u53f0\u513f\u5e84\u533a","code":"370405","parent_code":370400},{"title":"\u5c71\u4ead\u533a","code":"370406","parent_code":370400},{"title":"\u6ed5\u5dde\u5e02","code":"370481","parent_code":370400},{"title":"\u4e1c\u8425\u533a","code":"370502","parent_code":370500},{"title":"\u6cb3\u53e3\u533a","code":"370503","parent_code":370500},{"title":"\u57a6\u5229\u533a","code":"370505","parent_code":370500},{"title":"\u5229\u6d25\u53bf","code":"370522","parent_code":370500},{"title":"\u5e7f\u9976\u53bf","code":"370523","parent_code":370500},{"title":"\u4e1c\u8425\u7ecf\u6d4e\u6280\u672f\u5f00\u53d1\u533a","code":"370571","parent_code":370500},{"title":"\u4e1c\u8425\u6e2f\u7ecf\u6d4e\u5f00\u53d1\u533a","code":"370572","parent_code":370500},{"title":"\u829d\u7f58\u533a","code":"370602","parent_code":370600},{"title":"\u798f\u5c71\u533a","code":"370611","parent_code":370600},{"title":"\u725f\u5e73\u533a","code":"370612","parent_code":370600},{"title":"\u83b1\u5c71\u533a","code":"370613","parent_code":370600},{"title":"\u957f\u5c9b\u53bf","code":"370634","parent_code":370600},{"title":"\u70df\u53f0\u9ad8\u65b0\u6280\u672f\u4ea7\u4e1a\u5f00\u53d1\u533a","code":"370671","parent_code":370600},{"title":"\u70df\u53f0\u7ecf\u6d4e\u6280\u672f\u5f00\u53d1\u533a","code":"370672","parent_code":370600},{"title":"\u9f99\u53e3\u5e02","code":"370681","parent_code":370600},{"title":"\u83b1\u9633\u5e02","code":"370682","parent_code":370600},{"title":"\u83b1\u5dde\u5e02","code":"370683","parent_code":370600},{"title":"\u84ec\u83b1\u5e02","code":"370684","parent_code":370600},{"title":"\u62db\u8fdc\u5e02","code":"370685","parent_code":370600},{"title":"\u6816\u971e\u5e02","code":"370686","parent_code":370600},{"title":"\u6d77\u9633\u5e02","code":"370687","parent_code":370600},{"title":"\u5f00\u53d1\u533a","code":"370690","parent_code":370600},{"title":"\u6f4d\u57ce\u533a","code":"370702","parent_code":370700},{"title":"\u5bd2\u4ead\u533a","code":"370703","parent_code":370700},{"title":"\u574a\u5b50\u533a","code":"370704","parent_code":370700},{"title":"\u594e\u6587\u533a","code":"370705","parent_code":370700},{"title":"\u4e34\u6710\u53bf","code":"370724","parent_code":370700},{"title":"\u660c\u4e50\u53bf","code":"370725","parent_code":370700},{"title":"\u6f4d\u574a\u6ee8\u6d77\u7ecf\u6d4e\u6280\u672f\u5f00\u53d1\u533a","code":"370772","parent_code":370700},{"title":"\u9752\u5dde\u5e02","code":"370781","parent_code":370700},{"title":"\u8bf8\u57ce\u5e02","code":"370782","parent_code":370700},{"title":"\u5bff\u5149\u5e02","code":"370783","parent_code":370700},{"title":"\u5b89\u4e18\u5e02","code":"370784","parent_code":370700},{"title":"\u9ad8\u5bc6\u5e02","code":"370785","parent_code":370700},{"title":"\u660c\u9091\u5e02","code":"370786","parent_code":370700},{"title":"\u5f00\u53d1\u533a","code":"370790","parent_code":370700},{"title":"\u9ad8\u65b0\u533a","code":"370791","parent_code":370700},{"title":"\u4efb\u57ce\u533a","code":"370811","parent_code":370800},{"title":"\u5156\u5dde\u533a","code":"370812","parent_code":370800},{"title":"\u5fae\u5c71\u53bf","code":"370826","parent_code":370800},{"title":"\u9c7c\u53f0\u53bf","code":"370827","parent_code":370800},{"title":"\u91d1\u4e61\u53bf","code":"370828","parent_code":370800},{"title":"\u5609\u7965\u53bf","code":"370829","parent_code":370800},{"title":"\u6c76\u4e0a\u53bf","code":"370830","parent_code":370800},{"title":"\u6cd7\u6c34\u53bf","code":"370831","parent_code":370800},{"title":"\u6881\u5c71\u53bf","code":"370832","parent_code":370800},{"title":"\u6d4e\u5b81\u9ad8\u65b0\u6280\u672f\u4ea7\u4e1a\u5f00\u53d1\u533a","code":"370871","parent_code":370800},{"title":"\u66f2\u961c\u5e02","code":"370881","parent_code":370800},{"title":"\u90b9\u57ce\u5e02","code":"370883","parent_code":370800},{"title":"\u9ad8\u65b0\u533a","code":"370890","parent_code":370800},{"title":"\u6cf0\u5c71\u533a","code":"370902","parent_code":370900},{"title":"\u5cb1\u5cb3\u533a","code":"370911","parent_code":370900},{"title":"\u5b81\u9633\u53bf","code":"370921","parent_code":370900},{"title":"\u4e1c\u5e73\u53bf","code":"370923","parent_code":370900},{"title":"\u65b0\u6cf0\u5e02","code":"370982","parent_code":370900},{"title":"\u80a5\u57ce\u5e02","code":"370983","parent_code":370900},{"title":"\u73af\u7fe0\u533a","code":"371002","parent_code":371000},{"title":"\u6587\u767b\u533a","code":"371003","parent_code":371000},{"title":"\u5a01\u6d77\u706b\u70ac\u9ad8\u6280\u672f\u4ea7\u4e1a\u5f00\u53d1\u533a","code":"371071","parent_code":371000},{"title":"\u5a01\u6d77\u7ecf\u6d4e\u6280\u672f\u5f00\u53d1\u533a","code":"371072","parent_code":371000},{"title":"\u8363\u6210\u5e02","code":"371082","parent_code":371000},{"title":"\u4e73\u5c71\u5e02","code":"371083","parent_code":371000},{"title":"\u7ecf\u6d4e\u6280\u672f\u5f00\u53d1\u533a","code":"371091","parent_code":371000},{"title":"\u4e1c\u6e2f\u533a","code":"371102","parent_code":371100},{"title":"\u5c9a\u5c71\u533a","code":"371103","parent_code":371100},{"title":"\u4e94\u83b2\u53bf","code":"371121","parent_code":371100},{"title":"\u8392\u53bf","code":"371122","parent_code":371100},{"title":"\u65e5\u7167\u7ecf\u6d4e\u6280\u672f\u5f00\u53d1\u533a","code":"371171","parent_code":371100},{"title":"\u5170\u5c71\u533a","code":"371302","parent_code":371300},{"title":"\u7f57\u5e84\u533a","code":"371311","parent_code":371300},{"title":"\u6cb3\u4e1c\u533a","code":"371312","parent_code":371300},{"title":"\u6c82\u5357\u53bf","code":"371321","parent_code":371300},{"title":"\u90ef\u57ce\u53bf","code":"371322","parent_code":371300},{"title":"\u6c82\u6c34\u53bf","code":"371323","parent_code":371300},{"title":"\u5170\u9675\u53bf","code":"371324","parent_code":371300},{"title":"\u8d39\u53bf","code":"371325","parent_code":371300},{"title":"\u5e73\u9091\u53bf","code":"371326","parent_code":371300},{"title":"\u8392\u5357\u53bf","code":"371327","parent_code":371300},{"title":"\u8499\u9634\u53bf","code":"371328","parent_code":371300},{"title":"\u4e34\u6cad\u53bf","code":"371329","parent_code":371300},{"title":"\u4e34\u6c82\u9ad8\u65b0\u6280\u672f\u4ea7\u4e1a\u5f00\u53d1\u533a","code":"371371","parent_code":371300},{"title":"\u5fb7\u57ce\u533a","code":"371402","parent_code":371400},{"title":"\u9675\u57ce\u533a","code":"371403","parent_code":371400},{"title":"\u5b81\u6d25\u53bf","code":"371422","parent_code":371400},{"title":"\u5e86\u4e91\u53bf","code":"371423","parent_code":371400},{"title":"\u4e34\u9091\u53bf","code":"371424","parent_code":371400},{"title":"\u9f50\u6cb3\u53bf","code":"371425","parent_code":371400},{"title":"\u5e73\u539f\u53bf","code":"371426","parent_code":371400},{"title":"\u590f\u6d25\u53bf","code":"371427","parent_code":371400},{"title":"\u6b66\u57ce\u53bf","code":"371428","parent_code":371400},{"title":"\u5fb7\u5dde\u8fd0\u6cb3\u7ecf\u6d4e\u5f00\u53d1\u533a","code":"371472","parent_code":371400},{"title":"\u4e50\u9675\u5e02","code":"371481","parent_code":371400},{"title":"\u79b9\u57ce\u5e02","code":"371482","parent_code":371400},{"title":"\u4e1c\u660c\u5e9c\u533a","code":"371502","parent_code":371500},{"title":"\u830c\u5e73\u533a","code":"371503","parent_code":371500},{"title":"\u9633\u8c37\u53bf","code":"371521","parent_code":371500},{"title":"\u8398\u53bf","code":"371522","parent_code":371500},{"title":"\u4e1c\u963f\u53bf","code":"371524","parent_code":371500},{"title":"\u51a0\u53bf","code":"371525","parent_code":371500},{"title":"\u9ad8\u5510\u53bf","code":"371526","parent_code":371500},{"title":"\u4e34\u6e05\u5e02","code":"371581","parent_code":371500},{"title":"\u6ee8\u57ce\u533a","code":"371602","parent_code":371600},{"title":"\u6cbe\u5316\u533a","code":"371603","parent_code":371600},{"title":"\u60e0\u6c11\u53bf","code":"371621","parent_code":371600},{"title":"\u9633\u4fe1\u53bf","code":"371622","parent_code":371600},{"title":"\u65e0\u68e3\u53bf","code":"371623","parent_code":371600},{"title":"\u535a\u5174\u53bf","code":"371625","parent_code":371600},{"title":"\u90b9\u5e73\u5e02","code":"371681","parent_code":371600},{"title":"\u7261\u4e39\u533a","code":"371702","parent_code":371700},{"title":"\u5b9a\u9676\u533a","code":"371703","parent_code":371700},{"title":"\u66f9\u53bf","code":"371721","parent_code":371700},{"title":"\u5355\u53bf","code":"371722","parent_code":371700},{"title":"\u6210\u6b66\u53bf","code":"371723","parent_code":371700},{"title":"\u5de8\u91ce\u53bf","code":"371724","parent_code":371700},{"title":"\u90d3\u57ce\u53bf","code":"371725","parent_code":371700},{"title":"\u9104\u57ce\u53bf","code":"371726","parent_code":371700},{"title":"\u4e1c\u660e\u53bf","code":"371728","parent_code":371700},{"title":"\u83cf\u6cfd\u7ecf\u6d4e\u6280\u672f\u5f00\u53d1\u533a","code":"371771","parent_code":371700},{"title":"\u83cf\u6cfd\u9ad8\u65b0\u6280\u672f\u5f00\u53d1\u533a","code":"371772","parent_code":371700},{"title":"\u4e2d\u539f\u533a","code":"410102","parent_code":410100},{"title":"\u4e8c\u4e03\u533a","code":"410103","parent_code":410100},{"title":"\u7ba1\u57ce\u56de\u65cf\u533a","code":"410104","parent_code":410100},{"title":"\u91d1\u6c34\u533a","code":"410105","parent_code":410100},{"title":"\u4e0a\u8857\u533a","code":"410106","parent_code":410100},{"title":"\u60e0\u6d4e\u533a","code":"410108","parent_code":410100},{"title":"\u4e2d\u725f\u53bf","code":"410122","parent_code":410100},{"title":"\u90d1\u5dde\u7ecf\u6d4e\u6280\u672f\u5f00\u53d1\u533a","code":"410171","parent_code":410100},{"title":"\u90d1\u5dde\u9ad8\u65b0\u6280\u672f\u4ea7\u4e1a\u5f00\u53d1\u533a","code":"410172","parent_code":410100},{"title":"\u90d1\u5dde\u822a\u7a7a\u6e2f\u7ecf\u6d4e\u7efc\u5408\u5b9e\u9a8c\u533a","code":"410173","parent_code":410100},{"title":"\u5de9\u4e49\u5e02","code":"410181","parent_code":410100},{"title":"\u8365\u9633\u5e02","code":"410182","parent_code":410100},{"title":"\u65b0\u5bc6\u5e02","code":"410183","parent_code":410100},{"title":"\u65b0\u90d1\u5e02","code":"410184","parent_code":410100},{"title":"\u767b\u5c01\u5e02","code":"410185","parent_code":410100},{"title":"\u9ad8\u65b0\u6280\u672f\u5f00\u53d1\u533a","code":"410190","parent_code":410100},{"title":"\u7ecf\u6d4e\u6280\u672f\u5f00\u53d1\u533a","code":"410191","parent_code":410100},{"title":"\u9f99\u4ead\u533a","code":"410202","parent_code":410200},{"title":"\u987a\u6cb3\u56de\u65cf\u533a","code":"410203","parent_code":410200},{"title":"\u9f13\u697c\u533a","code":"410204","parent_code":410200},{"title":"\u79b9\u738b\u53f0\u533a","code":"410205","parent_code":410200},{"title":"\u7965\u7b26\u533a","code":"410212","parent_code":410200},{"title":"\u675e\u53bf","code":"410221","parent_code":410200},{"title":"\u901a\u8bb8\u53bf","code":"410222","parent_code":410200},{"title":"\u5c09\u6c0f\u53bf","code":"410223","parent_code":410200},{"title":"\u5170\u8003\u53bf","code":"410225","parent_code":410200},{"title":"\u8001\u57ce\u533a","code":"410302","parent_code":410300},{"title":"\u897f\u5de5\u533a","code":"410303","parent_code":410300},{"title":"\u700d\u6cb3\u56de\u65cf\u533a","code":"410304","parent_code":410300},{"title":"\u6da7\u897f\u533a","code":"410305","parent_code":410300},{"title":"\u5409\u5229\u533a","code":"410306","parent_code":410300},{"title":"\u6d1b\u9f99\u533a","code":"410311","parent_code":410300},{"title":"\u5b5f\u6d25\u53bf","code":"410322","parent_code":410300},{"title":"\u65b0\u5b89\u53bf","code":"410323","parent_code":410300},{"title":"\u683e\u5ddd\u53bf","code":"410324","parent_code":410300},{"title":"\u5d69\u53bf","code":"410325","parent_code":410300},{"title":"\u6c5d\u9633\u53bf","code":"410326","parent_code":410300},{"title":"\u5b9c\u9633\u53bf","code":"410327","parent_code":410300},{"title":"\u6d1b\u5b81\u53bf","code":"410328","parent_code":410300},{"title":"\u4f0a\u5ddd\u53bf","code":"410329","parent_code":410300},{"title":"\u5043\u5e08\u5e02","code":"410381","parent_code":410300},{"title":"\u65b0\u534e\u533a","code":"410402","parent_code":410400},{"title":"\u536b\u4e1c\u533a","code":"410403","parent_code":410400},{"title":"\u77f3\u9f99\u533a","code":"410404","parent_code":410400},{"title":"\u6e5b\u6cb3\u533a","code":"410411","parent_code":410400},{"title":"\u5b9d\u4e30\u53bf","code":"410421","parent_code":410400},{"title":"\u53f6\u53bf","code":"410422","parent_code":410400},{"title":"\u9c81\u5c71\u53bf","code":"410423","parent_code":410400},{"title":"\u90cf\u53bf","code":"410425","parent_code":410400},{"title":"\u5e73\u9876\u5c71\u9ad8\u65b0\u6280\u672f\u4ea7\u4e1a\u5f00\u53d1\u533a","code":"410471","parent_code":410400},{"title":"\u821e\u94a2\u5e02","code":"410481","parent_code":410400},{"title":"\u6c5d\u5dde\u5e02","code":"410482","parent_code":410400},{"title":"\u6587\u5cf0\u533a","code":"410502","parent_code":410500},{"title":"\u5317\u5173\u533a","code":"410503","parent_code":410500},{"title":"\u6bb7\u90fd\u533a","code":"410505","parent_code":410500},{"title":"\u9f99\u5b89\u533a","code":"410506","parent_code":410500},{"title":"\u5b89\u9633\u53bf","code":"410522","parent_code":410500},{"title":"\u6c64\u9634\u53bf","code":"410523","parent_code":410500},{"title":"\u6ed1\u53bf","code":"410526","parent_code":410500},{"title":"\u5185\u9ec4\u53bf","code":"410527","parent_code":410500},{"title":"\u6797\u5dde\u5e02","code":"410581","parent_code":410500},{"title":"\u5f00\u53d1\u533a","code":"410590","parent_code":410500},{"title":"\u9e64\u5c71\u533a","code":"410602","parent_code":410600},{"title":"\u5c71\u57ce\u533a","code":"410603","parent_code":410600},{"title":"\u6dc7\u6ee8\u533a","code":"410611","parent_code":410600},{"title":"\u6d5a\u53bf","code":"410621","parent_code":410600},{"title":"\u6dc7\u53bf","code":"410622","parent_code":410600},{"title":"\u7ea2\u65d7\u533a","code":"410702","parent_code":410700},{"title":"\u536b\u6ee8\u533a","code":"410703","parent_code":410700},{"title":"\u51e4\u6cc9\u533a","code":"410704","parent_code":410700},{"title":"\u7267\u91ce\u533a","code":"410711","parent_code":410700},{"title":"\u65b0\u4e61\u53bf","code":"410721","parent_code":410700},{"title":"\u83b7\u5609\u53bf","code":"410724","parent_code":410700},{"title":"\u539f\u9633\u53bf","code":"410725","parent_code":410700},{"title":"\u5ef6\u6d25\u53bf","code":"410726","parent_code":410700},{"title":"\u5c01\u4e18\u53bf","code":"410727","parent_code":410700},{"title":"\u65b0\u4e61\u9ad8\u65b0\u6280\u672f\u4ea7\u4e1a\u5f00\u53d1\u533a","code":"410771","parent_code":410700},{"title":"\u65b0\u4e61\u7ecf\u6d4e\u6280\u672f\u5f00\u53d1\u533a","code":"410772","parent_code":410700},{"title":"\u536b\u8f89\u5e02","code":"410781","parent_code":410700},{"title":"\u8f89\u53bf\u5e02","code":"410782","parent_code":410700},{"title":"\u957f\u57a3\u5e02","code":"410783","parent_code":410700},{"title":"\u89e3\u653e\u533a","code":"410802","parent_code":410800},{"title":"\u4e2d\u7ad9\u533a","code":"410803","parent_code":410800},{"title":"\u9a6c\u6751\u533a","code":"410804","parent_code":410800},{"title":"\u5c71\u9633\u533a","code":"410811","parent_code":410800},{"title":"\u4fee\u6b66\u53bf","code":"410821","parent_code":410800},{"title":"\u535a\u7231\u53bf","code":"410822","parent_code":410800},{"title":"\u6b66\u965f\u53bf","code":"410823","parent_code":410800},{"title":"\u6e29\u53bf","code":"410825","parent_code":410800},{"title":"\u7126\u4f5c\u57ce\u4e61\u4e00\u4f53\u5316\u793a\u8303\u533a","code":"410871","parent_code":410800},{"title":"\u6c81\u9633\u5e02","code":"410882","parent_code":410800},{"title":"\u5b5f\u5dde\u5e02","code":"410883","parent_code":410800},{"title":"\u534e\u9f99\u533a","code":"410902","parent_code":410900},{"title":"\u6e05\u4e30\u53bf","code":"410922","parent_code":410900},{"title":"\u5357\u4e50\u53bf","code":"410923","parent_code":410900},{"title":"\u8303\u53bf","code":"410926","parent_code":410900},{"title":"\u53f0\u524d\u53bf","code":"410927","parent_code":410900},{"title":"\u6fee\u9633\u53bf","code":"410928","parent_code":410900},{"title":"\u6cb3\u5357\u6fee\u9633\u5de5\u4e1a\u56ed\u533a","code":"410971","parent_code":410900},{"title":"\u9b4f\u90fd\u533a","code":"411002","parent_code":411000},{"title":"\u5efa\u5b89\u533a","code":"411003","parent_code":411000},{"title":"\u9122\u9675\u53bf","code":"411024","parent_code":411000},{"title":"\u8944\u57ce\u53bf","code":"411025","parent_code":411000},{"title":"\u8bb8\u660c\u7ecf\u6d4e\u6280\u672f\u5f00\u53d1\u533a","code":"411071","parent_code":411000},{"title":"\u79b9\u5dde\u5e02","code":"411081","parent_code":411000},{"title":"\u957f\u845b\u5e02","code":"411082","parent_code":411000},{"title":"\u6e90\u6c47\u533a","code":"411102","parent_code":411100},{"title":"\u90fe\u57ce\u533a","code":"411103","parent_code":411100},{"title":"\u53ec\u9675\u533a","code":"411104","parent_code":411100},{"title":"\u821e\u9633\u53bf","code":"411121","parent_code":411100},{"title":"\u4e34\u988d\u53bf","code":"411122","parent_code":411100},{"title":"\u6f2f\u6cb3\u7ecf\u6d4e\u6280\u672f\u5f00\u53d1\u533a","code":"411171","parent_code":411100},{"title":"\u6e56\u6ee8\u533a","code":"411202","parent_code":411200},{"title":"\u9655\u5dde\u533a","code":"411203","parent_code":411200},{"title":"\u6e11\u6c60\u53bf","code":"411221","parent_code":411200},{"title":"\u5362\u6c0f\u53bf","code":"411224","parent_code":411200},{"title":"\u6cb3\u5357\u4e09\u95e8\u5ce1\u7ecf\u6d4e\u5f00\u53d1\u533a","code":"411271","parent_code":411200},{"title":"\u4e49\u9a6c\u5e02","code":"411281","parent_code":411200},{"title":"\u7075\u5b9d\u5e02","code":"411282","parent_code":411200},{"title":"\u5b9b\u57ce\u533a","code":"411302","parent_code":411300},{"title":"\u5367\u9f99\u533a","code":"411303","parent_code":411300},{"title":"\u5357\u53ec\u53bf","code":"411321","parent_code":411300},{"title":"\u65b9\u57ce\u53bf","code":"411322","parent_code":411300},{"title":"\u897f\u5ce1\u53bf","code":"411323","parent_code":411300},{"title":"\u9547\u5e73\u53bf","code":"411324","parent_code":411300},{"title":"\u5185\u4e61\u53bf","code":"411325","parent_code":411300},{"title":"\u6dc5\u5ddd\u53bf","code":"411326","parent_code":411300},{"title":"\u793e\u65d7\u53bf","code":"411327","parent_code":411300},{"title":"\u5510\u6cb3\u53bf","code":"411328","parent_code":411300},{"title":"\u65b0\u91ce\u53bf","code":"411329","parent_code":411300},{"title":"\u6850\u67cf\u53bf","code":"411330","parent_code":411300},{"title":"\u5357\u9633\u5e02\u57ce\u4e61\u4e00\u4f53\u5316\u793a\u8303\u533a","code":"411372","parent_code":411300},{"title":"\u9093\u5dde\u5e02","code":"411381","parent_code":411300},{"title":"\u6881\u56ed\u533a","code":"411402","parent_code":411400},{"title":"\u7762\u9633\u533a","code":"411403","parent_code":411400},{"title":"\u6c11\u6743\u53bf","code":"411421","parent_code":411400},{"title":"\u7762\u53bf","code":"411422","parent_code":411400},{"title":"\u5b81\u9675\u53bf","code":"411423","parent_code":411400},{"title":"\u67d8\u57ce\u53bf","code":"411424","parent_code":411400},{"title":"\u865e\u57ce\u53bf","code":"411425","parent_code":411400},{"title":"\u590f\u9091\u53bf","code":"411426","parent_code":411400},{"title":"\u6c38\u57ce\u5e02","code":"411481","parent_code":411400},{"title":"\u6d49\u6cb3\u533a","code":"411502","parent_code":411500},{"title":"\u5e73\u6865\u533a","code":"411503","parent_code":411500},{"title":"\u7f57\u5c71\u53bf","code":"411521","parent_code":411500},{"title":"\u5149\u5c71\u53bf","code":"411522","parent_code":411500},{"title":"\u65b0\u53bf","code":"411523","parent_code":411500},{"title":"\u5546\u57ce\u53bf","code":"411524","parent_code":411500},{"title":"\u56fa\u59cb\u53bf","code":"411525","parent_code":411500},{"title":"\u6f62\u5ddd\u53bf","code":"411526","parent_code":411500},{"title":"\u6dee\u6ee8\u53bf","code":"411527","parent_code":411500},{"title":"\u606f\u53bf","code":"411528","parent_code":411500},{"title":"\u5ddd\u6c47\u533a","code":"411602","parent_code":411600},{"title":"\u6dee\u9633\u533a","code":"411603","parent_code":411600},{"title":"\u6276\u6c9f\u53bf","code":"411621","parent_code":411600},{"title":"\u897f\u534e\u53bf","code":"411622","parent_code":411600},{"title":"\u5546\u6c34\u53bf","code":"411623","parent_code":411600},{"title":"\u6c88\u4e18\u53bf","code":"411624","parent_code":411600},{"title":"\u90f8\u57ce\u53bf","code":"411625","parent_code":411600},{"title":"\u592a\u5eb7\u53bf","code":"411627","parent_code":411600},{"title":"\u9e7f\u9091\u53bf","code":"411628","parent_code":411600},{"title":"\u6cb3\u5357\u5468\u53e3\u7ecf\u6d4e\u5f00\u53d1\u533a","code":"411671","parent_code":411600},{"title":"\u9879\u57ce\u5e02","code":"411681","parent_code":411600},{"title":"\u7ecf\u6d4e\u5f00\u53d1\u533a","code":"411690","parent_code":411600},{"title":"\u9a7f\u57ce\u533a","code":"411702","parent_code":411700},{"title":"\u897f\u5e73\u53bf","code":"411721","parent_code":411700},{"title":"\u4e0a\u8521\u53bf","code":"411722","parent_code":411700},{"title":"\u5e73\u8206\u53bf","code":"411723","parent_code":411700},{"title":"\u6b63\u9633\u53bf","code":"411724","parent_code":411700},{"title":"\u786e\u5c71\u53bf","code":"411725","parent_code":411700},{"title":"\u6ccc\u9633\u53bf","code":"411726","parent_code":411700},{"title":"\u6c5d\u5357\u53bf","code":"411727","parent_code":411700},{"title":"\u9042\u5e73\u53bf","code":"411728","parent_code":411700},{"title":"\u65b0\u8521\u53bf","code":"411729","parent_code":411700},{"title":"\u6d4e\u6e90\u5e02","code":"419001","parent_code":419000},{"title":"\u6c5f\u5cb8\u533a","code":"420102","parent_code":420100},{"title":"\u6c5f\u6c49\u533a","code":"420103","parent_code":420100},{"title":"\u785a\u53e3\u533a","code":"420104","parent_code":420100},{"title":"\u6c49\u9633\u533a","code":"420105","parent_code":420100},{"title":"\u6b66\u660c\u533a","code":"420106","parent_code":420100},{"title":"\u9752\u5c71\u533a","code":"420107","parent_code":420100},{"title":"\u6d2a\u5c71\u533a","code":"420111","parent_code":420100},{"title":"\u4e1c\u897f\u6e56\u533a","code":"420112","parent_code":420100},{"title":"\u6c49\u5357\u533a","code":"420113","parent_code":420100},{"title":"\u8521\u7538\u533a","code":"420114","parent_code":420100},{"title":"\u6c5f\u590f\u533a","code":"420115","parent_code":420100},{"title":"\u9ec4\u9642\u533a","code":"420116","parent_code":420100},{"title":"\u65b0\u6d32\u533a","code":"420117","parent_code":420100},{"title":"\u9ec4\u77f3\u6e2f\u533a","code":"420202","parent_code":420200},{"title":"\u897f\u585e\u5c71\u533a","code":"420203","parent_code":420200},{"title":"\u4e0b\u9646\u533a","code":"420204","parent_code":420200},{"title":"\u94c1\u5c71\u533a","code":"420205","parent_code":420200},{"title":"\u9633\u65b0\u53bf","code":"420222","parent_code":420200},{"title":"\u5927\u51b6\u5e02","code":"420281","parent_code":420200},{"title":"\u8305\u7bad\u533a","code":"420302","parent_code":420300},{"title":"\u5f20\u6e7e\u533a","code":"420303","parent_code":420300},{"title":"\u90e7\u9633\u533a","code":"420304","parent_code":420300},{"title":"\u90e7\u897f\u53bf","code":"420322","parent_code":420300},{"title":"\u7af9\u5c71\u53bf","code":"420323","parent_code":420300},{"title":"\u7af9\u6eaa\u53bf","code":"420324","parent_code":420300},{"title":"\u623f\u53bf","code":"420325","parent_code":420300},{"title":"\u4e39\u6c5f\u53e3\u5e02","code":"420381","parent_code":420300},{"title":"\u897f\u9675\u533a","code":"420502","parent_code":420500},{"title":"\u4f0d\u5bb6\u5c97\u533a","code":"420503","parent_code":420500},{"title":"\u70b9\u519b\u533a","code":"420504","parent_code":420500},{"title":"\u7307\u4ead\u533a","code":"420505","parent_code":420500},{"title":"\u5937\u9675\u533a","code":"420506","parent_code":420500},{"title":"\u8fdc\u5b89\u53bf","code":"420525","parent_code":420500},{"title":"\u5174\u5c71\u53bf","code":"420526","parent_code":420500},{"title":"\u79ed\u5f52\u53bf","code":"420527","parent_code":420500},{"title":"\u957f\u9633\u571f\u5bb6\u65cf\u81ea\u6cbb\u53bf","code":"420528","parent_code":420500},{"title":"\u4e94\u5cf0\u571f\u5bb6\u65cf\u81ea\u6cbb\u53bf","code":"420529","parent_code":420500},{"title":"\u5b9c\u90fd\u5e02","code":"420581","parent_code":420500},{"title":"\u5f53\u9633\u5e02","code":"420582","parent_code":420500},{"title":"\u679d\u6c5f\u5e02","code":"420583","parent_code":420500},{"title":"\u7ecf\u6d4e\u5f00\u53d1\u533a","code":"420590","parent_code":420500},{"title":"\u8944\u57ce\u533a","code":"420602","parent_code":420600},{"title":"\u6a0a\u57ce\u533a","code":"420606","parent_code":420600},{"title":"\u8944\u5dde\u533a","code":"420607","parent_code":420600},{"title":"\u5357\u6f33\u53bf","code":"420624","parent_code":420600},{"title":"\u8c37\u57ce\u53bf","code":"420625","parent_code":420600},{"title":"\u4fdd\u5eb7\u53bf","code":"420626","parent_code":420600},{"title":"\u8001\u6cb3\u53e3\u5e02","code":"420682","parent_code":420600},{"title":"\u67a3\u9633\u5e02","code":"420683","parent_code":420600},{"title":"\u5b9c\u57ce\u5e02","code":"420684","parent_code":420600},{"title":"\u6881\u5b50\u6e56\u533a","code":"420702","parent_code":420700},{"title":"\u534e\u5bb9\u533a","code":"420703","parent_code":420700},{"title":"\u9102\u57ce\u533a","code":"420704","parent_code":420700},{"title":"\u4e1c\u5b9d\u533a","code":"420802","parent_code":420800},{"title":"\u6387\u5200\u533a","code":"420804","parent_code":420800},{"title":"\u6c99\u6d0b\u53bf","code":"420822","parent_code":420800},{"title":"\u949f\u7965\u5e02","code":"420881","parent_code":420800},{"title":"\u4eac\u5c71\u5e02","code":"420882","parent_code":420800},{"title":"\u5b5d\u5357\u533a","code":"420902","parent_code":420900},{"title":"\u5b5d\u660c\u53bf","code":"420921","parent_code":420900},{"title":"\u5927\u609f\u53bf","code":"420922","parent_code":420900},{"title":"\u4e91\u68a6\u53bf","code":"420923","parent_code":420900},{"title":"\u5e94\u57ce\u5e02","code":"420981","parent_code":420900},{"title":"\u5b89\u9646\u5e02","code":"420982","parent_code":420900},{"title":"\u6c49\u5ddd\u5e02","code":"420984","parent_code":420900},{"title":"\u6c99\u5e02\u533a","code":"421002","parent_code":421000},{"title":"\u8346\u5dde\u533a","code":"421003","parent_code":421000},{"title":"\u516c\u5b89\u53bf","code":"421022","parent_code":421000},{"title":"\u76d1\u5229\u53bf","code":"421023","parent_code":421000},{"title":"\u6c5f\u9675\u53bf","code":"421024","parent_code":421000},{"title":"\u77f3\u9996\u5e02","code":"421081","parent_code":421000},{"title":"\u6d2a\u6e56\u5e02","code":"421083","parent_code":421000},{"title":"\u677e\u6ecb\u5e02","code":"421087","parent_code":421000},{"title":"\u9ec4\u5dde\u533a","code":"421102","parent_code":421100},{"title":"\u56e2\u98ce\u53bf","code":"421121","parent_code":421100},{"title":"\u7ea2\u5b89\u53bf","code":"421122","parent_code":421100},{"title":"\u7f57\u7530\u53bf","code":"421123","parent_code":421100},{"title":"\u82f1\u5c71\u53bf","code":"421124","parent_code":421100},{"title":"\u6d60\u6c34\u53bf","code":"421125","parent_code":421100},{"title":"\u8572\u6625\u53bf","code":"421126","parent_code":421100},{"title":"\u9ec4\u6885\u53bf","code":"421127","parent_code":421100},{"title":"\u9f99\u611f\u6e56\u7ba1\u7406\u533a","code":"421171","parent_code":421100},{"title":"\u9ebb\u57ce\u5e02","code":"421181","parent_code":421100},{"title":"\u6b66\u7a74\u5e02","code":"421182","parent_code":421100},{"title":"\u54b8\u5b89\u533a","code":"421202","parent_code":421200},{"title":"\u5609\u9c7c\u53bf","code":"421221","parent_code":421200},{"title":"\u901a\u57ce\u53bf","code":"421222","parent_code":421200},{"title":"\u5d07\u9633\u53bf","code":"421223","parent_code":421200},{"title":"\u901a\u5c71\u53bf","code":"421224","parent_code":421200},{"title":"\u8d64\u58c1\u5e02","code":"421281","parent_code":421200},{"title":"\u66fe\u90fd\u533a","code":"421303","parent_code":421300},{"title":"\u968f\u53bf","code":"421321","parent_code":421300},{"title":"\u5e7f\u6c34\u5e02","code":"421381","parent_code":421300},{"title":"\u6069\u65bd\u5e02","code":"422801","parent_code":422800},{"title":"\u5229\u5ddd\u5e02","code":"422802","parent_code":422800},{"title":"\u5efa\u59cb\u53bf","code":"422822","parent_code":422800},{"title":"\u5df4\u4e1c\u53bf","code":"422823","parent_code":422800},{"title":"\u5ba3\u6069\u53bf","code":"422825","parent_code":422800},{"title":"\u54b8\u4e30\u53bf","code":"422826","parent_code":422800},{"title":"\u6765\u51e4\u53bf","code":"422827","parent_code":422800},{"title":"\u9e64\u5cf0\u53bf","code":"422828","parent_code":422800},{"title":"\u4ed9\u6843\u5e02","code":"429004","parent_code":429000},{"title":"\u6f5c\u6c5f\u5e02","code":"429005","parent_code":429000},{"title":"\u5929\u95e8\u5e02","code":"429006","parent_code":429000},{"title":"\u795e\u519c\u67b6\u6797\u533a","code":"429021","parent_code":429000},{"title":"\u8299\u84c9\u533a","code":"430102","parent_code":430100},{"title":"\u5929\u5fc3\u533a","code":"430103","parent_code":430100},{"title":"\u5cb3\u9e93\u533a","code":"430104","parent_code":430100},{"title":"\u5f00\u798f\u533a","code":"430105","parent_code":430100},{"title":"\u96e8\u82b1\u533a","code":"430111","parent_code":430100},{"title":"\u671b\u57ce\u533a","code":"430112","parent_code":430100},{"title":"\u957f\u6c99\u53bf","code":"430121","parent_code":430100},{"title":"\u6d4f\u9633\u5e02","code":"430181","parent_code":430100},{"title":"\u5b81\u4e61\u5e02","code":"430182","parent_code":430100},{"title":"\u8377\u5858\u533a","code":"430202","parent_code":430200},{"title":"\u82a6\u6dde\u533a","code":"430203","parent_code":430200},{"title":"\u77f3\u5cf0\u533a","code":"430204","parent_code":430200},{"title":"\u5929\u5143\u533a","code":"430211","parent_code":430200},{"title":"\u6e0c\u53e3\u533a","code":"430212","parent_code":430200},{"title":"\u6538\u53bf","code":"430223","parent_code":430200},{"title":"\u8336\u9675\u53bf","code":"430224","parent_code":430200},{"title":"\u708e\u9675\u53bf","code":"430225","parent_code":430200},{"title":"\u4e91\u9f99\u793a\u8303\u533a","code":"430271","parent_code":430200},{"title":"\u91b4\u9675\u5e02","code":"430281","parent_code":430200},{"title":"\u96e8\u6e56\u533a","code":"430302","parent_code":430300},{"title":"\u5cb3\u5858\u533a","code":"430304","parent_code":430300},{"title":"\u6e58\u6f6d\u53bf","code":"430321","parent_code":430300},{"title":"\u6e58\u6f6d\u4e5d\u534e\u793a\u8303\u533a","code":"430373","parent_code":430300},{"title":"\u6e58\u4e61\u5e02","code":"430381","parent_code":430300},{"title":"\u97f6\u5c71\u5e02","code":"430382","parent_code":430300},{"title":"\u73e0\u6656\u533a","code":"430405","parent_code":430400},{"title":"\u96c1\u5cf0\u533a","code":"430406","parent_code":430400},{"title":"\u77f3\u9f13\u533a","code":"430407","parent_code":430400},{"title":"\u84b8\u6e58\u533a","code":"430408","parent_code":430400},{"title":"\u5357\u5cb3\u533a","code":"430412","parent_code":430400},{"title":"\u8861\u9633\u53bf","code":"430421","parent_code":430400},{"title":"\u8861\u5357\u53bf","code":"430422","parent_code":430400},{"title":"\u8861\u5c71\u53bf","code":"430423","parent_code":430400},{"title":"\u8861\u4e1c\u53bf","code":"430424","parent_code":430400},{"title":"\u7941\u4e1c\u53bf","code":"430426","parent_code":430400},{"title":"\u8012\u9633\u5e02","code":"430481","parent_code":430400},{"title":"\u5e38\u5b81\u5e02","code":"430482","parent_code":430400},{"title":"\u53cc\u6e05\u533a","code":"430502","parent_code":430500},{"title":"\u5927\u7965\u533a","code":"430503","parent_code":430500},{"title":"\u5317\u5854\u533a","code":"430511","parent_code":430500},{"title":"\u65b0\u90b5\u53bf","code":"430522","parent_code":430500},{"title":"\u90b5\u9633\u53bf","code":"430523","parent_code":430500},{"title":"\u9686\u56de\u53bf","code":"430524","parent_code":430500},{"title":"\u6d1e\u53e3\u53bf","code":"430525","parent_code":430500},{"title":"\u7ee5\u5b81\u53bf","code":"430527","parent_code":430500},{"title":"\u65b0\u5b81\u53bf","code":"430528","parent_code":430500},{"title":"\u57ce\u6b65\u82d7\u65cf\u81ea\u6cbb\u53bf","code":"430529","parent_code":430500},{"title":"\u6b66\u5188\u5e02","code":"430581","parent_code":430500},{"title":"\u90b5\u4e1c\u5e02","code":"430582","parent_code":430500},{"title":"\u5cb3\u9633\u697c\u533a","code":"430602","parent_code":430600},{"title":"\u4e91\u6eaa\u533a","code":"430603","parent_code":430600},{"title":"\u541b\u5c71\u533a","code":"430611","parent_code":430600},{"title":"\u5cb3\u9633\u53bf","code":"430621","parent_code":430600},{"title":"\u534e\u5bb9\u53bf","code":"430623","parent_code":430600},{"title":"\u6e58\u9634\u53bf","code":"430624","parent_code":430600},{"title":"\u5e73\u6c5f\u53bf","code":"430626","parent_code":430600},{"title":"\u6c68\u7f57\u5e02","code":"430681","parent_code":430600},{"title":"\u4e34\u6e58\u5e02","code":"430682","parent_code":430600},{"title":"\u6b66\u9675\u533a","code":"430702","parent_code":430700},{"title":"\u9f0e\u57ce\u533a","code":"430703","parent_code":430700},{"title":"\u5b89\u4e61\u53bf","code":"430721","parent_code":430700},{"title":"\u6c49\u5bff\u53bf","code":"430722","parent_code":430700},{"title":"\u6fa7\u53bf","code":"430723","parent_code":430700},{"title":"\u4e34\u6fa7\u53bf","code":"430724","parent_code":430700},{"title":"\u6843\u6e90\u53bf","code":"430725","parent_code":430700},{"title":"\u77f3\u95e8\u53bf","code":"430726","parent_code":430700},{"title":"\u6d25\u5e02\u5e02","code":"430781","parent_code":430700},{"title":"\u6c38\u5b9a\u533a","code":"430802","parent_code":430800},{"title":"\u6b66\u9675\u6e90\u533a","code":"430811","parent_code":430800},{"title":"\u6148\u5229\u53bf","code":"430821","parent_code":430800},{"title":"\u6851\u690d\u53bf","code":"430822","parent_code":430800},{"title":"\u8d44\u9633\u533a","code":"430902","parent_code":430900},{"title":"\u8d6b\u5c71\u533a","code":"430903","parent_code":430900},{"title":"\u5357\u53bf","code":"430921","parent_code":430900},{"title":"\u6843\u6c5f\u53bf","code":"430922","parent_code":430900},{"title":"\u5b89\u5316\u53bf","code":"430923","parent_code":430900},{"title":"\u76ca\u9633\u5e02\u5927\u901a\u6e56\u7ba1\u7406\u533a","code":"430971","parent_code":430900},{"title":"\u6c85\u6c5f\u5e02","code":"430981","parent_code":430900},{"title":"\u5317\u6e56\u533a","code":"431002","parent_code":431000},{"title":"\u82cf\u4ed9\u533a","code":"431003","parent_code":431000},{"title":"\u6842\u9633\u53bf","code":"431021","parent_code":431000},{"title":"\u5b9c\u7ae0\u53bf","code":"431022","parent_code":431000},{"title":"\u6c38\u5174\u53bf","code":"431023","parent_code":431000},{"title":"\u5609\u79be\u53bf","code":"431024","parent_code":431000},{"title":"\u4e34\u6b66\u53bf","code":"431025","parent_code":431000},{"title":"\u6c5d\u57ce\u53bf","code":"431026","parent_code":431000},{"title":"\u6842\u4e1c\u53bf","code":"431027","parent_code":431000},{"title":"\u5b89\u4ec1\u53bf","code":"431028","parent_code":431000},{"title":"\u8d44\u5174\u5e02","code":"431081","parent_code":431000},{"title":"\u96f6\u9675\u533a","code":"431102","parent_code":431100},{"title":"\u51b7\u6c34\u6ee9\u533a","code":"431103","parent_code":431100},{"title":"\u7941\u9633\u53bf","code":"431121","parent_code":431100},{"title":"\u4e1c\u5b89\u53bf","code":"431122","parent_code":431100},{"title":"\u53cc\u724c\u53bf","code":"431123","parent_code":431100},{"title":"\u9053\u53bf","code":"431124","parent_code":431100},{"title":"\u6c5f\u6c38\u53bf","code":"431125","parent_code":431100},{"title":"\u5b81\u8fdc\u53bf","code":"431126","parent_code":431100},{"title":"\u84dd\u5c71\u53bf","code":"431127","parent_code":431100},{"title":"\u65b0\u7530\u53bf","code":"431128","parent_code":431100},{"title":"\u6c5f\u534e\u7476\u65cf\u81ea\u6cbb\u53bf","code":"431129","parent_code":431100},{"title":"\u9e64\u57ce\u533a","code":"431202","parent_code":431200},{"title":"\u4e2d\u65b9\u53bf","code":"431221","parent_code":431200},{"title":"\u6c85\u9675\u53bf","code":"431222","parent_code":431200},{"title":"\u8fb0\u6eaa\u53bf","code":"431223","parent_code":431200},{"title":"\u6e86\u6d66\u53bf","code":"431224","parent_code":431200},{"title":"\u4f1a\u540c\u53bf","code":"431225","parent_code":431200},{"title":"\u9ebb\u9633\u82d7\u65cf\u81ea\u6cbb\u53bf","code":"431226","parent_code":431200},{"title":"\u65b0\u6643\u4f97\u65cf\u81ea\u6cbb\u53bf","code":"431227","parent_code":431200},{"title":"\u82b7\u6c5f\u4f97\u65cf\u81ea\u6cbb\u53bf","code":"431228","parent_code":431200},{"title":"\u9756\u5dde\u82d7\u65cf\u4f97\u65cf\u81ea\u6cbb\u53bf","code":"431229","parent_code":431200},{"title":"\u901a\u9053\u4f97\u65cf\u81ea\u6cbb\u53bf","code":"431230","parent_code":431200},{"title":"\u6000\u5316\u5e02\u6d2a\u6c5f\u7ba1\u7406\u533a","code":"431271","parent_code":431200},{"title":"\u6d2a\u6c5f\u5e02","code":"431281","parent_code":431200},{"title":"\u5a04\u661f\u533a","code":"431302","parent_code":431300},{"title":"\u53cc\u5cf0\u53bf","code":"431321","parent_code":431300},{"title":"\u65b0\u5316\u53bf","code":"431322","parent_code":431300},{"title":"\u51b7\u6c34\u6c5f\u5e02","code":"431381","parent_code":431300},{"title":"\u6d9f\u6e90\u5e02","code":"431382","parent_code":431300},{"title":"\u5409\u9996\u5e02","code":"433101","parent_code":433100},{"title":"\u6cf8\u6eaa\u53bf","code":"433122","parent_code":433100},{"title":"\u51e4\u51f0\u53bf","code":"433123","parent_code":433100},{"title":"\u82b1\u57a3\u53bf","code":"433124","parent_code":433100},{"title":"\u4fdd\u9756\u53bf","code":"433125","parent_code":433100},{"title":"\u53e4\u4e08\u53bf","code":"433126","parent_code":433100},{"title":"\u6c38\u987a\u53bf","code":"433127","parent_code":433100},{"title":"\u9f99\u5c71\u53bf","code":"433130","parent_code":433100},{"title":"\u8354\u6e7e\u533a","code":"440103","parent_code":440100},{"title":"\u8d8a\u79c0\u533a","code":"440104","parent_code":440100},{"title":"\u6d77\u73e0\u533a","code":"440105","parent_code":440100},{"title":"\u5929\u6cb3\u533a","code":"440106","parent_code":440100},{"title":"\u767d\u4e91\u533a","code":"440111","parent_code":440100},{"title":"\u9ec4\u57d4\u533a","code":"440112","parent_code":440100},{"title":"\u756a\u79ba\u533a","code":"440113","parent_code":440100},{"title":"\u82b1\u90fd\u533a","code":"440114","parent_code":440100},{"title":"\u5357\u6c99\u533a","code":"440115","parent_code":440100},{"title":"\u4ece\u5316\u533a","code":"440117","parent_code":440100},{"title":"\u589e\u57ce\u533a","code":"440118","parent_code":440100},{"title":"\u6b66\u6c5f\u533a","code":"440203","parent_code":440200},{"title":"\u6d48\u6c5f\u533a","code":"440204","parent_code":440200},{"title":"\u66f2\u6c5f\u533a","code":"440205","parent_code":440200},{"title":"\u59cb\u5174\u53bf","code":"440222","parent_code":440200},{"title":"\u4ec1\u5316\u53bf","code":"440224","parent_code":440200},{"title":"\u7fc1\u6e90\u53bf","code":"440229","parent_code":440200},{"title":"\u4e73\u6e90\u7476\u65cf\u81ea\u6cbb\u53bf","code":"440232","parent_code":440200},{"title":"\u65b0\u4e30\u53bf","code":"440233","parent_code":440200},{"title":"\u4e50\u660c\u5e02","code":"440281","parent_code":440200},{"title":"\u5357\u96c4\u5e02","code":"440282","parent_code":440200},{"title":"\u7f57\u6e56\u533a","code":"440303","parent_code":440300},{"title":"\u798f\u7530\u533a","code":"440304","parent_code":440300},{"title":"\u5357\u5c71\u533a","code":"440305","parent_code":440300},{"title":"\u5b9d\u5b89\u533a","code":"440306","parent_code":440300},{"title":"\u9f99\u5c97\u533a","code":"440307","parent_code":440300},{"title":"\u76d0\u7530\u533a","code":"440308","parent_code":440300},{"title":"\u9f99\u534e\u533a","code":"440309","parent_code":440300},{"title":"\u576a\u5c71\u533a","code":"440310","parent_code":440300},{"title":"\u5149\u660e\u533a","code":"440311","parent_code":440300},{"title":"\u9999\u6d32\u533a","code":"440402","parent_code":440400},{"title":"\u6597\u95e8\u533a","code":"440403","parent_code":440400},{"title":"\u91d1\u6e7e\u533a","code":"440404","parent_code":440400},{"title":"\u9f99\u6e56\u533a","code":"440507","parent_code":440500},{"title":"\u91d1\u5e73\u533a","code":"440511","parent_code":440500},{"title":"\u6fe0\u6c5f\u533a","code":"440512","parent_code":440500},{"title":"\u6f6e\u9633\u533a","code":"440513","parent_code":440500},{"title":"\u6f6e\u5357\u533a","code":"440514","parent_code":440500},{"title":"\u6f84\u6d77\u533a","code":"440515","parent_code":440500},{"title":"\u5357\u6fb3\u53bf","code":"440523","parent_code":440500},{"title":"\u7985\u57ce\u533a","code":"440604","parent_code":440600},{"title":"\u5357\u6d77\u533a","code":"440605","parent_code":440600},{"title":"\u987a\u5fb7\u533a","code":"440606","parent_code":440600},{"title":"\u4e09\u6c34\u533a","code":"440607","parent_code":440600},{"title":"\u9ad8\u660e\u533a","code":"440608","parent_code":440600},{"title":"\u84ec\u6c5f\u533a","code":"440703","parent_code":440700},{"title":"\u6c5f\u6d77\u533a","code":"440704","parent_code":440700},{"title":"\u65b0\u4f1a\u533a","code":"440705","parent_code":440700},{"title":"\u53f0\u5c71\u5e02","code":"440781","parent_code":440700},{"title":"\u5f00\u5e73\u5e02","code":"440783","parent_code":440700},{"title":"\u9e64\u5c71\u5e02","code":"440784","parent_code":440700},{"title":"\u6069\u5e73\u5e02","code":"440785","parent_code":440700},{"title":"\u8d64\u574e\u533a","code":"440802","parent_code":440800},{"title":"\u971e\u5c71\u533a","code":"440803","parent_code":440800},{"title":"\u5761\u5934\u533a","code":"440804","parent_code":440800},{"title":"\u9ebb\u7ae0\u533a","code":"440811","parent_code":440800},{"title":"\u9042\u6eaa\u53bf","code":"440823","parent_code":440800},{"title":"\u5f90\u95fb\u53bf","code":"440825","parent_code":440800},{"title":"\u5ec9\u6c5f\u5e02","code":"440881","parent_code":440800},{"title":"\u96f7\u5dde\u5e02","code":"440882","parent_code":440800},{"title":"\u5434\u5ddd\u5e02","code":"440883","parent_code":440800},{"title":"\u7ecf\u6d4e\u6280\u672f\u5f00\u53d1\u533a","code":"440890","parent_code":440800},{"title":"\u8302\u5357\u533a","code":"440902","parent_code":440900},{"title":"\u7535\u767d\u533a","code":"440904","parent_code":440900},{"title":"\u9ad8\u5dde\u5e02","code":"440981","parent_code":440900},{"title":"\u5316\u5dde\u5e02","code":"440982","parent_code":440900},{"title":"\u4fe1\u5b9c\u5e02","code":"440983","parent_code":440900},{"title":"\u7aef\u5dde\u533a","code":"441202","parent_code":441200},{"title":"\u9f0e\u6e56\u533a","code":"441203","parent_code":441200},{"title":"\u9ad8\u8981\u533a","code":"441204","parent_code":441200},{"title":"\u5e7f\u5b81\u53bf","code":"441223","parent_code":441200},{"title":"\u6000\u96c6\u53bf","code":"441224","parent_code":441200},{"title":"\u5c01\u5f00\u53bf","code":"441225","parent_code":441200},{"title":"\u5fb7\u5e86\u53bf","code":"441226","parent_code":441200},{"title":"\u56db\u4f1a\u5e02","code":"441284","parent_code":441200},{"title":"\u60e0\u57ce\u533a","code":"441302","parent_code":441300},{"title":"\u60e0\u9633\u533a","code":"441303","parent_code":441300},{"title":"\u535a\u7f57\u53bf","code":"441322","parent_code":441300},{"title":"\u60e0\u4e1c\u53bf","code":"441323","parent_code":441300},{"title":"\u9f99\u95e8\u53bf","code":"441324","parent_code":441300},{"title":"\u6885\u6c5f\u533a","code":"441402","parent_code":441400},{"title":"\u6885\u53bf\u533a","code":"441403","parent_code":441400},{"title":"\u5927\u57d4\u53bf","code":"441422","parent_code":441400},{"title":"\u4e30\u987a\u53bf","code":"441423","parent_code":441400},{"title":"\u4e94\u534e\u53bf","code":"441424","parent_code":441400},{"title":"\u5e73\u8fdc\u53bf","code":"441426","parent_code":441400},{"title":"\u8549\u5cad\u53bf","code":"441427","parent_code":441400},{"title":"\u5174\u5b81\u5e02","code":"441481","parent_code":441400},{"title":"\u57ce\u533a","code":"441502","parent_code":441500},{"title":"\u6d77\u4e30\u53bf","code":"441521","parent_code":441500},{"title":"\u9646\u6cb3\u53bf","code":"441523","parent_code":441500},{"title":"\u9646\u4e30\u5e02","code":"441581","parent_code":441500},{"title":"\u6e90\u57ce\u533a","code":"441602","parent_code":441600},{"title":"\u7d2b\u91d1\u53bf","code":"441621","parent_code":441600},{"title":"\u9f99\u5ddd\u53bf","code":"441622","parent_code":441600},{"title":"\u8fde\u5e73\u53bf","code":"441623","parent_code":441600},{"title":"\u548c\u5e73\u53bf","code":"441624","parent_code":441600},{"title":"\u4e1c\u6e90\u53bf","code":"441625","parent_code":441600},{"title":"\u6c5f\u57ce\u533a","code":"441702","parent_code":441700},{"title":"\u9633\u4e1c\u533a","code":"441704","parent_code":441700},{"title":"\u9633\u897f\u53bf","code":"441721","parent_code":441700},{"title":"\u9633\u6625\u5e02","code":"441781","parent_code":441700},{"title":"\u6e05\u57ce\u533a","code":"441802","parent_code":441800},{"title":"\u6e05\u65b0\u533a","code":"441803","parent_code":441800},{"title":"\u4f5b\u5188\u53bf","code":"441821","parent_code":441800},{"title":"\u9633\u5c71\u53bf","code":"441823","parent_code":441800},{"title":"\u8fde\u5c71\u58ee\u65cf\u7476\u65cf\u81ea\u6cbb\u53bf","code":"441825","parent_code":441800},{"title":"\u8fde\u5357\u7476\u65cf\u81ea\u6cbb\u53bf","code":"441826","parent_code":441800},{"title":"\u82f1\u5fb7\u5e02","code":"441881","parent_code":441800},{"title":"\u8fde\u5dde\u5e02","code":"441882","parent_code":441800},{"title":"\u4e2d\u5802\u9547","code":"441901","parent_code":441900},{"title":"\u5357\u57ce\u8857\u9053","code":"441903","parent_code":441900},{"title":"\u957f\u5b89\u9547","code":"441904","parent_code":441900},{"title":"\u4e1c\u5751\u9547","code":"441905","parent_code":441900},{"title":"\u6a1f\u6728\u5934\u9547","code":"441906","parent_code":441900},{"title":"\u839e\u57ce\u8857\u9053","code":"441907","parent_code":441900},{"title":"\u77f3\u9f99\u9547","code":"441908","parent_code":441900},{"title":"\u6865\u5934\u9547","code":"441909","parent_code":441900},{"title":"\u4e07\u6c5f\u8857\u9053","code":"441910","parent_code":441900},{"title":"\u9ebb\u6d8c\u9547","code":"441911","parent_code":441900},{"title":"\u864e\u95e8\u9547","code":"441912","parent_code":441900},{"title":"\u8c22\u5c97\u9547","code":"441913","parent_code":441900},{"title":"\u77f3\u78a3\u9547","code":"441914","parent_code":441900},{"title":"\u8336\u5c71\u9547","code":"441915","parent_code":441900},{"title":"\u4e1c\u57ce\u8857\u9053","code":"441916","parent_code":441900},{"title":"\u6d2a\u6885\u9547","code":"441917","parent_code":441900},{"title":"\u9053\u6ed8\u9547","code":"441918","parent_code":441900},{"title":"\u9ad8\u57d7\u9547","code":"441919","parent_code":441900},{"title":"\u4f01\u77f3\u9547","code":"441920","parent_code":441900},{"title":"\u51e4\u5c97\u9547","code":"441921","parent_code":441900},{"title":"\u5927\u5cad\u5c71\u9547","code":"441922","parent_code":441900},{"title":"\u677e\u5c71\u6e56","code":"441923","parent_code":441900},{"title":"\u6e05\u6eaa\u9547","code":"441924","parent_code":441900},{"title":"\u671b\u725b\u58a9\u9547","code":"441925","parent_code":441900},{"title":"\u539a\u8857\u9547","code":"441926","parent_code":441900},{"title":"\u5e38\u5e73\u9547","code":"441927","parent_code":441900},{"title":"\u5bee\u6b65\u9547","code":"441928","parent_code":441900},{"title":"\u77f3\u6392\u9547","code":"441929","parent_code":441900},{"title":"\u6a2a\u6ca5\u9547","code":"441930","parent_code":441900},{"title":"\u5858\u53a6\u9547","code":"441931","parent_code":441900},{"title":"\u9ec4\u6c5f\u9547","code":"441932","parent_code":441900},{"title":"\u5927\u6717\u9547","code":"441933","parent_code":441900},{"title":"\u4e1c\u839e\u6e2f","code":"441934","parent_code":441900},{"title":"\u4e1c\u839e\u751f\u6001\u56ed","code":"441935","parent_code":441900},{"title":"\u6c99\u7530\u9547","code":"441990","parent_code":441900},{"title":"\u5357\u5934\u9547","code":"442001","parent_code":442000},{"title":"\u795e\u6e7e\u9547","code":"442002","parent_code":442000},{"title":"\u4e1c\u51e4\u9547","code":"442003","parent_code":442000},{"title":"\u4e94\u6842\u5c71\u8857\u9053","code":"442004","parent_code":442000},{"title":"\u9ec4\u5703\u9547","code":"442005","parent_code":442000},{"title":"\u5c0f\u6984\u9547","code":"442006","parent_code":442000},{"title":"\u77f3\u5c90\u8857\u9053","code":"442007","parent_code":442000},{"title":"\u6a2a\u680f\u9547","code":"442008","parent_code":442000},{"title":"\u4e09\u89d2\u9547","code":"442009","parent_code":442000},{"title":"\u4e09\u4e61\u9547","code":"442010","parent_code":442000},{"title":"\u6e2f\u53e3\u9547","code":"442011","parent_code":442000},{"title":"\u6c99\u6eaa\u9547","code":"442012","parent_code":442000},{"title":"\u677f\u8299\u9547","code":"442013","parent_code":442000},{"title":"\u4e1c\u5347\u9547","code":"442015","parent_code":442000},{"title":"\u961c\u6c99\u9547","code":"442016","parent_code":442000},{"title":"\u6c11\u4f17\u9547","code":"442017","parent_code":442000},{"title":"\u4e1c\u533a\u8857\u9053","code":"442018","parent_code":442000},{"title":"\u706b\u70ac\u5f00\u53d1\u533a\u8857\u9053\u529e\u4e8b\u5904","code":"442019","parent_code":442000},{"title":"\u897f\u533a\u8857\u9053","code":"442020","parent_code":442000},{"title":"\u5357\u533a\u8857\u9053","code":"442021","parent_code":442000},{"title":"\u53e4\u9547\u9547","code":"442022","parent_code":442000},{"title":"\u5766\u6d32\u9547","code":"442023","parent_code":442000},{"title":"\u5927\u6d8c\u9547","code":"442024","parent_code":442000},{"title":"\u5357\u6717\u9547","code":"442025","parent_code":442000},{"title":"\u6e58\u6865\u533a","code":"445102","parent_code":445100},{"title":"\u6f6e\u5b89\u533a","code":"445103","parent_code":445100},{"title":"\u9976\u5e73\u53bf","code":"445122","parent_code":445100},{"title":"\u6995\u57ce\u533a","code":"445202","parent_code":445200},{"title":"\u63ed\u4e1c\u533a","code":"445203","parent_code":445200},{"title":"\u63ed\u897f\u53bf","code":"445222","parent_code":445200},{"title":"\u60e0\u6765\u53bf","code":"445224","parent_code":445200},{"title":"\u666e\u5b81\u5e02","code":"445281","parent_code":445200},{"title":"\u4e91\u57ce\u533a","code":"445302","parent_code":445300},{"title":"\u4e91\u5b89\u533a","code":"445303","parent_code":445300},{"title":"\u65b0\u5174\u53bf","code":"445321","parent_code":445300},{"title":"\u90c1\u5357\u53bf","code":"445322","parent_code":445300},{"title":"\u7f57\u5b9a\u5e02","code":"445381","parent_code":445300},{"title":"\u5174\u5b81\u533a","code":"450102","parent_code":450100},{"title":"\u9752\u79c0\u533a","code":"450103","parent_code":450100},{"title":"\u6c5f\u5357\u533a","code":"450105","parent_code":450100},{"title":"\u897f\u4e61\u5858\u533a","code":"450107","parent_code":450100},{"title":"\u826f\u5e86\u533a","code":"450108","parent_code":450100},{"title":"\u9095\u5b81\u533a","code":"450109","parent_code":450100},{"title":"\u6b66\u9e23\u533a","code":"450110","parent_code":450100},{"title":"\u9686\u5b89\u53bf","code":"450123","parent_code":450100},{"title":"\u9a6c\u5c71\u53bf","code":"450124","parent_code":450100},{"title":"\u4e0a\u6797\u53bf","code":"450125","parent_code":450100},{"title":"\u5bbe\u9633\u53bf","code":"450126","parent_code":450100},{"title":"\u6a2a\u53bf","code":"450127","parent_code":450100},{"title":"\u57ce\u4e2d\u533a","code":"450202","parent_code":450200},{"title":"\u9c7c\u5cf0\u533a","code":"450203","parent_code":450200},{"title":"\u67f3\u5357\u533a","code":"450204","parent_code":450200},{"title":"\u67f3\u5317\u533a","code":"450205","parent_code":450200},{"title":"\u67f3\u6c5f\u533a","code":"450206","parent_code":450200},{"title":"\u67f3\u57ce\u53bf","code":"450222","parent_code":450200},{"title":"\u9e7f\u5be8\u53bf","code":"450223","parent_code":450200},{"title":"\u878d\u5b89\u53bf","code":"450224","parent_code":450200},{"title":"\u878d\u6c34\u82d7\u65cf\u81ea\u6cbb\u53bf","code":"450225","parent_code":450200},{"title":"\u4e09\u6c5f\u4f97\u65cf\u81ea\u6cbb\u53bf","code":"450226","parent_code":450200},{"title":"\u79c0\u5cf0\u533a","code":"450302","parent_code":450300},{"title":"\u53e0\u5f69\u533a","code":"450303","parent_code":450300},{"title":"\u8c61\u5c71\u533a","code":"450304","parent_code":450300},{"title":"\u4e03\u661f\u533a","code":"450305","parent_code":450300},{"title":"\u96c1\u5c71\u533a","code":"450311","parent_code":450300},{"title":"\u4e34\u6842\u533a","code":"450312","parent_code":450300},{"title":"\u9633\u6714\u53bf","code":"450321","parent_code":450300},{"title":"\u7075\u5ddd\u53bf","code":"450323","parent_code":450300},{"title":"\u5168\u5dde\u53bf","code":"450324","parent_code":450300},{"title":"\u5174\u5b89\u53bf","code":"450325","parent_code":450300},{"title":"\u6c38\u798f\u53bf","code":"450326","parent_code":450300},{"title":"\u704c\u9633\u53bf","code":"450327","parent_code":450300},{"title":"\u9f99\u80dc\u5404\u65cf\u81ea\u6cbb\u53bf","code":"450328","parent_code":450300},{"title":"\u8d44\u6e90\u53bf","code":"450329","parent_code":450300},{"title":"\u5e73\u4e50\u53bf","code":"450330","parent_code":450300},{"title":"\u606d\u57ce\u7476\u65cf\u81ea\u6cbb\u53bf","code":"450332","parent_code":450300},{"title":"\u8354\u6d66\u5e02","code":"450381","parent_code":450300},{"title":"\u4e07\u79c0\u533a","code":"450403","parent_code":450400},{"title":"\u957f\u6d32\u533a","code":"450405","parent_code":450400},{"title":"\u9f99\u5729\u533a","code":"450406","parent_code":450400},{"title":"\u82cd\u68a7\u53bf","code":"450421","parent_code":450400},{"title":"\u85e4\u53bf","code":"450422","parent_code":450400},{"title":"\u8499\u5c71\u53bf","code":"450423","parent_code":450400},{"title":"\u5c91\u6eaa\u5e02","code":"450481","parent_code":450400},{"title":"\u6d77\u57ce\u533a","code":"450502","parent_code":450500},{"title":"\u94f6\u6d77\u533a","code":"450503","parent_code":450500},{"title":"\u94c1\u5c71\u6e2f\u533a","code":"450512","parent_code":450500},{"title":"\u5408\u6d66\u53bf","code":"450521","parent_code":450500},{"title":"\u6e2f\u53e3\u533a","code":"450602","parent_code":450600},{"title":"\u9632\u57ce\u533a","code":"450603","parent_code":450600},{"title":"\u4e0a\u601d\u53bf","code":"450621","parent_code":450600},{"title":"\u4e1c\u5174\u5e02","code":"450681","parent_code":450600},{"title":"\u94a6\u5357\u533a","code":"450702","parent_code":450700},{"title":"\u94a6\u5317\u533a","code":"450703","parent_code":450700},{"title":"\u7075\u5c71\u53bf","code":"450721","parent_code":450700},{"title":"\u6d66\u5317\u53bf","code":"450722","parent_code":450700},{"title":"\u6e2f\u5317\u533a","code":"450802","parent_code":450800},{"title":"\u6e2f\u5357\u533a","code":"450803","parent_code":450800},{"title":"\u8983\u5858\u533a","code":"450804","parent_code":450800},{"title":"\u5e73\u5357\u53bf","code":"450821","parent_code":450800},{"title":"\u6842\u5e73\u5e02","code":"450881","parent_code":450800},{"title":"\u7389\u5dde\u533a","code":"450902","parent_code":450900},{"title":"\u798f\u7ef5\u533a","code":"450903","parent_code":450900},{"title":"\u5bb9\u53bf","code":"450921","parent_code":450900},{"title":"\u9646\u5ddd\u53bf","code":"450922","parent_code":450900},{"title":"\u535a\u767d\u53bf","code":"450923","parent_code":450900},{"title":"\u5174\u4e1a\u53bf","code":"450924","parent_code":450900},{"title":"\u5317\u6d41\u5e02","code":"450981","parent_code":450900},{"title":"\u53f3\u6c5f\u533a","code":"451002","parent_code":451000},{"title":"\u7530\u9633\u533a","code":"451003","parent_code":451000},{"title":"\u7530\u4e1c\u53bf","code":"451022","parent_code":451000},{"title":"\u5fb7\u4fdd\u53bf","code":"451024","parent_code":451000},{"title":"\u90a3\u5761\u53bf","code":"451026","parent_code":451000},{"title":"\u51cc\u4e91\u53bf","code":"451027","parent_code":451000},{"title":"\u4e50\u4e1a\u53bf","code":"451028","parent_code":451000},{"title":"\u7530\u6797\u53bf","code":"451029","parent_code":451000},{"title":"\u897f\u6797\u53bf","code":"451030","parent_code":451000},{"title":"\u9686\u6797\u5404\u65cf\u81ea\u6cbb\u53bf","code":"451031","parent_code":451000},{"title":"\u9756\u897f\u5e02","code":"451081","parent_code":451000},{"title":"\u5e73\u679c\u5e02","code":"451082","parent_code":451000},{"title":"\u516b\u6b65\u533a","code":"451102","parent_code":451100},{"title":"\u5e73\u6842\u533a","code":"451103","parent_code":451100},{"title":"\u662d\u5e73\u53bf","code":"451121","parent_code":451100},{"title":"\u949f\u5c71\u53bf","code":"451122","parent_code":451100},{"title":"\u5bcc\u5ddd\u7476\u65cf\u81ea\u6cbb\u53bf","code":"451123","parent_code":451100},{"title":"\u91d1\u57ce\u6c5f\u533a","code":"451202","parent_code":451200},{"title":"\u5b9c\u5dde\u533a","code":"451203","parent_code":451200},{"title":"\u5357\u4e39\u53bf","code":"451221","parent_code":451200},{"title":"\u5929\u5ce8\u53bf","code":"451222","parent_code":451200},{"title":"\u51e4\u5c71\u53bf","code":"451223","parent_code":451200},{"title":"\u4e1c\u5170\u53bf","code":"451224","parent_code":451200},{"title":"\u7f57\u57ce\u4eeb\u4f6c\u65cf\u81ea\u6cbb\u53bf","code":"451225","parent_code":451200},{"title":"\u73af\u6c5f\u6bdb\u5357\u65cf\u81ea\u6cbb\u53bf","code":"451226","parent_code":451200},{"title":"\u5df4\u9a6c\u7476\u65cf\u81ea\u6cbb\u53bf","code":"451227","parent_code":451200},{"title":"\u90fd\u5b89\u7476\u65cf\u81ea\u6cbb\u53bf","code":"451228","parent_code":451200},{"title":"\u5927\u5316\u7476\u65cf\u81ea\u6cbb\u53bf","code":"451229","parent_code":451200},{"title":"\u5174\u5bbe\u533a","code":"451302","parent_code":451300},{"title":"\u5ffb\u57ce\u53bf","code":"451321","parent_code":451300},{"title":"\u8c61\u5dde\u53bf","code":"451322","parent_code":451300},{"title":"\u6b66\u5ba3\u53bf","code":"451323","parent_code":451300},{"title":"\u91d1\u79c0\u7476\u65cf\u81ea\u6cbb\u53bf","code":"451324","parent_code":451300},{"title":"\u5408\u5c71\u5e02","code":"451381","parent_code":451300},{"title":"\u6c5f\u5dde\u533a","code":"451402","parent_code":451400},{"title":"\u6276\u7ee5\u53bf","code":"451421","parent_code":451400},{"title":"\u5b81\u660e\u53bf","code":"451422","parent_code":451400},{"title":"\u9f99\u5dde\u53bf","code":"451423","parent_code":451400},{"title":"\u5927\u65b0\u53bf","code":"451424","parent_code":451400},{"title":"\u5929\u7b49\u53bf","code":"451425","parent_code":451400},{"title":"\u51ed\u7965\u5e02","code":"451481","parent_code":451400},{"title":"\u79c0\u82f1\u533a","code":"460105","parent_code":460100},{"title":"\u9f99\u534e\u533a","code":"460106","parent_code":460100},{"title":"\u743c\u5c71\u533a","code":"460107","parent_code":460100},{"title":"\u7f8e\u5170\u533a","code":"460108","parent_code":460100},{"title":"\u6d77\u68e0\u533a","code":"460202","parent_code":460200},{"title":"\u5409\u9633\u533a","code":"460203","parent_code":460200},{"title":"\u5929\u6daf\u533a","code":"460204","parent_code":460200},{"title":"\u5d16\u5dde\u533a","code":"460205","parent_code":460200},{"title":"\u897f\u6c99\u533a","code":"460321","parent_code":460300},{"title":"\u5357\u6c99\u533a","code":"460322","parent_code":460300},{"title":"\u90a3\u5927\u9547","code":"460401","parent_code":460400},{"title":"\u548c\u5e86\u9547","code":"460402","parent_code":460400},{"title":"\u5357\u4e30\u9547","code":"460403","parent_code":460400},{"title":"\u5927\u6210\u9547","code":"460404","parent_code":460400},{"title":"\u96c5\u661f\u9547","code":"460405","parent_code":460400},{"title":"\u5170\u6d0b\u9547","code":"460406","parent_code":460400},{"title":"\u5149\u6751\u9547","code":"460407","parent_code":460400},{"title":"\u6728\u68e0\u9547","code":"460408","parent_code":460400},{"title":"\u6d77\u5934\u9547","code":"460409","parent_code":460400},{"title":"\u5ce8\u8513\u9547","code":"460410","parent_code":460400},{"title":"\u738b\u4e94\u9547","code":"460411","parent_code":460400},{"title":"\u767d\u9a6c\u4e95\u9547","code":"460412","parent_code":460400},{"title":"\u4e2d\u548c\u9547","code":"460413","parent_code":460400},{"title":"\u6392\u6d66\u9547","code":"460414","parent_code":460400},{"title":"\u4e1c\u6210\u9547","code":"460415","parent_code":460400},{"title":"\u65b0\u5dde\u9547","code":"460416","parent_code":460400},{"title":"\u6d0b\u6d66\u7ecf\u6d4e\u5f00\u53d1\u533a","code":"460417","parent_code":460400},{"title":"\u534e\u5357\u70ed\u4f5c\u5b66\u9662","code":"460418","parent_code":460400},{"title":"\u4e94\u6307\u5c71\u5e02","code":"469001","parent_code":469000},{"title":"\u743c\u6d77\u5e02","code":"469002","parent_code":469000},{"title":"\u6587\u660c\u5e02","code":"469005","parent_code":469000},{"title":"\u4e07\u5b81\u5e02","code":"469006","parent_code":469000},{"title":"\u4e1c\u65b9\u5e02","code":"469007","parent_code":469000},{"title":"\u5b9a\u5b89\u53bf","code":"469021","parent_code":469000},{"title":"\u5c6f\u660c\u53bf","code":"469022","parent_code":469000},{"title":"\u6f84\u8fc8\u53bf","code":"469023","parent_code":469000},{"title":"\u4e34\u9ad8\u53bf","code":"469024","parent_code":469000},{"title":"\u767d\u6c99\u9ece\u65cf\u81ea\u6cbb\u53bf","code":"469025","parent_code":469000},{"title":"\u660c\u6c5f\u9ece\u65cf\u81ea\u6cbb\u53bf","code":"469026","parent_code":469000},{"title":"\u4e50\u4e1c\u9ece\u65cf\u81ea\u6cbb\u53bf","code":"469027","parent_code":469000},{"title":"\u9675\u6c34\u9ece\u65cf\u81ea\u6cbb\u53bf","code":"469028","parent_code":469000},{"title":"\u4fdd\u4ead\u9ece\u65cf\u82d7\u65cf\u81ea\u6cbb\u53bf","code":"469029","parent_code":469000},{"title":"\u743c\u4e2d\u9ece\u65cf\u82d7\u65cf\u81ea\u6cbb\u53bf","code":"469030","parent_code":469000},{"title":"\u4e07\u5dde\u533a","code":"500101","parent_code":500100},{"title":"\u6daa\u9675\u533a","code":"500102","parent_code":500100},{"title":"\u6e1d\u4e2d\u533a","code":"500103","parent_code":500100},{"title":"\u5927\u6e21\u53e3\u533a","code":"500104","parent_code":500100},{"title":"\u6c5f\u5317\u533a","code":"500105","parent_code":500100},{"title":"\u6c99\u576a\u575d\u533a","code":"500106","parent_code":500100},{"title":"\u4e5d\u9f99\u5761\u533a","code":"500107","parent_code":500100},{"title":"\u5357\u5cb8\u533a","code":"500108","parent_code":500100},{"title":"\u5317\u789a\u533a","code":"500109","parent_code":500100},{"title":"\u7da6\u6c5f\u533a","code":"500110","parent_code":500100},{"title":"\u5927\u8db3\u533a","code":"500111","parent_code":500100},{"title":"\u6e1d\u5317\u533a","code":"500112","parent_code":500100},{"title":"\u5df4\u5357\u533a","code":"500113","parent_code":500100},{"title":"\u9ed4\u6c5f\u533a","code":"500114","parent_code":500100},{"title":"\u957f\u5bff\u533a","code":"500115","parent_code":500100},{"title":"\u6c5f\u6d25\u533a","code":"500116","parent_code":500100},{"title":"\u5408\u5ddd\u533a","code":"500117","parent_code":500100},{"title":"\u6c38\u5ddd\u533a","code":"500118","parent_code":500100},{"title":"\u5357\u5ddd\u533a","code":"500119","parent_code":500100},{"title":"\u74a7\u5c71\u533a","code":"500120","parent_code":500100},{"title":"\u94dc\u6881\u533a","code":"500151","parent_code":500100},{"title":"\u6f7c\u5357\u533a","code":"500152","parent_code":500100},{"title":"\u8363\u660c\u533a","code":"500153","parent_code":500100},{"title":"\u5f00\u5dde\u533a","code":"500154","parent_code":500100},{"title":"\u6881\u5e73\u533a","code":"500155","parent_code":500100},{"title":"\u6b66\u9686\u533a","code":"500156","parent_code":500100},{"title":"\u57ce\u53e3\u53bf","code":"500229","parent_code":500200},{"title":"\u4e30\u90fd\u53bf","code":"500230","parent_code":500200},{"title":"\u57ab\u6c5f\u53bf","code":"500231","parent_code":500200},{"title":"\u5fe0\u53bf","code":"500233","parent_code":500200},{"title":"\u4e91\u9633\u53bf","code":"500235","parent_code":500200},{"title":"\u5949\u8282\u53bf","code":"500236","parent_code":500200},{"title":"\u5deb\u5c71\u53bf","code":"500237","parent_code":500200},{"title":"\u5deb\u6eaa\u53bf","code":"500238","parent_code":500200},{"title":"\u77f3\u67f1\u571f\u5bb6\u65cf\u81ea\u6cbb\u53bf","code":"500240","parent_code":500200},{"title":"\u79c0\u5c71\u571f\u5bb6\u65cf\u82d7\u65cf\u81ea\u6cbb\u53bf","code":"500241","parent_code":500200},{"title":"\u9149\u9633\u571f\u5bb6\u65cf\u82d7\u65cf\u81ea\u6cbb\u53bf","code":"500242","parent_code":500200},{"title":"\u5f6d\u6c34\u82d7\u65cf\u571f\u5bb6\u65cf\u81ea\u6cbb\u53bf","code":"500243","parent_code":500200},{"title":"\u9526\u6c5f\u533a","code":"510104","parent_code":510100},{"title":"\u9752\u7f8a\u533a","code":"510105","parent_code":510100},{"title":"\u91d1\u725b\u533a","code":"510106","parent_code":510100},{"title":"\u6b66\u4faf\u533a","code":"510107","parent_code":510100},{"title":"\u6210\u534e\u533a","code":"510108","parent_code":510100},{"title":"\u9f99\u6cc9\u9a7f\u533a","code":"510112","parent_code":510100},{"title":"\u9752\u767d\u6c5f\u533a","code":"510113","parent_code":510100},{"title":"\u65b0\u90fd\u533a","code":"510114","parent_code":510100},{"title":"\u6e29\u6c5f\u533a","code":"510115","parent_code":510100},{"title":"\u53cc\u6d41\u533a","code":"510116","parent_code":510100},{"title":"\u90eb\u90fd\u533a","code":"510117","parent_code":510100},{"title":"\u91d1\u5802\u53bf","code":"510121","parent_code":510100},{"title":"\u5927\u9091\u53bf","code":"510129","parent_code":510100},{"title":"\u84b2\u6c5f\u53bf","code":"510131","parent_code":510100},{"title":"\u65b0\u6d25\u53bf","code":"510132","parent_code":510100},{"title":"\u90fd\u6c5f\u5830\u5e02","code":"510181","parent_code":510100},{"title":"\u5f6d\u5dde\u5e02","code":"510182","parent_code":510100},{"title":"\u909b\u5d03\u5e02","code":"510183","parent_code":510100},{"title":"\u5d07\u5dde\u5e02","code":"510184","parent_code":510100},{"title":"\u7b80\u9633\u5e02","code":"510185","parent_code":510100},{"title":"\u9ad8\u65b0\u533a","code":"510191","parent_code":510100},{"title":"\u81ea\u6d41\u4e95\u533a","code":"510302","parent_code":510300},{"title":"\u8d21\u4e95\u533a","code":"510303","parent_code":510300},{"title":"\u5927\u5b89\u533a","code":"510304","parent_code":510300},{"title":"\u6cbf\u6ee9\u533a","code":"510311","parent_code":510300},{"title":"\u8363\u53bf","code":"510321","parent_code":510300},{"title":"\u5bcc\u987a\u53bf","code":"510322","parent_code":510300},{"title":"\u4e1c\u533a","code":"510402","parent_code":510400},{"title":"\u897f\u533a","code":"510403","parent_code":510400},{"title":"\u4ec1\u548c\u533a","code":"510411","parent_code":510400},{"title":"\u7c73\u6613\u53bf","code":"510421","parent_code":510400},{"title":"\u76d0\u8fb9\u53bf","code":"510422","parent_code":510400},{"title":"\u6c5f\u9633\u533a","code":"510502","parent_code":510500},{"title":"\u7eb3\u6eaa\u533a","code":"510503","parent_code":510500},{"title":"\u9f99\u9a6c\u6f6d\u533a","code":"510504","parent_code":510500},{"title":"\u6cf8\u53bf","code":"510521","parent_code":510500},{"title":"\u5408\u6c5f\u53bf","code":"510522","parent_code":510500},{"title":"\u53d9\u6c38\u53bf","code":"510524","parent_code":510500},{"title":"\u53e4\u853a\u53bf","code":"510525","parent_code":510500},{"title":"\u65cc\u9633\u533a","code":"510603","parent_code":510600},{"title":"\u7f57\u6c5f\u533a","code":"510604","parent_code":510600},{"title":"\u4e2d\u6c5f\u53bf","code":"510623","parent_code":510600},{"title":"\u5e7f\u6c49\u5e02","code":"510681","parent_code":510600},{"title":"\u4ec0\u90a1\u5e02","code":"510682","parent_code":510600},{"title":"\u7ef5\u7af9\u5e02","code":"510683","parent_code":510600},{"title":"\u6daa\u57ce\u533a","code":"510703","parent_code":510700},{"title":"\u6e38\u4ed9\u533a","code":"510704","parent_code":510700},{"title":"\u5b89\u5dde\u533a","code":"510705","parent_code":510700},{"title":"\u4e09\u53f0\u53bf","code":"510722","parent_code":510700},{"title":"\u76d0\u4ead\u53bf","code":"510723","parent_code":510700},{"title":"\u6893\u6f7c\u53bf","code":"510725","parent_code":510700},{"title":"\u5317\u5ddd\u7f8c\u65cf\u81ea\u6cbb\u53bf","code":"510726","parent_code":510700},{"title":"\u5e73\u6b66\u53bf","code":"510727","parent_code":510700},{"title":"\u6c5f\u6cb9\u5e02","code":"510781","parent_code":510700},{"title":"\u9ad8\u65b0\u533a","code":"510791","parent_code":510700},{"title":"\u5229\u5dde\u533a","code":"510802","parent_code":510800},{"title":"\u662d\u5316\u533a","code":"510811","parent_code":510800},{"title":"\u671d\u5929\u533a","code":"510812","parent_code":510800},{"title":"\u65fa\u82cd\u53bf","code":"510821","parent_code":510800},{"title":"\u9752\u5ddd\u53bf","code":"510822","parent_code":510800},{"title":"\u5251\u9601\u53bf","code":"510823","parent_code":510800},{"title":"\u82cd\u6eaa\u53bf","code":"510824","parent_code":510800},{"title":"\u8239\u5c71\u533a","code":"510903","parent_code":510900},{"title":"\u5b89\u5c45\u533a","code":"510904","parent_code":510900},{"title":"\u84ec\u6eaa\u53bf","code":"510921","parent_code":510900},{"title":"\u5927\u82f1\u53bf","code":"510923","parent_code":510900},{"title":"\u5c04\u6d2a\u5e02","code":"510981","parent_code":510900},{"title":"\u5e02\u4e2d\u533a","code":"511002","parent_code":511000},{"title":"\u4e1c\u5174\u533a","code":"511011","parent_code":511000},{"title":"\u5a01\u8fdc\u53bf","code":"511024","parent_code":511000},{"title":"\u8d44\u4e2d\u53bf","code":"511025","parent_code":511000},{"title":"\u9686\u660c\u5e02","code":"511083","parent_code":511000},{"title":"\u5e02\u4e2d\u533a","code":"511102","parent_code":511100},{"title":"\u6c99\u6e7e\u533a","code":"511111","parent_code":511100},{"title":"\u4e94\u901a\u6865\u533a","code":"511112","parent_code":511100},{"title":"\u91d1\u53e3\u6cb3\u533a","code":"511113","parent_code":511100},{"title":"\u728d\u4e3a\u53bf","code":"511123","parent_code":511100},{"title":"\u4e95\u7814\u53bf","code":"511124","parent_code":511100},{"title":"\u5939\u6c5f\u53bf","code":"511126","parent_code":511100},{"title":"\u6c90\u5ddd\u53bf","code":"511129","parent_code":511100},{"title":"\u5ce8\u8fb9\u5f5d\u65cf\u81ea\u6cbb\u53bf","code":"511132","parent_code":511100},{"title":"\u9a6c\u8fb9\u5f5d\u65cf\u81ea\u6cbb\u53bf","code":"511133","parent_code":511100},{"title":"\u5ce8\u7709\u5c71\u5e02","code":"511181","parent_code":511100},{"title":"\u987a\u5e86\u533a","code":"511302","parent_code":511300},{"title":"\u9ad8\u576a\u533a","code":"511303","parent_code":511300},{"title":"\u5609\u9675\u533a","code":"511304","parent_code":511300},{"title":"\u5357\u90e8\u53bf","code":"511321","parent_code":511300},{"title":"\u8425\u5c71\u53bf","code":"511322","parent_code":511300},{"title":"\u84ec\u5b89\u53bf","code":"511323","parent_code":511300},{"title":"\u4eea\u9647\u53bf","code":"511324","parent_code":511300},{"title":"\u897f\u5145\u53bf","code":"511325","parent_code":511300},{"title":"\u9606\u4e2d\u5e02","code":"511381","parent_code":511300},{"title":"\u4e1c\u5761\u533a","code":"511402","parent_code":511400},{"title":"\u5f6d\u5c71\u533a","code":"511403","parent_code":511400},{"title":"\u4ec1\u5bff\u53bf","code":"511421","parent_code":511400},{"title":"\u6d2a\u96c5\u53bf","code":"511423","parent_code":511400},{"title":"\u4e39\u68f1\u53bf","code":"511424","parent_code":511400},{"title":"\u9752\u795e\u53bf","code":"511425","parent_code":511400},{"title":"\u7fe0\u5c4f\u533a","code":"511502","parent_code":511500},{"title":"\u5357\u6eaa\u533a","code":"511503","parent_code":511500},{"title":"\u53d9\u5dde\u533a","code":"511504","parent_code":511500},{"title":"\u6c5f\u5b89\u53bf","code":"511523","parent_code":511500},{"title":"\u957f\u5b81\u53bf","code":"511524","parent_code":511500},{"title":"\u9ad8\u53bf","code":"511525","parent_code":511500},{"title":"\u73d9\u53bf","code":"511526","parent_code":511500},{"title":"\u7b60\u8fde\u53bf","code":"511527","parent_code":511500},{"title":"\u5174\u6587\u53bf","code":"511528","parent_code":511500},{"title":"\u5c4f\u5c71\u53bf","code":"511529","parent_code":511500},{"title":"\u5e7f\u5b89\u533a","code":"511602","parent_code":511600},{"title":"\u524d\u950b\u533a","code":"511603","parent_code":511600},{"title":"\u5cb3\u6c60\u53bf","code":"511621","parent_code":511600},{"title":"\u6b66\u80dc\u53bf","code":"511622","parent_code":511600},{"title":"\u90bb\u6c34\u53bf","code":"511623","parent_code":511600},{"title":"\u534e\u84e5\u5e02","code":"511681","parent_code":511600},{"title":"\u901a\u5ddd\u533a","code":"511702","parent_code":511700},{"title":"\u8fbe\u5ddd\u533a","code":"511703","parent_code":511700},{"title":"\u5ba3\u6c49\u53bf","code":"511722","parent_code":511700},{"title":"\u5f00\u6c5f\u53bf","code":"511723","parent_code":511700},{"title":"\u5927\u7af9\u53bf","code":"511724","parent_code":511700},{"title":"\u6e20\u53bf","code":"511725","parent_code":511700},{"title":"\u4e07\u6e90\u5e02","code":"511781","parent_code":511700},{"title":"\u96e8\u57ce\u533a","code":"511802","parent_code":511800},{"title":"\u540d\u5c71\u533a","code":"511803","parent_code":511800},{"title":"\u8365\u7ecf\u53bf","code":"511822","parent_code":511800},{"title":"\u6c49\u6e90\u53bf","code":"511823","parent_code":511800},{"title":"\u77f3\u68c9\u53bf","code":"511824","parent_code":511800},{"title":"\u5929\u5168\u53bf","code":"511825","parent_code":511800},{"title":"\u82a6\u5c71\u53bf","code":"511826","parent_code":511800},{"title":"\u5b9d\u5174\u53bf","code":"511827","parent_code":511800},{"title":"\u5df4\u5dde\u533a","code":"511902","parent_code":511900},{"title":"\u6069\u9633\u533a","code":"511903","parent_code":511900},{"title":"\u901a\u6c5f\u53bf","code":"511921","parent_code":511900},{"title":"\u5357\u6c5f\u53bf","code":"511922","parent_code":511900},{"title":"\u5e73\u660c\u53bf","code":"511923","parent_code":511900},{"title":"\u5df4\u4e2d\u7ecf\u6d4e\u5f00\u53d1\u533a","code":"511971","parent_code":511900},{"title":"\u96c1\u6c5f\u533a","code":"512002","parent_code":512000},{"title":"\u5b89\u5cb3\u53bf","code":"512021","parent_code":512000},{"title":"\u4e50\u81f3\u53bf","code":"512022","parent_code":512000},{"title":"\u9a6c\u5c14\u5eb7\u5e02","code":"513201","parent_code":513200},{"title":"\u6c76\u5ddd\u53bf","code":"513221","parent_code":513200},{"title":"\u7406\u53bf","code":"513222","parent_code":513200},{"title":"\u8302\u53bf","code":"513223","parent_code":513200},{"title":"\u677e\u6f58\u53bf","code":"513224","parent_code":513200},{"title":"\u4e5d\u5be8\u6c9f\u53bf","code":"513225","parent_code":513200},{"title":"\u91d1\u5ddd\u53bf","code":"513226","parent_code":513200},{"title":"\u5c0f\u91d1\u53bf","code":"513227","parent_code":513200},{"title":"\u9ed1\u6c34\u53bf","code":"513228","parent_code":513200},{"title":"\u58e4\u5858\u53bf","code":"513230","parent_code":513200},{"title":"\u963f\u575d\u53bf","code":"513231","parent_code":513200},{"title":"\u82e5\u5c14\u76d6\u53bf","code":"513232","parent_code":513200},{"title":"\u7ea2\u539f\u53bf","code":"513233","parent_code":513200},{"title":"\u5eb7\u5b9a\u5e02","code":"513301","parent_code":513300},{"title":"\u6cf8\u5b9a\u53bf","code":"513322","parent_code":513300},{"title":"\u4e39\u5df4\u53bf","code":"513323","parent_code":513300},{"title":"\u4e5d\u9f99\u53bf","code":"513324","parent_code":513300},{"title":"\u96c5\u6c5f\u53bf","code":"513325","parent_code":513300},{"title":"\u9053\u5b5a\u53bf","code":"513326","parent_code":513300},{"title":"\u7089\u970d\u53bf","code":"513327","parent_code":513300},{"title":"\u7518\u5b5c\u53bf","code":"513328","parent_code":513300},{"title":"\u65b0\u9f99\u53bf","code":"513329","parent_code":513300},{"title":"\u5fb7\u683c\u53bf","code":"513330","parent_code":513300},{"title":"\u767d\u7389\u53bf","code":"513331","parent_code":513300},{"title":"\u77f3\u6e20\u53bf","code":"513332","parent_code":513300},{"title":"\u8272\u8fbe\u53bf","code":"513333","parent_code":513300},{"title":"\u7406\u5858\u53bf","code":"513334","parent_code":513300},{"title":"\u5df4\u5858\u53bf","code":"513335","parent_code":513300},{"title":"\u4e61\u57ce\u53bf","code":"513336","parent_code":513300},{"title":"\u7a3b\u57ce\u53bf","code":"513337","parent_code":513300},{"title":"\u5f97\u8363\u53bf","code":"513338","parent_code":513300},{"title":"\u897f\u660c\u5e02","code":"513401","parent_code":513400},{"title":"\u6728\u91cc\u85cf\u65cf\u81ea\u6cbb\u53bf","code":"513422","parent_code":513400},{"title":"\u76d0\u6e90\u53bf","code":"513423","parent_code":513400},{"title":"\u5fb7\u660c\u53bf","code":"513424","parent_code":513400},{"title":"\u4f1a\u7406\u53bf","code":"513425","parent_code":513400},{"title":"\u4f1a\u4e1c\u53bf","code":"513426","parent_code":513400},{"title":"\u5b81\u5357\u53bf","code":"513427","parent_code":513400},{"title":"\u666e\u683c\u53bf","code":"513428","parent_code":513400},{"title":"\u5e03\u62d6\u53bf","code":"513429","parent_code":513400},{"title":"\u91d1\u9633\u53bf","code":"513430","parent_code":513400},{"title":"\u662d\u89c9\u53bf","code":"513431","parent_code":513400},{"title":"\u559c\u5fb7\u53bf","code":"513432","parent_code":513400},{"title":"\u5195\u5b81\u53bf","code":"513433","parent_code":513400},{"title":"\u8d8a\u897f\u53bf","code":"513434","parent_code":513400},{"title":"\u7518\u6d1b\u53bf","code":"513435","parent_code":513400},{"title":"\u7f8e\u59d1\u53bf","code":"513436","parent_code":513400},{"title":"\u96f7\u6ce2\u53bf","code":"513437","parent_code":513400},{"title":"\u5357\u660e\u533a","code":"520102","parent_code":520100},{"title":"\u4e91\u5ca9\u533a","code":"520103","parent_code":520100},{"title":"\u82b1\u6eaa\u533a","code":"520111","parent_code":520100},{"title":"\u4e4c\u5f53\u533a","code":"520112","parent_code":520100},{"title":"\u767d\u4e91\u533a","code":"520113","parent_code":520100},{"title":"\u89c2\u5c71\u6e56\u533a","code":"520115","parent_code":520100},{"title":"\u5f00\u9633\u53bf","code":"520121","parent_code":520100},{"title":"\u606f\u70fd\u53bf","code":"520122","parent_code":520100},{"title":"\u4fee\u6587\u53bf","code":"520123","parent_code":520100},{"title":"\u6e05\u9547\u5e02","code":"520181","parent_code":520100},{"title":"\u949f\u5c71\u533a","code":"520201","parent_code":520200},{"title":"\u516d\u679d\u7279\u533a","code":"520203","parent_code":520200},{"title":"\u6c34\u57ce\u53bf","code":"520221","parent_code":520200},{"title":"\u76d8\u5dde\u5e02","code":"520281","parent_code":520200},{"title":"\u7ea2\u82b1\u5c97\u533a","code":"520302","parent_code":520300},{"title":"\u6c47\u5ddd\u533a","code":"520303","parent_code":520300},{"title":"\u64ad\u5dde\u533a","code":"520304","parent_code":520300},{"title":"\u6850\u6893\u53bf","code":"520322","parent_code":520300},{"title":"\u7ee5\u9633\u53bf","code":"520323","parent_code":520300},{"title":"\u6b63\u5b89\u53bf","code":"520324","parent_code":520300},{"title":"\u9053\u771f\u4ee1\u4f6c\u65cf\u82d7\u65cf\u81ea\u6cbb\u53bf","code":"520325","parent_code":520300},{"title":"\u52a1\u5ddd\u4ee1\u4f6c\u65cf\u82d7\u65cf\u81ea\u6cbb\u53bf","code":"520326","parent_code":520300},{"title":"\u51e4\u5188\u53bf","code":"520327","parent_code":520300},{"title":"\u6e44\u6f6d\u53bf","code":"520328","parent_code":520300},{"title":"\u4f59\u5e86\u53bf","code":"520329","parent_code":520300},{"title":"\u4e60\u6c34\u53bf","code":"520330","parent_code":520300},{"title":"\u8d64\u6c34\u5e02","code":"520381","parent_code":520300},{"title":"\u4ec1\u6000\u5e02","code":"520382","parent_code":520300},{"title":"\u897f\u79c0\u533a","code":"520402","parent_code":520400},{"title":"\u5e73\u575d\u533a","code":"520403","parent_code":520400},{"title":"\u666e\u5b9a\u53bf","code":"520422","parent_code":520400},{"title":"\u9547\u5b81\u5e03\u4f9d\u65cf\u82d7\u65cf\u81ea\u6cbb\u53bf","code":"520423","parent_code":520400},{"title":"\u5173\u5cad\u5e03\u4f9d\u65cf\u82d7\u65cf\u81ea\u6cbb\u53bf","code":"520424","parent_code":520400},{"title":"\u7d2b\u4e91\u82d7\u65cf\u5e03\u4f9d\u65cf\u81ea\u6cbb\u53bf","code":"520425","parent_code":520400},{"title":"\u4e03\u661f\u5173\u533a","code":"520502","parent_code":520500},{"title":"\u5927\u65b9\u53bf","code":"520521","parent_code":520500},{"title":"\u9ed4\u897f\u53bf","code":"520522","parent_code":520500},{"title":"\u91d1\u6c99\u53bf","code":"520523","parent_code":520500},{"title":"\u7ec7\u91d1\u53bf","code":"520524","parent_code":520500},{"title":"\u7eb3\u96cd\u53bf","code":"520525","parent_code":520500},{"title":"\u5a01\u5b81\u5f5d\u65cf\u56de\u65cf\u82d7\u65cf\u81ea\u6cbb\u53bf","code":"520526","parent_code":520500},{"title":"\u8d6b\u7ae0\u53bf","code":"520527","parent_code":520500},{"title":"\u78a7\u6c5f\u533a","code":"520602","parent_code":520600},{"title":"\u4e07\u5c71\u533a","code":"520603","parent_code":520600},{"title":"\u6c5f\u53e3\u53bf","code":"520621","parent_code":520600},{"title":"\u7389\u5c4f\u4f97\u65cf\u81ea\u6cbb\u53bf","code":"520622","parent_code":520600},{"title":"\u77f3\u9621\u53bf","code":"520623","parent_code":520600},{"title":"\u601d\u5357\u53bf","code":"520624","parent_code":520600},{"title":"\u5370\u6c5f\u571f\u5bb6\u65cf\u82d7\u65cf\u81ea\u6cbb\u53bf","code":"520625","parent_code":520600},{"title":"\u5fb7\u6c5f\u53bf","code":"520626","parent_code":520600},{"title":"\u6cbf\u6cb3\u571f\u5bb6\u65cf\u81ea\u6cbb\u53bf","code":"520627","parent_code":520600},{"title":"\u677e\u6843\u82d7\u65cf\u81ea\u6cbb\u53bf","code":"520628","parent_code":520600},{"title":"\u5174\u4e49\u5e02","code":"522301","parent_code":522300},{"title":"\u5174\u4ec1\u5e02","code":"522302","parent_code":522300},{"title":"\u666e\u5b89\u53bf","code":"522323","parent_code":522300},{"title":"\u6674\u9686\u53bf","code":"522324","parent_code":522300},{"title":"\u8d1e\u4e30\u53bf","code":"522325","parent_code":522300},{"title":"\u671b\u8c1f\u53bf","code":"522326","parent_code":522300},{"title":"\u518c\u4ea8\u53bf","code":"522327","parent_code":522300},{"title":"\u5b89\u9f99\u53bf","code":"522328","parent_code":522300},{"title":"\u51ef\u91cc\u5e02","code":"522601","parent_code":522600},{"title":"\u9ec4\u5e73\u53bf","code":"522622","parent_code":522600},{"title":"\u65bd\u79c9\u53bf","code":"522623","parent_code":522600},{"title":"\u4e09\u7a57\u53bf","code":"522624","parent_code":522600},{"title":"\u9547\u8fdc\u53bf","code":"522625","parent_code":522600},{"title":"\u5c91\u5de9\u53bf","code":"522626","parent_code":522600},{"title":"\u5929\u67f1\u53bf","code":"522627","parent_code":522600},{"title":"\u9526\u5c4f\u53bf","code":"522628","parent_code":522600},{"title":"\u5251\u6cb3\u53bf","code":"522629","parent_code":522600},{"title":"\u53f0\u6c5f\u53bf","code":"522630","parent_code":522600},{"title":"\u9ece\u5e73\u53bf","code":"522631","parent_code":522600},{"title":"\u6995\u6c5f\u53bf","code":"522632","parent_code":522600},{"title":"\u4ece\u6c5f\u53bf","code":"522633","parent_code":522600},{"title":"\u96f7\u5c71\u53bf","code":"522634","parent_code":522600},{"title":"\u9ebb\u6c5f\u53bf","code":"522635","parent_code":522600},{"title":"\u4e39\u5be8\u53bf","code":"522636","parent_code":522600},{"title":"\u90fd\u5300\u5e02","code":"522701","parent_code":522700},{"title":"\u798f\u6cc9\u5e02","code":"522702","parent_code":522700},{"title":"\u8354\u6ce2\u53bf","code":"522722","parent_code":522700},{"title":"\u8d35\u5b9a\u53bf","code":"522723","parent_code":522700},{"title":"\u74ee\u5b89\u53bf","code":"522725","parent_code":522700},{"title":"\u72ec\u5c71\u53bf","code":"522726","parent_code":522700},{"title":"\u5e73\u5858\u53bf","code":"522727","parent_code":522700},{"title":"\u7f57\u7538\u53bf","code":"522728","parent_code":522700},{"title":"\u957f\u987a\u53bf","code":"522729","parent_code":522700},{"title":"\u9f99\u91cc\u53bf","code":"522730","parent_code":522700},{"title":"\u60e0\u6c34\u53bf","code":"522731","parent_code":522700},{"title":"\u4e09\u90fd\u6c34\u65cf\u81ea\u6cbb\u53bf","code":"522732","parent_code":522700},{"title":"\u4e94\u534e\u533a","code":"530102","parent_code":530100},{"title":"\u76d8\u9f99\u533a","code":"530103","parent_code":530100},{"title":"\u5b98\u6e21\u533a","code":"530111","parent_code":530100},{"title":"\u897f\u5c71\u533a","code":"530112","parent_code":530100},{"title":"\u4e1c\u5ddd\u533a","code":"530113","parent_code":530100},{"title":"\u5448\u8d21\u533a","code":"530114","parent_code":530100},{"title":"\u664b\u5b81\u533a","code":"530115","parent_code":530100},{"title":"\u5bcc\u6c11\u53bf","code":"530124","parent_code":530100},{"title":"\u5b9c\u826f\u53bf","code":"530125","parent_code":530100},{"title":"\u77f3\u6797\u5f5d\u65cf\u81ea\u6cbb\u53bf","code":"530126","parent_code":530100},{"title":"\u5d69\u660e\u53bf","code":"530127","parent_code":530100},{"title":"\u7984\u529d\u5f5d\u65cf\u82d7\u65cf\u81ea\u6cbb\u53bf","code":"530128","parent_code":530100},{"title":"\u5bfb\u7538\u56de\u65cf\u5f5d\u65cf\u81ea\u6cbb\u53bf","code":"530129","parent_code":530100},{"title":"\u5b89\u5b81\u5e02","code":"530181","parent_code":530100},{"title":"\u9e92\u9e9f\u533a","code":"530302","parent_code":530300},{"title":"\u6cbe\u76ca\u533a","code":"530303","parent_code":530300},{"title":"\u9a6c\u9f99\u533a","code":"530304","parent_code":530300},{"title":"\u9646\u826f\u53bf","code":"530322","parent_code":530300},{"title":"\u5e08\u5b97\u53bf","code":"530323","parent_code":530300},{"title":"\u7f57\u5e73\u53bf","code":"530324","parent_code":530300},{"title":"\u5bcc\u6e90\u53bf","code":"530325","parent_code":530300},{"title":"\u4f1a\u6cfd\u53bf","code":"530326","parent_code":530300},{"title":"\u5ba3\u5a01\u5e02","code":"530381","parent_code":530300},{"title":"\u7ea2\u5854\u533a","code":"530402","parent_code":530400},{"title":"\u6c5f\u5ddd\u533a","code":"530403","parent_code":530400},{"title":"\u901a\u6d77\u53bf","code":"530423","parent_code":530400},{"title":"\u534e\u5b81\u53bf","code":"530424","parent_code":530400},{"title":"\u6613\u95e8\u53bf","code":"530425","parent_code":530400},{"title":"\u5ce8\u5c71\u5f5d\u65cf\u81ea\u6cbb\u53bf","code":"530426","parent_code":530400},{"title":"\u65b0\u5e73\u5f5d\u65cf\u50a3\u65cf\u81ea\u6cbb\u53bf","code":"530427","parent_code":530400},{"title":"\u5143\u6c5f\u54c8\u5c3c\u65cf\u5f5d\u65cf\u50a3\u65cf\u81ea\u6cbb\u53bf","code":"530428","parent_code":530400},{"title":"\u6f84\u6c5f\u5e02","code":"530481","parent_code":530400},{"title":"\u9686\u9633\u533a","code":"530502","parent_code":530500},{"title":"\u65bd\u7538\u53bf","code":"530521","parent_code":530500},{"title":"\u9f99\u9675\u53bf","code":"530523","parent_code":530500},{"title":"\u660c\u5b81\u53bf","code":"530524","parent_code":530500},{"title":"\u817e\u51b2\u5e02","code":"530581","parent_code":530500},{"title":"\u662d\u9633\u533a","code":"530602","parent_code":530600},{"title":"\u9c81\u7538\u53bf","code":"530621","parent_code":530600},{"title":"\u5de7\u5bb6\u53bf","code":"530622","parent_code":530600},{"title":"\u76d0\u6d25\u53bf","code":"530623","parent_code":530600},{"title":"\u5927\u5173\u53bf","code":"530624","parent_code":530600},{"title":"\u6c38\u5584\u53bf","code":"530625","parent_code":530600},{"title":"\u7ee5\u6c5f\u53bf","code":"530626","parent_code":530600},{"title":"\u9547\u96c4\u53bf","code":"530627","parent_code":530600},{"title":"\u5f5d\u826f\u53bf","code":"530628","parent_code":530600},{"title":"\u5a01\u4fe1\u53bf","code":"530629","parent_code":530600},{"title":"\u6c34\u5bcc\u5e02","code":"530681","parent_code":530600},{"title":"\u53e4\u57ce\u533a","code":"530702","parent_code":530700},{"title":"\u7389\u9f99\u7eb3\u897f\u65cf\u81ea\u6cbb\u53bf","code":"530721","parent_code":530700},{"title":"\u6c38\u80dc\u53bf","code":"530722","parent_code":530700},{"title":"\u534e\u576a\u53bf","code":"530723","parent_code":530700},{"title":"\u5b81\u8497\u5f5d\u65cf\u81ea\u6cbb\u53bf","code":"530724","parent_code":530700},{"title":"\u601d\u8305\u533a","code":"530802","parent_code":530800},{"title":"\u5b81\u6d31\u54c8\u5c3c\u65cf\u5f5d\u65cf\u81ea\u6cbb\u53bf","code":"530821","parent_code":530800},{"title":"\u58a8\u6c5f\u54c8\u5c3c\u65cf\u81ea\u6cbb\u53bf","code":"530822","parent_code":530800},{"title":"\u666f\u4e1c\u5f5d\u65cf\u81ea\u6cbb\u53bf","code":"530823","parent_code":530800},{"title":"\u666f\u8c37\u50a3\u65cf\u5f5d\u65cf\u81ea\u6cbb\u53bf","code":"530824","parent_code":530800},{"title":"\u9547\u6c85\u5f5d\u65cf\u54c8\u5c3c\u65cf\u62c9\u795c\u65cf\u81ea\u6cbb\u53bf","code":"530825","parent_code":530800},{"title":"\u6c5f\u57ce\u54c8\u5c3c\u65cf\u5f5d\u65cf\u81ea\u6cbb\u53bf","code":"530826","parent_code":530800},{"title":"\u5b5f\u8fde\u50a3\u65cf\u62c9\u795c\u65cf\u4f64\u65cf\u81ea\u6cbb\u53bf","code":"530827","parent_code":530800},{"title":"\u6f9c\u6ca7\u62c9\u795c\u65cf\u81ea\u6cbb\u53bf","code":"530828","parent_code":530800},{"title":"\u897f\u76df\u4f64\u65cf\u81ea\u6cbb\u53bf","code":"530829","parent_code":530800},{"title":"\u4e34\u7fd4\u533a","code":"530902","parent_code":530900},{"title":"\u51e4\u5e86\u53bf","code":"530921","parent_code":530900},{"title":"\u4e91\u53bf","code":"530922","parent_code":530900},{"title":"\u6c38\u5fb7\u53bf","code":"530923","parent_code":530900},{"title":"\u9547\u5eb7\u53bf","code":"530924","parent_code":530900},{"title":"\u53cc\u6c5f\u62c9\u795c\u65cf\u4f64\u65cf\u5e03\u6717\u65cf\u50a3\u65cf\u81ea\u6cbb\u53bf","code":"530925","parent_code":530900},{"title":"\u803f\u9a6c\u50a3\u65cf\u4f64\u65cf\u81ea\u6cbb\u53bf","code":"530926","parent_code":530900},{"title":"\u6ca7\u6e90\u4f64\u65cf\u81ea\u6cbb\u53bf","code":"530927","parent_code":530900},{"title":"\u695a\u96c4\u5e02","code":"532301","parent_code":532300},{"title":"\u53cc\u67cf\u53bf","code":"532322","parent_code":532300},{"title":"\u725f\u5b9a\u53bf","code":"532323","parent_code":532300},{"title":"\u5357\u534e\u53bf","code":"532324","parent_code":532300},{"title":"\u59da\u5b89\u53bf","code":"532325","parent_code":532300},{"title":"\u5927\u59da\u53bf","code":"532326","parent_code":532300},{"title":"\u6c38\u4ec1\u53bf","code":"532327","parent_code":532300},{"title":"\u5143\u8c0b\u53bf","code":"532328","parent_code":532300},{"title":"\u6b66\u5b9a\u53bf","code":"532329","parent_code":532300},{"title":"\u7984\u4e30\u53bf","code":"532331","parent_code":532300},{"title":"\u4e2a\u65e7\u5e02","code":"532501","parent_code":532500},{"title":"\u5f00\u8fdc\u5e02","code":"532502","parent_code":532500},{"title":"\u8499\u81ea\u5e02","code":"532503","parent_code":532500},{"title":"\u5f25\u52d2\u5e02","code":"532504","parent_code":532500},{"title":"\u5c4f\u8fb9\u82d7\u65cf\u81ea\u6cbb\u53bf","code":"532523","parent_code":532500},{"title":"\u5efa\u6c34\u53bf","code":"532524","parent_code":532500},{"title":"\u77f3\u5c4f\u53bf","code":"532525","parent_code":532500},{"title":"\u6cf8\u897f\u53bf","code":"532527","parent_code":532500},{"title":"\u5143\u9633\u53bf","code":"532528","parent_code":532500},{"title":"\u7ea2\u6cb3\u53bf","code":"532529","parent_code":532500},{"title":"\u91d1\u5e73\u82d7\u65cf\u7476\u65cf\u50a3\u65cf\u81ea\u6cbb\u53bf","code":"532530","parent_code":532500},{"title":"\u7eff\u6625\u53bf","code":"532531","parent_code":532500},{"title":"\u6cb3\u53e3\u7476\u65cf\u81ea\u6cbb\u53bf","code":"532532","parent_code":532500},{"title":"\u6587\u5c71\u5e02","code":"532601","parent_code":532600},{"title":"\u781a\u5c71\u53bf","code":"532622","parent_code":532600},{"title":"\u897f\u7574\u53bf","code":"532623","parent_code":532600},{"title":"\u9ebb\u6817\u5761\u53bf","code":"532624","parent_code":532600},{"title":"\u9a6c\u5173\u53bf","code":"532625","parent_code":532600},{"title":"\u4e18\u5317\u53bf","code":"532626","parent_code":532600},{"title":"\u5e7f\u5357\u53bf","code":"532627","parent_code":532600},{"title":"\u5bcc\u5b81\u53bf","code":"532628","parent_code":532600},{"title":"\u666f\u6d2a\u5e02","code":"532801","parent_code":532800},{"title":"\u52d0\u6d77\u53bf","code":"532822","parent_code":532800},{"title":"\u52d0\u814a\u53bf","code":"532823","parent_code":532800},{"title":"\u5927\u7406\u5e02","code":"532901","parent_code":532900},{"title":"\u6f3e\u6fde\u5f5d\u65cf\u81ea\u6cbb\u53bf","code":"532922","parent_code":532900},{"title":"\u7965\u4e91\u53bf","code":"532923","parent_code":532900},{"title":"\u5bbe\u5ddd\u53bf","code":"532924","parent_code":532900},{"title":"\u5f25\u6e21\u53bf","code":"532925","parent_code":532900},{"title":"\u5357\u6da7\u5f5d\u65cf\u81ea\u6cbb\u53bf","code":"532926","parent_code":532900},{"title":"\u5dcd\u5c71\u5f5d\u65cf\u56de\u65cf\u81ea\u6cbb\u53bf","code":"532927","parent_code":532900},{"title":"\u6c38\u5e73\u53bf","code":"532928","parent_code":532900},{"title":"\u4e91\u9f99\u53bf","code":"532929","parent_code":532900},{"title":"\u6d31\u6e90\u53bf","code":"532930","parent_code":532900},{"title":"\u5251\u5ddd\u53bf","code":"532931","parent_code":532900},{"title":"\u9e64\u5e86\u53bf","code":"532932","parent_code":532900},{"title":"\u745e\u4e3d\u5e02","code":"533102","parent_code":533100},{"title":"\u8292\u5e02","code":"533103","parent_code":533100},{"title":"\u6881\u6cb3\u53bf","code":"533122","parent_code":533100},{"title":"\u76c8\u6c5f\u53bf","code":"533123","parent_code":533100},{"title":"\u9647\u5ddd\u53bf","code":"533124","parent_code":533100},{"title":"\u6cf8\u6c34\u5e02","code":"533301","parent_code":533300},{"title":"\u798f\u8d21\u53bf","code":"533323","parent_code":533300},{"title":"\u8d21\u5c71\u72ec\u9f99\u65cf\u6012\u65cf\u81ea\u6cbb\u53bf","code":"533324","parent_code":533300},{"title":"\u5170\u576a\u767d\u65cf\u666e\u7c73\u65cf\u81ea\u6cbb\u53bf","code":"533325","parent_code":533300},{"title":"\u9999\u683c\u91cc\u62c9\u5e02","code":"533401","parent_code":533400},{"title":"\u5fb7\u94a6\u53bf","code":"533422","parent_code":533400},{"title":"\u7ef4\u897f\u5088\u50f3\u65cf\u81ea\u6cbb\u53bf","code":"533423","parent_code":533400},{"title":"\u57ce\u5173\u533a","code":"540102","parent_code":540100},{"title":"\u5806\u9f99\u5fb7\u5e86\u533a","code":"540103","parent_code":540100},{"title":"\u8fbe\u5b5c\u533a","code":"540104","parent_code":540100},{"title":"\u6797\u5468\u53bf","code":"540121","parent_code":540100},{"title":"\u5f53\u96c4\u53bf","code":"540122","parent_code":540100},{"title":"\u5c3c\u6728\u53bf","code":"540123","parent_code":540100},{"title":"\u66f2\u6c34\u53bf","code":"540124","parent_code":540100},{"title":"\u58a8\u7af9\u5de5\u5361\u53bf","code":"540127","parent_code":540100},{"title":"\u6851\u73e0\u5b5c\u533a","code":"540202","parent_code":540200},{"title":"\u5357\u6728\u6797\u53bf","code":"540221","parent_code":540200},{"title":"\u6c5f\u5b5c\u53bf","code":"540222","parent_code":540200},{"title":"\u5b9a\u65e5\u53bf","code":"540223","parent_code":540200},{"title":"\u8428\u8fe6\u53bf","code":"540224","parent_code":540200},{"title":"\u62c9\u5b5c\u53bf","code":"540225","parent_code":540200},{"title":"\u6602\u4ec1\u53bf","code":"540226","parent_code":540200},{"title":"\u8c22\u901a\u95e8\u53bf","code":"540227","parent_code":540200},{"title":"\u767d\u6717\u53bf","code":"540228","parent_code":540200},{"title":"\u4ec1\u5e03\u53bf","code":"540229","parent_code":540200},{"title":"\u5eb7\u9a6c\u53bf","code":"540230","parent_code":540200},{"title":"\u5b9a\u7ed3\u53bf","code":"540231","parent_code":540200},{"title":"\u4ef2\u5df4\u53bf","code":"540232","parent_code":540200},{"title":"\u4e9a\u4e1c\u53bf","code":"540233","parent_code":540200},{"title":"\u5409\u9686\u53bf","code":"540234","parent_code":540200},{"title":"\u8042\u62c9\u6728\u53bf","code":"540235","parent_code":540200},{"title":"\u8428\u560e\u53bf","code":"540236","parent_code":540200},{"title":"\u5c97\u5df4\u53bf","code":"540237","parent_code":540200},{"title":"\u5361\u82e5\u533a","code":"540302","parent_code":540300},{"title":"\u6c5f\u8fbe\u53bf","code":"540321","parent_code":540300},{"title":"\u8d21\u89c9\u53bf","code":"540322","parent_code":540300},{"title":"\u7c7b\u4e4c\u9f50\u53bf","code":"540323","parent_code":540300},{"title":"\u4e01\u9752\u53bf","code":"540324","parent_code":540300},{"title":"\u5bdf\u96c5\u53bf","code":"540325","parent_code":540300},{"title":"\u516b\u5bbf\u53bf","code":"540326","parent_code":540300},{"title":"\u5de6\u8d21\u53bf","code":"540327","parent_code":540300},{"title":"\u8292\u5eb7\u53bf","code":"540328","parent_code":540300},{"title":"\u6d1b\u9686\u53bf","code":"540329","parent_code":540300},{"title":"\u8fb9\u575d\u53bf","code":"540330","parent_code":540300},{"title":"\u5df4\u5b9c\u533a","code":"540402","parent_code":540400},{"title":"\u5de5\u5e03\u6c5f\u8fbe\u53bf","code":"540421","parent_code":540400},{"title":"\u7c73\u6797\u53bf","code":"540422","parent_code":540400},{"title":"\u58a8\u8131\u53bf","code":"540423","parent_code":540400},{"title":"\u6ce2\u5bc6\u53bf","code":"540424","parent_code":540400},{"title":"\u5bdf\u9685\u53bf","code":"540425","parent_code":540400},{"title":"\u6717\u53bf","code":"540426","parent_code":540400},{"title":"\u4e43\u4e1c\u533a","code":"540502","parent_code":540500},{"title":"\u624e\u56ca\u53bf","code":"540521","parent_code":540500},{"title":"\u8d21\u560e\u53bf","code":"540522","parent_code":540500},{"title":"\u6851\u65e5\u53bf","code":"540523","parent_code":540500},{"title":"\u743c\u7ed3\u53bf","code":"540524","parent_code":540500},{"title":"\u66f2\u677e\u53bf","code":"540525","parent_code":540500},{"title":"\u63aa\u7f8e\u53bf","code":"540526","parent_code":540500},{"title":"\u6d1b\u624e\u53bf","code":"540527","parent_code":540500},{"title":"\u52a0\u67e5\u53bf","code":"540528","parent_code":540500},{"title":"\u9686\u5b50\u53bf","code":"540529","parent_code":540500},{"title":"\u9519\u90a3\u53bf","code":"540530","parent_code":540500},{"title":"\u6d6a\u5361\u5b50\u53bf","code":"540531","parent_code":540500},{"title":"\u8272\u5c3c\u533a","code":"540602","parent_code":540600},{"title":"\u5609\u9ece\u53bf","code":"540621","parent_code":540600},{"title":"\u6bd4\u5982\u53bf","code":"540622","parent_code":540600},{"title":"\u8042\u8363\u53bf","code":"540623","parent_code":540600},{"title":"\u5b89\u591a\u53bf","code":"540624","parent_code":540600},{"title":"\u7533\u624e\u53bf","code":"540625","parent_code":540600},{"title":"\u7d22\u53bf","code":"540626","parent_code":540600},{"title":"\u73ed\u6208\u53bf","code":"540627","parent_code":540600},{"title":"\u5df4\u9752\u53bf","code":"540628","parent_code":540600},{"title":"\u5c3c\u739b\u53bf","code":"540629","parent_code":540600},{"title":"\u53cc\u6e56\u53bf","code":"540630","parent_code":540600},{"title":"\u666e\u5170\u53bf","code":"542521","parent_code":542500},{"title":"\u672d\u8fbe\u53bf","code":"542522","parent_code":542500},{"title":"\u5676\u5c14\u53bf","code":"542523","parent_code":542500},{"title":"\u65e5\u571f\u53bf","code":"542524","parent_code":542500},{"title":"\u9769\u5409\u53bf","code":"542525","parent_code":542500},{"title":"\u6539\u5219\u53bf","code":"542526","parent_code":542500},{"title":"\u63aa\u52e4\u53bf","code":"542527","parent_code":542500},{"title":"\u65b0\u57ce\u533a","code":"610102","parent_code":610100},{"title":"\u7891\u6797\u533a","code":"610103","parent_code":610100},{"title":"\u83b2\u6e56\u533a","code":"610104","parent_code":610100},{"title":"\u705e\u6865\u533a","code":"610111","parent_code":610100},{"title":"\u672a\u592e\u533a","code":"610112","parent_code":610100},{"title":"\u96c1\u5854\u533a","code":"610113","parent_code":610100},{"title":"\u960e\u826f\u533a","code":"610114","parent_code":610100},{"title":"\u4e34\u6f7c\u533a","code":"610115","parent_code":610100},{"title":"\u957f\u5b89\u533a","code":"610116","parent_code":610100},{"title":"\u9ad8\u9675\u533a","code":"610117","parent_code":610100},{"title":"\u9120\u9091\u533a","code":"610118","parent_code":610100},{"title":"\u84dd\u7530\u53bf","code":"610122","parent_code":610100},{"title":"\u5468\u81f3\u53bf","code":"610124","parent_code":610100},{"title":"\u738b\u76ca\u533a","code":"610202","parent_code":610200},{"title":"\u5370\u53f0\u533a","code":"610203","parent_code":610200},{"title":"\u8000\u5dde\u533a","code":"610204","parent_code":610200},{"title":"\u5b9c\u541b\u53bf","code":"610222","parent_code":610200},{"title":"\u6e2d\u6ee8\u533a","code":"610302","parent_code":610300},{"title":"\u91d1\u53f0\u533a","code":"610303","parent_code":610300},{"title":"\u9648\u4ed3\u533a","code":"610304","parent_code":610300},{"title":"\u51e4\u7fd4\u53bf","code":"610322","parent_code":610300},{"title":"\u5c90\u5c71\u53bf","code":"610323","parent_code":610300},{"title":"\u6276\u98ce\u53bf","code":"610324","parent_code":610300},{"title":"\u7709\u53bf","code":"610326","parent_code":610300},{"title":"\u9647\u53bf","code":"610327","parent_code":610300},{"title":"\u5343\u9633\u53bf","code":"610328","parent_code":610300},{"title":"\u9e9f\u6e38\u53bf","code":"610329","parent_code":610300},{"title":"\u51e4\u53bf","code":"610330","parent_code":610300},{"title":"\u592a\u767d\u53bf","code":"610331","parent_code":610300},{"title":"\u79e6\u90fd\u533a","code":"610402","parent_code":610400},{"title":"\u6768\u9675\u533a","code":"610403","parent_code":610400},{"title":"\u6e2d\u57ce\u533a","code":"610404","parent_code":610400},{"title":"\u4e09\u539f\u53bf","code":"610422","parent_code":610400},{"title":"\u6cfe\u9633\u53bf","code":"610423","parent_code":610400},{"title":"\u4e7e\u53bf","code":"610424","parent_code":610400},{"title":"\u793c\u6cc9\u53bf","code":"610425","parent_code":610400},{"title":"\u6c38\u5bff\u53bf","code":"610426","parent_code":610400},{"title":"\u957f\u6b66\u53bf","code":"610428","parent_code":610400},{"title":"\u65ec\u9091\u53bf","code":"610429","parent_code":610400},{"title":"\u6df3\u5316\u53bf","code":"610430","parent_code":610400},{"title":"\u6b66\u529f\u53bf","code":"610431","parent_code":610400},{"title":"\u5174\u5e73\u5e02","code":"610481","parent_code":610400},{"title":"\u5f6c\u5dde\u5e02","code":"610482","parent_code":610400},{"title":"\u4e34\u6e2d\u533a","code":"610502","parent_code":610500},{"title":"\u534e\u5dde\u533a","code":"610503","parent_code":610500},{"title":"\u6f7c\u5173\u53bf","code":"610522","parent_code":610500},{"title":"\u5927\u8354\u53bf","code":"610523","parent_code":610500},{"title":"\u5408\u9633\u53bf","code":"610524","parent_code":610500},{"title":"\u6f84\u57ce\u53bf","code":"610525","parent_code":610500},{"title":"\u84b2\u57ce\u53bf","code":"610526","parent_code":610500},{"title":"\u767d\u6c34\u53bf","code":"610527","parent_code":610500},{"title":"\u5bcc\u5e73\u53bf","code":"610528","parent_code":610500},{"title":"\u97e9\u57ce\u5e02","code":"610581","parent_code":610500},{"title":"\u534e\u9634\u5e02","code":"610582","parent_code":610500},{"title":"\u5b9d\u5854\u533a","code":"610602","parent_code":610600},{"title":"\u5b89\u585e\u533a","code":"610603","parent_code":610600},{"title":"\u5ef6\u957f\u53bf","code":"610621","parent_code":610600},{"title":"\u5ef6\u5ddd\u53bf","code":"610622","parent_code":610600},{"title":"\u5fd7\u4e39\u53bf","code":"610625","parent_code":610600},{"title":"\u5434\u8d77\u53bf","code":"610626","parent_code":610600},{"title":"\u7518\u6cc9\u53bf","code":"610627","parent_code":610600},{"title":"\u5bcc\u53bf","code":"610628","parent_code":610600},{"title":"\u6d1b\u5ddd\u53bf","code":"610629","parent_code":610600},{"title":"\u5b9c\u5ddd\u53bf","code":"610630","parent_code":610600},{"title":"\u9ec4\u9f99\u53bf","code":"610631","parent_code":610600},{"title":"\u9ec4\u9675\u53bf","code":"610632","parent_code":610600},{"title":"\u5b50\u957f\u5e02","code":"610681","parent_code":610600},{"title":"\u6c49\u53f0\u533a","code":"610702","parent_code":610700},{"title":"\u5357\u90d1\u533a","code":"610703","parent_code":610700},{"title":"\u57ce\u56fa\u53bf","code":"610722","parent_code":610700},{"title":"\u6d0b\u53bf","code":"610723","parent_code":610700},{"title":"\u897f\u4e61\u53bf","code":"610724","parent_code":610700},{"title":"\u52c9\u53bf","code":"610725","parent_code":610700},{"title":"\u5b81\u5f3a\u53bf","code":"610726","parent_code":610700},{"title":"\u7565\u9633\u53bf","code":"610727","parent_code":610700},{"title":"\u9547\u5df4\u53bf","code":"610728","parent_code":610700},{"title":"\u7559\u575d\u53bf","code":"610729","parent_code":610700},{"title":"\u4f5b\u576a\u53bf","code":"610730","parent_code":610700},{"title":"\u6986\u9633\u533a","code":"610802","parent_code":610800},{"title":"\u6a2a\u5c71\u533a","code":"610803","parent_code":610800},{"title":"\u5e9c\u8c37\u53bf","code":"610822","parent_code":610800},{"title":"\u9756\u8fb9\u53bf","code":"610824","parent_code":610800},{"title":"\u5b9a\u8fb9\u53bf","code":"610825","parent_code":610800},{"title":"\u7ee5\u5fb7\u53bf","code":"610826","parent_code":610800},{"title":"\u7c73\u8102\u53bf","code":"610827","parent_code":610800},{"title":"\u4f73\u53bf","code":"610828","parent_code":610800},{"title":"\u5434\u5821\u53bf","code":"610829","parent_code":610800},{"title":"\u6e05\u6da7\u53bf","code":"610830","parent_code":610800},{"title":"\u5b50\u6d32\u53bf","code":"610831","parent_code":610800},{"title":"\u795e\u6728\u5e02","code":"610881","parent_code":610800},{"title":"\u6c49\u6ee8\u533a","code":"610902","parent_code":610900},{"title":"\u6c49\u9634\u53bf","code":"610921","parent_code":610900},{"title":"\u77f3\u6cc9\u53bf","code":"610922","parent_code":610900},{"title":"\u5b81\u9655\u53bf","code":"610923","parent_code":610900},{"title":"\u7d2b\u9633\u53bf","code":"610924","parent_code":610900},{"title":"\u5c9a\u768b\u53bf","code":"610925","parent_code":610900},{"title":"\u5e73\u5229\u53bf","code":"610926","parent_code":610900},{"title":"\u9547\u576a\u53bf","code":"610927","parent_code":610900},{"title":"\u65ec\u9633\u53bf","code":"610928","parent_code":610900},{"title":"\u767d\u6cb3\u53bf","code":"610929","parent_code":610900},{"title":"\u5546\u5dde\u533a","code":"611002","parent_code":611000},{"title":"\u6d1b\u5357\u53bf","code":"611021","parent_code":611000},{"title":"\u4e39\u51e4\u53bf","code":"611022","parent_code":611000},{"title":"\u5546\u5357\u53bf","code":"611023","parent_code":611000},{"title":"\u5c71\u9633\u53bf","code":"611024","parent_code":611000},{"title":"\u9547\u5b89\u53bf","code":"611025","parent_code":611000},{"title":"\u67de\u6c34\u53bf","code":"611026","parent_code":611000},{"title":"\u57ce\u5173\u533a","code":"620102","parent_code":620100},{"title":"\u4e03\u91cc\u6cb3\u533a","code":"620103","parent_code":620100},{"title":"\u897f\u56fa\u533a","code":"620104","parent_code":620100},{"title":"\u5b89\u5b81\u533a","code":"620105","parent_code":620100},{"title":"\u7ea2\u53e4\u533a","code":"620111","parent_code":620100},{"title":"\u6c38\u767b\u53bf","code":"620121","parent_code":620100},{"title":"\u768b\u5170\u53bf","code":"620122","parent_code":620100},{"title":"\u6986\u4e2d\u53bf","code":"620123","parent_code":620100},{"title":"\u5170\u5dde\u65b0\u533a","code":"620171","parent_code":620100},{"title":"\u5e02\u8f96\u533a","code":"620201","parent_code":620200},{"title":"\u96c4\u5173\u533a","code":"620290","parent_code":620200},{"title":"\u957f\u57ce\u533a","code":"620291","parent_code":620200},{"title":"\u955c\u94c1\u533a","code":"620292","parent_code":620200},{"title":"\u65b0\u57ce\u9547","code":"620293","parent_code":620200},{"title":"\u5cea\u6cc9\u9547","code":"620294","parent_code":620200},{"title":"\u6587\u6b8a\u9547","code":"620295","parent_code":620200},{"title":"\u91d1\u5ddd\u533a","code":"620302","parent_code":620300},{"title":"\u6c38\u660c\u53bf","code":"620321","parent_code":620300},{"title":"\u767d\u94f6\u533a","code":"620402","parent_code":620400},{"title":"\u5e73\u5ddd\u533a","code":"620403","parent_code":620400},{"title":"\u9756\u8fdc\u53bf","code":"620421","parent_code":620400},{"title":"\u4f1a\u5b81\u53bf","code":"620422","parent_code":620400},{"title":"\u666f\u6cf0\u53bf","code":"620423","parent_code":620400},{"title":"\u79e6\u5dde\u533a","code":"620502","parent_code":620500},{"title":"\u9ea6\u79ef\u533a","code":"620503","parent_code":620500},{"title":"\u6e05\u6c34\u53bf","code":"620521","parent_code":620500},{"title":"\u79e6\u5b89\u53bf","code":"620522","parent_code":620500},{"title":"\u7518\u8c37\u53bf","code":"620523","parent_code":620500},{"title":"\u6b66\u5c71\u53bf","code":"620524","parent_code":620500},{"title":"\u5f20\u5bb6\u5ddd\u56de\u65cf\u81ea\u6cbb\u53bf","code":"620525","parent_code":620500},{"title":"\u51c9\u5dde\u533a","code":"620602","parent_code":620600},{"title":"\u6c11\u52e4\u53bf","code":"620621","parent_code":620600},{"title":"\u53e4\u6d6a\u53bf","code":"620622","parent_code":620600},{"title":"\u5929\u795d\u85cf\u65cf\u81ea\u6cbb\u53bf","code":"620623","parent_code":620600},{"title":"\u7518\u5dde\u533a","code":"620702","parent_code":620700},{"title":"\u8083\u5357\u88d5\u56fa\u65cf\u81ea\u6cbb\u53bf","code":"620721","parent_code":620700},{"title":"\u6c11\u4e50\u53bf","code":"620722","parent_code":620700},{"title":"\u4e34\u6cfd\u53bf","code":"620723","parent_code":620700},{"title":"\u9ad8\u53f0\u53bf","code":"620724","parent_code":620700},{"title":"\u5c71\u4e39\u53bf","code":"620725","parent_code":620700},{"title":"\u5d06\u5cd2\u533a","code":"620802","parent_code":620800},{"title":"\u6cfe\u5ddd\u53bf","code":"620821","parent_code":620800},{"title":"\u7075\u53f0\u53bf","code":"620822","parent_code":620800},{"title":"\u5d07\u4fe1\u53bf","code":"620823","parent_code":620800},{"title":"\u5e84\u6d6a\u53bf","code":"620825","parent_code":620800},{"title":"\u9759\u5b81\u53bf","code":"620826","parent_code":620800},{"title":"\u534e\u4ead\u5e02","code":"620881","parent_code":620800},{"title":"\u8083\u5dde\u533a","code":"620902","parent_code":620900},{"title":"\u91d1\u5854\u53bf","code":"620921","parent_code":620900},{"title":"\u74dc\u5dde\u53bf","code":"620922","parent_code":620900},{"title":"\u8083\u5317\u8499\u53e4\u65cf\u81ea\u6cbb\u53bf","code":"620923","parent_code":620900},{"title":"\u963f\u514b\u585e\u54c8\u8428\u514b\u65cf\u81ea\u6cbb\u53bf","code":"620924","parent_code":620900},{"title":"\u7389\u95e8\u5e02","code":"620981","parent_code":620900},{"title":"\u6566\u714c\u5e02","code":"620982","parent_code":620900},{"title":"\u897f\u5cf0\u533a","code":"621002","parent_code":621000},{"title":"\u5e86\u57ce\u53bf","code":"621021","parent_code":621000},{"title":"\u73af\u53bf","code":"621022","parent_code":621000},{"title":"\u534e\u6c60\u53bf","code":"621023","parent_code":621000},{"title":"\u5408\u6c34\u53bf","code":"621024","parent_code":621000},{"title":"\u6b63\u5b81\u53bf","code":"621025","parent_code":621000},{"title":"\u5b81\u53bf","code":"621026","parent_code":621000},{"title":"\u9547\u539f\u53bf","code":"621027","parent_code":621000},{"title":"\u5b89\u5b9a\u533a","code":"621102","parent_code":621100},{"title":"\u901a\u6e2d\u53bf","code":"621121","parent_code":621100},{"title":"\u9647\u897f\u53bf","code":"621122","parent_code":621100},{"title":"\u6e2d\u6e90\u53bf","code":"621123","parent_code":621100},{"title":"\u4e34\u6d2e\u53bf","code":"621124","parent_code":621100},{"title":"\u6f33\u53bf","code":"621125","parent_code":621100},{"title":"\u5cb7\u53bf","code":"621126","parent_code":621100},{"title":"\u6b66\u90fd\u533a","code":"621202","parent_code":621200},{"title":"\u6210\u53bf","code":"621221","parent_code":621200},{"title":"\u6587\u53bf","code":"621222","parent_code":621200},{"title":"\u5b95\u660c\u53bf","code":"621223","parent_code":621200},{"title":"\u5eb7\u53bf","code":"621224","parent_code":621200},{"title":"\u897f\u548c\u53bf","code":"621225","parent_code":621200},{"title":"\u793c\u53bf","code":"621226","parent_code":621200},{"title":"\u5fbd\u53bf","code":"621227","parent_code":621200},{"title":"\u4e24\u5f53\u53bf","code":"621228","parent_code":621200},{"title":"\u4e34\u590f\u5e02","code":"622901","parent_code":622900},{"title":"\u4e34\u590f\u53bf","code":"622921","parent_code":622900},{"title":"\u5eb7\u4e50\u53bf","code":"622922","parent_code":622900},{"title":"\u6c38\u9756\u53bf","code":"622923","parent_code":622900},{"title":"\u5e7f\u6cb3\u53bf","code":"622924","parent_code":622900},{"title":"\u548c\u653f\u53bf","code":"622925","parent_code":622900},{"title":"\u4e1c\u4e61\u65cf\u81ea\u6cbb\u53bf","code":"622926","parent_code":622900},{"title":"\u79ef\u77f3\u5c71\u4fdd\u5b89\u65cf\u4e1c\u4e61\u65cf\u6492\u62c9\u65cf\u81ea\u6cbb\u53bf","code":"622927","parent_code":622900},{"title":"\u5408\u4f5c\u5e02","code":"623001","parent_code":623000},{"title":"\u4e34\u6f6d\u53bf","code":"623021","parent_code":623000},{"title":"\u5353\u5c3c\u53bf","code":"623022","parent_code":623000},{"title":"\u821f\u66f2\u53bf","code":"623023","parent_code":623000},{"title":"\u8fed\u90e8\u53bf","code":"623024","parent_code":623000},{"title":"\u739b\u66f2\u53bf","code":"623025","parent_code":623000},{"title":"\u788c\u66f2\u53bf","code":"623026","parent_code":623000},{"title":"\u590f\u6cb3\u53bf","code":"623027","parent_code":623000},{"title":"\u57ce\u4e1c\u533a","code":"630102","parent_code":630100},{"title":"\u57ce\u4e2d\u533a","code":"630103","parent_code":630100},{"title":"\u57ce\u897f\u533a","code":"630104","parent_code":630100},{"title":"\u57ce\u5317\u533a","code":"630105","parent_code":630100},{"title":"\u6e5f\u4e2d\u533a","code":"630106","parent_code":630100},{"title":"\u5927\u901a\u56de\u65cf\u571f\u65cf\u81ea\u6cbb\u53bf","code":"630121","parent_code":630100},{"title":"\u6e5f\u6e90\u53bf","code":"630123","parent_code":630100},{"title":"\u4e50\u90fd\u533a","code":"630202","parent_code":630200},{"title":"\u5e73\u5b89\u533a","code":"630203","parent_code":630200},{"title":"\u6c11\u548c\u56de\u65cf\u571f\u65cf\u81ea\u6cbb\u53bf","code":"630222","parent_code":630200},{"title":"\u4e92\u52a9\u571f\u65cf\u81ea\u6cbb\u53bf","code":"630223","parent_code":630200},{"title":"\u5316\u9686\u56de\u65cf\u81ea\u6cbb\u53bf","code":"630224","parent_code":630200},{"title":"\u5faa\u5316\u6492\u62c9\u65cf\u81ea\u6cbb\u53bf","code":"630225","parent_code":630200},{"title":"\u95e8\u6e90\u56de\u65cf\u81ea\u6cbb\u53bf","code":"632221","parent_code":632200},{"title":"\u7941\u8fde\u53bf","code":"632222","parent_code":632200},{"title":"\u6d77\u664f\u53bf","code":"632223","parent_code":632200},{"title":"\u521a\u5bdf\u53bf","code":"632224","parent_code":632200},{"title":"\u540c\u4ec1\u53bf","code":"632321","parent_code":632300},{"title":"\u5c16\u624e\u53bf","code":"632322","parent_code":632300},{"title":"\u6cfd\u5e93\u53bf","code":"632323","parent_code":632300},{"title":"\u6cb3\u5357\u8499\u53e4\u65cf\u81ea\u6cbb\u53bf","code":"632324","parent_code":632300},{"title":"\u5171\u548c\u53bf","code":"632521","parent_code":632500},{"title":"\u540c\u5fb7\u53bf","code":"632522","parent_code":632500},{"title":"\u8d35\u5fb7\u53bf","code":"632523","parent_code":632500},{"title":"\u5174\u6d77\u53bf","code":"632524","parent_code":632500},{"title":"\u8d35\u5357\u53bf","code":"632525","parent_code":632500},{"title":"\u739b\u6c81\u53bf","code":"632621","parent_code":632600},{"title":"\u73ed\u739b\u53bf","code":"632622","parent_code":632600},{"title":"\u7518\u5fb7\u53bf","code":"632623","parent_code":632600},{"title":"\u8fbe\u65e5\u53bf","code":"632624","parent_code":632600},{"title":"\u4e45\u6cbb\u53bf","code":"632625","parent_code":632600},{"title":"\u739b\u591a\u53bf","code":"632626","parent_code":632600},{"title":"\u7389\u6811\u5e02","code":"632701","parent_code":632700},{"title":"\u6742\u591a\u53bf","code":"632722","parent_code":632700},{"title":"\u79f0\u591a\u53bf","code":"632723","parent_code":632700},{"title":"\u6cbb\u591a\u53bf","code":"632724","parent_code":632700},{"title":"\u56ca\u8c26\u53bf","code":"632725","parent_code":632700},{"title":"\u66f2\u9ebb\u83b1\u53bf","code":"632726","parent_code":632700},{"title":"\u683c\u5c14\u6728\u5e02","code":"632801","parent_code":632800},{"title":"\u5fb7\u4ee4\u54c8\u5e02","code":"632802","parent_code":632800},{"title":"\u832b\u5d16\u5e02","code":"632803","parent_code":632800},{"title":"\u4e4c\u5170\u53bf","code":"632821","parent_code":632800},{"title":"\u90fd\u5170\u53bf","code":"632822","parent_code":632800},{"title":"\u5929\u5cfb\u53bf","code":"632823","parent_code":632800},{"title":"\u5927\u67f4\u65e6\u884c\u653f\u59d4\u5458\u4f1a","code":"632857","parent_code":632800},{"title":"\u5174\u5e86\u533a","code":"640104","parent_code":640100},{"title":"\u897f\u590f\u533a","code":"640105","parent_code":640100},{"title":"\u91d1\u51e4\u533a","code":"640106","parent_code":640100},{"title":"\u6c38\u5b81\u53bf","code":"640121","parent_code":640100},{"title":"\u8d3a\u5170\u53bf","code":"640122","parent_code":640100},{"title":"\u7075\u6b66\u5e02","code":"640181","parent_code":640100},{"title":"\u5927\u6b66\u53e3\u533a","code":"640202","parent_code":640200},{"title":"\u60e0\u519c\u533a","code":"640205","parent_code":640200},{"title":"\u5e73\u7f57\u53bf","code":"640221","parent_code":640200},{"title":"\u5229\u901a\u533a","code":"640302","parent_code":640300},{"title":"\u7ea2\u5bfa\u5821\u533a","code":"640303","parent_code":640300},{"title":"\u76d0\u6c60\u53bf","code":"640323","parent_code":640300},{"title":"\u540c\u5fc3\u53bf","code":"640324","parent_code":640300},{"title":"\u9752\u94dc\u5ce1\u5e02","code":"640381","parent_code":640300},{"title":"\u539f\u5dde\u533a","code":"640402","parent_code":640400},{"title":"\u897f\u5409\u53bf","code":"640422","parent_code":640400},{"title":"\u9686\u5fb7\u53bf","code":"640423","parent_code":640400},{"title":"\u6cfe\u6e90\u53bf","code":"640424","parent_code":640400},{"title":"\u5f6d\u9633\u53bf","code":"640425","parent_code":640400},{"title":"\u6c99\u5761\u5934\u533a","code":"640502","parent_code":640500},{"title":"\u4e2d\u5b81\u53bf","code":"640521","parent_code":640500},{"title":"\u6d77\u539f\u53bf","code":"640522","parent_code":640500},{"title":"\u5929\u5c71\u533a","code":"650102","parent_code":650100},{"title":"\u6c99\u4f9d\u5df4\u514b\u533a","code":"650103","parent_code":650100},{"title":"\u65b0\u5e02\u533a","code":"650104","parent_code":650100},{"title":"\u6c34\u78e8\u6c9f\u533a","code":"650105","parent_code":650100},{"title":"\u5934\u5c6f\u6cb3\u533a","code":"650106","parent_code":650100},{"title":"\u8fbe\u5742\u57ce\u533a","code":"650107","parent_code":650100},{"title":"\u7c73\u4e1c\u533a","code":"650109","parent_code":650100},{"title":"\u4e4c\u9c81\u6728\u9f50\u53bf","code":"650121","parent_code":650100},{"title":"\u72ec\u5c71\u5b50\u533a","code":"650202","parent_code":650200},{"title":"\u514b\u62c9\u739b\u4f9d\u533a","code":"650203","parent_code":650200},{"title":"\u767d\u78b1\u6ee9\u533a","code":"650204","parent_code":650200},{"title":"\u4e4c\u5c14\u79be\u533a","code":"650205","parent_code":650200},{"title":"\u9ad8\u660c\u533a","code":"650402","parent_code":650400},{"title":"\u912f\u5584\u53bf","code":"650421","parent_code":650400},{"title":"\u6258\u514b\u900a\u53bf","code":"650422","parent_code":650400},{"title":"\u4f0a\u5dde\u533a","code":"650502","parent_code":650500},{"title":"\u5df4\u91cc\u5764\u54c8\u8428\u514b\u81ea\u6cbb\u53bf","code":"650521","parent_code":650500},{"title":"\u4f0a\u543e\u53bf","code":"650522","parent_code":650500},{"title":"\u660c\u5409\u5e02","code":"652301","parent_code":652300},{"title":"\u961c\u5eb7\u5e02","code":"652302","parent_code":652300},{"title":"\u547c\u56fe\u58c1\u53bf","code":"652323","parent_code":652300},{"title":"\u739b\u7eb3\u65af\u53bf","code":"652324","parent_code":652300},{"title":"\u5947\u53f0\u53bf","code":"652325","parent_code":652300},{"title":"\u5409\u6728\u8428\u5c14\u53bf","code":"652327","parent_code":652300},{"title":"\u6728\u5792\u54c8\u8428\u514b\u81ea\u6cbb\u53bf","code":"652328","parent_code":652300},{"title":"\u535a\u4e50\u5e02","code":"652701","parent_code":652700},{"title":"\u963f\u62c9\u5c71\u53e3\u5e02","code":"652702","parent_code":652700},{"title":"\u7cbe\u6cb3\u53bf","code":"652722","parent_code":652700},{"title":"\u6e29\u6cc9\u53bf","code":"652723","parent_code":652700},{"title":"\u5e93\u5c14\u52d2\u5e02","code":"652801","parent_code":652800},{"title":"\u8f6e\u53f0\u53bf","code":"652822","parent_code":652800},{"title":"\u5c09\u7281\u53bf","code":"652823","parent_code":652800},{"title":"\u82e5\u7f8c\u53bf","code":"652824","parent_code":652800},{"title":"\u4e14\u672b\u53bf","code":"652825","parent_code":652800},{"title":"\u7109\u8006\u56de\u65cf\u81ea\u6cbb\u53bf","code":"652826","parent_code":652800},{"title":"\u548c\u9759\u53bf","code":"652827","parent_code":652800},{"title":"\u548c\u7855\u53bf","code":"652828","parent_code":652800},{"title":"\u535a\u6e56\u53bf","code":"652829","parent_code":652800},{"title":"\u963f\u514b\u82cf\u5e02","code":"652901","parent_code":652900},{"title":"\u5e93\u8f66\u5e02","code":"652902","parent_code":652900},{"title":"\u6e29\u5bbf\u53bf","code":"652922","parent_code":652900},{"title":"\u6c99\u96c5\u53bf","code":"652924","parent_code":652900},{"title":"\u65b0\u548c\u53bf","code":"652925","parent_code":652900},{"title":"\u62dc\u57ce\u53bf","code":"652926","parent_code":652900},{"title":"\u4e4c\u4ec0\u53bf","code":"652927","parent_code":652900},{"title":"\u963f\u74e6\u63d0\u53bf","code":"652928","parent_code":652900},{"title":"\u67ef\u576a\u53bf","code":"652929","parent_code":652900},{"title":"\u963f\u56fe\u4ec0\u5e02","code":"653001","parent_code":653000},{"title":"\u963f\u514b\u9676\u53bf","code":"653022","parent_code":653000},{"title":"\u963f\u5408\u5947\u53bf","code":"653023","parent_code":653000},{"title":"\u4e4c\u6070\u53bf","code":"653024","parent_code":653000},{"title":"\u5580\u4ec0\u5e02","code":"653101","parent_code":653100},{"title":"\u758f\u9644\u53bf","code":"653121","parent_code":653100},{"title":"\u758f\u52d2\u53bf","code":"653122","parent_code":653100},{"title":"\u82f1\u5409\u6c99\u53bf","code":"653123","parent_code":653100},{"title":"\u6cfd\u666e\u53bf","code":"653124","parent_code":653100},{"title":"\u838e\u8f66\u53bf","code":"653125","parent_code":653100},{"title":"\u53f6\u57ce\u53bf","code":"653126","parent_code":653100},{"title":"\u9ea6\u76d6\u63d0\u53bf","code":"653127","parent_code":653100},{"title":"\u5cb3\u666e\u6e56\u53bf","code":"653128","parent_code":653100},{"title":"\u4f3d\u5e08\u53bf","code":"653129","parent_code":653100},{"title":"\u5df4\u695a\u53bf","code":"653130","parent_code":653100},{"title":"\u5854\u4ec0\u5e93\u5c14\u5e72\u5854\u5409\u514b\u81ea\u6cbb\u53bf","code":"653131","parent_code":653100},{"title":"\u548c\u7530\u5e02","code":"653201","parent_code":653200},{"title":"\u548c\u7530\u53bf","code":"653221","parent_code":653200},{"title":"\u58a8\u7389\u53bf","code":"653222","parent_code":653200},{"title":"\u76ae\u5c71\u53bf","code":"653223","parent_code":653200},{"title":"\u6d1b\u6d66\u53bf","code":"653224","parent_code":653200},{"title":"\u7b56\u52d2\u53bf","code":"653225","parent_code":653200},{"title":"\u4e8e\u7530\u53bf","code":"653226","parent_code":653200},{"title":"\u6c11\u4e30\u53bf","code":"653227","parent_code":653200},{"title":"\u4f0a\u5b81\u5e02","code":"654002","parent_code":654000},{"title":"\u594e\u5c6f\u5e02","code":"654003","parent_code":654000},{"title":"\u970d\u5c14\u679c\u65af\u5e02","code":"654004","parent_code":654000},{"title":"\u4f0a\u5b81\u53bf","code":"654021","parent_code":654000},{"title":"\u5bdf\u5e03\u67e5\u5c14\u9521\u4f2f\u81ea\u6cbb\u53bf","code":"654022","parent_code":654000},{"title":"\u970d\u57ce\u53bf","code":"654023","parent_code":654000},{"title":"\u5de9\u7559\u53bf","code":"654024","parent_code":654000},{"title":"\u65b0\u6e90\u53bf","code":"654025","parent_code":654000},{"title":"\u662d\u82cf\u53bf","code":"654026","parent_code":654000},{"title":"\u7279\u514b\u65af\u53bf","code":"654027","parent_code":654000},{"title":"\u5c3c\u52d2\u514b\u53bf","code":"654028","parent_code":654000},{"title":"\u5854\u57ce\u5e02","code":"654201","parent_code":654200},{"title":"\u4e4c\u82cf\u5e02","code":"654202","parent_code":654200},{"title":"\u989d\u654f\u53bf","code":"654221","parent_code":654200},{"title":"\u6c99\u6e7e\u53bf","code":"654223","parent_code":654200},{"title":"\u6258\u91cc\u53bf","code":"654224","parent_code":654200},{"title":"\u88d5\u6c11\u53bf","code":"654225","parent_code":654200},{"title":"\u548c\u5e03\u514b\u8d5b\u5c14\u8499\u53e4\u81ea\u6cbb\u53bf","code":"654226","parent_code":654200},{"title":"\u963f\u52d2\u6cf0\u5e02","code":"654301","parent_code":654300},{"title":"\u5e03\u5c14\u6d25\u53bf","code":"654321","parent_code":654300},{"title":"\u5bcc\u8574\u53bf","code":"654322","parent_code":654300},{"title":"\u798f\u6d77\u53bf","code":"654323","parent_code":654300},{"title":"\u54c8\u5df4\u6cb3\u53bf","code":"654324","parent_code":654300},{"title":"\u9752\u6cb3\u53bf","code":"654325","parent_code":654300},{"title":"\u5409\u6728\u4e43\u53bf","code":"654326","parent_code":654300},{"title":"\u77f3\u6cb3\u5b50\u5e02","code":"659001","parent_code":659000},{"title":"\u963f\u62c9\u5c14\u5e02","code":"659002","parent_code":659000},{"title":"\u56fe\u6728\u8212\u514b\u5e02","code":"659003","parent_code":659000},{"title":"\u4e94\u5bb6\u6e20\u5e02","code":"659004","parent_code":659000},{"title":"\u5317\u5c6f\u5e02","code":"659005","parent_code":659000},{"title":"\u94c1\u95e8\u5173\u5e02","code":"659006","parent_code":659000},{"title":"\u53cc\u6cb3\u5e02","code":"659007","parent_code":659000},{"title":"\u53ef\u514b\u8fbe\u62c9\u5e02","code":"659008","parent_code":659000},{"title":"\u6606\u7389\u5e02","code":"659009","parent_code":659000},{"title":"\u80e1\u6768\u6cb3\u5e02","code":"659010","parent_code":659000},{"title":"\u4e2d\u6b63\u533a","code":"710101","parent_code":710100},{"title":"\u5927\u540c\u533a","code":"710102","parent_code":710100},{"title":"\u4e2d\u5c71\u533a","code":"710103","parent_code":710100},{"title":"\u677e\u5c71\u533a","code":"710104","parent_code":710100},{"title":"\u5927\u5b89\u533a","code":"710105","parent_code":710100},{"title":"\u4e07\u534e\u533a","code":"710106","parent_code":710100},{"title":"\u4fe1\u4e49\u533a","code":"710107","parent_code":710100},{"title":"\u58eb\u6797\u533a","code":"710108","parent_code":710100},{"title":"\u5317\u6295\u533a","code":"710109","parent_code":710100},{"title":"\u5185\u6e56\u533a","code":"710110","parent_code":710100},{"title":"\u5357\u6e2f\u533a","code":"710111","parent_code":710100},{"title":"\u6587\u5c71\u533a","code":"710112","parent_code":710100},{"title":"\u5176\u5b83\u533a","code":"710199","parent_code":710100},{"title":"\u65b0\u5174\u533a","code":"710201","parent_code":710200},{"title":"\u524d\u91d1\u533a","code":"710202","parent_code":710200},{"title":"\u82a9\u96c5\u533a","code":"710203","parent_code":710200},{"title":"\u76d0\u57d5\u533a","code":"710204","parent_code":710200},{"title":"\u9f13\u5c71\u533a","code":"710205","parent_code":710200},{"title":"\u65d7\u6d25\u533a","code":"710206","parent_code":710200},{"title":"\u524d\u9547\u533a","code":"710207","parent_code":710200},{"title":"\u4e09\u6c11\u533a","code":"710208","parent_code":710200},{"title":"\u5de6\u8425\u533a","code":"710209","parent_code":710200},{"title":"\u6960\u6893\u533a","code":"710210","parent_code":710200},{"title":"\u5c0f\u6e2f\u533a","code":"710211","parent_code":710200},{"title":"\u82d3\u96c5\u533a","code":"710241","parent_code":710200},{"title":"\u4ec1\u6b66\u533a","code":"710242","parent_code":710200},{"title":"\u5927\u793e\u533a","code":"710243","parent_code":710200},{"title":"\u5188\u5c71\u533a","code":"710244","parent_code":710200},{"title":"\u8def\u7af9\u533a","code":"710245","parent_code":710200},{"title":"\u963f\u83b2\u533a","code":"710246","parent_code":710200},{"title":"\u7530\u5bee\u533a","code":"710247","parent_code":710200},{"title":"\u71d5\u5de2\u533a","code":"710248","parent_code":710200},{"title":"\u6865\u5934\u533a","code":"710249","parent_code":710200},{"title":"\u6893\u5b98\u533a","code":"710250","parent_code":710200},{"title":"\u5f25\u9640\u533a","code":"710251","parent_code":710200},{"title":"\u6c38\u5b89\u533a","code":"710252","parent_code":710200},{"title":"\u6e56\u5185\u533a","code":"710253","parent_code":710200},{"title":"\u51e4\u5c71\u533a","code":"710254","parent_code":710200},{"title":"\u5927\u5bee\u533a","code":"710255","parent_code":710200},{"title":"\u6797\u56ed\u533a","code":"710256","parent_code":710200},{"title":"\u9e1f\u677e\u533a","code":"710257","parent_code":710200},{"title":"\u5927\u6811\u533a","code":"710258","parent_code":710200},{"title":"\u65d7\u5c71\u533a","code":"710259","parent_code":710200},{"title":"\u7f8e\u6d53\u533a","code":"710260","parent_code":710200},{"title":"\u516d\u9f9f\u533a","code":"710261","parent_code":710200},{"title":"\u5185\u95e8\u533a","code":"710262","parent_code":710200},{"title":"\u6749\u6797\u533a","code":"710263","parent_code":710200},{"title":"\u7532\u4ed9\u533a","code":"710264","parent_code":710200},{"title":"\u6843\u6e90\u533a","code":"710265","parent_code":710200},{"title":"\u90a3\u739b\u590f\u533a","code":"710266","parent_code":710200},{"title":"\u8302\u6797\u533a","code":"710267","parent_code":710200},{"title":"\u8304\u8423\u533a","code":"710268","parent_code":710200},{"title":"\u5176\u5b83\u533a","code":"710299","parent_code":710200},{"title":"\u4e2d\u897f\u533a","code":"710301","parent_code":710300},{"title":"\u4e1c\u533a","code":"710302","parent_code":710300},{"title":"\u5357\u533a","code":"710303","parent_code":710300},{"title":"\u5317\u533a","code":"710304","parent_code":710300},{"title":"\u5b89\u5e73\u533a","code":"710305","parent_code":710300},{"title":"\u5b89\u5357\u533a","code":"710306","parent_code":710300},{"title":"\u6c38\u5eb7\u533a","code":"710339","parent_code":710300},{"title":"\u5f52\u4ec1\u533a","code":"710340","parent_code":710300},{"title":"\u65b0\u5316\u533a","code":"710341","parent_code":710300},{"title":"\u5de6\u9547\u533a","code":"710342","parent_code":710300},{"title":"\u7389\u4e95\u533a","code":"710343","parent_code":710300},{"title":"\u6960\u897f\u533a","code":"710344","parent_code":710300},{"title":"\u5357\u5316\u533a","code":"710345","parent_code":710300},{"title":"\u4ec1\u5fb7\u533a","code":"710346","parent_code":710300},{"title":"\u5173\u5e99\u533a","code":"710347","parent_code":710300},{"title":"\u9f99\u5d0e\u533a","code":"710348","parent_code":710300},{"title":"\u5b98\u7530\u533a","code":"710349","parent_code":710300},{"title":"\u9ebb\u8c46\u533a","code":"710350","parent_code":710300},{"title":"\u4f73\u91cc\u533a","code":"710351","parent_code":710300},{"title":"\u897f\u6e2f\u533a","code":"710352","parent_code":710300},{"title":"\u4e03\u80a1\u533a","code":"710353","parent_code":710300},{"title":"\u5c06\u519b\u533a","code":"710354","parent_code":710300},{"title":"\u5b66\u7532\u533a","code":"710355","parent_code":710300},{"title":"\u5317\u95e8\u533a","code":"710356","parent_code":710300},{"title":"\u65b0\u8425\u533a","code":"710357","parent_code":710300},{"title":"\u540e\u58c1\u533a","code":"710358","parent_code":710300},{"title":"\u767d\u6cb3\u533a","code":"710359","parent_code":710300},{"title":"\u4e1c\u5c71\u533a","code":"710360","parent_code":710300},{"title":"\u516d\u7532\u533a","code":"710361","parent_code":710300},{"title":"\u4e0b\u8425\u533a","code":"710362","parent_code":710300},{"title":"\u67f3\u8425\u533a","code":"710363","parent_code":710300},{"title":"\u76d0\u6c34\u533a","code":"710364","parent_code":710300},{"title":"\u5584\u5316\u533a","code":"710365","parent_code":710300},{"title":"\u5927\u5185\u533a","code":"710366","parent_code":710300},{"title":"\u5c71\u4e0a\u533a","code":"710367","parent_code":710300},{"title":"\u65b0\u5e02\u533a","code":"710368","parent_code":710300},{"title":"\u5b89\u5b9a\u533a","code":"710369","parent_code":710300},{"title":"\u5176\u5b83\u533a","code":"710399","parent_code":710300},{"title":"\u4e2d\u533a","code":"710401","parent_code":710400},{"title":"\u4e1c\u533a","code":"710402","parent_code":710400},{"title":"\u5357\u533a","code":"710403","parent_code":710400},{"title":"\u897f\u533a","code":"710404","parent_code":710400},{"title":"\u5317\u533a","code":"710405","parent_code":710400},{"title":"\u5317\u5c6f\u533a","code":"710406","parent_code":710400},{"title":"\u897f\u5c6f\u533a","code":"710407","parent_code":710400},{"title":"\u5357\u5c6f\u533a","code":"710408","parent_code":710400},{"title":"\u592a\u5e73\u533a","code":"710431","parent_code":710400},{"title":"\u5927\u91cc\u533a","code":"710432","parent_code":710400},{"title":"\u96fe\u5cf0\u533a","code":"710433","parent_code":710400},{"title":"\u4e4c\u65e5\u533a","code":"710434","parent_code":710400},{"title":"\u4e30\u539f\u533a","code":"710435","parent_code":710400},{"title":"\u540e\u91cc\u533a","code":"710436","parent_code":710400},{"title":"\u77f3\u5188\u533a","code":"710437","parent_code":710400},{"title":"\u4e1c\u52bf\u533a","code":"710438","parent_code":710400},{"title":"\u548c\u5e73\u533a","code":"710439","parent_code":710400},{"title":"\u65b0\u793e\u533a","code":"710440","parent_code":710400},{"title":"\u6f6d\u5b50\u533a","code":"710441","parent_code":710400},{"title":"\u5927\u96c5\u533a","code":"710442","parent_code":710400},{"title":"\u795e\u5188\u533a","code":"710443","parent_code":710400},{"title":"\u5927\u809a\u533a","code":"710444","parent_code":710400},{"title":"\u6c99\u9e7f\u533a","code":"710445","parent_code":710400},{"title":"\u9f99\u4e95\u533a","code":"710446","parent_code":710400},{"title":"\u68a7\u6816\u533a","code":"710447","parent_code":710400},{"title":"\u6e05\u6c34\u533a","code":"710448","parent_code":710400},{"title":"\u5927\u7532\u533a","code":"710449","parent_code":710400},{"title":"\u5916\u57d4\u533a","code":"710450","parent_code":710400},{"title":"\u5927\u5b89\u533a","code":"710451","parent_code":710400},{"title":"\u5176\u5b83\u533a","code":"710499","parent_code":710400},{"title":"\u91d1\u6c99\u9547","code":"710507","parent_code":710500},{"title":"\u91d1\u6e56\u9547","code":"710508","parent_code":710500},{"title":"\u91d1\u5b81\u4e61","code":"710509","parent_code":710500},{"title":"\u91d1\u57ce\u9547","code":"710510","parent_code":710500},{"title":"\u70c8\u5c7f\u4e61","code":"710511","parent_code":710500},{"title":"\u4e4c\u5775\u4e61","code":"710512","parent_code":710500},{"title":"\u5357\u6295\u5e02","code":"710614","parent_code":710600},{"title":"\u4e2d\u5bee\u4e61","code":"710615","parent_code":710600},{"title":"\u8349\u5c6f\u9547","code":"710616","parent_code":710600},{"title":"\u56fd\u59d3\u4e61","code":"710617","parent_code":710600},{"title":"\u57d4\u91cc\u9547","code":"710618","parent_code":710600},{"title":"\u4ec1\u7231\u4e61","code":"710619","parent_code":710600},{"title":"\u540d\u95f4\u4e61","code":"710620","parent_code":710600},{"title":"\u96c6\u96c6\u9547","code":"710621","parent_code":710600},{"title":"\u6c34\u91cc\u4e61","code":"710622","parent_code":710600},{"title":"\u9c7c\u6c60\u4e61","code":"710623","parent_code":710600},{"title":"\u4fe1\u4e49\u4e61","code":"710624","parent_code":710600},{"title":"\u7af9\u5c71\u9547","code":"710625","parent_code":710600},{"title":"\u9e7f\u8c37\u4e61","code":"710626","parent_code":710600},{"title":"\u4ec1\u7231\u533a","code":"710701","parent_code":710700},{"title":"\u4fe1\u4e49\u533a","code":"710702","parent_code":710700},{"title":"\u4e2d\u6b63\u533a","code":"710703","parent_code":710700},{"title":"\u4e2d\u5c71\u533a","code":"710704","parent_code":710700},{"title":"\u5b89\u4e50\u533a","code":"710705","parent_code":710700},{"title":"\u6696\u6696\u533a","code":"710706","parent_code":710700},{"title":"\u4e03\u5835\u533a","code":"710707","parent_code":710700},{"title":"\u5176\u5b83\u533a","code":"710799","parent_code":710700},{"title":"\u4e1c\u533a","code":"710801","parent_code":710800},{"title":"\u5317\u533a","code":"710802","parent_code":710800},{"title":"\u9999\u5c71\u533a","code":"710803","parent_code":710800},{"title":"\u5176\u5b83\u533a","code":"710899","parent_code":710800},{"title":"\u4e1c\u533a","code":"710901","parent_code":710900},{"title":"\u897f\u533a","code":"710902","parent_code":710900},{"title":"\u5176\u5b83\u533a","code":"710999","parent_code":710900},{"title":"\u4e07\u91cc\u533a","code":"711130","parent_code":711100},{"title":"\u677f\u6865\u533a","code":"711132","parent_code":711100},{"title":"\u6c50\u6b62\u533a","code":"711133","parent_code":711100},{"title":"\u6df1\u5751\u533a","code":"711134","parent_code":711100},{"title":"\u77f3\u7887\u533a","code":"711135","parent_code":711100},{"title":"\u745e\u82b3\u533a","code":"711136","parent_code":711100},{"title":"\u5e73\u6eaa\u533a","code":"711137","parent_code":711100},{"title":"\u53cc\u6eaa\u533a","code":"711138","parent_code":711100},{"title":"\u8d21\u5bee\u533a","code":"711139","parent_code":711100},{"title":"\u65b0\u5e97\u533a","code":"711140","parent_code":711100},{"title":"\u576a\u6797\u533a","code":"711141","parent_code":711100},{"title":"\u4e4c\u6765\u533a","code":"711142","parent_code":711100},{"title":"\u6c38\u548c\u533a","code":"711143","parent_code":711100},{"title":"\u4e2d\u548c\u533a","code":"711144","parent_code":711100},{"title":"\u571f\u57ce\u533a","code":"711145","parent_code":711100},{"title":"\u4e09\u5ce1\u533a","code":"711146","parent_code":711100},{"title":"\u6811\u6797\u533a","code":"711147","parent_code":711100},{"title":"\u83ba\u6b4c\u533a","code":"711148","parent_code":711100},{"title":"\u4e09\u91cd\u533a","code":"711149","parent_code":711100},{"title":"\u65b0\u5e84\u533a","code":"711150","parent_code":711100},{"title":"\u6cf0\u5c71\u533a","code":"711151","parent_code":711100},{"title":"\u6797\u53e3\u533a","code":"711152","parent_code":711100},{"title":"\u82a6\u6d32\u533a","code":"711153","parent_code":711100},{"title":"\u4e94\u80a1\u533a","code":"711154","parent_code":711100},{"title":"\u516b\u91cc\u533a","code":"711155","parent_code":711100},{"title":"\u6de1\u6c34\u533a","code":"711156","parent_code":711100},{"title":"\u4e09\u829d\u533a","code":"711157","parent_code":711100},{"title":"\u77f3\u95e8\u533a","code":"711158","parent_code":711100},{"title":"\u5b9c\u5170\u5e02","code":"711287","parent_code":711200},{"title":"\u5934\u57ce\u9547","code":"711288","parent_code":711200},{"title":"\u7901\u6eaa\u4e61","code":"711289","parent_code":711200},{"title":"\u58ee\u56f4\u4e61","code":"711290","parent_code":711200},{"title":"\u5458\u5c71\u4e61","code":"711291","parent_code":711200},{"title":"\u7f57\u4e1c\u9547","code":"711292","parent_code":711200},{"title":"\u4e09\u661f\u4e61","code":"711293","parent_code":711200},{"title":"\u5927\u540c\u4e61","code":"711294","parent_code":711200},{"title":"\u4e94\u7ed3\u4e61","code":"711295","parent_code":711200},{"title":"\u51ac\u5c71\u4e61","code":"711296","parent_code":711200},{"title":"\u82cf\u6fb3\u9547","code":"711297","parent_code":711200},{"title":"\u5357\u6fb3\u4e61","code":"711298","parent_code":711200},{"title":"\u9493\u9c7c\u53f0","code":"711299","parent_code":711200},{"title":"\u7af9\u5317\u5e02","code":"711387","parent_code":711300},{"title":"\u6e56\u53e3\u4e61","code":"711388","parent_code":711300},{"title":"\u65b0\u4e30\u4e61","code":"711389","parent_code":711300},{"title":"\u65b0\u57d4\u9547","code":"711390","parent_code":711300},{"title":"\u5173\u897f\u9547","code":"711391","parent_code":711300},{"title":"\u828e\u6797\u4e61","code":"711392","parent_code":711300},{"title":"\u5b9d\u5c71\u4e61","code":"711393","parent_code":711300},{"title":"\u7af9\u4e1c\u9547","code":"711394","parent_code":711300},{"title":"\u4e94\u5cf0\u4e61","code":"711395","parent_code":711300},{"title":"\u6a2a\u5c71\u4e61","code":"711396","parent_code":711300},{"title":"\u5c16\u77f3\u4e61","code":"711397","parent_code":711300},{"title":"\u5317\u57d4\u4e61","code":"711398","parent_code":711300},{"title":"\u5ce8\u7709\u4e61","code":"711399","parent_code":711300},{"title":"\u4e2d\u575c\u533a","code":"711414","parent_code":711400},{"title":"\u5e73\u9547\u533a","code":"711415","parent_code":711400},{"title":"\u6768\u6885\u533a","code":"711417","parent_code":711400},{"title":"\u65b0\u5c4b\u533a","code":"711418","parent_code":711400},{"title":"\u89c2\u97f3\u533a","code":"711419","parent_code":711400},{"title":"\u6843\u56ed\u533a","code":"711420","parent_code":711400},{"title":"\u9f9f\u5c71\u533a","code":"711421","parent_code":711400},{"title":"\u516b\u5fb7\u533a","code":"711422","parent_code":711400},{"title":"\u5927\u6eaa\u533a","code":"711423","parent_code":711400},{"title":"\u5927\u56ed\u533a","code":"711425","parent_code":711400},{"title":"\u82a6\u7af9\u533a","code":"711426","parent_code":711400},{"title":"\u4e2d\u575c\u5e02","code":"711487","parent_code":711400},{"title":"\u5e73\u9547\u5e02","code":"711488","parent_code":711400},{"title":"\u9f99\u6f6d\u4e61","code":"711489","parent_code":711400},{"title":"\u6768\u6885\u5e02","code":"711490","parent_code":711400},{"title":"\u65b0\u5c4b\u4e61","code":"711491","parent_code":711400},{"title":"\u89c2\u97f3\u4e61","code":"711492","parent_code":711400},{"title":"\u6843\u56ed\u5e02","code":"711493","parent_code":711400},{"title":"\u9f9f\u5c71\u4e61","code":"711494","parent_code":711400},{"title":"\u516b\u5fb7\u5e02","code":"711495","parent_code":711400},{"title":"\u5927\u6eaa\u9547","code":"711496","parent_code":711400},{"title":"\u590d\u5174\u4e61","code":"711497","parent_code":711400},{"title":"\u5927\u56ed\u4e61","code":"711498","parent_code":711400},{"title":"\u82a6\u7af9\u4e61","code":"711499","parent_code":711400},{"title":"\u5934\u4efd\u5e02","code":"711520","parent_code":711500},{"title":"\u7af9\u5357\u9547","code":"711582","parent_code":711500},{"title":"\u5934\u4efd\u9547","code":"711583","parent_code":711500},{"title":"\u4e09\u6e7e\u4e61","code":"711584","parent_code":711500},{"title":"\u5357\u5e84\u4e61","code":"711585","parent_code":711500},{"title":"\u72ee\u6f6d\u4e61","code":"711586","parent_code":711500},{"title":"\u540e\u9f99\u9547","code":"711587","parent_code":711500},{"title":"\u901a\u9704\u9547","code":"711588","parent_code":711500},{"title":"\u82d1\u91cc\u9547","code":"711589","parent_code":711500},{"title":"\u82d7\u6817\u5e02","code":"711590","parent_code":711500},{"title":"\u9020\u6865\u4e61","code":"711591","parent_code":711500},{"title":"\u5934\u5c4b\u4e61","code":"711592","parent_code":711500},{"title":"\u516c\u9986\u4e61","code":"711593","parent_code":711500},{"title":"\u5927\u6e56\u4e61","code":"711594","parent_code":711500},{"title":"\u6cf0\u5b89\u4e61","code":"711595","parent_code":711500},{"title":"\u94dc\u9523\u4e61","code":"711596","parent_code":711500},{"title":"\u4e09\u4e49\u4e61","code":"711597","parent_code":711500},{"title":"\u897f\u6e56\u4e61","code":"711598","parent_code":711500},{"title":"\u5353\u5170\u9547","code":"711599","parent_code":711500},{"title":"\u5458\u6797\u5e02","code":"711736","parent_code":711700},{"title":"\u5f70\u5316\u5e02","code":"711774","parent_code":711700},{"title":"\u82ac\u56ed\u4e61","code":"711775","parent_code":711700},{"title":"\u82b1\u575b\u4e61","code":"711776","parent_code":711700},{"title":"\u79c0\u6c34\u4e61","code":"711777","parent_code":711700},{"title":"\u9e7f\u6e2f\u9547","code":"711778","parent_code":711700},{"title":"\u798f\u5174\u4e61","code":"711779","parent_code":711700},{"title":"\u7ebf\u897f\u4e61","code":"711780","parent_code":711700},{"title":"\u548c\u7f8e\u9547","code":"711781","parent_code":711700},{"title":"\u4f38\u6e2f\u4e61","code":"711782","parent_code":711700},{"title":"\u5458\u6797\u9547","code":"711783","parent_code":711700},{"title":"\u793e\u5934\u4e61","code":"711784","parent_code":711700},{"title":"\u6c38\u9756\u4e61","code":"711785","parent_code":711700},{"title":"\u57d4\u5fc3\u4e61","code":"711786","parent_code":711700},{"title":"\u6eaa\u6e56\u9547","code":"711787","parent_code":711700},{"title":"\u5927\u6751\u4e61","code":"711788","parent_code":711700},{"title":"\u57d4\u76d0\u4e61","code":"711789","parent_code":711700},{"title":"\u7530\u4e2d\u9547","code":"711790","parent_code":711700},{"title":"\u5317\u6597\u9547","code":"711791","parent_code":711700},{"title":"\u7530\u5c3e\u4e61","code":"711792","parent_code":711700},{"title":"\u57e4\u5934\u4e61","code":"711793","parent_code":711700},{"title":"\u6eaa\u5dde\u4e61","code":"711794","parent_code":711700},{"title":"\u7af9\u5858\u4e61","code":"711795","parent_code":711700},{"title":"\u4e8c\u6797\u9547","code":"711796","parent_code":711700},{"title":"\u5927\u57ce\u4e61","code":"711797","parent_code":711700},{"title":"\u82b3\u82d1\u4e61","code":"711798","parent_code":711700},{"title":"\u4e8c\u6c34\u4e61","code":"711799","parent_code":711700},{"title":"\u756a\u8def\u4e61","code":"711982","parent_code":711900},{"title":"\u6885\u5c71\u4e61","code":"711983","parent_code":711900},{"title":"\u7af9\u5d0e\u4e61","code":"711984","parent_code":711900},{"title":"\u963f\u91cc\u5c71\u4e61","code":"711985","parent_code":711900},{"title":"\u4e2d\u57d4\u4e61","code":"711986","parent_code":711900},{"title":"\u5927\u57d4\u4e61","code":"711987","parent_code":711900},{"title":"\u6c34\u4e0a\u4e61","code":"711988","parent_code":711900},{"title":"\u9e7f\u8349\u4e61","code":"711989","parent_code":711900},{"title":"\u592a\u4fdd\u5e02","code":"711990","parent_code":711900},{"title":"\u6734\u5b50\u5e02","code":"711991","parent_code":711900},{"title":"\u4e1c\u77f3\u4e61","code":"711992","parent_code":711900},{"title":"\u516d\u811a\u4e61","code":"711993","parent_code":711900},{"title":"\u65b0\u6e2f\u4e61","code":"711994","parent_code":711900},{"title":"\u6c11\u96c4\u4e61","code":"711995","parent_code":711900},{"title":"\u5927\u6797\u9547","code":"711996","parent_code":711900},{"title":"\u6eaa\u53e3\u4e61","code":"711997","parent_code":711900},{"title":"\u4e49\u7af9\u4e61","code":"711998","parent_code":711900},{"title":"\u5e03\u888b\u9547","code":"711999","parent_code":711900},{"title":"\u6597\u5357\u9547","code":"712180","parent_code":712100},{"title":"\u5927\u57e4\u4e61","code":"712181","parent_code":712100},{"title":"\u864e\u5c3e\u9547","code":"712182","parent_code":712100},{"title":"\u571f\u5e93\u9547","code":"712183","parent_code":712100},{"title":"\u8912\u5fe0\u4e61","code":"712184","parent_code":712100},{"title":"\u4e1c\u52bf\u4e61","code":"712185","parent_code":712100},{"title":"\u53f0\u897f\u4e61","code":"712186","parent_code":712100},{"title":"\u4ed1\u80cc\u4e61","code":"712187","parent_code":712100},{"title":"\u9ea6\u5bee\u4e61","code":"712188","parent_code":712100},{"title":"\u6597\u516d\u5e02","code":"712189","parent_code":712100},{"title":"\u6797\u5185\u4e61","code":"712190","parent_code":712100},{"title":"\u53e4\u5751\u4e61","code":"712191","parent_code":712100},{"title":"\u83bf\u6850\u4e61","code":"712192","parent_code":712100},{"title":"\u897f\u87ba\u9547","code":"712193","parent_code":712100},{"title":"\u4e8c\u4ed1\u4e61","code":"712194","parent_code":712100},{"title":"\u5317\u6e2f\u9547","code":"712195","parent_code":712100},{"title":"\u6c34\u6797\u4e61","code":"712196","parent_code":712100},{"title":"\u53e3\u6e56\u4e61","code":"712197","parent_code":712100},{"title":"\u56db\u6e56\u4e61","code":"712198","parent_code":712100},{"title":"\u5143\u957f\u4e61","code":"712199","parent_code":712100},{"title":"\u5d01\u9876\u4e61","code":"712451","parent_code":712400},{"title":"\u5c4f\u4e1c\u5e02","code":"712467","parent_code":712400},{"title":"\u4e09\u5730\u95e8\u4e61","code":"712468","parent_code":712400},{"title":"\u96fe\u53f0\u4e61","code":"712469","parent_code":712400},{"title":"\u739b\u5bb6\u4e61","code":"712470","parent_code":712400},{"title":"\u4e5d\u5982\u4e61","code":"712471","parent_code":712400},{"title":"\u91cc\u6e2f\u4e61","code":"712472","parent_code":712400},{"title":"\u9ad8\u6811\u4e61","code":"712473","parent_code":712400},{"title":"\u76d0\u57d4\u4e61","code":"712474","parent_code":712400},{"title":"\u957f\u6cbb\u4e61","code":"712475","parent_code":712400},{"title":"\u9e9f\u6d1b\u4e61","code":"712476","parent_code":712400},{"title":"\u7af9\u7530\u4e61","code":"712477","parent_code":712400},{"title":"\u5185\u57d4\u4e61","code":"712478","parent_code":712400},{"title":"\u4e07\u4e39\u4e61","code":"712479","parent_code":712400},{"title":"\u6f6e\u5dde\u9547","code":"712480","parent_code":712400},{"title":"\u6cf0\u6b66\u4e61","code":"712481","parent_code":712400},{"title":"\u6765\u4e49\u4e61","code":"712482","parent_code":712400},{"title":"\u4e07\u5ce6\u4e61","code":"712483","parent_code":712400},{"title":"\u83b0\u9876\u4e61","code":"712484","parent_code":712400},{"title":"\u65b0\u57e4\u4e61","code":"712485","parent_code":712400},{"title":"\u5357\u5dde\u4e61","code":"712486","parent_code":712400},{"title":"\u6797\u8fb9\u4e61","code":"712487","parent_code":712400},{"title":"\u4e1c\u6e2f\u9547","code":"712488","parent_code":712400},{"title":"\u7409\u7403\u4e61","code":"712489","parent_code":712400},{"title":"\u4f73\u51ac\u4e61","code":"712490","parent_code":712400},{"title":"\u65b0\u56ed\u4e61","code":"712491","parent_code":712400},{"title":"\u678b\u5bee\u4e61","code":"712492","parent_code":712400},{"title":"\u678b\u5c71\u4e61","code":"712493","parent_code":712400},{"title":"\u6625\u65e5\u4e61","code":"712494","parent_code":712400},{"title":"\u72ee\u5b50\u4e61","code":"712495","parent_code":712400},{"title":"\u8f66\u57ce\u4e61","code":"712496","parent_code":712400},{"title":"\u7261\u4e39\u4e61","code":"712497","parent_code":712400},{"title":"\u6052\u6625\u9547","code":"712498","parent_code":712400},{"title":"\u6ee1\u5dde\u4e61","code":"712499","parent_code":712400},{"title":"\u53f0\u4e1c\u5e02","code":"712584","parent_code":712500},{"title":"\u7eff\u5c9b\u4e61","code":"712585","parent_code":712500},{"title":"\u5170\u5c7f\u4e61","code":"712586","parent_code":712500},{"title":"\u5ef6\u5e73\u4e61","code":"712587","parent_code":712500},{"title":"\u5351\u5357\u4e61","code":"712588","parent_code":712500},{"title":"\u9e7f\u91ce\u4e61","code":"712589","parent_code":712500},{"title":"\u5173\u5c71\u9547","code":"712590","parent_code":712500},{"title":"\u6d77\u7aef\u4e61","code":"712591","parent_code":712500},{"title":"\u6c60\u4e0a\u4e61","code":"712592","parent_code":712500},{"title":"\u4e1c\u6cb3\u4e61","code":"712593","parent_code":712500},{"title":"\u6210\u529f\u9547","code":"712594","parent_code":712500},{"title":"\u957f\u6ee8\u4e61","code":"712595","parent_code":712500},{"title":"\u91d1\u5cf0\u4e61","code":"712596","parent_code":712500},{"title":"\u5927\u6b66\u4e61","code":"712597","parent_code":712500},{"title":"\u8fbe\u4ec1\u4e61","code":"712598","parent_code":712500},{"title":"\u592a\u9ebb\u91cc\u4e61","code":"712599","parent_code":712500},{"title":"\u82b1\u83b2\u5e02","code":"712686","parent_code":712600},{"title":"\u65b0\u57ce\u4e61","code":"712687","parent_code":712600},{"title":"\u592a\u9c81\u9601","code":"712688","parent_code":712600},{"title":"\u79c0\u6797\u4e61","code":"712689","parent_code":712600},{"title":"\u5409\u5b89\u4e61","code":"712690","parent_code":712600},{"title":"\u5bff\u4e30\u4e61","code":"712691","parent_code":712600},{"title":"\u51e4\u6797\u9547","code":"712692","parent_code":712600},{"title":"\u5149\u590d\u4e61","code":"712693","parent_code":712600},{"title":"\u4e30\u6ee8\u4e61","code":"712694","parent_code":712600},{"title":"\u745e\u7a57\u4e61","code":"712695","parent_code":712600},{"title":"\u4e07\u8363\u4e61","code":"712696","parent_code":712600},{"title":"\u7389\u91cc\u9547","code":"712697","parent_code":712600},{"title":"\u5353\u6eaa\u4e61","code":"712698","parent_code":712600},{"title":"\u5bcc\u91cc\u4e61","code":"712699","parent_code":712600},{"title":"\u9a6c\u516c\u5e02","code":"712794","parent_code":712700},{"title":"\u897f\u5c7f\u4e61","code":"712795","parent_code":712700},{"title":"\u671b\u5b89\u4e61","code":"712796","parent_code":712700},{"title":"\u4e03\u7f8e\u4e61","code":"712797","parent_code":712700},{"title":"\u767d\u6c99\u4e61","code":"712798","parent_code":712700},{"title":"\u6e56\u897f\u4e61","code":"712799","parent_code":712700},{"title":"\u5357\u7aff\u4e61","code":"712896","parent_code":712800},{"title":"\u5317\u7aff\u4e61","code":"712897","parent_code":712800},{"title":"\u4e1c\u5f15\u4e61","code":"712898","parent_code":712800},{"title":"\u8392\u5149\u4e61","code":"712899","parent_code":712800},{"title":"\u4e2d\u897f\u533a","code":"810101","parent_code":810100},{"title":"\u6e7e\u4ed4\u533a","code":"810102","parent_code":810100},{"title":"\u4e1c\u533a","code":"810103","parent_code":810100},{"title":"\u5357\u533a","code":"810104","parent_code":810100},{"title":"\u4e5d\u9f99\u57ce\u533a","code":"810201","parent_code":810200},{"title":"\u6cb9\u5c16\u65fa\u533a","code":"810202","parent_code":810200},{"title":"\u6df1\u6c34\u57d7\u533a","code":"810203","parent_code":810200},{"title":"\u9ec4\u5927\u4ed9\u533a","code":"810204","parent_code":810200},{"title":"\u89c2\u5858\u533a","code":"810205","parent_code":810200},{"title":"\u5317\u533a","code":"810301","parent_code":810300},{"title":"\u5927\u57d4\u533a","code":"810302","parent_code":810300},{"title":"\u6c99\u7530\u533a","code":"810303","parent_code":810300},{"title":"\u897f\u8d21\u533a","code":"810304","parent_code":810300},{"title":"\u5143\u6717\u533a","code":"810305","parent_code":810300},{"title":"\u5c6f\u95e8\u533a","code":"810306","parent_code":810300},{"title":"\u8343\u6e7e\u533a","code":"810307","parent_code":810300},{"title":"\u8475\u9752\u533a","code":"810308","parent_code":810300},{"title":"\u79bb\u5c9b\u533a","code":"810309","parent_code":810300},{"title":"\u82b1\u5730\u739b\u5802\u533a","code":"820102","parent_code":820100},{"title":"\u82b1\u738b\u5802\u533a","code":"820103","parent_code":820100},{"title":"\u671b\u5fb7\u5802\u533a","code":"820104","parent_code":820100},{"title":"\u5927\u5802\u533a","code":"820105","parent_code":820100},{"title":"\u98ce\u987a\u5802\u533a","code":"820106","parent_code":820100},{"title":"\u5609\u6a21\u5802\u533a","code":"820202","parent_code":820200},{"title":"\u8def\u6c39\u586b\u6d77\u533a","code":"820203","parent_code":820200},{"title":"\u5723\u65b9\u6d4e\u5404\u5802\u533a","code":"820204","parent_code":820200}] diff --git a/docs/ACCOUNT_MODULE.md b/docs/ACCOUNT_MODULE.md new file mode 100644 index 0000000..a0b0e9b --- /dev/null +++ b/docs/ACCOUNT_MODULE.md @@ -0,0 +1,960 @@ +# 记账功能模块文档 + +## 概述 + +记账功能模块提供了完整的多用户多家庭记账功能,支持: +- 多家庭管理(每个用户可以加入多个家庭) +- 家庭成员管理(owner/admin/member角色) +- 收支记录管理 +- 账户管理 +- 数据权限控制 + +## 模块架构 + +本模块采用Laravel模块化架构,所有代码位于 `modules/Account` 目录下: + +``` +modules/Account/ +├── app/ +│ ├── Controllers/ +│ │ ├── Api/ # 前端API控制器 +│ │ └── Admin/ # 后台管理控制器 +│ ├── Models/ # 数据模型 +│ ├── Providers/ # 服务提供者 +│ └── Services/ # 业务逻辑服务层 +├── database/ +│ └── migrations/ # 数据库迁移文件 +├── routes/ +│ ├── api.php # 前端API路由 +│ └── admin.php # 后台管理路由 +└── module.json # 模块配置文件 +``` + +### 命名空间 + +- 模型:`Modules\Account\Models\` +- 控制器:`Modules\Account\Controllers\Api\` 或 `Modules\Account\Controllers\Admin\` +- 服务:`Modules\Account\Services\` +- 路由:自动加载,无需手动配置 + +### 路由说明 + +模块路由已自动注册,无需在主路由文件中配置: + +- 前端API路由位于 `modules/Account/routes/api.php` +- 后台管理路由位于 `modules/Account/routes/admin.php` + +所有路由由模块的 RouteServiceProvider 自动加载。 + +## 数据库表结构 + +### 1. account_families(家庭表) +| 字段 | 类型 | 说明 | +|------|------|------| +| id | bigint | 主键ID | +| name | varchar(50) | 家庭名称 | +| description | text | 家庭描述 | +| avatar | varchar(255) | 家庭头像 | +| created_at | datetime | 创建时间 | +| updated_at | datetime | 更新时间 | +| deleted_at | datetime | 删除时间(软删除) | + +### 2. account_family_members(家庭成员关系表) +| 字段 | 类型 | 说明 | +|------|------|------| +| id | bigint | 主键ID | +| family_id | bigint | 家庭ID | +| user_id | bigint | 用户ID | +| role | varchar(20) | 角色:owner-拥有者,admin-管理员,member-成员 | +| created_at | datetime | 创建时间 | +| updated_at | datetime | 更新时间 | +| deleted_at | datetime | 删除时间(软删除) | + +**唯一索引**: `family_id` + `user_id`(防止重复加入) + +### 3. account_records(记账记录表) +| 字段 | 类型 | 说明 | +|------|------|------| +| id | bigint | 主键ID | +| user_id | bigint | 用户ID | +| family_id | bigint | 家庭ID | +| member_id | bigint | 成员ID | +| account_id | bigint | 账户ID | +| type | varchar(20) | 类型:income-收入,expense-支出 | +| amount | decimal(10,2) | 金额 | +| category | varchar(50) | 分类 | +| date | date | 日期 | +| time | varchar(10) | 时间 | +| remark | text | 备注 | +| created_at | datetime | 创建时间 | +| updated_at | datetime | 更新时间 | +| deleted_at | datetime | 删除时间(软删除) | + +### 2. account_members(家庭成员表) +| 字段 | 类型 | 说明 | +|------|------|------| +| id | bigint | 主键ID | +| user_id | bigint | 用户ID | +| family_id | bigint | 家庭ID | +| name | varchar(50) | 成员名称 | +| avatar | varchar(255) | 头像 | +| created_at | datetime | 创建时间 | +| updated_at | datetime | 更新时间 | +| deleted_at | datetime | 删除时间(软删除) | + +### 3. accounts(账户表) +| 字段 | 类型 | 说明 | +|------|------|------| +| id | bigint | 主键ID | +| user_id | bigint | 用户ID | +| family_id | bigint | 家庭ID | +| name | varchar(50) | 账户名称 | +| type | varchar(20) | 账户类型:cash-现金,bank-银行卡,alipay-支付宝,wechat-微信 | +| balance | decimal(10,2) | 余额 | +| icon | varchar(255) | 图标 | +| created_at | datetime | 创建时间 | +| updated_at | datetime | 更新时间 | +| deleted_at | datetime | 删除时间(软删除) | + +## 前端API接口 + +### 基础URL +`/api/account` + +### 记账记录接口 + +#### 1. 获取记账记录列表 +- **路径**: `GET /api/account/records` +- **认证**: 需要 +- **参数**: + - `family_id` (可选): 家庭ID,不传则返回当前用户所有家庭的记录 + - `member_id` (可选): 成员ID + - `account_id` (可选): 账户ID + - `type` (可选): 类型(income/expense) + - `start_date` (可选): 开始日期 + - `end_date` (可选): 结束日期 + - `page` (可选): 页码 + - `limit` (可选): 每页数量,默认30 +- **响应**: +```json +{ + "code": 1, + "message": "success", + "data": { + "list": [...], + "total": 100 + } +} +``` + +#### 2. 获取记账记录详情 +- **路径**: `GET /api/account/records/{id}` +- **认证**: 需要 +- **响应**: 单条记录详情 + +#### 3. 创建记账记录 +- **路径**: `POST /api/account/records` +- **认证**: 需要 +- **参数**: + - `member_id` (必需): 成员ID + - `account_id` (必需): 账户ID + - `type` (必需): 类型(income/expense) + - `amount` (必需): 金额 + - `category` (必需): 分类 + - `date` (必需): 日期 + - `time` (必需): 时间 + - `remark` (可选): 备注 +- **响应**: 创建的记录 + +#### 4. 更新记账记录 +- **路径**: `PUT /api/account/records/{id}` +- **认证**: 需要 +- **参数**: 同创建接口(所有字段可选) +- **响应**: 更新后的记录 + +#### 5. 删除记账记录 +- **路径**: `DELETE /api/account/records/{id}` +- **认证**: 需要 +- **响应**: 删除成功 + +#### 6. 获取统计数据 +- **路径**: `GET /api/account/records/statistics` +- **认证**: 需要 +- **参数**: + - `start_date` (可选): 开始日期 + - `end_date` (可选): 结束日期 +- **响应**: +```json +{ + "code": 1, + "message": "success", + "data": { + "total_income": 10000.00, + "total_expense": 5000.00, + "balance": 5000.00, + "category_stats": [...], + "date_stats": [...] + } +} +``` + +### 家庭管理接口 + +#### 1. 获取用户的家庭列表 +- **路径**: `GET /api/account/families` +- **认证**: 需要 +- **响应**: +```json +{ + "code": 1, + "message": "success", + "data": { + "list": [ + { + "id": 1, + "name": "我的家", + "description": "温馨的家", + "avatar": "avatar.jpg", + "user_role": "owner", + "is_owner": true, + "can_manage": true, + "family_members": [...], + "created_at": "2025-01-01 00:00:00" + } + ], + "total": 1 + } +} +``` + +#### 2. 获取家庭详情 +- **路径**: `GET /api/account/families/{id}` +- **认证**: 需要 +- **权限**: 用户必须属于该家庭 +- **响应**: 家庭详情(包含成员、账户、记录信息) + +#### 3. 创建家庭 +- **路径**: `POST /api/account/families` +- **认证**: 需要 +- **参数**: + - `name` (必需): 家庭名称(最多50字符) + - `description` (可选): 家庭描述(最多255字符) + - `avatar` (可选): 家庭头像 +- **响应**: 创建的家庭(创建者自动成为owner) + +#### 4. 更新家庭 +- **路径**: `PUT /api/account/families/{id}` +- **认证**: 需要 +- **权限**: owner或admin +- **参数**: 同创建接口(所有字段可选) +- **响应**: 更新后的家庭 + +#### 5. 删除家庭 +- **路径**: `DELETE /api/account/families/{id}` +- **认证**: 需要 +- **权限**: 仅owner +- **限制**: 家庭下不能有关联账户 +- **响应**: 删除成功 + +#### 6. 邀请成员加入家庭 +- **路径**: `POST /api/account/families/{familyId}/invite` +- **认证**: 需要 +- **权限**: owner或admin +- **参数**: + - `user_id` (必需): 被邀请用户ID +- **限制**: 用户不能已经在家庭中 +- **响应**: 邀请成功 + +#### 7. 移除家庭成员 +- **路径**: `DELETE /api/account/families/{familyId}/members/{memberId}` +- **认证**: 需要 +- **权限**: owner或admin +- **限制**: 不能移除owner +- **响应**: 移除成功 + +#### 8. 更新成员角色 +- **路径**: `PUT /api/account/families/{familyId}/members/{memberId}/role` +- **认证**: 需要 +- **权限**: 仅owner +- **参数**: + - `role` (必需): 新角色(owner/admin/member) +- **限制**: 不能修改owner的角色 +- **响应**: 更新成功 + +#### 9. 退出家庭 +- **路径**: `POST /api/account/families/{id}/leave` +- **认证**: 需要 +- **限制**: owner不能退出,只能删除家庭 +- **响应**: 退出成功 + +### 家庭成员接口 + +#### 1. 获取成员列表 +- **路径**: `GET /api/account/members` +- **认证**: 需要 +- **参数**: + - `family_id` (可选): 家庭ID,不传则返回当前用户所有家庭的成员 +- **响应**: +```json +{ + "code": 1, + "message": "success", + "data": { + "list": [...], + "total": 10 + } +} +``` + +#### 2. 获取成员详情 +- **路径**: `GET /api/account/members/{id}` +- **认证**: 需要 +- **响应**: 成员详情 + +#### 3. 创建成员 +- **路径**: `POST /api/account/members` +- **认证**: 需要 +- **参数**: + - `name` (必需): 成员名称 + - `avatar` (可选): 头像 +- **响应**: 创建的成员 + +#### 4. 更新成员 +- **路径**: `PUT /api/account/members/{id}` +- **认证**: 需要 +- **参数**: 同创建接口(所有字段可选) +- **响应**: 更新后的成员 + +#### 5. 删除成员 +- **路径**: `DELETE /api/account/members/{id}` +- **认证**: 需要 +- **响应**: 删除成功 + +### 账户管理接口 + +#### 1. 获取账户列表 +- **路径**: `GET /api/account/accounts` +- **认证**: 需要 +- **参数**: + - `family_id` (可选): 家庭ID,不传则返回当前用户所有家庭的账户 +- **响应**: +```json +{ + "code": 1, + "message": "success", + "data": { + "list": [...], + "total": 5, + "total_balance": 10000.00 + } +} +``` + +#### 2. 获取账户详情 +- **路径**: `GET /api/account/accounts/{id}` +- **认证**: 需要 +- **响应**: 账户详情 + +#### 3. 创建账户 +- **路径**: `POST /api/account/accounts` +- **认证**: 需要 +- **参数**: + - `name` (必需): 账户名称 + - `type` (必需): 账户类型(cash/bank/alipay/wechat) + - `balance` (可选): 初始余额 + - `icon` (可选): 图标 +- **响应**: 创建的账户 + +#### 4. 更新账户 +- **路径**: `PUT /api/account/accounts/{id}` +- **认证**: 需要 +- **参数**: 同创建接口(所有字段可选) +- **响应**: 更新后的账户 + +#### 5. 删除账户 +- **路径**: `DELETE /api/account/accounts/{id}` +- **认证**: 需要 +- **响应**: 删除成功 + +#### 6. 重新计算账户余额 +- **路径**: `POST /api/account/accounts/{id}/recalculate` +- **认证**: 需要 +- **响应**: 更新后的账户 + +## 后台管理接口 + +### 基础URL +`/admin/account` + +### 记账记录管理 + +#### 1. 获取记账记录列表 +- **路径**: `GET /admin/account/records/index` +- **认证**: 需要 +- **参数**: 同前端API,额外支持 + - `user_id` (可选): 用户ID +- **响应**: 记录列表(包含用户、成员、账户信息) + +#### 2. 获取记账记录详情 +- **路径**: `GET /admin/account/records/show` +- **认证**: 需要 +- **响应**: 记录详情 + +#### 3. 删除记账记录 +- **路径**: `DELETE /admin/account/records/delete` +- **认证**: 需要 +- **参数**: `id` (必需): 记录ID +- **响应**: 删除成功(软删除) + +#### 4. 恢复记账记录 +- **路径**: `PUT /admin/account/records/restore` +- **认证**: 需要 +- **参数**: `id` (必需): 记录ID +- **响应**: 恢复成功 + +#### 5. 获取统计数据 +- **路径**: `GET /admin/account/records/statistics` +- **认证**: 需要 +- **参数**: + - `user_id` (可选): 用户ID + - `start_date` (可选): 开始日期 + - `end_date` (可选): 结束日期 +- **响应**: +```json +{ + "code": 1, + "message": "success", + "data": { + "total_income": 10000.00, + "total_expense": 5000.00, + "balance": 5000.00, + "user_stats": [...], + "category_stats": [...], + "total_records": 100 + } +} +``` + +### 家庭成员管理 + +#### 1. 获取成员列表 +- **路径**: `GET /admin/account/members/index` +- **认证**: 需要 +- **参数**: + - `user_id` (可选): 用户ID +- **响应**: 成员列表(包含统计信息) + +#### 2. 获取成员详情 +- **路径**: `GET /admin/account/members/show` +- **认证**: 需要 +- **参数**: `id` (必需): 成员ID +- **响应**: 成员详情(包含关联记录) + +#### 3. 创建成员 +- **路径**: `POST /admin/account/members/add` +- **认证**: 需要 +- **参数**: + - `user_id` (必需): 用户ID + - `name` (必需): 成员名称 + - `avatar` (可选): 头像 +- **响应**: 创建的成员 + +#### 4. 更新成员 +- **路径**: `PUT /admin/account/members/edit` +- **认证**: 需要 +- **参数**: + - `id` (必需): 成员ID + - 其他字段同创建接口 +- **响应**: 更新后的成员 + +#### 5. 删除成员 +- **路径**: `DELETE /admin/account/members/delete` +- **认证**: 需要 +- **参数**: `id` (必需): 成员ID +- **响应**: 删除成功(软删除) + +#### 6. 恢复成员 +- **路径**: `PUT /admin/account/members/restore` +- **认证**: 需要 +- **参数**: `id` (必需): 成员ID +- **响应**: 恢复成功 + +### 账户管理 + +#### 1. 获取账户列表 +- **路径**: `GET /admin/account/accounts/index` +- **认证**: 需要 +- **参数**: + - `user_id` (可选): 用户ID + - `type` (可选): 账户类型 +- **响应**: 账户列表(包含统计信息) + +#### 2. 获取账户详情 +- **路径**: `GET /admin/account/accounts/show` +- **认证**: 需要 +- **参数**: `id` (必需): 账户ID +- **响应**: 账户详情(包含关联记录) + +#### 3. 创建账户 +- **路径**: `POST /admin/account/accounts/add` +- **认证**: 需要 +- **参数**: + - `user_id` (必需): 用户ID + - `name` (必需): 账户名称 + - `type` (必需): 账户类型 + - `balance` (可选): 初始余额 + - `icon` (可选): 图标 +- **响应**: 创建的账户 + +#### 4. 更新账户 +- **路径**: `PUT /admin/account/accounts/edit` +- **认证**: 需要 +- **参数**: + - `id` (必需): 账户ID + - 其他字段同创建接口 +- **响应**: 更新后的账户 + +#### 5. 删除账户 +- **路径**: `DELETE /admin/account/accounts/delete` +- **认证**: 需要 +- **参数**: `id` (必需): 账户ID +- **响应**: 删除成功(软删除) + +#### 6. 恢复账户 +- **路径**: `PUT /admin/account/accounts/restore` +- **认证**: 需要 +- **参数**: `id` (必需): 账户ID +- **响应**: 恢复成功 + +#### 7. 重新计算账户余额 +- **路径**: `POST /admin/account/accounts/recalculate` +- **认证**: 需要 +- **参数**: `id` (必需): 账户ID +- **响应**: 更新后的账户 + +#### 8. 获取账户类型列表 +- **路径**: `GET /admin/account/accounts/types` +- **认证**: 需要 +- **响应**: +```json +{ + "code": 1, + "message": "success", + "data": { + "cash": "现金", + "bank": "银行卡", + "alipay": "支付宝", + "wechat": "微信" + } +} +``` + +## 后台管理系统 + +### 概述 + +后台管理系统提供了完整的管理功能,位于 `resources/admin` 目录下,使用 Vue 3 + Element Plus + Vite 技术栈。 + +### 目录结构 + +``` +resources/admin/src/ +├── api/ +│ ├── module/ +│ │ └── account.js # 记账模块API接口 +│ └── index.js # API自动导入 +├── pages/ +│ └── account/ # 记账模块页面 +│ ├── families/ # 家庭管理 +│ ├── accounts/ # 账户管理 +│ ├── members/ # 成员管理 +│ └── records/ # 记录管理 +└── router/ + ├── accountRouter.js # 记账模块路由 + └── index.js # 路由主文件 +``` + +### 功能模块 + +#### 1. 家庭管理 (`/account/families`) + +**功能特性**: +- 家庭列表展示(支持搜索) +- 查看家庭详情 +- 创建/编辑家庭 +- 删除家庭(含确认提示) +- 显示成员数量和账户数量统计 + +**页面组件**: +- `index.vue`: 家庭列表页 +- `save.vue`: 家庭添加/编辑/查看页 + +**搜索条件**: +- 家庭名称 + +**操作权限**: +- 添加家庭 +- 编辑家庭信息 +- 查看家庭详情 +- 删除家庭 + +#### 2. 账户管理 (`/account/accounts`) + +**功能特性**: +- 账户列表展示(支持搜索和筛选) +- 查看账户详情 +- 创建/编辑账户 +- 删除账户(含确认提示) +- 显示账户余额(正数绿色,负数红色) +- 支持多种账户类型(现金、银行卡、信用卡、支付宝、微信等) + +**页面组件**: +- `index.vue`: 账户列表页 +- `save.vue`: 账户添加/编辑/查看页 + +**搜索条件**: +- 账户名称 +- 账户类型 + +**表单字段**: +- 账户名称(必填,2-50字符) +- 账户类型(必填) +- 所属家庭(必填,下拉选择) +- 初始余额(可选,数字) +- 备注(可选,最多200字符) + +#### 3. 成员管理 (`/account/members`) + +**功能特性**: +- 成员列表展示(支持搜索和筛选) +- 查看成员详情 +- 添加/编辑成员 +- 移除成员(含确认提示) +- 显示成员角色(owner/admin/member) +- 显示成员所属家庭 + +**页面组件**: +- `index.vue`: 成员列表页 +- `save.vue`: 成员添加/编辑/查看页 + +**搜索条件**: +- 成员昵称 +- 成员角色 + +**表单字段**: +- 所属家庭(必填,下拉选择) +- 用户手机号(必填,用于查找用户) +- 角色(必填,下拉选择) +- 自动显示用户详细信息 + +**角色说明**: +- owner(家庭主):最高权限,红色标签 +- admin(管理员):管理权限,橙色标签 +- member(成员):普通权限,蓝色标签 + +#### 4. 记录管理 (`/account/records`) + +**功能特性**: +- 记录列表展示(支持搜索和筛选) +- 查看记录详情 +- 创建/编辑记录 +- 删除记录(含确认提示) +- 显示金额(收入绿色+号,支出红色-号) +- 显示记录类型(收入/支出标签) +- 支持日期范围筛选 + +**页面组件**: +- `index.vue`: 记录列表页 +- `save.vue`: 记录添加/编辑/查看页 + +**搜索条件**: +- 关键词 +- 记录类型(收入/支出) +- 日期范围 + +**表单字段**: +- 记录类型(必填,单选:收入/支出) +- 所属家庭(必填,下拉选择) +- 账户(必填,下拉选择,根据家庭筛选) +- 分类(必填,下拉选择,根据记录类型筛选) +- 金额(必填,数字) +- 日期(必填,日期选择器) +- 备注(可选,最多200字符) + +**联动功能**: +- 选择家庭后,自动加载该家庭的账户列表 +- 切换记录类型后,自动筛选对应的分类列表 + +### API接口封装 + +所有API接口统一封装在 `resources/admin/src/api/module/account.js` 中: + +```javascript +// 家庭管理 +this.$API.account.family.list.get(params) +this.$API.account.family.detail.get(params) +this.$API.account.family.add.post(params) +this.$API.account.family.edit.post(params) +this.$API.account.family.delete.post(params) + +// 账户管理 +this.$API.account.accounts.list.get(params) +this.$API.account.accounts.detail.get(params) +this.$API.account.accounts.add.post(params) +this.$API.account.accounts.edit.post(params) +this.$API.account.accounts.delete.post(params) + +// 成员管理 +this.$API.account.members.list.get(params) +this.$API.account.members.detail.get(params) +this.$API.account.members.add.post(params) +this.$API.account.members.edit.post(params) +this.$API.account.members.delete.post(params) + +// 记录管理 +this.$API.account.records.list.get(params) +this.$API.account.records.detail.get(params) +this.$API.account.records.add.post(params) +this.$API.account.records.edit.post(params) +this.$API.account.records.delete.post(params) +``` + +### 路由配置 + +记账模块路由已配置在 `resources/admin/src/router/accountRouter.js`: + +```javascript +{ + path: "/account", + meta: { + title: "记账管理", + icon: "el-icon-wallet" + }, + children: [ + { + path: "/account/families", + meta: { title: "家庭管理", icon: "el-icon-house" } + }, + { + path: "/account/accounts", + meta: { title: "账户管理", icon: "el-icon-bank-card" } + }, + { + path: "/account/members", + meta: { title: "成员管理", icon: "el-icon-user" } + }, + { + path: "/account/records", + meta: { title: "记录管理", icon: "el-icon-notebook-2" } + } + ] +} +``` + +路由已自动注册到主路由文件 `index.js`,无需额外配置。 + +### 通用功能 + +#### 表格组件 + +使用 `scTable` 组件实现统一的表格功能: +- 自动分页 +- 自动加载 +- 参数搜索 +- 行选择 +- 固定列 + +#### 抽屉组件 + +使用 `el-drawer` 组件实现表单弹窗: +- 三种模式:add(添加)、edit(编辑)、show(查看) +- 表单验证 +- 关闭时自动重置 +- 成功回调刷新列表 + +#### 权限控制 + +所有删除操作都使用 `el-popconfirm` 进行二次确认: +- 防止误删除 +- 支持取消操作 +- 显示确认提示文字 + +#### 数据展示 + +- 金额显示:保留2位小数,根据正负值显示不同颜色 +- 日期显示:统一格式化 +- 角色标签:使用不同颜色区分 +- 头像显示:支持头像上传和展示 + +### 使用说明 + +#### 1. 启动开发服务器 + +```bash +cd resources/admin +npm install +npm run dev +``` + +#### 2. 访问后台 + +启动后访问:`http://localhost:5173` + +#### 3. 登录系统 + +使用管理员账号登录后台系统。 + +#### 4. 使用记账功能 + +1. 点击左侧菜单"记账管理" +2. 选择子菜单进行操作: + - 家庭管理:管理所有家庭信息 + - 账户管理:管理所有账户信息 + - 成员管理:管理所有家庭成员 + - 记录管理:管理所有收支记录 + +#### 5. 数据流转 + +``` +创建家庭 → 添加成员 → 创建账户 → 记录收支 +``` + +**注意事项**: +- 必须先创建家庭,才能添加成员和账户 +- 创建账户时必须选择所属家庭 +- 创建记录时必须选择家庭、账户和成员 +- 所有删除操作都有确认提示 + +## 使用说明 + +### 数据库迁移 + +运行以下命令创建数据库表: + +```bash +php artisan migrate +``` + +### 多家庭架构 + +本模块支持多用户多家庭架构: + +#### 数据隔离 +- 每个用户可以加入多个家庭 +- 每个家庭有独立的成员、账户和记录 +- 所有数据通过`family_id`字段关联到具体家庭 +- 用户只能访问自己所属家庭的数据 + +#### 家庭角色权限 + +| 角色 | 创建/编辑家庭 | 邀请成员 | 移除成员 | 修改角色 | 删除家庭 | 退出家庭 | +|------|--------------|---------|---------|---------|---------|---------| +| owner | ✅ | ✅ | ✅(不能移除owner) | ✅(不能修改owner) | ✅ | ❌(只能删除) | +| admin | ✅ | ✅ | ✅(不能移除owner) | ❌ | ❌ | ✅ | +| member | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | + +#### 权限判断方法 + +AccountFamilyMember模型提供以下权限判断方法: + +```php +// 判断是否是拥有者 +$member->isOwner(); + +// 判断是否是管理员 +$member->isAdmin(); + +// 判断是否有管理权限(owner或admin) +$member->hasManagePermission(); +``` + +### 账户余额自动更新 + +系统会自动维护账户余额: +- 创建收入记录时,账户余额增加 +- 创建支出记录时,账户余额减少 +- 更新记录时,自动调整相关账户余额 +- 删除记录时,自动回滚账户余额 + +### 软删除 + +所有数据表都支持软删除: +- 删除操作不会物理删除数据,只是标记为已删除 +- 后台管理可以查看和恢复已删除的数据 +- 永久删除需要额外操作 + +### 数据验证 + +所有接口都有严格的数据验证: +- 必填字段检查 +- 数据类型验证 +- 业务逻辑验证(如删除成员前检查是否有关联记录) + +## 注意事项 + +1. 所有接口都需要认证(除登录接口外) +2. 前端API只能操作当前登录用户及其所属家庭的数据 +3. 后台API可以操作所有用户的数据 +4. 每个请求都应该指定`family_id`来操作特定家庭的数据 +5. 账户余额建议使用重新计算接口进行校准 +6. 删除成员或账户前,系统会检查是否有关联记录 +7. 家庭拥有者不能退出家庭,只能删除家庭 +8. 删除家庭前,必须先删除或转移该家庭下的所有账户 +9. 修改成员角色需要谨慎操作,可能影响其他成员的权限 + +## 多家庭使用示例 + +### 创建家庭并邀请成员 + +```javascript +// 1. 创建家庭 +const family = await familyApi.createFamily({ + name: '温馨小家', + description: '我们的家庭记账', + avatar: 'avatar.jpg' +}) + +// 2. 邀请成员(需要知道对方的用户ID) +await familyApi.inviteMember(family.id, 123) // 123是被邀请用户的ID +``` + +### 管理家庭成员 + +```javascript +// 1. 获取家庭详情 +const family = await familyApi.getFamilyDetail(familyId) + +// 2. 修改成员角色(仅owner可以) +await familyApi.updateMemberRole(familyId, memberId, 'admin') + +// 3. 移除成员(需要管理权限) +await familyApi.removeMember(familyId, memberId) +``` + +### 在记账时使用家庭 + +```javascript +// 创建记账记录时指定家庭ID +await recordApi.createRecord({ + family_id: 1, // 家庭ID + member_id: 2, // 家庭成员ID + account_id: 3, // 家庭账户ID + type: 'expense', + amount: 100, + category: '餐饮', + date: '2025-01-01', + time: '12:00' +}) +``` + +### 切换家庭 + +```javascript +// 获取用户的所有家庭 +const families = await familyApi.getFamilies() + +// 在应用中保存当前选择的家庭ID +const currentFamilyId = families.list[0].id + +// 后续操作都使用这个family_id +``` diff --git a/lang/en/auth.php b/lang/en/auth.php new file mode 100644 index 0000000..6598e2c --- /dev/null +++ b/lang/en/auth.php @@ -0,0 +1,20 @@ + 'These credentials do not match our records.', + 'password' => 'The provided password is incorrect.', + 'throttle' => 'Too many login attempts. Please try again in :seconds seconds.', + +]; diff --git a/lang/en/pagination.php b/lang/en/pagination.php new file mode 100644 index 0000000..d481411 --- /dev/null +++ b/lang/en/pagination.php @@ -0,0 +1,19 @@ + '« Previous', + 'next' => 'Next »', + +]; diff --git a/lang/en/passwords.php b/lang/en/passwords.php new file mode 100644 index 0000000..fad3a7d --- /dev/null +++ b/lang/en/passwords.php @@ -0,0 +1,22 @@ + 'Your password has been reset.', + 'sent' => 'We have emailed your password reset link.', + 'throttled' => 'Please wait before retrying.', + 'token' => 'This password reset token is invalid.', + 'user' => "We can't find a user with that email address.", + +]; diff --git a/lang/en/validation.php b/lang/en/validation.php new file mode 100644 index 0000000..c3e94e1 --- /dev/null +++ b/lang/en/validation.php @@ -0,0 +1,193 @@ + 'The :attribute field must be accepted.', + 'accepted_if' => 'The :attribute field must be accepted when :other is :value.', + 'active_url' => 'The :attribute field must be a valid URL.', + 'after' => 'The :attribute field must be a date after :date.', + 'after_or_equal' => 'The :attribute field must be a date after or equal to :date.', + 'alpha' => 'The :attribute field must only contain letters.', + 'alpha_dash' => 'The :attribute field must only contain letters, numbers, dashes, and underscores.', + 'alpha_num' => 'The :attribute field must only contain letters and numbers.', + 'array' => 'The :attribute field must be an array.', + 'ascii' => 'The :attribute field must only contain single-byte alphanumeric characters and symbols.', + 'before' => 'The :attribute field must be a date before :date.', + 'before_or_equal' => 'The :attribute field must be a date before or equal to :date.', + 'between' => [ + 'array' => 'The :attribute field must have between :min and :max items.', + 'file' => 'The :attribute field must be between :min and :max kilobytes.', + 'numeric' => 'The :attribute field must be between :min and :max.', + 'string' => 'The :attribute field must be between :min and :max characters.', + ], + 'boolean' => 'The :attribute field must be true or false.', + 'can' => 'The :attribute field contains an unauthorized value.', + 'confirmed' => 'The :attribute field confirmation does not match.', + 'current_password' => 'The password is incorrect.', + 'date' => 'The :attribute field must be a valid date.', + 'date_equals' => 'The :attribute field must be a date equal to :date.', + 'date_format' => 'The :attribute field must match the format :format.', + 'decimal' => 'The :attribute field must have :decimal decimal places.', + 'declined' => 'The :attribute field must be declined.', + 'declined_if' => 'The :attribute field must be declined when :other is :value.', + 'different' => 'The :attribute field and :other must be different.', + 'digits' => 'The :attribute field must be :digits digits.', + 'digits_between' => 'The :attribute field must be between :min and :max digits.', + 'dimensions' => 'The :attribute field has invalid image dimensions.', + 'distinct' => 'The :attribute field has a duplicate value.', + 'doesnt_end_with' => 'The :attribute field must not end with one of the following: :values.', + 'doesnt_start_with' => 'The :attribute field must not start with one of the following: :values.', + 'email' => 'The :attribute field must be a valid email address.', + 'ends_with' => 'The :attribute field must end with one of the following: :values.', + 'enum' => 'The selected :attribute is invalid.', + 'exists' => 'The selected :attribute is invalid.', + 'extensions' => 'The :attribute field must have one of the following extensions: :values.', + 'file' => 'The :attribute field must be a file.', + 'filled' => 'The :attribute field must have a value.', + 'gt' => [ + 'array' => 'The :attribute field must have more than :value items.', + 'file' => 'The :attribute field must be greater than :value kilobytes.', + 'numeric' => 'The :attribute field must be greater than :value.', + 'string' => 'The :attribute field must be greater than :value characters.', + ], + 'gte' => [ + 'array' => 'The :attribute field must have :value items or more.', + 'file' => 'The :attribute field must be greater than or equal to :value kilobytes.', + 'numeric' => 'The :attribute field must be greater than or equal to :value.', + 'string' => 'The :attribute field must be greater than or equal to :value characters.', + ], + 'hex_color' => 'The :attribute field must be a valid hexadecimal color.', + 'image' => 'The :attribute field must be an image.', + 'in' => 'The selected :attribute is invalid.', + 'in_array' => 'The :attribute field must exist in :other.', + 'integer' => 'The :attribute field must be an integer.', + 'ip' => 'The :attribute field must be a valid IP address.', + 'ipv4' => 'The :attribute field must be a valid IPv4 address.', + 'ipv6' => 'The :attribute field must be a valid IPv6 address.', + 'json' => 'The :attribute field must be a valid JSON string.', + 'list' => 'The :attribute field must be a list.', + 'lowercase' => 'The :attribute field must be lowercase.', + 'lt' => [ + 'array' => 'The :attribute field must have less than :value items.', + 'file' => 'The :attribute field must be less than :value kilobytes.', + 'numeric' => 'The :attribute field must be less than :value.', + 'string' => 'The :attribute field must be less than :value characters.', + ], + 'lte' => [ + 'array' => 'The :attribute field must not have more than :value items.', + 'file' => 'The :attribute field must be less than or equal to :value kilobytes.', + 'numeric' => 'The :attribute field must be less than or equal to :value.', + 'string' => 'The :attribute field must be less than or equal to :value characters.', + ], + 'mac_address' => 'The :attribute field must be a valid MAC address.', + 'max' => [ + 'array' => 'The :attribute field must not have more than :max items.', + 'file' => 'The :attribute field must not be greater than :max kilobytes.', + 'numeric' => 'The :attribute field must not be greater than :max.', + 'string' => 'The :attribute field must not be greater than :max characters.', + ], + 'max_digits' => 'The :attribute field must not have more than :max digits.', + 'mimes' => 'The :attribute field must be a file of type: :values.', + 'mimetypes' => 'The :attribute field must be a file of type: :values.', + 'min' => [ + 'array' => 'The :attribute field must have at least :min items.', + 'file' => 'The :attribute field must be at least :min kilobytes.', + 'numeric' => 'The :attribute field must be at least :min.', + 'string' => 'The :attribute field must be at least :min characters.', + ], + 'min_digits' => 'The :attribute field must have at least :min digits.', + 'missing' => 'The :attribute field must be missing.', + 'missing_if' => 'The :attribute field must be missing when :other is :value.', + 'missing_unless' => 'The :attribute field must be missing unless :other is :value.', + 'missing_with' => 'The :attribute field must be missing when :values is present.', + 'missing_with_all' => 'The :attribute field must be missing when :values are present.', + 'multiple_of' => 'The :attribute field must be a multiple of :value.', + 'not_in' => 'The selected :attribute is invalid.', + 'not_regex' => 'The :attribute field format is invalid.', + 'numeric' => 'The :attribute field must be a number.', + 'password' => [ + 'letters' => 'The :attribute field must contain at least one letter.', + 'mixed' => 'The :attribute field must contain at least one uppercase and one lowercase letter.', + 'numbers' => 'The :attribute field must contain at least one number.', + 'symbols' => 'The :attribute field must contain at least one symbol.', + 'uncompromised' => 'The given :attribute has appeared in a data leak. Please choose a different :attribute.', + ], + 'present' => 'The :attribute field must be present.', + 'present_if' => 'The :attribute field must be present when :other is :value.', + 'present_unless' => 'The :attribute field must be present unless :other is :value.', + 'present_with' => 'The :attribute field must be present when :values is present.', + 'present_with_all' => 'The :attribute field must be present when :values are present.', + 'prohibited' => 'The :attribute field is prohibited.', + 'prohibited_if' => 'The :attribute field is prohibited when :other is :value.', + 'prohibited_unless' => 'The :attribute field is prohibited unless :other is in :values.', + 'prohibits' => 'The :attribute field prohibits :other from being present.', + 'regex' => 'The :attribute field format is invalid.', + 'required' => 'The :attribute field is required.', + 'required_array_keys' => 'The :attribute field must contain entries for: :values.', + 'required_if' => 'The :attribute field is required when :other is :value.', + 'required_if_accepted' => 'The :attribute field is required when :other is accepted.', + 'required_if_declined' => 'The :attribute field is required when :other is declined.', + 'required_unless' => 'The :attribute field is required unless :other is in :values.', + 'required_with' => 'The :attribute field is required when :values is present.', + 'required_with_all' => 'The :attribute field is required when :values are present.', + 'required_without' => 'The :attribute field is required when :values is not present.', + 'required_without_all' => 'The :attribute field is required when none of :values are present.', + 'same' => 'The :attribute field must match :other.', + 'size' => [ + 'array' => 'The :attribute field must contain :size items.', + 'file' => 'The :attribute field must be :size kilobytes.', + 'numeric' => 'The :attribute field must be :size.', + 'string' => 'The :attribute field must be :size characters.', + ], + 'starts_with' => 'The :attribute field must start with one of the following: :values.', + 'string' => 'The :attribute field must be a string.', + 'timezone' => 'The :attribute field must be a valid timezone.', + 'unique' => 'The :attribute has already been taken.', + 'uploaded' => 'The :attribute failed to upload.', + 'uppercase' => 'The :attribute field must be uppercase.', + 'url' => 'The :attribute field must be a valid URL.', + 'ulid' => 'The :attribute field must be a valid ULID.', + 'uuid' => 'The :attribute field must be a valid UUID.', + + /* + |-------------------------------------------------------------------------- + | Custom Validation Language Lines + |-------------------------------------------------------------------------- + | + | Here you may specify custom validation messages for attributes using the + | convention "attribute.rule" to name the lines. This makes it quick to + | specify a specific custom language line for a given attribute rule. + | + */ + + 'custom' => [ + 'attribute-name' => [ + 'rule-name' => 'custom-message', + ], + ], + + /* + |-------------------------------------------------------------------------- + | Custom Validation Attributes + |-------------------------------------------------------------------------- + | + | The following language lines are used to swap our attribute placeholder + | with something more reader friendly such as "E-Mail Address" instead + | of "email". This simply helps us make our message more expressive. + | + */ + + 'attributes' => [], + +]; diff --git a/lang/zh_CN/auth.php b/lang/zh_CN/auth.php new file mode 100644 index 0000000..071b7b3 --- /dev/null +++ b/lang/zh_CN/auth.php @@ -0,0 +1,20 @@ + '这些凭据与我们的记录不匹配。', + 'password' => '提供的密码不正确。', + 'throttle' => '登录尝试次数过多。请在:seconds秒后重试。', + +]; diff --git a/lang/zh_CN/pagination.php b/lang/zh_CN/pagination.php new file mode 100644 index 0000000..4e8dea7 --- /dev/null +++ b/lang/zh_CN/pagination.php @@ -0,0 +1,19 @@ + '« 上一页', + 'next' => '下一页 »', + +]; diff --git a/lang/zh_CN/passwords.php b/lang/zh_CN/passwords.php new file mode 100644 index 0000000..d0404d2 --- /dev/null +++ b/lang/zh_CN/passwords.php @@ -0,0 +1,22 @@ + '您的密码已经被重置', + 'sent' => '我们已通过电子邮件发送您的密码重置链接。', + 'throttled' => '请稍候,然后重试。', + 'token' => '此密码重置令牌无效。', + 'user' => "我们找不到具有该电子邮件地址的用户。", + +]; diff --git a/lang/zh_CN/validation.php b/lang/zh_CN/validation.php new file mode 100644 index 0000000..ef3cc02 --- /dev/null +++ b/lang/zh_CN/validation.php @@ -0,0 +1,200 @@ + "您必须接受 :attribute。", + "accepted_if" => "当 :other 为 :value 时,必须接受 :attribute。", + "active_url" => ":attribute 不是一个有效的网址。", + "after" => ":attribute 必须要晚于 :date。", + "after_or_equal" => ":attribute 必须要等于 :date 或更晚。", + "alpha" => ":attribute 只能由字母组成。", + "alpha_dash" => ":attribute 只能由字母、数字、短划线(-)和下划线(_)组成。", + "alpha_num" => ":attribute 只能由字母和数字组成。", + "array" => ":attribute 必须是一个数组。", + "ascii" => ":attribute 必须仅包含单字节字母数字字符和符号。", + "attached" => "这个 :attribute 已经连接。", + "before" => ":attribute 必须要早于 :date。", + "before_or_equal" => ":attribute 必须要等于 :date 或更早。", + "between.array" => ":attribute 必须只有 :min - :max 个单元。", + "between.file" => ":attribute 必须介于 :min - :max KB 之间。", + "between.numeric" => ":attribute 必须介于 :min - :max 之间。", + "between.string" => ":attribute 必须介于 :min - :max 个字符之间。", + "boolean" => ":attribute 必须为布尔值。", + "can" => ":attribute 字段包含未经授权的值。", + "confirmed" => ":attribute 两次输入不一致。", + "contains" => "The :attribute field is missing a required value.", + "current_password" => "密码错误。", + "date" => ":attribute 不是一个有效的日期。", + "date_equals" => ":attribute 必须要等于 :date。", + "date_format" => ":attribute 的格式必须为 :format。", + "decimal" => ":attribute 必须有 :decimal 位小数。", + "declined" => ":attribute 必须是拒绝的。", + "declined_if" => "当 :other 为 :value 时字段 :attribute 必须是拒绝的。", + "different" => ":attribute 和 :other 必须不同。", + "digits" => ":attribute 必须是 :digits 位数字。", + "digits_between" => ":attribute 必须是介于 :min 和 :max 位的数字。", + "dimensions" => ":attribute 图片尺寸不正确。", + "distinct" => ":attribute 已经存在。", + "doesnt_end_with" => ":attribute 不能以以下之一结尾: :values。", + "doesnt_start_with" => ":attribute 不能以下列之一开头: :values。", + "email" => ":attribute 不是一个合法的邮箱。", + "ends_with" => ":attribute 必须以 :values 为结尾。", + "enum" => ":attribute 值不正确。", + "exists" => ":attribute 不存在。", + "extensions" => ":attribute 字段必须具有以下扩展名之一::values。", + "failed" => "用户名或密码错误。", + "file" => ":attribute 必须是文件。", + "filled" => ":attribute 不能为空。", + "gt.array" => ":attribute 必须多于 :value 个元素。", + "gt.file" => ":attribute 必须大于 :value KB。", + "gt.numeric" => ":attribute 必须大于 :value。", + "gt.string" => ":attribute 必须多于 :value 个字符。", + "gte.array" => ":attribute 必须多于或等于 :value 个元素。", + "gte.file" => ":attribute 必须大于或等于 :value KB。", + "gte.numeric" => ":attribute 必须大于或等于 :value。", + "gte.string" => ":attribute 必须多于或等于 :value 个字符。", + "hex_color" => ":attribute 字段必须是有效的十六进制颜色。", + "image" => ":attribute 必须是图片。", + "in" => "已选的属性 :attribute 无效。", + "in_array" => ":attribute 必须在 :other 中。", + "integer" => ":attribute 必须是整数。", + "ip" => ":attribute 必须是有效的 IP 地址。", + "ipv4" => ":attribute 必须是有效的 IPv4 地址。", + "ipv6" => ":attribute 必须是有效的 IPv6 地址。", + "json" => ":attribute 必须是正确的 JSON 格式。", + "list" => ":attribute 字段必须是一个列表。", + "lowercase" => ":attribute 必须小写。", + "lt.array" => ":attribute 必须少于 :value 个元素。", + "lt.file" => ":attribute 必须小于 :value KB。", + "lt.numeric" => ":attribute 必须小于 :value。", + "lt.string" => ":attribute 必须少于 :value 个字符。", + "lte.array" => ":attribute 必须少于或等于 :value 个元素。", + "lte.file" => ":attribute 必须小于或等于 :value KB。", + "lte.numeric" => ":attribute 必须小于或等于 :value。", + "lte.string" => ":attribute 必须少于或等于 :value 个字符。", + "mac_address" => ":attribute 必须是一个有效的 MAC 地址。", + "max.array" => ":attribute 最多只有 :max 个单元。", + "max.file" => ":attribute 不能大于 :max KB。", + "max.numeric" => ":attribute 不能大于 :max。", + "max.string" => ":attribute 不能大于 :max 个字符。", + "max_digits" => ":attribute 不能超过 :max 位数。", + "mimes" => ":attribute 必须是一个 :values 类型的文件。", + "mimetypes" => ":attribute 必须是一个 :values 类型的文件。", + "min.array" => ":attribute 至少有 :min 个单元。", + "min.file" => ":attribute 大小不能小于 :min KB。", + "min.numeric" => ":attribute 必须大于等于 :min。", + "min.string" => ":attribute 至少为 :min 个字符。", + "min_digits" => ":attribute 必须至少有 :min 位数。", + "missing" => "必须缺少 :attribute 字段。", + "missing_if" => "当 :other 为 :value 时,必须缺少 :attribute 字段。", + "missing_unless" => "必须缺少 :attribute 字段,除非 :other 是 :value。", + "missing_with" => "存在 :values 时,必须缺少 :attribute 字段。", + "missing_with_all" => "存在 :values 时,必须缺少 :attribute 字段。", + "multiple_of" => ":attribute 必须是 :value 中的多个值。", + "next" => "下一页 »", + "not_in" => "已选的属性 :attribute 非法。", + "not_regex" => ":attribute 的格式错误。", + "numeric" => ":attribute 必须是一个数字。", + "password" => [ + "letters" => ":attribute 必须至少包含一个字母。", + "mixed" => ":attribute 必须至少包含一个大写字母和一个小写字母。", + "numbers" => ":attribute 必须至少包含一个数字。", + "symbols" => ":attribute 必须至少包含一个符号。", + "uncompromised" => "给定的 :attribute 出现在已经泄漏的密码中。请选择不同的 :attribute。", + ], + "present" => ":attribute 必须存在。", + "present_if" => "当 :other 等于 :value 时,必须存在 :attribute 字段。", + "present_unless" => "除非 :other 等于 :value,否则 :attribute 字段必须存在。", + "present_with" => "当 :values 存在时,:attribute 字段必须存在。", + "present_with_all" => "当存在 :values 时,必须存在 :attribute 字段。", + "previous" => "« 上一页", + "prohibited" => ":attribute 字段被禁止。", + "prohibited_if" => "当 :other 为 :value 时,禁止 :attribute 字段。", + "prohibited_unless" => ":attribute 字段被禁止,除非 :other 位于 :values 中。", + "prohibits" => ":attribute 字段禁止出现 :other。", + "regex" => ":attribute 格式不正确。", + "relatable" => "此 :attribute 可能与此资源不相关联。", + "required" => ":attribute 不能为空。", + "required_array_keys" => ":attribute 至少包含指定的键::values.", + "required_if" => "当 :other 为 :value 时 :attribute 不能为空。", + "required_if_accepted" => "当 :other 存在时,:attribute 不能为空。", + "required_if_declined" => "The :attribute field is required when :other is declined.", + "required_unless" => "当 :other 不为 :values 时 :attribute 不能为空。", + "required_with" => "当 :values 存在时 :attribute 不能为空。", + "required_with_all" => "当 :values 存在时 :attribute 不能为空。", + "required_without" => "当 :values 不存在时 :attribute 不能为空。", + "required_without_all" => "当 :values 都不存在时 :attribute 不能为空。", + "reset" => "密码重置成功!", + "same" => ":attribute 和 :other 必须相同。", + "sent" => "密码重置邮件已发送!", + "size" => [ + "array" => ":attribute 必须为 :size 个单元。", + "file" => ":attribute 大小必须为 :size KB。", + "numeric" => ":attribute 必须为 :size。", + "string" => ":attribute 必须是 :size 个字符。", + ], + "starts_with" => ":attribute 必须以 :values 为开头。", + "string" => ":attribute 必须是一个字符串。", + "throttle" => "您尝试的登录次数过多,请 :seconds 秒后再试。", + "throttled" => "请稍候再试。", + "timezone" => ":attribute 必须是一个合法的时区值。", + "token" => "密码重置令牌无效。", + "ulid" => ":attribute 必须是有效的 ULID。", + "unique" => ":attribute 已经存在。", + "uploaded" => ":attribute 上传失败。", + "uppercase" => ":attribute 必须大写", + "url" => ":attribute 格式不正确。", + "user" => "找不到该邮箱对应的用户。", + "uuid" => ":attribute 必须是有效的 UUID。", + + /* + |-------------------------------------------------------------------------- + | Custom Validation Language Lines + |-------------------------------------------------------------------------- + | + | Here you may specify custom validation messages for attributes using the + | convention "attribute.rule" to name the lines. This makes it quick to + | specify a specific custom language line for a given attribute rule. + | + */ + + 'custom' => [ + 'attribute-name' => [ + 'rule-name' => 'custom-message', + ], + ], + + /* + |-------------------------------------------------------------------------- + | Custom Validation Attributes + |-------------------------------------------------------------------------- + | + | The following language lines are used to swap our attribute placeholder + | with something more reader friendly such as "E-Mail Address" instead + | of "email". This simply helps us make our message more expressive. + | + */ + + 'attributes' => [ + 'title' => '标题', + 'name' => '名称', + 'mobile' => '手机号', + 'email' => '邮箱', + 'password' => '密码', + 'password_confirmation' => '确认密码', + 'old_password' => '旧密码', + 'new_password' => '新密码', + 'new_password_confirmation' => '确认新密码', + 'content' => '内容', + 'image' => '图片', + 'description' => '描述', + 'keywords' => '关键字', + 'type' => '类型', + 'url' => '链接', + 'parent_id' => '上级ID', + 'status' => '状态', + 'sort' => '排序', + 'id' => 'ID', + 'username' => '用户名', + ], + +]; diff --git a/modules/Ads/app/Controllers/Admin/Ads.php b/modules/Ads/app/Controllers/Admin/Ads.php new file mode 100644 index 0000000..cf333c0 --- /dev/null +++ b/modules/Ads/app/Controllers/Admin/Ads.php @@ -0,0 +1,84 @@ + +// +---------------------------------------------------------------------- +namespace Modules\Ads\Controllers\Admin; + +use Illuminate\Http\Request; +use App\Http\Controllers\BaseController; +use Modules\Ads\Services\AdsService; + +class Ads extends BaseController { + + /** + * @title 广告列表 + * + * @param Request $request + * @param AdsService $service + * @return void + */ + public function index(Request $request, AdsService $service) { + try { + $this->data['data'] = $service->getDataList($request); + } catch (\Exception $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + return response()->json($this->data); + } + + /** + * @title 添加广告 + * + * @param Request $request + * @param AdsService $service + * @return void + */ + public function add(Request $request, AdsService $service) { + try { + $this->data['data'] = $service->create($request); + } catch (\Exception $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + return response()->json($this->data); + } + + /** + * @title 编辑广告 + * + * @param Request $request + * @param AdsService $service + * @return void + */ + public function edit(Request $request, AdsService $service) { + try { + $this->data['data'] = $service->update($request); + } catch (\Exception $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + return response()->json($this->data); + } + + /** + * @title 删除广告 + * + * @param Request $request + * @param AdsService $service + * @return void + */ + public function delete(Request $request, AdsService $service) { + try { + $this->data['data'] = $service->delete($request); + } catch (\Exception $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + return response()->json($this->data); + } +} diff --git a/modules/Ads/app/Controllers/Api/Ads.php b/modules/Ads/app/Controllers/Api/Ads.php new file mode 100644 index 0000000..a392c77 --- /dev/null +++ b/modules/Ads/app/Controllers/Api/Ads.php @@ -0,0 +1,35 @@ + +// +---------------------------------------------------------------------- +namespace Modules\Ads\Controllers\Api; + +use Illuminate\Http\Request; +use App\Http\Controllers\BaseController; +use Modules\Ads\Services\AdsService; + +class Ads extends BaseController { + + /** + * @title 广告列表 + * + * @param Request $request + * @param AdsService $service + * @return void + */ + public function index(Request $request, AdsService $service){ + try { + $request->mergeIfMissing(['status' => 1]); + $this->data['data'] = $service->getDataList($request); + } catch (\Throwable $th) { + $this->data['code'] = 0; + $this->data['message'] = $th->getMessage(); + } + + return response()->json($this->data); + } +} diff --git a/modules/Ads/app/Models/Ads.php b/modules/Ads/app/Models/Ads.php new file mode 100644 index 0000000..58c7f07 --- /dev/null +++ b/modules/Ads/app/Models/Ads.php @@ -0,0 +1,28 @@ + +// +---------------------------------------------------------------------- +namespace Modules\Ads\Models; + +use Illuminate\Database\Eloquent\Builder; +use App\Models\BaseModel; + +class Ads extends BaseModel { + + protected $table = 'ads'; + protected $fillable = ['title', 'description', 'logo', 'sort','status']; + // protected $hidden = ['deleted_at']; + + protected function casts(): array { + return [ + 'sort' => 'integer', + 'status' => 'integer', + 'created_at' => 'datetime:Y-m-d H:i:s', + 'updated_at' => 'datetime:Y-m-d H:i:s', + ]; + } +} diff --git a/modules/Ads/app/Providers/.gitkeep b/modules/Ads/app/Providers/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/modules/Ads/app/Providers/AdsServiceProvider.php b/modules/Ads/app/Providers/AdsServiceProvider.php new file mode 100644 index 0000000..fc33041 --- /dev/null +++ b/modules/Ads/app/Providers/AdsServiceProvider.php @@ -0,0 +1,120 @@ +registerCommands(); + $this->registerCommandSchedules(); + $this->registerTranslations(); + $this->registerConfig(); + $this->registerViews(); + $this->loadMigrationsFrom(module_path($this->moduleName, 'database/migrations')); + } + + /** + * Register the service provider. + */ + public function register(): void + { + $this->app->register(EventServiceProvider::class); + $this->app->register(RouteServiceProvider::class); + } + + /** + * Register commands in the format of Command::class + */ + protected function registerCommands(): void + { + // $this->commands([]); + } + + /** + * Register command Schedules. + */ + protected function registerCommandSchedules(): void + { + // $this->app->booted(function () { + // $schedule = $this->app->make(Schedule::class); + // $schedule->command('inspire')->hourly(); + // }); + } + + /** + * Register translations. + */ + public function registerTranslations(): void + { + $langPath = resource_path('lang/modules/'.$this->moduleNameLower); + + if (is_dir($langPath)) { + $this->loadTranslationsFrom($langPath, $this->moduleNameLower); + $this->loadJsonTranslationsFrom($langPath); + } else { + $this->loadTranslationsFrom(module_path($this->moduleName, 'lang'), $this->moduleNameLower); + $this->loadJsonTranslationsFrom(module_path($this->moduleName, 'lang')); + } + } + + /** + * Register config. + */ + protected function registerConfig(): void + { + $this->publishes([module_path($this->moduleName, 'config/config.php') => config_path($this->moduleNameLower.'.php')], 'config'); + $this->mergeConfigFrom(module_path($this->moduleName, 'config/config.php'), $this->moduleNameLower); + } + + /** + * Register views. + */ + public function registerViews(): void + { + $viewPath = resource_path('views/modules/'.$this->moduleNameLower); + $sourcePath = module_path($this->moduleName, 'resources/views'); + + $this->publishes([$sourcePath => $viewPath], ['views', $this->moduleNameLower.'-module-views']); + + $this->loadViewsFrom(array_merge($this->getPublishableViewPaths(), [$sourcePath]), $this->moduleNameLower); + + $componentNamespace = str_replace('/', '\\', config('modules.namespace').'\\'.$this->moduleName.'\\'.ltrim(config('modules.paths.generator.component-class.path'), config('modules.paths.app_folder', ''))); + Blade::componentNamespace($componentNamespace, $this->moduleNameLower); + } + + /** + * Get the services provided by the provider. + * + * @return array + */ + public function provides(): array + { + return []; + } + + /** + * @return array + */ + private function getPublishableViewPaths(): array + { + $paths = []; + foreach (config('view.paths') as $path) { + if (is_dir($path.'/modules/'.$this->moduleNameLower)) { + $paths[] = $path.'/modules/'.$this->moduleNameLower; + } + } + + return $paths; + } +} diff --git a/modules/Ads/app/Providers/EventServiceProvider.php b/modules/Ads/app/Providers/EventServiceProvider.php new file mode 100644 index 0000000..41eed85 --- /dev/null +++ b/modules/Ads/app/Providers/EventServiceProvider.php @@ -0,0 +1,38 @@ + +// +---------------------------------------------------------------------- +namespace Modules\Ads\Providers; + +use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider; + +class EventServiceProvider extends ServiceProvider +{ + /** + * The event handler mappings for the application. + * + * @var array> + */ + protected $listen = []; + + /** + * Indicates if events should be discovered. + * + * @var bool + */ + protected static $shouldDiscoverEvents = true; + + /** + * Configure the proper event listeners for email verification. + * + * @return void + */ + protected function configureEmailVerification(): void + { + + } +} diff --git a/modules/Ads/app/Providers/RouteServiceProvider.php b/modules/Ads/app/Providers/RouteServiceProvider.php new file mode 100644 index 0000000..5f7101d --- /dev/null +++ b/modules/Ads/app/Providers/RouteServiceProvider.php @@ -0,0 +1,67 @@ + +// +---------------------------------------------------------------------- +namespace Modules\Ads\Providers; + +use Illuminate\Support\Facades\Route; +use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider; + +class RouteServiceProvider extends ServiceProvider +{ + /** + * Called before routes are registered. + * + * Register any model bindings or pattern based filters. + */ + public function boot(): void + { + parent::boot(); + } + + /** + * Define the routes for the application. + */ + public function map(): void + { + $this->mapApiRoutes(); + + $this->mapWebRoutes(); + + $this->mapAdminRoutes(); + } + + /** + * Define the "web" routes for the application. + * + * These routes all receive session state, CSRF protection, etc. + */ + protected function mapWebRoutes(): void + { + Route::middleware('web')->group(module_path('Ads', '/routes/web.php')); + } + + /** + * Define the "api" routes for the application. + * + * These routes are typically stateless. + */ + protected function mapApiRoutes(): void + { + Route::middleware('api')->prefix('api')->name('api.')->group(module_path('Ads', '/routes/api.php')); + } + + /** + * Define the "api" routes for the application. + * + * These routes are typically stateless. + */ + protected function mapAdminRoutes(): void + { + Route::middleware('api')->prefix('admin')->name('admin.')->group(module_path('Ads', '/routes/admin.php')); + } +} diff --git a/modules/Ads/app/Services/AdsService.php b/modules/Ads/app/Services/AdsService.php new file mode 100644 index 0000000..ed93b8b --- /dev/null +++ b/modules/Ads/app/Services/AdsService.php @@ -0,0 +1,124 @@ + +// +---------------------------------------------------------------------- +namespace Modules\Ads\Services; + +use Modules\Ads\Models\Ads; + +class AdsService { + + /** + * @title 广告列表 + * + * @param [type] $request + * @return void + */ + public function getDataList($request){ + $map = []; + + if($request->filled('title')){ + $map[] = ['title', 'like', '%'.$request->input('title').'%']; + } + if($request->filled('client_id')){ + $map[] = ['client_id', '=', $request->input('client_id')]; + } + if($request->filled('code')){ + $map[] = ['code', '=', $request->input('code')]; + } + if($request->filled('group')){ + $map[] = ['group', '=', $request->input('group')]; + } + if($request->filled('status')){ + $map[] = ['status', '=', $request->input('status')]; + } + + $query = Ads::where($map); + + $query->orderBy($request->input('order', 'sort'), $request->input('sort', 'desc')); + if($request->filled('page')){ + $data = [ + 'total' => $query->count(), + 'page' => $request->input('page', 1), + 'data' => $query->offset($request->input('offset', 0))->limit($request->input('limit', 10))->get(), + ]; + }else{ + $data = $query->get(); + } + return $data; + } + + /** + * @title 添加广告 + * + * @param [type] $request + * @return void + */ + public function create($request){ + $request->validate([ + 'title' => 'required', + 'group' => 'required' + ], [ + 'title.required' => '请输入广告名称', + 'group.required' => '请输入广告位标识' + ]); + + $ads = new Ads; + foreach ($ads->setFilterFields($request->all()) as $key => $value) { + $ads->$key = $value; + } + + $ads->save(); + return $ads; + } + + /** + * @title 更新广告 + * + * @param [type] $request + * @return void + */ + public function update($request){ + $request->validate([ + 'title' => 'required', + 'group' => 'required' + ], [ + 'title.required' => '请输入广告名称', + 'group.required' => '请输入广告位标识' + ]); + + $ads = Ads::findOrFail($request->input('id')); + + foreach ($ads->setFilterFields($request->all()) as $key => $value) { + $ads->$key = $value; + } + + $ads->save(); + return $ads; + } + + public function delete($request){ + if($request->filled('id')){ + try { + $ads = Ads::findOrFail($request->input('id')); + } catch (\Throwable $th) { + throw new \Exception("广告不存在!", 1); + } + $ads->delete(); + } + if($request->filled('ids')){ + try { + $ads = Ads::whereIn('id', $request->input('ids')); + $ads->delete(); + } catch (\Throwable $th) { + throw new \Exception($th->getMessage(), 1); + } + } + + return $ads; + } +} diff --git a/modules/Ads/composer.json b/modules/Ads/composer.json new file mode 100644 index 0000000..b2420c6 --- /dev/null +++ b/modules/Ads/composer.json @@ -0,0 +1,30 @@ +{ + "name": "tensent/ads", + "description": "", + "authors": [ + { + "name": "molong", + "email": "molong@tensent.cn" + } + ], + "extra": { + "laravel": { + "providers": [], + "aliases": { + + } + } + }, + "autoload": { + "psr-4": { + "Modules\\Ads\\": "app/", + "Modules\\Ads\\Database\\Factories\\": "database/factories/", + "Modules\\Ads\\Database\\Seeders\\": "database/seeders/" + } + }, + "autoload-dev": { + "psr-4": { + "Modules\\Ads\\Tests\\": "tests/" + } + } +} diff --git a/modules/Ads/config/.gitkeep b/modules/Ads/config/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/modules/Ads/config/config.php b/modules/Ads/config/config.php new file mode 100644 index 0000000..6b8cf24 --- /dev/null +++ b/modules/Ads/config/config.php @@ -0,0 +1,5 @@ + 'Ads', +]; diff --git a/modules/Ads/database/factories/.gitkeep b/modules/Ads/database/factories/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/modules/Ads/database/migrations/.gitkeep b/modules/Ads/database/migrations/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/modules/Ads/database/migrations/2024_08_19_231401_ads_table.php b/modules/Ads/database/migrations/2024_08_19_231401_ads_table.php new file mode 100644 index 0000000..9969a80 --- /dev/null +++ b/modules/Ads/database/migrations/2024_08_19_231401_ads_table.php @@ -0,0 +1,39 @@ +id()->uniqid()->comment('主键id'); + $table->unsignedBigInteger('client_id')->default(0)->comment('站点ID'); + $table->string('title')->comment('广告标题'); + $table->string('name')->nullable()->comment('广告标识'); + $table->string('group')->nullable()->comment('广告所属板块标识'); + $table->string('description')->nullable()->comment('广告描述'); + $table->string('cover')->nullable()->comment('广告封面'); + $table->string('link')->nullable()->comment('广告链接'); + $table->string('sort')->default(0)->comment('排序'); + $table->tinyInteger('status')->default(1)->comment('状态 1正常 2禁用'); + $table->timestamp('created_at')->nullable()->comment('创建时间'); + $table->timestamp('updated_at')->nullable()->comment('更新时间'); + + $table->engine = 'InnoDB'; + $table->charset = 'utf8mb4'; + $table->collation = 'utf8mb4_unicode_ci'; + $table->comment('广告表'); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void { + Schema::dropIfExists('ads'); + } +}; diff --git a/modules/Ads/database/seeders/.gitkeep b/modules/Ads/database/seeders/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/modules/Ads/database/seeders/AdsDatabaseSeeder.php b/modules/Ads/database/seeders/AdsDatabaseSeeder.php new file mode 100644 index 0000000..17c6f76 --- /dev/null +++ b/modules/Ads/database/seeders/AdsDatabaseSeeder.php @@ -0,0 +1,42 @@ + +// +---------------------------------------------------------------------- +namespace Modules\Ads\Database\Seeders; + +use Illuminate\Database\Seeder; +use Illuminate\Support\Facades\DB; +use App\Services\Auth\MenuService; + +class AdsDatabaseSeeder extends Seeder +{ + /** + * Run the database seeds. + */ + public function run(): void + { + $this->initMenu(); + } + + public function initMenu(){ + $menuService = app(MenuService::class); + + $operate = DB::table('auth_permissions')->where('name', 'operate')->first(); + if (!$operate) { + $menu = [ + ['title' => '营销', 'name' => 'operate', 'path' => '/operate', 'component' => '', 'type' => 'menu', 'sort' => 5, 'children' => [ + ['title' => '广告管理', 'name' => 'operate.ads', 'path' => '/operate/ads', 'component' => 'operate/ads', 'type' => 'menu'] + ]] + ]; + $menuService->importMenu($menu, 0); + }else{ + $menuService->importMenu([ + ['title' => '广告管理', 'name' => 'operate.ads', 'path' => '/operate/ads', 'component' => 'operate/ads', 'type' => 'menu'] + ], $operate->id); + } + } +} diff --git a/modules/Ads/module.json b/modules/Ads/module.json new file mode 100644 index 0000000..9cda0f3 --- /dev/null +++ b/modules/Ads/module.json @@ -0,0 +1,11 @@ +{ + "name": "Ads", + "alias": "ads", + "description": "", + "keywords": [], + "priority": 0, + "providers": [ + "Modules\\Ads\\Providers\\AdsServiceProvider" + ], + "files": [] +} diff --git a/modules/Ads/package.json b/modules/Ads/package.json new file mode 100644 index 0000000..d6fbfc8 --- /dev/null +++ b/modules/Ads/package.json @@ -0,0 +1,15 @@ +{ + "private": true, + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build" + }, + "devDependencies": { + "axios": "^1.1.2", + "laravel-vite-plugin": "^0.7.5", + "sass": "^1.69.5", + "postcss": "^8.3.7", + "vite": "^4.0.0" + } +} diff --git a/modules/Ads/resources/assets/js/app.js b/modules/Ads/resources/assets/js/app.js new file mode 100644 index 0000000..e69de29 diff --git a/modules/Ads/resources/assets/sass/app.scss b/modules/Ads/resources/assets/sass/app.scss new file mode 100644 index 0000000..e69de29 diff --git a/modules/Ads/resources/views/index.blade.php b/modules/Ads/resources/views/index.blade.php new file mode 100644 index 0000000..6ad78a4 --- /dev/null +++ b/modules/Ads/resources/views/index.blade.php @@ -0,0 +1,7 @@ +@extends('ads::layouts.master') + +@section('content') +

Hello World

+ +

Module: {!! config('ads.name') !!}

+@endsection diff --git a/modules/Ads/resources/views/layouts/master.blade.php b/modules/Ads/resources/views/layouts/master.blade.php new file mode 100644 index 0000000..914cc13 --- /dev/null +++ b/modules/Ads/resources/views/layouts/master.blade.php @@ -0,0 +1,29 @@ + + + + + + + + + + Ads Module - {{ config('app.name', 'Laravel') }} + + + + + + + + + + {{-- Vite CSS --}} + {{-- {{ module_vite('build-ads', 'resources/assets/sass/app.scss') }} --}} + + + + @yield('content') + + {{-- Vite JS --}} + {{-- {{ module_vite('build-ads', 'resources/assets/js/app.js') }} --}} + diff --git a/modules/Ads/routes/.gitkeep b/modules/Ads/routes/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/modules/Ads/routes/admin.php b/modules/Ads/routes/admin.php new file mode 100644 index 0000000..ae6361b --- /dev/null +++ b/modules/Ads/routes/admin.php @@ -0,0 +1,16 @@ + +// +---------------------------------------------------------------------- +use Illuminate\Support\Facades\Route; + +Route::controller(Modules\Ads\Controllers\Admin\Ads::class)->prefix('ads')->name('ads.')->group(function () { + Route::get('/index', 'index')->name('index'); + Route::post('/add', 'add')->name('add'); + Route::put('/edit', 'edit')->name('edit'); + Route::delete('/delete', 'delete')->name('delete'); +}); diff --git a/modules/Ads/routes/api.php b/modules/Ads/routes/api.php new file mode 100644 index 0000000..6bc26b8 --- /dev/null +++ b/modules/Ads/routes/api.php @@ -0,0 +1,13 @@ + +// +---------------------------------------------------------------------- +use Illuminate\Support\Facades\Route; + +Route::controller(Modules\Ads\Controllers\Api\Ads::class)->prefix('ads')->name('ads.')->group(function () { + Route::get('/index', 'index')->name('index'); +}); diff --git a/modules/Ads/routes/web.php b/modules/Ads/routes/web.php new file mode 100644 index 0000000..1dea33c --- /dev/null +++ b/modules/Ads/routes/web.php @@ -0,0 +1,9 @@ + +// +---------------------------------------------------------------------- +use Illuminate\Support\Facades\Route; diff --git a/modules/Ads/vite.config.js b/modules/Ads/vite.config.js new file mode 100644 index 0000000..84e7174 --- /dev/null +++ b/modules/Ads/vite.config.js @@ -0,0 +1,26 @@ +import { defineConfig } from 'vite'; +import laravel from 'laravel-vite-plugin'; + +export default defineConfig({ + build: { + outDir: '../../public/build-ads', + emptyOutDir: true, + manifest: true, + }, + plugins: [ + laravel({ + publicDirectory: '../../public', + buildDirectory: 'build-ads', + input: [ + __dirname + '/resources/assets/sass/app.scss', + __dirname + '/resources/assets/js/app.js' + ], + refresh: true, + }), + ], +}); + +//export const paths = [ +// 'Modules/Ads/resources/assets/sass/app.scss', +// 'Modules/Ads/resources/assets/js/app.js', +//]; \ No newline at end of file diff --git a/modules/Member/app/Controllers/.gitkeep b/modules/Member/app/Controllers/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/modules/Member/app/Controllers/Admin/Extend.php b/modules/Member/app/Controllers/Admin/Extend.php new file mode 100644 index 0000000..2b93c49 --- /dev/null +++ b/modules/Member/app/Controllers/Admin/Extend.php @@ -0,0 +1,39 @@ + +// +---------------------------------------------------------------------- +namespace Modules\Member\Controllers\Admin; + +use Illuminate\Http\Request; +use App\Http\Controllers\BaseController; +use Modules\Member\Services\ExtendService; + +class Extend extends BaseController { + + public function index(Request $request, ExtendService $service){ + try { + $this->data['data'] = $service->getDataList($request); + } catch (\Throwable $th) { + $this->data['code'] = 0; + $this->data['message'] = $th->getMessage(); + } + + return $this->data; + } + + public function audit(Request $request, ExtendService $service){ + try { + $this->data['data'] = $service->audit($request); + $this->data['message'] = '审核完成!'; + } catch (\Throwable $th) { + $this->data['code'] = 0; + $this->data['message'] = $th->getMessage(); + } + + return $this->data; + } +} \ No newline at end of file diff --git a/modules/Member/app/Controllers/Admin/Field.php b/modules/Member/app/Controllers/Admin/Field.php new file mode 100644 index 0000000..fe2cab1 --- /dev/null +++ b/modules/Member/app/Controllers/Admin/Field.php @@ -0,0 +1,130 @@ + +// +---------------------------------------------------------------------- +namespace Modules\Member\Controllers\Admin; + +use Illuminate\Http\Request; +use App\Http\Controllers\BaseController; +use Modules\Member\Services\FieldsService; + +class Field extends BaseController { + + /** + * @title 获取字段列表 + * + * @param Request $request + * @param FieldsService $service + * @return void + */ + public function index(Request $request, FieldsService $service) { + try { + $this->data['data'] = $service->getDataList($request); + $this->data['message'] = '获取成功'; + } catch (\Throwable $th) { + $this->data['code'] = 0; + $this->data['message'] = $th->getMessage(); + } + + return $this->data; + } + + /** + * @title 添加字段 + * + * @param Request $request + * @param FieldsService $service + * @return void + */ + public function add(Request $request, FieldsService $service) { + try { + $this->data['data'] = $service->create($request); + $this->data['message'] = '添加成功'; + } catch (\Throwable $th) { + $this->data['code'] = 0; + $this->data['message'] = $th->getMessage(); + } + + return $this->data; + } + + /** + * @title 编辑字段 + * + * @param Request $request + * @param FieldsService $service + * @return void + */ + public function edit(Request $request, FieldsService $service) { + try { + $this->data['data'] = $service->update($request); + $this->data['message'] = '编辑成功'; + } catch (\Throwable $th) { + $this->data['code'] = 0; + $this->data['message'] = $th->getMessage(); + } + + return $this->data; + } + + /** + * @title 删除字段 + * + * @param Request $request + * @param FieldsService $service + * @return void + */ + public function delete(Request $request, FieldsService $service) { + try { + $this->data['data'] = $service->delete($request); + $this->data['message'] = '删除成功'; + } catch (\Throwable $th) { + $this->data['code'] = 0; + $this->data['message'] = $th->getMessage(); + } + + return $this->data; + } + + /** + * @title 字段列表 + * + * @param Request $request + * @param FieldsService $service + * @return void + */ + public function lists(Request $request, FieldsService $service){ + try { + $this->data['data'] = $service->getFieldList($request); + $this->data['message'] = '获取成功'; + } catch (\Throwable $th) { + $this->data['code'] = 0; + $this->data['message'] = $th->getMessage(); + } + + return $this->data; + } + + /** + * @title 列表字段配置 + * + * @param Request $request + * @param FieldsService $service + * @return void + */ + public function setting(Request $request, FieldsService $service){ + try { + $this->data['data'] = $service->getFieldSetting($request); + $this->data['message'] = '获取成功'; + } catch (\Throwable $th) { + $this->data['code'] = 0; + $this->data['message'] = $th->getMessage(); + } + + return $this->data; + } +} diff --git a/modules/Member/app/Controllers/Admin/Index.php b/modules/Member/app/Controllers/Admin/Index.php new file mode 100644 index 0000000..3825e2b --- /dev/null +++ b/modules/Member/app/Controllers/Admin/Index.php @@ -0,0 +1,124 @@ + +// +---------------------------------------------------------------------- +namespace Modules\Member\Controllers\Admin; + +use Illuminate\Http\Request; +use App\Http\Controllers\BaseController; +use Modules\Member\Services\MemberService; + +class Index extends BaseController{ + + /** + * @title 会员列表 + * + * @param Request $request + * @param MemberService $service + * @return void + */ + public function index(Request $request, MemberService $service){ + try { + $this->data['data'] = $service->getDataList($request); + } catch (\Exception $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + + return response()->json($this->data); + } + + /** + * @title 添加会员 + * + * @param Request $request + * @param MemberService $service + * @return void + */ + public function add(Request $request, MemberService $service){ + try { + $this->data['data'] = $service->create($request); + } catch (\Exception $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + + return response()->json($this->data); + } + + /** + * @title 修改会员 + * + * @param Request $request + * @param MemberService $service + * @return void + */ + public function edit(Request $request, MemberService $service){ + try { + $this->data['data'] = $service->update($request); + } catch (\Exception $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + + return response()->json($this->data); + } + + /** + * @title 删除会员 + * + * @param Request $request + * @param MemberService $service + * @return void + */ + public function delete(Request $request, MemberService $service){ + try { + $this->data['data'] = $service->delete($request); + } catch (\Exception $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + + return response()->json($this->data); + } + + /** + * @title 导入会员 + * + * @param Request $request + * @param MemberService $service + * @return void + */ + public function import(Request $request, MemberService $service){ + try { + $this->data['data'] = $service->import($request); + } catch (\Exception $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + + return response()->json($this->data); + } + + /** + * @title 导出会员 + * + * @param Request $request + * @param MemberService $service + * @return void + */ + public function export(Request $request, MemberService $service){ + try { + $this->data['data'] = $service->export($request); + } catch (\Exception $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + + return response()->json($this->data); + } +} diff --git a/modules/Member/app/Controllers/Admin/Level.php b/modules/Member/app/Controllers/Admin/Level.php new file mode 100644 index 0000000..ba912a5 --- /dev/null +++ b/modules/Member/app/Controllers/Admin/Level.php @@ -0,0 +1,88 @@ + +// +---------------------------------------------------------------------- +namespace Modules\Member\Controllers\Admin; + +use Illuminate\Http\Request; +use App\Http\Controllers\BaseController; +use Modules\Member\Services\LevelService; + +class Level extends BaseController{ + + /** + * @title 会员列表 + * + * @param Request $request + * @param LevelService $service + * @return void + */ + public function index(Request $request, LevelService $service){ + try { + $this->data['data'] = $service->getDataList($request); + } catch (\Exception $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + + return response()->json($this->data); + } + + /** + * @title 添加会员 + * + * @param Request $request + * @param LevelService $service + * @return void + */ + public function add(Request $request, LevelService $service){ + try { + $this->data['data'] = $service->create($request); + } catch (\Exception $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + + return response()->json($this->data); + } + + /** + * @title 修改会员 + * + * @param Request $request + * @param LevelService $service + * @return void + */ + public function edit(Request $request, LevelService $service){ + try { + $this->data['data'] = $service->update($request); + } catch (\Exception $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + + return response()->json($this->data); + } + + /** + * @title 删除会员 + * + * @param Request $request + * @param LevelService $service + * @return void + */ + public function delete(Request $request, LevelService $service){ + try { + $this->data['data'] = $service->delete($request); + } catch (\Exception $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + + return response()->json($this->data); + } +} diff --git a/modules/Member/app/Controllers/Api/Extend.php b/modules/Member/app/Controllers/Api/Extend.php new file mode 100644 index 0000000..d0ef28f --- /dev/null +++ b/modules/Member/app/Controllers/Api/Extend.php @@ -0,0 +1,82 @@ + +// +---------------------------------------------------------------------- +namespace Modules\Member\Controllers\Api; + +use Illuminate\Http\Request; +use App\Http\Controllers\BaseController; +use Modules\Member\Services\LevelService; +use Modules\Member\Services\FieldsService; +use Modules\Member\Services\ExtendService; + +class Extend extends BaseController { + + /** + * title 会员扩展列表 + * + * @param Request $request + * @param ExtendService $service + * @return void + */ + public function index(Request $request, ExtendService $service){ + try { + $request->mergeIfMissing(['status' => 1]); + $this->data['data'] = $service->getDataList($request); + } catch (\Throwable $th) { + $this->data['code'] = 0; + $this->data['message'] = $th->getMessage(); + } + + return response()->json($this->data); + } + + public function detail(Request $request, ExtendService $service){ + try { + $this->data['data'] = $service->getDetail($request); + } catch (\Throwable $th) { + $this->data['code'] = 0; + $this->data['message'] = $th->getMessage(); + } + + return response()->json($this->data); + } + + public function field(Request $request, FieldsService $service){ + try { + $request->mergeIfMissing(['status' => 1]); + $this->data['data'] = $service->getDataList($request); + } catch (\Throwable $th) { + $this->data['code'] = 0; + $this->data['message'] = $th->getMessage(); + } + + return response()->json($this->data); + } + + public function level(Request $request, LevelService $service){ + try { + $this->data['data'] = $service->getDataList($request); + } catch (\Throwable $th) { + $this->data['code'] = 0; + $this->data['message'] = $th->getMessage(); + } + + return response()->json($this->data); + } + + public function save(Request $request, ExtendService $service){ + try { + $this->data['data'] = $service->update($request); + } catch (\Throwable $th) { + $this->data['code'] = 0; + $this->data['message'] = $th->getMessage(); + } + + return response()->json($this->data); + } +} \ No newline at end of file diff --git a/modules/Member/app/Controllers/Api/Index.php b/modules/Member/app/Controllers/Api/Index.php new file mode 100644 index 0000000..56e9d30 --- /dev/null +++ b/modules/Member/app/Controllers/Api/Index.php @@ -0,0 +1,100 @@ + +// +---------------------------------------------------------------------- +namespace Modules\Member\Controllers\Api; + +use Illuminate\Http\Request; +use App\Http\Controllers\BaseController; +use Modules\Member\Services\MemberService; + +class Index extends BaseController { + + /** + * @title 用户列表 + * + * @param Request $request + * @param MemberService $service + * @return void + */ + public function index(Request $request, MemberService $service){ + try { + $this->data['data'] = $service->getDataList($request); + } catch (\Throwable $th) { + $this->data['code'] = 0; + $this->data['message'] = $th->getMessage(); + } + + return response()->json($this->data); + } + /** + * @title 手机号绑定 + * + * @param MemberService $service + * @return void + */ + public function mobile(MemberService $service){ + try { + $this->data['data'] = $service->bindMobile($this->request->param()); + } catch (\think\Exception $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + return $this->data; + } + + /** + * @title 微信绑定 + * + * @param MemberService $service + * @return void + */ + public function upwechat(MemberService $service){ + try { + $this->data['data'] = $service->updateWechatInfo($this->request->param()); + } catch (\think\Exception $e) { + $this->data['code'] = 0; + $this->data['message'] = $e->getMessage(); + } + return $this->data; + } + + public function edit(Request $request, MemberService $service){ + try { + $request->mergeIfMissing(['uid' => auth('api')->user()['uid']]); + $this->data['data'] = $service->update($request); + } catch (\Throwable $th) { + $this->data['code'] = 0; + $this->data['message'] = $th->getMessage(); + } + + return $this->data; + } + + public function editpasswd(Request $request, MemberService $service){ + try { + $request->mergeIfMissing(['uid' => auth('api')->user()['uid']]); + $this->data['data'] = $service->updatePasswd($request); + } catch (\Throwable $th) { + $this->data['code'] = 0; + $this->data['message'] = $th->getMessage(); + } + + return $this->data; + } + + public function card(Request $request, MemberService $service){ + try { + $this->data['data'] = $service->getDetail($request); + } catch (\Throwable $th) { + $this->data['code'] = 0; + $this->data['message'] = $th->getMessage(); + } + + return $this->data; + } +} diff --git a/modules/Member/app/Controllers/Api/Login.php b/modules/Member/app/Controllers/Api/Login.php new file mode 100644 index 0000000..b4ca63f --- /dev/null +++ b/modules/Member/app/Controllers/Api/Login.php @@ -0,0 +1,87 @@ + +// +---------------------------------------------------------------------- +namespace Modules\Member\Controllers\Api; + +use Illuminate\Http\Request; +use App\Http\Controllers\BaseController; +use Modules\Member\Services\AuthService; + +class Login extends BaseController { + + /** + * @title 登录 + * + * @param Request $request + * @param AuthService $service + * @return void + */ + public function index(Request $request, AuthService $service){ + try { + $this->data['data'] = $service->userLogin($request); + } catch (\Throwable $th) { + $this->data['code'] = 0; + $this->data['message'] = $th->getMessage(); + } + + return response()->json($this->data); + } + + /** + * @title 退出 + * + * @param Request $request + * @param AuthService $service + * @return void + */ + public function logout(Request $request, AuthService $service){ + try { + $this->data['data'] = $service->userLogout($request); + } catch (\Throwable $th) { + $this->data['code'] = 0; + $this->data['message'] = $th->getMessage(); + } + + return response()->json($this->data); + } + + /** + * @title 注册 + * + * @param Request $request + * @param AuthService $service + * @return void + */ + public function register(Request $request, AuthService $service){ + try { + $this->data['data'] = $service->userRegister($request); + } catch (\Throwable $th) { + $this->data['code'] = 0; + $this->data['message'] = $th->getMessage(); + } + + return response()->json($this->data); + } + + /** + * @title 获取当前登录用户信息 + * + * @return void + */ + public function user(){ + $type = request('type', 'wechat'); + $user = auth('api')->user(); + + $user->level = $user->level()->first(); + $user->social = $user->social()->where('type', $type)->first(); + $user->store = $user->store()->first(); + $user->pm = $user->pm()->where('status', 1)->first(); + $this->data['data'] = $user; + return response()->json($this->data); + } +} diff --git a/modules/Member/app/Controllers/Api/Social.php b/modules/Member/app/Controllers/Api/Social.php new file mode 100644 index 0000000..ff5aeb1 --- /dev/null +++ b/modules/Member/app/Controllers/Api/Social.php @@ -0,0 +1,60 @@ + +// +---------------------------------------------------------------------- +namespace Modules\Member\Controllers\Api; + +use Illuminate\Http\Request; +use App\Services\Social\Wechat\OauthService; +use Modules\Member\Services\AuthService; +use App\Http\Controllers\BaseController; + +class Social extends BaseController{ + + public function wechat(Request $request, OauthService $service){ + if($request->filled('code')){ + if($request->filled('url')){ + return redirect($request->input('url') . '?code=' . $request->input('code', '')); + } + }else{ + $res = $service->oauth($request); + return redirect($res); + } + } + + public function login(Request $request, OauthService $service){ + $type = $request->input('type', 'wechat'); + if($request->filled('code')){ + switch ($type) { + case 'wechat': + try { + $wechatInfo = $service->wechatLogin($request->input('code', '')); + $request->merge([ + 'username' => $wechatInfo['openid'], + 'nickname' => $wechatInfo['nickname'], + 'password' => uniqid() + ]); + $member = app(AuthService::class)->userRegister($request, $wechatInfo, 'wechat'); + $token = auth('api')->login($member); + $this->data['data'] = [ + 'access_token' => $token, + 'token_type' => 'bearer', + 'expires_in' => auth('api')->factory()->getTTL() * 60 + ]; + } catch (\Throwable $th) { + $this->data['message'] = $th->getMessage(); + $this->data['code'] = 0; + } + break; + } + }else{ + $this->data['message'] = "非法操作!"; + $this->data['code'] = 0; + } + return response()->json($this->data); + } +} diff --git a/modules/Member/app/Events/LoginBefore.php b/modules/Member/app/Events/LoginBefore.php new file mode 100644 index 0000000..6c6e0f7 --- /dev/null +++ b/modules/Member/app/Events/LoginBefore.php @@ -0,0 +1,33 @@ + + */ + public function broadcastOn(): array { + return [ + new PrivateChannel('channel-name'), + ]; + } +} diff --git a/modules/Member/app/Events/LoginEvent.php b/modules/Member/app/Events/LoginEvent.php new file mode 100644 index 0000000..85ef89b --- /dev/null +++ b/modules/Member/app/Events/LoginEvent.php @@ -0,0 +1,34 @@ + + */ + public function broadcastOn(): array { + return [ + new PrivateChannel('channel-name'), + ]; + } +} diff --git a/modules/Member/app/Events/MemberUpdate.php b/modules/Member/app/Events/MemberUpdate.php new file mode 100644 index 0000000..7521e4a --- /dev/null +++ b/modules/Member/app/Events/MemberUpdate.php @@ -0,0 +1,40 @@ + +// +---------------------------------------------------------------------- +namespace Modules\Member\Events; + +use Illuminate\Broadcasting\Channel; +use Illuminate\Broadcasting\InteractsWithSockets; +use Illuminate\Broadcasting\PresenceChannel; +use Illuminate\Broadcasting\PrivateChannel; +use Illuminate\Contracts\Broadcasting\ShouldBroadcast; +use Illuminate\Foundation\Events\Dispatchable; +use Illuminate\Queue\SerializesModels; +use Modules\Member\Models\Member; + +class MemberUpdate { + use Dispatchable, InteractsWithSockets, SerializesModels; + + /** + * Create a new event instance. + */ + public function __construct(public Member $member){ + // + } + + /** + * Get the channels the event should broadcast on. + * + * @return array + */ + public function broadcastOn(): array{ + return [ + new PrivateChannel('channel-name'), + ]; + } +} diff --git a/modules/Member/app/Events/Registered.php b/modules/Member/app/Events/Registered.php new file mode 100644 index 0000000..074cdb9 --- /dev/null +++ b/modules/Member/app/Events/Registered.php @@ -0,0 +1,40 @@ + +// +---------------------------------------------------------------------- +namespace Modules\Member\Events; + +use Illuminate\Broadcasting\Channel; +use Illuminate\Broadcasting\InteractsWithSockets; +use Illuminate\Broadcasting\PresenceChannel; +use Illuminate\Broadcasting\PrivateChannel; +use Illuminate\Contracts\Broadcasting\ShouldBroadcast; +use Illuminate\Foundation\Events\Dispatchable; +use Illuminate\Queue\SerializesModels; +use Modules\Member\Models\Member; + +class Registered { + use Dispatchable, InteractsWithSockets, SerializesModels; + + /** + * Create a new event instance. + */ + public function __construct(public Member $member, public $openid = '', public $type = ''){ + // + } + + /** + * Get the channels the event should broadcast on. + * + * @return array + */ + public function broadcastOn(): array{ + return [ + new PrivateChannel('channel-name'), + ]; + } +} diff --git a/modules/Member/app/Jobs/MemberExport.php b/modules/Member/app/Jobs/MemberExport.php new file mode 100644 index 0000000..a64fa83 --- /dev/null +++ b/modules/Member/app/Jobs/MemberExport.php @@ -0,0 +1,77 @@ + +// +---------------------------------------------------------------------- +namespace Modules\Member\Jobs; + +use Illuminate\Bus\Queueable; +use Illuminate\Queue\SerializesModels; +use Illuminate\Queue\InteractsWithQueue; +use Illuminate\Contracts\Queue\ShouldQueue; +use Illuminate\Foundation\Bus\Dispatchable; +use Modules\Member\Models\Member; +use Modules\Member\Models\Fields; +use Modules\System\Models\Tasks; +use Illuminate\Support\Facades\Storage; +use Dcat\EasyExcel\Excel; +use Dcat\EasyExcel\Contracts\Sheet as SheetInterface; +use Dcat\EasyExcel\Support\SheetCollection; + +class MemberExport implements ShouldQueue { + use Dispatchable, InteractsWithQueue, Queueable, SerializesModels; + + protected $params; + protected $tasks; + + /** + * Create a new job instance. + */ + public function __construct($params, Tasks $tasks) { + $this->params = $params; + $this->tasks = $tasks; + } + + /** + * Execute the job. + */ + public function handle(): void { + $file = $this->params['fileName'] ? 'export/' . $this->params['fileName'] : 'member_' . date('YmdHis') . '.xlsx'; + + //扩展字段 + $fields = Fields::all(); + Excel::export()->chunk(function(int $page) use($fields){ + $chunkSize = 1000; + $query = Member::with(['extend', 'level'])->forPage($page, $chunkSize); + logger($query->toSql()); + if ($query->count() == 0) { + $this->tasks->status = 1; + $this->tasks->save(); + return; + } + $data = $query->get(); + $exportData = []; + foreach ($data as $key => $value) { + $item = [ + '用户名' => $value->username, + '昵称' => $value->nickname, + '手机号' => $value->mobile, + '邮箱' => $value->email, + ]; + foreach ($fields as $field) { + $item[$field->title] = $value->extend ? $value->extend->{$field->name} : ''; + } + $item['等级'] = $value->level ? $value->level->title : '未设置等级'; + $item['等级到期时间'] = $value->level_expire_time; + $item['登录次数'] = $value->login_count; + $item['注册时间'] = $value->created_at; + + $exportData[] = $item; + } + return $exportData; + })->disk(Storage::disk('public'))->store($file); + } +} \ No newline at end of file diff --git a/modules/Member/app/Jobs/MemberImport.php b/modules/Member/app/Jobs/MemberImport.php new file mode 100644 index 0000000..72a529f --- /dev/null +++ b/modules/Member/app/Jobs/MemberImport.php @@ -0,0 +1,79 @@ + +// +---------------------------------------------------------------------- +namespace Modules\Member\Jobs; + +use Illuminate\Bus\Queueable; +use Illuminate\Queue\SerializesModels; +use Illuminate\Queue\InteractsWithQueue; +use Illuminate\Contracts\Queue\ShouldQueue; +use Illuminate\Foundation\Bus\Dispatchable; +use Modules\Member\Models\Member; +use Modules\Member\Models\Fields; +use Modules\Member\Models\MemberExtend; +use Modules\System\Models\Tasks; +use Illuminate\Support\Facades\Storage; +use Dcat\EasyExcel\Excel; +use Dcat\EasyExcel\Contracts\Sheet as SheetInterface; +use Dcat\EasyExcel\Support\SheetCollection; + +class MemberImport implements ShouldQueue { + use Dispatchable, InteractsWithQueue, Queueable, SerializesModels; + + protected $file; + protected $tasks; + + /** + * Create a new job instance. + */ + public function __construct($file, Tasks $tasks) { + $this->file = Storage::disk('public')->path($file); + $this->tasks = $tasks; + } + + /** + * Execute the job. + */ + public function handle(): void { + //扩展字段 + $fields = Fields::all(); + Excel::import($this->file)->each(function (SheetInterface $sheet) use($fields) { + $chunkSize = 100; + $sheet->chunk($chunkSize, function (SheetCollection $collection) { + $collection->each(function ($row) { + if (empty($row)){ + $this->tasks->status = 1; + $this->tasks->save(); + return true; + } + + $member = Member::updateOrCreate([ + 'username' => $row['用户名'], + 'mobile' => $row['手机号'], + 'email' => $row['邮箱'] + ], [ + 'nickname' => $row['昵称'], + 'password' => $row['手机号'], + ]); + + if ($member->id) { + if($member->extend()->exists()){ + $extend = $member->extend()->first(); + }else{ + $extend = new MemberExtend(); + $extend->member_id = $member->id; + } + foreach ($fields as $field) { + $extend->{$field->name} = $row[$field->title]; + } + } + }); + }); + }); + } +} \ No newline at end of file diff --git a/modules/Member/app/Listeners/UpMemberPaswd.php b/modules/Member/app/Listeners/UpMemberPaswd.php new file mode 100644 index 0000000..b209551 --- /dev/null +++ b/modules/Member/app/Listeners/UpMemberPaswd.php @@ -0,0 +1,36 @@ + +// +---------------------------------------------------------------------- +namespace Modules\Member\Listeners; + +use Modules\Member\Events\LoginBefore; +use Modules\Member\Models\Member; + +class UpMemberPaswd { + + /** + * @title 会员登录后更新用户信息 + * + * @param LoginEvent $event + * @return void + */ + public function handle(LoginBefore $event) { + $username = $event->username; + $password = $event->password; + + $member = Member::where('username', '=', $username)->whereNotNull('old_password')->first(); + if($member){ + if(md5($password . $member->salt) === $member->old_password){ + $member->password = $password; + $member->old_password = ''; + $member->salt = ''; + $member->save(); + } + } + } +} diff --git a/modules/Member/app/Listeners/UpdateMember.php b/modules/Member/app/Listeners/UpdateMember.php new file mode 100644 index 0000000..809f962 --- /dev/null +++ b/modules/Member/app/Listeners/UpdateMember.php @@ -0,0 +1,27 @@ + +// +---------------------------------------------------------------------- +namespace Modules\Member\Listeners; + +use Modules\Member\Events\Registered; +use Modules\Member\Models\Member; + +class UpdateMember { + + /** + * @title 会员登录后更新用户信息 + * + * @param LoginEvent $event + * @return void + */ + public function handle(Registered $event) { + $member = $event->member; + $openid = $event->openid; + $type = $event->type; + } +} diff --git a/modules/Member/app/Models/Fields.php b/modules/Member/app/Models/Fields.php new file mode 100644 index 0000000..7e66353 --- /dev/null +++ b/modules/Member/app/Models/Fields.php @@ -0,0 +1,21 @@ + +// +---------------------------------------------------------------------- +namespace Modules\Member\Models; + +use App\Models\BaseModel; +use Illuminate\Database\Eloquent\Attributes\ObservedBy; +use Modules\Member\Observers\FieldObserver; + +#[ObservedBy([FieldObserver::class])] +class Fields extends BaseModel { + + protected $table = 'member_extends_fields'; + protected $fillable = []; + // protected $hidden = ['deleted_at']; +} diff --git a/modules/Member/app/Models/Member.php b/modules/Member/app/Models/Member.php new file mode 100644 index 0000000..1f7e013 --- /dev/null +++ b/modules/Member/app/Models/Member.php @@ -0,0 +1,97 @@ + +// +---------------------------------------------------------------------- +namespace Modules\Member\Models; + +use Tymon\JWTAuth\Contracts\JWTSubject; +use Illuminate\Notifications\Notifiable; +use Illuminate\Notifications\Notification; +use Illuminate\Foundation\Auth\User as Authenticatable; +use Illuminate\Database\Eloquent\Casts\Attribute; +use Illuminate\Support\Facades\Hash; + +class Member extends Authenticatable implements JWTSubject { + use Notifiable; + + protected $table = 'member'; + protected $primaryKey = 'uid'; + protected $fillable = ['username', 'nickname', 'email', 'mobile', 'password', 'status']; + protected $hidden = ['password', 'deleted_at']; + protected $dateFormat = 'Y-m-d H:i:s'; + protected $with = ['invite:uid,nickname,username,level_id', 'extend', 'level', 'store', 'social', 'pm']; + + /** + * Get the identifier that will be stored in the subject claim of the JWT. + * + * @return mixed + */ + public function getJWTIdentifier() { + return $this->getKey(); + } + + /** + * Return a key value array, containing any custom claims to be added to the JWT. + * + * @return array + */ + public function getJWTCustomClaims() { + return []; + } + + protected function casts(): array { + return [ + 'created_at' => 'datetime:Y-m-d H:i:s', + 'updated_at' => 'datetime:Y-m-d H:i:s', + 'deleted_at' => 'datetime:Y-m-d H:i:s', + ]; + } + + public function password() : Attribute { + return new Attribute( + set: fn ($value) => Hash::make($value), + ); + } + + public function avatar(): Attribute { + return new Attribute( + get: fn ($value) => $value ?? request()->root() . '/storage/avatar/default_avatar.jpg', + ); + } + + public function routeNotificationForMail(Notification $notification): array|string{ + return [$this->email => $this->nickname]; + } + + public function invite(){ + return $this->hasOne(Member::class, 'uid', 'invite_uid'); + } + + public function extend(){ + return $this->hasOne(MemberExtends::class, 'member_id', 'uid'); + } + + public function social(){ + return $this->hasMany(\Modules\Wechat\Models\MemberSocial::class, 'member_id', 'uid'); + } + + public function level(){ + return $this->hasOne(MemberLevel::class, 'id', 'level_id'); + } + + public function address(){ + return $this->hasMany(MemberAddress::class, 'member_id', 'id'); + } + + public function pm(){ + return $this->hasOne(Pm::class, 'member_id', 'pm_uid'); + } + + public function store(){ + return $this->hasOne(Store::class, 'member_id', 'store_uid'); + } +} diff --git a/modules/Member/app/Models/MemberAccount.php b/modules/Member/app/Models/MemberAccount.php new file mode 100644 index 0000000..a6f77c9 --- /dev/null +++ b/modules/Member/app/Models/MemberAccount.php @@ -0,0 +1,18 @@ + +// +---------------------------------------------------------------------- +namespace Modules\Member\Models; + +use App\Models\BaseModel; + +class MemberAccount extends BaseModel { + + protected $table = 'member_account'; + protected $fillable = []; + // protected $hidden = ['deleted_at']; +} diff --git a/modules/Member/app/Models/MemberAddress.php b/modules/Member/app/Models/MemberAddress.php new file mode 100644 index 0000000..580e3ef --- /dev/null +++ b/modules/Member/app/Models/MemberAddress.php @@ -0,0 +1,18 @@ + +// +---------------------------------------------------------------------- +namespace Modules\Member\Models; + +use App\Models\BaseModel; + +class MemberAddress extends BaseModel { + + protected $table = 'member_address'; + protected $fillable = []; + // protected $hidden = ['deleted_at']; +} diff --git a/modules/Member/app/Models/MemberBank.php b/modules/Member/app/Models/MemberBank.php new file mode 100644 index 0000000..ac59fa1 --- /dev/null +++ b/modules/Member/app/Models/MemberBank.php @@ -0,0 +1,18 @@ + +// +---------------------------------------------------------------------- +namespace Modules\Member\Models; + +use App\Models\BaseModel; + +class MemberBank extends BaseModel { + + protected $table = 'member_bank'; + protected $fillable = []; + // protected $hidden = ['deleted_at']; +} diff --git a/modules/Member/app/Models/MemberCoupon.php b/modules/Member/app/Models/MemberCoupon.php new file mode 100644 index 0000000..aeabd9e --- /dev/null +++ b/modules/Member/app/Models/MemberCoupon.php @@ -0,0 +1,18 @@ + +// +---------------------------------------------------------------------- +namespace Modules\Member\Models; + +use App\Models\BaseModel; + +class MemberCoupon extends BaseModel { + + protected $table = 'member_coupon'; + protected $fillable = []; + // protected $hidden = ['deleted_at']; +} diff --git a/modules/Member/app/Models/MemberExtends.php b/modules/Member/app/Models/MemberExtends.php new file mode 100644 index 0000000..e7c7548 --- /dev/null +++ b/modules/Member/app/Models/MemberExtends.php @@ -0,0 +1,22 @@ + +// +---------------------------------------------------------------------- +namespace Modules\Member\Models; + +use App\Models\BaseModel; + +class MemberExtends extends BaseModel { + + protected $table = 'member_extends'; + protected $fillable = []; + // protected $hidden = ['deleted_at']; + + public function member(){ + return $this->belongsTo(Member::class, 'member_id', 'uid'); + } +} diff --git a/modules/Member/app/Models/MemberLevel.php b/modules/Member/app/Models/MemberLevel.php new file mode 100644 index 0000000..bd6a928 --- /dev/null +++ b/modules/Member/app/Models/MemberLevel.php @@ -0,0 +1,22 @@ + +// +---------------------------------------------------------------------- +namespace Modules\Member\Models; + +use App\Models\BaseModel; + +class MemberLevel extends BaseModel { + + protected $table = 'member_level'; + protected $fillable = ['title', 'name', 'icon', 'sort', 'status', 'remark', 'created_at', 'updated_at']; + // protected $hidden = ['deleted_at']; + + public function members(){ + return $this->belongsToMany(Member::class, 'member_has_level', 'level_id', 'member_id'); + } +} diff --git a/modules/Member/app/Models/MemberScore.php b/modules/Member/app/Models/MemberScore.php new file mode 100644 index 0000000..4a664e2 --- /dev/null +++ b/modules/Member/app/Models/MemberScore.php @@ -0,0 +1,18 @@ + +// +---------------------------------------------------------------------- +namespace Modules\Member\Models; + +use App\Models\BaseModel; + +class MemberScore extends BaseModel { + + protected $table = 'member_score'; + protected $fillable = []; + // protected $hidden = ['deleted_at']; +} diff --git a/modules/Member/app/Models/MemberStore.php b/modules/Member/app/Models/MemberStore.php new file mode 100644 index 0000000..91825a6 --- /dev/null +++ b/modules/Member/app/Models/MemberStore.php @@ -0,0 +1,18 @@ + +// +---------------------------------------------------------------------- +namespace Modules\Member\Models; + +use App\Models\BaseModel; + +class MemberStore extends BaseModel { + + protected $table = 'member_store'; + protected $fillable = []; + // protected $hidden = ['deleted_at']; +} diff --git a/modules/Member/app/Models/MemberWallet.php b/modules/Member/app/Models/MemberWallet.php new file mode 100644 index 0000000..ee920b1 --- /dev/null +++ b/modules/Member/app/Models/MemberWallet.php @@ -0,0 +1,18 @@ + +// +---------------------------------------------------------------------- +namespace Modules\Member\Models; + +use App\Models\BaseModel; + +class MemberWallet extends BaseModel { + + protected $table = 'member_wallet'; + protected $fillable = []; + // protected $hidden = ['deleted_at']; +} diff --git a/modules/Member/app/Models/Pm.php b/modules/Member/app/Models/Pm.php new file mode 100644 index 0000000..7c80e06 --- /dev/null +++ b/modules/Member/app/Models/Pm.php @@ -0,0 +1,22 @@ + +// +---------------------------------------------------------------------- +namespace Modules\Member\Models; + +use App\Models\BaseModel; + +class Pm extends BaseModel { + + protected $table = 'member_pm'; + protected $fillable = []; + // protected $hidden = ['deleted_at']; + + public function members(){ + return $this->belongsTo(Member::class, 'member_id', 'uid'); + } +} diff --git a/modules/Member/app/Models/Store.php b/modules/Member/app/Models/Store.php new file mode 100644 index 0000000..530440e --- /dev/null +++ b/modules/Member/app/Models/Store.php @@ -0,0 +1,22 @@ + +// +---------------------------------------------------------------------- +namespace Modules\Member\Models; + +use App\Models\BaseModel; + +class Store extends BaseModel { + + protected $table = 'member_store'; + protected $fillable = []; + // protected $hidden = ['deleted_at']; + + public function members(){ + return $this->belongsTo(Member::class, 'member_id', 'uid'); + } +} diff --git a/modules/Member/app/Notifications/Member.php b/modules/Member/app/Notifications/Member.php new file mode 100644 index 0000000..9889136 --- /dev/null +++ b/modules/Member/app/Notifications/Member.php @@ -0,0 +1,57 @@ +email) { + $via[] = 'mail'; + } + if ($notifiable->mobile) { + $via[] = 'sms'; + } + return $via; + } + + /** + * Get the mail representation of the notification. + */ + public function toMail($notifiable): MailMessage + { + return (new MailMessage) + ->subject('通知主题') + ->greeting('你好!') + ->line('The introduction to the notification.') + ->action('Notification Action', 'https://laravel.com') + ->line('Thank you for using our application!'); + } + + /** + * Get the array representation of the notification. + */ + public function toArray($notifiable): array + { + return []; + } +} diff --git a/modules/Member/app/Observers/FieldObserver.php b/modules/Member/app/Observers/FieldObserver.php new file mode 100644 index 0000000..c4e4693 --- /dev/null +++ b/modules/Member/app/Observers/FieldObserver.php @@ -0,0 +1,107 @@ + +// +---------------------------------------------------------------------- +namespace Modules\Member\Observers; + +use Modules\Member\Models\Fields; +use Illuminate\Database\Schema\Blueprint; +use Illuminate\Support\Facades\Schema; +use Illuminate\Support\Facades\DB; +use Illuminate\Support\Str; + +class FieldObserver { + + public $type = [ + 'string' => 'string', + 'audio' => 'string', + 'video' => 'string', + 'editor' => 'longText', + 'text' => 'text', + 'image' => 'string', + 'images' => 'text', + 'file' => 'string', + 'files' => 'text', + 'number' => 'integer', + 'bool' => 'boolean', + 'date' => 'date', + 'datetime' => 'dateTime', + 'select' => 'string', + 'radio' => 'string', + 'checkbox' => 'text' + ]; + /** + * 处理 "created" 事件。 + */ + public function created(Fields $fields): void { + $table = 'member_extends'; + if(Schema::hasTable($table)){ + Schema::table($table, function (Blueprint $table) use ($fields) { + $type = $this->type[$fields->type] ? $this->type[$fields->type] : 'string'; + if($fields->length){ + $field = $table->{$type}($fields->name, length: $fields->length); + }else{ + $field = $table->{$type}($fields->name); + } + if($fields->default_value){ + $field = $field->default($fields->default_value); + } + if($fields->type == 'required'){ + $field = $field->nullable(); + } + $field = $field->comment($fields->title)->after($fields->after); + }); + } + } + + /** + * 处理 "updated" 事件。 + */ + public function updated(Fields $fields): void { + $table = 'member_extends'; + if (!Schema::hasTable($table) && !Schema::hasColumn($table, $fields->name)) { + return; + } + if($fields->isDirty('name') && Schema::hasColumn($table, $fields->getOriginal('name'))){ + Schema::table($table, function (Blueprint $table) use ($fields) { + $table->renameColumn($fields->getOriginal('name'), $fields->name); + }); + } + + if($fields->isDirty()){ + Schema::table($table, function (Blueprint $table) use ($fields) { + $type = $this->type[$fields->type] ? $this->type[$fields->type] : 'string'; + if($fields->length){ + $field = $table->{$type}($fields->name, length: $fields->length); + }else{ + $field = $table->{$type}($fields->name); + } + if($fields->default_value){ + $field = $table->default($fields->default_value); + }else{ + if($fields->type == 'required'){ + $field = $field->nullable(false); + }else{ + $field = $field->nullable(); + } + } + $field->after($fields->after)->comment($fields->title)->change(); + }); + } + } + + public function deleted(Fields $fields): void { + if($fields->status == 1){ + $table = 'member_extends'; + if (Schema::hasTable($table) && Schema::hasColumn($table, $fields->name)) { + Schema::table($table, function (Blueprint $table) use ($fields) { + $table->dropColumn($fields->name); + }); + } + } + } +} diff --git a/modules/Member/app/Providers/.gitkeep b/modules/Member/app/Providers/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/modules/Member/app/Providers/EventServiceProvider.php b/modules/Member/app/Providers/EventServiceProvider.php new file mode 100644 index 0000000..be5e0f0 --- /dev/null +++ b/modules/Member/app/Providers/EventServiceProvider.php @@ -0,0 +1,42 @@ + +// +---------------------------------------------------------------------- +namespace Modules\Member\Providers; + +use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider; + +class EventServiceProvider extends ServiceProvider +{ + /** + * The event handler mappings for the application. + * + * @var array> + */ + protected $listen = [ + \Modules\Member\Events\LoginBefore::class => [ + \Modules\Member\Listeners\UpMemberPaswd::class, + ], + ]; + + /** + * Indicates if events should be discovered. + * + * @var bool + */ + protected static $shouldDiscoverEvents = true; + + /** + * Configure the proper event listeners for email verification. + * + * @return void + */ + protected function configureEmailVerification(): void + { + + } +} diff --git a/modules/Member/app/Providers/MemberServiceProvider.php b/modules/Member/app/Providers/MemberServiceProvider.php new file mode 100644 index 0000000..7dfc5ee --- /dev/null +++ b/modules/Member/app/Providers/MemberServiceProvider.php @@ -0,0 +1,120 @@ +registerCommands(); + $this->registerCommandSchedules(); + $this->registerTranslations(); + $this->registerConfig(); + $this->registerViews(); + $this->loadMigrationsFrom(module_path($this->moduleName, 'database/migrations')); + } + + /** + * Register the service provider. + */ + public function register(): void + { + $this->app->register(EventServiceProvider::class); + $this->app->register(RouteServiceProvider::class); + } + + /** + * Register commands in the format of Command::class + */ + protected function registerCommands(): void + { + // $this->commands([]); + } + + /** + * Register command Schedules. + */ + protected function registerCommandSchedules(): void + { + // $this->app->booted(function () { + // $schedule = $this->app->make(Schedule::class); + // $schedule->command('inspire')->hourly(); + // }); + } + + /** + * Register translations. + */ + public function registerTranslations(): void + { + $langPath = resource_path('lang/modules/'.$this->moduleNameLower); + + if (is_dir($langPath)) { + $this->loadTranslationsFrom($langPath, $this->moduleNameLower); + $this->loadJsonTranslationsFrom($langPath); + } else { + $this->loadTranslationsFrom(module_path($this->moduleName, 'lang'), $this->moduleNameLower); + $this->loadJsonTranslationsFrom(module_path($this->moduleName, 'lang')); + } + } + + /** + * Register config. + */ + protected function registerConfig(): void + { + $this->publishes([module_path($this->moduleName, 'config/config.php') => config_path($this->moduleNameLower.'.php')], 'config'); + $this->mergeConfigFrom(module_path($this->moduleName, 'config/config.php'), $this->moduleNameLower); + } + + /** + * Register views. + */ + public function registerViews(): void + { + $viewPath = resource_path('views/modules/'.$this->moduleNameLower); + $sourcePath = module_path($this->moduleName, 'resources/views'); + + $this->publishes([$sourcePath => $viewPath], ['views', $this->moduleNameLower.'-module-views']); + + $this->loadViewsFrom(array_merge($this->getPublishableViewPaths(), [$sourcePath]), $this->moduleNameLower); + + $componentNamespace = str_replace('/', '\\', config('modules.namespace').'\\'.$this->moduleName.'\\'.ltrim(config('modules.paths.generator.component-class.path'), config('modules.paths.app_folder', ''))); + Blade::componentNamespace($componentNamespace, $this->moduleNameLower); + } + + /** + * Get the services provided by the provider. + * + * @return array + */ + public function provides(): array + { + return []; + } + + /** + * @return array + */ + private function getPublishableViewPaths(): array + { + $paths = []; + foreach (config('view.paths') as $path) { + if (is_dir($path.'/modules/'.$this->moduleNameLower)) { + $paths[] = $path.'/modules/'.$this->moduleNameLower; + } + } + + return $paths; + } +} diff --git a/modules/Member/app/Providers/RouteServiceProvider.php b/modules/Member/app/Providers/RouteServiceProvider.php new file mode 100644 index 0000000..2557baa --- /dev/null +++ b/modules/Member/app/Providers/RouteServiceProvider.php @@ -0,0 +1,67 @@ + +// +---------------------------------------------------------------------- +namespace Modules\Member\Providers; + +use Illuminate\Support\Facades\Route; +use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider; + +class RouteServiceProvider extends ServiceProvider +{ + /** + * Called before routes are registered. + * + * Register any model bindings or pattern based filters. + */ + public function boot(): void + { + parent::boot(); + } + + /** + * Define the routes for the application. + */ + public function map(): void + { + $this->mapApiRoutes(); + + $this->mapWebRoutes(); + + $this->mapAdminRoutes(); + } + + /** + * Define the "web" routes for the application. + * + * These routes all receive session state, CSRF protection, etc. + */ + protected function mapWebRoutes(): void + { + Route::middleware('web')->group(module_path('Member', '/routes/web.php')); + } + + /** + * Define the "api" routes for the application. + * + * These routes are typically stateless. + */ + protected function mapApiRoutes(): void + { + Route::middleware('api')->prefix('api')->name('api.')->group(module_path('Member', '/routes/api.php')); + } + + /** + * Define the "api" routes for the application. + * + * These routes are typically stateless. + */ + protected function mapAdminRoutes(): void + { + Route::middleware('api')->prefix('admin')->name('admin.')->group(module_path('Member', '/routes/admin.php')); + } +} diff --git a/modules/Member/app/Services/AuthService.php b/modules/Member/app/Services/AuthService.php new file mode 100644 index 0000000..56ec0be --- /dev/null +++ b/modules/Member/app/Services/AuthService.php @@ -0,0 +1,134 @@ + +// +---------------------------------------------------------------------- +namespace Modules\Member\Services; + +use Modules\Member\Models\Member; +use Modules\Member\Events\LoginBefore; +use Modules\Member\Events\LoginEvent; +use Modules\Member\Events\Registered; + +class AuthService { + + /** + * @title 会员登录 + * + * @param [type] $request + * @return void + */ + public function userLogin($request){ + $request->validate([ + 'username' => 'required', + 'password' => 'required', + ]); + + $username = $request->input('username'); + $password = $request->input('password'); + LoginBefore::dispatch($username, $password); + + $token = auth('api')->attempt(['mobile' => $username, 'password' => $password]); + + if (!$token) { + throw new \Exception("登錄失敗!", 1000); + }else{ + LoginEvent::dispatch(auth('api')->user(), $request->input('openid', ''), $request->input('type')); + // 判断是否到期 + $user = auth('api')->user(); + if(isset($user['level_expire_time']) && $user['level_expire_time'] != ''){ + $level_expire_time = strtotime($user['level_expire_time']); + if($level_expire_time < time()){ + throw new \Exception("您的會員已到期,請聯系管理員!", 1004); + } + } + + return [ + 'access_token' => $token, + 'token_type' => 'bearer', + 'expires_in' => auth('api')->factory()->getTTL() * 60 + ]; + } + } + + /** + * @title UID登录 + * @description 提供给第三方登录接口 + * + * @param [type] $uid + * @param array $params 第三方登录参数 + * @param string $type 第三方登录类型 + * @return void + */ + public function userLoginByUid($uid, $params = [], $type = 'wechat'){ + $member = Member::find($uid); + if(!$member){ + throw new \Exception("用户不存在!", 1000); + } + + $token = auth('api')->login($member); + + if (!$token) { + throw new \Exception("登录失败!", 1000); + }else{ + LoginEvent::dispatch(auth('api')->user(), $params, $type); + return [ + 'access_token' => $token, + 'token_type' => 'bearer', + 'expires_in' => auth('api')->factory()->getTTL() * 60 + ]; + } + } + + /** + * @title 会员注册 + * + * @param [type] $request + * @return void + */ + public function userRegister($request){ + $request->validate([ + 'username' => 'required|unique:member,username', + 'password' => 'required', + 'mobile' => 'nullable|unique:member,mobile', + ], [ + 'username.unique' => '用户名已存在!', + 'mobile.unique' => '手机号已存在!', + 'username.required' => '用户名不能为空!', + 'password.required' => '密码不能为空!' + ]); + + $member = Member::where('username', '=', $request->input('username'))->first(); + if(!$member){ + $data = [ + 'username' => $request->input('username'), + 'password' => $request->input('password'), + 'nickname' => $request->input('nickname', ''), + 'avatar' => $request->input('avatar', ''), + 'mobile' => $request->input('mobile', 0), + ]; + + $member = Member::updateOrCreate($data); + } + Registered::dispatch($member, $request->input('openid', ''), $request->input('type', '')); + $token = auth('api')->login($member); + return [ + 'access_token' => $token, + 'token_type' => 'bearer', + 'expires_in' => auth('api')->factory()->getTTL() * 60 + ]; + } + + /** + * @title 会员退出 + * + * @param [type] $request + * @return void + */ + public function userLogout($request){ + auth('api')->logout(); + } +} diff --git a/modules/Member/app/Services/ExtendService.php b/modules/Member/app/Services/ExtendService.php new file mode 100644 index 0000000..87c5e54 --- /dev/null +++ b/modules/Member/app/Services/ExtendService.php @@ -0,0 +1,146 @@ + +// +---------------------------------------------------------------------- +namespace Modules\Member\Services; + +use Modules\Member\Models\Fields; +use Modules\Member\Models\MemberExtends; + +class ExtendService { + + public function getDataList($request){ + $map = []; + + $query = MemberExtends::with('member:uid,username,nickname,avatar,level_id,level_expire_time'); + + if ($request->filled('member_id')){ + $query->where('member_id', $request->input('member_id')); + } + + if ($request->filled('keyword')){ + $map[] = ['name', 'like', '%' . $request->input('keyword') . '%']; + } + if ($request->filled('name')){ + $map[] = ['name', 'like', '%' . $request->input('name') . '%']; + } + + if ($request->filled('status')){ + $map[] = ['status', '=', $request->input('status')]; + } + + $query->where($map); + + $query->orderBy($request->input('order', 'id'), $request->input('sort', 'desc')); + if ($request->filled('page')){ + $data = [ + 'total' => $query->count(), + 'page' => (int) $request->input('page', 1), + 'data' => $query->offset($request->input('offset', 0))->limit($request->input('limit', 30))->get(), + ]; + }else{ + $data = $query->limit($request->input('limit', 10))->get(); + } + + return $data; + } + + public function getDetail($request){ + if ($request->filled('member_id')){ + $member_id = $request->input('member_id'); + } else { + $member_id = auth('api')->user()['uid']; + } + + $extends = MemberExtends::with('member:uid,username,nickname,avatar,level_id,level_expire_time', 'member.level')->where('member_id', $member_id)->first(); + + if (!$extends){ + throw new \Exception('用户数据不存在'); + } + if ($extends->status == 0){ + throw new \Exception('用户数据审核中'); + } + if ($extends->status == 2){ + throw new \Exception('用户数据审核未通过'); + } + + return $extends ?? []; + } + + public function update($request){ + $field = Fields::all(); + + if ($request->filled('member_id')){ + $member_id = $request->input('member_id'); + } else { + $member_id = auth('api')->user()['uid']; + } + + $extends = MemberExtends::where('member_id', $member_id)->first(); + if (!$extends){ + $extends = new MemberExtends(); + $extends->member_id = $member_id; + } + + foreach ($field as $key => $value) { + if ($request->filled($value['name']) && $request->input($value['name']) != ''){ + $extends->{$value['name']} = $request->input($value['name']); + } + } + + $extends->status = 0; + $extends->save(); + return $extends; + } + + public function audit($request){ + $request->validate([ + 'id' => 'required', + 'member_id' => 'required', + 'level_id' => 'required', + 'status' => 'required|integer|in:0,1,2', + 'level_expire_time' => 'required|date', + ], [ + 'id.required' => 'ID不能为空', + 'member_id.required' => '用户ID不能为空', + 'level_id.required' => '等级ID不能为空', + 'status.required' => '审核状态不能为空', + 'status.integer' => '审核状态必须为数字', + 'status.in' => '审核状态值错误', + 'level_expire_time.required' => '等级过期时间不能为空', + 'level_expire_time.date' => '等级过期时间格式错误', + ]); + + $extends = MemberExtends::where('id', $request->input('id'))->first(); + + if (!$extends){ + throw new \Exception('审核数据不存在'); + } + + $extends->status = $request->input('status'); + $extends->card_number = 'NF9' . str_pad($extends->member_id, 6, '0', STR_PAD_LEFT); + + $extends->save(); + + if ($request->input('status') == 1){ + $member = $extends->member()->first(); + $member->level_id = $request->input('level_id'); + $member->level_expire_time = $request->input('level_expire_time'); + if ($extends->name){ + $member->nickname = $extends->name; + } + if ($extends->mobile){ + $member->mobile = $extends->mobile; + } + if ($extends->email){ + $member->email = $extends->email; + } + $member->save(); + } + return $extends; + } +} \ No newline at end of file diff --git a/modules/Member/app/Services/FieldsService.php b/modules/Member/app/Services/FieldsService.php new file mode 100644 index 0000000..fb55d07 --- /dev/null +++ b/modules/Member/app/Services/FieldsService.php @@ -0,0 +1,140 @@ + +// +---------------------------------------------------------------------- +namespace Modules\Member\Services; + +use Modules\Member\Models\Fields; +use Illuminate\Support\Facades\Schema; +use Illuminate\Support\Str; + +class FieldsService { + + /** + * @title 字段列表 + * + * @param [type] $request + * @return void + */ + public function getDataList($request) { + $map = []; + + if ($request->filled('status')) { + $map[] = ['status', '=', $request->input('status')]; + } + + $query = Fields::where($map); + + if($request->filled('page')){ + $data = [ + 'total' => $query->count(), + 'page' => $request->input('page', 1), + 'data' => $query->offset($request->input('offset', 0))->limit($request->input('limit', 10))->get(), + ]; + }else{ + $data = $query->limit($request->input('limit', 10))->get(); + } + + return $data; + } + + /** + * @title 创建字段 + * + * @param [type] $request + * @return void + */ + public function create($request) { + $request->validate([ + 'name' => 'required|unique:cms_model_field', + 'title' => 'required', + 'type' => 'required', + ]); + $field = new Fields(); + + foreach ($field->setFilterFields($request->all()) as $key => $value) { + $field->$key = $value; + } + + $field->save(); + return $field; + } + + /** + * @title 更新字段 + * + * @param [type] $request + * @return void + */ + public function update($request) { + $request->validate([ + 'name' => 'required|unique:cms_model_field,name,' . $request->input('id'), + 'title' => 'required', + 'type' => 'required', + ]); + $field = Fields::find($request->input('id')); + + foreach ($field->setFilterFields($request->all()) as $key => $value){ + $field->$key = $value; + } + + $field->save(); + return $field; + } + + /** + * @title 删除字段 + * + * @param [type] $request + * @return void + */ + public function delete($request) { + if($request->filled('id')){ + try { + $field = Fields::findOrFail($request->input('id')); + } catch (\Throwable $th) { + throw new \Exception("模型不存在!", 1); + } + $field->delete(); + } + if($request->filled('ids')){ + try { + $field = Fields::whereIn('id', $request->input('ids')); + $field->delete(); + } catch (\Throwable $th) { + throw new \Exception($th->getMessage(), 1); + } + } + return $field; + } + + public function getFieldList($request){ + $fields = Schema::getColumnListing('member_extends'); + + $data = []; + foreach ($fields as $value) { + if ($value !== $request->input('name')) + $data[] = ['title' => $value, 'values' => $value]; + } + return $data; + } + + public function getFieldSetting($request){ + $map = []; + + $query = Fields::with('model:id,title,name,icon'); + + if ($request->filled('model')) { + $query->whereHas('model', function($q) use($request) { + $q->where('name', $request->input('model')); + }); + } + + $data = $query->get(); + return $data; + } +} diff --git a/modules/Member/app/Services/LevelService.php b/modules/Member/app/Services/LevelService.php new file mode 100644 index 0000000..90a05c9 --- /dev/null +++ b/modules/Member/app/Services/LevelService.php @@ -0,0 +1,124 @@ + +// +---------------------------------------------------------------------- +namespace Modules\Member\Services; + +use Modules\Member\Models\MemberLevel; + +class LevelService { + + /** + * @title 获取会员列表 + * + * @param [type] $request + * @return void + */ + public function getDataList($request){ + $map = []; + + if ($request->filled('title')) { + $map[] = ['title', 'like', '%' . $request->input('title') . '%']; + } + if ($request->filled('name')) { + $map[] = ['name', 'like', '%' . $request->input('name') . '%']; + } + $query = MemberLevel::where($map)->orderBy('id', 'desc'); + + if ($request->filled('page')) { + $data = [ + 'total' => $query->count(), + 'page' => $request->input('page', 1), + 'data' => $query->offset($request->input('offset', 0))->limit($request->input('limit', 30))->get(), + ]; + }else{ + $data = $query->limit($request->input('limit', 30))->get(); + } + return $data; + } + + /** + * @title 添加会员 + * + * @param Request $request + * @param MemberService $service + * @return void + */ + public function create($request){ + $request->validate([ + 'title' => 'required|max:255', + 'name' => 'required|max:255|alpha_dash:ascii|unique:member_level,name', + ]); + + $data = [ + 'title' => $request->input('title', ''), + 'name' => $request->input('name', ''), + 'icon' => $request->input('icon', ''), + 'sort' => $request->input('sort', 0), + 'status' => $request->input('status', 1), + 'remark' => $request->input('remark', ''), + ]; + + $level = MemberLevel::create($data); + } + + /** + * @title 修改会员 + * + * @param Request $request + * @param MemberService $service + * @return void + */ + public function update($request){ + $request->validate([ + 'title' => 'required|max:255', + 'name' => 'required|max:255|alpha_dash:ascii|unique:member_level,name,' . $request->input('id'), + ]); + + try { + $level = MemberLevel::findOrFail($request->input('id')); + } catch (\Throwable $th) { + throw new \Exception("会员不存在!", 1); + } + + $data = [ + 'title'=> $request->input('title', ''), + 'name' => $request->input('name', ''), + 'icon' => $request->input('icon', ''), + 'sort' => $request->input('sort', 0), + 'status' => $request->input('status', 1), + 'remark' => $request->input('remark', ''), + ]; + $level->update($data); + return $level; + } + + public function delete($request){ + if($request->filled('id')){ + try { + $level = MemberLevel::findOrFail($request->input('id')); + } catch (\Throwable $th) { + throw new \Exception("会员等级不存在!", 1); + } + $level->members()->detach(); + $level->delete(); + } + if($request->filled('ids')){ + try { + $level = MemberLevel::whereIn('id', $request->input('ids')); + foreach ($level->get() as $item) { + $item->members()->detach(); //删除关联 + } + $level->delete(); + } catch (\Throwable $th) { + throw new \Exception($th->getMessage(), 1); + } + } + + return $level; + } +} diff --git a/modules/Member/app/Services/MemberService.php b/modules/Member/app/Services/MemberService.php new file mode 100644 index 0000000..6642ca1 --- /dev/null +++ b/modules/Member/app/Services/MemberService.php @@ -0,0 +1,299 @@ + +// +---------------------------------------------------------------------- +namespace Modules\Member\Services; + +use Modules\Member\Models\Member; +use Modules\Member\Events\MemberUpdate; + +class MemberService { + + /** + * @title 获取会员列表 + * + * @param [type] $request + * @return void + */ + public function getDataList($request){ + $map = []; + + if ($request->filled('username')) { + $map[] = ['username', 'like', '%' . $request->input('username') . '%']; + } + if ($request->filled('mobile')) { + $map[] = ['mobile', 'like', '%' . $request->input('mobile') . '%']; + } + if ($request->filled('email')) { + $map[] = ['email', 'like', '%' . $request->input('email') . '%']; + } + + $query = Member::with(['social', 'level'])->where($map)->orderBy('uid', 'desc'); + + if ($request->filled('title')) { + $query->whereAny(['nickname', 'username'], 'like', '%' . $request->input('title') . '%'); + } + $data = [ + 'total' => $query->count(), + 'page' => $request->input('page', 1), + 'data' => $query->offset($request->input('offset', 0))->limit($request->input('limit', 10))->get(), + ]; + return $data; + } + + public function getDetail($request){ + $request->validate([ + 'id_card' => 'required', + ], [ + 'id_card.required' => '身份证号不能为空!', + ]); + + $query = Member::with(['level', 'extend']); + if ($request->filled('id_card')) { + $query->whereHas('extend', function ($query) use ($request) { + $query->where('id_card', $request->input('id_card')); + }); + } + + if ($request->is('api/*')) { + $query->select(['nickname', 'uid', 'level_id']); + } + + if ($query->exists()) { + return $query->first(); + } else { + throw new \Exception("会员不存在!", 1); + } + } + + /** + * @title 创建用户 + * + * @param [type] $request + * @return void + */ + public function create($request){ + $request->validate([ + 'username' => 'required|unique:member', + 'nickname' => 'required', + 'mobile' => 'required|unique:member', + 'password' => 'required|min:6|max:16' + ], [ + 'username.required' => '用户名不能为空!', + 'username.unique' => '用户名已存在!', + 'nickname.required' => '昵称不能为空!', + 'mobile.required' => '手机号不能为空!', + 'mobile.unique' => '手机号已存在!', + 'password.required' => '密码不能为空!', + 'password.min' => '密码长度不能小于6位!', + 'password.max' => '密码长度不能大于16位!' + ]); + + $member = new Member; + + if ($request->filled('username')) { + $member->username = $request->input('username'); + } + if ($request->filled('nickname')) { + $member->nickname = $request->input('nickname'); + } + if ($request->filled('avatar')) { + $member->avatar = $request->input('avatar'); + } + if ($request->filled('email')) { + $member->email = $request->input('email'); + } + if ($request->filled('gender')) { + $member->gender = $request->input('gender'); + } + if ($request->filled('birthday')) { + $member->birthday = $request->input('birthday'); + } + if ($request->filled('date_type')) { + $member->date_type = $request->input('date_type'); + } + if ($request->filled('mobile')) { + $member->mobile = $request->input('mobile'); + } + if ($request->filled('level_expire_time')) { + $member->level_expire_time = $request->input('level_expire_time'); + } + if ($request->filled('password')) { + $member->password = $request->input('password'); + } + if ($request->filled('status')) { + $member->status = $request->input('status'); + } + $member->invite_uid = $request->input('invite_uid', '1890000001'); + $member->pm_uid = $request->input('pm_uid', '1890000001'); + $member->store_uid = $request->input('store_uid', '1890000001'); + $member->level_id = $request->input('level_id', '1'); + + $member->save(); + + return $member; + } + + /** + * @title 更新用户 + * + * @param [type] $request + * @return void + */ + public function update($request){ + $request->validate([ + 'username' => 'unique:member,username,'.$request->input('uid').',uid', + 'mobile' => 'unique:member,mobile,'.$request->input('uid').',uid', + ],[ + 'username.unique' => '用户名已存在!', + 'mobile.unique' => '手机号已存在!', + ]); + if ($request->filled('uid')) { + $members = Member::where('uid', $request->input('uid'))->first(); + } + if ($request->is('api/*') && auth('api')->user()) { + $members = Member::where('uid', auth('api')->user()['uid'])->first(); + } + + if ($request->filled('username')) { + $members->username = $request->input('username'); + } + if ($request->filled('nickname')) { + $members->nickname = $request->input('nickname'); + } + if ($request->filled('avatar')) { + $members->avatar = $request->input('avatar'); + } + if ($request->filled('email')) { + $members->email = $request->input('email'); + } + if ($request->filled('gender')) { + $members->gender = $request->input('gender'); + } + if ($request->filled('birthday')) { + $members->birthday = $request->input('birthday'); + } + if ($request->filled('date_type')) { + $members->date_type = $request->input('date_type'); + } + if ($request->filled('mobile')) { + $members->mobile = $request->input('mobile'); + } + if ($request->filled('password')) { + $members->password = $request->input('password'); + } + if ($request->filled('level_expire_time')) { + $members->level_expire_time = $request->input('level_expire_time'); + } + + $members->save(); + + MemberUpdate::dispatch($members); + return $members; + } + + public function delete($request){ + if(!$request->filled('uid')){ + throw new \Exception("非法操作!", 1); + } + + if (is_array($request->input('uid'))) { + // 批量删除 + $mebers = Member::whereIn('uid', $request->input('uid'))->get(); + if ($mebers->isEmpty()) { + throw new \Exception("会员不存在!", 1); + } + $member = Member::destroy(request()->input('uid')); + + return $member; + }else{ + // 单个删除 + try { + $mebers = Member::findOrFail($request->input('uid')); + } catch (\Throwable $th) { + throw new \Exception("会员不存在!", 1); + } + $mebers->delete(); + return $mebers; + } + } + + public function updatePasswd($request){ + $request->validate([ + 'password' => 'required|min:6|max:16' + ], [ + 'password.required' => '密码不能为空!', + 'password.min' => '密码长度不能小于6位!', + 'password.max' => '密码长度不能大于16位!' + ]); + if ($request->is('api/*')) { + $request->validate([ + 'old_password' => 'required', + 'password' => 'confirmed' + ], [ + 'old_password.required' => '旧密码不能为空!', + 'password.confirmed' => '两次密码不一致!' + ]); + } + if(!$request->filled('uid')){ + throw new \Exception("非法操作!", 1); + } + + try { + $mebers = Member::findOrFail($request->input('uid')); + } catch (\Throwable $th) { + throw new \Exception("会员不存在!", 1); + } + + if(!$request->filled('password')){ + throw new \Exception("密码不能为空!", 1); + } + + $mebers->password = $request->input('password'); + + $mebers->save(); + return $mebers; + } + + public function import($request){ + $file = $request->file('file'); + + if ($file->isValid()) { + $ext = $file->extension(); + + if (in_array($ext, ['csv', 'xlsx']) === false) { + throw new \Exception("请上传csv文件"); + } + + $path = $file->store('import/'.date('Ymd'), 'public'); + + $tasks = app()->tasks->create([ + 'title' => '会员数据导入', + 'type' => 'import', + 'file' => $path, + 'params' => $request->except('file'), + 'status' => 0, + ]); + if ($tasks->id) { + \Modules\Member\Jobs\MemberImport::dispatch($path, $tasks); + } + } + } + + public function export($request){ + $tasks = app()->tasks->create([ + 'title' => '会员数据导出', + 'type' => 'export', + 'file' => 'export/' . $request->input('fileName', time().'xlsx'), + 'status' => 0, + ]); + + if ($tasks->id) { + \Modules\Member\Jobs\MemberExport::dispatch($request->all(), $tasks); + } + } +} diff --git a/modules/Member/composer.json b/modules/Member/composer.json new file mode 100644 index 0000000..0b00901 --- /dev/null +++ b/modules/Member/composer.json @@ -0,0 +1,30 @@ +{ + "name": "tensent/member", + "description": "", + "authors": [ + { + "name": "molong", + "email": "molong@tensent.cn" + } + ], + "extra": { + "laravel": { + "providers": [], + "aliases": { + + } + } + }, + "autoload": { + "psr-4": { + "Modules\\Member\\": "app/", + "Modules\\Member\\Database\\Factories\\": "database/factories/", + "Modules\\Member\\Database\\Seeders\\": "database/seeders/" + } + }, + "autoload-dev": { + "psr-4": { + "Modules\\Member\\Tests\\": "tests/" + } + } +} diff --git a/modules/Member/config/.gitkeep b/modules/Member/config/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/modules/Member/config/config.php b/modules/Member/config/config.php new file mode 100644 index 0000000..a496c19 --- /dev/null +++ b/modules/Member/config/config.php @@ -0,0 +1,5 @@ + 'Member', +]; diff --git a/modules/Member/database/factories/.gitkeep b/modules/Member/database/factories/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/modules/Member/database/migrations/.gitkeep b/modules/Member/database/migrations/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/modules/Member/database/migrations/2024_05_29_220055_member_base_table.php b/modules/Member/database/migrations/2024_05_29_220055_member_base_table.php new file mode 100644 index 0000000..d15fba5 --- /dev/null +++ b/modules/Member/database/migrations/2024_05_29_220055_member_base_table.php @@ -0,0 +1,72 @@ +id('uid')->unique()->comment('用户ID'); + $table->string('username')->comment('用户名'); + $table->string('password')->comment('密码'); + $table->string('nickname')->comment('昵称'); + $table->string('mobile')->nullable()->comment('手机号'); + $table->string('email')->nullable()->comment('邮箱'); + $table->string('avatar')->nullable()->comment('头像'); + $table->tinyInteger('gender')->default(0)->comment('性别'); + $table->date('birthday')->nullable()->comment('生日'); + $table->unsignedBigInteger('invite_uid')->default(0)->comment('邀请人UID'); + $table->unsignedBigInteger('level_id')->default(0)->comment('会员等级ID'); + $table->string('last_login_ip')->nullable()->comment('最后登录IP'); + $table->timestamp('last_login_time')->nullable()->comment('最后登录时间'); + $table->integer('login_count')->default(0)->comment('登录次数'); + $table->tinyInteger('status')->default(1)->comment('状态 1正常 2禁用'); + $table->timestamp('created_at')->nullable()->comment('创建时间'); + $table->timestamp('updated_at')->nullable()->comment('更新时间'); + + $table->engine = 'InnoDB'; + $table->charset = 'utf8mb4'; + $table->collation = 'utf8mb4_unicode_ci'; + $table->comment('会员表'); + }); + Schema::create('member_level', function (Blueprint $table) { + $table->id()->uniqid()->comment('主键id'); + $table->string('title')->comment('会员等级名称'); + $table->string('name')->comment('会员等级标识'); + $table->string('icon')->nullable()->comment('会员等级图标'); + $table->string('remark')->nullable()->comment('会员等级备注'); + $table->string('sort')->default(0)->comment('排序'); + $table->tinyInteger('status')->default(1)->comment('状态'); + $table->timestamp('created_at')->nullable()->comment('创建时间'); + $table->timestamp('updated_at')->nullable()->comment('更新时间'); + + $table->engine = 'InnoDB'; + $table->charset = 'utf8mb4'; + $table->collation = 'utf8mb4_unicode_ci'; + $table->comment('会员等级表'); + }); + Schema::create('member_has_level', function (Blueprint $table) { + $table->unsignedBigInteger('level_id')->comment('等级id'); + $table->unsignedBigInteger('member_id')->comment('用户id'); + $table->primary(['level_id', 'member_id']); + + $table->engine = 'InnoDB'; + $table->charset = 'utf8mb4'; + $table->collation = 'utf8mb4_unicode_ci'; + $table->comment('会员等级关联表'); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void { + Schema::dropIfExists('member'); + Schema::dropIfExists('member_level'); + Schema::dropIfExists('member_has_level'); + } +}; diff --git a/modules/Member/database/migrations/2024_10_05_035325_memeber_extends.php b/modules/Member/database/migrations/2024_10_05_035325_memeber_extends.php new file mode 100644 index 0000000..9ca7177 --- /dev/null +++ b/modules/Member/database/migrations/2024_10_05_035325_memeber_extends.php @@ -0,0 +1,71 @@ +id()->uniqid()->comment('主键id'); + $table->unsignedBigInteger('member_id')->comment('用户id'); + $table->tinyInteger('status')->default(1)->comment('状态'); + $table->timestamp('created_at')->nullable()->comment('创建时间'); + $table->timestamp('updated_at')->nullable()->comment('更新时间'); + + $table->engine = 'InnoDB'; + $table->charset = 'utf8mb4'; + $table->collation = 'utf8mb4_unicode_ci'; + $table->comment('会员扩展表'); + }); + + Schema::create('member_extends_fields', function (Blueprint $table) { + $table->id()->uniqid()->comment('主键id'); + $table->string('title')->comment('字段名称'); + $table->string('name')->comment('字段标识'); + $table->string('type')->comment('字段类型'); + $table->string('length')->nullable()->comment('字段长度'); + $table->string('default_value')->nullable()->comment('默认值'); + $table->string('after')->nullable()->comment('在字段后'); + $table->string('remark')->nullable()->comment('字段备注'); + $table->tinyInteger('required')->default(0)->comment('是否必填'); + $table->string('sort')->default(0)->comment('排序'); + $table->tinyInteger('status')->default(1)->comment('状态 1正常 2禁用'); + $table->timestamp('created_at')->nullable()->comment('创建时间'); + $table->timestamp('updated_at')->nullable()->comment('更新时间'); + + $table->engine = 'InnoDB'; + $table->charset = 'utf8mb4'; + $table->collation = 'utf8mb4_unicode_ci'; + $table->comment('会员扩展字段表'); + }); + + Schema::create('member_extends_log', function (Blueprint $table) { + $table->id()->uniqid()->comment('主键id'); + $table->unsignedBigInteger('member_id')->comment('用户id'); + $table->string('field')->comment('修改的字段'); + $table->string('old_value')->nullable()->comment('旧值'); + $table->string('new_value')->nullable()->comment('新值'); + $table->timestamp('created_at')->nullable()->comment('创建时间'); + $table->timestamp('updated_at')->nullable()->comment('更新时间'); + + $table->engine = 'InnoDB'; + $table->charset = 'utf8mb4'; + $table->collation = 'utf8mb4_unicode_ci'; + $table->comment('会员扩展日志表'); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void { + Schema::dropIfExists('member_extends'); + Schema::dropIfExists('member_extends_fields'); + Schema::dropIfExists('member_extends_log'); + } +}; diff --git a/modules/Member/database/migrations/2024_10_05_035325_memeber_table_up.php b/modules/Member/database/migrations/2024_10_05_035325_memeber_table_up.php new file mode 100644 index 0000000..d2bf563 --- /dev/null +++ b/modules/Member/database/migrations/2024_10_05_035325_memeber_table_up.php @@ -0,0 +1,23 @@ +timestamp('level_expire_time')->nullable()->after('level_id')->comment('等级到期时间'); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void { + } +}; diff --git a/modules/Member/database/migrations/2025_08_31_210818_member_health.php b/modules/Member/database/migrations/2025_08_31_210818_member_health.php new file mode 100644 index 0000000..7e9405d --- /dev/null +++ b/modules/Member/database/migrations/2025_08_31_210818_member_health.php @@ -0,0 +1,72 @@ +string('invite_code')->nullable()->after('login_count')->comment('推荐码'); + $table->string('old_password')->nullable()->after('password')->comment('旧密码'); + $table->string('salt')->nullable()->after('old_password')->comment('密码盐值'); + $table->unsignedBigInteger('pm_uid')->nullable()->after('invite_code')->comment('健康管理师id'); + $table->unsignedBigInteger('store_id')->nullable()->after('pm_uid')->comment('所属综合服务体'); + }); + + Schema::create('member_pm', function (Blueprint $table) { + $table->id()->uniqid()->comment('主键id'); + $table->unsignedBigInteger('member_id')->comment('用户id'); + $table->tinyInteger('level')->default(1)->comment('等级'); + $table->string('name')->nullable()->comment('名称'); + $table->integer('sex')->default(0)->comment('内容'); + $table->string('mobile')->nullable()->comment('电话'); + $table->string('area')->nullable()->comment('区域'); + $table->tinyInteger('store_id')->default(0)->comment('所属综合服务体'); + $table->tinyInteger('status')->default(1)->comment('状态'); + $table->bigInteger('end_time')->nullable()->comment('到期时间'); + $table->timestamp('created_at')->nullable()->comment('创建时间'); + $table->timestamp('updated_at')->nullable()->comment('更新时间'); + + $table->engine = 'InnoDB'; + $table->charset = 'utf8mb4'; + $table->collation = 'utf8mb4_unicode_ci'; + $table->comment('会员工作室表'); + }); + Schema::create('member_store', function (Blueprint $table) { + $table->id()->uniqid()->comment('主键id'); + $table->unsignedBigInteger('member_id')->comment('用户id'); + $table->string('name')->nullable()->comment('名称'); + $table->string('logo')->nullable()->comment('logo'); + $table->string('mobile')->nullable()->comment('电话'); + $table->string('area')->nullable()->comment('区域'); + $table->string('address')->nullable()->comment('地址'); + $table->string('map')->nullable()->comment('地图坐标'); + $table->string('license')->nullable()->comment('营业执照'); + $table->tinyInteger('status')->default(1)->comment('状态'); + $table->timestamp('created_at')->nullable()->comment('创建时间'); + $table->timestamp('updated_at')->nullable()->comment('更新时间'); + + $table->engine = 'InnoDB'; + $table->charset = 'utf8mb4'; + $table->collation = 'utf8mb4_unicode_ci'; + $table->comment('会员综合服务体表'); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void { + Schema::table('member', function (Blueprint $table) { + $table->dropColumn('invite_code'); + $table->dropColumn('old_password'); + $table->dropColumn('salt'); + }); + Schema::dropIfExists('member_pm'); + Schema::dropIfExists('member_store'); + } +}; diff --git a/modules/Member/database/migrations/2025_12_04_200250_member_up_date.php b/modules/Member/database/migrations/2025_12_04_200250_member_up_date.php new file mode 100644 index 0000000..e2ff6ec --- /dev/null +++ b/modules/Member/database/migrations/2025_12_04_200250_member_up_date.php @@ -0,0 +1,26 @@ +string('date_type', 10)->default('lunar')->comment('会员生日类型')->after('birthday'); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + // + } +}; diff --git a/modules/Member/database/seeders/.gitkeep b/modules/Member/database/seeders/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/modules/Member/database/seeders/MemberDatabaseSeeder.php b/modules/Member/database/seeders/MemberDatabaseSeeder.php new file mode 100644 index 0000000..daa335a --- /dev/null +++ b/modules/Member/database/seeders/MemberDatabaseSeeder.php @@ -0,0 +1,24 @@ + +// +---------------------------------------------------------------------- +namespace Modules\Member\Database\Seeders; + +use Illuminate\Database\Seeder; + +class MemberDatabaseSeeder extends Seeder +{ + /** + * Run the database seeds. + */ + public function run(): void + { + $this->call([ + MemberSeeder::class + ]); + } +} diff --git a/modules/Member/database/seeders/MemberSeeder.php b/modules/Member/database/seeders/MemberSeeder.php new file mode 100644 index 0000000..d27014b --- /dev/null +++ b/modules/Member/database/seeders/MemberSeeder.php @@ -0,0 +1,33 @@ +addMemberMenu(); + } + + /** + * @title 商品菜单导入 + * + * @return void + */ + public function addMemberMenu(){ + $permissions = [ + ['title' => '会员', 'name' => 'member', 'path' => '/member', 'component' => '', 'type' => 'menu', 'sort' => 1, 'children' => [ + ['title' => '会员列表', 'name' => 'member.lists', 'path' => '/member/lists', 'component' => 'member/lists', 'type' => 'menu'], + ['title' => '会员等级', 'name' => 'member.level', 'path' => '/member/level', 'component' => 'member/level', 'type' => 'menu'], + ['title' => '会员字段', 'name' => 'member.field', 'path' => '/member/field', 'component' => 'member/field', 'type' => 'menu'], + ]], + ]; + return app(MenuService::class)->importMenu($permissions, 0); + } +} diff --git a/modules/Member/module.json b/modules/Member/module.json new file mode 100644 index 0000000..cbd5db8 --- /dev/null +++ b/modules/Member/module.json @@ -0,0 +1,11 @@ +{ + "name": "Member", + "alias": "member", + "description": "", + "keywords": [], + "priority": 0, + "providers": [ + "Modules\\Member\\Providers\\MemberServiceProvider" + ], + "files": [] +} diff --git a/modules/Member/package.json b/modules/Member/package.json new file mode 100644 index 0000000..d6fbfc8 --- /dev/null +++ b/modules/Member/package.json @@ -0,0 +1,15 @@ +{ + "private": true, + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build" + }, + "devDependencies": { + "axios": "^1.1.2", + "laravel-vite-plugin": "^0.7.5", + "sass": "^1.69.5", + "postcss": "^8.3.7", + "vite": "^4.0.0" + } +} diff --git a/modules/Member/resources/assets/.gitkeep b/modules/Member/resources/assets/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/modules/Member/resources/assets/js/app.js b/modules/Member/resources/assets/js/app.js new file mode 100644 index 0000000..e69de29 diff --git a/modules/Member/resources/assets/sass/app.scss b/modules/Member/resources/assets/sass/app.scss new file mode 100644 index 0000000..e69de29 diff --git a/modules/Member/resources/views/.gitkeep b/modules/Member/resources/views/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/modules/Member/resources/views/index.blade.php b/modules/Member/resources/views/index.blade.php new file mode 100644 index 0000000..68ad060 --- /dev/null +++ b/modules/Member/resources/views/index.blade.php @@ -0,0 +1,7 @@ +@extends('member::layouts.master') + +@section('content') +

Hello World

+ +

Module: {!! config('member.name') !!}

+@endsection diff --git a/modules/Member/resources/views/layouts/master.blade.php b/modules/Member/resources/views/layouts/master.blade.php new file mode 100644 index 0000000..f597d33 --- /dev/null +++ b/modules/Member/resources/views/layouts/master.blade.php @@ -0,0 +1,29 @@ + + + + + + + + + + Member Module - {{ config('app.name', 'Laravel') }} + + + + + + + + + + {{-- Vite CSS --}} + {{-- {{ module_vite('build-member', 'resources/assets/sass/app.scss') }} --}} + + + + @yield('content') + + {{-- Vite JS --}} + {{-- {{ module_vite('build-member', 'resources/assets/js/app.js') }} --}} + diff --git a/modules/Member/routes/.gitkeep b/modules/Member/routes/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/modules/Member/routes/admin.php b/modules/Member/routes/admin.php new file mode 100644 index 0000000..2b3fdb1 --- /dev/null +++ b/modules/Member/routes/admin.php @@ -0,0 +1,49 @@ + +// +---------------------------------------------------------------------- +use Illuminate\Support\Facades\Route; +use Modules\Member\Controllers\MemberController; + +// 会员管理路由配置 +Route::name('member.')->prefix('member')->middleware(['auth.check:admin'])->group(function () { + Route::controller(Modules\Member\Controllers\Admin\Index::class)->prefix('index')->name('index.')->group(function () { + Route::get('/index', 'index')->name('index'); + Route::post('/add', 'add')->name('add'); + Route::put('/edit', 'edit')->name('edit'); + Route::delete('/delete', 'delete')->name('delete'); + Route::get('/export', 'export')->name('export'); + Route::post('/import', 'import')->name('import'); + }); + Route::controller(Modules\Member\Controllers\Admin\Level::class)->prefix('level')->name('level.')->group(function () { + Route::get('/index', 'index')->name('index'); + Route::post('/add', 'add')->name('add'); + Route::put('/edit', 'edit')->name('edit'); + Route::delete('/delete', 'delete')->name('delete'); + }); + Route::controller(Modules\Member\Controllers\Admin\Account::class)->prefix('account')->name('account.')->group(function () { + Route::get('/index', 'index')->name('index'); + Route::post('/add', 'add')->name('add'); + Route::put('/edit', 'edit')->name('edit'); + Route::delete('/delete', 'delete')->name('delete'); + }); + + Route::controller(Modules\Member\Controllers\Admin\Field::class)->prefix('field')->name('field.')->group(function () { + Route::get('/index', 'index')->name('index'); + Route::post('/add', 'add')->name('add'); + Route::put('/edit', 'edit')->name('edit'); + Route::delete('/delete', 'delete')->name('delete'); + Route::get('/fields', 'lists')->name('fields'); + Route::get('/setting', 'setting')->name('setting'); + }); + + Route::controller(Modules\Member\Controllers\Admin\Extend::class)->prefix('extend')->name('extend.')->group(function () { + Route::get('/index', 'index')->name('index'); + Route::put('/audit', 'audit')->name('audit'); + Route::delete('/delete', 'delete')->name('delete'); + }); +}); diff --git a/modules/Member/routes/api.php b/modules/Member/routes/api.php new file mode 100644 index 0000000..e55c61f --- /dev/null +++ b/modules/Member/routes/api.php @@ -0,0 +1,32 @@ + +// +---------------------------------------------------------------------- +use Illuminate\Support\Facades\Route; +use Modules\Member\Controllers\MemberController; + +Route::post('/member/login', [Modules\Member\Controllers\Api\Login::class, 'index'])->name('member.login'); +Route::post('/member/register', [Modules\Member\Controllers\Api\Login::class, 'register'])->name('member.register'); + +Route::name('member.')->prefix('member')->middleware(['auth.check:api'])->group(function () { + Route::get('/user', [Modules\Member\Controllers\Api\Login::class, 'user'])->name('user'); + Route::post('/logout', [Modules\Member\Controllers\Api\Login::class, 'logout'])->name('logout'); + + Route::controller(Modules\Member\Controllers\Api\Index::class)->prefix('member')->name('member.')->group(function () { + Route::get('/index', 'index')->name('index'); + Route::put('/edit', 'edit')->name('edit'); + Route::put('/editpasswd', 'editpasswd')->name('editpasswd'); + }); + + Route::controller(Modules\Member\Controllers\Api\Extend::class)->prefix('extend')->name('extend.')->group(function () { + Route::get('/index', 'index')->name('index'); + Route::get('/detail', 'detail')->name('detail'); + Route::get('/field', 'field')->name('field'); + Route::get('/level', 'level')->name('level'); + Route::post('/save', 'save')->name('save'); + }); +}); diff --git a/modules/Member/routes/web.php b/modules/Member/routes/web.php new file mode 100644 index 0000000..1dea33c --- /dev/null +++ b/modules/Member/routes/web.php @@ -0,0 +1,9 @@ + +// +---------------------------------------------------------------------- +use Illuminate\Support\Facades\Route; diff --git a/modules/Member/tests/Feature/.gitkeep b/modules/Member/tests/Feature/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/modules/Member/tests/Unit/.gitkeep b/modules/Member/tests/Unit/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/modules/Member/vite.config.js b/modules/Member/vite.config.js new file mode 100644 index 0000000..c3a5586 --- /dev/null +++ b/modules/Member/vite.config.js @@ -0,0 +1,26 @@ +import { defineConfig } from 'vite'; +import laravel from 'laravel-vite-plugin'; + +export default defineConfig({ + build: { + outDir: '../../public/build-member', + emptyOutDir: true, + manifest: true, + }, + plugins: [ + laravel({ + publicDirectory: '../../public', + buildDirectory: 'build-member', + input: [ + __dirname + '/resources/assets/sass/app.scss', + __dirname + '/resources/assets/js/app.js' + ], + refresh: true, + }), + ], +}); + +//export const paths = [ +// 'Modules/Member/resources/assets/sass/app.scss', +// 'Modules/Member/resources/assets/js/app.js', +//]; \ No newline at end of file diff --git a/modules/Wechat/app/Controllers/Api/Index.php b/modules/Wechat/app/Controllers/Api/Index.php new file mode 100644 index 0000000..886222f --- /dev/null +++ b/modules/Wechat/app/Controllers/Api/Index.php @@ -0,0 +1,150 @@ + +// +---------------------------------------------------------------------- +namespace Modules\Wechat\Controllers\Api; + +use Illuminate\Http\Request; +use App\Http\Controllers\BaseController; +use Modules\Wechat\Services\OauthService; +use Modules\Wechat\Services\WechatService; + +class Index extends BaseController { + + /** + * 获取微信用户授权跳转 + */ + public function oauth(Request $request, OauthService $service){ + if($request->filled('code')){ + if($request->filled('url')){ + return redirect($request->input('url') . '?code=' . $request->input('code', '')); + } + }else{ + $res = $service->oauth($request); + return redirect($res); + } + } + + /** + * @title 微信登录 + * + * @param Request $request + * @param OauthService $service + * @return void + */ + public function login(Request $request, OauthService $service){ + $type = $request->input('type', 'wechat'); + if($request->filled('code')){ + $info = []; + switch ($type) { + case 'wechat': + try { + $info = $service->wechatLogin($request->input('code', '')); + } catch (\Throwable $th) { + $this->data['message'] = $th->getMessage(); + $this->data['code'] = 0; + return $this->data; + } + break; + case 'miniapp': + try { + $info = $service->miniappLogin($request); + } catch (\Throwable $th) { + $this->data['message'] = $th->getMessage(); + $this->data['code'] = 0; + return $this->data; + } + break; + default: + $this->data['message'] = "非法操作!"; + $this->data['code'] = 0; + break; + } + + if(isset($info['member_id']) && $info['member_id']){ + $token = auth('api')->tokenById($info['member_id']); + if($token){ + $this->data['data'] = [ + 'access_token' => $token, + 'token_type' => 'bearer', + 'expires_in' => auth('api')->factory()->getTTL() * 60 + ]; + }elseif(isset($info['openid']) && $info['openid']){ + $this->data['data'] = $info; + $this->data['message'] = "初次登录未绑定用户,请先绑定用户,或注册新用户绑定!"; + $this->data['code'] = 100; + }else{ + $this->data['message'] = "登录失败!"; + $this->data['code'] = 0; + } + }else{ + if(isset($info['openid']) && $info['openid']){ + $this->data['data'] = $info; + $this->data['message'] = "初次登录未绑定用户,请先绑定用户,或注册新用户绑定!"; + $this->data['code'] = 100; + }else{ + $this->data['message'] = "登录失败!"; + $this->data['code'] = 0; + } + } + }else{ + $this->data['message'] = "非法操作!"; + $this->data['code'] = 0; + } + return response()->json($this->data); + } + /** + * @title 微信公众号验证 + * + * @param OauthService $service + * @return void + */ + public function serve(OauthService $service){ + return $service->WechatServe(); + } + + /** + * @title 获取微信jssdk配置 + * + * @param WechatService $service + * @return void + */ + public function jssdk(OauthService $service){ + try { + $this->data['data'] = $service->getJsSdk($this->request); + } catch (\think\Exception $e) { + $this->data['message'] = $e->getMessage(); + $this->data['code'] = 0; + } + return $this->data; + } + + public function invitecode(Request $request, WechatService $service){ + try { + $this->data['data'] = $service->getInviteCode($request); + } catch (\think\Exception $e) { + $this->data['message'] = $e->getMessage(); + $this->data['code'] = 0; + } + + return $this->data; + } + + public function qrcode(Request $request, WechatService $service){ + try { + $request->mergeIfMissing([ + 'doctor_id' => auth('doctor')->id(), + ]); + $this->data['data'] = $service->getSingleQrcode($request); + } catch (\think\Exception $e) { + $this->data['message'] = $e->getMessage(); + $this->data['code'] = 0; + } + + return $this->data; + } +} diff --git a/modules/Wechat/app/Listeners/LoginBind.php b/modules/Wechat/app/Listeners/LoginBind.php new file mode 100644 index 0000000..4304bc4 --- /dev/null +++ b/modules/Wechat/app/Listeners/LoginBind.php @@ -0,0 +1,33 @@ + +// +---------------------------------------------------------------------- +namespace Modules\Wechat\Listeners; + +use Modules\Member\Events\LoginEvent; +use Modules\Wechat\Models\MemberSocial; + +class LoginBind { + + /** + * @title 会员登录后更新用户信息 + * + * @param LoginEvent $event + * @return void + */ + public function handle(LoginEvent $event) { + $member = $event->member; + $openid = $event->openid; + $type = $event->type; + + $social = MemberSocial::where('openid', $openid)->where('type', $type)->first(); + if ($social && $social->member_id == 0) { + $social->member_id = $member->uid; + $social->save(); + } + } +} \ No newline at end of file diff --git a/modules/Wechat/app/Listeners/RegisterBind.php b/modules/Wechat/app/Listeners/RegisterBind.php new file mode 100644 index 0000000..80d417e --- /dev/null +++ b/modules/Wechat/app/Listeners/RegisterBind.php @@ -0,0 +1,33 @@ + +// +---------------------------------------------------------------------- +namespace Modules\Wechat\Listeners; + +use Modules\Member\Events\Registered; +use Modules\Wechat\Models\MemberSocial; + +class RegisterBind { + + /** + * @title 会员登录后更新用户信息 + * + * @param LoginEvent $event + * @return void + */ + public function handle(Registered $event) { + $member = $event->member; + $openid = $event->openid; + $type = $event->type; + + $social = MemberSocial::where('openid', $openid)->where('type', $type)->first(); + if ($social && $social->member_id == 0) { + $social->member_id = $member->uid; + $social->save(); + } + } +} \ No newline at end of file diff --git a/modules/Wechat/app/Models/MemberSocial.php b/modules/Wechat/app/Models/MemberSocial.php new file mode 100644 index 0000000..f999a45 --- /dev/null +++ b/modules/Wechat/app/Models/MemberSocial.php @@ -0,0 +1,18 @@ + +// +---------------------------------------------------------------------- +namespace Modules\Wechat\Models; + +use App\Models\BaseModel; + +class MemberSocial extends BaseModel { + + protected $table = 'member_social'; + protected $fillable = ['nickname', 'member_id', 'type', 'gender', 'openid', 'avatar', 'county', 'province', 'city', 'language', 'unionid']; + // protected $hidden = ['deleted_at']; +} diff --git a/modules/Wechat/app/Providers/.gitkeep b/modules/Wechat/app/Providers/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/modules/Wechat/app/Providers/EventServiceProvider.php b/modules/Wechat/app/Providers/EventServiceProvider.php new file mode 100644 index 0000000..a9c737d --- /dev/null +++ b/modules/Wechat/app/Providers/EventServiceProvider.php @@ -0,0 +1,45 @@ + +// +---------------------------------------------------------------------- +namespace Modules\Wechat\Providers; + +use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider; + +class EventServiceProvider extends ServiceProvider +{ + /** + * The event handler mappings for the application. + * + * @var array> + */ + protected $listen = [ + 'Modules\Member\Events\LoginEvent' => [ + 'Modules\Wechat\Listeners\LoginBind', + ], + 'Modules\Member\Events\Registered' => [ + 'Modules\Wechat\Listeners\RegisterBind', + ], + ]; + + /** + * Indicates if events should be discovered. + * + * @var bool + */ + protected static $shouldDiscoverEvents = true; + + /** + * Configure the proper event listeners for email verification. + * + * @return void + */ + protected function configureEmailVerification(): void + { + + } +} diff --git a/modules/Wechat/app/Providers/RouteServiceProvider.php b/modules/Wechat/app/Providers/RouteServiceProvider.php new file mode 100644 index 0000000..7ac92e5 --- /dev/null +++ b/modules/Wechat/app/Providers/RouteServiceProvider.php @@ -0,0 +1,67 @@ + +// +---------------------------------------------------------------------- +namespace Modules\Wechat\Providers; + +use Illuminate\Support\Facades\Route; +use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider; + +class RouteServiceProvider extends ServiceProvider +{ + /** + * Called before routes are registered. + * + * Register any model bindings or pattern based filters. + */ + public function boot(): void + { + parent::boot(); + } + + /** + * Define the routes for the application. + */ + public function map(): void + { + $this->mapApiRoutes(); + + $this->mapWebRoutes(); + + $this->mapAdminRoutes(); + } + + /** + * Define the "web" routes for the application. + * + * These routes all receive session state, CSRF protection, etc. + */ + protected function mapWebRoutes(): void + { + Route::middleware('web')->group(module_path('Wechat', '/routes/web.php')); + } + + /** + * Define the "api" routes for the application. + * + * These routes are typically stateless. + */ + protected function mapApiRoutes(): void + { + Route::middleware('api')->prefix('api')->name('api.')->group(module_path('Wechat', '/routes/api.php')); + } + + /** + * Define the "api" routes for the application. + * + * These routes are typically stateless. + */ + protected function mapAdminRoutes(): void + { + Route::middleware('api')->prefix('admin')->name('admin.')->group(module_path('Wechat', '/routes/admin.php')); + } +} diff --git a/modules/Wechat/app/Providers/WechatServiceProvider.php b/modules/Wechat/app/Providers/WechatServiceProvider.php new file mode 100644 index 0000000..be06d2a --- /dev/null +++ b/modules/Wechat/app/Providers/WechatServiceProvider.php @@ -0,0 +1,120 @@ +registerCommands(); + $this->registerCommandSchedules(); + $this->registerTranslations(); + $this->registerConfig(); + $this->registerViews(); + $this->loadMigrationsFrom(module_path($this->moduleName, 'database/migrations')); + } + + /** + * Register the service provider. + */ + public function register(): void + { + $this->app->register(EventServiceProvider::class); + $this->app->register(RouteServiceProvider::class); + } + + /** + * Register commands in the format of Command::class + */ + protected function registerCommands(): void + { + // $this->commands([]); + } + + /** + * Register command Schedules. + */ + protected function registerCommandSchedules(): void + { + // $this->app->booted(function () { + // $schedule = $this->app->make(Schedule::class); + // $schedule->command('inspire')->hourly(); + // }); + } + + /** + * Register translations. + */ + public function registerTranslations(): void + { + $langPath = resource_path('lang/modules/'.$this->moduleNameLower); + + if (is_dir($langPath)) { + $this->loadTranslationsFrom($langPath, $this->moduleNameLower); + $this->loadJsonTranslationsFrom($langPath); + } else { + $this->loadTranslationsFrom(module_path($this->moduleName, 'lang'), $this->moduleNameLower); + $this->loadJsonTranslationsFrom(module_path($this->moduleName, 'lang')); + } + } + + /** + * Register config. + */ + protected function registerConfig(): void + { + $this->publishes([module_path($this->moduleName, 'config/config.php') => config_path($this->moduleNameLower.'.php')], 'config'); + $this->mergeConfigFrom(module_path($this->moduleName, 'config/config.php'), $this->moduleNameLower); + } + + /** + * Register views. + */ + public function registerViews(): void + { + $viewPath = resource_path('views/modules/'.$this->moduleNameLower); + $sourcePath = module_path($this->moduleName, 'resources/views'); + + $this->publishes([$sourcePath => $viewPath], ['views', $this->moduleNameLower.'-module-views']); + + $this->loadViewsFrom(array_merge($this->getPublishableViewPaths(), [$sourcePath]), $this->moduleNameLower); + + $componentNamespace = str_replace('/', '\\', config('modules.namespace').'\\'.$this->moduleName.'\\'.ltrim(config('modules.paths.generator.component-class.path'), config('modules.paths.app_folder', ''))); + Blade::componentNamespace($componentNamespace, $this->moduleNameLower); + } + + /** + * Get the services provided by the provider. + * + * @return array + */ + public function provides(): array + { + return []; + } + + /** + * @return array + */ + private function getPublishableViewPaths(): array + { + $paths = []; + foreach (config('view.paths') as $path) { + if (is_dir($path.'/modules/'.$this->moduleNameLower)) { + $paths[] = $path.'/modules/'.$this->moduleNameLower; + } + } + + return $paths; + } +} diff --git a/modules/Wechat/app/Services/MessageService.php b/modules/Wechat/app/Services/MessageService.php new file mode 100644 index 0000000..e8a5f62 --- /dev/null +++ b/modules/Wechat/app/Services/MessageService.php @@ -0,0 +1,38 @@ + +// +---------------------------------------------------------------------- +namespace Modules\Wechat\Services; + +use Illuminate\Support\Facades\Config; +use EasyWeChat\OfficialAccount\Application; + +class MessageService { + /** + * 发送模板消息 + * @param $openid + * @param $template_id + * @param $url + * @param $data + * @return mixed + */ + public function sendMessage($openid, $template_id, $url, $data){ + $config = Config::get('wechat.wx'); + $app = new Application($config); + $client = $app->getClient(); + + $result = $client->postJson('/cgi-bin/message/template/send', [ + 'touser' => $openid, + 'template_id' => $template_id, + 'page' => $url, + 'data' => $data, + 'miniprogram_state' => 'formal', + 'lang' => 'zh_CN', + ]); + return $result; + } +} diff --git a/modules/Wechat/app/Services/OauthService.php b/modules/Wechat/app/Services/OauthService.php new file mode 100644 index 0000000..331ccaa --- /dev/null +++ b/modules/Wechat/app/Services/OauthService.php @@ -0,0 +1,179 @@ + +// +---------------------------------------------------------------------- +namespace Modules\Wechat\Services; + +use Illuminate\Support\Facades\Config; +use EasyWeChat\OfficialAccount\Application; +use EasyWeChat\MiniApp\Application as MiniApp; +use Modules\Wechat\Models\MemberSocial; +use Illuminate\Support\Str; + +class OauthService { + + /** + * @title 微信授权登录 + * + * @param [type] $request + * @return void + */ + public function oauth($request){ + $config = Config::get('wechat.wx'); + $url = $request->fullUrl(); + $app = new Application($config); + try { + //获取openid + $oauth = $app->getOAuth(); + $redirect = $oauth->scopes(['snsapi_userinfo'])->redirect($url); + return $redirect; + } catch (\Exception $e) { + throw new \Exception($e->getMessage(), 100); + } + } + + /** + * @title 微信用户登录 + * + * @param [type] $code + * @return void + */ + public function wechatLogin($code){ + $config = Config::get('wechat.wx'); + + $app = new Application($config); + try { + //获取openid + $oauth = $app->getOAuth(); + $user = $oauth->userFromCode($code); + $userinfo = $user->toArray(); + + $social = MemberSocial::where('openid', '=', $userinfo['id'])->where('type', '=', 'wechat')->first(); + if(!$social){ + $data = [ + 'type' => 'wechat', + 'member_id' => 0, + 'openid' => isset($userinfo['id']) ? $userinfo['id'] : '', + 'nickname' => isset($userinfo['nickname']) ? $userinfo['nickname'] : '', + 'avatar' => isset($userinfo['avatar']) ? $userinfo['avatar'] : '', + 'gender' => isset($userinfo['gender']) ? $userinfo['gender'] : '', + ]; + $social = MemberSocial::create($data); + } + return $social; + } catch (\Exception $e) { + throw new \Exception($e->getMessage(), 100); + } + } + + public function miniappLogin($request){ + $config = Config::get('wechat.miniapp'); + + $app = new MiniApp($config); + try { + //获取openid + $utils = $app->getUtils(); + $session = $utils->codeToSession($request->input('code')); + + $social = MemberSocial::where('openid', '=', $session['openid'])->where('type', '=', 'miniapp')->first(); + if(!$social){ + if($request->filled('iv') && $request->filled('encryptedData')){ + $userinfo = $utils->decryptSession($session['session_key'], $request->input('iv'), $request->input('encryptedData')); + }else{ + $userinfo = ['nickName' => '微信用户' . Str::substr($session['openid'], -7), 'avatarUrl' => '', 'gender' => 1]; + } + $data = [ + 'type' => 'miniapp', + 'member_id' => 0, + 'openid' => isset($session['openid']) ? $session['openid'] : '', + 'unionid' => isset($session['unionid']) ? $session['unionid'] : '', + 'nickname' => $userinfo['nickName'] ? $userinfo['nickName'] : '', + 'avatar' => isset($userinfo['avatarUrl']) ? $userinfo['avatarUrl'] : '', + 'gender' => isset($userinfo['gender']) ? $userinfo['gender'] : '', + ]; + $social = MemberSocial::create($data); + } + return $social; + } catch (\Exception $e) { + throw new \Exception($e->getMessage(), 100); + } + } + + /** + * @title 获取微信JS-SDK配置 + * + * @param [type] $request + * @return void + */ + public function getJsSdk($request){ + $config = Config::get('wechat.wx'); + $url = $request->input('url', ''); + $url = $url ? urldecode($url) : $request->url(true); + $app = new Application($config); + try { + $utils = $app->getUtils(); + $config = $utils->buildJsSdkConfig( + url: $url, + jsApiList: ['updateAppMessageShareData', 'updateTimelineShareData', 'scanQRCode', 'closeWindow', 'hideAllNonBaseMenuItem', 'showAllNonBaseMenuItem', 'openAddress'], + openTagList: [], + debug: false, + ); + return $config; + } catch (\Exception $e) { + throw new \Exception($e->getMessage(), 100); + } + } + + /** + * @title 微信公众号服务 + * + * @return void + */ + public function WechatServe(){ + $config = Config::get('wechat.wx'); + $app = new Application($config); + $server = $app->getServer(); + + + $server->with(function($message, \Closure $next){ + if ($message->MsgType === 'text') { + return [ + 'MsgType' => 'text', + 'Content' => '暂未开通自动回复功能!' + ]; + } + return $next($message); + }); + $server->addEventListener('subscribe', function() { + return '欢迎!!'; + }); + $server->addEventListener('unsubscribe', function() { + return '再见~'; + }); + return $server->serve(); + } + + /** + * @title 获取微信用户信息 + * + * @param [type] $openid + * @return void + */ + public function getWechatInfo($openid){ + $config = Config::get('wechat.wx'); + $app = new Application($config); + $api = $app->getClient(); + + $userinfo = $api->post('cgi-bin/user/info', [ + 'json' => [ + 'openid' => $openid, + 'lang' => 'zh_CN', + ] + ]); + return $userinfo; + } +} diff --git a/modules/Wechat/app/Services/WechatService.php b/modules/Wechat/app/Services/WechatService.php new file mode 100644 index 0000000..9792aa3 --- /dev/null +++ b/modules/Wechat/app/Services/WechatService.php @@ -0,0 +1,74 @@ + +// +---------------------------------------------------------------------- +namespace Modules\Wechat\Services; + +use Illuminate\Support\Facades\Storage; +use Illuminate\Support\Facades\Config; +use EasyWeChat\MiniApp\Application; + +class WechatService { + public function getSingleQrcode($request){ + $config = config('wechat.miniapp'); + + $doctor_id = $request->input('doctor_id'); + $refresh = $request->input('refresh', 0); + $pic_name = md5('doctor_' . $doctor_id); + $path = "qrcode/{$pic_name}.png"; + if (Storage::disk('public')->exists($path) && !$refresh) { + return Storage::disk('public')->url($path); + } + + $app = new Application($config); + $client = $app->getClient(); + + $response = $client->postJson('/wxa/getwxacodeunlimit', [ + 'scene' => $doctor_id, + 'page' => 'pages/health/patient/form', + 'width' => 430, + 'check_path' => false, + // 'env_version' => $config['env_version'], + ]); + + if ($response->isFailed()) { + throw new \Exception($response->getContent(), $response->getStatusCode()); + }else{ + Storage::disk('public')->put($path, $response->toStream()); + return Storage::disk('public')->url($path); + } + } + + public function getInviteCode($request){ + $config = Config::get('wechat.miniapp'); + + $app = new Application($config); + $refresh = $request->input('refresh', 0); + $pic_name = md5('invite_code_' . $request->input('uid', '')); + $path = "qrcode/{$pic_name}.png"; + if (Storage::disk('public')->exists($path) && !$refresh) { + return Storage::disk('public')->url($path); + } + + $client = $app->getClient(); + + $response = $client->postJson('/wxa/getwxacodeunlimit', [ + 'scene' => 'invite_uid=' . $request->input('uid', ''), + 'page' => 'pages/ucenter/login/index', + 'width' => 430, + 'check_path' => false, + // 'env_version' => $config['env_version'], + ]); + + if ($response->isFailed()) { + throw new \Exception($response->getContent(), $response->getStatusCode()); + }else{ + Storage::disk('public')->put($path, $response->toStream()); + return Storage::disk('public')->url($path); + } + } +} diff --git a/modules/Wechat/composer.json b/modules/Wechat/composer.json new file mode 100644 index 0000000..a3dd966 --- /dev/null +++ b/modules/Wechat/composer.json @@ -0,0 +1,30 @@ +{ + "name": "tensent/wechat", + "description": "", + "authors": [ + { + "name": "molong", + "email": "molong@tensent.cn" + } + ], + "extra": { + "laravel": { + "providers": [], + "aliases": { + + } + } + }, + "autoload": { + "psr-4": { + "Modules\\Wechat\\": "app/", + "Modules\\Wechat\\Database\\Factories\\": "database/factories/", + "Modules\\Wechat\\Database\\Seeders\\": "database/seeders/" + } + }, + "autoload-dev": { + "psr-4": { + "Modules\\Wechat\\Tests\\": "tests/" + } + } +} diff --git a/modules/Wechat/config/.gitkeep b/modules/Wechat/config/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/modules/Wechat/config/config.php b/modules/Wechat/config/config.php new file mode 100644 index 0000000..a7b9536 --- /dev/null +++ b/modules/Wechat/config/config.php @@ -0,0 +1,5 @@ + 'Wechat', +]; diff --git a/modules/Wechat/database/factories/.gitkeep b/modules/Wechat/database/factories/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/modules/Wechat/database/migrations/.gitkeep b/modules/Wechat/database/migrations/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/modules/Wechat/database/migrations/2024_05_29_220055_member_social_table.php b/modules/Wechat/database/migrations/2024_05_29_220055_member_social_table.php new file mode 100644 index 0000000..7e27cec --- /dev/null +++ b/modules/Wechat/database/migrations/2024_05_29_220055_member_social_table.php @@ -0,0 +1,41 @@ +id()->uniqid()->comment('主键id'); + $table->unsignedBigInteger('member_id')->comment('会员id'); + $table->string('type', 20)->comment('第三方类型'); + $table->string('openid', 50)->comment('第三方openid'); + $table->string('nickname')->comment('昵称'); + $table->string('avatar')->nullable()->comment('头像'); + $table->string('gender', 10)->nullable()->comment('性别'); + $table->string('country', 50)->nullable()->comment('国家'); + $table->string('province', 50)->nullable()->comment('省份'); + $table->string('city', 50)->nullable()->comment('城市'); + $table->string('language', 50)->nullable()->comment('语言'); + $table->string('unionid', 50)->nullable()->comment('第三方unionid'); + $table->timestamp('created_at')->nullable()->comment('创建时间'); + $table->timestamp('updated_at')->nullable()->comment('更新时间'); + + $table->engine = 'InnoDB'; + $table->charset = 'utf8mb4'; + $table->collation = 'utf8mb4_unicode_ci'; + $table->comment('会员第三方登录表'); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void { + Schema::dropIfExists('member_social'); + } +}; diff --git a/modules/Wechat/database/seeders/.gitkeep b/modules/Wechat/database/seeders/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/modules/Wechat/database/seeders/WechatDatabaseSeeder.php b/modules/Wechat/database/seeders/WechatDatabaseSeeder.php new file mode 100644 index 0000000..af41de8 --- /dev/null +++ b/modules/Wechat/database/seeders/WechatDatabaseSeeder.php @@ -0,0 +1,22 @@ + +// +---------------------------------------------------------------------- +namespace Modules\Wechat\Database\Seeders; + +use Illuminate\Database\Seeder; + +class WechatDatabaseSeeder extends Seeder +{ + /** + * Run the database seeds. + */ + public function run(): void + { + // $this->call([]); + } +} diff --git a/modules/Wechat/module.json b/modules/Wechat/module.json new file mode 100644 index 0000000..adb57bc --- /dev/null +++ b/modules/Wechat/module.json @@ -0,0 +1,11 @@ +{ + "name": "Wechat", + "alias": "wechat", + "description": "", + "keywords": [], + "priority": 0, + "providers": [ + "Modules\\Wechat\\Providers\\WechatServiceProvider" + ], + "files": [] +} diff --git a/modules/Wechat/package.json b/modules/Wechat/package.json new file mode 100644 index 0000000..d6fbfc8 --- /dev/null +++ b/modules/Wechat/package.json @@ -0,0 +1,15 @@ +{ + "private": true, + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build" + }, + "devDependencies": { + "axios": "^1.1.2", + "laravel-vite-plugin": "^0.7.5", + "sass": "^1.69.5", + "postcss": "^8.3.7", + "vite": "^4.0.0" + } +} diff --git a/modules/Wechat/resources/assets/js/app.js b/modules/Wechat/resources/assets/js/app.js new file mode 100644 index 0000000..e69de29 diff --git a/modules/Wechat/resources/assets/sass/app.scss b/modules/Wechat/resources/assets/sass/app.scss new file mode 100644 index 0000000..e69de29 diff --git a/modules/Wechat/resources/views/index.blade.php b/modules/Wechat/resources/views/index.blade.php new file mode 100644 index 0000000..1427743 --- /dev/null +++ b/modules/Wechat/resources/views/index.blade.php @@ -0,0 +1,7 @@ +@extends('wechat::layouts.master') + +@section('content') +

Hello World

+ +

Module: {!! config('wechat.name') !!}

+@endsection diff --git a/modules/Wechat/resources/views/layouts/master.blade.php b/modules/Wechat/resources/views/layouts/master.blade.php new file mode 100644 index 0000000..008ba4b --- /dev/null +++ b/modules/Wechat/resources/views/layouts/master.blade.php @@ -0,0 +1,29 @@ + + + + + + + + + + Wechat Module - {{ config('app.name', 'Laravel') }} + + + + + + + + + + {{-- Vite CSS --}} + {{-- {{ module_vite('build-wechat', 'resources/assets/sass/app.scss') }} --}} + + + + @yield('content') + + {{-- Vite JS --}} + {{-- {{ module_vite('build-wechat', 'resources/assets/js/app.js') }} --}} + diff --git a/modules/Wechat/routes/.gitkeep b/modules/Wechat/routes/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/modules/Wechat/routes/admin.php b/modules/Wechat/routes/admin.php new file mode 100644 index 0000000..1dea33c --- /dev/null +++ b/modules/Wechat/routes/admin.php @@ -0,0 +1,9 @@ + +// +---------------------------------------------------------------------- +use Illuminate\Support\Facades\Route; diff --git a/modules/Wechat/routes/api.php b/modules/Wechat/routes/api.php new file mode 100644 index 0000000..a2cfde0 --- /dev/null +++ b/modules/Wechat/routes/api.php @@ -0,0 +1,31 @@ + +// +---------------------------------------------------------------------- +use Illuminate\Support\Facades\Route; +use Modules\Wechat\Controllers\Api\Index; + +Route::post('/wechat/login', [Index::class, 'login']); +Route::post('/wechat/oauth', [Index::class, 'oauth']); +Route::get('serve', [Index::class, 'serve']); + +Route::name('wechat.')->prefix('wechat')->middleware(['auth.check:api'])->group(function () { + Route::get('jssdk', [Index::class, 'jssdk']); + + Route::get('phone', [Index::class, 'phone']); + Route::get('invitecode', [Index::class, 'invitecode']); + + Route::controller(Modules\Wechat\Controllers\Api\Pay::class)->prefix('pay')->name('pay.')->group(function () { + Route::post('miniapp', 'miniapp')->name('miniapp'); + }); +}); + +Route::name('wechat.')->prefix('wechat')->middleware(['auth.check:doctor'])->group(function () { + Route::controller(Modules\Wechat\Controllers\Api\Index::class)->prefix('index')->name('index.')->group(function () { + Route::get('qrcode', 'qrcode')->name('qrcode'); + }); +}); diff --git a/modules/Wechat/routes/web.php b/modules/Wechat/routes/web.php new file mode 100644 index 0000000..1dea33c --- /dev/null +++ b/modules/Wechat/routes/web.php @@ -0,0 +1,9 @@ + +// +---------------------------------------------------------------------- +use Illuminate\Support\Facades\Route; diff --git a/modules/Wechat/vite.config.js b/modules/Wechat/vite.config.js new file mode 100644 index 0000000..8e8db44 --- /dev/null +++ b/modules/Wechat/vite.config.js @@ -0,0 +1,26 @@ +import { defineConfig } from 'vite'; +import laravel from 'laravel-vite-plugin'; + +export default defineConfig({ + build: { + outDir: '../../public/build-wechat', + emptyOutDir: true, + manifest: true, + }, + plugins: [ + laravel({ + publicDirectory: '../../public', + buildDirectory: 'build-wechat', + input: [ + __dirname + '/resources/assets/sass/app.scss', + __dirname + '/resources/assets/js/app.js' + ], + refresh: true, + }), + ], +}); + +//export const paths = [ +// 'Modules/Wechat/resources/assets/sass/app.scss', +// 'Modules/Wechat/resources/assets/js/app.js', +//]; \ No newline at end of file diff --git a/package.json b/package.json new file mode 100644 index 0000000..c96c632 --- /dev/null +++ b/package.json @@ -0,0 +1,18 @@ +{ + "private": true, + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build" + }, + "devDependencies": { + "@vitejs/plugin-vue": "^5.2.1", + "laravel-vite-plugin": "^1.0", + "vite": "^5.0" + }, + "dependencies": { + "axios": "^1.7.9", + "vue": "^3.5.13", + "vuex": "^4.1.0" + } +} diff --git a/phpunit.xml b/phpunit.xml new file mode 100644 index 0000000..506b9a3 --- /dev/null +++ b/phpunit.xml @@ -0,0 +1,33 @@ + + + + + tests/Unit + + + tests/Feature + + + + + app + + + + + + + + + + + + + + + + diff --git a/public/.htaccess b/public/.htaccess new file mode 100644 index 0000000..3aec5e2 --- /dev/null +++ b/public/.htaccess @@ -0,0 +1,21 @@ + + + Options -MultiViews -Indexes + + + RewriteEngine On + + # Handle Authorization Header + RewriteCond %{HTTP:Authorization} . + RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] + + # Redirect Trailing Slashes If Not A Folder... + RewriteCond %{REQUEST_FILENAME} !-d + RewriteCond %{REQUEST_URI} (.+)/$ + RewriteRule ^ %1 [L,R=301] + + # Send Requests To Front Controller... + RewriteCond %{REQUEST_FILENAME} !-d + RewriteCond %{REQUEST_FILENAME} !-f + RewriteRule ^ index.php [L] + diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000..e69de29 diff --git a/public/index.php b/public/index.php new file mode 100644 index 0000000..947d989 --- /dev/null +++ b/public/index.php @@ -0,0 +1,17 @@ +handleRequest(Request::capture()); diff --git a/public/robots.txt b/public/robots.txt new file mode 100644 index 0000000..eb05362 --- /dev/null +++ b/public/robots.txt @@ -0,0 +1,2 @@ +User-agent: * +Disallow: diff --git a/resources/admin/.gitignore b/resources/admin/.gitignore new file mode 100644 index 0000000..f1a99aa --- /dev/null +++ b/resources/admin/.gitignore @@ -0,0 +1,26 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? +package-lock.json +yarn.lock diff --git a/resources/admin/LICENSE b/resources/admin/LICENSE new file mode 100644 index 0000000..f7c1e1f --- /dev/null +++ b/resources/admin/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 sakuya + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/resources/admin/README.md b/resources/admin/README.md new file mode 100644 index 0000000..cfa8008 --- /dev/null +++ b/resources/admin/README.md @@ -0,0 +1,19 @@ +### sentcms后台管理系统 + +1.安装依赖 + +~~~ +npm install +~~~ + +2.启动项目 + +~~~ +npm run dev +~~~ + +3.打包项目 + +~~~ +npm run build +~~~ diff --git a/resources/admin/index.html b/resources/admin/index.html new file mode 100644 index 0000000..d1777fb --- /dev/null +++ b/resources/admin/index.html @@ -0,0 +1,111 @@ + + + + + + + +Admin + + + + + +
+
+ +
+
Admin
+
+ +
+ + + + + + \ No newline at end of file diff --git a/resources/admin/package.json b/resources/admin/package.json new file mode 100644 index 0000000..c5fde77 --- /dev/null +++ b/resources/admin/package.json @@ -0,0 +1,41 @@ +{ + "name": "sentos-admin", + "private": true, + "version": "0.1.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build", + "preview": "vite preview" + }, + "dependencies": { + "@ckeditor/ckeditor5-vue": "^7.2.0", + "@element-plus/icons-vue": "^2.3.1", + "aieditor": "^1.3.5", + "axios": "^1.7.2", + "ckeditor5": "^43.2.0", + "codemirror": "5.65.5", + "core-js": "3.29.0", + "cropperjs": "1.5.13", + "crypto-js": "4.2.0", + "echarts": "5.6.0", + "element-plus": "2.8.4", + "nprogress": "0.2.0", + "pinyin-match": "^1.2.4", + "qrcodejs2": "0.0.2", + "sortablejs": "1.15.0", + "vue": "^3.4.21", + "vue-i18n": "^9.13.1", + "vue-router": "^4.3.2", + "vuedraggable": "^4.0.3", + "vuex": "^4.1.0", + "xgplayer": "2.32.2", + "xgplayer-hls": "2.5.2" + }, + "devDependencies": { + "@vitejs/plugin-vue": "^5.0.4", + "sass": "1.77.2", + "terser": "^5.31.0", + "vite": "^5.2.0" + } +} diff --git a/resources/admin/public/admin.js b/resources/admin/public/admin.js new file mode 100644 index 0000000..aa7ce71 --- /dev/null +++ b/resources/admin/public/admin.js @@ -0,0 +1,11 @@ + +// 此文件非必要,在生产环境下此文件配置可覆盖运行配置,开发环境下不起效 +// 详情见 src/config/index.js + +const APP_CONFIG = { + //标题 + APP_NAME: "后台管理系统", + + //接口地址,如遇跨域需使用nginx代理 + API_URL: "http://www.sentcms.com/admin/" +} diff --git a/resources/admin/public/static/images/404.png b/resources/admin/public/static/images/404.png new file mode 100644 index 0000000000000000000000000000000000000000..47197ec7caf753873d1ce38bd4928b71e86c707e GIT binary patch literal 99568 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%0D@2*f_gb!yWbcf+$uVdXik7u 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
    asd}^}%a! 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

    )m5xUk_b>7S_=N9j-5{{RyI0H}B; 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ⅅ4%aRt$*2*fx{z6_ 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

    R)Y;-gCyhM?EU%RHDe+G*Jx^h4w*1k8D&G zG2hh5tvk?!nY_BW6My6Y$VTVPJw8JPJZ*cI#1);U-F7K54>lBO?PjkeuEG$067^dQ zTgImvy}?-Z@7U1s1U?`4XE~S8$s{q9&Bj6dAtQ8Q!!X5T#Ne74JaPSk%(hZbvwzdF zIpERdwP)D@Xr_|DIhSK%IQ@Yb=i`5s?VD}23aiG~m#4?mwE0NqPa>9e z70I)c$Y(PCBjH2DU>R>3@gTWurdnt7W$@S}U;AwCXoA{Iv5-}H7mO1AM*`^_RaN#k zW5V8b&ju&$24BYVekGakzZ!HW!t*0U@v4l*W;@g*BzlZH_34ct#LEtBZdT0y0LgU! z0NqsR#txaujCpL{S0j}&5t_~B!)P)$?&E_`t6Lqn+Z{_+uB21|Dfj|E9 zuHYr}jo2~EFS=VHPb$XgpFLSKJ}cvl+3ex_W^e9{*_!)2DbZo*k)Rzb9n3hEnpBaM zW_cvgD2RfA7>L6k1?Hz*ojgSKtSCVLbrtF#N#bXxuPm7-F=Kzb1Sn(3}?#cKDlFvm^5B__U6o9CPz`LQg5t2?@C9qzbFmrL7xP~*BT+f>lxS~|V zfPU?`ryX(B#RTCS=7l|-80J<;~JwBza^w9X^Scl1b);B z?t9({hK5~}>`I0?hlxoip^$2g;=Qd~Ypf;g%?YNd8omn-Nprc6`nQI`obY^>R$SML zWg13Y+~Y}D{De{oWtf6M91Ld9mr7c9c4)x8&+u`2p)6sNBGJhlxwz3^?v^smDUTAzb!!?OwDna>Q(<}~KRLgOhWT^3xymBz~OFevJ$xW!9$37mXo z{{ZT0e`zxL&lm7`GZRmo@U@ZQa35HJq-az`QP>g|wiwTw1ItUpG{vaz-i)&9&k6&g zIrAwf`P`E; zvILC8Yt|0x%xiV*rykbBhIrMTT3hUB#IiDhCX_%mDDL0!jM-ySyD&jDk-N1T#S&$RvEHNTobLV3Lr4!jB+w1s+&5P7m=89s_W(g2v8a|BXQdM z;csn=c$;mK*`|rr=Ax^x0WVRmD-;XH(y&2|M=h~rMc^MRCT2`yY~G)<@u zJwQ;s{X@6c5vZgFhP$2;PnJ(N%M?zK#BKfW195Lo=w{^(Vn<}A0wy+VU>Nm2_lLp` z=@bSLl_xgx9Y!)r-r`f&Pir{Pl`4Fc5j3;M4q1{mo;_}*e+b{oJqf%K4LEbzwk=^@ z;$V!H1YT0rsb01QGEWstlJ1q0n3_ncSewWbF#;&IWCyw4)M0Xtm3@rSo1B_&xvAmM z<=-gMHed|dl7k;fDm_Jw^TrXGdu!};ppskeba`mv{{W`TomCmt%}jFaigcW_AOy_! z@h&o}x;4WbVy}=;LgOyY3$~Lll==lowrN-cWP^iM!IL&8&8lJMIe#`dEv7K(Q#_uD zBqyaEz*CA*Y5f@SuW{sgGNqs`rUK(wqID@X&&w4p)ps>TeVR{EI9TK@s8S-ZBrikx zbinC@NjJJSVck%ecZ|s>I*Oes$ztp(tEB^m?WVhoZSmM*7amxNouvEETRpUir`56k z08bdq@ioT*N!t4ZoOOA;#Zc%5!Nux7#4Ck8u-;dJIdQ7Bw!-i+)a>Ld@1;h`pr3}j z-YDnPwO#Bv6SXq%&Bv?t#jZn*-6KyWDPkdDe9hNIU4=Wf_84ARMXT;M4eC_4AC*%p zJcwmBilss??={xI@HCuZmNmjPN=_=+*oey`!Mgw}kF1fw2i!LU(;B;D` zhcWhqgH~7U%?c{WRF6}yB$3UWD%Djx2&t6|aZ!OmuGpU6EIJ8Ql-&R!Nw9dnz3}MA zQUi0*9Ww`g3Mzmjf0_2dC{w!zZ%+tlNg5NXSmcgdRth~z4^VK_RAV~U_8PjhjQOu zH^sO`{sD^Hegb7ilP<&#f{z2XF-j6rf0EO%h#Gx*Z31`X{dmMseZz}Oc2+hZ(dPC9 z?nhtK7oaV1EV_k@(hFYar}V}8YshKEtFZDhA#@N}?YZaVeaOgPx`knQxhAo!O?#8%7pjtu&cQp+nq{9cF_L1SPb{0X&OaIJ=};@RV)1nE9JRM& zXOmQPzE4OQ0BUChSZlIJHh!4Vceu2vP{vKl%N)?KcSEV68#^i3g=4U6M{k0glzt|T zmYNpH>A7t5O9Q=YWFv?`K+IaqZN?8Yb*P_xLr2@__X)+Vzo(k*wEHIi`&?~QWzw8 zyycXdB{m?&cl43h3Y6OX48?^>)v7C$MKena%wx>GCRre%P&% zY|8zOr^;tiL_ShGY5Uzu&H*k*E4|hV64%O&s6YVTHUYCK;PdzGE$) zjXe!Cgn6*X7VR5CoRfvaTA#aQZ0cnNhN8ElJ2RQfM{rT+lP)BKh^Sn|b1TsEK( z-dw6j8bAIukCN&KICcr-o731|QydB&*(S~}JK&xtmWFvm3i(tkCPi|tC(X;3W3x1A z>WD@;CyaHmWmCf`$!OEJ=j`I-!z}rhEPJQ_00z9Dvyv`nDtsTrpUiBU%i=lA!~NPr zBGct!US^S5sMi?B9;+5tPkMYEIsX6;lO81))TXyNFA&N%gGn|{N!-mFm6Iy!!Q{#} zsu`j@IB5?9jCDG0qYSbvT4}!LGcQM%9ygX-P@md~QyE|yfEFsXZC^^qMZqUYqXLcd z$!KJiScX2NYK@oSW;=_!rK~DxwfAD@3wl>0c|7Al(z};)G0`Jv+B@nOw%p?`WU;MJ zlSU<`lNozdd7zXsrI+YP6|i1OH;j>slhwi<8oTaaH3nK4!4nykp^is(g^^=t1A=}c z39LC}jzq9<{Ev(+*9L@M6q5KiiFl;h_;Puiq{$Q>6wBu3JWeMy=ECd$0Mmds-yCec zUR)h&=~Np}{Ec}r=*N1Ii0F~5Y2|rwqj{lqTbT~+=C|V?EOs%?Q%!r3$=5karuMT} zDdLl)Q{?j5w}UU6TFotLk-MV3dSN4`6D(>|@XhNoP~&qtWQ<6#<+Y@04U{`O9;WQ` zhhu_UH@TA}^*w-QpoUzmg^T^LykGS8i0N%{pS^hjx(I8Ya5*E>xVSy!V#kLn$nwd1 zQ~v;HbHX!m#p3zw#L_>Cc&~)z6E~KX&5Y)MKv<&9xirzhr)sV-h4eVGV)Wq`cXoDh zXN!u>*>*X970gRMdGlG16&@qv`L#KZ5FivxoR@!LM{i3+qJ?(HU-recV<4T zJagntY+=glm@_KD2i`1l&-X=Pi_77oU&P~XG192DRA#l^iRXNMd@Cn3GDI^zA)j^f z7E@Eis+v{MA5t!zz{9#;k{M?8(u!6qBb9U9`KhLj{77dPGvX&U@a8hJ18tT77HF94 zn{9aLPYhNz@jeXFPD~ezH-<->Q{k^JZy_XkM%Otdpqa=0)=?W`eOm^>^v+bTiWMm+ zvrR{xmtg@OWFSQFuq$ExYE&KdDs6pm%(6+-8x;8#p&zan0qhA?w^-8sOJ9h$w|opT zB(~%#2PA=mc_>_x%BdFYwXnLn2MqNWf~ZAhSOYA?2_3>m=CC1TBUP2@UGZ^}eC$dO z3{te>NoP#1N+s2r&DN;h>u6AZCTp*3MI|Rllp@kI4AThMYG(3fcCaGp>Eu|!TfNYF zeNFf?nshm5(4c0NXh!@ck0gV@!yye%n%G40dP=#yjJ&)s<{LK?=2I&UQ!e?8_GUmx zX#l?>0sL-u`rlIzPEjDsv(M*SYxm2y3X*wY4D#Qd2u$Dx2mB%h0ZYm}>+vwm zm9pWog=RA4b2<;&B5-b4lI$#To;KeE@wlsQ%4qgz(jOAc%PCyjfgI=ena2W{G;|8? zdt&2}Es_~6k}~AYXfGT~x@ZQ)s>a9ASnwnS?s{WJms+oC1GzBH!byD4vdWRLX)G{s z!h)7JbbmZ6C26)s7I7o8I_44uc+`la_*8BH^%88>GJZ-w|JV7uNi@wJN2Ep-TWUU@ zZ{=9_x*gHuR!mM@F~^-5RV=Yx$nEciWLGC5W zmzXiuu6OlmKbRNa0P)MW1fYU{HZuh*W<}B@^9*c+?non(f`nXMup?LW4=Up+K1(y{ zE0UcZnq(8EV@U>%uZSES?o?*nsg%u3ljk#&K;W)wX(uS7LPf8A3WH@(I2gML&8Jib z7Gkd(O8#F}Q%CgafRuH|>?mf?@45C*+04sH;dxbs{SgO+i|^?RdtNzH#@vpc6!O(~ zH{i|rQizz?Wfj<-zf5Opn?{$GG4{0W1DJ?P_pkGu22RDG zrcW|uEb28i(4$v`#i?C(ApH8}K?bBKw8pCT9euEC8kQ%**8}z&;e-I;q-l{b668T}Jk|x!c00mgYo?{)TjsPI@ zgi1P<1uRnRbUqp9=X0x*%eG%Gk}T871oC~He(w0-ag6yR>8(TXWv8W$53-~Z%bJpQ z%!07xm&5Ji62@vW%r8MLNgHbhOK0h>jgQM09I7s*;M0#P$bt;IBIRd`G9Fyp&*rD_ z(p^>@vPN4WfG=HkK~40*QZwYp-LAl-Q0G#%o;25dQ(g?EkxYBEpLjPx+<$=Lsf7o* zv*CG%%S!TEx=ELrHMcRmgQf4b2PQVw}&|C^Tx-k0S|}1-Ng&C}?M4NDik2vG@g8zPodPt7CPw6%zX_Kzn&<#@D%4H z*+VF#1L=(JGPkj9HM{N(9OTLfyP|bz;IDjKVB6nh4XdZfd2<@-NPyHf+hA)2=`SR> z`4$rAd=YhB5(bx%jx-zA9KHUgfb(IIAqVSl2L~ ze9pR$-tX{(-x=qP$6=6GzRO9LgFRV)4a;VkBABVl4~l9({XjN74bCPUx*q0?F!dzj z`4yMLUoOrbLlt^SVd#wi0PP+|ygpr2WhASCS+S@}fQSR3P{Gdxis#t;v7^?Ch=LUq zdKiW^4Elu_{V<^z+ttMcY}Bi)AG@8!GYzPB zyemu1!CK{Xiz}Jn5Hv{|uc@;!w(Q+Y*CgS7l{&GGX{tmr7`&YBTu&U3IA63NK3wWX z(3&cQFTEPyY$i}#Gog-pW2qXBJjQm62%OnQ zAbE}0uUa@<;GfXPpEQ*~R%gwawMfL3Z&ZvmI8F|$-%c+@B}QDa>Lk{?t38)N8lyCG zWyy0SIf(_N{%@i|9hw9#7nW-@UKo6+(=2lI_kE8?nagG7%?TknmIz~qFnEne1&2~F z%u#Vl50t0|)MBWvQ!x_dGjL55XEI{*a@oCxhSyqS{{UScF|K&EK{Z^8S>mMBxS*a6 zlD>B_46M04)R9Q=OpQsH3m+4&0Z&|F%M{j@Y{Lg9swVWg)0IyM@S<7XUp8M70DYs& zfwwc{<361+j-7Fb7fYiY=KeNp&F_?4x1?q?xfIsE4<>Ut;aS-q!%lm}HA9k?cO~2G z*<)yu#&*4q2c(>5aA+Q{s#0Erc4jR88Jx(;6j{u`@R)NlJQ;aoYh1uzP`_h%=;@3g zapltI#{EY9rp(za_k#Fwi!~c&ppqw#!~9Fa^CnF4zHEKuS?KoB5&S#h81g*XeHnZk zI#}Tzp99Sg`;7?0;W_!@`z}?b@aS^jcy2~))Y{4MDO2rcIZcuThzSkA!R6||i|D$A z)5rerb1WD0nc(`2KOPK;vfs2GFX8fLa~Va<#gep>#Pa%OId+VZCRSPOFtrY z(Y)$Q{sqq$UHv=$tCN`V28KAwEDn+gA$aYHabm`%<%l@!%a~CVkfdtrB5zbFAK;V@Ty1!)vr&2%ZG(&& zN^gdT;_*y`>T;RswA3g>x+!BNMx96Jg!(g0W?hXD%NMtEE?FeX$@h`Sk`*d5Qdx$0 zkHTZ+ZjLo-!PK=n_pab%l=AGjMLf+w4SIms5^nlmd|aZVy6$DC9lMqjEC7{JskXEE z;+`#Wwa9v#Utt_g93l0pm#RHS%M6YN(Mm2{go{0sY?9>1h532+m`|DUht0c0Vu0ADeYud&9PcbKkq-zvX z=R8w1j&hzE7VnpeKi+2M{{ZuKzWCRMI_dc-;+$5e!SmeKa(uhKdDv$>SH!aI7J7M< zGUYPr`by+b>@zC8vCx(m98JS*g(=(9*wFDAqRHfP0td@xvhqNJ5#%EHl#&zo$1uMY zbAjk?aB*NxYCofp&AhWr?2)8Nv1pWO5Cq~vz0Nui(^^+!9Orw!4dn3=os%g$LLt!@ z%ga1|l$s?K=MXk5DzK^Ha+7_Hc%^X#JsD$)2-u=ZCG$7?;0QWTw%E@+QjWuHxOgMZ z49gRiMvy*;H?2H|uAq^4II46MlDG{#==3$*x8gD#prX|Je1u4 zeA3O9gCtCClvZhAiZ6+!CjRq_Sda3=!xp8uI_%3ClNps}VAc(GHGFgxc-^#vjN3*W znTXY7X%>*#jTM%OdOYsi-V=uO>0tHV|oE=>6* zIPinmk@<)vEz zE5E6U{oth^%WgTtVE4DwP!^}$GKsu z&+CKHO8W$)&?I9lfcu}IuWUj#*-6_(>NF8z?0*UBaMcAwcQ;5`=ODUk6vKw2`CkVY z98rIoBEvPk>?rq5dA3xceaX@|FG%@V94CQQ^{Yn0MNk;+0j{89zr zd4G!oDL1p=r}hgo{{U~5l?!>IQ>qz^rPMWT9$8MpQuM!ENK$q+t3!}@N!1ot&sj5> z&k7zVp77zeYr>?naA!%aB18hW>xunJUe;EF8Cp2uE##CB=+YYWh1!K#IH^g?@GbHI z+6f5z$p(?8fjd_HK6nPcinIUF;a@J(;SC^E;2#hNg}+BQzZs@bXCLE7)Qg#-KlFIs~g205K#0Y>T1oc!Z{T(n&ns zRLL6BNIwTnTXT4dDan3GRv8XbXqPV-l03u_q-F{xCTqVvq&ow>))&-dSo6ogPYj~9 z(2|4 zz&>9wBO0&9C|=m*`N0;T;Xu*v9!`OXSBQg$yoO24MPB zcfIv=;;}^yK)-nt2x>(mNapK$KRUv)PyA5WL;RR>@n=hnmjJN)Jd&-%i!W3J+SO z1i3S{=sH3Z(84zhUyATxg=*8Q%OHR@2e0RdLXot7Y(VdBc(Yw=>5TKo?y|w=bG}Al z(j_Vz;x>LB*x!yG-MK50pKEzlgmLPO3vD}bzV*Lc7X=D~B#q@|QdXPdWj>V(O>BCP z?TR4kpms+L;ne7O#@79V3bS~$LrtBPNMvZ$d5yj%>+>TQrFlg@4y*QWF1dr^u+5mt z<#LJPjhcaTlq1Y$g4|HUA@vDtRRfMzdAQ2=s~gjAidW>y%D!Qv6T~HG;q;kOfy)~j zj+UV!>hEU~8Lwxv1}*w~`8tmTG0&a*PIEA_t0&pV+SAKf+-}Qp06;5%>LqBH>shNT zdEBh>wq88GP9Uae{5dJoIMRw{Rn4)~4c9oq8Ovoxq`|E0CyIQ_2GpTd)O>EdbqN8A3kqpG_vFzG(pHc&D}q+&gR0K^4wt?K;h_@Cs(X-S zX?+s{RQ~`D)G;F+DuTP*n3om5kRLKaD1QhwupKeUo3}?+INOb_j)F45$Y{X;ZF}Fo_)d_1fD;;*COxl6 zKIikQ#L`oAwhm=)DH6kubdE<+@7Dq*GJ1}eE0hbCiDh8EYX|oiy&sifS)Hn04cHaQ z`5kPBl!ekjJwRV4ag4FZm$qD*1VNRg2xi*I->0@5ntP(cJPuH?li{*9=DPf`3q2HU z@oQNvz7w}AeS7XOg({Z(0M&*_%tSj$uoiaOzvl<)N5c*)Qu-RF5WkZgK4xrapUyN^ z5-D8;>`20!ZSr1+=U{O{kf4HAl_!Y*0NTG0XuVpsjo9AUmi(0B{{SJ@Xqn}VhL%vrjpMmD$!`*p zMu*7&GUbk$bb8WRTht~DY?1~m7oDt5X}Qa7&V0z)V`$EYQ)PIw?~SV*TG{L?Q|^cK z>++Sxsg(Jvr)!LxaBG@48AD3gB*m#`mU;7&2wo-C97At|WS}dNg=p0x?uD9mky@qN zPfd|#yYX}eH{p(zVr17nhajKHi$i*qhK`&2{cjxXk(a40pCPHL4!MbPDkT4}Y)EQ{Tjr=;#c!xE)WlD$vO4&}U2;gU6)V&yP)~dgOfr(X>`3QumwGn7*b+s}`RYg;tAf$YtSibO0tMa_l%T4)RBryM=}(c9 znSyBYxh(5R2vnAQxyzq27}SDeE;nE`V?I8f7_xe+k@CvtAE8uv@>%E(UQD-$Dncfa za|1$ZBXzB{Z{H1*w|-2r_`kuF?(>(CqY=-k+`}3BrMJ6X`eRID=M;?FEyiZf<|oU* z%oNR*_(J+wh5RIq&5Tp&?7!-#4mmVD3&tdq#1rk3J3Mqyq+?QF!ED3efq7mIGxc3F z(w6Ai(sehPY7gS=l+DNEL&9G(H-pU*=cj?*1YD1a!0L@AT~vaGLJ6T<<1bCpJb4_v zp}l5IFFvfhMvQTs@dpNUI6zhlXGeD3cn!4iY0DqohwbpRY{$%(_{1Idz0 zPfxln9%nP+5Kou!9QIGbGUDRQWgVsxWa7WNFgpBB2O77-<$-jNS#T@KC4aFn%PjJE z`j@3gVA(9^hryoD!;#G)%I1F06mR0vOjA#FDHfh&fXp})2K$BiZN*>g^6Lw$4jJ! zchfkitNa;q=!a6Aq}+cZz9He61^X}AJVt!#wqY|;O6#;)HMV7{vZ@X?bn}!WrbXmk zB%P{E9}}+#@NHN0EZ*77zePazBI-jhc1CPYnwh z%dToyiW2!?`H}bWxz62HIieD{&d83iUjVP?HcYlX0N2QE? z#`tC~qXuQB5Br_K%hD)6Q*HM&{3$#yH#Dck+GWf{j@ev zFBOwJ6v)9cd4vktK`dl2%Sht&G@5R~#ll{r(rL$0l9MxhQ^fNgBbtvnKam8n#IQn{ zRRKtkWoP1xR{ikIShPJ$fgN10I`Ac!oaQxV-e3F0M2kooPyj2`2F>-ushOwG>|-l2 zQ2A*YPO`Fj%6%}f-hz#&_QZ0~n`W481Zv3nW0jjb_QM~DWo8Ng07x9>vd!r^ggy4) zV*|+LD@KU?MIJy=P;4GVNYwmG9H;SK;ENd0p(?)Qv(n5m@@6uU6?2wkRUlD1(^cO) zUJejx{)&7U-)M+CQfbnE4&3uqRff|P_#-hVm>0@TTXy2d^uZD@V+TARONAO_qEBu* z4gtTeEnSk1Vo5?oQcER{!|MV^1nfW_$tZ=#Y*b{O3ro%`>$9nU`Uxma7-r`5b6**;j(B&S{V+G|Rnf=ErUDnZ>>~X1>Altcx4D zbLzUfv+}$Lr7tL|1tf@Nh=Oc!TUYT{L49#OC*=}|e8yd725hL#!hkW$>MNv*D?sNiB4iNvXp>Ti=$W>;&ED-%NNXM zQe5jCmR1i1jcvp^r)dJn{Df;L(96@P#m8!882%xe&Sf)FK^lb7r&^+kP&*Ao#_Ai; z!GRaP_|+Lkw@H!Weh>fA;h{N*!P3MlfLL^PJL&_V_Q$nyRL>e0QoEpoDw=%P`^VL| zJr=j;aBmBY^*SW-DI}}8nKB5RXd!iq1du}6{La{Fg{!bWiP1<4F_EtIr=>vYw_IDs z{F>9+jR;;(NTxY>?c}ZPcRTkRVR~wl8s}x*X zw@1`6%<;vUVdRyT9T9=EM%D4L>T!YHvqN_5UNvyBDPXLN>up0zl6eEB0!mG7u_DrY z?rWnu$E>SH=l62_K%T%2#`w;osp(FQF=_70h~t_kn=zbRv~iOF8+ zZw#HQu%xSjFFHRf%VhG~Sn}is%&0}#Jw8}!lgU2_Mrl$>i?^6iv1+yo7gsy;czef6 z>`Hd5U6m9993+U$#FJw0di=38-7*<+Oz$v8D#K7bozxYeFs7SSR34XPp)oFP%S>VnWCmCBCQ^PVL-1i82TVm8 zR6EuB2^@0TP?r30}ie3u!eu6T|3nWp15CG+-Z!c7Qv&PNw5IS>( zxkdLG8DDAzn_)YcQH-dmtIXrm&{sFME-`C%>_p|M{tUp&5(1}DvIrd4w`wB|PAipQ z%B2l7cxGM}F6vq%8pct#x;J}t-va5qwlhuX7>6<>4$+|~yXhBdgOUeOF;q6SMGYCE zF{`Z@q^~YQEV0!_)0GN(;=9p3F`~@`vAKl`M&g_;tc%gFqMO8PuriLH$W@VL%-*dr zyIGA*Q9TLZ(ZK0ojhN*R#~IH+xQR;@CwLwJ5%1Ln=?Rurg3+jKX_7zs`~bPUId+R1;TqD6af zu~=2qkHA{?=N!*YvRivu){N93n?%Fry*s^7+yXc3Ft_r5kqz5#$kG_f72dkF>is%m zhGI%mY4{74g62aBB&qyden$$L)S4KuB=51;CYC_bA6$Fs28P3d`C~d&$awMSlXtTz z9IiE85YJ%__5Jam`gZ4PRbxTQ0-N-yJMeJ*3mWFoE>!4;Ifafka1tpA3+X4)y-%}Z zMp2h~3$lJka?TlQ5{$)7g0)-xTl?XDlDcv&M$3{=7^Kikb?yCeA&p7as$*AxvP2#S z9$1n`RY5K6h&TXqcm}D^#VG9>+&X2}c;H8pLeM6YsfU({{8hOhZYb6RkiIJGVW`i*pQNu36OTzDAxbUZZaC2GI)g&^7Xx3&5 z%ELfUa!qZvG-8~V#$51>UdNL)CREKMfv68ECh6smh_A86^#`R(=*_A;68`{YnIX)% zFEs_3xD2C>x#Jn(l`O4Qjhq&ZN!k{Ws_K$84GRD>z*%zo4n!_QY{bZLwvt@l7;un#;6K zi6M#6+#@KuGAKU~7sfG9c{=2^9b5yFDPT!M1!Q7Qpg}({I%7^fqOCUQ8O1%8)O#VE zk{`Ga=e)aQ@}CcxI69b3BW>jf#`w?FMJ1}a;C4K*#~PB4A@j(V*!J+jLlxixFERI@V63k1H^J9*9(pP!pQzD3A zqp96?Uodfo%1fRCigJ%T&?U-Cna#X0W@5^Ta_yN(9Dx^;2i?BsZE`TMF#K7nJ0mVg zThgBBNXCH!M=25}@-S_8Myx3BSkoEGPq3L%e&t}>Gnj>(70Kpc5@+)< zu1a~O%H<JP;2^oCI8;rb?Edq86wkBS;G@|iWupWySP3miVO)cM%pV|#^Md68> z$mQ~rW{GUhODMiZVhqYJrdR`8HcC|j&fxEh=(WQ4xSIOkLUkzi5n1z%23ItKIKxXP zhvu1T82g^~bJSw(2xl@mJhb80ISXb0B1DfY@q&k7s0sMU{8+qM zApR&s`fqlt8G}5~$KmUm%8csda{^qvZRyt;KBSnp#?8?5#(bE)`j*Vmjkp~I{x=qB z7i@L_XPm!-8At*-3y z0R$0vWU%V*xX5HtcUu}c*3SB+_Q^^j%KbN4hd))NTgn71i}$)6`njzJiBO7k#M4@eKP&xqO;t$;d&X zOr%bP`7U>4%wFVIvRnOYpMP^J}u3MtdhtGg|Y zZK~3i=4{gS=CW{?U~}eHR4TeM=t}CeEY26GBZ9*K$vKiZJX6pdAt6Y-;OWhW0KQ54vCRxGL0)P}=150x#d+o|rhs!O`|zj*eTnJMc$LX^TlyK~}{? zh_p>_x6AtBiZN>FjnPJ#9T~v`NE=^2UzR4Ajr8A>E=FQCfmU|2V}2-Nl-CIp(zSLj z(x2TG4r=UrX!qZpv2u>5W0uF7K@?$aPhL8Iz7sW~I=L>yqjZu+(!_yg==x9lRtgc< z^h*~Kd9z5Xt5%wiPclF7-%A*oG3lp#F!YDg!51(PG`VPOp}gC zXsUie(!=<6V=4qcY0Jgp&6|p7a=sX4Sd1+H03V1KKY=RMdB#T!k>V|(*whnV<3BUv z!DVFd{{RmeNMrlANoS17B*;q1GZqBX008zFbZ}~o%1J*4)up5V(&4p8v4BRwK=oqLdO3d?Gl~ zm9cIbX`8>X*{5F}on_eO@*ZLf*p(!y>^R1LsU;I`4bP@Qm}8*{U|5Tzw&wW9HSBB} zntv`}p&8VrJsuZtP#4hjz{y%6wU*CXst5G1?veihin%25M;T#_soAO@6nb=Q%yMT| zWD}!^UO)Ua-1>X%&NO;!&c#l8R@{MxLmHyGYlX>R$8skY08`N`11PAgGe37AB|eQ( z20|p;<$XJFF)>X^>3oAG;^`R~#{`g}g|Qm9;~Erq+_fd&kvP(dIx#}57~fD2=Z4nT z*d-+R8EKkRs8bWQo`=7_D6?ZJ4r(ZXOuXJ+VAi0%l7A6Vw%AmoTY}XZiaf;-x0s6w z3pTMs=uPj0&M9s{vLp_G>k5&Nx*p@@g_c4`u29XOl#DnN9Y2>nu?TC#VTt_H2GdPNAT&hDvD-qJo z19*fQ%cM^xXD^&*i6KVPu%A}jh8$|+0X%Oaq#RmK<;4ew#osRuT0a%={{XdkR&F_B z@Wq(u&&N0fB<8KWtyo|5@-634-?5g`$qSYr50(U{wT{w^9})TAZL=6!(wPe*@5=7OpKD$P`Cw(Y4qv6 z$Ef1LPSt=a@wT9px~)&QLVlQmXqV97nVb{mX&`g`1|?r3AqQ{pF3shD=;g~D_v(6l zv07D?ESd{Kk_~QJ?|SX+fu>w#sePLHL*}J209ME~*Zwd{4Tb1>_PlNt;*#mBPxLrO zOrD?Q&n;1vb{X*8yt2%F9)%*dpMCtB@N~~6@43{x1jJNEJs=gXLoBcR`%;^QSR$lQxeC{7e+Q?q(@KK}qem>5&#nZrg)NU)=bn765) za7S(W?}#@S$^H(DDU;B$0Wf(q*wfOmnQ}GQ^kMxLNuV_Y?epgYqAzwiJ%?EugT?{V zx!T2lE^so(d=P6cVVT3qf`O(Sf1BekP@G}A4M$S?9nCx?^0Agp1)oaxQ}BX4hB4yR zdk@PGVr#&-%Dh3d2mwK;dUmbv7dI>Wu~7J` zNob%peJ795;MLarmmiY+np9O*<1ET`xF3ys8tII$lS5X@gJqiZqil%$L+(AV5si{s zK`X)}@`|&trt>5^O|Mwa`(ULCj;|uBgUI`uD*WC_-ZEx6hpbM988HzGvGJT)SvE?fg1(fPOn52;a)pf)sggo;M z!+O;+sh5xb+Eie%<|G_z8(o}cjAJQSJTVEg(#RGzwUx)O_%(m0rkrV8ZP-Nf_U?d7 zmCWU%Oyf;pu=JbA<9r1@JORA+F7}({K zE|$4@GVP*uIwOWj8%uO0)bpiA#COD9Hi)Lo?<;a^xp}}38|C9t)1M_IiN5VxDr2Z@ zHX|A_V^v+jZN0k*N+pXnxtzqy46913{{W5pSsZVM%9hNEJ8B$xe5E<$WqFipWMvPP zF_A$(nHn zV8bH_V-}g|1h!F65x%chp}rdmXv6(BNJCU!&Ow1Pc!Xobd|73le3LF$J2lEOZ4&B- zCi5E!3lXF@d=kqHcBs^_&BJ}eG0o>Z8UYLFNGFu|s|dq=nUTe2awMHumO;1_1_M4; z;+pU(DyKufBM^w>AyoJ<6(8=Wz zkAFWO zj&Fv+$dqHNx$}8*@_nHt%}e&2%f|B<%OD*2I@%E<`L zGi7rK*|+f6mc)}FE*Doq)rU$NpSQT!yFz(`K237jh_g{bnf#27C-BVE2St>9_lC)) zu65yo;|X0l>LsP{g8rdnRov%h%RC|rTFdSgnnLqQBYLkezlFv&#d>k{*2x^)*>$r! zJuGU<5qD8-gM@WD><&IYg_|_nISN!!RjtVFwef~}OUQ01m&@j1mopP)U~eS}F&MUQ zGfu^;@Zcu|k*+I7JwvZHp&9dsl+NHN_`vK>IH<<>6&$|2y*|JmVF}ys29sKk!?y?D zd}vs98S2IlM}bIlPFad6ZC0-z8dtdQz6MyS6V+4M5?$%r)R3t43m|@7h6B@HNnu2g zW*aA$c@_xeYl||+Y`bmio1sgtaJH$@W-fkJ%N*8FPBUmG(sQZ%nOu#$ur>e;I|Hfy zh2(8VV+L4d@(Ur^P4?gGj+%~@W_P)nE0+ScYV}`J*Y&}%V4aXAmjQqy+>d_z;mhIs z8y|`>qA!a40FaGN7-+CjTb=t~H&}TEQHm=erzGr2 z{V;hToG6IADI&!zfGVZabv=4j^}_MPPw0$X5gS}?r_3P~^+zVP3i;q4x@|rYrV&zf z{1wl$oZ97rIfKJWf7G2UiPk~^2Twa3O%WOC$H140N0Tj<@tnLF?7xD^m>C%SRya?V zk}sshugBdt#fQVI#gEw5;-5!2zf-q?d2-nqST=VvnUZj|=S2t!Gsb__n1U3cq(jC8H}83(6=u)8dQIZ~i+xF0MWT28}`dwO30&cx7MukGXS6;y4zXy9cvI6%}arJrB;6^jUf7lu0@_K-xzme zHeNz%X&I4b2}CI!NU?ijX|=EuP2*paqVSm)CF5C1Mx(5lbsMVFe;^4s=jTmvx(fxV zQS_XjKwOwIPlI4=NMPr$1W0gFqP|BIJYCruNfdcvR1n_fg4gpHC`U@)lAN5k ze2B}UStet(yBgpN=szqnF8C&vL|Jvv#4f!#cK1GGAR4NFQfcGSH2hN{s1*|*|v!?Fi7!c@}@L+ z6#|KJt5(|N9<4+krwVY2WTVi|vPC3Wgl5Rh+VYw0)?A!}Z7DinBFkoKsEDw?8qZ7xR|D)#M#xoO-Sag-$5z6LUhCT4ZZDwl>YiHRb>_vDMm zGpUxR_H;UEYnQu*b}J)j(-xHx0J|szh4-O+W1nYMFi}(yGX&~l!&w?@pyPV1RajCL z&a|c>8@HtJdW-9QFv!OL00L(<75@O(HeEz{Z8~*WpmlCfetP0cEq$XuFYGUrbm|fB zLvgt`{jj-lv7;V2C;B=(q+~-H={8Q}ckg`G7kWneatO$}!tM^P=aJ9QV?3o>v8i@7 zGMe>>&1nm5+OCH9%{+~7xah}Ipz=c?nVKa&Ncf2Fh5Cu|RPn#qmSvhEj7P-uI?%no zTVeR-p4$tlE^dZoo%AFk$`P#9{HWFx*S?BLy^2R3rO*|riNE0=TxYs}p~^3?{#P#U z(ki5mz$*_Y)kvMevJGN3*yzH)BQi+jOEhXkRwE_P-fK}r5ISO*_(r#U35i!qm*)Pp z&%PpCeU#@#OKW&dfHfUA&YgfA_{Nm3H2eYTN64Ru6*14{$`#U%=VROedXtHd6V*&s zT$dh9^vro}4pTF42|+PozdQa|f2L>Dfz244q@bW*yfLi-u=s2aZyMvWNDk&xl1yey zz{|)iDCs8kq>ctI#K&m`i9_aCq|Fp!JCfX(Y!8ddy%&9J0UUZ|sc<YntYia{DTjQH6D9bDvjcq)hIhV|&IS&ngPEK5zDrC;HjwS$;SA$Kbs2xfBPc$>- z{>zzZq0GgamSoGsgfy9UjQ!(EIsxyt4l1{Nnc7!EQ|6!3G-)e z-uS~~9_+M%oY`hsa^vi>sR}11$djXv#CO4IMbT#S^sZ^EEE-4CF0##=%&GgyS&g4r z-vg%q00JeJof^3h7EI#0&!;b(gc%T%=yqRC0mU%DWQ)_b;5n&mxvAyaMScQCX!5vI_6@^rc)qb^0SD{&l}CB?&T}H ztFh}?$-@frlJ`}2SaLto@GvZX4u-`2gp zxH{C9p1>$L%AVB74=2N@06t&kV!bU+*wq%@kt59#ldAiJ)MEV zNe)^`6;NpgLIJI+?*mn_Y1&B5^PM!r%4TWU7~-2yS5Q9*UL17A##HSEEHt$KJ@M4(I%k$zp3yVp$g$P%e6h1l=Due$D`xW( zmSa17W!mrE0qil_QBg`XwlT_Dn|*;Zw2{>XU0T5cr24ltzkFIt#^U8v1I-ExT@l5O zKd{3R?g)uC14K^lbz}e@ZIkNEqaV9a-1o&(y@7Cx7c2~vk_8T8NF6f>5r{@otO5APP;6n!E?2@LJ$c_np4XC>SHl}ORJ7V)gR8n3;oYa*oqiZjsXkJ|+Bp0ecZn@xeH;k?{KO7>K z$FhgQ-!KP>w2k4BK_g~9&wgZ+y8i&%5_td~YYdiF(q0j8!knA#*_HOA7m+NB<{Y$+ zBh$0G7q~TnK!F(-hvU^a*J>9mNl0rqHfJvnem}8UCbTdP z6MxG2J$J)I2xcV-5g}}zcJ|!j6JwyNN5hAMmzUEC_U<5(x< z*mv6p50wzjidR{Xf81#)ilpyJnFY1 zILWd&+X?DEBd}eo8!^w5osp+!mN*rZI*%#VL3)QmE3P@wl%p=@nJw6}x1FX)qk(10 zN~cg_M6BcjD~+!Gv7$M(Y{JLS=uPwa&kN0Fa&SqPk2GhJT+V5#M3XMjhVnpdL6}_* z*xZtFzQ%%?{{R!tN&7R9{hiBZm3%rp{%gi2@aIJk%bAh&#==ADR$_h|!lTl~JzTPS zj!RFCj!es$Jja-!vMcSOPpd+4Xc>)R>Q%Pl-%lAkx0?Z`p}X+2L-k8R}| zUz5is^rzjj(9DrS&1IRS`?OKJU%vyKW@|&U7Ku(M>dqR8B|h|dVMyu=d_xM=r`_3$mL2s)goHAwX%(nFBXvL9@rM!+ko*ce%>h>3pQ>T{5t@eKxMx( zGQyCVD49p9?5u?Ys1-mL&LN#XxuP|jLhq-Q#5KWo{rcFtuxUlUtva+b%&w%mb0d5 z6c-Y!MJ%((ZKac5%$x04T#`?1#I<7Um>y7#q%D}#QfWxCil&srKMSbqiKHKQ2BfAv z5asfwM_n4HnVZ(f_?+xmio|Ix!;UpAtYapqCqpS|@{z{Lq&A&0Freo70`M# zk!23{YoNrYQ3*4`!G#W{z4oj#(__6yT6+$tf=sm2hbuU1CidT@dmLt-R|!^@$?CPT z;9a%J8Hh>0SLxr6VS>juleGaX^taqJa|P25pcMzI#p*ps?S{%aRq{_$YoO^SQaL0t zhiK+Ne6ZfHF@6FV{tM~X3)2_4=dx7CB+dEAu1<*pfFlB+U^Y_G@>;s#c_A7t)6sr<&ng3D3OWO@2Ap(<<#RW>zktSVbdokzQ;ulU1L^`BT^Ae>$RHWxW_*< z(v>a-VaKXkSG0CUjuli5<&}w9*!qi_-(k4l8RH#JhvdsB`+r3t5xiz{eJnJA{;r4e z!K_WXuwyxIz3eA5nHdzD1E%Az7}D_4yA`V4OJ+X{q-jz)0B#4%pukR1)5i21CGIq` zZrPc1!U**6{-Mt!^2Rp%9Slv~eH}D2yl$~FgeX2ExN0A!Fl5Q8?5NWiIq%qRRf(A< zKx*yHU3Wcr!dq{iLiC@LL0SV$je1tiiqtx<&l%+>CO03qWQU`W$cIAcRu!b~es~Rr zdTv~7Au<7(jbuYANQcWK(gu%??`vPz2ZmQFTo*W`siAnvMrCbANXaW31V2+<0-dn; z%~tecoKk+>*z_a_8$t69sti|7=jXP^8KkOIHXj}KAthXst3fo`d004=(WpMIcJ{mq zZt8VgTa=pQCUe8$G0*n7 ze$SZu3+5t6Ml1Wuk4p*$M+6$=3`l#o;0-j)tiECxkVHqC%7A8MSJbXg;XpZGafZ5U z>}PR^yi#1Ta)}hN!~?EVFuLLk_&^;9Tn0=Mnp^Bz$e}BKM)NZ+f9%l}} zqw%TW0eD<6DA3rokv3ybEaq7qUHpYlEP0F?d;C%b*@z>r7}l}H$NvDahhM)<5OWb_ zRo5@+X`%>@_UxdKy>PthkoCa&T7A|rrFYyEo*^b>vblK+Hd`Sb#RwX?2U9T|IbwI| zh^x6Oz)Gmd5p{_gPccE=2KS_&rW&CZ3vG5N;HTX@j@e}rIz;WL$Cz>IDBNfb(-rB+ z%--x@F`3Gg$-@*f#V%bK=4Ucrnn~2I0O&{px|}jNRXItjNUi&FZ}>NlO97WLD>ttw z`FzY$#C5`~x?>(m^#^0urZT-Xaa$v9JAWlZ6XoT~45WW{jhKK+s3uosjkjHO!x7U1 z8S3pra;iyv1{s{9W!PCRC-*}>71nZJr-Lx zH;1NUDtzdoo5_r85#}V#XAKWQ^*mNLJPa>9{{W}m`;!~fK{%+sXq@gtJCV&tkj=!) zIxK4>d07POE66pPl|43~(Oz!~$JKhv;?Z-)l-es3qRwHEN||&7GcTKdu zE-!i+ni$xt#txbkHDAc;;N4=DT{pJnxO=xMkVzp{g>|v?vI9mn>g4c73SC35Y0Bfc2b)PGjizhaJF_!YuT+#{S$>rz+JZiP3bv$;%@bs=yQg38dOxFavpCIyv zW_;wijO>!;9U526P3v6C?m*M{bp9UIkD%%55lTJ|epyCU`7&()k4uo&Jl$ZLB7ryW zhY1?Ym1y-uLy(k8o<3{N3Os?5T2jZ6(Q^GXY*dF3c`z*aK@N@q1eDi)#1>ZpX8cdBE4H zRBqs3^WSVY8>Yp|I*w{d405zvfaOAh58>MOt&TS?1U;P>fd z+gfQM5^m`i$veX{W%V|R7Rs@;0QCdg8M5PTS~O#ns*$G*o?Lm1z=>Ws$cU;96wR`h z2K8z@U?-1EQ{|fDHy_B3X>$-1hcN?0#YF2P#(opJp_Ab@Hy+sCic!*)Q=nVD`2i+p zF*>ffJqxm+KNL{`%$k{O+tSgS~Z!#>scd;I?ZJZQ(Z#Jg5fc%D`BlmtcL zNxNQ$*w!YhlXbCXbIDp&QCZmO2-HEoK^=C(oVHGZ^z^QI7(mojDG&&H_dJ>|SvhHoj) zota`T6aJBP^v3K{_R~g-pk6MyS*2s=GI_EIUn-uDv(68xM--s+#oVv83)B99YnTOB z%)FXZDiXrN4ixvJcs(eqX#dst$M4wPR84#JP?TmTjNuUPI{&rqC-Bw6Y=~*PD zBo3p#*bG-aybxYFrP9zG(fcQvv`8=2*Gby_I5wT>?uqtNQyi+v1k)rCFa5F+ZzkV) zU2d-oP-L+tV>)>SrSjtdpwnbVemgz)7<_X&(&z^T$Y~-O2*kk3tt@q_Tk_EGtVZ-o z;?uHHj_A#YQAY+z6@fCdxh6SBKXf=3f@;~8{oC+;uPK^b$A$QL5vn`o;!S6o3tOJI zjy$5DRbOX8x1u-T)9~!xcf)3uY@gZZcZ|RU;2$8LSDOet$`2S%@-S{nxvmhoxaXdOV>v6cy?xd27zl^h$2fM#L6^)2sb8f7IVOTltYEzM|N zGK@8aQMwWM&qTh*3DDEK5Tul;au+Y=wdo)}`eL!``THC}iP^E1n8dnd%}11X091e- z$*LbL4^d7Vb3?IZTs}eOMwt-=qcCMON_;K16~`FIj#?I}aoDVlH?eG^!IzOd<8j9* zXUoyjz!7)Taf@xwXz&jJ9!TcRHerzyDl;x(Kq`i>NctRYj?q`m34ETOVK!{c+Jl-! z-(w$oIJ!)snbwq7Bm;$EmZ@nWSoD=(NfByIXMVi*=L4BVOL8%c!OO=ajh2wO&@E_y zHsoJi9yF_NNUDS)%quu|HD;^d{xEqX?4`&vmX-Es>&s2Inxa9nfzQ|S!W1Oct^$rn zC1^ZhV;_9sfEy0qKWtQ>;=Bn0vmTaeqDFMvpU^`;~rHe5PU$h^S{pixXC&9mj!TYFo(ziXF9Zs1lK>6 z;Sl+^*?~6F*it5Zu@YUX*pwC5tr!*3LF`T&v7Rz>o}R<==OAdHj&tR-E9Az474@*( zNNf1+u_<^)jFWJU2t?YJO+!q9%?>NJ-7quwnbOr>PJ=BXn1eYX{JkI^yYMlY@NdOA zFKX~=z|&HhVF;Zc+olndCYEo9yMEMfK2SfB`FU5(D7uAy9k(Q76!X40HAfPoqRQph zFA!*oypFnLs<3*TWXY0K_NHi2j1|6Ur>X}RWt`ae9S6?|cD`JSc$Ml~7M3qG%*pqR z5Li5dM&qv-EPo+c)l=>(3cNu?hSVuxA0Qt806aSBi^n||_$bWG;z-kBx7X!|PF~wH zw&y=<*&0zib0()+3O!#x@M9)Pcse+-q?3EIrSROoh>mJC*}V(%8}02_%-{Pr|k-sYg5ID#I6uDbi2XPVW)qB$by9(9sPV}wj2%gZO9CS&nIG8>034s#%%G0)`2>r>qe_=LV=hC#OER|n=|tQz%>s#Iuf{_A3)>Xk#j>xs zrf*45s`_1hUp|0-X9~yi{RzoAG?MaU&6tgr=O#HIkVLM$)0+NxZ~h95WY+t!tlSc0 zpH#V!Qb^+-R#=BE9D~x#qls?>r5P$~fb>4)vfdq@%+DrUIh|alTO|kE^CQG-?F_pl z5yN&!bt1=OguJOwNfcUUPID!gfU6i`gD!!aHJX5f8ixJQfRBn2NVA8hV>_7dEZ$j~ zwRwlhMjSnC8{~1R&M7azjP$K9A%=1CafD?$=1(eR{6-VF)7a{)E>cq3m6IM#s`oTO zSs)UT{{ZtOT1?3Q0O^KOzjo?2^8hD&FH>9&hC6zNKFTMQPnMlo7CQS=3W*#F@_PmZ z)*_p3nI{SrfIeO4xueVG+%mi}0DSzvCRon`&ln`EQp+2o+S#Fyq^V2HXX9i3o}+9# zrA~98Cz>W$Vq$37o6dLF8k4wF!k^C_8ADG3ZrzhcRbcC;SkWB^8s0e-)lYG2zqT>t zgPyd!73)U_x?DYn^Zp^5@jnum#N+ZZ*}3xZCT4U1Wf|d6BvnyMszhBQ-x+Y?tZlvn z{HHK`9wu6Q!Rorrsr8 z%l8YcRwX$tD}dfb2Tzm2S!iXu~7lG6bAYs_no=o{CDLuFv$w`-uvq7{cdK@PNbWO+TWUZ$l5XF*qmQ3e}G$lP*MG5CVb2a#5pH+HE ztH!V)^FV&lBQR6wko;=Clve5#4S*f7DKW2?<==LYkIMna<7cw>5;yagSqO8ho7BkND(%6n@K>(OTi-_fW2Y#_5!k^vw;hD@dZUI}B0=X$-cv>Y z0I_GM%MZiH=*>7uFe{bILW?Xubj}k@+Q*~K{8fL44k-#aXw`_81ri$2hS*TbJh`>V<<5aIJ0*YO9MX<35mv>^gDHuMLL>_i z4WK7NKleTNIMW<@y{oXW*_1G%NtB#O8nrF;C$|`sqC+P!rTtSfEUG;f{YTFPr2haw zN-6$KbV+kLuPa{eC{@4Wl`<)X* z;p>;p>p7pa=|a#Z%1Hgwjrxowd)vOoic}+-&v=yiPqSvENg<4fC4lo$)oBo(XeJ6f zNyLtfB$lWf=h*)Mz6`Ctie^e_W3HZoQP=#VgHw>H;ojE9c5*z%c25tPk z5<;z8g29EJ*oiCKxdi2B5y-(nQot4!@Yhj;lu}=0Gp5X+EG%QuLswciz79VUh1W6> zxV!yE9T@jyZSibFH8+_nF#JBQ+YX;xIYrBYTVhQrIP+WKUx;`4et2|aPM0Q#{7}D` zts8+kA&DVLJ6YqLQ^u3F5C}fg_L$czBndi#V|>jB!P0l%maZ^*)NcF^qfRpxY&zw$ z4*n+wL~CsL^5JLJ!!z~^+0U27V-_q^j$cxHz`92xn3PNADh3k7C~EkbM^^VZ+bKpn zrLzSu13zh%poFPsSO&UX{_?c(><{UIl8obPk)ESl31#Lm<|26WETKcp<&w{zM6b{q z#7RX`;L`_c(Ui?DV=*MGZRB$#kG(TDEnTk`TWlwiA9j?3$K{3zmPDN`&;Qo=x`eGn zf-Ky(r^~*CZK{qvwmfeLvt^@M365!Faii@KkfJ{9L8aVniP$&rMzGI>$wv%XyyF-O zm@;fos^uSM5-#dwtK5sgw4TfXLo7wM)UgBTQfTQr?grO@sw|+NM9byIl109-#)__= ziF>vscOh>#Q{~ey9H%uob<5>qQr>OsH5#?p;FF?;;rn(?^YE;3!WtxlII>eTI>kDv zH%z2pb}RvwT+})WG}O8?fc_A^i1b|mN(;e9XJpf^;!JsEfwZff#BY~)qlEJdI*22s?jbcDwnQg5*4 zUZo}D4XsYhSb_E57L_UuCXH#Kj4Wgj?CPdaeOh0w6Lo>f9Y~93w~$(-h@}Ehnj2n| z-uhuLXz6236nMlE7}yshV&czB8`;}@Ts}l*VofHOXOU?M*nvRw+N&A`2g!tb)#<{V_x}Gsn_KQa?0T-x7Enn(bGGLmruGDIy`2hD*@U!V+i$K-;vsj?PKmhg>d8 z+`+`2ru!N`B{W&M4t)#|48und%0?727?(pxYkFoEhGJJB@;x^EoYN=_wZe_>52kaa zHz#2uonb>Hk$@QK1an7*#c)3!IbFU3>5t4q9F3+`8@2qXU5rGmZe?+rer_87e);}IAHd9xqLT1wMv};N$shnO*TEzCZH$@Tt~j$a zWi3`|#UyVLW-7&Ypa-}2!VQZgWfZ%ONh0Pl!L%xQU;sq}`cc~n#+%8xa>kkxG9Weq zCaayOdtNtbQG#L|eKo0W$t?1XlGs+8-1`xHVzOgS3HKK%H@_i~%STR0A*j&YS3-F> z%JH_g1~F;d_!%SKKS^RGxsH_PlYj&s5*!>8=CEXw@>1)O}XkPWyHoVO{UJW{b-k z#({S#H#==#t|0|o+A=75Tni)L{jls$OWX-#QbI2v4r)+@b9;h2Z+K>nZ-WO>jpB~3 z*Ff??9$AW(vtSd(786#G>*Cmj5$P( zDg+SBF8w|Gb;b<0E;+NW)9H70RBfU~G%>%Jp_iuy$NS?Zcu64f<5HM^vcH!>y!0)p zl}6wl$TiN`$&F}xn!OnP0hPjpju=csRWlR0702g?H+#NC<;57n{>9`D<5r>fKoQvV z-@Yi$F>`>Ud4;EQB&!&MZ26pUPZ&~M6-}7Yf;;w zG)H^I!CTx~-P>VUI|4b zD#qpRUBz<=CSNcikR#I-)e+@@*Q)P^8w_db{(qvJT6D#ALgq&^8?sh9-AC}>HZa%A zA$XCPd4|9MkZ+%F%L4W-LNnSxQcpGB!vLe;8!4g9Y%gpHeuM(8#^}hw%6i#b@FD6C z%LC~rzTj1G6wD)#<}x!DO*-W=DMmfwMIc(79y|(7`Jy^ovrY{9XMX-8mXA>0fU3qilaapCMs{02 z2ij6bEh%zjnfD7Dvss9*6h;bAm2QEA)0WKF%;#jBm2D#=0JM+NHtrUOTnb4l7y~U1 zec>70tnwyaIZRn>(y5rL#V91gkz^&hHb(&RaE^%ocF- zJ(1;U)I!EiI+2scwlc3mUkC3V9vR}#M=p4B1?H{rirX% zmtUtPO>8}2%_aW;)WgoS4=B(hYluk~mhGo9&&<-3!36P+mrn6yTG`IeEYbF)jF!wx z5HW&eB+*_MZj038L!|cLM*aCA<;k=m0C@9vWkTBN>t>B$qa>LVqb6Uvl}fl{%fbSW|DH^MX4uE zRptTvv+O;ND1!M}QFGB}Sq5b?b0%T3nU7DJv2O6tBkMCsaFob;{t%20tII*z5VPW$}vzfZQno=rP1k-L^- zni2Vpslm3+T`HagXN%KYV=`(p`U?|mLo#k@E#FqU^As`EYJn@pnjF?28Lk&0&;I~M zJgOtn<|${UD>9vjYZqReF(p5D48y&F5*ZLX5ouIt zGBYdsQZj_224WOwU~NyUk&RKusaC+hu`IwjOx*c-l*gEj(Q`=6W!b5tZD!4qdA;z} zjUoVeRPR+u)-I`ZX%jzXH#gK3P3(jRElU^E=_nItr9+Q{Y9jEb7XDX#86Zz4+`gXgJ3A z>?rO9C_}2PD0AD6_<_bW?6g^oipQJ#epBrdyaqh6)==fAyIIpo8kt8-FDzW5tH@?P zXEQEq?8bTDFxhdY2W9eFKlG0;PM|QvswEQ?niYWaCX@yeSQqNpQ9GK%A!$L1ICLz+ zRgId6^a5J#t71jsehQMYMVP9{(I)r7HK3_E*sM7 zi&P>zFFX!$28hWl*=J~Gk2RK+D_kWsaYrfbAmMd+=dQ0s8*Z6Wg zGeYI1*E9rqk*G1p99$V0j?7dI$2j)X@w{s;@XZgGng{HfJktmsOUkHy1QYm4qwk3K zL0`6oo=FlxE`(N_c^ED1EF!2J006`UG)x^xu;hz1wO>JeV(IuHM*FqaNDUimP<=zO zwI3L(*kIHxUG7>nayj{OdFbY69Rg5NH1fUfotwUf=&@6*W`fYRWpU^Ya{LquDzR4eQ9jXVq>+|a^J9(V zWh}Y~Vybu2e+eL9mn4dcmZq%wKkRl~&EYxNnpYWIu5mLdlrO2A$!#agQO6&uS8?xq zF}UWVE)BgA83wRpR#qVhKL~$H7U1qNn-#(}E!cCWl+fIhwDF`f6%nmk*6*j`qByD; zJ!RUIbnwjQZEORr3)4!}ufL?Q9Q)wc7FQb@4VKc7$O;zFRj6LRppnvsDN5NxFa-bW&$doA<+b|q&i^nVM0*>M1%w`|&V~i|7dR5QF*Iu3| z;dx@yzQwns&^~gwkIT6pFE`Y*sn&@*VR5wXi%!>r9rFR$ff&*ltDp6LAwzl{@b$VD z`5la+22}`?su>nNV3NPZtEbBrLeaY#2`ND;mYC|Gg1EnW!M+MKGE=~&W_S}d3d7_E zx*)jO^>9j_F`Gs2V_?*GViU-U!D85}s46dTMiRY)`f% zB$~e9%{e56V-iU>m{2mVz|p2V@!Je;m4=sNRxd5pipF)1-UGLn^X>t{GF+9Q++x)i zL9P6TW?`Vn0JX8+&c_O08Zczj891&&<-EA13c#Qza7}~r{IN}e6xRKVvm*(7u;mrm zn1etsar{Ty0NP6E*C#nEkAqXfJURSJJC^X+0>z%s#>d0fcL8%HeMMc4(Ati;%bP2g zwQ!g)gykxh;3vyw{5EqGlcVO+W`=B%t;rdT`q@togSf=?ol`@SQ0=&2?7;bp8m_wx zq-rAhVaPag%ApT*ZL+@2J>4OWJ#S5_kDynvKRjZS_q?5$ypVHM#^+`GHzbknie(;B;)-*?SUvESB1Q%K5%pU!M2ZL4*OuGE3cxd`7?8I#v~Ex zGU_7S9U)HKgSp1cc@$Ra_7Ro08hh?F3ba5X`DAasQTpH|El$METG=$se3G<)wvsfS zK^%1YV+8iU!K(~iEl+cxj$JX@ldIt%x8bj#1RP{f-%sO4=xR}IF{mHRTL;Ul^pkde zm>lwpTn_2-Nl552`Pm^TVk!Yp8Z)_L)PvIT&zAcmrHeDn+DfQmW`aoFm=&3Y(ISQQ z`Qk;orW~#N8IHkL0~ypwHdu8VbJnoc2QB*?{E>ELNVh7RDyRq6zFb~5V}((P^G}kl z=*{K_H(E-z;eXX#v92mnR9fH(WjCZ5f7YZZ9qfByj-J3MwJTf=hp1Q<)oZt~_xWK_ zt?6u3mA1^}asdIZ$RH2HU2sfBMcf8wGBv7;1XiPWW40|tzreb)E@>DsYLiPF8`r1( z@Wp%yc%-gZv3Qx-p@=n|w39&mkA1Mk4(vR0Z`#FkYF<}%wFj7QDO22w=Kcl*TX7~-_IZEz0e&xWeJt}{`_zG-8aiWti*v4!-$v9g=# zg-UKNs>-t&50jb9NF)roSCGJr3XM(a9R3gw7<41*eG$)2^(tn;=cf4I06>P}CIb%kh@HtT5utJ|>>nG%d~d}F@^_c*OG6?r_Ma*$fxd?O=?vB7VC_;amyzSP}ovx(W~QrF(-(keVrOn6hkis zfKn(>{`W9c3d|uCFLE$_JRTO@x3oJfqT;lwb^*Mn@JQ!u<3XK#-<3ayCFspY0{!H! zKL@r4O;1zcA66Bz+{}h-!sX|V9ISFAayQzu5pN%d#!W;YxR8EWbo9E?3R<`9V|d4m zj|+qB`B@{(=VpuVqhDHO<6~;&#=(f++YQ5ySQ_*_`8XM+kY7;7-L~BY3mDOkN$p@bxbk5nkzJ(3uBt>J>M46MJaLT>Ug{=EB_0b)n_Ro< z%Shr)Hd#$;zG7@SEv%@kRt05)$!RB=SaWW5BwDp2A9~xI1Z1S^u}@<*cs}uESqr;U zI%%>A-mFkgwTnrozUZjEO2wp^fk`c$DD3965O-AvpPnA0RoiiIDpJys4HL?I#VAAV zqzYkv=e6TxX|JN5H_LmBWI}|V2@5QFeNu%}NYBoa{1bS`k~G^~4#iOUx<|4;B|7FM z%(BBH<|BN!-hinTKj}lvp7=&LH75C(@pw2>`bQI2#Z-1Tef7JA0?OGD#(+ z7|iD}A)0xbNu&$*i5kmF%6%-S@ae(0N%t+m>C}QWtC%Gc$x94L1fG}D@ObgH-(V@x zm#vkVbo!KUXQzB<(B-lZ6{&CF37Ch}vInEGb^Q3j=#c9Z%udEYYe@V{d*57Yj8aR< zbZ2IrfZNh8h(9mOd=!o`-}#WtAL9;2WE5t0j52{pa$28q=rMw zC!G4gdSdE$)Bga(_ZXT5MqcKbX=Gn65{x8~WDHtLZNG$Zi+m1L`CxN-hRtV0jL(*d zmN?4BK+?<0n&!?0mXv&q=kxO9ltmVHEc9=sh!OhqfB}rRd&E!ujK-3CJ9K1>s^xr7 zJK<{iCHpQ=c!!3Z)@)={`H+ccO(IHpTrXt+V=Kbjy+K+3(D*bUG*e9Slx&=@0*@hn z&7Wd@K)(#c@sDnODSaL|QC#+FOvGT#tqh2#OGF_sloXLiTbS4YaCq^`_o7jrnVic? zu?bOBN4CFf@81sezL5ef%#tWsH4;E$z$WYlGzYQ6tOqJ9@uUv#cklNYla&p-e561Ih7Q=QG-*Jsnl$DAx&vc+sC3dc01jGkFTs7cCb8~JVium&ubdzxzmS=gq{WQ2K90v|S9 z+fbT@;w$Ri1|em#d3=od-wM~9STgeZbB{5o0-cWit9%>apflzbB+leuDfV^D&beu$ z-6n!I`?f>DQU(^GrRoayp=Hc!RP^*dvAvLLzbrFae%|QEnp%~18q3Nhl~#{C-WiwT zI}gY9YLfYKVobzrjJn-LT8>Klk&K?4rtPtmYh@Tsk(PA?Wt1{Xf3Lpy%`3+$Z(`EF z$(NUsKQc89_bh(s_dhPyF|jt{iu{`yr%xt#Mp%m=j1UEuU5P(DTa9nnZ)D8lo<@cQ z48CMbqDLIJTEb@)6=>(?uTqf5oQ%qJ>OD@@Yme6o1#oG2RB}z4&BBxA;)XnoxrJ=) zLkN&4Vv7F&iOJ*N3(D$0M(k14sNF~t!+aycyjA=%Jd7FmWs5kOuMvOxyAdwlBjIW- zk^`_5M>yvx`>F9p+;EOJs$IiJ;u835zJG({ReVx%ius=yL74k4N&f&FYp`9^@^D&^ zysk3YBQAMiN0vtr%<@cG+8u#neN2cp3w<~kem`^?7Pi@)FNWnZvIw&P%*<-zYY3yh zIhnGxk-#WJTc^R*!;zaLL*VwcJOM=Mm#2!Qh4%j~L8 zJ5c8doKjZ2jfAe%b{mKWSmX{szo*X_^YAwhCfa6E00BXe4^G_IA480`X@*S_bVRwe zb<)5rytegA(+$M6%85Rq#p+_RW{}24_ds*KgN=~G-3#@T-5Fuf$WNJM3nKQu*wGj$ z@7%`c?t6C^69QT`04XFE9dD)>_EuM^^cEEfN`}$7KKu3Qin8^dl3fWPv$mi(s{Yud zy8z_hJQ!j|W_H$8S95c?otDjcgm>%m!{d*-0>x*~%{31|3%48&p!~4s zf|75!Qux2XXmc!7ARwCMc~5*UQE}u}Ev5P%Xx3<#GIJ{w*-@!rZ~p)(uZ2%=PBTm9 z&2r#H^Q$9z(R|r}CF{`;ZTzJF08(L?_ZG{>`J9pk%I26X(o3`D|?SPgUUcS$8Wa4v~ zrHN*d{?RpgpB*-rX5ZrC(~NXFWS2E`B65pW9!fNk$^jvy18e5~o8xnYVzq6!zo3eO zcu7_&v62YlfX06ISQ#WSSV!e_kPTAz=MhCqW)x+n+wepRjEs#TDo?2P#a5k!dh1;> zCX+6c$K}NOK+&k5OE-V5j@W~4_boYe(6kp@h6mcXKP+fTz6H;Mo?$OVz7eoI?bLm7 zdS&2HsLenm(2Z>Jh+AT5E&km>AKjs>Mqa zYi2i9qb^yz!m^iA6wyT4zrOfn6kw>uDd@;K1NrgFJi{CZV;sBBf5e3D5Mc7CxPFZp zGHFZjZDe!Vj|VDaluMV)LUQuUCgEaoJrr-$4mi1SN>Y9e*lFWa?#)$CH6JanR4pE` zQ);Vr+ zfrQCl9E)&&vjfHd0BAD)4IXPP;c^$wc!<2_MSW46zu_{TjS%M!>H1k@ci6dSSkj9= ze69qhK{lzULdB5kh0yKgx#^^u_Qz8m6$eY27W2WP&X9;c$1F@GC(I22xJv&3sk&g> zt=K-Se!@$eo?NVX1u;bo7TI|l_mNEdmS^O~PZ%vx$sIA|WLoF2%J{0Mg)fD{;hA5w z!ro?U#SJvs+{Zpjk}u0Ec)+?zJkD7g(?*D7(wl`{2xTUgPqt?=*+VE;8a&bkp#xPC zJ?|S~iv$%mV_js_^w7DA4Kb|ws7^pY9j7PmBbq_9ay4%%w%F0_?NlyMl%(YOZplp2 z!}eUCiFhh!Aq1*;lr81?aFePz9IovNG%zxYYhdv~!M83biKWQr6FUZ5!Swi+m2%%{ zVH!mN*D6N41@j^mfyW1^DM~AzPBv`POCt!fq6Xz6+t8gB`su7~$MQ0D2|fiHRegFC zSRTE;6V&5GVC3l;eM*nnRG1KoVp)ytCd9Ayz-7Sk?zj#Ua^yJ5=HJ8fo-7@5z8M~G zFOiEl`~AB;DWu7ubk5VXr)P99}ky|dtc5-7B#mPRl(nrsHJwmu5l9Qwb-ZWidy;~oZ{+POc z1Eyw9(`yV)%xryYVmG`sJ%dr$R#tf}TWzc#e||T_BUA+miXx4>HsgQOsl^1iDWn+L z)FNorwZdhK5O;th@&U(mGD0^z|0G!0|3 z^~F$rgZmQmDO<~rQ1B5QkCwB`A-_veQ@G2;`1LCX9s8+o>C4KUBSe!22O}e>zC= z{!9#h?7LeT2E(rvj!jX&A3vh5;&_rg!vtb>pbsBTm=a6m#iz=w8CeR0sFGEOBwshp zVj1%;;#p}VMoT=Jqq+H?%K?*QDGxAR7R3BxpZ4Du4~Y*pS2q41H;aui_+%N_a#BI7 z?;WKy@(SNcIAnPN#j#^vYxy$i5dQCPR*lUQ$v8Hws%w#U)hjf{MFefdUvH_vxR|qi zhO)~c^BX7x-jl2~P--OC0Pl&U)enOF3P&glGwC?0Oe^6 z0T=*p(g@fNmD3huS8MWUWy{Txf+USZ@W^cc0HXFkA&6X?)WUfZF0!lW)(QUr=Uf5W zu&_o+m7~-UDPG*|@~lC)xnUDYO*BI=+@5Uid-8Dy@T_V)%&P-r(oGT7y6_lw?Rcuc z$f@-*ilnv+mk@~|j32VC`lUXhza$Oo6C(EPGp4N1-1f2m01_rQU$f?xe5DO;R1H#f z>9yf_+h&Z)3uy2mmn@D;s?i>kLyOxNlG;_|<>bXpJKSP-)Ko1GmfPY&G`Hl_2&qDg zWtUm?#@U#RsG=Q2H<`Zt*;~T8q_m_iE>WE>EZ6h$@#P|e#1?6DpJ`^fOx^VOSi!GmgyB zsbr3Y$+_YA45~$w&cvR3&g~e>xc%IH16^*Tt}HB+)gf#uLpivbFAkzSdmUSm$ zdVqJvSN+Z3BcmNI`;LjyILVDYV_@CSf34#tY;N}8(~sgm9&oI1`fZqkN#4)Pd}nz4 zj)S*DshON>ECCF`KmZ!C&#)L=qZPy4Wq+{oNf0_EBU58P`F@C3F{(d8&L1naj-dYl z4V~+3Xvfd!sXf0!tuB<_4@(+SJ8}-(VXu|>6B#K@#6D0o*@&WB7I!3`y>K~pMz}{& z)X9|@a14N$>Y0J#jq#esIJ7DPnFGOQE~56K&$jqpNVc{V)}8wri83NEPl)gbOZMZO zFVmNR;@n;K8G|qpNqGPzKs#`2rUF=-?YXh#i;8?~B4r{*(%Q=&y}SEj);AQDZex?x zCcx&JZH)o7d+q(kHA7`gf?j10E=4F`ufKnm__gvAlaRhsM5;?_j_g+FRtSsY5avdu zT{I{RLWLz`WQIC*5^u5NY!qPm6`o$(Gv<^~S0iS>Ps`h;G~tCy^kq_YU4T5JNh|(; zwl%`HLgy~X%x6%?Ue?wt=gu@_e#-AfMY|r20YoZj2D|TH&m8QFd+cb(@*b4jK4Q@- zC~dg;4Y8UV$r=p9Bi@FDO(9bvM7sp*tgxyz(+!WiW#rECJFSINIVqG)Ejz|^>l^#7@T|Vr z+0f}0q$?zhBy6>_#%Ffc%4x$fF_dCH6-oyMizcOA(0yJxXih787tF%+im&%thNs@e z^S?V`yOo9)w5rB4Q)II_@%DH>>CvW1A&?P&YLOC*$=RK{;qhA+l1t*2#!!_Y6oG=X z6>Use-LGb5HcsEB4)zjSSBFqBg)LnxdhgSWP>lZo5@SJ2CSV;5{+UL>81y|T99mYW zP8X%y+|pJdv`j>#up>=r5!W@vNn@a81Seei8?hxH}y2H&M(^2bzm z52wi~Oy5rsifH2nL#&N;L(&fbjC1lSRW1$D%W`Rjh9fMKDPK8cDhMb40Hl5pgebP?7Scgi zI~=UaLk+6z*aM*U+Xd;rD4LOFai&4ZBD?MHeX&xh;e_89X| zn2sF(0EcICIhZrP5t=s+S2k&KIgE-W=*~tghahj)2vP_iu3JuhB+F(VQJSAf z@bemvv#h`Qj%~R`3(hq-%No@ip;c~?jW8K`m1l))oJZYE_kS~fRmYn*F~xUaxU zN;Zm55RH_qgUXzGg$?X)dk}Cyw{FpqnnXx$Cn1_jEn6MP6g3?kWv61%#ivZ9_z1CQ=;4Q6IzEXrAfTI(k7Vn4x) zEjnT|g6yOcx_8)+f3_nEQnXNlNFzu!MAql#cg4r#0KA|cIUf~m^WwI{o<#X5^l~aF zUoA)+Y%r-ODOy_=fB(|_ypk#+h*suTk=|kP>T_TN(N`YiT(5)2a`Q|Y6fB{01JX^> zkar}nRz2|(ebESlXO0$8puZxAUY_`}1j>azYqBwRQ*IBXTdv)P6_>G3gH9M^Y_WXB z2u;TvszLk1xCLtZV;2n1HK=DR=qVU$P<|t@KGo9#_t>aHnYj7sB7~sQOq&8$^pDo? zF@-YcEiQ^Is#Y+}3xQ;fuFnIvIJqLzwPR|55WD&V@C{hLm)ihX{{V&01YR%U(>#r# zWkjU(0&c0VZg3f3vO>F;7f0OX@}-HMMR>#qXuRe12K5P44uEZrG}f7E@M>AqH`8UH zlPyt5tR!$i5wNQHu{E{*2-Q*%TSReM)_LS)CPshO{mXyg(`Lk=sZ z-M*s%C97de8`WL`tNs>S_21>+-)u$gL3&TgEZKk>6fO2?97@p=G7pPXne^PqLVJUgq?Q> zR>CbD>J^A3VyDSS-JuM?vb2L{=%Dn|&F_dznDnhz$id7~`Fh=e7WKBHV{zCF4v{6p z(;y7RTC86G06bGvHy12^HgK$8f$;aQpIlJ&_8-cLktEbrq;RH`yAfZ7M&#gJ^l!)+ zGGpP#b=)?V$$=w*Bt?eIEye!;9DfoD?~77Xj>uDlq3(m&ui7J;DPUGmg|%rBkyqIK z@G*{?`wd2IUGftyG$?5e=@d8V%~wsj;DyTsrT$2;k!EXArnalRTG&(}EK;kn$eKvx zib1oih{{muS{zvFcfuztb>P$M$GQue7Ukz{MeMr)>!Ni94bTHvxaN*H@yJSEqNuGS z{u`H;TADc+OQ|kNj-bjpRUIuwV;@nUTiH8FBq<`SdO^@*^p(HFd+m-! zX0kph*||!awYX9t46*7gGy*j9AKB5Tz_{^K+(-_eu zVI-FXXx~xW=5RIcu)yY5&5cH%CJ;4gU+KzH`dnkem=Zbj3E|Wy4^&RT9e6eZK zZ&L0Jr!4U@&`{p5a5`drpnXoqvstjts1BPHO&<4&OrE0f0p(fgOpB>OuTJK>R~WRZ z*ttDLR$_wKkS|EEP5%HaSubiYm}9e$5o?>{-mwS@RSlK%gAL7Sv1ET2u&io>t>1we zV&}4SjM;LcmHf>>i#2;1;GVc|sq`b!l8(=C3ZX%x`St$*j1+RE*v}|7sXfXV;$w1A z{V1P)xO$pvjhJwQRelSJV~J}})4(0S%EB`7u-MB^;^R0(gOML35r5@lJTS`dux~P5 zn5$>th&pA=g<`PF6mms&*f_TrYmv`6vc6)mKD48~`ns_8J+YTO6w`53!Phry>@+jO zBE=~rn1NH*Ro?#qA&fKBsxo{9403LpJTjv(8^$CIWOB+tts}K_wjUW>Xg^KyW>m3# zo=+r}EQZz8&{i89HW9T;uoI|#hI1rprCVFL)a-k4eef;KOG=CUfoe-(U|ri=C@;{} zagELpgmqeP!G*!RpF@IFjzngF$evT7jFJ1-8%TYVrW2DFs})TnW(Vl~gp)oc%XnT^ zSXF=N@XV6RqMI`E$*mam0TkBw2w-@grzFi!sD@3nnT;c=y0Vsyn(vAoyPbv{qpM*P z-{G*4)gco_>sZKAWnd)V@S+{`isuji03WkF=CSj;0L4p-Fk%yROt+?Ll|vlG6@rUn@ntu$5~PaC;AA!IQd zj1UN-tZjn-08TIyjlapQM;dNTZh9QVXso2RlG>Y9k@;d}$EpgpGs;ne*={x-Sj=)k zC?fT&T1j>s?l}Xt1JR3(4~(`<2Z(;uE>bBnnR`tBbMB`CKtkn@JCB8|VPDb5R;`A< ztJ7B1oLflnNW)NnHBa6#)grOI!yX0WY$_4bggoA};(?gJ{7hQCOik)1ugKz}skX{0 zm*x~mi@L6&O8_)~&Lu5ciCw@JU|i8g;)knpf78wxNP%L_X^~5Ypa477_xWO{8sXa{ zC2gc=ritQ`XlFiuV~(__k}vIYcax$87ATpD`u; zPI{^BwlzX9=BN#FyAw>;nG(AJ<}`tvY1oy$hs@xs#{v4EMc5gB>PgxK^2_UtX?I}2 zsseb#N{W=N2^{RgXLeOc8A1{$+Ks(WFI z6}UMsPR3jj#VclGk#y!`jk6l*w722%klxB}>l(dSY15?380Av8B+!@HOtUuXg^YzEDl!DC|A~@8IqnUpgVfkWZ&kUPsWBPehPETW? zmMp{gMqS{`hsk(bJd$|qvIb|7ukI5pJwaCJ9@xbU5|&M!9Sqr0#lgvCvw8QM{?w32 za$*}S!R=)-1HCeI$63WJboV)Ur&%rcWVUHUazL@7EL)g@^G9%}aw`db)TxS|UsEGh zRA@qpp39>I{1%*Ay;UCgr8<7@4N#3mb~${@%L+@EofHLaO7wX8^{i@+l&;0Ue6;v7 z0gbh=Z39U(ch&AIi@~YscSSsPwVb@{Owt(Ndn0kRU**m>L*Ryf0V|RZ3gCPva!*S7 z;qZ2=xl9IT1}X?(%_io$6UWyRT8r5gDC$%$LqQ*xAk=J-pzpr-^1~ZV6CNjTe#UgL z+Oq;|(WCuvN>q&y#N_J5i^QrGwOvSm;vhO2Y;p@INY4K;*6UL4Iby=J7M^- zxjV7kftE=XR*1GAQV-{Vc;2VKaxL8z679I(+x$2<#ic=LKmXJGvXq0-Y{%m64_^Io z?kmd#>GF8)MA16{#1cXHM&`Z9=Zsu(MqCsc7m7AnB#nx%J+8l|46(G5G=@VAqD7gl zlY<@pA8acxVx_?RDk6au^%NvHLUs?n^^6_=0AdCpRe3;>v?n`z@y9r{6h1?Fr;I#t zsWb-1oA>tH7KG*G^m~nZz7b-FG;lKt9~3qAsdE|^gdEp@mKGSv3mT!4Km>V+-3s$% ztOHo5!y@GSc3u-Yz~svE&6kgDM@UU0)Os9oGXDVFW0ZBeL+_O_1s-C!8|g|7e@)I7 zJ`mHtaKNm9TDT*pVle_zPV2CIyEu@pmh!@N-}L$71x~N9Y|K%*>Wl#VbpHSb27eNa z@#c>~ZOEa2mI-iNCby$Dc_mqdZpq~mJmAKQ#y24k@fNU9Pt<#QoSjD1ok!dtil@SG6}&|o1hrXjq5^i$iO zrx1sg+7i(@bEU|Eq$H-5-9Wn)h(h8+q{%dkZR%Zx3+Oom5Sji6^f}6AK3cqGbg8S~ zsl+l4>D1A&0ek*mPWTxO#mgR9P~3fYA2YrH(1tRpok?S2q#$d9VNWLXrMW>}aJ;`0 zCQq4p{>ns-MrwZ$XQ@E7hb#WASNGs{IJ|!m(zT2bjn;>lj6aJ?s~>VYbH*QA1s{t1 z6b`Ywg4&5*;)hL!DV9nW2*oe293Sa{GtcD5^*5IrGtt_I`OY#;(`=Zcn>8}oR?aX( zC_u<}ZoB@N%{;xICZ`=MW3I_Sxp@4gkIXRd>GtOFl5+FGuO2-sS94vSMMTU>X$aD* z)p}MkH*K)Pm|WX8r5!bD{HS6fu1+e^r{Jh(Jz>n?;IL|MT>{5AlW`&)0Aq_74>c~PjcS!pC>=g$ z1ZRAU$0J0JV_leO+rKyMivejwmW~uD@?o-)`>`^K5=zhQDpDa{1`Ql>?J$ju+h#&7hJLW z3u#0CuKxf!#Y!4iCF&iKWUs@i=8W#W)8>mweLI=jI zcd^*?7mF-hrpLMCrF(6NCU9J?Kr$1z72o>fLVnfw1wphaDtThx)Tdy(o$KEPWN~YD z2F-esfgIt<#qc71jLgKfFqRcjmr(%|`=k0O6)w*qe9cMi8;Fb(vWmjU#SLf8=58 z8x{mGy4)K)&nXDQd*l4Au>onP_HX6P!zt#hVr?`Vi?P@oA|Lk|qC79aoX_SlW?>UD z{5`vj8|8jRNKi>lfzH0D8kE@cJ<2maaH4yhHYY_;S2CMiO|1v~4jU#TxPD z*BX}ac%yW_gN)}?a+=;&^GIVft!_!SGLv?v_(mI(5{wh?WR#oPjSSdAGV`N(?eP29 z;|bD(#mg9Jbd?&}u=xhE?3Q~hr++<~MbKYPIBo#-VES{VD zVkkLq8!P508dZkpR={n14m;reGOV<+yCC3?gjXYOe@qOcq_GE$ly2Jgy*=eNnH`rnXqpO|^ zEJ9f(Wy~&C1-+vLvj_Gei(dNV26-fpFf_>47KZ!cvAIRmhsUM% z>h5uQyn)Kj@W?$nPJ_T84ZX3@$C52>E_mqUCS^yGg$0m~2g`gm8MRAHctS)ZW2j4h zkOk5GdvAEr8Cv@w8Dx;K2>s+c{cCFAV2S|KdB@HyNgsAs+<#rMp$x^#{2B7R?D`Pe zo%Zk0cEy@8ax~cwF#$3tZ9cGTV_acse(GRL6LNo_CSidhW>V_KmbT}o%ML|2I4gV< z^5KPB%{!aEyH?-N1PG+8j+CkZU6s3o)OX_$g^;XJYEm87dOPU%A2Wa;Ir9j~6Hg+v zgwmj`$M(g<+5RH(A`iT>-E{OG!`lQYVtTbpfhqF}MJNhE2T|?Cez>Qy7@EC3%=dr0 zZP$-)?O1j>KE*RSU2-p&52ikN9Ckg8VVtm`$ccF*I+Tz&{Jui5V^9Co{J9i}H7WU6 z821i%+V>ti7o;hxQQXkn-mk9pSj#_?q7u5iqaQAK+n>`KvG?bIvA=LExq=wyh1Iju zXX$*!8U{?k_;%w->(>mDxQog18jO}MIDK54*vkxj&Woy8xqAB4LV5`)Zg;O5NQ#@m2ZanbM*YM50b~?fO$u28W`?x z;`mPea4&)%cknlj{2RmOChITd>Kxk8qt~W5nSbsxZa;z>aT|T*Fe`n2R4}l?!pbZI zyBk}-pg*1=3x;iAJc2a@Z`{`#ZN4D}Bpze0uEkZa%->D$sq$FFxpkTlrPNT`wr|pn z;-j0g>|CkrbGh8HkI^6|HX37obiHlAJ7LOt_C`Fg)4LT#0abj`^6({J!`K`Upt8)7 z0p)`1bj5tDNY`Wy$2chQW$ATb*}m;q5vZDR)G*{%VTWVj7Ajsx_pQFTGK0frCyM<{ z)wsH|#`{(Ve-avzWQm3}GKh;FO>galOMqt$N|B_fxo<-+oDFY#{V{8R;~l9HE|$|F zkR>;zb_7@9C)%-3g8Plg`L4N$j zRk&rekzrlbu-~opC)<2kHCeP|P|AdC0M)k@`gFuW#z}0zO&~2m?fi#J#IUuXKoaFg zA#S>J&Lxvt2(IMmW3_kMhaUXmSv8{N*+Cl-TXooRhyYK8v*P~_^i z392`VHECtQ@m0hSKkrz z`u8(GlNZlSGn3|~%cA&v1<;Iw4N<_#no5T|lHBu+5yzq;=C-zHnT(2v=pq2`DBSJT zb>HQJ05ZrU4<%{<6bAkvFV(*U;t&*5G!JSGNHrbobA8QofRuGAR8yOV=Bb~}P*mz5 zasGC|EUy>n)$272e3i)fgZNj8WxPf#xSCv?o@2)%heuZaBx_PDxW!5z*Wr?OnkFo+ z7W=a+FeXQqaHB?NF*abT{szoBlSl(#pc(_FE2P8dLqxYT^%C`-pV%!Dpz{XZdynhi z8)GED1ix;O-eoA3#=nG)zc4nyIIFUVmS!L#8>8khBY-dyg`(4;_}wRl!-S9uqx$}M ziZr$hP>k~_NYF@p@>vQV8C3K<0&yF0UO>sFt?)18<)6d;+%q~Qk2o@a^qTv{uvq4S z}g}45#2+u&D-*F&?T`U_#PU5UhCASB>koEAz>9 zTNYMHT0j6lC$?lJ`(OCPuwuMr)Yv0mLPPlx)xXXhs+ z`R|C7rnlg|gwjamb`qT(HzaI2VtQ<{&e1~)$L0nM2~pIJp8WgZ)NAd5J`8o0bh53f z4X(-9*FRi4(Y|>XLn)e;NQyA@oxXp|rVcPmZ}}Lw7baHTINAK)xi8A1ixt!Xh0ZGX z;9|{6jOLRu6s8qEWbm-^TI?JAH`7iu#VA8k<%-WImI^CsXN(hl>xN9^ntaT|2GXe1 zY{o2VDg7}$Mk*NV@(AWUyuMxuRi=%kG9M7L=<2&tHKb5|T{zRvfab zi99^XJQAOZX3M{A7190E`o?+1OhG)s0 z#b`>XY&{3Gp5xvl2ZhWdm-c0|P_|1Z2ae=CK|;FtlTq`s$A^K2_&%E^X+0S@NG#ZK zD5+w8;}S_E9#pbNq2yXRcN_e%tXlS}EvnQk&ss&H1cKd1Yb0S09JM!Gvr6Ft(;T5M~`(fjj8&)hPW!P#1*kTvx zv;WonmMkdSe!KqwTzj1;>xFlt$74bbOsKXlMhFWV2w2vm><&43BI7N{hg?gPmoo#& z6wQ~=7Ij)zFI*=hP2t$`bFm`y%Fjf>e925|3o9b35TLtk&UfEY!=o)gP1~@s!WYXQ z4I>_JQx@Fe8RfNofcPENbeagd-2PY7oMkBU6RA$4Yp`AIhjG(ocQpiOFP6+q&lDxKc_EF3v9YVeVc^S> z;I(tP0#g}M7)Ymk8&()xVB~2<_IT;R)>@=sJM&e>Dp9pTIBC7ZOEi;dk~5`213})q zkyTt_GJ{9~mz>zSMb}Fe`QQ}02Bk`LVTv! z6!ena2gqScR`iR6G|ItGB1Fig)sZ)i7+D0JtnhF{02cd3vNz|BpDvr=*98dDBW>zG z4vO4$v$iaQ20~*ng;rz54lBRqfRKsdb9ZM`;5jsgG9*(XxCPiXXeW_XbTOZ)N>Hx! zG7!+Kxwtb9vIrrkgdJQ{Epu(u1CDI5>5Z4C-E7txC1hq78hm9%bno@Tq`RAOK38Kw zXF9Y6Re_gnw>wa_??VE)95a?izqzrf?yb1f>@c3DOVeMGnBv^1+Kw)K-CC4d>DbkN zc;-*!Z^sIb`d_4|DUy7E*RyUvnU^EVXV|ZMzN5 zA$xwyE9;Mud~ADS6kcZnD^sYTq6XbJ`e36SOt!0+v6uFpgAjH#ME?Mtu>4S|Z@Hf& z(^Q`2WzM~704)uMHu_>#RF>ok zrM0t}%uXFttLrjFx<#@^PS!c~_c+suwG}7BGpVUbw7Z!`Y|1B;0*VE7bzn{Ee(pQr zocGuXPUWNoD^e>vw#44O*M7qlq@js^@RW>}4ar@AW9{b%@hZamTfcZZ$~(NeV2A zCG!oPj{qNp@3zAe99qVqE#>4&*|%GPno}HlWjdAj)VpcFZo>>oqdV6bYG_fNBPuV= zQlQWzZ&yVOWA$bC>r6*=9y6Wr3*r@m< zvQ%{gSypE9m6A;_QGvAD_}i}dl9n{;?U}MUOL($UNE&kNEQ6z8z{S^QB{?7+uMr`z zjMP^Aj6AcUVggAOZc6cibMS|yD64FwMU9ezNr|{CWJIOe@ zWpl3^d0``sRYe1!mY_Z_t{Ph46mpPC4Ir?g{&Bt`3r0fUouo2uHu#78;AI}sNYL+ zVO`rwixQh4RNa>URpd>+6Dww?v$ry~b3|(CSGWUaiRBX&pWA$i=75#!Ql? zdE~Z^MoWyS(gTl9+Y|DvTvSx8?oxNSF*#B9dRfa^C1~jAws6@>EmTzuhajYArVZ)} z zq3jOkh7~Ev@vy|G9GST?K%{bN%S!cPGhxZ2zt;evl5Xs~Et^QUh?79xFahg?%UqtCq#WTG#X7b(oz2TJ%R?lQN}@9Mi$IoNNWKLz!NLyd3*WLa zms4v&Z6cM>Rj5Ws#DCNY#>A;mNJl#>m6I(Y6+0=EX}?m{o9uAJ?6j`_j(Q{Ifs{{V(h<87YI_-r|ev(d6=B=A*<%+uwgIW;GiX8-X)Un@fUk3h#+SM7R+lZ4 zp*WGGX7a)YiKC8i@~Zi5Ij9Pg@d-%j#s$6GEka3AOvD-7q?ydNV=S@fa)mtDR&|q7 zO1k4^Ww61J-?jlsw@q#2xw$CpjFy90Mt0I#%Po8-_(|)A!rX$3wMJfPncG4TG!hB< za0tW4##gt{r<>*aOnQjk!%*Mb4D|lOv;Wroof4x4r=S6=?b9CRLptH|j~)GA$NCJ2 ztQtQu%79caHaGg?K4%%or#(iXF}7b>joIJhJx-o1o^}`*LiSt{D<$+Xh=gDW4PQFH zk-{gEP;`Kv!vv{ibygI*cRc%VfpcTWN6%}mDIlW&= zo%ifcU{90rESNjND4c`XEphV4Kd6d}wauLj61e@Haw|TD8!oCnw&{$+?T!%Wz-ZDt zj-#gi1~cc&C~UYW3)?dS+P11aHW+3pxyIPMza6}pNj72(z)((*eZcGV#<)VztA0aG znrD$zk|eE#pUjV*8u72$H9sNz$x}l+66S#y)4mm>OW?a1kh2l1eYocpNQN$FBjy=h zNe9$O8+73QSh9p5$}&XlFYd>GpXs&^9FfOX#k8)K^6bVA%PSc4pWX|w zInl=7E%0@)%@Lv3njK2abU0fGIllFZ(oF~q&m6v{C(Yq6tzxv9vbL7RW6pU4N~Mx1 zzJKq64RF5#t(ZQ0Fi%qsD}mf~7=@d;479pLtsbCv-;=eEd<=+f!!yHc3G}%hV)a|t zkESx`eTexsAj~48s)4M=bw1tr{cs+g{wKxe?~Vuk;?=tbM2M}ZUc|4uo;n^dQC8@af{x4$vc$w*s;_#! zxO}lKJ`DG6fW?}XRCCF{=rF%a>?%ViF{w(Y#KYCp1K0J#BOb^J!L(;HNvlsL?Dqcv z4mCmxh?u2~&@&~>sK=fSMq!^V(k<(YXqlDWcRj_Dg%hs7aU7T`v z;`y!n;H-M!@o*hMR#a==`gi)`iyK+vHW6E8)AJwih0hf&L!7jw=8r`xDw|Rb(Y~K6 z!Y_L5Lf&@v1k-|k>vrR}&>P2jC`jP~)`zv>kduzjfU)xb04z>e)H{iqh+mPs zXim5lmuV^xP75DW3m-qPOkSog-;vyofFAiImA;$p`Cx3(j#|G&NZOpE4S>~sZ>Q*S z6}CG~t3vElamVvM*kV=r0qp1;j@s77#dzX{cI$!;GQEYB!IaZ!v&SFth%r*#jmXO~ z7#5xDVtQh>7bg|BEXqbftZk|zrLVZeO5GW#-Q;$zl9&L<@_tgydndXpTx4D zGWd^%)|lR0ufZN^SK^c6yklKHNN1Ga#k(DmD5d06D1oV@6&1IZ<+Zx0H%{E0WZwAN zxygN@LdWI}Yz@fga>u{a;kq;{OJ*Eat*oj{&d(~XWz>3z9fw>u9^gtnpCbPN zXcD~y*dI-Awd_7e3?kcNvN94w{oa5XTe&s2z99(`EPzS#R3A8P6(BJ2Sr3z3?{1 z+)%ZB%4s#YnPo>2tG%(<5^A^vbgIG9@D(D>B+B9t%0S<5j<@IOilyNeOXz}BH*DLV z&%Q2~giXQ>%AHHAR?X?{eLd?HK_`0|?$4^Dk5rANV^R3r?Wf#g7GE*uWh89AdIJ`3 zC{PH7+Wf;y#>5*Kszr-QE1gR!N+ty9%Yo@z;fF)E9f`;4%R)v;Jk=6R@(n}GcP61v z#22ohFf-ESLPs+hm>ypzDL!HH>mU8JuC$7Hl;3V}6pOZI<|OkY3HEq0rX{Gv52{}g zaqzPZw>61|4N2b?HDu5zbJ@JWaV}@f`%OpX&Td?{mNfYa4e183>BjivWOBxPJ_m9+ zsM{+fI(>0If{pva45_J())@4B3pNi3x^m)Ka!uX|k{J zMHY{V0O!6LlNP0|^23bf30WD&@ci$B_|8^*l0JJiED~kBaJ9=EQ7VI!i0nanv+sng zl7&TiHMuO1`)4H{UTmC@=Kjo?^hA*#B3jxsWY9AbccZ>Ky7XgGmo#RCZbn=*WFKfz z6k3*z!5`yZ@NPx+{{f8%+cn6V2;o+MmH4k?WSM#D{+F>n8jkVW+sktm}22! zIv!VTQaV?qWIcA{+Xj}dIW5J@XTe99Xm(b%W9F@Y4?oCZ(Ta+t$P|%)u^Z@D!@ z(~O7sj^p*le2}+mf@+Uq&q$TU-C@a6OX$p_?s8{M`w=@w;#sJai<2hHN2x7$?~I*f zbwgurCY${qPJxImBj2ae0OI~w=EZ+y$GNp|pJC|pZwpE1hIDlTGC*v&Ct#L6LP30E zHGgMvR@4tQCUYpUG}$SjNdaV%cwREW~TNsjEFOrqU^^8~Za+bJopY&u;tR6sg~0ErsXs^_CrB^fM9^0%(!ka7NfIYxG_I zOeT(Oy~im#k4+7|wybJ-7N4S1vfg4WK3r*`&g}e>dXdy(vOiKEbW>f4g_^gOivVc{ zO~&{1#%Wqr++LPz$0Gz#T|++`Z^t}fQ=xN%mfg#wjSE?#NjvgBWE?RSk0XoIB3?~T z=9=QH52w8hO;k2XH>m-WGNEf$(9I$Ct zm}_XS!L5;qW+r^bWa-;XK!I+Av3B8-5rP#T<`v229PFfeeC~1dKX@ zccWY0G{$-(yWGz%o}Szqt2+6O7@#9UpE}!a{9`6v-lJALl(fDEp^;WLQ(Nv2U#1o_ z)bYSiG~SX{nRdVL(-#Ok`U+CiujpOEq%WbYlk={2#(_2NvXMq4%IZAXJ0I|31PQ@K z4J?2#7Jzmg4Rx#@IVdnCH^8$wC}dMlMBN%HIu0?S68B$|Hd!~Y2vuAe^Ib?Tq>xMeJxs5XI(gZM7Z;xc96_jhE_Z10$#?8Hqf7FZHZX zP4=Nv&8KmcmC>~gBvl`#3TxX;m}cF}utgiRk{v;~1E;^s3E2(aQly32M=U}O1NGbA z-xp=+eg+m$bcn$YyOYp2Rv!4BLsEiYK<>9eB+QhK%Uct;=n4E)-`@zu(z$t|k2IpV z5P2eKo6R7e=b-lMjgXI~WXqSjLMtYQ1x~|_&m9ltgHUsoqTwo5`-^96k2jJ|lYDMB z_um?q6fZ97*9KkE9bEPoSb``lG7<=k+<<+`ovr@>5cd~@Mwm5Q9*Z)?T(YXNxmk!d zeA?rkff%vsNrSOH$zeb>Tz!8$QIdIOj#pb07a^@2Si9%n78kF3@44X0q^UqQG}~SF zIDT#zfM=8yPs3T-Xl0Phwu_R$bvzOPkn!fjfH0mI^l&+~&NtB&T4&X87uKM7#ONt?Q=4tc^ zEHjbk-2US)hhZO=Fdic9cINNtiO4dwdbBH6k5 zZ}Y?PT3zTRxs@phx`O;op-8=!`Q)9399YPM%UZfuk6SU^*F5qu2m)OKHS)gnej~X% z^aq?mfQcK^9H>-sHlwGXYoUn3k0E4s1q2|1tz>lrxIHTr5X^J=#s1KBx#gSG=DL

    @NnIWyy) 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%0DhQc zV_WwHWoxjrPeE5l;j6B`-uSY;Ilb$WE=e?`Xf2yfo_+8#bcB@c4519Jm_D zmB91+fO~rj#!QoIj>DqbG{$N;lo;g-VA~E-JFdG>dfvEMt#yyZ!ycjIV>mdlP z%ym6{DsON-h8yvS8W)p8Fu9pBgyrSS<)TcmX*~HfDNueDC4*1iL;#Po=`3sajYO^&TQN7Ol?}tO=3o@jZn$cNOw!Z%WFV7Ar zyp~gIvM+Dth(d@p4tD^1{Qm$fLInZ0(!`qI<@(kwIv^sHeR5Gd{{Vbmq63w|8bQ8* zj+NKgoKR{TSfFsWUCL<}x&1LHy#&dcE)`>9+JzsUB@@&8JdsXgvk}**Xgpn-{ILS1 zz_w~U%yLH?p;nfGqqq1g5V}J{!=rT~NeY2m-XS&t{{T;l1F4yvSem=zxa(LCQ{AVr zTX8`IIdFAHAE=7DJbx~5ZO~DTx-8M6u(;#2vLMNa$alXf`9@}6XBHfcpETTk>jB@%`>iV~9`HWYm5}bS#`%Ix$SCMt8 z+pp<~>BJ=!z&Rz7L*}ma>S8!2<@CX->^)-Jl77=M8iLnL9QWe`B%eG598taZ4;P4N zUn*VLp4-v?0E||Mcni>gzG`UZ3Pb84s;`as_Q2!WzW_%RZ^*oj8ITD*Di@Kx_5}X` zoMDzbN(GtH(UBaRfH(e_e10fY@kP5JkRV+``Dl`0dF;tJ77O{(h^e;3oX zAW>H6O$;i5%xv^}-E-UJi=h2KuuSV^Vp?Y=yNz6axPh7(CAQ9V$>xUuyIzciSCxAhUUoW^!Z`EzQX}7VRdOyWB_;m zf36`5A@dkW6J^_v<%mNwGbnd;QbAU09RcZxKq;G%0AHaewjmEmBpQQXtDHg=%ufU= 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

    T>>97>k6zX^ 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 literal 0 HcmV?d00001 diff --git a/resources/admin/public/static/images/avatar.jpg b/resources/admin/public/static/images/avatar.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b8a3cf3c3b2066a373c20f149be8b9e549a91f5a GIT binary patch literal 22534 zcmbTe2Ut_f+9xK|SspGf9wo60=cKd|db*kj4Rs{S`!>?d&0Jl>?xDS# ze{lG{aD!Vdluu~@8>Sv_PR$)$9jg1o#VWqkT6UHE`3=>R!&~+ zs=9`zmbQ+GshPROwd*KbJ9`I5w3D;9kFTG9KwwbB{Rfdz4_WuvCd;d?6{R7y);2H(!At3VML6`v*V2qGM zz=Kl~umB1rOuoPh120mrfba|Q7s4+vbpPItJ7E7?LkWX~3CEoYc#7kvb^dzl6c(lP zd#K~#{tTJ(A4B}<4MUS3JD&JIni_)gy!d$lnpBYlBpLT27+zpeFY~z9@m%CJ=QIQ2&?F?dS6dx`8uuZ=M!MPvN~qEQM>9r( z)S>^`v~|^i^U&YR{A&n?<5i*ltP=~s(B#$p{o!~UU`{af|A6+-w(I$IJY)I`XlmB#`&^@ALlmVc`o5>wiJh-(#V3j&JJxvri!Oi{sh<56e6zi(?pd{(U$8M()42>eRmja6B<3 zdC~uzE`dBgD^`Zi>iEo@j=%p4cVWjJkIC-eK>laQ-^+&ygV4vsiIvnne%SLEGn0-n zuL4LiBIE1-p^=G3{GXfW{|7G9YX2L8pCBVLxK|wt7?GQCpD_t^ouhfTs!_wERl2CF z(tETf!+N&M@24W8FgR>gH+FaRpuobs_U5juicZ^v1{&hwBBQc7z}t~7-I=_ll6>o1 z>$(Yj>rb!HBvAi_cd{#|s(1HHJEwWSAwEa_0t#!BbZeDojd{B>jkklEF3zGMg@z|B zdEcJn4JXnPN8TM&LROkRt?w4>^hOQp%ihRa7vTWD885Sk4R%DWvq*aw_3)bcNAF7> zB|D3DKK!&}aX`^6p%q7L-``T^qk@6!bC{JDLvNqM? zti?^UCBxq+L*^L?82Y|rfYsUZDDhOrrte{XND51B0*&*n7pZ7G%{`O*zJkKdfaa@I zd*u`iKTP{o4jf5w9!79(hL@nhV3^45q{bwm12&xV-IJ!p1P%>Q=GuY{g>V(z;!Pl|OBf37>j;f!wO580SAKq=E!tinR zNdibJ7=4`f@}k0@0h z*j`(17d~;eY3PktFt9zsb-C4Tk$dn=V~dnPeHYx`rCRcm4sV(vQt+sc%{I&XmVT z?NdWRS@eA$R4Z!*dbQ7mNuvDTo(&j2zs1M%?ENnQbm)>;J$7oK@`I(vqssfCG4whTOgg1k;N+4l5F*z^TH4OoNmczaVJU#i=lC=s!Z> ziZGBHkMo0hBAAnNlM2c-MuDi#?9PHRbwGWt&$R&E3|ui!Q#VkTCL!KjMg?O0v%m&d#g3g7I@7Mh?^^t{rGE{w%Xj$r)(GoTG?{^Kj8= zwLm|-?)7=q{Kk2}@5jz#k$X8@gLrjM)=vqDhEhJil6$RY+L-o*w`hnp*3~N#h}qig zIu=(*$T_TBzg<3C@DOA67xbKYu*~R0+zboJXdBNYpLrrfIiy@bV`iHeH___L(G)-x zbf=_mZRo`C8)DLA%>nVz;8u0N;QP)iO5bP3En>;4ST8P{^^qAN85Ot|&64gXZ zkp@eTbp0KlSNZcbuGm_~d_@YdmoTJ~8eW-fUvLiZ-Q^@!*hI$g9C0l}meZAhZrxAlP_))BM|6h=j>NJ-)0o&RiGyTl618mYy~P zK9X8{N?&+`CJky9m3{#_OJ|eq5bNpLKGH3y<$(LDUeBhFHnvgK&i$zBXSw5%YQF%n zc06N)W4$a#!{eK^v2$4laapDm15qFD9I!H~th|`nBT;?No8czL)qeVRQ#O;+X0bSN zm!mTac`2;;O-<6i2#FeB5uYcvtTLJZl zwJ*y&-zZNkJZxdbg1-iLQn{|L<7eOigKt38tan3}f7cSo*JMou3v_-W zjNFXF1h8zkn|YZeQH4UvI3|_Rq7FpLTlqtNP8hz9 zx6X@wo}VdfxBvb5UOt}bf`v$cEv}sBx#CUXkj}Nr@tzk>{c98M_{=Y{TSdeynz1VV z%BG7|I%D)p(?#{9B^=U#sOs8ZtOt|*;&s5gunHPHW5UIg%dAaq+wX80<4oV1T}NH~WH2-f*FNvRs_Oqq|A~p=>v{}V zoB~f+#`Wu~7c9>(?}{I8bpifG!$z&Ud%d`s)%gL}NLTmJUZxvwcvMhB!xs5ZUw1Z*ibY`{kJ}7Y)k?h|IJEia-{~6`Vl9k`h!g8oCQ&2 zj7_Tetpy%yg2(M21v4r4FYcI<5RN!j82`3@jul5xS3u5G>CB->aU}iF!4C0AI66sV zkIY6oUn)NDnSg^v3#N?pqUX;kzepDbvMa^U{uZH>HnlFw8_f>J9+yz?G(00e`3dy3 zioj-v(9FR_3)W8lbh-s!C4q!Ri4b831n!U_W_a2rJbw|4-Y^ig9*0JooemBWMBD$UK3(4DJqUWsq)7A!}o5d748p#74(&CP&^(YP+?gL_-k=RFRR{uR#f zsvi?pzknX~)t_{W7q(VTOxis%diORx^xn&h722!b=j#H$2bJFJgoB(vulnJ&bFEob z+pc*30%FpKien$Wh))r}a>?x?#Q#pI9^EWIPHXm~`)!-WVU;K7lIL8@0&gFkYXI70 z1(qeW@r>K-b~k!!e7B7mE>Js97mv=jMfH7?DOl+6JCx8Wu47_;56`@@{LD#{YwO4= z)CW`Hpg?|6}K^*`ZhREIFiy2 z|E(|oRybg(H<%aEL^o?m& z7u`3Ww0@u4g0xxqswA48;*Yzs!Bu-G4C)e;THT42zP_>G?``ZVCgrr=*ryY(A@$XR z5-`ji)(`XGk6qijql#Vq>QfiYc2AR|e8;~qmSxhp{s6I#dJ@Ty{pgsYWf->@41f)%yl@^ueK~ z9p(h9!aap3naIzC6CoyLd zWS2&WDf_mbhDW_w7&|Je3u5D%WB4o7Eb-QZg;1SDp-pC14cQf1M zWB@h>1%?+APO)=EEQ{=Y9-9!>9ZuriT_pBwNGIzexX;%&|44gYG{0~5Zij1jW-L=h zWW0ZysQdk$N}^1_XQj}}rZH<>*O7-WsSAUK5~NG;ko2+fiwezvzX}R9yXw2p@5%D< z-aOCK_v0!ApQ>u)2q?K}{CzxruK2Cp3KqaNp%Uot&c^;AhK^ZPr-6jpTplIB_}xlq1S)CI zT1P=aOOmg(q@qL(n*+DxqkC;_S6d0rs?)F;v&r{I6`&!bYeoS$uu353!q_k1lSx>k zrk#9FR^Cq%RprH%YhD4l{cEkz=)>1xPlU#{gPVT=>Q%#0pGvp!47GMKla~W;Absa+ z>rFlscHAy&rzYaG?WoE08%3r{!(ZLF*_AlTjSwFDq*Iw}lTgTxBt=Mi-Pr@wJX0qafVyoWS z*_|SVxWenY8B^&bN^QIM=S*+k1@xsH8m95$HQ_4=M%?XC=OWd(fgRd841-3xEff^m zsVyT**-#+V8yz^ddHadnQQM?X&8;BwkMd6{Fmaw=(U61`)<71*oZ09lO8&X6a;mitcX<+4p}c$-mW=f;1aI{Qi^x7`!10H2L zC7l&KE}^YWChe~*A2HjKVO8mP&FR8viKLJy3|>>2F@e|2?vW@izcwp=qjOKd&i_3#^(Bgywl4_K?YI3f6$6l%)fp{hQ4) zZWrOeeG@uw<7yrB3WB9a@oWBl@4#m@kiJr8oC{MB@LbH@^c$Z;ZOGN^@nnrr$gTO; zF0a1wx`gyv6@R6W5K0&TSznFLryG&J**PY4y07RQW8T^}QQR$U&jABl*6om3bS}iz z`-HzZ5z&ma76#jA#LfEQ$0fZcx~>`ualHQKL3)h436x%Lc%F?Izy58ey-P{%P z1R(R%8J>c>HO<$LS{UxU6>8rqbmNLUcqKT*-33^N->u2CZnzcVBCnR1h05yoKB=*k zzE=2^>{tXMA}m~UT&|6N;iQ+1j_t_DT$}QjJy>q;r757>GD_S&7WJn;EHA%Y7NW+S zTmAXTpor-sC*M|cpyr~B_tkZZ(a^I=yK#=smyW4JPh@SJ71JB^^;xwhNjzhEm1>V#U$&TMwZ9xiC<{jV%veP^UEEEH7WOBA z>!T}g4R3rP?WFCQ>)Zf`I>_ZXDpb2KAvl;WPjkI%Q(zpFueI;^f+-r#lnQm=+v$;3 z)D~uc@M>DfCpRI>C@#Ghq&O<@>fvyEp){k%0Q% zY0N>&*bY5kh>H#X);hNg8;hE7XDTfQ^kjSL#WgdEsEf4+rZJFint9?RLMS}RLyNy? zCQHv)YL7&nG5*19^3nkB=D~`EVePov9V)5&=bDByRa7+}7Kio(&VwF!jsy?cS2WW8 zXg|umncTYL-4X^u@Z6)Zr{JNX2w{TP6J^w2OR4>EGO&Bh>3!fFc(d(xr2=FH0q&30 zaSzPnNdo%2Bzy~)blm0e5UR8eXOs&EkSA}iHTHhx`k9oOz}vMAY{k1&8qVpY-9k;n zAfPp}XC9zmTRG~waha~r!*tfHLY2$ys4Y)pEL&|HNv+_EHi^Rz(uy^CHL(oUzjR$6 zDtC7s`#9@~;M#PWJ^VDCebkfYGiE7;`r7`!u)OS^)Yn!aJedUGQ5U(%PR*)h@vnG^ zN6O0=R6q?cPX7p?PY5ec%vw2guDpHbPzpa>m<^NX8GkU3 zf%~-6@L?wtS|)#}OkNavE1Le2lg;~v`ZEU+U_qMcgq8YJv0k3f zSC#!h(mJg^V9Cg8MAhqo-4m&x%W_cAg87d%p_`J7&Fw;po?YfoqZ1W)W`6X}xNkyB36`&YSg{SeKnhixdNPt&DB zTc99rD97Iv^T$g{4y)(@|C=Bn3kK?v07(69=b(H?NlTSBSx0b@OX_FG$8Bnno|_h8 z_6m;#F&ENVcSBtV3h@`YI0#((!M;SAvAuL8Ws++3{4CD={w+_lgqs)iyqu@2enu*x z!4)sLb7Dk@EsOY>V%KDLNGS`nw}7n~u!Y~sXoa_4ku!EtonokA9JHWLh7bS?^IL%| zHiF}--6GP8aT*~`C3!!|c0jaPk-s}H>K)i#V^aCawU?Lpwu^O@ic~LHDBi|M^BXI` z3Iev;))*|TS|4`bFjS})8S1L}_6@;wB87t9mLOXaU_a%rSiKs6W zpNMJ6h-tx`{#jsXWvjfEHlOYt?Fa>>7LT5Ira3Vf$kGg@ydL!Fd3SiWNazwL1o+U7x1dOl;FqV_ndq5R$M|1hsyVDp8FQm{8YTFL4%K7 zmiR>91^B3lh1VX0r~^SXJwd3}{_Wvhx>P-u*opW{kvk3DDyLD){vku=Ji{s-7;X*W z=JNnsuCy|)5yPgTn%^;}uN45z$Oi+MS-+f-D7Ga-IeK*<+8c2qI-O24N%BXU~Qc2T!sDEzPBWS?&DVqR6{Y0SGX&f-A(b!+! zZ2n|N7=E|~R7}aI`o)dU)n*{c}zc3^c??iI}Kdi+J{kW?oIkq zkX&Ev#Na5@A#>G>?A3WK%8*p>e&skKEesA0oV{n3AR|0eQ__F+Q^FyI%(?RoQ>Q0u z>{pDR+uiEWk>I;04CxP1S{e+0zC!dOQudsR23i$|*3cmBT%2AXi9)mZyxfD!$Ewkv z_~73W1@3=yxBPayXihA=oIQe?1@FM}Iu5_9174{5&l$m&7UsICH;O)_osO8y@Y*=mFiM5?&u}FtZ1iPi6nF3^+WFeVL>dhQl!f>%*$zT& zQKIrVi}X2*v(M)7Cl1_Yzain4x-5!3xv}s&AVXBrMjaX=_X$*W~Sf){l?qeSF6{O zM{446BzwlbC1P)=SMfH{kmqm&&uG4)n`nar)oV`P zG$hzdOuRn~ws4|L`z#P`$`SK~^2nO%WKYaz-`IModf3Hlv}SaU z`uYAlO#Vez$1-2tv>!aJWqW4EPZ!9>LC2>L9$J`jKEofM^5%vr@wM15GOGMFDn`~0 zYR|`WVm*zU{nq1xvaGj2OZSaAro|6beHlMb)-nAUlP-0ezV9yhkT>8Lus4s9VK`eT zxe|1@-X7hvA9m=Rai^GbZT#%PFLFSKr}MouyGccsv+m=%TeVL8vBi#)E}TzigN@T8OpyI~%*CIMx*KI79`7!BpV~J+`UQO0 zfj3&PjbW766c`7_NszI4eF0H~B9Z~P+TMluK3~GDjRjl{%siaNHUi;&lp0>b;6^Rj zk-e#Tvl0p;)>a_THpdxX(@OB-Xo(wg*P6dPXUH;0-7Ie!6QE~|F?vm+PFJ+ozr<2U zTrzYy+wjqGt-9Ejg^uj40}B^~z{oiqP&spoQ#6a}zOMyq1dZ;foMHqitt3L%?jLE)7VAB$_{&9&vZYq7yza$Tp!r4CY11!L)%A2}Xf^L0{ zsBfRfh`FEO3R@!;XVyDa182?FBB)+yw$Ee4zP-;sk4x{S$v>}10zc|f)YDWm`EMGV!IUrBw;+DFgq8vqsds5rDIXN`fx}@l zy?>ksdr8Z)n(Wmy=(sCuw;+&IY@d0a`|`q1p4w|Amvv}l`Kxc&#FL;3hpNBLFZ^)l z0|ll^ZJsH=mj~)5_jQ|S${NTqyN=iosRusx#W^YwYUO%&KTA@30M!;x6yBh*Tw1p?yw>eJrgZF-9m&8!>MR* zqXIl_lSz|V$kx;r$i7$TVY6^Yyj3QVP+6W>9nF#uvn3E@SjA|Sj(zA}R8cHGL zDdl_sC2bdamY_jIZk@7y)5T=@s|1p$@wDAo zcA*kgXz?`Qoaq)>kjptbpnrr+wBoJ_L=H)KSR1qu>!xpCf9q_wk&uA~7j?bXbl=T4 zPuGSIetBB~e5E_DR>3n6_04R|_H;Pccm#<=sI5&PZ7Iv-2R@sW)*&BGxI&JW+(hcr%vu3a+Gej zoN*Thb)Gt1uWG(kkSOpiwk0j?z}Z6;51CulP8^Mh8Hj=d_3DB!(EB`I6!7G=2{nr- znTgqZBdBEP`-pzI5e9f#&~y@yh;&{A;zXCAa2GqC`cz0k%)`%t(7s+QaKDL$?HUq^ zFv0+PbiqRGIb@aYEaY8~WNbl!XH1AwksO|;V^d>NM9&Dpyh`A^or!3MlOU=&)AwMP zNq_-NgF$e-FPxmxQ@BL*vg z4k{!CoKYwgb!i--M?-Qe?&6797yd>)?0^a4G{lgF2L2rlnom=|fQEzEp?xC8u=_{~ zA7h*jIqi&W!XDeQzT`Zj--$nwg%e?giFbAkH;4>o?#eUtKk$r#J3C%7JFlDz;$F5m z54|8bxF2LXKO}3KZ4F)0fpI3~$$KUy-{vtqD~X1WXW@g}U}x z+iC)n#MZM6O=dOoBL{(aI>S5sj2a?}FO_~4vu50k7{cX>apj`HFWy?NWjZ%z&#d9% zQIfr^8T0vHDFO9}MKow9DBSpkVjn~L-~+>F0Vd_Lh2aIngk(0G( zu}nJFTkW83O&vggz_y;6!bBAg_0o-ra8>^UvHh?DIU?js@$@E7@wB_bL^qiGuIfP=G+ zUf6?MADZo(eb1D!-aiygN!Bq$a8o_=jJafqZpF?P<&I7{ymoQ&Z(#s#Fd0lBBXB2f zV}uwC8O*LGecu8pJHhVh+}Hxh(%q_$48UJ%Cpjxp8^M$fopfSEgLn#VR1LJRn5XXz zx%Jnz&lP$Elc76OT$3=rd+>Ou(tTm$8lv>6p_N(Sd97@kuFR<*5|s(e zOo%O4Gdg&1Nk;ypNvaUfAOglf7CfgjEAHQpq&RIbI(8{W2~9RWa}t|nDB`hCZ;O~r zVz|N|wdy2|RWsaE%`05JWvEkEf9{c)0+N!KZ$Emg;CZFc*+`m0XY>t~z!P4rYo`yS z9UMLgufCsh+#djONpdPY6l?{xsOv*LpV~$Euk{Fr1cjmEQ40ApJxt|U#n*HLJ|cXQ ziYxS`p~IodQ!ku1zd(BZ_^CU^Q^citT&QFQD8c2QwAk z>WN^SPTGLcTCHma0Zw0GC9-+(lM($?7}3*_d5~t&3;F;OJfFnjG}RwIjp4>hVnKu@ z1pPMysEm&45QbM*OTHJunA3co9Z!XGlFd7yD@(+3bU(ELk= zFq~JeFbKuh9zpsfUF0;UZO<~8KTVvpd}Paq1-{tC5xvK-OFqvs+ADAirEVY3h}C@S zvhF90h|mGcp-EHTL(gLn>e@I!gTg2GjzF=NJ{*Gvu7@nEr{L|ja_=@`E>d@0aDF9M zAcLf+Ap3fMGogwkBg6@P!4w?%&~jh-(*EET=e2!#;G*BozIu%#=ec|9!IqqrKYObV z@KMtBg56!Y<%y-mmoK7dHgrCdEyz;ys~#hoZx>UN-`YpKEA9FP4CUK7m26xo1aj7U zspLbIgu!yv)oa7^b2WeuQvN8JVyf%h<+9cY4$Sb{1TB$-s_-}w9^rZREbvt+jB5~m zeqS=#ZQxmgXX2;tc$(Zuw$1YSv4Oq5#>~6DSBMS!O_K!N_ybF={+)M$pLeIDV!yhl zQD2Y{25T4dtEZ^XGAc*0a2ymcuH7gr$(U@Z?e}{kz7oow`V-w z?_tXwEA0=bdBuOif&G9+oAXm;4bs^RZ>6Afnx)P?Zz~cc9xI>m+%??MbndIVj(=or zPO;OvP6t$SzgBL!vz`5%dnqkbH1bv&`vMD>#j=pd=~=~S^K{qqH-=aCNZOli|GDqnsUhBJm{urHZA;)SSMHf_KqaU!@ zhXILGshVY6^T~hwQjtVC)dW8rRCSOmP#gsYjGQ{u>r)YT{8DRZS|O{_7ZAM487 zA*8VF6`nO!heic;L{H0_F4s|Vsc3k5C`)*td`Ldw-8Xm6Co?}mD+uV^u45C-DMv-} z&YPS)+nB8xh`xYW$qV7#8RF@~fV`_k{f8+`nHtmD!So@kZ|j$S>I%;$eq%e*N?mCN z;63wSB8Q(xVHDz*ow4PXkvPTO*0{;fM}^6j_5&`0G6dI_2L3(Z_~n+{Q^6rgcNaZK*rp8XHx$iA43<}LPL?B=eYFuY5a>CW!|sm?07E9sU@i}Zj-Q4HuTN)+=~GWwdjuOluF`#xY7`&8p(QVirZ11uF)Agsot;hLFLdC_WnlcC$=tKq1(#exA63JH?G#t6k!+H zW)`LvCM)ZrH-c|xZ`gWu8;Us_ZiiivJu(Fzi|js-Yuhdm39o#%>TqK!&$;G)_@*zO z)^t9dQo|1LG%%_4M$mcUobbjxXb{aeEq#SioTf9N`b~E(x<}d19H!z zNu1FGfh#&>&6dvkUO;Z5Zl*A(DPG?O0gpz56iDi1R}ugj4IjcIGAnbz(s;Gnp0Wug6=}4^W;L;}W)!iJVYwb;vfd0BoHH3pYKb+&W)9rbG(oT`chu+a zD~Xvn7GK+>1oVGrjfkKB6M>=3)i%sk0vxU0rM#1>OB^{rGw0DU<%P{5n5lJT{WLCr)Uev4xA!!=kkxg~RP09kQ_giVrA-Y6EV$|(_4W)s^?nU|Ywdsc zvlWRlt;DuE?g3@nveLd;^953p`p4Cya_%TSbMr5!X~X97^786koDy3dogHiMYAu9U z3mvQ@prxiFyS7j2!$ze+4hh#j`FGGvR}fBG)@ge@c-p$wPYOCpMvV@)i|A-5dtBMu zL@@b&_F37{AW^?;m8KlOC4pr>@u3j7<9(#A^ReRs!LyV5;k%!!$`eT0>t}>lvYxk) z6B^}(MqZ4IhRi2&?U6aJn}E(VRG}#*q}+Iz+4GKg#rP?2V^y@6uZvbvrtR)wHw_#F zcke|RLaKDUD9v7Gn)r?reR-1IHz0S4G_;gWhyBT` zpSKGX2S)wrZHrA)0*gB2?|n}e4+hfa$4##o&9e!8*-Y|2xJ{V#oyV{t z)0s*An6I+gz|N8;9N?kJR_v1&3=sxRY^t*7tQv3&1FKj)BkfEy`0`Xg+YB~t6Zdel z88{1vM~n< z=H81q!@vI`M;fZ)>1>Xt;z>>o^>9HBS?35tWH->XG0Ci7xl9*Fpul1lwG&Z9-OQ$2 z6O|(Kp6qxESJPk+Iq9s2q|iw#@awPYuOd+l9P3nlST|WD=(x~>P8d#3ZWb}9i?Ewf zTFDxu9Y)eqbH;wTaW3C#249q+b5=~RP@*ZCM6GnO^QEmEowH#Adha`JL+-0YDZXwE zRe1E3jcmaG$OmW{C009HAL>gPCP*I%aVt5uGApsojl8{AR?4(ktWg;~4;Xkq#@Xx;i^1f-ux<1$LB` zG{sX2eq3OAhk|pz0NXng(HRfCw}~hhsb<9(DI){U-iOl|=-6t+X_apr3e0KGN zxs;{HN$9r=E4a*SBj%kKH$_u!1W52eDK@B2~wrewUWPG=wc>_+{^ zl!UQ^lJ@rhGn~* zb(!Zryf>JBQl-Ad)*WVK%EO-`MmHrtqeRa8z*oFW;T(J|`k_HAe&45u{BW472}Du5 zHe1eKsbRk83i2w4^2yCuy-m|El^aD4%vlmsZBccMp*On;QiV--#B|eg6mF_CddIHg zPkfYVq5eLDD|U3{bK*0q&S)CvNtSARDr_mL)&5%RNBg7GYhjhEKar3%{(bfP@uibi zZpvwL(w2r!Jd~$+>X|C7VijUtw;=>Rb+t?^lPZF)qvVQ~l;+t&^>g&66E#3bx3hO& z1x%4B#vPI>B`pOq2MWFWFwiNi!2q7e6TwpfAQ{-Qp}=W(9tWxk7htC`oKS)R!;L2qblK%XSRB756y)P+kRSiPz)Kjk z^%t%DuERR6e1j(epXAzp6rOq?7f^gk>XP0qa=xzf+E}|3*WKcFmA>+vmWJ*(Jdc)x zV;f()49i@gS+QC@I3?cq?!2nX1AtGc`@NDB^_0jpejD1>8D#4QQ~f6vKiVDqODu5r(Q3su41El zwF!(k67xQEBKX%_-GAKebS*Y(0}A|{zcleeVn2HqWax?yOyzvVw9srO)|q_s4WgYG z{rG%^k&qN7>}(gHQ&RPbe_p>vSl(yi^KM^mn>5v(*O>IIlCT!yIID{nF&gpc;Jb4O z(ydH2#!l{lnw%ion{EgeybJ*@*v>L$IJ4)Ngk?6JQrq(+F3x4Tk2ncMU9cl>N{;uTa&Z5-3Z zPy=dLUp#dqk-J1DtbkWJC{CXD16?BjG)utPJy6>!va9|gpD*W^l*`&-pbFy=qN;*g zv_@;h3gQgtyc&Z6E;i~x2Dd+xru${OIax3RgNupD@uM#(L}(u!hMC* zKQP6-iv+C>r5Ac?-a)Cmqd|wt74J|;HAeY9fE+z!%MpSut08E!boA!$$xh=gWugHa zBWXRS`$z~d9Zhm7LW3Hy&Y3XnY0Sxf?L0bLI&yIly6Y?%!+Z6pG7wBAhPf9}0eEW0 zifLFxG1>Efo2=1e0orDbE`y*4PXL(nliD0XGBa*%G9xUC6gkdIJ6!G{Q3gM~{E{cP zsC7r(ZuycMPV$IUtQBKM7D2xNOXO#!WPQVnryxcX485UHpekyP1?^jC9yLeAkiccT z&gDA=>FZ`=&+&BSB`zY)pj%x1 zsi*k()6d|5AZ#cMY5I(8S&?fHpfAXUNYFkbaz3sOjFOzb#YV0@u+4RTGxYeJL0Y#K zF)0!wY2VKb^1YeHNO_r43YcjB7L#11u5lJf2*LqvnS-I;_q-(INoLS$*yXMfy->5h zH_jGoTZI?hB5D{bKp4~JIue(|^VCG_Xu^c{d)~vKg7dkMTV800%#(Ue!i^MP>`7Cb z2BV%YIL8qysZ?IR*+Hk+XQC(Htufh6MP4&Qlqx373ECYV7O>iH`z zylJbH%{#jOG+5@y=7z@QcT*~RTR=QTmO%y^ee$l>c3Tdn{hVLSnt|W*-qm3ym6+9(?*sV4Ok#@c=dK}afBJ0>oes_d$M=&CP729 z-OyY6017h99`L7)@5^jGWirc-0`PA*uJgBb!#>tH$8nKsY%Xs=-SP<5NH#k&THE(s z*DK>P$xh8^)3n_4WS8sTVLszNvLis3T-1GB8Ab^u7w&*m=M!SK0Et~sJ^Nj!LwyPd zjL5@F@jnLxi}!d@ePhiUCjMU#?1rw_IkA}08FrQ$TTV_e@r@NdiAsLVJuTr42w5R^ zHdTN!GE9Di*<;&m^-=fC7M|{83)WHc-kHv^tP&B6efEeY5GmICZr|>xvPaX0KH)XF*5#_P z3gvu-YpMV6w;qX;yo&))P$~N^&R{(;wuQj!%b|QQAS$$WE=Ad_c49ksv@Qe}upafO zjn_aD!TQ73v&qCVU1q{_uP@vEsx4`oz$S+DhCOW5E7$nbwc29axP!uqY5wP7fwVNwwP1I5c zlqh9M5m-+yBt*u9Js;kLpc(I%?9v{MqXX0optmt{cxp%J!9d8;3;_^V^vMNvX~`qO zj_D?b(3<&3Je6dAx?TV9R6lz@CvR^9Aj-!rcUCz;+7>{i{}3;3>wYu3p+un&J#+Ds{0g zc_*HxdgPyh2~`?I@h8u;wc$@7YxvC4u{{sUu+{T)zs&;5V+3xAcGlNA*# z*<%%LE!FubjF=DAXV$KCw`8_&Dml1G~oU`paXu~eFaRg6Y(4}a~S!Q_36Txah zkb7+^d|=XfPysq|nIo}SItG<0i>D-j!@I-*3QwIENm~RRKm#hS7z2Ack2wcU!BvpM zIv1RZoD5MeIN-q;E;_wGE5axd3tXNxp$qSVg*wZ%L*Sru+HdvtOsg;Mr<=K4_sHqD zRujpn7X}k$sGhmrZ-1LLiz|bMqL5S-LO!xTiaJ|FX3h46#*@{MU)u4sMS|lJ`ZpF` zPBkLAVuQx^+awWmfh@F&1H^uo)6pCNQHEMtWA0UM@q{viV~1BRM&SOc9Pu8a!HjKp zI^C+E8Mvt}@ssGRYBgl#<$g1$`VNd7=DF5v5HXW-8-JFxz)KOlee zJCU_Zocv1ybPUi)%xQREARhPR2_PzM9$#C)Ht4^CU{W)N7`671{YV{7AF#Iwcu-;T zaJTcEc?~TvE&u4-*@rOGtUO*_j@yDOhBseN+$^N3R-) zXSiQ8Zk9B4lJcs<$XU6Tuq@|~_x!Zd9A%-ufQqACrJr!ntMigt&uBOHvhscbB`MnG z>Z76VUQ9dAZ!U0*-{a2IxwP~XIu1Q zhf)x4BSwJ!qrYS6k_p&AF1IC(Tf|HUKzIMICayg$>9g(MfOsJ3pje((o%On+`krDL*U9}M`%nBs za5Gy&{d@{^lnEJ=C!P^zzSW_9)^iTF93%i)HuG3jD65@jlOjpM9fE+I1^`n%p57pw z?L{magq4^wa-V7}16^`ba-xAUQC!7K=d{zT8iZeaPRx;csfP5~9>m<;a$MzONs8U_ zjq8?-cdE8CzlT2-dyM-lz7HCrRt4SAhHc7+mG;}2_0<(+0jwAFBAijWe_1{1@!7Vy zI~C7q_Lpu$Yi#Mk+MIp#`|<;Qr^+$gx?d%DxQVGZ>#7K|;Gy(_Y`rxl{rfU;z?w*b zI(pTegh~6n%+u9~wPtolZPr=E_cbZZ#I@EsbpIcABF`soD$*-Th7(=_j8W?rXK2El z0QYyDd8yB80_cRpf;vo1mkx;S2bzgB+Q?X7X3Qi%luCHIUBBV96^#Y%|Y#8Lb9*P0jDfE z@($0jn8_=t@#i2Q4hQJ3^51*6#w=YG|E8rP+VkJ1zUxGNlJoX6L*hYIwasL*e98@pxp#a9F3b=H#NYr$IPcEaE< zdzP=*T~L(g_&-^*C!oA713j7*z$H&A-Iw-X9Dsc`2^)$N@er0-8iiQ0a%c~skPcXf zJNUBO!)hc@kQhK)sv$nrFtFj58e7yXtSpqL<{PIuUfDDozveFDzXNEvJkCL+f#fU! ztWmDj=QO}j_NGx$nX8!l_X*l6^Ni4N=8+|8o1U;uIHMq6UQ#O# zI5uwBc|9>#lTe+D;JE)vOus;P(=2U!QBu^hZ};ivw8ahK9=$^+J~XvP254i}v9KSG zn%k=;OBg+&!$DwuqzN8%Ww209CNv<;^cQdPS_NRoNfv z7Tpfwv9O;Nyyc=_2^#pyVOTQBH*9&)dz10|;w^Kv$zu`W5L-_i;GA1!V`#sBN5bhj zs>43GZCER0&2{cY@Dhli;RH+)$_Ndq|ERL&4S}#nqF_o>739ND7>X5vAoBgPKrdbl z35DTaVXq{Iv&_UiwZ17_TE{~FrjTYokAd=vQhoDL%6M+e8BF_@+D%3lcI&yFLLUW^}n-yy!up-`Wgx#P(GK7wIEvUt&81Lwr1$jsbk>=F zemBL=?$W)4_PRSOg}O(XnL12LSD)&ydqBki-0&=u*kvioWnbR;qTt_~|4oHmMSXKpd7u}#odlG z^V5D097nTCQj?Cq!7>*`Zs}TcL~V$~&2>c_E7gLylahQ9A16yo`z3i_oz-O{18h^)Q%FGZrfC!Sp9&cd z#-DZ3URD+S!NS&E%@$x@P4j%pyS?bP!(xxZ!|LoZEZs4Qa<~x0ohO@`1#lrh9&dg& znzlqsI0ipV)srXdjDS7w!1JeXfP<(L4ElfvhNn(5<0wHQ!0DIXbWCwfp8^TAAxtE1 zNF2NV0v!a|*7N194=xxIpt>WqX6p}uX+@&7)u==Th5kI+rB|twf~^E;#3xPiTMjap zDw>sJ>Z?G(pWnweT?n3e(rSYqmjdbCRi4tCCHJ+fFaI?ujaw+YLPQ}=dOImhOd}XnsM`JCYDfEm3%vJm2{Z(a@rNRyG#SOVybb zsB+jvEfSC~T$fxa%|Kmvzax^U5S4b&>~=J56x}eXucF0H_1pqtqYu+V0|Yn*+<3IK zE7M$$s{}AytdgV4M7^11B8Sg^LD%1u7Q2m_6cxcLmoKHD!SXks#2xW=_S|`fF256% zv|>>_TXMj9nh62=r-b*^A;KFHs{ah(7#vr&KY;QWbD>o;)WARsI8-g|Z%IEJ2a5&b zDuxV{qK?Ot;e=?h*SD!1%uC zDFyrqPXdbgmoP`#<|I8IM+eqdmA6fDLZ%k@HfLD$+D|<*IORTIS0n z$ypE2BDsI*LueFKAo56h>XrJp+qQ^jj}C{bs|skAZTQe^R>5)3;%b!0fuWlFna8V$ z?$Me5xzI!xVxi_A$%UAS|AtV7$GX+Sgp&wii6~MDIXZ_aVxF_n`Uqk*G?gY&biobh zt6Vcf03#N-JC;i8d!;3fh-JNTaX^9~fPI;T4HCqD_ul(7%U=VSbvkha zbbE$`s?%(sE{hFiVU${G;D&ZUqK*sen#3N1GV0w2QoxOp1VnuUT?E2HRe%&!FN+wxtd5P0?J*P#KMjYt(mgVLd-m=dk2+|o;I$2221Kob4BUl zMokC>1ewZeTnYUoRNGZ9e`y7g@|rDG-msYzJA_Om%ezV<$=bKc_3IIfbdsMZNgxN#w91#Ek8HSN*eS&KLG4w8& z9GNjXctUI7t<#z9V?}Yh!c1bXjbV91MS|12slY|Wa}>F1w?Zyf!;O2yu>s1hf095b z2ixK@7UzNk#p2c(-b^6B9P&i54MXg=2{Q9W|60T{#Q0`g=L!Dl&-{)AHaoUOi?Lu6 zzK&hRncd}>zg0Psf#PGC#Zr;@x`@8vyO)3gFz~&d>7fooXtG6cIfQ@kMS=wr>@W^D zmJ%~iEfNfC$RU$u_E2u#h?nk%p#;JJ2HpqwxDucS+YxIopLgi{NcJNaGElAWU4oTc z{lhv4sDKiQV*GeQ-=OkoOo`5nH1JiA!QI*TGYYXhe_*lbxZ0|SGI!VAc{tTD8DA?7 z)V;7Z7s#%9EF~mARd=(SIv$+_o8d2Xh0^Mjqyl;V|%)ddH3cc;iuBx`D z@)KjXv7w=LRSc(r+?TC2OHCKMyHiupwMEZqc3-uxJ46Ya5BHfUH}*{d3ZDSVrYx8z z@9lgwbn;8L#u*aK@ngUzeLn5&qlMPgRJoAd0%wj*vSuo%u2z(@FoMRsn$id(Tn8zB zHv-*DjNUy|)Y?leM~*tiH zBdzzUQMQbM!ck%N%lNXOEO?#Kw*X&r>Iw1Op2dAt2@ImxZGhBLG2c^Gc#HbiVExT0 zX$}ZBsZhJ+!~F!0kJnI0KR_78xXbuN9&tE{W2*spxMJoXR*p{7@N2nIT7T8G4w@}l z6Z7p5J+H$7v7(2RO}_(?)ID*&|G6- z&*i(@IbS@fxIucziub%vTT#;|SU1EtFEM-_2;yd}`B6@}%uPv5TQ9xX#%xfv`pc)< z5WH&fLi5;~iqPj2#+#6D7@9u+J6sNfr@+8R<`sF9V(0k#9E0U+CLXMZN~uCu#N3b_ zCx^-)9E(hALD4KByPX|LLZ6=>=b%sz&U6N021+=eTe*^C~IJ3h>lf%Lqg9(Y_ozE>t1FR}u`nw)sJF|>Iy!GVhe1ZTk%B4&rs z$Ppl~R7dN@7*FccDk7qCgVN3X#Uj%iO4~=2`)_n+oORS+iee-F26-)~j``>I1SFd4_Fp zck(T!a4CgKr`OzA@bO*mp=7^ozWay%i@sxUh>;VjtHHQ1N+HPwE-f534M*;mlKY`q Lo`fv<`{928Z$Sm_ literal 0 HcmV?d00001 diff --git a/resources/admin/public/static/images/avatar2.gif b/resources/admin/public/static/images/avatar2.gif new file mode 100644 index 0000000000000000000000000000000000000000..6fade970abb73b7c13f39895ab49807ce985d84c GIT binary patch literal 135443 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Μ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 z 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

    >FU zaU4sSbC5^G^{nvga~8}GvsVFrKO&3JqcC`S_Gvssg}MQ7=oQI6xT3X4Q9i_XB)^-3 z7qLY{qe)|d9l2&j?*hD}PrN$*GKnV&ucwTt#$IgA!9v0Wbz(L?Qz-gBX6 z^TM2*9pZalXaIcC^sLYD?lR(r{|{~B?r(z%!v0FDKnL~z=a;D%8n-H~w$QHmV&Zvo z;Q2jV+%*6}Q5|egW+)K`Dyh>`*M+{Q*G3rwg%-i_#sq*cVB815C`reN16oAQRkK!^Ch{~rD zkE?q>-@eeF=(rPf8A*V3&5E^M)zA?TN{qGRcx0A^BqGDhh!8Nxx*<@Ey`e$@e~ zE5mx@;IsldOWgt-!@CScdxuov3RrxSq`3@G)bbjnzx>zH3p-fnzi+TILcIN{*7WPf zp}J_y4xNf9QH#c4OCzA$?Bz+G^v@i9>XGlCdv zf{9#o?F>|Y>@zxp!-8)yoSf5*u-$HYo+zAArU#tWP!gs`lcN}9sLXMHv~W7#P^#m4N_lDzKUbaIIR~bQJN*L7*s@_+L#|Veq@Py@9buMfG?A3D8K% zkIJC%ID+3`9e0cZHvvwibFmzkQvvG>10A`EiU5#46r>M`1^a>T;}XKX8nE1ei-S?K zqyr0UaA85pc)TEflyhA+&ut=Ky>IAWJ`98hwvPfa0HSg=B8v_yyB=5FWrmBCuNyKud^^dO;{- z0;@`2j@txF)ccH6b(M?N4ggT^=ogu2Hf%IEz>-@%dS7gK<`O`=mtklOu;wiiHiFRg z1}m@v?-q`2hj;y))>zJzaB!%)=aV!!{?1h++ie69j0UaCPSu^#^9d6~$#FuMST6^& zL=cGHfM~}}-}%PO)qx=x1G?$c5QW7fadalRKt?aX^%3YD^vmB-=4Vmnn*8UwbH>1n zIo3U{!>bj|O^P+4&6;=-^#7SaMs&)|L0B39&<=2s)D6Rn-Et$g^^eu{Mqh+}mscBk zU+p)q%j<;Apg64lY9_E5TFrbI76A~n@WwipW^z9XFgjp{9!L-;c@0AhZ)dn>+4q4) z2gU-;azR&dK%a0%$8m*LUvux++073SRkC$Yc^_nP)?@^vFbOhqpaWs)G`K&2)s2jM z<4`4dm+9OL+_Xe}-pe_SD85F`59r!y4O@pQt^cx)t5bD>HZ1N*c39YZSFwypu{(e0 z6(#BIG3A=QvDZ_K?N6iWn;Fn3!ZQ#kr#Jo%Delz_5b8x|ay}A!6Tt8QIuPPjab_?d zlVUP@rzfh!gkF7sDnrMa5UWsWtB&sA&IM_xM+a#QdqEczy+$c@*_%E$&Ymy$D#H}o zmCG$1;lV^NC0HYl*a-kX2>pHgXsmLxiM%mL(2xxz-#VLvxPo4*uLGk3K(lF z+mPH&L^{x!(Ci=3h=C=SKjhv#i=B}AVD!07~}1Ao>Vg=nhDNg9$#G z%4Z6o;r)AK(Nuwkhw-Dd8?NckWJEcOK2$Fy+chPcdUr02|Fz6#n)^mgvIBg)Vok(} z6BMC@@GL_Ytc^KF?Dh!ZwgI@}u|RRrB^ynqb14kn6&msBFJb@*>`PK-i@n=uxX8S_ zj0s8bf!>afqfYTLJ|Dz<=`ASWX#rwN*SxhhJ*q8LFG)3)lMn z7FG}u@5ulPNGWgpd1KH&Wgle_+cJureto5^wIkzr1*`ELlm3ECJAum_vkDoLWH7e|`ez0!&Yb9+8L~!kVN3 zaOB7rg6e|v&RAntCC1D2c{d$z@0+nldhCr!JRh1S;d6efoXU#!Zh(&?hF}a7XpfE& zLW6(%&xMGCZ$k;_5rVA)(H?pZyMBa-GKPex$A{pgAB7WGreiNg;{g?fqD{p-wqCk{ zwbf=~x!~SPbU8_jCJ7)e+D#1r1hYZplvGw7fzZo;9Z85cn9(8~%jg1=3S6DX(%)^w z#M@PiqOq{7e8(gA7xp-!v*n;IKiFNEphb=oQI9zhcWE&Ip--c=BooSdGg?Q9K@Q*` zbx5RSqQ6%(XM5}o^$Arng?>mq#Y^P!pi^G*r(|^yefw;Di><-|=;ltWNi`_&^b(v5 z@WZ{on~IoWy>d${+Z_ff3kG{Y*~+nNH!8|rCB$jgEqq#CVMW@w8WZ^*mk%2f6)+%! z(`dz0x8H*dCFh%T3M5nqnUzf|-n|-(mw?bO#QUSDoa(?kQ0v7{PW5rt%Y!NRK5yo5 zzXaj{YOV9;mY;53kbB0>9~=n!mK^szCc+ak@;2X`pu}AIvg&9Cux`^O0)ys{mgbG6*QEQ?~ z;{UkqF!#NZTySUJ-DF!`{y+sf2LPHY=S=`{tpVRG7C|cy6R^}hn}@C8&`jE|8=iQE zvhl(&?hWydTbf@}Q+FBaE>Lhiw}0cigR0M!rq`}05wBR==#1b?8@5XyGYIbFx>1vJ zf3lrNS(0+Qh(6Wp=|h_tB#0Z_F& z**CjdJ*>Mt3Id7u)U)&6nrhV>3SV3uAJHWI<4_u#?l{RcGA1@-6! zh^HIB?;Yx|qvMU4v}55A>wQw)@`qg4i)@3!l&!XDaT}OlLi(158P?!~;z6P5{@l+fU1$u#WQbL63zKFdyKfPF7fSl(*6phZP z{We8eE7zQ=1HON8fc%djo?dak%ctw8cCKrw8rIJk({LdkLOwEILhXVLM+heZV9xu2 zP}q!Z$W`ZVsMqD4)_BN9E@m z&eQD@$&6at54Ao9H>G;96nYs1?KEvUVP0~D;XqP50BFKb7JR5sF1@feDijL|vqXLT z>|SZTY60;(@OQ-Q1YJ6td<@)Yd>3%UAYqHW?}i5BZiwBUZvTD$_{Z--zl04KeuE*R z7ZQPue*!tZ_uxDE#HaenP1lc3-V(kx-N_+TaP%bD*HX@xObj8%`z;cEj3FTBcxkox zP?WzErsYM`v)(EPPYVc&*|eKyN6XcqLx?O==m=D{c(2BqaveNt~7Wk zEi8(B5=ss&-TuYHHDG(!+$PIQ@Z;ty3)`@rQ~!&ui}oL<7Lee@$WU~AnuELD$#Q;s zT;a*dCa0C$N5eXR{?3!b+?=yK`#3G!@6Max;#a?E3lWblgY~_LjjcsmF#QP`(?3X}R`Lox| z60f*_?^m8h{(JFMHu%9!Hw-s%^vN&U!lUlCu+=M|61Ge?hxjs~fBpC4ss9UmlJouL z`_20vCN63JhTEckbB538M3#C&Z11`AI71XqNViESWrZItfD!4ddh7u&)>y@CX^*>m z0^Ad94nlvg4nK0Ncq(TA`XXfYkQBdW4_RkEr$C@l^bA{+obOoeAPCdehmSO@{$qsr zUY+rb^FTcFucZ&|WGW_VUvG-9{qW93FJYuwyQ$1EzdajIi}0zgE+yiGbh9%h!GHdI?3eFHasp1xwyN<{=fl0(X7`U4 zf|?N`itFV@@0|@3!haoBwzI6?kBYd)%P)CFUUL9<)R*;g;m+HB?*E*+HvJ?lnk{`# z>URyjrtOs023gsRy=C0TDrW z!O;%SBfT0{W2GxnKb}i#_Hfx2$@PCoQl$KQS#6gHhEip&n*4g^daP2t7%1YtRB1SQ z_swd~y)D%uZO+he2~7$I*D9`dh~pw|!Kv+|M(|#|;0-d>MC^sqjVxE6TI$t$b4pjx zd|9g6pK3eXT`uuELvkLXK`3jr^qkv~V^a4%>1>x8r#56QwEJmfZv}o9k3Z1g=XMqJ zZ69*^s#(R5;hKv1B}wG2oxUvlWMFw?;#{VM=WDeh!{yrjK6_QoWM3N1WjAYaaBr*N zX$lWZ@ZBV*wb-+ei+Ym?-Ej6*shsfz9L~{%lr8ktb;6@<>y6lrgCpr>^V<3xb76Ys zm87x}UOsGk@*huVx7Dv^i*_L$2ZxC#SulatC*Fl?ZUpy75*^adih`W_RfiTY(vm+m zXnh}&p%s1K$n)%pzW83qqA^rv`a$oz{m=d(&O7Mx>q-+pJtk#uWz6MUPm*$Rk%-HA zLarm}BgiboY@JW~jn?f=VmtS|EmsJn0KFYVPJm1vb)yzKMhM=-``kY?>X39 zarAy6K3{&IcJa1OAqb_=z9%AKwn}o9DP<3B#{Q+&Bc!V_(x= zXl16`j=AKSb&4{*h-OLV`C6KYUnbY4eHOZm^lT@OQF)@z=zmtJw}cAJnOfXM9Nm5I zdctx7+1VS^M#cRHf4J%VYriVAlx!5+#U&Ou%VW4~hDiPQnO)qZpG{B}mlzp0=@o>q z9-6ihV9eVHk(^YBU`nAT-D_WWsWI1iE@LQ(~F z@1@F@!I;M!cZQVYW3L|>xVc?NyuaS7&q9keH$(Xph9N1Y(d|Jm@QD!3h_7uJNy@#O z1MVqkXtmNrO;LAZ1sB`NpbK%vk>W!XT3@rIbF#qOKQgZISseNr!4_owc5yCgXOa-| zzFbrK@+%vCL;g>`=W!yjM#}e`pBV==<;KZ)&}=@!^%wONKn=W`lI!mkC&>}Qz81Pn z`TRra6;1`SmodyP?@z>o0y+lVUsR7Mlwg~R)C1$V7_N+(5EZTZMeSs4*5X}3bFM^f zsP=Uw({1yYO(m<`#CnZ|VF3_Ph5^B|vIJ|J-O>Jf>!p#el3rDk3MX9Izu(0f>LTZU zvqIfy_(Uo_q=Xa4*4Xa!i%;r}4_=F+I3>>KRXq&kt}1G5vh=N&V1j%7FliJz7p|g9 z;<6bnua6YEZJ8gm7y`UQ)31);NL)U=`3jii#k!<>@^3y=ecZ&DZD`PbAm-KGI--`5|4~Wa{cKYPxXU~ffYs--*R{Lrei4dR7GD%L_x;+}Otad&!xO}%z zp37g>Bi$$L^`m@WVH!C}S?#n*ARy>L7Gl`a&~A#QlRsx?4T2$wbbftwH`VWFUq@tV zsK)u(=Hwr{EyAGQY;{qHF^_;l36@uqXdHiBreV3=9p+#0qRcd z0T}eyL>~lGTbF$N7%>NduL0Y997e%>S%hJTQ(x^zW3s4PS3+E*<~ok;+3$Kjko zFt*tTA2G)hx36ZIA@V)MZl?HtHkW7hc;GidSyk1*je$h}9z^3h^E~=*wesq1F9n6$ zcU*Rti`j}b9}EcYR8xd(ki3Q~6Nc@)Up{SD)iH;nQ0kJDTP}T>X2kCTRykMmJ~Hix z-3Qz2eE!o-X5OiT+st_s=*- zcs!YKp<2oRi;*Vvb11SdBtEyS$nEiRyxQ@3|Av*d0d;~|I`i4ZT02;#RwQU^v@XcpznAM(tl=T zkWr@;1L#>YqdD>llt7&MXQnsX?`t=F>2!C_tI?~RguvwO!Hf*4r@C@vc(q^d&`1f! zgztyBg|i0p)j2(RC`D<%PoqTtDikQVxWe(!@zdH}k(pu0k@e@F30)@XU9^$T#FE2? z7hH@E7Ji&}KVecaRv+mYxHray?hy3lZufa}-$yw1Zc<|rJh@bY!bFS$38;M9FL;Oh zY9T>^M92LZzHgXwTFs-d2c6E0p50`6j2kMRD;}z}%bS1x*WbC{*ya3&+kKwZUc>nt z-Ji@f{_8`H=q2d#0OVfSCL$s~Wp8OS_mAqybc$-6_6w`fUwtEXm8Qo*TEnj`lW{9q zGmsuC;L9&#B^=knuaw8JnMzxqF&-jKm~xd)Tai+JVRhXeKtC6GN$KHiK`d*!zj;j; zXvMw4&?(h`O5tCi*Jxi?f&!IkF~a0>&0>o5T=cgD-Lv_4P&TvYjY78LB2kOADD|%v z?Jqcc?)!A#=9o1&Nu*=C<07$;!p5G#y;vqxucy(z=HicJ$}`P1zK^sL*KN_i5V#b$ zp~|_Jlt~m>RE%u9tELl0=+v2qhPXk4LdG0e!EyU*qAbw!auz4v$2*Yje-%nSLYAUq zy5Kmgo~+w?R`^*3GoC@zE+me&9WPQ~OU@WTAQ=SkVRT(X-Pj3fwYW=D)p~sTT z&$6?OCQjE)ihq;J(4ikJJatgiW9Z)B5>s-ug?ivvB?4oH^jHhJ@04*bu1KGnktXS{ z-q{E?zrPi}9ArK;PX%hs^~+M9dv>}w#E2_LRie)?D6e)`@BD3zkr?4qI+khk8$VqG zU@5HuCrdy6$#%RFMJcLMi8}#(swcML?47-1xdw*?p!U806r;MK$IY*&F{iIn zND-dvukcC8U8MxXjbh&DUya#i4yra;7OBao2`lq)kf+F2ct>RKsFHw}E}}qUKin1_ zeAc|+Sy5cNX3evR=O`kkkoeO?eQ)@Q_%PMY{kMgskK^L6ah|%7Ix#Plper;Mql$1u zN7)4E6En2FHZi7CC8=k)QNWqBF9_K}|NV>Xp&{f@1! zb*yrUYB4$$z-J2}?&FOT31`;zUaQ%c<~xkS6Zf9Dh;a41;5yiRYAx#@WY@M-z@|DC_;G(^7q94>A#Dv_gukDD@vZR7B)iN`K*NKfO=VV(#h``NSUnzE zj0V=oW#$4BtT3FWsFH!&=DGQu=$$xy#Wi~SHyt}^J3eT(_FKAl_&kG7fo$N?u3%OH z3?Z5vNZ6@PXXkhN$WPNl<^T!_m0|gp!odM~{oeqD%1Nc~s*Ao63;OkY1P$ybxhb>6 zmYouTJ)m_V)3oi)bM%_r-uQOvgPqR%K3?`#k-EK|S>6BX+B6S*8&c3D52!i}#8v8R zPV1{?+8=g`p*LbsJ27u#Dgj)FQ(*Z7u)o-d=#K?o%{_{kO04F!b@k=J8+sY& z`fUymOEQ~y%vy2o3Wa!hKU-m!b+b!@E{U;PI5`$RO#9oae|4G@oxHEM*mz*4Z@7=s zgb~E%=)#l4Jz2>tgiU)vvI0~ucIlfMnzp_`(4oc{4uBkO*vZ9#zPqFc%KBY;+1EROpsA5Y4=1 zsEn)hOP;1r?jnX#E~85PE5ULv_0cK={|(XjAJiI#e@5Qd7y3u1%tjM==ED-^B^NHs zRt{8sBW7S0e0>>sQI)7aA*#KP--ab?7!Y)1335~J9DxE~5Vud9d2W)vLxCPOn>@!v@Z0`l{wa%1L2JXW~!j-VB;tn)8=bA6TpVyN`*bMI6&r8cCg_2HimB)iM9&`6B_ z>chJ~-u#^fqM=09dV_!c0Sd1UkT1MsB-C8e_5eVdwLL{tK{2?TqGlOvhy#XvBWR-e zEpSV{(xOfLlzR$52AJ&K|2$4oM0TpwcwUD-sLs<-@~#Rb=yV-wzgI+D&W_bE7#VuS zMDb^`I6+?iu8`}^B7{~}pjdy6VbxTy(QMP4)nAz<@7o!82z-p(VbwlQkW-HpI=|=m zarCnzJT9V6EplbU_bJi*-IXVlK)D|w7QqJc8$bB}7mDSR`{8jpLAo_>p&k7%Mqw^S zc&9&FGbln&h48&iWxuUQOAwiaLa=7U9g{^lfGMl^Pj^0yz&|32{3)S<=uW}UZZ zkG3CZN_>|O+375kR#@z4D+bmbAFUsD1mFC98Z{p%tZjR$g+QVp*#zbv`{`I= zyV0QSE8!#7_IsEb?OW(WzO;p@ix_vMsE=|9s;d1?mIj?tzQ50`SMyn-{d}+bQv&Zk z_hi}&*162t7WU{znY-#p|NnTKMX#umF1N@0?MPoCxba13nNP3H@BHrZ`Y@NO(Yv5H zEd_SXq>0;qmip^sf2uw&#BLXImwHr1QM_tE3D^xz8h)ip?HsuIPuAmQ?GHV_{YX`_={Drn|6&ut@uF2*HD%!)(76S8Mq8)+(!Bf7^3n8p)Fga@i_*dr zWv@NbbTAb5Z>zt3mZI3z1iwva`2Jh_=M^~{EhVmg(GUH{dfHB=KMbCC8itpBEdV~F z8YuGvQ`%D-dMbT#fmb&4%h^grCRawA9-l31wOj2+Bl||i9=sn`K-+XrfBnt>LVrZF zC%GJmp4Ri0c;L`1I`|=`*eE3CQB)gWcR`w#a5q6NlfoTj|9!VAMH2Mrk&@@Hx3h-) zy9KYhP*vUueS0gfWhspc{~lk15DtQ9&=|BjwqX#zK2?8g*+xRSYJ8PyxP^}#dkZf8he()AS6 zSIazbPOs7rk&T=UK2CjQk6cUNw~#-!dRK67UhX=h7+d4(zfDa+%gh|?qWrtKhJ%oxSb>8jq9*4JF_FFXI6UL7f&{H)mbr>;=~vurh$;4@2CXBq;#h=8SQ zt*6p63uzC@L&!fyt#!#N?VXN{UD*LAp{-5ax}sYAdK{m_xbt@lc{$DK!2LOJzS zI%Tt_kc+Y>Mf_d$v2(LZr6RVuT{zF&s z2A{-aSoWG>vFqx-@zrbZWxfiy!^~#HGVE3Z-Vgsdzcg~w)5&TAp88MtrDRB^v@~B> zv%sRBv^x$ljS@lN)S+rafv$v;!Qs*mHhsYN%^|JX878!m_o3SZ;x&iB?Jfi&St~QYn2X zgH{-jIfzW*^*3z&t?FGH*TV0SN!aG}SnLr0xMQ<6Phx%E#5m}zZ>^4UNR9I=arl!| z<4E*zF(&D+j6ry(!<)Id^V9rnU-A64s}BoH#2w>MK= zn+PlX@YSb+9x=;7BZSb1Hs4Jg)5f;Sh=JD!!g2!{-rNg17zsiYIahLpyX=yuhT`I! zjvd_mDhI}0m+BC|0cZNzv-?dF0y7@+(l0)hj-Ji0!B|NCOwu&r-<^{Z%}>hOmp-Z7 z&p!K4z!CF2HEzFBL?~%g*RD^!it(F;X!PPw;UO(FZBJZ)4#aXbqx^kbK-6|g+`0J` z_JE0-(q|)dt2V7lr^e9xKY!dDuFy*hT6M9b2t#xhkKh;-`qJYg9$~CiN2U0XMSp&= zX>R-lhWcIsq++r~Bc*f-5N>>Ze$LR69Ly|{VyQQO+RK2Zwq_py>`v2@w2is5{QW2% zzl@DE14@ybq_3PwP7p!ZDJj)*D~z@i$K6YlanWv!hNpjKSt~^-0Q$pry|b_t7O6y;t8<#Wk&YUp8MiKDs0@zGJ9MT|@Lm4{_loKkLhv z6^1SLV!v~*|KJ}^*EdC?Bzz_|vAS%E8w|{s-V7@m&$JUA81h!9=wV+&=U!U;w{Pw1sG*meOqE&dvZ9=<_kB7$!k zJ~FydMKPFY@f3MVqns-)H@`U2*yInD6sW&slg8X7!?mLh;l1b$W!f*vx6+MQX^b|l zaS-G4uCddhSJ%0BIwjnuZsfDL2FEL!bD&wQWVl_+DELdh@UO=Appo_2y+G7uy;Z$y z>w?77QkHdoQ=J&A(W?5jC)_DXs-1bj_B*D)(hY!G_ujm(14Y->P|OSSA=#dDgL}SL z1lia7VZ>@9ZCG|abbyq1l~IM$(rk~Cy_i&GEibV@T4-`!l4Lu#R<`x*`Yq{1cxlBi z)uIhNQa&=3#}9MMhbnu0w{M|^S6t#Qu|4K-u9lAisy5PbRLOQo9kw&%X9p&;vkmgz zpB}$=nrlqy)l2`pmM|ETm2=)7v+#z97d{e>|PhXD!)P=(#Y3xnQ6-4A3`Vi1zSnnCY6oQl^Z`Bpdv1_zh|_b|89!Z zm~iI2@&1~cuwmm#`t3#0MMPkLRYlD_cJA;^ObM>Gsy`m3=x4gkr58DFNo6IP*S#_;%&_7#9X(&Y?D={4leL%lec~XqcPeqI5E!Qb{zOyH1(8 zM*0~X^85|I18}Z91Mb^?U5M+2*DbvpBtFq3egfOuFy7r{WTFTUx48xr@!{Nv#`Si2 z1=&ww$r(sP577~SsNigRn*JSG)Weax+Cd^NzSZpI%X4#Yg}X8Z`3r%{lHTDBEQpWj z%`VXZBMq!G%B}E_pKyQ3Uv9)`=6|mb^*QvxnVhWJ?^YKM;x$b3=e5o=@tz-3WXUcS zxk#;3T@G$BwcW)verYB#?OV%W z$k!nELjWX$2H#9b0-N7-{`~#m6z(Hj#SuB?e9tdUqHI{OpEL-o(FLWfM460;!o46c#a;p8B(~n}S%oIu`x48P=FxiVIIrfYLj2 zyQII-KUhHCw4vWx{(fMo$C1AsZE+|PX=-qsDuRe+ZuH^!hha{q)vDAmv9gX#HvEEYg)gfI{(|Z(!5*qadXkN zK-I!yn^`E(w@SpTO3kuL*S$=)jW)rhInT8|!lgpawMisMZqmJB(z!_4!&}n1ME}IE zs&g{d!*JZmYXATL*1=oKvq{9MJg5K@&b39xtx?mzY0tSz*rtt#015VxhySsq&b2}6 zGD*(5TG6^q&AC(A#%ag0O16qb+QwwbuT;;oOB^*%oua4iOj^>pLeaN9%CB1J5i`-b zQ2fuaDOZMpD-@ARAC5UL!J;|MvR>4?Ma!{W%CT9(qddy8M%KY?+Qx0qw@=~9ZNH{M zF>R>TzERo3Vb8Nd*1=TS#bDOKXv?uY%Ck+$u0++oRxM(e(YH^?txVmZXT45F? zHp;b0X^X7b!)aP|k;=72&bCy}wO#7Mq`#Uu+{S0py;0f1Rm!$d$Fozvn@iNYP06t} z&bUO=y-e1{ZPUSS&9g++y+z8hQUAKC(!Eu{r8dK-N1tFT#HTsZyhhHpS=#B-s9-RNlVA4JHe$q&9gk!yGX~WPu0Ch&$B+mr992C zJj16u#HT;iy-LBSJI%8{!=*mJr9Q!@KhLu}*SkyCy+_r#O3kr9)wxL6yGOvOKhw8C zm~US?Q3WLnd5Z$m1eZC`Gfdga}X}K!YX? z0*Dohr7WH|2rihY)S<&6D^?aDK;Q#xg*%=QA(|481c?T4D)=4jw?fykh!HngyqJq) zE{n%LnEXIV76JsgiA!RjvjHNW4NRNX88ng8s8gd(l4P{&*RW&Do=v;)tKF zo40Mif%~>ie01>R$bpMkzWg{hNZht@%a#qCbZ(dlU<}c~N0ca~!oUA`(NQpqZ`iO+ zSkJz_`w0r-%U8fY{rmg)Ck!megVwn8gEKOlHH6b9e$_Pi(Nbk}EV_c%e)*+1TM99-8P=PiBx<;)fuz zp`ub0F0eoyhSXt&jgm-$2OeW}^&?ngl?CD~xumr~Q*Kpaf?QCldP1v+e503^@o?$z zV20VC*qIbFHZfyZJa8E|6nM6WoSg~!84+^sk>_cwwHD~gEXy{i1dYUOsBbjatf-=m zItr$qNG?g|D#g+QZnzOc z9SdC036Aq3W-pLo^{8(sFd(pi6#yS1@C6qz@`k}yvaqn06)fv;1$}vW7?~AQJf@jy zcCm5CbJ{stXr|$r=bkFJEIi9E=bW3($lE5)^5SgM{PR6W4@vaLEl0qo(r9Nx(n~X4 zR|6zW0rh(G-CFh4SZjS>LAxCEHP`|=RCd|oV7K7f8yOaYvpc!6wOBMDlU(DSQHMr$2vCTj?BXj+VDr25V*|@SqS9+QbPX|0nX%Z*{aGP`bJPkLK2dal;nz9R6$F| zzzP|B+`KqgFRy^GOn<;bDA1yeHn;&4hG11q| z8E^oRm^dvBpMIyzp4tW+Km}^cf*Qps62K8hb!IcI$h>K8y3!UeRU4j}Eo5}I^@lAfSSC@qZZ8n7&n zaH*v(?I28J>R21BDGSG#B587p)6@UthNnKwEo_KN)cMU1io7KjHyklsj%DV!(9}#* zowp6yKvg$gybeZeAVwdAhZUvpfj0re)p1(wt6*)TSmm?M5-fxv1bPBnF_MwDJ^+#r z(&q#NSV);f#T7OQ#ZLIjz=H}_p>mts0t{h6#yx41^C}Z$BU`3u_YA=SE*VdFYrlIXi(B zf#mx5$H74!Z>X9n?Kwuf*e%5yn8w|%k`q5`3~M^&gOKy4Rjtcwt6SM-1J_RGpz-a= zNsdIf`bOmfoX9VKi=q{+95nx-fWX3pC@3SvxuFdtMQ~#mvtY?C1_p1yLkT;2$ru>I z5S3`sT;7mj&_b*{94YO?4uiuHr^!rQP?N@BD~{R5iDW?x8KZQAG8eztr$MEFE>z8G zpw4*4H|DJvX6}{(od-043rJ?glHcG148TDF-5o1^ z!24Y`rf~nE(26UEL%sI9Uzf$w+lm0p3+AY91^D-TYq}D1xv{ zfsu@2kT^Vd)&*yQ0b@=8mdFx(F+KqF8#;l2j`D#CF#u_zK^LVLbcry3fpqFVY#2gt zq|%nYbQ6xu1slvlW10V%24~^~GS9%KQKyD+5?Hd0^WWRwGSjR44s`lhqtx>FASHQO8r&hIwLmh3^ z2$v=1<;jeQC;rA{_8v)+U?I+!6L5?UedkPeRuVASGgu0KQN{qe zgcn%AFJb`kL&wEME)e($=78}}dW5vA>o|}qmZprI-1NL8c>uh;vDw1OPIRi1p<wWX9lcNl_&3kWiNlY@=mBdI! z1Qr)hf&iSPV14FzZ}0|#W?2x&1T$g<7RG2zFb8*lac}@xp=THkKnSCkLx^#D4*-Iv zcWES-X=-vADfcEq^coUi0JBGXJ!N}IkbAzDb2;~Wvql{{sDol4W5;kHKxk{lM@3cj zR8Gen(<5xm2Th?8eLgUK*!2Q%@N8X2HD9-V-eq0`;t*yR4&oqw8DUTM!WH#25?LTg z>Q*7H5P$M#BYUM^3DpJjMkM-DhbN&FEAcOhLtrDN3PYGCo3p>F9?Il zB!jDld#Wa5zK4T3xPuaq4Yx=gQ{)IkH*{14YeAI_upx}baU7RIDbtfp%|}J^v_n@1 zg)e{%R9J1)R)yOqA7R6V^J4&Ds03mtCSCCWTA_Y2aE3+GgaCoIXMNUqO#og4L2off&z1_*owCo5xRGSv{;MO0SUYz z21NhIiv%EaJ6T1%RgA|mGspNdlyW`HxF9yr1Xrg8tiY74@B$csedfb;(}soKSEA&G1w zIf|9hdc+hPxUm~8*@`kagWxceJqHP5011$g4K@i0L?8jNIYkI^bUwC&!U!D3BWy#7 zj79k=Ms+^{@Pw>@08ROn&Nd$~gdZ?OmC%NTT(^a4)frFV4QNLI;qr}?2ubQkj`IJA z1#A#_(}I>S;TDI4UsVB*DUwihNS-|s0COp5m1PBWfR}Zkm$u-KfT&uY_hDl32TEC4 zh(mc0R|f{>j{+9}cW?)d=@%F%IUOOHk3pHLr6womUXyWhp(u)@=vr(d4x=eD#giMS ziA*WOgRChHF8Z3U37fEKn>6a0Ll|{C=$pUU8`DFSm130glr|4=oLT3TP&tjz21C&{ z0ZPgO(y63i$8}uz1a6X@>VS6mWKZ_=od;DGMInd$mv0sl6KV->RUvO|7ME-=7UY5j z^8$IBV`ztlX#BWnfhIYg=P+x^27>7?cWIc3Ri_e2feK%cgo?V6qAHpMyeW0rAPq1o1}=K4kRS~*x~i;qs(zV&xAI|LZn5?oXMLA0#jz!V0C?S2f@VL|2M7-smt~;a^@l zmVRfR>_&HX^=@uBP-wb;Ynm8Y;igC8FLmI6bJ~ZCmUy0|fu^OU1DZLJ_otT>sQoE{ zck!TxT8U#)p_e!wjp`U1rnMQJ~kZB@{8MNUUaMG!sszj{8o3RO-G5VUP z>Y}XLv8%d#$T1B)GpkM)97O3wxVlGFhn&*~mD0El#~Q4`O02;uAIJZy05>bM%BnS7 zN2S4ZcHL-Cb5H?30+!-Ztt6oc0d}6)vaM2~Ep91qWf884p)YT0uIPGbpx`9_NiUFD zi63T9YubLMgqMZ)B%%`}`5K`bc(8sM02cWIjT!(9yLtrcUIv@D<2DvYwy>AVCfooU zITf*vGO@{oi!~{m9=o`Vn~cZd8d(G!9vfsPt8`uDDY$A>*)bVh0EO9Q4$}B+F)Kdb zP`ckBv&DL|s;dB~`<(6}oy=+gV-pVAxku!8B5o4^U`8S(AxS2IF4@|&7*ar>lM;Lr zA-+qVZ17S6Fs@g70r)v#hqeSHm4Epc}fZ8?2^Vx-uIdtBbQ2tg}lhZLq5Vp#ikqdAnQTUqo?+BhkA? zVV|JW653if?wAW6A|lpW5@Y*Pv*5gVz;MuO1)z{wGa?lU*q~o|sDDJXql6ZgwTA&% zrzO<@gvz$(+pmlI6$!g~?)$!P6~FS!x7H=Fu4Rguk-vlMf`!|^!!xTxMm@{{9OA%R z@dT?yXsdDjRF5LZ&E*=|P<&Ys0!>f~(}yY;fD9Il!5RO2x;5LuIorA+Ji_yVinI%c z2SuNPl~3lFP+|IhE>TD`;fA5W1{4S(4!~v!)CAh)SUqeOKb#gOAjBcn7SwwI%+^7t zJ%0jl2$1D7qZn*8U8;p5YCjvK?YEu3`yy{ljMahmL8%672@cCeR6bqZJPtE(yK7 z1j@>F$k84RIv|ZoBE1AA;E$2vHXk8N6>xzV@UHV23XH(gc*$A*xfoOOB@n|AiQ%%Ll@8Da$8FqLnFYp8 z01hzK(CtI<6iqfYEL;su(;xxbQ2}8s)@1)p&u6W{sjC2M&DQz+)^HsLwVO{$fCbHK z*B~;M;KIoz(S9Z5*E3ARzMxle76K1S3gO~+sq9$#5(0{V1&YAYK&%XpEz)k$S#N;L zC$caZx7l1WwnxI!bBbt~$7nuaQjTUrq&2^@5G1Q@k*#gFUi{kb#hEeHsI1p|Mg4lF zncFSnTk|8%1n>m!bX3Z%+yc@CLaqp1K;%U(TrFa5@$KVHp0|inHO0CV@==;)Ky* zt7n1~wL>Ss2AgM6UA*EfPEWD@;*YURg){CY=?)HYrmI8Hz6^#tnh1i{@9OWp+n za$Y6S1tow6mr(4+ehFxx2sM!4T~Gr_zT`~q+?at>4YBJvMq@KZ#NQE(jQ~ z%=iXRC?>`;1E9U+{(QW=5_Q) zUjhkn32M;vPJirZ5cSHg5Wybo$c^04{@lTURKbu`I>ye;v<)qo<|N?lSsw0N4&GkQ z$oPEjj;!unhvwrqq&uV|_a^T}fg-4E-mS6cZum@`EHW#1qkTyyfra5kai0Nu09P|e=-AW}N7!m1bXCmq> zPY6S6ey1Mu9GdE?Ud{K@~X{6~-E!Ep7#@Z5Jqd{ac6*}d&qQ1)5=0?ZKZMnKju%ev+6 z!R2k<9SryL!9{5f5S~I*2oL}do>__%$><`3p+krevHbZ1!v%r`3o4l~G0Nk|Q2FN&7USQ*@Te6fkBV~{B-W*+0$o`AVL^$h_D9{A`%TSU}(^wLWP(x zU|@9fiishtl`gpWQ;?0*6NJPzfYY>TOtg5=o?vrg4xu@7DmAxoefdD>;nnKf_b+}ZQz&f%Vne&WcH1JtNXbg9uA z4H_h|dCcZcR|^R3c%H0AOn3j|gt^ zX+|1r+-ZQI9wDlM6P$|bq6G}`fQhRN(TXdV0+5T41_<$wEVIz!LamtoaLX;0=ICq7 zy7uCW%UK=>te}_*Gb{ib79+qh$t0t!G6O)9b51(v6s@!;95@ZNE=q8%xZjEp6aYbK zG4xPFj}ZTKQAQheG!IB4g;b3^)L0HW=%jPxnCp(w&O7hG6Hf$BDk$Vs^dfQ32>9fq zuRir!)| z1eRNijZ#Pf$O8bHYo-MNL=#oiQJ#zN#pgVH5qjvMD`jq2>4I^jy6QmvjvH^r^Mr&K z)?@!B5@xDtuhsdcVBx;}1SDad`R2Rz>{q>JL07g#ARr4RLKrh4ER2=GjAK!Xhz*O* zZI+`$MD)l6p>qjkp<_cJ;i)D#2qIj_Bd>7)Avg%c7ps_X!wpvuaDfdh0$_t6d`m}| z3$*xE(k(3qc7015#)L5SCK6+K&2S`!n23ip3ul_#Ef&7wj*Bk(3xx2p5~ix7Bsh>8zoWZpnVBsh8Z4VfPo=^a{qn!*XLjcU4pqC>bH|x zsy+AIgRg5?eS-ySV;kD?lb->yO;>Nrf(*n|5G=e43lX^+icn&PIp9qO6}gBjF2Mg0 z!Hwb&CfEu|4u^%%J*5JUlUxg3IHMpiU7_8oCZtYZ%gM-{CYyo+Hh3E;>^7qf9Zk%cT9b5fo-tU~}kMWfQ2arMv)IER33<$8QjP-@kR21HbUH2sAev+P5)zT97c~Dx6Lrok zhz!)^joeA5cvQS%6|)GLj)hDN>-=KJbRn{Ja&e5?pyy@YbQy6Z5{(Xsjtmq68#uzT z3}rY%8R&S>g96}=dCViDc2)#h1VVl7L#7LZ5&Js~C!>3kvjA3|+hoJ-6WvZ(v4w-btfEF3}q`AoTxwl9epY7RpfV zEov7w0ZLarI{*eaBOV>42RTg33=F{GYxg0kfHZm1lX6l(@^R?_VH(o{WuXfwoP|wq z%1T%6)Pi%60pB`k0#^twm%H?(3xXMnZ5i`hQvJdh`f*+CW>>r0&F&Ybx>e8WM48Ui z=INwK&1$B#OKe>$nxv^O+WDY%ab?(CBQs9P+!e1<%otz2$gymMQH+}zSs96TU1%|HwXXg;&Em5kdq^`(f0=AwMIXfC6@4(oL4QKgek5OEHOC z0qvHzzQyTctCty#yGy#&^DQeGFaes^9(cHwj*3^M9v-Jj{TDdEMEkbf#B>*HlkY z558Wb9!#j3Rrq`u-f*E|xCd60q7>w4$`lZB9~NA42XIL7CJO`y+NSNcFqUymRXIW6 zUNDv|F&B?-iAxc3T8Pn_aQ#|Ig;Md1I7InCQy{Nd9XI+hHS5K9cc zWLZKz^+#0g0!g?!0vVps7i|4;kaKqoQ`L14IG~GJL{rPb7IqSe-B$Rb#RtiLz!TL` z=KD6=V`!H4IVD4cYBxI@5*T{X@5veEp^Tr=sX@5&ESuZR=Ar0b6d;Gd@$kZ%s!0y{ zlfTQ=a1DS1r8rCljxs<2_8Sg6V0+sqO}2Gp+O`JAtqc$@%$tHbBBGY%hR)@RN+dUg zqd@Lfq%s4n^JD}eXME$c>vgcda0rhG24L9Qa+ec3o9~Tpvf;|Gn=`v(JokB*Jv)wEz_q#blD;)pVZe(tC1XZ2236O^qqd|Gl0UUId zxud(7dVmOe7x6Lv8oI|H{3Yl`6Hi?NqHEaX}XoUYTpulkO27OASKZ%VEgeaWJLz?-(5X=KW za>5p(E+~{j6dXAl8Gt>I7qdIN0h+<;lLttI#2f^m80@|R@xi~yyHyGSEWi*?bR}6b zuJx;gO3B6OG66gcqtH#0uJ=^h+xC3!I|*F~aj8^_u}28N_f* z$dB``7wWLI%0j)!MJ3uoGU-JhCgIquWTdK;^w9gR=Di>gYR&-G*RWgQzoB?=*V;D9AjYzaaHZQCl#UKFQ zBpwJIz0$KMdV+-Tpp5@!Y{M{sm0VqMq9uqYb7V<_Un^OP$0vd^cCI}13 z6we8u%t|Am`S4Kz0gUz3$M>Y5d;Ei3Xci@1QqyeGtw_Aq^ixm8u8|ASLJ|TN%teXZ zQeB*#nUk-Wr~r+mt1`_PESk1ycoPeiz&DHxZ&<8-k{&>y9&=liJPL$v@x~VYRR3hm zo(O_L4GThG0YacmL`_si{n3H|O?|XGy}QSWI2ZbCKl{8&T}n+O^NH+4)+triZ=sw$ zK-B}i%>-T5nL~_M?M=579$6ip$)F51Wj!{0QwlTy3pAr|yE6?Ol;Auv|2L|5%p z*PY;i7jRawxY7Sgi!BwaRt3OFY(z1Jp?CByoPmNWM$dO;ecQ`OS?$WCXm;QoLijB-FxL2-sN46 zfxzO7j4Gml(ohZ7fQ=(iD8n^ecxO({TdJcVC}V9OB~_2 zGK2rP@kCIYAesUMJUBx3yU+9uyjApxl)Yk=#bI%YfVFDD7DTK1{o(wj+qpcRBc=c( z<`^YzLpLR0;8hKmA>IYXMgUk|8<8qKR$0g8i2(os5a41jW)Ic+nkyjV?G<4Xez;Hk zSbrK{(QOthVAAvrstaJ>O}=4>oe?3(GQ9v~Exe1_$xZnZ;zKqbMONgFkwCwV4AOw& zNnR8bWs=Ybw@0w?hP z++_}+0Vx1(TX5;W=Dv*eQNoTJRt^Cc2|^Tl?sHjyHjr+t$W&8At{L`;)s4ag_-+(W zai(5`1ORQNNjR4_=d@%pZeX;>@-!?WF>nLq$Uqqb{g z%>fly0Xj$VAFy+M2*>;zfEb_w;Ld=){^rzzgBzs5E?;E}e-I2;2ubLK3+QlA0P3rx z?ll+j3!rSIu5?}J>`TA%l`U_b2!cSUUx$ucW6rig?;?$vOXLg(#$r0y7?g6YkraUR zDeVD%ru1E(^9@LVSKMV$_yq-LX0{wrp*MJgX*X&@Y=N_{e5tMlJonR*U)EApB7G@{Fy#i$2w(|- zgwo%JF)}C8$deKf1vok=H?M27m2}G=_{_Jz{2Kxfx%dA%sDn0`@(j=dR-hNjyv*y% zd%frK0_l6dXQZSc1e$LV!`JzbSOQRBd=R*yH=t{N82iSnh1$3L1h{=EeO(z}_%n$} zh7kb{Xn*&AfA`;m@Yn|6F@V)?g_RKngW`ln2MB%w2NE37?;yg23KueL=&)gn1V8*y ztZ4Bf#*7*_a-^8!A;^Uz2=W_XSSUG)+M7xVPz7djWPspd;}rM?@P$E2UT=z>-H_& z1U=N!t&4D^*?}Aa1mNN~7zYMH2IMU)FbHA>93uZbdD6;3i4vm9aN3g$BTKH0c}?4G2}3Q-Mu@sd=ns z<;oQl6DA96A@Bj?GC|S}@rCa0ed71|U#(D1f_@iNulp#cWXz8e34=PM#Ba?2; zC7@Z4ETLM0t-V`hPBmSmreZUm@+Jq|QP43#obr4%nUSW1?J5W>O) z6R@xY3t(m_CWmG!p%e)fcnH;qRhgKTR$1jkr!6k{U>`~N=~s)R!E&U+lZvKAV4=w> zE0C|os>P_V(Na{4jFKL9Mx`;R)KaFlFvyA^7-;Y*sG=&c4jiV6NhVTCB$Xx!!9gXJ ztn<*CA}FBHiGT}z5J{4e`XwMO!4>^Lt+OGGu`I(s2AnWR{4H58AQ$I859OB98OYx2oLU8sW&7fvA5 z4zsv?<{fFKImaDrG=YZ;o!p$WoS=Xu)^%p-xWd&Gi#Ihx))q9v!wP@##RyOPn1a-d zE7Stwi3=N`fLjj~h^4o3>~XhR6cPyro|1yH+Uv00)5# z_#1!ZDWm5U8?CuQj`I^^eq&JXyg<-1uMo7!3#+499L%#)KEqq_OBBn(Hs6q$pV1<0lLxfTQ z0V>Ld0Ta>$4lGDl3*!ejxw*`Ko{*vbVDJW;%>!pS)8Yb@VJ8LvQBP7N*bj1q#6fDV zf`1ei74ze`Ahe`|^GFT&q>uqBknjW%k_{X*ph@_>FosI-#0>X0$D3IJa6D{7i(tUV z2MP#Shm;nv2q{ZvLGk~U!V+YDFg5@wG}3gC%m*LLN6A8za5$LMB+1$)Kl-&15udzY z9N&P$d6Y6|CqboH`tY-XEKxfHvt_gvk-=G#lRQ-eXT>gNmP~QbmyrC5Bq`a45}v?> zgvg`@kRiJ;l?sM!bR#qa-~$BMLK)OFr4<&i00c1N58D)oj=qV`UfPf0~q-RT!c_BFTq$e$V zKn0NE%s1{X0CWH3X&n)oM+CsYcqFl&(3&c&SSq!z*fXkL`Ser`l4J%M;N>q=qcJyV zm8(=x=?mzI0eoVptO~GQT3z+b-PI5Q%4ow$aV|CD2rP@%1t%5+MeIVuuv_!IWrHgiFT}lY{R4J;r6UWDw?^Rs??qkNVDjq7aYE1nZ99frH*k2jyzT98gIiyD z+&3s8sHy*c5pjq9R^S8xZpnbBtBeaU6b2kHOEHF5hU^~|B=X1M z6|$PUQ)ERR8NeW*s>a&OVK;a<11VkUWMv~e_^so_A;_|;K=~>!+k%4w4j!2iK-VU$ zk{~%IO`Jg!o^iUluPuOcrr$DW@?b0oj9!2g+>ot3Gghlk_NtWcxk7m)v(QFCw2F6E z0WX7jB}>p@LTOA_HvB6)X%2N;Hr?rEa}L>V8TEKD#t$ze;Lb~q0jp`?-uHU75WzL$ z1X%z0zC!y3HcqKPu3z;6E%1^LkH*SLtRQUCK9nCva`r~>G1z5yItQ-BH%6eX9claE z4FF!iwKye*i0W`L*Lk;Ig zfLjC~2;(=*5fWsUUqs-fk#++NZVM2odf|K4wpJTU1u94x+$_{UD%e&gEZ899OG$Te zIxYn-g#6bguoszW+_RJu1h4rSBFkMK^RZKq!Oph%W}-@gf>(P1*k(0{8{Y8UKGxg! z1QiQYVFZ$0yaG<23H~_FZjg(79wsnByvy7(HkkJ7VShQV!$U$L+!(S!qgtKecbp-ZMKUng<-w$As zZF#$3UZ4oj0>V4b*v~(FrDi-M>63o?LmNlGu;L30Jllpx*M13Bn8(RUn_U6zUd_t> zJ^ByQ?6d0#^9`Uj2&%AvDzqW)S)Kcnjd1j6{~NBQj-U!|V~_JerE+3?wgSwuhsyg(^1g2$m+8#G)DfE>ulT@~~eBShT# z2pWc*iMzPV9Oz9G@Xu7Zzzv;5B~-%U$%&ZJSSS3Dg00+;2|$}&VEXY#sBQmXT|@~6 zfM6eJfyZSE4e$ZgQC$jZ)dD=(N|At|;f4&_4|7EY44h#ogn|y5NDublAuK_@fCBhk zKqtHbo)jVZ4OvAgAs-?{3vAbfIU!w`1p^oX1_(kaumXnNnHMyo7J?kZ>DH4mLJ7T~ zg^VE$>dhJQPcG!b1(--^RYF$e3;6vG5n7t=?bzb@4;T@FWAM6btz(6jz0PslHD9YX^*5MtZq7l9p61E~X9z-n# z;*k)d21H>ZE+Q^IA|y847lA+v2IIL5qq`I%tRSN@-p~caTO8Ko9M=C~rEya#zSbUQ zqd&ePcg12_%py42;+@ezE}|gA(ZKwnqYJ{|FeVps)nHUi1q`g=JX%3Lb^s`Fq`YZe zJ_^L8ZN>y{R0aB@KV}bV31mok;|C%l72eqMdM$JApRX?I6RAQjnO%zLlgoQN#GJIeNdRzunffxLO7pz1I#y}PD z*#baTOQp*?9vbx(2OGSlMXuojXk@-bM+Y!LzI>!uEaj1uq%8>mr$uE-0^&whL!GUElzWnD%GUXuS}Qu1X}qSL_$CTb>x zgdNprRM?Tp#s|K@6xzaJIp$;TqPFo?l!*&W6+trd@(U5Nchq z4MbmVlo6$-bRI+oqSL;S$0EUI6iy)(bY&HYkXYiTtASXSU_fswL6)5WU$B92@{Oc* z=5d1NT`Fe-c7h8$l-D_)bxtRL&In;zNK&qQP$^&-c^Vm(h3A7iK72z3ryt&p(trAQWO*FuE9;lzO(}M0IAIP0!{g$}ksNaog2{i$GqA6!8gN6zzXmU|04xyYLn-uxj zo%W|nZt9*M84AIHpUUQeUa5l0s7dWsSBa77ApA6FBOHMru()M{2fcD1~Cy zYHvWQ%}8oW7-bytDjiCKujU@GD$oibE3x)x4jliIyhf?0vH&48Yaze`v<4~%QL9&E z)x%NJw!&(xqG!08>4>DMxz=O8U_~8uLMO0mrXr650p`4JEOk05(cJ51EE1{6Mm-h6 zv!d!s#K0@Wz`)L(V?{x@AS?mc&xDpK!zLrHo@=_Q>$+aTPz8~GC{Sy1EXOt}5rM2` zsOTB(>j{{wzoM#^u58OT)+E6!2FPp{tV+f;K?D3jauBCy<*IU4QytAiC-{OS%t8bT zh{x^~(Y|dz=))phP@stH8NmStM1s=}-C=Q%%Cc;>xY{J4f*>#hGF+_)WI@(WXahvW z*N&2b9fgP=W=Wh{M*%xE#m5@u9}mDQSD;DG>E|M=BNPT0Updzai)ftUES3IFU4Z6=H|zL-cs@= z@A7)i4><2Y1OZu1@9Cm$zoNpOr7X)1Y?Jw!_i70SNPstt?^2Yn9R1EbrUU{WUfBlk z@WwBB%&((xYW*rN^Ae0(gI5^v0cSu0Yl#6EfcVO){_w^5 z!hi%Dr|em9`<9|4r~&ax(24xnx%Si(E7uoQq#bX3Zo zy;s$KZy1EZG>mT!ONIGzW>L-_?Om|&UP2KM1kmOO5+l_T*RMW=ZnO-oY>@;5>_Ews z3>8-~7OwwYM(D~wl z&9p&ik~6RRvLr~tB?z;2B=djZgOX0P=NhX;FEby%R3w}->cRuN5wbqJ*Ctd!KZi?} z{IeL}uo7SaLCcY6Er3@jC+)58C!%fUqO*WFim>uDJKyj2Fj4m;9WwcEBAA$z8*>1jspo7s&7n z5JEi>!Cn)AGY~;GNP`0pHV7;kZQJ&3AKnG@&3%IP=GurT2RGchbDubILtx%z&vW!P z_j4P<{Z02TV4-zmw|1X^GwcC(r*<}QL*ja~KpkAA7{Ynmw$*)N9^}G9#c_W4w09V@ zd{ZU_Ja=?UH+A!Y6Nok{WH*@}_#S+>YKs9kka1@rTntEf2mCm^ zDF9(Wp1(F7wzs<;F_TFD^oR2_hkr+W+l90_Lw=k1eyXr0RtS0DT&#>#w5EMmlJhj^@(FO?oLOvA3!V77LHB>tK#Mmb zb~o#n*LavOI7){=6EGumg94hkJGl0{%|x-x&+n;@>=>t6SIHp^uTdCG7Y;X_4$g+ z9ZP_mpvO3&Be&DA$)nN6M+FlyEp*03@E}4&7~nQ!7EUzM}A~;K98~72(XL$ z5}UPu*mpxL60M~>GOfFxU-=d4;<9H+(>gnMI|FJ1^fY(_Ejs`fgmVYHLdt_?UMhA- z=BI#ga9e0P!wWZYZ-j@_+4EBTuy1y|HyjFP;dMtrmN;vIqk72Kump&MIygYJ?_eFQ zytd<|7F__Z3n2Bj5)Lre{Rrw|*U`ez_}(Hxj!MWPkQY z0lWRY#=rX}fI!#DW+LW1OLJhEGI3Uc5-j5aq>*LWPKQbk>nb7?C0k7zjtefg&_{I+-wG zrGufEOla1b!4GH7G5vV<^!XELP@nkx6*YPkDZU;;nKpI$6ljYa38+@3TB}7?s9U*q z_4>8{YgVaNt!f2(7A?;nKajR{t0FDaFFA8Y7&y>i!6;g!7-Dz^qQr?6ZDGVvC<>81 z9y^X4X;PhoE`ZeJx!`gMC_{#5GO0@3O%L4O*= zZ3Ow8fi60Os-e!Wg#d%-6^XLjt~(-}`N$dYLUOF6C!RR3hRQBjuRYFUsKW~R=p)Ym zxchz>&cUWy@Grsy;R+H-uv91#KztGaGD)b`DiX@uDg+I~42`H}Ln_*^4lq7KXXHmFB|%@njCSb(k|E|4nfJ1%Z`K zFhAlnr7H+*x73!IPpjzmLk~=qLJBP~ibT~E&HZRaSlK-fi8AQ4b>2OdxtFdK2wW1j zhNJ9Zk%J*sYG5RLFj!|J6{VEs;}lL!J|Wh*%Loi8W(E~*7xLDFs>9W8JCLa`S51;j zCMnhzOQ^x!ck5hF854v6O=kUSfsNlmEe-n6M0+mKQMwQP;n{(wJdQy57{JzPW(0NBaV4Yi{Nyg1zPW2E>O<}B1o5==x26C309EM*TEvi zO@nFqn-iHd!YE0rEkjF933CFS`l;}K`BPjByfwW3X#sgJfPesTSU>|p4^AbR-Vd!; zC-t;KN2JSQlA1`x2z@V#5Aq|V;0He1Q434-<6RhAC_Lg_%@$h!V8shw01rRtf&!Fl zl@51^Kp%?Yhu6D6CoYgj{qz7SODs?y2g$HNo+XK`G!nG1h#vwyEGH48pZ$C%#{HR* zOe1<+AuMUba)G3PC25g)q&L0lG0+#Ba6u<}MHfF22#Z?G4J&2oBW=D?D5dKrlT;Zc zaUR8rNUIix>c@;iKp+bCpn?==U?UGa1R`FDVI+}9Oh1@JnaEVvK$U3#3Q)j2U6A85 zfyjwG{NlSexL$Q3lRy((a@)W{cAzflmxLe?mmMGF^k;ta8hRtKa#foT($S|+TP2{&qk6kuCd zDr_XLm83#AeA-hYlq5~rD69`tM%C z0S*n`w3`-;HrOp8r7CrS9Arkl%^yNe4K8sKgdJQM!za)%2r?j3x3X5IA|^2XA80Vwx}ri5UA`?92tWXJh(jE^Ey;M=WPmh@fg28R zKn*~N1Xss-&efFYorS{SKl_HWcP8?!kCNd3C?((r4iX$_!5d!N_Ms1nYwMM15)rw^ zHVT5MU;PA;)+}V9(;^5pnMWOlGe1ww;D{3_-wbO`L=-1&qxDZb%ImgBSh}`$_gfaF z4<(Q0tNh?Vu|;dvLi9lk%I1TlX%eDm*EQPH#z4hTp@eI9ngHD3HmOO{*Cc=gp$ZfQ z4~~n3A{=3{FDuJ?3AAeX3>FGUUiDx#q9h0`zu zGH^Jy2_O#o4pbz2AZSU#fzVbckZi}5b8>Ss@bRHlLE3tlzAcwX9YnD*RJ;e#eL z!R~l}IO?~}?Si^~Y-r%YC61tmkINb-cD^&>8{hIpJ=gcP4E|39ClBxngb}r2 zYLIvWa1;Ch2cvKL4A2LyPxS0=0rM`~LQTcQ!4Uut_G0f6T#XhuKt7I0!8{NP74MZ8 zuMqvg{a%T};J^`42xQU<1VF&b%#c)U(7mF783qsx>&E~O(E6@V^n&mK@Qw~W4bU zt`aK)pd}OVDq~Xn9Do4wunQC_Cv}qQa6-ZIj40Q#@hlRYB5weYp#hL#+5`bH)T+wn zu``HArsygIW(xxUsFHr>&IW9t0_^TE4>JH*@&~zc^t7+jRBbHF@?CUnKBQ|X*|I1K z04D~Z05tQ!9_;aY(dRJ0E>}t(nU5YJViT(1(rBw1j9@SY;Q?y1Hbda02FyM zAnz^KTp(+6JQ`W`b2l%NZ+KoJz-5-Q`N;6(#D@RcYM3x5Fp_#p_O z6S{U0oboLKd`^w*fu*VpFbK|Sx-$bnz+-ZX8OBpKJCQb(p!CoaH?Pt?570N=^F2v# z7G?nt@IVs(BtbpY0|3sFAAFKPk%AKBgCAxzvViZ-C@c%ip#i3khFEG79-?X_&1$MZ z3P9imbLs`Og*-KYE@?A9O-~8XlMU3f2||>TV1PG6u?c(t58j{?TmS)PI|IVPq)(xs$fw2AR`R59AXn0qSWE$&_gSL4MwjCPGDJKfLYrUT7BRR zG__3s*JBi}bw9!BCkd1%SGAjJ6f}kaN7XS|PS70mbfs!_6K*wEX`*Vnb5JwltemDC za6wo*aRE!wLt`=k<{$vrU>cc~S(i0hr&UvDq!KFO5EeG%lbrxl?_fH zX90Fu2i6B*;0;`$Qxoy3UEfHC$(O>!_+1&(&&okXAEbT|HoA zOO`t)lo2TD1R7vvo8cZ_78%w-W^MBU?#^xZ^=8>%4&*ifPM~gCvI$^7Xk8&;H=_gp zMnP1~XInuNYU$!L$LUS^0b`+)To;8pK|=^os&^Q!Pj3}hjnpABKnue5tO!BTuHhce z7G~FhF4^`r10V!Y_wGDYZt3gUK1g-meF+C7Im}t0Z`X_UpID}V0O!N0p6ow z1x$ndGyb~OaHEQ8`GI1g^HuLA^7z3M%u32iVK168V{o-dV?aV>D+*Hf1W14d3nCGW zK(ta21Gv|L9TSWF=XZ&66>QXZqbhhivsFRUC@G6H3E`~&G%Voc z(N8Tgfc?N8aEdz`z<}WZ8KOh9dZZEavNVYe`WSa!qo0+itw@_`BDgFgqR zP03MJ<>NW8>V3r(I*FH2^6e2K!E?te*}N0dEYbP8(+^}p7VZHa3V|6;01il?hKWyy z?N0+tcZdtqhikJiMQ?~}a~5P*Q*D8Q+kk!1(tOl6_p11^^uR{>0aZbBexZd6yLh~) zAR%bL4aC^_(y)wW0Uq8#jR(+;ACc_h_&Mmfj_>#Z>e!C?7)8Sr0hB=*761@svCnYy zeCc9wugYRqb%fbcM*|5ixj2QBP1(w@7|*~p%lI9dp&M$eejL$;hgApv;+Thj_>@uk zhi&sjQ4|I`fqdh`_MCV|hhdQq_p+imYC#i=qvUbvLI@O1%E)U0Dv@}|h>QTkHD%!) z_F4ZT;hBF?19Di7O?i*8`2i5Ybho*c$8<&pIY#e>RDm*to21w;nkd&fNZL6kgn$L&`BRE{q(i!?W$G{gWdWrl!M1!38PLHX z?r)B<8k>yk*zM@!&*NG-we3t&?S^y-p7(0jT98!+8w_D0~Qd`9EQ`THf(fLU%(=iH@j!gV7ih&40RlHlloq-!e34gOK$Se}CVEweA<#{3!wE#}BB9!vk`EMp z(Fen(HaDfpO4#di;S9&p1tJpIHUxZF%vE{Q6Wr7PJ^c;*G1T#3)HT(ieS6-9o7FG+ z1O1%Uhkz1{JLRfyU<}QZlaHQuebIBy;3QNFw4gofN7&7(E-M|zHDKA#^8v8Hbp2h- zvr@qoI@+TV6u&MyPZx8@yNT~gNGo=O>X4~R!53xLt82*r|GWTPJrU2k=xr3~8*FMBCGv(~Bk(fB zxwhS%tu+Ds1z^{6Q=ZEY#~jcB9rTfhL%`oTzu#q^=CiU1Zr&d~-5j{U91;+AVRtdF z4+T`>*r+MQ|RjoNaM|B@lAkNcyh&n zx$QOvbqZ3I19T2P2w{Y5p+I5(g(x^DA#^<~$RSoE&~?l~Ra9|UV&8!$g%ptaK}8f0 zbcO*k$fT!3BpR@H(q|ZiCf`f+*;gNa`4PomQX~WzAT`t!c*Po~T(OLDbWPQvZz^Pn zWtLiQ$)#JhR0$?s0|bCjLJN7v#CL79q2fhUNYN$CHr028tS?6&QLbfr~aeh@+1_D%WnG{>Evv(oRb) zSU)_g;D=%+bcU&?rYZ&ht1X&`fvm{TLr;2jMuH2T50_&WMOFD^Q&F)H&r=%yW*Hk{X zkS?2@Z?VQM%F7_UticN}k1Ur$>kO(6e)ya+>^)Wi^AiX|4$V$+imYnU2h^3pfq2J? zf4rXYCo!WE2Ij!ZjA~edCk>$233^h%UNs;m{ApnHNI{BINN|Fu;Dv7Hl7iChtY_lu zpa(OQgYsP^Q~~3F?9}%PiHK)aAb?*fUeL7|$*5!G2w+R@#2x_l?|%RsAW;Hvz$TpF z1w$-iPfl<^BsO7zOJraJV{-=*kb(uIAOs5taS91kB;bkS8ES zBMAY?Q%Gtc11sO@!idRCx@84itV$W_az@#m!3k$L19_;Rg%`fyT_r)DEBnWu9P)9N z%m{%kLl6Kq^lCMjdjU{>2}~cn0Vps~WKVzy#0s21nU9>LKq~3I25EAd)I7_EI$5;k z2*Dv9C?!Q6;|DE7L6vg!pDXnU%UEK7ma}v~7i1sB`8r9$-2{OlYc!=r{9p^os4|x4)S)`_$WB-}V5INt zf;?yc5ehu06bAf6z#9;N07kf!pDL|s6aG-I`yA6*A{0PFe@e{+baI4r34#+Q!p0G; z3Kinqh&qu+%a4{MqyT(^BSz}Z5-36umq;ldB=Lq$z!avoKtNex8rHB%qNX(s03LXP zQ#|Z}r{x2xT{9_wp;{%P0||melIliOY9x-alob!7s!pl`5UV96BC84~#tc{3ujzKT z)le)|8|&D|q5%y^P=j%gs|L&Fp%cr^EM_n8+_7E&0n;5Tbva;K5lVBl+zsC~UAr6q zFVLV(tdfjIa7!A}7=gFE^=(K+Q3Fx%pawkP0TS+8+~V>;4f{oI5%S=RPF!HX1XhMJ z=5gQzBiO*(o0JGS*xd-*ErhP^$8Ki3DqCnloacQ(@zh(I5U*Fa?qw$rj&S1osu;y8 zZn2At;0s?67{T+HhZXXH;~eLB2^Wlt1{>y62@9ESLai|0GR)y96rvE3@G!eX4CR-6 zt;DoEf|aj~Wh=Yb#YgzBjAcCFd0e2zWG-`!oym_M6Ku$A4q9F-{JN;jAOjj6XDOcM zhE_y}s?cbC;rg!>McxC9pk65@OBgx|Zgbm=L% zAFin)pBt3pBqDn>@NUM%+s~$cwkWJo0#Sr~pcuXeCJvkV<*u)gi<)Q-5AI?<5IEl5!V}5Ah(9opAPk?OC78KRBt)VS3Yx5 zH2CJ0f(-02cP=7<{4e8f|bJcL(b4e`7glNG@t|e^z5QARx5;WL=A(m{l zB1=2ygI!30(=ZJ}D2D8pfhJgj27p~j*gBNfgl%XRaCRN$pj%bQfFhQKTBw78=7nAe zhTZ^%e+Y>3cZO-mbC6`j=uPRlvG#dIEpSf zdvg&4$l#37s2<4{HeoZ5^eBN;m5sGHi~5L*L;#M?Km;901RSZ6&X5E|Fb%raI!j29 zZHQ@H1X}~aj?cJp7#9f-SqPT!X%ab+A%%|?h>3g1kKgDF2H*@JNt7QMZj+XhqiAGw z@sjQsZ!;M-HCdB4NssPTf#L9n=*NLu$(3EnffNA$4q*unz8DTX*pWxMGrX3RO{j<> z1cM97kfrgEmcR^_PzcQM0+f+hRJMU!NdQkk02J_-1TdJIr+I-%m=wSb6d(@lHw_nv zgmY0o*0+{z*p}rJg%RM0tT>ks$qbPIE9jS9Mj;N0_h44O zK}dm(K!{N>nU(2=$tXgZ$zCD0Tb&s;Z&z=p*_x{9040!|s;Qh<<(kh&m>#GOMRYU~pY9ZWuPL3wC=fW8 zH(jBfOlXjc=$+yTpzQ@K=t-dH>7Kw9Und9uUn0k#_Xcw($DSp?p71H5RA--QHjw+t zg8kW>{~4ek3P1%aqU4Enk2PN>N?#}XZ7Z5@ChDRq2cso0j^3l8Ot_LFgl^yYp#U19 zBU+&Nbp%LIXoOZ@D8^zZR%k`wZ)$K~k>)*YSfd5#TIj|BiLj$QI-ovEps6;bSw;&y z@TIgcq^*WxCYd)-8l~8GnXQ9vk8q_}$_!e%rP0=OG07t-HmorCI__*H|FeSPlBE2fGXRmaw9* z3&fglNHC+Vqo1gw2kOeM=ffQFYFFlpu?RV>)#_#wHy3W&uOvpQ!Ri35kh00y3cw|> zR>z&2_wOOljFsiqYmA88vsA`xuDES~3LLtMzu0sH{YrD2Xuv!J6xQZJD3{U`+u(Vwg zw*&DA_h1Qhd$Ogvx1Sq$p)0zhJ8(6SsRLnnc<}>-ORELou8I4&vAZ0ME3dLEyGYxv zwMrpaa;Q6#qfi^QQi}uxH@wA5yvJ+2!>b09gCZq{@n+L$i3`%fJ1L zirh5}{wu(B;jRU2zz6LAt|^c~2?DAf%DKQQwd3ky@w;uv+q_K5u|765Ejhp)48Hiv zUHI$4BW$$OJ2dM1z*0+|5-hIpi@YxEq&pLZBuv9*+r0q%y)~@ECY-(wT(az|rQ>>} zER3`Dg#`9>WjZ@FI?Tjo8w47=S{9qbO+3Imi!HvnzMbo+eA;4PI>aoTqA9v>R_3)0 zL&ayj8v{@PP%LD$inwS@!aRJ%KHRTB?4w`WZF&l(NP4GyjAbV#q=6iygPdijD-d}D z$4rd0wYmx@V7}vq0>i)nQ=G_VE62}*#VM@9ds?Tec4gBB%1TNLhJ49jGQ*X8ySb~h zV5-xs1EW4##DN%S1z)No`Ob)0zrlIU=F=ouQ1^}%_%Gip_ zimS@EdN8VR3vmz!a$wEZjLq3h&9|TmL9@E9Tei(iI^Gk7FZsh-ET>sE!GkQM0M~EF z^2O6Q?3a<4<3mn~@wky)@Dg-25zL_KpcEHk4{nT;L3m;^$W81{K z{3&9R)99@Kr2!jvai_8lz?x!B)}%*uj-awF+jI?DUqr1}oZ4%8P|b3X(sd2hcYV!q z@Y3P4x`pey?Ml-aYtvbckRztaQae(ufO-3;e~oQbqql#p@C1sD)=yWkJmA)Pm7Q&d z(l=n&pY7RnE!uXC*Vuduch%Q~tJ)P34PW5eu02#790XhaY~|U1`?q|22YP+SdHT28 zeCOD9CwFpJ0PY8u%HR~t>3U<2Npozpgr0t9S6O( z0>CE!cBuG!3Err>;EhAM2hOkuNg$HnNCCdc;JQ%Z6&`%+I9}H`FyL)g;34iwpkxFJp5W!F3(mmc zL#gCLDd886qxop6Hl& z48@mze|Ui<3Ah#J<;4N!V?O3(z80B2=8Lf6(9sM2P3ms$=A~`{nn35P{sEeR=l^a0 z0VHl52e1g59_F$>76*XlxSke(9_Vus0nISzOIM!35DZ;#?8lDm@M#TQU=6|W?9c89 z(4Kjp$A0ifuM7?3aILzwuIaq)51wx8p>7;FKZBeAtj_B4-R5`x-#7qv-hS(A zVdA#F0p#8mKk%tQo|(f=?Bv-6D<@e6FIhEk2{AgbPltJsPUSJo<^7NY;7%4lK<}TP z78ZZ;ivS%hZUG*7GMYLzUuv*?&*%|rq1J7f)5uT=4(;w-p=uxqz@5)73B=@ z^;VupP``N~3Cp!ylHj}tx1bAOcX&5^$0vdpI@luA13rZh6z>%p5A$KJ?_**A^%qa| zXfg6%5B4Tc=OBOTDZlcho+08+@0@-XFMsiDe->x%4+&u4IKLY^&-3Idzs4nNd2n1o zieK~Pph(Z~)ehn~UllnZ093#AS5M-NPwzEf9AHoR9}f#+KjW|v@|9oq=q@2{fAz{u z7NCFeSzqxgfW8$b+oFm0RMzwORR%?XZJZ$c0e1vt5TrcNZQbT=2^Vrr2X%L+<*1AJ zR?!38Uh$zn=GqPU7yleUQ2CU9`IxWy(Qo}05Fu(0^KGyEaIf`rU;J31j;()cnl)|S#FGGpnxGYoNO=*W9!o3Ok3fzK2(_q3lwj{)uxS}1rjX`dxYxi;Fl5#t)$bnY# z=CVG;@_VFI^ytw{O*fsI`Y9*YoXT9as&%WV5+xpe{>fSQ?wR@$;M+)-a>*YbArB`B z-0^Z8efJJ@{x^C-ztj&Z6nGKGa_;_CB44oqnm2T@wVjh`>pL+~sC&I2#GkH|x=xbE;eU^)vegbu^LpgYL9UM6e| z!r=~hu)!51)aa(n5@hkF0_TIVwED>DuSOehWbHp%j@a=k9+0RZ2;9hOu}GT)5Dq-$ zIuenxB|%K7xeKSH(zy(+L})uGQ))6Y6hks`1rj$hvP_%Cz-@qQVr28E8EM2ZP8(sP zrA|AGz_SRfZo_R1GmTUsOz}MGvaUh5yvvR)7F`sGMh`p8(JCjMjxj__H1W%g3WZD4 zKmYVhEFsz?b*MMVL81&mR28MwR#yc?lrm&RB2}kSMM5_J*!0X3&p-+!@>2v`2(-Z` zHx2XHOFimEQAVGI7Sd=XjZ{)f?f7t6Ff+xpK~4P;w#-n0dZe0CVLa8e8UU%SHV57< z;avyfZMU`>N)V-nd|lPms$S6;0=E>xU9X2)1ZeQkZ4=fOuV$l#c-n{^g_dG!fxxz5 zWVt0Y%x}RZxWxh^I2YY?$tj_WcO7}+36@)KxfPe?owr_m@#XhN9**cW4-N`EFl60w zNTAr^l=UuIjUA>VVyB;mno&Bk)%ZAXy9MuKe`FGRJv4DE+2nNJh1q~73@{*!Knz$L zW|tjtgl3y@79}er^31~*00t1a>&*;47&(PEW_aoU#$bUWam5qg0*b~Thdk|EF2)9?6c8k-E6nvjvL;Z+ims7s*1=XkFfge{Hz`l z2;9lJl&-w717NX(@x>iizH!B!f8241?SMs?;*%WiV@}`FS|iST=d8WY9$8a#($5d! zfh^W1fB<#eb~_yT=Xd!Dn&q~)1~ia3LJa_Z?Hl-bVz8o7W^fx>gozGVyp;3;2g`%t z^CHMR2;zWhm9tv*hR3nZ32-xC`^+9hXR7m^EC3a-!2^__g!N^ied>5$IM61;)`g>G z1aJfn?^m-L)Sy;sD8lYO6EqLvU>egvTNvaR1_OlSeeZjMI#}j_*zs_GJeWa& z2G&KK2qH{8F^UtU11vDHNRD8yQz=uTHoyk) zcmN_=NB|LV2{%R#8+z@e-Gikvg--0xbWQ~%`Y9tQmuuNt) zlMXnL2Mpy| z%RBNBUikwc@3c9SwY+749m(Pqr8!Xlf-*^j^v*mvE)gtSx}l*?f?OmX=8ADN$xC^ zq5b&WPdH$Sh)&cr6~$;$8xR1d+Q5_=-RSz%K})KN6o#;in>DOaf!J$AIKo%kjN~2aZ0B7U^Ur z+PPSDxUZc#j9c8iQUV4Ph#!91=dy0fJ+^jMnm-`xA~s-Foz?}e9r5Wt?-~?(nCqLN ztY~bR+Jpu)!M2CREn#iT)DV3C)VD5lA?of|n^y4hGbzCAFB@jXMV!{N&#mcZS>jxd zB!I3xDNtTr`&u!^)~~a*t!;fU-td;!yiBb?2r8fiM67UyW>A6|T1c}lv@4&-&1}OC z@B{vm7P|ihutu0m-RjcSu9oEhI<`APaC%pq;1w?n#yepy;Gx15ZUP?gP~O^Jv;rSa zuM%V+gY~JbzO~^2p8~ka0Jqr1*W)jNJ7Qgi9=Je3s78+W+F%FIf~gP=?}jyOVIm8; z2|jp1l9l{|4xcc+AqYViWY7gF_t1v{1DbMQyk#ywm&V$(ahkHA;~m4+!BAE&h)?)q zAe)y9ONMiYm-=HY)L9Y#vrxn()Nl!Fc=fA<>~f$5P0%lI5`<~m1DVU*T?c!@(d4L}nDAY=`9LK2O3U;%**XKCLH@-0iddGtV$fy7^%Gm%6B((|6e)f1v z@rF{c!r)p!xGfaUil13FSl|P9#3hawarZ9FxCz2B=y9%z>e}P6ZMVC54R3jSg5Fbz z$FcFP?^2$?jg|3l``)$^=J~zkJ{c&A~ z+!XI7`8P~nZxW=u(iMQi8401(+R7Z-)js&mS;2G5@&maLA9~usU38(5yWAQNTgRF1 z@im0J*S;pXu!&voluz34AV#*o!y9cMOuO3GMnKP1`g5VF-SMwhfdDU#@uZhb?sIo= zyYCM5yiZ~3Q;2k={Z4612fmb_7Vp;wesEhfT#$?pR}UUPdqE2Td`Gve5HNra1}`1+ z71jLaM-Fe|&)ejl2>l&KzkI-7^wWl&@aho&0@n)+_Md72?X|yU+xu+{ZU+hnaGmSl zuUq88_ch-Ci63l7BLew|U_t0ZKWV_5{)|mHtPcv#2pr3Rg4Ozr zAP^z=;4VfhKj3>h^t-!rNWXJ11z>YDVUxP|lRwd;ztRJ|zuL4-;{qS(14f{NR8zH( z3BUn#!Oki`f&o9!sk{axzXuej^OL{{tibfszzoblL>RUXl(fHVJ{zcjGfJ{P&;k_% z7J_NP7nH(+ios7gz_Jr6Szy30GAeSwK?sb%9UQqHq(BP10(sj&M;o>wB*G%3v}3!p z25`9-I6)`0K4FQ%DbzzsszNiFL4Hs`FzUT7{K6b`Ix!?e;fp#nEIH6KIU#Jr!9B|w0#iT-b0{h^D@2cT#%Ekb zyW6~Kw8m?6MQxO~E8vAwxPwZ30Y*T8Ai_ceF_Ls#$B5*PcI1su{EPv31PxF|-@8YU zbH-JaMt$rxe+0;qls9T1NM0ZXgk%IQP=*DlEG#@b7J*2Kv`M^Z5sUnccr*f{B1L=u z>`3#QMvxRfG9UwLB*|~^$E3W*YUG7MD9A}Xfj7{C3s44Sn1NpOMVh?HuH=pc`M!qa zhXLRKja0^EJfEO!x}hY>UNcIgM9QU%*1#^78 zVe!ht#7XrCOR*G!EI@`^Ll+qVO0_h^;A=}>drP>S%gy9Wxg>+9EXY$p$T!$IWoQE{ zD1w;8!e8W!nncXQtjJ>o#0cQM(J95Wq)dF|$IHBew;ajN1kSlM%0ZX}USI(hXn+?e zh0%si0H%<(+Rew51zK+g&P2u^B9 zPimNi_vD31m;e@lgA@2mTL1ym{Du8g1H}^<=`;)KtWKN!AOy_4F>4d=BpvW@vE+v# z*aKv!O*T=`lVMN?BgzMb&Dx%9R?IY0Tz8O6exfp7y_*v%ONNLN{}&-;fWU&%UVkXBY;fFywMrS(U03v z9xYGdJI^3pPxZ`D4gCfZfP)gWHd_eMLmg3DXhJg0#IneNmnZ;61;hgX=u$5oC@}R; zu^fU`n2??LJ_F6J2tWoSfYUe?jX6D)I`z0aCC@dG!1aXHKOKh&_y!h8LM|Z94`os& zO;jz2f<9mXNd=0T)QJR`ivoaAyc&iywN%Gg1uRQe%NhVm_)47k0@?ftvNQq=$gyti zPE@5+Rn<`kZB}AYz=nAvf!gwcu>;W&#sDJ<{ zJeQPNCZ$;|u-Oxsv~P%jgcYP!>sfy=TBMa$r6tRGzYU4CEy+ieVFU0;O_ z0*(Mvz!h8$FojVKUg7mt;+<3DJzmRI-jQYAuHC%njb4&O*Xc#cbBMI-jaThm(q8pm zxFvy;90%egU-RV$VCYi#mB|zkVG&N&_I2O6P|f&_R!RU<4h9M#-~c0_QU2v$`Ow&n z1>lOR+>jgKtz}*@M8hkf%LQInGC;{IcwqZXQV@_?)3sM0IDtw#$<7@IGI&o8P~S9> z)D&gYvMYcShAI0!(GmCpE4V>k9+jh*9bu!L2%ggeIL*aCxC1_M2|Oy1nVKjvIk>`P0e0uVstCS7D! z@PQ_9!mbZeZnfw&OzR23SS~S+-@)-ORhB=X%CVf84xN*kwBG}Mdx&0<)J8qLJ$N& zh^=>y<#?87xwPk)mdlYOg?;XWeoka%&^clMZh}c;feDxdNN$IOZsy~(MO^HI@=ez3 z1l0jJ;b9OMs5JQK4_zy)uKMmz3%G_ zr~(@B1*I;KPc93pj?uo=14-3p1Zipxa0XHh-pK}OFU(=4*lf;*faVqiav;jjp6AfM zOMm23c`NPNK5Z#TZGm3xpRQ{%sN&cEHqxW!YY<@KHfT;U&JFc2P^TtZ5H8Fj0o4fD z-~Qc5uFm0)Ywn?#Zt8|<>$Xb?t;SQRMqw-Mw?1tq{qDdjXckb{b!BGs)N7(UMAHz4MM zR!Wwo@btX!^!8=vyf3lP?TNN5PHk36P4e9^aT-Q${ubAeX7T2B@fS~M0>?}B1Zo6# zG*Wn19RKGD-sv|$BOxTxv9(JfZ)l{}f+_$3=d3=lNDu?9XfLJj|0@&T<_A+g%jB-| zjg4iNuBa#wC$SboEr)R~FK`L}^~O^O^Bbo_TlnSuWKx|2?+TcLZvbj_ZF38MbH487 z1(1R|xagno@Uy^kOVxwb1Qlro^c1h`I!#qDfB=?$XM2EvD1e73IO#=a^euPvN2i8J zmvk{yo%d4{f7q@Q2#`=iAX0_ULzSjqib_K7z4zX$6e$8Bw9tDI=^X?Fq=~4ZX+XL( z5tQChKtWI>FYlb0bLPzKAF#jd?q{FpzOMV-$zSU)+G>E~^OL)73zYvE8fG4Kw_vxm z7fp!ALp8HNonU!lPCFI$YW_!=aex(_SpZ3_O*cgZjwF=g90?6ky>otW{z1L_Ts~8& z(b-X($-v4U#9?=oQ+%vnHd(|UFN+8?+Bp_c%5I&L3xBue@b2-Go%pG~Va02$PO=Mard{WD{cu{L-&sOEF0<~8&D7+RIz?^IVRH7?V86=|h zzbB(EOFwAMi4r0efQMTO&^KWv{1=p=n+mtTxZXM~dP|z%rg+A0@X?Xpw`HFTij``< zV6qBNT?nn8ToL$2b3E8)q4wKy(%_Lh`J=@@K|P1A$Kl}B;5;=l<8tiuoxd+1{)N18 zv+cq9Eg#VSd;Aa|^kbd`duP}4>J!9%K@T-)=>mlH#IpT}sJH{Yg|?O!Gm=obuDXK} z)w#NvKkul;2#*_*t4A@ZIwkqiD^Sn`D*QfCaOFlRcbdp;`^8{W;b9g`-oqsNSLDdd2OJ;q~}-^35`$?(x759 zom;0dNYJR}rc5eLC|Jk@JYKXmn*5x7;rV8%Y7Eq+>6Q=zWv%f%q#57k`)wdN#Yb$V zH)KbbAiu`eDcpCzgc}~A%)iA+Bb2!+pT3%|A>S%kEE&T^1>@yCm!(o1 z#pXJBR+2xJR2eC3u^UVmeP)+D+oh83QF3ZfS^74Ggh=>p8dH^{>YHX6wjn zM&5cx3(+o=vv~xc*yEnZ?_w8(qwd_*>uUk?2dtA-9T-M&ZC9Bmi>jtS(BgLwOT_9K zT`O#U4zI9?GtjhKHvPmT82M|MscHOHMI6K1AWLlbR+l04&EYAUY~6Uw zW7vdy3ngG9IP2lC;=UAYR)tz!GhYY|kNinvUz&OP8R91{xfFq$wr2)gil34=XVC;r z(O#YX{>BJ|wcBPPjM0`*WSak)Hcz?n7j?T-09U+MdqZ}SOR~ooW>J-LbRq|~u+D(z zbT2n4+Hx*6d5d?zA!t^Gej}KLS+y!{Ws7+)ofvkuTV)S-w^)p@4Xs$TNX?xAIn$^J z){vNxEV4joil@}vP0VNC7YM|&2x!>X-XkyS?fm>)tEufCwv`sEydBdupSz~1xP1An zbW-wDU56U*kDJtjwNZVSXm8v&ZD&Rls;RehZg6< zVsXzX2K@%qebaVvGKd8%#1u}|aRQDdL=7FNf^B#0i{7@#;-N|)d6A(m*)jS-DZ%H4 z(2#o{89F9)g?&2tC5_VPRh3~$^!erkspbZuURva-z5{}s8`*#JU#(Sq;o*L~+}}u- zYX19c#Hl7wG19MZ3gcF-E1phb9Ci94k679!mt~=9Nl$3wWb=Y8xyUVcwGOn0v@HjI zviZGCwwm@IWyFt2%(v@{jmK2fuP-HhZ$Fd1F~M(yN#X>5zj~B3W)6F~m1S;7Ft2xS zd&&5qY%QKb7xZs;DyTx<786*!I{5m#!)DN|_FMhC5SqxUg@(EipBnr=jk{?9SXc^B zoFH#4-0l(Rysa&Iar@1$Peyi;XEAy&NZP4NeL@FCXj&8LQ-5sslxF@EeDx^T&KCDq z#;7fj{Mpq&1HrSqq5TkW|IS5B~STp;HY-Lqxtvr#&gWQxbM zVc$8KaDjuwXF43npC@s#?Zm<86F}j@#XPsG%&4rm((id6exPRPrnvPPDkpQ5N&A>E z*ce2Lb76G6lGKkcJ>g2yu;#A5_&wAYw!mR&b%YFqV$nVYlCI%1mj&%f3j4L0 zh1E%9q*uw}kyHiLF9E_G{h@x#Rcn6;bW~}|WWns)lxFtAdAY|<%SI!BAbP?nO?GBH z?=)9Kw)*e0n5@OD0eU`J4b6O_mSF)S9o1?%Unt8+PW7d6j@T~#q!pIRcvU1T03$o3 zrgQLF#b}2niTqbO6vn*=l%OgaxTUJi=YJ(|5!7GdrfO95$y@X8bIDsia+20hP?i7v zpqTJ4^(rQ&Y`qrB)(ysHYxw!^91T@rLc31AXz-W^CmtW~P2ovv-Gj&ajpQFjqE4MqTwv}SpkLUrB77x)Cp1+Km)3S|Bh@31tcyvhE>=@ zXBl{rzG$+spyph?c^-~vxwX%7f7L|e?K<2R{Cw)YkfDryIivgCu{*PrnjrB?IvscX z?Vepj(|IMXlf~u*(|F+cR;L#82``PiILP_>>|U6)h&tGFabR6ZI}9YmVKxv$co^J1 z*l-viMg=#91~9lWzi@kVnQSh@)$xMx;g0&3TfISQ_wyQO^GHAx=J_Ng9%;Ab*DPa} z+E*C^$D5-=|8gofjg}5Dhz*#3Nh&FIt{9<#7{&-@Ti#!21;3$rL_?vUdw>15DjpC* z)?ia_$RMkY)@8(FD47xq`pSmO!j(SS3icGRhOE(M2yG?#A-DxNoXkBqpuQ1g?_h1IkpqzMtt1P-_ajy{ct_ew=vmn9Q z2=&_oI0=;FVX66R9r_`&?3awL;2YYnpGAoBC{bzBuTK}n4YSL#J!?0!WoeC%*fGoq zA5&o~;wP>9A_?>yTVTNHV_`x!F=Od9nkE!R)Vm^;O!^|(d{&XOR2xTF^;P@nLTF%y zIX|vA`l>0yiR-Sl%o6kmRLSeOm8MpJ~meQETQoxLdL3v7Y# zT`zxN$M6>m^}gw2<4hPMI>>1%u8WL5W$`6T#sq0a-sBU0A1Y(xB7DJo$G!R11YJEx zk~*2;|A@M45WP$}5D-tw@fCxiLMpL%+8h8U6%Pzs86Q6|yl~Z}U&V_&p*TJ66cCz< zwr-qwux{75z?7e0HalQ{IZ---<<^e?(cLU%db27 zYUG3)+!V2L#IL4L$%RAkQ^HTb#L-VqO+VpDur(xLW@QqSksxa>(r?mrBl=LF)DxS> z`ikJzDbW3(^>x+{Tkl^GO!-Ayf!*n2PkuT+iqCOeqbkFX%E#g;FUkW;q@T1sM<@v8 zasy=USU>vEYJ4}g`qm<;oJ3j}TcsE13=%Bjnb-0QMH2s7?GgfgJ)KtP^;}=iN7Zo3 zhxkOi!~DP=ll&U^?=0oL`{CKofy&A6z&poW8uFwuoE^vKtwaA93Vajq?N98z7GB=$ zEQ$T-U>^W-?mHexU&?kLM?GI@IU!OVj|h}8O+r7jEn+`;FOP-Uk_UaGibLH>wM{&k ziMq%uyKPyGqLUe?xcS*dM@eU4^M;D1afeo#1`4*Cz2n z>J-0X7VfcR?S?W`odD~Y$-i_i{f^=Ea2Tvf`evOz28nmQuGx%rbF1&g>T3LS+S9cySD=vmiLizP5!EOR@a0hSQVtj|`?<-z2JGoz;^!)w7*7 zT1HeKrD`;8YPLIT^=@hn@M@JibG~=hS=!WDch=o^o@gG|{j;e@;-XK<_iW5rXLDMg z+r?05%kZnS0hZcG(ZyJE%Q&IhC|z02(8bhq%T#p>0OgLmOSe|740TqtDB7|pa$&9C zvTS#;>b%2HSemfw{eShpRx`5n*UdY8tU z&WetTuFjg<&W5fomfJ3luCAWj&g(92;oEN5TAM#x?%DiYA=~zquKcZouI;W~y{^u# zip5EgPM;w_-?q=XtMC4{@2RWbpKU)9H-E|<|L>&oJrIr?|9d-h=aHmapxjQNqFa#W zPT)kc-Ik_W%XX0GPRJv-$KgAVv2HH4K&?2aj3)Im`<5y-I<(y_qIV}^!0m}HzdXj} z88s?o)Gca%C+gHKdVf1~bi?V-4hH5P!-|YHb$eFbA0z1=D|b_;BOuR{@ER`8%=kzdvfD$^0|O~505uBCb4}tb;dm{!Hr+rT`Q9> zYRNt0&u+#&H~wmLdia(lIe#X%N4C&jwxman++L2NN3P~xuAxVsv6*otR7N|yFY);&u1_exJa%Kq$? zk$9F<3Wbt`09=yi(UNu4b!lC5`}h zD4v|VR);>z9Rnnte}^HZ;?V9n?yuHRDuzqq`K-98We%r5GAYF}&}>UfjJ^=Kvb@fxjU&mfD5KCN5J zLI>pHE1}|6v{Ihx-lY5R9A@A06e4E^9L4c-dy-U-&OYJq@8gYy!f(YQK>AI3{?2~B zfy^ni_^~=dd-KzK5-JQHOnrHG*Ir$P+IT2#w}Ao`A?1(9L%nN;Or0Y{)Br$>`@dHe zG%nR(3L;&*>nY-=gE#cLts@nWI#r8m`~Uw+?5vKxo|M+IGF4zxO#l?5amAff|Hf1StC3E0J0k^4Jq1Lp3e_h(cDn=mJIvL&w&8p!BX zdJL&K_piz_yCIN!g-t$@ag{nP9kSOf3Pf?m1EvfG6ZLM7u4^cQs>pBF9!!C6=RNFQ#Qq}i5km4)8ltN`^;3Aj zn&zDeUBZSK`>5v|J>8A;75zl!ruXzzJSWdf`5|8fD&j~yPllP8im>k}Xv9g|Iav}Y z*v?^bem?W(f7jLhRmDF>-5b*O?;n5^I6$Ep9a}@ux_=Evg?Si<_#TE@_1lLc4Np-b z+rk|0*anf=l^=#gevZ-2TL%j7ZWp_xMqM|&Fq!YgWqx>=DQJ$=q8iHRpfi;x`EU~m z=qIH!7tNzFe@(3JWS#f-_t3C^x%3%qz~c#}s1-8lzir+xK3FQ4`lf2xFcIX2Fx^;r z>~2YM3Z4)?_2}`jtbqYNU@?A4KZR5?tH^1q3I z+rK_5uC_e5GSFEX-IaU2C~%pfS-MUx8Ees@%b$4hf$W+-+3o4rqhmJG^=*NU!#&z) z@d}j}=R2JdmwJ{^#)bFPk^suMR3Y{rv*+UGP{_o%cW}gzM8|^s+qO(z)>%aF(2hb~ zzh4{~%K#P876oV86e0UhS-le(n)zqtP7-&PF@n4fy3w2&zs**T;yxyC?3i>mi>pNQ z5{9rKF6D5Zk#pC3g0wQ?T&9dws4+D~QT1WCSZEb06R8#t)(=xm!OVFtexN#9r@!rN znR3ObC^6v^keaC}{C$q_u*)C2Bd-p1#dJSkIab`R~KgH;huCL=-aR|Pb(KK8qyR!rzvvFpsL7<0L9)Rjg# z@8uQ>iy(U%^vTB{sb14;bS6PDu@X$LICnpc+j23NG|8G*9vyxs_K=%YEMS<-+#?gy zt6U@Mj;4i`lK^GT8uTMQNnrXZ)#sR+?ifMHmUFB{Y9a-(d{`kIZfdtT?X0sQsL7!L zrOo}tHzYz(G+NiMxpzh(Y7ui2J;CNBxKcNM;@#=hR6lVyF7iz=eQHTL{jN_6XOgK1 zH#SVVSsiA7Ptj0-VKN%7PynHNPh~Wzd4T0F`f+M}s5BT*oIX>(?$G4@j}?7Rl6#2-fkW}}^a#ZSJWVRAt7441uj7sf=rAPD~2|xoDb!$jvC-CMk*op4-6#br74taC9`d~4P#_j_#DzHal=1J z;kz57n5&(L(w^T1goe113t9 z6|l_O^BB1GE<;r+X#Wt#N5OSp*g@abPV(rg9)*t+{BG(4rS^@mGF1#6qGm@>8eCOT zhZ)YbKt3ISv|0Xx>~?E@JxY+P59T9=?Ao_4E7QDl22c~-$pnH9(42;S6@UB#VnO96 zxviI+v>(#^!hXdv=P(QNGEo1N!ifc6AKd|qQxG-hTabSj2u+^(UvWzdhT=V z`@!<7p5f}wGiUVJ{DYg&1=WWGJ6@W($YrT${t9OUH`pJ3_{okuiGDb-4tkuZ;Qs-3 zUQ3Of2E9LnQSHhLBdqCgP?|i_uM7V%^uSu-Ad0gXgXw66-_fz%;Qx%VY;I6QCKk~K zpyY){py1a46_y2T6%&?cS6BiH{Nq3hg$7rrXDIw;@EB z;M!o7J~hly(38{cSaAanA}R_IfDx*PUa!*i{f-trCbcP4Htd0|{|BYd6hTPPQDFeY zDHUUbxVN7Ye3^ZSZUJ%X33g`CS0OMrB3S}27fwnEca5O~)?(i#&?ONRgL`0P^AsT< z5+A57Vw!?~2bPT#%S8gFyAz00q@CqSJ~(tqJ#07xW-9@201M{sdbET>TahV&$ViC_ zXC)L^04Op4!6&{VD@{dn;Y)W%{|ZDvdpiQQuesok25`{sRYl+m*Dz%z4!OnC z2}Vr0L0u%upAq^=(7CuQzO`J*th`t>Zbd!Mh(2dsox}dAJsCZafQMzO!#pmT6keq` z@4=vgIhXVWavo4?4Vcf*e4dH|Q?9&b^8yoxd|K|pz@Y-4OS&2W44kP(4lLxZC^Y2C z7xO4I4JdH)V9WPNh?IrZ?ZWaQaG(09B3Wi`TmiEHgC!&I1R?zTEU#xeyFr6l>GRWa zgQ9NaGf-QqkU^0+y0CkM1vjEN+(k+fK!VMLQh{(rT*YG33AZhZi|G@aAgn*9_N-X;6P008wMD5?_%6N2%lqSdXunN_> zGC4~aH7hP|I$?{YdR-#o9;LIY98_M8Srk=mEt98P#0h7uk)L_S9RSho%0UFwaQ#WJ zT0+<)*BGE9?f`4KC2A$7NxfMa@^&jdESYy%nAyx7|GpyiF9#9|p)V12cZ3Rr%jv?x zxg&^wm?9g+*yLado^|GHbP~Pw_Z=&P_Yu^sq&JTgB#R=xF+W$XupqhN>3)r#Aj1-c zcC}n_tx#3{zF%W+hGbhF5kMh_0<)Gwlf@gvPwGR$8(&)TljuM1j(N@tY+@zEDwNj` zd-5xV!4bVMs|LW$@%P12Q$bSgv{19D2RyV0I?4)r^`S}3AXINUVdGD8`84UHQ0@gy zDB+y$XDdi{5wav?_T01RTEF>wIQODpX!mFVmjlUL|CTSBMc0(AzzFWUy$#*;z{O-J zKMMK^(;~Xo`g4yC@TWB<3qVMQ-F(K$+hRX9syJKL!h~VhN^;UY@-fLtsYv5l5z zjq0$fUC*I*(Bh@UYaSa)xVTq4+4OVnX^0qt^1ghX=*NU1){dST(xSx|++iK+Y_PY- zbUG3BpDsz;g*yG1UI=7&LV64I4BCDd^LSQ!ZOkdmo#Y55YJrLGO`_Vt*w ztC31QgASljPk4&(+NhtNgWrt=jn|<2foJDWmd<#2vEx4-6cTZg5=9ZGJ(5}7{A&pg z@~<*ZyDr;$*oB}Rjj)HWy8?uJ*SXsBt>BiimzGbD}(&Z9v;*4p~!ypE4~ zgUMgPGN65yUL-B{Wc=mS)rXxFC+!%n2+S4CZg;c?_`XeqfvavzIH1Oybwr@8ow!N~ zSfym|?=1eySR?|yMvbd=TEqgoro7n#kj!b1M@;+QL)u0q=!-NPP{VBSxQGv?StIfE zRXbNL<09}$Z32^KkEjHG;#DV!!DQN#e0#4TZUT!ienRo@cyvV+%qE{{|CQkyHD4Qw zhyfhA;tjI!M8Mn2zSsU?(=;=5AR6WaZDx}cX#Evq@y*?k7~ln`Cdt+!8ATaHZnN_6 zi?P};3zg4Mr9p{@Fj6Q)pskbaicU@kDjqTV?DMCsCnnw56BP!t1`l9~R!~uz1`!}Y z?D#=oQ+iYu|J zd<02+5@lqFfsRQUID4kS{y{&BrOn;vo``c;#AM+$j$rJWl%X~-wbexluE6N#Foz=+ zmJd8RY59+uV*(48?oly7ou&j&MsiC=k^f+xAj@DtOWrn~g29ui5WCI)5+qI1CH+1FlyPfBzvEX(QLM8{ewQ zNdiFO51{i;s+e>+{w1>Q>2M%gOw+~*VX|Us`K2JGRnVsm{s72*`z@8Ja>WT4`$I9~ z?=0;{2sP6ky2@oYU2&DP!IFQgQNC~^qCdEScAxC-A6?N3ZmF$7)%@=Cz&6nb-`!b~rZdQhBtF4$(3 z;FiMq2H{ zT++L`xLhta=wvs(8;9*>R8sx77X;3X*qALF|Ei1hzq1$hG?#F&5wlN6Qpz9DHgC%o zagDsr{C+jnH@HWKJU&IDhF=k*PVUfyR-ncU#i$I-534^vK5hQg3cV5go=nXlE^T3* z916Ncr>q(9f4b0I)Gs-;pQ8P&+x|J@uVA+^hCejUB0;~Bb5G3Ha?yyh?uvs=pcQup zOdC4$Ri{$>$3rh7ObMZ7K$Ja=Vq;|j#oNft2OtDt>;YN4^&^Xh`x4iW`)FmFYB= z6@EkNL++e^e|chR@S9u$)J$Ya*K_??UHS2xBnxEh>rXDy1}J;GaK1<9Hq6~c$BfiB zkjS{}Ue=V71Fa^&vWXeJ9SS(x5jtuG=H4p4nlD*#jL!hgaff03(N4YtE95r_1z>)e`}1rx`;V6 zpRorflbc;ieV%bqgj3s1h+GV>@+dO9b5rL&S_MCqkEi7;n&M2(yh>o4yKurx#*jv} zI$Pdd%iusa`?4Ekek*Mz%F!ST6}`-3AyX~z-5*Gc*eh~&`{$Y2gaqFM-|>KuI|EUI zl(dLAQ}Aqb)WP~+uQ^e^9^1=3k5qrKV+{2#Qx4XgK*eWd@l7Q$7b%V%q7NB@tpFA3 zn$M}^hOb`WiLRgTyxitr%v)Vx5NJ&J!z85V9D@>mzI8Msnp~s7BF))D`J&&Ury=lA zYvqMfR{>Qe?O&(YYTXKy2;#WkpRg|rRIYWD3ROGX6_9o13r_)#7#Z>AHul5U1W^!| zmU{K?!`Dss#yg~rxlUOb4!e05!%1m|a=)a=lF~B<3{}lrW%fge(;I>xYqP~wVtYRx zy?$(KPX##rLo4;n|$b>;lY4?%kkYpr}^{7gT? zfs%P$OZ>BZ0A{iDih}HxsFH)S6vdy4fnKpxp%nE>d#a35%2R()=$h0E-mD7w_Mpbi6KW-w+lmx9zC}-WIyAw zQ(@&ccc7Z#!J*{&Aa7S>o^@m*uP#zBw0V&p@r(kaAz!@}_&UDChNA_oQ*$Nt-;dV* z6TnX5t|&e=hfmGv`R|S2!;!onHmgvIOjEZat?KX>M|T`oCBNgwk5#r(KFPj`cyVB3 z9P}>&*HdPda=%qyb^g!^q+v~yvN{V|;Dy`Y>g9cUySBjU0ztD_&LZ^Mk;R`zv8S;h zv5RQQqsd(Oc}Y>Of#stp61W1D(e@f&v+P31y_A~sN7lJJG1?zjf-}#Z(582 zaWqbLk}@qHzQ1b8mg4&@qKWBedwj)-`RsVFQ3|T&?m5q~@Z{*l0r!j3_vh-rywhgB zUIkSgw0!i75v$jBo@yjv4_;C_a(FQk82f;C-p#QuWK}8cep7288}HKj1=p+k_}Ir^ zy=HVQugg(F&yZqK;n5?%c3yYuVRlp2F%W_KH}%?;VA%@sHQiTloA#25RwDj{QN62L z4-#WUbtS~bEz{%=a*b;X;byDwtctW(~1 zaTC#RA)9at<&T_2#~J*y{8360EEG0{f?!`~YMxAlpC{&N+c>ZLolP!F-)^}vnK-%# zK^^NZk{2BOZ9;=zMwuTG^11U}gjtOp;Wjg}UH9ol%R@n~;2wtW76z$ez;CvmJn`@P zGDPQCo!D$(O6hU>h)}AJWKRNO{{0&gk`Hp?ls#4Inr%hc-#{?r+4$Cr$&8dfFheu9 zI(7_yE2N#0ZWK>?Gt9Zi97N0WfQ4R!7AlqKq*b~Pd#_j9j&RAf_R*Y9Y@P)`h>I$W z(N1~n`UZJrLl(k*?M#~|9tDFUV8pZ}$(S;QCwoPf~ht_gfNvboSW${IU|NVY|-bEtto&`K? zA~4H;R^2BkdzcOqR4}Wo1rF}dx37%PpgiMM8iXlgeO$`OaqirLMVfvOVN&$s6qd7D zI%HA5a`u}jd2a^kT`~-!JH{UHgFT_K`&bV5EWrJ4*i=z+Tfv7R?bv~JBWv=xocGqI zl12t;t#SQW)2C&I!|v0;0u2VqA1o^$uQ#6=Ey)uE#fg^y;Gv+Qp>sXtXT#fp=P zKK#e6BRxDX(Vi>Fl`Cv8Adwbz%|rcgyhPtU*^KFHkT6$VqpA`?BL_)MZ1WkSK>v+@ znrNzW8w6DYi>5%!b@LO;(r{W8yPx@zyVA^kJS;s7u`>wrK*feePdkETZDGFjlV?Y| zo?ce8?FPBzNhqh3M<9+xL$&I=1k0F@O5L|qx~rQsnQC0&I}aD)!}%yB=^W#l3BNew zS4M0)|0)if4!@27VnRo>at2Gycz9Wh_WhTbf6J-9mGa1~Iv%!;Z|WB7KnbBXsH(0T z_k;E-hQ8>RCtfE|;vw|@Hk4zzQ%eH!z#Oa$mm!ejdspUq&5EmR#ngI2*me*Ht28dXF zN(kgJeGYi)O~G;suM6GeENSf5x;Fx)ZR%>U>sNAYHkhDeGhNJJ;(j*< z$DgqD$JmbXJ>W3JB5@T;vA4ls@!AUFX^lkx>oP3m@1r-mHI!HvcykC8+j(0 z@NT1{-kH^p!TBt2@+`ku@?@2+6@6;za+=e%Etc&{*HiIyNx^;23OUy?x5?v)Q(j`( z`#{P0AIs|W_NQfXhT5aZ9}nrc$OM`Dne`uhb+h7IQi4zukGyaFNU+fM-xN!3oE&H5 z(Dz4N)q82oi%MsK9AY{@F2!yKcYd8v?iTMHrB4;=O5X7Erwu$MVvPaK(^~FK3pih5 zK!zrL4Op#wctj=p(GE+qv9}n$K5cn@+kZrhmf_a8ROOe{$}c-V#UN7+JiqR+{IT^y z>)$aBplVIDIkZwbCDNS>={ZPgb{k$S4AO`nA?u zDPNX76}|J@aN~A{%$whycL+5qTLNM*f+y(dQ>HK5X~Ztq%4m*XBHxFFG!+=xQ$w|$ za11Ox{i?rpG>6O4dwlxnMZ`C^XxoxIe;N|DGpyL75s#omEnkQIpP&&RdAhQazx{SID34wIf{%CcWMMaRk}YX#b8I;wLOSO zef}@Xt1%WuQRyEi;14442T=HfpjWSGh0sf{;!}En0#6i?-u)*$V7M|$HZ%687a|(p z-Z>?yz(eVa08|;uBpE9HvS%Q57{K)avoKtW*R^;V=hEje%j$UcCI0%oK#C!hz-M2UA;PA4(^2j?hFSC9@h+ zJz8I*rt$f^K)Cx5&c96sfm89PSM$!Tz{jzbD_ODQEXP#j@L={rWgKDPPL7JYc3=K6 z#hNE|-}7XDMD>@Kop02Kb)>=3i-5RAjA~FDjXB82I*vvLVA6-vs#db@7`E;pO)DJ4 z9;;w+v9@5U?s8QuK2gAGSgrU4=c=OA0JUoeC8;=I6Wsp}(eIb5iVw`WD0+WWH0-Vn z)^5dU^5PQjzhy&`r(wt+G2)0R%3#JI>S*`jSR^4r{w^(i$sA?k|dtNHz<`l<2NNwaM{w7nT+6~YDi!z*!%*M z8afzVKg2XPjQ^QfSFDLs&xkuFybF?e;!Q33H_;26Vp@(7K&WK-cXt+QIL?lA1*zC* zYQ>kQJZ+6ld;&&X0D4n#bhwY@%HZI*J8^NiE|7Not`-)R2_k4tFw1saXsXqhURkAa zs002p0*^hxsgzd|ziERTf*=zhtY!yb(|TgFPfH#{K4lD^S{|NaoA8vTJP^Ubr?fqS z+7_47q3f7GY?KBBUN3);+Jzc#F3rp0u^57G#1L-X8!{n++hznKm~otXvuO;An##t< zTuI|#Z?sZH4CIjHI_}fAM9E<$x?9QyafqoHgw8Bznhb6*9|tDa(PtXe{Hw1KYoGA8 zJy}~Q2IfC@Sdq?APgc~V@x2ds#7h{($1xn?MB)k2DBT-r(bX?Q#!gJy*mSCSOxl3~ zXPzc88j4}RsEC$=h<=i;t&cIyq;@-$aGy26UQA#AeV=_C${LT4v z+a3&GG*9%IN}yS4-X)X6V6*-un%FFfsxQ^R!PzTdL^-KnaJnJi!lko$lTM0EB!v6l z+$bSdJ}D8CENjGW8})~Un;t5udv;z{b^;NIKdy7;BKG|PXf^A@R@aYu3X`fx9h2Skyumv43xw?9gA)H(MZO9qm31+ zEgRc(b6a+C^I944MVgUcI_66@H7!1n6-w+0^?c52`LGqpn$8#XyWe8{Z94C+&f!7q zGD};L_F!9EId`SUjB|r34EEo~-^*7M?JJmhQ?m#))jl{ICD)mlBxf?>^PRgcEYS)SXZ7<5F zgFokHLn%pk>J!Ajrog};iT($l0drZis_OBZ;d85k-?>a|H+(zn6W?s&R_ETezFMzL zccp}^@+DKJ;LKb%Om!3?_R4ZC#y z?Z;nV#L56duVeiAaS_-2@dS~-?(suwsUWa>%()BkYv`S*Rm@9CC}`?)kvVNrsryrH z`Y0&Y6+>?|B^|=wope_SfUQQ{gY&(z+Oj*)ec%+?BX=_Tuby{rjy+pnIzS?Yh@ZSF5>26|O)B%F|AZZUGJNm!uI4)|hm1EBf zxtA1nqcyGUf9O@)<2Beq^~M*{{g6Jmv@lK{Jm5Rp(c+!fbC?eB@@ByVb`^=pr1qcx zXUwKPT?(1`io?ohAwu)}9ens?X;fm5h>Pd#VZ-Hi4GGzl?23i4AI@jrW_izE`Ft#0 z5X(uK^<@WMc1()t@3^LXP5{4ck@1-(pWTbyH_c{T^*NmIO@bw>YaQP3<1~O$mY!Q; zUR{1FejS9CneX4bZ!y}a#|C@UWtz(&ZaliXiN7M>9njPQPbN?(T3BH9Bx{7(KfjjN; z7g9N4wBxgW#>G@XMcb3uaLs9Dj(Gx(gVgzhZl<{3PGZbYL`y4DMtYdPmEX%`YTP&~ ztMC>u6Q(VAggeev3#E7;QgKf|fp~Gx|8|4F%i8I8#`j`oC%CB};&hB$_U?Q_*iIvG zRFz-6|Id7t4w)A=@$UZ5f94_ZKY6pUc2F?EG_c7vFdny?Y21Y-Qe64|=kYU7-i_C5 zG4Nr*uh{Zm3N-&w6Zf9&AKSJCx?NBlTk?vw#)B7&5_bcs1cDKF&y334=hhB_H-cd7_+P>XhszITG6l+;pe(rz zg+~GZ4KunEi(~si;rrv&2L9}bDXY^V#*Z(-uX0jOo_NBPOT z1pd_fzico&2!mkrC&Pcaf+XLEV9PVw>mtJ4Fd`SB0-Pzz?3m=Th*TyLTKwZOwI5`d z!yM#ao9@PlcR?}YPhvBZ=?&!a8oEs~BZLQ^45nW#WrhPo!@seSR7Fe8`0d}ok11&> zHG^nL`duEEA78{D^mK5^MqL~O zzS%^DI{>DCoF4(CBqE;OS<~F#NxNr{9T|>F36QkedD%n%aP)<=aa;Etmgqu{Sh?0W z-_(e?h`%7w$mCYb7V$Xc z9nBRoYxjnq;uUEdDjA+3ZB)*_(dlnqNuMaed5WUuvN*`;O*j)+JPYj5JjV-mnsxx0&)|iBpC-e|>5+5#ti2bG35@|4bfKK> z)f~F~x8fYtg8MIcGSQXNq_*-=U~bK+;T`(uz)K`=u7RdSJhHDOlsB8-=KOPz?B0bz zj=6^HBL7oG%OsaVq>l%m##Q7~tET~@No!`H$Qajro@NW9WS*1Xybh5QvdD_M;KYTJ z(8iG(4bB$#DV=ytIS)r)ut8m7Xl=ue8wMNXTqgZMQ?Q|?Wf)jcw4|PmvwH*Kuip*x z6l(4inoCG+Y3%h-kC<4ZFWNo%+1NbHnlb|@bLkb<$k(aMD|3HnvDr3f`Efdu%q3#a z?KQ_`Zfyp6sOYP$kl9i9r0~~5T3<`uKGkoJdWq7E6m_>$BG;a=+5G$yA=+(sBrV== zhgkfiF)4I^{za(Mr5*jb}!HkM?VE=MA8e|h9(onF~BB{h5N=(ou#^&BCaqSeOj<#(BI*W@Ufn_2id8 z*S(DID00ugLbhWvT+8?XtB0cMf&m*J3(u|}5MDHC4T56LC$xJz<~}@n`IdcP(%$7$ ztJ596k56G^4$V}wgqxYCUm?E0{FVn^2jHV|0AFmG54gJ0ESIAj@aeWU#oA?J++xRTP?i=AuZJ?2*Uu!9Zq6$8E`@ zUNI~rNfEd!IJ=W+4D@utsZ<2**5LLfw1G-N`yS8eU~ZcxNKo<=^ar1&K&@m{p+OmX zlL(#{sx7sA+W5RZoU5AlOcwCs<$UrKKuQ16f{o2yGJieW`N$+s>7L1cHO!%*3C$>O z#et)iwL&ze?9nTiF{y+eDP#;0Fx`jkf1fu+o+cDjUc=3B@+b-psa+<9zwT#|NgMYi&no~*p9NMtC;((L4RintE4@{MGjM7g(=D;UMtKYsttErQa=Un0N!_Go>6S!T#gPx1Ekh1~#^@Rcb+0VSWi zCK?flOa@D;AQCQtD<$0GZ(E-bLzA-Rb4xUGu@&ikw7$qGBkBh@l_@ zN5=eK8V-0&8`7xgA#S?Te=fvmJ94cRZ zXgo5G9Pw7^#T)cpnY2IWrF0k|IkC9BADv!J6SbX3@jjCWeDd~s`ADlez3Zo53zh23 zj>7NXpwCYgsWWAWD>N87`f_V(iLAf}-MhG_9F?4npOH{ud!%V6 zJa*;O$yY+Vq-IXiL;D!ne=cU;b@TDRS*uD4TKw zU|j9-KTr%j3|nQKP;US=62Ny-U9Kh6uJG*F2Rcv5RNXuuKrS*7bBj(QEn5B z&D1!(Ss*ou;QMtoGSMuC66ho_k|p8!c47N}?}m(YxMj7|;@o7f@nwowdoAm2$$Pbj zHCB}kjV6t$E+v}(L)m*q!_@%bx>Ff-#^@!C-g}77=skK1(M63Cz0NQgee@DU?*t)g zWQbl8Ba$E_S`t!xND~oroV)J5=bW|fpS$L&YwHstnUKts?M8czIfIdLcRc@xXKwi)mdMk7>BVJvp+Qw`(~`Eb1Snc-oyxIt zqrZ$vAVSna@aFWWg2)70k#IZH$Jx<-)~*R0OB}6{Q**Cf@XsP|i0zyS=ONN8)W0*J z=ZpR?CjxI5u1EDSVB~T*)9AIg*%ON?NyUZr=XY74Pg)w%S*8F9-iu;{DMN}kXK-#` z1>QSbvoNa)cVfa&XobtOXq`T>hnp8Vck-o@e$W20{d&v!;kvaz>$dcHZ4 z=X>WTvP^`=(Oh?r;mUym^zAT7_b8;j`L%&Im7R1CdF0z9nR?vSLMXfsRH1h;eX)etcY{y^b=0{^yv4D1uE#Zih+vv*53(he53Y9TB}B z1O~K@F$T_V3|S8JB8olOkvJNY1n**TRfp#5rnjC)e<|P|+6QzoIkHC5cXwQv`Pb$|H9|9+UA=D+%9~n5U&Tk| zLo^?-Tn^;H83+wE_k1hmy`dKUpSh|CkMT$4`z(Rxv*na#2k7>4l$rUDLd(rvrSB3C zLjoT<=!zF>l2b^;cFUvzH*~mOXsVMFBam&8|l{X8ukSBn#BvQP~9iSiYDkG+5`rE(Fnya zeY{;-K@Z>Qe~A4TaF<*^Rod96Qcuwao9fyvAM zo*O~wc*5}859ZNav7~|+RtV3V+fk2M3s+?Ftc$7h1?w)*!6^=JNmS!F?O~Vftn9d# zjb!tf?ibnM0js|#4p-RN@19lxg&$QytL?Sa;1 z;N#skpO_D7#fv*6ZS(J$gbmJkzGKyUto?~x_ESqNzSuyqVGkxdqJ0cJ#lil5BV+z* zxt(C)O8ej%?%9>4oDc=a1m3LU{0(?7zFztx!v`fpDhecwdWust<%Qusquh@?hwanQ z7Z-1(;ke;9F1*#!gDcP{$WG~o1B&ud^xAV4uBr&a2fP`@^Lyzn zkfRztcKpSha`F4^wY#NMM}kk|=jDCi2sguqJFD?T9^9{=m-r*fu=pdgCyf%|l6XVZb4f? zz)(5RN(x79H77n14y>a@{=0)9|AsRgB3Rd0&#*&8Z0ABnCA>IuV zjZSVEK!_hFvty}1Fo?n#9E4BdKw}Q1a*NdxRjX_9o=6;p>08f1-`QVaWWPdy)? zuY?dEOtKU~h_fLh-BO$eQxyhNm7-H_ura9NQ&@;03qmPWp{d8|X}Tf^v2NB2BCvZJ z5kpY_d4m~*Nk;S}+Z!N+NXarSNxVQBt!}8wTB_@8YUUtb@hml+EP_xrL@2W1xGhu3 z-N`L?GW^frEGNwDeV%Yq^rL4?{{W$JgP;T@LhY&+KM_1Xi6-(mv)dQHA%aMQ zF(^A^Wt^qnLWLE#q{C0L5`A;&$I}znz+*szUvC)yErY~Eay!a$0}rx(8zNuBplfA0 zYi9{$5yE?W0)2kUTC@vWPiFaA7R7jO;u^^QB$_&(vd$O5zm1c%RQ}nLyxNla`5>PY zhJ2z$X|bILZOsuAC6HkRNp`|pe2$hD<%pr-N?8&Qc`k`}4zcXZZ8Xbb){n?!%2OqQ z#Fq21WtnYddGMh;2`pGRreJF}2TID3{Zke`%37*xrkkjK3gN-9h=EKMyhOkB$d z1iCVisDma-q{qu%Iz+b$ml_Q*KEae)QbAdJpj9yi;g~WBV1D9kQHE$qTT4abIM}Q> z-_Vk#s5P&|578o;8hXfhpS_}L2r(K{prnWEm3zRI?X`iv@O z9Pevlsg&Fbo|act8Btb$L@s9(cEsGbBbVKm6V88nQc*C3R6eeP^dztPVY&ZQ8UKCTgWs1vNHg`R*BnYAlJD9Y{(hRix}Xf1H~u2*YinstB_ zFjdUIF5a*r3s9@zB&`0qUZ(;frcx#O86G^yRd-wqU1bz=W1=Jk{}rkxTQp>d)|**1 z2yFy&XB0ZeCOlf_B(Q59DkEcN8E*U6d2R^U8sBqhYn0unyRdJ1(j$c}Y~ppldF=#@ zK5z7Y*(B`WtWtihxuM?nH-jd5xy4~#9`m`LwIcG_0Sk;s4U++eYg>}2plesAM%ax0P90c&(4prB6C{D&uE4~ zuvd&hs}dL6oyeXhs`kQv8;lAsY1J)(`ODDeRpF!I-1Fgwmmxi>`B38>F!~Q1x{$~m z(4&E7%{^p{(t;(BmnriAVhMab3D6cg#5T3e-U#YbCkYwcEG%T|Vo(K!ZH@WMSO^dAGjbZ43^#^t`fo=eq$h zTBcCW&Z6^PVc%YwI@%x$%E&T4w>XC2zq+9&d^E=cdI1j&1Mcm_4zhwkiTC0076Xug z{xzY;-@!wIr!-c}6ehF1YF`FZCWi!ehpcL715COHn})u4cAD`)Q5Z^b)kyU(!`t8y z&D|l8Wjhx}vwJ9Xa72Ar91-7k?J*G+r)3Iqw=2*ej&B%IyT#pqPT^=VLau4I|4B%_ zr8^rtN=*&}F<>-Z5!PUAx3p@_%MnzA952GHf=^UE3{D&ZdIwV$);jtBnL<2d&a5Pk=fC(1Yf6ln#{bp8{d$PJ zD^KOLDZCIsRd2+H5er_43APLP2SRjY*aYHH^RLwjX;nZT0eav@U*<8fU}6uI1--10 zpjv=yBY=xFJ@XzDIc`p(7jTk{bIK$@b@LeyKON7!6hu~-iAz6^Kut#ViRe(=TATva z3b>ByYIjq9^1R+m9QRcNNPW=%O)vt8Ux!G{faDRyD^K_~1@^M0L80PQy++tY0UTLo zHbDZx=OOyLXjY34Y+-tBN7ex&G1n7H8FdVo0f6G25mG;`D!BM9HmAx0C)tpu@+?8O z1gI2D5x9c+@=><-a8!hl1h%79G;p@hx%GWG6GoQ33*ypfim*j2}8QmA|vwD$3q8O2pc-O)5lxg^KlqG1H!l>v4I7ggfi8Wei;sMR_Vdxy) zk|CUqrGe4Q^%!ah9lKk!{4@l8v@0sjc#~CKu&a{s0>iB*h`4q&KKl<&LzW>0$+(L4 zy4PJ_t}c2xz1ZvAg$)HA#tG}9qLYPx?${qilJNyVbOoW8|79$Pjxd?J~y1}v<=K!s>z!y}8 zb}|OlP%JU7URb;);hrXVBi{af<9ZT{a}n6@qb~j`DGG3TzOZI*3Dw)y&ZAqu-$(7) zFOBwD&&pYM(BZXJb-(rx%5Slrkh&63CtA2AmAtp1eCEzVY_UTZ<1_g5T>9>v8pjYhtnwFyz3rkEiTHs*`gxnTl*+1vCXO*n-59svb zn>SCGa!M!2e-ZDu*2}~Zzose&6W(dMLu)rjKfXo0c(raDXEd9G{%-bOgJAqzm<>&h+LseIk>u8mN7X#Pr;o(;NW={;&9n9l#Ap z0fzsdtUUwL!hndr$`cUI7A4X=A{Hhk*&ES2$uvAv{~xUVylMFq5PSb7$2{zM{U_RL zt%P5+`*lVs0A_BKQ>Jgz%m0_PF9BYv!}0}burMwhj7kpWji8`a(p7qFL&b*-k#SQB z?eE$eiT?h1D{DC|htg35C;9g}9znstM_ATs8Ly-^dxzRK8S4EoACuXFPKMAGSQH4f zqIHI+Ka?5#JAXCBJG%u$bGN3Re4J1dk2tM*w=@!k2E<@!UVN7x4BgW!VBN8yFk)Az zbl#ui7tO2qQo1bCR@;&lT8 zw<1o6U`2t!ZSMX2$rstzU;FOmC=Q3ergd>xo6KYN7uhGgWcKsI^E>tL-nYrv!4g7_ zL!vB&iD&%D6wE$xF3&h^DTKBhU47{5GOy<}DJ3r>11WBX%7VoohsQd?xZI2_a`@wU zZEGBxjs=aoLuGszEj7qu?bdICrrD8deO8B!GVGtl%LM3%Sf*+#79wrja|f~8EiAEn zMqn7jxP+yY(wBbG&`6^@4NEd?CQsAEk7{|L47HLSqxo-mGQaYE*1Vp3e8+ofH@X19 z1$kEEy7nt>*#{E20B{sbjT0V?umj0)Ct38o`=rl-5wCM{$ zl2>IjaeKcm&vU}jc`zPkDB5KFFG5bltvCz(FpdcD1Y!8Nc3^5X8%Kr;$=_oRQSxpO z8)w3xrKF6&)}wO6I;i^Z1ccxf@Il*j9jPH1fNhgAycz|?v(D~=$i8~ZV$l=026zZ8 z-)@c^>p+23>W1}+fY4SjfTH_&r=V zcqw7s+tX7Pbk zI2Id$6E$zn+q-5d8XxMAL0Ho}#?}=RO!dbk9-*6afLDvVrhUW@QYs?Lx2t~$P+l`c z*<}{!*zEFjbiCIx{fx}~RRit6GF2U83wV4LfXco=(}a3!18QCCe?@Sq&_8)KAPn%o zpB~wL#<>B%BDJ8@ob%!X{<#lPYa5&Onr&T*5-sN!Ubmk1q{C95cMl z5A-O`U{2{?D%y63zb`Vug}Pzf%4UxRQb3zb7G#||vruz(g*QevJN zT$@A44dW zwrk0Tr&1f@1V0b^Rb|4x;IRv&IQ2N<^FMWHDG}?^E3bJ6Nc-i(VP&;dI(19+P88a$)n*lr?e!gMcQ}Y{H9J)24ZS` z`{au-Dx8yav5Iq?4s-`)ecP6)B?q?^7fZVr|Gr`%7yA}H&EW;s3=3N8MjCNQA$GbN zcJuhc$2+y}zJt+CiT(}%wWu|eg6A{2SgCfMB^l#2sd+RNhi%)UIci_s`k<4<)bHY< zS5dg1(Nt)Z)uR{EY7c!H^Ot$>;96+LN6bO)d9-P?Dug533pjs9NvpjXc?&cafC)NCtrXH8F>%jYC&Cy_aRUz2Td4Uw4E6 z&)=tRDx5!2GI|w#<@UMtENYJF&Nj55<;(a{X8`#MrOzVfz4e)UGq%|F9^Cwf`EaAu z=yRie@gvaA|%IeQGHUYE5=Y@ zoh}Tpp!}qebnFES((V`@c?yqDcT?95VJkz7M{GUXdMYSce*cYDIbc#(LZaE6weg7lDC|x{Sk^HPDytVK!%pE2 zoyX`*?nTJ+rmpP4$*8oMRk&m~)^0FC5SU2DgbD0mX!haZ2XN*zY`;aiod}Y_LW%lA zFm&e*1#be>HeFgM-Jlo@vPkzDOqU?bCg=L%&xLT3HK6Rlbh}A_ViDpq2<#?|%RcbT zRYDX;XVjm;@0PjdJET8~%!FEI#vWwyjZ@g<eBBT$K*asB z!H46sckoCZ``r4q92XYz4p{Ct5#%?@yfIzduzZ9R24G}h79j#S56P46$v!_bXOls? zMVp4R`B1R?Y7z)D`?NF}2&o!-Qv>60LtlnNrh5H+rh_!x!S$bK`4%M5nqj)Ol2YrS zA>1)rzrTLtK?6rZM_lu^m_u<2LT1uJ>_r*4D zZ)Jxv_sSVjMuym?JY>CjZDkZgHR5wqBUQ6bFaBn2gBJy}RRuz-t=Y+-K|a4()wjsn zI9ZwuY`}?$`?0m~x;IJ50>0GL6_3{m<(Da(xBN+~IWTJdx7(cj8D96f^~60x^0Qt; zCgOWW+gfscfj>g_40&x$+s?8^K(?h@Mf|2pJEXQ%jsbG39Kq9aS3a~2y3_I`R`S+7 zvNM+TZ~&=}YPH|!xU?#iV(1iLcmO%ULS;L}-8+XfJADf3C2Bji<{ymkc2JJDe~gtp z2ek3;z^gWpR{=vzQ;96Pxl1MG#9uB(sq6Y9B*R*>h|Z z#RgoEs)$`dpRs-Wx5WUL3Pcms^RWRt_)D$@Zx=-mgpR63F{?3%)m!I2vfse?Uri51 zs5>m09TD*8voTVr(Sd@2;5^*!^ft)y@gt$0n0Fh}iMIU`wQj*C%&)|1e)%(l0hHpF z1A-^LWI}1q4S#<&MoomLFfJ{XhB5tMz_PYe(6asUFw#9!Bk$Hj_gl8#?3pz&PCVf$ zS>lX1{oAGPE&RYiSq4a%KjNA@NXQKu*jArh@i<{*C}L;mzk4Z-%&FNK5Bjo_-xngT zKyINBV6;9W1dn{hfz%9nc*XpYnQo%=Wj{Md(+388y zOjaCrFr`JJF9*bg_j3!M`@(vZonMoj!iIh+ZD8{FG$E(4>sea$_BGR*5ZRZo<3`%0cE*q&&7KR*k4^v(tz$iqq zD)WsC_#M*;=gnzC1u89`IZOg^%=wf;_Nhg9s`a>MqUi)Qa3Z#YRc9ltvt!h(d``yx z@zFNDU?{|Hl}ImvD5Z@LRK0WO^jR;&V zWvz0~$`M%-9S=UmAn*DvQd-g|2VUXni*Gu34+DjoBd3C?tE^l!Q7ds54zfE8raY0;&A${n0 zzNiai8$PUO+sT>fGVDN#2F<^Be|svsLn(zDlH~dL44z|#1jxL5(z7X)0m8{bVz-}1 zym}WS``D34D=ABD8e{=^hg6L$60tylwccp2yy?CWBSpEp!20hW?ZWTQ!rd;JQ06;tlDEd{ zm4*pB;v}FcMiiX5Vekjc#<*{{1258I1CzC=jr|!$u?$0L_K@r#K=oxY52$AlC z6ZFU6U+Opjquo_MTzJjKecz{`%tDtcLiP|U3#p*zX}X)_qruo$vs)s1h-Q3YE(^&m zI<%=qd741T$A<~alw=DiSqsb^f{ZZ$Cywn4qxaZ$;kUW3cO)`Hw+*{4Kc`orXcCR7 zfOts4rV{5D4(;^CX}Hc^*5r3zHs5iwBu2hxq>?95apsOzsA*kxQ(J_8YdBjk$*x=OVdkR(Psv+qkcXlDh;p%s)9%@(4Z$vOk2{pcw1izQi#6cZ^Pdbrhoa zfK`O(-tPAO&cq?ZjmJhP=E%7dk+Wmu5nSrF%4HYpXd+@Pam(i6tXz05=MR`2jwH|f z?L8@w!ZKi}JtaP6EQE1oKsa`7o?2@R~eeWZi#Ey2e%QQbJwtTs~v~4qvPHAEFPvXcPqz?L35SRbMr~gOg zO?Jq8Bn2F9!~4#k`-j~|{;iu}|VJdd+H-=cWoSTjKVV9D<3uWUSstiTT> zUmHC##PaM~KH=1T2G<7USd&jE2#Ks$socFT%24`$3$9KKH~-z2zKCY{E9QP|Pdep# z{+mkf)32vjU(lDQJG&n!5YH~?e*Av%KUsTbDX+EV9i6M04D*JwZr4m4*vqnY&61ZT zk;))iptbvbUV*4J(rbO?y%+_U>$F}O(r8@CElQ$o4Z(AlD5rk3kqtj6!(FhkHL?k~ zXC|5oKPEW++}2_ep$`0@GI^*|ZQPlwu9W?00tihU3^aNyHr8@iJXd#CdO|aod^Y>< zw;`|97>p6Z@;Ml9Tn!ds=yKYY*Z^s*Q+QVv_ucXG(ca8_~J}DJ8L3XN#IWspmZ--1egq4 z;Qx=p)R1p8T-CSrr1u_;8kBJ*MIAtkH)fZ5-(Mrmf`u6_;U*3GY?pkzXVXv40R>8c)F~ zfggEu%;!C1u4a0qsP0ivAPkEs%9p32<8WJ;=kSB^4|Q;TH-G+vEe&{h{pZ+e=7w#= zt2P$8?Bz72mTbax=G{-LZ7SXo_P5oMMY2YW$X8VGvjXAqhO=7v>D%`sBI|6#A2IPh zt=Ma}Xq8EbymgmMvXu&?L+&zLQr*jc^kvxg_xi%?DiP=Uq~CZH%kT4pGG=b#hAS?UjuvbD=iJtV@PM|gTbk=5 z?VN#*-5(=+!RfWOVEYnwjX0`Xk^TP4oH0JtGg)>nu2KhA<@3AT?H{WPrNXw<03t`8 zjrCGNcQ*T$$;r~(OcZpcts}QPy&syiDFyaQn+4;wS?)SWwJk*6Z%r1LFTd6O{;_Iv zPZU&_si<(5=5PcoE$TDSl(620^v}8#GHud!zr*cM%=lGi%f5hhg3E1)@p1m%Il7&CX;aKG=v89;K=p&M*k0PRYU|TH*U`s6!3$NQ zhi`+`&WL61^Xz6eM91ZQIz>u)_5DIRn8Ne}qSL95WO%{kwg8ZPjb>w$u%#>eBx2XP*#{xiHy%}ucr z`F%E;j6&@vmewwTUIxy5gN99Y0)hyrFnPzw{B;d2xMSbKM~7f$877i%lOf{oHfn7p zvg-{ww%h7MiUFIjLx$RAm~c5NwZA= zlDB=C$9^o!@eY}oRdkgX&QV`arOF4{+`BD(IGba~d*3y8CO7!Ir~7owyi-NtRZXLr zc#)6J-1cQV&b~7_(b^U(w_pAH0&Q0(dJWU23kUs0bEqRB6tv-zziCaitJd;T(~1P? zmZ+)iNX5LvA1Z!mWA#Fl>(>m08cdb>_Rd4C^Lrah1g}l&@DEoMue7V(of86w*{oCw z{cO7N;T57-p>ZXT|XOR;tzx6f%}$5`9X-*R=0kyWc9x=fk@IcJ)57aRL~n z1B+T(Z6-5~H_KMV8>e1cH`W=t*+L1gCxX&KYyieJiv5M86fp}om#?>f56?JD+PZvM zXP0CZUTUWZOXs5=V_$3x^E)c9{%gL3Op|OI)Z@CVmCrf3!_wxq5Y1uy>KDD?sF>{f z&3grdsgsZSUD?E}H?rPp1PLmhxX_uzTE0)31qz=tr%Al5r+j@WLTtCR%i7$<{N(uH z0rxpc37#ybikqDXT@J~S5A@``6U`S&@I$NpFm2<&Pho2_l5-~PS_MdAo@9s6theoN zI}iE?)cEjXzRsS?SH$#<*Rr|&o8B@3XFM0S!g-0yZ(ggEcQO5WfoY$>q!{ag_}J?1 zo1CUH?K{4R8Edm0vch0XY=%4dVDyhKKIjBElJH}pbwkdcT!1&0LXBOnm1fv8ygGxTKk9_@QA`Zl|tbuOI;`T=D#-tSh;`zM-rZmTGZ%EEDqt5aNg z!fQQoa-8&aC*)AknC7*|{Cf1{mfeX#`p2N)IL%v(aBLd1CWzpzs!PA#wKy%_0RnRb z@@Cp*@QV<-Q@vE|SFgh+MCAzJKsN>**GUR`t$_59QqjwU)X_t_Z*dE%^vgB)Yt^}@ zd3TJid`qQGg{m&M{qc8W=x9B9i7@E>&H@}hZh8u~m@`yVq-Bk+7 z>%mW;1eJcHr(MdqI*2DQ;JJ=gQtV1f;`z0qe_z<;PIKci$3p4E}H>-I_*THzr9&3(_$Vo01AY17w~7i1(gs z+-H)fvVT)18gsKE6ur78-&n@E2JlGvCv}-ObE6Jc}1K4SpP4iH2mO zRegyR;V`aA>{`~7H}aZLE*iRUJZrWlb37i{F!uN_@kfnv6PqG*4oIu^n7422vK~hM z4pYUWrM_xQscF&FfVsGINnQ24N<$G z%;cv%r0M_Mj@Of!;M3J^TGQr$=;(dbR$0c$3F!C|f!9rSI4UP~ul%45_)UIYiLc7Z z-Oqq?$@8;MPXJw74Od9AuHfPX&O)!2FqsnajJfE@O5GctpScO zrCT(9&veG<$HWuHY3+D?fa!P?lh#cxn1wUlf1&y}oH#EJuq8?ue_Y8G$9l7JCd~oM zEHhiQ1_}u@O#d;R)(5~d%>;MMDvr*Qvl?`7=xSYcKTHwRL259Z={Vs!KDuKj&NL6E zMLB((>Vlfu^#zt(NgK5ce_3l+^yv>QP;o^YKDhEu|CkHL8D{;^&xXvnO)8~2!*CM% z{vC6;>-tHCb9l6z#y-3}-Z)^?$aB#MyKmgu4Nmi#&4kR<;$~}17apjYqz9_h&+6l~ zX4O}Wv4OQW1@bleGM&q?w7v4vv%ul(1+2sb5jQi=MPs@KnzC6;T1%dWfM%{>W0Y~9 zmr1{_3Cbe1(Hfn6-L!e%v<0%@)n}mAV>~nqUXsU;s&OoD8czf+J#?P0Btk?S7N-Ii z-*TBudzl7@o7PLr_f9U7)4po3d^JrcEZ{^I_tZ=Ui`4WezE^e^03(h2&=P6## zlPAs7x{cPEs7(4%H5i$DD^f^=U z%~UQt-L*0fhX=@ZdLW8~lOaU~jx1l8Plj8vC0M4{kT?`z5IqZ3w--HS%RsXyVn z#%8(p3?7ur6Y?@ihE#Czf-#8Rln7K?vNl~>W$g!Z9a{~BtQs&|r?glLe^aMR;QYZ+ zCoq-s*mK3o8}CuHYABd}#Y>yKvN3H0t6-o5UbF_xHpLj5A=Os{J6NT*tbe+r`af^F z2jS_?Y?VGRm=YmoWv~6K>;k9g;zM5frrKiFjI7md_&;FHJYQ}cXfc|-u@A!QyF53d ztMqPMjBavpqnIk&M&7mLZ+4LpFMa+E z?-rJ;Z7+}&ewwt-&aZGE<$oNDdHDRXa?%aR92| zzeP?fbJ;M1x7qL}j23EyK&Fg~OnSCyK&ftrasW0og=c(*crAhOR%im_Kh7-EhOLN^op%RbRNU z2U)Nx)F|KPzjblVjcA)jvNC&q%Z*~1DnX&Ty(jqzl+L4Yo9Zzwh#CS0ch2r^(+g4c z&{fvPz-Gm$kWxFjN;^b9FnxDRQbGeuqesFaC+XK7ic*Sf85=L$QG|M!2r_Oh=BMr$1x9zxF0Y|&FSExyx-xr)zr6G)ylWkxFS+WiG!XeB z;=J^GDz7t(2vmPLd5~AoEoR@k z3f?7R{z=w_vZY5qFI7IGOaSc1vVdFwpRD}Tz0W??$$m;az|yzhDS&~<@g*Pi3n<=z zwi`23mkSRXLNf0e;sUx4^f!Qhh+f3uo)=6b&kjZ}1L9}fRzK@Xsqr9s9hPX|0|qH5 zs&TLyKbQs;eBqE!=+i08!{XT?awWx1=yQPu#+s0>lh~Q`#II4Yy6SVQ@iRm-ca}9O zH7Sk0g{Yc*RGua$?EJS&;fsImSsK+@y115~12?u|>~qV>W8(#dU5|jpV~U!~bYEYZ zM@@a5+l>8*l4D(TEHZdi6z+k3V6xa3SyGDTLckLZ#$sNIpX$JR4LmR6s}Bk6iv$go z6ilYMTGHo-_XgN8i{H`+Di-~Q1AhB#C^r9#dhIs5SXt_GZ9Mta(ZLd(DCzF!lVy2g z?D|zU$qqo?sQq@&Tcpj3pa$+Bo`cda_xB^S#L7O`*5PXD@4Buq?nY*5xC7h(179e7 zzCJ%95+ENh(}8Tw#N$Su8r%tYX5jgwC>6lv$KW~Z;9qxh#R$pK`mp~#ikMC|Q~tsO zW!kjFTX~LynZE{8C!sItkEvtkymJ35-&kBf&aXrX9cW`=!g%VZAvmoQrkN0Aeljhh z2d5PBYGQER0V?R;bMcztwNL16$D`7nko?SN4j`tnDamZUlN1N^+{aMve2{2JN*dvW zT{^>I*sH%7>4rKHymPAWm*QFVt&%U}*r%P=2+IJ--k1Cortb*gr~zU=_lVwj<>1kw zKu05=9?pq$weAX= zcvPg3MzPhyU$#I1eanVCJ0@i>G8q<$+UfsV;}!ap5nTKHqX%ZREiiuOw?-lTWbW@; z80>!)9|2bf@ahD>AOJG-e_J2=|9^oNzyl}+-upj0l#F6((Nyqcn(wC{z)=4=BxAj) z^KpOo|Bdke?|Vfi$&gis5Z#(AJ|ih^r&jB9z7}Jl>%#|-`v0p#sTMug*ZTi-D7{N0 zWT)oBx3%;|j98^a(NSV8vl&d~l|d3{cMm@`o%mgz1`FkC&K58ZOTR+$;netT)SKj4jGAY>uT zlw%+$V_+VzzdHfyLyOzq258^290=J<{3TG4die658_L4&&bu#P)*eYqOjM}~n|sfP zki&MeMx|Y2R@yD=UHrdN{`4_vY{e7c1{@OjgC*09Kzhm#Fs%l$e;qM*GQFLll;RL&0XSfX>*P!BnQ7B%BPBE9V8X z)T*sgc&okMnNBJnmqBsPiQXs`j#4u)ga*o-p>PorHMB68OxGl-&O^lw96+gx_o>9gXm(9W0c^6gf_|pM}jd3KWE|WDGoB3p>I9zqS=2 z9j-A3D$?H3kpMc*B0!wc`*%ui;-x~+eObM-lzeYu)4sWE+95Cl4A}dvES0fNM+*nj zw6+=7U&d1*Z@k}}r&as?_4^Ag@RPPDXWUr-(#yy&tmOPf!T1m~DJ_JBD70gW)HRf$ zyMegRFwwK(BBO)yymvgi?yEUL+z1@_7Wp<$7ZrtipB#`X_gH2^l-7Bad=WMdoRx?+ z7I{sSr<89|*F|K*0nB^ZG~<9>EWk}Ujjg)*y6(L0Sr*Zef=FTYfO*! z5hYk#=J|`SeQ)mm{WkciT6K@MCTEaeWAJMfBZgJ;?1bjk^1SBNq}7?putDBm0Gd|z z5ABFUBDbz+9Q}DQv|dpGXlp>kB6{Gcf9GEZl2p;)mYisr2Q04ffjzvMXV1GSYZFb5 zXljlw(dxV*ZmjhVAd%bSIM|Mvo(?s!AEA%?4n-Qd5U@m&76A$&RY zJW`BQLw)ZC0mw#RG4SwNVVPD};?3rOkQq3@UW4M}^fg!JwE4smOnpq4N%T24#kY6_WN`jR1pK8Vr zE3FxojVpwAk{?cIHKpd;qaKHtK-)ymFtD8x@TLuXjD9mB)hFq3WvQ^@(}KpnP~H(Y zJ{q$LxGKjfP0asBL+ z?{I-ALF08QE^=akZ2-8E%^-jIglA~fT-xAx0eG4Z?o^)OuT(PJYy^}t%6U^O4idz; z>&=UtGX(S4@j`c3_`|t?B7aGF$|nUCgF3SSpJg&7G2E?W@$1L0W6B_x>VOK;msvO| zX0f=>rh@An_4}?=Bu4+4Q5_8!7u2<=;s&8KU+s?1Z`8DEIL-ccTn((q5W@Q z)D68U7Ik+lf->LW_L&+vBtOxf{$Ak&U|7hoNgIA+!uW@} zyJ9^zP@#v49RSWfd94`c2D|q!T}?V`eTB@@P*=HB`;D8IrYRiIGQ>IV9rPt%8Wq7S zm8}&(Y80A1@+iO8|2ZV%KH@&dmAonrVy#3NVRC-ewfYZl&O8q+oeyNyhIKgk8NWT2 znru@3M|q@l3@WnmK-F(c9pT>I{+%e$y!X}cq9m)4AE4Fy*{n^=N7aQaHrZ7-xkc+B zm$I2t^0+_ZSUXHbH4nmXUtrc^ac|v~?kQ`#>ui;)b#E5r``(10qO4(ys2hb>2Fn5S zN%B(@C-%7gUQc2b${OVS_GEC}ay%r@Xcqn|agCyYmMhXpb{#*#HmX4}=WQK70;_BQ zcM`XXJvWhp_sbW*k-q3xbzBoOxk*Nq=!KOejedAbM;zs27ymY${jsp}DlEKvQ?u(n zK}i1Um8YNMUKASAe?}jfllx;|34zs@XkcFMZ;Fyt`;_m-*0X+XRwW#j7ZL46b>4X` zY023~YvlaJ#^DT`mBoQj5(_U7ul3(H+Z3uMIE>;f9qbRV4Cr!tUiDfoDBpO*lK=sH zHbd7qo__Yf`B$O0>8HN(ycL$~S+aN0ZA8QQ$KhX&%dbEFu$JNSdMjJQ#CNFG<`?A^ z(JrucmKG6k!0w8r=VgfE20F&tM)J*Pix%=v!Mg zv`hQmgZm212GQ-ix%cS|RNy!~8Akj`Emx-ivsJ zJ4a|5CqfE@?caf+K`edRyJY*ki(cAKErxAs78wt9=X4%Uk)Xt%U2$7q#AMD_;t*jq z-*3H*`w&BsaQU6+=5Rn|fdwRD3V2|sul>Hjb5)rC7*^$m6EBEy>} z$3a4f=QlPrA?p#0*4|k9sOj-ZI!!%TfMNZ_QXWi>f~TVLE!?^8Ji^lk=H#Q`MdZ z=F$l4g+)_Qm|BP_7eD&IK`TzTmxE1V?c*?+To^rNB4Jw80(TRYe2sYkZpHV8DBH# zg{aE3ATopjDlN%xNXgPI!AY_y@=Dl$7FhcN+!+C!@Y`?177>Nvhz5W$cR`l8GA(BKP5x%NA+YGOx0`I(L@W-c%8uE%G zVp7;r?umpckxQeM*u>KCsl250enyCJIs&##C1m0Ch#znKnnB$SALzgz3W^Ad&gMP#{_q~h z{u9<(AJ+5S_jO*UBslfu1jZ)_&WBF*NP^4Hq!Kd_zP`C$(|%~d@e_W zs;UwBMNuxqIfp+?SM_bCT92*169fW;x_adid&Bjtb9DoADarCd*m6U@qC?BHvJp@K95ahC=0Qvn*ZD4&J;3Cx~PKJcg+-J`7&`EY7f|DD|29 zE#|xxY7xqq>}OqU3n_FHC?rzLt-Nzn7nb@;0p%gg4yg%)_Euyt5!- zx*>u&lnLfu0>!>o+0n_i{RHc0&B=M>$mdBbT1xe$DhcMI*b=krQk994T&AKoMrG^W z8A}bSrPp~L@^GvC=e~mF?*z-rJ|bA2m6I5g|B;s){aj86vrY2EsPrVXTVXFc!U&JD;Za*n1$|> z8IzJRr?3O7T$t`WvMP|#tGp#3&jjy;b|)&PWJBE*dvvNufRz<5LFCV>1&xj6zEt}{ zYAn1>Uz-y9XTkHGATvi5P)v<=4nSwJ=EvLWZN^$bA4|1;4YQPI(CmUBK_TIQ@F!oW z9U7m%=zbQGVjdO_PbA;~UEq`xLHG;nlt)5gv8%MbOV$6qOi1W05%5q{+d`C0P-Q_Y zNGm{+;k?2D5jJ-W|G$poO0nUfzjp@QQ6`n7*mwohU zDOv@U>LGot$UlYVKk9*Zz^k)`;8g-GE9YQ?iB`#?7W1Mw7lm3TXq?Rq0*ii8n*wi0 zVFR^=0N$YUtdPFTv5dXp4hM+1U(F=#pqt;!4|-Z@gy}kUo0c*4KlEz5b|Ky2@PsWQ z-`@0ROfQ=W6*Vn3Fa5_`ma^ldhh*cul2`1K=}%Xg|21~%|49;mfG`~& zA&l{By>uoe-+nVFFm{@(QN1>G-*8Ol?&OU?Tg#>xRI||Y5xmQKeM3z##3l8{3`F0~5Ec?p-}|rp6uOPtdk<52FRBNk zDqYEk+aRW)(<4`<%}&|z?;E}IjR@O3_^^37EHa!$A}u=K{8Auxe}ca{59px zn~;cpA-S$qVaLu_?a0S(wo2f$K0PMq_-2-&CCPYN7~S$(O`N+T^Q|GRt*^QfZ=5_R zKKn-cxv=asLvYiuY3fit9rcFr2;~~yQ1YdAnwYK~9bkGS?0AH=2Fzwm3UX$<`1AUX zJ{+nvU=ACyoF0@97}l4>+kG1CyyM38xIBlvn?-*_$a%ysZInB0Sny~NrR&={4ET-$Qi5PNd9t!JfN)v(alyrz8hjWzV@NF8c`jQ@Dl$dDzR|B3oY0^Ai<%IXocQ(Hdf9!P8#CT%+B&B*Du|(?e)DcTwq>z| zT99!fq|vWq7@&yLjaY3XM|LY5QLEw_zc#BbL&y0aPuiVCysCQ3-TpW$oI3wap)j%^ zoUU}=XNEUBhOwoZ_nzW=PAX*)>ckmf+s#a;{xrYyD4l_N%?b4u>-+GZBRq)F8$usE zLu6LKc}n=*+(zUKQRv$#t7sEX>f2H8;tf^#^IpDLoMNfw*~uKy@<938Xz#uEJkIYg zEau6LldwwEK(@CA>7&YRvz(ZD7OxMlen1)kq;sr~QbnercswDEnwD)*#NY!T2J^Fi z<_0&zvpr+e0vG@E5m_-Ge7b-VrB+pb%%-eZ3m`=rlj+X@VHZ%gt@^>0A-3#=3VCY% zsAWG*!}A-2puop+mU#m$YOKV{3r_gruYN)N$2Z3x-Ikd3L)P>eD%2C#UWh5> z4PCWf;B{A#NQs(oVc5$0U-3F(z=k@(fbKj0+Nssh%3rheu+7j=^iE5}E0XZx-64^ry7nFmXk);(9tOM;`7scp!X zDO=%}>npa3+x(aW;el=6t4*H3d8v)f&aBNwfgRBM9qBp`wk~SvsA+zRZI116BTVL9 z|7{`_x!yN>3Zd!bj9cWhQG80}O#F`CP1HZ{@9|15&Y%Ri)yw>y$A3SQ zor637(mpz=tsdz9z56+z^02=?@t4<^SADT@HYW0WFwyqD7hm^zw?B*iqt*M`#i@c< zC=+HDI~Gt&_j2%%j;{GPa~cWR0|QosB%!Ta$%KGBk@my?Rt`Cg`{&9|6|6QaLEn~J zsrv=KH0pdKpwJ&TBL5rM7kmty<~9l2K=`yS5UU-39azcpUlcd)ipf2L65b^+)<;xO zxt~(qw7RE@5d{rUlk%A;bx}KQ9QUl9kylVjW_(9v&K$Yy<`bTm5TaYWHlkvpLtPib z1-GF9PLrHg>VJ0UAPkjLX_V-T5oY@zv{H+4e`%#1=^jN7>Z?+Zi8=E6Qv(80lY<_L zWRE#-ObC_3MKb41o!=g*7al8qGk+Q+?+9mo+Tz3KC=LXe6@G0KTmBXOS^x3rujoq& zRsOqdjJ`?drn6L*8{hu5o!S)a6W~N5IBNGZDgb(gt@f+1IE~eh)@~f z!ba(v`QxLM%-&6KxE_v-r3@7|cKe9CXzZpu}`k~F?M94Xl zo7HS3jvg-Ku(v#0rJk-D9?4^!<2IJgXI{K;1>c;==Z(0rIx<8}r*czM;=;0lx0eA^ z+LI+yq+Sx_KU$f_fP43!8q_StS^0kXm_nKB(hvQ~w-o=EdSM!Pd7IAE*sB?Ods-eF zS1AYB56KdkZ@4n~M}s=|0o8lF>5UT%6`HG0C{Y(}vT{<5gmTB8CekCpAs(JH%5n(; zi>#uOJIbuf?Z)ZphQAh=AIrQi;4=JWDmqh6FrS2S-?)+&yuyi>xBpvSF6>ySi*Ou| zlMCyaWS=a5wQ%)O(k<>KKHAu8G9YV{=%0XcnKoK29mhre}*)-?)>^tlFxMy27)n3!a<86bE4QWEGq+#T^7Nei+*D zqdVu(02xzUeH$&E(1%WX^Ej{OM$wYZq78f#wVUP`z5`_Q?J!vSp212`UAz$R~_b-um5^}WCWW3!Y*{} ziy`G`jbIe_XzdFYP|2c;HuWI-P^TDj`YU^Lj-ka>3Mwdwl9gffKYeM$gJq|*JBxDb zAu@C0Hnzmn>fj_gVKvJ)uzPd%shR6n?nR?!uho1D=_V#WR@w)zDhc~BRV*_y-eyu= zWEHl`x6|{DbjI7R%a!$lVaW=GGK9My7zn3~l@5(0LP=G_2g@$17{4n{w}Sa!oYC*} z9~?hJQs;|B3n12xsxcPJ%dZGzATZ1VOr%-DpJ80imz$CA-XY>0vxe-)I{A8%vuO&`T@KMO_T1$;#P?!9E%<{^KF38*u%6~&V%^8+?kIq=is#bY0IAb~JPqj6(ixd;%U|r;XQ8dm875EM z@5I%(h3`n47jy5Q;+{(MoD;mu{4rPOm(o#^t>M`bNkN=HJG86Sqch}3#9RuMu0+25 zH#a}GKSol}GwT;c6badXzDMYYJ4sMBSDg5mRb6&dlNlY}&1p%rr4$X5cywFfRQ&sr z3RdK*&}vm;bVAAj?3i&8*xFQM%#y>qwLLy5F~k0*Ct`c)DHb2Q^&byo&+bZcxQ=ux z`y^@Jr+00!r23EphqnHYoH)8f$Ot$>hVA_0gZN+}W(NFD<_~;^Klp0%gBN4{c6^pf zK4%3=zldu!KO^bh%{ahqEZ<7aFcbB*YUd$nq7=7Hbk>9ZwR}0e@8uiwS_1-QPo_(P z?Q*95Ddpw2?1{VaQ!~|s2sl>d&;8|04Sw>R?HdH4J0}W>;wfqS9*3KL_?z%9cF}JZaxU*ZLW0{qL=3t^QEf{ zGq|s_r2466E|zBUR$QaTp>#8xtMahUIpEoA4!7Kl3%dt8SpMEe^fY%}Up|NbyXNFT zj@)?^I8Aq()Uy9a@(|Wir)AMTsXPgH#{Y5p5*QGpK66N2F*Ao;`SHG>Vk`B{4!15# zV|GMLE{B?t_a}$X)hr$r_mq`VMJdAHS^niLQ)NaA8a5PV1?tpmh<@q%cf>PAjHG^+ z3WAhXK|E$3RbA-9KRL*xm445QSBZLXKQP76S!5O=l67APpQx-RK7^zph_uaF55zbt{he*i(mc*d%Ne{$n z(43*{JHDiqmhMCKuFTNgVitjgYkc+`EIAQk!H@~j{QDwJSv(?SR3&~sekIh}cSKG4 z{zPpkWhd~|^U%I{&jR3GW~om^3*K{%|C-~m#`K4oH`@a$_>@U|BUWC}>G;(dAawi< zh!)!<89t%Ov0#T$;(B$z65!mUNSDd=cIXR5t7~D$cFX(F`VpRUUemypA}%r#ey1~3ftnaj_k87}LiNnVDF&OFb z8;Zt+zuT*adAZhvq@f%K___jeWP&%yH)W*Hii*LBZeNtKnuKISGI3u2v?Obv1RJMB zVa8b&Mgc{dE3bR>j(PgOz(ofPNWQup`_~4KFcL8e#SZE6)ZMn5QfbsA%heH2Cgz9VD%rl1bWlWc{uthVxJL8A>ffUK z`Mn=O^2~-1)qvVswHr4i@NR02f!J6fGW7YB+T9cOZJ>&=JQ6QCjeF#Omc!k>^x|>I z6bC|};?a_Xno{^bxt2iU!CH>Hea}%!XDLt7QM$%=-Qvv6f;xoPIKJ8%s25kSsYmGW5-pwq1Bls&)=ev3wfnl1(@%P|JRMize@}Tahca5M8;0c>LGIYE# z(G6ImSo)8rAA?M}n>;d3h;ANW`UUeI74LK6BWm817)g9eupSD&+s=wve!V)SNKnKz z9KBhBR7a-PAn|N06eC~(~hQDwh9kWrm2f`P`r<&Qq!R$c@9mS7!tWi6qQap+*Nz0p(d#`wD#sM0Y~0U zGXvmXRTZ$)xH9eWju<>@8x}A_{Z4983R7tiP*;&25|mCU18ep-;nbx^;)bCY_v!dY zQiLCBa_|g)ra{I#spdd5?)PcZ2c|)iDjDVLo|W_}+-QFG9scNqVz8sO1Ii7z-8H{J zDaB=KV-tDL6Rbq~|2B=XTxhInXlPKUDHCb2#PuE4C-6$5kwlbuPE9v`yjdEVT42so z(88ga*K5)y_3LV3QHimYL zvWn0q$R+ZA?(yq`f>+1EefLJ4PzI6kAarqA(|9KKUTmbQvvitxS~h_i-5rOX;CVJd zuCJa7%VR2%&p4sU%p2Na(X~z+3slnW_tkCKLTl<|b7SKv+*pRQvE(rFxkDL4x= z?~m!fCN+)o;)~K^GaZxr0`EQ`;;C`(p3WG2q9rzVqN)?&B@8P~e@uI~Oxt;L4cuL5 z2f|}O5)$wCQjYYCnXle4z7^e|zJL1Z{pn5Hh~0y;YL>m}@*UWRzs$vlX7^t~9#GxL z{D?HX3M?B{>Q#O9?27fyhT0T}kz`#ed0rFad=(?ksG}J8;g6Ehj}h(M{|pjPMx^WF z-O}oHVMb8imej4pYbCv>R>Z`9Jhf6|+)~!nO(PW1# z(>w#48uOJ{^Hm4Y<$QZ-O&J*;xnWMS{YS5{!_=_&#~lm0}ggt(7a9@JvTyGXv8 zd9Sc(bg{{ZnB2;y$9z@pHs*~3zPS|!8LZa%*$l?pJYZ|>N`J;NL)uAUQ*H+#k%*yh z0P(S@#a3@Bz?$;8jF^FJeb2~J6Q zw?6C#%xX@$>#%zyvd3KDnAsgK=I=(^g?54L{^Q-1YTaW9hRHbW(!rg7+3(7U70I`{ za$3mYni9AkWb;74ny2NeBzwc}fXVt0%`uk;e0#9Py{5KUtqu3vP`|E&gO$Mc&HDb$ zy=~_%z-YIN!2?Iut|aS4r-@f&3JzPuW}i&UvI4G1!4jhd;LRfRI(vP*)xSi~+8x=h zefI~B_YNTT2m4wH@s5=CUYs6(qV}}JJn%*bfd|u17PsQz=o<7ov9~4V%nEH72pkIX zlSNzF)s*|C9DgLG+iE97w{HLEkd%_J+c4wKc}2?EhQ1XP{h{#w6MvX`1u)?B4hcSt z9N2enbx#ZS)=){}&;cBOTqi}iU;?^nD*)PZ5U`cIYFP%cZ2Qx!&+Y{iX^UPB-Nc+% zUiHyFS+^aiU){Z&Ago58^AFsCB&jtPjztCT)wTO~5StttuYowUZ**4qzgv}E43Y@? z=xg%vJB3KBOM=m1(F4y~|CHuvAKax^qn1bG21pSLR@8ZzLI1hY|6%rlyTaL*_Oj3Y z2ge5N6we(b0%>A8qq8jF5be;Igfaf#Gxo%9j+wiX)Yy;XjW#{}p|}jcl`_B8*3-I6 zuQ88@4I6$R^HT_({(c^<52p_HytO_tN}2~AJ-l3wr-mn4+#2cNKGC6z`eZf|D}cV> zgLsr5ycHt*6{^tYch3H(vFo&f-doYh5Oa0fSD>>PoU-*Vaff}Man?J;-2b=NSL!wr z(g1)oQA%PhEGvrY>!oLEw`lUj*Ay$yjH3e4&;ZWm7)W`*_tpS%QjodPwZ+9aFcq0^1*h9Rrk+=e&~VgG1kF8!*&pUn+_->k10EB}82@iN|m= zRp7<#6_{Xk^;pL7KQhn%kacG(wP1g)WJwM;jMEd#h96QP>F6%kQ78Gh<=Bv*9PV2$ zo!kYroGpVk^=jx23%^_VlPA36=iDEhr9E$%jtj`Qa|6O-?(+XKXMUvM{$tDzl&TB7 z)!O|g5$<5WPy*(Al=6rb_S*zp=sKR^;6Zi_ttzv(4n?p4Iz|*8?936&PDs=@ykvhJ z3p)(rA$*VX+I%__lmPkh)F`OEloB;a=hpU}G>lCK6~k;4*prdXT2D+D8kk1OX!`oc z&#v||bP5<7>qK?w%zqg^7~;ww?D{Q4zYcuo&WoH0w;;!mS+8HIa)9umU{%X*-UQ}H zhS>zATVq~QP_Os?asAK0!JqMr4sohywwksQhsE`cO|ElpWdLfq%R7DQh zki5b0X3wx((yN@)WTwQx`r9eIW$1IqpNwyf%-vi%--op7QN?(47n-8c{iB$H4IK8h=NF?ZWd@*X9 z6Bm}Dgt;_u?@iNWpP>|8ak#fPpM1Im<~K1Mja0PxI#yq{=V*cR9(K$Xb}@mjR3lAG z!J6Z6_f%G7u~U`^n^#5nF{_q-tnz`yx*V;bIzVJ?K&OQ0`KkP#71 z;h(q>Qor8?4^w?-xfxIXxMouoeDoy!DQ}MXuqp_Ix~~UHPB4!7C3)nK*x6%coPc?D z=$iQtC4h|Y)79KGS1qgG1h95qaa)7v)yPFP;(}c>)=s^U37RHkgd9h++C$DnddX|6 zWJe|W6%^uX{8N#2kk(ZGy=M2_bnc>G?xv_RYyJvdAm0&|uEm=JecNdMA^ORC>-tiD zx@~g68?WmRRaG*UjvytjMr2LRfZ0KPeN4wu{PlYGCi}(ob$NqYLw2Hg&lellI?=Zz zjX8(eHp1=nw?$4BT+ID@d@P0^DEb$DM>hHB zO!*%kRe{Jbz&q!YEaE-lNGI}vNr5{bsP9LPomNGASd;@?lWoL@NI3rF^p5oW{-Tr+IHpi|txs z76|agoCrJe%qvOP@C`3WxVb9b_&hn7&=;Sj_dd@Qoz$7tg6Vs$tLbqjvR-HqYb(pH z_)dDlsA_(gyOdI{yp8@Lu#exs55tpEB8fK|V*Ym;*{y>n5& zk9tZhlyKr_63HKZ-HrLtDLvmC+Ht8}WaxJPlgV`d9U4B^_Rl3NYcYkBJRg;UDF*^K z(UH-(ST;SU2cO?ngdw57 z@S)3o->JIWw)D={4@wZkuLILhQ$=Ll7c3t3Lgn9P3I~DqTAab*{dQS_>KDnFC^=ud zU8OU~VtjM7B-t8(TdwVIfAv%GJC0w~`SF+w45G^l2ShN&$`YwRaiC$+`T819x0)G) zY{$OBCT0L?Gvf(ISbCHdsnG~F(a#D1S#ImysmS6I>OfMb9}V52<)+|JO%j=+5lrMv zR8Y4IOEq9bB>;`7+GY>olpB>S_DH5~C}oJ>g25tN6Wpqcr9LITQn<;AN(%)OAB>}R z<7bgB5!{?)Lw)gSKtC8voyhBG3>6cQp=w3~>6jtqc#Z}-+*E32Fy0zTOgQ!4@MvKZ z(=s$4=Mv7aQp~#AoLV^uaXCEerPI)k@dH9`t(`Mf!Lnu+9VNJmrv~t-C(CT-B)bcR zV{y<;Qp}10zM3wX_`=QZJkU-|t69ZBUYMlGh*!l{@u@LCyQkxWLF6?9$aLBhB#zE= z$XuA@#=Q*wIOSqiPY#;h=szTPQ{{9?9172erC_wMr4g(e{J#X%e4%bcw>X1rk9?Et zd;JQK_pta&0b=)Mb@E489wgCZsxFKR^g#)!E?PW7FK}Anpi!;K57l39kmfSUQrCVL z7DH0~gQX5jA~OLX^Ne{yq+0(OY7BrGxoAQnaCQ2HrpDFOd$sbS@lv|@7>tQ4wL|;} z_k-02PNSH{>#7mBnmmzx9B<=)gq%uiztvgYGR|t-zuuPp3dt2IKaFqy$m~14ipsRu z7o0TeM1fh*`rdqtm=+!R`;TL2ve3jLS0qN`6_!%X7>H*79(?k*)nE%(OJQHB7~`7N zct#gj8qUXFG}YS2Yq4n;H+C1U20FF>{sQAC`VQi2#V@tRs%6w-OTgP~eQ%|jY(9B7 zE}6lmzth#z0$|wKg3PPu0SDdv`@5%bw8~uM6MiD08asBA>J0VaEn>2@=p?8#kgC+_ z9w#h(!uf)$f8NC>MJ_8TWF)Y2^5+YkEQtcz@^T5kzS>u7vg%vf}x!4~U+<&--t+ncunSSXyitDOg>RcIStQKOFd8bR{pj%@+)goW&@(o>&b+Z|QSI28R*@%CH02*%ETvij4)rcpbJ!b5z) zJs7Xrkb&_rrs_3@M7kct?!oCw6xJ(uo>nGQ{QiCOKmPLcr8O7GFw=d1HoL~Jk zfY1c|I>AI2`t4o2f*?_Ayimu7k9JfyTe?P}wq~Gn=`0Y$;SUJrg#t%7;a0iDi{Dml zeg3JA7m`+u8z|QMQnmy;B7Q);Dbq_iI6=CFaCq|Z*ET3o{LhMOra8 zw(jY+s3G?h$mt(OOy=}8@R8g|hAPfARpodmF8U(Y;R(I8(`~7%@@LVFlUa6FT268} z2#Ld!X#&1xZ%#hr_+7&>;>=ELfhBgp5}U*jLGjn=n^O}U|F)i6WDl_l*nYdopi_3d zh%y740SGNCKcCqH6c~Paqkzn|z=BWYUKn~e)Fg%4S9vU)vVsA#MH2LUyws^l%~55G zKnuzPy*0NWM8N@CCW4TmlND@xJBqT{jw9;n_I0h*zb(YMm(goat+w zK?h2Yc`ZSEmOGh$<(WCofZ}B}`WxFeQq>Yrthhx%GG5J43-}p8*q2J7Gx69n67nE7 zns9FA^QAwi6yU3puBFJQbkp;&HmPlQMsWxX(^a^7NR=fM9|}NY3|G}j0Pe8BY470u zDqJnJgD+6)5Xj^4aI#j=+t^QNgXMV*&;`JK#;35sLj^jdg?NHzYUmmHpNs*{mtBqZ zxV5l+K05qSpaXSQbdZf12`!IYIIYdWf&bU6KQ|9}y!kwft-wxza48m}?-+3+eUm5e zRjbi1P*fCsEo#{_I))*bc~2aT7KPY{MAsR-%(Tt%49fwq_5tjF17Fc`aXlE*-Pj$5 zX?lCOk!v2R5*;M`woYVr<4LY}cSg~o4`;oNF*%0~4Fq8vjiY_zIi^jsb7T}4cV(P3n_@< zKxsbYLX9b9o`NXvSIO#*+k(c#G}6K}>26|2Ow>4@qachTO3_)!K#>U#fDl?uer8xf0N{^Q z2T0>t?9ftZkSHVlE7>N^j^pVut|k*;gAl&+H`=h)WTqE5@f#?FLMc?M&zTJ0%|Zci zXmUF=-IY50a^FFZ$koGduyY0FhImie!r_G{H$yKKa0~Alu>>}==%|qt`Q53GrQ|s! ziUddX13`8GQKIc;zM5c^o>ypU&Bl&BOW)@b4*=xoWUCk$EZ-oigP{w2NH6nsg;{M+ z2tZETJkNz@hFN~JX(@f8cf?-al>K#4Z;lKu7TiA6sE1*}iR~7P63w(y3OxIAjbq7! zPb~YzIe2Rjzc^F|U8xMgh=#7-qlk(g5mkS?E)&1*dURd;javeJ^ZwfnJ(cQ)xN7)| zO``urbix2^w|r*c|Ho%CdL;}qQE;nAGS-{s@{#{<#p?g#GizbnPE@2w^%&Te_N&@= zB{H!RPB`R{WIieu%BI&*KU<}fO%fqbQ+LZ}#zLIoNcH$?t5-hjlbubLIT><97`?8C zD?l~&pEr|TEo-;%By*a?Nb~v|w^^y8$JGy1deC6<2Uh`g+rvp5@+VT=UTBiQbG^y+sAxYjQ9!J%o+bx=tM&F-iOODRAGIQa`%XLROsD z>PS|0pYKj+f65Sw8+PBExijxGicy>1e@zN`Ot0*WZ4XI)N?@9Q(RcmhXg>4$yZcDM ziG0cM*9V)&txT{4qQp#P2&vgj(9RG?=naOL^pCR45W{DgqpjG37E3$ma>c$~6l0^= zh$`SA1R(lrzmW4O&-Xh3(ivT;8JLGCWII(tMPNIk*_#0`!gOFY2h-0#;(x?92( zk!Cdy*&D6j%lXo&jr4s-T;&?2ePbHO4Dzc_C}8X&>fiAh%?+6 z#qqwn=ftC`BjtTqdep96<@Jx)WjGH_Nt+Z@$t!L5_+*=`DmR#-O`E?MFA2R$d~fD^w{tB0(Y^z6Hjd27$N*~TxDtKt}0ce&ngVJeUbgF zU^4tO<7753kw*pOoVIyLHnlDy&pWZQHO4-Mh_vCHCMR@SVeMhNA)6v2sUh+4X^)lL%?@ znAp;8gAwvABDedAB+66`Y%B6Iwt?EM5Prwad9Iv-p9lbGp_S0op}k{m);v;dM+24^ zq0{Lns=?MY+ zp<^&VbPQlmPIL&A@ObzH&KMLlp~~02qb^LEPS|pa3NBFUGF3kc?$Q=l6|q>Gj$Y*) zBUS#cWy!|6ld=J0z36JyV^@-Upr#4zE#KG=7(mZ4sj<9F{L83gQ!|{^)BmQUNUKGBA47}cl67T(` zc$AR4u|0KVi%beH3)V|XLe@HMh3_DBxvyfz)!#f*0 z^y)M_03)R9Ss6+WODuX(L3I!B_)l#7E@8Ghh$^x?yzx@L7^0>JG2{G7{e%aeAb}j^ z(t$rT#tUfTqft!pB;FxC+FNmGagn50f{s^bX+@igj(~c8ajkm%0uS*FITw*1mjE1% zBA10tB7?o;TQK8%nt7Fw58MOivwNEIF3dDQtV$euHr~Z-qLyd~U~82PHA{-&)NzT& zY&}Z7YFa0@+0K*msMhtL*1h&Hjnit(_P%qpsaD3QrNPG&W5$Z6MP*@NXaJot>Me(G zNRkF*F7YmK$H)dZY0*2E-|lSByA(7weO()x`RU$L$`R`R6HRjhB#yRvMpxBomWNrS zM#`_Sg`2E~RJ1-GK!m1xYW1UddAe5Ssl+>?JuGp$yy1Jk73OXC1Bm{gnM5xv%qxCs1k@lz4~7y+NSM^55nZuKt4JbIbgYaq3lSJ&y(_>kakruzlO)M%?MZVMNg}2QVubP#p8mUq4 zJt+h7Jpml#kyA?*cO{_luhrl-y52XE;fl^e?z9DQ5jPb{<8^Y zfL7UYDQlUF1LC`nwDM4BZ^o^b`64aq1HGkQJ~h~iP7D!GTNX3c`M!aOi;3s(BrA_o zG3W|!&?AT@x`l=BJ>xgdkzOvto<2D{>fVLr|K*(99SRnp|uE@qP zkM7i6558idA`f3bAwVgKd$pqPu(%gWAHK|$$^jguEN(Ufk3{nv8sHh&6{wAqdx$*PmYj8#95a_n^p7BN`Ur_!iIq|s> zU2~D>Uq*iQ44EweQ4!8S;_TkTtoU1s<8@#@O19&~>2<;|V7o{nUKD1}lc$#4OMBu3 zo{zPuM-kdJyS`DGa9Kz9UA>p+iWgOR8E2g4($D4uqFKeli2AlE_U69m?@oL9?QoN} z{hf?vpazP`T>}jZUZOdS-2HDZ=dB9>JevLK5B0fwNZ>zcL`0x>{@eNZyvPjLB3$SN z?V0_x{#o}6D}=@h4-JCIrrkNCvUt8F1o<3C_VDCTHCBDb51^L0i50n5&O_S${!*3( z?)?HMj^yu^zI|y<0L56aczZ@~-H`urJuirQd91-y^uVI67uH6Ceww|C`WIb8N>*Rn zW!MbLLl^R~UdgnnWoJg->@cu9UzQi*;uztpGb&du1~(Krt(10aLPx=tdAV?;wDYI? zg!T+YRVl!+rqj^nK%2nXyJUMFLp83iP_;*Y&2w%?1>E>#I1G5AAn|E?Fe^qY@7;-t z`1Z=JhE0m`oP?2%Y%r#6 z^v$gog7`zaW?9MtlOBzXMU{oBRQi(>U7fBnT@zxn>N7=3lM{Wi=3KG2;@UQSic=<)HLo9*F+aHu5Jr`HY@K@nXN zoF6@CrWjCECIOF}9k0$JY%r2%ubImVX)k_7rq6;uBdO)iA&ZAkg91GD3K2w*P!h(6 z@fJbMztmU|+#mqs8gZDNGloHqi6WF%-stHvEsN;c-N7d`8Yu8mU5I#a3|Nvh1V>_k zCKWrQV#taSVzgoSMPd*TMBdJmj<@-8NEcL~=kbK^#5loYnf+^pkO%PI!&%V#5QA6Q z0Qj8jT?7$#Qq<6;3$tW|xmAql5g<84$1#`5sS|`Mq@7Qsu^mNtSu&XADJk}*ic3w1l-`GS<`P50{H_ti1>SLVlcbjjT*d}<;= z7J^wt0GlN?kVGPzWU4eCJcv#1Dx?xCKuqEi(WDOA0 za@1bku^O}B$4j9KJE?3K8rHLb5jiUSB?GxLam_^9IRq@e9Q+f){p*P3DkxnG!*@Ox z8vqd?d5b_!kV3s9!hbPDX2E{|vW2dE{Q%LAW=QE85cfftp9Eu5nr<^rWEPT1fL$O? z-!E6I3?X!t!O3Ac+{Np1fn3qWA+)rEc*<`JCPyqZTH^)Yp(<)8t&;jJpVk z4Hg!$LQ>rGjP#uR^Hq)o7UnG<&0<+B@kAC9pNk}zvx`c2z6~o(OQN|WQ8FuE3VmFv z-vCn@gGfkZt}{KS+$q9T8vLHf{rOXQ@*2Z|p+VfrMFFLA4bS|yNIqJV-rvd?SkdHr0J>n!=c?vR1ZKd^v@B6;q6XePR`9 zMODy>lyW#bXN3@K3!H`qaJCh8UzfqUVuPKH3^RBqURN~>i1yL; zcZ!Nhf#3H55iwRMSp+@B)hAtZSz6~W@-*a5B1E?e3RB7)iS1vJnIWp8*>v!JE%9NVOINDNn=yrm!^tvxCLi(VsUAmkRUF(`LLpy z`E4`Xm*(aoa0;2g9Q4+512otIL$Ji?UhIk<+&jEJMxHA9cgc8fBV4`pYPtDHh`QOk zOn$DF!`PEz2H>JsYu*Mh$L8?`K;UFh3)~CH7U&T+Wk#UtAQAZwRY$C7v}4Tyz272> z0rH=LYH$!60EoP;knG&yH{njimzs7lY()Ji;?jx(Bw@kZMEzHyi7Dshbk9r1t(R)d zub7R=#D4}>jJ{x)A$#Oh?o0CWGqNrHag~Pft$_L21*QRsD0%Nh$;b(*!9ia&hfLd!a+mjWnWvS(yR$+hAOh~ zOucqm1I<9$Fn%beXp5sr~enk5DTL)JnrAI-`|tU;6LlvOnJKh4Q$qt=y(@A>OEO4&Kw2nntOXRe>ex(Qw6gM+1ZQpht z`1aki_RzP&-dnH<_CD|wjFf*%oF#i=R_XQer>ULaQyR`mXAhZEwVUjLQ|%(}r|jOd zZ|C$XQI&3y=bX7-2;do4>4e(ek^X&G$U3IN{QlST4~%fKr=;0LaA{2 z>N6<9>@0^e%U}4MZaWC}w~D2rO&q%)0(xswK$FD=mW>KedIX*coV*$ zyZ(yfoXfg>(VOjlv>&ZsX#LQYQ){2{~xHx;u8j}Mwm6P;!wU<xF)v6>nv5!-Gk#&)p{*+kYz_ zO!L%iyvpIY$z9@t=QiVCY}pELvW^inm#&%a0fQAcybTb46t)*TR#3`a;ZG6E;xJnS z#2(>}@F>YUgYKOmgkZuBdUg2l>CU{$8mO95@AJciwo3TVpDFGvkq2V1Q^IY^KZI8xh{$I8YREN4y-iYrlfdeO~7H2{#)hs6rl^#nqUNlH83A z0bE%utp9YW{vi$B=CR!(_gG^!CI*YZ{(eZHJH(KFKa72VQ2G4q-OH>_%Y`V)Z7$`b zW1Az%X#zZKfC3*^!@YdOWqe%8ECA&cFi~A*Wy|2Z>lpvQL;ArCBkgZ;$yME|DaQ9g zJ%ta}ggnKL74Cw8)<1Xjk}7^k6na7)7o{6AN8z>eJ5G35RkVg{`z9VSp$UUmpCVUI z$=wKP2B5D3Px9Op?y?bI?EJB7?)@%4SL#?WF-^7oPzQg3> zsYO(bh-eTCpN4l8xwen;*vBl|UR^d+{kxZ!*JZjF#3bnboCHvbBSdKEB)zvN9j0;WW;5}moaqy zW2A5}nTk!3$pZfDd%6sM*n5_v1Defb{ufO@xjmK+ds~6hfj^_nVfe7QpO(9>Uuq&3 zEJ*M0$qb{rJ6Y3tTsSCZQt-HP7Ff|)q8Qp{iZy&@+~i-X=q6@f)lqDWf4Co&SP+AK zW$SYzJN2G~%4`=+I(fWLS1G^v&_Pbxg|aIQPN^?AC#izHRQbrwo6BZ6P5i)K&*-CH>!Q3jPlBc9Wxo%Bt z7(yE|Qp!bSZfSv{T?NSTgzvkbuX3_hdLJ1xqKC-@NtWiAF-qu(DSW{j zdX9myJa_2o>12pCC{;A-7VI;{Z8>Pb#(jzzFaLh*(LtB$z44dLo@95bmpw`fZe~Nq zoQiZveEr_aBMkEpLVLQ(2{kBVK9~!R)YeAfN{~5w2G={rXKT_xT;3x|J51G zwL0YwqmtUrN>X5CK7O=ZG_ZcQr15~eFYmQs&)M&mV}&ovS+v4fkS`9g_E8wdZ@+~TR$C|Qpu*Ft1z zn?AZJyg+Oe=|$=|hd*>SuPQ10>1`79c6Y>q6iWMHpPW@Z#WgqaKIBjGGPe`D?o>8E zj{P{!=rD$`eXb;^QL)bz-IaQ+BqhZZcZ4LJiHQoy*T|yn8ClKHYLYnU-)at1G=0?% zMM&P?5j5XNvZ=W?L;RoV2s}z=^X)sB5Bb1#J@_`Ro8o(JQj~h|EvD^FP&L?%xO^AmmmvId ztz*)iwwZBd1bI96JDo{I@>;AqluLIJ56cgmU{Vev@+MhpGs7z%*lxVJf!sUOxZklZ zMyZm&63Q@V)|95@?nIhGah?2CkRjP6knt_8YeH@$yGL%&=oeO!*G{+>%+T-?s#IWz zBaEmTLK)T=&LHX3dg|vEsi{U!dbEaf_Y{jh?_yC7Pgj<*@WcYZ79<=_U1z6Vfif+z zbPswp9Bqsw)1254$JL!6_x(_-uZEAv{k7D%k8$qZzv;VvNV6M=xTyMlK*nong;{7O zeOO=Tj`mesTY2RYvV)O=JPcz%DpSYA;<%JDRCC`vO#KoF+4I`gV%YpC$;GQoq1FN7 zv>D@iE^pl`>JO_JeVCE;mz7SnQOwRO*G%8DTa3vzJ{=EVPm?dvE1HFrpqWpQGET}e z!~O=|MJCyM4#l!;enSsEJ)whnOK`wW8~YsM-7TtPGBP)6Gnz`z13amTgEQ_9yQMG- z+DV*6W5UQ$AA!#)a9+|n;a(W3ia56ROHMoU7$ZfxS>2rmZUCdl*|W8B-^A&XN(C zZZ@ZyyYuvavBCOSOUsE#40US0C&fo$+P7IcO!*+@21kpI{=TUtYPRcHH#bs1>(5l` z8Wt0_5b`6d7N5z`luBoM~|NG$d>X-U+cd z^zKEyCIha<`K^y@WyXZpi1=9yRQ>^NaG`NFOir;@bm{*a=TRe#CksuY&i zO=scm{?hg}bMsTO{xCIUIKDI@#f1)h72CZ@_vjS1_HT#Lf>1;2$%KNE(-m*>3za&u z{Mb~or+yYjT#ZU*1V>n?v??z>iZg1=&uYu^O55EIxr+dT5tYCjoK60&V z{4$TsI{=okZz23!Mo}CWhUp_B&MzL?(h?DdJ#c#8X=UdZ=@SE_rbg}CvjQ6nv-W2x z)7;?#{E6nAn9(v>u}}u z<{KrMEms_ikXADj^{v^zTTKp&=z`7`;&BLs}jx#Le1wBs~UbL0Dvhr1p^5 z$%G6trp2w{E*a^#Ac6!#&`+xZ*CZV`_9AK0-<31k+)dc{m+1_VgtT#`6V>$e6?_UP z*;@gn=W;ZoUC`gUohCb^rHZ;-S5&0#oW6`&Kz7^xbB&g!KF8yxq^+zxkMC zLl;yv)^VkK^;e9wo_uP7s;YGj?HWUB?=Dq%jIj*#-JVH^f3@9lJ97H+Jv*5RS~1^j z;p!XBs$t6NmP{#%^6?4O04ttF8QSIJQoO+hJ?R6}dd;$*}yPjCBi6zLo{hRjM zJv}B3=SebQ>v6u;81v}b@XOhH3x3Iz_Rlr?DpuXYO;c(`?Lngk zh91cA8u*+k#l#4!Hk5ATtr-#*Z6{BW=%@H)qI>#EGkhr4#UVbFGap&~Lu^bD13?pE z+hT06Eya&{sm;E5021%q2P;tzPLd&^g)n0fyjVdUp@2Jpvi*lhn>|Bh4Vi zAlI}T4&&q(^ge{^eS+yp&UyIVUv9Wkd6LGwP6jl0p$w7o1XfOmgWSn zA)dOoU$Qs6WSCq`cMLTO&hGg+L`K{LB{BNhlKYcHU5jK&bw`hMcz@LSdb9|JAs|c< zT}J%lH1=g0+@bwI@l+K2FGY3J0DOzcGUR$Red|9Y-*05PP66(Z+a*DK&u& zcC)YdCTu3|zf_Z*>N*V1VyHB+Y%!_EqJ>Z4EJixdf0-yM^dM>a!VlH2c`=`@bl4Rh zh3GxH76pc-JgP>uFa;Pq0;9>MVg(6lM<&#A#zEB+lZT-XV=gCK{3f+rPwan!x{5K5-VSA^!2q0{r6=Ha3< z$yWr`RAvirXOeTp-;o1}a5LXjr`FnMiXRaKy_^jql&gM1SUWMA`?VJTeHryrPTu*3 zETXQT*lRXl!W7F)6hdgRHrFMu9z#G6B-%z{34diRm%a;7jrYciU?YLED%p#cLZ4lolN<(+DktvMn=jG@~rWnN-RZhEOO=%LPU`Y~|zf*2mF8Xeatm_&Mei1#9C1 zoL?c|(^V~1Kq*EiwCYqR*po4wem)*zT=uvPZ{Nl4CUe{M32rnMb6%vmfvdjx!C|Es zI;jAhxt4Kisr(T7E<*--mL57Nk$Pg&j0@|j}8 zNZJTUbCwxCuVgiZ?mwSV?SI^@zS6SX%WPYP-$>+GCU{J5dvX&iqD8>tW0w7Y!srkJxVEiJEt_*FgFS^IX4Lyw?Wh$Le*ihUEtiDVzA zASD=E(hFa~EU$$ft})U-SE7CX@OD+DZG}|Bo~4K_xb?AxMyTy*zX<(A%lVLTk}j|p z+qUdbnLCrz6&gdo!B`DoLPyw*f}aZ$S+s}lFmEU%Y(Bb;dd@Xf%s{#es-R}3(li>s zOEJU#TS!MwrPtZFF7sf}FW%e|?{dA+&xJTu1DrM?GN?5t!p$9|jN8u_;YQ}yHh|MO ziXg}qgX>1vY$<3Kt!}ZcK8psywgMLyiw>jk);5klsgAMkjy?$>r&);Hs8j4`?0!6j z7mMR-VUnOF)28bp-ZF<<901L2`D~4r z!X#{B6DghJ-FM>>Kwa5R*6xAi`@rHw%D(DljV z@Nd?4;WuRVXKnsfXt^HZpN=w{7#iOpvos(aZGGPrbLbW`%ClyMrNHjy=32)_MnIRb zP%W4E-t94W7c!5R#oPP8-1jb2S}JLigVPvO;2#_r!nUDt;}u?I2Rub4az#uOpA)V&rh_vqYL5h$k^ivtXLiUu~rmc;iih>{K4 zznl=w(idv?eEQ%sR^8$dYUo;B4I*p!L-p+y%{PGT_Mclb2;Dc=2oHAx=+3p`AzWmJ z$q;g>Ay3fva@xMYvzZ9xOepcVS**{4`)O#h1mt1~3rln&d`3w%^Ge{m7qz3OzK5sq zmX{Ok1@*V%D>E!(2pQ3D2)^9_D^Z1Q z!7LDIadww+`YJ)J4Iy^;H?|*ruX@9CZ`*0o3-k@K&+)_rC4`?TRqR}pSy#|?Cv)z_ zx}J2Tvx?gwHaOGd+<5?3PyYpU_ac z`IX~emrfC`3-b|wa4Ej$FJAdshWIsAgWkOI&2>DBpE=LtxlACw47WIoVewC}3auIU zkMp?1oc~oga-o#wwdp53RsF-fThD^?d%ktyMSK-)K~NKNhj(Fwv@S8DZ^EPl@)ED| z9|V|+o_t8Wq>;X8Yq~0-ds{X_{`+oP#CTkVjRyW4xz6=Hi=+Fm6nz;zGSdsa;={k4f*&K>FHLM&<&-2dHLsHaAF8ba zu{>AFA$R+f?ck3e0|%hD{Z)a3Kdx7Q1V(sV_5V0anhA;!eLLYB91;>ZRXi9B^D;Y4 zsyyqbSV^QUi2&nnul)nZHG`(_{4QKzKTq&K;^4Dy*Q><0|9EbNazVBbm!mZ1W2Ku~ zVyrsxEnG0Y0NEK%N+<5N?P2>JOL}n>i#}lMjbmWE3{XpY)+qwNdMW6fY?A+Y>$0Q^a25&CcK5DeN=u z<3Y@6dGAwJWm-M4WX{#v7?fdvlfG?!SJ`P!=_kKL4C@nYycy z=}w53Fq8HYP>BI$N_`Gg>-!OI|I_Tg<=#hhlwcmem0;6z$N1{)h1MqsooC;@JwDwp zwP3SqtdskwpM+b*En*zw)TLJiAFoijazPe7{?617h}m^^G)ev2|MlN8L@-djcfQau zKS%gna2>)S$YaarVlPr@pbumtN_v3Euh-^Wj@wL}a0~%K|gI-8(#e1)o8oe*3*yT|}S!<1P zXdnlSNbo7R^<=yxNwGi4`AHZ18+TFebYp9h-GV~kW5;mV?!`zNwDNsnhH}wGl6j$Q zce{ndjeTlH|MOj_+5LR}lFA;$9AEZF7x1=@is>l1v7BUFE`ym`9A^9*z675-x<%rVWU~ulOe;_r(~7?ltdX9(~GP|6wYUC zV_Q!aRX;sk|5Y*RA@(~MuVB6${$#0c zh?emDa%?!~>zH+6wMyD1`^Q-(Epz4bYs#bLiseE7-wk1PD!Z+6tb&J;uN1Gv{`UO` z5_mQ1)$*T(W4!5)W+f%X7F(tG^TqCGpVg7L@~4;U_ah7yZ#EbY=C>7|+2iYX<2**b zoVEETvkX-Q6EPWWYGA&PdD;ZVLBgl}xMc|39b8xCkVK5{P?foV+(Ab7ZjjQl=RFk| z!XYH-hx!gNFkgr=s+&N)uMrSg$@$9Fn)J2bI|>&r!iz3O*`d&mAMwJ3ZsoQbKwo8M z@ftn({U4BEX|$#&WmuXA>qr7tEsD1$+Ipyu>MH3AD^bV2;bm4LIF4Ab$qf^^wo3Ay zS2HLA9;4LFNYsWcA8R~{C)-(N+Op83y%Y_}xzeP0V-baKj0+D|!ycs4YmrZnCHPXS zRBk#EYHXGz4sd93^7MD>XdET5>aEjNwuj$St4?~qo_3&?(WMi-f=_7g|0Hz52$CMRh|9f`Qqi9n&RFGem)$07h<;|)4TOaj9j}!-Jm<5r zqz1?BvOyk8aS`h!na2;AR@gR|8xrfX>4Y0X32oN6WNg6EeD^sbHnMo~qG!9!%w$04 z9io`7>G}hLdm87Kj?Cj=mFnf%r3G`&2aHpb(=Wc#ucBy2J>hfi-E{;~CT`Dl&6Y?b zD?!U!N=rHmaaneVHYq+YjDS_Q@EQL!H881cFJ)^p=4HtTVZVaXr&09Dpr5E-_aASQ zl|6g~gH7!G)^rX3^Kys4+fgi2vF{=4RoaK|MbJIXR%sM~(!Jb@;F?ZUXCKlbxMH=>ELAABy*!HN z?6W?L!~Xj&!A&t=!B2A)n zQ?iz9SZ&*{F?{Od{w@4R8mx18F`S(91?G-dxIdrVyl~O%Q%eHGpvXHi@3N?G@fA_F z5`bDVu?KA@*#fNjAA%p+NNPnHp-mxDElRnk4FVD3K@x$H9De6?ZOE!%#%jtVzHjZs z2D`?FP1CE^=Yb95he^*KNTAFY)5q<6M|Mk#li2M%G0>dA`Oz=^@ zesx2EH@gr*)BbP`x@?wb6I!(^@& z-P07_hXAVuM^#ZvCJu@R^M}44$k7cR9l$P2GZG9LdNlV%AD6i@giX(ajqIL_G%-1J z%9GaU;wu{=alb>{14M!r%M{Hi{^%S2Gpt{El znmjJ}>r=?nZEmjj?=y_F9o!v$EwhGrY;vXBC97~p`esEIiJwg3J2pigI@~LU>Z5kI zKYJgSu2uyAo7q1Gd3BNigvoWB{5SKWA`?-F7tgYB;_4Q(9pHjbh3r`LyL;j`a2>;! zOiu31?%@MS^1|AcjkH01Kh2ErNA11kwY8Q%fCFeWfTQ6)+hKbP?LuZuIJX{eC#is* z8%r;PK#2(K-H(1a{YS@bt~6fp!5{h_9qN3A-dh;Xyz5ZSy0E8m^YwS^oBp?F{m3x( zbBz~02wdG*FL3X6<)HN0QeJq(-=Au}bAXUMS!cGcM*O=q8V1b1oAF39tnyde_so3}egO(F2y^KMOA92!I7v4=Db7T05W z;z`;>Iu2yKSU|Ii$xN9S%|hNq#Phkgi-rdH{i?}FPhQq(S{C0TY8=xPeEbE=;8*(_ z@Ur_o)UO|g&$oO@ul}C`*Z-!T`dOfFp~~(zge0?s-~CZXduako-cUkDKd^Wgd8o%> z-`R4=NIM64%B!{uCbisPu$s5EGGL~%zi8Xj;APW}V8Q2rY4vN4W|YhFW56H>tf9Zs za!WfGnB+l1BwHN{Q^VvjNq-}KENY8bQ#AF^OOr!GUdY$gO z^a|snuqYo-ZoRK7k>oG2T}X!id1&jD#G>JUJdvY}O3 z?{eJ;iC>@;iPk*;F?!G0iAQ@ihivG)QVMd1*p=kxfCRjH`U6PyY+3}00S*K5n`#f) zm5E0sV$o9EGU^-(?OONGH6=x~c~oEO#UAabkbM0WA)a}Z0v0Qhrnwi+CXWCV9QN?0 z0%FX=x9N1%+F1xVNR%RTfjNCD;7C#Ykmu#e$4GJv%<7k(6GKWSXC~thA8!)jU@z!% zhjtjo1BQO={a!Vl0FXLL;M*pVbMlw08Myoz=CKC9X(`b$AAquJAn8XWOY}%U@15DH zxyUvwC>S1tkV%LrQrl7^3Yoj>dwzl5IWKTMI;u^&ADhqb*wCJSk>{h05Opf4rynq)ui8{MBF)`*)G}8$t`I^`&E4F7~3i z_qcmCRq7dis2>&Iv?hAB34grzNO<`!p=fB*6-=*>?HuZ zfngTEuSog6W2v=ZJ{?ukPq|0c$44HxZ#eR{JR8tU1FoIB3S>`(|E)T@P@am%D($F%pv_r zIfelnRz%~5NB>0u0KYp1>Y|kHODZFtI$_A$8Iafk4p{{pbzB~6=51eWm>&%CZ#i5t{urSkYD+q=05a!7C1L=#zxyMI&wOTEfvg{$Ec z`&K^YK01t$n=@5&NAP_tjNL{%oCs4tqFC`wRh;N3Ms8C0US}0y?SD2^&78}MKCeRL zD*1^p)7M64t(wUg(Cch|rq@iYBqR}t8WVuaMz^cf1{{^xF|`@(HY-qv@PQh?AgH{9B*j2CDK82ipkWqh z%90>CYA`n-Kn&;AO&2OS=A$qQ6vBZ>aAC3yVe;t!AwX!^*c+k_0F#lH_o*tZ9_?K3 zwcv>XJNb3I@HVMaZ8Ji&X#`L>1;S>4bvOX<5F{811?B=taG*>N<5)eA(&h#TtMA?B59+nGvqks+r;%HLN!}Pb%4;z9&M%c)6sED-RS3iUT z4j`}$t;hq`RmZ-hqYo|)3aW|5!_aFy2}X{wp`J0Nkci+J|3}gYz@e%~dIEP62)GQr z?u-A-2Ke0<8v>6wHx2YU_rBxjKFu-!55o>;U&>2@a*^zJM`kfIs%1`hyczUnHu1M- z4Dc77jW5F5G?`llAx0k+c;tPVi#w?Sl8l1N8-lJ6Asht3%=ok9Z3o@ zJQVj5LXw`<`&t-4JfC@_@R#0w3-_io(YO(@z#SnU?p^5^KkS517=3qb!6RTq=ERr$ zFe;5LIvwg8M`oFJ&HFCqUSfp>F}w0xdGAC!ZG;dq{nmo#9ELM|fRmL8E6~o2&j9%D z@ZO|@iulm--L8Nc)y#WotVy68OHoutV4O1!+L$4bk!d-RNOG77$9sb02X_zcS>RtvcTRYF03m_m{r24}{raez{AW>U31LKrHTmvRQ{3Ixgc>Xwb zHzLOsZ}D?U=Jh~XX%}Cp^+xfjUDIyY`@x`ey zj=zw`2Y_lS37mmmB1_DDN~?AXXa2#n7(8+=OJ4-od-9j!(bGul!9u*S54);eF^HL%e8>irzp0WWw0!BZ==QMU-A?wJY~}vrO61XJ%@}B%P8A73 zL12K%awcM-x9S@8nRJC{^0K%#v)XLEf@nVL%Us@t%X>Y^<^PQVpJi@}F1Zkvu{EUpN@6 zxt@sLV2c!D?|!`>g&4nv@75gC6VRr^?vtfTm%~CyzT#xwM=;d!jTPAqW_rYwTJBXT zP^a>bef1tsGIFgK5UcZ&t0x?+wrf;{9|GY5vDHmqkxAb;$CKn;zX^xd(>4oOkyeV4 zA#5+}NNpQV#*$9T8boZX;^n@%k~Pk!5pL$ftV>G-Y#SFt8=jXpigq-Z3UEpc)SILi z6qO?$xmIwDzk4&-WYp1E^`Uuop!}E@hOvQ-TQt4WZ9sZ9cf4(6Zft5{q=9^>FP(1* zocHh!fXNPc`#(kukyTCM=M!-Zt!AO$CifVwu@x(ipOB0ZM9dOM_qTp3tI3XS8_{jE zTxn{!Vm@^CvrcU#g6D9`erG@W^1YdXS*Gp$15I1=_l2?V#b@7@(GUn*{N3uBoK8EN zZ98QJ1Gc=1tb*>+we=rarypO(Cq~S7?(dWR8C!dF%-Yp#`*cD^ImG)N%#0l?)L=nC z1+a$fq^L#as`KsGy9~Lm;EoRFECvzRK(%}MG}qAnd)xLMJp z>lS!qG3e-ZTI@r^@o{N>@&s(58Gp@sI6GRr1;0ix(F+}dLIwL?4^^*Qykqkuz}>-M z4TuzSdIgf!v|^nR zL3YpLxU@n3nnBTpMDgpvCEKp9IGW>K??oDdNdSWT@IA0&$nkBDSyFqf;P7Y9z81Gm zzh6%u{Bjl?LiEhht-Jl?zgX{O-u%Q0VMU|fBO;<%AR%b&tG%rlR>d&zsjW4ZY25z-{$uf;DJtlID0jIQoY zDBUoNz8qfgA0kXbBgbfUnfryT5dX49(M(e&PkC&GrlFNTYu#XSNQAIxz{JcX=i4r! zn$hR_JdW{wMoA;HRYp%P*d>cewxNR8)q=pU$W<(YtlMdgeto+nLj+q8Wip#!a)=PhoHy1khks#IxDxWg2D9vWU%zFcPWTo4o^QsPd3HtjV>`krIN!%VYH2%a+$@YF7wB8^pF%X$Vf(+zq}{T%-EMcpV`11` z%;RB=7_%M~>!@9g-*{^r<)D3VYd!Qm!D#d9&$@N`e>pVWH}eD{h(EW`euZrvgV%a= zRQD@>@iZR_8F&3^J0KhzBsSD1`+3C7+9j63pfLJ}T?FPnfQX)c@<|cFyzEMdx7}`y zpDkZX6tr%uLm!KH*15hIp`-kGSwT0T*l#p;4C(;DKEm`wp-P%3da={YJ8Pz6mG=`7 z3c=5n2ItO2|60_nadqrp>%S&H+~=|-RO0cr4?4x8ew)|iVS~5qzAHV!5A0kW8Q092 zADr^7xP#yXx>YbnNB=_J={9#7tD%4P`lk@nvn=w%pgbr!<+#|Tcjk6WSG z6&O3jqt~lMV4Ak~@HX%CSg2Z-R_G0A5=2In&_`UyyV2yiZ;y8E;xD=IV|Qm85C9`2 zo#-e6dK%H(onuI|(cj(vOmtKKN8BqK$EOW}i3lwbyY5#Aq3w--lrTJ)lJl;&=?DQ{ z3#pyI%KHwc;4)yEwI@`KxhJI)-Y~YNi9=AGlUaJLs?c!j@(23WM(KoeoWmV*mAf>} z0brI4?P}JcFb*+>!1Fb((J&$5WVIM?+t?yw{Y@KwQ?7vmGx)#rv4^YBO8mpW)P1NQ z`tKYF6UOE`1;&bP@jH9`XZ(uI{uEx7Wxi{jG?q6HgWif3PS=1rX371PZE%=pU;p{d znlE>Cz1zE__?7h9nkH4r@h_d9_jaC|Ys5yekJwyd)@>tN&qEDwk(wGyn&4vm*J->Z zl;e%ub%7E=!9@}GHnhyF4o@HT*R+25Wu?j+ksx1+WG4vzmq|D5@S--=(|*{n#5 z%4hlW;g!b!lzx$u7M(j!y>uB`C#6tG%;GRA{71<-{P93>aJag9or4#RfG3j3F5Ee7+aoTfnpyY6U4ny=p=Pl1Cuky%M&n6Yu1KX0`M@I^ z{`sk&Cncyxk)+>b9C7D4iop#+wK*)3HC|FT4Kxa6IO4 z;fpqxj2ldL#s^lSACEiV8s^Z^e}vrs+Bwb&tz3;AM?N_HVrcO}SEA}z6q8tonUa^@&VTaIVe+9;&&fphHeSQ*R1{48vuvB!a4e_d>aA(T9l+>Vs5|RFpj!(8_N@h9V@A+0B}Z83^t+i1>w?c9!p2dl%0^0t4xIy;cC0dr(=3# zt=Gg;%iJ_W&NIi<=mcS4@(0<|kB|6FFC6uvz~_#EqLFwhS!Z168tdIM${MRw3~aT@ zc1*o~p;R@HVK-qa-W(}i?_TyK^zgm+e;<7bYwhwwtuJ1Zu9-zg>Ef1GR^ARCjBm9u zyFBR-XWa6$kHC|#?-aq#NTze64L+a-IC)B5Te#kC!I?$zeVM|LRf6bud{Y+QQ57r+ zp8W;F4|%`NnPAEc=Se06~*>4@Aex zLV$Nmr~#dcg+egt-J_X#B9!$@b%reIS!7 z58fV3%Ao`=tn)fDmzdaFRKy z#gNFRON%;>1X*xG5K8u1nOYvv8jn*@M5BP$YCSYS88ETDR`-g9G3K!(i&Pb&8npo&6@`u;OA?s#eE;4^SldtwzQd`YIS)>2n zf6-o{u?rIs`-pH!(i4fCPt2q)7K76G`#r2*!5acX^-)>_8;MK1QIeuQ@%sVx*Z$h zu*~W%4KkWThC5}N2q*3RhE6(nxkdJ{{s|=4d@yYY%!@;sJ3%Ni?fNnMCd#U>f5Se@ z0E*q=Y>PvS^kWl!Z*Ie20eQ)fk!8pQ?Vo6fr8@Rnc{;RvqA*b|NmGexJha5H#7udm zH+b1J94x8E&4m?LCpJCop2Q;svEkO7V&-0y_xY_}X0hZ(vzOk7WlVVt#f1W9^%$VA75GHSV(m(2FpExi^dV z0X1vE7u$~L%!bv@@K214ksf5?0BWp{hZrvU@+?#Smd`h^<&eb?^u?_h(BQn9< zXZ#-!)ct~1e*QlMsb1i!Ej6GMo&yWvs~e6)jeeyiEBCDEhB^W@+n|N7v?SfKfYQ}c zsw~GE^hWkb=KH2z`snhYJzg_Li9bq0*PFbD&*nIwb?fkrYNG=h7K#GS~B{%K! z48<4nGueMUq+L0ouIqiz6k%~ZqHpWV54ff-K9!sO)sP57qEHV-} z3%w+f@n4_oTVA_j(CbIr!UIijsyuCwR$wopQR0}_s`R!4*72due|A$dQjSvdOC)sl-$nt~CrN{oA6$ls3NM9V} zv9@t2(rf_F+IW`uO=n_n^foXP^o;`1RPUkiSJrH~EF*e~p%`Z%)p%Ho880=2m~aoi|j{lMQ8gdyg__UTN{2 z;vodg2Y?!(us>r-uQ*VU{k9PZDtJ!`vMzV?B^Fgp7}3>A#)(=g$Oyy9FFPrkUZAMm z5~v75F(+g!ydV}>L}Y_vdS5&BkU}pgQIkFq1xSRoDF62kRjSpf>7@L6rpeRd4x;*v%J;6 zx+*G%cX45m@{|KR%l!kVYU<{l?47EL_5<~z0}N;CI!X$f85A~lMXEIe1J4Fh>e~>W zr0k>0Mo$#=e6pZDDz(S~(~Kg+aSD?wO7O78q-3?_R>$T+TaGlfZl~s$>j#eea!%o0 zj-?!6;$y8j>>j&TmZ;WbCF!Iw83;~>@$W8j9{k#&k!}2;v#7_VPwR`FmbEbOQ4QPs z5KVuLcC)wHq(0=P2HG#xwGY8sA$&K)w-S3#6D+HT^h$@G-N8XogZ~1wA~F;r&zMkG zl(qnxC^4OQBpTtJ^dDDtBpvinhfq4)fwD*VuF%ulL6kS8Lr3r2Hl^TkMS+lLdp_F4 zIpqM7l*izaKeSRj{n8!>@(l8lAvdHhtA-!!=~U}rK&LEvak`9bpxlg(%y!)fik7$i z(w?GC+@T|A-NCL~4fuR6PadiCZ1Jqk!OX8CAcQn;@hJHyMW{?y%9eC(%?M9AIlxT5 z%D$PK0_54Gvu-`q^fuvb2Ci9YwDyU9*;P;G9F&I*z|Eqc$)4Qh!(J^G=Ym8tQ0R`< zjE~MWl|C6W-RkpY80Xe8kP=}kAd%G8g!;+%qTd{4W?bvBBervp{ zI_A4f^7WO5_1?Y3t0_`Q3R$Kx`85xcrZcW5Ta5=xtyUZ{NBiW94C617qPCCJ}oWDsLMFd6*&_v^Bx`P{4o+SSD9_x zNjY_{bgL!*UKNW%hx|Qe1{|jnPT@KCoM^@G3;BDHd+W%LY%Jy)cg^Ma&CT!5rQxFm z9C8HT&u9mw8N4isC#TiRjE|TeE8N4%BhA%i=gb*#s*q16cjwIST3TpY+^I)tK9{;` zFk}Gej^%#>u>ifBEmxk@(#b^4z##{J69Z>05_&PFnscU%mS`MUu?MKo1AJN*?Z^Rj z7q^m=HFtSwa`(zSvJz|fa(;&5bNxp!#Wa*16+ zx_GKoZOJIE6N*Q0AYEc(#4zv`BMxj$LaYsl+0#XLm_Bscb`jI<~PPVi!GVZr9?A8!sc8WF3q}cEo6W z*|l972h{Kam(dJRbFls7ZaeF1@%(h0GJKa}1cUNLA>|1}?FHb;$p6Hc%hiJTgcedGkp$bl8 z^fNKs=1W|kt<%Xuab`jvzvF-}^jsXbRfc2CCbp5FA86M) zvo(1a&C5{B6Bcm*E!!Lbw&6QHfap(uv^G zhC?CBw5PR@S?>FByX?G^33eA7Y%M4*QV=_nYdHj@fFi~800{`dN>Vm)%i?PiY7B35|LJBLcgiBSe>M7mz-Zx)4g zLm%BY;DqW^yBd7kwx|Ba&bd-~v4y@^bE|WYlUy&{1=_JwBbt+EknZMMxV5>3ogOk9 zqi@lO51KkEhUHKPEht<0mIL)S$4PgJ`sjb^54!I_A1LGA$!^5s9_+PGtwhIL|HC=b z<05|J$OUlVg{a5{P_&UJT5?xi0P5-&A6oA2PMS;b`xon9Hwd4z`1pv?_RnTlg@t}Q_Q!(A8t|lvhSrad1`3v zCl>9at-V^3A7Uf+DhnR=^?Bt+D}A$?>r(i zsI(Qjh#idZsj~J`G{*ju_K7bN7~}LA1L)DQ0+I#b`4){M`RoKP;J8)`}gLZtv5mM#!+lCFfSrC)MV5ea)pmmOuBW)hpnL6nc zhx|Tu6btSFMpYgT%6WbdKKvYWxRB*LJP6#&ipNLk5ZIP=9xB?zeV>z?{HJ!m#`19X7RvR`VzgW z73I`pOS`j{>|Xmv>&D>o^4Z=>tY)BpdP_AH1qp6GBp*5i{M=geJYs$n-}5Zd%m3@K zaWpT||I}?H(wc|9@F#s0rJ-?vwPYYWGSIq*gqdvqg!-hTJfEmivJ2vQp}sw<_3V-* zh#?svEBHOllpB9f-~|Dtt?dNs_5iwD`IgQS2TFKOd1;|{dqz@^t=zv!ock*NY^4)EwfsobVMsREiv7SwlIOiG?n z3)|vf?btpzn>i)Z5Iogfdz^_s^Zp8;J*4A=l9YQTi4}HfD*+THA6jS7-+$WH&`vtjjLAl{G z`c`nxbzntCu(h4mzg{iN-rqh`M~U#y`1Q^JW@v&e=<(0Aue4Z89D;|!yRvpIAS^`VvU|t{)k}9B}JP;9<376@HeVq_#A;Jjd1#X%LMFng!QZldDs<__(I{M z`6vQO_E_bdeh)(&d{CXL=1w>F*Zh+))rOsV$~_Enb0#f*6DX+)urrRyUDLG_48aRk z_^*Xp1B>RwaDiN5C2RC{@|TUofkW4@6#uZwskTfjJ?i?);&Xb->8MB~KzumN{Q}GC zf0|bqoC)|_ZzZ4f*#MRRXzIR{(0yhpdHL!E$jSdFy5e_4>q^HOcdr-@0o7?bXKsE6 zf#aj(j&ICNTf=$l8lK-2IkCs?(2IBXO33=unX z{=zgQ`fWuxVay3+dmH+0B|P5q`txn-&xO!wu5;i*bl3UcKo=5XE&)=1)kpR(ci_)& z#eZMlba(pysuDaG^NiTBda?WFie(o-9U|Ck|J?BK>QHd{WB&7*l<;$5f}AH@|J}Da;vV>)hvs?AGnh!{6x66-xtWOECd zSdnHUj@#@He*Aidzx8cAHANj4~c+J@+-kv=!GI40JDWb$!Y{mSM=+3`Z z3R|KdN|aBKbD0(E`AAl_?2sd_^_->i_eyHG`uNOk1RC^TG{t= z48z*P88S*;5^j7X0pjV1;VyVur0&{!&S^^N=Aseg7YEJoTH8J!gbB9(z8A|eQI1F5 zybNKBYk!F=L4qYcNfKxze)HaAu=Gq|dUWBh##eFlf>%X&K?81dA^B(f@eHjEp)_9C z@*I(^qT3*lk!WB8kYw5T{h={>xc|`Z8F{%UdD?>(o!NrBy2mLDzF8-Iuz-jr z0}|D_D*gge#;`r-`wyDe<2}Nbc*?!h7Kbu0_?|vtE3tlbskPU`hm{R6nMH*-Sb$Mc zVS%u>UboIMMM<1jua2;6!6-;Jol+{!JAHLT^sQ3y^y?>H0shH#g<5~jA`;|AK@@Ao z>EHRrsf~94)mQc69n2ic)ew#D}?kZ&VFY6&w`t&iAy{ zqMzzypx}c8mRHH_SqkEBozjxL5gn9j}_R(@cv{lLCLS}489~h12el)MMFPSZtNL|DCi{q zT$;ZP@oVcblfI(<(1aZ25Ih5_ky^B7+@q!1seKCMe|FCaPAm4DP=5bBT{Gz-rUKyq z^5*jcZ>LjpX&TFkDPFC{LPFr&nF{6K7ToC9RnZK# zv>l`;(ZK!DBHy#y4g9_SVr6+fdupCYx?E$~xW*6soWM7vq{V=nHQX+h(&~JD?(F{k z8zfKU)xK4g$G4zNg>#E2b{md()hoH^fv+^aU{l35FNWk}V%3G~Xh`^LzTONE(zLAq z3ZX)%g5@PKyFoKL8AXn)y;53JkVdhG7#=p8MgjTJ8KxQ`2=k8xl(J_pGv#+4!{3%D zmm&ZjyA?;La)(8u;2tKUMopjPPrtSnT}om-meKkn?C$+pf~3>;QXyH>R(sNzj8aK{ zMr1vT?fIcfjbY|nD<;5AuN4xgbBm#Y@)}5}dZ(arx2J}$0vQA%1Yk~*GHzg$%g`ISQiHT~jsOwFHL2ORT@{TH zG#=G|30Jjd6v+$}*v}smTjjf1Z+Szfxb_jF2=MmbC}vMp3JYgLN+d0m6wj1iez#6* zX}A4wz$CfO7eFB}jWV_Gp&F?2^le_ZRP~t)7n}AK&LWF?+DOX4E+nyzuXfC7&}jDc z^z)v{QP`8Cmr{N!{`CD{2YH!w$VL!HsB1l@lN=3BADaoIx6h)Jx}6*srp{L^`bBx6 zuWQEVprpNek<_`TyEa`7^$?wPi)D+#$uouU>?{KWp%Ets1>6khSj2qRdm74A4u|^C zVkw83hx~Vmqi07hC%Mex@^_?a981e+vlkFk_m8K|Pbrj-ikqclBy4?sHopI!ORkdU zghhN`6IuZE$T(AVl1hR2Hr=$9_J>#ueC{(y3qbTAoG>r2^9lVm6fvu7OmrFpQJ$%? z;@c!%Fb54Kx+iu=31OLhQi1TM2h5ZsO$A>J@C>`GBO>xBPGd>RK8atl%!|vW_sA)g z4sxbsubLQ2WHwu=b7^C`B$A(1d(yep&QL)EO9h{QV^NCYe)(f49n!bwdj1OXPag30 z)nST;n}3KeXE(>=}QzWDT*qJ$V} zyaF%%`zNnSa(7o~T-YMVK zf8sl2Cce@w5gSSg>ZRY_?c7sdRGm^aW-dC-uom>}VSqOrX>+|Nms#&0e<=~XB349A z04QW+2rFo?q;#_ozy3%~E8h@$&i$KHadk8B2c+~p1I(4^L$V{PRdQ??~S zU%pWOZKhWLT~rJK;Qm7b0RRX9vHy?44W-Ph4ayiemjdNnl`cJ&<^KTOF#Z1nH-`UT zzzz2Q0NlLSV!7W^=g{cMIxcT2=(N&}0((DcZK~hsPq`6HYaoS;ZhOkBpL{6<-yF+s z0v*l!dyJQ-`|3I5*|;Lwi_NObs~!)2ovn9`{C*Ys%i$&MKjAn*yCV4XQ?pVQ)lMRC z!|S8X*w-8QbEp1c^Vc3kdEhb_BcIOUS@UJXY4D7|cCU*F+_-jyvvOaB8GU3oc=Zh0fACPg~Na6}T#AWS|Uo+zk4_J+&l+$qx8z}SVu$`Fj*f7?-0wZGp)23_B z$@T?#RKWg#Y(DUWvt<-@%kKSXc*{H6VA}D(jU?fTo;jRS8YAX$fN-NWPBsa#nxG>P zw;D!QH)t;@|21SlMYEFIIL6C4XG6t{JvH|E#V?^1f7t7%ZVCIE3#AT}_HCbs$@g+7{PK> zTQ}3xf%f~zVAw5nCaCMY9&r9EW`;=nh&8;IyM?zv$R3W~vKy__#@k$F`Y<%#t5s5~ z*5Ob9^~z76G8?WKwwxcnGE%BXdcXqervx{`5L)YtFsn51Cc}WHR@=1RM+nvPRcvX* zE!kmXSSs5m-oq2WLHkE5&OYKs1cPS7$}I6FRqw~IOM4)ijJ@qo9y93F$-b$18YYs9 zT0S-LOqEpY$I(_*;kn!_Sdz}1U%;Pp;E1ER?P~4zwRIpZzi&@=GjnRy`ecUwuYPDcUZ-%t@?QsTjd zdiK8)tu}~&#{C{}ny!LBbke~YrIVfxxjl=7#Najd|E8mVKP{#8a#JFALx~&D0)IR7 zJYP`HqquXw;0&Q5)7MYCPiQS~;Rq&)AYnx@7zN@$tJD^^ZxtKcB0q@O&cuf+7J|9t zQN0eH%uM>j7l}|h2&o#mJ_(GBFf%|M><1NOa4`;>jwGqZ7g1l+hgrY5fGTbm&TGmw-IlPhVCW5EU6v z4`!OE$n2&&6aNfRjGVK14aN7V>HM{US3Nl>1|*1NF}j2#0U_-PrixjlRlkako<49J z^#o0)iP0AzG(Bb5_L<^zQ=L_zU+r4SP!21NPqao2I4t~!@N#B=8A|e-&qh#kS3G<% z^-)we*YD(G()gO|t4#Cm%%=T*^{VHY24KA}j)$SQ@K^eryDd@=C?;D<#9X*d?sp=r zi>Z7sph8F&EW{oFlq|AgFuOncW{ELVghg}`M%2loKD~{=z#C_y^9WgufNlgGkv)hT?%jp+XK~>a1GfeMa8=WOhGpnVJ$+mQpK(FHR;0pdh2rI z81?R2Ple?!s5dlbT!@Mn$#J=-0}5Yk%@Ck!!`hByWs0beMv-AY`EA5gs=2%)F%srH zxR>WzM&>vX@@UlWck0R|moH9L`Kl!K)*IG3kucxBsnerbd9!_+Ud0AG19qcoC1F9W zvT%}Vm9+Ke2&Ib;UvJ;Xwp25b_Dh(qOqhjMN}BQgU$pX~&~?w$CLa zd5Zl_O7y7D4f#|f{+$c5e-7Y92dkm9R5ED~n*p1H(8zk(CM!)XLC zvya(@=scN85ZSbRpDj1PJ@9`Kwbc+6k*4?OJc^YzObRM4V;zkM@K$xEFm<+NxfS*1 zJecuz=r=UY_b9y!{4*^b_^nE9W7Kf{N>mPhUBaV91362Z%P?BDc{ZT>r=mT`tlWLm346?mMC`;vDC#xD$`F7a z*SRa<89S&IU*(!atngD#lSM#5rk-%$UzYw5@H!5=J(JjSKe^0P`MfekIXYPmm!#YS zg(9L(py0I-Y>dvcCuW$xI`FqUDc?bO?ioHXEeR1aS<->)JA?Ek;m0^Y)G(=vXUgF3 z6!vp`kq##+R+hm=E0vyvswkBem{1J?M-q(FC~P=4F9iQF#);_4p9^7HPSUsnqW@z{ zjPbC5#M?RP*w*x|V%+VMbXA+X=dB=m7>Z{DLsgU^8<&`J5+iVj)BFyX3M|7aRP`Ho zxaLUa3pXXkX%b}=z;-(0^vE(w2bX7+b?u)um73)Zi)G$P_g};eegruEp)rVqhYF`X zf`>jA&U_HZiww?=ZVTL2jfl9P!5I+3;t#rMOitcFlClTt(@JQDW|wgTE>Sr-ahd9I zyakK2OImOi6!0dVHZ&CY@`&_ftUu-s*INtK23C+ZmTspvH)_LgFf?BvfK!n0fP1`+c2XEli_at7%j9&;eN^I=b)e6XfIX`cwP)){X?CyLu< zG4C@jdvHpHF;L8=l?A*K*eGHz0>gSqfL1T*F7t$TygpSFMKyr*E3?!UUhNboWTQ)a zbl^lo1wQL#qwO=AIE}*qcYo?e>gr#}9oM)qm5<%leY#T_z0rBN9g-rB@|E>LU zO;=7W5f&L8OQp;TD4~}G1S|^BC}U}OiAv3SqF0Ia;&dcui3_6(Rsizh;mOEFvUgXTG3YFRMj2RW!{IDv7OGR-m9C)7k2>beVZaM0bN%Sa}@+6tnK zW9xIi%k-GMdUcd>r#Sx+cim^9a(d@F){VThp1O1x<^sn+^g&J(-Z-d+$}TZ|5eZQG z@P_3UO~vJ#Zt|LI$$BmB$`A4Nw%i2)bT@+hhoW|vjG>f>@qu5&IKW5pPv=;0)2kO6L zO(hHMXx-RrOrdB``zxD~$LRiouG1V|6VvoUQp4T5WlObM3)q&b*q*M~>bd;xQut9D z@PBm-R8v|Jw65bFlW3D_YDMb4!TSC51D^(Jq1xVsh~z(q3Qr|_2f>Mo|guMjhh%@o~_ zTq?N~HQV!Oa~Of&mfuw5b}jU`CLMHh0(+80d(bYGjmx*R0=l6tAOfQ06GiWyWsa(9 zFPTs8nm*@ceZ5*hpKNsx`9?2z2G$1e6Fja%9)kyLdxgTAw`S6xZ1?GQaNrI=ac-SG z?TuWiWp~Hrwu@_pRl_uUX?n+KC3;{tFawdV2RKwa)K&&c?Kp{}`c8>(JM&`aJc=gX zz6IMsvg3Dtl!HcPQ6p?a57Xsu7=PF~(Dm;hTp$*-*m?q$48?MK1#eY|1PpQ!Hb6<;S~yspO;z>muXe%(Mn1q*(U8m=#iUG?%ph; z?ShS_u-EYQ4pg%9Tj$XQQ>Kpf)2J4K4Mu4jC~p@l^+npyIfjoB-sM2p=`QNWz%w-O zuST!KfQ{k(Dh70D%85~>q0NRq0qzg&`SRWD;|dFoFa5pN&fAz3>C#pv#_}ilk2_QH z<()*w-@TnwW=kS3?*BqDWur01!`*w+ZR%v5NCtrZ*pCm2(Tz|}$CzE~hHL*t1T8oSua^HZD%JsR_q-;NgW*MvQa+3!^uyAE z*ir%M@_QvfqJrzfljSC|kA$P~fkWC7hivtk#*&ZVHU~OV@+Dfr3hh+lilX`i+sw-Q z+s}?4&T+UVd~#s8ILcLi+z`aU@Z~+D%`olLiQ+AGx}qXglFcFB#D;+d^qt|0zeX--tUb~!SGnujQ znlekG?SkL^5frERY9n2b^Ykv9=1bqT=TP*E#-uvJs5w%KbJ~HyGW0E94cv}mS)UUqa!C8>N>$Npn>Re` z*>G9KE)(hBNToVP9_kHBNBE!Gu@{FQ1r8`cz27=O%bO;#2*O0!?lWOU@fG6;Yeh<}s?^xaVNdk|l_G zV`OP(Q)!hul?*hqGNzpT&ghF`1gpEzVQB>G=gH+D=>7w{jfa!8?g;qm>WYlxW{VDd za<%UV^_$h}a{6S(q=G8Cw*C30EyGFLe7yX5@=q>>AM>ZXwkD%fv>Vwo8#(*#{gcJ| zlfWPFpPVM7W`RR7Mst6um$m#}5ms-Niq{B_EMK-Bq!6xl_yS07ZhzwqcPvkuP~~JM zovOd)WL{GK{D(S5Tx^;57XMAn1Kt&5!KvbzRVH;OowBZSQJPdo>QwRk6@lVCg#zNd zT7fDJiwcdi>rF>1t_dcUU$>PeKr>&-8+4XrZBjGjot!Axa3|UktUd%ii$_1)Ri2%P z{{CgPA>gv=MEK6k@GJM%CWgQ))xEmIcyW_K@BGO$uL;TTf(z-(3w+`451&pGZyjo+ z(CqkqYf4w+Zs12mpXT1tjx1zlNcmVmV6M1#7BzS4#d|UY7oC#->A~GsKpJM8!CUbZ z)(?d8yU0H`F=zZPr;y$=z~EIt!*PB*Z_~X}4ekj=!ecMp$f?O|=Bi{~Izo9O7fY(s z@!#ikEfcr53CzzQJ&IJjoDML*>H&znU*Xsg&<4P@A6)V3;MZP6!5Agn7N$4Uan~fs zQtO$on(=of{kF2}oobW0HT}$I9&PDnko@H~7*0{wi_&H|VFP|F?~f4o`@sN96C8~Y zji7#CnX+q=B1>_yxnnRitgkeO7?Cb2Gc6V7f3W@9A3IXV927%kmnJq9A#8in5$c9h zYxYo2&djrLb;uVvTKZBgTi1)Yp%&bb1&J1;_0_FE6*gn+{A>(? zjT&(`NPa;=_5}Pv9 zD9IPOYU-IyyFpDJ`OzeAXW@@a3X@I5Z<}2W)A-h?K-jTjeRRJRV!2eEExugE=s> z+LdDe$wDLsa%5FN+3*peWRjk26QxHyZH)tNp40c<7~V1|QOG{-jBaNjUyihN!4$&J4C=u)2k*PW^5>Vat#=cgvE)ZjEYRoP`6&8!_m^!;c4vCQa2lZ37W;+&pfzy#nkoU!~7t0(Mavz-m8?z*B7y* zG{&Zb@sD%T7;bvNetB$V6)96-@i1G$hX-nGT8DR^GX{bM+~c$NzP8`!XM%WA#al__ zP=KCJ8Hc_)Db&HY12EQBjx}V@M6b~gq5v=SQ(hBbAa6PE=Mrwcq3uYgGOqq3v&esb zo~U=nB1QhBaI&Vok*-PwI$TO%F+Jx$hw<+gg+|MWY;k(~3IBis%Jn*XBvL=&ykNf2 z!cpbs$VjE%?!F$QQ&IpEE*Fc?{Fgca8UDli>dnYvO}KAQ$a1(HgVGx9S(k>@E^VW| z^ADqyHoBRIf7!oQtnS1Ju|GaGOI&VDh(l~)YcTi2B-S|=+e?~hWp!zMmyOq?qU&KZ z5&shG|4Ff3X-x>8LtC*pH3^X_&;Td$JGVv^XL~ej7@ru{-{U}d|Q99P8CuKeBGBeG_s55IZfb5ju=h_ zQo2Al@~9s$Ne^P6#qf~Oem3%utnbHK32-#;xz>|%2Q`w%8$f=mReJP$nPQqlsEuY*a%49wSrMVOkR<=l1LR49;Z~851sx)RSc-!-Ka2jRtXUiRvI>`_c363zgIsmu^3zbwu2@|!2k7?*Td8TYp#S#4ld~}TmXil?8rFU%S>CBGfnX^= zNDX3V)4E8;oY0W&uxY<6I6qQJ-zexJ=6+W(qxivx`XE(-p)l=?>OXHEq!MwJztm2!y{J-6J{`RtrB-Q<{(W!lbUVS z&ugUPJ!0Bw^ogJAKyeJCdv!l*?uC$87KJZ8&vXWqWl&K-Cni=Znlk?bGxHHPsYA_@ z^K{|EIN=1MdICr#NzoY89h8VYzn@T_fhH>v>X&%EU@0P)Q(|REtqxF1#QS|c=L|LX;x znd6xkSbXUzHoZM?=5d*d_x%rAp>GNVZk0W4j3ss3hLKwTQYkpvE|kfgTReQCGi%y19D8r|sbP-l1X)yZ5zg3D|JiW?q;C5g@Vjg4Jc&?WGzm23w znG)`Grjai7NppOP4v3%}Kju_mW@d*2>>F#VU$CbIujMz&t)+l5h8eLG9CaFk_u}sm zvmBydYD@~>43-sGzaIO%Z?$vq35K<)+gUz%cKI98pKQ0CEWhJ1_35MW(Xe8a@VB3J z41AmaK3P6|2vGBPqdI2EvWqQi*Ktv>LBxUdG>$7M;XTZ;^RHt|1B)Zbj5jy}4M`jJO`HQrp`G1T1SfYNSYH0 z^CtUAPMxYk= zJ}~T1Z3LHV6eqvs-IgZ5`0T-X^TUwNW_o0#&TPb0zjN2={P*Kz9ez^l%HwE0$qnTR zw)jjO>GEG;vT&q@LihX;|AV&oHE<+oKqc8fjS(h>bHzPwO(W5u$Xce4&{27yTCt+T zZ;@7V{7jW4vG+vue?$aSv{Z!K z_hTuYR;cgceJEdz5Xdzih*F+yx+}!qw`bj#B;QvLP@7T{(zpR4Eh5?L7a=eJihbhM zD2`QA8vE+A>*&UXWi(2KN=PJ>;&04?i6Vrmn1&jk#(7iX30u_7D={ez@|;$sf};MW z1$8VBl0k!9&;)CTi)O3GvEicaj3M8fD36=oN4M9CV&2wC7LGR#Fo^-QM>YBnutpj% z6NZ?1wtP*D(4Fu^rMLLxzp&lW_`6D#AJa>0C{qN8MTGS@dCzWIJtYyf%5ge%sOsB7 zmgxJGajr^27B`T=VZCzpRFTI2^C4P+LFU?dtw2)@o-12bYo)(lzP7Na508h{^TrdI z2Na18lzmt~k!OvqTSbX3vIlqv4-S4Z6zM-4lc*Dq8BXd!6CCoBZ~Gvht-x|6J1P#O z3lHKMhlex5ay{&|gWQJV#h`I+BQZWh!9F87K0}@|x+l{rLi<%-S6YP{{R};WDbHS5 zu#*#0uaX9^u3p^-ceG#dK@&=cgWR-VcLJ+1!@+L4m8E*Pf#H0*ZWc;?29}tcLSyl4 z@#OlW$;SE_p1_-WHCPf&iXNb~5UFA7*nJd){b&H=KU7mQg6jlsnTSPNqnqjD%2-j} z2ny*d*gH49c*&k4XvRGsX!RTk4n;~)Ii7$AzuBr5xHUfSIi8L%ESQdc_ZAi@kD{_B z`D~9NHXicda+mBvqSnXnjZai1f<5b@itFPE#t=e(`gj*~qJJxn+dsBsEAHV!%wAvp z!K)Nby@`1131SQ5`wC#+e8Nr#$F?wz1w^fO;?_D16L8?+m7are!-b3qDuaP@bMz*A zoHKiT@5iBpU38kkluv4nTn&3nPb_#L&T-oCRB1XAg-zO>_-U_AHg5>N)?jx|qjJV+ z3JpcpPkv7{Ecc;1RFBtgjjeBOnb$#?4&df7IL!+lfG>{meH@JVP0buS{vG$T(`1a~ zp5kykQ}Z;i)`-j&!_|xv_=9#*Y#3Ppx2(hsbt>{?DsS)4#8evBRgT{?H%?@^N8+G; z)HyNn7QksC5$-$_bK~Q_58a=)l&bBOggR*S=VFbFT_8Qj$9a8|jCwO1%WQppG)*gx zrU$s5Z$g$iqsmXd_tDH!bq-r(8cV!gJ>TQuqs4&y%PpeH0Q^hOBdpmaH!vL!Ff+a; zlXM^^+RfrG0AlV?(O;92nUnFxb1kQ2KzUO!a~#4rqbbDbit^p{IG1%0PSX>r#808f zVqpS_GHC`FTYQQv0vlcc%p7nus2G+*sOy(F7tJmw2VB<%()L4w-Zo6zpF~4(tbG`$ z5HuUP@JZO6@!orwE3q0b1a-UnNgM_7L|Hz+M%`a9p{V?9Z1^d5!K7fp9OrC~m0Xba zr3**RWeDYK3z0R}lWIdT1pe)K_TBj?d6e@9DA|3hm=LR2_#_5r71e5)!DwN^xM1v# zLs8BD7_h`|f6_R_@mLUFwIk<>DlpT7g*w#U{;1C|tBy*@{mq4>U2AN%%^T;XgauH7 z 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 EJ1Sa*x&QzG literal 0 HcmV?d00001 diff --git a/resources/admin/public/static/images/loginbg.svg b/resources/admin/public/static/images/loginbg.svg new file mode 100644 index 0000000..5f81c5b --- /dev/null +++ b/resources/admin/public/static/images/loginbg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/admin/public/static/images/logo-r.png b/resources/admin/public/static/images/logo-r.png new file mode 100644 index 0000000000000000000000000000000000000000..9f8fba91bca40d7495a33e0bdf15ab332fa6bac3 GIT binary patch literal 8373 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/resources/admin/public/static/images/tasks-example.png b/resources/admin/public/static/images/tasks-example.png new file mode 100644 index 0000000000000000000000000000000000000000..0f135913c6ab7ddb041e9b6f982e8160be481f25 GIT binary patch literal 17767 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