From 20fec486b6895e1f6b4ff88b1964e1e3b7b0d0e2 Mon Sep 17 00:00:00 2001 From: Rebecca Schofield Date: Mon, 5 Oct 2015 16:50:19 -0500 Subject: [PATCH] update works --- Attribute.cpp | 4 ++-- DBEngine.cpp | 34 ++++++++++++++++++++++------------ Relation.cpp | 5 +++++ Relation.h | 1 + a.out | Bin 0 -> 143097 bytes test.cpp | 19 +++++-------------- 6 files changed, 35 insertions(+), 28 deletions(-) create mode 100755 a.out diff --git a/Attribute.cpp b/Attribute.cpp index dad5d6a..48eff2f 100755 --- a/Attribute.cpp +++ b/Attribute.cpp @@ -52,8 +52,7 @@ void Attribute::setName(string s){ name = s; } -void Attribute::setValue(string s, int index) -{ +void Attribute::setValue(string s, int index) { values[index] = s; } @@ -89,4 +88,5 @@ void Attribute::display(){ void Attribute::clearAllValues(){ values.clear(); + size = 0; } \ No newline at end of file diff --git a/DBEngine.cpp b/DBEngine.cpp index 1eb0e4e..04bc35f 100755 --- a/DBEngine.cpp +++ b/DBEngine.cpp @@ -291,20 +291,30 @@ Relation DBEngine::crossProduct(Relation r1, Relation r2){ //WHERE Name = ‘Joseph Lieberman’ Relation DBEngine::updateCmd(Relation r, string attNameSet, string attSet, string attNameWhere, string attWhere){ - Relation temp = selection(attNameWhere, attWhere, r); - vector atts = temp.getAttributes(); - - for (int i = 0; i < atts.size(); ++i){ - if (atts[i].getName() == attNameSet) { - for (int j = 0; j < atts[i].getSize(); ++j){ - atts[i]setValue(attSet, j); + //brute forcing this, sorry universe + //add error matching!! + vector inds; + + for (int i = 0; i < r.getSize(); ++i){ + if (r[i].getName() == attNameWhere){ + for (int j = 0; j < r[i].getSize(); ++j){ + if (r[i][j] == attWhere){ + inds.push_back(j); + } } - - break; } } - //currently returns a relation with just the changed values, need to look at proper join - //if proper join does not work, plan B is brute force - return temp; + vector atts = r.getAttributes(); + + for (int i = 0; i < atts.size(); ++i){ + if (atts[i].getName() == attNameSet){ + for (int j = 0; j < inds.size(); ++j){ + atts[i].setValue(attSet, inds[j]); + } + } + } + + r.setAttributes(atts); + return r; } diff --git a/Relation.cpp b/Relation.cpp index 18a1277..2dd5e14 100755 --- a/Relation.cpp +++ b/Relation.cpp @@ -45,6 +45,11 @@ vector Relation::getAttributes(){ return att; } +void Relation::setAttributes(vector v){ + size = v.size(); + att = v; +} + vector Relation::getAttributeNames(){ vector temp; for(int i = 0; i < size; ++i){ diff --git a/Relation.h b/Relation.h index 4c7e1e2..dbff948 100755 --- a/Relation.h +++ b/Relation.h @@ -17,6 +17,7 @@ public: Attribute operator[](int i); vector getTuple(int index); vector getAttributes(); + void setAttributes(vector v); vector getAttributeNames(); Attribute& getAttributeByName(string s); bool isAttribute(string s); diff --git a/a.out b/a.out new file mode 100755 index 0000000000000000000000000000000000000000..833637fbe1509e7e5e0919e747132af515204162 GIT binary patch literal 143097 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 DWl6h5IadD)(><=;s; zaw>OsIX95g*`E})6qx^Ji*&Tq`w^ zGm%^)jr$S(Lz1i$vP@)+(w>zp39{08l91(!yGv(kIuDowo=+69(-jPHdr`T0e(yV5 zzh9Or(Z_cgYB*-3jh_1b5NRW zhrAxBe-PKA+`8fI^+`+{1zA_r+YPDj%nv}!NrB$S?SwxRxLwEX?cp= zvklQpum0`!9qrz0+ikM#4o};zzZ*zn0a8;YNPTfGC_Ca@YrZ{itCa~UYDoyGmc7Z6 zvL7uLl_r-euy-CTskj2Ee3Q!WJj%^GyXTks=43;fL=^|gVT_4HhPQJWu&3azt}Wo% zTBP3f)MGbRR9Dto6n}s9a9nk=QugP}^V+wn4l9a(6pO!;{2y^w=RQ&}{=THAQKTrY zEkB2fb*j7YKE`_oDfa z?J2akgg7X~t&dhmW(K>psg)6Iwrdk3SeWcQjvkPkNWLfH`~LYKvg{ha{H9QBso%=A z2Hf?Nn@y&g8&=)x8ftz@jymtDSL9khBx_0KYHQY{6~GUTN+SfW+# zNh>w=EMvCh>fuKsd6PsDcA@{VnLUyWoMk+xJiN1v>q&;rGITWJZZ{D=%NVLLit4;# zqp088hn*zHk7hK^5{iG85wbm*Q1s)^G#b!dY~{@Z$IAcv2ehbWD)W!E^m{BYGnI9y zQNsx?JT<`P-;6+t*ED|W4be@Vc*=Gu-J(e*{#q6k>$HLfBu>FQypo00nToXn=%zz% zxO17-Xpiu%&PbRtMLdr_{v^%D6OlQ8I>)b>o+xwK2eKb2=--?DKY-?t}caR9{`@Pq7 zr>ODh<3h21??sU?jo-V0{IK7v)PH+ed$+ce>Qa0YZbT=X7lOKTXXY;s%Y1abNF+bh7*S{K9YV3Q_GfaOyzPxYv%(oBm2tg& znH~q$TRHqm9{iqYA+(`*k8;8Fb`Of!^>(2doeb-(UGJF_HVjNNTg~3KMve(l$cw$k zKz2Fm#I(~oESHlNoB=DTB!35{>wMUMn$|9&aCoE#%F}t$!gsmkG(Et<`m&8tan-4q zaq@4v{=_F4XT7)?ucbYbqqbDfW`j0dlDoSr;RCmgMR*$s*vM?HW(iYDZP9DtPZm2L_t0>g@cqs<*3Ze+8Rv4hJdOO;X4IMSFrLoGF*)a zL95!iyI-PgJ@JqKR8*how5lZ%$!CRJSGa;AO}54h2dhvk>I(Afi~9%>Cu^$nyw<<5 z#(XhR%V3Ex;Ku&|lLwPTvY0}W7m>uPtt1w&n_^G8!AG8XZxmLhIVEWT`^s>(pU zY%WyrWqLF?xyCf4S#AG-m3lXhll74aJx+dPn%|$#wTRiFEE6&63YSu)!7}YSNc*)TS(H|UAvuQ(3qJT=g_6)tS2G#Wm8b}nPF|5H+$PM&h} zvYw@o4x9GmMdtdFx2i@_h_ROqfO6W*Hmw)?QeiKru%^rt7fI6W88*Dr)3dm6b04kK zW<*LP{}-hMOMo0VWY>;kculx%E8R&YYsrtwa2exBGq=%}IVIvvHu;t(qMR10?+6I^`xip;UQ4p`Ks7tB z5A&snGpb+G3PvTpbtj)Pc=<-MEk8{2T>w|pu&b)gvH9?_9Z zY04y$e|uhS<7A_jI4Ajb6Mu75c*zMK=h(iB`MqY_UAi{<4mm-+n8W^eczMSuB)fKk zm_?ShC!Gxj8H+Z{ds>X_avjn~vrUou1yM8eh0zSN z-p8%+ED7k^fcqzBFYl`Bv;kc#IYW6)g%4oJm=AX@q zY8%w^edZ5Lv&-${=&iAOxlP4wohxbGhE{{5jP=PsHrF(gNPa>KohKSA)JhSE&gj%E zKYrHF&?>7$C=)!6LVa|2xgVzJc**l@i#E5b5}wXON3r-LQH5o>3iUYx{-dxzZqwvc z$*nW*h8WWtey(&u-@k~N_Y$6XR=t9{-Wj-Ls9KG_6e6ixzjnpc>{BrvZzG5s;94Vq z+U>`@P)g5+XsvBkgGRecyCY|i;H8a&^{=O@t3LuCP%l?_vRYQ_a3Ev zV4d_0=16!Zsv}Y=k}!R`EPJdw!R|hw-6hxDKzM;SSWS}!ev=o7`lTlPde}m+O((F{ zmuw{K>I)(fZdGUBsqxYd)C(H1?S3M8KPRoe9lxS}ZJD;>M|maMl6}#|+XURn9wp`i z=ek-mygD40pN+WI-X7OdCU!nY&S2~yBH{0p)?YSDMmr}GHp7?@c~QTRC&EfSxv+bTav3k%uSM&`h&h5b z`_aJsW#0Pxjd;BpfPL_~iT9jgU~GaT7BM3RyUxsUL>Ss(bT2n^tM*yd=J}7RH9bA% z+2l8$5tS7-VIBc%+d4%QtdTgrLk;j>;$iH=J)tnV7kvMsI{Koc9hkcqcS{;HlMs9T+k8&NbJ*%BzNz-`~&+FrS zwvV#AGHq>sMSD*ld7F@PiO!P)4ypvUZj`m1@qrAjQYS|lF5qoMr!iq2+DXYs>WL3= zq1b->5%WyJvZb1;uQ3a~zNAoR-U>CM85=jVt7BmUCmsA3oy8{%S(Vf3){(i*BD3LMS8D{+M&96+`;NoR%f+E>_S(}c8nf;8a0!WLlh=_D~HZ?b&0I>d2_R?~MXg-Zfy))#*4`Psqv zTq;kceLem&S~SnR^qVZSWkRD!t1tBa_)A+!c)mm*5`~+v-bm*eSZQP3fBchty z<0_(@O9a`RY~5~Qqi~7C1)c7QbbUISVmEV@KI z=%(yDWfM~)Im?w@cI{lG&wjM?qXJaDyV1@PVVop**g!>wf5^7(oCTn^aGMc;Cx_Zjuxk$>B zG@3{xyEtX&cvV#pG}6;3LuPO*8DR*`q1nY%hJ zpU_z6@d2lPvNS_zC#r6i-n=9w>`NxDhx-I%F_y!fRw-wEz1NjP$@Av@3fhiYJuF%$ zbKQ?77j4cmd%`TW!$%?t%er+>Sl=ap8B1o}GEJGef7L`)WQ`%1(mL^GD8atOuJ4uG zxnILlpjy&8bgxT~lnif@|0bz(zrvgQ6;Eli%Dt}E2&j#`#pgOYc9uut>Wrj#6qQ@4 zkITNkzSg}MHiyx`JT+;?dX<~|r$_^KCWKi0uUNa+s7w>dFP;o>T&mT)m+PKK8oSoG zFzW~SB|CLHxxt}{wCuAp1nah|fk@53Ggyh>sU>*!LVuwABShm4mTkxI~H zqrqi?-e2}Jt!Zpg!?0iOMGj1^na2pQQ}hk>dDwcaip5gvgRBM{R!T5Y*ci)d7_8u9 zD2e1^6>p=8H%X(-Hobm_|0W7I==CE0TUWTj#Ci>NlQ-hZjM(bRJ~~r4%IjJxb4j+y zOg!2qM{>+?Up1qZq@~89d7Ur1*4@c@2Ntw9yz9noppvjRdQP$;EiT-^d72SG*X&+0 z%uyMvyILA_ek-GH2a6CUq}~@z zmz!*tKiI63GK*i{&!0y?}0x z$Z5m9x@Fp$SwCJbQvPCy9-9tkv#@z%mavgI-@o3 z)n$d{bh;L=RZfWVmPu-Dl5KKKVZLS}y3XeID9Hv@P9hmG$qJkNWG8Z;U@+nzlufuJ1bDxaeGzhiOUB1$B` zk^K5)%G{4-hqOtP9PK;38`;!xnON-*WU~(0*-&=v07k^P)lDZ9ZnUm@Wl(&+R=`0` zK+?BNQu~NFFPLPjm3lu~>DcP|u`Zk4U$UR`vU98KS=WOQ=YFbxkdObuktZP!0A@V+fyap@a4uQNToA(K43#P79Y9cA;4US){ zEq6F|Jy-X(2xQAIS|^@O4qgl{oItH8^Rw6Q*{w(wjH|nZ>m(+zn9sRvu9cI z6(f?Uy^=y)L^|%^KXt#AB+X4_=z58=kh}73aLjq2n6OUCbEf&Ey6PM;>;s$_ZZHoq zVhC%YpRQt5?L)6@qm3%BTKX;cyE>I^adV%zUeIz*I;q|*)TV_dYh*W z((~$Xuql__+7Br!{+EF@nkL@G8A!BaPVUN$7HR}Si%}gaa3S}{qA)p26kn}Hjs9;D zmll^(9-N5w=8vW1*mc9t{f3ZTV@Zl7k~=h+QCS98w+EkHSGdWr52$8$QB5xF#I9(B zrCl3Y@_+<>y~XLT9(G)lH&*2$jXkxxiAvUCn4r=$#7U-jIJ=%?*H)>*0?Ur+ZX#LB zO6C{SS0C%`cf4f6s$k3H5Xks4qixMC*I_fW`Vl!Sv3hoMQwz;76T`JuuZJq$6xx3` zYqlm9a`yenYUcD@ljn@>U*yT0w$YC>mi0E9@mlM)#u_SJ_E&h=+d=e$Z?)01a}-XT zZ=3x*r?;iMqBj>O{T}UNW4dxKS|_f;#z}HtDE(IymdjTZ;`h6+C`i(LMd1;x>f$DT>eDz; zX1S2eClGkpY0p>{hWf;@Zo7qM4)5WZcKvm|-^+G?KiF!Zy@kch+5hu`Ol zYwbZK{qG3;iycvIbG5wzXkLBezF3ZTvL3!mDH6NqUJJJQy@jKge@NhTY9FXeqtjC; z7<|&q(+t(oj6PS38HOI!l0!`YHI+_rN0^!8VyxX)nZD?Z_81+$N06fFG!J|KCd^Ns z!iafK>FDz~iR3L(CXR<9k`!ykhqVX%t@uR9IRDTS7}rsY^U33pcBKs6IOVcd-V(P= zq+iZyA0Z>N;lF|Z9rNrv7|sjw0#law!Q94OpP_g_&>cyFg9#8DHZ3 zo3VY|K_dB@T2Syw*~1XT`a`dJU{>Ipjg@|HRfjq0~m>t#YOhzgB7O!&hBvZA|T@ z^mf@H6JhZ%Pqs@r^C6ZT&s?pmtKq0G;0iC1q;-YuBE|vie2pu_gt=2p(iGQZgrx5Z zZ$mmJXJ%IzSgTGw%UNtRWU(g{wq!4PpEHl-^QfEW;+DKhFOoZbNhGDWCgk%pYPz|e z8? z`IIAl_swxVsg6ZPfAla{SQxjZ?Oey%oXpO#^}EU2?l?@Ebvv$y%m``0IOm3**PAK^ zLD?yaMRoZkwbXHzT~VK|koSAQae{p>{Rop5CUcZ%;nWLGz0jM|QJtqUMc3}aOB-Cp!HTE8&@u&O!~O8 zTN+kl>$aa-0m;$n(_y5-%_frP`7AtFoX(R|efy%NM;vn#fy#)|P?~7zS#5c{BG6~L z`SQ14vR7Os;iflYcoOphfpl-YztXss$?9%FkRqcTSanSBIdcnkDLM>&oaZvHUg()t zv7aYexWndso97o4Wd66SW%=Lc8KFm<>SkDKXvxl}?$4w(Z`GY{8xIG0I-(rWrhcI3 z7+DeRhF#mE>&xVP(nb`$KhUF*rZmqnYo4nzO{-*ZQ4@u@4Ht!M8NQj-687Hz@O+(o zUBdb-7JB`z0&!c~F1s)4;K`O7zm&YUQ91|<-b?tsT=KMlWG$9Y^bB`>+E?|O8Z9HN z++cECbxl8pg9`sUJ!d^EEM@d%h-gKp&UndHB}jld&Sig%XG;G1chYz;9!P6e*Spms zWLEdE+IZ1R;8|&DENoYg$-30ruJXj~ndJ+qe7oAuTdUMN$|<7vy(j5cFIy@|V@uhp zjAu;GE3ynm)QzI`kBmfWONK_~#)m|n47T*55Vv7VnHK(?%Kb=f59j2Q5kX3MO zv6vgI#VnK&G8XfpUNTE`(8OZo`wXh0|4AsEj+0u+nRM2-lK(v@98<02Bgr*l2CZZ) z_mh%UcR({%lIqdAV(H(k6a!3Me~5sj3DzHpDa94#dMk^KDF3dWIG0k)sYLQgP3mda zvf!(3&W%y1niWY7<4xeZTq^jR^SIWBY+}1xB^k1I<9O9MhoawqQ8Hzf@;o>NO+YP$ zXxK&Y&W9VXo@Re11}^SH$E3@MhOWsrS%=Cn1^0LF%ORB+`%laeZ2vpcCyIf4%0|~w z)wQ%Ht6cAwtanXUfv&Q|%eE%{=O#Y&_2ezZy*C!-owN!$WM)ta`;Gm{BCEQ1)93sGCr3k~YNCYN+ov*g+=5~5wTeh5wE4&yTmdNMM$@I$r+N#)V z43^lZ?O%Lc6KvZw&@=j6$SoP`rzw_5-uG8Y<6>pY%R5w7!%I1Q6@mB`NPKPbv0q6c zEkF3za+yeOkSxbq7Avz*{RS$S9$t(E9mvYPnN0 z7t6`XfgAH2FFq{x#`-%V@UviPBJgJP=-EmR^%;1XU5VtcxxJO1GSZ`n9&)u&<1k<# z%OX7p8Bbp?J4>l%94ErYBooP>GucBvZH~@<6qiW;*bKFNYD#^EmC@^URHb%044-=+ z;)!a<)>pQO3HOaQhzjdGN9%bOKb$677^Y_AO^I0!lwS0XSza;OObZFHL?gzn$OjmV zJ;IOQfskbVfLc~@(ZzPgET4ZXOftnRH<_k2W|2LLHnc{oWQbWF5~42ZnGP%L2)2a7 z-CxQ+zyt$yGRIz`R^3lY%;I;<#iN0kW!*CA1~n7O<8PBop6HV-jdH!1<cO2}llMJCEVgJCBiTJ&$qo zGi4`s^Y+%Zi(!f>8w-8>eb*`Gyv$7v*MA1<%T@@^M-J|s0#$017! zhsI%@^gT2V4~ibGM=23fr&(Bf$ItgsG8}<; zUR|n)y?2Sm?(xc*2&({MtNPBYiH3SOJ zwZWgOY`x}MR5j&ml)mVwpWw;mS&5n9*e3H~X8CuUaE1;6VjVr4X=^h_M(0*v&;m- z)q94Z>*-PnHorHcxHfs1Vw+_B#*#(}TJ65^TPcqGdWcSID!@yUtAfjSxW~EdBakaO`4>Gs z4fw7ajV!`zll5e4RCC+0w5P58J8FB;NHpZHGJd7JDp)7Ss}tTuUlJ@7W^DcEZJV4n zy6Aql)y8RBPi4&*8<$Zgut#Z8Mww&d##&Xd4$B={){BknHQ6gR9;pvdq{hZmrEn-V z-ncV@gks~rlM{-K!&;YkBJ>9zmSb~z3@q@h-*Nje5=VXw|H|t6g;%* zIaB=m*IxSK2^yCd&fQlWcb!#ZKNRE+6x|w04IU}I+POZq%OuUBgmSeNvcdB<1 zQ}bu&^M4d=>&o^m!m-Fwmp9SmTJJlDpDCP6e)!9eiED*{`mqxkcd5KdvNW=k##QRS zaX%-y|044J-MKnxdgAF;riRg=^~SGjjDxrm`I|$KwVEX>A|-PWSLe_DUT!9&I3?Rcb54!ri_jEQU3M%xUnaJ znu^y!8B@=AzTpKUZ?yBhu4mpnbp$JjuINa0JMY!mE{&5hqifN-%`hA$XlZ-s*b>b8 zkH>t<>}4pQ@njVp`-35}YL2jc6a9WKSzqyFbtZ|01YIyDd8ipgUVR~|K;e{7W$$Ec zugz1hMD?xaHxFKrI_3lE<7=dwRN`qvy-Xx877QESecXdd{^4r!eZv!xay^AxTl+%y z47u>fgc8Z5Cez=FjZwE%XPBKWYw0cRHdDFPe*p0@a?Q<&Lqx9dO`cxuUuGNBsi`8A zxg3omvz66S5yqQ70~ z^F8(xRX9zn2g#OZe4cLT>5UG(>PM7&iYJ|RG+(8YNLRU>V7R!4HXRolfs5|Ub#FjA zksPZ(?k1bq!oZ`SbKzh#e@}Si?Mk8(XB)S9MP1InrmX2Rl%$ad8uMm$RA-AsQo5@) zK4!Noy;&3TMZHJPo=)d7&)mmj*RPh(!zE|bqhUTR+&7*Z(5&@l-u(Pj)POo#L2sU> z%G50-UYC-ANF(tCge zg#0LBz;~^jY5sP!V`4Q<-_VjoQvU5lQH*Z_>MugSB{j_FoYH2(r~H55{~Mo+cxUf(&QDudum|D8J`C`e@5QA?C+Zugq&uQ7zEvlrq-kEJ zORm?xLIY|cFpBRx3YxFIvUpPD=oK;={W0C@Yi!L4G+jbir4|ETiAO*g8s&L6!mxz|MtppoHTh; zLkguj$v3~2VRTM%8>hMQdnV@Osa4AUEiY{@>AS_Zrppj*Nw4(ZhUIH!2vS?p7u>W)Zcn_ zZ`V!MB)GZj+>1%v(aS7BfVy zv6xg<@63(Iu*K{pW?(F4sa__M`GR3pUqa}aoOOvX_3o&rTFfuF_qyFvdoG&y3Y+=d zJ4UIekp9F-a3#pNdb{|^tl%;Q+VNT5sHnp*Q#LhMpHo6!^5RVHU^E$W^0Y{-5V zB_4dX^tIm4mR|91jN#_b!_Su1%NeNJB@B5}Uz2K=$IGoBYnP>R927F4d|fi_Q5ja3 zA*vZd;Lhw9K~_Wl6R)>ZB{Y*{ zx$P3(bsl9KQAZ7h0#U~$B)wU{;z81n0p<%a6m__DSbqI0)zZUDZfLReV%%|X3<>Wo z>!X8|kdfemd0L~_^8^R^6@pR)U56(_h+jIRWB*IYB3qEE15szU|FB-@{gN^BFt`wz zwWLq0ji=KN_^TIdl_bB(ktKt4%r!PG18ZWWocSgzQ4pn1k>GDmYL)$|Vm}#UHdG~Z zsbGBgI+4hDC~uaF&0}mDW{J&nok*UMBFFu5IwCY*j-{q|gnW9dnhI^^d9xwd8!U_C7vYPByvZ7l@wrKloMbIJX8m|MVK+ z{0#23y^d<;hV8Wd7$Es9fbSVkk|z&z)57xu^fE}b-x6fah{_ky$nlfk_Ehm!AEEPs)n3jx+WdTvmFzKDXg>1*E z?xd%D)s0K1x@(`24#-mH=H0FO;pC9sc95q7tO~xIW%Nc1t#t)a_g$XqyF!Y3l~T^; zRZ%%S2W}O0xUnx$)HdyYo|89d=dU!U%DYKERxVGM_+5}MdHREP8nW;u$bHkXTMWC- zf#!Qdg>Aw9T)QggW%t?P&o83U?~wM~bnFNAlJ?l%(*BZHyM1YYMO#Q~UxVK_ooLJS zY%4gMW$a`4jTXDdT8Tndq7dgW`b!7oINsOMCo{=1(}P+%9T$A7S+3IKx&Em469zVV z`GT6E!G2#d%!j{BB=MT?HV$qC%16?ei?@$uiXhS!y67hK9n+}Ft0ENtQbh<1@ z&ILRb5UjI|uId|Fb~=1OhVAN^+prRuEz;zfH&C2T)lG=TroR$9-rU5g8nCLu>-$nT zcKm@A&-LL#>4W|hksFyapO8j_llBlQrR(Y+aGg5JW`zIBXLpSf+22qleea7{OT6A+ z8|v=YGo)pm(Njg`W>VNS*8S$x(+hPIVIMFuUso09rQdmH;E!Ju>hSIG)E|gJvc_2G zyY2(cpf{6ic&eT5uDSXHT+P;W^XaF~Au zCXWBpbQuZxf|ri7-^PFN4AO^J88)6@u^&KV2NN7PElxkLq^vdB?Ap;X0+#X_M<1P2 z%qphpSt1#BzN(HY$*`k(y$-Oq;O&ZNu4s*j@+VWYGa`u#r0}A3OHq`Y-`*+|uihYw zkh;_j*Br2_)l>hUr!jHek2_r<4NP#RJ}8|Hzk{{cP2OPicJN-A=Im`h_Z3k6SkN-v z1~p#2C2o%4RH`i@srCp;wTVRMp>>5@G>GXAgc=i6m@XsCvOR-wd-{)t-60FUK+C7D1*%hP}Lrq`!XqG5>#`4Vs7d;vzy(vjQbFg@@oly;%{ zpF(-pG^9mqJ%*YbqeNX>!K0IlD78|#174@Jv6}l)%^H`(lz4k~wj#AuXjfVJY zY|vVrS=+0c1!Bd@h=@iH#b6|7V?1KYr^)JjeGAA4Bp*vTL_C@mHjca0&WAsi@)5Jw zY;$$&zZMnwrcgsN@UfH<6l%U)qFRcQ^gotzIc5DV@mr*H%`&3r0>O`^d@UoU;tzOM z2i%!V+OMZPCQ{jcoTLKVZ$?ec6257^p7NVa{8K-ta+hPhT`HC4T5u%2zORy_QH<`K z%o)S`k2u@tw*Gw%Ed>tUC~GHlc=sg%y~^V1J?z&D-d5^$-qGrp^Y;19^kB)bx;tX& zW~Fg4E^1^s*OMTIxz`)NC+pmh4YApa-KVFcJUlM9Df~BnXUGV!|21#?K6`; z396AmPH4F+UYbKNkZ3G@(`dqR3|NKUrMSHH8jnnBp6 zj9p>`cCRVknvm;6s=L;tLyaMWie4cUl|jxEGQ7bew(aJbnc+v->a4|W1Ms{`5 z4q@os^}Dp5jr>!;{j&2bfo}>uxnAnaW=>X4F9IICM6+djv_Y2Unq?5OwK*?7`SCRr z3x3#SyT1LhmmD5ue2@B5BN3;Ma&O2kHSKZ~rjNHI+4!$ z?@@oHhonsY&?kXl1o+S(m>hqa=cqeC*8g zj~Q+zp6su10oUt4-1!l7QOu>fLg8ry?Zcf93e9{H6yKt1m`>LJZx44?da}A@i80eP zmEmT{F>n9j&Sxc1^$#{47g>2IWw==5aEhmYxbqSj24f2E>m}zGg1RP16WYs*aH`4m zlgJN@ST85QWJ7U(+9Vvs6oUTXS6)}_w#mCo@fR_(z>_$}`&y0vReB-BG;5LBb6E*b z`m1nZB{Dxc%-*Uw*OCs<{wOI*5h3A_v|s%!Df?0LdEliAJewsS6X46n0;KXyO2Kn# zA!Abqq>jx^T{NJd01NM0(mbtmh&X;7BQsjzJ8bq5A~Aij0s0hva=TvF)?5T^7v*2A z$?)S@!J9PVdg_bC9J)jI#??Vfrrc|?^X&gs2S zJ2KPbZAQ+nec#+oeYv*39lzhtyfmiCSBU&{?y8}zdXo7*5AxYcQ7`jlo4LLqkBL&4 zOcV^(t&m>k%VpWg#${(fDdm5GKC;PXw}11Im>cZnFD)~iD`b6npMRF*Zfb{UE4#)aj#d-d!`3-YY{wmB#`a6e=? zEL&C`jXyE>I;sqtmRS81;m)CiESmO4$bTWOI@S7~)1{=@QNH9V;Z9bKvh+=i1!sEl z6mm=5l>Aj^cx~iR+*BM>1jBK*!k3ab(<}7>NtFPT)h}x^-PrWoTSM|zkSEufLAf53 zdX(~h-{~z~03~qY_i68uYAlQ^(PGzM%O(3oF^4rI?1NIB|lVxy`d7PmCR*yZy zNXDx-8O1PcP8GVrLT8*acv{(FMl7I};b^5Dt)N3raO?rkUTS2rL4=e@_Lro-6|RTa z+z*#MuzOc#8)pHRKj#iZn}v`5I+=eKa2`~DXFX8362)7GNyDm!kw)TPX94-1L1cb; zjeyzTc!w&`8)He{8J>H9+vGq6hhGK)-7~PPcWolr|+z$Y8OVIuR&{SWz zpQ>>3BnrQ2hIwlXZQXKn))p@C3-2g}>$#6}Jz8#Eb-8u=!)PAK znqu|iS{ZR;C)$_4zNuAPrRqmxd^Xo=jY3*TB(FV3^1bn>G)dQk873J~J>bR9=4R}# zb$ZEN#~NXBxzQX8_CPCl4KuPg9;*_ zt<_hyj?6xAi6oI=?m%AUxN;zi$B;yMG*VQ5QiDKz#=!O>h6 zXwWyO#=jjK|2+20H~q%OHza>D8u4pCtlEF*TiFK|$Wb95yB{6@;?$l2@5C0b?Grn` zbHN9(y7LES#p>n`%qgmyF)+7?t7uVO)xf->x+@3fi!)uDePCoV4P+&Gt4Q2y)&*fOX6DN-vRXA~C($4xWW<9`PK8Ll`V*t z&y1EG{QvgiWaa%Hp> znh2%DA=As}RUpzdy0^=Mva0F@^JmY$NNdcTy`Zwns|V*vh2x45F2H}r?3pwFpRwQ8 zhy-X0O6OlxRx*2jW!Zu%r>YPJh@ zH|bC>rDt|#M)D$qBD?Iey^O3qIKA}QuipuSb0U%cO!w|na4B5hJ*uZ?AwQ*g7rWKy zA(6;CU;(%VY=FMwgr1%zZ~)i}o(y(@3&DKqCBZ4+o*c%1?*c2pcCY~)z@5}4@OZElTmW`~Ctldo zle>2$QUwkN*ML*O|AIAOP6>Jjj|H2-0C^+y17lzf zI1Bt6xDJChzX*N(nEGH8yaOx-p9L$xkH7|SE7$~{ zI}7^)uLrxqC&AnUB9YDDaBxS$z$ExB zm~$lS)St04a1J;Hyb-Jc9|ar1cCZ<|Yz6her@^eFup=-J9DEP$f)|3bz$?I|;1ggI zxB+YhKLWeJY4_6K{79q%91i{poC3ZAE(DwJqh0V@uo*nze)Vap0N$@T(>p0E@z&x-UjDd5WW_-XKz((+IU^DnG*beTr3Ox@; z4`38L3M>Gpf>Xh(!5VM{*a$ufHiOew(=K=km~}jIfq7sn7y~~9XMv-e(K9#!TmjAn zTfpCfNw5pd8iCz_d0_4{)Cb3cv%rmDgXFJ4&*1rB8+aGk4R(Ri6Q~asfTPzUH+Vf* z1HKNf0JGN7E_g7Q1P6mzClVikdEohA4E!B93v31(z`oDYE+{|w-3m?tyTGf#oRf%K zzVr|R3p^goIXM!U3Fd=Kz+&+CU&i@}Rp=r_0oY!o`!3}!vYc!T?Zkpk8OFbZA|7J%Jg1=#oR zvU^DnA*be?3jEp2c0;6Eg z3)BY>0H=b(!5Z*C;0mw@Yyt0kk^X`ofjOh_7hpa(*hlA(7jND)g zSOf0<3jGF81DnAbupL|hM#eBdz$m!ytJoPh7@P&31TF>709SxzU<-H+m;{@^tkWWq zXTUu0B`^jK-#~frDXso+wu0o(wt1UG@XKVv=nm~!B)UGxvU z;uFe&O<)ta@2AKIo(pz^OTgR-)B}fu8^I~yk3OS+;An6;cow)4oCUUlja!g!BI`Ps zGYP-)IrA3G1*7Dj3l@M!{|`C93UDd-D7XR~^aXkb&jq`{7ODjwp zmQ@ouW#1Ey`02odrK*%+>PK#1Y?S4xyXRcjcl7SLV|Ul2&}Z=P{8M{+_5>qJAN7MB z$I%c;p)cXzc<8%>9(}A&znkn6p&t>Xm-+N{QQs>vN_UV${=ZfMY?cq-SS_c$F z`UU$r5PAXiE5QCs4nNhCp>T1(zB7G3gVD><3~~sMx%?Y=bWe}`8b$wG1AJnO`}OnKzPl*5uT*sUooskXd;Ou` z;rKk3na^&F^JA3DG!BEI{|WlV!FH^I29r0Jc0Psvv9$SQpq;Vx{ch;Lc!$3K_WLJt zUkSelM`o7$Dfrz7y;k_O1^CIh{M_);{=;XNQJLl51ic$RgW%)oXNF(De?R6P^)u;j zH1)Sqze?oTlp@C*pO3uM6WfLybDB1udWn1 z1NzzmpPMO{X`Bc2XKjX_NzP%=!?H$lpK+hz{Q_vrTo~a)jp*KR$G_LzY|26ark-7iCLH;}x`%bj|*(sMF z?C-@seKhoT=tG0_xjuac^iQ@yUjn`FnDlarp6-UemHNYi{L6j*>!9aQ|Ii?Ps!!hp z{YTs2-+xC_KNJ6f&k^6nZ9mTL=9L z=+6b)moZ#zWRPsp<7Ue3e_CcfyY0mMfj&N!&*(6pVU#_iOmli4ndCel`cu#k4%WZGuPJL^51l5Qt~CLT`gk z=;+h?j#t67{|xM|V>8?NiO_SPXYzaJLqBL6^{<3}81zBG_54Bax&S$Ke1^4E)7@q<>?eYur^8(1Wv|l(5g0OX4X>F4?N zH(2@}L3)v)4<>H_bm{+muKWKojlS&KDb=ODfyDEpDWAzsM?)XC4f+h|XF<Q_x^I7zpx*&K8l(s8v&zyD!*4&Z z-@O&O$oJzQeTvWjVd%ero~ix@=$AsjE?B?sBESF8H$o5T4_lM%r|4t=JNN!Yna5`s z^xdInYJU>+t?F zGicA#N8d4?{S1RH&!A^oA0|PU_S5x8_*X&y6#kjwj$5H0M*Z_b?Vshf|1k8@ZSda! zT^?!wS*X5IxU|0o`V~iJ-meVUi!(#$KMd9{_U&O9^jFF=`-e%;-+`V^KVp~CzX^E%H1dB`X3SApWbEUk#d_T_b}zUq}+aia-2K$eb1MBGjd%y zzNd#dyPI-1Oy*3uFXcW9lso-~evA9}dro>N?cGOvAI$6NA$;@YGSgE1*bC5K%Rm=- zc7wk4?4F*#bFS9^n4kFeBzk|1Lw_?pcg^3YHxyV&Tvl=i!U}0f_1rZ0>RTmJDMPrmWF1rIP?#FswRK#gCS1-9;M)wosC;Y({bSIJZ8_Gs zvrFhve$+nDKga#E?EB->f_9q-`e5ky8=w~+HQclt^@Udzo9Zuh;Clmn^NDY)!)N&| z4gIl43U)E9UTB=#0yzUf|0~Hk-jbuoIcFZT9rAt${;+nWdZzNd1iBjkYb|;1_>YMU z+4C?t)ZPO@e;V`?@Z0Falt3RVKz|SP(KdbZ#RZMvp!@4U-v|0+n~pl9PzTZ1fPQ#O zxIand*aZ3@(DUib%iy~Rd|~#1V0y$tllpoi%drISWFEubgxyKtdZ@8_v11Iqfn5_0Gr-Z+{3SnC$sA!jw{Q$a3l zv*cLoB$S^W5O6#AqS|i{=xafb>PLl#L4QGynvV`UR4=6@Pkw z9+m!1&<_PYOdm);dxKsC`kDA$SXh#2*R1*W08GFpfsgD*(C${;eXmv&c$^>dRW6 z`~Y&MAe|_E>spNY2Iyh!LS-BV`gqWz>{J8f&jDT8mvm-63M~7QhMfK@qvv1iKp&ff zz7_Op(4+FP6Z8hqU-WR;{=2gtv=4mU&X1Ne;7Is+pwD#WRAlOV1^8yUIH(K^b>2AT{G=rpi{RGS%)kdQ^R+K^O;ml>J%<`fSj1*$XPicJO_iL(VSHJ71FDo)jJpdjUSMoAOxu z2L^&Z7WAn4sF3@^=rpfe1HnUae=B|$zHPOOp4ZiBtHSY@t>A9}Kf0$^_<_amtZ!~d zx(mQJ1AIX{#7{8&AN1=%k1E$b&~FAktbb9yCxU)I=qlfXM;JdbBHs<*e;@oR-(?oR zlkfC5V3%^_YaQr+j>s3a`&Q8ZndAPQpzjAgs^5PC`iG#0wHL|n4TJTk9O;*V{yFGy zJ50S>>vwZO{|xjfyPqb5cxib4s2@}L_Tv7B@Vl_wsz>r??lJalJLI%Q$f0uV0=)+G zlkwZ=hlvC41O56O_YXh;R)G$8)ZA~yGbVz5KIq@F>G3&%{>=k@YYzDsRlYJA!S`rA3u-v|1uInp11K+Ovg=~Fw+!~MSn{RaFlTP2UIzVc(DV6gpHR8L z7u7#{e-rb9h;*pl%Rt{1L8pAAAwPaO+oi&dndOOd*hrOUCFC3pzNq%y0D3v-QTnkR z^iiO9Mw+HROug>{eE{fWj{>^bA}Yr|(2oE;svZWw2zCX1ihV!on}U>7&Uv`MMC2E4 zvC8S#yE@1j?8-Ucyer#jxW2lPikFShAc{H|~W(|g)J=cDKv;I04 z@_rBgsQOBSz6)rTW+jdQaRRCI1u9=YrnNPG9yPPUd;t0# zpy!*<^oF7Nb3}fqe#=1L3wl(4oeTOt(4*=j4f?yFhvk#xuLJ#U(8Jn?=vzU574#^3 zvlH}ZL65RGpMd^D(4+F-dlbgU9O;*Vz76!S{HyT~@*e^HA>_62ZA*U~|7|7YjJYye z&UVNd0lJd2FIvtH$k__M$w)64=a80OU)clt>!3%~XW?kr5YUmFx!;Q84g~!-Iqt8J z`%CQm>v?>m`dEYXe}(&1Im$+wd4y9RYa!=b-wm%1YWFRmpA33byS)thnV^$<9n?du z8D~ELeF5mjHr=v=T`{30dX(K726`>%QS~?jbjsg}wtSRP?<;BmeFf-I`CAM6YS5$d zw?*ht`Fk1k3v=Y}1JD~I@<;774D_2oUxVL;vz>MlM^yFyF_?FQugNZFoEx0zb3sq6 z4fj)to(6pZ=;Q7CQBQhb(>l;E%t7A@`g+i#>TxIN8$plipPzt!E9m*`=>TjLc?oLDus`#`@A z^r-v|7{~3f$S!}JJCrIv=*y=^$C2iNek168?E7UO5$PM1?{cJnF@6`$b@Xk8u^&6Y zw+DRp6W=0-?+(NFGSaKNYXAOvJ3X>7&ic$J;M)v7OuLMokQfY=t2Y8ukANOEUYCKs z4fLt@{jw%Y zoOFI*>SYh)R9v%v|HHN%s+Ud7LonsLD>~#$;JeP{yDXD$F65P6yMO-!;4A#8lkT0S zeDff08~DQXPqjbf+z<-Wqp!b59K#sL;SqOR==#*yRno=|VI{l*SF`Q16 zT^$B`Ipjc`Nk{hmkn9E!=74@PrE|HJ4%Mx-ZkdLhXTcZMzt(~NJm_I@4r-UJpzj4e zs{if;{qH&GpMdV&5-q>?M8qXPF9lmrpO!yV26{Q@7uobUMPXQP=7N4J=oL2IT9-(J z{$tRi?Cv_yw}3vtzTeuPy%qHPK|j={Tl+?Kf_^vXZ8kk*{c0chJ_KJ>I}A7$<9v>E zCW8I}=%;0;BcmkOM;-VE+!}4?)_^_)baY=+-`4Y#JCM&Qpnn*HUVW6QSN6K<%aGG? zLv+1<0Q#r5h1c5vB;6H;_OChU!$AKt=uvtx1N47_UTv4ddY-5O^x--3w-)rnKo4tI z%HI~y`+y#nKJ`B;-_fAofZv7vN11+Z**22%3FKS{zOecxdhg>r?*Y&c$L~P@t+;O) z=$muU=YqZo^egTA4 z{7#{VjXSFRpf~48zjp%f{s29!e^Pv4F7AI6^d|f+TyE8KNIZnvr4I5w0{;yB4$4by zBC$|{DPL<7sQWv@(V)LqQ9KLbD5w=`CDB<-+_F*3f{s2qcinm zhZ#r9z_%Fr*iC%p4&NJwZyxvt-noDOJH$8F;rpG*R~;s%yTJ!H&g9$LcfAR6J_mg< z$!W3VSPyKf@EsK@h6IxmBMI_Od3!Uv$&fgUw~?215dYmWPefxZ&-jCo7i zq(1}nn{vo+0DTka2ix^(_kr5r39fhcm8kiud(DILu4P`~T?WZ7T4;=V`~J>8 z-fO=9bRTbh2OlMPw1fYbKHfh%_z(8=uJ7pI)Yp5nqyL+}-rqX<&-C?vSmdwj=j|-= zKj`ai=;VK|pZ8cN|K@()|8(+S@8{jr*?+d5_f}{BqW<3BJNqB@^M2CB-_qZEql>@3 zzqhfg|G)ctPj>Zx+TXkAAb<5C-mM4ud;5FOALQSEnD_QUv)3Kw{id7$&>`NZ-TYe) z@m}uke{iVxVR!%KL%pke_}@R&`+g7q`a`|fdib9n;=S9W-=0If2YULyKE!+WV1LzN z-d_*ns-f!9{|+euHrszB=G_tV@p!<`Vz~Z2{Q*xUffn2V%{nKWijtjo!kljOm9B3 zApL?vV%-x%E{(-5BKn3{=e9r~lI6v7IsRl^FfrtC^2OO4r8vy%O_Y6KL8%|F1rzzu|ieDxdeg$7BA* zzIRdF$M5Uo{yN{=rG9@H_wNN2+U|19u7D)gR~)Q%eBZ!Pf3?~QFN@b<_2YYMzu;{F$L?=Nv52=b~_ux298r}*FN z;5GR-cku3_FnKA=;QYf3;jQI_O9|jkKy9xj{c{ey|+5f#qZ~f{7budmvthh zjh!Fjw7xUR|5YdNTmBC_d2Rk%9jV*l=TkBNQxrh`Mrvz|ygl*Bz+WoxA20IWFYxav z@-`Rx_jU3fEA(&Z2mj3??>C*e#-=CyyNb|LuPh>EyQ-u2 zx0wHnj^5RA|E`YSTk(iDj^0x+a~-`0JNWqhbO-;Pj(9Zz zi_?aJ&N=&BPGXOl{xdP}yD|U8n71ud;RS=jHCEUtMU^0UHSI5SE7>~UhLw9{Ij{EN_sKmFY!|j_+ zGrvvbx`o~8`3=aN={Lj{;*47QwumOXX%)ICu)#Ww{P{v192*-o;_Fxdi}~9+djE*Q zSy)~0Ozg)Uz26nWbpOCV`?noqKkIN2O0%;g(*L64kka^sIR*Z;@M$}X<8tqT^x5VHP-4^qn(cC0=x_@&Fyvr~I6nKxu{Z|WMdFc0x1y~V7i_pKk{XH*}Z2;8R9@&p{f6;vs zS!{=&V)~oyzi3&y??G0mO(=-g&35;LJpCy`cQbW7m;O>qfF50Mx%{Q*@>%)n&wdg{ zzcPP4wCm7|W8Sl(I{lAC-IdbFFq!o9v;ok{*EMYrXk&c5;jYsEe$1OU;MSP;TcH(= z?RS<}3p%u@U%xkE55&Ez;{JVcZ)4oY?=57ZMajYjp1g`@+TCsI_Sk>uO1s+^yg^;% zZl{P|K4HB7a0hSJp&NYo;N&6Q4HvM3_w(5IWAN-Y6!?$$-tK}S_@F zTLa-W&^Mv*g#-EgP>RpHALa9v&+~cbD|~*t51&0b^khHlT*wR>@8Vn!mg}w}r{&;; z`gM?8uYHxT50UHpkF8O^5F}9twyvr}t&QT>8$ze}KOM9NMu#NhJrYmQrT6I<{2I_6 zg?tT3<=wHGShCzJI@5>wJ79*R4XA+yCRI_oO}Cgl>{{ z-Yn;Ba(+(Eugm#eIe#YS4!yX1edT<#oX5)fcsZXc=LK?JD(6e(e3P6v%XyoepOf?J za(-9NpUJrcEdt}{E9ax-JXX%f%lT9}FOc(6IbSO0o8-J%&fDbtoSa{m^Sg5XOwJvo z-}QC+pUM>eoG^9jgyO-~r&L!K&!}%&vV2H!S;^>~=AL!+DMm@jh_)4Nb*YxN5zEWRCdZbINHr`N(Uz`hO_x-A zBbKzaj%aJG9npf1an>wMwT+l^O4W>t5eq5t;iF1QOG`$NKpwmkW}Z?!xw?2%$*9pK zrCw~+Whz@Hh4%{?IW)($(i0VDVVdLOR7e(tf0PVaF0W6?Gh=t|Usxej1ELAS%Y5v2zPi}*mVOP5K2&?@p13SY=S(IRDD zLAMEAj_Fd>>$t9Q3??0p_Nsd27u7eoEf7`!xqgXvTvrzOjjoi11c@w(Ibeqvl0eW} zCmlyd@nI@`iK^@pI|W#0U`3oeV(HQyWue@4du74XUaX);$)qDE z%@|nFt$4}O))f`dZRNJtmE`^s7G%Ofyz-7OMS* zfdtZ_I}=}JE&I3IL^U+yOS(&%+UgfJ;j6P`M%orNx6+4qvmhcmRyg3QT~yQRDOtot zc5iBXN1RmC(iX3#bz!Y-y_Kc5>N|;#>DH%{HLa~RD=-Ye4tw-1Tijydsirzxh8h8g zE14$wOT8XaSqV8~fGN_yZxO7(TlTd4G$(!IDFR_hUjMu%fX+1h{44vex%#dvgS)7c zWE|OdoviP=L>Lk1&A0^@8aOXtsdibkYdly8TIy1{u97p2qjV(HU(cH==d4pn+lt0? z&3vzgQynls^C~h$+U}Ic6S%^@W&!lPN`d$zW=mgsWSVL2 zqVJy@Pv8oBBLyf{SLTnNmuaLFKkWO{@q{9!<$gWiQ6T=f_fG_7-@i7V0D?VKa(`e) z6`FlN^&T4Hb^afTCvb)5DFm1&1*SCUz+kKnosU_#!e^+O_5FH&*+Up;RHVbbpHa{I zHh$3DQs1xVpC`)wtK>}SQdV^Ox?XC46QHR@p)#t zKZ|b*@~`>ynT!g}MfJ6wkG>)IUn}=hb|{}Z{{nkt>ZpkNem(zP1jmYwk$ei$*Z1r4 zlUcU!*YoN1a=)H`Q~eX<-cQ2;)d}1nb?A6Ri`tyY_XtUyq&Wg;9e&yOuR1uPXshJ@ zjk;iRM-S(GC$8=LwJTKIhZ!55lpCD;Gy)rP^8O$rA{7wgWW#d^q&FIzW<5c3B~@zZguiruHdu& z>!$y65bXQuvt@Lw`39lbPb_+!SgroX5Q>srexa_;ve{^ce3{-$f3__a8F9whfWY~E{<{#g#eEl*j*{UfJv z3N&%I51p>YDkAQ`M(!V_JEq*=-ak9y{%1%qj?vBy&ZT!|#QmRCGUpM_4bG*9aDl3S z$zE{ke*$x!79jk?ZU1F*e^&d+{e7GS^`$gCV8HaPJ>dt9m#sASM!g(U!J_IM4g6R6w<7X#eVd;N#JKx{w zI=)~3b<@{)*qOEzmd6uWqymf<+E28J1;~l^|1$AH_;U#xQojq}xjhn!ckr|yX5Ul* zFGBlQnRt<>{iaO3lc)WmOuVzF{hUm^i>LjUOuVb7{gO=lAW!=nnRqu(`w^LV_aK0o ziTCjIxSxsl^z?Y1i689gaXJ(4<>~P^6Yq`jbg~Vp-vwSDPmh;2vB2vatjlEL{X9Ls zW#aukJ#J;P|KnlFC zMc~B|_>mF#Q4#ppBk+L{_@D^<=q#N2ZK3yn_h%6zaIzC&{D=dh_jV5g*;*dwyoa|z z;#C@tl2Z~Pe?0J*m#rtq1E+LbB!I5vpCR~02X7MmZ3kZiJO+KZb_(ki)e9Xr;9o36 zZ=V8A>3V$=_+^gg@G};o|L*_~tGB(1zo&P<)Q?V=BJGr)bxwZz1E+L{4ou)qJnyIe zdL9i+gzI%%nI?ENPmOs!z0-b?P@LM%)A*DtKW7O)*wmr(vpym}Evba!)A_+ZM3o=C ze(dJQ`z7=1{5+K>KSjdt=4V4he(rrVGe6Hue)KxFo1ekI%FNGudGa$-_}%<$jL6SP z&u8Z6Gs%x$Pj~av;^e0v2J>9)wLBs}nGv3YPqaP-?RIX(!WL&3vrQmM5PYJ$ZK_>s_TFw;4$&S-8t^><2-j-0;6VzY4Zwa`B zR0QGE)xy8=hJ*r2h5D4>b1!AQP4J@;2%`L-c^Tun{^tM>lYh4G&k;S*!T;L?-+wO4 zIbP)dJwi@57(hz*<7=2-*MF(ts|0TqIp+xen&?As!8Z&3@{KGfNLTRZrM!cLzXA?E zrMpP#U+cp{;0FUA{5;Fi{Fe!T#c_;3BywV%Sx#e`@p8e_z)8-8XBpou_?5yx_zA`@ z5`4Shw+>=_s^Gs@a^%7~eJ1kXzn}SkDYR|~no_y$9>TaT*LcC}pJH6+^Fhsj72`8S z&R)U$wr27#?#l94En|F$@INB>1nJj0KK`-bXI#wux;~o@;`(vd_bvdg@_#S$_Z0c} z34Z)?#U@;|vgQ_iV^Uvw+uO(N%F!OtGYI4;$( zQSd%e4_e>;37pzp$18>1i*@I8*Njgns8|S9g8z0Y;}o~2<4(a(T%Svpdayo1Pr+NfiR#wRiVrGj4}_`GKr*X7+Qc((8 z1mIN9EuzmuMgDZbm#$iDtXxqXL|Eu7y3jg@AjO%)s4g*N}yjt2wZn~cEUT}!?@OmQv`oxIODn=E)cx8$XDNzg2dYe-zM#-^Z7l& zpBu+=ba`JA+_fiN`*MCxZ()9258o8L@;t_M{#OfrgXpc!|I@&Wz3k%`5%?cPPT#9p zzRv&Wg1dILz8~lFsG~FauM&LPM8Sxeo=GXmbv*4pfGp_aX=Yl_d z2jdTUd<-oPmp=3Y5yIJHYzMM80Yr2gW2roc(gl1msL zEcmB_@4Jxk7X=@DB=fueL!01RrM%OHf4$%<#6IhGd06nLA7lBwg#Q)6U3>n4;6?W` zzs~0&M{$0J-pKe&ky9;ruUi?PDENbdpDB7$DtP~|vz%Xxe4Wpe1^>r&Eazn5Zx(#Q zV#bFGzDe-a&b;6!z{B+IEroaY&OL$U>=HR&h@4v|GJc}qqXu$5uXOZ(x!~@6=Lx}= zN`Ke-uvhTErdWP&kzWMGCVjYe4CC5v94B~M@}u>Cw&0V0%>3md=eL5p_3(+{8wN7J zt~dW^PPg_)jO+TJ0X(eU?iT(BFJ^w7pC1bTS{dW59v}WUSiU<>4H10JM&{T0aHin# zA28lU){x|AC_|6!0g`Tg7;s;{I!Dr6gc(MIma`u z$BW&agqT#~Ya;j)9z(CrwRWE!G~VMxNi6J zfrsViW`%e6X1~Pz^o}Vy9uYY|7@APmz2fTReJc2aPcUA=u=mYjoS#E4Vf+li+XOFL z&$#YK_X)moAmci3-xvI6QZ8N3{}TMw)y%K;e;EcKs?XO-7%%hqcmO!HV|)kWV+DU! z`2Tq{E`r}HxSQ^7!5>`4a&-QSM{&A)MV~d^B>2z~%&*()KHvu< zt(IPl( zj*d)n<~j9ntl(3`4(R;M5xnbhEJu$!7Yg2ZC*zv`W8gjUpI*O~YVcy?INfePV1D(^ zWaMaw;O|R*bh+r=<5bTBe#-psfR~Oo;XhL9Q|IT8il2GxzyB0|Hy%C|H&Q+HSf5br z+Fs2PeBDyU2Z*p+1m8NEaoxXm3hw&b{}B9sk+1dVknx=EXOFWSbSrhxyS6DmPrbnS zB*AYHe5BZOUC-|eUbl|<^|(B40?Ya36vlOZo(;U%%RVjv-Xmn)x!DkO;T+3fA_y)0K+Wz08`EO8ecq_`}=9r8Q1lH8E}%bdm`hf(M>p>5`5jbgu2%K_fLW^zkzX` z&u&v#&I)N?U7z0-+?_9M5d6oYZ(9C~g4am>3|FaRFDV9A%I9B29}X9MF>tbDZv6i| z;h%Ia=Tn#W4#EHLag3vztK${H7bO@+Hq^0C@XsG(Ty$pCovw#7yR{`7}xdl z3UJEjM?Yhn-cd`(JHqe!=S7t)fBoQu;?wd+3;v$8uhySN!ROq;{D-K!u-{+sYbF11 zZ`ARq;NMx0P}kZ%d?xsWOBoOJ2aX@r|9h($Z&P>SU2uYL75mv!@XrK)>2BsP7Q8nc zFp@Jw?3=EinZT)jR!?XCTZDhH@PGSm#!nRdM#0^6gvSJ5dl~Z&DdZal<3>uitJIIy zw;6(;DgAV!$X_Y=-A}O`?N>Yoobowv3*!$6{~N-;N7`NMPoFAI_qkQfulvO`!7m@e zxUT1m1$X_2djucQ!2IZj>Uc)*a~CqcM)1;UoUXfm_mJS5)6B2S^`78vfA2G$<(w(w z=@5~BjNltau^in`?-Sfz2YE+uH~#-O!5?sbZhI34Raop7F!H zmdQ04!oCkYO#UxKj%zpeD*o=?=KDEam_c>W$1^G2DQg+m`R_N2@wJl}M|V)iRKZ7H z&A8U{lYxijr&0JnUcvkWS&X+oc|-1qsPq#;61H}7*^kI>s504AKyFcf*g0Gv*@_TxG6d=RY?r!{Q zq~Lv}f9ZbrEy3R&&T>jc&IN+MEA^)P(H6nKe{&}P-v$5u6vk1F>NsdF=g0N`hYQ~I zHs-Gt{!0a~+RS)2!M6zR`Yl6FVLRZx%KTRd|9FMVg>_mY{9|jFe?lP>?*LBq_Q`h{ z*ZT84!4E%&ah;z(2>!$}#?NFiUXN2*j=Mf`xZu67Wq#cs>jZym5aUxt&V_=z`(ExA z{LSl`U+1&Ww>VvQzsd=MKeCkhwca)e?(QF3E%^60Fu%^{6M~;2{Z!Y(p9G&Wl=(G2 z=rnGZSGO>(^>ZR{s^_DoFb=g*N3-C)rzF(1mh-6K?mYBgfsvmFZ&M5-!1mAN$|CT$EDqMd;L@6D_IWz^}I#s2nWl(_UU}!)b5wwz?_E)al7Dd zT<$kYPIvEv`(vv2AG$uFICXyZ3hwUj z>UkEY>-w3~1ixt$%NehvLEi*-=Y7`+e&$%_*Zr|8+yJVd&qgsm(c@#P;L}PO*ZuJ# z!QJ(jp9_AC*cn~k5%XETyMFY9;HxfX`9XeQkSRZI9PCKJ-FW8df^YpX%ej)X@8OYe zC1>PyjO+Z|DfqkRF+M=}-xl2Uw-2dfIn%^HX%+tYz^Ol;D*lho|AoMNz<+T4tM7^& z*ROs~kjyfi$I6nuMCDiqg81_yUy#JGoYrXn~;O@HZC%`HH zPj6=ai$zX{1&nVOJEQyiK!ppFbvjP?S4lk#654kn__qoF_1{Y<&g+E#*MhtI3StYn zyzYLguL<5^GRx8S>P*2;-^TdOBL5}e2g`5!G++_S-}@8hFBW30;O=_Ib%JkP%lt12 z|5JhwyOeRQZ}f&G(&v-MF|OO?aNtz`6Mn|{5Ro%h_`NBN_ZGZX@GmAYuH~;4+>MiO z75v+GGyjPq=l6n78N;~tW4kO4ub)A{DgSO9>>%-wNn5w+b zGQQj6V>ED*fBSaEb^SalxVs%#r8Q1x26a22b z86PbCw~CyXPh$LyI1^qI{^M_FyiNE^8(IFd=P+I@_%z^D-j}6)weFoI{O-CoUgx3m z+0XGS-WGh#1eTBCNgW-VnBUz8HCk|Yo|P2*1JO@i&vyv!#)sb&+)X#u%;l<+a_Mnr z0C1}3I?=0dNGmp>ky(#{#EvO?-;e)%iRpg8vfX-z??Q^}JtjcRjkImE|9N z6U(0=S-4*Ceq!Ic3I3ws>uzEG3k4sHilTfzy_#{&-zvB_obe&T|D@nQy^!&8!B0xF zoWEShxR!GTaMI_l((bw*?h^iAY+`<`4=(_xaqxb5zDC4*uP8bC%AEfqa&~NFIVD0G zx`gx7*Qw9b1b_5J<}VfgHNYvK?znc7@Lw%<0A@rT&k6q4iiEoE#jy8(1b5@lotJWc zCQ1D~B>YzkzHK?nnJ)Nt!G}uy>-zkc;8Txbex3it%UJ$%YZ$KEXkVF#ipb{|g0Qd@AE_`AoP=e6^ki*XBblr8y;{>lho8@RdUkjY% zyT^mV@9vlWiQwPboKUyGtx`vy3pm|J7A4g6EQY-^1)nYUN7v6)g1;yE87=&e3O@1< zmZS6ej^KZPl<_XYKMDqx^w8ZuQvsaXcZ%@W3V%xYe|ZDT(e3`A;I7~P6T#hm5g!Wf zKCdxo73ar&erLAeZruBF!ONvSdwP64Ah;X<*&+DQ@d=NPBh+8K>u43H>&}}J7co9G zkx-nvKGz8T{@sipuBe`O4{%!VcIQVA3cowg`kUaBe!_AvOsM0O)!};844m5Q>VeF! z^Rry=t>#hmVXN3Tv7{PFF~f2hd+ z--5ewzdeFa5;?tvzsH*J@(u$|6S+|2ws-IaoGIhOHax#@1fTW)1s>*xCs^5d7X ze0Lu7O~K2gT$4rq9KkP^bhV#JD5;dHe>uu1T{ZezSw}Z{oUOU)9W(Mj~kDj zBDlMswp#ELZ)W*ZME*sByZe-$6#V|>%&*(!bHUx`7Y@Cg^W*vtrwZ;qZ*ng1F#Eht z_t`=bqrg}>7KMYp{{4Dzxa->;M*lXx*l#9-1Un_UBz;COS`-w za+V4H+*fC;e4KX56jo}xez#|`}P*bb-6AOe)oCghlStuW1kj& zcYZYYT29xEtN&hbcR$akf_Iq2`GFbXgWkc3_wUk)UcrfI+nR1mFIlhvT*>6LsdJJus;cKElU`k_HMOw54et_7rW=#Bc)u*(nHd5llXcC> zg$>Q~A+Rpp+}f6`S+d;2J2+b!Qt4D($=H!)rH~xLq|%qy%Hn;Utt&i!KWN>O#>N%6 z#k$IT(=4&3Q*9_?ON*C0y*fRkbbL#Fsy4N(zAcrkZEnH~I+xVqg}Fp3$7^bv)murE zr;xI(qmG}R^RAd>E*>yh>KUh;$)v!+a*fm@c$PgW%xYwDXI z^7I*{5VGm_~WZ9=O*V)o-(77IH=l#2B!A|TL8aEI9c)S znUhbdnu>~@SzS|QvRqkFiVC5(x@wg@edhG)^w_1TS}0i+GFgK^m6fHVk|!l=7o}>? zPBx^PDjR1{haN*#8iZ37Z*qQ3Tgu!}K@|-S2rC`k*o?-jhmO~f(Aiey;XwJB()ssyRx#3R4&k;2t{_fTn#+>%QUd+HEqjkT9VYmD(66t^Xg-HZ4JJ;00W^4hDt|U!wNPpqmBoA zm`t^{Hn*ZvBoZggsG2hMw9}IK>IJLC=p@W?%ZjAZ&YG$j^G8=awetj!Ytb z?h?z zo~)ojyg7gUMhLB3ibhw$(6D;2F}+<(v$hkaXr*Pf4XK*e$qfys)-)_hwdu}Jog_rZ zr~_1%qE|4D74OR`IrJO4tu$e3vU-YY59oI2fJCer%{fh)vtn*-1FS-|ai12nBp0-d zOt!VuHUvWsQmI_fqHNq8^j=nh>M<%wQyEY~RBzjSQVdgzfb@`^!WdIio5ILkdv=u? z#w(YSE=krS>s^ma)y)lUmGxPA9<)>W!c=I7e< z)<(0+j)uL<)DU(`7GS`X*W%Yy&8|mnBd_(kp+}QxngfHDE7L)JWVZRpB=uo(F)F`A z{!4YMkL6Z3E&>Xo90EOLBfnM-O26IJwnIZ@ZO4U7)Xdx zcsmEELU!_DA5{6Fo#RtY^wEK2{er5~+FEBKKc!>g!>|=eE=o1Dq*|-sd{mBEN*%j$ zskl>fFtW^s34&9b`Pn0KACMW>wKVy#oCC`+2Xw8Gqwz%z*2&B{0_5kZElaxt6NcQ9 zVAXS>>$=(~qZz|356!UfWK?9lEK634uEM>;EP`iArftcDkTzwE2#}1)R!v=9D;%=s z1=Pu5Ey!p|Jj#^r{?v0$L zRMqUT{8$xRIe*Udnbk>XdX}?`NfA|%vCh%@0j)+mQNK2chl!kR{6ovgTG`?5p_(q+ zOEE=}G0kyD#U5H&aQuQmK&7^wrcROatZG$+e4ezqC%g=HXR-1UQp48dEnHNcc;ry- zv6#_Aiz^!&qsNe7tZ`?O_0T`qVLgwu64L`*{qjnl4jFgEsE+b5#OehT^l=!ls%dJ- z&RBq#j^r8L)Ko(Qk7Yr%bL*-~Mqh(Xr$~*O>gLm%aAR7jd=fI!YVx8?Ta=5OFNG-Q zRT&lKs7y{)kC(jb(LV4Gl=fux07v~`Pcr=&H6CY}pnSQ^r+Zw(s;R2e?Hi^ok=zlf z)3a-)tmqsWv4d7DEv;{AOSOu(5~54F#&?q%oXP*p;HI3XNRP-&BGeGTdDZP1lu?gp zrQ;E*v0Xok6jlYki17fejvnGuP(zO*J#A@iZmC&VlTK-WB3aW$AI{=VWR0!TW6M6H3b@{EltjmQ1sLW zG%@1P@SV%Q4C7G8!N18fIt5GomwG&tcU*?MmFh@ z6PVX`Y=;{-Rgc?|rZr=5(=nH?qOX{wrMnJ8q*S_ayj0|=-8OqKcRQrbAAW@m-M2xywIk7FSwjT%LNm(T^ zN@Pz^s4r9+pNa!Z?WsJm9kz9*FeY2tQp}?QOG~bOj>!ZK&4!W$x?pOF>W?PhxjT>Hr%4rTKF<@3z#t*r9;Uj~#};W^jEMYU z%97zD;u^ee_@lJl;SUUi68J-2>MO0mE?OITR*m(f8Z1DowSzjd~nWfGrlM%^Iu zVIlbt6-Vn(g<8I~x*dJ1rf%t1S$=A$TslY1)^m?v)R1t##HVzpk;t$eDhZ?-`8<#qa!5@DI#Y=uRgbT*NgTg}g{g0DQ**wuDlCOik8(>hGY|ncRwnjHDATG3 zJy^Nd;e4b9trPy2kE`!9z=-?t^hbneNJpeNSYAop{mN^MB ztosQv8@5brnc`6I+Q)C4Eexr#63s@3?f0RXu#yj4@m0|7EmVnz2Jb zX`a+->YS=t2y=D{pcQK?sV1uDqd6%{$j0pH98HaAR=6P?P*(dR)TWaxm(6sevN{CR z(#gMny%bNY5Lp!loe_1R`ZY@8`h{qd z43}1~J7ro#bm6F86m3?jvFCy^maKvyo7IwPYHY4cu|pG`AFF?a%x#oy;UPG$r;ZF; zt7b4t)2IhU46fKZ6wK?)>cX^&7H9`<%35ULQ5I`sfw|7M1rn+av_eJ>Rh3DYbR8G8 zBBW}MMQL)TA=3Ve(YmE&cST^>C<==`Q_TwyG)>hshUt1`Su<*$tP=bmr!6wZlaf*z z=$+}ia&~xv+pZ?FRS7Hn$`+#fGL

5~hiIy9L=pYZ@w(*d*;yD2>>oU~73ue9F=+ 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 v; v.push_back(att1); @@ -30,18 +33,6 @@ int main () { v.push_back(att3); engine.createTable("Food", v); - - //engine.update - - /*actual testing - string x; - - cout << "Enter DBMS Commands: "; - while(getline(cin, x)) - { - //cout << x << endl; - parse(x, engine); - cout << "Enter DBMS Commands: "; - } - */ + Relation temp = engine.updateCmd(engine.getTableFromName("Food"), "Dinner", "SUCCESS", "Breakfast", "Pancakes"); + temp.display(); }