From 57178a4c5c126dbbd6bb08d7f64700d2305d7392 Mon Sep 17 00:00:00 2001 From: makrand12 Date: Tue, 23 Oct 2018 10:41:46 +0000 Subject: [PATCH 1/4] Done --- __pycache__/__init__.cpython-36.pyc | Bin 159 -> 153 bytes .../__pycache__/__init__.cpython-36.pyc | Bin 170 -> 173 bytes .../__pycache__/build.cpython-36.pyc | Bin 655 -> 584 bytes q01_outlier_removal/build.py | 9 +++++++++ .../tests/__pycache__/__init__.cpython-36.pyc | Bin 185 -> 179 bytes .../test_q01_outlier_removal.cpython-36.pyc | Bin 1835 -> 1833 bytes 6 files changed, 9 insertions(+) diff --git a/__pycache__/__init__.cpython-36.pyc b/__pycache__/__init__.cpython-36.pyc index 2e5da7da778c48a9c58d7d055bbdb642fcb66418..0ed84579b73fca18beaf5585bad1315f8f354cb1 100644 GIT binary patch delta 51 zcmbQwIFpgXn3tC;>DRgFi5%wgZu%MdxvBcOiP=Soc`1fQ`r-LS*~JBk$*KCu`6;Or GQ>+223=wny delta 57 zcmbQqIG>Tjn3tDpxuj9lL=JORAN|nc)S_bj#H5VO;*8Yn;?ks|#N5QZ%)~tXywvje Mw9K5;;)!wA0Qaa9d;kCd diff --git a/q01_outlier_removal/__pycache__/__init__.cpython-36.pyc b/q01_outlier_removal/__pycache__/__init__.cpython-36.pyc index 2f9a42a105b2b26ec10c60ac4d11fa03f7624d22..84ab77f5f9f443c8e105d7fbcc10c4cba36509a9 100644 GIT binary patch delta 51 zcmZ3*xR#N_n3tC;`PaGVi5%wgQTiGAxvBcOiP=Soc`1fQ`r-LS*~JBk$*KCu`6;Or Gqx}K1xQda(n3tF9Mtoz`L=JPAaQ%$@+*JL diff --git a/q01_outlier_removal/__pycache__/build.cpython-36.pyc b/q01_outlier_removal/__pycache__/build.cpython-36.pyc index 8248a1626e901c868c177407620fc7ec379db180..945754fca07ecadd3d88fd6c3d39a34cea80d3f3 100644 GIT binary patch delta 374 zcmeBYJ;9=E%*)HQ_1C%R4~z^9j~S2vGmz~7#Kk5Pl{L9iSyP#t8MD|J87BI8*Ruh| zok4PLK%#~rg)xOGg*lyBlA)Hdh9Qd~g{7IXmZ?IchS7x~R-u*|Cp; zBFT`&1XRUPC>IWt31-k_^^4+nEGWpyOis)z@ytuk&rOXIbk0vi6XNp8Pn5}X%*`*& zD@jiSgLn3t%(plSOM&__b5bYwFiIImvE<|@=G|f}yv3NalA(wT=*(Z?`WZko^>Y)m zixTrv42|@|^NX^J3lfu4^^@~cQYT+#^pXN8ECvw_jC_n-K&Zf2!~^7MvQM^U5_e$- wGK*M21W51}YjH+mK`PjEB!U|x#bJ}1pHiBWY6l9&Vh$j|!NkSL!@|J^05eHgrT_o{ literal 655 zcmZ`%F>ll`6t?3ecRlsEGM>c5b_@-O6#-SdR6-RJOj#l~&m2yDwre|8i^6pL1ZH;r z50h7>F8u*aJcofR5_aCFJb&+dFYh_e=kwVQ`K`Xo2>D5N7Q^?~X#NQT5TJ_GRM0Mi zY)fkJXNo@C@iX-E9iIg{&>W9aM-{;~i z^?I~1y$&vQy2|79vPZ2{A{N$39byj7*jPvn;u`tAae8Tvk>Yb6Y5SeHIf{S1uRdbI ziYswlod|ysjIG`}(}^~C9Qs=NAlt@?wG-Z_!P`G%b@}vJWBQ<^a7b^=6<5`HFBKfx zo4ELg*-JNYfI#TMxcBL!ak~Yct;$$hu7UfQS%_07I5c>zF3H>^K?)l`cn2QfS)9Ju T80eLFiN783CBihD(f#~4xYMeW diff --git a/q01_outlier_removal/build.py b/q01_outlier_removal/build.py index ec278ba..e6f0d22 100644 --- a/q01_outlier_removal/build.py +++ b/q01_outlier_removal/build.py @@ -1,3 +1,4 @@ +# %load q01_outlier_removal/build.py # Default imports import pandas as pd @@ -6,3 +7,11 @@ # Write your Solution here: +def outlier_removal(loan_data): + loan = loan_data[['ApplicantIncome','CoapplicantIncome','LoanAmount']] + q = loan_data.quantile(0.95) + for l in loan: + loan_data = loan_data.drop(loan_data[loan_data[l] > q[l]].index) + return loan_data +outlier_removal(loan_data).shape + diff --git a/q01_outlier_removal/tests/__pycache__/__init__.cpython-36.pyc b/q01_outlier_removal/tests/__pycache__/__init__.cpython-36.pyc index 5a057ffb73694628cef3ed87e03ee3a17f7410bc..c45ab8da9ef5f9d7f8701a27b2b3ddbc90ecc95d 100644 GIT binary patch delta 51 zcmdnVxS5f|n3tC;`PaGVi5%wg3HllNxvBcOiP=Soc`1fQ`r-LS*~JBk$*KCu`6;Or GQ$hi_>=E4n delta 57 zcmdnYxRa5?n3tDpxuj9lL=JP+H2u)x)S_bj#H5VO;*8Yn;?ks|#N5QZ%)~tXywvje Mw9K5;;)!vg00%)6m-q-GbFCKV;- ZCgx=(=IQ69mdB@M=A;&HmSf^(1po{!7gGQL From 0a6c49c6d4d0671f372820268437b582ae0a517d Mon Sep 17 00:00:00 2001 From: makrand12 Date: Tue, 23 Oct 2018 10:55:37 +0000 Subject: [PATCH 2/4] Done --- .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 175 bytes .../__pycache__/build.cpython-36.pyc | Bin 0 -> 1303 bytes q02_data_cleaning_all/build.py | 27 +++++++++++++++++- .../tests/__pycache__/__init__.cpython-36.pyc | Bin 0 -> 181 bytes .../test_q02_data_cleaning.cpython-36.pyc | Bin 0 -> 3403 bytes 5 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 q02_data_cleaning_all/__pycache__/__init__.cpython-36.pyc create mode 100644 q02_data_cleaning_all/__pycache__/build.cpython-36.pyc create mode 100644 q02_data_cleaning_all/tests/__pycache__/__init__.cpython-36.pyc create mode 100644 q02_data_cleaning_all/tests/__pycache__/test_q02_data_cleaning.cpython-36.pyc diff --git a/q02_data_cleaning_all/__pycache__/__init__.cpython-36.pyc b/q02_data_cleaning_all/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a281e5e94dc2f496d4128aafbf79c811383c497a GIT binary patch literal 175 zcmYL?F$w}P5Jj_KA;KQS#?iGE@dP#&77D|V3~SsZvnH|dNM6PR*m{et%ogH@_xSwg zuj_iIhu2A!d`A6Jm9i_ONs&&5j&35VpH}`fq1vXE(bcdti|eiZqv*BwQmxltm;G>?M&B49IfYo{4+iKWlrU zOw@B4a^SG9fy68D5Qwv{oc0ws0OcM30sTIaj(<*7fmOQE2r4<^~y=G~Z6q;&LHLsa^`!Q#h%~Zo` z+G@dNVP#X(WnC!2YQd+4dF_&~y!*-N6^84sG7yE=e9K|PFdo4$zksj+jR!ou4A!{A zCGHT97Wf!>(6A2vS#P!bh!1$|L+2UK7x6lHbGr*p(f23o(C;`#CCpt2bF@KxhYv3U zj4mEOM;$5$Kr(t4fZTr<%!6aJj;>h`ddtAZUDOTui0|?7W%OONj@QXLU1#3f#a+^+ zT{e$_&KqYgJY#1rsvz`9;6{}+M%D`oJS~MGsR3@SSgc&`33*sG%i5CoOHp&7N%A$* zS_)3`Q_*@;Z4KFdD%6~QQMIaBfot3oxjjgq30;xVBTu@ekEOAVUOn^Kl69+CA#?(C zE?_|W?SW2Vngk@&rxZm3z!n~E9>sILBkruY1&L`N{Wa4xOO0CH{Sjjmh_HKJ+; z;Wb>iNUEmLq2Hgotk1u%1d>Up73vuvX#wA*MWbBk1%Bc1$|WyoUtul=1&YiitM>*_ z!0e=N{(Wd$Z?_J~u4{HY)%Cl-vShmIYMeLJJ@o%C6N-DGEEg zxO0zsG_cm;pG7I!bedrw(LKIpjON_m69)~{}b!<;?7_s{n`5fd#S`{KF#J9h%x>Ir_hJK2RTU4!}Q>9kym_R literal 0 HcmV?d00001 diff --git a/q02_data_cleaning_all/build.py b/q02_data_cleaning_all/build.py index b56e2bc..5b96382 100644 --- a/q02_data_cleaning_all/build.py +++ b/q02_data_cleaning_all/build.py @@ -1,14 +1,39 @@ +# %load q02_data_cleaning_all/build.py # Default Imports import sys, os sys.path.append(os.path.dirname(os.path.dirname(os.path.dirname('__file__')))) import pandas as pd import numpy as np from sklearn.model_selection import train_test_split +from sklearn.preprocessing import Imputer from greyatomlib.logistic_regression_project.q01_outlier_removal.build import outlier_removal loan_data = pd.read_csv('data/loan_prediction_uncleaned.csv') loan_data = loan_data.drop('Loan_ID', 1) loan_data = outlier_removal(loan_data) - +np.random.seed(9) # Write your solution here : +def data_cleaning(loan_data): + #Computing mean of the numerical variable + impu_mean = Imputer(missing_values = 'NaN', strategy='mean') + impu_mean.fit(loan_data[['LoanAmount']]) + loan_data[['LoanAmount']] = impu_mean.transform(loan_data[['LoanAmount']]) + + #Computing mode of the categorical variable + cate_col = ['Gender', 'Married', 'Dependents', 'Self_Employed', 'Loan_Amount_Term', 'Credit_History'] + for col in cate_col: + loan_data['LoanAmount'].fillna(loan_data[col].mode(), inplace = True) + + #seperate the features and target variable + X = loan_data.iloc[:,:-1] + y = loan_data.iloc[:,-1] + + #train test split + X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.25, random_state = 9) + return X, y, X_train, X_test, y_train, y_test +data_cleaning(loan_data) + + + + diff --git a/q02_data_cleaning_all/tests/__pycache__/__init__.cpython-36.pyc b/q02_data_cleaning_all/tests/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..bbe9834996623af451cde4fa4b04777fd8087708 GIT binary patch literal 181 zcmYL?F%H5o5Ck2G0wLugG#rE$Azna3K|ygc_9>XyzTh(jPvSE?fRf4rxg!1nHGJAO++eF1qk BGTHzD literal 0 HcmV?d00001 diff --git a/q02_data_cleaning_all/tests/__pycache__/test_q02_data_cleaning.cpython-36.pyc b/q02_data_cleaning_all/tests/__pycache__/test_q02_data_cleaning.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..fa680c1e0554e800c164152debbcbba64ae69451 GIT binary patch literal 3403 zcmd6p&2HO95P-QPMN+^1iQ~jg+AwJyKt(FW?x8JE6e*H4Fc7#v)1U!cfMK{Rg$jS< z-K9|p=}CEtzCmB653tvs{0cdBhO{kNcKy>_Oo21Y8L^pEyb82UT8XX1_UxkHik+nDRf)#PphoQp z@#?HTXi$e%Cpxq%tX}llsDHD(rq}WoyhU%xTV@M`D-&(7GPpX?yj8Y1^K|WrMr*YG zPNQ{ZObqWjCC{{WV-NPHZMTVXer7^G3cX!V)w<#8PFz8JD_d9MWpGK^;3N;Cl&`=OzlvfN#WfVy zLHq~1yJxdQvv^)+;eGvo;Gv<*Nsqj^C^z>kZg=L0ZC;$%C1o|5vQieLlZXjrJuCES zk#-ib(cKRwHoBa|?9s8ac?*2yE{YF0oBL)zpW}A%v$=2Ra?-P4caR;XLC4Pp@2sRy zTJ6lSyLeJ4?QFN}%JKaavX<|wn(rqW&0}mgd>^Z=@(o|WPrig=4aE%%XkmrGv24UAu?WH;PQ|eu^Way!ZLfJ&nTQKo%E{A67Vxm_^uC8;Z4}5XiKADY zQ);-*&ixI4t}5@m%A=TatcX;lY!?-!9i>=|%c9cp9L@sjW8qyb>T)aup^E0&kl%!v z9McHLM9i_I;rJiPKLg=ekw~GmS5{eDDI-WnUhSu%%J8Ajt54e-g|8n+a literal 0 HcmV?d00001 From b1edbb71b2a7b2d7a3215c57126ec9c3eaf0f351 Mon Sep 17 00:00:00 2001 From: makrand12 Date: Tue, 23 Oct 2018 11:10:45 +0000 Subject: [PATCH 3/4] Done --- .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 177 bytes .../__pycache__/build.cpython-36.pyc | Bin 0 -> 967 bytes q02_data_cleaning_all_2/build.py | 11 +++++++++++ .../tests/__pycache__/__init__.cpython-36.pyc | Bin 0 -> 183 bytes .../q02_test_data_cleaning_2.cpython-36.pyc | Bin 0 -> 4758 bytes 5 files changed, 11 insertions(+) create mode 100644 q02_data_cleaning_all_2/__pycache__/__init__.cpython-36.pyc create mode 100644 q02_data_cleaning_all_2/__pycache__/build.cpython-36.pyc create mode 100644 q02_data_cleaning_all_2/tests/__pycache__/__init__.cpython-36.pyc create mode 100644 q02_data_cleaning_all_2/tests/__pycache__/q02_test_data_cleaning_2.cpython-36.pyc diff --git a/q02_data_cleaning_all_2/__pycache__/__init__.cpython-36.pyc b/q02_data_cleaning_all_2/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b3841747800f249a3d6a03866470e94f2be1232d GIT binary patch literal 177 zcmYL?F$w}P5Jj_KA;KQS#?iGE@dP#&7J|c&3~SsZvnH|dNM6PR*m{et%ogH@_xSwg zuj_iIhu2A!d`A6Jm9i_ONs&Bft>JKm1Jsi3}@sxbus literal 0 HcmV?d00001 diff --git a/q02_data_cleaning_all_2/__pycache__/build.cpython-36.pyc b/q02_data_cleaning_all_2/__pycache__/build.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3f7a33251df68fdfd02793c5b641a14b9ff58ab9 GIT binary patch literal 967 zcma)5O>fgM7`9XAqg}hUV}Q7F>!o4cbwW(zG70Sh5|f7%d9hcLIdNtulZvuax$a+Z z;n#5Yl>^#e;Kb`N(1sAgR-X66@26j9cQhJ&!e36l^$_}s?yLa#7x0-HfFq72qPU|T z?E&>9DSYZX9Ri+j%=V#bCK52 zO_)KQ4HtC0UsW;JsVc;qnP<}=a{A?Ej! z_&pR77wlZKlJ6|yw@ROzilrh>6&G;jOGufeFo~rW#<***v~r!r7ta>Sy~!m^%489r zHkst}YGudwPZwi1gCPLI+jtB11h#$*@@&fn6%@dX-UQM5Wm8lu?QHD8XP) o2M-*$HoH5&1CKywqrF1$MvCVyws8&-j_?o{DFkdFvt|WEAALq#^pE#+(}}wW-j45DFkjze BGi?9> literal 0 HcmV?d00001 diff --git a/q02_data_cleaning_all_2/tests/__pycache__/q02_test_data_cleaning_2.cpython-36.pyc b/q02_data_cleaning_all_2/tests/__pycache__/q02_test_data_cleaning_2.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f0805cb636890b81bcf00e51e09c04410c1768fd GIT binary patch literal 4758 zcmd5=ORv*L6!zFo;ymyB!i54ZEzndnA)yaSp#lL#NL5;uRv;J2n9SUZgJXvo2Q?90 zg-!oKSKar|R9(-utNaC4J;zRRo!i{>Ca@ru&zy|MpJ%=~kD0k#EasZ8|N8llqN4nx zBz|eoZ@?}720;}{JjEhVs-D``ER85sqq?WJQ&tLeg{Hi8J7Z-cJ?$Cotd))QjF)TY ztvpc}X%(n3AXbqTTP2#Mxq%9LmKCGA43>}5){3=ity$~VhPBC3Y>ln64YoPZAL*0Y zHJaa1T3Z9f+GcCCFw&2)^@)BQ^l_V=y9zDR(kq3Qm^RR?6O`On$}2+{mC`5^Y5d4U zc*_xNs6q`?tWYO(?54*Y-}U$GI#d;>s<2Ja4Lz4}o3nQC!ttQ0w8z5TuID*?Pjpzb ze-_`VdV%BH9nPrR4Bf!DyM6@BXr(D$Seb9}@x9wa0-v@Dw^@hzl=-2sYu3j1Jm@eU z_UxOSIrdNdiQ_l1)8ij@_Xga;1Hq!nu~bT^`bx1hoE#{1nxbhaQ#3;jDAPzglo^_* z1t^V}8Y@dz=qmir(KWgbWu9)(O(+X=i*7?%q{rxSC`)t)$U7l7khI&=JT-9;_`{AF zaNmMk)Io$wNCxCr@=|H3q4ttcvZD;3qtMC3|6O%k8K7M$@Cm)a5pJl1=%2as3osfo zY67|4HWFl>qZiG)?hEFFR@Qk2+Hq_w^NtWe+nwiK$CH}J{IV)_!Mt6mh_dH z*pBDf^=b&Di0CP52b$C?ot`{B>w!HP)duuT;3yQ$ApQCbk}LB8rse>FqB%GXN^%b3 z89-m2@U1n58no(vIiZ@eU8n1XCRlfu36lnef7G-UJ5_lf4$|{GL zqVN(5uD)W=KCqKgR2i^i9naY zS(ceCWM%-Le`99&IY5!Q2{E;0f>>fiwJ!i~OwGapED5wEH^T?efgvsi-x4=Q6uzNn zhcI(~UU(l32psilf|sj{2KIfJWm)0K3g)c0#7cI|%3%gGH_+^lr*=KT%fdk>fis&J zOx$shX{l6CgqKuf_&Yigt{MB6roxMO>cB#5Zghba=Vf@2V;mTT82%pUG8Mgih^3V0 zSxWRGuB9+}-vF$!6J1}_Sf-E`r{y>Jb~Lc1XhHX%qGby!J_B(GDRWmxlc9hEMN8{Z z%w0IJB!L>`6=~SE4~t;imO0yQ2ej*Qz+g?@d1hpC_YAk zsgh&B;h&?pf?|IW9cj1~;aL#ta0^^D8pKG$m5Q#kp^dMoRr#cqj@SHAdY4AmcSAHD zj^mf9CtcU0(I(Wo1$)Mx69#S1eNvgTm8{I%N>*Z|6rfr+kB(Hc51dMjaB%rAGp>)v z5@EDSvkW*=pf(;sWTO)b+|9ya0h~BU@=%gq Date: Tue, 23 Oct 2018 11:20:07 +0000 Subject: [PATCH 4/4] Done --- .../__pycache__/__init__.cpython-36.pyc | Bin 0 -> 177 bytes .../__pycache__/build.cpython-36.pyc | Bin 0 -> 1237 bytes q03_logistic_regression/build.py | 12 ++++++++++++ .../tests/__pycache__/__init__.cpython-36.pyc | Bin 0 -> 183 bytes .../test_q03_logistic_regression.cpython-36.pyc | Bin 0 -> 2297 bytes 5 files changed, 12 insertions(+) create mode 100644 q03_logistic_regression/__pycache__/__init__.cpython-36.pyc create mode 100644 q03_logistic_regression/__pycache__/build.cpython-36.pyc create mode 100644 q03_logistic_regression/tests/__pycache__/__init__.cpython-36.pyc create mode 100644 q03_logistic_regression/tests/__pycache__/test_q03_logistic_regression.cpython-36.pyc diff --git a/q03_logistic_regression/__pycache__/__init__.cpython-36.pyc b/q03_logistic_regression/__pycache__/__init__.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..fec288a9538593224b79fc45777e3b9192a5e468 GIT binary patch literal 177 zcmXr!<>gBLbuO9#2p)q77+?f49Dul(1xTbY1T$zd`mJOr0tq9CUvc^w`MIh3xry0D ziFql8M*89TMcKs#iOH$@$@wX%`Z@XOnZ+fU$?-+0=|!o<#hLke@dZWsS*gh-`h^C@ j@mS>bDtfe(xnsEPWgpSy;S2i2{II@4PG6eOW()2SG(k$q_IM*{;%0??-b&iIjVy*HOEf4E z?y$~enbv8ev;o&yr{bFCdFJ62yo$THhu82rYqKuvu{E|{x@Yc!rA^xUXyFaE@z)EP z(6QBT-$32gQ6K50V?|O*Bt4D@XA+pzLotqX6-RH_Sh75iMGEY4B+`qi`4J{W$@o2R z9WhlrW-^p45!ZwR)uu#|Fyf4)aXL14?h)bW!&5^HxgcqnNk-#HnV8eG`VXUnD8JVJ zp>ZF)yg^W91mahp0BjA;KAikD7-f~#+%4P*DxfWDQ)ldKStUZ2vZ+gJpU}Kk)Qq>V zOB-2$odT6;?kTr$3a_;1e&K^0-jVL?Wf_knlB$C=5((2Q`+_{68m6qhL`+k4Q-}P} zUQ2>{A_;Rv6zkWd4YYPHVkI4e{M#0#>7gHJ|0GnB#HscGuv}?>wjcl)!pmU}L}E7) zlxuHRiKOi)`E1Ee2=eoE_zub&Cgjqj-Wd(w3VE4lBx1uzPzK8Wo*oQkF+PYPCM;6J ztL@$J5&!Uf8gn|xX1e=`w+mVGB`_B9P!Baw3r+*cC&2VKwU?Rw$+ewPyp~_WgBLbuO9#2p)q77+?f49Dul(1xTbY1T$zd`mJOr0tq9CUn%+-`MIh3xry0D ziFql8M*89TMcKs#iOH$@$@wX%`Z@XOnZ+fU$?-+0=|!o<#hLke@dZWsS*gh-`h^C@ p@mS>bOHzwViuL2;GxIV_;^XxSDsOSv zg4pPu+&{CwvDX3n0ean2{z9L2Cnb*ECg{3J;PG^%j=b+a9v^l(t@zzvzx?T0*5B6L z1K-wTX!;Kj+~P!9lvKS@06*dOTZ=l} z;V$$pZ*UL#25)j7dXFzbz^!rv13mh1lQFJ>4?6du?L*UhAdF?ml>A2CSVP-5ZwM!w z))W?lh339b>~(AEU?yQ1_gJC33m3%XtAle0*$5s$^hGK%ql0a}6Fg1ML1rWQN*A&F-BPPC?cI6*Ri27|%3dp$@!h@t&$)W7M=Tco zIOhV8{U8efbUuWA^iLl=jBXh38vsUEGP-3-Z!|8qaN14(N3-be!VWctZaF@gd~*xn zy^lLu$O$^Ea`Gi8^Es(Af~RkWzjJ)yz^uum8T4G7utJ&us9Fde@I1(J6Qs<>MBMtw z6O8i$h$}89LO}?&b=W9ZYoZ?N!%Q2N#iF$1v}{y=)8^&xrHku?q=xQ2)WTa)tM?RD zRRW&*NQ>BH^5m28d*9;%jx%Ph&u|>tQ>gBXjQSNuC%ZEk7l7kAkO~=9b7_7I zn1uXM=)81Nc76*S+aH6YqV5)W(O9A^GWqVm!cciS4x6PPMHx#)6qT(gN^@RF)Z0;n z<)FlH{kUuYxp_!Mo^}hF6|Llcos^($P$AQ zD-4G2!(B0ECQoJZvUfvqx+-41(+7JsFRreqh)LOdStODxJo5D5e|d`bE`1><=#zi% zYd3oDLcH|Tz+fBo{;C4sOftLyO;ui~uLR=}-gZmXWr&oAt4rmhk~}NPm^Pn9MzJKL u9w-18ZH})Dpdfz8s|x0uvQqlr)@l77Vb+*DNDXPvy)DpvvPRZP*Zv2X{g*EQ literal 0 HcmV?d00001