From 8ec985af087cb5b8a9ab84f151b443cdda77b11e Mon Sep 17 00:00:00 2001 From: SashAwl <98090080+SashAwl@users.noreply.github.com> Date: Fri, 11 Nov 2022 12:22:04 +0300 Subject: [PATCH] hw_4: created code for model ticket selling --- hw-4_UML-diagramms_Tickets.jpg | Bin 0 -> 45296 bytes hw_4.java | 100 +++++++++++++++++++++++++++++++++ 2 files changed, 100 insertions(+) create mode 100644 hw-4_UML-diagramms_Tickets.jpg create mode 100644 hw_4.java diff --git a/hw-4_UML-diagramms_Tickets.jpg b/hw-4_UML-diagramms_Tickets.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7acf8169456d749a3a21a91fc00fe106e8643de2 GIT binary patch literal 45296 zcmce-2UwHKx;7lUV5LhF2?-FY^o~miC4qp1-UUJ@Aie8aO78>+T?7(3C@pkQsR05K zY6yr@r7H*si2kg7&OXb%&pze5{_p>vT*-UCGtbO3^UlokPPy}Q>gNZ*O}IKt9dPCh z0C48?1Nb?AmLI07YW)DIs}9pv`&-1>TYytJe-{8iyZd+{HB|1Hn3~=BGwknTW9R+o z@AzL_PxIZM_%n9^U{v^D#Q#r0G$?y-yHlmlr(YkhQ{$(FMV(?s$A7~Ce`4Ez!*PFN zF9W3Nsm_a2%|F-|msupLpgJE27o)xun0sY%>9XhHwDj*7RRtpceqZjW7U!F#O2I z%jR!|Ie+?l*1-V)*eM18u9*S=4DSE{TJygb^slskwZ(r?*E^?aI8N*7ar$utxB=_| zcK|SeJHQSga*D(OcL8Dm>7P`9D&XANKjqKgbEk6t;`u-2^2Li6F4A14rKPz{LqmJ@ z##P!Y*RRmfT%)^o{l?9kbT?_Q(lgNCWH`k)|IFmfpDE9szkHhT<`tSNr=kCc^7A!- z?(&(1bF$~o00C#|&YYt=^Ro+Z`?UGao;&lW{QVJJymbD;<#T6g&d{F5BX0r#7tfpn zoTIsR@%+Wp%V~R`J$L@X#Y=Sbml?PjnOJTC#f-7z%;GY#_f7o#)6(ll$9VJ%Q}K01 zHW6fygbLD=AZeRS1Ll)fh5A0tKh2Z<)Yh2`|6%V>yO;hg)6+;*x>EyZFJ8DrbLmv& z+@F!BadhXo#qR6bT%h+%9${c)M(Y2Of00S@DW>|($In1huy-qY#ezLrl)a#a@4OXk9)3Dz$1+!MPl^LB3mw~t?~XV#MdlQRbG4LluNE`JVY zf#F~YY1!)S-&vHR9df^6k3FgbBcdx+C!On8BLa>1sV0)fAJu%mP@+SkDEe^mM-`Xj zcbq{^0kJXiowN0M&OV$4rD&+3J;5kLm*cvs&sJhk6FbA!SiJ(PP4s)=MrtK~0-KhP zg2OSvn5geP8aqix9H2J6RgQ`pP}#|Y&WS@@(szFdnnRD}fqjFQKj|7nu&1$kP5MNj zMO^+fz6vdENM3ZJN9&Hb@Iz6RiY##H6&uhuo7L0_=G=wVG>-tz~BJ zYWJMG2qGOhrnn>DL(NkvSu^veCex3p+c%*b=V`COCdV}+IX8B%WNl~}*{hkAZEWyx z@7i?XH4S2Ue5ms}^vM&fY=iLv_rWlOt#pI>()jyclfag@j;5S4-h@VznZ^omLI<{I zdZoG0TJ)$X8BOV3Vv$fI&-2!r8Z5b(x7LVczqs#LJ`b~3;B;81vek~ZVaj|5mf)2P z15a4lqv~Xz2@_#@eyps1$w~WMd6~=}WR}~ZWhT?PF;eCiB5|)e4VewMOL9Wp`KkKM z7S;g`;uLf?Ot`~wx^kZ-D~)`=@4%R@UiDVO?#`{~J2OSK+J58$r{Pk#FfyY=GLs$) z(+_i~g^%<_OImWm)QrkqwOn=NSY)&x`2=~t9`X-lZK_FTO(tz~?ztR+K&S#$lG z*dll5N0R1JjrOq|H*D?zH!!3wYb8?pHO!ks&7w`WyYRjmCYlocvd$A?ecKsEG|WPA z__{+=_i$C_TqZa!BSpv_m!&}Uq=3Ng+O2mw5b1^4rL1tt>7_>3fW{$MzIv@`C2YQ` zgp5HlCe&^2hH^gixZ@@wgySL);uF|sWt>(`l>md&BLvF?D6_-OJY2OGD zwtAkf(;(>R$vT*cHAdfEU%vABOvfzd!}pOEIrX3)>$L-5h52>iZqJ6o-o6@_vIhIi zR3AhZl{TQSFYyndfpq8e?1Logbsm31-=VVkEkuz$KCZtJT}SllrOjF66~}%{abpS9 zueEQEnwEHU2!YQH0EMqmB08ju2CXlr)eny96BazDs$M1FUZn|<&1D{@?sY-!iOy!S zS;!)+)3U!vEFMTSpHKJy2_R3bHeX3*;zIVX7%K|AR1{UHm+|ROpP^|8^9ou>97_%J z&2{Ffkp8ya0lbeP?0!-D-YNMAWNAN}Zl!Jn0SUSap?B z#&M0oTO!E{%_+5ZLVGMYd#2F(kWhFbMjzPYJBc%z%B)E%g@N(iQ;md>9`|eqjO0(i zfY!z5DswVORC&3Bb63aES4jhx_Ije9O-$~42N(}BE-JQeu;*#{gU?si&l`-a$ezTl z$UTauCq?EObvJE>$9p>CAaXg)>Y4WOGwroW1UQ2 zG)y&>j?N?wh*KZ~&&skot#OZBzLd{cwJVx+s^t1%^)W$D(dH@cKvxvCL%?FbfJZdI z4(OC+TOh}Z#BFLZw03PO6;3a?bX79Z_nHwblPPy(Zy!8phQ4;Mx)grZMM94vcdai- zxJBn4(OF{Zc>ZJSA$r+bnqW$A0-Ot>WYv-lH|7;5eOa!>a;LMQ#jY2TAi;jacG^(V z8kV>->rj`SgQ?7QYQ%_DCE^O!%3W*5=I!0n^P8Icj_?Z1U4(^t(VFkNOlzT|OH7g{ zqXVT|hm{)ZvYQ>ZU4-{%8mI?J#ELdtbERNbaE8SC7+gG^O@$LhRKT>>Wfs@k%{A28 z^d-7pte$ZAdXPC}T0Eq1o1@28j-4~@Oe#I83iVOJcC}KYThR|GO)|(wgzXeI(PF*K&4?U`Vx#da#L||7lQ5Ap0*)Rcz4VL4OBpf|%+0-qCB+(a z9$3X2wHY!G*Q_lm)|gc)aOUK(C%F|VtD3C#@ggu#!uW(Q&S8=>u^|(zp4;{Xv_EH) zdEHI$BCP?98xb{zV~A_i(gl@}3uanmz;wy!eJGUd&02(A5csOGw*@*Q4Qy0$+0ybE zT0>kl`r!n2BMB}pOzad{VDz;r$b z;ne=%)0FsR^oNa_!S$OQxxZ=!n62vmkR`u-un}4#9+;3v`PL8}i#rmmKdJiQ8+Bdh zb3HllyC>c%f9e=zoyDCsy=D~qK|VhCHV?C@k*J}+SVn{Di0_JjN(SJw*&Xjok{^va7pTx^U zYvUdrslHsxrB>0b;0J>V!JNBs;*nV@nG@mz17kQ~$@~~R^RY)wT)RFeN-iDO(K(TE za&w@g?FIXhFx^<6Q)5o9?2?YMnW!Q|w}3(ViT8vd9w%d8LeFq}=ENgPfT;UGKD zp$9@6cHM=2+34%_4P{t5i!@x54cFUrtVcJjbv7Qg$qz_`@{-l$O2mOFVryT&M2xbE z^ms0y-4(!=_|6~Bpzl=Q(AJciw%8XdQHz1srAD4{Y8ig5MY{;Ee0;}bY&Ua~8|y@J z;xX!h`D7tSn+m;n#H-hQl$aX*vgSolVMjh+rnVpp;l1tW#~g2oFHCS5c9;$fwGpTd zLt;Fi6100*T#N9f!o|!%W%iaRNhI!hLge7LGSz+`(vOljB8YNV-Rd~q2K&rugpFhg ztrbLNtSE>#uE}T9Y#V#UdK>`Zu20P&=DCZ!X`w7tVm>I}6Rv74huL(tGKRFNHrvdG zSDx&Z8E{jKfuDTERao?4T49CjE5vFtl=(4S{{=ucWU^tknj8P2^v(P1IFm7S zJEkZ8#Cl;a@~*HRGegEd4X6Lr?IT@{?cXh>kGOSDQdC0tE3XqKioP1_Qp-la^Fl$k z0cE-9u8qDjSAa?3rhBvipqz}lUYqsf=*Q#Y!1Lou9xLH=r!Qn1>-@gD|-T`nXh zz8{Er#6#n*iiZoGZsccrmFoCX7qi46JVf0^?Q%NHP_@vxnL4loKM-$_- ze!Q78Dz{>)V=pNuZxR)@kgm@w{J zzdYW*AlraOM3n{toi}S?_-J?)(S`3(7o=l1)7q9fukDrBU+}E+b5Qel(TkO&x`GJ@ zh$T$+0L$i|gVi zH4Xeh&Dj@mgL(|tafzweq@upDXHv!KdHpj-3V(Gb)xV%xE1A9kI5brDQAozdG#T<` z#IP^E((z!lvNC>OMCu_@t|-UeaJ*?;nl)B4QUgfk%oAYny`dQ|Eq5ouGu3Ef8t;xu zQ=DcZk>Qw-c=OwSoJHb}ln;-#t4oMJG#|b zc`hI~%Ho$6`vr=?B{|V9CuuzaCUz^S@d(}82Gcf6Q>xsYv!V+9H0&}A3=xisA^=5a zl*2ClRhwTbrhf3ZPAeDk@4fc?zgANVbokJc{`>N9w^Gp;zSnn@{$*$4sC{HP@cRG$ zP_hVRXcuIY*?W@snB(=*Fa3s7bwpvly6}ndw}X#^Hw2diN4}>PA66N3GRz#Z(7Zbg z9N3vEX>()JG5}n{DxL25{3p4@`?bBhTzu1oJWVw<+K_xNjBQUdve2sZ8AE=Gweu6K ztb|cC7PI1cgITeQ>X!fW>;8k*wI5P>p&#ZRzfz>J>FBB5Ze`z|xJuF-JIa-gr8#EH zZW_o2V{c|11=ik7tz4AGLp&*-{CW)8cv^~<_NGtkA&BErgPo6VWbSR227D)sjY#h{4TR5y8;sc`3x7KWjb z;A1*qsFatSVw4M67pD^7w$#Qw7<%_|3w0Q*(?B~H$j(ft36~MwT4a^7h`LPpCwP~JG(V0k|%-j z{8TLq`uJF%lGc|gi5UkoX1#iOhja=lz)!DMUvqI0r$Bco{}IE=SXL?T zfa1j&swK@=!HQv&P06C@I(FVP4D$}m0bhtZgn{#tlv&EyqV2q4XVd9__e&6&XFS4F z(N~&*r3HKnuNJa%t@@36w3D;2P+T$#&~?P!V{^#le56j>+H-<_PgynS@%dMC3#JF} zuN|zP`=vDDilu0q-6% z7)68uH)ql)b;jJ|N?O{Gn>@BsQZf&!oNqd9lk@C9F>ryf>$2JTo%3}Nj;kr#n0i0j zHm5;DmwMhzd&TpTMcq(us~YRAA(MG{$X`R@(jP)H-zGv2o`oL0Q4-!4fkK~%^xP|y z`P)3#<=>|(pTQA70c^wVpFKKEZvXWd&wslR*eX)yet&3{)Av2T_m|;+#lX<=7dKH4 zHPLzapN9MY9B}6K(fI|m6LXII8aa&TMlmwAa4IT>!8|jsPyF+y6M5sunx9gXqmOj$ zhl`HKbDcr63Ev(!YsK?)aKYrx+0}G-(O8+MS^)6GT^kr3wyoKzE zIYBoy6TV!y&cXYRB50=++lRhT?Pi&MIM|hUfs5EVZiY*lQDF>^NG@0}7;+WZZ7<+) zE&a0URw;PBs%PGnS=;D-<;xf{SJK)7co%Nr`;~ywTrM;t;gXqWi>u2mb<3o8CCQ!A zb;Vx5dEW7E`KVHJH%4a>>1pQvJgt~VWQ+t*kI$#PUwxIQzm0sj>+XR18VGWd5vX^V zI9F4iphY*95zd5eq{vU_!bb+)S6)=Nr&6XJwT0=5CvKgi=!;4?kfJrQWt+J&c*SBG z6!aqq^Sm16Ozq!L8YT34{5Tp2_o`*9J!I8$YL4%5R(Mpk8seC|Q|VML6u%MJss#$A zs~CarVQwX4L}w9h?xF*A86rs{plH;y`~3SzjP$f|I@K{i*j+CWx(OwQt;i0shvpdJ zFtO#nZ>Rd&4Ly$gBKV%^3NIb3|8Uph;-)sW&g!EJOAqEmjXOkBo``Koe`6Mtx!%LG zkb*XOwI##JYvlszJ&DOdCZ&O9tk!@^@lX_8dMP}ZjuqTm~Vn^KRPlA7wclyU$Hoj4tO*yvU&r{UPGbNsU(%Ph$ z!3c7lyr%E@8gM=oCunyFgQ{!nu+qhGq;rO+j&mwKdr9cev(?}=fL3WYM0Uj z)9nW~><0EkBBhjz5e07__Y`e;Efej-c-x=5b%6x~ua&|r{4C&%(B)MX0&=ji*!wm` zJ!F=dHn0s1T0dX0z;HLuzE7NE{kbYC1^pF_E+3eSA*XCi?e9ik8{s}FDw|5%07~DF z-?thwo4^ltwUdL~o&gOPV+TsU*ekIi;Dw0sHNszMI^H17xhJI6uc3Hg^P3^ zhT{w#?3`;hBn?KzYo|R5;dvfV;45FqR+-~TN6bM?4gR!kmLKv&%mGoZ(ZlLk|2%ywU3uUjV4sGV4>vk z)sdyE(?U6Z_ch!l3ss%99hq}2dC4k8F2s5q=4-W! z4ue)%PISUOT;mdFa6JY*+z@vnAt_SunxZGd4)=MN!b`pH4*gR6Bo&jF?yZFM;o?YC zL)*>dvcOK6!}OE8jfkb3dI74WfnlX=R^PN< zLif|={pG1_cdg1S2X~o)9L5@K?EApD3=PrL1EZejr0R;VPis&$wUzx|w5}JIbg^TN zA{tV4O%4eSsOJ86_BGNl2p?fNvSc? zzC(|)(o5DiJD09U-y&p5NE^e8mD3rO>Wonw*%2{cy|8jBt{g;hAwR_cx8G7p7KD-6 zFVo1>F!_0^d6XX8&M+T7=Ll_&O~B&~Z8 zz9kl;+(goJaB`gMrg(9CPzZk7v@=ChxA$-HMn9Vaf`M!Y0p|f8u>t>x(1QLlEgEFex`E9L&-u)_gDI>}taZ?URix z27W`SJ+h-#Bv-i~aVG_0F&1hUHq8!pbF2=$_JSZBTl+*VBjrQkp=?mO0VX&~CFvDe z($dG2WN+m^_8aH8V1)ShXI#07ea|kIO%$~YE!7P4VUXW;gi}D+=i`3-?<}+$Vg?)Y zcBm#f0-4gOQ}u;6-+i^3Cp_tX$PsW9I4R6Ul5wsW`$1^^}0~0kvS`NGMWt^!!%muAY)` zcf%18$y_6KcRCxDX(~T&)PM7Nr-zO5wl zYFx}y0q69@&LF0obtnJ3L~r_xHa&WF&va7imOG~T?dhRJZmgYz`0nV;Pk=ykQX>9PAsreBN%~N*!BeMVYfQ8J6Jj$aTi2 z@#nE={Lg^_M=PnC_t~SRQx=Q+cDIdo`WFrJ$h^lJt%Zj*VtPzMpp6FB&wfAIk1;W%7U9al<$gl~uI7Ay6M3EzEU`2oAK42d8k2lQebS3O+bi<+9Xw zNCzT_3%AI~7Rg)!3BBa24XQWv1e=MC=hW5h6!p3buuIjCD~9T^hfle)2xCxA!hHh@ z$5jSfesbOqBOZil)x~obMqY-N=4k=`2|z?DpNG$a zOu=LrkrslAm1NeKCOXlVLeX)GFaM$IjokB9S%R${9cbc z;JWI1{#dA-^+nZNkz0b0(T5fdcMI@q4W_6ZxRG;`v(X~%Ws0Q>f^RB#|LUb9B?E;B zEThrgbgL4nPeGDdxO;S~@5Y|F!>5pqrGg-O3%8R)dOtISVxlPhNTeszgTC_Wo)0ai zj=Vl4d$OH|pP!?bgYc3A!U`>LAShFI{=L!nr~@7t@7Rh2)S#@C691Tses5Vb!P}^L zG3}#qVyE~B;7qI6>wosKR}z15%#0uY(QPk&FF6r4{}8;*{S#n4{u5w34mh(o9Q5}* zZn30~1$1kdf5$FgLs&2$QS==(Rj=MnJjTusVlbN`qvDLX_S`lGAly&D7fZ0IE4<%g zO=~g1X#W%7Iw(n)uwG7My~^k5B!5Cy5Q;4Eh19?Gi7GE&bLPe6zRY|g0Cc#gw5;9O zOyGgVjKUsav7|}tsWXdfW`)3!Ft}z^tSwOF?VSr}7S>1ZksH1WijGDmzJ&e+z~|mo zbm+*R@>zZY{@=&Nq(6{ahwXJ(y|TV=X#KclAPRLdd;0q0l`)(|;7(t0D})5|J)Pj$ z{RJvvsRMo8epU4IUeP_M`1ZEbB~|E=n^G~4?qha#8}_v8pk-oawQ16{Q6%j83oNvb zKQ-L#34}kY?}sW-?Dkj=(g+;|>-pHHdL8yyfYdFE^HlX>_Y8)B9N_cMsI|il*+XJd zJo;-s(?Wb3F77KLZdel)*VW}g6=XxwbSl2rzAGQ9MWJZf*Nk2~j2`ddMafC^IAvdd*tB1%+RiFid8{R+?x} zz8zVUZf;^eNS86?ruep^wM_YW?S0XlDOPSVbD7ZUc&v$ow z!{5qG^yrgIhNcfDtp>s29TPE_ln55$t3Utpu|pwNpPVarwab0J-y-0PSzMTQK%QQf z%KIeO0Wq=*02>OK2phHcZ+fnqtkl7o=LMW!gF)eCqI1g`2rXwBqn3?in`!7QBn zz=ZggkmbsQ4eA2(s7r-Ph}^g|!674c1DSoj6feE2T?$8cZ%_m)L|jF|Fc_u<8O%IV z@3M^8N~If1Dn{Q%=S@@tHGf?1NLuh>qt$n0iDE7RUf zi7cy!@im4)u3Y0$n^eo0FkA^$k9hpJ%OY2HOwnP7BrH2B&3x0;xo>Ys-kgvgHN%(a zC7GFxu1JFOnBrR0^GWvQ;R4<=jR^?tE+=}o0%9&}YEkf22;|W;TBLMhym_R?T2&oY zu(7+D&U2w}YM{u2c=zDTleJ*dzq z#C#Ft+p<}d6q*t_KmB7f{FH4G9UY3Uc%Cyq`)H|E{n;|!6HauY@Jq~?93c7jk$asj zYh^p)ooG7q{aG(N^dUGHX*!`P;_I+=)`>$W*Sagk(Ph(noSquz%{k5U^3IfJ)1_O7 zZ1fiKTi_-7cwWnF%-CA*-E{AXRWyS|cSz~WloGVa-Gz(J7QV%qu3odq0z+t(|w+nm#!u6ad1{%}`s#~8e$6r1jFRI5A6!jc?L z8MX~oTr}Y|cVyD^9a;@^XJOilfPwJceD5lrPrdT|M^>Yyz{Tq^TMMb|AMx(5G$Rwr^72 z?}dOzS#D5hI%i7;=}C{OpShcG&%4e6Pg zS9CO5Q*}5~5ift#Tn~0d5+tlo-<9Hq2}>h%+y!$kMO?<8#U--J(?%@PO=1(Twz`7D zE0S55&=OA8m{F@96#LBi zJBw4HS;JOOn!Yq&Zf*~7wf{{3fm#9@;sUuHQVhpn0 zn-9j$hbCD*lkQaepi>@hkd3dIVPhI4)Wn_ckWY&5*!w-Fro>_5+1-NkJhsW!pRTqx zWlFQg?<<6Qef_pCoE9OHzJ^)w9Ormfq7^b$$HwSjO#tIVah0vfc84V5*4vKs=n!Rl z(Yp5UF10=1X%OyJ`ZJVwV+MAU7@So#5RO5J&piSvl-mFJw9cv16Uhh@*N{+3OayK+ zzeWE9ls||yF*K9;99uPKa`Pu(&y3FH_x~`pY=!v=xM61Z zRaNB2{_j5T{^?#)x2SX4OY-1jHG!__!Mu)JW;RpiHN2Bg(i#m)OC?&au z&O^5e>jpbah2^+&gxy_CpRbtFkI`V1;cj55!KkCE_?21|j{{p582*t@Gy2_4!}%Xx2(+o@IY#MjRL?^CnL>k>@=HZ^;V zCufzFzS>-#o1s$Gs|~X!BvMaL9YzyMR{7`$5ClyvEehoCbF;_vK2ICUV|piiGK|go$(mA`tPqG+^t^?UWlLA9h{F_B&TXc@gYEZC-!a*%z+sTX zH3R9Hh|w5{oFZ5^ZUT?-e>fw>%EDOOFJ!R3RC7F>qja&pRr8Chd8}klt@g8Z+tz8h zyX`p4dhnK}X=M%4LW-3ynr_{z&IcwCyy8~e(K@5a*lme2u=<*ol1dPUIb3+grEUAB zFJ`Spgjk@W|0x}qTUxRO6GuMPu$U)Z;#Nnc?r2ybD#+?Mev*1{c8*P4Bx82;j42|C z6y^x*;M>;>A=ijYi135xlDQmH8XPlJeR@sJ#=1>km#T}3gd*oF7mA4t_Lmo09jA5k zG2(%s@U4*-v0l3AHBHP`g>9I@fk)rXA|+~jC&2&rM2xppnOdf`iv1Ie9>`v3y|PSy1k1BlVjcZh7sv%x`P9_VHu0d*33G!oc9g zV^X%x(#obXnf2Rap&nM~#69{Ux2ZwdHHtxddA5@o2})siy3eLRU@O66)Mb%cxXHAb ztK0U*dHcnC%E)wI?-pwXqWh#P$Yj8I;^q#E@FKxkD@;q$ZGewx5fVmMGFqzBZZ6t- z*!j-YyepBpzOh!@RkBZ+AV?}qxv~ZmX=q;z&!U3CoqCvnWX_z{i$WXLIq8DhITLA2 zHT5mX=AulBO%R~?3;KbQU1?is!N3Qy84{cc&yBKFX|_kmre)Dhbg*iI-NWhMq3N*1 z`9huR=IK_Iyi27B=e}iCbGut7sao2o;RZYPmY*U@Z#VVA(Aa zN)s|aUTS#VJqW~&kTt-Q6eX;K)k6WMbsa}$i&T@<9BJTN_hz5;lqV$3aH&poEnFd| zNfVB#LbGBn6T|~G7Q?P5n|wV%cmSMzE>icsAm(t7X$6A;djTm(|L%RrRW73%t+0S|KULX55Qw* zC%?pbzaYWleI&XTr69^&7TVQ2Br@eJV4yxoye1>ek56cR`_072BS~hvF8Y z85G_}>&Zq4D85!Q2CY!e<#pD>9otAP zi*Jg4PuhF)^=a&dj{1(5%|vjE?N5M7L@~+;Nkwz&JBcGfnx5BR`W^5wK8LEqcz{59 z1AgH}3NLUhW%gD00@=F1dm?Jlzz}1cFdbDMFq9Bnk{mHe^5$pWglVhuXpNO)bFx0x zq!SXJil&i^D|bl`@UG|x2ZeyYxN=*febDRaEqrAUK~FzU!s4CP+uetaVLzZKalW z#U{<7Y|KmDTxg;{V8NhL!V97N_R|Lugqg1>Pih4D@OAlEwq)NLQ~NL)NWwkZ(QUx4 z?9jza)2M~5h`I9lryG?N&eV7bjysn!L?g{W^oMwYaIO`VzeRS-8baq6eLZe+AUA5t zS^*qgnw79`0J8~62G&3zB|~_PYF4@C86J^NzRP`s1hH~EL@nQEH$F~Yg{QvmqRLg~ zZ9zAhKrM9F3hQ}8T5FWYyr>TsN65jZNIXVcUx;?6%Ds*cYFg0mZNa=ckGWTAcO)z~ z75{F17dRJ=P7BzTvy+a>GPkZOe6C4%zdkLn80+WOO)^^Dy}R>^}8-H<55$6dW1f%{;X<#sgM=7G=M%S*JYU4+f zRpO%X^r+Em|D37t+x2}zviQ^lmqn+Od|}@H+sZH{qEf`&Y%<4Et1c+tSx}#1p~cI* zOTM*!N3`X(pFDj5j|jeJmYT@)#i$2Yj_EGJih{5zJb9dxW7Qd~SnT z@RZER)-^TDV>5iRPGw`gOO{YyP_f%OEvELM%`rsw`FmeF)=ZW@nepl1BJBC1@npwp zP?6pE$$;R4?VDfPDQxjHy8c`|k}M|XtXt2(fnhEwmxtNxXR;iWumd@pd#9Tj79<>` zO6=Akwg$>r&kDj=+mwzA!!$B^VX&#G!fnkqq6qhIkD*swkv8d6Bn=HO4;bGZlB(`3 zW3G>K2D4_;ZT9vH=1XyuR&>FB0^H{+ip)8;Y(;Qtrq-2;0$(g^xW7fn6w1|EHK)i9 zGJzW_2h+}&rF(gOtgD$72(25IaEpt5HT>!)AfPWi#>qE9hDYq>xZtV*ot(c~xqR`X zMzkk2T_(o={AQC!)4n@UtnQ^^V`skYmA4rMe%ZHc!kTXMCltBmVR0p=yGHnml;*3m zGB+`c1q;J-%*#f6*)v1wdEexdEzl9o4cpt&=kO8X2v}`HHCt zZw1+Hb?AfTLWG7Ec$TD6?HejGHroVqC$pWVbke3wkZ((gyXCwd^Y^5$P6fsKeKlrt zEuV$XJG!AlZT%#-G^+QL=6+!ku?bzF?SF`>4+LWsvr2YA?}vkEG@V^uLfr2bWm#Wf zGpP4mT)r`d$T0oMebn~iSJV1dXN>#v3uD=*bfBZt&(*50G z`Ezq=(^ZbGj;=JP=3wT=BS7dBd z)F4Sw`+)WGh_h13^%?J7{qV7xq)$#~O)W|1VV1mEsVn;nqwaZQI!?7@X z`*ERHd?x!$^5Mlt-+u!58dA6?47}Vp;|f&~d3OA0!h?Qf!Axp_M};1j%K<1e#G#RH zY1c*A)_yWzGhE=kfwQ4=RDGuWQx!6<-)523%^Ilr6EOH2zf_Nd^Gv*9e=p5c6C>MU z;=*M7tV(Dk#WRHA4#mShxzL{FtoRf`g6Eb$8!>b64GPw|df4}e8XLKXjM@+S)E^38 zBNC9kMn{c=dQmT@sKzhg%nd`6&rBFtng6U6Ia&=5f>k8DHJ6TCl9Q#qH3Wtjm6!Wp zE?7cq3~OE{m6T@#;nUJa#WX#PJv}3z=dqa7WR|l!uj3iJN9j3(Hnuop*@WX*%sltU zXSEUD6`mrZkxJwmI0gq1m+xxF*crpQ3r^7H!Aux?2H>#*%hH!bw&x@9TFK7OoOiP+<0ES2uYBByMkc?#!O zj+flFXNW=m0aVPi;BhHgxq5V-qF70S8ygiPsxP!wYkd74;7ZnBjY`A*;c9|jQ`TR{BNGhJmqAXS_&1jNPpuTSx)k|dSwC;Cd z??@W8fMT8=(;!@}8=aoHY+fx%>sxj?B7 z4lcmo?Xq-B4L$KHkDKTFEqN8}jL-P%j>;KACdX1hcSnW%wMz6}q=rt^xdprHxZ{}; za8MT_Te;cnUPp_BAb*ktrF?`L7G%9=->_(z~sRXGOxEk;UtJrzeuOjvDQIcWbF(jGv2URu*9!N8*I|^bY?k?SKAg=UWsnEz{W>?FA(k+ z)E{g1Es>_@CH0lRv@f!Mt{{9VXipEWst1DT;GJKB?n0kZV8CSubt}ERq)eAmuZ+Ok z8V}m;DMU5+X}GejQatr<3k0VL(_a%Xww`?P4u#PQk*#R(Ro0`co^PTvtl6^YZ;wAy zWuT$kCf;5;-Gb6|-Ge^^_U1IdwQEWpv}xSZEGo~wywbCdfy1q|Ugi^0VM>FkHA+$Y zGd3U1>T-rS1i=pjuW<-MF0irh*SI2)EXO()^kWUoAqc#?Md0m4lsdFf=VH!7Ka9~HR(%fy>C9d7{A~MtY^6a%Yq&| zcuph1$)a9*m=;TqYK1(H>{t6d3qonZWOH$nKckPlysK0V0dH8W4MPP)UZoh<1^h%~=BG(5juWV8FN z)iTUX+pI3CBt?C=$x{?fpHQVj^}VxiNnuZi0?%R4Eh)M*e}oc z?{~L2YdPz^OwPnBu(G(2)!G+~?J7b$T|KONvX*w|7uKAm33Rk)GowkVij`D3=y49a zDO+?A*0CA`)0hJCcX}xz83}kKNq+59<5+FltTs_A>gh*+RbFS1Y<)gtWuR2W0BY{` z80HrLeJ2G(noL}+#4m?*G~ZC*4XQb(7V~j9)9~Cu(Rz6BmIFjMW!0gSlo;KdDoS0#g0`lE9;Ms2JcrB zN_zZm3+mDn*QWPBNvE7IyA}R0%3a*U-|V?cQ8w{Ity}hox!Yh8U*j&kF5;d+fe$<0%zUxi3U4~iU^ev1i`6 z+5MflF%dgjL-BPJpOdg!S7Aek1k$-tokf$u)iDGJ~(TtKyzOB8ZRmMerBx`w}y`9bD#dKLIlu z?Y+QJ+T-s=YDF4p6ZUxC9~PHs5MwdE{mKwYhKN~LCwqQf;U;g-PPo4$4gM~37M!)>O=H#y3sXza zNS6C@L!lb&izpPF2iU1(@iyVd3cEwM=wL6dE8YQXc)VH$ie?S1dcIud5-`m=C3sw8nlwrGwBqo9Eg1(Pgr-UOg_$?(Z|L zG?+FX*~)5fZm+s8-=FloUVZIa0o=%)KB+*egmfNrpDkLWdQ-IOVRG@vf!*-|jDHB5q$_kOTm6-H>HX%W+Ib-t$q`G{I-h+a5&wK;EI zEdmW@J49$k_K3a6iG8NbmScPeL)FHxUS(fP^O9hV&L{LK6rjK3%yDRy(zt; z^r~OhTHkNKuJ^oat-bfR&)MgEzcYVLGWEIVnR#aBzV7RmLQnvC<-Q3jKFBwD?t^Kx zI`eusc`e*iHT8S8cAm-|zHlw1N@7!YMLoL~Lr#4Z$WXA>xfe_?@DyKOi5D`HSM*^p zRn2J_$=0jQlOC-$obp&LbC9UL-noAFeH)Z(G`F|x)y{X;@S3ax#xS9}?|T!d>nJL~ z3s_H5{H$ty(x+?0@koN>n>Ji^iEg>Bgc9ZbfF`!& z%}3vO>HK!l1g@-ZV;|jn^rv|mc?rp>K9zRiy=pm1iSuZnU)Ce-*80tR0^VY!Rk)hw z78{iV&Zv_Nhr9(fHv<=(GiKV_&I_WV$?Z}#VZ5#I*_3`4ZeKXBx>W?2a@^pjk2#0e zccC-HY?a^Sc;D?V>&ypms0CpVU8qTe6AWierbGcs#sA8_0@3t#6LcStfDipqAevOV zF64AI`{RYGiZ}*40St$K(m2UP>zheTSgy@z1-PT*0CWv~gMTY(`M_w+rJA9YJqI%= zlts|>v4d78!u|6U zwTT~yiH7b_06i%{@ko?f_Sih0e9`}JKr+|=7f5DZB<^kGB=M-^qddk(dfGgyDTP5z zSiwQB%i(o~N<7RzImJ!URFvjKDpeHbB?{Ah91ZF=ZC>FoDHElRMxXnNU)k~)oL==e z!gp?E@dtXirMP=>RZZk+<40gsqN|X?G23@bO&1%${(GXrFrH>@k_r(re~Ib~1e@Ql z%dy81vHSIx_!r85n&w|uB_8}2vzfb5U|5V5hp-Gfob!D$NGBstbyfBDN;~FQ2yTpb zqGLQDaLW<-T3lc&7)L59__lZ)BcS$Cx2yaZ+I0xOqu${_(z1#*2$*;F@mDh$Fah{d z<@&kC9xA@vwlPo*p~j;xK0-p?ZRmzgMtI=)b{Ht%T8|hS5)IpMxR{B;Q z@CAf1qoK6*qN^+*7r0G1?xOnG;!N)nYx;*03yIT{4S%QctVza&9gF^^k+ye*3SBE; zN)&|V%7=#QUrX1?(QPp(=HM!+Z2zX`lZsM*k*H$J$pqCr{m! z@RN(F^h^>==03PYo`jbskx@CWacp$kIwOX+P|HYhx<`RHACO0S_-(S1CO`{Q1zu~es?ATS4{^Ioc{1N zqp_ZJ@~T{xTwr`4O<+ zB(VV{ae4?1Tw}E)n1`p5G5+{H<>4;{uFE}aRQY%3NzVKQiXaHJ*!68KeS$bYsL9X! za?;S~2b-3mH4|PrT_ulQd;-7o0C#n^iifn)>mWLM8daZhBL6~B_a6?_6w7DdDD!4i zcz=>r*z3F^{{@YvNSnxZEHIiedoA}^dB5~68Cj3hvwzjXIcs}Ks?b$KrCy;A?hRLJ z^`scxW7Jcxg1wc)w*1{WIR&Hmz+rq~0vyZB3)4(cu`!GI6$;F%(-lM5Ya(yjX4^Zn z*yldX+%TjfY9i#%(0I(51$#9uzJw5&IA~j^Jng?(GRprYVITrmBDZ2f8Pnn1o>CuH} zso^Jg&N)6Sd`q<|+}Exj*xMQq$$EM3_L6mBv+ZnC8`=ME4f;-~Nd!MhGTMUlDn&^* znwlqGmJquClWeM{h{1$3b*KTP>u4W`=zK?@S2pPL6f#(UGv?iEMe*N#<}YmIB|;%v7atcs28-tBw;{FS~C?hZZ?C^g%2kn~x6qh^)E`TYDvleg2e z6#}-@FK|0bcOrl_@r|W#D;4E1Nw&7uOp}z4Vyg|e3{Jl zv`EyGz2yy^mFU77>xBvbXm@=!d;N)^uhNjk+x3{e51W@tHB5>Q(&K*A*)9(W7f-Fd zA6`knP;l1!L;W9Tm6d?3N%?+b5qsmwR^QyQ@s0VxFBK`guU?_l58SD^KSHjC3$WdK zbRo}!I_E&@h^6U5=r5^Pb2zGrvH^NUgVMkh$kwEB(hWPgk}=c!-v$y01}-%!P1I~= z>8M1W#_OIp+HZCqYXVf=Q$rRl+%?Pm@mcNqY9d3VLEzI%8lT%8C10X6R%2pJoJhrM z4JiS}HH#d=@hUw6k38LyvfXVTuE^V>K$u=Z9K}zvcd8XJ=S+fMNW===98WDI2QMgi z7Bd+g=frDl4q~>)ZSqoFpm?y@0|vLre)nyNwTR;~Pp7k*>!Zsm+u6~T33n3VnO&8; zRpd(%BN(qXgJMD7#v*RV5M34r?Kd`#mbABKj8ax(VNodmfr_wr3nMrjour>nHsR8h9z+*u$9b(2BKEMLmroR?r>br*jmKF@`Ig+_ zvdqvOn2y)bNwOzG=n#gF!vk}lo%ZMUmm`CTwnsJiff;a<$V>hKsVEc20wB(+g18fN2jh# zUD3r0NC|EM2cfob)e*ryQTjO$2nX=1ah%)-6r5bHl_N5XQ51P<5LpZ>>ui~2ie9q8 zDw=Yy#8zcBRe&@k$0b~BU)8rlCdw7wY+Rx%C@g0%aC%?lUywtx{<;R<)=GEQA$()Y zP^wHh5j+9q<%MFr1UqU4H+8t@>OEnc+|^I-OfA^Z z;fIZ&z#qH;nV6m38{{|qo;wlf3(uC|K_$OTo=@C=d%G_Sp+C#UOwP=E9a7&tI6s0F z)IaI#_(^8Q`o&~7xUku0jBV{@j$Tuxcj>u7S#sz}>S^@Mxt3p3f0@A^j>*F=dtYSj zep|io9uzn6Mf&A0slW7uItq5&JN=eibD2eb({)?UpZwmg9>456Q(~lLPbGg%aa6SR z&ADunGc3u2OrYM7t zvGyPU!GXiZ6kQNgRl~V4_DfUpzxOnPwTK2#YzlR0c&iyZ9-F9N&Sb)8v_^m&Y1kOV zI9}!!rPq&9c%Zo0w7L&_+>>_twDeP%H^$pjpbjhh5`3*A70Q-i7SShBU#tFh;$Ht( z$GK$j$i-XY-=I1iawN)y)XUQ*^O7|^Nj5CQBST0rla7QOK-{{3#h**T3C~jEQdmwH zPntvIO*ptZRTDVvOpMm(?1UR_8ts7WH>zm&6$>DpHq5*vGlc;Z<5UM8R@Wa7;0VnJwieRNJK%;Ug1Q;glGEfE zsHN9Rx%g66JF95Td`#aB7ZVd`o^V2OqBDOkokwMuB5|v{^}?F2*tWRoFktx5cyzDb z0RpdaJEG~g0Y^us`V!AHRD-^)PQEo$81ar@G1_s$54;(`{-)aFG zup>29Ep95aKES<#9#jd}cnzoAb&YQmn&g+mA}8jHd3V)7eo#Bi9 zX9kBR*@eS8ugocq-=j(3pBXaJk?o%aa;E-6}DR(E+i4;Hjt!Qon?$g)$^NN95?QJP0m`$6X210!R?tj#TwP_%PXpY6|^* zov7JzlhpWmiG=SnJ|g43{xx%1E=AKdi2@x_>f1D4DQ$`AmiN*MZC$L@S-R&q3YBZF zy;(wUl;2Y;9Y5-x-dbWmH(ZR$ywcpZy>_JU(!#T|+I4M0;|Vdh1L7wiz3N8s1f?O4 z=Ml5GeLdW8OS{?$EVeSb$L+4v*~Kyq)P-_U!NUuB)pWV4c}4sDC!Yq7PRaA~oi#FvLzEw4x8Sa|0I&W4w443dVX8?6%uDvZTFBj)c@3 zU9z=&(_U-9({;lk1XD5XHtf1-5sKc-Pm1=Mw*r5Hx}5W)ekQZfQZ0x<#TU<4pZuks z46;I+KzqRxi-Ix9H^sNZjAv!^B3<^0;eHQd|scIsq|g##<2Qj-%X5 z<7#R)P1C-?&uo0I`*ju4>Q9aiewzX|y~=g&9Jg=934-)YnHicJ+C@zfO8(URcMJrib9)R%`};0 z7r((dV~H~UamC%y2}07Mc=zrNK~LuUjTPS2&VTfAS@n}&o(x8yzWQkA_B@9dv-Btc z+=<(O&d@aiy|Z|dw$&Zj=Ne+(A?C(x&%^`TD1hzr+|J##hZW4#6BKl4v4`6dL{J?4 z#c{aOi+SA#I8n3M?h42Yl+%OOdGL%iSHCBNbt@t&6Zv(o>4*+Ne*qi53r^Z?XQD6l z94zd5j>i~E(nUoaOXhwQ|4;BC{8zgT`66n zhB1OlELYQ$D8(q|WO4bp{Z=-I1e!m3V*l>JgvXZdF{0)a8w z#U*t(f3|DsM{+|?K5(j{vh!c$-Tx-Yc)pO|9JUzY>rd}_%3p3m)Vd$2rNSjv?9<6` zA;42vqw?{{(`0Hh$9UpcQx`loUo-t9;41N5y`Rg>_C z!o%(rv&5X=4Az{?Wwazua}h_h&erB-*J>u13-Xgr!n+(t93K57TOa;_(r?w|Z4p$_ zN$OT)c^7Koih={G81U2&?##sSiX;zfJ`e%gE9a&3rwY}9fNZf~j_oETnD=PErQsZ- zWxUalfl^~p9Ehv&c7z2hY{sUwts)8tK@j(}`91c5fq_I4kus;4#wToRHS9H&L|PAn zSn*6)?1NNBmRCp>^*l{(^i$$20c;K5|1KeI7C+ChRb3p#04Q~RLArZCgoml+$mp{- zn6F?a>hG^0G>G!&0V!p`o4<5NpeOP}XLI)QfL@h?QRB zUz`-mDdpUbta*?--Je_=eG=Q78nTcu=HZNwr05>LJ2N@PCGH~vJF4Xn)2f*>cP~&E zg9=0@VAstePrNt_+oE_^4~66v7I11g+9rcFyO8`XV{ex#K{031$RaxLWY|dJV5no& zf{sJUhDptAk`GVACq>X`e0|2kNt;Admes8-t=9|lykbtY$#zOnz}(Kz4;YY+^oWoH ziH8uUUTdWj5K{)NzZ|v7N%zpQY-l}c-L3Dt=F10sxi!|9OwUhWcLP#`iVnbG?;S2kYVQTJq@<6;cmU@FO| z`&Ldt8DnU{nZsmwO18JfmOz{H<1VwLEQl?njHnTiXAVvn?*(LoBZ2_Ee4seisc_Dn zJEdRO#5<+DJdjoK_e%BoDdH`;%nIQmEV=AXO2q7pfN-v%aTPx=)9-m+Mf8W-{(xdugex?-pfFB>#1k{h@`n+ zr{ykAp>W#^Mldb1+Soa2Gb%jds0q@@yFwK#C9&P0Yc?RHSFaCx6*+M;%$gDPNY$wK zZAW1$Yq`7eW-S_k#(W+T99Atq0!=nvuX;LcH<}y83|T7SFsu~9-&W9Dp{iQDM`E~L z3+{$vYe$EgY40aISp9xlgBd4e7?633Y}&My*$$1lf#uJ;Fljx3>E-y9D2+pNUOGP5 z7MxUf88Fz5d3blFP(*qegEZ(BES#_8VCZqtlMowG2FfRjmIAXSeR8#Ew!u-r@<=CE zK7**Xh0SR@1mk&PsY=Ce(-f+I)+A!6S5{8bwvfwISHjpgQ%iZku51qGi`^`_3OovE z0zCoxn5Vz&Yd5^twwh7ZR-CgC9%I8w@;M=v-QkJTk=Dws#-xL9!0qZ$3F_r+mYI)B zzx&@7D?#gf$}x3t6?zUuqBkZ+^%L@9PepBn6(6Dosj$QsKwxyeO-JGa18EBoC^*ci z%o=FJ=*c2L*>I&its}EYDo1kiqY$qC#y(I5#0z*CcVZ1K7+Rtix zTUX0Gp|cA-zaUzZ=|F72wkyf(wX8_*w|7>!zVHU3_bElF>AJOAs@pOV$;K{91NTzg zt~^Ps7taO{H4xz7$YF*R#>?iQp_b*-MGS_nn7V@*|4bK!Q~(4bwJu+Z#aTYj}o z{ZNPlJ^b~U;>+z+0GcO?&(MY7c0qa9t=g-Wwa}MRdt?roR3}1w zRVW9EZ8xwT_j{Pgc)NUE#b3WRrR5v^^@4G)v+gb1>cVhh!snS^cfc%+imcUg%da`l zHV&`sKzyCGusAs*)m&yeK&FmWGoun;6@+6^(D~+bkDq2* zvc^?&4|Dz``@48EmKd1xRyw8OHe`co?tSTdBi3K){58(Pm9xk4wZ%gyd0eXfxy7?G zd7ZKtjq&(3nxABU7njviUzPh5x@<07%F)^+#xVuE2o%pu6uTQM6~P15Q@c zCqkxRQ9y;w5+awo8UU{ZmF@@S9ouC2auypY7-X*uSFF;tQhfsKIta|$)w7|s@Lbc& zZrlxe!8DATk&!R|Cd=qx!in19H}Nk5*Ke+K5+t$5EkWzQM5*JU$I;(rW&e+q_%FhL zPH?;ron}^7S_#PUe@b`w_u4Dw-v{%9%hx->l9`qscc`U9pt@1|t@+QA(-y1RqX{O? z2{{MttrU|#beYXXuwPeLw6*9Y>|Bsvd@Z=E1Q6G|kR__aiSZ3jH>4huN#|q#;R)($ zs;SNUml^i(R0_3^^6YQB9mV5vwHu?RYF?o?Oa>y7pxx%Fq1amE2&$>tSdg3x-hL)<@0OPYK?;BmR1_&brYm?l ztTawRYYUyL*k%M#yOzr^>ie=9OJS|0b5&QM;|g56*CX4t;9yX63b*n_`rKtNy&+(Ict=(A29{+BM23 zNi(%n1d&Vr)%Pje05|?ZIo&H z#ExWcZ?Qvn14hPKQHHX~g$d%49vkNKPq2l|ZAYH`sz49@EMY)Ht)v%!o+$(W^O{^B zbH}Ts8FhOh_vQNah_~qcxvE(@hREp7B)w|hcu;Q5Jh19+Lnbda=S8n+L1cH0%0T$0 zH6@fAdcz^F+#?MhUYLjB#A zEZ(Z9asL+E;v*nFXZ~61$ZOydbudDz% zHB(OcrX)a9E|^J9T@Vy`7AD=Kp%cHI)MK<|U2QUR>7#AhRe*Hyi2GYzh9_p-{hY+N za(C*2qqXb9H+oiRQdFI28TG1w2eMW2c~L4APD%4lqo-4;kxux>gJAG!xH}pTs1-3< zi$l-~CU^r>0sC%l%-t`d9)V~NH*+{{Km@o&>^KskOqBW&wA$<-pyC>j>0X#;wz{0=IF;(&xT9q|mL%r+kO-p8x4KDdAsJQmK}9@1n8i#p zbY5Um2-tzLbu^G7aB>uK`rqoM4pY-pbtkM0C!QIHKfRs9`0_vadxW>%8_lLw!CUIiD@YF>i`?;dkbw z?-e=!Qr970-FGVOszF-pd`B=N-i;A#2ANE7VaSEMND*sR82hURwqEBc#x6n2m^3Z( z(l;Z<7l+rn;+SW`IOO9^tbt%4XQ5lQ^9yl2g@u?gn}n-M4886UX;(Y5XQ`h(uq5bF z&5yBDK=qC3JJ^gm385e0vGuMJxvA!{V|m#ZJCdN2mSa~J=Ht^2i>$TVKw_d|9HUkb zhE06p=Ths2c4c`9Lzn4Q*=fQrCU=5CfG}a^S2Q?EkYL-xm*OW|yz*JMq_y4XVmwgg zr+H>8GG>&#*UU8YHuuT~FL!0Y*ntHFqmhji?ey53pn!_Y2t{_(`<`qC_57NYp1vb* zt=2StEGKKm06KNe<(;UW?GDyvK}eJyGTA#g;W-|cBLlS&S~xnDoI?&Q_o{+=gE|#W z=POsg-YXiR;wf+8uyb7^(p6Pr8>zzFH>^d+r_KvZ24p5`zd@7my(xM{WGWr?`F*Jk`uh;i*kh?&RG5NE^= zlN%Qno22Hz!2$CYRp`ixw)81()Wl>^v7{s51;g*a`3mM7H1~o0W1~Wn=A*%N)!S~O zlrJ=h2`(z}v`$Yeb~IhDWX7~eL9eb}9Mi&qlyYi11%*&yYL8%a4O+nZO*K<5%3*+d zc319LhOPL^%S>?w+NynB70KOV{?l(hx8hRW6C3&jT3unf(X$^JukuYQ8EAMS-d3@z z_Qa28PoC&@a)Ixwxv!gdR?Z3azP27|3lVgm@~LWdtLLh)|GXp^(HMw z+w)#ijh`x<9@}o_@(G2$7!?N4$-15kg04raIDpo3c_xeXjKQZuC2!^GqFv9K;)@gW zcoF*G>AfPi$77BL7YvGq0k-0W$x$kL6ZZCH@Ofn$-i6NLUKK=KTvFRR(uI+qdLn(^ ztkk!ZstEYtJ)pi6vZX!4KBu0+JOWDMzwmb62W|#}a0>ZNv)Fd=9Qm-oT_$mO1?O=3 z-~dnq{V=?p?q1rg=1om+B(bEbK6fvR7j~^v+c|wPWfmXLPvbC&bT^RhyZ6=DaIc)W z<075(a6+E2QsD?Kn~m5{bw-JaP6jhD@+Y}~yaW6fM9X*{tP*|-PAa_4vcZL zliZ$uQ1SH*T8Xx#H1qa#%-dJ{G&3&+?!<&Cz>_`7TRwn-sc*$aDDIlZUo9si6T>_s zBV*c(V!LjVzN<|0WB>F*j{2wJ{D2!RLGPN+F*~?wg;k-&uYWD`Vi701kmmXR@AkOo zD^^(Eq|}1UIT{F>HU7&q2ny0e3lfkp|3XNf7wvp0Fw?4RR$l^VEt(Axt2S21CR*H1PqQ;qd#;4fMO(xyupQ zgW(Bok5~qSw!*^caRVQ2(Ak*k5$o{hj#<$>@bUEeqL$R`HKR1HS+f5#t_Xif*S?~zVRv!$jd{jfQV zmi`wCu|L-I@A%D(K#$lx-K=p;BRZ(rxt>3{`_kG%wxlZ4a#2^^m_ZG^XpUXCL)p}x zao%h?YJRf;I=Rt&&+83!50wl!M_EHt1!c1%zro)bPA4js(_*OAErH6v5Pq_idQ45s zET`PL@N21S?>O@wPtAx~WF5=hcGV`QJD8E$Wx?IIy1hsquoLuPJbs@&@bSiP)NzCN zT((k{1EX6f2A{VE9Q2-%JL-%EA3dM(pZV;CJqxu+k$ZRn>(Rs1xG2k(Q|`6<#m(aP z8od9lT52NM3X9m~&7*?^ze@{wpj@bkt|QlqI8*DZ`th;V7#L|J8*x=2 zkHy@{>nB-l7`s+{Nb5B;yWOW`Jp%pMw}rAZ&p$N%zm4SnXAbGmfNzeFf*w)6=Hz0B zTi408Af}SnMWMkgNY)sxsrE36c|VjcZ&d$JvNUq=vpE81Lp+^T(~trkePkCi{reDW z80a3!sdU*Nr^_Y5LWT<|K_Duox{PkE!I=-8_x5_d!(lx~s^{SbN0}*8e6^nwwib8@ zrVQV2YeYJ#rG7oG4C(t&i7DAEO#c7|o9k*+hpc<`AXf>dCx>0 z45xBqYLzFKz(JZA{R0Qp}JQVso@^?FPExeKxr~Znn{l5kO zJB8!4$#-mRC_ag~wx(8bo3=uVU9(k?moTdcBDxsel0mkthdIe!w4J*MHY<_a9OI z&c3Qa*dVGW9%M^rjEAGU;XlbVelUJn{&!XIAI@}6%S5-@e30o*bL2^wJNuyAsJkiW zHnUbhuE`uv_k#FAAN2O-V$fT&?81&8;>SLFLFhovXiB~Ra6^A7@Za!w|K%GM^83pp zZS7dYWA$$%N;b%E2La@3PU=qPF(z_C8baJ7me}m+$4vA!;d zoqYxT7pjUz__q44GqFan$sqXlx*B)>YANuaDtPVJ&7QjO%x>!P_yI_OelH`|*Rf&r zsiHBhO3Okl)oTmifb$p!7tgn_>fDfo1oURM!zaPRjA4tY7}c1xnnd3P^P~5adYAO) ztOu-@1alwN8wNgkI=X9g)a_tcqCb;HR{fj)BS{5%MdY~tTB7$7`TvT7s`t!|2)z$C zw=Vl8hugecUu~>?YbcU`AZ*-SwC0;w6e5K8_dzsYLM)2#|LNHM;m>pZ#}ePmSLlAk zol1Q8d?9n!Y0jF!f5v&}^zzLgvi|3P(iuY7!rLkWEavZrC<;RLJ<1P@ow$d7C?C3i zx%!0cV%cxcNF{)F#`=o7J`q!SQcvC~zL{g3Z<}}IN>d@3nX4o+;P}2kv=>#f zIYs56m?aL!IrFwwmLBV5)2oRv`v{ETCWmi&(E&y*=DkZ7(ALmpk~>e6YX*69o59XS zTZ|@Yz9DDy02UeBz{To`LIc$F)i~qd*svdIXR5YwcQ1@$1$fM!ZgO#ocaFio%suUF-l4;oy-Fz(q=iLpTvUvpdxk>53zcC*_Wx6U; z_0EQ9QuwK<(QiX4W%Y74GEB-)0xzkT=naTxpb1bM?kVqH_CR}@irsx=Ga|i9Dc%W? zpNQ*SVzi&jMS*Ix#Ibwt?1WUu<99-%GuJLdTphysxGFPr{2XF?p1Xy{({*o3Uol-6 zK`^}1h#AVQ8R{Lv@y$fHIcn5>T~6Y^swJLREEwhC!#tTG!#ljMhtu$(W)G^|a1Pu1 z&M~F}PbUU6c9f-wmR@KZZ(U_e*flT@AeMj$`PZgAwfWt_FjLwjKQEt}ougK!^RWvm zeuX+e$)q82wr0orGzANpQQJee?c<&CxG7sMR%e^=;!7_8iHHoQGJ9DQJ zsWenon_?C=>m`&IFdIo!ZHWvhC(wmhQ{W8TmCeq0**=%L)kC*2f&@DV3_~eJk?3dv;Tt9< zK!{mIO>xbFK)1y5)#@6M{9>57*H?ihxzL`dzzQ7FCcRBe2FJR{hq#lsxvw|k*^8<% zvCDjzm}^!?n+7AIghj7(^cv}`?So#`XJ`|p^#>*kYYGbSrTRHqA1qfi0X;)9TI?#F zJj810Ie!$$phNMa+;zSIf4O^Qb>+2YKfEQ}3X@)&gKx5kOp)MCBk>JpB=1@bB*GqH z?*68_s_U#?bQ4}OkF*rKww;-z5Sg(bz%h~>up~BkY?sM{XDU6ApDNic6R*`tL-|Dl867taYH-R0%pdQju(g6lIM)G}q~@p!8!7=!}u# z`v_w;3+~jpP4y8>n}7|C2xo-Y>vY74Gd*OYqw&$l96Zisz=-GnhRnZ<0x!AnN5dNJ z$kyfZ*wf}Q@A)>p#!(r$0Ub*GIljI`6Ki_}-fyDXh9$ojZ*0lfj<&pZ)KX7*q zkzAiDK@Ex5mD}N}Z+S1M>%BI0cO~J(_z@5gTRNZ${bQSkN(eW^SLY7JF|cUGmB4e` zR7~29JSk+T8TImS3vR=xE@xcf0AMbsr#525{Ejp)Qh;p^#Sde(^OcM4h>tBY@6CyXbczSN)CX#P(|UgOc6-}#E1#n=0m%Vj8a5h1<<{Reo4UTdVKUBIPN0$@acpG0;yn$# zN}(;Nl5m&A2Mv+Mqk(d(m{nF@Xv4<`Ma5z;x}Gp51^@v>x&;d_Tm}_4gcd!A->@nBn7)W%3X z#XkH~Os>j&VlK)!EB{tgZP+&Cb(~7rC73_vDVW&R)15@cg{^R1}lWP){r=rr5?7@_HEK8YIX-slQv{U@AmYDxF=Z;JIg!b9;V$v<>^{@RT zW=wN|Kz_!~y`b11%!lXG&PCWxrB)M6@{;KV_9U~TPYYIKyIm0TI7BW2=fJsxO^Uxi zt;C)?B%5nU?I^*?iK~$4NvP|HFj}L|;%5H@PMBS20zY^&_~9Z*oEwfVvg9jDWR6Pq zxhN4@Y*>VH@N|dS(0cGLo5tFTunWr8804h^QDzU;v8>ZJG;wjsX^|m45q!%PbH61j ziizf7y2ONJ6Y7qz_53e14-81WhCZS0dDijGELQ@TBz>^eJ|4uU)C;f`wpc7=tZBis z3U`xL3G#wnW}Y9-uzzD>F@DFHWbN8h?*FL4`5ItOJj@+o9wkznGOj|b_~e$RoL4iP zq!~5bjnd2bDA-mi4-!B%)TMUj3_D2R>|R*#?>xFGJn)s;gNa^S)xQlW4lz}m6QU(R zl%n{x7seX&)YL54~^4DnBaT`+D)>9WUxT}ae7S#)tf8m5bebASoYgRmIrj#Cm;t;JLq0Y9Z&bGYjd5f?WQO#8L=B5yL z!(e^+lwR#XerJf!^}Rma>tT(x>)`?0I$`;h)@+{jC286{qGs`oLlm1D1tC_im#uAK zT-xcpRYj$4bObiH8q`>p%D69TvSX;08c-<6TY4g-f|`7HdbQ@&en6g#ZE{{qbJNW8 zz`8wsX8MO~15RJ7ht%v7uvOzyqRNQ;fY4eoFidqDO>&@y0cuByP!;R5r>0MjG|O( zCKPd3AF!da*U{$ifrjDnzUuR{@r;|Nq3Dd>!Ee3pCa8oK>ry3DuJc#}qQYsmQhU;n zKzU=aI}R(3FwUA<3O*l|cqr=1 zi5{G!!V`{-Y?syc7OyO+>Jk;m2RwHJMOzQ1hOmBEcCMCi@|ZR)mdsX8>j>jRe1!SQ zw*+Jx79&OIOYZHNEQ%KKLGEHw9g0osI@J^p-Z~n%| zxZ6LN?cylfzFtMDii3@2heBkLeK01^a!vXP{h zj7#o-!xdV%)q_qWXMU1(jtBW4rcxESj9AItRO6SCjMY53z%NHxvV|=QndIIR#UEZF;}5=aiyk%G&Gdaf(a;iD=y-0<SXJUJ73+v=dkGqiYl3kZR)`s+1R1(dTA!gb5MAs<3ZyQ+~pLoXd$(J zax~87K>jMNd+{tYNKSc!J=7=Rw1Uvk)C3iQ+W5{tC1m3q+ztosteJ0joX9ivLF&RxuUgq#kd0~>8MP?g)VA{iUJrl!?;z4 zPS?J^7d_v+J04Lzay*I+JNUiPyWir`{xg+ZOZEX+`6@yn)H2D=siDDE@A3xctt*|D zEron^6u}r7-XTDDw@^zit06FGs9Z(I$dme#(zc(iNbZBQjd{MqxKY0nhh-oTA-nc^ zi!Rq85}rqRh0*M`DGCTLx~WfNw$NOJ>^>hxZrn9oUc~!ojqr4XE0ES*ICVeZbmMx} z%a7VNJAwVp=~?@+k&Oimxy+TS14CW4>4y45Avs!;@a{p|x-OYABt4j`W3Uq>j_czd ze<6-ibWhhLM)DpP8^E04Q{7Rb$aQ`AE%IKN#|B7JM~MTR&AiqAc5^?NxZpPrY}^uDezLYz&=wvhkwR8K)YO|D}HJ5`E= zn_q5kyR4OlTwoLE>%H&2eOK|%1(8XH{7bfT-C~tGQ>UTV|9sfE-!rE+kVY8Uvp#qb z#Bt%53H8fEQG6rk+H5#{!dxjQem2uV+O&Dw1>sF{MMtjJwoR!ChKZ*nxwNTs)20)+{al>8SV60|VKnJ~07P~Vp`E*W=G@@86VC<Sy|?C(%Ft@v?RP00)2;f!_nOSj zjKs$+2E*A<$s}g~P&5fRfl-Q0NSe<8*mBTH#IQTTOxklg@o2rXSA~7JNZ*dI#A=py znS%j;E7>Nk@1|GO0qBBybe1xuII*~EM4Lii?6Ll+$>SLKRn(w1CZ|cQGq67b2h**L z7(H@PQ}N4aQ!gmD-_} zIJ}cz?`+d;r4Slg6z<;$bEx2#S{xf1)vHbTEkB{V`2GmbylQxcTY@X2b(WC8&=5`t zIbSNsJ?_x(A;Un~n2( zqYTQA$XHXf;D}Ji$^>>V$!;{wWcFo`6t?1c5duQ|obo-X+C>e`v*x-^lAkq{!m4>b zC%OURaJ-yQK&{y5D+uG~Q=xEy;l*~})}y7zI=o0YFd^HtL~t4xO}e~s(9Yt#s0di2t}Z z;Y#chrQ+}{4yb6W2O1iMeJiMR{>BXcDoSImJA9zY^;l5l1P2xE>P5K0^wfg093_A) z>lF%-iS_j3I7W$lg5xL-S<}jE*>1L(x0x>`Gw2bT&TW%B8~a@Vg@T#6sbni@baVo% zk!ed}>8Qe^HJ-E8ikD&XLsoLRm67$xgydV=S-Wxj$jLeyfjZhy5{zxU$Y7@+^gvZo zf_4QlSsS5GQ@6#Xr*0{E{JD1WkAp&OaG}WEUnrAy(-mZ+6%;a1=kkHM$ZXD=TW?vc(3Z8KT5D8nlOfL;&@L|~Y8~4Y-yR5d-Kp+E%FbK$x0e)JHLdC?**)!T zKxROkNcW5h?`ndI)p|E-6PgTbM2)EgkG>t;u~73^q8s9(`&zMga4`OcZ%q)~m{-(c zKwM4L%`PZRW<@fJSBrFBH8H3J)Y-I}T_J!J`yRQk-;qMMy%Cz=dV>tGVb8m@J1oW( zjx=mU@MpfzX)R2U|#jQKsorddU!)8PnUdreAmpj^lB9huvae z^J}Arc@n0Gr}g*dZ|7CYk*Gg;E`@GM)o?dE3b))eU9r`rLV*t6x=@P=uM{Q z*wL~u&A7!17adK{a5Hq~@qth&WiH78M(mb01N(N~h$-88!+*SlI%q6Mlv+cvmOVdysZ@wp*a)mEx^WvU_hly&x*|PT_{#jbgxeeNo zjsat535P?*C>UdbTW_-@x#b`1y-sI&_hbMgofQ?H-TjvWWWY}$@h?|*?n5F#&(kl{ zLAbQjt$N{whR7mP>2#yLO`Hr?KT+3SCnkLIg}?-M5Rr1NA^(lLZcc=TjQ-xQltRZ` zPmx}jPn2+%7^wz1U_fPn=PifDOg;E4CJq5K=Z}7+mA1Dz^UO=4diw4V>mFuDywzuF z_~1dbsmO9xlao3%OM;clNmsyBE<<8VCd(+Z1tyO%BZuAc1c^0%U1h=seOXP`J`#WS zF1Q4H=RC^#!=ILs3e)<2Xo3N@mfhW%Bb>-RhrMRuplFPvC|TO9v>@K1kiccG{b6@w z$n6Q7^LFn(UmajGOjD^#%?8Xu)Sh1(fAVh|rnv`jxkcm)f5B#Sf^Xk3fx z_OyS@;Q3zYxS>tZCa54cj8aNHtFR0k(N@(eChgC%c%02$KJE6Ea%Dg_o!0)9(_u-K zqVSFCn(=-3Wh~GYwL~sEu}nZ zX}pEfM-aw~_p=(E&slFwp2JwY?QJPAs&8h~Z^Q(-CH3rk zigoVS#tjePGvaSYwHZI4Zb=}7aTIYU8b*(fs;kAE^(2$Y10TBjg6+?}b{(6BjAD|d z#U|WGb><^h)-mPHWH2)9fj&aNBweM(B{nw#N$L}$df7|_M*5%S2Z?xhnb#y5lk*wP z*vG!_OAKiy=E zYcpl|{l)Ta^9K(YK4wFfaZ~o;k(KJJLM_Lx2nb5MVR6du=Ny(3=|dU1Z_jFPOzebB zk>;)B#2nlOB3xB9OFQX0rOi2*+JsgW6SVtr?CEcSJ}tMS_F0%b8m)wmTdd7_VGe># z3~$qBK8-Lkr!aaCMnH%Qyl>D`nHUWtwdT4UoPG7|voDy;9?VY0pN7&ngb{2I-GqSeEO@3H_i~otF4EthH;Pt9KPRC z-a&kwr-kUiSU=VA`$Z1#Zvet2qi+D?lW*OsE#)>{^d2BHn*TpF1OC5}$7=Zpg8{U7Ro%2Kn8H>a@g zsyqjXz2N&Ts7JYWAOw5!%}&$R{<+RGlz`1e!_6FG06?$d?}clA+tEL6;LDkEp0n*f zPhSiDG+CFUnomBtCj#}gy77)k;1&x2fV^Y(?=ZLC-b4p}6fe{KQ&F^@{JAFq8gptx zn*Yi#*}=cV{TJ&0J_xw`yIy``>wov`-9+B^dA*tR3;>9DzWoJ^FrT+QZmRKW)1gr{ zDVRgN2MB1=5&u!3*3Grt4(ZQBpHim}Bw1pfd4< zwP3!<-A(C;zJb$E*@)&!Kcv(}v3Hqf=kkRP#}jFI22=SpGdq^iS+xJ`^1v2!f&5c< zcCy!erFsK~J!GHplvpyrQ<7lGtrKk;ic*}oJ(^?a;~98Y&BZa_P+TW^>a9fmDxG*J zdHs@x<1)K-g1g6fLpGaOz@ifgCS)!bbnb%R)@e;i#W&r>{>ARsVT4k8<2#tedT4Fv zAo)NxSt{5=BN?tXiaOsTW~<-*RQ*BW=rw;}^bEBM&6vO`hqtp8dI&;-L21^{UpP(H zIXEfEOpK@#T0vFsts3pc`uyNc+wi4H%Z_#ZeJ5Fc!H(0EPxGp@(weR};*bt@fU4C% zJ@ruDM=AeWF(?#l08`XxYmM~W$9@SG5*AN?xjHl%n9i~sAWM_ToL=yPD&7^I##2QT z1Z&fS+JVbGF5~fchH?WCrRGT5QU}WLSaO0^mAHOLGU$M1#eedcdE2hT1<+?fe%$J7 zd=~yQg7NhlUGbK&K3T$KP*OO=EPrp3z-0|pEB6V-0aWd)In45|(brz~G~FTsXH7Cw zw@g^ny^O{%fcASW#Jw^sti5sWMZ$-EL|+qDiQ!LfgXnw-3#54QTR$kZ`oeBciALR@ zHZ5B*9#1YyqsKDcw3)2O2k0fc2}?w|oOwpyI4eb0$a z-{;fJR{n6(mBh+;LO*oh zDF*WF=y~SbaXbm~&z6rX5{^IFqkUG_&nFi}h|&jsVd#%O4iyl*Y*TzeiJB*1b;5kb zrN~P`>);W|Me*}PzK4sGoSQwp#6^|O6Sk+{c0?1(@Cz&AlTvm{W*b%8$7hEqC}t2xu5IjUNs;8q}i?Cps630-G9940J5f; z$B>Gz*b#nj=5}b28ya<}tkRfC)b^JJDx|3Xi5<(?YftV1Q5hvQt|H^wpr9N~fJXBqE!a{D^ErAt;9P$YY>3w}B?~2>otMK&GPa ze8y3Bmn<=3b*9`s&pgU~79Pu!io-8afJGjkXH{dty^Rty-Ekzs%p<%NNDBSXN;=|f z<%Yf0Qh~?cgoHD6)B>fh6Q?8BZ+Kz$Q5~i6H^D#?G*8YjB&6THOI?{8C10#H$nq!D*V*N( z$WF@Jj_KSuWD+q5PlYDFyd2gGBvFq?+sy%^!+miWp6Zpeq9{c_XuLk#9_2@5Uaj=C zOs@+Nt|i=d&h{L&w|O#?3R3_n4oAgdxbqRZ4p|fsyFyCmO_F>J&o{k>okR)Napoa zY_}A~NlEr%qJOTDm)7;d(!=~Vz zI45{%Q_!;fx%YHC(V&*7!Gcd?E^Gz25{va}`7cGp@$QuXu*+XU8ILOTT{$(3G}=p? z7JTL0kmI#2C6LC*VkgU@OiD}Q?Hh6p z!dX`@Xziv1UD!^1q=oVlPSd8Lpq`AL2qWWhx4a6Ir2_uOY2H44YKZz!qlcqLKO?El!9|83RJ@h*V>FVo1I zuy$C=>yLLV+x!NJf4DRB2P!~jBd)Ka&rz|}TI5A?^Q~QS zGqK6BCsVsO5;vg&{`=RtYm)TR8TIKslkt%a_P zp{+k2YZEF!Z~X}CCi9tTe70;bg#2mK82vzfx21jRHocNM@{a~<*K3cBhIKoRFsiB> znF2quI_oMar@19-HI}eu3**|5JY9A`S1b-MgNNDeMZ4FP0Q=kVX?n=T_ACk(mGh literal 0 HcmV?d00001 diff --git a/hw_4.java b/hw_4.java new file mode 100644 index 0000000..c5dc4d5 --- /dev/null +++ b/hw_4.java @@ -0,0 +1,100 @@ +import java.util.ArrayList; +import java.util.Date; + +public class Main { + public static void main(String[] args) { + //System.out.println("Hello world!"); + } +} + +/** + * создаем сущность билет с набором атрибутов + */ +class Ticket +{ + public int rootNumber; + public int place; + public int price; + public Date date; + public boolean inValid; +} + +/** + * CashProvider - эл.кошелек покупателя + * метод authorization() осуществляет авторизацию владельца + * метод buy() производит оплату выбранного билета + */ +class CashProvider +{ + public long card; + public boolean isAuthorization; + + public void buy(int price) + { + System.out.println("The purchase was successful!"); + } + + public void authorization(Customer customer) + { + this.isAuthorization = true; + } +} + +/** Customer - покупатель билета + * метод searchTicket() осуществляет поиск подходящих билетов в БД перевозчика + * метод buyTicket() инициализирует процесс покупки билета + * *(авторизация в электронном кошельке, непосредственно оплата) + */ +class Customer +{ + public int id; + public ArrayList ticket = new ArrayList(); + public CashProvider cash; + + public boolean buyTicket(Ticket ticket) throws Exception { + + cash = new CashProvider(); + cash.authorization(new Customer()); + + if (!cash.isAuthorization) { + throw new Exception("Error authorization"); + } + cash.buy(ticket.price); + + new TicketProvider().updateTicketStatus(ticket); + + return true; + } + + public ArrayList searchTicket(Date someDate, int someRootNumber) throws Exception { + + TicketProvider newSearch = new TicketProvider(); + ArrayList ticketList = newSearch.getTickets(someDate, someRootNumber); + + if (ticketList.isEmpty()) { + throw new Exception("No tickets"); + } + return ticketList; + } +} + +/** + * TicketProvider - перевозчик + * метод getTickets() запрашивает список билетов в БД перевозчика, удовлетворяющих заданным дате и номеру маршрута + * метод updateTicketStatus() обновляет данные в БД первозчика о наличии билетов + */ +class TicketProvider +{ + public ArrayList getTickets(Date date, int rootNumber) + { + System.out.println("Search in database.."); + + return new ArrayList(); + } + + public boolean updateTicketStatus(Ticket ticket) + { + System.out.println("Update data in database.."); + return true; + } +} \ No newline at end of file