From 3dff68c59117e2716e9be5b4ac5ba69c56773ee9 Mon Sep 17 00:00:00 2001 From: Albert Yeoh Date: Mon, 3 Oct 2016 23:47:13 +0800 Subject: [PATCH 001/457] Done NFR, glossary, product survey, about us, user stories. --- docs/AboutUs.md | 39 ++++------ docs/DeveloperGuide.md | 144 ++++++++++++++++++++++++++++++++---- docs/images/Albert Yeoh.png | Bin 0 -> 94691 bytes docs/images/Dylan Chew.png | Bin 0 -> 127736 bytes docs/images/Hui Qi.png | Bin 0 -> 128827 bytes docs/images/Kang Fei.png | Bin 0 -> 110548 bytes 6 files changed, 142 insertions(+), 41 deletions(-) create mode 100644 docs/images/Albert Yeoh.png create mode 100644 docs/images/Dylan Chew.png create mode 100644 docs/images/Hui Qi.png create mode 100644 docs/images/Kang Fei.png diff --git a/docs/AboutUs.md b/docs/AboutUs.md index 33df65bea583..7dbb6c662d0f 100644 --- a/docs/AboutUs.md +++ b/docs/AboutUs.md @@ -4,45 +4,32 @@ We are a team based in the [School of Computing, National University of Singapor ## Project Team -#### [Damith C. Rajapakse](http://www.comp.nus.edu.sg/~damithch)
-
-**Role**: Project Advisor +#### [Dylan Chew Zhi Jiang](https://github.com/zavfel)
+
+**Role**: Developer ----- -#### [Joshua Lee](http://github.com/lejolly) -
+#### [Wong Kang Fei](https://github.com/kfwong) +
Role: Developer
-Responsibilities: UI +Responsibilities: - ----- -#### [Leow Yijin](http://github.com/yijinl) -
+#### [Lim Hui Qi](https://github.com/LuMiN0uSaRc) +
Role: Developer
-Responsibilities: Data +Responsibilities: - ----- -#### [Martin Choo](http://github.com/m133225) -
+#### [Albert Yeoh Ji Bin](https://github.com/bertojo) +
Role: Developer
-Responsibilities: Dev Ops - ------ - -#### [Thien Nguyen](https://github.com/ndt93) - Role: Developer
- Responsibilities: Threading +Responsibilities: - - ----- - -#### [You Liang](http://github.com/yl-coder) -
- Role: Developer
- Responsibilities: UI - - ----- +----- # Contributors diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index acc94d2e1367..3088cc71f7ec 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -251,13 +251,26 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (un Priority | As a ... | I want to ... | So that I can... -------- | :-------- | :--------- | :----------- `* * *` | new user | see usage instructions | refer to instructions when I forget how to use the App -`* * *` | user | add a new person | -`* * *` | user | delete a person | remove entries that I no longer need -`* * *` | user | find a person by name | locate details of persons without having to go through the entire list -`* *` | user | hide [private contact details](#private-contact-detail) by default | minimize chance of someone else seeing them by accident -`*` | user with many persons in the address book | sort persons by name | locate a person easily +`* * *` | user | add a new task | so I can register my things to do +`* * *` | user | delete a task | remove entries that I no longer need +`* * *` | user | find a task by name | locate details of the task without having to go through the entire list +`* * *` | user | find a task by deadline | locate tasks that are due soon without having to go through the entire list +`* * *` | user | edit a task | update entries as needed +`* * *` | user | add a floating task | have a task without a deadline +`* * *` | user | add a recurring task | add repeating tasks only once +`* * *` | user | undo a task entered | increase my workflow +`* * *` | user | sort list by alphabetical order and date | find my tasks easily +`* * *` | user | specify the location of file storage | choose where to save the to do list +`* *` | user | mark tasks as done | archive my completed tasks +`* *` | user | see my tasks in user interface | have an easier time using the app +`* *` | user | set categories | organise my tasks +`* *` | user | block out timings | reserve time slots for tasks +`* *` | user | create subtasks | breakdown my tasks into smaller problems +`*` | user | specify my own natural language | customise the app +`*` | user | set reminders for tasks | reduce chances of forgetting to do a task +`*` | user | import a list of to do tasks | add in tasks without registering them individually + -{More to be added} ## Appendix B : Use Cases @@ -288,12 +301,18 @@ Use case ends. ## Appendix C : Non Functional Requirements -1. Should work on any [mainstream OS](#mainstream-os) as long as it has Java `1.8.0_60` or higher installed. -2. Should be able to hold up to 1000 persons. -3. Should come with automated unit tests and open source code. -4. Should favor DOS style commands over Unix-style commands. - -{More to be added} +1. Should backup tasks list. +2. Should be able to store 1000 tasks. +3. Should only receive keyboard inputs. +4. Should be maintainable and scalable. +5. Should be user friendly for new users. +6. Should be able to be accessed offline. +7. Should come with automated unit testing. +8. Should be able to startup and quit within 1 second. +9. Should display up to date tasks when command is given. +10. Should be able to run on all [mainstream OS](#mainstream-os). +11. Should be able to display tasks within 1 second when command is given. +12. Should have a simple GUI that displays [relevant information](#relevant-information). ## Appendix D : Glossary @@ -301,11 +320,106 @@ Use case ends. > Windows, Linux, Unix, OS-X -##### Private contact detail +##### Relevant Information + +> Tasks, due dates, priority -> A contact detail that is not meant to be shared with others + +##### Floating Tasks + +> Tasks with no specific deadline ## Appendix E : Product Survey -{TODO: Add a summary of competing products} +##### Google Calendar +> Pros: + Able to sync calendars from other people + Chrome extension for offline connectivity + Multiple viewing options (Calendar/To do list view) + Has a Command Line Interface (CLI) + +> Cons: + Unable to support floating task + Unable to mark tasks as done + Unable to block out and free up timings + CLI commands only for addition of tasks + Bad interface + +##### Wunderlist + +> Pros: + Able to set categories + Able to mark tasks as done + Able to read tasks from e-mails + Able to assign tasks to someone + Able to search for tasks easily + Able to migrate tasks from one category to another easily + Web and offline desktop version available + +> Cons: + Unable to create subtask + Unable to support recurring tasks + Unable to block out time slots + Unable to set start date for tasks + Only has a list view + +##### Todoist + +> Pros: + Able to set categories + Able to collaborate with others + Able to have sub-projects and sub-tasks + Able to support recurring tasks + Able to sort tasks by priority level + Able to integrate from e-mail + Able to backup auotmatically + +> Cons: + Unable to block out timings + Unable to export out To-do list + Minimal CLI + Have to do alot of clicking + +##### Any.Do + +> Pros: + Able to set categories by type and day + Able to show completed tasks + Able to collaborate with others + Able to support sub-tasks + Able to add attachments + Able to support recurring tasks + Able to mark task as done + Able to notify and remind user + Able to have action shortcuts + Able to have different types of views + +> Cons: + Unable to support floating tasks + No CLI + +##### Evernote + +> Pros: + Able to quick search + Able to support handwriting, embedded images/audio and links + Able to work with camera + +> Cons: + No CLI + No Calendar view + +##### Trello + +> Pros: + Able to mark tasks as "in-progress" + Able to view as calendar + +> Cons: + Unable to import or export + Relies on UI interaction + No CLI + Need to pay for premium use to access 3rd party features + No desktop version + \ No newline at end of file diff --git a/docs/images/Albert Yeoh.png b/docs/images/Albert Yeoh.png new file mode 100644 index 0000000000000000000000000000000000000000..28c7b0decf13848d93bff021710ceaa22ef3113b GIT binary patch literal 94691 zcmeEugKs9^AMRV*wymvg+jhIPwY6>Aw)K{8yWO^1yWMtc+veTxFS-B3&CTRwGAEg2 z=9$m=oCnE7t0+k$!Q;aN001Oe83{E204(9(V1b4HH=`y&&He8L=B6es256WjJo$G4 z=PaY^1_0oo|2M#_3g`dbA_9<=5Y_MkJMV)7I_PR{_51)moj7Xyr;~%jW23@{;m%q` zLl47B5r-4OCuT-IX3d~Qhb4#A z)Ns4%s$Bipym}&VoAQ4Ye98z3(b(W$;k9dQKg@BPWF6JJ6F$Uk)z#GOAP@fk$NyUh zM0P{sqj*3g1Zo#RUIO7`*ea=RGW*#RGWsaQqh1lU;zDM@EgIx`C-F)jde0@xp zT>qxJ8sbr-QoWAcDXAsv=NMN_(PG;Yt(qG%-FP@5Qs+WgoQ(L>_ZHg%ip!4+slCe` zv+ln-9K=~HM^96Fdnm+O3%-w=H~c+~U-?_vqVbI5T9hi3*V@S_Ll|%dZ5n zstki3Zx*G!@5$iggiyOAF_gRBN_i^u6*s-Bbva?&ywgXmw%u7Xxti@T2MDy4cMC7? z0=oUVe*zJAgsEpduaHMk5K%IpK$p`i7ce`w>i<0#nJnqjFBCf4X!myc?Q=JyZqRQ!p9J)io`QjynDh>t=)n?u)hKyyi-lE<~!t+b=~Z%|a>Q(fqa(YyMP(!AGM~>BFP9W}m-M zVZR$+;rotd?Z>6;+ge}iR|Bw5Eb5?AW}6MYs`kO+GOegq58T9lkH6q8rQW;J|E^`# zN27GEzrNXC0I7C|^=?>Ad*S3qEe4w&BhHdNZ|ohw5-it&=$>MLp(WU3bm2tmE`=#^showZPwwzA(f|HZBy+Y{Un@u{?FdtxPS}cV=23vCaZ}gH_ z=xKUJ*cWTAcG92T797)4n8PY_cOfbAD=w9X{vYeW5qa#SQS5t#L_51x+csu}%sXKz z&Cg}m{%5D5n{a;6S-kM4C|z2;%(iXHfDb1qXWU;i^Wpr$>hA`@m9M*b^ZUJJ&kdo0 zin18z`n+RDPMrI2Jo{*k3^o+5fzue&{xG2hdILEY0(RK)NJ>T^fWxE*`~h&m*9B9; zAuJJV-qqW?`@0Q8^R@vivZ2zR*9-A;*}y~sakzP8>Xd^a)m?$PiLgVByoz|noaVq@ zXseRvYDB_Y-F)+%>Rku)HU4$oc%_TRL?a2V-2@r43k)H-yeaYjo9Vw=ZF#qU)R}Q{ z1m0SRe7-5ekQd-sBpk%u-lqN~(!v3`-gZFoto)7@}EHW+iQJ8N{>lYAA@o13z9PMoTA(XYR_@6PAFZ#?S3sDqjKrE@pI~8l|&~V7Ho_ z=6G|;K^S=5Sv7dpXCc z0pvQsP{ep(S|57fuPw1cf0;J z>&Mklw?>|D5oic~@p-cV0NLY!rPpR85&}O`K<`s%77+Ohu49yZs7erHB8QsIE z)FRB*n&xIe-+!fXZ~8j)V*QL>B?;W_>_5r}@hM?WI3*7Z>4RsM{2b~L(B^#N@FHk@ zp9ejK8JS;0O=<0gA4e$LHnYAkF~X)t_@nRO*_wuKo5~I37==2k@|wjEgpg+Wu3ij^ z2zCM0DrKPm?m?E}0sY=bn(g?zST@+iZ*!+{7SknVII|VAH~Qa^{=DBDnmutFKTHUFGvBHF0}n+S4s-a% z+0S;=OUQSWXhZa9G8J%-!+LuZi!0=7j?e77?>Y{^ksV}zLx*&cCJi4(yUeiU%$>q3 zZmXN+Ubmw}IM4~eBTR&nHn>x51{$Z)B=>1`0WD0XkI;aRZoCI+cj?nHKai&FWcL<< zydXmE${82-d_Un~Wxqo+$z(xq_>LdXqnqxlAayzLY14^)cVNyM$+f_I4_E3k; zCP}5?^&W+VtkWl?queD3O(mtA(rIX>UNfDiT%Y;7rZ z3z(aT;_m#hB=!hf%AcH|55n+{`Xri8Ra=~wyLWwer(}nLTkN$Q-f0&&m`XO0#~Nit zpkEljnKV^etBY@8Gdpgj_=!26U-nWyW_EA)b&B&fMRMqVphJ1Bk}+^#cO#y?SDVGn z828wYq97EyQ^*1Z`Gw5h(^=Un%bBf!3&$z$GRbgg85YJCWUwX#?tGDU%`UU;yh`sruXtyI24A(NIX`Etlw|(j?J{_m9!)tX?Umn zLwaK+FE-1O?4fk^HTNyInXKZ3bk0f`BEx&(tbmu(G0QLE{zGXaH=$t$(7&=_g8OCn zHfvVx+{zq$^^p_kTCsZC2a6g&*HEq8@xV94WU&=GZWb|&#++rLhL3~=W4&Ma$2gNC-DW`<%z+FJ|&_1lWMl6KvOPE zuU%mULX`&a0h*eqGkM`%50mH2FKx(gx1Mt1QtM^KMS?$ z`@_Xv`ZKxp2rFL2W86u!cP&FVR1fD-xUn0MQx@k-i?Bw-P?Juiz64d5(L+jNj`5){ zJDq}G1%)i_D82DT&-^2YHRy_qQna7A5kxMD! z*hUA2?iJ7!RKViJA@!_#|Df|0#$+08L)P4#bAE9~cqwvb>7Z5+PD-bR9bxe&I+Y+m_8x;GGLi{lYA@Uf?HAEY+`d)o*`{t zT_|E8&x|d~-0sIN!e-C?jR(R;Y`@e?k2D^h#4pZA4mAs`ahekOrvrXr8?nzx7rksO z-AO#fz|3+`8%E+E-ex%m`XLv&F2V?_faS!qBi;mf`7;Km)l;5v_Kj3&putTtWq}t` z7poKHZ6xQ)(KttWs?9;^E#i!6X?|;b=~HX_URQ2p#l1Z#sfTWQDRya-)WX;s@Uwrc z?zNcveUy702kyUj99027ssF%bQ)v-O8DIe2+D*50z_9E<$ZpM^Jvc=n+g|&eoHo)X zc7 zRpb`g(ZH83t%X`E3h@i>tcZ)sHQ;c^n^}4tnF?2#Md$jnJVrdWG=t(s6ThY@d!`WN zjo50`>&>(Nl|kaar`*pAn_fsBoR|!mFk%!ChfBK(j#xBzo&V(j!*}+rAfWM0O~gWe z`!{nXB$4z$r5!!rP$^da5c{Gt;x=3Qkipq{S=$kDo9^^=Rpvv`B6$$;JfP zwJwCG&>_FkQIp@j(e%)sPu`N?bEkl`{uE4bw36J>hsW@aM+M#!^MrOrg9}B5u)Rk@ zcQq^uvHv%T`P(QVI(+Eg&uH%fgOviObozH@;tQMsmghv5=oW|Iv2i#$J}O z3%kOP1Afp=E$B1GvGXn`p!1D~Ok#WXt01!u(1KyTVp3IZioo-JR-56DB)6@Ycas`4 z$A|$t%&Cp{4Fgpw0_^>eAciu8M;mSy5qYaeqYKo4nV@&D{*#{7|JTv+i%%_aN^^ZA z-qCZx9@XY4TRFPqy1Q_sJ~ozB!JP|c1E!93lJ6KNwO~u_6NR@7OByw|_^PZTuk<*O zA-eS2bRP~VX)O1Er{ChGVYg9LbFjOfW??r9&=x5$*-lPzCDsx9MBUf2E)cIs8v(Ue9IzlfNYXc*54m#*Z(?k7f1s7uuaY`I+r{@kssM zqm>E^vkIb<#l<2FfS)`BpTCF(Y5B4wF@uJ+K&ao(R$#$Z0U4QjF!3UlkWwcFax}rE zlZN0vzdFAtV7F^-)_D{eQ?!0qWedN&$cLp_h2iFSMfLWA`X#$DP4G4}sd*i*CG#{N zv*Z2Jx{n@Ikwao(_p|`6yG+9r^iTF<1T$|g2BoGt_|ya%+AgK`mQ?KLgQcT637yNG z^83H1WGIvmwXa;RX*x<c<9RSUkxTFCZ5LlEd&+`&?~7RagPj98Trm`>PNTs}(TassthiA;*Ni>VrJOX%}aD8nb!jmJri%2j>f5I7svU>#N^u14e4^-^KJHfwb+7T%b3^f zn$fXzU0E>ElEtFYb2eh>Q*^jCdB%wu7Icp>IAWJ!;ke;^EbW$kUMWbt&)&9PE_*(; zr$L0VkU}~C>E%+ojfvUMl9|t4Wm^vYE%~#LTE2^ArP__U*FL35Qpd>MrtrpH8TJ^e zV$NbtbPqy) z6!{L&AhAV>KtqIXDL^nVSCWY~@5`)4y=JiQCay44AS&=&zu|!Am&)eio`sq4hzk(W z8!FpTRZ;q&*Ru{{7S9ko6dY|%{9CS7()c$*(4{1?1Q|h>PWyW!qF6F6(r~iHAuqRh z!I}`IxxHAJ*qtiq8$2@%Ug^ZlK_5nZry5D;f zK?mx5iQelDptlCkkI#G27REtIa1ylts6HCnUZm7MZ)e~Qj>=IWs^_9rjL0N-BVYcH z@B>wkZaqSJ#5eAg+u#0#U|HL0h=ou*_RR={#XR=j;7TEtBIr+mtovXJFs&doY+j${ zj(Uj9!52ML`2l<4Aj}oGGBvOM!o94(U9zqMwtR)V5<753t1MqF!k0C3HNu+G*v_=A zKEk zqJPGTALf7SKw7kFRQ9u8{}NZ=rDHS@;$veA>RFf^B7aGk4w(_zKr# zv1(3PoETYji9OyqyK}f%EPv*w&N5&fn4TtvJhAigy1RIoe#;N945-y{EeyNtYbysD zt?-#cjf^B>_jDv5Aav7*L-vj{1G4OxGP0R`MS0zdmV(RXXUEC>27>h_n>zaP>yuMReK$wicvHOH@PozC}_=$F`+ISMrh=hY) zeoJpYN?*OEZoRd_GW`=DB&PqX0_Q<|Ap{;2a7Z~R(j8yxvWEKaYQm8*FzEk-#wsRR=of%);ucWKj|`bqaNnM2U5Tv;p^g9kDfNCwKsev-ziXIn7Cag1p=hQ*D0GO&xQ`=Q z13Lk`DumG)_vp_M8Iyh!<7Bt8vb)@)cOd~KQPT6YF%9js1OlSnIcDLKTVcs?q>)iL zlcb5L)m4PIw{+!Q^w|aEY@)kl!R$DY#c@fB87}*>i@4nenG`o9c%ye2i4isjLp-kH z(8(~`$Q~I=1w%G@R3Z5k-E>Fvw{UNZN9agkKq`T>SOq=kTbT^I+S4C7rH__(oHR-t zU&92O*Ae2pbpPbKv>5pC?z4={4I4*+%iq?*jf*y87%w4zIGvG6b5ssSNRhU`CmIm1 zob%Q-`xWyJ;k9IRNLY~~q(EoKN~S9CSup#cQ3KEPs?m?^7;}yWGcRbiM=aCdw(_qanMjnS6vxO$2Ws;9ElU0((4xa#C|(s5OxMJQ8KvQmKgB_m_t zx^{!#1!{h+J!7E@W6$zp+Alrlj49{D+6~|F;HJ8=`7UMpbjF6WyV4Xr{7XAL=Mvi9 z4#X~jTWozL%%}E@6#G<jR$D~%Ee@G>? zHpuF%_wUI_A6C{P0DUC{Muf~6X4@njD3mTIu}uILgpoF$^+u1Lw}ZB&)v!&Ug-6U} zfDfPk!HeBdbjUwe5)Mk%?cHALD#jZX(r5qVs0SM}?6T zdbTX4S**E5&>6i;eY#HHTGRzCy$c^+oK|Rm9upXSDjVO=dm5zKbkU+e%gYqeCV;|b zi5bUqO>Tt+n{H6LKQ23G$=8>M%@G!6y4ctWxs!Qfk{T{<3!M|Oj=0iJJ8VjOF1#>`F4sj*ucWAdW3{C_~*qPrI zOG;(t9wQs9c(H1_7ceHsFoWdB`S@Od6!-iMQnN86<0#@Uxi+f|Z5k;zW8Z47m^Z%A zux-jy8uUSpYr^}^DA}w~X;LU5+~PZWWKWn|b4PhUjhk$)TqTr!XA+1y!ku4+iBZf+Jj_Uh)lajE<< zkQ?w=YxJl)bJW^y!GQieA^#toz30qwFDJ^+{FMQHIsSs|1IEFe&BX-LDyT6~sOe(Q zPu0i8m^{?sriFmSU^@nXe5^9Nm__s|Fp9c(6@1ZTAW$!=s04SdbC9@!Ug{cx1nkG7 z4UaCOBKbWeh`!$0ceQ4^say&|(5hHxlARgi7?MKTeVF9HnIp5I3E2eSA6Ejpggkj% z3g0w(fPvwinzWP=ta4UPC?M9ij3cBOv@Itkra?G^c|{?>r!QtD=buugcY^) zZ=h@K+~*Dn@NO&cZlmxe9OT!5MmTP}8UrcB_}>O=8hv(~TzD(nY20ef4C>ji2F0>>oU8)K4`JVGx|W=sH30=m?DD(&k}?ne^=uIVFDhVVtQwhluL1Ljuk0Q7Q9*OX4gPdHM^RmiY8GwS?Y zn~j9g=w8}NMTZwS3z2nqW&|Cq?ls!r3ugV%xLqtsP5Hlc_#&xDYP>?n8?g{ zl0g%y2*u*sQvYlhIBUV*5{0YCese@?P^)|5MOpY(-#~ZPe04>n@rLtQ^I08F!}WK9 zq~~!8^vss^(K+b)LWlnRjY@@YR9GRHDDiVqU-%1p8R3OkK+G6k3$j<@495VKv>U)= zrz&}-;i(zNLmpQyRTDr1)+}$svIas)Yx|=;~v?-jS@!O+lix*5QP0Dn;c>d+jrcG?KWBzum{+ zAL>PW)_A%!Jz(xjk@!Az&2R2!d~de;-c|zkk1kX6{wr2OxaWxU3l_TIO2Hf6#Io*B z*!mfqD0nTOQwNP*fGTDr*xW5t6_gqOutV2he5cjHDgR*FP*qnds%s1YQlb|1H5x!n zUI!<3$VvL4;q3PnSD1xZMt4TZ5&`^B1}&-_0;WIa)BL%+0p2e=1fy4dLWt8@T~}4S zwq}v_9tDMck^oioUM7dck!sIK2>$)$spZBZEa`D7P>6#q)!%OA9*Y+HGv6|8FZ-@_ zUFOlm5mv?oIYFx0Mkt5l(e#-xrtgS}-2$Sx^;9s;HEh{N`bEh+XBd#MS`f-Xy7V$}Hm+xFXJfR+~H+jOMS3W9)BW9HZq-euH`d zn89?>-G!fC!Z&^6qu@z_lRewT&sN0aqmU_{2q}c|j$6uZ!96I+5%MVl^OZG>{K@+? z2=&Wh$t(xX@%2$+gx+oe@v2j-=sA@$phL1-6br~iB4|r{_uBX=QBIR9hx;0-#^K{0 zyqV6Pg)?{KJG-wtPcGr7IpqMR7b|~+jTS680pP!c)XRBQ;5h%UQi#zui={nmTOHNB28Jz%q?!l}?PRZH=Ntcto0e?*fq;we|m)asA#JXN>%%k^@ zv8kO0TkbER0=|+MH_X(VC{%ceHX6|4D^47gT=0mdr#LIX>~(Qy7c5GGSyb8`{z(@4 z8xZANsPaoodBON>gC&x%x*h(H7ikwA9YbSuw*29!4L4=r?Lr6m!)pifVg&;4EV*#M zWB??zGV!WiT>68%QK;={99N@8M;W6Em!1)InE?GbM=n9vAVzEb4fkpR?5 zIW^G!}Gy?8-fw2)m3v>ebXkhFgy2Rm#{+VARL2wGGUdk`S9`Cdcw@0gy2;*gC zPJ@}o5DL{il+5Z|@!Gf3hmDx&p&$1Dn3Q*Cw)2`q@?^V~w-f5)$cg%j-(TL5$>e=s zMg4#J1|;(@LVK4)=lk(ht=#t!G3<52r}EtOD0rNxBwze@S=q7r_!?0F`nrbW16jC5J+K5~7D$~?wn3U+U+(hLf|q+6HX{y1(rw9dng zmhw8}rQ>SQjJYOKa29?=@68D1Gj4S6Bcs$Qq1;5VL(m<#3mF7w&53>%g~zi|{o|9_ zFf%m$g$FNS5Hbs!q#axBOm65Z?PFXdO*C@XoG7L{IdF2r*afb6tA{9O(@v!ZAJujZ zhN5_IkzOZ0Iub%>mX`N^=VwAYK9kze-J7eJQMh{Sp!pGhVH>@~e}!CAzff5-Y^{Uz z^rIGUi{t8%OOs}+dGvQ}z0sY=?<=+XKC`+!OgNRqSX3c*IG%lMoVh13Xk%O<*Wj%E z#Tx)V1F#6aNb2HIxeSft9G7I4OsME~#Qp|&Wq65@(s9Zw6@S16(Y68em^rC}YtHu* zD)zeE+~F7Z=mozh+NvDPUkWGxjbeKZ_`I{qOd~Bq`fo3n);rgkT+grvCN?}rMf0#} zHG8n8n-8Nx!Q~kdfg_xX{>ty)i%=xd_tR9tt@Z|S4;0^V1%vH(nF^1tCy0>v`z^wg zyd)#`lMT6Dl*{6o=!jlqZbh1xc20g@n*t5L#l%Tt_htv^=GvcRQx4C$S2fJUPu(&f zpQ&_J;UX@z{cOlg5(hHhaPaa^REX*IatC!vB{;I`jS`TQ0oS z2Gr-v`d7!(K5vcoOlvc4W`&&G^v*TY$>e~E9DBh8y#o3kiex_81Z26P<_A{oA+KN2 z3EvH6F2RLNcBwA_2Y({_^%aCD5sD3|M5VZ- zy2RqMS?X;ErL``4XJTe?Yo~JUay`qakoY~+7b#)pq%aZs(-jTGf|?|#EixJzYlEsL z*U@o_4~T+DJSkn`lH0F=>NI!jz~+^%imGT9tLsYBhH>!lnigu+!(fj~uz-eDP0x83 zu_9)Ak1zrJt(LX1y4`KIU7L&Q*$e%#878T^WD$9hRrNI)C;F|pJWsPNyQ&wJTdhKx zGlXm(;rT;YVx*pT>@5qj8MGMl1bMeHUw)E=8Zz;^{I=CF?TPiU28&bf8m7sGKwcr- zz@pC8x2McXJ+WBGnBg0;K8TsmTb3=}UaKq3){kZRqsd?KHF6fQAbb^YSUcM}v4aLv zLwd^D?+Z<&+r?l%0E1(w&-yq8a{>;1*6vV^dOU>SPS#nSh8Mv zN^B9S{$v=0?J`#u3j`qf&OsV*09!4tckRJ>inrm`=e zv>|1YXFq()%0Y!Dc6D^&fmsd*fq{)Iiub8c39aM0QvDrnaRfq*7BjuCfEbywRrG{( z9Oc6BF#7@yo+E$bOKfj(y<`#WUe^jNy@?CoHf$?dH`Yx+uwC5%Xz)*c6sYhSpUqLs+s1J1D8^Jcm0(yvlV}DvG6n! zFT+1SL=qkN?9g+p)ujU770dGDi zc+ySywp^qPf@^b$=g@hc)jD9)n({~{f5j`R(x;19V0%Rvg?tAye*V)g*TzN3+&Cu& zjZ8ESCsyukTDqBvzO6P;YeBk=dl`%A8szhdP%arPcz6ep*oD^%DOiDfPbq<&T>{_T zyb-LV^0wbpo*YX!lGeZe$quIiEwZ=zjZw3_9tzh-(JsVwF$U)x>ULYGe3&lK6ubSS^$H{if3Lo6E zTLj*XfAAYU64GsQ<6g1hnhOwWm4=EhH<-~fGeF;|x#VdhE)*G@v}c4;U2<-Y66nM~ z@qgW4_p?m4jW^4f7=oYp8==r0F~F&i5s(1S8l2XJyl>C+pF{7C)YPf4{ZgLmX0$e~ z%OO5P_BB=jfevZn_rgUg;7ujB2-sufH?)1YB@?P59^8Ex@8^)6#^yf-0QE?NMhxXM zac;q5KU$gNkb5O6`DvHRLwiTZdx)Vx5fGL#oq%t<6e_cE0q8cPm%SlAFbV=Qe!q=3 zOX4`UkM5#ieoLKYW4G^QY<*(H;ydCu3{9D>l3L~DMcy!ha*rHC`drqvS{f`;>s#`s zF<;i73*`A1*e0<9XqjcCJfWi9rw(}W*{~Y;c(t-g87|Ypl!dsM1krDO zGQv>m2z{j~=Z$)#82+AdefGH(qLtUOZQwdNI_4+LyC?EGT{v1k`&(rL!(>rjo&v4O z(MWLrcgtnv`9hha*Ip9*44u}W@NAyv$0y3y)R}S9-0|0fR^?w9y0GNf&hD0opWEwv zEF!vd)gg1^NGq^dItO#*C4BE%P-ZaQPj&YdN0bBWcl#-3)Lw#!9 zml2P;oA0ZC*pd*+=6*H|wa!P$*a`CrRNiSJ>&IfduMDaukQ-g6dc`~^8}Cxhvbq$= z9QZz50M6SL(u@VnCzuQ$t=Xy&c{)+TsH`xxf87;q&8lDvVS@=d+UlYf-7b2iC&Y@? zOnK$iDqeHt%8U#yJX9uOhVMw-=gYJSM7pa*ap)L`Nm9*=^17cGyM>g(3yfhhgnCwn z&&&AJ^1^gA*37w1-q{HsYCP?Oe4cI{jBkFA)O(J`|4T4~Am{bfBwV5)`(J5{o@^E@ z_l&1=r>5re$eQFQ-^_EN%MQRatkQz&P==)#ijW9fAB{OCgM@$9oeOq9g%C%qPCi{^NTKRFzt)yLHfuVy$F!M zV+ClnD5LDRr1c(T+)8k&m_%N7N5(o{tObNWY_Rzd?Jpr?M{guJ2jj}lHz`}R_ky=E zKt<-t)uIG(LI?#V(2sR0%q3f!-v9@o52lPLWM?Gwf)l4buxF=p5$ zdu5wo>wQ7l=#r@)gwILb{-?0%mGMlpnPjVEzTy-fp!xz%Se3rmcV5s^G9p8d6~SHC z83sqLHN9jRZiNF`;t{2WW)SgQVVFyQh=s~~7?;#!0pqaG3Wk<7Ew);2J=hp@u>bOK3+Xft(M|gOd_O4-z39MF zcZ!=~MndqzM>)IO*Vy~;?!n9EGh%Y~G%_Pbl~BPSI=U2CJ8;I7>G8342m9oO$yp*Z z4@3QBs*O&{GPhDnxatS*NX^;zY|j>$hj{8HOVQAxd8CNh)rfQ(-Nk(<+FfKi?`Njb z0elof0;|-c#kotmO1Cen%^e>QIqQkEIzgOtdT{K)J&{tQMPI+GG=s< z>+dB(UGzzb-m%va{1#ZG=Wfa3dtT-}vwE=VB>0ynm)OWzBcMU+KN@yE7Wnpet7RiE z5#-&x;WdBV55ZT1^3wy;<4i{~p^Q9?Ae~#=Ofisw^J{K?QLYIbgYIWL_Bjb_zi@{| zsfUt|4koZw;mW(NL4IM&$#lCK#h5c*XZn5)BI9|}!^VXi3t)~UQO;O0K0*D8#$WJ42to!#P7F` z&Pm~gOWu5fF{SU?zC?jc39{nZi%^S1RdIJ6a`M^0)X+WL8MdEYVQA^<7&~P;vSOlJ zf8eJCY}Zb@Dh3hQ#|dU42`7hcBeN~d3jFE6lcSB1VH{*Q_Th1k#or6rH5~XSNaoNO zoR+vsg4J)>btr4nC>O+e)OeZNc4BHYN#H+%OvA%65MFODWK#|xK6&vSugxceHQ`k{3Pi51E}{H ze_{vRX{7xTNJ~EXAy@igh}Iv?_f-X^_oB+1;964`knNN(euNcDd#1vVh_dM6J(|1g zRwm5;2ho015Mfpz{);bJ9Y5$R-w$wcqeW%+_g>AkXBYNJvRm8<-d zy}djWL##WMgQHA>V!*t({7en9QfFze+I3>Ql{N22mX?k&?4N0mqt&i^@3@Lkg~{2@ z_Y^LoTscjgHy>NCUgz}- zzl=kxZ{3#U{<-As(qD;zPdJ}X-nFkVi$vWxRrVYsdj4_tse@32GypqV$=VHF6CaDWicChRH2u*HeTB^Uu2q_WE)k&tt zmn=d%T-c1kE%!-q^KW@#uos`B+vZ`Rnto7H7Gxs&ZZV>hq`~3=4>)ddb79!y*VR-$ zHF+a`g(S?SAv%tV{J3%sZR8!!F?1Qe+bKS2nWs&U%qb?-J<=(hpcvo8K^&}3DscgK zSb@LG9xLfA|8ATm4~mQ2s}VNq3c!pig@BpH)^51p?i`^dOVd}tik=J|+Af`PrJRy& zve>&d`sE-{1o-@^7{R4ole{>8}itBO~g22!8ZALVnovd#;%*J zEg41sRGQVPB_6d^`KdH8>>d4!w?W>~E;{LFep+{72^K>-sn`jRLyaUH#)v(XbS)7B zHC=69E}p!Ve<-z0N#n3}GRi$qLpeEc8YLT#7?fuPKzYHCK0R5X7#~dVhs5;CY1O*4 zFV@&&{MdIlvgluE)tGBQZ!C|>dT1x4!Xu0YkkEmi4`^i9*NdvrgQaQKnXGT#7%5mH zUthbAOX9rBYPOiDD)Pjj)o26^f@Tw*prFMDZTx@rWbnk?r}+onz1zj1ul`z#GSHS(HLN*57HqVHndBoe>nk#$P7ST`+}nP9G<&HR2yLWD zl;{7{(ik60XACak@#+@7+w9CIe$ZyBuvp3};FPTBsLQQ*RDPBS@OdPE}YY z?@VFxH5H^xe5S?Y$;y*6bUH;#yxh`DhCMk9AOd$Ry=-5R9fa!+IeS93Aq_sZr`MW#p)T=OAv)SBv-jP;8!+Uh?kksc(w0 z{Zt&s*=`>MZjRdn`#mqcr(-yJD}7lGr;javcK`Xa*6>5Az^tVTzC<_QWN=8@z|E~) z5g3nFA0y$+Wa!J~%lv|$QWMC8`{LkuiCzTl)@D+!gpqXEqeX#mqat0Hg zYop1apv4H!H%mRDbPA#eYZUEmkCNiT9;_mT)Pco$h|t%YDO8@cD#dZINUD2cN11`U=!ud1w*o{KinpM$X(KK2WNF1xR1HFl1`Xd-%OW)eV zcK5tO0U|#dU78NY*x{R(*Qw|HPcFHH{uH~0#_1WZv5>K_Sfjn4o0|*;_q{alMjjon z@uX@24fJpZ4>5bfpsxZJ6X5w*7bvh{P1@!D8|q=(FM}M@^Bff&K+n;%Gy^k4nv)E4 z(YcY__Fj#QhNXTWz{w9I&w}`}=V;T`$rHpka1LtnMNN10`mIJT5)eECj zht)I0iigSW6k>Lqb7bp?gBI(~Mo$Ix)RS5-hqx&ajz3CxY4jrC85M0@u;ww}B;N=s>| zDDsj`)86@c(0koQ`_Zt?h^IO)tk~MtLl+A&=vXSBhn}9D@9pLLJSW4KGS*WFf ztpLmI6?-mKr8Du4Fpd$5ie<|-aV@O+c@s^J=L_HCh(ZX)vyP5;bNVhs z+l2`jY{Mc!N(c_ z7s}Ld)y0tW;Ew{@4`Q~1VwkTpr z9Ulve`q?*#wgYwT+t(qf^()5R($4HNU7J?rLp>tLCJZe>9#*SaNR>UT3sI&HKS(Wc zs#lvpf~8xDJ5Sl1g0xQXwJL2Lj9KliMyX&8&SLhMyLM{fucl{EJ8-F9iWd4!5SN{H z6jg3~A=73&g#sh8a3PAfsJOL=q-^0&4fP~i_SDHYW2Gt_h}F*+-&)Ui!sx9Qv*tX5 z8+4#8mb8;zpYv)#ic90$|NR$$@XS@P{=aUtK}$*Y zp6(+P<+vNPJn3vK{&r)`!h2^v(3J;MiIf$Q(WsbTVS4^eJ^QT>1lIIRHuWC2f{t~Z z!3!EzpB_-V1+@!S4>iQ0*zkbK@E~SX&bI6?edevOsi&|9^}&`!G6w_RcZ@Meep1ZQ z-Mk1To}AnOPZdNLl(pOmZiR47je<3Kqj+$P4bUgC;{=~cgDUt??|&C(FEAs_XBUM% z0tZ=y2Tp{LBi4pV%qwDR!OKg?L=ejSf`i$FnNc&a$lqS-MU;;vs{kgGqQmuDj)?y2Yr!pd^ncr|?dT@ZY-A1U5J)Y+u&|@3QUv{W_S3mAjbD&0 z;T>b66!KiJcjm6VXoF&b-PQ$Ez}3BOAyRtc(|?6AOyLu7$%m6KPqZ; zd?KQ{qea{u5m#O28x}ckTjH~>h0$CZz~yMSU9tmpc@w!B>#DT$a9GwiHyft&crgIJ z0Z#&2{|8V&ufM}a0I#hlD;UbKTPGg&u`Cv}Qm4x<;#g8Xt&usP;>a)7@#386lJS{RftNMD!gV#} zeveM00oIe2NDR9*Pf?0|1v+J?4AZ78y#o&@*I?CH2C`}Wn8wYZI17BPp&Hq$DEuf^ z3=lx>6Z&85PZ*-1{oX{Zbj!7Qh5`s$-hi6Vrsl~!k}~ql+bQ21hH8aJGxughF=ZW3 z`KEi>9c8+-n+ky=bd^Y2j>Z*gnfEh5Zpf+4XehxyPv(<1Wg@VL=u&nU{mOXwe;BcmU20Xo)gL{ex7A(f!q^2T)RpwH7*5z!u}+WB3myKc7*f;_CND znNYE{B&=|@63?7IU3Kh(KzZDZwQ@Hd;=@DQXC?=lX1H`#1h)2 zFGp9&k}n!9QF5~-;V`OoGMezgDg5pIUW>s8v|PzwFtqg_z#7(t6b0}kq4-WWausCd z!#ySdifdXD9Nb(7DxObtva6JF#c3V!Y&<$ZL7Gz(qBHTMT%>amM*-782g!{@B(5WO zl)O0v_LIb;n_yc1s~>4ls6PBl@{SYEVKug}{Jf{MxQK8Ak+1z+Hdq?S5G`SDRqs6Z z8BBFICM;0MY;Js)j)qDj+TaO!g_VT7oY`%slJC}xFN<=y-{5t=L_?DnKjN3UGkg4k4mj&I@Y*SNOKfIi`5gBd?S|`M92?$ zj!+y77-^#1l)HL-LgVJ}5T&xe{Hh;#_b^xTlJi^ButfZ{yhsy8q#H$gf~UuDm5_&> zvx2Lf+IpuXAqNL}Em_uGz;W+Vem^AD>7gi?C^j)a%nyehi^R^L_oGzkF!*Uzn*&Gd zBrtR)y!RBg`M3+nuy4sw>Zx4z3&pTo;hb}ot}XI5a|&YeB=P4c#xb;%{{-Hne+Gb6 z4l%za)n`3 zVhH)BSSl?5J>==&1H;AqHt!VIoJZLZL-a$z(>}6m(9hO@$BpRUqMr@LJHV=Sxf%Ic z>MoR~`S`*_8F+5W47w_tIlw<_?^k>V7VE)}Hqj4-tS8am1Ggxb_`0Bc%af!~L^dW6 z1s3H&^}&M=#vlerRtGeM4u-t5G>n>9!4qVz-0@h_2RJy5W%>=T{fVFW-Iu@cg%?O( zwkucySC!&;<(q%y+SzFOie;nM*UD&gSjPw8!vn+!6adhwg=@xPr_sv8@@UgJEhySb z5BEm2MN?%LymUu}OA3WEo{VEM-vsxKU-#?tbv}VuFtWv*fh50Af|F@a(w}i+=R~*{ z98#&$Fs~SS11N|KUdPBNz~2sRaZtETP-atEs8#W$S?*&e5HhUT35L;LEw{bamm6pbhWhO^J6rKQCky%Gjwlu^>R8A%NOp zKLJc#em;1#+m=+e<(-Hq;H#9hm{b(*EzScZ;UkApl<1>zsIkvZK|A8j`zs4cWr2L` z1M;z|tP_628}S0ny+^KTQl`%ou_*^c=bW6eZam6lKgNW_x{xALU3#r6yhGLQd0PJP zzXvZ4kL{s6T3CF+TfjTd2UK4=*@ygeeK`k5Ys*Qi4QGoJ-@cNN1?B6aI5yiGC=qDt zLe=6RH75v(cZ6N}&$&Lw#MBFi4k72=f*%!fLrVmDlM(MB?lZsAJT_M%QRXQJ<;v<{d%a>yrU$M8WBVAVbmTkWD; zy4J-(?T>Ye3~$l5qXK1eaBKopAB72go8+R6lqvrJPVT~|E}t%~;VyFPBEv4N(nFNi zA+1zrD9f9zeEAU64#+5dM}%hp!2ohv(rrLZ@U=5LP?>W1!698Zw$`1M?|J(6I&>`; zann*GDm1|!*n=NC7&dFPzBRc7RXb1+xiaGY&>M8EG)bG z48%<9O{Mf?1wGP1(3$bk$dI^ikZB`AvR<_$cea>J$2+%xpCO&k2MpOBqi{n3^1kT? z3M&wK_%2N8pz--@(XsvqX?<^bXQ0vT52BB41RWJq3;8S5{ewMnKY{#^U8txu@Iy;+ zJ37T_EKu4|*sz)uGP0zcIx}4YWr@<+J4e3;imBbA6P>U*&(CFXmUE=YRTf{YLL)9ab^i;N@?za9|fdydA*~ zVYQ-*kS!{8PvrqjEb!m%Ghu3fAFnX2McoVG3ILb{8#^FXDhCX?)$hBF)u7*h3V8Q4 z=c(9&998nt*GIf%w>2n88^`$|f}S0ZHpRsnTa#mEuurjOVkSG_;P6<#(Gisw{{5q| zjk1_ldjR#JGv2Atb6VX3wSIn!HzzLt#MUPRxWXF2+!rSSZFoUra!$(~J_OMY@!%+A zV@lN&?Q__KdA4Zz8V4E97x<{6L!C0wpV4ByuNXx{J|kM#j>JMB>fFRXCk+%<2ImC6 zMzM9A{QZJ^7y0O-(WRpzp3_XPf-y)h;dj^XK=&Vj7JY`b}SgeN?_zz6iGPNdifm3FHM%Pmp(u z2FHN+Oe=Y7dq*Zi(P(+>?$U3^dov^6-ekWz(HJslVJrCB=-~QVV)HP-Vu_XQw^xvk zk2pqF@sVQsHhBIU8`UODmW*&ic3Sj_bT;U_8=|}HBSRq}C*5XpW&c~Z*ScZe>b~No zZ+-ojzu{BAs&0n(bjo%mN#Lqb9It=<>pPFT?&Dw17tkJMtF=XIYeIj9ZA(E=;8HOh zUO24U8vrMjZw%NrCyVNE?|>yi7;Q!670v{2D_6EC_V)L~f8D~ZC8*i)dx7D*J9Lt7 zQ;`ME46?w00bElt77lfKCjV1;p$$c2Pr>#02YM%4jP4P^O_cuq3Fg`pxCt z9ZcPtcjiCAW(pc@ZdjcB6!eEp>nbX>wJP9tyk5F-#pjF z1XP1Xs2YKbJA#~@w1T8A92IHIZYNBjjIsvE;#>msPMq9C-pF|$D~MLLE)bQ6ipFk` zRyfv4XA4#|5A2e50(r7PPOhbw6lA#C;6deMSh$P;col_n794CaU<6o~BjN?y1!-dP zT%;*-hbs^OPOd`VY0YEn7d}i|$4TWiS?%V|iY)qi5ypqC* zGMf{E(GpW02LQSKSN(avy7}X7u6Fov(>?dSA2AQe3vfqRKDQa#MrAW+*l)C2;7wko zELTegYsCA?)rfOD#e4LvY;0{HE9QK3P&(KsHdr7Qa?p)CTQI{3D_+@Z4fAR}=P`%# zXA$|A*~@kXO5mzc9M62(|MrZHcIV4_)J*Cq6Zx9eIV$AL`3khO9d^4wNsL(3jhade zs#k6I2331b2j;<8T@WqaG&;&k%XL@@KrEo8A`nPp^;#-;wDM+**3#u9pgzbJBbvA` zNZSGxuw5G~l!How7PY_ugVBmqF$pL!Ax}_3VMtzU#EFJ`E|7@(KsTG;{upbOKvoXI z?LoLhV!;sT)l4M}A`WoIjW!C<;lbz-0D^@bDZ5J5CA)R=q*gV+sM3&x#GoO7rJ z!4oCOvCV|WO@Ms4p#K9t^^qssOEMF*g)X~^b4R}_LiWr{Km(cLUi3Ren99fd0Il)J z!~Pj3P4-bz;gUk0I%wq5CV~__3fS)HyC-xMD`RA8pM!lR6Rgk?JkF3~1MAbr;xiV$ zJ3QOy3kvrU$_iItlT~B;V-!n|BkzR$5Iz)@P>lAnTnN!dhZ0guHdf?cd8?H3cj%|O zsCX9}(AdW9*=GdWIhMQGqwyloT2H$C6p2!khC5F*6x8A9fU*p$>u-1z{SxQm(H!#r zHX5gSo{R#7-yxIwmdI<~)%_{~NJuYElM1oF#W^}tcCEWP&&@e2lO<_!c?AQ!eR(zF+TTZhp(J>I$!ttxBkpqzUot7up60_pDRiNSG?kQ_q*TSKRF$I)5&gs zXNl`+f&1n>FZzKkPr%R?mX4`5fYEaJC>3uX^Sir4CB>h-d+!CjFSuQZ6T@$5Nk(g% z=By)vqLnP{QnOEfZRZQWsXvJT-3C1!p-P|raF;-2MAWlzPjBh@mkPi z2YS3CfO?buE7vkx>Jns#_SF6)WHdopZ!sW3`Drmmz9?Humt+PnoN7I!h6e8k?~~7} ziE@xH(`fCu3hfTc!vP1&`Q40W8j;W@00fYQd?m$dc`Otb1qy18rO;#W!HqXwUtM?0 zHGuvE<+JBRJvzjp+lB^iE#LciWIT(o-Xv1X*Zv!q#@Qd9uMVcW)r94C<_v0Z;7Fr| zg-l(se@82L&O7RYJ3LNg3vaQb!CwH1T9E*P^k89_VTbsXN^892=p{m3sUi_ShQ#vP0Kz^lufzRaEC(v;n3i48rZzH~g?i3z z3!Oc&fHk0^qJjfj`orzZu%mqwx59u$=^6lU1D|%X0#pvEX$M{0Cajfo zc;M`FBjfHuHVV(YwB}S`(pQ$s*zzXjVYK8P^Ile3q`)0FWnRgk+F=;87Rj7eyJixU zj<}TFNT&k##DN63V*tIqg9#wXGoy8{6%rr{Pl3fmHIKYGZ>H&c5`96$#l1vZ1osRI zgnKir!^!l3;ni3REG{SwNFoc~hbSjp#dCF}mUCUwU;zge#C#M|_^lQ}-L!Vn51@1U z^vP;=|NX3DKtlklQT_w;Eu*b`_@o&@9<%Discl;P74D@$b@PoMU+r%^K$&qtp$vU5 zx=i@fqDYP?%0?ek5>9&8cnHv@k-{?@s}RTgwt!+1=#q&%ypAXfl(Nd1GHZFd;z1La zV+@7HI&ASiZS-bzBhFv?|J?O`zwnYLe9e2a49oG#kiZqKINtLfW^Ht)FXx@^El0LI z0|}}n0JEeCIoI`~FPv&>XLyfRo~O^nXc-)_GN#H;?0FqGpQ3qw9s>H650v2sz`CWS0WmENm4-{j7*C4I zEG!Sw2g1rLyCcqA(teEcXdvT_&7A=9IZE4cMk)+PW`zqTC_#s8I}q$4D+%*T&^LrT z3mOaLql_GwP@#;LwD1Q!i=~Z~2G7I%C7`gQw3f?34M2WqVC~8T*z%(SA%K0(DguLQ zbI2$)Tv2`!R^`u+Vvi!JJf!XOvv2LhiOuTX`|qJ_lWK5gi}!*fqyHMbi}rDhmLt}m z+O0NRGKAUWjEbGHg>ZZ=PJZmoJ7FNW;DU@zMhB!Mehacpf(pAR5DeS+`b@%y?DtRU7$ ztpY*7I%g}&`3(A~qjm4FM}TG7!p#Bz>({oW>arOEXSdC06h>t&XJfz*V6f$kk^rLP z)v!}}jEjlpCqrDZ3{*PY(Uf;BAV;tyn2@IiOF|q1AX*1AXs3Pz?!-O&L0~gLLPcZC zHC$BCwxizJ+7`&6l*V-^u`Veybbg2(qmI~dPDd=J#|_8n>+`llIehk%%Y_vk)n!%! znoD2UnJjQN00Lb~j?U6Or(#R}Gvb2cKUbOT&Q)>GP|ou6V|fA)QIW!hnwa z`xLZtlwXXTB45i&LDTSB?ngh4d8%G0zv*JW35^M@!#=J&`im1!San^$6iJ`KcnA&d zYk?e&?5qbw9l6J|ut5ThgyzVf%1Kl|^V-gy4ogLwJ5A|!CdDvsUd@^t55@zp(mVNMMU zK%tcjjsxC8nD0L=Vyesm6;t=jCaqU{Jcd->G2qdp1$7=UwU+Yzff!jcWYm(&o9ouF z0>-=pXv|O)E(H>;Td|b9YyktmR46B8**X)*0v)aI0gBGqnBvo(VF3u_GN#KV01Pr# zX@M)Sm)iojJWS}Y)HUYJ^Ah4Dy{xX9|HWuP|yHaE}SimVzmQax!Bqb_mUO{n_xz0C=MY= z_mkHGuz$8_6~Qv6vuprogU)DW77vJ4b(A0aNzsdxDV-tmX51DddX$ZHoyQS>!H2Q< zBOlpz)2>wcI0@2;f-zXYXB#8e{BRclttCY~JIsBKt{)`)}R2fN)@paXS_B9nYd$l_~$2wI9)eyJV%oTH4abR%5 zS?!xB4(6d;K(4&recX66R%6(wT#F9!WXSJ{*48KD7<;sYt$!&(AY ztm0sh%a?Qp&D(IdvdSkQhw{*MB$~MF_mZX5C%Afgt&QpgFZ^(GyE;ic-3vqJZrtMQWH|Pg(WC|VURC1RT>2`Mk9A@WIgLTaSp;S5m$9W)F0J@W`u*TPw zqsxdWY{qx=lhvJ3QT9KO-gK@x6q6AF_|+01gbC1E7b*;Q6^I~gXEv0eLUl(8oM0&C z%{Sjd4k$({E`im#-Ca7+afR7>#iawO0K^V0SeI@;#j@Kw%qMUyDf?EmGScKWV9pUn zf;LJ<%gWtSIs!?>V~bthC8<*M+GF06Pv7j24rQO?E(^pnJ^=!svJ;rK`cwqmh&TcK z#8c@QrXgS&b%FWB5MhpPksmGloUcc>um(BmlGIvsK1ob?M6tGQQ9eoaoX98nNE+nX`T(`Cu^?fa+Yk|Dj3%xFvO2a(}!i(=i8>O|i!zu(P zPFFYFbaT~Z>2#lwD;qDcn5HyjCM5gW60vW~7>ZcVG27Do~#d|Xzl2VI{Nrx44MmDyYWH{JH0rq&^W-t6N z)u;S8r0-%c+Z7;zD^hXL(R@8n_xF5}=QO8Ue2m5+o4P%8Z@BewGhJZBk4j;a7XB@) z6Saxk0g#%XM(NP0 zD8R&rm*`KhLfYD&35+Td(uKMSpoWG@gFQe6#i0@rOrkOa)M?2IKo)#a=|qPzWs(Qy zZivZ(-3>QfAM-j?YR+l6=FCZy4!&)!)t$^ugirbf0M1S3ZEON;eOk0p2C8{Xa)iae zPw0YNoU_BPfSh?Yeje7E<)Ca62&H2_k94FJ;4DwAX;5NNBV2&%0nQz*4{pcoc;iR; zv?xdwRtHDY7)MJbDTc(Kbk_Hrw?_dumWAiJ#z;CE0a}?(5}ar%QYv>_{bm&mqG(mv zrXMg7?(~_{w6YmdCG*Hc1GS}89(mfyz`sz$(6+IW zMqzPIycqcgO(kVX{iu?P+eV12#TyZtBPklW)%w)R+@g=;mY((L;vgCWbQPZy~%)u&Oi!GMAp z-y@H7)G-@p4HR%|q!OkM@J)|h`cs(Xc_VARJqwCOarm&VfbEJ@9CTdY!E5|Py~t^1 zvLGe^*jnc0<~Z1*`(3xozBPv zL7V(g3@*3gCuyCF0hWj2)%wyx06l5oqFexKd(#ttDYG=B)C5O)=DZ`Y{t3lFUe2$X zqFuWzouPZj{uW+^umBGH!XtBenz(sn&S$p(u;opc%nt9v)(JYA0Y~|2s!Vyt(s3BK zg8+D1NnSiZ=XI#yw8nhqPVigbl&7C2cEP|<)W}4I<#V?a+u^`2yW(;rhxC6f8H{1y zj9V)4IyHE}&DKY`_2IS0`#E4J?+5R@pZ=C{)e*>j_nf3hCJo%K_b-@Uf#q@C)^$}s z>P3>NImkzhHlz=v!Ca0emdpYL(U>u6kLPld;odvAxlr{CLuT#?%6O^k5?M6+QOF z(xp;|dk3I!_+pESDyZrjazdID;WlXH`(Yd+lCG})96F4KYT`fES`e7RWdnFSPSCtdQ!UYx}4h!&Ut3Rkw*gd{0@{T|H!)j}5hYnXv3ko7Q_W`aJtMI10wHb7E zkqY*0%R0A1pfg}0sNtlaQEsuuiDS-55tLPQ`55jIl?S^m`n;(yLJ2}YD-X-!40aW* z>CH>9jaI+ULz%1A&4b;JXdj+^7c-s>VvIbLHdNsqK8WJ5QSJoIpj$Js;(=?QyR+_n z_7>UrD%}BnL(Y3iO4^Zd4l$+wCKMu;8OnYe_tYsG7WN&a1rn1x&2O|guuKKOB%mk{ zT*NR}U41G+db4?EX)v~(@g2&gd(9HqIqeYY>HxRr#*mKW4W1=(#0}(2sq)yTVRPRD z4*>M=LYRFsiq4_l(V+0c(m>nU`2$8mb$T1b!6tEJ6fP?#GVZgYfU6*krwr#M|F$ba zAL4eRufl$gO;;IEo0?Q$ zC1+)DM2%o6=11k^Iz|>zm#v6YNoq?PLfW7*+FCq`&-mQAT`I!{UjlT^DwGK>3qfYW zNF`lFkRh3%NE%w_O)9paX6kkVe*MuP*R)KxcI8o{+w;DQT|DZO38cvx+@dU)|H0&x@8_@+Oi7TF#y45 zi}f*vrk(tKGU?)?9QRZIhb}{vw}T)YnWpk^!eVM9AS=tjzgCHSg>?dLJF*?-Y~w?j zuT}t7M(ip&x3JX6!%{miV)y*{YKMCczn)_8_>}jV1bY7b11JwH+};*xDJy=)EZcC2 z1~q?F6wT`NHP_L%K%WB*1}*D0t3T@kv*EKq`A?9)Gux+30;Cr3EO2Ad5OK3{;roH; zgHILw2&IRS!FULlRXKse7_ej_>s6s1QL|Bx`b~zCJ4%kSHybPkkK#}!4HQhP)#seS z7&Hm^${_P5dtdSM7k>2LK5yqm_nT+g9=;N|q7=t+dG6$RIe#&oh&1l3;I_t6WuT@2 zL;xQ?SR1KUJXdjbeuZErpg4P2;EGj90T%lvrlhk!f8tKtFFE7bal(e-Bi8r zy>~-Cfhjl?0B=h$1C+ClUEjzFTpRQ=2;#N^onzsb^8|k7rc2sF+H0zgkmDSlHEmS)AV;HVv*tJ}wZ8^hwP}x}k zWB?W9;xG4*ox%7_6l2KCJjjr!#0B_NZsu?L3}|tWungKkoAf>pTiJrAAgYa|Ri|a< zQtGz01ub{^LpbDZLM}N`={vYVI?7O@54L5#yzjsUTjc_&px8jBbF8XHn^rMO zA*>9_V?RWT=jOUsU4|(88QfT#D@3HCS6=W2FEIljd3)5durEQ&RDPYYt=w%0$glkt zG2xM-WhLj)_tOcdd+=wuyNva9H2@na=XTEl{$z~2bdQmf!V3lHa|$aDxwz1w3v52- zv5&28y6Kh}?6AbTU9e=%CKkw|N&nVlk7wn)Aj}tr+s<7nfx5874W)!z))zLFM?8Oi zTzS|Pjva37o9+s@4Tq>BGq@%U<%&|<$DKBuuq;ZQa7H62Mh4Ok;;6bALY**debCyt zZEK@#U&l{HX65H$D}gIYaSZ3ZXX3YihLzjO;J2p}kR^b%)lOZt9&#iM&{0{ql!z0q z(t1qISdQAIz{3gwZBL>!>@as$_x0D^z(<#^p_Rz!5mAkQT?NSnW2;s`bm*k5{d(60 zglx~MnTRXIR?S;`5B@k)7xcaL+yJh!}#{@nCIN`LK zop;gHcOsy0y`W{OVvAv_Y5}%bp4%{#rEN|yB3hct!A+InQsN;qGWEX7Mo1S>1vWdR zr5P3nfGg$P5|&0*Af8Ld-7qaD`xs&%`udwttNdKcI?TOAIyQSwuutjY_v;I}qC z$^&+E-}n)y>u)#{Lw`Y$m^>(ujE1Z_3KRPLV4T0)3?=yxX|?!`CC zIoGeRf{J0CmWM>K9+R5Dgd&AUw>T$1jzYT%I24Z&%#KVPRvc~@1ISOmzHwBT($4V` zN#cwClBTc%p94rbFx@fpD5C4Dm-lWI2?7H(iw{N0< zeKs#&zDzQck|?QYiAB*R2qnRgWw?e_vIid6U%;OsKZ9Wu;E_GBC-T6P0t|Rk1sH~H zfUxX>B^A|>Niv()QTB_P?U?+dtMRqmWEmnoQ7mT6&6(C;Ie@6%?4~Wh@Vd0;Vf%O<%um(fN z4MWu!d@CDhF)rjmew;_LE#;3>05vw3al=e7oxiSLz5JZ{uVX@rFiFm4w8K6t?r}Eg zV-j6aSC^IO?EyRiuPvFJ{ZN-?w=6y;Ix@Rz{s%jqgYQ!Mzu|LpTvH7EgJB%s`Tlp_ zV}yQpMg-3p_EtBTQL=VnoHkY^JMF-Z4Fl4-h)zP##w3x5P7pR7YBm`4kC-@|=otk8 zbN->lq{ue$koLBB7^LIs&;R_-tH1iIAIBVId4>2n&K&MVvW$dFUcIk&jUR>7*GH{) zL!6&{_9YXRFb)Q^j6<`?Ht~((V#^$g@h? zAvPpT6++BC34hARMCbk?LH6A z&wm>X2`J|jZd(exW)wbaqCoC@s1=6jo5ciP0Z+WdYPbvLOZ)9PHraZ^I8sij!}pXD z{56pp6(26p6nG!J8z`ukFc8|82AQ{L5OKvth*`ljPMOGFfeYuv20By#=Ln4~0XBKh zarE#-QkH8=hR$d3-k&`E0>VzX6!OTR=d40MxXS{*qt}F1Ay6lrSNGs!v_A3NqmEt# z4L}nx4&8E%@`XrL9a7fO8m$Kh5?yT7O5GGIrYvUbw?_A>z3~I?qP+|Zm(TnO=CKtf zsWot|(L`GGb*9pp$0G0}YeC?lXfd7fVz~RCP~E?=&YR8vDu$*L8T8&p3M5D~3kPPAlRR~cd2X)&9nF?1DP@(Y_M}bU2!-qWHDU0R2 z5Ju-JB)&euFruadzBc&#pCO%3kffQ8E(Bc$r)B}~bA`5Un`KW5O(#Hs*~9Wyn8RSD zw2QV;hV?`nsfnImRmK)mgUBHl3$i5jg;;yP&~flmzb7aAbC6A_oE(;(J0UN#6<12+ zK5N`%>(>je(m=8Ui#N%uA|>vuT{;{M2{c#+Q;UVdlBPGjt}2#LRdt4tHKs`xLk?8g68ET$jl+WF0==rm1!{9qUepwwpeO5jB$xo~2pFgdpug6h24awSM$B#OqCptdba$HxR@O;4S!lq!0UFEwdv~i(fASNq ziE*T#KK}d?7|joD23rX+QcMX6g$}iGI#SZ4c}AjdWYPtMIHV0CCjpXRTSiPcNe>-@ z_=H%I-TOt$fLaK)MRMvdS!rAD=7z*iqNvI0&7)zE-nYIY#fSVRk0upOV+mExs(cyr znM|1qTs^J%N`j*cZV&wHD%_WOAknIId1QA(euc?tSm%fr;6LF~gqtH?Y*1{8wz*^u z+SCI(X-uYhh$oy#aAAEu^iJ-V-)I0y#usIz-Qv_g(q)q?e$!U+rkpS?)0ylIf=6q-@|jF*O2#&4B&# zp)Gvu&q96%voK7{lD>9$^eQI2TRY5ukbkyjcTC>v$>ardaV(5=f~HSTRa>MC;nw`u zMS$z0b$E@TjQ-pIU^txpGj9CXrn)(<9|rzGFpl@{y!#y%&Hbhm)DmC^)Db)1y?k{V zchoy~7z|7ZZZRsH5Ojbj{ps7k?h(b4`3J}G33*PwdQ!c3_F47i7oT(fmCpV6z$3-u zEi+@@VZp#R42OR84&X8e!HZ|4NIE23E(+77*2zOB8TFBm>4JfydEqW5gfZSTCk#p_ zRGoNt2RFlYhj~!8%tI}tzlO0XQA2Jrk5a0FXfi+{z|M)p<0wo4GH{7FHr=t@Yp(na zNzJcJBP36_`IFQY;##ERLI5u3O;b~Xce5^mys3k039WjI0TE@=x}_TOLf7R�yc8 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

&=LYti|-Ge;<`kjRXhS7vEbW*C%o_6%kFq2P4 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�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 Qo&W#<07*qoM6N<$f~;43%K!iX literal 0 HcmV?d00001 diff --git a/docs/images/Kang Fei.png b/docs/images/Kang Fei.png new file mode 100644 index 0000000000000000000000000000000000000000..8d04eae04d539db78f91b9e9cb1a3b386002d4a2 GIT binary patch literal 110548 zcmeEug-={h)b=jLp|}=zcXusN+}$ZfTHJM!7HM&JDK15d%Ob^f(c8A_a)yy z@#f8BGP#r7B<52Q*hDBM$(881KIdw9B9Q_lh*&gS?EcFYpwM*6K8*w_#-0c};enjq*Wb zra>V-3FQmp(ANayFG}HS5$XjWW~4*B5pEP`k7~t`CG8^_ThVkt6nKa6aW=~|>fFef z-lvPc2xDm+V`%~=4LAEolLvXQSN*g0`_8I+{>3ErBfYf_$a=@VvEHpkmHu0?5=T~~ z|11ByM}X53y^(YC_rg!9ZssXTSL)l2wI$f;i+t_8#W^QCcKaI4(9Vzh@W%huyG7{B z{nM-c^;telFtvP*00oQZhnOJT<>-nxFiMR8?G z+Z2mtC|uSB2+6%_!KPFNPhOs_l$On$TeY+_%qp)K7|b@S2ef)|e{pgs`@64SB_KhL zRTk+WoM`;Z?Om%u?HdgHmgQXUvRQS91bt+-l+LE*vqt@hzQ(Yz?PG3^(k<8ER?!S9 zOnvoQcCP%q91^Lv&j*wEV`q2M6_@pNeZ8ZFZQn{F)3u?66>=Vm8(!BF3c93y9%U5s zIm=gUgsez;P6WR5y-R9+^U-VJ{HsgvYE03iEPzoK%g$b$PE95zC{y;kT^k;VF&#F4Y?v9IuvX>FKkhqss5_%%!Th zBS$JmJVzMPi}l!1!sq=+`d^M+eLpQaLVi`VQ-sC`wt<)1ZGzpl?t<-nnRujT)_?Ey z`hZX5%IIdEbXYFfi=~lZc2*^(mPW^>O)j6tJVE>IR-YfPoLgS;LY}NI9)Ie8ZYA?Q zNB?V7j$FB5TwTXeT5D8HBY5V`1n7L5K`fLnz>8Q5^OaIlRY&aUlSVj23Q|C~5|Y1( z^q{|ybodg;ezw*j6sr+~0qd0~dAs>N%f2q>30%)_82Vu|ee*|n>R#kZ?q4ui|73mE z!%kA@v{BN}(d*GeOw#kD-bZAvyi|MBNILY^{F;4Ob>h!;9>UpJvvcke?|cWn*G#W| z%e{8btKKjEKpxp=B1<1rwU~rB-M2h-m-{+?n{5F9RmIcW_T@(VwNAu4eHF$8?Un_V zY(XdGB@yuBVE13x_z=qNj14XD*F>H%k4We3R*5S=S|H|J}`$&d~=(nhvjf+$i zRWeZ0N|tvuY^6;M8e+!rx54C*TsUi%6p`xo+<963L!qLhbKePn70Tfqi>Uhd z<(dC)gp-zuEsYJFHTaT~JGhR$MY-g`SITq83vY(f5%!*e6Y7A@O%C4p41{yz*sw0> zf%~kp5<#Zb$ELWXE-P?+e0*7SbTmI7U-JI`Wbxx;8wn{p2S>%N5g!k$;hQ_ehjd7Kdgx*QnwJmq6=iYtb_o#GsdTg8CTMls=yKZ0-K!D>pI702w@{}G zpo#Kj0f?}4u}#+k^4`fbtYU;jAW6~a?U=uO`3UG^tcI=77fUg^kO7>5oojP)qf}&M z7@HhhDCPEuFFzqng-wm<88&i(EcCFYr6qtrsY=W20MxPH&VNwr%4res$ZUhw-2Hk#b77WpXjvpeW6M8}(&dkC z+F>(vvs-#DRABtLpE|#_5FTw%K(vHRUQ`6Z0|PQkwgb7e>q3~hkIkj$xJi|eZrPJR zmx(gtq|*`_TReX=;-J;oc#TDv{)Zgcv8T*{j&(AF|pGIPw0w4g_c)O z;`kb+(!aE9wseAz2e?WXAH*1L%bV5oFr4m|d47DXtja7_v1+w6y}fPyzy}&!JG-M* zyLNzO&%fVF-%bDUjFUXv5*M!#*g5M6s>?^Fg8vfLBEPAT(x5&uHrG1CTN8{ zodo>ai8oz3`_)DBR%`=kYW{7|U!R^5=@MZxN#O!(YR8rUpf$RooR;HECk2k0@9AgJujc>4301PLbFhR_w(06_r5kU$&h={6HV z;@C1K^CIov#1e-w5gw*%vm34Sps3Xt7#O`If%<#e`cM)<61>aE!?lltH|%}rF_v}h zNY$1F*rdW-ALUA_LeFZ-&dYy67x_2x?@5#r;#z_-Uyk6*WuhGL^Dlgv-=i6>W z#F1@&q{_ySC?!wW_Tr4o#o$=dl%DXZ9w&OY+)@(Nz=qVuJg5Rrx`Q{SWxM@r34DJO z)J5w5Go!5pfYY+&*}n9j0`S^|_Zw43UNy)UT06T1VR``4+I6#a=AT3k76tPJpmoKK zAkM8@Hp5SPn5@L9TS`4)T?#nFFZJ74A=X?4KaFIpCxbCv-kBo=f6&;(j+ky0an~H> ziW%Vt&+T;NG%TEyPGk!zW+~sPuQ#LGn8$j=e6V5g9?K+MpjJSsuS8+Al>EbG)$cp& z){pz>^*iJA_`Jj+3yRe3WVc;l~1#3#eUGyVMMYWpRC`8l7`#3AUsCHTb5 zOIz4j;nnXa!7z9?`l$xSDU9Cv^!@c2x$118`0s_7Arkx-SltEMu8S?w4@K@ocjINQ zRIp0@F&R=1&<`;LJx$viw!zWEzSp%I~h3(J(*G@4fKd@RC;smXMXW*J{xeo zPwia<=!H+}n#<(}=6t?#=(Q$w%iy)J{s~4rLangxWz(VRI%abqv`#{N(IH&6&>he! z!vL4{Cu;n8%RIu@i#9p}xcFK;4&^>M*uy&8M2!Q;cXr~k0>%sg@$+mnK%azTq@Y^b z#4&!+5L=gO3{(w7O-`B(jbJ=Vc<*Fdmk(2nP0Qv<^3Db2G#lBR!sP$*(4?rcNXuOMWK}08ILVe zcQ){o^q-oyW!jc+kXSEVsE5BjJ9bS|5WEqU?GL|6LW`{7h4#esId8dK=rI(nSep0fa47NV91(5%PI>!s>{awrY z&4%dj-1{$(x7?95IU+%yCe}+*GSMpVEi9&!L$h0fW{kyhpqk|YA86tC!n(?^Re=8b zN($s=;ztp#jM&v|NIjmA`q9mi&X%3^mz+Q?td|jTL8q)sPvNT}cfC12-jMowaUZL9 z2;G+z>*%gbua_+Qm>Gyzp8(}mPj2`|Y@V>pUXik%E%%h^#P^Zc5yNy)bzYyK^Pilb z@3r1E!3(4WF1g^a`_~(ALi<18DS)oKX+bye?eQXM?9MEdb?4cC?GBs9&*C@wArYN$ z^c)bjh;hOCDdjLRc88+@G58I)hmsy64=XsK*u6-F9>*s(YD;u)N94yTk3DtRjt z!rt=}CPDw=su^48O{2k2v^xbCjr+Jlvn6{LYEp;%=aBY->>dY4h_}S&6}SV80ge|> z8)#tplGciOs7dw(rCq7%ymqV7=I17phDx6!G9R3yppGf2HpC-#cJ^0fKL|~9iYJNV zR0R`>)Y_$X48FJ_+D*}nGBnV14@v;btA0+eyDmGVY#ShRZjG}t%r>%bx9;JOBiSpm zSB8vtumz19{Jq9z@z6imeJB9#Y2NNI^3EREAY^*?GvM=68o-sZ1?fl}e)dD$HS8x* z9b*EU$r;q@AHQHg;`C=G#w}h}bi&)fDQE}Ts{s|bn_WoGSx zQE`ad8Az+!@zNY5eRx%t)&m$xRRvTXpX!A=$A?CAy_S_B=IV`uh~>%IvA9u8z)w4| z({J3+>ktmbML|q~v9(OxI*dD7tQHyB*o5(WQ(xPeX3`iEQ2+vb95VX*41NVjw%W!% zvG6~C0=Y326~>g{gN4dv@o~YJw;Fuv2z5i&zYSAk7)fw#z4sE>qUH{g2MQ|a-i#Gn z2ziP;)rqIctaV2YA|=~?{YXle&wd}{FOP&M_JNOG?u?IX#ww|G{`?>4-|L+joq79X zOr=|>yY&gWadp4p&djR~`sW-|&i#7{Uu4-XV6V?ihSBic!}aN%vf85Uq4zvYR?}*T zi>O_|=8&=;R&KO}EypZ})gc52lX4bQNVCRRB^BdAz z*u)Eh+cS9);>%!p`0C!gSWeyt|K5z^_q$nCr|g;l!L;_OBH}|oL?zomxjE%o+*-f= zB96rooYsfrkq_yB&)Z43>S}7mEM2rV!HC`>zhI3XlynMs#Wt-1SxH?nWu}RsYq_P^ zkPN!m0-;-yBKnZ7SsMYoB)IT+-H&6tOusjJmb^&=41*#nKd8tsSGpyH6W6cPS~_hL zhb!Acm@Q3e_x;pEPip;os|FcG;Utd_w@T5oVUY#DrZ_dr6@9)9vu@%HBP;nCXzOYd zdH&}AjuOGj9QIw9SQlVT1dj3bl)el5!(hbu@>Jr|U17IZ#74e)*qyq`PZD2)(Kwag?vhJ#SE2cum~c zy)X)(oO;pDmzu@uS7)HcT7x8C7ZaVeDAMbu2w+%OrU)Q75#~CGNI@% zkR5;hU*V1Sa);4y#lN`_bmpqUa1_l7zg~+Ek|D@m-+lD>&J_qRZu{KTrD?-US&qokXucSy~W zmW-}r(yA6dKqKjKZL#FGLJSwAMfBfcFiWHN>Uly5nZ8HeN~5K=pMvfwEmg?4gB9r} zZBVClbY>m=-C2zzsf;g+*qqmSHOwP~I2{Isf@qM&huYA#wI=vtpBOWcp_w(64OfTu z2qU0(EFgS3WEqR-{E`OTGB>e8wm0>vGqa7~vzYiaj$`452UKhUSFksk5ps!<9!q^N#E%f&-T|AkEkUnL_fx!e86#!gr$K~gldlp>c0F0{}4U%Hm@{b__wiq zi!DN{pXY~705cJQPD;BoH${kG=RrTaC1!dSt9Cj8`Fh6vEv{&&>V!-TC((Tah6;7TnU6X zSW!gpx{4$L0=Ko#=oiJdwP=YADdrz42Ao!Wiq`@I2Ylmmh4Ut<*SHc|7}k+AhVd}_ zw8B4nN%m`f_rtCBFef6rO|^rycH%QOc9M+o*-}5b=_Rq&=>!reL^uWu^adij?u1{8 zKxz2u$Z6L4*u|Vm-EybC#l=-ydypk}1oNme?)JNF?3ENkBL`$7hXs1_J#vqjJw6%S zFlOwx6e0&+ezv%uz@`#+z33uyZtVrki)*k%X`{`xuK&g4%Is>roWs^l zG{0ev%1%g*_A4(;yhx$KqGt@RDJJ@5R+}%xP9SOk&({`lm6xw)vi|EP86DtMuL;$; zw01<5PAFi_if~vF`#98igVBdrEi%9$6B-z~(%Y-VVKNGgI zV>Tz29oAOPh*zy9=df|F`KA}=u{B_vq18mV76O&`op(zc5f|Q=a%2JX8PHy^4cbt} zg#I=ZGCTg{KdV1Fxchr)Ym|SaJ@}d_+=5nJ@y(=;@TgcrovY{hcm)Uv33T8Dzg}^s zV$lr>q}1BfQoHlhZN~V;3??@7yI4W7Im@RYD>iT|jkCZ*`I>l`K(vNR&=Zm?UDhbU z!=nZzp6YNo=#r=qdb{}M-Hy|rLInG&tHs}$siEcWJrjDxe}&xv35e+;S(f4J=Z`llRm`(&abkLbTauOZZW0eNLG|;Mat4Ffy+?Um-SVrs|eua z9?I7`n*(+00`|ilTYp~0%ybVP8&yOflHbBt#wFx6Pq+`c%-)Do3Zp(L^Hc_F$@6-= z%zDm+=yZQ<6*%J}if7TCq%SOFfAxQ-5-iR&|AtIu`{y;^0v?tQTgv_i?ZgQjMs-~v zLFiw;^g&+n%t9D^&#KIuK+or3DKYz&F6c)eujZ!muaZi9D|WN`X=Li-UzANgwIH}x zN638lN!Fp_&XQU7eA}^+0)FWMGAd5v7E&p^U^r-}%B?im0_b$7`lBVNV~G@1(K~oD zg9V~96b$L7+tY9I9AN(1rH)BO=i-XCu&0{7Mertr)&O*_8gZE;qm#89L zaz@_{T6pSkw=b8>pUxV5U}u^K@NH$-O9!Ub@mQ(vO6WQjOM_z@FnsZECDwK^K>r9y zE-#}c(jJ#KFwR4t+UC7Ue_W4#nm$&ph}$*=22)z_mJsM#C_W=t0D_G^^|{KAQ)lxE zEM_sgA^wWN1s`F-Lf~?e2fP6-zuc zP=eyl5wG~1E8(jq1(Q#8A4QPqfZRkRTn{A5efLQua7ux4*y8wsh{2&8#a`Pw%W;90 zQs^}Z`Ha#eQUe5a98fao0C?3)DA=aXo?*R?iAs5~9sS{n>}?rU?ACXdV0M*$m5i%u zbhbE`2*1iv<#NZgf+6v1lA$;X#XlRkta(l*&D?m|mRQsf6B6ta?Ay4L*C3ybo)=mN z9B=f}WgE`-PyH>y(I&U4il2OullY4TM`($Q5D!p4&hWk?{c0{fZEMB7hE4?4a{VcF z8hmN31?t0r>EV#T?4}nt(>jZcZ6lYkTUJ2ZS4UaRrv_{g`veDj8CFp|_Um+h8PF0A zBkM|u6ThOq$U+Yve#tkZD;8U_!TtQB5u3&w1J2Yy!l z7WG};DW@_VF_^}kztcI(+AdHs{hpVX8M?#=EBxh1rA#zVPeQ(>o-6wH)$sR78SMdJ zl{C${z0cR%8{--?reJloiIv)Ju$)ynx^vd9f)#%`Z)cVUyS`o}xBFVSx7FQW`Fhf0 z7fj08T{2F<`u8Q73VS+PhLq98Q^)D+_wVfO&~Q2&Le z=?bmZr)$%qf7-`^acts-i~r>hE(*-_VD#HwDSICje6zH(w+VAZz^_DoApP`)x#?QT z`hKmt3_yWcn@tCvJVmSuTz<2ZW`OKvI=oMT;XTU>m;^hiFI=|>4s(n z{(UZ@{9Z(ddJx4fO^JMrXOuoT2*afJBaMj>C7$;KWQsW?*EA6St!E1z|Itxdf%qO^ z7hmjQ4TF2_Z6%4ZbR0_`$>VE9lfKB?qhB`Pr1R!evI0aDL{0jCE@k4kQ4%Squ z$Fn5P31Ax&^Ts=d*9&7eipwG~tr9(`$#e*9Q%u&C)XpxdlKFN{B(xI>En9j~-Kyj7hH@k*+w%tr61LhiKgbB;P&(=`?9ouDA1QIp(C!>tk&Q zVyIrC^khRuLii6dmBc#(8J&6|GndInI{7fw_JcUF+3m!lYAc^)V#n`x|5 zXd@T08tV_l!m(w$YM=pVk;BQr zMIl#-#PeP08x+pCoBe$vL$jtVMoqMV_Tb|=k5K~Ui!%Wc0OeK zi9npZXQ8Y0H}|yvL^3=nwqVn>-C(3u>wYD|$JfxmtO5M`X~ttesy5JQI6<>M@H2~t za3A=QSVj5}?JKhE+=AVI6rmKE%zfeRY7oV$+9d|1@#Gw_uUpJbCU}7hfEYjvOy$_(!DU-=8tpsISN8dA2>1hfqn4 z7Ru&%1Kxzhh%0fmIQaIWCrC#g7D{=~9?YT`#`#S&aeWX1!P0J?yWw$-s1K`m6=bu- zlD8F}PrE#f-$$tNljMrW^$%ln1xN%Y*>=Z1+6uSZwL)Oy`hW&%IrAXO)Wuu9)1bc+ z=a&KJ`P+&MhJ6~ez)q{e63yy&U$MKnc{uIc3&%g4H~cy7=2@0P-y~~MTsa|DtiiKL zcH+Y;EFJ(*=PCX)2qP|*=$zDAp~vqII@ejX!Al<&uN{6RasK1})fP>3cSB`u{h^;e z*lde#bIhJMSMQ`1!^A=AAi16dy00PnxzWek4=ZA~dqf(kOy6@Ycf;Sm20t6V|?7f=okM5~GG-sUS*Kw~Hgd z<@i%jOf-Fl3VwiH%0X_&4H-cPJ#}Fhn;8BSLG;vL%=wlSCIL|TQ8N|Y2ACK7h`Lj2 zS#>Op4=5>D$@oJsp3NwYJH=yxMBSi*Ty$m1sCR2Hs=Yet!{t`9R|F8U9Y1;#l41w* zlq6#g$sJaH>Duv{Ab1w|G2|a2$iQxd)exLct47H#gv!yA7wT6TEaJ7VE9&LXdbZT? zgHCTL@nk)!f`?>QIj2j6X9C5*utK0(6WRQp z*h^P&NQ#r1@b~klnJFZzPBEQ7U>y)swF4uEY#Rsp3_Dh#Z8}b&&O0l8b(%5$7T$Wy zG$*y#z{9@g{+xT1*KrOcAfBy-AFs?h34v&CkqG7pl*3C~5TY=FteuMJ%5(qn8kTR+ z4FyH)-IIXbfS|V8M?%c(R@y(;FT27*!dai{dE*j&{{-)XeXnawK5X0rUI(G&U}v%o zNUFh^;1k~$9=ko^E~>X;RSm3tX|ZjCNqH+8bBx1yPTtc$8U|*A95WgyYXy zZdw)xNeS~mHosqQc9NcXm`N4w;JLHE_=vktH(~j(@w5BabnO~{khgXLswrf0)hwgU z(IQ~v^d9igjr9r4?AZv+a%#Q`kVkkj?FkBF$e|?J$62TQYKwW&A!fF>H6*IJj(X=g zp$Ww)e1jzB;%PNKz~-!+yR`PfT!>_ZKLr-|W}gZ+XHnKx#5DUNr#PdQ|5D|-KULW1 zc_nZBDf3ghIOgKn(IC(5BZoAtAj@8P_fHF%-vC?S3_{o5E82V2U}fP<4Zn2~Z<`#l z4WTDc=l%3W5hR|N^X6bKTU*KqJ2_sTBqDCZ>)9hveE*>y-!0ctI|%8*Jm(-ml#}7X zw2X9^#yX^XJik;rd$>qq#~ZPLl{wDOemQyr)jO`wtS@4|b#TK*;^s4bM1%7niS2_e zFNAQ^JaVByakr)Wd=%^w6>@uEr1Bqi_`A|?danZ%qC*JR2!R)%a!9X?96AD#l|8#U z>KWBrKiaBEf{^rZK6hScLY4fLegH23sB64`A`z)9Yxy-+%~LD_LPNB~(h+4uhh+8Z z&^5`8gp(!R`rbO64_A0TjNSk2%ePaL>_8&YJgQvYnj4|<-!vpFj?34QD^A57M#bR1 zARvwE2r;ZVWlC=Xzy>>lDaWc)D^ezknc;^`=AXvQVZ0RdVdrk~*<2@#$1;F#Fmt3S z71B}g*To0(QwS)Xatiz1o()BDwj*gfi=Pg>d$_bUnQ4C;N37%u>Bd=t9*QOUnwiNl zCvYuRZke*1dS@0*-^Uj>wW0Ve*=PH$y5$(ojn->x7|Y8N7J=Y!q@|09ECiy|)0s*! z!RzxX^5=&bb_{<_#D^D)+Ac@LwyK&HI%KxBiE!ZcAEGYbvrx&p9sW z`JpFi+4Y;z7nNdslwUks!kZ*pebr-BHIqC|(g4p9=NH~W5;Feew$|PLPEw1zpH3v9 zyQZZf73c2-io1F1O;*AAkeGIP(SCtr3!g3X7U9W)5tYlLp#I+YwiuroHivBI{*~1q z9d{aoIbx>jLn(Al(gIP$BD@QaE}7HwZ|)_d^08*%+Mc0h3(L@x4RYzo@D#w_k%jG~KNEK#?>8 zP8D*~cubZMul_z>?&&x24-KAOtSJMuaA5g7@bh6UPj94xaPtEfdm*+u`P6_55EJUH zt_Hw{9DAA_6*Y1R3rCB8`pv#~b5TooO8dGvB$=o#?wJv7E*(0uOBlZ*4<(;X{p!VQ zkeYD8WhoNF-;E#(oO9VP3znBrg z9qv10_T8R1B|3!ES8FZp* z*P1?x{mp8%&;ja89oFP!uC)~J&XR0%0}j0mmXEdcJVfZTl* zYhW=08z%04>F{-L)tqSfia_|#JxI8vsPmM5{)F4S+8wLT=WvgY`A=mt+*vY9@$Tml zt(SvxRtcPrzbgrrVm!ZCi92vz!~T3A8AYJLge4b=$umWkewV0!K`7QO7XY9}*caHm zmv~TmN{$bt588xChGa#)wK;rBPfxg$qe$#s^xS!fWDE}fLAfp%w#>}E-TA4JSQD}b z^Ytz|_q(vF;9d=jlT`dPuJ7&fk&c76!5Ag5cjJofad0$$5QJu@TlC51QDKb|`WR@n z78}Glo5Gqiu3ux3!IxENJE@Q*#+QHocojsm$EDLunQyw<=tM^O3qx#QU%NAK}KZNx3xlzES6#{5>_*UIy!52jm{0~yA5)?)2! z9;UhD_ZYtw)mT{uQ`_Z%2`W#Y0;$Ww2_zew6w5&`nv8pZP=MKbWQz936gWla@yZuq}!I|Kq z2$b+_xJ(HI?lsQPJ#Fg(>Oy-$8 zY{cw&)tr;a#h;+|jF@3>X)E8d6Lmu?6@@4r5QD^Mg6?u6&M7I(0dC0&`S2ei2(v|f zl(vzFvH2Y$6kxdKHlHaqttxVA+`(zTFBPZ<%RumR@=rv_CTQ~G0y|Q+mg^XGahvHkp^^lx=HkAp3pl5_NPMfRQc16E@OcEAY zH|bP?ymIOgwIgRzJ&7U#-DP%3HQC)nhPdtv64=EZQ#4$49Qh(M382N zS$M`#2;7>I60qCm;xRkIu+-gbx^|5<`+mn=-bqI>+g;9;@Bf!ToGQUOYf5EFt>WH_}R|$|vOsDN8apnOJoF zV@j!1p2inlij7kIAJm*%I`caX0e(F`GbQ14K#jUt9T|^rzUs6zuxHSH=(=JoOtJ5fsIf=zJ4y6M3*|W(6~}^!j~yM3W?mkU zwSUYb6vi7vQlLNu+D%lP8f&;oMgkb2m&I;1kN(z#rs*&`tZ%oTSC_|o+UAH*^yJ-8 z%X6dpTs!{DM3hn4+0;-jUvrrrUfm+=2>1KD-hR{~##j9ce-twH+1qFeoDV!>*7SOT zaGzOtAKeLs6m%RuYTbqyX%GFyjJmAA;I1|4Pk^lAl2M zl>Y~+<(&tK|YAamQfbHT7khyWJH_`UyX!!rNXI7f_|!dkONoq4@-+8;{Z?j z>Sgg%wrmLn5IjkJ_f|C34;q;uv$#0=$wxZj>d>Uef-eZ>N*T00BC0@R=o8n1NN0`F zQOj48hA)(1X{{KtPnVQOJLf@e)3=994>c@)M3@2$aY^vH)eD^&i>k4==X(M#slSu+ zweY?89C@xfi9q;_iir-3s$)8mSIV#DrB{!IDCZi`fQ>EBc?^pTP7z zF(j*6CdJ%VIrQ<1nO2QSanj&|Rm7kGTtzz|B`v& zJP361Mm`F~YUht@nT@aZ)&@ho4Bo;nW?MR4ipy^=Nq_!#z#(dC!K`tIOlHfXxc01h zXPHzvaxx*Ak2Y`CK-N0GkT>Za7$P||waUf6)hnsQcwu(zAeisq}2`qS9gkN1t`OYjCd{KRmwF`0h)FVw*tUn-Ui|qQikb0bXfY zK;X46(~u~+O1Rj0!TMryZv%cE@!1Mwnu`2%FwSDnCv-JB0DsuFUh+c%H?7aY8`wj8 zd~&~AlnEa~N?O$8^xrQvQXt5i2gC|@8n`T0*emcJ8 zQVt1{4TNx8m+pp|^(UR` zJ1*S(wUtniXp;a203=}9nz01Dl+9AP(FEb-ZOwGRlL!2;jT*B8d4R^v>?(-+t;bP0@jw~iY1AYD2Uhxrvvs6Vu?YDt zGUPfRNS^2A0P#@ZV1-WEJJGspL0X~wW<2LatS|B(qaH{}xwBHV90>rXM>{Q4Iby?9 zE=F&&+7ag-nKFNf7sXR4{wy@7|B_i8!Cgr72clwN@@f&(hrzW*n7EK{7xNF~=YP_+ zsQ39KCUHP~l(JEvo5tWKYNw=qnt(WWcIr(aW43u`)a~6@os6AXZH1_G?a3&?_8K6a zW^y~!8h;(#`Qh(PRaq>Z2M5`7ztQpOWM_Q5AGxF-@;vtZzZ^@0RECm5Qs;3P>3kpDK|s2Kp+%? zBIMj#8@!0G2N5V?(BXW|1?bP?pZtw&i7qeR3NWQ}j$pehI*MDi-6Z!4vWA=#WY0<% zlow$8ZAy`JsPMn}Sg7`O0Z8|tULSU}d%1J;FkPg2^_!l!<=^Rmvd=YbjAs5vB@Sam zUH_82ao93Yx$sYWRb!NHHF7rM6Ywy5Z|wQPx{69I|6|ot@cU^RX+5a_MzXh*$-@%O2jxM z97BEOUW@Dkh>5dI0Xf+9;hT!;ZDZHHH_;j!Ve~@z=I%$Zn!6Pfg6?zKz;6?9}$gE9Ayl2LONCz`;N{7+^)eH9!rERfc`7@ynstO z=G4yqa#VO18GNUNC#yxPo57h@SmW5x1baY9`6!0v?;f~c^PEA+4I92|pczZ}-k;uV z1w$^|^!{|$Y~SzX?#v-)ZQYJ!;`JQ*l6^A)y7oGnuMJk?#t7~D(c_wB+Zon5#G4&) zaQXG!v~XdnHn?cIn(dlru=&6Fa2Tz*5B`U&Irp#9ijtp=})Bp459nDIgzY#gdUPJ--tf zXzu&CcQi^2jtajgpL(=PyS={i_$B*;5p1i7-*3B8_;DJmfeH~I9f%fi|NihpX)kB! z1zD)-Moa?LO1V>y$WI*W3t}g+(Jv>H^4Ex(tIsj!Ajhk9uC>@cDmT4re(eJHg|g6A zE=lfZuUvg-i^E^yCAKs1ZE&mYXqAVZ+M%{RBe4c{;?keThi)X!7$fJ z_twzDV0Jtychm4fmQH`FLqWDyjpE7!D{fpnnx_JJX>^0HMLczfF^XCqhHHFW^^NZ8 zm;{3JgGe_SnvlamPBpk@zTv#GoBez6Xi#k0vd|;@kvv*GKJ6`)7oLxauAroC4+Of5 z5`sU;%jr> z9Uhs~sq#Zl$cSj=4$lI`Wb^kPYhynv&5mgR$||mUCpiTPH`YBJY|+D7{#PRsqucGg zn0Mgzek7IzdFTmbR`wqd*5EO!-RSTM=va92(wFS~?Pej3{o%6k#Q`z)_xPYC;a_zk}&VT-O4R|6|^V-gmd<21Zz z-^n1g4yNTe5_c!vISfFvI91ePhlNQ;khLkirar}tpOj7c&FNg{?9AzSI8Z@enj5=%c;(i=bC+#@A z`kE+%E$^)Pk9L10?_#)p{5qtt=~4PX$bXlbsigwz2| zOr{@RX^3f?ojggjw7k70%?m$2Mk`ZAgJt)_UQN*5#@C@qpKB0jLmsTX%6reaMdI0k zzsqC5trzhvrR`Z)3_46Q zcul)fcn)*x_es$@YYqGIO|Yn7>m@X~qbA1v$|vhtN!BJqBZ^YN`VXuSl%;s(5_sY+@a}&j?#aNmxkwF)>2aO zx@4jpO_Q0F%u9HvAvjiL2MkbdHp0en481kT8^*BOalGy74dnGOa9}ienhsNOP{&XXuayoa>_+rx}Mt-b)?}AeDEM zej>(jqhWlHxXk?M^*E80a1j>2g=XgpR{V^*l{^%;jqk;8u`lo5OPEo+;%}o{u|JpJ zQM;(XChk!(7+=)uS)Q90+`b}1dqF18ZI9SpndRYWPSDQq)vmo4Uz83VJ(5nGJQ>G1 z`_1M6W0nKkW|t5u+^MU85$8OS507sU{9X0s!E1gef*&OQGrALTQdL%*P7g@1?-S=XxIfXeAoD{bhKu8H*~Dgrc*2{RVjfrVfCqZk5{&HI#D(t zDnE(1igf3YTqfgYoYN;xr3df5KOMR6fpqJQH=^ocGMLjoUH7kqA2SEU%W|GbPv|lJ zoL0G;MlMg>c`jvG%k#)X@jGI*=6|ExXgsBSCEUjMV*l88^I7!AK}FKG9O8@Wg^<>KcSDoTMq}U5FHC3`t~>Yco%!?I z??1YJu+qi=_5DdxpaTDsCfTC{ykK_652KR#Cp1|4jEx#Uv{-K;>1U+QT|~*Bvrk0t z=)Bn4`0ba`1q_5ACv{cv2>h`qtNANz(Zrmde z-peZ;6XxK_jby@J$DIytlB8*HP3e^RO>dF2xa(H@ZFJulF8u002%>M}S--SaS1d4? zmx#A{*DlCL2vdXtYhg2pn@_ApjQ+C}X_)nEJsvDgstHr_=WBT`Wo^8~Z9V^^wq`lU zbT0Q|SK?hubR-JPRsO6<^IYQ8+gjL>Fy*ntU*5fMv&JC!4rOILxbko6JQ+$cxaz`eMbXI`yL5>ilZ=8^<S@$5&jo z?G>z>{~a)YMj#USb0c@nz93I~7J0(ZE$DpqzW}|0Ty~Od5jR191<5J&t#(v`2R!<0 zJmubm$;;wQV?AxxPn{~R_0PI1p+pqG$Dgpqq5nj)>gH;EJ)mN*N8)qj2#O7dT%ZTjWH zlj&wA9OIlkk%)Brc&4OR{EY&$b{pM`zen4z<;GCwxN^wSeo8!Xw~&o_biBpoJb5AL zI#sAc+C&y2^2ku2*2j+RJ7S5aG;(#1`4H4sJot|`G|!41M*!}}ZPPvld)tPi0gv%N z#U?RF1ksd@llBr<#18$5*Z!c%?SXgfM#~dvhL2npzV&JG&oXxv9T>_$JM?erCy<(U6e_&O=!5s1M$QyPY}~T_X!>i+gc!9y*H!XlBXO@OrqXdm|I}? z?nwZ@pSH}-rg6VUhQQ$YJ25##zRD@4O8uew0q|E`3C6+zM-mDT1Ll_I_~fG_0WwcA zZ1&TMbOifc$1FVH*|wH5()byzhjlVUSUd)EAdanU6q~qw$HWJ|@Zhnk@{urKrK!OG zl@qYFZOhCLqlf%)+xNy!nLDG6KLfwJ6P4hXk)TxFfa_d9FCE?07T)8Xt?{ASp%aJ) zc!|!ctPi9$9fC-kPHX}N^!*}|6L-0jnjX4X(o_r^v|SR7j+MV2$2K77qw>Lx2h}6N zl+5e~Blr|x@mas6tOb~g`-Y%v{t7K(;?P1-76nQ{L53O9AoC1ej-3d}T!2v5j9mx2 z*z?f%3!)H%Of^f9gvXybH@;jJ<6OTiR(^MMK$CCEpuIFLWr|5fnX{2e?{LqIQ5!AH zUw+JtFka%va;=*}qe7dgJDd$|^ySJxY5ug6$)6pMF^$Ts;SBZ9dEQzBvqSrC@8E8Kazv4#4$A=M?A_1j#mS0*y^^C0B}NjY zW~Xb#iEB>e;wI>u3-WCqO@L7G7q8glxOL0V`5|{spUs<>jEaX5P!)iMI6Jpsj+^Vlpt$+QRuHiE9xM_%I(s8~aR-DKTvFMOtyhd1I)e=b!S#U8Kl!}y| znWS#nUJ_DhjCY^PWfW`G9M8nTz0h>@Zdg89E3vuOrhzY7Wm5!SsTZ1;dUtn%$;RXZz4_O>fO$r<{7CUxgI z2rfP@)TC=W6~G<6<@{TIaz(q8?s)@awzCXUCfY6m<1>(yvXl$oytSyh-W4z0yZeKm zyYIoe$|n=;EB>v({}qt#%I#@pYI5_>a(LCZ*?B?=qs4aC~$A%pwv!@2=zt zoxY<-nE{f%yLq)6s_RGfGsmVvB#oelLX7@Q&-Np&6f!Jw2muNk5}z_h8>S{o-pp{O zZLy0In0ZHkJ1J}T729{e?}i5-%mpx-YMwL&>LG1Unq+(|cXH=zTvk z{zV7MoyH*rI!Pcs!J^!33t`*EeAN*>TQ73!3f$kSS4y3c1SBY*!gU%s&leR z2Mc=(7tOi>ww1JX(^UHUuX{!Mx>sG7Uhsm;(v?@fAYFRtC9y){k%u1+)exZwgw)HV zo2rVTN8YM1vQwZkkpbC}y+T6et`VH@9C8jJuLJc%CLu z)hNYVX6+|AbgqSpL8;z&+^sypXlWd`Y21|jO%M1W?nYIEpD{iisFVqWpZQ2USSWUTIlc5hUtfT4|(D^N^pd2Wj3|XU7qL zQA^tDVS}gQ`CRvs&WKxt#$F-A-?h9neoEcjRyB@3Z4H-RdTH9qB=6xvhtnCp@1XwQ zHW!N!;BI*{7XpWzj&|*m&iFVx3}carV&?=(n#Q|UUYemYz-T_QD$q7$Uy$0_-D4$6 z`SmZ!WYndY_+{VW@+B{rnSJjU4jnoj0qf6`ra%S$CrPr)cWwP?mT!JPU8ZS^f`O_8 zyBLj>KP8{FOG#gQ-0c>jV=<%+8qj#r3$IGAdd15Cvq75SWX( zNI;C07kv&}Qxa0gT2`iHpm$h2+Ij3SSwadmQIofbwD~cd`L%Q94i-Hucf#D;A`Z)A zcD>AWc?Jsu30~)Gf1ZlxLfEX%_Qx4z91#GS{KtDj3z>|DM z%v`~BO&VfovifE=P#qY zS+5VBpu1&?qpksYM;C!Mq^i9P#7-g;ixCP`lSu@Vx9lJ!Rj9HRiKT@e^)@FJ zz3jTQbN8MYrCK(bd#vU`h;Y|#%ncCOyLD|$3vAvx!{o5-*)p1Dq#+6TlWE#Nf+XA{ zUT9PDQSzpo5~BwE6t|L3zX@Qxjy&jZd#QutH{SQqM~ZvBKRF6i;C~YIddbDRuVtC! z+X1>6gGHydkqZ2FSS@Voq9XQ6DtW?|j;kFVLHDd`K&qwZT*h}$53qH9^X3@p8}t#q&e2CN$= zo-(+2U+Zv9aVSREMOfXnAf&|+@H1c|#nUkb`z+-v5vy}o(oX^Ix*4V~xQZ4YGvQKJ z7@5qhX<LEkx0se?C(wkxkuEf8<)_KzkeKSLE-ObzjJu@7vBafp+jSi+g z;fslmXx_sMlNkzeHo;B3!V^5wq&7B0JryF@T0XP97 zf=9XX9f1?BP8h66D5<|EY>{J`UPNI`xLx!EqgV70GfO3pj@S9aUuByr4?)q;( z@~+e$=f9xyU115J4A9Q6E}f(>{QzK}1Ed+P@WE|iA(*EiIuYM`*aIn1n-gwZ?33ba5`gh9ZWMYRiikxH=;Ks;@lfVR`l++V@EY#V{VEwYx zvY#0w4VT`UU6~A!6ZNQUFX7F*A1jyUcuqsgyzE{LcGa1V5V-6*c;{kZ_|m}n89%5q zWCGuWt(vuZ;`w|=KbCXN@E(S{k0Eei@hE?50gCq~9IrvQCLY_b^!1cZ&(!xL?Ux)l zkhU4=b&-t(()bVTL9Dl9JqhRe4Pve(4YJ9dntY7^U6L!W!8pbV+EQ^!( zE=4w6(6xaw!TYP{rG82?E>`82Un~rB8W-&UM^F76rdZQ{&d6`m&P!~#M8)o zvG=aONV~DLT}gNCWp*c6nt75V7`D!COVcycFf>L|l;4TmCG`9>IOx`k9lUPda(%xN zzv>^;wY`))=Y0cGS5sGF1#*a=H{#d$yk@YC8PS8rxEg=iBL9Z-Xk%#n6u%`dg%#KCPr8zawsnem zr5>uaZQHidJ{`sNV)w2!XT8b<;!9lAv&VwWpPr*Sav5#&(jd24+I)<_tQY>UFP9&1 zH#@!uU2!k!9qpoCp}j`;yuZcvlNmu)EwvByy5pa};qLptkV{;Dp9lpi@IMZfuD)dZ zo{4Vn=K+Nm*omSe@#C6qyC>b3#wti=02;bGHX||;KOMwfvgn+n3$tc@z}K!_nkZ;( z-ZY&yZP}b2eCRMA#dtW~$MMPY9H^#>B1Q}X20m@{Z6vG-I;9`UUP3C1;VwX})D)6a z+#`2{ursY+#|ftpcmv_%Gpb5wR0zaAAI;rgBGC34vNYiwJfyJ|P2QUZXHE%u7q~Se(bJqC*OJ)saY2Px0 z8^AZF3MzVu^pZY;jxQ!FjMKS$zU$W&ccdyQ0m2g zlt1pC{YMD%4l{{7LrX_Wg1!Qa?ccUT++z@I%hgxRzWZ}`JY04C68Z_4kei->zYEq2 zt5d#%KKv>hs145TO&3SN+J;J}S_EB0BjEx}s&x)MawMH( zySo!47^hOM?y*FWvfvQq6(|>x;>SDeD&?9k?(!kbEs?=COPtZAV>7}9ncAbAQ=1o&Nb+HdS zenz`ddA2i|iYlIVoKMrJRP1zu8ECa>26YZ9otVG{-18SKW>GK5k%EQe|ob+}5}Qp3qw%cYxi zAafBHmJI+<3gRS+C}$in7Sg6Ge_$w~qZU*wAJTm;c*JSAh&$M91|QST8J6yR?vji+ zf^msxsC;02ae^gzb97)HrG7}SCb#c zM#*ftXsLD{!?oQb$)ikPR z08J-&C#T0_($vjY>URydb=#Jh2<)*M$4O%K@QwroKk1Su`JBkj;3@4~Ng}8V`gVFj zS7QDx-vP%NT8&97jeB~9|=2#h=gQo@A!yqibDcz0uyDmDF=`2_vOkq7wE zpNxZ>$wxf8$C`icVWstmG4IAbY62)nEqK;nuHfttAetYs4%fIxezA}5KmhJ7>S1Ox zn+ZeRmA}Uu<)NH{uX&3PuLJz^j09Gh*tNZ@Dzc159kJujx-a^9pDj?h^J5;?gc{tW zukYq3R`J*;c-Eh8r7rbjo6$rYXtnpPF1BvH;mh}ZHZ1GUV^W|3|9Qy6QTtoQCwjj? zBfiE4AK+jE4FCBaQY`Pf+hbAY;Lo8g9S8ex$8E6U8fUh&BRx7FAONUVX|N)I$d0Ct z(;kuIGlJYPVx%At=tko&#{_^#vDqusL3GBAKoD6qn(}bgJp)t3DSmLNC*M5H*`&CIflQkqXHyHttVQ7o4R%*YBI*07>$pF^&TKg1nMxv4`wYHyKzgNcL}-5>BuP zU=t{aTRLY(lkM|}LKPOvM{yUp1Tf`sMnQNMvzB5IRKtD&?F!qe^!oVi8~o=eCX>jjXuLKVGI2X zkmJfhr9*BvISunP4%oM0@DsF!ox65H7j^4M*9aZfm!lRUjFmjj-^`)k_qb-$3Kk3v zVuIK7u`~?<-*iI&pbcnBKFZy?G@p6XT~lY!SG(e;gv%qYh$iBPHXT%Jvsdog_aAP$ z|NbiVXVRSaSJh)R=b*r*$<{a0X1`fD4~c_TseEDMj23PfJlNQk=(KOKUfh)qrIE%c zfJVDx+cZbrvNVwuBPUPHrH39qMq{>f*iGhQ0%s59+Y~luRK^HsdDifqJQ40X9aQWO~6ye67v29!P+IiAg zTv`a}S|C-58##*|rU3&j0N{wIDR0CD!2~R#wi4D#FFlG>SOCs&jzWxI6W;OXq0wr%&3NAf(S<# zXl@>@XIFVCOekS1DEKV}8Kr<~31~@~_EAlxZgZWLyl<@U((a;Q%}+o-`7CbbewH8H zZHEG^ak|@ln);U++n!~@mRTBVCsTqrX%&^%${a!se+!HAsQjE@C*QnB{WVo#9<*x+ z8~)Fg58IOA%!eab=@B#`v)ZW|wLR&tl-+$7zRQ?s7B6R-=WpQsKaG~JK0lfQRpNg% zP0|~$y|zE!UivwD=u2$Ws%I2(?C5p^!9c@nNcE)=hBQxyRwbjpqlKiXBzXNRU!1=6 z+rBBi{N*oB`}XZgx7~gxx_wqf(2$TP z!I;xAj6o812_h&YLs|dkM`aDt(ST z=+}zjUp>F0FzFT(($Fc72=nN}FiS3X#D6d`0+kvzWu<)8JWA5Sr1_G839>}Ym2+hl zytF9g@;PUFH1FXl@@m?Vf2|?{QXcWT=9Ytm-)MV;i%|}F@yHMeo%*x|f!MmX9h*mm z07qPIp0iJ=@;QCtILkTDgc{GJsM@9owo~Uw@~FbH<^=?~RA!;%cfCxR-j>%Tq|uj} zyn4%ZnCVgKHq<{vK-22erdIcE+x2I+KKP(|x@yitfeQTRAk3cqldnV~|2c;DV>Wyn zcyw5vqvOyh?Vsv_ZJ=~rUUG-ENqZbHT^@; zbk>-#Bpp}tOasIS^K?2UF2_g(@aiG5dX^4_jU}iPsA!bNXSZ)lGf2AKSn{aU)nOfc zK3hldClOZoAjtzHo;_rEf#34>U@T+oNLE5r+IG{HojMpRxi)_RM1|(qN$X&A5J}SH z56x%?opB@7SyxzLXB}$18*k940i$r>Css!(t>PY|FT=6)Hb6O;hYW$LfDSQ_Am>#s zr*Q-r;XkW!GP4Nv5#eGqL_p~w^juZyq`A$}JOGZv%p6W^^V0zDF5| zVWY`(ShqE;$arJ5F`VfL{H9=DLoG)79@XqZf=Rx}wV4mIEH;z3GAlvfdh*-5uHYI_ zx8BPhkWB5ItogBgnR!|kX_)C6bR#YEq(ATFD$F)Uj*XlCHMRlsso&zyuY}nq@w&Y~ zT>k6N-uKX5;ko{tlLDoV&gpoeTB7Rsdkkr3O6Mz$(H`rwCOQ}%O2<;F3cWpmj3R?& zj7WVl0Kk3w?pzrk{50-kL7C>>|L$ZS5rmx*m<$R$B~R#8e`kux{McGy7d# zJAvR*OvzVyf80B1N5`=PD}mB!T%SK&wNvw94yLmwCwd&cz$jp5l1WTf@u227bLJFF zGCAW0Y49{h_nHIs`tC89o|?{aW~xMa%2B@3$@HA`jfv}~<;8voK(Wt?9(Bup3s!KE z7Scp1GbVw#2RO*BAdSzGq<~=olR}5=z78hRqu80Wl4>#9$GibF2|yzWt2vl4Agh`w z^zwkbpf4E<5Sh>JNnfT3rn1{v$7CCpbqU0C|iCGE&w$Nn5)_m=-ptYD#MLTM8gFD0?0C(xrO<(3BRt;87gVv&#A~&CbpH( zWClvN`AbdY)pKt6j(KGto4NVg-j+i!qIdX)ebPau!VP86>nbKP>e;i=!NR7c?Ac@SdhBoNutxt$ zBdsctmVJh>rR~+Cw-`NUi65R{3Y3f%s1sI`*xGY;Es<0ARR1nuTBF+k-qGLwHZRg? zuH5-MwBl3pr~T=OX!*9D?zt{>6VPMVZ`I#4(`wQ`b?IZ?YL2+JoreacykTQpihO9qxM5N!O<^e~_l}e;mb8<3D?;a=^b1k>{O-IKCZzO#?EqJr*R=(mY>m|Z zpIqN*`wbGlzna&^{~_0X;D2AEpr`%)zM-zYQ9mx*fn#ylgGiDSH42ECxr zP%R4zg5WP5xQ|i0Z9)7^fP9$=V4>5=bQ+T!=^fH^eT4l739)d>b8We&47^G$vRR0( zst6@28CgyOtqbaDmBU=W@1m?evy2Um_&(uU@65pZX)al9TV>v6C<4BpzCZu&1=@0l zxv3+u@0(6Oq_Mt^Clh8K({ipQ0+F^QK!jCtZt_SI)CFS3x2;?Z880>B=Hj_+;oO(J zQq6w!n}U|MiRYC4*b)}i1Sa64xG0f{FD+4)Q_%NMkmh~huPyrne-*d)uT~2@^O55R zM*4^U+kwHs!}BadUs}Yg1%`+j#Bahy+mcZPxRwU!?wN-V9)eNZF@>x^c#^yzgc~5* z?#O5t6T2S(6wvrNsp#!D-Yw_O!cYJL$->!cFQMCTc|Z^%mZM@Thp+`TH5~U-5&T^R zD&aSiUkyXPzcZ7J=}=yGne1{!0(olI89)eiAl$kDE4MZtWYShEi$cJCcwD9FW@v+K z&Cr3Je`4=w4&v^|n@1+oED#e7+M)RiumV7s+BTvvX*)rbcM1vH%=Z*NVJ%DS;M6Zd z4UIXiXL}RRwvg%7q)9UEAfr3V$a|$1c^k&(ep?p5ecyci?Z;9zVQSh&7sxGb6UO41 zjy7-i5K=G*M72yco!X|2Hf$P>CCtHWk{%kq{`+dRhVz{Q$*l*P%RKC3%W1m#mtrb> zYB&Xc(x(jecg@4Hnpu-lt;d~Tl*hU@m+}2HS970w@~|g+tQ5V3w7Pz);>MH%(uGHU8gctpw zfVDhnhR{WAd!J>+cdHVnVLO|KMC}1Z)|oP}V1B3TBLl-EN8>%_{$F*^EVjLlX{g(;JY>hx!+*)~qB58_hm|Whsl$Oo1 zJA`*cQ^Cx3H3DBPkO%-O)cB`1*yS*vO9pp4g?ibpJfm&Av0XYalX%&0(EtJ0nr9UR zrfc5jXTQXL94xABsF|R)AHT^`Gn{7~TV|i9FZuSq0qKBXt4`)EZG=W>tE9@eo7cHj zhh9FWyR*&O1%9tG=`GMDPky5{1T@=P;91tUm?L6>oso%?&9<1|l!P@FHkfhqm9hnB zEyVk-S|_r$uw2cz_su)gaY3Q)%wrl_{os>Nl>LVel{xJE_W8=nk^?Ig24mJMG@*IO zdeaWsb(B{YE2bRtErMHr@v5s>F@snrkl}n?Y%4Id#}G)rWq-ej&6)A5Iu2$ z81{IXD-WGMQ64yPq};xJ13PYenHb-j^j6oFO8-z_Id$e#G_AduP4?{Dg9p%oEQFHe z^&D~ggArCz$_x&9*U_-(zFo20x2m!_OY=>EB)lI$X&Xj2V ztjcw@?jYMTxGL2NS2rpX^aHeLq20as^bA6G%~;Fc096EIQmYzY0}zI<;I8m#X^E|LtiSOMTR(SK zf!6$MoPmi4J1RLwP2>j$oQZmU#~<;&O+0186s zER(vlsR0eAmTlP^&mR>L{p=}Ht9@!anG#RxSL;^l^I7xHILXtv@B3$h*$;|xyKcdi z;qD8i$CVSkefagaQx>&->#Ld5H3|#|qVaFA2E%@`y-dq6wo*o_JaaxI!k&C{r9XI2 zezu#V8{4+&L%*e^^at;aRuwJcg%V3(_MJ~U;X31`|vlv{ldpzd+p6^ex|lr+B|7ULUj_g-l0!G>+9vj$us3= ze(p2n(2>1mdh%MicGAhP&1pvfjFNyS((`cghqR*pb6W(aZmC6(#3Zl%~4a9Bcu3*6JN$Q9ip~OLYj4IIb~$QNbqo; zz@k@A8=eu50SI>R`nc@zd}*UjZ~-+O6-@xAdZU-R7G zf|BL3j*e=4Z`>viDWWvl%(KrSZL&f+Km|`;dF~FoHTaAU1T^(v2_s#@1T7cJ)1& zceUJ_o+_(ow>vO+Y?YAmmM)vRNMccY?i(+Z&;IOBl*5OPmajki&2r(w(+iz!n++-veMT>;K3uBChn zI9^S=1^^9X`_h(~l(d|f>%bl#X9Cvt(DY^f6#7m=wgKw4qdR-HGqKzVo(MYVPqH(f zO>Td=I#{nC$DKYCI8(fPMoX4Wx^r}pcB8zOfnUDjKCP7d_y6&Y;hIsQVY8DcLP`I8 z%{*P3xDeYvywm2-N~zGxD*fvGjcwM9@{Dh|oJHI!Px^uTdeLWOs?d&YpC5v{Wb6nj zCL;rI8ShTnX&39R2au}iHHthdbu1=R%zx#Ii?9Y6vJo4xh<@L8Nvbd|eoP6YirGJFuLjeUD z!PAV|7#8a}(~eyq-Ye^Pf~>Fw^VIZAv}_4o?+(FAmc93qNh%;#W*77wo(nj766MTW z7^4?&o?dMFgP3siFYjWNvHRr@u@V=yfx#3O9$tb?nhaz{nY4#d2^9)M3Rr5{6(}ha zUNCaBpv8|?u^3t4<4=P!vAqJ=xzI;53)=G*^@WK8WI-~c*q#Eh`2&hBf+JZ+EO|>k z*o?8o_zE9DmFz5Q8)dYv_ku;z5=f(=k~;AN9u|=@y7dJmPTD*PplVvP_<@pC$vF`w z>M?BuzzAJO8fv+^tJ)8>%HC1Jq$7~qI|6=oUFCNVg4K}{Zci!q2KTzu8Y|#OS;?4u zs1vA`1AM4kFrGGwFz}mtxQ#-T3<4{NEUy{*U4fXpTC_XmCUu^*9{PjJUw$mB`ASv- z_tfNMIlwNRy5X+l!t3UOwpQG53AeFQ_vNRx630X;?fLsI9oqJKdS%2%9=3}k+Y0cO zy=hPTnL0Uf42@W(2u1shwy5-8>z97yxxXUlb7viDolOU!iLSHt%g>bZ+h1XTL6G}b zs|A8-yS+7j{a^fp4^8aZ|6dLaj10}p&X*g;@2!-hhzj84901 zdAy9Vjlp%a@z>uxS0<+yGD(|Lgw)(XkLotr!(^TSxm}+6&=c5B0m6=+@)0!t1IJF4 zEnGf9c?h^_JmN@aXKxv29zX^;f8kk_~E^aUqa9d-ws|p4ISvkjx?*=rz7o>b8 zGw5bGzzD)g+|G{eGB(@~sCRJu;~?KIJgWZmac#sCsS~YK`)&_&3u^n(u$dR=?`KN} z?X{{}TmcxFm3C3Z@pq9H%(gi>T3f@QaBfTa~>)^;IpiJDD0;orI zuQV^gqk??{VluyWXRqd&-&<@nmkD~y6Y#KHmF#&K%ItlOPqNmP{EX#)ZVybHIPpg>oWFRZRm1yVwOQ}C!;ymrKKAIDhYs%Fw-*Ac zOcKo_^e01Ukq|_%@2jl=x=V|zuKtw>j%iG<~*AWAnO(rJc ztZsn(r5CW-O_Jf*sJ*Kbb>xdzv9^NG#ictj)`SHv&yaWWzLJcs~?+Ox@ zJ@~^P1-t18+)cTB7tK`dl$NwLt(#hE+$@bx`kJ7$VY^RJr{=V@jS7O`+?qRRJu|$X zNy(c$Et{q!UpvZh)MEcxXWPWz3O!9@(Xy?N^#TU#WUuXiZy(e?`Tl+($X|8UZb~R} zuK%EOS7^Hh_|?l-$_&m93gg;t2s`@35sGbHOK`XCESqf&;bbI`Qr5<{fb~Oe)wEPy zd3yA4Vt+Vq2IPm-E1HGIPGM=DRfaf__j=5=?Ai6gg)HS-SM+cs`tNZ3slu- z7q`ZL^ZBPoCTHjW<^1fznR&qc+V$%!vSFVRv~zF(a>E)Xld~$fvDHG>P;Do>Y~Dfu zsO7hp@4opCTN?M4hmIdECk`DfVmKEF)&tJGuUVr6#<=HQPwS4U>&tl)d9PgMAH-zo#PH;RX7}?HAWHq9E z`$Fad{XGfEe}cZ-D{I~v#AC;e(FFYwK!4D~Q?xll1Db-ehYl0FUNUS2Y&TMC0iK#D zVAp_)K_#N9%0 z62+JNF%9wssM`@_8@@*ua7C`|Zn$+G=u@tp*&SN_=-{vb06+jqL_t)2ZrtQV+ihtQ zBfP&g*JKZT;y9^mo7JN*lM^8TIo5wDcodF~E=*e|0`Kc(-rlu9k3zI@1n7y_TOuslri76W})OoI6<8#q+dZgD_xUd z1!3FA_Kg|MdJ}$weo|mN`fx#%g2*g^{gl&vgSxgk4GWJc`=lk3C}j$ovReSimGDB~ z4_?+GZNV$QQ%On6swFt@O~X2q&aq?1%NirtSr%&TXK|OuYHB*vyUjju0AoO$zwHFY z3hnG_H5aC>U+-(t7Pm3!EHG(%;ljCc;nIb&yuN~l)yD)E6KAW~xpgBH zO!eEZyabq3t>_2Y+Vb&f*q3{Mxfc#N3X=d9FhYFwv%{udD*`%!U@o=O#zj-_CPyGn zOjfg!Hg%W{#%|Me15j0lCY)L=my60==_+`8$b7&XKwL*FjQtxyr-{jU)=ME~_?&bl z2vAy?nZVprF7lJ-Wnimiyu9bThNcW6E5QQ-JlC8efHnZ*w`CQmy_}p+UHNG$_2e|e zP&PnT4Kv_RusVrc^NguX6rqex{<}4YXY+u{O z-xkI4y6K+aZ`_U!z8MjCFi((}95roiZYdCLSIs=GkmVb}L65X%Ev*Y}YX!V4>JPb6 zKA)SpWxeOJ3-ZKr@xylW$*tSB%ISyCFuI)&=*M(drFrV(s9=N1Uqfe92JLtxr|qJU zX=uglA~=(3y?68&x*}}alXrLH7*OF;M-#S3!X_cRkv0i|_)QD>Mpsoe*D8o{foUiE(0{e=nI{`J55=bydJ%G&oXPsZ~`jlVL!#3KNyQvn+=l-k5L z;H3bFSp|*kFpI4|_VfqJiK7#&aAi@{NPjteman~?aMZ60&3}hcOnYk&oS1V268@>pcK~E+ zQUa3TVXU}EngUGgGhHox4i{2u+6dE<8n7m<9oi}reuQwsaFdm(D=Qqt!n-zvi#4zw zYPn93T3;F4DunTg_x+$%>l`2;H_ac_RA33}h(XQJ`2l{`a+wEpa-PO`WD)>wOj8E5 zE>0>NAzT6kTWBcBX;_Q0`v*~K*UzT1l;pD)2fVYdfY}rQ?V3UZcxxZ<@C@J=Z z?N+~9zkFn05snYFu!gC(0jzV{oM(>ux|p}n>&tc>eEkCcgh!=-Pmrws2OFAtu6y!7vx zDS!S4e_7@xXUYm5J-23-%Iw?{V7F3MAl_9zZg;Q=bL$ZSeU^=-^@7o;^ba%H3vTW!<=u*@&$2mord>#MRotp*qij1-eL1qkt1 zb^bs>Bj|3&Hf>0mSiq=egO~+)Z2c5^hBv_g3T>g5EVS?{@dT7;@qkt|Kc1VXfT&=1 z<+EVs=uVKf_O(f=8#j9Xs6bk$DrBh<$mTQt^P$e9r#H_A&m{@pJMk{Kr`)uQn!S0Z zpYfK`ykj990d-O!X>5&oj`SPp`p(v~zpbBT%sbMq0tz!6BSA`uAf<1q3!=!Fsk@PE zE8|EAwnwhkcl~M}*0#F)%T})+<0!P()>f+k!c1tM&0bZu3zj&-OJ~e=AjsnVW}(Tu zmf8NW45mtWzM6WbzX_*$l`{zVCKhxGMk~nRj~dT{@P_tq^4zu()XiCbRLj2;j;CIk zJ0LI1W;$J-p4Q&|`0>-H9|ZVcuc3DL-(3y-%S&q??d$12#OiL$G81KTa)F}}7eh!r zfMRd|U>J20@D9O;$hF&Ulzsa~%jr``*@Ne5nOm4CXFhNm&>t#om{4v`PM2#pr^>5r z;c(%d3jjgE-j7xqhCq9P<}$RGNm?H@M3Z1Q`9`b=_>su|MomA-V6x>`^w z61r*fH*A9Xw>5&~)?W>MMZ>55nwLl@qfdo;`j@hqc8!}xO5~XHcvw@VT^vQ0uH$N{tzl;8ND|1CRkUaAbi z`|TYzGy`vZkN|=E#tk?>bl}aO;B9 z?=W2R>@Gw5PVfc11v!|-iQGQyv1(PC3v{mxKLPqCBxrY1R>9VCx%;MCz5+p}Q_J;R zLER{AxJtCnkH)MfS90Z zV+l{@C%~#XcLRK0f`mdMrY6!9n49Zvdl;8;lCIC{FVf^*EnUsOJth+KrH%?5>Y|}< zne${jaMxT$(_Ur-7GNiTSFJi?iM>DRY_bNV&JD#o2Ve?Drftm8de-(+(56PjYn}n6 zluyl;_D29^>*&<0*2ng??N$HgmOoX1)mEy{tleLA8Kw$fQnf!3 z&Q~vAE_*m_t&T+MNX&AZgQlz8DfEf!^VH4v)X#G37~qO@fjVY3zP&eWrK4J^+LzEP zKYdQuMj$CPqUey0BOl*|j|ga3kMg9@-rY%0x{p^EZPeb?-oLiB_4L!F{0@fxDy?dk zyYla@1^%(s^JA~PQa)7~RN`$bi!6?kiF*e+IZ|-A96oj!4ScAaU=;8kE|nWj{6b~! z1bO1bDbCXUM7etHX1R28whZk#fX%!OFPz)u(pwkGd*?4h*l1*GauPq^u|um-OQ~GY zeE!HxhaWgr{^>vaRaVXpl}S8#+%Dm{FF#w>*zSNBXyFEhQ4+IKyI^S&UNRW}E0gfs zv}H!w!o$ja@T)G(%L3!r>tOw%$2?eDrRYU7Vtgm9L__X4zK zH}A|rkf!bF!7CQnv|OCz079@<3*G@_-O_hWd$mBO)}Fk{vjt+7c>_(-;k|X}(B@6Q z2u9``Aw!%1hT1Lv{Ga&*wR-|JbxFHW6E#=MO)$dNR^(?*kMQ=7`I){W5w%8LYxOi* z0`Rw2*o=%Vw-?w}dkwI6cTG)VYW!=fb>dz7zuLdMtXki^=b4=%Fqxlg9GncLv^0^E z+q5~Qa(nCu8|q1}jLux&A-F3vtxuy7^UOgD9!@*awiURVJZJ~%&|Fo(*|fE<%sh2( z0yMv@uL=A zzt~Tv>*YL*S0=o99#a@qtjdRUYfDL2*zL(Pf`^B74uv#GI{y2#TU=~u3)@?Bo!#t+ z0W%NgR6MRq+fyI>{AWjB`kgP`PNuu~&#ndj8<%I#Y<0GuRtu>FkLd$S(F!pK*q(Xp zv2x<{$!xGTv}c5ar}12XNMoCXV7~kM*|G@p-=5pZ25o=zm9Lh+`*S}9VYZcb&z%pm zE~6DPSIRR0cN^^)4O%^4-C5I-#7zi*pttTLv?(bqe^JF4dMEEM=<&?%decmOp*bs)x!=6dcNHpKYS>bYZsY zXOqB1+>_lTZveMowRQh_rH{xVyLOtUZQ069TCshT7WE6LJBsAe)j9b~K!jIAH(j6A z@;7yX*63qLLbio;X@yMJ22b6Rhcr93$KNz@OINg@3Nh zEPMj`VHYx(6M_*eBp8YEM?d|e<>x;4^JPCa&33e%TQ_cFrr0ch`iEaa>)&AYX;-;) z`5Gnw*##HQ^|tbFe)G38arvQ#A7%2ktt?~GhzF2uOCE*!&HVKquIf8y^HN;3getg4jUAKtvY&o2W0sf;ScPY__h{r{=L`_Fp z3$R-mF5?OEhL3W^bL*qvR(bHbqwG47YZDO{v{+PUKMN{U`i&^r~^p}HsdVBWl z+jrn`9_@O!&MJ0kiCuPez>rVF<6sv=2@!expr(*hr%sk%`ITSB-af&0I@rV6n)vw1 z2g|Sh*Z(pTOTYjB{2qW?fntF}RJz!6r-!|E7Malf-~X5YyF7682 z0KRoqOKr5-P9}y45T@KlyVoVt-8Xg7)Ks&k>nZ3No~O*3Al9^vFDwW6I?2CkbO0y5 z-%h;su@k7KC++!JJVp^5@++iLWdM{SrR>&Chzg+72y`1C%{zbvX{QnFPqb)-Pu2h@(yl`G5`S8P2w}j_cHQX%RPCOb06ns}<^_O@9r+pDmQBlPGe_03X8qXGf&ruc+bMeSdi=F=FZ!}-} zP|#1>z6AJ6(TD;HWg&fKJ-sJo>qj}gwe9?)kW4?cgh8VKNPjUo8H}c_^g&w2PCg{Z zw@Ok333TR>moYy=3-+mNN!;+Qk9oRf1o+@Uf6u`K2Ot0P&X+rXyzR%G@!hr8t_1!k zk525z)^IA+2yse;61kW+%wZ>oj~u})GLe1pWg3rDRQou1=ul3X5(otZwLKQUG8D%p z1?_7Icg&YxsmFY_<9g<0+7i9Q4VosOb^vvtcd&fsXMd*r$j3h(M!G(EyUb56vpRAn zyCP}_w@jLP99sX-izIW&M6E0JsH_~Ol~EKNYWM=HOrpo19f6l&R0w3 zFG7IuFs}e7kZrOBwanDRAuQHo6&w8`K(NAE1HoULy^FgX$y88upC8>-1tzp}%p0cc zYF9skdX8a4Yut;F-9d;5f?b{UV_&e+fN%;~z?L>JzNWT}mS`VA*ZMXe_34Zn0wUrJ zfW>>uZTr{oRcQFmy4yeY=Ne@a=-2qz-`2@fvzF~=!Z@n2S=Hi=E5yggoIA%U)kBA- zAs^ezvV!F{CDCdb$+-e4nKtFj=*52FnLsC*7|9jSB3=dXT7Dc6lBZo{IjB9qo$N*1 zr%XO~ULl#L1U2uf+?X!ElSeYC4{T`u*Ep?56ru^|x7PxrkDGY+Ozhu-0>r45e%=I} zb%scpTf&8=radB|YGRgB0Rhd_OF=;Xl+&b5zsaiseZw`+A{az|;`lyon+$9JHeu~c z`O!H5wR__`QgFUWmsChIX0d^x!6y#AG&D-QN#pL;YgYpQ-oyKjE-x(|bsv5Gk0n*L zJzW`J{qA?mZ~Slny8P$A_Foh>>tw=rxy;SXmTx`#_43?Tp3MZWW)C&h^|iJ#zrmp@ zq!3nz(0Z_g3fc~VB~+QJvX1EsrVt~<`OxVz10>1n`ng9BZr$|AdduA@CS z1THAWZrWnNdkIzI_PU3S?|Cg)R6*lb$S&&9t0xQ#XlQm)D^~l?+=IMD{iF3KMNA)n zzLS^hn6#YGR0!hZk{m79ZOS{#wh{^fwPCOj^M`8^tT(0%@^wPoiNLC%;y(|NHX47l zWjJzcoAnb|oV4e6vu$w?^9en;o{A;yEQq3a07Xp!qzkB4;ICUp3wGMM1BQT!0NsFZ z1N{CLD{Rx+X8cH4RuxkZ1(`dtPS4Dxo}RTV-~grh?WiHElUwz&zXe>|H$bO$i?Fe+ zGTOmzZA-aeDkeI62Ga1F(&2zp+4|9R`g(`S7lneksXk8U z+MvB6q{v5_w`@dg#r50g6}U|=!jo@9HfA6D%1`2xZ$tmml5J-^-}~G!;VsJ5gtv@U zkV9kkDVNHQ6X~0zhw77d>+k7)e06o6lV$D$e;R2w{dw@z1E z!wRBek>La$O;-vj_u4^7Tc4PBu;WuNvdJ^eU;?_rQh;*NmoB6`uBN3u8#>U;6nnJd zpCWjWO*?%lC>hWE9sOt)O!)vYxAqpG?8hBEew-8zm{Ar1F&nuNj{k|H$B@F+ky&>1 zNKyVqu~gV-@skdE;xxA~<8BY9RL z<_W>;NMW1sL&L-6`pp~B+B~R4pcorr1VT9k$xKW_@Dj0h%*q^Q86*g~%EEr`y=0Z9 zT;VIqAW*t`S0-+>Z&L|yxQZ8V8KVjOj{KdZT?6brLqM?9zP+@tMEmR@5S9VxrGRF4 zcOT{vOg;z+y?a(M>j;82QM4|~s^^Mrk!=J}Nl-2?_1WUJ3v~)FHid7FlwUgs8;d@RH6NfB8lLEFlyli1&>LWUarTuSUM5t23hu<9Mv6La_?q z>VYNQSsr=f4zSZM7O|Qk?f<(xW!x$_R5Yr&P#$QMA=}Y%-4zhfF7N9|r&d}e!!Qbp zbp;Z?y(VX7apy0)`YhgE2mE6{HPipmsgFH;?aI~i<{M|35CRY+hMSmMAl?>@mFK_p z?Q-VfhtYKB%7t_1*>``A)wJ$P2qCKadc{84avPMWn*erXx=10dr_NHCveLD@XJh^i@T_L-l@rybCY z&?H?-nfz<>*cNKFXpN>1C<{hG4Y$3pg63se>;t<>Ggh-0%hS#LZ5b#epVWkK zRa-aB1_&$ARDqoJ4YZAIQEP8ME6|*zMo^KI;HALr85mDn*>ByL2s`N;O?p}3EBcF0 zyu&jyrXGdN#yX)Hu_&-S0Nu9k0QoyQtAe7y7GU{H9-iS#c-qVP8?|A<(YF7qE`!`{ zxms7_*zVTX@_V_q#LJ^VHSv%QB_lNlMn6SJO`9Oxe*XNHy=Il)=*ennCRRVR03b@JY_b! z`Py~BKiD-k(KEjFfQ)|W>h&@_HU<$7piME?1MTUF19_H9oO<=*^Up(c9J6@iCfhko zLAVf&L@Pmy9u2qnE#Zdn)o3b7g&+;a1GV02CSgJq231Q_dy#=m?>0Lio_+i6OrW`i zg!}nOxN1Qpap!6nAZgzzKz(gKX01K7^#mrVrV5AX5j;vZ-fO}T_&d?0)s#~<0C*9= zpPHHt=v!46v^nze!1o0vbM@zkzakt2(rWjoU0^(!&ZcRKWmznzaOgvEHRb0%n~DKW z3R2_PuC>?-3N&BC6RQ&@R?wJ=`{Goyi!QN53J{`g^6hgAmWgX~<6e`LCX$q+C77Hj zS4++UEQC*X%%qN~2N?=r3XLo*Qi552%jiF{bRyNOYNNasWNC-S)L~wIoLZ*lX}d-M z5Kr*w26&tgQNdVZt%ktgH!xVn*u|B=0d7Hlnc;!%vCfeQW)RXU=O!w!pgPoZQDC}*50H3hL^YQYWnwvi#BgQt-SrMU{p8Lq_~5C zmH<~U=`AlTo&4PAJ~#A*FMMGkneM_ryAJp}`Uf9a-dxzb4v~zFk7KKLb2d!`Rl5-| zRMeULEjMr6z~kfqAOiSc3h>|wdCNU_?s{NItrD%k!)*w>GKoOZ5UlselQ3}y6LgwY z207ohAI*P@v^zU-2?Y$)$TiD&$?zd)?j?BBGKV`?<&|0%!|*=91+!GJrBviYv6GHW z=t|lSm_P=RaRf^1uW9Gj&D+dlOp>qlMI*-4vclpe^Xx*~obUUICn&=+G9u7FT<)f~J~f+(#!9vS{sMs_u8)lnDdQqW4@!?l8-K^*57teU~J5e)~Jm2%~0SX{^@O`g-}^v}$@)$XoHyx9=%i zMv{!A-4jZIy9({1)a@VM-hPlEubR$oymlS%gQ`b6S;(RH&B*wkvIijRR_o>pA^8oM zc`}wm+YlDd)WWyWwxl^|jj%Pm@pvNI)Nfzr&Or4p-`vZbDy9|Cs|I%iJO4b|^gK57 ztJklU%U7(E`s z7IZ6ct7ZGIju3=m8Ji%0gLSZtOw(_L$~Mom;X5)Dm=y%3VKbYL^9e>b9Y+uDrs@_H zYWXG-zj`uowQsy_NJPQmCmu?qFQBHBMycY7sQlnVR%w@*6Raa2-Cl*SfE{^idsZP} zOchPu=Z;RI?bD`~J$2*W__lY}CNTNy+`@$m=gW=TH_F$ZeKy)@>O-0yY(C8y4W47* z2%`@=w8e~Xv+k&U5YEwHyr_6yg#)e8noOIm6ug{^ z@qH84FbaJg3Yxu(5|BUXFZ#i}2T`*6QLy%p?;RWH8a(#zzWBxaz~3~~-{x;Rzin#% z!qJ}Y-hp1g-cJu2q`MqKZ2>Tu*I~2U3@qT@mxEF`dB}xHGOYxZk0d1>dwJ8km%Sv! zyO%G*0%#yDFAlVxY?KBA>vb~nzyoC(@b}a$CleE%@0w2Y-Aa+94HC03#!o|6pb@BG zJ{g?4X#36nFaYZ|V9?R&A?bLP5TTtRO^3r8CSujc^~ayQJq?fxc>33`RUjj6M+5?l ze&yR+t4J+0PG%(B3tlkmbdr|5w4qxT%N%B7n+QRHqEH_4ab%AJOV{JKZK;4}GV0DF}D9aYUdX0N5iA00`%71p5lc zn(fp89U0k%_On7bmpJ1?CbL~k5XN6W{}IHN88KPt?Ol$)%bgdhdbIf){nPd?#i!SrSV_Ce!XvSxbyfHfG2Yf4D{#Y zf+D>{1fysX+zECsKL2tVn}I0=e~0I+0{Kz z4jniMcy^%a&zE=Jey6P7!DANTj|zzM_HahgTrHK4dB=UFajXt9n%3IGRKKx9=ff$LdKJy zO{WJTD5zI=y=wjdDpIa`Ms00ND<1~M>qig@D5s&s3MX4FEB0x&kEl&c`S~xb*=}m+ z5n%jQtMgi8Gd)KN3JATd1XNN$i>{*p86F&pNlqYf!JOwBI0@}@)3t3Ca*l2k098mS zESbort(<#VU1elJyR5FUJvR6>ari*_#h?56^3>BGCcTw%^XirI=J#GL?_IpW+{gmk zZ43wSG!xk_y?}OTiuCJRjO{WpG*0H^fuJ1UH&Mpef_n~^-j$_!PFxd2ovcpHScn_s zW8?t1(>VJ3r@b)6d0-C}NPjG1mQ;X`43Crtj*sJBJA)v_y?h+1kZT~-iMt5mxWX#gxz zK_w&)>sT*SFh{fwNm}B9nE$4iF{O7;yYhI&4VXu5w4eKjAASV;<8pcHjW^MHC=Vnl zz-lLtX-H<_`o7%1??+x&u&=kIVSKb577pOk0s{cDXwbkW;b0Gda$y=b%@r65V3wgZ z5$LNvg zpcdvm!3|ej1cL&jdc#yYcI2h2Fj?g@SszOvC z7HYW!e$yhnPh#c*)N@JN3W3mWOF;0#HkZGwzcgq}&2C0vS&qZyDs`CA^4U zdMP$kUHP_U6tc4%VMxl6eEF6sWGS^g1Hmp~1R1Xmc{P>Pa=K?sJ3zFB%be%7;)sVZ zK;_?TFW1;p$i3EkU^F$kHn*8z6z<+I%S=YX;;FBUqks}%7VwJjV3E2NarHV8p=2}x zAslTP`Awn1c!Kf{qY}Yp7_)<(MBQkMG)37VpBe1g0RzH^*#qFz4gQC>GuqJff}A1_ zlfTrnn>2OK(|=$4zLSg2Ww=gYhY^7N1x8T@wR+7t04sj zM*n)vO#-xiFa#(MjtrEckv@bbBZ`&fa^vDf3PIWU-_0rYT|FZ)H8>xU&DMw;!9pDz zQ8=CnkWnVVM}TsGHp;f&qtL-EH1qj|x%6ijlaN~oM}@tnDz$v)EbNbHy0lNUUiw4x zmfI!wlHMTgva!jC0dv^`3+nX-vzeB2j6IHepg-_spUF z!{r9f44O1$j`!2Jzw1b^Cv!c(Y}pG9$HjKj)!b<|`lkZ1w4j-;`4?rzFtn3xB85o% z3h_+dLg(a~d=+jAi{>J0i*$#cGFl_9G#Oz*So3T0YJ{eIWj!O5k{o6)`8)}3pB(8J z93a*Ez~40V-`4M~_P$X}AN!)Y3r;O9MeUX!`ET7NEHAZ?F11XESwL!-A@M_rhLR$` z|9bxu!~2op6fjSJII2%NZuODW9fLM{(jAA@0U-Lo7?Mv+Gy$9=Rw)anM|CUTts7>kH3BZ5f2Ct zleb~?jkf-=f3q=|$0=HufEx(jO!8*vO}M(&0ezV^j1~vO_rYh6J^pxk;;ARgnMWQ0 zH2TV=^Y4}4`@P>UXV1QsJ$zgU4QUP?_;B7Vr&my zD@&{lRyU%ZsfS@br&xjE24EW;j4o((?&#GcsA{4~@c6h}@9cg`KkRTox|M9*-0n@tJcOEl_UUcA0|7iyv(vnrajGQyJyQg+2jEoZ}Hj&^9Yl-FXU zl6={}_O*3#{)0gziSvy5R}V7;aPqA@VA*Xw7sV+6SpaunV7t>jdv5aCb=R)a_;H&& z0zl!yQ;ACkQ0o?S-CyX zM{_;#;PLFe-;IrSa~VyPGEB30Y-MGseDaf@EEmtSSd7!a7W)49+;a3B1=|LeEQ zOV7VrW|&+y&2?N62Zs9D&9IBThk5~d4&ML}2LW#F{c?A-E;OxPCi=36JRsD7Nvco& zjylx5oygV&R@2GV%a_W{TQ|z{-+lpas==}ZNF6?Xx}5&N2g-}z`esZh%glRhseJ<~ z&VvXj?v1Zbx6R%?dOh_HVP@LsD60scK7g%@y05Lwqy4*Wup6vtMqA55xd)g$pQ17M z92hT8KX|e{`k|-M;>XGy-YIkJLGz_Q_yP;~ZUSZl2xRT@G!?+!tv^0(yTJx>j#d;@ z-HeJ{zp&;+uQqdS&9re2i=i_#h1dxS!c4G}ST>{M%mBzJD_mVWU|zQY*(tW-9)Jdy z6hhXIc+#HzCg{ZtGPZe5N6fVVT&|Q=pec0S9zvJbKHj-+zd}!%iz_RAB7N(f=K2Az zhHh=sm}baFFE$0h{{8#QmCKj8uX7C2Y#kYRXIvLn(dLx()QRI|k#uiez5?jeN0hmi zTi}&f>S#~ikTw-are&RSfIRJ4g#|*|(I)R3bGvlwGwCV(Lwx5VY*&A~cEI@#-`5H6 zI(MYWHcAFzeD1sy4{#HWe3;d5nAFv{ z>_*7;5F?p*9Ky8Fg^A@2wCfwUX3ERoez8nmy;im{-#F2I{Fr>8jas1Z#~h<~j4p$# ztTz|{`09cfC#aqL^mpb%Vn4SXsHK9627$+ue>J&a4@Q&kVFI_CGUz+Mh>+P}4aI|x zeW3iaU;WjX8$8qX&%X4fvc>v}ZNS?JRJUhXUR)qO<|qUc*AwiSD4+PTPchkgxcrCT z{`VY;^JeLDVHrdJ6M+2Bf9@B{%P&5U>FkB_$m1U@zwq~dp}ckWY`J#pChdQyJpIW} zF>1hkLnD5dMS4Tn#JdGtJeEv@TSfr*{e#r@t)m#Xa_H(}z68PG_YP(=4j4ewBm~E4 zZgFU^<_T9mJCW-M!nV`|<*0!*%P4fxP5W+92d~V>-422s=nk24d|sqIW&hUA`DZNfL2ZTE$Dms zJol6tCo<}4`&MD+4%6}-1*_#Gj?uE%kZ_h%deh8h+t_Z_p$bA24?x|#6&j{vc(MsU z=oYK`WxMf`gmyZ%+qRDKYgb;o3iu&`gAj_Vm%^kT?jU81PmERK)4-jpG91Kl_a{VC zNv}R?{tC8v<%3qV=3OQAs_jUqoYzwJ1N<_q+Mh%$fjSwujuy3sYnD1Ngn;o*{nasbyb zTK&#WFWxH5QLs8x&!ZtsFdu&E!{x&td8$1A(U0K`^-g*7t@D7LHg&BPo9n@ zEuR# zn$07VwS4<90!#!?dF#BD3{cBbL0(#_<{)#cAAdXINnu-0rM2d=9aM&VZ@HS$iD4Qg zNl9vveP^A`lM;CkW3?S_(%Nm`cUy56)SQ9len6~E@R5l1|5Y2?i?_xI%ipJOO@^7I z4mF%mI7AXMgn(s)AASkGP}e<|A!PyCrUJHF%~m;zR_*>FYKE@vbSQr8*wJ$9`pp2R z%q^p+c{xPg5P;DHy(I3s>m@%RWEripSxd9x!DoKvGvx!1KZ?0%IW}>DFn-EnHcRY#||7V`}ZP@IM?dd z^$TdPz2&1Hej@Ivo}#5c{S-FoiLr?QajenwXFppFYj-yvH$Cmhxb}M=(~7z8IZiJr!CS5 z2J=-2#lwm?wxIP?NF@Tf!;c63wHvQp1N;z9+rr|Nz1nKq*&0zM;Y1!Lw8qNeqlX~q z{bhc7767Xn#2xKJLW9VgE6ma&zUG;P_X8JUq_Hr%M9=?z7VYfcw=X~_Q%j^vxC46l z$}Bc$0n&Y5oIqshPj&;<#Zrcs(3?-R|77T}wyr_Y*L`eky!`U#e<}O^{N&{+EcG_~_iPZ{fE zA9g061yE!s^&t#ex!SD$|K9uA0_?ynm`*^^ydj(M4X}!%3z#$EdKNLlse*W96| z-$wgr`VvSUJpEAlv7h>>(#f3A4qCeVacsY-ESa(G5izX{^uK75}3P{GNdcOYwr*E zI~mS1TRb**$}FJY(RLFDKqO4nu+5D+6G>3C9XwbkiU!GBwkR&7XucluvdDz@v5BJ@ zl`XS&!MPMYqErGLX-cDle$0?d&NH<}3Ie=*z~wXRs)vtHK;xYt@5kTrL{4pk z9{ip4B-~T9l+FCSH++O0F3bE#diJLCL@84%Z=Z$UhzFwHY!{yS2_wcHj58=o`YHm)Tc}ZCBzkDRY5-J4jds*2hKGq{6 z8%L7XI%l??IP+jRfPj&iz$om$>@|b;g^Q+o2YS#X$7Ay!93CoLy<7DpE*LUHUN}2i z6A1?_(5Q#-*f?|Mp)!Jp#l(bu+e_tt`0xJvGB-DaS!S)AWFi+E23qMn^&Q3}Kz9SI zLd^i0vnzGi0a?ouQw5s30N_rFntNP;>#+&1Wd|~lwbKr|D+rMsQ>hfe^{RTi$BKEipf}*I;@P4b-RpN z%u++_Wz>y8W55w}(+Z;!y`fH?IaA(x^LynFe*bsN$>T@M0Y*%qw9#|WODzK>BV)Bf z!DE5ZMH_v7<@|;6JO9UTmVf^1zg7nJ?J0eL-LVr7maFH_W9P@cQ`dAlwjKA^4uw}Y zfTu~2`HAnm{H@aYn;m7}!K2i5r@Z*}7s|`8zFD?0WBueqA1pVoT`ey&-=N#4BeQB# zr&?TU=mf)5=ILwo023!Eb=6c0Wz3PegDt(N=wq8hcg@TdD3lSLu_gg}(q#lLL1Rm& z0~Inoq^$r^!Xj=0)OtusqtcLDW81$9$RuKe5l#)=716fSFoOLCLNNAnD1|Ode1$Hy zIRq=CL;Cvw6T$1NY&5rs8OeQ!WQIzalvUua&|+H#d?`b<`x_1#md-MfX*xDjMn*W-0&K41pgf-1iIpAAl*<4>&HKZrM0S6BQJkYUxkMG_#kO1FLv67 z|HY|OJ^$0Wb9Lt1c)R4ze8*z|t zy^3x!@#yJOuD(=DJOA$a2n7Me)29fWv~x#1ec=x<8T!E|K3HaP2fT3pV!3#cg+(mj zabounTE2U^uP-l_JxBKgF#P}wTO0s3L3#?6V+}W87=XP_h^evZTY?6O>B0qWp3bFa zrr*5_tu{H0%i^fn3mR&NE3BlIui!^6{N~ZJR#u&mg%SB+U_i@6_yNSdZ6mByek*4Y z+_-)vo1uHkYFSCs*B*X+@J#;%lC>J^(v?0`b+r`75O&5Ga4>nL3|+{f&5Oxk+AtlJ{Pg zPd_WF002M$Nkl`8f zuXl|j886@KH6}eRa0;D@hO}>e6&^lU82GUr>=!3>{g}QxpL#he%IRnp)}e>AY&^bm zc#e;l4{-#CskMK8Z_hwEmo<$>-!<2+0se`JfnEq`pfQuE^z`5luAAX7cIyL24wfhJ zuRs6JIRwCsszCriE*$czU@z7DkgIuI`9wMlQyNkt*ADAGEbh(H3joWw+V@>GDj?6{ zJHL+bdHd~m%DFes=1^-_4LbzxRLwJe$|8`uFUkm$i(P=AyNCYPzx^#dUGR*o4;c;Qq zcfT9+h~Z>L%hc7u`T$H4+NIt8LRm+6o#7P{1sEtK$E+_2mE03+5om(oy zc$N*}-aCNDP&X@_`zXJC?R(E)`_L)oTEVU-xmtRmBkz+R@Vs|Zn_ zNk{Imss^7q3jsU?#aHW6N%2|0kal%0M*3++xzdyxwP|=i$f&?kt1hC(u@~!A6&~Y7 zdpAwm(+06DhV7wzaaEO8TfC((G2N3VPch2uE9cLj&uU{wYxP}CJ;!@;Ygp4%pjM%e zaBh`X6PD$ zzYEB*Qct3Q5FrIRJrkFs0IB<*KXB?qdFo>y#RT!Cvdum%0bN3RLBhn7K)Da2)TjRS z8L#Wd`&_NC+#7d-1H~VI{PCDCWS|w6(J!%m?`_=TB+ONq^ZYv(%C##uIPisqLzHiv zecC z6eNhKaoSe4k3FTGS&dl$(91_bpxbHBI$AaEv--IklRzCMjznCL1)dtsa&Gg(` zDo(xBFdap(;Tj+;SS;Xvdi};NGU%cY$1sJl4g+9uBs0x?!_4$;G$s}y%CJ5Jnz9GE#IAP%%=3h4rHgR0jPEgGb)~WQIz40p z7&>&q+dTT|KT~%U>Ifr_dw3@eHhQZR%7 zCw&2Ea*-NnY^H(+A3bQ)WCV2ukc3W%+&6@;cBK~BhE3O_3rDe)t3?ZN3JT2vR!dD* z2HV6w-bNd2v7$Bm;k1V9rePrjKus`KeLYNw2?4JaJ$Dp7OMw176MYLzs;c2mPjgz? z8XLgjC1m{_71%!hp$dFFy^Gbk~$W%aMco=sQLqq(8?5`Mh>~+GG=LSM69cf^M;Du-3B!x63yA+fjtO zRsPu@evvf<|5-+39!S4Uo|+D_j}Lh{G8@MWXnJ~{a|)&r4!D@QClBT60{jG*B}NPD zXuh}H?f~V%KCn%0wS<6fjRKF}Q=kw<#g`uw4{%NU(3i^!Qp(HkRqQsJi2869RY3JQ zzd)bFN1wLJj-|FC^>sqk)yFht+Qq-ppC1(#fzbVjY;(7zZZ3KvG|>F^JElasTDsy_ z(y(q`mfd?l_DMTCpsF}HDzq=Hk6>KWwQottKDN5#Ese%Qi}KgPgHGPf}E~{%Xpj2V|p3y-xG6*OX-a_hk3w7 zJWjAJ0G?{HBiONZH}#mqFrDejd?cR3MqoTA*itqbM@EqOD%EGmFJ`Nm4dSkd;?CPD z473BwC2I4VXjbq848dD8Nhd>1R@=Uy?ob;jLU5_|qHO{UoiLJn%B%qD^Ju}BaYMa{ z8|*TsDkoo8`Ht;&Tkk0rf+5Tz8~{j7Ua)C2S$EV_sI4rxUI6nDc6)(bchb!bcbn9= z9W4*-*)|m5mkD>1m9AH=UPV}5EC&%7JLU6>(kV$0LYiJQtX@>XPXi!?9KBUQ#e=CAVD4t*(q6S@_w1SEz?M21v`iH!RRHc>DP-k? z7EzJDbmB#gXnzH-LQ&e#MN)bVO*TAX!x+VH1wC;Tf`YGUrF^^#uNcgVK)12K6Hi)^ zZpb2G> zqdDxpYu5lj2-b}z*S*BB8hV5va7$#56>Y~dUoR7@Lx9xL;}2w2<-sFI$~&CNEAdG@ zkYGNcH18!qKD^2!2{1$|4f%ur0TX^otWLyg3Rz+ikP}hb_T4^riB+j%c$U0(;X;7q z;YZG774b4c$04tia)P>xa7<5Vi8ci>S8W>5m*Oo5pV)x`^*(L;^zI0&gw>#}vrL<# z76BItUvq}TUrjggFP960(28vz{y8x#&neQj$<#y1wTWM6v~rV`&bQgld2vZlHGhWY zuAbdy^4JUDQOliQ;!FdIww=XhwH3Dz017r#H#Bf;t&DtbATR{^!K3?1FP=ks@^~nW zd*t->3}Qa%XSBg2E!!(!N7%Sm(B;clNrV0N(dwtruoZA4jNCNcIazD3DInYCJIWI8 zwZS{but_`Fr*7Bq%1bYo!^aL$cIZG&mO6J}KG?9#+)uNCpW7bW9-3ULM@$`cIT^1F zS@mI)#Zr1TDWuY7fSL+}=8ZeFLiOWK*6)P$Dgyxa?`P5)kxCocN7eT4-v92FDiC(# zS)>NM!+b+0+eO&tRFl1n=o|W7^N*f971$*@8^4a`D(IO$kLhpY#Z1`>W4IrP2QBJ(;?Un%TbQci08dBiVMyyR#FA)Jrv(NschvMF;b|ost+ydc9 zWHOIL$>U_`?3FNDb(f!fKihaY{Ed^^evCJME`QC3L0O7bAv{i=Oylg@dd z2m`y&==i&^_!OYlW+3kkG~U=y2uo8k9+Fqx8F-#pYcCsr)Yeuu~M&A zC1h^YdQyN<(CXFvD+fEd>dI1fF`b+P@Ncu;fQ{T{5K5W_SfJI;#IAe(tf8SIM`|Xd z>tQc8hQh+8L9iXs!0k z>Ka}&m;wk~9(&|51Vl%<`0hKjoo&MWMPFw*{@^iu>RDhW%+YVoG1v#1$lRfFiwSD0 ztq0LELio9_K39JF?|ddZb1q{l8UoBMXgA=$gUMzV;NQS6-*o`4br1koaFJE}Z3mb< z2!=@!+6{ngRWuqYLc)p*%-&?1YSPt}(^1IEBIO{CTTZtDqV?n~+MeVTn3`)GQDo8{ z8m$wS)h}PVkd8&S%u6s5%7i>|vR4oE?PWi!{W_PzFX~O7w4SF^^2;~&i$5%|uql1{ zOTeyk9L_Pg&~IdiiCyxRmQAk;A}OBm2*K2r{;i}d-I*_RfO4R+;l1E*t~qyr_tIbG zBLtR`!?&&HmckKjrJ^eA%-c9llq(#iS4Uk|+jb#Tew&76lqbE+L*>W0Do1sUK)bkW zX(~0$Zuz@wfSx<5 zqKRf73%#zekB;GcnebX-!dJ~temA$O;R)FOZm!B0GL}Q%ZWdpuow@a{f~Aw)IirzM z7tJh!q1!6NrcGTmzclW1NF&O)$uj=ca%*~lV<9o;05DsCp@OrARkXT!3KVOAVF$K( zb={bG!hCgq8|MaWQ-xhdPw>2xvVCn#a55@jYfCg=0nc4EH_B^ozK!7REC=@B?uwA> zz@L6#5TQqWcaij{!xglC1;8ff0=tXoDt7-tgy_>xe~9%ABLP;ui*(1_W@`k`66j;H z)QR44OiF_X4wW}vKg(K!_44}bua$!*4s(FX@$wx^NE&=SVaiEtcS`Nk_CWqZj~lUh zR)Lx-kcX@6LOiqfuywO8!5dCu(>@yjOGO)i7dnG{5PX`35FTjmGgCKsZHk_8K>q^% z&O4|HYa(etPzY9{Wj`R&+`xr$lls_S9-@=|_|bZI=nqFDnyhs1%yXg&(9()u_Ca$c zedwlwVtt-D2=i-Q6*TD^!5yisecVxl?IO_`Ql3yz=s;Rk9-%C@On9Z{DS4)*m2g|B zo36CRF0U<~^M$efgsm(ebkWH~w?f=Dr!hlcH7xJVhrkK~I4y$3a+|InFUwUYzZE`> zvSXaAD(~Fd-nb9^X{o=Zf5wJ}Sw+uQ2@tND#}+^$XlcXEDNYd3wsu=J0`B`blUH-h z!qiMdj)aFO^Q+ZJP=ENzA!qZPG#kbh1l6&$=etAX2=0Ah7zB%U{aG|j=N3+$IGN-7 zWP;aU{a(3!{TBPojE11ISs5lG-6+k=(TPM|ZLBhhImiGO25=R0x$kH9$3X;_j6fC9 zbo8Dvw(ptn!-S;PqmbYyb;bk&cnKO#V$NY|nx0!`Rq8C?Z1zRYYUMVY_I^J(7E#TX zJhz#IRFe|q#J!9LSn!i#seO}&8neN%6w9ZiScQ_Hm2*_7$0~CHS25x29XTDL>`G$K z0-m8fnxqV;8|1ln-z{TzZ3vkcaJI-cImqGI7r$%}EMi7iZa4*{&JQIs)5vLfAX`c(A(tvKZ z&QruRq}Jb>a9@sKK%t>!D`2xNMuengvJHHfq`4y_%az|GYKFOd0^L%ln3yaNnMzYJ z7Xg?OL1>1;#|a@LL>^N=uZ%`ahBW+2daZO6M#hz9%u(gT2mXrdrtdW!@lr*^ej8+Vt42er0MVOjBWu=Y`w%M|F7hbzYey$@@CaM%q4>6YliBfV=}h@{D3d~^>kazkvac7WX{_m=CIuVDr{P%d4(h=z-4 z0cLaf?~bB^nhaBg5OrbUk#^CYZT5!&kOd$;BEYpUp>=iAP_5cnOrudy(ot(>LRRk? zhsx_4i!8!yE9WoWD7UAV%OYMUtEA;7_%apR5w&KtK;4)epl+@fb)SDWnZtCFMM4Uf zGz86{-CElP<{fVMMzHFmj#YJ?30%Q!-34R-S06t2JuIFYVDfuZfCc;n8U^rqPQ1E~ z+v~~4&Xk+)Tw>&bCWyWMz!=_mlxJ-3{&M`}u`)b1m^{(}_9yW*)zNCWN&?`_d(1G$ zv&dm3os`|Ph#g5>eD_M}1f=6_Lpe8D?A3|a63xOSuYTvWv48`e*wvcOTr3vQBal_I zFTGp~A;35pt)L3n05aLIj&>1D)!1EK?2(?%skqshbQTvSQTI zh5+7Tn`hfo$aF!O_0Zg;S){JV(DSQcnw#TT$i?ItS~V%sl*H{n|4G&A)d6@Z1X_}A z6-cJfxP?57XWwZOrydfQ&rAnCu#EbbsSva=8Zm=_H2q-PL}Mqod1rz)xz>0AZ}Kz$ z&@~Mz8i!`7k2&y*sL-ip=a-Ex{rD!8vEDH!>Cwb<+uC4=~!It9` zcK2Po2Kc9#$lF3A(ww6&d>6J{H6{=9$kqxFjfZ8gpk4b}z}7A!-n}3isl~5Qjo%P? zD9=zZ9}F8XmTA0$893sN$=gxsJ!Tj8>(NxQ%&AY4Z1gpW$A~L=U2)srKUki8>gn>v ztFLh?*bE*h9E3u-yd-AtqQ#~FcgrJFSQd*Vqx#x~Q(c{dwLE}=Tia?Am7(=S5pYsI z;<(MOW|SM`IgMFoW^M(|l~Dn<<#?R{W@@9Z{B>#l2-_}9xW)i2e2I}uH|Y;z9%*Af zK%tXSl#`YS3fWI)ZBC~e!Va(fUw2gf&WBjBs^`!6*bpaD4bnCMG+>K@%|(8A<1H@D z=D-rr6t5>Hi>aUI#tsj2jt1>=@X#LCN#F^E;7A|P?(SXG?)(jHot3`;QWx%#IP{io zeCDY#X+Zwq=L+6bGgDpV_>sMJ)h~5*SrIp>}QC@_dbR6C&8Cmyj4OSRfJb z!H@tTCabuk0)>ts*A~|z2y6#w%+Z&oCs6{Q=TK%>L8$tBzZK;e2pt*_)R@i4zsxDA~~+qFi)+s6YS14 z38J0{>@)wFRuxW^m%J5X7DeE7ZYT2}gtwfTTT8iZKgzAZK&n(;vh0LQj`dHTn-=}( zyR<#!wgv*a@6FqOuKi+_Quw58IDeeOSf#zr7 z*jhYgaPf+2Xsy?{gw%hJDv5B2H$bf_#AmJv6 zlK^ppga9EB;*a1OiK{4);3Bz+;tK>sN+J?sCvhCd=@2`1AFI30$9+EU{qA?ao9}1L zwW_My9R#<$_3XXgwVu;Fj5+3Sj5+3*V>06?ljjd;-f3Y^GrgGXWEa&LXkk`gK4`1H zt4-Rz|Iw}7OV`HTv_7MH`Vjl>xCv$|JD&#rr7!-(Z0jf1(GPy`dcxvnTPi*~(J!wx zd2NIue!kAAQ#;m*;j?2lITpB0Na;H4*)n*h$?p?s{Ktw4s$bHmBVIt>Wc#_}n?Lr8 zKi_$ap>l_P)auz(@>%zQmTdRWHy?1aX*%(GwB=s&1_#Y+^tWVyLItQkVzLt|t=EhX z9yQ8HIy*_0Hz;@sxxB-Q?=2MhXCmmM(bRXzjJN)z-Av zgXUiV{J3_Oj!9XQ@W34q?$%3?Sa^rI2z1eIr#-z>8F*w-maV9s_TC~go?4)nVCj7a zUwSnp=#y#KpgPvZ1c*E{PjMUFkJoAG(j=sq<9g+jW4-u8;J6-G4=p|^E>vyw{N-nd z7qq+8;wI;Z@nk)Z*9WTO2*dJHHrIDROt|5L6Xr>_d@K1!TGcr= z-Vjr}4sxP5ty%T^T~ol}Mj9fIF8ltNbfV3p!284Z-!1sqOS1|u z2-0X5vd;fIeO zK6l?p#is4gwtx*!&zw^)jhUt#hYdTQ?`?XnD(~)?4TTH=`p*<*G)obqAPjhWF!~@4 zIuUZdwHq3E(P(FVJi5zud8u)PP}Yz8_%`F+bM9%s;mgvg^oQ-CvrAJr8;iF-= znA1Wqab8ZfH>_~HYw`;dnxuOac;o}#_sh)%T*>q!1`jQpW<`|j7dZyK&MHp=X6tf9U7eJUu9diP}=vkdgAJoZom}m1$c`iS3`v928R8FQ7 zorNcdoyrXJg-l+)>_wVPC>=aL-JZdPSgsD24%)xBITE171$4iO)3NRL4v;%28r$`| zH$Mj8k`APcPg6d;Wlps~>iqd<8WptLSHaYd7vb?(pMypz7n`WQaWhj*b$qE%+W+*Q zeq-YCf9-2usr<}G(&+i>CLFUmYl-nH>Z-~f>%&F#bS9rmc@Ei!_d(@6nTdtR&s%T3 z)kx-ZZ9(|rED{57$ANQT={^C9C(u4J76<9Tiz3x4#ed0y+I9A<+UM9$$8@Zs10~}IbjFjvW<{j?A zgxlRhNzDGmmEQ#V2nQ4@5qXz#dC%9>X}Cy1T$=m7ORu`%hbvb;YA))+=0x>YIzg=t`_HID7WwqFXma#g-;t}lAE7M76C5xffJ%4E?{>E_q;JG6L=ZaOov_cc1 zG{3sX@)`-~Uo4)_M@8v0>GqYce7PuyZO#&?Sgk6S(D*Z#nS3$wc!SijOy+rKKY#Pj zzx>miFTe6a6VrFA7njC0X{Un|cm%}9rLAnV#WT4p((r|0X09^oAvEfO0W(eaT6jCup?0}d_=oG)KC0bbP7plaeBpDK^V7eOP5#3`=u#t;=L0$}xfZ9151|)x?{>;1djc%@^$1229R9x%E z@Vsvybt6b*kDq(y@c7A?M-Ml(QlKt zB0XNpWOCwIcGzQqZRHptm-$48k`K@kYvy$MpUbsWdg)uQzy@kPko~gBN1VDX?7>nOPX~sG~`M-8gJliBlmKu6Yp)FeIC%S z(UsN7XDhq%JbJW((^)xdLY56|HcxLWv8S!zJ=X%Tul&@Pn_IXr=Bq;!xq&*(migxJ zsYzJySv~q#GzOrUosKmZ@H9`TGik*}5CY*nZ1iO-${PuqFMjFixZi%WjbfMu&<(Ii zNs8?LBfz?5CG@yw27>D6x$zN?ZrW%~9&-Q8{?0!7&3#yTdadYx11~Y^FsXb?R!~ z18;h+YDGIHpxV9H=X;w51wtFHJlDu~cVAhDmwOML9nR(Jd2=l${iRu^eHU1IO;pUY zN9oUz0sf!*>93@SweIrZ$;n%}^F0hu@8&ap`a&C@*I^p$*D<)*We$o-?l%F;ZF0v< zA2UVFwOD!mo$EReZk^9uS&T{hijQCWetzOb9yCdKCg3vaU|ta%j%UlGV%*ysm5Bkv z$E}+my!O2S=+!j-g9#gOGhxKOU`RVaFd9;MDMmm9KuqrP5aJSZ=|bS2t$jegGOU%2 z@~-^tW;LOedvz~?AP8EIlsx-q^8>}R0a_Mo*>Q>1DhS%cOfC-!(U40=+T?>gp9*JO z0RWG>TU!9c?PCkvW)xv_a`f%GXY6mQZ!}+PGIF(bJi_EE@WDlj|?P{L+}-c!Lf2mF~D__C8y+QI>g%0h02y;&kG` zSJxh?PE1$}&;i=P<8$-A(ZJGx8<|9-y9piqX9PGPY!0OI5ykA_6XH67L3lA)XivW} z*3$MD$Vr1BIZ@k>D{1_2v2+MsCZMw-u=bkmCvA3LA*SsX1NB#-f9Qyo6oLMY0Es_s zwRpD8f(W?bkID~pM;KKuF2@!IPCJy|m?Yz@;g8M%uY4w|X?3a@$F*{VVQmhaead-C zLWnv?4g9Sft3M{XN@x9Ef@Aj^(9dXbTNmfdYsxvod-q=7(I(O)(T?D8WPra7IQGMW zhi!3q&Lq|Mzx&$eo#O6)K9kDlUV1rq#PgfGdC}08bXq%OnRvxey4^Y!v#lOlmzbVP zd7uem&yJpV(3~+XFns&XH#cweu}b$$;BOZ$V8CsUOCbPc?l_q_;Z}>fZZy)M@$x|V z!RxPW-hJ<#Mkq^D1STttvOMKV%Z%C6uy59>zx(a``L{ni;Tp~r{+9-9zukj_XU7He zTobiQdOD5SN>uS?rk@26?BNH6HK>baKToSCgmTeTG22w0Z;s+oLQB|!3y)7U^nbBV zorlU6kcM78Jl-&D^l7Ec8+_Q47Nb3%%*i-yr?kEN zxmP#Oz3{^3TYvaw>Es1eIOOx^3ynOZ25yRV>SEaQB6`y5`%|q>Mo)lzV6&LC(%taB zq6~O6b6;t?m8N+vx*cmm{7iMWL)BA(=F*I>ewYnk(7sGhCN^n}07|$8tDq4DkXXn? z;EJVxzR{!W%eB*-ih2{)TB(g<+QCe``7zN{(e^l-m_p`69zQM|ade#t&xFI!sJ96* zJY`M*=xZ$P5}Zz%0CUaOBmF8L=M$nM8jOb9wFl;15-1nrKYQdpDdYq?uS2{0g?s16 z$KO>i+M1V0s8n~O7AuXp<9f&FFCt86>=9JMSLvxpJB^?f`z#FX0&< z3@G=G{vy=%yjwENN^JEF5K78O68KBq$O`|LUu6r%KTbzlyHSAOyU*k+kIGbX`?*>QMR0GluiH27WK+I2=AOg2 z4Rf8)qvAGz#w>GiKqHP{XkT^6(ZFK8A3ElA4R=3mE4$zRjlZ|~gQ*6yAD&MWPP@%*(Pl3~5r5%}pAXQsqntoo{l?Lvv}yPP$?fyM z&um+egBCEQfwnNLKa?W zb5Ya9k_QV*7%(r5<`$@b?dN}f+C`{^vw`%Jf}34zBXzcYriT+v)Ov4H(l*gy9a=?h z0dGQJFOv*6(x(X*Htq?}Ts@2+p3I1Ya11261{IAs(9uX~Qt3LJ*{{qdyMZfkva{DN z_CG;pB*%MdLSfW4YZBD6B^%NJcL2l{mnmv)RA%YfcbEWdHR%)R(?&&Lit}X;<>d!HrpPV$F5i2&WC|E85(*$gayh2h7uoduU8# zfVx7T$%9I0>N5#8llupmTF_Dghg?PLBifd5(~w#N#U|sP8NpQ{d=CJZ{`x%y7(uLz z6cn!kaR_)1l+;U8fE_gw`WOI`@rk+SBNyc56s~q9N?j zJB|$S|Bb)-Hy$2;dh&rzK-)f*MtUFuVw&{CZ;$1KtPtQ_+cJ3IQ|}RULkMy8U&4Hu1(gW6SN@^r;s<>yCanmo4XgFgDv>w!8q-nb zlkU{2XUiVzO!~X@7Qkbwb)f%TQ{O%W)p+*o9e;Rum>u&79!CcFzwr;g@u*#c?(Cwc$yjm`Dw7ISDpYW`a6{scg-h>aZvW&u-XCeOXR}|=l6l||xExmgM@?kktZWCR z$8}SuR|T3ZjbG=t>QjVIV8li*3Z#{}j~eL!NIP!n|qNlF(v;$gxy8XF~I;YJG*tX*d&zg^*ar0=A(I^r~I%v9RzVboaxsMRi=+6kfY4f@CFh`Gu(ns$&GQi&?-Ge&O zorl@?>my^niMKabPrN^iwT{;@G1l~u_yB+as>i_1^)$n=K>Iy>WN02Y#YDqw46Q$M z=%fH-H$44`FMM(HQ(yh5V&Qy$^RqwwlbbK)GcJsTA^wv9*CykqE7UPwIeF*Ms`nBK zd&Q`Ky#L(h?RVZQ#KGy!)e68xza9m9r?*V!uA`YyJuB=10a6?ylZodAYpdM!Lm7jmJogTKDm(TmD3x@xVHUfV2(Yqg}iB6pLelK$a`#jUv0vH}8 z)2+Hc;59{D05w|W&@(N!^d{6m^)_!HpA(Hx4B@Y}viZXgKN#CK(B#_qunExTi*hQ= zwML+?(l!C**rL;BXR#R5*S+$td8Q4vK-)`mpuv;Y7623X2ZW%Y;D42_v54b@mNt_hx}$eLFtb-i$<$(3#67EduhZg3m|H;wnTb{ zFkB1Bw2P6$2qLr{@b8_J?~?9W?qb|i$Lf3dtcPo7WzeSDM_b~L|6YtzV+`n-5DR;D(0$2b=;BH4L+wL94J&Q$}Kx;Yv zOjN~C0;6G;**U52kB==!kB0N{#r0#rL_S-lHoW}mSHHUXum0=*vi|(E5DiW3<#luY zqYs)?zSXk-CX)l={k{!HjWSHw9!s--ns#jw)8i%?r{gl^2-1a}jdgY5z6i3j0si?W z@`PgMtpjKPEKsXYO{W;olJeM@tBy4D0f3TWleQ#AjP%_iB|RU_Ki0N@LFaQ_@uTk=DP+&CO=#*fClH+N>G*Z> zhmFEaM!)!CW}ZePOk4nBx9Sy0ibvxBXeMgGp?205+IhTdl(#&!ixHLpXPyHnOfEp( zJtG?JKjaN~%t53okI($h?kbd9nzN;ppEkCf!Wl+_0G{^fqwaH z@44^#^hITv=e9sjMVWimA1OMhRlD@2U0vL!?Gfp&711ldnfvMn+Q{3x%!=A~(&tPY{(@XS`r}_ed5hV?Zb$6pE7BlygoRW(L;w+U0}&b*5agjSzr!is z7i%{mK#GADzhKfG6UJLxM(;-lhITDJ+r0VqTbtM4e0}rEE0@#kbB)ZqV!z4ehgYs| zZnTm2yFYk+^F|*U@0o1a&lW!6vN--}l=thDwh#mu7+C%~o1|q=`1sAG@J##q=AzuN zJujkS*?7)+0l;L=;!N`fK*fTxwaQlX&pKN)7$H~s`)Q1K6GF$+5FZ!*;nFj0z>!8+ z=6TkfZ{b$JD8JHS<7N{kU}k+mbTqj*zo+VzK*y^jw705I8}v+OlI7vTrc4VD2)c=8 z%F1H~XnL1`dA@i?&$PRiimv*r@uD%;Ou#P!{MY0S(#1mZFsfQ^8K zrs;Y7k-5h%X+zM;GTLF^18kn{o{^Q@nFUD)LShH%yHU-!q^9+=-&eRbs)-8fHYG3X zX@}}YNDQxFrOIxOfoBh3RG%7d$_${_q^h>+J^5A+uAxR51f~UDU0w&~P(Jk|IN}>T zkSOh$gkrS7Pk6zMzEIxx+GpVE)#iB;61ra*Xh-Oxi=+O$Pl1*wR-Q?)TD}v`Rz0^;fhdxU~P6 z(0ZTqgOsNl&P!YV)&KUd|KTjG?(AqCM+W$7)~A^`KGH$smbA#cQ38U|@U(fq$4e!^ z(v@a6p`Nolk`5p5EQaa#@+$Ds0(E^0qwPKza{>Nhcv)gdt3iM8`s;a=+}}JpSG<@K zeb|DbYwvutdE+~;ZQlC+_v`R^3DiY7g!;|d)O%m`n? zU=8Pm0HBd(ii%cDHni;fkMB>67~u3mG_bhI$SV?!uyCCweM;2RY~|88D6;5ie1K!x zm1Ztx5_1gUUcQ4TOH-y5d*1uYXML?7(4HlzaR*@3;8ZlV{z4hgCKQilk`wFbae@%| zPW=LxrRA?x+hxiMQO*Po0a4v+3wbhC%^XW*9X{(DpJL3rJrjvDhf_5s#K`^D7?>13gOBP5 z&$T<+^DT1Y;Zx#G6rUVg0%!G_{3|bEMv$wY@&jjpuST8DwOyHL@_5txqluT_u1|Uw z`6r6*{8pI~P(L@e$Cwji2-l3l9Lp)AXQB&%OwdoB{WVHNqr7@P+9q-2zK#;`1IUl^ z-5#q1MvsL)?w~+4*6E+C_$x+@aSMDNNOo@c8MAN$96*?-RvJKP``TRH{nkh*FL=3yhFg32ajzG59_E{^pSA7r*#&+d7IBPeZB$2T1v6)Y;dZ0l>H`dS{*Uda>G{ zjC*5%CT7k6C$JLm3?&*VGy(l=%k^p0Y{O3j^a=5sNoJrtnpo&Y00`fp)AK;lId>gb zT4;$5=wt#_{?136N7p*O^a+#!{b+IQIREy{3#I?LS3Wmphw+5#JF|uLKtmmQZPXS2=Hq2wS?xwPEj?>{^ed}TY{kL3f4QTy)i;UG+Gj>%84!%j(#7ez`VcB=E!{=Dd5is z`u%t$`@ykOIs|RQA|AbO_zO#Q9{a=~*dG@Y2Uw;fCe`swNcKk0;<9zPg0V3khV)sT zVLjvC<21v2`O`m0^S^X)Z*!-GS|7gt=H_}ad8ls8$PZ~O6>KeK2YyQcSWxyD=-0V4 zTBiIorOG1D{waS&ZVSS*tpI)|ZyjNR6C9Zu4%x@M`Jnf2-?&{zY#47|Bis5Z8;(># zn)!nrbqLMRj_9i~tqBE-VtWwV1bIcbBD~r%h zR7Qk5;O$f!5iAo~vogzfmBq+wF9D?l%m&PL%PYrXB<2EzLn~_N1GR4xLjH`Ww}2zP$s5Qsrjpt(+9TZ8}}V$(e>4b`aAX8jgn?AXNtd&=he%a8?;}V9yzw|?-vw|*2MJGW>iH(pdqrq)-ik0f}~k6Q(8;})0tvm9u>44ePCs| z%GN{GC2hR-Z8&r8;`3Fh5|_v6!V+9Kdtr8E;>sz4rfTKvEn>#D-9bi10 zvIkE<4Kj)44?yoXuRs_9s4sl}^ZD%;m6fnt{IJUI zxe;(<0$GB}{WTB4iP(FUWfJXo;C(s)Cz8R;3Dj=Lz1nl}G-X1FiF1t%je0C#Gd{!* zL+i@n8%@;<4c43bNtt&{`}Bvfjg*c6BaROj5 zBnHD-UGRx@x-_L`mSV33rYz_lo9hUa311N`uS%&_!TZ^?=n+)G|P@RiF*pKPW1x!Z^+-xX5 zIuIZWbd6Y+?YK^^;-eA=g@^YV&Wp<>^8a9GLKIV71@mAJr$PY>_dhEq(+I3ta@g@31TO+&k zjk=h{9?u9v8{&FJmmuMy&AU(o8-}Nod z82ZM5d+jiFP?ho-A<<(a97+cth+Q-$rBcy<2+zmO;AdL>4EWLX|L@0>{o^;Eo;vvO z>9G?p@nQgHvHkr0n6qL|?70NMVnQ9NKD~Gt^Tc2?tc)9t4lt7k<{t)>;#?0D(j5P# zU;R^?|M)-o58FxV>uId_H{blN-`>3aPyVmKtTM>p zLtBlC`Ne7PkN*Qm6F96D$BM)ALwJJGhAO}JN5}=DHYY!u?cPpghnH7puOChR#{$*U zHh)Q*Gr`TL&k$Mn9~Z%ZW`fK$nF;{+&X!*q-`T=ISgrdsZ=lD`T^u%Q8Er11^0;e2 zfzVM#^8^IhXtU)@=aYPX^JfEmC6n%jAU0CCJ3J;nnEKLOkxS-jU@ztG4% zzt=%%pqui^zpH&O0kYb6Cj7T$0(LWLJLz-Pjn|`zy?kc`5?>XNev*zorhd|u2CpWL z0fOJnCNkBPnW<)s_5^fo>bXXSkA{Dhr|Vr)mkK(H2bwwtkcW@(cK3UBuKVtpHHxw> z!UX-Qzxz|3o|!&@hx@Hw%Ila%w`uLnNxK`~u{Q&t-`(Stw^-@eyG3X#^5M}uj+Vy% z=*itwly_pLKNicZjxhY!urXen#V-9AeO{-IyJ#(j_wFBWJ1fy3fvVWryGkLX`i_7Pk0RI#hzv$xK^X3Qw5HWOaUb{LW zn*sjQ;tT;8AcbyA2!sdwgr<-D>_MB4_>4G=9Bkl{i(utu8sjEvfs_!^LJiD5FPq7awuhdT<6Jv+A@rTvbbgf3@zz9SU1*C+ z;f#-WpDFASmZ(To@t z3sklRhN7HCm3fSSQ%>%hXdv9Q_))VTfwnFSfNxLWY43!&bcAVMJk@#c;oA{P<>{N^ zfqxy#^s_aoB3OCvM$~>Q!vuaCR9ZBe$F_aZ@8R7cXz9r>x|nwv;aA@ne%qCy9A;u4 zty2Wh(Fj>Zi)ZwM3pWeUbwrON1^f^89^5^*x$w5O2J%7L{KIsZfd-3leTGZ=)*)x2 zw@!$;4%&eD9B^A!F||rNwi`R(~^TN2{wR$PqL1-)E9=4aklSw$X-8p=5-_0^Frl z>DUCrs$UvW$fslM2~FG&BIbDE1*Y?6O0hxs$;=Qs64OTAvh=EFfDg>>+`L(6J*S!h0Ojx02GkcF5?M+?U@nW%r+zN(##vtFi)r#QxBlov%<9`$E&HD z86_AEvCYrCLO?z|G4xLJ9WakZ(a_vUHz%LrfNk2+-)kYA$ekLg)6wz?gUP!#vcg%q zv}fRGE63R@vln&%hMy*_o|}o+o-;ZrxxV8`(ARsOm&Zi50FFR$zm#E5Xm7x)jcM+H z*Y#0M)MeWOUnT>ihrW@BjXhT)c(eM+*4gd+)smFMRdq-c)fNZ8y2r*)R|$8HVfruwTMq z$E-|0(~0IiF>lg_W5!`{9jt%Db@Q$qR!4vC^7ET}586~DyZ4D!$nMpFCiYE$(b;+s zvt!uKrW;H-FfL8AN!l2^wXwy@T$&9b1N(s1Oj^d|!PNjLElhX?pvJUv?9>ANF#*(> z2p3>VGX(Z^m+5d!7SK45OPVE z4=~`Zc>^n{fybB=Y7=qnx&E;e6Z+a>TxZd~>)cnxwwVQE)des3;2|{IoezMaMeR$# zGacc9y*7w05>?Yq1fKmVi)J@Jg zPMILxf>0$^=>F5NmM~btNM|F=IuxhRVH3uWo1dVSA7%nlSKb`7-zR~CML~PV&Q}MW zj6kY#0kx>hCygxn2Z)2ab_lyv8u^8@hXec4zO8PB10a;nH=(P31=S1m+a>G*b5dG( zZ9_2V*vr@6gl<66hASw3zl~vRG9N)I0q>tiJdJvEcoh*({z0Pwc3;}|5;WysdPYX( zFpOx>k6DH;Yi08+xC%U&RkV@GTEh5oWe5J|Jb)xmsG&>GY7abR!gr!RL zTYZnY!-$E1!!NzlbEh-!G0QRiogx7$*M)@TvA%7U$i%bUo);Y@W^_roXbYL+k?API zX64sA?g4ejY6HCHfgVoyRM;uUr$JvDJK^BIBCfR~tDh0zOK@y~KcQt?O!OnrcKM>4 zkK8_azLQL}jYN%P)KA%ToL`;p3KRIYF!rDIBT>0qAbO83;I|2TMG)tx!z~Sg}`E6g`rQv(~`*ItL zf9Wef*`#KSf8wK7@7~^=N?6nw;r;CX{k~A7Pa&Gs zsJ`B3brMyd%mN1?fc+!P%p0S^dJgc@?gEX#A@#k^RQdtKlj_6|#?E4U$InOKz_8KH zlQe6l3)-H#%%ZITdF;~B-4=}x3Iunz{SfYF%fFqe2#~zghVz%6OV9;!XY$*(N^~Z_ z5h|fFof|L~6z*{X1MO|np2QfT#0y0Oj_o+p-9aOa2Z1OLqx}RW0jAlt4d7NT1!TKN z3u24FAk?HI#6ivg14g`%kV{&Lr0RQOb|GU9GD2CP(*r##ykC7vA72taV~baUo-wKdzE7Ix(C!W( zYXf%W8rygyDHFMgq-YD^+pViMK9?|?QEkuR0RlxDK-rnHYcB_Yjie*k(0%%j47?Ey zDHS_Fc78akGrodTU)nV5z z>Oqq~eP);~+Qcz&D@>h#Qhdowc90aO)T%7dUt8uhJDEn%RZYm^(WCK(oew!&|`l=QtNY^F_nehHk~ zql_xYm0J&vzggx-_Be9D|KRS^Yo|^J-*@PjpLcjpVKr9IG z_MFA|mkYu0d~x~HAG_XeQFX+NnLzHh;}!i&_CQ2`+ZJUyxef_%Y4AELEK{cS+^U=I zIcBZ}MS+I8cm^m{nlX2*I_j{{4SD8I^?e+8izFKI&#qzPwG$BOgvZdM^54I^wk#~! z?E1@N$G4dOkE#RP{++^D&?3>+%3oPH=3BPW#}K?w001`)@=M*6^^#Tw*cZ}gzCea}u?`c~hG=TGnneH9Sw_QDJ z+Q|zIg{YQ3U_6_kI(TBw=713omDiY8ssq3InQ%@pxhHRAB1q<0b=H>Eqn1(h0ZxnE z04N#(FX_#5l@pIKwP{xx__U9@^dWdkY@RvZraZRPlrE^n&(a&w;p!OI)EjIpJ3>mXvGC<;RUB{Z=I&vRN^lgHEx1G4Sb=FVT(Q`c! zvz12a>KMQFr+;npOTY9>*{ky>Dvmr8(8)UUGuiB~XL?}=HwW-ECg;dK+G{`Af-gRE zVQlC8xph7pvs=~3S00kdwl^j(eN?_+!{Q^IgIQy?^4ku{!3rR)>eB<9OIOyT4XWS3 z+}5_;InCG5n^}R!NnNo;XU!k9dAH5cd9@r%5FTbe&`ISxT7O#klXi-nU7|EY^xx)(B_|KzAa# zvdPPj?H#SvXt!p-_3>j@i`p2VKh2eMZ0XT;ynPa6fI|Q_T4R;2O=`<%FpG`K-{j_K z@xwI7sz)@49z8l*^V8-xEU4q|YR<#l=gg}F+Wj0F8HH#F+A9K}10jt*+*_COv92!~ zVMHyqu9eK>=h>MYmUijQBz|=n(CfVB=s9h?=BV~Fdl5E1k)iL(5xpzPtXr7Ha<%WF zQCiOsN`xIH0bQhvA8hENj7Dns&IUzOA7`Ge-Xqld-KFZZ0@yJR83B&aDE)5DA#I26 z<=s<#`fYy2`Kk{=&~qh;&xUUEmMrj5&v$)SPT!UI<8nJ+U11$2p1O{5SjVc)l6P-6yr0h8IpPe6jkXyuCa8pJ;C9JH69L)8+5E>P6S&xy zWhQQE>uIdnsvlrmLEc?u&rZuo^%mW^TNP>pF zAB!j_8d@bi`xG?E%$9Dgz^Tk@LJ-JXY$aPI&dS}=f0B@L03oInw6VwWUWq8TI^#hb z&#%?gaV23Njn`OknMinE0Y+&IK*}slTRmk=po}2yIp!})cy}fb=}y@q0 ze#g(Fd>lpKkMWMbUh`kAle{vF8G||EiB3WI(rjF#S<;qtJkOdSx|<*V=bD84wSVnb zH^2N#zp(j@-~2x}-}&aZHXnWTVVY*)3RbTgFygraoNnI%?oT$i_OEX)q(MF@%@f&G zZ7Op20l#w{p9V<4tcfU-bK~B~1X8Eq-JmnmzD(i)pH*a@90`XywDM#28S=*XBgm@X z*v11On$uo_1c*>Y)pm8NItx0K_ud}6?;5rf9O_-7175S5H=!mkZk_UHRvHa2@HYYg z_>bA)t0$quy_7(p<5pqKeZ zY4O)9!% z%sZ5Q=DW&6`sz9b^SwP>ceqC=%roxy`_uO{vcB2_({Ao9+B|)yH8gK-lRL6sM-uoS zKD_hp=`+u~oyPDAp!E+!J9aFFJ+atgz;%Y_FzP$+zPxAubw>i;7uh=me z70Ra}aDqWx9@@Wr1~im{(CI&qnLCBey+Oar1PZC1>-Y2Q2$E{lMnQz4ESY%#l1Sox9obZ{2>7J8K}u z_MX;wris*FFyKuM;8k5^A^ zy1>8j4Zhq2{MC`tq0H8bl>L;$J9tYZRh(g$vYF#htv+M6>iUlMJ7wvUIN>K z|F_`0=R||buOGxN5F_a7-rZfM$`d4XE=JjEeZeN5Az&p((LAq zSKFfS>gLLotHXF~!Mq@Vn2rT}uYP!?v>$IS=FNjS#Wa7M*7&d_?S}Pyrk|VFZ*CrE zdH|W2dQ3Edm9$Qt)OnX1=%bKD2d3@QoIMO62?c@PD)Qtj>Z}?K(@!s1+P6xaJx>cI zNNB>VZet3l?yeCgz^Y`cuQC9>)gk$NkC~@(0DRZk-F3o)0D2a6P5Ei~Y5TpaF2Ear z@P;ASb~a|QUW`^8>bf7;oNA%i!!Z-(0h9($d%kr$51?%RH=8iNpGoCGc>?}dK6g1! zr_5pzLfN>+N(Z!PPg;95nEa*f6#ov^;`Eg*Kg-l6k;pe$wm+Rr@Y(TMHqkn z?6J-HgdX!7Tl3Pixw0}>tP$5E zqy}nNoBQb-A8ZB=YU~+sGqSWC6ow0>y zHo)jWb*HTX5&{MI0=k)itY?nK!^5V3G&fEvfQ~i@6lkP=0}J~JTWmzz*Qv)$5g?Bc z)FA`vFniJhcJkM0#$@6=?QuLqdWemC;^OoUa}^U5?Rxz7)in0D#r>xPGHn#1X-_BDtv@HuviVxO93j^OOg##SXBO~Jap%<$BHi=tvooEo-!)LL>e#yjA5R~sJoD_+ zV})OO`UjK2?x7?4eN=%zkb3%CCr%!J5DT8CosY>QW||I&v2aI>gsE^8MjpWGH{f;t z?mO>p{&D9of9{3R+AijqV&ZDQ_%*}6{khr#u7{ZuPNkg+fM!wB@#ml0oVOoht4P1| z4}W)aHT(6Y=bqWz`rw1D7-AAhW3D6JDg?p#OhPtsvAy4;JZae1X=Bp?Dji{Bu~s3c z6EIgdU;4s}b);PObk;hV8dQ^n#p?9VPCm_u(Pkey=^CNb)dMhQpw-cr2Dz@S&g6X> zq>hRZ@v*hhOTSH?y_r4wq6P}~Uz?PvSV z8D*8{m@5+~(!rN&G)3_AU~~ZX)*=uvix;$<)`*u&n^2q4Vn1wtBX4Dy^5_elFW>#+ zwN>FSDj%U>&PrQQZbs9t_~-y^r!1vGQBf_&GX1zOeR-}M%cSXDX>IfE`AMTPD#w&t z;@j(ljP}*8=<@LhVVl>`s_VPwr(m0>*G@b=_Rr?x5&yFj!$*z`FI{-)LA%=hTLIsz z!R z*@B3j9*{^&3`A+{_1^s5?*4>T6&Fku);7(ooUS1zk?#hIb``tFs{2qz3ec>yJ92_11M_txj0dp)W4Bg=7?u&hlxL5`l5s~g#k4t5-p+4 zYqSAL08bcqTD{h!qjC|LfE>+%)_~KNuXaF58#Z_2+&crnJ-dW$?@haTn-Hyi`Z$K? zD#DD;N*`D&SC5ZiLz6ox8a%2h-Uv-2q|>M3oAR?hNT)#4t%)mrY>MSY!>wO9AMz`cC!uB?*#B&nIS819iX9YmzI4@ z3lJyS&DXy6bH(1dSa-=R5-=4Rtk}M-_H1L8=U;rj999SI)d5cKq5Se`pGF!$$0jI` zvctl%lifEm7_CVss9eD1bRiV<03C*1ov@fK_bNZnqg^Mh3yr(rvWL>vY1|872rqRV za|mjb-e~=GaGpH36GFUy{BwP|??tb`PCOaWBWao6L}OVKRP*#Nc_f&1BU(3HlMEFJlFLB zSl{K#&d&@**m=*P99D&k=86Qz5>V%&iBaWQagE}uyS%63DT~^?r>>WZ7lrQ#147|g zg1HC!3<-KJ0aQNQBG0G>-!7iO3qGIJL0xxi1Ex-u4PB+@-T=LNl)vAEAkatSPKTG) z_2pqS<}5e1$BZhxTY>Z;clvzeo9DiLYxm4i{ywt6U!%uE2Y>&`!Lk3Q&amh(L)OKd zxMY~PZ%niMt2fn+rh@~9!xjMT*Ga~2p9UI((z?7fd{`oahY1YE&VBR7tw1e%be=4A z-OXX|JpY9@ug;zC@!s9d=a0X*`S95FHbTGId-u}N?g!ND*JlEui}SgctK>oU@OoSM z0)eNQj?T6~tSFY{&oL_4ozu~&t?{TCIQF7PJqgzN-!tknwCp+W z5@>VHQx$M0EOu#6+o)e@YjXmM;5(sioCab;0rp0qw#MXi0#`^4X0`j7ear=2$ko>9 z#?D-}<1`Ob?u(XHL(?kbggoAsaYkCzS$!xKQ?AP4-0z*K2FQP0W-MD(XVkE*r%)JG za@t70lh5Q`S|cEO&iV1N@g<~c<0*}V@PGdt(aL7Q|KvA*BaQ2`)!+7C0!04BSH zJwhKOMU~D6Z~{XC<6g`g=S-WTh*@vp)`TYTWMw^*tE+fA%6azOtDDQsq3l<-G92N+ zv}E-&CG*<#8=ET$hZ}7o|G4XG-9Y;mRCcR+7qAcnwFA3ThfTswnv(a*J&UWfVc>pD zjGVMnKyEa3yip6&&`M`&Is7rEu+ror=qUA4A_)U>BcAAmKa6Myt7A{1are>OUI^%_ zeyF2Vcx`xUD@+Ls?=uz6bKPHnR(jg7w07^5ae0(Ki5C6rf~6?tq-gbcc+4fy&*U{> z#)HQkkGUY*S{`pT`tV4Q@bu{tRLZl=JFQeNO%v$$W!SXFLO!Eat9#`!N5I^+I*&fk zjY>H@)`>dw*rH#P1OK<)fBns0{F$$Qqrvr;@B#p@kBrv7WuxIJAZJ*M5mR1cES%Z6wE?^eUQC+>~!(aZwOiaA;@KYN|n zec=U6LO;k2hAnl#Ox+t90Da~dpgJRm$}9#wlfmT|vgT<81Idfo-i@+^d*D{O--v}Ex|_Gu&0B@P?w>R*5EG=1 zSIX%C&pSph?g3Xp@6PzHjN|!IJ}f!r6g*2)@6w_blmX&UHC{jucwnmexfxBmH%V{khuz@2%0xLw>^C@fGIo)k;e3PGIJ22 zK5I<^<^%3$)tAY}-pXhJXyvUgBW!vXwG?=*!tG~e_8TpFdY+p{RB9@>%$lz8B$NJ9 zKvtcNYSDvWM0agCidMfT-_Bk4nUPLqYC`(=Ph5KR18IJC#79S+2=$4-ol z%T^ex#%uschooVJX44Ub0T{r?usYpzWcTYgF_;6xId+=K&aVBzyB`G3&u@O}t6wfI zd^=YKYL9X$eE*#*oA+M({^r5;E1RDw6vWql`pap=XJu2dn%vB-^K9C_&N3b)jZE~@ z(4)S3D$qOA1|-?rL-!QaI&pT`%q+Z0XnTh4(?Kd0;WZsI2w=Jaasa{|oo5}@E3ntG z+$Z=B#>*uTua5erj`$!m6w-`)U)uI)SDm9B3h)^5J#LKw(uIqyS>Vx>#(z95dg2CE zkpaDEhF;PIhSCJu%I4cOWL-s+NzZnX5HtC0r708EJNp&;X@3+dA?6%H4k(L%c&nXLgd&ewP>%ry1>PmF#d`4(f zE^=T^)-v&VPKXI*6K2BtkNd4DL6wu4u1a{?>Qa1rZ0!5-L;}LxfjIy|ZH{;(at#QN z45&`4-O8i3neZ5uAI(Og@KSZq3fpe8>RdSh`=mOJ4*Usd{1AZGDfCmkO7NLGK!f?+ zyADE^Fj(y{>8H~?`MZDqufMid_svsB`_GXF{zp&t|6W7>57QJr7mEkBF?Gz0(F_qq z-o#Woi2HHV;Kcywbeu*3xf;$;K_A{8I{ptaU~fOj4D#+f?{8jy^`$z_{m~Hji#B=v z%C%Vf^yXnh?AP*3|H9{gVsklgeCD|e#jC$oXKtgDCM{tE&8_~nxp3)Bpit*)!4S># zZYHGTG_Asao-E!BkDC1!5uI$5K+BzlSb>^eMg!Nm99G(Paq2qttJBcffht$cnaE4) z?1{NHpcxngFXos>J>yu~D(yKy*Lk}JL>(qn&t)5aF_X}>P|YK0z7`#%#6u3WjYCYeX8 ztfsZ?Xo~8&U0@YfbO3n*C;{L+kRy5s3_<{q&nRg?e`)$Vkm2J$F2DFf`}aMgpen@- zA`Jp#U!H-P5e%#K2)qRKf==KGytK&@ZZl%)+F~zd@ry9*cZs@x&;ob4e)! zg6V0aN>OUS)~EB*RIlNiu8(1->wEI>%}BDJvrBVbyxZ#3FBIJE+2;f7g9mvGwaBYY+6}vpXZF}j<3AIa8-8;SJsE&n z$$Rhioit=xYeV3A|HaEi1BC*0A|N^Q7N@z|DsJvW4hb+x5+=Q zeZWEIk{(Ucq^0_C^Be#i`T$nZL{Dy`l3o}W(-#UeJ(IbiG+Gi8E1W@Hvoh$^(*XSj zipt=_q%@vJQzF7(dBw296GW;g0YGV9W9-T`Ai+D@V&Jp`b7gejyXwb8C0|L*ckdC3 z00U5ureE4tv;x)P4G;IO=K&J{MiZTBXOi*6q)}eJ=e%6xU$N#n*StqdCnRU$9bE%9 zU^*G}PC049-V4|&OQfDO)o;=*O=hggrax%uaF+=7{w$=6rbb5QT5MiVAdf4j{UH*r zMnPAvT}y~Gx02#v+sd<<&@MgyeAf~#lU*y(n^O^$a{#}*!1zw%2J5r4U1d@Z*U<`a zueuWo2;0p*gdO_$hmUr`jQLIdoZ}G!zh1X!Qu)+%SO3XF*`!y#@>yw@f4}3QzkB%j z_FwqM`*+rmtVfUfapX1rG{L(soICTIdxv}fUT%o-3C(_Wwz#KGwuZ8_e;r>}!mf6{ zavvaK&RFt?j-A%wB1Y8pgVsQ$^Bx|Lok9^Dt256&xA7{FHc9;U`&T!wz4hMaPyX>Q zZC-r!)z%5TwYhQgR;H3{`7gZ~n4ZjwrOi(AtG;&Q`e^1rZzf1v{4}6eh5!Um$(fb} z*r!~|U#C)z>2$!NI*7D6J5SXy$1|vBfD%nhC);mP)3OgjH`-oSV0s^?wZnLgmlS5$Iiy~6@t z-K!H&Rw?ydCL(oJPr{_RgXo2Jv~H%Cs91WzS+7-`Oh1eMUa<=p-dOjRFhFC1#d?js z8gFQVc9mrbGVZQbSbLVno_VSA-Z%MP9yVIpg;QpRqsgns**wCSFdyvSD=fx?0s50& zODWo%YNQsUO?`MJ;Su$d-x%S_NB!idtm>=oQ}5{&(V$1vTQ6Ds=GoHeJyeKV>z?10 z%kxG`@?#EEXXYY2Q43b)uB+qFZVBCwy?GR(Lwl`H+;n{NcmCox-aE1zs}Dhb0-*~IoKAX+2{PC}EUj4$cnFn}Kr?k!B z`3nhv%gdZ`?$WtDX}X@qcCV4b-8LS-S4fDnC(ezgT%rL;ykGh}ZGgW{0whhy)wc$) zr;0tJlUdBgTSp%nU>|L&;(9o+;$brrpgQRY1sZXI)&K~A4vhHP8e&{szTlo&aH+dO7+y(+msCKWiLoWghNPSG_sOp~)$ch=Xz;@_gdDVsK>Qvx$ z;=BpnRsxq!Nrwjj)@11d4|x&pBQyxf?kfoG6CKfla8^g}OKXIVG^43wm8u*{ z#PdBcfUnL6ZB5B1zK4*#OAE-3SZiYO-N{@wY5K>rnVmY@eh_ERXYOfHT=Wpy z!RYg9o>YWB+7Ybgk?@W3s`o@NjSNDYa0(c{$19b=@1fN^xyq<)dRebmMK#hs-P1_@ zCpx@)B0=V!%J#Q=gmqutW7?!}>;(0gw0a~#ajh2rYaajX_=EzBOFub3lD}R!efs|1 zsWZQl7V~v16(8Zip@ju5e$OS}7&+ZPjrl^Sm?NN2y=79Ueq9GP12};MEuSX5GpV47&J65Km@aL)`_)^y`GJoexNnPg zxC@?UCde*qf)GIP(FYDn0F*3}(rHH^L8lI8on77w^wD+;i2lZl%5>CyR?4o zSY^7n+Pw41J@>j!DDCPx_iOj1_4ig~VtR4i#J&2WyKnE5gPgW`O$N24MSZ)nDql*3 zvUz99MUZq}0sz~F>EbJ~<)62Pq`EUL5#9jPDrs)9NtMmH)>j+`7g8$L;`F*i`5Cr#;6n0SqifKbLd(o8t_ z8|`+yF-+@S|NF+WGiK;}H!n4O+&#QQXzDMN0rVbz>ATmLz}+1C>o5Q7-~J2v?<37; z$Cd)00e^(JcK`nV3zyEn82|hmv03v^fVECUtK%kzXK+$1=(9`&*`IgzZqL=}9GLaf zpSk#{Ka-3Juu0GvKwBDLESz~E(16PQ7cb_SwEO3ty;z4mRfys{f&T|Z2fdk%^-i63 zZK%PI|AYl$^|Mn=WU}`^XeBTpF&D5vUwwekR&$j_z~I_kul&G3$5|dQKxsX@G|2@> zBOs`Gm2pf-0qMEi{LZr%2k=Y?J_64TP}kw1=M2)zQ~Fbe<{}(M14Fv%&8{ym9eX-( zsf%YPUuJr^u{kk`xKkW#Fqj+fpae&_I1EA_7eFBS6(Ds06 zCUEDOY~t$BGlYj0s~Tf>2Hx!9kE7|7d&*u}0&XAg>_BSf5~keV-NyZiF1^qPaTOKD8=(FlNuwO~6dMvtBniv;|I-=Z^-zfnitOh!`Yr&c}a@Ys@L9VYi z`nFQ{^cjn{&V|v9)@sjlEfzc-_zM&A-UnAU-}=^fH{W~hjae^IGc_vBWjCPrc^Kaa zm;Ip6{e-E{-R7#CTeWSZIqNzSG`$voqvsM1Mg^-^smHc2gi6B$=sBfb^q&>Xook2T zfqv^dXe3Q-w^#in=JZTdRpT%;=tQz+e69Pq(V{YFf|-1Drb6ys}O2$9_%1w8I#=v{x5pE~q0X z3?u+_xU6CLYd0Tl{@`107JB%(&F5dawE4=KDrm45`6u1MkCv6M3mw!CJ{pnowL>)=lcR}5NAs}X4_fx%xsY07=QFC`6xF~rWA7uL+=s=`VPSM zLq~a!hKGFBXSDDrHKu~z0r`IOdReZDK()NfPg=^WTIj&c0l0ZQ870|H(Q&HhCLWRJ zq7z}rO_O)maT_L2y(=RPw)$|>ex&nU;{SasT#vsu&;AcPciA5DK9ySfsj zdC8Q;xkhhjVYRIKN?W_5xm6eH!Hp3uf!zqNt^vcItgTo3F~ixZjc`J5=E+e4DklM8 z(;E4l%0zc2&_8D_1XNFBf82VF_da@O^ZMIwH{n}IlC=94Tg+$xZ>XO9MnF#q)u~6~ zx8v~&;a=eJp@R`k7s@-3t{g@y1I#5t*qLDFon@Vey?$o|R9g5_JI&}5Psq1_`l3Fw z90M9Dk|yOL(BF(4dQRAo=1jiVW}d%U@jg3#gaV%d|CS)%`tZhgfA$L}{=tc-hXH?# z8f)otCP8=jr_xExEz5L=ctt36M`NFHOw1obAogv1jVb@^})36@gDugeaZJqYuaBXu4 zbcAoVI&)TaDw7UWCv*VZnK0~}_X~}9Y2<(-Kv8#T1dKZ0bhndTAC zOdTAA98jz12-0(vQJc8kAK&ZADmheHyfpUxo+TW3R0+GFO^qP#x5#biTiYFrc6j(O z9{b?>?akGjZ*M-#!-q*n+jEV@HQH7F$}-m%6VEmIVqgNwXm7Oe-ifjLREA!iZ6=5P zw09TW>JjzPhDuF?2l#ufY~O43x;krT0^2jh8_<6^Ya@CuKGc@G@qxBPx7?@y)}Q~K z-+NyXK0AJx0-pi@C-f-f&cXj$-}?^&iA%Um7ow#O-{QVc9Us2`?&ive?+@7N^q<&! z*IU5l#~yRJXLRBo`1rYxpI`6mSXOQlJpb%_Z){$E@wv@cUU^}2KG!?3ehkm|+6cye zyrV((+@n@q9`LO<+%Dqh-TQX}!!*T%hWC;!4-0hw1ds;hG(tAHB=SRg?PdI06x8SU8M)rITo3cs-GPLQcT$OE8gDTkS0t~^2|uQdT>S{o9OCdjMiOt8*c z0_kUd6Z^*b$#xpE&++g>$+F`=h<83pyMOzm>zi8%h5ZD#dQ`|+7^oxQfpy^Cena+nxzi;OD`DV8L7YogBqCjl?uQ#UyiM&Hj1^gIY zjGCu;8v!~Kc5BE>>r7Lv7o5tjyvk;H&Bj~~sjVZ_%EJg^V(<5RR@Am=i$=!v5h$HZ zrJA}{$1#-zx&UX~0~?v}+F`C?u2}uJ=c3V=k)|_pVXS|L^`3dsa(^QVW+1dATzDqY zuN@h}0zHLwGr#`Ia(c@&V_g9VdXa7h0f+vI6U! zeSYlbNE8%5tPip76Dw_$rqPk!Ab@RemZhv50eN6MqbF7!-?EdP1O z)NG#bi8)bo?|kyoP@_}yaZldvuIZrYRv}l8;6ANi`&91hO-^%cp!FMh8ZDH`Z{4_Y z@O%CE?D#Ph_zd_zMU>Y*xO?U6pFjQAV&-4nF{DoC_~d+ngY(_B>1;iyL+q}7`u9rV z|NUQ+yRscXOtpN}=Z&}D-+b}&FK=G?{O8iXTFD!OKMweS6POGM0vE&a?70E^`2xQY z9=gt21q&1x`03QjH(EcSfX34St5cvOEU@=n0{nns?DysAqK*mZPuIcD76WHS2c=`A zLFh0Gh@CTgvvyrKwLdGn@7SuV+z84*zS|=JbnuhqJByS8RhqAG4M1BR)n&{JX@dg6 z0dMmIMh8Y8Jc!PUebgaM5^Xf)eggR&*b3qBuyk$s!W(7>lqIxCAc4wDYn^)ajb5(J z-|DV)n03Z{R6aC$Bdyzw!nm}0p3GjM2H4qqK8&)<)k>rSR$;VWo>N<13Sh@~JwdAe z+!rTr&j#|7U)KpiQB?sU`!-wu%tI)8w4?csC(*b+%2Ihuh+1ROoJMY=(mm`PcuJd) zv4UA3zM0SJ9kG`1|4tA|-uV>X7dlD1Z~xrGGt&o#PV-QA*0n{qPx{DuVUp>mmseSP zV!gOZ-dV)+SeNHl4Lox<)xAfQba=tOe!Mn2u38pT7Si$^L&k9R{u=)yZ`#{C!7EpMtr)_`ye; zS6(dgCi6kI?ihR+--ugzEp)kX>EeXc9d*cKC19NZ4O=HyPMLDcV3tYAVfO_wl>o7}V2)w-x>XwY+lp}_aQ3e4|Gay#1rMhKtXVW>5|znEDFWqj zXRJI!gS2dd=}yl+NPw{O8(|O{P=_f;y(?PaIxsa8z3AjnFG6&IUxFp=8%@W%t8Znt zlKDPb^_={*-|fyB!fJ{uP z=$)Qli^oW0~#d=iF1KPanyw^{(r4Yo+5EY0dLpM{DQ1L+TU(`FJgMj?K{8 zvuHQ_KYaJ$gTueGd*`$7KT3hmfd5Bm^4iv$(s6XK z#g^;2PoD8>cW-xf_sox8-`(GR%Z*#7&Nn&N>F)*nZ@lsDn0sEj{9J$#s05(2N+yd$ z&}gu<&qqy&S%kwRB%VJ2V1rjwTK@=>z>IlCSw^EyasU-+t$G<+)AV`2&=k`SOJldW zhFCj2KF3Zw7EEqd?KTov3!`i;{4gOTNL<1r^gEVU5xPoKUOaAq6b-3{5k)d$c< z*#>Y+Tizo#ri`AWcl+*oMHtVh-qA?PyE~@LJ%ondm(UOO2U)MnbA8hDY}bbxQ?%Z% zt~0XgYFsq;{OMW)mBYXBGgtn#AND`};>I@EP#`5t78T$B+NzM(6)&?E37F z-rj+?>z`&=zjya`-#_~9?%e%Pzq`A>zHv4f(T#Mj1qJ&7)dyE@Y`*#JAGF8s<;}~N zTUFV{8G9#yWSz?!^;E-kokcift28;1*dFqXCHQqfKuCk7HBLD_+q=67Nx4e^gp8@A z-szj>ztiS=A;5Bfdf{~RDeJagJVt`F0TpWwY(#&t^$5yo!qa>Mp`~U!I_TI;H&zx4 zX2(3kRq|mVeY^0=Kz`i#dQREA>w8^a+Zh7WE=@fFs(Mt+fKFMNmDJt*f_#;jhZ2Fb z0;B;%A+UiQ6O%cE@gzx*jc^3MTMRp_=b(3ghmPpU#y)c;UAD$T5zzc$!r(CBb5QsL z}Rg+3k4 z30Cp+(cy9B1?sr$b~gQ6MKC=qtA4&4l$xpUDJEIaWEAKYj$rbIT)n`T`6;7H7&v%QX^}ql6=GWIS z?c;Yo`|)WC5dEJWKSF_DxOM-^y^H65zE1iJi}QyKf8;4Vw>skP#>dRRyU_RUnICuW zQ;*GapFYRrt6RqA<-=5CLhwPR4xSj#J^SqDY_62-+rZ1_9yDPalzaC=-algG01sOv zj_aQc>g>~5^&6*kN*z)fFl3I^pSqUDpO!x%7Xl5p*E~U;7`XRNMVb6~+1R}cXk9pW zVd}$Ad}-}ctq!IV5(sST(iZe>R(b}0pzBUHazW|gqOzK+6d{8Fdv)h&tL63}yg-{deb=qeu=xjGBUvwX&(pX&q z=1Y)tVGEe*<@T=3E)yh1Km-`GkWtBcx3cws`l7QrhoP+zRqvQ@vAWf$1YNAfK)IWZ zq8@eeUT&LJZ{9Z|vasrt!|%m6J0ZH}UUtt&bRGC%nUS{7lYSk9X-Q0drg|=x$Go|_ z-uDRXzDs1?>w)>zwbh3_yvUemn&})A)Z3U4A2` z`MJZxztn<|KNma{G3S$Gr=hyC1M}VYCr_GJ6Z?5^X2&Z?wudd84<52?8LX^j? zfS&yh%uNK4!X=nE&T2k1y8qx-8>h6VKw|}_Ap*>{iUWS7M?*Q0cT5*5dugW`kEcrM zrzICKUCnDGz)n`~@qh{RS2*#Ln|qasOYftu9j~D#yok1_ z4)+V|A(ZvKdv|l)%q)h0)r*jL)T&`^8|gddPi12sYV=e7YxIxdwc)j@)r*OW*XJMkI@|K?<-s;B#(Vs z5UlGf6~BL&$z$$vpn=ub1Fqwn+u5Z5$?tuu&i$3m3(prs>+oi_?PC+`{@F$X1LAdL zW)d-bOw7`Z>(YMw18h32LJ;t<^UcmtJ805)`Lb9?7zO(ezU|zlqpdlLnEG1 z08mIH-7kHybMB26pZTPGm{{!D3K^8iD1k|N;=GKvPRstApBVE;2?Glt3#IMCbzrN? z%8VlF0&LKW9UVYZS*;wMU~T_*d+!2m>s8fx?tS)ozt6evn+N13AtWet1#Me<*j?4t zRy(Stu`HtnLPTk8r3%qff#Fb!?y51My1KDm!(mrbEl68hP)Z>VK`C1b1XM&M8bV?S zAtW)6`#AT!&pzku)4$(;?eE^h$-Uv`eUrPsd-vJ<`@Z#k_0?BnS6eTp9>E{Gx0Aozk3W3chN%QVR2!B8J!e7;Wg|McCRd?~ z2TaYF;gmE8oK1j#yM$<%Ae@F^Zy9cEu5b!)6$qp)6eCY*drUhJT|kzrXzq>HES&-* z1SVRl^DmA-G<8UYT#{{$M*QKrgN;o>e-r)B(Uv1e!tEj$nq%Vl#W%dG=D9w z6sjqO4`*eP&1x_)Q0M3Gx(~O;ZtEpCTuYoB%rQoGL?Eo5Uchazn1G7yb{W@2Ctbx` zCwc9(b`%8(FoD@(5KT}`R{AzJ-B*|UbW-cGldI<2&!~kzc1HvSRK=eh&<9fKjINgS zo*^CB&;!*|jeQx7Q!wA`Vm{#hGLzKW@3n`=bb@I_SI;f#(EK1j6wk=~ui)O5kT2sUFN^=P|pp>8DO zHjPefT7Zw!!gS>{goPs==Kwa6NB35=VT6`uDn}Lq)hIkw2#pXf!#3*0JpbW*uc(2b5m*AgQbOlg|X@=Oq* zE|Bw?>)GTAY$x(0$RZMSW{9a1lz=iPy+0=B{|qbJgtA_@ohe776$=Q0O{k~jS< zr>2QG<1#s|l<)A$cG`ZNymodvzx1hlTT147d<_m%;C~bb?F@83*4r8V7?}ATzFfXx z&C4h#`r-v3=@h${`rq`&%e7C9@wL7jg64QNYGL$jbSs0wN}A!Zyp zs-O)9a1Xd4ebLYrAZoV7rBNW&SKi6o4YcPj+GdyigIhaXXC$!Mba=qfc>^_57lavD zZjOC~kLQ52u_K7lzapc2&6MI0T{lRlb zgcOwY&AXN)v{fD{X!1^Q(fehjpy1GaN#1^0^1*vav$OM&-I0-BW53XE#mi#GSJ#)UIqZ0LGW*7^%emdyJe#zB`=XkzDZ}$}?QEI5(?8m8 zHFhH&o?KdOo&Lg|tq0k@ao-$~JZG5H#f{V9u<_M(X$NWVoZTj{I5%Alg@@-^E4eA#mzp97O(xd4E-%i08l#?q`_Z6m{Mt@0IC53D?;MW z9AF)SlhqU%P%a?SZcR?QF$jM30MQ7hkP=Tv-+PoeMg$8dPeyxRSr$m~K%qc)B@>BO z(At-l7SS^El(<&r2Lur9)$W$I+21>18}M`6KpUsf(xp_uS5sG$&q%=4&zccPBX1m2 zII%fMonn~_*KDu!4kJhnn&u)Zfq#T_wtHigwhW^MYqO_ZM+EMj(AL$~awuCMm6y#s z;kO#Jhu_xWHQzPqYz_g|g>ni|1w;Umn>r~A&@xKszjEvF zVw??rHdapq{?G~SBe;3aOiyI(g$jXj_(#WzTd(!fxbhBh-QWC&x5X_~`r-q0c)4DhZbfS#g`Yvm|}`7U~Bg7h6Wy+YgfqD*eX3(7Cow^uiNoB!(G zs_hpRUclc9{9l7fYpa{TjW@(cG55UOm%izkc5M2X|9Sb!OWG9Wz1;41F3-&uZHaF? zgBgo9?a5<5gd-3Cpcj$t zbsa?f`+3Zc9!Ai9!zb#|HC3UY8O<^UqESWxP8N^w9Q3GN-&jScAXE`vf*{5T+LuNK z(3_{b>-zpTjMYUVy8pNAl&mre0vDslV$tw}_1R^wNAsbPh-VW#h)_tQD1-7N7{Ol!=j1H&ASejPInLJr*U8o#v7vOWl^)1~NVRMz;6&jp zUrV@-GV0J2BX9g<&kB`}KH#?zt_ouhpP7fx)$Kx!@M=3X3;Ikl8n8a(0-j&D7(9IZ%QB0$A1AIQctUL-T*Yi}yeHBD+Gh!^>xf zJbjvQAc6!h?(V~v(o0@1ow{^h&?{P%9mW^mG~O?ry8ISAG6}Z3z+Jzaw8jCmlca-q z-;PCDcJT7QOv1L>f-#!&$`-@-_14IKJ!>|YY)nd$0z!1s*rDxslwk){Ll!O+8Zk+j zF0?tcry~Q3U9@|(%ch;WSi1Wbh=f^(>y(vgIY<%=hS?0nunpO$1%S}^TwXZ&*g-gq zjWfwhnar;+q5-1;nQgSr0YW3&vSISXEfxCKG2z&Fuggm@S7B&`Q9;R%f>}V!97euv zt@9Dk7M>MT`;N@yXm~5<1b5p#z&4iFBj9;#Z}Ph{l6x-j+D3@PV+ddr(zH{n*^e_1 zunvfJh=nnXhU+|me3Dj=xYVLa`yO%TqvKQVOMA3nL0=xyIG>5aB7)dwLz*6KRT!9A zb5QxGOD$1-c=>rNn_;^XfDWa3pRq+R(J{{2#`SWsgZT0{pzz4@9(g4lt+`CO>B;={ zr&^u_s3mK6w-bV&t$QClfrkt+^qELiYuv%~;nIF-joBx*aWyG5W%HK~584Kx;+vnk zfGXNwXg0s|1As5UB&hcAUvC4}aXkc=Mu=BqB+)VK-XmiG>JSr&m?T&(+NYD>bnLck z5&(ow7k~D&2pYyH7Z8)z(zD^VlGG>9)W#cATb=_GkhVo$G$5<*xq>Y~LYwp;>DV^t z6i}pDro}`AxF^PqqZ`VKpyTn%3&Gulmd{_>tLcN^0dj$~OeDh=($WStz)>g&<_gL( zsY|)!lSdxX7@aT6IBr|KGz76 zP>W!Je(RM@w!?*UDh8wM^U&SI`-c}rr-fOzVLWy6G_)6hr^Sq%N}C%KkIz85nniww z-rzsisGB-8=h%LqDOYeUg%3`sQ;y(moAp>S=wC4n*;Z8r+Qw+GOWvU#<~0{9l15J= z%k&x1uDdtZm;UWXZ+&=KUe@EnIdCq-y71hWP|6dFYhOArGyZ&D^c#KIJ=8{pf*ii- zyN+}$F8N~n(q47dRjsS9xw>`i*s<0T7GF)Ui0A0hqv?QlN^S9W^eok*)j$R)a5KOyl=jW#DE+PZ;$2Iee6c7+Fl3O5D!=tlv!H>Wtm<(YK8X0o2 zlN+-XaN%cwLn^G(^nz#>F#)!E;8<`37eM2oXOm!}`NiF+yiXNbxP=Z2aMMOKQO!ZI zJ#!u~mKjOReLzY8E?}(Y3s5Vlpxlq3rs|sK&Z$DiI&~ur4<$q)V2M=N06Z5{S9xEG zuxje?T5~95$~&U9pHe8))XU;4`;50{9q$AS;p)x(QB~EDA>3Np3!l+(vO4hL|cb!8jBD(fWB#J}c7n5U%e$v3c_Uz5DJ3UbcEX77kS4 zzi@8t%uEk`eqd+t<#e30F?@KT?MVHebfz?~*?~O-04ETSvsI%gcI6dUrsD`SnvG27 znY(o(>pL6>J!8qv1R8J3BiGDS$3{bgwIs zGRaSQmZT;xxH&|(L;Blxq&z!)LnHOtacx6<+XYtAJHim0H2c_51r8?(HRqsO2bk1O zwXi5Y8$r^iI)EXQ-0WU@)EfO~8;t2A2ugzh9Z(@%_IBmEp(0#trk3sKKw#T!fFIBb z%Nj5eIw?oM%LFgYwXIkuD3|AfAQR}UOF>gUfVILwtdjlEsZi`dqjvnnSE4*9qg+QC zjOhBKs?0}_sR*qixD*ZwAGLN51t?jmUtX4Lz88Lcfil8?0H2o4@tMVco~G#92?=rA zJPqhCF6*=Jvrto~otB$2OSx9O#mH|2fgCqjYYblp;hUpDv~xzMj)oki($di6b)W4d z4g-1@sj*wEpiTCYhCGh6j9#ia&&z7<}LxT zjLvE<47&k-f#@LurY)RW$jfdAGo2nP3IJ`H0*Jt|x4g3@pZ#SAE}%%Kpkw&kBfB@H zo7s7|KzVjB%hql^ioiLv&lSFCt*UKIKx&H8oMU4w36x2`0(iNSvP^9`o=AJY#t4ct zG;?uahfdATT0=u_%ZQdAvkIV*4o!9v2Vj7GfuEvssBycZ7qkp;0%ee*2~79SB77Qc zURYGvdF~{xc5O`%Uh|*ySgd7cuA%>+9H|)$EhZlBt0@b%<}Pq51o40m zDfMZ0vN98uq_luS8`jf9tAJCmD^MJ1=`B>64^Pb79-zwY|Kry`{OJ#-;`-+?bHF#T9*=; zOp5isEOb`cHTmrlc5+&}DK9(G=jfD4__>-XPxf9rw2dN6<=vkF4N4wFesJ7zy` zGCs;5HTLu_(iE^S+OObY5uqnP^gRa{u-}7^xIhvrnQa;e#{pDq@dHe@f+T=7!a+L7 zGr(l4g$Fd0adgCJ@m$sC-PT1*BTtVBLF;O?w(y1P_I7>o!T+MQ5epuOPN&yMVTZ?p z%L-EfAhpqUI(erXak1^QfXt3)`>aH)u|<25gvkec^q;=j-Y`C<@v?8@Wyh5Oeo8@!mlDg z%KU?)2FlU|hLH6+na(nsas@Xdk@^l;bV5+rcCuK1vDpLgv^u636WK-tfbsJkkw~0c zxft7{U{_6N%%RZf-!Fn+I{aV0DF~i-TBitz_vNoVi2ErIi(95qxVb%}oa{o60RrXY zkoI=GYX+DAmIGtBie?_ccEWdQc9EZ>5M6agSy`?rM_^aTDM$ry+uI>b#D?J_7zGOU z3LQsiP8LVgr*7X#g#fQXt}`0_cz5OaySP=4$H{?$N{=)1rI>ATZEI_;2ze z>h4iG(FHK00d#>(pwygVN7#Eb>GocKwDY}rb_=0Gp&&{p68I26!*psVdEKl%!U>6> z@S<;}L)r=BNg|YyQNR)Si&k7{Zt85l?a0L(5z&)2I>ONW6fc?(Kz%_xA=Glk8IcB{ z7dS*NcvH$LTCuB;jrk+5mRPAAZJoMIZ{$fQul4W|00lxrEy!CJWVwPkaptLF&9KjX zp=BNBi)l=H_@4>VLRCPfX{+EKlNad}ZVCx$&$HuNgt|gRAxQZOEc5yd1l^c9ptETF zHm|hTZ_6l?wdODOe%Yb7P~odJA*3kVY!QYcE7vyqkw8IwPW7ykUxcE->*)028a960 z3k?y%WI4wnCBBdAjItDpMseXCa=;ba~`=2=m((eOM?lZc7jDw2R4Z0sgWJud4s&g)WfN!5GPXw z8UIpaLMIk07#n@`f^O&laI0b`W~5 z0M+ze05+rsVB+V`bphP_($stuCbWq1(Lkx+Bcm3}hpHm@G`*m0bIo}PuPNfJhtd#w zv_0u1SFq$Cz;-8VsiSsXj^T}EYo{u6Na#+AesS5A@^H2yl*P>7ePbkBN z=&D65eXMrico=Yh;e|1MZo7d~R z?>%~X=esLl?7ElVf)j!zI(_M!Zqzc3*55IfOdtqAu=4^Gc1*o91h6teSv1mOHYl1e zw{o1Nxd<-XCpc)U5co`%HVeFJ*?@U~N>3wbGk*h+lB#wmPzJC$cZ87n5`hnZ&qO$& zLU8~ba{`n{f@u7LOTZgJW83ucZ@hKN1fu{AF!fC-F)xuv zZQtKz^0hplJR`0ZKnff9Q-II2n2}OX5opaQuXzW|-)Qf)(>8ifAtx$#c8oH($%{k-a--C9QXXo~4I(zfGIp6!e_rB-NVcNZ)(rc~vt3OS-$xFUMhxr9&K3o$3 z^;6$BGsRROpsr7U5E_u-K$?@TZ|cU4#AaWMkfeQSOmviK6k51e^-r2bt4ejgG|L8>LI_zA{(fmHw zcXO>t`(%7uHGMO{(g36YUCQdsu{h0Q6Dv?!K>fFN_)>Osy_wuEOQFi@IETKTDhzZTb$u z_3i;hqC*R6+WjrBaa&Y#Zs@nOC(SNe?C8RZ9awv|rXxo~mSK}i9_{CrU9|m%SKd#4 zwESEP?c@PWJv7T`HfTIP)Wn@ER2y$Tju2cV=68JRp+>xOWAQN-C{3|&O^x4t2|nh~ z#Ii{fIF!!*Z?LE@FyIS^;Ogi_x?LBb&{1Fr?6$9Ihogi1JRrCAVAA#o~U>l}lj7?p}NjJd+ z@f2~H97Q=AKs+aO#KT08708bhWp$Y?ADvM4zVE1f)YRk1!txYs3Qb3kcwODn?)2XH z&Ub#`zDJN=FFY;|IO9~0C%}Q*?>~O~^_Lxd3pnbP=rf)3@BwEg+<^_P}BH+9x{kspJ2Tcj> z+)TZic+|7i19Y)<>&}iIIgXMveQ_GU2&Fi<8S<9$&{ zbBjk~f@$cMih!d+hmvDH>GMN6twV5)Cab#3QLa-uz>szb;(g%qUVPe3C(I?k0I&Aw zXrpNB`sEu&*-?P8as+e?IJqy$ekiCs7n&8ww7vYIGVg|N?eOl_rBH0ZJ@@(}AnQMq zmTML)jm;t5e$4C9@Wn|@g-5w>t)oXr4H-%qWo)qQ&+h}U68CRrC}0=nEW5XkADcQKAJrvrZGlL9e`i( zcUwf_3(JEtSC83Mu0un=ql^O4`9OfHYI zpwSV9`zXV&cYoqjx4dIvp@wD1Lwb__RE_`1VdN%T4E~>!!|j(~3iy`u71?y=^W8t! z^#TY51a|*ES6Z)`ra4j{C+dVdMvly^t$=_xi=9ycfCjs`2w<%4wC32Q%M~|n#XQ>%Bq7{OG~+M=wZd;#1AWc(^%E{y?hT}dfL zuq9nI{-jTlUglsD8T#BIi&`ScOlKqf5XpJCqw7@6`dYt@rU*3HO_QfSLlgzeR z$pdc&F#D`A**l60XePj7H35 zARe&9_doGy1WY<}aS;@NanJNz^NMNFiXEN{FaczLQNN=GwLoc65EQcmrWS0|%#Xy& zBO#EbPg9Vzawr%SEDEO`z(cLtGIR&E{9@*zY_xj8n_FT{=*_*vA^x{Fom*=hq zj;-Gj8o#mcKa6nxU;fe0{gXeF#Cklr9H_wmB=Yn4()t(ovGX}V@vZc*bMiL8MW^%I zqxn7`8Q$NUX79Ox)O?z9Ja3NFl=|%WO`YCHBcr1V3~GF{vr}v%$W`{HHN>$UQI|eJ zP>o+RkOHK*t`_^Y9bG6%$q18xF-3db8g$)LYqqYWr7kB2EkEWUZuLnEC`O|uuj%1Z zDVH+}$^B@{l%WRMfT{w=$-p!&wF35PrDp4wU>gM=CwXF|JepcwwhFHaQClkR)WXB3mmD0X+F$?D}}yL8!<-_oa9Mzc`!PMTLOzD&Tw zYkAJO&s?`uL46;S!sC>s1Au0u#;eORn3B?((^dCQyrw_lT_dOZ0YsHUDLm#5p^ z_1-TGkGH=C0Q-*guRZ1O2IM`rF8H(oji$5h&Dhk@d1z}p)tq= z>yayFTJr}FwWj9}_Dx*a)R)HC3u3FaD$iNxkhK&v#}Nrc`({vdnON7KUcsX_AD+M) z!!;`etlzCZ<&!|}A?OR{9ttr*-e;~~e|Sb&=HnIus@!)(p;=48p%59Hn9MsPKk`m) zZN0a*()ooHTK_yH95|;|`jpgki4=N@ow}#S+P5;n_$`3U;YVw>9p2BQ9ZhE_;6M-R zALlx6?(O~FTZd&@tsONsYBC6_nkpt3x;s4Ak6mDlIRbPY1k?mPJ8;Yg{Yo@B*ug0> z=|dsutb@zs47^%F>S#8t5iIjNT6NLzrPK5tX`jEjWeHXsu=I@IDc(lpR#_43{df#P zlkF1l3rIsd#L$F*mQ=aOC?J!v1hc*-O&&)r0e*ynhYOF?yt&1v2m*t=nLj+_y6FWn z^GbW7iE^%lQE(~I41Zl{hiGUihiOYU6i@@e)N8pBe()!4iDvJDv@&0yD=s22Asf2T zaq#G6t(Sh&H?>}J<4arDUVmL{5_`EI?&k1LxJQUUPieQ$z5ni!w~*5Ri$EP_B7A0k zo`qa9t%HXTo$oxX#zO zlGo9r?Js5|ef-;>8W`^U!=L@>pT%rikEedp1`1w{y3d_ddkgD1P4JDjaYD|aBI+&P#_Zk zO9uxS>FCB+7pOe!>}u44rDl$pZ@6yfc0x51gkqm*08sCnKAJHXEtewFcFh6StDtbt zfC9(`T(}${Rcn;aE$q%}s{*B3tmQ3Mlzl7Hw&&v0g!6o=L6ku#Qrv<(nqgxaX5@gsP*M z9JU1>@@Qhq*ZhWT;Ww*lX|p?2ji51K|Kb<74!FUO`x;}L*Aqvt98E&ur|(hzqxEYV zlzCrI8&wm>496!d{(Z;WLj{Nm`YLi#XSL=7}N8TamlJ_2#>pK=YF)vYc zJ`+=u8A&)QP~2FbqY9rot1Ba&Cx*s&Pq6)KqcoT8l!^1L;9s# znyjaoSPG!VoC9#HF>9-inIdhbJxUrrP9|m&xsaOnS+1b3t+@gJ0m@OUwHL`;I6pfT{)!w(<2HY*fYdL6>f~cWiH&Ve&t-mq%I111UDLkO;l9x6@vY+yt6nyd@ zFvk|Jt-s{+89DMQ_cclR4C2R6nQiz!J~P>xKYXw?!N%x36oOT|au{zPyt1Tu2v^pj zvEkN~Kt4Z*Fa3VL=Tjf0N1)hZ`K$2d;o(|2LD*#$Xp!#dWtZjI>+Pg~@))F@(eUM+ zFH!$_`TQE*_&&(W#OJ{@HR)&y z+b`4my~uL^lM9Qj(Sxkq#3z23&Iu%FpyjT<*n$>d?1wyR{(@oR=wp5mw0Bsr1w59* zIk$7GDH=aslTiT+FeX4|2=& zy8Jngwm*09Ag;4KCp7VpLplLi_e$M6NAbPK51#Z07KRQTHoTwNx1W6(4CJ_+7P{w9YVFj0R(F9s1(gvzP#nE9o;#LhIRd-FV=EiDa1DUe_H8@N z?|lWAla57`<%Ts1(j=00PV=4h0i5fTo)8M5mO><&M17^0as_Jzqt`{bBtY|5xD+8` zo+1E}DE50-%zCYfWEm4rgoa)}2o{QRbg(5ov|;~|%UcI8zp^zkJrB5IQ>V<(0F8R& zII;>LbA1`0cQm3W&K%nOHs%{gaz-zeK353uJ9waV^zzGF*IjpAV&n+=7V3y49$>V_ zmZWVwkH)>zYvCQ&9HR*Qj(YS?(xyM+JHWG9TU+H_@@ew^SuP*kY~MY+Irv77RW8@# zY2ZKw{->D9csFe98{7G8yFGLRC~~#c1x!Sp{_#k#Ztgts?@~4ZD^O6U9WhmNo(`NY zNIjgC`-VU0wGQr|!5>>)mK(84@Jk5-M(wz1xPS;)G|likKnc=CGbEgVc7K6d@D;pc zCUJ-_ICIZK`@WrDaB_1G3oJBCkizOL_)4!w))XY2H1$UWmLFen5+KB+#nC|0Q$~c2 zGWg3)B9kScVNH-(nbg{GN8v%ufC{qwC( zY`O;Y6*y9(`Np3CN$G&@jBubm8=MIATsORQ23&Q9E#>IXi_3LTiKsEI|4NSiM!Syd)b$Iw^#|B0(0}5^sX|jS+%`g9gJ>mczwrGkC zS)T7c8nD@Y?R>wRvYLs)6h&tX_>f6G(`%_A;N>+nHg$Z5D+S!z18CCx8)&m3yyg&c z_^)(#CV%_61U5BD7BbNB%LJ+PW^opvVK6ZZw(LO`DtVyCa~(ba!~#RolR!JZHFOXl zniO2X)dVq9uw-5Wd$_A-LA#VGP5#d|hk&j1*}g_&_nwU=H(@Dgn=M6n>EEy2-*(9x zM+6xKaIJCWbUp$?Qjf~J1~7IzqS*w(WWnJe<6&)xD|;fa&k45CUqBW%Li z0QSHzJeKExu!Em$87bPQoKlooq#!0nQ6~ul+$K`)f{sGFTDQx)@9iAl^wFmfN7c2aU=(iY@wsL^7M-d z(T&ti>~nK8qY!X|`>`=hL(rFkcpsFhPT-CVjYEAAs2jcYKgO2y#-IG*H!wJ^$J5Dy zq7prwHD021Ei7-`H#I(dHw~*C=ykG>51?N0`|*1mO^%I(y_W zE|>eT+v_t=$YXf1itoHzQ!boZ2tN&icKo4-vgM?J?`Wlq2b2@i(wOL*cmQ30!}YDd z_6;|-j$M1TT#;#vE{e~+o1(}Q1z;f&9zsXj6&{9@5YF4fWWfsNq*Kf%_+Ge3%e5L2 z6qM(vMzNvEjup{=*4y0tiNF7vANgz=UjIC;9NlZ|k%NzZF29 zb-_^qC*eon6(kA(c)lC7cc1(Fd`AQJyT47_lvRL8Fe!C5<=D})V8`l-#(Bk&eXWE0 zX0s7?G+5NsEuvFuzR;ZDq^I<1rU{VJ(KFGCbg*c#Q~)hD^S+6oUzwobQT(@Y2?S`I zfDO%kuoOs|Hk5nC%wkY8O(D7yHa_|aA;F{x3*khmv?X91v}Ep~U%vGUwx&?{_}~0# zKXrRv?D!<4cPKbSYFEDcXasw;+5*M`XaQ^az|TI-npz5P8Xx_PI;4s$FecAk7fC;q zn0);L0Dpi{yS@UKwpg|+sF&G8cZf;W%btI%b?pt;5t3mZe|=)|aLw?^@C7CXi|GkYe1<+7?vYkj8YquZ!ks(qp&$Fv@Bg8XLTWvp0S;7C z&(qBGPk!#s-~BIN^!y(IjD8s(^@D1`k9ITwy%(^(zFSC~tBiBqZ_3-7-cD>>nhxQb z^&lBiv&3{Tjn~Kuri3m+ivBBF$A{e2wt|@D1@w56?BEK906^$7xqzT{??j+sl)W!B zm3sjX$`wokoctARA%XhH+rMhrZslis0Z8ptFx3mioS}hoBWMOON??I-vz4ZP1+0Kw zXfAa-ijYSN5*JrlmA30)g4h`%!7{xT(-rmZ2>x7Cu$0Fp#bqQT_#qR7_Cg!9Sa-}+ z6w~BW$aGm1T~;M)JVB5OobXe|S*JnIwpr;sz%$q+t@eFmEN$`WjEsSvLkVa$1ZXRa zW-*)T`7_Amu3Jv7u{Uu;y8_J#+S9n{+W0Aa>Bq6#+wKXTt?MM#*H>F7Pr1Efn-JZa z+RM8&#aw_MPT_g@j;9bp#OLQVM+5S6i-}zDAB6xRKF+)j-VCmj$jFK3?opnP4|?aX zdcDq1{_rba^Lx2b|2!icsKEaWu>Fs3z591=y#9(G13%tD^+)Nu0gQ8zVh8nOXKMh{ zbY45xalY$K+VkFzDMC#XlMWcPz_xnVJdgP4^wkXlf2qQ+ZZ5S((E#n`abu*@$2(d{_8IV#dw!X%8FAajMpj`mDX-7Yu>G@aMNqYrMk%c*cY!c($@Pi3xfKtD3 zY0=yw5J#&7wAz{!`a&i`L|$>NaY2->OfUkt8Ld#(F!KQl24nSaq9seCbwyZVn@_z8 z0vQ2K5h6T5iUQ!s1NfQNiD#?xu#5uyUVy2NW++1;=qhOit?sW*n#Lp&G8Mq^3_-U} zl+7(eG64L9;~_tL&m#Qvy3rrr5l!2<5@iPeoQU;MFuK`{WiXTq&yOBG8a}y3!04UD zgR1azfCnybn)V{5_^8o5_k#YTvF%*KL6B_@JGaN)bZVaIsHobyN6t)*wGQo{ZjBR_QB%w+THz*O zwG9Xv*S`R_Lwz8JkKmqiQ+D~~b-^&E0xrem!ZnYE4u6}sfXUhGxeu+D5g&Jc5evj5h59{P7TTydZSaJ>z)#v!%CC*x=U z$ZrojYV-RH*!3%F>Kq_V4m7ka?D^~1c{ia4n8$8B+}ejdd3&Ku4tCX4@oOm>t`nBj zgD{Bc1b~f?KH8pIr~p{v-wU?Z&#EHu`Gzi`<-cqYqNI2=* zaTPBG`cLzT(M1Obi+#Jyop240pG>x*q1%3;+j@-sAK({s)xeP#QY(;psJ$jW52uBG z>y_RD_?k}=vKh_Uki%^>W^MUu_#WjkYThaW*X!|+3O~v-4i~83GBwQ@#-N8f+vYXqa z2k*7hM|e17BteU1(*}hHZjzd~ zbbnP~DjXu9aJ8Idg10qU7RHI}^3*ozX~WO(OUsMTQte%JTa;h4ouNCVySuw#Xi*Rl z0cjAWOS%~vq(#C(auB4EZia3cLb_XO=#ZGp@427h{&%1E6TIg+XYaMwUVCk;z5L<{ zoCzayYFWN8NQ>OfR$KJixgL`^j9H!{C4u0LYLA5X)adWB?ndT3B9)nvn>4~HElZG>#$%C z9y&7;LZWY43QfO(a9&hVOxxDwc(i~vfY*?!lgiH}8= zN#1;U5VbrtZZs@(l`i9%8P9L{rY}htw;YbHzI{hmK#_}dsBI|k9Z(dZ7sbM`f5EBw zQyiyJDD;a~j%MN22aCNOS@9r6YIb#^5-*C6csj4%9$h}{3)TF_TVnkAbWZH}*O?>4LDa#gOE~_FpxY}Z zWt=E5IhdnU3re0#41|K?g|}&tqt@-`{;!z^ylB1#!rO;m_GsyfK58;bHlfK3VL#?) zD}3JCj=IcT`O}&o7Z&)Va@jk~>~0T>6$RD2u%dlcuJ&RYxlXor_GJy_R?p_qQi1jNi*p{JG0%tbbN5D-5USX z;xZ?s<0`!^{_W}eNl)eiY$qxWH*V>ct~LM%<$y)5cq$|Kq&~`La+fdMo$O-+TU~@f zy|X$kD`S=O1jrFJ8kI`LJ|e#C>)(IM1Vq-!nWdtN+$QF=n*9E&|` zSdab$q_n_qMBqu+>cA(ml4do-4>JOzu}wijW(|_N6cS})!v9z_u_+L2dqF;UEp=D| z1sj|;r*}1nvOjfn_x_{%-V`e*lyYLRw%S{SL}dv4beKkNmJ}C*dRgRe%1bNR{5%+X zbPJaQ%t-*0JT^5v=9vVxB`u_@ByJ#xm7VY1x%2Io(l!Gjff31g^Qa0$8 z0nrD{mgOuvO5w*d(W}W6*g>JOBQ1NogmnZp6$MK?Eep*POdzf7^Z0ZfnrPXr=)LA$ zjbNUb;Ri)*0V_>bbvCx3i=52mbNBI}-0!j((Pd?s(Mq}b-^ma^nK2E+20EwQ@1Z5&Bs#HjG7rLE#LUV>LNKpadGLW)=oOHqcP1W#pz`9uW<(1n~K zw(?m6L(ab(yN7p!)TFhql_I5a(UcHsvSoJ-^_yQtk_pzP5LpjNb?Ro%j(j2B-QKSKmIL&VMAkl>>eM z>Gdf7)=D+EJnj6RTveyqXZUGNJfG0B`bXhawA_-ekHwA8-?lw+f`Dm%dXGp(j2Nr~ zUcFC$PTUUX(=r8;dqv)$9hP$hEPzB+?*$OGOEH~hv-tUUxq^xyx zG7d3RD$|5{Oq}EZVwFGKBgLAW>EiQm>kq*4UKC?3SSVut^#O-;{ktnz(V4llvB^gG z2281fJ*Fc{>=7yI6!)ERxx?K>DA#7bU?qBI(+b&L;zj7XTPuF+o-y$x<*w zzyZOAp)2Lz-mzF6E=1I)T`t8W@DY=%Sv(sBuZh)WOZ5C+JH(T%b3!7pn05_&#cm5a z@x}bE4CEjhv=)kGV^d3|+HU(Z;9tTTaz(*2&TDpSbN87ujk~?$t#rv2!2m zT@z<_vZE5i3{;7%sE|uf+Qct7wg7zg%%f6Cz9a%{UG<3l=7}qKY1^Ft`X8sdzZf=p zZ-q8s%*zB!r08hiIPm}&Y{wa_tg=F4-ZlWu{*tUi?@|?H%s;z^JL2Fe8XLEDDs}Xx z6{8?rFSU#zshW-n_*Ej*)n;&8nJEl(3#rsYw-CEO*++kVqG-SCx=xla?v@jKc4)J;26uizXkKd=<i1ocWC>7m68n8rKUM9y zyGL-EI#4%j1a6w2t$0mDmib88paf~Gh|4;}!GLLdq-Lf48j79(p1GNBUvm#Ky6EIqUR4T2UfZES2(6<`x0wwGQw7vmF;JGmieA;^+Wq@H6*-IJez+j?0-*aXg30S#se*G|`s z<2l-#&g=@@wRm

z1E#UUQ!@dVS0S$`vLlhF-MOGom`pd^xkV%_5W){}Q!dwB(TQ zaB?D2=Gp;84XGtaJM;~90>r?J=@f8N0W$SBiJz@FM{dQPtv5v$9G9sh``7dGbK}&E zL7nq=Vk1rIp!Gk?takkvRoq&4iPR|jz7!R@NiY}c!_?qC22sbR)-*^PA1Q3)2P&Up z&v>uk4f+v)rii>bx!n?mMFk?X1R%aYnb=stN zSeKx1NU8aTng5MEr)i9B-YHSDFlkVGSc}u%{^#RX=I{6pE-=r_fSC-}kyA79I2L1(N8vos?v8$6DA#q zR+lH|ud`c5{h_623IX)*5!>gBd&T`~$m9+mbdp?wn7MxXf5&-AhoIJk^ymYAT6<~A z?VAl$J-Y|qJ==}sjZ9P=Q;O$p2e|#+6j#zXMDvl?NBARjij=&Q*res_J+Y9^=tY-^ zG%-|{u=-C$%iCN2Xwjb}?@GM2gQuKv^S~7_Q$+O^( z#DON;whM)9Sa(TrRpsV74e&iv%6Q$qZ{iN)oRm z2}6=qkIj=dVY{FnHk>YmN85mX_vZ>FaW)P*WX`8%{Al zF$1xya{T?d9XrJ?9cEpWsR!~Iv17ZfAL$;)5KD!Ystp6R==;4!1exV zf|)E(9!t%L18V}tfZ_H&CWarj6rT4@x9KaOGuHXb`IWO9cgz8%!L^oS?V4^lyllF5 zL#5i9(nA74VPtu~*gJCi3>}a*$v7Q!W^U>D8n=lY#B;U4cuVwH|8uN;N6l{cSZwX% z_4E>ai)5d#1}5zduA;~pbt^yvx*Lt9;jNuCbA_MggbyglWXvd()uKryeA9p{0o=%d z{taaRC>q&}p+=o3ndy<-@a^^YPof*w2{?T(^(J>(VN;PF>OyNlMu^5(zeR zP0J8Dx9WNX5pF9nfjqhmsGGxt4d{|rNs)+9vYyW9S0mzVVlmao>2qH8cp>Rh^3B#n zQ=wn&xYomik0WzI?9Il7s+w-qeRuBa^|(aa3BFgzvf#tQeK88M_GaOD9TBp0bh{tI z?lz~(i!V@3i2EiOC*qoBZ)i?3BAKr4%G_xNoB|1OtQ8ZHT9$?-zEUnl0^;tcaaxoY zGl37hrNeynhXq48^VB{wAJKKhR#7C)l^xmJ^B6=U4W`R}yR%vH!W~M9+feEr;7(uN zHC+9Q^jRb-7_}LzRY>)rbBR?YTsF)H7M~P=9Pb{}MZ)UhihsxqUPnC;Gia{|7;TB#6{35Q#={U4TLS2a9U-D#=VPKvoTfvZzBiLZ}iqZwT2_O?1& zdtw_(EV+tuHCgp4FMq8>@8xTU@+WO89;kIBOU;L zdUq(8Pvgdk{~r6*zbV{2a-Q2VCP(Q(^w7b#0P#?>Q?VGx`WDl#Z$HBHCzqk29u^{r z04_lp51qPq9Atks;}&eFERFlF+lp)w=*(aiJ3gX;k?d11}~IS0dqlOH-(?6)sA% z%&&-s4$f#dKvxHT1hRvzZ?dIVr2qIYc}*-Kqj`V&iO4U6pf>g0J#{C+Fc>R#4dXG< z(PF!C9~`6mcb9?h&rWp%2!Elz_aDJ}La~7YxD;jk|GMf=;|Z!V z3PfOZ(wbFk8kLitiw)rsq~u=m9PJhcQSDGrf8i+@+%I$lUepMVq=bUlA0IL(-Ec#h zxQopk&MUd{{qZ~>DEluu;7z#h-*PNz-n-K%OncWyWnA5{6=D$Y^WT&sr+|3Z>IRi+>CD43q_Ar z(sjl2wAxcl;9L8{u_lCfBqs8n647D0V{1D2IJy&L0Qp;GOv1wKaMW-gLa(Uc9C74g znM+Hv!yW!bj`iBJ+RvKsGLDdc$q0FeE0Bd`jX9rQ9~=Qtvdo1fDEFXP;!sk4kivxw zvYyg#gLdW|Pc+KpOte!06mw!oNuk36ffc6OJS;GAVONt=weTQTLsJPzSu-D#sKbH_zqbO40&!D-O_2jeEj^hX7%-3$x zq2`KVYVsfD)s{FtSsA|#bvkMDH5`c)1vl>@q zj`nNfTz^^h|MGA1on>RE+uD$}nTP@svhjPo(VE*=hQ`j6js8fE`jmY82PbLrvVnHq z&}^LDY4*nN`K|!~-|<%ZwC^>Vk4Bl9;zjuS?m6RHj6C{sa_B++)FM(zQUp zDU93b_18**$%di7^1e-k*Yy!cgmHUtF3<7q*s)>mG?u7%B%8~;twq8D9c|r2i>g1d zSJd9{`N^^qVL?f-P$Ie>I+{Oh=JPh%dgh|f(G223lZVkFHus`17hTPy>+e#sTs!>O zBA;75_5|~X&tYy4rhi{tNkc~yEa&!s1OD`6I;I+;t~aBNmQ3tht&NbW?z}q4>MZth zb1A%nXUMNXoLtdxs_GX<_3eyB*v%HNonkL8{^rsP?iNq3 z#AS5dmr^$7uw20&POJCd!pdLLggcx72=cK&MLC($dH4@I^w4Da^)C}f>wSdz^OG8* zsze2tI^e9!Fn>*zZ^L~*G7z;;ifQre?#0(r?y6lFZ!imoXax<-3;|6|`0f|Pm+JA& zsCMNNTdSm;XJX!gjLYt%(Pt2@QC3C{gQ|$JfT#EB}V)<@#mVZu)ro~xED$2}n zy()q-EcyxTPvgY?C__m!<*gfSS9`4OKSd6?s=XB~-Ds_uj5Ix|6GLnZczQ|9#$ru9 zeWJhWeCk5nceQ?Perjfwgd1}4$2OSPB$&QG&XMeBx|Z?S>d8e-z}j4u4(s2Wnh;Tk z8R)#Y1xRX>p(M-gK)SWW6 z#6wYc;D@bUh*eyBQ7j8Pp_uczShR7AdR-9D-f8f`SxYYKUJ}P0{=lFOx0wIZ3$0v) z-M>2ZxiMmnMlwr5_0`fpWmi1!YLdS=;tU zy};!@(L(H(0kuV>iWcCXPAXrRP-|L9;d%ipU0Lck!%mOti?=6wfx9FC#YoJpXh31i z_mItVDz^;M;@t3Y^z!_LS7IW5icD}?{M$WQfN6x5a+wX)bgPRZQ;|=iY%={EJLimO zDqBCn^B!C)e!DVfic5QoDW%qKC1(qF$suCnJTv*Mfd^pFi|@Vn;~Y&?aUK6^)sx=J z%Xn_M$jFN=LApCbg1p%7_oX*u`#T#Pn0j@YM@0^WIIZcZ6^4Ey_qKBHZZTJHIy+pO zXUvi24$nndNUYphD+M{Z-Fa)$*w|yRZNZI?Am=h((W4j$yJ{H4ru%Qg+Ns65Krp3U z-xxal0Hs^Tp#WSWqxH8`3S6Sjcno|=Pi@4@0(NQoXe9xldfquy5Zmu73Nd|8{Vniw zC~JK;qdfB1YvOcnPTd?{&L9spn7?9J zH`Ek=c;nB%PqvjZGo|hyDsR}1PzTt2rT(G)q#KBki4TnW41Jf%(3^-DWZRkd&SX+3 z_&g$GpGPkih#rd4MK_A}FhjWCs!X9zM$I+S{KCw_q^E(9|ALqNO^%b6NC9=Wr8^bH zQre%N@q*V3nLKR;559D|M2`60*W1Qe z7v>5eS?4}QHJ*IvVjttd)_@J>5wkkn^~Ec(gJ+db534yx6P6O(?e}-UZR>n7H>uPI zuw=YaL;|CceXU6tgu9_!oXqKXvTkD$aTqZLzsX57 zey?R2R(qc?@>i`!-L}YJ_yCG~ub(sV-`f3wYN3n5m&rqf!5&iG zYPyWot>Z-<67V=Le3NpxoRx;Vu%HpLXH*i`__S z=QAjvZ#P~CwSVJX@>T0wDlSarC`!eMREpJmSIU1upQt-?61VomDD-S~kpli!uXs7? zY)va9v`TO4>`drtJe}T)lk{jZfSVs+t;nx;;L&d8eiay+=h)>O5bq0nYY@qoHJ?VZQ4KSgSv zbO#c!A`auRboeT4|1}Q&aQ=Gwjp(|mFunpQQ4v-wBek!$^z%J_@(yLkqWlYSD~sd$$jj^RH}ZAImnL z*<6P`F{@f;(E1g!~m0MCO#div~QDoKctr06+< zmv#Ttc8H>HY z_H-1a-GFd;;>?t*)v$sFEkO{~M&nY``L>`WZ&*Elz4-TC*~Y-QHuHvsN5Wr}a)+gF zTQ-8LM9Eq-fW0WGx|P=R`5}|YWbcPjGo4Rue(*~X_fU8|UXy%;3S5Lcb!UFRB&u%Q zm64HD9=>U(*qs0_kN`XfZ~MO^_>uA4Ra6jg>({VqhWb^r#gmSb&<)_;CjhP^Th_K2u`k?I0Th!SwMv%ta z&B>Tumz-`|AQa~{AJYrdW9bEBhEH*-njrt-@+ub6UyfLzFW`lNhtqwv>ITM}@NhsaAp_7VR$I4VVcob87yu7PI z&8~Mo>NYm=lB?9nOTy)c7Co)zt5)~*NlCYB{J^?*SF3Cjp&@qy77D_@7lN1!5?yKb zo!iQ%m;CLE8|62|<58v=z3DhS0{A6S9)uTgiTXWJUVhqqw~xx(H$bO`IoVQc%j*`` z!hL(E1er@1BcY)OjM;EPKmg59b619AB!=5z!J`9m!od_BaKqPILv6*_kUVfjN#YvqI%YY`3UYj!>iuZkW#US=$4?sA zuy6+yve=+FEtcKmp{4S*(4eN6i3bhGaD>jRhsxjgZ(A%l@Cj771n+M5U%Mu1YKCl| zjvvuI7qAT6JdON!jdjB7N>Y{zW$HUH>rI$I+i{wQ^~#tlZ1drK9E6Yo-i&-0CSC@B zwB$~r($*aS21=+pJ%VN0TR|)^>}`Mxrn58@a9(O9!wv6c0#k!|*%>rdqqGPLP`}YU zm|LeEP>Unk$OZYTgePMeg+Qitev0!ooFsT!R8%idO@QmfNdMt;Q#b<}%xvr+ry-X8 z74_C(%zy(j>`5{!m2>9u<5!z$?)e|^l@CwKp*#B@qbG41srbHOTSlfV28*2QVi{L` zPI}>?(5=J7^(6A4V4N?)2rWCc=fRroBBNC%`$oXkTfrAOl%S2=<#4fJHj?AUq^Ed} zj|%(^e>CwiS1&}?ygpj`9)1FBBGK&DVghzIbmP~%^*0*#js`6k_5y16FP z%=G-sMe2~|x|Y5nkMAfoGYg1vnh5kG;m?)3)ro#t~DldLYJ|4oE8_BBswT zLAQa;GdQownY&IYc#8BsXmT5RhI33}fygKW2v zhsRDqHC~T=xgm!pB3R(f=XfP6^&hRjefm4SCJq&G8|zBHq#*9))!KMv!35|aMnE#~ z2=GnA(-mIZg(vRP`wXC{1C5VY4tl^`C`y(FA{2Iy1^`Z8X22lJ?cu+9veBX9K{pm+ zEkzCr?Y))`WV>_dl7__yd3-kMpTclzhEuYp`bozLA1LXoO%^_H90`RaXNBK~GD0R? zoIiZvZF&!PS5sDIsG@9v!uXp8@?-lj|MntFz1y_GpZxOB<0h>X7a%k8E2VtMmxTRk z8JVn*c{-z(`wB!$7CPS5FIr!R|Ez~fHXQltCqf%nFAFxx_;cmq$C{=x^Q(T?^!x&S z?H3ry*OA~;6>$wkA}m-~o3|VA?K*{>+)Q%gZ@+=O(C~_?+oJc;HFDB~>Y`mij zp@$py{U{-h%R6Kw{#r|pO^|vg#Y9UXj2&Dh%jxagwS3wK@r*CodfA&23kCjtD~h$h ztDo#t8>0nj-!1*{B~Hc`Efxjcsz8bZN-s{<;~hd{9oGp01gDdYhDbNnU;PX?`M0c$ z+!eVUoPAEF|2y3iI#mCqmeyAQ8meb<3{}pa+^fgLG#_>&xhq zevh=4#F0Q9E+7VV&;01@``(@OaQst~7SPEDLFbDT_zs2uMu10>*-p3()y2PV89$yp z8keptRhZyHsSkej34uPuBNGf5jWb()v=d?C-OqZJMyK@WNMa@NYux01b9r%M2hwS( zBODWsUAP#Iy0jG1|CfP;dMiDl;;PCCpKlp?foRQ0;QS8}TzbHKnx0Y91nV=gfZWJ< zgJ8%-wwMPTvSsR+qt%%wTnFJ@jFa8YCV8K&FLdWrf#9@-jPTKEKqoYk4=ml_2Qzb} z46miyvW>(_gGA1Bpob7D8f&fm=`;6HSr;3VbGXuAX`^9GbZvL2QRfT8^dvl`z+dx= z{qXh6-q`Flj{Y+4d`L>{fq+m;QyTWtMCBE^%Y8AT-BC#O=jFd*_x0~P&-9~hIA8xu&!lzOY?Bdo!n0iIW$NOgjZznQ~zg@YDcfiwyh+2 zy0v!qu)vafFNEtwNRXg?#Njp}yZ9uFi)Dl1pG_rtXFn=J(l)=z>!pPv9sbtDwYuwCZTl*g#`ES?7dG*sWHR4Q49 F{SOu!#Pa|E literal 0 HcmV?d00001 From 7cd81e2fd9a013d9291b43a0ea2634a7a42a319a Mon Sep 17 00:00:00 2001 From: Albert Yeoh Date: Tue, 4 Oct 2016 13:46:50 +0800 Subject: [PATCH 002/457] trying to fix the formatting --- docs/AboutUs.md | 11 +- docs/DeveloperGuide.md | 112 +++++++++--------- .../{Albert Yeoh.png => AlbertYeoh.png} | Bin docs/images/{Dylan Chew.png => DylanChew.png} | Bin docs/images/{Hui Qi.png => HuiQi.png} | Bin docs/images/{Kang Fei.png => KangFei.png} | Bin 6 files changed, 62 insertions(+), 61 deletions(-) rename docs/images/{Albert Yeoh.png => AlbertYeoh.png} (100%) rename docs/images/{Dylan Chew.png => DylanChew.png} (100%) rename docs/images/{Hui Qi.png => HuiQi.png} (100%) rename docs/images/{Kang Fei.png => KangFei.png} (100%) diff --git a/docs/AboutUs.md b/docs/AboutUs.md index 7dbb6c662d0f..d7d4e8a1d90f 100644 --- a/docs/AboutUs.md +++ b/docs/AboutUs.md @@ -5,27 +5,28 @@ We are a team based in the [School of Computing, National University of Singapor ## Project Team #### [Dylan Chew Zhi Jiang](https://github.com/zavfel)
-
-**Role**: Developer +
+Role: Developer
+Responsibilities: - ----- #### [Wong Kang Fei](https://github.com/kfwong) -
+
Role: Developer
Responsibilities: - ----- #### [Lim Hui Qi](https://github.com/LuMiN0uSaRc) -
+
Role: Developer
Responsibilities: - ----- #### [Albert Yeoh Ji Bin](https://github.com/bertojo) -
+
Role: Developer
Responsibilities: - diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 3088cc71f7ec..c09c9566ea0b 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -334,92 +334,92 @@ Use case ends. ##### Google Calendar > Pros: - Able to sync calendars from other people - Chrome extension for offline connectivity - Multiple viewing options (Calendar/To do list view) - Has a Command Line Interface (CLI) +>1. Able to sync calendars from other people +>2. Chrome extension for offline connectivity +>3. Multiple viewing options (Calendar/To do list view) +>4. Has a Command Line Interface (CLI) > Cons: - Unable to support floating task - Unable to mark tasks as done - Unable to block out and free up timings - CLI commands only for addition of tasks - Bad interface +>1. Unable to support floating task +>2. Unable to mark tasks as done +>3. Unable to block out and free up timings +>4. CLI commands only for addition of tasks +>5. Bad interface ##### Wunderlist > Pros: - Able to set categories - Able to mark tasks as done - Able to read tasks from e-mails - Able to assign tasks to someone - Able to search for tasks easily - Able to migrate tasks from one category to another easily - Web and offline desktop version available +>1. Able to set categories +>2. Able to mark tasks as done +>3. Able to read tasks from e-mails +>4. Able to assign tasks to someone +>5. Able to search for tasks easily +>6. Able to migrate tasks from one category to another easily +>7. Web and offline desktop version available > Cons: - Unable to create subtask - Unable to support recurring tasks - Unable to block out time slots - Unable to set start date for tasks - Only has a list view +>1. Unable to create subtask +>2. Unable to support recurring tasks +>3. Unable to block out time slots +>4. Unable to set start date for tasks +>5. Only has a list view ##### Todoist > Pros: - Able to set categories - Able to collaborate with others - Able to have sub-projects and sub-tasks - Able to support recurring tasks - Able to sort tasks by priority level - Able to integrate from e-mail - Able to backup auotmatically +>1. Able to set categories +>2. Able to collaborate with others +>3. Able to have sub-projects and sub-tasks +>4. Able to support recurring tasks +>5. Able to sort tasks by priority level +>6. Able to integrate from e-mail +>7. Able to backup auotmatically > Cons: - Unable to block out timings - Unable to export out To-do list - Minimal CLI - Have to do alot of clicking +>1. Unable to block out timings +>2. Unable to export out To-do list +>3. Minimal CLI +>4. Have to do alot of clicking ##### Any.Do > Pros: - Able to set categories by type and day - Able to show completed tasks - Able to collaborate with others - Able to support sub-tasks - Able to add attachments - Able to support recurring tasks - Able to mark task as done - Able to notify and remind user - Able to have action shortcuts - Able to have different types of views +>1. Able to set categories by type and day +>2. Able to show completed tasks +>3. Able to collaborate with others +>4. Able to support sub-tasks +>5. Able to add attachments +>6. Able to support recurring tasks +>7. Able to mark task as done +>8. Able to notify and remind user +>9. Able to have action shortcuts +>10. Able to have different types of views > Cons: - Unable to support floating tasks - No CLI +>1. Unable to support floating tasks +>2. No CLI ##### Evernote > Pros: - Able to quick search - Able to support handwriting, embedded images/audio and links - Able to work with camera +>1. Able to quick search +>2. Able to support handwriting, embedded images/audio and links +>3. Able to work with camera > Cons: - No CLI - No Calendar view +>1. No CLI +>2. No Calendar view ##### Trello > Pros: - Able to mark tasks as "in-progress" - Able to view as calendar +>1. Able to mark tasks as "in-progress" +>2. Able to view as calendar > Cons: - Unable to import or export - Relies on UI interaction - No CLI - Need to pay for premium use to access 3rd party features - No desktop version +>1. Unable to import or export +>2. Relies on UI interaction +>3. No CLI +>4. Need to pay for premium use to access 3rd party features +>5. No desktop version \ No newline at end of file diff --git a/docs/images/Albert Yeoh.png b/docs/images/AlbertYeoh.png similarity index 100% rename from docs/images/Albert Yeoh.png rename to docs/images/AlbertYeoh.png diff --git a/docs/images/Dylan Chew.png b/docs/images/DylanChew.png similarity index 100% rename from docs/images/Dylan Chew.png rename to docs/images/DylanChew.png diff --git a/docs/images/Hui Qi.png b/docs/images/HuiQi.png similarity index 100% rename from docs/images/Hui Qi.png rename to docs/images/HuiQi.png diff --git a/docs/images/Kang Fei.png b/docs/images/KangFei.png similarity index 100% rename from docs/images/Kang Fei.png rename to docs/images/KangFei.png From f5a005bdf3c1328ace72905ef94a1664127ef17c Mon Sep 17 00:00:00 2001 From: Albert Yeoh Date: Tue, 4 Oct 2016 22:28:47 +0800 Subject: [PATCH 003/457] updated readme.md, aboutUs.md, userGuide.md --- README.md | 8 ++--- docs/AboutUs.md | 23 +++++++----- docs/UserGuide.md | 80 ++++++++++++++++++++--------------------- docs/images/Akshay.jpg | Bin 0 -> 25243 bytes 4 files changed, 57 insertions(+), 54 deletions(-) create mode 100644 docs/images/Akshay.jpg diff --git a/README.md b/README.md index 249a00b3899c..71527ee2a125 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,16 @@ [![Build Status](https://travis-ci.org/se-edu/addressbook-level4.svg?branch=master)](https://travis-ci.org/se-edu/addressbook-level4) [![Coverage Status](https://coveralls.io/repos/github/se-edu/addressbook-level4/badge.svg?branch=master)](https://coveralls.io/github/se-edu/addressbook-level4?branch=master) -# Address Book (Level 4) +# Schema
-* This is a desktop Address Book application. It has a GUI but most of the user interactions happen using +* This is a desktop To Do list application. It has a GUI but most of the user interactions happen using a CLI (Command Line Interface). * It is a Java sample application intended for students learning Software Engineering while using Java as the main programming language. * It is **written in OOP fashion**. It provides a **reasonably well-written** code example that is **significantly bigger** (around 6 KLoC)than what students usually write in beginner-level SE modules. -* What's different from [level 3](https://github.com/se-edu/addressbook-level3): - * A more sophisticated GUI that includes a list panel and an in-built Browser. - * More test cases, including automated GUI testing. - * Support for *Build Automation* using Gradle and for *Continuous Integration* using Travis CI. #### Site Map diff --git a/docs/AboutUs.md b/docs/AboutUs.md index d7d4e8a1d90f..68f6371fd052 100644 --- a/docs/AboutUs.md +++ b/docs/AboutUs.md @@ -2,33 +2,40 @@ We are a team based in the [School of Computing, National University of Singapore](http://www.comp.nus.edu.sg). +## Project Mentor +#### [Akshay Narayan](https://github.com/okkhoy) +
+ +----- + + ## Project Team #### [Dylan Chew Zhi Jiang](https://github.com/zavfel)
-
+
Role: Developer
-Responsibilities: - +Responsibilities: Logic ----- #### [Wong Kang Fei](https://github.com/kfwong) -
+
Role: Developer
-Responsibilities: - +Responsibilities: Logic ----- #### [Lim Hui Qi](https://github.com/LuMiN0uSaRc) -
+
Role: Developer
-Responsibilities: - +Responsibilities: UI ----- #### [Albert Yeoh Ji Bin](https://github.com/bertojo) -
+
Role: Developer
-Responsibilities: - +Responsibilities: Data ----- diff --git a/docs/UserGuide.md b/docs/UserGuide.md index c18832432d1f..3f64fe170a46 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -11,7 +11,7 @@ > Having any Java 8 version is not enough.
This app will not work with earlier versions of Java 8. -1. Download the latest `addressbook.jar` from the 'releases' tab. +1. Download the latest `schema.jar` from the 'releases' tab. 2. Copy the file to the folder you want to use as the home folder for your Address Book. 3. Double-click the file to start the app. The GUI should appear in a few seconds. > @@ -19,9 +19,9 @@ 4. Type the command in the command box and press Enter to execute it.
e.g. typing **`help`** and pressing Enter will open the help window. 5. Some example commands you can try: - * **`list`** : lists all contacts - * **`add`**` John Doe p/98765432 e/johnd@gmail.com a/John street, block 123, #01-01` : - adds a contact named `John Doe` to the Address Book. + * **`list`** : lists all tasks + * **`add`**` CS2103T tutorial work, 1100, tomorrow,t TUTORIAL` : + adds a task named `CS2103T tutorial work` to the To Do List. * **`delete`**` 3` : deletes the 3rd contact shown in the current list * **`exit`** : exits the app 6. Refer to the [Features](#features) section below for details of each command.
@@ -34,9 +34,11 @@ Format: `help` > Help is also shown if you enter an incorrect command e.g. `abcd` -#### Adding a person: `add` +#### Adding a task: `add` Adds a person to the address book
-Format: `add NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]...` +Format: `add TASK, TIME, DATE,t TAG...` +Format: `do TASK, TIME, DATE,t TAG...` + > Words in `UPPER_CASE` are the parameters, items in `SQUARE_BRACKETS` are optional, > items with `...` after them can have multiple instances. Order of parameters are fixed. @@ -44,60 +46,58 @@ Format: `add NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]...` > Persons can have any number of tags (including 0) Examples: -* `add John Doe p/98765432 e/johnd@gmail.com a/John street, block 123, #01-01` -* `add Betsy Crowe p/1234567 e/betsycrowe@gmail.com a/Newgate Prison t/criminal t/friend` +* `add Dinner, 1900, 10/10/16,t Date` +* `do CS2010 PS10, 1000, 11/10/16,t Assignment` -#### Listing all persons : `list` -Shows a list of all persons in the address book.
+#### Listing all tasks : `list` +Shows a list of all tasks in the To Do List.
Format: `list` -#### Finding all persons containing any keyword in their name: `find` -Finds persons whose names contain any of the given keywords.
+#### Finding all tasks containing any keyword in their description: `find` +Finds tasks whose description contain any of the given keywords.
Format: `find KEYWORD [MORE_KEYWORDS]` -> The search is case sensitive, the order of the keywords does not matter, only the name is searched, -and persons matching at least one keyword will be returned (i.e. `OR` search). +> The search is not case sensitive, the order of the keywords does not matter, only the description is searched, +and tasks matching at least one keyword will be returned (i.e. `OR` search). Examples: -* `find John`
- Returns `John Doe` but not `john` -* `find Betsy Tim John`
- Returns Any person having names `Betsy`, `Tim`, or `John` +* `find Dinner`
+ Returns `Dinner on 10/10/16 at 1900hrs (Date)` +* `find 2010`
+ Returns Any task having description `2010`. -#### Deleting a person : `delete` -Deletes the specified person from the address book. Irreversible.
+#### Deleting a task : `delete` +Deletes the specified task from the address book. Irreversible.
Format: `delete INDEX` -> Deletes the person at the specified `INDEX`. +> Deletes the task at the specified `INDEX`. The index refers to the index number shown in the most recent listing.
The index **must be a positive integer** 1, 2, 3, ... Examples: * `list`
`delete 2`
- Deletes the 2nd person in the address book. -* `find Betsy`
+ Deletes the 2nd task in the To Do List. +* `find buy groceries`
`delete 1`
- Deletes the 1st person in the results of the `find` command. + Deletes the 1st task in the results of the `find` command. -#### Select a person : `select` -Selects the person identified by the index number used in the last person listing.
-Format: `select INDEX` +#### Editing a task : `edit` +Edits the task identified by the index number used in the last person listing.
+Format: `edit INDEX DETAILS` -> Selects the person and loads the Google search page the person at the specified `INDEX`. - The index refers to the index number shown in the most recent listing.
- The index **must be a positive integer** 1, 2, 3, ... +> DETAILS can be the task itself, time, date or tag Examples: * `list`
- `select 2`
- Selects the 2nd person in the address book. -* `find Betsy`
- `select 1`
- Selects the 1st person in the results of the `find` command. + `edit 2`
+ Selects the 2nd task in the address book. +* `find CS5000`
+ `edit 1`
+ Selects the 1st task in the results of the `find` command. #### Clearing all entries : `clear` -Clears all entries from the address book.
+Clears all tasks from the To Do List.
Format: `clear` #### Exiting the program : `exit` @@ -105,23 +105,23 @@ Exits the program.
Format: `exit` #### Saving the data -Address book data are saved in the hard disk automatically after any command that changes the data.
+Schema's data are saved in the hard disk automatically after any command that changes the data.
There is no need to save manually. ## FAQ **Q**: How do I transfer my data to another Computer?
**A**: Install the app in the other computer and overwrite the empty data file it creates with - the file that contains the data of your preious Address Book. + the file that contains the data of your preious Schema. ## Command Summary Command | Format -------- | :-------- -Add | `add NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]...` +Add | `add TASK, TIME, DATE,t TAG...` Clear | `clear` Delete | `delete INDEX` Find | `find KEYWORD [MORE_KEYWORDS]` List | `list` Help | `help` -Select | `select INDEX` +Edit | `edit INDEX DETAILS` diff --git a/docs/images/Akshay.jpg b/docs/images/Akshay.jpg new file mode 100644 index 0000000000000000000000000000000000000000..65856ab608b149c82723a30a69b694ef98109bc9 GIT binary patch literal 25243 zcmbTdbx>Pf6fYX2&;rH1SaFIKcLJqYDWw#5in}`@SaEkJrFgO8S}1PCJ!lf#Q!M!9 zd+*MDGw-i^?>cACWG4G$*6*w=U;AkEm`}R{p1ucQ5E-R?>lgYhEIcAIDmpnOH7z|OGb{T?VNr2OX<7Nty84F3rskH`ww~U;{(-@v;gRW? z*}3_J#U&^Vj@aDV-r3#TNB%oIzqq_YUElnN3k`tr|HArT$o_x0h@NnvKgj?S`#)T0 z=-y8Yg9!84Yd$PuS#|8Mt|W~7!OuzGB^A_mzhDyha!O|AHibjZEC^#k{s-;QRHZyf><;wfVrgmcX5+CN40et;ity&ZyV` z^Sj1>xZvrwgb0;KfDLvOlPslpNtD#jVICi6>D6u3Z&(lb&uRTV+OUtritHTr&Fa$M z%Y4w^PZW?qwvw^FZIYdE^2*ObuSm*`?ntOO;)Qj^3i1!WNy@FTDybnkWlIpe*XWy9 z@6b;xD)C8rIhR^n6#EG9Hcwl;e=ea6xajvc-BYf3H3JcEQI{u;LyuAROIcfZA0eRwu4p%#=5v_NkC(CeG(y)Q&p z-u$zlsp;Zo*6JZeN{k#_k2SzLyvmw(PZ3}jrzA4Q7RpuXB z_Y$2%AK$^o`JNIwfc71~?)$6|X8>c5eMLE}sj(@pINR2c*_AQ2UVsjO!JJ}}@(5^D zyrWU}EW;h+g$+bM&_wfl?YBi2j~zxOqY;{q#xP-XP1E_|m!36W#ykQ-VnDL@MLd^2 zIsJa~jihRs@Q$>iFeSs6i43}P?a37R*WZ`aGc>Md;2C#hA{)*(eZmm^ z35BSWt&NR@)sXKO8@~o#f)P~AE%ol)&PYoqSP_DPmc!}To z&6mU>u|0T+_hVK`X%3D*C#7=f<*p_+bna+qPZQv-@<_U@ zYLp0bWd>e^dSmPkO$TQOo|_6IqEzUTp!)&HDO%wC1(WE0<5xWjjeNxz-o<8>NGg7vL#6+?YN({P`-+ z-#lM5hY2lxGKq28-r~hRmwZe6M!)vkcSP⋘%a1$t~Ta@}+-FZrgVyQi0@vC>phgg97Kq!j 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 literal 0 HcmV?d00001 From 7d7268af6dc76e1ba10441de5c0be7fd26fe575e Mon Sep 17 00:00:00 2001 From: Dylan Chew Date: Wed, 5 Oct 2016 09:49:45 +0800 Subject: [PATCH 004/457] update project name --- .project | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.project b/.project index 1c9339c5f927..bbd447b498ac 100644 --- a/.project +++ b/.project @@ -1,7 +1,7 @@ - addressbook-level4 - Project addressbook-level4 created by Buildship. + Schema + Project Schema created by Buildship. From 62ef47db097cd0f228fde125bbfb9ff63028c9b7 Mon Sep 17 00:00:00 2001 From: Albert Yeoh Date: Wed, 5 Oct 2016 11:14:24 +0800 Subject: [PATCH 005/457] updated userGuide.md --- docs/UserGuide.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 3f64fe170a46..cfd825422ef4 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -12,7 +12,7 @@ This app will not work with earlier versions of Java 8. 1. Download the latest `schema.jar` from the 'releases' tab. -2. Copy the file to the folder you want to use as the home folder for your Address Book. +2. Copy the file to the folder you want to use as the home folder for your To Do List. 3. Double-click the file to start the app. The GUI should appear in a few seconds. > @@ -35,7 +35,7 @@ Format: `help` > Help is also shown if you enter an incorrect command e.g. `abcd` #### Adding a task: `add` -Adds a person to the address book
+Adds a task to the To Do List
Format: `add TASK, TIME, DATE,t TAG...` Format: `do TASK, TIME, DATE,t TAG...` @@ -43,7 +43,7 @@ Format: `do TASK, TIME, DATE,t TAG...` > Words in `UPPER_CASE` are the parameters, items in `SQUARE_BRACKETS` are optional, > items with `...` after them can have multiple instances. Order of parameters are fixed. > -> Persons can have any number of tags (including 0) +> Tasks can have any number of tags (including 0) Examples: * `add Dinner, 1900, 10/10/16,t Date` @@ -67,7 +67,7 @@ Examples: Returns Any task having description `2010`. #### Deleting a task : `delete` -Deletes the specified task from the address book. Irreversible.
+Deletes the specified task from the To Do List. Irreversible.
Format: `delete INDEX` > Deletes the task at the specified `INDEX`. @@ -83,7 +83,7 @@ Examples: Deletes the 1st task in the results of the `find` command. #### Editing a task : `edit` -Edits the task identified by the index number used in the last person listing.
+Edits the task identified by the index number used in the last task listing.
Format: `edit INDEX DETAILS` > DETAILS can be the task itself, time, date or tag @@ -91,7 +91,7 @@ Format: `edit INDEX DETAILS` Examples: * `list`
`edit 2`
- Selects the 2nd task in the address book. + Selects the 2nd task in the To Do List. * `find CS5000`
`edit 1`
Selects the 1st task in the results of the `find` command. From 987a77aa397773d39a7f977affe8a873d253cafe Mon Sep 17 00:00:00 2001 From: Wong Kang Fei Date: Wed, 5 Oct 2016 11:16:34 +0800 Subject: [PATCH 006/457] Update UserGuide.md --- docs/UserGuide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index cfd825422ef4..157c0d99e084 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -22,7 +22,7 @@ * **`list`** : lists all tasks * **`add`**` CS2103T tutorial work, 1100, tomorrow,t TUTORIAL` : adds a task named `CS2103T tutorial work` to the To Do List. - * **`delete`**` 3` : deletes the 3rd contact shown in the current list + * **`delete`**` 3` : deletes the 3rd task shown in the current list * **`exit`** : exits the app 6. Refer to the [Features](#features) section below for details of each command.
From 104432acdf5a7ae3f765e67b209ad0aafed3800b Mon Sep 17 00:00:00 2001 From: Albert Yeoh Date: Wed, 5 Oct 2016 11:34:45 +0800 Subject: [PATCH 007/457] updated user guide again --- docs/UserGuide.md | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 157c0d99e084..1435789af22c 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -49,9 +49,18 @@ Examples: * `add Dinner, 1900, 10/10/16,t Date` * `do CS2010 PS10, 1000, 11/10/16,t Assignment` -#### Listing all tasks : `list` +#### Listing all tasks in current tab: `list` Shows a list of all tasks in the To Do List.
Format: `list` +Format: `list TAB_NAME` + +> TAB_NAME includes:
+> 1. Home
+> 2. Tasks
+> 3. Events
+> 4. Datelines
+> 5. Archive
+ #### Finding all tasks containing any keyword in their description: `find` Finds tasks whose description contain any of the given keywords.
@@ -122,6 +131,8 @@ Add | `add TASK, TIME, DATE,t TAG...` Clear | `clear` Delete | `delete INDEX` Find | `find KEYWORD [MORE_KEYWORDS]` -List | `list` +List | `list TAB_NAME` Help | `help` Edit | `edit INDEX DETAILS` +Mark | `mark INDEX` +Relocate | `relocate FILE_PATH` From ca409fa43fa0ff84903fbd37d7c5b9ec58466313 Mon Sep 17 00:00:00 2001 From: Albert Yeoh Date: Wed, 5 Oct 2016 11:55:56 +0800 Subject: [PATCH 008/457] update userGuide --- docs/UserGuide.md | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 1435789af22c..192aab67db58 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -36,8 +36,8 @@ Format: `help` #### Adding a task: `add` Adds a task to the To Do List
-Format: `add TASK, TIME, DATE,t TAG...` -Format: `do TASK, TIME, DATE,t TAG...` +Format: `add TASK, [TIME], [DATE],[t TAG...]`
+Format: `do TASK, [TIME], [DATE],[t TAG...]` > Words in `UPPER_CASE` are the parameters, items in `SQUARE_BRACKETS` are optional, @@ -48,17 +48,18 @@ Format: `do TASK, TIME, DATE,t TAG...` Examples: * `add Dinner, 1900, 10/10/16,t Date` * `do CS2010 PS10, 1000, 11/10/16,t Assignment` +* `add Pay school fees` #### Listing all tasks in current tab: `list` Shows a list of all tasks in the To Do List.
Format: `list` -Format: `list TAB_NAME` +Format: `list [TAB_NAME]` > TAB_NAME includes:
> 1. Home
> 2. Tasks
> 3. Events
-> 4. Datelines
+> 4. Deadlines
> 5. Archive
@@ -73,7 +74,7 @@ Examples: * `find Dinner`
Returns `Dinner on 10/10/16 at 1900hrs (Date)` * `find 2010`
- Returns Any task having description `2010`. + Returns any task having description `2010`. #### Deleting a task : `delete` Deletes the specified task from the To Do List. Irreversible.
@@ -121,18 +122,20 @@ There is no need to save manually. **Q**: How do I transfer my data to another Computer?
**A**: Install the app in the other computer and overwrite the empty data file it creates with - the file that contains the data of your preious Schema. + the file that contains the data of your previous Schema. ## Command Summary Command | Format -------- | :-------- -Add | `add TASK, TIME, DATE,t TAG...` +Add | `add TASK, [TIME], [DATE],[t TAG...]` Clear | `clear` Delete | `delete INDEX` Find | `find KEYWORD [MORE_KEYWORDS]` -List | `list TAB_NAME` +List | `list [TAB_NAME]` Help | `help` Edit | `edit INDEX DETAILS` +Undo | `undo` +Redo | `redo` Mark | `mark INDEX` Relocate | `relocate FILE_PATH` From afb22bf45a139e1020a42f43c9f9687f74c24199 Mon Sep 17 00:00:00 2001 From: Dylan Chew Date: Wed, 5 Oct 2016 12:56:15 +0800 Subject: [PATCH 009/457] update release link --- docs/UserGuide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 192aab67db58..bccc6227f3c1 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -11,7 +11,7 @@ > Having any Java 8 version is not enough.
This app will not work with earlier versions of Java 8. -1. Download the latest `schema.jar` from the 'releases' tab. +1. Download the latest `schema.jar` from the [releases](../../../releases) tab. 2. Copy the file to the folder you want to use as the home folder for your To Do List. 3. Double-click the file to start the app. The GUI should appear in a few seconds. > From a7762a3590918ec53a5422ca2d82a7eff2408c66 Mon Sep 17 00:00:00 2001 From: Dylan Chew Date: Wed, 5 Oct 2016 14:56:25 +0800 Subject: [PATCH 010/457] finalise userguide --- docs/UserGuide.md | 169 ++++++++++++++++++++++++++++++++++------------ 1 file changed, 125 insertions(+), 44 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index bccc6227f3c1..88e5609c8f0a 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -12,16 +12,16 @@ This app will not work with earlier versions of Java 8. 1. Download the latest `schema.jar` from the [releases](../../../releases) tab. -2. Copy the file to the folder you want to use as the home folder for your To Do List. +2. Copy the file to the folder you want to use as the home folder for your Schema. 3. Double-click the file to start the app. The GUI should appear in a few seconds. > 4. Type the command in the command box and press Enter to execute it.
e.g. typing **`help`** and pressing Enter will open the help window. 5. Some example commands you can try: - * **`list`** : lists all tasks + * **`list`** : lists all floating tasks, events and tasks due today * **`add`**` CS2103T tutorial work, 1100, tomorrow,t TUTORIAL` : - adds a task named `CS2103T tutorial work` to the To Do List. + adds a task named `CS2103T tutorial work` with deadline due tomorrow at 11am to the Schema. * **`delete`**` 3` : deletes the 3rd task shown in the current list * **`exit`** : exits the app 6. Refer to the [Features](#features) section below for details of each command.
@@ -29,28 +29,42 @@ ## Features -#### Viewing help : `help` +### Viewing help : `help` Format: `help` > Help is also shown if you enter an incorrect command e.g. `abcd` -#### Adding a task: `add` -Adds a task to the To Do List
-Format: `add TASK, [TIME], [DATE],[t TAG...]`
-Format: `do TASK, [TIME], [DATE],[t TAG...]` +### Adding a task: `add` `do` `complete` +#### Adds an event to Schema +Format: `add "TASK", at/TIME, on/DATE [t/TAG...]` +#### Adds a task with deadline to Schema +Format: `complete "TASK" by/TIME on/DATE [t/TAG...]` +#### Adds a floating task to Schema +Format: `do "TASK" [t/ TAG...]` > Words in `UPPER_CASE` are the parameters, items in `SQUARE_BRACKETS` are optional, -> items with `...` after them can have multiple instances. Order of parameters are fixed. +> items with `...` after them can have multiple instances. +> +> task will be added to the categories (event, deadlines, floating task) according to the keywords (`add`, `complete`, `do`) > -> Tasks can have any number of tags (including 0) - -Examples: -* `add Dinner, 1900, 10/10/16,t Date` -* `do CS2010 PS10, 1000, 11/10/16,t Assignment` -* `add Pay school fees` - -#### Listing all tasks in current tab: `list` +> DATE is in DDMM format +> +> Parameters can be in any order +> +> Separate different tags with , +> +> There are no limit to the number of tags a task can have (including 0) + +Examples:
+* Adding an event + * `add "Dinner", at/1900 to 2000 on/1010 t/Date,meals` +* Adding a task with deadline + * `complete "CS2010 PS10" by/1000 on/1110 t/Assignment` +* add floating task + * `do "Pay school fees"` + +### Listing all tasks in current tab: `list` Shows a list of all tasks in the To Do List.
Format: `list` Format: `list [TAB_NAME]` @@ -62,7 +76,6 @@ Format: `list [TAB_NAME]` > 4. Deadlines
> 5. Archive
- #### Finding all tasks containing any keyword in their description: `find` Finds tasks whose description contain any of the given keywords.
Format: `find KEYWORD [MORE_KEYWORDS]` @@ -73,10 +86,26 @@ and tasks matching at least one keyword will be returned (i.e. `OR` search). Examples: * `find Dinner`
Returns `Dinner on 10/10/16 at 1900hrs (Date)` -* `find 2010`
- Returns any task having description `2010`. +* `find "cs2010 ps10"`
+ Returns any task having description `cs2010 ps10`. -#### Deleting a task : `delete` +### Editing a task : `edit` +Edits the task identified by the index number used in the last task listing. +Format: `edit INDEX [TASK] [at/TIME] [on/DATE] [t/TAGS...]` + +> at least one optional argument is required +> +> can edit only one of the field for the task + +Examples: +* `list`
+ `edit 1 Lunch`
+ Selects the 2nd task in Schema and edit the task to Lunch from Dinner. +* `find CS2010`
+ `edit 1 on/2010`
+ Selects the 1st task in the results of the `find` command and edit the date from 1110 to 2010. + +### Deleting a task : `delete` Deletes the specified task from the To Do List. Irreversible.
Format: `delete INDEX` @@ -87,55 +116,107 @@ Format: `delete INDEX` Examples: * `list`
`delete 2`
- Deletes the 2nd task in the To Do List. + Deletes the 2nd task in the Schema. * `find buy groceries`
`delete 1`
Deletes the 1st task in the results of the `find` command. -#### Editing a task : `edit` -Edits the task identified by the index number used in the last task listing.
-Format: `edit INDEX DETAILS` +### Undo a command : `undo` +Format: `undo` -> DETAILS can be the task itself, time, date or tag +> undo is not a command, so you can not undo a 'undo'. See `redo` +> +> can only undo commands that make changes to database -Examples: -* `list`
- `edit 2`
- Selects the 2nd task in the To Do List. -* `find CS5000`
- `edit 1`
- Selects the 1st task in the results of the `find` command. +Example: +* `undo` + COMMAND removed + +### Undo a command : `redo` +Format: `redo` + +> can only redo commands that make changes to database +> +> only available when undo has been used before -#### Clearing all entries : `clear` -Clears all tasks from the To Do List.
-Format: `clear` +Example: +* `redo` + COMMAND repeated -#### Exiting the program : `exit` +### Completing tasks : `mark` +Marks the task identified by the index number used in the last task listing as completed and put in the archived tab. +Format: `mark INDEX` + +> can only mark task that are not complete yet + +Examples: +* `list` + `mark 1 ` + Selects the 2nd task in Schema and mark the task as completed. +* `find CS2010` + `mark 1 ` + Selects the 1st task in the results of the `find` command and edit the date from 1110 to 2010. + +### Clearing of entries : `clear` +Clears all tasks in the current tab.
+Format: `clear [TAB]` + +Example: +* `clear deadlines` + All tasks in deadlines are cleared + +### Clearing all entries: `clearall` +### Clears all tasks available from Schema +Format: `clearall` + +Example: +* `clearall` + All tasks in Schema are cleared + +### Relocate database : `relocate` +Relocates the destination that data is saved +Format: `relocate FILEPATH` + +Example: +* `relocate ~/document/schema` + data has been relocated to ~/document/schema + +### Exiting the program : `exit` Exits the program.
Format: `exit` -#### Saving the data +Example: +* `exit` + Exiting Schema... + +### Saving the data Schema's data are saved in the hard disk automatically after any command that changes the data.
There is no need to save manually. ## FAQ **Q**: How do I transfer my data to another Computer?
-**A**: Install the app in the other computer and overwrite the empty data file it creates with +**A**: Install the application in the other computer and overwrite the empty data file it creates with the file that contains the data of your previous Schema. +**Q**: Is my data secure? +**A**: Your data is stored locally on your hard drive as a .txt file. Your data is as secure as your computer + + ## Command Summary Command | Format -------- | :-------- -Add | `add TASK, [TIME], [DATE],[t TAG...]` -Clear | `clear` -Delete | `delete INDEX` -Find | `find KEYWORD [MORE_KEYWORDS]` -List | `list [TAB_NAME]` Help | `help` +Add | `add TASK, [on/TIME], [by/DATE],[t/TAG...]` +List | `list [TAB_NAME]` +Find | `find KEYWORD [MORE_KEYWORDS]` Edit | `edit INDEX DETAILS` +Delete | `delete INDEX` Undo | `undo` Redo | `redo` Mark | `mark INDEX` +Clear | `clear [TAB_NAME]` +Clearall | `clearall` Relocate | `relocate FILE_PATH` +Exit | `exit` From d454f31561f21103f1941cb5c71e88071cc75d8b Mon Sep 17 00:00:00 2001 From: Dylan Chew Date: Wed, 5 Oct 2016 14:58:22 +0800 Subject: [PATCH 011/457] update example command --- docs/UserGuide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 88e5609c8f0a..241adf59b031 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -20,7 +20,7 @@ e.g. typing **`help`** and pressing Enter will open the help window. 5. Some example commands you can try: * **`list`** : lists all floating tasks, events and tasks due today - * **`add`**` CS2103T tutorial work, 1100, tomorrow,t TUTORIAL` : + * **`add`**` CS2103T "tutorial work" by/1100 on/tomorrow t/TUTORIAL` : adds a task named `CS2103T tutorial work` with deadline due tomorrow at 11am to the Schema. * **`delete`**` 3` : deletes the 3rd task shown in the current list * **`exit`** : exits the app From e1f6a2138b7671ff159d890026d37fc071ab9e67 Mon Sep 17 00:00:00 2001 From: Dylan Chew Date: Wed, 5 Oct 2016 15:10:54 +0800 Subject: [PATCH 012/457] minor edit --- docs/UserGuide.md | 66 +++++++++++++++++++++++++---------------------- 1 file changed, 35 insertions(+), 31 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 241adf59b031..8d62fa3ef054 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -40,21 +40,21 @@ Format: `add "TASK", at/TIME, on/DATE [t/TAG...]` #### Adds a task with deadline to Schema Format: `complete "TASK" by/TIME on/DATE [t/TAG...]` #### Adds a floating task to Schema -Format: `do "TASK" [t/ TAG...]` +Format: `do "TASK" [t/TAG...]` -> Words in `UPPER_CASE` are the parameters, items in `SQUARE_BRACKETS` are optional, +> Words in `UPPER_CASE` are the parameters, items in `[SQUARE_BRACKETS]` are optional, > items with `...` after them can have multiple instances. > -> task will be added to the categories (event, deadlines, floating task) according to the keywords (`add`, `complete`, `do`) +> task will be added to the categories (event, deadlines, floating task) according to the keywords (`add`, `complete`, `do`). > -> DATE is in DDMM format +> DATE is in DDMM format. > -> Parameters can be in any order +> Parameters can be in any order. > -> Separate different tags with , +> Separate different tags with ','. > -> There are no limit to the number of tags a task can have (including 0) +> There are no limit to the number of tags a task can have (including 0). Examples:
* Adding an event @@ -69,12 +69,12 @@ Shows a list of all tasks in the To Do List.
Format: `list` Format: `list [TAB_NAME]` -> TAB_NAME includes:
-> 1. Home
-> 2. Tasks
-> 3. Events
-> 4. Deadlines
-> 5. Archive
+> TAB_NAME includes: +> 1. Home +> 2. Tasks +> 3. Events +> 4. Deadlines +> 5. Archive #### Finding all tasks containing any keyword in their description: `find` Finds tasks whose description contain any of the given keywords.
@@ -93,9 +93,9 @@ Examples: Edits the task identified by the index number used in the last task listing. Format: `edit INDEX [TASK] [at/TIME] [on/DATE] [t/TAGS...]` -> at least one optional argument is required +> at least one optional argument is required. > -> can edit only one of the field for the task +> can edit only one of the field for the task. Examples: * `list`
@@ -109,9 +109,11 @@ Examples: Deletes the specified task from the To Do List. Irreversible.
Format: `delete INDEX` -> Deletes the task at the specified `INDEX`. - The index refers to the index number shown in the most recent listing.
- The index **must be a positive integer** 1, 2, 3, ... +> Deletes the task at the specified `INDEX`. +> +> The index refers to the index number shown in the most recent listing. +> +> The index **must be a positive integer** 1, 2, 3, ... Examples: * `list`
@@ -124,30 +126,30 @@ Examples: ### Undo a command : `undo` Format: `undo` -> undo is not a command, so you can not undo a 'undo'. See `redo` +> undo is not a command, so you can not undo a 'undo'. See `redo`. > -> can only undo commands that make changes to database +> can only undo commands that make changes to database. Example: -* `undo` +* `undo` COMMAND removed -### Undo a command : `redo` +### Redo a command : `redo` Format: `redo` -> can only redo commands that make changes to database +> can only redo commands that make changes to database. > -> only available when undo has been used before +> only available when undo has been used before. Example: -* `redo` +* `redo` COMMAND repeated ### Completing tasks : `mark` Marks the task identified by the index number used in the last task listing as completed and put in the archived tab. Format: `mark INDEX` -> can only mark task that are not complete yet +> can only mark task that are not complete yet. Examples: * `list` @@ -159,7 +161,7 @@ Examples: ### Clearing of entries : `clear` Clears all tasks in the current tab.
-Format: `clear [TAB]` +Format: `clear [TAB_NAME]` Example: * `clear deadlines` @@ -182,11 +184,11 @@ Example: data has been relocated to ~/document/schema ### Exiting the program : `exit` -Exits the program.
+Exits the program. Format: `exit` Example: -* `exit` +* `exit` Exiting Schema... ### Saving the data @@ -208,7 +210,9 @@ There is no need to save manually. Command | Format -------- | :-------- Help | `help` -Add | `add TASK, [on/TIME], [by/DATE],[t/TAG...]` +Add | `add "TASK" [at/TIME] [on/DATE] [t/TAG...]` +Complete | `complete "TASK" [by/time] [on/DATE] [t/TAG...]` +Do | `do "TASK" [t/TAG...]` List | `list [TAB_NAME]` Find | `find KEYWORD [MORE_KEYWORDS]` Edit | `edit INDEX DETAILS` @@ -217,6 +221,6 @@ Undo | `undo` Redo | `redo` Mark | `mark INDEX` Clear | `clear [TAB_NAME]` -Clearall | `clearall` +Clear all | `clearall` Relocate | `relocate FILE_PATH` Exit | `exit` From 466032eabec14c418a0f47c235f1a6c2594db91f Mon Sep 17 00:00:00 2001 From: Dylan Chew Date: Wed, 5 Oct 2016 15:21:47 +0800 Subject: [PATCH 013/457] update indentation --- docs/UserGuide.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 8d62fa3ef054..1e2f8f6b29ff 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -106,7 +106,7 @@ Examples: Selects the 1st task in the results of the `find` command and edit the date from 1110 to 2010. ### Deleting a task : `delete` -Deletes the specified task from the To Do List. Irreversible.
+Deletes the specified task from the To Do List.
Format: `delete INDEX` > Deletes the task at the specified `INDEX`. @@ -168,19 +168,19 @@ Example: All tasks in deadlines are cleared ### Clearing all entries: `clearall` -### Clears all tasks available from Schema +Clears all tasks available from Schema Format: `clearall` Example: -* `clearall` +* `clearall` All tasks in Schema are cleared ### Relocate database : `relocate` -Relocates the destination that data is saved +Relocates the destination that data is saved Format: `relocate FILEPATH` Example: -* `relocate ~/document/schema` +* `relocate ~/document/schema` data has been relocated to ~/document/schema ### Exiting the program : `exit` From 35b13c63ce95b937410c707431a6361c207ca6f9 Mon Sep 17 00:00:00 2001 From: Dylan Chew Date: Wed, 5 Oct 2016 16:20:03 +0800 Subject: [PATCH 014/457] import PreviousCommand --- .../logic/commands/PreviousCommand.java | 21 +++++++++++++++++++ .../seedu/address/logic/parser/Parser.java | 3 +++ .../java/seedu/address/ui/CommandBox.java | 15 ++++++++++--- 3 files changed, 36 insertions(+), 3 deletions(-) create mode 100644 src/main/java/seedu/address/logic/commands/PreviousCommand.java diff --git a/src/main/java/seedu/address/logic/commands/PreviousCommand.java b/src/main/java/seedu/address/logic/commands/PreviousCommand.java new file mode 100644 index 000000000000..5cf7e70ebe76 --- /dev/null +++ b/src/main/java/seedu/address/logic/commands/PreviousCommand.java @@ -0,0 +1,21 @@ +package seedu.address.logic.commands; + +/** + * Loads previous user input + */ +public class PreviousCommand extends Command { + + public static final String COMMAND_WORD = "p"; + + public static final String MESSAGE_USAGE = COMMAND_WORD + ":\n" +"loads back you previous input.\n\t" + + "Example: " + COMMAND_WORD; + + public static final String MESSAGE_SUCCESS = "Successfully loaded previous input."; + + public PreviousCommand() {} + + @Override + public CommandResult execute() { + return new CommandResult(MESSAGE_SUCCESS); + } +} \ No newline at end of file diff --git a/src/main/java/seedu/address/logic/parser/Parser.java b/src/main/java/seedu/address/logic/parser/Parser.java index 959b2cd0383c..73174bf9d208 100644 --- a/src/main/java/seedu/address/logic/parser/Parser.java +++ b/src/main/java/seedu/address/logic/parser/Parser.java @@ -68,6 +68,9 @@ public Command parseCommand(String userInput) { case ListCommand.COMMAND_WORD: return new ListCommand(); + + case PreviousCommand.COMMAND_WORD: + return new PreviousCommand(); case ExitCommand.COMMAND_WORD: return new ExitCommand(); diff --git a/src/main/java/seedu/address/ui/CommandBox.java b/src/main/java/seedu/address/ui/CommandBox.java index 2e1409a3016c..5a72e77de320 100644 --- a/src/main/java/seedu/address/ui/CommandBox.java +++ b/src/main/java/seedu/address/ui/CommandBox.java @@ -70,13 +70,22 @@ public void setPlaceholder(AnchorPane pane) { @FXML private void handleCommandInputChanged() { //Take a copy of the command text - previousCommandTest = commandTextField.getText(); - + String currentCommand = commandTextField.getText(); + /* We assume the command is correct. If it is incorrect, the command box will be changed accordingly * in the event handling code {@link #handleIncorrectCommandAttempted} */ setStyleToIndicateCorrectCommand(); - mostRecentResult = logic.execute(previousCommandTest); + + //handle previous command + if (currentCommand.equals(PreviousCommand.COMMAND_WORD)) { + restoreCommandText(); + }else { + previousCommandTest = currentCommand; + } + + + mostRecentResult = logic.execute(currentCommand); resultDisplay.postMessage(mostRecentResult.feedbackToUser); logger.info("Result: " + mostRecentResult.feedbackToUser); } From 8f06a203134b634ff31d6558483cdd176a5fdaad Mon Sep 17 00:00:00 2001 From: kfwong Date: Wed, 5 Oct 2016 16:40:42 +0800 Subject: [PATCH 015/457] Added UI mockup. --- docs/images/Ui.png | Bin 226248 -> 227477 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/images/Ui.png b/docs/images/Ui.png index 7121a50a442a27def0b8ab589e3b7d8979955e74..f6aeac8aa1a61f0a7d723dff1710a810f10cfeed 100644 GIT binary patch literal 227477 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

-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%0A->(P|% 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ʗL6^YQO@&RnG6CGgYY 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[+qI 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


YsYgwD2+y@% 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 literal 226248 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

NPQHWew)$bG$&jur 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 D$}g&alW1+iM+Q<5dzPBx~pMLJRVNFtg<>hX~ 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≪wj$swRR1yw9GZk5eH+BInsqS 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 Date: Wed, 5 Oct 2016 17:31:42 +0800 Subject: [PATCH 016/457] import UndoCommand --- .../seedu/address/commons/core/Messages.java | 1 + .../address/logic/commands/AddCommand.java | 18 +++++++- .../address/logic/commands/UndoCommand.java | 43 +++++++++++++++++++ .../address/logic/commands/Undoable.java | 13 ++++++ .../seedu/address/logic/parser/Parser.java | 3 ++ src/main/java/seedu/address/model/Model.java | 5 +++ .../seedu/address/model/ModelManager.java | 10 +++++ 7 files changed, 92 insertions(+), 1 deletion(-) create mode 100644 src/main/java/seedu/address/logic/commands/UndoCommand.java create mode 100644 src/main/java/seedu/address/logic/commands/Undoable.java diff --git a/src/main/java/seedu/address/commons/core/Messages.java b/src/main/java/seedu/address/commons/core/Messages.java index 1deb3a1e4695..d3e0407f1816 100644 --- a/src/main/java/seedu/address/commons/core/Messages.java +++ b/src/main/java/seedu/address/commons/core/Messages.java @@ -8,6 +8,7 @@ public class Messages { public static final String MESSAGE_UNKNOWN_COMMAND = "Unknown command"; public static final String MESSAGE_INVALID_COMMAND_FORMAT = "Invalid command format! \n%1$s"; public static final String MESSAGE_INVALID_PERSON_DISPLAYED_INDEX = "The person index provided is invalid"; + public static final String MESSAGE_PERSON_NOT_IN_ADDRESSBOOK = "Person could not be found in address book"; public static final String MESSAGE_PERSONS_LISTED_OVERVIEW = "%1$d persons listed!"; } diff --git a/src/main/java/seedu/address/logic/commands/AddCommand.java b/src/main/java/seedu/address/logic/commands/AddCommand.java index 2860a9ab2a85..17ea7c7813f8 100644 --- a/src/main/java/seedu/address/logic/commands/AddCommand.java +++ b/src/main/java/seedu/address/logic/commands/AddCommand.java @@ -1,5 +1,6 @@ package seedu.address.logic.commands; +import seedu.address.commons.core.Messages; import seedu.address.commons.exceptions.IllegalValueException; import seedu.address.model.person.*; import seedu.address.model.tag.Tag; @@ -11,7 +12,7 @@ /** * Adds a person to the address book. */ -public class AddCommand extends Command { +public class AddCommand extends Command implements Undoable{ public static final String COMMAND_WORD = "add"; @@ -21,6 +22,7 @@ public class AddCommand extends Command { + " John Doe p/98765432 e/johnd@gmail.com a/311, Clementi Ave 2, #02-25 t/friends t/owesMoney"; public static final String MESSAGE_SUCCESS = "New person added: %1$s"; + public static final String MESSAGE_UNDO_SUCCESS = "[Undo Add Command] Person deleted: %1$s"; public static final String MESSAGE_DUPLICATE_PERSON = "This person already exists in the address book"; private final Person toAdd; @@ -50,11 +52,25 @@ public CommandResult execute() { assert model != null; try { model.addPerson(toAdd); + model.getCommandHistory().push(this); + return new CommandResult(String.format(MESSAGE_SUCCESS, toAdd)); } catch (UniquePersonList.DuplicatePersonException e) { return new CommandResult(MESSAGE_DUPLICATE_PERSON); } } + + @Override + public CommandResult undo() { + try { + // remove the person that's previously added. + model.deletePerson(toAdd); + + return new CommandResult(String.format(MESSAGE_UNDO_SUCCESS, toAdd)); + } catch (UniquePersonList.PersonNotFoundException pne) { + return new CommandResult(Messages.MESSAGE_PERSON_NOT_IN_ADDRESSBOOK); + } + } } diff --git a/src/main/java/seedu/address/logic/commands/UndoCommand.java b/src/main/java/seedu/address/logic/commands/UndoCommand.java new file mode 100644 index 000000000000..35aab9124a95 --- /dev/null +++ b/src/main/java/seedu/address/logic/commands/UndoCommand.java @@ -0,0 +1,43 @@ +package seedu.address.logic.commands; + +import java.util.EmptyStackException; +import seedu.address.model.AddressBook; + +public class UndoCommand extends Command{ + + public static final String COMMAND_WORD = "undo"; + + public static final String MESSAGE_SUCCESS = "Undo successfully."; + public static final String MESSAGE_EMPTY_COMMAND_HISTORY = "There's no more action available to undo."; + public static final String MESSAGE_COMMAND_NOT_UNDOABLE = "This command is not undoable"; + + @Override + public CommandResult execute() { + + try{ + // All Command supports undo operation must implement Undoable interface + // If the Command is not Undoable, a ClassCastException is thrown + + // Pop the first Command from the AddressBook command history + Undoable command = (Undoable) model.getCommandHistory().pop(); + + // execute the undo implementation + CommandResult undoResult = command.undo(); + + // display successful message and the details of the undo operations + return new CommandResult( + MESSAGE_SUCCESS + "\n" + + "=====Undo Details=====\n" + + undoResult.feedbackToUser + "\n"+ + "=================="); + }catch(EmptyStackException ex){ + return new CommandResult(MESSAGE_EMPTY_COMMAND_HISTORY); + }catch(ClassCastException cce){ + return new CommandResult(MESSAGE_COMMAND_NOT_UNDOABLE); + } + } + + + +} + diff --git a/src/main/java/seedu/address/logic/commands/Undoable.java b/src/main/java/seedu/address/logic/commands/Undoable.java new file mode 100644 index 000000000000..e0a27031fd8b --- /dev/null +++ b/src/main/java/seedu/address/logic/commands/Undoable.java @@ -0,0 +1,13 @@ +package seedu.address.logic.commands; + +public interface Undoable { + + /** + * Specify the undo operation according to the nature of the corresponding class. + * For example, to implement an undo operation on AddCommand, a delete operation should be implemented. + * Similarly, a DeleteCommand should implement a add operation to restore the record. + * + * @return CommandResult, the Object contains details & feedback about the undo operation. + */ + public CommandResult undo(); +} \ No newline at end of file diff --git a/src/main/java/seedu/address/logic/parser/Parser.java b/src/main/java/seedu/address/logic/parser/Parser.java index 73174bf9d208..7698a41112a3 100644 --- a/src/main/java/seedu/address/logic/parser/Parser.java +++ b/src/main/java/seedu/address/logic/parser/Parser.java @@ -71,6 +71,9 @@ public Command parseCommand(String userInput) { case PreviousCommand.COMMAND_WORD: return new PreviousCommand(); + + case UndoCommand.COMMAND_WORD: + return new UndoCommand(); case ExitCommand.COMMAND_WORD: return new ExitCommand(); diff --git a/src/main/java/seedu/address/model/Model.java b/src/main/java/seedu/address/model/Model.java index d14a27a93b5e..295ac6c5cc6e 100644 --- a/src/main/java/seedu/address/model/Model.java +++ b/src/main/java/seedu/address/model/Model.java @@ -1,11 +1,13 @@ package seedu.address.model; import seedu.address.commons.core.UnmodifiableObservableList; +import seedu.address.logic.commands.Command; import seedu.address.model.person.Person; import seedu.address.model.person.ReadOnlyPerson; import seedu.address.model.person.UniquePersonList; import java.util.Set; +import java.util.Stack; /** * The API of the Model component. @@ -22,6 +24,9 @@ public interface Model { /** Adds the given person */ void addPerson(Person person) throws UniquePersonList.DuplicatePersonException; + + /** Returns the stack of command history */ + Stack getCommandHistory(); /** Returns the filtered person list as an {@code UnmodifiableObservableList} */ UnmodifiableObservableList getFilteredPersonList(); diff --git a/src/main/java/seedu/address/model/ModelManager.java b/src/main/java/seedu/address/model/ModelManager.java index 869226d02bf1..bf058201b38b 100644 --- a/src/main/java/seedu/address/model/ModelManager.java +++ b/src/main/java/seedu/address/model/ModelManager.java @@ -4,6 +4,7 @@ import seedu.address.commons.core.LogsCenter; import seedu.address.commons.core.UnmodifiableObservableList; import seedu.address.commons.util.StringUtil; +import seedu.address.logic.commands.Command; import seedu.address.commons.events.model.AddressBookChangedEvent; import seedu.address.commons.core.ComponentManager; import seedu.address.model.person.Person; @@ -12,6 +13,7 @@ import seedu.address.model.person.UniquePersonList.PersonNotFoundException; import java.util.Set; +import java.util.Stack; import java.util.logging.Logger; /** @@ -23,6 +25,7 @@ public class ModelManager extends ComponentManager implements Model { private final AddressBook addressBook; private final FilteredList filteredPersons; + private final Stack commandHistory; /** * Initializes a ModelManager with the given AddressBook @@ -37,6 +40,7 @@ public ModelManager(AddressBook src, UserPrefs userPrefs) { addressBook = new AddressBook(src); filteredPersons = new FilteredList<>(addressBook.getPersons()); + commandHistory = new Stack<>(); } public ModelManager() { @@ -46,6 +50,7 @@ public ModelManager() { public ModelManager(ReadOnlyAddressBook initialData, UserPrefs userPrefs) { addressBook = new AddressBook(initialData); filteredPersons = new FilteredList<>(addressBook.getPersons()); + commandHistory = new Stack<>(); } @Override @@ -63,6 +68,11 @@ public ReadOnlyAddressBook getAddressBook() { private void indicateAddressBookChanged() { raise(new AddressBookChangedEvent(addressBook)); } + + @Override + public Stack getCommandHistory() { + return commandHistory; + } @Override public synchronized void deletePerson(ReadOnlyPerson target) throws PersonNotFoundException { From c41a9763b9fb7acb844c092f62ef69a82516a4af Mon Sep 17 00:00:00 2001 From: Dylan Chew Date: Wed, 5 Oct 2016 19:06:35 +0800 Subject: [PATCH 017/457] import EditCommand --- .../address/logic/commands/EditCommand.java | 83 +++++++++++++++++++ .../seedu/address/logic/commands/FindTag.java | 5 ++ .../seedu/address/logic/parser/Parser.java | 40 ++++++++- 3 files changed, 127 insertions(+), 1 deletion(-) create mode 100644 src/main/java/seedu/address/logic/commands/EditCommand.java create mode 100644 src/main/java/seedu/address/logic/commands/FindTag.java diff --git a/src/main/java/seedu/address/logic/commands/EditCommand.java b/src/main/java/seedu/address/logic/commands/EditCommand.java new file mode 100644 index 000000000000..1cfd5991338c --- /dev/null +++ b/src/main/java/seedu/address/logic/commands/EditCommand.java @@ -0,0 +1,83 @@ +package seedu.address.logic.commands; + +import java.util.HashSet; +import java.util.Iterator; +import java.util.Set; + +import seedu.address.commons.core.Messages; +import seedu.address.commons.core.UnmodifiableObservableList; +import seedu.address.commons.exceptions.IllegalValueException; +import seedu.address.model.person.Address; +import seedu.address.model.person.Email; +import seedu.address.model.person.Name; +import seedu.address.model.person.Person; +import seedu.address.model.person.Phone; +import seedu.address.model.person.ReadOnlyPerson; +import seedu.address.model.person.UniquePersonList.DuplicatePersonException; +import seedu.address.model.person.UniquePersonList.PersonNotFoundException; +import seedu.address.model.tag.Tag; +import seedu.address.model.tag.UniqueTagList; + +public class EditCommand extends Command{ + + public static final String COMMAND_WORD = "edit"; + public static final String NEXT_COMMAND_WORD = "actualEdit"; + + public static final String MESSAGE_USAGE = COMMAND_WORD + + ": Edits the person identified by the index number used in the last person listing.\n" + + "Parameters: INDEX NAME p/PHONE e/EMAIL a/ADDRESS [t/TAG]...\n" + + "Example: " + COMMAND_WORD + " 1 John Doe p/98765432 e/johnd@gmail.com " + + "a/311, Clementi Ave 2, #02-25 t/friends" ; + + + public static final String MESSAGE_EDIT_PERSON_PROMPT = "Edit the following person: %1$s"; + public static final String MESSAGE_EDIT_PERSON_SUCCESS = "Person successfully edited: %1$s"; + +// private MainWindow window; + private final int targetIndex; + private ReadOnlyPerson personToEdit; + private Person toEdit; + + public EditCommand(int targetIndex,String name, String phone, String email, + String address, Set tags) throws IllegalValueException{ + this.targetIndex = targetIndex; + + final Set tagSet = new HashSet<>(); + for (String tagName : tags) { + tagSet.add(new Tag(tagName)); + } + this.toEdit = new Person( + new Name(name), + new Phone(phone), + new Email(email), + new Address(address), + new UniqueTagList(tagSet) + ); + } + + + + @Override + public CommandResult execute() { + + UnmodifiableObservableList lastShownList = model.getFilteredPersonList(); + + if (lastShownList.size() < targetIndex) { + indicateAttemptToExecuteIncorrectCommand(); + return new CommandResult(Messages.MESSAGE_INVALID_PERSON_DISPLAYED_INDEX); + } + personToEdit = lastShownList.get(targetIndex - 1); + + try { + model.deletePerson(personToEdit); + model.addPerson(toEdit); +// + return new CommandResult(String.format(MESSAGE_EDIT_PERSON_PROMPT, personToEdit)); + + } catch (PersonNotFoundException | DuplicatePersonException ie) { + return new CommandResult(Messages.MESSAGE_INVALID_PERSON_DISPLAYED_INDEX); + } + + } + +} diff --git a/src/main/java/seedu/address/logic/commands/FindTag.java b/src/main/java/seedu/address/logic/commands/FindTag.java new file mode 100644 index 000000000000..29c86b659576 --- /dev/null +++ b/src/main/java/seedu/address/logic/commands/FindTag.java @@ -0,0 +1,5 @@ +package seedu.address.logic.commands; + +public class FindTag { + +} diff --git a/src/main/java/seedu/address/logic/parser/Parser.java b/src/main/java/seedu/address/logic/parser/Parser.java index 7698a41112a3..c918ebae46c9 100644 --- a/src/main/java/seedu/address/logic/parser/Parser.java +++ b/src/main/java/seedu/address/logic/parser/Parser.java @@ -72,6 +72,9 @@ public Command parseCommand(String userInput) { case PreviousCommand.COMMAND_WORD: return new PreviousCommand(); + case EditCommand.COMMAND_WORD: + return prepareEdit(arguments); + case UndoCommand.COMMAND_WORD: return new UndoCommand(); @@ -138,8 +141,43 @@ private Command prepareDelete(String args) { return new IncorrectCommand( String.format(MESSAGE_INVALID_COMMAND_FORMAT, DeleteCommand.MESSAGE_USAGE)); } + Command result = new DeleteCommand(index.get()); + + return result; + } + + /** + * Parses arguments in the context of the edit person command. + * + * @param args full command args string + * @return the prepared command + */ + private Command prepareEdit(String args) { + final Matcher matcher = PERSON_DATA_ARGS_FORMAT.matcher(args.trim()); + // Validate arg string format + if (!matcher.matches()) { + return new IncorrectCommand(String.format(MESSAGE_INVALID_COMMAND_FORMAT, EditCommand.MESSAGE_USAGE)); + } + + Optional index = parseIndex(args.substring(1, 2)); + if(!index.isPresent()){ + return new IncorrectCommand( + String.format(MESSAGE_INVALID_COMMAND_FORMAT, EditCommand.MESSAGE_USAGE)); + } - return new DeleteCommand(index.get()); + try { + return new EditCommand( + index.get(), + matcher.group("name").substring(2), + matcher.group("phone"), + matcher.group("email"), + matcher.group("address"), + getTagsFromArgs(matcher.group("tagArguments")) + ); + } catch (IllegalValueException ive) { + return new IncorrectCommand(ive.getMessage()); + } + } /** From 87fb15c57daf29e4220eb39211a1a927b88389bf Mon Sep 17 00:00:00 2001 From: Dylan Chew Date: Wed, 5 Oct 2016 19:54:14 +0800 Subject: [PATCH 018/457] import FindTagCommand --- .../seedu/address/logic/commands/FindTag.java | 5 --- .../logic/commands/FindTagCommand.java | 39 +++++++++++++++++++ .../seedu/address/logic/parser/Parser.java | 34 ++++++++++++++++ src/main/java/seedu/address/model/Model.java | 4 ++ .../seedu/address/model/ModelManager.java | 27 +++++++++++++ 5 files changed, 104 insertions(+), 5 deletions(-) delete mode 100644 src/main/java/seedu/address/logic/commands/FindTag.java create mode 100644 src/main/java/seedu/address/logic/commands/FindTagCommand.java diff --git a/src/main/java/seedu/address/logic/commands/FindTag.java b/src/main/java/seedu/address/logic/commands/FindTag.java deleted file mode 100644 index 29c86b659576..000000000000 --- a/src/main/java/seedu/address/logic/commands/FindTag.java +++ /dev/null @@ -1,5 +0,0 @@ -package seedu.address.logic.commands; - -public class FindTag { - -} diff --git a/src/main/java/seedu/address/logic/commands/FindTagCommand.java b/src/main/java/seedu/address/logic/commands/FindTagCommand.java new file mode 100644 index 000000000000..37fa1e0fc5a0 --- /dev/null +++ b/src/main/java/seedu/address/logic/commands/FindTagCommand.java @@ -0,0 +1,39 @@ +package seedu.address.logic.commands; + +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +import seedu.address.commons.exceptions.IllegalValueException; +import seedu.address.model.tag.Tag; + +public class FindTagCommand extends Command { + + public static final String COMMAND_WORD = "findtag"; + + public static final String MESSAGE_USAGE = COMMAND_WORD + ":\n" + "Finds all persons whose tags contain any of " + + "the specified keywords (case-sensitive) and displays them as a list with index numbers.\n\t" + + "Parameters: KEYWORD [MORE_KEYWORDS]...\n\t" + + "Example: " + COMMAND_WORD + " friends colleagues"; + + private final Set keywords; + + public FindTagCommand(Set keywords) throws IllegalValueException { + + this.keywords = keywords; + } + + /** + * Returns copy of keywords in this command. + */ + public Set getKeywords() { + return new HashSet<>(keywords); + } + + @Override + public CommandResult execute() { + model.updateFilteredTagPersonList(keywords); + return new CommandResult(getMessageForPersonListShownSummary(model.getFilteredPersonList().size())); + } + +} \ No newline at end of file diff --git a/src/main/java/seedu/address/logic/parser/Parser.java b/src/main/java/seedu/address/logic/parser/Parser.java index c918ebae46c9..d7166b7e940c 100644 --- a/src/main/java/seedu/address/logic/parser/Parser.java +++ b/src/main/java/seedu/address/logic/parser/Parser.java @@ -1,6 +1,7 @@ package seedu.address.logic.parser; import seedu.address.logic.commands.*; +import seedu.address.model.tag.Tag; import seedu.address.commons.util.StringUtil; import seedu.address.commons.exceptions.IllegalValueException; @@ -65,6 +66,9 @@ public Command parseCommand(String userInput) { case FindCommand.COMMAND_WORD: return prepareFind(arguments); + + case FindTagCommand.COMMAND_WORD: + return prepareFindTag(arguments); case ListCommand.COMMAND_WORD: return new ListCommand(); @@ -232,5 +236,35 @@ private Command prepareFind(String args) { final Set keywordSet = new HashSet<>(Arrays.asList(keywords)); return new FindCommand(keywordSet); } + + /** + * Parses arguments in the context of the find tag command. + * + * @param args full command args string + * @return the prepared command + */ + private Command prepareFindTag(String args) { + final Matcher matcher = KEYWORDS_ARGS_FORMAT.matcher(args.trim()); + if (!matcher.matches()) { + return new IncorrectCommand(String.format(MESSAGE_INVALID_COMMAND_FORMAT, + FindCommand.MESSAGE_USAGE)); + } + + // keywords delimited by whitespace + final String[] keywords = matcher.group("keywords").split("\\s+"); + + final Set tagSet = new HashSet<>(); + + try { + + for (String tagName : keywords) { + tagSet.add(new Tag(tagName)); + } + + return new FindTagCommand(tagSet); + } catch (IllegalValueException ive) { + return new IncorrectCommand(ive.getMessage()); + } + } } \ No newline at end of file diff --git a/src/main/java/seedu/address/model/Model.java b/src/main/java/seedu/address/model/Model.java index 295ac6c5cc6e..ce9400f6143e 100644 --- a/src/main/java/seedu/address/model/Model.java +++ b/src/main/java/seedu/address/model/Model.java @@ -5,6 +5,7 @@ import seedu.address.model.person.Person; import seedu.address.model.person.ReadOnlyPerson; import seedu.address.model.person.UniquePersonList; +import seedu.address.model.tag.Tag; import java.util.Set; import java.util.Stack; @@ -37,4 +38,7 @@ public interface Model { /** Updates the filter of the filtered person list to filter by the given keywords*/ void updateFilteredPersonList(Set keywords); + /** Updates the filter of the filtered person list to filter by the given keywords*/ + void updateFilteredTagPersonList(Set keywords); + } diff --git a/src/main/java/seedu/address/model/ModelManager.java b/src/main/java/seedu/address/model/ModelManager.java index bf058201b38b..7985b9ad5025 100644 --- a/src/main/java/seedu/address/model/ModelManager.java +++ b/src/main/java/seedu/address/model/ModelManager.java @@ -11,7 +11,9 @@ import seedu.address.model.person.ReadOnlyPerson; import seedu.address.model.person.UniquePersonList; import seedu.address.model.person.UniquePersonList.PersonNotFoundException; +import seedu.address.model.tag.Tag; +import java.util.Collections; import java.util.Set; import java.util.Stack; import java.util.logging.Logger; @@ -103,6 +105,11 @@ public void updateFilteredListToShowAll() { public void updateFilteredPersonList(Set keywords){ updateFilteredPersonList(new PredicateExpression(new NameQualifier(keywords))); } + + @Override + public void updateFilteredTagPersonList(Set keywords){ + updateFilteredPersonList(new PredicateExpression(new TagQualifier(keywords))); + } private void updateFilteredPersonList(Expression expression) { filteredPersons.setPredicate(expression::satisfies); @@ -159,5 +166,25 @@ public String toString() { return "name=" + String.join(", ", nameKeyWords); } } + + private class TagQualifier implements Qualifier { + private Set tagKeyWords; + + TagQualifier(Set tagKeyWords) { + this.tagKeyWords = tagKeyWords; + } + + @Override + public boolean run(ReadOnlyPerson person) { + final Set tagList = person.getTags().toSet(); + + return !Collections.disjoint(tagList, tagKeyWords); + } + + @Override + public String toString() { + return "tags=" + String.join(", ", tagKeyWords.toString()); + } + } } From b3d06539cc29b2aa27ddfefa2ac39b8deffe5c14 Mon Sep 17 00:00:00 2001 From: Dylan Chew Date: Thu, 6 Oct 2016 11:53:01 +0800 Subject: [PATCH 019/457] update to README --- README.md | 9 +++------ docs/UserGuide.md | 26 +++++++++++++++++++++++--- 2 files changed, 26 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 71527ee2a125..395536877c77 100644 --- a/README.md +++ b/README.md @@ -5,13 +5,9 @@
-* This is a desktop To Do list application. It has a GUI but most of the user interactions happen using +* This is a to do list desktop application called Schema. It has a GUI but most of the user interactions is through a CLI (Command Line Interface). -* It is a Java sample application intended for students learning Software Engineering while using Java as - the main programming language. -* It is **written in OOP fashion**. It provides a **reasonably well-written** code example that is - **significantly bigger** (around 6 KLoC)than what students usually write in beginner-level SE modules. - +* Schema is a powerful task manager that allow users to manage tasks anywhere and get things done. #### Site Map * [User Guide](docs/UserGuide.md) @@ -25,6 +21,7 @@ * Some parts of this sample application were inspired by the excellent [Java FX tutorial](http://code.makery.ch/library/javafx-8-tutorial/) by *Marco Jakob*. +* This application is inspired from the [sample projects](https://github.com/se-edu/) created by SE_EDU initiatives #### Licence : [MIT](LICENSE) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 1e2f8f6b29ff..f5ce278774d3 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -76,18 +76,37 @@ Format: `list [TAB_NAME]` > 4. Deadlines > 5. Archive -#### Finding all tasks containing any keyword in their description: `find` +### Finding all tasks containing any keyword in their description: `find` Finds tasks whose description contain any of the given keywords.
Format: `find KEYWORD [MORE_KEYWORDS]` -> The search is not case sensitive, the order of the keywords does not matter, only the description is searched, -and tasks matching at least one keyword will be returned (i.e. `OR` search). +> The search is not case sensitive. +> +> The order of the keywords does not matter. +> +> Tasks matching at least one keyword will be returned. Examples: * `find Dinner`
Returns `Dinner on 10/10/16 at 1900hrs (Date)` * `find "cs2010 ps10"`
Returns any task having description `cs2010 ps10`. + +### Finding all tasks containing any tag keyword in their description: `findtag` +Finds tasks whose tag contain any of the given keywords.
+Format: `findtag KEYWORD [MORE_KEYWORDS]` + +> The search is not case sensitive +> +> The order of the tag keywords does not matter +> +> Tasks matching at least one tag keyword will be returned + +Examples: +* `find date`
+ Returns `Dinner on 10 Oct at 1900hrs (Date,meals)` +* `find "exam,assignment"`
+ Returns `CS2010 PS10 on 11 Oct by 1000hrs (Assignment)`. ### Editing a task : `edit` Edits the task identified by the index number used in the last task listing. @@ -215,6 +234,7 @@ Complete | `complete "TASK" [by/time] [on/DATE] [t/TAG...]` Do | `do "TASK" [t/TAG...]` List | `list [TAB_NAME]` Find | `find KEYWORD [MORE_KEYWORDS]` +Find Tag | `findtag KEYWORD [MORE_KEYWORDS]` Edit | `edit INDEX DETAILS` Delete | `delete INDEX` Undo | `undo` From c2474edde42b10356dc486b58eb8d1ab2dd7d9b3 Mon Sep 17 00:00:00 2001 From: Dylan Chew Date: Thu, 6 Oct 2016 12:01:07 +0800 Subject: [PATCH 020/457] Update UserGuide.md --- docs/UserGuide.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/UserGuide.md b/docs/UserGuide.md index f5ce278774d3..5e2b5f20c778 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -87,10 +87,10 @@ Format: `find KEYWORD [MORE_KEYWORDS]` > Tasks matching at least one keyword will be returned. Examples: -* `find Dinner`
- Returns `Dinner on 10/10/16 at 1900hrs (Date)` -* `find "cs2010 ps10"`
- Returns any task having description `cs2010 ps10`. +* `find Dinner` + Returns `Dinner on 10/10/16 at 1900hrs (Date)`. +* `find "cs2010 ps10"` + Returns `CS2010 PS10 on 11 Oct by 1000hrs (Assignment)`. ### Finding all tasks containing any tag keyword in their description: `findtag` Finds tasks whose tag contain any of the given keywords.
@@ -103,9 +103,9 @@ Format: `findtag KEYWORD [MORE_KEYWORDS]` > Tasks matching at least one tag keyword will be returned Examples: -* `find date`
- Returns `Dinner on 10 Oct at 1900hrs (Date,meals)` -* `find "exam,assignment"`
+* `find date` + Returns `Dinner on 10 Oct at 1900hrs (Date,meals)`. +* `find "exam,assignment"` Returns `CS2010 PS10 on 11 Oct by 1000hrs (Assignment)`. ### Editing a task : `edit` @@ -176,7 +176,7 @@ Examples: Selects the 2nd task in Schema and mark the task as completed. * `find CS2010` `mark 1 ` - Selects the 1st task in the results of the `find` command and edit the date from 1110 to 2010. + Selects the 1st task in the results of the `find` command and mark the task as completed. ### Clearing of entries : `clear` Clears all tasks in the current tab.
From b340be86957951f5024492701553b496ca211a0b Mon Sep 17 00:00:00 2001 From: Dylan Chew Date: Thu, 6 Oct 2016 12:27:10 +0800 Subject: [PATCH 021/457] update README --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 395536877c77..e714d7da4fbe 100644 --- a/README.md +++ b/README.md @@ -5,9 +5,10 @@
-* This is a to do list desktop application called Schema. It has a GUI but most of the user interactions is through +* This is a desktop task manager application called Schema. It has a GUI but most of the user interactions is through a CLI (Command Line Interface). * Schema is a powerful task manager that allow users to manage tasks anywhere and get things done. +* Schema is catered towards users that spend most of their time on the computer and prefer to use keyboard over mouse as inputs. #### Site Map * [User Guide](docs/UserGuide.md) From dcec3a95022e34f45208526b30a86209377f3f06 Mon Sep 17 00:00:00 2001 From: Albert Yeoh Date: Thu, 6 Oct 2016 15:00:01 +0800 Subject: [PATCH 022/457] finalised AboutUs and UserGuide --- docs/AboutUs.md | 12 +++--- docs/UserGuide.md | 97 ++++++++++++++++++++--------------------------- 2 files changed, 47 insertions(+), 62 deletions(-) diff --git a/docs/AboutUs.md b/docs/AboutUs.md index 68f6371fd052..560cedc679ca 100644 --- a/docs/AboutUs.md +++ b/docs/AboutUs.md @@ -14,28 +14,28 @@ We are a team based in the [School of Computing, National University of Singapor #### [Dylan Chew Zhi Jiang](https://github.com/zavfel)

Role: Developer
-Responsibilities: Logic +Responsibilities: Logic, Code Quality, Deliverables ----- #### [Wong Kang Fei](https://github.com/kfwong)
-Role: Developer
-Responsibilities: Logic +Role: Developer
+Responsibilities: Logic, Testing, Git Expert ----- #### [Lim Hui Qi](https://github.com/LuMiN0uSaRc)
-Role: Developer
-Responsibilities: UI +Role: Team Lead and Developer
+Responsibilities: UI, Scheduling and deadlines, Tracking ----- #### [Albert Yeoh Ji Bin](https://github.com/bertojo)
Role: Developer
-Responsibilities: Data +Responsibilities: Data, Integration, Documentation ----- diff --git a/docs/UserGuide.md b/docs/UserGuide.md index 5e2b5f20c778..98697ebf6f51 100644 --- a/docs/UserGuide.md +++ b/docs/UserGuide.md @@ -20,7 +20,7 @@ e.g. typing **`help`** and pressing Enter will open the help window. 5. Some example commands you can try: * **`list`** : lists all floating tasks, events and tasks due today - * **`add`**` CS2103T "tutorial work" by/1100 on/tomorrow t/TUTORIAL` : + * **`add`** `"CS2103T tutorial work" by/1100 on/tomorrow t/TUTORIAL` : adds a task named `CS2103T tutorial work` with deadline due tomorrow at 11am to the Schema. * **`delete`**` 3` : deletes the 3rd task shown in the current list * **`exit`** : exits the app @@ -35,56 +35,48 @@ Format: `help` > Help is also shown if you enter an incorrect command e.g. `abcd` ### Adding a task: `add` `do` `complete` -#### Adds an event to Schema +#### Add an event to Schema Format: `add "TASK", at/TIME, on/DATE [t/TAG...]` -#### Adds a task with deadline to Schema +#### Add a task with deadline to Schema Format: `complete "TASK" by/TIME on/DATE [t/TAG...]` -#### Adds a floating task to Schema +#### Add a floating task to Schema Format: `do "TASK" [t/TAG...]` -> Words in `UPPER_CASE` are the parameters, items in `[SQUARE_BRACKETS]` are optional, -> items with `...` after them can have multiple instances. -> -> task will be added to the categories (event, deadlines, floating task) according to the keywords (`add`, `complete`, `do`). -> -> DATE is in DDMM format. -> -> Parameters can be in any order. -> -> Separate different tags with ','. -> -> There are no limit to the number of tags a task can have (including 0). +>* Words in `UPPER_CASE` are the parameters, items in `[SQUARE_BRACKETS]` are optional, +> items with `...` after them can have multiple instances. +>* Tasks will be added to the categories (event, deadlines, floating task) according to the keywords (`add`, `complete`, `do`). +>* DATE is in DDMM format. +>* Parameters can be in any order. +>* Separate different tags with ','. +>* There are no limit to the number of tags a task can have (including 0). Examples:
* Adding an event * `add "Dinner", at/1900 to 2000 on/1010 t/Date,meals` * Adding a task with deadline * `complete "CS2010 PS10" by/1000 on/1110 t/Assignment` -* add floating task +* Adding a floating task * `do "Pay school fees"` ### Listing all tasks in current tab: `list` Shows a list of all tasks in the To Do List.
-Format: `list` Format: `list [TAB_NAME]` > TAB_NAME includes: -> 1. Home -> 2. Tasks -> 3. Events -> 4. Deadlines +> 1. Home
+> 2. Tasks
+> 3. Events
+> 4. Deadlines
> 5. Archive ### Finding all tasks containing any keyword in their description: `find` Finds tasks whose description contain any of the given keywords.
Format: `find KEYWORD [MORE_KEYWORDS]` -> The search is not case sensitive. -> -> The order of the keywords does not matter. -> -> Tasks matching at least one keyword will be returned. +>* The search is not case sensitive. +>* The order of the keywords does not matter. +>* Tasks matching at least one keyword will be returned. Examples: * `find Dinner` @@ -96,11 +88,9 @@ Examples: Finds tasks whose tag contain any of the given keywords.
Format: `findtag KEYWORD [MORE_KEYWORDS]` -> The search is not case sensitive -> -> The order of the tag keywords does not matter -> -> Tasks matching at least one tag keyword will be returned +>* The search is not case sensitive +>* The order of the tag keywords does not matter +>* Tasks matching at least one tag keyword will be returned Examples: * `find date` @@ -112,9 +102,8 @@ Examples: Edits the task identified by the index number used in the last task listing. Format: `edit INDEX [TASK] [at/TIME] [on/DATE] [t/TAGS...]` -> at least one optional argument is required. -> -> can edit only one of the field for the task. +>* At least one optional argument is required. +>* Can edit only one of the field for the task. Examples: * `list`
@@ -128,11 +117,9 @@ Examples: Deletes the specified task from the To Do List.
Format: `delete INDEX` -> Deletes the task at the specified `INDEX`. -> -> The index refers to the index number shown in the most recent listing. -> -> The index **must be a positive integer** 1, 2, 3, ... +>* Deletes the task at the specified `INDEX`. +>* The index refers to the index number shown in the most recent listing. +>* The index **must be a positive integer** 1, 2, 3, ... Examples: * `list`
@@ -145,30 +132,28 @@ Examples: ### Undo a command : `undo` Format: `undo` -> undo is not a command, so you can not undo a 'undo'. See `redo`. -> -> can only undo commands that make changes to database. +>* Undo is not a command, so you can not undo a 'undo'. See `redo`. +>* Can only undo commands that make changes to database. Example: * `undo` - COMMAND removed + COMMAND removed. ### Redo a command : `redo` Format: `redo` -> can only redo commands that make changes to database. -> -> only available when undo has been used before. +>* Can only redo commands that make changes to database. +>* Only available when undo has been used before. Example: * `redo` - COMMAND repeated + COMMAND repeated. ### Completing tasks : `mark` Marks the task identified by the index number used in the last task listing as completed and put in the archived tab. Format: `mark INDEX` -> can only mark task that are not complete yet. +>* Can only mark task that are not complete yet. Examples: * `list` @@ -184,23 +169,23 @@ Format: `clear [TAB_NAME]` Example: * `clear deadlines` - All tasks in deadlines are cleared + All tasks in deadlines are cleared. ### Clearing all entries: `clearall` -Clears all tasks available from Schema +Clears all tasks available from Schema. Format: `clearall` Example: * `clearall` - All tasks in Schema are cleared + All tasks in Schema are cleared. -### Relocate database : `relocate` -Relocates the destination that data is saved +### Changing save location : `relocate` +Relocates the destination that data is saved. Format: `relocate FILEPATH` Example: * `relocate ~/document/schema` - data has been relocated to ~/document/schema + Data has been relocated to ~/document/schema ### Exiting the program : `exit` Exits the program. @@ -221,7 +206,7 @@ There is no need to save manually. the file that contains the data of your previous Schema. **Q**: Is my data secure? -**A**: Your data is stored locally on your hard drive as a .txt file. Your data is as secure as your computer +**A**: Your data is stored locally on your hard drive as a .xml file. Your data is as secure as your computer ## Command Summary From 4fb87b10044462ea8203d9f1ff470240f91916d3 Mon Sep 17 00:00:00 2001 From: kfwong Date: Thu, 6 Oct 2016 18:23:04 +0800 Subject: [PATCH 023/457] Added use cases. --- docs/DeveloperGuide.md | 419 ++++++++++++++++++++++++++++++++++++----- 1 file changed, 370 insertions(+), 49 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index c09c9566ea0b..10087958112a 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -1,4 +1,4 @@ -# Developer Guide +# Developer Guide * [Setting Up](#setting-up) * [Design](#design) @@ -22,7 +22,7 @@ > Having any Java 8 version is not enough.
This app will not work with earlier versions of Java 8. - + 2. **Eclipse** IDE 3. **e(fx)clipse** plugin for Eclipse (Do the steps 2 onwards given in [this page](http://www.eclipse.org/efxclipse/install.html#for-the-ambitious)) @@ -32,7 +32,7 @@ #### Importing the project into Eclipse 0. Fork this repo, and clone the fork to your computer -1. Open Eclipse (Note: Ensure you have installed the **e(fx)clipse** and **buildship** plugins as given +1. Open Eclipse (Note: Ensure you have installed the **e(fx)clipse** and **buildship** plugins as given in the prerequisites above) 2. Click `File` > `Import` 3. Click `Gradle` > `Gradle Project` > `Next` > `Next` @@ -83,7 +83,7 @@ being saved to the hard disk and the status bar of the UI being updated to refle > Note how the event is propagated through the `EventsCenter` to the `Storage` and `UI` without `Model` having - to be coupled to either of them. This is an example of how this Event Driven approach helps us reduce direct + to be coupled to either of them. This is an example of how this Event Driven approach helps us reduce direct coupling between components. The sections below give more details of each component. @@ -144,18 +144,18 @@ The `Storage` component, ### Common classes -Classes used by multiple components are in the `seedu.addressbook.commans` package. +Classes used by multiple components are in the `seedu.addressbook.commans` package. ## Implementation ### Logging -We are using `java.util.logging.Logger` as our logger, and `LogsCenter` is used to manage the logging levels +We are using `java.util.logging.Logger` as our logger, and `LogsCenter` is used to manage the logging levels of loggers and handlers (for output of log messages) -- The logging level can be controlled using the `logLevel` setting in the configuration file +- The logging level can be controlled using the `logLevel` setting in the configuration file (See [Configuration](#configuration)) -- The `Logger` for a class can be obtained using `LogsCenter.getLogger(Class)` which will log messages according to +- The `Logger` for a class can be obtained using `LogsCenter.getLogger(Class)` which will log messages according to the specified logging level - Currently log messages are output through: `Console` and `.log` @@ -180,46 +180,46 @@ of loggers and handlers (for output of log messages) ### Configuration -Certain properties of the application can be controlled (e.g App name, logging level) through the configuration file +Certain properties of the application can be controlled (e.g App name, logging level) through the configuration file (default: `config.json`): ## Testing -**In Eclipse**: +**In Eclipse**: > If you are not using a recent Eclipse version (i.e. _Neon_ or later), enable assertions in JUnit tests as described [here](http://stackoverflow.com/questions/2522897/eclipse-junit-ea-vm-option). -* To run all tests, right-click on the `src/test/java` folder and choose +* To run all tests, right-click on the `src/test/java` folder and choose `Run as` > `JUnit Test` -* To run a subset of tests, you can right-click on a test package, test class, or a test and choose +* To run a subset of tests, you can right-click on a test package, test class, or a test and choose to run as a JUnit test. - + **Using Gradle**: -* See [UsingGradle.md](UsingGradle.md) for how to run tests using Gradle. +* See [UsingGradle.md](UsingGradle.md) for how to run tests using Gradle. Tests can be found in the `./src/test/java` folder. -1. **GUI Tests** - These are _System Tests_ that test the entire App by simulating user actions on the GUI. +1. **GUI Tests** - These are _System Tests_ that test the entire App by simulating user actions on the GUI. These are in the `guitests` package. - + 2. **Non-GUI Tests** - These are tests not involving the GUI. They include, 1. _Unit tests_ targeting the lowest level methods/classes.
e.g. `seedu.address.commons.UrlUtilTest` - 2. _Integration tests_ that are checking the integration of multiple code units + 2. _Integration tests_ that are checking the integration of multiple code units (those code units are assumed to be working).
e.g. `seedu.address.storage.StorageManagerTest` - 3. Hybrids of unit and integration tests. These test are checking multiple code units as well as + 3. Hybrids of unit and integration tests. These test are checking multiple code units as well as how the are connected together.
e.g. `seedu.address.logic.LogicManagerTest` - + **Headless GUI Testing** : Thanks to the ([TestFX](https://github.com/TestFX/TestFX)) library we use, - our GUI tests can be run in the _headless_ mode. + our GUI tests can be run in the _headless_ mode. In the headless mode, GUI tests do not show up on the screen. That means the developer can do other things on the Computer while the tests are running.
See [UsingGradle.md](UsingGradle.md#running-tests) to learn how to run tests in headless mode. - + ## Continuous Integration We use [Travis CI](https://travis-ci.org/) to perform _Continuous Integration_ on our projects. @@ -228,15 +228,15 @@ See [UsingTravis.md](UsingTravis.md) for more details. ## Making a Release Here are the steps to create a new release. - + 1. Generate a JAR file [using Gradle](UsingGradle.md#creating-the-jar-file). 2. Tag the repo with the version number. e.g. `v0.1` - 2. [Crete a new release using GitHub](https://help.github.com/articles/creating-releases/) + 2. [Crete a new release using GitHub](https://help.github.com/articles/creating-releases/) and upload the JAR file your created. - + ## Managing Dependencies -A project often depends on third party libraries. For example, Address Book depends on the +A project often depends on third party libraries. For example, Address Book depends on the [Jackson library](http://wiki.fasterxml.com/JacksonHome) for XML parsing. Managing these _dependencies_ can be automated using Gradle. For example, Gradle can download the dependencies automatically, which is better than these alternatives.
@@ -274,30 +274,352 @@ Priority | As a ... | I want to ... | So that I can... ## Appendix B : Use Cases -(For all use cases below, the **System** is the `AddressBook` and the **Actor** is the `user`, unless specified otherwise) +(For all use cases below, the **System** is the `Schema` and the **Actor** is the `User`, unless specified otherwise) + +| # | Use Case | Descriptions | +|---|---|---| +| [UC1](#uc1-display-help) | Display Help | Display help when requested, or when user enter an invalid command. | +| [UC2](#uc2-adddo-a-task) | Add/Do a Task | Adding a task. A task can be concrete (have defined date/time) or floating (without date/time). | +| [UC3](#uc3-lists-tasks) | Lists Tasks | Display lists of tasks added into the System. | +| [UC4](#uc4-find-tasks) | Find Tasks | Search for task by specifying parameters with keywords. | +| [UC5](#uc5-edit-a-task) | Edit a Task | Edit the details of a single task. The command only update fields specified by the User. Unspecified field remains untouched. | +| [UC6](#uc6-delete-a-task) | Delete a task | Remove a task entry by index. | +| [UC7](#uc7-undo-action) | Undo Action | Undo last action performed. | +| [UC8](#uc8-redo-action) | Redo Action | Redo an action performed in UC7. | +| [UC9](#uc9-mark-task-as-done) | Mark Task as done | Mark a task as done by index. A marked task should be automatically archived and exclude from display and search. | +| [UC10](#uc10-clear-a-category) | Clear a category | System performs bulk delete on the cateogry specified (Deadlines, events, tasks). | +| [UC11](#uc11-clear-all-category) | Clear all category | System performs bulk delete on every category (Deadlines, events, tasks). | +| [UC12](#uc12-relocate-storage-location) | Relocate storage location | Change the current storage to other directory specifed by the user. | +| [UC13](#uc13-exit-application) | Exit application | Quit the application | + +--- + +### UC1: Display help + +Display help when requested, or when user enter an invalid command. + +##### Main Success Scenario: + +1. User requests to display help. + +2. System display the help manual. + +3. Use case ends. + +##### Extensions + +1a. User entered an invalid command + +* 1a1. Use case resume at 2. + +--- + +### UC2: Add/Do a Task + +Adding a task. A task can be concrete (have defined date/time) or floating (without date/time). + +##### Main Success Scenario: + +1. User requests to add a task. + +2. System accepts the command & parameters and create task. + +3. System displays successful message to User. + +4. Use case ends. + +##### Extensions + +1a. User entered an invalid command + +* 1a1. System display unsuccessful message. + +* 1a2. Use case ends. + +1b. User enters task with date/time. + +* 1b1. System accepts the command as concrete task. + +* 1b2. Use case resume at 2. + +1c. User enteres task without date/time. + +* 1c1. System accepts the command as floating task. + +* 1c2. Use case resume at 2. + +--- + +### UC3: Lists Tasks + +Display lists of tasks added into the System. + +##### Main Success Scenario: + +1. User requests to lists tasks. + +2. System display list of tasks. + +3. Use case ends. + +##### Extensions + +2a. System cannot find any task. + +* 2a1. System display message, "No task found.". + +--- + +### UC4: Find Tasks + +Search for task by specifying parameters with keywords. + +Note: The combination are filtered using **OR** operation. For example, the following command + +```bash +find name/grocery tag/milk,egg +``` + +should return all tasks matches "grocery" in name OR having tag with "milk" or "egg" + +##### Main Success Scenario: + +1. User request to search for a tasks. + +2. System Search for a task that matches the parameters. + +3. System displays the matching results to the User. + +4. Use case ends. + +##### Extensions + +2a. System cannot find any task. + +* 2a1. System display message, "No matching task found.". + +--- + +### UC5: Edit a Task + +Edit the details of a single task. The command only update fields specified by the User. Unspecified field remains untouched. + +##### Main Success Scenario + +1. User request to edit a task by index. + +2. System find and update the task. + +3. System display successful message. + +4. Use case ends. + +##### Extensions + +2a. Invalid index. + +* 2a1. System cannot find the task associated with the index. + +* 2a2. System display unsuccessful message. + +* 2a3. Use case ends. + +--- + +### UC6: Delete a task + +Remove a task entry by index. + +##### Main Success Scenario + +1. User request to delete a task by index. + +2. System find and remove the task. + +3. System display successful message. + +4. Use case ends. + +##### Extensions + +2a. Invalid index. + +* 2a1. System cannot find the task associated with the index. + +* 2a2. System display unsuccessful message. -#### Use case: Delete person +* 2a3. Use case ends. -**MSS** +--- -1. User requests to list persons -2. AddressBook shows a list of persons -3. User requests to delete a specific person in the list -4. AddressBook deletes the person
-Use case ends. +### UC7: Undo Action -**Extensions** +Undo last action performed. -2a. The list is empty +##### Main Success Scenario -> Use case ends +1. User requests to undo last action performed. -3a. The given index is invalid +2. System pop from Undo stack and performs undo on the last action performed. -> 3a1. AddressBook shows an error message
- Use case resumes at step 2 +3. System put the action into Redo stack. + +3. System display successful message and details of the undo operation. + +4. Use case ends. + +##### Extensions + +2a. System cannot find any previous action in Undo stack. + +* 2a1. System display unsuccessful message. + +* 2a2. Use case ends. + +--- + +### UC8: Redo Action + +Redo an action performed in UC7. + +##### Main Success Scenario + +1. User requests to redo an action performed in UC7. + +2. System pop from Redo stack and performs redo on the last action performed in UC7. + +3. System display successful message and details of the redo operation. + +4. Use case ends. + +##### Extensions + +2a. System cannot find any previous action in Redo stack. + +* 2a1. System display unsuccessful message. + +* 2a2. Use case ends. + +--- + +### UC9: Mark Task as done + +Mark a task as done by index. A marked task should be automatically archived and exclude from display and search. + +##### Main Success Scenario + +1. User requests to mark a task as done by index. + +2. System finds and mark the task as done. + +3. System archives the task. + +4. Use case ends. + +##### Extensions + +2a. Invalid Index. + +* 2a1. System cannot find the task associated with the index. + +* 2a2. System display unsuccessful message. + +* 2a3. Use case ends. + +--- + +### UC10: Clear a category + +System performs bulk delete on the cateogry specified (Deadlines, events, tasks). + +##### Main Success Scenario + +1. User requests to clear a category. + +2. System proceed to perform bulk action descibed in UC6 for the specified category. + +3. Use case ends. + +##### Extensions + +2a. Invalid category + +* 2a1. System cannot find the specified category. + +* 2a2. System display unsuccessful message. + +* 2a3. Use case ends. + +--- + +### UC11: Clear all category + +System performs bulk delete on every category (Deadlines, events, tasks). + +##### Main Success Scenario + +1. User requests to clear all category. + +2. System proceed to perform bulk action describe in UC6. + +3. Use case ends. + +##### Extensions +N.I.L. + +--- + +### UC12: Relocate storage location + +Change the current storage to other directory specifed by the user. + +##### Main Success Scenario + +1. User requests to relocate the storage directory. + +2. System change the storage directory according to user input. + +3. System copy current storage to the new location. + +4. System update all future command to reference the new location. + +5. System displays successful message. + +6. Use case ends. + +##### Extensions + +2a. Invalid storage location. + +* 2a1. System display unsuccessful message. + +* 2a2. Use case ends. + +2b. Storage location is not accessible/writable. + +* 2a1. System display unsuccessful message. + +* 2a2. Use case ends. + +--- + +### UC13: Exit application + +Quit the application. + +##### Main Success Scenario + +1. User requests to exit application. + +2. System perform synchronization and save it to the storage. + +3. System exit application. + +4. Use case ends. + +##### Extensions +N.I.L -{More to be added} ## Appendix C : Non Functional Requirements @@ -338,14 +660,14 @@ Use case ends. >2. Chrome extension for offline connectivity >3. Multiple viewing options (Calendar/To do list view) >4. Has a Command Line Interface (CLI) - + > Cons: >1. Unable to support floating task >2. Unable to mark tasks as done >3. Unable to block out and free up timings >4. CLI commands only for addition of tasks >5. Bad interface - + ##### Wunderlist > Pros: @@ -363,7 +685,7 @@ Use case ends. >3. Unable to block out time slots >4. Unable to set start date for tasks >5. Only has a list view - + ##### Todoist > Pros: @@ -374,7 +696,7 @@ Use case ends. >5. Able to sort tasks by priority level >6. Able to integrate from e-mail >7. Able to backup auotmatically - + > Cons: >1. Unable to block out timings >2. Unable to export out To-do list @@ -398,28 +720,27 @@ Use case ends. > Cons: >1. Unable to support floating tasks >2. No CLI - + ##### Evernote > Pros: >1. Able to quick search >2. Able to support handwriting, embedded images/audio and links >3. Able to work with camera - + > Cons: >1. No CLI >2. No Calendar view - + ##### Trello > Pros: >1. Able to mark tasks as "in-progress" >2. Able to view as calendar - + > Cons: >1. Unable to import or export >2. Relies on UI interaction >3. No CLI >4. Need to pay for premium use to access 3rd party features >5. No desktop version - \ No newline at end of file From c3a648a6a82d40c6e63fc38665e12e019615bd0c Mon Sep 17 00:00:00 2001 From: Dylan Chew Date: Thu, 6 Oct 2016 18:42:31 +0800 Subject: [PATCH 024/457] rename packages --- .../{seedu/address => harmony}/MainApp.java | 29 ++++++++-------- .../commons/core/ComponentManager.java | 4 +-- .../commons/core/Config.java | 2 +- .../commons/core/EventsCenter.java | 5 +-- .../commons/core/GuiSettings.java | 2 +- .../commons/core/LogsCenter.java | 6 ++-- .../commons/core/Messages.java | 2 +- .../core/UnmodifiableObservableList.java | 2 +- .../commons/core/Version.java | 2 +- .../commons/events/BaseEvent.java | 2 +- .../events/model/AddressBookChangedEvent.java | 6 ++-- .../storage/DataSavingExceptionEvent.java | 4 +-- .../events/ui/ExitAppRequestEvent.java | 4 +-- .../ui/IncorrectCommandAttemptedEvent.java | 6 ++-- .../events/ui/JumpToListRequestEvent.java | 4 +-- .../ui/PersonPanelSelectionChangedEvent.java | 6 ++-- .../events/ui/ShowHelpRequestEvent.java | 4 +-- .../exceptions/DataConversionException.java | 2 +- .../exceptions/DuplicateDataException.java | 2 +- .../exceptions/IllegalValueException.java | 2 +- .../commons/util/AppUtil.java | 4 +-- .../commons/util/CollectionUtil.java | 2 +- .../commons/util/ConfigUtil.java | 10 +++--- .../commons/util/FileUtil.java | 2 +- .../commons/util/FxViewUtil.java | 2 +- .../commons/util/JsonUtil.java | 2 +- .../commons/util/StringUtil.java | 2 +- .../commons/util/UrlUtil.java | 2 +- .../commons/util/XmlUtil.java | 2 +- .../address => harmony}/logic/Logic.java | 6 ++-- .../logic/LogicManager.java | 19 ++++++----- .../logic/commands/AddCommand.java | 14 ++++---- .../logic/commands/ClearCommand.java | 4 +-- .../logic/commands/Command.java | 10 +++--- .../logic/commands/CommandResult.java | 2 +- .../logic/commands/DeleteCommand.java | 10 +++--- .../logic/commands/EditCommand.java | 28 +++++++-------- .../logic/commands/ExitCommand.java | 6 ++-- .../logic/commands/FindCommand.java | 2 +- .../logic/commands/FindTagCommand.java | 6 ++-- .../logic/commands/HelpCommand.java | 6 ++-- .../logic/commands/IncorrectCommand.java | 2 +- .../logic/commands/ListCommand.java | 2 +- .../logic/commands/PreviousCommand.java | 2 +- .../logic/commands/SelectCommand.java | 12 +++---- .../logic/commands/UndoCommand.java | 5 +-- .../logic/commands/Undoable.java | 2 +- .../logic/parser/Parser.java | 14 ++++---- .../model/AddressBook.java | 13 +++---- .../address => harmony}/model/Model.java | 16 ++++----- .../model/ModelManager.java | 25 +++++++------- .../model/ReadOnlyAddressBook.java | 12 +++---- .../address => harmony}/model/UserPrefs.java | 6 ++-- .../model/person/Address.java | 4 +-- .../model/person/Email.java | 4 +-- .../model/person/Name.java | 4 +-- .../model/person/Person.java | 8 ++--- .../model/person/Phone.java | 4 +-- .../model/person/ReadOnlyPerson.java | 4 +-- .../model/person/UniquePersonList.java | 7 ++-- .../address => harmony}/model/tag/Tag.java | 4 +-- .../model/tag/UniqueTagList.java | 7 ++-- .../storage/AddressBookStorage.java | 10 +++--- .../storage/JsonUserPrefStorage.java | 12 +++---- .../address => harmony}/storage/Storage.java | 14 ++++---- .../storage/StorageManager.java | 17 +++++----- .../storage/UserPrefsStorage.java | 12 +++---- .../storage/XmlAdaptedPerson.java | 13 +++---- .../storage/XmlAdaptedTag.java | 10 +++--- .../storage/XmlAddressBookStorage.java | 12 +++---- .../storage/XmlFileStorage.java | 9 ++--- .../storage/XmlSerializableAddressBook.java | 17 +++++----- .../java/seedu/address/ui/BrowserPanel.java | 7 ++-- .../java/seedu/address/ui/CommandBox.java | 11 +++--- .../java/seedu/address/ui/HelpWindow.java | 5 +-- .../java/seedu/address/ui/MainWindow.java | 12 +++---- .../java/seedu/address/ui/PersonCard.java | 2 +- .../seedu/address/ui/PersonListPanel.java | 7 ++-- .../java/seedu/address/ui/ResultDisplay.java | 2 +- .../seedu/address/ui/StatusBarFooter.java | 7 ++-- src/main/java/seedu/address/ui/UiManager.java | 23 +++++++------ src/main/java/seedu/address/ui/UiPart.java | 6 ++-- .../java/seedu/address/ui/UiPartLoader.java | 2 +- src/test/java/guitests/AddCommandTest.java | 9 ++--- .../java/guitests/AddressBookGuiTest.java | 12 +++---- src/test/java/guitests/DeleteCommandTest.java | 7 ++-- src/test/java/guitests/FindCommandTest.java | 5 +-- src/test/java/guitests/GuiRobot.java | 3 +- src/test/java/guitests/SelectCommandTest.java | 3 +- .../java/guitests/guihandles/GuiHandle.java | 4 +-- .../guitests/guihandles/MainGuiHandle.java | 2 +- .../guitests/guihandles/MainMenuHandle.java | 2 +- .../guitests/guihandles/PersonCardHandle.java | 2 +- .../guihandles/PersonListPanelHandle.java | 8 ++--- .../guihandles/ResultDisplayHandle.java | 2 +- .../{seedu/address => harmony}/TestApp.java | 16 +++++---- .../commons/core/VersionTest.java | 4 ++- .../commons/util/ConfigUtilTest.java | 9 +++-- .../commons/util/FileUtilTest.java | 8 +++-- .../commons/util/JsonUtilTest.java | 2 +- .../commons/util/StringUtilTest.java | 4 ++- .../commons/util/UrlUtilTest.java | 4 ++- .../commons/util/XmlUtilTest.java | 13 ++++--- .../logic/LogicManagerTest.java | 34 +++++++++++-------- .../model/UnmodifiableObservableListTest.java | 7 ++-- .../storage/JsonUserPrefStorageTest.java | 10 +++--- .../storage/StorageManagerTest.java | 12 ++++--- .../storage/XmlAddressBookStorageTest.java | 16 +++++---- .../testutil/AddressBookBuilder.java | 12 +++---- .../testutil/PersonBuilder.java | 8 ++--- .../testutil/SerializableTestClass.java | 2 +- .../testutil/TestPerson.java | 6 ++-- .../testutil/TestUtil.java | 20 +++++------ .../testutil/TypicalTestPersons.java | 8 ++--- 114 files changed, 454 insertions(+), 404 deletions(-) rename src/main/java/{seedu/address => harmony}/MainApp.java (90%) rename src/main/java/{seedu/address => harmony}/commons/core/ComponentManager.java (87%) rename src/main/java/{seedu/address => harmony}/commons/core/Config.java (98%) rename src/main/java/{seedu/address => harmony}/commons/core/EventsCenter.java (92%) rename src/main/java/{seedu/address => harmony}/commons/core/GuiSettings.java (98%) rename src/main/java/{seedu/address => harmony}/commons/core/LogsCenter.java (97%) rename src/main/java/{seedu/address => harmony}/commons/core/Messages.java (94%) rename src/main/java/{seedu/address => harmony}/commons/core/UnmodifiableObservableList.java (99%) rename src/main/java/{seedu/address => harmony}/commons/core/Version.java (98%) rename src/main/java/{seedu/address => harmony}/commons/events/BaseEvent.java (90%) rename src/main/java/{seedu/address => harmony}/commons/events/model/AddressBookChangedEvent.java (75%) rename src/main/java/{seedu/address => harmony}/commons/events/storage/DataSavingExceptionEvent.java (78%) rename src/main/java/{seedu/address => harmony}/commons/events/ui/ExitAppRequestEvent.java (70%) rename src/main/java/{seedu/address => harmony}/commons/events/ui/IncorrectCommandAttemptedEvent.java (68%) rename src/main/java/{seedu/address => harmony}/commons/events/ui/JumpToListRequestEvent.java (80%) rename src/main/java/{seedu/address => harmony}/commons/events/ui/PersonPanelSelectionChangedEvent.java (78%) rename src/main/java/{seedu/address => harmony}/commons/events/ui/ShowHelpRequestEvent.java (70%) rename src/main/java/{seedu/address => harmony}/commons/exceptions/DataConversionException.java (84%) rename src/main/java/{seedu/address => harmony}/commons/exceptions/DuplicateDataException.java (85%) rename src/main/java/{seedu/address => harmony}/commons/exceptions/IllegalValueException.java (88%) rename src/main/java/{seedu/address => harmony}/commons/util/AppUtil.java (79%) rename src/main/java/{seedu/address => harmony}/commons/util/CollectionUtil.java (96%) rename src/main/java/{seedu/address => harmony}/commons/util/ConfigUtil.java (90%) rename src/main/java/{seedu/address => harmony}/commons/util/FileUtil.java (98%) rename src/main/java/{seedu/address => harmony}/commons/util/FxViewUtil.java (92%) rename src/main/java/{seedu/address => harmony}/commons/util/JsonUtil.java (98%) rename src/main/java/{seedu/address => harmony}/commons/util/StringUtil.java (96%) rename src/main/java/{seedu/address => harmony}/commons/util/UrlUtil.java (94%) rename src/main/java/{seedu/address => harmony}/commons/util/XmlUtil.java (98%) rename src/main/java/{seedu/address => harmony}/logic/Logic.java (77%) rename src/main/java/{seedu/address => harmony}/logic/LogicManager.java (69%) rename src/main/java/{seedu/address => harmony}/logic/commands/AddCommand.java (89%) rename src/main/java/{seedu/address => harmony}/logic/commands/ClearCommand.java (85%) rename src/main/java/{seedu/address => harmony}/logic/commands/Command.java (84%) rename src/main/java/{seedu/address => harmony}/logic/commands/CommandResult.java (87%) rename src/main/java/{seedu/address => harmony}/logic/commands/DeleteCommand.java (83%) rename src/main/java/{seedu/address => harmony}/logic/commands/EditCommand.java (77%) rename src/main/java/{seedu/address => harmony}/logic/commands/ExitCommand.java (75%) rename src/main/java/{seedu/address => harmony}/logic/commands/FindCommand.java (96%) rename src/main/java/{seedu/address => harmony}/logic/commands/FindTagCommand.java (88%) rename src/main/java/{seedu/address => harmony}/logic/commands/HelpCommand.java (80%) rename src/main/java/{seedu/address => harmony}/logic/commands/IncorrectCommand.java (92%) rename src/main/java/{seedu/address => harmony}/logic/commands/ListCommand.java (91%) rename src/main/java/{seedu/address => harmony}/logic/commands/PreviousCommand.java (93%) rename src/main/java/{seedu/address => harmony}/logic/commands/SelectCommand.java (80%) rename src/main/java/{seedu/address => harmony}/logic/commands/UndoCommand.java (95%) rename src/main/java/{seedu/address => harmony}/logic/commands/Undoable.java (92%) rename src/main/java/{seedu/address => harmony}/logic/parser/Parser.java (95%) rename src/main/java/{seedu/address => harmony}/model/AddressBook.java (94%) rename src/main/java/{seedu/address => harmony}/model/Model.java (79%) rename src/main/java/{seedu/address => harmony}/model/ModelManager.java (89%) rename src/main/java/{seedu/address => harmony}/model/ReadOnlyAddressBook.java (65%) rename src/main/java/{seedu/address => harmony}/model/UserPrefs.java (93%) rename src/main/java/{seedu/address => harmony}/model/person/Address.java (93%) rename src/main/java/{seedu/address => harmony}/model/person/Email.java (93%) rename src/main/java/{seedu/address => harmony}/model/person/Name.java (93%) rename src/main/java/{seedu/address => harmony}/model/person/Person.java (94%) rename src/main/java/{seedu/address => harmony}/model/person/Phone.java (93%) rename src/main/java/{seedu/address => harmony}/model/person/ReadOnlyPerson.java (96%) rename src/main/java/{seedu/address => harmony}/model/person/UniquePersonList.java (95%) rename src/main/java/{seedu/address => harmony}/model/tag/Tag.java (93%) rename src/main/java/{seedu/address => harmony}/model/tag/UniqueTagList.java (96%) rename src/main/java/{seedu/address => harmony}/storage/AddressBookStorage.java (81%) rename src/main/java/{seedu/address => harmony}/storage/JsonUserPrefStorage.java (90%) rename src/main/java/{seedu/address => harmony}/storage/Storage.java (74%) rename src/main/java/{seedu/address => harmony}/storage/StorageManager.java (84%) rename src/main/java/{seedu/address => harmony}/storage/UserPrefsStorage.java (71%) rename src/main/java/{seedu/address => harmony}/storage/XmlAdaptedPerson.java (89%) rename src/main/java/{seedu/address => harmony}/storage/XmlAdaptedTag.java (81%) rename src/main/java/{seedu/address => harmony}/storage/XmlAddressBookStorage.java (90%) rename src/main/java/{seedu/address => harmony}/storage/XmlFileStorage.java (88%) rename src/main/java/{seedu/address => harmony}/storage/XmlSerializableAddressBook.java (85%) rename src/test/java/{seedu/address => harmony}/TestApp.java (88%) rename src/test/java/{seedu/address => harmony}/commons/core/VersionTest.java (98%) rename src/test/java/{seedu/address => harmony}/commons/util/ConfigUtilTest.java (95%) rename src/test/java/{seedu/address => harmony}/commons/util/FileUtilTest.java (92%) rename src/test/java/{seedu/address => harmony}/commons/util/JsonUtilTest.java (85%) rename src/test/java/{seedu/address => harmony}/commons/util/StringUtilTest.java (94%) rename src/test/java/{seedu/address => harmony}/commons/util/UrlUtilTest.java (95%) rename src/test/java/{seedu/address => harmony}/commons/util/XmlUtilTest.java (93%) rename src/test/java/{seedu/address => harmony}/logic/LogicManagerTest.java (96%) rename src/test/java/{seedu/address => harmony}/model/UnmodifiableObservableListTest.java (93%) rename src/test/java/{seedu/address => harmony}/storage/JsonUserPrefStorageTest.java (95%) rename src/test/java/{seedu/address => harmony}/storage/StorageManagerTest.java (88%) rename src/test/java/{seedu/address => harmony}/storage/XmlAddressBookStorageTest.java (91%) rename src/test/java/{seedu/address => harmony}/testutil/AddressBookBuilder.java (74%) rename src/test/java/{seedu/address => harmony}/testutil/PersonBuilder.java (86%) rename src/test/java/{seedu/address => harmony}/testutil/SerializableTestClass.java (98%) rename src/test/java/{seedu/address => harmony}/testutil/TestPerson.java (92%) rename src/test/java/{seedu/address => harmony}/testutil/TestUtil.java (96%) rename src/test/java/{seedu/address => harmony}/testutil/TypicalTestPersons.java (94%) diff --git a/src/main/java/seedu/address/MainApp.java b/src/main/java/harmony/MainApp.java similarity index 90% rename from src/main/java/seedu/address/MainApp.java rename to src/main/java/harmony/MainApp.java index 4b48efe60824..aa1c33f1d2a6 100644 --- a/src/main/java/seedu/address/MainApp.java +++ b/src/main/java/harmony/MainApp.java @@ -1,22 +1,23 @@ -package seedu.address; +package harmony; import com.google.common.eventbus.Subscribe; + +import harmony.commons.core.Config; +import harmony.commons.core.EventsCenter; +import harmony.commons.core.LogsCenter; +import harmony.commons.core.Version; +import harmony.commons.events.ui.ExitAppRequestEvent; +import harmony.commons.exceptions.DataConversionException; +import harmony.commons.util.ConfigUtil; +import harmony.commons.util.StringUtil; +import harmony.logic.Logic; +import harmony.logic.LogicManager; +import harmony.model.*; +import harmony.storage.Storage; +import harmony.storage.StorageManager; import javafx.application.Application; import javafx.application.Platform; import javafx.stage.Stage; -import seedu.address.commons.core.Config; -import seedu.address.commons.core.EventsCenter; -import seedu.address.commons.core.LogsCenter; -import seedu.address.commons.core.Version; -import seedu.address.commons.events.ui.ExitAppRequestEvent; -import seedu.address.commons.exceptions.DataConversionException; -import seedu.address.commons.util.StringUtil; -import seedu.address.logic.Logic; -import seedu.address.logic.LogicManager; -import seedu.address.model.*; -import seedu.address.commons.util.ConfigUtil; -import seedu.address.storage.Storage; -import seedu.address.storage.StorageManager; import seedu.address.ui.Ui; import seedu.address.ui.UiManager; diff --git a/src/main/java/seedu/address/commons/core/ComponentManager.java b/src/main/java/harmony/commons/core/ComponentManager.java similarity index 87% rename from src/main/java/seedu/address/commons/core/ComponentManager.java rename to src/main/java/harmony/commons/core/ComponentManager.java index 4bc8564e5824..7564c980011a 100644 --- a/src/main/java/seedu/address/commons/core/ComponentManager.java +++ b/src/main/java/harmony/commons/core/ComponentManager.java @@ -1,6 +1,6 @@ -package seedu.address.commons.core; +package harmony.commons.core; -import seedu.address.commons.events.BaseEvent; +import harmony.commons.events.BaseEvent; /** * Base class for *Manager classes diff --git a/src/main/java/seedu/address/commons/core/Config.java b/src/main/java/harmony/commons/core/Config.java similarity index 98% rename from src/main/java/seedu/address/commons/core/Config.java rename to src/main/java/harmony/commons/core/Config.java index 6441c9ef20f4..87e95141da97 100644 --- a/src/main/java/seedu/address/commons/core/Config.java +++ b/src/main/java/harmony/commons/core/Config.java @@ -1,4 +1,4 @@ -package seedu.address.commons.core; +package harmony.commons.core; import java.util.Objects; import java.util.logging.Level; diff --git a/src/main/java/seedu/address/commons/core/EventsCenter.java b/src/main/java/harmony/commons/core/EventsCenter.java similarity index 92% rename from src/main/java/seedu/address/commons/core/EventsCenter.java rename to src/main/java/harmony/commons/core/EventsCenter.java index 9652cd5c227b..510e2fbb8abe 100644 --- a/src/main/java/seedu/address/commons/core/EventsCenter.java +++ b/src/main/java/harmony/commons/core/EventsCenter.java @@ -1,7 +1,8 @@ -package seedu.address.commons.core; +package harmony.commons.core; import com.google.common.eventbus.EventBus; -import seedu.address.commons.events.BaseEvent; + +import harmony.commons.events.BaseEvent; import java.util.logging.Logger; diff --git a/src/main/java/seedu/address/commons/core/GuiSettings.java b/src/main/java/harmony/commons/core/GuiSettings.java similarity index 98% rename from src/main/java/seedu/address/commons/core/GuiSettings.java rename to src/main/java/harmony/commons/core/GuiSettings.java index e157ac8b8679..d336d5c12c30 100644 --- a/src/main/java/seedu/address/commons/core/GuiSettings.java +++ b/src/main/java/harmony/commons/core/GuiSettings.java @@ -1,4 +1,4 @@ -package seedu.address.commons.core; +package harmony.commons.core; import java.awt.*; import java.io.Serializable; diff --git a/src/main/java/seedu/address/commons/core/LogsCenter.java b/src/main/java/harmony/commons/core/LogsCenter.java similarity index 97% rename from src/main/java/seedu/address/commons/core/LogsCenter.java rename to src/main/java/harmony/commons/core/LogsCenter.java index 17939bab4975..23547e6e5cc2 100644 --- a/src/main/java/seedu/address/commons/core/LogsCenter.java +++ b/src/main/java/harmony/commons/core/LogsCenter.java @@ -1,10 +1,10 @@ -package seedu.address.commons.core; - -import seedu.address.commons.events.BaseEvent; +package harmony.commons.core; import java.io.IOException; import java.util.logging.*; +import harmony.commons.events.BaseEvent; + /** * Configures and manages loggers and handlers, including their logging level * Named {@link Logger}s can be obtained from this class
diff --git a/src/main/java/seedu/address/commons/core/Messages.java b/src/main/java/harmony/commons/core/Messages.java similarity index 94% rename from src/main/java/seedu/address/commons/core/Messages.java rename to src/main/java/harmony/commons/core/Messages.java index d3e0407f1816..1710aff9b5a9 100644 --- a/src/main/java/seedu/address/commons/core/Messages.java +++ b/src/main/java/harmony/commons/core/Messages.java @@ -1,4 +1,4 @@ -package seedu.address.commons.core; +package harmony.commons.core; /** * Container for user visible messages. diff --git a/src/main/java/seedu/address/commons/core/UnmodifiableObservableList.java b/src/main/java/harmony/commons/core/UnmodifiableObservableList.java similarity index 99% rename from src/main/java/seedu/address/commons/core/UnmodifiableObservableList.java rename to src/main/java/harmony/commons/core/UnmodifiableObservableList.java index 5c25d8647a8d..fb3474c1689c 100644 --- a/src/main/java/seedu/address/commons/core/UnmodifiableObservableList.java +++ b/src/main/java/harmony/commons/core/UnmodifiableObservableList.java @@ -1,4 +1,4 @@ -package seedu.address.commons.core; +package harmony.commons.core; import javafx.beans.InvalidationListener; import javafx.collections.ListChangeListener; diff --git a/src/main/java/seedu/address/commons/core/Version.java b/src/main/java/harmony/commons/core/Version.java similarity index 98% rename from src/main/java/seedu/address/commons/core/Version.java rename to src/main/java/harmony/commons/core/Version.java index 7ecb85b18f82..9217a54d63bf 100644 --- a/src/main/java/seedu/address/commons/core/Version.java +++ b/src/main/java/harmony/commons/core/Version.java @@ -1,4 +1,4 @@ -package seedu.address.commons.core; +package harmony.commons.core; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; diff --git a/src/main/java/seedu/address/commons/events/BaseEvent.java b/src/main/java/harmony/commons/events/BaseEvent.java similarity index 90% rename from src/main/java/seedu/address/commons/events/BaseEvent.java rename to src/main/java/harmony/commons/events/BaseEvent.java index 723a9c69fbd5..de73a0a17fed 100644 --- a/src/main/java/seedu/address/commons/events/BaseEvent.java +++ b/src/main/java/harmony/commons/events/BaseEvent.java @@ -1,4 +1,4 @@ -package seedu.address.commons.events; +package harmony.commons.events; public abstract class BaseEvent { diff --git a/src/main/java/seedu/address/commons/events/model/AddressBookChangedEvent.java b/src/main/java/harmony/commons/events/model/AddressBookChangedEvent.java similarity index 75% rename from src/main/java/seedu/address/commons/events/model/AddressBookChangedEvent.java rename to src/main/java/harmony/commons/events/model/AddressBookChangedEvent.java index 347a8359e0d5..6c981348443e 100644 --- a/src/main/java/seedu/address/commons/events/model/AddressBookChangedEvent.java +++ b/src/main/java/harmony/commons/events/model/AddressBookChangedEvent.java @@ -1,7 +1,7 @@ -package seedu.address.commons.events.model; +package harmony.commons.events.model; -import seedu.address.commons.events.BaseEvent; -import seedu.address.model.ReadOnlyAddressBook; +import harmony.commons.events.BaseEvent; +import harmony.model.ReadOnlyAddressBook; /** Indicates the AddressBook in the model has changed*/ public class AddressBookChangedEvent extends BaseEvent { diff --git a/src/main/java/seedu/address/commons/events/storage/DataSavingExceptionEvent.java b/src/main/java/harmony/commons/events/storage/DataSavingExceptionEvent.java similarity index 78% rename from src/main/java/seedu/address/commons/events/storage/DataSavingExceptionEvent.java rename to src/main/java/harmony/commons/events/storage/DataSavingExceptionEvent.java index f0a0640ee523..6a8364eee76c 100644 --- a/src/main/java/seedu/address/commons/events/storage/DataSavingExceptionEvent.java +++ b/src/main/java/harmony/commons/events/storage/DataSavingExceptionEvent.java @@ -1,6 +1,6 @@ -package seedu.address.commons.events.storage; +package harmony.commons.events.storage; -import seedu.address.commons.events.BaseEvent; +import harmony.commons.events.BaseEvent; /** * Indicates an exception during a file saving diff --git a/src/main/java/seedu/address/commons/events/ui/ExitAppRequestEvent.java b/src/main/java/harmony/commons/events/ui/ExitAppRequestEvent.java similarity index 70% rename from src/main/java/seedu/address/commons/events/ui/ExitAppRequestEvent.java rename to src/main/java/harmony/commons/events/ui/ExitAppRequestEvent.java index 9af6194543a3..c91c2f900326 100644 --- a/src/main/java/seedu/address/commons/events/ui/ExitAppRequestEvent.java +++ b/src/main/java/harmony/commons/events/ui/ExitAppRequestEvent.java @@ -1,6 +1,6 @@ -package seedu.address.commons.events.ui; +package harmony.commons.events.ui; -import seedu.address.commons.events.BaseEvent; +import harmony.commons.events.BaseEvent; /** * Indicates a request for App termination diff --git a/src/main/java/seedu/address/commons/events/ui/IncorrectCommandAttemptedEvent.java b/src/main/java/harmony/commons/events/ui/IncorrectCommandAttemptedEvent.java similarity index 68% rename from src/main/java/seedu/address/commons/events/ui/IncorrectCommandAttemptedEvent.java rename to src/main/java/harmony/commons/events/ui/IncorrectCommandAttemptedEvent.java index 991f7ae9fa25..08e027109cb6 100644 --- a/src/main/java/seedu/address/commons/events/ui/IncorrectCommandAttemptedEvent.java +++ b/src/main/java/harmony/commons/events/ui/IncorrectCommandAttemptedEvent.java @@ -1,7 +1,7 @@ -package seedu.address.commons.events.ui; +package harmony.commons.events.ui; -import seedu.address.commons.events.BaseEvent; -import seedu.address.logic.commands.Command; +import harmony.commons.events.BaseEvent; +import harmony.logic.commands.Command; /** * Indicates an attempt to execute an incorrect command diff --git a/src/main/java/seedu/address/commons/events/ui/JumpToListRequestEvent.java b/src/main/java/harmony/commons/events/ui/JumpToListRequestEvent.java similarity index 80% rename from src/main/java/seedu/address/commons/events/ui/JumpToListRequestEvent.java rename to src/main/java/harmony/commons/events/ui/JumpToListRequestEvent.java index 0580d27aecf5..9bfc514ddf72 100644 --- a/src/main/java/seedu/address/commons/events/ui/JumpToListRequestEvent.java +++ b/src/main/java/harmony/commons/events/ui/JumpToListRequestEvent.java @@ -1,6 +1,6 @@ -package seedu.address.commons.events.ui; +package harmony.commons.events.ui; -import seedu.address.commons.events.BaseEvent; +import harmony.commons.events.BaseEvent; /** * Indicates a request to jump to the list of persons diff --git a/src/main/java/seedu/address/commons/events/ui/PersonPanelSelectionChangedEvent.java b/src/main/java/harmony/commons/events/ui/PersonPanelSelectionChangedEvent.java similarity index 78% rename from src/main/java/seedu/address/commons/events/ui/PersonPanelSelectionChangedEvent.java rename to src/main/java/harmony/commons/events/ui/PersonPanelSelectionChangedEvent.java index 95377b326fa6..5aba8fb60f42 100644 --- a/src/main/java/seedu/address/commons/events/ui/PersonPanelSelectionChangedEvent.java +++ b/src/main/java/harmony/commons/events/ui/PersonPanelSelectionChangedEvent.java @@ -1,7 +1,7 @@ -package seedu.address.commons.events.ui; +package harmony.commons.events.ui; -import seedu.address.commons.events.BaseEvent; -import seedu.address.model.person.ReadOnlyPerson; +import harmony.commons.events.BaseEvent; +import harmony.model.person.ReadOnlyPerson; /** * Represents a selection change in the Person List Panel diff --git a/src/main/java/seedu/address/commons/events/ui/ShowHelpRequestEvent.java b/src/main/java/harmony/commons/events/ui/ShowHelpRequestEvent.java similarity index 70% rename from src/main/java/seedu/address/commons/events/ui/ShowHelpRequestEvent.java rename to src/main/java/harmony/commons/events/ui/ShowHelpRequestEvent.java index a7e40940b2c7..16c1182bee3b 100644 --- a/src/main/java/seedu/address/commons/events/ui/ShowHelpRequestEvent.java +++ b/src/main/java/harmony/commons/events/ui/ShowHelpRequestEvent.java @@ -1,6 +1,6 @@ -package seedu.address.commons.events.ui; +package harmony.commons.events.ui; -import seedu.address.commons.events.BaseEvent; +import harmony.commons.events.BaseEvent; /** * An event requesting to view the help page. diff --git a/src/main/java/seedu/address/commons/exceptions/DataConversionException.java b/src/main/java/harmony/commons/exceptions/DataConversionException.java similarity index 84% rename from src/main/java/seedu/address/commons/exceptions/DataConversionException.java rename to src/main/java/harmony/commons/exceptions/DataConversionException.java index 1f689bd8e3f9..f10550b4cd2b 100644 --- a/src/main/java/seedu/address/commons/exceptions/DataConversionException.java +++ b/src/main/java/harmony/commons/exceptions/DataConversionException.java @@ -1,4 +1,4 @@ -package seedu.address.commons.exceptions; +package harmony.commons.exceptions; /** * Represents an error during conversion of data from one format to another diff --git a/src/main/java/seedu/address/commons/exceptions/DuplicateDataException.java b/src/main/java/harmony/commons/exceptions/DuplicateDataException.java similarity index 85% rename from src/main/java/seedu/address/commons/exceptions/DuplicateDataException.java rename to src/main/java/harmony/commons/exceptions/DuplicateDataException.java index 17aa63d5020c..2722fbb0381d 100644 --- a/src/main/java/seedu/address/commons/exceptions/DuplicateDataException.java +++ b/src/main/java/harmony/commons/exceptions/DuplicateDataException.java @@ -1,4 +1,4 @@ -package seedu.address.commons.exceptions; +package harmony.commons.exceptions; /** * Signals an error caused by duplicate data where there should be none. diff --git a/src/main/java/seedu/address/commons/exceptions/IllegalValueException.java b/src/main/java/harmony/commons/exceptions/IllegalValueException.java similarity index 88% rename from src/main/java/seedu/address/commons/exceptions/IllegalValueException.java rename to src/main/java/harmony/commons/exceptions/IllegalValueException.java index a473b43bd86f..da2899e5f555 100644 --- a/src/main/java/seedu/address/commons/exceptions/IllegalValueException.java +++ b/src/main/java/harmony/commons/exceptions/IllegalValueException.java @@ -1,4 +1,4 @@ -package seedu.address.commons.exceptions; +package harmony.commons.exceptions; /** * Signals that some given data does not fulfill some constraints. diff --git a/src/main/java/seedu/address/commons/util/AppUtil.java b/src/main/java/harmony/commons/util/AppUtil.java similarity index 79% rename from src/main/java/seedu/address/commons/util/AppUtil.java rename to src/main/java/harmony/commons/util/AppUtil.java index 09a528f1188e..9bc8c47bb287 100644 --- a/src/main/java/seedu/address/commons/util/AppUtil.java +++ b/src/main/java/harmony/commons/util/AppUtil.java @@ -1,7 +1,7 @@ -package seedu.address.commons.util; +package harmony.commons.util; +import harmony.MainApp; import javafx.scene.image.Image; -import seedu.address.MainApp; /** * A container for App specific utility functions diff --git a/src/main/java/seedu/address/commons/util/CollectionUtil.java b/src/main/java/harmony/commons/util/CollectionUtil.java similarity index 96% rename from src/main/java/seedu/address/commons/util/CollectionUtil.java rename to src/main/java/harmony/commons/util/CollectionUtil.java index fde8394f31e5..f41b56d92c9f 100644 --- a/src/main/java/seedu/address/commons/util/CollectionUtil.java +++ b/src/main/java/harmony/commons/util/CollectionUtil.java @@ -1,4 +1,4 @@ -package seedu.address.commons.util; +package harmony.commons.util; import java.util.Collection; import java.util.HashSet; diff --git a/src/main/java/seedu/address/commons/util/ConfigUtil.java b/src/main/java/harmony/commons/util/ConfigUtil.java similarity index 90% rename from src/main/java/seedu/address/commons/util/ConfigUtil.java rename to src/main/java/harmony/commons/util/ConfigUtil.java index af42e03df06c..d820d6a54944 100644 --- a/src/main/java/seedu/address/commons/util/ConfigUtil.java +++ b/src/main/java/harmony/commons/util/ConfigUtil.java @@ -1,14 +1,14 @@ -package seedu.address.commons.util; - -import seedu.address.commons.core.Config; -import seedu.address.commons.core.LogsCenter; -import seedu.address.commons.exceptions.DataConversionException; +package harmony.commons.util; import java.io.File; import java.io.IOException; import java.util.Optional; import java.util.logging.Logger; +import harmony.commons.core.Config; +import harmony.commons.core.LogsCenter; +import harmony.commons.exceptions.DataConversionException; + /** * A class for accessing the Config File. */ diff --git a/src/main/java/seedu/address/commons/util/FileUtil.java b/src/main/java/harmony/commons/util/FileUtil.java similarity index 98% rename from src/main/java/seedu/address/commons/util/FileUtil.java rename to src/main/java/harmony/commons/util/FileUtil.java index ca8221250de4..bf789209ab9f 100644 --- a/src/main/java/seedu/address/commons/util/FileUtil.java +++ b/src/main/java/harmony/commons/util/FileUtil.java @@ -1,4 +1,4 @@ -package seedu.address.commons.util; +package harmony.commons.util; import java.io.File; import java.io.IOException; diff --git a/src/main/java/seedu/address/commons/util/FxViewUtil.java b/src/main/java/harmony/commons/util/FxViewUtil.java similarity index 92% rename from src/main/java/seedu/address/commons/util/FxViewUtil.java rename to src/main/java/harmony/commons/util/FxViewUtil.java index 900efa6bf5c3..23e5deeeefdd 100644 --- a/src/main/java/seedu/address/commons/util/FxViewUtil.java +++ b/src/main/java/harmony/commons/util/FxViewUtil.java @@ -1,4 +1,4 @@ -package seedu.address.commons.util; +package harmony.commons.util; import javafx.scene.Node; import javafx.scene.layout.AnchorPane; diff --git a/src/main/java/seedu/address/commons/util/JsonUtil.java b/src/main/java/harmony/commons/util/JsonUtil.java similarity index 98% rename from src/main/java/seedu/address/commons/util/JsonUtil.java rename to src/main/java/harmony/commons/util/JsonUtil.java index 80b67de5b7e8..febf3d40c446 100644 --- a/src/main/java/seedu/address/commons/util/JsonUtil.java +++ b/src/main/java/harmony/commons/util/JsonUtil.java @@ -1,4 +1,4 @@ -package seedu.address.commons.util; +package harmony.commons.util; import com.fasterxml.jackson.annotation.JsonAutoDetect; import com.fasterxml.jackson.annotation.PropertyAccessor; diff --git a/src/main/java/seedu/address/commons/util/StringUtil.java b/src/main/java/harmony/commons/util/StringUtil.java similarity index 96% rename from src/main/java/seedu/address/commons/util/StringUtil.java rename to src/main/java/harmony/commons/util/StringUtil.java index 0e7f12c80042..a28119d1a8c1 100644 --- a/src/main/java/seedu/address/commons/util/StringUtil.java +++ b/src/main/java/harmony/commons/util/StringUtil.java @@ -1,4 +1,4 @@ -package seedu.address.commons.util; +package harmony.commons.util; import java.io.PrintWriter; import java.io.StringWriter; diff --git a/src/main/java/seedu/address/commons/util/UrlUtil.java b/src/main/java/harmony/commons/util/UrlUtil.java similarity index 94% rename from src/main/java/seedu/address/commons/util/UrlUtil.java rename to src/main/java/harmony/commons/util/UrlUtil.java index c701fea753d5..60b510342c88 100644 --- a/src/main/java/seedu/address/commons/util/UrlUtil.java +++ b/src/main/java/harmony/commons/util/UrlUtil.java @@ -1,4 +1,4 @@ -package seedu.address.commons.util; +package harmony.commons.util; import java.net.URL; diff --git a/src/main/java/seedu/address/commons/util/XmlUtil.java b/src/main/java/harmony/commons/util/XmlUtil.java similarity index 98% rename from src/main/java/seedu/address/commons/util/XmlUtil.java rename to src/main/java/harmony/commons/util/XmlUtil.java index 2087e7628a1d..e9b0d9a72247 100644 --- a/src/main/java/seedu/address/commons/util/XmlUtil.java +++ b/src/main/java/harmony/commons/util/XmlUtil.java @@ -1,4 +1,4 @@ -package seedu.address.commons.util; +package harmony.commons.util; import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBException; diff --git a/src/main/java/seedu/address/logic/Logic.java b/src/main/java/harmony/logic/Logic.java similarity index 77% rename from src/main/java/seedu/address/logic/Logic.java rename to src/main/java/harmony/logic/Logic.java index 4df1bc65cabb..32789d156bd6 100644 --- a/src/main/java/seedu/address/logic/Logic.java +++ b/src/main/java/harmony/logic/Logic.java @@ -1,8 +1,8 @@ -package seedu.address.logic; +package harmony.logic; +import harmony.logic.commands.CommandResult; +import harmony.model.person.ReadOnlyPerson; import javafx.collections.ObservableList; -import seedu.address.logic.commands.CommandResult; -import seedu.address.model.person.ReadOnlyPerson; /** * API of the Logic component diff --git a/src/main/java/seedu/address/logic/LogicManager.java b/src/main/java/harmony/logic/LogicManager.java similarity index 69% rename from src/main/java/seedu/address/logic/LogicManager.java rename to src/main/java/harmony/logic/LogicManager.java index ce4dc1903cff..23706c7c1748 100644 --- a/src/main/java/seedu/address/logic/LogicManager.java +++ b/src/main/java/harmony/logic/LogicManager.java @@ -1,17 +1,18 @@ -package seedu.address.logic; +package harmony.logic; import javafx.collections.ObservableList; -import seedu.address.commons.core.ComponentManager; -import seedu.address.commons.core.LogsCenter; -import seedu.address.logic.commands.Command; -import seedu.address.logic.commands.CommandResult; -import seedu.address.logic.parser.Parser; -import seedu.address.model.Model; -import seedu.address.model.person.ReadOnlyPerson; -import seedu.address.storage.Storage; import java.util.logging.Logger; +import harmony.commons.core.ComponentManager; +import harmony.commons.core.LogsCenter; +import harmony.logic.commands.Command; +import harmony.logic.commands.CommandResult; +import harmony.logic.parser.Parser; +import harmony.model.Model; +import harmony.model.person.ReadOnlyPerson; +import harmony.storage.Storage; + /** * The main LogicManager of the app. */ diff --git a/src/main/java/seedu/address/logic/commands/AddCommand.java b/src/main/java/harmony/logic/commands/AddCommand.java similarity index 89% rename from src/main/java/seedu/address/logic/commands/AddCommand.java rename to src/main/java/harmony/logic/commands/AddCommand.java index 17ea7c7813f8..34a8cc64b23f 100644 --- a/src/main/java/seedu/address/logic/commands/AddCommand.java +++ b/src/main/java/harmony/logic/commands/AddCommand.java @@ -1,14 +1,14 @@ -package seedu.address.logic.commands; - -import seedu.address.commons.core.Messages; -import seedu.address.commons.exceptions.IllegalValueException; -import seedu.address.model.person.*; -import seedu.address.model.tag.Tag; -import seedu.address.model.tag.UniqueTagList; +package harmony.logic.commands; import java.util.HashSet; import java.util.Set; +import harmony.commons.core.Messages; +import harmony.commons.exceptions.IllegalValueException; +import harmony.model.person.*; +import harmony.model.tag.Tag; +import harmony.model.tag.UniqueTagList; + /** * Adds a person to the address book. */ diff --git a/src/main/java/seedu/address/logic/commands/ClearCommand.java b/src/main/java/harmony/logic/commands/ClearCommand.java similarity index 85% rename from src/main/java/seedu/address/logic/commands/ClearCommand.java rename to src/main/java/harmony/logic/commands/ClearCommand.java index 522d57189f51..d5637f469428 100644 --- a/src/main/java/seedu/address/logic/commands/ClearCommand.java +++ b/src/main/java/harmony/logic/commands/ClearCommand.java @@ -1,6 +1,6 @@ -package seedu.address.logic.commands; +package harmony.logic.commands; -import seedu.address.model.AddressBook; +import harmony.model.AddressBook; /** * Clears the address book. diff --git a/src/main/java/seedu/address/logic/commands/Command.java b/src/main/java/harmony/logic/commands/Command.java similarity index 84% rename from src/main/java/seedu/address/logic/commands/Command.java rename to src/main/java/harmony/logic/commands/Command.java index 7c0ba2fd0161..63491af6bfe2 100644 --- a/src/main/java/seedu/address/logic/commands/Command.java +++ b/src/main/java/harmony/logic/commands/Command.java @@ -1,9 +1,9 @@ -package seedu.address.logic.commands; +package harmony.logic.commands; -import seedu.address.commons.core.EventsCenter; -import seedu.address.commons.core.Messages; -import seedu.address.commons.events.ui.IncorrectCommandAttemptedEvent; -import seedu.address.model.Model; +import harmony.commons.core.EventsCenter; +import harmony.commons.core.Messages; +import harmony.commons.events.ui.IncorrectCommandAttemptedEvent; +import harmony.model.Model; /** * Represents a command with hidden internal logic and the ability to be executed. diff --git a/src/main/java/seedu/address/logic/commands/CommandResult.java b/src/main/java/harmony/logic/commands/CommandResult.java similarity index 87% rename from src/main/java/seedu/address/logic/commands/CommandResult.java rename to src/main/java/harmony/logic/commands/CommandResult.java index f46f2f31353e..0e832668de2c 100644 --- a/src/main/java/seedu/address/logic/commands/CommandResult.java +++ b/src/main/java/harmony/logic/commands/CommandResult.java @@ -1,4 +1,4 @@ -package seedu.address.logic.commands; +package harmony.logic.commands; /** * Represents the result of a command execution. diff --git a/src/main/java/seedu/address/logic/commands/DeleteCommand.java b/src/main/java/harmony/logic/commands/DeleteCommand.java similarity index 83% rename from src/main/java/seedu/address/logic/commands/DeleteCommand.java rename to src/main/java/harmony/logic/commands/DeleteCommand.java index 1bfebe8912a8..892fc59f5b40 100644 --- a/src/main/java/seedu/address/logic/commands/DeleteCommand.java +++ b/src/main/java/harmony/logic/commands/DeleteCommand.java @@ -1,9 +1,9 @@ -package seedu.address.logic.commands; +package harmony.logic.commands; -import seedu.address.commons.core.Messages; -import seedu.address.commons.core.UnmodifiableObservableList; -import seedu.address.model.person.ReadOnlyPerson; -import seedu.address.model.person.UniquePersonList.PersonNotFoundException; +import harmony.commons.core.Messages; +import harmony.commons.core.UnmodifiableObservableList; +import harmony.model.person.ReadOnlyPerson; +import harmony.model.person.UniquePersonList.PersonNotFoundException; /** * Deletes a person identified using it's last displayed index from the address book. diff --git a/src/main/java/seedu/address/logic/commands/EditCommand.java b/src/main/java/harmony/logic/commands/EditCommand.java similarity index 77% rename from src/main/java/seedu/address/logic/commands/EditCommand.java rename to src/main/java/harmony/logic/commands/EditCommand.java index 1cfd5991338c..55c722c7a0d6 100644 --- a/src/main/java/seedu/address/logic/commands/EditCommand.java +++ b/src/main/java/harmony/logic/commands/EditCommand.java @@ -1,22 +1,22 @@ -package seedu.address.logic.commands; +package harmony.logic.commands; import java.util.HashSet; import java.util.Iterator; import java.util.Set; -import seedu.address.commons.core.Messages; -import seedu.address.commons.core.UnmodifiableObservableList; -import seedu.address.commons.exceptions.IllegalValueException; -import seedu.address.model.person.Address; -import seedu.address.model.person.Email; -import seedu.address.model.person.Name; -import seedu.address.model.person.Person; -import seedu.address.model.person.Phone; -import seedu.address.model.person.ReadOnlyPerson; -import seedu.address.model.person.UniquePersonList.DuplicatePersonException; -import seedu.address.model.person.UniquePersonList.PersonNotFoundException; -import seedu.address.model.tag.Tag; -import seedu.address.model.tag.UniqueTagList; +import harmony.commons.core.Messages; +import harmony.commons.core.UnmodifiableObservableList; +import harmony.commons.exceptions.IllegalValueException; +import harmony.model.person.Address; +import harmony.model.person.Email; +import harmony.model.person.Name; +import harmony.model.person.Person; +import harmony.model.person.Phone; +import harmony.model.person.ReadOnlyPerson; +import harmony.model.person.UniquePersonList.DuplicatePersonException; +import harmony.model.person.UniquePersonList.PersonNotFoundException; +import harmony.model.tag.Tag; +import harmony.model.tag.UniqueTagList; public class EditCommand extends Command{ diff --git a/src/main/java/seedu/address/logic/commands/ExitCommand.java b/src/main/java/harmony/logic/commands/ExitCommand.java similarity index 75% rename from src/main/java/seedu/address/logic/commands/ExitCommand.java rename to src/main/java/harmony/logic/commands/ExitCommand.java index d98233ce2a0b..01713d43e513 100644 --- a/src/main/java/seedu/address/logic/commands/ExitCommand.java +++ b/src/main/java/harmony/logic/commands/ExitCommand.java @@ -1,7 +1,7 @@ -package seedu.address.logic.commands; +package harmony.logic.commands; -import seedu.address.commons.core.EventsCenter; -import seedu.address.commons.events.ui.ExitAppRequestEvent; +import harmony.commons.core.EventsCenter; +import harmony.commons.events.ui.ExitAppRequestEvent; /** * Terminates the program. diff --git a/src/main/java/seedu/address/logic/commands/FindCommand.java b/src/main/java/harmony/logic/commands/FindCommand.java similarity index 96% rename from src/main/java/seedu/address/logic/commands/FindCommand.java rename to src/main/java/harmony/logic/commands/FindCommand.java index 1d61bf6cc857..9c7b393bc0a6 100644 --- a/src/main/java/seedu/address/logic/commands/FindCommand.java +++ b/src/main/java/harmony/logic/commands/FindCommand.java @@ -1,4 +1,4 @@ -package seedu.address.logic.commands; +package harmony.logic.commands; import java.util.Set; diff --git a/src/main/java/seedu/address/logic/commands/FindTagCommand.java b/src/main/java/harmony/logic/commands/FindTagCommand.java similarity index 88% rename from src/main/java/seedu/address/logic/commands/FindTagCommand.java rename to src/main/java/harmony/logic/commands/FindTagCommand.java index 37fa1e0fc5a0..cb39c90b3c14 100644 --- a/src/main/java/seedu/address/logic/commands/FindTagCommand.java +++ b/src/main/java/harmony/logic/commands/FindTagCommand.java @@ -1,11 +1,11 @@ -package seedu.address.logic.commands; +package harmony.logic.commands; import java.util.HashSet; import java.util.List; import java.util.Set; -import seedu.address.commons.exceptions.IllegalValueException; -import seedu.address.model.tag.Tag; +import harmony.commons.exceptions.IllegalValueException; +import harmony.model.tag.Tag; public class FindTagCommand extends Command { diff --git a/src/main/java/seedu/address/logic/commands/HelpCommand.java b/src/main/java/harmony/logic/commands/HelpCommand.java similarity index 80% rename from src/main/java/seedu/address/logic/commands/HelpCommand.java rename to src/main/java/harmony/logic/commands/HelpCommand.java index 65af96940242..157470dbc72a 100644 --- a/src/main/java/seedu/address/logic/commands/HelpCommand.java +++ b/src/main/java/harmony/logic/commands/HelpCommand.java @@ -1,8 +1,8 @@ -package seedu.address.logic.commands; +package harmony.logic.commands; -import seedu.address.commons.core.EventsCenter; -import seedu.address.commons.events.ui.ShowHelpRequestEvent; +import harmony.commons.core.EventsCenter; +import harmony.commons.events.ui.ShowHelpRequestEvent; /** * Format full help instructions for every command for display. diff --git a/src/main/java/seedu/address/logic/commands/IncorrectCommand.java b/src/main/java/harmony/logic/commands/IncorrectCommand.java similarity index 92% rename from src/main/java/seedu/address/logic/commands/IncorrectCommand.java rename to src/main/java/harmony/logic/commands/IncorrectCommand.java index 491d9cb9da35..34f385c6d55f 100644 --- a/src/main/java/seedu/address/logic/commands/IncorrectCommand.java +++ b/src/main/java/harmony/logic/commands/IncorrectCommand.java @@ -1,4 +1,4 @@ -package seedu.address.logic.commands; +package harmony.logic.commands; /** diff --git a/src/main/java/seedu/address/logic/commands/ListCommand.java b/src/main/java/harmony/logic/commands/ListCommand.java similarity index 91% rename from src/main/java/seedu/address/logic/commands/ListCommand.java rename to src/main/java/harmony/logic/commands/ListCommand.java index 9bdd457a1b01..7d1fe8bd7843 100644 --- a/src/main/java/seedu/address/logic/commands/ListCommand.java +++ b/src/main/java/harmony/logic/commands/ListCommand.java @@ -1,4 +1,4 @@ -package seedu.address.logic.commands; +package harmony.logic.commands; /** diff --git a/src/main/java/seedu/address/logic/commands/PreviousCommand.java b/src/main/java/harmony/logic/commands/PreviousCommand.java similarity index 93% rename from src/main/java/seedu/address/logic/commands/PreviousCommand.java rename to src/main/java/harmony/logic/commands/PreviousCommand.java index 5cf7e70ebe76..5f999f8a83df 100644 --- a/src/main/java/seedu/address/logic/commands/PreviousCommand.java +++ b/src/main/java/harmony/logic/commands/PreviousCommand.java @@ -1,4 +1,4 @@ -package seedu.address.logic.commands; +package harmony.logic.commands; /** * Loads previous user input diff --git a/src/main/java/seedu/address/logic/commands/SelectCommand.java b/src/main/java/harmony/logic/commands/SelectCommand.java similarity index 80% rename from src/main/java/seedu/address/logic/commands/SelectCommand.java rename to src/main/java/harmony/logic/commands/SelectCommand.java index 9ca0551f1951..60e50d968aad 100644 --- a/src/main/java/seedu/address/logic/commands/SelectCommand.java +++ b/src/main/java/harmony/logic/commands/SelectCommand.java @@ -1,10 +1,10 @@ -package seedu.address.logic.commands; +package harmony.logic.commands; -import seedu.address.commons.core.EventsCenter; -import seedu.address.commons.core.Messages; -import seedu.address.commons.events.ui.JumpToListRequestEvent; -import seedu.address.commons.core.UnmodifiableObservableList; -import seedu.address.model.person.ReadOnlyPerson; +import harmony.commons.core.EventsCenter; +import harmony.commons.core.Messages; +import harmony.commons.core.UnmodifiableObservableList; +import harmony.commons.events.ui.JumpToListRequestEvent; +import harmony.model.person.ReadOnlyPerson; /** * Selects a person identified using it's last displayed index from the address book. diff --git a/src/main/java/seedu/address/logic/commands/UndoCommand.java b/src/main/java/harmony/logic/commands/UndoCommand.java similarity index 95% rename from src/main/java/seedu/address/logic/commands/UndoCommand.java rename to src/main/java/harmony/logic/commands/UndoCommand.java index 35aab9124a95..7967ddc6ca98 100644 --- a/src/main/java/seedu/address/logic/commands/UndoCommand.java +++ b/src/main/java/harmony/logic/commands/UndoCommand.java @@ -1,7 +1,8 @@ -package seedu.address.logic.commands; +package harmony.logic.commands; import java.util.EmptyStackException; -import seedu.address.model.AddressBook; + +import harmony.model.AddressBook; public class UndoCommand extends Command{ diff --git a/src/main/java/seedu/address/logic/commands/Undoable.java b/src/main/java/harmony/logic/commands/Undoable.java similarity index 92% rename from src/main/java/seedu/address/logic/commands/Undoable.java rename to src/main/java/harmony/logic/commands/Undoable.java index e0a27031fd8b..8f5eb6b9ce30 100644 --- a/src/main/java/seedu/address/logic/commands/Undoable.java +++ b/src/main/java/harmony/logic/commands/Undoable.java @@ -1,4 +1,4 @@ -package seedu.address.logic.commands; +package harmony.logic.commands; public interface Undoable { diff --git a/src/main/java/seedu/address/logic/parser/Parser.java b/src/main/java/harmony/logic/parser/Parser.java similarity index 95% rename from src/main/java/seedu/address/logic/parser/Parser.java rename to src/main/java/harmony/logic/parser/Parser.java index d7166b7e940c..8892405cf028 100644 --- a/src/main/java/seedu/address/logic/parser/Parser.java +++ b/src/main/java/harmony/logic/parser/Parser.java @@ -1,16 +1,16 @@ -package seedu.address.logic.parser; +package harmony.logic.parser; -import seedu.address.logic.commands.*; -import seedu.address.model.tag.Tag; -import seedu.address.commons.util.StringUtil; -import seedu.address.commons.exceptions.IllegalValueException; +import static harmony.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; +import static harmony.commons.core.Messages.MESSAGE_UNKNOWN_COMMAND; import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; -import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; -import static seedu.address.commons.core.Messages.MESSAGE_UNKNOWN_COMMAND; +import harmony.commons.exceptions.IllegalValueException; +import harmony.commons.util.StringUtil; +import harmony.logic.commands.*; +import harmony.model.tag.Tag; /** * Parses user input. diff --git a/src/main/java/seedu/address/model/AddressBook.java b/src/main/java/harmony/model/AddressBook.java similarity index 94% rename from src/main/java/seedu/address/model/AddressBook.java rename to src/main/java/harmony/model/AddressBook.java index 298cc1b82ce8..36d48d2e232f 100644 --- a/src/main/java/seedu/address/model/AddressBook.java +++ b/src/main/java/harmony/model/AddressBook.java @@ -1,15 +1,16 @@ -package seedu.address.model; +package harmony.model; import javafx.collections.ObservableList; -import seedu.address.model.person.Person; -import seedu.address.model.person.ReadOnlyPerson; -import seedu.address.model.person.UniquePersonList; -import seedu.address.model.tag.Tag; -import seedu.address.model.tag.UniqueTagList; import java.util.*; import java.util.stream.Collectors; +import harmony.model.person.Person; +import harmony.model.person.ReadOnlyPerson; +import harmony.model.person.UniquePersonList; +import harmony.model.tag.Tag; +import harmony.model.tag.UniqueTagList; + /** * Wraps all data at the address-book level * Duplicates are not allowed (by .equals comparison) diff --git a/src/main/java/seedu/address/model/Model.java b/src/main/java/harmony/model/Model.java similarity index 79% rename from src/main/java/seedu/address/model/Model.java rename to src/main/java/harmony/model/Model.java index ce9400f6143e..fa414ba46916 100644 --- a/src/main/java/seedu/address/model/Model.java +++ b/src/main/java/harmony/model/Model.java @@ -1,15 +1,15 @@ -package seedu.address.model; - -import seedu.address.commons.core.UnmodifiableObservableList; -import seedu.address.logic.commands.Command; -import seedu.address.model.person.Person; -import seedu.address.model.person.ReadOnlyPerson; -import seedu.address.model.person.UniquePersonList; -import seedu.address.model.tag.Tag; +package harmony.model; import java.util.Set; import java.util.Stack; +import harmony.commons.core.UnmodifiableObservableList; +import harmony.logic.commands.Command; +import harmony.model.person.Person; +import harmony.model.person.ReadOnlyPerson; +import harmony.model.person.UniquePersonList; +import harmony.model.tag.Tag; + /** * The API of the Model component. */ diff --git a/src/main/java/seedu/address/model/ModelManager.java b/src/main/java/harmony/model/ModelManager.java similarity index 89% rename from src/main/java/seedu/address/model/ModelManager.java rename to src/main/java/harmony/model/ModelManager.java index 7985b9ad5025..e333410f4296 100644 --- a/src/main/java/seedu/address/model/ModelManager.java +++ b/src/main/java/harmony/model/ModelManager.java @@ -1,23 +1,24 @@ -package seedu.address.model; +package harmony.model; import javafx.collections.transformation.FilteredList; -import seedu.address.commons.core.LogsCenter; -import seedu.address.commons.core.UnmodifiableObservableList; -import seedu.address.commons.util.StringUtil; -import seedu.address.logic.commands.Command; -import seedu.address.commons.events.model.AddressBookChangedEvent; -import seedu.address.commons.core.ComponentManager; -import seedu.address.model.person.Person; -import seedu.address.model.person.ReadOnlyPerson; -import seedu.address.model.person.UniquePersonList; -import seedu.address.model.person.UniquePersonList.PersonNotFoundException; -import seedu.address.model.tag.Tag; import java.util.Collections; import java.util.Set; import java.util.Stack; import java.util.logging.Logger; +import harmony.commons.core.ComponentManager; +import harmony.commons.core.LogsCenter; +import harmony.commons.core.UnmodifiableObservableList; +import harmony.commons.events.model.AddressBookChangedEvent; +import harmony.commons.util.StringUtil; +import harmony.logic.commands.Command; +import harmony.model.person.Person; +import harmony.model.person.ReadOnlyPerson; +import harmony.model.person.UniquePersonList; +import harmony.model.person.UniquePersonList.PersonNotFoundException; +import harmony.model.tag.Tag; + /** * Represents the in-memory model of the address book data. * All changes to any model should be synchronized. diff --git a/src/main/java/seedu/address/model/ReadOnlyAddressBook.java b/src/main/java/harmony/model/ReadOnlyAddressBook.java similarity index 65% rename from src/main/java/seedu/address/model/ReadOnlyAddressBook.java rename to src/main/java/harmony/model/ReadOnlyAddressBook.java index bfca099b1e81..c8a6d4bf48d0 100644 --- a/src/main/java/seedu/address/model/ReadOnlyAddressBook.java +++ b/src/main/java/harmony/model/ReadOnlyAddressBook.java @@ -1,13 +1,13 @@ -package seedu.address.model; +package harmony.model; -import seedu.address.model.person.ReadOnlyPerson; -import seedu.address.model.person.UniquePersonList; -import seedu.address.model.tag.Tag; -import seedu.address.model.tag.UniqueTagList; - import java.util.List; +import harmony.model.person.ReadOnlyPerson; +import harmony.model.person.UniquePersonList; +import harmony.model.tag.Tag; +import harmony.model.tag.UniqueTagList; + /** * Unmodifiable view of an address book */ diff --git a/src/main/java/seedu/address/model/UserPrefs.java b/src/main/java/harmony/model/UserPrefs.java similarity index 93% rename from src/main/java/seedu/address/model/UserPrefs.java rename to src/main/java/harmony/model/UserPrefs.java index da9c8037f495..68d356f2caf8 100644 --- a/src/main/java/seedu/address/model/UserPrefs.java +++ b/src/main/java/harmony/model/UserPrefs.java @@ -1,9 +1,9 @@ -package seedu.address.model; - -import seedu.address.commons.core.GuiSettings; +package harmony.model; import java.util.Objects; +import harmony.commons.core.GuiSettings; + /** * Represents User's preferences. */ diff --git a/src/main/java/seedu/address/model/person/Address.java b/src/main/java/harmony/model/person/Address.java similarity index 93% rename from src/main/java/seedu/address/model/person/Address.java rename to src/main/java/harmony/model/person/Address.java index a2bd109c005e..f1cad64e76c5 100644 --- a/src/main/java/seedu/address/model/person/Address.java +++ b/src/main/java/harmony/model/person/Address.java @@ -1,7 +1,7 @@ -package seedu.address.model.person; +package harmony.model.person; -import seedu.address.commons.exceptions.IllegalValueException; +import harmony.commons.exceptions.IllegalValueException; /** * Represents a Person's address in the address book. diff --git a/src/main/java/seedu/address/model/person/Email.java b/src/main/java/harmony/model/person/Email.java similarity index 93% rename from src/main/java/seedu/address/model/person/Email.java rename to src/main/java/harmony/model/person/Email.java index 5da4d1078236..920b2c5dcc76 100644 --- a/src/main/java/seedu/address/model/person/Email.java +++ b/src/main/java/harmony/model/person/Email.java @@ -1,7 +1,7 @@ -package seedu.address.model.person; +package harmony.model.person; -import seedu.address.commons.exceptions.IllegalValueException; +import harmony.commons.exceptions.IllegalValueException; /** * Represents a Person's phone number in the address book. diff --git a/src/main/java/seedu/address/model/person/Name.java b/src/main/java/harmony/model/person/Name.java similarity index 93% rename from src/main/java/seedu/address/model/person/Name.java rename to src/main/java/harmony/model/person/Name.java index 4f30033e70fe..ae49c801bd52 100644 --- a/src/main/java/seedu/address/model/person/Name.java +++ b/src/main/java/harmony/model/person/Name.java @@ -1,6 +1,6 @@ -package seedu.address.model.person; +package harmony.model.person; -import seedu.address.commons.exceptions.IllegalValueException; +import harmony.commons.exceptions.IllegalValueException; /** * Represents a Person's name in the address book. diff --git a/src/main/java/seedu/address/model/person/Person.java b/src/main/java/harmony/model/person/Person.java similarity index 94% rename from src/main/java/seedu/address/model/person/Person.java rename to src/main/java/harmony/model/person/Person.java index 03ffce7d2e79..25219e40b36b 100644 --- a/src/main/java/seedu/address/model/person/Person.java +++ b/src/main/java/harmony/model/person/Person.java @@ -1,10 +1,10 @@ -package seedu.address.model.person; - -import seedu.address.commons.util.CollectionUtil; -import seedu.address.model.tag.UniqueTagList; +package harmony.model.person; import java.util.Objects; +import harmony.commons.util.CollectionUtil; +import harmony.model.tag.UniqueTagList; + /** * Represents a Person in the address book. * Guarantees: details are present and not null, field values are validated. diff --git a/src/main/java/seedu/address/model/person/Phone.java b/src/main/java/harmony/model/person/Phone.java similarity index 93% rename from src/main/java/seedu/address/model/person/Phone.java rename to src/main/java/harmony/model/person/Phone.java index d27b2244b727..dba632ac46d0 100644 --- a/src/main/java/seedu/address/model/person/Phone.java +++ b/src/main/java/harmony/model/person/Phone.java @@ -1,6 +1,6 @@ -package seedu.address.model.person; +package harmony.model.person; -import seedu.address.commons.exceptions.IllegalValueException; +import harmony.commons.exceptions.IllegalValueException; /** * Represents a Person's phone number in the address book. diff --git a/src/main/java/seedu/address/model/person/ReadOnlyPerson.java b/src/main/java/harmony/model/person/ReadOnlyPerson.java similarity index 96% rename from src/main/java/seedu/address/model/person/ReadOnlyPerson.java rename to src/main/java/harmony/model/person/ReadOnlyPerson.java index d45be4b5fe36..ee563499fe24 100644 --- a/src/main/java/seedu/address/model/person/ReadOnlyPerson.java +++ b/src/main/java/harmony/model/person/ReadOnlyPerson.java @@ -1,6 +1,6 @@ -package seedu.address.model.person; +package harmony.model.person; -import seedu.address.model.tag.UniqueTagList; +import harmony.model.tag.UniqueTagList; /** * A read-only immutable interface for a Person in the addressbook. diff --git a/src/main/java/seedu/address/model/person/UniquePersonList.java b/src/main/java/harmony/model/person/UniquePersonList.java similarity index 95% rename from src/main/java/seedu/address/model/person/UniquePersonList.java rename to src/main/java/harmony/model/person/UniquePersonList.java index 263f1fcc7dd5..d089d399c83d 100644 --- a/src/main/java/seedu/address/model/person/UniquePersonList.java +++ b/src/main/java/harmony/model/person/UniquePersonList.java @@ -1,12 +1,13 @@ -package seedu.address.model.person; +package harmony.model.person; import javafx.collections.FXCollections; import javafx.collections.ObservableList; -import seedu.address.commons.util.CollectionUtil; -import seedu.address.commons.exceptions.DuplicateDataException; import java.util.*; +import harmony.commons.exceptions.DuplicateDataException; +import harmony.commons.util.CollectionUtil; + /** * A list of persons that enforces uniqueness between its elements and does not allow nulls. * diff --git a/src/main/java/seedu/address/model/tag/Tag.java b/src/main/java/harmony/model/tag/Tag.java similarity index 93% rename from src/main/java/seedu/address/model/tag/Tag.java rename to src/main/java/harmony/model/tag/Tag.java index 5bcffdb5ddf1..3977b5c156fa 100644 --- a/src/main/java/seedu/address/model/tag/Tag.java +++ b/src/main/java/harmony/model/tag/Tag.java @@ -1,7 +1,7 @@ -package seedu.address.model.tag; +package harmony.model.tag; -import seedu.address.commons.exceptions.IllegalValueException; +import harmony.commons.exceptions.IllegalValueException; /** * Represents a Tag in the address book. diff --git a/src/main/java/seedu/address/model/tag/UniqueTagList.java b/src/main/java/harmony/model/tag/UniqueTagList.java similarity index 96% rename from src/main/java/seedu/address/model/tag/UniqueTagList.java rename to src/main/java/harmony/model/tag/UniqueTagList.java index 76fb7ff3dc5d..42b205cda9a4 100644 --- a/src/main/java/seedu/address/model/tag/UniqueTagList.java +++ b/src/main/java/harmony/model/tag/UniqueTagList.java @@ -1,12 +1,13 @@ -package seedu.address.model.tag; +package harmony.model.tag; import javafx.collections.FXCollections; import javafx.collections.ObservableList; -import seedu.address.commons.util.CollectionUtil; -import seedu.address.commons.exceptions.DuplicateDataException; import java.util.*; +import harmony.commons.exceptions.DuplicateDataException; +import harmony.commons.util.CollectionUtil; + /** * A list of tags that enforces no nulls and uniqueness between its elements. * diff --git a/src/main/java/seedu/address/storage/AddressBookStorage.java b/src/main/java/harmony/storage/AddressBookStorage.java similarity index 81% rename from src/main/java/seedu/address/storage/AddressBookStorage.java rename to src/main/java/harmony/storage/AddressBookStorage.java index ffe589ac3c4c..6f367ac5c52c 100644 --- a/src/main/java/seedu/address/storage/AddressBookStorage.java +++ b/src/main/java/harmony/storage/AddressBookStorage.java @@ -1,13 +1,13 @@ -package seedu.address.storage; - -import seedu.address.commons.exceptions.DataConversionException; -import seedu.address.model.ReadOnlyAddressBook; +package harmony.storage; import java.io.IOException; import java.util.Optional; +import harmony.commons.exceptions.DataConversionException; +import harmony.model.ReadOnlyAddressBook; + /** - * Represents a storage for {@link seedu.address.model.AddressBook}. + * Represents a storage for {@link harmony.model.AddressBook}. */ public interface AddressBookStorage { diff --git a/src/main/java/seedu/address/storage/JsonUserPrefStorage.java b/src/main/java/harmony/storage/JsonUserPrefStorage.java similarity index 90% rename from src/main/java/seedu/address/storage/JsonUserPrefStorage.java rename to src/main/java/harmony/storage/JsonUserPrefStorage.java index 3a145ce35f15..a4caa5fbfe48 100644 --- a/src/main/java/seedu/address/storage/JsonUserPrefStorage.java +++ b/src/main/java/harmony/storage/JsonUserPrefStorage.java @@ -1,15 +1,15 @@ -package seedu.address.storage; - -import seedu.address.commons.core.LogsCenter; -import seedu.address.commons.exceptions.DataConversionException; -import seedu.address.commons.util.FileUtil; -import seedu.address.model.UserPrefs; +package harmony.storage; import java.io.File; import java.io.IOException; import java.util.Optional; import java.util.logging.Logger; +import harmony.commons.core.LogsCenter; +import harmony.commons.exceptions.DataConversionException; +import harmony.commons.util.FileUtil; +import harmony.model.UserPrefs; + /** * A class to access UserPrefs stored in the hard disk as a json file */ diff --git a/src/main/java/seedu/address/storage/Storage.java b/src/main/java/harmony/storage/Storage.java similarity index 74% rename from src/main/java/seedu/address/storage/Storage.java rename to src/main/java/harmony/storage/Storage.java index 767490dbf8e2..b3ba15e9135d 100644 --- a/src/main/java/seedu/address/storage/Storage.java +++ b/src/main/java/harmony/storage/Storage.java @@ -1,15 +1,15 @@ -package seedu.address.storage; - -import seedu.address.commons.events.model.AddressBookChangedEvent; -import seedu.address.commons.events.storage.DataSavingExceptionEvent; -import seedu.address.commons.exceptions.DataConversionException; -import seedu.address.model.ReadOnlyAddressBook; -import seedu.address.model.UserPrefs; +package harmony.storage; import java.io.FileNotFoundException; import java.io.IOException; import java.util.Optional; +import harmony.commons.events.model.AddressBookChangedEvent; +import harmony.commons.events.storage.DataSavingExceptionEvent; +import harmony.commons.exceptions.DataConversionException; +import harmony.model.ReadOnlyAddressBook; +import harmony.model.UserPrefs; + /** * API of the Storage component */ diff --git a/src/main/java/seedu/address/storage/StorageManager.java b/src/main/java/harmony/storage/StorageManager.java similarity index 84% rename from src/main/java/seedu/address/storage/StorageManager.java rename to src/main/java/harmony/storage/StorageManager.java index a6f2eddcc802..a73cf14d225b 100644 --- a/src/main/java/seedu/address/storage/StorageManager.java +++ b/src/main/java/harmony/storage/StorageManager.java @@ -1,13 +1,14 @@ -package seedu.address.storage; +package harmony.storage; import com.google.common.eventbus.Subscribe; -import seedu.address.commons.core.ComponentManager; -import seedu.address.commons.core.LogsCenter; -import seedu.address.commons.events.model.AddressBookChangedEvent; -import seedu.address.commons.events.storage.DataSavingExceptionEvent; -import seedu.address.commons.exceptions.DataConversionException; -import seedu.address.model.ReadOnlyAddressBook; -import seedu.address.model.UserPrefs; + +import harmony.commons.core.ComponentManager; +import harmony.commons.core.LogsCenter; +import harmony.commons.events.model.AddressBookChangedEvent; +import harmony.commons.events.storage.DataSavingExceptionEvent; +import harmony.commons.exceptions.DataConversionException; +import harmony.model.ReadOnlyAddressBook; +import harmony.model.UserPrefs; import java.io.FileNotFoundException; import java.io.IOException; diff --git a/src/main/java/seedu/address/storage/UserPrefsStorage.java b/src/main/java/harmony/storage/UserPrefsStorage.java similarity index 71% rename from src/main/java/seedu/address/storage/UserPrefsStorage.java rename to src/main/java/harmony/storage/UserPrefsStorage.java index ad2dc935187c..f8bccee67b9d 100644 --- a/src/main/java/seedu/address/storage/UserPrefsStorage.java +++ b/src/main/java/harmony/storage/UserPrefsStorage.java @@ -1,13 +1,13 @@ -package seedu.address.storage; - -import seedu.address.commons.exceptions.DataConversionException; -import seedu.address.model.UserPrefs; +package harmony.storage; import java.io.IOException; import java.util.Optional; +import harmony.commons.exceptions.DataConversionException; +import harmony.model.UserPrefs; + /** - * Represents a storage for {@link seedu.address.model.UserPrefs}. + * Represents a storage for {@link harmony.model.UserPrefs}. */ public interface UserPrefsStorage { @@ -20,7 +20,7 @@ public interface UserPrefsStorage { Optional readUserPrefs() throws DataConversionException, IOException; /** - * Saves the given {@link seedu.address.model.UserPrefs} to the storage. + * Saves the given {@link harmony.model.UserPrefs} to the storage. * @param userPrefs cannot be null. * @throws IOException if there was any problem writing to the file. */ diff --git a/src/main/java/seedu/address/storage/XmlAdaptedPerson.java b/src/main/java/harmony/storage/XmlAdaptedPerson.java similarity index 89% rename from src/main/java/seedu/address/storage/XmlAdaptedPerson.java rename to src/main/java/harmony/storage/XmlAdaptedPerson.java index f2167ec201b4..0420f92013f7 100644 --- a/src/main/java/seedu/address/storage/XmlAdaptedPerson.java +++ b/src/main/java/harmony/storage/XmlAdaptedPerson.java @@ -1,11 +1,12 @@ -package seedu.address.storage; - -import seedu.address.commons.exceptions.IllegalValueException; -import seedu.address.model.person.*; -import seedu.address.model.tag.Tag; -import seedu.address.model.tag.UniqueTagList; +package harmony.storage; import javax.xml.bind.annotation.XmlElement; + +import harmony.commons.exceptions.IllegalValueException; +import harmony.model.person.*; +import harmony.model.tag.Tag; +import harmony.model.tag.UniqueTagList; + import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/seedu/address/storage/XmlAdaptedTag.java b/src/main/java/harmony/storage/XmlAdaptedTag.java similarity index 81% rename from src/main/java/seedu/address/storage/XmlAdaptedTag.java rename to src/main/java/harmony/storage/XmlAdaptedTag.java index b9723fafbc67..7f042edb465d 100644 --- a/src/main/java/seedu/address/storage/XmlAdaptedTag.java +++ b/src/main/java/harmony/storage/XmlAdaptedTag.java @@ -1,11 +1,11 @@ -package seedu.address.storage; - -import seedu.address.commons.util.CollectionUtil; -import seedu.address.commons.exceptions.IllegalValueException; -import seedu.address.model.tag.Tag; +package harmony.storage; import javax.xml.bind.annotation.XmlValue; +import harmony.commons.exceptions.IllegalValueException; +import harmony.commons.util.CollectionUtil; +import harmony.model.tag.Tag; + /** * JAXB-friendly adapted version of the Tag. */ diff --git a/src/main/java/seedu/address/storage/XmlAddressBookStorage.java b/src/main/java/harmony/storage/XmlAddressBookStorage.java similarity index 90% rename from src/main/java/seedu/address/storage/XmlAddressBookStorage.java rename to src/main/java/harmony/storage/XmlAddressBookStorage.java index 30cb00270cc4..e44d83f25d11 100644 --- a/src/main/java/seedu/address/storage/XmlAddressBookStorage.java +++ b/src/main/java/harmony/storage/XmlAddressBookStorage.java @@ -1,9 +1,4 @@ -package seedu.address.storage; - -import seedu.address.commons.core.LogsCenter; -import seedu.address.commons.exceptions.DataConversionException; -import seedu.address.commons.util.FileUtil; -import seedu.address.model.ReadOnlyAddressBook; +package harmony.storage; import java.io.File; import java.io.FileNotFoundException; @@ -11,6 +6,11 @@ import java.util.Optional; import java.util.logging.Logger; +import harmony.commons.core.LogsCenter; +import harmony.commons.exceptions.DataConversionException; +import harmony.commons.util.FileUtil; +import harmony.model.ReadOnlyAddressBook; + /** * A class to access AddressBook data stored as an xml file on the hard disk. */ diff --git a/src/main/java/seedu/address/storage/XmlFileStorage.java b/src/main/java/harmony/storage/XmlFileStorage.java similarity index 88% rename from src/main/java/seedu/address/storage/XmlFileStorage.java rename to src/main/java/harmony/storage/XmlFileStorage.java index 27a5210cadaf..76820f740912 100644 --- a/src/main/java/seedu/address/storage/XmlFileStorage.java +++ b/src/main/java/harmony/storage/XmlFileStorage.java @@ -1,9 +1,10 @@ -package seedu.address.storage; - -import seedu.address.commons.util.XmlUtil; -import seedu.address.commons.exceptions.DataConversionException; +package harmony.storage; import javax.xml.bind.JAXBException; + +import harmony.commons.exceptions.DataConversionException; +import harmony.commons.util.XmlUtil; + import java.io.File; import java.io.FileNotFoundException; diff --git a/src/main/java/seedu/address/storage/XmlSerializableAddressBook.java b/src/main/java/harmony/storage/XmlSerializableAddressBook.java similarity index 85% rename from src/main/java/seedu/address/storage/XmlSerializableAddressBook.java rename to src/main/java/harmony/storage/XmlSerializableAddressBook.java index 2a496e1494f8..1018ae361feb 100644 --- a/src/main/java/seedu/address/storage/XmlSerializableAddressBook.java +++ b/src/main/java/harmony/storage/XmlSerializableAddressBook.java @@ -1,14 +1,15 @@ -package seedu.address.storage; - -import seedu.address.commons.exceptions.IllegalValueException; -import seedu.address.model.tag.Tag; -import seedu.address.model.tag.UniqueTagList; -import seedu.address.model.ReadOnlyAddressBook; -import seedu.address.model.person.ReadOnlyPerson; -import seedu.address.model.person.UniquePersonList; +package harmony.storage; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; + +import harmony.commons.exceptions.IllegalValueException; +import harmony.model.ReadOnlyAddressBook; +import harmony.model.person.ReadOnlyPerson; +import harmony.model.person.UniquePersonList; +import harmony.model.tag.Tag; +import harmony.model.tag.UniqueTagList; + import java.util.ArrayList; import java.util.Collections; import java.util.List; diff --git a/src/main/java/seedu/address/ui/BrowserPanel.java b/src/main/java/seedu/address/ui/BrowserPanel.java index 54b88318019b..899c31d38e0e 100644 --- a/src/main/java/seedu/address/ui/BrowserPanel.java +++ b/src/main/java/seedu/address/ui/BrowserPanel.java @@ -4,12 +4,13 @@ import javafx.scene.Node; import javafx.scene.layout.AnchorPane; import javafx.scene.web.WebView; -import seedu.address.commons.util.FxViewUtil; -import seedu.address.model.person.ReadOnlyPerson; -import seedu.address.commons.core.LogsCenter; import java.util.logging.Logger; +import harmony.commons.core.LogsCenter; +import harmony.commons.util.FxViewUtil; +import harmony.model.person.ReadOnlyPerson; + /** * The Browser Panel of the App. */ diff --git a/src/main/java/seedu/address/ui/CommandBox.java b/src/main/java/seedu/address/ui/CommandBox.java index 5a72e77de320..84ea8147c6ca 100644 --- a/src/main/java/seedu/address/ui/CommandBox.java +++ b/src/main/java/seedu/address/ui/CommandBox.java @@ -1,17 +1,18 @@ package seedu.address.ui; import com.google.common.eventbus.Subscribe; + +import harmony.commons.core.LogsCenter; +import harmony.commons.events.ui.IncorrectCommandAttemptedEvent; +import harmony.commons.util.FxViewUtil; +import harmony.logic.Logic; +import harmony.logic.commands.*; import javafx.fxml.FXML; import javafx.scene.Node; import javafx.scene.control.SplitPane; import javafx.scene.control.TextField; import javafx.scene.layout.AnchorPane; import javafx.stage.Stage; -import seedu.address.commons.events.ui.IncorrectCommandAttemptedEvent; -import seedu.address.logic.Logic; -import seedu.address.logic.commands.*; -import seedu.address.commons.util.FxViewUtil; -import seedu.address.commons.core.LogsCenter; import java.util.logging.Logger; diff --git a/src/main/java/seedu/address/ui/HelpWindow.java b/src/main/java/seedu/address/ui/HelpWindow.java index 45b765ab6a0c..7c8a6b333be9 100644 --- a/src/main/java/seedu/address/ui/HelpWindow.java +++ b/src/main/java/seedu/address/ui/HelpWindow.java @@ -5,11 +5,12 @@ import javafx.scene.layout.AnchorPane; import javafx.scene.web.WebView; import javafx.stage.Stage; -import seedu.address.commons.util.FxViewUtil; -import seedu.address.commons.core.LogsCenter; import java.util.logging.Logger; +import harmony.commons.core.LogsCenter; +import harmony.commons.util.FxViewUtil; + /** * Controller for a help page */ diff --git a/src/main/java/seedu/address/ui/MainWindow.java b/src/main/java/seedu/address/ui/MainWindow.java index 2c76aced3b04..9e7391b56655 100644 --- a/src/main/java/seedu/address/ui/MainWindow.java +++ b/src/main/java/seedu/address/ui/MainWindow.java @@ -1,5 +1,11 @@ package seedu.address.ui; +import harmony.commons.core.Config; +import harmony.commons.core.GuiSettings; +import harmony.commons.events.ui.ExitAppRequestEvent; +import harmony.logic.Logic; +import harmony.model.UserPrefs; +import harmony.model.person.ReadOnlyPerson; import javafx.fxml.FXML; import javafx.scene.Node; import javafx.scene.Scene; @@ -8,12 +14,6 @@ import javafx.scene.layout.AnchorPane; import javafx.scene.layout.VBox; import javafx.stage.Stage; -import seedu.address.commons.core.Config; -import seedu.address.commons.core.GuiSettings; -import seedu.address.commons.events.ui.ExitAppRequestEvent; -import seedu.address.logic.Logic; -import seedu.address.model.UserPrefs; -import seedu.address.model.person.ReadOnlyPerson; /** * The Main Window. Provides the basic application layout containing diff --git a/src/main/java/seedu/address/ui/PersonCard.java b/src/main/java/seedu/address/ui/PersonCard.java index 259e9ad0d333..b1750b4a9e93 100644 --- a/src/main/java/seedu/address/ui/PersonCard.java +++ b/src/main/java/seedu/address/ui/PersonCard.java @@ -1,10 +1,10 @@ package seedu.address.ui; +import harmony.model.person.ReadOnlyPerson; import javafx.fxml.FXML; import javafx.scene.Node; import javafx.scene.control.Label; import javafx.scene.layout.HBox; -import seedu.address.model.person.ReadOnlyPerson; public class PersonCard extends UiPart{ diff --git a/src/main/java/seedu/address/ui/PersonListPanel.java b/src/main/java/seedu/address/ui/PersonListPanel.java index 27d9381c47b5..ad6ad8dcc8e7 100644 --- a/src/main/java/seedu/address/ui/PersonListPanel.java +++ b/src/main/java/seedu/address/ui/PersonListPanel.java @@ -10,12 +10,13 @@ import javafx.scene.layout.AnchorPane; import javafx.scene.layout.VBox; import javafx.stage.Stage; -import seedu.address.commons.events.ui.PersonPanelSelectionChangedEvent; -import seedu.address.model.person.ReadOnlyPerson; -import seedu.address.commons.core.LogsCenter; import java.util.logging.Logger; +import harmony.commons.core.LogsCenter; +import harmony.commons.events.ui.PersonPanelSelectionChangedEvent; +import harmony.model.person.ReadOnlyPerson; + /** * Panel containing the list of persons. */ diff --git a/src/main/java/seedu/address/ui/ResultDisplay.java b/src/main/java/seedu/address/ui/ResultDisplay.java index 37284ee6c696..9503610cab06 100644 --- a/src/main/java/seedu/address/ui/ResultDisplay.java +++ b/src/main/java/seedu/address/ui/ResultDisplay.java @@ -1,12 +1,12 @@ package seedu.address.ui; +import harmony.commons.util.FxViewUtil; import javafx.beans.property.SimpleStringProperty; import javafx.beans.property.StringProperty; import javafx.scene.Node; import javafx.scene.control.TextArea; import javafx.scene.layout.AnchorPane; import javafx.stage.Stage; -import seedu.address.commons.util.FxViewUtil; /** * A ui for the status bar that is displayed at the header of the application. diff --git a/src/main/java/seedu/address/ui/StatusBarFooter.java b/src/main/java/seedu/address/ui/StatusBarFooter.java index f74f66be6fc9..a21ab76624ff 100644 --- a/src/main/java/seedu/address/ui/StatusBarFooter.java +++ b/src/main/java/seedu/address/ui/StatusBarFooter.java @@ -1,15 +1,16 @@ package seedu.address.ui; import com.google.common.eventbus.Subscribe; + +import harmony.commons.core.LogsCenter; +import harmony.commons.events.model.AddressBookChangedEvent; +import harmony.commons.util.FxViewUtil; import javafx.fxml.FXML; import javafx.scene.Node; import javafx.scene.layout.AnchorPane; import javafx.scene.layout.GridPane; import javafx.stage.Stage; import org.controlsfx.control.StatusBar; -import seedu.address.commons.core.LogsCenter; -import seedu.address.commons.events.model.AddressBookChangedEvent; -import seedu.address.commons.util.FxViewUtil; import java.util.Date; import java.util.logging.Logger; diff --git a/src/main/java/seedu/address/ui/UiManager.java b/src/main/java/seedu/address/ui/UiManager.java index 4a4dba3a2f6e..36633b674572 100644 --- a/src/main/java/seedu/address/ui/UiManager.java +++ b/src/main/java/seedu/address/ui/UiManager.java @@ -1,22 +1,23 @@ package seedu.address.ui; import com.google.common.eventbus.Subscribe; + +import harmony.MainApp; +import harmony.commons.core.ComponentManager; +import harmony.commons.core.Config; +import harmony.commons.core.LogsCenter; +import harmony.commons.events.storage.DataSavingExceptionEvent; +import harmony.commons.events.ui.JumpToListRequestEvent; +import harmony.commons.events.ui.PersonPanelSelectionChangedEvent; +import harmony.commons.events.ui.ShowHelpRequestEvent; +import harmony.commons.util.StringUtil; +import harmony.logic.Logic; +import harmony.model.UserPrefs; import javafx.application.Platform; import javafx.scene.control.Alert; import javafx.scene.control.Alert.AlertType; import javafx.scene.image.Image; import javafx.stage.Stage; -import seedu.address.MainApp; -import seedu.address.commons.core.ComponentManager; -import seedu.address.commons.core.Config; -import seedu.address.commons.core.LogsCenter; -import seedu.address.commons.events.storage.DataSavingExceptionEvent; -import seedu.address.commons.events.ui.JumpToListRequestEvent; -import seedu.address.commons.events.ui.PersonPanelSelectionChangedEvent; -import seedu.address.commons.events.ui.ShowHelpRequestEvent; -import seedu.address.commons.util.StringUtil; -import seedu.address.logic.Logic; -import seedu.address.model.UserPrefs; import java.util.logging.Logger; diff --git a/src/main/java/seedu/address/ui/UiPart.java b/src/main/java/seedu/address/ui/UiPart.java index 0a4ceb33e9b7..7872408b4d08 100644 --- a/src/main/java/seedu/address/ui/UiPart.java +++ b/src/main/java/seedu/address/ui/UiPart.java @@ -1,13 +1,13 @@ package seedu.address.ui; +import harmony.commons.core.EventsCenter; +import harmony.commons.events.BaseEvent; +import harmony.commons.util.AppUtil; import javafx.scene.Node; import javafx.scene.Scene; import javafx.scene.layout.AnchorPane; import javafx.stage.Modality; import javafx.stage.Stage; -import seedu.address.commons.core.EventsCenter; -import seedu.address.commons.events.BaseEvent; -import seedu.address.commons.util.AppUtil; /** * Base class for UI parts. diff --git a/src/main/java/seedu/address/ui/UiPartLoader.java b/src/main/java/seedu/address/ui/UiPartLoader.java index f880685a5b15..1bebc7f621ca 100644 --- a/src/main/java/seedu/address/ui/UiPartLoader.java +++ b/src/main/java/seedu/address/ui/UiPartLoader.java @@ -1,10 +1,10 @@ package seedu.address.ui; +import harmony.MainApp; import javafx.fxml.FXMLLoader; import javafx.scene.Node; import javafx.scene.layout.AnchorPane; import javafx.stage.Stage; -import seedu.address.MainApp; /** * A utility class to load UiParts from FXML files. diff --git a/src/test/java/guitests/AddCommandTest.java b/src/test/java/guitests/AddCommandTest.java index 3b2e1844bd0d..511ab78a2e0e 100644 --- a/src/test/java/guitests/AddCommandTest.java +++ b/src/test/java/guitests/AddCommandTest.java @@ -1,11 +1,12 @@ package guitests; import guitests.guihandles.PersonCardHandle; +import harmony.commons.core.Messages; +import harmony.logic.commands.AddCommand; +import harmony.testutil.TestPerson; +import harmony.testutil.TestUtil; + import org.junit.Test; -import seedu.address.logic.commands.AddCommand; -import seedu.address.commons.core.Messages; -import seedu.address.testutil.TestPerson; -import seedu.address.testutil.TestUtil; import static org.junit.Assert.assertTrue; diff --git a/src/test/java/guitests/AddressBookGuiTest.java b/src/test/java/guitests/AddressBookGuiTest.java index b9cf9ca092eb..e045ad5ce8d2 100644 --- a/src/test/java/guitests/AddressBookGuiTest.java +++ b/src/test/java/guitests/AddressBookGuiTest.java @@ -1,6 +1,12 @@ package guitests; import guitests.guihandles.*; +import harmony.TestApp; +import harmony.commons.core.EventsCenter; +import harmony.model.AddressBook; +import harmony.model.person.ReadOnlyPerson; +import harmony.testutil.TestUtil; +import harmony.testutil.TypicalTestPersons; import javafx.stage.Stage; import org.junit.After; import org.junit.Before; @@ -8,12 +14,6 @@ import org.junit.Rule; import org.junit.rules.TestName; import org.testfx.api.FxToolkit; -import seedu.address.TestApp; -import seedu.address.commons.core.EventsCenter; -import seedu.address.model.AddressBook; -import seedu.address.model.person.ReadOnlyPerson; -import seedu.address.testutil.TestUtil; -import seedu.address.testutil.TypicalTestPersons; import java.util.concurrent.TimeoutException; diff --git a/src/test/java/guitests/DeleteCommandTest.java b/src/test/java/guitests/DeleteCommandTest.java index 10c7b9e0dbea..a4dcd559d376 100644 --- a/src/test/java/guitests/DeleteCommandTest.java +++ b/src/test/java/guitests/DeleteCommandTest.java @@ -1,11 +1,12 @@ package guitests; import org.junit.Test; -import seedu.address.testutil.TestPerson; -import seedu.address.testutil.TestUtil; +import harmony.testutil.TestPerson; +import harmony.testutil.TestUtil; + +import static harmony.logic.commands.DeleteCommand.MESSAGE_DELETE_PERSON_SUCCESS; import static org.junit.Assert.assertTrue; -import static seedu.address.logic.commands.DeleteCommand.MESSAGE_DELETE_PERSON_SUCCESS; public class DeleteCommandTest extends AddressBookGuiTest { diff --git a/src/test/java/guitests/FindCommandTest.java b/src/test/java/guitests/FindCommandTest.java index 441a6dbed666..5630db027ec3 100644 --- a/src/test/java/guitests/FindCommandTest.java +++ b/src/test/java/guitests/FindCommandTest.java @@ -1,8 +1,9 @@ package guitests; import org.junit.Test; -import seedu.address.commons.core.Messages; -import seedu.address.testutil.TestPerson; + +import harmony.commons.core.Messages; +import harmony.testutil.TestPerson; import static org.junit.Assert.assertTrue; diff --git a/src/test/java/guitests/GuiRobot.java b/src/test/java/guitests/GuiRobot.java index 44aa9edb48aa..801dd42fcffe 100644 --- a/src/test/java/guitests/GuiRobot.java +++ b/src/test/java/guitests/GuiRobot.java @@ -2,7 +2,8 @@ import javafx.scene.input.KeyCodeCombination; import org.testfx.api.FxRobot; -import seedu.address.testutil.TestUtil; + +import harmony.testutil.TestUtil; /** * Robot used to simulate user actions on the GUI. diff --git a/src/test/java/guitests/SelectCommandTest.java b/src/test/java/guitests/SelectCommandTest.java index 5273552056ce..6bbe527d0b99 100644 --- a/src/test/java/guitests/SelectCommandTest.java +++ b/src/test/java/guitests/SelectCommandTest.java @@ -1,7 +1,8 @@ package guitests; import org.junit.Test; -import seedu.address.model.person.ReadOnlyPerson; + +import harmony.model.person.ReadOnlyPerson; import static org.junit.Assert.assertEquals; diff --git a/src/test/java/guitests/guihandles/GuiHandle.java b/src/test/java/guitests/guihandles/GuiHandle.java index 5e7e0f6de911..23491cac4285 100644 --- a/src/test/java/guitests/guihandles/GuiHandle.java +++ b/src/test/java/guitests/guihandles/GuiHandle.java @@ -1,14 +1,14 @@ package guitests.guihandles; import guitests.GuiRobot; +import harmony.TestApp; +import harmony.commons.core.LogsCenter; import javafx.scene.Node; import javafx.scene.control.Label; import javafx.scene.control.TextField; import javafx.scene.input.KeyCode; import javafx.stage.Stage; import javafx.stage.Window; -import seedu.address.TestApp; -import seedu.address.commons.core.LogsCenter; import java.util.logging.Logger; diff --git a/src/test/java/guitests/guihandles/MainGuiHandle.java b/src/test/java/guitests/guihandles/MainGuiHandle.java index 45802c5135c7..7ba2f7653cd4 100644 --- a/src/test/java/guitests/guihandles/MainGuiHandle.java +++ b/src/test/java/guitests/guihandles/MainGuiHandle.java @@ -1,8 +1,8 @@ package guitests.guihandles; import guitests.GuiRobot; +import harmony.TestApp; import javafx.stage.Stage; -import seedu.address.TestApp; /** * Provides a handle for the main GUI. diff --git a/src/test/java/guitests/guihandles/MainMenuHandle.java b/src/test/java/guitests/guihandles/MainMenuHandle.java index 0aeb047a0e1d..9a1280519ed6 100644 --- a/src/test/java/guitests/guihandles/MainMenuHandle.java +++ b/src/test/java/guitests/guihandles/MainMenuHandle.java @@ -1,9 +1,9 @@ package guitests.guihandles; import guitests.GuiRobot; +import harmony.TestApp; import javafx.scene.input.KeyCode; import javafx.stage.Stage; -import seedu.address.TestApp; import java.util.Arrays; diff --git a/src/test/java/guitests/guihandles/PersonCardHandle.java b/src/test/java/guitests/guihandles/PersonCardHandle.java index fae22a45ae2f..260398406dcd 100644 --- a/src/test/java/guitests/guihandles/PersonCardHandle.java +++ b/src/test/java/guitests/guihandles/PersonCardHandle.java @@ -1,9 +1,9 @@ package guitests.guihandles; import guitests.GuiRobot; +import harmony.model.person.ReadOnlyPerson; import javafx.scene.Node; import javafx.stage.Stage; -import seedu.address.model.person.ReadOnlyPerson; /** * Provides a handle to a person card in the person list panel. diff --git a/src/test/java/guitests/guihandles/PersonListPanelHandle.java b/src/test/java/guitests/guihandles/PersonListPanelHandle.java index 3451992cf735..cf217bbfdb27 100644 --- a/src/test/java/guitests/guihandles/PersonListPanelHandle.java +++ b/src/test/java/guitests/guihandles/PersonListPanelHandle.java @@ -2,14 +2,14 @@ import guitests.GuiRobot; +import harmony.TestApp; +import harmony.model.person.Person; +import harmony.model.person.ReadOnlyPerson; +import harmony.testutil.TestUtil; import javafx.geometry.Point2D; import javafx.scene.Node; import javafx.scene.control.ListView; import javafx.stage.Stage; -import seedu.address.TestApp; -import seedu.address.model.person.Person; -import seedu.address.model.person.ReadOnlyPerson; -import seedu.address.testutil.TestUtil; import java.util.List; import java.util.Optional; diff --git a/src/test/java/guitests/guihandles/ResultDisplayHandle.java b/src/test/java/guitests/guihandles/ResultDisplayHandle.java index 110b4682b184..0b36574e03d9 100644 --- a/src/test/java/guitests/guihandles/ResultDisplayHandle.java +++ b/src/test/java/guitests/guihandles/ResultDisplayHandle.java @@ -1,9 +1,9 @@ package guitests.guihandles; import guitests.GuiRobot; +import harmony.TestApp; import javafx.scene.control.TextArea; import javafx.stage.Stage; -import seedu.address.TestApp; /** * A handler for the ResultDisplay of the UI diff --git a/src/test/java/seedu/address/TestApp.java b/src/test/java/harmony/TestApp.java similarity index 88% rename from src/test/java/seedu/address/TestApp.java rename to src/test/java/harmony/TestApp.java index 756642b6c180..2e7b3048994e 100644 --- a/src/test/java/seedu/address/TestApp.java +++ b/src/test/java/harmony/TestApp.java @@ -1,16 +1,18 @@ -package seedu.address; +package harmony; import javafx.stage.Screen; import javafx.stage.Stage; -import seedu.address.commons.core.Config; -import seedu.address.commons.core.GuiSettings; -import seedu.address.model.ReadOnlyAddressBook; -import seedu.address.model.UserPrefs; -import seedu.address.storage.XmlSerializableAddressBook; -import seedu.address.testutil.TestUtil; import java.util.function.Supplier; +import harmony.MainApp; +import harmony.commons.core.Config; +import harmony.commons.core.GuiSettings; +import harmony.model.ReadOnlyAddressBook; +import harmony.model.UserPrefs; +import harmony.storage.XmlSerializableAddressBook; +import harmony.testutil.TestUtil; + /** * This class is meant to override some properties of MainApp so that it will be suited for * testing diff --git a/src/test/java/seedu/address/commons/core/VersionTest.java b/src/test/java/harmony/commons/core/VersionTest.java similarity index 98% rename from src/test/java/seedu/address/commons/core/VersionTest.java rename to src/test/java/harmony/commons/core/VersionTest.java index 87ac01f6c92d..4b7ea26ee1fc 100644 --- a/src/test/java/seedu/address/commons/core/VersionTest.java +++ b/src/test/java/harmony/commons/core/VersionTest.java @@ -1,9 +1,11 @@ -package seedu.address.commons.core; +package harmony.commons.core; import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; +import harmony.commons.core.Version; + import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; diff --git a/src/test/java/seedu/address/commons/util/ConfigUtilTest.java b/src/test/java/harmony/commons/util/ConfigUtilTest.java similarity index 95% rename from src/test/java/seedu/address/commons/util/ConfigUtilTest.java rename to src/test/java/harmony/commons/util/ConfigUtilTest.java index 6699343c4a82..e675a18fe8ad 100644 --- a/src/test/java/seedu/address/commons/util/ConfigUtilTest.java +++ b/src/test/java/harmony/commons/util/ConfigUtilTest.java @@ -1,12 +1,15 @@ -package seedu.address.commons.util; +package harmony.commons.util; import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; import org.junit.rules.TemporaryFolder; -import seedu.address.commons.core.Config; -import seedu.address.commons.exceptions.DataConversionException; + +import harmony.commons.core.Config; +import harmony.commons.exceptions.DataConversionException; +import harmony.commons.util.ConfigUtil; +import harmony.commons.util.FileUtil; import java.io.File; import java.io.IOException; diff --git a/src/test/java/seedu/address/commons/util/FileUtilTest.java b/src/test/java/harmony/commons/util/FileUtilTest.java similarity index 92% rename from src/test/java/seedu/address/commons/util/FileUtilTest.java rename to src/test/java/harmony/commons/util/FileUtilTest.java index 8de2621799cf..610fe569d577 100644 --- a/src/test/java/seedu/address/commons/util/FileUtilTest.java +++ b/src/test/java/harmony/commons/util/FileUtilTest.java @@ -1,11 +1,13 @@ -package seedu.address.commons.util; +package harmony.commons.util; import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; -import seedu.address.testutil.SerializableTestClass; -import seedu.address.testutil.TestUtil; + +import harmony.commons.util.FileUtil; +import harmony.testutil.SerializableTestClass; +import harmony.testutil.TestUtil; import java.io.File; import java.io.IOException; diff --git a/src/test/java/seedu/address/commons/util/JsonUtilTest.java b/src/test/java/harmony/commons/util/JsonUtilTest.java similarity index 85% rename from src/test/java/seedu/address/commons/util/JsonUtilTest.java rename to src/test/java/harmony/commons/util/JsonUtilTest.java index fc3902188807..73d5cf2ad9fb 100644 --- a/src/test/java/seedu/address/commons/util/JsonUtilTest.java +++ b/src/test/java/harmony/commons/util/JsonUtilTest.java @@ -1,4 +1,4 @@ -package seedu.address.commons.util; +package harmony.commons.util; /** * Tests JSON Read and Write diff --git a/src/test/java/seedu/address/commons/util/StringUtilTest.java b/src/test/java/harmony/commons/util/StringUtilTest.java similarity index 94% rename from src/test/java/seedu/address/commons/util/StringUtilTest.java rename to src/test/java/harmony/commons/util/StringUtilTest.java index bd209b1cbcab..d067578cd774 100644 --- a/src/test/java/seedu/address/commons/util/StringUtilTest.java +++ b/src/test/java/harmony/commons/util/StringUtilTest.java @@ -1,7 +1,9 @@ -package seedu.address.commons.util; +package harmony.commons.util; import org.junit.Test; +import harmony.commons.util.StringUtil; + import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; diff --git a/src/test/java/seedu/address/commons/util/UrlUtilTest.java b/src/test/java/harmony/commons/util/UrlUtilTest.java similarity index 95% rename from src/test/java/seedu/address/commons/util/UrlUtilTest.java rename to src/test/java/harmony/commons/util/UrlUtilTest.java index 21efd4e1d231..de03d590327f 100644 --- a/src/test/java/seedu/address/commons/util/UrlUtilTest.java +++ b/src/test/java/harmony/commons/util/UrlUtilTest.java @@ -1,7 +1,9 @@ -package seedu.address.commons.util; +package harmony.commons.util; import org.junit.Test; +import harmony.commons.util.UrlUtil; + import java.net.MalformedURLException; import java.net.URL; diff --git a/src/test/java/seedu/address/commons/util/XmlUtilTest.java b/src/test/java/harmony/commons/util/XmlUtilTest.java similarity index 93% rename from src/test/java/seedu/address/commons/util/XmlUtilTest.java rename to src/test/java/harmony/commons/util/XmlUtilTest.java index dc4fd886c23e..78ef8eae4541 100644 --- a/src/test/java/seedu/address/commons/util/XmlUtilTest.java +++ b/src/test/java/harmony/commons/util/XmlUtilTest.java @@ -1,12 +1,15 @@ -package seedu.address.commons.util; +package harmony.commons.util; import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; -import seedu.address.model.AddressBook; -import seedu.address.storage.XmlSerializableAddressBook; -import seedu.address.testutil.AddressBookBuilder; -import seedu.address.testutil.TestUtil; + +import harmony.commons.util.FileUtil; +import harmony.commons.util.XmlUtil; +import harmony.model.AddressBook; +import harmony.storage.XmlSerializableAddressBook; +import harmony.testutil.AddressBookBuilder; +import harmony.testutil.TestUtil; import javax.xml.bind.JAXBException; import java.io.File; diff --git a/src/test/java/seedu/address/logic/LogicManagerTest.java b/src/test/java/harmony/logic/LogicManagerTest.java similarity index 96% rename from src/test/java/seedu/address/logic/LogicManagerTest.java rename to src/test/java/harmony/logic/LogicManagerTest.java index e1ee0cfb4051..bf6fad4cbcb8 100644 --- a/src/test/java/seedu/address/logic/LogicManagerTest.java +++ b/src/test/java/harmony/logic/LogicManagerTest.java @@ -1,33 +1,37 @@ -package seedu.address.logic; +package harmony.logic; import com.google.common.eventbus.Subscribe; + +import harmony.commons.core.EventsCenter; +import harmony.commons.events.model.AddressBookChangedEvent; +import harmony.commons.events.ui.JumpToListRequestEvent; +import harmony.commons.events.ui.ShowHelpRequestEvent; +import harmony.logic.Logic; +import harmony.logic.LogicManager; +import harmony.logic.commands.*; +import harmony.model.AddressBook; +import harmony.model.Model; +import harmony.model.ModelManager; +import harmony.model.ReadOnlyAddressBook; +import harmony.model.person.*; +import harmony.model.tag.Tag; +import harmony.model.tag.UniqueTagList; +import harmony.storage.StorageManager; + import org.junit.After; import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.rules.TemporaryFolder; -import seedu.address.commons.core.EventsCenter; -import seedu.address.logic.commands.*; -import seedu.address.commons.events.ui.JumpToListRequestEvent; -import seedu.address.commons.events.ui.ShowHelpRequestEvent; -import seedu.address.commons.events.model.AddressBookChangedEvent; -import seedu.address.model.AddressBook; -import seedu.address.model.Model; -import seedu.address.model.ModelManager; -import seedu.address.model.ReadOnlyAddressBook; -import seedu.address.model.person.*; -import seedu.address.model.tag.Tag; -import seedu.address.model.tag.UniqueTagList; -import seedu.address.storage.StorageManager; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; +import static harmony.commons.core.Messages.*; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; -import static seedu.address.commons.core.Messages.*; public class LogicManagerTest { diff --git a/src/test/java/seedu/address/model/UnmodifiableObservableListTest.java b/src/test/java/harmony/model/UnmodifiableObservableListTest.java similarity index 93% rename from src/test/java/seedu/address/model/UnmodifiableObservableListTest.java rename to src/test/java/harmony/model/UnmodifiableObservableListTest.java index 0334d7e42073..81fbe76a52f0 100644 --- a/src/test/java/seedu/address/model/UnmodifiableObservableListTest.java +++ b/src/test/java/harmony/model/UnmodifiableObservableListTest.java @@ -1,16 +1,17 @@ -package seedu.address.model; +package harmony.model; import javafx.collections.FXCollections; import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; -import seedu.address.commons.core.UnmodifiableObservableList; + +import harmony.commons.core.UnmodifiableObservableList; import java.util.*; +import static harmony.testutil.TestUtil.assertThrows; import static org.junit.Assert.assertSame; -import static seedu.address.testutil.TestUtil.assertThrows; public class UnmodifiableObservableListTest { diff --git a/src/test/java/seedu/address/storage/JsonUserPrefStorageTest.java b/src/test/java/harmony/storage/JsonUserPrefStorageTest.java similarity index 95% rename from src/test/java/seedu/address/storage/JsonUserPrefStorageTest.java rename to src/test/java/harmony/storage/JsonUserPrefStorageTest.java index de6d2348e0b7..122092fbf98b 100644 --- a/src/test/java/seedu/address/storage/JsonUserPrefStorageTest.java +++ b/src/test/java/harmony/storage/JsonUserPrefStorageTest.java @@ -1,13 +1,15 @@ -package seedu.address.storage; +package harmony.storage; import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; import org.junit.rules.TemporaryFolder; -import seedu.address.commons.exceptions.DataConversionException; -import seedu.address.commons.util.FileUtil; -import seedu.address.model.UserPrefs; + +import harmony.commons.exceptions.DataConversionException; +import harmony.commons.util.FileUtil; +import harmony.model.UserPrefs; +import harmony.storage.JsonUserPrefStorage; import java.io.File; import java.io.IOException; diff --git a/src/test/java/seedu/address/storage/StorageManagerTest.java b/src/test/java/harmony/storage/StorageManagerTest.java similarity index 88% rename from src/test/java/seedu/address/storage/StorageManagerTest.java rename to src/test/java/harmony/storage/StorageManagerTest.java index 0e919872665b..e15144ff7e11 100644 --- a/src/test/java/seedu/address/storage/StorageManagerTest.java +++ b/src/test/java/harmony/storage/StorageManagerTest.java @@ -1,14 +1,16 @@ -package seedu.address.storage; +package harmony.storage; import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.rules.TemporaryFolder; -import seedu.address.model.AddressBook; -import seedu.address.model.ReadOnlyAddressBook; -import seedu.address.model.UserPrefs; -import seedu.address.testutil.TypicalTestPersons; + +import harmony.model.AddressBook; +import harmony.model.ReadOnlyAddressBook; +import harmony.model.UserPrefs; +import harmony.storage.StorageManager; +import harmony.testutil.TypicalTestPersons; import static org.junit.Assert.assertEquals; diff --git a/src/test/java/seedu/address/storage/XmlAddressBookStorageTest.java b/src/test/java/harmony/storage/XmlAddressBookStorageTest.java similarity index 91% rename from src/test/java/seedu/address/storage/XmlAddressBookStorageTest.java rename to src/test/java/harmony/storage/XmlAddressBookStorageTest.java index 650bd692e50a..b0442aa7e4e7 100644 --- a/src/test/java/seedu/address/storage/XmlAddressBookStorageTest.java +++ b/src/test/java/harmony/storage/XmlAddressBookStorageTest.java @@ -1,16 +1,18 @@ -package seedu.address.storage; +package harmony.storage; import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; import org.junit.rules.TemporaryFolder; -import seedu.address.commons.exceptions.DataConversionException; -import seedu.address.commons.util.FileUtil; -import seedu.address.model.AddressBook; -import seedu.address.model.ReadOnlyAddressBook; -import seedu.address.model.person.Person; -import seedu.address.testutil.TypicalTestPersons; + +import harmony.commons.exceptions.DataConversionException; +import harmony.commons.util.FileUtil; +import harmony.model.AddressBook; +import harmony.model.ReadOnlyAddressBook; +import harmony.model.person.Person; +import harmony.storage.XmlAddressBookStorage; +import harmony.testutil.TypicalTestPersons; import java.io.IOException; diff --git a/src/test/java/seedu/address/testutil/AddressBookBuilder.java b/src/test/java/harmony/testutil/AddressBookBuilder.java similarity index 74% rename from src/test/java/seedu/address/testutil/AddressBookBuilder.java rename to src/test/java/harmony/testutil/AddressBookBuilder.java index a623b81c878f..104adeef19c3 100644 --- a/src/test/java/seedu/address/testutil/AddressBookBuilder.java +++ b/src/test/java/harmony/testutil/AddressBookBuilder.java @@ -1,10 +1,10 @@ -package seedu.address.testutil; +package harmony.testutil; -import seedu.address.commons.exceptions.IllegalValueException; -import seedu.address.model.tag.Tag; -import seedu.address.model.AddressBook; -import seedu.address.model.person.Person; -import seedu.address.model.person.UniquePersonList; +import harmony.commons.exceptions.IllegalValueException; +import harmony.model.AddressBook; +import harmony.model.person.Person; +import harmony.model.person.UniquePersonList; +import harmony.model.tag.Tag; /** * A utility class to help with building Addressbook objects. diff --git a/src/test/java/seedu/address/testutil/PersonBuilder.java b/src/test/java/harmony/testutil/PersonBuilder.java similarity index 86% rename from src/test/java/seedu/address/testutil/PersonBuilder.java rename to src/test/java/harmony/testutil/PersonBuilder.java index 8b02a1668ef6..c73fc92d9e5b 100644 --- a/src/test/java/seedu/address/testutil/PersonBuilder.java +++ b/src/test/java/harmony/testutil/PersonBuilder.java @@ -1,8 +1,8 @@ -package seedu.address.testutil; +package harmony.testutil; -import seedu.address.commons.exceptions.IllegalValueException; -import seedu.address.model.tag.Tag; -import seedu.address.model.person.*; +import harmony.commons.exceptions.IllegalValueException; +import harmony.model.person.*; +import harmony.model.tag.Tag; /** * diff --git a/src/test/java/seedu/address/testutil/SerializableTestClass.java b/src/test/java/harmony/testutil/SerializableTestClass.java similarity index 98% rename from src/test/java/seedu/address/testutil/SerializableTestClass.java rename to src/test/java/harmony/testutil/SerializableTestClass.java index ef58ef857179..583367221ed9 100644 --- a/src/test/java/seedu/address/testutil/SerializableTestClass.java +++ b/src/test/java/harmony/testutil/SerializableTestClass.java @@ -1,4 +1,4 @@ -package seedu.address.testutil; +package harmony.testutil; import java.time.LocalDateTime; import java.util.ArrayList; diff --git a/src/test/java/seedu/address/testutil/TestPerson.java b/src/test/java/harmony/testutil/TestPerson.java similarity index 92% rename from src/test/java/seedu/address/testutil/TestPerson.java rename to src/test/java/harmony/testutil/TestPerson.java index 19ee5ded1cd3..7bfeafc6f7c0 100644 --- a/src/test/java/seedu/address/testutil/TestPerson.java +++ b/src/test/java/harmony/testutil/TestPerson.java @@ -1,7 +1,7 @@ -package seedu.address.testutil; +package harmony.testutil; -import seedu.address.model.tag.UniqueTagList; -import seedu.address.model.person.*; +import harmony.model.person.*; +import harmony.model.tag.UniqueTagList; /** * A mutable person object. For testing only. diff --git a/src/test/java/seedu/address/testutil/TestUtil.java b/src/test/java/harmony/testutil/TestUtil.java similarity index 96% rename from src/test/java/seedu/address/testutil/TestUtil.java rename to src/test/java/harmony/testutil/TestUtil.java index 17c92d66398a..b330cd775d06 100644 --- a/src/test/java/seedu/address/testutil/TestUtil.java +++ b/src/test/java/harmony/testutil/TestUtil.java @@ -1,7 +1,16 @@ -package seedu.address.testutil; +package harmony.testutil; import com.google.common.io.Files; import guitests.guihandles.PersonCardHandle; +import harmony.TestApp; +import harmony.commons.exceptions.IllegalValueException; +import harmony.commons.util.FileUtil; +import harmony.commons.util.XmlUtil; +import harmony.model.AddressBook; +import harmony.model.person.*; +import harmony.model.tag.Tag; +import harmony.model.tag.UniqueTagList; +import harmony.storage.XmlSerializableAddressBook; import javafx.geometry.Bounds; import javafx.geometry.Point2D; import javafx.scene.Node; @@ -12,15 +21,6 @@ import junit.framework.AssertionFailedError; import org.loadui.testfx.GuiTest; import org.testfx.api.FxToolkit; -import seedu.address.TestApp; -import seedu.address.commons.exceptions.IllegalValueException; -import seedu.address.commons.util.FileUtil; -import seedu.address.commons.util.XmlUtil; -import seedu.address.model.AddressBook; -import seedu.address.model.person.*; -import seedu.address.model.tag.Tag; -import seedu.address.model.tag.UniqueTagList; -import seedu.address.storage.XmlSerializableAddressBook; import java.io.File; import java.io.IOException; diff --git a/src/test/java/seedu/address/testutil/TypicalTestPersons.java b/src/test/java/harmony/testutil/TypicalTestPersons.java similarity index 94% rename from src/test/java/seedu/address/testutil/TypicalTestPersons.java rename to src/test/java/harmony/testutil/TypicalTestPersons.java index 773f64a98cc3..8e4da733b2da 100644 --- a/src/test/java/seedu/address/testutil/TypicalTestPersons.java +++ b/src/test/java/harmony/testutil/TypicalTestPersons.java @@ -1,8 +1,8 @@ -package seedu.address.testutil; +package harmony.testutil; -import seedu.address.commons.exceptions.IllegalValueException; -import seedu.address.model.AddressBook; -import seedu.address.model.person.*; +import harmony.commons.exceptions.IllegalValueException; +import harmony.model.AddressBook; +import harmony.model.person.*; /** * From 776f6a02c75a3ed6b706f66e1c68ada0b0683f7d Mon Sep 17 00:00:00 2001 From: Dylan Chew Date: Thu, 6 Oct 2016 19:01:06 +0800 Subject: [PATCH 025/457] remove dependencies on Address --- src/main/java/harmony/MainApp.java | 10 +- ...vent.java => TaskManagerChangedEvent.java} | 8 +- ...va => TaskPanelSelectionChangedEvent.java} | 10 +- src/main/java/harmony/logic/Logic.java | 4 +- src/main/java/harmony/logic/LogicManager.java | 4 +- .../harmony/logic/commands/AddCommand.java | 21 ++- .../harmony/logic/commands/ClearCommand.java | 4 +- .../harmony/logic/commands/DeleteCommand.java | 8 +- .../harmony/logic/commands/EditCommand.java | 29 ++-- .../harmony/logic/commands/SelectCommand.java | 4 +- .../harmony/logic/commands/UndoCommand.java | 2 +- .../java/harmony/logic/parser/Parser.java | 1 - src/main/java/harmony/model/Model.java | 16 +- src/main/java/harmony/model/ModelManager.java | 46 ++--- ...ressBook.java => ReadOnlyTaskManager.java} | 10 +- .../{AddressBook.java => TaskManager.java} | 52 +++--- .../model/{person => task}/Address.java | 2 +- .../{person/Email.java => task/Date.java} | 10 +- .../harmony/model/{person => task}/Name.java | 2 +- .../ReadOnlyTask.java} | 22 +-- .../{person/Person.java => task/Task.java} | 41 ++--- .../{person/Phone.java => task/Time.java} | 10 +- .../UniqueTaskList.java} | 24 +-- src/main/java/harmony/storage/Storage.java | 12 +- .../java/harmony/storage/StorageManager.java | 14 +- ...okStorage.java => TaskManagerStorage.java} | 14 +- ...AdaptedPerson.java => XmlAdaptedTask.java} | 24 ++- .../storage/XmlSerializableAddressBook.java | 22 +-- ...torage.java => XmlTaskManagerStorage.java} | 20 +-- .../java/seedu/address/ui/BrowserPanel.java | 4 +- .../java/seedu/address/ui/MainWindow.java | 10 +- .../seedu/address/ui/StatusBarFooter.java | 4 +- .../ui/{PersonCard.java => TaskCard.java} | 19 +-- ...ersonListPanel.java => TaskListPanel.java} | 32 ++-- src/main/java/seedu/address/ui/UiManager.java | 4 +- src/main/resources/view/PersonListPanel.fxml | 2 +- .../java/guitests/AddressBookGuiTest.java | 10 +- src/test/java/guitests/SelectCommandTest.java | 4 +- .../guitests/guihandles/PersonCardHandle.java | 8 +- .../guihandles/PersonListPanelHandle.java | 34 ++-- src/test/java/harmony/TestApp.java | 6 +- .../harmony/commons/util/XmlUtilTest.java | 20 +-- .../java/harmony/logic/LogicManagerTest.java | 161 +++++++++--------- .../harmony/storage/StorageManagerTest.java | 10 +- .../storage/XmlAddressBookStorageTest.java | 32 ++-- .../harmony/testutil/AddressBookBuilder.java | 14 +- .../java/harmony/testutil/PersonBuilder.java | 11 +- .../java/harmony/testutil/TestPerson.java | 31 ++-- src/test/java/harmony/testutil/TestUtil.java | 36 ++-- .../harmony/testutil/TypicalTestPersons.java | 44 ++--- 50 files changed, 451 insertions(+), 491 deletions(-) rename src/main/java/harmony/commons/events/model/{AddressBookChangedEvent.java => TaskManagerChangedEvent.java} (62%) rename src/main/java/harmony/commons/events/ui/{PersonPanelSelectionChangedEvent.java => TaskPanelSelectionChangedEvent.java} (54%) rename src/main/java/harmony/model/{ReadOnlyAddressBook.java => ReadOnlyTaskManager.java} (63%) rename src/main/java/harmony/model/{AddressBook.java => TaskManager.java} (67%) rename src/main/java/harmony/model/{person => task}/Address.java (97%) rename src/main/java/harmony/model/{person/Email.java => task/Date.java} (83%) rename src/main/java/harmony/model/{person => task}/Name.java (97%) rename src/main/java/harmony/model/{person/ReadOnlyPerson.java => task/ReadOnlyTask.java} (75%) rename src/main/java/harmony/model/{person/Person.java => task/Task.java} (57%) rename src/main/java/harmony/model/{person/Phone.java => task/Time.java} (82%) rename src/main/java/harmony/model/{person/UniquePersonList.java => task/UniqueTaskList.java} (77%) rename src/main/java/harmony/storage/{AddressBookStorage.java => TaskManagerStorage.java} (63%) rename src/main/java/harmony/storage/{XmlAdaptedPerson.java => XmlAdaptedTask.java} (70%) rename src/main/java/harmony/storage/{XmlAddressBookStorage.java => XmlTaskManagerStorage.java} (75%) rename src/main/java/seedu/address/ui/{PersonCard.java => TaskCard.java} (68%) rename src/main/java/seedu/address/ui/{PersonListPanel.java => TaskListPanel.java} (69%) diff --git a/src/main/java/harmony/MainApp.java b/src/main/java/harmony/MainApp.java index aa1c33f1d2a6..99099ed2a663 100644 --- a/src/main/java/harmony/MainApp.java +++ b/src/main/java/harmony/MainApp.java @@ -71,20 +71,20 @@ private String getApplicationParameter(String parameterName){ } private Model initModelManager(Storage storage, UserPrefs userPrefs) { - Optional addressBookOptional; - ReadOnlyAddressBook initialData; + Optional addressBookOptional; + ReadOnlyTaskManager initialData; try { addressBookOptional = storage.readAddressBook(); if(!addressBookOptional.isPresent()){ logger.info("Data file not found. Will be starting with an empty AddressBook"); } - initialData = addressBookOptional.orElse(new AddressBook()); + initialData = addressBookOptional.orElse(new TaskManager()); } catch (DataConversionException e) { logger.warning("Data file not in the correct format. Will be starting with an empty AddressBook"); - initialData = new AddressBook(); + initialData = new TaskManager(); } catch (FileNotFoundException e) { logger.warning("Problem while reading from the file. . Will be starting with an empty AddressBook"); - initialData = new AddressBook(); + initialData = new TaskManager(); } return new ModelManager(initialData, userPrefs); diff --git a/src/main/java/harmony/commons/events/model/AddressBookChangedEvent.java b/src/main/java/harmony/commons/events/model/TaskManagerChangedEvent.java similarity index 62% rename from src/main/java/harmony/commons/events/model/AddressBookChangedEvent.java rename to src/main/java/harmony/commons/events/model/TaskManagerChangedEvent.java index 6c981348443e..907e60671179 100644 --- a/src/main/java/harmony/commons/events/model/AddressBookChangedEvent.java +++ b/src/main/java/harmony/commons/events/model/TaskManagerChangedEvent.java @@ -1,14 +1,14 @@ package harmony.commons.events.model; import harmony.commons.events.BaseEvent; -import harmony.model.ReadOnlyAddressBook; +import harmony.model.ReadOnlyTaskManager; /** Indicates the AddressBook in the model has changed*/ -public class AddressBookChangedEvent extends BaseEvent { +public class TaskManagerChangedEvent extends BaseEvent { - public final ReadOnlyAddressBook data; + public final ReadOnlyTaskManager data; - public AddressBookChangedEvent(ReadOnlyAddressBook data){ + public TaskManagerChangedEvent(ReadOnlyTaskManager data){ this.data = data; } diff --git a/src/main/java/harmony/commons/events/ui/PersonPanelSelectionChangedEvent.java b/src/main/java/harmony/commons/events/ui/TaskPanelSelectionChangedEvent.java similarity index 54% rename from src/main/java/harmony/commons/events/ui/PersonPanelSelectionChangedEvent.java rename to src/main/java/harmony/commons/events/ui/TaskPanelSelectionChangedEvent.java index 5aba8fb60f42..aa04251b9904 100644 --- a/src/main/java/harmony/commons/events/ui/PersonPanelSelectionChangedEvent.java +++ b/src/main/java/harmony/commons/events/ui/TaskPanelSelectionChangedEvent.java @@ -1,17 +1,17 @@ package harmony.commons.events.ui; import harmony.commons.events.BaseEvent; -import harmony.model.person.ReadOnlyPerson; +import harmony.model.task.ReadOnlyTask; /** * Represents a selection change in the Person List Panel */ -public class PersonPanelSelectionChangedEvent extends BaseEvent { +public class TaskPanelSelectionChangedEvent extends BaseEvent { - private final ReadOnlyPerson newSelection; + private final ReadOnlyTask newSelection; - public PersonPanelSelectionChangedEvent(ReadOnlyPerson newSelection){ + public TaskPanelSelectionChangedEvent(ReadOnlyTask newSelection){ this.newSelection = newSelection; } @@ -20,7 +20,7 @@ public String toString() { return this.getClass().getSimpleName(); } - public ReadOnlyPerson getNewSelection() { + public ReadOnlyTask getNewSelection() { return newSelection; } } diff --git a/src/main/java/harmony/logic/Logic.java b/src/main/java/harmony/logic/Logic.java index 32789d156bd6..79c475441f4e 100644 --- a/src/main/java/harmony/logic/Logic.java +++ b/src/main/java/harmony/logic/Logic.java @@ -1,7 +1,7 @@ package harmony.logic; import harmony.logic.commands.CommandResult; -import harmony.model.person.ReadOnlyPerson; +import harmony.model.task.ReadOnlyTask; import javafx.collections.ObservableList; /** @@ -16,6 +16,6 @@ public interface Logic { CommandResult execute(String commandText); /** Returns the filtered list of persons */ - ObservableList getFilteredPersonList(); + ObservableList getFilteredPersonList(); } diff --git a/src/main/java/harmony/logic/LogicManager.java b/src/main/java/harmony/logic/LogicManager.java index 23706c7c1748..72c7db954250 100644 --- a/src/main/java/harmony/logic/LogicManager.java +++ b/src/main/java/harmony/logic/LogicManager.java @@ -10,7 +10,7 @@ import harmony.logic.commands.CommandResult; import harmony.logic.parser.Parser; import harmony.model.Model; -import harmony.model.person.ReadOnlyPerson; +import harmony.model.task.ReadOnlyTask; import harmony.storage.Storage; /** @@ -36,7 +36,7 @@ public CommandResult execute(String commandText) { } @Override - public ObservableList getFilteredPersonList() { + public ObservableList getFilteredPersonList() { return model.getFilteredPersonList(); } } diff --git a/src/main/java/harmony/logic/commands/AddCommand.java b/src/main/java/harmony/logic/commands/AddCommand.java index 34a8cc64b23f..f4b232d550d2 100644 --- a/src/main/java/harmony/logic/commands/AddCommand.java +++ b/src/main/java/harmony/logic/commands/AddCommand.java @@ -5,9 +5,9 @@ import harmony.commons.core.Messages; import harmony.commons.exceptions.IllegalValueException; -import harmony.model.person.*; import harmony.model.tag.Tag; import harmony.model.tag.UniqueTagList; +import harmony.model.task.*; /** * Adds a person to the address book. @@ -17,32 +17,31 @@ public class AddCommand extends Command implements Undoable{ public static final String COMMAND_WORD = "add"; public static final String MESSAGE_USAGE = COMMAND_WORD + ": Adds a person to the address book. " - + "Parameters: NAME p/PHONE e/EMAIL a/ADDRESS [t/TAG]...\n" + + "Parameters: NAME p/PHONE e/EMAIL [t/TAG]...\n" + "Example: " + COMMAND_WORD - + " John Doe p/98765432 e/johnd@gmail.com a/311, Clementi Ave 2, #02-25 t/friends t/owesMoney"; + + " John Doe p/98765432 e/johnd@gmail.com t/friends t/owesMoney"; public static final String MESSAGE_SUCCESS = "New person added: %1$s"; public static final String MESSAGE_UNDO_SUCCESS = "[Undo Add Command] Person deleted: %1$s"; public static final String MESSAGE_DUPLICATE_PERSON = "This person already exists in the address book"; - private final Person toAdd; + private final Task toAdd; /** * Convenience constructor using raw values. * * @throws IllegalValueException if any of the raw values are invalid */ - public AddCommand(String name, String phone, String email, String address, Set tags) + public AddCommand(String name, String phone, String email, Set tags) throws IllegalValueException { final Set tagSet = new HashSet<>(); for (String tagName : tags) { tagSet.add(new Tag(tagName)); } - this.toAdd = new Person( + this.toAdd = new Task( new Name(name), - new Phone(phone), - new Email(email), - new Address(address), + new Time(phone), + new Date(email), new UniqueTagList(tagSet) ); } @@ -55,7 +54,7 @@ public CommandResult execute() { model.getCommandHistory().push(this); return new CommandResult(String.format(MESSAGE_SUCCESS, toAdd)); - } catch (UniquePersonList.DuplicatePersonException e) { + } catch (UniqueTaskList.DuplicatePersonException e) { return new CommandResult(MESSAGE_DUPLICATE_PERSON); } @@ -68,7 +67,7 @@ public CommandResult undo() { model.deletePerson(toAdd); return new CommandResult(String.format(MESSAGE_UNDO_SUCCESS, toAdd)); - } catch (UniquePersonList.PersonNotFoundException pne) { + } catch (UniqueTaskList.PersonNotFoundException pne) { return new CommandResult(Messages.MESSAGE_PERSON_NOT_IN_ADDRESSBOOK); } } diff --git a/src/main/java/harmony/logic/commands/ClearCommand.java b/src/main/java/harmony/logic/commands/ClearCommand.java index d5637f469428..3ae5081e79a7 100644 --- a/src/main/java/harmony/logic/commands/ClearCommand.java +++ b/src/main/java/harmony/logic/commands/ClearCommand.java @@ -1,6 +1,6 @@ package harmony.logic.commands; -import harmony.model.AddressBook; +import harmony.model.TaskManager; /** * Clears the address book. @@ -16,7 +16,7 @@ public ClearCommand() {} @Override public CommandResult execute() { assert model != null; - model.resetData(AddressBook.getEmptyAddressBook()); + model.resetData(TaskManager.getEmptyAddressBook()); return new CommandResult(MESSAGE_SUCCESS); } } diff --git a/src/main/java/harmony/logic/commands/DeleteCommand.java b/src/main/java/harmony/logic/commands/DeleteCommand.java index 892fc59f5b40..beac38abeca9 100644 --- a/src/main/java/harmony/logic/commands/DeleteCommand.java +++ b/src/main/java/harmony/logic/commands/DeleteCommand.java @@ -2,8 +2,8 @@ import harmony.commons.core.Messages; import harmony.commons.core.UnmodifiableObservableList; -import harmony.model.person.ReadOnlyPerson; -import harmony.model.person.UniquePersonList.PersonNotFoundException; +import harmony.model.task.ReadOnlyTask; +import harmony.model.task.UniqueTaskList.PersonNotFoundException; /** * Deletes a person identified using it's last displayed index from the address book. @@ -29,14 +29,14 @@ public DeleteCommand(int targetIndex) { @Override public CommandResult execute() { - UnmodifiableObservableList lastShownList = model.getFilteredPersonList(); + UnmodifiableObservableList lastShownList = model.getFilteredPersonList(); if (lastShownList.size() < targetIndex) { indicateAttemptToExecuteIncorrectCommand(); return new CommandResult(Messages.MESSAGE_INVALID_PERSON_DISPLAYED_INDEX); } - ReadOnlyPerson personToDelete = lastShownList.get(targetIndex - 1); + ReadOnlyTask personToDelete = lastShownList.get(targetIndex - 1); try { model.deletePerson(personToDelete); diff --git a/src/main/java/harmony/logic/commands/EditCommand.java b/src/main/java/harmony/logic/commands/EditCommand.java index 55c722c7a0d6..17d4087ed036 100644 --- a/src/main/java/harmony/logic/commands/EditCommand.java +++ b/src/main/java/harmony/logic/commands/EditCommand.java @@ -7,16 +7,16 @@ import harmony.commons.core.Messages; import harmony.commons.core.UnmodifiableObservableList; import harmony.commons.exceptions.IllegalValueException; -import harmony.model.person.Address; -import harmony.model.person.Email; -import harmony.model.person.Name; -import harmony.model.person.Person; -import harmony.model.person.Phone; -import harmony.model.person.ReadOnlyPerson; -import harmony.model.person.UniquePersonList.DuplicatePersonException; -import harmony.model.person.UniquePersonList.PersonNotFoundException; import harmony.model.tag.Tag; import harmony.model.tag.UniqueTagList; +import harmony.model.task.Address; +import harmony.model.task.Date; +import harmony.model.task.Name; +import harmony.model.task.ReadOnlyTask; +import harmony.model.task.Task; +import harmony.model.task.Time; +import harmony.model.task.UniqueTaskList.DuplicatePersonException; +import harmony.model.task.UniqueTaskList.PersonNotFoundException; public class EditCommand extends Command{ @@ -35,8 +35,8 @@ public class EditCommand extends Command{ // private MainWindow window; private final int targetIndex; - private ReadOnlyPerson personToEdit; - private Person toEdit; + private ReadOnlyTask personToEdit; + private Task toEdit; public EditCommand(int targetIndex,String name, String phone, String email, String address, Set tags) throws IllegalValueException{ @@ -46,11 +46,10 @@ public EditCommand(int targetIndex,String name, String phone, String email, for (String tagName : tags) { tagSet.add(new Tag(tagName)); } - this.toEdit = new Person( + this.toEdit = new Task( new Name(name), - new Phone(phone), - new Email(email), - new Address(address), + new Time(phone), + new Date(email), new UniqueTagList(tagSet) ); } @@ -60,7 +59,7 @@ public EditCommand(int targetIndex,String name, String phone, String email, @Override public CommandResult execute() { - UnmodifiableObservableList lastShownList = model.getFilteredPersonList(); + UnmodifiableObservableList lastShownList = model.getFilteredPersonList(); if (lastShownList.size() < targetIndex) { indicateAttemptToExecuteIncorrectCommand(); diff --git a/src/main/java/harmony/logic/commands/SelectCommand.java b/src/main/java/harmony/logic/commands/SelectCommand.java index 60e50d968aad..03b40192e5db 100644 --- a/src/main/java/harmony/logic/commands/SelectCommand.java +++ b/src/main/java/harmony/logic/commands/SelectCommand.java @@ -4,7 +4,7 @@ import harmony.commons.core.Messages; import harmony.commons.core.UnmodifiableObservableList; import harmony.commons.events.ui.JumpToListRequestEvent; -import harmony.model.person.ReadOnlyPerson; +import harmony.model.task.ReadOnlyTask; /** * Selects a person identified using it's last displayed index from the address book. @@ -29,7 +29,7 @@ public SelectCommand(int targetIndex) { @Override public CommandResult execute() { - UnmodifiableObservableList lastShownList = model.getFilteredPersonList(); + UnmodifiableObservableList lastShownList = model.getFilteredPersonList(); if (lastShownList.size() < targetIndex) { indicateAttemptToExecuteIncorrectCommand(); diff --git a/src/main/java/harmony/logic/commands/UndoCommand.java b/src/main/java/harmony/logic/commands/UndoCommand.java index 7967ddc6ca98..ac60f48aa924 100644 --- a/src/main/java/harmony/logic/commands/UndoCommand.java +++ b/src/main/java/harmony/logic/commands/UndoCommand.java @@ -2,7 +2,7 @@ import java.util.EmptyStackException; -import harmony.model.AddressBook; +import harmony.model.TaskManager; public class UndoCommand extends Command{ diff --git a/src/main/java/harmony/logic/parser/Parser.java b/src/main/java/harmony/logic/parser/Parser.java index 8892405cf028..cce5a4e4d3b1 100644 --- a/src/main/java/harmony/logic/parser/Parser.java +++ b/src/main/java/harmony/logic/parser/Parser.java @@ -110,7 +110,6 @@ private Command prepareAdd(String args){ matcher.group("name"), matcher.group("phone"), matcher.group("email"), - matcher.group("address"), getTagsFromArgs(matcher.group("tagArguments")) ); } catch (IllegalValueException ive) { diff --git a/src/main/java/harmony/model/Model.java b/src/main/java/harmony/model/Model.java index fa414ba46916..20f90aae7d72 100644 --- a/src/main/java/harmony/model/Model.java +++ b/src/main/java/harmony/model/Model.java @@ -5,32 +5,32 @@ import harmony.commons.core.UnmodifiableObservableList; import harmony.logic.commands.Command; -import harmony.model.person.Person; -import harmony.model.person.ReadOnlyPerson; -import harmony.model.person.UniquePersonList; import harmony.model.tag.Tag; +import harmony.model.task.ReadOnlyTask; +import harmony.model.task.Task; +import harmony.model.task.UniqueTaskList; /** * The API of the Model component. */ public interface Model { /** Clears existing backing model and replaces with the provided new data. */ - void resetData(ReadOnlyAddressBook newData); + void resetData(ReadOnlyTaskManager newData); /** Returns the AddressBook */ - ReadOnlyAddressBook getAddressBook(); + ReadOnlyTaskManager getAddressBook(); /** Deletes the given person. */ - void deletePerson(ReadOnlyPerson target) throws UniquePersonList.PersonNotFoundException; + void deletePerson(ReadOnlyTask target) throws UniqueTaskList.PersonNotFoundException; /** Adds the given person */ - void addPerson(Person person) throws UniquePersonList.DuplicatePersonException; + void addPerson(Task person) throws UniqueTaskList.DuplicatePersonException; /** Returns the stack of command history */ Stack getCommandHistory(); /** Returns the filtered person list as an {@code UnmodifiableObservableList} */ - UnmodifiableObservableList getFilteredPersonList(); + UnmodifiableObservableList getFilteredPersonList(); /** Updates the filter of the filtered person list to show all persons */ void updateFilteredListToShowAll(); diff --git a/src/main/java/harmony/model/ModelManager.java b/src/main/java/harmony/model/ModelManager.java index e333410f4296..2424808b4864 100644 --- a/src/main/java/harmony/model/ModelManager.java +++ b/src/main/java/harmony/model/ModelManager.java @@ -10,14 +10,14 @@ import harmony.commons.core.ComponentManager; import harmony.commons.core.LogsCenter; import harmony.commons.core.UnmodifiableObservableList; -import harmony.commons.events.model.AddressBookChangedEvent; +import harmony.commons.events.model.TaskManagerChangedEvent; import harmony.commons.util.StringUtil; import harmony.logic.commands.Command; -import harmony.model.person.Person; -import harmony.model.person.ReadOnlyPerson; -import harmony.model.person.UniquePersonList; -import harmony.model.person.UniquePersonList.PersonNotFoundException; import harmony.model.tag.Tag; +import harmony.model.task.ReadOnlyTask; +import harmony.model.task.Task; +import harmony.model.task.UniqueTaskList; +import harmony.model.task.UniqueTaskList.PersonNotFoundException; /** * Represents the in-memory model of the address book data. @@ -26,50 +26,50 @@ public class ModelManager extends ComponentManager implements Model { private static final Logger logger = LogsCenter.getLogger(ModelManager.class); - private final AddressBook addressBook; - private final FilteredList filteredPersons; + private final TaskManager addressBook; + private final FilteredList filteredPersons; private final Stack commandHistory; /** * Initializes a ModelManager with the given AddressBook * AddressBook and its variables should not be null */ - public ModelManager(AddressBook src, UserPrefs userPrefs) { + public ModelManager(TaskManager src, UserPrefs userPrefs) { super(); assert src != null; assert userPrefs != null; logger.fine("Initializing with address book: " + src + " and user prefs " + userPrefs); - addressBook = new AddressBook(src); + addressBook = new TaskManager(src); filteredPersons = new FilteredList<>(addressBook.getPersons()); commandHistory = new Stack<>(); } public ModelManager() { - this(new AddressBook(), new UserPrefs()); + this(new TaskManager(), new UserPrefs()); } - public ModelManager(ReadOnlyAddressBook initialData, UserPrefs userPrefs) { - addressBook = new AddressBook(initialData); + public ModelManager(ReadOnlyTaskManager initialData, UserPrefs userPrefs) { + addressBook = new TaskManager(initialData); filteredPersons = new FilteredList<>(addressBook.getPersons()); commandHistory = new Stack<>(); } @Override - public void resetData(ReadOnlyAddressBook newData) { + public void resetData(ReadOnlyTaskManager newData) { addressBook.resetData(newData); indicateAddressBookChanged(); } @Override - public ReadOnlyAddressBook getAddressBook() { + public ReadOnlyTaskManager getAddressBook() { return addressBook; } /** Raises an event to indicate the model has changed */ private void indicateAddressBookChanged() { - raise(new AddressBookChangedEvent(addressBook)); + raise(new TaskManagerChangedEvent(addressBook)); } @Override @@ -78,13 +78,13 @@ public Stack getCommandHistory() { } @Override - public synchronized void deletePerson(ReadOnlyPerson target) throws PersonNotFoundException { + public synchronized void deletePerson(ReadOnlyTask target) throws PersonNotFoundException { addressBook.removePerson(target); indicateAddressBookChanged(); } @Override - public synchronized void addPerson(Person person) throws UniquePersonList.DuplicatePersonException { + public synchronized void addPerson(Task person) throws UniqueTaskList.DuplicatePersonException { addressBook.addPerson(person); updateFilteredListToShowAll(); indicateAddressBookChanged(); @@ -93,7 +93,7 @@ public synchronized void addPerson(Person person) throws UniquePersonList.Duplic //=========== Filtered Person List Accessors =============================================================== @Override - public UnmodifiableObservableList getFilteredPersonList() { + public UnmodifiableObservableList getFilteredPersonList() { return new UnmodifiableObservableList<>(filteredPersons); } @@ -119,7 +119,7 @@ private void updateFilteredPersonList(Expression expression) { //========== Inner classes/interfaces used for filtering ================================================== interface Expression { - boolean satisfies(ReadOnlyPerson person); + boolean satisfies(ReadOnlyTask person); String toString(); } @@ -132,7 +132,7 @@ private class PredicateExpression implements Expression { } @Override - public boolean satisfies(ReadOnlyPerson person) { + public boolean satisfies(ReadOnlyTask person) { return qualifier.run(person); } @@ -143,7 +143,7 @@ public String toString() { } interface Qualifier { - boolean run(ReadOnlyPerson person); + boolean run(ReadOnlyTask person); String toString(); } @@ -155,7 +155,7 @@ private class NameQualifier implements Qualifier { } @Override - public boolean run(ReadOnlyPerson person) { + public boolean run(ReadOnlyTask person) { return nameKeyWords.stream() .filter(keyword -> StringUtil.containsIgnoreCase(person.getName().fullName, keyword)) .findAny() @@ -176,7 +176,7 @@ private class TagQualifier implements Qualifier { } @Override - public boolean run(ReadOnlyPerson person) { + public boolean run(ReadOnlyTask person) { final Set tagList = person.getTags().toSet(); return !Collections.disjoint(tagList, tagKeyWords); diff --git a/src/main/java/harmony/model/ReadOnlyAddressBook.java b/src/main/java/harmony/model/ReadOnlyTaskManager.java similarity index 63% rename from src/main/java/harmony/model/ReadOnlyAddressBook.java rename to src/main/java/harmony/model/ReadOnlyTaskManager.java index c8a6d4bf48d0..4950a246eefe 100644 --- a/src/main/java/harmony/model/ReadOnlyAddressBook.java +++ b/src/main/java/harmony/model/ReadOnlyTaskManager.java @@ -3,24 +3,24 @@ import java.util.List; -import harmony.model.person.ReadOnlyPerson; -import harmony.model.person.UniquePersonList; import harmony.model.tag.Tag; import harmony.model.tag.UniqueTagList; +import harmony.model.task.ReadOnlyTask; +import harmony.model.task.UniqueTaskList; /** * Unmodifiable view of an address book */ -public interface ReadOnlyAddressBook { +public interface ReadOnlyTaskManager { UniqueTagList getUniqueTagList(); - UniquePersonList getUniquePersonList(); + UniqueTaskList getUniquePersonList(); /** * Returns an unmodifiable view of persons list */ - List getPersonList(); + List getPersonList(); /** * Returns an unmodifiable view of tags list diff --git a/src/main/java/harmony/model/AddressBook.java b/src/main/java/harmony/model/TaskManager.java similarity index 67% rename from src/main/java/harmony/model/AddressBook.java rename to src/main/java/harmony/model/TaskManager.java index 36d48d2e232f..eee012d12de8 100644 --- a/src/main/java/harmony/model/AddressBook.java +++ b/src/main/java/harmony/model/TaskManager.java @@ -5,53 +5,53 @@ import java.util.*; import java.util.stream.Collectors; -import harmony.model.person.Person; -import harmony.model.person.ReadOnlyPerson; -import harmony.model.person.UniquePersonList; import harmony.model.tag.Tag; import harmony.model.tag.UniqueTagList; +import harmony.model.task.ReadOnlyTask; +import harmony.model.task.Task; +import harmony.model.task.UniqueTaskList; /** * Wraps all data at the address-book level * Duplicates are not allowed (by .equals comparison) */ -public class AddressBook implements ReadOnlyAddressBook { +public class TaskManager implements ReadOnlyTaskManager { - private final UniquePersonList persons; + private final UniqueTaskList persons; private final UniqueTagList tags; { - persons = new UniquePersonList(); + persons = new UniqueTaskList(); tags = new UniqueTagList(); } - public AddressBook() {} + public TaskManager() {} /** * Persons and Tags are copied into this addressbook */ - public AddressBook(ReadOnlyAddressBook toBeCopied) { + public TaskManager(ReadOnlyTaskManager toBeCopied) { this(toBeCopied.getUniquePersonList(), toBeCopied.getUniqueTagList()); } /** * Persons and Tags are copied into this addressbook */ - public AddressBook(UniquePersonList persons, UniqueTagList tags) { + public TaskManager(UniqueTaskList persons, UniqueTagList tags) { resetData(persons.getInternalList(), tags.getInternalList()); } - public static ReadOnlyAddressBook getEmptyAddressBook() { - return new AddressBook(); + public static ReadOnlyTaskManager getEmptyAddressBook() { + return new TaskManager(); } //// list overwrite operations - public ObservableList getPersons() { + public ObservableList getPersons() { return persons.getInternalList(); } - public void setPersons(List persons) { + public void setPersons(List persons) { this.persons.getInternalList().setAll(persons); } @@ -59,12 +59,12 @@ public void setTags(Collection tags) { this.tags.getInternalList().setAll(tags); } - public void resetData(Collection newPersons, Collection newTags) { - setPersons(newPersons.stream().map(Person::new).collect(Collectors.toList())); + public void resetData(Collection newPersons, Collection newTags) { + setPersons(newPersons.stream().map(Task::new).collect(Collectors.toList())); setTags(newTags); } - public void resetData(ReadOnlyAddressBook newData) { + public void resetData(ReadOnlyTaskManager newData) { resetData(newData.getPersonList(), newData.getTagList()); } @@ -75,9 +75,9 @@ public void resetData(ReadOnlyAddressBook newData) { * Also checks the new person's tags and updates {@link #tags} with any new tags found, * and updates the Tag objects in the person to point to those in {@link #tags}. * - * @throws UniquePersonList.DuplicatePersonException if an equivalent person already exists. + * @throws UniqueTaskList.DuplicatePersonException if an equivalent person already exists. */ - public void addPerson(Person p) throws UniquePersonList.DuplicatePersonException { + public void addPerson(Task p) throws UniqueTaskList.DuplicatePersonException { syncTagsWithMasterList(p); persons.add(p); } @@ -87,7 +87,7 @@ public void addPerson(Person p) throws UniquePersonList.DuplicatePersonException * - exists in the master list {@link #tags} * - points to a Tag object in the master list */ - private void syncTagsWithMasterList(Person person) { + private void syncTagsWithMasterList(Task person) { final UniqueTagList personTags = person.getTags(); tags.mergeFrom(personTags); @@ -105,11 +105,11 @@ private void syncTagsWithMasterList(Person person) { person.setTags(new UniqueTagList(commonTagReferences)); } - public boolean removePerson(ReadOnlyPerson key) throws UniquePersonList.PersonNotFoundException { + public boolean removePerson(ReadOnlyTask key) throws UniqueTaskList.PersonNotFoundException { if (persons.remove(key)) { return true; } else { - throw new UniquePersonList.PersonNotFoundException(); + throw new UniqueTaskList.PersonNotFoundException(); } } @@ -128,7 +128,7 @@ public String toString() { } @Override - public List getPersonList() { + public List getPersonList() { return Collections.unmodifiableList(persons.getInternalList()); } @@ -138,7 +138,7 @@ public List getTagList() { } @Override - public UniquePersonList getUniquePersonList() { + public UniqueTaskList getUniquePersonList() { return this.persons; } @@ -151,9 +151,9 @@ public UniqueTagList getUniqueTagList() { @Override public boolean equals(Object other) { return other == this // short circuit if same object - || (other instanceof AddressBook // instanceof handles nulls - && this.persons.equals(((AddressBook) other).persons) - && this.tags.equals(((AddressBook) other).tags)); + || (other instanceof TaskManager // instanceof handles nulls + && this.persons.equals(((TaskManager) other).persons) + && this.tags.equals(((TaskManager) other).tags)); } @Override diff --git a/src/main/java/harmony/model/person/Address.java b/src/main/java/harmony/model/task/Address.java similarity index 97% rename from src/main/java/harmony/model/person/Address.java rename to src/main/java/harmony/model/task/Address.java index f1cad64e76c5..86ac4c3c80bf 100644 --- a/src/main/java/harmony/model/person/Address.java +++ b/src/main/java/harmony/model/task/Address.java @@ -1,4 +1,4 @@ -package harmony.model.person; +package harmony.model.task; import harmony.commons.exceptions.IllegalValueException; diff --git a/src/main/java/harmony/model/person/Email.java b/src/main/java/harmony/model/task/Date.java similarity index 83% rename from src/main/java/harmony/model/person/Email.java rename to src/main/java/harmony/model/task/Date.java index 920b2c5dcc76..6c9502e7ed4e 100644 --- a/src/main/java/harmony/model/person/Email.java +++ b/src/main/java/harmony/model/task/Date.java @@ -1,4 +1,4 @@ -package harmony.model.person; +package harmony.model.task; import harmony.commons.exceptions.IllegalValueException; @@ -7,7 +7,7 @@ * Represents a Person's phone number in the address book. * Guarantees: immutable; is valid as declared in {@link #isValidEmail(String)} */ -public class Email { +public class Date { public static final String MESSAGE_EMAIL_CONSTRAINTS = "Person emails should be 2 alphanumeric/period strings separated by '@'"; @@ -20,7 +20,7 @@ public class Email { * * @throws IllegalValueException if given email address string is invalid. */ - public Email(String email) throws IllegalValueException { + public Date(String email) throws IllegalValueException { assert email != null; email = email.trim(); if (!isValidEmail(email)) { @@ -44,8 +44,8 @@ public String toString() { @Override public boolean equals(Object other) { return other == this // short circuit if same object - || (other instanceof Email // instanceof handles nulls - && this.value.equals(((Email) other).value)); // state check + || (other instanceof Date // instanceof handles nulls + && this.value.equals(((Date) other).value)); // state check } @Override diff --git a/src/main/java/harmony/model/person/Name.java b/src/main/java/harmony/model/task/Name.java similarity index 97% rename from src/main/java/harmony/model/person/Name.java rename to src/main/java/harmony/model/task/Name.java index ae49c801bd52..a020e8e86d98 100644 --- a/src/main/java/harmony/model/person/Name.java +++ b/src/main/java/harmony/model/task/Name.java @@ -1,4 +1,4 @@ -package harmony.model.person; +package harmony.model.task; import harmony.commons.exceptions.IllegalValueException; diff --git a/src/main/java/harmony/model/person/ReadOnlyPerson.java b/src/main/java/harmony/model/task/ReadOnlyTask.java similarity index 75% rename from src/main/java/harmony/model/person/ReadOnlyPerson.java rename to src/main/java/harmony/model/task/ReadOnlyTask.java index ee563499fe24..bdb09c2d2add 100644 --- a/src/main/java/harmony/model/person/ReadOnlyPerson.java +++ b/src/main/java/harmony/model/task/ReadOnlyTask.java @@ -1,4 +1,4 @@ -package harmony.model.person; +package harmony.model.task; import harmony.model.tag.UniqueTagList; @@ -6,12 +6,11 @@ * A read-only immutable interface for a Person in the addressbook. * Implementations should guarantee: details are present and not null, field values are validated. */ -public interface ReadOnlyPerson { +public interface ReadOnlyTask { Name getName(); - Phone getPhone(); - Email getEmail(); - Address getAddress(); + Time getTime(); + Date getDate(); /** * The returned TagList is a deep copy of the internal TagList, @@ -22,13 +21,12 @@ public interface ReadOnlyPerson { /** * Returns true if both have the same state. (interfaces cannot override .equals) */ - default boolean isSameStateAs(ReadOnlyPerson other) { + default boolean isSameStateAs(ReadOnlyTask other) { return other == this // short circuit if same object || (other != null // this is first to avoid NPE below && other.getName().equals(this.getName()) // state checks here onwards - && other.getPhone().equals(this.getPhone()) - && other.getEmail().equals(this.getEmail()) - && other.getAddress().equals(this.getAddress())); + && other.getTime().equals(this.getTime()) + && other.getDate().equals(this.getDate())); } /** @@ -38,11 +36,9 @@ default String getAsText() { final StringBuilder builder = new StringBuilder(); builder.append(getName()) .append(" Phone: ") - .append(getPhone()) + .append(getTime()) .append(" Email: ") - .append(getEmail()) - .append(" Address: ") - .append(getAddress()) + .append(getDate()) .append(" Tags: "); getTags().forEach(builder::append); return builder.toString(); diff --git a/src/main/java/harmony/model/person/Person.java b/src/main/java/harmony/model/task/Task.java similarity index 57% rename from src/main/java/harmony/model/person/Person.java rename to src/main/java/harmony/model/task/Task.java index 25219e40b36b..af1c862c3b4e 100644 --- a/src/main/java/harmony/model/person/Person.java +++ b/src/main/java/harmony/model/task/Task.java @@ -1,4 +1,4 @@ -package harmony.model.person; +package harmony.model.task; import java.util.Objects; @@ -9,32 +9,30 @@ * Represents a Person in the address book. * Guarantees: details are present and not null, field values are validated. */ -public class Person implements ReadOnlyPerson { +public class Task implements ReadOnlyTask { private Name name; - private Phone phone; - private Email email; - private Address address; + private Time time; + private Date date; private UniqueTagList tags; /** * Every field must be present and not null. */ - public Person(Name name, Phone phone, Email email, Address address, UniqueTagList tags) { - assert !CollectionUtil.isAnyNull(name, phone, email, address, tags); + public Task(Name name, Time time, Date date, UniqueTagList tags) { + assert !CollectionUtil.isAnyNull(name, time, date, tags); this.name = name; - this.phone = phone; - this.email = email; - this.address = address; + this.time = time; + this.date = date; this.tags = new UniqueTagList(tags); // protect internal tags from changes in the arg list } /** * Copy constructor. */ - public Person(ReadOnlyPerson source) { - this(source.getName(), source.getPhone(), source.getEmail(), source.getAddress(), source.getTags()); + public Task(ReadOnlyTask source) { + this(source.getName(), source.getTime(), source.getDate(), source.getTags()); } @Override @@ -43,18 +41,13 @@ public Name getName() { } @Override - public Phone getPhone() { - return phone; + public Time getTime() { + return time; } @Override - public Email getEmail() { - return email; - } - - @Override - public Address getAddress() { - return address; + public Date getDate() { + return date; } @Override @@ -72,14 +65,14 @@ public void setTags(UniqueTagList replacement) { @Override public boolean equals(Object other) { return other == this // short circuit if same object - || (other instanceof ReadOnlyPerson // instanceof handles nulls - && this.isSameStateAs((ReadOnlyPerson) other)); + || (other instanceof ReadOnlyTask // instanceof handles nulls + && this.isSameStateAs((ReadOnlyTask) other)); } @Override public int hashCode() { // use this method for custom fields hashing instead of implementing your own - return Objects.hash(name, phone, email, address, tags); + return Objects.hash(name, time, date, tags); } @Override diff --git a/src/main/java/harmony/model/person/Phone.java b/src/main/java/harmony/model/task/Time.java similarity index 82% rename from src/main/java/harmony/model/person/Phone.java rename to src/main/java/harmony/model/task/Time.java index dba632ac46d0..72249c3aa104 100644 --- a/src/main/java/harmony/model/person/Phone.java +++ b/src/main/java/harmony/model/task/Time.java @@ -1,4 +1,4 @@ -package harmony.model.person; +package harmony.model.task; import harmony.commons.exceptions.IllegalValueException; @@ -6,7 +6,7 @@ * Represents a Person's phone number in the address book. * Guarantees: immutable; is valid as declared in {@link #isValidPhone(String)} */ -public class Phone { +public class Time { public static final String MESSAGE_PHONE_CONSTRAINTS = "Person phone numbers should only contain numbers"; public static final String PHONE_VALIDATION_REGEX = "\\d+"; @@ -18,7 +18,7 @@ public class Phone { * * @throws IllegalValueException if given phone string is invalid. */ - public Phone(String phone) throws IllegalValueException { + public Time(String phone) throws IllegalValueException { assert phone != null; phone = phone.trim(); if (!isValidPhone(phone)) { @@ -42,8 +42,8 @@ public String toString() { @Override public boolean equals(Object other) { return other == this // short circuit if same object - || (other instanceof Phone // instanceof handles nulls - && this.value.equals(((Phone) other).value)); // state check + || (other instanceof Time // instanceof handles nulls + && this.value.equals(((Time) other).value)); // state check } @Override diff --git a/src/main/java/harmony/model/person/UniquePersonList.java b/src/main/java/harmony/model/task/UniqueTaskList.java similarity index 77% rename from src/main/java/harmony/model/person/UniquePersonList.java rename to src/main/java/harmony/model/task/UniqueTaskList.java index d089d399c83d..e8f1ea440806 100644 --- a/src/main/java/harmony/model/person/UniquePersonList.java +++ b/src/main/java/harmony/model/task/UniqueTaskList.java @@ -1,4 +1,4 @@ -package harmony.model.person; +package harmony.model.task; import javafx.collections.FXCollections; import javafx.collections.ObservableList; @@ -13,10 +13,10 @@ * * Supports a minimal set of list operations. * - * @see Person#equals(Object) + * @see Task#equals(Object) * @see CollectionUtil#elementsAreUnique(Collection) */ -public class UniquePersonList implements Iterable { +public class UniqueTaskList implements Iterable { /** * Signals that an operation would have violated the 'no duplicates' property of the list. @@ -33,17 +33,17 @@ protected DuplicatePersonException() { */ public static class PersonNotFoundException extends Exception {} - private final ObservableList internalList = FXCollections.observableArrayList(); + private final ObservableList internalList = FXCollections.observableArrayList(); /** * Constructs empty PersonList. */ - public UniquePersonList() {} + public UniqueTaskList() {} /** * Returns true if the list contains an equivalent person as the given argument. */ - public boolean contains(ReadOnlyPerson toCheck) { + public boolean contains(ReadOnlyTask toCheck) { assert toCheck != null; return internalList.contains(toCheck); } @@ -53,7 +53,7 @@ public boolean contains(ReadOnlyPerson toCheck) { * * @throws DuplicatePersonException if the person to add is a duplicate of an existing person in the list. */ - public void add(Person toAdd) throws DuplicatePersonException { + public void add(Task toAdd) throws DuplicatePersonException { assert toAdd != null; if (contains(toAdd)) { throw new DuplicatePersonException(); @@ -66,7 +66,7 @@ public void add(Person toAdd) throws DuplicatePersonException { * * @throws PersonNotFoundException if no such person could be found in the list. */ - public boolean remove(ReadOnlyPerson toRemove) throws PersonNotFoundException { + public boolean remove(ReadOnlyTask toRemove) throws PersonNotFoundException { assert toRemove != null; final boolean personFoundAndDeleted = internalList.remove(toRemove); if (!personFoundAndDeleted) { @@ -75,21 +75,21 @@ public boolean remove(ReadOnlyPerson toRemove) throws PersonNotFoundException { return personFoundAndDeleted; } - public ObservableList getInternalList() { + public ObservableList getInternalList() { return internalList; } @Override - public Iterator iterator() { + public Iterator iterator() { return internalList.iterator(); } @Override public boolean equals(Object other) { return other == this // short circuit if same object - || (other instanceof UniquePersonList // instanceof handles nulls + || (other instanceof UniqueTaskList // instanceof handles nulls && this.internalList.equals( - ((UniquePersonList) other).internalList)); + ((UniqueTaskList) other).internalList)); } @Override diff --git a/src/main/java/harmony/storage/Storage.java b/src/main/java/harmony/storage/Storage.java index b3ba15e9135d..4ad7f71c1a3a 100644 --- a/src/main/java/harmony/storage/Storage.java +++ b/src/main/java/harmony/storage/Storage.java @@ -4,16 +4,16 @@ import java.io.IOException; import java.util.Optional; -import harmony.commons.events.model.AddressBookChangedEvent; +import harmony.commons.events.model.TaskManagerChangedEvent; import harmony.commons.events.storage.DataSavingExceptionEvent; import harmony.commons.exceptions.DataConversionException; -import harmony.model.ReadOnlyAddressBook; +import harmony.model.ReadOnlyTaskManager; import harmony.model.UserPrefs; /** * API of the Storage component */ -public interface Storage extends AddressBookStorage, UserPrefsStorage { +public interface Storage extends TaskManagerStorage, UserPrefsStorage { @Override Optional readUserPrefs() throws DataConversionException, IOException; @@ -25,15 +25,15 @@ public interface Storage extends AddressBookStorage, UserPrefsStorage { String getAddressBookFilePath(); @Override - Optional readAddressBook() throws DataConversionException, FileNotFoundException; + Optional readAddressBook() throws DataConversionException, FileNotFoundException; @Override - void saveAddressBook(ReadOnlyAddressBook addressBook) throws IOException; + void saveAddressBook(ReadOnlyTaskManager addressBook) throws IOException; /** * Saves the current version of the Address Book to the hard disk. * Creates the data file if it is missing. * Raises {@link DataSavingExceptionEvent} if there was an error during saving. */ - void handleAddressBookChangedEvent(AddressBookChangedEvent abce); + void handleAddressBookChangedEvent(TaskManagerChangedEvent abce); } diff --git a/src/main/java/harmony/storage/StorageManager.java b/src/main/java/harmony/storage/StorageManager.java index a73cf14d225b..7f8cd1c92b4f 100644 --- a/src/main/java/harmony/storage/StorageManager.java +++ b/src/main/java/harmony/storage/StorageManager.java @@ -4,10 +4,10 @@ import harmony.commons.core.ComponentManager; import harmony.commons.core.LogsCenter; -import harmony.commons.events.model.AddressBookChangedEvent; +import harmony.commons.events.model.TaskManagerChangedEvent; import harmony.commons.events.storage.DataSavingExceptionEvent; import harmony.commons.exceptions.DataConversionException; -import harmony.model.ReadOnlyAddressBook; +import harmony.model.ReadOnlyTaskManager; import harmony.model.UserPrefs; import java.io.FileNotFoundException; @@ -21,13 +21,13 @@ public class StorageManager extends ComponentManager implements Storage { private static final Logger logger = LogsCenter.getLogger(StorageManager.class); - private XmlAddressBookStorage addressBookStorage; + private XmlTaskManagerStorage addressBookStorage; private JsonUserPrefStorage userPrefStorage; public StorageManager(String addressBookFilePath, String userPrefsFilePath) { super(); - this.addressBookStorage = new XmlAddressBookStorage(addressBookFilePath); + this.addressBookStorage = new XmlTaskManagerStorage(addressBookFilePath); this.userPrefStorage = new JsonUserPrefStorage(userPrefsFilePath); } @@ -52,21 +52,21 @@ public String getAddressBookFilePath() { } @Override - public Optional readAddressBook() throws DataConversionException, FileNotFoundException { + public Optional readAddressBook() throws DataConversionException, FileNotFoundException { logger.fine("Attempting to read data from file: " + addressBookStorage.getAddressBookFilePath()); return addressBookStorage.readAddressBook(addressBookStorage.getAddressBookFilePath()); } @Override - public void saveAddressBook(ReadOnlyAddressBook addressBook) throws IOException { + public void saveAddressBook(ReadOnlyTaskManager addressBook) throws IOException { addressBookStorage.saveAddressBook(addressBook, addressBookStorage.getAddressBookFilePath()); } @Override @Subscribe - public void handleAddressBookChangedEvent(AddressBookChangedEvent event) { + public void handleAddressBookChangedEvent(TaskManagerChangedEvent event) { logger.info(LogsCenter.getEventHandlingLogMessage(event, "Local data changed, saving to file")); try { saveAddressBook(event.data); diff --git a/src/main/java/harmony/storage/AddressBookStorage.java b/src/main/java/harmony/storage/TaskManagerStorage.java similarity index 63% rename from src/main/java/harmony/storage/AddressBookStorage.java rename to src/main/java/harmony/storage/TaskManagerStorage.java index 6f367ac5c52c..86c7008099ca 100644 --- a/src/main/java/harmony/storage/AddressBookStorage.java +++ b/src/main/java/harmony/storage/TaskManagerStorage.java @@ -4,12 +4,12 @@ import java.util.Optional; import harmony.commons.exceptions.DataConversionException; -import harmony.model.ReadOnlyAddressBook; +import harmony.model.ReadOnlyTaskManager; /** - * Represents a storage for {@link harmony.model.AddressBook}. + * Represents a storage for {@link harmony.model.TaskManager}. */ -public interface AddressBookStorage { +public interface TaskManagerStorage { /** * Returns the file path of the data file. @@ -17,18 +17,18 @@ public interface AddressBookStorage { String getAddressBookFilePath(); /** - * Returns AddressBook data as a {@link ReadOnlyAddressBook}. + * Returns AddressBook data as a {@link ReadOnlyTaskManager}. * Returns {@code Optional.empty()} if storage file is not found. * @throws DataConversionException if the data in storage is not in the expected format. * @throws IOException if there was any problem when reading from the storage. */ - Optional readAddressBook() throws DataConversionException, IOException; + Optional readAddressBook() throws DataConversionException, IOException; /** - * Saves the given {@link ReadOnlyAddressBook} to the storage. + * Saves the given {@link ReadOnlyTaskManager} to the storage. * @param addressBook cannot be null. * @throws IOException if there was any problem writing to the file. */ - void saveAddressBook(ReadOnlyAddressBook addressBook) throws IOException; + void saveAddressBook(ReadOnlyTaskManager addressBook) throws IOException; } diff --git a/src/main/java/harmony/storage/XmlAdaptedPerson.java b/src/main/java/harmony/storage/XmlAdaptedTask.java similarity index 70% rename from src/main/java/harmony/storage/XmlAdaptedPerson.java rename to src/main/java/harmony/storage/XmlAdaptedTask.java index 0420f92013f7..e00fd73cfb1c 100644 --- a/src/main/java/harmony/storage/XmlAdaptedPerson.java +++ b/src/main/java/harmony/storage/XmlAdaptedTask.java @@ -3,9 +3,9 @@ import javax.xml.bind.annotation.XmlElement; import harmony.commons.exceptions.IllegalValueException; -import harmony.model.person.*; import harmony.model.tag.Tag; import harmony.model.tag.UniqueTagList; +import harmony.model.task.*; import java.util.ArrayList; import java.util.List; @@ -13,7 +13,7 @@ /** * JAXB-friendly version of the Person. */ -public class XmlAdaptedPerson { +public class XmlAdaptedTask { @XmlElement(required = true) private String name; @@ -21,8 +21,6 @@ public class XmlAdaptedPerson { private String phone; @XmlElement(required = true) private String email; - @XmlElement(required = true) - private String address; @XmlElement private List tagged = new ArrayList<>(); @@ -30,7 +28,7 @@ public class XmlAdaptedPerson { /** * No-arg constructor for JAXB use. */ - public XmlAdaptedPerson() {} + public XmlAdaptedTask() {} /** @@ -38,11 +36,10 @@ public XmlAdaptedPerson() {} * * @param source future changes to this will not affect the created XmlAdaptedPerson */ - public XmlAdaptedPerson(ReadOnlyPerson source) { + public XmlAdaptedTask(ReadOnlyTask source) { name = source.getName().fullName; - phone = source.getPhone().value; - email = source.getEmail().value; - address = source.getAddress().value; + phone = source.getTime().value; + email = source.getDate().value; tagged = new ArrayList<>(); for (Tag tag : source.getTags()) { tagged.add(new XmlAdaptedTag(tag)); @@ -54,16 +51,15 @@ public XmlAdaptedPerson(ReadOnlyPerson source) { * * @throws IllegalValueException if there were any data constraints violated in the adapted person */ - public Person toModelType() throws IllegalValueException { + public Task toModelType() throws IllegalValueException { final List personTags = new ArrayList<>(); for (XmlAdaptedTag tag : tagged) { personTags.add(tag.toModelType()); } final Name name = new Name(this.name); - final Phone phone = new Phone(this.phone); - final Email email = new Email(this.email); - final Address address = new Address(this.address); + final Time phone = new Time(this.phone); + final Date email = new Date(this.email); final UniqueTagList tags = new UniqueTagList(personTags); - return new Person(name, phone, email, address, tags); + return new Task(name, phone, email, tags); } } diff --git a/src/main/java/harmony/storage/XmlSerializableAddressBook.java b/src/main/java/harmony/storage/XmlSerializableAddressBook.java index 1018ae361feb..d3c2762a2759 100644 --- a/src/main/java/harmony/storage/XmlSerializableAddressBook.java +++ b/src/main/java/harmony/storage/XmlSerializableAddressBook.java @@ -4,11 +4,11 @@ import javax.xml.bind.annotation.XmlRootElement; import harmony.commons.exceptions.IllegalValueException; -import harmony.model.ReadOnlyAddressBook; -import harmony.model.person.ReadOnlyPerson; -import harmony.model.person.UniquePersonList; +import harmony.model.ReadOnlyTaskManager; import harmony.model.tag.Tag; import harmony.model.tag.UniqueTagList; +import harmony.model.task.ReadOnlyTask; +import harmony.model.task.UniqueTaskList; import java.util.ArrayList; import java.util.Collections; @@ -19,10 +19,10 @@ * An Immutable AddressBook that is serializable to XML format */ @XmlRootElement(name = "addressbook") -public class XmlSerializableAddressBook implements ReadOnlyAddressBook { +public class XmlSerializableAddressBook implements ReadOnlyTaskManager { @XmlElement - private List persons; + private List persons; @XmlElement private List tags; @@ -39,8 +39,8 @@ public XmlSerializableAddressBook() {} /** * Conversion */ - public XmlSerializableAddressBook(ReadOnlyAddressBook src) { - persons.addAll(src.getPersonList().stream().map(XmlAdaptedPerson::new).collect(Collectors.toList())); + public XmlSerializableAddressBook(ReadOnlyTaskManager src) { + persons.addAll(src.getPersonList().stream().map(XmlAdaptedTask::new).collect(Collectors.toList())); tags = src.getTagList(); } @@ -55,9 +55,9 @@ public UniqueTagList getUniqueTagList() { } @Override - public UniquePersonList getUniquePersonList() { - UniquePersonList lists = new UniquePersonList(); - for (XmlAdaptedPerson p : persons) { + public UniqueTaskList getUniquePersonList() { + UniqueTaskList lists = new UniqueTaskList(); + for (XmlAdaptedTask p : persons) { try { lists.add(p.toModelType()); } catch (IllegalValueException e) { @@ -68,7 +68,7 @@ public UniquePersonList getUniquePersonList() { } @Override - public List getPersonList() { + public List getPersonList() { return persons.stream().map(p -> { try { return p.toModelType(); diff --git a/src/main/java/harmony/storage/XmlAddressBookStorage.java b/src/main/java/harmony/storage/XmlTaskManagerStorage.java similarity index 75% rename from src/main/java/harmony/storage/XmlAddressBookStorage.java rename to src/main/java/harmony/storage/XmlTaskManagerStorage.java index e44d83f25d11..586a1bf4a8ff 100644 --- a/src/main/java/harmony/storage/XmlAddressBookStorage.java +++ b/src/main/java/harmony/storage/XmlTaskManagerStorage.java @@ -9,18 +9,18 @@ import harmony.commons.core.LogsCenter; import harmony.commons.exceptions.DataConversionException; import harmony.commons.util.FileUtil; -import harmony.model.ReadOnlyAddressBook; +import harmony.model.ReadOnlyTaskManager; /** * A class to access AddressBook data stored as an xml file on the hard disk. */ -public class XmlAddressBookStorage implements AddressBookStorage { +public class XmlTaskManagerStorage implements TaskManagerStorage { - private static final Logger logger = LogsCenter.getLogger(XmlAddressBookStorage.class); + private static final Logger logger = LogsCenter.getLogger(XmlTaskManagerStorage.class); private String filePath; - public XmlAddressBookStorage(String filePath){ + public XmlTaskManagerStorage(String filePath){ this.filePath = filePath; } @@ -33,7 +33,7 @@ public String getAddressBookFilePath(){ * @param filePath location of the data. Cannot be null * @throws DataConversionException if the file is not in the correct format. */ - public Optional readAddressBook(String filePath) throws DataConversionException, FileNotFoundException { + public Optional readAddressBook(String filePath) throws DataConversionException, FileNotFoundException { assert filePath != null; File addressBookFile = new File(filePath); @@ -43,16 +43,16 @@ public Optional readAddressBook(String filePath) throws Dat return Optional.empty(); } - ReadOnlyAddressBook addressBookOptional = XmlFileStorage.loadDataFromSaveFile(new File(filePath)); + ReadOnlyTaskManager addressBookOptional = XmlFileStorage.loadDataFromSaveFile(new File(filePath)); return Optional.of(addressBookOptional); } /** - * Similar to {@link #saveAddressBook(ReadOnlyAddressBook)} + * Similar to {@link #saveAddressBook(ReadOnlyTaskManager)} * @param filePath location of the data. Cannot be null */ - public void saveAddressBook(ReadOnlyAddressBook addressBook, String filePath) throws IOException { + public void saveAddressBook(ReadOnlyTaskManager addressBook, String filePath) throws IOException { assert addressBook != null; assert filePath != null; @@ -62,12 +62,12 @@ public void saveAddressBook(ReadOnlyAddressBook addressBook, String filePath) th } @Override - public Optional readAddressBook() throws DataConversionException, IOException { + public Optional readAddressBook() throws DataConversionException, IOException { return readAddressBook(filePath); } @Override - public void saveAddressBook(ReadOnlyAddressBook addressBook) throws IOException { + public void saveAddressBook(ReadOnlyTaskManager addressBook) throws IOException { saveAddressBook(addressBook, filePath); } } diff --git a/src/main/java/seedu/address/ui/BrowserPanel.java b/src/main/java/seedu/address/ui/BrowserPanel.java index 899c31d38e0e..a3bb39098b44 100644 --- a/src/main/java/seedu/address/ui/BrowserPanel.java +++ b/src/main/java/seedu/address/ui/BrowserPanel.java @@ -9,7 +9,7 @@ import harmony.commons.core.LogsCenter; import harmony.commons.util.FxViewUtil; -import harmony.model.person.ReadOnlyPerson; +import harmony.model.task.ReadOnlyTask; /** * The Browser Panel of the App. @@ -51,7 +51,7 @@ public static BrowserPanel load(AnchorPane placeholder){ return browserPanel; } - public void loadPersonPage(ReadOnlyPerson person) { + public void loadPersonPage(ReadOnlyTask person) { loadPage("https://www.google.com.sg/#safe=off&q=" + person.getName().fullName.replaceAll(" ", "+")); } diff --git a/src/main/java/seedu/address/ui/MainWindow.java b/src/main/java/seedu/address/ui/MainWindow.java index 9e7391b56655..63679ee72b99 100644 --- a/src/main/java/seedu/address/ui/MainWindow.java +++ b/src/main/java/seedu/address/ui/MainWindow.java @@ -5,7 +5,7 @@ import harmony.commons.events.ui.ExitAppRequestEvent; import harmony.logic.Logic; import harmony.model.UserPrefs; -import harmony.model.person.ReadOnlyPerson; +import harmony.model.task.ReadOnlyTask; import javafx.fxml.FXML; import javafx.scene.Node; import javafx.scene.Scene; @@ -30,7 +30,7 @@ public class MainWindow extends UiPart { // Independent Ui parts residing in this Ui container private BrowserPanel browserPanel; - private PersonListPanel personListPanel; + private TaskListPanel personListPanel; private ResultDisplay resultDisplay; private StatusBarFooter statusBarFooter; private CommandBox commandBox; @@ -109,7 +109,7 @@ private void setAccelerators() { void fillInnerParts() { browserPanel = BrowserPanel.load(browserPlaceholder); - personListPanel = PersonListPanel.load(primaryStage, getPersonListPlaceholder(), logic.getFilteredPersonList()); + personListPanel = TaskListPanel.load(primaryStage, getPersonListPlaceholder(), logic.getFilteredPersonList()); resultDisplay = ResultDisplay.load(primaryStage, getResultDisplayPlaceholder()); statusBarFooter = StatusBarFooter.load(primaryStage, getStatusbarPlaceholder(), config.getAddressBookFilePath()); commandBox = CommandBox.load(primaryStage, getCommandBoxPlaceholder(), resultDisplay, logic); @@ -182,11 +182,11 @@ private void handleExit() { raise(new ExitAppRequestEvent()); } - public PersonListPanel getPersonListPanel() { + public TaskListPanel getPersonListPanel() { return this.personListPanel; } - public void loadPersonPage(ReadOnlyPerson person) { + public void loadPersonPage(ReadOnlyTask person) { browserPanel.loadPersonPage(person); } diff --git a/src/main/java/seedu/address/ui/StatusBarFooter.java b/src/main/java/seedu/address/ui/StatusBarFooter.java index a21ab76624ff..ee414b95437d 100644 --- a/src/main/java/seedu/address/ui/StatusBarFooter.java +++ b/src/main/java/seedu/address/ui/StatusBarFooter.java @@ -3,7 +3,7 @@ import com.google.common.eventbus.Subscribe; import harmony.commons.core.LogsCenter; -import harmony.commons.events.model.AddressBookChangedEvent; +import harmony.commons.events.model.TaskManagerChangedEvent; import harmony.commons.util.FxViewUtil; import javafx.fxml.FXML; import javafx.scene.Node; @@ -91,7 +91,7 @@ public String getFxmlPath() { } @Subscribe - public void handleAddressBookChangedEvent(AddressBookChangedEvent abce) { + public void handleAddressBookChangedEvent(TaskManagerChangedEvent abce) { String lastUpdated = (new Date()).toString(); logger.info(LogsCenter.getEventHandlingLogMessage(abce, "Setting last updated status to " + lastUpdated)); setSyncStatus("Last Updated: " + lastUpdated); diff --git a/src/main/java/seedu/address/ui/PersonCard.java b/src/main/java/seedu/address/ui/TaskCard.java similarity index 68% rename from src/main/java/seedu/address/ui/PersonCard.java rename to src/main/java/seedu/address/ui/TaskCard.java index b1750b4a9e93..30d61d5ace5d 100644 --- a/src/main/java/seedu/address/ui/PersonCard.java +++ b/src/main/java/seedu/address/ui/TaskCard.java @@ -1,12 +1,12 @@ package seedu.address.ui; -import harmony.model.person.ReadOnlyPerson; +import harmony.model.task.ReadOnlyTask; import javafx.fxml.FXML; import javafx.scene.Node; import javafx.scene.control.Label; import javafx.scene.layout.HBox; -public class PersonCard extends UiPart{ +public class TaskCard extends UiPart{ private static final String FXML = "PersonListCard.fxml"; @@ -19,21 +19,19 @@ public class PersonCard extends UiPart{ @FXML private Label phone; @FXML - private Label address; - @FXML private Label email; @FXML private Label tags; - private ReadOnlyPerson person; + private ReadOnlyTask person; private int displayedIndex; - public PersonCard(){ + public TaskCard(){ } - public static PersonCard load(ReadOnlyPerson person, int displayedIndex){ - PersonCard card = new PersonCard(); + public static TaskCard load(ReadOnlyTask person, int displayedIndex){ + TaskCard card = new TaskCard(); card.person = person; card.displayedIndex = displayedIndex; return UiPartLoader.loadUiPart(card); @@ -43,9 +41,8 @@ public static PersonCard load(ReadOnlyPerson person, int displayedIndex){ public void initialize() { name.setText(person.getName().fullName); id.setText(displayedIndex + ". "); - phone.setText(person.getPhone().value); - address.setText(person.getAddress().value); - email.setText(person.getEmail().value); + phone.setText(person.getTime().value); + email.setText(person.getDate().value); tags.setText(person.tagsString()); } diff --git a/src/main/java/seedu/address/ui/PersonListPanel.java b/src/main/java/seedu/address/ui/TaskListPanel.java similarity index 69% rename from src/main/java/seedu/address/ui/PersonListPanel.java rename to src/main/java/seedu/address/ui/TaskListPanel.java index ad6ad8dcc8e7..3412da45b9b2 100644 --- a/src/main/java/seedu/address/ui/PersonListPanel.java +++ b/src/main/java/seedu/address/ui/TaskListPanel.java @@ -14,22 +14,22 @@ import java.util.logging.Logger; import harmony.commons.core.LogsCenter; -import harmony.commons.events.ui.PersonPanelSelectionChangedEvent; -import harmony.model.person.ReadOnlyPerson; +import harmony.commons.events.ui.TaskPanelSelectionChangedEvent; +import harmony.model.task.ReadOnlyTask; /** * Panel containing the list of persons. */ -public class PersonListPanel extends UiPart { - private final Logger logger = LogsCenter.getLogger(PersonListPanel.class); +public class TaskListPanel extends UiPart { + private final Logger logger = LogsCenter.getLogger(TaskListPanel.class); private static final String FXML = "PersonListPanel.fxml"; private VBox panel; private AnchorPane placeHolderPane; @FXML - private ListView personListView; + private ListView personListView; - public PersonListPanel() { + public TaskListPanel() { super(); } @@ -48,20 +48,20 @@ public void setPlaceholder(AnchorPane pane) { this.placeHolderPane = pane; } - public static PersonListPanel load(Stage primaryStage, AnchorPane personListPlaceholder, - ObservableList personList) { - PersonListPanel personListPanel = - UiPartLoader.loadUiPart(primaryStage, personListPlaceholder, new PersonListPanel()); + public static TaskListPanel load(Stage primaryStage, AnchorPane personListPlaceholder, + ObservableList personList) { + TaskListPanel personListPanel = + UiPartLoader.loadUiPart(primaryStage, personListPlaceholder, new TaskListPanel()); personListPanel.configure(personList); return personListPanel; } - private void configure(ObservableList personList) { + private void configure(ObservableList personList) { setConnections(personList); addToPlaceholder(); } - private void setConnections(ObservableList personList) { + private void setConnections(ObservableList personList) { personListView.setItems(personList); personListView.setCellFactory(listView -> new PersonListViewCell()); setEventHandlerForSelectionChangeEvent(); @@ -76,7 +76,7 @@ private void setEventHandlerForSelectionChangeEvent() { personListView.getSelectionModel().selectedItemProperty().addListener((observable, oldValue, newValue) -> { if (newValue != null) { logger.fine("Selection in person list panel changed to : '" + newValue + "'"); - raise(new PersonPanelSelectionChangedEvent(newValue)); + raise(new TaskPanelSelectionChangedEvent(newValue)); } }); } @@ -88,20 +88,20 @@ public void scrollTo(int index) { }); } - class PersonListViewCell extends ListCell { + class PersonListViewCell extends ListCell { public PersonListViewCell() { } @Override - protected void updateItem(ReadOnlyPerson person, boolean empty) { + protected void updateItem(ReadOnlyTask person, boolean empty) { super.updateItem(person, empty); if (empty || person == null) { setGraphic(null); setText(null); } else { - setGraphic(PersonCard.load(person, getIndex() + 1).getLayout()); + setGraphic(TaskCard.load(person, getIndex() + 1).getLayout()); } } } diff --git a/src/main/java/seedu/address/ui/UiManager.java b/src/main/java/seedu/address/ui/UiManager.java index 36633b674572..21143d4da700 100644 --- a/src/main/java/seedu/address/ui/UiManager.java +++ b/src/main/java/seedu/address/ui/UiManager.java @@ -8,7 +8,7 @@ import harmony.commons.core.LogsCenter; import harmony.commons.events.storage.DataSavingExceptionEvent; import harmony.commons.events.ui.JumpToListRequestEvent; -import harmony.commons.events.ui.PersonPanelSelectionChangedEvent; +import harmony.commons.events.ui.TaskPanelSelectionChangedEvent; import harmony.commons.events.ui.ShowHelpRequestEvent; import harmony.commons.util.StringUtil; import harmony.logic.Logic; @@ -119,7 +119,7 @@ private void handleJumpToListRequestEvent(JumpToListRequestEvent event) { } @Subscribe - private void handlePersonPanelSelectionChangedEvent(PersonPanelSelectionChangedEvent event){ + private void handlePersonPanelSelectionChangedEvent(TaskPanelSelectionChangedEvent event){ logger.info(LogsCenter.getEventHandlingLogMessage(event)); mainWindow.loadPersonPage(event.getNewSelection()); } diff --git a/src/main/resources/view/PersonListPanel.fxml b/src/main/resources/view/PersonListPanel.fxml index 000c4c999b65..096268e4a3d0 100644 --- a/src/main/resources/view/PersonListPanel.fxml +++ b/src/main/resources/view/PersonListPanel.fxml @@ -3,7 +3,7 @@ - + diff --git a/src/test/java/guitests/AddressBookGuiTest.java b/src/test/java/guitests/AddressBookGuiTest.java index e045ad5ce8d2..0e653ac631eb 100644 --- a/src/test/java/guitests/AddressBookGuiTest.java +++ b/src/test/java/guitests/AddressBookGuiTest.java @@ -3,8 +3,8 @@ import guitests.guihandles.*; import harmony.TestApp; import harmony.commons.core.EventsCenter; -import harmony.model.AddressBook; -import harmony.model.person.ReadOnlyPerson; +import harmony.model.TaskManager; +import harmony.model.task.ReadOnlyTask; import harmony.testutil.TestUtil; import harmony.testutil.TypicalTestPersons; import javafx.stage.Stage; @@ -75,8 +75,8 @@ public void setup() throws Exception { * Override this in child classes to set the initial local data. * Return null to use the data in the file specified in {@link #getDataFileLocation()} */ - protected AddressBook getInitialData() { - AddressBook ab = TestUtil.generateEmptyAddressBook(); + protected TaskManager getInitialData() { + TaskManager ab = TestUtil.generateEmptyAddressBook(); TypicalTestPersons.loadAddressBookWithSampleData(ab); return ab; } @@ -97,7 +97,7 @@ public void cleanup() throws TimeoutException { /** * Asserts the person shown in the card is same as the given person */ - public void assertMatching(ReadOnlyPerson person, PersonCardHandle card) { + public void assertMatching(ReadOnlyTask person, PersonCardHandle card) { assertTrue(TestUtil.compareCardAndPerson(card, person)); } diff --git a/src/test/java/guitests/SelectCommandTest.java b/src/test/java/guitests/SelectCommandTest.java index 6bbe527d0b99..591b87eb2c48 100644 --- a/src/test/java/guitests/SelectCommandTest.java +++ b/src/test/java/guitests/SelectCommandTest.java @@ -2,7 +2,7 @@ import org.junit.Test; -import harmony.model.person.ReadOnlyPerson; +import harmony.model.task.ReadOnlyTask; import static org.junit.Assert.assertEquals; @@ -47,7 +47,7 @@ private void assertSelectionSuccess(int index) { private void assertPersonSelected(int index) { assertEquals(personListPanel.getSelectedPersons().size(), 1); - ReadOnlyPerson selectedPerson = personListPanel.getSelectedPersons().get(0); + ReadOnlyTask selectedPerson = personListPanel.getSelectedPersons().get(0); assertEquals(personListPanel.getPerson(index-1), selectedPerson); //TODO: confirm the correct page is loaded in the Browser Panel } diff --git a/src/test/java/guitests/guihandles/PersonCardHandle.java b/src/test/java/guitests/guihandles/PersonCardHandle.java index 260398406dcd..d7d0de91d21d 100644 --- a/src/test/java/guitests/guihandles/PersonCardHandle.java +++ b/src/test/java/guitests/guihandles/PersonCardHandle.java @@ -1,7 +1,7 @@ package guitests.guihandles; import guitests.GuiRobot; -import harmony.model.person.ReadOnlyPerson; +import harmony.model.task.ReadOnlyTask; import javafx.scene.Node; import javafx.stage.Stage; @@ -41,9 +41,9 @@ public String getEmail() { return getTextFromLabel(EMAIL_FIELD_ID); } - public boolean isSamePerson(ReadOnlyPerson person){ - return getFullName().equals(person.getName().fullName) && getPhone().equals(person.getPhone().value) - && getEmail().equals(person.getEmail().value) && getAddress().equals(person.getAddress().value); + public boolean isSamePerson(ReadOnlyTask person){ + return getFullName().equals(person.getName().fullName) && getPhone().equals(person.getTime().value) + && getEmail().equals(person.getDate().value); } @Override diff --git a/src/test/java/guitests/guihandles/PersonListPanelHandle.java b/src/test/java/guitests/guihandles/PersonListPanelHandle.java index cf217bbfdb27..9dda8a4fb58f 100644 --- a/src/test/java/guitests/guihandles/PersonListPanelHandle.java +++ b/src/test/java/guitests/guihandles/PersonListPanelHandle.java @@ -3,8 +3,8 @@ import guitests.GuiRobot; import harmony.TestApp; -import harmony.model.person.Person; -import harmony.model.person.ReadOnlyPerson; +import harmony.model.task.ReadOnlyTask; +import harmony.model.task.Task; import harmony.testutil.TestUtil; import javafx.geometry.Point2D; import javafx.scene.Node; @@ -31,20 +31,20 @@ public PersonListPanelHandle(GuiRobot guiRobot, Stage primaryStage) { super(guiRobot, primaryStage, TestApp.APP_TITLE); } - public List getSelectedPersons() { - ListView personList = getListView(); + public List getSelectedPersons() { + ListView personList = getListView(); return personList.getSelectionModel().getSelectedItems(); } - public ListView getListView() { - return (ListView) getNode(PERSON_LIST_VIEW_ID); + public ListView getListView() { + return (ListView) getNode(PERSON_LIST_VIEW_ID); } /** * Returns true if the list is showing the person details correctly and in correct order. * @param persons A list of person in the correct order. */ - public boolean isListMatching(ReadOnlyPerson... persons) { + public boolean isListMatching(ReadOnlyTask... persons) { return this.isListMatching(0, persons); } @@ -59,8 +59,8 @@ public void clickOnListView() { /** * Returns true if the {@code persons} appear as the sub list (in that order) at position {@code startPosition}. */ - public boolean containsInOrder(int startPosition, ReadOnlyPerson... persons) { - List personsInList = getListView().getItems(); + public boolean containsInOrder(int startPosition, ReadOnlyTask... persons) { + List personsInList = getListView().getItems(); // Return false if the list in panel is too short to contain the given list if (startPosition + persons.length > personsInList.size()){ @@ -82,7 +82,7 @@ public boolean containsInOrder(int startPosition, ReadOnlyPerson... persons) { * @param startPosition The starting position of the sub list. * @param persons A list of person in the correct order. */ - public boolean isListMatching(int startPosition, ReadOnlyPerson... persons) throws IllegalArgumentException { + public boolean isListMatching(int startPosition, ReadOnlyTask... persons) throws IllegalArgumentException { if (persons.length + startPosition != getListView().getItems().size()) { throw new IllegalArgumentException("List size mismatched\n" + "Expected " + (getListView().getItems().size() - 1) + " persons"); @@ -102,7 +102,7 @@ public boolean isListMatching(int startPosition, ReadOnlyPerson... persons) thro public PersonCardHandle navigateToPerson(String name) { guiRobot.sleep(500); //Allow a bit of time for the list to be updated - final Optional person = getListView().getItems().stream().filter(p -> p.getName().fullName.equals(name)).findAny(); + final Optional person = getListView().getItems().stream().filter(p -> p.getName().fullName.equals(name)).findAny(); if (!person.isPresent()) { throw new IllegalStateException("Name not found: " + name); } @@ -113,7 +113,7 @@ public PersonCardHandle navigateToPerson(String name) { /** * Navigates the listview to display and select the person. */ - public PersonCardHandle navigateToPerson(ReadOnlyPerson person) { + public PersonCardHandle navigateToPerson(ReadOnlyTask person) { int index = getPersonIndex(person); guiRobot.interact(() -> { @@ -129,8 +129,8 @@ public PersonCardHandle navigateToPerson(ReadOnlyPerson person) { /** * Returns the position of the person given, {@code NOT_FOUND} if not found in the list. */ - public int getPersonIndex(ReadOnlyPerson targetPerson) { - List personsInList = getListView().getItems(); + public int getPersonIndex(ReadOnlyTask targetPerson) { + List personsInList = getListView().getItems(); for (int i = 0; i < personsInList.size(); i++) { if(personsInList.get(i).getName().equals(targetPerson.getName())){ return i; @@ -142,15 +142,15 @@ public int getPersonIndex(ReadOnlyPerson targetPerson) { /** * Gets a person from the list by index */ - public ReadOnlyPerson getPerson(int index) { + public ReadOnlyTask getPerson(int index) { return getListView().getItems().get(index); } public PersonCardHandle getPersonCardHandle(int index) { - return getPersonCardHandle(new Person(getListView().getItems().get(index))); + return getPersonCardHandle(new Task(getListView().getItems().get(index))); } - public PersonCardHandle getPersonCardHandle(ReadOnlyPerson person) { + public PersonCardHandle getPersonCardHandle(ReadOnlyTask person) { Set nodes = getAllCardNodes(); Optional personCardNode = nodes.stream() .filter(n -> new PersonCardHandle(guiRobot, primaryStage, n).isSamePerson(person)) diff --git a/src/test/java/harmony/TestApp.java b/src/test/java/harmony/TestApp.java index 2e7b3048994e..36a8b3d4ac46 100644 --- a/src/test/java/harmony/TestApp.java +++ b/src/test/java/harmony/TestApp.java @@ -8,7 +8,7 @@ import harmony.MainApp; import harmony.commons.core.Config; import harmony.commons.core.GuiSettings; -import harmony.model.ReadOnlyAddressBook; +import harmony.model.ReadOnlyTaskManager; import harmony.model.UserPrefs; import harmony.storage.XmlSerializableAddressBook; import harmony.testutil.TestUtil; @@ -23,13 +23,13 @@ public class TestApp extends MainApp { protected static final String DEFAULT_PREF_FILE_LOCATION_FOR_TESTING = TestUtil.getFilePathInSandboxFolder("pref_testing.json"); public static final String APP_TITLE = "Test App"; protected static final String ADDRESS_BOOK_NAME = "Test"; - protected Supplier initialDataSupplier = () -> null; + protected Supplier initialDataSupplier = () -> null; protected String saveFileLocation = SAVE_LOCATION_FOR_TESTING; public TestApp() { } - public TestApp(Supplier initialDataSupplier, String saveFileLocation) { + public TestApp(Supplier initialDataSupplier, String saveFileLocation) { super(); this.initialDataSupplier = initialDataSupplier; this.saveFileLocation = saveFileLocation; diff --git a/src/test/java/harmony/commons/util/XmlUtilTest.java b/src/test/java/harmony/commons/util/XmlUtilTest.java index 78ef8eae4541..d1250d608537 100644 --- a/src/test/java/harmony/commons/util/XmlUtilTest.java +++ b/src/test/java/harmony/commons/util/XmlUtilTest.java @@ -6,7 +6,7 @@ import harmony.commons.util.FileUtil; import harmony.commons.util.XmlUtil; -import harmony.model.AddressBook; +import harmony.model.TaskManager; import harmony.storage.XmlSerializableAddressBook; import harmony.testutil.AddressBookBuilder; import harmony.testutil.TestUtil; @@ -31,7 +31,7 @@ public class XmlUtilTest { @Test public void getDataFromFile_nullFile_AssertionError() throws Exception { thrown.expect(AssertionError.class); - XmlUtil.getDataFromFile(null, AddressBook.class); + XmlUtil.getDataFromFile(null, TaskManager.class); } @Test @@ -43,13 +43,13 @@ public void getDataFromFile_nullClass_AssertionError() throws Exception { @Test public void getDataFromFile_missingFile_FileNotFoundException() throws Exception { thrown.expect(FileNotFoundException.class); - XmlUtil.getDataFromFile(MISSING_FILE, AddressBook.class); + XmlUtil.getDataFromFile(MISSING_FILE, TaskManager.class); } @Test public void getDataFromFile_emptyFile_DataFormatMismatchException() throws Exception { thrown.expect(JAXBException.class); - XmlUtil.getDataFromFile(EMPTY_FILE, AddressBook.class); + XmlUtil.getDataFromFile(EMPTY_FILE, TaskManager.class); } @Test @@ -62,7 +62,7 @@ public void getDataFromFile_validFile_validResult() throws Exception { @Test public void saveDataToFile_nullFile_AssertionError() throws Exception { thrown.expect(AssertionError.class); - XmlUtil.saveDataToFile(null, new AddressBook()); + XmlUtil.saveDataToFile(null, new TaskManager()); } @Test @@ -74,23 +74,23 @@ public void saveDataToFile_nullClass_AssertionError() throws Exception { @Test public void saveDataToFile_missingFile_FileNotFoundException() throws Exception { thrown.expect(FileNotFoundException.class); - XmlUtil.saveDataToFile(MISSING_FILE, new AddressBook()); + XmlUtil.saveDataToFile(MISSING_FILE, new TaskManager()); } @Test public void saveDataToFile_validFile_dataSaved() throws Exception { TEMP_FILE.createNewFile(); - XmlSerializableAddressBook dataToWrite = new XmlSerializableAddressBook(new AddressBook()); + XmlSerializableAddressBook dataToWrite = new XmlSerializableAddressBook(new TaskManager()); XmlUtil.saveDataToFile(TEMP_FILE, dataToWrite); XmlSerializableAddressBook dataFromFile = XmlUtil.getDataFromFile(TEMP_FILE, XmlSerializableAddressBook.class); - assertEquals((new AddressBook(dataToWrite)).toString(),(new AddressBook(dataFromFile)).toString()); + assertEquals((new TaskManager(dataToWrite)).toString(),(new TaskManager(dataFromFile)).toString()); //TODO: use equality instead of string comparisons - AddressBookBuilder builder = new AddressBookBuilder(new AddressBook()); + AddressBookBuilder builder = new AddressBookBuilder(new TaskManager()); dataToWrite = new XmlSerializableAddressBook(builder.withPerson(TestUtil.generateSamplePersonData().get(0)).withTag("Friends").build()); XmlUtil.saveDataToFile(TEMP_FILE, dataToWrite); dataFromFile = XmlUtil.getDataFromFile(TEMP_FILE, XmlSerializableAddressBook.class); - assertEquals((new AddressBook(dataToWrite)).toString(),(new AddressBook(dataFromFile)).toString()); + assertEquals((new TaskManager(dataToWrite)).toString(),(new TaskManager(dataFromFile)).toString()); } } diff --git a/src/test/java/harmony/logic/LogicManagerTest.java b/src/test/java/harmony/logic/LogicManagerTest.java index bf6fad4cbcb8..cad078426b2c 100644 --- a/src/test/java/harmony/logic/LogicManagerTest.java +++ b/src/test/java/harmony/logic/LogicManagerTest.java @@ -3,19 +3,19 @@ import com.google.common.eventbus.Subscribe; import harmony.commons.core.EventsCenter; -import harmony.commons.events.model.AddressBookChangedEvent; +import harmony.commons.events.model.TaskManagerChangedEvent; import harmony.commons.events.ui.JumpToListRequestEvent; import harmony.commons.events.ui.ShowHelpRequestEvent; import harmony.logic.Logic; import harmony.logic.LogicManager; import harmony.logic.commands.*; -import harmony.model.AddressBook; +import harmony.model.TaskManager; import harmony.model.Model; import harmony.model.ModelManager; -import harmony.model.ReadOnlyAddressBook; -import harmony.model.person.*; +import harmony.model.ReadOnlyTaskManager; import harmony.model.tag.Tag; import harmony.model.tag.UniqueTagList; +import harmony.model.task.*; import harmony.storage.StorageManager; import org.junit.After; @@ -45,13 +45,13 @@ public class LogicManagerTest { private Logic logic; //These are for checking the correctness of the events raised - private ReadOnlyAddressBook latestSavedAddressBook; + private ReadOnlyTaskManager latestSavedAddressBook; private boolean helpShown; private int targetedJumpIndex; @Subscribe - private void handleLocalModelChangedEvent(AddressBookChangedEvent abce) { - latestSavedAddressBook = new AddressBook(abce.data); + private void handleLocalModelChangedEvent(TaskManagerChangedEvent abce) { + latestSavedAddressBook = new TaskManager(abce.data); } @Subscribe @@ -72,7 +72,7 @@ public void setup() { logic = new LogicManager(model, new StorageManager(tempAddressBookFile, tempPreferencesFile)); EventsCenter.getInstance().registerHandler(this); - latestSavedAddressBook = new AddressBook(model.getAddressBook()); // last saved assumed to be up to date before. + latestSavedAddressBook = new TaskManager(model.getAddressBook()); // last saved assumed to be up to date before. helpShown = false; targetedJumpIndex = -1; // non yet } @@ -92,10 +92,10 @@ public void execute_invalid() throws Exception { /** * Executes the command and confirms that the result message is correct. * Both the 'address book' and the 'last shown list' are expected to be empty. - * @see #assertCommandBehavior(String, String, ReadOnlyAddressBook, List) + * @see #assertCommandBehavior(String, String, ReadOnlyTaskManager, List) */ private void assertCommandBehavior(String inputCommand, String expectedMessage) throws Exception { - assertCommandBehavior(inputCommand, expectedMessage, new AddressBook(), Collections.emptyList()); + assertCommandBehavior(inputCommand, expectedMessage, new TaskManager(), Collections.emptyList()); } /** @@ -106,8 +106,8 @@ private void assertCommandBehavior(String inputCommand, String expectedMessage) * - {@code expectedAddressBook} was saved to the storage file.
*/ private void assertCommandBehavior(String inputCommand, String expectedMessage, - ReadOnlyAddressBook expectedAddressBook, - List expectedShownList) throws Exception { + ReadOnlyTaskManager expectedAddressBook, + List expectedShownList) throws Exception { //Execute the command CommandResult result = logic.execute(inputCommand); @@ -146,7 +146,7 @@ public void execute_clear() throws Exception { model.addPerson(helper.generatePerson(2)); model.addPerson(helper.generatePerson(3)); - assertCommandBehavior("clear", ClearCommand.MESSAGE_SUCCESS, new AddressBook(), Collections.emptyList()); + assertCommandBehavior("clear", ClearCommand.MESSAGE_SUCCESS, new TaskManager(), Collections.emptyList()); } @@ -168,9 +168,9 @@ public void execute_add_invalidPersonData() throws Exception { assertCommandBehavior( "add []\\[;] p/12345 e/valid@e.mail a/valid, address", Name.MESSAGE_NAME_CONSTRAINTS); assertCommandBehavior( - "add Valid Name p/not_numbers e/valid@e.mail a/valid, address", Phone.MESSAGE_PHONE_CONSTRAINTS); + "add Valid Name p/not_numbers e/valid@e.mail a/valid, address", Time.MESSAGE_PHONE_CONSTRAINTS); assertCommandBehavior( - "add Valid Name p/12345 e/notAnEmail a/valid, address", Email.MESSAGE_EMAIL_CONSTRAINTS); + "add Valid Name p/12345 e/notAnEmail a/valid, address", Date.MESSAGE_EMAIL_CONSTRAINTS); assertCommandBehavior( "add Valid Name p/12345 e/valid@e.mail a/valid, address t/invalid_-[.tag", Tag.MESSAGE_TAG_CONSTRAINTS); @@ -180,8 +180,8 @@ public void execute_add_invalidPersonData() throws Exception { public void execute_add_successful() throws Exception { // setup expectations TestDataHelper helper = new TestDataHelper(); - Person toBeAdded = helper.adam(); - AddressBook expectedAB = new AddressBook(); + Task toBeAdded = helper.adam(); + TaskManager expectedAB = new TaskManager(); expectedAB.addPerson(toBeAdded); // execute command and verify result @@ -196,8 +196,8 @@ public void execute_add_successful() throws Exception { public void execute_addDuplicate_notAllowed() throws Exception { // setup expectations TestDataHelper helper = new TestDataHelper(); - Person toBeAdded = helper.adam(); - AddressBook expectedAB = new AddressBook(); + Task toBeAdded = helper.adam(); + TaskManager expectedAB = new TaskManager(); expectedAB.addPerson(toBeAdded); // setup starting state @@ -217,8 +217,8 @@ public void execute_addDuplicate_notAllowed() throws Exception { public void execute_list_showsAllPersons() throws Exception { // prepare expectations TestDataHelper helper = new TestDataHelper(); - AddressBook expectedAB = helper.generateAddressBook(2); - List expectedList = expectedAB.getPersonList(); + TaskManager expectedAB = helper.generateAddressBook(2); + List expectedList = expectedAB.getPersonList(); // prepare address book state helper.addToModel(model, 2); @@ -251,11 +251,11 @@ private void assertIncorrectIndexFormatBehaviorForCommand(String commandWord, St private void assertIndexNotFoundBehaviorForCommand(String commandWord) throws Exception { String expectedMessage = MESSAGE_INVALID_PERSON_DISPLAYED_INDEX; TestDataHelper helper = new TestDataHelper(); - List personList = helper.generatePersonList(2); + List personList = helper.generatePersonList(2); // set AB state to 2 persons - model.resetData(new AddressBook()); - for (Person p : personList) { + model.resetData(new TaskManager()); + for (Task p : personList) { model.addPerson(p); } @@ -276,9 +276,9 @@ public void execute_selectIndexNotFound_errorMessageShown() throws Exception { @Test public void execute_select_jumpsToCorrectPerson() throws Exception { TestDataHelper helper = new TestDataHelper(); - List threePersons = helper.generatePersonList(3); + List threePersons = helper.generatePersonList(3); - AddressBook expectedAB = helper.generateAddressBook(threePersons); + TaskManager expectedAB = helper.generateAddressBook(threePersons); helper.addToModel(model, threePersons); assertCommandBehavior("select 2", @@ -304,9 +304,9 @@ public void execute_deleteIndexNotFound_errorMessageShown() throws Exception { @Test public void execute_delete_removesCorrectPerson() throws Exception { TestDataHelper helper = new TestDataHelper(); - List threePersons = helper.generatePersonList(3); + List threePersons = helper.generatePersonList(3); - AddressBook expectedAB = helper.generateAddressBook(threePersons); + TaskManager expectedAB = helper.generateAddressBook(threePersons); expectedAB.removePerson(threePersons.get(1)); helper.addToModel(model, threePersons); @@ -326,14 +326,14 @@ public void execute_find_invalidArgsFormat() throws Exception { @Test public void execute_find_onlyMatchesFullWordsInNames() throws Exception { TestDataHelper helper = new TestDataHelper(); - Person pTarget1 = helper.generatePersonWithName("bla bla KEY bla"); - Person pTarget2 = helper.generatePersonWithName("bla KEY bla bceofeia"); - Person p1 = helper.generatePersonWithName("KE Y"); - Person p2 = helper.generatePersonWithName("KEYKEYKEY sduauo"); - - List fourPersons = helper.generatePersonList(p1, pTarget1, p2, pTarget2); - AddressBook expectedAB = helper.generateAddressBook(fourPersons); - List expectedList = helper.generatePersonList(pTarget1, pTarget2); + Task pTarget1 = helper.generatePersonWithName("bla bla KEY bla"); + Task pTarget2 = helper.generatePersonWithName("bla KEY bla bceofeia"); + Task p1 = helper.generatePersonWithName("KE Y"); + Task p2 = helper.generatePersonWithName("KEYKEYKEY sduauo"); + + List fourPersons = helper.generatePersonList(p1, pTarget1, p2, pTarget2); + TaskManager expectedAB = helper.generateAddressBook(fourPersons); + List expectedList = helper.generatePersonList(pTarget1, pTarget2); helper.addToModel(model, fourPersons); assertCommandBehavior("find KEY", @@ -345,14 +345,14 @@ public void execute_find_onlyMatchesFullWordsInNames() throws Exception { @Test public void execute_find_isNotCaseSensitive() throws Exception { TestDataHelper helper = new TestDataHelper(); - Person p1 = helper.generatePersonWithName("bla bla KEY bla"); - Person p2 = helper.generatePersonWithName("bla KEY bla bceofeia"); - Person p3 = helper.generatePersonWithName("key key"); - Person p4 = helper.generatePersonWithName("KEy sduauo"); - - List fourPersons = helper.generatePersonList(p3, p1, p4, p2); - AddressBook expectedAB = helper.generateAddressBook(fourPersons); - List expectedList = fourPersons; + Task p1 = helper.generatePersonWithName("bla bla KEY bla"); + Task p2 = helper.generatePersonWithName("bla KEY bla bceofeia"); + Task p3 = helper.generatePersonWithName("key key"); + Task p4 = helper.generatePersonWithName("KEy sduauo"); + + List fourPersons = helper.generatePersonList(p3, p1, p4, p2); + TaskManager expectedAB = helper.generateAddressBook(fourPersons); + List expectedList = fourPersons; helper.addToModel(model, fourPersons); assertCommandBehavior("find KEY", @@ -364,14 +364,14 @@ public void execute_find_isNotCaseSensitive() throws Exception { @Test public void execute_find_matchesIfAnyKeywordPresent() throws Exception { TestDataHelper helper = new TestDataHelper(); - Person pTarget1 = helper.generatePersonWithName("bla bla KEY bla"); - Person pTarget2 = helper.generatePersonWithName("bla rAnDoM bla bceofeia"); - Person pTarget3 = helper.generatePersonWithName("key key"); - Person p1 = helper.generatePersonWithName("sduauo"); - - List fourPersons = helper.generatePersonList(pTarget1, p1, pTarget2, pTarget3); - AddressBook expectedAB = helper.generateAddressBook(fourPersons); - List expectedList = helper.generatePersonList(pTarget1, pTarget2, pTarget3); + Task pTarget1 = helper.generatePersonWithName("bla bla KEY bla"); + Task pTarget2 = helper.generatePersonWithName("bla rAnDoM bla bceofeia"); + Task pTarget3 = helper.generatePersonWithName("key key"); + Task p1 = helper.generatePersonWithName("sduauo"); + + List fourPersons = helper.generatePersonList(pTarget1, p1, pTarget2, pTarget3); + TaskManager expectedAB = helper.generateAddressBook(fourPersons); + List expectedList = helper.generatePersonList(pTarget1, pTarget2, pTarget3); helper.addToModel(model, fourPersons); assertCommandBehavior("find key rAnDoM", @@ -386,15 +386,15 @@ public void execute_find_matchesIfAnyKeywordPresent() throws Exception { */ class TestDataHelper{ - Person adam() throws Exception { + Task adam() throws Exception { Name name = new Name("Adam Brown"); - Phone privatePhone = new Phone("111111"); - Email email = new Email("adam@gmail.com"); + Time privatePhone = new Time("111111"); + Date email = new Date("adam@gmail.com"); Address privateAddress = new Address("111, alpha street"); Tag tag1 = new Tag("tag1"); Tag tag2 = new Tag("tag2"); UniqueTagList tags = new UniqueTagList(tag1, tag2); - return new Person(name, privatePhone, email, privateAddress, tags); + return new Task(name, privatePhone, email, tags); } /** @@ -404,26 +404,24 @@ Person adam() throws Exception { * * @param seed used to generate the person data field values */ - Person generatePerson(int seed) throws Exception { - return new Person( + Task generatePerson(int seed) throws Exception { + return new Task( new Name("Person " + seed), - new Phone("" + Math.abs(seed)), - new Email(seed + "@email"), - new Address("House of " + seed), + new Time("" + Math.abs(seed)), + new Date(seed + "@email"), new UniqueTagList(new Tag("tag" + Math.abs(seed)), new Tag("tag" + Math.abs(seed + 1))) ); } /** Generates the correct add command based on the person given */ - String generateAddCommand(Person p) { + String generateAddCommand(Task p) { StringBuffer cmd = new StringBuffer(); cmd.append("add "); cmd.append(p.getName().toString()); - cmd.append(" p/").append(p.getPhone()); - cmd.append(" e/").append(p.getEmail()); - cmd.append(" a/").append(p.getAddress()); + cmd.append(" p/").append(p.getTime()); + cmd.append(" e/").append(p.getDate()); UniqueTagList tags = p.getTags(); for(Tag t: tags){ @@ -436,8 +434,8 @@ String generateAddCommand(Person p) { /** * Generates an AddressBook with auto-generated persons. */ - AddressBook generateAddressBook(int numGenerated) throws Exception{ - AddressBook addressBook = new AddressBook(); + TaskManager generateAddressBook(int numGenerated) throws Exception{ + TaskManager addressBook = new TaskManager(); addToAddressBook(addressBook, numGenerated); return addressBook; } @@ -445,8 +443,8 @@ AddressBook generateAddressBook(int numGenerated) throws Exception{ /** * Generates an AddressBook based on the list of Persons given. */ - AddressBook generateAddressBook(List persons) throws Exception{ - AddressBook addressBook = new AddressBook(); + TaskManager generateAddressBook(List persons) throws Exception{ + TaskManager addressBook = new TaskManager(); addToAddressBook(addressBook, persons); return addressBook; } @@ -455,15 +453,15 @@ AddressBook generateAddressBook(List persons) throws Exception{ * Adds auto-generated Person objects to the given AddressBook * @param addressBook The AddressBook to which the Persons will be added */ - void addToAddressBook(AddressBook addressBook, int numGenerated) throws Exception{ + void addToAddressBook(TaskManager addressBook, int numGenerated) throws Exception{ addToAddressBook(addressBook, generatePersonList(numGenerated)); } /** * Adds the given list of Persons to the given AddressBook */ - void addToAddressBook(AddressBook addressBook, List personsToAdd) throws Exception{ - for(Person p: personsToAdd){ + void addToAddressBook(TaskManager addressBook, List personsToAdd) throws Exception{ + for(Task p: personsToAdd){ addressBook.addPerson(p); } } @@ -479,8 +477,8 @@ void addToModel(Model model, int numGenerated) throws Exception{ /** * Adds the given list of Persons to the given model */ - void addToModel(Model model, List personsToAdd) throws Exception{ - for(Person p: personsToAdd){ + void addToModel(Model model, List personsToAdd) throws Exception{ + for(Task p: personsToAdd){ model.addPerson(p); } } @@ -488,27 +486,26 @@ void addToModel(Model model, List personsToAdd) throws Exception{ /** * Generates a list of Persons based on the flags. */ - List generatePersonList(int numGenerated) throws Exception{ - List persons = new ArrayList<>(); + List generatePersonList(int numGenerated) throws Exception{ + List persons = new ArrayList<>(); for(int i = 1; i <= numGenerated; i++){ persons.add(generatePerson(i)); } return persons; } - List generatePersonList(Person... persons) { + List generatePersonList(Task... persons) { return Arrays.asList(persons); } /** * Generates a Person object with given name. Other fields will have some dummy values. */ - Person generatePersonWithName(String name) throws Exception { - return new Person( + Task generatePersonWithName(String name) throws Exception { + return new Task( new Name(name), - new Phone("1"), - new Email("1@email"), - new Address("House of 1"), + new Time("1"), + new Date("1@email"), new UniqueTagList(new Tag("tag")) ); } diff --git a/src/test/java/harmony/storage/StorageManagerTest.java b/src/test/java/harmony/storage/StorageManagerTest.java index e15144ff7e11..bf6cd14fab23 100644 --- a/src/test/java/harmony/storage/StorageManagerTest.java +++ b/src/test/java/harmony/storage/StorageManagerTest.java @@ -6,8 +6,8 @@ import org.junit.Test; import org.junit.rules.TemporaryFolder; -import harmony.model.AddressBook; -import harmony.model.ReadOnlyAddressBook; +import harmony.model.TaskManager; +import harmony.model.ReadOnlyTaskManager; import harmony.model.UserPrefs; import harmony.storage.StorageManager; import harmony.testutil.TypicalTestPersons; @@ -50,10 +50,10 @@ public void prefsReadSave() throws Exception { @Test public void addressBookReadSave() throws Exception { - AddressBook original = new TypicalTestPersons().getTypicalAddressBook(); + TaskManager original = new TypicalTestPersons().getTypicalAddressBook(); storageManager.saveAddressBook(original); - ReadOnlyAddressBook retrieved = storageManager.readAddressBook().get(); - assertEquals(original, new AddressBook(retrieved)); + ReadOnlyTaskManager retrieved = storageManager.readAddressBook().get(); + assertEquals(original, new TaskManager(retrieved)); //More extensive testing of AddressBook saving/reading is done in XmlAddressBookStorageTest } diff --git a/src/test/java/harmony/storage/XmlAddressBookStorageTest.java b/src/test/java/harmony/storage/XmlAddressBookStorageTest.java index b0442aa7e4e7..85247561cd15 100644 --- a/src/test/java/harmony/storage/XmlAddressBookStorageTest.java +++ b/src/test/java/harmony/storage/XmlAddressBookStorageTest.java @@ -8,10 +8,10 @@ import harmony.commons.exceptions.DataConversionException; import harmony.commons.util.FileUtil; -import harmony.model.AddressBook; -import harmony.model.ReadOnlyAddressBook; -import harmony.model.person.Person; -import harmony.storage.XmlAddressBookStorage; +import harmony.model.TaskManager; +import harmony.model.task.Task; +import harmony.model.ReadOnlyTaskManager; +import harmony.storage.XmlTaskManagerStorage; import harmony.testutil.TypicalTestPersons; import java.io.IOException; @@ -34,8 +34,8 @@ public void readAddressBook_nullFilePath_assertionFailure() throws Exception { readAddressBook(null); } - private java.util.Optional readAddressBook(String filePath) throws Exception { - return new XmlAddressBookStorage(filePath).readAddressBook(addToTestDataPathIfNotNull(filePath)); + private java.util.Optional readAddressBook(String filePath) throws Exception { + return new XmlTaskManagerStorage(filePath).readAddressBook(addToTestDataPathIfNotNull(filePath)); } private String addToTestDataPathIfNotNull(String prefsFileInTestDataFolder) { @@ -64,20 +64,20 @@ public void read_notXmlFormat_exceptionThrown() throws Exception { public void readAndSaveAddressBook_allInOrder_success() throws Exception { String filePath = testFolder.getRoot().getPath() + "TempAddressBook.xml"; TypicalTestPersons td = new TypicalTestPersons(); - AddressBook original = td.getTypicalAddressBook(); - XmlAddressBookStorage xmlAddressBookStorage = new XmlAddressBookStorage(filePath); + TaskManager original = td.getTypicalAddressBook(); + XmlTaskManagerStorage xmlAddressBookStorage = new XmlTaskManagerStorage(filePath); //Save in new file and read back xmlAddressBookStorage.saveAddressBook(original, filePath); - ReadOnlyAddressBook readBack = xmlAddressBookStorage.readAddressBook(filePath).get(); - assertEquals(original, new AddressBook(readBack)); + ReadOnlyTaskManager readBack = xmlAddressBookStorage.readAddressBook(filePath).get(); + assertEquals(original, new TaskManager(readBack)); //Modify data, overwrite exiting file, and read back - original.addPerson(new Person(TypicalTestPersons.hoon)); - original.removePerson(new Person(TypicalTestPersons.alice)); + original.addPerson(new Task(TypicalTestPersons.hoon)); + original.removePerson(new Task(TypicalTestPersons.alice)); xmlAddressBookStorage.saveAddressBook(original, filePath); readBack = xmlAddressBookStorage.readAddressBook(filePath).get(); - assertEquals(original, new AddressBook(readBack)); + assertEquals(original, new TaskManager(readBack)); } @@ -87,14 +87,14 @@ public void saveAddressBook_nullAddressBook_assertionFailure() throws IOExceptio saveAddressBook(null, "SomeFile.xml"); } - private void saveAddressBook(ReadOnlyAddressBook addressBook, String filePath) throws IOException { - new XmlAddressBookStorage(filePath).saveAddressBook(addressBook, addToTestDataPathIfNotNull(filePath)); + private void saveAddressBook(ReadOnlyTaskManager addressBook, String filePath) throws IOException { + new XmlTaskManagerStorage(filePath).saveAddressBook(addressBook, addToTestDataPathIfNotNull(filePath)); } @Test public void saveAddressBook_nullFilePath_assertionFailure() throws IOException { thrown.expect(AssertionError.class); - saveAddressBook(new AddressBook(), null); + saveAddressBook(new TaskManager(), null); } diff --git a/src/test/java/harmony/testutil/AddressBookBuilder.java b/src/test/java/harmony/testutil/AddressBookBuilder.java index 104adeef19c3..9eb5cf273474 100644 --- a/src/test/java/harmony/testutil/AddressBookBuilder.java +++ b/src/test/java/harmony/testutil/AddressBookBuilder.java @@ -1,10 +1,10 @@ package harmony.testutil; import harmony.commons.exceptions.IllegalValueException; -import harmony.model.AddressBook; -import harmony.model.person.Person; -import harmony.model.person.UniquePersonList; +import harmony.model.TaskManager; import harmony.model.tag.Tag; +import harmony.model.task.Task; +import harmony.model.task.UniqueTaskList; /** * A utility class to help with building Addressbook objects. @@ -13,13 +13,13 @@ */ public class AddressBookBuilder { - private AddressBook addressBook; + private TaskManager addressBook; - public AddressBookBuilder(AddressBook addressBook){ + public AddressBookBuilder(TaskManager addressBook){ this.addressBook = addressBook; } - public AddressBookBuilder withPerson(Person person) throws UniquePersonList.DuplicatePersonException { + public AddressBookBuilder withPerson(Task person) throws UniqueTaskList.DuplicatePersonException { addressBook.addPerson(person); return this; } @@ -29,7 +29,7 @@ public AddressBookBuilder withTag(String tagName) throws IllegalValueException { return this; } - public AddressBook build(){ + public TaskManager build(){ return addressBook; } } diff --git a/src/test/java/harmony/testutil/PersonBuilder.java b/src/test/java/harmony/testutil/PersonBuilder.java index c73fc92d9e5b..15f4006251c1 100644 --- a/src/test/java/harmony/testutil/PersonBuilder.java +++ b/src/test/java/harmony/testutil/PersonBuilder.java @@ -1,8 +1,8 @@ package harmony.testutil; import harmony.commons.exceptions.IllegalValueException; -import harmony.model.person.*; import harmony.model.tag.Tag; +import harmony.model.task.*; /** * @@ -27,18 +27,13 @@ public PersonBuilder withTags(String ... tags) throws IllegalValueException { return this; } - public PersonBuilder withAddress(String address) throws IllegalValueException { - this.person.setAddress(new Address(address)); - return this; - } - public PersonBuilder withPhone(String phone) throws IllegalValueException { - this.person.setPhone(new Phone(phone)); + this.person.setPhone(new Time(phone)); return this; } public PersonBuilder withEmail(String email) throws IllegalValueException { - this.person.setEmail(new Email(email)); + this.person.setEmail(new Date(email)); return this; } diff --git a/src/test/java/harmony/testutil/TestPerson.java b/src/test/java/harmony/testutil/TestPerson.java index 7bfeafc6f7c0..6cc4886308c1 100644 --- a/src/test/java/harmony/testutil/TestPerson.java +++ b/src/test/java/harmony/testutil/TestPerson.java @@ -1,17 +1,16 @@ package harmony.testutil; -import harmony.model.person.*; import harmony.model.tag.UniqueTagList; +import harmony.model.task.*; /** * A mutable person object. For testing only. */ -public class TestPerson implements ReadOnlyPerson { +public class TestPerson implements ReadOnlyTask { private Name name; - private Address address; - private Email email; - private Phone phone; + private Date email; + private Time phone; private UniqueTagList tags; public TestPerson() { @@ -22,15 +21,11 @@ public void setName(Name name) { this.name = name; } - public void setAddress(Address address) { - this.address = address; - } - - public void setEmail(Email email) { + public void setEmail(Date email) { this.email = email; } - public void setPhone(Phone phone) { + public void setPhone(Time phone) { this.phone = phone; } @@ -40,20 +35,15 @@ public Name getName() { } @Override - public Phone getPhone() { + public Time getTime() { return phone; } @Override - public Email getEmail() { + public Date getDate() { return email; } - @Override - public Address getAddress() { - return address; - } - @Override public UniqueTagList getTags() { return tags; @@ -67,9 +57,8 @@ public String toString() { public String getAddCommand() { StringBuilder sb = new StringBuilder(); sb.append("add " + this.getName().fullName + " "); - sb.append("p/" + this.getPhone().value + " "); - sb.append("e/" + this.getEmail().value + " "); - sb.append("a/" + this.getAddress().value + " "); + sb.append("p/" + this.getTime().value + " "); + sb.append("e/" + this.getDate().value + " "); this.getTags().getInternalList().stream().forEach(s -> sb.append("t/" + s.tagName + " ")); return sb.toString(); } diff --git a/src/test/java/harmony/testutil/TestUtil.java b/src/test/java/harmony/testutil/TestUtil.java index b330cd775d06..9fe164cc970d 100644 --- a/src/test/java/harmony/testutil/TestUtil.java +++ b/src/test/java/harmony/testutil/TestUtil.java @@ -6,10 +6,10 @@ import harmony.commons.exceptions.IllegalValueException; import harmony.commons.util.FileUtil; import harmony.commons.util.XmlUtil; -import harmony.model.AddressBook; -import harmony.model.person.*; +import harmony.model.TaskManager; import harmony.model.tag.Tag; import harmony.model.tag.UniqueTagList; +import harmony.model.task.*; import harmony.storage.XmlSerializableAddressBook; import javafx.geometry.Bounds; import javafx.geometry.Point2D; @@ -60,20 +60,20 @@ public static void assertThrows(Class expected, Runnable ex */ public static String SANDBOX_FOLDER = FileUtil.getPath("./src/test/data/sandbox/"); - public static final Person[] samplePersonData = getSamplePersonData(); + public static final Task[] samplePersonData = getSamplePersonData(); - private static Person[] getSamplePersonData() { + private static Task[] getSamplePersonData() { try { - return new Person[]{ - new Person(new Name("Ali Muster"), new Phone("9482424"), new Email("hans@google.com"), new Address("4th street"), new UniqueTagList()), - new Person(new Name("Boris Mueller"), new Phone("87249245"), new Email("ruth@google.com"), new Address("81th street"), new UniqueTagList()), - new Person(new Name("Carl Kurz"), new Phone("95352563"), new Email("heinz@yahoo.com"), new Address("wall street"), new UniqueTagList()), - new Person(new Name("Daniel Meier"), new Phone("87652533"), new Email("cornelia@google.com"), new Address("10th street"), new UniqueTagList()), - new Person(new Name("Elle Meyer"), new Phone("9482224"), new Email("werner@gmail.com"), new Address("michegan ave"), new UniqueTagList()), - new Person(new Name("Fiona Kunz"), new Phone("9482427"), new Email("lydia@gmail.com"), new Address("little tokyo"), new UniqueTagList()), - new Person(new Name("George Best"), new Phone("9482442"), new Email("anna@google.com"), new Address("4th street"), new UniqueTagList()), - new Person(new Name("Hoon Meier"), new Phone("8482424"), new Email("stefan@mail.com"), new Address("little india"), new UniqueTagList()), - new Person(new Name("Ida Mueller"), new Phone("8482131"), new Email("hans@google.com"), new Address("chicago ave"), new UniqueTagList()) + return new Task[]{ + new Task(new Name("Ali Muster"), new Time("9482424"), new Date("hans@google.com"), new UniqueTagList()), + new Task(new Name("Boris Mueller"), new Time("87249245"), new Date("ruth@google.com"), new UniqueTagList()), + new Task(new Name("Carl Kurz"), new Time("95352563"), new Date("heinz@yahoo.com"), new UniqueTagList()), + new Task(new Name("Daniel Meier"), new Time("87652533"), new Date("cornelia@google.com"), new UniqueTagList()), + new Task(new Name("Elle Meyer"), new Time("9482224"), new Date("werner@gmail.com"), new UniqueTagList()), + new Task(new Name("Fiona Kunz"), new Time("9482427"), new Date("lydia@gmail.com"), new UniqueTagList()), + new Task(new Name("George Best"), new Time("9482442"), new Date("anna@google.com"), new UniqueTagList()), + new Task(new Name("Hoon Meier"), new Time("8482424"), new Date("stefan@mail.com"), new UniqueTagList()), + new Task(new Name("Ida Mueller"), new Time("8482131"), new Date("hans@google.com"), new UniqueTagList()) }; } catch (IllegalValueException e) { assert false; @@ -97,7 +97,7 @@ private static Tag[] getSampleTagData() { } } - public static List generateSamplePersonData() { + public static List generateSamplePersonData() { return Arrays.asList(samplePersonData); } @@ -134,8 +134,8 @@ public static void main(String... s) { createDataFileWithSampleData(TestApp.SAVE_LOCATION_FOR_TESTING); } - public static AddressBook generateEmptyAddressBook() { - return new AddressBook(new UniquePersonList(), new UniqueTagList()); + public static TaskManager generateEmptyAddressBook() { + return new TaskManager(new UniqueTaskList(), new UniqueTagList()); } public static XmlSerializableAddressBook generateSampleStorageAddressBook() { @@ -326,7 +326,7 @@ private static List asList(T[] objs) { return list; } - public static boolean compareCardAndPerson(PersonCardHandle card, ReadOnlyPerson person) { + public static boolean compareCardAndPerson(PersonCardHandle card, ReadOnlyTask person) { return card.isSamePerson(person); } diff --git a/src/test/java/harmony/testutil/TypicalTestPersons.java b/src/test/java/harmony/testutil/TypicalTestPersons.java index 8e4da733b2da..52047eab99b2 100644 --- a/src/test/java/harmony/testutil/TypicalTestPersons.java +++ b/src/test/java/harmony/testutil/TypicalTestPersons.java @@ -1,8 +1,8 @@ package harmony.testutil; import harmony.commons.exceptions.IllegalValueException; -import harmony.model.AddressBook; -import harmony.model.person.*; +import harmony.model.TaskManager; +import harmony.model.task.*; /** * @@ -13,38 +13,38 @@ public class TypicalTestPersons { public TypicalTestPersons() { try { - alice = new PersonBuilder().withName("Alice Pauline").withAddress("123, Jurong West Ave 6, #08-111") + alice = new PersonBuilder().withName("Alice Pauline") .withEmail("alice@gmail.com").withPhone("85355255") .withTags("friends").build(); - benson = new PersonBuilder().withName("Benson Meier").withAddress("311, Clementi Ave 2, #02-25") + benson = new PersonBuilder().withName("Benson Meier") .withEmail("johnd@gmail.com").withPhone("98765432") .withTags("owesMoney", "friends").build(); - carl = new PersonBuilder().withName("Carl Kurz").withPhone("95352563").withEmail("heinz@yahoo.com").withAddress("wall street").build(); - daniel = new PersonBuilder().withName("Daniel Meier").withPhone("87652533").withEmail("cornelia@google.com").withAddress("10th street").build(); - elle = new PersonBuilder().withName("Elle Meyer").withPhone("9482224").withEmail("werner@gmail.com").withAddress("michegan ave").build(); - fiona = new PersonBuilder().withName("Fiona Kunz").withPhone("9482427").withEmail("lydia@gmail.com").withAddress("little tokyo").build(); - george = new PersonBuilder().withName("George Best").withPhone("9482442").withEmail("anna@google.com").withAddress("4th street").build(); + carl = new PersonBuilder().withName("Carl Kurz").withPhone("95352563").withEmail("heinz@yahoo.com").build(); + daniel = new PersonBuilder().withName("Daniel Meier").withPhone("87652533").withEmail("cornelia@google.com").build(); + elle = new PersonBuilder().withName("Elle Meyer").withPhone("9482224").withEmail("werner@gmail.com").build(); + fiona = new PersonBuilder().withName("Fiona Kunz").withPhone("9482427").withEmail("lydia@gmail.com").build(); + george = new PersonBuilder().withName("George Best").withPhone("9482442").withEmail("anna@google.com").build(); //Manually added - hoon = new PersonBuilder().withName("Hoon Meier").withPhone("8482424").withEmail("stefan@mail.com").withAddress("little india").build(); - ida = new PersonBuilder().withName("Ida Mueller").withPhone("8482131").withEmail("hans@google.com").withAddress("chicago ave").build(); + hoon = new PersonBuilder().withName("Hoon Meier").withPhone("8482424").withEmail("stefan@mail.com").build(); + ida = new PersonBuilder().withName("Ida Mueller").withPhone("8482131").withEmail("hans@google.com").build(); } catch (IllegalValueException e) { e.printStackTrace(); assert false : "not possible"; } } - public static void loadAddressBookWithSampleData(AddressBook ab) { + public static void loadAddressBookWithSampleData(TaskManager ab) { try { - ab.addPerson(new Person(alice)); - ab.addPerson(new Person(benson)); - ab.addPerson(new Person(carl)); - ab.addPerson(new Person(daniel)); - ab.addPerson(new Person(elle)); - ab.addPerson(new Person(fiona)); - ab.addPerson(new Person(george)); - } catch (UniquePersonList.DuplicatePersonException e) { + ab.addPerson(new Task(alice)); + ab.addPerson(new Task(benson)); + ab.addPerson(new Task(carl)); + ab.addPerson(new Task(daniel)); + ab.addPerson(new Task(elle)); + ab.addPerson(new Task(fiona)); + ab.addPerson(new Task(george)); + } catch (UniqueTaskList.DuplicatePersonException e) { assert false : "not possible"; } } @@ -53,8 +53,8 @@ public TestPerson[] getTypicalPersons() { return new TestPerson[]{alice, benson, carl, daniel, elle, fiona, george}; } - public AddressBook getTypicalAddressBook(){ - AddressBook ab = new AddressBook(); + public TaskManager getTypicalAddressBook(){ + TaskManager ab = new TaskManager(); loadAddressBookWithSampleData(ab); return ab; } From f46aa96473c37fea1f7f46327bbd1dd6760b368d Mon Sep 17 00:00:00 2001 From: Dylan Chew Date: Thu, 6 Oct 2016 19:07:31 +0800 Subject: [PATCH 026/457] update parser --- .../java/harmony/logic/parser/Parser.java | 1 - src/test/java/guitests/AddCommandTest.java | 10 +-- .../java/guitests/AddressBookGuiTest.java | 6 +- src/test/java/guitests/DeleteCommandTest.java | 10 +-- src/test/java/guitests/FindCommandTest.java | 4 +- .../harmony/storage/StorageManagerTest.java | 4 +- .../storage/XmlAddressBookStorageTest.java | 8 +-- .../{PersonBuilder.java => TaskBuilder.java} | 18 +++--- .../{TestPerson.java => TestTask.java} | 4 +- src/test/java/harmony/testutil/TestUtil.java | 16 ++--- .../harmony/testutil/TypicalTestPersons.java | 61 ------------------- .../harmony/testutil/TypicalTestTask.java | 61 +++++++++++++++++++ 12 files changed, 101 insertions(+), 102 deletions(-) rename src/test/java/harmony/testutil/{PersonBuilder.java => TaskBuilder.java} (55%) rename src/test/java/harmony/testutil/{TestPerson.java => TestTask.java} (94%) delete mode 100644 src/test/java/harmony/testutil/TypicalTestPersons.java create mode 100644 src/test/java/harmony/testutil/TypicalTestTask.java diff --git a/src/main/java/harmony/logic/parser/Parser.java b/src/main/java/harmony/logic/parser/Parser.java index cce5a4e4d3b1..a545186020d3 100644 --- a/src/main/java/harmony/logic/parser/Parser.java +++ b/src/main/java/harmony/logic/parser/Parser.java @@ -31,7 +31,6 @@ public class Parser { Pattern.compile("(?[^/]+)" + " (?p?)p/(?[^/]+)" + " (?p?)e/(?[^/]+)" - + " (?p?)a/(?

[^/]+)" + "(?(?: t/[^/]+)*)"); // variable number of tags public Parser() {} diff --git a/src/test/java/guitests/AddCommandTest.java b/src/test/java/guitests/AddCommandTest.java index 511ab78a2e0e..2b0f2d84e7ac 100644 --- a/src/test/java/guitests/AddCommandTest.java +++ b/src/test/java/guitests/AddCommandTest.java @@ -3,7 +3,7 @@ import guitests.guihandles.PersonCardHandle; import harmony.commons.core.Messages; import harmony.logic.commands.AddCommand; -import harmony.testutil.TestPerson; +import harmony.testutil.TestTask; import harmony.testutil.TestUtil; import org.junit.Test; @@ -15,8 +15,8 @@ public class AddCommandTest extends AddressBookGuiTest { @Test public void add() { //add one person - TestPerson[] currentList = td.getTypicalPersons(); - TestPerson personToAdd = td.hoon; + TestTask[] currentList = td.getTypicalPersons(); + TestTask personToAdd = td.hoon; assertAddSuccess(personToAdd, currentList); currentList = TestUtil.addPersonsToList(currentList, personToAdd); @@ -39,7 +39,7 @@ public void add() { assertResultMessage(Messages.MESSAGE_UNKNOWN_COMMAND); } - private void assertAddSuccess(TestPerson personToAdd, TestPerson... currentList) { + private void assertAddSuccess(TestTask personToAdd, TestTask... currentList) { commandBox.runCommand(personToAdd.getAddCommand()); //confirm the new card contains the right data @@ -47,7 +47,7 @@ private void assertAddSuccess(TestPerson personToAdd, TestPerson... currentList) assertMatching(personToAdd, addedCard); //confirm the list now contains all previous persons plus the new person - TestPerson[] expectedList = TestUtil.addPersonsToList(currentList, personToAdd); + TestTask[] expectedList = TestUtil.addPersonsToList(currentList, personToAdd); assertTrue(personListPanel.isListMatching(expectedList)); } diff --git a/src/test/java/guitests/AddressBookGuiTest.java b/src/test/java/guitests/AddressBookGuiTest.java index 0e653ac631eb..a13b96bebe1b 100644 --- a/src/test/java/guitests/AddressBookGuiTest.java +++ b/src/test/java/guitests/AddressBookGuiTest.java @@ -6,7 +6,7 @@ import harmony.model.TaskManager; import harmony.model.task.ReadOnlyTask; import harmony.testutil.TestUtil; -import harmony.testutil.TypicalTestPersons; +import harmony.testutil.TypicalTestTask; import javafx.stage.Stage; import org.junit.After; import org.junit.Before; @@ -31,7 +31,7 @@ public abstract class AddressBookGuiTest { TestApp testApp; - protected TypicalTestPersons td = new TypicalTestPersons(); + protected TypicalTestTask td = new TypicalTestTask(); /* * Handles to GUI elements present at the start up are created in advance @@ -77,7 +77,7 @@ public void setup() throws Exception { */ protected TaskManager getInitialData() { TaskManager ab = TestUtil.generateEmptyAddressBook(); - TypicalTestPersons.loadAddressBookWithSampleData(ab); + TypicalTestTask.loadAddressBookWithSampleData(ab); return ab; } diff --git a/src/test/java/guitests/DeleteCommandTest.java b/src/test/java/guitests/DeleteCommandTest.java index a4dcd559d376..2474f9fb55cd 100644 --- a/src/test/java/guitests/DeleteCommandTest.java +++ b/src/test/java/guitests/DeleteCommandTest.java @@ -2,7 +2,7 @@ import org.junit.Test; -import harmony.testutil.TestPerson; +import harmony.testutil.TestTask; import harmony.testutil.TestUtil; import static harmony.logic.commands.DeleteCommand.MESSAGE_DELETE_PERSON_SUCCESS; @@ -14,7 +14,7 @@ public class DeleteCommandTest extends AddressBookGuiTest { public void delete() { //delete the first in the list - TestPerson[] currentList = td.getTypicalPersons(); + TestTask[] currentList = td.getTypicalPersons(); int targetIndex = 1; assertDeleteSuccess(targetIndex, currentList); @@ -39,9 +39,9 @@ public void delete() { * @param targetIndexOneIndexed e.g. to delete the first person in the list, 1 should be given as the target index. * @param currentList A copy of the current list of persons (before deletion). */ - private void assertDeleteSuccess(int targetIndexOneIndexed, final TestPerson[] currentList) { - TestPerson personToDelete = currentList[targetIndexOneIndexed-1]; //-1 because array uses zero indexing - TestPerson[] expectedRemainder = TestUtil.removePersonFromList(currentList, targetIndexOneIndexed); + private void assertDeleteSuccess(int targetIndexOneIndexed, final TestTask[] currentList) { + TestTask personToDelete = currentList[targetIndexOneIndexed-1]; //-1 because array uses zero indexing + TestTask[] expectedRemainder = TestUtil.removePersonFromList(currentList, targetIndexOneIndexed); commandBox.runCommand("delete " + targetIndexOneIndexed); diff --git a/src/test/java/guitests/FindCommandTest.java b/src/test/java/guitests/FindCommandTest.java index 5630db027ec3..a57e82a8472c 100644 --- a/src/test/java/guitests/FindCommandTest.java +++ b/src/test/java/guitests/FindCommandTest.java @@ -3,7 +3,7 @@ import org.junit.Test; import harmony.commons.core.Messages; -import harmony.testutil.TestPerson; +import harmony.testutil.TestTask; import static org.junit.Assert.assertTrue; @@ -31,7 +31,7 @@ public void find_invalidCommand_fail() { assertResultMessage(Messages.MESSAGE_UNKNOWN_COMMAND); } - private void assertFindResult(String command, TestPerson... expectedHits ) { + private void assertFindResult(String command, TestTask... expectedHits ) { commandBox.runCommand(command); assertListSize(expectedHits.length); assertResultMessage(expectedHits.length + " persons listed!"); diff --git a/src/test/java/harmony/storage/StorageManagerTest.java b/src/test/java/harmony/storage/StorageManagerTest.java index bf6cd14fab23..deefab1656a3 100644 --- a/src/test/java/harmony/storage/StorageManagerTest.java +++ b/src/test/java/harmony/storage/StorageManagerTest.java @@ -10,7 +10,7 @@ import harmony.model.ReadOnlyTaskManager; import harmony.model.UserPrefs; import harmony.storage.StorageManager; -import harmony.testutil.TypicalTestPersons; +import harmony.testutil.TypicalTestTask; import static org.junit.Assert.assertEquals; @@ -50,7 +50,7 @@ public void prefsReadSave() throws Exception { @Test public void addressBookReadSave() throws Exception { - TaskManager original = new TypicalTestPersons().getTypicalAddressBook(); + TaskManager original = new TypicalTestTask().getTypicalAddressBook(); storageManager.saveAddressBook(original); ReadOnlyTaskManager retrieved = storageManager.readAddressBook().get(); assertEquals(original, new TaskManager(retrieved)); diff --git a/src/test/java/harmony/storage/XmlAddressBookStorageTest.java b/src/test/java/harmony/storage/XmlAddressBookStorageTest.java index 85247561cd15..8468e7989cc3 100644 --- a/src/test/java/harmony/storage/XmlAddressBookStorageTest.java +++ b/src/test/java/harmony/storage/XmlAddressBookStorageTest.java @@ -12,7 +12,7 @@ import harmony.model.task.Task; import harmony.model.ReadOnlyTaskManager; import harmony.storage.XmlTaskManagerStorage; -import harmony.testutil.TypicalTestPersons; +import harmony.testutil.TypicalTestTask; import java.io.IOException; @@ -63,7 +63,7 @@ public void read_notXmlFormat_exceptionThrown() throws Exception { @Test public void readAndSaveAddressBook_allInOrder_success() throws Exception { String filePath = testFolder.getRoot().getPath() + "TempAddressBook.xml"; - TypicalTestPersons td = new TypicalTestPersons(); + TypicalTestTask td = new TypicalTestTask(); TaskManager original = td.getTypicalAddressBook(); XmlTaskManagerStorage xmlAddressBookStorage = new XmlTaskManagerStorage(filePath); @@ -73,8 +73,8 @@ public void readAndSaveAddressBook_allInOrder_success() throws Exception { assertEquals(original, new TaskManager(readBack)); //Modify data, overwrite exiting file, and read back - original.addPerson(new Task(TypicalTestPersons.hoon)); - original.removePerson(new Task(TypicalTestPersons.alice)); + original.addPerson(new Task(TypicalTestTask.hoon)); + original.removePerson(new Task(TypicalTestTask.alice)); xmlAddressBookStorage.saveAddressBook(original, filePath); readBack = xmlAddressBookStorage.readAddressBook(filePath).get(); assertEquals(original, new TaskManager(readBack)); diff --git a/src/test/java/harmony/testutil/PersonBuilder.java b/src/test/java/harmony/testutil/TaskBuilder.java similarity index 55% rename from src/test/java/harmony/testutil/PersonBuilder.java rename to src/test/java/harmony/testutil/TaskBuilder.java index 15f4006251c1..77cd57f43a2b 100644 --- a/src/test/java/harmony/testutil/PersonBuilder.java +++ b/src/test/java/harmony/testutil/TaskBuilder.java @@ -7,37 +7,37 @@ /** * */ -public class PersonBuilder { +public class TaskBuilder { - private TestPerson person; + private TestTask person; - public PersonBuilder() { - this.person = new TestPerson(); + public TaskBuilder() { + this.person = new TestTask(); } - public PersonBuilder withName(String name) throws IllegalValueException { + public TaskBuilder withName(String name) throws IllegalValueException { this.person.setName(new Name(name)); return this; } - public PersonBuilder withTags(String ... tags) throws IllegalValueException { + public TaskBuilder withTags(String ... tags) throws IllegalValueException { for (String tag: tags) { person.getTags().add(new Tag(tag)); } return this; } - public PersonBuilder withPhone(String phone) throws IllegalValueException { + public TaskBuilder withPhone(String phone) throws IllegalValueException { this.person.setPhone(new Time(phone)); return this; } - public PersonBuilder withEmail(String email) throws IllegalValueException { + public TaskBuilder withEmail(String email) throws IllegalValueException { this.person.setEmail(new Date(email)); return this; } - public TestPerson build() { + public TestTask build() { return this.person; } diff --git a/src/test/java/harmony/testutil/TestPerson.java b/src/test/java/harmony/testutil/TestTask.java similarity index 94% rename from src/test/java/harmony/testutil/TestPerson.java rename to src/test/java/harmony/testutil/TestTask.java index 6cc4886308c1..83a2f8eb20d6 100644 --- a/src/test/java/harmony/testutil/TestPerson.java +++ b/src/test/java/harmony/testutil/TestTask.java @@ -6,14 +6,14 @@ /** * A mutable person object. For testing only. */ -public class TestPerson implements ReadOnlyTask { +public class TestTask implements ReadOnlyTask { private Name name; private Date email; private Time phone; private UniqueTagList tags; - public TestPerson() { + public TestTask() { tags = new UniqueTagList(); } diff --git a/src/test/java/harmony/testutil/TestUtil.java b/src/test/java/harmony/testutil/TestUtil.java index 9fe164cc970d..60d895ef3bab 100644 --- a/src/test/java/harmony/testutil/TestUtil.java +++ b/src/test/java/harmony/testutil/TestUtil.java @@ -278,10 +278,10 @@ public static Object getLastElement(List list) { * @param personsToRemove The subset of persons. * @return The modified persons after removal of the subset from persons. */ - public static TestPerson[] removePersonsFromList(final TestPerson[] persons, TestPerson... personsToRemove) { - List listOfPersons = asList(persons); + public static TestTask[] removePersonsFromList(final TestTask[] persons, TestTask... personsToRemove) { + List listOfPersons = asList(persons); listOfPersons.removeAll(asList(personsToRemove)); - return listOfPersons.toArray(new TestPerson[listOfPersons.size()]); + return listOfPersons.toArray(new TestTask[listOfPersons.size()]); } @@ -290,7 +290,7 @@ public static TestPerson[] removePersonsFromList(final TestPerson[] persons, Tes * @param list original list to copy from * @param targetIndexInOneIndexedFormat e.g. if the first element to be removed, 1 should be given as index. */ - public static TestPerson[] removePersonFromList(final TestPerson[] list, int targetIndexInOneIndexedFormat) { + public static TestTask[] removePersonFromList(final TestTask[] list, int targetIndexInOneIndexedFormat) { return removePersonsFromList(list, list[targetIndexInOneIndexedFormat-1]); } @@ -301,7 +301,7 @@ public static TestPerson[] removePersonFromList(final TestPerson[] list, int tar * @param index The index of the person to be replaced. * @return */ - public static TestPerson[] replacePersonFromList(TestPerson[] persons, TestPerson person, int index) { + public static TestTask[] replacePersonFromList(TestTask[] persons, TestTask person, int index) { persons[index] = person; return persons; } @@ -312,10 +312,10 @@ public static TestPerson[] replacePersonFromList(TestPerson[] persons, TestPerso * @param personsToAdd The persons that are to be appended behind the original array. * @return The modified array of persons. */ - public static TestPerson[] addPersonsToList(final TestPerson[] persons, TestPerson... personsToAdd) { - List listOfPersons = asList(persons); + public static TestTask[] addPersonsToList(final TestTask[] persons, TestTask... personsToAdd) { + List listOfPersons = asList(persons); listOfPersons.addAll(asList(personsToAdd)); - return listOfPersons.toArray(new TestPerson[listOfPersons.size()]); + return listOfPersons.toArray(new TestTask[listOfPersons.size()]); } private static List asList(T[] objs) { diff --git a/src/test/java/harmony/testutil/TypicalTestPersons.java b/src/test/java/harmony/testutil/TypicalTestPersons.java deleted file mode 100644 index 52047eab99b2..000000000000 --- a/src/test/java/harmony/testutil/TypicalTestPersons.java +++ /dev/null @@ -1,61 +0,0 @@ -package harmony.testutil; - -import harmony.commons.exceptions.IllegalValueException; -import harmony.model.TaskManager; -import harmony.model.task.*; - -/** - * - */ -public class TypicalTestPersons { - - public static TestPerson alice, benson, carl, daniel, elle, fiona, george, hoon, ida; - - public TypicalTestPersons() { - try { - alice = new PersonBuilder().withName("Alice Pauline") - .withEmail("alice@gmail.com").withPhone("85355255") - .withTags("friends").build(); - benson = new PersonBuilder().withName("Benson Meier") - .withEmail("johnd@gmail.com").withPhone("98765432") - .withTags("owesMoney", "friends").build(); - carl = new PersonBuilder().withName("Carl Kurz").withPhone("95352563").withEmail("heinz@yahoo.com").build(); - daniel = new PersonBuilder().withName("Daniel Meier").withPhone("87652533").withEmail("cornelia@google.com").build(); - elle = new PersonBuilder().withName("Elle Meyer").withPhone("9482224").withEmail("werner@gmail.com").build(); - fiona = new PersonBuilder().withName("Fiona Kunz").withPhone("9482427").withEmail("lydia@gmail.com").build(); - george = new PersonBuilder().withName("George Best").withPhone("9482442").withEmail("anna@google.com").build(); - - //Manually added - hoon = new PersonBuilder().withName("Hoon Meier").withPhone("8482424").withEmail("stefan@mail.com").build(); - ida = new PersonBuilder().withName("Ida Mueller").withPhone("8482131").withEmail("hans@google.com").build(); - } catch (IllegalValueException e) { - e.printStackTrace(); - assert false : "not possible"; - } - } - - public static void loadAddressBookWithSampleData(TaskManager ab) { - - try { - ab.addPerson(new Task(alice)); - ab.addPerson(new Task(benson)); - ab.addPerson(new Task(carl)); - ab.addPerson(new Task(daniel)); - ab.addPerson(new Task(elle)); - ab.addPerson(new Task(fiona)); - ab.addPerson(new Task(george)); - } catch (UniqueTaskList.DuplicatePersonException e) { - assert false : "not possible"; - } - } - - public TestPerson[] getTypicalPersons() { - return new TestPerson[]{alice, benson, carl, daniel, elle, fiona, george}; - } - - public TaskManager getTypicalAddressBook(){ - TaskManager ab = new TaskManager(); - loadAddressBookWithSampleData(ab); - return ab; - } -} diff --git a/src/test/java/harmony/testutil/TypicalTestTask.java b/src/test/java/harmony/testutil/TypicalTestTask.java new file mode 100644 index 000000000000..bc2b9609f2eb --- /dev/null +++ b/src/test/java/harmony/testutil/TypicalTestTask.java @@ -0,0 +1,61 @@ +package harmony.testutil; + +import harmony.commons.exceptions.IllegalValueException; +import harmony.model.TaskManager; +import harmony.model.task.*; + +/** + * + */ +public class TypicalTestTask { + + public static TestTask alice, benson, carl, daniel, elle, fiona, george, hoon, ida; + + public TypicalTestTask() { + try { + alice = new TaskBuilder().withName("Alice Pauline") + .withEmail("alice@gmail.com").withPhone("85355255") + .withTags("friends").build(); + benson = new TaskBuilder().withName("Benson Meier") + .withEmail("johnd@gmail.com").withPhone("98765432") + .withTags("owesMoney", "friends").build(); + carl = new TaskBuilder().withName("Carl Kurz").withPhone("95352563").withEmail("heinz@yahoo.com").build(); + daniel = new TaskBuilder().withName("Daniel Meier").withPhone("87652533").withEmail("cornelia@google.com").build(); + elle = new TaskBuilder().withName("Elle Meyer").withPhone("9482224").withEmail("werner@gmail.com").build(); + fiona = new TaskBuilder().withName("Fiona Kunz").withPhone("9482427").withEmail("lydia@gmail.com").build(); + george = new TaskBuilder().withName("George Best").withPhone("9482442").withEmail("anna@google.com").build(); + + //Manually added + hoon = new TaskBuilder().withName("Hoon Meier").withPhone("8482424").withEmail("stefan@mail.com").build(); + ida = new TaskBuilder().withName("Ida Mueller").withPhone("8482131").withEmail("hans@google.com").build(); + } catch (IllegalValueException e) { + e.printStackTrace(); + assert false : "not possible"; + } + } + + public static void loadAddressBookWithSampleData(TaskManager ab) { + + try { + ab.addPerson(new Task(alice)); + ab.addPerson(new Task(benson)); + ab.addPerson(new Task(carl)); + ab.addPerson(new Task(daniel)); + ab.addPerson(new Task(elle)); + ab.addPerson(new Task(fiona)); + ab.addPerson(new Task(george)); + } catch (UniqueTaskList.DuplicatePersonException e) { + assert false : "not possible"; + } + } + + public TestTask[] getTypicalPersons() { + return new TestTask[]{alice, benson, carl, daniel, elle, fiona, george}; + } + + public TaskManager getTypicalAddressBook(){ + TaskManager ab = new TaskManager(); + loadAddressBookWithSampleData(ab); + return ab; + } +} From 9e2d0b489d020b3b095ef375787a3acd95429c29 Mon Sep 17 00:00:00 2001 From: Dylan Chew Date: Thu, 6 Oct 2016 19:11:29 +0800 Subject: [PATCH 027/457] delete Address class --- .../harmony/logic/commands/EditCommand.java | 5 +- src/main/java/harmony/model/task/Address.java | 54 ------------------- .../java/harmony/logic/LogicManagerTest.java | 3 +- 3 files changed, 2 insertions(+), 60 deletions(-) delete mode 100644 src/main/java/harmony/model/task/Address.java diff --git a/src/main/java/harmony/logic/commands/EditCommand.java b/src/main/java/harmony/logic/commands/EditCommand.java index 17d4087ed036..7ed69c6bfd55 100644 --- a/src/main/java/harmony/logic/commands/EditCommand.java +++ b/src/main/java/harmony/logic/commands/EditCommand.java @@ -1,7 +1,6 @@ package harmony.logic.commands; import java.util.HashSet; -import java.util.Iterator; import java.util.Set; import harmony.commons.core.Messages; @@ -9,7 +8,6 @@ import harmony.commons.exceptions.IllegalValueException; import harmony.model.tag.Tag; import harmony.model.tag.UniqueTagList; -import harmony.model.task.Address; import harmony.model.task.Date; import harmony.model.task.Name; import harmony.model.task.ReadOnlyTask; @@ -26,8 +24,7 @@ public class EditCommand extends Command{ public static final String MESSAGE_USAGE = COMMAND_WORD + ": Edits the person identified by the index number used in the last person listing.\n" + "Parameters: INDEX NAME p/PHONE e/EMAIL a/ADDRESS [t/TAG]...\n" - + "Example: " + COMMAND_WORD + " 1 John Doe p/98765432 e/johnd@gmail.com " - + "a/311, Clementi Ave 2, #02-25 t/friends" ; + + "Example: " + COMMAND_WORD + " 1 John Doe p/98765432 e/johnd@gmail.com "; public static final String MESSAGE_EDIT_PERSON_PROMPT = "Edit the following person: %1$s"; diff --git a/src/main/java/harmony/model/task/Address.java b/src/main/java/harmony/model/task/Address.java deleted file mode 100644 index 86ac4c3c80bf..000000000000 --- a/src/main/java/harmony/model/task/Address.java +++ /dev/null @@ -1,54 +0,0 @@ -package harmony.model.task; - - -import harmony.commons.exceptions.IllegalValueException; - -/** - * Represents a Person's address in the address book. - * Guarantees: immutable; is valid as declared in {@link #isValidAddress(String)} - */ -public class Address { - - public static final String MESSAGE_ADDRESS_CONSTRAINTS = "Person addresses can be in any format"; - public static final String ADDRESS_VALIDATION_REGEX = ".+"; - - public final String value; - - /** - * Validates given address. - * - * @throws IllegalValueException if given address string is invalid. - */ - public Address(String address) throws IllegalValueException { - assert address != null; - if (!isValidAddress(address)) { - throw new IllegalValueException(MESSAGE_ADDRESS_CONSTRAINTS); - } - this.value = address; - } - - /** - * Returns true if a given string is a valid person email. - */ - public static boolean isValidAddress(String test) { - return test.matches(ADDRESS_VALIDATION_REGEX); - } - - @Override - public String toString() { - return value; - } - - @Override - public boolean equals(Object other) { - return other == this // short circuit if same object - || (other instanceof Address // instanceof handles nulls - && this.value.equals(((Address) other).value)); // state check - } - - @Override - public int hashCode() { - return value.hashCode(); - } - -} \ No newline at end of file diff --git a/src/test/java/harmony/logic/LogicManagerTest.java b/src/test/java/harmony/logic/LogicManagerTest.java index cad078426b2c..b7ae24196906 100644 --- a/src/test/java/harmony/logic/LogicManagerTest.java +++ b/src/test/java/harmony/logic/LogicManagerTest.java @@ -390,7 +390,6 @@ Task adam() throws Exception { Name name = new Name("Adam Brown"); Time privatePhone = new Time("111111"); Date email = new Date("adam@gmail.com"); - Address privateAddress = new Address("111, alpha street"); Tag tag1 = new Tag("tag1"); Tag tag2 = new Tag("tag2"); UniqueTagList tags = new UniqueTagList(tag1, tag2); @@ -432,7 +431,7 @@ String generateAddCommand(Task p) { } /** - * Generates an AddressBook with auto-generated persons. + * Generates an TaskManager with auto-generated persons. */ TaskManager generateAddressBook(int numGenerated) throws Exception{ TaskManager addressBook = new TaskManager(); From 35697a019b4b3a5afc468907d1a8b47e1ca45c4e Mon Sep 17 00:00:00 2001 From: Dylan Chew Date: Thu, 6 Oct 2016 20:05:02 +0800 Subject: [PATCH 028/457] changing Person to Task --- .../java/harmony/commons/core/Messages.java | 6 +- .../events/model/TaskManagerChangedEvent.java | 2 +- src/main/java/harmony/logic/LogicManager.java | 2 +- .../harmony/logic/commands/AddCommand.java | 29 +++++---- .../java/harmony/logic/commands/Command.java | 2 +- .../harmony/logic/commands/DeleteCommand.java | 10 +-- .../harmony/logic/commands/EditCommand.java | 40 ++++++------ .../harmony/logic/commands/FindCommand.java | 4 +- .../logic/commands/FindTagCommand.java | 4 +- .../harmony/logic/commands/SelectCommand.java | 4 +- .../java/harmony/logic/parser/Parser.java | 35 +++++----- src/main/java/harmony/model/Model.java | 26 ++++---- src/main/java/harmony/model/ModelManager.java | 64 +++++++++---------- .../harmony/model/ReadOnlyTaskManager.java | 4 +- src/main/java/harmony/model/TaskManager.java | 60 ++++++++--------- src/main/java/harmony/model/task/Date.java | 32 +++++----- src/main/java/harmony/model/task/Task.java | 4 +- src/main/java/harmony/model/task/Time.java | 28 ++++---- .../harmony/model/task/UniqueTaskList.java | 18 +++--- .../storage/XmlSerializableAddressBook.java | 6 +- src/test/java/guitests/AddCommandTest.java | 4 +- .../java/guitests/AddressBookGuiTest.java | 2 +- .../guitests/guihandles/PersonCardHandle.java | 63 ------------------ .../guihandles/PersonListPanelHandle.java | 12 ++-- .../guitests/guihandles/TaskCardHandle.java | 57 +++++++++++++++++ .../harmony/commons/util/XmlUtilTest.java | 2 +- .../java/harmony/logic/LogicManagerTest.java | 46 ++++++------- .../storage/XmlAddressBookStorageTest.java | 4 +- .../harmony/testutil/AddressBookBuilder.java | 4 +- .../java/harmony/testutil/TaskBuilder.java | 14 ++-- src/test/java/harmony/testutil/TestUtil.java | 6 +- .../harmony/testutil/TypicalTestTask.java | 16 ++--- 32 files changed, 302 insertions(+), 308 deletions(-) delete mode 100644 src/test/java/guitests/guihandles/PersonCardHandle.java create mode 100644 src/test/java/guitests/guihandles/TaskCardHandle.java diff --git a/src/main/java/harmony/commons/core/Messages.java b/src/main/java/harmony/commons/core/Messages.java index 1710aff9b5a9..d91ac96940d5 100644 --- a/src/main/java/harmony/commons/core/Messages.java +++ b/src/main/java/harmony/commons/core/Messages.java @@ -7,8 +7,8 @@ public class Messages { public static final String MESSAGE_UNKNOWN_COMMAND = "Unknown command"; public static final String MESSAGE_INVALID_COMMAND_FORMAT = "Invalid command format! \n%1$s"; - public static final String MESSAGE_INVALID_PERSON_DISPLAYED_INDEX = "The person index provided is invalid"; - public static final String MESSAGE_PERSON_NOT_IN_ADDRESSBOOK = "Person could not be found in address book"; - public static final String MESSAGE_PERSONS_LISTED_OVERVIEW = "%1$d persons listed!"; + public static final String MESSAGE_INVALID_TASK_DISPLAYED_INDEX = "The task index provided is invalid"; + public static final String MESSAGE_TASK_NOT_IN_ADDRESSBOOK = "Task could not be found in Schema"; + public static final String MESSAGE_TASKS_LISTED_OVERVIEW = "%1$d tasks listed!"; } diff --git a/src/main/java/harmony/commons/events/model/TaskManagerChangedEvent.java b/src/main/java/harmony/commons/events/model/TaskManagerChangedEvent.java index 907e60671179..7bc504e8eca0 100644 --- a/src/main/java/harmony/commons/events/model/TaskManagerChangedEvent.java +++ b/src/main/java/harmony/commons/events/model/TaskManagerChangedEvent.java @@ -14,6 +14,6 @@ public TaskManagerChangedEvent(ReadOnlyTaskManager data){ @Override public String toString() { - return "number of persons " + data.getPersonList().size() + ", number of tags " + data.getTagList().size(); + return "number of persons " + data.getTaskList().size() + ", number of tags " + data.getTagList().size(); } } diff --git a/src/main/java/harmony/logic/LogicManager.java b/src/main/java/harmony/logic/LogicManager.java index 72c7db954250..76a829283976 100644 --- a/src/main/java/harmony/logic/LogicManager.java +++ b/src/main/java/harmony/logic/LogicManager.java @@ -37,6 +37,6 @@ public CommandResult execute(String commandText) { @Override public ObservableList getFilteredPersonList() { - return model.getFilteredPersonList(); + return model.getFilteredTaskList(); } } diff --git a/src/main/java/harmony/logic/commands/AddCommand.java b/src/main/java/harmony/logic/commands/AddCommand.java index f4b232d550d2..1778e9d390b4 100644 --- a/src/main/java/harmony/logic/commands/AddCommand.java +++ b/src/main/java/harmony/logic/commands/AddCommand.java @@ -16,14 +16,14 @@ public class AddCommand extends Command implements Undoable{ public static final String COMMAND_WORD = "add"; - public static final String MESSAGE_USAGE = COMMAND_WORD + ": Adds a person to the address book. " - + "Parameters: NAME p/PHONE e/EMAIL [t/TAG]...\n" + public static final String MESSAGE_USAGE = COMMAND_WORD + ": Adds a task to the address book. " + + "Parameters: NAME at/TIME on/DATE [t/TAG]...\n" + "Example: " + COMMAND_WORD - + " John Doe p/98765432 e/johnd@gmail.com t/friends t/owesMoney"; + + " task at/1000 on/0110 t/friends t/finals"; - public static final String MESSAGE_SUCCESS = "New person added: %1$s"; - public static final String MESSAGE_UNDO_SUCCESS = "[Undo Add Command] Person deleted: %1$s"; - public static final String MESSAGE_DUPLICATE_PERSON = "This person already exists in the address book"; + public static final String MESSAGE_SUCCESS = "New task added: %1$s"; + public static final String MESSAGE_UNDO_SUCCESS = "[Undo Add Command] Task deleted: %1$s"; + public static final String MESSAGE_DUPLICATE_PERSON = "This task already exists in Schema"; private final Task toAdd; @@ -32,16 +32,17 @@ public class AddCommand extends Command implements Undoable{ * * @throws IllegalValueException if any of the raw values are invalid */ - public AddCommand(String name, String phone, String email, Set tags) + public AddCommand(String name, String time, String date, Set tags) throws IllegalValueException { final Set tagSet = new HashSet<>(); for (String tagName : tags) { tagSet.add(new Tag(tagName)); } + System.out.println("inside AddCommand"); this.toAdd = new Task( new Name(name), - new Time(phone), - new Date(email), + new Time(time), + new Date(date), new UniqueTagList(tagSet) ); } @@ -50,11 +51,11 @@ public AddCommand(String name, String phone, String email, Set tags) public CommandResult execute() { assert model != null; try { - model.addPerson(toAdd); + model.addTask(toAdd); model.getCommandHistory().push(this); return new CommandResult(String.format(MESSAGE_SUCCESS, toAdd)); - } catch (UniqueTaskList.DuplicatePersonException e) { + } catch (UniqueTaskList.DuplicateTaskException e) { return new CommandResult(MESSAGE_DUPLICATE_PERSON); } @@ -64,11 +65,11 @@ public CommandResult execute() { public CommandResult undo() { try { // remove the person that's previously added. - model.deletePerson(toAdd); + model.deleteTask(toAdd); return new CommandResult(String.format(MESSAGE_UNDO_SUCCESS, toAdd)); - } catch (UniqueTaskList.PersonNotFoundException pne) { - return new CommandResult(Messages.MESSAGE_PERSON_NOT_IN_ADDRESSBOOK); + } catch (UniqueTaskList.TaskNotFoundException pne) { + return new CommandResult(Messages.MESSAGE_TASK_NOT_IN_ADDRESSBOOK); } } diff --git a/src/main/java/harmony/logic/commands/Command.java b/src/main/java/harmony/logic/commands/Command.java index 63491af6bfe2..eb8d6eb54105 100644 --- a/src/main/java/harmony/logic/commands/Command.java +++ b/src/main/java/harmony/logic/commands/Command.java @@ -18,7 +18,7 @@ public abstract class Command { * @return summary message for persons displayed */ public static String getMessageForPersonListShownSummary(int displaySize) { - return String.format(Messages.MESSAGE_PERSONS_LISTED_OVERVIEW, displaySize); + return String.format(Messages.MESSAGE_TASKS_LISTED_OVERVIEW, displaySize); } /** diff --git a/src/main/java/harmony/logic/commands/DeleteCommand.java b/src/main/java/harmony/logic/commands/DeleteCommand.java index beac38abeca9..bfc80d94fc63 100644 --- a/src/main/java/harmony/logic/commands/DeleteCommand.java +++ b/src/main/java/harmony/logic/commands/DeleteCommand.java @@ -3,7 +3,7 @@ import harmony.commons.core.Messages; import harmony.commons.core.UnmodifiableObservableList; import harmony.model.task.ReadOnlyTask; -import harmony.model.task.UniqueTaskList.PersonNotFoundException; +import harmony.model.task.UniqueTaskList.TaskNotFoundException; /** * Deletes a person identified using it's last displayed index from the address book. @@ -29,18 +29,18 @@ public DeleteCommand(int targetIndex) { @Override public CommandResult execute() { - UnmodifiableObservableList lastShownList = model.getFilteredPersonList(); + UnmodifiableObservableList lastShownList = model.getFilteredTaskList(); if (lastShownList.size() < targetIndex) { indicateAttemptToExecuteIncorrectCommand(); - return new CommandResult(Messages.MESSAGE_INVALID_PERSON_DISPLAYED_INDEX); + return new CommandResult(Messages.MESSAGE_INVALID_TASK_DISPLAYED_INDEX); } ReadOnlyTask personToDelete = lastShownList.get(targetIndex - 1); try { - model.deletePerson(personToDelete); - } catch (PersonNotFoundException pnfe) { + model.deleteTask(personToDelete); + } catch (TaskNotFoundException pnfe) { assert false : "The target person cannot be missing"; } diff --git a/src/main/java/harmony/logic/commands/EditCommand.java b/src/main/java/harmony/logic/commands/EditCommand.java index 7ed69c6bfd55..ea540e26c2b4 100644 --- a/src/main/java/harmony/logic/commands/EditCommand.java +++ b/src/main/java/harmony/logic/commands/EditCommand.java @@ -13,8 +13,8 @@ import harmony.model.task.ReadOnlyTask; import harmony.model.task.Task; import harmony.model.task.Time; -import harmony.model.task.UniqueTaskList.DuplicatePersonException; -import harmony.model.task.UniqueTaskList.PersonNotFoundException; +import harmony.model.task.UniqueTaskList.DuplicateTaskException; +import harmony.model.task.UniqueTaskList.TaskNotFoundException; public class EditCommand extends Command{ @@ -22,21 +22,21 @@ public class EditCommand extends Command{ public static final String NEXT_COMMAND_WORD = "actualEdit"; public static final String MESSAGE_USAGE = COMMAND_WORD - + ": Edits the person identified by the index number used in the last person listing.\n" - + "Parameters: INDEX NAME p/PHONE e/EMAIL a/ADDRESS [t/TAG]...\n" - + "Example: " + COMMAND_WORD + " 1 John Doe p/98765432 e/johnd@gmail.com "; + + ": Edits the task identified by the index number used in the last task listing.\n" + + "Parameters: INDEX NAME at/TIME on/DATE [t/TAG]...\n" + + "Example: " + COMMAND_WORD + " 1 task at/1000 on/0110"; - public static final String MESSAGE_EDIT_PERSON_PROMPT = "Edit the following person: %1$s"; - public static final String MESSAGE_EDIT_PERSON_SUCCESS = "Person successfully edited: %1$s"; + public static final String MESSAGE_EDIT_TASK_PROMPT = "Edit the following task: %1$s"; + public static final String MESSAGE_EDIT_TASK_SUCCESS = "Task successfully edited: %1$s"; // private MainWindow window; private final int targetIndex; - private ReadOnlyTask personToEdit; + private ReadOnlyTask taskToEdit; private Task toEdit; - public EditCommand(int targetIndex,String name, String phone, String email, - String address, Set tags) throws IllegalValueException{ + public EditCommand(int targetIndex,String name, String time, + String date, Set tags) throws IllegalValueException{ this.targetIndex = targetIndex; final Set tagSet = new HashSet<>(); @@ -45,8 +45,8 @@ public EditCommand(int targetIndex,String name, String phone, String email, } this.toEdit = new Task( new Name(name), - new Time(phone), - new Date(email), + new Time(time), + new Date(date), new UniqueTagList(tagSet) ); } @@ -56,22 +56,22 @@ public EditCommand(int targetIndex,String name, String phone, String email, @Override public CommandResult execute() { - UnmodifiableObservableList lastShownList = model.getFilteredPersonList(); + UnmodifiableObservableList lastShownList = model.getFilteredTaskList(); if (lastShownList.size() < targetIndex) { indicateAttemptToExecuteIncorrectCommand(); - return new CommandResult(Messages.MESSAGE_INVALID_PERSON_DISPLAYED_INDEX); + return new CommandResult(Messages.MESSAGE_INVALID_TASK_DISPLAYED_INDEX); } - personToEdit = lastShownList.get(targetIndex - 1); + taskToEdit = lastShownList.get(targetIndex - 1); try { - model.deletePerson(personToEdit); - model.addPerson(toEdit); + model.deleteTask(taskToEdit); + model.addTask(toEdit); // - return new CommandResult(String.format(MESSAGE_EDIT_PERSON_PROMPT, personToEdit)); + return new CommandResult(String.format(MESSAGE_EDIT_TASK_PROMPT, taskToEdit)); - } catch (PersonNotFoundException | DuplicatePersonException ie) { - return new CommandResult(Messages.MESSAGE_INVALID_PERSON_DISPLAYED_INDEX); + } catch (TaskNotFoundException | DuplicateTaskException ie) { + return new CommandResult(Messages.MESSAGE_INVALID_TASK_DISPLAYED_INDEX); } } diff --git a/src/main/java/harmony/logic/commands/FindCommand.java b/src/main/java/harmony/logic/commands/FindCommand.java index 9c7b393bc0a6..84d1761604a1 100644 --- a/src/main/java/harmony/logic/commands/FindCommand.java +++ b/src/main/java/harmony/logic/commands/FindCommand.java @@ -23,8 +23,8 @@ public FindCommand(Set keywords) { @Override public CommandResult execute() { - model.updateFilteredPersonList(keywords); - return new CommandResult(getMessageForPersonListShownSummary(model.getFilteredPersonList().size())); + model.updateFilteredTaskList(keywords); + return new CommandResult(getMessageForPersonListShownSummary(model.getFilteredTaskList().size())); } } diff --git a/src/main/java/harmony/logic/commands/FindTagCommand.java b/src/main/java/harmony/logic/commands/FindTagCommand.java index cb39c90b3c14..baac1fff6833 100644 --- a/src/main/java/harmony/logic/commands/FindTagCommand.java +++ b/src/main/java/harmony/logic/commands/FindTagCommand.java @@ -32,8 +32,8 @@ public Set getKeywords() { @Override public CommandResult execute() { - model.updateFilteredTagPersonList(keywords); - return new CommandResult(getMessageForPersonListShownSummary(model.getFilteredPersonList().size())); + model.updateFilteredTagTaskList(keywords); + return new CommandResult(getMessageForPersonListShownSummary(model.getFilteredTaskList().size())); } } \ No newline at end of file diff --git a/src/main/java/harmony/logic/commands/SelectCommand.java b/src/main/java/harmony/logic/commands/SelectCommand.java index 03b40192e5db..64c90fc30a9b 100644 --- a/src/main/java/harmony/logic/commands/SelectCommand.java +++ b/src/main/java/harmony/logic/commands/SelectCommand.java @@ -29,11 +29,11 @@ public SelectCommand(int targetIndex) { @Override public CommandResult execute() { - UnmodifiableObservableList lastShownList = model.getFilteredPersonList(); + UnmodifiableObservableList lastShownList = model.getFilteredTaskList(); if (lastShownList.size() < targetIndex) { indicateAttemptToExecuteIncorrectCommand(); - return new CommandResult(Messages.MESSAGE_INVALID_PERSON_DISPLAYED_INDEX); + return new CommandResult(Messages.MESSAGE_INVALID_TASK_DISPLAYED_INDEX); } EventsCenter.getInstance().post(new JumpToListRequestEvent(targetIndex - 1)); diff --git a/src/main/java/harmony/logic/parser/Parser.java b/src/main/java/harmony/logic/parser/Parser.java index a545186020d3..9d4a5f7fbb73 100644 --- a/src/main/java/harmony/logic/parser/Parser.java +++ b/src/main/java/harmony/logic/parser/Parser.java @@ -22,15 +22,15 @@ public class Parser { */ private static final Pattern BASIC_COMMAND_FORMAT = Pattern.compile("(?\\S+)(?.*)"); - private static final Pattern PERSON_INDEX_ARGS_FORMAT = Pattern.compile("(?.+)"); + private static final Pattern TASK_INDEX_ARGS_FORMAT = Pattern.compile("(?.+)"); private static final Pattern KEYWORDS_ARGS_FORMAT = Pattern.compile("(?\\S+(?:\\s+\\S+)*)"); // one or more keywords separated by whitespace - private static final Pattern PERSON_DATA_ARGS_FORMAT = // '/' forward slashes are reserved for delimiter prefixes + private static final Pattern TASK_DATA_ARGS_FORMAT = // '/' forward slashes are reserved for delimiter prefixes Pattern.compile("(?[^/]+)" - + " (?p?)p/(?[^/]+)" - + " (?p?)e/(?[^/]+)" + + " at/(?