From d5dc3fed9050968ae890eda308b206ecdc3d69cc Mon Sep 17 00:00:00 2001 From: 2088376133zh <143693459+2088376133zh@users.noreply.github.com> Date: Fri, 1 Sep 2023 15:47:00 +0800 Subject: [PATCH 1/8] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ccdade4..41459e3 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ ## 参与人 | 学号 | 姓名 | 课设1 | 课设2 | |------------|-----|-----| -----| -| 2209040021 | 周恒 | | | +| 2209040021 | 周恒 |销售管理统计设计| | | 2209040022 | 罗亮 | 编写一万年年历系统 | 24点游戏设计 | | 2209040023 | 周若弈 | | | | 2209040024 | 马思凡 | | | From 315ac9168863a7eb30e15d199d73ba46ff6ef472 Mon Sep 17 00:00:00 2001 From: 2088376133zh <143693459+2088376133zh@users.noreply.github.com> Date: Fri, 1 Sep 2023 15:47:44 +0800 Subject: [PATCH 2/8] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 41459e3..e734ef5 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ ## 参与人 | 学号 | 姓名 | 课设1 | 课设2 | |------------|-----|-----| -----| -| 2209040021 | 周恒 |销售管理统计设计| | +| 2209040021 | 周恒 |销售管理系统设计| | | 2209040022 | 罗亮 | 编写一万年年历系统 | 24点游戏设计 | | 2209040023 | 周若弈 | | | | 2209040024 | 马思凡 | | | From 770b86e9c23abb93172a0ce9979ba4b33cc4c797 Mon Sep 17 00:00:00 2001 From: 2088376133zh <143693459+2088376133zh@users.noreply.github.com> Date: Fri, 1 Sep 2023 15:52:53 +0800 Subject: [PATCH 3/8] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e734ef5..dcc55e9 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ ## 参与人 | 学号 | 姓名 | 课设1 | 课设2 | |------------|-----|-----| -----| -| 2209040021 | 周恒 |销售管理系统设计| | +| 2209040021 | 周恒 |销售管理系统设计|学生通讯录管理设计| | 2209040022 | 罗亮 | 编写一万年年历系统 | 24点游戏设计 | | 2209040023 | 周若弈 | | | | 2209040024 | 马思凡 | | | From 44c6ea558a8486ee7d6b749b19dc5c1bfceb5e0e Mon Sep 17 00:00:00 2001 From: 2088376133zh <143693459+2088376133zh@users.noreply.github.com> Date: Fri, 1 Sep 2023 15:53:15 +0800 Subject: [PATCH 4/8] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index dcc55e9..9bf1bed 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ ## 参与人 | 学号 | 姓名 | 课设1 | 课设2 | |------------|-----|-----| -----| -| 2209040021 | 周恒 |销售管理系统设计|学生通讯录管理设计| +| 2209040021 | 周恒 |销售管理系统设计|学生通讯录管理系统设计| | 2209040022 | 罗亮 | 编写一万年年历系统 | 24点游戏设计 | | 2209040023 | 周若弈 | | | | 2209040024 | 马思凡 | | | From a3f6c1b6774bfdce08814a8de1b8f4cf60438cfe Mon Sep 17 00:00:00 2001 From: 2088376133zh <143693459+2088376133zh@users.noreply.github.com> Date: Fri, 1 Sep 2023 23:00:33 +0800 Subject: [PATCH 5/8] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9bf1bed..a104b9a 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ ## 参与人 | 学号 | 姓名 | 课设1 | 课设2 | |------------|-----|-----| -----| -| 2209040021 | 周恒 |销售管理系统设计|学生通讯录管理系统设计| +| 2209040021 | 周恒 |销售管理系统设计|学生信息管理系统设计| | 2209040022 | 罗亮 | 编写一万年年历系统 | 24点游戏设计 | | 2209040023 | 周若弈 | | | | 2209040024 | 马思凡 | | | From becd13d9b51bf3ba8e047171385b9c6bc91f710f Mon Sep 17 00:00:00 2001 From: 2088376133zh <143693459+2088376133zh@users.noreply.github.com> Date: Sat, 2 Sep 2023 23:10:16 +0800 Subject: [PATCH 6/8] Create 2209040021 --- 2209040021 | 1 + 1 file changed, 1 insertion(+) create mode 100644 2209040021 diff --git a/2209040021 b/2209040021 new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/2209040021 @@ -0,0 +1 @@ + From 37f4c371a8cc14dddabd00275acf7b857600946b Mon Sep 17 00:00:00 2001 From: 2088376133zh <143693459+2088376133zh@users.noreply.github.com> Date: Sat, 2 Sep 2023 23:13:00 +0800 Subject: [PATCH 7/8] Delete 2209040021 --- 2209040021 | 1 - 1 file changed, 1 deletion(-) delete mode 100644 2209040021 diff --git a/2209040021 b/2209040021 deleted file mode 100644 index 8b13789..0000000 --- a/2209040021 +++ /dev/null @@ -1 +0,0 @@ - From 01284626f046680b128b842200613a78617283fd Mon Sep 17 00:00:00 2001 From: 2088376133zh <143693459+2088376133zh@users.noreply.github.com> Date: Sun, 3 Sep 2023 22:43:14 +0800 Subject: [PATCH 8/8] Add files via upload --- .../Book Information Management.cpp | 302 ++++++++++++++++++ .../Book Information Management.exe | Bin 0 -> 144261 bytes .../Book Information Management/README.md | 6 + ... Student Information System Management.cpp | 302 ++++++++++++++++++ .../README.md | 6 + 2209040021/README.md | 6 + 6 files changed, 622 insertions(+) create mode 100644 2209040021/Book Information Management/Book Information Management.cpp create mode 100644 2209040021/Book Information Management/Book Information Management.exe create mode 100644 2209040021/Book Information Management/README.md create mode 100644 2209040021/Design of Student Information System Management/Design of Student Information System Management.cpp create mode 100644 2209040021/Design of Student Information System Management/README.md create mode 100644 2209040021/README.md diff --git a/2209040021/Book Information Management/Book Information Management.cpp b/2209040021/Book Information Management/Book Information Management.cpp new file mode 100644 index 0000000..8371c35 --- /dev/null +++ b/2209040021/Book Information Management/Book Information Management.cpp @@ -0,0 +1,302 @@ +#include +#include +#include +int count=0;//ȫֱ鼮 +typedef struct book{//ṹ + long bianhao; + char bookname[20]; + char writer[20]; + char press[20]; + char time[20]; + int money; +}boo; +void gongnengqu(){//˵Ŀ¼ + + printf("ӭʹͼϵͳ\n밴ʾѡ¹\n"); + printf("**********************************\n\n"); + printf(" ¼ͼϢ1\n"); + printf(" ͼϢ2\n"); + printf(" ѯͼϢ3\n"); + printf(" ޸ͼϢ4\n"); + printf(" ɾͼϢ5\n"); + printf(" ͼϢ6\n"); + printf(" ͼϢ7\n"); + printf(" ˳0\n\n"); + printf("*********************************\n\n"); +} + +void wenjian1(boo books[]){//洢ļģ + FILE *fp; +fp=fopen("D:Demo/tushu.txt","w"); +fprintf(fp,"ͼ ʱ ۸\n"); +for(int i=0;i0) + { + printf("Ҫֹͣ¼01:"); + int q; + scanf("%d",&q); + if(q==0) break; + } + printf("ͼ:"); + scanf("%ld",&books[i].bianhao); + printf(":"); + scanf("%s",&books[i].bookname); + printf(":"); + scanf("%s",&books[i].writer); + printf(":"); + scanf("%s",&books[i].press); + printf("ʱ:"); + scanf("%s",&books[i].time); + printf("۸:"); + scanf("%d",&books[i].money); + count++; + system("cls");// +} +paixu1(books); +wenjian1(books); +} +void paixu1(boo books[]) { + char a[20]; + int t; + long x; + if(count>1){ + for(int i=0;ibooks[j].bianhao){ + t=books[i].money;books[i].money=books[j].money;books[j].money=t; + x=books[i].bianhao;books[i].bianhao=books[j].bianhao;books[j].bianhao=x; + strcpy(a,books[i].bookname);strcpy(books[i].bookname,books[j].bookname);strcpy(books[j].bookname,a); + strcpy(a,books[i].writer);strcpy(books[i].writer,books[j].writer);strcpy(books[j].writer,a); + strcpy(a,books[i].press);strcpy(books[i].press,books[j].press);strcpy(books[j].press,a); + strcpy(a,books[i].time);strcpy(books[i].time,books[j].time);strcpy(books[j].time,a); + } + } +} +} +void tianjia(boo books[]){// 鼮 + printf("ͼ:"); + scanf("%ld",&books[count].bianhao); + printf(":"); + scanf("%s",&books[count].bookname); + printf(":"); + scanf("%s",&books[count].writer); + printf(":"); + scanf("%s",&books[count].press); + printf("ʱ:"); + scanf("%s",&books[count].time); + printf("۸:"); + scanf("%d",&books[count].money); + printf("ӳɹ\n"); + system("pause"); + paixu1(books); + FILE *fp; + fp=fopen("D:Demo/tushu.txt","a"); + fprintf(fp,"%ld ",books[count].bianhao); + fprintf(fp,"%s ",books[count].bookname); + fprintf(fp,"%s ",books[count].writer); + fprintf(fp,"%s ",books[count].press); + fprintf(fp,"%s ",books[count].time); + fprintf(fp,"%d ",books[count].money); + fprintf(fp,"\n"); + fclose(fp); + count++; +} +void chaxun(boo books[]){//Ҫ鼮вѯ + printf("Ҫѯ:"); + char abc[20]; + int flag=0; + scanf("%s",&abc); + for(int i=0;i<101;i++) + { + char a; + if(books[i].money==NULL) + break; + if(strcmp(books[i].bookname,abc)==0)//Ƚַ + { + flag=1; + printf("ͼΪ:%ld\n",books[i].bianhao); + printf("Ϊ:%s\n",books[i].bookname); + printf("Ϊ:%s\n",books[i].writer); + printf("Ϊ:%s\n",books[i].press); + printf("ʱΪ:%s\n",books[i].time); + printf("۸Ϊ:%d\n",books[i].money); + system("pause"); + break; + } + } + if(flag==0) + printf("鼮Ϊҵ򲻴ڡ\n"); + system("pause"); +} +void xiugai(boo books[]){//Ҫ鼮޸ + printf("Ҫѯ"); + char abc[20]; + scanf("%s",&abc); + for(int i=0;i<101;i++) + { + char a; + if(books[i].money==NULL) + break; + if(strcmp(books[i].bookname,abc)==0) + { + printf("ԭͼΪ:%ld\n",books[i].bianhao); + printf("ԭΪ%s\n",books[i].bookname); + printf(":\n"); + scanf("%s",&books[i].bookname); + printf("ԭΪ:%s\n",books[i].writer); + printf(":\n"); + scanf("%s",&books[i].writer); + printf("ԭΪ:%s\n",books[i].press); + printf("³:\n"); + scanf("%s",&books[i].press); + printf("ԭʱΪ:%s\n",books[i].time); + printf("³ʱ\n"); + scanf("%s",&books[i].time); + printf("ԭ۸Ϊ:%d\n",books[i].money); + printf("¼۸:\n"); + scanf("%d",&books[i].money); + system("pause"); + break; + } + } +wenjian1(books); +} +void shanchu(boo books[]){//ɾ鼮 + printf("Ҫɾ:\n"); + int x,i,flag=1; + scanf("%ld",&x); + for(;i0) + { + t=books[i].money;books[i].money=books[j].money;books[j].money=t; + x=books[i].bianhao;books[i].bianhao=books[j].bianhao;books[j].bianhao=x; + strcpy(a,books[i].bookname);strcpy(books[i].bookname,books[j].bookname);strcpy(books[j].bookname,a); + strcpy(a,books[i].writer);strcpy(books[i].writer,books[j].writer);strcpy(books[j].writer,a); + strcpy(a,books[i].press);strcpy(books[i].press,books[j].press);strcpy(books[j].press,a); + strcpy(a,books[i].time);strcpy(books[i].time,books[j].time);strcpy(books[j].time,a); + } + } + } + printf("\n"); + printf("ͼ ʱ ۸\n"); + for(int i=0;igjM8$nq+(FSPJ31~EmvKf%anzY~z!_WzmzjS5bMAeTG$MxYeZSZDeLwU2CHMT# zJ@?#wJNG_Miq2Rk%t8nq-<}>JHo>Kji+_*&vl`yXBc4tckK11wxk)R0X=Hg#ZHu$1 zxp7%@MZL4KqM@PD?_BD0Hn%o7Ya5*T#bwU=#wy>0q@+ISN_B}_h^kBaiJj+vUL_vT zM5;;fs7k zf1ILZ$%Lv3e+8K9$fE>bO4}R)k&jE1bWUiNf-Wk%CHN-e>%lkb13A}(CMm~xL|(Ze zEQ%5W=@OZ)2`i=Cg%save5t{lfp64@<(9Uz5Nk;v{BRmHN1>H^77B z&rt%(fxgZOd8Oq9Yv^Yqz7#(LV#tq6xH>2J>o{Ka>I9$U&XxYguS+cHJZZ8-PD+0l zzEs9_l4ty)Tyjs!n$GZo=iuzaw-euHe4{=tk&=7Tq%7vlJO<7NRPZpk6MI)Q%T1ob za!(9_(+Pi)pMMy+DbrYPAC<>G_*4DW#LBsHPnwp=a@@!d!k_ZvkCj9EvSs@8aU_mH znE+?yVdSPyBmv>H;3pGuR4#XYSB_+U`uy)Hf$i1&ncx_)mNVsPJCNZCTCQCzMAqKj zf*Jteb%0@TLo_%m8aPf9qIyks(HZ`g2$Th{K*R-^9{=KIH+I>wCu-VI5u3qP<^vv{Vd)8#r#NudgMKq45JZaTyzUr&_-Q<`Y?Ot%(Hc^I?9hZ~>1TQ-T zkhQn{dB?Tex?L2=D36Y$8xU`3Eq+vlZ7cl-0vi&SK% zu)}iK&yksq)VtY9x(5z&W?9M5ay~hM{B$Se??fi^gSODKGf;+>W#rSgBYS)Gx}1eM zg(o=t zcMHjBvSsxY21h@=4yD%5Gkuq1?QxLX9Kuo{r{{G~;Lt&j_8_RiKndxBH$MwqOg zptbFg=2+Vgf65LFbcLJF0JyIVsasZ<@st=m{iSDeyFeDkPcM;2ufSP6nYAS75tX`3vJ|WjKiTtCy~G9VNw>bEV-1?R;5~M zFUop;|G?^XYxnwRw!N?UPvmCdY3tM+Po}K?+WGUpnt|e?2P4k-umEht-Y| z`9eTGF-qzn)PHpemAzY_QvHLz%uhc{+eCx0qx}>71}rbkB=6DtFBHPvQJ1b2ReoHs z^&@j(pgVL5(&}#i&=c6{3C`LE0ml_*pmk=wT^;FP!Nm7MBOvGLXwp1^PeOf(4&?s{ z`5XA2C$P03aM07XT??7P&zb(t#V;4MeQY~*cRtDqA5UQXxzHQ>0>d~8D!0_BC)a04R!Ep<9s-Vcq2s~lKT5p&;j>B zPtbj^Ah0!O6SbnJsSF`8og`j|#BTSul=JRQ@CdrU^;C9w0$rZ1`%E6K%cFJD@78^0 zPhcC=q!4QB)M;q2bYB~12pY-V2XmmcBlRGP2kktx6fwsYTStj5(@&u{snF^1hfa%x zzCeZk3l?K>#yu_)dZr3}PyC@>k9)XFA%Glfobrwno zqs{%T7PKr~Da3U5w~ouFqeDoUt)V1%Q!~l@PBR%p8atAj;e>W$QT)Blq(4bK2#NpN zX7ap87T3v$InJtzY9?2z(Epkgcj%~QQl>)xHvZ62%_LQYUK4-lsAlr}xia5*afa^I zOm0zutq9z!nfwc@d)Z7*UVfNn@)vj?rkSW3Z@cJQ@$*?|ET=(zXd7fb9qvOk9&{wt z5bG(hg6=~Y5(ayMMJb_O7#5hQ_@<|)`%yw2NjW6h&XREqF|6E4LC)a#lG2Et6K`-D zp;*Poa}aE>RPiCv=J-{lNfq}|u-CDTLM9$2x)XFa>U`ZV6OTjEt{AdrITEH?61oD+Y8V_NKNR6bsFO4A4gGLF> zEkR393k0wRyy7E0G92s%jnW`(?nB*oN%VtrNYI7`^TSeN`c}sk^W)X&Di63n|KXbH zNHoP2In?Ep$04~b=>9yA3&|gD*I4em5B{)VyeSj`Exz;}3?R!toIDTBwHsU#}Svo2? z+d>;SOk7zQXJnx+{&>d4nFWkVoP~Zzq1vd0KVfGUS2P_ZE+Y%~a+n|P>}W`?xOBI5 zVoc;L%s&d%Mi!1im^Swzte7$zX(~MAxO^U_DLFe12dgclos4zVuZ{;7qhLww(kW?$ z3xnk|C!!=QA2(q5{K54y&qQSusso`g+|DC<6>GRZE)C)NY&eCSE42(HdJ=2##i>P2 zX}>=OAvLMx9il%zfpRk02tnu)Gp zEmy~>Ma^ydW+UWDQp;@8vVSb6>tv!w5T6z%wtc+Dag&tp#t6t?VlwToW=@njZ*zlL)i3yE@uv)mH%kPs*pT8iQPzw7T68Ln#z&qC;9+ZNv za^C6Q5vM%OhAP_7rsHAo=ybG`4G1a1Z(LIb)(F%uZlNSEgbFH^A8c3Q0b(TuJ2w7c zYD6fcV1FGGcWi117)8N0#vcqdMR_{}Yi(#%oWW299B3~E%10n5s3O_}dVeyFci# zM&p^BjP`N>R<3yDqua}6h>zOKZE=QG4dpXR>o|msE52|;d6|NJkpK{bH22sqe_=BnD+K*z>WXuDJ-g#Wyc~&ac!-^T&6@M_* z;-91hUy5L8n$HkD@2FLbqL>Tg3}$qiB@~xK##=%3Yop@Mv6@=jVQLJ$j$lao0iwG= zQ@{Hb{q9@zyANS3<>|F~Kdh|1x>%+fnLnqrFGjfC=&cwBF+`FL3mVDr8CnjX?u*Uw zr7V~N1K9L!j%&6BE%mx6!j<#0+vHdxzPnI{~*HsIkplXftv3A+;RC1 zoJydLqlr^@c^1aY(5)lTxE}!{p20P`aj%o{&}QTsZruJe<53Z5*w?`N8|shfRf>X^ zSw_+)gFpg@Q33@d_79L7pkbU5Sdp92sWGi;t=PUMolS~vIF^HS!?qZDiD+6;zx}c5 z`^*0-`+mgI%tj+){(MvC{3|Qb6O7_m)^vD|c2}E+lwlG*I-}8lqDkf`j7A5K!f15h zhim>n-Dq^+=#56t4x?(0t74DVXteYwR2zH!2^=Oai%ZyO^!3oVvv9OVqg#$bwULGM zI80nw2pf&2#UIbncCUAiiMw=Ea<+x;;V^M!!6mc3HRO*!9!v{y=#ChTh8%@zqZU3I zLL)sHjlMZc8I5L!jYc7`45LvR8I3xU=yq1927y3NC;BYVyWOADywF{M6;M1=nOfif zc09rtB78hyB7^@G6f8CVU}|xG8U=edE$-OVve-$%?v6j0S{8SYL$Ibeg9X(_Fcr5! zLMJ1ToO^4}RCDh=bZmi>Z%WEIc=H5h`9MujS(u=h^Wr`^Q?X%h&4ComMV^ia(pRHu zJb{i4ScSqw^wb1$l1!Aodj^wF`(@^tQS{;5F8k=#y?bCcmN{-VLJl}?ttxChs`6;2nP!10yBNH2v zCFl-Rj7Zmo=@|uqPYMEWf%d06LpKjZ6Ln-D@~lor21lQP=#lW1XP&d2(&y?kk6gx(wgub>}7=`4i22L6Z}SfSy7At&W7 z=00Ee{vFk8<@k}OK>@}4W?^7=`^SzezN9<`ElJ?Jv!2IjY%2_=6i$Dwd7vj)V#^Pn zVJp)92<-U9qmayL+p0k(EoXXn>+d~*KZO32gy8L+1%VxowI6VC)zu3Ru9p=AJ}xwm ze{zu!1p#+T&Tcn6k;Iphp(I$Io|v- zAy42_B$XPcaY?LuQGeWW`?z}sDy1jYLQ!=j{SiGZuq|{Z4az~ww+m%LZSc7aK83;j z3|nZn9I;OW0|g&Ci8@;E`&kQf7EzJYjYqzCwIn$FUZ`q++n?$Q96$o-l3LC=xThxD z*KW%t@WucqLhmO+E4Jsl3*VjC7GU(=cQABJKM=twlh7P+9daf)V|VPflpz>>s41aO zTIKbnY_qeM_SB4E($ zc(Tk^sO>A%-f#OF*ZPEGZ4MMUE-~S^?Q5rF?a!ESIoi(wQ82c%Fz~m+z&{ExyqmS0 zO*YCJ^u=!L;4zpv&5yoj{y0J(pNypPwm3k`I8 z+R0O# zAVVVo zvstKC6mdUf&2j15h-VhkyV|jqn*A&b`L(|WZr0w-eJPz44n)OQcTb^8q1qV)f<1e> z)TL&lK4x9Rx_2Vrio97@F}R1KxEf^Z#n6e!MJP$>#3IA*_q6ZjV)j45o;`cRI$dJc zwFu|0opl`rcOf{HOXy_`TQW)D%OtgdU{6X?cMU3%@8`}MPT_aYx}2O*91TXEjO~1h zQKn@Ll!Yc^RYvoTiaOlBj0B&hVnl)+?em~LN`VW0i1Tw)&^p=bA~A4sM@WI!ARvQr zx!NW7S#Trk0d+eYH$+2Oc4RHEGiY%xpdqw%w5R=JzY}%87^gG4Emm+*4Y(JZz(wF6 zXync*$5mtg9D)|JnMe1I)FcEd>=^wQbmy!uJ%RUd%NuvS3&tLJ#3{-B6Luxo^8?Ft z4|;B}1b3UaCkDzsH<#FOsoOI)zpC_Ch7`?u3Sg{~kUk_l+t>1qGcv35BM zC-AA!9tr{>r1&~S+ml+g6cg`hRCZ3Jd;f=2-n9I1dV>9erkp@$&KfMOdz?9I4&~*| zbvoAeK#ZF%rbx%7YY0&bcC_JFa4YstTrrDVuYWAJ+}0eU)!t8|H@Dicveo*>s1~~k zanQlM^Gw`_=l0=P`wS`MHu643ox6)=iT+W}Q_eFzJ^R%B!0p?A@`@GQw*8OEcKth} znM_f!ww@T(KAd2Ns7H0LLCl6|A0_HxtnIeOZ5q<*9t~d!Y+k)_s6~3UsU_7CEr)zD|sBj zLgGCGo*Z4)t$X`}@2pqp`HwGX9U?E*5AW#$<3nO}pcMsOXi2GW5Ja2)fIDNJM%2T-ixiGo^ic-00;%)DZzu`ns zyD_sv5OdCU|6tEQU-JZpUqli(6I4A8_s3~T-jlk(i+&cYB61AKz)t1v?n#{uOj4PF zT|KDD8T*AA>ONp1 z^8r?DnGeMzIOQdH?Y87$R=4Y-bGKy{C@OqpCKn_c%23W4T{*W8J zZC{)H1B?L^m->zIDs-b24{UOhXb_kC18UI&5O-U)$#31wj|R4VZSoJmYRvBn3uDJZ z^*_AeJc@ftE;-Xb^S|c_nyH7I&=0T_0ju@n=rEzNh;jdBHNM2||7d*7q#Z&qiJn&p zZTW`Py9RGK6c`Xw>w!Ja~_OfzUi13M#hBZuMr z9HW&hc)~LQRALo<~8MgfftQRQMk}m1W4=A01ESB5h}xkhW4Q+TPZ-zaee< zRi2Iuw`c6Pqfumdrhnsq!dPz8?kF@2jRNE2pD{;AMNl1XkHbG0LC?xjauVg5g*VKI z|78k(Cx&Pw;Umx3cL8a~g*w16`4SEG_=NMT=HKDhKpho4DMaDW%!^nNO~0mX;120vP1=k-$4T`Drgd( zAl$*MSw(Qx1^f2A;la%IdoN^c_DO3?E4 ze2!`WMHLu+fKVVWr6+Y4yt(JFdY*juU$u_=L(uXP#1MNwB@me(FcNnp?S^kp>MYiu z`Ww=S`WO~8O@FI3X@6mU5D(tHVkx&{O?jY*4?G}6Jq=a z#e|=)@RwyOU5t(T#MH?j*+$XuVz9yg$^Gw90)1kVQ8VAwixXRa*xvN|V94wBA^B)V zQ=yCDYULW6F+=7hwc9c9Pwszh2|V-UYY)D#`L*pYZF!-4^E;g%zw*ROkM-HTf8*mX zzW>5=uipClCwpIiW!vVvcD$pKb;1vR`UodJ+qUf4PddAHzH-~f$FrFC;>TNFi|{5g z@6qm8ACB-QF|X_0O*XG~a^qi~|Le}3U7tq$rn29M4|jI{ z?yJ|jBK&F0f9ZD!^LS>s*~gKc6(WB|zOTOVB!6p5P3r_dzo&=vKC;G zP+Dh*O1wyiYU;7)H{T_iDq357qCzRz@xk8vsKTDuA>%Sq@$!8$kc>WpxJ0+~5i)iK zWYkfB;#H6$B@)4JeeQ+sEf2kX-y3_Mc=nl3AARQWzr6m(TYr1lxNm=2y#8Qp^shfC z6F~9HTz74g34Q&+UgUw6!*T@@&k=t*DT3>T>V>2Yy?Ct6K?W;XK@8J6tzJq`#;ai07GJGk2InB#j>wOJ= zXH{c;1>O91{Uz?itGw%OlWQMaJg*Sv}YBkk3V%}xwdOIP`QEzSzRvm&fTmb!?9D`{@@ zLzfY9MXkTaS&5gtIWt#|UP*FB-kVx{tyPUEqPoV)3W}Rv6z6ZOY^-yl4qJ#Zx@v+k zFdr%0(po?2@d978ypb;BeP#w;eZ7mx)mKY*U%qsii62)Z#*<@kVGOQ{!K>Hx4xjOx-q;y~Gh=Xe3>F)Ehfj&YX)!o62AAB>JA6|N zcDZ`{cTVe#m&D4i>+Qcf#@`cz^JB0p2G7mQo8iouJAdI==i~{~CrlJEpZNU!RrOOR zkIy=cj`+g=N8|q~{C}+e{U)hYQ!ML6bXTm=KqP zCU^8mA+85a?sMrv+yR>0FUBBF(Bv*YL5MA&$t|BC#2(P({(G_zuY)G{-YIxhCTMaq zrU`KXbSB)%_#Oi7f}4-;x1dYlmff z?o~6O7xV_WH_SrbiH1Ap6zBt80(Yhh z_+AcrBitA9y&iNI+`ICGSWkSo_vZ`o0MT&Y!*>hleQ*nK=(Yni9ln*}+XZ?F+=MwO zAJ8dq$Kv}A=uEgX@cj_93$7R65Xr-B#`gf|)o^#>dk}ON+=jVAd=9z^?qm3hU!Y9j zeuHl!XnLpY75EMWy$~!%fgd!bH~6 z#Q8GfG}82a{?YN+EW(znXPTFonq-~E;AkC&-k9_tIX``VAKlnC^ zw*$P-!8_b%+#QmeuiUeg+oaq}l)GNJ4=DFJ<-VodkaG1qrM_XxovPeIl^8;c?2Hq1;oIyGXfJ%JnPv66O9zxpye{QRQw??k?r- zRqh{^`=N6GuG}w`EAE!*vnjW~a*t7Nx^l-Ucd~M4E7zmkQsthd+-l`ED0jJXS1b3I z%DqOpH!JrZ;xv{yPEXJ(N*NhcYslN`U)j6#VY(_1wSX$>3CgSE*H2GnB&uc`H z;H1b-yu!xD^IDq>VH8&LD&&rQl<{?8!;0Dl$mnq{?zD#NQ1L zXIF@6!t2fRwlw)F$x`l>sX_VA2fwPWuCc+lveqva04?+R$!cHGysSl(0@tF9eGSV+ z8PSbPz11im`kM%^x303WVLAI_zX9Ch^Ls0rn!Ns1O+F!(N)FDNP|j=@$BJKgD=O=& z>Keq)K-IS_^K!JJLwGAC^)KPArvDScE=Xh5D5QGaEAqm^e4bcp@~V_hG<#bcm}k{1 zmNqu~#Xud+7aZ(Eb*XEVUR{YZ0_d8cSJR=1$keNwnrj>U)nX#3R)3|KrdK!nAaSx@ z-GT#zYHaHC>J{h=;GM72F#u^?rPurFE1OWmt97M7tkt2Q1v?~N2E0zEbBKyMA#T%K z{LPj1P1yZ1Md9uxs*Yai_5e{0##vmQY1ff&f)!y^OTMGhxb3M(w~_Bb4s97 z*6R}G7OL|V*G9?zpOcZFQhK-&7zd__J#5lj_4iSh!%4%Q$MUxxFNBoOoaSOdn1T-b zk@D?uq8o&_4JsERXYVG2~;_%J}^o4F7!vE*3dncA{8uRsN=X4f$9B zsqc}ne@da$H!)UFVVS-&@B2P|(!cnr@AH@O9ka>sH|}Q+{hs)KV*l?hftxUr%c0Mv z;gsB&C$C93$K%2Se*CQszFEtB4Zh~uO2CTd%9>d#v!{+H&t=Z>#S@+5Tl`hCmNm3a zpDwh#87EaX(l?EoR&{0@^W%@z*8 z`O$6k+6If)y*STZQeIFz-&^X=D=y6!*Xvi>M`I+hhPVECw7=D_vggoz9AVF?tH739 zznb}a!p%^pUt@2DV~Yr>yI(@T*8UKJr&#B=)-Uxn<4RmbJ28?*YkLXCRj07obQ`@C)9%eHo?q@>TrRqFeU0@PD7BVkc^YAF(SKpRg_Bq^QQ|hn zHfzZwiPthtv6f7hxSesDwPcFKmoRo(OQuSEDdP;QGNh;sUuLC($g~!%%xh^DdVt|% zYng9Z9&+lFBA6U+w;GMqus4R|@jnFQwmb}*bxa4z5#3|$1v0Dr|W*XmXguj82V zt@+KFLcfyJ<^jk;-7qKtn1~8tuoz$xDulrjfT^eh1~mZFQ0xqvtfdtzQOXQfT1zVd zu4k~?T3Q8g1B1(~rTA|j{WlEOSxZ}*gnlD~>)`{ip1}tA)C&D32KPV#z|9OcT1&Hq zehbr^tfkY1zJcjZYiSm8b1Q>A0Laa447vc2o7)+@1%TY#!C)W2WTD^5AOtW)=yx$V zXf3TpV(w;esL#LbXs}w}MX(VzHkbOA)xt=J8tb&4L{qg{c~I>(H`WP#D+k-4_s#b$ zZCw^-Z)5g7dS5aF=HiZLWleb_$FrS%Hb(o*X>P1%za8wiN&1Dmk_xz!Jv(DO!(n%^ z_a0rCPb-+8TU=ZyEEiL+H|L&S?iQ9{715_rXSG~TLx?$Ff{tQ%m~kx@ zE-aCut~?D$x1EpQL=0+b$l|fUWU|O1h{vmig~jvddP~Yng*A)EE7m@BvaoJrShA?N zAYbTT(;$(Q=gBD*`XG&lrX&g|^fYZKlA+t4K}<=7C1p^g7iez~^5o3VFLa}!YaE#5 zWtb1Nmq-CeEjb@*6j@T#@Kn68ykI^8KVzC=#lI#}fs}!8(1_!p!NoxfAf`l8$zcLM zXKH}FZX1eUi?=9iVs;KJp!t>!z}CXX6+(Ag?4X6!Q@gB2=yNQGpw%Xlq^LgE;)ibv zi9d&LzdS^oAo0rvc8C-z^>+>IMSLFu^yg9ArdKt#vY9qT=P_DA-DXP=Vt^SIL|nP8 zt@1V*<73$JnQ+;O5YcT}_#Ie+A4km3Br1k?k$MO%f`95iK-#^Fi;BEuIg8xhoKknr zBrNGndY$!YEVOx4L%Tn%vAIg<^*q)HD@@yX#6a>Im}jzY^okQKk7#1+z zUSNF)HRZG}uCI^c{>)01y`is>X^cD#F&YF^S6#u0dX711;5068 zXhbzIJ_Z=iU7!Xy$HU0mS6_?4ek=Q@D+X5ELf^)$F)|4H_x9B1P)ZrVh@`=Xxp7D8 z9+cBekwV2qp4_|462EL`KPe*Mel^o7TOQzZ)f1|eM6coCR>Kdp!2fYpn zYf(jIO>G03*vLV$y5v5hxLO?mBb%ex2h$bKUeU6BXqPy&(vKTN%~`jqW>wx;wyJ(< zW1T!M)zjJ6rnV(e$DYtOnmrP&W!P2~R~PdcXhoednvdbQQmlE{$yHRMwW3GVRwCH( z?9tySh3LHK8G{m#6(gJZIpsOt`~vK{%8N@+7dHK@L6aTGsX7@AZ=BBNgkWYyLWF*f z%#EQxMv3kn^!KPJig{y~Q)ratKD}~Kaz8FjZu&l1mI;@j{p;0(XmU3td_-Uw19QU9 z2-L_p6YeKa%fOb9g7H&7mqB7e27&V!q$G?Wu{s6=tu!taSIdE>o_T2rFdPcKfx)nZ z69_aia3)+xdYTxdCoCawJ|{6F;WYxy3{FT$!XU4=Fc_Dxm3;gRCM3)x(8?e);bc<1 zoWaC|Z^&l_tDc-NfP7Xm$WACFpH&QICeYxjU%`A!3gmR#0)#M{Rg4&x?FaSi1|94lsr6rT9)zs*>!WM^hUi-V4JS^Q zwSFT5RqN{+s9L{?fvWYJ84Q#)e9ItOOsB~j-oQSphHqt{YWOxzj;i6?8K@e*gMq5y zI~k}NzKemX;ky~A8oq~Bs~WzSfvVyA7^oV)pMk332Uvls;RhM08h(hgplbMG1|_nF zH!@f(YxofcOJof{%BpK*4L`=9PS)__T*FO9-~Db)=}!!Dqe6{=@~{F~XuGsB~FE~(#;fO1bdmsRoxmpvc1A>B`utYUfT7p zL630!)9`B~Ga@1M_c(6Dr@XMto0n5qn46O~Pw2_Ve9U1#!|y;F4r}D5jYem=Y13`V z;3m^FL+`$I&?-v|^AyZ4E6=VUHV@0jm@Ox{VZ= zOUjE&yoK&X?!qWD7lvf4}tRBgyn%44GkG#9vyzu%uxAoZ=i&V;}KFD$-E7 zRM?%oQW{>@WNZ$EedOCnz74E=U(0#^#wKAOMVu6H%4_|&p<_ReaN6*y6^n&EofJ4h zpDyg9iB2az5B2sjgfqxb;^PUABY(aEL{m?TuxAiAlcb`#V~IN%TvT~oj^E#0yR;Qo zMC>OJKb!b$ytAK3c;@gGWi^c}PQ&#dY=Z6MXo7Vie@3Pz3j28C66O@Q`k9qUti{ZdH>m7c#91QDy$aPn@fNC$D4wtvP%-Pa<59)O z`YV>@VF6xHo|}Uw4D>$NmJhR4$n`Y|JYt zE6FL(^9Va3cWG&Hsp!KZWVGo^6w*6T?X4WLaSJxm!W~YoTMJk(;{AkiPcU@xh#{_D&41-y651@ zA#N%tQg`Vhl+WtbvdI({y62(>dwRI#6i8T3bVIl(VRshaj*$1 z3xEOwX=ExIsV81FbO;6&thD(yS>n}dWb?MjyN0#2N>9AT1ffxf(7yG=n;Jon@Zwq- z-FTC?3agkC#yI*w8<$t&3;~lkj>0G2auR|M!+kb&zfWW&-Sa9XfzJ?ZWi98gpnbBb-Sil^=23VmYqT=;fJbJ`G0E-?+(H?!y-H7UygP zGwU`Ao$f85O(Wf~^Ht?F*2942!+sST;AK8zLuvZdOlC*(0~8yEXFpwEq(cUHFweab zgDL_LgCs|jA|EWiNU7u?YmXxISn}-^<#*!xM#lATimM!jMY;J#MkDV>0+AMRLRD*1 z9j>zaecq-fT(v``wFqs!rk#WH(9so@L{nvqu2@baamQ3FuM^tM+As`)V`_zV3k!^C z5ZVUjoj3;GcWQS+JB^?uHqJ}C(`73R3uE{I#xNOZ=NqSAh>Jhk`p*&9c;8BTp8!1@ zFSPT?=BSm9r#qEga#}NU7L2dP(n4r0j24ftqph0eCzGUh`uND~sI`)T(sZR$OsK5! zRi204aRc52P({};g?2V)L#x2~@t7v;+0{}-^J;&^_Hs;9iQC{T(VoI0VocNga>>DB zSgX)z(H!AnF{CZkQXnTzLJqu@^5&=Zb1F>ZN?DG|thRpKa7?3=;eqN9kjg+?y&H+i zB68vYP?N^c*)~3tvO!EGq7VdbPU17URfW8GGz`FCPti)XiFi^^v2O(XOUX9bd&Ja- z6@Lr(lV6Mqdkm67VY9@vas6DZ`$foPYo(}1&I&HAQYRPMjmDk1`7DMMufGnVr`@i? z^&P{i?BAthj-lekJsB|Bz zt}kfo-*DpJPwJXlEMRQp{q$-wUBQf@eNL=Z#A-li#(Gfug3|Xe zzB4n>?>1epYlr^I?rN`+57eDKN42mO^&yc!Jc z%eSF)_6=aKgUIa5KI$t?1n zlm&Dl(4<))9wlNfh<|~|ZBkmslPY{Jf|^OC@I4)8=TlcH-+WZ~Cy_)kRmQ(sp67RU?t4GJNB)V68ZeFyDq4i?o#xSbx|iSDCD+NI=2AuxTk z^^-@UA=9L%JwO5*s8;`?q%J`mQ}-)C9bC+zJMYn2cTpgb>cS6}2>eT0e;L-ghXmdt zt%H;lYaOZpYn_3K3KPye5{--*#KqjRfaa0N;4uT2>@g&iO0F@AkSu3nq12J0#*-P8 zUiMfdJrW}xJO%I!aGLb98Gd+OjJJ}{iL}MiOEs%b0!&&~EQeuN4x8j+d`rCb0IFpyt=hgTLIWM1=S)718qPrcdRRB+M(C;~5?vs)lL@8J zu4qkItdhiLE>~ieUWm<7sA^S%*I(DdnfKB|3rk_}7n*Aegi~J~z>4K#4oh*yj%7mb zoAA+X6anItUOp_Mv^?^dD;FZ+CoeQNrTSE3fr6({sI7Qw3K~#wc;H27b7|9$nd&z# zZr9%tt!v7wSCfwC4JV1Fe4l6o?Q|iHf03cBFIr8BREmVkbT!shVNu-V51+hhXZ#G& zpDKNuD&@pmO@)lkuu&z+@NH_6{>v!ycC$_S&-E4+%%6K2HcZ&!78YXfm%9+WoN^B~ zjY6xX5|}4-Q2083OBG&BP}qR8uOpfg=>lRA`1e26ApTCzBJ^*W!PqT%r&@iGblWilIJM?XrF z^yonfLqBL4U&7%7d<({H2mOF~0eVJJ@8@|Ee@!}PlMuCY2X#96LwpB$ARu-BBK5dR z3O}$(6Q6@NEuvUG5|gl*uN=_K=eQGmQKFuZpNl-0>dBmtCikvrg}P_7_0S(ezjsBW({3T!talBK~J`*8ebhYV=cI+ z7klA5%ZyEhx~F#(H}m4YdG{Z`ZD+QHujL%+?v3etFNnk#z)aUZj&@-=f&t7LHh`Ih z$%Cr1z_g(ZU_?p-7*S*ZV;2T6a>)S3E(~Dgk^zidX#gWi8o-zrHh>XQ1~3+30~k?Z z0~mp@0gOP{07ifeU@SofFiF4wCJ7k8SOf+z$$$Zj8Ds#H95R3rB@JLig$-Z?*Z@XE zlmU#OVE`k#mjR3z$^a%wX#gYIFn|$ln7l?4h#0^KMH#>dDgzjiVFQ>1h5;<%6)|@0 z;A$(w31Nh{lX<-jU=)@OU`!|j7}19@fDxN&&@g~WF*=2W0gOP{0LGGr0gOPj0gSM+ zc##1t3Wg0}#EUk7C3vfFKO$;2(FWwA85`Xhjg&vy`pamjA;~ISoE1_EyWfP^*+?5g z;a$^Q94-=mJB8<yI_Y;rT|IMlrg@KAw_{ zH2wD;-Tq@^n>oCM(E9%sl@gnOZM`@>fhy;dAFXogea+3Nnb-$`E~c7^4B7t=XCSkU z7A^nrc__Y`in*NlowXzCIgzhDrZi5B2shZDF^d+P&L)d9qAoQiwD=?i!PG2ndjK|)?#-}fqdnvfEaY)O3 z>|w*~kR>el-w2Ns0uzPh0Rm|@m{o9VSXdq;=oDt#BxveG1BShtF4Ps_bp|+m6;#pj1IHt zB`ao6X?b*`lEm#X{%GqLSP^lx(2k|7CIbxEqGbAD4uMAVXJken7|Gl*8fBnUNqrmE zw4XFJ$r=*cXey?;V5M>mX~$D8uLd48B-_PdGN6BOo&t2Uq(7P3SNf!He{Hd;1+3Fy zbnOpIyZ*)C8#NFa`WIPb6AC`k{AR1fUy_ewgGlANsm|;96{VlAwAHM8A@F zK=LV$8*XO_8>}D+D7WaRLiFgTLQIjTLM&NSex|a5Gu+;CVY!+tC?=`S`ZcN3!%HH) z_e#R%Epiv(vZEKbI12Kxd74vP3L6*>=Qn|x>d_( zwS3RmI*j?YD8BI`8SC(V&msvacDlje*uXbutjG473N>l=GB(6oN3e*~9uDJVM!LP6 zUIb$u$tXkg`QF4@NA)`w3j0#I79i1y=YvQPNxJpq!50H3m(;9kp|=x-Gct29r7Bt7 z?UbpS#XL+t@>*;e?jX=(c7s^XUlQI%Dv3C>Hjj+LlUTojsVMwb^6t zids)$m5FwWpt!oUVg+Bkw7Qs`Vh>+|4g2J<&%h`jY2`xEwctH~?3)(xrGvc&et-|Y zdF(sPZrsEzjSiYW_z`5-8TRZI(#@Wu>^N=jb$ix2hgGJFKI*D)Oqp2c4t@khVzE&n zJ7Sil3D5@8XTL?i-%qf8=EFl-VbUbIQ1KfR-hmZkP%bUfTLfS0BAp=YA=0MN43KFkAP8z7gZ z_Tl7}GC(d%?Z=W|8W1f@?IQ>cLol^0wL6L7L{PabwT~p6J|MCzwT~io8N$TNQhPe} zih(xmX}k&VTiQy6C8-ENGfIsq4`p=`bP($ z6(33Uas()O1lm$Z&>W%NI~UI;4ZtCgw@Lo1gwXDn>R}z1M|wD+rR(Un0XUwl5!!<^ zOsC)`9>Qx6B_Q}Sny=e<{2<0pW zS2cR0%T#ESG;J2{!lvOo3@;7?NPGC8jGnWEHmWJVVYVag77p-piv1ndM@>PF;gz3t~BmSzE z($A)#37e+7D5Q7;;67wx-s=)p?$#3^`s-5>2+xvR3g4Yhoq0Tei&L?<_g?F zkY~DkHPUW3FHw83tokw^p83&UXZ|D_t@vGx3u#hWmr~YA%Jyipla;atL)le^vL{H{ekI;pSvIa9 zt)3~PnZ;=n;t6Ov(TQ}wg>Yj93iE^$fhdEMDHk^=`Aixvn>5bBaTGh{U@j4qgL6TQ ze@uz?j&w3b#09cb`7a?=&uJ!5CDEp_O zY$$OkZL>j)uRUz(B5lr7ln?cm28eQ-zdqa@Ziw<`uO)^T5<++*QZzHurNVmH^Q#&5CFM0qUk5ug*$NQsW{i0mI#N@R-HTe@&QT>|%( zl(`q?7h|zhSe)lA#KWz0qb2iI#Bf9*_xyYk%u<5F%yY9HOk^)FMkC|wBSV{ zxYiai4XD>+_7RGp-7C!q*);QJ6OunPsfy|07hBpd;%-f|LpJHnrkN`H50DWv)$bV{?xDt16-0MRNj;xY;yaAh8fDaTn0PU-3p(yPFmgGu2fDN&uC5 zHW4y)w6UZ-%G0YzB>b!g?)dUlb80HB$2w3QKaK&X5_7$}0s;F??Ay#V)P`|<6?uuy zCgkhC=TW_GD@UPQy!f$xg;c_v;RBrz^$3yL?p$xW((XVTvf=W#d`WH|-N`atWgkYy zxCmQ5Y-75b`MNz9VNBQ9DF$0a$Y?aCYwf>6@D$s3-jrjyjuoUu!bHC*$MkDEO)yT; z2OVHAqUam-rX156s}7|$^`;!tFRZIMiRw)`rZ&bln|f1@X)WUvn|f1@shx3}O}#0{ zbO~dpO}#0{bSdKuTdz0em@czYL1fzGn{rG6hLdf0y-i+=F#Xa>R^x1fcvFrk$Z!Th zyeY?YIm4L*@unP82gBI}@unQp6%1Vj%K(4HFxRHulw(@QG3DFnO*y73Ic*+*EYuBy z5&&%RuV%0qU=k{X!4iO}!gMWz8h~lSbRB~x8@(yV^lJtyZSrW+Vs zW}`Rdn0~`xosHgMrz zw@LbiyOMlUj%g=*cE)&y!|q~ldQ*P}1J4^+wlS2pP}A2mHYD@gY)omIK>Q3O;{$CkLMBIE zcw_odqreHqdudGh^6fM9UK*3z@-z}9Z2Vpt(;UmaKsJ#q-%DefYk3jaK`*Nr1S@{Z zFhrFg@fZU;goAQ9)xh59gX`W_+P;T*XN;-N`VjUh+`o-?#+d54*9jY$RnY^i+N{^ z=>n@2Me4NS9V?M{#+ZI)rHa^)WMmqB@Iouq#Rg3z$G$Vhbdj|fUi~&`ru(h$qa)hX zV=kr#7z&$uXN>8=NMslZ9lwyP5+h+-7_XKXNqd$t-WkJ9n}#TE+M4JuOs0EyXc}O=Gsbi;H&9^XoiV2Sm@{w} z+O51Y>3BOvVLd1nHE*KbgMZ$J-^5;0keBU zRhah@^K_ehhdvwKO)oPKz0_C(hZUP%vF1asqY>4&+elNgNRE1Cm3$eE>3TaYJ(8ne zW~F?7WB(c(M-n1|#Y{(!?Yeeh#gQrq}|!!%>? z=};_ee86FvJ(!}k*=n|@o}+BB2OOq3tTG){de|~C%^mzIibS_j zA?vn3fgZFT(HsC_Eu-=|;xp~me!qv{k)LU|_9tb7zjJuv!&Wlw2!|&_q7P5L!k#z{ zmTYyWhe&yNLKGdIu#3YJa_R7dT^yc}ONS@q%EJ?))Zqz>@Zkwj;lmRG z;lmRG;lmRGba=uNba)~O9G*x5hbJt8!xPEC;R!S7@I-Rx@PsINctVuNc%Yg9AD$2q zb$CKBPd!jgbg#n`VyMFtNy@_$qK(57qQi$L1R{qggrW{l2&%&qBEyF#5*UXk5wGaO z6GJA#+sReg`#vd2@!<&*>hOfg85B4OMb4rVXRj zkQj<1;JU_Td>*R}Czdvpx7Nkgaww+_9Sj@Cl9y@d9C~S~G0j7lT4-n^$lE+rO$Wu* z;YDot;aVq+j##Ber%fA~grp5KHuq(2kF=N@dugGaL;Fu-KYbT6M;~qd&9D&+r%j}G z4(%cDhn8dAI2%}syAk+5Z%(DqytMqh42Fy0H0WzfXqNLKRm>MzG}wt&*Z1foFT1babv&QPCcY$6%bL1byWD2f&ekRi>mZ0KZ0Lqww77 z$)jM9&lJaLvt1Aq;y!~fMxLx#B)&_rvz7Ql<@X1JFGgMvCH{qCPgdgBC_fwWM6pg5 zBX>uMrzNZTng)s)2AXum8ma%_}eyAdy?CrgYzCCV>c z3RzJV9P_NmBr3xa73ct!6F%Dd)u@FrWOGLS;7Df*N!iVpDU;d=u%_MzRt0Q6Bbs1x z!hsFVq7M-EMp>4!C!)pu8QgTQisK{7`K1bc3veo;LQ3uCF2e#j(&lnOxe((KaH;gB zvy$U86`#dB=~5Oxqi|%f9PTi>oD;dr7HPlR1X_(t1>F>Gzf%$SvGQUSov_HGscpnP zagfpAc2I-M9vsyocapM~z>!UG7ZuEXX~@z|DgvsoW6)y5g^woqn2{fYFEY9nD_64k zKG?_sIWDLZf^?jtWL3KynGxl8L9`!Q)p+H{ePMQ#;O)_ZNJxqDd(z;Gkyk~D?^SH0 zao?l-J~H@XVI?y(m9=^G&!2&@MlV@*_S+fp)3eXnE+M6>cGd@Dgu? z7~`vN^)|^WIcX;NIA*(2mW_i((iJhHE2U`WGAXK>=~!b>`|iVZPdl*Cu$xya$rI?t z5l$5CGigmh#mGiCD0kI)+;K3Enw)ZB2<=8DDc(@oG{_r#?ad3v8ty z=#huXg zU-;Bk*j{ubb5PU+0KM%fy6sAgSQcx{QrmRx4zLrBu++ANm)dxAi~bZO0qY*M)Fx6c zwTYsoHoI7AlS@l&cCpkZmzLV(%B40@a;eR{@KT$QT57WhFSUsZFSQATm)ZovOKk$Q z)Mg12!r8b9-x~C+?)KZ&3c&W{j#!{O=^irE})KWVNhL_sJ>$TLTSHAG&B&}}{ z?bnXK;cHaS*?X&SFppL8K%>h~QC(hJe>YlhAKdB~LfBZcmo|p@tWhT;% zcQEs#nMuSPfQSF-zX~no8fhCyr6)uy<~LoOgd_4FX`F8HwzM|UH60AqUAZnwlX#nx zCPWaE-~Yu>{a-mUhp!k%#^~Ooui3T?xzP`QYDaq^OL&)NoZ20W+KOU_Pwj}WThBrm zoZ3}Dt1S{XYy!O2ehI`oQ#-;oOXSp!aEc{zYDYND5;?Ua?6gEq?FeUBVo&WTy_uHqsU5+|796$7Q#TwIguI-as~8tg_|a6o07D*NeXEx+@yI+nuO%04`gYj1yLRrEeKkh>Y}0|RDl(N)yQi> zQM-y2-`(BnqT+-(zmlkY$Dc|GytJcjnBQIcLtCIrE;;ai0=#v1*qq zR_&Y{i&3d^#i<78rsu$Vu3WWqZk~*Q;W}Try5Y`P@HvX;uFYjEbOBhK%lL-y@>>=e zj|nd?)saES4^(?q>XWfCYqOp7({f+59@3Yd4nkT45$WYp6g zB61;{$eo!KuSk0Jf+4}Ch0O)SgOFS-j0HBHN$j(*U`X;loWq$$^}jlkM1I(|@`BRE zf+0zN!eLr4ygZvqQ$8|*1w-;e(c~i&STNMY#DXCe>|r7eq28BCz9Zy=IF1P4Ao-BL zFA3jK@_~~t3*T|_i3LN7_figgV!@DnFhcN(1w-;ig;y*Xk~b#2V!@ESCBiEg49Opt zez5daK`0^pVCrGvZ;*bl^@#BINIw{RRQUHuzgRG&^srzkG?=WT&|uptfI{A#NmeoH zSui98h2OJaNRY8*_#;y|!YNF)@;vK>)J*4j7Z4`^kdb}?k+wdDgA0hH8R%&E77z)R z5%w=25)73yk!}UC0tq{je+Gx+E&y$DD1OPaK8MSe~t*^DQqm!=gw%d*?$C&@clgvi zuj8{o3f-CjKs;`hD6{MT%qh5HiPo)}zeBL3` zCmhv{W{lIwe7KVErJ@#`F`%7W1iCJtv#74k_NXP7=se;q+v!P2dL~K|cf$2_wrp#` znIU_=#NMN@=g1AK;ka%6FcTFWRu0wm9eHdK7s+AZi9u)Z)!45?bw)Ah^gOQ^y6Dp= z!V!-`<$H?%{W~?n5xFA_tKIW#m;ipW&Ds4&u;YmL+nl|^&D~nU(*swm*Ndqy=T3Tw zVz}O}XXjbQLdvTnV}@U+n3?KzweT&N<%iepu!c|ALNe~4**{j!h)h8XmX)bCCHSuG z59d!=O3hnj1^z~8^)LI|NIm;%`a>=&NA2&RX!<=9^tk7Sqf-hnb)5@a)tl0bqr5dE zJZ{RbDSEEk4!TEH!{bF@Bv(hP?83EtR(OJdM_qUs?ju|YTi9oX3q)8^uG}25xuv(8 zZojv}6Q>ZfvE1NpjBud{m}6zi%^1N9geOg*{H6=F!e@%SsVlwhDFr~x!erF#gzX4wMvMvXgX8z)xCxG{rlV*4Q8)_j!k>xJinxe%nu<%Obw$kZ zDJtd#a;V2B^Poktgj*v-|-1p%ildKXIEaLuyRA+BXn-oJI)vAOFM-1`V2mc7N zlchZSNPM{QVG3@-#5L2FT|t0sr~XJ>AWJwdyIdvV4GKP0-FQh#XP-ek!m}NIcV32} z$)v-03vxu5H7L`QVd7|Bi41AbA<3Pc#KEGeD0Q5l(v%1e4$hYFgoe|do4Dx#cU7MA zgfRXwmDIFF$iws`trS(GD^pEUz_B~8@_Fv*+-9R}vz?b(C5O|946s2I`qm|h#x+rb zgW?ehU&C;D0D&e)19wy2PsFpGHFv7~`w`tsDj$$|pa7w_X4JR*NlHO_?A7(LIi&#N0#>CB5)PHkmGBY|T-+m@C*hV44*W3^9#wGb zEU0yc^}Bbh#BfossK)4yoQZDOySv16hhexb!jP+xPGA|*zU>nz(~M!3A;WqZGGv7o z!lY(kO-L<6l2a~2l8crh#V?j2>6exv#V?j2>6exv=~pg8l1nZ_3YcDoB%fM_6ewaD zl3aQjl014Dl014Dl038wDKKamQaZ2ku8OMb^snc_pAqh(?Lkfplh9q~IWk>>hcl=2-wG2rfy$mTZc^Q&C-epMg zdzK+RUcC%SFz+&C<^eQb85y6rlGM?7`vefZd?(&M@dD6}hO8_Re}J?ZMl9_;-OiZ1 z5Q?jvKNc58Fq>$Z$l}IsC;zCxovUzj#5G#EE;ep;q{T;i^rR2l>YQ9lG~{yhbHtLV;47KchUMb*lkc9@n^s&eU)g}-`!2>2(M+%P)+2DpF1Hj3O1lrxuZQlbpdzf}NN4LA!{?khK1x8S{yX2JZF1e`P z6~AbA>6hAF@r!nseyQE1U)k=GOSZcLrrTZesdiVOh<2A;y4@v@ZgKXl>oH60zmDqgiyOnF4^vqOSik^5$!HHJnb%dx!onVuiYhpYImhm zw!7r!c9-0`-6fCP?vl^b?vhuvyX4gEuJmxb>jt@P>=UBcg4=&MJ-6K@h-i0(L$$l) zPSfs+*q-e_5>2(cwo+DxH`RY^Bw8r-3u}Cmv7qMdf)4Ay;d1=O_b?TFKZN$c(R=m)!)#;LUxm7;4&3hNRm4P3{N75 zg_#ra^a&T+v?DaonY{HYh#|vj$NuMcXfTgEv~alvnza&D zFqoJZ-z{is-`&mHh(?NPgVetxPeZq1M&tDr6kFynjaQbp@wy0Qmk&N(Tx{*sPPgQ z)Obk;8ZYTU<0Vkgcu4>nF9D#&OG2peBA0Bu$fX-E@`%QZ9G=FDyxe$^+t+vzKs8>{ zDH|_xbK^yB-FT75ZM?|mX}rj*8ZUC{#!Gs*@p6N_jThs%uqQ=PQhILVMOdQo5)RdP zkvmP}MPTosQKG5Fi#)pV5}4e0k;mJ3k>AsJdAz#uBAB=FipZxnGm09ayxH4!B|EVy zx?NrB6r~Cftm0_Bpt?EdshZC%9t|$(ZawjMP98kE`q+QZwmygE2OAd~-`^_Wi3>d(u`*D8ln~QFV1BVBMUI?5t#%>mVWjd4`lLPvGMSiChkL_<Tk_{$Sp zflPp=t(`qq_G&K~C7yMgu<0m~s+ z<4y&8NWk&{>%$7%SA{R1d?53%@I~Qk>g(TTg&z_A@$lp7k?^C!S0F;I@IMM)A$*;! zje@DK2}ltj-P^mmt?<`{e+vA)Eg&^0ay*TKTejgf$nZBr_#6eGrzXRX3D9XW3hqmP zeBuE}X)gRAf_VTd{KUk6hn$vMStKqB6hd~SpVpv+KbzM8Ju(kJIgtv5*G&B(KSa!M zgu?leb~4LcTm|7+;Q_KQ)s0Q<^i*beW}z%DzDie}Wb1MJZSC%?6ZaE_=ZMfqj!r}bB8^i;Kwgeq7Y#i49zIP_h~|EqD4Z@l<2k=xuETQ+ ze}-&vhR`gRy34)Ta<`?B?%&OQfs(mQP_zU^D}1?Rn-dMh3?~ckMZ_$MU5LJ-koZ_l zXMKWhMJ}yU!o#}qOX1rK%dtlb;uE_5Q6;?U#`kph;u!uFExqcvuNA(dkZMmTr@Eud z2)k2+IZ7;I6L|Pzl2rw(bk72a{Vw5;i{OX~-spXKSt1-12zfbr*;?$K5#?otKOq96 zIkfv`eXAsRNWcnm+>@K(fkL`0tSCn*L1`yW$cbGY;llzsmV;&O77zH70z3!ufB@Fh zgT=TJy{#4-lUlZENqkC3X|9ySP)L6-kj|7T36^yHyF}1D8Q&lDX%SQ`W7YO=r7ck& z%AXOzB{HTN{8FN&~LDqZYZXu3k}#KYw0LwingtVzb)9cgr=&^sp0PkqnD8rG(g`KwYf<1=u16( zv~Uj64o5x@`kV_F!wUaG&>oW!K7Z0xKs2si4=oodU%C^X&V!`W_)h=+(|ny z+RG7VNyFz&qMLnTZs_Xu@CB3T?v{wOa~Fzq*s|)KEpY*kx^`NJl!}l7Pl)GEk?=|p zTI7a$FBJ)wiO^}Tet4snPofqirUQL3D@5QdY2sIjWU%Qa{S_qP)st>R-op`+Cd9gQ z3f;FmRu7mf?QIg@D+N~ioC*a=67sc}hIoQ`H}MRo14U33v7YSSGo<9`MPu#0Yhe}ea6 z@+tp_2C?9A3Y>Z-#5JJ@x~& zMb8$W@<;M6%mV5q@CK>!q3klkKdNXS(zL&Yy%IBew3d@s&|X8dd*O|dynm@^L{U8U`i~&VnI!93l;+mtT@vKvS zp;9;xg8u^IQ%DLMGq))08o(v?9Lyl5;I7B?BedzCfqdF0gba*JJH0o9ZYBPERBB~f z7VpO{gc&$5x%K17&+W*MltZ&nJy9SnR3IXk+g0oY<+6PjV#-{SKbXspr_1G(`xTUQ zinavFd0pd{(H0p zLh_jYwInoaOGEZ3*~t~ zDbG^~6MSc>^asJK{Xxk$xr2PqS9q*AP!D`ljcW=H6BGLtGIT_I_Q5q+9Fx-f6d?%G zw<|162Uzx9k~F!4q#qiBbY7{o(2S!U1j~fz1R&bOd9U2Cv$dG#dHtX&ctly zjGj7mxBorF%WohG$=bc-odCV#@cT&nWbHpfB23Ov%6LpA94FTA&qShn@J0lQ`nXI{-$NpJCL5HM(x(wYyTWDV=_ih7-=Lr@f_?~sZmhR(%?0v}?ytW5 zcsvbG&r**bXD%VVCz~{n#9++_ysHTh0AyBCz6DVJAw0Z2jDHzc9WGmWhi07mTKb#2 z<%>`A=|Lwt2hliZSl7H` zBEa6xRC{kTGJaeY`spDm8mP`hG1ElzjFvm=_5ecO!mSy9!;OT#S+`fgCeO6}g4{gQ zHU~AuooUn4YHJBR(rGo4L6~RJ-XM>=XZkU)Z)FkR zij^y;)BR78EF6yM@9lG0>=p35to1uEnbKC*4nbiquWvfdm_|hcwJqBkd)o2xgB4B* za1prc;4Jn}|19Mlw z^?dxzUWGq7q;M84pc8#2RORFqExWKk#GZCJLV3zx!SSrjjDrB@0mrgqR9aS^+`&Hc z9Ka)a*g}K2vj`~)GM~cl7$QTLS3oX1C?ULzBZ#QmHn!R)fG`$GqQBTIVvfbzEd4k% z*7nCWrCPdf91)RqwODXgR2>mNU3(iuZ6J`I` zDtuL0s~VsIh})sqqE4!IaXnyKcTVnDve?Z>V{^04hh?8ZCL^Ju?iQ>Nlc!>7c(M@J z86>X7r@<>Fb_Pl8QTV4|2A2}D?6U~F{B-mb_Njy#A~^0KS+o~U#070@tik~mHU`Lk z)(gI-g8X0<1eJl2fnL1ov%STWhdAZos7hl%=iyHvB=ZobJRAmtQ+j$^wo9g0Qjxt$ zFw_VMDkIQkb1^i0QziCQgV(~v7sUky+W6(?cUnRPT@yjkU8X#K9LkOC=KD6(@2UcW zJu1dW-5g{g2kn?GlNT9U_AaWIFM~t8DI|6@+E-E5UOPiT@Yd+|791XUFX`W3&%_v# zG;ohfb`Wm+L$@QzQ^+}kRB+m>Dv)$p;U7?-mk9qly1w@ma!UMgRa|f<@e2nP?!N%b zpV5NfsUSbtig{`jJ>D{TI?{Ia)gP?Z2&XKEK(n2@m8y@S;*LS{#KkxAMN0cLD!Xjw zu)>*1hZV4BlJymvECrQF&Swx!{IO=W_O`TGSr6ILj96blNQQNG5lq25btrFJleh|I z7kWe?eX=C)vtSJO-z4Jrg}GCEIw>O|>oURaF+_-}LRqPPi;EX{|HngD3ve&k{KduR z7B5}5+9H0^5Jfjh%$t+MmBH1&4(^)RRkg(NsC^s;bh}f(#CzS5;xxipHp3 ze{nr_ueg5s+-Y@XEuJ|oTZ1ha6d}_^ScTmm$+GH1vJ^MguB<6t2c)wX;V7m~A{_?J zx(|<0yPlY=wXy?frBxd}q^uk_xTd1Cwib``(AJW=^&}^-T2W=?nkcIhK8!pUqqMAS zWA(UxP1M_l?N#j zfToaSR#vR5SXEgDowg>ss8wYNrAAX+APTP>k}R)WwaJ?5f=O7F>&md<$(rUuQNnb; zOtO3xVpNC%sI{iM;aDR|mag7to#KK@X@3*RJ&6~4lcnY5HP#F_w6<#fC0H5SScN~; zXD_0Xuwp|5FSBO4Au?H@C)X#S|CDx_(1%$rjw%*xUV=lWKE?I*Q!b|G1nhd>j^r; zAGB&!O+`h*I@5(#)Ym1Km7Kk7DP8mhgMfQ1@Zg))l8f;S@cJ5hTUqLaiNM$PFZQtO3(7xKxU@WLqEv>+E4r zR@JPp7D$WJB0;cf16r+hj*B6!x=-C;$|N!hVTp@Lnj#A#>BU%@7DFen%ndHRxPH+& zONJ_nbB96nm&SQM%!P}VY3ZNuhA4w}NoCy{s+-nwH>kAglG07J$yI1rHYL#pp>gs&>ayKiLSD(kJsJaCWoN?w9_l?v-|PpGKc)eDmsSC%HBIZt?k)~%aB59zFO<32S-XosEYN^9ypin1|^p7dBRG|*KS0~N>#GH z?+K|wiCfQMwncR6sE_UG)E%|+&^s4JR$7C851D?yKS6R+JvfCTK+9HQ>o66y0M?Vv z%Wj(RudKbKG@*KB0wA~u8}p3OFdY|6p;BSXT^74zyqysZm_L4`w`Y0PsX&6tPAHrqxp@aao6ufUb==bmfXW#=v6 z5t$g#hyj-vdTl>@ep^RsfeXL@6287B3Bn#hydBxwi=oc%X{eH{M%#>T0yTLsIATgp zs2O%|Tekf;m_{B01I;a%FC0gS_j^O#zXbnS}+*p%k7b^9yQvX zN~MCY77`!Dh|F_=jdRggk&d&2=Ke94=xoh^M*K~u^7Rz`aFg<$ft`Om7mhp#hBImU zJS*^rZWhQoL1GF=ehhbn=1{T&#|tuUqk9;0hB;o4tB)6;K7SfBE;-oit&SIvQywoM z7acDUzc^k%zjVAn{Ni{4{nGIQ`jy8E$R&>#2$()zKt6T6K%j`@1?1Al3&^977m!CE zFCY&cFAx}Xyg)i|yg)i|yg;Dfc!31qc!2=W@d62<;|1iB#|y}%j~9?f94{b;=Xe2m z`FH`j(frhuqsc`t*_uuOb-X}2tqd#yw$p3bn08ZPB$te|EZ|?#_$Q)iG)n z9WddQyBrk;>cz{z$tUcwa)!38C4~lR2m@r<`S$^pjS%J+#b+Ok%E*1gN6w_kdz1yk z+=_}!&kT;Ed3E)kD;i%yv}?vwWn+9Sh)ev)gr5Oy*G%{hesUb^V{rk;6nKG7AcGRf z)?pLL`>!CAMGmV_ok}|iySYVZ3Gn!^Y9GRp?<0jtlmaJk5@Ai)Bob)Q37i7||9LwD5^*SRdS+z`sB(9 zL}+XnkucwF+tNR7Cj1MK`1pwy;b1+D98iCXLop_vCSnv$uyZx(Ns~ODB9}bYP>3n4 z2mwK7ZmM7uG^XiH=TgekRYVAcGJQ%0i$sLZm61S6ERK$?ZHeAhc0 zxhA;@5zi^MFPtnyAEuneM1)hrTF}_$hL)9zMhNNj3GggO&gT|e{&?6pbB@T>nZ@9c z@K2vCQ#&gc^>?0v=AJ&8ia%cT(Un4Q^A#yD6GF$T*p1B0EO291PVmLW9g+(t)Yuy* z)#q*!d@sy}2k!2}-)`s#e6lHtP2d}m9aNVsdL2U^Fa0r)>mog46 zJ(n1GBwXd3ctbMhdAx`W*>0RfCA6H_AjX)D6&?Uo?Sio44Z&Zp{<$~_r@k@D}i3bNnm~l_p5wZ7U~}W*2BmLJ54d zCVEl>twKapb#RhQgAypx381*7GEDXhnp9?r#!|Y5tpQ*#o#ed&a!7NWh>*V91ckZP z$&`wfMJ+@`i(P0@wrj;n>^a`{BbQr?JZ>$8x;c9$|;mK%1S#^xF7Iu2Gd1xk#0-FzJ)s$`6T>t)A*yTwlrIaYL;ZD7on*>Qg+W z3I7bYG-F(vRNH5IRArXb&)F^&$<-V;dCNN0O&3j2v9hr7qT6M&aXQ=7xj`FxhHL}Q z6viJMoyD!dJjoAnGoM*QgCm_vZ_(Dct(q_IC9agH4&dPi*~rPJVUaZGXS?=$v6nB) zI>*h9w6IG|ZCZm54hi)W0H42^59dNgm7p0TMg&6S{Vz!q%Nmv<@99Iw|hFp&qrIM$GMvc-KPdVh9DXJdrSj0iG zD2w79Lty;iCNIsv1f7g-!3t#c8oq{dTa}@;Qz&cLQ;(pXG+^>n!Yo+{Wt*leA=)%K zLc&mqZJHP`d96U6w?>Xp4UZt1KZyqlwn z0xeYOK%1$$(U3|HYj{Y7Fbt`*AfcJQ5}xA9oGRK>j~4|#O_ng#iRqr=Jw<|1P5rf& z8Z}ktX3F6Xw`Oj#vO>+#x~@#~@CE7>wrg@_fn|DypCuJP!qzxjs!NWRnsZJmp-J32 z`#O99qLV#kfFko2D7>Bmm6D$(Ez)#1N3yP+;uiunmu{JiY(7F69oFY8*5`CRo z!j)>B;njJ!_f0aUT(F{R!3cq6v%qpRTq?Z3aCPHCN{iu-x8)t<%7Ti@qxobXl=&um zAC*Qx&Kr#LScma!9RlXtN40=sV|K`;C{@(k4UzS?$csX%=`(2D7jy?aqCuw2p|kEb zyndY?O7tY%3>LGictXCJEZ;1@d?Vh%LUSqwN+spXbdEF#X#9L_sm!&jXz4if5)c*; z^MBmT`7IzYD95+h-Fbj_XU+DO$|z-fFrM zR7uTgpymk;wrif@iqM0Zazryrj;2(vlQ@{;sRz2-Ns4%yG`pvJQ$n}XLl#_k`kllh zMrq8Ww9#kzr7K53^JEp79}F9vksGP*DSZ?}iA;a%N;A)DN|bsfV&<7DRW>)uIg(>J z+|eBt40kxU6m5(&+vrJ3D9@LUb%g@GqX9W|PR=mu@h>`(QavWPjjA#@FgKneqUjaP zLs0>#=@n5oN7~$?jJ(Y)yi?h%QIgbqQtkhAZ@E+0DN=PX&LOp-@r_3tXX>)_jAmzf zfqqjaS`ar0X;1uZ7!*)DZ!$mvk_5_9C<;)B91eHFcJ(OxW zwpbOI&&ER`U3CrEpK*SJGoBQJDjQ9U!zv0(2NOUR(W40y-4S`A8zRLyi5n^E&;0NA zf4Kza<5XVA`U~utZT}h5p*B8biTrPI`w_Mv;b4WkV@aPOS*4j+P~cPp-&O7%5M54LvU42pDPca~VC$H|t) zo(>7ac@{cxit~mzh}oyX*a%0-X#bAXE?gTZqkylLUR(zQA9exIwl4`6S0zek6QN5d zj;4d2bSq-ggH|$RMdL!3omVZ}$$r^(er2zHud}PT?U`r3<=lSFvA(vpPey(fNo;nq zA9gxZ&Ts5v{a=eTeA78_O=SN!oS)mN!_HmTgl5|p?TS>qKk|xme##kl!s$ynV;*+; z);eQaGeXX7&VHD_-(USQ+;4{0!hPda#m>&u!rK6NHGC}qd#}3I$*FhxQ%-L2k-H9m z`MO^|x+&7W`O(ck`IZ&R2;J-C9&`GUT;%DCDzDq|VZbsnU(W1serBa27oK}Te`MA( z&s47Xhud#;KDIlR{9#L5q@=n1x`F$EXggQD?8HxWUv{sPbLig4qO&?c^*3Q+>D65? zJB2U*pv^gGA9C*5eXaA;YYtUUd1lk*MNW34Sh_-CRF5A)NFnPHsw3}~3WI{DbE?Vq zmQGwi)`#tJ&{&_=Kw-7kz)i(nvNTQ(%b8%?7d&fU5VDaWI;a}5YVr5&$ee{sigCBa zcF7PCO}Io0LJo+~gEt{7kIc=xMw(u$^H%J|Ho4>SB(nF^SXd5KV^JnB4jtX7jjDJW zSW;u{s==Gq*KKNRYg-X1ov?k}ZIMeOpLC|32$fBAS|ShsSHF|HzyC)3N54Wv&p;X> zYsR}us8)~X-U+D?+j0Mzu%KYqHK*`+Z79614TXnIEyeNLMG9iO2)9R?%jpDRYJNx8 z1*GoU1_OySa&TFk9G3HaSiK8dozi;e!bog$6Asre`+5!OPPl~-{rXT*tWZ%`5~(gf8P%CYtf^4 ztvw4%T!U||R5HxArNO6rbVE2j@%B*kn(9&aH!Vv<#UbdEHk>{)6*MJL&TD~P{i_9^ ztG@EG|7!c>xp-PT!^ZpB84h(-oQp5(Z*g`$Ey}Yv(-|AtKjD>6MnfSKK#35|ci&~A z=}Y3tSi1GesEEVWy`XH4vTPRFfB%<{Y<6OYoaU$Ry?pQ9_KQnC=j0WWJzKQx!h8Gs zBfFh(k@`br&-DM{{1xp^G_=Haa#GHY;#~vIu0vOU@r!NGL{>QOssCaq3YldKnLYdN zl9_&H7tHxIW;ls?EF2jheqYqN#kLd9fv_p{Kc7t0qpybE$~=O87bH9Sp`EwufPCq$1Kgf> z3DIEqyKC0lEMk7aOBu|!Id#wTTU3B=bLyVAvM6CXt5_i>e}&WE>f}EB!bN`& zJ@-N(#Me(&$3{^*{`Nw|WRH5po;R58enpM-Ft_Jsa%!nXZ~kj(S%D#=*-^#;n} zNV}yTL$Bv!pgm;t)Q%-HMvm)j6+~Y)xoxVtYHBch6)@+Gfbm4cMM|Zb6-?5HG8mm{Fe?d#+RP+(+ zo#!!1xqEjp&6PM;VOpbV)BVoD-6`}aQ_jv}IF~zbz}bzU9hH&m(binGc1<0UkG$sm z^_o`adOPL3eoe7+gPn@ZXp5ZYybR!N0R9%hkK=b&WNp=o^H*%zyceBVXUqxb=hs~8 zd;tMFis3AF{t3>e$kWwT{ngKGadINX7__VvouO3bj*B{-W^_=e6^HU*M4BK7Ty%rK zZ-+tgjX(L`Llm2p5{mWfw~5T#W4A2#hQd*5mh5TJ$XQM)1p8xrGns?2%?;m-9PTf< z^~282wN7sR58sEOZtD&wddTUGEdS;CD;6%O`sR+_zUsCGPU>1GdhHfx$|0vCQv9v$ zo1NSU6mP8)t^cOee_~$}e^y_JleHH)9S=M64>`4m(9ydOBby!9Iui~#-Sy5m41?=K zr=v(WiQ;|RrkWrzb&C=e>JE|k`gDallAD4&_amWV^94ziFe)iuxP(ez&zjY?sigm+ zwziTLRkLP^DYTCX(g#LM8tlPTdv9pM@r#q*=!AX>?s7s=gGcw8BUqKTt)27fx_X)} zCL_}zxTBuHf45T65nY~mbdMX8j4sEYkaZ6JzAZG~mMZmjuPLBkIKn^cSs7CQNMfwP_F%3sa0F-d*%&O<`S2rMaOV@gu?3H1*psE-qZ_l)pSb9;(cbSX-3; zhzdVNh`_Q|=0|T1t;{dF$tlf`U7t~!Kli$DX@1GR%+ma2d$U&OAGMuLp`83>rH|*A zls=I^xAe*USm{&wMJu1pkFNYS@gWmt`bP`m0x(O_1HYGnyynlEm_B?s`NWWSo<_&& zi}(ni;Bhs7>xB;`=XT)hnQ>1#>F_B(cL1N~hf5WHd49vylpmr`;YSqxJQcoN!3P!m z4FxaFkM0YV<`?aC%JcWziI3*o5xFxnv^VER&;KyL2*Qm*xRHunk#0JE<{+K9uq-@} z+L$KY1YlbfUdg#}fw2`l(l>lL6Hkt94^z%yO?-9uOMDzYFE0FlB5Q{a`MaL<=oV*X ze(dIqmHBgTB0ai}^k`pJX?}cfq-;!PP0r(`Pn15n^4XQ&UiqEUr}DCvtx@R?RsJN; z7<82<2|uIqL-n8u6`(RVbP;|kazmGh>To&!uFc&g+{9Ovil4YJPG0Lp@mI*>CMu8X zN$;;Cz28Ut?#(REPrNq=y8bwH{R!y$lPI32pzF_y;;|MZKJgQe$3;qX<12m0|K1QW zwIc^*`FMV$EVo6u)>0OS${)dLNzqyv#~*Y_#owXvry;xq_&f=Aj=~4&9@0zVkHQlx z<053E_$&C+`WNrcadoaz769=<@s6yFix@XKe{pwmt`Fje}|Q8&$c1t zT9zB?A0mj=PS``Dccd&XDAD`~eM0Y0j{B$__hvxHBz!2o=ODNT`(t?CXMsc~yILbu zXB|lqc2?mXFOQSg>JWbeazqL1x?7g(l`5M>AwQy*sECUcPFB8Deo^FshqQD#C4EZ2 z;-OoVR+Z)^q@u}iDldu`T@@DqY(W$s@>R$7DxF;+Iqg9_9t!fY_o3uR@FT$IA=C^> zM&y&=4T}Ew0DO;vS19-vmCjKG=ch7|&+DjOs`5nh1tG^!p^8u&qo|E&aVi6l^4!p7 zKMs!lsPubQ#|6bQ@i$O@b)NDo&)wn{rmRPlpFtJ>d^f(R=ZGq*`KsJa-eM5;m*NFq za4_?=Igksq=oEp=E6JX{^NbITn$VIuK)->Q%xs@jFkanmX ze8jWOE1-wqBXoJ1v?)u}PEb0*TbhwhKp)oy3TaJl2=WT3sIbG7Uhu|bq$l(zp&N(L zTICeBZjRz3cuz6vaZ)sDqPZ*09jboLL;M6PF^`@W!A~FPUQ6Y&$LY$C4wmLe9+U8) z(joXANQb+~!YBg9aK0u(HQzF^|NT3p1l$MO^y6*vsY3a3$x8RRJmX2cYI@gC$LGiD z{Ewu`w8VpMW%AKBkuD``$uRL0Uz+CwWhfqW(r>ycz5?$8dMNOdac)#aQ*c`4dz~nxY4Gi zhaMHc)&1SQ%~qPX^F-c+P`LyIWQbP=y^r2qVm$gMnDwRAhf){s3W)a&cBT{`-JQ+6 zK5qqi#0#Og{-(93-w2^+4iXTy<+;_o6PL29tIL~r)X00yhbo&MexsqTV_OUKtOa_7 zhgN#l)v0&C$}r{J*n}N%c&?!X7mW9~%64%F3c0aU6{FR`Nex*s{yz!$p~`2G8ZX#Z z;%w!ly;<}DBpvSGe^XA5ooj>X*=lO6ohFq}csK1+%T1pDX8UE{L74D^S?lX)Qc`U?fC;srb)OQPVL-`)=r? z&06%?Rvjn3ROJUC8Rq`wSZ8@sX7}YA6gWlO+Q`o39$~TjgPP#RL(0iAMNF5v zbaC!DmSaUq1~?vFMn#_hN~imm7IElfxunr74&uZ~biuUKiId~KHF2&`B4c^wSWawz zT<|!+65t$p!vu!s52tgA7UY&-bX!k#>3CdVQ+2G3W-LSe9II9FPSRla9a;ryIi;sm z;^~BTi9+Y-C=Yf{(>z@qObJ+=D9gsSaC@l#`#Y8PXEaNOGVf6|yk+fA#Il}KIKNfD z(5p8G*z>Yx(y&k&7~9e}RsD*1?3ty2Y4lIV!ts9PfNfwW54A#8uf^_Cg_dFc!LBik z4=2XhwzYws-iRAU5V0v3G0XZx#;X%PZjT^tbK1BCY2vaNFLiUzP8t}~mp-QrA`DY6 z>K9^T=Nk$nBeHLcG6g_X;ri#Wa?vt4eYRB_RoIi&FY4l8b6kWDFl?S1R??!v7`EIE zi*Ojj==Bx)kmhktlVQvy!df|=#5Vt)ra;IMI~z5K*13FNkMhw@IQkHao!2OakZ*Q= zK!a-7`9TGeVrAd0E+RX>r$Iw9@hQmznApJ1-8xnsJDD=D*vVvxi46nnW6D5er^|$4 z1y~Z_(@fN}bB|_XBRiS0ZPl}r$r2OwnhBSpVL`7~lvv>Ji0tVc0ex7|5g%+3J9{)} z3(M~@7sSqg)}RDC-8^$`m1*NI=b6iwnge!!OJUj8CYB}BP1kCO7nu>|)R2sq#)|%0 z1^wPdVP{mg2lecntUw_=rp@lt6l{#uXC27Mqbb5ES6j3GqQIwW%U{pVc?uMWu|$D4 zyD`|=m_Ei83Ve+lW4CgC!UeJOE(HpZRU*|tO-d3!b|u0>a(lEjUs2h6PW?i(?EIAi zO)WcFS`PN@4{%aH(n%QxjpHrWnXTo_-aB+G)&tIQ$XaByszDrE z>`c*lAP1v(WatZrhqd}F#b3x;W>5;^q@lzp9?c0-VohT8Kx4wrKPci5>dpc7u$X`s zOzJ-rKBI)J#Rk(soHWA*M)4?OkP=s6*2a*v(4Z8=Nh2Oc@#uGu64zSRigbAj;-sO( zC?16mQaVpbZ?i7)k^y#eAz`4$jIffY8T)a{E0qJ)mYwYiBs&A_yWK@(=c7JE_Wi&` zWapoKi0tF>K1j23scMEKY4)wwjZ+Ofd4*IWs^pEI6`GX|?BwiF#0>-NyVXTxCuc_@ zvhS#i$WG3VL}VZ52;CNTa&{yl`&R1AZD6N2b3=FMS7}!2*~!@<3iUd3w26p5^m5qA z*^!9s<6Z<1*~!_Fi0tDW0g;`Y9f`<3dZ}8GW~VoE^+tu1=(zV(Inaw>r#Ew((qwK^ zy3B1FFf+F)UFJ3on3>y@E_0g(%*<^{m$^+w=2W9$HLA>!MPhf8hLz~NJ*Z&|2iVQo zp}rKmU-96vn{z{W?0%0b4Wi5LZe2nNc5+vk(Ad3SM=cp(_ke~i9AGz>Zo01CYQ<)Q z`bB@_Q_6Xd3u5O38nofZ%J~NkN^r@X=CWU_ob-$(eMp{j)bE0>Qcij|Tw!s3=nW4A zk`DJTmt4A1`jA4SEVKJA4O^&7iCHE*cJq*uM9pe7oCqIQEWW6IDXlk@dy(q#5RBai z6)a5yz$n!kCDE>&J6(_~0_o!M!qcv-*vYern7(0_T=K?@&S6D^Cq~f-uycZH+|YYq zCvW5;>rykoK6)saKE!3`Dh;Y-=Nb*FVP~ZR$>iAAD)C&nvh%mtmMoENyDa^B(eFT3yZ;Bj`D5lSz}$3_LXME$~OvGY<5s=Zn{ z_i0dqowsR_(beXJT3i%%a$AaC`)=LbY-VB@aId0uicU?V`I2S4okQcNyy>$LzoPJAF4@U#Y_{d} zB;q2RLC?9^>^!DGc~-v_rD=vY-@I^&QRv4N7Pr-~U+nyewySjtN&iezK{GWv+G&dU`@vdX?b7m=MG_93#5hc(DNJMZ)%Dv$m#S=o?|l??+XD;v_WvSGkvWkWhv zOmUj5)Td*mJ`F4N=~$^x!%BTRR?Gr2Gh366g1NxK5m^Z7W=ElcQ1Tn_My0 z`&8+nbHUF23M8g5bm1xo6Kqp{Oy1WYi3`sF!#II7(;X_7HC8#GTkK@phgj@nJ0umD zeV@^BYuWi(1xjBjIXT|WiAIH;2i&yS$z*_~0`<=k<>J*BaL>+XR8V>jIE5_bKty)V z7&c-|g)Vd>vUAb@OvJcKcC|~9o!1RZk+IlNBaiIlh~ufdI(zwnj7V%wBz77+vy8@o zg}ztQXNUq=7E@|gkaQi1{VME`PNs&PU(=vEb`C0#EIszQQ}=c3{I(B~eLQSIJIT&s z)!wAnhksMayrh27OemNBc~QB}(hXNFJ2~w%8p;WWRIGHODN$kNI^`O6Rx6O?ntd0$ zi0s^|L3Qlx^TpNqP!4W~>4`l0pdIY|R}HFVC+~uge6a5Yjab9ZrFv*qd!BM$efn^${j$>81AQxY{IMzgkl1`@kRoG{AGBxb{q5{dhur7v!f zv2Ux;ALxjQe^JhVb3wsaFR38BY9>CE1Uq>+13hMEp~8~fvv0N=mz_6gP~DBn`EeH% zWTILHCDd;wI*5JNtO54(<_R|Cut5%ADs&6>U6 zW(aeWrXicAa@3}N)1WL>LCZ8sf}Ly_)67HkDD3y?ST*eYfC9;~U>{phlp{O;UB}(X z&KG=f+4p-FQMvSw$;XCtd~6tCK6ttj<-^Wj>E!F!$&@J%8wS|t^1+hPe0*NH*i@rz z+4)PId@U#RI}J*((@ncpC#oE5etDMzM99udm8n3vvXl2KNb$4pLoQ-4`57vR_wJG5 zU^h?PLt32D6*{F2yeohcPiJy?s*h7dO6MjcjX2CO8$WER!glvLb zrKyQLcldctu7;ftD3BB%`@ZHPvXdJDiO4>l;sYP-w3H>2i0sSKrmu#bV||G1D{v9n zImw5}zBw);J5To^1`FPl!iIEG*f3y9VM978Y#1=5upylkFc4CV7-x|w1T?vzyAM!Bv7ETTCaYOs^6G0dTg&ZD1T5g-0>ZkAwy=W-~Hy-a8^~;+|cyCHDy{Mwk-QH=+ zKTG|drha+HNiaTdFZx%77u+Ng#Q%}PV|?D#@dpJD;)hi}c+p^n^3PSjyjO#_d<5ga zPvPxTzaLelgJVZdf|Cgq*>e&cnxpC&24@>yP9SmQ`8ZsOSkYl*NRqDy4k;`B3{?kd z^F+x>aP|Qwb`qSA0p}=$NE!vf;JXJ9I>Un^gJg?4aqPBvhxMX{5RT}}g*g^*#F1P& z!Q+jEyLvQ)Vm*nJ8&1N{Z-LV@3{Ejj9aKzwM9Z=1XwW(Zkw3-Fjj2Wjp*%S@X^H^1m1-h&~X4g!%a@h@1Wj64Q7 zv6J9TQdyzX@{aw<(=CgaPdOFKnyqk1^BntZ<#WTywNOFH`a5-w(gC}HuejH(-LiD91`^d{_hT#34iH#J3GR0Tm5Z&!8u*Ed z#6czlA8A5NYr@1pC@hld`+W`}QWLfX-Vu>eHi3~6*alG+KFPRAb^s^NIF^>GfDnf~ z&)~**D^iUkn$&s9um59-y#}z9m|voV%@U(go0J&$U?|l6$R3gvl=kohd_>j%kv$|U zDDC0<{ej9ywvOuQaJG)@7+EiA$9@KEQ?yiqbX&_%b(zSKjfx?vv{9@R6e2$^<;UTb zrR+Y-!Z=A>*+4zH1ec)6iY`-$LuE=_`MRh{>d`sRWW~3RHh98ovcjrfhWt9S_M;(RHh9hDARUC zm1Rnrw|t$j0DY*%qYh$q*X#2ujXSI3nJU0BMFx z)ORb@j$3zHn)=!`gphs-oWp0zSW?^H1f;=-laB;SP$sejNn2cLa1FT-IPqa{SbJqI zsB~zq7KA6<}CuFV7SEP(*)zC1fbIx5KQKKqu`T#P4w0Oa1xdz@c6! z`uto(@VOtggU=!3Qp4v1$1PLFqW(Pf;$?r{U$Ys9YQfA# zU_sUb%!ctzN4VLSzfMFuJYVUm$*w@V9yo~wUVT0Y$PEZ1nxqYu^#wQw5#NP8NDzd$ zkgvlTFX41pdnI*}D(zLDPKoL7t!VEa#1gdZL8Ek7GaJC6)XbQs!4B3;n(qc9X*H8; z!BG&BwE(J><|FNmuV(FChYoApz#{Fv8Ko?>x7pyCB9QI<0#rq6@B7oL3u*65z#UF| zNi%8EQfj7nBh%oAG?O$+YUW}ioB*VmgCo$)7=$A=^EhHrskk3&=6c9kYNqG0C547d zx5VXJ7WQ2Z)mLW}jidW@5<(>?bS6_jq;`--K&m%3<8c0Q_4NXOV3_ZvP{$fQC=d}3y78A zSOW4oATd-%Su4%Oh1jhK)4VogE}UCLU2BtKMMG^6jY;imrhX%RD~{+Q*-`m+!6 zkrs)@asH3>Cj}fzAzg2fVvx0|x{USbZq)+$(<1$u3gwadQ(zW4(8<~?n#|Vbv;G8> zk93UY6i%jNJwT8;HWk<=InpsoM3xt|s^&-I!4mwFI>zmdi^n>4Cz4k>=6&N!BhE$< z9_4a3SrK^W0jCEpX%nbS-H%}O(Khlu_#F(OR#uB5SvOEDwj=^_CqY0$*cJh~ z2ax0N3TbFPlsr?p{{&oPGRX6>9>xHZ{CEPDll4$jx9=cT^L?y`2SMRvEhF{1sn{Ib zoO9roQRhPRAz5-RNz&C#~gy2@9=xM`4!boEDCSC4};{2%y8 zSN8yXGF`n9c2(*s^_I+ZsAb%OtjLxTMALkv&#@8c^FzRs`uq@5fyeW)K2wgRKI`|_ zJXn_X4bm|*(9|-fYrhEjC~1_!k)`kpK**R4Z6S9yCmS&j2{h7w$4VvvxyrH{Gz1Ro zzmP@(J##sq$-Owq59!9=1IMpsZ$($*Xm>=tNH+#iBj`sVAE~QD+e}(nBk88InZ@XE z%&D&`UxRRwQ|cN8%3a}<#fQUDv!E|=%^fnG^34stbl~xPl2&=Cmb^&Eg8*kSRDmEd z{DX*)uetae&>xwv%?X6K`GUvuseF|#18hhf(3-P(v*20MB252B{LCpWEhXqsI21

;Wqm)4SfttR$MyZU;91sp&qIX@jq6u~sBu*8ZhUsV zmHL%HVafW%vE5&(8)ciRZ#<-K2puacrC7t`RBonT;Yn~xsRj>)Lo`T#*6d{c`7(0v zmm%Sh{u}_)QhzoP$oNP%jw80zjTpjBLDDGcSty3ojmwQR2teiDFig2~nZAkSWtnMW;s6q z1Zr#jAIZ5J-Ce1xXZiz`kK`O1ft(k>W}Zw}505~Gv$YI8?`$ew-fkH-X!|p?41cC& z_$6?WUWRv$K!))V$nfS7$Z&83GNe5~QV%_^iT)4CuxA7^yk!sT;eA8O@bMAIuweu; z{Ot&2czgshtkW{|JX@+{NIxN%E!hsnhFr%V3!KBl^m1|6`p%9N`VmWlJy^GeeFn6s z&2~R-VMk&m_UO`a)Hyd$cC76#S^vdR8J4X^|>G%Opouow|Zlr_=4| zpcHA;A4P6tuc-$RisXLW!qR?T)oar4v$|N8H4mClqDnb!uSxBgk~qWwyQ6rZV5Q!}JG&pL<6dkgm&~&qfvWHe#HW%T@9&qTdDQD7+i8rur{02V4 z^MBM5wPQ(8wnTi2(2qmqeq;pYehYL=mirViWAa1g9veZq@6qLM>KK>%ox0rhqqRP! z&qG$@!<0KA*8!(NTL6Nz0kX#j*$&82ALK?rda$G}N4^y6Za@ZokU>B!46a<9?*p>m z2l+QZj`|=pgep0gV{w}+b3vs{$8mw;`B*dKfI%R@@dPR-Yv%qDSfm#aUutH9kq}!X zI-8Ax1g)L;>z|LJNThXd-o#qhJKnOk64>{V)`eiGq}J6C>&8bGDLcj%>3hVM@sVa8 zM{KII!|lPNQzcMN;Lym>{K#tE4Nj%@z6=}_jryzifEJoLq*G@m0tjh%d;}U!FFHxf zwjU|_EjDZT7Z4&X8~|V`KU~<9N;n~Y5)X2D$}|`F4Hpu zq0&p`MP(t&D+Zv+IF-f6AQD*?ZE4dXIX4U=XO`i2wG1&)k!tU4_N;kQ!b>1kDZ^M= z84}LLz!~JaLjbE8zQaC9FMNsfxaJbhhXA?Thw~};j{0yO1ElACj%Ai9o#B{GiRtgH zl&R)W?77uR2nY8-)_{Vn@ALc!@Ns>o78c@$e8?J8jrD(|8>z#r8@Ir!Vd6XRk#1b0 zb>l&^(1B0&{U@h#eLn*=#QaEqO0@o%tpmlNHTpsPll8s9Oau_pF&pc#Qpa|JACo20 zu|31+7$r=-lsHOJ*5xP?LH0c#>ml6{A?q^qP`&HSXk6~m<&uk$)nyP4d~D~ba*^=T zr9)Auyh5Mj@)~+vaCXtj>vDrGix^TiWk_<~g>sj2#^O|(kK}xK7&)^H|Da{q+IU5a znGogcOFCbl2Lb?rkM!^|oiD%LWmMw%nCAJt0Q>W0mKPS40w34Y1mIvhZCQ-8yh!Kw zXgR0XdD26AjZW&}8b#G*ie(r^I#LhaSG5_7^OYEZ9=;vF#e|}Vd|rWJ0U+>E zd0nZ?OH6$SFyyG@h?Y+b;r{ZX2vnvUCb1qKB9QTs9u8_fgmDObEW>$PhH`hY`&c;5 z&&%@{Z%u|~zDKGXB*XPzVHti49D}*QM>0I2Wq4*FRC-Crj*dWvzt=KsPMZ$N@VJ&C zSz!NX$VczQXaJ(9DS9NO?U+^ELEAOvETyp=2KC6Jf}HaTqWB<--$1wzvZMgUP(f7b z)U$@aCFVc4eA*N^*n?6c`kLeH=gb=b$gXtU^D#R zG3t{D4r6JpR(oStb7xDh=)#FsMnr$z6N^gGvL++tJ)Dk!tnffWx~524WC5_OBQ!uD zi$82d8&n8R;wYC07Jtl|0zm~n?(L+&n(XbQ!BOMx!@z-vzz?d7Xh;2tQH`7O5ZAZ{ zh`CK8QtLo( zjJmA@MRGr`mHQ3N>;V#$Cu*FU{f;6XS?*jb4;Y&HgrS+w8k)HV)x=*b?-&*J2Mp>N z$egbZE~a}(e2^sv4C;qRMg0zg`m;vfX$H?vopz8Yh_Xm`kBU0YU-(i!r`(`kWl;aJ zYZDapBcr08FsLs#sM9V=ABRisGN?Z^D(YJd>U9Qn+Qsju{**y|a8%S&2K9Xg^_vXp z#EjxcN&e|kQD0_I&oihO7}VDqc^@71DuX(`PUDmF;^hYQkG)OQ>kaBv2K73F`lD|X z^}`1BpBmI@cGoA3C9OueA01V>Uu{r7U{F73P#edR`e?ebD?Y+gbWya>#Q%hx$C8q{AgsBbs&o){JN27~$*gL<<; z{d-2<>qkYs#Gw90u#^{P7}Vz()Eh=cz1^VRY2-a+P(NW%Zyy!)W`laOLA}$U{$qoB z�)!4eHYj>T?Y0%?9#0$vv35R1l>t zcd)j+CF+(z{Q-meqXzX`4C;qRMg4hX!I!Ud=*+7RvbfWreh-(I?pfVED(Xc>-cK0R zUo@y^7}n;RSxz*BjK2kBa(ngL=xKezigUd4u{3qoV$zLH#C!`T>JF-MXbDrpo=LQBi-zpnlMx zewRVL%Ao$*sHneYP`}Hdevd)D!JuwkFq(OrHw^0c7}Osys9$AJkBo|X)UdSA8PtDj zP(Nl+kB*A^(?;IQ4eC_}^(}_Z7mbQ~#K`*-2K8qR>U0kd*!Ij_#70H^2_x^z4eI3v z^>QQcb4Nuz&&d0;2KDC*>Q5VaFBui}7mU2`GpOHWP^WuA{gPicD(Zs<^~DDD-n-)AS>?TGn7s3d<8PR+#jogmp;`q#&c%yd%EOGLrg5#bX(xmK<6TvB zPpvF>y05#-w^8?RnRnujdS0Jfd=(Iun1uWQ5c!s4q%Vl{nW69It#n49H=P137ml8^u8iC1*p95qWAX3NRupXgwG>1Yy%{UqD!}%d_ z+5w>)Ag9=HOm|c_z~`358^DQaIU~p#kE+RQnlkUF0K%he2{{W8+7;#UvjUL)zI18; zS*~;1+SkG7p=BOvrip0~AZ6ZK2((&6&D9XPxnNpg6E(gAz2 zyn6amV#}!9=fJVP0i3vx*1rR?2ee#mp{-JNND^pD6D9+4RHxjxt1s2E4U*9L+Sb^K zngMCR(7UI8mQgH$Bg%rVxT>zR;wn|ia}{v7w<96-fNMN1XYt?hu&=kmOd zaDeXeJOGHR^Mw5vAUv9oDgTJl@oDdW0;@1fr2oLhb|Pr@nH3m}2?z^$Z{+Mc4j3PY@r^F97nAPx7x54*t2ZqS!n* z2S7=^N$K+*pETwI=M5h}=KvBzEZ4SN2ndhbWG?Cf+2gau?*W8+o)Tv}AkX?z-V2D^ zdg7ip(SXU_BQYhPPXgxv549s%FQ<Bdh1;W3&_=Z}C?>GJC9XzOb1 zL@VRdgb>b*#&o{GhBX-w`rLe-1xSex=UhN|2Zf}y3Xm!|Wxmjl>T257W9{_OY5>kO zpPc&uc|yk`sviWzUpjXZ#Fx{r0`j6Sou>ey&#eVN0^}xN%6|le_moPWGf)su_|h3i zMT3vRCC-_E#NczKu@sO7UnyTqv4HMU?*N3yO){Mi0Mg?t!P_YvUn_GLAUtZ5vFN7x zeVW78?w*z|kdnL3Vv56OfP;>%hx*R};kAC5&hG%p)9C=&`U@b(wNzW1I=lN?U|W3r zOu*rZ#YjMwDaD!zNVzYaVnCkLIHD(mdXWIGlvt8FEo4`tUfWWQSP$q}lyWy9`+ZWq z9*|~Di+bizD67b)Q3rtI?>~PE5KH%{o4WhEQUFjr_0(MSMg8^be#F|Nr2%B?89?fN z(s&+_M}0h>0Hj3ILf)IGmrI|kEq?;eJe>;)i{eZYiNn>FGXQa0A__ep5JXZq$<}S% z%_tqdDFRI3s|3ywABS{ma}Po&T;f~_$g@74_W}~tJgaUUt{(9Ac5VaCTp#2!fE@JY z;sHQ@s#9)77p)0Y<*q!^OrZ$?#Q}At@eE?M1LC$abV6&H&$j$4ATRi8%Ikof(6kWU z8iVsIbv}Nk15&PS9pNkn3x=W;;!1~7@U9gqgC8+@lqgOAqD zz5)~1V?ACRbz!^bEc-~uS}Z&}|1gjcsi)^^pkTINgnMc_Q3`DyKKfnMSk zOCQdkfCJMiQVm(TQ*i#Rxn*mATe7jYv8%16kG&mTt=;Ty+`6^5Wjp&iJGxrf-P%k0 zBvc9zKRanyrJyQV+~O+U_2}r@-q_jEoB+9PEvc5?HR@~3Yu3WeJ zl4Rw&+Pc!Js$_Y^%8jd&)unZ7Dr#yl&ji_n+jP=r8;Hu)*qf4C;TL?extlNWLQ9aM z%X%?pt|j#TG&#nlY8~5g_r465Q&T}^lK~_k!^XBZ_9dH|Qr*z900+rtls8S9P!5tb z4BFa=87~7(s#14nbIZ=A9(|{}i6`XP*tD&=vulVzK?yI>nZaV3(V#543nr8X7U`gk z)+HTX)d5MWH_3KDp@tQ4TUUP)8EolEb#!;}#qkCibp+N@R|l4sDpw`Bq)8aY2DtS* zU^o0$#A_>rd5{Hn)m6y0q#-Rxa`VEHw(hRBu9mL0EBm)w$<51lv~<0vqp@pYV)54Q z?khZyMH;fWv%j}r`B}&KK;$K{fSKvb>F(155*TCG;Jr9U9QGFxwQi4X55n745DP@YKnUAy zO?&#VN7#M%2#EaLxQr$1656}s^VJt>!H_t5l;O7uGaZB-WT#kCH? zUH$$kan+IZ`=0!l{wfnqLmm4&4eiS2DJ?07o-jdlgfj@r+<6LFY`;IKZj`Vf1{E9m0p*KF0&}~uY_e(?M*~hP^J0=kx1mE1juDfm8>paKX1XxX#Gn`yV zw>O-4`O{?y;hOtpFI7UT?yjjhM$)I!t?I?GZQ%vEpr6;($BL^bhZTNhp-tNpYET6_ z6u*Jyx3cIE-hLE*n}%bGUfoGy)>}ZO#q~lS*Z2n%EEpxO&!Wl3DD* z6zjA*pei89*)DP~V~cEl-9Z+|eys!mZavHb4i=qL&~{AZb!Lx%n-vx*bRux|uLeH^ILABsUDU4MU}6m z?XsSzXAEJs%e7i8E6vx4`Kq)4lx4;33v-+mcOw(cSHM&lao;u>GBk#4%MOQ87LG32 zg03JK56(_A91y#Ss%n( z9+xjJ-49@?nI(jiS9RFOu(;Ae_ot&?O+~)2w4nx?AHcvYD*I;8!-0(fs-}^Gwbm|u zo4~OGVb4Jg8%~(Wix=Y7x2(Nyw?+1<<!d*fkJ;5s%)}Sg zdEy44gdW17Yw8HTcw$5%6^uMjE*6F+Ajwm+_F*!}T2h)WuU1tC6|kVp8IiA*1% zeS>aLLHA*3kt*oDBY4)m%Bh4$v~$wB;|-jkTL_wbs=~q$9J<3y7L*-s(7^8jdS_Es z-5Y09cAQ!KEz3%zad2a^xTf387MnGJpF=|GxYtbuwemE`bguy00AYPU7XM?f!NWU? z!c;4zZpi55_DF$#fV!4NLr&B)AS)4ZmP|O2AO~eAz&j@NVQa(I*V}w&6&?i{^0ULG za^1UD+SED&_|XD#H|n!7ZSJkaFRwWW*t^t!@xyU63@nys z)%R7SupgQz2IJfyp46&rCEQ^m{rJ67Qxxh#3f;Q#tZe964%A_CwnvZDQWt|>PtWm1 z?^TVMs3x!;eph}-SAqK>AN6zSY7wgfS3jFk@2y{`EV3lOb9cD6FesZbH`8!DM3xCW z4S6aiJjkrtFl$dd?0tFNm@16I27Vez#e@9Q1giL1l|{UAO#5u74#lTrJ_ODfp4f!p zfgq`dd^)DWB8}cf9g_x#7l`k4@Ww8Tik1LVR#p|kmgL5If4OIv3iU#Epks<$Hfio! zdM?wQa&r*&*Y5C26?f2Qd#cv+C=`9TzpQE?ADKd$jJWvpo=yI|1 zWOjRz=Ign!ZsHodpJK}}OakOp5q93N3hBl6BuZ~ey?+~h)SXyM2y+}{uH%@Z8NVh{ u0w=lMA2(zwcQCtW(vi&kK&vlQ*bbC??@?pyYb<=BZLuum8`QHPP5uYm>+azI literal 0 HcmV?d00001 diff --git a/2209040021/Book Information Management/README.md b/2209040021/Book Information Management/README.md new file mode 100644 index 0000000..f738771 --- /dev/null +++ b/2209040021/Book Information Management/README.md @@ -0,0 +1,6 @@ + + +# 图书信息管理系统设计 +## 运行软件 +Dev-C++ +> Written with [StackEdit中文版](https://stackedit.cn/). diff --git a/2209040021/Design of Student Information System Management/Design of Student Information System Management.cpp b/2209040021/Design of Student Information System Management/Design of Student Information System Management.cpp new file mode 100644 index 0000000..9837dbf --- /dev/null +++ b/2209040021/Design of Student Information System Management/Design of Student Information System Management.cpp @@ -0,0 +1,302 @@ +#include +#include +#include + +#define MAX_SIZE 1000 // ѧϢ󳤶 +#define FILE_NAME "students.txt" // ѧϢļ + +// ѧϢṹ +typedef struct { + char id[20]; // ѧ + char name[20]; // + int age; // + char gender[10]; // Ա + char birth[20]; // + char address[100]; // ַ + char phone[20]; // 绰 + char email[50]; // +} Student; + +// ѧϢѧϢ +Student students[MAX_SIZE]; +int count = 0; + +// +void displayMenu(); + +void addStudent(); + +void viewStudents(); + +void searchStudent(); + +void deleteStudent(); + +void modifyStudent(); + +void saveToFile(); + +void readFromFile(); + +int main() { + int choice; + readFromFile(); // ļжȡѧϢ + + do { + displayMenu(); // ʾ˵ + scanf("%d", &choice); + + switch (choice) { + case 1: + addStudent(); + break; + case 2: + viewStudents(); + break; + case 3: + searchStudent(); + break; + case 4: + deleteStudent(); + break; + case 5: + modifyStudent(); + break; + case 6: + saveToFile(); + printf("ɹ\n"); + break; + case 7: + printf("˳\n"); + break; + default: + printf("ȷѡ\n"); + } + } while (choice != 7); + + return 0; +} + +// ʾ˵ +void displayMenu() { + printf("\nѧϢϵͳ\n"); + printf("-----------------\n"); + printf("1. ѧϢ\n"); + printf("2. ѧϢ\n"); + printf("3. ѯѧϢ\n"); + printf("4. ɾѧϢ\n"); + printf("5. ޸ѧϢ\n"); + printf("6. 浽ļ\n"); + printf("7. ˳\n"); + printf("ѡ"); +} + +// ѧϢ +void addStudent() { + Student student; + + printf("\nѧϢ\n"); + printf("ѧţ"); + scanf("%s", student.id); + for (int i = 0; i < count; i++){ + if(strcmp(students[i].id, student.id) == 0){ + printf("ѧѴڣ롣\n"); + return; + } + } + printf(""); + scanf("%s", student.name); + printf("䣺"); + scanf("%d", &student.age); + printf("Ա"); + scanf("%s", student.gender); + printf("£"); + scanf("%s", student.birth); + printf("ַ"); + scanf("%s", student.address); + printf("绰"); + scanf("%s", student.phone); + printf("E-mail"); + scanf("%s", student.email); + + students[count++] = student; +} + +// ѧϢ +void viewStudents() { + printf("\nѧϢ\n"); + printf("%-15s%-10s%-10s%-10s%-15s%-30s%-20s%-30s\n", "ѧ", "", "", "Ա", "", "ַ", "绰", "E-mail"); + // ÿѧϢ + for (int i = 0; i < count; i++) { + printf("%-15s%-10s%-10d%-10s%-15s%-30s%-20s%-30s\n", students[i].id, students[i].name, students[i].age, + students[i].gender, students[i].birth, students[i].address, students[i].phone, students[i].email); + } +} + +// ѯѧϢ +void searchStudent() { + int choice; + char id[20]; + char name[20]; + int found = 0; + + printf("\nѯѧϢ\n"); + printf("1. ѧŲѯ\n"); + printf("2. ѯ\n"); + printf("ѡѯʽ"); + scanf("%d", &choice); + + switch (choice) { + case 1: + printf("Ҫѯѧţ"); + scanf("%s", id); + printf("\n%-15s%-10s%-10s%-10s%-15s%-30s%-20s%-30s\n", "ѧ", "", "", "Ա", "", "ַ", "绰", "E-mail"); + for (int i = 0; i < count; i++) { + if (strcmp(students[i].id, id) == 0) { + printf("%-15s%-10s%-10d%-10s%-15s%-30s%-20s%-30s\n", students[i].id, students[i].name, + students[i].age, students[i].gender, students[i].birth, students[i].address, + students[i].phone, students[i].email); + found = 1; + break; + } + } + break; + case 2: + printf("Ҫѯ"); + scanf("%s", name); + printf("\n%-15s%-10s%-10s%-10s%-15s%-30s%-20s%-30s\n", "ѧ", "", "", "Ա", "", "ַ", "绰", "E-mail"); + for (int i = 0; i < count; i++) { + if (strcmp(students[i].name, name) == 0) { + printf("%-15s%-10s%-10d%-10s%-15s%-30s%-20s%-30s\n", students[i].id, students[i].name, + students[i].age, students[i].gender, students[i].birth, students[i].address, + students[i].phone, students[i].email); + found = 1; + } + } + break; + default: + printf("ȷѡ\n"); + } + + if (!found) { + printf("δҵѧϢ\n"); + } +} + +// ɾѧϢ +void deleteStudent() { + char id[20]; + int found = 0; + + printf("\nҪɾѧѧţ"); + scanf("%s", id); + +// еѧϢҵҪɾѧϢ + for (int i = 0; i < count; i++) { + if (strcmp(students[i].id, id) == 0) { + found = 1; + // ѧϢɾ + for (int j = i; j < count - 1; j++) { + students[j] = students[j + 1]; + } + count--; + printf("ɾɹ\n"); + break; + } + } + + if (!found) { + printf("δҵѧϢ\n"); + } +} + +// ޸ѧϢ +void modifyStudent() { + char id[20]; + int found = 0; + + printf("\nҪ޸ĵѧѧţ"); + scanf("%s", id); + +// еѧϢҵҪ޸ĵѧϢ + for (int i = 0; i < count; i++) { + if (strcmp(students[i].id, id) == 0) { + found = 1; + printf("\nѧϢ\n"); + printf("ѧţ%s޸ģ\n", students[i].id); + printf(""); + scanf("%s", students[i].name); + printf("䣺"); + scanf("%d", &students[i].age); + printf("Ա"); + scanf("%s", students[i].gender); + printf("£"); + scanf("%s", students[i].birth); + printf("ַ"); + scanf("%s", students[i].address); + printf("绰"); + scanf("%s", students[i].phone); + printf("E-mail"); + scanf("%s", students[i].email); + printf("޸ijɹ\n"); + break; + } + } + + if (!found) { + printf("δҵѧϢ\n"); + } +} + +// ѧϢ浽ļ +void saveToFile() { + FILE *fp; + fp = fopen(FILE_NAME, "w"); + + for (int i = 0; i < count; i++) { + fprintf(fp, "%s,%s,%d,%s,%s,%s,%s,%s\n", students[i].id, students[i].name, students[i].age, students[i].gender, + students[i].birth, students[i].address, students[i].phone, students[i].email); + } + + fclose(fp); +} + +// ļжȡѧϢ +void readFromFile() { + FILE *fp; + char line[500]; + char *token; + const char delim[2] = ","; + fp = fopen(FILE_NAME, "r"); + + if (fp) { + count = 0; + while (fgets(line, 500, fp)) { + // ȡѧϢŷָ䵽ѧϢṹ + token = strtok(line, delim); + strcpy(students[count].id, token); + token = strtok(NULL, delim); + strcpy(students[count].name, token); + token = strtok(NULL, delim); + students[count].age = atoi(token); + token = strtok(NULL, delim); + strcpy(students[count].gender, token); + token = strtok(NULL, delim); + strcpy(students[count].birth, token); + token = strtok(NULL, delim); + strcpy(students[count].address, token); + token = strtok(NULL, delim); + strcpy(students[count].phone, token); + token = strtok(NULL, delim); + // ǰַǻзַ + if (token[strlen(token) - 1] == '\n') { + token[strlen(token) - 1] = '\0'; + } + strcpy(students[count].email, token); + count++; + } + + fclose(fp); + } +} + diff --git a/2209040021/Design of Student Information System Management/README.md b/2209040021/Design of Student Information System Management/README.md new file mode 100644 index 0000000..64f553a --- /dev/null +++ b/2209040021/Design of Student Information System Management/README.md @@ -0,0 +1,6 @@ + + +# 学生信息管理系统设计 +## 运行软件 +Dev-C++ +> Written with [StackEdit中文版](https://stackedit.cn/). diff --git a/2209040021/README.md b/2209040021/README.md new file mode 100644 index 0000000..9e363ae --- /dev/null +++ b/2209040021/README.md @@ -0,0 +1,6 @@ + + +# 学生信息管理系统设计和图书信息管理系统设计 +## 运行软件 +Dev-C++ +> Written with [StackEdit中文版](https://stackedit.cn/).