From 43df35213e80b9b7de69cc80f138882708a05b9b Mon Sep 17 00:00:00 2001 From: Eugen Rochko <eugen@zeonfederated.com> Date: Tue, 18 Oct 2016 16:37:15 +0200 Subject: [PATCH] Improving all forms --- Dockerfile.neo4j | 3 + app/assets/images/logo.png | Bin 24218 -> 24375 bytes app/assets/stylesheets/application.scss | 187 +----------------- app/assets/stylesheets/forms.scss | 182 +++++++++++++++++ app/controllers/xrd_controller.rb | 9 +- app/views/auth/confirmations/new.html.haml | 10 +- app/views/auth/passwords/edit.html.haml | 19 +- app/views/auth/passwords/new.html.haml | 10 +- app/views/auth/registrations/edit.html.haml | 18 +- app/views/auth/registrations/new.html.haml | 21 +- app/views/auth/sessions/new.html.haml | 11 +- app/views/layouts/auth.html.haml | 7 +- app/views/settings/preferences/show.html.haml | 24 +-- app/views/settings/profiles/show.html.haml | 20 +- app/views/shared/_error_messages.html.haml | 6 + config/initializers/simple_form.rb | 10 +- 16 files changed, 269 insertions(+), 268 deletions(-) create mode 100644 app/assets/stylesheets/forms.scss create mode 100644 app/views/shared/_error_messages.html.haml diff --git a/Dockerfile.neo4j b/Dockerfile.neo4j index 0b20d49dec..373c2abb0f 100644 --- a/Dockerfile.neo4j +++ b/Dockerfile.neo4j @@ -12,3 +12,6 @@ com.graphaware.module.NR.maxTopRankNodes=10\n\ com.graphaware.module.NR.dampingFactor=0.85\n\ com.graphaware.module.NR.propertyKey=nodeRank\n'\ >> /var/lib/neo4j/conf/neo4j.conf +RUN echo 'com.graphaware.runtime.stats.disabled=true\n\ +com.graphaware.server.stats.disabled=true\n'\ + >> /var/lib/neo4j/conf/neo4j.conf diff --git a/app/assets/images/logo.png b/app/assets/images/logo.png index 3a5a743c0ca10a039ea0bf34e46e0880e8290dfe..f29cdb326fd9d358f593cdbdd794ca10e89acb60 100644 GIT binary patch literal 24375 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 literal 24218 zcmXtAV{l|`x9!-rZ9AD*lVoDswylnBJDJSHwylY6XJQ)@eEr_4`{VReb$)c8+FX0B zeL6}>K?(^TA07YzAjwEesDRF~|1MZ)&}X$)O+M&=Hj$N*05AX&0c-LKo@byta8A<N zt^fcs=YJPiD%4Xi=q8MtjJzbwE*w544W9gO_aXp*6d)rZs^+zR+3lTc?y1hyqmcv$ z&L%oibGHB7rxr#@Pd>gIi5ev)0gWXwcMN=}rVV*ZJ*5l&Bt#Xxs3;TmhusIjK}M1$ zM%<xNlCo1jFnNKWR$Q@CAsUZ21q5#TPOmMryE{H+{;E9^_k65&oe|u*{=Dj5G4QqD zUp+7EO<#U0K-?t;cm%J)8PgPY!t%!L5`pDHpKt;_0dDUntzP^hH1RCATmVBT0PIRo z8+P9kpoYw;8E6aegYQd2<px|p-Tryh=kM{kI3?M{Ne~Q%U=2lhDj+`<f}DYL!Ul3c z<s$7fFIsteCTQ)|Gq8j~*1fg%3}gJwa3U#W0O%p#MBf(d^!C_(uA5f6Pl_Nnv!V8_ zp%RnsgF#-Q>}>;%Fi9x6*3U<HJD#;5j9AHS)!=1+J<R+a6Ui-#wU^sEbf9!^@0$R0 z$LyLX*JzPUp08FAb0k6_r5#D;ir*57qEI>Egkfx6EH||hG&)@mQlg+CN~UPYe2zCf z&wdcZ!nr#hsROsc@0b#|8-y}@&sJ?nI1;S|hqcj3WKZS*J;Qhss~eYVieM%;Q1k*4 z1x0eK+56R3TT7!xZo)>U<xd&kp*f;YzAsDce<U)aJI}q<yb6wb^s_-Y*DkQE2157I zDETmsagY{pxWQb%1Z903KOLUXUc+U*d3=Sggc{llRUnm`1#GW=w}jlTY+51mN8{dh zc$mn5=s^9;u<UvHa>54D-i$xIu1*v5Enz<eQZSUzkqoXuIc1>ae5*NF+B5Qa6G9M< zzvP~p16QfT%oNddBKegz_~5!~_veEFFc9qIdKsp5TH;H?lC;#Y?n@4!NOt1|=4qv< z<5qfg!eV-U0+G+V{)tKL6>GDg3FpPTR0`Mmrco<75L+4Y;lfoo!d3?aP{#%gu_XII z0dY_~r%)2`#+Xop&|j296hoYt`PM~~JG%ci+5!nb`0p%i1{pApJh_!E$#osyiBEX0 ztmNBmOjj&Z9y4n>cZy!gna$Do?@z9FsR53pH#CF&@4BGxo7&dZ<AOP50~A1<<#e{? zGQm@&ymXjR*lFYhl2RUtAgwBl^Sp`Ig2TZ&R?5pURbAww$rs`T{P95o8l|W;uUI1v zk(!tt@a>@NdV?Fd%7(`}CP6p2^{YcZNC(Y8Juop%@@?xdZ(@IM7f<1cMG9p;cRvb+ ztsg<U>W22^>4h@w^qlnu%E0-&KbH_E!$)2fPqD=7hu>4$yU|5#uZ_uX6K+fGwuXni zu7JWMNAj-ws|Yf{@NcUpYr@v-S(M%d|Hww=F{>v^0tPp!+yKcrRd-Zq*a)w$mwGqN zrGqPreg4mP{b0*9YKgF+PO|r-H=|F(c)YQ>Q?4GkJ_JaChBesBS2;J)fmQx8w%pr4 z<<x(H5sv2qgV<n9I>U9&E%c}!!uS8OC8zt?6KLZGl{JEmCDcq}?YLSeu>D9mr)A~J z=az!cZd7WqU(U}%UcbIskV;AAJHrQAB6z_AG1ld;&sL~Yfm<|oWHV8J+W2O%2vMyQ z$uZ2_p)thpU*SD#(X7LlPNniUSo+vbfZSj_jz9ZrC>w82yGX&?Gy%R-9B=qRIAAYZ zdsBqOJ=z3gr?#4TFeY(*T`-B5*r^WUHhyNw)XSPVdBCG42Um1@tTNZ>IeXqHs`Mq2 zy5YbY`XosOw1J`qwPNWo<&3~Er%M0tM_J{!oHvqW?PYRX_viV4(f}SvF!zqU7Nij? zwwqxC2!M|!bLFP8#F)lWS?+C08$}sIPFLe_K0Z^#ZS_SgT0%bd?9^WyQ<!^))mgo- zO!oT@E>+OLn-&Jo4YjUCugcc#B^8ZW4#W}qN2nC=e$6N??H#VKEK_KglemLhR0Hr6 z0vQq#9tJLWnpl|nU;Q59oHYAh3=?*1&dl>e*v#)N@uzb^^o`1TNo0lUA7$9NLC=uy zDH=?E&(zQ84bLY=hN>)V`NMwx&!KtB^g<z#iJc<%9FWr_$VZ0WpyDQp-s7=EB+>=w zOW~|}AIO1b+}t^=fPPQym?A(|$J5H7M|RB#93uLg>`JwZb+hQHYe@=ETZJ;*kPpNY zXp9Krsz5GD+vuEXv_giEnm%4-bb-eLu()I4`jAe4mHDqsKp{FXFJf)Wb&Wv4c7gW^ zc3YN-*;}#$|K+fuyX`?B5mBU(n7oJ>GF-^Rt=~)qtaA?08PVJLo&7rr*d>(k>0QtL z(Xb@7WbhkK=G4_EO!smScGsn4SxpG~gk}W>;hN8a6b5<=z0VQWhq(WMF{4KCbOek` z-;QM3Nn4ziHV!TdUwYw?5d%<sMQJY`{j_Qp7lOT)YC_Deu3t<8hvJ<S(KyN{`BH{_ zo3it6+B7jADhNG4cVzlPcYoQ{>Q*=W7@7}u6E;}fhCWlgVtdgmIFym>CAUpERT6Q3 z%9-ni1LUGjjRWeLOmLT61ruY*v_8_`wTH*JqXyqr^FzC~afPMSD>>|_tOsi1e2eQU z4?-{@TBt)t-MxjQnx4FM3v5*y=WU|;OzN9Kfw?ynvLIa;Y~6u8<AR*gNb$;M?I+GX zJhH;hhcy^pguIB7>BNiPCsGbK@IE-2x|ShHi3!tXN~K3ZC*5x8oYi0#t1hWboG4W` zVO_IG@!hvj<f!}Ncjd({GP=JK1Sf75(&9bKZa#|dG4uOsr`(3PvCANBNvxi%-_CPN zto3jD&J|xor#Mv1u<%E1LS2&%*TpdFYaaXb#u(d<$&*cr((EH>&YP8>qT<}uj*yzU zITi!!JKOpa^|8^YkH&%Ts$%8?Y{r1Si=QQ29)HL#e})FnG{{XUf}=B0UU@*(PScc< z$Q8=?i#rszJq+CyCYTNS>sDs8-*An)gI*CG6^){SF3_#q+h*w9{cTL-o?@QbHNn1B z&jka9W#sQ?P<<wQ#kaF-xY}Na!I&34`sa(IQc6{y601X`@TF*8gLh{mEJO(PE<K{K zy^?pW9Wa~i5NY7h;U??*U*nSEIV?@K#^^4(R4_l<l2f?jC4+|cExES~6@&LR&JVQJ zrP&Y2*Uz548u5+D)x_j)7gu#;FA$k7<?W@_Wox_LP*kK0EywehG%6sY1L@Do&qJWL z&XE2-fN%z2uU1s3U%gEiF&|q0j26XV4t;Ifv4s2B$u}#%&#FN&Bk_ACyZRt3Bzrf~ zmH@UclpIWA&e(6{ESAH+L0yL&%Qikbu{3Lp^S$2bct+7>lFR$uF%UasyN<B$`%ZOE zAJxku3cb4(7-Sz5f279QY~`zcyC$qPX1E2YfGZcsY!CLFZWx``*-oS`F=8LZzB&ho zn$8akgJ#iX@^s`p<yZA#NukqaNtfYF_J7i<=T`hjIBCQ^cUe;eFZ1~Fu}h7PSCm@g z)TVe|XuyTJ2^k65hQ}z<Lm2g)mM&?#^ZO`%kFou-B|O8nCS+I$uem!7vmfLRU!eMJ zUjbJk%WLY4P`2cDL48})i&Xl}aNtQ_7t$t}g?v#-)Pv;Yt_c!z6%c+f8TWc+UFZNK z!nsIvcueo%p1|#<a*Q`b{wzZ(`5dZ^MLrw>;rE{-FCEp1%}#?qN&)XQa64N*U>Ji7 zOL%@${q3e9HKg89D4VT>R55;G;vFYV@~@sp7!FkD2So-uLpF-H`xX@xIYjI<J{_?O zlr~vyTQlFrR_x^=j>p3+J~`y4(e1N{<hLJp$6yN9a>4_!24l`uq`~_(zywWrwO;m_ zwn3&g`l5r}0YBmI1P%}VGU<%u){747<mPd{?Wxsjk6T+&)3m>bgBqxo#s1N6h!yY{ zuA;lKF~nMlVU~E`;!uo_Ucwn9V6Es*j)Pb!Fsx)}cNtQ~Nr&ZEalReIq!#SO19U}h zO`0S!IA}Zbz%)QP;fE5RaoB2?O17fKlqaRq#StY+a=SK0*kc!oQLFi8cZ#VNfs`g| z0^hr+x?<#SQBLcW+U{qhy6#u(-{rDm8<h`FDK7ihB$Di~Kv9eUiFO`8lwse3mT;QY z>T{%p`!`z$^)5fy`~4nrD{@W{qki2NrC2T0ZMTOZ*RA7$hJGzUXNm)+Q28ZflVqg@ z*&^lc<&%1+4H6<9hGA*9MU1K7r}`4hSWf5!y9pbaNWK2Qn)=Oge2B)8Fna6(4!De5 zFl}>k)tDl}F%j>vY(Y!Oe@o)%$8Sa|XzZ?s9U;_5-|gaZtvX3bVE4EtDhX(|eu`E7 zZvLPFw80KhkgGcVqW!t~k4S4nv~1LhFDsr$)$_#UvZ{{xMItyQF@w0f^5rVpjC~GC zoo$QLT0SgL9<uM^Nb^tW<o@z-mZBj>oF4;;Mn6PL(eb!%{AvbX(LOx-$T^*WMVreB z*>3xw5h3Jl1}QNa8Jj+yIBCN@G`0d3f1Y-zGB`U*rd`;K6>4s(lO_R|60ORBqk|4C zA&V*S0*TH<mY6MVy>nJq*15yL^w;=}qfUwIip-dsj4dIfkVd_}Byq&uj1rmC{>y`7 zy*TS@_Jz0{Vq!ch{Be-i+T9tn;}i7Hq_$NIQwG}@1)V$Ni8iiH<m`B^`TG*JVdAsG zB|uec%oKB1%&Wbxv&UYJn8SfM42dLzigd8zEq}L^>X>(R{#}$6GPG|3CvhKc$nKIB z=Fj%oaDq$zrnlA^73^nw<OX8Z)|pY!n{+&yR>+j;xKS{#tEq28IyxI)_khn{T<&4f zAL$*5Y4!~kDbefz_|yvP&<3V@rk`Pb?ev7vQkIL<%@zChi|EL@D;zDfxDIq<M&!$@ zDtL-8Zmg|h7pb(@^r%egP-?;uRI<mzLW%F52^e0ODgGZXOas;WgK2p<n-_@xWh_dF zQ&i*uIy~JqCsxNwb_#1hu)<pdc9XPCCC^X0Xr2`Id&WG(ivT4zg8aC&i|`v*MH|dp zZz}@}_g^6M#5fW`H<C-$n1L%(*57QN=Iv5l)O4bOk5P%A9nT);rK5%Paz~E<Vm3m? zu2&0FQd!%7iZC}0z|wWpVdv1;$Y9~M`!zF9H%#<G`8MANB>Io$hs;4V{h1Hibhdh! zf9yvxT9?az_<Tt(udu<L8-rx<c;Bi9RF|roSpN<iL=LEN+ED_5zu;tG<jAylR4A%y z7{KR`MFU2i>Tc?bLAAkfBhVN9I@n2r9&<2IR8c*IuY8s+k+qPq<(oqRk-Q4ABqYt` z2<C+Ns@l{69bQ;rn9Z*C_O)nSO#-{XZ+_=E<?22$L64$Jhf36e;s}D1evIL75#@v} zOMVM>>8vydY2;0v<}}Xt@_C8uXAVF1#KDQ%dK#RR_%V)=8;(h%dXt^fWf8N2GFv=D zl+6ll9V-5nnj;UeMU-B`X~q~7)n0ON3e7#JVrE|neRm`U97gJJKAXZDz?JWZcKr%= z8JNL~LF4>jM*_^f=N=?RyI_>8AJK5Z;t=T!Gr7=k4@u98>Q7TNJz(-C7$ZqD7g;L) zQ8Q&NWpQ;3DsZH}xeJN2BT|DvdpJi8=qe}TI$!LBv)ft|iD=KT(7Q%$v=XOPjWmE& zfWK_$VLqxgHE}JFo5$j|9={>#z(aua;HTZ?eKqJnDf>rvvPg2!OSAq9fsf$H`M^21 zk8lqaIUXSjo)j8_q6sN4QmlAeWwRRY#VPJV-R*JpS4c{w)vv>-Q)NJYfLgegEY3x* zaA+$6Z;!3W&lMJ<-2G4$v|<($ODZuf>dL%esch5oD$g*L+zw*<S%SEnlGL8W%J4rv zv^R4Q8YJpMh_-}?C#eIobS*TE3rz7DqE~Ex{&0tQ<v!A6HCfl9{$dv^7C{<+70$6_ z(nC4v3}@iqab3h6I|co&VAwOb&RM5fR{r-vHoPeN@aUXnA6RT(33^0ka=iyZa_u<5 z$@4MMCG57ClB&eU9o{bV5ScO4oFu#f>i`>Z(a~*t>o3vvEfs`Q*Y-2MBlI{Ge*vM+ zGMjlJ)pMliV=`=}KI>%be{a3O9{aY2ds!*TNJ%Rm;BSdD9*gVHZLuO|;(f&BUAPEp zdf08U4kI!S$uZnC)>dQGnxk`c2=-)+Xd7>oWOZjPN<(i1?_^I3GHJX<=&o$?t>??T z#PFg*AV=s~zyjv7IGn2hYYIWA$RDbgr>M4P&UQ50vK3~ue<cfZO)8%ME)7Tx-PF7i zLG@ag?1W@fTNc;3o_tYEaY8gwfY8xlTw~UNMUQBao6i0ml2LhtSG^)3hhO%VW!q_K zc{_$ZV<k%9(<ELz$!Q{(sz`Y2u>g}wXya@9PezHi!5>A*ope4|NdY2i)Z^<s8(rZZ zAuX>ZG>*jI2v1vh`&fW0wFolU2F~wC9FU8rzoZ*^2ks<rd5%z*gx1awHrn?wLZPUS zDO17^)eeoYiWk`*xBJ_WWH{CfwjwLeljUa8sNhQQmsWNAou5jRZPTJ6dj{*q7xdbG z|B?2dIru;f<%nQFC=g^POMf93@uUx_K@FHC7tAs;LTE&uiZrty&YXn(Mk^uUY!R^% z0Iv+8Om2PK^mvk`??o23uS`2HgExWXkJHqRO+D@LBU#>s$TgMoHJaGp=9tCDjj>v? z(nkds(XJTivTB|k8<(tcr@d^4f8YpL_>kf)OYZKP$yZB|&){Z>$|68c{P&^RABDzC zhGYYJ_;sDy)S_NJ*T#E0v_mwf8)}(xSLq{O*vW3EKhu^gX?vSSOuv{DW3WnyMoomf zXN=^*(;AbSg5JU{V#8=W&XRTUtHd=WFWuQr_0Ow_ASY*xyX6Txa-HmEXLWuWIi9+~ z_Am<KThZS5bfAzObVF0i7czhurU}E@2ID7vBw?$t!nVcyasnrGQx0$I*s==l)T5d2 zrmEMmenx@5)?j9HkU3-N=!ODzi+ogF1A}TAN}4I^1we&=nJktgGIATU5tgF{M^bXl z)o77PHA#1g0VX|hJaUV|bRi$<pA4!c3Jd~Ag5Ih{<Znxe)l(B!vSK-nZq}1DiP*75 zDW=Du@HeC4WvzsB>|Ts2?ue;S>t?h``EMa{3K?@6<$EP?f!jYG`PK=t;);uQbZ>0+ z;F{6D7f+8*4|BT3*|d~CBmXcgw?(;u^N3(&LtS-csMcZG<EN9sE|IGBGudT97j%QI z96^8klG-~F1PC0|{a=tj<NGFH<Y@#r-+6|pzca!=87V9z!xgh?FXNqz?rN75-*Q%2 zov)LtLY1HcU9l$Mq}8}`ELB_z66pt%=t~6&Sco?OV#XTfr77LOY+(`bf8Wsl9;7Ym zA~z(IZVJ~&P=CZ4LO2~cneQD$tcP@o%trM%Z=mE!v88ksW54`NAJfBPZnh}~C&_&o z&`96T)ktGjHAwF$mtk7X7Yuu22)eRFY(o9MTaXK|ED~82i=YZI!b;>-Oe(MXiBA$T z@noGOn4|To%_pRj*^Ko|n!yAfn5=o6CoNf92*Esp!w0uWLac(~^0wX+f!c-XFK9Xp z7mmKOO%9BSYA<%ION5vT3*PQk?mw5$UI>E2!j=QNl%CvYwj^Sp@`V*{$|R6KxXP*A z6-iC$pgGAK?bV5u#n9;}pSQKH_>F&N<`Xm&v#D$woI)n_MZ<u6{N*z%I5xj7g#Pl; z^{!4X3v(Al>@pcm=AuNDwDlWlpO=gW``>_9e38*|rm>1?MJo4O7h<Bj3;m(QGNhy> zq+m*QnZrVBJ>O^{cnD0gYTQMr)Hm9+DA7VDf(*`WuOGG)fkTmDmX|vW=(57w0k!#R z2~ACD3a=$Zhw>?1Elmg?{baZQ!37eylYN<_<G&c`7(psK{OH?*!L6p_ml}19+<rQq zIsY!-IMN|MpRvL4D#is*)C2UPcB@gh5%x_1LMXcv<rPArr(4uWM7apXl;!s#@97+U z734&-^x^xqKP!tgY@UUF;`%bBHBu3^82(Ztp5i*_!Z^b@;a6x6=WY^q<X!dtBMPc) z&Hj)#1%RuCjL2nhUiA%Yta$kf94)zI3$_r}M~T*Mbq<;q#y<)Q7YDV9i@UEh02b&Q zmh(=J%}DVF9fK_a<)K5!tKSlT9xwDN;0;ZXEr+|aFfk}bhJgxy2EmzZ`l`LeS4~bU zv{C6RoNMOGzaYJO_b?Bz;&bl2g?-Ej0Y2Y<vKIYSHWJ3f!0NnwbHQ=_F;QtudWdlG zhs!LLV|LlTV^LC7X~Wd_my2pALkNsP(2Xc+Cx{33qCp;wc`*lnj;2kE*b~%jI6M4V z>Ff?J=mAB}TdBqsK@galYeKc&|FdcjK(OJU57eoSX@XPjq`5*kO#(0rY4MG@-ktvO zSeP@1&${00j;ZcwD8&_dn8{QhV^~e0;ShoNd?Q>z(ZY9sFbn>T!r<K`<}1tWwuZFN zkCNfcSbfEhwqMKl(`hwv39!xGZH#76clLRnAD3x4Fu~xM75MySf|#&LUUU-ld5S;* z#ZCG0i-(Bx>%Nfk6chl&;Jdn&5>35E771naR98i2s8Hd*5aFAa7^uAJ{SpO@bE!qB zv*9ylmK<Jn(gE*hZ#6{6wb$#n?t~>cQKM09w*P(|x<)9R5-kDtsxAu^Dr1A_=hOYe zl3CC+#VSIUY`QcFxzG?=OK^Uk8>s=;HjTgM%=&HIU3H@f;S&F~<~nH|zKCw>ou^D7 z57(4(HQU^mOViXPknt+xzfB6)C--WWk&f>~$x@ZUiapx?m;^~129bjw$r>HClrRg? zpEuFX@v&TNL+~0$@}gnN%qI;rlKjL$qTUTyO$_+ur|W{`p@%z((BNbba(%2K8<Oh{ zf*HDA2^;{upv52}?GVnZ<nCSf>eltIYdpzyaNHTzne?Sg{I&T|R3{bYQ~FI7!=2`X zsE7^jbj@cb_&3PO+0t79mjxOjuzA=_>73s3Z(=U+2G(RN#F;_Av<hk|(cezXk{tGv zd{D#bn<)WXoIeMz2^|(fZs^KZUD$5Ol<0I0Q>P-#mbEn{POBVHh1*FeHCZ?Z@-cqa zj?oOI58AMW!2IJ41&i;KT}*I;3)wS^BgmKVX<vD96GK57azF&T<F))&ut)QPtq&Kk zIw~ZVKo?&6t?xx7{Sm#SS#4V0861~RBp2dl(LPKI<YoovhtMv=iqBJe7UgkbzX1)( zrxKFZGYX}w``B8kTJiytEY3OD7N@F<SJ}yfQRCA$qtRxm0TEb%No<%-u>3r!NHcKH zhdK=$W09XOb4{K$KCRQ#GgdKi{!IUd7r%|<6V>NbuQcJbt}qood2LW6+^0-*KIeB4 zq1+t+u2CIT5N~<!c~i$wDnvtnFtfz6!N-i+xL{NjHsgrK6sZRO?l@z)E_Z#<FP4?x zM%i`e6=Q*WZp5$jkd7xxA-eWAlVeP7iXXOXUv@z<i9a@KNJVvO2dnyk>8e<^!bC(= zyqOS=VI>;e`^KKEDk5aT@19s7&bIn{-Rxq^it9Z`%CVf3x+&rH2k=Yg<NzR~cykWu z0h`qaV@7!K0H=}9%~&>^8d)?8KEro^Yi#MU9YxE!?rv&nhv?h-W%t*fYOTaGs9QI# zWWruvIgM?Q_267z_C^>`1M$LG$O7NSRHh2%htc;BzQb2;;N0V&P9;~VvH^%v9Bi41 zxt0eb46|#lN-%bJ)?*H~vos;B*hTSxQf!wKsa;}CJ0+tD{^BYU2-4g}M_U2t3XnIb zsKO8@YygK8kJ^;f`e!w?VjsT%3n`!Bk+}p%a3{3*%zu5|#o@{JdW}(z5|Y)_=~YmC z^-#4;eR{1O3cEXKF9f1rEg<d8n7y#hxukCt!v`JM8Jf!7s-AP}{M{A%5Ybw<RmNb5 zYzXk!ZCQ2oQ6d<UN0KuxBJrLYRqTTp5=N{3^-{;wdHtQ>$wp)b{6-U0apkxKt@I4N zAb>oK)tCH4eF#uO0|=&-t;x#aYG}(v;{tMW$#NumpnP$aniPrb{EkKkWz$_zBazdp zv*ASNjop~Y@Vtu!9%$;%+RJx&i423F3GkW*kzCiJFIcEEK~64)ADQvZMrYc_`M+)b z>VLsMYVFdB1%gL=Q}~lDo7yrqTD~B#wKFGo=)o5kZ^Q4xfgVe*dF!JdWIQRb+}5U+ zYfG>zXm@_k{mz*j@ONaJWywG-IawiAU#+I=7Sw5)+XHlvtfL9mg)v0(Un#rh@Ja0S zuu83^;gmy27yL*uJ46!03{QzKIOYlt@bIszyX>+Bv0?N;VJ(9#FRaKwNT=S4FCi@O z(dW?$xGBoR=qa_cwfnH3UzGmV?mOCm>67X&c}QSnL&bEp2iYfh9}01#Go-jT9q^iD zv?re`yY05hREsnz#RMzpwKC9TBzKQFaT{zOg=!0BsGRf)d6zBm)85+MRU>arwR2ta zh5iCj(z@U^C@&s=(TY6Bu0Ex9AuX8LiF5=F@vxWF4+W^%%BR5VCrO~dhKuTdB8M<n zsbJ9|Dd6kvetpMDyKG7yS?$@VdA2wo3QN7j;Q`@w*Kg5MbKUXJ7a)M!x8x09iPUCJ z(8cE5RLzczlRtxF!HSITg%#w;@Z$$58_X`0Y-LWuCiJ2%b9%*<Y>|+F9PMyj#>i29 zM&EN43idL}Q3sMHb`Q6h((MnN9u;Ed7BPr!N)-$?-mX8-Nx058qY9>^2_707nx?Ai zIHyTv*TRK{5I360SZ9qO&qaXc!rXLRz=csJjl-cjIQcXMo+R&{zG@7hAiQj6QZ!4a z@KUebJX?f%cmJ*AYh1+va6Y0P{h=m$I6EUU#C)mSGuj&$uXh;iABaN@!0+qTc4Wb+ zA#mKw{<+V1T{lu~)S5f8&Ku@EDFLBvu(1iYuPZQ9R%$i$hwpi)V(#P-4)Epgzp~}{ zE!8`Y|F_fs?*g1hidODObNpWLca8SdDC1+R9!5NVZ;wZl-?7+oLxun53UZTk1;f+q zda+34K7M#+o_YTFiH5h~$NqOI<ir20QUh_r3$N)pe1Ln-pw*5>m-w-d?Wm%F*KzDo zz~OP-t=kKOHiM_0PR}>V`oJ3ol{<gk8u)VfpNJ0}ynj;_$w-5B-}iM)Gkv5q*_T85 zguL2R9yX55<rJ7$wz>LN{cJ>1uOm7G?73w|;*#gQeeyLFAe`*Ib7EX~s;i^h&mzA1 z%>&CL@LP$4Cnfsy?Axd2)Ixw&ZBQg{so%gwMX7bIoD&+}gH7X*XVvw(^B-e&<o`~L zpq(l`(up6bigx<W<tNsT0ziw#M8($>U%edS(d7o(PF5l>(ezUiUF+pZlG5MD(lSYc zscw$oH<N>i247gfgf#(Wto!~rWZ0!y)U(xfV@xYdCk1QLgO>G(bceBh^X$oX=Uhtc z=ENk%sTdT`D5Eyp(Oz&b$JmHpq&qt~O&+P2w8VC**{7~h-DF|acd0pSf(IcW1+{x& zEw@(o&(gQmLtMmA(y&kg<K)Zof8n4oponnYT82U30eD3r6|B;$Wa0%Xx9bI|?1zdD zeDk$0j$ppto-iZDoCbGV34M_m_vR_CimzD3Nb#gu#sMS3t4Y3zR!b>z8KAet{Pbf5 zSEdW1vDAKf<w<Hwy~~S^o88VlKN8$o-kGU#<>9M%M2D`z5R2=Bn(uL)|EtR~n&ka4 znE4yPBUf+l#3pzQZ!r8A?qq8cSvQ!@7tc|82+?s6=3NyE0jm{paVAwgIoa1*jbd?K zqpP#wNf`PsNDFYo2gs-fRi-q&+ZmpJtHlV;nAiLQU(~4$((p)&8yg+$b1^s0g$5|M zLB*o%d1fe)1hnttPAl&OmURg(I*u|i?q#&HTjITeZWuvdg6ADfwGO%DyP&uM?4|&= zc?cONAtw<vv4y(3d=LBqz1_`kj2G&5Zzt5dzQb}GK5at~06)qj(&tvju^McQa6#_s zoHREzy_o$^k@r#V*aJ8~4dm@LzyNBm8X(l%)pD&30vQ&{5g>iDdE0f2s`e0A=F)+p z`VfWJfA-iPKO_1cpac>51${yf_l2`NLFosg5KZlu-=vQ5)L1R=78x7HPwk&ACx+f? z_l%5f@TcysrZCby9p97s6fwLwz7sZo0dD3Fm*OHE2V>r)n1vrEMMc@7%8J%Fc!KGL zL;lgAfZu!`HL)JUPSC3^u|#%|ACrQEopa!i)`EM9g3WCk^xc!?)`Pl3)WV_)2)WPB zulFQ~y|f^IGqY$6znRU0svrLzESSflivPzQusrfbbQ9x|4~yFLIQ4A(6OdB1&@Q?| z&SZ7wuB)@fOWbEml{>My5~v7XtGnKP+j!1^z*5lv7C~j2lZ}Y~7$pdUMs9{Oe@H4@ z`441uIewHn+wY>w`t^d)j6=ah*o<w|M0<@KxT9HsPtv2;J*5{qfH21(@muU;Bz-Ke zkC@a%0-kqDLiw>W$ueeTHjEZvL4}&1-`NR4ugTQD#DE9B7y48$)rPXzU&_SZ`*~!` z^2McqPB7$f>LEI)_=*;C;Q;sRq>5uiUd{EOz@LGyBudqOb<Rra(fpH>DQnAUdUaTG z^_7^khkG#ln%pTTU64QlzEM%r0`|Q(`Mn_8y85WdGZxwd!g3Z*vNJ6HhJibJ_<k;) zq^>=Bb1)7`=~DIWEOk4C6#9&5qxIaWp{yWh@7#Y0%b7fxQ>abrq4A~Otl1<mbHqP) z<cE-}X@pa{+%=akbju0_l-MYaji9<l)WR~tr%2$Gw7GTbp?}G=q_o;Qq4t4>^ib}G zO0aTgL=}Z2<w$0u7&FnE%soOh1?~HN-uk-~loF$a{ohR_X;i;HxlcCw?cdr+{_LVI z)w@@?uw38ozctFvbG^lIjPUw#Y?IFZWOkn#N*SS#`k=FcqIn^gEUM$`2;;N*fhN$8 zqQfRQ=+cPK$&FjgNGtBvI4Gn~GLVE)&+agc`PLGYiaSX$N|60W!b$H+%d%i~A&TSQ zC@p<%v?f%sfS1gi1cc<7z&7^t6=LYO2@)o`-{4u~=_Ey1Hc)Iq@SO2$$l3uzBS{Jl zi@t4-pj05R;E(F~SCN=Ios?;SIuSxalr4>SdqP2IqP~+=6imQI&&Q|isK=50Q3|VP zIx|YkBauL_aE<?)anK4C`w8xORQfv`WgKB=3-hWMYQD8pM*Gvd3A}}PgcW3*IrMVl zaG2P{rQLL~cXt!Pl6fctQ?1p5GD}_n#vB2YypBy8zPTifRkVeRSyPFnF+b~d(G6)! zIyGdpu?ozM{0@=3ilBI1X_+=6wgcpi3;PT?ox`&^M<CzO6J(Qkh+5pKs)X{OjNlc& z@e5*{c-2Ar3b!J*ljm_ucD*hIod0u>No3Bd`l4Coq$JONRn!G&k|4;?c<z>)#rR0H zYsF(8lxFhpIF`%01>A_Vb^K|Img$W1jXOr0d~8W7W2v^^Chn_M@e=6sg>TEAH3v7S z6Uq$y=OO?5(dw>v+H60%rkfkS&DloqJzw#QNem^VF7`9)D3Fto@%`9Nk{Fv&+v}|X z&DLu80y9xyqz++t)`gMrdfRuN5Gd&=SY%`2wdzn7mDgH?JRTQBqA$(+4^4Le80-@+ zlwi|8E_bz3G_O-=^|m=n0JiEOFjt$n*)WLGlP>$u_es)$rs1aMDI(NusJ&K6Mu>0u zv-*<nutBX%wO77JEq>BtYq;;yJ0s7{hGDE`=^^%?_uxGwL%OCX;QQyO`AAbDMfJ=; zIXNJvyFHnZDwt9hKP|WxFY<r_%n{wBYlApdP6>Y26y;mepvK1d7Go&^HLm_s4H2l5 zz0I#5$<ltZ7DAyGU^tyR)g63r6jWbEvb*ZkaS&%kb#Zg!5{<a1*<>3Z&f8gD&Y$)0 zN#g_wRMu;GQ$_~|cv`#P7lYcSro3-9=RvNyfS$VUxc~*x)-M(D&1qZzIwve(1Y@m( zfKuNx8ZT5aaiMHD1H!)+BH@x>a~am1{o>kHCdmzMFy0BzqgIzV2@rLe-_J&lJi?0} zutf^xjfw$!h=As52}r=Q=TsnJ@zW;6q}keBkF|<Z)*Nf>4{G*(YW*;6Hs#zu;%5S= zC`OBcc5&7E<HrzQOLB&D)HMfO=hTT@pTFid)yHLR{I@QvH$W=WHQ@83Z$)1Fd$<K= zM)16X-t{=|_#Ao7Q!g)#lW5DL`K><p_$J~9N6-CtkMH?^&*dLhDB}I90cMrtWrZ}A zt60>kTDG&5C5~dwj0<vTgM9k7mtMN_N<!bhTAI2#Uccmg$J4!%z;jK}+Va^}B?|-p zqD4xlr+@+RL(;cw`7BTEr(l&PUy%5Z0h_-u)*F1p?DqN%h(CBwAMdwLn^cR_bK{%* z+nA^7`{P~VHyYPDRrnlhYI5SpwcsJ;{7F2MZ>JR+c~Pjk7n-~ob^W(SPGZ=y74G4Y zJICRfQ!L5}$uesm+}!N$X?=%GuKXToFC))u3f`GrNqds+619Cx{?G=+@U7L10^Kq@ z!tlk1?_s~8j4CHFSgxJ6SscW7u1YWHiq?K#rP&qOYu>5m_aBfU(Y90Q4E+8Yk^9*Z zv0Vu!3h&zcm!K^ko*Zf5A_2%cuN0n5_8aXA$)?Hsx&+C8ln=I)YYZ?2kdVzc31V1q zfzy)9P41GL<W{Z<34|}t;ie=g4TmloGegyzf}zGl=i~s0?xMH2V|H|Cl9F{f`mely zo(f7Ie^j3|=@;=LWMYsypOwMZiD98ITS};x)j%g#gttg1IAtF@kMfCl+8OJX=Y9L( zQS7@BbbF9ezQ)KTikNTH@3HAfcrixt^()30S7S}jDm34}hKi>#n8<f!InSan8xiLI zi=a=~coTtm@ceeowHRnQi61h{>D9d5C(@IDNH9wL`jgzt$ZDC4Z})E}u|HHdZr#|A z9adY`Q8rY70)PBaIg*`hhGX{Y?-Dpk<&&nQB~K(qHwZ#gq(J`K-%C>|fB>9GBFGx- zhxkYR`+|ZGFdlG(k`vn6xCN!}zx31?k2N2W8rI()A>*m51A0x75^6k<PGIj&?Y0 zBd52uiQpj|#rje8Bj+nqg%51K-4CWwiDAzOSkGwRpZAQ8A2)<|Gw~_Z<90Ndksc*s ze$<qH#PUyzw&~-Xdjx5R{NowugCCJG&2GA3MrgJFMcQ6%bKheK*$#H50${;#gX{m0 zwaw}6>}v7ev_sJ{Ubmr)`r{RO+o@x`@ttvvH8VE(rRsFaiS-LA&dlPoGn6Ojg%*f{ z)&`hwMFyGAR^xcJuQlJPf|U7;C*Wr)WEP6U;D5QF3(ALj-990-+OQXPpd-Z1EeLOo zI?UWBlwvGAul^HYg+Z7sHrR^wyawuF-TXb^v`~w_4Hgn;NDZ|}X}V6Ee21IKIin_Y z*0mm+KRarK6I9e_4Rrfi0J)z9P%zZldd4^pIbFnC@=0Qo<>6kp@*|z4^y}}_qV#Nf zEY5<rx#t1*I(_Mdfb<S_ltt%TlD3<{JqyRIm!#$DT;VmC6-Ijx;zSF{jkp;HJ(?jt zGWMrS$xZ$3U+;OZFU;|1e8++ezZG*Yi_sY{-kuO6sp{;80(#zIwzU^|Y=?7N{FXei zvuLMe3zIJ9YWo0~v7MwKLTQd|PdB+wTp-O9x(Qcj|H#>s=z6(JUQu1n3Qe}E72zof z(qWzx`8;k2iR>{_MNs&f*rv<Dl?9autQYh!iIY;ZS?LsdpX`5dwN;zUK!>*Fg3Ea8 zb&E$68T(G7YZA^CQsD+-Gj08+jwo9ZQL6OZlGx&5*HMYiZoQ<Y#ShUTefv&Ht0biH z`d-eIO6Ekoj?*8Lw&FSS<CrB)NccxZ9BAR9mB9pRIMh;f5R2};8*%}mvn<*zb`e#4 z7=ma+ER$yx_OK`1u8IH3p=H^ivx5&Lc-M;OP!uvDocyZNT4)elP1g0)FHmcroD*ou z#tV(Cg`Vxs{da~S+z4~1<p#1QY;#n(<<?%*<5iZ8{|b4>4Ralvdp(c}xLn!?bj1-Z z686|B@khybG#-+GR#tXkjUosPv>!ua10L)*7_ciAz*!sQ%hhejO;?^KB$Z>h*LaPm z^9m14GC$DegC@&oqT=}%w<6cYazZ^kI${Ai7WYe`W@d@29VsobY;T1JoaR!-qXBTn zCVgNs%|)s-PmF;B`1?C^U}5O>-1&4qqEE@~eOcbx9Az!AG$pnX{btar9a9gxX)DZE zKMmSXv~M66YiMa}U!^K_486*43yvW5cF5{%j{Dp>aa2cm0%X}s<E^{Z698_d_gt!6 zm(f=e*ND>^(xW;4GaC0dyLEwv2hvO#2gj&14Vvz`-w64Vsfei(!^ni|)dHT8uoRU- z9j42b1{A?wa<Rzd!uGkXj}AG!rJzD^^5jH$bfwIfx0SsGj-w83&>?GbD4g^urRgWb ziU%?)EgI=J-Es@|vhGUuY|d5;xl$u)fYrO-;Q)bxy2vI9nv&L3*b7;VQkD7Mo~$kp zpy<Xxsi`-6P=E(5foW7kZcZWUUw5Gm$lfzz<?Ny+I)JkY#^#MkO%(k$sdaNpHgoYA zj88_7OxSgI1=J{3*+Zan=1bi8bUle{4;^dd>8XvDWE#_ehDv8Tps?pM31ugsJFl-` z%4fV}J%8_s)hqQRd`XpdGd_v2+9AIK)EQwwUe*kLUk4!%cM$pG2pW6*hCCV)g=EH# zfW`cA90+OF*rP25pcQW8@=_fhA3;YDNj6(W+7es8x{d-#Bdq?L3GG^SwbS|u&uNP= zvKGg*nP@1>txXQ4@gIjk)$9^d766E603kgC<3%KohOsM;`uV*N1+)RWBL9&o&!)QP ztDQzNj{$Q~l@)a_U;2n^n-fF1jkFsGyU91*8V_^Z4KV0!>Uizk;7EQmt1H89leBOK zFgv$3-26`ZMbCW2Eo0kc82<18l5}_S|4^*&wGewSjWy6(PI;fjO5R`^-96#d3M=$! zUNjxJ)j*Qfj0OLa1Y(8@XG>J4q-0<I0X+*3*nb4&QFfoJ=q1nzt1M6-w4q#|C7$3M zuryI%W-?F8hUd2X&&t~UfE%5e+Npyo*v*_8Y?mWLlShah1WPX;K122x2~~TmrA2j< zo~*DgkxijqC(S4eAa2SIw+JjlUYKJa8ie4^;s*PtXQu6*?3tz<y7Jp6lDL15r<g4& z;6Z-fIiuD<JF#dG3<wZzz))3kv$XhcwQRI}fJgImZ%sG7`g0uO>q?T{H1<^w{4~dE zBe$DtvZ#O2jt+wiRAZVvW!UYh88`-i*`TXk1EWRE2C&hXF_Vw5xU+u41VKF#=$k!= zneq`RD=eGLq90d_>+1cq0Zlw&k7IhTuC9<ZGFD(8;cNp`S)&%zPg;dBf~AS^;mM7% zlVP+9K^1{n0Ses-Ph75I3@2oGG#vK5Te{cnO&!iN<+T-zD=C)fZ#{{WEVk$-^j0gx z?V!D>t}~fIF!`&>>rl5%@A#*3eU1n;j%5H|oGkJ@ix{zf8KpvIAWVEuAm{4$tZDA1 zfO4saHRRzmy>4lTn%za>ziP6v_ZK>nC%5sc;;0s9wyojDDRtPaiOta=e?^h$=`D4< zH@R7yo-BUlc7J8MCW&EMJ{CVYJrc6!lb=Q7%02jm36B~xF<OMF{aKh(agT4P8NSHX zK%DWF!ZMP?b>Q4Wx`>;vipM|km3Wr7{dC_g+<xc(L0kz#e>CS*#|C@8(I5fuds<E^ z$OJem4~qTz%H~5YumD0;OGB!eDh7zt4V+R7r6!yvfDhi3CgPl^UZ3GoNmf>ye`aww zy+Y}&Qs%*P<iC>@KUXK*)mry#*>86LTz_Fi2KP}KNNtVBo-vecFhe4xJcTMm<+ACL zAjSr*vnbApu5Qq$b*eTKk)J|cR2UeP&PR~uC$+Onz2Qw@5-O`9uXb34GpQq#yAN7A zojq{nzdob-VaZRUjp6{hz;+ibUOY<M2dXL_Xv=8Vk;&yUe|oCbrQscVr9f*$u>*qg zE})pQZ_-Cn6230S4<Ik94+L2v27hKKm^UvbVwo4I6VJLDfOJ=LMiCEBumYHy77*82 zihN=maZfSXbSVQkG-Y1MMl>=W*?8eYZH>4Qe`Wo<0{8&Uf_wHHewATQ$TZF4I^Q$| zMHp#`?7qx&x4S)QfY;F8FwzB(w}Igyd4^ll(R9=ap#`|RxN8SXKkd&_4$~tB*$Cl^ zJ4Uw;U@zm+WGdY&`tp*OqEwVcRF`yTAfnAd8CL+l?+Kf0VzhD&+PU@&d5e40M_7^n z%2ZZ)!PWZ}jkm!`YfwqJ&wth9{r%)^{cve2BIb<^9yHHT-pB&C;dZIcL&6j%kBA<p zS}dsvqKJrgaT3w&J??*6l3dnx`Ck7a{X*=+Ae+Jq-?Pl{y!L-{GC!VZH6?dGQEZiS zDKa^lrh|oAG7Z)t-k^Q$y5j|Ew%AEgP}sQJepHc{!1CZj$_rzlppxt9Y`yC%&-{|b z2LMJPyy%B~nW`N=Pu|K3dCkc;Xch+*u%)RuP5kI$820(oHFy*aNG1clp()USn(<%! zz~iQR*xlaOkVIpTjyE)nV)4RNd_jtihOUlhN}yx-1F5Dl(Z@`lNSB@W^R{XP1HWOz zr9?M?X5T8sB3u?5ML8?y#ZQO4&eMT6^9w%ogVUub9r_}|o4wD>gSDIHldBlgj<^^v zLZ7+XK?rq-gAhWC&X6~uk7XJb_gj^K$6`4Q_QeLxk=i$~*>)*dKQFah+O+HlA8s9A zz=Tz&6w_uF{?-j50EM2T3t8vm;BcwCbSAe5!8}c>C9pKk>;%8)U2FbF%K&|pvFXhC z{>t%4(I6IcpyTe8g{~@;SRZ1cE~35#`Sz3e8jUYNK79W2eU)YEC3EidawOk1yj(Wu z6w&eGN9Bki@8(E-mv2g68GmhFr%gqcnlSiUFqS`ZV~AhL12KUsAYV-_o1ENBAgrLE z9UD9pSv0-T^iYDg<Cm;L?Wp-;5l)IGU<<Zo!u%nHcX`7;`^g_=bk)A`gv)jWg`fHR zPGU#7!H$iLM+5rHr^Ht}Xh_(Yd`R4Y;O5-Zl4td7k=RlTUnt|+jR4WC+t)W8D1y*^ zYb_-Uquwb>535f}6IBvlskSs*P<>n9Tu9_Qm6X2!wNg4-jL;>Wi4t)Lc_PJt0KMW6 z1v6tx0qggR1N8*{tLRA_SCnAXn=#dJlt5diz?L7rR&8|4F~w}S-IK#9R9rJ)BgL*` znmw<C-=s4iyEec!Lw;5^U8B?vOi1avzQfrU7^s*3&X@=nUa+t%+J)RW@vp^scF--Y z1Bz>*-?GD|GA1`pTU4=MLE@ILbV~GJ2OU)G=-^b`mk*RU*H(V6{6D*anexAXaT^S^ z4<FVf&4ez<ZBVv#;Xkkjll-PJVf20txy7y^pNr7qhn4$_;oDgJ%YhRD&T^one61o` z&pjGGOWWzBDp&om6;15io1R*RdZPmtJo(pmb94F&N7D0dKhe7B7;Pmgv@=qnZ)q>} zbbQN#tM7Y;=%B+mlzU>~uddBLs~`_*RlQr^0D(P4-N3AU@!{7?@WS5Q%gB@*pLKg@ zY{6BHm%@rJk5OG%$v|IFAC^M-Z4QDl@7X{a?wnv<$>t}em^~9Ku(TGQ4}Z|s2}WV> zcQ%cFxH&W)@C8rI<Tm-RZ$7{J<tP;R;J1G8@Ue?~d%SD&1iy&bl7dJR7Pz(n?!50) zf*tu`4gw<6eT#Ww$hZ!sPaE?8lt4;@BgG>*Zn+%7L_+N+Hn{D^hKYYqKAH8s3#>Bw z`Xim2=!!ky{bT-Y1cfMj*5>{X<YyfmUj-Z@BN^`zhrClG_r-V^ru{m`$tz%cqd&9? zK41pF=Az3aJndV1{?4>X+`B<)W%h#e8UASrP}`u#()?EEKok(1F?^@}L>1IP|7b^1 zLJZNEcg4Lye6#>2fH13RHnOhL1~+R6>-87(&cxt@ZNzy+6C-qpH6?rX2##ywOa=8s z3ZTmaG@jxh=NsEiGF@(a5f^erg;J9$ViPsnv(%%E$iv(_NavkRxN~?Vv4r@HwY5;Z zwLKt^<_qYpy~1$hn|rE?vc$i~r=mg2P_VoeE&Hyor-yoSUAK0$WXQaD3+J-S9$Lmx zl*IFEXN@^=C6&(H>5YUn?SQc4yQ|2th#ufZ8|<q=NbBV<ch^WM!|fL@HMNI@mr-BP z)}Hp9Xg_2E%uR-DC4sQWZaGNWD@7sw)j<R71>7cj1P#&+5o^#<NKMPr#xqMv(#9xG zwK(wi0(NQAL3KI4?>fW_zEBa>XCgl>&v0{kg@?_9ggi0)Y)Jb?Lu96=eNeJ|A~^`w z3+Ggn<;#*JLzlCVsZ}cqxBSH_cs``1k#8C19t6=)V8AdwQj^Eqp}hSdN`N<l;;`V5 zX8L=tO^SQBfN6b@BuoZe0_jd?cwHmNu!<0M;JYpAVeB7Uw0EsOywMc|qHdk~HUy$g zx;GV<0+%2x>JB)E>9Xky*$;?TaRmDz^LOUVGciDl6dq*&&E&ya#8cTZqbBaM%HBt@ z2ppEX^}g@-QrrS4(pGlIx}F+98@o7B03Px_28{VVL+&ZdE0~A9BWv({sok{+5K_m! z!4|uQeyQI(0azjK*8tK<{b(X1z+S*&Qx?^B;TJ-+Mb@gF49B+#^jCtx#ukM-o?)wT zKt>bv|0~MAqE%vpT*!MwZp)8MD_?XQV5J7(49!kB`5%>`0ucVQFa47PfgIYz<6za> za}Ef|2b?&sdYJedv4CBh-o>jw7}RBmLkXk!DA7SF^}W)7e@p1|p7KrC<RQH|4^_CB zXQ8Mua)BGScFL*ivWu5~v3l;Dbls(5A)BA`+wuH`7}}>;d4pL*#aRv1VRKnt_2e+A z%fjOz_cG`>ejk3Cs?U5(hd-PP{ic*E7ggOlc|i*BTE9z8yAJuPdqe{>%mFAtltH6X z;o{`GnK-w2sbkl4t&fiI+JW2SKKZXJ>Z6ecx?TKpdi_ZhZiQj=&+~R1#LHO5CqB1z z1NHOggsho!`TFJsa-3+hm3_WrZmjj?_Hwd3I_Ho6!}Aeuct|8%zv$=1S;=R%T1oQS z1qJ3KfcZXDh%ByvOx!HGBkE`M1wA8B5k*(s&rFDOyu-j#XMKc6)04r+OdU~MUfYK= zKh}pJ$qF#b@ATJT2H;e>S|#<sDT9^zMEiG&jVii9%m+XP*VeQm0t!L`NMTCvAH=GH zLyXRPq_0Uy@Pn(9)xv>3&G8{u4ThGd7nDiv9I39bP#sOD)iUz=@QO8L!0-6ocurL2 zszrV?{7K=)-k1m;x%FM1<s#2sWU6Y$qm{l}Xm`Xr$R{gR{Ru}?>&>dyeS8yQn*0dK zm$3v;aPnv*xHXJd*IbFW!-jcM)x$5-oK);uj<O$`mEexLBAqRe{t!W$pq`iS2g#na z^2a{~oJ13CiCy6#q*R1*+0IG{xWW_f&d+Y;wD!<fBS~_cKc>?L*K=td&>|j%h?KeO zPP*gOrg;*(<$KLpQ=Dr=AuL&r_lnIM?zc*G_E4WtTZe&ZKy+<dQ`a5i$HA`>c_{pi zb~~uZwL%r5p62T1=!#)?U=BDvh;QK^yU5=m!up&c={Dramb1H%d=d${G|_@YsZzR= zaEKcgK&-mDNoHAIqLmzQ_dB?MHP8`~>Q_ueNEi#D#f)<_P!_P+IE;>^OBgE9OBs(c zp3}KNpwxlot%wK!5TpF}zX0fw2(6rnkNpD?kVy9tiv!>WzS4B>WxzMq$QM1auP)HI zvu=#sWKg9wr^H(gw_-7f-UzSn1FQ0lS=c&R^!JRjf{37qj^mZ%xIR3kD3-y`7<E+0 zo(hj{VZq4}HpN|gz*WIBkLsBuromRIR{WN1vnzKermTF<2$rt~ws6DmpxD~~1)3dY z;&xHhTFUBnD-uvq-}GNGruz6kfbUyc-T1D<7iH-+1U}*D>XmMf3PE1L_o9bQ#y}}= z4{Y>{D3m{rTs-IER3lY(1b2$z!kg`N6zeAhfcFencD~~<8pp!{yidS=d{wG$a;}(z zj98ZZpsQwXCdbpz+9R8~u)3$Yo+S2f?Pl($snZ>vY9}%&6klpsE^wOeLE!Dns~dm4 zyt;YFllS4u!VLhP#Ts*R94uCCHYu*}X>CQ2{hSmvHN2;B64{)3ju#gxyH&nYK~tL4 z{8Wu85CHtfVKR)fmUr*Hh`=R;?%d}&6iNwg6NNb}WX4Ciu3^!XeN3=C8W<%3uR#9} zFK&8u<DCE=*a|Nc`dBPVVBK601z0XR#vCgcQ@nw|8v(ou;J*w9^Bad`VOBRO=$!-~ zV3Ddm_9|O6#GGSx3YS$0QK&U2aG*rDU)kqgoY(?Wp{s;(of2MHEQNZ9l(YNMTV69< z+4<;0XcYGX@n8s#Bk=>O;-`X8TD9!OlC=$-D~!vra7KUpx8cg-_f+?JTz?3HzZUU8 z+AbTisW!SK+-`0fU8b0jy1*+*$fx@{55jpMu)MnQSpXl0@C6WG1aM<|Ugf}1578pQ zxd2A$D1{JhFc{l3Mn4^uD2Ri|k&R2*8RjLjkXLF+!pw5}@z3r(MGL6Cp#3}ItoZit zcRpkH#w(SAWz}kng=%WRdX9r|2LN{janDv{FVJMXqGu)PSJgV0$`KPF{xPB@E1lch zm(p(_<UbO6k))IDsH(PRz#x!X+IW~f?XRCG@hy$Tsh9}>?j+z&2ok0pGoqtNP%<aB zhiK7?a$DZ5`R67nH%E&aL2n9^vaNK+GmKIwC3o#Tg>ppihtS7umFHo|LD-|gWZArK z$O{4JyZeT2$3P%L+zC{3w<E8$rY@&w5kk>nR9lT0?G=bf?Cj?L+!V2E!G6i5xqc{g z{!0M<!6uyQ1*QzMS0TrcjScNHQ6ZGkJ@H1FqYN(008yu)X9aTE*LfOIr`#me8Ws!g zXx{**;6OSQOVt7B9DoZ+m1}u&A!|6CTu^Rm8DbWIlZA5w_8FcQm4+&NRmno~o$ODK ze2##iw!$z%s4ojpKtF6}XlBQCf*b)f@}d7fG|f>n8OZnoFKVT&<R4RHB%r96%QoXQ zCx`4{c@!s!DZVj~|C-qsw25)0WF9AfdqgP(qpqb_y;G#hF%E?VD?E=9kdGaHc8H_o zhI7!xBJ8GjrR2Kly=8#65Ge5BffUmHoqZ@L?*{#1(8@(bidmoPY-U%+&?iO{p`>TY zu<b@CeGSC!vli&cO$!ty=tYxkV4{Jn4;DTQj>%grYEA``Xw}_W7=RBgdcp{zh&$!a z2l|n2v5!oycv(-*QV~L{7)Inm#$X(Za-H;%O+IPmA_8~7Fj}(dcV*mQ;WX`=U7#wS zHwMR01Zs|!*ptpM;Iq>ioE-Tl0ckqyp=%|V5tU9DoP&UDk=h9_7(l|Q)TF9<`%7;c zt}I@@Z37v<{v_`0)RG;nzS^)PCQy})t1a1c-R^XLLb)H=ZEO}spnSNZuD#V^RUbmi zh@!HVf)8~QR=wf~L3~P3?3B?Yk7%(??*&XEpBS<9hfDMD<RVf9qwX)`*a=TrKP+@? z8ZVjqGpZ(8g|lXSAhtQAJYc6hIBER1KiO*YPh%i&B5`>L<?^^PArTm<gxIAdJEvXs z6OW=TO^u?rC!5v7;Y2xqRwP*ZL_5|x=m>$9QBWTuy%s6^-5J_p<)^6{s)%gpV{4kC z4~0M{Lalg01aIeZr!FLM&xNU4ok}__l{`%crtL9e;Kb215qNzBXIPX=%V-L|DEF89 zz8_L*@7RWc3<nDW^!&1D5<`j@f=rmVO{Y}ky^>g<A#t)$anhI5lI*;UNqq$D<SJ9i zz<r;16ZB;XdD%}ylARRt9Qoo48N7h;tZo+a$P+ORWogH-<r<TJm<TPl=72KS@9t^* zd>B%fAXMR!bu>*&Y(pTICxkmgmdY3*PC`N*9X=5b@6=8}e};@-&l|2R>R@;f0DL8Y z50<BNfx47^2G)g}0X7yERT_8ZkEYbi6V^G+-%}6t$$al!$fhFfu-}C~q;J#%X~woq z3OP~&hYnVDV_WHrh)y6_1wTFvxL4S0mC9l&L?YFyePW(LFQxxv@{+D!CUn+ReO<8h zBbr4Q>C6YPs+}yqo>K^j5VY`N02fWO^QSV9;b7q=0MGA|G9?%?Cb<30UWA8^Re~K1 z;dGe?5M}YTtTTZ%%2L%0P+u470cLti6)3h{{KIG}ZIDH@`lqZult%NGIlrNNo?jkf z3UF_2YZb*f7UMnLtD|%%WDyFri#*0p$=iAO+zb9i`5#{q=_+uofprJd|J-x_;!Ow5 zK*p~N1$@9^;Gt$^IWe?PlVvf(O#ZR-@?1#ENDHcpcq(316<(!;6zwSo<%OV)-Kciv zqK^_xVku@wxlsv;1-WLPISa)`(l<I45}vZE4GwRm^LV8oZ^MM_na-;sWGWHzB4N)| zBri0m64F6NnVRxIG&dHa8wpW!Cen5i0(c*Qi>KZ6Qya)|upko8V4RG@y3nAoD{~JU zOL_<u*OI>11UdOAkjez*mSL9_LbhQ>bI%L~5c%o~Rn%9EI5Q)pmNI|yV9H&{gg$i_ z4>OUSJiR>L9^oh=$Mfb|G$$YJB@0j4Th^0L%q@p)GFp+9$MRIL8ti2y2cW=i5Poyd z6uHNCJP3w^g*O6xgX2;lPq}S}u}JZ)DQSYC6xfD{2od)`SNTb46-ZFfl+b5$l9M=f z-!OKv8t8<|AE2m9>#EnP>k}n}Ubt4Fnq^?Tn8LW?kfgEj^fAOyAaStAgRts)pfQx* zDYD%x6Soss7RK1-fLT^ak$Y*%2Ih*d+jIWnn`hbc+mPtj(?MJ>dRl@j@z7Se<<tqw zpwZMQBJzaD+fk@^H$166BS{TIA=XbNBo@1e<{%D?-9WOElwr{rT1KoC@UxdKMctAo z9b(0<H=Di?tG=Q1>S`iYG#0zJ2*cE14ir?J*pmu}3Y@EWS|&D*<cNr}@UV)*Ipw8R z6%*G9`1M(L`^*M19PAuI*v*2-Mq7?1+7f?zk}>UVSKa7pUvwKWK2J5w;_!J=54}Ng z<-9ydilop}a&H6!Y*-}UXUl4`ePR*x7)*t985XXBu!5@mu98V(F~?P522623DqyPE z&6`5lP|b+qff1$hBoTR}im?hGmaxzMZRp)as4pI_EUq7N0~vqzb0O~Uokd{_8ZEDf zuDHfPuVzsvv0-)dZPT7eMLSJ^(um%n?Uq~^;iiadGA2z$!HuC;Bjsv^4126>rQE|N z?-d&%z`F|L;{uAEhPn9MIHyB>c?Z3Z@PqQ=Y+0`)X29SynZ>tg6IGoW-PTC?tNCV| z0G_{{y}m62SzlTBJb+)0H{%mS`jboYGW*FzDz%X&T7;=#NvJvImHGi=!^k)kiW6sI z$R^YZRuya(%k8m}6|3Y)k|!ER^g=Wh_maZUg|-#_D**>NS7Su|ENT?I9$nPn8<>3F z$7-Oik+D!1ac4|S(U_RJ&YQZF=n2erpeLa7_pB^_@vs>P01Q_aE`pIsi3%Tnf@H<w zGsQUtN85K)G%KY%S|Rm2F#L?U^~VL-v?sllF^X|MiegH|+>7P^h&Ewzl{Jmk=&r8- zDU}E~3uzzLNFwc-CGVuXS2AI<B?eSo8B!(NmHy_mpJ^DkiJ<B8yY_Hp;m|$7^i{)^ zdtAKTeSTnb^oa8TeBK{XDhFDtARf|Ds=LOgZq9mfE!r+P70I$IjU(fKaoBw5q44om zfgFU2HVSkpDL2@aD}d1;x6>r}vYXO%2l_%xQwXEW>ATNk0bV$-o{E=9n^%EJpcD)R z37t4~yeJ9MP3{T>LfTqcU65?(Lyl%dx7^oA_>}|M;s<0P!@<ISKu<F~i>|m6$!~T@ zUSv92Vja8FoC+G<Do)$j3*o#D3*okLS7cBE@umAXsW)JrsbtO?2})cR8hH~lbVr#x zBlB#s_=9@SWTlye@~y9-hbWV(LqU%P2{9G`O$tsj)yQ+<j$vwmVc^;TOr1Kt0!u=L za9<S6Ao0}U`HNQ_m=8DzujSQ^zX$ZVOr?$BUX!%<^bgx(z!CVWe^w5do#eUsT&ra6 z&?)*k8GVphY9@(|)bW4g2!Sx0Ly?PLjm@qqb8xbtm8`fbZ49EPHNl?;9bG*555f#X z@<*ORY0nR@qZ|Ivv@?(7Li7BYc!x5fU8PTv2p4pF<ib5Gi$8Xtd;8#wDwcLZ_@rkO z$|P@cP%jn4qT+%oP$>+#aT2uVnW={TnfmDEy@UztQc7S80irLy73^B)O;xwE!a>0v zuW9Qc%+JFTtR@;q;lRoU&Z<77rp99bxf?y#{vUIR%8Pl@!M0s`>eVS#{1<^dTTGxb z>n3W4iP#I^Ne5$V9~1)_uI&6gfS(3%qvvVa36Qa;TAj$5+Xx*6!^PgNHzE|-9G|&H zenK{n)ZZN2QElErOYbNoI4ne*U|%}MfM0PMyYr{0Z#_l|!D7wBdX5fNW`QZFglZ!o z7CmMfh^?fy?WD>TJcG?AN0Y`FbUWE{^ArHyZWN;u2ncy{G=UocJbus0;x$K&fsBph z?GS#)H#CQDfb1{nLLYgKSJPkZn5|U^Vw5seRjgyqpj;7Ds-WdCFA66IimMV|syemh z4JH&)JLf}B%wW}3EhqAnola5TaP;#^+bmb8nKPXtlZa4k@Z?r01`QHt^9{NDO6K`F zWyQ!&$aRn39<D4NG&RVBW+3C&^B}(3p(s&pJkHE>$0f6vfkUx~G*LbZM@Ln#loNT+ zKxYv2VOsQFEaYlvlzU@b5Ro*6Vx@f#eMFv=6phh~eMAn_o5vb)PbwOPN*IWz47Kt& zXf9IOBj?Jqca*B=Ns~ApCi3nvm9R!(^6LQnzXx+e^B@}tmUr(x72vx8oSug1IZnH6 zA!X6!RwcYC;RuQf?D;%q4YC6E%}`Ab#+VB*Jp~E&(@Z8L&@nsq<t4g$Pv&RlQDmJG zjJ03ZPPR|Y(6lpH(8bSg3{;U+A5lu;QB4+3s+`pw`s5tKP{93%=P!QYs5X!hs<rnF zfR{lyC2wMc{^}^nhkoQJ!lmwHR?U$}M_4U*=kBShmb2*hjT%4!wc=R8uL8%~-?y8c zF|3cqVA!s~NPx-h?{<5|1iJc)*5H(eV*46MQ`lqd(@<v5#L2-(Lm~P_8!Pl`94uT* z-~oHKP$)SXLacFpWal18KSS!KN+PfsamJXi%8Wl#IOSAT={Z?qL!nPQ&e)b0Mqr?O zFe-<HVAt+!#v$Z1iK+?}J1fRO_UKAS-k2ZogPyPIya{Wzt0GZQMM0NgC}yf>7`_!1 zFe{T^BDcWG<dF<YI8~{qWsJ)Kn-Fy)fS)=P#&O6DWSq2LEMcW8>WL<)4b%>)2%*ZN zo4Th(=9Aga*bCKgJFm`eGP7Zu(>heGNto(%2O_jXSrT5ES<fCk3usW)$|sb}*`~^_ zQ2cjgJeiJ7Ad5+)0oV*isDe$^y_Y4Y)^`6fx40NEL?Kj&VjDEQHKeQej_bR8`fz3O zwTEgSA2I_O8_5L#UsN{i#7%D$@G?WV!{0ME3qH{fbn)C_F84dK-FGE<(abP3qaBnw z_25Rdl_LnOafKiyMw#}9tU;Tx{jtU(dh=Zd<wq4#p;fbzf>fJpSni#K-0$7}j3{5{ zV#X$zl~n<}aL@URhjhTtAvKWk3jV4kHTotXtA-a^YYnnPsl(XI=}Rmk)=2l3ufi5e zjs!|1P1OmX*u;ic)KYD7sYS~DaE=1fQv+2vYqQ2I%GTx}%4wc^$Gojtn&k!xlv<gt zK7vx9AqrO;6wG+?#Lkh*adfsEMB(+4{>P!-zQkd8E$`lY0*Kc^cvwPwOmfVY#i@{7 z_cTO1<fsecJEYeBJeEV4S1%HN`Z8TRmvF*J=lFY^@_h*NL{w+n@Y0&OAC{s!2y&ra zr6#VUjo7gd7La3{B9_a8<)q65j(FfkD2NCtKhs+YK77y0;@55w1~NvrZV%y203VcM zip0kC;Z55)XW-y0s>m!Pp}vhZVP{fBr8;t@RCAm9v{fsB%({VSzy;cio)-4r6;(u` z`cNrN+zKpkrp&ggWJ0|PqQs(j>YL>p5*7ywsmVk5P60nSTv`0`;n=rxhs!{QgPqp` z_+dc*!MIx@5v`~bx@5cRQZzC`T~7c5&S<o0tvn@t7oJCre4hqY?@lG{f5m(hrRcfp z=$!%UZ<181zZOWRye^+-Bw&^%(I(>DViee;rI*KmOhrKC$UI{fH4|>dFqS0r7TMk* z@&f=Kakz}*uzC;^ZrusMzkoQ~7Wim&W`!-PY3vCx)E}~xA(gU^NVOUC7ZQu;&%&<6 zR#9A5*k<ae=n20{M<Q1%sY+`sf-BF6QkdG5i-7(xp@D9d>bVSc*a&6!4K)?xL^6I@ z#Dj+`i=RE5`*rSc8^~~F=Vt*v7{Y&gM5AhYmeHz>?K|pGYb`>mm@UeO1FEQdEkHmY zbGxB8K1x(5ktC9Gntc-l_~=1Z1;~ePKBAC`hjG3}MU(cDN)n0$oFx`QJ2h73YU3|P z*N(%~VIZ*7$#ua&IsX#x#St)$BjQ1fC;0{dZvgQiTTwRHN_Tou(4?dpKCx}avbmv6 zu`ACN5aIKh<UstfT@KQjfN=J|HCMAIjPdH~9)UVzr4dxLvf8?Z%G;Hb?Cd*s=uD43 zac}R-qlFbBSC4ZodW1#`_#O!7?m7P+S09Oedc+K5Y$PWGxERDk%Ww-ZJfWX#WK~fb z#70U&Gny1OP0HdqaYcJrF6tobs?D`GXe@ds%)2=;1+L!LH{-QnKv}IXSjnZxtBM#{ zzG5C|W#~3B<WeCjXpBSPzY_S7J?Afe=}7I-BWfUHBe^X`GpZluPVB_VX4bX}Y~d(? zo|Z52!1@mAzO+Xb%7#1!eoH(TT~}Rdj5Je%O}lNscd52K6G1QnyQK$nd7bB}bzOie z;9IugnlC!`c_Z8D*>x+DPORZV0zZ8?pxmP>2PtxruL5`si04Muj~57uQu6X32z}fe z6Xt}iIMES$0T$FJzy18EJ>}>TM)|sD-eosK1XfDd4AWLXfuus%*&Hd1+EEI^2swyR z=pLb)3h1SMWDqVXkJ|RdzwVwDzH9UI?7X^uSpt7b;U|u?aU2yM#J<j0-TM>?e+=L@ zU5da```7LfO%d-`AXQnH==mkfp3i}fim1OTn^lfWz6Yg%dSb}ceTS+P*H@zJCy~TD zeN<exWqbEdb;8#S9;A{Nh_#NSg+bj2@Tq%N7XR#M*^@_=fs8}0A0_c}0k@wR>huKF zeO26wr9OFPVnbKA(O!X3PO6Zz_C|J`GP`)YNVtJa4)@on^9)XWR7gpEkwd6qBxKTw z^MXACgVgu9RCG0rEa^)Gp0H<S@%2a3emv?7WNakM0A2&&-ssPfQ?xOmAYVJ6EvXzm zhkI{@rpJ@?Hf%)f$R^r8=_b*te5eO9i@!N)W6dYO`|a2>rmjEUnx9_-wruRaDtHu< zj~=C+P&~TGM<G3G&-wSb{Ak;Yb4R0r3|Dpz0XzuAB~0YroE)?pSH<*Wn;X#2laXqv zT~5e7in}OG!b@vHUiCRoeXZ)tcC!mL&fST&b)RQ}fcR5}9EydcSKXKHQ7>1XsYfHA zn9jv8=3?ZbFNScxqtQ5yS_2sy$>$+GQqXS$xUqcvf{T4yx|Z2Iw!R_PuOWvT#i2}2 zI9~qee$1g#?STd~@TR~LAhnbbGwBchn-I~&?DqEv5uq^htgGCk6@|#Z3pdS)cEFH2 zW^gkXC24U4(K_dWjVm6%?*;(R0`TZP=WkCp_f{KX6(QI65c*qzi<7hO{yZbkEi7hF z6iK{_bhb>OO&vs47j;|TF{qPJGMh>*x>Wz@iP~)a$AnBQy&hekc>TGd=-1FoBsT!7 z@*G)yK#kY<1cfK;Ie+n;NBiEJyEz!haAoJ)0e&-qSM<-zE4p#)<RRo@i4di0l;kU` zkb}q-XxG}#VpB`5&?i|%{JIu_WE>9rGUt5fIjmP~^|H)V4)i4Lo*muw3bK{|G|`fj z;B>0U|6<4T$mLu};J!Bp<G9&)5C;YC-utrv{sh3ODx@%hs`%Xz0AoU2CD)kvFMYx! zwVY}@6-hDm&SOYfp6EGguPYrjf)vSy46_4mOHP-Tm?S*Pe-+<79zaRub@bz_DLiG* z`HO#hbJ}k=I|CUT$=w9}Ax3JB@Io{_kZe(-sJB)$lmu?J$*eRXOshaK8rEybK2mRn zI%RhCXo9Hs6Rp=!0FOHlt2n$UP(L)GRV3Ae7$kqp)Grd3NO<z_{Kd_i+g`g_8c3I$ zT=^(~y8+xi8cNq}V^kN}1JEbzsIT;<B6^P-9>~o|mC-PTP&F~bTv=?9Ab$;|GGP37 z1US|`g~q$F@C=3Kc4*Yhg};tCx&dHi&&uNKZmxT5?&fSD!<EIRR`Nms*Sl?~Zh~r_ zmS)BX6QP9&0Z(!`W$+_Pg|=Lmh{<ydlDw(7!DDF@oboAdav3VfwpEQ<1!1<C{m$Mh zjR7s>3-}Cq-`Iw~4(g8}oON?Hj+?y)2}suxfIkNC2sc(*6)sdjP$4;1ubyA7Y*%<t z_s&T*Z<gKQDMxXA;pLpzBJEa@D>MRcPEW*HL@_Dae~#*ZH(}aqLHydDmBo+U686<C z#z0Jd@-P9v58yskKQ;=Gv_oAOC@Vh9QBSHKuUmr!1*OBq{5kywCMgm2ca(c*wu5Aw z_JG)4Ty^|8o)il~Hz%qf2z)Pu-yEL5c<C)^Kh53J3}nyB&Nl(LFQCT?_^=C@Xhv3t zLR_l}o6e8ii@^Z)qBz+tEu@zj<;CG$&_!h0dh`+g5@DQ~WBOWz%9J(<^a-{hAYIOT z7<Mm+4*>X40^e~<GmcxN2MJ-<9DpAq^lX7=r-U^$1SKM%IweS=(u#^`6oXVjIp(H2 z{hQ9mkl4F^%J!5GUN0sVYLp?7CQnr0wtCS$B(1RYJ0p(Q2O&HU#6^2n7IjPAL$_!H zF=!VF{-B_z6Ff&DiuOifrpTuL3Z~F1(hTLghQffDq9GQgHwf8}a`8=35E7=VIK^8` z-+=*%iV{0+y0rzth<~Q=!acV@Z*i+Nkl<C$2Jln>k0W$4QX7)oMAt-!ECnQ3&^S~! z#CGIE%l``g%PBh+of?Ac@JmuTW3M7JZ+zlP$Dv$G!uMYy@b?m4JUoB#id)luxz!m+ zm&{*zTLF&%@FW5cL7p1Y9+`I1kpd)J{nQV{?AldX;95xIOL8I)_Cp5IpF!O??KYXV z_p5rsEj!Dz$@zN){RM=-8=ilUYj2JF<W_4S!K<7B;HLmRhT<6*_g=VADTFF4SW?yF zbsk141+|rEAuuD!Dgt5fOe&hdB9#QScwM3KdpU#)LA+wm%Hl_F?R(>xf#iJUEP#&% z@Mu8af;8_v*3;o?9{rEl<6y3qAsV@&dL9!euu94)Oj(nzhMz}&c^`pSL%ML!`S;j! zY!@6ekSW8ky*mJ$1Lzz94+U`7px70%jY{dUqDB@p#74n{p_8xf%yMn(tT(*_Am|x~ z`$fEkz*_)Zx@Tqas$;8t%s>t_XCc6|1l=FN10mcW#J$l7OcW1R7IF$9Ptt@^_6WUd zM9sKlDxp|i-q9MzjRZdo;9USN6Y#F#%Hl_kt>`fWIUM2G9U$CiWGFlfz?p>Z4RBtr zhS5`daO1Ag<upZkoITu+KqkBr#78Jx4q}f+|NFt=%Hp-hR_mC798F38NrdhJai^%A z02T?{1;A+%?nvS^0e2*DTLHHlZ~l`o`a1}GMZ(v|8~@7yzbff!64yYuTEH~`J`LiN q6s`odSK!{^%Hr3LJ^h3G`u_p9Ysps&{ot_x0000<MNUMnLSTY74n=GL diff --git a/app/assets/stylesheets/application.scss b/app/assets/stylesheets/application.scss index ac21c809f2..05a3093652 100644 --- a/app/assets/stylesheets/application.scss +++ b/app/assets/stylesheets/application.scss @@ -189,192 +189,6 @@ body { } } -.form-container { - max-width: 400px; - margin: 0 auto; - padding: 20px; - - .field { - margin-bottom: 15px; - } - - .file-field { - padding: 15px 0; - - label { - font-family: 'Roboto'; - font-size: 16px; - color: #fff; - width: 100px; - display: inline-block; - } - - input[type=file] { - width: 280px; - } - } - - .fields-group { - margin-bottom: 25px; - } - - .boolean-field { - margin-bottom: 5px; - - label { - font-family: 'Roboto'; - font-size: 14px; - color: #9baec8; - } - - input[type=checkbox] { - display: inline-block; - margin-bottom: -13px; - } - } - - input[type=text], input[type=email], input[type=password], textarea { - background: transparent; - border: 0; - border-bottom: 2px solid #9baec8; - padding: 7px 0; - font-size: 16px; - color: #fff; - display: block; - width: 100%; - outline: 0; - font-family: 'Roboto'; - - &:invalid { - box-shadow: none; - } - - &:focus:invalid { - border-bottom-color: #df405a; - } - - &:required:valid { - border-bottom-color: #79bd9a; - } - - &:active, &:focus { - border-bottom-color: #2b90d9; - } - } - - .field_with_error { - input[type=text], input[type=email], input[type=password] { - border-bottom-color: #df405a; - } - } - - .prompt { - font-size: 16px; - color: #9baec8; - text-align: center; - - .prompt-highlight { - font-weight: 500; - color: #fff; - } - } - - code.copypasteable { - display: block; - font-family: 'Roboto Mono', monospace; - font-weight: 400; - font-size: 12px; - margin-top: 20px; - background: #282c37; - border-radius: 4px; - padding: 2px; - word-wrap: break-word; - } - - .actions { - margin-top: 30px; - - button { - display: block; - width: 100%; - border: 0; - border-radius: 4px; - background: #2b90d9; - color: #fff; - font-size: 18px; - padding: 10px; - text-transform: uppercase; - cursor: pointer; - font-weight: 500; - outline: 0; - margin-bottom: 10px; - - &:hover { - background-color: lighten(#2b90d9, 5%); - } - - &:active, &:focus { - position: relative; - top: 1px; - background-color: darken(#2b90d9, 5%); - } - - &.negative { - background: #df405a; - - &:hover { - background-color: lighten(#df405a, 5%); - } - - &:active, &:focus { - background-color: darken(#df405a, 5%); - } - } - } - } - - .flash-message { - text-align: center; - font-size: 14px; - margin-bottom: 30px; - font-weight: 500; - } - - .form-footer { - margin-top: 30px; - text-align: center; - - a { - color: #9baec8; - text-decoration: none; - - &:hover { - color: #d9e1e8; - text-decoration: underline; - } - } - } - - #error_explanation { - background: #282c37; - color: #9baec8; - border-radius: 4px; - padding: 15px 10px; - margin-bottom: 30px; - box-shadow: 0 0 5px rgba(0, 0, 0, 0.2); - - h2 { - font-weight: 500; - margin-bottom: 5px; - } - - li { - margin-left: 15px; - list-style: circle; - } - } -} - .no-list { list-style: none; @@ -415,6 +229,7 @@ body { } } +@import 'forms'; @import 'accounts'; @import 'stream_entries'; @import 'components'; diff --git a/app/assets/stylesheets/forms.scss b/app/assets/stylesheets/forms.scss new file mode 100644 index 0000000000..8abbbdaee8 --- /dev/null +++ b/app/assets/stylesheets/forms.scss @@ -0,0 +1,182 @@ +.form-container { + max-width: 400px; + padding: 20px; + margin: 0 auto; +} + +.simple_form { + .input { + margin-bottom: 15px; + } + + .input.file { + padding: 15px 0; + margin-bottom: 0; + + label { + font-family: 'Roboto'; + font-size: 16px; + color: #fff; + width: 100px; + display: inline-block; + } + + input[type=file] { + width: 280px; + } + } + + .fields-group { + margin-bottom: 25px; + } + + .input.boolean { + margin-bottom: 5px; + + label { + font-family: 'Roboto'; + font-size: 14px; + color: #9baec8; + } + + input[type=checkbox] { + display: inline-block; + margin-bottom: -13px; + } + } + + input[type=text], input[type=email], input[type=password], textarea { + background: transparent; + border: 0; + border-bottom: 2px solid #9baec8; + padding: 7px 0; + font-size: 16px; + color: #fff; + display: block; + width: 100%; + outline: 0; + font-family: 'Roboto'; + + &:invalid { + box-shadow: none; + } + + &:focus:invalid { + border-bottom-color: #df405a; + } + + &:required:valid { + border-bottom-color: #79bd9a; + } + + &:active, &:focus { + border-bottom-color: #2b90d9; + } + } + + .input.field_with_errors { + input[type=text], input[type=email], input[type=password] { + border-bottom-color: #df405a; + } + + .error { + font-weight: 500; + color: #df405a; + } + } + + .prompt { + font-size: 16px; + color: #9baec8; + text-align: center; + + .prompt-highlight { + font-weight: 500; + color: #fff; + } + } + + code.copypasteable { + display: block; + font-family: 'Roboto Mono', monospace; + font-weight: 400; + font-size: 12px; + margin-top: 20px; + background: #282c37; + border-radius: 4px; + padding: 2px; + word-wrap: break-word; + } + + .actions { + margin-top: 30px; + + button { + display: block; + width: 100%; + border: 0; + border-radius: 4px; + background: #2b90d9; + color: #fff; + font-size: 18px; + padding: 10px; + text-transform: uppercase; + cursor: pointer; + font-weight: 500; + outline: 0; + margin-bottom: 10px; + + &:hover { + background-color: lighten(#2b90d9, 5%); + } + + &:active, &:focus { + position: relative; + top: 1px; + background-color: darken(#2b90d9, 5%); + } + + &.negative { + background: #df405a; + + &:hover { + background-color: lighten(#df405a, 5%); + } + + &:active, &:focus { + background-color: darken(#df405a, 5%); + } + } + } + } +} + +.flash-message { + background: #282c37; + color: #9baec8; + border-radius: 4px; + padding: 15px 10px; + margin-bottom: 30px; + box-shadow: 0 0 5px rgba(0, 0, 0, 0.2); + text-align: center; + + strong { + font-weight: 500; + } +} + +.form-footer { + margin-top: 30px; + text-align: center; + + a { + color: #9baec8; + text-decoration: none; + + &:hover { + color: #d9e1e8; + text-decoration: underline; + } + } +} + diff --git a/app/controllers/xrd_controller.rb b/app/controllers/xrd_controller.rb index 159a954b37..003ffc1820 100644 --- a/app/controllers/xrd_controller.rb +++ b/app/controllers/xrd_controller.rb @@ -1,5 +1,6 @@ class XrdController < ApplicationController - before_action :set_default_format + before_action :set_default_format_json, only: :webfinger + before_action :set_default_format_xml, only: :host_meta def host_meta @webfinger_template = "#{webfinger_url}?resource={uri}" @@ -24,7 +25,11 @@ class XrdController < ApplicationController private - def set_default_format + def set_default_format_xml + request.format = 'xml' if request.headers["HTTP_ACCEPT"].nil? && params[:format].nil? + end + + def set_default_format_json request.format = 'json' if request.headers["HTTP_ACCEPT"].nil? && params[:format].nil? end diff --git a/app/views/auth/confirmations/new.html.haml b/app/views/auth/confirmations/new.html.haml index e287f15283..fb1019def4 100644 --- a/app/views/auth/confirmations/new.html.haml +++ b/app/views/auth/confirmations/new.html.haml @@ -1,12 +1,12 @@ - content_for :page_title do Confirmation instructions -= form_for(resource, as: resource_name, url: confirmation_path(resource_name), html: { method: :post }) do |f| - = devise_error_messages! += simple_form_for(resource, as: resource_name, url: confirmation_path(resource_name), html: { method: :post }) do |f| + = render 'shared/error_messages', object: resource + + = f.input :email, autofocus: true, required: true, placeholder: 'E-mail address' - .field - = f.email_field :email, autofocus: true, required: true, placeholder: 'E-mail address' .actions - = f.button "Resend confirmation instructions", type: 'submit' + = f.button :button, "Resend confirmation instructions", type: :submit .form-footer= render "auth/shared/links" diff --git a/app/views/auth/passwords/edit.html.haml b/app/views/auth/passwords/edit.html.haml index 79a044acff..06c50445aa 100644 --- a/app/views/auth/passwords/edit.html.haml +++ b/app/views/auth/passwords/edit.html.haml @@ -1,15 +1,14 @@ - content_for :page_title do Set new password -= form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :put }) do |f| - = devise_error_messages! - = f.hidden_field :reset_password_token - - .field - = f.password_field :password, autofocus: true, autocomplete: "off", placeholder: 'New password' - .field - = f.password_field :password_confirmation, autocomplete: "off", placeholder: 'Confirm new password' += simple_form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :put }) do |f| + = render 'shared/error_messages', object: resource + = f.input :reset_password_token, as: :hidden + + = f.input :password, autofocus: true, autocomplete: "off", placeholder: 'New password' + = f.input :password_confirmation, autocomplete: "off", placeholder: 'Confirm new password' + .actions - = f.button "Change my password", type: :submit + = f.button :button, "Change my password", type: :submit -= render "devise/shared/links" +.form-footer= render "devise/shared/links" diff --git a/app/views/auth/passwords/new.html.haml b/app/views/auth/passwords/new.html.haml index 416870de82..4c7ec82928 100644 --- a/app/views/auth/passwords/new.html.haml +++ b/app/views/auth/passwords/new.html.haml @@ -1,12 +1,12 @@ - content_for :page_title do Reset password -= form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :post }) do |f| - = devise_error_messages! += simple_form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :post }) do |f| + = render 'shared/error_messages', object: resource + + = f.input :email, autofocus: true, required: true, placeholder: 'E-mail address' - .field - = f.email_field :email, autofocus: true, required: true, placeholder: 'E-mail address' .actions - = f.button "Reset password", type: 'submit' + = f.button :button, "Reset password", type: :submit .form-footer= render "auth/shared/links" diff --git a/app/views/auth/registrations/edit.html.haml b/app/views/auth/registrations/edit.html.haml index 567f0ea443..25ed586476 100644 --- a/app/views/auth/registrations/edit.html.haml +++ b/app/views/auth/registrations/edit.html.haml @@ -1,19 +1,15 @@ - content_for :page_title do Change password -= form_for(resource, as: resource_name, url: registration_path(resource_name), html: { method: :put }) do |f| - = devise_error_messages! += simple_form_for(resource, as: resource_name, url: registration_path(resource_name), html: { method: :put }) do |f| + = render 'shared/error_messages', object: resource - .field - = f.email_field :email, placeholder: 'E-mail address' - .field - = f.password_field :password, autocomplete: "off", placeholder: 'New password' - .field - = f.password_field :password_confirmation, autocomplete: "off", placeholder: 'Confirm new password' - .field - = f.password_field :current_password, autocomplete: "off", placeholder: 'Current password' + = f.input :email, placeholder: 'E-mail address' + = f.input :password, autocomplete: "off", placeholder: 'New password' + = f.input :password_confirmation, autocomplete: "off", placeholder: 'Confirm new password' + = f.input :current_password, autocomplete: "off", placeholder: 'Current password' .actions - = f.button "Save changes", type: 'submit' + = f.button :button, "Save changes", type: :submit .form-footer= render "settings/shared/links" diff --git a/app/views/auth/registrations/new.html.haml b/app/views/auth/registrations/new.html.haml index 97ab5498eb..766cbf1a59 100644 --- a/app/views/auth/registrations/new.html.haml +++ b/app/views/auth/registrations/new.html.haml @@ -1,20 +1,17 @@ - content_for :page_title do Sign up -= form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| - = devise_error_messages! += simple_form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| + = render 'shared/error_messages', object: resource - = f.fields_for :account do |ff| - .field - = ff.text_field :username, autofocus: true, placeholder: 'Username', required: true + = f.simple_fields_for :account do |ff| + = ff.input :username, autofocus: true, placeholder: 'Username', required: true + + = f.input :email, placeholder: 'E-mail address', required: true + = f.input :password, autocomplete: "off", placeholder: 'Password', required: true + = f.input :password_confirmation, autocomplete: "off", placeholder: 'Confirm password', required: true - .field - = f.email_field :email, placeholder: 'E-mail address', required: true - .field - = f.password_field :password, autocomplete: "off", placeholder: 'Password', required: true - .field - = f.password_field :password_confirmation, autocomplete: "off", placeholder: 'Confirm password', required: true .actions - = f.button "Sign up", type: 'submit' + = f.button :button, "Sign up", type: :submit .form-footer= render "auth/shared/links" diff --git a/app/views/auth/sessions/new.html.haml b/app/views/auth/sessions/new.html.haml index 7cfd1cb68b..2ca7bf6905 100644 --- a/app/views/auth/sessions/new.html.haml +++ b/app/views/auth/sessions/new.html.haml @@ -1,12 +1,11 @@ - content_for :page_title do Log in -= form_for(resource, as: resource_name, url: session_path(resource_name)) do |f| - .field - = f.email_field :email, autofocus: true, placeholder: 'E-mail address', required: true - .field - = f.password_field :password, autocomplete: "off", placeholder: 'Password', required: true += simple_form_for(resource, as: resource_name, url: session_path(resource_name)) do |f| + = f.input :email, autofocus: true, placeholder: 'E-mail address', required: true + = f.input :password, placeholder: 'Password', required: true + .actions - = f.button "Log in", type: 'submit' + = f.button :button, "Log in", type: :submit .form-footer= render "auth/shared/links" diff --git a/app/views/layouts/auth.html.haml b/app/views/layouts/auth.html.haml index 52d567280b..1fa0b5ae0b 100644 --- a/app/views/layouts/auth.html.haml +++ b/app/views/layouts/auth.html.haml @@ -4,14 +4,15 @@ %h1 = link_to root_path do = image_tag 'logo.png' - %small= Rails.configuration.x.local_domain .form-container - if flash[:notice] - .flash-message.notice= flash[:notice] + .flash-message.notice + %strong= flash[:notice] - if flash[:alert] - .flash-message.alert= flash[:alert] + .flash-message.alert + %strong= flash[:alert] = yield diff --git a/app/views/settings/preferences/show.html.haml b/app/views/settings/preferences/show.html.haml index 9c73d07c5b..9fc4e91ca3 100644 --- a/app/views/settings/preferences/show.html.haml +++ b/app/views/settings/preferences/show.html.haml @@ -1,22 +1,16 @@ - content_for :page_title do Preferences -= form_for current_user, url: settings_preferences_path, html: { method: :put } do |f| - = f.fields_for :notification_emails, current_user.settings(:notification_emails) do |ff| - .boolean-field - = ff.check_box :follow - = ff.label :follow, 'Send e-mail when someone follows you' - .boolean-field - = ff.check_box :reblog - = ff.label :reblog, 'Send e-mail when someone reblogs your status' - .boolean-field - = ff.check_box :favourite - = ff.label :favourite, 'Send e-mail when someone favourites your status' - .boolean-field - = ff.check_box :mention - = ff.label :mention, 'Send e-mail when someone mentions you' += simple_form_for current_user, url: settings_preferences_path, html: { method: :put } do |f| + = render 'shared/error_messages', object: current_user + + = f.simple_fields_for :notification_emails, current_user.settings(:notification_emails) do |ff| + = ff.input :follow, as: :boolean, wrapper: :with_label, label: 'Send e-mail when someone follows you' + = ff.input :reblog, as: :boolean, wrapper: :with_label, label: 'Send e-mail when someone reblogs your status' + = ff.input :favourite, as: :boolean, wrapper: :with_label, label: 'Send e-mail when someone favourites your status' + = ff.input :mention, as: :boolean, wrapper: :with_label, label: 'Send e-mail when someone mentions you' .actions - = f.button 'Save changes', type: :submit + = f.button :button, 'Save changes', type: :submit .form-footer= render "settings/shared/links" diff --git a/app/views/settings/profiles/show.html.haml b/app/views/settings/profiles/show.html.haml index 2ff91beff1..df0cc3227e 100644 --- a/app/views/settings/profiles/show.html.haml +++ b/app/views/settings/profiles/show.html.haml @@ -1,19 +1,15 @@ - content_for :page_title do Edit profile -= form_for @account, url: settings_profile_path, html: { method: :put } do |f| - .field - = f.text_field :display_name, placeholder: 'Display name' - .field - = f.text_area :note, placeholder: 'Bio' - .file-field - = f.label :avatar - = f.file_field :avatar - .file-field - = f.label :header - = f.file_field :header += simple_form_for @account, url: settings_profile_path, html: { method: :put } do |f| + = render 'shared/error_messages', object: @account + + = f.input :display_name, placeholder: 'Display name' + = f.input :note, placeholder: 'Bio' + = f.input :avatar, wrapper: :with_label + = f.input :header, wrapper: :with_label .actions - = f.button 'Save changes', type: :submit + = f.button :button, 'Save changes', type: :submit .form-footer= render "settings/shared/links" diff --git a/app/views/shared/_error_messages.html.haml b/app/views/shared/_error_messages.html.haml new file mode 100644 index 0000000000..2693653596 --- /dev/null +++ b/app/views/shared/_error_messages.html.haml @@ -0,0 +1,6 @@ +- if object.errors.any? + .flash-message#error_explanation + %strong + Something isn't quite right yet! Please review + = pluralize(object.errors.count, 'error') + below: diff --git a/config/initializers/simple_form.rb b/config/initializers/simple_form.rb index 934487af6a..e0c22e0c27 100644 --- a/config/initializers/simple_form.rb +++ b/config/initializers/simple_form.rb @@ -40,7 +40,7 @@ SimpleForm.setup do |config| b.optional :readonly ## Inputs - b.use :label_input + b.use :input b.use :hint, wrap_with: { tag: :span, class: :hint } b.use :error, wrap_with: { tag: :span, class: :error } @@ -51,6 +51,14 @@ SimpleForm.setup do |config| # b.use :full_error, wrap_with: { tag: :span, class: :error } end + config.wrappers :with_label, class: :input, + hint_class: :field_with_hint, error_class: :field_with_errors do |b| + b.use :html5 + b.use :hint, wrap_with: { tag: :span, class: :hint } + b.use :error, wrap_with: { tag: :span, class: :error } + b.use :label_input + end + # The default wrapper to be used by the FormBuilder. config.default_wrapper = :default -- GitLab