From 69314696a08a45edb2f704e8eb885c3649b91fa4 Mon Sep 17 00:00:00 2001 From: Drew Weymouth Date: Thu, 16 Mar 2023 21:32:48 -0700 Subject: [PATCH] set placeholder image when album cover is not available --- res/albumplaceholder.png | Bin 0 -> 7781 bytes res/bundled.go | 5 +++++ res/bundled_gen.sh | 3 ++- ui/dialogs/aboutdialog.go | 4 +++- ui/widgets/albumcard.go | 7 +++++++ ui/widgets/albumgrid.go | 8 ++++---- 6 files changed, 21 insertions(+), 6 deletions(-) create mode 100644 res/albumplaceholder.png diff --git a/res/albumplaceholder.png b/res/albumplaceholder.png new file mode 100644 index 0000000000000000000000000000000000000000..316609b42876b0407a3a8fc904a6ed651cc55056 GIT binary patch literal 7781 zcma)gRa6{Z6YU_u-QC??26qS=f(*_e0fJj_*MSg%TL|t03>qxB1PBg;hY;K$1h-4R z-|l_8-K$sE-e=dYu3r6csv$aBD%cnl7ytkOTTN9_7XU!u`g@^0697|^sfuSF*+D@; z$5BB=!PUvtrFp*B)XBu>>Q68?Y*aKJl{Za(o0q_=da-wKLFhZ0$q+f zv#vORBIRex5m&1sM4e9Lo2C|4n6LO|0oDiyZ53K)CNHta9=@&?zEpTh#!x{(Tfp>2 z$&HcxlpXXjBu_HQ3MA@8WaOeNbhujZU@NIrPH-m|_;D0nJvsGR{fkXO>!LYQ;0@J2+PVIb)0BqaX6yI)ZimgX)|G$ zITsp4|A0ZqL+sTVo`mdSH>na+gL&q__}C;ELU8@t2-sJp^S?As5QlU(~nf> zb*%lv9u6LbOEgw~>3pBC-NpLbUrc{fZ0hQlhN!05xoN5%Q#pVl{WVpibd{{)mQ<$S zb&4s8%Y4V5M*0}%2B6)HAU_>@VKs@qD~l4DFB?^lfV$bE97EF5OM=ka4^yL$!P=}8 zE6#V!lx8YObw?sl9Yre6-jf|)d zfAOPh3;%fcQ15o)&`$(01!m?bDy42sVQF(=k>ZPpotJC=(M{u#%^&^*Z^mI)|6*rj zj#*>aE%0>X-^o4vF0_YYw8CYf17e8e#gu>WAcwUqiq{NP|~{1Uw93X(Vi; zZ&PnU4fzstbc2UHlZ;N87a9j}#K1*f%4 zQAS;EUB=m`v!4q0WTNC<0!!p3^jql77!vQP`?6tgpxBe^hJx=f9CZu6F1)&yI2Dy( zxD%9+&jPRXQ0EtqpnAG(nv?GdIw}gK-YYm}o{Qc{3B;s2-mDo3d3;XfM0@JvDOsGB zv}ei|9E%?;q!)6$J}-WuV58npFfjR^UO0JM6|*FPBFSez7J?$Edi_dD$K(@Eg+dmK zfj%S7rk;lz%ELod;-AD0J%1LeEJ`%u?Pxbe>>Jag!jQ&!-FztCcirJpy*W8(a!O$8 znt=XXIO8`PeJmMk%BjR%RV+qe@T3A3vob*+_@sb}^#i@K++o#bFSk4HC+sQ{s{9SE z6-->3{{1*ny>q=+0}*t>c(?;uBNR7NT0b9Ev{jDfedj-(V{VPa%c*u2t8#oN`L@U9 zEBI?>(W<7Mb2VihL0fT4NdrUDnwuQ@%$U{rpPqp4_z0ds}5F4K1%tE{m>6`S!|dI$|+M7_98$+ZspO* zl3idU%4)nwe%U0Zy~I+OwA>wkr~_CzQ+PX?zYdQJXSBPXk6nbcs=E?K0i`hrGdQGx zhh13Jx---y&bW(`<)})&*!d-R)_P44h}4Pc+CA}e{#2_2H$)|$;5#}GvJ7GlALOHE zrV<;g9{yYO7<4=E+%ZE39RWm{k2lb=vzX8`wgI9Zn-hB%%L*}!#f3aD5e%np%45(C zB#AMJSA1&x+?e4N?v*yHkQYro)l?a=RV zDikM_?%*_U4{s@+D&fzssM;$h&(DHp6}8HG=Dzv5Z8R2;J<-(I=+qe4M9>&%eBK0i zIGP8R%~f1v7pl0IM(UL65T%x+=BB2kE~oD3amY&(6%E&Ke2@WlJPz zZcJ@YRXSidRyCF_Q7m09aUD4<4J_#|#WeCdTm3N~t<3Jt&&^*< zCd`b@m=(60Ty?m7p;4QVdOvoDE-wehl93<3I zbP18$5;*mWR`4y_O}qRaOm(4nlkM2n`zLlUNO0x*B3F-7`r@00hBse}u#|5Se|@MV z^LCr1_MBZ=l$;7|z7aVWIS-kbF&7PVY$Mf5>-48}SjcivFoSR6h9Hpjdi-2! z|88kwS^L;$@KBBdgy$}mG+6RnRD z<+7!@oAW6n+};4kk@sK^c@TLovX9U_`a0@6x;S}Ulyam&q&e0MraJmE-X+}%i=;%L zwy#B`VgF%lN>b#v-EYK6qKhO>JnbJ=Nw)}vS@$)Bn1Ss63V*cu$N8r-w;{Xz<&Y|t zAMs6z#6vU?B=^G>efO&k>J7WWkPKOkSnYDHYvw7&I;J{dH5mv0>EmM3VZ!7L<~2?C zm#>N&i{F-Msa2~7Wszhz3shTAXR3L!n5l}Yla`9U`6!?(_*U?iHAd51u+=ecKJ_=d zXem&O`;&ig_M*^KqxDQvnP(~O2$M~z?eTcvC}d;S?bZ%v=k#f62z$L|OM3mqxxu;r zHNt(`y^0Zn5obeN15&-A?G;)$vVOQZIMyxV)JV%_JpEHft9z@2=UV)<;@$6Wep!B+ zR#NUY*BYI+!Qe+?NPMyBH2;k2c6L_Kw7o+$R+46#@Cf$LylIiBlwX)ic5;?--aS=D z6%9DV`y_Fg%W0N~-9bieNV^=Y;H$s)*`sQSOo{!sV{bVfpH|p^EY@+l z&u0Pi+S*pP+cS>juGlXB9Ol+v{T3})6N0zTxvttZ)_TY+)Gj<-%Wj8Jq88ycQ(4he zKEWTC6JjoK4Tb2im9T?UkX3*bGnBPLO2SP-ccQe9;}7k*D%FVww1Se&hb`M@^&2PJ zM0vY1?Ba_79Cx#Q>3iHh+S*ZO)BasxAtzi`k}0$2AK(i>^tU<=`#lkpvUb zvX#S@f%dr|6R*3)+;9mbpPjz=pn;&=JAK^mw6ph)f4VNceSN47u#TMW*!RlXaa(co z?z!%6oDCOwXDupejHD_LE)S)b2!D9qoNW%7X)|e~_>YFnJ$P@tE-PDmB)K;+Su5_W zv75F#39xzr{L;gODDp^$HT`UjX_68C+T7H z2B@p3{O|NdzC<@NFL;qejVarLm{p8s~-u$nUi|4=FdTx;S?+PzJ z4qzqcE&hK!%)dJQhkb5U8bgxzzpqUi zgWP-_6#&4sQ&W`F^Iba1bqpv3;)PB;J-J7)8Fc7z8@uY6yn^alj-wvEVlkM%H82`?A+<hR#UTOb@*V;S2}tx9oiQIx+XCGNwJSPM9d+VNwY_jbi>lvtzOr74jT$cvlV3%W&FfbhNFeeiy%u)Bg zjF#btPm5WegRaq|hrjmRhGA^?$oJdKh?c~~SyprDyuidS^6MP#>`<3eKJ93%G{`qzN7xNwz{t?jPwQ{y4GqZ#$lcP3w~c8XkJ z$#2`q>VNdCt(vaRQ%0bQR**yK%Oj&=eT^S(Xq+v6->NL-(ZVs|h^c+@{Tt_H3buCy zw1q09@%zY}u*Pore#^j{3LI+IG8>LDjD4hoS!6R9UeVrw0CwV*gRr)DSlT-|My`I} zcbB_R@~y?P;v27-?C$I^b5QKrALx6YrWRd+Vc{xNXl@BL$*%&|T7pu&-o>Rk1OsUP zO`S&En;;Q0B!{1mt0pb0-qFsmBov_0Bfqj#Ph_EJ+k!X)OKz3} z`2r7?1;I11M5+?}SdJJh;Gj~9*vn|cU$t6ey+F_#a8P9-WyZ~Wcn=$tCNtW*VlS>y z_t&C73)p#XOUZ1WTI<0K!ngGY0GK2e;%6WbG4X^=i?ET}ZIV)3CbSE27s6+?5_*i^ z?kl)xo=Z5UAOK{w^Do#QD@xcwkmed^fL;1LNs2TgK(cfo&Ym^ea%`@yM+mF$!s#&h zs2MJ1=f`X&0Ae9>cR?|Lx`BfpMuLAlAwgM(h`{lWy>*HR4zr0wdlN#XkBaC zCWL%^63$=Wk-17p)Inm8CB|S)Tjd>lBw0?!#e0rw_!YQXmXS*li$|-pVbt^X)}g?s zVHTIuTc}Td#Uk0ie&9lb*h8^vQLU+ODfAsEcKIB*HyIqXgaqJpZ0>K|Q2(nc)|UEy@7^8USdh@MM24 zssuPaycWZ)=1;`$fY42Mo)}Tt5#!ox93cnFXciYZxp~QC6<%qq*@a$JOP0Q)`B1&m z7}@OQj2)}^Ugu!%Ad=W9Ux5N?k+0cWeH)328{o_C<_X13fO#?31G@bfRwJ!n!>Kk9 zWI4HEuuf%=)Fk_AwFaTH)%pN707Oj0>wjzMFx|_$hlfE5O5V=2<1ZG+@F#PK*ot`P zw=mOe$zo)D5boPIkK%}oV#6S&qM+va9T~6^PBg4a3Y`@}zyum0r8OdS<5PcU1juH( ziXG|^La8(HB^-BsNRFH@5G+l9k{t{6_=_N`A7*6X70@wsBFHk1i#AMTTV8Z$+L(s- z)64g$Tm7autiae=r-V&Mi-U~Hf)pHQO|cy6>9rZ>5FK4Vru}Se-<$?QYEmsFE{!d@ zHG2{7m|R4x`j0SbW}Cy?21G5f_1n>oQ+A|U>yzln%f6}rH8H_G14cXG@)zkNaPolq zhYe9?6aU6jy@i|ppIZPxf+EPt5L*~%$-Ix)m!4OBd!xvBN#>K(`_rJw_Z$OAH}44CN(g>zx^9YkS5agU2^#w(puVSVG;p_2kk& zwyV8rz8gn)G)0FOCWLfQ|G-fnc(cI1kQLb=b_cC$Dm1mzjt#46R=9vM5Z_sXk*+F| zUcWZi3Ene+o%X&XV~;86^<bWqDyL>eKT}qW6-W$XoGxV&790M7o(cY|$EWb|cu9V)H zsixs}0OwC_xp04=z>-guMzuqOV~}Xg5Lm9S)&izqh*0Pg%0RbHEx06v?kn# zyfXVrybJbhZc05m zTB*&6`6B*c))^BJX`GP4zp?mkhrrL4SQBX zboQwWQhGf=Ob?&srWVD`FrlUI00wP8+adxm8|2+cg&zNl4Rnp& z6lLt*xjdUB+~7S6o1XsOJh6sjXEQlBE^W%eKvxUXCK=JvKN9XHD155GJBcgx#917i z_^8UzXkL%q!pp5+{zvF1#;VhNfzYZkiBb5I(uW9Vtxg`sm*HxJvygPS3z&8yun>W~ z@I&M$AC3kk>iKiYiK9^CDNlP@d+bFF%1|+i9lAF)T5raEgX2DLu-)C?YB;@Gr^i8# z(hs&Un7jO%%;-g32NEeG%q7pWa{QQH%INiL{d)=?db7iXjD$^~BY8y0o?9vC=+D4| z&LJbvIC9?ULwb#Mm;4@GiYm=aT8bS2R-ewmXS?N1%|@zBZ1VvY1+av$NV}sc^;-|2 zaXJ@a^e=%+3ua2xSta6)J%;;{p{}b<24lWy?=6}TLI-2|7a%jYm$<)`zj{MDSMzoZdEld+A73gT|o6(0->49mDj^U=)D;i2A$r9GQy_DnWm4EJ;itYx{fA^pgMwFUhy>aM*!LQ&!7D}sdGAC>q~KwdiO068TjIo z#LhFBk|Hge5W@c8PO#S4F6h=&Z3-lB>aOgaH1!F%aU;2}tGpY0TBJK=*8{P4-BPxfd4M>l3{}v;IJS@ETI72BOHeeAK@l`P zKQ?*vPYu`dcLZmv!x8DXgAw_$JIlSOHxp!9-dpwW%}~_L1=~s;yyGn$UOLa6Z+4O}=+GBX|@MDJJqnIAa9mCV|tNOIrv z0AvOEut!fzmTjIsXU?|^QBCMJz_2WKfrVzsI4~9 zdxZ`KX!a3A3n5P0xsRjE>@{WVgA=ACp_v|u5x)d5I ziopTW0SYE=^5s)&;LHaLfwCD1g^BZ^5VI|Nx4Y1b2xh6xxzXij8H2c5hbntUC`I}o zIxWU7LdL~${}E%gYEdXFS76%L^K!NhwTP%44zW!~XIKqv(=+FjF4&2{<-TOc&wAeN zyqpA-K}5Tl?fW{qxX@dlyQ&gAER26>TS;!v1S|)TbPgx}ZvJ8n7XAS{hPh>Up8B2E z;2K!RT*O4hd=lsombMSyqB^Cq1gExVT_91zR?tq6NLX%=GFLS#Dd2oP0bv(@T(UKc z=P55iFYL_rQ84=o9}A9O8W}I5pLJS-O(nIRVITCnDF%IAVHo=OfbRW?zBq7&uG|1D zPXFw15qDe8JLq&oPe+(bW3Xh+o$sO#L!e{>`GlCn%FQINe537n;k;u&G($iC(wV65 z7U)@M4s{5>!p1zCoaw9d(Rt+92h(>p&lSDxdh3f%4dXN8pt<*YT?5^Q;cc|an<{aO zU!h>~e`fEsov<=H$;T$K>d^\xf0\xd83\xfe\f\x03\x83=\x98\xc56\x03\x18\x01\x96\xc1\x02\t\x04\x12\xdah\xed{\xb7ԫz\xad}\xc9\xe5\xde8\uf3dbYKwmYUY\x99Yu\xbe\xfad\xab;\xef͛\x91q#~\xf7ĉ\x13'\x84:c\xc7y{\xc0#\x12J3\xb0\x15\xd8\x01\\\f\\\b\x9c_z\xaf\x13h\a\x9a\x80\x94@\x80H\xad\x8bn\xaceTQ\x88\x81\"0\x0e\f\x01\x03\xc0\x11\xe0 \xf0\"\xf0,p@\xe1X1\xefǂP\xf4\x95\xa3\x8f\u05fa\xe4Өy/ھ\xe5JR\xa1\xa2J\na\vp%pm\xe9\xff\x17\x02\xeb\x81\x16\x04'\xb5/\xaeaT\x8c\xa2\xa0x`\x148\r\xbc\x00\xec\x03~\x00\xecC\xf5U\x11W,\x14\v\x1cz\xf5隖\xb5f=lg\xef^PM!r>p#\xf0\x16\xe0j`\x1b\x90\x16{\xe2\x1b\xab\x18U\x00-\x00\x87\x81\a\x81\x7f\x06\xbe\a\xbc\x02D\xfb\x0f=V\x93r\xadh\xaf\xdb\xd5{%\xb1\xf38/]$\"\xf0\x1e\xe0\x16`+B`\x16\x80\xb1VQ\u0558dx\xf1-\xe0\x8b\xc0\xf7\x03\x17\x0e\xe6\xe3\x02\a\x0f?\xb1b\xe5X\x91\x1e\xb8c\xfb^:\xbc0$\xda\x03\xdc\x0e|\x00\xb8F kc\x7fØB\xe2\x8b\x18'\x19N\xfc\r\xf0u!uR)\xb0\xffP\xf5\xfd\rU\xed\x8d\x17\x9c\xb7\x870\xe5\xf0\xb1n\"\xb1\x06>$\xb0\a\x91\xb0\xea\xbf\xcc0\x1a\x1cU-\x02?\x04>\x05|\x19\xc7)\x8a\xc2\xfe\xa3\xfb\xaa\xf6\x9dU\x11\x84\xcd\xdbwӬ-\x80\xb6\x90X\x04\x1f\x01\xae\x16\x91\xa0j\xbf\xc40V)\xaa\x1a\x91X\f\x7f\x86\xea?\"2^-\x1fòwН\xbd{\t| \"r\x05\xf0G\xc0o\x89\xc8\x05\"\xe2\xaaYi\x86\xb1Z\x11\x11'\"\xbd\xc0\xed\x88\xec\x04^p\xf9\xd6ӛ{z\xe9\x1f:\xbe\xacߵ\xac\x82\xb0\xb3w/@\x8b\x88|\b\xf8\v\xe0&\x11I\xadL\xb5\x19\xc6\xea\xa6ԗ\xf6\x00\xb7e[ң\"<\xd7\xdd\xd1\x13\xf5\x0f.\x9f(,ːa\xe7\xf6=\x88:\x14\xdd\x05\xfcg\xe0'E$S\x93Z3\x8c5\x80\xaa\x8e\x03\x9f\x01~_\xe0\xa0*\xec?\xfcؒ\xaf\xbbd\vag\xef^Tq\bo\x02>\x0e\xbcM\xccih\x18U\xa5d-\\E\x12\xc4\xf7b\x01\x7fh}\xe7f\x96j-,I\x10vn\xdb\vh\xba\xfe\xf7\x8e\xaf>\x14\xe21Ka1\xa8\xea\x19\xe0\x17Sa\xf0\x7f\nň\x03\x87\xe7_\x1c5\xaf\x85\xb0\xa3w\x0f\x0e\xc1\x85\xf2&࿉\xc8\xfaZ\xffPc\xe5)Y\xf3ľd\xe2\x97\xfe-T\xdeYUAP>x\xb3\xf2o~Ii۪ \xe0I^\x12B\xd7&\xe1\xea˄Ӈ\xe1٣`\x96B\xe5\x88H3\xf0:\xef\xf5a\x119\xd2\xd5\xd93o\x9c\u009c\x82\xb0+{!\xb4f Ia\xf6q\x81\xddvW\xd6\x1e\xaa\xc9kk\xa7r\xfdŞ[/\xf3\\\xd4\xe3Iy\x18\x18\x83\x82O:\xebB[\x86W\xb8t\x8b\xf2ۿ\xe2iݤ\xf8X\x929\xf5\xd2\x7f x/4\xb5\xc2\x05\x9b\x94\xfb\x1ev\f\xe6L\x10\x16\x85\xd0E\xd2\x7f\xbf%0\xb8$A\xe8\xda\xd2\v\xd0\x06\xfc)\u009b-\xe8h\xed\xe1\x15ZR\xca\aި\xfc\xfb_\xf0\xbc\xe7]ʍ7\xc2M7\xc0m\xd7\xc1\xcen\xe5\xd0!\xe5̘\x80̟\xe2F5\xf9\xe3\xa7oQ\xdexk\xc9ʘ\xa1]\x89\x80\xaa\xd2\xd9\t\xaf<\x0fO\x1cr8[\x1eW1%\x89\xed\x05Z\x14\xbd\xbb\xbbc\xee\xe9\xc8Y\xabxG\xef^\xae\xedi\a\xf8\x10\xf0c\x96\xcdh\xed\xa1\n\x19\xa7\xfc\xeb;<\x1f\xf9\x15ώK \xcc\n\xde\t\xa4\xa0m\xb3r\xc7{\xe1\xf7\x7f\xd9s~\xb7\xa2~a\xd7M9a\xf7v\x90@Q\x9d\xbd])\x10\xa4\x85\v{\x95\x00\x9d\x98\x964*$\x11\xdc\xf7\v\xf2SN\x84\v\xb6\xed\x9d\xf5\xd4\x19\x05a\x1b\x89\xb2\xfc\xe0\xf8Е$\xb1\x06\xb6bq\x8d\xa1\x80W\xe5\xd6K=?\xf1\x1e%hR\xe2x\xea\x19\x82z!\x06.\xbdN\xf8\xc5wz2n!\x9dV\x11\x81 L\x9a\xde\\F\xa7 ʺ\x8e\x98\xc0\xac\x83%Q\n\x1e\xfcM\xaf\xba\xdb\xcdQ\xe73Vs\xbaw/\xa0\xcd\xc0\xbf\x03\xb6\xd7\xfa\xc7\x185@\xa19\x80\x1f\xbd\xd9\xd3ҭx\x7f\xee\x18>1\xebA\x05\xae\xbf\x11.X\xaf\xf8\x85>\xc5+08\x153\r\x96\x03\x81\xd7\x00\xbf\xa6J\xaa\x14St\x0e\xe7\b\u008e\xde=\xe51\xdd;\x81w\x99\xdf`m\xa2@G\x13l?_\xe6\x9c\xf6\x9b\x18\xeb\xafWvo\x8e\x17n֫\xb5\xab\x15'\xb9\x89\xef\x13\xe1fD\xd8u\xde\x15\xe7\x9cr\x8e \b\x82\xaan\x04~\rh\xae\xf5o0j\x85\xe2\x02!H-\xc4V\x17\x82\f\xac\xeb\x8c\x17p\xeeb0\xf1X.D\xa4\x13\xf8\b\xea;t\x86\xb1ô\xbb\xbd\xb3wo\xd9:\xf8q\x90k\xcb\xe3\xc8\U000b44f1\x06\xa9\xa4/Z\xbfm\x14\xde\x04\xf2N\x11ǎ\xde=\xd3\x0eL\x13\x84\\\x04\xa3\x05\xb6xχ\xdaR\x1aln\x156\xb7\tm)E\xbd\xe2M\x15\f\xa3\xe1)-;\xf8\x05\xaf\xda}\xf6\xec\xe1Df\xa3\xd7\xf7\xec\xe6\xfa\xabB\x0e\x1fͿ뵗6\xef\xbd\xe5͝l\u061cE\x10N\x9d\xcas\xef\xf7\x86\xf9\xcawF91\xac\x88m\xaaf̈\xb5\x8a\x06\xe2z\x81\xb7\x88\xf0\xb7;\xb6\xed\xe5@)\xfdڄ |\xeec\xe7\x93\x1f\x8bץץ\xfeŖ\xd7t\xb8\xb0-5\xe1\xdb\xdd&\xad\\yC\x177\xbf\xbe\x8f\x8f\xfe\xb7\x13\xbe\x15\xd82\xef\x05\x04:;ӥPRS\x04\xc3hpv\x00\xd7#\xc2\x05=\x97\xe0\xfe\xf2H7\xef\x94\xff\xd1t\xfa\xf9\x81\xb7.\xd4'`\xbe\x03\xc3X\x1d\x94\xf6Py\xbb\x8f| \xa9\x14\xee\x99\xd1\f'6l?\xff\xe0\xe1\xc2ޅO\x1c\x98e`\x18\xab\x88k\\ =\"\x82˫c<\x95~\xed\xe0\xa8\xef\xb1\a\xbfa\xacI\xb6\x03\x97\t\xe0\xee\xba\xf6\f\u07b9\xeb\xa2\x18g\xd3Ά\xb1&i\x02\xae\x16\x11\xdc\xf5\xf7m\xe8Taϒ/i\x18FCR\xf2\t\xbe֫f\x9c\x13\xedU\xe4\x02\x1b.\x18ƚ\xe6\"`\x83\x13\xd8\x05t\x9b\x1e\x18ƚf\x13\xb0\xdd\x01\x97\x00\xd9Z\x97\xc60\x8c\x9a\xd2\x0e\xecv\xc0\x85\xd8*\x16\xc3X\xe3H\n\xd8\xe5\x80\xf3k]\x14\xc30jKɇ\xb8\xdd\x01\x9bk]\x18\xc30\xea\x82\xf3\x1c\xd0Y\xebR\x18\x86Q\x17\xacs`\x1b\xb7\x1a\x86\x01@\xbb\x03l[w\xc30\x00Zm?\x1c\xc30\xca4\x9b \x18\x86Q&c\x82`\x18\x06\x00\"\"&\b\x86aL`\x82`\x18\xc6\x04&\b\x86aL`\x82`\x18\xc6\x04&\b\x86aL`\x82`\x18\xc6\x04&\b\x86aL`\x82`\x18\xc6\x04&\b\x86aL`\x82`\x18\xc6\x04a\xad\v`\x18\xd5B\x15\xbc&\xff\x87$+\x90\x93\x89\xec@\xc6\f\x98 \x18\xab\x10ū\x90\x16\xe5\x82n\xcf\xc6.%\x1d(}Î\xfd\xa7\x1d\x83\x051a\x98\x05\x13\x04c\xd5ὰ\xb5\xd3\xf3\xf3o\x1a\xe1\x96kFi\xef\x8a\x10\a\xf9\xb1\x80\xe7_\xcc\xf2\xb9\x7fn\xe5\xee\xe7Sx\x15\x13\x85\xb30A0V\x15\xde\xc3\xf6\xee\x98\xdf\xfb`?\xaf{\xdd\b*:1d\b\x9b#\xaeސ\xe7\xc2\xddc\xb4}z\x1d_z\xa4\tU\xb3\x14\xa6bNEcՠ\n\xd9P\xf9\u05f7\x0fr\xf5\xd5#x\x14\xef\x85d\x97\x01\x01\x15\"\x0f\x1d\xeb\x8b\xfc\xf2{\axͦ\bo\x1b\x99O\xc3\x04\xc1X5x\x85\xcb6G\xdct\xf5\x181\x8a\xce0$\x10\x04\xefa\xd3yyn\xbf*\x87c\xd2\xe9h\x98 \x18\xab\bU\xb8l[\x91\xb6\x8e\x18\xe6\x18\n\xa8\n8\xe5\xf2\vs\xb4\xa5}\xad\x8b]W\x98 \xacB\xca\xd3m^\x15U]SO\xc0l\x13H0\xf7\x0f\x16\x01\x05:;\xf34\x85\xca\x1a\xaa\x9ey1\xa7\xe2*BK\"\x10\n\xb4g\x840\x14\nE\x18\xce+^\x93m\xbfW\xbd\x03\xad\xd2\x1f\xb8\xda\xeb\xa3BL\x10V\x05\xc9x١\xbc\xb6\xd7q\xc7u\x8eK/\x8dȴ*\xc3}\x8e'\x9e\x84;\xef\x87\xe7N)\xca\x1a\x10\x05cј 4<\x89\x18\xa4\xc5\xf3S7(\x1fz?l8/\x82\xa0<6\x8e\xb9\xf2Z\xe1\x8dop|\xec\x7f\xc1\xdd\xcf`\xa2`̊\xf9\x10\x1a\x1cU\x01U\xde~1\xfc\xf2\xcf\t\xeb\xb7Gx\xf1\xf8X\xf0^\x88c\xc1;\xe5\xfcKc~\xe3\x17\x84\xcb7\x93\xf8\x15j]p\xa3.1Ahp\x14\xe8\r\v|ඈ\xb6\x1e\xc5{\x00\x99\x18\x1b'\x96@2\xd5\xd6{Q̇n-\xd0\"\x1eS\x04c&L\x10\x1a\x1c\x05֧\x84-\x1b<\x1eEt\xe6\xb1@2\xd5\x06;\xafp\xb44\x8b\xe9\x811#\xe7\b\x82\x96\xe6\xa8ā\x04\xa5\x97\x9b~̨\x1f\x14H\x87\x8e\xb0\xadt\x93f\xf1\r\x88$\xf7\xafu\x83\xd0\xdaj\xc18\xc6\xccL:\x15'LL\xc1GJ\xdf3c\xf4?=F\x9c\xf7t_\xd6L\xf7e-\x84MfP\xd4\x1d\n\xd2$\xb8\x0e\x99w\x18\xa0\b-\x99\x98u\x19\xcfK\xa4k]r\xa3\x0e9g\x96\xa18\x1a\xf3\xec\xa7N\xf0\xf2W\xceP\x1c\x8eQ\x85T\x8bcӵ\xed\\\xfe+\x9b\xe9ܞ\xadu\x99\x8d% f\x19\x18s0\xf9\xc8/\x8d=\xf7\x7f\xe14/|\xf6$\xc5\xe1\x18\x04\\ D\xe3\x9e#w\x0f\xf0\xd4\x7f\x7f\x95(\xe7-\x98\xc30V)\x13\x16\x828\x18?Y\xe4\xe0]\xfd\xe0A\x82\xc9^/\"\x10('\x1f\x19a\xe8\xe5\x1c\xe2L\x11\fc5\xe2\xa6\xfem\xf8\x95\xfda֭O\xb1y\xe3\x01\xc6r\x19\x0e\x1e\xdfB\xea\xd8]\x8c\f?\x9c\xec\xe3Q\xeb\xc2\x1a\xb3\xa2\xaax&\xad\xe8\xf2\x90\xed츟E\nB}\xdc\xfa\xb2\x18\xdcLĻ\xe3\"meS!\x86=.fW\x10\xf2E\t\x19\xf7&\nKAD\t\x83,\xaf\x9c\xb8\x82\xe7^\xba\x18\\LbA(\x176\xefÉ\x12\xebR\xc6hvs\xaa\x89W%\xeb\x84=\xed)\xae\xe8h\x02\xe0\x89\xc1\x1c\x8f\x0f\x15\xc8\xf9\xe9\x8b\t\x1b\xdaBP`\x97\xf3\xbc+\x8eh\xf5J,I\xc7W \xf4\xca\xcdD\x1cJ\t\xf7j\x98\xa8a\xad\vܰ\b\"1.\x88Jf}Pz;^\x96kW\xf6\xbeQ\t^\x95\riǿ\xd9\xd1\xc1[7\xb5\xd1\x1a&\xf7n$\x8a\xb9\xf3\xd5\x11\xfe\xfb\xcb\x03\xf4\x17\xfd\x84(8\x80H\x85W\xfb\x05\xe6K\xb0Z\xfe\x92\xd8\xd7\xc50O\x05.\xf61\xed\xde\xe3\xa7L\x8a\t\xa0\"\x04^\xb94N\xb23\xd5E\x81W\v\xd6W\x81\xc9\xc4?\xf5\x9a\xf1KU\t\x04~\xb6\xb7\x8d\xf7l\xed\xa09\f\xf0\x80\a\x9aÀ\x9f\xde\xd6\xce\xcf\xf7\xb6\x11\xc8\xe4\xda\x12'\x92\x9cp\xeah\x0e-\xfa\xf9\xbdp\xaa\x1c;\x9e'\x8a\xa1\x96-C5yNmt:\xa3\xf3\xb0\xfc\xcfl\xac\xb8\xca\x1c߆1'Jҁ\x1c\x9eP\x92\xffO\x9d}\xa9\x17\x14\xe8m\ny\xdb\xc6\xd6$\xe4k\x8ari)6\xfcm=\xad\xf46\x85\x13e\x0f!\xe9L\x0f>\x93\xe3\xb6\v\xc6\xe6\xd4\x03\x11a\xe0p\x8e{~0\x8a\a\x82\x1aw\xb2P\x94\xf5\xa1Bq\xeeJ1\x96\x8em\x01\x97\xa0\x00\xaal\xcc8\xba:6\x12\xa5;\b\vg8=p\x863\x85d\xaa\xb6^\x9e=^akS\x8a\xeeL\ne\xba\x03Q$\xd9\x01\xbc;\x9dbkS\x8a\xfd\xa3\x11NJ\x82\xe0Dx\xee\xb8\xe7\xff|\xb9\x9f\xabf\x196\b\xa0\xb1\xf2\xf9\xbf:\xc5CCZ\x17\xf9\x0f\x95\xc6\xee\xf0g/\x01\xb6\x95\x9e\r\x80*\xdd\x19\xa1}\xcb\xd5<<\xfa+\f\ro\xa5\xab\xe9%^\xbb\xe5/\x89\x8f>\xce@\xb1\xbe\xe6\xba\x17\"OS\xcfIf\x8e\x05\"/\xbc4\xecK\x8f\x02\x99\xe9SD\x1e\x1e\xed\xf3\xe4b\xf3\xda/\x15UE\x80t\x00\xe9@p\xa2\x15\xe5\b0V\x1eդ\xc3\xf4tt\xf0D\xfeg85x\x19\xf9\\\x17\xc7\xfb\xaf\xe6\xc9\xfcϲ\xa1\xbde\xe2\xbcFe\xda,C\xd2Ʌ\xe4\xb9{V\x8f/\xbd%\x82\x8dǗH\xd9ٓm\xdfL>\xfb\x06bm\xa5)~\x88h\xf0\x19\nQl\x96Bݢ\x04\xa2h\xb0\x9e\xc1\xd1]\xc9[\xa5\xee20\xbe\x93L\xa6\x9b\x90a\xa2\x06\xee gM;6\xee\x0f\xa9\x16eg\x91\x96\xeaFJ\x7f[l\xa7M,\x03\xa5\xa9c+Ǜ\xfe-'\x06o\x06u4\xa7\xdf͎\x8e\x8f\x12\xf4\xdfO|֚\x01\xa3\xbe\x88%\xc0k0\xfd\xbd8\v\xa4\x93\af\x03[\b\xb6\xfcy\x0eT\x93\x8e\xb9%%\xec\r\x95\xcbSJw(\xa8Ȓ\xcc\xfb\xd0\xc1\xa8\xbb\x95\x13\x03\xb7@\x1c\x80\x17\xc6r[9-\xef$\x15\xa6k\xfd\xb3\x8d\xf9\xd0\x19F\xe6\x02\xe8\xd2c\xafU\x15\xafJ\xa4J\xac+?\x8cl\xe8\xc0\xa4j\xa2\xaa4\x05\xc2[B\xcf\x1b∶ȣ\x02'C\xc7]\xa9\x14?(\n^\x17\xf7$w\xe2\x88➤\x01\x95?\xae\x10\xf9n\x9cK\x01\x85Z\xff|\xa3\x06\x94;\xff\xa6\x8c\xa37#\xf4E\u0089|\xccp\xac3\x86\x19W\x83\x86\x16\x84j\xb93T\x93p\xce;R\x9e\xb7\xe6\nȔ@\xac\xad\x91\xe7\xfd)Ň)\x1e(\xbaE}\xbf\x02:\xc3<^\xec3\xa8\x19mk\x12\xafJk\xe8x\xdf\xd6Vn\xefies\xc61\xe6ṡq\xfe\xc7\xc1a\xf6\r\x16J\x99\xa4\xaa+\n\r-\b\x91\n\xa7\xcb\x19y\x97\xb1\x9e\x14a\x93\x83\xd7\x17\x8aH\xec\xf1S\xe6\x96=\xd0T\x8c\xb9I\x1c\x8f9Gn\xb1\xe3}5\x1fAò\xccI\xa0\xb5\xb4\xd6\xe0W/\xe8\xe4}\xdb\xda\tD\x92hB\xe0\r\x1bSlk\xc9\xf2\x1bO\x9e䙑\"\xc1R\xbfl\x1e\x1a\xf6q$\x021$\x82\xb0\xcc(\xb0^=m%\xcb`\xea7\x94}F\x1bcO\v:\xe1l4\x8c\xc5\xe2\x81=\xed)\u07bd\xa5\x15'B\\\x1a:(\x10)\\В\xe6\xbd[\x13\xa1\xa8\xb6O\xa1a\x05\xa1LU\xba\xa3\x00^Q?\xfb\x17\xa8\xf7I(\x98遱DT\u128e,\xadapNDa\xf9\xf8\xeb:3t\xa7\\\xd5'0\x1a^\x10\xaaʜSH\xa6\x04\xc6\xd9,\xb2\xbb\n\xa4\x83`b\xa5\xeeY\x87P\x92\xc5H\x99\x15\x88\x0enh\x1fBC3ev\xa1\x110\x97\xc7Tf\x1e(N:\x8a+\xac\xac)m\xa0\xd6[\x97\x98 Ԋ\xf2B\x8c\xa0\x94S\xc0\a\xe5\x953\xb5.\x99Q\t\xa5\xdb\xe5\x82<\xceE\r\x7f\xfbL\x10j\x80*t\xb6\xbdȶ\xf3>\xc3%\xe9\x97\xc8\x16\"^N\xaf\xe3\xe0X\x88?\xe8k])\x11/P\xaf\x1e\x8a\x06\x7f\xfc-\x99\xc4˟e\x84\x9bv}\x81\xab:\x0fӓ\x1e\xe0H\xb1\x8b\xa7F:\xf0\x87\xa3\x86\xaf!\x13\x84\x15D5Y/\x7f\x9bF\xdcqt\x980։\xb1ys\xae\xc0\xeb\xfbO3\x96\xcd\xf2\x87.M~\x01\xb9jV\xb0\xe4\xc4q\x86\x88\xb6\x19\x8e\xac%\x92\xa5\xcd\xd75\x0f\xf3\xe3=w\xb1!r\x84\x11\x14\xc3c\x9c\xec\xf2|\xfax\x81''j\xa5nn^E\xd8,Ê\"\xb4\xa3\xbc\xc5\x17HyŻ\xd2\xf2Q\x11\xd4\t\xb1\xc2U\x85\";%ɐ[/\b\xa0>$\x8e\x9af8\xd6\xe8F\xf2\xc2\xf1\xc05\x9di>\xb8\xb9\x93-\xf9\x90 \x12\xd4\vaQ8\xaf\x18\xf2\xf3ۺ\xb8\xb4=SW\xf7\xaeRL\x10V\x10\x15hV\xa5{\x96\x80'\x80f\xef9_\xa2\xba\xf2\xea+\x10\xa6FIg\xcfԺ(\xb5\xab\x03U\x02\xe0\xcd\x1b\x9a\xe9ʄ\xc9\xfe12)\xe8\xb1*\x9b\xb2)\u07bc\xa1)\x11\xd0\x065\x9dL\x10j\xc0\xecmE\bDY\x17\xfa\xc5?u\xcb\x17w$I'Kwxi\rT\xf0\x1a!\x12\xcdt\xa4*u\xb4|z\xa8\xd3_K\xa8\x87\xd0\t[\x9a2I\xf9\xce\xce\xe1Yz\xe3\u0096\x14)\u05f8k\xa0͇PW\x94CV\x97\xd0\x1d\x02\xf0}Jt\xc0\xa3\x11H\x13\x84\x178\\\xdbҺXL|n\xe7\x17h\rbƪ\xb2\xe3\xdar\\0\x89$\xd5rx\xbb\x03qSEA*\xff\x96y\xaaѹ\xc5-x\xab\x17L\x10\xea\x8e%$\xe9T\xc8};b\xec\xcb\x11сR\xc3\x0f!u\xb1\xa3\xf5C)R\xafY\xbcA\xe8\xf4\\s2\b\xc6Ig\x06\x19YR߭RfL\x01\xedO\x11?ځ\x7f\xb9\x19\"A\xd6\x17\b\xae\x1e@\xb6\xe5\x10\xa7U\xdc\xe0\xb8q1AX-8(<\x113\xfc\x97E|\xbfN\xec\xa5B\x04\x85Gc\x86G\x94\x8e\xff\x98\x86\x96%~ϔ>\xe4\xe3\fq\xb1u\x89\x17\x9c\xb2\x88}ʵ\x978\xc2AϤ)\xfe\xed\x16\xe2\xe7[\xa6],~\xac\x9dԻ\x8f\x13\\3\xb8\xc4r7\n\x95դ\xf9\x10V\v\x05\x18\xffj\x8c\xefW$\x14D&_\x04B\xf1\x05\xcf\xf87\xe2\xc5\xf74\x01$\xc6eG\xc86\x9f&\xd5ԏ\x04\xf9\x19\xfd\n\x15S\xf2\xb0\xba\xec \x92\x1e]\x9a\x03A\x80\xa2P\xfc\xa7\r\xc4ϵ$y@\x83ɗ\x0e\x87D\xdf\u0600?\x9e\xa9x\xab\xf9d?\x86yΩ\xb3=\x81\"U\xe6\xdaVɣ\xc4S\x8e\x9b\x85Pw,\xa29\t\xf8\x01%\xda\xefg\x94x\x91\xa4\xa1F/{\\T\xf93@\x81\x94\x16x\xf3\xb6\xcfsY\x90\xe7\xfc\xfc\x10\xfd\x994\xfb\xdcFN\x9f|\x81>]\xfcs\xc5Ǟ\x9e\xf6Ǹ~\xeb\x11.K\xbdH\x1cgy\u009fϱ\xc1c\x8c\x0e,\xe2\x82\x02z:\x8d\x7f\xb65\xf1\x19\x9c\xe3\xfc\x03\x7f\"\x83\x7f\xb2\r\xb6\x0fVT\xdb-\xceіr\xb3\x8a\x82*\xb4\xa5\x1c-\x81c\xd0/\xc76wKg\xbe\x01\x99\xc24\xc10AX-x\xd0exX\x9fM9]\xfc\xad>\xe6_\x9d~\x90\xce|L\x10'S\xa8\xefmz\x96o\x8e\xc5\xfc\x89\bc\x8b\x98\xc6P`[ \xfc\x1a\xdf\xe3\xca\xfe\x88\x961\x0f(C\xed\x0fs?\x8e\x8f)\xf4Q\xa9\xc1\xa0h\x7f\n\xc6gI%\"\xe5\xbaZ\xf8U\x93-\xdb\xe0=W\xe5\xb9\xfc\xbc\"\xbe?;c\xa1\xbc\xc2\xe5ۋ\xbc\xcb\x17\xf8\xebG\x93ﯟಅaC\x86\xd5D\x15\x1a\x9f\av\xa6\x1c?\x93\x0e\xe9\x1e\xf5\x10\t\xb1:\xbc\x172\xa3\xca;\xd4q{S\xb0 sz*\xaaJ\xc6\t?\xd7\x1c\xf2\xc6\xfe\x02-C\x1e\" \x12:\xfa\"\xde6P\xe0'\x9bB\\\xa5IA\xe4\\\x7f\xc4RQ`c\xb3r\xfb\xad\x03\xa4\xda\v\xb3/\xfdT!\xd5^ඛ\x06\xe9\xc8,\xef}X)L\x10\x8c9Q\xe0\x9a0`s\xe0\xf0\xe5\x8d9\x92<\xf4\xa8\bi\x11n\xcd\x044WؒS2,̈\x02\xba\x02ۢ5\"f!\xac\x06\xe6\xeb\x01\xc6\x14\xec\xa17\x17ӗ?k\x1dč\x1b\t\v\xbd\x11\x02:\xae\xf8\xc1\xf9\xe7\xd4E`t<\xe0\xccxc\xe7\xfd[\x1a\x8d\xf9˫\xbd\r|\x99)\x16\x82\x82o\xb0\xe8\xb8\x05L\xd3W)c_\xdd @߸0rl\xfe\xad\xe9E\xa0\xff4\f\x8c\x8a\x8d\x9d\x1b\xacUD\xea\x89W@\x14\xa6\r\x19\n.@\x1b\xc4\xeb\xaa\n)Q\xba\x83\xd9+I\x81\xb6\x00Z\x83\xc6͓?\x1f\x0e8R\x14\x9e|\x10d|\x0eQp\xe0O(?\xf8\x9620ި\xcf\xc9失j`\xa5\x9a\xef4A(\xef\xc2S\xef}G\x01\xaf\xca\x1b.Ns\xeb\xc5\xd9YS\x80{\x0f\x97\xec\xc8\xf0\xae\x1bZ\x10\xd5U)\n\"0\x82\xe3\xf3\xcf\x05\f\fϡ\a\x02G\x0e\xc1\x97\xefK\xf2\x1a\x98\x85Ѐ\xac\xc0=kL\xa7\xa2*\x99\x00\xeex{'\xed\x9d!s\xed\x15\x12f\x1cᄑ\x83\xad\x1d\xf5/t\x8b\xc5\x01\x8fi\xc8\v\x1a\xcczC\x1d\xf0\n\x8eW\xfcZ\xf6\x1f\x18\xf31\xad\xfd\xe8b6\xae\xa8\x01\nt\xb68v\xefn\x9a\xd7\xe7\xe1c\xa5\xa7\xb7\x89\xad=i|C9H*@\x92\xc5S\x11\xf3\xfb\x824\xa6\v\xa6Q\x10&7\xa0Z\xed\xc4\xf39\xbd+l\xeb\xaa\xcay\xad\xf0\xd3פH\a2\xf3\xe7\x15R\x01\xfc\xe4\xebSlmM>3M\x10Nx8\xe5䜙\x86\xf2\xb0s\xd0\t'\xb5Q=\x91\v\xa3,\x86\xf1\xf0#]l\xe9t\xac\x8d\x05\xbaF5h\r\x95[\xaf\x1c'\xd5R\x98\xf5\xd1/$˔w]4ʮM\xbe\xaa[%\xachj\x03\x11\xc1\x89\x10\x94\xbe8\x10\x92\xcd6\xebC\v\xd0R\xae\x877]\xd7B\xf7yYt\x8ed1AG\xc0k\u07ba\x8e\xabw\xa7\xf0\xb6$\xdcX\x04\n4g\x84\r=\xf1\xbcCOUhj\x89ٵ\xb9P\xd51\xc3j\xceu\xb2(\xd2\x01l??\x9b\xa8\xd5l\x15/\x10\x8f{$\x82\xad\xe7emA\xa7\xb1h\xc4)A:Z\u0e5eL\xba\xbaO\x1f\x13\x84\xb3H\x87J\xf3\xbaԼ}\u070f\xc5D\x83\x11\xae+S\xeb\"\x1b\rNe\x8e\xe9\xea\x9a\xd3&\b\xd3H\x02\xa9r\x04\v\xa8\xf6d\xfd\xb8:\xb1\xf9Gc\x89\xd4O\x03Z\xf5\x82\xa0JE\x12\xec\x15\xa2\x85\xa6\xed\xb2\xa1\x82\xb1J(\xb7\xf8\x86\x16\x04\x11ARs/\x9aҼG\x176D3\x8c5O\xc3\n\x82\x02\x92\x16\x9a/h\x9a\xf3$\x97us\x8b\x86a\x18\x94\xcd݆\x15\x842mW\xb4\xe0\x9a\xdd9\xc9UT\x15\x02h\xbb\xa2\x15g\x82`\xacU\x9c\xce\xed\xa2\x90\xd29\xe5\xd3k]\xde%\xe1\xa1\xfd\xeav6\xfe\xe8\x06\xc4\t\x1a)\xea\x15\x8d\x156\xa5Ӭ>A0\fc:\x92\xfc1)\x00g\x1f\x9b\xa4\xb1g\x19\xaaD\xbd\xac\xbe4\x8c\x95\xc6\x04a\x1aB J(\xba\x00g\xa4y+\x1b\x99\xba\xd2\xfcEl\xb9V-L\x10\xa6\xa1\xc4*\x14#HoL#\xa1̺\x9b\x94k\x0e\b\xbbR\xa6\vƊR\xedd<&\bg\xa3@\xce\xd3t~\x16\xd74K\xf5xH\xafO\x91ٔ\xb6\xa4\x8a\rG=\xdf/Y\xd2\xe1\xe5\xc0\x04a\x1aB&PZ\x9a\x95\xe6\x8b[边\v\x8d'\xf7\x9cTM\"!%\x146\xfe\xe8\x06R\xdda}\xb7/\xa31P\x81\x96|2t8\xa7=\x95\xdek\x1f\x87LT\xf5D\xc46\xcbp\x16qi\xf9s\x90ul\xfb\xf0\x16\x00\xfa\xee\xe9'\x1e\x8dA Օb\xc3\xed\xeb\xd8\xf8#\xebk]TcQ\b\xa2\x90*ֺ\x1c\xd3ѭ}\xe8\xfaa\xe4T;I\x92ђ2\xa8\xa0N႓\x90\x8a\xa8\xb6\x99`\x820\r\xa5\xa8B\xce'\xf9\xd53\x9b3\xec\xf8\xed\xedlx\xc7:F\x9e\x1a\xc1e\x1d\xed\xafm\xa3yW32W\x8a\xb5堮\xbc^\xab\x88R>\x1bW\xcdL\xa5\x95\xa2@K\x0e\xaey\t}x'\x9cnC\xbc\x03\x14\xcdFp\xc9a\xd8q\U0009c601j`\x82p\x16S\xfb\xa1\xfad\xadD\xc7\xeb\xdb鸶\xbd\xf4&I6f\xb50Ȇ\xa6\xae\xe6\x96%\xb1\x04z\x06\x90۞\x84\xc3\xdd\xe8p\x13\x04\x1e6\x0eA\xcf@i8Q\xfd2\x9b \xcc\xc1Djx?DZ*a\xbeʵC\xb9%\x89\n\x9a-\xc0\xee\xe3ӏ\xaf`[0A8\x1b\x0f2\x12״\b\x02\x9c\x89BF\xe3\x85\xe4v4\xea\x93J\xee\xdc\xe4Va\xc2lCQ\x9dzfհY\x86\x19\x90\x1a/\x97V -JPG\x01+F\x854\xe8\xad3AXI\x14\xa4\xbcK\xcd\\\b\xb4\x871M\xce7j\xbbZ]Tl\xa65\xae]g\x82\xb0\x92(\x04[\x04\xd7=\xb3Y\xa8\xaaHZ\b\xb7;\n^\x16\x9e\xfd٨.:\xe5/\x13\xe9\xc6t\xe6\x93RQ]\x85\"W\x8a\t\xc2J\xa2\x10l\x14\x9an\v\x90@\x92to:\xf9\"\x86\xf45\x8e\xf4k\x1d㑣\xa8u\xb3\x1f\xb6\x01\x10(:\x9b\xc7_\x05u\x1e=\xaf\x1f\x1aز3AXI\x14p\xd0\xf4\x9e\x90\xd6\x0f\xa7\b\xb7\xba$\x95\xbc\x13\\\x93\xd0\xf4\u0590\xb6\x0f\xa7\x90V\xa1-\x88\xc96p\xc3Z\x95(\xb0\xf38\xba\xb5/\x11\x04\xcf\xc444\nl\xed\x83m\xa7'\xf2\x0f4\"6˰\x92\x94\xe2J\\\x93\xd0\xfc\xee\x90\xcc\xeb\x1d\x85\xc7=\x92\x01\xb7QH\xedrH6ihf\x19\xd4\x11SoFS\x11\xae\x7f!IG\xf6j'\x14\x03H\xc5p^_\x92\x92,[\x84BP\xeb\x12/\x1a\x13\x84ZPzx\x04[\x1cM[\xa7\x18i\x1e\xd4\x03UjO&2ˀ\x82\xb6\x8d#\u05fe\b\xb9\x14\xc4.\t \xca\x16Q\xd1)\x86Acֶ\tB-\x98\xc8|\xcb9\xbe\xa9\xa5\xc4;\xcd\xf6\xd1\xf2W\x8c8\xc1\x97\xa3_\x1b\xb3\xbd.\x99r],\xe5\xe7K9%YSa\xf2\xbd)\xefO\xfb\xa2\x06\xc3|\b\xab\x84\x188).\x89\x82=[dP<\xf0\xac\x06D\xe5`\xfeU\x8cG\x99m\xf7>)\x1d\x1f҅o\xab.\xc0H\x0e\xf2\x85R\xddM\xa4$\x9b\xfcob\x91\x84@.\xe7\x18\xcd7\xa6C\xd8\x04a\x15 @\x8cp_\x102$BPZ2\x9b\xec͡8\x85W$\xe0\x01\t'\xdb\xf3*E\x10\xfa\xbc\xf2t\x1c\xe3\x98.\x8ee\xc3茇}\x05\xbf\xe0z\x10\x81c\xfd\x8e\x13\xc7S8\x99=\xac\\Uq\x02\xaf\x1eIsl\xc0\xd5\xd7r\x89\x05b\x82\xb0Jp\xc0\xa3\x1a\xf0q\xc9p\xdc9D\x94\xb0\xd4r_\x96\x80\xbfp\x19\x8e\x8a[\x92\x184\x82\x15,\x02\x05\x85ώE\x1c\x8c=\xa9)\x0f\xf5\x00\x88Q\xbe\x90+\xf0B\xac\vn\xfc\x02\xf4\x8f\v\xf7\xdc\xdfN\x9c\x0f\x11\xd1sDA5\xf9\xee(\x17r\xcf\x03\xad\f\xe6\x96V\u05f5\xc2|\b\xab\x04\x11\xf0\b_wi\x9e%\xe0\xb5>\xa6U\x95\x93\"쓐c%1XL#-\xe2'w\x02\x9br\x81\xd2,*}\xaa\x8c\xa9V|\xed\x88\x19\u05cdM0\x86ҿ\x88\xeb:\x84g\x8b\x9e\xdf\x1d\xc9\xf3SM!\x17\a\x01!p\xd2+w\xe6#\xfe9\x1f'A`\v|\x84\x8b(\x91\n\x9f\xffA\x96\v\xb7ws\xcb-}H\x18M\x13\x05\xe7@\x8b\x01\xdf\xfcV\x17\x7f\xf7h\x96H\x04'\x8d\xe7\xac1A\xa8S\x16ӌ\xca\xfe\xc2\xfd\x1a\xf0\x92\v\xa6\xbd\xbfX1\x10\xe0\xe1\x82\xe7LV\xe9v\x82G\x11d\x8a6(\xdf+\xc4\f\xfa\xca:\xae\x03^\x89\x95Wc\xe5\x82P\x88uҡ\xaa\n\x81\xc0˱r\xa4\x82'\xf9D\x99\x05P᱂\xe7\x99b\x91.\x17\x11\x00#\xaa\f\xfa\xe4z\x95\xadV\x15\x9c\xc0\xa9q\xf8\xe8\x17\x9a9~*\xe4\xcd7\rѽ\xa1@\x108\xe2\xd8s\xfaD\x8ao~\xb7\x95O}\xa7\x893\xf9\xe4\xfcF\x13\x030A\xa8[r\xde\x11-\"RQXޥ\xfe\x0ex&R\xfe.W\xe4\xe7\x9aRdE\xf0L\x8e5\x7fP\xf4ܙK\\x\x95t2\x01Nƞώ\x17\xf9Hk\x9a\xb6\xd2u!\x11\x83A\xf5|f,J:\xf0\"~\x90\x94V\x0e\x16U9\x11\xeb\xc4w:Y\xbc\xb3ω\xf0\xea(\xfc\xd1?f\xf8\xe2\x83\xeb\xb8h\xb3\xd0\xde\x142:^\xe0\xd9c\xf0\xd2\x19G\x91\xb2\x184&&\b+J97\xe3ܝVP\xfa\xa2\x90Ѹ\xf6.\x1e\x91$\xf3\xf4g\xc6\"\x8e\xc7\xca[2!\xdb\x03aP\x95\xef\xe5c\xee\xccǜ\x88+\xef\xb4\xe5\xebޙ\x8f\xc9Q\xe0dz![\x83\xc4\xf28ꕿ\xcf\x15\xb8\xaf\xe0\x93\xa7\xf9\x12˿\x9c\xfd\xd3\t\x14\x15\x9e=\xe5x\xe6$$\x03\x9f\x00\x91\xe4X#\x8b\x01\x98 \xac(\x83}\x8a\xf7s\x8bA9\x11\xd3`\xbf\x12\xd76-\xc3\x04\"BA\x95\xaf\xe7\"\xee\xce\xc7t:!W2\xbf\x81E=\xc1\xcb\xd7\xf5\xaaܕ\x8b\xf8~!f}\xa97\x9d\xf2\xcapi\bR\xedD4\x8b+wbŔ\xfeU\xeb\xe2,+&\b+\x84\b<\xf2\x84\xe3䉘\x8d=\xcc(\feˡX\x84\a\x9ep\x14c!\xa8\x93(\xd8r\xc7,\x94L\xf0\t\xbf\xc4\x12;l\xf9\xf3\xc3~\x8a\xc0\xb0\xfcOvca8\xcbյ28\x81\x17\x8e\n\x7f\xfb5\xc1{EΚ\xcfN\xc4@\t\x9cr\xff\xc3\xc2=?\x10\x9c\xab\xaf\xe7OY\x00\x9cH\xd2a\x97\xe9\xe9]\xbenPz\x99\x18\xd4\x0e\xa7\xcc\x1a\xd4e,#\"\xa0\b\x9f\xbd+\xe0s\xff\xe0ȍ+a\xa88\xa7I\xcc@\xa8x/|\xf7a\xc7G?\x1100\xd2\xd8\xce)\xa3!\x89B\x12A\xb0\xa1\xc3\n \x02#\xe3\u009f\xfe\xb5\xe3\x81DŽ\xb7\xdf\xe8\xb9h'd\xd2p\xe0 \xdc\xf3\x88\xe3[?\x10\xfa\a\x13\xeb\xc00V\x98b\b\x8c\x03\xd9Z\x97d\xad\xe0\x04\n\x91p\xcfC\xc2}\x8f\n]m\x10\x86\xd0?\b\xb9\"In\x04\x13\x03\xa3\x06\b\x8c\x87\xc0\x10\xd0U\xeb¬%D \b\xc0\xabpz\x88$ע$\xd1nu\xe8T7\xd6\x00%w\u0590\x03\x06j]\x98\xb5\xca\xc4\xdcuI\bL\f\x8c\x1a3\xe0\x80\xa3\xb5.\x85a\x18\xb5G\x94#\x0ex\xa5\xda{\xce\x1b\x86QߔB\xde_q\xc0\x8b\xa5\xfc\x19\rE\xb2vd\x816\xf6\f\x99\x89\fØ\xc49b\a/:\xe09`\xb4\xd6\x05\xaa\x14-\xc4\xf8\xf1\xe2\x82\"w4\x1f\x13\x0f\x17\xea+\xca\xc70\xea\x04\x052\xa1\x8e\xa6\xe0Y\a\x1c\x00N\u05faP\x95 \"\x8c\fG\x9c|e\xac\x94\xc1f\xe6ǿ\xaa\"\x0eΜ\xc8s\xf4D\xd1\x02}\fc\x06T\xa1\xbdYO\xb5\xe3^v\xa8\x1e#\x11\x85\x86b(/\xdc\xfd\xed!\xa2\xb1xb\xe5\xdc\xf4\x1f\x99$\xc0\x10\xaf\xdc{\xf7\x00\x87O\xfb\xba\\(c\x18\xb5F\x15\xb6\xae\x8f^\xda[L\xbf\xea\x820\x1c\x01\x1eo\xa45\r\"\x80\x83/\xdf7Ʒ\xbfr\x12\xf1\x1ew\xd6\xe3_\x9c\x10\x88\xf2\xf4w\xce\xf07w\x0eNK\xc0a\x18\xc6$\xaaBۆ\xc2\xe3\x7fv\xf4\x81\xd10N\xd6\xd8>\xa8\x10I\x03\x850;\x11\x06\xf2\xca\x7f\xf9D\x1f\x87\x8e\xc7\xdc\xf1c\xebX\xbf9\x83s\xc9\x16i#}E\xee\xfbv?\x1f\xff\xdc\x19^\xe9S\xc4\xc6\v\x861#\"Z\f\x9a\xe3\x87\xc6\xee\xeb\x9c\x10\x80\x1f\x02ǀ\xdeZ\x17\xae\x12\x9c\b'G\x95?\xfd\xdb\x01\xbe\xfa\xbd\x11\xae\xba0MGK@.\xefyj\x7f\x9e'\x0fF\x8cE\xe0\x9c\xad\x9e3\xd6\x16\xaaPȕ\x93\xdc)s\xf5\x00U\x8e\x88\xb0\x0f\x850Yٮ\x87%\x11\x85\x86\x12\x04HD\xc1+<{8♃\x93\v7\xc5%\xc7\x02[\x17`\xacA\x8a\x1e\x9ex9\xcb[\v\x0e\tg\x8f*(9\n\x1e\xf1\xaaG\x04\xc1\xa9z\x9cH\x1e\xf8\xa6j\x039\x12\xa6 \x02\x81\x13\xc2p\xf2\x1581\x9f\x81\xb1&\x11I\x1e\x88\xf7<\x93ᕗ\xb3IF\xe8\x19\x03q\x14A=\xc27\x9cH\x01\x01\xf7\xf2\xe1\xc7\xcb\x1e\xfa\xef\x90\f\x1b\f\xc3hp\x048<\xe0\xf8\xe4\x17\xbb\x18:\x91%t0\x19\xa1\x97\xbc\x9c\x80/\xb8Å\xd1\xe0\xbe\xc2X@\xeb\x1b\x06&\x9d\x88\xaa\xfa\xa2\x88\xdc\v\xfc\x8bZ\xff\x18\xc30\x96F\xd9:\xfe\xdaSir\xff\xb3\x9b\x0f\xbcc\x98K.\x1a'Ӕ$\xeȁ\a<\xf5\\\x13\x8f>\x91\xf9\xb6\x1e\b\x0ftl\xf3\xc0\x99D\x10\x8a\x14HK\xa6\xa8\xe8\x97T\xf5\xbd\"\x92\xa9\xf5\x0f2\fci\x88\x80W\xf8\xa7g2<\xf4r\x9a+{\v\xec\xec\x89\x00\xe1\xc0\x89\x90}\aS\xe3\xa7F\xe4\x8ba@\xb4\xff\xde}@i\x9a\xf1Сg\xd8ٻ\x17\x92aã\xc0\xf5\xb5\xfe1\x86a,\x9dr\x86\xe8\xfe\x9cp\xf7s\x19\xee~n\xf2Y\xef\x9c>\x18\x86\xfa\xfd\xa9ޅ)>xA\x843\xc0\xe7T+\xd8\x1a\xd70\x8c\xba\xc7\t\x84\xc1\xe4+p\x1a\v|VD\x06d\xea\x96t\xe5\xbf\xec?\xb4\xaf\x1c\xac\xf8\x0f\xc0\xe3\xb5\xfe\x01\x86aT\x95\x1f\x02_SU\xf6\x1f~l\xe2\xcdsf\xe9E\xe4(\xf0)\xb3\x12\fcu\xa2\xaa\x11\xf0\t\x119~\xf6l\xe44A\xd8\x7f\xe8\xb1\xf2\x14\xe4\x17H\u0099\r\xc3X}|\x1f\xf8\xf2\xd9\xd6\x01\xcc`!(\x82\x88\x9c\x00\xfe\x1c\xd5\xf1Z\x97\xbc&X@\x93\xb1JQ\xd5\x11\xe0\xcfD8\x8d\x9e\xdb\xd0\xcf\x11\x84\x03\x87\xf6\x95\xad\x84\xaf\x02w6h\xf0\xe2\xe2q\xa0-u\xb2\x7f\x9aa,#\xa5\xbe\xfcE\xe0\x9fTa\xff\xe1}\xe7\x9c3c\xa4\xbf\xe4\x87 ɢ\xf4\xff\x01\ak\xfdCV\x14\x0f\xe4\xcd}b\xac$+f\x92\xbe\b\xfc\x11\x90\xdb\x7f\xe8\xb1\x19O\x98Q\x10^:q\x00Eiom\xdb\a\xfc\x89\xaa\x16jPK\xb5AA\x8a\v\xb4\x8alha,\x95r$\xf1Bڒ\x02\xf1\xe2\x1a\x9d\xaa\xe6\x80?\x12'Oϕ_tֵ\x80\a\x0e=\xce\xd0\xc80\xa0\x7f\r|\xb1\x91\x12\xa8,\re\xc1\xc3$\x05-zK\xe0j,\n\x01\xc6\nB__:Ys\xc3\x1f~\xf2\f\xa7G9'\xc1\xaba,\x94r\xcb9\xda\x1f\xf0ç\xb3\x14\x86C\xb28\xf2\xe3)\x06\xfaR<\xf1T\x13\x9f\xfcR'\x9f\xff^3c\x91\xe0da\x1eHMb\x88\xfeo\x1f\xfbO\xfe\xf97?\xae\a\x0e/l5BE-\xb9\xb4\"\xb2\t\xf8]\xe0\xd7W\xab(\xa8&\x7f\\\xbc%\xe0g\xde\xd9\xce\xd57tн1D\x8bʩ\xa3y\xbe\xf3\xdd\x01>}\xd7(G\a\xd5\xc4\xc0X\x16\x14\xf0>yBw5)\x994\xa8\x87\x81qJB@\xc9ǰ 1(\x00\x1f\x05\xfe\x10\xc8\xcf\xe77\x98Jŭyg\xef^P\xda\x11~\x1f\xf8\xc5U+\n\x80\xf7JZ`K\x97\xb0\xb9[\x88#8r\xdasrD\x89El\xa8`,;\xaa\xd3'\xad\xa4\xf4\xc7B[ZI\f>\x06\xfc\x1e\xcc\xefD<\x9bE\xb5蒥\xd0\x0e\xfc\x0e\xf0\xab\"\x92^\xc9J[I\xb44\xdb\xe0K\xe2\xecD\xca\x1bc\x1aF]Q\x1a&\xfc1\xf0\x87\x02c/U(\x06\xb0@\x1f\xc2\xd9\xf4\x0f\x1e\xa7\xbb\xa3'O\xb2H\"\x02\xae^\xad\xa2 \x92l\x1d\xe7\\b\x11$\xff\xaeu\xa9\fc:\xaa:\b\xfc?\xc0\x9f\x02\xe3\x95Z\x06e\x16\x1d\xb4\xdf?x\x9c\xae\xf6\x9e\"\xf0\x80\b\xa7\x80\xab\x81V\xdb.\xcd0V\x12E\x95#\xc0\xbfS\xaf\x9f\x14\xa40W\xe0\xd1|,i\x15O\xff\xd0q\xba;{b\xd0} \x8f\x03\x97\v\xf4\xd8#\xd40\xaaOi:\xfc\x01\xe0\x97\xa2H\xbf\xe6\x9c\xf8\x03K\x10\x03X\xa2 @b)\xack\xefQ\xc4\xed\a\xbe\rt\x01\x17\xadVg\xa3a\xd4\x03\xaa:\x06\xfc\x15\xf0\x11\x11\x9e\x10\x81\x85N-\xceŲ>\xcaK\xce\xc6\x16\xe0\x83\xc0\xbf\a\xd9nƂa,#\xaa(\xbc\x00\xfc\x01\xe8߁,\xda_0\x13˺\xf0\xbf\x7f\xf08\xdd\xed=E\xf5<\"\x8e\xef\x00\xdd\xc0N\xb3\x16\fc\xe9\xa8\xea(\xf09\xe0W\xf7\x1fz\xec[]훊\xcba\x15Le\xd93\x81\xf4\x0f\x1d\xa7\xadu\x1dA\x10\x1e\a\xee\x02\x9e\a\xb6\x01=\"\x16\xf5o\x18\x95\xa2\xaaE\x92\x19\xbd\xdf\x02\xfe+\xf0j\xff\xe0q\xfa\x87\x96\x7fiQU\r\xfa\x1d\xbdW\xe2\x9cG\xbd\xf4\x00\xef\x05>\x04\\!\"\x96\x92\xc80\xe6@\x01\x12!x\x04\xf8_\xc0?8\t\xcf\x14u\x84W\x0e=W\xb5\xef]\x91\x11\xfe\xcem{\x91M\x82\x9e\xd4\xcd\xc0\x8f\x00\x1f\x00\xae\x12\x91\xecJ|\xbfa4\n\xc9ā\x8e\x91\xcc\x1e|\x1a\xf8\xc70\fO\x17\v\x05\x0e\x1cy\xa2\xea߿\xa2.\xbf\x9d\xdb\xf6\xe2\x02\xc1{\xed\x06\xde\x00\xbc\a\xb8\x19\xd8b\xc3\tc͢\xa0h\f\x1c\x06\xee\x06\xbe\x04|_\\jH\v\xc3\xec?V=\x8b\xe0lj2\a\x10n\xbf\x92퉷4%\xb0\x13x\x13\xf0\x0e\xe0J`\x13\x82\x13\xcbOf\xacf\x12\x11\x88\x80WI\x86\x05_\a\xeeE9\bDK\t.Z\n5\xefu\xbd\xdb\xf7\x90\x8d\x03b盀\xf3\x81kJ\xafKK\xff^\a4\x9bH\x18\x8d\x8a&\xbd?\x06ƀS\xc0\xcb\xc0S$\x99\x8c\x1eQ\xf4\x90\x88\xe4}\xecyy\x05\x86\x05sQw=l\xe7\xb6=(\xeaD\\+\xb0\x99Ăx\r\xb0\v\xd8\x0el\x05:I\x16WeI\xac\x8c\xc0\xa2#\x8d\x9a\x92X\xbc1P\x00Ɓ!`\x008B\x92\xb9\xfc\x05\xe09\xe0\x00\xcaq\xd5x\x14\x11=p\xb8\xb6\x02p6\xff?\x16ʬ\x00ʼn\x89Z\x00\x00\x00%tEXtdate:create\x002023-03-05T00:13:19+00:00\x9f`\xb1\x83\x00\x00\x00%tEXtdate:modify\x002023-03-04T23:51:03+00:00\xc0\a̢\x00\x00\x00\x00IEND\xaeB`\x82"), } +var ResAlbumplaceholderPng = &fyne.StaticResource{ + StaticName: "albumplaceholder.png", + StaticContent: []byte( + "\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x01,\x00\x00\x01,\b\x00\x00\x00\x00\\\x16ѩ\x00\x00\r\x04iCCPkCGColorSpaceGenericGrayGamma2_2\x00\x00X\x85\xa5W\a\\\x93\xd7\x16\xbf\xdf\xc8\x00\x92\xb0\xa7\x8c\xb0\x91e@\x81\x002\"3\x80\xec!\xb8\x88I \x81\x10b\x06\x02\xe2B\x8a\x15\xac[\x1c8**\x8aZ\\\x15\x81:Q\x8bV\xeaƭ\x0fj\xa9\xa0\xd4b-.\xac\xbe\x9b\x04\x10\xab\xed{\xef\xf7\xbe\xfc\xeew\xff\xdf=\xe7\xdcs\xce=\xe7\x9e{\x03\x80\xeeF\x8eD\"B\x01\x00yb\xb94\"\x91\x95>)=\x83N\xba\a\xc8\xc0\x18h\x03w\xa0\xcd\xe1\xca$\xac\xf8\xf8\x18\xc8\x02\xc4\xf9b>\xf8\xe4yq\x03 \xca\xfe\x9a\x9br\xaeO\xe9\xff\xf8\x10x|\x19\x17\xf6'a+\xe2ɸy\x00 \xe3\x01 \x9bq%R9\x00\x1a\x93\xe0\xb8\xed,\xb9D\x89K 6\xc8MN\f\x81x9\xe4\xa1\f\xca*\x1f\xab\b\xbe\x98/\x15r\xe9\x11RN\x11=\x82\x93\x97ǡ{\xba{\xd2\xe3\xa5\xf9YB\xd1g\xac\xfe\x7f\x9f<\x91bX7l\x14YnR4\xecݡ\xfde[\x193;\x88\x1fK\xf3\x13\x95<\xce\x00\xe04\x1e?4\fbh\a\xce\x14\xca\xd9Ƀ\xb8\\V\x90\x14\xa6\xb6\x13\xbf^,\b\x89U\xeb\"Pr8Q\xf1\x10;@\xec\xc0\x17E$\xaa\xe7!\xc4H\xe4\xf1\xca9\xe17\xa1@,\x8a\x8dQ\xfbE8Ǘ\xa9\xfc\x85\xdfD\xb2\\\x90\x1c\t\xb1'\xc4\xc9rir\xa2\xda\x1eby\x960\x9c\rq8Ļ\x05\xd2\xc8D\xb5\xbf\xc4>\x89H\x95gpMH\xee\x1ciX\x84zMH\x85REb\x8a\xdaG\xd2v\xbe8E9?\xcc\x11\xd2\x03\x90\x8ap\x00\x1f\xe4\x83\x19\xf0\xcd\x05b\xd0\t\xe8@\x06\x84\xa0@\x85\xb2\x01\a\xe4\xc1F\x87\x16\xb8\xc2\x16\x01\xb9İI!\x87\f\xe4\xaa8\xa4\xa0k\x98>$\xa1\x94q\x03\x12H\xcb\aY\x90W\x04%\x87\xc6\xe9\x80\agPK*gɇM\xf9\xa5\x9c\xb9[5\xc6\x1d\xd4\xe8\x0e[\x88\xe5\x0e\xa0\x80_\x02\xd0\v\xe9\x02\x88&\x82\x0e\xd5H!\xb40\x0f\xf6!pT\x01i\xd9\x10\x8fԢ\x96\x8fWY\xab\xb6\x81>h\x7fϠ\x96|\x95-\x9ca\xb9\x0f\xb6\x85@\xba\x18\x14\xc3\x11ِo\xb81\xce\xc0\xc7\xc2\xe6\x8f\xc7\xe0\x018C%%\x85\x1cE\xc0M5>^56\xa4\xf5\x83\xe7J\xdfz\x86\xb5΄\xb6\x8e\xf4~\xe4\x8a\r\xad\xe2)(%\x87\xdf\"\xe8\xa1xp}dК\xb7P&wP\xfa/~.7S8I$UK\x13\xd8\xd3j\xd5#\xa5\xd2\xe9B\xee\xa5e}\xad%GM\x00\xfdƒ\x93\xe7\x01}\xafNӹa\x1b\xe9\xedx\xe3\x94k\x94֒\x7f\x88꧶}\x1cո\x91y\xa3\xca$\xde'y\x03u\x11\xae\x12.\x13\x1e\x10\xae\x03:\xec\x7f&\xb4\x13\xba!\xbaK\xb8\a\x7f\xb7\x87\xed\xf9\x10\x03\xf5\xda\f\xe5\x84\xda..\x82\r\xdb\xc0\x82\x9aE*j\x1elB\x15\x8fl8\x1e\n\x88\xe5𝥒v\xfbK,\">\xf1h$=\x7fX{6l\xf9\x7f\xb5a0c\xf8*\xfd\x9cϮ\xcf\xff\xb2CF\xacd\x96x\xb9\x99D2\xad\xb6d\x80/Q\xaf\x872v\xfcE\xb1/bA\xa9+c?\xa3\x97\xb1\x9d\xb1\x97\xf1\x9c\xf1\xe0C\xfc\x187\x19\xbf2\xda\x19[!\xe5\t\xb6\n;\x8c\x1dÚ\xb0f\xac\r\xd0\xe1W3v\nkR\xa1\xbd\xd8Q\xf8;\xf07;\"\xfb3;B\x99a\xdc\xc1\x1d\xa0\xa4\xca\asp\xe4^\x19\xe93kD4\x94\xfcCk\x98\xf37\xf9=2\x87\x94k\xf9\xdfY4r\x9e\x8f+\b\xff\xc3.\xa5\xd9\xd2\xc0\x1f\x9e\xb3a\xf0\x8c\x8c\x03\xc90\xb2Ӡu\x02h\x8d\x14\xaem\tX\x00\xcaA%X\x0eր\r`\v\xd8\x0e\xea@=8\b\x8e\x80\xa3\xb0*\x7f\x0f.\x80ˠ\x1d܅'P\x17x\x02\xfa\xc0\v0\x80 \b\t\xa1\"\xfa\x88)b\x85\xd8#.\x88'\xc2D\x02\x910$\x06IDґL$\x1b\x11#\n\xa4\x04Y\x88T\"+\x91\r\xc8V\xa4\x0e9\x804!\xa7\x90\xf3\xc8\x15\xe46҉\xf4 \xbf#oP\f\xa5\xa0\x06\xa8\x05ꀎA\x99(\v\x8dF\x93ѩh6:\x13-F\xcbХ\xe8:\xb4\x06\u074b6\xa0\xa7\xd0\vh;ځ>A\xfb1\x80iaF\x985\xe6\x861\xb1\x10,\x0e\xcb\xc0\xb20)6\x17\xab\xc0\xaa\xb0\x1a\xac\x1eV\x81V\xec\x1aց\xf5b\xafq\"\xae\x8f\xd3q7\x18\x9bH<\x05\xe7\xe23\xf1\xb9\xf8\x12|\x03\xbe\vo\xc0\xcf\xe0\xd7\xf0N\xbc\x0f\x7fG\xa0\x12\xcc\t.\x04?\x02\x9b0\x89\x90M\x98E('T\x11j\t\x87\tga\xd5\xee\"\xbc \x12\x89F0/|`\xbe\xa4\x13s\x88\xb3\x89K\x88\x9b\x88\xfb\x88'\x89W\x88\x0f\x89\xfd$\x12ɔ\xe4B\n ő8$9\xa9\x9c\xb4\x9e\xb4\x97t\x82t\x95\xd4EzE\xd6\"[\x91=\xc9\xe1\xe4\f\xb2\x98\\J\xae\"\xef&\x1f'_%?\"\x0fh\xe8h\xd8k\xf8i\xc4i\xf04\x8a4\x96il\xd7hָ\xa4ѥ1\xa0\xa9\xab\xe9\xa8\x19\xa0\x99\xac\x99\xa3\xb9@s\x9df\xbd\xe6Y\xcd{\x9aϵ\xb4\xb4l\xb4|\xb5\x12\xb4\x84Z\xf3\xb5\xd6i\xed\xd7:\xa7թ\xf5\x9a\xa2Gq\xa6\x84P\xa6P\x14\x94\xa5\x94\x9d\x94\x93\x94۔\xe7T*Ձ\x1aL͠ʩK\xa9u\xd4\xd3\xd4\a\xd4W4}\x9a;\x8dM\xe3\xd1\xe6Ѫi\r\xb4\xab\xb4\xa7\xda\x1a\xda\xf6\xda,\xedi\xda\xc5\xdaUڇ\xb4/i\xf7\xeah\xe88\xe8\x84\xe8pt\xe6\xeaT\xeb4\xe9\xdc\xd4\xe9\xd7\xd5\xd7\xf5Ѝ\xd3\xcd\xd3]\xa2\xbb[\xf7\xbcn\xb7\x1eI\xcfA/L\x8f\xa7W\xa6\xb7M\xef\xb4\xdeC}L\xdfV?D\x9f\xab\xbfP\x7f\xbb\xfeY\xfd.\x03\xa2\x81\xa3\x01\xdb Ǡ\xd2\xe0\x1b\x83\x8b\x06}\x86z\x86\xe3\fS\r\v\r\xab\r\x8f\x19v\x18aF\x0eFl#\x91\xd12\xa3\x83F7\x8c\xde\x18[\x18\xb3\x8c\xf9Ƌ\x8d덯\x1a\xbf4\x19e\x12l\xc27\xa90\xd9g\xd2n\xf2Ɣn\x1af\x9ak\xba\xc2\xf4\x88\xe9}3\xdc\xcc\xd9,\xc1l\x96\xd9f\xb3\xb3f\xbd\xa3\fF\xf9\x8f⎪\x18up\xd4\x1ds\xd4\xdc\xd9<\xd1|\xb6\xf96\xf36\xf3~\vK\x8b\b\v\x89\xc5z\x8b\xd3\x16\xbd\x96F\x96\xc1\x969\x96\xab-\x8f[\xf6X\xe9[\x05Z\t\xadV[\x9d\xb0zL7\xa4\xb3\xe8\"\xfa:\xfa\x19z\x9f\xb5\xb9u\xa4\xb5\xc2z\xab\xf5E\xeb\x01\x1bG\x9b\x14\x9bR\x9b}6\xf7m5m\x99\xb6Y\xb6\xabm[l\xfb\xec\xac\xec&ڕ\xd8\xed\xb1\xbbc\xafaϴ\x17د\xb5o\xb5\x7f\xe9\xe0\xe8\x90\xe6\xb0\xc8\xe1\x88C\xb7\xa3\x89#۱\xd8q\x8f\xe3='\xaaS\x90\xd3L\xa7\x1a\xa7룉\xa3\x99\xa3sGo\x1a}\xd9\x19u\xf6r\x168W;_rA]\xbc]\x84.\x9b\\\xae\xb8\x12\\}]Ů5\xae7\xdd(n,\xb7\x02\xb7=n\x9d\xeeF\xee1\xee\xa5\xeeGܟ\x8e\xb1\x1b\x931fŘ\xd61\xef\x18^\f\x11<\xdf\xeez\xe8yDy\x94z4{\xfc\xee\xe9\xec\xc9\xf5\xac\xf6\xbc>\x96:6|켱\x8dc\x9f\x8ds\x19\xc7\x1f\xb7y\xdc-/}\xaf\x89^\x8b\xbcZ\xbc\xfe\xf4\xf6\xf1\x96z\xd7{\xf7\xf8\xd8\xf9d\xfal\xf4\xb9\xc94`\xc63\x970\xcf\xf9\x12|'\xf8\xce\xf3=\xea\xfb\xda\xcf\xdbO\xeew\xd0\xef7\x7f7\xff\\\xff\xdd\xfe\xdd\xe3\x1d\xc7\xf3\xc7o\x1f\xff0\xc0&\x80\x13\xb05\xa0#\x90\x1e\x98\x19\xf8u`G\x90u\x10'\xa8&\xe8\xa7`\xdb`^pm\xf0#\xd6hV\x0ek/\xeb\xe9\x04\xc6\x04\xe9\x84\xc3\x13^\x86\xf8\x85\xcc\t9\x19\x8a\x85F\x84V\x84^\f\xd3\vK\t\xdb\x10\xf6 \xdc&<;|Ox_\x84W\xc4숓\x91\x84\xc8\xe8\xc8\x15\x917\xd9\x16l.\xbb\x8e\xdd\x17\xe5\x135'\xeaL4%:)zC\xf4O1\xce1Ҙ\xe6\x89\xe8Ĩ\x89\xab&ދ\xb5\x8f\x15\xc7\x1e\x89\x03q\xec\xb8Uq\xf7\xe3\x1d\xe3g\xc6\x7f\x97@L\x88O\xa8N\xf8%\xd1#\xb1$\xb15I?iz\xd2\xee\xa4\x17\xc9\x13\x92\x97%\xdfMqJQ\xa4\xb4\xa4j\xa7NI\xadK}\x99\x16\x9a\xb62\xadcҘIs&]H7K\x17\xa67f\x902R3j3\xfa'\x87M^3\xb9k\x8aה\xf2)7\xa6:N-\x9cz~\x9a\xd94Ѵcӵ\xa7s\xa6\x1f\xca$d\xa6e\xee\xce|ˉ\xe3\xd4p\xfag\xb0gl\x9c\xd1\xc7\r\xe1\xae\xe5>\xe1\x05\xf3V\xf3z\xf8\x01\xfc\x95\xfcGY\x01Y+\xb3\xba\xb3\x03\xb2We\xf7\b\x82\x04U\x82^a\x88p\x83\xf0YNdΖ\x9c\x97\xb9q\xb9;sߋ\xd2D\xfb\xf2\xc8y\x99yMb=q\xae\xf8L\xbee~a\xfe\x15\x89\x8b\xa4\\\xd21\xd3o暙}\xd2hi\xad\f\x91M\x955\xca\r\xe0\x9f\xd26\x85\x93\xe2\vEgA`Au\xc1\xabY\xa9\xb3\x0e\x15\xea\x16\x8a\vۊ\x9c\x8b\x16\x17=*\x0e/\xde1\x1b\x9f͝\xddRb]\xb2\xa0\xa4s\x0ek\xceֹ\xc8\xdc\x19s[\xe6\xd9\xce+\x9b\xd75?b\xfe\xae\x05\x9a\vr\x17\xfcX\xca(]Y\xfa\xc7´\x85\xcde\x16e\xf3\xcb\x1e~\x11\xf1ŞrZ\xb9\xb4\xfc\xe6\"\xffE[\xbeĿ\x14~yq\xf1\xd8\xc5\xeb\x17\xbf\xab\xe0U\xfcPɨ\xac\xaa|\xbb\x84\xbb䇯<\xbeZ\xf7\xd5\xfb\xa5YK/.\xf3^\xb6y9q\xb9x\xf9\x8d\x15A+v\xad\xd4]Y\xbc\xf2᪉\xab\x1aV\xd3WW\xac\xfec\xcd\xf45\xe7\xab\xc6UmY\xab\xb9V\xb1\xb6c]̺\xc6\xf5v뗯\x7f\xbbA\xb0\xa1\xbdzB\xf5\xbe\x8d\xe6\x1b\x17o|\xb9\x89\xb7\xe9\xea\xe6\xe0\xcd\xf5[,\xb6Tny\xf3\xb5\xf0\xeb[[#\xb66\xd48\xd4Tm#n+\xd8\xf6\xcb\xf6\xd4\xed\xad;\x98;\xeaj\xcdj+k\xff\xdc)\xdeٱ+qי:\x9f\xba\xba\xdd滗\xedA\xf7(\xf6\xf4읲\xf7\xf27\xa1\xdf4ֻ\xd5o\xddg\xb4\xafr?د\xd8\xff\xf8@\xe6\x81\x1b\a\xa3\x0f\xb6\x1cb\x1e\xaa\xff\xd6\xfeۍ\x87\xf5\x0fW4 \rE\r}G\x04G:\x1a\xd3\x1b\xaf4E5\xb54\xfb7\x1f\xfe\xce\xfd\xbb\x9dG\xad\x8fV\x1f3<\xb6\xec\xb8\xe6\xf1\xb2\xe3\xefO\x14\x9f\xe8?)9\xd9{*\xfb\xd4Ö\xe9-wOO:}\xfdL\u0099\x8bg\xa3Ϟ\xfb>\xfc\xfbӭ\xac\xd6\x13\xe7\x02\xce\x1d=\xefw\xbe\xe9\a\xe6\x0fG.x_hh\xf3j;\xfc\xa3\u05cf\x87/z_l\xb8\xe4s\xa9\xf1\xb2\xef\xe5\xe6+\xe3\xaf\x1c\xbf\x1at\xf5Ե\xd0k\xdf_g_\xbf\xd0\x1e\xdb~\xe5Fʍ[7\xa7\xdc\xec\xb8Ż\xd5}[t\xfbٝ\x82;\x03w\xe7Ë}\xc5}\x9d\xfbU\x0f\xcc\x1f\xd4\xfck\xf4\xbf\xf6uxw\x1c\xeb\f\xedl\xfb)駻\x0f\xb9\x0f\x9f\xfc,\xfb\xf9mW\xd9/\xd4_\xaa\x1eY=\xaa\xeb\xf6\xec>\xda\x13\xdes\xf9\xf1\xe4\xc7]O$O\x06z\xcb\x7f\xd5\xfdu\xe3S\xa7\xa7\xdf\xfe\x16\xfc[[ߤ\xbe\xaeg\xd2g\xef\x7f_\xf2\xdc\xf4\xf9\xce?\xc6\xfd\xd1\xd2\x1f\xdf\xff\xe0Eދ\x81\x97\x15\xafL_\xedz\xcd|\xdd\xfa&\xedͣ\x81YoIo\xd7\xfd9\xfa\xcf\xe6w\xd1\xef\xee\xbd\xcf{\xff\xfe\xdf\t\x0f\xf8bN\xe4b\x85\x00\x00\x00DeXIfMM\x00*\x00\x00\x00\b\x00\x02\x01\x12\x00\x03\x00\x00\x00\x01\x00\x01\x00\x00\x87i\x00\x04\x00\x00\x00\x01\x00\x00\x00&\x00\x00\x00\x00\x00\x02\xa0\x02\x00\x04\x00\x00\x00\x01\x00\x00\x01,\xa0\x03\x00\x04\x00\x00\x00\x01\x00\x00\x01,\x00\x00\x00\x00\x12\x10\x17I\x00\x00\x01YiTXtXML:com.adobe.xmp\x00\x00\x00\x00\x00\n \n \n 1\n \n \n\n\x19^\xe1\a\x00\x00\x0fgIDATx\xda\xed\x9dk{\xa2:\x10\x80\xcf\xff\xffq\x83(V\xbcT-ZoT[Q\xacR`\xce\a\xedv%\x13\xc0\x96$\u061d\xf9\xb8ϳ\x15^2\x93\xb9e\xf2\x1f\xb2\x94\x96\xff\x18\x01\xc3bX\f\x8ba1,\x86\xc5\b\x18\x16\xc3bX\f\x8ba1,F\xc0\xb0\x18\x16\xc3bX\f\x8ba1\x02\x86Ű\x18\x16\xc3bX\f\x8b\x110,\x86Ű\x18\x16\xc3bX\x8c\x80a1,\x86Ű\x18\x16\xc3b\x04\f\x8ba1,\x86Ű\x18\x16#`X\f\x8ba1,\x86Ű\x18\xc1]\xc2J\xc2p\xe3\xfb\xfe\xc4\xf3\xbcn\xd7\xf3\xbc\x89\xef\xfb\x9b0L\x18֕\x1c\xb7+\xaf\xd7\x02\x89\xb4z\xdej{dX\x88\xc7հ\x03\xa5\xa43\\\x1e\xffaX\xa7\x97Q\vn\x92\xd6\xc8?\xfd\x83\xb0\xa2\xcd\u0601o\x893\xdeD\xff\x12\xac\x0f\xbf\x0f?\x92\xbe\xff\xf1o\xc0J\xd6\x03\xa8@\x06\xeb\xe4\xd7\xc3:Ll\xa8H\xec\xc9\xe1W\xc3ڸP\xa9\xb8\x9b\xdf\n+Y9P\xb98\xab\xe4\x17\u008ag6(\x11{\x16\xff2X\xc9B\x11*\x00\x00{\x91\xfc\"X\xe9J!*\x00\x00{\x95\xfe\x16X\xbb\aP.\x0f\xbb_\x01\xebc\fZd\x1c\xdd=,\xe5\x1a\xa8S\x17\x15\xc3\n;\xdf{\xf1\x85\xe7y#\xd7uo\v\xb4;\xe1\x1d\xc3J\xbcﮒ\xaf\xbf\xf1\xbe\xf3'\xfd\xd2̼\xe4^a\x1d\xda\xf0sX\x17/m;\x1b\x94\xd2\xe7\xf6\xe1>a\xf9\r\xa8\f\x16\"\"\xee\xe7%\x92\x15\x8d\xd5\x1d\xc2J\x86?1\xd6\xd28`\xf3X\xf8\t\x86ɽ\xc1\xfa\x81\n\xe6\xc1B\xc4d\xd37\xa5\x8a\x8a`\xad,P\x05\v\x11\xa3y\xbeŷVw\x04+\x19\xfd\xd4g*t\xdf\xd6\xf9>\xc9(\xb9\x17X\xd1ϳV%~%\xc8\xd5F7\xba\x0fX\xef\x15\xa4\xad\xcay\xbc\xa3\x1cew\xde\xef\x01֮\x8a\xf8\xa6\xecw\xc9I\xe7ۻ\xfa\xc3\xda6@\x1f,\xc47\xf9\xae\xdb\xd8\xd6\x1d֫\x05Zaa\xba\x94\xaed\xeb\xb5ް\xd6հ\x82\x9b\xf6\x93')\xadu\x9da\xad\xabJ\xb7t=\xcf\xf3|\x7f\x13\x96ʺ\x04R\xb7k]_X\x15\xe9\xe0u{C\xd7[\x06E\xc8\xe2\xa1\x16M\xac\x12\xd6V\x01\xab\xcb;\xf7fA\xbe\x9b\xb9\x96\xec+ֶ\x9e\xb0\x82\x06(\x95\xfc\x06\x87SW\xb2'\x06u\x84u\xa82\x7f\x1c\xee|ߟ{#\xd7\xce48\xc8k\x84\xe9\xb3\xc4\xdf:\xd4\x0f\xd6G\xa5\xe5\xe6\xbf\xcc\xd1\xce\x7f\xfa˗\xb2\x86\xfb[\xb7b\xe7\xa3n\xb0\x92j\xbb\x18\xb2\xde\xc1\xdf\xdd\\\xdd\xd7\x1b\x83\a7\xa9\x19\xac!\xa8\x84\x85\x88xZ\xfd\xf9\x1em_\xf2\xfaGڟ\x1f\xd6\v\xd6\x02\x94\xc3B\xc4\xe3\xf3\xa7Ce\xfb\x12\x1f\xa2G\x17\x8b\xea\x04+\xb0\xb4\xc0B\xc4`|\xf9\xa9\x0e\x1d'\xa7d*\xcd\n\xea\x03\xeb\xd4\x04]\xb0\x10\xa3\xe9\xc52\r\x8f\xe5i5Ou\x81\x95vA#,\xc4xv\xf6\xe8\xac\x19\xe5٧\xa4\xf9tӚ\xc0\x9a\x81^X\x88\xf1\xf4\xac\x8c.\xb5\xb8R2\xc95\xab\a\xac\x9d\xa5\x1d\x16\xe2\xa1'\xaf\x12\xa6T\xc2\xd9\xda\xd5\x01V\xac\xa0\xf9\xb1L\x8af}6]\x03\"ٞP{\xa2\x13\xd7\x00\xd6\x13\x98\x81\x85\xb1'M\x1f'T\xed\xe7\xc9<\xac\x00L\xc1B\xdcڲ\x14_De\xb8\x02Ӱ\x92\xb6AXx:\xeb\xdb3aӈ\x14H;1\fk\n&a}\xa6\x1a\x88\xf6\x86W\xe2\xafN\xcd\xc2:Xfa}\xaa\xa2\x1b\x97\xf9\x8c\xd6\xc1(\xac\x1e\x98\x86u\xa9銴R\xe2\xd9z&am\xd5\xe5E]\xd7\x1dN\xfd]\x890\xe5\xf4\x00\x00\xd0\x1541\"\x126[s\xb0\xd26(\x17g\xe4\x17\x1d`\x8d\xbb4-\xa2\xd6\xd4N\x8d\xc1Zj\xeaCnM\xf3;k\x93\x01\x00@O\xa0\xf5(\xfe\xa9\xa5)X\x89\xb6\xaem\x00g\x96\xd7\x16\x93>\x02\x00<\xa6Ŋh'\x86`\xcdձ\xc14\f\xc3\xf5l\xec~\xed\xb6\xd68gy%]2X&\x14qn\x06V\xacpa}\xfd\xca~\xde\xff\x03\xac'\xc7\x15w\x00\x006Ŋh\xc7F`\xcd@\a,DL߆\x9f\xbc\x86Rc\x1f\xb5\x01\xa0\x11\x16+\xe2\xcc\x04,\xa5\x16KX8\xfe\xa5ZaMeF\xe7h\x03@+k\xd9\xfc*\xad\xd6\xf7a\xad@#,D\f.N\xa6\xb3\xcbs\xfa\xfai\xa1w\xb3\xd4\x0f+u4\xc3B\xdc_\x92z\xb2\xc5\xf5L\x15rD\xbf\xd9I\xb5\xc3ڀvX\x88\xdb\xf3:\xe9\xd0~}\xda\x03\x00+k\xb6Ĵ\xe9F;\xac\xae\tX\x98̬\x9c~я\x16\x00t2\v'\x14\x9b\xbft\xc3:\x80\x11X\x88\xa1\x03 =\x16\x10P\x9e\x94\xe8>\x1c4Ú\x98\x82\xf5ٸF{\x00\x1e\x00XǢ\xef\xea酥:\xd2\xc9߇-Iz\x141i\x01\xc0 \U000cf0ea\xbc\x87o\xc2Z\x83AX\x97\xb692\xef\xf9J$b\x82\xaaZM\xbf\t\xab\xaf\x18\x96\xe7M\xfd\xadܴ\x84\xb6tm\r\x88D\x8cP\xeb\xe9\xeb\x84\x15Y\xa0C\x1a\x03\xd90\xb6cK\xe6\x03\x1c-\x00x)ps\xac\x0f\x8d\xb0t%\xb2\x00\xc0y\"݄cS\xd6\x1c\xe3\x01@+-\xb0\xb0\xbeFX=\xd0)ݭL\x13mb\xe1\xc5\r\x00X\x15\x14/z\xfa`i\xd2\xc2/\xe9\x10\n\x17X\x92\xe6\x98g1\xa49\nz\x18i\x83\xe5\x83vy\xd8Ӷ`&YZ\xeb\x82x\xc3\xd7\x06k\x04\x06d\"8GCIs\xcc\x04\x00܂\x14\xc9H\x17\xac\xd46\x01\v:Y\x03\x95\xb4\x01\xc0\x11\x1d\xcc#\x00@\x98o8\xecT\x13\xac\x1d\x98\x11;k\xe8w\x16\xedm\xf5\x01`\\\xe0\x18\xee4\xc1z6\x04K엙\x10\xa1 \"\xbe\x01@#\xce7\xb3Ϛ`\xf5\xc0\x98d\\\x82\xc4!B\xc1Kb\xf2\x1a\xec\xa9\n\xe7\xe1\x1b\xb0҆9XY\xa7}Ck\xd4\\\fi\xb2!O#\xd5\x02ko\x90\x95഻\xe4\xd2:\x89\xae\x94`;\xf6Z`-M\xc2\x02\xfb$n6b\xc4\xed\n\xaeԶ\x82\xba\xc57`\rU\xbb\b\xee\x93\xe7=\xb9\xb2\x91 \x19\xa7\xbdG:M\va\xc1\xc5Y\xe7a\xa8\x05\x96\xca\xd6\x19{\xb2\xfd\xe37%[z\xb4\xf0T\xd8\xf9\xc4\xe0\xe5\x00\x00\x8dDXlW\r5:`%\xea\x02Ö\x9f\xad\xfa\xf9D#\xedu\xfd&m\x93\r\f\x0ed\x1bn\xb3\xc1\xb4\x95h\x80\x15*\xcb^͉\xc7O\xe6\xe2\xde{]\xbfY\x01\xc0\x03\x99\xa8y\xceOj\x85\x1a`\xa9\x8a\xa2\xbb\x92&?\xe2\xf0\xf3Z0F!U\xd6\xec\xe5g\x1e|\r\xb0\x14\xd5u\x9e\xa4~O\xfa\x94_S\x1e\x00\xc0D(!\n\x8a&\xb8\x87\x13\r\xb0\x06JX\xe5v]\v\xb9\xbb\x97\xec\"r\xc8m(\xccM\xd3\f4\xc0R\xb2\x19>\xde\xe6\xadt\xae\xccZ\x83r\xb5\x86\x82\xa2\x8d\x7f\xbc\x1d\xde\x0eK\xc5f\xd8)ؙ\x84\xb38\xfb\xac\xab\xb5\xa2\\gO\x88\x81\xae\xb6C\xf5\xb0\"\x15\xfb`a\x03\xf7\xa9\x91SS^P~\xe9V\xb0\xf0\xc2v\x18)\x87\xa5\xc2s(\xd1\xe79\xcf\xc9\xdd\xed(\xa3u\x02\x80V~\x19?T\x0eK\xc19\x81V\t\xf70i\xc9sw\x89\x05\x00\x1fTn$\xcen\x90W\xf2\xa6\x1c\x96\x82\xc2})\x87\xc7\xcf\xc9݉\xee:\">\bf\xdf\xca\xdbS\x95\xc0\xaa>\xe7\xd0,\x95YJ\x9b\xf2\xdc\xdd#e\xe1\xfb\x02\xc1l\xaf\xe2B9\xac\xea{\x94K:\x87\x13y\xeenF9jO\xc2\xdaqo\xf1\xed*\x81\xe5U\x0e\xab\xe4\x01\xd3\xea\x8f\xccz\xcaaU^3,\x1b\xfdW\x9f\xed\x18\xdd\x1f\xacN\xd9_\xeeT\xfdˏ\xcaa=\x1a\xfb\xbe\x95\x7f\xa6\x81rX\x03C\xf6]A\xbaC=\xac\xca{\xfeJW;+\xaf\xed\xf6\x18V\x9d`\xb1\x1a\xb2\x81g\xd7\xc1\xb8\xeb\xc0N\xa9\xd1p\xa7d\xa7T\xf5]a\xeaÝl }ݏ\xf8\x02\xc4\xe8\xa5)\\\xf7~f:\a'\x86컆@:\x9b\xa2i\tѮp|a\x95\xb5\x0f\xfd\x9f\xa7h\xaa\x10\xf5)\x9aun\xda\xff\x9d\xaa\x9a\x04ٴofun\xbe\xf3\xbb\x15\x88\xfa䟐V\xbe\xca\xe7&@\xb4\x89\t\x05ό\xf9y(\xb1\xb4R\x05\xb7o\xaaO+\v\x05\x8b\xeb\xd4m\v\x00\x84Z\x8d\x931\xe3\xd9v\xe7\x12ye\x15M\x03\xea\v\x16B)\xecZ\x89z@\x8c\x12\x1ae\rDfK\xb5\vKa\x91\x8anr\xf5\xa5\xb0\xd4ʭcy@\xf4ԭ\xb3\x81\xd8\xfe\xa7E\xd6J\x1c\xbcT9,!\xed?\x16\xd4eH\xd5\xf0\xae[˲/?\xbc\xad|_\x898\x1a\xca\xf7\xd9H\xba+\x984\xb1\x89\xa0\x9dUW\xff\xa6pZM㎎Ɛ\xec\x93_o~i\x832\x06\x93쳉#4\xe4W8&\x8a\x9aXu\xb4\x1c\t\x8b\xe2(X\xf8\r\xb5\x85Zq\xbe\xdbԑ5\xb3u\u0530\xd2\xd2̶\xcf\xdf\x0egd\xd0\xd5\xce>\\*\" \xaf\xb0O\x16\xcaNU\xed5\xc0\x12\xa2\xff\xa9\x10\uf2a6s\x0e\xd9\xc6ϐH\"\xb4^\xb2\r\xb8/-U\xa8\xf44\xe0\n\xddlס4\xddZ\x16Y\x82\xffE\x8e\x83mN\xbe.#J\x82I\x13ԉ\x96\xd6na\x1f\xcf|\xa2\x01\x19\xa2\x8e\x84\x9cw*\xb3E\x1d\xd7\xf3<\xcf\xed\x80Z\xd1sh@h\r\xd9\n\x1b\x808\x1a\xe7 f\xaeNf\xcex~\x8a\x9e\xe3(\xfb\xfc\xfaLlQ\xe1!\x0e\x04\x85U~_V\xd5\xf6\xbd\x92#t\x1d\xb1X6\xa7\x13\x9d\x19\x9fbk\x90\x96\xa6#t\xe2\xe1̓\x10\t\xb6i\xcf?;d|k\x19\x83\xa5\xe9p\xa6X\xed\xf4\xc5\xfdP\xec#:Z\x84\xd7l\x8e\x96\xaec\xbfB\xe9 \x93H\x1eӕ\x93g\x00\xb0\xb2\x96\"0e\xe5u\x1d(\x17F\x15d\x8e\xb0\x85\x00`\x89&>q\bE\xc4c\xc7\b+m\xa3\n\xc4\xdaa\xa6\xa1ӥK';\x8bZr\xc9\xc4\x04\xacoݵV\xcdx\x95\x8c_\xb5\x01\x80Ƈ\xc4؉\xd3\xfa\xf6\x0f\xfaa\xe9\x1b\xafr\xb2\xf23\x0f\xa9C[\xd0\xd4\x05z\x8e\xd3F\xb7.j\x1c\xdc#:\x0fSq\xe95\x88\x89\xcfG\x1b$\xf7~\xbevk\xef8T6l\xacym\xb7Ӷ\xa4:\x1eX\x00\xd0$ǭ\xedƭ\x9akaec\xec\x88\xe1\x14\xd6QV+ud\xc3\xe9\x96\x03\xab\xc6ZXـ\xc4l\xe3PW\x96\xe4~\x06\x00h\xcaKv\xe1\x9b?\xf5\xbcZjau\xa37w\x84\xe3J\x96|\xa7\x00ŷ;+\x86\xa5w\xf4\xa68rp@d\xbd\xe8\xe3^S\x00\xe9\xbc_=\xb04\x0fu%ڴ\x0eD(Hw@\xcd\n\xca9\xcaai\x1e\x17L\x9c\xd1|$\xd2\xee\x92s9\xe7y\xbf\xed\xd0\x14\xacP3,t\x8b\x1e!\xed\x00@\x8b\x9e\x9ez\xbe\x1d\x9b\xbeSU=,\x17u\xc3\xda\x14Vx\x0f\x16\x88\xd7$\\\x17\x03\xdb[\x13\xb0\xf4\x0f\xcf'\xaee\xd8R\xae\xab\xe42\x92\xe4R\xdc\xe9\xef\xb5\xc32p-\x03q\xe1Gv\xc6\xff\xd9\x1b\x93-\x9e݅vo\xa7\x19\x96\x81\v?\xa8\x91\xf0\xd9 \"j\x01=\xd2\xf7\xb2\xb8.\xeez\xf7%\xd6\b\xcb\xc8U2\xc4\x01`;\xa22Xmilq\xfc,A6\x86\xdbT\x17,#\x97\x14Q\xd7_=\x92\x99\xaf\x8e\xfcƩ\xfd\x9f\xfcEc\xb0\bu\xc02t\xfd\x15u\xb1ښt^{9+?\x1c}\xc5\xce\rw<߄\xe1\xbbJX\x86.V\xa3\xac\x96\xa0\x88\x92\xcb\xf4\xae,\xdb\xcc\x01mb\xec\xca>jƃ\xa0\x88\xe7\xdb\xc2\a\xf9\xcf\x18Nu岌]\x06I^3\xba\xa6iu\x8bL\xc5\xd1\x1fiX`\x06\xaf\x19\xc57b\x9d\v5\xb0\xf3E\x8d\x9d\x12\xf9\xb6\xd3v\xe5\r\\W\xe1\xb8\xcaW4\a\x8b\x1a\xb3,\x0e\xff?\xd3r\x8e7\xfc\xddz%\xfd*\x82E]\xba=\x16\x9d\x8c.\x00@30\r\xcb\xf0\xa5\xdbd\xff\x9e\x98\u05fb4\x1c\xcfR\xb3\xb0\f_\xe7~\x9e\xf6\x9f\xfd\x80\x81$\xf5\x0e\xfd\xc8$\xacvb\x18\x169O\xa7Iti\xaf\xad[TQ\t\xac\x00M\xc3\x12\x864\x02\xd0gq\xce\t?鵗\xeaa\x8d\xd1<\xac\x98r\x8f\xa8\x00':\x1fdq\xb6f`9q\r`\x9dS\vBڔ\xb2\xe5\xcbs[\xe4\xf0h\x00\x96\xb5\xc3:\xc0\xa2\x87\xb5\x91\xb4.\xcdX\xd64\xd6\x0ek\x86\xf5\x80\x95\xbad\a\x14E+=ߩ\n\xf6<\xd6\v\xcbMk\x02\vO\xe4I\x88Q\x9a\x97\xf0\xb3\x9f#\x8d\xb0\x9a'\xac\v\xacssLIZ\x18\\z\u05ec\xf1N\x17,+\xc0\xfa\xc0\xc2\x05\x1d\x8aѺ\x96\xfa\x9f\x89\xb0\xd6\xec\xa8\x05\xd6\x02\xeb\x04Kr0\xb7-a\x91\xac\xfe\xf8\x1b]?R\x0ek\x88\xf5\x82\x95\xb8tbR\xaai\x9b\xaf\xff\xe0x\x9bH%,7\xa9\x19,\xfc\xa0Sw\x96\xbc\xbbg7\xfc\xcbҵ\xbd\xd5\xf6\xa8\x06V\xeb\x03\xeb\x06\v\x0f\x92\xf6\xff\xb9|ӎ_2\xa7\xd3;C\xcf\xf3}\x7f]\xe5hp\xfb\x80\xf5\x83%=\xe4\xd5\xcb۶?V\x8a\xafi\xabh#\xac\x1a\x96\xf4 N#\xbf\x13#\xd9\xcez\xcaZI\xad7\xac',|\x95\xbd\xf3\xa8(\xbcI\x83\x85\xe7*8\xe4km\xb0\xae\xb0\xe4s\x9b\x9cRal\x12n\xfc\xa5\xe7yc\xd7p\xf3\xa8\x16X\x97\x14\x1fٚxS\x86\xa4\xa2uU-\xab\xaaa\xc95\x11\xece\xaa\x19V\xb5:\xa8\x00\x16\xbeɏ\xf2\xb6\xb7Za5ް\xee\xb0p\x97s\xf0y\xf0\xae\x0fVc\x87\xf5\x87\x85\x87\x9c2\xbc5>h\x82\xe5\x1c\xf0\x1e`a\x94\xbb\x99\xf5\x03\x1d\xb0\xdc\b\xef\x03\x16&\xf9\x03\x98\xddM\xaa\x1a\xd60\xc1{\x81\xf5y,@\xae#\xf3\x93JX\x05g]\xea\x06\vâ\xfe\xa1\xeeJYZ\xd9\t\xf1\xbe`a\\ bundled.go +fyne bundle -append -prefix Res albumplaceholder.png >> bundled.go fyne bundle -append -prefix Res icons/freepik/disc.png >> bundled.go fyne bundle -append -prefix Res icons/freepik/disc-invert.png >> bundled.go fyne bundle -append -prefix Res icons/freepik/headphones.png >> bundled.go @@ -29,4 +30,4 @@ fyne bundle -append -prefix Res icons/publicdomain/shuffle-invert.svg >> bundled fyne bundle -append -prefix Res ../LICENSE >> bundled.go fyne bundle -append -prefix Res licenses/BSDLICENSE >> bundled.go -fyne bundle -append -prefix Res licenses/MITLICENSE >> bundled.go \ No newline at end of file +fyne bundle -append -prefix Res licenses/MITLICENSE >> bundled.go diff --git a/ui/dialogs/aboutdialog.go b/ui/dialogs/aboutdialog.go index bd98c99..b835db5 100644 --- a/ui/dialogs/aboutdialog.go +++ b/ui/dialogs/aboutdialog.go @@ -87,12 +87,14 @@ func (a *AboutDialog) buildCreditsContainer() fyne.CanvasObject { freepikURL, _ := url.Parse("https://www.flaticon.com/authors/freepik") appIconCredit := widget.NewLabel("The Supersonic app icon is a derivative of a work created by Piotr Siedlecki and placed in the public domain.") appIconCredit.Wrapping = fyne.TextWrapWord + albumPlaceholderCredit := widget.NewLabel("The album cover placeholder image was created by @LaurenBacall originally for the MP3Tag project.") + albumPlaceholderCredit.Wrapping = fyne.TextWrapWord return container.New(&layouts.VboxCustomPadding{ExtraPad: -10}, widget.NewLabel("Major frameworks and modules used in this application include:"), container.NewHBox(widget.NewHyperlink("Fyne toolkit", fyneURL), widget.NewLabel("BSD 3-Clause License")), container.NewHBox(widget.NewHyperlink("go-subsonic", goSubsonicURL), widget.NewLabel("GPL v3 License")), container.NewHBox(widget.NewHyperlink("go-toml", goTomlURL), widget.NewLabel("MIT License")), - appIconCredit, + appIconCredit, albumPlaceholderCredit, container.NewHBox(widget.NewLabel("Additional icons by:"), widget.NewHyperlink("Freepik on flaticon.com", freepikURL)), ) } diff --git a/ui/widgets/albumcard.go b/ui/widgets/albumcard.go index 71be621..4f68e2b 100644 --- a/ui/widgets/albumcard.go +++ b/ui/widgets/albumcard.go @@ -89,10 +89,17 @@ func (a *albumCover) center() fyne.Position { } func (a *albumCover) SetImage(im image.Image) { + a.Im.Resource = nil a.Im.Image = im a.Refresh() } +func (a *albumCover) SetImageResource(res *fyne.StaticResource) { + a.Im.Image = nil + a.Im.Resource = res + a.Refresh() +} + func isInside(origin fyne.Position, radius float32, point fyne.Position) bool { x, y := (point.X - origin.X), (point.Y - origin.Y) return x*x+y*y <= radius*radius diff --git a/ui/widgets/albumgrid.go b/ui/widgets/albumgrid.go index a3acb69..64a9ba4 100644 --- a/ui/widgets/albumgrid.go +++ b/ui/widgets/albumgrid.go @@ -5,6 +5,7 @@ import ( "image" "log" "supersonic/backend" + "supersonic/res" "fyne.io/fyne/v2" "fyne.io/fyne/v2/widget" @@ -148,7 +149,6 @@ func (ag *AlbumGrid) doUpdateAlbumCard(albumIdx int, ac *AlbumCard) { } ac.Update(album) ac.PrevAlbumID = album.ID - // TODO: set image to a placeholder before spinning off async fetch // cancel any previous image fetch if ac.ImgLoadCancel != nil { ac.ImgLoadCancel() @@ -156,9 +156,11 @@ func (ag *AlbumGrid) doUpdateAlbumCard(albumIdx int, ac *AlbumCard) { } if img, ok := ag.imageFetcher.GetAlbumThumbnailFromCache(album.ID); ok { ac.Cover.SetImage(img) - ac.Cover.Refresh() } else { + ac.Cover.SetImageResource(res.ResAlbumplaceholderPng) + // asynchronously fetch cover image ctx, cancel := context.WithCancel(context.Background()) + ac.ImgLoadCancel = cancel go func(ctx context.Context) { i, err := ag.imageFetcher.GetAlbumThumbnail(album.ID) select { @@ -167,13 +169,11 @@ func (ag *AlbumGrid) doUpdateAlbumCard(albumIdx int, ac *AlbumCard) { default: if err == nil { ac.Cover.SetImage(i) - ac.Cover.Refresh() } else { log.Printf("error fetching image: %s", err.Error()) } } }(ctx) - ac.ImgLoadCancel = cancel } // if user has scrolled near the bottom, fetch more