From 1ce610802d3bdc027cb87aca013f1b0a592d30b4 Mon Sep 17 00:00:00 2001
From: Mirco Nasuti <mirco.nasuti@chuv.ch>
Date: Thu, 10 Dec 2015 10:33:25 +0100
Subject: [PATCH] add user cookie

---
 src/main/java/org/hbp/mip/MIPApplication.java |  18 +-
 src/main/java/org/hbp/mip/model/User.java     |   5 +
 .../app/images/users/default_user.png         | Bin 0 -> 30348 bytes
 .../app/scripts/app/header/header.html        | 128 +++++++-------
 .../frontend/app/scripts/app/login/login.html |  50 +++---
 .../app/scripts/app/users/users.service.js    | 160 +++++++++---------
 6 files changed, 191 insertions(+), 170 deletions(-)
 create mode 100644 src/main/resources/static/frontend/app/images/users/default_user.png

diff --git a/src/main/java/org/hbp/mip/MIPApplication.java b/src/main/java/org/hbp/mip/MIPApplication.java
index 0b1ff5c70..85f378799 100644
--- a/src/main/java/org/hbp/mip/MIPApplication.java
+++ b/src/main/java/org/hbp/mip/MIPApplication.java
@@ -20,6 +20,8 @@
  */
 package org.hbp.mip;
 
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import org.hbp.mip.model.*;
 import org.hibernate.Session;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -60,6 +62,8 @@ import javax.servlet.http.Cookie;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
 import java.security.Principal;
 import java.util.Date;
 import java.util.List;
@@ -74,7 +78,19 @@ public class MIPApplication extends WebSecurityConfigurerAdapter {
 
     @RequestMapping("/user")
     @ResponseBody
-    public Principal user(Principal principal) {
+    public Principal user(Principal principal, HttpServletResponse response) {
+        ObjectMapper mapper = new ObjectMapper();
+
+        try {
+            String userJSON = mapper.writeValueAsString(getUser(principal));
+            Cookie cookie = new Cookie("user", URLEncoder.encode(userJSON,"UTF-8"));
+            cookie.setPath("/");
+            response.addCookie(cookie);
+        } catch (JsonProcessingException e) {
+            e.printStackTrace();
+        } catch (UnsupportedEncodingException e) {
+            e.printStackTrace();
+        }
         return principal;
     }
 
diff --git a/src/main/java/org/hbp/mip/model/User.java b/src/main/java/org/hbp/mip/model/User.java
index 6ee077d20..c0f743bce 100644
--- a/src/main/java/org/hbp/mip/model/User.java
+++ b/src/main/java/org/hbp/mip/model/User.java
@@ -96,6 +96,11 @@ public class User {
             }
         }
 
+        if(this.picture == null || this.picture.isEmpty())
+        {
+            this.picture = "images/users/default_user.png";
+        }
+
     }
 
     public Long getId() {
diff --git a/src/main/resources/static/frontend/app/images/users/default_user.png b/src/main/resources/static/frontend/app/images/users/default_user.png
new file mode 100644
index 0000000000000000000000000000000000000000..f90088857ea7c5cd34bbf3a07e9b166deb4026ad
GIT binary patch
literal 30348
zcmbSxV~`+Cmu_p?wr$(CZQHhO+qP{^d)l^b+jrh?_uIWcHugr`ipYw@d5%w3MPx?E
z%ZkB3VnPA{0KiCy3o8Nu08;<cz=8h01JEg&|1MxSi>Ny**_k@K8915%2pHQLn&3;=
z7?_zTniv>+IE<Na0{{S<S}3bKtIJ4p8rj*<8vH{;>uzKJ7YzWw&F5}!U}R<DjBjXS
zW?{=ic+=HKh;L!cL#W0gLoZ`5WMXb1?&)Zv<SDCc<Y{HZVNA%!i_h)O`Imu>iL(K|
zyN$K26Q?^5;lKED{_X!WO-G3TFA`@f9>V`nN?k@CU&zkU1fPYLp2motl^&m!ftG=Z
znT?H&8lRD#fu4?@k&c0phJlTfiIJ0@9{)cd!oSiSjZHZfg+>2U*545ip}DiOJtrNV
zo0}W08xyUaqZu6o2M5PLJQx{i{!-95dDuD|xYO7=5&fHku!)nAqlLY*g`F+_KO7AV
z?OdFB2>)vOA12t?%gFo}V_T>Hbktv$(YYJg(=pJ})7jYkW7of^otza-{#%Xzk=jYw
z!`_5W(ZtEl#nI?*JWPrH4gTx9|6R~OgnzZ+lykKB8x#X;VLKxi8xvb+31J?>zbmxH
z7RH>SY;2+o3~bEwY>f1*><kQo%q&czBBFvUtb*(!^a5=E=J7va1%%lcm|2+^nHhxX
z85l(91=-ly*ahj?*jPo`IoJi5|BaQfb#gYaH8T0PT#LVQ{}apbzhXIs98C<I?HrZu
z?5zKt0rKW{&UQ}bcJ}x}O3e5&21XXP|BU|$&wp4eY~pC)YGN$vXlH}}FaL5{{15U)
z+5ca5{|DCi|Ho%^f0d#8CprGFWcl~h-wgbx`(LU5cko}uV`BTaVjTaLhL~#78~}i0
zw}h~Ovitgw+LqiRKm3jDMwcV_9d0l<VPQmsr0^gFrgZRa7*-6gxx7(u`fWa7kSHPw
z5;t${Rr|_XPL8dY+i<*7Z1R<@o8JRZ)Bf8Aj$J!(Pr<@Z5D0)bP%QLZmW~0FE7XSY
zLx&DFVp%Z!D>6G_A)6+`fc07Lu)}(J*e*nC(FY*Un@2mtZwh0Gggd1fXm&Yq380t+
zeGgwuJ-yx^!YRUBA@^8scBECLB|K-pM~aBpbp<+y#M+ix4zL>PN$#!HyRYjNLZM%V
z3`jyvu~h(xAcC|})pOtEk5TU8Ry7)V6rr&Iu9@|%hmuUdHr~$`%22rIGO6?9JsI?m
zIx@#o#RPBFMb5k}&SsYRFMQ1033d-j3T@|ksq+pd`qC7V1U2YRIYaN5XK{EW@{*$j
z61<U>bLFZm(+i7+$eTb$n(OILzvpN~QXCg6<FyS;^$+AX5)E0+y0o|NzL*Y&v+vYN
z5l6Bc%a^iS5LiOa<CjIC-sCpsO=AMXjgO0D9aRx{l0yH81{1RAdHBs?jMAf{0M(-D
zm<JCVpMev3NFKZkFWY-|*dg9J?r}}siL>k1A_H`!CaBoc(X}|)t#5ywm8YG<m1t9_
zbNeF^k7V!oVXFpnzxpUwO6%K_cwykJhStb^pb*4yIgD9sVg54i1qdn0Q~*&Mqz9iy
zPFdc2V6ZH1exD?P72~U8eE}Wl*<MF7ITN+du^2usYB7fvxjLBU|MM(iEtR`44-fJy
z;y`B@m;CnVqz>#$cyseX!ArJxk`293s~cJ)?rN^~>c{dWfZI9`6$_&5bYF4zC@nyZ
z>)6_I6+7zPrA+Z&xDo?pEp8o~T32^_aWNe-3A~@UK4YwbH-73aJZq4>re>*`lILKS
zyZ^p3NJ@bRyCTd7AI(;l)M6aY0Vw&{#6srSD}GdJYGgN?SCL9o9D$u`PIm?tPlKH|
z=A@JsHrRSA_k2jAV#R(1rg<c!rdG2`15=^l?({n4+``A_tkbjCy-jQ0%0L(Zq`Tx$
z69=z`>fv)^>-_Gk>b&FbZevbj6j+hPxKZJbk%L~sz{TNNo7Sa9E3L`=`@z7g57iQi
za?(Frsbj<P!uvP7471ou+R5VXS{4pP$Tj4m`S-|>W!%Sz$6V5|#;-$z0j1nhAP?{t
zGZ!%^ABqEzMHDmhHrJyczhC&%-nv=fh3vd`u8HW>kgX*of%#x?0(62;%64CEEo4-f
z!pV_j5U&@zD)lm5AK90e)4h0IW7W&-!SV6Nq+JikJvT28`h&v83)cHTHDSfNZUP90
zn?mNk0n)(*l~AY*aOxLJ=^^GCaS^<vq<K`Jv{;T`xYEijz~Zn6=q?sa43|%c8tDlW
zx!l$uU2*J3Vt@f2`LDmkrb5NLG}Ar?kwExx4y=Nj@T&$cpR|=Pha#}=DOXJ%KI8Iu
zEoZ#J79#2f>9&1sBMAXn0>xI<S%eC}5HMS&&o!x`^EhG0(C{gBRaR^0vqZ(G82>!G
zwJI9=D1*Xo(aXyZ1_IW=rFS#i|4i2q)4lAr))x%?R?SrK$5V)mDir6NF0V$seXFV0
z66|ydkt-WS5G0l4@ANa)U4$*aQZKEo(I_S<_0agpqOyX8c-Aas8Dohp(dZ7%Nw!Z`
z1n|7d({KnU(qjqs65rcAxv&3y3nee#0qV$1=LDycW3m#Zgt7M)-`7fb7ry&A<FS3f
z4dN#Ng@pfLuDWB3pq%EhU6gH_8c6u-b-*JWt{-edMJH8ZqQfw|`vYk6<-ENGodTf`
z?h$dv`!hFK9yP7h=mhf{uGrf-%yB-!9%JGgAHJ|uSVx?Qq^QUHrzMB=ZaY#%DQK^q
z*ZbX@Rj+6JZND(Y4`F)slmt^ju%5Zo2#2P1IWoq|hJ@XL#hET(o>6)xuegOoo)Vr`
zW`Xo8$py*KCvzExyV}FLCFIXV!idTpUUf@^?yf)3AcF>@Gl8H`+S*W-1eOBkpz4xo
z$a=I@T&M(yH@&mMJ&0a@T({NUNJEM`a?%!7grSAR*u?VE<zQQ0AF3`v;c0M+osN|Z
zN7tV?+?_8WOZprTSD*K@Fei)&CQxjVyYIl-xUj#`e!FOB>p8*$yv(J$pKTo~C;NPO
zp1OP7zD~jFosD#N(X8zx=09Sm&Y0@M>ObQ4;$a(Y;;^;nkCS#mIcNje)Vi_LVnKd#
z$u6e2SR@Etjg$0$U5t?sr@<7*C;qm9zlE4X;l*bq4ptXyvrK8VQ0X$YN;J!6@9pLL
zoM)C{{au;cs!HeK``q)g=@h&7#Kro30zHhCRgljSd|&()%Sll(nOI&mH1O^ud7Ko;
zuJ>^DNULSLi|C>kAJ0xerwh42*>Fqf#(y-1=sa)|IOJp=n|DT_d;aJS#oNlH%{#Z7
zzI<MY1d1qy>mb()#YLFi`a<?qx#fC=z$KFL5Wn3;=e6vp9j^;%?-Y^h^K^4}4iAYx
zl=6b+0ILU&|A~cuH!odw#Y*-r(RvMY0p3J;Tf3bki!Kj0#nV)lh-6=XCTv&tlhyCg
zIR;Oljn8z?IT-`DlaomP<Lsl}@xAHutbdb_;(+7_E6)=MAHBwUT(=#uwm?I6X$YN`
z){9@edavm8Fhc!$Sk%%sI8$D=$#dpW^(teEuy2RgEJhg;zJOd2Ki~pq7@SAoBe-g+
z=k56Q`S#VMWwrNywLGm(ypKsr#6KG@rtEAm)L3X_M3GzcSa=y`k-viH?R)W#eX+Xk
zg;o{WAmXAeFg+=uk@h4HhI?!%pIbi(o76Rsq^)i{)utG>UATj{I0k>&@Wd)@#guxX
zp1T|EY3(cAL&<SK2?gaZHZ~93oo{9re-9N&B}|8B1>-?L>*^qGc8vA4c3RIgR}HEH
zOTq`x5;GDeh9qHX=z&ozB1*5QDRYZ4u5M+3@PH)CDA$-z7RoN*2H4^c=?m5DE22S+
z5|f?-W|n|lx?Q45ik`TUAIgHX+5H5$vIJ;2!=wT`J=ccg_TiML54@N}j$gTil5j{v
zjvNV{@<;Y4nd{xAZ0Xfgwby9i)$-u0Fj(E1qP#1{RZx}R5p;v2dQK6#G*hj|5<$cC
z=PaR)T_FC_n7T3iv_Pqdg@npA+JR^;z8gbNf?QiDXtI0s`kO$LpDf_SGsE0E7b^_!
z#?~VC$@5BtTfP0~^lj73-ThOM+1I)5$nbP3c+<csR2nCq?igiT4jdYu_h_vD?s=<+
zL-wZY3TMR}d<ZWFCRYf-h9zI>3VpGZB!D%oWLp05cyA|c0YY&hx@HHrBeX=d8Ji+L
zE-Ktq%`GwG;+fNUK_!T%Nd2|pdhc=>8Fj;AB+54K8ZAC6UOLVZyx9n~=U4U!X^v*B
z{O>NOm+qub-;V$%RpFFB2+or7PT52TnEStsXKG@@&<T#~eX<7gKPvrBwl4wSrsVuW
zP9Lzz&|n9o7m?2_0Ib;8rwOW>`#3qsIV<d^Q(p8<N6St6!W@Il!&(5+<5^5458_eG
z!0h-32)D_be63fzWt*wwaM98>I%9CODnxG*8?rK^2|c#)Ese^ioju4?z=b9iN1AGW
zmKCYa`I=&;veY(Yz)D(T$|A)%j94}wz@@(%R{_f+XMVHg0u}6A8*kd5kXNr*%!muk
zIeZ+mtklm(k_2G6VhxiBOhPZG!RHWsyDA+l4VM4z3l;YKJ{xv;n|EZcfG;)}2X!Ng
zpaA_{?n+*kS!l~B#<+gjdv<vhcOoGqV#@HC-S_$ZTJFV|tPTS{uY+va?~MP|kG{9R
zrndA7D<$0oh;^}&Y1=TbGN{=}aec$Hv&DB?x!(X8QQDqtQJy!s67ce!-#KehQ%fyV
zS3_s$ZSRtT>-T!M5*9T60v1%hg#|lY|A&i6maSL>O2PgpCxwlxWFg!L6%A0zMU1c$
zT&-0~&NFB!WqRa2<);v_Q(|(=pcQZp7RL6}5%%HBv413Bg>QrJ+qd=S5#0CH!;Dts
zQjhB!!N14q$7UaVpv&t-Y#$yIH-I=9x!_xn0!4(PQa<WE?j@}fk+K}oMj)^f@dzP5
zc%Jld?{#{k>BZJf_agW;yOo?OxIQQ+t7~g5!>;%3IlRK&crPJD3>CLD1hp)YQZ@}C
z0oJN$Qi<xz3*@1SczhKR9LI&{GE-t4Ry~b3lI&_}S0<#2I~cV{pjCu}m%ob0wGTWx
zpGtd*5fYGDQ0hn%F|91ugP$EsMKhXMBN(&ugx6jcWG=a1jevDJiJ4!d7fF@k^@r?D
zXxxHW{yM)q3c+|vRX%M%7%*2Fk+-TVo4ZX!pJhuja%X<xL&O`eXbBQ7k3rbGQ8F4@
zA*;wtA)eGX33*VL#T>aQ8fnkhXQy&nxu`3vPFwS~W>*B){i4haQkvt{1~cuFgJ67y
z(N~VfFl%?@7$0URvY+^Xm>M^>)=XntJjs=*$KLk(@Q&hIv-ji9Au-+m7HBgZXyX>r
zA+Hc19F{LT^k#qwYntbqS@@5TFlQw7<$B5Rnygi_kQ}r|Uiq9faf<*o&?Ca_s5xja
z$UBcVRVoxP{sr934w|$-yK+MP_NTW;v&Zo3<9@eF^op`ev!V^y?wceTV!{~Z1?siX
z&=wRT?`;(ZzC4h9iid`+*3@BD)x^p4<h7YnZkCOok4wjzICn$ey&tmQtiN@B0DDHe
zUD^!2sz-Ao04CiEzMdLK^Mje0N7H5Q!TV8(E7cuyx&OE!5KLXULmJde6Y{z!>0xdQ
zV5BO{PN&CJ5wMv0u#d;H<v|;nUGfcoH8?%;!GVgcHp=rycEi3er9oVCeE=8IlYE!0
zcfS7FW5e(QlZWgCTqXk#it&&9DGj@Nk<koD+bBX#(k*Oz+6h|h%CFRE=gfUU{v%!W
z$he`-<foGTn$tu~0?$$OgVlm30Gc$^DEP2jx8bp2Vb|01Vr?3<sCTqE`&<|6rCK8e
z_nh=)9Lr8pT6qNwkU=Onfi$uE49&+0$sC@w3JihDbHhj(DrCNUWl%4jVkYwE!<f_d
z;1`oTt(`7tDoNhE9ol;<9;W3}@jYF9ZeUALiiKyg*>UFZiI#l3Fk`^GM#9W;&Tupd
z3XGW{`Q-8=@5<}4@aLC$a0e|QVn!hd)#ihTrE)^Wa&i_BHAV#bl?I^w3<q~SW$k7`
z9Q0%&>`qJKJPQd1oQYBCT?9ykjQPd2+cl^*8KUR-sz_L}sC7-$_Dl#FHG(6j=JND&
zDmnRuRmc5k1WZ8Hx|&5``tMVduYJsS{v_sIWyKW~Knr98y+rkb;Je})K|n^>$>=Dk
z$`wH}J}|5x?u!(`X#Au?!O~u=fW+6TKmKGC%Eu++RhB1dwY}@|irE!JTuq7K!Ua^h
z<N}4Vz?)2Qr&|KmE46)B%a`H@?-Zy?{l-2~kt^2h1;{{<42;~CI9TVkwRX$a28QXc
z99ner5lX7?-k7%*%-gdxu(}*7aK2r5Q=*DqX&;{vuvbhe?a1|LN}Hz8Q*=CA$t_KY
zmipjp@6YdDMyOt~M<EAfeCec`*A1Cr!`)smxg82il|kP2IB^#F@s(XfA#gb$F*+&l
zO_SWe{YU}f`===NFyk95*Hj?fVH;pL$h7*hC}=jXJ$%@(5UNY>0E#%U<g6dhQrlOk
zmM^UVpPq*=rX<wC7rcoHrp}=ZF`($zG#bkswE4^Riwl+0b>|x|a3u^4&0`YleNZmQ
zBWl=UvV3UD0||ru@F|r27L*!VVN!9Gqv6jwtOpt}mdX?tmtd7p;(mhXVdj5}yiio|
zG5Xv)0-v{1khqbBRhbY}3CX}*GWbhN*Wm-W#2Kda>}%Pstjj7!qgi47AttR5-ItqE
z@=%#lR5wMmxOBV>yUUx(;Y{0ydr=jDj0-fzIV>tH21>?5jFI7;@JNSrK~_<rr_CP7
z`IxzAlpiETli~7zyTdWW)mqLCe;`St_4~C_3B;jBV`Su|)?iM0%D!Jq73h&fW{iAM
z)M7oKs4l^zJ<2okG`0So8!8#4nY;=;WJ@bUNwJ3+YiWfIHcZK6?B=-lne~)&H`Vnu
zVcBFr4Gb$`TAY%vJwi8gJLm$ADjX{r9x;mM$ENsovA{RlR=;u4QPqGr3>-*$yF=fF
z<_slL{i{=-?L+J^CU$=I%GAhf&P;V~9ct!JRlNd)2VAaafs|@`t@w^9^1?4vg1#*&
zC5NHawW(G&MuQ%4pJmM=YJz1)u@(%G(JLiuthl3|iV6;PtlR#g6>*{fcX8h+fj69w
z4Fn8&tu^vavbfkir~{$FAaA9jjdLmHOpb8%*MJYWy?zww(a>AzAw+<LNQL)ZQP~zO
zTEQmyUjvY~aq3jN0J&M@#}j+s4W1}7e3Cdk_FZt+d(Ko#_~NY~0>*3jLq%tTOa3<d
z^M$K>!o7UR&l(!?j|Bny=nu~F!Oqvf{-TiaLC9}0!U0%odf((NyXNp5bIp;z$5P+W
z+e4EWm?+Y<nr8EU(?hyKG1jjput0;X2yf#&S{P6oaz?=wB{FMp`&eTGZwwBQJ8L>4
zk?NQ=`=E`%C7a==oTen3AR3_I;`JMf(_QSeJKFM@%|xT?c{i@wmgbV69d3}g$)KW5
z-uT?>f9f=J>m=WJ1v7{EE!IgC9xnor{<3belqt-oOb;`+?H=1Cj{w3xh@#lldE4gP
zvRyPZV1R0@o^kSkLQe6AjZ-D!6d;HcNH^qd#lH_W{zVzjU-rbJ-MUUeKC7-?OY+B#
z8dFHcmZZO0-gOM9w*uVeaPX>3)cWT#Lbh&&4vjD0;J(_exc<E!v|7k7DCUbSF^>P?
zesfy7Eb5_2>YziOQ5)~}Z^|}tZ){H~CWQweZvq#z6LCHX2Xt@`aL1I$-hcDw+f=4h
zOE+50J$a&PJPnFjX?10Qg>x8@S8mh=Tr(RSJ5ko?1rKLu=Uqq(GHYTxHC<f{hOTbB
zsIi5mK;u9O_e1pw6f@hV3fjNyao@CMo()uFFt~LC!;!uDyzEW1^tEEv2IN2(Qc@!n
z<froPV+F-^=+tJA{v@z!mT7;CW=-v={cNwEmr4+N%~6g?L+}98?o+qrxE`pRozIdU
zaw&(Oa1Q77FZQ&pUzv!or;xrLqSp~gSKrfV#T-shMI|jGmm8eJa;4{>1MZB)7xsP#
z^x2hdoQ;E2E+gT{M(-Y7w87!lb;vW9Us6)9c)lIH4RVm!Ar9hT+h3fNX>I8eQ9Ok!
zndzk-G3BVzoFIK(3|ho{`@KZq81j+?wXR9;z&(7n->rr9=<4PQD_=SeTRm;Z*s0P!
z>VS6tB-Q`89qi9%b4)JK!}(=%F@3}VT<Taj;S8hnY%$$fv>fGwN5cfjgCLP9<D)2!
zg?&DI7Yai122WKu@*{7fSzBvdc-bA7nq72g#bH}Z$;EbR>q|YPW?c9Bq&dxaylD{W
zzVFH5^`9Z<#x78B<IJ$$7arc~&5?;>Q6k<msi#sDAR;(5S?8M0Mc<$gu-ybWaR$pd
z^j3|!*-`G4jnOOiYGww{aR9uJ{m%H%pp9ZX(AOHXY`WcMlk+EOJueo22oX5qQHaN8
zraRkrs-Kqw0+6+%d4ZM2SZ8&A#078Ek#_wUppA=Yc0u|h<|xr|P1dQ@*fmHBvC{^;
zh!Mt3bThjGl*M(8h_nT?{}S{R#F|!5X@aoHuPx+&(W1s4nD78Y-9%F?T6>mF8k>C_
z7K4t6_Az<(5V0_W+l!P0MmPZq0bw+TA+%g!y+QV&Zoh<%v+F=sf!#$ARisRKbO7I{
zIA$e&DK$s2poRZyABl-h2C5#pCFj+ss&ogX6cPA?aewRe^01;T$uoZuU9?*EG7|J+
zBc0~@7z{=apC-7_o`GHF$SG)AIc?U?a9MOA5V#tSWzUC{xq~i;m>oaVZdMfrSVC?7
zMzHCJDr6Fg847tz-!&mB4|)pnN@{<qD%Nf}`8nM|)=k=A&nB`^Q3aB0bo{=YP^Gf(
z<=(Kjw^f)T=jZKdYOANBHXsvj2zfLRgb30En?a7nR>34?AR`c0g|Y9$MGexeBJ3LR
zl1{G4El05jLw9$2-cc}Qk<ms-17`B?Ka-k++}>KsT}j(Y)1bX;o?b^w3(pwi%C2$Z
zmFFXF7u`vFNYsv4Q)$Lm&AKVNvf6uh)lUvrtJc=<p;K8YdBx>NAg`I0c(1g~8w2b*
zPAtk5x^C79pWG0Q2a<if9lrxJWDVZ0^O5g<XXbHcc}~PlbX+0lBIP--<U&G9OrwY9
zB5Di$N`l+1wb|JKU@k|0<F-2PB_&n0?m+<F-<xZKi13=TB2jA)xmK%|eLg2?VT{%|
zoV?x6-&J-uSC=^LnYNRu7|B|ClH!=C<TOz^+~7z`S)36M2KT&WviKn58V8DHnCi;J
zhd==OduT^g)(PR*Ct4~v-Ywf?N&A!I?guF;CtCV?mz6APtT#We=5Cx+Xd@cu3RcYR
zbK)!6lE|f{%@?_)R3rmE0M;bk-mjBQ<(9>!vE8Bq)j5Ik9QAKAt7!R#?BPnmMFoL&
zm9Ko8zTP)`)BVn>$ml*4Tb;c6UY`A+fFwq~kyz=hp8JY<dhW>_#KLL<+BM*A&<oWk
zxcdxtuNeTKd(coiIw6gaKUx}?ez#d_agElG%NJI5OU5R7-VQwJ7h7Lv?#USelH)FN
z?Y~@&a(wX~<cq)*@s!19TKYYJBXbd&o0BG|#_OYFz7aW<x<tkBhs4Z@T8~QZ^5RnP
zdnr(Nx_=JWbHqN7CVMUbgH>ChsqYO~<p%J8qZ2aT5TEVqy&#T?7-UF#WSeo>7p596
z?Prh=!ktoFjma-<8EIBj#qfIkcpsb+!u#4CNIxOC8q-szFhQb}*-`2vTMf@{VMp2p
zom7I!Z6?UoV@^c5s>ciGzpkj=Chkmy-|r0N!RWC0t0s#0bb9H@9>m-Z*E5DeWk&wg
za~|?7(HWZgIsamiaH<tJ#91IgbfMZV-g&r!CmWs=PX9b+m}Lm^JQO~9$7I;|gbv%u
zNEz<<74*5+vl5ADg%>s{wN(`)xdtav<-7u0(8Q!^ka&qLnI^RHiz^eZfV|2Lv4mLE
zrCrity&W_{yAH$g56hg7dBD;5zIKt$_w!txpfVHHhu9^d6{a1o+vZ_<DY8l<1O#80
zvX!V2)k)0|342mc;?fwRh1a2k;OIglvxm7okb|L6`50cFNbt4!NPjaqmG5Ua)z++*
zCEE^vVulCe&_-E6`&n~VK)c&#G}0n`g<;sLMr>OhLrk@@p`Z(mN`?$|(1cmy?94_1
z_)uo^=j2e^$|TYsAulluBP}eeG)7{UFwS(xK}XGB@9MD9OCXc+ZFC`UrYoI{lIb^+
z_PEEs-VRT;T42}XeXqzQ#6`YCu_$5?3Kk<OXmjd;G$^@Eg4g_h@mS;3&}ocA(t}Wi
zTs{UuZNG#B?KLdXvVv8&o(M0Ekj6BAc}<%M><mx?6q>uM%5h{=3rJbBr5q0H@)fXC
zD4o6)+Uhv_Bj=G5!PE<f|CX;h=Is`_j_(q_rI)uwy`0#!mLBCt+(ce7Z;x~7nvcLO
zWv_grl5X>WB{FinGS}}67LF;Co$Gvr5#O0?Je#uh)3w<VGZa?=)S3&B^0g30JcNDC
zF4Re8*%sqa*(I#fKhqx0U_$cLpQD@@?yn$wvf}}0N22$@F{uzjK`bWgeo=kA>Uu=w
zOdc;Z6B30Y{GAFQ?_g(f(IPWzy4B4m2&dL#&q#C4yPEqzQC;KHHY71EVm9-R$9_2o
zN^>jYh_9(MQUVCwBSxvYJQb6D9}PC|gK3ajxE_nqH~GPx_i|8Q?tI-{%>&p8_)5@d
zMV>+a5DE&Yv*;58U=sHU0eMX;gE;)?4zgGAN1KWgh6cC482MsmBX1Iydz%Yk55!&v
zCoB<MeCCKgJKE7Ui!KcIHr!{w<W8KU0`nG;TXPlueFU?H#L#uHMuo%ShB7B8^1Xd1
z#%aQdHw0w}rphkM1q^}4p-YyA@mDoVj|ePDGel1L0&*FpS%-Wh6pOj%ZwJ;bj4e?8
zrm~eE@HiubY#;Ztfr!&nYkAf@A1A6;mQ`a4luaxV_B?QQW_(}|m;Ur$vSl|pBt!#}
z&k5Rz$E7SQ#7~|bU)Ydp;q1{>d*)>1$5r|0Tbv?9qUU&-SBdgBa>(|<@Ms>F`IND^
z<<+J)J5)g8D^=O}WsObaXy6unksX#>A|??{8gH8<^t$HS2(dQgTt-4U0FZL~6FebK
zCzkm08#hu4Lmw={#@X>0NKg6XDVQ-fg=NKX>WWMHxeSp|_@AcVI2r8M+^cJAIgMU>
z%u<6S&XIylQ75m+5JoExXJ=_H6JqRiJt)VIgW5F{<&QuaE@t<eoO<}*?vADQRv-Dc
z<3c#nT_95(yRRl|s8k2(%sSqU-S%ejli8-6E~=Lh%i4hzFoL!!G&$pFTiYDzKkdC3
zDVph-lv5$2jSjI_Y9Pq=KH~DrNuU0}vTYhA9TgjhQ*1Wz(g`=1B_xU*k`&HxD7l|a
z@lbeY;Glkr6A7yhKw@<M8Xy28-q6CHkjTXf`};)Ixu$0RM#k#&YDSVG==?j=)u-pe
zRU9FKFIygM9##AMnNF9(Z7X=7dZp(D{jPQj7Xy%9q_UdI&sbE%!fXqZO9(W}lZLd2
z>7Xvwg@khpp69It&e$BYUyBO2s5{o*?H&(vdRDMQ9$0_B*F9Vrh6=1xO3=!8d@1?L
zz$Ao$OPiUODdG{>CF<rM@MJJFi>AvJqVNdT`F|9a`W`YKwx>=C&{2IEYQnMNGf^oi
z`L|+%rS=sgPJ_83-#-b}JjKC7pw1Y}5-&`hLMmvnQ0T~SxR$U{QEDeUa=y-9+VE!f
z5Y$smqK`wuW6UL1`b@6Jc0u8D5!BD=?<73k)bR!3_(DWnj-gEKVCaQ`)Ex@k^F)oU
zw^{d(WAa*ENomx0E4ecZma&$SSLf!7no?egrJ&&1X<Y<Dvd&xN^R?v}UtHZU45L-N
zpnfMIJ9_|8NI%!$W^8Qd==Qa-@IAc5(b-{3n;mcm$(jMQGgcf7xOy)<UeQZKb3IE9
zoe`KWQ&6}uDVzud;I<H$z-^8DSPAX16Ai;xhIO;&wwpvi5%qQPeOzW`IVH+MJzJ{k
zFO{xGdC;H0N)Y97qoo8QI9(W;;|Z}J4LnMy<zkr62u>x}Wrzkxa@wolU$w6OhDy>5
zuGgslfI!mNZ62yx!NtA#3?cv4Q@g>Hj+%73(j#FeKyI8&&MH{D=FhKf$*$X-%#UMp
zlS@cwI&d}wc3GuFhgZx^2;R7r7EJB8*4*yx`&wAuc3>IbZ0~CExKPkY);JypD%nd~
zjtLcxTBrYmTEi9qQY2jWT()3A0Se+-4he~1svMAZ93cjo`m*tp^Lw!?iLtvqTRIAo
z-{+9X`?QbkCX8-zG7nVM${xg#j~|;EF@MU2Iz=@BREdMi0p^H0yr9#UyP-lw8I({1
zY=GLHuZsZ};v3Y=ShWiAttsmAt2;r3+GWdBs)28A9Y8HtMrGTpg}t7{ZdlccVum5~
zS>Z5a9Sls`HYD>Y0J;+qOK?|{-0)kG3OT}umaDgu2)E9z+AxCTF>B;5IvD($oC*G-
z`N(Vo!1&RRl2riN92E+TIz76=BjvDlFMtSoz_)om#X0R9^L%{%^t9}DE-6S9Yb>BY
zh8T7r;2MvOU81#U7r!F)I=$k7*{)EkJ-wEB<XJ#kYNrF_oQ>8PVH@)bEN7*&*&SNR
z-Pgy&gTU^$3n2|jK4rxxXgVlFx@P*+RA@Xbq_$o_*^}Ty&=!AgW(qYtU<-Jctc{k=
zM)UxIC)DF1EY#K7TaNDtI38yu0An}`a9%(H!&JmJKy`<FlP>Wy#J$-c{>|p5F?t|k
zjeMr{2vHF-Mbke}-JDw|<U*8=$hdB*QshAlTD+y#SGOH3Q&~l4h-uf)Ocl%~lWDtn
z@QwBgFv`abU6GzmHjW4WM~)@=<wi#iCRb{sZ8@wdpr#$buq;$on#fWIpD9jNbeY!{
z?%KX)2aY+r-`DShTVEQlz1wgJFqpZOKq2$lWzUGpQ=0(;w?@T0&ctGsF}cx%hNA>+
zH$q^#+H{r&m>e9s!H`ybcqXG<eh$@jG%DJq84J1Kl(*=SggKHbnND>E(TSKOd&bV)
zOsHx=_F+oDb<qiIIY$6QprsdX1zWN{Bw@T(x}*EN?H#(~RR}^mH{9ufb=gF2GSVz0
zrE;`b-#i_I48|o9N-Q<Q9>*dU^GNOBLD09zBlj=Q-M5LS2ZTdZP(HDg6X2rqPn{O@
zlX=~(P#THqf|btboA9Y8Q&#56Gc=>#%<*T%#P8<dBlHoV4)}d47pUl}v>rZ^Ixbef
zU++U&mWG2gXQWuQoJzZUWg^;LY|ay~9Ro{I-<p7AS&ZN1XWN;2IyttODn*iM31?4n
zszOvA`|;ym&VKb<&`EMPal`)fyq-5ic;NCz^>x+vaJ{{Ed1btKfh|}l%&mKlnm6F^
zm>`R<|53WXhI-dG+M^J8-5^*MpI+kNY7q31LVjh18cW(88eTPCXJ&{QT^krE&rZ4N
zY4KGoMp8=~jS1Cfs@3&+b@$@ioZkM1o*<m)xyc}<uBDxKFqp@Y3`Q?OKryrbTIgmo
zG)GE8Wb|&8=4@0Ov#WlP6Mxu(WjsL(ta^KXZxFti@d3|!Td1>D1!*TKomU~{1s10f
z#18(m#CHm6{keqgaolNljL*_d+)@huT^_caKFawz$wN&Wy)r|Sqo=2#iQX^86L=tL
z6~njbft`BgTaqCo%L`?6T5V|DcPkQ+z})&oQwTIm4x*rl%VcEZY|C1u-Y!bi$Bi4(
z7fNLF4Y8!V>3-1Cv?urQLLa5)=hasYg(v3<*Zq=W>slEUAA%uNJ@`BSH>Bk7XB7yE
zj8}2Y=Ky;iiu>8slPJ`?b9e*$G#1SVJ8z#O7xx5w$)yZsSJqo4X(FY$JzP<Z3NtG6
zN;<aa0XE09*M_<f4^!UC#p%mU@4F*aO>aAa>0=UIZI~Em4hliOB@#I51+RSr*&-pB
zd9z8E=3G(XqlS*Ax|U9QQt^ruYq{a$7TCthHFvIbl!m~5OYpZo?X!h79c-<G0*D>n
z40TLULigwN$mhjoA9E3cdzrvQ5gAyK{u^V_d!E*&J_@C!L2_MBqkHGxF`4<Bh1Jh_
z%io;fpn}}lCn(qn88UL{XUmwWE&O@7i)x}Vc}to4fNT4^8x!Ka?MjWz_D1fdqKV<*
zRgn*!xo6Iut_4SQKj?Q6PFSiF3xzxS9!z%G<z`MLF(>r(x?fNHY&!Y<Tz-@ce{Qj@
zoa7;VIHwmmG73q1aQczCeX0RG*M4%?QgOTh(}RT}Q$&=~O1e_xt)*N!lAvs8wfy*0
zKDQ-TWw&R?>=U&fw!mH#ipLxS=;HbV&XSors}HRP9a(l9LWg^Z^<CF>_04>Jr19B`
z8eF;U9j{COS2KlVTlw$y)2^0is(gT<CaF+Kzjo33O6!d$LP-RMpP;4aPZ<fAUzuS|
z8CZpgt9o@%K}x8e9d!h!-tY3I99<Bb>a{lm@%okpsh{?OZCWi`fm>xQz$#z<`;D4v
zG_1|1fS2ME0aZ@18_IkPiGKlB*RQ!)mK(4T#_8#SEp8Z+5wkF%vNt9HiK>T>yzbX;
ztInMJ%u<v%*Y|j+l^F+6KDnrH5Cs5Swy)z?)hHB=`si25WR29vCG8262x;M8O{+$;
zfig4OCD52saHOaj<z>NF)yc}W=H0R$cqRDfiq4|Sr7({t^h-c$x8=M^Vm2=PYgg19
zGF79{JFVV06rr`xrSG(6O_ccr_xQ(feeD!#i_Ijra)~7}AD&U5#}zfC5q7jSW9aeL
zboAHumiw<^7LrZgGF}s^(5C0WTA!d<&StZJ?mS9jAQ}hY;tip!iik~n8(^Yv%3IMX
zMFFS=W}nb1rb5n-$S>0G*)%`Wv%10`;F>{&b-F-aQWXn1__c<tCV<GJLf;r@Y#ko^
zMan?XlF}v;c(iN?7iZeNB@Em~*0M7i&*Y!q5eo=~;<1{$SgIN|s}BD(h<y7iHn_(u
z*VPUlY!N@HuS|BGLlC|@N<E>$Q)2sD+G=6G9WpnwK~#~#Po!`bza^<ZQ194%^LV2!
z_>?|V@AsK`vQYV%menAZapawT3|LTWkC<kpsATLa&-k;)m;V4V!-A9Y6eub*OXph4
z01{LAdo6`?6+!y9Rza!cO?iM(vLPrL=`%HCe`;9K+1vy*tEJTqIX-;fG*b4ysx04(
z_OOc<w%uBDx>045;>#tC2-A3?^DBiVO)NTBT;@cM5*WxJ&>RpJk=Nsa3+KgtHzce;
ziZ7<mQ3vJ|+cChU6Rn@zsq}U<GJleN*6m<Ewt9XsPb9KmlgwRD1H3SPkFxazzo}%D
zY8DTrtgsJeTOMqdrz!At`;;vQrOvWkWU<Q86F0Ak(|D~>w&E_TOLszpUKF}KXl&mC
z_ULk-iip&Bq1xI%2`*F))Z+PhD7x+?wx?dxUq04~ij_4%_V{~uBI+i!k-57tRgks?
zHYi>d7@xR3pK9fm$#6=)X86YrGEWWMgc`KL+{>}%%+%qgFR1FV`FXmZtdu=;$RYOA
zTG(T_AIxz-W$`Obs<6|m*5?h;Rej6thdY&E&jkXZ)Z@j?aV*#rEGyn82a;x&AvzKc
zmuE6GS-<`1yO+%&UO#`q54<v{t8UXi;`C+pxp(HyDhcx451|{MOyi!v?VrE(kPlr#
z9p8HXGQZnnxrY9OD<`xQQk1`+VSG_;*ed`ZL$^_<-B;vTH2#!o(&4U=IMhR~eSNRR
zCB>HA-TQsL?VK7~G`Aq%V>|PhTpN_3Dz)UzKn*(G?L4o%C>pEM_&7Tf&^o>zd=*;h
z5P-qb?cih^r<z!x*`5$Yyv@hunerTGmG*4A!-W}l(y%AP9`igGX@ZiceQ9x>HfLd~
z5tbTX2SJ(5P^!;gWEoB*(u15|=c0-ogk;0a((RgCYSs#x2B&Mf(Qt9QJ6RW(8#C%r
zRSKNQL62j1+dd<Qi6wnih?rT0ul!*Eg6Sr=nEqhm9F1-22Z84N>%}T14aBcxC+_)0
z^vCmHzG_C#!{>c(80w@AtcRV3+GzrKWoQYKzIA<v(d4R}GZ#{8oQ)*9G$LV@%9r$x
zX#H3s0WUCgIip&#8e-Yp`oW38(N-6p9{OVptWN+;z~1kgm%Z2J<aF-Ncr~utykdYP
z`{*T2{nIeZ(gU4N2q0!Ivy?sZBf#)85w%$R#g?ae0<gji>tHE9EOY=*TFpq)oz_hB
z>#FAay!JRs7wyIEc^bO!J+F)Gz+$^IO<3_$hE_KO5ih&B3i1N6{h1%$BQv(Xm62vA
zR<Cw9)G+}n>E*=j@0sfxRbBmX-|L}0y|}1W549Gs!0;c$OT{^H>-}(5aMSCB=w2rG
zuXWj-^WnF#m8f@z$Kla1uA=WOjI=&q&#U?GY4h1pi&@fP0!4=4g7w{Or*s=1j4m>H
zLye4)N<C=<TLjknNlPWVpwW&`Pz<5R+K`G{=CLi&uN~tB?_;0zJ_A1Ai_7OMI}E>*
z`|a!J-3=``*^wsZCkO03;jA|H$J5LG#UeDuI^q~=CI`*Jyx|IYB(5&kX#QgUsYwJa
zI#}wWKIT7D7_7fT>_2YxUz#<)XRcuRK2GV;Z?)ZdAL!0aqmVzLpn($ftk{b04-NK0
zj8x1Cd1}VFS1w|&jO^HTg1fsa4WOPM-uF7{v1DKB-!6-&HU|5<gZrqCnJBBJ?|;h{
zc@FgxBAFZm;p}Ho-tAfr^Kgrh6bl>cP2ij`$VVj(tL~3m0mKN+n?rHyG@dT}QpiK?
zVeh<OwgvC(+GX^{HFc;;Lj$G6P>Kh-mqmJ3X2G>r-&-u;FRT9aD9AqMfpU<}QTuzN
zSB{a1X*W3=6*_v>y{Bnk2kfLx&gW<EqR0(SbTD^@yDAB|(h@dvIy5=ZEtzmx3zIvv
zW5i9V*_$RhEPFM&TT3~&<&P4>otp+0+BZzl63cbyF7(Zn?Gkm$Jrak3l#GFDK;I%)
zfRq+KpI%_*kzL`h<b0c6G@241;1?_4tN3j@2);?E+$}#}v%Vk%_1j8UF`tUXy=q7;
zW})d;ds!xN8Ce*CJzb|FT_^KCL&o*YgZ%|jg2+?qjmxL16US`2De1Tz)x6#SF-glw
z=_%zu&P-BXm7BJQJvB|^`K6O)gT9UxgUF>HURnysfJuNMq>d+4h=YBp->HAEnOg4J
zL%bEv$GX4@4`mYFBz*9Rt0<=F?&m`)=GXYp!}#bo=wo-Rq<Fu^)avdJ2(gA!pjbWb
zJ1^!$phROJndq8xMp=svC5P4%LrYiz5>U7-Mj4oum3e=4?+j5K>HGmc=Opd$b4?~@
zh#5-$3O0+%%UNtQd(A+OCz~tyQze$aJa}*nn4wD_+L1slg3?K8EmH_96;LqP+N^#Q
z8AOxxQSB!XQF$hF4(aC8L<ndVJ>4ABs7D}oVN*U9;fW0d5+ybXqkK|kZ#5f5gs&(P
z%XO;@qVM=}ihwDznb@N+#rB|s1lBnqm!(djq*CiLC*leey)Co+u6%c!_PMAt<9D>!
zxs7n78@kSw1K%SOEe5GsK@zUZC65%b8=&)ID*|iDixiB>6_zQ#BG7`qQsm$r@TIEL
ze)Uky>0d1zN5W7Xw>~sW$hKWW0HtN`W(M;pR!EDp0YN?SxUV|f8p<~{rC})AE@SU-
zx!vX2`k^H5nR`Vz)XH`HP;wt!iH#$-D-M%;-UG4fc<#M!Zj;~U+_72^12`yYB2d#Z
z=6LmBk1cwkFYa+J^Yp6HL2L?*<^`J4iFRa=*@_Qf4(i%51VU>$(iKzEwHRrNy-h2o
zYQPf+c{!-z<?L}=3&?CuZro9CE50F2ilz%sCq<kn^xXcTdI__birL26blS}5RRR_V
zXe#>Bxb${B+!(K53WUi?nFU#ih@P-lRcWd@Uczr2s$s8a;ZvgwxjE(3@XO5_7PE+K
zo)8DHMJMA4A_ccXF-&gj#5Jg~kYd?ayq`n8=}jq7Ow`vlB`$OiHdILySeG_L80Pnq
zFX+-BGs&%S=b*z$tHrelm~W<u)!v-H0<fv89OoX*`u@l~uwsQrrVe=F;Rr_N>=dB6
z^NFU+#w#f-CWlczN|eQMU)PsA4CxGIV9MF1NzQ%#FdS;&pyU>s#)mA7Osa|4Xi^I}
zr7qB{M-FIq$g@7Y)oV%z2LC}s;!%wwjv~|k#K2q&`!9x|^dx?w{S@=o>IEFTvINAj
zsnIMubWWm)iDdsR3iEbZ@xo(C;Ro0%z}wwTPLa@9l63w;<wK)Hx4?sF=*sn$UwXjf
zM}Lnze!)1KBff|NoG`m@Ls)i^nE8Q@9-L(kJ$Vb2&$&I^;c&fXK|EAp`<{Df4{pLH
zWK_HzSvIgggXkk|)4M@6Ga3RhqP%3A_2vy->`t?1V1jf>EzY6cAJM+!XaaGNVd9Zb
z(&RIy-m9q<9z9id&NZe(ek~8v!clVa`W=i>J81$}kJyZzcRl6<Ir9n+7b=p{4d*1#
z1AZr^55yX@P~H+T2&G^LiptVPcKYH@A7@x9+rRV-sirnMR~!Z1v)~43_vQ-bD5@F(
z;+tY>8u5D?JLW-t6pH*<&e<i}37mA&diQnlge!v${O(c7gikqY*>Y#~_MG~i>Rk-J
zW#FXHf~nCB5k+~60{5drSVNsRS377eMwT?mjz4x<1AlOF;P0x=Rj9!U58+gz+^Un$
zqkPWLJAZI4+<YXeO)ue!cj|j<oL!20Vy+o|h*;-1?7=cGeAI?b^sE2zK)!JnE48yH
zC=d%KW}K38bB=i`SMEf|%`A5&uzzNrx(*!G6UfC`k3rM3#VKxdhg}(-7q)0zp9mvB
z$JnN+cJ_XG1tC5x>p9W=X7ct*$_poN0Bhxewxu5*VX7JPCs*IAHISQ(9KVEa%=LL7
zK2e3=B0n3y$rXUI3*7vdrRseW1#2=}_SC2TE?-vzuHoz+husd(``h-yoii@iFJ5C+
z#fIiTVkaI1lAKdA<?4_KvDG*>wdFpjqJ0%kOzdT?t&R073VH3io(dpbT0ZJ|7w5xU
z<PM2T#TNGZ<YC|^4C!P0V09!y*?{=MjL0-dr;P==FmCy@0`gE9HEf)UKiagN+}oOU
zR8_pAjB;8r2qem&>L{RF{YCKn?<EnD^~r8aueSxudkN)$;6_m4p;_qa!m#SK8`Mut
z9-X2KFN1uzVesUIG-jwNs!$?6K^?O=6ctoFgmrh(amxDVy<?d8kSn1I(!kpFMnKJa
zQ1T8jmcDv_2Cx6PoU9yBgAukz+%MuOyg9us?%P=A8{vEUUv#;UbFBE7!{`y@r<de}
z8z4b=?dLKq-tRk;l4GE~ANRd8Dyu;5w^S0=@M#kNw#pJltnQ{gotl^0j}L{ITRnI>
zT;ipCAVvX^3oXq24V|xecV7Q^$4N;MIh4Ik9}FsBc5)~A3sdga66H}vzF?0(u{`uu
zr}x+I2biBwQTh>TFQKnf{HHaxogKZbvxP*CDr-!LZV&o?+Y~lAhT`*&Cl&m9Jh>v@
z(klSwmMztROMOn6JmaL6^giy22nEDYTq_VH{S|D9ujY~{06)A0pQ0=J)a*n2GE=s7
z@?z?<m~019Gc4^WiqGrkgGH)Ly7a3^C_a0`ZIQyVM<)J_1a$F!2tjSyb$BkitD-QI
z@@_*Cp7Lj%9xPk0>+h%CyC$GCh5N(p`E>!E{Mt;#!mB`b=5;_!QS|Iv5YHH``TQ7;
zRL@^op$V<o@VTsPC(6oJj8O#N8Fc>OWappRnw~(c7OcR04oI34stC|;m30PMCZ9aV
zUgg`m7_pV~n{-mJU5XL3CjisShL9Q2Ei3tS^%0WD>YpWepui5q4k|5hjCY&Qv8tj$
z>$1cL<c7GoM{mSm_cv~Tw+_A?KhB(z`ar(5{fhfz(sR_mTTe5^9U&R43I1K);G3?w
za(@<<k*75L=Xx%$15|{p>|jo5(%9#*92^&y-wSTeX0ID^DShPmA~etOQa0v#H6)dC
zNP=er%Z7I>C+#8jcC?G|gTnfF4M<)DlC4Tq9k!S)<BYG5Gh^-~XQb_p@259ooQOmZ
zwx?C{;r2jQ-7kjLS(Ge-K3um3&eeCqKrQBoe#oSYC>F&%$-u;->*=5*TFyeb`$8x+
z)NaFtldNxX)Jw$m&t;TuW^|&aX^vH4W8n0_O5SGZ<Txw|U}GRls!Zwd-$aagTYit#
zK}zVP@E}OGC@VDjhny<15GlVQ%yPR*RdChUq#jdZQ@6!rNwx_$Iy%RoIAyDpQ=Epl
zSLX}Er`#Ijuhxt`EK-p~m)c-Q?~$`Wa}HjFsUPDl-tS@Co&7O{o^>neL7N?b$ju5L
z2b^G5JUpG}IqI+G794c6jd4go7Q|?tDPK}G2Ml5AR^H_%%sZzHo@Q^a8A`D?C4gJ+
zbCO2@Vw$pe{U0=ZZ=J93Cnc|-IXx`BfLL=krI_#eVD~1~Ba;nk<{i$+Nin#CYjMKd
z@UY|Z+!{t$2wN5W*<h2R8h<a4tC^6|1KTbR0(4cYJQ>0IIgh9Edhx~;s`D}dm^CRv
zE0!P<vXDOt)$XAnA0ihPaw@X31s9kBP~{^kshp{?Tp*g86N?A?3%#B>b6&*Kz&Kdm
zIdIo)AzCQg4Y^WI*x6u>nIqf$R`*yLAF~Qw1SgYGcFJ&Sjr=)whG+aa+6vQ&fVKO6
zy*1{pnj1#pqoa#z+#z`xfx=Ss{#^chlo-(Mj*kkvKVXQ#MfuIlQ|NO*%Aabw2XY>Y
zl5@o3oiG?u2YvPwSdQUG4s~w}FtL78Hr)rkwkAjD5)`C5E7#hjuC2%;0(O6NEc(1v
z5STgnak9`1MK8miSX3Sy1Kp(Hg9}=0P}GJDIEqeIkD^a6NEZkx_hl3@*chaS3Dt5f
z>N(@cNu%4o{tFzK4F+M~qAc(GV#8~6hBP5c-13)N-Nw3uzBmEPK~bd})D_~0ZXlTy
zg<s;5eWKDxp-mOAN6J{no20DL4*#fotY;o~me1Ff#j^0%>qHW<onX{!U~Q#}=3)~%
zbj9pb<hE@{ydaY7s9O|&)7HcmJm$C8P~=?X62-Fr?v~>nCtJpJUyqCBS(z7{Tp-bc
zRO+A22X$YJ*;PV0vm@{g%2m|@{-cH4z~P5$6Ft0<>#?!NX3M9a=OvmyO8WVTot<fp
z18W9*dn8u*E+bGb?J2&>YhX%zKDL;Y2eZm~?;;HCTD@XCCi{08bmTp<U{BYhb9e5k
z#0cm^#@=lf5=tS{B7-6u<z4X?QZsXm<@vlmQd5Z63XY)^=9niC;S2oelRyV-o|$k0
z<e<eFd^yU!N{ImD6#mH9ziFFpHIt9b$6A`|RaG2XUL*4ZvD&RD`5Q@Zo3(0?f7An}
zdED<d&TksT^ym$Y?J1!nd|R3ZB}P6ZZ`5q+v>95c2DzWAV=NIdXmexdl_h;*92m6}
zNIgozLUmI^FccjMGXHpZa&Cp4E_je3*H^Y&XEb7u2==I#UzLPh3Faq45Hx6FnnZ{(
zwbV$>E5))?hZH6<Rw{qD<1e7OZ@l%)W##o%TMiv>QFhPegEpn?%M}ij1d1#@$d5rD
zF59i<t#gET&qgjcXny)7Y?UkOjn^PY^>-pi>IEA>2dq_y#~&gu1R_lAzv)lF%9D<^
zXo|zz>rAyQ51eQdX+R`_nAC!pSL?D9RB$zn&`I+UX~In9=gkM^z#6b|`qB$umIJ9a
zl?;K`t7-m@Sw_04QHf2wF3;SUd(T#xep7QsS}in)zoQz_s=Fgzq*(ldO!RkM6Q<z4
zT4&<(Ju6ZfBW0<50fk8~!U)YgFeiZ@rM#S-$Kkf*CNVE<-h+aJUOC68=Y1bb1Obo|
zqvq|Bc@rd%m?uwR#s!17HHmu-D^U{CxSsfoYD&+BXj1t<0lPFr%Z0=vq){QZ#2%0@
zj>A)#!r>sv#(oa-*puE$F!Vu4n%*@KXw&Ra-^5trq?H#%jYO}6Hon(}bWz1f()2H7
zzO3vZM*@){)m$MdVRQ=DdsojzMZ1-6-5gq%0V`UQs!Te*51N*Y93T9aMBThzGhe(R
zt<epsSAk<YmHc6}r@4w~<CX)6QjBn=r^GF>GwPR9SXKJ*_OliY*-4&fLFomI{+hZ!
z&cHi86>3SG)*}ei`_fmR0b5{$sq+A8{;^k4Q>`K3&AT*d=A*bQU_u=St!9RISc>|n
zHY<e|u|ncQV}l|tlqpKBGm4zlMvU3+&R8Y|WDtqKtwAs9W%0lK>C$OU;Dz%$04LMd
z#ItMZLEw(4&Kn9ZGJwosO*msW;woWC0T<x4r=<CnA#JFzQ;Cn1W!cVF|J}oL`+Hlb
zxCh_4ycfRy_SLPt4w#0CDp$INtyu1l)5>H}UdSoc__eWh6-KIiu8gQeB-x1$yGEL~
zh^uV8RF*3?-hA-~dr5q{^H*P24$eezR9i%rrgmCQBGEuw+N>m;BP3D1WOsI#VIp`C
zTf?qUt%sE~NaAktQzbYNr9?d1Mr_&sk{}1OLRpJZVJ*sqef?;VbYz%vR{V(ho5*iB
z>Y)|pKmr^tL|V&`-s0qKvtHmAXCa8*j&{RMPD)$wj;Z}{79v}#yQEqVi@rO%u>3%3
zO5F3)i@0VwGdc;b^l>&d&%{EBRFB9l^O#lW3wP^~O{qmTl069<`e5G&y`&=t;bJ51
z47>^86JNoDC-s#^Y4ws3HZT(qBbKNZzzSbl+%TDT07~6#z0zsQHsOui-P(fCOCncq
zBqUb{6>8D!8xPjbLx!}fTo8LsgX>Ubn@A={O?a-AZxhe6kv(vX(4WhiQhcZ72$YS>
zPza8McU;`x>C_ayd*$qC)L$fl(JmpWJ`lP_GOAu|P*=`sjeJT(jh8=Buf5(LlwRFt
z<R{cr)iU%I-pvU~s5jgkhZ^ETDwM0y84S8*Maye@&`UGH-b~Im)Ziy(g%WsawYYRU
zF}@eMH5b*~>fd1ADO)ML@uih9ub!Jllta-9y5rqsmWHp<R{!mbyB&1jZ(Kjv8TG?+
zPo}ffsO4c**tGYL&l#Ih#v9|rE7jAHmjZhOMU$&QdwORo)`~iFcF);7>nHJ<99E7#
ze*a+DPoR_6=O10U`P0KkN8|9!<H_8Y)kl$I;MsB<d<9pL=*`-<O~f348t1K4Pi>&3
z7800CXcxP1I7mi=UU=QV-M9>$zdn5XeE9eF-J@G~kK))ppUmg;G^gQoCXg*hK*fZ0
z$OiE$s{5ms-J*9?gG!CuP$q1>DtxktVHc#`!6gWOK{$s)<QM+k-s%M#1#5L(y|^2`
zj-O4x{{DVWS~X24(|MftusK!9waK_yx}AoulW!1FkxeR-P1W6(vy7_l<?7j32gS_g
z$FED`sMk-zr~UK0Z{?@U+Fs$||MKx66x|o$6i8D)P3KvfH<Lz2t=CekwzS2CiT5xe
zSg=xkJfEPM0!8MFz&EZiHg1^2XLq+sbM(8p{`%=PC|EIm`sGPD*Hd)-%N#fdT&O5I
z;aWrF2u|8tT!aX%Aep4Ka3Ww(Q-C3eD%FFs!u{OY>R-FK+qHo2HD2MPg|G2s_SMaM
z!DXGNzFz5I*I@GTq#?MRZ?;(zCVJLPb(Pvz3HrHQ0j|cNCOiB)?8oyod;jXW-|^((
zYirQ^%O{5qo{YoSlc&#*$J25Yi45e54yx!O#XH+A3NPrOlUvgXU&6(KSd7A%m-8Mw
zw>#<wS0x<#yW0c!gI)W3TO~RXf{^=<PQsW>C$r$VhOY>TxmZ@P+D^Qk0Yqjg0V6dJ
zT61<wEq$rsI-h4Qg3+KKoR!hA_vwch;SYa>Q$KwD@Q=sgqzrysaAId^)=T1|LRB!E
z%S|F(Mhcd`o(Q@is`kTPyfsXMFLv$XnLmild?AQ6e1&hmx_NgR4#^CjO{O_K7Ddsk
z)vDWFzO;o$?Q#kcLg7Hes0i=+y?C?jmR{u${e1uF?Yl>jgK2>&=J8~t*f>SCq>AJ`
z_DDhYXP}xW$*1n~!p<;#5Vl=!7>AdAaBctG?r<|bt6zr)XTn#xDf{!_y=LP{h()p_
zi5CiTvYxgn4|g6F)F*mqX(D(f90P-X&g2n}>-Vpn-^|CWZ_02${`dd=It{Z}&<m8U
z5zq!lBST7x@TtC%rWBR`ZmZY3e)U`jlR;~Z@_csVN(d<b^MCJUSvE^eb1Ek?0j+}&
zXyJGG-_-lyWcGW}dsokIChxZkD8Kmla5m3^`}*i;{CqMma}~0q0ed8R;YAZU`rO+L
zGuL;?^~19pKl2S-y(9`jNZ64-{QNi=*zt5$X4UH;pCPCTSB*k)>(g1DObFiQKV9D2
zOx~N{kvFa%gem;#&XY$+&!3HF!(rky4p<&k)ct((G~3%AjMgv>^gBBv!}$OB%ac0~
zj)UJinWnuY23l8^h#IxrZw-4n1nGZT^Gwk1<|_L-zWM(C$#{A^o<(&gODd;@ST6)9
z!(MWBXZZO?hnxB9)D^bll?%H&MOHGeqjQUP@Pq{N9=5moAH02j6Q_3;5V*9z{pH{9
zJv|v0bglU;Ms><R{4*LRH?F_6nZGVyaTI-a<I<VYpmJT@q9A{s`e8r0aDHcFJlEp-
z<bw+#QkWO%g{Y45<2VXu=4N!(;tKoi%E6hPQExuaa)PSqbbe;kUyB03&4tg!`8=n^
z$@xh09-^}w%xwLx&p*Br+|RuExZjV<Y~<!zJJ%-I&b%yeXKUlatnn4~;%Jk3SnKQm
z1!(WfpWHaI^fIdoSD!pZQKID0SfTZ-cfyWXJM0Mm^A7*G;jn-4&Th;|qZLJpqR3{m
z4|X?zs!C^8p$d7t_wp40iX3%5F{maQDAbWJ-~D~^fBl~y(p^ZB<U{VG=@ukOl9Vt>
zlB9%5k|aq=m?TM3!X!zOBqdCeBq?E%BuSDICP{MZq^MPh1ZDk{A(WE(_x1V>(tUAF
zY=nGD+J{v(b7=P-7n$E?p6x!fJ|~NmOxWKmI-0fh`Pjs37~xX)7S&;%_q4;SFX#`l
znuTu<=3I+?fy$$tmcZ93_jL)K27abOhK~;t?|K88&kmew%}eDRT@q(tKPK->`-i?F
zMCsV@dPK68&rB%?Q!YUNP%dd+xP)4cS_|k5I8zziH1FwncRO6Jzyh|;t$jT_Rd3;W
zPpj||YS6{ff3Tyh%(L)WWO?LM?OA&84gPoK4oXAj-k|P*`|B$tkyDxf9`N-1xn{BE
z<Xm5!wBC@}-zjWzV*PXG($uQ;SxX@RyhycLnUT{7S2lPRSvCZ?MtbDUX1<308Xsp^
zu2+@pUiVH|HV@Q!MXiv;-RIwfRdpcp?lxwxH|RpT)sn#stXX%L+@;rXOCz44w}i~2
z$${hh>nd1gDhKsSc1pM%-Vg|JX`eLs1{LgAGPcOv{Xyb8vZt6R{<O^vNYhGUw+Q3Z
z5)NQUhj1+gc#Fa-@&IT-j0=K8hX1gbhsCJ8ghhE`Uj@c=Pdq*mPMrsMW(1*`V9>vZ
zYsCY?k|by>uKv9HOuM7roeGb)4TCk87R9;~_MS>SGw@!}H#FQKdKZPybj!S=@JuAK
zUr6??1k{y%5JjHbhEHwyE<l~zb}KD<-<<H}*A+$Ts_<af;AKSa(Dbvh3Ax&T``gc2
zAKcIs+C^|OT%jP|_#Off=BerNZ~KVT4Lt$4deTsUlvCmE=5awf$oJ4*0P@WF2O*(F
z*SlL}m7@od?zV+J2nC&+blJ8k1$J>cX;mM3pZhhSdOuf*I8`_nvw#~}_i99&`rTi;
z?kIK*pl?a&0LZ2le#GP4YdDJ}nqi2!9Ly~_BoCCJLx_NzVK$j|-Xub17~b5T9SMBQ
z@InkuOhp#DyH)i7`fDsq<-MurlJYjqs6T>k#Mn9xf<W}fS~rkb0RFxlzHLzWOlpUB
z63Sh`(xN~E9k-8^NGHi|-JzC2(BpAx5&0SwGwF<esi;ox+C8+Y4X%w6LZ(~!exv|5
z3^X-@cz`t5iLeL`f&@(K5c<W8C~c_-i1GwZc1!pto5Z(L5<wm2CULH4Xp{v~C3Xh2
zw$CWbTQ$pC!lkuu(c%ml`VhG{Es6%vO*H6>qdc2UN8kPUM&|OSGGtnLwuu^Ixf2=l
zIQ;NoO&q5PYfL|GVk=>;XO_o-69<CcO@V$snis;~04yo;u#&F;q+bp$Wl8D`@GY+E
z1$seFrWcHhc$rn&+r-}A{#+|%)wr}eiIz*&utS-@3!{5&!N4Fv)t^2%*qaoCFi3wn
zeb?4WMQaLqO31txx!D4ftVMz?JV|V4wwH^4C+Flbk}ZFs_Dbk&6<)OFrIH3&zs)xi
zM!rWdY6&WqM~)s4d=k+dteserL5PLMFjPdOI;T?h+=6YjP5+nYax`kJRFi2qI+z^q
zkM-ZP$%gFJmsg9QUSFPF+-OI1VL-vn)ns@Yj0k|i6)9onMI}i+^Rhc(Wys!|LkC0!
zOoGG{mjhiDFl~d8_4a;$|LbC%HS$yH01r1tc0k3)&_0AE9u+SR=DLmyvUdKpcs?*Q
zdj{o3lzrtcA+|4dgU8&^bE-xevhgUNPIB#R-Z`4JPGhTY`sba*C#UB(fBxY_d!IM+
zW!}=(w9z4PXGlXACT75e-m^y2<SGI&CQ%khFv+}8j%IM$26M;!#7w9a5{d8S@C+eg
zh@B+3RZE~vCDW5pUSkLEv{`wu;HdNk0%0(qa?<#Gb(=sjokf#T)&yzUqAU+)V;!Ms
zO*`73ygyi{KR<ob7{E#!z%DNe?2O)xwF&(A8FHYMI><5c_}>E0L2T5|z;RYNP8PTg
zVaqRNM?Z}8rlre0sv^&3W5a%@<F_Kqw7zL&(^l@+WO+QloEs>1)#OXF-K^jw?CfaQ
zMJIXQ7aiRZdw>jjvD;Ub0IK9*<OXlCP@R3ynWIK8$cV_8m+R#Nx_-qK6MUn1jf>eN
zA!n09yL|eei?Y&M_tocj^6Z0+w)~gBfBgMVZ%@vyuIA-pUg>Bv&m^7qg2QI_#o)#w
z(E;iB&~cX+Pf05wk4M_p>I!?d5Ss=ja{1mV=oA!SUV)R00dtAK`gYTWaMmbj9AkD)
zfxQ~YHxJGpNflJCJF?wD#RJ*s*h=jT*twjJi=wF*=m78W!-G%m?teVH@>ieT*`JO6
z^7PH|;kYbo?Uy!S?G0x_2G{;&EX1-}Owpz>XTR>&KH>8Dac1a_;%7qVl)~IZ)Vbx?
zy}ayEmzcpaicq8rSdW-)tnO#8C1iXYxk4(?qCSr8&~)U9MmR(A!+oxFG}0cXu`9Ju
zpWZw8m`Mlprl9|5bN%e)g{e{~wba^J)=fE4a2mZ7`e<xYskm<fX`OQN_E@V{nC2o?
znz<%b*V`z`3m>G4fF+E!{|w4l$}aJ&lpt<d^wI^R;T_e?HUGPFe^ktJ!cGWdFI3$(
zYL&~)_*^y_WqJ{7SM#GXdbDV-xMlUaS(MLSo}Zpy&zF_fM#I>?>cm1HgCwmMws8+C
zmq)ZH2&2MY3$F+l+2R?KH2pEVe!z(0tliPLqtEEIr*4@77Bs6JHr&HvWk7{H)gsnD
zukdyPte*jN+-sBMG*fNk+<2RM;ePYwy}u#d3q?E6Ew%O!FV22?b)oOZa#@*VQf8-4
zk@P7PXhq!zA_SE}(%<Ok`SGPSXq<xRjuy~}h7xE(I82ljSgS{Tx`MG+^|gnH3m4>n
zC3}1ceua5%PCKv9G>#_9A;+e*`E^z65NdC4tZm@mmfhn>YZ$dL)T;Q)=~ZQ@OZA4M
zvdq^pkj0xWGfEMu6@z6)Vh~jNb`RK{nf*-BH%Ol8!cuzcQ6{iqN5y(0i5#f_r|H0q
zBI18Wj1{o?DSDHm#;-8%fye=N*P<1#s+IQN_GjbqsQB1&ExVObv2s&&xcHZ+Z^lKw
zSn7ze(znB~&~~X^70kgz4V`k`Ki|_qnw-%v%JVjZ{k<(mgNi{^+rgnZfvj`T(+*wb
zA{sj?wo@wbJr6$h=!6atC6exhVr0hny^DUDq1&+aW3Fq{D!n%y>$P|1aQ4}QTSU{@
z=5MrN{Ncshle24mJFe&DvRu)6bAz|2DdSD9^1q92lVS>OrNhOCbm|E>JGyyw*2fHD
z<%QyhB6cH*MtzEX`-WZO>fr6hX3X{8w9woC-NWgJt?zwU!>A+1ufGuA{`ltg+iQJy
zZ?svgRLjjSWqf_BjTRmQcmnH8+G;UuXf{YGyow$c_@dsh+@!NU3ZOC+QU%Nec)yb*
zGL2-n^Xkn$mvTBY``7)WS(~&-(yQW|rt^EgFf9qP9aS6{XbEx-hUrqlOKY>_;_$Q$
z=%!(|J+-azZ?x&6mYJANit#Ad)-S0asEVTLK|Q~`xtW)XvSuSl++Hcf?qGkS{-hvk
zal;L1*y#pWqS)mudMh;%pir~Xs4S~Le*MXGoc1qNzWMTAJB^{^!|O$<Ox8+bd3Z1g
zS9nN|8A&(!!SfsW7;SWpkmp)smAN8niwE_#V~d+|7a_F)ZwinX<^{Cage6@{YFCZ^
zT~$@Ww43F7v(eq7>61rCNdu#zZ`2=t|KMM~e{G;|%lO_GMe!OIp#(~-n0;rlsVn6!
zQ4n;8Iqw<(JqhQpLGHL1lxf@|4YiqDLxm#Xh)q!EsA_YQr$w%#oaBP?<!FEM)#rD<
z`|-3G%lWdd3`WKpoHsh2rf4*V5Vp%IT&aO84THT^XmU>2t0f%11xhTq!7TdsDHYKc
zqW(w>!on@^t{QAMiBAm9ZkOp=zt}=Z=m>B!GJFAl|NDnYwFb#2clYle&i?72pPOo`
zLA_DA%z_mOIB_yM1mndut{Wu>CS5~hL~K0^-x2~qa>C8ZhE;Fr$AmGv;nx{S8|8yy
zNU5wFs@Mf_zW#%c1Z<B8uQaN>trAX0g|>nJ`R^WW3>a~nWmIGbv+;aUR+-jA1x&Yz
zNN1^Hs7KVeZ3d+UgfJfHxVP|-aXcF2A+a)1PqCeJ&rCgVlr(T-(N3whg0sC*QRKA}
zN~K%kTEd=rhtt3vPSY`WHFO_B18W7w!Ei(;VRNryh7?X0`KZ<AaI<OB!0m#=$Hz~9
zKF{-PSylSRXF{qljRB$8c{UImXiy^37fKfrBU8NApd%4~5n~B-=v1_Kqldqa@?&sd
zJi$-$J#yiqm7(5dEFDT$=h0{8y4gjZ>7yO*kCQHKrH2QTvZ{4FsOn0Itj?iUPwQbT
zgp5St<Kw=yK#KL!UCg$7sTjU1ll@^(PO<P#PHq7=N~cyh+6d~W#9Z*LYruGEboE1?
z$#IeEe<n+~r8IbOc~#Y$#RY<qO|W-r3`!3(DvG(hJ9E9;{)57EAftJjsI}QpTvtSH
zcnmHG3aG=q@6pjziU#aROh(18iMI4xm4|otUcA2OiwS^BMHao{$vJNc@tQp8X6B(b
zZLQk`#75wS717|0&j`1<{dC>^=<^6K21I(r`~)<T?4L&qacxjJa;Z|!)sBqebj`yj
zEKb+;x*ATh06ad(YsEqmsB=pZW;dLTM9&cC_6x(>BI@jNVArCPequ=Q#$*e$-?jmy
zH@QEpoEkHglZp3-^LeY}#jDG_buHQqM=<iDwvT#v(T$yDj3o7>|GNn3Eo6tW7CaPf
zZ8PX=BIgOVhDG7)<RH*>%;K$a)nzmyUE5*RLkTq*B9T3Lbd*$RS31yz8&WZR#X+$K
z=O7XXXamy?-a_g*2!?U;#q^~Zs&AmtlQF;!+&75K!c&fio%W6OzHpw9up&|=QZehj
zsp5(<ipz9OFu)ENk3!JaqBIhNR1R#llQHkQ*wGHBBI_QTClnFn`9V}IyK-i_f=!AB
z-<QbYy;B>2WxmJr-)(jj>za!usT^W1l1V3OBYQlk&>iJK+R!^zw67Ib_zt$PY(^-O
z>~;myjt|J}ONUEJMI1%x<b(j-<}i_Lrkvp<v3IJeZ7oTX4=hC#<B;PXD516~;%`Q}
z1lT~y`N9aksEJstvnujDt&;bVq2XuwL6(T{X@X%qcWGfL7-7m#IAcn1oawz7%PgXa
z85E*}#F$|f=orODH9VUl0?IB=-`YFqoDx$1&BPkATR+-oFV9ngbmuW)yb2Wqu7|?-
z$h*;Xh%I|Whw1E&bi1shNuwefZuyBF25TIVJYi-*Id2+@9j>~$D(q0soK|xZWmS)5
zc5-%|lyGOdw_c!Z&a5Gv&{&QzGFd+e5+1h!SWz8@BxlwMX^%qesJ0`J$d%r}n4L|Y
zd!ryDyy`P@o>Rlssj@V8vnyGa2Bo#-^R(-P;X(?~eJrQWBcr!z$>}B=p7Btm2S+=M
zlGpKrmMEg5#2D!R0Lnh_{(AHL$TfiJ>7kgg(d_6tTxs6Ef+k9JiXBSb>Wd6xLWS!L
z+^<h!I6$Mrq>*qjYrVmvp{V$R$M@X7lmX^KDFNxgkg$7o6z*pSnwyYM8&RYoM^nhz
zCQG;@d3bkE37nmBmp(5teTuIcwO+Hkf8s<%t(6F8eQ4q^7FF9KQ|%_aCiF<m=DH$S
z&T6x7X)bcr#chzJrM#Y(=kMlekYY=D@%o}0pJ*CK18>t=Y_2a9H)Z|Pmk9C_WDo6$
zCue*-mS5a#jKPnMJ$Dp~9hvSZ<^%(iATcjjKvZ>MibVv|nF4b!W5s$%8`tzWwGu^U
z;+dpHTLy$xt%_WRJ%*vT$s+s;1A9o(=&4*RgCdzk40JPzrKq5G^gpCxJtYmxry<20
z73oH8CD-$1k!4K*HU-%NPRyXXjtt$=$)YfW5`~uWM?W@d7owA>#3mP1hgN^-MN?L4
zJj$+bmdPF6M)WRLHx7nmG>$3}VcimJpl5=Mf><;B=1s!qT04ooy={qv`W#ZIgv{Q8
zDCsfBi5<*m#S1SZsoju$-c646&t9$uJ5^;EX~krmU(L&;NIOnf1QCiA^OJgpEE(nk
z9yBGlfhAa9fn7d<gWIlH??ZIP=nmoD0*4nqex1z58vd<;tsI;6O|{myNBZcx(v6}T
zjJ^~TZY$@P^E{WO0W*g?TL{j2qHGAz(MD^<LxRtB(y03Yu|L?GzN9_De(P_QkOoa6
z0#KK08g(8xCA(;1Cc2f%7$zcTFBN{ir%B}1#)Bx!G)u9SoSa?j6;f3y=UEwIlEzLg
z!mxr{j2fxf8YVD^3EK->m#|}oGf623{#xvkY{X(L#Tr;@=D>1~?Gxz|Vn>qgQEIiq
z-p;dZGA*h)0pM>dkM19Q`{NrO8Q#qG?X3G=2sApu;41NGZ4i+=wy+~)HQnb~F`@Mf
zI0uU*W^TFE4GE!ME3<K-1Hya9d-soL31en^(f9Dq;o}#tE`L6G*N&-Z4_|wy>oDLJ
zOM#h=XkpMDWdfKXgbUnaZ)2f@;lMv4c5ra1lm=IZpjO)shS4a~3**24@kvsi9g21<
zo;*6zf2z9vf8V~6#yK^quLk^yVtsZVTr7QnB@XF44GI?QHLQ|h8rmr5B5<QhC^x2R
z0Z(q%P+5vh!)%Cv3f>p3d<{gq*2APW?@t@Gud!&tY^4Iuf{hl2gd)Z*7c;P0m?eW4
z8z-!UKnrz{^WbD4v5Sf3KQR`YK?lKX;5t5bACH%3YZ+kl{#+`txL#;~Db?uThukd6
ztDCaPc(rteyZ1&VvSy+&A;=_cm9kiRMUDJIC{;cTKIVM(2SeWg&iKZ*kTCEC?^Lv5
zz#~|WUrW%5+G_p^CZMj1EW4gBM@1^o?_U1;>{N$^l^JYO65qI^v?zmeFwAO%Z%C1f
zcXVtB<V{i$OV}G9;>*Am8ZYkhdL4q+YMA&seuJDHO2)he^wua9+FLs<CR^-nWlA@x
zHuyf|<m~$LO1q+UWylJJ+e|_l7P7Sk1B?&fk52s|;hcyW0KR7{k^KTKQ2>MeZPN|p
z{;Ks-4(+G3Hy8z-dVKa*0so7V;P?iX6F089s?4LhzFCTt7u~h!yQ=T)Vp*xCHP>2h
zxMkxN03{=Yp;`h0cQKwN+Spt6z<*UN7wV{`HI$|B<dS_fr|LT7_C?=Dc$?^WgsX0W
z@*BHtI<}i%pTC<Yo!Pl88)BxqHhrXu;+W)8uh32@|7c*>N|X?0Cpp55(D<DIt$H?)
zneyuA9XI<@@avR2)(N2LtR8}FSIN~)d3t`6)Mn?FuuVZ@OK!909vz(BaM5fb;N^fP
zlgS<&s<T?Mo3fIm2W-z`^&jfLv%ezMPf0>wAH8t<top-xr|O@146a*R6+-7K^b3X$
zO;ok1BiE|_?%8Qln;l!i(lpFureP+_GJhdaTVw}-fa#dC41~mtinmTIMN#YddT5bj
z1{PF`6|^5O^IM?3Hf#1A$4t{cAy&XZ`PDGv={oB}8@oAZ;^>7mJH}GGO_iEVOd=t5
z%<M{@y*yu(bxX>dt=5Z-J`r$zV(nx7AOVgFuUyZELVw{5RSATZN#TKy_x@A|gB_Dv
zDXoTjw>Iumk{yW&vrTbA$u!z)Tfzt^)z-Z)YCFs*;f!NB`<3!gNj4}AA&?xhr>RjY
z)$4a9ZE>QiR9)B2GnHWF8F(W0BaW^~6<9p?XcnxR;zpPfH<bkBU(5?rm^%ujefq9W
z4+95B;Kr&2DpvXo?qnCmk;rqK<!{jWec8}tH}B9trg7dKreyRDFROA@AMEr2>)wp_
zfsheboGcB;Hxu}RBu1Io3(qgP7wDITBTKF2@$ZELc#NtO76c-_ERu0sX|yQ8AXJ0l
zcN!mEHN!S#EndI9uB!U$FYYBR+EUE?gityr%(E7`$3f!mD|jKUAKZ`}BJR;$;O>U*
zFNSU@D5U9MddFdR!vSVc__P^?WK#kNx9F!_<Bn|`657?gTglWetT{;GVY*<<C5Lda
z{Y}4_FPcNtfBNgIzx&<&JWH<WCi26Jv!72c^>eyemU*7F4{kui27~BMY{~EG&BBv0
z43Vegx@LZ{o*ZfnwGNFQkzdg}2iE1VR*d$HdD<001jbMXaKEJuM=!6I%Vqt4|Mlmi
zgXuS4CX+Zop1-<y{>!<(#o7SYW^~DPY-4^7XWd8Jq_Bq@#d?RCdUw%60GTdF($-E%
zW*n!i*6~c!_<weB^X%n$x-I-n%=2F^^nJT{H#f<c20t=oMMEhtfPt{rPI|R<kT)lw
z>5%rcE-$Cz!~+6_iW$nP?KLZem*xkD9h!K<P?+Vp`Df~7<4ajqZPh$$p4_^0hP8Sr
zE6adQxLTG=;HWE7th<_>Hy~4TV1&ZY_kd{|iGcrxCtpZ6`AML>_<lU(MFZGvZcdfs
zjtT@0oKQJ<>fgOJXiVsiK?R|_Y`5>aR%Q-$E_HmEAZIvoH81USoQf`MmwH{%Knoa7
z0+!4l<X)1PgQ&wS@L4=k^VgP84N-k;Cy2{tz1rMkM=%cIoE3r=6&`0<)|sqM7iF6F
z<;eNvymk?dh=(hgOQr9%cMaX&qO404>(njplW@983D5+Im>0^OpNMP$es2-8nO(&$
z)m{n){jjdfQcfoMo3pD&_Yabq5u*JC?KsSrjYn!5r7-$|)Conn^;9$ld8oW47a)R0
z{7kG~!uu3ACX^f<i>_nb1i{FNv3U@>2OuoG_^vsRyBEYG!5xnk0*3zk+h?cuj`xx=
z#N_**-oCqDzPmAFgOeh2f(6BbXoxO!psLQOL3lF+-pri{Y6J?Il2h2hA@mAN^W#jt
zQT|l$!ojAVaCDO1<oF2u!_f6(UO}XN$28Jp%5a;Mv&rZ$Pft>0h)L6M+dvl>h|!F5
zpP4;|B;l70|EI8t0_i5|=n}ubO|Jk@6qaHEOC~CS{Z@WVNIGLSq<#lUO(7sgapojq
zvN-U`GITA5Ab$W(EH9+6F}dqnEwzi)9N^{2WpYYG`Q`N8#nqyre=#ZL9+P1J6FaV@
zQBREzgHJ$sZUAmJEDz#FIt2q-Vh8BrgK{buxrgFCyuoi^TT$7u>lu(Dp-#@OlM;rG
z=<Cxf!$xRkP}+GVA&?>v=5rD5)#mv2^uFv`rx2e7tCMl)-(_qOX7LplQ=ScGBjlDO
z$?IT$Tg@NDORrT=zq`ouOh~=Xbj<UozrIR}XN&d@Of6^G&{_2>7U_ASpKnyDV6LH|
zBl7Nd0Ykc*9d?Km5d-Mf%@u=>26!D;m?*&jk&<#qaCYIVFrg{4tf?6;>*cc6p@-i4
zzxwP>Qa{o3h~`<gEGwBo%<72gi-P}d*3BP%^q3J7WScRVBaAXndxuIxy}J>8A1kG_
z7XJMD^73ktZpfdXzR}U()!Z1t+`w0)xm~s;j1Ee%QYJ(CvtfJ7h!~@+hJ*4nKwB-Z
zBfdRY)_BC)7-mBK%lEGzKR9^u=;+oiqh~MA&n|DSZ_4Ge8jp%h1_ipHJ3<6`c)R{S
zv?no~go;|ozAcfT?+6o{UfdYg6+tEP5xD7U0kdovpA1G`VZ#1;!-{dBQO3!Kq;niM
zru*vEo!5Tp+<>N3&tF|=z5M*);cZht9UK4CKR++>?0R16XEiQzDTN~UN&z($ih;A*
zL%|54oi~mj0~JEx97mY5VXUH{PKaS+gBuJ#^TCYDJnad=2sqy|bmAU^x3Jer41wQJ
z$1KWvQC3f1oc-HRZ~yTRkEi3?LO7@W&+mRb9p%}T-im6KHI25MwA^Nkhkley9&CqL
z!i8hPOk8w`k#@wQmsV^U?{YpBPC`V2Z?_??1?O@U63B5oyBd=miZfnFbO@{g>7=S_
zV-sf6;_1)lw`At<`=8#PoL=3`%PcbxhIt|BMA`tQvi*%9a*1l!COdNX>j-TL>B>1Z
z7#!?0Y^f{yYr_z1Hb55!+HN-O9kqQ1Mdj1v&`lK0^tyl@VSy-&BxRE_H4Xf=I=`G>
zUM&vx#=m(b+@Fn3-WnSEk#xocRWQ!R3}LX`!yw*ef#qQ74iI+x4)rVK4hWR9K4nLD
zC$hcaO0P)M<$X&agI~P5)T=Ga)AQd|cC-WeRd`K<u+)m6;2j=<W6`!8k}d;xP#a?>
zT8&gPW>ni~x$PY2urO*NujjV~s#LYG<;MG}RbSbb{=<?aNQ^bd<0N#Dc^w5tYvFUk
zNX`a%OlqSFcC^jSv(g2@@heDdPi{zR1M$Z|Wr&9@2<pZ@*Q^k)*lCbwQ6Ho6ZP0uu
zy54-%_!W93O(&z<;sP|<S4(9muVbCriq;l?H6x3PKv#g4F}<EK*rA~*l4$LK9^Xms
z=xz)`OEFqB{mQolHh(r9{cR7`emw5zdKcNqUPp}yrvmPkFEJR>5U#>TD-78OHbZEo
zF=s(WyS_-9NiiPfx2tN8Vd2>!39sJ+q;SQ|UD#VPbSj<jxlk+Z&h-oSYzG19ASgnZ
zFrXqCn(&wb(ua+DJAvkUasXlw?IDT)9g7KD?vLIXzEzXH>kfDcARG8<L&E+6;R9n0
zgcvhJ&tH&A6>h}L`L|#WgR*c18qUS$`J*`GU?#@v*p^811T!Z|--1CTp<Y{pU^MOl
z1EZNNirbPdJl-FlU0mx;M~QVQN#H2ggUrQHpGy)ky!DQueV3T695e}_1iVAx9Ww!O
z6pFdTD2QXDVxiG*zqbcC<D_IcS{Hc_)H|vIU^u(c$&73ZfR0PG<aV{#o7|RmnWKYA
zS*dZ6H*}7xJ0tnd7&{AMPxSQ`7i&7hv8pAJzlo|kzXh^)t>Z*Do;wP(iAf=7mI#is
zhbiiiA!}?Sh&FrzF(l}3`+db|$BYf2;C|PtAE8#tq$_TR%qFAzclORMZiLE8S#=Da
z(t~o6F;bwoskE1<TKBflZVp&-6Wr<TNNNKMO}!jP7~g{KVakr~C_UQ1b>Fs_@S891
zjYoOYFWNL0rex`6*-<9x3hlKsU2W1Ei5Fg|%oykZgdJz@cdYTh2>VG~Y+D{wO8aBA
z5@l82LdKY7X^=h|)<I<murt~CrRzkAT6>aQCkS+Zz%>wB8;PtcW`hTcB8^}v^(<$E
znRUCyWz&@4EWB(*(v4`Bf^=mVG6jBc0r?N_$x!k4=>7r~-h(Tw0=>+{betdVjrXSG
z2X|&i`;%LxgkL;5)QfC3DT*Rj#v$K2*SZmtEcDP7CzENj-v3HoQ}A8uI$^W{&D+K#
zTLD5F!m@_3-$uI@e5%*35si~1AOe*ZRXUe)G%`G2IvD!o?*6Cu_h+}JQO1@>_Yd@+
zmnWA$pS+tdOTEvRb+uetQxGu}*`bPxrhKf2-A~?lX^72w!R-kIG>5`7unwW1?3Iu%
zwORAdgqBjtOa_+OW+jS<a}wx$yD{3nB)3n^`WEebHEyRIj|=U4{lnJ}Z_o5#R24-7
zy#4M*ES8G~6l+yN6pV;Q#FD5qwx{s?!$3WxYizdM3;Y$xW<i8w!a<#rg2xi!Tqm^F
zqoZG(J2jM_FdCgkpNd)+ZVZUZ-n2*>=*j)#+2!?eR20jmY7w@80&Acj%S2YH!XJ~0
z!QeBK7v6WtAzSkRGma)^yr?Ny{q$tL#8r`#n27^VFtGmDq5pPV_8b%plXlRXd_y;T
zd#VwGOybGe^}FkZsxt$7sBG+La#}jJQ-dpN0Nn^=PE^SEju;8Mt!il0iuzpLR~H_&
zpw}_O>^hG&n+LsM0~}F>G|)M_Ag!hL-WfBbGyq5E)|>y2@>Jk~_3+zgZ;B!-4JnhA
zCZ*}_@Jyz{GXhcTN0+rFvh=71S6+)8W&pr}o)5E(<f`rWqX5O@<GQvH#i+<<(_*o#
z68tviksi**O|eE*M7Fd`%MVRXa^BzPu6MRbw#cB$AP4Imt)OdbL(!}-L%f@=^MPI~
z;T6LliM5ZLQkY4{=XE9i`1L1=l?jukfmUj_y>G>~F=PBPFDE$}hLqluMS!H~bY2+9
z(9PxHdd56$fARy;G7DqIyBNefr86`XFb?VR+2qD5aKZUWR1T6NhQG+sWb=$ohh&}S
zS(X(K?(E&Rdf*^2z1^2L(`j+NC|B%E65ZcDYzHAFnCHa6-D$Toe8kFasT0GkLNxvY
z8V0=gyKhT-`5<3J=6PP0^{4mu(_Nv%!hiVp5495QPse4g3>>0LEp52t5FKUW_<O$9
zwwABI4M+qx&Fcmthad&cKJOpa`sd(*;}vk7*^;xSG+)dNvgX~x>Fun`4-$Qg{=@Gc
z{P~BI$=H-Dq~-P0b!|I4Sa#H#dyrwmlg@=8#Dv(GqJj?YtxwD;+YsKOpQ7*%>d#-r
z5LsxzdBrpL1O&QZu+Y%49~SI+m^5AY=_;nz|IAJ9D3h5eG6SkPUsk_+eCLz9$p&)e
z?$PwW{qgf3UYz~(>Y~UqZ4C``uVIyIx{j=t-AqskN4Om{x~>!z4u(#w6x<UK2zi?r
zIuPs469Ue$2q*y=1gnx)?HQ&{?j(q(HiPm#-bQN=4k}gaXs-=ma?=iKaOj>qI=Xk1
z?A})L?;aoPKkd&aXV?0V4i~k5+D;)Fn5ZsM+LP3QX>%s;QgplbGN^R+LBxo<+*wCg
ziTIrLm>LixuyLh|nkL&Ek<CZK!cB;)){ud2WuSV^maLkb=VX+R8$kOn9v<F5o~69Y
z`w)F&dlane`SRqg(aA+w%@^fT2ac6VSeSlXN$HqVYKx_~qit0*up(BC1RD>OJGqKk
zV2LTAL{d_l2?n1malaqaW6<dpK_nT34J!2a>y@`@j;3ABQIU<ug?2IzW@Dpu2a}|D
zzjDy{<k6@F#X5gCKfj#ozb~#9S)Sd@4ZD+mPFdz>%Hy+0?h1;J=LSFugx?qf5y6_z
z)QAw?;<qH3kZp~sZo7PhEOI$6a=pvy?N<N2H!ZZvJ$`s_3nu_SLebBn-vMtH<%`#s
zS|_z_Y<Ep<Dx0ar)!<n6{z%(DRCY8daRmDWg5*oXDi2Mo`q%`V7E>D)uQ|2K6!Q#u
zr+#8OuA7XC@yNg~>8GfFzJF)-_`yMHx&FvSKOmd=`1Jhd#p?@gB=z$hjq<9h7t2c9
z$<;`Vl-gQ0?SoQUP(@~JjfbwiSsP|_@>`Hhy~59qdW|xKC3U%SJlEU@jYPgrvInc3
zi-9`p4d#4Rw@DTK`z*_}hdG*NElyNbsrz^KK6`L*8@O41!*cg%s{eR8d3n8Py;S}9
z%d&3Rf$Mg487y!KW%UDXd4C2~Vs#Xk`^kbl?9M2TsxJZjM1|NcK%L0lNFr9zzIT25
z&#HuwWfL>gr++eUC`)zkc$T#8R_Ua6Q-65zR%>RzoGP;tOxD$1@QfrP$6xE#vzL8f
zCQvX#x28s8BAQ7?Dw6M%64Vsy396QErP<z$&KY1Kqk;OD`g!QcK6#k8R<!T)^%rY4
z$jht6Pdc7_H#bvMbq7OP8@I^H!`r+yR0oK+AQ7Wy0fkx$4bN>M9Vx|tl&<Tz5>1#J
z;LrD6=BhJ{tsyRQ<MiwQvfSX~93M`TtxJN5UKln*>&e-*R>)u8yc-vCS(TOH5|*`U
zD5MNVtWl1ZTak%qh?5-3h%tp|ktCKKjnmM81~Xa@q%t?|m8+I>Q%*;@YD&FF2a{AT
zPqKluWyv<pb3I?S8Q15pF7#5<VWgHkldX%{rWM4B(O^Jzj>Ao6W0S8^imqlx969D>
zJ@Z6e<Jp$WjknPH6?>DB{`v0l-tqo;HXWs^U6LJ&-pAXmysb>Oy*oO3)E=x}l=IRg
zUG-vIrFPbwDN?ZMvK_7QC~>U*Ga0nY7AVyO)HI-w9&1*NXL4D!Hgs)eVLZymc{VRi
ztz2uM-m%h*Y?5EuNcR7Hd2*?B^6I8smQ_)h#;N(d)F#4&LT<wV(?RuN2BE}^KTn87
zchXgEL4%Q59&7uuwrr(QJcG$H9Tj<znOCYhRqc{|RMMlxiLP7V<n6Uq$Wfl@NOD=#
zOA}F=kg~}Q!X-WBj6?!;3LNN(!RP|oP-sTh*gBJmYBIT6>86vBHtx+dnR@)-@X4dY
z)S;5(BbT;Ypl=w^7E;^E(~Fz&$Ph7WWt=a{sxqd<0FGxX`UBfg0TX<Xsgt{ETkBCm
znuBI~=a^0MESK7pYjgMb;X#`HN%C8AT%W(Xc>3ZjpPG_ct;Eup$Xczc5*>KOK)%G7
zJBo*-?YCr2@h;bT*BEK-On>v`eY>2RB*||{K7V+q|Fl2<a{BJOA5W(flUS*gD3^7s
zka;$2ps(PwsI@O^#cyGi^IRGj_)Nc|zWDU0KeHrBZi#3wuXXga?tTCK?VIy!Rm=IJ
zYLMF7w7+4jLNSy25(SgdL3JHtI=&n0U~gO;A5OpgG<B;aNuo{Px^YLxkpKE`uV<rt
zv8dXf)^!@h)h<6KL|xcs^3|wcriwh96va42dP$OyG35XFPha%fSY+AdjVVPIfs?92
zchrMn)Bn<bW>wWip6}0ct%};=OapjHk_^(uww?9ta(;Dfk~lhi8x`5gucSI=8tbQJ
zJjzDX(W0zA`y_>YNs??LZ98i>fwf#L%bR(b7y7@p%<jg7?Z85-pAEvFX%+bWle>0)
zHc65s8%R5WwX%vAH}hpVUudhCHN--lJK9btSC!H(s5Y0=N%7$B-j|;qCFe6qlAT+{
zKYjm7|E#^!vOx$~HO6U0EDh+G*qauUasJsShhKemCuv}kB=5s2>R9o2kB=v#eAF~@
znwU_v_<vPBn~w85vCk$+^4{gq{ezoD^~>qIk#<S{=l}lRfRT+%$JwH+|M3rxlLjV9
z@@q;_)gsS@*1++o_^<!*QMw~ZlKje&nF3+cewxUilO*{tN|<NH23EC7bYDr5d=UBn
XbQgHl*h^>O00000NkvXXu0mjfGVK^k

literal 0
HcmV?d00001

diff --git a/src/main/resources/static/frontend/app/scripts/app/header/header.html b/src/main/resources/static/frontend/app/scripts/app/header/header.html
index dd6cacc15..0b296f874 100644
--- a/src/main/resources/static/frontend/app/scripts/app/header/header.html
+++ b/src/main/resources/static/frontend/app/scripts/app/header/header.html
@@ -1,64 +1,64 @@
-<div class="container-fluid">
-    <div class="logo-area">
-
-      <a class="navbar-brand" href="#/home">Human Brain Project</a>
-
-      <div class="toolbar-icon-bg hidden-xs" id="toolbar-search">
-        <div class="input-group">
-          <span class="input-group-btn"><button class="btn" type="button"><i class="ti ti-search"></i></button></span>
-          <input type="text" class="form-control" placeholder="{{ 'header.menu.search' | translate }}" size="25">
-        </div>
-      </div>
-        <span id="trigger-sidebar" class="toolbar-trigger toolbar-icon-bg" ng-click="toggleLeftBar()" ng-show="!getLayoutOption('layoutHorizontal')">
-			<a data-toggle="tooltips" data-placement="right" title="{{'header.menu.my-data' | translate}}" href="#/data/mydata">
-				<span class="icon-bg">
-					<i class="ti ti-menu"></i>
-				</span>
-            </a>
-		</span>
-		<span class="toolbar-trigger toolbar-icon-bg" >
-			<a href="#/data/communitydata" title="{{'header.menu.my-community' | translate}}">
-				<span class="icon-bg">
-					<i class="ti ti-world"></i>
-				</span>
-            </a>
-		</span>
-    </div>
-    <!-- logo-area -->
-
-    <ul class="nav navbar-nav toolbar pull-right">
-      <li class="toolbar-icon-bg hidden-xs disabled">
-        <a href="" title="{{'header.menu.ee' | translate}}"><span class="icon-bg"><i>{{'header.menu.ee' | translate}}</i></span></a>
-      </li>
-
-      <li class="toolbar-icon-bg hidden-xs">
-        <a href="#/models" title="{{'header.menu.ia' | translate}}"><span class="icon-bg"><i>{{'header.menu.ia' | translate}}</i></span></a>
-      </li>
-
-      <li class="toolbar-icon-bg hidden-xs disabled">
-        <a href="" title="{{'header.menu.bsd' | translate}}"><span class="icon-bg"><i>{{'header.menu.bsd' | translate}}</i></span></a>
-      </li>
-
-      <li class="dropdown toolbar-icon-bg">
-        <a href="#" class="dropdown-toggle username" data-toggle="dropdown" data-position="right">
-          <img class="img-circle" ng-src="{{user.picture}}" alt="{{user.fullname}}"/>
-        </a>
-        <ul class="dropdown-menu userinfo arrow">
-          <li><a href="#/profile"><i class="ti ti-user"></i><span>{{'header.menu.profile' | translate}}</span></a></li>
-          <li class="disabled"><a href=""><i class="ti ti-settings"></i><span>{{'header.menu.settings' | translate}}</span></a>
-          </li>
-          <li class="divider"></li>
-          <li><a href="" ng-click="logout()"><i class="ti ti-shift-right"></i><span>{{'header.menu.signout' | translate}}</span></a></li>
-        </ul>
-      </li>
-      <li class="toolbar-trigger toolbar-icon-bg">
-          <a href="#/hbpapps" title="{{'header.menu.app' | translate}}">
-                <span class="icon-bg">
-                    <i class="ti ti-layout-grid3-alt " style="font-family: 'themify';font-weight: normal;"></i>
-                </span>
-          </a>
-      </li>
-    </ul>
-
-</div>
-
+<div class="container-fluid">
+  <div class="logo-area">
+
+    <a class="navbar-brand" href="#/home">Human Brain Project</a>
+
+    <div class="toolbar-icon-bg hidden-xs" id="toolbar-search">
+      <div class="input-group">
+        <span class="input-group-btn"><button class="btn" type="button"><i class="ti ti-search"></i></button></span>
+        <input type="text" class="form-control" placeholder="{{ 'header.menu.search' | translate }}" size="25">
+      </div>
+    </div>
+        <span id="trigger-sidebar" class="toolbar-trigger toolbar-icon-bg" ng-click="toggleLeftBar()" ng-show="!getLayoutOption('layoutHorizontal')">
+      <a data-toggle="tooltips" data-placement="right" title="{{'header.menu.my-data' | translate}}" href="#/data/mydata">
+        <span class="icon-bg">
+          <i class="ti ti-menu"></i>
+        </span>
+      </a>
+    </span>
+    <span class="toolbar-trigger toolbar-icon-bg" >
+      <a href="#/data/communitydata" title="{{'header.menu.my-community' | translate}}">
+        <span class="icon-bg">
+          <i class="ti ti-world"></i>
+        </span>
+      </a>
+    </span>
+  </div>
+  <!-- logo-area -->
+
+  <ul class="nav navbar-nav toolbar pull-right">
+    <li class="toolbar-icon-bg hidden-xs disabled">
+      <a href="" title="{{'header.menu.ee' | translate}}"><span class="icon-bg"><i>{{'header.menu.ee' | translate}}</i></span></a>
+    </li>
+
+    <li class="toolbar-icon-bg hidden-xs">
+      <a href="#/models" title="{{'header.menu.ia' | translate}}"><span class="icon-bg"><i>{{'header.menu.ia' | translate}}</i></span></a>
+    </li>
+
+    <li class="toolbar-icon-bg hidden-xs disabled">
+      <a href="" title="{{'header.menu.bsd' | translate}}"><span class="icon-bg"><i>{{'header.menu.bsd' | translate}}</i></span></a>
+    </li>
+
+    <li class="dropdown toolbar-icon-bg">
+      <a href="#" class="dropdown-toggle username" data-toggle="dropdown" data-position="right">
+        <img class="img-circle" ng-src="{{user.picture}}" alt="{{user.fullname}}"/>
+      </a>
+      <ul class="dropdown-menu userinfo arrow">
+        <li><a href="#/profile"><i class="ti ti-user"></i><span>{{'header.menu.profile' | translate}}</span></a></li>
+        <li class="disabled"><a href=""><i class="ti ti-settings"></i><span>{{'header.menu.settings' | translate}}</span></a>
+        </li>
+        <li class="divider"></li>
+        <li><a href="" ng-click="logout()"><i class="ti ti-shift-right"></i><span>{{'header.menu.signout' | translate}}</span></a></li>
+      </ul>
+    </li>
+    <li class="toolbar-trigger toolbar-icon-bg">
+      <a href="#/hbpapps" title="{{'header.menu.app' | translate}}">
+        <span class="icon-bg">
+                    <i class="ti ti-layout-grid3-alt " style="font-family: 'themify';font-weight: normal;"></i>
+        </span>
+      </a>
+    </li>
+  </ul>
+
+</div>
+
diff --git a/src/main/resources/static/frontend/app/scripts/app/login/login.html b/src/main/resources/static/frontend/app/scripts/app/login/login.html
index 49be41e44..c89289efa 100644
--- a/src/main/resources/static/frontend/app/scripts/app/login/login.html
+++ b/src/main/resources/static/frontend/app/scripts/app/login/login.html
@@ -1,25 +1,25 @@
-<div class="container login-form">
-    <a href="#" class="login-logo"><img masked-image src="images/logo-big.png"></a>
-    <div class="row">
-        <div class="col-md-12">
-            <div class="block-header block-login">
-                <h3>&nbsp;</h3>
-                <h2>Login to HBP</h2>
-                
-                    <button type="button" onclick="location.href='http://155.105.202.58:8080/login/hbp';" class="btn-round">
-							<span>
-								<span>{{'login.title' | translate }}</span>
-								<i class="ti ti-arrow-down"></i>
-							</span>
-                    </button>
-                
-                    <a href="" class="forgot-pass">{{'login.forgot-password' | translate }}</a>
-                </form>
-                <ul>
-                    <li>the human brain</li>
-                    <li>project</li>
-                </ul>
-            </div>
-        </div>
-    </div>
-</div>
+<div class="container login-form">
+  <a href="#" class="login-logo"><img masked-image src="images/logo-big.png"></a>
+  <div class="row">
+    <div class="col-md-12">
+      <div class="block-header block-login">
+        <h3>&nbsp;</h3>
+        <h2>Login to HBP</h2>
+
+        <button type="button" onclick="location.href='http://155.105.202.58:8080/login/hbp';" class="btn-round">
+              <span>
+                <span>{{'login.title' | translate }}</span>
+                <i class="ti ti-arrow-down"></i>
+              </span>
+        </button>
+
+        <a href="" class="forgot-pass">{{'login.forgot-password' | translate }}</a>
+        </form>
+        <ul>
+          <li>the human brain</li>
+          <li>project</li>
+        </ul>
+      </div>
+    </div>
+  </div>
+</div>
diff --git a/src/main/resources/static/frontend/app/scripts/app/users/users.service.js b/src/main/resources/static/frontend/app/scripts/app/users/users.service.js
index 24f786e64..0dfcf039d 100644
--- a/src/main/resources/static/frontend/app/scripts/app/users/users.service.js
+++ b/src/main/resources/static/frontend/app/scripts/app/users/users.service.js
@@ -1,80 +1,80 @@
-/**
- * Created by Florent PERINEL on 14/08/2015.
- */
-'use strict';
-
-angular.module('chuvApp.users')
-  .factory('User', ['$rootScope','backendUrl','$http','$cookieStore','base64', function ($rootScope,backendUrl,$http,$cookieStore,base64) {
-
-    var datas = [
-      { id: 1, login: "admin", password: "kitten", firstname: "Bogdan", lastname: "DRAGANSKI", fullname: "Bogdan DRAGANSKI", team: "Scientist",
-        picture: "images/users/Bogdan.jpg",  web:"http://www.hbpproject.eu", email: "admin@hbpproject.eu", phone:"+33 6 00 00 00 00", birthday: "1982-01-22", gender:"Male",
-        languages:["French"], city:"Lausanne", country:"Switzerland" },
-
-      { id: 2, login: "l.dib", password: "user", firstname: "Linda", lastname: "DIB", fullname: "Linda DIB", team: "Scientist",
-        picture: "images/users/Linda.png", web:"http://www.hbpproject.eu",
-        email: "a.kiliaan@hbpproject.eu", phone:"+33 6 00 00 00 00", birthday: "1983-05-02", gender:"Female",
-        languages:["French","Netherlands"], city:"Nijmegen", country:"Netherlands" },
-
-      { id: 3, login: "llaursen", password: "poc", firstname: "Lucas", lastname: "LAURSEN", fullname: "Lucas LAURSEN", team: "Press",
-        picture: "images/users/llaursen.jpg", web:"http://www.hbpproject.eu", email: "llaursen@hbpproject.eu", phone:"06 00 00 00 00", birthday: "1982-05-10", gender:"Male",
-        languages:["French","Spanish"], city:"Madric", country:"Spain"  }
-    ];
-
-    var currentUser = datas[0];
-
-    return {
-
-      current: function () {
-        return $cookieStore.get('user');
-      },
-      hasCurrent : function(){
-          return $cookieStore.get('user') !== null && $cookieStore.get('user') !== undefined;
-      },
-      removeCurrent: function () {
-            return $cookieStore.remove('user');
-      },
-
-      authenticate: function (login, password) {
-          currentUser = {username:login,password:password};
-          var cString = login + ':' + password;
-          return $http.post(backendUrl+"/authenticate",currentUser,{
-              headers:{
-                'Authorization':'Basic ' + base64.encode(cString)
-              }
-          }).success(function (response) {
-              $cookieStore.put('user',response);
-              return response;
-           }
-          );
-      },
-
-      get: function (id) {
-        for (var idx in datas) {
-          if (datas.hasOwnProperty(idx) && datas[idx].id == id) {
-            return datas[idx];
-          }
-        }
-        return null;
-      },
-
-      create: function (user) {
-        return user
-      },
-
-      update: function (user) {
-        return user
-      },
-
-      remove: function (id) {
-        for (var idx in datas) {
-          if (datas.hasOwnProperty(idx) && datas[idx].id == id) {
-            datas.splice(idx, 1);
-            return;
-          }
-        }
-      }
-
-    };
-
-  }]);
+/**
+ * Created by Florent PERINEL on 14/08/2015.
+ */
+'use strict';
+
+angular.module('chuvApp.users')
+  .factory('User', ['$rootScope','backendUrl','$http','$cookieStore','base64', function ($rootScope,backendUrl,$http,$cookieStore,base64) {
+
+    var datas = [
+      { id: 1, login: "admin", password: "kitten", firstname: "Bogdan", lastname: "DRAGANSKI", fullname: "Bogdan DRAGANSKI", team: "Scientist",
+        picture: "images/users/Bogdan.jpg",  web:"http://www.hbpproject.eu", email: "admin@hbpproject.eu", phone:"+33 6 00 00 00 00", birthday: "1982-01-22", gender:"Male",
+        languages:["French"], city:"Lausanne", country:"Switzerland" },
+
+      { id: 2, login: "l.dib", password: "user", firstname: "Linda", lastname: "DIB", fullname: "Linda DIB", team: "Scientist",
+        picture: "images/users/Linda.png", web:"http://www.hbpproject.eu",
+        email: "a.kiliaan@hbpproject.eu", phone:"+33 6 00 00 00 00", birthday: "1983-05-02", gender:"Female",
+        languages:["French","Netherlands"], city:"Nijmegen", country:"Netherlands" },
+
+      { id: 3, login: "llaursen", password: "poc", firstname: "Lucas", lastname: "LAURSEN", fullname: "Lucas LAURSEN", team: "Press",
+        picture: "images/users/llaursen.jpg", web:"http://www.hbpproject.eu", email: "llaursen@hbpproject.eu", phone:"06 00 00 00 00", birthday: "1982-05-10", gender:"Male",
+        languages:["French","Spanish"], city:"Madric", country:"Spain"  }
+    ];
+
+    var currentUser = datas[0];
+
+    return {
+
+      current: function () {
+        return $cookieStore.get('user');
+      },
+      hasCurrent : function(){
+          return $cookieStore.get('user') !== null && $cookieStore.get('user') !== undefined;
+      },
+      removeCurrent: function () {
+            return $cookieStore.remove('user');
+      },
+
+      authenticate: function (login, password) {
+          currentUser = {username:login,password:password};
+          var cString = login + ':' + password;
+          return $http.post(backendUrl+"/authenticate",currentUser,{
+              headers:{
+                'Authorization':'Basic ' + base64.encode(cString)
+              }
+          }).success(function (response) {
+              $cookieStore.put('user',response);
+              return response;
+           }
+          );
+      },
+
+      get: function (id) {
+        for (var idx in datas) {
+          if (datas.hasOwnProperty(idx) && datas[idx].id == id) {
+            return datas[idx];
+          }
+        }
+        return null;
+      },
+
+      create: function (user) {
+        return user
+      },
+
+      update: function (user) {
+        return user
+      },
+
+      remove: function (id) {
+        for (var idx in datas) {
+          if (datas.hasOwnProperty(idx) && datas[idx].id == id) {
+            datas.splice(idx, 1);
+            return;
+          }
+        }
+      }
+
+    };
+
+  }]);
-- 
GitLab