From b1b00cee3f724bb7c26c3d7d923d5ec6202cceea Mon Sep 17 00:00:00 2001 From: Edric Milaret Date: Wed, 3 Feb 2016 14:10:05 -0500 Subject: [PATCH] settings: fix ringtone selection - Move ringtone selection to account detail where it belongs - Use the selection model of ringtone model - Fix ring ringtones install path - Remove copy of ringtones in client git Tuleap: #340 Change-Id: I75dd1205fd53d13db73b756b642bbe8c8487ba67 --- RingWinClient.pro | 3 +-- accountdetails.cpp | 20 ++++++++++++++++ accountdetails.h | 4 ++++ accountdetails.ui | 51 +++++++++++++++++++++++++++++++++++++---- configurationwidget.cpp | 1 - configurationwidget.ui | 39 ------------------------------- ringtones/konga.ul | 11 --------- utils.cpp | 2 +- 8 files changed, 73 insertions(+), 58 deletions(-) delete mode 100644 ringtones/konga.ul diff --git a/RingWinClient.pro b/RingWinClient.pro index 3d1f2f3..ab7bd13 100644 --- a/RingWinClient.pro +++ b/RingWinClient.pro @@ -166,12 +166,11 @@ INSTALLS += QM_FILES DISTFILES += \ License.rtf \ - ringtones/konga.ul \ ring.nsi win32 { - RINGTONES.files = ringtones + RINGTONES.files = $${RING}/share/ring/ringtones RINGTONES.path = $$OUT_PWD/release PACKAGING.files = ring.nsi images/ring.ico diff --git a/accountdetails.cpp b/accountdetails.cpp index 2c163e7..850d632 100644 --- a/accountdetails.cpp +++ b/accountdetails.cpp @@ -28,6 +28,7 @@ #include "protocolmodel.h" #include "certificate.h" #include "ciphermodel.h" +#include "ringtonemodel.h" AccountDetails::AccountDetails(QWidget *parent) : QWidget(parent), @@ -148,6 +149,11 @@ AccountDetails::setAccount(Account* currentAccount) { }); ui->cipherListView->setModel(currentAccount_->cipherModel()); + + disconnect(ui->ringtonesBox); + ui->ringtonesBox->setModel(&RingtoneModel::instance()); + ui->ringtonesBox->setCurrentIndex(RingtoneModel::instance().selectionModel(currentAccount_)->currentIndex().row()); + connect(ui->ringtonesBox, SIGNAL(currentIndexChanged(int)), this, SLOT(ringtonesBoxCurrentIndexChanged(int))); } void @@ -207,3 +213,17 @@ AccountDetails::videoCodecSelectionChanged(const QItemSelection& selected, auto idx = codecModel_->videoCodecs()->mapToSource(selected.indexes().at(0)); codecModel_->selectionModel()->setCurrentIndex(idx, QItemSelectionModel::ClearAndSelect); } + +void +AccountDetails::ringtonesBoxCurrentIndexChanged(int index) +{ + RingtoneModel::instance().selectionModel(currentAccount_)->setCurrentIndex( + RingtoneModel::instance().index(index, 0), QItemSelectionModel::ClearAndSelect); +} + +void +AccountDetails::on_playButton_clicked() +{ + RingtoneModel::instance().play(RingtoneModel::instance().index( + ui->ringtonesBox->currentIndex(), 0)); +} diff --git a/accountdetails.h b/accountdetails.h index 88a08c3..3966453 100644 --- a/accountdetails.h +++ b/accountdetails.h @@ -54,6 +54,10 @@ private slots: private slots: void onCertButtonClicked(); + void ringtonesBoxCurrentIndexChanged(int index); + + void on_playButton_clicked(); + private: Ui::AccountDetails *ui; CodecModel* codecModel_; diff --git a/accountdetails.ui b/accountdetails.ui index 90c670b..9d4ef43 100644 --- a/accountdetails.ui +++ b/accountdetails.ui @@ -55,8 +55,8 @@ 0 0 - 746 - 646 + 733 + 668 @@ -140,7 +140,7 @@ - + 5 @@ -413,6 +413,49 @@ + + + + + 75 + true + + + + Ringtone Selection + + + + + + + 0 + + + + + + + + Play + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + @@ -1910,7 +1953,7 @@ - + diff --git a/configurationwidget.cpp b/configurationwidget.cpp index 2a21b6b..e215a03 100644 --- a/configurationwidget.cpp +++ b/configurationwidget.cpp @@ -70,7 +70,6 @@ ConfigurationWidget::ConfigurationWidget(QWidget *parent) : ui->accountTypeBox->setModel(accountModel_->protocolModel()); ui->startupBox->setChecked(Utils::CheckStartupLink()); - ui->ringtonesBox->setModel(&RingtoneModel::instance()); ui->historyDaySettingsSpinBox->setValue( CategorizedHistoryModel::instance().historyLimit()); ui->closeOrMinCheckBox->setChecked(settings_.value( diff --git a/configurationwidget.ui b/configurationwidget.ui index 1be71ad..1ccd917 100644 --- a/configurationwidget.ui +++ b/configurationwidget.ui @@ -107,45 +107,6 @@ - - - - - 75 - true - - - - Ringtones Selection - - - - - - - 0 - - - - - - - - Qt::Horizontal - - - QSizePolicy::MinimumExpanding - - - - 20 - 20 - - - - - - diff --git a/ringtones/konga.ul b/ringtones/konga.ul deleted file mode 100644 index 2191150..0000000 --- a/ringtones/konga.ul +++ /dev/null @@ -1,11 +0,0 @@ -~~~~~~}~{|~u}w~z~ziukizrj޽  -I/$%  $5Ȭ "A/hnѡPD? ;MHů;1!"#.cLGZ<%.=ϾO0,,%'/Cཱུ\7.$"$))+,//58AA<2//4;>>=6/*'""$*,.+&"!#(++--+++*-.3>QSndf\D91//.)'*.26BA84.0/5;<41;>BEAOp˼qѾȻeXL>B]OD;36//153/00,)).N]SNNTVTID@GKOFbFD??=<>FO`nJCCENLGbmWJ>EIWWX[`L=>:9<=Mr¿̻LK\_SGE@GF_ürW`Z<77AMo`REOkcbf@?FJOMKRPN^`e}YXgpNF:7>FGGDTuɾe\vh__\RSE?:9=::=U{^gi\m]ZjVM]dNLSloYJGIUR]unkʼMJA<;=EMY\JG?@GFMaĽNKFIPV^zne]tl^dkbUKD>?IR[ZY`ov}tviXU^mÿd\iprX]\XPK??>>===??CJSghou^sy[W_gVWY[\n˾YOqjXUZ^QHDHIKNdnivb\a~YZWX~_YW_dfWSczrk\dqv`]_geo{bVQOLKO_j^WSNDCJKMJMSsTMGHlq]Xl\WZTKGGJJKLNMPRLNVVOJJORU\ſpm]SXXZWNMOX\_e`ZXajcZSOQ_kWQKMQOPR_da^Z_m_XOMMRZYZk{inxj]ds}yrjd]cdaTTKE>ACGKS[UOO[mzc\Z_z`YMLU[ksVMFHGHIMPYi|ojUOLNQOJKLKLR]c]VUSVTW[etxhiqy؜407=>LS5JU( ')1;$& 03˟L!#,.6-$NM.*8ì0!:&$'GD))7K9ϫL(&*+8ӾH>6-3HK:)#%0r0$#$1q?&$.=M﫠?-,+->ƫȪH/.:Ͷv.-:lI-.78IƹPE7469==61/358Ga~?/$$+5XϻYC<=T޼ORTuϿ]@?J_ƼC:55;99IohdK@FFLYlO9568;;FZ̾QGDEI߿þf¾jUM\ʽYOQTR½wMINZ91..28QU<-.07QQB9<>EhUJ?9=bµ<89=øeOJD\fh`UjļNHJKX¼KC87:MjKBFBLRTL>?D]vDB>>BOŽJ;78;I忲K<CN\hga]_O_[KIM^gIMKK\Ƚ`^lmlɽ_HHNlgOMDE\ndvfnxWH?=7103EUcMCDJWZf_bapk|fgK?=DL_=4:=FOYOSQqټ˼ƿX5--5ALǽk_D1+('(,6?KILG?;;;99:<=><;?ADPay^XID>=Lc½ĺey~žo]PQ[}tC<78:=S'# - 8N $RE50m& /-FTU(&#ҦP3<)$*\Z08:C()/+ />*,%$A鷲Si۬za/*3<=,!(318ZU]UK@/..23))$ !&# %# "%=ͽnY]imϴ·l9=H?=Yо¹jLA<==IYnIoUA>@>?[LOUUrgdOK?KMlKS>=D[F;?;?c\ZǺٿpƿIOCSwN91-@_osGX@:7;=:;:PFKERg]J>ʹ~LMb\\X^W|XbW`TNYiWU`kLJ?768O;MDB5,*$!"'0>@KiμŷY>:64;:7779:==><;@@AAFo\zxfYQLKISOU_{{ddZUhvdZNK?NqoldMLY\ZzRNLHLN_ZOHFMOfONINRVLFIMSyh`nl_[F?ALYusenxgRik_ZlvklûǾ[\[hcJKTQMRRyucZUURKKPq_cu_Wk\LJTnxUaƾ{|mqozOMR[Rcn[KFBFMOMLSY`^]][SJIM]op~~ȿ_Zds{[clONMWkWTWfw_^YZTUT[Z|q]\gZIIP^W^]ZQNNULPY]pp]VZiz{zhypyma__WUNP[mrzn^[neSKQW_b\VNMIGIRTPPJHKPNJJO_SPS[XUPQU[Z`iknm`VYYellf]_`eZZ]ZjRNMKLNTVagf^c_nx_Za_pvjdkkztnx|b_m|e_jeb^VKIIKLMLMU][kmjjdzbftrb[]\XYTOORRRONMMPT\geiq}m\S]ir{^WX]tolj`ZVWWVPQ[_\[agai|}{ytecXVQPSSV[_YW[_][]jpwzomhssveYZTMOTWYY^k{zjfca\VXVSVVVWWYXRZ_YXTWZ[Z\_hklsnkc]_binsxjnpnh``eovjb]XX\bihgoe_c`iqkhdcoux~}z{oeklm`]Z[[^bb_b^VTXZX[eb_^uuvyklyk^YTX\kyjc^WXXWZ]]`kyxxrjysmmxœ2/LV:;$ 60) - -#ɶ! - #3їf&8F<+&6ʷ0*:/]$"'*:JϬTFɬ?E-'<8RQ4.&-79Ǭ@+#"/E챞B.=B8Ȝ/97%)<ȪU/*(,=VSH>^U:37/-,05-,-/,.8O>@˲ON:BOENúX?6/,+3XϽ[PF޾GBce.+=W𿭧D;436=X{SLFC852((/:ȱX<--;FmyŴi9/..9Oī{+*+2FϼoLB@58Aį5)!$3MȸU:.-..03@_hF:-.6N̽JE?89=\ļn_>>N÷kLC?GRd=>HQsŹνk<47AlɹMFEV^86=DSC4<CUƸ]JCNڷJ84=nY9..9Zo<9?EJ_pMA;5:QϼI?<9HtjB:/.9WƼVG=;ALngPcȼzC>;EjSLILKI`KHNvbE=9;FA55FbM5,*0>˹OI[klR>;>JvϺ^A38=BԼJ:L㾾VB426;R۽ND>EoſO=98=L]żZXS\oVQRIEFMt¾ZB>K^L768C_tGD==??Mt\E>?@@D\PF>?FLYl^XY@87?LžTLFHR\eSMS`wuqJ?:?IƾO>65?Nlx`D=>Bj¼D@CNTJGMe[XPc^KJIKO_VNMSRP\peVMN[{~_^_SMSiļtIFM[}zmlbUURbmYOLOcm^SOMZZmzeYfZGBFMOZnf\POKP[YSJMfOJHN_lsaQMUpkVPSVgovZSQRVWhjXTMKOMWo|oYTOQX`lh^[_kxhn^OMVi{SWh[VU_|VNJLTkona\\]i{_\]ieZZdredYSQ\hk}vigc[NN`h[ZckTOKViclkcNN[cleszePV_hoi\`kjoicP^\WYU]Xodޮ +/"2  >6 kNO'*' 0$'2E:8i˽eO7CgƼl¾󹹬ŽQOgf7.=<>[KE0(*+?V??GC@N|Ŀzúμ׿ڿe_XbW?@F\YmpQhwnA;?@C551//:CLINBK=C@;BEYh;Hfx>98GZUĽƽueoII?JwhYNNgcQ`T[hICIMzo[GF=HIIYiSHR^TH227O`[\]OuvYJEONYT[ozoOYQ]^]ɺĺfWOLA@78473765<;>@BB?[Kƿ¸ɻWZKBJ>EKMGCB69ENQKCBRan¼¾]YP]e[G?@JLGjI?:AOy`hwmy]n]`mݿ`ŻZ[NB>ORaNF>78;DED?@HDIKNyt»ľþp[INSNLAGDCHNZh[XaTURgwYV[k|blYO^g{s\SS[^^XRONPac^YNVMT\dyq[fǿyhubZ^_l_f^cpZMGLKNPWXJGNZYveykrr]_od_hofr_a[_k`d\[NMVoidnzljywl_TQU[jpq_W\TYWYYW[OPX_vsppvqjkp`bcjf`YMONKMT]TLIHSV]YUWez~^Z^jYY_ZY\[_YT[WYXYd\gbfgWgyndmshh^^]tqmt`ZZOTT[]PPKVXZclrkjͥICLI,&$$&$ܭZF~ô4$ "$'-&$)6=ũ]-))2浤L('*54)06ֽL/ (/N괶.#%%5èN*+/AC,)):Oj<3GE. $'7KbGLHC㻵JB;00<ȬYKO>58=Qjuí:,()),:u̹EE\ɾX1-1;>/1IίH6<>=qؿTF>89BOTM@<>FMb¼F/%&5OwH;=Rپa?0./9c]PC>BJ`ZFG\½f@>K绯d<867:DȺbiUA;@UQIBGlW?619PǾKJNX`bMRTznKFJVžvJLD?ESs]XWWE=>?GaǸM@>:<>GdpXMAFLXʿ]`OF>CMch\NIV|LHLUWTU]nVV\WWrL=8:Hl`THFKSb\QLLh^IDDKTd]OJFELW~ZLIIFLVmKGGJYlx[MLMVk|eSMO\mof^[[\d_NFIL[uVEAAGQVemjURNLOT_\QPTmzmljomcVOIHN[gROKIMVaVVYVj^OHISgo]V[lkccfkmZTNOYjr[TQVZovvf]PMQWki[POQUZgxlmmgfadt[TOT^oc`_[ZjkZTUV_hmXRPS^c|ohc``_i}ia[Z_lwhj__^_djwga[_v}nooh^\]]]_xwcUOMOUan|utsnfjg^[[ekdbejt|qlfb^_dmnhnd[Z^ywz{jd^^mi^_^TWcr{s~viihftnfpm^daƵfm  !Tn.*'./*"+,%')/B<&P- *8;PC50)""IļB2*%)Fg6)(7iU>-'+-( &-/IN>+% $&)%&&)+.:ر[<-()*)-47*!#&/63*%!$!!! #'4Enǿʹ_sK=,% #""!!(-9HU_NKXWVKMZǰʿcI::40///+(&""(/250***+-../3364303/.39743.1:=Wt~~HSeGB@ERQY^V^NQLWSkw_O\REFF:1102029:<=FUUID@=<>>CYXw\MTȻȽ¹ĻǾ|S:658>CDHEGMG==KPONMTxhA95467<>ArŻǼTL`ŽWKLQX~nKFJKMGCKMHJACUnb\TY^VE<;98AAPfǽcIIi~TNMMWǿh[M>=>NxlpVQFKYVZm]JGECA?DBACPYk\OQg}ZKC>CMPUYedwƽu_rϽd^uaUNPKEC@>>><99?\w_f_PSSXYbrb_cYRWowdPNSj|r~XOKECAFEOSQLE>=CBDDBCLNbjYNKKTZbrus``|f\MEDJMWd`^oyoq]VZciƿ^XQ^kn^RRPPNLFFJIA??@??HL\avm[_ne]go|sWOR^jngZVOSYXTRVTMMTZ\YOOMU\lwt_TV^uf_ipoytvztdUTONWbvlWXOJJNNONPYccfWJGGKpxuwcYY[pwc[`VOSSU[]\acee[^_\VXXW]_ikjjdX]efi]SPQR\e`\ZZ_^YUPS[ur^SROQVVXX]][[\nzkf[Z\]b`r^XZ^bkolhn{|eYWNEDEFJQ_Z[\p}vh``_}whqzg^USZhxn_RURQUW[jvlnyrn]VTUSROKLMNU]hpwg\\^ZZkvto~kuuzϯU4),O@* ȱZ6+$5%! 7m.'2f!D"@8-O$$Qâ^:1,(9K)98  `R( *CB]!*E˪0!(M/"*=V&%(+E8,$")+'" %)3LW! 2¼xN+%*;K.+4OȲȾR-,<ʩo(4[@;-+,&(*))5^:'# 'WǹHOʺýűYE8:Zǽ]>:8?>1%! %*7A|5&%,38>?NYD=98JժVJ8/:?SŶ:=1,&(9JɿK?80,2GWZ8/5C^g:.244>Žn?JFCMZɼ?3-?嶫x[YaUODLS^UK>GZVA=L]?%+@ӻM.+),=H[\νD::EKH88?Kȯ922=λbVt˽@=@GD=>aͿeN<.&$&-:?Uo̾zSFFUzL:8>kȿvB=?9=cܼ[MYLIO^ҹ?/0:I̽WC97>xbOE>4,)*8BTn»E,&#).4CXZIHFGKMλKBBMH825K7,())*7;BB:-$"6T;;=<760+%$)*8ZCFմɽ̼I/,*+.3CM[>/+**/57>>92.035:>A0,('$'+18DIR|G3'"!#'-:>KI=AADOoþķzG?<958DU`D4.,-279::;??;941/1;943568>VtL><;>Nzʽǿ^NLSTo{YMMRSH?;6788?HHDFB<7/-04;8:=FKMXZjxoǻgUUW[cziWB=98=DECBC<;@EACEEDDFFMMYmt}xufZXZ\TOZyk¿XR_yszZ]acZPOHDA?DHQ]ŴLOsXx.))'')3,(*23///QʰϷTU}@62211666=NºU@?>BƵd=<;80.7E_V>81/339:BLf^Vlo_f˻ǾjXVb]M>=96;>EJUk˿L?@XԾm_^RD>BDA@=<<)"$*&$&%-::gϺI4%$&(#$%& (.?CE::VCA0,2451,-#% "&%)1*-=FT=/3߲deIJBA;LBFWHVzyi=:/3+)7:<:?1313:49FUR=9:49Gŷ̼kwɭW;.4I?GKMND:3EA9]5G=7ceZUXHgijW^WPCoI@4(3/.342/SQL\;807BVB׾Ke_EHB?8*!#,2/$-&(*,,+6ǹ˯sPX7CH:;>7-+&,'*,2CIDE>1.,11C`\OBDO]yjƼWLXNK^OOIM?60,--4=KLNEIJLSNU]QzɾÿþoeO_NW]SRE;533266=@TW`}cHGFZ~Tb_qb]MA@CEFBBEJKFKVQ|YEPUȺghXVKHHDE?;24=BK_>:>EdXSfɴUJKRÿVQSXSEE[ll[KCEFOT_MNYY}_{}ok^LGJHIBHTROan[SVi\Xc\mUOOKLRQLVZ[]c|exe[KGIG]mi]okrcMNdnabdvfgu|nc`^g^ankbo}jxaXUZSX|uqi]neUohc^XKILU^afiPLDCN[_RYj``ght^aZXNTLGE>?EHV\f~VROO]lhu|wm`nq_g_\KKKDEHJEBDEQ_jmc^ytϿceo_MMKIGMMLIKKIMOSNLQZ_mf޿ʹ"+-*.+Jʦ/%+,*$#*4( ('$ (9i-($*=ENΧEBK9,  &>|nlѿe?Kݻn?9473553*#!&*+**,-.45504:>=>GuɽebJNTWUMA846=FKLF=3-)'$$'),*,+)''*4?FI?HSiſȽk_OJ>8>M]dO@@C??FRVW^B:9:?IS__K;69=M\_OUMRYI=9AAJKK?=968>>?@HM[dcgYH:97:@CWtj_^l^»;fH@@FMLKIDB??>AEXg{fp_QGCCKPSWSW^UI=99??H_k]fmjZMIGGDDKNOYYb[Y[VVZOIHHKLGC@@FMPkNJGBCDJL]nfdb]W^WLLRZ¾lnnw~c~|gWOOR__YVXQLLE?BEJNYWTPLIJMN^akemo{Ƽhjwvk}|jRNNONKKJKOQv|oeVQOQ_t_RNSSVTNJKMOQRUVSSORQUZfaWSOLMR_}fNJHHIKLLJFFFA@BHPXaUUcfj`ooihi~o_Ykp~icaWUX^ZZ^^ZYSNLMLHDFIKRU]^svk`[[qf]\Y[fye_ZZbiimifd^_]]a^YX[_mtg_]_q~sm{lbimgd^]\]kmc[WSKILNOYbowqv{qc\WQNOW[k}~^TMIGGIKOSX^bffrvmz_^ZY\YVY^\bginj_YWZYYa^jioin\]XPngd[jƒ7..rJ{:ŗA:L:=F*# -%(2[ -[=, " 쐑 ̔R( #N(1F$ 6ī,'-:L-&*&,Ǩ:A, (8J>J/+- ,XߪƻR,!.5+%!/E<%&-I[?2/>W{$ WU9"&>1"ޯP5+:mr:8Oĸ;+,?m$)8S74HL/#%=庿6))DS@FYM?N]>../3EUrB60>_J8?DBG\̶KIJNJ953>/'(3EiŹdD-,1]=#%8b,##-a\H:$%(-C֫b;,&&<{MTI>UľA5=QQ5/5<ϳt7268AI{~B>IzIMmYmŲX5'*5V?376@LnĺN4,;?KAD_θ2+&)>Wnv[H?@@̷J4/4A˵s;4>Hɺ`3+(1=IYʿSHReJ3-/EɯP84//:IںEA:773/6LʵdE=+)8ؾU>77?Lb˿];/$#->nR=0.68@Iba_VH@9q.'%(5K϶MSJ>=?40/3E߷N,&).=b>48O|žE;I`ntÿO1)(-6cųT>505Bs{Z^eiQ<:Gwm;804;EʽG<7558D|ɿP>85/2<˸=527?I_AAS]ɻF?9LƻQ?79?XdWJQxm_U[YoG?==JSĹE<9?E_i`eTKQWjpZNJKW^liVMO`TQLFRmrH>>FP\Y[SMZ_KKMOUdm˿]GBCQ[hTKDBFZtZFCDIfoOLHHNVux[MEFPnl\TXn]XW_]b_mM@??CJbdituj\ON^SMDBLg_^UY\bwzlj_Z]ahnw]WisNR_rXHDIRlq^SCCKVfnwtf\ZUYiyePTUVayqq\SZQMRYomd^]SNsnT[_N^nܟ 짶>[! - m&ܬ?:)K! 'BE/7F+*׺ղ^43CXױS*'GF+8BAʼ^!'' 2иж~=<3&( #,(%),2>պJMUpJ>;><50+-)%+&1C}ƻ|ȲpNL=30401.(& #5>8?A98>ݫmQOaRn60('""%().+(#'3CFK=6:48H亭ȿgL79=9?62'%""-76.3*/-0A;NaȿlBET;;:<3-.-'!&#$.(+)'+(++++=OMQI?>JX]ź]Z[IKbK3LIDMG;8ɺooF\ĿɮĽ}=?@5AQC//()&##)+,6;?F;4=K϶ſSVlC85=G<:1./2/53//08:20,/;oĹϼȸdhOA:I?/41(,,-+,,61;9>FD:4:fisźXʽX?::HFQNG799083=:JLPG:69@LLOJ>AOWGF[Lr~fQG}ԿcRھοXMAf¿OqSOWYcdbSMH<<@FOZLGCMSk_cHMĿZimhUq`\xO@=;:KFNGH>845<<8:DVmgĻ»Žo]zhQECWM[QVPKMJ@D?BW~f_ORaTunVUPObX]irbhv~ZKORLLGIMOWMMWboSǾüR@=<>E^L?:8>CDaI=8>JoMKOf|ih\PNZfڿZamƼg\TJcmrVUMHLVVVMNgstjal{dI>@CIELXQEEGBKIKJGGKYn|ͽoeSZSdg_TXYhVPY^V[ql]^YQWPKITYQX\rff^Y\cye^ee_oyhvg}^Snrk`hhfUKLNJNOV[Z\UHHC@JZXOY\utirj`lYXNHHJNJObd|b[X^~od__TTNOPROFHJGHOWNKKFMY[\Y]v]^n]XSNQUZ\SQPMMLMNNSlvziQYTgh^Y^{ggnf_`dB9>[QS<(!#%i&%%&/) $2:ϭ6"*4ǭ2'/}-#-2ί9&&+:[@%%'>E().9?$!%,A˭90OM3#%-.Dϴ]ٳI95)*4I:8<վ\9,/7>hQȲP,+,,3P˺zeָ<./:V.&(4vY:.066L]J=9;Dh[GMV{߹C0$&6MbT_vV9/0>V¹M=/,.5aƼVBKñw|øC@WθQ:.,,-9VWJOB529IMF@G񴬩F;7<ĿOMNXgp~_LHJMNSULDEW]HIFCJfɾvLB?BKYĺK<:68>DLXg\maOFNVkWGI<:B^½[B9:JySIA?FVƾ^LEHl̾]TT_cgǾ?866C]H>;=DloWSUnLHIRs^WlSC>>HY^¼OQ_kNJKexVMJA@KTþ~XO@???BIc|XBAN]lYMGNYatZK?:68KdTLGOQ]hzXJEKVWMIGIMN\VOV^inpaRNKITiLEOp[>::=Nn»xrh[ONI?::ANzjN;9=BOLGKVkbwt}NJUeMDBDJUaVNRON[cjllYC<;