From 316fbf919ce78abc91c0dc1564d0f0bdfba350ce Mon Sep 17 00:00:00 2001 From: EndMove Date: Mon, 10 May 2021 17:23:47 +0200 Subject: [PATCH] Update to openfire 4.6.3 and fix bugs - Update version ; - Remove SSL system, because some serious incompatibility ; - add by default the certificatemanager plugins. --- Dockerfile | 14 +++++++---- README.md | 9 +++---- build_version | 1 - components/plugins/certificatemanager.jar | Bin 0 -> 47750 bytes entrypoint.sh | 28 +++++++++++++--------- openfire_version | 2 +- 6 files changed, 32 insertions(+), 22 deletions(-) delete mode 100644 build_version create mode 100644 components/plugins/certificatemanager.jar diff --git a/Dockerfile b/Dockerfile index 91c4db0..b165dab 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,10 +5,11 @@ FROM ubuntu:18.04 MAINTAINER endmove "contact@endmove.eu" # vars -ENV OPENFIRE_VERSION=4.6.2 \ +ENV OPENFIRE_VERSION=4.6.3 \ OPENFIRE_USER=openfire \ OPENFIRE_DATA_DIR=/var/lib/openfire \ - OPENFIRE_LOG_DIR=/var/log/openfire + OPENFIRE_LOG_DIR=/var/log/openfire \ + OPENFIRE_CPNT_DIR=/usr/local/bin/openfire # creat a new group and user RUN groupadd -r ${OPENFIRE_USER}; \ @@ -26,8 +27,11 @@ RUN apt-get -y update \ && rm -rf /var/lib/apt/lists/* # make a copy of files to /sbin -COPY ["copyright", "LICENSE", "entrypoint.sh", "/usr/local/bin/"] -RUN chmod 755 /usr/local/bin/entrypoint.sh +COPY ["copyright", "LICENSE", "entrypoint.sh", "${OPENFIRE_CPNT_DIR}/"] +RUN chmod 755 ${OPENFIRE_CPNT_DIR}/entrypoint.sh + +# make a copy of all components +COPY components/ ${OPENFIRE_CPNT_DIR}/ # create ssl folder RUN mkdir /usr/share/openfire/ssl; \ @@ -39,4 +43,4 @@ EXPOSE 5222/tcp 5223/tcp 5229/tcp 5262/tcp 5263/tcp 5269/tcp 5270/tcp 5275/tcp 5 # volume & entrypoint VOLUME ${OPENFIRE_DATA_DIR} -ENTRYPOINT ["/usr/local/bin/entrypoint.sh"] \ No newline at end of file +ENTRYPOINT ["/usr/local/bin/openfire/entrypoint.sh"] \ No newline at end of file diff --git a/README.md b/README.md index 0a9b915..5fa6c84 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # openfire-docker -__Openfire version__: _`4.6.2`_ +__Openfire version__: _`4.6.3`_ ![GitHub license](https://img.shields.io/badge/license-MIT-%23fe7d37) ![GitHub last commit](https://img.shields.io/github/last-commit/EndMove/openfire-docker) @@ -112,7 +112,7 @@ This Openfire installation script provides two important volume locations to tra --volume /home/openfire/log:/var/log/openfire ```` -### Openfire - SSL Certificate +### Openfire - SSL Certificate **(Doesn't work)** > To benefit from the SSL certificate of your server under Openfire place it under the name `ssl.pem` in this volume. > Note: all communications between Openfire and users except those from the web interface ports: 9091 & 9090 are managed and encrypted using RSA, by Openfire automatically. @@ -125,7 +125,7 @@ This Openfire installation script provides two important volume locations to tra --volume /home/certificate/cert:/usr/share/openfire/ssl:ro ```` -Ceci est un exemple du contenu du dossier `/home/certificate/cert` +This is an example of the contents of the file `/home/certificate/cert` ````txt . @@ -143,4 +143,5 @@ __WARNING__: this requires that you store the Openfire data as recommended above - [x] Log file available out of container. - [x] Configuration file, security and embedded-database available out of the container. - [x] Makes available all the ports available in Openfire version 4.6.2. -- [x] Allows the import of SSL certificates that are external to the container. +- [x] Includes certificate manager plugin with hotdeploy. +- [ ] Allows the import of SSL certificates that are external to the container. diff --git a/build_version b/build_version deleted file mode 100644 index 3208b09..0000000 --- a/build_version +++ /dev/null @@ -1 +0,0 @@ -4.6.2 \ No newline at end of file diff --git a/components/plugins/certificatemanager.jar b/components/plugins/certificatemanager.jar new file mode 100644 index 0000000000000000000000000000000000000000..9a656abbbe00781d018402cab548e88c2aaa9877 GIT binary patch literal 47750 zcmb5V18`+s*Dkta+jghZvDIP6>e#kz+qRu_*hxCJZQHhuebe86{`0-xf6u8~cU6sr zU9)DbRdYPgGsc)>%SwWQ!vX-%0DzLLnhf9{2h8Waw6LN8t+=zB}`UE6ag0Zb7}yBxR{Xq=au-c zK|_9?9o*gTJ})2+@}h!(-xK)9pAXVX0t*o)eB8#VA)mE-1EEVBtZewQ5D;XZA-Ztw`hZ;Zc9c_Dg!M zPjzLC$7-uH(t)96JVYbkm#e`!Q_ntMrtT7O;ixTAJcFARS=#`=Q1}`Rj_fLfrf8@3 z%6QiV9cvqR!cK>dTdzY;adAe%73Cky`8RZAFICm~pus&YO|jeLHv+l@e(UNM^^D1# zp+JPpMVaf5*ywTyFs@&m$EdxMn*(s^w}foTEGVRCkkc7O;ox?^Yey3*RN?&2bGmQB zF{dz^_~eSdhamS$VjTRD=D(f!oyu06^$Sa^+RBE=)8~PH=$nNgX!bf|(jf{lju7at z!+L>RLcFj{j?1?uEbnaaC2j`i0N++hInaTT5r`(oLu?tsX!C#_!{i+=5(hgTM;}h; z0sw;}!q(|FwI1jS=wtTsNaT1zhMX!8wD*~mt=22*_3!$LXq-qs5%|hKI58)5>ir-HA zf-5vW$!f6ELO^jB5-uL-=CL8x)6Z=>(TTtX=v(PUt8;8XnC3$+@=wQU$<`x(2S)5Gem5I=wBQ0Rf;X1tOl zt7z73A?X|MfSpt$_9q!D5z3@?`KZCc%y$9(eLK1e3J3(yFq7=QNKptROytqXOETrb z%Q_!Z&2&o@RRPR?F~@}ohl!r19e>ODqK}@0ZZJH6-yoZ394{H_yYYoq4`SbG4T1Zr zFaq%KKtOZ28cROvf-EY=hNJN~!BWnhXleK3MU06>#8mNQo;w_Za zFONr0TtfrX$iPv-FoRXmU>&rID-h$>cp4L$X|xV zy_k_m6CF;^Z(>R@7oQ!=%ZVtrKAo!Y7@8sE3T)!*a8*-&%1uc$iGqX!%VA4}P zZr;Y!l!AqQ9~hZ{8p1;&$#HXnV~AcMRgyu&mLBio=T?t;B36ADl$YINLx3BvY5vaX+{x!e^GA=ip^ntRZ{ z6IGLOBTvuk1d-e`$LXcM{{G3E0C8a%q2GeK{<4x#(ElXr|D^C&^lZj8Pyk@@)BZPw zJ6P#iTK7E$W! z%0)r#fo1Wmm64T(5S(BMSK+QcnDYm70d9Ug06X0rM+s63oo(xjylva5p-&+fx%~S4 z=q#q-DlP)?a!-^{FJn31eYW>#feGA;z(u&<%P{fq@S4NmbymN%O?MI3V_OJX1nM&! z^COxaK`qi9!OAtZApsP)^#Lc!OeKNKOkabKa=G!cst9D)qx5}c_@yIc_>~Ce+-mRr zPnD0sm27;s((j2Yur%Qe7k|&#_3waYb)6XJ)^hRtK`Ne=Vkw>$U@7hw;K}a)B2XlN z>~R-x;@8A8OidpFg%4m;!~!4yUg{(Kw)p~N_}lB0P1`F_kWV2NBJ^(&i?Mtm0alhE z5Xe)x@BD{^vv6h{kas=bVnOni%`j)^j13?3WopQT8Bm6IyDPzv#!AAEj;p zJ*KxkfOsj{Z&lkW&9bANWiW+MC~!yKf=uFFr1e%O52wJ*cOVeBT?GVs!4-EX*;1=R z!c*Jk27r83@{>==^q|B08cXa73CBRfaIH}&Qv7KB?6d#A3Cy7Hc(K7;x0ma!(vPv0 zb)s4W><+o><$`$J3F66s9VhS)C-6T|5w}AYicMFRjPMo#OZ8NDsmFcO+4)(y?*piX z8QLm{Ht4F*6st(Ca#o@MtgPc--*A$r(iD_B4j!_56JB z5e*wW^8LfSXUUQG98*LO+@aTkI#ZT4B~r^1x6s2w{Pm+&4XMr^okza+ zTG@KIiYK&f^qsFS_h;Vsm!hk|3^_B0=8F#yRe_qbAkishJ3mzOs6t(!*P!V_Wb-xi z3iyL{sXn^$Q6g$7IrD8J=jme0dubmvo>sEXRXc=hXb5l&B``H0KN+(m#jh`@G1TRi zhmRJczixjG4j(<0y4Oq4%%jqLZI}QUYYCLD_bkz0~EK zbf}gHr(KQWe;f#Tu~rGaeXb=rC}Z?Tueg2?pUc7-Nm2|}ekdp~P1#&Ni~w#wrS<$& zU6qhc5y%Di00X)HlYmR@}aOFgcM#%%GR4@oE5FL8U?;YKm>ch z45!sk9JB>C(;qbzK|caCx#aXp#^Q}c*3}K!Qv^I&xNr;KC3{@mVGrfYG=@3{t-Gm) zkm1dT9cZ)%Y#i5KqoO@Jk-P-8?cJZ9k1DLIBs#T6Czmym~_E+R)fL`q&hm=x%%s&OvT<0P9Qh`<0PM+I5iJ zP10iUiU`gRr)f5f1#1}}s*flGD$Qj>z2Dy+QiDpp10j&oYjV;BuP%WY}R@9aW^}>>0C1l$w>Q!= zv@-e^#*0)g|6=@oqtoA^rV`AMs#6&~%%ZEFppbtCJSrkT2U0zshA#1IY$Acp60pOi z(0nv{6+OeBxIwJL>z#J%iZPOd(8cv{MnOBCVtow6?0;T zjE%YN&y2X1T@v{$Qu}rURzOdZc_^R1NiP=sVwd=@K3kf|gl4H`w6kCpPZIc6g>gaU zGqQ(d{n)^$?N}!Zid2oo9jnPO(Uii4haOz5OKVDGPg_N{ywD*&I~ahR+D{R`M~s2y2zxGKqr57V^NC zxOS=8M77Gjjg54ZvEA!U@u$#p6_j=IauuGh z4;}-d-=rwp$C`R4@ugo1li2!hJgc}IvUzDDt;;GpmmQh7xILIVT+NA>JOwu7NL?o7 zQqSZ#(2wjLpWWS`;pH{2<=+5HhTnOb-@J${W1qhCze)B0@W-4Q9t^HI;Hyjqi3xZf zC}n~hO)HDgsn@vjG@QCpF?NV$2yC|`M{kNHdJU7U$1{x^>r3p-7!=?xQc++jX=#Z| zDhi#fs!s6H2L3okTpFnVimGN@nx}1kOzJ0>|Cl4}uKB&F7084f3ET@FhGisRg0`d` z<^Klpk}g=aJxr^#41@Aow~DSJPX$`K^nGdJ2R^NLbMfJMB}IXTweQ2LP)e? zteTCp7vAR1&I{bp2L|6mZC5fS2-Kh_*-Be6y@0{!?1qqNvBQ} zuZH4c`Y3Nep?VpXqPr1inhLd2YM9x;mqLgtOj~9v;Sn)nEA;Tj`h{{Ol37xH2PV-8 zynWKI3mrL4+w>z^Ya7yhnjJun_uZ2RLSYt_BPW=cz z5z8h`vax&|wLNhmVev)o;N4!Gc_)|)HFXnSORdM!I*O$e#Bx@9@wm?d6*z+^9knZV zUyQz$uggDaZy_p`5Kzs&1SQh0a=rSl{vMHqO^5CH)kwifpbhs}ZZ!Li)k2qI1J1Qg zZZf=oVD*>B#ztA&4qcFnDpd*TOft$`Lus5tVfUeF!O&}+AX$+h)m0Y`U$(>tv8n+C z%-%0B!gDT**XB~jTo3_+l@JQ)Zby*gC>;SUm!Z|FwOy+XD?CTs>RqzN1n6Oj;OiBz zeyB=}5G)3+?U!UJd`novw#*}pXX2jQa1YZP0V21=nVB|$gNE*B74)+H^}s~ct>8Z{ z*yc)j(|}>Vq=VCS0XaN`Z2FjZ*F^|9LtxoghZk8x0@t?d8g~{Np1^IkV2FI7GBHHUn;~&zoZ$vfKlZf3--t_l`cC5^wh=cM-!Nse(TMUEbjSGVMS4^uL()Z%OHIt>|y) z_20)Q*#caQ^yyWE1^*9KC1JrmVU^ExME=uo{?|w|D?Jk<2YNGWV;fpVHdjVAIukQv z5P8tbcTsT>4o*E}05aeJ0C<0UdVU7(?E&B3fXySvb92DeRp8AH@ZbQru>t(}04^>9 z4-bKNcfiM|_nYg>%*?X>{_V$y=k)Z7o9pw=j@73p;Mp1Q@dmhg__4Zrg=IdxybK&0 z+c~}d0GLe|6*WqhJx@)JKRtZTx$}Al3UjsHaw0Cu_U0t3J4^76zq%1DX_x0@p z+;+5*R)DX-ii)n?o&BRD;KcM6^WBcOw?AL|0l=9v zJq?_gxZKEYaG-y0eG&Nn4m{a(- zKdWE%_phV>Y`&fW+uN7p{1wv$h7TtE+!|eY!gUE-h^X+;_0kA4f)x2K(0E9)Kk!t?TP= zGn+S?YrxFRoYIo&=H~ISv4hVX;p6@Jzm}Hd864#A9nIg<-!%b1Rrvz^0|JAB6ea0U zs5ITJg8_nko{5PF9!y$+`iZcJ{Cccd(BFxX{58Nl!OFnF8Chh_f4KQ;drD&pi#sbh zfWp9mviaM2f{2hY;ECz-LPEfx`D4IB8A^B(iOLzl3Bc3%|HK7>!X~7*!Eu3rcBBm; z&;g-Pkhdj~!soUK;xX9csF^tcM*%}721%^}4N7BCKiQJw5bMVQQ5BO#Puzz^M8N~e zWsLhFIuzvx0C4~Hvdi`IZ;TbtPvD4e;*Jo&%mm_(9{$*~VG5gioK38+HhIbVzV zehS+1xjc0DybCxQUn&+oY#3ux>Jj8Yj|Y;)DP{W@U%D0oHrZU84B#3Yyno1ikE;FZ z>NC)CIw1+3em#(qQgGjY8{%~R_~=H^DUGA(D3^XoJMKwHu3k2kgo%!Odp5okg>&>m z=@?|L4KYh_USQLPx)7E#u(Ybr&)Q?FC2ntDkwc8H5$dZZdCCSX1#~X*C4+^@PfNId zF=PHnN4(%ki$L#x`YzcJeuNdG>VSA+maBiwi;pxzV_r{;7D!{hkQydG+=_jLN%6Yv zeG%z2Pi$M+S2Rk{nCA*=h6*L+(ZU-n%(t%DSUoqZ9Lu)O~`;)G)%#;ZNvrkv$nKYt#k1Ai3o6VGCdDG@WK(mt9Q)UvEgkxGTIGrIZQ$$vhCfV- zUEi^E=@zY}v%3z1oOLPmfwrLUSX+ISMJ7BSSqQ6%T;66ZEkok|MWJ;+Qn{!;zt?n7 zV`>uI>Go=MD%L0#du&>(7~#Gz-)v^)0ll~RM4?ZD4Fvm()_-F1Khb(i&KxNIsUt$4 zhX0>vbX8=x~4=l)3G_ONK9UhHN&e)hM@@=VqeVaFt9gJxn78M<)8&w}73YUN)tmkN>EFcs?1XLE?30z0+a1~* z--XxLM4qlTpKjpJSG{{OSnVD8U#@Xj+4vq$hA;L2D+8bp2U!m@96%rlGAha2J@f|< z@OWB$dcbtOtGqHnJX*|my`8vJDcG4x{PqgioofLC0iTNUS3dxN|B@50f67Uouh(BW z3HIWpRget{LMQ&|Od92n&!LXN%#uiiWJ#tiL8u=^!UzEZ`CS+@L_iVN%7(!SRYN9N zN97wgl_>=^jaHBu4wjJG7h`g90}H-DR~J<_Ne4XCGlyglyMBNh&{{wQ8AI`H8xS;%hx?in!Z(wBaXl86?pyz00rDy#a>)7l3 z{awf2Nk?9Z&eq<>_U`~AhjrD_=nMw*^+Rga2{D|A5VKr)6{Xg4_4-u_GQ5mP3Q!bR zZJ$kW?tKnI`R`;-jCgQ*op09w2ySp53 z5{(V}`()~c9=sOuET;rz_n!1OJOK$t;7e~IQ_+wKJhLuByrlwo#xO|PEInO44JhLR z0tbP_>2~a*H4q$8u6TviT?joP#;GY76Q&^AG zo&&C`$prgNUsm09U~f8US*-vaQR0XK`ivbqtW7u}Lqp1#Lh+%cXrd#wdl*i|_7#iy`eJ$}hRrTf0Z+)Uesbul;uhor zx$nPv89ZeJo33cm;R5nZ1(cbiFOiUhsI4LvJZ?QE&UZ7vS%nRJ2<6Q;@_BKv0Js>susw5lZ7VS zSH0)xA^6TOg1mrTh>McJ&ggtD*OjwGK#sp1<}!xg<>&WhT38TWH#T@NufltAym@SEN?%to;dgW-O)z8m?~90Vt&N^ESUKe&-daLT)z->$~aX0J|2vR z6Py6~HUsYK9)QCTXhiRdq<6W8+%rsC`#5JgQaIpC!#FijH$qc55C^t|>7(tiDM+Z> z{4^0VR$;QiC1w#}_fK=u`KE;gs1LL@|9YAdSUo=HO@uaej$F6(gWMF;6c;o?Q1?75Og#dOcio-PEtl_tA9Cfm7cT!vxvnL!hqh zLAciWekkxp7b|bSD?3!hR|PyVgaASQO4C2l{+~P`#A9_8_9;unpY>_V{|_Gc2LmK2 zj#}?Bz_-0pyGnvu-hqI4jyT(#W1eGr(3plr2c77J+A9FxV}A3)X* z4%XFW!mGB&F0x+EM4h7$B4sI>K=^vAEbea{xXBZwEZ;$Lkucs!oE`rYiWhe^T0T@@ zFqX>v?#Z9u2suX;X(M#l3|)369RX$0@U^USy7J34f704! z68~6L4oF$VfVk}KgMQ2X^>Y2@W70sfF#NDQAZv4ooC>0c7Zk7_TMb@%0xL@omt=)0 zZ`0ijso-e1;Wm|?y4u}b^N|d-S|AkB5EbhLF&NCYU_-NV2ECH{T~bAB4Xg5mjJP`! zfb$$cp?-(#A+diUe@+g7+-4rS712FLy}lngl(}F$jgB|pS@cWEG0A%8!SDVP;bv9h zVyC$t$u{JQ_t z1NOCTE4BcugH-~I+_#nncD-?9Iy ze-l|%dtV_#ZbGYD(q~MDY$T7OBPD`R-PjZlrhvo=aY9GHIMg(soCR15vFY0%bVv>< z^5vuynYtC;dr1jLrU+^bm^I{TSe2E%K>hXZfBNu$dH4URgXA+)0$7^q|D$>2Z;uI4 zQ3a{SU%&q}^iTWWJtoouGU6h_3W{{nBDd0Gqf(NzbkhiuwBIJiCTryx=9stk?P(+? zhG-;d1)-t#3Y8Nvsk_Ksn=>Qi(In*+9J9VvqDM;I!%HJLCBR3av%E#1COF7rWZp)= z-bA2E`lhqGHM=$g{=WV{U*X^2{9CQi$!2@A`AlVfK85;k?~1LZlZlx%ovW2)l7g0G zF9W*QW)*bz;+L!!29k4R0Ra?nr%N@5Md6t`@?+#apmnmL#@bpyQS8IUt(^yw(e0#6 z9s)MCht@U~6(i{So#07B&!x>{Km6n=4Bp(5gx1g4PSt{@dM6uoQVm)H?5&YuL@_>J zZE-O29$K?5j^=m-mnpk(4Til7S@-Co6o4_yhzQ&`cM0=X3009Fl>XpL14G@<)2A9F zG$UuScc=W^b)Xj_V95;W3i;4P>n-f}y&US~UAdH{?;zgUb79qW`R)>L(b((l#R6@5 zS{qZNGn=z%jmwz&RS7Q`k%RQ8`{|l-sCKLsoCTEYJjZc1Px>}oa8qr`#aJC{cPkIy zaDxBrN|Fl)y{j$d#vrZxR?BzAXZT7?3ODe21R~)RIblKLRCAo+F6oP zkA*5ETS5$P>Kl%}@KUDrKl$uOdM@a)oUEC|BXR4x*U6-h)xwwPcuRzRM2AhUU*7#I zy#ME7{M*a^XHn^|m;Ft~|L-II7Wn^>uK(wX!+swvYS6#p&ozzRmFZP{uKR-SqM5%Vq0&)-}AU ziVUyDmIL{-Xb+8qpQmb8Ni`c^%Ks?Gx{&OyKQ_ znbC2A2&N5FN4vhK2w3M^ZiW%AQ{c`d6hTmvJEoLSX3wSQbXPX=p8_X=qlD}dReQGU zw3Ab#lksE~^%8j(_J%#;??4}*iuQxu5|tHWccuYIgj;KnQ4EF(6x5+7WH8(Dj)ETN zpufhXqE%<({!4}eJ>Mn@U9w^7L~f_Vgioi@3d~`lg1baH$2rz=r~5;(o8)eaiw?JS z-@E61M4n7GiAog7poAAK`;V;5Q)`OB{RceyDg`y#p;#-5uZ*ZB(mZ!tJ2~E@zFp0HpHMF(sSTWu`*`x5Fr*N1kv} zj2U;hxpil1#yL~#&U&MjbJ$->(Y2S#w0zAYX21MxOP|J8=jBA5oY&SzVt*~Tl!dgW z7(CA&>?s6;yjG+gFpf2=ta_CwctSj`H#UNoljA2ZZ~FLTxG?s9rY4`&w_yg@P(V1J zns1tKoB&iG$UY2YbUFMOJ`*7xCPzzShdzhX{*gZzjRXb}E}EL_7uXxSQWzTTz2?4R z88hMSL##8Xpf82XjtpgRb}D7*_PLZn zd7$W>5JCjp z&MTxWKe;*do{DXrIN$gnBD8k1429_DQ~Dx#KPlQ6GVUZ%HCmm+#KkBh(#9am<)vFsssB=AIM3y5iuYQ)0HJKZoU_oX0YW7~>PC`T z94dWJw>J9hus%E_fc1VpkH{tZVcRe8=kyf41d!poBYWoV1l&B8`1jOMu<@Lj3+xdo zB8=dv6^|yWxi9;CluZ+c*i{sjwD&JxT?rAF9M_c6*yjtfo%8BtE*jFSn^CzFQ^60Y z3wb~e9GdxzrBeYpKI)rSI6knmgivpXIzpV-+5pW^Ahk~p;J_l(;D+s?LHq`ZN?kaC z%xY(!GJ{h|yxCAxBI$Bz!HIgQBW}d$=Fez|Ck1FwN0e@CzvrgG%2TMdK25NbveNLE zAbeJqk+jMYrYcFjMOTH2Ah(@WJ4u{Haa7p((P+?|_I>}8@SMlr*Cy(A)+*nJ0yloP zE%O>ai)*JAQSvbrw9nGfSIU|HDEE?wEyIiy5&W#rXc60RBdHjGjTNky$>`PiOd(dK z#o=YB&BO0xlEhZTL0n`{wBO5Pv~_+}AW3+=UWB|gp6T%?zGeR#aQqV_|JJGh*>U@~ z?e$+(fqx_HZ{dK1-P4uwQ|0PDJ95AM_mKZv;lTQ{f9ro&4JwtTf9{GQx8G7r*rp1R z24~HNCm}5ZYNrulNXK&Hlm)F?&+ZD>&(Ey~4ZYvnE8*3_j%14NJ`E=_6xfCW8A`8Nf($RLdl{SuHQs98hsugv9|}$kz+Km zVkZ!4B1JE;4FY6DlyPo5M40KeK=u>@ObQn|UdN6`O)}aPgi33gMXs7N#SgG5lsKV48y+ z)JE`~j>|AG6pWHBSx54Mt!TAOi^1AKze+63h{iMlF){GvsS;q4IBNDx26;<%X3TaI zk=Z9}Dec7L9?f&_>=bJJ~OYg!iSM|e8Kw01a-_NBHMSk?bF_DnBr?kPfS8#3Ad|UE6e+4A*_s zvkb1`<(DmvZ8urCsE>sTuYBS0$S55Q4E~_0{wh?%=<= zf9w>6JlObh2BV(od~ao&WDGSbpZmrmg@@nb+2Zod$Wbbp;I00M3;N2?<`gm9U}(Mq z5N~id5)SI!Z*(w&5`aH&y}y(gsT+EOMUt zlw-tzfD(mPzMmVVXX?D)+vJaM9O>cRsq@mJ!N&>$vQe}F>PVcn3+aU)aVQW17k$a; zBeu6gnD))Hf=Jz0we8L)qygYe2(>f|TS zV9=RZ#*Y_;LzgQR5tdadmTHtX4yF2WFg38UkvzX5lIsPyFDVq+!$g`KjC*(|>^!gG zID^8kENiu3mM8it{a$ETFY4UrxS2e5NJ9rx)O4Txx*DwI9y)Dv>-mBzx*yc*{5E1W z6mvrkG84F-LuKKC=>8ioSO7kw^vJAU{jjsM^FtBph{ZSo)2nw74NBL zUyNfo)40+Ry6F{zpdobBMHp!S!%J&G2Z(s~yRKufAo|I%7sD_Z)FW;Tjj|Xd&mp6m z^L^tX5S~*aGBP4Im|3u7Bm)B@6G4VKWVtHQMgjbU)aQhAk7=`To}+~R9Tp&jJP}~U z((XFjxB?4-?exQwY`rCkcFVxDQ=Mmi@hP;8vOB^Pm4m49U~nBow=TUX0w5#@n*^;-m0^_UO(Hn2CLQ2(`{cvRJavi zjg>~y-rL17;p4;c?4ghQ8tZ~*&Ekjmfwn_s6z8CFB1niY*s~9ARetjKAs^FfU}|P+ z8FG7K8%M!T=cq2f>qp%E5drrK&;k7>M(<5DEi<+)u_-nDTR`Shz}j441w2ph_k4Js z@v%9}1g2Ti(~CIfth+JnEckW?_&dECcUVj-qGl712A1-OItxT;gkVSX6>`Zs6%Xe+ zrk2P*5;=DGhI<^=5Sl*=)q=3rLS0H5IbcbgLU`|S!{FD+dU*5k^Ho|+xI=e-tZ+z5SKrOvJQ$u~T2l~JvVENQa|Fur&G|;7{e7Z9oa>55;DXkgz9WMMx zM^>cRS@{9zSM>gq<{6muK1uj-J1+-Z52#OSO^XO+MnHt+z-_th} z0plI&oNAv^?EbvF*rG9;s8BmlqmijFbCY?H!7(2Kx8mM_)y>M756ZudCyYfJek(g0 z13`(Os{DYY4?wASpw5s_M#pI9RoC<8-4(qu0Fr!_Mff+!ty}zk&aZwPEbzeHPPa?d z*_LQsX-AK)NvxOgCmYi=bH#2TWDG9G40F8XCIGz{EjE|4u|zkoM1 zffkLsZ-8%uI~?-c-l~f|`d~1*Q*}l*-w$+H>=2i}yAVYV8mtqg(D;?A?zG-1=?pCS zTo+xoZ_GAZG~v1l1*hvpx^z{VT{i~f8Sv{p^ap;SK6@EobicmHK8hRb)f3XBz?DU% zXA9#W*!Gm$uR9k6W9d;OWH>lr6fPBE4b8&sgW(KaVbUo`Y}Gn=E@gk30kIH#5*@?hZzT>cr9I&lVBtMs>7DN#UMb74#9e;{Aw zQcQEQYB4voIB>8iJr?0Dmpkf~5#y1n6*~EGq~%?@zI= zMYGyN&Po*M*{1$arxYfUU(3ItgyGtu7_3BiuJ5VuT8&1H--;R9fIOh_7h$}lXMq|N z8t4Ya#hB$?%?=sZMZq&VGp6l0#U{1>AVg`c!N~Dyzj>Q#qiX@Z;18}85!y{xwBn8{ zXlqQA*D!K_1C=sn8*(f}wl_EzdBZEQo+B@&3t9P-Qnj+nn^`9q8>O`^8CJ>UgEoY! z+WRo?*2<4DX-Nm`lf=KiglHo`u|6BWqBz86u8@L~TpLS)l$=oi z(Q?gjYV8Rz4lgww6+V|`!{bRB@6!iI)$j29A--oC_&3QpPpv4 zEpdY2!wu-nsIT!}b1l_2;Ucl|(g9o(7Y@t``P)I9*43<8&m7n%NJN1QVNgByV_a-L z1<5Axav~wV^i!NcMC%{X{v8VTjavu2H;%_91;tN=#a{SIw-BSuK?2v39c{nJZ(rPp z&OrQ#zA4NmCVIoG>_=P|tm<*@K}gs!CgZfEee290kab`jKO{6(*@=YRj{72`8z^5< z`KGKFxCyC1mn2(D(EUen{&1N2l~HL??FSFGL%Iab^{lor^sgBn2cIy4MEb}P7TpWo zyS{QKIH=H=O3_Y6qkv;PRW51a>j9nGm;+ch$?fv_$rBHnjM_pc_Tw|zXV?@ANMY@B z&aOWal}dp`0|V+zgkH1m14}sz=EvA5i%|X3hDlJG} z=8Aq960f5^G!>SRIaM^w>ODHoN3U$oTo<~-i}FW_*@|>_N?!E0A6QupOE7W z($K9`2F2RCv-sfVrorCxQfIn(d@bbze$XrcQ-Hbr1Vu+4HgR08;?fAp$*7m0p*7-e<)>(;1M)U0V~$jSOn#f5f-k zkzJybCLsxUCYN9`HdA_ZvOct-EAUf)e~r>e&leDdCL2!L)hRJn%vLa`npA~>9fzTu zk_f5q&pdzJ-IhSn-nD^_2Ly^#lH6F%N?ZSSYXH^ z-=RhXE72QiThi8ymea$k1-DXL8Rk9zY~HD^oX@JAC(s8QlZG1HBK=a^|MA*aot7Rk zK?}YIk>8`wvv<_=B6js-QK~9tlsq6)7>BV5OA^h}?1FGRad{jy*`Q0I$9s1mu#>(O zJ+-(ETm%I^Xs4XBQ#}UpNM&{;4*eo*X%fvZYo?ZRbw&3AZiZdsmjO744*~O&!zL?8 zHj>VY20@|D4QlGxQnaxQqz97XSj@fE_X=yvy(1k*5CPq6M59TB z$lyPvAm|3exneu=5={vfZzJV1S;$$3bCA>{hL@1!zA2(pX+ZDsYMP)= z#=keyZrx_+eHAs%1mLZ@<8gPR-itmSa0}(bz7pIMLVBmWOdZL5o6HK>H zXex|xa?=rGvLM=4`O1_&VPE!~G{ z_T@h*cisx`68$3HR+^VnR?XL;TI?W8eXI<(ZhJWL6Fmv=K9jKs|73QOKg(Sx{nx7s4F&U}|=@D|| z?L|^1vjYW4*A)kT3F*s`m<#k#jPCEj{NsU0q9YL5$f-wbO_a+NPwHcj(C&ks4UE;N z{)A?izW=tIuuY`xbC>a$iz~}nPz)41mdSKQUQJfuGp|g9jGCK%77Z%S#Chi=2b5%E4SgbSHalQPIZ>R1al@E+m0vv}Js58GoHnwa=cATjY8aGYhW zuX|&DY~$W%w2y}|+V;Iu8tVAV4?!U`Z?w?fNFobZNbv+IRg9i*keBNsmCYV^JQcw0Jtzkh5z+9urtP+G7%t4%&<& zM{S)PQDT2huvxFu40$qNWBdu9`H^?N__zdmtZ>&$Z{lWw!>x=jP((z@ppc}I@f%eq zH*^|vWY9{qqFer#>%)WpLro^MI3q~Kc_S3$fMesI+=?wFUTjwk4SG5U>WT_5Yg#?S z2QMf^*I_~eE##!-CB2VsDJ+>)uwE|Q z1te`T!R$^h88{dC2V$4c#N;D$6pfRG9C@L%utm@j#2ZvJd=pxKsUcrTMrgAlCPHa?hhNP+t^V4^f&{&*bKTku zlW>_z@(}M%(Q2V`Dn9yb^qu?qS+>7xPN!KB4aOBwkPx^i7QvNinItdxstDuLc94CUnN>793<1Iebd zEy6=h{3TyQE>Y=4%B6RT4G$(pX8uL_#g1<)rf#alus^KOT|nT*TQ%w%Oq z*kf^<4yFipUY507+EN)#94NBJ92}3PZxx}fj5M4{pQ$ii6|Vo01WVVmH_cNbDLk0p zA?#0AKT6W9yno#&beQ9f+U?o!AOUQfo|?5Pb@ofP#O`-%VnucXC$kWR=PeS$l#~)9 zY~8Y5t?g(+kCSV=O+c>Is~B1Yd$U~}ytRztt!Nb2?6m%W05(9$zlQzzm>c)(*E%DP zA|$?XdRuf1wdKvh4#>?l>b>z2?a-2mmG1KSJTXO(&$MGoN=Q(Ch_A}m5ZqoUon@s5 zg=d&*>7}n0?-qfTh{$O?WTu2llrKB(x2SI2bwK;vIbr7Y6=BE_>lGSoNnpANPOQ!6 z?=qX)zhimje`LN&?$Cz%N)MOa;d=L@p+y5Z^m6OSq#N24r_jML%g{_5Qk@0r_TfE& z9HrAxiGpuT%+z$%{D?{J;l7s|cWg-Yv2v5Fv;(Zp#ThXTd>T+{1VcXtf(~s=dHJ%( zBJ&mqeKetvs+i`f#(RtRwFveK$QJS`64R4`6SgueHF<*?7`|TRP0~7QcWQhJ5~3eT zp@pPRw~dv)%S|%pkL;LNnvDF;0Q}Ka7)B(B4-0MV5Q?L$;7@P6Mn7v{%WwM>PVZZ^ zo|4_HK{&0;kRymj<{9}f51r!;RQc8XGs@&oEI|L_~Gd3|W1GEAYF7MQFwLKU^ znJWW^@-Y8O87^BsSG~f2Ns9!fl2$_iGO(F=^BHMh@dvrG%{EdERe4xS?EmKck=rli z#sGGJxT!|MlHH~4h-zps=!DxoL;HU6&b-76ybi9$-)l~PeOekc{h|`$d*nT@`4E?D_ zm5b8En=5pUl<*Y&5lk^cg}1u-t3`53vE5ir7KH-Lg#HMj&@O~mDN4z<0g@5%T5Cl+ zZT|v;ITAKm%Z$&sF}*N?Wm{1~0H{)J#)+pqtlEEE$7U^BD4x*9ZL%T#W)evGanI}g zazs6BZyJAWxxI{snrwX$sOD$XI}}jm7H(6Hr~j+uptQ<3EZxdLV*Tg_muxedo-wUz zpN={Dh!o`q2jYS?*gb7k=8kBzl2^E+JJIsw>_bu>;&a(*JcWXm@9arawyqH3eZ?fs1a)alMT)Wz z^}`?SS^Pf8WqUi~shklPh4-}c?%Ms0FF|0^yhx{Lt^!u2aXDBWN7%!_2($QQZK z+n)<)RXUHT*W1z7pGeYo8@Q9h8IwmtwY+S{hfSm?GOc$jspeAG?f8y%-;qu1YshGPd5J5b4l{!|+T6aIxlwXM;=HVSIj>|qZ(LhGP<~+5)yUfY`ey$IL)FS0%MQ=@zNq_n=ki$tf z;_O9eKa2$CP4&Z%*XCO<+b;oUOC&`g%3oivZ65}ze2{}+ki82_Z&GH;y-Rpv#gSis z6wwo%bD#ba#Y>rUlYHdBoSCpKLVAnxIWty0A8C38`b#81pOk8^z3J zhycFD>oyYimGMi0H{NMQ$1_WS+e*n>eqR~V2Xixjwp0Vb7TpaXrLHGbeFGcID4qv1gMy+r1eT%0H@Q?ejGl3@JJHKy&$! zSzbJtZ-|AVT^gW~Sz9}6{z%<;*TBu^l|y{SdB{W-Ko)MFBd|3nW{b2_UAgSqRjX;@ zX&2+K{mG%d2;#c={{Jc+c?B(bb#E_1VlEJnk!%nU&HtZ2asI=Q0TUC8>A#KJ{ZkAX z{8KIcTOl;<2W_aT_WafU(ld@QUK9o*LWuGsL{=Eh+EQ4O1O^lh0)38)9GxY>bYLok zw6KZ;ez1i%oNnDp11uFdrJxMoS~#jWwBmjhKO z;`Ikjl8LNwFcT_mhw&o|3^lfLA$MH1uf?@?Wh4LS0uNk!{q*^R`A^D` zWsPCGPi!iOSDL2{sP=O8P{gbUea@bBrJdu4X>a;i@eug(>7cjY@F_LhrgWNu48J1t zl&54PlJ$AF{;z~t1$8I2?oMhp*}f}eCcM<@L{7z<=bHO5P;v6Ai;C!Le`Daa4%nW< z_S}Bl?~cb_6b+PK%La;^o*hDF?7T%%50Mrhw$pt+c zgO;*!Vn_BRh^vsrO{Q*GPkbY0XPH>(rYC7j+bqR}U8{QtN@lc-K`bWasIHc4Ri4Z+ zZ7Y}&`{)K5Ga!?=URnqE!lqkoYS?cnH;Lo=*75B?97K%@@DlCuNC9ECtiAh{;K_;< zxptb^d_Hk%^cZfMjFLgDu~JByl0@qwrI;E0<9p0yFTBmr_9y)W(p{ID$5$5@yayM* zYxBAtve8LI=)soe{-z;f*&MWF?X`g(4tC=Ga)}*;Y1>_*n*PxL8&hTc)f^wJSnV z9BQguNrfr|E_<8c?5KGddsdTaMkghcK&z>yZDMQ`ZqAZ@m!X9bman}=u(_S=O>;*> zyH*rts->yC&-siMojPJ6t8G`18HX*``Yl z^tHWWdx`s}o?Vd%uGe=wyA0R??&bwYR_rko&qF}f2D`EEkBX*67I4JNliN7RA)DdNnwc`;qFoB&Egey~WHlRNe(rWCw5TQb2p zh~((>N7*kbj^n9}u#?Os{Zlx>abFJWkf)@gBQ~S_g9!^cmz6%d-M|&!-MeGSf}@n( zL5CvDk-yG|8^<^t+u|_XP!n3A;r-r#jGr0XyL$W9f)`kxDX&Y%9lo_A2MHoIYB5k^ zNc!s#HWw8+7jTQ%b+t~M(7W7r&6MUzjbJ>QS&kfH`Zvz;8#oqv1J>TMma4q5^V#2M zcZG_HdsQda0J}#j5u3+5HiTI=RnmJmQ??5$=d>0!2B(kX&QvzZ>5QWqCw4l=H@^E$ z^>pbVnmtYMC!#Uquj;{GN}-f_rDzmkAwLZ=9vI{c39+;m*7UUbQCUhAANfOdgqN zloPMMEl}n=Wl_i>Nc>Yq_4ToG1^gw|j?~(PAFu%E%_{Iau*NaG1GA|%sS^BCaq;ds zP~#Tr>1jmeO3xondBCaGPAQbp-3kR?@AipaNmIUsVy@C&eJ$B|kva7uuNt0UoN7l_tIiow$VVi$mD2R|su%PY zy!c4g$l?%=jGpBz0qWXh8(rv;REhe!SxHU|%SLCCsud@H{)N(EFvk%wYg?;E71{{2 znsnJU%S*j9uJ<)6!27h_kLGF7CBAA=W|qGoNpF_FMA?D=B}Ursanpt7spL8acsQvr zSU7j0N4E1V2KbT=M)CdFM6~}WgS2Kp+~j9}RVVsX2Ub{jQjA;xIyIW}JMW~b-m<#o z{9ioVQ>5AT;&!C#pjze+rs;D`1R8)lMxy(q*2_{woTv1(-LRjwE97e4S=&a7punsv zq(vW8IoDYNESoFaN20>mv*8DoGY~(+k{6?lLfVSQf*2{~xu)ZYZ&(dx5BXtVe7~U0 zn0@L6p1HEec7Q;%7OnilYu1ye(O0HC$ak0}^^G$)z-apc%n&35m zB7&I?>oW||4(_xL2NfiY#}o{_^C+LCFL>S@3sAyD>pe%Xr`%>$IjbPJWJzJKGhD>Z z>#nX=qIOs9zp6V@)`;Y2KnGCj<)EGL*4PhrQ`Mqc#w7siW|*I%ZVpTG%L;1~a-&>S zHrmq>N=LW49C~vvx8pIG7brlPAK1|a-yxzy@#It>g)b-_+UXxW(A6Mwu|$V)-%A|E zI;B|u$S&H9*dw6W#u{Qt%I1!vMnpua>DU2HBge*Q;cg_ZsncR&6s%bee7DadQ@nAP zosTiOm1;E!+@LDE9-GD88%x22!i|SQ#IJj57}?mjbggk>^8$~<>fQJu!X6&;Kwv*D z%Ec!ahsU_=NOT5DP{kMMZAVgsZ^sfRU4(v<^c((3&vHJ-!EKM7u=Y2%Q>3kt{dJ{U zm9wi&E*YXvu>O1=Z&h>opX$QZNU1EjI2++&Mj_4lAkT*72GiKVk`Ko}dJ@4l0P<{` zirH8T(7Nm=nq6eX33rGhxtcs}pe`6?5c5QOX<*}X5$2t^OPuH zlx z{&33VzH=ygRJdvq0aV&^myj)-sZxOZsu36OK^hOoI&Cniz=ofo>`Jk>W2<>IiE7dQ zg-C=$BIoe8p)NJ~+*MvW_5t}~{8D|Hmhw4z&KU5N>OMru?6#q4;AjExi9|(~)PB@h z135M<4#H9agZd5Av%i`Fk|HqV|n z9;G2{73_Ir>Owy%km1lZTbqK7Cwl=!^&_JY*PV* zS&CprSzt6-(-S1F#P7Ep=g7rXjIkd`CTqHYX_F)Ea-%5QB~+y^(HJ)R0kHA&x1^=f zVNN`!=PIn?dDB)!v(YB$p>3i7CleRLSa+bJnMrg#S{33oT@BErZJ+Xt*1F_9JHHWK zi@nf%%z|ba-d;lmM}hJ$s9XPPEtg4JXBNILyCV2dCx0Qa{9uPrrdoR>@YE{lgH`Ma z<(tl90Vvp=eWMImVvX+!P+Z5DIg9-M)RhSbtgku`-ON8E^76rKtO?_b7@E!xjH@nB z`Kq^){sCGJC>C^c1Kx0DEu?Fn+0Rja6l@-xnnAZF)wDLMz55#v$Z42(&~E!HJ^B|; zEY~Na;?2IW8H@MaxZU`>xn`Q6(`*rM1 zyzHioQdW7%=HAiMyj&GJUijXdCdP|6i+f2&%e#;Qn(D)%I=SSIqvp=R3;iCS!Hh>N z0TPXdgf@?wedndAAu5o5WTh=2p~F<#_^=kL?k+S%-rTJT&>Q-qOLMJ46@N3jXE}(i zw^T3OW(U&)dkKD0?~c_A14z`YT&)bK)F^QO#iZ#>(t}*{{0oz56C0cMhiv@1Hc&3* z%1>NxZCD)eIeaSIp{!+VvVx1LkwKBAh{m??9%FBMh_Jw8;i$57n6N;i6vu06Z*ShF zy++^9?}z9=cwBzT(Tb~2x{IiFQTZpRH^;7}kr&N7u>R8)U}xgNA|0%hcL8qX3;apR zTwz4p*SYcO-;*!3G4r$2PtF=q#G~#p^vb%RtVN#i?*}eo+)AyuwhWbQSyMk#2Jf0Z z?FMEb_hqS1MKg3;0}K8JxZ=Ls(&a<-(96*^J9pAsRacKTzRyp4vvz3umGR_HdUp1R zBT6V=dYE2+Lm##02!u4X_Ao||3kM2~g%8zd93O(^!By%gO(o>0R-*X}UFuva6j#x# z3+3LkHG2z%ic72K82kL7+-cQdBB#ZCYfXUa{E2F2Uv8QjDaPEX@IoK9+Ovk$(L!pN z>g0%i9530z&L?6i`E$edooQKJ#pTVVn_sYycPqyUTs(!?M``wj&U%mJt1cp_jldxx zpqqC33uWPQmYz|M$;|(*VR%fwqCB0q$X8m-Y3^%d^;hwH5-+hozE7Ug%_6L`f*Bf` zW~`K^0XG3USgv5Ok1`GObHRjw@wX^Q<<4~AXI))f_b_v%y{OL+9QqS%(HpvR>{m;} zT*>4-#4L+bLJYi28KN@|)fhVTu*R@Zd%9h%z!vO%ZiMc&QEgu3B`f#Jmyt_sPhD`v zM5RIbVZmb_6_mhJ?z*Ny(lIc2H2?{~;Fo?@I>+i0-n;OI6zCzA)wa#us0>eqSb?c%qguEu*B z+2#+Q=8vzlzAFsU<+PI8%x1+j?at0QDQ1w}iG4}33DXA)7s?8Fc!n{{j-`#bn{ub7 zX`67D2ya=KDSz4!JEnlrv$E|1FG8(oV7Y6fvwDOGVwu+{Emb|_vZB#A;sQ^eVswa! z^)O!aNKmz}U{Q8+c6-WAsB&4H=w#xd!8(aL$~BK{Xxnc z%~Rgp<|0fP$6;IKi2o>xbozkto@1W^3|Rks=ni;E?fjeC5r!4eO?Osx@83vX14Rie zdkJ+zAkKG&CWa}gSV1BuH3zZ5sbxFvPi##Jh$Suo!U)Vw#B(5JiOkD(4Vqt#2}S?h z%Uj3w7MAlJS&vb=_gvB(hIG(T=fv~*vYOtjwGl+47#02O_fwZ>yh3rkhRc~5zCM-OwMX^?1=qhS8Oo~JKOx@?-rE0*7#vUmIGfzj=aM^_>Q`i;~JdpHXEFkdC8eLS^ zCvdUFpr@eCBXXfcr^caWWUoaM?TH2uPyS?_sVUrz{h^g`0YBF1(B9-G!?e@F2GD-9 zrE~Jc)wUSXT=Vp~J(b9f&A)q96-b^{d*j3P9Un}%RRQIzRDARG&+b77v+5t{XBvLk zFw!H%JAhZB4?Icg02Fb%atoGBRGEsV2Z6@9)g_8WtN8~ti&V70eCY{zVbMfasre_- zwJv!_XIZykTlhvwd(17X>Q7!&6F3uYAM>9%^YczN4MBU9+?R9_4dVQu@-|h?KHOS& zg3_fxRHrp4y+1ht8Y^-S=9K@pRr#nYNEp1mT9={NIMIVsa;`~qa{wUtnHAf8`kfeRUFksV93_U zFB@x|^tULi)tfznhVkNp2&X``1>tx%%&28wA%u~J9WfeTN%60C&QX!o4<#T8~Vnx^}XU+AZw+ zE^@gqasWy}nL#J0nKMsq6|CBvt0QlKCQn6o3>4K0-B}hF9V zc;7^xp{mzw-2r0mp8an**`tp)m83ZZ*7XE0^4d>8YpkYn2o~TxU!dy#`&K9oqs zT5p=99`HS=2|8S(`D1qWNq=YWMn>$TZ}Y&mGmx^0(<}6^rtJZ7aLoEX`)hpj!?*HV z8F1z$vVY*UiOg>AgPU}GF}?L${Vh#u{dnBlpz3cH`P02w_jmc({5tbFOwv1 zGPCYHwXf*vlZXn7FE`a&$bjHU<{gFo7Ab$#viq5P`8qsZ;j?*Xaa|w#8LC9( zfRG{Rx(1XUz7I(<#CRK*Z*DKk^E#8~a=S6ax7OPG+$E;j;wD-kIG_*W#>S;&@de;i z63$F2f5I4~N)X8->QM=~SCW?Tlbp1H+Uesn9koE0@@4((Llf+sqO!;a>> z;1t3OMrrUP2_^11Ly1)pGx8y!u>>#t%Rw^XfGqmP!JMJwjUy`Xz}8@w0+&>vYFMc1 zD)|#qfygZ-N=*q!lp@|5s4Rs46SEn*1T2e-1FdA2Jh_041y`C(F6FoxzvOm7ld#0A z@}~o`bkVw?l_~zuSX*RiGCSiR)yg>1BcjQHY&5u%ML}8k#;8RN;romy5d0m-36-z9 zZ%RLY9XhLL7sI6u(eD`{)7c?zQ;#H?PAuE2EsigDn}A2A3eJHUC9YX%n#P38bB@QK zI~wkblf=LwQ}e+DY(>x){prpUb{m3WuPjw#V|8v_nFcIdSxzES{NPLp*=)k?Qg=bU z4^o!QSt$rQrMBresS}661b3aY$*YcPxthP7Z@lMG%U*9a6dz;$$G!EzjoN@A+yqg9 zQm0<$^UQ$>B;MuZ&^l4Do8;0=;>Xvz!EMKr&W+uJxhu;j$Mq#3UIET zGNUwJs`Si6_G}B57+|RThBhvamt|Yra4fk|Fa;|f)pM2DG}Nih3)2wkbD#?aD*y;5 zrcIu9)NRC#W7X=7Rub}Yml}v`Zs`_iNT#{#C$5i#20htriKIl3saN5vj_P(ck<$)( zTerzSYq~!ezO9)XqB^}#xb96qe)WXX|6W3#Hsg1K;iwy^+35NN9$%$#+~BSnxAl%J zT`nVKo1IC&HE;n|qOeu(3SVi})BU|{ONf0sZJu(Pl9Tk@rEH;1q1U10vQGX0AG@lf zG>XrpF8A(_O#j(7uIE+JGsVk>I3)rf+h_Cj%x&h@k!llkhyIx1$`pup#L1kzRp%24 zWPAxi!-FqSrwlOmn&i~Q|o#MMu^tgray3{%(W9-OT+Us$?V{G zO~;{c;>j~k$BNMj*S;d-8mX!6{sgpjHB)|jDs=*~$Q+I)D!+=82>`B1MeD!D=Q$|o zndgh_-_A#<&LAYHats~kjZ}Ch^U&sAewvMGAQn-5<1ur?nIs{xjEMFh0|&J87 zH;lLkDN9Yu|01^kM3l!#Jw5+sq^ed}sg0Tj(n6Kd#v7;fRC@AtDdu+m1XsPY_blKu zRf4M6Z@L{&YP_{n^TpKviG3kmO49?+NI(W3UbTO6JJ8U`B!LM%2tPVLz^A5UY7|aV zeUDYgqO8U<22}loMnBpyBf+x6|3d%^uijB2CueVo)y9Z`!ZX{3F(w=J3R4HlV(^H79Uee0@~%!}?71 zEtyK2=Qn{Q{J1!{6^b}dR7AH7+(ZQ6s<8h>d6{UU_R@Guiu*F7^IDZiiRo8YJb!b(GZkR~quNz|rG2!=LZt3; z<+(ck#PXR|ll3Q3__ zD3t2IuylIMDbW~+<4G;aGq7^ZVzif4>`G5?t_(S4?D`5PMX9w(*p@kmI5|I2Hu;tO z=nyVMm_Pm`FtB{Qy0{Xn&HK?sZHx}vJt+}yNw{qa{F4D9l5ki*lH(=25$ipZADODn zte07Qm|o>qSF3jzbLtJ218R5VIGH>081TPV&82a_R`s>6h}h(le?^uXWtNo)sTWVs3)auGXbrCW8yNpIxVMEdYZB=u*A2X z$r0I(BW7_hb+Y{Bi$er7t*y}uV6F1x1c54Ox;s8e26Q5-iYzZv0etOLHDxS$y zwC>m!&#dXK0k*!HvU;$ab1=0J4N9@sHI2eA?R&3Fcetg*h;wsh{s5PRq-j;)Fgul3 z`{Sx>n8YZp;E&3*Efb~EgsZl+Et_-}v|iMggE33jd5fC_Jb^c;94I@=dBwRtt9=tW zmp>0O_%RirH)`~hb+k(P-8@^jj1?MmbhJ{HD7&ZSQ&rMA_;QY}&Aqa7Nvaw%FqpN) z=F9bLWsM~GSsUtA!a4%OHh2YuaG&KB6tR6q)j5{7rF>qlEe#b!hFv-IUP$$LZj4Jp za}MF-8a?(qR|z@`&2+RNd5jmXtUA}gAcAa3p~}~XvEr{|rleRFATuaf7BDlkCmGZ^ zJMf(+59xqcX9|jpKHju8s}bDAWlbY`Q#$EA8MeHdGDbY-HD;Zw9Rt_T*Nw&=MgOxq z0``nLJR^`UjRR<=>MbI|SKB*Ry}QDE!=o40O5S;GOO<^_7~H*1`i2NBI_3<>y+? z{))GMGpj#ZnOFDXVB1esF|Uw6$Ip>0 z;e4jF?L{Wnwn2WDn_nb^hZOiSxjoHVOt4@oR5x8b(Toh!G`GD6dv1ASs9<;W$*D5R z|EOKU??y%3%*i!iey+Ak_By;hNVg-uwFb`@&HH9ZbA%nCUHQRZ=~RXbAC=w*LkfPCz&xXVj;lVGm7FTb%;%*R{-PHP z(2n|Qe&jc+mfagPGW4S2L4TVxGOYW}+>Hi0uLcvrF%Y6JA=VrzeF{ZWqGL(46(xDd zAqv_y@aRzLy$<%vgZJ+yp(D1={3Hj?Rws(erd--Qzhw&{yGQ<^{yL(;Hw?n*Lo@or zj@->0(R&n8Vcx0H$Qi16iG)_bdU(PGbE=F&{rn?&masyD$r-M?*lYuycP{%Je08Y4 zY1zEYC7*Ywo>X0<+#_CR$m?CE`2wM}&aM4)EmC z=RN3C-oP2qv!8Qjvz^v+r1ePX0es;L_di5G#nu<@z4NNyk3J(Yn27MfJ)mNpnKgv# z{T+Ld#tPpX^Ufiu(*O_%xu z?$(d*;s<4YZehd|8f%80YQ8P%1wB@iKw;_=X6)7xA)OWr_wbV78$RV`kIZ1{cW_iFLA6&N2hT% zB>wxzOBy+~?$L-00BW0(G$>AMvc^>s5vvxJIAb0&6Z5lNJ$pR-!PattIg0Q-H<)XMR{cR&0F0qc@~r>CQ=qv@RO$qB zY^_}NY(Sz=47x*>VD$Z7$?@(cLiHIr>6h0h=67K1Zc*ZQ zi?RpEn!m4?>OGb}1mv5y1algjwA-t881##5lM$6Jl_>2>YeS>nhH5X_AB?kF2N?5B zn77G&iEP3yDHbtZxWni)mr9yQCk%%dvjB4-9Km7r%6K#8%Ai>?=!X83MoSt46P8d} zB27xIzo(0&i)A$1#Z&0)a)@I>5*IMClz3EY0y(W+(g(BhvxVWmcoSb^DYe@F@)NED zQMvrEqR|7e$b}Xs{|s5R#uO~HYYdL-P>R#agR~65=KIdLUOODo&+z-YneqI>WekAJ z&B>gZl{~R%xp#5Dhd+8z_jjW0mGxq3ncKHL(ukEGms}GxX+-omC$Mk3Jk)T=cjfyV ztwNe!U@2%}6GvFG65ndBNuPz(6Y)1TVdU^MGn6`Fk!ew`=?bfX%OX*k_oO3uhwF;E z=C8Vz2df)(^LWfws|MwLPPTGL5o(${?Ip_jvl7e^%vGq!lUdO!XaW=F-QVCRMh~X1y7Q5>*-5 z8ht9aRu1bAg_Y>h_EMTJd@te6Vz9u8hhQDXt`qLgL|eh~-CPH+(U)>PgY=%q4~tNf z>*<@Y3Yqyw2gnk_V)QW@DSEG+1vp}hqnEyB_x#V7fZ-H}rE z_+C?Zemur9#0z`BQ7OIPmfiOVl6%c{|Ban%NE<|G}7wuWv7 z=RS>58?wl?UMPrmBlr)qXVx%XqnAaGD?VxCd_Uqh;#L}&r(BuaY)>Z$jk}hGC;A@h z4bD+hCJ9YEtcfyv35^otr;Ovma8fmj9n#6ts#~m8KiMe^vvtWDkY)5KT)P?tqrf?L zzr&-VW#ph@jr2vKnrnRzIWrk8JAd`TLK|)rD{pHKt8+_^9zPxl5U=jgSX}Ibf&LU{^;0 z-=k)Vd;00RWYAY=YDLuV>Xyt2pSkIvF{D?{_61ox0=s}Vo>6ipSF>&5ISi&(!kK(u zdTNnRpcmF6XLjieJ61-B5qrmI%-bGd4b-c7iw{=O7Xa=2rC`o@s%heqh+i^?^kpH6 zXN4RZ4|P?=&3j3uIKzhwqoH9diot-vaV3H~lq#dgE$VQ05&=}jSwaeH$mc09Q!YC`1 z!IOW7!XHUh|Ku&oyTZPJJU&i*&i(n#3wPAl|Eq7I;R8!@o!2PgYG8(@ymRfoLC z%A1)}2R_G!n{m}UKTjCE0UQ3FT2BJ)@F%u>$H>eSOU6^MiJTtd!JM37VVqCm37kBM zv^-JmcRLG-++{@5dBon32iH8fz^~-D;M9i&r3jxU_l!_@V#wYRh1pxudUzOsAMQ7g zX2p{`i8b|Q*&(4ji4nm$4ZlvOJ0UpRQ>Q6G9%2M>lIc$&gy&&QqyrBp0JEG1ajaHCm@_+A)K)MIY)vxllA2=(;8qWG!PDH!JXtlK@&K3%w~b3SrNZn4Eg0^ zVl1VTWiLK^ni9<6LJ%h*qZwz~ynx~W#Vt8w3C@HDSo~8jK7SfI!0AO_P8$3$+AfiE zByA#n4%(@kTV^8NlX4>cf!}OO^LU$!@kp8R$eHm-UVkbbWk5rJYDIsl4Q0SXe@aDv z%9HWP+us{3&51b837FtaT8`MM_;=~HVp>@DlTNtP2K+d)O%U^Ks(wx};xs(S#l=cXBOS&gUdAIp+8tlo9hk@iaoU|clm~^K=MM>68U5ILB$d)gi*NL0w>|m}&(x_Q7IG@QEx|wBqJc;#m@SU=2#ZSVs zA&qd!`U*$WlZlUr{a&ntgNm6_^m`$~Y?Noj=7Qe$yu5rOS&W|+8Q20vhVLiQgUsu& zC8Z5ec?}uaq6&x`h-Xsco#U~k-bKl@Ya$e!iDGShaD2a_eJoALOM82wpdcXsWmDP^ z<0s;Ym!WgoD?a1>k-xg_@idr{A5z+nyOc8i=?MM^7S^90npqah2QIs`vVPTZi@ENu zD-|cxvk~7%@aA%x!bTW#eMk`-(gd)WBHE)y7nEf3d=04)QRgYeG3F%{z&Yhg3>BnI z49WN1Y3WcJzLJ?L(J9tYO6#Y+EfgE@EwN4H^%<0SnqSd zQI^04l>obCKmqMd@^CyE6n1iGh1WoLgz&ihW<)ZrppjEz27UYrc#lf@Uy<_7yR^3* z)Wa>Rsvfd|`hZ&@iX-kJ7rauZP8KKZ?@7@Z*x%K%+j-+k$zYJV-t2U>jt$5F-Be&pql^UT!%XRQ|wP_Eb)-?D}pQ|AfZ{2E6)AE-6Xtk z`{SuWiCrl&Mqqhi~-?i3c1wM{|_n&{2 zR`oCt;W5js2NN@)?I8_ojwrH&|)2GcTN*r`j4r)~3A#y#wWJA4!MrNp+n?aQh zQ{4iiAY-dhv|ePLW~A>>mLQi?1_UqeVLNGmxJty`wWjG z+Y2MT79J=iCFr}(af4Jk=jND?O<+s&7r_;u$C#{{_{L>hO%>UV`60CR0M&jF)ir>n zCI2(6-g^Shp~oZ!-!DR)8u1|1&0{lxdwAVvwT!rW^ueo7ja%FCNTGtw>%rD-K%8(Z zfo6e5F(Flaq;xhc<{t>dk`G>i&?|&>=t--*THU(MrdfatcYwgfiL1W*HEyFjrB=hI zl%17~5VW}7F8=oP_9UDO{lqLUVUGbm*?}HG`&-E&T3X|P#pBZD(vk!zAI#(|De;U_ z=X@$DGiufL8T=xeN#S;hlj4AF0WX!YRNA6EWBgbgfD$8zLX;RvKjY->SsWEkQfz&MIbZmS0d5* z{+`rJ z_-=wClYOKxYeb4j2dmpK;nKawdH&}QtEjT1WAQ_&(`1f}89XD&kp+Cb5!_fw?QPaT zb@xK{0Ymi?1cPjc56cf;#e3Iw!DfoZ0*azZ)iMQyQowtK;&}xrsskDpi)cq$SyfX( zMU(BX_|$5Lb3!JBZAp&hqN|0pxspcxxws9pw=~@E-RtkzWH-g1aVvSWheG!E4|WOdYd~QktA}z z@l32gZO1ts?U77ov%D{B=*@2E%XaF^zU$4t>&u4k&4%yGj(T4f)t4>Zn=Rd!J>Hu= z{?8>1n*GrL$NE$1Xtw;?_LNx|9m4AiY)Idj7{HYd(1GM{1Fp~hDa8@}fQo(I`~WMX za9xV*xK(BaJj|P$?$hO$#H6Z!bO9@_um;yXlZ>G8L4(>C0{;QX;VDbh2+nR+^Y+z?+2yN08y(3Sl$9GR{+kh0Ou}%2WWs7x_=i`?{gD>FgeU6DELI4)2CcGTonrcs z*c~l_c>r0mTz#Pe;+$C2s&6j_A*2jy1XyAZw__Th0iU>+cH^tziQGvF!l}Utu-6l; zb`wyE3^;@D{Q*`B2ABZrg$Az`1e{X>KEnDV@$W#sw<=n&*@S72|wrtxzp zuy$A)#o$#I0u^b@wDV;xCeVnr6NSVnMi#9mSeWW#7J()oKV?EJ9L^z(^JK)-L#4o# zi?k0i^RN7}CTrCwbe3(@SQsjHR+=+%DW#>w(XnuKe*@p?)m=OqsH26jhb`Kr)pM> zy%(w=UADwVzBNbknw}5O5Ip_Jsjgz=Qq}WXN_o73@lo>nx?r93bNk%I^;(ZH3#S5} zz@!thJczRW%If8DiY_{avf#>U|51@YIfk-iT4es|yg{Hpx^JI(WTh>5y2Fgc>ALwg2Wp~J-nNYA&BJd`pf-l@qk~K7D@;G^f)>cpxh7) z;Q2w5gd#;ITYV;n`(a{N_}r9vjj~TOlMLcqra4E9i;58&Xa|Z(LthGh4$2yA7CuK@ zYvPI1*Qvc!4ENqwCbZ zE^M{-nnkV0)S#K$nv4IqO}?|y0X%w*5^Qp4E^t2MytLcXQxUZ{J#qm=K-h$drRr=V zT;Z^SP9PrkWlJdLuMBz89Gol#bFiKeV4@}mD?=mZH)PHI#V`9UXS&R!i3%E3jdZD5 zhAM8oA_j~q2W2P8I)&@=2DH3wwT7A*OSS0?@xp!dsqfU5G6r380qUlG!vuabz!h`9Uq5>_W!aZNI2D&D&dM2Pi@%NKjIl-G_BwTf3utIb#v3OF2wqp5@ zZ$1c@30L)?RMWHViKm$Qv?D%mP62^)9z(Ky2k`A!X#MEe1wC;%({qEA>NkUl^0cF@ zBvDqChh>!zO*Lbsps{(H4HhDg4r+{}Q7DUXC!oDg2Xx>B91`3dIj>_c!squii4alg zT1J@#Q`Dwf%#e!~gNpQmWzGd6DkRfJB>F~cA?2EI;&LI-wRUWE$!hV%1LtP-oc$dG zb>;B~gm95Tv5oAh*2Okv>Kf*J=n@3swKT~25AZ*?1^CT>czD?(pPlN%rhRE(o3u+rbpI>718UeNcp+HXY1BT6wa?=c>G zZ&2(g_y4?UYov6Uu0JWti>%U%DezrZzKdr~8uszh2`8A3c=q$>@8qp$Pz+p%Z)9?O zB}xwWEfZrV^*18i`#Aia(UZECD-C~}$MiNyh& zLu|0yU(W}M?s}8Eig=bH=?X8J2pnz!-kY{9X}#UyeACsLLc~y2(uI)C21Xe^`CG64 zwF@CgV!oWNCRNSDhEp`1lAx}3U8gQ;``=Z5*a_AvoeC=&Oo&%Vt%`mT8FFG@d;OV* zQ4smN197m0%o1!{8Bp{jdnDgLCw;?1Q#-4vR3$7En`Xf=CFPYYKh#SmlbkH~knyt8m-BU99#r&N{DCPm^=h zyltPU5tWxu)MfqR9U!a=_k}uA;Ok3_p&#b}4tO#7*I9-_!e87X+@IGrBX>PYa0a%a z+xpQg1)s_jtWC`MNbDrTr|YH{@qh=6K5)3r)eI@mD`fMBiF(Lf4jOn?R8@-Bi7n`E zW+(GPWFEY zyG}S-0IA7yTlr$_i1_lg3kNQ`%mq7L|m*PE`n?tf#ftlLk&ekjE=~M&SagRzu%5t z{i}>7?b4-yU-~iR4?2rF#;QQpHSCK|@|HRo@1aG57#S!F6qIV-Jl{O?9gt!Ok~fvc z>8D{=Wr!1wT;+mVfS0?mdUW4`D08Su$5W{dw@D&S!nMB9Zk(%fGTOb~e60qhqdBY0 zTQqMgx9GXFc{C=C99D2o=qLO`?+GhEak{#W12X%RLS9TAEz>FOd?sz)rzGBy*BmzW z4_-wg(3Y0sxcYw&IIODmzr^9;lNc|4d!R6m%>Q#v1*`}&jaa;_opjasV?dn)H0&Jb zGI0-Yk_;a-+O(P&iHSkbBvoU%1wTa+iJiv`P*=O;K=TP8m8ldk+zE1}QSNG6T03_q zPl4DrchOAwVQg_)-rWSYrLS}%M1uJyZKWdkL&shKiUK8A#4EX~nb%CRpTPAB^nFXL z!=VT6g)*h0tt@W?gZeP!d8>4YXpJF!7lPydKDubqZuKC=KkhcdW$yH-VdYSL^@h&P z5c(@j=BeMoZ_N)XP4wUv@Xosp=djUx7Aj70f0m9ghM}Y!BPb5jU#`q0JHD4+lbJUutuKWnqtOV1ErlW(Yj?07-O$j>%GG)Kr-s{^*8L`fcnvw zo?^pG{N(Z?`i7?w_FZcd?P1!Z<>E#u0^i?t6=192Q%Wxf4w4J5qsd{e;;3Pv*DgM) ztkQ?H6j)pPJO$BCRrg&^@Xx-ohpfj6cVGF`ZVi$__Z>DreF>N_Cy7p_ltxZ9O;@Nj zm9{7qKUii7%!vFd{Y7iK}D2?f}OO=e` zWiydF96OE=FYp~&o9NQ3q1A&e%PAhG446Po<{S5u>zQzkUt_Gug5>I8BSUUk7g2^j zNTH^lIAc(KQ9PE8XI_1guI(r&<84S^B)LOqx5G~l@F>)V8uAlwpieXx))U-+o6YjK z6cb{`NE%0}?W#OA+fY6ZdG6WR@B=uM84}yqXj3}nO|{D+M_H9S5YhRYr?skag#`lL zK(JV4m`~|`>YCp_o@%P?n_$Uuy>ippSnunE-Cq}v`wQaJ+0~K4g26M-Cr@~KVB32K z!hoZo%H*nc==v05@GueVH_DfsPB;`?J6?spt{}msToYU%b#pICaoooa4iDM>`eumH zAW}4Dqs{&DuJ%45Hnl6CoB&=CN$7yrth-@4L-cdY+O?yYgjJyH`+d{OQ>JD6` z4DU5trg=~k`^8=uDQ))DVMb`QmWd+q_p3e0@po6~UChJ`t`( z4KvLd_igQ`N%8!h@^&;tVm+=E9#|6m<`Gz^R=k(8LxJ+d##v&Sw9X{fhe3`5J-L>M zwy&pdfBk&4;pv+ghLb8J@DWA|ER{#@^fF=ui&{8Th28ms<5r#tp49w~w8XOI2|4zd z7hE+^aQ7NYsL7(OC@n}UzhyD7BDchcqTPCbNoEfW&wL^~#SHawO2Tu!1okxqC2mAa zs2tYG1*?H?G-6OER37t1fD>>(^4Jg6tOOTzUs3kXINv)9Y?3U}ROHmod9%52f6kyc z$6`F8b$sqr))tV>kzbY2vSy`#fdn}s*p9TLB^tM0@B6N-$qR!IA#A8|Sj4mGkaFOC z$f=2MR1^Aodx`)Iqu0#NaOSzn5cZq|*|La+5DH?e8IAS6t=+?LyaJTPSo$)1m1DCs zVGE1wHHJ&5BPo}QM7a-_O6O+%c8Iuk@FtB=4AK`^4U_j3{77Pm=Udx=M(Vl^ibnS- z1Hg%4XhpxF9mna(4Zc*X8<7J1gP;KMZ+UKP#J%@8T&rB30{eMhUAsDHK)AQU*!WoFalc!e#s{L zfccU*$01zWeqq_jEYf&JFTPpzhI)q^KTXVC8px{^!V>=gM{W z(HLE&n9t`j2%%o3pEf9qp2Fgm^hq07fVdt8Os|m-rA&yJiIrZ-JD&TsX>izXr_Vy# z49g9C!(O6`is8T|W5&8fuvd%xSIyq#EbLkht!&6fqN#u~4%Km{VR$9rRcK5;`R$js zPVFZ;+Iu;zl`?<(Z9Ud;qnGo(U9sIh< zd7w+#`{bU+edfo$%Q9@Vug-cmM$x|Ocn6mqZ)d?@(M-KT$ymY;=Bv`byGqK*b7gmj zn(>q@06HG?$~c2y=0cgb=8A*}<$j^l*7Q0uDJw^Q7p2cvq#oIN44IZdAWr%+EI5B8 zyYdV({jh&~g(pdm7#=LTdhNT=Vx7&00E0DK6NYTt{p7cIg>v39+KthJ3~b zKEswvW`by1=g0{WyGfy5Cs|b@Jv=ebS*|H-nsfOfk&vOc@8X*i!;l}H=mBm;RufvC zZ1^b9v&XWF(EB5QS=b+X`6n&bi2VZdhur3ZW1o^uA^j1d|8hPjJ4vfGr|B(h8-!;Q zV!=B^dhno$+SvvMRb5Cx7UsW!vFDpMRjQp63)eB1N|_ncmMtn@d}X9pSUi0WdiU z9}rCPlu->d&*cJGMiRxABywOpq)Sa4=L!;javk07()&^uy)94?LZ19OoEy<}WqXdT z(&t}RVJBCQc|TV2zZwERQDAo_lq(&V&Qck1Ra1inUC*Rj;Ma-Jk)C%{GSfZ@psumr zj~_|7c5k^0wN_hQX7S8Gl0VeP zG>a3CB7OHk!`?cqmb&6ac&Ux#rlL$aBgaDDKt~=s!rSNWiuuzO{-UVWiHfwb7WV82h zm9mn$7wfQ3S+dLu*CVYphDCv@kv?FfVAl9`obzBZk45koHi9qvJSODiTA!h9*6XQq z-VVzx)^x&)&6Cr2wkn50wosPMC)7|d8D7(=26Ag;mA=QdBe~n$Bo|Zn=qpC(O{Z=Q zDcrg<4V5S@6Zdh&ub19%Q%^LxffQrmEYF;bs*d)(x=nGYHu)-M zmc8Ev+-J>Dif9!komrCpQ3!YCw9C`X5_m%|A@sZ7<~yqh=FlS5|LCf4kOx&q>YT)7 zve~jbDEQA%oD9G;=F5Dgy`tl`Uw3$p_sNNNiK^p{rF)i^2^qmPLvpC^?Mtgb zN-y>-)=09DCeQSsbuw9Uq&bY(+raoeH&$9$I=aQpnpEPdet|7ynjTq8{Cm{R^tzSW zVn|(0Q%MovlQ6?QF7@E^`xov_0~-(=5kz=Fn5_8OtBZ>n->xsB39QV2-QF(h-hJc= z^jLLYGX;?6Yu+CVE6dEWV{q^|Fu4ET4`NZVJ7Cd=iWbE;@oh7g=8^0o-z=L8^J;)m zvgq7XE9n`-2j%#pAQY+XaW&L*i**9+eEZJ)E}py`hs&~E^~4^0*e%0!4%bpb1vjY* zE$^INS!TE&NkJKmf9XXv=U8DRVLHYeeV6t1x!viu>8H#0(C;c18kW$i8sB16#4+a8 zzX%7TaL&iO8P9ueq%~IP+O2B(MiH;fIbn8c<{-(BI|)0Jwn%c-EZImkB<}nKrYhUR zM3S31a?^4eIm09HphHUt`-)7iaoZBcR1H!w4L4ydpRRrnv%1ozKQ>pB?_Ry5hoD9X z(iN%Lg3lHmu&UwPuDBQ+6E97uvvE95^I_g4KcW~gVrqh+$fPdhAuZcjin;OP>}a3k zrd}86(u(|IWsj$ZKwA-tpr*d;n^$qZU%OmrzRpJ4tSMezWp!B}%d$o}8aE^xj-L#? zE}r?#kv(ro0kb-o(s6son6-U4x~|W0-79wvIp*z1e}7+Rm8dgoC@?$ngI|wM2Dcai zl{JRV;GXq5X!gUjV6nc7%f(y@9eH7&_aNIaaNc=~ROUJ%DC5_xmrkD?FcW3j1X(vO z?mhd1)7;or6&Pb9=*>A>FuKVa=q&qnefa#SA%yM0Ox3fcPM!q_b}Cf@9Er}- zw`lqbs~#XkcU5KfXl>QkY0lpAGujbcwtb_6oHZy0CTV1@QA7=bs@~*t!?wFStrv$i z!+me0{(^R+GYeS}fd!4Hn;p&=k?CliFja})JlRpj1Q=CU2;|%Cd~4~rB@hqcnR(wB z<21yZm?_Au->6-O?Hyeia6&z;3G%|cRZks}k~ouQPD;$l+rCm~ zYp|ilG3vGUsVzP?m@@7`F;f3xqYzd=hozST#?%CvbONZv)y`Df&^QsMK^I#DbfJ`S z$#Yef-^iEl#O;_fSRI~TfH04~yeqxV>v%vsG$g!$!^af~;LNsnf`otZjJT2)f+&B0 zSE49RSpFZ*&ERfQmbUbJUIw1^_A+Y}(@qtj%EYWK9g=cV?2^l$;jNmXjMEauYTl9N zUgecojEJ?)c(9;Vu@{*Fwnzo}@R|7wEsgnZdv%Pk)i$e_GI)7WvS{CJi5+GI?AXNV z=lsUO=-C4t!x$09T`t4vSIZ1`$`$d^VJyvcA6mq&*5oSiV>e6R$JkUNgsa+f5&}Dm z$CcWo=T807f>K;tUi(v zqGrzC>Mz0VN6vM=;e4&d&3A;Mg;@`bh| zBM4o=+Pb;kssNpk4f=t(Rf+5mKRZ_1w7=Q=4cQcD+KIn+;CW5gcd>{jIt1HCI4@&+ z3Vbu`IRBJ9svh)~>aF#E<(Jo`Q%loLLJ-%4!xkk2a zvenpo3MoT)G%JQJjU=rN@)b}mGkEM&1c6n)u3ptOLQi^hQ!nSR<#wV%-$VxGMl^LL zw1duSz_u^I2V8PIeQ4Hl~@UETdy$Uu1s9>%?p6D%DmBrP*x1v{s zo>3S>jRuM>9BzJ(Xo8io=V4er$n9ho{u*_~33Y!I)He;T15q^*1ri%QL}-Qu#uqyX zT9xY-TpUB2rRrsx_=USCk=So)81xr}Yk>|S&wYyy7)j$Tst@r7rXAcN49Qn!bBT8} z^e5#p++tBm$&wXl-oAX7#`KrV>7iz4a|75necKIIW9oIrAoJN(nzNLY_YR1lJsJ3m z7i_BEpvg0^Cm3Fn*h^ZIR0NdrIK4lx5OwRS2a*?Y9vqIhHC}KB^=%M9AHCr#KN%G}s$dEI@gls`w3Y5KkDkT9t`F zo#YTTnvUu$TAEBc3pE=2%=JoiXb8_G9C3yb7A4;=msxf${C2c_Zok3?Z8@)A5V<%Y zM$0fASNSo2E^UA>>ug@22l$U%96$?V*Jl|&{vEk2 z3sRvIQL)>|Ki(_DCEh)==qJJC&)q>bQp9I=R4sgr;`t(=jjMD_k2<*r#ZB4wW=0gd zO%AQ~{*+1fqYTN&(+h&|jX1c7hw|(NbTLS+fefUQxUhW-;rl)4v))BU7iD&Dbm&$8 zOV@eq;d=e1KX?2lzkvjb*0KaquhH$CXzZ3zc3mnElL$g)A3IICf~bMlq@q1QyM^7PyF9%8YTSv5_jA(Nw_;-Gc((=^ z3svFLkq&9@$V!hEP@T#_<=fSkUjx4?{ZAzWSwg5~u?`B2Ow?4zK_W3nVT*sHrW{88 z(fM2slP)B8jT)_w0v7)(OKLwRzfmZ9XBRw0`d;}W>MP~va+EgR>% z$f;K_;j<_HG62{t%R2EB)G1tc5|>4*9te*Z<|*sl%%pw_tFhgXkPpG!Xkb-n%c03{ ze{I_Esf;VIoMq0v3~oV9?7$QW8G_OFn`aAIYzK*1+~|$R{&%yC1?iG-SgS_0=vYS4 z5ZH=fPxcM26BYW*qE(5<#c2^?rBuVD(AE8xuPPRgmwyVqO7j|pdG;Q+R%{0M5u#db z^t-PDSa3OcPG35s%Qd`{wq}YsQV-ec-RzI(#2j2w> zhM2u6kD*ZzI3`d^;K}%-GvvFaIjuAL*u+FeWo2NmDV4gA&|-h8DQGt;J$#uMcbZjw z(sVGNKQ+|{Ww_hTpZ{94)8Mozqk*yMWI8j&Cmrvoc50CwgPG5AOkY3DX>(Q@>C*h@zfri=EsvvMH<}S%=#=$4N5S zlP+@DP7I*(cDB*~YRl|xQdL-P%sHfR%*KgEE55basB}6k)>ZziE_n{=NW;*NuMy&d z#uQPe8AZ!whDjjG=o*GOAnoO{{2m>ZD5LV*kb=hgnS;!9Na9V-J<~F@_(GE!bK=6x zw_%YJow-OBUT*~1!F{MkYJ0;!rOvg~LNmM)oG4T8vURgJtl+>9Myu@MpYzA36c4*} z)}Z7}@Z$_Gz{6qE0%P~g`Vg-DchG$9@4E;hW_bHo@=-MuGZn9bij?= z`IuBGe&uatGN@c)d|FW7oggL4B@2POW7mVQGi%&uoJ$Z1jS_(lhv79;yqx#AYI>aJ z)cBZwf%=RtHi9~x&LB+~fttBQ(>P%&EGb)*$8|qms6wk-y#L^;(Wygc`E&mSBl<}*0S6N5` z#Bd3OC3DMnciUO8V=TUa>_+-p_x@f!*=duXE;e&CndlAo=B?|d#F0h6cNy|`3@AjY zboC0aa{?k>{fy(Zw=Ox(Bj4}n_6~#a2&-TFlrxQ$Des-Fn#Yw@tGU(Gw}$TZWa7rCv?b7ES-6o3DI49A;Z(5%)T2WIgGmlocoU z(Lrc!Wb)Zo>d1vHa;$Bo_R9J5XW?ZcOY0QsLZgLQ+lFobY5#D?a0pw@q?ClYjVQ0E zBbL-ijsBs(R-_;^K#S5q(m%Qo6N_%IPdGf!iW>mG2tF&dM2yGoB?i z2UVv`kbh)jGv8D$+v&`<;sS{q@o5K@XWQV;z>>S{zfTeHXE*A!%(~64qT2XLSu^(} z+rJ5EAwt;QSoZ#yPH4ZD5`P}xbZkO@v&=3W9`yGj(yog%@_EB~%0_SPxY9V(LOXqr z$gw18H-wR~Ow_D_Wz&LYY1XB#KKyQj<#d5`s#q6q56>1XSR;E+e&7VV>N80uUfVA&%| ziZU!{Q`^yWHT5QtxTzL^b?!|AzQp|=DniR2uA<>ERE z%LSfG&KN#NCW&jowXu#(AhR`4n5fwxYJ~9Wtt_$EbuEkT0X2wl0->}R1izEjmHtgS zRk5w*whp#^`wQo+>iXTRRfpdr_9N!0x(Hdz^IWRqFz>a~E1MM@g+vtjTy@vS&Rax< z&YaUVR&nH$O!7@QAO2=-ea2Jlw&jaqY13r4Ku#@I>Pffdp!BSKGBqzodbTh^MHCF` z6ItUoRjzXlaEytU_?4^?$B;T+5Y%ES5|5u=d5leb-ak}h#ADFpbPuXGW4R-{J>s!6a^_B@RNUDz2 zY?ZfTRJNETYvP%rHwq+8x|Ty$P4L9kpfz9B3)U|B=d?sz1gCK$seF$_-KXIK((T6Z zVAs|yq{!yxb?W0+NqhIMP4l5XHC#AJfnkNt*noqL(uGH~)4YQCzqTTy?!8-<>$IGx zw`n9D{hHW8DgC1h>JYY<)fawgR(4!6!&Zk*eqC#E2@zrY5Cc0u0_wCvxuPtqQC=yD zzQZ4qTiXG~AGYL^o9OK$@K(+vrWH=(9(yOIQA~NLJqJl13q=`{-P`NK0=gxs9vy$6 zH*`4y;>!P(>{TM3m_E)aqR%ouUYyPr&P5=-Owf$W{u^hjfq{a;&-G-+_v75piYaku=Hp| zD4yxTXMFV*g4l@XStHDpOQ%GS7Pc#^9o~?rC61Ew8+mv=LpRzsSe7gr<`Pf^bsL~K=c}2gvM>9flKmx}U>(lrWpCPce>eYuB zSsI<=I8Lh#%}#i*+oTHLTkE;4<*3(xj6>6<*y69_3JCsiE$We?yJJciepN-PghIASjgO9;tg|)vfA>w@w8vA zeaU!$3e3+rQO|MNXQm!&7vP0tb>wHEhZz&g1JDOhhIQWkUQE$K;rL}p8S)+JHz@rR zd8B>TH+sl;^s@vk5qf=#LcdD|Z-J4i^Wq%rox`gP`%E)49*5|vpRMX^EMB6|8{`pq zwNvW#Rs88?uuNy)zw2oLz1#49?D^A%Pr71uqe=Tpp!H6kV#hF4TfCT9{JF(n?Z~fl z>u7KrUV_KLNY;m5?684z-2w@NyUV^pD4=j_+nuSsKpeI^O2uPTkbGw#TcqrAFrpym zRc7mybzrhNmvphOB9pGQyy_oT6(0la$k9t z+3pSrn`=+8!WN+BLS|csfseBvX>T3!+@{^&-^fxwsCux1&fpax$IP`0F6sB$#+{-f zPJBZS%ZtamWazgkuUJgg#KYGQ)47n!Ak-zRa2BnL*2xEEv!goLZ4#|*9YiyB5q*^U zOuSK?Iqe#VsjF(m%PY%A{~Y=;zx%*_xY50Cu|G3$21hf#ju>1ViLrfF*D|p7GI5icmJs*`ltVg?s z7d8$W7VEPc`rT#h__FN@yDkG|`l}$rhh7?X@pm0KGpxja7JBYoxKvTOOvx=aWuRmuQeL5P*v8ielymJADVMaUcQT9tHzW=Quf< z8Hn7HiOo2ybUkVkT~wQ9fx-KR>Is_uv@MncK0vf6n_Wf~2?~?bX5cjBVFvRj4dT<) zsm(yRx&O+T(+Kn6YDos!eQT&SPm@_eIp0qJO00n$jhhXOB{&MXl|qnO$>&wdHO?yg zE-0}`$FuZ?;|VJ7TD zt=)wmlONX;^4HoUkkT96*4KqwXSsaOi-&?&eA{D3<86=kY=*JX3 zbw~W`$LF;|K*^l4wXa3%l5`#eDysZFuKJ+6Hs`OOT~Y7@RUmP?KqGH1^Vn|9ak{GP zVO*@W2IKPth&{&GHcWYfhnY*JdUV;?p-yf*bV=_<^WW|-Pt_w2@EznN5jAiI$Kf@0 zI4y&*xlmEB#Lr2$MpNLLGHkP6wlFlcFHA+DL>Z*QWUiU07JU7cvLo?08OBr31$DM8 zJ+g&WP*1NR=V`zmuw~Y61Xd_ShNI+n0!GK-XoGkcmN-=WQ^SLd zrPw;&&n1AkaM7*FIOC6bL5QCvAp0E5oCgnDkPon@S|fSQSb4eZ9{TX6#K<@@kUHm5 znQwOtot8)R+E9L;o4VG>cb`;qCb)LDxyUWMOH)`ebAktzQ zLP3MHj?j1H;PQ9g{vd__5({#*_y&FX;VS~73kB-?apK4FqQT;Fg1fT%t_}OH#^?*F zgeiFC#iAv|CB>vfX6C8Yu!*Yj5rKK_HXr~Y@xBwgxvBNz=BVu$uH`LfW_*)Hb?UVz;VAB z@G^RG3WO{6^RnL(dEK+U=mq=n0p@>d0QPFO`i6BB2PwAn0d~|TxYsLg`T@3m=!bd* z)VVaUo_9${+@bCD1e3r8{MosH!U2OK`tbVI7*bQQP7qS{F?MAkcDl(K8UNvTX!4P} zU$=YcTNKg%v58vt(v9KA_HoL=AgT7gXi@aGkyMWmq@7S7ji+S?1~`Xj3NpqJhJDd_6+hX4Bona~GYz!Cve zFxb0~)HK25q(GTi?;9T32m8c_Wa2xn-5VG6TTBPxqaTI%8!0@*8{(Hh1A^ZMu>)bR zCTAaDiZYN;=@7g5R{;RPWE=pXC<6le6$}Od_6 z(MidRGyDVg6#xYV1&~wFl4pON6AFU>00KWV!oOhvKyv`a=bjDF0%%}k!jk2sncncABD2k;+t^jEO|Q5Nu7@}CI_@Ft{! z0sy#~88c{z3IEq>5)kv3;4Nh4)FOW(#qDz!pw=m%FY}}$HeZ=#7=Kv zW&S^vJ1^oanSVx&4gQ(`MuUU)4*~zAF>`bTI{xoGH>51VQlC;pKQr#%ct$Y)#^Yw> zXlG?-@!y$LKW$Uh9{scCQxVnY`RV?~q>BRpSTS+hF_@S+I$N1rnHV{n*&5k>M(Jqq z*Kq?!7XxKAdV5Ep{a*#loc=S|zo9fP2xnpo$voYiOk`Y*uewm87_6Y=kkAtxj+B`&6-N-rn= zpMm^k8-rZ-S0D%g;P+WipGy9nngc*c004U%7Yi#pdiQ_%^uOEfKefIIm6QIXmHu(2 z|Bm>-&i>1wzyFE&r$7FuM40!Kl>5)Re*Bd9cSGF#9q8m@Vq)gx^xqBfSFk9J`St%| z`gFj*Q*!_d<=?DjYGz~RZ1z8i{(DP(cGiEUzgo(X=AX^~pHckf7$OdDcZ$!NYW^Go zsQ-od+%^ZK{0s8GnbGcZl=)wsI1>sJ&h%M3gr7Q4|Hk{3@gFh$tKWZ)0sprp|1nB( xe+v80ftT=a1fk6TaNYl_i;jt&iJp<(+Q?B+2I8{|008KppQ=v@gUx^K{T~CTvV;Ht literal 0 HcmV?d00001 diff --git a/entrypoint.sh b/entrypoint.sh index 3ea0bd8..8f52c08 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -36,14 +36,20 @@ initialization() { chmod -R 0755 ${OPENFIRE_LOG_DIR} chown -R ${OPENFIRE_USER}:${OPENFIRE_USER} ${OPENFIRE_LOG_DIR} - # manage certificate if available - if [ -e /usr/share/openfire/ssl/ssl.pem ]; then - [ -e ${OPENFIRE_DATA_DIR}/conf/security/keystore ] && rm -f ${OPENFIRE_DATA_DIR}/conf/security/keystore - [ -e ${OPENFIRE_DATA_DIR}/conf/security/ssl-tmp.pem ] && rm -f ${OPENFIRE_DATA_DIR}/conf/security/ssl-tmp.pem - cp -f /usr/share/openfire/ssl/ssl.pem ${OPENFIRE_DATA_DIR}/conf/security/ssl-tmp.pem - cd ${OPENFIRE_DATA_DIR}/conf/security/ - printf "changeit\nchangeit\nyes" | keytool -import -v -keystore keystore -alias openfire-docker -file ssl-tmp.pem - fi + # make a copy of all components and create folder of them + [ ! -e ${OPENFIRE_DATA_DIR}/plugins/certificatemanager.jar ] && cp -rf ${OPENFIRE_CPNT_DIR}/plugins/certificatemanager.jar ${OPENFIRE_DATA_DIR}/plugins/certificatemanager.jar + mkdir -p ${OPENFIRE_DATA_DIR}/conf/security/hotdeploy + + # manage SSL certificate if available (/!\ Doesn't work) + # if [ -e /usr/share/openfire/ssl/ssl.pem ] && [ -e ${OPENFIRE_DATA_DIR}/conf/security/keystore ]; then + # if [ ${OPENFIRE_DATA_DIR}/conf/security/keystore -ot /usr/share/openfire/ssl/ssl.pem ] || [ ! -e ${OPENFIRE_DATA_DIR}/conf/security/ssl-tmp.pem ]; then + # [ -e ${OPENFIRE_DATA_DIR}/conf/security/ssl-tmp.pem ] && rm -f ${OPENFIRE_DATA_DIR}/conf/security/ssl-tmp.pem + # cp -f /usr/share/openfire/ssl/ssl.pem ${OPENFIRE_DATA_DIR}/conf/security/ssl-tmp.pem + # rm -f ${OPENFIRE_DATA_DIR}/conf/security/keystore + # cd ${OPENFIRE_DATA_DIR}/conf/security/ + # printf "changeit\nchangeit\nyes" | keytool -import -keystore keystore -alias openfiredomain -file ssl-tmp.pem + # fi + # fi # create build version file and update it CURRENT_VERSION=1.0.0 @@ -54,15 +60,15 @@ initialization() { # creating copyright file & license if [ ! -e ${OPENFIRE_DATA_DIR}/copyright ] || [ ! -e ${OPENFIRE_DATA_DIR}/LICENSE ]; then - cp /usr/local/bin/copyright ${OPENFIRE_DATA_DIR}/copyright - cp /usr/local/bin/LICENSE ${OPENFIRE_DATA_DIR}/LICENSE + cp ${OPENFIRE_CPNT_DIR}/copyright ${OPENFIRE_DATA_DIR}/copyright + cp ${OPENFIRE_CPNT_DIR}/LICENSE ${OPENFIRE_DATA_DIR}/LICENSE fi } # Start-Stop Openfire post_initialization() { # get the openfire launch arguments - if [ ${1:0:1} = '-' ]; then + if [ "${1:0:1}" = '-' ]; then EXTRA_ARGS="$@" set -- fi diff --git a/openfire_version b/openfire_version index 3208b09..7962f0f 100644 --- a/openfire_version +++ b/openfire_version @@ -1 +1 @@ -4.6.2 \ No newline at end of file +4.6.3 \ No newline at end of file