From 7aef0d28052479cfb56e7166861fbe19f70bb157 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20W=C3=A4ckerlin?= Date: Thu, 26 Jun 2014 11:54:59 +0000 Subject: [PATCH] first release --- AUTHORS | 0 COPYING | 1 + ChangeLog | 0 INSTALL | 1 + NEWS | 0 README | 0 bootstrap.sh | 8 ++ configure.ac | 9 ++ makefile.am | 8 ++ src/default.jpg | Bin 0 -> 43067 bytes src/index.php | 215 +++++++++++++++++++++++++++++++++++ src/makefile.am | 13 +++ src/movieposter.sh | 205 +++++++++++++++++++++++++++++++++ src/towebm.sh | 18 +++ src/unknown-movie-folder.jpg | Bin 0 -> 13033 bytes 15 files changed, 478 insertions(+) create mode 100644 AUTHORS create mode 120000 COPYING create mode 100644 ChangeLog create mode 120000 INSTALL create mode 100644 NEWS create mode 100644 README create mode 100755 bootstrap.sh create mode 100644 configure.ac create mode 100644 makefile.am create mode 100644 src/default.jpg create mode 100644 src/index.php create mode 100644 src/makefile.am create mode 100755 src/movieposter.sh create mode 100755 src/towebm.sh create mode 100644 src/unknown-movie-folder.jpg diff --git a/AUTHORS b/AUTHORS new file mode 100644 index 0000000..e69de29 diff --git a/COPYING b/COPYING new file mode 120000 index 0000000..2fcb217 --- /dev/null +++ b/COPYING @@ -0,0 +1 @@ +/usr/share/automake-1.13/COPYING \ No newline at end of file diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 0000000..e69de29 diff --git a/INSTALL b/INSTALL new file mode 120000 index 0000000..8b641e3 --- /dev/null +++ b/INSTALL @@ -0,0 +1 @@ +/usr/share/automake-1.13/INSTALL \ No newline at end of file diff --git a/NEWS b/NEWS new file mode 100644 index 0000000..e69de29 diff --git a/README b/README new file mode 100644 index 0000000..e69de29 diff --git a/bootstrap.sh b/bootstrap.sh new file mode 100755 index 0000000..00f0488 --- /dev/null +++ b/bootstrap.sh @@ -0,0 +1,8 @@ +#! /bin/bash + +## @id $Id$ + +## 1 2 3 4 5 6 7 8 +## 45678901234567890123456789012345678901234567890123456789012345678901234567890 + +aclocal && automake && autoconf \ No newline at end of file diff --git a/configure.ac b/configure.ac new file mode 100644 index 0000000..89a6fa6 --- /dev/null +++ b/configure.ac @@ -0,0 +1,9 @@ +## @id $Id$ + +## 1 2 3 4 5 6 7 8 +## 45678901234567890123456789012345678901234567890123456789012345678901234567890 + +AC_INIT([videoweb], [1.0]) +AM_INIT_AUTOMAKE +AC_CONFIG_FILES([makefile src/makefile]) +AC_OUTPUT diff --git a/makefile.am b/makefile.am new file mode 100644 index 0000000..1098db8 --- /dev/null +++ b/makefile.am @@ -0,0 +1,8 @@ +## @id $Id$ + +## 1 2 3 4 5 6 7 8 +## 45678901234567890123456789012345678901234567890123456789012345678901234567890 + +SUBDIRS = src + +MAINTAINERCLEANFILES = aclocal.m4 configure install-sh makefile.in missing diff --git a/src/default.jpg b/src/default.jpg new file mode 100644 index 0000000000000000000000000000000000000000..734d39c6590efac7d896355511d1bbccb122289e GIT binary patch literal 43067 zcmW(+bzGFs*L`+@rMr9S21V&wq(K4sf`Wh`poDZcOG%fc(p?hL&C*DB#{x=sF8%U* z|9a;0{55yxoHO^_I}@grh9Ce7^7JuqEcyZfMPL&Q%OcAOwA zl1^;Xr+*a6;OsP~B+aGi!#oL*kV7~1;PSC)pWBrm^M)$_on0&)?iv_w$^2ILsQmD5 z(8{Bi!p=?xVWr1c`uQkP2him!{YP!^4urJ)5X}f*Iu!m}x0!vcOZtuAAh2ry^mhRW zyxm%>3?H45NV*o53>{QwMD(pTQ}}SMH%3t)Nnl^?+PAFqKImb<3+=CmKOM7IKZ6G~ ztim7!^ykP*!1zoTGV}MOel>8s1(UX#!K@nSLgDH;*#0Ec=tEvmB~IGCfIHHLwJ{*# z^MTC)X~{NZ7ioi};AFre!`BYJ<`0#)SMM)f7k?!=e!5EztzPNo|Y`S+-9zv?cp0LLLQ8(hnn`=*p-NS%;(T&vj_JM^c`m=GxS@7Y%Hw!O_(LP)lOJg8Z~P(m^8=LUNrVxs<;|;UR^oU zRYOlRzRY$U0NlIuM2*`eThJTtEK?or!H$PD0kkhCSRbE+tzmSkX9``bKM6IVk&r zOnecI;tn>$0xbB)A+pR5y*fi^m04{hh+&)3Y`#UIsNkhj$|GuykJTm z{X*@=VM5qgM)pUD*@ku&k2j$AYW^4IgnEJv{=(p`jfR_ zT@|c`eMd!)muCj63!E304ASb*s3_^2J+ec%{QP60!>zkng#&nH(ajU~Wlj;=t$b^` zw}4!71lVD+7beTcDe=p^+YT)D2eIBrZk%^tu$f;8nV6f@6@)nbP7Pf)mH$-~^t|*HkQ^pqf=r91J38e?WaA+Q@!SiU_?i4fg`48>>nUpBJ zJ2NEPo1yX3H)3;%WBh>6=$o>*-41eTq6HemN5IdDS{8l{f@s*nSXVdpgUTZnN^dyIqU#KvOe_HY~BTsOg6+fvfc z?hK?C8wwuxHxU28@5-IG3*Y@++BLsFLv(lx8+lnhe7e|46RDRkUq{PWNaGU%1iB9^+r0qr)N=L(GdizCm4;Gx;WA!Sk11Dq~-K^ z`9?|MfM$=WDoUROiHMH7gu}gvxv{`_SlichF!(MazWycBNK*(kVfv;)ZT}-i0KpTQ zJvsYNj9dnQ7B_tcbr%xp%K<)?uFBQzXQXGvU3D1s$x4czx&O#DFA5T1!4b!*`?Ca5 zs^HUwPMZ{Bwe00}`RE&03O}cSxffcUV@0o57Jsc#UPf}fh|%uj0iJir`m4}BlCF_L zV~aBp#uUkd_J8~@>yLkY9WU7S2Ia^0JPSD*%kbTKI$QM^4NE(}Z>jfR?*b}gv z-^L;dy>_tfF0wt`$!$dFg4$gYNFUHie4$uIB=tN$dxYC|dL{p3K7M`3U-3^9`_+hm zXim*7&YH~OX|dOW1k8Emq+Z^JM2$^by2?^TAWSsD+oN71 zaEMhz3#LmEHgqf(pN(h=%(*%bKQc1-*6!DUEfTTp7~08A6#67UTm#AwMI%wXBbj2x zmGPqvc{vuXT|d?ZJB8?WnOzj=JqB@WA*x#T&Y$&l>KHu)X2@-vSis0oU~^lDM; z@i^d9I$i#5@BQW#JQjQyq)0opGnm{6%MVxlGG7$x<= zZ>?B%Q6cJ)&pXX8+Ms3{JO9F)Ar$8I{xJD%v2*v&L9$9x6hM1jDjy4CGYNB^K?sM!An4 z%S#Y4|6zfPPE;JwxHE~L@MJRJOiiaJ_&di60tbo8K)x*1t z+U4PkiyP>gBt4$;8>m-@92R;E6F{+tg+4{`Q$Ci|0sTsNt=;!SKzm~aD0$G(*i#_$ z?bCGV{!PicA4G&8H%zJLD$0o&gR2PsRUiNQ%9bVZ6UQda%6r z=fG)lQnDYeel*0iV@AewX2<6~TbS+3nfA^N;g(BhB}{F&Fd-a?Q_w@zeh{+_k-t@> zr)0fx)ej|*qao!x`Y2m&D!4k}`y3YK(sH7vB9^!dpVqi%OD5cGyyA~91@fwJ;ASdt)4zNxJ}mnpfQ$T*9^Uxp4Njn2SW zIzGbn_RoT|r;mtyD;Y3`t0BMM!Cbf3I!u8Upm6tD_Vqfm*z=p?aSDU8dlK*CLve$E zRI?$bPwUi7_>vnSKumVCr|UR-5_3&%jtWhDmSg;+vKU*`-30xnT2HuUnqU2p-xoht zGu)?pn8PiEsa-3v9Xn23{7Yufd=PcK-zebFTaw?+aHtsZPXrsD-s4MXCyyO$A(*i%Gnz^MR{iz_leNcvKm1 zpT}z1!U#Nm?tLx0v%-Qa6E!7adrxLfOHCmwEi13>QWp5Og18O?;)(}z=MTna>BHQQ zh4o5}?)CdfMddaB+gt`Kp6lw<+b?2?FS8uZgOwrhynB_YVi_BP#fC`6O?LF9=6)Nh zB7@-bKfXGF0{0fg(pvu-G5d9txjQBa&@bhrCj0P3&S z3*ih^$CzBw4)QfIVv6FYEOeRccY7|!zeyo^M_+@EAb=08N&S0OHv499Jf8oFzwBv) zZ4R2@R^By)sM_cYuW!S6z*ioj6ouo&6R;VjdlAO_2Q}iA3tduM^v`rtIst{=9=!m< znLzk)jmmoiPS*mvxy1hg3a`Ro(;g0lR4Y9UuyFA;E%C>C$c zTHH|r(nn+#>6NtvP^21Rh?QGVzOn=o_L(NV@G&#BKzeg&O?7ug2jWqvA(1+hCMcd7~OkBHk znF%-mmaV`y5ZO8eZO8nIf?&U`b3%12TU`}R;w^nM$#j+BuxpBc=;qsN1#;=fWoB>P zNVcr5%+vDDLLorXjmY=tN(uSuPB2hVfYIUMO&8j68va*#`OL$_dKz}Vub?;G_4(*H zo0hlAsQ!yTV}*^R&CiF5UpVvcPqa=_Lncdr8^a|BkSDHkE%eX=XfA6eKl9>RE`gwf zbrMF(6^R;RTF{}|;5#=Re16mw1`5V!Y#LY8gu&f0{@)Y)>Ht{M!wbwcyOVf4WwEGG zzuRukG`NY()H>mj@&Qbzv&K!(Vm6S7b{TPsj*qae;tir3Ey@V1iGm)HX093 zsX%Wg4ixK;bcT*<1ABd%8%z(*LaV~c{u@G+)zT~~{YE#VY$(O1Gw%*R)=&f7|8d@7kUXyTuQgB1xpn_^5OqBu^ZF{|kJ_N&Cg&htmrkS!zm3xBvHUw( zvG*ay>z8OV!jaTFjpUOj$eJa~*Wk3euhwS5!;%&Ben@f2;m<_^chqQ^`};D`Y}QMd zPgqea~@w)rWt;#r9) zz2YEv1}-PY<-FoIzs)e+i^c z1pAZF;~EfLbX~^hOgyQ)H2ZV-TltDIJre&FSeTKf8saTqa(0z2i357N%gMjrAYP4^ zS@Xi>8)O}O88O?n>wO&E%Pc!T-sL#wQf#{EpH#c!~Dr7PV;;&|^_Yqgqf9uOn5vUzG-zF0af z9Jk4bS% zfA8Ad-?mnVkL>i2dUL>HyESrr9kQ{8J=2SUAyv={7TTa;8-?iu1UHqVVpm`2!NPJ$UJyUE-} zYsA~H&&xZM-!=oHR`DyOB$pLtM4E*@{=dHr=%a(1EBy?sbiWBI;Db|nA?3v#^#VUb z+%UYu(RSfYpX@W^!5LKmk=mWU=$2g_+ZHCA?55$@+9jOI^xgK#RaW@AuR|M_^uI0K zC?Eb;uNko^+gBlEA|8!-xUIgH8UE@3kz09ckOZ3DRUahUG?{|=*9T1+G_-?A$;&{F zls9lM%)cmqqjzgxAKwKL0--;~FF&auxv&9qf-bQNnr~+%>7hot2N$SR_Z$)I9x3}E z{v?0Z#?EeEvEt7Op@#CSK0zPvq(@Z@ZdzNYPWOfnW1Z8I?X8Vr@2@7_-&M1w&*G;Z zyuQ0hm8btsCWO+h?wJDNaB_4(|B<6?v86p#sHIs5k|vo3LOXn(Xy^#Q)>Pwg(kSf&Q(Fh(WRm{UW^8st`H%G^{t_H;UR$B8)Pt4X zrCs&HvxEC(Wi;UJPJu*@+bZ8K^UKfS4Rau{|Kit|p+y7HUpz45<^*^<7j0i90w{Yh z4o89*#^sODjzThkZk*7(3>q=T2xlrAhGVK2Mq1? z;LTTEDv*aE8i!XC6-ieN$~xX8if2}mQ3^tQ9T4NbauIYXdhk!Om4qZz zQ$k~_`0VVgGSt(r*GV=sU7%gU&)d!lZV(f`JYbM`xFGpPn8TIkd1I*j8(g;jl&`gV zkY$Ll@WmW^ofGNoA`R!U2a$(u@J_aDlD|mWHK*pPJY-n&L%Q!T>aGn%>Nxi`3yE~L zCOps0j0O@|8fn#{1IQsw=8(=x3EZPb!Bg2hO|Tp|JG&M_InuQVw#AK&;K$yttr|r` zz%hemeg+-U#|BaknlZf0cN%k*r5^-Fcn31VfvMwa+wWGU_ImODu;LifK-ek@FCYTocPQgkvcd!rY zRo@rc!%wbsp|8RmGWL4#{!JH63spgSv7zQh2aoj}IOoxdt}nd7UitfH!0|T+)Lq#9 z@koh94#Z@$gS5+jp}++pkwUpBcCc1Yy|?iFnB3hWC@8U7`A%W#`USNFfx*E4DZ&UPFVDB z(-=;q3KFtfOhy7GfAMVb)@q}NK7aZS{uOx@)+x&&0OQ!m;^$yhf+*?)=56dG=l%5B z!*3`ViV9#|gVrX$C3o+tNIh0_NWlktDUi<E^c~D#*>PZ$7A#W)u^s}7L1u(= zrH$y9dVpvSqq@vjJYT%db&Z=HT_c8%l`d$JQcq!%DA8nIlJ;0a*lMxE^`k}~vsX6TvtBA!!7&=@)x*l>rJ zyyrjV3U_j#*0RH^{9+6gKyb2k1@@?AF|FX_94KfFwenjSCQhs?#+?*n!~@P1^df{3sT;9uxx|ZcVCtu6jtN#^=!*?x-kL{d^+k%3B^)W}dH+P96*0 ziSbB+QmyG4AHKygjjRR3=+Qr<8DuH5vw9Wc_DMv~wNtk7WO6D&~85j8Dt(qLiB1{+EVB zEdYL)O8y(anTYGCV)~O(ZqK==5A*9%qEAMVgE4T@`(fpM@>?jYx0aDi)L^q2z5fXn zN&BaBwCR)lP{vD>)Z0KX#3&wpn~{l_8l(XOwy)N~b`uG#Tv1OTlI7z0J$19JjSoIfJ$+bU!p_PAq`2FO%>aC1RGQ|MREzlX3fSKEuq}9y67t zHNWhw+mZzU@*#JRK7ev%pxbYfustDqx9&7m37x_?l>{~+#B?IsL^3bTsqLO@k57O+ z-4IN>+92_M{Sw>1!iI2;<#Q$&-i3SIQXk#r_ep8n+}AQQ@-+t8y+{>nhGPl8MDHrw zjn@K!6KAD|Iz+;tbtQqBCk80y|E9ZU>?0{DY0VTf25WpO^n2Iy!JYtXRHuO z@nw`ly*#@2TR+7xD3|N3D7dCjzB32vLC?AviJckpS!q6tEhU?-GEbc)Y7-VH6Rt(} z0pVlAXJFR@iU-@yIvMn%Pma6L0)+z;%q?f`x`?+NYt9spdE)<(1MaUPDYIUEr}n^T z6U8)_nh4^#{$fEmms^66Mg#uS)4jdKZou=)R3J9*#>Y`U7g(qxX1~RiTz@TH!#)y{ zwhTc#sUY35W8#*1{sQenF+Qwj2hV;}$goeKeq}U+vO%Xk+{Q_S>6A5uP{$ueEG1>2d^aQg z;VbsuBQZ)!FiUx5`qJOjaOrvWzkO4(*L^CO4tFw9@<{P-i0cJM{6pf8AQ~ZeeKg;T zL@{?B``Ge;D$M=oI>wnGxJY!@bsr_t+VH6G+3Epl(h6Y#>Ie+basqS+sNnT}$`84d z_VDh^u$Ri_5-=JmnG8P{G-$UF*n1Q6ZF@WA#hpp@@cHfQ^D4J>M-cz2eCO);f!kC5 zPw2uyRVqHU5L`6wV3LQ*#3WwKcir(XmxWMGbb#{FChZo4)S%t;`D_f zn)7|B+)6Y)tF;1$qBrlz%v>CPM*<^gL8mBAO7gX?S)Da~gjl;a1{V5dC|RWjfZz%| z-kps^)TaiZXi*CxuOkt~w6mWu-`XI;7H94;q8GJf!BVUv0?q%BJ{APiGw`5j8`BL!d5zy4IOVtoL90Fwkno#k`qrwusE~kF z-d<(@b$wGj0Ql#@l|I<7ntxeyDTA|-vjMSMaA*ATBC^U^kg+)CZM!*1IU=Jz13#sA zHl6#t16T80z^wY4M=v&z^lx?Qo{xy=LXXuQ=XCxL@57Fv`-vjL;+baCS-eaT-n*qu^X87Q+bDd;+J7V>UMqZuNxYo;yMeTi2vEd#90mnD$<^1TonwShC&uO7t74 z4R<#6;%%kSlSjL|YrnOg6JN7^ubC;)=878BnTX*1eK_LH#{qV;PZf4ekk805#k=KB zp!08&gIU>`H7$D%yHtJcD&J|JJ_RsA?B|%?M5*FLmge%$B>2L{5%&Xe&MEqOYvXP` zi}y11jeY*%;fQE5S+c;_Ni}qB_q+_un4EndrF;l(|NYrG+8?(^U)H-!zP=|e_z6AS zy}-&2)Vqt5lKN^z0&$`y-Yn%kt@~)_1%9Oiyew@8z&C8UtE{#RRH!vETmJI;Dk-Px zmEGPcUL?suN28HcZfTwisGw}}=%!Q)gTbbzlQ?iypetE`ze5I~yyx18v?Vgg$m&m- znd4EAzcqZm-r@WDoFkcW_ou*Im4EPtl~pUrz3k0xZHSvPz^@s*^~CI8EgkCneMRNM ztHs3~?NIeac^_%%ZNs9i)xho}+}RABw$MQ%=95wW{{L3gJQX%n0RF=PrLw-Q5*IvCm5oI z>>ropaM)t(AsDOk=N7>;drGHp?tX?DbW8Gc`M>KQ}@_e-Mp;J$^@5e z=&xM$x3cd%UywYQUO>>$_U3LKJQztH2$S|`p(l)CGLQa)vOu^6q3mzJWtcxkv;`Y^TK=2VpPmU4&Gm+5mhl#3yyC>a_Xt{Nnh($lpTTu2^Hj994&)iHd!R zjaZ@(K=$lBHmw}VmW{*4{Y21x#}c=XCZ12vH$iE1Z=sUaldKtelp||itGeYK)?Hku z|Med-vYg1&8LR?fet3Qs7Q1n$_eFHiq`~?YEeb%~Go#7i!UeXPeI)~5&u2vKEAO;B zdbx^2r1BH^D;2#hyFjH2t^*V`J8`;xHab|3aEpht?2zN3^(YPvmH zZYD&fv-Km%E2E=G*EBV;9Xs*SYad2AASJou6m_%+-ybM?AY2(23ru76)2MbL33T(;3A zkJeL*pZ-y@(J2ld;2zT13CBN=r^fMp~;c%eYcv-jjh_I zTYAJkkI{n?USWUtw26QfT<;)89!L1-_+6oxVb+oiP24d z0X|zGgZbChY?ziew&I-!wX70%IejkG0`$<7F{Lsek7BR{tt3AjhSXO;p=xzdN=SJl zbaJMK{W`c54p2cGGAdoqxbkKxQ=H-7cb3dYc|U)>mdWkg)9gfaPxgI*0RZN{pfA%xp-jmT_Nq30Q%!){2y_? zU%&89l$7Wu{7CK@Un$y8ncSiMBGJ8z}4Y;)bm|)-Oa((>#Il%f+Mob11m$&Tw%aPS-U>T4Q5Jt*stMRTE#@ulzqqZvK7g=`!OFRu=Opug)&Er0p_V>`dsSEzph38`fa{k#QlFW_Ma-1vg?eN_5W3u z=DRAs&x2p?&NE%1kn+AqDxPOkpT7?r<1j|;`cAAnFi~UXqG-V4s3id^ygbHTMsXe zsB{H^V*dn@;|Y@=we@6E$;pXnQz<@kxnFVg~=4j7=5@5H^z0|Z`_J9nGU z&zT;{!XB$D!3ufjH{$${YBNH5-xGaBKi!i>$i#Y3;B{qQeh>`B1jmn&uYJt`|Ae7e z%&%H?Xtxr3WQ;K146yv1*{qTpYS%SF5Fc}Z{LLYY1t|;G5FV_CroE<03 zu|jVB@jyC7tR5m$O94#}hI-8G{@-9+8%Qs3Qz+Go?N z0tK4ydk(WaHyQrTCes#V%AkWbE%tD=lgU z6U4jqv&p5$us5&y!_zm7BJ2+a>K6L%LPA-j~ zhjjdV7T8B@UjcbF`_`5a<{Wi1oXgA(D*=fJBNr-0J3`>4Pm79x{t&WQMgL#D;ZBAo zBy(`yI}BHfvhk53>b8%#Mhn-u8P;-?+3CYI4&w}m){=ad8Rj&?{X3Ud8RY(ec)|f;6#JFa<20*w%_4P0lbGsVvjcCMp5Vg9kxkc z-<0Yo@2U%ntm^l|?$eu=lbs_6g^AuXCSqyR#-TKMXi9%!l{USAW)N_jDe6=O~= z*o&X%5`W|;95?1LP(-sJvyN)dk7ncH)s-7b!_FgNOhgfA*L(f4>>Vyc<_~hq){D|W zSDCZgwF#I zNg5wkj<<^2!A@WBMV@DN&>3+vWcZMMl;u^tIMUldTYe z1vJN>wb3|VC1@t)0n1bktU|^LZ5_TIqML^C_Cj?=9~~b_MSl6) z02g(9p^Px8)X=6C0l{2a)dA#gRyvG1q+27<%T_;9_m1oC@-r4tn`mLjt$b(3_aM>u zrn}w29Z*+XADv9Y5geM8&Gzp(cq5W|Lm7R37NomZpUt=`6o|l0TFLBvw2L@d-o3L_ z6`@O4R3R3U3SW&CJ?ZtP_}225YhY=;h3%ul?(!)6G(6;OP7}p6V5Rj_{_jumyWJcQ z3O1`!(2XQmDv=xnf4XA9p-u~zDZO@Vu*=YUsP-&i9L_naL4%K+2tffha-xp^tSUHS zZ*SWO>uxN+qTaT)yGg(el^AVB+V*ReiO?N?j>i=EiBpF?J|tRv<#tsSusVB7VcF>4 zczdq-)o_VWUqSxt_X1)+XRX1v>jffahbNIKBAwiX_hH$UKh@gWlFgPDpqic>L+EJ1<;;~CG`%uWDNQdi>_qFx58{EowScXCi5j^tJ9GQ{4T|p zc#H4u7Qcm;095im2MrQD6{O~lAGjLuFOpRP@`Yc(-gI7{E$wb@&h*IoyXUrv7Gl04%2$1u<( z*{RidpKe;tDSm3RIW(!l_;3CtF(Djfr;1Tf8q;P{uH|oCTQ04QbMI%w1Bpepf8}v; zuN*fMqbVZ#O5c64g^!Q0m@)McQ~|4&fGsz`Y>>aR|Oko&KWX`m(Tu}2Se9O!NR zbUqIjKzMKKuZNl37YCJ)OW%+Wa-53k{!5wpC<14P)uAENy?bH+h##-?IMRQUv>}it zIONF}Ke*@%A91?OPsHi(aiw*Pz8xfPeU#!M|EGiz_Gp2e^tDN_Q?+@WdrOc?7vadK zGSxY0q6$`BN-meW|7mTAe(PRKW2Qz98d!GAZUtefB>9B57fMEoFlBw_Q+#DPUPpO@ zob#8?VB?Z~2vvT^AyRqVd1?KsXmSTN;<%wISC%VM`w)ygjfPzOy?rJs~A~n_d z%dOqJ-bAKs64MjU=={sy2V=ktr8^>A>Y0_-E7bi?BWEqaMxGpH+!z&LY3Lzu9g{oar;xwt4f$?@8ON6CuLTV2 z?(26*l`QAH^O=3YW;58SShfDbFnE`BIrAIV>Iz)HT@aJ8_svgO5J~5P6->hw{uu+# za=SKE-G?-xIp2urmGU`*P;veBAn?_X)X0Tc^6X$!L4T=x=gm|7_-u2s%;zR`@zEtP zQxOG~LQgOP1+QbU`VMYW+GMWudvK+X3$qt|3Yn6jJT~+V`>wC|diEc8_fRwp8(H}( zqpbO`c(wooc%N=9Hu329mRGK4%M~6hJoI>v*HTYY`Nv2Z94jm9X<t67j|gmVDC4JyCBa{Na4J7$^y;t zSY<2|IvotwGD|T?KF2Gx{m{4aM*}&M-8wpnwSs0E zl(|&M4F01T+G6*K7(Bd9IsJfk&^9<*YoOJs1rEp?kKx>WuY9Lb_W=)Y9jCZzqlhC- z`epx?1^P7qWn$te7Y!)3#%4B-9&W7~Gj)xG3T|YfAD=YSTJvMAKcIunFk_$g$P_K< zfG2yd{p9{Xd#~t;c2GSHW5iM@-rECBC6OqPbniR@3tsu$cVp6H$K>z@&zPht(e3Rx!CpM{extIq*!B5kU-{WYT zezUW@d2r@}l3YgU+mPMfTj?~H)4~ipy|2=(Kj)yI|J|61v6WBHEOEMa#j9^S6{~lumiP6aB6%Dz+cR^@4BC*;ya9@F?iw zQ!drF9s0(c4y@~tR{N$kZ$5QA^_81&x8~6+6L!Acq(}?HO~97~K$h;`Rxg~kc0No2 zJDiPG{|y$&yQ%(*K07XK#hq)d{rbHFkgT^=g<-YR*ejo@2x5iYzvZ}J9dn9BFA&l) zo~%r#%e53s5$n0adK^LzN99w;A6XwZPPRyh4yA?5T$3buCo4VNsc2@%b~j5svd5!i zE(mMf0iA?4fta4lCj}cb!7^ca zUnLM#0OG+z^znXcy5eY{Q(F8Lbu#j@=1MPq!^Al= ziAm4Vd6X}UR^NZ897h(>rM_bQ%EmUM&(VuruTkG<-ZRJTV42fmkV@*h8EU**9+`eF znD8aMs4dRP4LQwq@j_$sh1U=%iSl>Sf0bi%1KhF{apbJvo1X znk6?_*|{xDIi=#;gM&t_p2NY=7+A?*Oe;TiNCd_ z3d>JI57T^z8;;3$w$$NQ3$NY}txac$7{G}oM+uov zwbxy>TK5dV#kW>(8Wf6t29gnJf6KhHARfUOx&A|8yoEJa4cKck(w)^|HzX|;Ih(H! z7219rW&fcW{oTSbCKUJCuNM-koYZ4?9=N!gB|4<|B0DXhk{^@m6rJMFSCZu)#a=93 zxf(>v0Yw6}dbcO8JtK2DNTOs|jp&V%q5_O`y_%xMs8Spe* zPNE2O`J#K8jb6@YAAA4n`I2@&k-H6jdAkLJw0~+d3;L!N9<Jg6%`{qBX4(MxM@^K} zBj4RoiJcLhUO(PyEspam-zD^)r8=gvmi}&&c3-Q*x90CjQoOtD=G--$_G;wayCgH3 z8o5x#P<6sBp5oRijsHv{5X~bF+kSeBQxVATR_wKVWV#yGw)nafqh0rJahREc5_e`;uL zfSn~^yH%_Jbnmgb0C{_hy(i;PBv;srj17A}E!#o%Z{xcc>pbQ*%iAV_pDPl3jo4Ec zg5$|f_(b0q`N#G0xVlz_9mBqclk2`*_LX@O25erZr>dXugF*Np`cpMxKBS5JO=g>= zdnomNWE$3~&G&s~f{33C2TF?VUs?%zmaB-BEKZ=#K6J!U9p!TQ+C`YI<8I-Z}N**Ko3V} zVu-*pxND|H8B4)K;ArqjOlYh20!WJ%oQw{no>tyVk=m2GB0%3ILPa$eM9Y3Xp0YCm zMJ;{~B_NpuFoTbv+(P0jzx7=-2M2Zq$p(gwbb9HCR zcYMN8KlMAS^rz`hX?6RGTwNHq>S*O-F6g#crRePfOEpcrM49G7R)jQM0VUE#m_M31 zz>$^L9QW;mQh{cST~yu;bd$5By+AvVL!s%I{WQ=oB{=5Ly5kKZ3hpThT>L5T#o)yT z)Tx7J?;o)4a)+*D##b>pY*Pp%idtk@H)7`E%oqU&2E#)Co5jOm58EM?6Oy;Zh#qRg z5;*-*r-Bw^+`~-|%~17DPZzE?Vc27$nx)Lsu^a;${p(fYO@ou0Mfadok#1tE1mHuZ z0H4jk$eEEfTHV(Ze>^HlM>xI~-6e%jxD&l^C=a7Se^=bSk2kj-B^-@ zQud3_6qt5BU1Op}kU}_|HqA6hA8XyRE(pTivJQ+=QbQbn|8)+_-+?Z>FfXQT*Qs~Y z55|O-ST&iv%6VYve_p|_vtP{!mX@1PXrL3|xg`PwGbsJZ?r)e7V}Cgss`!)rNg=pT z*E&uo}kQzSu;ZCI<19zXCQES(%cED3ywq~`R0PYmJ+)jNje81@Cq z2>Qy6a3|63v%Tc64iH zJil&P0B?}r3RC?xo;1ePtw<-}s%bSD`9-sqh0Ud_i0sitp-<>_@UPYUb><-!px(u;M^7>g9&${QC)fPuFfE<^3c~#5;^4vmlg=ewql;D#ZVA zAGoaBl@!J%T0gY9wm1Eqlc|B_CGMJ6>SZI*Y#fq@^-6U|;S6wqj0(E%Z}NU6Md?+lkq*q;_hh= z&c3Z;q%R}F?(!<9Rb|-o$C4}nl?!02sF%x#OxRgp#SZkTWKYI6SN_Pq*M6tyY^MdX zcnv&fy8PAP^BKSVb_;`ou}Ys;P&U*S>$Q$21ippeq5n||Y*dDQwc4}>NF%#bazUZbl0-`@_vIm&zwr9V&O5R?gP(Os%ULu)5e^@pqY#y0@3h zHDXz|^&!~FACBcZ;TZ~6HI+s1C(DHznTlcF3=?TD9G~* zXmg+7{%n<9>1Omx6H?llPhE4R(@kxF5u{w?(+l{2dWeD)r#8?+4uZ2}!Cpvf6JdB*GY3By zF>wX?=vG^ZWuu?G+4-{psqys=nJAE+bUTBz4#6tO1w-c32Qy8;Wq~yNGL!5ka|&Im zjfP$=@Qjti$!J(BYZU^b+yn2Fc*>}$x91%o73SsD9`*#g4#*A0&}}<-Oe0)8<#~Cp zS-5Xmn($;)&U85TjRONy$j;;vUM}O&vxTv-+hs49DC^itVx#|Wy&$fP@zGaToOSx~ zXN^LfpICN(F>_E^5GZVYNan55jXs$iP&zU67b< zOW>FjU>)%U{-GCnkRMc4)*@3PDvrU}5ntk2dVx}=Mvht#QgBMl|f}pejvZ&T{CV42F&R%VP_j7 zQS8xZhiHA}zT)yCkQ}JDQc}*4Kqtlj4fGQecy%&Ml?MWd@Y#TPOK{P%7t{Iq6(Ckd zR90wG);b+YUTzRkFowCbxYS0RD!M@;Uq8Guj>tfM9InStXE~mPopi;I*XKwK(EUZY z`2WU!?QXr2W)Xg;-0**!yoE$oea@~VJq?&2aR+k`fxo1uuVP$|mV7~>k?E00;N(yX zVzN~Cs;JlNAjr3nEKA{a>`mh3?XGM5`rH<`Ux+D11KZUQYDxC^fQ0UB+V2rTT^0TFBhz4B>T9plunmqSQ{l6K>-Hhs~-f0yJ%P(5LAyz z5)&*A6fslHT{ajbg{tEMpIJ>}CscQ|tfc}Tga|kPbhA+7xDnrbs$dUjy}74WeM610 z>Za}a61T_G;93}B00#DwHCYWyZXas*C;EPNRq0Z-I11=jO-kWF`FpG)>fe+IQQpsX zZ6`djUYlO_rwhz3A*f24a|XjWu6jR9N17R^t3m6s6%kIc`^8mubEJ>h$+S$0y3<^PpuTTt0mg`iH*XdgUS`&G5=TUR0#o`e|{}y~AW} z2#zo0D`ql9n9l7#u-{>Y_#mkoz{&}H89{8JHAZ<6bk20)c~5>@M+7JADv-hEEwNlSzAI&z)p}e-p})C$_11Ow(abS_X+XaZE>M z$XjQlt0ZSxbgZGsA06M{V|!YyJC0OfnCu)sgN)EqnWNGKrxu$XGi#^7d0@ijyf(X? z#&T6hHn5_@!wfk_d7!I6I@V6+Dw!E}D8bVn4gx-QGanwmiuNx^7!flT|4f#M*~*y} z7>oxXumL_lQ5~AgAcZEl_}8MG7OmkXg6Roq*S_1wUpA{B`}XnOT)eDWt$_FU2cK-u z#v*37YF8%9;LPn_Fa5qqsHl@QITg=1InZJIT$nP6&3u!5HUX=^F*WeWr$kE$lXYGG z!T+~i;G!tP`C$U;x%ghMs>TsVy7`z@U&)I?CH?N;^@jP90{1^vFfk`6oDcCMDKW^w z<_DJ(ys8mb;`8vQ`t+NtDCaDX;t%Vw5&{}Qg*^Q{J?K;4?%iu2q~fv0tvVa<;;$)g zliPvb9w}{7Y2s8pG05zT^!_GF8RgGJjnO-PM-4*cJX(|moOoiwR0F>NABFOzpNmfW z1sX#e(&7-NZML}5I#k$*a!dItrl$W4$<^kxgR9(i@Vef$m9z7bB?-Y+1VV;szbX49Pjwit*lH6u9kTGL@d!Y;=;^ z84jEY@vvbGzfaOfW(}tn&~pb&Hu1ev7H)reZwXVbS&R?s`ke z`Lh?m?%?k#`;p}o3DHedW)dV@D22mJkErLgiFnwi>w0QY-5D!s>{8s22-f$m2-77F z51?TMjIfQs`9-yNAqC$lf;}#c@tFzHx0FkwnSsH({}f&*RpbN-PUUUN@TTpuV1YhJ z%it=Z`KWg~n9nk15SpC4aVY79Y&Zfq&iFTbkpf6=){c0_&|hxWTIZZp|?nii|<8zE@Y*| zEdAw_dLfIaSM`nQ_*O%KSq0pDR3{zdHCbTXHxD)^Y9gdkMZ8H+6dWvI+_8>nxkRRi~3T~Wp-Jh-Yc;_Y!EdFqI`NBXe z8Rb3Cnu492fvPkFhPYi9y=~J>u<;YTn_xLnFHv^`V)8^^0I#Y)P78Pvb96WI`5oBN zNiI|2&1{hm_KX;Qgv+K=TwhV7mzXfECtkxNopQe!=^vWWyL+N2oyL{`r=|K<{yL2Q znh#nAl_lmEg=b1Pj_ng$hcUk&7Ze{?=&)=FuuPTj1FKM~gK!#OY&ig7^+g(k{L{N< z|Lha{+WP+PzOU8z0SE#zA!rT-9L(a(m#sgY8~8{@eeN-lFT+Q>r2sKeH(zyH@UJ*U zcQ=2f9CKO@46`=g3#h+GuJ4kQsPBZJ7gHR{zAJ}Q9$mWEpczNN?MiiEM7gNxi>AK4 z@TlCF)$FKGAj{>=iAf<9hgYDL6rf3SoZNla1Rc{G-_UZuaa+26Kit^@hPf&NGoPPP zJr8emHljfrf2inSFELQuGD7kn?`}2U#Mrt`UyqA}5F8k=0Cg~~T!X0sC$3%u6Q~FG zXdzcu>M73;&GwW-f(T~&ik%J6D$Qfpwi?u^6U-+7NVc#9+^buj7*}8arqk8FfJBD^ z`|te%=F7y*!tZ&z@+*k-o>|!nf9jMVr8=7=b#JH#ls`74WmOegH=?D3a}L_<7I7qI zgj`0T(Ma!29x;bc(SL4V$$zIBwrRN~WCg-;5C)}*R%I9IBBD;*V*Tr2mw!V1|GpF$ z!+uQL%JPFri3m4(B}Jdbde+CaVgL3#6$WGg+XH_<)Qa@)-97tBO0)N^r#!|GE;po# z!)b4n*f~)LT{^>`@|E<)@o?8e@h69bOsV^BLm;|R=@kC=YU_MF#xx}706I|{lU{$n z*och%RVXa(;zt{sok{Ar@dg*dzNi%S@6{446D6>sK3XdCO&Uw>aH%dU^i~D%!kaSz zi*?pdzpTmVe9gTF3Ik|uBQn-R)Y&3#;uc(-R*(JXwNg$hlYIEvau&u|{?<%9l$k;N(OxMf^RFU7bw*GjIYNYq7beZ&eG6I*?K(+=OA)e^$tkJDdGZ9vt_mO;6`{e*j8ULPGFm_naAju2i;J)Py~!it{NJ7y`Yk(% zi1hyxv>hy^@6IWO1WQea6JF_G+~PKV73+)>We7a8lKN{B+g;S1AKuqI%-;2!S_Z6c zdvMMgjdxOKjUVz=h8OXo{uY&?VG!VFoN0Lu299FEuw>wh5I`Pr`>jXI-n^cFuh9w!TchOKPssy4Ovb;yKb>nbtkGqPf^yHU&Kht(5^!M$ViYHBUH7XE z9|;k%+$haLdRFa;nkMP=M3@~#{HH)6Oy9Em4+SRW|DB@uh@d$RAlF_pV9C(2vvPRK zG_PyqiYtfy&E|RGxc^42`k~yUS6-tzQS{}hgP;y4zF0erC%XT^EI7o0tE+3>werpH zh(U{@Wlw4Q;L`ToUyJfXf;oRsCYJ%XPC}i>piS@h{AlOZYtf&Bs?F`Q$~W@!*)VuxaDk`UXVSn_u(H|X`5rg!S*Q5iWl3H&xKb5G)uZR zivOgrfm=u}j0N(O#AJ*#Z8^62uv-Q$h8H2q4@a;>5~%+OQHxkvdDIPrft6lD4U7P-5W zq*cAQuEciwNhS#R%)Jz6>qKE#ZP{3~mr8)aZ5l8fNUlEZ4f(4NDNWZ|EjkQ`ev;I~HM7&ONpyi}-eLZrtdUxd)&@99n zSMfo0%;|OAhMLJbxm_WG^w3+m5X-Iu+X@?z3VvD5Ke-Dx?XAP{Dsp@rUoB`#zgyf< zgv)EcJnI5U`zGhI?<&=&abEqTg=*F%?R;13e^v9`_D5EvdI!R5F>z}q=6rjWt*cLdfB z4T3csqYz18C^VQLR%3o~Xv{Yrd9(LV+ zBc>Cx5FC(?%jSgvHQ`6{n${{B!HXu2KrK!LcKLhiQ%Ct;k z3FZuNmFOqwkk3qR)i}}71@Q={g$f~gpzv%A#Mncqxz-GcWu-pLRrW;p8aS$oPiV53;_`qr6z3=fSp4%I!S0S#5Sw4&Y_N((C)hvj6Qzh-)DpkOCu6QAx0%sM`GZ zmAe0utI#Y+UCpqI;mSN%Y9h$^u?OUC2pZJ=O_7XQ(l*vLG8McAM4p{xhh?FCn`mxXnBnyb6vR z5eD!OpQq?uMC##hkm#=~t94b;Sa2qF9L1{;Mi%UBD|Y>w-1Q?fS3l*WC#0}=V0Uo? zt!-pVQL9VgzSQ0*em7y2{I$~Du0ys2YvnXl|0Z$Ncv=|vHDs1w?jw50L~-Iyg`FLK z*mruNhIr!o^euSpw}pJHo4v@VCBW8bcsR$%0^Z!>_)3eD7+@}|TkZIo08H7r_7E!+ zf=81UU-qC~9B|z3Lyx4RqQZUKo=_>g14-N{)zd|y>Qv~yYD7VsN$3U0(v6ng6YWH< z-M-^HX~nZ6os52^>sWlPHEE+n22>*Qjwi*VKJuBdp33s&>tPJ@*%a&-to zh|Gje%<&(``ns$Y7i>>nP}NOa3j<<;ea1xIH-qjj(oWJKeBiy8=t-(%_T30xV>dQT zEu^uq8Gf*IMI^5gac{sqQ=fq&v%(O99zIWmJ(;()4VFp8(jPm3^f?w-k{cVM^Qi8&OPju;DxirSi7;#FPuTKd6VLsMq zi?_j9hqP(K{JvZ?qP-A2*X0c19S3zmQI%vpyEb2*8zP=x_mj06-L=%7=-{V{3EmH5 zeWk4+UcPiO`Y|;;;k5>{=O=W)^LJP-(={NI7~v%&9o=AK<6sGtE2teW`@|C%^rU~H^mt}y`svZ8Ts$S{m=7Y(Nh9MZ4;#2M$-Di zFneQf{7Xi&L@Z{D;8c?%;Q9f#mVJ2wzm46;q(Wic)ZvZdO&jwfilxQ7Rd0*JZ^m~W zB~a?f_V=MT%zUzsl%ep++Z?#;YK9KLZ3x4}P&{cA+!85(ymdyZ{&1hRnP;tgy2S6G z_i%Gu&AW7w!)DL^6%;=id?^H3O$1iWuz|bK16n`?x6Jp?YlAv`%tLIzW8!opf_1*~ z5DeC=o!~1Lf1W7_P&%oIAG`8}O zoL5h=u>m};xCBeZMbDFyQ*wJr{O_CDNoM_sG1b^eFWa}7IigvCzW^^VuwCUGr}1NidwWJ{C42?H1|a;u`l3NtUxOc6csqrgffM(r!T&zyO@)pO@;CSxRj(P8>fc%(rUHzze#bK{tc(g zj`}?JM;r3sSN*kM20Dw}ch(F^gy)J%6>c~{zmVOmxIig8VDt-M#lc|%K6-XuP-gr? zkdi%Mod4&`muCc{PvouEtk&6|)f7fGnWU1|MYOG@TD*&sUW{aNmGVljaeeUfdG486 zV3bM(<^Sj-4OuQ_xwdzCR9XZw<_f3FrNj$08tIh^_W08QT;%a80#5%JI=3p zyrdBH?e{}XOseCB1WqK{@4t@66#{vvb7yhh-ZXbxPE`Otw!2sXI*Sf=F=g8B#4zRn zTzKN&l!qA%GdBh7_)m%aaKs1mzM4+zMspdwxZa}^tt_?xxbd~Xh_7nI1DQ|pfRB_- zN1ZQa5K-jyTwYbLuz)#|O&!oTklfuVe@&`SYXG5V_dGWcukof|s$`QXBHnIu!^MR2 z+=K3ZlNLG&>?VR4SrO3z(o?FO-Ce1#+1&Ql{mF4XzG5ACsOw(6?9gw&=PT=-upQh| z*`HRI1#UP{NS<;E*-7qU3gKUC{+i?vZd0i3!6dAM=2K9`OG4o+E!zfiPw#guD?b8V zOFq35&T_9I5=r@S;M0fo$Z=;DhsHJmktdD->tjH&S}qKLfJm)mm0MUpo@0RTJXW$_ zrMuta`+P*8c)%haFz%=;Sd}FiYuYo9X#pU(r_6;3Nvg;FUvhJBxM@*;S)?}m0p_n@ z!3wr+B0TK#uys1C4y;ac=RfQ{+HMruA#L!_{~NNXl0X)~Vb@kPTWew$^Ucb1e2+%Z$!)Q!1tJcx>O%m8I4Xm-yWip}V#I@=sJqU!ryM=gYl@ z#0)Y5Kz`mci5GMaUaUARf|)Z>6F%D2(@JSBKlR?kp)5D9wNnZYhAteM*935lecaYb zq%cKa1S}3=jD-an>@-;fr7x8I>6T6%)x8B&G_LVU01yJ2yh;NRsEO2ySXDNt>jf1t z<9_@rb(_u&n8_b;=>f(oIOUf6o+<(~#zr+vGA(!}h5uSzJ(d-;N!F)=M+CA|0f2hz z-L7RI+kj0a-F~;1BF4*C1zgv-upRncOBE83+k;o}H<9oQYO+Qo_`ZZ zm453hLhi;YW!B-1gG#%PbO~fh}z!TkRw;MA#0N#W(s~99S&s6Ir{v4N(R57I-QccHs(qA0P*r8Igqt z$SN6g$Z)rcS4aS?OrPCJ9Ad)oTPkUAfc7d^2Rdf!wRXLO-$=czk9%na2yHvr*?U*# zpLmC#LVGC{a$o+%c`<>|__T_(*^q2vv!96lOK73}tGeXdxp1bUCN|kOtds zwxAktJOY(rkKJ@X_wy`p^ac*N5mT}h8&X!o6M z&FV=?T7>L5NWT;lMLuE&b>??uVvOl*pc;Dn z*+>l>FejcZqdo?1<#LePD}5|rV?mqL#r=VGjduXsB^&^FF>M)?aLl>WNTdKogNo=) z6!=E+o|bC+XK*%7FxjFg zh$+VB)ni*j$<;vnOW8ZEhV>k0dIyOSwzj5mY=9L@sWh7ls z-48!(j=Fs^BaOcliV%HLAQ!{$0P?H|ophv`R9m|cP`05vE)ReHD?ql7?AFB!3A`a z3Su2xd`4TVszD0jmnu}O>;P-I?4Toi1b$Vne0So`K7csyqB6s83Xz;*Z2n2;J#m>~ zi-Eg8w8_dLw;6H5@Vd7q%b3F?#6eZ<;(WcKUi9Ea;K0oo(EHbqg9pYztynz1P@-M)vdFWu@x-!+Gsj*eOJ z`ap8EA{z~?rk|VQ9>LV5aI-NxzIDlGF%!PG^1I7mP+L~qu{Xs(q=fc$Lv+CLn{~8W zTAGoL?0PBgNQ-L$EwFtLvD=_zjDD!o==u>VU1@l4C6v#2_A?Hjun^rn^1i7vx&a?B z(hb@jJJ4wcaP89}%%eA~JF@M;KbKZg#)7+1_XcCi-9pgkL8duWm2aH?V84MWlWVwk=)% zV-y&Xw|!FBdihA=iN8O*9ZVR6XFXPDbXnY4V_pkSmmdXIaV2fK3>>da)zLWa(lWYK zFD{|JE!1G|S5K|wo%e1I^EXaEekjz39g&Fv*j4fmALyKrYivkBj~D=h7BS*|Df6E% z12X$m>?eCP#2sILw$ti}3E@t51uHUtmPg_c;IiU_Yf~>JFk~jAX?j01;1>$xPW6~8 z4N}N|p)yyM2&2H16tG|cj4c3($~>IV_ZV&l?HE2r)fuB(BU40KIbWIR_TG~$#ZGTt zmAXePjwY1RtM9+bNm9I7PF#PIR>ulx@rq=YCXmeae_VZY?`W+fV|aVtXiK7Uy_1sN z_n^i00u;y*q}bHmS@(K`x;{OFTA|KiwQLgpw#YwnBkf;R;fM|RTl>Yd&rJuDXCrkZ zsxl753QH*jbmKr{dEDyez)4ou$@mIg7`%w_Xvj89{QTlXi@Q2Zp`tA!fWqpe-T^40 zX;?B(v2y^Q{tImDy}%>|NR6cb4x9`fnRvLwDc>~5I{&*C#|?3O5_>F(yqE78@4n(d*2%w8|A%uWRh2lRf@&TAFcAktcSJCE~imGnQQL8++<5iNR`@8||? zbY36YLcxh|Tq&uWeH-r3r2 zQU5Q5Z@!ceAh!=g3CwOe$hHG9ise0u_WxMsrcNEZO!eGe&3-HB8cI>&oo2g6U%Nh_ zwWrX{8#@ zqK`GAmXK)57&uD-u9!+|SJz_?o+$MDGxB5r8A`cJgNLYOj1F z5g#$`i_f^B_Mb8eo9%`x(=oMVAYo=-jRVD0MS~AUgrDqK)*fMq6ty8?d=5f3&j|N6 z)XAD35cNo17gN$Omi~3RHU%b)jaj{D&G`O~H+5b0{N(srBwgyy z4BCnqcnKuN&ZmI1purlUR&C6~h?&RLUv(@&2rC&ONM>X(M48F~z?}{PLi(QL>PSRv z+r?r4`e~^V;(Jr|J&FpgtGcni4L>!xJec~5OikkmF}1Ke&EfssXpK9M>j_v?-z7Pb zcw~=aqoH0#^%5Y%RNaT1q}r?s%zcw_p`F=wjXg*3NW=VZ)oyVwl-p-BIv69_}KOLFq-nYh?|-Z7kSIdV>P zCPq#;&Hpy(?(u*-3V`(}a8lBb3&whFgqL;LU;pL?7{4%H2v~fIsCYUPZuhIvvbk() ztw$37OEv2wJ%*&I*F<6Q`DaUM9DzkB zh1wMjA%JVx7kfnz15+V7@iYX$x5y<)6;OEVh91($*3nz9 z8}Ci2=R$Bz?a0> zFHX>l_vB^D75`cdr@x@@pQEF#6$^>jBDrBN%xVO{AmJ=RYr&V&Ptwze#RNN^aB*pf zc1U+Wsn?ftsOkVYxV(^f>JS!TiPvFXN6k??YAZD1fd2dC^VZ)FogDXq8#NK!24_QZ)#|Sezda1RbrTUQ0qw~n$NghbDge&Mmpwvm@ zt<+5$Ndhi~ulUJ2N$0T{2ZoRNt+Q|AFtwap5c+q;)ZrHj=LKIWM+PQn6207E7t{?1 zaG-0y?JD85(YWgU?-1G^+mh*boIJ2BjmHN0*Bf0W>M-S2UT1DRQ^0Vp>r3T!4Gq9&V~Ib z84T;sI&yLBF;*%&b~&r}lR|-e%w6?tc``W-c%bV$k;}XO#cJ@E*vmA&d%;RU@=+NM zn+5qkeKcj|7TnINEfE(BAiBDZ|MY!_;76L&Srz^Gye<}GJyuNWR_SHi7RBi7k;m#q zr(6X6N0zvOoBB)M!s_MFMLbk61Z(cv&}FvQ|3=frlp4_gjLhSy1X#a)W+YBo#dFRH z-q$lHJ=q5{rsu?b4aPriw0ygtt$nj38zj}5-QPMUtmH-eM+NqPswB_ z&EdVi0K=1W2ouCMq(DWXplan$4aLAYWL5A%j>qRIn3OKSU?#5$9XaxxujA9>a%H9? z?e<7b+yKhZt}7A&Cr6;2u}<1~*^J-3-OlvUbNqGh*Yfj+_4j z-`0CgnVkhj0Z*rZyG-xPT8-72h!SCwY*181Qae3s+a>Y3{NCdOt^($8Y;;4u=qT%$iner$T#8J zWZ~v3n4i$?G?FY)CB*VytcM_v0Mh-Xw8vev8+beLF1|{0#&v4u-P!}q3EG+PMw44+ z8~qB&(vSKu%WPqak428}g5F~E+Z=e=n#dGbqo+`4Lc+wm9a(H6rGQ~l8`GXjhML9k z(siROlO#+U6B%%7h40UXsh(lX8}@WrMfi;;9-vY=3!l*{s&Azc6d4doh55bCH z;fd(o(lGD76+0y`+7ky|T}eKM{yEb3KEm1w^|_B^CZ62GNf1Mj1t;+Q0oB2SePor=;2?Fh?A!0K>ozTI&ei@aL5_JqTeKga zoGaihi)kjrwdp$)WPUYBT}p=Ja)gSz+|kt`@xJPmtT>8gz4pS-M|-k{-6hVV|JYvZ z9za*$tf?Pni2ByEtjr>Uz>QoQ0s@?$(Aqgr;n(U9ZFBow>VxfP>=O5SEHkJZLO=2~ zv}?o}TK#5J7k23`#FG$41q_h9FoZ?@Z6~NudYZoBTmPlBG~ejC;$P}Q;e5%+3{nM! zp%+`PgTJTdFh)xthl_5>k?X9s*dCIOdS+AGyMNdi93g){(Q)kG2z`C=mIAX&I)Cjt z=7RP~9=6!S*pc(PDo=L6MRglv2Kt%2k;N}c8MI5i^(Vo1cLgDNgI>cw(jg>cFYnnl ziATp!of|CMnDIL-j%drWhx@>*(LrNheMqPJEE+Ln}DIE5)4PJSExvRc+pe?{eg10i*&{IJhdUQ~+x> zP*D(@K63QY7f8|qkV;5z8nn}fJ$kOK#$|f#ywjJ`Iu=`(@=P`2KKL!NqfnEdzq9j` z^rC6*isJX4CX64OG-Bv7%>TxAgdVQbj*bv~q(mt5L+77pNc97YkU2LSNakzh{Scn_ z{ovCz5`#eYDwWrlPag_8?k-kPRu0y(H&Q3_YQDx)L{(JX1B)kX>Y(o+GJDS;m;5yx zm|5jxwso)2ALaW_QiIPXlQPgr;wQ)Q-hhsth zj>37?Y}!o%X-wtD;FP>MZ~xmr&Jv#ENN19)a4B4_{ zI1+ah={tXK*)RLTCFx&3?V1VJ-(f2;?8p+Ep|dRub+*G63$BIdnx*#IBs|BR;3i?C zEr~l|$MU1~t(6zB7}{(2|3_o>OG8J7zs0k}oI~*z9?qjhnT+oxny>KKfKzig$^o7m zh8>$HMidoeEwmCE8fJy$2!9ev4-KnF%Qdk0q9JYgA^|q)p`!D*z2D&z_oL_Nasm_v zp#U&P_Freu(L>wv$*>p={~i{TgoJi@q{{RVt?C$x@qJW~wpG65UF_vI<(O0QtA28D zy(_lHSRn^s3nNvQ(AdvG2;dAlsr@XaS+DxDcz9i9Vq{F8(QraFFfjO_)NUi-uWbY8Q|0tzQ90-Eq8Tf{@D zW+dr%js5AHM5O-rI~RAYo8W-FBl!)@QN+qxi_&}w=5;YZYj_q{r2WWF1-T3hA;)X> zPfFfvu|;2&f~C!{$dv;9w{Fz0kZKD@WbhFC!i#C2lI{`P5}%rL~%gGyn8 zrr+cBmb=W;8Y^l8T56(AG63_E=Rmn%T9FUx+hh_sgr3h%W0H7sZi*Ywcx+*!w17T6 zZ&~Zd*_qyCW=z35L{%Z11BD#H0NW1B!!8N7%SwOJ*se#i*3h87KDPISPgy0jf|vKQ zvy)}Tsnan}Kddr{R3@lO>s8A(nM`UUnkzN+P%=Q8BP3=0 zu$Bs^I9w#Svz)f?u60P_t4p7|w42L>>Ics!j3<^5(-8Rs*}}4byd|yx=w7U*@_r0s z*%hV+eA2aa1uDA@wW$bm0G^y5_mG?gK_X`pCXWTb*sNuQU%gqArnt-ESu($?q>%?> zoaTh|MQ(9=ySVbCp4m^lU=|szR^&8T5lb`#e~9BM##rQZ0U_Rsj^ zR61@@nlkZwN(%CRBbA0CiSVi>s---YTVgpz}ZJk z@+COV{li<*JN89%ucPQ)!kZhg!omvm{m#USWgr?T!~-gbWOM~uDl-Dnm#VM5J?%-~ zU|8={j1L}m3lyzk{LYE}USO6LmK&;EjfE&%RHWec+MZoZC+6ApU)+ECH6U9KgXE$j+tN z;r6rODRDxw5_o_sJ^WVreiFf3{UCOsG-%4-DdOz(6U8NA`U&d3$s&QSR|Be8V3-JC z81^Bb?quAAl-T2x__Mk?!|C~|%rG6TpxRtu>@jY(uABxWV9pOJV3lW{02_K&wZE%v zeV9Pp`CK+3ZlZ_o1=+cP)^ zTU^$IZC2fLNiO>r1?u3#w<5wG!aso3K-n!knk%>?ji3KaXxBr&d+EQ|W$$>$VJsUK z!pT&rYn{PfV#ej^)&}c?+#xn#PyNrj_WnWivghMA=5Yr#Z@qQ z{0tPI_OrFSZhMS3r_3(-#+_mTRi0mB5r2)&VG&-#A+>{=G@jttp@08D)d|OVGiHHa ze;QIPU0ePzy&98EsmD)kW^FO??>6oEw^nqRyw;yZrZbESd8Uk+vF9Ljd9Z%&*?4Gp zn>EyEu{4KgkxcZ*vZBYJ!D8y(HUCExTBy@*_7O{^ZS>-}_y||(Qn?z@=X(|gA7bB9g8NSBBzIG-|_Xp9Z$*>@Djn%ZOmw2SBpg)p(Sj02vea8(CNwy_=iiRsSb@gVQE%VnN zbMjjH-}*mz6?>yMs=5J_(GZV!nHT4}&s;W$h*I`tG^8zjb??s`q2$0tbkDzR<2Yc| z#S9Cs)@~=__mAw2w;Pul5q}{M=``*b-SQFNjwuJ-X9=dC?2dZYv^JZpJ}tL{Lv5@yKzPyW=%Ub+2fdW;6w6Xt@Iga?75F} z+fd$sR+_ZlQ}GGpc^$oE0J@@Y+h&`_{pEk9W+F_m)Y%?_tNp7lxDT2I4=Y4iDw)ep z`;Xejry^>0P)ci|&4&LUhq${hs(gUsNDpzvJVv4Z<>!M1Q|B$)-fB9nOxLybhQpvr zb!xNE5E&3f9q-gYic5MiG=5F#^ZH%RRl3(*Af1`qrl0GX&|*OH0b*Q2SDbX?`sIP= z8Sb;E6G9<dPI*jB{H-ZCARCgcmnekJHPBbzc&*LCU%EkYw}+TnUd-?n>DQ0Qlz~Q3WUo2a%ZTmyRi;>qpSL9;p}LM2Wi+4dWNw< zTv)EBRGGu>U&U;296c4;`RKdBlVpr9=G8{{y$M=Q?WSq6FX4`Vv4QWDY=6iv39e^? zZO`*ejLEjz9NT_W(lJx*jzBC>*!U}k?-xELlE3aEuDBoMytx|Ydp#0V+e-LAcF{16 zT#4`gb%_hG(GhWHe+c11E*hV_NyfK=Bfv6D+A?)UAbv_Vu2D5g%#O$%0%NFfVzQGa zLpYpS_sM9zM~5XnqlrW1Tb%hdXsVrA3G3j`aaAwV8l3AM`#bH5TUBkK);tL}BQM*J zrDN;+89#RpdQ6Y0VyT7Thwc35r2CWP_!2aSm! z2K20!w^dvYgq5C|US*;tE!31FtqdD#^0&e#bVHzGtgmYQCp!Gd`;x;n6T@X}uAbA- zz>&!gZr>(9Xg~@buLB{i*SU-h!qkr*j}d^hF(N(@&#l@>aG!M9TOv$edOKyu)2`7O zJ)9~YV-SaL_tpee_nx8v4JPdSZaepYy7oIw6`fS-RaNV;-!rjI95wuabTgH`ZS2V7 z>l8WqSC$Q}e(lHpS^Xtr9A%z^#46%{{Nn%3F{`Cqt6RQR_>`+ z;L&^LU{Y1`8AO`iks3e2;l~I-L;!rIkG~gmKC0|{?93Txt4TdgBPofb4WI39P2x=I z`xEUh+_CDH`VNL(ci+1Je}AF}N5E%v)AMgu{Mk_LpVbq?oTCWB7jR)2p7oYl_=LkK z0DGxctwN<-4txQc>pu?RMCVSs1K8!-vI5PAV+)%l=Mb1jr$q>c>9FAiiOoNd8~{u` zC;qzw?adRd-jEw*avz~!ovZKiO_pZg9eiUcEdLzqvA>&igj^D-Q zRk-YyEhT$@2F<^VW~X3Zy^40YKb(&>y@dFY5D315&is)H;Dqmse2*N@-=A##6HAM* zs?vP*2|evkA*sfrEy|MS*bSZ-Hssz$2Oenl!la+$Jy?1F0(`kKP~LvB^QGO-o_|XE z*);8MyW{nohcg3}0N7uIC%$bLe8v?hfDk~HN`@H>92*hGAHk}c0<13#(fpj^+6zJpVBxM*fl zP2J^rk=-7~_gzP~|Ai0;zk5F8%Xu1=Fi;+@;Zn*a6I~dn_Bnlw!PU)Iy zc-OOQ@Ea{J+Ko^^q2R_2mcQh05+0MT2lIuVb#I^2Cc6Yk^Bb&35R7u{DB}{6_H+Wc zN!4WtZW>NMdV#J%=KoUe(+)w%_`iT3Zw7w^Um?7|;8{~b&w;x2 za_QZ7lY9WY&I3aj_{WguKefE9m|x`)82z41CUY}mJI2u__}70c(*u8!)N8=(T>>xq`<=FyUN+@8`g*mPlP%IXqR;xv@ z-@*~5K%kC1Q0$3`IP6~7H1Bv`2j2Kc2->eRd|Tp9Eb13ZF8SF?8BqyM00wlqFN9-FXYRCPm%95Y)ry??aXup3EzIxJk z{BhC`YyPB}em6z?+j?TX=i-O}MFZ&NC_H@v-u!Em@D4@+YM@Z93Z-Hx*0(mN9FfWi zD9}87ed9p^L*WF0kr6)FW+)66obzW^XYd}g>$ngD4jzyK@=NU%_T|HASLw7Z>zEI&qwrpc(Q z6Ptlxb2Z1$?LSu^3HGsM05$=PzFbjUaag>B!wrUCCq zFWj+K7w!#alod2Krynx@CHV0>;5+x`&FwtAwpJ>r8vS#X3XpZjw!WtELr*_Xx}rM( zBSavWp1;eCKW&=}y?z%KS5}~-LVdR0k9$p$hyUo_{5-_zz6AYmN9eyCK!1w)|Fi?g z|6&2Y2EK+TO)s^7TFURHXn$L8jpKYK3Mf9J3|GHt4n9n2-s})8l}k{efkLrHBwO=) zik`|2jAsUVna2-%OA*T@TqUZ|%d^WQYWX%!*UlMm;KxcnwA zF9HkW4}z543PSwdsPU&O_$=K*$ZDY{UmL^ksA^9H@e3N$N7Io@vmo;F2XTI`{U2U~ z;{07$T3tm1&<_Xq=$?Hig_Ui3opUmiIne4*rrDHH5I@k;q5u09;cKUQa1gQh^GQqxj8Wvd(muaoBAR~*2sI|wG`)NQ-C+sp>| zv-0cp(RO(&^^cRullFCjKDb?_m&Tla{|%Y{9a-lL9C)7su_J~R09@nmwv{$Cdja&v8~kw#9{9*2d>woS=ZrsQewpzn>--O3leNFud*dXD z0!Ro@N@(Ho3cT3I z98SW#=NTp{K+Hf1CdY$u<>C~S=@%B%449nuAR$a6@t%px1-Kjv7E0VXkaF3uCyV%2 z(*&HP?J1VeDYaq9j+osQAw3obVO&2l2lyT|55E^L`r!&x5IX(n-(UdERukIF)6bp& z*;@0tda?T%hSH8?%YkAlfgDh4YOg$deG7#puJF zC*L?UA8J0-?!w(`9dPvh=_UK$;3xf1UlW6qMkfJ01-<~NKn@B84gQr1F4R!lR|`e; z9fU^KWBC&D>o$Khv^QXE-sZ$J{i5SM?RdUszt@3Qs|9_u_w~Gfy+>KEXY2ChKFG5V z+4;v+=4B^vcKVw>vIPHlOB-&52>MIyZ-f4u?)cMtY~zSg0Gk42XVz*i9C+g#{MiLX zxU3^?xm>NGCW);3q=wQ~8YOss*@HsNb~CO1xMs-m8{~B&#;-bB2j{i>mwJ8pIYR%w z7ds|j61#=;fkckV(XSK>O4C!Mh6Zst=Ipz|gD+$HQj6=_Uc~aH(0~XT@b!6L5W<35 z+3R$m(`jWqh4pbz-eWoBM|S@m2>ttku%U#XuQlNIFRiGVeaSu{Cm%693jmwfe@h&H zX76p}xn)?8O@Z>^5<{nRWpB-8F_2m5QGPX0vLBw#x-~{n$MjV$v1+#{>Ict8yS*J6--K(!> z^#Rzt{^qrq`Mp6Ox(N3N{cg;N8yDr(_))+4QrMs>+?`w z$^2%CZ#l)+mS}&XjT8WUesiD@!P3%`>+rf)O~KnbK`fd6xu|`L<*ME=M?V?6=E#9` zLAf8y*lV+_(<1-TcKc|8xIoAY=f@EZVB(p6?m#aXtbi&y;#gm$m1U_W>|#v7H!VGbxa1g^XjHUC04vileM z(E7k4eEoD!nPJ4>68baq%LzWV9Qud%v`!6BxJYKnsoVJKpMsj2D(!Ck-jS zC!K?!yiKF42gBbTBLPS3tB=ojV*7>KJT{m|3W&(tANd5NDG&)5RQJdl9i{z8rS)=D z(zrotqaW|@DIY+=7YGBi`>(&Xtp;3?-ETtw1&Buand!b;2L0uIZN@d&At-YL>U9?m zy=_xPt99B5~HVeiM_y#*y$&nQ_)a}ybgBKB`DMZnL4OYUZK?Jr+6)1p`VaKVL2L?C=8N!{ zH_pNz&lO<4D}?}}0Jq?m1eFXT8%#ZjLIh2LK?s*^dRxEQq|g!nN*`hzUzg0{d4z!3 zQr7$m`lGg4?Rg{H{d~U>gGL%Z)WD|A4-lFQ{NQZPJ(;nmnGFECA0Yu5gvZgdMy7X( z@jW{~*vIOPPI>Kq=^$O|_LS3)-!XFf-Oz#~f3u`!HX>+GOwPUPvN{UMG`JfD$EPsG)6O${B{;ucK~AmBQC z@J-LY2&6v&w?g6&es5aD0+SCGaZ%E+_s=E$0Ok7lRh(R6Am2kE<~h>rg;{3n?s$O$ zKrk&NF}~2+QAVHPBm~1zX!R%f`_pvqWqeX4RS0xr-v43FnuQ3c?ft;xza%{VD}Ctv zIl}(?yJ~ztJN;My@E{+K_sfvqmgM?p(Pj$(BAFn>{(#9~nRw|G{O(nCxQ6E#^jnE9 z6Cwe}Er6VoL1RB$u^&YWn*#C%<$OCfAAlXiXD1{%#(DI8@`-{(2VtOn?rro`nQw;b zqmnj_7MM;!9SP`mz0S-b2JQiWVb@7KL+mjiU@|Xg=?QTS1 zr#pVF1zOM&=znYpzI$_9)$}Ka9%*@o{=Aswy=1(9+dzMLuUm0VMuX*Gq0k_i0u$KL zb0`G<%`!q7X33iG>u5RJ#yOfr&y?lP-RvX&PMqxBCc^vBGdkL`fYZ&rKaf zj?puyfvC28qdy2U0V9SS;{1l@Hnl%H2jy_wFjFtZERc>yHTRwCC&!e*3+gw-d)&r| zHgC+ZlqPoboR8Z>bNO*~Wq-gEz+W%J_kYlYo59!W#QYrcvoXJE_irocFYkA&t}8=> zTt`p|0qpF#YkVQ_%bF0N7mZ4bJB3hVNg}4FsK7;45NX0mH)|IJ@zRk=ZbdKkJn|~T zng!-DTyTN}07V6s5fL;4VW9SR(psvY*%kYSLO??U`gh(goqFN3aDo(K$FJU8bA4%E zbi7d8Cq09W=7dqs&+pWcwGKSg?nR+1T=%6_xcQrFs-R1G6!rrg~0M2JmW#(4@kb@xD!x1|DruieHEbud!jKI z=N-MXHCCZ1OUR+R4TYi{(|OUpz_pPG;9`coC=0=*)HxE6;1_HEEeysgv zxKDcgx2@eTX{!Z*^an^Jz~RA3eBWkK2)sEi1VAAHuTaoVM#T2>g;hT~Fh~&s$=x8c z|2*qa(SGLHyx9M=4oJ&NFxz6gSN4jq)>qST0r;rE^D76_GVr1|l7&I&rUZ9a&keY4KzlPmXhvP7JIb`XMg7{^&2&-!LkdR}4FH%9}T z-(>#3U4|Qa5%WurKcfJ%vX89kzisV)N!vjHa66eFLssqUip)b@{5e^OKI-b zQ8|qJ_ei4yCtJNR`!QhtqsaW%2h2~*%^rUV{U!60dBCv$tYLoHr`v&82rv>b%>i2K zPpQMpUpfiDiFRnQC%V{kTtot8-TMVT{NIIVyMWH*rC&U**KK-Bh6y2Id-`?wsHE^= zQrkv*Si^@WN59s_(KyEea8!l7{ioVdsE?TcySnBl<~BY44EuS2k2#m$S;PF?pWBJp z6p%$?X1_h;_)R4K2epvD4w`@g;hw|#9D ze$tOLJ5S}si)4P8=(Fv^eMz+41OSl>adSWl0g4b*50&6?*P;+OScHQuqszSlngoR+ zL@=E`95`43*k6j`GI4gajW@85CD6Oi6bNZxT{kf7%$7$G==WVTV7Jr6WrpXRo; z+e0+cdLLZCKVfQw%?4Zro+GF)jo2gxKLzknBvA>jD}ZG^1iv_8&G#w^?L2qC6{}@R^))`l+BtyYGdm%5K2?-^|DS zga|m%M{54FlKBC)uK*xQ5(28C5H2%7b5uC6_o@ka`PCEfVtk;EW)gs-kifuoHEnRX zib9|SVOT89B^OWrN!n&RgO<5q>GHhM1oP~}F@P(|TmDGB-f_tZzz{pm8JfjRdp|!O z$Re4gz~{D&W=sO#=AEvO;&44*AK5ZABXWa8sr#E#%lzCQ+nvI!Oo)#iAm(T1V0Eqlm%L~SUi}LdczoXs6;f?^x1bg; zh!YYL*pF|6%ofbAhtl@7`v&YsN+6rB1?G%J>Dn}j@;ED#ory^T&}@a5aGvqz1?c7g z5kY=Rm!=s1Vy7P_J&~vXcn?-Tz6>|s-&OPWkz^oPZ!-T9L`gpE@Z)-ZXGNA@9y%KY z08v;y3L+s;g{agxqk%f*3p}X~SHEZyes#iuO51qL$T!eOv!L(znE?k-0MMegjiGbw z;lU)wp~)0!-uooeB1&TNe{Y0MK5AURL{52yO}_IcJpzE+Dr*bMQsbscP&-(HD-aF5{GXTLvaX2+ zlyAU=j#CUmgbp08IALAE{GF5>IRHq~b;%4aU58F8_|BI%AkSu_xZd1KXI>rwpqnk` zeNu>TfXMElR!s}}0j5ZOaGjDP?r(G-B<_4Roa?b;eu3xxQK>i2%u=?p`_~D%$ zxEFkTpA&qf=4Zy|FdqpB$^2)%w?B!_MghR>W+5O)67m=V6AjSF&bi0e;AzjFfEUac zU`|E~=tNXUpz9RW>_msFF6=2qxdK_8H;nb_B>u`bQX!rlkZun{;<_Z1ki~d;g^K*1 z<6grJv-g?#Wp4jj z8|TlWvsD0a+f9=|<_oYOU^GBUM3uP$T=;xM15c>J6X~Fi@mLW&Dzo4~tqA9pvoqLi z+eb|<(oF`t{?thq3fU$_nyo*~HIvStv>zmF&(kjR2!Hlq*80T!+PabW?iV82}Fbj ziUk+WtCe84KMQHDw;?^X$5to69!W@#p4$_Yl7HK6ec3XzJ$f!;9xa`Og>3Egx69Ps z`0y*;)+et%W%QkD^^~p8TAv;bKD)s;P~%^>2Dc)rBc^7^&zhgLJrCpM} zV5KuqdouHr)?Y8_VP3Ha}^)9`I8#{u%w5h0O0$w`35*r zz)nInOEKtX!91D;PqUc?Tt{!ZT!j6#qAHd-@bZDqUQ^u3B^!Nq}D@OaZKAf_)P^Y22FU^fbbq6=Z6k@Y0v zW(Dp>IiIeZBU>9{!of?umc1=$f+Pu5NMj+ortA2>D0P>r^iVR7jOnX#8S*S^|- zn}5=Tdp)0-NrRI%m&|W!e3{t8UjB2=-nY@iT>$VsnrJ|#5-0fw)Hs7Avp~HuUXX5B zDZ(r+R4&^##CX`o^7+Rt5cI2R0)B1hU*mIisiOw|vAn!XVfv5t} zC_{D>G9qBJ;Bn8KfM=XvfWtKhDrBFsFyIhj743o9auMdr1?4Y*V4E#UKaQKp5+q66 z$75C`3jlWN(Y?3Oema9pzkDfJ6hl(E6FV0_;Crf{UM4hbKLv1m`R5CQt!sf0|lrvP_7e z0QHiqoLRh$8<3TJyPlg%PQlSB%jYnRPr}dGbASSORDX|R_{+%j*fK{a|z{skg$z4x#u~k=?BW0 zx7zEgISM<0=hP95UkXn65LyA>ZNXhPwcvhXg z7_-1c1hlS;MA+MYNQwfzd(_xIh3OnY#3{Ouh$ zemBj*>8I>+>Mb#^WPH}@QUEl?A{n2Pd2DcBcEJv%(2f8|rzEpLRv|L|1g1dXeWnhS z;QU8b;GaFZ0+;VEz@AFr2GAUbpfk3by$1IpAy8JIuJRw0f^{@~x2l*bm{5L+2>{c? z2vCWdLVVy)BTmfT4;Z|S3{L_85q>0842G9BeFx>n2{iw2>%aqdAj99+g_Dheg7{oV zpFT~-Hz9u#(@W1jpKk~5uY-03Kt3|jfD{Dg7z1e{NMXR+N_f!hz7p)eump!MEyG2Z zpkSyXf71XLE?H(`Sjo7|@T%aYvzS8twn7qW{ zN`N@CLva0KfJVsKi8g%aZe(=S@(&`kUwEJgXF8FlXQnq9U)uUMhBslpnaE?-<=k-!0!D;*mtM|`yNq-!-op64+TPr2fnCb zYF=E$$v56hc>S~d0}en8EyzzNfb(vU>wt^5Hh|WBJve=D7fv1T!NP-GSX}b8d^@-# zLwsg@W@4Mxw=ujNth2-T8%R3>V0e;>&>UZ2jykM>?l?4s0t0}?4 zPve5Ho@dEnW@M&k+g@sXxiFJAjo%&6oq8SPoU%OE4%{CT?FfL;$tDQQQHM5RPz49-;62!PF}G-1Gu%uzX; za43KsN!XZwSQ9`pXJ34pjGXmpgY`R1zYS?e0BkMUy!AGrU@iq?y93Dr04$$21Yi>a z14u>&N!vWjVqSBHwh8SBfbB&|0>N}B+JuE|0pq)kOeQsjfcafAym`zH!=GieBLKEH zS+jE?T~Gj|Lw}QO8OCW$?Ij$uLuVoF2!OMb%n`k|5x&DdThI9JrEJ@whY9TnfF0VQ rbC`Anzz*%uIZQhOV25_-9H##d^1@`I#IZN!00000NkvXXu0mjfT2o2I literal 0 HcmV?d00001 diff --git a/src/index.php b/src/index.php new file mode 100644 index 0000000..3705083 --- /dev/null +++ b/src/index.php @@ -0,0 +1,215 @@ +'; +} + + if (isset($_GET["img"])) { + if (ereg('[^-_.A-Za-z0-9]', $_GET["img"])) { +?> + +

Illegal Image name: ""

+ + + + +

Image not found: ""

+ + + + +

Illegal Video name: ""

+ + +/dev/null'); + break; + case "mp4": + header('Content-type: video/mp4'); + exec('ffmpeg -i "'.$DIR.'/'.$_GET["video"].'" -qscale 4 -vcodec libx264 -f mp4 - 2>/dev/null'); + break; + } + } else { */ +// Clears the cache and prevent unwanted output +ob_clean(); +@ini_set('error_reporting', E_ALL & ~ E_NOTICE); +@apache_setenv('no-gzip', 1); +@ini_set('zlib.output_compression', 'Off'); + +if (isset($_GET["mime"])) + $file = $CONVERT.'/'.$_GET["mime"].'/'.preg_replace('/\.[^.]*$/', '.'.$_GET["mime"], $_GET["video"]); +else + $file = $DIR.'/'.$_GET["video"]; // The media file's location +$size = filesize($file); // The size of the file +$mime = mime_content_type($file); + +// Send the content type header +header('Content-type: ' . $mime); + +// Check if it's a HTTP range request +if(isset($_SERVER['HTTP_RANGE'])){ + // Parse the range header to get the byte offset + $ranges = array_map( + 'intval', // Parse the parts into integer + explode( + '-', // The range separator + substr($_SERVER['HTTP_RANGE'], 6) // Skip the `bytes=` part of the header + ) + ); + + // If the last range param is empty, it means the EOF (End of File) + if(!$ranges[1]){ + $ranges[1] = $size - 1; + } + + // Send the appropriate headers + header('HTTP/1.1 206 Partial Content'); + header('Accept-Ranges: bytes'); + header('Content-Length: ' . ($ranges[1] - $ranges[0])); // The size of the range + + // Send the ranges we offered + header( + sprintf( + 'Content-Range: bytes %d-%d/%d', // The header format + $ranges[0], // The start range + $ranges[1], // The end range + $size // Total size of the file + ) + ); + + // It's time to output the file + $f = fopen($file, 'rb'); // Open the file in binary mode + $chunkSize = 8192; // The size of each chunk to output + + // Seek to the requested start range + fseek($f, $ranges[0]); + + // Start outputting the data + while(true){ + // Check if we have outputted all the data requested + if(ftell($f) >= $ranges[1]){ + break; + } + + // Output the data + echo fread($f, $chunkSize); + + // Flush the buffer immediately + @ob_flush(); + flush(); + } +} +else { + // It's not a range request, output the file anyway + header('Content-Length: ' . $size); + + // Read the file + @readfile($file); + + // and flush the buffer + @ob_flush(); + flush(); +} +// } + } else { +?> + + + +

+
+[Click to Download or copy link to VLC player] +

+ + + + + +

Video not found: ""

+ + + + + + + +

Videofilme

+
    +', ereg_replace('[0-9]*-[^ ]*$', '', ereg_replace('( - )?(part|[cC][dD]|[Tt][eE][iI][lL])[0-9]+', '', ereg_replace('_', ' ', htmlentities($b))))); + if (preg_match('/.*(part|[cC][dD]|[Tt][eE][iI][lL])([0-9]+).*/', $b, $m)) + $t.='
    Teil '.$m[2]; + $t=ereg_replace('
    $', '', ereg_replace('(
    )+', '
    ', $t)); + echo '
  • '.$t.'
    '.img($b, $b, "poster").''.img("$b preview 25%", "$b-25", "preview").'
    '.img("$b preview 50%", "$b-50", "preview").'
    '.img("$b preview 75%", "$b-75", "preview").'
  • '."\n"; + } + closedir($d); +} +?> +
+ + + diff --git a/src/makefile.am b/src/makefile.am new file mode 100644 index 0000000..b574456 --- /dev/null +++ b/src/makefile.am @@ -0,0 +1,13 @@ +## @id $Id$ + +## 1 2 3 4 5 6 7 8 +## 45678901234567890123456789012345678901234567890123456789012345678901234567890 + +configdir=${sysconfdir}/${PACKAGE} +config_DATA = default.jpg unknown-movie-folder.jpg + +webdatadir= +html_DATA = index.php +bin_SCRIPTS = movieposter.sh towebm.sh + +MAINTAINERCLEANFILES = makefile.in diff --git a/src/movieposter.sh b/src/movieposter.sh new file mode 100755 index 0000000..14749f3 --- /dev/null +++ b/src/movieposter.sh @@ -0,0 +1,205 @@ +#! /bin/bash -e + +echo "$(date) -- $0 $*" >> /tmp/movieposter.log + +# Change this for your environment +SRC_PATH=/var/data/spielfilme +DEFAULT=/etc/movieposter/default.jpg +#DEFAULT=/etc/mediatomb/scripts/unknown-movie-folder.jpg +TARGET_PATH=/var/tmp/spielfilme +DEBUG=1 # set DEBUG to 1 for debugging + +# Normally you don't need to change this +SED_FILTER=' + s,.*/,,; # remove path + s/\.[^.]*$//; # remove extension + s/-[^_]*$//; # remove after last dash if no _ follows + s/_[12][90][0-9][0-9]$//; # remove year at end + s/^[12][90][0-9][0-9]_//; # remove year at begin + s/_*[A-Z][A-Z][A-Z][A-Z]*_*/_/g; # remove word in capitals only + s/__*/_/g; # remove duplicated underscore + s/_$//; # remove trailing whitespaces + /[a-z]/p; # file must contain lowecase letter' +SLEEP=0 +IFS=" +" + +function trace { + if [ $DEBUG -eq 1 ]; then + echo "$*" 1>&2 + fi +} + +# get poster-link from movie database +function findposterurl { + # first try OpenMovieDatabase API + url="http://www.omdbapi.com/?t=$*" + trace " $url" + img=$(wget -q -O- "$url" \ + | sed -n 's/.*Poster":"\([^"]*\)",.*/\1/p'); + if [ -n "$img" -a "$img" != "N/A" ]; then # poster image found + echo "$img" + return + fi + # then try categories movie and tv in The Movie Database + # not using the API, because the API requires a key + for t in movie tv; do + url="http://www.themoviedb.org/search/$t?query=${*// /+}" + trace " $url" + img=$(wget -q -O- "$url" \ + | html2 2> /dev/null \ + | sed -n '0,/\/@class=poster/d; s/.*\/img\/@src=//p' \ + | head -1) + if [ -n "$img" -a "$img" != "N/A" ]; then # poster image found + echo "$img" + return + fi + # make sure there are not too many unsuccessful queries in short time + sleep $SLEEP # don't want http://www.themoviedb.org to exclude me + done +} + +# try to find poster-link from movie databases in two ways: +# unchanged or by removing the last number +function poster { + n="$*" + # try movie name as passed in the arguments + img=$(findposterurl "$n") + if [ -z "$img" ]; then + # try without number at the end or without I at the end + n2=$(echo "$n" | sed 's/ *[0-9]* *$//; s/ I *$//g') + if [ "$n2" == "$n" ]; then return; fi # no number at the end + img=$(findposterurl "$n2") + fi + if [ -n "$img" ]; then + echo "$img"; + fi +} + +function getimage { + f=$(echo "$1" | sed -n "$SED_FILTER") + if [ -z "$f" ]; then + trace "**** ingored: $1" + return + fi + n=${f//_/ }; # moviename is filename with spaces instead of underscore + t="${1%.*}.jpg" # target file name + if test -n "$TARGET_PATH"; then + test -d "$TARGET_PATH" || mkdir -p "$TARGET_PATH"; + t="${TARGET_PATH}/${t##*/}" + fi + echo "$t" + if [ -s "$t" ]; then + trace "**** exists: $t" + return + fi # already downloaded + # try to find movie using full filename + trace "**** $f -> $n" + img=$(poster "$n") + if [ -z "$img" ]; then # no poster found, try with manipulated name + # split filename at "_-_" and sort by length, search for the parts + for n2 in $(echo $n | sed 's/ - /\n/g' \ + | awk '{ print length($0) " " $0; }' | sort -r -n \ + | cut -d ' ' -f 2-); do + if [ "$n" = "$n2" ]; then continue; fi # same - ignore + trace ",,,, $n -> $n2" + img=$(poster "$n2") + if [ -n "$img" ]; then break; fi # found + for n3 in $(echo $n2 | sed 's/-/\n/g' \ + | awk '{ print length($0) " " $0; }' | sort -r -n \ + | cut -d ' ' -f 2-); do # split at -, sort by length + if [ "$n2" = "$n3" ]; then continue; fi # same - ignore + echo ".... $n2 -> $n3" + img=$(poster "$n3") + if [ -n "$img" ]; then break; fi # found + done + done + fi + if [ -n "$img" ]; then + trace "---- Download: $img"; + wget -q -O"$t" $img; + if ! [ -s "$t" ]; then + trace "==== ERROR"; rm "$t"; + fi; + fi; + if ! [ -s "$t" ]; then + trace "++++ Transcoding: $1" + if ! ( ffmpegthumbnailer -i"$1" -o"$t" -f -s400 > /dev/null 2> /dev/null && [ -s "$t" ] ); then + trace "++++ Copy Default: $DEFAULT" + cp "$DEFAULT" "$t" + fi + fi + if [ -s "$t" ]; then + trace "++++ INSTALLED!" + fi +} + +function thumbnails() { + if ! test -f "$1"; then + return + fi + t="${1%.*}" # target file name + if test -n "$TARGET_PATH"; then + test -d "$TARGET_PATH" || mkdir -p "$TARGET_PATH"; + t="${TARGET_PATH}/${t##*/}" + fi + for p in "25%" "50%" "75%"; do + t2="${t}-${p%\%}.jpg" + if test -s "$t2"; then + continue; + fi + trace "++++ Thumbnail: ${t2}" + if ! ( ffmpegthumbnailer -i"$1" -o"${t2}" -s400 -t"${p}" > /dev/null 2> /dev/null && [ -s "$t2" ] ); then + rm "$t2" + fi + done +} + +#### MAIN ############################################################# +while (( "$#" )); do + arg=$1 + shift + case "$arg" in + (-h|--help) + cat<&2 + exit 1 + fi + cp $(getimage "$arg") "$1" + exit 0 + ;; + esac +done + +trace "******** $0 ********" +# scan all the movie files and also the directories +# assuming the file name contains the movie title in some predefined way +# find all files and subdirectories take newline as separator +SLEEP=10 +for f in $(find $SRC_PATH/ \( -name '*.jpg' -prune \) -o -type f -print); do + getimage "$f" > /dev/null + thumbnails "$f" +done diff --git a/src/towebm.sh b/src/towebm.sh new file mode 100755 index 0000000..2626cea --- /dev/null +++ b/src/towebm.sh @@ -0,0 +1,18 @@ +#! /bin/bash + +SRC="/var/data/spielfilme" +DST="/var/tmp/spielfilme/webm" + +for f in $(find "$SRC" \( -name '*.jpg' -prune \) -o -type f -print); do + t="${f/$SRC/$DST}" + t="${t%.*}.webm" + if test -s "${t}"; then + continue; + fi + test -d "${t%/*}" || mkdir -p "${t%/*}" + #ffmpeg -i "$f" -b 1500k -vcodec libvpx -acodec libvorbis -ab 160000 -f webm -g 30 "$t" + avconv -i "$f" "$t" + if ( ! test -s "${t}" ) && ( test -e "$t" ); then + rm "$t" + fi +done diff --git a/src/unknown-movie-folder.jpg b/src/unknown-movie-folder.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d88c8b960e8fcd83e1867a13ca1f13484a754819 GIT binary patch literal 13033 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 literal 0 HcmV?d00001