From 0c680c129a69548c6518eca182f83fadb77cc35b Mon Sep 17 00:00:00 2001
From: Riley McGee <mcgeer@mcmaster.ca>
Date: Mon, 24 Oct 2016 18:13:13 -0400
Subject: [PATCH] Finished Functional Reqs in TP

---
 Doc/TestPlan/TestPlan.bbl              |   8 +
 Doc/TestPlan/TestPlan.blg              |  10 +
 Doc/TestPlan/TestPlan.synctex.gz(busy) | Bin 0 -> 24576 bytes
 Doc/TestPlan/TestPlan.tex              | 268 +++++++++++++++++++++++++
 4 files changed, 286 insertions(+)
 create mode 100644 Doc/TestPlan/TestPlan.bbl
 create mode 100644 Doc/TestPlan/TestPlan.blg
 create mode 100644 Doc/TestPlan/TestPlan.synctex.gz(busy)

diff --git a/Doc/TestPlan/TestPlan.bbl b/Doc/TestPlan/TestPlan.bbl
new file mode 100644
index 0000000..e5e1367
--- /dev/null
+++ b/Doc/TestPlan/TestPlan.bbl
@@ -0,0 +1,8 @@
+\begin{thebibliography}{0}
+\providecommand{\natexlab}[1]{#1}
+\providecommand{\url}[1]{\texttt{#1}}
+\expandafter\ifx\csname urlstyle\endcsname\relax
+  \providecommand{\doi}[1]{doi: #1}\else
+  \providecommand{\doi}{doi: \begingroup \urlstyle{rm}\Url}\fi
+
+\end{thebibliography}
diff --git a/Doc/TestPlan/TestPlan.blg b/Doc/TestPlan/TestPlan.blg
new file mode 100644
index 0000000..83b3883
--- /dev/null
+++ b/Doc/TestPlan/TestPlan.blg
@@ -0,0 +1,10 @@
+This is BibTeX, Version 0.99dThe top-level auxiliary file: TestPlan.aux
+The style file: plainnat.bst
+I couldn't open database file SRS.bib
+---line 51 of file TestPlan.aux
+ : \bibdata{SRS
+ :             }
+I'm skipping whatever remains of this command
+I found no \citation commands---while reading file TestPlan.aux
+I found no database files---while reading file TestPlan.aux
+(There were 3 error messages)
diff --git a/Doc/TestPlan/TestPlan.synctex.gz(busy) b/Doc/TestPlan/TestPlan.synctex.gz(busy)
new file mode 100644
index 0000000000000000000000000000000000000000..b6de3f267dc21c02fbe6e7e002f9f4d8f99bc475
GIT binary patch
literal 24576
zcmZU31z1~6*DZtq!GlY2cc-{ESaB^@+})u?gS!@Yr$~X~l%fTS7T4kwFJ4@3==*;E
zcklgqo=HxInY~BOS$pj@hawsT_xBGi`>TEp8UJVc>rX~5n9k(0fJ4AB;aBY<<a6h7
z4EG=T$eso3u7mnLt_xvRwuhMrPgil@&4C%%iLGgR>?xO)-(=|r*ZA1)ou2N04Lm)r
z2iy-o-L0P==lMVU`WkQ*@N~8$-qC(_{B-|#C;oKXjJ5i76Y$s^FYf#J`|jyrN+qwu
z_vYdu;P%hJ@zY)SYUll2Uchx|!1YubRt*9%_{Ip<>+B}H^JzHX@!}lT;OR;QD?cDU
zAm9=H>8VEi{&D?|LM-6sV)F;ZBkZFS%i5RV_O9&dDHtp8-h*<A=etpWpYP3jP3JjQ
z!0p4ZII@^H^y%!NM*Qhf6z=Kt94pU=(D@z7eecc>@q0JPS%w6Pr<<klA9>>U-^5w3
zJtG5dPKIGW{qG;=I{mNjn^h>tR|D?<)O0>=)~u2c|9L8kk-1HZ_fnY#S$F!~Uu+()
zii_Q!2Rxjdqh6`_4V2{>imx4SuJQ$26~|Ye_KF*d2eDRNTR{>|<DdQ<I2jpFS0!!b
zVM`xPtv+sx-=A&fJzlOe1c}o`jy?FPY~<dbmJtrE5!>7k?Btyu-!2$2M0Gy=X0X5h
z^`%ByjrZpcR^HR;uu9j(<^YyB`Qnov_{!e@W_{R5{K4bCJ}~%8cEjWS!76Nf(l|P6
z+-4fvQCuEQVGI4xo_ZBi>tghKcR_8PSgq)D=fe^`YvDxio54j6@%x8fm+5dj6OG=-
zUkDAq2-jd6F~z}QCo?B?wOP~IC2rLJ^C5oK|Bj&ItgKU9%<uh`(c>v1PvGk6!yOh!
zr-awTb#IyjmFw8oy8!<iAouAJ?Dhz_*(+NW_kDM~@(^%7Aa3@l)A!xek&$2Q`f|Xv
z*XoT^p--MIYe9;W`f2scH!I=We)~**$-YBk$XBsGSEt|Gp6<vQCGL)bJcY+y9aLYF
zHH6FGy(~WRjW|9!emvtdYN?+c4?cD@85Q(OqwMR`Nw$k>{GdZ}KbGB?f`<@r&$Mcv
zrjV+O_1J<JRAX|}lJ3L&kub%~t1k@)vs%7kO$vov2H$E*<IwSCwF*-+$=Oy_f^OV9
z^Wr@pE{>OfM%~|-c_`eDDhH_ic1>M<SUyl@8cQ+EVg5)9Hfb)#dR!s7c$aqHU9zRF
zdfz>usUN{CI*kKgcowN@UoDhpAmRDN7CWcoN&%fMI7E1v!)u}MB!Jz>!$qOvCY!$O
zN^Hw;5==W<+bq_oqx3OkNYjycH$insF+fm0jZZzVpyERTpnxN|IMjeA20Hsn0cyb?
zvgMj_Un0Buy5K$2tq_EF#%DJI)NAzN(&^<BQQeQ7bN5zaaICZu!ClINub2bcF-wDg
z@~>|67q;oYV*A<I0%N92+>A#;GUXL*ZL9BiU1-JF%aZOCDSo-9*D7e;cQ+IH#W0J?
zP|h%RqCsf!uo_iYr4g#k)D#4-(4y>@k`#{XM3<z4AMENA-$D+ZJh4;w+Zerceq<XB
zMfY{*7k;vC+@AjVP3=t!0q&UO2eBQo)w<#MdwBY}6$RCMxN=U}j~81CE8DZ1S7V=q
z{hc((AOg!C$<#~j+T}R*+_{Hs-H(k6-#^h@@_&gN+Wh1;{@R5J%aeyQ*W3M1u1^&%
z|5<P~<nY~KeB0O;J%!}^ZU(F`<>l8J5oFBtopzpy_v{PUAyaR8nLaz17#>oUT79vu
z4RCn*IXdEDl)dn5Z1UYk@UjB45E*l>)SDaLIjNx7k6TW}>IyUWY~j<It?*6fY@4?4
zw!$Sr!iYZ=P#(t(;tssd;t)%hHt@y0zOIQYm0^~-v!N!RrPWpVk6y4|VY|+xErH63
z8dNIXUZ`;&=HK#j+J4SL(}%j|8)bYQQ1wG=h*rJWJhC3if#lqcECy#$bl)kahni5O
z+>hIpTo&K>eQdQFrI2JK9T`nBDygYPnk=_{M>r4(l0wXO7rKkK*7UQTv?9$y7AAYT
zdsA-n?kYUss^(!i0Qgh7<o4pm!6K#XduXY0B9c-rb>|UFuBbG7Ra)71mX3)Yr@E2%
zA|6rS{4w_N1jRq~3}vd^Y;&nj^h=2Jil|f~h9_?Ju01rg&#{s9%ZKtHmK}fO{Ms6X
zjFX7Yjj3U`vo(+^Qc5WP;+uuQ(+uZO>V?|EcM8Nxu(^KHuBEuG73Wy#^tbavt6)(D
zclgva5{O%-MTa9WJ>J+!jlpE+m~(S|x_?l(*{ix`I@mm%97@lkdm3!rW0Zr%>PhBx
zoBcRH`3`kcuSXsA+>*VBvX7I5W0XWnyvwGzyaUREFufb&<C#F8o5ppwrfV9g*PAHk
zo}jyZAhU)^-81%s3^FKub(l|ccSzZdwL~p2#kL^cbg?j|`C=XcUnD;k9UsA$Q(5s{
zPP(xghJz;rX@&GGoi}gu+qOQvFtYyW_<0XXGS5g2r;}G_fUjTYLy)ksWq38;QMIgN
zCT9KX@UI!)e|tDL0}t-EN-t3DXE^paXvp5PdX8f4G!bC<|NPihYEim+cp;rnVEava
zCA39u+K}9y<;)Wg@0a8&O955jjbAN1A`0{zxolO|=gd>FapxuHY;K4@)WV(ESD>*U
z(^UO6`HN2<c%KZ`Fg9!~pDfRuCjam)M3{<xH$yo{#aVEk%6+?JDH43gnvC<pey08V
zX8kDo@Y^u@%ffO%;ocDIzA(>?s4v^0LL1}$CEo~z!}eD%u{`W}iifs34{Nu1-XHOg
z_Vk@z2r|0^{Yb%J&mkt24xIujA7Z7#-KGBB7@0l9CV6L&9;elZtei)3{)oom71CCT
z$}R26LxvPg4-~Q=jM}oI!w;t+KEIixZU3Z%i@F>-U~ebJS^XvtI)tS7&qg=)OyU#j
z+Kk`jzEDh>Q`T%qTv@BicI6aOQ*-nb$~{}pTRb$hZ|!a$*W?&-PlyY<g_?S8)*n)+
z%ws)Rt5*A?e|jgtCA(n6{7~F!D%UEQml}Ub*G;k^yU7?<GQb-<X>*z&YN@t`3g^?@
zkqc!n+vxU79n{d^;_BqW*HBx{82q8sHwT-(r5m%@-7Xit?9Pc$koc{IVqa@R2QAi7
zuCGz6c-Ekk^3QLC>&4lvs?z)nN1NeeHr}RVjIJA{HQtUJVwV-K16(&cwo`GNXX*%M
zvRil#|76vCuGhTH!sW$kK;2yS;zN7!wZz($T>EPYqiYzfn`;=sGTl^OPQj{i8c)N5
z3DQh%fyM#03i$x0#-7vI`29pjns#Asfk(VeW_Gwmye=MBYfncN(oSA>0rHhDy~^nL
zxBGr{C22n^dU5_&Mmzxx8KcCvhedtpN)&9C)~^Y8c<BOOCa-1}L>}9Rl^#|T-(DBE
zb>yV;L}eH3vE*hI#DA@rgjuU;{e|w}Q6>E~w;(>JWD?flU4G8UxQr7M%(0de(?89#
z3#7dUFRZL~`R8HHJ<}zho0FA3H@_+RVQIZ=mPx;3vS3E=i(}K!9EM_j-{XdmezE4@
z3CaEr)s8Ti3pe|!>1M!rg!*FDN4}9YTdZp&;h=-8x?C~1#L9%I>*gb>cb;vzy1w_7
z?EJJUcFFjc`v#=lE*5+>7B!nf)<R8bzu##hl`(qnI2zT`VqTH`q5q+tVTG@LBSq!W
z9uSK4-H^*Cub!nU9}!dMMi0$l=1ii(tK84p0&u$j86(Dvj2_2poXEuWqHeY#8P^bj
zP!}>{ZJVwf6==J&5;TIA`jx0Y`5m+>b$6eu=5_uew<3mCP$n8D-F7n8E<CUbf&zdK
zUTw!f#r!tSz#-8s+&*{2Kp9UURHC5T#l%02s~XbBgrr*rF328FS_Z=xSN6-7m?va!
zTdJrUwn|viW&6S{mNkND%XdIUvkR2F)D+Geg8mZdn7502TU<(H(Fudc17q)rU#v*-
z2gc-L#LdNiK{PO==U3iJ5RYJvxuDAk5xWE}b1ZxfUSF_Pzo#r`vK+-K#CT`(IBf?I
zRK2gofO1D|aFq8%tCjHYW~R0)hf7XIC1Unch}o2iH_fhFZuf`y>4WGTml&c=+<OZ-
z5szjIwHexYWadMBh*DPJ3LKKpq6eG(glN5Xm8PXt&&HO6U+I6(@TIsfM+=p)!&#$=
z=?YZx9HHpLi84g>w%@DYzF&r~cDVG5>f_9`RKBQ%NX~kQ-qAH6&@5%~908a0&-weh
zANk`hCw!N#cCN<fF|<6g+ug4A-!4vP(A<b!i`q}O1;2Z{h44GfEB|?%7rIKfVqk>q
zp&>?jt{BhsEK;mwIa?~j#^64O#^CLxj?OX9{H>g<C1}!d@TyOP+@<06CPKCW^T@mB
z@L<Jvb7v4#lxtT++sC<B@Pp&ixR~<?k@`NN&89`kbBEPcD`D8gMt@5TUUkRk#8tRv
zV38XeuV$FbICG+L#_|ouzZ_=r?88zZRTj&n=tm#ndwa@ojo3JtL=mSkZX_eL_`0lk
z@&)U6Yo(#Rcs4&z+(sv<%|3P6o2ZV1-v`<GYv}4~-l-Ut;TA)G`~q%h8QeWHqII2X
zv1_yremDQ-X0Jm*oV^-ExeE*O9BsyJldU{QPwEo<iaDlUKb)LAX>xIyntG8Y`n8Ll
z7I_p4BQLqzNK|i`eUD$*FBf0C;+QS$Fr>|Yv#SISsN#=YEX4aFVHI9KiS%Va20{Q_
zL2ov#I6Dx2PIJ(R^r8rj=Rxe&{8UBoVzBnxCxxpX1_B~zn(fm*pE!S_bi4Z9i~B5R
zf2Eg&Iz(XN*`w$z#plQ|m8BTH&@u>Va`F293^RGF=3+nYCoH$`aI?xksW_jackOao
z-R}SJZ1eC7@^$YO=$zkVvTKN>p86FjUv%Lz(_%cv$S+KG<?al}@_AY2r8^<x``0B!
z6Uws4sP#3umQUV29iC~@e0MB&nkH1)t74NZ_Jzh48V`(9Dz}MFpDiua!(M4I7ER#w
zP9|r{>>V1?zn?6ONJP=FRuL5yZ2t>{7*3}CX5RmRImWTwcKpkF!S)|wnPL2L3i~ep
zf2@QbM%R^mF;Xi@r@=5BTvy^1j9}P~p$_Nw`<C2$H?P6`u(1As^o4Xq+e=rozVju+
zC#@lC@1nh{%*O@g05@+p3w7vJn4K-?Aa@$p*Fr@PkBd9m?rZA()(QDfs|*po_Q;#q
z^?$Lry(U9^ab){M?9N)SeXsJ@N$&Ll%s)eK*5~Fh{)sKhTo?qCu3TWNU>=*Pe7vv<
zzj|@#>aD+Qp;iMM5^NZS6c)Exy;&@7FWWs-Y%@u}eP&=AGU{g!n6%F7EDDkoR9Kyn
z9ItjTtXYEqcE0($4*4bF-gS&H6%d5yIOe%Ru`l(Q-lx%9g%-WJvVo;1<iLU;JTm3h
z?<fqj<da*)7wY*xTZ%hlF0>8)WKxLb69#v_yfD?Dbn?7)4blHdc|MBlCGv|JIa{J~
zHCrQob)o?OWKr4|`PTkoD`zWw8r=S7l}vSKQ%dcg61{reMz^@P0aSJ%G<955Q%Xd3
zXZzEqv1G|7mg*DIX8&HZ#pn+uE9@HOPNXOL2BYLy#-?r&0CGe0pQ$ym;Vt)vhV<A!
zxC_>Og@qkF$v@_P>^v`^2-OmVj{-qI8WTx3m*OkKCZeyqA3ZFhRS&lOvaq1-NUuM?
z8|{=XYn?Av6RJ+cb(3jb*dwfD{(O$=c_^OZ4`bUHcLTVWjks(TGtuXYzK8wqE=4bk
zUW@O2Z{>8gNad;PtGy^LRTEOufGu!Tww(}fVQ1SJcgqj%cedlW=P!bDqi)9({T;{u
ziLR0XmlI~=;USpL=S2hgPE2zhw9f&S^x_+#Moca88wA(}BZ*FIjsM-?iwk@e%v-Z3
z*ajm%z&3bXKgU{aRPu-Zo*Dlb+j$*@)@@dBE=#?A2^*5zIE9ZZro%!q!7l+rlRn9^
zA16Qa8II}|bBQlTd_{L#%a2F4%8(vjJTn!$@jU+vm+^C13S?1+=K+vhjCgVH3i_Ch
z^C+SJM*O=DDwyvl0+=5LC7%djYvAcN-Z>F1vMbGhwnp$!J_+km&&?3LvMaBI`%3>$
zvGmQb00S#-j{xIgxvA>dBq7bXox-=n+SJANlOQ)81y|OTzHHq0<2S#%qDhHpIYOOz
zfzm-1C_?$sbmd-r16~1;`@Q7=d#@Hw^W5exgLf%xyHe9l`ADbw_TfpwSt|a&(nK84
z+D;6Yf(*Hm*mm_r6fANZ5gn$+UM&P+ZYFAo_1Z(~9T48@#j5U)Dag=-6VW7KBH$PE
z3@bWoM^;*F4a+Haw58K|Ve)llv$ndSAd2fan*}N)s3xM*0Df~NzwVbv{cU`@NU((Y
z(g2+)CAZw(BBtdx#%=plSd`PE_R{>QX+z91y4by=BE1>^>y_4p`Pk>+ahEw|*&zL4
zAXO|@=Q{Z7fd!F+E_zW#C9z>R{qbp!&fwO|;<2@*4sm5Oy60Xxk$*!DI{tp<2y!Lh
zL*XRN7M@ueVt#QcxM<_JuGf%u<YFMTWBxYw{Vm8%+1|mtoJhv!lcf*c8#pE!0k0uz
zzLM=FF~3FxQdlO^0Q<b^#u`MaCa@4&=^Yev@C*!(5&2FjXQFX$-J+^$Dg8bOMP#M~
zmR60`1-ImqJ7^q`clVnTDYfc7N?%|4lT01PEZM4zHv2u<st6=`9ofJ>kAo>vspq3+
z>ESs?8#C<^ZtgY!ihp37fT(mFg*op?qNDwG3@jwqG0ZG#Y2;^c_RfAUI%C6{@cL-W
zldedbVziTp^kqWuhg+?4{h!+Bb{)UZ33+5-3($JQ1dG^Z0u<+`wZDR;3x{Kj@9D3v
z%dgj2G$a(9GUC?j$9;8*t$0h>hOeG8s~F7ybkz0nhwVPg`6c4g%>~-8J!KTWvKFtF
z4rLVdWA4T#el(R{bpMD|+VhecnI+I2-6nW9dYKyW!Q`!zE-tg)%NxYgd6fEJ<vq1!
z;qR8-Fe|#KE-7;?z$q{^C~H-e?}-K;*3K7eGTa#g*bVwNks_vyuH27FA04stk1M7G
zyW7z77SVx+M#c(Gl=*6?Ve*<FfrV?f{wfIVJ+l>MQ<lL&<yjMy8(dpmoz)?av&I|M
zAtqF*?abpu`Toc`=_UAUcW(c+0q@%%;qOH*9rZ@CWSV=Nh;QA#cXUfq*Zuq|#SzHr
z+1Q!|olx|&i?-sLl#G4(E?ex{CT##VsX&7;JUeZ0d>REipB7RKb2{})9~#NP6`4Gu
z9DH(567p$8>X0y{)(=!aQtIi9%i-<vMevdNZVfzMeL~c(a2FiVJ=`WOBfiob`IS9|
zEI#Uz?au)G;lj-_kMbvm>(1QJJ99V7Q;&N5s$s4ayY|GCRWmj)M+0k+vE4(2j4nqj
z-rL<46?-jfZMw2PXw~o3k4nU|2j{J4!%KVG&(Q{{ruqIk!-BcLjr;VKy96)Mr+U+k
zR2J5YiH2RDPEC1^QUWpH4M`kqj}pbMxgPb#(4KO@<n)d@ob5xXxA^;eIYVd_sNvmU
zUg}Ftgi97|a$%E+*!cI7oeq)}Oe%d`nd2NQ2-VXovl6ibbo+gl;-i*^10pKRg$o|o
zu@kHwPDc4_6<QMpxr_)CZ)+^(e*E4Grns%Si;?_|2q%Op>o5z-?&cr%j|?Pd^`@x+
zV<X537on%itijoTNL*`a54}x`U^{a=B7xR8*w>iINyXM7t$Jv4dUL8b%J9DFc`2^|
zRE(MlFUQ_B+^=LuNc|MioQsP6@~R}A7XarMpU8%dfBZU11`@6ur9?x`u1r9+-e0x<
z9+<AYSo)Z3vDQm5L#*3vzT0f0hhuCTzvLJJiqEOt_w!ni&D(BTlFdNpeTh~zv3n3j
zIM|i^-Y1^Ct*)}Jwa#jko&IHT=p;+n$3HScEU_{$eQ>qO`BP+;xp4>|#(Q-hb(ttf
zb9m|?%*By2ha-$84xgz5*6nX5(^txjq{j<y-de=-M>sIWW7lp5dHkU4>R{|GRkA|F
z*>idE35;?zHbaT`lUhIYP0VsuEVpe%ovu;nSo_RvMOdi5(Tu(nPn|rGXstDGIU&uW
zO(K|Z)C9!km}KXn5wXl4lctD3eqS7dzKKM!TsHt`7<pH*AjsV<Q_bnWS*$K(Poa;p
zK<ORRy-3g#48qq!vLFa~G}vSezX07yBk#zk(2%>Y(YVJEA;K-XZ-d<IIbxy2+xMw4
zPWCPOSN;4wuaRGDiMUmf)8{Hmq@U~ejn~Uk8m?|nx)_=Jqbk4R6b_?Ruy0X8>i(|P
z@Y=#Slt*h&8ewAcbBMd1Y50SeyF5Hi1$My`131t91R7Y|Yg;}%(KY&OIww_tP7gr0
z{*|t}wzx0uk*%qr<LEHK=v4~fT!X5mwWg)VRi-sxIj95k5~zx!eE|29)N;M(mbP7m
zQ!5qzn-7(aB{iueUM-&cY(~fx*M<i!!VBuJ@FANPW6mFheQo!E=q<$6RAf;2yn%@E
zk1WnNn#E<?I87M<sV`RUnN4E&dx$>Y1u?$u5biIE0_L0c7U7!Go6^LUp?*F@W`Ibz
zN%GSU>0c52PuEe4@^M7cB)9520(~l5<)Bi7o<*drinCG!sWLj>GK&+9Jpr=@C25tA
zG|8^AXgwAZY~$IU`Vtv;^jJqqV~yElEg5?h<uxSgb;UV!VATmc1+^+@-k}%DW&`O4
zU9s5!51S?;4QPy8U2CUpA+KI@fhk!KKTm<?AG>XgXaLzHoYSdNz@HyOYQf|_Sjsl}
z<X7HCfYtgP8|Q?EZ%k~p==rh_Gnr`Td8T=G>>YwT&W21WgUPB~dJj_GQ~>mt6%62g
z5*IK}DkP-4^s@{kd-E$a&;tvV3ru8Ek^xK?<wWfmLha`wy+Q}td$<Trhcqqku!jt+
zoYbq7Gl`1fB6=*L@d%X9oq0ANoUUMQ?rJ5V#USAM1PhXpVDzu?*LI{VhY*pBta$~U
z{t8J1eHDnIEt-<2WPGqJb0WO{^!?aJwT>9eTDR^8svMFoG!Ym5V=W5&so&CzsPh#H
z85!RYPP+grQra$MMkO3<>fCsJbvA^vh~#u=;1rx#YzcO)2_O(!-q`K<41I#>)IGmb
zCp3e?VE8SinYvh*inraPKsAKa$pk^7!Pbc|7eYZRfvI#XR6`1LsF%9%gT|=XAEIY%
zT-NVqH+jXz3bd6qqN?^+i3!K&nGaGWXB3VU5@Y0QV_6oc1IxcO!B)C?Y@ob_*!F<)
z>8QDi0C^Ddwu4NIj;~B1gAwKj_t_7<xzHcczkV_p6=YHV`WXU#$SRn)?YVMLaW*BT
zHZkXw?x}dlaT)LR&f=4YfUX5HR4OctnWM_r=OP-2*@z=TJm1YoZ2bl~fukyGcZqbn
zk0=Qa+)P%{_0bUEUyy~*x}#2*{ajf|4q4M%U3vRK7qL^x38}|QhgJy~c3%g^M!P}+
zG#7t*5dj=fZ)jGH_^@uB$p%@qpWp?sF}8&UE{hy~!I0{6^XC0r(f8$*C}`ruofI9Y
zXWfI$0&%yd{7mpT&k))gHX>hOqBAS15DcaNAVw!%F!r^uZ>ujv9mC&Eii;>x0ypY4
z1ujh1JiMqxDH$_iU$8=?4HhiWG&D~?Zuw3mI7-}C@tEV{UGiHmo%YtVeX!Do31_o9
z<-3G0qX?@zQcoScGWT0JTm+smEwmgI3k?;|95X1{<>SkU2PXV6D#zb!fLQ}vx%s^^
z_x7r2dH4x$ApOaEZR*2)va$CSn4EjShF*Tq*V%TQa>j(tjV$py8Q&AkQo0(bGakEl
zr|V_x?nvzmdIjSFo2H!9bPZN-?l)aASl=shbLdh7U-K{5U%%ue$K!)1sE$zU(o}1d
zJ)E6#vaf~QY<R?d6&8rI0~kv58aRNBgF{M}_FvQ*8R*i7U)3I*welpeEz+stY{w1@
z4XpccP#zDHmem;C63Ftmh326UIbpWB;#fBfgv<d9DVwOWjHUR&O!<Y266W)^^uG3r
zI45yms)0ilUBw-Pt&p{Id$AWGaRl-<R3ewC>?WUN6(kRMbxt=7)4NUhcow6>{){W^
zBSzcR#}TGpIti$X3<w&auQ=yNtbc=2v%}+lB4aeJpId!M^hAzgdmZLvgx%Bj7IDh)
zO?LxEA!_MEiqTmELSK*1ZwZ$^IZQmKQ`VGsvrs@kvlH1o&xU~&8r^Hhg3mLg9~4RS
zGgwL49W6gse?k<SEI}0;l1Yk15Br=dp#8RbERdf=M)Wvj9Sx$UHNUZOtM$eyhK;P$
zREIcfBfMI>|5MU^OZ=ExS=qiR_Zd{gcs2jVt(#-!-dQe0UhUlJQk;q9k;G&IP51OF
zj3JYD%0xNjT^)Il!`+{SqrHHQaT<r!dl?#%%eO-(G4I(tnvih2cU*oJk+2knkK8=C
zplAB6P|$en+DE?LtE$%mPA+gm=`AJ~TqUE&2=<EWwFHyKw13G7>5sXnQB&u*H!;gj
zE>w`pTMY}c3+WrYl(X^y_J6GB6Q@(osRksCUCuM7Kw;e^CKqy3VBJv6bJ!3FbJ!;3
ztttbH>qVJdPI+)7<kxZ*nX9h}WLO?w^M^rO<*gL%@4O{^IIn}LY%@5;(3;<RpauC!
z*sCpWSbDvK6#Fp`5~b=;JF`npafdQ;qFkF(8W*kTae}RjXS1Oap`R2;>TF#7l0m$S
z7}zvSXh1M$yC_K)<F}*nEna}pl%%kG=y&h)6m&@M_hA#*EfJ^JUMw?EiaK@9saHoN
zN5A+XGTm7Dr0jOm0jV<6FQa?kpesTI<rPAI2q85(M!Hl2k|LEHLMgZyUIR24$ON?M
z;x)1E($xO<H^8PV{bc@y|0N3FFG&PTml#6@N5^xQqDZH0gJqUJ#}oal*90^$awT7q
zETIbHIGrtT7Nf}0M3elqCAf92Uh5o<2Xd`ez}ItU3iDK6di5tF#mGY_G1BdcXaBmx
z3*t3Kl_cS$hoQ3$IZD2#KA$lGGD@P6Et-P*@uNC|Cs=5sIpn)3EdVW1k-?<kA}hzA
z3Zh>(-5B)Ohg8U~xMBHiVFP77!8*K*nNFTKUgOV*Itcy1=h@+gA;qA?f7RFR<jXRd
z3DhN}#WlIPjGEK>qu%JBK()bd(PK;t7!FY^>nM9RO^55h$Ji~#LP@NcaZ&|u)}e)9
zY4I--v*HxOm&$>mV9vb8Obn?ClqNPAZN?wfM4$@^K`;oaf1HgDvBT&cvWCbGY#39%
z54R<XSnJuYt^{8<fy1yTK^Ok){cjM_g*Ahr5!csIJYek6N#|n*l-(Pxuabcn_!m=B
z-iKzE?-orXWIomolEirtAjCHJZ39NL)KMN>+Yy6TNu6K;#Jhdao#f32|N5z#etjJo
zsBs>C0{XT$nj0p4$0n)$7B6zP)`Re-NapeSSgIVPtFlNh$d;u2+>wbGByimFTkVBB
z<Jb*(Ow}6YYCbYL#EV@oWOj{L-#xrL5N$W86niPUN*Y&H*#B@dQLBp)XkGLXOy%&{
zM*`K(>Xyo1&8!F4^)wAg<)e8wfLi;**a6Iy=o+tMkP6Mw@g{f+rvW~du!Q7cKp|e<
z`w+qHl!oGrQ2*Gx-jquxxUDRPu>ZDVWup*%Tarwu%3Z?nZFOnYLf>*lx740{YsKUZ
zd`=>4Zoltlc>T0!X)KC&We7IIQgmlov}vLRA7gJ<P(l-RNsxXfXkC(X^!=2ggmeYI
zAR1DkUV~uz>{no4ACWGCSbD_n346*9&bBcc-wcX=;C$&I?MAc#(7>$vXlP_gqKJ^Y
z6NlO%81CuF9s36EqwVE8#DvmK6g8$C4laBsJ6FaDWlzhut)Ntekp_X>a?(8<jbCzU
z>DimEm8k>+xG6MmO)FrP$!-ShTvHp~u0ZxUhV3%eI0jT$s{!qg=*0?(h{Xyc^*FGe
zfE%1-=rEn79;pgm0y~$=YXhS<0suNF2iF@LCGxy7A-)Cw<po%y>#Ni8Z900~eydZu
zZS091*hd}43{t3UETd>w5+Pq<8dwhp#B1E=S7Qf&4jDF!R_x;eq*)!HO>_VftbsO}
zuCNw|2_{<VX6&3GQ2bZyG>My{i2{ADqoLfAZixpzr9%@6@^gZreP7Q($@(7)bR6`T
zklYZL?(Z;Eh(VJH&Hvv;iHI<UnWfEG69g;3He>T1GpB31%r5JpUc{n4$*)a1r-jkj
z--|kh(zeV`^mlNg6G86mYJ0Tc=ev|+jP4zmZ`xr!AgLSHz{d24?*U>_3bvEN$l@xo
zEMbfyHQ+7m(0Kj-b^Htp&y=mnkW-J8781S8@o8YRdARqt<Zi?&9(8ach!w(}6B7EY
zV5WfCJdgjvPP!DY(qYE2b4#OZrn<S-)0jY;QW9HNv%DfD@GYlpPs{V*kF`6*vPWzG
z8pe(OMNdk5BGhI$1mU_?%HSl5?Bb@H`gqI)qoGEF-%PLnVJu9zQ{QrLX3=C=ikNV;
ze;>yL|9){qqJ?13h2Lx}1EB=6^09d#B%WxM*ixQZPTEj%?yJ@hmDk>HI*{O!e+gtY
z3H&I@W3R9$G`c~#r-vtiUEL!brrVbA$@U~`(t;BQN+w_~G+;&qllvcDw-L}-5B>$B
zz0Awm5wC2QnCwz--DiONG?fkkwkano_0HL#O3v9tNzB>6Hb;3X!X>8^<epRdx$uBD
zH2;8Ce(iua1K+5O3HbJZ7r@)Hk5#)uN>u+Xu_*C=#_T3MVfWQ@HUz<Z<t_vDh=d<t
z*K^<Vs}lLf%a(R34;nUjzqBax=rHCK4S#o!qJ9M%?{bGS%T%^1_usTua>63Q;;S;x
z=e1L(8CX7>F0Jlrml6qw+?}1|h}Nlu-Yo%)LES?KRLNYI2vvq8MzaBhAc$yCmy5Pg
zMxyYZT_LRS4xKO1E-$PkEw`WOH!WZpELM2FazZn^-O3KaZN6}-Z*`%mdNXOhu+UF9
zAPGk6Tph?G?^PH-JSQ?NEumIp@{>tR1jezy3PHwZY(vLyFgQ!;Q&;=-eZs;#j`VGq
ztAS(Akm<*A*R5S{Zdq76LH0CXi#kma0HK2PxdwrPG$QOj;jqUT_JsrMrTiLp0T3t}
z20OQIu|$^?0$kmRzkKV9HG+dZ#y8qFY?z`Dj-ufYed>v@hqzXUncKvd!03z&JGx{8
z8yd#9n-!r>iH)d)<1-sE`bB^wV$pPOMWP{MLa0z?jSdS*`%Q$QOSCbivqz|fI+d}V
zx+^ER8^6Ja7kn}x&7n_-f^rG}w#ji(M5F)|IUm&ELu7#i9|F*Iz+uBKk-2D{0bSss
ztVnc`1ILO;pbTs22e4?e!6Tjc4Wnj#h;!sKk(_$j11;v()=&we_eU5Xctdz6Pptxw
z22=H*VKW9rK%9Ztk!v7ooNjCgZ4ga_98eal28^PluHX2#5=s*RUa#Z7Cs{Oc8tVO1
z+Q;?2nw?&+t{|<|?#<4(NeuskY-=tY6Qls}9_f}zF^uy^yP4`%k<i^$1)A56MOrMX
zaIe1qYGc9M9QphVZGxyF)Bss9HXF}B{t`iPl+@Uyk|Ch@x0t07&R?qMvS5s0!gM;6
zt2}>AVdp4#9J`Ya0^=Q)4WPs^HL7QEr4wA(M#T5}ZzhGJmUEdr;?-hb>uSoxT?xw%
zpUrc^Mh*p&N<v^01z|s@Y1foL(GOr#kmRnLCo3ppweR7;sDDFj>aRhME<;^~`4oQ9
zR~Mkrxv=+!yH4j{<3ryX^2|H_yq_AfjtbGb6W%l)Kw7#Cg#dlC7^;93xU9I>Lf<B3
z*|uhhK)64)w+aFSgL@;y5luxh2-=VcbaaxP0Q1B;oSt&_NMHg(U+vo}2)YJfv<iw}
zx+DTX)ak-J*WHyzI29~<*~3886^P|fq*4h)N*nihGwT8{5yn|-se}^6ktlz#iVYUN
zUh$dfN-*nUU>|!OaugKYGS?Mid&vwmz9x3Om^H?j2Eg6v2^<z{z=N{3=02Hot-0;+
z*$jdjH-hCqpYaSd2|AFZgwwE&i0!0=>mnDq*%=RnM^t=3cRY&7+ShXRHiWR4&YR_=
zM8vZ~&|3=w;p4Z4@k#;}+@Un8;OhwQbejpb=|6=%m@yye?5SS7bxHP!a}QsCAOwu^
zbJ5RV5k&yQ6Wczt1+Xk#-`)u7Pygc0R%OGi7%n7G#*SOxTg=%}_1fTng8@VHcH8gn
zdSuVZzfm<ww9O~;zqF=;t2!{_xFwm>HFG%ZnbycTbkh=~7BnR&_1dC^QZ|NCCoD=?
zNZX>t64|0j!+sA%O%tF>+M>xDH-?Tx&HTN7ZYKq6M<wS_04{D)1*+?pSN(epQrBk$
zeq@7DUF7X-sNAD=V`!f-hHYF4<qQD<A@X4hI-v__{*-hFWOFLh73X=mVdHb#H$~zX
za3#Bf;E5N*3ZEfLM!(s`g5X&N!LRM59wJofyi~}=n6EoCL^^CSCxsVY+0tb`ckhZT
zH8cCpZ$3s`J!i(d$}SN{5wF`TYJBD`yiIgf_#3%{c|~-2@>DU+Z)#6~E`$}W>jtf6
z8b9D?E<t2?3-;)!8|gso?lr9v>xTk!qTnxVSWZF$(+w@{1{D;^T=OdRx>8dj3cp*s
zo~#qb_pR`SNPIi!dOtw(o6QCMPJEC7Yh2txa1uYd?ISP=an{w$)-z?+UWdi=F+vnM
z(>|1Aa|-td`QzZgPqB@NYSG|`x&HbhvlXPaf-cqFHT#hy1h3ic19MS6c?n)@dAct5
zBI?Uv;{9@LvYM^0YBKTI2-+;)2<X08EVsd@>|`a!O7ZHf!ZaxZzn5hUkzFSm-P96a
z-S*q6jnlwtTKU6WbJ<OjRM>(hCnB3}EF&3gY)WVIC{qVv{g8fHSCV+%J_$2VjDYoV
z(H|cx-y167mu27bqLm~g2EN`&doK%n@|)S<7B4&#V?HDnzR*QSgR|6SgNtF^HaC4%
zQsafSJGC=V#=nT^0R<*6OJAUrCD(qvWx{T8x>$Pk4FI1d6H`=%&FQYEhy+lcBCgTI
zqt?1e;0IktIl9Sc_pR&0Ar<2BT5^J_%UTda5<@Uw9ODoM{d61kA3$b3f2?JVYTT%$
zB`@9UV1BScw&ld|HZrI_^&HCSJgw^^g5_NMO^fd6)XXJ6c4d;fCSoH_q<~<1-%vTK
zH95FpubGetZDs<hRyYO28H+CaRt^xVnm$4VeOC}N6H>wYwh5j6+b{iB`AEGZCJaph
zed~fQLHiwpMCd!WInlqR-7f6<qc9)87CP7|#xMz?)C7Z@{XRn@Mqi~7gNU@R+k@!4
z^fIPi=U1V|c;%r34ON<qDc9~(VH=X}Rv>u!o&xM#;c(rOC6oWcuN%28vi8sLZ3t(h
z!+~S8RC!xyLYsaQd*`L{;+GOLQu*!GPLg1Af{RIAP)#sgt5cL~XoQcmZLAzwyg3qe
zQCa{$m~JO^!bg|dSQNUcHXacsnKC8S)pTfgjcp75na$VPdE#%c7_{GC<t=vpzB@H`
zL2_twYc;xy822Sf346$#WCW25iM|9ibzH9=FLn1G@v9>y$O?HZAGkG?)ESux#hal`
zG_o2*HoBa|UQ{TZ$OCQ^o<}1B?Q*mq%|svty!3LD@A6{uYXsHicp<^t!Vf26RX7v9
z<E-;SOI*uR1c<e7VE~YfPWmW|{a_k!I35d5t~MDGXv$Sqj?IhHt@m_F=OqSxkV-uN
z&yHT`h3mp0j3QgqbC5eha)GEHrC}6VRgNukEkO^bo2rpE=#{NJFnl@*g!!=qgr}}x
z+4pZHAbgtonIr%5JDd1`oD7Z*e(&H>0i`f#pWVKKF=Ve3SOA;nk}g$Q{UiE}ct5+Z
zX0ViMpM}l?%nq2pZ_Sw@I>e`~-BmCZ@bFZImb!Kz%Q|E4lpg!=e~L`V06TJJ-h*}X
z4DGiKN-Di&XTXT|jL{-KSxDTq5*0U$%SzEs$?N<@Rg{VSF#7pt^^FM<J@Dd`3{UVs
zdS<v!-{=i2R|MgIO>s|NKQFa7uS<y_I(UTp3|W(D(T_NE9$sfyuR{Z{+*$U{g!QkO
zJ#Y%hMQKyCMhq``fIkIKV|Ox1KdYNjFcSOz9}*j-{e$nHY??{WcPqk)kGhUKQ_6hi
zaZJE73lD>HnLbhiG%ZW$Zl4?ioRa!OKqZ@|Fm2KGu_nx%lKU_@`#kw%9?|^vjcc%W
zxelnP3<ERiQxh+Oo@1Fa@#QgP>^G;^Y29+bRQ8Oq0@A-kAn8+|i_+)kWz=XZjVC=P
z+hL?BV=~nKa~yMyPr>(A4ibTFR576xX0nivzy>@#Y7Y&}Q>X_EmTY{MWYi}G(NqE$
zM#j-02em~thBPNQJmxiEXC26tODu@}*GdJnYu-up1t>iOEq4x|dZT`a0KkX5ELHqF
z(27z$WV9*tyK_4rMlw*BQZP7h_Tm~Rf*GOOX>F|<+xo3)JJi}+Ws;A&@WuCnm;tf=
zG;dPgeo6cF;(99^&cpLp&e1n?*~=%fX$oc^dVQttx9^Q%X~7P1##o)i-`QnSEOJ{T
zK65F~o$!}$C^m$v#AIaL-q+f~XwE_*XC$aQC1}7<y368Y6_6PbGn11X9oTl>U`}}%
zoB^fO#|tgrots7nlA_txfvdZSd!*dkah1m?r{R$8lq7h1)iF#^Fv+Cbpdb{s#Uz=o
zpDSzV<=AyX0!Abe^JrBKNYsCT;qJkK$EkG5feuONfC`e6q;Oc;V8A}17j_L#s5iPc
zmw`T;&hCwo)W8-sC{4_&=Bqa}rsY@D`hveDUogInCpvUekSIs7EZ^-pIaFFE=5{R>
z=$0d9YD+{!ETT!3_Oi5)e6?D2oTFMLY=(myb_COLjuc<w9E{-wxm%%1w(*2gE@wz3
z94S)atjy_yM0~B#>Z(U(s4te^L$H~vaIQOw=#5{b7NgY={|-b4zKwnjupK8^862uQ
zS-^HD8VAMy@T`uY;&kKvJTAHVCwss<HnW$=k+a8OM0r_4PZ4O8J*lddu$)rQF|AX7
zj<F>}XSFI>a<O;Ff^vAM@T{Ko<wzxLC}YdHl!1y{G%R4(G-3bq+pK4{@u0G2+PHE9
zQ&_@<$Zs?H$I{Wh=11sZRSV7I*9Z}OFGX)Mp!!cHAkz_E5S~|*M3is}{y*2Kl2O8u
z#(g=E+6`qYIhTQuY9noaCEF!w7q3GCseQ-pSN%;A9W!iSHsY?YsE0Iva;<xSVFLlf
z1_Ju8$!9a6lzn8lO-%+Ad?iS__+A73wB?Q?=>?9DuhH80w^e^)KN&)DqJ-(&F#-Se
z4eOL6^#Ly3mJ-zwvmRRBvAM*HM78;<9SPnOgOiQ!EmB8uN;EW3y5oyE<;kadq}V{m
zaQB$rA`qE>EK;{mjGhhHm<8SeM{}JMT1XKZ8fZ%!4W5Xr(hD(^Bt@56>Ct6}K`#V{
zUjPNJi0Wg=bP}rYUecGwaobY(tLR{h{_jU=YJB;Pe0QJ6FZ=F%5*VQEosqE6dG?qJ
zy8K^7`?+4X?y4D5d(})^d&Li<_q`kwG%^~WD#Vgu!0UnrttXDUoxwm3)0n;Q#|R&k
z1A6{U*(1d?e$G(NU&MXYIV;8gt53A7&kxZZJ8kG|`dP~Oj&MDnFZl%EMuH9>*z_#l
z2Pgo2{-@xs*9~{$PzEkKsQt-+DHJY$Ji^~ChO_vcs{Kcy;0Xzo+fjw5d4_nDi48fr
zzlR@8kSVL^n^`+|o-!usXK13)qDYRAs1RG=t=fm};U6a8$6LH0O+Q8N!=SFH_66tY
ziXU5)OnTFs*!&D14Vhx%)n)HX@rYv}>0CgF&;aVcc)PJbAMlqpm*Pox*jse``aCmY
zjhgtJs91uaW(cfQKqM%*cwYmk{>P?A_0LCcxf$4fvv1a8Mwmc13&*!xxX&Xf*GACz
zE=aK2!4X0@nS$=G(FRM1My!F<IYpQ;e`V6Q(It`p_;D}Ud-K|NKyc{0O;p-ndOkBi
zOPx>=kD~bzwEAmv5{VN&C6%GJDEaeL7jVijS{e=wK|$tfBp*stQ_=cfkJ>PLb0!Gz
zGQOrPT*H{-TDwinRQ64(zaBN~l%Rx%W@We7Z2TJB04c%>-~-MNW(v+KqK@O@z`7>&
z@wxLYjZ1+*B?OJp+VccDWy(X+*DFB?AWEbbG|9^;ps4_7yNH&AwWGD_!q56Rj9FR{
z4;y0#@83Rp)VyTOx*l$uKiAsn^PhY}dgGayg|6AQHTK^6UL&gFtO(m}ppJPR6TCod
z|Lp0Koq2D$9o%d6`3P~Vb$?8RG+Q?;t#eS4qL%SI@8r9<|4FE92kf>QrU_8s7dflG
zsLXJy`}A4l%mK-5dxR$r&1b9T;B(?cwm>yZ^0E@#IwrFh*gEd!!3e*Pg$pOT_%#vH
zAUb1C>G~?3XZf}x->A^JW)+1<y5=Rqgo)f%DK>tXb`yxmsSiH~U(Ujw&jxruTK;hy
z)cF<Lp3?X=V;?hurzn@6g+xuynJFa>X;_<<OuqzhPy!Fj3dZ_SkrrxEYv_b8lGSy)
zSK3Y6RYP|%MVBxj10$b9t+B-<aGi~TojBxo#rZ|>-t)380z=$HRVcq$NdgC@C*VH$
zP0U%tskmYW+#FcLeK(OokmyOCfLkM4U3pNuw1)F=)91K(M{%F>MjAmULWm?#@}9th
z>16a!;t6)9<jxxydL=~Cg-;`m;2mxCaio3%E-;c1?0F`R5rt77wLzfgH!3+;Je@X3
z?cO!2*u;0+CA;t0ExRE1Ik9_u2X~-iY>s$@PjT*CnMiw^V;%YOqG0&V-m4Uj%rL&2
zq&z%WxwuZsn}(H!>m+gf9lOcB6a8;;mE3tr#<#nf6s5PLYpSJ1r;6;lzYyHORr664
zm~&%)LId2%R78H>)KWliV=7la5m^%$8q$Rqy<8;UJMa&->FO1!-q3(rBfEPnQ)FA_
z%{|D`h0i}n0x&ERfS)5l!mBDs?W-!<e+z3cnJIn{sVN<l>~D#zt!AuLAmE#qtRYX@
z=Df8;dvnN+-$K-%KxT^kWEf&ZY8rVW1Udw>VE<cSc3J98!*wE!|0&RP%sK!U%vunc
z>0gHK&(-+5;*GdF8kI-$+VDU(C#l9VH|euAh|d4A_8+VNek+7jv%SIMwM_^%d>Bs$
z&ctS%90?f-emjbl$E*tu;Gky5tb@QJlV?N<=>IFQIxV1UM2ZD$rq46}PkEmC^D0m(
zhU=(ZyGLk&T>okKYy?*5dR|50qx{$a+i?@QrkxTIHoU6pgPhRy00Z+8*&Da0>@F=9
zMxtLGQmOz1zu~Nhg0}v<82{JsE1&ECvoP|o#i16t3^VdQkkue>*djpwvuIiy7mR|{
z_U4Uo0m=O=etMrA&_C0#)QvRo`8a{&Q&-PMJI!DG^*{{!g~=v(UajZKLL(-Y-Uw4w
z8@6C7w9TN!aBZpqm7KySa53E*&}0(NGsbT)s{C%U9c07ADWszoVU^~@xt(zfkS(C`
z*NA{YV=Z{l-LszJuWlPbK#28^ZcAlb1vTvmMj9Hjd7bzd85PE0$e3#I62oo~Kd4~~
zRZ`D2l#)#lCJs}cyuGt;(Nb`9L1&7pGy{k!f*8^inD$|B3_Nq{Ql}0%D~kK)Y19;3
zzk^8rLvW*R-Q}q}{=8fn`WNE?VW0ZKha({&MC;SjLAJ#1a#0_NA~a2R`y^-u1X9f@
zC0cM+O#hkEJC)zsuGNk|>2#j8^>;Y8`h@c;hA0!y;yMmBOuzrHxE>1b`-Oq{cUG)a
zQRl5l+ro;{+RCibmaxzjd|Rv}5(xoDjn<$z8+J1fzYMPCA+1Y>${~6tKA%cH=CY6f
z6mzJ&Vh@A~dBdg>fMh)zK|@D>%pU3c(pn-|41<zFgplq3iD5bfy`ujtph?ED0OzXE
zrVg=^ZrwA%6_&(_1QkCev-RGJhf?z8Np*1zJF&;&K;cdGtx439UacA-OsM4;@D}zA
zY$(M_O^3~a<Z;(T4qwKLOYd?b?i3G8Ae55BK#$W!7uQ$_>ly%+4E$|u-G<)ohoLWr
zA1SdqqKOW?hn6f!<SWU&MB)2jjy><7o(dlwbFPg@m1nFCZX()KMY2H5*=h!H;=nhK
z5xHc;_^*0;G}@p)dilh1Gbc<rFR)J&U9o$}>ysu{90hfFuiFk=VTY?M#1f4WY_6cj
z1`D{|u9Y#4J-^Wx?vkqOLTaT%1kJXfA|2GFV*F4q^$j!V__Iv$B#A8<9>B<3Zica_
zf6a_%sC+kO*@Kw!8XtcOmKvc%D;(`2rISwxQ>o`hnO%6F)mz!R*Q%Xai9QOLc$E<=
zVeFr4rcX(h?sW@gPGQ`GLHVlbHl;Bfp}`3Kt~$)A5~VoZYvw3fZ7X<~Ky)ojLpU0Q
z)BRzO8feExW!_B#WEXoLj)<<`0O8(Q&$LIo8+n3`vpWez-9^u||H^BzSVb!MhQUfH
z5La(0RZ<sEvr3wSg}<|IZPfAyiH=DH^y}&#e-rA%KDzNMG!BaRu7}pfSj=<hQSHh#
zVKK4qxjQNtm`WsX)g<I9Px6HCG<ls+?E2Av=GK4w99RDh70q%~&s@r3S=x)4o3lGS
zDjti8vY$VEZ?oYWIhk)|YGYtWcVk#R4vp9tHh~cC_@Iz5n}VAowlou9X{CCzb^WbJ
zjP0V!2k{s+!aDk3H%w!qVlregY|Yke{*K>x;av57lB<nv!f&o~eQjzJf-DIY@?gi1
zq~Q{!8pF>=+RfDjlQ^^zod29`xPT%o_zXBdr}H$btqK=dk^-o?pc`ODKpz!2mUj~@
z2P8cl=TM<BWyE~6hOD5cV*nI$62{%N`4}`aY#_bX6blj!z%PN;ltQd;t+^Obh?41?
z5OmD(Pvn-`pb}&z=Sc9!jHaBRa;;YyLi905d7Htvou1iB{j!kJd}Q#5_^14S85<XL
z`k<P)18;Klw0<lmo6C=V@(QX@SXd&~l)w=vhr>3EkdQ>A4GKn;10drk05O><hu87}
zsFJWs=s%T|J+t+8s_?e8!KbfmGkbSm974xAVkss`G>uP=rK=<nBVbX9R8xXlpga)b
ztO_p=>(9*sGlczbrNl@+0Kf$^21Le(8RK|1wls6SKF$_0y&SZy+iE}}Ud&hCwYD0q
z6O0Omr6~VeiiBCh>Hc?ku+9k}OlApKSenZROj9CnhQBhy(d4(Z-R*L<xlfqQ2f(6|
zDF&>?oaF!N$nCER<n|vAF}cqlqTECd?JA)u?Cpef)%YI}Mp}<kk3rV3$0XL?BT;|E
zhF?VuDvFnph;Lg%mkJB^v1u!kimMeOSXP7gQ`6%HbKX<y9Wq1u^hI<Y`QSafM0G-P
z)$2jmNc2Z&n(Jg_jY**rr@Sa%dmBnoYOhNH8c_NWHi9)N@9!?JifGb+`e>q`K;;8k
z{av;zoJXALNFp3mVCOH>4<#<L`<Z?V1XWaEq<1)sK*00vP=R6E5v3e3Tmm+IC~Q#y
zlGFmgAlNH@zzqC<D^W-RP}l+PI^pUCOheklglR~>cP*9`T4tTholf*`F<>AaeRa#_
z_x|JYbL^4oOq}Zi{_|eMZESmp1ZBreOYcyGijL*;NedVRJ821*0JHJ@zm8!(-eRWi
z{QkJC{p=%Tch>^L=iJlgrwi=e3;xjW#<Z}w>93flyzldT(t=aS$NtY72c=*(DsaSc
zzS{qsv|>UfXsMk+zzJR+U=Rd$5xE8i!Gtn!1Wd*;K@wOC(~lKq#Y`$J;^9+#Je_PY
zOA*@UFZt`D80KPZ_pghjLOM?9ziG@U7&Ovcp;sMK3f6^%X-rS-a-$4d>aIliEyjw}
zZs%!EWSLmG0x8)SAXI2Rn3$eJfWjJJ&nl%Tqg_HM;7T0PMEs5@BFwD&+Q8j1dhGgV
zU=5=7rrW8SIb*LKkc1q#g8>OHstFDJ%BA^D!v4j;3LkYh_mSOPMA!gd=f#>Cg<|EK
zKkPiadpQsDxJ2l@;I!-O7MF{qFZ_fET*UX=61*^x4MDARDzNA|H{t`&fieGXLOOy=
zB!Q&wz~0aAHgS;3Td)4QDW1fLF6AGP{MXX+MhG7M3f~yMGb7-J!7;r>z(u0!N{2%>
zHlrl1;B1IMD%2$;eW9Z8jYcz486isn1-J`4+l8{3@xCj9=uix8L*J>J4sh<#*%*g!
z${S>AOk>Lk_S<<>w7PH>nacc%IHYv_JaetVdGgj8_SRhOOfXdi3t`f*Xx<z4was6S
z1u6is97pWeL9IO2RH)Y>wy^ACu+Td=u$$C&&NRHtFx^eL5A#^bq^6>eeZxXRnD9$P
zqIe;dXZcLe`MhqV8+EdTyz#GDlej4tGVR|4pWh2KX){ps*_+|^qp*s|4xBnfbg!V3
zoa_qZ4)gM6#cg6-p1Ax}&?B8?$a^2BZ*VB+zt`-0LK+a~cCFpHE@-H{@_*Vm?{KRB
z_m3OLajerhHkrrB?hv7j<2Vjk$sWbAGDF!JIrg4~kTNopBP%l_D?5?wC?Z10NcDRk
z`hGsw_xk?+xG(4Zy58q?JICd9kLTllr>J+N<u0*}o8Nmk>)CuuVyH!Vv$Ey8$nbVV
ziDD03{$2IoqOU$V0hjwzp2x8%3O)0SfUHup;<x?g%Fhn^zQsD)6hKx{o4czWtX0RA
zrcO3+j%nf>f|P5J?X~T9i@P0=iyfl=T1l)qwIaVmZHK+Ptf*ZVant7xMRR^i7A9(M
zmgc(|eI~yk%&*qRP1buhCkHw=Vn3Q$En5@Eluk9Y_4;gMVY&MHxJ0iF5Maf5*>j&}
z4NqEltgRJ3uHxp7?JrJpDrKSVWrcv7JYXy4KwPDJT0w)e<9UW}c={aAMRy@fSzOYs
z9h(a7=1@^sbBal(8eql79L!*-Rs@&>%krh^Fb^DW)5~dvS4AFGbf&GJ%_A2+DDzyW
z;_Lln6t6dkMb-4<MZUOED;21qlzuYS2&(<c1!Gy4D&80`z3J3&DwUsgChY{d4yBwE
znAm7R09O}134J0C-r+ZNyVTPeksU>i&*Wq2KkhOhkMLld>!MayBTQd;{*mL|`r*K-
z<rnd#<#KkT*}_L)D$r@MSTg2zpI(d-mDnoMyDL>1(LK|_EQsR4MP=1z3=5Dln;Z<Y
zfdV(EZlaCA+F(Kq62>}RY6^N+pTDSOKYs1dGJ!fjk)3-o1vGQtT0!H%xEphVsu9A*
zMKL`ePGz-Ls>6qy3#}@0Nxalm*AoweWcG=6=Nf>dOI+l2LsPj^Q$ho#%uB_(P>Z#4
zM_9_VDSx^3st<<icMP7G2|d!TF}y@22Ozax(-<1ozF^H$5<ybCCevPKRO&@$+#_PV
z#+hA(p82h9Lk5j{XJpZ)Ik6?E&FArbZ3xvCOld4fPD<lk`Ncqp>fq(|A2c6d_Uvn^
zc1Xw?z2f%Q9Oa1Q5Xh{2BrEoSwurQ{e{6v5mSBIW%mDLs039k##fU^Wu^DPUwl?R-
zch<mwDu%I04I!r;$M2EJd}RSC{(=@dmJb6K>HjVw0Bxu7r+yfx*n_h79N2l(^wU9~
z-!riVM*`aY3-h8==}2*6DFz(_^zeW80>Xn+3gqu1&&^C`d?w&C6!2;NHA7$>Uccd7
z>h*=#CoDZc7FZ>?Ag8P*W~Dl6Xn+4I|4CmI0jM`HPUja({0k-~vhGSR9bZu_pJh<n
z%j!H>k0ibSK4a>tQZ`vW?e7*yJqW|w@s+176}r-Si7H9e;>b)|=?<l54F@O<xcggu
z)bj4}O(Z<9Dm*g5z8T^jzGFd`6*T1T?T^dtO+#u+WNx9ut?%T)?EcrNIzIujtso1v
ziXclYN{|KUb<y41l9<c-j=N)hTd%Uh-PE>inEt$K%X>gDSz`jC-Pj+~!s^G{8h|Fx
zvi6`+>8Hern&DlgmqEE4<1W)ckXqzSGXuI^2Y7!39M7G}B7T88GXoNgvqS((F$=(L
zTa%x0v5@*{XTVD`jB}0vU24yw`G*2u9$P>>dQ9@Snwv10KW(>1I07H(0D9??=--yz
z60j8p1Z*rl82In*0-@ZQ=YVEf_+g-e?97P^M$X)_$X@}v8Ci4xh$PDlL?=gFCnaO-
zgu`DaPfwf}r_lh25#|Jspj=iX9{@a|qQfu2bDA0R_;;tr%-VH72+)wy7{-edtJCk)
z(zO;toQWZ}B2sc1(a<yOvR+G#HPiAC&h2cp9g^O<l|lUNq2ia5`Z3%wXy(R=&SVgs
z?)xcbQ;vyEUPt&v**%AuK%u+I(QT6Sn6Uv?DtZ;kw@jg7=QJ=_6JK|pJLC`7!DQas
zl55Z%imAa0#VgUdcjji^^XI=8e^ZVI(ZZ+8)ieh8-C)f<QFh*J*41~M!DRDOx_M3*
zSD|DbzJ<)i`eJVZ#CT};5B8J*bk%4$btuF8XIwuIEEIcuB~{fG<$i72v(ZZXyzf;W
zxAhC}?<t4cJ~|kzasgD3p6A-dlA6RX%z6F!`AV7-)+2HDbAs>UWib*!1o>i4EaO>7
zMoBzLdB}MENcBMGBzDHlBpRS8b`D5*$(NjDI!uyZxf9Q&NdGlvvTkeNESQ2Ahp{o~
z=GTg6xTsH_H83RW6Ap5?V(x2NGRuaK<(VSo9Q8C;$njQ8v}hd<p)RLHNKz0|eD0m<
z%{x;U69UY@ovhKf=yJnvR#jPXQ#ZA{Looo$pa8SKq^z$*MAODm*OwAbA%7_5c*s=t
zPr%~Oy7nwdvPToMMxcVqfiuC1!q$m;<!0aFm*67iHxu>D^gA*^!9ekB`N+cEjY7_S
z8TqY73`!p(gVjHeocR73zR81r?H&^j^f;KQ9uECpJn1k;V=Tg=PF=--(zW(Muj}U+
zOxbP^XA{4gdLtkKWY;XXs|T+;ECP?)`E`U<=i@bGmc*Z67pR6;iU5v?HlhUnv_3uH
zEo3rxW2cC}4O`jR4C88gCO)?~BRkpc4Jm6^32kh=_cBo=wcp^A$mD=Kbs3<+`TR*<
zU9UO$#1Ec4&s984fkM}ce^PF9LP-FjQNIEhoajkniDk}AVxh;wq}7EnYX`>(_%?^J
zd?T=7n|wK~koARkdf|#|p(<aXK10TAirsDx;2iAkY>>&7rgR;Ud4q8n$@ud;R<np)
zYb8loiPvTq;)!kPXf$E7giS}~Apmg<dKDu+lx!v34mYl4eMY)sq2(V`pScTWX0b=Q
z8`)saa;x4(79Bj3k8qyD<$383mha|;t^m24Tlw<zyKF7&8;#Kfu}J4!Gvo2*lrD~R
zY|v)-cS6tZ&*|?yBAuhKjV@*~UYpwo3VDKs;y+f=tX8dZ-3A-h9$i?A*nIi;;Hy;L
zTRLB}fk3g@FP&BHE}VOJuAsHlXi#ZS=hoU7fTdsf9>wqR=?tP7hDY23IIG{upu}Td
zDvm?d^!5~G#!z69>~v8jyu!s~-W4d+lv)A?t#|2KzZuV#_6>d=QsTP@9Mbu5N{;~L
zzb!=>K(_wfs(P`Pn;zJTxCnV2f6NO5Tw;hWU4Omcn0|T7B<Lv50#e%aG=IZZ$0T;O
z^~+eyy+3PekB5Ltiznz3!^QqR;6jaicXieUx>Ri;!Kv!sETF?^YYP;JVn<$pXoS8)
zVA%tcN<}W^q%gT=TO@$<^WU)8K8AhdZHjQlD@FAg*($&d>rp)}Jnq^Lh^(H;H4{n5
z+-JiNVK*Ne*jpLy0O)C6mIDBwMLJvZYRFW=3bRZg`h%jN(q*Pl!<{Uo;f{#t-)p?#
z4lzn72WgfFpDFVv7DQV!V)wsRUX@a0JD#}GZNuNO8_2l2{!xzjpVxJzh<gT}bjqFf
z?UrUawC?rZvVVP9u$suCJLdu{`gpS|oAE#1s8!1RPgwNpJteciU%yKQ?d2gJrc>M$
zEOo%+_1c{}rClTZ(2k(7Qj90!CqOyWsoJW3Iw~}3ICx?Hqnzt!>8HKKiI&1F2YR@M
z%=zp{qaEVT5r8*zvU4s~(hb;h_1hVba_6~4oI{J2NmW?&oM%qwqYXL-#RbBny`vX2
zjXo1$+pzgxqdpETiI(;wPp&rga{4{3p3^iOy32e`Y3Hcc>ie_mxi<l;&wTsja`sLL
zqnc_<t9O0t_k1NqnFif-HM5f5I_akNEsnm+ei$gjD_+ME8W7z0BztVMW_zL7iiPfR
z%3w}hy!kv^#O<ED#v7zFwTqwX8+Y~wV>>$&t#;1Eb8t)F>+-F1F+66~Y5r7lXr07R
zy*w{HacyTmn%eW8$NBX*(q31u$v#14s7e-|`So4`La37EUJH+L*!+D(;4D1;k*2-E
za^vLdN`19wcK#FzpvnOw27Ir>5^{=Q=Hss}NXYG~=%l>{eR%;(b7oIsshLH;9$Xnj
z@kd>opu==$CaB0NbG+5Z#L+|ueX*XV#q^0kwc))RwM0;HWR+-pQ)X0B|A47R-DzS4
zz5m)ZP@*;F)34<LU(CXynPgif8aEQzis1S=Y1+K2k$$~IGM>_149af$wZJ(z;M(Ea
zyGuw|%shuFk*~+~c?Ey;BWi=?_}W&lQ)WV*P_zf$;av9NE0BNw3{Y{RE``OPNdQ`s
zJZ-Ef^IF=wKaSSvK&>w}n(-Rqwv!AAsElz~x^cQi^#`{RR!7rXVDfGq%{ZHH|DAMb
zeOjj{0_Gj|FUV}=cA5@EGuOU4Eq-A-{p8CQ;%AO*{M)#X@9KBlmmtOnzF*aEk_V15
zQ4bPG3-SsN6ZA|>QLNE|=<Iz0NKlUXR^nw!pxoGnYiAgdkERbF2AkV>6AUD7ywAH?
zuNHYNoNK|5u}Pw=Kyd75bv|wzAEUJ9{#tadQIVpBEXV=Z_H!pfiHg%`4a_S)X?cD_
zflA<9O}XKGNCtFnr5fBlSz856WuYbERv`Iu@7ekC(YDx4*yDZL?p^#?(zlQe7-`%q
zM4K+G^~G9l3>5le8a<>&F%W?#z`D6|z;1WzxrSPA`=hRtQQ(_DBpH}u)K=Qr(3U3d
z#{>hgja@KTHo?C~2$P1AqNa4p?4iRX>KV(zSXD21lV77=uPn!h(1i{&=UMac#EnS)
z*fH<6tz7u-b>IkV?%Ej1IA9Wt8qX^Ai3eBI^b4}s6BI~pq^k0T(rj*i$-k*wmMPAx
z>9FbkP}g$qgg;=qAoaqf4p$h@INKWv=*;%lBrVKF*sUi3fXrC3U!*$rAyxQR!{sQ0
z41Q2x-BUJDiE|gqU7OX&{1{tm#_l@&@eARe+FOoD!-akwN(a|;kwMIsJ;MlfbgS|n
zOZQpE44KQKh8IN+@0<~NdezG93eL)nc<=`{2!sYT2;fi6o^8Fq0`{q2oNE2VbbxdJ
z{r;=ccH`L#J|T<9qoM*^)T`Lur1i0k0N@0^-<6RKr1EX8GxY7JmI}O<68-TR(8y1W
zIeN8U95$9=ftUntwRj~~FEUdX_w8^}Jlt@WEWq%3Uu90ddi{E%!{U5giNXE=@!+4m
zz))A|W>7t#R@u06_<<&B`vc*uk4&xv_wfhSeeL4__^q|vhd^&|w>1ns@)Js(@}%p9
z+GOZ?HNNt-tywHN>7K;g*=Vqf*#?*_@wqS?$S`fmC{FMoWRu$rG`YuLuuM9^C^yI&
z9qpbeLk<t{ZeWE>KKf{ppSA@{eZxs}?~zO=QokQ0Vh+vy*6im9AOZbn8{oR<M!HPm
zqI|Q0B)C}9LpVQE`qTGb%Y~fB@TmL8;QrUtfc1w=m)~fC03*Bn1`z9IkJt5`-x!^B
zzXMbkNl)@6cWRS7ciR_a-2}C<2<;wp$`CZ1m`FXI*Iw^>Q9qwToH1gRWw2<lBe@zF
zcX4hYS~i2&OtV!dmKU6#)%vyn+cSbV$aMU^WS03>bDs*jCXzykZC<bSZ2)J)|Hos|
zf4y-k<wP&;>I$?P9paY%#*THNs{rv;(CnDCDs&#c{*PS+h%d<4Smar^(e7*xel-`<
zkSW~nmfhP*nn1R%Pt5j@uEcu%h~oHLTWGMKW@7sHnU(w6>t|}R*>rec5akqYG1hIY
z42he%xur!2tl`J(V-rNIR+Dli=H2>5iX^n*?gIjhhef6WaLE(r!Y%9gO|O>s2AJ~7
zd-n4r1uj+rAGw~U9O$e9lo?X71#>CDE8&z5a0#b7J>yr+L;Yd%w-crAWG&hgXEF4X
zrDCX5RYbBQnF^^@sP!XwC`!@Ep@zH~DrK-j9wUf;vh!=bWDzo94I|^zYY~vJhCnD&
zA$>b=`<91|rXR_*@Yu@mv*EChCGa>2TTjn@Fv6d<-HAv4*|cITdLe)>NKN4fyveVV
zu6@8G<jj(vo#cq4)w>@D(l!k~dx`_l0rx~7ATo{J&@HUCm?74aCIvxNX(=bE0>{P}
zPt+mQB_?H*W1U!q@l}WebcVUb2dQVZMv%8tA|R(*fPhyA<RW(na(>sE#LX?z!onR#
z5m*k{_e1UfB@717`w|0*D6cu~4gM2yE28AZMEW6f#YXPv$kcbrSGo6*Py3zI0kYYp
zT#CO!oT21JVeM!49CJc~uDJyTf5irzl}+RHm03(-t&ulRMFk>x!k9_Td^#=P)I}8k
ztX7f4w_*c(uA<_Yabik@%;}blwd1XE+2n~Ig?KX;U`(-Av0MiDwUcY=98hnk$}R!#
zrw85|XH&5OP^@)7y)M+$QELDjx?kriOh>8UDmJXC!*-al?2T`y5Xx&Rqc$lAD{^tA
zD&x|;Hj_)OFh^-s2kUxgkgKC+C76u4D0=w;b;{XiOw6R1hMI3OdCTluH;_iyTcn-5
zPM{iuWt$_We7qqa-mbFYJPu(Eg4-55V>Ae(v0%hPHh2!jKNADY&q&Q}vqjSysJ>{W
zW)9x{IuRYay{JQGXE#yM?lV(qui&$7mb=2Wm`-0~IVU5`941h9`?8jEluMe69qeZF
zuS~7(p67<mLB2yy3TZZyZgeE8ySmiHXM*nvMT~8Rw{1qo7&$~({~4_q<arkzt8WD1
zD#sxW6CjSYRrC<jCO^s^>jaed#J5;c7~x7NLp)vx*|Ikyli%_7t)3u%{>|p#eQ^Fq
zHgRW6ly_4=LA>Smtup`-C1l!>HBJM6q8v2HPRhr!pUO`9l}!_mwc8EZJ@QmZb<r6W
zYIZGFEZEAG8hC0=4?HVlTahc3DuL69(p56~;Hq+j>9*mQ;}4z;Nen)|S)*Q1|6FsN
zEa)?*Rc6(eG)CkVvh)7-Q_gx7)-$1+@yL4_8puHNDwSek4zEB}9Ri6UcyZQl*OGjD
zP%?hO+ZZtrd@z>-UeuDyUeCFo`Q%&h4j(hhlu<!x^0qM|*9;e#g%Y$o=n)7Txh*a$
zLV4DAW-KSzw&M1DqZY0+O;OkI-29|9J)KrL9996v26ov}H2yMbOi0|PaO5crL53{g
zScWyj>3%P7=816I;1m4bJ&0;gxJh38;7p0*T%9t#=~h>F@RZ5{(&c=f6HlOZkNR(2
z&G3r+9>+Lp*3p<t(o~=5Gxoay*v3!!WulT?4C?o&DWCdp0z>Ck%)phU`ivQ^Z25uF
z@W)?s$ove8-Kt3V$qKk{m6u@JGHgd!6NCs(C<_I_l1m0Hfge6q0TO7~lwDcP_6E>*
zoW`5;kPiy`(q;j)p<bMJF_btv>Si%Y%BOw}eu|6hJz=&ntM~%o;$Ch<TzvETYZe#5
z7^(wCiy8>i544Ufy=(5JL{tKVV&iKpwvDG}|Ee^ZEH&3-&kRVim~_opbf_+GJBpE3
zY>5^#Tf+~|Q{kQdx+7H{>0&AgBalC@aw5AJ;4;etnsjG+1;d^nhPS1XF?b3F<c-Kg
zaq&?>(Jk(yrV&7=TzcX5c1aJ6mDBXRt7`t(`q)KKX(u7M<o-}(L@X*YLfenG11V+*
zkrFcm{Wbe!>pU!NCt8i?)C66X8sdT|WhdJSNI{@d)Nw4On32uR4*mFZ&CXN<2;IT#
z%u;|5*Gtgj{cCXGr@dNa1hvYk(YHrN5RG`PJ$WSXjFc8T{X8-v%8j@1TY9ts`SW+~
z-u-STyIG&^Hc|xrbcNw!<yU<#V>ni(+rT*b`e^wyiZL){k}W#6$Z)ck{+iZWA7w&F
zUqfUwtPX3bnxLnZrwc0@EV6j`gpaJP_Rk?Z>B5zvk9_wyNlD}fAS4=oQe-5pqKDs-
zTGdImn!*CbhcC}nHj9AT(C>IjX!8Rr_g!9nT7{9&Y<fdNM6uMQTg=4gLaLHHTT166
zX_j=2vffyvN<=4M<DC3aEQ#dpwZD49?P@Bz#;rQ&=a%c0ID1|2k6@kju9a)sW^>{#
zA)xo4*{t3?$5pqn+4Vswl5oh7?Fs>kPFX)|UAc~BlNthL=Y6ZuOOerUS2?G|R(C^u
z1WF?4yOuh4D3XMHwjCR&$HJWNn0n^HHRVgiIE)ZS(!!=b&pQqjL@O3981-bt?(c>s
zb$s=L?Ni%cdD<Bs-z4>5j#qw&Yh^ez5nB5xZ3<QWnLX9H31Z=)pz!z|wu{>@nk~IR
z<+|QG`jyetJoR5v82~%;SqJT9;<B-3FCjPQ_`}}dVR5@;$~kLRjtfBFxpTpkxA%XI
zA+o*dO)PC9Qz&3~+C-pJayIz37nhDdQmzhoNQZIHX8n!4`r2JK6UVd^NV@25y4y>%
z#VU*D-b-u}@_ODauvTf}XK2{cDs>AhhXvcV{0tFIxASOj%yk1v$)$^Tf_tb{{<ZRI
z;Wv1ni;BR_0Af;p&v)v%^Lg<LP&9xp!T@v;$D6u(j9fd3zCfm=2|J0tjQJM}9>M0@
zGl&1f&Gas00)={*?FVUBk7qEue{6u53hm6QyS*G=m|SGlzn?C&horcf*&#7FappgK
zBu*G`BJ%CTiGEEa=G4jkd?nQY*t|18Fx?%|OMK1->ymOeFvc}`BZNb3Tx$A)3IXMW
z>A1XqlSe;tR!5R3EUwU@OC9HMb`$}ka)h%GueHI6m5UrS-7AauGj(s-@n!v%3Bz<;
zKF4g2r7|FAvOg{Wy!QtR8aU2;gBg*pUu>M9;ZeBJ;0%g?&B!u3i4knDuM>QT$3uFe
zg0A8uM^M*)&5Ta+PH6T2>1-1ScHuFP$1LE5#y$uK5>tpcd}eyR<Vg-e03*`1#^kp-
zi#$coam5fhoPr)YJDRN}ur?2d?3&Ifs?e~5IYJe&VEV`c3G;wKrib(qBda9XbnL>$
TnYw!PZXy=NPD&0+DrWyb*>?;M

literal 0
HcmV?d00001

diff --git a/Doc/TestPlan/TestPlan.tex b/Doc/TestPlan/TestPlan.tex
index 5639dd6..d155bb0 100644
--- a/Doc/TestPlan/TestPlan.tex
+++ b/Doc/TestPlan/TestPlan.tex
@@ -172,6 +172,7 @@ How test will be performed:
 \item{Verify program remains open, and no image is loaded}
 \\
 \end{enumerate}
+%
 %End of Open Requirement
 
 \end{enumerate}
@@ -230,6 +231,7 @@ How test will be performed:
 \item{Verify new GIF is saved over the originally opened GIF}
 \\
 \end{enumerate}	
+%
 %End of save Requirement
 \end{enumerate} 
 
@@ -256,7 +258,273 @@ How test will be performed:
 %End of Sprite Spreadsheet Requirement
 \end{enumerate} 
 
+\subsubsection{GIF Start, Stop, Modify Length}
+\paragraph{The user is able to start (play), start and stop GIFs, testing of GIF shortening and playback speed occurs here as well}
+
+\begin{enumerate}
+\item{Play Stop GIF-id1\\}
+
+Type: Manual Functional.\\
+Initial State: Program loaded; GIF Loaded.\\
+Input: GIF\\
+Output: None.\\
+	
+How test will be performed: 
+\begin{enumerate}
+\item{Launch the program}
+\item{Open a GIF}
+\item{Select Play Option}
+\item{Verify the Gif is iterating over frames as expected}
+\item{Select Play option again, verify no change occurs}
+\item{Select Stop}
+\item{Verifiy GIF stops playing}
+\item{Select Stop again, verify no change occurs}
+\\
+\end{enumerate}
+
+\item{GIF shorten-id2\\}
+
+Type: Manual Functional.\\
+Initial State: Program loaded; GIF Loaded.\\
+Input: GIF\\
+Output: Shortend GIF.\\
+	
+How test will be performed: 
+\begin{enumerate}
+\item{Launch the program}
+\item{Open a GIF}
+\item{Shorten gif frames in use}
+\item{Play the GIF to verify it is correct}
+\item{Export the GIF}
+\item{Verify that the exported GIF represents the one playing, and is shorter than the original}
+\\
+\end{enumerate}		
+
+\item{GIF speed-id3\\}
+
+Type: Manual Functional.\\
+Initial State: Program loaded; GIF Loaded.\\
+Input: GIF\\
+Output: GIF inputted with different frame rate.\\
+	
+How test will be performed: 
+\begin{enumerate}
+\item{Launch the program}
+\item{Open a GIF}
+\item{Increase frame hold time}
+\item{Play the GIF to verify it is slower than original}
+\item{Export the GIF}
+\item{Verify that the exported GIF represents the one playing, and is slower, with respect to frame rate, than the original}
+\\
+\end{enumerate}	
+%
+%End of GIF Start, Stop, Modify Length Requirement
+\end{enumerate} 
 
+\subsubsection{Save all frames in a GIF to another known format}
+\paragraph{The user is able to save a GIF frame by frame to PNG, JPEF, BMP and TIFF formats}
+
+\begin{enumerate}
+\item{Save PNG frames to known location-id1\\}
+
+Type: Manual Functional.\\
+Initial State: Program loaded; GIF Loaded.\\
+Input: Folder path, GIF file.\\
+Output: PNG Frames in specified folder named corresponding to frame.\\
+	
+How test will be performed: 
+\begin{enumerate}
+\item{Launch the program}
+\item{Open a GIF}
+\item{Choose to export the image as a PNG set}
+\item{Select the folder where the PNGs will be dumped}\
+\item{Verify the folder fills with frames as PNG}
+\item{Ensure a 3rd party program can load the PNGs. Software such as Photoshop or MS paint is satisfactory}
+\\
+\end{enumerate}	
+
+\item{Save JPEG frames to known location-id2\\}
+This test is identical to id1 with PNG replaced with JPEG
+
+\item{Save BMP frames to known location-id3\\}
+This test is identical to id1 with PNG replaced with BMP
+
+\item{Save TIFF frames to known location-id4\\}
+This test is identical to id1 with PNG replaced with TIFF
+\end{enumerate}	
+%
+%End of Save all frames in a GIF to another known format Requirement
+
+\subsubsection{Help Context}
+\paragraph{Verifies and validates HELP context}
+
+\begin{enumerate}
+\item{Help Context-id1\\}
+
+Type: Manual Functional.\\
+Initial State: Program loaded\\
+Input: None\\
+Output: None\\
+	
+How test will be performed: 
+\begin{enumerate}
+\item{Launch the program}
+\item{Select Help Context}
+\item{Reccurse through all Help Context options, verifiy spelling for professionality}
+\item{Close help context, verify program remains in same state as launch put it in}
+\\
+\end{enumerate}	
+%
+%End of Help Requirement
+\end{enumerate}
+
+
+\subsubsection{GIF reset}
+\paragraph{Verifies and validates GIF can be reset to loaded state}
+
+\begin{enumerate}
+\item{Modify Attributes-id1\\}
+
+Type: Manual Functional.\\
+Initial State: Program loaded; GIF loaded\\
+Input: GIF\\
+Output: Inputted GIF\\
+	
+How test will be performed: 
+\begin{enumerate}
+\item{Launch the program}
+\item{Load a GIF}
+\item{Modify GIF attributes such as frame length, coloration etc}
+\item{Select reset}
+\item{Verify GIF in is the same as current GIF shown}
+\\
+\end{enumerate}	
+
+\item{Modify via adding a frame-id2\\}
+
+Type: Manual Functional.\\
+Initial State: Program loaded; GIF loaded\\
+Input: GIF, inputted frame\\
+Output: Inputted GIF\\
+	
+How test will be performed: 
+\begin{enumerate}
+\item{Launch the program}
+\item{Load a GIF}
+\item{Modify GIF by adding a frame}
+\item{Select reset}
+\item{Verify GIF loaded has added frame removed}
+\\
+\end{enumerate}	
+
+\item{Modify via frame subset selected-id3\\}
+
+Type: Manual Functional.\\
+Initial State: Program loaded; GIF loaded\\
+Input: GIF\\
+Output: Inputted GIF\\
+	
+How test will be performed: 
+\begin{enumerate}
+\item{Launch the program}
+\item{Load a GIF}
+\item{Modify GIF by subsetting what frames are used}
+\item{Select reset}
+\item{Verify GIF loaded returns to full GIF state}
+\\
+\end{enumerate}
+
+%
+%End of Reset Requirement
+\end{enumerate}
+
+
+\subsubsection{Frame Addition}
+\paragraph{Verifies frame addition}
+
+\begin{enumerate}
+\item{Add GIFs-id1\\}
+
+Type: Manual Functional.\\
+Initial State: Program loaded\\
+Input: GIF x 2\\
+Output: Concatinated GIFs\\
+	
+How test will be performed: 
+\begin{enumerate}
+\item{Launch the program}
+\item{Load a Gif}
+\item{Select a frame and import a gif}
+\item{Gif should subset from frame to end of the imported gif}
+\item{Verify the concatination holds on export}
+\\
+\end{enumerate}	
+
+\item{Add PNGs-id1\\}
+
+Type: Manual Functional.\\
+Initial State: Program loaded\\
+Input: GIF; PNG image\\
+Output: GIF with PNG input added as a frame\\
+	
+How test will be performed: 
+\begin{enumerate}
+\item{Launch the program}
+\item{Load a Gif}
+\item{Select a frame and import a PNG}
+\item{Verify PNG is added after current frame in GIF}
+\item{Verify the the new GIF is exported the same way}
+\end{enumerate}
+\item{JPEG frames to GIF-id2\\}
+This test is identical to id2 with PNG replaced with JPEG
+
+\item{TIFF frames to GIF-id3\\}
+This test is identical to id2 with PNG replaced with TIFF
+
+\item{BMP frames to GIF-id4\\}
+This test is identical to id2 with PNG replaced with BMP
+%
+%End of Frame Addition Requirement
+\end{enumerate}
+
+\subsubsection{Frame Drawing}
+\paragraph{Verifies and validates ability to draw on frames}
+
+\begin{enumerate}
+\item{Single Frame Drawing-id1\\}
+
+Type: Manual Functional.\\
+Initial State: Program loaded; GIF loaded\\
+Input: GIF\\
+Output: Inputted Gif with image overlay on a frame\\
+	
+How test will be performed: 
+\begin{enumerate}
+\item{Launch the program}
+\item{Load a GIF}
+\item{Make an obvious edit to a frame via drawing}
+\item{Export the GIF and verify obvious change remains}
+\\
+\end{enumerate}	
+\item{Multi Frame Drawing-id1\\}
+
+Type: Manual Functional.\\
+Initial State: Program loaded; GIF loaded\\
+Input: GIF\\
+Output: Inputted Gif with image overlay many frames\\
+	
+How test will be performed: 
+\begin{enumerate}
+\item{Launch the program}
+\item{Load a GIF}
+\item{Make an obvious edit to a frame via drawing}
+\item{Make the edit extend over a set of frames}
+\item{Export the GIF and verify obvious change remains on all selected frames}
+\\
+\end{enumerate}	
+%
+%End of Frame Drawing Requirement
+\end{enumerate}
 
 \subsection{Tests for Nonfunctional Requirements}
 
-- 
GitLab