From 6a3f167a4f152a262ff1cdb01a47769eac355030 Mon Sep 17 00:00:00 2001 From: kgnfth <73314940+kgnfth@users.noreply.github.com> Date: Sat, 5 Dec 2020 14:35:40 +0100 Subject: [PATCH] Added Monica #288 (#311) * Added Monica #288 * Monica minor improvements --- public/v4/apps/monica.yml | 62 +++++++++++++++++++++++++++++++++++++ public/v4/logos/monica.png | Bin 0 -> 22989 bytes 2 files changed, 62 insertions(+) create mode 100644 public/v4/apps/monica.yml create mode 100644 public/v4/logos/monica.png diff --git a/public/v4/apps/monica.yml b/public/v4/apps/monica.yml new file mode 100644 index 0000000..f22bb16 --- /dev/null +++ b/public/v4/apps/monica.yml @@ -0,0 +1,62 @@ +captainVersion: 4 +services: + # Monica + $$cap_appname: + depends_on: + - $$cap_appname-mariadb + image: monica@$$cap_monica_version + restart: 'always' + environment: + APP_KEY: $$cap_gen_random_hex(32) + DB_HOST: srv-captain--$$cap_appname-mariadb + DB_DATABASE: $$cap_mariadb-db + DB_USERNAME: $$cap_mariadb-user + DB_PASSWORD: $$cap_mariadb-pass + volumes: + - $$cap_appname-storage:/var/www/html/storage + # MariaDB + $$cap_appname-mariadb: + image: mariadb:$$cap_mariadb_version + environment: + MYSQL_RANDOM_ROOT_PASSWORD: '1' + MYSQL_DATABASE: $$cap_mariadb-db + MYSQL_USER: $$cap_mariadb-user + MYSQL_PASSWORD: $$cap_mariadb-pass + volumes: + - $$cap_appname-mariadb-data:/var/lib/mysql + restart: unless-stopped + caproverExtra: + notExposeAsWebApp: 'true' +caproverOneClickApp: + variables: + - id: $$cap_monica_version + label: Monica Docker Hash + defaultValue: sha256:469001036f96018b94312dd017678123aa23d56816ba6402ed03c6a8d1805a92 + description: Starts with 'sha256:'. Find on https://hub.docker.com/_/monica?tab=tags. Use the hash from Apache tag otherwise it won't work. + - id: $$cap_mariadb_version + label: MariaDB Version + defaultValue: '10.5.6' + description: Checkout their docker page for the valid tags https://hub.docker.com/r/library/mariadb/tags/ + validRegex: /^([^\s^\/])+$/ + - id: $$cap_mariadb-db + label: MariaDB Database + description: Database name for Monica + defaultValue: 'monica' + - id: $$cap_mariadb-user + label: MariaDB User + description: Database User for Monica + defaultValue: 'monica' + - id: $$cap_mariadb-pass + label: MariaDB database user password + description: Super secret database user password + instructions: + start: >- + Monica is a great open source personal relationship management system to organize the interactions with your loved ones. + end: >- + Aaaand you're done! 😄 + + Wait approximately 1 minutes until all migrations are done and then access Monica at http://$$cap_appname.$$cap_root_domain from your host system. If this looks ok, add your first user account. + displayName: 'Monica' + isOfficial: true + description: Monica is a great open source personal relationship management system to organize the interactions with your loved ones. + documentation: Taken from https://hub.docker.com/_/monica diff --git a/public/v4/logos/monica.png b/public/v4/logos/monica.png new file mode 100644 index 0000000000000000000000000000000000000000..36d23cfea1d363dedaf23022ed1537e880988af4 GIT binary patch literal 22989 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%0Aa>GCVNQwl}Zh^M23}FMW%)*K;E`@CIT(1uWFp zeIL6p4D>YcJ4=t{#(peJv%Dh{dusXJtEOamzS$f7Or4O8ezeS#)}xHLp~|Ko2PFPl zrJLZx0)iaNGw@0R+Z2=Dwl7y*OIN0?0k!Ew@^}stZ^5LYiBkFR5 zAG$D>@=L-(5B@`2<==_RM8!O0zYjJ#MT1n5i@MJiQnx&uC7x#$>WncdX>!w6z^>JO zhgh*mL_{@u?6M#D+z&~pGp=#wY)awXmV-&hF^&mUzbLGP2EOFAjb0x@>?e@RNx%(C zX)x&}d3(MtzwaO~rYYI)Zg~!j59bG$q?-{c6B1E+W4AvXjmk_J)(FMT49&`5EwwB8 z9}czDi61YPaL~5jm1|dOZSh^KF<^5FD^HVNmDN)wFea)ek0Ym0S|xQ>gg(4pQOQd; z^X8IVv`HgyjfT9{?m2JY^D6m?jBnXqD?tlRWdE#ycjJyykcM;mi%~sYJ-u zg2?qV_ZT`v-bqw(BbhUTe=a;3abseulg7yWfSE$K0W!{1q1` z=bs(Kg+7t4p59eAX|D}NR`q)@0g1v0M2>LxQ=ukfhrLsfc?#duldFjB{E}Vufl;Lg zkDd}$zKXP3-dh_$*DHb!0k8VT<3jVZ+enr76f`fRs7isjtcB@o1}1QC`tMi~97W9* zBJ*~xgtO_E_on9WQpCk$@~0Iw^rvq4w}vPed{GZU3XnX=WDg-Hg!n`t6C)O33f$_LJf{`+7rFgj! z7CAzlC@)v(kg4^$nwU8BJl#`%bqEnl9Y2A{#nr`x(d}sUQ~@}O6pYgaaGrHZftnqf z0C6GsUO~f`!DrD-%xC)fK@$)xIE(cwuQw_6*x%1+pfn7$J}&~e+G4$OwAxopqAKxK^|ZcIgXMbkVJfL?~~PeJ_;KRxx^{9NaCc>C0v z;v<`=<1BfRRyI|mJ3xDm)2xQ&#%wA47W`6IK5*meH#O5Ihf~X|eLJ0?@@1!P(sX-<=kuaG?a5uPmwq3R6o46OHu| z>^BbpdGlMLbI_H7w>A^O>~( zn@IKDLd)EVT*79il<&+lT?X^&mGhuScyo|XJ*2ue2Qu}pi5Dc2FP_0LxpdF0>b@G* zs14#nXrgI+yLig?QA3op0%kH$5u&^9JM*sF-vOTGn)hsk$?Y3oo`KE3=3}X1DCM|7 zYEiv%z}o=jjc58I-$D{0S^41KhIpE(J2q$FWoDQ9MU;-c^!$3qL+sC%cNxq-QHiYKNp;(lh{y&4*eh(8;`9 z<7e!vH-n!A_M|chCVR)KUyN~C%{A1Z5ee76`(ODX%j{`)%`TfTO}^u@!MC_3m}v}3 zTL>!VK8W3&6aCaB6x(*2`1v5$SgGCKCrTJ{K+W^j7El_HaQ55mv`~=Q2(t5EJbNkQ zk4wFu#AR%jZmhPy@-WaWS4h1xfe00#S@S!se&ZWO%A^wj zX*Gk)S6Gl_Csm5EtrAF>xA?rEQu8LV=vWyYwNS=ttpOo`&gZ3BgXb96L6Zuda@@VU zER)3~kaxSrg@fW&6D6O}&nd1EkTH|TG6)BtUP`3!>zI8rufE09AA-X(9whO~V?s)K zXGP9nYfyQ;oP7X&O~hy26B9=J1mZCNt@x?yKPs_ro!qO|_OM~kVl!&Lvm*zXv82t^ za27_4Io@qYEOtAm-;!XR``}ldj!5(O4}h#d*6GN5;HigrI-@9_6l%+df4)zC!fX6j zbRhs`!tOKHQl8~@gP76v-+0*6o`;5D3@uVppPs$J;<_Yj`7J@KNXnl0d{j`;Cdl#0 z4|Iqv>L|+0?&fHeMka*@-XQqpGC(GM_D(=-Jo~Y0Kb40hxQlV`+_SHbKjZn%&i_#5 zIFP_3zaB`Lf$C~_RPL#J4mvz`+PurPYRXk(HxYnJ&LO>nERMq=$)@a{zXC88gIo2; z=Ib{osx4>e1qdthIs19^xbi!+mt`EEvm2@9?-N>131lIcurayPZc{=J#T!!FBZ20D z4t$?K8>FAjKy`~tEAtveoiEj$3F;HXT;&MR`<|o!h@@JW2i!l$f4vcaT>6W4DVRX^ah) z{$lNX2gp67CyQt_EhLDR)xhC-E3=n}3Kuc65P3F7$xMY4%K@fS5y8?pAo>&GOC9!_ zo(XwlvHNaEIDB79;HSgfZHPn(pY{U#Kel+ZA}Z{kR{B#sNsV%%Q)_HQF;*UHK$lYN zphyHb1wv1;H4`UWFx_MFAXi0Y!xn0p> z4Fpiw;vC&-nFRw+K+#Y8+I`QVb5fBB$d{}Ea=x`&G!0)v+6*6>=7v8mUL*~he^A?XvD?Ff?4YNV_20x%jR@aK zQH?QlG-(}UJPX-8d(z*rI?tHYJ+y)UbhVAB&$o_Oxd+~Eq^HNPIcy79&jIElr(>_H0H=) zO`zZTo5QZR#r@88;HtKpQ1iees&+vQDv^D7@C*??5E*yn5 zpD;EoaAigmYs(Xe84e_S5@byY?hpSdSnA>!Y&o#PEBDgAw)dC7>s`k-NKS~3d&2Tz z#9>qZSQ7J!pzT_so)&})TBgS?Cm`#SWMpZuuOPoNx}^OhXY`VFIX zxGJytaTo2E@mv=sNhZ-NVAkp_?;IoX%I17YY}h6gwbePJ(H@VOzC-M0)% zEMx~0^`5IZ>>|Fy9G#u%4*L4Q%SBdEgC!Q>)6Ajl!pqUX|twE5MAud`>TDNyvY#0 z5`(fm8$N??tQL?La#Z{niSzve6iEJ|%%?IOMi#WZ2akR3<>)iN*WIki%k!x(+TZO8 z!e7jRSgf`GW@R1mP{!ib_G^yg2Aih!zz2h6N&7R4<>V`INj0c+=J6+IiMf#{acfd# zh&WK7Msni+iN!OC^BVF)1;U7#zjU7U$1;ehV0yzca5P2_rfk$H3c!`f&^znm;cc@` zo=*lwd=LK_pay0^`pP<_nkY30g(~wKmg)WuN5+H=3qY9M8ZD8A#T!=FqDi60bNYWR@S&%si`v0wvhEO})n zRrzXnIRyF#9!#K!8qUhhNkr^JIP51%5;0Fb0?+$M=E!D?vy`#(Aupk`az5{^^|pu7H#efIImSLxK~JD98kVWZQ5zs-!7J~dVV^j+Y*;}P9iar@H z+MceQoARiGgJ6>QnIsz0q*x73XW2x)d0T9Lk{dSN@A%!u)Hr6$*W8wz{G(U13yi z$%?G@I^>1+5crDJmF)j`9legIQ|QQiR=srb%U6DC0De|cbaVG&KNZRwF}(EE^Xy@b zTWC@|U8;cUImggjLoIi>$K%!d#E#IQSw zM$Ma^=_5Z8<^(OB>;1iGnieJ(nA^R&)Dez6$>4PUK-NGmAp`&{>f*gYVnyFc&0kX5 zp4YKvHJd%gK8F*e2L*2;e9X0&_kyz<$;=yIL}K^T9$R(3_kg~)S5u3-QUV|naoywc z#9k4qh;r1AVHCe*ag&+Xztk`b@8ax)B3cJf8W029pH2(g15a;SR;JE=z9s3-!mHh& zmj=X;Ht%3ljs^>cxoF8Yp~F4&%WgZMR3PdZslm#iX(CiHttIUipWcgmz-h%L!7MA` zIHld-zO$}w!7Sl%&9_)b@O`cr3X*B$!BGbA^e^w=jWFgErWN+Wc^0NYWAi4DyJGIu zs~JviZQQN;0{ZnnCy&MM>2S3A9N$glP!4ig|FHn7KAxrBid{e9gV##2vu|iB>27$*R zEGV+7!4^j;YhNyRMTs?z;}dySrLuU38+lexoa%mh^()|#DERcvge>q?e`qE#AjT_)&Pq@Oe2JeKTfe3e!*px{1_MIo#d= zDfvtQP?&g3oyH{Xf}acK9}wjn$cGavg|`XsefY*wIwuW~h;OkPn>%u!Llk1(6w#tT zrI8^*Emd1!Gn^?K&MqI+@JIk-`pYDxg%Nb~skO2s#!NCcd-JiD^f~5+7}W=z@^@(= zJ;flSB2tT~w*J&=dJL|ml*q2nOq8;_ms1_z%Mr8|6QiOZZ7@*x$az17h&@4PZ!!SS z5Gm6y<4=kfuB-N(=sxBzMnRAB^m<5JI@PxSXm0D}DO85^G}?}Fp$B3z3N;xzP#zt( z4iT2U36<78zq~`$$>3*I_UsLpAFt!ZsGg{W{2MPfpp^Puq>&awDnILU`d0&LMI9nZ za{jBrA!=XL8JTGDyG*>s$040Cb|ef>8U(H1=cbYn%7UEyqt zFQXK)V8Q=N65L|7>jn+fY69TPg96^RsI>v#NNkA#A2O9ebg$C8GhCSYMZN8q670d~ z8ej!57E6ZaQx8F>isZDN#eS> zn;jF+=yFjFvmXr&u6rk!6tsqJ50wKy0JnsP-~-Y8=S;1nw0(o+=3@CBi$pkN*)56O z?a#;Lt4r^06y;?A5(_dxc|IM$&1c}}Tc-A@ACtYLG&XLU2iW%B1tLUX^aS95^IU|~ zSLc|$J`y;n4-I-$=1MCYm0Yg&kXiT@zieO0#Qv5*4;;kQ*iZgKH5_!u<{;rJskx4L z_Tmh4Io4bhNL^||GYz+$N$RZpH0O=UhsUca{au=tOMpB+qo{u5OXM7E=CY)m8SK3I zLCCDpjYMjyfKl|FOgOtamu5QQ4*j-}A^gl`P=PpKOzM5*Gn=@X@R;M82)-w4Ob(v` zn2v&cV3c^vda4WW?K1G|tj}8}i0)KF8b$v?og?7#2uqdJwSm?EEODw|H1JJOc5>)p zH-E`+8jj+p`Ot-XmH{QWKSydm8HG7Lfmq7)g zcTnIJ1q~;B{U&?%84}C{?B{mxFjJ1iO@;>Lo{$STBtMuY+Sv&QwHn~%jww*_(xg-KC)GAXK_i}jcUO9Fk9l08eyO=5w$PSF9*h1e zNW20?;zdua4~<{G*_jeBeNk`KbsP3TqH9Dv7vP*+2(1#pni$URxdt~`Xi3q#KMmAU zsDhGhw_~q93e5bH+Q8Rf;224=qElSNi$>y7fXfrT$?`)~-N?7|(~SxQ97E-4l?ko< zQ*F8>%n+#{1;=o7TmI%)V%zI{a*&yNv^B=a6a`E4X3X^tXVe@+$ASI;Jh=h;W#tNl z7xe5P6*Wz#s)6spI!*mfEws|K{;`?1Xx`et3BHytW9B+auGPMHzkB-`pFqtVN~+iZ zJFb&#a<7AlHE1ixzD9RY6B=vuHwPLNg6aUH`mhYzuv~q){86uIxl9l>`-AFZ`yXF8# zRX_LW2gH_7^jrd4Ff#Q{+sFmwD(%AeU5nS}+1sN7sgQj6T`C|g1!KuXl{7A%{@2;o z%6+kym2@Ewp)LSxX`>%)t4e{)zpzaE)95nq_1{rWaBD3y^dkCC1zt2*_qf3xWXt)z zP{5L<&dUJHj>meM&811;%dS^vZg$dzXWQcbTKEI~LHJOa@OBraIJ#}qbAA6LcAeuB zDusy!uN64JxtMxLR_UTvdQUtHm`rWqH32D%G(wLbGJ3K0P5)=kfO4Za1mm=XGA1q=8deriV#9Nw#UW|71eXflY(fn6Ka zP_J=6Pcr_$xp+x}t_%((XT1+M@p1-r>m%i-6Er6)j++fmH4oP05{l?fsjW|?vSHy1c2NLio8TfxfgF+jldj6cg z0vDX+m+7l8)o|`?rP%X}K9%fE8ZNa|0emoZQQ&0%u+sdOcWzuO$r_}Hjo|9A;6;L+x`s==?J==p(Y6fNCW*|q6;LS zMc>ZYyLvfcj?-yYblv`W!BnL#RI~g`I!D`ccXB%88$d}8Q;}Gjsj(kEKBI5^kqT9S zirkcjlK6a`mE|Y)xw^n&o?U%)wo#k_bgXbwd>ybF!oA%Jd$Io(WutT^xGz(o<>A`P z%2`4m*v0N=V}9GX_{L}XG;`4>a$B7+Z7@qVz#)Gq0dBdKvmY;(>n{yc$+iO24n}Hu zR2tWnamvxp>#|X*6AQA?A8423`+oW-w>9Y!8h@TJH9m42q$FwfK0J_|3>~$&-F1fc zW8PtmWfJ#^A??%i*&h-G{TRYVhLc$xdGnV`hLqDp9C&>wq+dJ;j`NA(>6zb|?wcY@ zN?hs)lXW(5OuGle#eXRjOAR1{(Fqb=mltPCzW0+!<}L%w5qMD(E~sJnzM!5`>^;1k zPVLjJ+J(Fh3R=GkNB^%SrZ!v*9;gps0{43lDD z$~A5V&sB`&N!Lh+e4c^SEn;54n8Vzf3^ z1H5C8YEMWF#zJH(FG`bpgR0b>+P}HLK6Mx@oG-HTW4@bovrZr7Z;{DCrEZ>VKjvL` z_~R4O;xpCDO^mL;{DK4fOesZAy^r{t;yaNDf1t6^ThX6l(bu}Ha5<{}Gw0UK&p_?v z15nV2iwOz3fGC2ad%u4k`Yc7lbe$0Jse$YNa4Co_B2AqZ(vI@*DmgCfRunfxTP#l| zCnvWmVz-DZr580}0aleS15vn6BiudmD~Abcknl+QlU_#pYHGfeeEDm#m)}BT8fRr5 zyk(syj!>e;>L#3oZgV;g;iMLvEfLWcIgwXEBa5<1`RY7s;}e{9${b018nK%?|C!kSvWdOyZ1_az~GOd`BI;(xv)qID8`@WXuwa<6N+Bk9E6Tm2oT^mZCPj&^FiGyArLNI0-v-lm}p}#e3v-c$u^I4)KD%|8a(k|o6*OUsVPbD#P z(p&vXIExsJd|rJv-HPr6*(`3Zp$Ca4)uLncy6|#cN_uJn>{-N20w`74o%!a)N{`W# z{dKtf4MhPJ`S`Y^pLW0HX6s!Dm>51BpzkJf11VM_Pp2!a#RWBmd%Ola2tZPjkZBPz zHuP7N6>vLu(4Uz4;pAOGm62cq(qGGYw;|2O*Q7|bdF_A2OJ5R3_mN4Tvs&=z5;BLs zHK>F;O=CElQtN~jL0!G0l^S8`6M&mugG4!%WTdrD3o~r-m*2w54-X{!?w&gS(o{~i z^Nt6*LPyx)l64~TxEDKqVL`y&s*?QRlHvT+8q7|>zgz~qG$nTbbIAtq_FvPvBHD@?u?{$AYvG3OeqeYQ{auX#`~l_u`h?%7^i&s; zEmh-tK_NcQ!OYQblcinyAW@NWQkrsE$Fvo^%!5Kh*-+db#OaW@8LD?8j(a8X4*vbV zAr-l@3-lkc_$Oih|;nE;yTUhbi-s$N_N0wsTj~uKS9_ z@9($$n<(uB=ANz^{$cpl(I2O-23Py8&w}}iV_dN}yp<^n(i4lczqii#<-4g}{SrWQkanPFq4M%o^b$b5Kd zs_V}bTt#%;au})axKzq8lpzeBed;CAT~<07XrVw))lNH|?dQ&kgP; zw9s5V6&?XzuVK;HVc>nu*F*D^G#L?r^5^W|PK-fx9aDF@)C${j=TSn!?lf|Yqd(cokgF^5>tVU-c&p+$ck1{R}5FkDha zX~D>}VE&S|{2b5J!PhVeJkmM!*|+JZRbOfaL0QzebNMv@ekjPqz??*wf z#)ISU#+tXf1;nJd+E2B6N7w^jD7Yz=`*{WJH&*59D_j3j2_)aj0Zjlm5U9mikeIQR z+Y{04Xt=X*7VC3|5R_(iz@UyBX`l)Q3z)5Yi$tL_2R{PCa|ie1*dbiWJ*MQj>iq}( zA+OR?zOq&Xkg3;q*vf@ts?aT2Y;N*b{+Mg^?@g{9{U)7>wC{7wS0X|1P!i&lCl)@2 z<~{w*b{rD+ra!zNVHvV9qbU~3<`M}m6=3prOB}7SmpLaDLHlB zUPJQiQ#qx0G0n@*io(>DK}u7_ofDFf5lB9ZE*%Dx@M2P$l1=4QRNffp^B+zNG*WMb z#7t`)BehbCWU%ob$)aswf;{MJ^*WA>U&a2^It6RLVaTH7icv07&z%OILZ896usAv? z;w*u9Hd@2HGi8aqGuM=9mOU;pl}cWtgwnWK2|UR(+sS^)HGNYds+)Eb-|$$((`#^1 zIEy#F^4(uukE@6dV4M(BUk%r1eJWhxaa@pUM%q%S7?zv;*RUs^ zNxrDx`leTCW3iJAs68u*eH*U_M!oQqs{J=!42mAO?RvJjJ53f>V1ZBlW6W-TS}8-I z#ggN{F(ht~H~Y75^1fMflrMSmcJbPANFn_n;5dRs-DId|x#>l0+ugrEZ@_`zncX&*yL2&b!O_$6pHn{sFKW<`r_?69W#d*`5lR{-nxcj<3Yo;1(iE z;TxywxRxoeg_H^UV*#F5M%n21Dr=x4HCaS~1au6{Mabg23?+ue#4LKJKT5LhJ;iaN z3lYkiV}8N^;guP2v`l@aN9D_Rw}4^E=(w{mo-rirR&Xa!wHB?_Sg={O>iJ{KJgcQ~ z=$0jmEr|vrz{b43XB3IB+Py)IvUTD98Qk zNx6&%GKO4Hr}ewvRrK?a<#*_R74Q8cE-YKa2?j$i&am<*Tm9aJGbClEU7k|xKeRrf z@Qsu7LJAt7t%y-)Tdnrq#rWNgzuWOO1P97roN~c_&EiS~ShiBvx##|3Ql{N9AY9>k zYzH`bS!%e?5tvc)#};{{0B`5f8qq^#UW@P*v(p%(iy{5Y2<11vmQ|z!s;rUWe!Bw& z?KfxGjcBdlFE4?00#m8wCh9mHpcULx=XcTIA>eNTdQgVN#}SQXaf!=C6w^XNoscEMER2y)ji0j*WcU9JGxTv`l|?n}=M;2#9)jvMO}g zXhU_UlYRqMv&j&CEo}!^3k$%Oq6m z_V=7f44Pl)Q(uK4%6Ye^BOZpMh2ni5dtIJ;9w4L@>#JTb`m!_sr;Z{8gGtj(`3xU~ z4^Mqf1A2~6J9pA2J_7|ZPhF1MDMggb9&y@->Jy%C$U=C(SekpfGs& z&(}2J4ZY(|?OXMMF%0*feuu7VR4$&7yZxzg2xk5Vvwhww0Gj=!MbB^EK3Q(M-sbXp zD19e?Uxceac_}d|GMT%$7$0k?(!{NmDMPle2aKAkt0P!`(8#)TTs+^qnvb~S5wb11 z$Eo##CaYBkC$@Ot5thpSe)r&aLNq0^{;uH~sV{F8F04Q!Ow}QgfKv=4fRGkx=Y$O} ze11FEz}Z9|qIp8P9eT%(iC*=RfO&DbnNyugnan;6cKL;}3DQ|=n|>9uJy2c=Su}-R zn`21cN3u8rxS0s3LQD`j4d6(0{OqUfr^+L74tZd>i_8*lr2(s(s?@NY3fN)<)`!zL za1Ine0HVJU(F@ysp_6*|l}-c};SzW78JXW1vb)kb&Xd&jP1`04*dZe!DGw<(Cd;XT z-_upZ_+z{|#G;9Hdrog(s2-f!c%PWrQ~sivLGs&QX8;LwexUg!1mo@uSX^2NW2%*L-io_fAn zWB_YYydG%cGpVs-3nQi9^s&Vmme0}Cz(^_{%A5tUd|tz$%cAJFq=3Cib}wqX@55ce znyA}1ku`T{29;4C276T_1&C$cN#EAWc=pu48L|`fz_99+*-_iH`W@Vh=(eh$cJ^!=|ZqcfbGue-k*gwjkXGc1eRS)sXexPkBI+UOfzZXg3h0N@>nN3(WYj}^uu zJvaaJgV9FhirFqJEcDoeRkplxw3S&HGVBTQL2Zp%^{@6V1DJ92Fbp`(osVwIptQ*! z>OLLv9EJ1lsgjEoH9z{#mM8hlaq~`n1nHLzyzh5#bsh5L-V>k%ChdDrnLh|x2Zfz4 zQ;|Wbp;$Zu>6xu^cDS+8n-2|j{doX?Y-mc|yQ22=N0@K}+qP#0$#!!Dg$J~2%J$vlIS`_T$ zH5bz7WXEuQORYVsEi(U%*~(hDzcF^zjXH2O&_)*~tJNI$c*a)e=Dsr5ZQ2h z?Xeu*{LOAfkC8agJ26=WK3t#JYFZpD$fH!x z14auN#a1-_9oz}KU(06sO0FK;C1_wE^I?ew36HajUB{EA?T4+NZ+r!9Z<0W;pT<9V z%`yJa?Pj93s+chJVz>RFodL2wn;f8M{!t6RyA~l7mN+%mdv8GTC3@CC$CI4+wx_}a zF;U8b*~=H@OoY77PuO9OUYtPEk1A{MK&sI%&FhP80VXiI0&ryI2G-HGDW)(6MU z7_w`5qvk_(wi68Nbrn6zy(|N1vt3Asa4u%JU@UDt+hjC8Gyqjd8|LVGmNZT4NyD`2 z@hSXfNR}p}XcWK^9ns0A-UsOQcmAcfomUuO^Ce$-HL`_}o}!FdwT{WHiIC4MP4ZtJ zTSZ(H+{{YNwzXA6N{Ygb!;r+xugH=~AoK|~-{KiXCtoDS2$&(Kzu8ivM0F<;TB-A0 z424Vei({BmdVs@7?WGoPvhweK{A^jz90?QPTSiH|kVh37<()aSM=D$%d&3f%zrP-! zLC<2dfPEnfch0drbaWAaOO;XBF82VBa&PcGY`A0{XK3m8C{U!8MKRYwF-eHwH2L{`wdfug39<()EpETX*4gp$j z;=Az5S8IiucG7Df@9>0^F!HKV`IF3aW{BAG(>y#in{9Bt!}KwPU3B~7#x;cJ-!#KG z8)Wk&EkDO`>0AMD-71dYaZWe9j^6)T^)iswr%`>^Wx%lFvy?A`gpI*tm3M!BYQlEr zhf>c|deVN{|LN}A1toYsWKQ&STKHyGk_9+7@d1`|NCN(+1rnzB6~ue+hmniDi5*s> zosoHNW$9X$dnLVn$`_yzk%wBC^=j%PPD-MjC;XqEtY?^89b+u>>?W`h13PxjgLyj|Nrcxdw`)7yg zd5m6)&sxqA9Q+ub{vqw)q(x=h##RqA;R4Y(axbrus{-bKwPELA5GG_^4e$Ek`c=mq zHumvsCn@tHQ{tCLT@C~sTor}DEf@iHb6jVpM8JMq6nMn1l)jVH=XPo5#339-PPuS& zJ2XDtKJa%*6jHq)Z~8t>N9!`Aw0{H6;` zFv8Lqu3m@kNC9slq>BA!|6QmkU_C#WnzxjeHmDs&gXy{MURbm?ibF4cIah&J19$tn z6#KIW_|NCB*`WCkB*KkVq1m8e>o+JwltQ@#I&ins!x)Zz8m%PAQ(2k~*OziR8_?ke zOw+8!KJTKt2GF{oe&gffWjb;<#PlSEt^@wVc;kG@8&rkgh)KR}r*gp3uOy-&f@OZF zMu=Dze?f&Hi^k0lo~IU@;V~g(aK>-gO{sQDJQ!#HQ;thCM-^S~2Yq{(Ey2kSbzG*p z)s*Tk^AKH0?b)@rMD}e8>TA241zHnBPlmM+0!Em#C9*O6Cb1a`pJ?Z0e>1bBs0G`l z6~G4#K8DE`KvPTr{3@@0z6A?}fv(1hKYinZCdxEBe^;jWr+a-X+{&z9g%3W*= z$B+uX13Ysrc80qIq62~j`A@Adv21y3$B)_Eo<3G+VktZhW}_m2G}7~I2m*as4;G(% zb~#In-O7Tn`+Fyc!9?F9jYyz?aWTk1?ki-M8a>4x#|_ z#iJh-kDDMY(}K;}ngK99u9Hj5Kjjp6_|W;dDE6(-e(I@1fmHpTaJ4sAen|Q=Smb&^ z2`ivV^1xmyt2+V=Qx}1jp6+@I{y#^krsf(X-6ck~YOF=@^4<8fGppp2WLb1`b-I(D z_c-w^zl1i}N}rFrGyG1M>QLZ!x=`HA4{yk)2kLL@;pzPG=xigqe1jxnGQucN$M3*9 zn#JOm@P*k+cBy)F0^%P} zXJ^`p1m6v{}8o)^A5f&p0KdV2i;N`oGdVQfpJtQKH1-G&2tah6QOPyW5o3&EC zk}7Lna4K2B3KZwxntfc6705YP%I>KQ5UpSo#fo_jKuwcwd%<%NJIm(J%Hb**A`XW| z6!WGf!b8?(k1$RMm@)w$9`u@F(%0`@xb5N`#4^NqoB5<qb0U^tFt|&aMfI2D#eA zUzq@VKbnp$wz1CNyozs^&@sfLwtl#X>p#mxlMD#GRLi0T0>^# zBosgLn`itj0QuvIe*iL8uo&wceLyA3e6B=Z}gT0L2z~%J;j>lgyLQ z-H|8@3vJwFT-)Q*Y-P7t0P_J4X8WwVqL?DuprjQdMMwz(a@LXh%&3vXMP~#%@QoH2 z-QVz@JH?ulI0Sir0 z?6e_c?(^KipN`j_DTGi+e58zuMe9bNWL49_?sy0oy2UNc(E+}_=()?vzcqR8H20q@ z+7^swho=2>?mGa7`g;!E;+5uTdbBWX`cr-B(;UpPE<5t!qB#PCoBFzzoLLwdjghNd z(R#~yaGG@MpmekOq|8sCGJT%ocVw;$)xrgmgYHFaapEt$xb_TltQlG*`NzQ0j37!F z>NH*M3j1o-atS0`0xaN&1@Z*axi;fUjT>j}G{BOZpm>O*WlsnLVy1c>CJv|skD0rQ zDc8OZGSe|#TEQp_ZBf+%!+Ns9r2n_C%gEZL6b`qmt=qha9CeY<*Uz)Sf}{4Z0BT}9 z_ilrLruW6z0ilx0%7LEUn9YAjR``jx6Mj}=-5aVg7A#^wH)zXWx*Bxoe0$vWizXXl z6SA3w{%HB9-Ud$$^F_}F@YNa!po*@6u^Aed$Nf!oAi=y5#c3Fw1X>5@8RrKq**;3@SqfMFRFq z$&2!6*7+Nv(HOH!ww>w2S9O$@c)6uT*B3^Way0L-m2rLb#>!H{2?~U#!s+9dFW%rZ zcls6WDgH?*#S_4MSLE8*AY-?fM;9-6S&DsVzQJE4wervjk9)Zo`dBF*01}0B64Hg{ z5m6DZX|L!yWtGtSTr2L=prtw&v6%IZ%P4;f&^IWW$tjfO7Wg+b2#NSeeLws4s4Biu zinU3dkxjdCDB<=zA?P#t=~?F4;L4S*yyp8@@35WY(cstb|BQcR?>f^#(~%Gk#)W~#aQ4$>t(~B{YpCc%Z=hQO`?QHafqIc(j}#9$3gSi6$TT9??j+=Fi&+A zx7HRuFF3k?ryMBSX60cGkkR~C-p>e3V-MdtZUDKSrfbCw`~cm56HCB(&yxQns*h4z zw9UdJ0K&%D?Pgh&TpPu7!CEB{WuaaUsHh$wviz09R#oG2N`DDD?^|-KbxLr~bJWFS z=u+EY)`j*UZX1iEG+k>8)YZCxB(I)&v9K=AtI%0IXTYNdrB5~Y+mVFy`F^~xAJ$3S z9jbao8?ug*A9?R<(vh?F;<@9R{^kzv`#_|1=uzh-OB@{@V4q)V)EoN=3>|sj8vsIX zG~kYMl6KWkH&lEK4yG^zPS=HEYz`;Il!y?+6&^5PelF3g^>2MRGtqnE_yLptX<(b~ z5|U%SlnePqXj6v3MdxA5G+<{r#3^S?LjpfY5r8cxRv#Q}0fJ#1d6ck|4MZmGqaTYu z?8t->3D)ib5XH>v+-I346z_Fvn1?A8fg;$S3A{f&SWa?dJWmBibagrtW(KTHiR3@v z4?t2|od+$KA|yLsQ6tp2$)x7DfTs*XQB9lG$7>`n+uE1KlE( zfz@Fa*&7B*C|!cTdMFr*-T?U%*+6~er>CE&x#1_jEG7BEPSg-n?~wf^bBk1N)mM3w zQk9ePT$PVh;6dY}3&}IXDr@rfLq$fF;_ibJ{F@H?x!sb>j`PS(DEfrlO=x~N+P{xE zz7|U~YWI1t;_-BJ=0-H6$Mt+5{0p7vS=zq$p=l!MH*<$xZ(}AKv(8$pA|wdscezuS zM6_Wv013nyKR;+3b|#Q)KWV956Szc%s5@FOQ|NpxUNPv`iJH0#e6ohMB0>{95W0<- z{myHH+#*1#9F!9SPEj2$Y|1!pV$)X*2vZPoM?6hV$ULJ0TAu-$xJ?{&FmO(JTzpm9vv_2+AKAa72a4y3H;e$qMQ( zfi`&l2G6H7vP|<&34`iy2AYC<(;Z^vVB%N1XB0_Yt_kyF)&Heo1<4s8I^*M>NbVSs z1O7WbCB&^u*c$Xnk3dXc(&|5pnaa6LmoSk$!$_C^9ILGO#MB3wFaDIk4>o;Ct?kkF zzB)8V%dz5?_|`i-A&;=l03N2v5$wA=tEsfH#{4XGj|$*l&)%GUb?mQ?9#Er{a7}5T zA`ApyR0(uVAAbHwT=N2cw*Mn`1UIE4nH$^M1D4y7iDVK%Av(O8IIPZC;I+Z<(wWqi z_zQP4@DY+eqc2Nn!_TT$e=$IyOkRwF!#!8va33W}nvhQbil%xs$jKm;Hd^-tC}ic& zuN3AfIMF zTvfMpxZ>MdLjT4KIWR>-=LglGjcHft2I$8Gz!p#d$YQ>G3j2(8k~e>*(?mlA?X6zu*{=Lwv3Euw-n2Pq&d2v3G00Xd zvBWm_YYhiZJ)l&jq)?=)lL4@Mkuh1CA(vD=wU|j8GPm%8xN4%;QQ@rljNUiiSo&&i+^O1U;aIN=pN=Ua@diD=g*1?J3D`=Fm|D;ZyceY{rV0oUQl!D{#dHb0X3RA>_BM$V?Bu`*1$1 z7a`(X;&s`L31oXhis+lA!M9g4&#<`|DU_Vt)ZB29M~tIoerj(2!@R=D%UjYPnfx=U z{s2_9_0VSm0IzuR+%<&~9*46)Pj$wR0*)I-)e10~^R(Mi+AK0rT)X@%b--jm3>BBG zHz?l_g=E>3K`SQN-D!ku4E_&bY^@cH>iMEKoUR!PC2CmOu&w>81Tx@(TP%9k^a7$p z51+b_(c4kQm|98HuJweWgykK`PWxVBW~b}!ImNFSaKAy$@vn~>-~86!rF3o_WMNf3U12E&!q)DQkUb$3 z%BorQ>tNtQBAqk27v@bnZEGKTNWU9oClKmyRU=6xXTti&M5&UG>lV%Z!{5SXD62WJ zw8<>bM{EJ-#hc7mGFl75wS1s291}zj%*aT>hXRk1=BFdzE~<)`y6=>}&?;YQ-RIPI z;E_gn=UrOKJcEgnu~Iy@Q0yTVj#T>cmZoFLE$#b9BhX$l`V={1YvLHwIB!%CG|h|=&}JLSZd5!H9pVbO{`7h%CW_7O^Mc3r!Kr5;>qwpNk6{nfj$690 zMWvz!`OV8KyY;q@m&pf;#+pBF!-VJsfP140_)&6;8L-URRp>wTIjjNmDd&4#y`wy` zcYiaGCINCI(hlqRdG7Nww^BT4AC60~Zog$aM3|^wn2hqkzeRqST#DS^jx?ewfCuBr zVBqzdsk=p8ydL($-tC=+^rRTMR`++OWxCG1>O#G1G@?pM6H=O&;T7%Xe5Beb2^IJM zD&GIJW%-U7a<4Yp+fxoi^!x9QQQ`r+k7k`z%fx-dFfsKb4SgDGotvemk{U}-akB7G z8^`R@s}DPKVJM3Z?If20*YaG;QNUSNBg0ccDGaK}qwd}QvY|AL1>2;-J=~>MpOGJ@ zHV5;-3yLf)+n2`_W6n4GtZOdB^tbph(idVHf9%cu;nlF<^mox5acd9fM3Qoaw5+YI zL2~Oc5Qz%zo39-THxP|UwOfq1sZ|z&>1&MK8u`R^kbxQ8Biya@4gK@6>UMdVA91(E z^Zo9Z^)6jb>qt$(c5(?YnjH$!1L?mh1h=umz1QTq{S)xH(Z)aB%VfU|Z|%^LNVoQu z&=`XsK95c>7^+n4hgA7JyG0utjMTd^Iwm(TiV2C?`>>$6-JLwRzc