From ee626cec19e8e2d206bfc127296dfd9519352dc6 Mon Sep 17 00:00:00 2001 From: Rich Geldreich Date: Tue, 13 Apr 2021 22:47:57 -0400 Subject: [PATCH] Adding initial support for user-provided mipmaps. This isn't hooked up to the command line tool or the JS wrappers yet. --- encoder/basisu_comp.cpp | 63 +++++++++++++++++++++++-- encoder/basisu_comp.h | 7 ++- webgl/encoder/build/basis_encoder.wasm | Bin 1551290 -> 1553075 bytes 3 files changed, 64 insertions(+), 6 deletions(-) diff --git a/encoder/basisu_comp.cpp b/encoder/basisu_comp.cpp index 0e57a4c..e9c9d1a 100644 --- a/encoder/basisu_comp.cpp +++ b/encoder/basisu_comp.cpp @@ -71,8 +71,16 @@ namespace basisu debug_printf("Has global selector codebook: %i\n", m_params.m_pSel_codebook != nullptr); - debug_printf("Source images: %u, source filenames: %u, source alpha filenames: %i\n", - (uint32_t)m_params.m_source_images.size(), (uint32_t)m_params.m_source_filenames.size(), (uint32_t)m_params.m_source_alpha_filenames.size()); + debug_printf("Source images: %u, source filenames: %u, source alpha filenames: %i, Source mipmap images: %u\n", + m_params.m_source_images.size(), m_params.m_source_filenames.size(), m_params.m_source_alpha_filenames.size(), m_params.m_source_mipmap_images.size()); + + if (m_params.m_source_mipmap_images.size()) + { + debug_printf("m_source_mipmap_images array sizes:\n"); + for (uint32_t i = 0; i < m_params.m_source_mipmap_images.size(); i++) + debug_printf("%u ", m_params.m_source_mipmap_images[i].size()); + debug_printf("\n"); + } PRINT_BOOL_VALUE(m_uastc); PRINT_BOOL_VALUE(m_y_flip); @@ -540,7 +548,7 @@ namespace basisu debug_printf("Resampling to %ix%i\n", new_width, new_height); - // TODO: A box filter - kaiser looks too sharp on video. + // TODO: A box filter - kaiser looks too sharp on video. Let the caller control this. image temp_img(new_width, new_height); image_resample(file_image, temp_img, m_params.m_perceptual, "box"); // "kaiser"); temp_img.swap(file_image); @@ -562,6 +570,39 @@ namespace basisu source_filenames.push_back(pSource_filename); } + // Check if the caller has generated their own mipmaps. + if (m_params.m_source_mipmap_images.size()) + { + // Make sure they've passed us enough mipmap chains. + if ((m_params.m_source_images.size() != m_params.m_source_mipmap_images.size()) || (total_source_files != m_params.m_source_images.size())) + { + error_printf("basis_compressor::read_source_images(): m_params.m_source_mipmap_images.size() must equal m_params.m_source_images.size()!\n"); + return false; + } + + // Check if any of the user-supplied mipmap levels has alpha. + // We're assuming the user has already preswizzled their mipmap source images. + if (!m_any_source_image_has_alpha) + { + for (uint32_t source_file_index = 0; source_file_index < total_source_files; source_file_index++) + { + for (uint32_t mip_index = 0; mip_index < m_params.m_source_mipmap_images[source_file_index].size(); mip_index++) + { + const image& mip_img = m_params.m_source_mipmap_images[source_file_index][mip_index]; + + if (mip_img.has_alpha()) + { + m_any_source_image_has_alpha = true; + break; + } + } + + if (m_any_source_image_has_alpha) + break; + } + } + } + debug_printf("Any source image has alpha: %u\n", m_any_source_image_has_alpha); for (uint32_t source_file_index = 0; source_file_index < total_source_files; source_file_index++) @@ -573,10 +614,22 @@ namespace basisu basisu::vector slices; slices.reserve(32); + + // The first (largest) mipmap level. slices.push_back(file_image); - - if (m_params.m_mip_gen) + + if (m_params.m_source_mipmap_images.size()) { + // User-provided mipmaps for each layer or image in the texture array. + for (uint32_t mip_index = 0; mip_index < m_params.m_source_mipmap_images[source_file_index].size(); mip_index++) + { + const image& mip_img = m_params.m_source_mipmap_images[source_file_index][mip_index]; + slices.push_back(mip_img); + } + } + else if (m_params.m_mip_gen) + { + // Automatically generate mipmaps. if (!generate_mipmaps(file_image, slices, m_any_source_image_has_alpha)) return false; } diff --git a/encoder/basisu_comp.h b/encoder/basisu_comp.h index fd8a913..1964565 100644 --- a/encoder/basisu_comp.h +++ b/encoder/basisu_comp.h @@ -241,6 +241,7 @@ namespace basisu m_source_alpha_filenames.clear(); m_source_images.clear(); + m_source_mipmap_images.clear(); m_out_filename.clear(); @@ -329,7 +330,11 @@ namespace basisu basisu::vector m_source_alpha_filenames; basisu::vector m_source_images; - // TODO: Allow caller to supply their own mipmaps + + // Stores mipmaps starting from level 1. Level 0 is still stored in m_source_images, as usual. + // If m_source_mipmaps isn't empty, automatic mipmap generation isn't done. m_source_mipmaps.size() MUST equal m_source_images.size() or the compressor returns an error. + // Note the compressor doesn't apply the user-provided swizzling (in m_swizzle), or any other preprocessing, to these images. + basisu::vector< basisu::vector > m_source_mipmap_images; // Filename of the output basis file std::string m_out_filename; diff --git a/webgl/encoder/build/basis_encoder.wasm b/webgl/encoder/build/basis_encoder.wasm index 379d4a9aa0baf0c68ef1b3868525f1bc9b68f3b4..e64b7346ab6990b597a9f3e206456b4df7ad8795 100644 GIT binary patch delta 48094 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 QtgAbsy0V}$wDqe01+Hp&2mk;8 delta 46592 zcmc${33yaR)<4`;cj@l*lH1vU0Mco8OprwuL6Pf%E1;t@I*y_^I69G0QFI))gjJBB z&7u{NB_K#-k%mMr2tu<-P?R93Q6mP~8I+)?VUzE7>fY`oIP-ts=lTBM^F_(2bLyO0 zPHm^E&aIRk81mj1Lt^t3W1oAkoB4E|yA;k`%vH8Rd6N~WJS7kac)f0~qAMQm@#u`x ze<_S}?s75t!|~grbFa(Ax#mI=+=aL+c&k>fRIaBJXHKLWR}{w6xuzo}&Qslf&^b@R z|M-!=D3FrkPT_7{cdM%Ib7wO>s37D@bE`g|s;S;Cs{G;Vv>&wQ1t_X7EzRZgxfQqD zjWQ|Bg+h8fjG-V@(!`I8el%uNi0pQ8m7%f$7Epa|l-Z43Q(dg7>b|&XR#u8DsAw*q zKl!8Dp;VXG?NVG!Lk*PzMb~vEQ|3+FE>)wT+oQR(Cc1-auAoN=qC`OrS`BI%&y-~d zIz{8i#iP2t?i3e_ue&@R7YgE16kS#D%cW_GhV(Setx0`>iByl8a$TS1aTj-ut@?`l z+&2W+UEIa)MJ8=r%Q+u9)b$|0f2eDp!v8wd^@YlZ4R!72{DGmaHPd#wI~JUCPxE}P zl(7|TIeUjM;oIHy;R+|bO_`!^Q}${?+oDcYr+PNJWd;*N$mNxVCND zv!3P!HQHBNT-l|4to^{>*H&nY0879$Q+rLDtnK5c)Z^+Qb-%igf2Dq=eyDC%*QxKR ztJN}fsamSeR%fU}ouW=wUsQinepPCfqsn*6H_F$_6i?Liisxm|WKWT2l4mr3$urS2 z!86`7&NJ2%<6}IdJ)=B@p7TxIzq!x4&$v&!WBio64!?hO|AN|0>+J1zf3L2JE^fGY4fejJeN!DkF;1%?l&vuPTOq^;E-t%ni{0U zk#vNGHM1l(ZEff>K0h|?*U-hflW>Q$mN^J^R9rc3pLu22{jY@&o9f622YYsYjuz%9 zVAvpWf~7h&=c;> zB5LHfS&{i}2CqF{W_5f!!WUR?-hZ?2rsY;WRTZ>UAAd>+{0tlW#gV4WboRf(>@z_MP}^} zSyZ1suJJ6K9+su3{h_S=`0*FdUUcY(5q4@i_ zMiE8Jb1@Vnf=r#5Kp)p=ipfm!X7+K7adf;*6fODwj$kkcY zEs&DLY{cIH$8i{M0_?fZQ)C&OsB>XEI~#?#3_!f1j_By(5_RXayvCD8(M^=s`hZ%-(Q);uZr2T%d*h~1JwRz-LkTmelAq`$+ye=r(3xB@fy*IvF~|pjn#~^D>aN3>n=B& zs)V+>{VBe%Hykt%yYj=T@qu+Ng>`GeE9Q!>?b-conwZ|6b<=C-Wty@1Vtaemy=`nh zI?#g5uxfhpjW`EA^I?-enWORkN`I%K^Q|@=SiZ(<=ULG_SOKBwGc&_1*X1%Mv1?Jl z=?lf1y;x^HeWA6h7mN6K^n~^6RqS92+amT1WX;;gN;7HNVrF$Bpyr2N#&k8Tm_={P zIBqU^+q!5FTkm=84%VEdh!%IS2=j?60Ytw$n1?M9><*S~4ZVYPVQi6&EV+}NWbAEg z?p-XV@{;A&ZTGUb7zNJU$7Z|T(R0o6BU)ID8qYGVcOPO0H9qBpnDq#2L2!)&zXZH{ z%891-*lZhCXo78FdPjzpJXZ<^&f{h>HqtmY*f_Rb<5-^)D{g&M=4d_oD0?u#M{l&M zo?{!`ynLycIhHNREs>M7$wmZRCc?%G*CH^}!tgT-^Nci_NQwNs4@B{gajcXV9TZK* zvob#6px8d1<@2!zMei5cL*BxJX>vkWL@SLq5%Cw!cb8E23aLYv!S)Ni_=(TAxg0(>O0YB>q~2 z4gffUS2iM8a{`uY>}~WVWu&bxqOot zQwq!pv26Uadah;nYJBrt@%B@J*5bVltTmrmYJIzbm1ii0htkBd{p=6c;m=u>&fd2+ ze8XxDc7?U#2UaBuT2#wkpfdVT0HTaV1Pc#Z{vTPjm)CwTj-FxNsYb2Nq7q;PjEKc& z*#P2}Nai^pg$EbjbB?*wcO6cnK^933yQ!zSsi!@r^1R?qC&GgWNG?`+`(UL*O98F$ zpr}!Khv26UO#yAfK`Tq+x2XJBjrEY1M^xB8R#AZ0xs!$i4PMwP4Gaewk`dO}a8NPN zB@745fc1t01KHY<$$xOOHP*V8{04TtV{zoTG3z6xq*0Qih7Bh(+XTt+hdqf@a{`ou zoo-Gl3?3vqxE0@$j>SM^b?0G%y}R=%1V8G|U(;)kXXZzA@yc~P(|Ybweizn-<5tyG zTwrB7ZjBhgujIswz;0{&4g4O79k_|lA?o;>`Bwz*AIM)NcxoVj9?*Jv5bsNj*1Nax zD`ep0ANa#kbm$-Xh6hh>%F4flxx%hI*W;!#GNPLeC?klXHKaU76nBD>pP!$@d4Eg` zwN5g6GNdI#ZiK|dKk+sNKkjmDp$=p#=D8lDHT$Oo@lu;Of{01Zjtz)O&K@@L@kX4T z>^jt^m;>|os!^lIPKcJo3t2Dj5xIBpn+twKQKdnaEQB&L%pW&@O3;(#u<1$uWKk~Q zPnPBa{!WQfHsbHt$JNu0cmleljFTB$Of^VQf7&F%ck*%6bPMm~ufbY8Ze4j7eq1n>Z~)5@%MFF z#^3uV&rtaJnWFL;9_6L8#Qo2rD*>K*mTw^#e~#Z4E}fO>XFhcELSqEX0G5+#zAZ`S zqFI?HxVk^jAK)uySu@c66ka@26piAODE(%m`AAQb%DN0%tnwpD2bZg-3nj&Vr?$?T z{}Ml|@xtZSyeMzxWuJ((uk-i$*@fcS8GIB?U%$=ZgInk|(=*JPsp2+^pCyIdx{7zu zdCdgt*>${`!fWZ`1?zw$pY z{^45dmQy^RW_WAuX&%=LjvbOqD*9JGiix4@346`MjfsXN?r%&CNn%Z7VwxmYHzuY_ zVpU^eh9vH0hs0T?4CIxEted#9pYdPTT3uD;M{nQ46ImB4u4`P*&rmc0NLLl&=k%WC zRsDJ?F0-yS>#F$JD-eYB<;gc)MvH8-w$>UFRBlY6`EpTHWvRkeTX(il&ML4Z#h=2; zM1p(6%2|Tn<|yq6dLqg{0j*IH`{we{)kioy8FYEgTKk||F8Q8~_k za**?X0`gY8;So zFT@-^nswD#ATb$L1MC=KX~b9steUV4!YYAnCoGGw3Seu1#hVfq2ez27Y{FIndjnWO zyak~#ppz)_BEm|6{R*rwL|6&1LxiOhRt)TOAkj?1qQE{NtO;QgfUP8~8DWLM-Xg3y zVRfk9tH4TH5>^Y0>Q_?GiqOMAPXMiv8P)*XOPI{C3fNA4Pm}{m_KCGy ztWCig2n?wVPh=ug!R`_tDA`crj+rJ^BAIgn)X=>8__<8qm2 zzqU1HuC2D-x?joVtqTzawLaYwu@ew3pw2rM0aB>(qQ{Ib6h9AB1TR@7UVcECO|bLd zl-H7zJx+q`$sYR^IoadD2%=#e7vZd^ezF%Q|ArxYaIE#)!#JDebk&F`1@flS;>kZ;4b060=EF zqea($Dp>`)mt>mJQyIo3<}rj`Jq1e%|GA9L#^%v?p3E!*vL&W`zt_<(gk0kY{XD z&2e{~$uM?ta}mI&+}sJUlbf{wmE0^on_=wW=DPr&aHB#swyI{yImsUf0RLV9@Q?mY z^3MkV{}ur7e_(~5RxZtDhs7V~D+73JwKZ$LaxR6(4vSl3N{)DcnbJ3jG><8lI>=oF zm&TO8JMc2=*5%4ybV}eIOQ}_P&8MPdE!azTS)Z>}o@J>eo8{6N36fb;vqRjsPPrmA zw!tRK6AciTtW!pCz*g&(>j*xyUg<_~=6dB*f{(?O41(k1$|VG?xbk>1WqF(fV($&g zWjwY)Jh4H!nwVB?P=*q0zEK%O@ZpVUf50glm3s;PxKZimt=S<<5)O(-HYs5-a1%y( z%?|6qP0Ej1Jif&G%U8;qZXS=V{7!kq!^h6G9y_Ysrts4xV$1g!VOYZ5KPdUEb97-w zevW~qDMo=10+kd9MEZpiOFE4t-Y7tX+CcVwnpPP}13j6lTi98Y3VckvpS+tL+ zed)wxZx=P)gFNJkh$x7t%~~c;MsmoKbtdp(PL9ETx?=RGdL#Wrt_u_ADNh3~#)QA(78u?zl)%O2_Mtc88jU4|^8c7n{ zWBp?yr?uKbtZk=eG>Xe=d3P|=8VjvDbLND;pn(N=BN!D~))gf!|?PS_hxNrpXPAHt%4$9m0* zXh&72{`23v8pg)&yIOs(Y|zzki0-hq>Lh!m)u)p>hPRn|pi%AIW`f|<4)s4E_U5Xc zvZpzmI_9TD*p1OS?SN>Tmn^mH@KoUX=507O62m8X+*m(sJc$B+lGjkWK^^K3A{!2u zWH(B7j!bc>92S$sKnMP(7GA0m=9ydl0cFl>= zGuir~vm8C2HPROPfXYy;W-b<8X}b#b!Ggww{p` zn#2Rx&U15CBc_=Rn9_)e_Way@qY=}L229O~$t#&&Z^Tr5=uta&%8#xMQE5s_G~#-# zK~k-VDP1zX+K6d-1Ew%BrAnr0jhLn$5?yaoGmR;YsL?~#pKenXmB(MQ{&I)9Jrq2& zFD)Op4Uy(pnD*@xJ^rpP>UYql<+KFtfD^t5;r&jy6~f;+;V{B`op27qI2ve~uV&x? z^SIUh3H26S7)%l4Myi_ut(%@yXL(Xry_A7F&t6I$2Y>7(>(}SicnYzto}kVkxj#-+ zS4z3SBvtNuW0TY&@=VQmS@nB)v_f1Y)J}YQg}70u*AqTnsONdKR=iqF^jfi@nCP{_ z_qw{iO<_ekY#N+Zvg-pbD2Gxd>XAsZ16nF&$|)3RCT8i8}l1j)cvsu>3fqFe|o=1^Ez9>l!!ALYcBP4Sx zP_68kdOOa8L5P_;&HVfM_}b9^=XyA{=W6hR`qU`t`4d`QgaFF+trQ)yKcAf zdma2G2Vdpj`y4#vpSGasKu? zG3j%p``tRR@^dxD-&k)w^o81*@!jjK$yKVGrC#CknO|fY1gZh7H@{T-D5UqUHEJ`f zu3GJtz#iu_%fx~jwSZ#V?N#678_KNj_Nqk+|Ex?rc0m1(A1@QPA5`=BrZr;BL3J3r zLL5G*wm}^Nht!{NPjX1`BkH9DdmmA|5`5Uf=Q{Xq2TwU_$6s;O=6}M0Z#(c?2WI}; zj=#x)qyBBnl{@%R8@E~>Q@80&&aY0#hO;-FD0bk7S;X6ucQN05&pP*``k1Wdqra$^ zQ}veqqFzn#M+fintBpVTtJ% zPuuYioK^?$^4>qzy zEz{aHpp^_ZGDMR)HBDU0H94a0;sFIVmOQK}|T zSdp!1Yv{`B3r(9U+fvtNIGHU z2ub&8|KtnTh$5eM1)pzOANjO6YFQVg?B}b7{yMl-jxN0_S>89dzwl=T{xFGTylfQ0gj%5J})t(bWnrnGZ zJ`akM&9zpt6fzd2xTuBJhGO4nsSVHJ1!l4!l&dVlfCi-!J6mW?iT&R#wEX`uN2EEa zQD$8)vNL<9Refe2s#mA2M$JWY4hq!~rznGnVy zfpJ_X3r#V1)rh?pYZ;e*(J1yOip8~+Vt#GYvHB|Jw~4Sx*!~*PF;`m=`k)3a-kc8U z4#IUwHTsETx!SdCx9FCKVp!i=`FYwKs^{}P|@z!VmrkrH*42lifJkyvl{kI|#Y@x>N%4xRVZ8`yg&KPE&Et z4{ajCb*I?BRcl)SR@U35^tC}h0)1S!LjnSYHAwPiBK39MZO0U0OD3bD-^O36L^QmP zB;hw)E7V-si$7-mr{5F#o!WiRU#q|B;GJ)dm^TmA^+VDb`}MSqxAa;KR&;x zf^g)(kAXlMIqAS^2Ua++oZzW(y9?3HV+f-W7)Gybj5>-+5`fOa^i>= zfun*r#!{Luz4OXms?b&tikwW4MuDA3aRZk9lue1lG69JcQX)$(Ag$_JM0${9iUhQG`OL^3t#}5c~ zlB=(4tQ=Nw*8?;@bNjyF@FpQEYQGX;G^N6x68C+i_3OM}(ZbAUboYf_xvnwXEV$W@ zu44|ZSCW)#bQc}3OS@J~-mb0VRZFdbA8SM4(Y8`7-Kq6TJ-IT|zPMniaFkgne%h%W zOkQ#@Og{2P8&}x!k^@J2H0t5sgOiH}mmJ<*+L@%(|N3g=(%ssdV$W{v@=iLY7o(4_ zAL@&xnfBmVnC8RH6-UbC?HZB3w+w}`uJ}y5OJU_!ag}xl=VKR(6JNoS0_^p*)*2Tr z;_k1ti+RlwG4X3yQlNkGwf2{$bT8sEXk9|t{Snu-0czV-i-lROWfRvu)mY~sJsGgs z{6(3@y%F`=086sdP@BItZ*3*OBo=6s{I5S{jDnY@`qvcwa6 zv|JAMxqGx%Sqm{DsAstOTBeyUpXl+e)>+eW2U#k{eXGrJqQ!kRS}W1FMl-}iHQI7^ z-pbyqonT4fa$7iMpVrp8d7rjG5n~Q(Sz_KHEkm3*sJ$Up9@4(&Gv-+f4r}==vnWO` zjHs^}jb+P5GmBzYo1@yjjLi{a|E-OIv(Tt#(=x^oh;YP1qU-lscSj;DJt!dq&9RZRbdwnV zppM!7dPKD*YekCO&A5*p3)wMJv`T%dRlvc0^-ye?G_#_7dM^NzM(>NI;XwQ zs8mOO({3X#i+<;|b)o2mKANuv^fTROE_9j%hXN--$9s0rw;yr<4eO6^$jO+b(MzqZi|+*GQP!GGwqWQdK%P@_cJit#9Ldfh2o zZYd@jj6Kt1PsR;Q-= zL-3f{A*MIis|Y^QLf=CddV^Z(e}_-a4zaqmo0`!x}u}u&2RI6V96`%})B~Br*JA{XSmr^W%au4f*`gVOMRPxTmY$#5$d)->m#M z77HwEITfb)rTR{SKiJUP&_g#hBB*`!Tq9W~>_MnZVrLK3^Y*@a36~BI=}*}g zb@4iD+_kz-OU7#XSjP}6z0482@J4-=qTB5z9vGw#(d{-9+Xm^k>vsE!)`RtpovPon zZ#SW+Dm$2uTRY{cum^i%v(hFZwEI1gdW-(Nh~K7nwu)}iFI5))aGUNGe;=YRuzt8( zf0kLnd-cEYW;K-=CT{4$hVe3sV3&$ENW(o$O{Fz@s2*W0VmmWT4RvpMgU!-hvZRA0 zw$qB=uXke2YQd6B0^3w15kh?JPD>f4|C41@?Z9{=J6#6Ir1)}&_3{JypLJGj9e!Bf z$O=~NmeuOXJ79;8T?J6mx`NYMprr}4sYFW>s6m@KVi>Cp$34XbQWvE8UlW10td5W9 zZyu+c_fPI|cjP6TtyA~7=_q)YxanSZF0RC_f8FbTgc&uT%Cmkt%0!$i{HxBrJi+`q$pU88iUXx8c-?%OXmN_N$k7;Uz} zYI(+eccMUdiO+s>H*Z|3$a(kkoM!e+oj*!&|E7jEVKJPQo^DePsqAgc5(QB)z>tyc*YO0#-J#ks1 z>XDi(sOj2<8nU3FXa9q8wtVQlv5~Y?POFc+B^?_n2mNP*wd17MRt}1Bmw2(xn^ca4 zCTsZ})&2XgQe+ot`gMw3_x$P=V^kLLT9a;y9fpXm7iRn`NU6`tqA zCyY=FH2wPmbi&l#V5rrPi%vUz_PDtDQ=c3cXtCDT#7}*9{s+yU*yU^7^rRc>rro}s z%^NknpIRWd)|YJhWPvP<*66CNFKGrVp_xlgVWoCREL`I6Bu*~%FS2$n@waBy?05Wa zwd9Q2lx9?12V#aw$JGmF)ao+-&50RRrx~>Yiw7*2QLlN|Ke&EImGN$wL*<^y@nTk>Ob_~V<+wM z|Ap4p!@K;saveVRmH%~X*_Ws}k%3iGK(o>=Num2f6AYdQtFcu3lI4(&rKHMC~f|t zFBn~ZFPtcYNImQy**z(7020``GNW5Ugx43PAV=Z-!`!KFlOz7FGGSX82OCxRze!n; zTBNz@RIURbZpDA_&t^PcD(A3Jcz}xm?!Z%d$?EQD zROrS{n^3Jd;tsT^7y0&o5TS+@-8_M7>N`-)|3L%_bvlr>z!Ny7@c3d;;t%xY8y1Ui z{DJ0t<6?2zAGnNfT5RIT<4{2!Zno9oVa##n1_uoe&&OAM%-rbU>A=acZPQ{= z8VsCCim`ACd^D0`xF`lAPl`1OdnLYU@xtAy0d`3uHwZP%jf5KJMnaUArGx@GXwk)@ zT^b6FN(@a4G^0v9mlo(nm3TKTaBWtirKnLAG^+4+46LVif2C8Pl{nHdke%D0*?F?r z8JvXaTt4m^6!2l!;55Iuq*GvsBi@DJhEB*F-QsMgz$)3lR^|r&NQ6LM;9wWliVil? zMPOLKua1RrC@vouXl|tq2^`X_X2Sw2+lU6pd+q6=ZTO069Bh%*Eap1L@XtMS-srZ5{}!B#1|% zflb=aB^hDO#&4Js_@V)B^`082#HSl2R?2IEeoQNdq}xvFJ`wny@#?q4;MW7o__Vnz zX9V8le4;GCgM9g15u6ps)0fZ1R~0KPb5_8k@t5aXH_Z#I!TsbyQq+ENYyq@3vsBD^ zD{v9P^=}1Q5d6l5)|s~g?REB@)p}{*BtBItwwf&u;FD2sT)!f4AHhW{0s{#CxFXPx zV7Ics9|(>w3tUa`qq4wF1e=!I_&w!;y@dCFH(&u;r``=zEA1SQPk4%|@RFAE2>GE% zKT?|6vkh=sB^*7qqgcZE1$RC0xv50!*c_+YU#!h$4S*YPM()|5}6i>07Mc zf#6z2I%6VNU%WttF{tvZ%`pc7!vX)jBJ9DVJ`6w$h=$15k?U=MT)SRuXcNTuh3m!VZGzpK)ULPR6F}D}!-0DEc5?HnU2lck z2E%UhYkJ|eU_=bd4Sve8xRNABy%bDu$i0)nUA-}PCBsRD zozvXBV2YCTtHRY4t`uLg-s=+l8t!&eMCA*?E@Eqs;Cvv~KY9kQVb|8aV&_V)KbQ%` z&fJcXU-LJJYuS)7-A2SOy@Iz7Nl1J0Ty1ayQ!kSr2C1D>B_~xPMI!ARa1kXZ(&++9 zIC8N~u}XUf>-1p4XAJ&#RJC`m40e?+V|#B1{+m?%$&JAcOxWkrw>%{dbu2@D)p4GQDSU+qL5ASJ5ZfE0;b-7pU@ zeYg5Fsfuvd|cf3c@CXu_W8RiMf1CCtDLQ7I4GN1v8m~tZ5T|fy(uD2=H z&_Tg~`$E+|_s8H2l~gKw&GmN$7n5FpzAM-ty=G3sUgIEkudxyI8oO^eaUq$LgV?=w zj(Fy7s+vR8>(%EZ5e6xtz6PWSUgMzJ*30EM{ivQ2j^x@rR_;B)K^U@A#B+ZQo^3dg z{x1$Yfnhhtdgg)P9y!YI`bY3HQdQSSf<8o&luvG)LuEcbLcs0o;orl4;;n83wQnjic4Ng;kH`bpS8N6K%2(%iNLM$u@ z)+XD_(Y#%fhHZlOvOB(`L%U24Voy(VM0H_s_Wzxvto5UUtGIaXwP1=hYHZNYI@G@D zs7FqSc2}w=VM4Tv_og!;)<f@cxOZakbcfnCzt5?j zl+0<3lT&?EGN*b{GN&~HIlXD!J1ICB*D_PY4=)El2edwTB{-GcnwafX>4!wEz1}WE z$^`^81G(BK|DTor`AET#0W#CRn$`g8SS&KEdj-DtMDmk50@m3nz;4n}WCS(ur2prr=8{V#_DN$Ho1h z1pjLF+7X=Z7TdoFP7z;!9y}p_*b(dkC&}Ot*0wFod~?6s=oN99MHYP~XMBvqZF9Sd zZ)eS7#pr>XMC<66!S}fJVRi5!HKTA#IvJ4>JQ`vu@_Y5dEh2n0*v87=8!Y#58+#ql zT5~j5>}^&rK;P*!kg|rK3|^`>h$oMrhViTGf@e9Ox=~nXf_Nlgqd0aZ*p<)Nh=&$} zJ^1X6)}PJ>SF`lWP3ie?UXEm5<(U9On42XVMdY{O%Ha5o=^b6JUa&Q|`SM2V;BUc? z;6=63Dr2b~`_l*0d(6}!tu+lUIo+(j52U^rvMQcRosrE-tiMi4wc3g{8&YqyvaQsV z6zh=9NWWq@K`I67P_>@J8Qhijkx9v+J!R zUgNKvd>se*jaCF7^&2e+PImBj9DKWjfA8SFfX$!lz<~~Y#DT9kFy_FW0XyB}4sHaE z7Q^t$2c0p5;eyrVxtWj1S00+p&Q@Z%b*T@#}Ty3Jwh%4S9`ON}`n3Sd|$=JG@0nQVhRx2@7_!;+rV zLt7ZzC?F7MVO@Wbk)iV$Ypo$|jDIPa=xid5`6!E87d|~knNF_~$J!g;P+NS|!Dvme zwu2G&IXWxr%{z#|H=*nXgj~_}n@|(t{BuWJ;)RZQItMr|7i0=s9C*}$shy104HCFs ztp6^QEfYWl!52C?2{`x`8@CR1G9Kalwbj-gdB(LIKGw4?F**TMTw=VHf!d(c!#^Bf zXoTUHb!lPWg+Rd2PHY7(FxbTHeSU0|O`(8@N10325P(**c zG6FrsE$hba#;w?j9u%{B7*BW;T|YyNn#h`oZas}o)bWS(G;Sn^*hM`JzlsL5`XC=( zV~HCsH=ap*J&gqu+EtM17|S|zx$(3|c8taFoD~mVYZUWWRth%2=*E|K-2?+pgh1OgN&OAo_65%gN?z2zdqQwp*V=xMQ7*gg=zER7;01&O;@kUdne?GXZ^8!-wee9yjUI%ra`0mg-uiw!{*L?Y z_?PcDdJ^9U_rq%i@VtZf`m2pU_E$T;^sh!2ivP;N(}o%S(PeHMX0+p@ z7{{dKcrW|q3bE^N#^bHNULk$*>FBYN+wHuI$##B`1Bkoxja>1-gGO7vd8sIR(71x1 zTq-_#5T*R(9qZhK#tl5HFqR%xjNT@r6Jy1!ana!%w_eOQ7GQ!sXm$RF@r+8Hc+m*s zRr2IEA2;OVN`MjZ@#E+uiIs^9Q|C>r9#0rJQ2t8%eI$A~o&|Yzq%nz3S~fgsWQ)t6 zG{!hcJL>+Eo;D^oj7%4co;G|U_LOm-LvG~_=i}QdKOQIgUvYP_xl!W(IqjBW=f9wg z_+CqS#@NsL?c19szj5IBScFE6F%q6os?i3f%i4MJQ8nD0;HkF_%xLYBvBXhC{(R=* zy`t@NMte3v41CU5$!k{%?Rg`wM{z70ONIRq8N%{8D`TFDw>v0pqCAiL6*@CR``UK} z@QQlydE*W~Zm$)8-dLQ%j#I5|D5PwK_SxONmXX~5E#$ry+(l14g=a|^> zym7sF>kT8_(x)1Cdg-Q!)0d|%^GJ=g?dkx8=bT2xygHg&ObEbymXFni_)ZITbfz9 zEsc8abU(Rb6@Hjz#y=Eq%)|3`V@3NnjjL0p`)kVBH71LxlHOF~3@*B%d*LC&Y zlLcWfRHcQz&~Yc}rJLt^iHB2-rHXVF%yUf;#fyy>F4`sY>_?SBDworE^MnJ&>+CYc zWlj;7E-{{Ao5ZpuMt1K_8|>o2anOf1_sn<-e&@NWmF78KDkc>)&oxzgcAB}kiQ%|6 z%XRer}eMD;7tW8Mm<#(JyASVl%~%m~mP5Ok4~S6V6$Eqbsq@O#eVsTtNSY=#gAtDe4Fd`R@ywhF%5=-rTh&1$1NU%6HM zYqgQvkiLxQpKlfWR~t98E>_p~(9>G{vX%5yi4naT7rNAA&~eNOctB}Pg(z8Ld}Vxv zyI!KLf)f@xOojE*TH_|hCs$Zsyl*sRd{%`xvCg=M^%sNJ8(HkI^|$pfdHK=`5sTBx zmSP=`8zUJ1s6yPo(YT8hTJLW(uEKp%gxovo3BPM2TLnk}y z6T7w-JF%ns7#x55sl&``94egtQVx3(L9 zN-f9gfVn{>muV`9?_;AS^6L08MtG(8`^Uy3097AjW+=D(pBPhF%6v~mqhgySBCpbT zHYJw8m)Lkk0^dyd)1uQ(qf6#t1^e%&=KJ)H%%$+trOXbCM|T>{*nVr`PGb-2bnL^l z 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%0DQNz>EIh*O4*$}uD&4;`h~ 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 Wy6*hzFT-QqX#}7%f+#iJOa2e7xoOV;