From d41f4a6dc69d098e9dc9173b7e1a586695ef7b97 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Fri, 24 Feb 2023 14:48:15 +0100 Subject: [PATCH] Improve image test comparison --- package.json | 3 ++ server/tests/api/users/users.ts | 6 ++-- server/tests/api/videos/video-imports.ts | 28 +++++++++-------- server/tests/fixtures/thumbnail-playlist.jpg | Bin 4981 -> 5040 bytes server/tests/fixtures/thumbnail.jpg | Bin 4221 -> 5568 bytes .../video_import_thumbnail_yt_dlp.jpg | Bin 10163 -> 10676 bytes server/tests/fixtures/video_short.mp4.jpg | Bin 4981 -> 5028 bytes server/tests/fixtures/video_short.ogv.jpg | Bin 4981 -> 5023 bytes server/tests/fixtures/video_short.webm.jpg | Bin 4981 -> 5028 bytes .../fixtures/video_short1-preview.webm.jpg | Bin 31388 -> 31351 bytes server/tests/fixtures/video_short1.webm.jpg | Bin 6309 -> 6222 bytes server/tests/fixtures/video_short2.webm.jpg | Bin 5506 -> 5568 bytes server/tests/fixtures/video_short3.webm.jpg | Bin 4981 -> 5674 bytes server/tests/helpers/image.ts | 2 +- server/tests/shared/checks.ts | 29 +++++++++++++++++- .../server-commands/videos/imports-command.ts | 4 ++- yarn.lock | 12 ++++++++ 17 files changed, 66 insertions(+), 18 deletions(-) diff --git a/package.json b/package.json index 5d1d2e747..b9031389f 100644 --- a/package.json +++ b/package.json @@ -219,7 +219,10 @@ "eslint-plugin-node": "^11.0.0", "eslint-plugin-promise": "^6.0.0", "fast-xml-parser": "^4.0.0-beta.8", + "jpeg-js": "^0.4.4", "mocha": "^10.0.0", + "pixelmatch": "^5.3.0", + "pngjs": "^7.0.0", "proxy": "^1.0.2", "resolve-tspaths": "^0.8.8", "socket.io-client": "^4.5.4", diff --git a/server/tests/api/users/users.ts b/server/tests/api/users/users.ts index f1e170971..1c00f9a93 100644 --- a/server/tests/api/users/users.ts +++ b/server/tests/api/users/users.ts @@ -1,7 +1,7 @@ /* eslint-disable @typescript-eslint/no-unused-expressions,@typescript-eslint/require-await */ import { expect } from 'chai' -import { testImage } from '@server/tests/shared' +import { testImageSize } from '@server/tests/shared' import { AbuseState, HttpStatusCode, UserAdminFlag, UserRole, VideoPlaylistType } from '@shared/models' import { cleanupTests, createSingleServer, PeerTubeServer, setAccessTokensToServers } from '@shared/server-commands' @@ -274,7 +274,7 @@ describe('Test users', function () { const user = await server.users.getMyInfo({ token: userToken }) for (const avatar of user.account.avatars) { - await testImage(server.url, `avatar-resized-${avatar.width}x${avatar.width}`, avatar.path, '.gif') + await testImageSize(server.url, `avatar-resized-${avatar.width}x${avatar.width}`, avatar.path, '.gif') } }) @@ -286,7 +286,7 @@ describe('Test users', function () { const user = await server.users.getMyInfo({ token: userToken }) for (const avatar of user.account.avatars) { - await testImage(server.url, `avatar-resized-${avatar.width}x${avatar.width}`, avatar.path, extension) + await testImageSize(server.url, `avatar-resized-${avatar.width}x${avatar.width}`, avatar.path, extension) } } }) diff --git a/server/tests/api/videos/video-imports.ts b/server/tests/api/videos/video-imports.ts index 5636de45f..80215f038 100644 --- a/server/tests/api/videos/video-imports.ts +++ b/server/tests/api/videos/video-imports.ts @@ -68,6 +68,8 @@ async function checkVideoServer2 (server: PeerTubeServer, id: number | string) { expect(video.description).to.equal('my super description') expect(video.tags).to.deep.equal([ 'supertag1', 'supertag2' ]) + await testImage(server.url, 'thumbnail', video.thumbnailPath) + expect(video.files).to.have.lengthOf(1) const bodyCaptions = await server.captions.list({ videoId: id }) @@ -254,18 +256,20 @@ describe('Test video imports', function () { it('Should import a video on server 2 with some fields', async function () { this.timeout(60_000) - const attributes = { - targetUrl: FIXTURE_URLS.youtube, - channelId: servers[1].store.channel.id, - privacy: VideoPrivacy.PUBLIC, - category: 10, - licence: 7, - language: 'en', - name: 'my super name', - description: 'my super description', - tags: [ 'supertag1', 'supertag2' ] - } - const { video } = await servers[1].imports.importVideo({ attributes }) + const { video } = await servers[1].imports.importVideo({ + attributes: { + targetUrl: FIXTURE_URLS.youtube, + channelId: servers[1].store.channel.id, + privacy: VideoPrivacy.PUBLIC, + category: 10, + licence: 7, + language: 'en', + name: 'my super name', + description: 'my super description', + tags: [ 'supertag1', 'supertag2' ], + thumbnailfile: 'thumbnail.jpg' + } + }) expect(video.name).to.equal('my super name') }) diff --git a/server/tests/fixtures/thumbnail-playlist.jpg b/server/tests/fixtures/thumbnail-playlist.jpg index 62cd77435a2f1a90ac37bc6d09ed710e9036ee5c..12de5817b90f3dc1f34f7a1e5f6ef9a6bdebc5fc 100644 GIT binary patch delta 3544 zcmV;}4JY#TCa@=v6%hUa5KLiqV>LN0GdC_VFfg$b(gJ@iX?lI$tA7oSn{Oq}+{bKj zMl#HCo(JJT8tvep6E3v6Luh(}>TemDZHy#4AnL$(9`peXmxTO5eQSGjXQN-wZ)D7u z5=RR%#LM@AKBK>-07s&DYg^Z0xSK}OuWzEa8I_=fxKFM-`%nXa;T+aKv0~N#0JCn6 zn=GD6T!??p#(a^qA6$Yc16EImelL#h3s>;&q%J2$k~sX6mQjqK!y_Z!fGFE|OJBOz zE;MU>Ch|>I-FM4sv6CVWIV1iAKRN(>-VN~_7gqMt=(njo#LaIK7>-^=87Mu#?LZZ@ zPYr8Y?AH+J+Fj-Jmg6$45f|C@$4-axpbM7X2=RYC&YYL;QG4)L<=~rwfW(?TRA0ShXyyp}FHSdMIHl7c^zKZi2oDi&$ z!e#_MVze!R>KbV{^w0Nb1I?%apaOsj04S4q0up~VycvC_>Aoq`Z#COPd8R`sYls3X z`HPO5Sb%>T0QL_M=voiL-v^7`Pf4}a_3e1O+9kv*HLbEMgU8)vCOJn;{K`8D0PtD> z?>+?o0LfbL=lyqY{T9>#>)#Lci#zRTN8#I>i{qea62bPnupsj!n(12~GjIUN(PfpYU<=+TjPd+H|n+vP< z(*FRkZ-3GXkFjD{<4^)dk+Kh|7zaMo0qPMgmE%KiE*Ad9^=s%)_oFjU6R+mze+mHk z{{Z9j*ne(VtQS|!sC|yq&jY9sBKZllq0UJ?@&y2J9u;jRHQQJ55S6sWC8bz~S-3bK zOyf1jm@G@f$zd(d_PM1lPIc`zJtlwWN6>sx;OR9xO$+-8()t@~c@@d?)!kI^ah@3d zBd=QdYIwY6UyWFLmA$HQZL4h3Z0~gG)u+s(%c-jVAMn-gy{LFvFAcr2Lkoy?K_eDv zRTYod?|Pr5aV&m1mL3_5tMgr}!pmmb{SAGUDNWH(wYrtOE#c1%YI-k(Wwd|Ogob<5 z72D6tO3MSY4!?JBQ{6DEl zY2h6%2ob^y%WIv|M7zcrlW!RubvVsdM~!vy6xB>jn}21-$?4JGr|1}}N-%9fdY&&| zc6mWS1ppKPPys*%02BaF0YH<`4hnw(_pXXGj~IAgM!13t4Nk+z^1Rt%4p4v{4H2 zZ(ebc^K-^11Ec={g{R{XH4wVHFWcC>#bAsb#R3wiZ^%l330zPHZ-u;Z;x7u?T-#_` zi(5f(+ueM$d^Rz;cLTMt#zqYQJ$!fKHIvL;K!^JRX}g4JkpeJfQO8h5cXjum4S7B< zc+Kx(x;mUfSkco0(jBe88;gG~+%p}ck|+ZsPVwJ}H187LYxZ|g$En^%VVVBT5k^C| zBVk>m?v8?hERTskDP2a!`aMM>xU!mA;4$08px^cRJKd= z)_@~#i5@9!MjP+#ATD7`h|z=*fwp!nAR}%LSd-6A*q{pDCh^X{;%ze8!&$n9duwv0 zJ+{%K4Xd9@A_6QtJqU8veNha4!+Cmqdv{#Qm+;PBDH z$}VZAH|f{N>%>V(^SP&Ph}nH}K(g1h4-=<~Qs&ZVUEtEdJJwb}r{&KC?dyU1R|3G} zD&e7kcy3uHuRSef+x>f*`&x0EtIvNUnDD;0q}uo^!?xF&thR1)N2$v5HKdzng&H?d z{RzfM&m9eVxa#UI@c0GKDiKWXWY17zC5rfFl0@gnvPhjY2Mw$ZWI+_#1nvw0~3Hw zF~9`$pa6J#R5EN9q<`>E;ObC;vnO_OkKQLa$20)@e+}w)cJa+;Zf;SNdGd%mes@qk z&+gdqo(6jw0E!Iq&IxRSk5zB`X@PSB?e;83(}5F`o1RLX&|DEhPaX zp(C8o1DZ#6Ebh$5sV5}&pat`#+^5WZuS2-;Knx_3N#vT7VFHAckPAzbzybt+vjv6S z#0@kS(#sN^rIAU&7(G8cPy^P&@t7*wToye5jOVwv zxctQc5m;Tz9Fj+GDM-*r?X-ZZP65xRXaWBK*>~Pb&GuP*rV2yt;D$H{KVCkx0T0=3 zJhLa0Cc&JYr;KAH{$hYE4IfbohF2gdR3tYU;(#j81h(v}G8AS|;2z+NgZWSd zbdzxoE`J(YUblayc|y)|i4=xVgaW0A10;9*qaK80Py?seZ*DE5g5jfY; zc|6bsbp^!+271$DU{dobi%t8a|;ekEq{?kz-7xCu~?aAO*k! zpzYd$txjf>feSQ$^>2l~H_&bE*G<)~Z*0sch|h04Q8_4PAcG+aSNG?*Wo1$U=KvP< zzl=H-o2}g}Hn%sCG;zYFHjLp=5H}V1OB|oOkOt9`L8W0@&qYvJ z9=MZByAY&KqX@ufrXP{4l)!b2cVz>1JFI+VQfy(Hp8%=P2Dp<78^y?7FgnKHuOm%??f;@S$#mqBc8MY5`Sse(p^2Qc6Tju zgDn!o#ngL@XSn?60b5MJNfI`)x>+5HDwvoSVblSRPqhF=ZE16LBPF%G(>e^Y#)XI; zqzV9EL65BErQ_IO~jc;(!`-+uPyutN zUfRO5U0K}26C5ka6Mrh6{1PYv--a~Ub!}lR?q!lBXr*w`fKKI&m=1dqpil=x;{N~z zL!sO0l0$lPb8KZ{a5k1;v7M=b$v$TTryqOJ0p2L^b)JtNs1{q~xwE#0V+F)&2xpX| zDPh6D+J0P&k~8x10Y8TP1e&#uoiwst$0f?7vMR^-B59g4Cn`_60)w8M&;-|?5A7lF zjrOq~p&^>qC6vIxe8Hl%e2-vm2tV*2dI0mPlYs&me+{1o9UXjArk@i6bYUp_P#d$e zAME_!l>mC4q2Rv_cmu+6>fSQ4I*z5PGaWBY63Gya75P4D5)M((u)uW3T+j!J&t8kstW+kwFwjff^{82 z4NJt{e--f6>C^S=U0V9`C?r5()S-1HqdDVxsK^J30OdXpYuBIHHy#|&bpxe%hFkT$ zvzga1UJ)5nZ6WQRqacE41JU$tGU)sx(5$ZQ7)KoTckISICz$u-I{Ig84m~IW<)`-C zn*RWbbqn7TpwZ)PS_nQ?d9>*i44mUTLWN+ee|%yLo(b<2#u=K{Tv1OTsml zSKok839h8&g$y^-$nR;4xz3|VW>%} zf6BKyTu8w#-}^vs&fky)IXFLs0D3U9w7+Xd+!s;PX4S4#AL51OxQ&4NF^td$h5pbt zPH!~ZQLjxrV%FKtl2yW6A0cqypOlu#>CZF)=Kd3dO}N+XW7h9p%TCENOn~kK2Z4Zk z^y%KX^9q&eVdX3|d8g5TU5zOyIi)vbe|Oiu8}R3eJTES#;iS|op3?3sH8*k>Sp&MS z9GqitI3JaKBt!f?^fwh0_ zn`?5y`f0Z#vVhnlJvkkPa;)Prr$QNpM;A^{;Y(DTv8UCjxjHewGU`L&?+0i%fBIL2 zr?;Bw>PzdBZ+9V;lYtAfMgYeEs2_!1Gdssnt%-!K9!TCje$q+5RnVGvYEq0I_j>)r z9}xUKrs&!o^ILdpShgzOTvv~E=0pbIGFN#Z5Th9$m8MOZ;xTpLr-_WZxZ2Nd_UYs- zO$bwiY7KeZ@;dt?%?bc00H6YZlehvCe-FE5(DV-)_;*4#b~akYw08R=xDFj*J3wq; z<2g_d(zz?vtqQP>I9@MzeT^d+xVGJy@*l-t2S?zK6-}l=e+BFq425J3A`eLb`>o#| zn69%k55l_b*M@vSWvprI3*A~Vc-Cbl2_TL@Aoum43mQL)H4P(9)@>|Iag9_)f3r)1 z9Rfb_u!F`=T<3}a>f7TNh|Jg1eV zaL#&rPzI~~XxCck%DP^Hu}CKSe?_>pZz|>G3LWGdxndL!xa80WJ)-#P??&-1qpVqJ zS~C5<-R)(uHplFuHru&GVY(f@z0Ck=S$tL2^!xoT=S{QHY?n@&d7*;d21vhr0Cg+7 z?(i@MIiL*B2zd8Y@U!0=J8e4ZJGoMJit-ON5>zCkuOkczI5YvKJ}PSOe_>^Bcc$o< zliA!g)HjzFrKd+}yyhXd3}w3D4k!WN@V5L#{jCn5vDhrJMRg9*8*O#CkjUYN?#y`S zj1IH`mE#{A-T1D`+8skn(czu|i}uTFVw1?In?kdeIT*(t!hj<9X{Fd}9x$`E)!h=r zZjwOnv_8?0r2Cv#lb&L0e_^mwsfSmdiCbOzofud~brPP(qIlLlRx@vO_xcsLhcw%m z=1o4rZ{Zpt$E(cRj{=1F`*?|={DAuO~2IJf0;&ZtCHn8UkBu?`qu*6^HKOx`2Yy0zw z-@^SbNsmp_b+om$jS4EmVLD?yPZ8rJ^PgG(`ETM<=S@ev;02a?Wg_pJ!k<_Uq#ep zia8*(nq_s}`=l&a=Va#{4pF}<0AyNDqc5A~Slqvq;y2qFJ6N0meaRqxGyx)L*RHUU z5e8_UWK+Q^tGhV&9FJVk1T$&3uo=YGlg3~QW!)JYH*z!Sp40(Sld%phf9QNG2B7x( zgt}~&s6vRGOq+}ESNRu$K47F^<0OIC6alld#JAdl>Gu#@HQbO$B0ChcX}8KaE0O^V zuxE^redq$DdVh#kF$B=sm7QQJllezG6s&!EU=j{-*O~yLd`+ua+}>rQj`ih2()nY2 zW;AHPUr&^fd(Z@5@RaI;ep&3Mc#BiAur^lr8!dpBbR9hhr2u45lVS@jOb?D(BFC2_ zrWiQd#C*e{`iz4Ta8 zts}IOGswlAi7d==N%b@Ul#`JQg_BSdOn*$4ml9jF@xd!Vr)x;4N`uD)^zJ`80F9${ zP|S=JjDkm606e$;<9<{C_^sxZT*VW(Mc%|NcCK-g?UO(fojUYHB{r7=G8Bg~wg_W| zImdq9v;kbk;Wrd*yo}?I^T?nJU)g$w6#a(l3_u6TZb=y(y*Z!?(?cu_t2A#JWeN@h zsTotqBiPUblfeQne>HTCdizN*{gKmTQZ%6%a;(Gw&#pG99)trx4!Q9K<=v!~*Fq_y zU;x|?%Z%WTc*gJP(~1DmkHuQl@mzhF#U99=rFhqC6>X|XImtQO&sqSvbE){Ib)Mbq zq+nxPX9)qo8;Y+3j!z$l9mxQv9p1NV6nnJBTYFHXuav+6Xd8llnP|Z{?xgKW6 zIPb9Iy#Qou)*7T>$*5bbYiL%@inwerUBDBPPY38Y91IEo#gm~9GJgr}F6Oj%XbO$$ zQG+75W#Hg~2<$&90Ppl&2gRD*g}u#%{8LMQJmCa!Jd-eu$PU|MH~{gIamXIj0d_9~ zc(U@=;sdJK1?Cyzm0cuK4tBUPh6HXTXR~p^)20r=-9hWB#;~`TjNNE^u0I(#Cj%Wj(@sIZ2 zk$WzUs$V3iv8H3U;v8^B7ia*C4sqIn?sJpD3p9TRt$Zr+u7_`Kx^|;|f2X`LqCA$< zBu+{hh$C?Ul=^Vrbih1ZBuDqL0-QU{HEINd6F<6!_HdTrek@KXwbm%r|HapoLnc_#|FU~$tFfuqm7W8zD173;HVmT=7sE~x^56XZItLQ%}05-3n{HOsy$4UTNlfe#u1pfg4+1@9hmH+?% diff --git a/server/tests/fixtures/thumbnail.jpg b/server/tests/fixtures/thumbnail.jpg index b331aba3b875653115bb53be293c1f80c26e6fa0..1e2897fb8c44a9c9b66c40c8319018de403740eb 100644 GIT binary patch delta 5015 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 ZxdaRdZ{dOj9gB8Ou+(VLq4EBF^FLG$htmK6 delta 3659 zcmZ9Pc{tQ>*TBCsW*CgE8N0C#22I(?l98Qcsca+J4PzU!(+nC#2uXHdLLnk#?$;ae?)#kkT<1FXIiJ(7@=H2LFjw&^TRiZ#rM(YA zB`0_XW!mBncdikHt6KL#ZY6(19Q174Xb^BC1P)l@os#FmJ0$bb`Wv4J-0$(ikVN`! z)jOzQ)jLV+>2N-IQYYtoJfPLc60mE%W(@>Bkjw{0SPMj)h`azI+~(r#VYWdysA79H zJPseuYo@9^9)uHcB%k6#L#P!L@~Abtzq@hj7|6RnGv`wS6Kh_evBLpZmwbD+f#i9b z1OR%^h_ZPQ8>b%x+Mhx_Q7S)iFa=wm=ogeu9h2Szy{8}qIDiK1|94}@L26j<1ffj) z0`ZK&jWl^CV-*K&r*GEQ1a$~$RDbC(Hz|f$j#C*jx%n(xJuF9S0H-_|2H;o@SXguV zn=t{&{DBo}2>TQ#8gXA2gwnVG2NN-&97*z0583dvOIPfk?q;Z)kxU+8`p~Thi}Qt9 zMu3I<@X!t;PIH8DaV$N@r++1)`RAB=2792Gs-tkb&%%T)(?E+Sd-GL#lj zLVR3xZmzM1y4GP^f2qGfDduxx(niZxl9_sFym0E>J#qXY>H3x4SBa9kKwZkzV(=4~i10!??3IBqz^^WP4_LDL%R25%EvyPR&qs);mw25eHR z@kpXwr25kpCykAP1<}B1Zte_cDO}-gil#giZLg8~o!)3A_{2$QU;AdPIP-DT2hD&7 z?8ZiAnoSB%&U3HkohJ)zGuID+r+eqMn$9H8Sz7GX?#c(ncM7s!abq`&l(Ps^8KF~O zpSj`iw*>~rmOP_nTpJtld!O)jAtsXlYxm-%ON$m$yn#7o8Sw#`pFJNE&2NM{3b|O{ z(Ek|ut;p^q*I{A(vZF(K(YGmBq1LS%oFa1KEiWb8TpEgJ)6htk`?++w^M$rWU{^vj z@>*6N>PcC{UJa}jV?L*AncP|TZLHI!E|i9{HA|JjY9goZZhEzLSmJL94E4g%f@GAv zDu^hxhaJ`h5fV|LDK8Gn2?rdy(1#|wQ_WLy;3~AU?j?dzDr1_P$CtL(9vDMKB@O@_ zN9ADbEvuKkHZ_E*mo}ZP1uh@`!lx&^Iii`RG&@17xvSb?->qjD$EOV+7E(2T+{ip~ zRW)ktK*BL+DLb$B106sk??ncLMW`8AuC&PI?t-=w^tUO#*&-tqi9b?fa+)~CJGWz^ zw44?5KSW`azgZSt`02V*u;^mq>Atbp75&<5JYKSBu}A4}+uV%n5s{qZt_zgYO#kaj za!$F%1cbS<=&)+bWMDieib;J~^K;2p-^!r#DeM2nvZkYipQ87ymDBb*b$O4tiaQwaQ)IOwHa#3v;&)oN*wD}Ly@ zS@oOo;DrE7%&p)6B>LU*rxU2TFMkOpT0eJQJW5yG-VAFu49V0{qdw_zG97o4@KjQi z*l$EfX@r?L@rkUbE~edHI?A(Nm4Me%hdJ*rGaM@;N|IMZM=UpOtFf=Iw#MFe{c`kj z)*s++Iiq?&>U}-&&sQSXw6!D2<>(iip`lyD zr9v$t0dXRg!CCixq?D+Vy%*|Q5=T?eL>JQK!MKnBbb9qyRB-_)RV?Cqunkz%3 z*-%}BA%uBca9rcd-qsE6TS9eQZpO-wG){@3keP(DQQ=&9E|uN4pac6%jX*hD7nkoI^MQvylcywV2bxM{IIt3u>+pzpy>Q} zq|>yH-looovm4c;%zK{EwnKCun;r~r*twsb>3lG|oxKu8roi9J+QbRYW`2p2a&uBr z^Yg$pZv`;%K$M_DrV;`N)xWeOoy%wLXk^V_w0)|Az3DAyOJLNIeXMuSUC-4W@cgwD=@NNH^LM}?gFNWCJ#yYMWdXJE*i)>_X%0oO6 z*u>veId6ufSa%n(?cWn9N%t_yOFMS6!T0dPSMuaNZwlmz#|6i{kFMl-Gpe@qeXBk8 zq4f9?)m9s$y{7p|N!-pV@k3{dXtAAcC!k|~(nl`L&`eF^3`3pVt(dl#j_fG7MybU< z9q(=}pEplC`OT;c@peRIWYHMD%g0Ld40k}|hZhektE8`gEc zVn2n1a#xD575F`M`0mt_;qN}VulD(Zcwgwc2KL!-u<*wny{%>4UqMY(+9f)>3|}ZzSK8fsp56TB1>aD&3ufwfI;3+C&MKIg zQ}Hj#@q017&wXtYR7mieBA*eA2As=i%G{4#S&Gk!Zrp;!OiE7$fSolZisR(;%G|b}S?cF#Qrb$iN$SQo zNAOzRUe%(H9PvwacXr2OL!IF8_n4+fHA~YV7f$v;14mQ<_itW1Y73N$pBU zcTEFb5C0yhpKeg|H0Xb&i(i|k_2@|%!}h3CN{Ywox=;qSH-31G9%}B z3#zAZ5LJy*~gWf1YM$G;f4`Q3J1GYuytXEE8#&CiP zIqCRo&sMq&JzhDJ3nJr}IOS-bG`QTSpf6Wjr|D&B{Qt-cE(}yHHM2_BKfHtkYNczX zLE{X-N8&V8;UW$yY+x^>(gh;024d_Er8_26l-}K$<{$JLuYdB$a^$HYrkfLH__k-K z!+(YsQ#ts*%Kobpaxw>mVR@^$fI6)Y_xXyKWG0VMUeNeUGqdv{=ro#45RhUr3^@&(TuzvQt4JjmD2*zc5nF?`kZs|Bu`vJ})_G+2y^N6E zpCxzPIDN_Cq7S}t%#@`^v=shUEnj=|48Kf@K_6bpp*%xx9PyDnDz<)8xZq1+0XjyR z(eYMlkQPs|aHs;$t)zdq9xy4*5Jf(mOwU}-cQQxYd% zcJdS^Ft6}{odvwm43VjI7M96KN697&B-Otq>r@B{*D-ZLu8_vH#R2?)zGO)p0}>(f zw~3$pEWeERc8kNP$tsDv1dV3Nvs3-Ha?#tOmHufLd-DGPdN2~9DW_^|p%jVwMBoGc z&%U7tL|uFt(GZti>B2S$`SioyCLRCqnpddHFj=fXCY!@i{~0%`oqo$Fs?7qUek+4u zEg%qGReuje!_)pkZ>cM2($b%zA>6E1z?FS0C ztcp3pK@KjH6H^W=YiuvrmDps8OLN^7+i)M`L`rh}B=?tQ3nIuaz8Qg`H+&qCp)M z!`vxSa8{Q}{6C}*okkjwLn-kZb7!pYg znXQu;666&c2$gI@s^fq$kWH3`%m8%w-2RzVATT$H1VJ_scrwwQ3H)sXG`YZE zt5Ahf-dzanrsOWf!=@r0Hj&3nE+;|hjF%V^cC4#&92C9C+%ZZ*m$Dq={`0o15M z^7T4{NCFBE7%9HUC3~%((wkE2uQ*NMLj%=Q0Oy`2;CnCy{YaCGhLN0GdC_VFfg$bOag!LV3p;bpu1@dP@GUO*k}OQ zX$VlJm<#35F*Z^pUoL@%mp}%}Xaw0zKvRl9H)-^s1=xKlfQ1bJM#yvCferG_FcG80 z04J9~0gO`+&A!xV$8m)@pe`Yfnqb5$iUcMppb)JW0i|fTh7_u}h7~mK78+OBQE;%v zT;hv`hU|Z)CV;OL5=KQa9cYi*xo&ie<Zk zKfT(zD&=)4#mjRFS(Pf1$RfPnNp?H=h$o&nvANeL-nOSgQqiM2m7^V)_J%_c zk}wMWYt#P9w^Phnq+7LyMgx*L2Dhh{(`wAhreM~wW11{ior%IKJ06Y~6YX~xQoQ?} zx?g`mr7=aoX-anig(wh(G1`Ez!oJkP!WH(WD-o3R6ad}6)b1uUueC8)X-{fmvDk$b z#B^A8%0Xd5aX?s5p41M(<> z7ZB2z?M1@EloVW6Gqp=+oW>Aj1I>3}>c)Q(_l`VVB`De;mhviX#{gp$^w7uAwYiU- zmI}7~q$bHj2J(jQTBTZyo%xXxr(G*F$K4b5W)fs56{D>Nt#c?sN?RPm%vww-;2!y} zI!-Ol@#I#$kbkHmBPIv`=dVf~iYM5HfRKMu)7UVTC=YxL87-)Lbku zr?oqUh83dX8d9CaMpV!PcIKK8n*}?7)=|wD6^O_*?kgRp!RcH_P~emb!i4sqX$!O3 zf!I))qTncxnl1yjQE(H>qygp70{MSu8RvK5H zl!ak7aZNEahWT|$OgU5BYeX1ffFi9`pK~`#9gbVX1{*v0&?>6B=!k!&E9T{9 z?tKhXu!Sl|W;K%(42;K3Fc?yu#bJd#Xt-EmOjEe5G^Z3?Rv1#63k=y#;%I3>MZjYx zS}r0zrk%uh0V|B@6h>&c4hcoZJInT>;3$utlnhZHwICPEpaaYHpat^i05Q-482zXL zr6{-w<9jSoEj*Ez4kJ_EZVm3@sa3d+2q{PU|QE?3@DTsezOw$qF1gdb0u7W5Hc$c>=m89L0G?d}8d888<)2DmJIgqr zLmD%ll+XpXG|orD(l z&$21FbW~LY51_2$CntZaA1YfM36I*f5Z^9=2vV34l%NKb;(!=q=b8jY$;}rK)=yfi zh>eqjOk_-ksR(Au1jyMbh>e$%OhXD&5#I!^BcyOj0B}kMKV<_HB_;y-bglyVbX*1U z=mDlaX@Gfj0C{v?z#&gjMZj;AC=iA^Vi#ov5YEX8mXVc5sW^YCNr<6&ai~Kg2sB&k zv~}FFK)aNR)-a3J%EU@m=w6B&lWi2&Hj~=l}+dg43H#AxyS?Fmo>F!wD8p`>ji&v4`0@8^!+wjOpO$z?TBs3 zZaUOabFEX78zIh`rwhpQyI;5Kx1hAMPMd&YU+#i`O7$w#g$Uk8G~nv|C(!;0&>G6l zFE(94S7_tTEI$la&D6~(Icm<8hMF&UgTptM{{TIkG|r%r9I|}GduRIMvi{hk30t7u z2h{UzTJL}RD)viFLf%*>jAfOuc>D>kT9s(lk3BbZYflBvuH=!7JRzrezJIm<0Bp?! z>;NIH{KWuq#xY&=@lJ}fTOM6}66W6LMQPysKMHB)7;ojfmPXz4LSr2{u6mfCY|5uY z*{dO*T_tuKZYoXz~I%t)z*uEN*{|=*mH(V6hjKMaChDi-8+O)|iOe zIsjuw$4Uf5(e<;fwp+GsomYdNhE7euJs6Hxryt zp`w3xX0WGoM_1GIPYdXmm-?AohPP16vdAOeJrH+3gW9~x80=O)vV|=Z{0(OaQ;#%` zBUXye;>zD&@b$x7>2kjbC*DRKQ0MWlN}TFOZx4vlOYuIpB*#;)hjeMj-b<%blK7Jy zmZ=mUV`U_!{EF<#olHEMnd4?yRay--sm6c!KI&Z;QvXG7<;nn)p0MQC3ra&EDtM&o8SO^Cfh2I)1sQY8W;; zg|z39|`t+(x|w$-Ixm5nhCIx!YB#&paC5CClwP$5n*GtN}6-5AM{a2=CON z*0QOb*Z%;QYQCF24dLJI8;NjR1;>_vdl8fQ*M47`RH**|e9}i^ ztml7iO?;8f_)gmMRSj>cY4BXYTo!*xBq+lk*v)+xv`O7a@o`XupSv3!t?!2Hw2d-m zu+m_MBP@LOU_J0^Wm@l6aq={AtsYHjsUr-2)b25l7g{bNBN(FMBWTVkffGm9iU5qq zPT)f6&q`^DqBe}taaf6?>r71%G)34C02-byC^lMvTTPmi+27ZvX`W&KN?=jLsN-*9Y)eYkt+Um4h*hjS@Yq> zcdzGD$sp#5Qhid=Cs^8K^IwEa^2geoqTwEQvMv$kc1LUA8&*pzo7=b%?zatzw>uZm zd;8bOX87k;Y82g(+_3z%Ouv8PNv`I#Tbl^nm}CyoH&$MZ2cgF!>5AaOdp>6hk4Cri zJ88vIc9x_%u7juey2`?BN+*A_NXH@e7E(5{lj(!c(z-CX>e+my8ZUE~5keD}krOLeRT;a`?B2T%<-|WQTsg%TUcBT#Dd`D3h0|pPKTLF zZj{wVuVZG@#un)iw3gOiIgZZQC#7@CE_UZk`UvrT6(46fJD%e&{32EwLR&q(wD&MT zLTy3|xF6mgr@m|B+Qxs>uH|;3*rS8R;(vJsqx3l63*O(udpe7Wge7vhe1LP%b6)4O zp(SapOtH8;R3q-h#_w+sf2&W`*_`}9m8vuk(FDM zJ*PgT{YylO^+@1msY|e|a(b75{L)NPV4p)>5UiHwa;I|!5nzdG&Cz3~dqOO0F;rlHj_D{cG_*lt-NMiX=8XX_krTPNztn*Y;93Wrj1#Z?Yu>0cPy6L zJ*?N$J8pkC1IttDSk~WCoL4nhZ_J5Nlvgz6WKr=>hp%c{f1CE`d!3Jd^pkG zYkEsXwg!;TZrI}t3H=U#I{S>f6&y_%&i?mPmcDfJ@xNDvq_h=094gdO>UEZmer@FL+Ywl11?}3ce**#g^$s3Dskln|!c$AM)p}(D6X4Z+A&k0I@6jK?e*jZU#L33+u z8qa?d2UgqBheM8(POVw{t(-3=!$$9x#?8g`+Dk{{~ ziivECIGEtDt!D15%A6xT8Xq)_>$H>XGgBIBKJ|myMJ*Aj6lB1e>P2?J=ze97{{VQO zs2I4aY~!&TN7j|ZFvU*bMq{UNB6#YAM$v!Ka3Fa2=}j>-K+)v%rWP2{a%chMGHqP$U?qJ5w~Un zyoyhXJy72zCq8saJN-*iW9mRc4ZI(w7N;sMh@n|sE z#aVkQ+DP}?E2yt6)>zI-9M{E84ibNHVNwp9toAYdMSFFm+WER&h`g2C1~VqWzwHx> z>cL^7h?gx#W%rsvsp%$gmi{8tb(^M#Q?|2@%Lfud`?>z^bIpBT3jqoa^xLz+Q074Br} ztF2zSwa`!*K+C?|?H;-9T{J3D_^Tc!KQpaTn^YewGxRGhLr%D!Jz`gqAWK&ECWQ!u5#K;V1y)?jy;^fn~5j=eKrX#%xT*icmoX`Y; zDFFSRlmPXQiUx#{k|o_M1z%H52HTw0z2iMEN<*2EoOTAajS0_VIaP{0!^D3SE^fES zVm7JoitmO8TeFU)FQR`T_)p{8oe#!P$*9e~#`O6&0l5pGy5E7v;hN{o^2lPavW$Ku zsumj;B~d4{J?G*Y-Dr09cN$CiFu5#RJYccs>CJpD0mi(gPPVNdV}Y8)UM%f=7puvw z_;S|r;X>RIwm>>$agp`KdD*2H(y7Z0k1G*N*;H{nbM}<*jIn>4Zx`uEQfPL?bW`i{ zzw5OA74{{U8uLL&B1Jq3Lh8!yA*prKAHPrULf zVya2qI~n$x=B0mVN0E0b}uS@e}MDwJc*8C?2Xz;^M;q{3#6 z9fFJ&P;pf0DNX^erKy9fP1$OC%Q(w( zS~jolGr!P$L8fa(qqDh@E~M@(`nuAUB4+~=MqG1&6o5PU$@wNg|}VvP1$^eN!u9nLzK zsXc#=PFd!;a%FdskEzXdD8?&8np2d`J0A>dH_`c)wiC#{p=&u}DaS_3jvl0y>_XNT znqA^G{fvMi$w?G|X{pAfUn?n5l{TA4)4vP6TW#a72+gKkTdQ2yC{qi+SpNWpfj*rp z^X%s@mIDy65PC@W@EDc6bZF@OKYqFu{1$)L)5B{7iVFeE| zz9O2fPns)L)a`X^3w={fxv{-Pme%GribXvNkzQR2)529%A)`l#*76T6ZUAy7Lhpn?l>+-pywX->G3XZs6*=1U%dBz zL}mDQ{8^t!Mxi4t!~i?j=Wgxmt35e8yA(BvV~Oo$ib+iKKEz1d3jAb~>;Qi?=-@EZ z#7)ynK}Jn3R*akNR!Nm&b`ip^8Ojg52Ws@?ld5j?wP8x4P05}u@#9U^wK6qTzO;QB z-aqts2`etsv^l{X{NDBTTt7yh9)~9_r1w1R#ko85JXSk9mx*Q;vpgBb@P}#j=Dvl= zEiQR&IdnQt0mXO!00}fE$z*>Lg>n@E&H%0)!mMLOwtIOEIJ{g{O^P32)u6tNup_8ABC3Bgad$#-Peyq^ zi2e&pmX}1m58OpJ2lKB&o?&l^9JO$1>Y3(R{{V!wy#_`ajfByt{yn)<_}8IN5l*7K zS;IU$;kq;Qi|5mCQsH8XQoqA0=jfTZwqRB9)qYyZ(xze zLEu-!;wd>*vpy>shm`6$GNtCGmwJ_zrsKM0X{6`)Gld_IKb3tvV;m+Anwqmbxl?kL zkq^W_6R(7P9dUndsAmL2Zij{5dS}=SpTfL6vjp=jXDxqSS5k2j_AzYmzYqLu)uE1i ze-ZE0ppnBa!m+Yo^vE2KZ)*EYR}N5;PY$_R=g`c#C(Si;rMURZX{q>+OjtD8;Icr; zzDWRW(rp>Q;{zVO&1ZnfzNHr2uO>O;qgDH;$A@0KOO*RQxp^Wqp=5$!ALT8A19syz z-08tThQ@!2S2=%-mseN5K5JjZoRfLgP+8cUWO4RPU!P75`NOpW7{-4OFchN zwX=dH5I}%!1CxQ@>t0Q1$<4c-oivnHk!lM|F?w$mBaZ4dAtY4+x#~0NSkL#1mU^Q| zHy3!3YC1%ElM9Q9LAX{3F{bp`^ss;VrXvp@W}V~MtE_9wS>nHlWQgDQa(=uY&by(HQ(pFlUsqiY67NdZJUw;=-Ie8p z>V8&aWc-hR!nJdZ*5g#%PP4=R02Mq(q?CV4hfDYu_$~q6k7gX!Gs9D!tkN|(cRh!| zem$`9xSviDPi23zctIc_j)bYlZaA-y&hqz$lElSb9r%1jrE-R=;?MX(yi_fg&061q zB)L9e2flmOSbPW9=yN%1_#UlDs?@K!tF8P&vYXDf7NYED3c@#0YPNeC>mzeiyGZu?EN*L2ttd&zC1;F%&DnNQOrG~rfM9pf9GPHTjgVTE+zzT<4* zUk${t!Kj@=9p5b53i0WK=~Fts+4Fz$^7#)Y!cPr__Ep{5Ix7uMaT7hPw$$aO@vft#c#12HM%0L-h(ZeT2n3wx@vlSbFvMZ~oLTW$%5^X`?NT~E zrEiMfIkfRFh3#zZw+R;DO2F}tl#lC6B+93OuPMu^=H|7j)TMYHL)N~f=zM?Qk*#GM zb4eOaFPDZ~F&tw&^V=2ACf3JAHEC*TYO-5d-j%k#TZB$T$fN>&vspr$d!6&d#xc;Z z;x7|l_<^lH)+1>xlq7O01!4zH$G$6gQ&2qWm0a1}cxU27qV79u`xbc}b{B!Ola9Fm z0PEKkd?ak-nb$`U-@4CL@Zx`8>lPACYh!ZUjBZ?d_pc&zgk7$B7rw>G;JmbsFSOcE z8|3Z<4m$Bu&Wh!^;vX1vy;}RmcNY;^-CSE3qiEVVnbaoH=sj~@?hd3CJ6!Vdbmb{r z^LANaepTaf>_HXXbj}`GMA_54Td(QZ7P_t4sQwb=hvaKHQiQifs?&duQ>L-_wc-di zt;*V6DC6gkY5c*grGuvRMzO`sXnO94somn1tti1UuqESNQ-~#Lj+2qg`gn2vx4^BpuC1T;bDUuiWyJfX(>3nrZ=gdmUb;%H=neB~MPP!Y7RaBJM7?4?H1I&%-N)6An*kG&W0_OaAi&3Sta^4;4D zY2i?+fwP`7lU#LSPA<`RKBog)5mqnT!Rczo@TIkD>#l3EBY1)iVM3Jm=4vvy2V10-+l<27~E}4~D5XHlidYxXM z;eQDDx*d|~Hu2qK<`HHxJ;u^2#IKLX;AeQrwdbkv`JR7Nu=+|ji#e|yd<2HuNSgb@ zQ%=)F3!7UjyhLhBbRq&R*q^WD|BKjp>uF$sM&!sq4gtlUp z9!`bd0r-D|Oz_>?PpIgB+7omP^D>1W?({#66`<-y$%>Ee-Ryl6;IE7xAJr9Y8Y_)G zlzrAfP<|`^72snqZkN1z)Mlo4t*O~wsx__L669nAa8Ko2wBp&(u~FkdNeTvi1}mW^ zjAWB$PN$=3x`J)Ku(h0Y{p3o2rD+P&TQWIf`W%0TsqnADccF;W+S$+XK_f5dax11d z%8PR;;px7IAF6y2v}P@)YLdo3yE+E_Mk`gAHM%f(NbZiZ&eG#dhT6_pn5-zN<|z42 z2T@#;pF6qL7}*bw>^!Gy5Xv)BiUqj)&GMQq7d+SFE$5YMr^Oak-Pws8a54Th--3dZ zZJd8Nnev}OD*Y?WJBO&|kP@ikfs&}C1d6=TVUjBFDOd?rIHJHxsfsKE)p-<}0#yQ) ziba^?29?H{%6OmQ?}oMaXT8&-OM}*EKX&B$oOS$a;aa3#jA`8Du09g9Di=)E71elE zyNi%LH?R0sj(ppm{u4W$2*wkQ()-Mrya#{c8yRF}w1VU?19iN>=N`?rr7LWD)Od#v zFO4+LO6$YZX_t~*Tv^=OJ1H5GA^<1frBj@mvD-qn3UxiKB)N#St2ETC5Ju`|LDW%B ze6H-@6+vQYwHL2JbVwwE+8cSsSSvT{(wv%;x;4Vnl^R@<+{6iUVd4~3B&$Cjgc^U* zS-|sU8kF%~OifQ%{>=MOwzhvUoZ;{`flieVXzbaZXPbRSEyfSmq1SjfSQk-SU)eDe z#zt}L+*cki3YF>1=%t9KnPF7AHLt1kR5z*pmkre4C}@MQ>)O5->XVg67jC99b_pM`WiRAW-oY_2`t70CQ?nx$5v*@?k34SpB+ zQagh+ww~6`Mh}xS0Dl5a6>Cmv(kd&I#MgchX*bSgwA6JADM#HZ!NC0Re_DTZYx_Mc z5_j0=pW*M0^m1E5@qeC!q<0SE^dW_Hs`RDtMCWwo`jI}f@k2)EP|)qQILB6nMo<0n zf2B1XJoa`cnxg1s&GD+@&fvqTcy35!A9)O=Sbha+)(S6J$cKq>_>rZj{Alp)(N(*) zzOyH*GKW$59R8Iuz|Cw_agcxNby{zX{5Ps#T5A@Czq;+P{{Z9Iu6beVM|5bb!d*h!A$0sCJC6DuZTQ5 z;u$T!wHo>qgrB;g}67|I-8$QsOP14);%UltJ07nK$(A_WQv~D0QFva zPy~Tbr2t5yiU5>QG3pL#K$ z!N2%e=0PQ%qZ6{{0%(7*e=$a^^r`VP)7n$}nat|{01dUHWi_$3NuqA?I4ANoQIw$X z6SAgrg2q#H>nmL8ejWThlFd-w!}fT`{Ie^A^);1ldacS#^KqH39*q@82((A93tMR5 z5#uVOXcfy(4GK?9&y#g3N>_bIi3+=7RYmk#>*i&0ka>ADYFd9IbpYb20TT~uU^K6_ z8-W{)gG$07Wz7j+a3g5OdQr2`7KUE0q3OD^?bPfou7KnBv4$h@>srFBqp;j#Ez!g3 zzXv=geD3kvTv{`K&k1m&@HwsFjjJCso>+J@j?}&ZkDav5Zy()B;r$5*`d36V59UTM z2%gO2^*@7tE3N-s3Ek@E<9DjXrT`{W} z?9OS?k~6Ss%(+?jB68L9Ewktez#FPA7bZc)0dhbw-k4l^(hHI(qnIu{0BE>edVxj5 zn2`l5j^)TuZOuz#<|NxuaJZp(r_2`{B8*c~8j&6>l#`X5Y}F4sDPVA4Oki)P*9b{sRN)Hr^-7Ju%nb#7(l5N zhBAYib{&Y>MLtlm5n4@H1~O-@Em&ISKDVIh+Pp0t{j_qa?ngDHDakz<4w`$OG2_35 cx>b~NTv!rZO%Hv91{LVj#80WsQiM>52pG%0Hi<=7t3kwSu8Z zXk=^xwzYd{?*MW1@bvQb@%8f$3y+A5ijILMr=+H(zt8xPSx{J1TmmaCEB{ni-_ZEE zskx=6x37O-aAbJXLs-9^w-(>#qZ0jYZL(5-*S-4zXkn= z9;9#-RCIJSbgVymP*8o4Ga3mx2D30Gshl>JwHq1B<2Tsk@=5u%-8ifwI>!_??&G+W zY@+MzCx0aUrRe`o(A)nnMgJD`Z#@qS0DLqQWWdl!06@T%PAD#b3-A&3e_*xu0I1;) zvV8z_RK)I+N(IA-@4M>H-~TGye@s--XL*39X&fRcTgQB7!F=}yvM;y|nz3axj1I9f z37NFK*-NY(lKtn9`)lMeRMQB-Th@!*PY-}qy&xNf>o$dZk{cw(&vGP4kOlJt0Q(MB z+4*~#(fHke7fo0~dVt6_?#@9oY=0X0r}O}rft|--O(PhO6BqoyJOF}1&dY*qB&c^*PFa5s^D!5#8|)yZ8T#mv!vibJq)Ycx7G=qY?OmgzScN z@jf%;4`cc3w&(YKjR&^34}j~b`tvc4d)CIQwuxBtEKuB{bode*IT z?qcKKKiIP!S*(eUQvUqyw*Gea#+!(U1o(;n0kC+xb8%p4Xx@9nvO4_$kd$d9s;FM` zj14hF)_TcksGyO8RdMeb@RFg2HRRL!1Hknc?9iwkO5-^sWBIFaq2_{1p`>?jHHTq3 zb}k>L8Qb`CEYWfBKr7EG_O288w{Pd;6B6*{ALt6IPYS`kR5zA6K*!#B)E*zl! zx+Yhh*+?4h=z~Y1p+nBk+;7ITC-r=+Xo_NP?)})a9a$a8T;3^Tbqx)t+wBmGC2_G-L?nf%nE`P=xtRgAPEJp+iY^|$E$ns8 za=n>4_7@FAO)uk2PCvK~=g`bh@|Dz=i{jTc1(E`kLr zG~^afGd>0b2+|U81Bx|%@RS+)Upo~T8>lEk2M-l{`uXMit5vK*$!A~E5|;seH~YrZ zj22k0A({X&42E_9@zyiia2EEb0=xR|IvT_ZIZ<~C=Y5DV=!0Xhm$QiDsFi@BGc+Ytc7U;0lz6Sso7 z5!mi4c3CSd7ivRelMl!>7p8NKD-Lj0Ld}_!xOMv8 zqcXCM`54!Ps*Tt8_xRUlioiAiC~*6hcOnWiRSp@XYDxtfq!hHk%8Ps-Ht0IZ6C z@C*Cf@qe&eC$zcVJ;2V`O zIr|L4Gs7sCem4y5?M(tUi?32DvLuiY?Qf*5y>13>h6NM zC5Z-4D?bmmY(NDgZSWzXv0IOVH{qP(+&r!SR zIQmLwGv8LtlZcG;k%c2c_Qo(_?ZsRavFuVw$tMsRXi4c;hcbLfY(gqVq-gL|pQxh7 z2F#dY$Agp zlI5#AJzBUve?$~E@*?2hkIb4rJu^P8*oAk4en{*5Y+~c2^Bn)Ay0)8e3ExG*8lU$e zt8=`n@D5;Dv{<6wLZhFn(NS@|;&jU1n2w$y~7d7a)Nw|?rsSy zZ{hse!eUR$J*C@RDD}ASf9ggbzoLA99n1eKZ9rvyGo+hRa$3Whf+Aw&rmFg^+b zuD3b`m{QZspQ_*ob|E@QJM5t_j!c=TQ0Ow1YyBZmi@NPiUSb=(;mt+Ahx8)p@=t4N zI_++!6})NnzSEu0ZW+QiO)p>7o^JyT;Zffp^=ZyGX*9UFBiyn1zKT#Dr^fX6gpyY+ z{v#j+4qW}^l(X;Hs>rvBh}PDahVo1Ol~Kiy#tTg7WHhF+L8}Qsl^(x-?9N~xdTBn3 zWN#2_CB#1x`c~bbN7eV+iHi==WOm+2i_ldBzCwezN8!z5k$ZZ*`_qIEV%0^Jjdk*q zKLE*UEZ-1v)r%E-uMK)f(z7x@IZz3kw#{-(P|%|;#k{x;z1LIG?ueB95Q$GCfQBzS zg+i-1jL7MV&lfdQpb?PNLg%M4u~M?RfW2n5?HBDECj<3UarCJ(S|Bfc>h!YK3<)e^ z!yX^q`=1>EM~YB0F1}N8EjenL){=UcYd1kVkCP!?hmdEoTk!c8$v=`_(z|M=9F67u zo))xc(orn^$bX-M2(DBAk__ppB=4BsV)ew7HbVwoL63@{i@Bw%I27~=4 z9%1)!dQiA$H2e_OI%SpOD1?KXO)8@Sd-P50sKF3HEUuIgl78nhbvtJf^48~OF}l=)T5?!e z@F|)_l-NkrLXVPS_RmR?9AWQUit|U!ef>OLv4#uS4_exe$1IjZ1%?@9_rb7W6u3HA zKTxH5W7rGslv}Mx6_K0OOIf2-di1+5t2?`FTojz-R7q8 zx$PFG@gkwXb#!#nWpjBHdDVV?0mu zzIJnrE=A)$s?N0Ex_Gyuv+w<(51p~sukidi!cZZZ{Y}S~hJDkyYKx27uQb%qj&mM= z>J}{Mx$#kP!j2-FIwx+>c0kYB1+zrvIyTex7KzU#y*u@d{K>iD;`sF zNcmwkYG49RTjc5UdBJ=fO^YO*6=2?{w{efoI|c)hsa}SJNv+H28NO|L01!YVA1^%s z`r3*hcXL0MfM&DLf6;l#%&xiH)If0$>4~6K&Me#lctfh?3O-vV=`T zwyTaEQ*cp$s3lVzhP|%E1ASA$0FU?CG*>%Y?^9`TH4R21?-nZ>5EPx?ij8eLY#JSD zDh3n@{=d7P_@Ji=6kXFSh+QdrPA&~+t-l)^HZvMM?OD^W+CB-dlXo zC{Q+p=7z6MD1jwY_cH0LrKRt2P=I>N__@+s8|`TxXZ2e!GQ9LQv7)(snvsUH z2Y~&nBZ7oSQPOu#bQ(OxxWRkPo;CI5>MF`V4@C*g7C-dIO(-TWPHs`(^7iIFj!kQ> z{MOmEMb50Qn_8)``GwYYU<72rtIyT$;y<3leakOghu)(E(44=T)ESl&#T26A z{&8oY&0fBPmV|O=SjtmvvHwV@h)($yI74xu?pgIkfE&gwv@&YNN#iHm%8pypoU zQ#zh(iq53*L8Xd9&9oXvQ^@q8h+be&r@|v{6FuTZ-gB$LI?oelLfJ?rnutii4OA!y z$!F4_X9pnZcU`R|NyPpsQ2sfZ+7aKd{%eXW2~54 zF~p&{sJi38@*LU)H>X9A3MO6H07$I+!`g|jva|+`x~XSuArxl#+kG{EaZ$Phqpe=t zr!I?Pg|$I(DIe#k@5ja&9My}``jJGxhmUM;G}n5 z$8wA%yghJ@64HX!X$HMD#FA~`BH~6}b)6A9qsq$HLD%Mfe5#r1F%ksY1Jc~I(d}$E zxdxdOd4_CxfXJk28&B-3E)5Y+5=$Yx9)3Z{cQ3LAC@OGrPCompLdgdfI5AJl5 zz2X-zdBJzoQ!_9r{2FUxb)|i7(>>v{`ZbBJnEq!2_7hjAC?f@=%QS{{3cMu^Te+xW zRVwE6dnGAWXrLmzv{}Cx5H0YLlr8o>T^f_#OsXB__})N-iT?bu zRY?bSm3g}_^h2L^_LzZxp5t{MgY5MB7v3P9ZvLcdw$ls@PAv3octZdk5ZAZ4#iJwA ziC!m7N^URk0U+C2_DwihwfQ&Md<~H2#=#n*X#9N3FPB@YJn^SwC)To)p=Nx%JN!3_ z`dDxV97uZrsd)9xM_{ye!Z7=8Rb=w8jT?c(Kk?$#IQ^J(`9?k($QO9@^{5%=Ps`?{vP&(no|t{=6h8Pd*CtC!n5LH>+&=6XAH3rGPR-C>j)yLBpmox1 zLb;bQN$K;?V|Sg7?Ps->(e${Va>LyTOnhVwis+w8yfDtM!s2|RHrD5i)xcCsrf{f+ zos05~9Jh}j`>Z6xC}N#@R|8>7fKAU`!om^l(J%FeOkPBfwSy#clP`%?6h94Igl_2b zWJcLy&o(~DX!1pSmNy$^A<#4%k?AylsRBaoSW+zaqb zEB6{OV=Gsrws$X>bNXBf=+K(FeW^EV_WEos0b-cl$kh1VD{J$y9Bg@1=DF>(Re0pgZzCdIaGcJCa2MZ$-E_G|0EuaDeT*bpR~_l5V)niv#)?0Xe+2{g0 z+D%Uzo!utVcupb4Pwrcfe;SR886TVjmlSD<>)xrkND+gof-53McMxUesVm!Ad~~hZ z4TsPLwV_#(AuJ^gx$2#-LtAAp6x_3gKiDaMCq0r6l}a%YxAWktXl1xrvm}6IdQBJ6 zWGh3-W0ta=ond9yCzgyE2q%NEG^(B8Di9VO1BNOA#y7jYujck@Zx?kk7i2#52%RLm zd*^=mU8+$8St;2LCL=!a6x4V0UwyN2dRBUe3cbwsXg3Iqv@h1s{o3h>4HpO$E@4k= zn?!GV{9-fT8A^WY_T9r$v->2mzKnC8fkWhjZky(lOR3|L?Y_zCvZ}(~!u%_(II&*B z-f@t}rD1cfy;j%YypB)SE&j0{r}#IS#1heXTFnV7Jg^f+y`%7{fW-CewtlTxEvZXU zmWO?jmPktWxq zj#q+#0kZ+a<#NliRxpW`Q)$bKH+g2${4A$BLV*l5dAJ2&=A;B=WOnBvcx!Z z>M_-9YO3>Cl$t%?YGqC+qdylai-56)&vfAVLXmy)pUxqSR*AKptoLH`_ygG;{Exm! zlfUmdawl`RM#}w3>C`S6V6WS&O1ODD)bA;ox>sQ~tW$>RlS_Bm8)93*kY8eI#&pjG zN?%&N?(k{|>mXI+NG}EDr zCz*kpNW>0PnCqH(?Ls=AwL&lzH{)h(CYs15TuRpRj%}k>Y%sB4DMxW?dqB%A@MLcI zvLSzI?;4GsVLgA!W>e_#CqXak>o9XaLaUkvKb}CrnxSmC48 z+ipX;JKnQ$>T*K5aeIna6;#>_#GUz0ipL!=g7b!{4mAe7Sf*dJGKBuPnN15C0=%ZV z2}I#1V=7+Ga{R>Rmfto(%vaHm9?9(Y<*Vq_TU7_Yfez?=DdnD?=En=B zX??pz^msup`LQo++(e&lvWB3NKA%3F9fe8c=y?uNpZB;4pRjU894bMeHzx)V;>Z8! zm&7Rgrub8e;uCbk%&%#MLOkPsr^KrPoVcBGVV2JjHFHuE2KKQB%_Ru^%c>2kBb5j~ z9i%US^3h4ob}gMPnR@h9)1~1#D&^%s^E0AB-sUx`sBsZ;LHP)LYH!e(8Jav6_F-!fI@~Am?OHXM+u< z)glza@Dt0{wwPwrOf)b1-Q~IJc4^N@A%@4#tC`2YXZaeGY6GixoR`ybu8aj@ z+q%}x@-l*D_Lwz@eV|efThvgJ&G7mI4_U#Jt(1%~0#icj0dtA8x1SFHG z9(DT4K&MwfVQ1MeY|oK1MbhQ1!=~<-_8Z1x`(ZYdR7>qDqB7L9%q4$hpOIAl_!<}U z+3_#6lzO9mmSG*))Ntk6U(ZMjZuH_(nTiIY(E9=jN#MjKAp+wY?)27DsCh`%IvhDtEa zrls`QSp~Xqbxxl=oGK=z&GlH)TjimzfmNrbAYt@D`D&8T0PkubH-4H0# zMr_jP*fwJ>ML$_@wuz{wSC>?NAK#>i*1e46{%l6ek*b3RJ>ps!%5{fd!06Y_7ymf2xk}{ zYyf@NS0avahwG>efL&gW7DxYsr+%mSvS6J`EdDwd^@qH z`2@%P(Azo6<+_!1*An~ERV7QExxu4M%IbZjV%Ke*rHuJhc!LQ;eb7-!#P0~_B(P~f zR=EB!ZOw8B&zMMRyq+fT#J-0g*k{t#5ig&UwK273uZlfwf z*Pg005VJ`;i{6FvA``Wio%CRrMWkJA01v{u=eO(Sq8T z5qDJ_ULN{oomyaHT5xy>IgjbN*-V~MF?(}X?{v&z2W^Dac%@a7y&-<%uh$}@OpOAqfK9{cBoWrjw*R`>Dsq_g~c>UHMiREY{sGOO42=tR9E$ zH}VVJ55J7*8j2W?1O=kyO%xm+9R*MaZevunuO^MaBaZ50cLf+0_At1*aPsXQu}(oJ z^vw!iTF^*{87@qgwhM?`)ZPSDI=gI)$&GB4WFMSM347+UF#KrXoS+P;UF`O1^{*f~ z{K{?IS{TS?uaO38PIeJwnxS0T4V*KteJh!$ZNfE}zD-_X!yNtNeNSKW4C@5t8jqQ3 zWY1e!E!q0r?`i5Jx#A+Q&{!A#+l0xk6*ey;SJ7QnCC#7A(qVhNql0!QIqTYvEh*v( zV!h=_`?Iw_b;OES5?hYgpG@}P4Qw#IeTr^4Fqv;a;i~F+CQIn{I!pZ^aC<#3+@~d> zs46&lVYj<3;gj<>O>m;goiM^YK}?au|04GI0nnQ%nOFyLQ{|$5yp$-GxZQONsP>!9 zZpkWDB)SzW<))G(%=MT~W{SV6CXhhzfL=Z?Q!*{g>bPWGyMdn@%o^Cw;Jpnw zlj&(N+AB@0=*>4(yA*^$#7j2RW&{yz;NNeI68oGhYpJ75o+LkkQ4qw_EA-?FMu!z$ z_P;Id8T4>%V(d$~t&kK*4d!~!-4Uq^>!+8_E_qYVbjI-nc#U0MVZFIbcR1CIpDTD` z_x?5_kifgk%js!f*eL+{c~d2V>UcB{!hWIlB{9xKzi7oEzi{v36JZ6LBlay0MM1ZC z-SajTOHzL0TjS%jag?KK{+OSlSd5ul#cSmPp|yG|TkW0E(%j|4Ed;vi$qM^iN_VfF zIOU6cl%Vwtqa(9oi3AYbvESjO*rS>q5lYSrU3=YL62tc_4mj=B>F4cu&w&Fil(>b$ z=^Qvm9klq_*66Dc%&7=tQr-l+Xr$$XYEAkPC;Q?EZ7 z4DN=0`jg`|qV7G9V>$y}83UAbnFYI+ z;G-4VB*ixxp_044z+Yapt+wn&_4Ca=b(Y)b^!vHoH+J|~TO!vpj-y7jKs#XIiv3>d=o)@Ur<-%feH9|6D^PpW|2%^WBvpN#6*BS zw;O&^lLYfrn7MGa#c2OT^3oA#fQUNm0lk@dqQGq5Hh0y&s7^y8cc&iIQ2NfQP90Kk8dJ@aD4;am>mVoPizCZ8Z{u_q}X-!%{)U65?5&li^akYctsISqDv(UJzB!90~q6%pZR`J{vY| zoU9JQ?rpsPu%~(ekg4v8B3&-`p+(Z1{7;&BNF>Htp5H{57P(T$2-`VzEsq$0Gu}DyV747#eJvo zcaAW|%RT}AM~?g(qPY!%guwnQ&x(%qET3I3YakfoI{uGTm5L4)z8pI53`GuSsSH_H zw<@iA7vuu-5YfGig*!qGZs*2`%xBz?Q84M9G-a{iC|ug8@c5q@(S#gGMf5QLzW_GO BN_qeQ diff --git a/server/tests/fixtures/video_short.mp4.jpg b/server/tests/fixtures/video_short.mp4.jpg index 62cd77435a2f1a90ac37bc6d09ed710e9036ee5c..7ac29122c526b3d24997b347af412a1f759666b5 100644 GIT binary patch delta 3520 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 diff --git a/server/tests/fixtures/video_short.ogv.jpg b/server/tests/fixtures/video_short.ogv.jpg index 62cd77435a2f1a90ac37bc6d09ed710e9036ee5c..5bc63969b8783e5a5b1bfa2565d095c14d75bd7d 100644 GIT binary patch delta 3533 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 H{{a8l2g10V delta 3492 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 S09uoQ0(O%y6A1+W0RPz*+oWCq diff --git a/server/tests/fixtures/video_short.webm.jpg b/server/tests/fixtures/video_short.webm.jpg index 62cd77435a2f1a90ac37bc6d09ed710e9036ee5c..7ac29122c526b3d24997b347af412a1f759666b5 100644 GIT binary patch delta 3520 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 diff --git a/server/tests/fixtures/video_short1-preview.webm.jpg b/server/tests/fixtures/video_short1-preview.webm.jpg index 1f8bb38be59fde0f99e77ec6f04466d7e2a03689..d65af1f21814e9cf85491b8dfac97bc9b3480eca 100644 GIT binary patch literal 31351 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

N?UMhBIii%y|ozYzN8@~AEy$E-cn+{p? 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 literal 31388 zcmbTec|4Tg`#*lq#uz(eC%Z-=G!l`q?-~1&%9dtGMT(SW#%_>(X%b@_ONgSh%i5;K zTA_qCQjx?pIuDuIKeUZNAz3014Sy*;+v` z7zDw%TLkL4A&^*kS+iP+ltDUWb zg1D$K2ku=y4&1?69W)*S+7ZI?`5>`SB-5XOg0N5v8V4gmm3TNU5yHZh*82(QUOJT7 z3aM&iAZJqz6iN{%R8He1@DO-RO$ivBC}M!d&kRhqLvm5gqL_g-LW2%SCaMoog*3ry zdkj(&F7uv7$8o7M%`ngzgyc|mnN8E94(Cil~M0hB5GhfOz^DTpfQ*# z(87m z6citPm60_h+DLQlDdNo~pcF8W4gpQ3US^_X*$Ul|8VUAhiYh7z9$gU!^&y1Va3ajX z>@!umr-=V2ffvjg$%Ka0(RNzm;#3K2yBWmfVwk}Q?Sp30Bp639KoR4E38gY718 zkyBg=USS9XXK0~uHhd6bBD*1}N;n%v;35f45;~~jSy-*TStHGgS&VWErr8t~W6qJ* z*K1ibSmM_7(EKP~2ILHG&(WE-coxSB0;u2);RG%q5MUN?KA;kk50{#HiVmj@59L8D zS`tnOMks3I+)|S1PX}}L+D)j(@}Zy(nxYOtha@B&C_)vX^11M)4N&>maA}}T46+*! z6maPk7EQ*Z9e@Nl56j~Kr;6gCWQL!(ubbo&mkO-OtYhwZjH-6&MKLX&a1$ z@^VsZ>J_DK9WKt~IP)ZOoBLK1fLyz=khCR_1L|-KG)n-hfa*-(Qcu^Ju`wMef|#gE zV5B4n%a4Kw&>?M-G#^p>Cy)yUG6x#rm>0x!@Ik8Kpl)r1Z3YjaiwUQJrNI$(7+5zr zFr)TxLINHx!dX@jQ4I@SW(M9PDza!O&O!lwzi-D;b3lA}T0>8v;9lOLGCM$D-Z85ilg! z`2l$1tJO{)izJI3sS;SouOuFylw7azMnPI@pGd>aV+>DTk=U&B8#sbfTM1|4*G+H~g!5I# zFYjng9F;Y$>R1mvIbZk3fyI8MI<(e*cN4l_={z?oHXuph7Q5nLki{31`LepGTBS$- zaK&Psr(dDJ;kJ8 zDu4`_&~GN!6b;CHkf6u{-E|0YRL*)HRm$N%Iiyc zmKI8P98|Y%Y1@c2uJfK9$Coi4)lTtsrt>*GB z))AcC3;qo;tu)i`5@waR2Fxh2*yhqddGut*f+}${yJOsRyDI`gYS`tv$jW_XMChFI zV$H|UQ+HKI1?>uoNO%@MzQ~Jwfc!?I9an=ax@U!Jo9p=?t(72SiSKg>U2DU9OU_`4-w=<*MWvd*VOvbugcWItmrF=2VIY%{pgV4DC7IF>{OjGr1AlCFfi z3gv4cSx9#8eQ9%HHU{#C)3{LDLUccT4HH2ETdSE!5f5jMdGs3+x5$ZITHF@~Z9F9h{lX7)w7t^H4AIz`T(ptr zrFHy-7_IF}q5^htfJVhab8JOxJ1%=fK+yhlldEd`J)y;9O7SUTd0}jU?0c ztXNi9%~4I1tPA*Su!$b$kx(K2W%R;&R~jzij#mi(AhIR!*De$&G52T+E_5Yeq?jVT0%Olhi&t zij0}e-Ms!w?@D6l<@|}s*NJlB>z7i0+_WwI;*PG#fB7upg690a+`nlpV6B|?7?p1& zHSFpz5wzW?v;VpYeQ%^x9aAY94tCA`@Up1upP1HyX}t{j2)%ZoVmYA4DX1v(Gs^R(<>~TkYg!8tzX!o$ ze%IzSOWvy(>#vEqEiZ7v8~yz20Hyt?)rO<@FE6p9$_8t4Qx?bfq*6*rsTKKol_^K( zd+woM+;#jV80}MdGds#s3jgiR;=_Sc*3O@9uekn+n3H{S?Coc#2YeN?2^71Rwhip! zY#F{&(fik2c*~7y_m1y&%MG|IFccms)@=Js+V8U-HB%NX0w& z6R4aZioipM1hIoK!@;(AY>{xmV6w2^GM;sV%~B(|Eq!HUUXk%+wETyZ>*EOSxfxgK;P!1<L7H4G5|^pKfjju@pnBj4ys= zqC!Yq!(h{ABNEl%L(~>1xj|7N^8p{X3$#XR;}6kOZEoq`Vd_w&X_o)Ijd)b`ER+?k z;`$&N+pVj=ocYCix1Ohv-G}*}{E1U{6wm2&3Lp5M_+*@iOVus>>ob1GqTffo@qNZG zk2u{7{0ZNL62--y9PP(n=90HmoLqv0w3^Em#9ZyB2H029QFH?Qg&wY zP|WN77qg>_zWu$w3GGOBINXoDVmFjG+47A|`4&$}v{sgHv54?KWU*VXs*Cc|qI1=w zI7i-arwMnK>8e{>Yuiw+RJL6w2(}!EAREA=?YOYeAOYk$Fg%*}O3zHo>$FU4NRZC; z<(h-w4Sqc{ArR|9EQC6=G($kItJ6U80n&?f5YPxoBRO#nh713jY0ks44+y5-k-09# zMAtpVm}9`FKp3RIvuIZJa2^OQ@o1ES%Hcei$}#>@yYTVKSJf>Z?<&1+FEh{@ss%~w8{m-PZb0qL4^np0+%bK5^O_BJNzuo{i?@$RKY6GI?5wm^Lact4sQ%5^KrCZFCQALf_t-tRp?`VoG9T zrK)Vw=vd)g!Vj%}!XU&&l2Yp@baIk3J|cXo2<+R0tsIuRB~Xy11J&TE2y@=|h9Uq4t5P+z;#}XS{y;+XUhy zdk}hN5RMmyki&^3w6nyeXkXQ#ux)wmWXoPVB$&C#Z96V)Mu3t61F5VIr^+N@MQcj+ zbTU-f@OT1m@t|ZqCNst?;0)7Dn2_S-H_R6XVbT9Cfm5MHU$Gbhkj-fa6cdGosa(*X zbmxC|pm*r7)FzZ2Wxoks2R`n%@FDS$FQrFL6A_l_z1QtDwDDf#6mGm%luDntWKtR* zaknM)5GxG|*t#$p@P2>ZmVW=FK}#xHDGe$rZncK>78-{P|&iObsk5j@m>72uvEtAP}6rO^3h_@ld#@H7cx+5p15QNMi;N5j7e( z*z*zEC4h;*sTd@p0kS7_;h_uyKlodmy6x&$*wBC7(0{y93-BJ&1!~y;E`%+m!+f+iCS*PULU2Aj)ccLV58j4-ER}P;s@S`(=L)>xi0=3( z?c>Si+N-8OMH?y~SV2M`TQgLTxit))v52(Ay>uWRoD8yFPknWFLc=?I(n z`0e@kS%Jd_l0zf{WMH=qiU}_gu{t%C`=;hctp11bO{hb&QWQw8cI{dnx480@e(k&B z59(!?4!86eQZc;SD(Juq@Dh4}VB+F};vXPvVo@A_y(K6d6WBgSs2rJaU$^7n37q$! z5U--V|Euf-?I55~AYFYsq%P-kum+CMP>>!-nME-c*(JZh7R7Pth-Vk~#sATido)u? z-7sq|_&jvmD8}xXx10h7xu?cV8uFh3uAU?`Qid+IH+e*GYU09E1mr6Kkep>1UP^jBC*4;BJ#(qw4p?+`kBm58)p zEADo%*fmnbF^;Wy@y~uT1RBr+SSF$d!t)Vr_x~QLvRDmlcR2F+?mp4tG0iis)?#NG zUM7cMYkp}IS>A5s?4M>yRTtkYf`Vi+zy-V=*jmr>@-Q@Xq8J*mwthdX2&st|{JM3) z<1MMgbLH)ZTbLP;tpGP2ASZSlxx$kYB&+=RoH-Z5miiyLa*VO74}#c`6BYu9UGRV4 zEq|sN8?Mg@006w!4e8xwBb@ADWp|h!l8!Kc94|VCC@#Z*_ZF_5@tu(ljPW&@eY76( z%vmdUXyL5EH=8*b0Cw@?yHo+X+6Al&9k>lAyr+ONkg|k*-!bcRPyYVukkS)=Voxq1 zu@3^am&8Wc;yWe@3C8L)WZ_Qv5k^MWyA+j&C+ItdP%j9tUF7YmkmiAbSF>+g@9>X! z;i-Ce;FD=Y`-R33pB+<$wQ@ZLcz|IAFh3Wi%3f$mcmiz1EShYBWFKoOXoTXi$L9^CKzauVQ9dE z(;#q(W4*Y5F=W#<;G&?>*-sSjg*a8-u6K#l#Ba<=sV#yQE#n?DG{l8Ua83O9Iqu>M z;g0X6ZWxcuU#uD4?J<5g)U|W$r-#NYP$G!pq{-ACBUe#nJUTQIkIr?Rnu}F`K)rWv zx!c0d^0b>y`d+5_JtBNt9zul1r&N@%{iF{G<0+xgDD?YUy0@04xPd`~!~1doEpwK_ zO>7$^-B;e|OGH1ZY5E~qxi1OFd+9L0cH2}ZHo@#1fNyn#pNs}UAerpiTS2A&k2vS zt39QY?&qZb;+^EX9$_1IUu;-Pq;!-%7!TnQcbzIt&Hd>VGU3JjyUsN)Cga*QrK2l1 zr-aiR06KHaWIg8MNbHMu*kz4f-QUke|25{c9$O1JWIbMbtvqO@vtDqC5t|mPyK{f= zYUb?M{ENCF(CLb|x7S#cGLWef)0z`&E&ZCA1HqdRrq#J{F2JT#DrFP$X7*6t z6@!>@SC~?4f<4ayV`zPy>&Ob<^eVl|!@>w3rRtPkfV?`YIb!k+fR%|Z4JyLSyMpqP zk=LgNb^++9v5r#ZIU;qq{qn_Kq+>t5j_jJ^-&L=@dIz`CIyspBxF+*&u;5a~Hw|Oj zjtd_1Z%uS3YL;{a7b?EVba+yz>A+) z4{O|JxGkuE&1^oN^5TTfQj*hroqPH^O?PFv!{S3|(9iB?qj#^v zC;%aIIn$q4rs5<|zhF2K<=eD&6n^thPl#?%MHhqHw2}PJ@5RJjA@Kz^m-QaVZG3JB z=pA)-bWe$}&2236dovaraxsT~aYS*h^1#iprhiT-nAm!*k!yVog0wzvLM3c)+in1x z8Ps=XUouPhU@Nt{S1-gw200xVUGLKw~7<6%EvsQFaolYAqZ3m zsLIA9$xloN9#F-APLL#nX*wW(;iT(Vga$+cNjN({#qxGVBiE*$T)PhCN^Pct6>$B- z3PzjIv=60Qk$3rE*Sfh&U50vz(3@9cFJ98r!5&0J9Bj~54haC8wlP22yxwGb!MfGp zxK`EQSNB_Wa1CypT?%6B2-+dLm}W#>nPiOdOxbRQ_348R=|$zhO}1}6t%yJ?bSVA@ zJ^7AJ!IlGmUjz3dBuSz}!aq(YND7V> zY_~TE#NUcv+5mn*9)~a&qCC%Z=^XB3cy}s+Bh8W4BWls$O=_O&OobuytBXxK8=`my#j-qJM8y zsA%t$V~EL8OzUjs>MZHr*FA%8MXS?|tV&P&Jdpo0P<6-G<40;??|yYe#@XMLc3Sm0 zO#hrs$^M0a$k&aVkSrxpBDS+YrD94y&21BU5)!xs03?jo-&~w!PIcFWc;-K8q8q<$ zC{+@%UA0|#7n~PDGXFt$UA*;#)Aa1mDcSuyR&H-l!d{KMHR-6^@SpqODBpb@%lwDc zdh&0Sv!mTR^Bi3M#a$~!!foCrBMK(@CZtv2=Q25h=@%8{V+Ng0)(Km;W_zUWSUWnB zw3{_ky|D`H(YQYKW6HupsVDd6ftFwU8?0NhhWF-F_oQt?|Bx$uYaKW)mJ(9w!fonK1+3)QR(d)q*u|7fG9dQ`_SwC(4L@7I`>s7*+16Z$J1 zQn5So1n?UTkJ8NYFBTeX>oPM zN*z!?e^TL7s=~@6=JJgp>kp5n?MH7})K)i5E<|;HX<(Hb|GB<0a7HqJr{Iya{nGx6 z)-}7GkL~aLv<=AVQ0A_f(my?=w_}r^?b{G9Onmg^^H<8)ojR|y6SR)$O=$Ai z3NdqKy^Z_*@S~2>kzG{@Gt`yBNvpjZ{Z|%lg&5aZT~@kaHD5t_;g~$aB|lKu;x`#_ zbYVI1$VQ-WW_{QOcG&C?xVsFv)ml++W_Cnxf?x63@wbL8e^A@tzatnb+ z`j?#0MfmRrMn6+ptls+ueL)!Lxzsar9&_#$(Kz81s674l#cA;X7H#cZ7(5BrP@E46LX8&UZvM|sqwGr{6>hRp|VG6f2&F=9S&40E-E|Nrbr(5 zx6#70B_vw4+wzjbdG?l1hT}w|5Ph&yeGtAlXi#Y2v}KPXaJM?UK}bnvN|IB^pu{Wd zD)eOU-OO*+rf2X!DM^*D%Ut3JmvAsxH(aQckpLHU;1Z=B=s4=VKMESw(Tp+eidS7DB!XvakfX6WB0d1ettVn@b?p1t3?u542<10$6B%Z~2G4ZU9du z>YN6Kg>By|YXf15?#>a0(CexPZ8sQG zJzmVD&^$H82T><>7(WPUEa-7R=%JWuw0HEM@coQIr+_iuow1j-Zin}l$x~~;1kjK7 z&;J^qDcMz^X>KMvE(* z?XgeX`>HY2B0u3bd*trTevJ#3CnxVjR-M}L)jc95)3+!KmlY^NUfL0qRS{7)v+9vO zIhNL7)%pE)R!ELFr2$u8cjt@TY$WdK!o#a!Rnhd&P@(4`{k`~*URCp&S%vqv(I50Ub<1=g%pu7O z?e*;<@E^to#vxC>%tdVA+24PEJGk?n4L`H!hViunH?hhq@dCZ8Zhei^%4dhA2kL)( zKjUcbe$MhzamveVS$z8UR<~{ApYxn8ugUGU8g7*eY6-m;raSPq@kD{|zD6{p{@ zGwIjn?FLPz!U`9-8w7SdK6~=p-TjyALmy(BT1#ftPt+?BUsS;0w*AZEjpupwu#Dkj??~JROY;I>fBd9*oahG;1%m4A4_e|?+EzJ{GbM2$2m2BpH?}?dY zWAAWzHO-%Y9}*MBINU2g7P)v)<;*1X(rv?Q`TVLp+Q&E^W6@;->j5`S**j@c@e1-CK@Vdz7$F2BV zbd#Or9FGI?#!35JEgx`&Y?HFl_<6K>So0^VS?X>Qen+6xV};WDuxX`I6>ssAE`6`# zN>ndPxV4^tGuJ)eijKk`j5@Zzt*jfoDhaVFt+y|G&!FZ<9_#EgOFn|TI`M1-N+Sv^7a#Py-QmbN>9*Y_p zxi62a3BHN}(Nl~osI-Tnp&TTX&*CK{bQ4hs*#{&)n+H1xJ^&1MMp3*9#2Et)4@j#)hz zIFlx&HFqpK*h%$|EtVRn@b?lw&+NWK(h}RWXsyPE=VP@Su0AYXzpB}i^QAAXc=6l1 zrT$KlnWC5%cXwCXS9rhcFjaj&<@fO~WFoCE!Wz_w4)wl0n6okHa{GLS;f9XvHyQue z!PN)Toohzi0#*N#rM9uT-p zuFxEN+f9*M8XBa^J&PoAGyAkoH5Uq8C*8G9)pWZ2h*+SmAQKao)%>cO>yn>URcUIy z(t2sHBh$a)^s8l4y#zEK7P-;>v+7kdw*i1(BSWgn*TlN?%M z>-TbDGCk1?k$E6g%kQSnni!?pYcxdtOk{!Q521sHTDF}^=lcPj-A=!fS#~dKieKwn zkFKvRMX~wrfMY_TCJ)lU;l$3FZ1-@L7k&FYn)_RF`5(LKk`%ZB&l(d@fdoa5}HH7~GS(ODl0x5rtx`V?kOUA?U;{j%hOTj3GXk(+Wd zb1%l6R$nQwCSF#(5D>G%B8D(D7@)BUwE#8^uzNr^Dgiqo%n@=0!5W?ok<5kMp$t=H zl4Nofw5Ld*5~N%Zs4ZC>Yk*6JP%|qRN@Gw%Z|-eEZh{Y-T*>Ty4zU=Y5wm;-2wrU6lamg(J~LmU2XRrXetV(@f1&E zN83<5UIEga+J_Coh^WoHj6x8PfpWxZWQaRAgcC6<+yscT~Nep5ug zNozQX7uGnQ6fMq!#9lR`_tv@O2w#nj3XhFk*1u`=T158dou_)5x7);KK+ejBH@I1} z5BjM(CSkqcSE=TNqP$d$A1E8)0p~LxQ!SeE>SlL*PG=*Jahq@KXTHM;3w% zWdJeY6#^Zdm7UBTq=ZfG9|^!I%II5bU!Qa#(Sf`(GO=AdA^=zk*_q1_lC9Evak}A- z(A&K4|77afSovN{(j#%JcpJI2)$3X)F~m|javd~`g+5c8{+QCQT!C zzKB=@c-?EUzgf1Ea?U<)tpAW-EUp)$gZXbc{kUD$n8Hpwn8>F19csUQD`M2rcsy9~ zvr4CqL|EA=!<_Kn)pN&tMlD2FPONHL?L(a>pLloKA^e$O;qAts4sI`V97HWOJssNy zx9PS0dK+};smcL4*_gPU>K$WPhQ`dswxN^ti9^D@pG3}bW$m=RbkEwA-fFjSN6UsG z$Q!aO9r3<1MEYGBnf(u4D*NIBZ*j5ThWj?)?w+*99lX~T)=+riMw7)6mjh7!#xVV1 zp}t_e-uEZveYO$qPDO3w0((kg{(9U`$s}EAKJc6{^wVeob?YG`gP34#2tCHr!G_={1%&eCsv8B>#LkT&tJSlH)!4O6B}7 z!=1t_3$L-&j%BBnTIikr zO>*3-Kd*fw^6GUz#Z0Rq)#krJ9;fwc4)qWpY3)wmgbZ6@`hf?D^K%8G`wJGl#{161 z3SSMfdPe2>$83486l7{M&R5M98K`(Wii4bf&%wnL zn@}+Qi29iPnP$etzDkKUvSGx;<2svPl6_TWcMwwJ=D6Ms<5joH$GIfKqpfSwm9I}f z#h%?W6`}0d{m`#%J=CVM=SNyobj14~(>6IT7v6VleDJxSv27cVVV2do>1=DQvh4vf z69VfwU%XO(=<`ZiEHoWis_}xXU+Yy=)=Q{|`owrQ6#x10Dl7_}&m$WrAmzl4_pc`mgjExX98P8tlRL--)}HPHZO5~FufvN3YK4f}eRvqd zPfHy@f#o2h0+FH*ffHl_7K0=P^5Ig2Bvrx*mwrVIM!)VfWblo>OLLKo9B=cGCt8wu zRJ0D}T3;h?lN$<7dS;(i5bJ*8n8p#9=ZSe!{pd|&AI6WOwNi%U}* zE870zPt8(JUeepEH1X8!=}V}l_-8XK>2unY3}tQ~T4l)7>E7USUGVF^MTBfzwY>Tl zvGUpXVfdnd@keC<*mf(Puwtw7%Q(Bf^5{YptC9 z6y_!BvMl4{^}5ibHEf4{WPaz>;}f*_jq9@V8?E^7&BE2ekuis_Pqy8+-qW2a)-xm|uHcBx(RUCLn zH!XPXy>io?i9h@P?zGiBaUv+AQ9&cfTQckU*K?1#>fDvOnBfnF@5Oa?pVg1jMcuw+ zb?kT~%4VarI4G~tD|-JAUO^$#@W@F8_iX#~_~RxuwFApL%N~`_{<$^3a+Wu(uX)Vt zeW&3ckKBv>D<9n#FaKJWpZp&4zGt~(@xe&X&A}f^StVx;CT=f$bonCSLO~rS?^!rF z>vO64O2@CXl+XDO-FFanRQx>lFvjJxdGnK%L-goEJO9xiyVm(!U7GX*+2uoF_-liq zwX+Mp&-YXq(cfxlvMb7-e$TPqHe4B^VmXHUnjtd&_0}Fn`Yz*#g|XNh-Njb60S2q5 zyM1cKJDo>FdCJdAp7Hu}FWw?w^`XGoxF9}>sKeY+*FKvgN9qTDg&w_kyX1SzSIyC1 zwo)Rt!m0jkrw0+n3*LqWf#G+q#?}~rPQ7lrUKWa-IBp-0jkuaqUEucpm20t^VQt1v zscpQ!7>5Ez$&-nVku!=JRbh2UBC>X`xSdAcPh;?B-8B4^zFctl=zE5XnrN-r`+(vT zGbQ|chinQyy=ks;Bv&+M2E1;vJvGWW?5itVX?LxK{~gcAFJiu{<1Xn%2WLI>4@-`S zf1bq;Dbl|CyN;03>EANTxLW?CmQ}up^$nZPOrAa=qb~y6czO!9&L600m1{6Jln+P- z-1I$Ap9EC?K^Jfh0KJD_2L(xSr~ye-$!FmXT*8ESY`Y!gFd&y;#1@x)hclD3Bqo4t zj<5+uyM9#*GucxYn`o|n+{L&CRyhbWWtxHD!w(D9jQI)^1~qfGr zuI)$s%h4-@Ze2{Sff~ci?|xUhZ!vT&o~&jqdmWA5 z9NUlm;o~O{6uUOHhud|X5g1Yp7=SsP#nJ1?KGVGRNka|{BsgB7zqgOi!NCO< zo=p$nuOw=>|7J=CG9YbrbPms9o@s{oPL<7wdbMfTcO7+h@{ud}B+bVunpVh=n54Nho z(j#j{g?! z?cA=vCE71gDGXYaYgjcZEhtMy9%*@OT+ z3J}*ZkFGKQfFdF0wD%@dy1s7_aLs4G8Z#*!#Us?I_B(?% zpp2KXA%>x@gFYn-f@{lzl%JDefMNeZv(thruJ08=(Q7qoeeL9Y*<`MSar_2$Ife4& z;nhuuBDmtRS|{IP3c8=~GFhBBun9d%Uc;@{36d1S__Cm$F!*R|G$%~_sG{KGO-NWE zm;7a8v~<2^wGO2t*dZvg3Gu#>udH6%aj|;a^cNX0R&v*e>9ErEbwK!XUUDBdW+qQc zq%JNW--Let+=P5ehdodIDFgk|x~5k+jZ5^e^G>X1w;`JmIzO z2lYxOf96Z4otMtUzSy`Czae%c?fe_SI;5#@=v8z!PJS=%{I{+1-!^$q` z>DajOUBMOii`sILt>DQ)EqJ9)T*|#s+ulMeN2Uc=QJHJ# z%uR@1y`(=5Dy}Q;8@o0kCZL5qTHxI2A?t7En1TuK+L29&0H{lp=}l;=X6y6lixMl3 zHfVtxAQaoWy)_s>=)x{=BLw$dzCCNzdprA+WZu?KlGHSg&?E z{oTN=wor;LbVVKEHL^Y#ieJ>ME)Q6SKBXRet^PiIqng$BBQY1^KC9CG`qBqJ$vszp zwuG&hP`;Q4zJYC3*3d;7WE#7{SwX=1AO}}A#|$)~#KF-@7nr3uj9)D&GjzSg=C62L z$qfsN`Juc+t=dp`~ zMsBvgLU)uIIgK)7BdjML{JkS-(20{i8t{+(eiGqJOyqWB(hW(BU#~y~%`#zsnt~9O z>HJ;ljo1r0QLqaEEMrOg8BrX{exT-#cb z6!GBrCg%hlIL-N#iBO}0yve(nz`uxtMX?c4@;;{iyz)Mds058z$DInI;Y;{>WYD6U zHj?gu8b8lYP&{eJY?cZvX%*+i$kGcE+V51Vs4ads^_2D+gjE)^)%4GxZOks_J-g%c z&+Rvd)xY{>QKngCm$pCs=m-1myQIIzC-wb}wvM8>BICw2MtIj48j0+xQ7a`agIvKOm6OWrl)dSLMbCH{Z-b5Hx0rX>BZ6kqWCU* zF?&>*VxGd|s%HY0$FiEQ*>#-wc*cUx!%a88qxACm`~0|%aUXO0whK924sy|TbW-<} z%ZiDtZR(a&$GeDUb>caMV}6aHyuDk%Hi%m;k}?C=uP%NLEx8h4a?SIQX1ZEt zQ1=<7<2&N%EghXrA-O_+gKf#*@l+i;30?%wy+IBx5WK1^jeZ4!$X*C?l^+C{uWgk; z(dy{{xH4iRmN7^z!0(`9Q2yFvOo!h?2WRnjYjePTH1csBTvx!+hD*n` zOuM!TFqsn;30)^hqS96zCmkPA`}N85f8xDw4D5Hv4_AhEQb@4sDoC5Hm{jznINZT0(5Lr`U^~6w@o~4uRpBX?M8N!=m{B(uZ{TZsG?$rDwM$y;}pOIv*%?gInP1?68qr3`|fgnXXbm3}p4s z$=_^=|IQeI5c$XS4IR;5dYta5uDvCcq2;fjVS|ROPTY zIn+;!7zTvmgWYw3{fDK90YrEPL9vn#rKT7{NLj-3*+Eu+Ti8kNe7Oi@Oq_|`Q%0%k zA^zL0yOx9eR~cU}+oX&fvck3>)j`3f-{D|+?O|}Gtii9_n;Te*)f;Du<5XRjGtgzM zdM*Z1eJc``ju{k2E}{#wbI4WU`hoks8BPxdTJ3tmGH>6>5p0Y8U3M*1*Ykmvf$Y$) zH`nsha^3yfI(qSQJ5%Wa06hRg0Fva$0{qZCc*n@Y#VULIPofuq9=Wat5nX{_(FDh2 z!69eDwwr(VYfJak8;60w(M+%3=63UsfV=5&wZ|=PW8FnGAu)nY{3jOGV+I^tM|N}M zR>W%q2$=y{oZsjGwE#6C=+rC@ZU=;oX@S6@XC?}qutgY?bt-l{4`~Gs1q}YaxA(+} zQRUs|29CQsOkY3EcuKoC^yE+fgK_(l29nXsaflei`<%0y!lq|chIVO6iSa)wOnSF` zJC0JN6;baUQ0}C0H+kd7xwYEbc=K&u*_RJ{b>g0)k_crlJaA(nr;Z#P^(BvK`CV;( z;L9Hm&Yqlp6v`7xhWasuNJ5hnDxH6KU}=;6T?(? z;Lup50KuCtK2$!?`qo#JoV;6@*~rU?EDhIQWpR-ROtY-O^reX2+Clht61BcuT@fdS;l>8 z!aGggK2d=S1dSc`s#??J(0I|=UL&c(PANL$Lnm39f@%?6vV-w2q+y+Az;fX z{^!Sj<)qq}xTBvwnbwc$IjCc?uxiFDvv|(l*cr|&0F*WcmsI6D>JsJc+?OutEaUyp zOV^@39hI#fjFrqojTNxRTsyKgqzKq9HFfHGT#*0*Fe#AEr$n*7C~#U6?dE(+I0+>I z0DfnJAS7&qAeFZRWNe&>h)X9zZbUe&PeG2u^mm`40&FdS%5f0b%g&w#6WCjEi|vfz z@sTKWWp}vn(WBf=%KrdHXMMzSwe$U3{nf*b13LxPf)?L_`@@~BHZEAGS)Z4&Ie`IcFy|{5uEc&7^I57M5nNtYX?Biki)>M3{z~kysz54~P zslM^Tj@6;*i$jsuKAGWWq}`s9qry((`z~s3zvNXg=y%rdoGwMecz^4jAy54lejNF3 z>*ZTFg$SzwDpgjym72c&OdnSD8>ghsO|`wod;ipAmAq7K^EP7IqT;5jjcZ3&`D#N? zo~b6SrVP%>l39^|RqxL{sBm2#JL$6fiI@@Nhf+cIvGB0da_?)8>J1l1oz8cbo1AG^P_sLs1bKk`=C{@E>Z@Nsm>LF%3#7nmkKvLY}eJ+7KFx9&c?9bF!3 zDzhuEx$fcGhrnFg_@KGr-6m1&(Nh+X@(BzDCrRbF!?!z^?)E62~j zY0QON%sBEeFXo#yy&#IKK4FPt{QdA9j|pC9VE)w&Fn`G)B0v8qNeB=i7Y4wI`>pfD z&j)De@c}&t@JRY1tJh2*!t_}Hsi!cVchlaM6Qw&)_ z^jx1bv>RZ`m-pXy_V*IBJAPIu+y*r<BkrRKSciR29@ldkJD093Dhtm_^&V= zJ|_VG;KwX|7 z0gw_{MZm42=9&fAnVnecZOe!yOJ9;yVlS=$Q4z?{F#?Gxq)K%Tb9V9LPZvh_WzGDQ zDC^l4=hcvTr1Q34P`c)UCrs)yJ+?FKYQBq$%7F+0%7hXenY83j{}-GKHUm6+8)VY} z=hJbio>VzH&Vzvn>G(KU>k^IgI-!RK@B#WZV2(nh8?KwA4oDm{G_$5a5qLQ)m+{XvL^}fDLr=p-vJS7H~`~;dSTGg?!qNqn)IXPe(4MULGjxHSP7@ zS#qc|11@Ag^rUIUpf?J3g;l>yKff3)eD)Y9&HI!wykKxg=c5mVi7l~(1U`eK>!cMy zX zQ6!_d1x`*d&N|6oXRAXT&YSxbhWYB;fzwAhU(i0*-s2+vXeO7P0e-FNmlLz-5v`Rup?LdNORicM2iL&X#;r z$QIdDOZlr z9beISjds{a<#|>&ZE5`*k77Udc=>?GljIH0-GU!(?q(1roJ86J;}%)=-Cx^xcI2+Z z*QB7Wd-!|Hz3xW(C^61*Q_CO3?|5-1y0(@qYP!tf>g7Bek;+TbCMU^RsvQwer6y0l zSU2c9J~HxlUvNI7lYE(~d~sT%JAdG1Xxg)B#ic-aO8M%4Yb=(tou#u`Un~1jczFEv z;~D)yPO=N;?Y%SUSuP8ntYK*_)Au(sXspSflp>AGHof|J_Uu`m?anqj?^dYF-pvY0 zIQh%-z9PlMqd0KysS~KG~5KvHm@v)Qs>QV z?)tj>85|$t>8;k_h`eE+szQXTu&PYuCwRw+jKGb3%8A-K&co5%pB-wKXcw*5K63W6 z3QbU{-CJX?Jh3dJ()Ehw6TNd=yVEi$D zL%`gQz`Bb27XHb!Hw>;K5$98h9XWeKg6uxp=rwK|MeSL5*U+$kjWKen1k@6GR&7>7 zmg(NaKWlH_+#pkIx*J0sY4GyZHENf#jf&-ui>D{9jfA`j?%#)y7_(74(V^K0o-zzE z-jU0~VvWLL<<~tU7&#j~b(a>_68>2ED4=H7vNg$CM_ihm)w;A?cb`{QUu;KmQ@?It z&s}G~UHb<8eTu`{&AoI4_ru4T>8F0Zk1}<_VR`747m>-d?Gq~W*yH;)^Rpejiqdai zs=ZOL`0>#o2e&5kmMbr9Rt|bJMl4Z{DY`sxbj8=Hh5XGI@GpO>=~{@jDKS=*#O(cg z_L%aPrshQ<5(PO$#nJ^Hmk$5fv4~H&?kZHs87A|qhGXrQ@OO2^53z=Nz9_wpPn)&L zRy~v+nQSgZto|)$UUR+vUD6icXT`iD$`+n?zg6Do+)UBaRn9S@c8b~Poz3zM&u@Nn z$jGAn3UjaIoDy?z2J+dcW_BJkk8#(*eVVEm~JEJ zL8kFm^knQG8!T{aCeAJOHIdBvKF!a%5>XTpD)Dn14_mLy5s`+b(&B$(A7od|-CY?g zp}!XTVSBI;X9SYe&c&7qFCp)D;79$6==yQyv}B8W->OQ5>%9AtJ{$V<^`MGYI1TNM zo;?yF7rdj=9a>sc4Hd<_0(m}%wdu(UwBU>qBSr2@9ldFKa3=fTM}lUKkP;H)&>TT( zB#;_~j4<{X7Fnv+Kc(yjt2~{dnU`8c&OWn*HAO2Y39xI&$%b<{Mrok71h&%Fm#xQ! z?s>EsxdBK7f~*BV3lwc=a0oUG&Q2q6KWMROJ(BP!@T&n#W~Yrpx|@3wj5t+oQ%i^F=)CMPPUGS^aqpColG(t(I6qsh{yKHyXgLvydQvRO#icq2k~-sD z?Y83&ODiDCRk0$hDL0}iKrIqxppA%lX=ly(rW1F)HF&&Y)g6E3ysW3-^l09GZi`l`O24> zL9Y0SKM=1Dm|s}5-t(#Y3u&$Mj5zpOOLPy>Y_ z!it1sEcEo_BoU)h0EDhb*7beA9{!DJo#as+-`O`OcDQc?(Gm$u*Ly4bF4(tb$;I>~ zgK68zl9Vo(!9d>oZ%i(?q&Ps;PGSO;8$cUb{|^3Nu(5LCLk&LZ5BWsG8Iq2mXSmWM z6<@Z9>GJ6Lnz9GS&2-ib#T!Nn?UHj^v?h+KvV?bNWW4yCwlN3{A@pX?=5|`G84>6; z0d_(Ns0oOpcQAn@1F3KYEzr69^Cz$eArFp@2MH-(Uwyw<_U)SrR(9;rRVDR6S(#S{ zx@Ib$U=6&znlh%J_qsN$Kid>yBJ(+%o_K!M4gNUxdC~rBIb}O`rG>~FzE2vb}H?g4GYjhtx+Sf9YEIyRAx+54*PC#L9T%)5^X>Ju30VnD<`el#ICe^oGoN zwHWjBA?w|)Tg<&v-C2K`Yv!`MdY}m!c{p&$(J%>c^BvG2_Vkww2Ts zftwtA_K04kiy9-5k>sg0M!fH)#};Jvvn1NNLTpQ^hs(YlI+?2W=1iDG?z&6YZ~NrD z@I0_e+v~H7>Y>MK!qzug+>>Jq2kWNG&$Taf{Jc%Ku6ETxkI3R%2i_5n=Oh_MeejO8 zJj(w(eZam|DSlhN!TD1=j0b(TKYOkCAa1sN)o9b=w7&P3_o-Ag-H>;SQcZcFo?-Q? z`}z2Zju?H%(W_imn1^R_PFO$5t|OBTGH4hRhh|oYL$h79L$hmNq(on&d{o6tl^!LG z@+XJpP-dfue_y1`@mbKidg;|D*<;B*1_z0&8seOwg~O=S4^#OuZ1t=aZWM?K86)0P zXyH$-vLkXA8x6IT!FUuRt*-V95}~`l`9js=nc;o(t}Q2A(!0JYXlpiXni8U?zI95w z>b?4s#J9TD9R)r3G(j{?Meq9m#0+`qKKmOawq?;ZQWBE?i+y1qsZ52tyVx*Ul!!1T zQB4#xD{=MIj<_YKzwgk}`qFM5p_6-_8uL!1uJ*1{)U**3+1StqAXLaW8QohE$dPP& zkbQx6YT#dl3b;~K!!XCc^wobMgC-iHjAsV8wtuQj*soio<9{Qc=&)Abe-6=oEH=LC zmj3zE{4IkA`{whZ1LXP4;@Mdt0xsZFO|HU4fRoY=?h(&im@+*cq& zdR3hF^j4CDXRL<_iREiHG`BJ9luP8C&otjI_I#;GP}6~^yuGI)uWMiB&nnNFo7x6e z&Rh`mI zRDaW$-rl>NjId_Q_5FskMniRb65aC$D|5Sl-13sb^x8RCsyCfmQ>Ffvl2|I%2!b1E zUIC<KQDczy-wlVqB-b^9_2fpd}JX(UCv5S0I8Iw2j!rPna698V4>=AOx*gG?5k~0>=zySycnoe zDK8J?p7fVyOq%RViC3j|OxUz$2x!#~2r3?d&6Bidq7o1wtq7@IND#1)%UVQ%!$f^E zN_fUGAxOrLl*-GHh1EwAA}C~)iSv|cN&m=7K#8&TO%2SS9L&mC#fI1 z6qWpF>zaA6{78!P@Xa&1&rkF7x6p2V=L(&@vDd0!yI6jHuJN6V7FW|`s5%eikAyV- zW{(BGZ`JZ!x*{dld3ed8BoP+ZNRSf1P^Gh?X{+xzAm*eV`_Lmw%$e#&|DkGA8NM>= z>7XV-X5u_rw_j~j4Vt+Il!Vcd<7T*bQG>rP*F82{bW`_PnzuuQds1G+vT^9);_YByeeDP)gBsAz@*?MXJ%`F|$P+?lO$ zz$llqK}lmVM3i#1OiNMFHk7Tl+aWmP) z=r%wH*uz!T5E}@NBv{bS1jAn$1)!Ip07Kt#(E8l7HMEd_5Ub+{D-xET zd99|KJ*~s67X^l)KLJvUfsSrukO02&50YE`y8&~idVb(nnD6N76>e8t2QfOF-MEZc z?c&|y4dZ}rv2GjE8A87Prxq&-P)IYtm}?B9&WQ8_wPjz zL*im8g^Cs%EXyJe80WpqINXC-S7-&kMtO{m1@!ukhw2n#Oq-rY$<9Q^Ga7`ST-kE+ zxvt31PiGGXu018(#EOgdWf0ytW!ZY+TTmm74($Rk9gurNVLq7(mH;hY{z10??+GLD zL!eiTP-fu`nHgyA2E7IlvcY&k_7{Xm1;>HCKm)Nq1_?DS+UOgCkGEHyXCWPEz=re_ z_PppEYwyTi`qOy%Tare^UfDOc;m!>jEF>ilEE$)rsZ*RpM1Ds7oH74ERb}K3I~O%} zGoRAV%IfFd+{<+_j?xBiyP?4hrronP-&?I zwqi&r!4Bkk!69-)wJ8kzdZI*a_+;xx+53NYkoO$%#~|Y z`=s#vEjlDC{sljfQ$wl(QBM}(22(RDlB5i(NPLX#NHGS*!yrK`h{?cuI&p;5;8qwZ z7HtGhPbpw%q@*1y!6WMeWJXwQ`F8ArQhQJl=b++BLLFl~I$cS%Q@I@z)l{h@mlr@1 zPsT(-AuqcJ6J-M7A5%QdO|ZqljxyMd{5>2)Gm20f$53M=;S0Ieog@`%qQf2!*~yd& zUCQuP&CBLz3L8DqU)XB4u)n^kgsqvf!Apfw3u&{b0}VG!+zlAGQ1WgM7iTXcNzu8xbTaJ7Si@SJ&bg5bo7XfD z&NQa(?op#wyx221BQF+66eP?wz-fZym6y!NLL{(yB%!=2eIbwB2!281E{0Of*RO7_ z-qOZ6+ydix)ID|Ay*KNX7hL`P!#96@^|*awS&;YA?P9bCJ%NwwH-lmzTx&HI&{Inn z$4cTZd=*Xu4*2wqvc55`{0G0&kG&0~o%_o`KjX2ew^HCerG_js(dh zsO|FQL);V;?h72Z^9&rf1sP0ue^*6Ixai1kR zwlLvGL@1;A%?mxtIE{q?hQxD9Vut7g$Inde7|Bd-gWP_a1N>V<3@|h!WG1(2RVj%> zO*Oz!hRvCs$${v)?=zF)U7(kK9`dI8ec6@RanORdcSB5bA*qq6T#wZq==i;)yR$;O8DY{5s3E5$*CDT`9AZq>;O^fgKAlJq=Vb8o3Dp z&e&Jf0I=Z!&JGTlwjnGD1~X+AL)9@55~p!E_%I|0447hq$UvWQ2&*7U&sp)(&Py8g zr1o8 zABOQKHfK8x8|~|#w7neDQ~gU%+>yn_Ni$G&xs+0ltZlFQNG&_igsSkOj^eVw2gU6e z)L}p_Pgi8u0VXz%07YHAt2tT#0D1LX&Y6(6&S5GQa(U=Y^x_g!==*nHeDx@3n^Q@} z5$n(Uh9vq#n1H(F@}$5Ffg!}Ly8b<~V-t4Lu+`#{^PAk3=z-xkc|lZ8`{Csb{7U%g zL^=YNAJVL7Qw6Mpz(ch$C=$Y+)Gn4HIlaet(Mz-iHw7FuYZF~&FhIFbghAD)J^4~l zodq4TKb2MV=!9}zMQz~HkpZ-WQ4oydf9kBtg$T$QqCObiAY63@=i$hNFGg{Eo~$f& z(T-1@xsnXCpq;|MR}NUixTbdTcvs9e>y&81X9a3-Tv?p_lwwg=kxlCTgm8;z!P1vQ zyB$=w$lhk)H9s>kPaTY824&Qd%h)Y0xw9z^cAEjwfCGoV+aSRy)kLyHPO?>JB$5EV z6*tFl#9dBQT-xC^)B?C26Pa6wFW}?s_TJ~SZ3a)tkT8`JLp!2G9R4_#NY4yJ#Q`y6 za&WK&#b4=Dd7?s8l&v53f3QDBWCVbefU6|!j2#JPHx`4V05_8l{soeW5hO4_m?#lt za3V~Op(B-JXqrM&>o{4+W>p#+uk5d1wD;2;;a?in&)WGRpDCv0k;5OY4zsk&&x!@Z z_x6Kyp-uw1lBXfU#knD?=RvV*t$VmIzq~MGbw4R2hJ(s)4m59}mkQaK8moB4&lWKc zuM{{4nyqUv%6|n?9A-Do8!ar@QkJn=&xO}QKP(M{_ zpO2{85<&17P<`AC5g~I3q3Df)9t@QfS30@13fBl7!x;oYprtIB!6kq@0WSUB1)fFz z6kvj^K)8o00z!&~7!?ZA0X$Tv5%A+IsZmLzraSw$xqerB@e?A%ahp0NUZb_g$uDc{ zLk(FFCqs&wP|yz4NDWc0Mrs}6_-njW-ZV(%!Y@6Bu5mVS7@4Y=J6!T^pf_05$gA#A z;ihjfvk0rSmnXLUamC)s#i)sdVFy86Gzrly`o<|?C3Yo$+`&J}RKH3QiiymHjs>py zyckNcCc{rHTkJm11mzXd$pa!nI5?JY!0n@5=+RdlC-Pew@*xq>`DixXcS}`;CiD5rV?uk#VN%+sp@@c+rCydZ&w#XnV^yp z18}jx{-9VBz7wz}&eql*>;e{KnN*P+ICr3j3amy7{*DrrR&(F~1p zSb3dyo);#_4JbNmFPic9TX=EoBg=nfL3!^`fq_&dc|Z`mvaFsMk`niNu9r>3=naal^sd!b+o`5!yN;Kby&8yRu{p3#6f$S?QoQWDEw}UIb6|yZ`d$mZ*{YX%`m9_< z`6clTWsro@DNcUQV(*|J@Q9!w&pOyjz~?@O3aFwFC~*@|69MmTr65UYA22L_gsAku zEHzU_jKdhnloLn7OOR0&3>z8PL+EaH9qa`KR9KwI*a6W18w0P2VWX%W(}E9!?~%E{ z!Rs?IW}q%ON+m>7F;;ZkP6+Fd^KdF?cz>LZ+pUV&G3zBlE1JoV-c$TVG69k&mHOfe zzL)hLx(r=gG4V4RUOgI3U(O!);tl5WaLS)t3FB}Nh~YH^wt+IkO=2?QJBwF!aH-y~ zYSS!-30m#Vy6o(4Vfk`;HjD=96Lk2K{{JPAa(u#~;9p%8JKQgpr`-Fbl)5^stxe4V zYj9e8T~W|Z7A8!3HaMMWOw}WhfV$U`AWm(D8(bJv7cYG|@^Sl6H!NZ&OVu-OM+SnP1 z))sIyoF-cy3JH8l)vXBOsBU4ipVc9N!`epHKE1nW$5JIA+ zbpzZUg*t9?kq9w*mN1kp8nP}ROK3-TrW83mV=ej2)|TqGPVM%G9X?-L<>u#}yDGGt z+4xrCUgwlcah2PpZ0NX3pILBQ{H<@~+t|+m*O0Wz!!-3dpPMf9sJN3-J^3`QBa8hc zSPXm~5ti&h?-$B!4@GFo+M<<4(geZTF0bGeW~ z|BGU<4mv5tFK22k(|QWrn;$(9U3hyBy}4nTW-A2~0hg=ro9Yq;{c<-%4a}$zl+Gb_ zKDqeuo77)gN;Prwwa~mJzTVLukiFhe9sFb5v3`wg(f%X0m2SgjOV4|In za8)=wEa+pSZnFWfO#?6`Szwd_7=nQY8-v0QA)u(BHl8i!ip*5vpe9T-t;uWSg6FB^ zgPjqi#C_Ng^$6?w;-3fFoDe-%acR=)`tAA#{PRtZTW*~p4HUzQ0w0Id92LA zURJ!tjJnP?3m4C8#;!e$-}}RrR?ID_y1us{>)@d?%TCc+)Lf6{X3Z6xpIcS1RXpx! zXl;PnH_ct%-(8!28-6c!*kZp$F^-s;|6}OrmVRe(Z@u`mle&%gRdpocpVgVak`2CT zR(S1p40x{lkc)S!-6Rv2Yd%PSW=d%=2%vy9#<>|gs^TF^;3FBwypv`$0Wi0xb>5mFhV7y$$OtkgNU! zUH_ligsTL93p-O++T66q_H6d23q7(K%kfJeAC(?zlAMAx(i`mWw(%xVAfRiS%z6iNwq5^7lEyC|*Mq zx*?~Ds!)NEb4G;-(TcqgR2KzrffE6&zZbqLN=0 zbruGV{97YwC$8z5T4nsqTx}eDW$M~q&Ex}{BP$9khT2J2FPco7&Mz7i4+t9~2`~ND z9bdHdL1&kB*0HihdwePSF;kA6^keD2*Lqezw5RdHyN->VPpWvZd?GLBUc~Tk%Cj|( zA~G2zm-dHzoRfe3Bup+&hKQTvf6ekdz57f-^rv&f7C%>|YMl@MW^R+`?NV~Hr0?C) zXubICl_eox59o9$UHKYnQ$`%9QUi_B6Vsv3er@_>b=s(l6>OxpAgx4HHD}H-e8m};?KiQQ$$!6=etx<^_N$6hzBY0K}rNvwr5B?Cljp;w43$+6>;q&3gTb)PdDtWXy$z4kxu zbp>2M0e~Tb$;R`1cd9Nq0}H0Tvw52=H^AI$stp%5fQRO5*^&r}lCp2dyLt7`ro}&x zWZ$-1w#Q~y_qo*ivw^`iouv08naHu5r25vq9Nb?t~t+-^YKdEs=ml;MHu0m6qJVWyZn4|KzDiF5tX>4pVGZg9IA`@J0~OG~JU z_g58H#hL}JE^;1`HqK1kko?8NHMFWrKFT(4CaW~e^MJGSPn_JT<;njbd)bw59f&Wx zuQG~GR75o0yqtbu<5~r=nqbfH2W9QI7G1UbvaNKF=X}@hvb$@4uJ+AqC7Ej;DT<)(t=9gD@ev6rXHnB=mdI-hGzm83Hf_q%?ZvuJJhl^bc6 za--mK`Kg!(_8oFUW>*10eGusxB)|`rn z|5zP&v^(p1Z{|sZ;@{(+#lvGW6l~^XOvR45kA2oM{4%mMbGf6=&@@m0xIy0kAhy`L z>(c?j`9-@&tV2I!)_Hvn`aN99e{DDBN9x)gMQSUcwe}q^tvGyvz*2}Z$!QR=8=EIl z7i6z(_At&%mZplVw~q5}6utAt>8%DgflZMvNygu_V>2KHAcjCF2w?#D8$dI_pfwV# z?WoHx=HQ_yCI-t|36SqFA}m|swb;vuBc2yuLoDvoP#|&DSnNO^mS}@l|eu2yen?oqK~vD1{XD3bqA|8dMUqbg>Vec8&JXBs>nDI zmRYq}WoT(8=4bLMuO|P5hm@Tet%>I>%;);L)#aAgE#&CtTQgs)CB~ghrPP8dyTpvx z<2f(hIbW-3HQRRAQrm9o!z=m6opy(3SyH;Czf>0QEL^_dkK=#k>CNEo6*I<(zp5iz zzZwsBUH@M2%F^@5;7Gymre!vtiB0)d*(z5zDOoKgZmw#-{}1x6Q(WTr60gF#3zaO3 zl1smsJUNrGH{U)tPAb<(_m*~+x|KL*dPJ{`&+&atOKt7Beqmp2?!E2XVz;U8Hm>^q zwC2kG6NYz$!>5=27`UoAUvdIwAn|U`>#nV;Ul(un&V5i?n732q=qC9a8!V@PKRRN= zEb@uhJGy9lkG${Yth2Y3roQD~I}rNg*b}eY-N|^ZT}#%e7hI- z2iL_eCj0IAV3)B3CoxmieNE_{}W3Cx_$Xy(>gHxi5qnXvwz)L5A;R>O#m3RXF`mXiGXtRu zs!JHjwhQYu_LYo)<)D(?JujSIQex*JI~jRy>rgmRdM;dga@k^LL4A|Y^) zfWg)eqAeY+&&i(_a?Va2eeK~nvCw;qAe;YU=Oq&x!~2~B z$NTmP=5@jh@8F&p?T8N4+ zXr=*D%n9PQflTc*rc5Ey!3mKhi&7O0Y%<^2%RFAmSCNl_z0l7il(+<4oPSceI%9VA mUk(GBOMp28X8~UWh6m%OE>|o@!txLFtuxMRNFieWdHjD~lP`z> diff --git a/server/tests/fixtures/video_short1.webm.jpg b/server/tests/fixtures/video_short1.webm.jpg index 615cb2a5db53395018c29ad782d4e62d9bc5685d..0ab7c58ad80ad28a74eed63935939141e080aaf0 100644 GIT binary patch delta 5588 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 delta 4835 zcmZ8lXH-*Lw>>Ge&>?iGp@gP_p-9mHCejITMVd-CNRuK(kR&LGp;sZagLEm10s?{; z>4<>{7!VKvktQf8*!8|}-}l}dcAu`yIr^h0vOo_nppu29Y+wa-x&f`m z+IE4~znLi%VYhu8T@3ngZZ#$Oo>D6$tdjX>3W^>NVN!CHQ;?9^*}1D!PE6zW?kxGR zB5Z;pDtd@7fh>apIc^~N`VuG;6e^p1IZ-@^EFemPdXWV{<2rJm_#P{m5drSYQ3c>f zu!7qBmRS4?KeAl(=}Q1*c@IQ<>g9!^?KoN?;fFW*3>>*j23n4TIe7GaG}HqC*+3{6 zNzn3#h&+FSYkBb25ZPvY87=YDCC=2j0sJ$OfP0)DF7xt2-dQ6doFQV(rRMz?gCvo9 zoy6h~6+n+i~vWVwiCvf8skFyHSSj!BX37xeHe5N1HI zYyc9tLrF2`$q?QY-1re-)LeP@jcQuutE_Eni8a5seYc-2IGlI2J((CPCo}%J+G6IH z;iHHbaX*Wc+B&k5HN@C)(p<%M@ekD)I4 zHx?WgePbVx5;l@3`*Kr){ zvuA7F(7@%ltwC3VOvjc;)rIp3r5-&d`(Vk~Tl|FFq~?pWYXxYhyv|~RD?Sf~@&!4a z3GhHPRN-hSHo1TRw?;#|?vPd8`Or!w*R;5)93BG@PZmxnL%XT&T2S?jO;jwJx}Y=K zv4w^WecabP>C_&{2)^KyS5T59_&xa0OXs8r5?{+}S7W>dY2R40Wqm5H{Gx{JW_1qy zs(u~DtX7=Bp|s0wAHB7`_t&9_`hZFjIMXLkztUzO0lM~ z1gl8>lO#TW*PF?Q-^CWbGq)JE7)MR+|3)jRmzH~8l+NoMkg;XwmZ^Df;?(SykU*Av zjfScmV!*BSLCy<}Pz4NUS|Us?o2)v|#|yo9j>QB>ROK;M&1QI&jNC5(HN2zK(H|TC z^mnF4hHJe}njN@VJvl|7l=@cscb3-FZ8pCm&H7I}F}1&|8=dN%&^S zF*Vwh2|uq>spOgQ4nGz)1R6qpUZdK)#>&-5XcamTtI=HM4W7z|`C(Dx(ZK5he$M0@jRd8mxk}XI}k! z3Bm4Ia0Rq}kM>Jdf}j^;7kY(c$JhS2AW>9vA(DU^efl$7oB>{E%sxe6sj5 z<5Z$$Kc%1<0a2-Icy&h>H;8oqZwytj)h-LzT{|c;PPFIg$uuz$Qu^6}PNk_M%H>t~ zrVWnF=GyOhq1Q8dONO&G<4#Oy?!DHymK{?lTZqcMHvQ3B;YzDA<)E)1_xM^O4cv9#Z8?aPsp32;e|mnKDFZZXXizk}>LO zZek84quN7)S3Pzw64&%je2dRv+QW`hxa{= znsp_6s=v_Fr;|e(BGUYhO%q!(hKEbpP<=-kS7)K&VyqjV)n&p?(g%|}mUb`oM zJ=ET->5HDucyg)y&hOIeGL4JNKc3WIQF`DqyU97D25}H?;=@Pl52`xH4KAd-bt@_{ zJo9+kh;*!hc&i2*EW53iu1MgLN944VjXS9thIw7bcOCm^?_Q@pNW=HKE%MgPZ7m?% zhlgiYf)vxQ8%+|AXT6*WxEl1QuGXI!6*_vYCfBW&J?fNmuzN=6*rn59ep3x+lq0*^ zxOqzdYVaip?(i|!t`9H%pt9TXys&*-o~3x0MN!Mh=Z!3ESidBwG@rlLXTi*J=FU6b=Z{4|_64d%$DchMg7QCS~7@teK zKWX650Z?)7NoVf#p~t!;fsKu0c;pQv84by4`sU-vs6#TBFOI~+{_eir_XPD~WwPlW zCPk@>Pd-)O;)0>`TJ=#ok>=|j`83|?UeY#)>x4u@mwgqUdr|vZm5KcA%Ww5J=#td6 zD?1A|+IA_k=kHax&yNQ+5*-YsZs~Ozn3rdk1$tF&{dK;^ZTF<;8{v3~HxbY;t21Rk zHbjBCb+`HJU&yr8-nplp)n$Q?^zv!HWZbQP!tzf`Sw)WY(B-lo*KEcsP4E4_V7E(> zO|;EG=7*_SAE{_};gX76!lIf;2o1xwj6;uhBMd(F$|9m|rSHWx8;Ix0%3L{=Pc~ZDyALQ`Ywq5a$K%giqZ|887Cn~qXA;6L+aigW}KmWA+9D5 z6?Q+nxD(5S!cd*}Kkw0lI2J5Wo&qHA^u^?&&y~C-c1aO-i3=Ldk0;}f@Yb6lZ-rx= z>@**umh#*ZDnr`|PVfE!5+seB&P)6}JJ)JhRH4DlX?(eoBS)-`cvdfj{KdML`}eNm z*Z>ZSsc_`+-)8;iamAB;!7KR4?7s3b^)s*&u?4Pk3!9?(%glFG{!jKi1XD@HXKE{T zof&bOvA(Nax7}RNJe5$H`|c2CYJc%;wM&W=j^f^aXoVRx-_qb(sfAWFvo<|AU#{>~ zIs2MFm1%*DZOVwX%*7a|T1l_mZ?TL$d?`1XxT(5>?YmjU5eh@Kz%AFrt6a0rT+me&q_raOOA~MX)IID72~x!I%#IsK0OzyzF;~$ ziz|3<>r`oVmETzYzbXST^2g|ZB)^G%?$eD|d-OzitFvT2yVuJr9uEiRLz#D1!X!^3 zy41s$-au!Gvnx&$bl6Dm(o|j8Y5R5md1PQ%=Y>A?H~ewlEz=m1iNMZVMY^KYm!haE zeQf6!Gx?=eKc90(YK+}puDQ9d8EnVx?k~VqJ$WTMxRR}RJK0BT?Ow2&u3!5@P?PcNBr@E6{i}>DajzrK zinqLyxHukZCQmq)T~558VZNi+uP*Jsh1uBa4j!_Pz3dY}Hz1jN&)0wEUGZ)TeQ#bl zTE<(U8?+p&?1am3?Z`InA&(w@6=sY-cT*-8BS_pv6ip9u-1{;T?)eviIOD=&)fm}{B0K$-L$-xR1s4JeM&<<(;>=*rJ zi;vEENu_k-NmeOVQQA1}iwQ)P+^x}FX2OKJ<*RB3oQp~Xhks91EZ5+gi37dBLBIiE zO$V&-|GRLm-BP(#k?AY$K_%L_R|Hhdxn_GVaP1$j35!8IT98iq;EAH6QPsR+VsbU6 zXK;enOH(UaD!+*B#S$$Y2)(dSx-!wYO*HesT^wv%z^26p6`;bERjE&@CLWmHJ`2!E zA(9U9V#ly07uHIi5;E4xZ4#$hOH57tYZr1z0+Kl?0$ijXw1DG*)8-^Xb@h=wX$8w< zlrmY)8!KoGm>sbMYIL9%&(NHt2dX^hRh_+rsa}EBlg)a_h&z4Ou1?au1qlZ^z>y6{ zE06v^n5?v*2rt%Oh$LAqE7w~Qw$Jh|OtSb8lq|1;fk+V)xJYPdxJ-v! z22BajRZ2Q*FVFv&aC1*w66=KiKk`;-`oeKzwNDyYrdrD3A>{7~)U(vA(opNesWDxi z)%Z_xQQqPsJxIhm(cO0`7Vya3{222?rR=tbjv~*0zLB9L9}Y=Zf7FPCXN{prVp_Ll zGxoU#hu_)^T^_e3jS>00(mR%IEY+10TwaI7jTiovt@{N$tGRH_-PL{elBQNE59Hku zMd5TJcWFw%$yrUW+iYgFfihE~iSaEEK^DR)z(nOLPXT&~TIH(XQMv@ajxLyORROn~&Hk|a%0SlRAC z?sTVA)qQWZ`yLR56k$|m`_9Whm4mA@UB|@9-wPIt`8QQ(Qltpq&M!M-%SQ3p(%BwS z2d5Omyy71KvDeSg=^m3jR#xzJ3m9yb_Yl?HicO~c)|bhmBYbnkTz)x^h5PHhR#a&E&TAF+bX;3;dO z#CbC&YrN5g(BW+n%ug%f)(OKP_%B?0?2vNBcKGQuDS`)r8N!s)iH6(mivUBWgc z2kWG8laA0kQe&>Gj@x71$NvFt+_M!5iu4)j&3RGFoqKlh^0_zN`6b*|`ae6?Sw#{V zdeRZcObg4pqhT$2N}1vwm2@Sx=(p4Aak~!*N%p11{JUW2)e;-F15-kPhnpSh69PRy zpapgSfG>fPav-jQ1}DKWz#wbzKgH12WhwH9gP=q;+y*Pq0pk4aT!He4-?fUb+RC!% zaN1>hu_Ls{gD5?~(k6lpCT;F}&Q8{|NPlo)4`y`9Fkr4OSRu{FCq^XR{jC%oF1j73 z+3>nR^e+$1sTiNqu6y4k;SrKIZ|Z0UGZ!T6gKXLnQa?#E=M>_GNsR4K;z-?GuyTE&xzcUu93GxJQXt#B_F3~>}d$ZzoPn|9>FG%1sJeH zR3MoK_!|+lb%W7RZGX;md=H5Du*VQEU#5sC-$uf;KU94M@rkWtoN$IoRmf%iRTBBg zK$sS@K={^>H}-`Bz04Ab&LtRT2=Tjegg$5p$2(vp>a)0-r@JeI+szQ zPX_=^*nfompM{434MqY*0{~{&kO1Rpfe4!$(ty-qG$idvJL`FcV9c5Ui{=SzQKb|C z3%zbgSW6Ctgr$m!NymVA-{;>yVzsxl4^g>}n5pyaK_XS%m<6Jue&Qgp@FEM(nZjnQ zP($N;tPqzJlTzO6SLwWjk_4g)Yaww=kb_H-43h^LN0GdC_VFfg$b(gJ@iX?lI$tA7oSn{Oq}+{bKj zMl#HCo(JJT8tvep6E3v6Luh(}>Q5P&ZOkM)AnL$(9`peXmxTO5eQSGjXQN-wZ)D7u z5=RR%#LM@AKBK>-07s&DYg^Z0xSK}OuWzEa8I_=fxKFM-`%nXa;T_gLv7*(6n{;&9 zWb#trMs|NQH5eZYM^PIQ)~AQH-C%BaeCjqix|We(PMg z(XI5G$u(Pb-z}=fOo%w-kN6P$=mGP1GsJLRTiZ*b-z4`FHM~e-Ie8Rhp!Wl{09MgF zHLYv2TtlO2cbC#zjLNV?UuV}HIv>h_E?amb#P@$Xa$mur-@Ti^mL(A#rMK+I*LNRU z0E$ls_=Y=}E#F7IS*P=Sq%oYolt_~w?%?O?Kn>P>DX(a{d>7iblXq!nISU-p##LOA zkOBGvXaX+^+S%UgNd~36?CliCB0!j78x`jt-UE*G0nzx+!@3roZ>2V$d$vjKOpH9w zH_U&0Ap?)QlFl-C`F)K5OXBYjX!=@evBMORU0d40A`i6*V=iVY`%VFIw68pJ8v_JT z1il;au8(8`?LY()BsQcKm`C408o>94iJAEUJSm|bl()|x0>yz+cd~!4RHWK z{$k^%(m+3r0DA|BbR7rbZ-d3|r=;5I`u4nC?GoY@n%3DB!Q<|-lN_U_eq|kn0C+6` zcb@`(b zQEoKdS_D2)-Ux{DWIl|%@yP3pPzR}K+Fj&-3-n7HkfcP`H_UgbV=HO|x!auMYYuUW z0A-Gx6Ibz`t8=d3zL@fA@K0os{{Y9cs)B#d87+own|(byPzRTMA$>gfqsDA5uiH!h z!M*XB+X`IL~?j_0NN`>3WZayffB5?L zAKR8G1=aIvA7iyM!0H4DzCvv%bCOSdfj}OA;bziPUA2D@iCaukT2+W;n*iW-9A_D> zJbJ`B5?D)f^tq)jPIc`zJu2r&(0qSU;OErsG%xHYOX#hwWx?M{{V)sb?rmKv3PCmk_cQws(FlArBqfv z$L|j3>0C=6kEMr(V=DaDYVgx$+WieZjVVph<+Zw%yf5L;4QhHXgl4qUyu)lg>5A>= z<)teFvkt#^aNv7ZxctW-LcS_9scS~@OQqzJ`Pfuw(wtz@>-r4%lc27j;r&WWPYCI7 zK##OuTU_pv72Yt+n|R3MuNkY!G0wgsoM(!YZ|t>X^yu%?^cE_YEE`Z>w>)0H=<z=^#2ldjD{b63IT-valDovJuvC)d`&ZxOTzM?{ zx9EI@@q@zpXM}ubbEfFm!sZ14n9fVUarYRJ$?wNwU1S`-fvjHW8pXD$rA#5cwqnsp zP&U(oIuJqNngEi^UDPbJ{Z7i(eU{pm!F0QS6qnfB*PLX0-0_M4=>GuWY52z)fL&de z?d)D+utpBzfeBN$#t)RGV?!H<+8yMWXf!f&PBL;vT zzB}<6$Yfnai9W)bZs8haK#Unwanuo=-F@f-Vo!_SGkeHxj;9coG<3kUhih-f^2@h> z4995XiU7ycymznZ-X*-(?CznDQ@o7BGyR$(jE8PU!n;S^9R&bc9};|0x{a0edWuJL zWi+$EW4DPyyr2j9Lg0c2LNP!Tyf5Qzf5P)#OQK)>ovz4ffr%tmU`Y*z1Of>-Bi4X4 zE&e9>t_?07J#`q~-YHDzWVVUiIg`zQExf60m*=ejM&A+qQgs+_zqEk4g)SpT5Jm>s z*tCF+xH)1^Jv(B6D|nm7I{yHPw99J^X6hO3?aG+;+eVBwuF;lN1n_&B0C&Sk^q29C zlX!+mBh%vzBYETmW&`C1J+qEG*OQ(+O2JKG6LWT2Z{~DiR6U~hn;plEuA{ntx{p_v z#yV~7y@csCzL#n?jiJX1Gs(wuUItf2RN(N-3n;m!oZqKkBd)xYeE!ipbVkeTx&@ZK zsCb=xQkOQfLhlBapzm2(0-u*W6OTdf(zq4}8Cwqw1H*F3HF@;1ZT_aNtvJoq=hLyw z_+MPoZG08s+iT5MTR9@s<#~-~q?>1j8aGh=2?Hc&j)uKlehU**9bTn6YDvLcnR~6K zos20}f~5$#TT)xc(7ZF@e-uY=;z+fNtzare9AK6oF*}^(^Ye0e=}}HNynZhaDbRG| zOLqM>UvS%}N)xoXoR253vOLg}u>u%YHM}P#lMjgW`8-Jklj!RxH!(&?W=}za59%lb z>R7%%cnT{aX%srD+l2DM3vu^xj=S?fA2j&={5dy>CAjc=-HkR;xI=RpQwiy`F?KD} zIVZj-1Dca@3u=>q3rl|kPe;)2wSdOL6Cg=riSP;9Uv>$=;eJDt^q>jtd@-tANfL+x ziI6-*xISPYkQ4$-AC!y?k>3;n6y6@yAhkC$T9kkzN#--C8&rT#Ushat@lsHvl7_SA0>QsTAq!2n#1Vh6b!A5_vpD9iZo?>htCjHy9jk`!Y zx^vcmD(X5#-kj){Xo({seV$_OP#CEMXCUMrC<4#?BU+%1+}nT<0)BPC8(5s2;9w!h zBp#el1dZWMU_5`JEd+}kjT1Ubg+Wo1lb!$_N$Jqw&;%BKAJnew#oSN`%XVjIQO}3ESH_$IhJe`G=^W2_M3m zvd++paMA`~pfJk-SQqD_{ETvNFb|=i2q*CFs{)ffp^PYE+ucUpqyihB4p~44laY+( zfGTR5ZQc}>bZxZ=8VRwxYh$P3^dssBpbC_eaSj`QZ}?`;?&jX%?Jri@qMjCw4nKJ| zBq@&h;eY@hSaFU(2Gp_mjj#UCKBsOj7B4X$1La>g%iJ4p%1L%P9Ff+57Ux3oCH<RNw;eGB|r+@SRYO@ zbKKB>1DeCcGU;pP>QP5+G(pM;akq3Yn8wxP5vT=52h1_e03=#}i6oxIE_E295;jrx z?sXnw?&!JU++-f)o|!ZOS}RRvT{}!N-|e-#j$@WZ{nD%?72I+6qfy2{=ucxn1iBur zsw{I{Us}pt$_8~(`&m5ZCj%sa!115G!Qy~_CDq?vvso{i`UQ>|SBRk)SJ)Xy82kHV zCvpD(zO#w|klFZxSuNjBypH93)Rs1q1XlA5VYhT6I0HQ7k(_s+2(7e_5P1q)0p4`JXPM?c{=2sv{&WDQc}ndv zzBuD??b3h{%_+`gesiCg^PaQ-EV3qcNb8<>Vn5G8KnI;J;ND~I0|4$k3}S#2%zdGE zHqp>$f&Ox60a95L8zgnX1YwBebTj~-W8jVLf-rgNKgbjSt1OF+vO3`8VTi$?1rYP4 zDi_RsqoCYzKoOEj$vKm83u=>q3t4{wRZFl{1hF^(cQgTRT`v9^ys2#GNj(Y?>HZ`0 z6aioC^Ld6pCQmRN720#3r2tJ9op~!2j@EM9OXFetqpAHdKmuvkjil|n;to+tvW@JnvWvmr)h4gvHdApTSV9g|@WEr00Uqmf+>8AxD##QES+!*`qKAZqgeQ~dwLlo0NwlL6`&?$1v z2xPz+ErLn(&#eGWe{14fILDbBO0X1^2-R}9AyV{ zlUBAH35s}Ujn&bI&4vXs56zM6#Eu)4aa^ze00<|Du4D4&)Gb!tP=RHUIDDyOW5(qr zK_Qp|K;V%~E_;)?3_(Wi#}AYzc1{OJU76pzgzzlC2N2R}nhEG_573tcsI``hbT?jm&!2#zmh zX#m;Bm^YBQ-g+v6!1cu-Xy80w;z&GKu1l&~!7LFvssxaNeo>Cp!7C#gfrXP{4l)!b i2cVz>1JFI+VQfy(Hp8%=P2Dp<78^y?7FgnKHuOm%??f;@S$#mqBc8MY5`Sse(p^2Qc6Tju zgDn!o#ngL@XSn?60b5MJNfI`)x>+5HDwvoSVblSRPqhF=ZE16LBPF%G(>e^Y#)XI; zqzV9EL65BErQ_IO~jc;(!`-+uPyutN zUfRO5U0K}26C5ka6Mrh6{1PYv--a~Ub!}lR?q!lBXr*w`fKKI&m=1dqpil=x;{N~z zL!sO0l0$lPb8KZ{a5k1;v7M=b$v$TTryqOJ0p2L^b)JtNs1{q~xwE#0V+F)&2xpX| zDPh6D+J0P&k~8x10Y8TP1e&#uoiwst$0f?7vMR^-B59g4Cn`_60)w8M&;-|?5A7lF zjrOq~p&^>qC6vIxe8Hl%e2-vm2tV*2dI0mPlYs&me+{1o9UXjArk@i6bYUp_P#d$e zAME_!l>mC4q2Rv_cmu+6>fSQ4I*z5PGaWBY63Gya75P4D5)M((u)uW3T+j!J&t8kstW+kwFwjff^{82 z4NJt{e--f6>C^S=U0V9`C?r5()S-1HqdDVxsK^J30OdXpYuBIHHy#|&bpxe%hFkT$ zvzga1UJ)5nZ6WQRqacE41JU$tGU)sx(5$ZQ7)KoTckISICz$u-I{Ig84m~IW<)`-C zn*RWbbqn7TpwZ)PS_nQ?d9>*i44mUTLWN+ee|%yLo(b<2#u=K{Tv1OTsml zSKok839h8&g$y^-$nR;4xz3|VW>%} zf6BKyTu8w#-}^vs&fky)IXFLs0D3U9w7+Xd+!s;PX4S4#AL51OxQ&4NF^td$h5pbt zPH!~ZQLjxrV%FKtl2yW6A0cqypOlu#>CZF)=Kd3dO}N+XW7h9p%TCENOn~kK2Z4Zk z^y%KX^9q&eVdX3|d8g5TU5zOyIi)vbe|Oiu8}R3eJTES#;iS|op3?3sH8*k>Sp&MS z9GqitI3JaKBt!f?^fwh0_ zn`?5y`f0Z#vVhnlJvkkPa;)Prr$QNpM;A^{;Y(DTv8UCjxjHewGU`L&?+0i%fBIL2 zr?;Bw>PzdBZ+9V;lYtAfMgYeEs2_!1Gdssnt%-!K9!TCje$q+5RnVGvYEq0I_j>)r z9}xUKrs&!o^ILdpShgzOTvv~E=0pbIGFN#Z5Th9$m8MOZ;xTpLr-_WZxZ2Nd_UYs- zO$bwiY7KeZ@;dt?%?bc00H6YZlehvCe-FE5(DV-)_;*4#b~akYw08R=xDFj*J3wq; z<2g_d(zz?vtqQP>I9@MzeT^d+xVGJy@*l-t2S?zK6-}l=e+BFq425J3A`eLb`>o#| zn69%k55l_b*M@vSWvprI3*A~Vc-Cbl2_TL@Aoum43mQL)H4P(9)@>|Iag9_)f3r)1 z9Rfb_u!F`=T<3}a>f7TNh|Jg1eV zaL#&rPzI~~XxCck%DP^Hu}CKSe?_>pZz|>G3LWGdxndL!xa80WJ)-#P??&-1qpVqJ zS~C5<-R)(uHplFuHru&GVY(f@z0Ck=S$tL2^!xoT=S{QHY?n@&d7*;d21vhr0Cg+7 z?(i@MIiL*B2zd8Y@U!0=J8e4ZJGoMJit-ON5>zCkuOkczI5YvKJ}PSOe_>^Bcc$o< zliA!g)HjzFrKd+}yyhXd3}w3D4k!WN@V5L#{jCn5vDhrJMRg9*8*O#CkjUYN?#y`S zj1IH`mE#{A-T1D`+8skn(czu|i}uTFVw1?In?kdeIT*(t!hj<9X{Fd}9x$`E)!h=r zZjwOnv_8?0r2Cv#lb&L0e_^mwsfSmdiCbOzofud~brPP(qIlLlRx@vO_xcsLhcw%m z=1o4rZ{Zpt$E(cRj{=1F`*?|={DAuO~2IJf0;&ZtCHn8UkBaSIq=*6^HKOx`2Yy0zw z-@^SbNsmp_b+om$jS4EmVLD?yPZ8rJ^PgG(`ETM<=S@ev;02a?Wg_pJ!k<_Uq#ep zia8*(nq_s}`=l&a=Va#{4pF}<0AyNDqc5A~Slqvq;y2qFJ6N0meaRqxGyx)L*RHUU z5e8_UWK+Q^tGhV&9FJVk1T$&3uo=YGlg3~QW!)JYH*z!Sp40(SlW_|zf9QNG2B7x( zgt}~&s6vRGOq+}ESNRu$K47F^<0OIC6alld#JAdl>Gu#@HQbO$B0ChcX}8KaE0O^V zuxE^redq$DdVh#kF$B=sm7QQJllezG6s&!EU=j{-*O~yLd`+ua+}>rQj`ih2()nY2 zW;AHPUr&^fd(Z@5@RaI;ep&3Mc#BiAur^lr8!dpBbR9hhr2u45lY$izlb{nCOb?D( zBFC2_rWiQd#C*e{`iz4Ta8ts}IOGswlAi7d==N%b@Ul#`(oAd_$q3zM)D5tDEb3zM)D5tDEb3zM)D5tDEb z3zM)D5tDEb3zM)D5tDEb3zM)D5tDEb34ctMml9jF@xd!Vr)x;4N`uD)^zJ`80F9${ zP|S=JjDkm606e$;<9<{C_^sxZT*VW(Mc%|NcCK-g?UO(fojUYHB{r7=G8Bg~wg_W| zImdq9v;kbk;Wrd*yo}?I^T?nJU)g$w6#a(l3_u6TZb=y(y*Z!?(?cu_t2A#JWeN@h zsTotqBiPUblfeQne>HTCdizN*{gKmTQZ%6%a;(Gw&#pG99)trx4!Q9K<=v!~*Fq_y zU;x|?%Z%WTc*gJP(~1DmkHuQl@mzhF#U99=rFhqC6>X|XImtQO&sqSvbE){Ib)Mbq zq+nxPX9)qo8;Y+3j!z$l9mxQv9p1NV6nnJBTYFHXuav+6Xd8llnP|Z{?xgKW6 zIPb9Iy#Qou)*7T>$*5bbYiL%@inwerUBDBPPY38Y91IEo#gkzRGJgr}F6Oj%XbO$$ zQG+75W#Hg~2<$&90Ppl&2gRD*g}u#%{8LMQJmCa!Jd-eu$PU|MH~{gIamXIj0d_9~ zc(U@=;sdJK1?Cyzm0cuK4tBUPh6HXTXR~p^)20r=-9hWB#;~`TjNNE^u0I(#Cj%Wj(@sIZ2 zk$WzUs$V3iv8H3U;v8^B7ia*C4sqIn?sJoI6(f_N6A^z0t$Zr+u7_`Kx^|;|f2X`L zqCA$^Vrbih1ZBuDqL0-QU{HEINd6F<6!_HdTrek@KXwbm%r|HapoLnc_#|FU~$tFfuqm7W8zD173;HVmT=7sE~x^56XZItLQ%}05-3n{HOsy$4UTNlYt9=1pfg4 E+0wtUhX4Qo diff --git a/server/tests/helpers/image.ts b/server/tests/helpers/image.ts index 19a99cba9..530c9bacd 100644 --- a/server/tests/helpers/image.ts +++ b/server/tests/helpers/image.ts @@ -32,7 +32,7 @@ describe('Image helpers', function () { const imageDestJPG = join(imageDestDir, 'test.jpg') const imageDestPNG = join(imageDestDir, 'test.png') - const thumbnailSize = { width: 223, height: 122 } + const thumbnailSize = { width: 280, height: 157 } it('Should skip processing if the source image is okay', async function () { const input = buildAbsoluteFixturePath('thumbnail.jpg') diff --git a/server/tests/shared/checks.ts b/server/tests/shared/checks.ts index 523d37420..c0098b293 100644 --- a/server/tests/shared/checks.ts +++ b/server/tests/shared/checks.ts @@ -2,7 +2,10 @@ import { expect } from 'chai' import { pathExists, readFile } from 'fs-extra' +import JPEG from 'jpeg-js' import { join } from 'path' +import pixelmatch from 'pixelmatch' +import { PNG } from 'pngjs' import { root } from '@shared/core-utils' import { HttpStatusCode } from '@shared/models' import { makeGetRequest, PeerTubeServer } from '@shared/server-commands' @@ -41,7 +44,7 @@ async function expectLogContain (server: PeerTubeServer, str: string) { expect(content.toString()).to.contain(str) } -async function testImage (url: string, imageName: string, imageHTTPPath: string, extension = '.jpg') { +async function testImageSize (url: string, imageName: string, imageHTTPPath: string, extension = '.jpg') { const res = await makeGetRequest({ url, path: imageHTTPPath, @@ -58,6 +61,29 @@ async function testImage (url: string, imageName: string, imageHTTPPath: string, expect(body.length).to.be.below(maxLength, 'the generated image is way larger than the recorded fixture') } +async function testImage (url: string, imageName: string, imageHTTPPath: string, extension = '.jpg') { + const res = await makeGetRequest({ + url, + path: imageHTTPPath, + expectedStatus: HttpStatusCode.OK_200 + }) + + const body = res.body + const data = await readFile(join(root(), 'server', 'tests', 'fixtures', imageName + extension)) + + const img1 = imageHTTPPath.endsWith('.png') + ? PNG.sync.read(body) + : JPEG.decode(body) + + const img2 = extension === '.png' + ? PNG.sync.read(data) + : JPEG.decode(data) + + const result = pixelmatch(img1.data, img2.data, null, img1.width, img1.height, { threshold: 0.1 }) + + expect(result).to.equal(0, `${imageHTTPPath} image is not the same as ${imageName}${extension}`) +} + async function testFileExistsOrNot (server: PeerTubeServer, directory: string, filePath: string, exist: boolean) { const base = server.servers.buildDirectory(directory) @@ -104,6 +130,7 @@ function checkBadSortPagination (url: string, path: string, token?: string, quer export { dateIsValid, + testImageSize, testImage, expectLogDoesNotContain, testFileExistsOrNot, diff --git a/shared/server-commands/videos/imports-command.ts b/shared/server-commands/videos/imports-command.ts index 07d810ec1..e307a79be 100644 --- a/shared/server-commands/videos/imports-command.ts +++ b/shared/server-commands/videos/imports-command.ts @@ -7,13 +7,15 @@ import { AbstractCommand, OverrideCommandOptions } from '../shared' export class ImportsCommand extends AbstractCommand { importVideo (options: OverrideCommandOptions & { - attributes: VideoImportCreate & { torrentfile?: string } + attributes: (VideoImportCreate | { torrentfile?: string, previewfile?: string, thumbnailfile?: string }) }) { const { attributes } = options const path = '/api/v1/videos/imports' let attaches: any = {} if (attributes.torrentfile) attaches = { torrentfile: attributes.torrentfile } + if (attributes.thumbnailfile) attaches = { thumbnailfile: attributes.thumbnailfile } + if (attributes.previewfile) attaches = { previewfile: attributes.previewfile } return unwrapBody(this.postUploadRequest({ ...options, diff --git a/yarn.lock b/yarn.lock index 76c71a1e1..d5503ce3a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7592,6 +7592,13 @@ pixelmatch@^4.0.2: dependencies: pngjs "^3.0.0" +pixelmatch@^5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/pixelmatch/-/pixelmatch-5.3.0.tgz#5e5321a7abedfb7962d60dbf345deda87cb9560a" + integrity sha512-o8mkY4E/+LNUf6LzX96ht6k6CEDi65k9G2rjMtBe9Oo+VPKSvl+0GKHuH/AlG+GA5LPG/i5hrekkxUc3s2HU+Q== + dependencies: + pngjs "^6.0.0" + please-upgrade-node@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942" @@ -7609,6 +7616,11 @@ pngjs@^6.0.0: resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-6.0.0.tgz#ca9e5d2aa48db0228a52c419c3308e87720da821" integrity sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg== +pngjs@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-7.0.0.tgz#a8b7446020ebbc6ac739db6c5415a65d17090e26" + integrity sha512-LKWqWJRhstyYo9pGvgor/ivk2w94eSjE3RGVuzLGlr3NmD8bf7RcYGze1mNdEHRP6TRP6rMuDHk5t44hnTRyow== + postcss@^8.1.10, postcss@^8.3.11: version "8.4.21" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.21.tgz#c639b719a57efc3187b13a1d765675485f4134f4" -- 2.41.0