From 90baa214914f574d9f4dd3b2286f6f105ed6eb57 Mon Sep 17 00:00:00 2001 From: Sum1Dream <418471657@qq.com> Date: Mon, 5 Jun 2023 16:35:05 +0800 Subject: [PATCH] 1 --- README.md | 27 +++- angular.json | 117 ++++++++++++++++++ karma.conf.js | 44 +++++++ package.json | 39 ++++++ .../admin/login/index/index.component.html | 58 +++++++++ .../admin/login/index/index.component.scss | 83 +++++++++++++ src/app/admin/login/index/index.component.ts | 29 +++++ src/app/admin/login/login-routing.module.ts | 13 ++ src/app/admin/login/login.module.ts | 31 +++++ src/app/app-common.module.ts | 27 ++++ src/app/app-routing.module.ts | 16 +++ src/app/app.component.html | 1 + src/app/app.component.scss | 0 src/app/app.component.ts | 10 ++ src/app/app.module.ts | 32 +++++ src/app/services/common/validators.service.ts | 76 ++++++++++++ src/assets/.gitkeep | 0 src/assets/image/login/background_login.jpeg | Bin 0 -> 19342 bytes src/assets/image/login/logo.png | Bin 0 -> 24034 bytes src/environments/environment.prod.ts | 3 + src/environments/environment.ts | 16 +++ src/favicon.ico | Bin 0 -> 24034 bytes src/index.html | 13 ++ src/main.ts | 12 ++ src/polyfills.ts | 53 ++++++++ src/styles.scss | 2 + src/test.ts | 26 ++++ src/theme.less | 9 ++ tsconfig.app.json | 15 +++ tsconfig.json | 32 +++++ tsconfig.spec.json | 18 +++ 31 files changed, 801 insertions(+), 1 deletion(-) create mode 100644 angular.json create mode 100644 karma.conf.js create mode 100644 package.json create mode 100644 src/app/admin/login/index/index.component.html create mode 100644 src/app/admin/login/index/index.component.scss create mode 100644 src/app/admin/login/index/index.component.ts create mode 100644 src/app/admin/login/login-routing.module.ts create mode 100644 src/app/admin/login/login.module.ts create mode 100644 src/app/app-common.module.ts create mode 100644 src/app/app-routing.module.ts create mode 100644 src/app/app.component.html create mode 100644 src/app/app.component.scss create mode 100644 src/app/app.component.ts create mode 100644 src/app/app.module.ts create mode 100644 src/app/services/common/validators.service.ts create mode 100644 src/assets/.gitkeep create mode 100644 src/assets/image/login/background_login.jpeg create mode 100644 src/assets/image/login/logo.png create mode 100644 src/environments/environment.prod.ts create mode 100644 src/environments/environment.ts create mode 100644 src/favicon.ico create mode 100644 src/index.html create mode 100644 src/main.ts create mode 100644 src/polyfills.ts create mode 100644 src/styles.scss create mode 100644 src/test.ts create mode 100644 src/theme.less create mode 100644 tsconfig.app.json create mode 100644 tsconfig.json create mode 100644 tsconfig.spec.json diff --git a/README.md b/README.md index 5acf1f5..3b12177 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,27 @@ -# test-web +# hsgWeb +This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 14.1.0. + +## Development server + +Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The application will automatically reload if you change any of the source files. + +## Code scaffolding + +Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`. + +## Build + +Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. + +## Running unit tests + +Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io). + +## Running end-to-end tests + +Run `ng e2e` to execute the end-to-end tests via a platform of your choice. To use this command, you need to first add a package that implements end-to-end testing capabilities. + +## Further help + +To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page. diff --git a/angular.json b/angular.json new file mode 100644 index 0000000..60298ed --- /dev/null +++ b/angular.json @@ -0,0 +1,117 @@ +{ + "$schema": "./node_modules/@angular/cli/lib/config/schema.json", + "version": 1, + "newProjectRoot": "projects", + "projects": { + "hsg-web": { + "projectType": "application", + "schematics": { + "@schematics/angular:component": { + "style": "scss" + } + }, + "root": "", + "sourceRoot": "src", + "prefix": "app", + "architect": { + "build": { + "builder": "@angular-devkit/build-angular:browser", + "options": { + "outputPath": "dist/hsg-web", + "index": "src/index.html", + "main": "src/main.ts", + "polyfills": "src/polyfills.ts", + "tsConfig": "tsconfig.app.json", + "inlineStyleLanguage": "scss", + "assets": [ + "src/favicon.ico", + "src/assets", + { + "glob": "**/*", + "input": "./node_modules/@ant-design/icons-angular/src/inline-svg/", + "output": "/assets/" + } + ], + "styles": [ + "src/theme.less", + "node_modules/ng-zorro-antd/ng-zorro-antd.css", + "src/styles.scss" + ], + "scripts": [] + }, + "configurations": { + "production": { + "budgets": [ + { + "type": "initial", + "maximumWarning": "500kb", + "maximumError": "1mb" + }, + { + "type": "anyComponentStyle", + "maximumWarning": "2kb", + "maximumError": "4kb" + } + ], + "fileReplacements": [ + { + "replace": "src/environments/environment.ts", + "with": "src/environments/environment.prod.ts" + } + ], + "outputHashing": "all" + }, + "development": { + "buildOptimizer": false, + "optimization": false, + "vendorChunk": true, + "extractLicenses": false, + "sourceMap": true, + "namedChunks": true + } + }, + "defaultConfiguration": "production" + }, + "serve": { + "builder": "@angular-devkit/build-angular:dev-server", + "configurations": { + "production": { + "browserTarget": "hsg-web:build:production" + }, + "development": { + "browserTarget": "hsg-web:build:development" + } + }, + "defaultConfiguration": "development" + }, + "extract-i18n": { + "builder": "@angular-devkit/build-angular:extract-i18n", + "options": { + "browserTarget": "hsg-web:build" + } + }, + "test": { + "builder": "@angular-devkit/build-angular:karma", + "options": { + "main": "src/test.ts", + "polyfills": "src/polyfills.ts", + "tsConfig": "tsconfig.spec.json", + "karmaConfig": "karma.conf.js", + "inlineStyleLanguage": "scss", + "assets": [ + "src/favicon.ico", + "src/assets" + ], + "styles": [ + "src/styles.scss" + ], + "scripts": [] + } + } + } + } + }, + "cli": { + "analytics": false + } +} diff --git a/karma.conf.js b/karma.conf.js new file mode 100644 index 0000000..7c2b7a9 --- /dev/null +++ b/karma.conf.js @@ -0,0 +1,44 @@ +// Karma configuration file, see link for more information +// https://karma-runner.github.io/1.0/config/configuration-file.html + +module.exports = function (config) { + config.set({ + basePath: '', + frameworks: ['jasmine', '@angular-devkit/build-angular'], + plugins: [ + require('karma-jasmine'), + require('karma-chrome-launcher'), + require('karma-jasmine-html-reporter'), + require('karma-coverage'), + require('@angular-devkit/build-angular/plugins/karma') + ], + client: { + jasmine: { + // you can add configuration options for Jasmine here + // the possible options are listed at https://jasmine.github.io/api/edge/Configuration.html + // for example, you can disable the random execution with `random: false` + // or set a specific seed with `seed: 4321` + }, + clearContext: false // leave Jasmine Spec Runner output visible in browser + }, + jasmineHtmlReporter: { + suppressAll: true // removes the duplicated traces + }, + coverageReporter: { + dir: require('path').join(__dirname, './coverage/hsg-web'), + subdir: '.', + reporters: [ + { type: 'html' }, + { type: 'text-summary' } + ] + }, + reporters: ['progress', 'kjhtml'], + port: 9876, + colors: true, + logLevel: config.LOG_INFO, + autoWatch: true, + browsers: ['Chrome'], + singleRun: false, + restartOnFileChange: true + }); +}; diff --git a/package.json b/package.json new file mode 100644 index 0000000..e09c655 --- /dev/null +++ b/package.json @@ -0,0 +1,39 @@ +{ + "name": "hsg-web", + "version": "0.0.0", + "scripts": { + "ng": "ng", + "start": "ng serve", + "build": "ng build", + "watch": "ng build --watch --configuration development", + "test": "ng test" + }, + "private": true, + "dependencies": { + "@angular/animations": "^14.1.0", + "@angular/common": "^14.1.0", + "@angular/compiler": "^14.1.0", + "@angular/core": "^14.1.0", + "@angular/forms": "^14.1.0", + "@angular/platform-browser": "^14.1.0", + "@angular/platform-browser-dynamic": "^14.1.0", + "@angular/router": "^14.1.0", + "ng-zorro-antd": "^13.4.0", + "rxjs": "~7.5.0", + "tslib": "^2.3.0", + "zone.js": "~0.11.4" + }, + "devDependencies": { + "@angular-devkit/build-angular": "^14.1.0", + "@angular/cli": "~14.1.0", + "@angular/compiler-cli": "^14.1.0", + "@types/jasmine": "~4.0.0", + "jasmine-core": "~4.2.0", + "karma": "~6.4.0", + "karma-chrome-launcher": "~3.1.0", + "karma-coverage": "~2.2.0", + "karma-jasmine": "~5.1.0", + "karma-jasmine-html-reporter": "~2.0.0", + "typescript": "~4.7.2" + } +} diff --git a/src/app/admin/login/index/index.component.html b/src/app/admin/login/index/index.component.html new file mode 100644 index 0000000..8c97450 --- /dev/null +++ b/src/app/admin/login/index/index.component.html @@ -0,0 +1,58 @@ + +
+ + + diff --git a/src/app/admin/login/index/index.component.scss b/src/app/admin/login/index/index.component.scss new file mode 100644 index 0000000..3f874da --- /dev/null +++ b/src/app/admin/login/index/index.component.scss @@ -0,0 +1,83 @@ +#banner { + background-color: #FFF; + position: fixed; + top: 0; + height: 44px; + line-height: 44px; + box-shadow: 0 2px 8px 0 rgb(174 186 208 / 27%); + z-index: 99999; + width: 100%; + .widthLimit { + margin: 0 30px; + padding: 0; + a { + float: left; + } + img { + height: 28px; + } + #bannerQuickLink { + float: right; + } + #bannerQuickLink:hover { + cursor: pointer; + color: rgb(74,128,64); + } + + } +} +.body { + background-image: url("../../../../assets/image/login/background_login.jpeg"); + background-size: cover; + height: 100%; + .login-div { + background: #fff; + border-radius: 4px; + float: right; + margin-right: 5%; + margin-top: 90px; + width: 464px; + .loginDivMask { + width: 376px; + margin: 30px 44px; + .title { + text-align: center; + font-family: Microsoft Yahei,STHeiti,Simsun,STSong,Helvetica Neue,Helvetica,Arial,sans-serif; + font-size: 1.3rem; + letter-spacing: 2px; + font-weight: 400; + } + .formGroup { + margin-top: 26px; + nz-form-item { + margin-top: 6px; + } + input { + height: 32px; + } + button { + margin-top: 8px; + height: 40px; + } + } + .interlink { + margin-top: 30px; + text-align: center; + a { + color: #6c757d ; + } + a:hover { + color: #007bff; + } + } + } + } +} +.footer-content { + position: fixed; + bottom: 0; + height: 68px; + line-height: 68px; + background-color: #F5F5F6; + width: 100%; +} diff --git a/src/app/admin/login/index/index.component.ts b/src/app/admin/login/index/index.component.ts new file mode 100644 index 0000000..f8b2778 --- /dev/null +++ b/src/app/admin/login/index/index.component.ts @@ -0,0 +1,29 @@ +import { Component, OnInit } from '@angular/core'; +import {FormBuilder, FormGroup, Validators} from "@angular/forms"; +import {ValidatorsService} from "../../../services/common/validators.service"; + +@Component({ + selector: 'app-index', + templateUrl: './index.component.html', + styleUrls: ['./index.component.scss'] +}) +export class IndexComponent implements OnInit { + + validateForm!: FormGroup; + passwordVisible = false; + password?: string; + + constructor(private fb: FormBuilder) { } + + ngOnInit(): void { + this.validateForm = this.fb.group({ + userName: [null, [Validators.required , ValidatorsService.minLength(6) , ValidatorsService.maxLength(20)]], + password: [null, [Validators.required]], + }); + } + + submitForm(): void { + console.log(this.validateForm.value); + } + +} diff --git a/src/app/admin/login/login-routing.module.ts b/src/app/admin/login/login-routing.module.ts new file mode 100644 index 0000000..b5d5e56 --- /dev/null +++ b/src/app/admin/login/login-routing.module.ts @@ -0,0 +1,13 @@ +import { NgModule } from '@angular/core'; +import { RouterModule, Routes } from '@angular/router'; +import {IndexComponent} from "./index/index.component"; + +const routes: Routes = [ + { path: '', component: IndexComponent} +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule] +}) +export class LoginRoutingModule { } diff --git a/src/app/admin/login/login.module.ts b/src/app/admin/login/login.module.ts new file mode 100644 index 0000000..c410d7d --- /dev/null +++ b/src/app/admin/login/login.module.ts @@ -0,0 +1,31 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; + +import { LoginRoutingModule } from './login-routing.module'; +import { IndexComponent } from './index/index.component'; +import {NzButtonModule} from "ng-zorro-antd/button"; +import {NzFormModule} from "ng-zorro-antd/form"; +import {NzCheckboxModule} from "ng-zorro-antd/checkbox"; +import {NzInputModule} from "ng-zorro-antd/input"; +import {ReactiveFormsModule} from "@angular/forms"; +import {NzIconModule} from "ng-zorro-antd/icon"; +import {NzDividerModule} from "ng-zorro-antd/divider"; + + +@NgModule({ + declarations: [ + IndexComponent + ], + imports: [ + CommonModule, + NzFormModule, + NzCheckboxModule, + NzButtonModule, + ReactiveFormsModule, + NzIconModule, + NzDividerModule, + NzInputModule, + LoginRoutingModule + ] +}) +export class LoginModule { } diff --git a/src/app/app-common.module.ts b/src/app/app-common.module.ts new file mode 100644 index 0000000..e7f1077 --- /dev/null +++ b/src/app/app-common.module.ts @@ -0,0 +1,27 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; + +const PIPES: never[] = [ +]; + +@NgModule({ + + imports: [ + CommonModule + ], + declarations: [ + ...PIPES, + ], + + exports: [ + ...PIPES, + ], +}) +export class AppCommonModule { + static forRoot() { + return { + ngModule: AppCommonModule, + providers: [], + }; + } +} diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts new file mode 100644 index 0000000..0a6017b --- /dev/null +++ b/src/app/app-routing.module.ts @@ -0,0 +1,16 @@ +import { NgModule } from '@angular/core'; +import { RouterModule, Routes } from '@angular/router'; + +const routes: Routes = [ + {path: '', pathMatch: 'full', redirectTo: 'login'}, + { + path: 'login', + loadChildren: () => import('./admin/login/login.module').then(m => m.LoginModule) + }, +]; + +@NgModule({ + imports: [RouterModule.forRoot(routes)], + exports: [RouterModule] +}) +export class AppRoutingModule { } diff --git a/src/app/app.component.html b/src/app/app.component.html new file mode 100644 index 0000000..0680b43 --- /dev/null +++ b/src/app/app.component.html @@ -0,0 +1 @@ +>;9U|^Bz)R`<0Y!@oM>huh@j7oEz8Wi3hDzff4m7G zp8w=ybkU(r)6K|uJ@Hjr967V-W!8TpWs>>r)%bngSaGHE8!DC?PW(?i<~J#0ry|sv zoL%SJXxq?dw4j6kMRqB*U*ePlH*<;DEPCU6su&sm7YV>|s)snb>)4$(i*1MZZ2yUr zw04{?6uabyy<1*05LG6UK`f~dD{vjFaz<{*@%W$9*ZXm?IV))}gWRPR-&8QEoq@ z32P7l1hRe=bn$oeAO`3>J6h@H#RN4)6i7jWRlgjBC;et_LIuTz?d+9Zz3B#FV8!0$ zzdFqV=R_a|A{i=Omb_h;hVb5mBYe)UE*gV`DquXucT3($NjnBU8c-;jzZ?LR+L;JR zT@N|!*6mFrc6@?@wZA+rr+pYm$U9E5eIt$t5M!_ZU{vsx1#9fDAcz6~^kaBw!BH8r zY}+DN?>m(^BtTzD;o*jCX5!BOaVxQ`kS4Wg&D{gtUf5d{e3a*Q8QicaQlWBwkukn% z%T5(GJ!G(tgNVfUlvVLc`q&bd``F*2V7vY?eYI&hz077&sck3@3Ju(aP>SqSQ7{4U zAObS{*IaiS61-1lkm^D1FWU8Wx=LKWX @uGc5l!NI5!TL4PInpsp>wG>!fw~dElNBF?riHU#yhDV*dtegKsP{ia z-%mbR8%*vhhj_gM%Dp0 j(~hctY!H;ANh3u12AOJuUtFN-)%ARrktCK<2 C_WZxqC$pSDutHy*fw_#7cxXf~SV5ssSvg7n_pA9c-K8bIEKUTwuMR*& z%0TD;CP8=3E{3c(Xf{Y+6+s~8&CaO*x06VV?~5XmObu;Nz}H`!T44!94B+WM3IjQ8 zh|geyQ#Y6iZSMFXE53?^B7C1qY!RT)$Ycx=K+L~OBp#XtG3e_L-OybOd@psoa q%zhO$wcX{4P~Th-Bb0ep^x>cSa|M+ z!R`Ea-IpB@3%g((Z76E|r=CdNh8}P>6D}Z{_}LC_Vgh;aJrgK7f=Kv~h>0W;%W81U z{Yz?NI4#yw@~=o^(lK49&?EE=tvdTx`A8@F=*A`^Vi=1LE0`Q7&(M(XnjcDLGDHPO z-~hpaM7#lkCPjxybnrW$>uNsgpxfksPc1KuOQLCZU+uaT0ks!8nzGT64((%`_|x0$ zE@Tmd!P8V|$WtNSuwmmwf>AiwgzM4B7bjRe`Zi;^ya+}Rv`z+Yja8f7eQcAZn*Y6d z{ku3#y({cqWT_>$b==KD5?!0Syv-JA9rRFzp$sN=Iw*jI;g?_>r?Qx2P9)nxY!jH! zJJRta6QqPVhr)%Q6GXZ-*kXxa8+z0wk-kV998EW|%ekrc2URuJ^Vo%wVlJH~o$jlt zlWg(}H#sn{-AoXUIZ~2HH09TjdE^^1v<{i?nGfRO yEwa?qt@Y6&2h!E^HD#|?`4_WT(trs!QZma0 zw~$lFG`ddKce0NN|2G8 DE`&QSO&h1v5-pSLdT&N=qVliB1;@Bh3n9os!W{`6 z2| vD!Ur@-P!ZZRN5shafC_zGsiEtb+jQchd2qk!Ec)}>+qBB`N z6e>;w>+WOzyl&0ga+{D~#U$VI;(XW3D_wbvPLyv74KUf2Ti9mT$1v0>a(>LSKHb$9 z!zWo3S3iVCcO@Ms2Dt^!3l#aVZ_+UdLFw SL?^0)NS{3zzUEF78KM+V^X2X39;Zo zT(d9|;qwde>o#aXK0*!=o%q4m#2LuGgYbGMIM$sry_=Ky&d-74K(CZv=epo$T^{ji z%4GA<0G9;i- Q8Po(ZB9q8B7|23KA3<;+CI)yr z3P8d7xhC}N`W`e8V=#^pL_uWpuC7*dx3+B;n`pvz-Zu}t-mhEOe0pAgSm6HadNXS8 zkIyKFLXlgm9llPi#$#q-61rBDd}7&6FB$=mzy>q{c;KY502#vt=KYmVcxX^6-zO%k z8@#L0)vR-AQ=Ppp+M8YevciPd`9fFn3se26BAdH>Hc FT*3$CD8#;&BnjpfjRm6DCQ4?83*>3h}6(m;{8K%k{+ToQUS{fozJxoh1m z&$wybwykfc#bW2|+P85#b#vT(du`x*1&Qve6ZY+W-i-`?af!>KB1x@XxsaW#%4I1+ zVL}YT-~(bqs$t*@@!MUZ0|fnmIB`FbZKUe+j|z0MCiTwoJida;eg4sw8Zr5dygKth znyGhOts8%)|M_Q+N#YXetvi+SY7a1|gAoxF&Sfal5e+=COH@&o0l`2xJ%-OEKMV+# zK1jlL=Wfn@#sQ0@o)&|mS^Ki~VHlJp6wcv@?uc6!%j}(Op+B}POV-snolYuw*le0Z zMO0!w&8z{Pppl?Wm!WYpiR1tshMh1d*EVY*sZ3Qb<1^i>87vQz$;-pw2YjM|AfGHsfxKrz zk#d{Eagg}o_TLE~e#RwncXqcz;yA5?1+^`x6PA#m)kkjU7ryaf>cp0K2Ax=(=?^bB zNL7!tub!}1Xr7dW_AXje&$DRRavF{T5H42+SkFN4PF08oEl@=&iTQ8dssJ|VzDS_? z`R2cSlg^Nd0-z`kZnJK 5IRS?|wPJ6_JklMFkjeEOK%8Wk!T66(v6m zj&+r6hu81cHN`5832rIqftPC}NAB%oM}Q#%GbNFxorfy@-*k{(HE$;i!lf3iJ^1{_ zRDbu(Kde!$oy%g&acZ;9=hOJtUb(!M<6=T)0F7%}@bepii;mW#ebWLjUTYZg#WP3- zKrSRI$Yj+BLP3hdHG;MMd*Yh$DD PGCLd&`CenpklnPwzVva6w#!)meTadHWCB2>rvyGg-xAIj>xi1 zQT}k}0NNPWgIN(X4<@f8c6tEc@|)N@Yoa#DI}!ess!_!767ml;fIW?#PAubDm%DFI zF_-WoT_0wwO-7e7!&hzGE5&`A=H$2` T;M_=)X-OAc^yw1&f*+@bwoK9)fa%T8A zd2Fz;H_cuz2OAt%Ie>=UfbTc~GvOD7|1J!3+uy&eAJbYMTZTd+nwA-lpLM?BF-b(> zWh~=NMr|||Ao?CvQZscU!%)7eB~>BYRi45n_Gs0Cs^MHvgunHG0>xy8pg>IMtVl44 zuAhH!)P%NI_ Bxd^BLR)5po`ZO9k2;2z`o2Il(Bhdz1Cl?iZMcGIKcwibP65h?y^vY3|f zDrYel4JAkaz(}JF=^JwmuI|X>yQF@myTIwGM9C}l9GxKZtp-(zS_Vx*N+SNdDU*d# zpIN8WZB9v(PLW(?u}O7nC=Y9V*Dc>{S&ON*`nv@7H*S|bsaI`jb Nd#TwRVC>$f%UhZ}2f&W&cQ Yed#PQ+biD1(QE}$#ze>D z848DqYae(Z u;ol$=&wk(yRrvg$;T5pUjG zwgz#_g!ger6cjuzqc2EZ6jiSz)`X{|1x9gh*ekEK%2|(IR4t!6A%b>sm8P<* k3^o7a+?k(?XEO}LU8u`o|x5PA#-x6bPsiC;jzsTA0;L_NV zdc}m5J0d2N_1v$E#p%@~CMF+F-MO}i)H5Ms*Q>eXSSeAXO)*LuQvg9q)wEtIFYD1z zIghfTElPFP)|iwt(kWuL#nLB&Or~o}CZ5&g)r`k+%w`_6%nM{@-8a9 %Nv7)jZ1DqU6hu(m60JlEBLw&($6&Gye%jTet$ zCy)c*hTx)Vl}3IcCC_y>;F6V~e7JuuiN0+?M&XXtC-ol6CIv99?dsmpuY$H32`h>u zf8TkQ<%2#Gv2v6$k21{Iq> Jt(DY8R^mPX~g2+iGCNb#+71ZFeP^R>v#iL=^uB zG;(&8T5Un@?9@yxAx3S-!vbI!))u1vLJ~46y;EMjsE%_CN5gw;Zds|2)1H+^eJfGQ zl;!Q`mc~C40@pVhbo**R@Th9d52&v%;5^IO`1uW1_qpTJ0teapFQ}eDax5jiRPUBw zvgqRElN{mv;kXjs&sP8a6wd4I;h#1h!!zr>y6y3h6Av0%LF9acNmDqk GPOtug{5fLSB() z!VU)ZHI-4i#bPAymE|w-$jg`?Gh^1ZzNScnEyg6@S*3mnmbsQ3mF|0c6)9y)jw`{K zY~^iN7%$r#26}~0s4GglK9#=Xz_ZYjqc&jYmY92YXaPl(v9G!`1DiB+T8vI!I)P+3 z9;KxoS4VRjXoVW7;cG)oV>|0D)sBtJx?^jlz{yd&fobDO&NDm!6%c y8bI5fso# zReq%&oq_}VE^f_0Ps!=J_-b+MMu~Ksy+}nf|5{J>2^Q0XwmxOab-v@t-H-E2{pd=d zm9G_td9mb)poP;lJ78qkgyQ4#d@rP{K$+3(i<(;WE+mR{)vAcD0&E22iOXXmYXO}B z0ZVb$T6PYW8UOC^fvW&|ssjL9=HCINu=n^Q9PFjrpH)g&F7A@`5t4GdzNd5B)KuQQ z$HHQd%Lyb9@z1s5QSGx`)35JW+qg-EyViUDIiVG8`PT;CZ|v}^YBYGIDGs)A*nWs= z(Yur>BAuXiS*7Pfc}krl6x&Bgv1f4(0|O2V12$hMp%osqj8j>;Hq(8)LHA!1*L)C^ z-?!u-ou79zhoy#6VCNsN+>Xy3>!{J)YiZT#IGtX#k)i!3au4rvdAUh27E1TsV6_rI@+p)aDovvAxjoKHs?x^#@n}2wEiza l>@Sa?})`j;>h}9A`?hoTy-tBa_zGupl3EQfDz^J#C zl$%RVB oal4Q^B`q>xxn|B9Gq?6VmR2{FsCE?)`fU~`r)vn6t}j0BcySBO z36)+eajZZwAJ>pqk2#8>CL8N+9piAJJautYWh&UpXzH4#Zoe=fsoO31RBn)oT7k~7 z6fyAwWqFkmK^IpdvC^FYN{>nCmB}NjIUmEEe~TB{>9tc=p8NH&3SC#ptC!xr7lu@3 z u{}*aRV7zRaG(sbYPHm2!-XSG`*W z+Xjj2Ys?lxh 662G3-X}ml=kO}`TlL=iq&Jh zR(mN}zl;ISIwBeiwX~Gv|bev+)YLqN~bclfx!N6A!$Gqz*ACdl$1Hzou7{Nsz zGUK=-7Gy-k!*=V>tRo&vc4;iXYD_)w+XeT%_pQB_op~-P1(~$NCcPz|g5pTRQ3JbW zs2I2$=TSufhbP(`OIhWt8HMYl*Kxc-$l3r{sBp62eGQLT>9j_xhE7%;wYMtrs7rU} zPu%5L+*a)QqO{YgKiacn%T)|zG+Vw5IL|v0X_eqE%9&MFD`MTx>mwn=do?*NvPbz1 z_E(&?jL`U*Rkh;Fq)%$gfbac-7Ol8DtJKSF_V@$uVzyOppI5MVxgV^77optlBvS2? zcKYJo>KZH6Br~e}?@&WdjjE^i8e6n-N9^kLjR+gz`pXXbVsFM}wND d8xgQW4)61K2V5ima`~PzE`uH2XJJK#mKJ&4Mh_ zkL(HTbkdv!6{gTxq8xZr0Tz?rTTHcC0LCi9)IbbUO=^{WeYQBqF7_1!&iwo^WvN@9 z@{U=8M=FGUmYqI$Ef 41Jw_wtetAHs;zbR0E 6jE-e#xbEW;(#<$XYi>Thtw^6tHC$C?*HNgH< zo%e4i4s4iLo%c+2Hl<(6{>1t+iuY{F)LcEq*BUpUmgw j15Pr*|wpv`S~e z6OG{0iUZ8@+Ig9`6n0PGw1W?F+941A 7{7oga)f6 zE!;TaYO2q{KAOs-hSr|NA~Y#-hGFCwbzTv=%6nI)Ag@#kg d3;Sx#Cp zmMLUaanqD3WEt~BgE384k@NUs^#nzYw0+7`QBG=3YWJFAYI%h+Y0NAIrtykf3+YxB z`Ul9Fx{Bl%YRP7y3}Y877h`dY4N@tfEYqgZPcw4CtPQ#(@gP6#Nn_M`&Ob>^OYQN{ zMGtdQ#Qf~(eX}(%+n(e}d~ORjl9exHW;zJ+oL?l$k$XusZC-g#k?UElNusOdo8vbw z^*>3Q_qeeB#)p{q$01#0gb)YoU#}rSgLo-N5+YN*1T|zJUD&w-Bj%$oXixa+;)idu z)-Ty$qg>f<9BZ`ioI=^*4>M|HD+lCSa=3C{+e{2htZdG9Q4iSHAHvaK=pHilg@A!& zSiqDu19HpDf_DhQz$1qB@8x;6hs>XTPNiOMU-m4OL#E^MRiZ@AK6>^JP0z>q2H#XhXQ_R+98UmgoHvDsb!$GJ6G0Rv^> z&jSYjdaeBhrM#?}f912l^Fz<~=G+>XnR0G+fJs16dcCvY7c`}~`K-RfaogSZl$JV$ zaGhOcBOI?6^)g$&wB=5R^4#|qDsxJ2NuQl2Y7?)g-}5q3Y ~Q>I73se~kG&OX4V4iOo)o2r?>lQ!yDs8= zyL9 gypDcV(Fv{N%oUwYX>_+j*o=xMTb0(63XOMjI?-MHwa!potNVzW=e%m+`4wuj8U zv@xfqXRJWo{p`ikb$6E=ofa_e0LN_1HZ5J-DRN`^x*WoxDldM^TyA_!dhfdk^Wasd zwd;fvs~?=}jlum6IoLxYaScWf-wn(w;L40LIv+5x1N-NKdEBk3;y1**DiZJF=^<6u zrV7~0EuJ`iS=_D3@s9&`Z%a~n;m}{5SSMh(?TVUGfO%Xuuhi0BaF=3#L!EZY;_1t7 zM1fX@+fH3?HuVkIWoPk9Z|oZLzKPSP$vt>d5D`?mw#WC6Ny-EpvCSv9RjIsK@IL l{8%=f-GcyR9W=}$Yp-2OjoujwoR literal 0 HcmV?d00001 diff --git a/src/assets/image/login/logo.png b/src/assets/image/login/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..874b541ae0bc2627e907c3aab59e1e7945166f1f GIT binary patch literal 24034 zcmV*bKvchpP) PyA07*naRCr$Py$P6IS9K-4)|KSBN;a6u3{IE=Bqju7m5d1i5|WT6f6_^Sbh?{P z`p?iElJ3qx6NoK6$qWhnAssSwHw~l-Aq)l#7y`rw&z7p>L7r#hQJ!R3^-9)Qy6gY; zIrqJHrdRc D_zox#ymJ&K}lYn^uggvPI|Cg|bz;62^;C>Ky0=R?wap#H? zmfx}UJy%Z5%ZnW0o$?5O{{w#glm6`VmG$oBBLY{Uu2-Sriy@o};J5?sd}bXyLf{UF zch*&X3!se?IR09+E-?XHYO|byB>|b?#0|I3Tm|f31rrEh6@(v}VHXGc@-YA#C2U@{ zyxP3I-f%rys1Noa7VGnt1Z0{ocU Pgl|}2>8W0`p{l|BK8Q_OK301eH8Zz z^(4Wn29{G;0b)g?cA4tc`Eww{cnr|BVs&A?pBFxL?uHu=q_e~Q-X#GkeBqU?Rj;Xm zH$i+0fj7)>5$p!>FoY*1>>^M%i+mW;GeACLhW**)+dF^c|NmA1J3#JdT`wnjd<~pT z;0NIU4Bm( )u1knlzVuN>&}laHg;U7*HE z9xdVd0A4)Mz4LR?y#nqfaKDH>5Kba-+MsG6i5n$d2rj#@-P-W&`5EHk>h*{gkQ4v( zwWsc1QU5ZbUxIMf^q)?fA>Jxt1));_zUmMdR5rti8!9Zu?I2+yH~*XNIuM3&qRgSY3e>7 z0q}XS`dquU!3_Q*svR)`a@+?_f6nqf%YKIye@Vh=eZMmCB!L?R>}uS#FPqVdpza6w zFrnR$Tk*$%csjiLwR}c>O?9!f2Nkz9F%w($COA(6aMVnmA>amr_lxxq#UBN5;uQCP z9mMC_t Q$}S4rICbavq60Y7RD;cgHUAdXdyA0Q8W zhad3S{VyY)fbb{;qT;h5oitFN#G@8`bV4SKOtFbvL*V1%t ;z<5!5|(ccttI(pmf$WZr4eHw-K5I@PbB#nRabO7YO5x+t)l@yJ||6z?x#^ zRj>-eGO+mrRX{ZfX+Mbl&OU+ax&|uJ43=dijt6)$ARE)nn-`Y*4DJHqM?oGxMJKn3 zxY^#F!W)a%9maxk_z1`s-?nV!O%MFBsQ=POmD(oZVh|_MVjTS%UHsxkI@>{~K{R~S z^i6n56*g14PvBk>rq( <%0xLMFvf-i%qA=5Qt z3u=5H6?O vmz~dNENTH+dCth`s$hcgtA$CLgm@|F4Ag!fdlJMb4AL>Z z4YC{H4Wgc6jb{&}$Is`Nn_1u6L0$vtaZ$%pG)KgA5%;SF>>%_ifJM(1f$!DgGEzTL z8jh$xUw+K~4?X!O*No3>xC`g%MJXUF|KxQi>6pns0`SL>N-EG57DWc}!+lhNM #6AfVs4z+Q-aHY)^FRy_IxKe`@qGYyp@zj^Ucjl1_IvGG5znFe z&gYfRjsjMv k9}@NV_YB?FFFAkUNiFVQQ^H%?uj9=Sw5E{`%rGarN_;i z<92^xWk2B|cw1fTL=qMk7_{BtZGmb9B#U{NT61uk@UU|P09y^ LhvRNW|1#~ z<*k$&u^% MZpMoMJP$xA;=RoU%=)Vkk5IZ@<}&T4jx}FI z2%?i8h#G|QG!d{Yl&An@C7)Y~=j%rlMV^BHuYcP*mc~m yV<3O1==l;xMeQN@`t(i#Us^%@!M4`ugR`E%gLLD97m%UW>fdCo z51V^7oD)Ku0h+g_2uBxjJ ^F?AkU04}yA9;y#)XNhir~5Hl6n%^;tE>XiUr(|0)JCP=21{#X$eOxz0T zK7c=4?1T6wq?Z7EY4p2A?Q6Wdy?*pFvzv;8bJv0ukW*TxAGZU`KMdhrg&pX7^f8J; zZiN#ZQ;~8njd-^zJV@!soN82Vwy3Xa)F@jxQ@~Sv2O=J#@PJExBA!vQj}F4;yv?ap z&<=p+rnUU{vXdeijN!2=U~3J$jQ!ttGl=_8V>MWCg9{r_S>Ta2x3MfZ7`@wQ{-45c ze?Q(D{f`G>erENE1t}mtt+oDW20@p$tD^boOA+0BK|BBz5x2JycudlW5hj#o%I8Ax zAyUts63l2fo2ysV?J^{;@Eo#laBWr}WlnB#M!T+-_;5u?z>iD|>Gy{IO#oLyDnf7k zJh|&kb+Qb{wAra!j=2zDfM71+)PZp?>iX^Nb2n|8lXsuPP8OVi46j-BZvg(aL%@bj zx{l;Bm6MtNxesQ@SU@&TX>gixUb6;u##HkvgQ(akAskI_ugn&i`v}3Urk^*b)MOX# z4!T_NiefF24u+y-K(!o|Jx`{dnTKrVjkuX+7f4SDJcV>YzP^D&k(YWza=&08ZgE(x z!iGfRA=Rb|766Z?azQo3pHIH;AGX(z{pHMGY<}-pPy#aCT75R8bF*U@xJ1&K+3rtR z0@EXaO8V~@471cn%@A<|YZqHMz3&uL<4|=wq?Hc7F=%s{hV{K9Z808Y!8x-#nk1`f z5|sveNE^U5806jL$e`}ja{&(8_ZC35({B^`GHS}S;w$LmFJ&ASu(45BGecg6U;tiB zZzFY^sdNxVN&J@kNAkROYvbDodh>&P(Si|>;k6@w58&66U1blztHENn-@i0=Mr`~^ zkJDj`a_@=no40}Wu9B|Yd3Iyqn+w-cZ>Od2aXY3N zGKX_8r(G=w0U2I1a#@zGCp>`)j}%UT#{g^w@YC5$7y*G9nI0e*H3Ak9Zue2qEX4gN zsoQ0w3WXqKv;#^Hv*H#B&q{a4IsH0w(V0Wy$~ b$U~{8NWg>iU^vUu=rv+g zHI8eNn! %V_F{3zy2$nZ!-KWn|FfDj!C*9MFo~X{q2@l1w zIVpLp{8%oli5C@PAjIVoU*uKFsNL3h*_>OM(%Z+^kDWIk3wy5mJfs3L+#0dmY{T#b zi(Pj^d{O#>rq32Bcr5A3sS_m|fmZ>t0AeXd@EC}@;k`Tkpy3v1yc3m+gS=$GN#6$0 zF`YPr-k|O#= A_NjsmCE2h_F8k%QS*ws$~t_)0_ 3Yma{Ka@{)KJ(9z8w+)8E%biDX34E_laScw wFbQ+|V}T?F5>kUdtVPjt`) zWO&W0yI`o%pcPL7VFxM~_>1$W%@7yt{wUZ)YO`R_i#&QP;d)lE^wQi_Yp`_bIwO6X zGT`T)s|m}x8<-r9c*^0QY|(juqb)*Xaz8=D5Is49K~OBm{a7P@XaIh;NO!?AqwFEM zN07yIcADZYpXGQWplA2p^~+!TPSn`O3eQx*krCWts+%#U^i$U^vKWoZnVDBNV9!)_ zGl$E?sH)# DVci=rJ=0U265a(%kvmV`s(7S=Lyfyh4Tr&5u+RH9*}VwK55BesAJ zN0m0yk8f})QD6H)_W-;H)YGSO3kMxv4e$;@JLqB`ZX+l|@8@oLc+{>5l;PFvT?Vmt zgj-SBX`$0xPD)vz?lTxX#5{=Vu~h$Jz)g83n6Q}um`5u*`9=Q5L~G;!ox4|`|DFz- zfDE@ru4({(-M1<)c!#Ajs6yIuRm<`(EUr;D1TUi*;3Wf{`Yvib4a{*v%|pjvL=CJ? zp9Vp@ljH`uMdZ{n8}~fspAWPk3=ej@Gv49su&LE5=hnq-jm_525n;bSnSQ@!G+&pw zy~*FnMkid!3a@s=bi#jYuOI!Zf!<&NU35?cWN7Wkc?5nXeD6ML)iuS)Hg#RLgA2Di zj4Y4_3ZDRZYe{IDqBG{1>c{!iVGis|0pzHEYFO&6LAfm`I9=-M0H0gifvW8>Uf9== z&7FW+C-uXQ4bZ8-#0$&)j-jz~9=oZsA`OsOR8w7F!sV*)!pyZxJVD^g0)D2Dmv1<@ zZ;Y=SefPj)UO*SlyMPR>S@mv`AD&h?09%~-!t?;d$Y?Yg8j7a^O0h(y|C(nk78?KX zYp2LfpH?tjCZhCY eV~mclqNpf31aa$Gi#1aBE~W48IdJ0av7$oYKGbn;N&E zp%k~X13rFIP@Bs3Oym9>m0`R*qe-$&@<~Wm1JD+D|LD4%ZZ+;j OXzlWd6T< zhs}LYWpI&7tEM8SCUHH4@5|dyMRn1|p o}>&zDewclYn&6qS2*J8f_U~x7Jc8CB=nSCmA8w(GSus~$KU_IW**g$gnP2oOJ z55Z`0eD+_dZ6kG~y_>*Uf$U5`9ps}zo3+dZyjvCa8tmRNyBqTfcw9xxC3iN%%vej} zQJWLPQd fuJ8Ip`c0`MkMcA`BLkgB3kCE>g!91B_%4shx8H@kK3{eNAcP z+X$XRNJpQjd2!Ivb(zP>e=y4^jMW2+>ehH^nxbn-K9*)%{J_?iarBx?wsfM{polwJ zbBid8rA*6M(o~na0T#KZOxO(Wasq0cIEC;{_suMpVkhP qxtGf}l z$Ut_)0md>?Hm1{g%Z+R5c8FQf&j56#D7t{lD2uC%^eZEE-2?WK4tDa|#%oso zu13mM@iu=V(1gHFr~}#g2VXxjx-Hy6T8%?T$usqH9f2Hgb~v# GVjzB7^-yq+0hL+B8Ad1pFhXd2-HPj zlD+2Nyo?O?Be0#?5`jz|=@&=XD`NDJ2*h+>+4FzhX9BGn&to4%u3rKCE>s^2ut>{F z@_c!oubkMy*Ef7k*A-2Cr`;MYlQ&E^<^}ruoC(PAIcJ=Ks`_36O0)dsILb RZ(gIi9 `0ZIF1gNgSt@Bc|3# zO|HhkEGFjMs43&+zR2%g>`&KQx@U}EAmITw>Dbd&0*8# zPC!~C{|w p>#>ycwUfnby&e&2!d}yLI`o6 fR;7_<8N30(vESPT%lRa>TT`1# zaCExXBS#m(xjm3rn~jmF};s*10(kYG<>=xi0g$ddy2$>mF6C=)Hwg3Gr4E5BFtn zF|s|6Q_D{bQ{O;~xc7b||FYfMm@{6^=ldR{z7JSHhSsk>i<7dt8(}=b^!MHlL~JIo zEcqaL 9$v)W?pO{T$S!MzXt}GOVSv68XwdTAO?4^pM_u8BuU{sjqx!|= ztZ;AR)iGOTTJKizyLzJQZGhTTwNDNl>A0r`C1J?AC3I6wJW+{8ELVo)Th^j8wu`6) z>+?2aTw(e2`)6Z 2d^agblP`Sfg3wTQWXaTvq5zi9 zb&i95(x*ZGhxql~f-i8w<|mKCUU|1|yqgO9NL*Q>1G0q$(V!vyiK{(ZpjD0<>1V6N zr=1zixYM(P&{ArT24oHZ4>jo*bFl>sY^T*AsbQ*`{oRDdVDhI<=~W8`(8QbUG%Gnb zI#*h}qzrF2)v5qZF=va8KI-j@IZ{5IXdRG%46j+$0=c&HkcMG!BAjReUm@^Iy@AMT zRhXgNb<;W{FrkJ)$(Xm8Lb)Ji!4-_#QR@eCsvuq`X<0eZNmupr=0JE7l`gUza(S+( z{>5lKgyUu!adfTcft($e)pTFaNGOQ!Tg^6k8>B?!*6qdHdzPCLXZQt=F=Vf$0pw}8 zv>bKEspTCL#LdfrpIr?6y3 t nvR5O-Z4s+xW%U#s2sEvKIK8;b?#Je=H^PNptzmahYIsy^m8 zqrBn!7%HPj D))ie;wRXu`L^p1Zht zhV>tzaRq#wfYm P#L1j#bd=q39Z>MN>@&c9yV6>&h zgeWU+YW7i)Ys@92IcAtn`@8nK(Tq@h;1^kB7tTsRhS!c<9vOV;q9!hEK1R 46vQn&(Sl8UxZPVuV7LR@E|)~6`3*pC z4R5Q2Kdy=YZ`zZ?@IrJaM1j1l=&hOR)VRZyZ0ir%urkb_)qZ_pz6D~cuRYW{{bXUq z>nj)WmZ`sG j$1jhcJ8C>+M@*ZMfSlM`{R6e+={-Bm zpB7>4!kE^7uJf}IFhDY2dPra#W30UTWq`Xdj*!7h0DUwq!Pe*Gut1lwn51 nE@A@s mJaAKz4TU>Ng>OH 9j4Sa6>Z~ug+fwRGgRB%BcT!THP(7r3W2wn zjKw@M=YfYle~K0Uar@fQix 8%B zP~}V?yQr@pSU`qatNx7Qd%ABcZi _O07nmzWpvh-?E1$O*02KC`O#+v(9`TTj#?M@Sqp z?U^S>3Jr6cWK)lNDpICe@!POUwqZ5blH1p(hL!?c@kjJrP6^Eo{|VAN5+I?GO+VR( zAngl8{l4+mCOi2Kn>N&1^-`)@TS|!Pc)OObsDF0b*_$k}?TBpy3CK`umz{HQqgb?&!x4=XW3E-KH0i7OIu?$mWP%GKq+j z{H`Q}vb&afmMq#F^5PoNLS^2qNZ*YEi~f`_fL%8p(Z{AKc)J{1U=-OV_z6M3nM}$Z zpyP;2S>`YI!ZB(>eAu_)^{Yo%<2{mGN`a*RKCyl*+z=1@Iq3I-(+bE?YxS>FvhrxI z8BL6W`s0FbqJi-`E>&N5!VJ35Wg8pjd94piw)zQIQ?UCWM-I@1o467Kxfd$;VioG6 zn{h25E;TIOUdmB7S8{vXw)f$$@3I)mk<(glSiZ8}{T@*-Zm%2tjU(s9r+(Av1!T?0 z_h@!OZ{fy4Kc5KI&Gbu8kK8cFosBKi+2JSQV=3Ki#6Gc&_!RQ$Si)JAqj5?6y@dFK z_W?65?VL+uk i3g&fUsHH9%Hg1Np2)X_FKxlS64ag4e;#j*{ja4ZvNQwX3`{8? zE7y*EGEz+}%{54oHTFCOq|^l{du+_7u3
BJwdC1ebM z9d )avnQZm@tfqw||LDB_C@kTMo8>eoD*xk`3XWScg zO^EACL5*KeAm>*3D5}3f;bMh0k{htT0WbtPT9#arFRuIB>&D7?5=#qZX$HDhMW3k{ zT03%a!j|6K$qh#CvkAMP#6lKY9NEs (j#kGvE8IwrXmu +7}d0ykP5Id+j|u^Mo&(%yy+)6N@P%*%RwtuYfx!(d`3PiPZF0z&DNBLCm+ +~ebML;G$_Idz@%{BcfMP>Ab=Af|!b#6^7-hJ{r$@?ELVg-jmpraO zYTY(=kSJ5oC;Eg$&3B2DXU>!;VQKX&%|I?7Yey{h(M#$Ni`Nj}X|nPh%SA&JXT?+; zYBnQ)%j F7&Q=nwZb!7!F!^&3v6#Q51)~I>SmfF$`%xDH8 z0XhDhGf!Jq)i-o|NC16=J|(cLrW912R9#Blu#qa1-7kF?WEU0OFpP9DT1F%tC24tr zGei4!VeOfaO6!i)bkP~Dgr$p%GY|>LaBJkhK`;-NYmzP{*@b-&`h>t9WIRoHiru+J zk7F>B#u(RDfM%R~ek-{;<6GrR1K2LV58}fKjw=O5MjWvjEX6aKgoP#_TTYz5Sm-f_ zTW3D4_H(q<4)F}^XkBG$dt6~^xV7r*5%dEQcFA;ot61vD)La=gz>30n=t-Wm6suFh z6<|c3oT^(1BYZ+eoj3!GEroIf&^` zG|m4-B>@>;vuZ8Kko#!5=y{sJWF%|8ZXS7eME99T+9Ts##O3S+9-GrDBBRU5>0;PA zg@?MfjGw;U^>V&?$2l8so&VXKyC W#|f)Ged8?7&8*5iV?VoLB~D@#>cm%?$<5sw>u~Z*OffX2eC+mIP#h ze6CbLp3!>6341hTm7yAW$VxEB(eos;5NU=V&{enc1gDHnKZT}5aP_86cdvkF4snl* zy-=TRx5ob60-5R=4P!|_W;9*%cX28pL#;DjOI4QN(MX6Dmk(%si2p<3x4OUQj36Pk zX9RU8`9(=Vv6c9=X{u0#wexzXja=ayV~-Ejt0>Q;sq@iu0Eqvty?*0o=Wq7ruV-h2 zEZ^T{keR s{J;W$y lSWnuNw_ zTEJgTtRMXgXM?Q#(Cbdp?tSKU@=X{6(SwW-e;XFfL9%ND=-Lo;rI4dc#K`-VrpdbO z#2#&sMaNw=qo&2GS}sg+X$3C+gs7zx CiGUtTSfEppd#; N zOV6%IY=SIzJ%Nl!*wrm>oEh&K$y=g+X*0lX0UeTW9&c?l=fa|GO9HY$K3yart<`U+ zr0%hv*7=a|WfH&a4;MTb)w6Tuxq={Fa=HlkDuG`NUOUSZ@BWs;Q4-@nIc=;!d6&w^ z1Z`sdXt`kJ0-5tchS9irmsG4lCTkwAQ5~vSNe+6FGd|g%YTx8em(+umLfnZE^05;> zqp(*|DtakyX^0n!CzpfMdjMmn^=u9wAL*5k25y*GHyZKs&g1;eTh~h`$h=MM%sLKF zkm1(q{{rc+x;=#C(zf6|l};zWJIUdQ)f_|#ORglF?dlG(n<09wa7|nvB&>XUZ&If` zHP|CU1_580SU2iUxy9U;1Z07Hy-+}g)~@~lq4)Jv9bFgf`ev}dq>~d;NRf@n+$?{j zF| 1Z07HzQjl$i#TvYI?o#ahzcQeJT#;cCRHh^Vw;@;$RPB+_(=|6Oq~H&MNk;> zE=VtS#{XgB;et9ytoEuUIex7qI1<91bpCdr6;iJGqo{d#L3^xW2u f$UF6?~JpZkTn;Ckggl~aS7Giua5Y{n|OSJ)M3U0)Qg*Xm!MSI<7m-YQn&+UOc zf9V7{klCBVdt)19^?g0EHW$0-7T_fGRe@n7Jl)B=sk2QD5l2bdw6r=@Dj=azpJo-N zkog3crKdpplF{U*c57ouH#CPcb#S{{5|D#C-+iAJ+aM#4KzNqBICSy)e@IK2rHec) z#T;i63SU+OQE3K}o<2PeU1}2) nJ${F^D%v#>mLa$-yqLy1{c?r5(Y?H0|M zyIDH;J$V~szikeONAu(wT}V*!QfX#t1Rnwr{~q5wclSEV+h~kY-yB{$va3V>oE6@j z&d?5DB89;Vp8><7H;I9dNS#Yhj5Kj7{(FS^;{EM)8xM ihTxl~GUuasobEm~}0yRnZ$Axk9PXK#S_>4X@tf3xL z0i|iZS(-1 &hB8J2atSDXw%H?~Ac$6J)m>VX)4#<^C@PEbS-NK*l?*V^rQr9C-&BY}G z-q7nRj>;b{Wu2D 2 zDP;+lGpJQA@={8^0u}WX)CBK5M(Rouy+xeX5)|$O5qh6`k#)w*j*%dGoinO`PU3gQ zTcaOeSkpW6(U=W_YVwmazjNW;A<)WK^!S;Ha9!DeLmMQrM*!{s)FmS Nc|);;_BSB z8|IGJ@OqlB$B`G(i6Y{8=>u2w)|XvNoA@}WUI{hfLJ)869Wb%oA@NeOv3~&6b@hfF z=We)kVNLPOMq>gZ)Qdhd((jFUMK_%xnTCiD&8;Kt1li+k&SN57JHZOaM)8u^mT~z( zq2>`?AKDv!Oo{Ci|DF3MU(BrZL6Z4L;$o>|XShyNHLC}aC$EHh-lak&V0v#lz;G&~ z5^!KrrAqh?h@a`+K>R_wHTpkhwj>wc)giKB;f?Od8d00au3%O?hrCgePoQ#*-vIR1 zU}{3PcKhcZR6R|}1up{hQ~geXrg)r-WZ1g}_IDPfrj4|Il7H`X3hiCtMPch4BR~ z@IAhM^m(p6$Z%MGEeYCX0z!NN!aIUR--}TMo+y8E#;#rf@u`4V<%**57FV&_A3eB1 zl+1;^h|fLkhbLc#k6*KIVNCJtMzJIyvzxcMze`uO*NvUkDWDS-@PxDnjbAxoTD1I& zFDMX@0{kQxEAIu=1uzP{i3n N=HZ1i z)q{^@Nk9gltNFf?tlu%-+Vn-QVx4{Zi?nRH70&6jq!e?K9hf3@W6xHaTKgR+@HQpx z+e~c=@m+)k8x11egR@h22j!{_A9gu~E@=a$|1`dS?0?Vq1kOkQPC!s!HXnT-ls>(d z5#|KNu#Z4>xA73zsgPzWg?ePr4?GoUGN$gw1n053mX_)WNkXz`r+roA4{mR5yw?ec zQ?u5Nj0XiV)1Y0N{PcGKemBsKE`)k93jp0zT+12n(hB(;^6M1^{InHdFE&D43*puM z)T|81NL hi6&^4Exwxe~`O|ze% zLwDzrfE>EH?>yPegz !ATyt{xxRzYC&t%}{Z=F(L# bTdUb%_b~ zqH4~gxX7A=c8LF39SD*ie+ny#oH1#=n1YKxRr4dQgVIy#aHF|w3+)ow$t;c6lQa&} zGxwBg)g&5?#6Ou>zwyr_0eRY=p7H$2<&~WhO)t6`WLUo=ji5&bI+2%j4qxywhqLdw zigSt~qQ{e!E)eM+kT2~0v$I>wlh&(xo7GI`IqlZQ_b;-wwkU@?)LQ+Alw4I<-;&D5 zDIY;v|HWsQ?hiDSn^D8^NqoMLXVQEEfCszgp@PIQ6vL8oZzwkfURmog+Q27|nmlFa zpL$PdSH-fwBs8QpkZuAA#p~3h*ZMiga?Yca+5!$MrS?g&R*`qAP)#=mLMGlTAmP#y z#_I~N-O(ED7ARemt8WnudZ;zBIYC;dcH=12bI)fgI1za|MSPj^buqm_#0y%)jqLDA z`vkg3!^i}Jh@LOuQ8Gxy2m;V4*K;Buaq<*$I-W2K@E#Ep!Nfe~;t@nA$0Np0r3*TA z=lW?#iNZosIuqr%K6_GS$_uSFKs>X%j~xc3p%=P*47WzsKrs8YIXrkB jxGEELu*#Oo8*Ukk{bu+Qg2mS#Ws;#TkxiL`nn(9t}suNqk(B!y3?dl_lH3| zr@3}Fh{vI*4tr|b*lA(3McsPqqJDm&HTI2#zR(uq_=Z{|uVal%0=!&C&Qai2i!_I{ zDnM2lIjA7e%u#~LOH#L!(;};amTa^s&w_+soLE2lwW5HmY>oW13`XAD4k9w^0{L46 z^(aKi;{_~j0z(d7ejCuw28+WM_$z|l$aK?gQJ&m8=6Jj;C3v`VPpLZ9cx$Z7h_V ;@Cl+Lft#Md?y8s4kX}8)ke3sfRSn zZ*rBFdsMYCH^L()aPmc4TGv<_MzgOcvp?J#xeY?EgR~lL+~F2@ZqtT*!SP#JvVCJb z$HrQ&8#?36j>3@mE#4u*@fo13(&n(VbSe-qascr0PJtc&mi({n*2a%5)P=Sf$F*|J z>i3BHv+l+uJY a9 zd|ALf9aUB?s8<=5FS0?b_u;jx{sQ11_IB~uz{!JxF#}05DSI0ou)|(53F^ja7I o;c@ftA(=E4sZsB&pG1^RF!2ucC!EhMCC4W#DqIJ zZUE5b4#-Xq@GFFVsVj8Ur3`9QPRrAl+qKa;$cRHSGDEzxy?*pF;q+tzva+@6O%lHw zToecKlHxYG!00;=!%V-JFiyGv b*PV#{c z{z||W`Xh6>KQ^5XXoT6}jvw0|d16%@G$L-7aC{^*NllT|71$ivUu(BU!-7C_vS5y+ zPKMX4`U8+3?e6lz^%XI$$m^7r{ML2OaiU&aEj>MubD_l>YfcDaznjO>uPgt1=%9(x zE(qNu@JE7`pE`uT)?S~ljqC)m4u)DIAEfZ!ZfD7ETsSqp3-Kodxl7Y@ q}kS5L;+=p7v?j-3on^}yxOQ>rLiF l8b20LS{8u=;K4@o>*hNGO`|oZD`V_HbthxNwey+lN~tKL^3GHM{W(0iPoAjszib z4}>1-LHHVoUkK+Yi;ZNF^_a&w+Z?6qP|+B68s lpw0 z1Wa~HcNo+illtND_m6#lAOW$9hFhz{^3Zv@YevwJR<%t$7O9ZrIVCARYbS_Hp{NjO zbWI9UY$m}_yst`LG-XqP$X}RfZ8Y6^sZBEjE7zU*lT!WVfRfhM!`EB_YrObVq76eo z*rMzSOlm(SxV!R(nm||5>SakJKHU^E?`c}CS^8{y{a9G;JWxXVOwRC{Rck@^fO96b zWH&-uP>Uj!CmmF#1KJ?Tp)k%-*zIir8!JlBTawjLOjuWpbi(+K^0eO6&cP&?KX+&A zO7qPxwLUZ8f`R_z2q|c Ld|r$>06Nc+n;%fjd*i&Dd4g!*Iu+9 zx=dlAr^K6;**oIhU@yKV>6a$fkDXtdf})CL7Y?2Mnjd1d>_#xE-xi`IZ4ny4@cB*0 zZ33G^W37ORNoycRMM4X#j%G7_ML^f}mjx@KTRhn@dX;XCT_x3NEvoN*;vRy~G#<0! zY2)v`!WdMRS~3IX&Q(=?C31!cx1-`UP>;{qZcA&+kUU>ffcCa VRXZI*D z_> `G%C3se=uds?#V!JLT?g(p4_8yd$7*C_%4+7jC^Qxt+pNTP_u7`ZQ zUvIA)jXZ4WdrvPQYewD$;%_=P5-E38% m zq9pu|n8d5N2awr=9oyC7#u22%ts!C<>VZ&^a4{Eboc^5Aofk>S)+PP=#QHHaBl@;! z1!U;GtDerIXc(Ga%p$1{mDeuBH^E-jDiJr+)Aw{L=$f%_u=j2ip{QDwAMPz6Ulfu# z zo{pAtR?l8Q?9L3pn5H~>48FPDI(ZldOtT}i=UGa0|3YNkl3dJ1+bu(#qe0z!q+SdA zx0ofxziymxRocybLeE2WjejQLlJtYN6ViuIsP=#4a6V1?sZ^G_VAf=>f>?KEQf!`? zo!=w)rf~91)2M}~Cq M@XjxKpGx@;@N_*UsB#b H>QEW+U z1v^d+@{mT%qXk@mT>Ia1o5=sW^jXj$kxNB>K3~< ~>eipezJyJ$z@;ZN_@031 5*$q+(_!6Ty zNCJ#3ZDD?6?&dg&{G*B1#xCG;s$Fkz0Xci*C0Oo`x)6>WR-ZC`<%>{s^mXf~cL$NX zY!mN=wi0+GL0%dV@sw!yA-={MKNWtota6cG^^drdPaU*zBO~A?f(#GVixB&d^i4|p z1eQ?0i&pI#YMp*E>t*i(Y5CUK24EG8QDHbCU$7ZT>394d(@!|a`yhqYi#rJJFpF=( zofO2&yXzv)<*=XP7={NNnp4G(-}2Xio$RG$r?oC~X99KivR(U6fAY_-F(%Pz+rR?i zPLZ`E=K?r8=rzv%Bd)fbztG=Z2>#sRpz7U9x~{jF5#HyV7=9 G(q?;Bq~`k_HT*o*-;9mwJY#JK|ZYAg!krNFN=nl3#B(rR9G z@i+PIqwOG9B&g8Tcb?I^_^%bSXt;k89#SlT&810g6Myl;5G^BdbvkJt3ZWYTT26Z| zbnfvyU#P!&)Uhkh-};^_ZD(8%?WESoEBDuUqbmGH;Z*1>^vjHeCge_bKltKBTMI}8 zd*hTxz~ACMm66N56qg#r4Q~#dig<~v&PdZ_8bcH$bVAkTEAa9Yhagh?pSh34WvB0G zU1ek<1GO0mi1nB;pCBQh1}5d9>OK5a&NPvEFN#Nb$*-PdG&XNpf{+yJ9||yRQHbsG zi^a$RDl0r0t76Sc`i_LBO80eU*}P$nk)y89A78&I%*Y(*L(IiRC$v_-VVUq2L1q{9 zEsO0=byUYe-I5mF$2U8!Z3eL#<^sgBDEVvCv6h4*<8$^aI9ACEoK|*v6SzZh!k%dl zR;n*B-s56S1@Biaz|{4g3N5wT>&JQ&MFULwj0NPB*6GJRr4^%!D@8?igj0PChohd3 znbr+)i8a!5LhxXg1t?6Q!c|fE1piX0N@o9-xgVRw9edmShqBYjpb(vGw9Y ^Yd~M}2;>NYUz%pahF$BN1mNa2M#rY}w-4~GikA$vR{bJHiw79-c=43$?ZUj2 zP=%meMA&Ho7VdwhMXc+Q!sfBn<>{m+hwv>ho}&Vq+j`EB4+WKc8^CL$T9*lNTthFF z*pd;qwDX3xU-5#Uz}wF=2FHQhj0MDc&Pqr7MQ6NM-RLN&&q4e*-H`~7fZ7|XXMF;H zksjL!&8{S-l0VOnA;a@DLXwte@Bu6786bWzn=R|dT5g-zzgmpv5{K!rT~3Aj^XcCK z=mvnBC5@@B#&*1aqXozYYA3Z$e?iToUV{C4sVW0t$`Aks#0+t8ef#nYpL@eamRxKL z)m*wE4Baj<){yfc^uA-~Ml-4{z!&qB*-3o97;-kd8&VjFslnHaQQiC8rSH|I2+i$M zxCQ%eD}r}O5WKqE1(_r1uinybZTR*;6CPYND*>_lv&8+>M{cyGz(r9)jc_H1v*JM} zI<2rD)C9nwXpUR>1~cg%v3>#fYAFVNX1kLAEu);Vq^XB0>Fzk6y4RB@Ju~Qaj2-J; z!TXyW`;~ygpy(jqp_Z_R9++vQczYo1k*OHI9K;?HE9C{Do5eRs$97G#03UA_ep%h} zF&^VgE(zMzB<@p40ooM~N5Jrw>;#rR2L_v>-()sKu`l0;ZGz^6>7L+Cs;&uW?^Gu* zfYc-S@b^aALy>y`x(A53oIl!LH}*$^&Rrx|v$@F$$T_P=u*@?4g1R1A)*voKjTeWz zbn( 3au)_M!=0kd16>f>>XG)Xi z^lOfT`k^FXIom0o&3&62KIKSXFLZPZsG}1od-pN|UlsUFK$*Qk;>&%6=Ce=&gSQRR zC%lEtU`FO83}YL{T4Nhx7kUIE8LV(zNc2!p$sRLC`A+JrUk*9-DUM$86SK|vne_?c zgrv3lY)Iz%?KI01-X9%*X?mo;GTr6xZ3w`6r%NdnGx3Xe9$M0!o88a6AZeV#T*yx^ zsYWC&ksO;#&%NAzHQgi7Y!vIS$NpGe#>PhfgfW&AI>8qv4Nk<_EdBHzn`f)pVrA+K zLrcCqicyuGVcD1!%?8QUN`Jk@9W0Xl)@ZSMNY3>VA5NGs?S!};l^%>qJKSazd!78^ zHK3xUMD)-UCM=#Ly_d*FNBn0H^ia6cbY6qFq=@c}bdcmb## dAOW$5u3S5E zX`-U!K(-|RT*AYoQ^C3_Q?tkosoOp7%O?r{35c`VnwQV>Jj5MjZAN#LF(z;eU9H1j zZNuIKy5remDX;50sl+wDJ_TN0^m-L;Y`k2LIB%GEEGr#Vi^~X^O0nE+DhBAZKWzT% zBhYsnC$R;@tmFfwA%f4gl+pY&?K|STn*QSeUURv5fI!?S=hZ5xlP)QVKL{vRaSf4B z^Hq6zbKx72k4w6lN&H0A!xTIG%grIcOC`AqPrmVfK}Ru8h>Huly367+;b9@1Lnk0> zM&2yKG6#EmE%6XNQFZfv&PV=e0!uKorR~ )!c2{t;)%D@wsPqK^O+z99xDC8WT)#or&sbP%Fb7yLZPjB|m4+*~q?c9XI z1g_^eN$+%wl;%9ZD>9?jU%Rydl@{P6?wf}t`#K-{Zvb`K(VKs~M}VEaF-LMrYwH(z z0!%FaTjthpm~_I8@SbXN*_*b1;3|u8&AJ`%31UxP*&6w |i{8l_ksDD7sH>SH+Upu3eao8L1Mwi5&$3S+=+dj{2yhc+^wE6ChB+m#Ytk(OK zF4tLqv8it~SGVc$v09nmv)wJk8ZRsd1D$bgiE__OAmaAXtgy^orPG(d#|8X$_&9U# z)}X~BQUdWjc2)91=JcTZP{CaHp_-dV(B~*abWQ~1X|0jrN#W82JeZSE=Y( cyTPt1^`!%3LJ1S)%RKVd`h+dm8%Gyes{@QDaS|BQxZC#$>+* zOC$1jWvur}Jf0O^Fs+R+xYX X^vuFt0GSZpGmV9nZVl}_87 z2#7yLR=r6zzn%D}OW2$*M07EIkJXIJwVZ$>UI?p?9hXtCUJaga%=6iYw(3_ExJp)A zFK;$x6QVRG;I0(8r9ypY4W8H!!qIn~JE5VepL^_@nqnogCdk??^veCu*jJ=wAg%P6 zy@S~&KAY0izL~YHqHYH4F?eCZgx>4P6-zRMpJ6$Q=69o$t*(#lg03ELl`EPg^?-*R z2##c_){))P1QyN97CbwTU!`?J8jT~zfTiID;_~(rPrMm_eV3c#18s9AAU2TUBt5qo zTpaaw#xd{C^w+eSm75WM7E;WhQHs(!%oJ~pl4#s&*4+SaN}2tdaW!;7ec~71U1-K* zj~F7EZS(8^+Ah&z6^BBlDt~|HS;B1)kB3J*^nHhh)7Cs!W)J4qnTk{6 OJ&8Sbvvq&hP92>Pjs)@aBIdO$KVrvl=Hq&4z4 z5DYmQZV^!-9#Pj*=JJcw8H-Sx2P}4>5`PEbcayiw3`B#vgZu&^qbu#XX?=p#SDOTz zL^UuO!sSi9x_(jVtKq7+W 4dd+`H1E-}X&%mD3WCYPOR?nEuXwxi;pC_Jvo&by4z2+B3Tq!kUZI zN@Ar1ITNCR^E{@T&d%?1E+F{dr>_{=vi#c&6KQ<5pC!J85n)?+<|XQJR~d0w%{t*z zvi;+uQOy!}xVYSaz!m6UNzgx3;18tHaS V+V*gXOm-5>#Eu)PrqMug*rW(+?Dw7 zr<&(&A|9al6b%35?S$A(I_Otwu9GiPb0@*a%*||Sld9TEFxw7qoKvNR9zDe(&y~z^ z7rVZ@7y0P Li`An#ft86F_}2V5fy@s2U0j?Qpb)D?q;ksMFa)$g?4K+ z;ue_U^cF9ldjSF9pw^}eg=z e+2L?u!vdeXKk3w^%?-~}SuG*%qjaA@^H%jm%=Y;>mV0t1D(#TCrvmm0 z4xhHy@=^p&x^l?QrZN-7{u>B^hiA-O$b8QB9?-Ghm$D@-mB7@jyJ&U;8L>|`?_%mq zIX)zeT6#gM7G=dZd)xBo3iz%xMc1zGS8XgkW$qyBw~V(o*%;@v&5MB82v@FI{SHxa z9=G%W$arBE@mbjDYum-lh$7EtLTBlMepU-F$>;Dn1-wd<(Nw03;$FYImjZ?E9I}*A zvz_d|qOtD2LMSYLVHtDFLTKj3H8A8;5}sMwaC#?(?sjf;8O){_?VluYg##9b*`&S$ zTc{S#%5rInEGGr D7{J{Qd3D>hKW*x@e`C|80 zSja$!mK}HSjCSgA3&hsoHoD-VUOug`5;seDg3?IeYdvDuf|Y3^l+QLa*J?o}?GuYK z1Kk#Jx1@!iV0^!bs4lJclugHdAO8Bp`i)a^TOEkt%&UMnA!)7tD5O7#2I-0AB6tCS z{|n&PqwCCt2VE8xXz?32Hj9oWJY<{qetH-13yQ=yJ3VUM5S4z5XKh*%2uTmq@~sUs z6xvNw&%UV*kI^|0v`nPgT>T^4{rfW7PK!nxq1xjDcM$b408jR1%Yv${Q;o+N*D_V= zX$ez*D(ttqTH^( zn>^FWFQ%MrM$aC7Qjqg7Y z0hsRIc^42Hz{<5FpG@tCCh8pRvSmAi2HF0X+}*3kQPF^Jy?TiLZ7q&r1yizPU%(ag z3q11KcP2@m@^s~tDv4hRmaA=!hvyEw`-NY^r2@#XRmPBSxh^}KAf$bd%JGNPa{m>1 zG;3SXiO^5?WxFrs0E&01#&N8$x?6y#yhC5p017h{uixyg2q#ab4;F^aPT|Yo9W!wf znhQL-!bd&Q2H#l;248%u#?$!Y(U0U`w_6+k%b?RR+v^UBfY{)M){dMP)3vxEmm;eF z2v_SNfTXxZ#BWGBpH)LfZ67qUGrYG&B`{$v;!=mo?eDs^sJR)-A?mc>9A6u#RsHRi z*?ys!-)FfcmfE_j$tSU3-84;CIW?=CAZ8oFoe(V;TYA4Myq7Ld#ckAH1ARt9lU19Y zdUPcm-RIluM)M@D>0WadzaKOKv9S%eM*bxud@H2S%2He1PL<$yd^s<(CAwa(=AHjV zz%jXN(%>oP3CTYm3{5OtX}e)xm#3))q?LYqh08u1q{*FZ+kKu4ZJYx^KnCeLy2i2S zo72OcWOfQ!I}YHKTw$F)90<|7)lZ4&cjAE 0ST`Ef!<_NV&FF@MDj>~Ca&ZCGSxS}dAcP~tsKq~O@uXA@YEY*J zfGhdJudvKOpO=v}WA7NH@cf7 x9C=raS}DiB!=BhKd#9wD8vXp!MwNw?nIZ3T2STqa!+%;>K? zaABGK*P7Lxj(PBY0n01mOoeF(X@8Ci)&(|;fKBr(0(?wC?T?@fQ|*il!%}h6NVw(y z|6s3FxWB7}w`%&!>v{lRnpij5txh$oshGu0heSZUkc|9O7A&Hpy*wk?H6|cjoVf?x zVpURpx_hU=By7hjoF=@B(3XCA=q^C#NDkZ%Idve=ayQH=P+^;dWlciQblHZp_)Ign z#ROQmxd}j;n%b*(->(}t@0F&=tKSK611i0`&*^yu=yF-I-Mv3kO5s~Op>f{A_(UN; z-EM7+J)AR`k^{N)kO@d5BoW`Q+f{&Dn&^7`UevcC8caRSbug-YTg=(Q?0cGYQb@h` zsJ|iZ%OhCy+dMGE2y`OM`(ROP)pxqcc*Wx+JcrT`r@QBYe6;2yGpNZeuGU74Ntc^V zo!T$YJbRvH5Sr`N*&s0iTX5}O2%DO8*ph*MFQ_ZchRcx6KE7dShRlA+Y7=%ID2x}- z%752hH=1Dk4tVwk?% x%JFWhe$wTH*EmWQk210Wu|Afd*%ke43R7Js zP;0ly{d8_%9tFsl(xZ}P(|&bhOst$6+@6;Q|9Tzl0Cg*Bo(dL|uWU?T19Wnli|&P2 zn^5DGSpd={TiHRCoe;+2lA#btd}O>e`roI0uX()SkPApZA&~(HEjK*ntrDJ4rJKqu zBQ7#tPKY9mGWAhN23E{ybegz~J ;vUtiS zC*YF}?8JnpUz)G6W*Tc@iQIcT0kd~9wXW}}QA)dYs)W|H*N^qekRPJ?T@V7&Pe__M z=~tQdQq_E=OV&vmjk%pVJ##<$?QM+E&OYSJot|!Utnq_Hz5T9ykAw-*IHqLkSn7s8 zIG@*p9L=?DYS%H2WWk@rQ#TJ^Up|GZ)yelaZ=OL#GAD;a-PU{&s5slw*lB9miIY|w zwlNjIEySN|uit23*F)YGjDXlo z=g#bel83JJj9Xk3-=hlp-edGVRgK*)-cho{XkbSk)5kj&mr@HyVaaSM`ysHqCQjec z8tu5$XFNA^eZzth5GN$9Rd1zeC5RJPw V6=gLDJER8j+NYtB0SIEWS zEHbsAFTk*=>1_!~(-!WT;v?-8`6MCp%o)^VH=)Ver}!3IWvY%Ok;_0FgBnAP(LBA= zAntK5D6@se8(8{Ouz6!^xsY|eT%<7@CLG3YUY|ha3hU(gGp05{I|{a9r(TDp+(zHg z${p-S_4b)Cug|qGl=@q60%C(4Zk_pJVE;$cN=M! goK?+Fcg^F}S{>OV= zzIZwR!hG`P;fcX<{=O|BuaWd)d2&y88m;duVbN~qi75jc!%26iON9qLz_5CH%BFH4 zA7}>mT1KC35W5_q9PuI!2D!HYs<~=+OFC_exQPW)+cD>DG`fxEjVo?I!mX-cBo}$a zd;xf>rkdjgEg&}Vp*17FLEta@uz8fgjy}y3G~zd7LXW6_n#r(&lE$oPM}3I`$Y17& zB&u62=>U~pR#X}K%&v?)&ten?O*de^*Yi)HFeHPQB=!CV6of4#o{%(Q3!0wI Cx#xd;v^bC*_=dmm%qFy#h^;^G0m~3#59)1FErhV*Tjf5BTnf z pqkmIOzLc_A(-`nPD zlbZ*u%%5fDA1X_=^=N~fC(IDVHIFHK#`sT`NY`#{Fi6RQZi_-dIy1O(&B%L2S0gd^ zy7U3PHTQ0IjDT{44Y|STkBj>W-6OA_O%+75i`xROrg_QCc=n~h`kzFHZV4ERyS?|Z z0L>_$l5x>owNHVh$rX8$B%>7_#N}&_i7nG^3}$DU(N7rjOPSKh z)U9&7!*t9qtHPRv AX}!QfH@0#y;YzKlwtGWw))bs%rlGQ~G(eg2}UZ ziP83(4Ki3xNbhFT&F?1husj*HsYr%&Jx-<)n(9 !9}_mKa0 z!aR7E>_v;*lQ>pp&sc4GsYet(*jK-k(!+9r&1vB(_s~Iq>{Kn=Ij(4`&9zr`(`Kja z2imQT9~)$73+ kyt&g<%Q A`87zGAF2K1?t-he;c$-Q#bE3DIeQXm3tFzcfg`*@q zf57;Me~PCovK`($T2pcO+SQh*_H6d6nP>@9z{lFHQRCY^EZSiuAYDQ6B-&QQr5}mH zwg$sh3MR%MR>l&qZC=+e)G!=m8JOTm+dYF~11&MW5(g0E3P5QFUfSz!EB0AiBC1?9 zDr2QLzAD3ZmEG4 C*(tU( zzsy%vV#p<2Y*cOjLvV mZ0g~>l|}p%}=)1Z~W{b zdBcPF(8FFpx^wx(w=EmG>Hc?ucxQ?1A(``SKG-E=ARKhZ^<5A~m1BuVdyOceDSR`x zG^9T7+=6l2N$rx0SX-7}5mqzZa(cv4V+Fh*DyLk!i}((KPmH%lzcgK^hs*Crj(`MT zY-r8up9f`vV#L R|43h1xYYfkDNg-Ny26`Rh{-!raiVX1F`qW)C;%KEyHY zn*!CR)I&5HD;aTtz|T*#Hd-a&BdQ&d0@C@yL+7kIlNEo}K~M%j?Kbxrt*N $MZ#WUUMKRVyyo*}Brm mx#ZPFR@%l>Dn;T&%Cs&o# zjweuSyCY-pbp!|T3eD$YGf29fPKG(NvGl>76^0;OF6aVO%PyE`Z7|xTBfc#ONMQ+_ z*gE4?`)j_L6}`aBu9+*@kh3*dHLhG816Ic#AU4a0qIbGNI~6O(j52tdZTuz{S+8*! z!An)~;&y9;rN}O|U 5@+@KoQyYh4O z{u{>Me~p#fUTOz014{yO0FyV>t;e;_I%Rpi?=)3BtrDJ9Lno5eN=RnNTgvT9)Xjf= zykt)kq%#(G3)byHrQOErF2K@jt%B^Mq^#81Blce_yS8kf9^JO$sYlVe#p(qvwK<-F Z{~z`$_-{k3+0Xz0002ovPDHLkV1jB3pLPHM literal 0 HcmV?d00001 diff --git a/src/environments/environment.prod.ts b/src/environments/environment.prod.ts new file mode 100644 index 0000000..3612073 --- /dev/null +++ b/src/environments/environment.prod.ts @@ -0,0 +1,3 @@ +export const environment = { + production: true +}; diff --git a/src/environments/environment.ts b/src/environments/environment.ts new file mode 100644 index 0000000..f56ff47 --- /dev/null +++ b/src/environments/environment.ts @@ -0,0 +1,16 @@ +// This file can be replaced during build by using the `fileReplacements` array. +// `ng build` replaces `environment.ts` with `environment.prod.ts`. +// The list of file replacements can be found in `angular.json`. + +export const environment = { + production: false +}; + +/* + * For easier debugging in development mode, you can import the following file + * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`. + * + * This import should be commented out in production mode because it will have a negative impact + * on performance if an error is thrown. + */ +// import 'zone.js/plugins/zone-error'; // Included with Angular CLI. diff --git a/src/favicon.ico b/src/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..874b541ae0bc2627e907c3aab59e1e7945166f1f GIT binary patch literal 24034 zcmV*bKvchpP)PyA07*naRCr$Py$P6IS9K-4)|KSBN;a6u3{IE=Bqju7m5d1i5|WT6f6_^Sbh?{P z`p?iElJ3qx6NoK6$qWhnAssSwHw~l-Aq)l#7y`rw&z7p>L7r#hQJ!R3^-9)Qy6gY; zIrqJHrdRc D_zox#ymJ&K}lYn^uggvPI|Cg|bz;62^;C>Ky0=R?wap#H? zmfx}UJy%Z5%ZnW0o$?5O{{w#glm6`VmG$oBBLY{Uu2-Sriy@o};J5?sd}bXyLf{UF zch*&X3!se?IR09+E-?XHYO|byB>|b?#0|I3Tm|f31rrEh6@(v}VHXGc@-YA#C2U@{ zyxP3I-f%rys1Noa7VGnt1Z0{ocU Pgl|}2>8W0`p{l|BK8Q_OK301eH8Zz z^(4Wn29{G;0b)g?cA4tc`Eww{cnr|BVs&A?pBFxL?uHu=q_e~Q-X#GkeBqU?Rj;Xm zH$i+0fj7)>5$p!>FoY*1>>^M%i+mW;GeACLhW**)+dF^c|NmA1J3#JdT`wnjd<~pT z;0NIU4Bm( )u1knlzVuN>&}laHg;U7*HE z9xdVd0A4)Mz4LR?y#nqfaKDH>5Kba-+MsG6i5n$d2rj#@-P-W&`5EHk>h*{gkQ4v( zwWsc1QU5ZbUxIMf^q)?fA>Jxt1));_zUmMdR5rti8!9Zu?I2+yH~*XNIuM3&qRgSY3e>7 z0q}XS`dquU!3_Q*svR)`a@+?_f6nqf%YKIye@Vh=eZMmCB!L?R>}uS#FPqVdpza6w zFrnR$Tk*$%csjiLwR}c>O?9!f2Nkz9F%w($COA(6aMVnmA>amr_lxxq#UBN5;uQCP z9mMC_t Q$}S4rICbavq60Y7RD;cgHUAdXdyA0Q8W zhad3S{VyY)fbb{;qT;h5oitFN#G@8`bV4SKOtFbvL*V1%t ;z<5!5|(ccttI(pmf$WZr4eHw-K5I@PbB#nRabO7YO5x+t)l@yJ||6z?x#^ zRj>-eGO+mrRX{ZfX+Mbl&OU+ax&|uJ43=dijt6)$ARE)nn-`Y*4DJHqM?oGxMJKn3 zxY^#F!W)a%9maxk_z1`s-?nV!O%MFBsQ=POmD(oZVh|_MVjTS%UHsxkI@>{~K{R~S z^i6n56*g14PvBk>rq( <%0xLMFvf-i%qA=5Qt z3u=5H6?O vmz~dNENTH+dCth`s$hcgtA$CLgm@|F4Ag!fdlJMb4AL>Z z4YC{H4Wgc6jb{&}$Is`Nn_1u6L0$vtaZ$%pG)KgA5%;SF>>%_ifJM(1f$!DgGEzTL z8jh$xUw+K~4?X!O*No3>xC`g%MJXUF|KxQi>6pns0`SL>N-EG57DWc}!+lhNM #6AfVs4z+Q-aHY)^FRy_IxKe`@qGYyp@zj^Ucjl1_IvGG5znFe z&gYfRjsjMv k9}@NV_YB?FFFAkUNiFVQQ^H%?uj9=Sw5E{`%rGarN_;i z<92^xWk2B|cw1fTL=qMk7_{BtZGmb9B#U{NT61uk@UU|P09y^ LhvRNW|1#~ z<*k$&u^% MZpMoMJP$xA;=RoU%=)Vkk5IZ@<}&T4jx}FI z2%?i8h#G|QG!d{Yl&An@C7)Y~=j%rlMV^BHuYcP*mc~m yV<3O1==l;xMeQN@`t(i#Us^%@!M4`ugR`E%gLLD97m%UW>fdCo z51V^7oD)Ku0h+g_2uBxjJ ^F?AkU04}yA9;y#)XNhir~5Hl6n%^;tE>XiUr(|0)JCP=21{#X$eOxz0T zK7c=4?1T6wq?Z7EY4p2A?Q6Wdy?*pFvzv;8bJv0ukW*TxAGZU`KMdhrg&pX7^f8J; zZiN#ZQ;~8njd-^zJV@!soN82Vwy3Xa)F@jxQ@~Sv2O=J#@PJExBA!vQj}F4;yv?ap z&<=p+rnUU{vXdeijN!2=U~3J$jQ!ttGl=_8V>MWCg9{r_S>Ta2x3MfZ7`@wQ{-45c ze?Q(D{f`G>erENE1t}mtt+oDW20@p$tD^boOA+0BK|BBz5x2JycudlW5hj#o%I8Ax zAyUts63l2fo2ysV?J^{;@Eo#laBWr}WlnB#M!T+-_;5u?z>iD|>Gy{IO#oLyDnf7k zJh|&kb+Qb{wAra!j=2zDfM71+)PZp?>iX^Nb2n|8lXsuPP8OVi46j-BZvg(aL%@bj zx{l;Bm6MtNxesQ@SU@&TX>gixUb6;u##HkvgQ(akAskI_ugn&i`v}3Urk^*b)MOX# z4!T_NiefF24u+y-K(!o|Jx`{dnTKrVjkuX+7f4SDJcV>YzP^D&k(YWza=&08ZgE(x z!iGfRA=Rb|766Z?azQo3pHIH;AGX(z{pHMGY<}-pPy#aCT75R8bF*U@xJ1&K+3rtR z0@EXaO8V~@471cn%@A<|YZqHMz3&uL<4|=wq?Hc7F=%s{hV{K9Z808Y!8x-#nk1`f z5|sveNE^U5806jL$e`}ja{&(8_ZC35({B^`GHS}S;w$LmFJ&ASu(45BGecg6U;tiB zZzFY^sdNxVN&J@kNAkROYvbDodh>&P(Si|>;k6@w58&66U1blztHENn-@i0=Mr`~^ zkJDj`a_@=no40}Wu9B|Yd3Iyqn+w-cZ>Od2aXY3N zGKX_8r(G=w0U2I1a#@zGCp>`)j}%UT#{g^w@YC5$7y*G9nI0e*H3Ak9Zue2qEX4gN zsoQ0w3WXqKv;#^Hv*H#B&q{a4IsH0w(V0Wy$~ b$U~{8NWg>iU^vUu=rv+g zHI8eNn! %V_F{3zy2$nZ!-KWn|FfDj!C*9MFo~X{q2@l1w zIVpLp{8%oli5C@PAjIVoU*uKFsNL3h*_>OM(%Z+^kDWIk3wy5mJfs3L+#0dmY{T#b zi(Pj^d{O#>rq32Bcr5A3sS_m|fmZ>t0AeXd@EC}@;k`Tkpy3v1yc3m+gS=$GN#6$0 zF`YPr-k|O#= A_NjsmCE2h_F8k%QS*ws$~t_)0_ 3Yma{Ka@{)KJ(9z8w+)8E%biDX34E_laScw wFbQ+|V}T?F5>kUdtVPjt`) zWO&W0yI`o%pcPL7VFxM~_>1$W%@7yt{wUZ)YO`R_i#&QP;d)lE^wQi_Yp`_bIwO6X zGT`T)s|m}x8<-r9c*^0QY|(juqb)*Xaz8=D5Is49K~OBm{a7P@XaIh;NO!?AqwFEM zN07yIcADZYpXGQWplA2p^~+!TPSn`O3eQx*krCWts+%#U^i$U^vKWoZnVDBNV9!)_ zGl$E?sH)# DVci=rJ=0U265a(%kvmV`s(7S=Lyfyh4Tr&5u+RH9*}VwK55BesAJ zN0m0yk8f})QD6H)_W-;H)YGSO3kMxv4e$;@JLqB`ZX+l|@8@oLc+{>5l;PFvT?Vmt zgj-SBX`$0xPD)vz?lTxX#5{=Vu~h$Jz)g83n6Q}um`5u*`9=Q5L~G;!ox4|`|DFz- zfDE@ru4({(-M1<)c!#Ajs6yIuRm<`(EUr;D1TUi*;3Wf{`Yvib4a{*v%|pjvL=CJ? zp9Vp@ljH`uMdZ{n8}~fspAWPk3=ej@Gv49su&LE5=hnq-jm_525n;bSnSQ@!G+&pw zy~*FnMkid!3a@s=bi#jYuOI!Zf!<&NU35?cWN7Wkc?5nXeD6ML)iuS)Hg#RLgA2Di zj4Y4_3ZDRZYe{IDqBG{1>c{!iVGis|0pzHEYFO&6LAfm`I9=-M0H0gifvW8>Uf9== z&7FW+C-uXQ4bZ8-#0$&)j-jz~9=oZsA`OsOR8w7F!sV*)!pyZxJVD^g0)D2Dmv1<@ zZ;Y=SefPj)UO*SlyMPR>S@mv`AD&h?09%~-!t?;d$Y?Yg8j7a^O0h(y|C(nk78?KX zYp2LfpH?tjCZhCY eV~mclqNpf31aa$Gi#1aBE~W48IdJ0av7$oYKGbn;N&E zp%k~X13rFIP@Bs3Oym9>m0`R*qe-$&@<~Wm1JD+D|LD4%ZZ+;j OXzlWd6T< zhs}LYWpI&7tEM8SCUHH4@5|dyMRn1|p o}>&zDewclYn&6qS2*J8f_U~x7Jc8CB=nSCmA8w(GSus~$KU_IW**g$gnP2oOJ z55Z`0eD+_dZ6kG~y_>*Uf$U5`9ps}zo3+dZyjvCa8tmRNyBqTfcw9xxC3iN%%vej} zQJWLPQd fuJ8Ip`c0`MkMcA`BLkgB3kCE>g!91B_%4shx8H@kK3{eNAcP z+X$XRNJpQjd2!Ivb(zP>e=y4^jMW2+>ehH^nxbn-K9*)%{J_?iarBx?wsfM{polwJ zbBid8rA*6M(o~na0T#KZOxO(Wasq0cIEC;{_suMpVkhP qxtGf}l z$Ut_)0md>?Hm1{g%Z+R5c8FQf&j56#D7t{lD2uC%^eZEE-2?WK4tDa|#%oso zu13mM@iu=V(1gHFr~}#g2VXxjx-Hy6T8%?T$usqH9f2Hgb~v# GVjzB7^-yq+0hL+B8Ad1pFhXd2-HPj zlD+2Nyo?O?Be0#?5`jz|=@&=XD`NDJ2*h+>+4FzhX9BGn&to4%u3rKCE>s^2ut>{F z@_c!oubkMy*Ef7k*A-2Cr`;MYlQ&E^<^}ruoC(PAIcJ=Ks`_36O0)dsILb RZ(gIi9 `0ZIF1gNgSt@Bc|3# zO|HhkEGFjMs43&+zR2%g>`&KQx@U}EAmITw>Dbd&0*8# zPC!~C{|w p>#>ycwUfnby&e&2!d}yLI`o6 fR;7_<8N30(vESPT%lRa>TT`1# zaCExXBS#m(xjm3rn~jmF};s*10(kYG<>=xi0g$ddy2$>mF6C=)Hwg3Gr4E5BFtn zF|s|6Q_D{bQ{O;~xc7b||FYfMm@{6^=ldR{z7JSHhSsk>i<7dt8(}=b^!MHlL~JIo zEcqaL 9$v)W?pO{T$S!MzXt}GOVSv68XwdTAO?4^pM_u8BuU{sjqx!|= ztZ;AR)iGOTTJKizyLzJQZGhTTwNDNl>A0r`C1J?AC3I6wJW+{8ELVo)Th^j8wu`6) z>+?2aTw(e2`)6Z 2d^agblP`Sfg3wTQWXaTvq5zi9 zb&i95(x*ZGhxql~f-i8w<|mKCUU|1|yqgO9NL*Q>1G0q$(V!vyiK{(ZpjD0<>1V6N zr=1zixYM(P&{ArT24oHZ4>jo*bFl>sY^T*AsbQ*`{oRDdVDhI<=~W8`(8QbUG%Gnb zI#*h}qzrF2)v5qZF=va8KI-j@IZ{5IXdRG%46j+$0=c&HkcMG!BAjReUm@^Iy@AMT zRhXgNb<;W{FrkJ)$(Xm8Lb)Ji!4-_#QR@eCsvuq`X<0eZNmupr=0JE7l`gUza(S+( z{>5lKgyUu!adfTcft($e)pTFaNGOQ!Tg^6k8>B?!*6qdHdzPCLXZQt=F=Vf$0pw}8 zv>bKEspTCL#LdfrpIr?6y3 t nvR5O-Z4s+xW%U#s2sEvKIK8;b?#Je=H^PNptzmahYIsy^m8 zqrBn!7%HPj D))ie;wRXu`L^p1Zht zhV>tzaRq#wfYm P#L1j#bd=q39Z>MN>@&c9yV6>&h zgeWU+YW7i)Ys@92IcAtn`@8nK(Tq@h;1^kB7tTsRhS!c<9vOV;q9!hEK1R 46vQn&(Sl8UxZPVuV7LR@E|)~6`3*pC z4R5Q2Kdy=YZ`zZ?@IrJaM1j1l=&hOR)VRZyZ0ir%urkb_)qZ_pz6D~cuRYW{{bXUq z>nj)WmZ`sG j$1jhcJ8C>+M@*ZMfSlM`{R6e+={-Bm zpB7>4!kE^7uJf}IFhDY2dPra#W30UTWq`Xdj*!7h0DUwq!Pe*Gut1lwn51 nE@A@s mJaAKz4TU>Ng>OH 9j4Sa6>Z~ug+fwRGgRB%BcT!THP(7r3W2wn zjKw@M=YfYle~K0Uar@fQix 8%B zP~}V?yQr@pSU`qatNx7Qd%ABcZi _O07nmzWpvh-?E1$O*02KC`O#+v(9`TTj#?M@Sqp z?U^S>3Jr6cWK)lNDpICe@!POUwqZ5blH1p(hL!?c@kjJrP6^Eo{|VAN5+I?GO+VR( zAngl8{l4+mCOi2Kn>N&1^-`)@TS|!Pc)OObsDF0b*_$k}?TBpy3CK`umz{HQqgb?&!x4=XW3E-KH0i7OIu?$mWP%GKq+j z{H`Q}vb&afmMq#F^5PoNLS^2qNZ*YEi~f`_fL%8p(Z{AKc)J{1U=-OV_z6M3nM}$Z zpyP;2S>`YI!ZB(>eAu_)^{Yo%<2{mGN`a*RKCyl*+z=1@Iq3I-(+bE?YxS>FvhrxI z8BL6W`s0FbqJi-`E>&N5!VJ35Wg8pjd94piw)zQIQ?UCWM-I@1o467Kxfd$;VioG6 zn{h25E;TIOUdmB7S8{vXw)f$$@3I)mk<(glSiZ8}{T@*-Zm%2tjU(s9r+(Av1!T?0 z_h@!OZ{fy4Kc5KI&Gbu8kK8cFosBKi+2JSQV=3Ki#6Gc&_!RQ$Si)JAqj5?6y@dFK z_W?65?VL+uk i3g&fUsHH9%Hg1Np2)X_FKxlS64ag4e;#j*{ja4ZvNQwX3`{8? zE7y*EGEz+}%{54oHTFCOq|^l{du+_7u3
BJwdC1ebM z9d )avnQZm@tfqw||LDB_C@kTMo8>eoD*xk`3XWScg zO^EACL5*KeAm>*3D5}3f;bMh0k{htT0WbtPT9#arFRuIB>&D7?5=#qZX$HDhMW3k{ zT03%a!j|6K$qh#CvkAMP#6lKY9NEs (j#kGvE8IwrXmu +7}d0ykP5Id+j|u^Mo&(%yy+)6N@P%*%RwtuYfx!(d`3PiPZF0z&DNBLCm+ +~ebML;G$_Idz@%{BcfMP>Ab=Af|!b#6^7-hJ{r$@?ELVg-jmpraO zYTY(=kSJ5oC;Eg$&3B2DXU>!;VQKX&%|I?7Yey{h(M#$Ni`Nj}X|nPh%SA&JXT?+; zYBnQ)%j F7&Q=nwZb!7!F!^&3v6#Q51)~I>SmfF$`%xDH8 z0XhDhGf!Jq)i-o|NC16=J|(cLrW912R9#Blu#qa1-7kF?WEU0OFpP9DT1F%tC24tr zGei4!VeOfaO6!i)bkP~Dgr$p%GY|>LaBJkhK`;-NYmzP{*@b-&`h>t9WIRoHiru+J zk7F>B#u(RDfM%R~ek-{;<6GrR1K2LV58}fKjw=O5MjWvjEX6aKgoP#_TTYz5Sm-f_ zTW3D4_H(q<4)F}^XkBG$dt6~^xV7r*5%dEQcFA;ot61vD)La=gz>30n=t-Wm6suFh z6<|c3oT^(1BYZ+eoj3!GEroIf&^` zG|m4-B>@>;vuZ8Kko#!5=y{sJWF%|8ZXS7eME99T+9Ts##O3S+9-GrDBBRU5>0;PA zg@?MfjGw;U^>V&?$2l8so&VXKyC W#|f)Ged8?7&8*5iV?VoLB~D@#>cm%?$<5sw>u~Z*OffX2eC+mIP#h ze6CbLp3!>6341hTm7yAW$VxEB(eos;5NU=V&{enc1gDHnKZT}5aP_86cdvkF4snl* zy-=TRx5ob60-5R=4P!|_W;9*%cX28pL#;DjOI4QN(MX6Dmk(%si2p<3x4OUQj36Pk zX9RU8`9(=Vv6c9=X{u0#wexzXja=ayV~-Ejt0>Q;sq@iu0Eqvty?*0o=Wq7ruV-h2 zEZ^T{keR s{J;W$y lSWnuNw_ zTEJgTtRMXgXM?Q#(Cbdp?tSKU@=X{6(SwW-e;XFfL9%ND=-Lo;rI4dc#K`-VrpdbO z#2#&sMaNw=qo&2GS}sg+X$3C+gs7zx CiGUtTSfEppd#; N zOV6%IY=SIzJ%Nl!*wrm>oEh&K$y=g+X*0lX0UeTW9&c?l=fa|GO9HY$K3yart<`U+ zr0%hv*7=a|WfH&a4;MTb)w6Tuxq={Fa=HlkDuG`NUOUSZ@BWs;Q4-@nIc=;!d6&w^ z1Z`sdXt`kJ0-5tchS9irmsG4lCTkwAQ5~vSNe+6FGd|g%YTx8em(+umLfnZE^05;> zqp(*|DtakyX^0n!CzpfMdjMmn^=u9wAL*5k25y*GHyZKs&g1;eTh~h`$h=MM%sLKF zkm1(q{{rc+x;=#C(zf6|l};zWJIUdQ)f_|#ORglF?dlG(n<09wa7|nvB&>XUZ&If` zHP|CU1_580SU2iUxy9U;1Z07Hy-+}g)~@~lq4)Jv9bFgf`ev}dq>~d;NRf@n+$?{j zF| 1Z07HzQjl$i#TvYI?o#ahzcQeJT#;cCRHh^Vw;@;$RPB+_(=|6Oq~H&MNk;> zE=VtS#{XgB;et9ytoEuUIex7qI1<91bpCdr6;iJGqo{d#L3^xW2u f$UF6?~JpZkTn;Ckggl~aS7Giua5Y{n|OSJ)M3U0)Qg*Xm!MSI<7m-YQn&+UOc zf9V7{klCBVdt)19^?g0EHW$0-7T_fGRe@n7Jl)B=sk2QD5l2bdw6r=@Dj=azpJo-N zkog3crKdpplF{U*c57ouH#CPcb#S{{5|D#C-+iAJ+aM#4KzNqBICSy)e@IK2rHec) z#T;i63SU+OQE3K}o<2PeU1}2) nJ${F^D%v#>mLa$-yqLy1{c?r5(Y?H0|M zyIDH;J$V~szikeONAu(wT}V*!QfX#t1Rnwr{~q5wclSEV+h~kY-yB{$va3V>oE6@j z&d?5DB89;Vp8><7H;I9dNS#Yhj5Kj7{(FS^;{EM)8xM ihTxl~GUuasobEm~}0yRnZ$Axk9PXK#S_>4X@tf3xL z0i|iZS(-1 &hB8J2atSDXw%H?~Ac$6J)m>VX)4#<^C@PEbS-NK*l?*V^rQr9C-&BY}G z-q7nRj>;b{Wu2D 2 zDP;+lGpJQA@={8^0u}WX)CBK5M(Rouy+xeX5)|$O5qh6`k#)w*j*%dGoinO`PU3gQ zTcaOeSkpW6(U=W_YVwmazjNW;A<)WK^!S;Ha9!DeLmMQrM*!{s)FmS Nc|);;_BSB z8|IGJ@OqlB$B`G(i6Y{8=>u2w)|XvNoA@}WUI{hfLJ)869Wb%oA@NeOv3~&6b@hfF z=We)kVNLPOMq>gZ)Qdhd((jFUMK_%xnTCiD&8;Kt1li+k&SN57JHZOaM)8u^mT~z( zq2>`?AKDv!Oo{Ci|DF3MU(BrZL6Z4L;$o>|XShyNHLC}aC$EHh-lak&V0v#lz;G&~ z5^!KrrAqh?h@a`+K>R_wHTpkhwj>wc)giKB;f?Od8d00au3%O?hrCgePoQ#*-vIR1 zU}{3PcKhcZR6R|}1up{hQ~geXrg)r-WZ1g}_IDPfrj4|Il7H`X3hiCtMPch4BR~ z@IAhM^m(p6$Z%MGEeYCX0z!NN!aIUR--}TMo+y8E#;#rf@u`4V<%**57FV&_A3eB1 zl+1;^h|fLkhbLc#k6*KIVNCJtMzJIyvzxcMze`uO*NvUkDWDS-@PxDnjbAxoTD1I& zFDMX@0{kQxEAIu=1uzP{i3n N=HZ1i z)q{^@Nk9gltNFf?tlu%-+Vn-QVx4{Zi?nRH70&6jq!e?K9hf3@W6xHaTKgR+@HQpx z+e~c=@m+)k8x11egR@h22j!{_A9gu~E@=a$|1`dS?0?Vq1kOkQPC!s!HXnT-ls>(d z5#|KNu#Z4>xA73zsgPzWg?ePr4?GoUGN$gw1n053mX_)WNkXz`r+roA4{mR5yw?ec zQ?u5Nj0XiV)1Y0N{PcGKemBsKE`)k93jp0zT+12n(hB(;^6M1^{InHdFE&D43*puM z)T|81NL hi6&^4Exwxe~`O|ze% zLwDzrfE>EH?>yPegz !ATyt{xxRzYC&t%}{Z=F(L# bTdUb%_b~ zqH4~gxX7A=c8LF39SD*ie+ny#oH1#=n1YKxRr4dQgVIy#aHF|w3+)ow$t;c6lQa&} zGxwBg)g&5?#6Ou>zwyr_0eRY=p7H$2<&~WhO)t6`WLUo=ji5&bI+2%j4qxywhqLdw zigSt~qQ{e!E)eM+kT2~0v$I>wlh&(xo7GI`IqlZQ_b;-wwkU@?)LQ+Alw4I<-;&D5 zDIY;v|HWsQ?hiDSn^D8^NqoMLXVQEEfCszgp@PIQ6vL8oZzwkfURmog+Q27|nmlFa zpL$PdSH-fwBs8QpkZuAA#p~3h*ZMiga?Yca+5!$MrS?g&R*`qAP)#=mLMGlTAmP#y z#_I~N-O(ED7ARemt8WnudZ;zBIYC;dcH=12bI)fgI1za|MSPj^buqm_#0y%)jqLDA z`vkg3!^i}Jh@LOuQ8Gxy2m;V4*K;Buaq<*$I-W2K@E#Ep!Nfe~;t@nA$0Np0r3*TA z=lW?#iNZosIuqr%K6_GS$_uSFKs>X%j~xc3p%=P*47WzsKrs8YIXrkB jxGEELu*#Oo8*Ukk{bu+Qg2mS#Ws;#TkxiL`nn(9t}suNqk(B!y3?dl_lH3| zr@3}Fh{vI*4tr|b*lA(3McsPqqJDm&HTI2#zR(uq_=Z{|uVal%0=!&C&Qai2i!_I{ zDnM2lIjA7e%u#~LOH#L!(;};amTa^s&w_+soLE2lwW5HmY>oW13`XAD4k9w^0{L46 z^(aKi;{_~j0z(d7ejCuw28+WM_$z|l$aK?gQJ&m8=6Jj;C3v`VPpLZ9cx$Z7h_V ;@Cl+Lft#Md?y8s4kX}8)ke3sfRSn zZ*rBFdsMYCH^L()aPmc4TGv<_MzgOcvp?J#xeY?EgR~lL+~F2@ZqtT*!SP#JvVCJb z$HrQ&8#?36j>3@mE#4u*@fo13(&n(VbSe-qascr0PJtc&mi({n*2a%5)P=Sf$F*|J z>i3BHv+l+uJY