From 58b0530f1738f0a331322caaf965cca69e624b1b Mon Sep 17 00:00:00 2001 From: Marco Calderon Date: Wed, 23 Mar 2011 04:16:00 +0000 Subject: [PATCH] added ruby script for concat videos --- record-and-playback/scripts/README.txt | 18 +++++++ record-and-playback/scripts/concat-videos.rb | 51 +++++++++++++++++++ record-and-playback/scripts/logo.jpg | Bin 0 -> 33066 bytes 3 files changed, 69 insertions(+) create mode 100755 record-and-playback/scripts/README.txt create mode 100755 record-and-playback/scripts/concat-videos.rb create mode 100755 record-and-playback/scripts/logo.jpg diff --git a/record-and-playback/scripts/README.txt b/record-and-playback/scripts/README.txt new file mode 100755 index 0000000000..1177f7041f --- /dev/null +++ b/record-and-playback/scripts/README.txt @@ -0,0 +1,18 @@ +README file + +Scripts Description: + +=============================================================== +concat-videos.rb + +The script can create a image video of T seconds taking the logo.jpg file, and can join several videos. +Receives N parameters which can be a video filename and/or integer T. Usage: + +ruby concat-videos.rb video1.flv 25 video2.flv +output: a result.flv video (video1.flv+imageVideo.flv+video2.flv) + +ruby concat-videos.rb video1.flv 25 video2.flv 60 video3.flv +output: a result.flv video (video1.flv+imageVideo.flv+video2.flv+imageVideo.flv+video3.flv) + +NOTE: The videos to join should be in the same directory +=============================================================== \ No newline at end of file diff --git a/record-and-playback/scripts/concat-videos.rb b/record-and-playback/scripts/concat-videos.rb new file mode 100755 index 0000000000..0b6518ba64 --- /dev/null +++ b/record-and-playback/scripts/concat-videos.rb @@ -0,0 +1,51 @@ +class MediaFormatException < StandardError +end + +class String + def is_i? + !!(self =~ /^[-+]?[0-9]+$/) + end +end + +def executeFfmpeg(command) + IO.popen(command) do |pipe| + pipe.each("r") do |line| + puts line + end + end + raise MediaFormatException if $?.exitstatus != 0 +end + +def executeMencoder(videos) + command="mencoder -forceidx -of lavf -oac copy -ovc copy -o result.flv " + videos.each do|a| + command << "#{a} " + end + IO.popen(command) do |pipe| + pipe.each("r") do |line| + puts line + end + end + raise MediaFormatException if $?.exitstatus != 0 +end + +def execute(args) + videos = [] + cont=0 + args.each do|a| + if(a.include? ".flv") + puts "parsing flv video: #{a}..." + executeFfmpeg("ffmpeg -i #{a} -r 1 -y #{a}") + videos << a + elsif(a.is_i?) + puts "creating image video with duration: #{a} seconds..." + newImageVideo="tmp#{cont}.flv" + executeFfmpeg("ffmpeg -loop_input -t #{a} -i logo.jpg -r 1 #{newImageVideo}") + videos << newImageVideo + cont=cont+1 + end + end + executeMencoder(videos) +end + +execute(ARGV) diff --git a/record-and-playback/scripts/logo.jpg b/record-and-playback/scripts/logo.jpg new file mode 100755 index 0000000000000000000000000000000000000000..ad69caf65ca3c4c8406a2bd1a8b09728992041ad GIT binary patch literal 33066 zcmeFZcT|&I)Grvi2!ixZ6cmsM2#9n7B3*ikbm>h%dQSwTN)ZrHkS1M9q<119pj4@$ zcj+yZ5FrUS@BL&1oPEyTXYb$dxt_UR0o>M9)ldZx z5fK4i5XzMe;WM19Yn+=q-5k2Hz;pX5l(2h4Im~WAt5FuA+(*8 zaCR8se*h^R8U0;RC2|IR8wwsTMzQdef*ZU~Yr2>W#*Xia+j>V(-ehKBWn;h3$1m_e z@Ug@bNhxU=aAPR=f_KE8hb0f9lmk#D1-V`AgtQ`0`A zXJmf-l=Y>ssJNuGto&2oJvvaF!>l=SIx3+h7 zQ75No=jaQ}-^+jWA_9>7hg$!s+5br|I)Yxrq@*OI6#wW&L>xd65;{_{yQ1XuO8OKw zUJN{9;WrqcrWDk4QSyo#95dN^kKJUx_jvU_>L1nqyJr7$ibecC((FGK```7N15lF? z5eAQh4gdyRUB(OK6aSa|S0DVB4g7y-18z@l>=_Tt|t<@9~2M| zl@B!Rd4*Dwo)pf+o6dW;TmwShgMOYb&xM$`32~>}xVzD9pE!Jmsxcw8NUW;A%CHSo zLJW6@PF0oQQHOYez-3EEiWhC~B{_KXD7Hbu=E=+pawfy zU<2g9CB=b!#eBLpM7yaa!OvL(0{+C)5zvj`Y!_OKaKPhM(JwL$Nf_nhOuiBuT%{(m7F%?8LQtPN%g7@c9s zqMUMXD*I2Wp7$M!%jx>Ek;;}kaUVVy&(2~MF%1P6dcGtVvXR2%jPWNNbw@kaLV@r# z-MCJk-CKZE&pKJ?;mEv{{!x;)!SU8xiDclen1#l@TrKdCNAcD!5j;Osd}WxwyYXj6 z#CiPGC@~mSsz!<1;k-!KK2u8$3|VO`g;scdect#!*Zjm)3!0fSOa4a%Yc@j5eXS9OP6qv)dTUd)c(@Ts-ns+;0-~4@A@*KB<1)d{M>m z=@E$iP^Vr^&v~FzP~#`XE+})7C#vffyB%)Kys7rQ+7a*3Fr_Va&xbuD+j&+n`^HYw zB~nr*EcbZ@UDA34s9@5mFQ{5gzj-gxvVKC$`3yl4YLB9gba1h zu0_YK55AoCxdCSkMb~mlDJ*?KNdK8Gs`*fRf>^B1>roI2thQ^P5YD3dsq?z(l;rFX zl*g3W{dH4wsM*-d-)Tqc6^+Z(+BM)t=i{!m?X~f9M|HpV3MLd(kI)xzCoZ=w*YTVO z-p}_FKBWJy*H>|T^d(*Z@NbqPj}Hv-TcK`iZ7>Rq_my#rgZ@q6L*Tm4h1yoUmyWiI zN7vunFjW6qCid>76WZ#N*frpl<%3@oI0N5NWL4-`HBv7l72Jz-Yr^@c2^xOo=NC_BAsvrTwu+p*nc^Wa2n&FTK4n!l&Z zbYrV=k$+>#jr@d{0_DODHy*CKRP(8Sv8vt&RHFQjvI;96LeMDlfr7%I_qRh%EyT6? zc^%vnUr2m72hd*Ru=iym(hLC$NI119DfTB1 zs-Al-{%UCQuqM|naqSI~I;y9aAzH|~)ZKmzNuHDMQJpL+O zN3Eb-LJQB4wOM2*ZjZFT)B5SjXny;xb?bw`wU%gQ@g+ojaBWoUSt0(GdKE|&|> z^ogQGw(*azx?;3P*MK}TY~h%n^qKopP%~?^@<=e#A!r8?lPjI6)iKe4d-AkEeW_(v zHqy$+njF}%@+jQ4u`=_{4L>HFrOmIyA`BiER~TEb`*C8%bx*Kd85~>0??sz%J`K^5w0&yZzcR~ z@`M)`!W7|xX${YY|J0nO4{uoo9ld}wb-Z?E^CI? z?YoZYjHqw8TGFZFFW7!ns~I6Uu~WYnw}aci?>A(km`0Z{B0m@+Yk%WmIM=<>*!-rf zyWL?){KlOl`x39`8VeE^kWOnbN=%Ga)MlRU#~(7Sk>OUlFz*R<$mhu9;$UA+L1E{| z$drU5t}(Nqxiw|noGZV=oYC1yp)Q*otZLOY$X|{hf&@>6OT#Fwo;(~=+))XNUi}xl zWr|E}*tAZ{@ge5!kEVw;BFzuQFCjm3xoxPA`18NRzkppsx?7*bIG1v4Iq^=~T?4AD z#pf-lUaJOYU2?WE7eM#dD{-eymdZ;dmRd{AHRacU23__NS)_Fx@5cjhJ#J4;5pn8Q zK{jfd_7|B8bB&ye^1ujUb=MLl#HStbeu=@b*31IE%=Y9~ckueO$c4(w(5Enw@Ax~O zhqD7P)PyFAI%o(KcDs6x^#B)Vf{e0(@}|u%CgAezv~o1r&}zzQ!9s3=md~j zWc3u-YvS*8m8o5W5Oxa&C*X-brSPJxG7dM$h&@W$<7_I_)*`PyjhC|2Nj89QIA7Mg zGxa7sFM65SfLcD_xB{u&DjtoK1Kl{~A=_*uiGeq{Z^dsiX7ST~N+#h5<&Q#+C^8(!NA(YBB&l!{Ur6l;*i!~Rsx65gq_m2wC`6lr4 z1=j#ynBcmCnAQeX0QDhnar}@LFXdKOe+@`>hAjdIn!!m4YF!8}x=9xn@a02f-zp-J z*7$Gk+fIg4@(YW-XmF0tg<0D`KU-z@$UpI{JTJE5Y^F=i@Q26B(0J#XuKd+RI*m`- z!C5)8%qP2@vo8ju$>X}S9M)}9olGyxEj7opmHrfpjxZ91Tj7I&W`CQ|k{nQOfop&> zava+5w^1B(dhXPuyP~!QJE&m221L~`lY@WT!9S-+!;4|=_eOi2VS58If5+_LU%!LV zX3!Wi-NXc=Va=Me(n>$UQq7$f3bhqQ)l$)GKneff_^ULu$tap7HcVlH8+?>z%@D|a zt4We}yBX(pm^>T(a~`9m*Gvc!-X-8onKm{@FGMzc^)SgkTx3Ed#Z0IC&iX2hfPbkF z{ejgpC*#VG4^N&MjL*qv=EK^>FC7tb3IZTyCl}vBS#vv}=QY3-J_Wq(Qc>xg6%`49 zPLTA8&!pdhY+n2T-uiXFq@rk;&9rLv&8S8BPrUINn~)`^wW_zR-Q-`?IiCb&r~i(A zyE})N*y@LsD}&fmYrRS@qFl)C4E#AR?-!VGAg6oh&G9Z7n=9$!hiqKB&IFv zRjPJIFWnh~*AF%{50?Fh^_}_$zWrzuPQxJDZ*An%cVfIy2WKy$c>&D&&89c}0aCMnrCZ1~mTwrf2 zJ*i_0T{nGaT0v-0jfBEniZ^^7SCi9o48Lszujq1#i3m%&na9CnRL=CsRWJRaUS^6O z&5N~G4-F(nW_hqC)daX_g;2y(ZV!J6l^M77I(=TUo~I@oa|(Ya$B;i*=4z&s#u!qR zVQixRH*dr3Oj5TtS*ND4{vFP^-Hkn2k(?~hv_qShY}a>neX>zTU-3)3c-g->a((Ky z;W;PXWv7PX*?X-D9V|~?^7{T-6#E8V&EAsCg;7BEb#kUxy;-5urNJ@M>^0%c4pCsgycFDL>pFRCpB4&pC)`|x!BS02eBbV<95Gs3~q zT(s+5aEjJ%sRNr@LC9A%c{&Z~de_rur$vT7CdD<1RIWrLd$W{UPx@|66>!_ZzUxrzS&JqOI2LWG8C`PKqi#;8 zppp8TWTC$ijmU7Xk@V`VIl?N5Y4yg>;mPch_j5w;>41#0q=_cx!@7{+hN!psTDL_7K1>U zYhfH#v$I<^RVRxK8mCvVLrbMIkhg(#=n;)OsUp|=Yl}|( z?Dbi>P5u{>+P`c5>IDnzgPN!^bPP5tE8EycYPA-{CERsRt*1QBWp_g7+nU6FZnd$0 ztywEJBK1i)zc(2U+V(e5yL;Oza=J-Qwlq6CPd@Vj%k#@ADsz*T99yMRiQt&XP>@%p zD|4`Xg34yjn^*o^!_PLqRCj@Lm#>}#K3v+p;O1>s-k2ldymt*?$Sn$cq!OkBk@KyF zb#<~d90$bgpJgk(je^?YHsy7jH>)o4SMIfB{cX$ChOMk_|tbd?mg`f#XlSr@?b3Wtq;jney%9c*Pc< z`RC6h{gz zve9kfJDlWEzYl&ld!l?wHNC-RnQ`~2xR#a1?|*Bs_&>C3{PTukSw5{W=G`$w71brF zpJG=Yj_;tL#UJAvPBN1e*!H-YnnT>pb;Zn*+hl~dXM(pH!Z1B@#%_ZgZdd*hyEnF? zTKjp(DUKzUqlX0bFRaQ2d_OdTh5dkJ-G5WZ72jS1sC+9q5^ti%Vgp&r@b|YQE*aMH zW=DI1=QR{^?I%1~x9C0>fDdyiR;@JP&|&<8@snx3W&PyZzIpR&0C#W5<2pg{#o51~ z#|!U;zUOgR{Q#e|ExHNV1)s!U$V}KuDY__bc z9&#!fmj`VgVS<1OgvdBvR%r{LHH?2ubg7{dntsfWUL03=;D%n}K>BtS?nzph|4jUN z@1=Oty;NF?Dzz(TYyb+`eRp*ab|bH*H@HOOXt;GSnlxEtla%Juc|L8mGh7gtD;ES0 zRmDIG_VB#*Pv&w49)*^Sin}q&_1}&Jt-2C+SE!aw_Y- zHmM3my#c2KT*jro71r6{<~x)gm4h^%D( zp3*#{zNsiay8OyFpZ519Xk=f3?*(RbRbnflUBc(%Qn%@tKR^uGG^S{(0)$sa|d@mZ5)_`0CAq2^BYHyP3TzNKru!@qXnA)Q=pYcKt+p+m)+vKzli&mgyouvW*8 zZEH%ai{d|+1LkTBx`5B3wi6#wwMjK@Q z*ZWfC@r=mvHwwhpfQZzvWpa`|{`1Pb@MShAd7#sZdv4;|mAlN=53fqRuTXJj`pLdg zP@DV>yfDZde^cWklE!g=cU@Fm#GncNENY+=aH-Y{V zH{{5Inmp%(+JBcedV47Xt+4c%_)aN|Qc)m6uda67E|twbl}gWq)j-nbyZpC?Q{5zl z=ioU?ZVudYM9Ej5qHaq+QY-#k%^*HT3M<(6scHcefTz4b@A274&Mw`CRCDhaLKEEL z2>s=Q@zFsb+jT1!dO4BPH4k6^jpTczem@#oq(>eTi&!b(78r9E%7+n~&+f%9?>xDT zA7mxrWMZQRvtRnGB7eMFerF934uzD>na^1+?=(5AHr@MjKrh0!g>m~ciV-+Wu^}&9 zmDdCXrsD0Li&Bip{m5eZk-6uG;5tHNo1jwLk0U-poIP+RSq0A`d!e+)o_#%E1Go0C z0W*~7;M4RPxBW4Rt#v39NRoD8~c3&tv4G6Ij`J4gp5~ypy z{v%3Up>9XRGCpGJjA9>wax%lj9W(TqLEB^(EuE*+dbtKa*Qwh6qz?I^ta;5ANDJ#ld#n!WDK(*+rS?@wEGil#58JH-qdTr zb{60SI9q{kL9z7H0!LSeb(O}?t^yC1Y=jEcEmGz;??F7Tl<-rR6kU|-<6jzO;IT!P z*8m6QlOLr8J{WEaIml1ovF^k*fTi{n-+mw8@MoD`PNQrAI>ugI#g~I?3ZbcLdHmP7 z$UK2A77ZU#I%6a{J4ik_U)SbAPs3P4rLSmWq`zkglq4<$m%l#%M};L82O>2H9oN%{ zVtyx;)s3FYq4hdBUDn6%c40Rh>KZiYR25=-@+2uE#itjid!Uju;gZxlLk6)+ch&lR%Kn8NYL?qGfPO7HqSHz$rKOe7rY z_;W3{tEYi*2rh>glU#zaUAnN$QdKIMFRJAu>Qgi@YnR2}BvgZdOC;BTYDw@VJp=*m z1D|-zF@rlKPxEPq=5;yTG6=S?+*@9Fgq%0bINs?r|ExLmqhz_GPnXMW|A-Mkna3o8 zXIikf2z~r$!CEdOtrsm@@aLIvEk-UWGOagsy>K1Rj(h@O>2&!%1d{**@Frt&-y6m zTy+%BQ~Txydp~>W@5Uy7@W=8|< z-;=!A;9UW3CA$I!C$9mX2*$mv1Qdp9b=}qEHAC|-V{NCbxAB)c!&j~T4g(g?=`jLE=d=i7zy9gYnI}|kiSvb!WBcscfq9XloYY`ISQkCSz6&N zncl;7E?nM4?0?sL5KYq^)q$>?>T=X`$#EHmwMgxFm%B+qh_K7thT<#JCG9fkKTm!mf9%qYS6y@~GvYqG7&xt5MRGT|xlzN1TD^g>?S3wqm zZGC7c2P!$H>TyO#_Wszgt2N!vz?-YTtAB0ixxO!?-K)xW*0p9JdmTi08MW2I?hd^tpzUu+-8PcDY!-^jjRy7=*$u+)cF$yDWSSVgwCXVuRRZPQH^0}#}&ymNz zX5^9OuA*i?eySu^rUkw90C456bsh`e=;G8*5+K>kiy-7={-D(Mvr90N7WK{Fn%f$4 zpTuwSBr^n!{M1ZI8Mzf2vYJPOb;PAB+*$fnh_SsgN>a47A*;;1ZK3wLobQp>e6z%5 zO6B5UsSA7J#tm+_kRZNiHa$!Rit9)wlpA5hpS`L#J>2&jC0?#B^w^YB7W{(x{eIze z`i+7ouJovr4^y-a6~x5YF=sRl*nOL@lRB|ulNQvlNz3aP4r{v-H+v4V&k;3|404(f z@#jfM)fxZ*ApJ{%&6vb1=TNn8sT0b%gDSB%R{WoSQ)2cWvN$$R>kHbk{?ZD~aX*e+ zwJgc8yB&BIBFawldUP_cz*ZXo)yD*=VVaIl`y^#9qOg){Zd@Ao((PK3)zgnF)uk5M zxG1ah%q9@dy2-&&xtZ{p!05kUcn8e)fHmDkxkVpTuzP3FEeH}TP7_(N;Cez>b%r^; z=YGcW>OOk&#GR;laUnN7F!V)S!l^={ZzD6(&FTK=$088t%k}cB?l*FyE6DF5$&o;k zP_<%9SaD#aVMDHY_>IMA(F3|_nX`)x#@(g zCHPsYUmwXC5BLj4|H0+8YplU;&tukmf+Jg5$cAz zTBGQ`rPamXZ8)=&ArqRiV7*{E$Tc;jSt=Uk*{;6+#{#*qOn+`^u2nx#G*Q$VKUEBN z%NiHGS5wOQMv1%QD-|uLxw+|%NuwkS^iBujp`93G9HuXTlZ^E&pEeq1V@-l7?8#&G z@bH7t?6Ld7XYBPQ{(PvpD<$Xf;pQT)1m-~4ez*YXN-)XCm;5aZBf@h6qMP$Nw8mEJ zrFP?;<29I14q<%BjQ&295*%?t>h~O3v|C2uOI(6=Sfi-QDyJBY<}9s>{#x~C@stkp zBf6}z2u%RyR1;T@aMr2-h0%ya8)PG`?|YU`c%(G>E@*Vq4lBZ^TH7v1L4q2_ef z^x7}A7o3TBp2`3k${p5&B)D9|gy%IfG#;YgHHnqoX2_MkT9h^M$U)gXpOUBuQxJd! z_&kVy@OD7!QNIyTEGgtS#l~`UC>Z7RU4c(#D;g`l<|d@W_cD`ihrW{te4wi4x_4fo zJ4d_Ta8R8Lcfs>^^pCs?dFg(a)GJj}aEmba&DUv}tTDR18FgB(w^W+zQ=Un&(kHw; z8x7ugY|R}Qf20%hyk(NhujRFuCJTa;6-&mvv!nsO1E> zq4?YF#;&_>EP^WX9uYh+!N{cc#%r-$C_cQr0!fwms29`J>HK|^y|G~~i!nv2v}&urIN~MUKt~ z=l?!?ts;=9^V*xp7(iPEfCh#JVL*hqBRY>mB-CMbk^ai4zIBpAuQ6kUJkL#*S#aRZ zdvY&p7c4z$`5j&yD~sglv*N&i?@Y0py6YBXvs76rX{!?k`qqM}aC5Og(I~M9tL5me z$(WS+bMJ2K-&VSl-1O`OMj zD0Lw(DOgHSeQUY{h-ZFf#Zli>H#zN=^HkP1_s?eTJqMFM(FF3Vo~X?R9!%z~Ufkqu zm%5Iss#c3ZUrVEhuL@!Yg81KyDguc^Y0$>7O93y)Oi_xBpF+N+a^}TNrdU4g! z`XTk3@0^f^Jq4N8Fn+Dh)PZZj^QN}eIG(`bxGZB^(f3NzY_d$}0Y)KEP5~$g6PshS7 zdAdwBzl9T#zKpDgFqC19o9a?ew8Hq-HoM2|n=*DRjg=ckPjYpan3m0lgoV~V-uj|K zO?1IXB(8OV-L_dl=VQh`gAuqR+&l#tP@DQ%dO~S7qsGCfDqEYuCGQG?MYTFKbQDnq_%+U9mP<5o*vOT8qw4tEC*$3Bf8(s$Yj zC2ZYET1sCSQ{+?*6`e2{)Qwm=++7M`oBJbN2-;-hVB^1&_rc6t=+8U{ zRZnn2ulI=8XVki$5KZSTD<^oMa6aCIs-=4)8> z$cb;{kQkLArvs5f0wjQdB4Z>P3he(r%`H*a)Yy^X{Fa8xik>7)nu!7n>JY)xm$fUh z>w7Ws(B0_I>{m{3l0fP!avA||Rk}+Ac^-HQ-%WC%PJYFkm=ZVYZ_op`Gk$#Z7R}6H zzGZ-DZiw*lZmj)qg6&z3qCivylQ9y-tbwV_0<)G_53SUTn!N5AK7Eb)Hp&Y&>u<#b zw?<|4hE?rKO46y{kJ!Q1+#@Acun^$7inJ_dBJhKDmd>U~BjE`MdnKF!NvA1FT*|#565#fnWBwekpTcw-&qOsgpug`92QjDFadvj4LIN^ z7ZT<@iKzD?Vf`t0`wjX~+srdM%OWj~FC$28CS%Z!E+QX5tJ8k-Kp>yyRwt{nL{xEN zUqjibyOWGIvBn?#kqfCn_t|>K!(}SpUw1nas}H*umxT6S!UuXdX=J=C7w_iNvLQP; zcQacPrso_QdP{P=d^jgqS`xp6wL#qxAz+cJkXw~tr^a~BtwFt(%bV}*eCk46B<+K zbv&|5eb7lr!5rj*t6a_>g64ED|57yM+3h7tu9d!(cv?Z;X3y2Rt07nc%pdmqw$SUv zn#vDJICGFD?<8tDh88-{K265&y_|R@aSfouIOD~r2J;=IvY9JcnxZ4y}f<@LVjD(U{Y4E0UXb0J_VM%7Mniw z;=wa@nNyl%{-}SFs6J>1r+8fdsn16%YxCj184K}0w(YAc%dtyi+M?z28uRYr#hDcW zlE*=S)~NH&9Jl+!lfS6x66#vM6L&gevag=%`k%TiG21Z$4nl^o!}z1pJ&V%bymy(M zGM(;Voq%Mu#Ktdh)8z6hV9YY*`YcUxb)T+k(gHrJVy5726zi4QJX*R`e{?atKQQ1s z`!yi(@YY7(vj~$xOYOYuojt35LjOi(F-OE6c?ciAA;648?f`A(+61Phcwek3#*z~! zy)lrBh;J?*o^_5cFH#)qzZsRtWaJgaT6q=CIaR(f5>(k1CnYznFEH8)ZHNltH=Atz z@bc8+{A?@N?aPg5`{iHLEtV=>6t4}U{{7Nvp%ua|Mbqmzd*!xqtnp?2QNw-;k2kgPr+@h6vgPN9!*1(eRd2*z*sV_zJp zk>E+eRbd>SK1`EdTGa6x zd~!={dz_P;pAYDDV5KVgunD2zHnUx9UZ~LbrQj{=}TsI2||XkDzX+$=KtD zm-Vq54$*zP>fG$`apkRYlB6fU zSreH!tI%MuZ1s8HQdu`^K!Y3-APD0Yl&v6Gn~Ik?AAVwb>}A|3zzcFAXU4YU|<^EZtjDQaL5ptuei%I$a5SyN&@PKzu3PPAwzL#Ay|&esYFWd!tA**@;y~%m=3$dFo0jT1 z-=T$sMT0AjmTGb14$jkIt0~XU3yEIWfWHrkepT=K4rRCK;E&sC%calH;HsE_b+P%! z6mG8>oZUs4W#Mv#CM*8X`CB`Vf4~ZXtt^MM|J~Sy5fGKk4Pwu{~Ty9Bw2Z62H zVEM6Vco~U34d~?byOltuer>eZUGu%CRCJRmV-;r%tNckUeR#&E=JYN^6EP?$NGJ)B zByP>0Wh4K&qtbsj;CDI9F9#!CTx4c;qVwi|NYf>3Cj4J9x12uzuikvI=-)i@) z5{bb+_`2MdF8X~{2Ns(kva2Fh?U=gDx1XG{e-ToIl8KwS0@}YS5=0=y85pwRl94b?MWu<{5e3 zh(9Qbxdw1aoLa}UQ&wTR$F(XbZBCdPu~Uuol`a$Bxkx@Q?~EAnkdUs;mPFO7$WsVh z>lpN7Jo(c)_Le~=+7Ib8g0>1{MZOZ}lnZFdE_@P5URnmI8upTD{PHLWUS5LB^wSED z;pZNKbvGxo;s@BzJK6^Acv)_$E05?-w{CAXLqJcEKL?BieHBcm8mKdfTB={yq`#B! z<$ieFShH%Wqb1}xuFh}Rr$#Mb!NhwIf5Ef1KFs1f;^bGz9%n*F>q;lsegE0V;n5qe z!-adI>MvsLWjXyN(BSX1tWUz%1s+;ip9wt=a^jEj$j9eZg+6<;0aQ-0+F5aTnd{eS zhbXwW3F`z6WUcfW7`xP8W=&**S_pX6Dw$e2kqY6q)dNX=3s|vYYM!kTJ5nCB&h9ds z8y}#g5*l)44;@>Q#N1y4Q_o-w%t<5l>obB>rkb(>KvAq4{&2!@t#;x?QwYTiGa&e! z7Kk;zn^$23`6G#y-0D+6vh#Dn)~vvouV-KqSeJ@lnMhRup>}g{=*~eUG+emvO8_AA zJ%WB>B)SyRZ!2=O{3w`IbjCD@p;+UNM2Yk?&RxWKX6*KP%}1*qR?5;@KY=b=Nuz*o z+bIgooHHevGv?9<)qLb08l~UVSxEXE54fD>*fY-rF%5}5+E1dyM!lf8ciRocu?kFX z*H~GOWtYImzhHZ3OS!wt}xjw+}4I7UDAGe**HBOY&5l1do4?!pQ6a({GUW4 zgfw0TItydK1F_~P>u6uM#QVOBVn@H;Xxnq44-9{eb^xFW`qm$okCzdwb;EtJ@`$>A z0-VLb48Oe0V%MBln*A(`$)H-zapG3ofT&ScXjqEIF0jpZAJ=D*`qj{|0Qh z{hzx1AIMbjL;^PsHmBAPByG1O7)5v83pIDxOC&w+>x^aqZX9>xvc)0qp2$s?CMG}4q$l}a=YTC$bo-H{y zxZ5Q_U z2>f!C0))8@VqLDDg-RVWpG}AA+h+=@Up?0Dd>TfW7E+&ZZ%TsWkxFLt!HjiI0M}?n4SkR+&HP&W< zQvm!!$b^)|TFbm}As)G>gCD=Zxy7@WUKw#2!9vc<(Mm(Xkm#cyt>+O=m4n#511d1) zjIe526Jr?kPO;|21=2%>$$g!db%Zf{0b5{N-AwuOH8W*OX^CGR#jOkap34K>vlAsy z#I!@ljziX_5N{<^Yp3kzi!Jiba|%5T53JR&CTRm0_q9^~sEJZAW)(i%R%QQ2i5CuM znoqZ}iz|@QYRTX!e47R~c-TN?sktQkPNOh`jr@wCgM@3D5}2~OuGoHX)vW< z;LLXE3{1w7NWq_f!?ic;2~3HEN;rhBN35;%UXn>Lc~cu%AL9O8kb3zp_ZD2_kyPF7 zp{DCv>lBJXW8$*FvfWBXDG2vpQryczVdg8e96QUm+ePiFccMB+eOqRhgJ@re?T!3c z5oL84HhH3YTtV5U@|nNy8W5fZ{;^DBQ93&=uXB%&GChc593gU^Lw?#b*Rhlt2F&zx z;Z@2W*Z1x{SuFi*Xtlye!{7L8OKJKIkPT1n>kV|H`&#!dgR>*0@)RLT= zD!v?_V^>ZbV)QlrOa~(UPy!NvW*uXg=I%#?XJ}D*tp#lGw<5A_x}e ziOilFyKAjZeUbG@ol|?aO(caQ3oh7fXF!{^h+*7J3BbWYj<+}^i6cK$bMwh`syw>~ zN^Oe;%lPpCRT|!LwsQ?QbA}W4jD!*_V4DEWRS@1*U`M7x#*fUD#CrJpz9)WsiBlx7 zyjF^VCo+K?_^t^8SYgas3O@?FeFl$0Fx87Nx_K@9DxInO#5_wPJ@l#&@Lo3Qe8}`- zq~#hwipQAyl@4-$xNJx~oTv>FPWTSI&=I%J&buwg6>xmjXVxEmbl;S3V#~Sx2VMft zfJxwlY=h$vD_<1I-f4Wqgs4t?G;rRI3%RMn9YU|%bOL{CsDpCq_XI94xU~8#yRm;b zc%0Iopjx^3YhV0Qk77FSSQ}?{wyPjAPSrB;meQvQERgA44HLZb>|dfk?oX_ztcNk1 z&+C>9&#gwRb|}f;3QFGZI3@>&chUwPF5X9;i`{Qekv2M0QTRxLf~1ijjRfjnQydztiT*a(ASrGf=R!U{v#xQo+Dy`5fNk83jHu z#Ihtr;u;9Go5FE~m#{ETU4;3kS-S{EG4+G*#w7Rf1Tus=Bl9aV&a~Y0=X+VUojql< zF+0ifKG?leWpoCvMowjIF_?hDSh_XIHz6nOy2;?>epkaI_UcED>juI95_OJdKmb%@P~}XPWdeG$^)@(og|ao zugkWK6`NAv#>DULo^%Jj%peIgA8I;TctRf3)vtN#Nn3+ompiKKSVCcMSp1){D2q48LM+*icL8uSiq<{80Ss1&&~ zuh_8^$FRPBlo1pZaiUaGbc?95S@dO1=oU#{D`;Nf5xxsbGtmw#-(9-Z)>$|C>aI&F zM|r|8;jz#5>mJbPc3!k1E*}dz7Sv?~$JtC4v1dK~hKpxP=U+mY!)z^GugowMMFiTS zn|Ykj7olr_+@$dGrrT-u$~EA-Co|S%svudd-hRT&fFJRGO{yd8bhH@SihXj-oOe9h zl?93R9l~XF-^m_@yz=f}dIOe)trX;)yddQJt| zfkO;6(3i;My-pXrm!x>T7@Siu&q839H}0~E>mNbUBKNWszH|` zlKZylFT(eFEry{s|3DL3FoRV|%QLB*uzBZ-vo^?-kgvAbk$y+IO?`dBFHp^Qz)e7_ zg}^TD0G73nDzzgyi$(JwZ1k9di}nrSd= zSF9r@1a-Q`-&N%=wK936(oq<@IS%Jact&$$E|7wY26XPZO54jNvbGiRN=~`BiQ$gv z+7Wf((F3efFCdhVrXsuNiD`yX6VPjU*8nw%K*)ao@#!;6A<9SN7#VAqt1W!MCw9Z( zWFExvXls`&BoE7&hSy|?1n<*d11_a2x?qmWab{}Wp6}Ro<0XEyhRKZGhnO4DZ2A7P z=E$W{oG6~$KZEf>3RV^-tUIdq%Uzu+4 z&WW|_Wdh!Jkc~A#bXQ}a;)H(BD=MxWsk?2|PzgBdkjz zhyWu3x@qaaR=o8nkl=cgI@>%_1)lDv={?`aZpCzezj8`u1oru4VPBHg*{8m^LN?&1 z*mb@@<*|yb%q-RpEPvWp8D5dto_@AtT9Z24Q3Tc_h$M!Efss&ZwMikmOkG9e5ed2wQ$qW%p{{sl73Fi#65Qdeb=uGI7Z9 zN^-hZ@{49AOxZfxY&5oAe?1!^ZaC>D@3>)q_-Vhc9{dDY}VMLW!1nq=`d}D!IaKd!c?UApq`yP-G{e`Su9Iyf~ z$aO_268&t#f+#T&3dH3%c)qp16{=l;apfiCzG+&*=#oP1dsq`91}IEMDApB$)#H0I zer@|%m(%=bsm6wvS-Bj|9)_Xx{erOIC)8j~tRTv&e9h7uvy91b*IYX^(9H=$_%Mu` z!1XW`S1N&ptCI1)GXzSyFyHY)YGr_lSc~XeIS>8cbV!AneA=0B-^ZtfKzflT6P4#w zCIq76O8G#*UA6}Wzp&Ca*u5PRE4nK^m%jDxIfuDq47yo1 zxrP<**m^AV@R^5`u@yC@->l7$L#sOj^IP<1#CBw}(NS)uv%{Ur*egIb}^5@PE9ZjWR3ETVG_CpIsDyk5`ENM?C)l zMtm;rg#s%-&pU6pY;huxL%v-Dnn9c5KTnYHC$g`rQBEwV5?#=$WFqjY)tHb|?Y{-p zTXcJc1vw&26l7q(I8jJkgfQ&P6#lcG@MeYfCz-W5SNIqO$+c%E3xm=dD@L|51PV-s z%%$YLdNrolanS_=aspganFQtNXS3D6C#!TYj*z2Q2!?D2?7tR0z6Rju*#9ow4e05g z-0y;iT>>>BTX_eSpD;B<*ML&iy)!X{0>b_NXs-n`<1LpIyg++%>@)8)u zlX1X?=QUT5$tPZPUm=hcXVll{i|z1TP!8pRWlV(7v4`W~BSiStrIE(Ad~yTK;l;qV z!X2NnL%aT!lFo2AD=v$WSEvi5(WAKLJC)gwtW4zDUB~`=z+8w|(&ycjki77plmI#^h5Ey%qWMwJEKUs;W&SwpvjXEhSVHHDXg#Y(?!& zt=KzJB1qEn`JVIt|F7$uN9R2GU+2N^K_29~awT`}`~803uh;86K1yaNYA1+w8q#XM zyq6~Q7xX<~MS8oMl_W9WVZd*mZ;567T?K3C4qd&ycks*3EZDkhi8UM{T36w+cVPHz z3Xi+O?A9f`>@6sDB#dIHMmz(qi`#oj8Q7R~g{K;B{w(O4KlW$$X7|JPYB_0kk>y=G z&_c3dx-o-a#q%`F+Ss7#MW}KQD*G>}ir#qf@jtf>cKN+Cn#leaGzDA2Op>f2)2yww zj?!ZDDn5TfzCCd2M@%_#;WKjoo|5q?BT%eaMRUA?2dt%I0RP}Gs9-FOnsAR|ODTar zmkZUR_e&+tesrocsd|*pz)^PRL>|+_8i5AzFZeIWzDSNDlyc&B>a+331~G6_RaR*4 z?)mZ;gOz{xz~W8FdwE^)*>;cYdFf)X?i+o~6msfxVK)MgX%4t+%Jm@r-s;rlhI%HA zZr(_btVSm=X+F;;D9og?;rZ{HKVso5B;ko&+u-U3V>XiN?NMn7{gV93w?&tJo|Qa{ zILik*HYOgBbaSl8nn?cXrycIalg6BHdijE#%(U+vm|hC#FQ|RbP>?!^{`G)iw;$;L5Y|+s{>TNY z#OV;~h%wuJ4=5XSTLgJPhnf6wo_aIDof4?~7nIFJ_WCcdn2mgqk_9&=%vL|guZ(}B zbqQ5T+ZnDnBT&XOT|ybLUW4L#v~WKjchMU}^luNW)Li=Ifu;+fck=k_OX%B{@*BkB=wT0UV~F;vQPV8dl|sUz=G@0^~KmxjXrOe}ESDvZo@Aapjudvsq_p zY*TIV4~&mx06o}-9l0)oeYp5hB0@aoCZVpUOyk-irYB*h*Sum3p=Q?&z~%b-)>+0p7h!6Y2WG&C zFuW1+Sh{|m5+eQ=G&E#Z3pkXvQbQ~{vYu{R&*nyu{@rjSqdfLUZ5DQVkKCyIgTj|u{Kyx5!PuDDa}(@?vx zES|MI5WE_27GNim0Gm5Ki>0Dmk9`-N+B7Y3^Kot(a-aKPTsdB)KPQY#p(*DD-kn?5 zl-iUdU6F&bH3B%(E)CejJ{#C6>nFtE91tB#eIX~}>$IOokpPwkOUsC7$~Hp1)>RqZ zb{%D@%{M5yUr;F(Zo@+U9H<8BUvfOfxw#1G!5-( z$pR|J6e_`ksj}`q4Iuy<+&*(Mw29_R4s;~V9 z!QTCYgz1EY@YiiX4H*d}I{3;dm&^!au!*0mxM$9~#B^Jd%O{vJj_G+Zf=2iOg}&Bg63UBO{KBK^(6nc*KLjr@D

Sdk8KQ`^tY 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 ShX1mGf7!tQXB&Y2o%%PdV$SXW literal 0 HcmV?d00001