From b7a70395090f8f805866bad83f35d7785516511f Mon Sep 17 00:00:00 2001 From: inez kok Date: Mon, 13 Nov 2023 13:20:55 +0800 Subject: [PATCH] Edit DG --- docs/DeveloperGuide.md | 7 +++---- .../diagrams/ArchitectureSequenceDiagram.puml | 6 +++--- docs/diagrams/UiClassDiagram.puml | 16 ++++++++-------- docs/images/ArchitectureSequenceDiagram.png | Bin 15175 -> 21042 bytes 4 files changed, 14 insertions(+), 15 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index bf0565e8b62..5b0e7a64a79 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -79,7 +79,7 @@ The bulk of the app's work is done by the following four components: **How the architecture components interact with each other** -The *Sequence Diagram* below shows how the components interact with each other for the scenario where the user issues the command `delete 1`. +The *Sequence Diagram* below shows how the components interact with each other for the scenario where the user issues the command `delete EID1234-5678`. @@ -122,7 +122,7 @@ Here's a (partial) class diagram of the `Logic` component: The sequence diagram below illustrates the interactions within the `Logic` component, taking `execute("delete 1")` API call as an example. -![Interactions Inside the Logic Component for the `delete 1` Command](images/DeleteSequenceDiagram.png) +![Interactions Inside the Logic Component for the `delete EID1234-5678` Command](images/DeleteSequenceDiagram.png)
:information_source: **Note:** The lifeline for `DeleteCommandParser` should end at the destroy marker (X) but due to a limitation of PlantUML, the lifeline reaches the end of diagram.
@@ -817,8 +817,6 @@ Given below is an example usage scenario for the command. * The Employee List will be updated to contain only employees which have leaves taken on the specified date. -_{more aspects and alternatives to be added}_ - ### Overtime feature The overtime feature allows HouR users to manage employee overtime hours. @@ -1614,6 +1612,7 @@ Another feature we are proud of is our `report` feature that allows our users to Overall, we are proud of our project and we believe that we have done our best with all the constraints and challenges we faced. We are happy with the result and believe that our product will meet the needs of our target audience. + ## Planned Enhancements ### Remark not shown in GUI employee list diff --git a/docs/diagrams/ArchitectureSequenceDiagram.puml b/docs/diagrams/ArchitectureSequenceDiagram.puml index 48b6cc4333c..c4a64c8b45f 100644 --- a/docs/diagrams/ArchitectureSequenceDiagram.puml +++ b/docs/diagrams/ArchitectureSequenceDiagram.puml @@ -8,13 +8,13 @@ Participant ":Logic" as logic LOGIC_COLOR Participant ":Model" as model MODEL_COLOR Participant ":Storage" as storage STORAGE_COLOR -user -[USER_COLOR]> ui : "delete 1" +user -[USER_COLOR]> ui : "delete EID1234-5678" activate ui UI_COLOR -ui -[UI_COLOR]> logic : execute("delete 1") +ui -[UI_COLOR]> logic : execute("delete EID1234-5678") activate logic LOGIC_COLOR -logic -[LOGIC_COLOR]> model : deletePerson(p) +logic -[LOGIC_COLOR]> model : deleteEmployee(p) activate model MODEL_COLOR model -[MODEL_COLOR]-> logic diff --git a/docs/diagrams/UiClassDiagram.puml b/docs/diagrams/UiClassDiagram.puml index 95473d5aa19..3ad58e6082d 100644 --- a/docs/diagrams/UiClassDiagram.puml +++ b/docs/diagrams/UiClassDiagram.puml @@ -11,8 +11,8 @@ Class UiManager Class MainWindow Class HelpWindow Class ResultDisplay -Class PersonListPanel -Class PersonCard +Class EmployeeListPanel +Class EmployeeCard Class StatusBarFooter Class CommandBox } @@ -32,26 +32,26 @@ UiManager .left.|> Ui UiManager -down-> "1" MainWindow MainWindow *-down-> "1" CommandBox MainWindow *-down-> "1" ResultDisplay -MainWindow *-down-> "1" PersonListPanel +MainWindow *-down-> "1" EmployeeListPanel MainWindow *-down-> "1" StatusBarFooter MainWindow --> "0..1" HelpWindow -PersonListPanel -down-> "*" PersonCard +EmployeeListPanel -down-> "*" EmployeeCard MainWindow -left-|> UiPart ResultDisplay --|> UiPart CommandBox --|> UiPart -PersonListPanel --|> UiPart -PersonCard --|> UiPart +EmployeeListPanel --|> UiPart +EmployeeCard --|> UiPart StatusBarFooter --|> UiPart HelpWindow --|> UiPart -PersonCard ..> Model +EmployeeCard ..> Model UiManager -right-> Logic MainWindow -left-> Logic -PersonListPanel -[hidden]left- HelpWindow +EmployeeListPanel -[hidden]left- HelpWindow HelpWindow -[hidden]left- CommandBox CommandBox -[hidden]left- ResultDisplay ResultDisplay -[hidden]left- StatusBarFooter diff --git a/docs/images/ArchitectureSequenceDiagram.png b/docs/images/ArchitectureSequenceDiagram.png index 37ad06a2803cb13da66978062b40b9555ecbd55a..6a202351ed2e001aeeff037d512c33ca9796e990 100644 GIT binary patch literal 21042 zcmc({bzGF&`!t6F(MM;JLp9~)h3yVNb_JJA}*7*%A ztaAo<=fNlEVx0ZJ3$v4ywv&miojc6b%n3`z)W+1o$jKCX$JqUjg_Dz=qW}ko9n8qa z$=MplZenZg^1Yb~3k%!MQbXJ6@6WN$f$O+^huGZ%9QR&} z+;nnuEAv}4nQ5{6;}5T*i`5;yt~Y+qewCoBLlDaT-flvPhIBx>RjboWeSYxUbCIiG zoL^U@MMl_Fbk%QX8_=-`!<$W?R*!$L`a*t=D}vs;<>WqRdsEGQyWW({&7wyi&)-PT z;NX)@dt{}@)sX6QxzA{G<%c=nW4G8LFjbV?L z+`O2+7@aq1`(XW1$2NVpsZ3iUC1;~Lq&a0ytW7<9P^)k)hqgj;SJT60&Z$+(Awje( zTg$G$Z-xIGq-AD1sC@nIjS*E2Xd0ZdA|)bY29^Ss*wfCa)b`g57wO>6x#h@xU4Bs? zIo`zJsy44zCdVtXVH<yRAMie@UvSp$ruJjkdccn^uV=aEE ztLec?;w9K8p9RMXp=Fjkd25nJt2kzi>msfA4MWur@YRW^28@MX@N8d>KHmyAOF;|V zYuop_J|=eQ3rsS_lBYdK^U`AN?ePs0H7W&}E6uWFMUL*7*K0z#&)$*u>&UM3xeFZrCxB$5E9$POx`!m8bx7vgxot|u&? za##Dp9JRdV)+=7_J16JeZ`8qKsx#S`5P*)FGxu}$iJ&S zyLeJQ<9Pr3;xZ>^RN=;8ufBfa$_FM-vniqP-`OEJz^}2ajA+;}uXdMEnD;rjkp$pH zn~0ViyyR2vJ%qR}52A}KyA^0+lLEVLfKRdf8N*Q1>r*XMKD$YAadDw|!l~43ktLY( z8A;sbAQi4F?0O|ReBG})sh{34zy+Ttj%F!AYHMrXym`~bx54^UtS!|F6Q)Qwol*3{ z!b3lQJ|crEB$@rtE*AkGi;1g6!`^WivWId`tD4M#dBMWEAZLJ_8?LJ0u6ZvLnzn$A zIh)oQmHzbS$F4(TN}hMQMBpQp@E>&K4W5AwnFUVX;Qg}~sqE;{Sjh0 za@#6G!%-!Rj0;wZcpB!qcwoA+x#={ge%^}L{CjR=sCjt>)s)TCPUDQ|-p}P8o%_nM z+Xh+9EU@?)oBf{!>m9>XHwIDtl{Q^O3GZ}y(TxJ>QYN=8NP7QOXon{uAp`oxQM{H8{&o-XUTggYM9z#>e zjxQ}mMK0Yh1a%U&a;se;xvA`gKgBk-aZFY+ASeV~cK7!m25BUfr{YOv_8+88y?&m8 z`u0s`Kk7?=Ss6hz1I`bW}PHhb;gVmoFLDSwAeg}{9_Gru-A5VxI$r!IHoS9r=Q`WJx%HVw?OcqK6Rp$^NoJ-9<9tP~!cec2}hbNO$~O zuf>y!9!_rZ=O90OQb{Ti{`7|yHYYXD8BPm_gtjOtXI$TL+7s*h@$?%h2df^!g=5aX z?h~BY3~CO=LzxwK2hZHdOAU{TcRE@8(7>{E>?+&9g}yyurS*}PXAb}TWg5K z$skg0Rqzdud+T%JqR~3%tg(iezHTzg2-K^74)%}M;7B7M=J7_y9vVR>(-;Q5_vN}Ulx29pm0BaU}%Jf3!yb?{fK zFVY6mDxA&lB~o^;&Dn^eScW2s{@5b?3kuoLjrw?TT#gm94OxgvqC*Uf(fqcsM_3y| z0iySr9%?#uc8|Oj3RD~;pnl`$C#%Oca@mttPMqI7|`L`SX0rZ_c zeL`usbsvPvyg4*)3~4d+J+g%$Ip^l3toYHlDK^`-h7S6K{6m6Sj+UiA$d!@QGm~oB zmhQQ#w5D52Ao**Y6kW{de}-MY?X&a4vRPPA&-vI@Rl2cEisg8IL&vxY-j2jWP1oTY z2Jw884&moPF)#=US~R)lJQjj0Hsy-jcUGVehju4^tnW9(opa2_C)mz;>bWzG`o_fj z!qsQLH-NWS_%(;TBa(|lCYNx}`wrbTzq>PG*FR}bAnxHJ?^B8T*ujn4s*B?_%G``m zd-;35w#TDSe@OT5_PF!tw6tXOPESG&1d7L3+JuR7DU+pC?~1^#UT5lgxk6#Tznc2t z!(xYM03I$)3?_u80cUa5r6XT^d1}1ULMXUmG@4h2OzL!Dyy;-^&&CY)|Lqxp>_>@^R=GwFRbG z?cm)^r*+;1xn12}^8f_l9s}iRmLF-_j_%%AdPU9EYAzlE@{omW?!@Bnt-4J&hC+or zxmFnw9Pub=A?w4m!BBZ$m5J6(TwmPHYxCo-DUkMD1xWxqUzm$zkw!}=>0~r8x628WMP*M^5T1S{~Je+up4?#9QW>zJx%nof-#pa zcio5#eG34}vPC2ehd@9Q5zEgdovB}a_^Ki5u4Fvx{#0~JUGnB8%pG}4XjhI)w1#}V zZQ88sXRxLt>~;k*lMPFTyQhlqj5aIXHA< ztJmC89nNs#X|AC0!;hS|%fjr-Gdx{x=XpA#2o!WJaWJIX$=18zn>6dLoRilY4I!CapNp4(3O}8tpbW->C zcZ!eXGv$vw=?MV0h4vR@io0kEG>~koe1P?ZHr}leAtf7mP2?Ny(6%k1Zt zVKyg@FwI#i$;-;{HYyg~iyN?Ok!?OBN=38H=&idII0bXFB|Z{dC`@KzBSuYc&UHuX zd9MtX5nsI;adPk~X%(a>G-(wLKU>x^E5r7xsAG$%nfdWZH3wRfmb{5UF;X#%QrV`V zuZ$}~cykpG)!fYQ!iqXV4JgZiSlw5#1JUC)YjyX_I)IfsUur?!n;f%p08`N>iM&Y8 z^X3!zZYL?r1C*Kil9@(j=~H2=nskk=#n#qR??4M5>p3#?+??vhJERo(N1kLURy545 zAn7gxgG=w@JxczE5N^5={u9PM0Yr_9O|ab8362#LB0AJ` zM>>O6{tFi`g$)otx`Zk$8(km1{vq=@SK1odMrga&vAQXOc*f5`c9|bUo0p;5?=g;U zN{#Lt7yziTeZ2W_Z^Ie}bJ&b zQn7+A7seDxFsaTCZ(AKxWzp0(--wd38I&czKN-U5yhP@*Ia?JK)q0DI-P2u4gRdj{rRHnd_re1(09q#Z=B0A94~PZfNAN2mVW zG{qzHsw?~7qKleQexgW7#xa>B5mD|+wNWEH^sCg0lCmQH0GHE_gR6_7UE+ynP8u!x zuppU^t;%hjx4$J+-qYgPtIw4{?{`7zEfLv{4#?TDm71zb z^GAq83hb8z57S>Puv_0nYx92sP`blVjf<*qPq!vY+uqB@<@-tQnDBQuZnKpuNmH-M z@5(~Lsmc@}Ry|+S(o758o2es1L#TWUay4C!!fu|R|%5g8xy_7_qL4z z$N#bRSj+T|%Sz!uAub~0FZgEr1xQV`!_k5-CFjj{okqXFZ_>xKu%}uT%VEUvf3<~7 zM$upgnx`Efctfn@dlT8r&CR;H7DFz(!~~|3A7EQ%)ZI`}0${t94v{%(2=Y{S>)5m5 zI?^kmN@ezAyW?BkaXN@k8&8L-+#}}~kFwedSw>1XGip~;_3n35-5%jp>(ljWJ=W{> z`#KQDU&YQK2v5H>b}7%$Z9N)W;^gpY+?sJaKntHIBpAOf8Z1S?;S}~3ta|?I-D&D9 z7T4?Hc^0TE?0BdQ%zT3yTRmMNOEpEh%wcM9XvlTN$HDK~>#(qupV?Yd&2Ozh>T;ND z`td`9`Ej`u<~U+{g-q=N=$ewGy z#vwbef!3%%Gao!$f24V{=F+zlI@f(BL#PpRDcqDDEhLDxK^U6%M$*&QP}{cT{p5A4 zz$4=Q&M5hsf!FtOvv1F(MPnlCcbXBlhfO76vv@?db2RMxijIBNqjdXBBLIJc5=Y(u zxd-ZIi|LA$>VbSCzl@BGl$431gB>m|E^-J=yZGrNTicbqn&a4@1m9!+PtMb=x1KJJ zj*d=E(V_2<#J-S+_;anT6J6v^wMO3KXVbe;Vcz};__pof&4j2Z`w3~?g&y&BGj{}t zdTg(t>hCcX%OD-14xvO9?=-czpD!%g9@r-D>2x68b-gBwZmNw{`4_SSEC!pNnU$62 z`XoFX+M8>zv9=~BE8B-Oy~H+DzJ>Bk#+i_!5EQHcoCy-jW!VL{<#?9-0*XDz^b*SD zvglvsX=_-zy4o5O_3RnKw(=^yEqq2!i$fQbZb5oT{_;;FKQlvju2I{3qo}a+vj6gd zbjq6Kmodc1LX?!0M2~km^E``Hxv;N3Q->~1%;3?)C@C&dYay6 z8(Z>Xi_RC60RaI>C{3lw1*!9(NL0r|rHe6uWsQKfGTES{;aQ{Q@_O`(=+V}RHUSz9i|?}jsQmMliug%w=BKo&Q|!m3`!p?IudKM^QvRva6hQ}?LVvB z`w_6F5B!evKe9|rCa0$%?(0ya&U~YK#&0S^ot+WWT%m?{?N&!?`-`pA3!tdTI00t? z&u!G_$ZqA2w*_4kv`O&|Ly4N3C(d)IQ&4$QQBh&o1Ff24Ja_$3)2Ba~WxA>U5f zKaaM2>zxLO1MFco7G)fL0eWdg7ho9b#c?i*$ggEkM4 zi5A7PBZ&c@x$mvsuPRIY*_9@rrhG9cF7TV{^0Lfi((~Xf+Yvty4t<6b=Nxp5M@@AH zKAHd{u00~liK8XJ)mJ9>nVKd=ra`eapG??{yrWq_NlLCI2+eRG&JWxjKd2I8I6NY9 zn&nicBnvv(T&_3>AUt}k#nCV7-Fu>+mnFnaa$;#(-!nq6ha6Svi8rVw4(Nr?U@K)5 z*Kpr%Xy<^^k}rHVZFwix&F}_s|6R&!LN`<--TK0dMB>flI3f4O-L>J{icVkly*j&4 z>+yV+{e21iv9r%EjX{OyV&;f56mPX0OtuYhK&>McRaC-@{@Q=0PBd5>{EmiCC#XZp zp`Vug@p3dy+t?3m*VW`HJf(NkP7$|362GJ*Y=_IC`(_l%BteS0ix#UM{ofCzeV54h-_mV?;9FPDxf_4n30!71i)*MZ3wL=`s^#hjR;gKPet@`0KX{B1 zJ}$ali&A^Z9w~`@?p6E0AJR>a9wnszj|*8xhMMlIjEFi;E9mNy9VsX(zGbZf7LP78 zr;{p}ot@p?b+f$AZMt_G@O7)noRMt-1mrLnEIB!Oc4lqj8=ZVKtB%ChhYz>q3|7}$ zH~`tDq1%QF0;MW72uA7S07xDk9nld~pB#I}ihAv?axIWw1}=26^m$}|d&zTa{!!9R zGBN?nu2h?$asn!m!=?xtiMSF`i;g?W%I&Vh?&dS!<0K5OP*N%#lsnG6ajGo@rrQu$ zW%7;CNL63|_9Fq8#XfK^okFvM@p9*duS=+SVb8u~-{U=V;Nk}5PD$9+E=#fEbHATq zrRHRLd|V=hBQ!SZBCY&J0!$(__0h&-kGVA9dpq7iIL^#HS?V)|?IOgyv)viW2ir^8 z8d(y7GM%(+Y@uvvjACy;KFUTi-hsV)(ZG=4g|r*1TOO+DPR`Hg)XZ@EQR92Ew=q+* z)uX2&YB%~UKd9EN;N`Z|*6gf>y@5@4y5jcs_EJJDuPtS^VVOgk$JTsa)pkE{N12eD z;+{s%v982P28RG|YADOeF&S2SlZ6BlQhd}dpe7jO ze%jT?q{FNXiHxEFe{ih(i}rRW!Wypo<%Hh65UnhFq@fl?OP(YyEse7j_r`92b53Gv zx(yLXMD>mqflEZ0ACr@l^YAS*0i}?(_E#aV-Hy&q`^CP3acZe-5Z`9*qdUyf9{CwH zh2M2v=qWzD(FM+?xP6;lzf^3a=4e|lOD*j_7nh|^%R9EBg~>^1%M2dil}Uj=wYYN9 z(a}-x+1(Ko^aRO^c_)zs9$l5J0fi6R4kFcb;8qy>4j4-E}HnZG?1Ii*gd za(V2xdjYTbs2tb%WU$iRk?de+X}}dkWqQTfe5hpoQ?PnWYqvq-14EaHyb>9T!nt?v z9*N+v*G5}@e*V|558&3cjHMtAx%gitA0@Z}CrHv3!*$?+2ZK2&PwLe>P=x zb=AC=E95pm64(q8l?aq*4$EU_S;BY2eCzavE%wJaox-$FaBHeQ%y zI28Zl#e#d)bCMT-jEp2q(@;}iPKKJ~KHnW;bhQ4;SgP?!w-}*X<8!3l>403@-cDB> zDz%r)d@m14N=gFAkDSXaq?8X#{r1v;AV0tJ%5a?bcNQ+L!bjPfu$6HrJT}&2RHqL2 zo6T@#ne&2Xvvw#MkAuDa>yVICYGFa$=+9ONGOX+0Tf5uu>Q4$028O365X z{`~1v@S)#Z(a;mIT069#|;oY-UJ6*t+DP2DuT5H&Iu4+S?z8XqwY>df{$@9A*GNkQA0xO`sQY; z3Y`#bkufmy?yjy}!x|-drk$pG!{sc2Ev$xfzXLMM3#jA%rX`v8XBfJUl3hFh86CMx znJF4++75|+To}QdsL)a4>kF~X4Sg?EdXtqNA?UgcKu?Ksf`~-J6K3=W0q2hzS!&b9 z1l_p?g7|tk6EnHKoDlmidJlaY6ifE3$~h-}*} z^nBX1Tk0>a3rYocGUByCfH02^en}KG^ZZZy;0LDOFZkZ#$u^jYV$HnAik8pl5Us7P zW^J)$Wo1i46})V0Y}C{*ynhA(MxJMNef^_W-eWbjNPmbiiN447;;ju5&oH@2m^QYq z_tE}V(OS@T7W{;p$&zU~g^n{y0*fg!VfZ^)+_uA&`ehDLZZAS!x<T+UB2FW}`TznGmROirXOiY8U0?}|!xV7q zuND~)>L}UF+4*?^yHPPYY+T$x=}{Kz5} zX4NZUrBFCIKC&Gur-KCqS?w-@?||5Y z-JWP?Vry$_VxpcTae1Jg9f7@r1G8aurN2BM-_{q3N(=rM@H9LF z+6+bH-cGenzBC~r;pRr!O#Hz{yJ$9JL^U5)&@Hcr{{ml|IXpU`(t3T3PCGqI^HYB? zM|EGKIQCd9foU`l=~@*5jeR(_b6v&`Ns<&i84er0#oEKi$M*wd2ZfmXj~_pdJb+<% z*dfgXJ2(n;6^{#6?T4g8M)J&l(8BPr88UJxbwYX#W?3{MB+kS5eUVe|MNbwkVGJQ{jY}r3m&XZrRs@=QG(;QF8;vP4*69~1NUI13GAIp;!9f8Wp-NU1LgLvY>(v$zTW#ukHJQHdl6lK;|LhaL}TbeSK1|t)ncpO zOlp3aO%hO-(Zi^)zC43sKV5r^L2p0J)6&uaKVb_>$(obnis0Z&q1D_^)#$^yTYQnI zw%S)!n_cqY0?P*^1oIj>>KWh76TIndIx>_KKsHlv?;ca-PRgi%r$&UYGJKifkAMHqz zyw0MTdiR60BAH-=_2u-)P^jQKl*Td~;deDIlch(RU* zHSk6sIi&mQ=s5(SX+f6h8m;y7mujsKB%+|809lxYU9IRNh}P_I0&7iOo|^%eZ>fE@ zG1wdMGDh&)y4cy3+KruWJJ}wvO?&vZxwSQQ4+x0CL*xq-tY2V zL(}0C5rqK^U5Mj2^L-1X-I&f48Fd86b1H=ZfW{2mVT*%UleN+QACaYrgWx!n#x}gg z@2dJ+7#@W?FekbUv3S_m+4m#vGZb=bASf3#15of1zpbLQbaA9cv>g?&{|TUw$RgT^ z$VfE+i>Q1LBZN~$l7;UQJ{s#+rtVF9b|J;*G|0)ou7Q^$1D&v{Ja^KI zGl?@7T8Bm?V*>hB?!05?B>ElfK*@YxG0$|8w!t?Y;Q$vIQ7Tf=T zTAy{XrBNq2fGGTiLQw4*vt9{ot}D$S#vr3=39xO~NB4i{9~A~slo>EP?#i zojcFi%7F{9A&ZMcLqm%@-d}fJ>fc(C4t0RT6l}r?4jGi=q1IouN3Q_or*YEd6yT26 z=1ZM-x4XwkhX8R^74M1`(BhjNqxeB-Ld%XnO9Jv>zNA5+8NsJvz(+MxQ&LiLE4Lei z=w)wj&lXSTo54g+-#9#c3@ncK=7?mfv+w>KL&+>~|4o%c6sxkbGXA4FNePw`82UaN z+Y*@1q9}(jp~G7t1$}6A40W8-^Z)W-0S1}cC9s&(__(;CGRGNE7Iynq`x^~FCq_q~ ztYI-FLN|O*c6?#ghBZFp(C%NL*TIiFNL_XJc5xp_E7lKeHQ0UuWca|nrd)IrIU{Ar z%l`=!2koQvbBsVZkuhp{ayYnUtE}phq}Uk*SOR$N6KUX86)sCpIpfFw?;tUv;H$P- zaw?<26UyH?n-GQb1Eq{Kaz%lv6F}hTV-BU03+9Gu_l@da0(d)IYHtFdF89NN1DFCN z-53y-798C8z`Pd+%Qirq`mtNw``8Kq)8ai4BP}mUAlH85<}w1cxFA4Fk`Ste;Fy6R zmzbCc@|HT;6IA1%%S%v>iQ5oLhrEz)j~6zHH(t3X7fE0xmaX2~*_cJ{uk75Jq}G$f zo?I{Dv6*R?fKS)tFx9L&e)0abVX5RFZX45zy1|554_;rx#<~2&SsV&YRb*c-lv7af z0^wd*+@(sU={Akbn;ey-I>3WkFbVsEGMbKop%C!LE>8CLS4D~%IxeQ!If8@*7y+=L z{b;mm4+-y+?Uj+0*;%)hVd1&+8-HL53@ia*4`(7e*3HAC|K^Arz<`IqG0tOSFD)%u za+?wa5K$>%|9nl%pa6l~teMA9co1n&HKut9mr%(RXAo{J4i;T* z!O1akLhMfUf~J^#EwI0S^#BYZ0Q&2=1}q0l?=8iCvOxZtE|=zbddb%>gK~3ov2h8b zxb5uhEPiBmhToO^`WcN}DZFaJ6#joi=L8K8@TH3=1S&yGqIfBB%!^A0>9+-H-m++= zzp9@PqY_P@SQ+@7mwzFEx|iIxQaqSZy(iDmcdX7o66ZD1xVJK!Wp^%tDLsn1<&XL4 z2=k&R4>&H2KM;NJ1i7{}@R?4BmWHMtDv%Vx1A)Brei;;DYj?Q2X6Uu%UrH^jtV}u* z&O$%(=4B;#xb)19f=(`BQ1>3-#|X(QDhh+@?=YM2mIpE-B4QDHpiKOzzIwPZHNpHu zds>t(aAlFyFe49Gap%h_Y z`uU*z!YS6s;Xz~7yz_6*x>sM)nb+>DH?%0~*!-q%3gCGxkAPpORqWo^I)bY63%gN^ zzjq0gENE;hdNTPHy;r;;NXyAh)V#G zMV!;A9t&pSH8|-EI}13Xo!nNtR}O4=PYIX zMYui_0MLIBuONLGHdD?Ohhy!j?2teZNl^300XZr;Sx3PJ;CiQ6|FCW}85AI=h+Ay! z>NWD+gfi19QcK!!*sg!A)EPt)@U}=gc~B8LI5+^j?Xfo%4e~nkr;n3MOTrJKAS-m;V77G72m)j-;7#d2 ziSPh^7N7>X?1!gw3b>0am{izLVdb>|?;99ibFqzj@v_y^>;zHBXyyJ-C?4*=H$^&Bz(C z`##%_)cWBfxGn1<6#@JCZz{1)`sHOKq_~2D0sspCf_&DO8=>8x-nlMar>9zE8gv0L zXc)wpRSW)%AWd69HPzL_XoP3|Fp6=lfz)vK;GpJse*sk5fJeDP^+;3mhA>5t#lUCV z3>673fLxt!g7lNx_}OOY{!RGprP-YkUtV`N`rysVOaNoh#(SKM-6~v$hK4w{Pow(2e<0RlLTU8dIeVqy(E2xCAp4FB1m6L+ZECHVt1n07=jUhX1FWB0S&v-@Nn3HfadIq% zwXv~LEkf;%r^PZSsG%+5krDaH)Te>qlu@t)$TQ$aj!t)dJq;tH1t8f$#b%76=i-7R z{Sk-(P;mnqlbV_uaPMYU2;)%H4DVA;iKJFx5{1uYkslMIw=aY?nsN1O9LTiCM7JMvV`k z4AScyGy(&67U@;hq9yp*Jt1ASS>I|27~F%}@dJTDkgbp#BRiDJcQ8 z`AC5Y?sc$`LO|^;Nk-v--2lZ;e?g#&9-TLWR>8Z$jnJG2w9;@hA!Fz}11PgDZ> z@evTC{6lB{NnU6Cj*uOt9MV)2^Ak;lO zHQof6+g+b;4?h9l1@u*W43|u~7y*!d!SHT!nYj#<;EEow-e+Az3EE>_0O{#hs+eU! zv+9>}w);Yv@85R-3fM=R7x%sm8iDDrab9>bzww3ww12wN@$;+qpBKAyW+yVDsPx?w zyNR(i+QAOsXII$A#KeJ0d6u6Vg7^mWz5L|)650M?x!z1c{jw}FO04}3wgjcP@@jlo z8D}3~r|T-r_Ppskb>@Z|Ab$;O6ugIlWDZr&kS>g0`MK~lQ+38;Td1>QM-KD^f`lLU z<~pPufv`hPavnFIP4SeqYY@^8O9wB}H^wOZ9@4%3Gr`_mxPX0;#pgH}2dJ8N=v46;OCOX%hB;k$$ z)&(rkA*c*Uz*B@#3jYj+zm0V{%wVc8^!@f(VhHhECM`JW$sKg2|C-i6Y@wZuHBt@_ zf9R-Rk7bEDH{aVxF>C%6kN?F#9-AQ=6=0CMmOa~u(`k@bwWNh2C`b>#`|DbNLkC8B zgfB;z5QR9l=>GYFbU<)o?)3M!+Dee67A;-9a{AEN?1!4yq&prFzEwVG73DX=Y3o+* z$D6)new@;!yiRwNV;pcU{%nxoX;Sb3VVNG(0F{*QULF<{G`AN!>H&SIeXGXx*Bk8$ z)47-PnLK_+ssB@ z4AQGMSi7K$1;drP{-7s6SMkzsrSRP7rN1$OBhqM<;wzR{=Pzmd*Gf)up~bGAV!kut z0pL2!HU*A9!Xjw*FgzXFKdbr&ki?+6GnDp+ovdE+3kDql7~U9z7%`l9BFk?h{0AVu z;h{sEak9ERh8*91X6BEe^``41 z({y}FnaA<;dF3uQF{0=lGU^|bbNaL{H0*lluitC$%p}bb2mFi0kI6$=j1OZZsrCk zF5Qa;49d;!-p=i|pBHZ2(9uk6KRP25(;jX8D=f6Z+d#VN|7@##HC4CxDJi@DlLi!= z0RWo*&dvfkI6dIDG9H4rjeyF``3dBd?NvZe8&tTYogljt*?r_+_(XKg1B{m}?o|8Y zg2WM^699}#FU90Ipi5p%DJ}B=h!HfWG4vY%>DAcSSYi45q&lY#iL`6K0Z=Cn4-YMl z0Y3s-34GjBK*Iqb1^jp*TBOoDySr}lXQi?2t$x!0Cqn;0#w_8TL4PqF3{U?32&GBo`_@vHBk7@ojc6T&Gq#uKm*gbCF&zY z;IR1OYeO(8(5-+3`~mPTMV9JhZ$T*_0EZg5UyMc?R;{3XvA$Il;3f>2!=+27B8^# z>PMuDVuUg1fgmBZXdD`fi;pf75Tqp=0(|e>6QIPskB?W9dPwQi3gDxWV5I9EVT$Hk z>zK!l1Bj`9duz*-Xyfuf!MGEG?!W^J_lWFsU0q#j%Viug#c!YkEM4JNY=%*!G#V5a z9fyDgB;$Gdfa~tvyWH`ejFcoKlPfFA8;d?;fZs<<&t=r!d~FfmXj0$3BMvtCeJ|mt z+%V3y;Ur9}6E357HD70X&q@}O;t3>ZAe7225Q3?C(GL>7Mf`RX8SCT9_mlyFftYy+ z1oL&LnI%fXBE*~ka28pBHlg)wdL`H~=*X?bySgzLqn7qiF;3u-J_;M;oHM2uQ)5}f zLu>h<(}pjJ#$C@D41i){XSjE>qJ#k3i7KH?_F9 zxU|H^K7Fpy5L1c&s%m96peCGz^4!&3CuP2eYcloSEkujVFT%pY!ePM3Vb<0e3NZj& z)(uZQA-x9r5b68-;I>d8^d&27w5S8Fh8fVS0ILCU!J5XS#SAzUjD%N))4xgty!qC>4y;ljp}t6vsLiGz##Yw|aN+O$0nb_8Tp8xt6tm}H$>`u-#x zyG>Ze(Yb_%Jzns2aBvEQE@iwl2O!w8H9rr<{x+6*F1uI4AQ3MA5c078~lVmqQl z^C2)0_vl1~j?RA`@Vf27JGa^P7Yp0_=3`=F06*yH=r~Z}YOAZO`{2P>5O{o!wzSB$ z8AtFuftpVGsn}!dX>6WOA-y&H*h-1Wa`3vey`%Hmtc`;!eZmV=axGu^&Rq8l=tn$v z?i@$uss!L0Ed&7yE?UUUWb7XW-G90u_Hfg{oyWqvy1Of!7o@ZNs}vW1C`}eXm+-<3;sZG%jRj~J>ml2XD6Qm+i9}wjqyiRAC zA50;p-K*$nwN2OV+CJrHmXz+Rh!{e{8|rKxSs zFSP$)R3&kM;=+M77i~rr6S8Ca1Z+Rcsgwep?)~F;1{DFIPZxoZ=j-X0+DkfBD*grx z6ol*~HbTOZx_KC!N0p5sX2B8DN3>t$T7d6C);6|^mrj}SI3|dR7A8g-^ z6Y#Iz8NPT5i>r)#6-(~%j%~p@m@(~pXJ~a*KF}}tiq)_i&5wGT$&3Vc+2ulUq-v@n z^4!@GSR9N!MK%J-bTJF(mN|CS%~wZE!KrHX&lM6b(2ZF(54!U#*Q1Z3Ezn22~f&gi)U1SmAWUneKE1L;2 zF;HUXbW}=XK;u48Y0=5ihCc4I9ZBsFUa-^rSGjWsjTzGidK5kAf5x;Bl5yV@^*IE> z*23~KyLE(Zl62Qc44=bnP|i(3?%4;R14!EOZKUGJTE)lzV(Iu5BQdxF5N04N_0@m) z@WDKK=AHj_ki$3DzER0%-|*i0sTK7k^%0FbvLN5;?+6MCubkKPr~qmjIs`yba`T`{ z1_LQhNihMw2xxQVx8Q9kg`lQI$G@E45t8pGjCK#hQ2xA2_%Ad3K|pP!GfgIPpGL}RWq1($+Ik68)w&ea-}FvX`l;uA%n z7vq>flk7G?I+Br*xr7n!asT@3fs~ZHo0}8pPGJV)J1}am4d3OkBUa1u}fVBR<2+(s@$&ZjpuQ)-svpEf5mDZAhZusUFS2}3d z;P#zrzWxx?UZ1!J_7MQp?Uk8?gaqSt)yw$!`0HmX;o6PM?bYPYi+%T=76SEj+YYcJ zo18*I`WCI1Z{1G?P^(T7j-uzSkp5k-K2ZdFOIy?Aqjifc#L-g#-)-7;CQE@EWa^h8 zv$I*`Az)jt5&(Tl0OSHOq|$vO6A60sgGhd)cdCQPKHf$auL#LG0-8miWHa}s-NtmA zgb6*^&&ylU1L_TWj=y~oV}2#5fWL5Y)ir?JLF+oq+PQv5_*%W!g*v z;x>rwh)6t@!ayg5(bF2hY;M~D#IPB@ePC;qGDwRUT+{_cBhfUba|F|z z4yu(&u(ZBMTfKnP1qpP0b*w&uMh0-fkE^}hLBk{o87BFOf32^t2fxbzk{?+{db-HY zpkvW2=wmg>Ha9Z^n`2tr+N?p~wzRYaCB|Z8*!$>cEx^e|Mn+o1_m`HJcR^B;lQY*& zlbC_a${TH)NJSf$(BDA;F9RSpj_n!6_Spv~2wW_w1RF_r= zV5K#H$tO30{hXbblDt0o?-+<;fX%EV~h;C-I_C4UpHtWCoc0j2Qs=%hZzrx-r33C<( zLHIkPLY^qHG9bnwa$(gfByEqM8=i*1eEN5A#R3mu8Z;Kw->w)ABe5*h8k|h~hxNyV z$<(&TYqdiEvYuZ7bvuYO;TP+3%Ka0fq$41n4Z+I4_;*Ya zwkcG;p5lZ6BU?yVFh|DU!4#Xd`S z=d51*JNN(pI@*tsiYJt5S&EY*#1>NfI!zk~J=MpXnU~%I=7QJ#-|=q})p&ny-~Sb% zvMw`;RH4?W)^$M7DS|)w)Q>>0j?B`oibroD>Q2=@jEwdr)-DPb1Z?Sy1w3a}r;4oQ zAs+?#2_xv`T$DkXQS|QoM?AkRg9=!&g6uwt|Cd|6Nr9?s{6QBrO);QTMXSlZ9p)x* z*SaoT!0v@TBl-suwdf(`LWCWldWOCUGsL+#52LTYch(;<_xr=ul^*@K9``!>26uJd ze+*0?v}9Gt7S;}!ZY(xy7y`cwH&MI_Fxo%C3NU)P#moi4+{auju=lD#*MpgRR=wMP z(^WlR9gsRawVG;caZg<#ZUKkwk8acnd1~+e^Jv<{EvUv~%``5VbXdFr+BUYn+xT^8 zO%z)zc_4s)|4gPaKN>G@=1*soEbWXF}>?s zcIy=g$Dl#$uSR)31K#V)J7^NHu$XqsQuqv1(yw;pToni>9raICgusztYK@$(bw`}a zv2XgJk~K#u5?&>(pQ>$;OZ#)*U-3xc`339yM20Gz>9lc!3IRv*&!il^Zm4k_4nBlR~a47l$J^v6RSTT;|& zzE3%^DFxh6B*49ubk7S|^V}mvQFO>l@f}#|1+3tYfEcs=sI35b6w(W;+xDtji*{I` zKUq1@b7g&6>aHoJ4@k|cXVa>x0Fh`Z4X$wEaNUVhdr_zOCGRKTLEZiiCJqU(n`?9* z2!`45cu$$nGbEC!2zdd{Biwav0CRWuw;b%nd748oF;A&_FvsoRia1d9Vql4Q|F?29 zhMxx1FHHi9o}b?llz4zNPrHPLfBClz|4TAn{{T~pdw4t+=tv<*DQG`l?Q}~_9E7nB z%!*=&ZKdz}6_8xd9Xr>ZL?9nrwMtwCzZ5fz@l*H#)Nx*89qe!h>L{mTl%;^vm!D*e zWEf!`!v!K5X_BMkm2EIVd1c1i>s413Xm#~xYYS zA(-$L*2C%-<2ZjeD$|_&&{3NoqDvBCBh}2~uP+&9HUCPM4N`g~{G|GY@ukxP51_;@ zM@?TotyFS%7c8^Jet3LbEMy!CGTymiBihlk#%eQ^bgAqFq=JNea=x8CRNKTGz#`Y1 z7tdOt0Xctbe#5;=hdoj}cUd80M8eyQDozZnRIJf3{xnmChIbw}Xia8LzljyZ8}irL zycR~>Sf^!VWMtY}?(;T0F;^;!<$_t=gewM45g@=1-&sL=2zc|({j+rs5cSfFU(yV0 zbM5oC-Hn9wpdcYFsUQNP(j`cbba$tuba$O+ zK#bq_|1QqOxi~k#`_4SQ_u6Z({owydUJ?)c8a5IV5}vfwgC|Hxm#C4Dko7Pxfj9Rf zwsOHQW(RRq2YqWB7Yjop2P8>DD?>Y72SWpDJr`;d2L~JbdmJ1#7P?jr&nzw2^{p)( z+nT75kWj2mpQ<`syhlO?{W!mUrzB%P#7S7OsA5t5lDuIcRB};_@x`M!+$-o}t_=?N z0x}8ZUQ9P})3k0?I#~`5)X;=1=$RKDE{hEv%j=63N=L!mCb$Wu8>nv+z$hMkX04dw z{t(BWlwMeJ`XOb#Tk#d@On9gjG}70lg{K1&zQwd$+iRN}#b;7N_vU*J-07 z!u^bDJ(=m;D~XBS)Pe(ICPt8A*B9u%**8yAk{OFdN&{cN!5c>TY9ykknvXibLA3CV zh{a4x>BTD}#my?1Y)tSQ3ki~x=PNY<>MA5Z+Lb9GSc6~Z+3UsM3A~yQcvk%=|BjI2 zLY8#%=|gh<1@%`NDjFCX_-+nJ5^y}SC6X$gTSYHM{MF?02+IwW(_89pX18`v(v^L& zY+a`*_(~~ykn+XM#G%O`#_`JCQ6A0QCWiQq33j}#Fr=(oBWwi^4F(i14QH&=YwXC* zht3bO5v@HZH#+AejJ|BW>pqKSq-(@bUWi#$IeADz& z>~+zR=p`yho+V9L>vc?sG;kfzW+76Rm((=c-S_dEB@KQ%CrCD6wLMaqnpC1t%lEV< z!_KbF%H&2%P^O&nC;Gn6Hew=16Qq zfw?1W@kDcYQUD|^QtK*#qq3};M~I5qz?^_AR@hjtC(tMAb)l04?7bMEz-Q)jQ= zH(f(VzqvUkc-*|`X1b?H>xbfN~b6&p0{D` z`CLtzJ50G7gG;0AU-y}GW5C4Y9RziNG1@^~H%_WLy2Zz#|LyA?_$ry`&t{T-=0y{` zeRqR56Y1O@DY75k+y?GVq0fD+E1o!fHQkLQhw?_Ah~RnHu#i~<&22YWFT9^wn&4aG zPmHo`+V-g_(DG_B(mRoK>UT{HkcYU6!fGD2hD9L_)vY!5i8QH$AeF>bA!LKrhK6mdlX-G`b+2>&X7JKGRh(=Y!aGQZspR1fuq!TJc3*>Cn>KJar00%jzT)`vhSX7Un&@KFxL4!w|}0(6D+tn+eEpe!649jpq45Yc-g5@OP8 zSpT0tOk_egHa4DbFNlZedFu=wjK6?$9It!UZxt#(cRYF@Yi~3?J^iXanOvjD>a0|Qp@@%K-DDK#JQ8ICm9{Ljqt8WVHU*nA}qdc{!+lmx{kUez5;OXE+Kx1_d?Q zdlxo%dDlz7gQIZ>w!T3Y`F)j3uF46PRM#AMht%aQb{^iFG{ z9}e6)fx>aV6eai#@8$9m{fkmAnNlAlfJW+g4#jo0XLFwvOVe8yXtdJpQ{neA+!uXAbrksXmQ$Gv#y(*#kzW&S{ zS$z20dqvUg^76(xqcF2nvpdR_ZmLFfbG{knW-D zqv_}0@^jaIbvAd%p+SB`fcuzGp>-t-`--fD#A99E!J=`a-R1c2fn%<#4vvn}&!7JY zx+=WU>cYTmwj0Gpwy`PWdBn9kXuQk+b%}?G0TMr|sj%PE*zFV&Q$@?~7c@vF7~QX? z&E+<(VZYIq8a+$)_OLy8uR)ph#3OZ_(qAjV^F(xP(0&+$Am4hklqnyZoBeU8cP!4Q zxT(OX=p%Ya{JXmkWj6ZTaDOQ9)jYT|t!41+&X&V=Pk<@^*oT++y~3y6p0_I~8smpb zKA4MGJwN!oytNhK6o2Zr)m_G7Y$_P}&USBckI}gqqrxSh^Yn>!TdbfCZqc|m%D603 zOLIfz^OM7x*z`1|N!vpMC3xB4N~y##g@>7+I&pFZTopdR81EzQT$9@{g$j?1wwS?W zV3&IyND4@I5~=({Gkac}?Z)U3GM&Z=fN+sYRbX7nLB zBtoBD!!hm(agh6m%sxKr=&-yH$u{?L^QrQ87JTkGb2E*N94GqX+vt%M6sL8$Gv=xS zrY$Kwd`20Vrc&|7E5Z$no|{WKHM$(0k1|i<)@Jz=spMQvM8C`MGk9Xv2^ne~os@bi zX!7y5cB|vEdj{{D=MP<){SyUB=K^)9+CJ@cmf3s}bEzLyHPnKuUcr>G z!zF9+Cw2)DD)F0f-5Ri8(WGgn5^zrSJS}GxcKErireNZC+wEr(T|IhX#1Jg0Ugk5# z?Xmt??!{}Pp8FHJlxYt8hqNi!Q97H$<645xd}kV^%@>Od_FqV1tR0X=>}Gu#d{NY{ zo^Sn#wvjr9O=eiT+zm!bZX9C0e_MAtdev!C{5C&4)UN@VwbJ9n+CE=l{a*Zd>3FW% zLn`@fy?ibG{h<8D#4>xnW^0XYOzYUmMWg=dcmpkgp95{om~{r!kVY;|PH}NVihFc< z0){`Cn#rz2b}qb_DSak08NZ3!YcYP(kEf;3gflzruZZ8~8qLiVG4}ACz`J^;H>9K+ z+23v|sy}Mjpm*6{#ppNONBHD{xZ2=OY0cs$_BCmAct*+kw#xSn3{$x6O3hbuL;8Xz zy0-Dhe5R={j}BRyBBQRX-2;1THhztX*|J_E4Zk*`$Qg&e)@Ay7R9Y=w2pP%9PP*e* zMkqBzas3^1BfvhsJ-sgR#L8oPl_vh2(&b3;Q`YmOKa8a(UXO1o{J zFWXBxFnVnfTIm~*!-8!e_5xL1m-u(k037>bXrFAh+p>DBKE*@nct6cXfrPF7apEYa zkv&H`4mS3d3i=o|UaQ)`EKCo(xbq2DD4b@s2Yfx6r&2DE;jfIIu_O#?hOo!bN@fjt zir1-dV&H4e_pkP6H=OJg@c?gmdnZhC($?Y;KNAP!AzAnn6Qb%>`Pp?~I!l!|lF{&* zbw(l%bVprPJ?x)yXbaoxsJl&_>be}(u$a(YMO6%S3R5_a>}$)A=Z1o53vjomA;wvS ze$BQoFC5vz!&%5bnyua4=n52G9oxz-RrOd5$P)0l>posrbbYvJf=5l3Q$$3sgX_kv z3gVV@4Zr1M!(Cb#4W4+F!v4d|odh{I(`FsjFg%#;)oQd`mO~*sWcwi$&4%m!I>IGJ ztsE(YT`jxgIy3Q`vKCA8{=^|2%yYdeo_9RR$@Z;V4;!bnlaGps(=gX-k~ju+rrQP9 z1OpL19jS664c}wPl$I}AAaHeAO}Ea(wS1sHbf~_?ae5+Qa^?d*r61Floy|8V52e_s zI84??D;X)}T%t)jzs%$hM76LqYWNQ6Ojo-7KuXsy)#5C0lRlbOQ;)RpH`n*%^6dX8 zOd+38>8O0ubheAb)!D6`ta|5oS1F)7ed%!3d`{tHxPmtU92}Q2=hxxZ^}5RXBZqzG z$EH6To9ngrH&$nqHW@@XcN&ctNph2}7nIw^Zv>DSXKOMwHZl#C@cLw{-(=Hz?hC6t zdO}FyURJyp*TH}_FMRs#0ZRgvM}zxptowJF=xBg{tyWoc`-R&Y+AM7J8kp-dB-PzU zm0FQ+w4CoQPM5r<8r?=3k8+Dh^vGR%V$}6%(ep)Uzc44QFRWI@Ucoae=c_hOJsBIv zz6|GWewK`cgZSfN#t2B$!$6Z`+dD3lr)>+Rr)5u`I25Mb*_9{^@N;ZuXKr9-E_Pe! zxK}}*Yi-v1x>vfdc2y=|vw@wCkX#hUm3{tQE}dE<*Tl)roC}P+hyiWc=+WClHSi6 zMJr+if;HxGUb!$XVG+&>sU4?imsqg!f<_(Ky0yA+C3_`SYc1%pfqgortE+2!v7gVp zF9=N~OY`dW>+y++iD6;67K7X;PKGAwa374h+1Z4<_P*jR$gnW-ZdChqz0SpKs@DNS z$7|J%=6y$bb~9@A_bBNw>)u|u18c0@z+p2nvAiOj*7sw2-!FXjPG6_g0;X>i6P4Q< zeEH>V^;QGp@sg|S6^ASOSBIF{mJi-2MF8?s&jZJ$c)r$=l>YLiVKfJs=iU#FqhM|h zVpM&3Y;w4T#&$!hJyRAAVhG#3|_q@<)HCbowady|1} z@AyNm^975W^?dsAlrH!KH{fD+pp_St#|zp5_eY_0p6~`4*+v=@6O-le*Fu&`c{4NS zUCG71Ooc=tch~)A)R6YesI)FHXp1yqP++4Tg4Dha2)O6A$C)X!vpPQhSuqXFHIbwc zY_O0}MM{c6_eVK69A0*^HQ$}BT^<(}#$`EFAW7vOSxfWZ&S*&4H3u@(@|l&s@K}$z zHHOm*Bt%B`d{Ih&_=Y)mxKTAHBg3LAMcQf1#n{Beq|)OUEUA9-FR0C{d%=wQPU&hQx?i_TUm(vqQZ=Zpd2~vYS0fVjJ-$|qlyue z4QoK_%~N7UXmzeLQ--S_O;O=!6rJ?gPJWddx@**;fuQAYqZ#XtX65VshcBC&c2Gq4 z1rri9-kEK4-hU@ud1C!gChd(iTKW2yvRl3|7!xz|!f~`@ocy`mLh74oJ zl@TV;eFxS;zqNxOemupj)u7_jo|Q1#XpI@v$HJ$}VU#%OclR|S!qW)8^l0q0*b6Ni zFT5o?Ig(m3?B~(XEqG^(7W#wpNWuNrG|i%w2BB5 zk)iGlbeNJyj8kWC@3`2%t6=8tqyU*pkdUZb#?r=)b{s<7h&w&|Fd6^*CUa8pO1eFmH3LovC=@YS2wj} zDUYC_7OrV{eEe{+t^VPwx?u3twad3=`#^fMCW*Y*ZU#&*X?7O8wll4mx z@QV!=mMs?Z#q|#kZfkE(!%bYT52lEZic)^^G$kn^5l(s2etoj`qg;I6`@qy0B^y*27V5?RHV_b7r9ONU5E#g$ z`1EOw@ey#+k)tk_Pj)j+tUvWkT}a4t$7}RQ1ht{uzYVDB#p24#40OC}Z-w0BxQ*N1 z{r;Z%m>bv%{P!S+uN$7e(GdySl$%(IByLRQu(;4&< zoNMV+*&7#50xb6NgtEX2L_$jHRUJ&idrIm0Uxw(WtsIh*lLKHHQ?P~-*#j+k=-iiZ z34<=ZlVXWk=uN-%`RSLZpN(1pVuo>Xaao{=VVm->d@4hQH~3z%mXbMhQB?Ry9!{nT zK*$}S3E=cYsUhaN+k7cX7bYK75i0J8g^!>0C<%5PE{+7tC5`eBQ^)+}nEF}+t5EW2 z)=LO&$oc*RcHOqlh8R$`CXl^ZApHo(s6wHJxFg(k4GHAvM=x11>(pLU3l z)0r@+@X-k#6V@-s1B%4|i)VC9iG3Wkf0}?-F6TpHN>CwSK>!KXSzTYKKP=P>f|6#+?Thv<-EaWJ28Imev|sY=vDj?_z+1pdO$FOUXf z=&NO^^|(+|&!@*e!q_G(4@yD937|@Ct&D1zba>R8sF?aK%OE3>ikj!y5Y2EHsEKn9 zDGKMh?ydmgB=@Mw8)ZM)%aQ+Yr~V%NY-Qvw6H{XajJ>InhW-qX8eY%87l^DRX_tX_ z%sIrdoA+hhg;sg7sAT0#Ooa%yRUGY4267y1FQz@d#lo`K$e5U+U4G!cI~pAx{vEax z!F?+44~GFjzh%?{L&Mqg-7zpQa9AA^WM#FO?@AqdZ4z0MN3dftTGIP*E+r-gGGxj1 z#ec(EO8V^RyRHqhe{f@b&J>fYU;i;R^-W}CO>OOKD&Yh)0xF@Al4pxB80>Jh^7LnC z@-&5LKf?KQ(E?@C>1!7B|PQh$C5*~ z*#9wLLxWVD0n;xe+1UH^IQhee587_);>&S>inTX4Pd$T_z-)(}W~vvOD8Uy86ag>D zH*SA2JKY#jMv?ZqSXEscO|k$j;@vx~Qpf+xvH<*`j-~+c5%5?V;0ibb=0C&>pdnkU zv~H1eiP12jh~S>(mnW$YE$W}bZ3#z^tENx+7nJOKm5^3PfuOlACt9# zV1racb$m>Fzw`nv_x)r0>4q>Jw{xb2f@%P2WXVWKEbn>0B3H}64UCKc zM-%4ZDUgf54S-co#Di?G50rJb=93XthzMC%+$Ov+_UI2ngim5VZVVNg*Vol;U_I}6 zFVdT?(r>a*OQ!Rd&ziCs$KWr>EfYz5Z4$k(;zK)wHT%8S-h786_8!ag?=P_Qt|C=o z-=P|=qU1oMB`9@VUg${jfxL-Hxiy^5m&IeEy=v__#uSB&l!5{4l)MTj1V%9_{4tDb zsCRak*Zdyi9XsV(zbTJO9(sm!YQ+pxq)?J`7(JdGVY2X6+%RDF!+(-C28ZYDIE~u;zX1bbxN{(8>Qh=qwqwxk3d=G5~qhj}cAP5T^_c>2sOLnK< z`4cop)l~B^L6x8Z3pJSlb&70&WB(ny8Y)1{X;fGz21sK7X5RHij0+@JNsu+ua#pU7-QuB82&7PG;%!x`M)}?=sB|*mG6*ae)@@!lyqlK`1CFZM4JIs~`@|94c!c?{Cf(S&hbRT<5dG1<_W$&>*pTNyi$!9qfiKfNc`>E=a zYOdaB$+Odw-OBD85~V^qx?4XxeWI9j+_#mqwJ8G$<>GjBamc!qs(tY&iY7~+rYp0l z)2&Z{by)I|-Y>In;43umH*z6+d}e8w=SIzerug|u>g1$e(-jhu^{d}NQaFME&cjHA zOh)T7^&{x|k+*qvj)e4>yX*vPiEtFf?_dppIdX7))iufS~_Z0yO&$vvXZFE2Bp zCeK7=Zjd@K$E>Zb$wafSQ)}ctP64OL8WR@wI8B}+%8BUQeQTUJ0hdNt)-Ao7SJDv- zB&4MH0Ib^^&clE(8X1Q+ISENE;Hd@I?s%S*0h+37o80SB z@Bu<-V>1vA6q>7m2&1aKrYRxOS@(J#B>gh-@?S$xCIl~VChI=V`^d;E@jlR3O6e6@ zkEaqUPqwSFv?@Ll$IU3;Bj_dqf>flWq@0&>>n++)#nzq1_KOwMMtigf1S18^ z`~2U&)v>}C72q%#(W3T1j!JI+xI75)>kb6=sMWzz5XPY=q~^d@HjQ70x|yD7}Ka0&jC z7#ZFm_u?be2BvA;pVdsk&yeS_IPSSR6_O^f-QxsAqwmU`JrT{Ym75$%i4>1Lta@ty zLQBFJEtAHL9>ve2CG>I$ZVuxWI-c~^UeFQo{cn%SKzI{4!{IUeYWC9MLYV>`1lm_= zox`X%w2Y3Ix72mlpq@Su2^D1o?HA44|=-q$QJH<|Y52MKN~)(b6P4A+8PCd0Z+$>n_}}R`Jz3y=@^bRjom+ zSG(rkXv?xO)925C{lmg`j&hu3r7y z7^hO9UdDeLAU=rf=L`bDTYjD2I?j0;AfU`#ME483Knf+k2-*J-fxnLb@8;IEJ_w7r zcy-|t7o6j~*RV&N@qE_!*w{mPhJmU!#LOgOGpOZs4Z$Ed3b`MU^E=9Br1*7HBzsqa zK&)N<+#jvYW(d~(K6>w`GoYu^7%ZsI5cV&=BuVh7f|v%<2)aBz*uKtf&_JvpKtnoG zV~fqg@sqx+6;$+FT0r58@vB+y!VdGnol&l9d%wcF>I7~Y+a0{;{vpB9_!0QZmmz4w)CXLC6I8mnoGkS{nZj;116a z93aZ4oAfPud5u&3@EeqIC zJyRcaH6IGU6y>zUu5s6ImdC_@>b1Xrl9-Xp1gPsH*qk#HBrb)NP5tQ^1$b_R|3N&E z^!ja!_eu>Q{sT(I#Ql8BU&19I=L3zH?*mE6Zez2iHKrERQ0^^t5WEWBY%$8P4KG7kt$ zFLB6bXJ@;(f+1X@v<;3+%b?zk(Ux=S(UMzgF+(2L4Gkp;=Hun<^|5ZeM1F3(AOMF@ z3jXX~RMByN6CKSMHE2;=TWe7wEhY87y(coMy?<%J-N1mZ)h9A3HrKTKW5!8Zq6gSA zm5RGFeAZ(v8(Z@yON055cU?B<%=62r4cP&u+K|_&ofqQA+qgZ*c;I=wsKci5)gX*P zE-t5iso;^xKu(fG=ry$pH`tsC&RtG_7&_>^4yhCTIPP?6!J?W764&5al_uy08 z^`xl5g#b!Z-uFZ)5G`b4s#lsj*MfT6c(j)J4rN^TdwSp)QH}}1XjxFe z!q53{G)y;C7!Vfc8AKWjl7CVvaJ+793*Bk$K+bx;v(%Vy+oZ#*_03yE`Wi}CL)&8k zoU{GyUH#I>iOi3D6E<$YLti$Qu2=bidAP)LQ?_`1ex6P$Dve-ishXed!9rhVI+&OV zm2#HmUFS6@*txz8X>DDXw9%QZj<@J+wq-!t1pf9zK}+OUbUQ~!KqI5rH0tW>yXO=g zJ7dsHcTxyyf!QNyXJY=C%N#{heN9bH+AoSUZvdpp$B!Rhi4}0+u1sl(1?YpQh{XP# z{T9vhm+X21z&hY#1Mm~ekz(7Wc^rF<#F}hpK{#rrJdKdhRLjm>;g7I&g{6mW(uE;5|7VB2~x~_cl6Osd3WMaG8 zQXV{vR&t;l0NBa#p`WjB7Y`79lR){&b+x?z#F1OV(ebw2%cl=x$I4w5<9XPA?duOE z)eeMRqK~GCzQo=_eru%RQ45>ZQIB}};>FfNZ{Wr?kqTh|56hj&7|l+LeU@WoF088s zrEd{uK3yLl_PD@S{{V2gfmUz8VMjjUoTq8p*yzr6Kzq68@RM4Cgr1j|pEYA<0=|B@ z;T-`1v!2pbmh}n;`BFyNJ0Hs5Ur?X3%n_FpZw2yj zd1!f|kF9YVO%4fAsb5ShR8|VGxwkRScSQ--%hT@x^dce*8hK!Xjn0S(d6fg|?r$=o zZFwZP<%8gU)|=={Ynhm5t?^M&TD*r-?TzOU>L>EKIPg1fC8I7K7!}`HL`a`RptNwo zdCo%XPN){83*DeCBGm?ve@+Pz@lVL_IDCBmtj)Qv{|b`?UQm!_12yy_kp|l6*@%Tg zzen6f!jz~2Wbb^%p{SS=K)XCoilr{0(jr|D!mCo{d6{C4n_NpOy%!mPX3Tq%Jey3MEJR z7ATBG)I8KCq@)CG8SmV229-B)ad82?F8~hu&Is|@swtt7P#_pPZZ9aEY=PJVoHLhY zm$V;G*Is#$>j`C6AK=oZBp_1%QVURmF1M8Ljva=09#zlx>oqnu0zagop#eFAMy?*3 zcpR_!4v;jT%+~l5M;49l`C9%?m%XM=*Je+Z;sjfPBtKkat*WXDs&?!;6>hGh!_1p< z&Ju?&EeL~H&dB%~^T2@6$AH}XHpmx1%9<=0GFD*P4PvVE<3Lij+ZF?l9zDtdS<#Lh zS+81w36Y_mzCM#e?0-d0>*gQ6)Dpqu-)w$-9~sd!vjJ5F$3l>W*%e~9PTJ_qT=gF)(jK^YNO*u9G&hwYXTRKv>#UUH3xBfB<6g2&IP+GXoYgV%n z&8`&?9Lx|s@~mIW;zL?5ZlNaF8lZ!gl?enq{ru#md$#z~EX~0RCf{=CC+Ur$EF9 zy`Tah^Z<^pGMfd0(PEQ&xByw;k4hTo#z*0^Q`YYuV1olDsDkTc2 zv~6*`fjSg4-5}iY0o{6kE^&_dn18iQY#(UQI|$4JS9BT0*?yI4mXqEz0c}L>dG0lLn|EHiNk^B0s1j6` zPd+0r|9-24<2OxG2J5Ju?yN&$*T*c!3rGWI!T$?l=Ddi3$u89Eq=V zE9C^76TJW06Zqgu(G65uoU=UcOix254Dv$GPCEK8QUvwq0I&lWIPYHuSaM6ddg06$ zkfZ_Bv^e9X1AIix7#X0~6mJG1y(Yv(fJ&8D|DzLisy~7pxDUb9)Glx`8h(^MS96Ir zCkVK`2GO4-Ro#SZ-pRM`XY>({b2SF{`1E2$?sMiL{aN5dD%7OW&Oo8XIG0UXA+y*> zeXYG-h|C-Uu5|vr6iOUlHnqN1{6p5SGefa7<{uCH*l%M>Q2vFBBP6&wd2VIzf26J6 zHtvuR>{vm4ZqZ~k6TFY*U>Fza?U_ckuS z>B62Jei624^fEIbtLnBIKMRkCmF2kBFdqQJbA6H;YX#fadT%qgRU_)Fnqc7#%k3XQ zUz+Zq|HfTdJxq6i%|z-}?-d)|Kj+SYR-J?<2QHCK&5h_jtA~J`Dtr51SnyTwY_!Hl zh^7A`B1zDtzXL`E#(mC97v_9%-blYjIu}flP-)MI+22SEEDAB`c_J77mwlZb|3#$n zqWi1!Gc!R1x&Imx!h#VtcOlS%@h)P`|HXX&>h)sEUI-!j?^F6U>;DzMfJt5iN92F! zZX?6lzJrr`52GSh^m1CS=D3Cp;yE4n9B)}4P^8(-wh`giTj*( zKwjBH0n!=9gAsNJjr6v%LHbo4lwX1KR}7;$yE6QjAno-M)rTaA^{+^xD#e+eVTUKN zZ|?q=ACg`UGF0Yl`sG(}(X%Vb7lt&3`SGUk=AM(xMs@-*jvI>dFaH3LaqIu^o_1Bk zH|BqOVuN>t&om^&wCibPB&gfA7EC0DxLfHgn6u{pXH&fbVY)I=&+@B<0xiEe8a2et z8x7a;Ah?wii|C)IWPIod=aaqSTh;6$DQOa--FLogvGx`wt37M^x>!_9_Lz@EH6EU{x9vH15JN} zV8rWtF+BvI&E#^FFhqC`f1CXL_=4+U>&=Kyof#m$;ZzRiCT^?3d2;N1{Sm|(HJR?* zi;CG}s`kCFuL0QkW0NJYA2Os@JtjWl0ucnk#eQ#DGFyz_y`GQsIC!hi@A;$3Lo)b)sM4?;e=NGcn`yh;ZG@t5=4CgQe3e{s$yhnAddY?#F4y0eml&4 z`3vs`s?9lP1$BoA#XMX6=MoZOsz|t(ek(Hwt;f1{QAV~MAf%PEv-%X^N2c;hT+YdtM z0{fnX)~a)2hqMU30@XX4+e|JLvPWOp_}?1}ARUSc`dtV-E6HWN{J%bPi*c%<#eyp4 zH|XFg1QV``Gs;KD`TNF$EzRO^qEqm(+uCUv&S7Xh2`p?*6gY$x{_C+WpQ=|;{_M6 z@u;2E+e=?l?#8?H<^mymQY+4+!Wg@7^g`nJ8*HT7jn1evG zID-7IODQ`=lkU&l>=Q{WZy2k9+luijO49WcePWHj?-}`^Rp)4QpzW!6t2$`OxEz{u8}e)Zu)7s&i!3yZ_nSI{r}}w*#EeqhB(9D c_to}1cW5i-eFd_Fz)K`)arp;XqEOiX1E)SQ&Hw-a