From f0b22d2a987cfe148522cab86af1e1dcbd4471aa Mon Sep 17 00:00:00 2001 From: sunilhariharan Date: Thu, 15 Nov 2018 07:34:48 +0000 Subject: [PATCH 1/7] Done --- __pycache__/__init__.cpython-36.pyc | Bin 164 -> 157 bytes .../__pycache__/__init__.cpython-36.pyc | Bin 178 -> 171 bytes .../__pycache__/build.cpython-36.pyc | Bin 650 -> 671 bytes q01_load_data/build.py | 16 +++++++++++++--- .../tests/__pycache__/__init__.cpython-36.pyc | Bin 184 -> 177 bytes .../test_q01_load_data.cpython-36.pyc | Bin 3979 -> 3972 bytes 6 files changed, 13 insertions(+), 3 deletions(-) diff --git a/__pycache__/__init__.cpython-36.pyc b/__pycache__/__init__.cpython-36.pyc index ebbd53a2d5f8e74c1825d49e211ea6c89bbb6b24..b4296887488e4af5ee70229994139b1ff88c47a0 100644 GIT binary patch delta 56 zcmZ3&IG2&bn3tC;LGf+$L=JNmFa3=C+*JMI(!9)^jKrc$AWqEF56>^kE-pw+PSsD& KPf4AaWd#8GniFRL delta 63 zcmbQsxP+0zn3tD})qh^pL=JQ9K>dvT+*JLM~`m;B_?+|<01V*T`@)XKz?{9OIS SoE(LMqWrAXp!w+*JMI(!9)^jKrc$AWqEF56>^kE-pw+PSsD& KPf4AaRq0+*JLM~`m;B_?+|<01V*T`@)XKz?{9OIS SoE(LMqWrAXY5Z&3`yWAyF#KN!6AV{i%2v#a$VPTO*M2Nz%-fqanyIk14fXJRU+K4Ga zet^HmKXI*)M6yFG&H%$Rq5x-?v(Brw-81*<{jD!DuJ$?7GNFA(mO~qIZ4z}HEXI_51RZJATDce delta 404 zcmYjNJxc>Y5Z&3``-({;8q`W8D5)+eSgBZ8Sp>mCIRfF#UQEJWF6?d!We*FJMz9Fi z>yPnYTw`IC($+@jtTM1~-w3>YftEAQ~k&YaB6Jj0A_9OD|VZ{Z%Ry~MbrNefR$N_W-pF)FGu9E&vR zDjn*`S^i>4H@|@c+s0YxOJq`S&t<2z8qHVI1#H zWIBp^TIHW`+FC=Csvr=kKpoa$3uGNtlgjd!BrmyL*b@v8D(U5Ix_4YHU&<+2?p%RQ Wl!beeq+%LJXB3qx1G-RU-1-Bssa!1p diff --git a/q01_load_data/build.py b/q01_load_data/build.py index e4cd8e3..17594bf 100644 --- a/q01_load_data/build.py +++ b/q01_load_data/build.py @@ -1,10 +1,20 @@ +# %load q01_load_data/build.py # Default imports import pandas as pd from sklearn.model_selection import train_test_split -path = 'data/house_prices_multivariate.csv' +#Write your solution here +def load_data(path,test_size=0.33,random_state=9): + + path = 'data/house_prices_multivariate.csv' + df = pd.read_csv(path, index_col=False, header=0) + X=df.iloc[:,:-1] + y=df.iloc[:,-1] + X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=random_state, test_size=test_size) + + return df,X_train, X_test, y_train, y_test + + -# Write your solution here - diff --git a/q01_load_data/tests/__pycache__/__init__.cpython-36.pyc b/q01_load_data/tests/__pycache__/__init__.cpython-36.pyc index 133357e0803cc77a9fa179800aad36162ab7db97..5f8d6a1fbffb58db78bb01cb55469e1b0ad2a21b 100644 GIT binary patch delta 56 zcmdnNxRH^=n3tC;S@CW3L=JP6IQ@+L+*JMI(!9)^jKrc$AWqEF56>^kE-pw+PSsD& KPf4AaM~`m;B_?+|<01V*T`@)XKz?{9OIS SoE(LMqWrAXf0*N``($er~FMacN#=PDWx;CJ-m)>4)bRWfvDDCa3Br M=clA@V(R7v062scU;qFB delta 66 zcmZpX@0RB<=H=!3=|3-OBga`r?R@=={M=Oi#H5T&eV6>?(%jU%l4AYzqSVU7lKfo# V#GD+3f};Ga)Z~)l%|98tc>(<07+3%R From d5e16d7df4e4c6385a32fb6fe8c0a92172d3c00f Mon Sep 17 00:00:00 2001 From: sunilhariharan Date: Thu, 15 Nov 2018 08:10:01 +0000 Subject: [PATCH 2/7] Done --- .../__pycache__/__init__.cpython-36.pyc | Bin 190 -> 183 bytes .../__pycache__/build.cpython-36.pyc | Bin 636 -> 617 bytes q02_Max_important_feature/build.py | 8 ++++++++ .../tests/__pycache__/__init__.cpython-36.pyc | Bin 196 -> 189 bytes ...st_q02max_important_feature.cpython-36.pyc | Bin 1735 -> 1728 bytes 5 files changed, 8 insertions(+) diff --git a/q02_Max_important_feature/__pycache__/__init__.cpython-36.pyc b/q02_Max_important_feature/__pycache__/__init__.cpython-36.pyc index 93c9119e93bd10425c9a680002a7f8007ca6fad4..201197c5fe0b648e579791d84abe1cb0e617f063 100644 GIT binary patch delta 56 zcmdnTxSf&1n3tC;LGf+$L=JP66#b0++*JMI(!9)^jKrc$AWqEF56>^kE-pw+PSsD& KPf4Aa6#@VWM~`m;B_?+|<01V*T`@)XKz?{9OIS SoE(LMqWrAXubc-dWD8JwqM_x{1QF>}|$t~8*yp+_6TWlry zIhn;Jlf@VnEx4V53R80uOEUBGRx%Xv0B!k|sGpIao2p-2nwOcAkyw-o#EE(O;rT_` z#RZAUsrt$JDXEk57(@BFKn`O85)6zAOhtT?FENHNa!poeQq$)Hih&J7B6xvfw>WHa T^HWN5Qtdz<1MB5s7GePa1d2fv delta 302 zcmYjMy-LJD7~F4nPwsLT10u*-S&6B(uoJOS1RE{1N^|UGm;8`qWj8q#A{K|Gg{0Qr zH?Z?Pwz0lf5DPbFV=)6W%nZzm{!s7G_r1Z@Tl4`h-s>Yp2%S2Z14k{&(Gs;VMGvGU zIS3H=83bvuAUo&@Pf?C@a*aZIc^-ltaTCi*WL2^P*AA(rvC`U(jnegO!HY&3JIE>_ z@9f5(beW;xHJ=$-M?uXmbRzqx&iK5L7OIH2iFc%ZH~5{hRF#tPd77~^6*r}^kE-pw+PSsD& KPf4Aa6$JndX%puF delta 63 zcmdnXc!ZI|n3tD})qh^pL=JQ9Lj8>V+*JLM~`m;B_?+|<01V*T`@)XKz?{9OIS SoE(LMqWrAX Date: Thu, 15 Nov 2018 09:59:31 +0000 Subject: [PATCH 3/7] Done --- .../__pycache__/__init__.cpython-36.pyc | Bin 179 -> 172 bytes .../__pycache__/build.cpython-36.pyc | Bin 892 -> 962 bytes q03_polynomial/build.py | 14 ++++++++++++++ .../tests/__pycache__/__init__.cpython-36.pyc | Bin 185 -> 178 bytes .../test_q03_polynomial.cpython-36.pyc | Bin 1393 -> 1386 bytes 5 files changed, 14 insertions(+) diff --git a/q03_polynomial/__pycache__/__init__.cpython-36.pyc b/q03_polynomial/__pycache__/__init__.cpython-36.pyc index aa42922819662c41fcd07685edf2a72bf7ac881e..decfa60b67425273eebfacddbbe71d5d64fd3bc6 100644 GIT binary patch delta 56 zcmdnYxQ3C#n3tC;LGf+$L=JP6Nd1ib+*JMI(!9)^jKrc$AWqEF56>^kE-pw+PSsD& KPf4AaM~`m;B_?+|<01V*T`@)XKz?{9OIS SoE(LMqWrAXf>V*nX36MENOLn0)jvdWz)K*H> zgL_4&$`^3tH~5Uba^k=bAP&riOTC)6Gpp5`@&4`n2=@>A{n#A+e*fA7_zCyEfbtg< zdVRNl{H!k{*}Y|XUq$7hg>py6Eh~qzM?07C6w2Ll)IvU1V+N|L##3M*lQT#McbB&} zK8c+0$O%sf21-U6E*WV&>2?az_+`+-H8&j-u0eXz|H4hwLd&ncwO4jcyyjCdy_Pdr zd!!FeZTC!6>J=7q^~?1+PFbE5^}Je1HTzHqohCOnlER3YR>u1C2GRNwo28BFO5i7@ zjSY%gs!Q83O;u=v&V%$KfNpB*eJqR(-^~n)qPF4H|0MNouxu_A<_U^gHj9}y!YJ3F z(s}T*k*fL*_yFK3{CSg|Hw%^NRb5o)0t*UJXKx$)te0Z0vN_$(HsAQ;%?W>!^{K0l z2*CEd2_G_iL^-+>>=I5>jvZHogmkjm@UK@GyMtXq-l0+HuW+<2Xk1rp4Lx@!ad0hg m;IQK`aiCG};~|wcdcJ7ns#1sUIrNZ_u-j){x_ delta 509 zcmYjOJ4-Av6iza)eaxs>2)7fwAX80YC*lJy+K3NqG;kT>CaxnhJIhJN%fc)c+KPz1 zmCgMNx4b`NT1)?dSa`ClU_w5=@4RwO@;`X@msX;v^YiqHzcNBz$hYMo-^8O2AC`7z zyRs$Qx0FY+b4=p!;raI3N2d+iwn3{1hDa)zbfnvNe~>XVbnF;roSH~a`ghE@HNBxX zZ0y$VrB}1sLGINa77X@z_uxu_$n&F0R_^0~ mN*icT1P*D1O`f#!4Q9~RwAQfGDp%|Hx6>;_ybQN9?|uNo&V!Bs diff --git a/q03_polynomial/build.py b/q03_polynomial/build.py index 26d8971..44d5a8f 100644 --- a/q03_polynomial/build.py +++ b/q03_polynomial/build.py @@ -1,3 +1,4 @@ +# %load q03_polynomial/build.py # Default imports from greyatomlib.advanced_linear_regression.q01_load_data.build import load_data from sklearn.preprocessing import PolynomialFeatures @@ -9,3 +10,16 @@ # Write your solution here +def polynomial(power=5,random_state=9): + cols=data_set.corr().drop('SalePrice').nlargest(4,'SalePrice')['SalePrice'].index.tolist() + + + Model = make_pipeline(PolynomialFeatures(power,include_bias=False),LinearRegression()) + + Model.fit(X_train[cols], y_train) + return Model +cols=data_set.corr().drop('SalePrice').nlargest(4,'SalePrice')['SalePrice'].index.tolist() +cols +X_train[cols] + + diff --git a/q03_polynomial/tests/__pycache__/__init__.cpython-36.pyc b/q03_polynomial/tests/__pycache__/__init__.cpython-36.pyc index 6e2087691199f0bc7e5f879b594cb46948bbd2d5..162d5c164a67ccb13709bc77b7829f5e780a4dd9 100644 GIT binary patch delta 56 zcmdnVxQUU&n3tC;LGf+$L=JP6c>Rq0+*JMI(!9)^jKrc$AWqEF56>^kE-pw+PSsD& KPf4AaM~`m;B_?+|<01V*T`@)XKz?{9OIS SoE(LMqWrAXDWMVUaHn5Q3}UzA;3keHmR apPZkPy7?HR6cg)3rQ1LCHa}(VVFUnxq8elX delta 78 zcmaFG^^uFyn3tC;Gh$wp-bT(zjM|0z8Tq-X`iV&ynffmI$)&lec_qdA=|!oPi6!~D i`iVI?3I#>^S*gh-#hdptN-?p{nmKc(<>q_LJ&XV=<{Wqc From 6bf7ad6bb77ba8b7c41aa443fc08308ab57b56df Mon Sep 17 00:00:00 2001 From: sunilhariharan Date: Thu, 15 Nov 2018 10:08:22 +0000 Subject: [PATCH 4/7] Done --- q04_ridge/__pycache__/__init__.cpython-36.pyc | Bin 174 -> 167 bytes q04_ridge/__pycache__/build.cpython-36.pyc | Bin 975 -> 945 bytes q04_ridge/build.py | 20 +++++++++++++++++- .../tests/__pycache__/__init__.cpython-36.pyc | Bin 180 -> 173 bytes .../__pycache__/test_q04_ridge.cpython-36.pyc | Bin 2080 -> 2099 bytes 5 files changed, 19 insertions(+), 1 deletion(-) diff --git a/q04_ridge/__pycache__/__init__.cpython-36.pyc b/q04_ridge/__pycache__/__init__.cpython-36.pyc index 43421366bedf944488ce2a27f63ac34969d0db1a..57289e9bae1d316c2a17ea6481be6dab12e7fa11 100644 GIT binary patch delta 56 zcmZ3-xSWy0n3tC;LGf+$L=JP65dDn&+*JMI(!9)^jKrc$AWqEF56>^kE-pw+PSsD& KPf4Aay-n3tD})qh^pL=JQ9X#I@*+*JLM~`m;B_?+|<01V*T`@)XKz?{9OIS SoE(LMqWrAXJCvpDl>3~@$2%9~M z5aubo2tI)aAHaJb1o0pqd;w2Z&wAKy>Z`A-im$5coB!D#U+?$B_p?7w-#7^UMCT3# zegsyh`|;%&$vo}}B%I988D|&)ce5Z5d5Dn=1>NCil=pbV`+UF;BwZb@hQixns0;-Y z!71jW{mG5}mn)Os0m%M(d-2oVAIGP+7Z_glFfiNn4p{xXb#Oe>PD6HN>u7J~H_i@k z-3G5*&45u&ba_Z s0LFs}M47`rq!gWKH|sgDLl|~5FU2~Ox9kdQ`!?hP>@CUz$5a5|l>_vQ1K@4aWgFTwX6}`~ z@H-~t^VRUuO}FrQfCJ!Ahk8ZGBOC#Tp}doKDOv)0$0Ska|-<(K~nmRgi}& zQf>p6a0w3F2IQXV80INtoZgAkJ9c&(uXUovZO|Tki4k}1(OR$^kE-pw+PSsD& KPf4AaxP_6!n3tD})qh^pL=JQ9ME#8X+*JLM~`m;B_?+|<01V*T`@)XKz?{9OIS SoE(LMqWrAXPF6uj4BEG8Tq-X`o*PrnK>DWMVUaHn5Q3}UzA;3keHmR zpPZkPy7?(%HlsWX0|Nsa5IX~Lu?CPRVMt+YW{hF3WvpeYWuBbNJeiRNh=iGMF~(0; zWmTAL!Xn7XH#r>0N@L+CsDBbmvk*%WH_+fBF%TgRA|xh%WEY-n%Bl!9NM9A?2v#5l zJ3B&b}jc^$!#-_}|$5^E}IgV9wau}N+*lBo7o!r7^s4NY% nOp~by5F3YEpCJsFo~*%cAs`9TAq662L4@4o0`?66iTzK4 delta 423 zcmdliut0#*n3tF9r~kaD*o~YU8MV{(GxBp&^%IjaGWA{ZlS^|`^Gb^K(~D9o6HD@Q z^%HY)6bg#+vr>~wiZ|b5%x08jW?*1o17c?&E>;5)B@8Ky&5SWjwT!h)lQWnni!c{) z1BGv~7UdSF8bTk(##97 zphyg;xJZ1mI;#oTAbqgYSb>6Irzrp#C{A0&8jPlspUn)YQoggQq(Br?5etwik_NF+-OA6VJeiYS7;I~p XfCNaDB#4j!5wes2vx`rj#Xb`N@gi4- From adf27bfbaa9bec638241de7cbfc2cfac392f3f6a Mon Sep 17 00:00:00 2001 From: sunilhariharan Date: Thu, 15 Nov 2018 10:09:39 +0000 Subject: [PATCH 5/7] Done --- q03_polynomial/__pycache__/build.cpython-36.pyc | Bin 962 -> 874 bytes q03_polynomial/build.py | 5 +---- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/q03_polynomial/__pycache__/build.cpython-36.pyc b/q03_polynomial/__pycache__/build.cpython-36.pyc index 24867e3cd502b9f1ed6cffb748527333ceb21410..40b0fc70b515a201fcb1aaa9fb11a9219228ce45 100644 GIT binary patch delta 215 zcmX@a{)$c6n3tF9n(N!>4@?XUj~S2vE0FB~#Ki#qN1qDI~cPWg(j;ol}Ly&2{0Ck01fif zWGZ3<(nah*LX&UuE~W_~oFG0QkceW7h%ZSkE-B&%b1ESmkhUTrR6-cYy~SaZo1ape UlWNBd5HkbAV+JI^3S>I~adFK=WjAZy6pj?m7RD&vRE{jZW`->O z6s~5*EP)hmAkCD*CCQK_m?hNA5G9-{%*c?+nJO&Fz{rro6U?B=H?d+OqsL?}Mnk4% zhRODf(u}tzM>FcM-(pG5FDkk_9?OWO5tRgbFSYUl2${u|>p}q!yPH34uA45DwS?Zjc%t5Wx!~_&@|dh!6o0qNs!z jkb8^6CO1E&G$+*#7!C}@0ziU?5e%7yShzS87+Dwr_WCz( diff --git a/q03_polynomial/build.py b/q03_polynomial/build.py index 44d5a8f..3f0fd3c 100644 --- a/q03_polynomial/build.py +++ b/q03_polynomial/build.py @@ -14,12 +14,9 @@ def polynomial(power=5,random_state=9): cols=data_set.corr().drop('SalePrice').nlargest(4,'SalePrice')['SalePrice'].index.tolist() - Model = make_pipeline(PolynomialFeatures(power,include_bias=False),LinearRegression()) + Model = make_pipeline(PolynomialFeatures(power,include_bias=False),LinearRegression(random_state)) Model.fit(X_train[cols], y_train) return Model -cols=data_set.corr().drop('SalePrice').nlargest(4,'SalePrice')['SalePrice'].index.tolist() -cols -X_train[cols] From 835713c0965ff3c0e1eedd8e48074b4879f5b00d Mon Sep 17 00:00:00 2001 From: sunilhariharan Date: Thu, 15 Nov 2018 10:12:09 +0000 Subject: [PATCH 6/7] Done --- q05_lasso/__pycache__/__init__.cpython-36.pyc | Bin 174 -> 167 bytes q05_lasso/__pycache__/build.cpython-36.pyc | Bin 975 -> 943 bytes q05_lasso/build.py | 20 +++++++++++++++++- .../tests/__pycache__/__init__.cpython-36.pyc | Bin 180 -> 173 bytes .../__pycache__/test_q05_lasso.cpython-36.pyc | Bin 2080 -> 2073 bytes 5 files changed, 19 insertions(+), 1 deletion(-) diff --git a/q05_lasso/__pycache__/__init__.cpython-36.pyc b/q05_lasso/__pycache__/__init__.cpython-36.pyc index 1005306dfd1495f17293e8f96d1fe442f494d410..0c919251f3feac2bfa11af1536ce6e0300bb98cd 100644 GIT binary patch delta 56 zcmZ3-xSWy0n3tC;LGf+$L=JP65dDn&+*JMI(!9)^jKrc$AWqEF56>^kE-pw+PSsD& KPf4Aay-n3tD})qh^pL=JQ9X#I@*+*JLM~`m;B_?+|<01V*T`@)XKz?{9OIS SoE(LMqWrAXaniJREi9~*4p}G?3j>0aPQU~b0tsXgl~o(1C24}44&_oIU2jIJ z@+(;2Cou2>*gYU22E@Q0VB$H)aJJs}KEL<$z32BW{2Y#N_WN;p|IdrUL+B^Ea47I2 zFq7@aSMQNL;DJQa%fo_kh7oW-kBXSb7^zs&9ezo9k0-p(2mC7KDgB^y-STY%% zVLsZQ-r9e;Hu)Wa?5~r{pC0^pcXoG<;pGkkb4`!I%&XSJ>2d8fWJk7M9W2Af+u^O> z;H6(PV6>)n)KJIc1a-Kk3i^XbIX(f4d&I_Y>d``9Fy-k0W!_@r*MmYB4ja)^6{*?;v(C0I&f} oAj<;wp_J@IyIC)Q8^W^NMJd<0y5m-8+;0-hx|`s{8o`9tTza%PH5DN^&ARXrH_AZK()b=4=N!8&x zA%S$<&cwn3Gb{f9yEnvu82AU6u+yrlt@q{2=kL8|zpufMU~n@{<4?~%;`grO{Bq7L zWcWQ3^5t@H<+fY+Jiq~Ps6)LXBo$E%r;o@bDXUQ}7@dw)26Qm4iWx6umaIO2Ylj-v6h~V`kq3fsreRrY zPwojN%nTjvZ;up{O8fKnoB1NJGAf9viqn&_BPGbR)JSm2uH)oXwVADWFYGbD}CfBt@}aiz;VhC0Ebk#)jydw5|zhi37SI0Ws)- z9z4eOJOjecJ?pQ&!9iD~hHF&Lcs&>0)nABrw0}Gm^EAdN4yk$XNHQfl#wvOi5({e< hY@_zJXW*jIba;zbbXKrC(ELezsRV>(Cw9Ai?>}HNqV@m) diff --git a/q05_lasso/build.py b/q05_lasso/build.py index fb30d50..6949482 100644 --- a/q05_lasso/build.py +++ b/q05_lasso/build.py @@ -1,14 +1,32 @@ +# %load q05_lasso/build.py # Default imports from sklearn.linear_model import Lasso import pandas as pd import numpy as np +import math from sklearn.metrics import mean_squared_error from greyatomlib.advanced_linear_regression.q01_load_data.build import load_data -np.random.seed(9) # We have already loaded the data for you data_set, X_train, X_test, y_train, y_test = load_data('data/house_prices_multivariate.csv') +np.random.seed(9) + # Write your solution here +def lasso(alpha=0.01): + Model = Lasso(alpha,normalize=True, random_state=9) + Model.fit(X_train, y_train) + + y_train_pred = Model.predict(X_train) + train_mse = mean_squared_error(y_train, y_train_pred) + train_rmse = math.sqrt(train_mse) + + y_pred_test = Model.predict(X_test) + test_mse = mean_squared_error(y_test, y_pred_test) + test_rmse = math.sqrt(test_mse) + + return train_rmse,test_rmse + + diff --git a/q05_lasso/tests/__pycache__/__init__.cpython-36.pyc b/q05_lasso/tests/__pycache__/__init__.cpython-36.pyc index 88694349bfe01743507f538dd58873ee81a6ec3c..c4b425987144d5b5b4fb02d5eb9f029749c3b7c3 100644 GIT binary patch delta 56 zcmdnOxR#N_n3tC;LGf+$L=JP6DE*B5+*JMI(!9)^jKrc$AWqEF56>^kE-pw+PSsD& KPf4AaxP_6!n3tD})qh^pL=JQ9ME#8X+*JLM~`m;B_?+|<01V*T`@)XKz?{9OIS SoE(LMqWrAX Date: Thu, 15 Nov 2018 10:26:04 +0000 Subject: [PATCH 7/7] Done --- .../__pycache__/__init__.cpython-36.pyc | Bin 185 -> 178 bytes .../__pycache__/build.cpython-36.pyc | Bin 702 -> 716 bytes q06_cross_validation/build.py | 9 +++++++-- .../tests/__pycache__/__init__.cpython-36.pyc | Bin 191 -> 184 bytes .../test_q06_cross_validation.cpython-36.pyc | Bin 2091 -> 2084 bytes 5 files changed, 7 insertions(+), 2 deletions(-) diff --git a/q06_cross_validation/__pycache__/__init__.cpython-36.pyc b/q06_cross_validation/__pycache__/__init__.cpython-36.pyc index fa7d8bff4b4367609876242346df0325d2410dff..15bed8d917572529b88b210126263ebbf0021826 100644 GIT binary patch delta 56 zcmdnVxQUU&n3tC;LGf+$L=JP6c>Rq0+*JMI(!9)^jKrc$AWqEF56>^kE-pw+PSsD& KPf4AaM~`m;B_?+|<01V*T`@)XKz?{9OIS SoE(LMqWrAX`@$1oKak<%vs!7JSnWrjEoEu zQ%ok#RdIUB$-uyn%nT$zfE9?@f!G;{i{*es2}2D-31bOU3S$aW3Ue=OEprWX7IQO0 zElUkcFoPzGUzE_qe{P|yQLMiCDXBTP7$a^mRz|TEC+8QX7Dox@rY7darxq3E7sW$_ zRx%WE1C9L^qo0wVo2p-2nwOcAkyw-o#EE(O;rT_`#RZAUsrt!4(){#@lJluSTH%2N!jHV8&Gvhe(o)n;?&fXB3_^pu(3!44^ZqDhfQvNN@-529ms#h QTtI>cXb=yx5F-x@04Nztk^lez delta 296 zcmX@Zx{sC1n3tF9PUO6(Ka3N(Y-O3V*s|DDSeh9b8B$qOSeqGRSfe^S*giD(aDBPQj@nZnsR}h!oVoR zSj0E^D`NpKTTx^kE-pw+PSsD& KPf4Aa6$$_fdlSM~`m;B_?+|<01V*T`@)XKz?{9OIS SoE(LMqWrAX