M;bAY z2&@Fbs2tc6lXPkcAP)Ok@I+WI&yjy_X@1*+ zQ=7>k)_i%;S%BEO)SB8VB>}X+57MxM`^mWB)!OCkY0LEB7&$>~N6 zm;RvR#qOEv)NFDFY$KH|q{d`-ul^(jL5#Qojfm#_wDLgN^43ql7gEcf`K}_*!X|** zYs+}W3D-uX#cVusYQ+HhP$!kndwgB?1;!P|4_F4XGrk%Sp*Pwo#D1tbeM*Pd^ELCy z=2xHGV?~&}-f4r9=)S~`8k+=e<{TzYZ(cYMV+!Q+xFC^p&4RI{xqpwDnVZJJ>x!mQ zScRw?E|*vvV;lR4m-^A!*R!iKTaO||9Gx`ZeX_kY%V0xBqDSy|g(&41$F23qVFYlg zL`LZR^v7>Ymz_N8RESbU*XeilN{S3Q{$uAgNYS>ET6R-=#%cH{S%?#vmOr0|nM6(x zINAL>ZIA}yt Ef)ezDI9M!UF-5MGO4gCt%ghOiRc6cHOhC=zf2~k>kJp<9Kf)U z4pL0;6}t}x(N{BhBm214m8O015qsATk_2Vni4a4zTQ6L=uyW7p{zF oyWO53C_?+gBM0 zUeFLRo;h1u^Vb5}=0SW5yEYP=Mvw1$B+cQ`De@x3+MTqI3+HKsmT-}*nVd-#PwG!= z;IJA3@|~v8Ul5kPLUBmN8M#kf4W0gloA+&uZGds~f#vi$XUOC?emxomc0vfD^TC4$ zAJ1||T_vPy#|KZT_sTphV z@j)X|hfl#dkfX`1c2`$Wk%2HcLt-A|v3 z^*sQde%a}bk|Yj=Zr(8$zvzOc@RYxyn_&sL8jpZko;cvE)2%x(W07?C^dxc25QUms zZ)|MjX2 R^JJdMO>rMNp+&BIW=H+;R1VJo{kVX z!Ey7D)332;Hzy;Rz~$UFt13(NHA#*Km`$IaSnr3b|4=N8E##6D7_+dq-_`f=d6fMS z7~7a^SiKe2y4X;fO^qUuyY@Zk>FL?N=H*4V6~p#4uair0h^PJhyrpq!E#c7!C9Ovc z1?G?nNFMAEsCXK}soEbj(I`3#84EqS{BegpPL_=Bp;@dpB~yCW8T(mnR-dmGr>7ga z&W!sP-aPyz^{oaX#*&zqaKM5-y0f*^FMooa9tmW!41UxfI=K50&YTod#Eoywb!w|E zIB^#ki{hUGd<~LstaUK9-~s*rBXcdesm90y{YD923P905Nd$6mH z*qT>O6Hn|P*AZ#zg*mzfacMiEooo3q)(22$y0FTx49ga4uTOSb+C#sy*~iXl^h1B? zX4FUYWkq>CT4t*QUeEfIg>mlK!e@$A)GazsE8 ztWD7EHcUeLJQqLa2Ioqgfwf5sESMhdMLcHpub4-r6E;#h_yLI0l z=SZiJd8T{;E weDyXo!WA@1w{VSK2%j0wyE$3&I- z2IF^%q{27%Rc+$8);|stG+GLpuyxr@Ewp(TuUxspeHBt&Tbl-GpQ}3vD=k#ezp1)c zEZXb3c9Jdx-e(&jz4ahfUb|=0QmAUGk4uqlM= @=u{hZL}xCx8J^!TF{$VlvQBfxme2*8!!jipp1x1f1_7%-YHamAXawUiK%D- zHNRG6g ?Q};{z71v(aY53sW{862|v|@{>)bjI#89uL=BRX)2 z4D!GW7peF3+HSX}4EJ4i5e^_}yGvTniD@C*eEpUd0S9;9 doPp zC_er>{lkW=P2I4IPmEQXd{Uq FFM+=(mt>(Yj zn8C89Ek;V8X?FBo2v=V0d{)dwEPn<+;h9Y3Co?(GKBG9xeYT0InZ&K|<&+6FwhCh% zxI|(4z6Kb(I{RjCOEzUcvQ@2Ov78i5q^-$+C1{j2nELJ!r=PzUUEHN5NFjuNv~jCg z3&W_l5y^VFS>JcY`dW~6V85SNc?%~{;E!P*|Jo!}_|h(P;8C@ 15yLE$sGF2n^&Q8xlZS+*i|snEWqWU4Khrv z)7eD>b4taMYVB9*lO8;Qo+Xwl@OBI|VqnPlBXX GewKQ~8Ovq)-p#=hL8AD2AtdY5m)eQ&=!gfgtBDBM2n%Bg3;+5R zxzM3USIbBRyRrBCP?F*k&C`MLjmx@pxP(G#)mFziq=v}%E95P<3~;}iFTIlZih_%L zsxXD08Bp+EmMT9l1>bJhiMSN&pCZIV?9G+3FUs&}iJ{u;sl%S85?gkH;YnE+DN_a- zCFpMsXO+&Yni6J7D{GM9yk6hsU)J6!Y?)7DXmJS} a=C4vP1e%6-e $W!_S+6~%uN>I; zMJMTQtNokg$I6ZoB_cYa15TrFBVh RZCZ}ypxg6*J&q~fE_yjm(2T=^;w zPC_eCRg pcoL{8+Xh*eq_6bQDJOYhbEkTx;Y0U$ z*-!L5dK4)GJoBFhG)epB*{2r*E(w*BE`NHD$?w;Hwx}N`c|y+5ykX$2N53%rhsM?7 zU#j%*F7o$>=(5DNxwA!IS6Yp}y5bsl`^ifb$M@TX3VVz;D$GkF#Li;%kKSwi60TV| zvY^GuSFTS&2L$;KzMo-+6}szF$n32=$*gH9y8Gd~SX|b7SisLCDARDzYOWT><0_$y zbmqS6voDns;T>ju;|Cs4Kk{)>e{j5Ff+OVGLB4P=*^}&>c9jLJ*B6ExLSP?1ezctC z+Mp!ZmLc-`$a|nOSQ=t0{*4sJ)!<^HE6$ZA5dn8kN&NZ|IIR_62f{c0bQVq@C@zP7 zO~iMrU$?AdG(J*wM7YS8yb=i3SxuJ@ixYve9oF58zCS;tgN4=Dy^8E+mjHG}Ph@uy zYXK#Su~D+TuNXxMi*OP{yd4lxwC%qe*XOKQ{3GU;lRCGnx&clCPBCU1N+q`^NUr=O z-|4OC$koA2K@3nx?Z}+51rRe!>F+UW1_^JuNPY%G3|lmckv|ZYfOR2o73q((LdZr~MO+_ll;j z0u19`B_+^-3!^UuLj$>9^{tAo9MN^G ?%OBnw{VM1^9gu&Pfp@d?w8jKXC$2VzQPRwoGOyfZ z{E(Dk<{+$S_f9=rDEh1(xf$73oF%=;`Sx3f2gSEsTKin%#P-M&-%9{m&T^*H**f3G zIiuBow4C)_5Wc;1B@&>}SpwEf>sZo`R0ar-0%V((POl1C37j3qt-oIl%YOk8*w2w2 zx@Uhf-JdMjGb_`X1w4BwI&P4pdQ7DL*bc$1^G!4v_Jqi@sz-ot`4SRbb}q**y{vI~ z6Le>hb%&GfN5NcHCjFd==m$R|rV*ly?OS@Y4H_+Qv#+rhveAw)js#c9;+~ZqD#0IQ zOkqRJC6=SY+8g(HUzwcVBQXmGR`ktCk1Wk|Ql&Bv=w5oEn&!I5S^wB+*M(Qy{cTv$ zSJcGLOsNd?=TOjFO=fzM4Q!Bf<%7I|?*gP~pzR3uxs|%!dQ^B@)g~LUP^`~mFBCbS zu2CI>NKU^iKVadbb-Fxd(@Ix?@dBFiRieAx1sjeH#otS>>xtm2W#;}*u22Y>hxJt* zWJs>BJ@0p+cU8MzQY>q7yM0Y+RL=Iy9$O3W;fMOSe#3wj``5ISwmM7~*Ld1*+5a41 zvXXBQf!@RLC*2hJ-qr1H_|k `>W|_^4G_?-vAt^JzWtCh8@T|GnhmClZ-5 zQ8E8PqSjaE%j9Fw@vIiE#k5y;feM+>RDU8%_z|H1Usb>y&nn@a2rLa^rpugRRcsGy zozFD(Wf$xgi0#G3(bqdtlo&3W8dT;f(kWPZb8hzC{@h&Lr8Iad7Fy5$)cMRJ{kN-W zRqZR0XmGC~lMEj`6$S_HQ(K@T#UY~SV(IeE#q}@q4!dD9D!@5B|Ko8Zz(An9l0F?k z{+!D*em8V8SG3nE 6dlel>(`7KNO z* QdhPDh2}b-txCuh4$wq#(k|);%D(7hR`EKe5 zA7 ~gy)hXnV)jLt(T{iAtIYg6QCWFk1?r53 zPU@qf&{t|Hr!p7tBsll4tgan0I{07}hRONSQfvP6bO7itlkOlpYoP8|sissn9NXY# z-`QY_l4%S2Y?7!yjlOZ@iiThrmznse;}tW$()Y|t>g=3B6D3>HvbSQTm99fp1Py`f zz!D~$)+CmCYMM`dP#)dc9v|FdTKPE99P`p7y>Vn@n;l^GB){#&S5m)GajLv8F{F2& zgkx}!8Md#R6RZe5iX7q^-l2dPie*LHvX%^%K-YraSK1b>9jUC-*mg@fj?xudiIP36 zy?;NGj2{9N>6*mQ#p_a36$~QQ{WfiTPaJ31yy%t1p^C|IRVr4TG(qA@Rfk*>l74!z zFmme32mkUf-QgOw3vEO5L1QY!hIRlRH6P6p9niBQwlE)d+Zkj~oY9Xic}<~8M_l6K zC0^}%pt)9(Fnd)Cx58(n9iM+zjo}FO)~{U($ vOW;}ZTd#f6d=z;Jhh62;oFKRtwSL!)2-w)-jJ36U zm!n|98lJ5wrP%pFSrVvSs*I`{T+*4!dwcc4_X3gGn@u6<#XU-4_Y$>wiiU+Wu2@@V z`6f~U^=xKzTX7EC`*lb%?Obm4R+CQ!cL}%14%1_32nLHjI9c%g9;2#!YHG>#+1i -b zGzU RmF;qwrXP(5J#d5xE^AmGNO$gxGOa-N++PxI6to(ub zns!b8@Y)RSFyluu)d6z1p~cVa0q fp#n~X8yWvhZKvt>ri0k%6C;CQajGgv zbD;Tp|FckFdP4XbRU#i!E-WkXyK%1a;VzHXH`@G{p|@J|dW5G~JM-KFLoUI9pb@$O zroa=6XW3o*jC_7 )z$>#Wiu{XX~bSgyQ(DiHAuJHuQ0Jqy`8tJVs8F}p;(sg*@->@rWEf+KTTV~H= z<1Subzm@~$LmO}Ni4TH43=`FEW!#_3@ZdePH#9=b`qM*BS>s+$Xl;Y?9YILF1}(mH zX(B*hKHJss>7rMb_qW`&8zYwGbX8B|RdDT3w-_5Qfu>E+^j(xKL1kNaHszU8^%NYA zOMB0aDiq|}Jvx?z%Y7bqkDwqtp+@&44AFPpa<2A__^@4sC`RE+k}IFy9>wjCuTgzI z38u{mWcU*(^+cBPRnv|{4o36aDEPP}Y?pQW2?EToXN8AVmkTxwfUP8o#ibui8>KfI z4vz{918;uuU=4rz<(#LIWQu(HvrWb(d*I>B!HK85Z(ioTR!uAEKTC>?r)TVC1yjsZ zvMtIBWa~#bC(vvCRCvvf7E>v*khl8!#L$L_$!!m8;#2?`xS=S2n%eb{!HNk||0${+ z;$zaFeM&y>B~|x6XKXG?DYqB142tAjnjRgYq!R(a2MQmtap!oR?|EB_gryo`?!AJL zNM{}{(7M-WO1Ih>UuN +-d7VEbBDX4QB wIl1F)9UsmK$f3*f<{J+Muxt?|G-n@f~;%HV>^?Jdp&K2IU$pCWHMP^yM_x7B$gMr@#nQa zl`#W1*v2RhsK?m0_#c$8E+|BCS!#U~i4ax e$e^CIKj)y(&yJICn{sNwkN;RM_l}eSl>8dg0`T z ;TjRW-k)2VF8ClsewJ$*v!MGJ`Xnu530FyG=lw|fQ zSm% )-V9Ufb-{sNk-;Ye_k;^DGM z%A&+4+FKu !IezLRLC92RPHA3~O**G_`gGWmaqYU2WJ34Kn7s(wVx3IRc{2MJ+ zNjQE&Bw5op7o0~oEsh-mmUWbfci5w7!(U_r4cyI4%~SnPCI@H _{hh=we_c zc}5T+7+2+^-AAy-Z0>;b(ViehXcHcYfEqI~O;b#3)7p=*USf3CMmyKcsxp!pe9d7o z*x0qEHKeS|?~1EkYJIcyigS+t23V{K R(G|{k|KBWK375gt}+{* zNn7Wu=ctR&iHS)n_NJ6k= vnDVX zf%LAn8Fr5Ya#hn}^c<5nnL9KvY17w96DJ!=mO8?V?dYU<5v$B&xh3jToW26tZmDf+ zW7EQPPvqO$+6Kcr!&sY#XrtyCvX!G%8uyHuTU7E*f5}uZIt8F#j*pLHz&a6cXWosU zXa@a#`fQ0t0t5Dy=SA}S_En+4(QC>w!YYBC;8s#TjxZVk4k&gQ>eUy`&e#BJvgD}F zyj55Lw;ZLk46URY7S%R7U9qZsdoQ{g_{l4{=$4|!DI4s}HJ$>Ox)*hU&`2l;Z++iy zRRerIB8&843}D%{OyH~~@6k2qX9)*t`KAxP)&R2|K?(o>Wj%fu;HfdS1TGLqqAN_` z;AW>wCDagt2u=>8AHNSv0Lv`VX#~VH)mHIc%mt{CCh;U#*DbU8wRQnGV2uu#CZE=h z634zXQhMH8@3!i0py8I1FAJ-IH&;P3(83AOaN?bF4mjJ8>K5{&ApoCjTinhxX45ko z0#=)up=6lOC2c>59L-{4CHF!yeLZ{Km;Dpddd{|wpH5$dP`BF-FsKTuGNKFZ;{=!k zW@c783TRfDh;qcl7t0rbXemk*_K>EXwy<}BKk0+w)!l*!&UzLsy&ZiR*9S;}1YjKK z@~_hRXbGZ@ZM%ZG4$_rH2*CH?Q?G4E0LU|9HaxEJ$#3lm)cBNF=SR+*&N*b-zdgl( zj~WegO-#U_xEHNqW=o;dO_PY|NHFA{yf7n<)ibJsbbT5-8 fBAp8#(>(WU zXk_;sseZm*N^jyHLy}q;#-I;5GdDZ)vJc1gT}@jnEA<(kzuh5ikviSelwTHrZ;t>* Mdgl?f=bWSe4@y#A4gdfE literal 0 HcmV?d00001 diff --git a/.github/packaging/linux/AppDir/usr/share/icons/128x128/apps/lnbits.png b/.github/packaging/linux/AppDir/usr/share/icons/128x128/apps/lnbits.png new file mode 100644 index 0000000000000000000000000000000000000000..2dc2656456f6819d94d37a4d296afa00d54923b7 GIT binary patch literal 8303 zcmeHLdpOhm``_j~=QE`&io$Hh*ycQP$eD 3N>(_r0#)^<3BQ``@!&+voGS-}n7`-}mdj@AuyC9dUKG6^E{Y zf z)5B^Onnc>g?ir4NR&46Do3Kn>I#cMvCuwzqj;=d=^)h~FJQtxpZDE-4FNfwEl#b zIQX`G+f9etW<*{Wbb`-DXXK^%Oc^guZc%c>X!e#ZvYx7(FLK3tvhPDvdkK3z0y2?Z zhZcBU;91Zx$!Cq_sbwD!2%Jc@vU0Vzvic(!AcTVb8K!nku5yQ5JkF`f3yB`ZkSh`h zit>?{JU8PHxoTGp6DB*&gF26&y@i2Z5fEZ4T$Ip#T8Fy@O&E|&zCCdEliH@fT)Cb1 zS#KxIp57iB@7vGms6e(2ALYvrJN222e=_LxphKIVADIk$NC{A8WM(IX?| )u&W8FRYd#B3_#86`f@=80o$ zAqKCbVC?;w;DtiJqrR)S@HrbnHub`WNA_r;d+IdVL`-F+4&!u>aHjWtnT^S=u2#zO zFO#2L$@1UeG$f+Be03zZ<=pX$Vm4_4+e<8?7YEqman)YL;7$jqCTCQ!`G=AK{ MZ%A#*kH$408lzJPO$xgA*>PF>d)po$!Vj32P+ z&*l>hi|<2+hh1hAn1Ph@J% k-}-ZL~^)4MVCd30ICiIGBIaG5J@2vCd{7_NDVVp8@t`02BVTq)pnqrkWLX+ zlpv~IES=&J>%5&58$!a8)y&PHCM+BPK%+2;FcvK|jDcgBs;%PUfcq6OLJhX6!VEE0 z^LBEDS%uRnFauo!T_k)fiyDnmGlRlR=;Q#LyS2?P2;j+7Er`jCz#$MZF)_L^`nuut zK!hF^i$x$&2owqqXuuhJ! 3=v;08o82JWwiqQHq{k|Bj`L@^{0QGbE54`VQiVI;~56acPE1#pnW00R`6 z=nvOJ1sK5%j0{O|49Un4PVz?^0mvkOGKTyY2p2jPs7hk!U%gs^A_GupECq=%Fw%n? z7#b1b24pf3?oXi@!1XCueR2SjVuVFeR-wowoJ}~LMg-DHr4a)uh={Pj)qxelah9(3 zrfMi% 5{W_U>0|#?@}kfg zKqanV>LGRY4Od52(t-nm0f;58)F}Y4DhFc0S s}HKp?5L_STl$S-oFR$1y#-PdA$n^_@yA{`_{Gd&?2bHdn$I zsSjwA?F6k5o92w0xTt^=H%^3nd5Mlr{krqJ mgmudnHVtj)GP9wB`EgGO!K(o18O=-$__n`>i=3dVN+K(y8lEghJ@&2AVQt6}r* zX-24M@>_H8#d4eZlE4qRZ5ASgks`IlIO)ZqHVac%p<8o9a^so z2WI yJxZaf$am1La|7NfCL{K^nJJ}%i_#=38HfK zqo!DabZ{A8Ry@5vziIv5^ykiQk}BY8J|4%9qn#Keq5`XbzMJ0>vK~}M#kD^!X-A-~ z3Iw&{cf_COKJX0`)IKa;Bq=7a9ufet;_S0h@RGv_hVu9Db>owR20%xY?@HxC7EbN{ zx;4g_iJV(xgv-8f5XlA}SWjcR_hj6A?#b z@}S47^?gEv;2eDN!?4dFTxkQ}EEw5zSo^NN0caPe2&5XI&A57 _-%#DC{2nAnfv&}Quvq}%{q6LP#`X1EN8757%RRk1F%{1i^eTbsH(qcF zb(0Vr6$%dJnSH1WI~FN1fN_={@6Z1pClvh^752Q&E`!Fq?fW8i&3jPVdpW+x@wRoA zyNm3tIoB*|X*^@U7xmdwfYH-7F79jnTW-=8^|LkYdc7jSj2^H`bL~3M1tmrPIBL4+ zBTg$Ir9TCv$|9i_=i@A|<|=D$29I_+M;HdGSX3^EbCbEw%FQ4`CXMI$nUD~%CWU>Y zY|$9PV-54mhVrgBqBVregBJYPji-tR^)tlymmXDrg FL@)Y%}V|T0}~E^#k7l(!h-0k0w{e9c=UMo|P}NQ|U;)+SFYp`vcV7dLH#( z&)UD+tXj$Y5-t0{N@68hP|r@Z;0&^`Z+h~}UOoRiP4kxm)b&ivWsribZ9J|00Jmv} zhClo`VK3cKx@>%eb!&!wbU=|VklV7YE8LD36icO^&v6#~B>4m!hNOOzEX(7~inbRH zxi`E2&^EIqPu&a$4SJvGHit_T-;OD=_%^P5=(e(pYWhy;eCl8gT{Qgax|54LR7Ffm zXt^l9*I<(*qQ8swVqC_Y{l+*f*S&{=8yb7$HLfJmGF9U2#Rgvp@4uB+Xeq~7Tf-`K zDSD?f^>JHpMccW`Vxw_BTGLr&!kXcZq{v&RBB#H><|@nMJtsGPk3cFmBq>*T?C^^L z?e`k97c;r$5s|Z`uDstlMQQo5#DS)f7T=dYc)cQT=X+211#pzPEZH5)Fu{o1LetB( zW|Vl}t){893sEVy@?T^C4D0zwG1{j)$0DcOB3{x9MRiVG#6BFVU5fg^*Z<7WDGyv$ z9K7(bgkz#X$y+)VG`OkuWDTo5yOL5+O&yXbcBoJH|3rNQL}6SLkg~KXbLLeuy{9Wd z?+hmvlpf5Begyi6n=_K}P;zJx>s%Hw3oP`tylmuom+7BhO`De}4q22eNkS<*E}xWU z>oN{~oZKoAasPg0x$ta&kB?7 r1HjsHh5PN2Lw-3yGJD}?5v^d#H%0wHgPqWi@ zDztd+a~4lhS7pKO+R3$ps#_cTcYJOi7wceWZ*DlT_EqEVeF@awo)=iI_x8%Y7Rzh& z{6hnc5ajaPnjV{ dai_3BSL?mOf7Y}w6u+@UrTr~6+01GtO%uw2E$ xrUZag*hST2bIhYo}>9mH3*2=w0%U&WZlYIns(wXhm;+1qH9-9RG$Z;QG$vc zjp0DYZ$+BXrd5g8(T23tBAHep6@o~^)11*l$6_fZajDL@#vrlNgKl`X4bp%%&CXvl z_;?8Wc<;Uxr0ZLZbH%s(9JjL3<)ceovWrF?Ex|vaw|@v1HFaK66`|sg^yPN-dvYN< z83x%0NcSr~`1MR^>9I%WU%c}wMkeO>Qa>me$uE{4UXo;F?`g^LEsGCJFtecYpIcme za@mD!z}G3Y_=27h_+gDRJ?YNISJrA&!*cUtPsz>4ii7Vz6ySV5yX@dQsCs#RR*;=L zy^PUrAn3M7rip3@Bz%<4UI=-em@YG?S1?)C!QQed+dXr-e@{tappOGw(P<89#pOy} zunyX|s95f{V6Wg-dMUT^T4pX)uW~nXBmb6LcO^fW%Numv3#d&MxK!5o#4J8jD)OAA z2lDuV6g%0)@=QaoYsZQvb)tM5U8kY(hr47uZI @S5t`J3y_jRjFK^RB-wB}|CmnvP`r|70@ zSxw=GN(ZG}!ylEO=57}3?C%P+Ida`HEI lK}zmz66M~cte zTg;!ZjdutqK5aPVL%Gn=r97 w5CnA3=Q^v zDPq2RFFcSxNkzD|pW~0dwDwaYGsJ(}xi^xS7M 4rA19Ijkj$v9fnS3hZ;6SeVP~kS^7S=_z z^V=tM_KY)XpSa*%nu!tx65#HE^o56zQBtt``FC4&CsKTyPKC~l5RZ>!sZ>aSn>iZh zcQTx$yDlB^Guv32SSWs{WpK1pI;Hx@gj57%Ark7ZCZEk< ;QxrQAUQ&Jr6j3Cl z*0WQh@37_8k`OmXRgGOFnL0&RHS80&fK~yGl)Y_o! *#V@YWO-k@%|c15cEfyJxzpD#?-Cc=;jgxZOGgu}4ZR7@MfPxtmba$8|*=UF)@ugn(}igYd}; z1lhcjWN+`+&D)O}cPyTw5=F;8r4>HpPCu%y4BoY;83ZzJOsNg3zm;)*-KQnsNAmI5 z5BnLp*xn{L8mX7T!4b}gyy9-Osku1suu+ws>_Z0!E|`8ffAQI}4efpPI*UNQk;=t$ zzE &XcR z$NJ|RvS!U`yKqd<25UKQky GJuSj(ZBVr}s?myRxT0zpb8KSiQ-Q0^-o}MXsj_6W3SWeVSSkcf1m6 zs`KEZJ7M^{&%RyFmQg}dcmv3d4f8a8iA_7A*hk3bhk?$bCm|sEHK{uZ)zuqXQ6TPt z0qk`a>;AoW2g=+W&EeB3q!Yd^Zrxo{1F`q3+P=pWdc{EeFy8zsEj_&H(&Y0!dt^19 z1QrBT?@LO*^1=YJ?+72abhgw*ORU&Hfd#$p;d%1OX)%iM5T@OvwqV^Can$1XNFSb7 ziGzeJ9kd~lzYpTYs+ZsVhOOn6@2&P?5;w*VbnWv72+M(&!qfvwCV(JuwfV7;R-kax ztwZQZ`JRcLuxVzBDOZJdF|p&E6%*JLUZc&c4;(O2LMq>Tx98-M0eyw*Nj7X1;uAS% zK1tCHb#Y82 zRdI2!IkWM$U_SLNvY9WZl2ipc7WKUUV+Py)jodq6?+omdU29Us)DIe^34r&MTlQ-V z#C?^IL%jp_ij-E<#y}526s6d&1&zlmmhRdnO4-lUpJVPgK2n!^Q`Yew_n4+wvnq!z zjW2NgSaf!uPxeUN&1zc1vAW|d3xc9cgw(9&2J1&d*e?36ypcL|uZV_#^T5dobLVDr z2VPX WHxUbUvg!K@HPKIc zk6Cn0h4v?G)WpuK=DK}bz~Yk`yG=T7>}rbIvUhE;+N+4miu|GDA1^Emv&6i06UQ&L zz3K{i@Ao3L_R9Pb8t;@VpO!7*W&I2bhNpsHPk?9HLT7jx-n-b%VIpy)nZ#tyc zxbC07af3K}$=ISmT@Ew@>KD@Z^!! lPt91IP% +qR2mxJ%00t17|<3JIwpfYc}51!DACHo)+1Da!AV#5Nh_{nc2(%3 z?^0XEdA-SNYCSFsg?~_?AE02 )h479u<2; M>EvxZ=bn4+c;6Ur+%eww-ywsMz1N!ax7Pg4viDjmmu;<080q-v003Y# zGey}000g{*05nwKmq%okANbV~@92uR$Ha()M~3+Y2IEBVap5=-Tx=lN89N?gJHgl` z!m#h3mPz79cZ*s{N1w~|K5 @)C=IBOtD3gKNwd#ClI-Wab<)H?m12)E2 zb0or7BTICy$u=5gp3jd6Dw*|xjahxUl09YO C@DGt5VS1oDnrn zk_H!SWttYz>qEK$Ls###sMFO_QYUd$Gs*Y2YPQg&keE}SlJ3mI#iy=wxV?z|yr$Ft z^xNuG0%4#E`F1f4Rup<;!Pnr;SLc@lG87cZRFQ6+A8*vP+?23{Ne9FS&vgHtt%H*Z zr>1=L^p0gJbv0d9OZ8U`Ik%w`aX!yCZ@W0Q^A0_mZlvehc1F}7F4^Dsjb(g^x`8a$ z3D*U*v!cpO;7ry1g zA(gR$Q%SFwUfOyrqBofRwa)rr8;DYRH04g0Rfpv%^Da@Ko>NvifvS z=CBqd X!>Y@w>#r&t@)d= D@)CHzeBE{AP(e+-e{De45YmPT}?Ee&V^Bh zCQqq^g+7QX)&Y2noEE9n)hW8ua-S`4ESK~@IhYtOnr5~hi!3m#8m0zAE;bMhEmtc` zO>9_*JjOT72PYpJ5)Q^30BGsPhGVcnIJ}4t&Ob0z8@}?i11=Kis||Niu|isf8{z^2 zP2(eR4)NBG*!Uo mLV$PL@BlnMToZwaiHVVqQIZdf z^hYRYXlNjiiU>tTIZ#3_DlQa{iIoeD5<7zU0|SMN!bS#$;{(G&MUF5rK4H;#Z8#k4 z7x~xxLc*=A{(=vU`jZ8a4@4{`9HAhOM1+JO{;m;)H#!Z1{5hfjQ6tI`%us|qE-EZK z5{olBjSIz#{T;#=` vb9}J~Tre&K6paE$Rrrq~P0Xxp|I#?3z&|h~{I?cJ z_J2s?1O5I@)_=_HsOPsif1e1b{ul0lNdL?B-@>4jm6awc3>$qkJu{Rx{Ahel-!N>T zujU_@z6wYc1*DQ34vY1ZQ%3qI$!Yj0AmtQ&G!#^DNEKzAy6WGc%tE8^m{2V42nqz3 z4+L?LSU*2i1x0l^9}QoOoH9;HSxy6^t|I4)Ro75fP*YRU!213T!X`2hj7m)K-)D6M z UBcK_INkZzx}^rg2zg2nKX#U sm6Wl5NUWS92B!vwf+`mDpE?*1N?1iTHLQjb&i4=h z{e>PC=7*2LMB?=QK^{S_!0`Odm5AhTM@jwW>@Vq<0NjxmK*HpZigN!ZOyy6)5Puqs zII0={vRDi8e{rJqTi|a+2Gskb4J=+@EkyiP4FBW|oWcL*-=Dtt-yA|j z>mR!QD+c~6;eVp*AG-c42L3DIf1>OE8(nn&UQXdc!MC6oaIqx2`Z)?*Xi@oCn4kdi z(WmTLWe(Uv8*X|M?4f5r`iB5T#XMjmHQvn1h m zDcC5e^^9g&l+|w;50Gk7yJ_uE9N1|C3f5bE^LL+CpCTW&P*dKyb?LtQ _fUIxz7bex2G{sfM2ly8f|S3H^m`KEPk zkgbTh!9CT}nZ_BgAdDvGF0}?GxH|%!^_SG(Y_NEkKXjHbyqXgEMbqHSAk7_uL~ h@%~2&ou1u;O`M)Lnl3!wb3x|2be%wP`lNgtg%+JG)yUJ@i93enP!`{ dpsN8p$8e&o}~WJ)BT j}bIwxXS8zDtZeK;CsXrn&fi& z%SxH5J)1J=gOCTLM*7Qa*EJ5{2632vo7c;?qk0@=)+pG*+hUAT&GRv^>%-N26nmBg zS$-iiFzD2QUjWi6+5^+gG%_C^&oj?+6u&Jc+LcA3{FTUT`97h&kvWh=OR{hCy?t%o zhDDBbc7<*q5iaH>Blq@$%P;YiQJ1v|y*ClXdG{Re>uVEcrj|@lzQ@8dqJO?$&C9 RALI?v&H8US-=9%LhffWD! zNy5okGi|5cDQS(n(7I>tk7m{1RodUPb>!nZ;3{iv9p}MbBpGenym#{MQ%d0$+1HKj zxnT56JeBLoT2H#dG_c&cR9W|kF-`c&S4`|P;mP~=@5eaYb9AO8CSC8yQTS@#MpqZQ z>m^M%4+NN?Jz7<^9OWT_<2)>98bL;}dt;y*BgDlCW+bER{y)hNE=eeFsQy#~L#+ z2pZSAyp;#AG)%n95$uT*%`;DM3*IaA`MAQ5eM8eG)?WVenFF-fjWms#d+BpeR+f%g zL@3K7T_K0?H2HkHzq#H5lcj2R&1nIDPw6}`jDGPaai|Ns5@I$oZ&MV~kp$3&PEH^0 zmtE0QCUpyUod~;$qjt7SOJ<6FjQRlbd+KTyZ8=2sP_Zpj+vQfmcHT@mL)|;y@rYth zea_?ny^Icl76!xvm#m#!AMuMWSGgWaQ1EgR&RsP<_A1$XCVKwE74=*niL{uw;5&_t z>leny$J6PE$&-h#2^R0S^R8Yd24F2;aIxW>fcCca9zv-*#CF!DbCFir*~y9W_;D5* zNWDn{nbPClnMCn9IFf4Yt9rkTzB)XeinuKn`)&UrA#*oVQdEK}oqEK@*}46sySt3I z450dK%d+iQsr+uJq__bu@;T4LMsWB8aQKu1IHlZOh3@pG?mD#%$qHi^5?2uH!o%m# z) ryi*vK+B18zX00@{dDWg{)h%6c zLA~EFaoTFW8giWNazW}o-^!uNkI_=BfHY4h02jYqopER9M0Eh1V=K;&P@S&O@!;M) zvrE>%_X~p4&``rGXVyEjG_p#IgxTbhjm@BKucQ-?UAKSTU$5n?y=sWg_MW_mZMQ1u zWkEOdB_+ ndr}lG EMQHX mWA zmx9-&7HhqA;x7oVGZdadMS uS|&>bWA1 ^rfb>5yst$?r5=t=PJUBe9(J5= zcA)a`4H;5nCQT4o1kZH%Yj&H7rX3~`UaKf(X`Wt~Yt9lSK0eDzh}D|ntRtD^B%ZyC zcxJ$UP=`A)+81(`7=Lr@7dtF*D8E}YWDV%=KC$O=)=x`po(sCA3q~c5mU$!B`c&vM zLSGywz#r0P>q72qAy*dVr0MJ;XzCi%H1;nm^WGf$6c6EUZnmv@Bt#4(h6@If7Yw&- zQDn8o!s;)^I_1t1Dq9SXRg2C*>UmAL%LEhYI|I`zs3+5QdHDk7j-TvZYAa_i5`L9T z@0KGt#>b4N2~W$65Iy^p2m59;O>?)@$n}-dr#{2@x$EB66`T@yIX1vOdQ)uEt0QF~ ztAxQ%&rY|?O$S}{rXtz+=D_|C?Y5nT45j-bM1Zci8tcx}9cf@EK@Kj@Ur@Apy0_i) zq`SZ{3J#pX?=95MF6!c56a;j0gly_sT|DsxQu2OTCvnIV)qcbDnB`MSV4k6vSv-8r z16X(|YBaH9!jiusz2RClnXoSoEk?j^Mu`IDWxZ-;MsHBow@tEtowRC9z887!^p+IE zL570ZggBsjHC!it(}l$cb>-K1o#x^byJa7hB|MzokeXG4jDAi$7Y9rxE8%774ZY(d z1z=ZdN8K*UGB>0f$qvFgIu$RUYg*7P0E+212O?w{BqFpXuON5Hsw?Z%PmG@Kag+!N z%x%g?0$Uvn1u0YO4#+LCvQoZlcAjT2M#kZbv1)^nM8hg7S?V(CcFhMUI(^}i*NP`H zKEiZxa(4n% G1+%_ zsjkqGik)c*sV@jhgAd8joe(=~RS7PqO|tN@CvKqw%R0}+pvAbyn{rc70lM_}4KfS~ z3(v2@(+*eeWS(p!L?4S@Pw6woT9%H`5RXNZ>3bwEa#}5fU1Yd2XLtB&STh1LMU~on zhl>_0x>=Cf!TBWpRMs!}Zcd|3Zx*jvIlrhIr?+T#YuUOb*e<(TXc5dei&jzwb3z5M zX=1w_mu(8Aqdpp#OUQ2*`-SWgp(5}eSZ1aRhUcAWJh%R`6O8c_d}~!YZ0Qasb!IBV zi88Q0Mqtx5U~dl)S4+7t#k~5;q)UjCjavOtpZa0(b1quBu$*6VtW#T7GBD$LSI&!u z3w^ek&ndJH$wI=4R$m(}Kp*gn8QrNl31P`DA=(O7c80?Zq29YUd`=AGgv?YI&T|SI zj#W1MBOu7`bcp7n`i@Pyq<_&`a^_)WU%f5Y289g1GcCuOSa3i`nB-?L&LYzp#N1cE zSPos f~XX|XzeP4N;Y~>*}n&WfH z+Ih{VCgb`_7`-j6=##j{-c%M$8!zwJe3JIl7X4+Cpw2*_bmA^QwsqMC$b1n5+~0n4 zYZJ|L4$6D*?%EgDk~xIzpjb!vfDtP5Qz=lKUP9(RU#Cz|0?9b6`>K5?qBd-rW9_Ie z`MCM;0x;H{48xOGbnR{zhgj44ZYI%B6v%IUB>LT~3V#WqS`Ovn+u7GXpRB2RI4pQ6 zS%6c0tK;(VXjf1(oivC_^Eg@Bm=gKbM;v^JgUg_Apb;1zFbug_j z`0$JKk7f2ypWonJ1BXfNO2zt{bhfka7)~zxOEEWEN=SU~uk_zQfwj7vXg5zws6$;w z7SiTYzF1=;F;4mA%Yvc&xd$*2XS*EmhKIeY8e)5Pjzxf~h=d{see5@gD>xKjrLmcl z8)?jmPq16>X@Ij`fe4;{3QJ2${~RR1RW_d_&S|N_P2I_UvhUQPg*^Bwi-;)Gx)?)I zB}HrxB{EbN*(ERTg&|)+SNF~mUf20j-PpGD&fOpC;~Ca~I^F`MhE5O$$s+a1R{Q3D zjc!*m_sd`;)M^@`iJFkbfD=iWzXxleb{~6%FYKXjt3CIb*^X618Y*xLN}8==|14ll zZ@H;U^BpY#5+Z~ybQaj%k?v$=Et4pMk@zR87#ue{29$?-ts>Q8>RmIYz2SOwG#q_` zj-sEBWmXm$MvD-X1DCT+TC$(^2Ha>cuzhrbrfQo&i{9+8_3c~dd8e2WryNk13@$fa z1gVqe-- N9h#)LfGRWl~#|tan8iq3+-nci@ohHIpYLCm!{g zA}`+q<_c+8?}k%-5$8He4Z9LQ>8N{^`rhZ!Y#;atS`J2(Fsnc#G9^Z%F5-em^<|x8 z?=stI+0t}hNpGoJ7cElii?&)U{Q_>=toBs_bJ>X7 qow30_s91}1VK%vCq1`rAJZg*&V}yKC(S^fnKo^Y zvBDTXd_AZ5%2h(;nALLi6vM??UQ5nA%7ktPUamFCs1{H5gtVLxX&`QfU1zq(!&-;y zr4mn itTM6Q5PjF@OZ&!t4W5RkFW>y4 zxjGafDa2GMETMP@-9V`yd*zXb^zg@CuA5ikTL7HsEO=>#h~5_Z#(`fUi!SY4u>623 z4X;;$22=g$^I*XDU}`k7O_OUQR@o8`d)?dWa#$}4N(W~GO9Ob)Z8Thhv!)i!|L9Hb zjaXy$giZr0*Gj1EG5p l3D_bA=6XjE&rG|Ss|?~=H_Ph5RL(8-7U`XJ z*ywxm)v$+@T7XGu_zX0ImDLPZjn_(ftzmgbP5bO#T*@k2*s6P>;e+G5=kuJv9iwA~ zmVSgSeYIHq7q?Q({My2})9C6iMtjH(kKMVfgE1mRtEi|HPEx;G8uTFODW+l0=5;0P z#R*@V^C`UV5_93k_vH|BC?uBKbg6~n3Xk34$6_<;(%R6mUccI0jhZ=6!Ts=@X4Q`C zK!AT4VX(9-WGd cQA2~Kp4E)wE3T@{~^P-)={k-pC^uVf? z8=nVKKwAAn`thPm-XYm@i9~OnBId=Z*I4Jawy~Al&Q&B@di9b zIY|o2!o(ObDY|%ahe_TS8MYeEpZsK;GZLStnbBR)Q7to;VQRlU#Dp(CoY#wAR5fKTN2(AW63{c`S0;f-LPWIBVZp*$xK`G?AbCLiA_ zVl97wi l-R~5+8Oi4S9AE@ &a;gCsYa&rc^I!F5 z6L=*#Ub^MoBmec4;HRG1ad0-JdmSx1Mpbb-(2@^puZ11dGfD)8YF7qPMJMKTtTye6 zW={sRzl?eaMSEU+IUlI!6<&o-;T^7RBP;WQ&+?=>=O6Rs-?JF%TQs)FXd%EE*p!uG zPWPuc(6}wg|5Vmy4ekJ19av(+Ja_mQ1vHZ?sAM$mr1RvwJ+CT!@MC#Cs_+d-=~T2{ z-d9(;vm<_x`V82LUJxwu6~N?AVK^bM@7|>;pB*$- lgNg!Xtm6oApB{i#$lVeu2n*YLl>xXqLv0qfn=>R?+uvzCSllWV z?Mi6OJt;eosbg*t*U7WtXQBJ#C6v?}Du!g%W(#INn14y@XL<#!i8MC##nn%;Z+;(w zIJy~#A?xnmy{qsIir(S(dX22eJ3HLeHr*l8);|G0w?F=RDK4KDiS(+-n{0Cv2Wpp= zp|zAhP23IDqzik;xV{|Fck+#_(HFitt{rRVX3ZY{;L+ed4dDwb$x3h~Un%XDfYEKE z(i^_8j(pwvd_F<-3Y9k6{YQ_y-=Bhnd&W>B-JcQi?W}pH6>=8zcJy^)l-#!;y!ncA zULZ<65M_MR++64lsh911ibHA8nB<@X=xcYUZq7eU=Z+r89a+~54|8v?w>q*@5P35p zl-KT8H+q}NyYgBs^?qACUjZWNt5ANx?X02vXJmX(&LIs^r~&Y-WzrLF6>geNVh;?x zekSC0R=&IB1HUHJ<6uxb>-1rxb|{B*UBBS#<-~2j6b)dB5xNkXDLyxnvP|LU_jL zP>GTocr8KXoNo{TrsphMhksZkbrilkV$})ExTc%ONpx6C>rXw!G=v{~c;@&A>P(#J zN@DG~TctiHMqfdnwORxsUZdtp^6`6X!>}<=$xREUp^NI@EzukY8j*D!)sF=emS-?v zj*oZw6A?LmzWtdQaE(Js7pRid;Kcb?QrO1AmeE0P_Q2&_>cYCqI_7)5fKrBnOw^85 zlr$Jbe#uLcgVisyjz1se*^iq?7+$=z&7b58$v9#zi<5Ztl>JDgBXB0Wk>F@|skhb? zU0ZKCTJ0gRf(a#`#S )f!?PdBLFEA8mqE%xMHA<|nVPXuF-`aB&A2NT zI8FDX xz@p_`8R(HxnC;#DLQ> z_3YcU^$OpW9Q7soRoTHsteDPM7exp5gj|n$*6n+b#M8_H+3Msgv~d!jXL*QvnKSIo zt0xM(EXEbA0(CQpFS`rc{4%~c0l_H)1|*yFP0k|bxf^ddhVB%KKVIc|w{)^&$g6S0 zkL#=S=So{4kPg+82$9_D<1ZJw8aBTje{$o(zEg&GA0-0D?LN`B0sRWQ=XmP+ta=^P zfmo7r;rxn1;m@;g1VSY|i*{_xm$we4qdd0^leAn*!v*}=ZDHUReJ9cZ_hR0hdwEvj z^uh%*^Syi2@<54sh5dPR!2TY`WNWm$3|s-7E N{A3}Sousa(al1i0hw*O$&&q&7;y895k@1tcB!@9 zKa(? R-XB1^?qui331{4T&%4flY#asmi38lp{02r7!i;N zfp2ncMc-%#-dORau`%(jDq_RTj^|K@v2rqYrrxoax_AG6JYyX&Ggr3nm39rwmn?&t z8~0V@O>G(^@_@%J<2S|7gd9hT+^d5Wmax0WbNYyzm*{h|E9~zDgGULGGSG6clZBV; z$hwoDSjgZw9zbG{1 DTuG! zsx~Qbf>~*m!&5sEo;{C%)2~|7G?fzAC@5lCx3dhmew`nIjrH)4&48QyMAq1f7pw{7 zT ;Eqkv2(nb}+&4c~AJK1ePNup=%1rJ!5R@Kmw11_`BH0Hg7>&Yun8!p2;WWDp< zu56c4YOIA+`+(%=mSZ0*BUbH~2Y4Ddg4D7NSpWXxi u(8$_ii@GbG z({~dSS7pmNK6a|piD=)}JR7l@s~0HDOX4N%5gW_iuPt$rNbV`}@O1|gyv%$WTOk)j zhZIDVCYkUEBbzFk!K1joh~h8AheV*PG#+Ly<9xuKp+KgR#d|&$tzmX!W8L_@tExWh zPZZrvl%Yn;AlVBXYW(*WA!k4G2Q*C)XI14_IhzJk8`T2$68C|Y(dbFfiq!$}7(Xvh z&&ffajSy0#3`LQe?KsV iI(VV9eeRCsGeyC;oR`UaFRYH}8GLupsb{r=7;kbDU6{(K6LU7U#8@~m;nj|Wz)Sb?qZ9z~7 zh_G`F?39^!#)rsw-0+?nMTuV7)|0@#`55~I)-~XF2P4W@Ls1J6itv1FeF;TL(i776 zC-D<65LtfGq>Zn-Kpq+$9j)3kM$u$*005Nd=(hmglx0o^wvb}VeQ#21Q*V`P0EHK< zmhy11wRTG90dzoKbe_hNBGH#TVP+zJ^*zi6x{=&t@kQ2~lBg>xNu3EhWG_e=Ep{Bf zLT|yfvYbktp|D}(TS2wu2&~Id*p)GRIizl^N;9imCwlV{wpJH6xS{+OJL)!+Wk>@w zp+EM3x*v8NqCKcQdo~-=Ov*bm&D2KmT{fTVlQi&oi>?*&4f>7b>F<2Y{d{rD_KCIS z^RX X#g{E+>sA^@k%c*k)|!Z%X;L5WZn+T(^o6d zsTV=*4JgzUV6We9 AWjA9MYh+dl^o)(^$EAKX`A+9e-4^7sqxPfy z(4ou>7AFl *u6=e*}W7JtL!Cw?$pzSdGuozyY-~StB;n?P_4+e3xy{?UUh4f zNLGP2j_^1z-%;_YgO<&m-ecj+E|@%yrxGBU?hUf9s5icfXLtHVmihkebVG@8I^w?I z@UL=O#I6_hcj8jkW5%&i@>9++h8p(l= 8h17cC* literal 0 HcmV?d00001 diff --git a/.github/packaging/linux/AppDir/usr/share/icons/512x512/apps/lnbits.png b/.github/packaging/linux/AppDir/usr/share/icons/512x512/apps/lnbits.png new file mode 100644 index 0000000000000000000000000000000000000000..38a15238c69ad02baa90336001692c8db851af79 GIT binary patch literal 22613 zcmeFYcTkkg(kTAyl9L390s<>J=bTw!B}fp-IV>PimMD^gB*`F16p4}~OArtdL^3ED zK>-no0)m3T9p3kx^PTVayH&Tos(b%CYgz0*(@#%NPp9eWj@7-TPC|H%5P~3*n<%6{ z1i`^qIE0T2{v7&$I01iN-#0M!*0=Fv_Vn^VJG(kCdk1(rFgy4=qanzD&P`Y83Kk1~ z$3dJtOv&Ow;(XK1kg;_dYS*deG)ZPVT l4o~OWuL% hG6^jn9{V@|ML&| zk@oeyPeGw$<$}ZC @$Al`u7wQQ7Cv>{P^_ M$tO#sw`RPuRLUpufYA9n1K~2( z){?gKaO1bJ_po)~_jmIIQU^h@3jUrpb}kOy%(f1W&hB!E-S#d7v$MS%!bnV8P}@_* z!O0nQ-^=0l{aXfh_g(Cy>=6p`gtGq90D+r>w+*wuo2xrU+FuUw7hY-b{qnH@g845H zZx=a)v9>O=iiej2vnanPzaXEgzq79}LY|OW*2^9(t&ddu2MX{@4&mhO?I|rF;OFPZ z? )`Hv KBYf1~Yk *Y`7;hVQJBLeD06D)iz#}9oVJm23YtJX A`KP; z7;AGWrvSlU&%s)xRlFQ*ygj@OJUm?G5SJt|U%vUTVQrvJ_BP%&NE>elfK*UeOj=M_ zT2RP9SVUS-Tv|kmM^I2&@ZaD)?48j8|0n26 =|Ko}5UjYARWWalWKLf@K z*g}DS8N+|@?9%M~Km7b-Fa96S08syDlK&BZ|HH2Tu c%n=&5JYtK@;?lE zl1mF7;(6cHR>j+Z!)S21gl#SNAcz^diBvN1pW9mW^Jn 5tMJ1gQ7u#!oa(%JEDS9RkWnPh(S zT|Yi&84rJS$JeM`Wc@%kSkPLt-BB%YbRoNSg)F5=%z2{N*u}-=QT9jZqaukQHZ3+W zZZy`Lw%|K{XDv#KRDv%ym+;_MXd! )AmWw*v~+$C+)#}Sf*{kU6fAP z)IMjX_@Ywlnb{^+U(gzF<+?D4I*ont`xL-YS aZ6!L8BwuaM!ul7ZgRz zu#D-mu&ZzqcCUS~nC{;0+^ftA4&ElZ_;YA9_H$ItT3iszpVWU^>NqT0%#Z5PS7YAh zs+t=9XRnlzIEt*4cU@fU&|hJ7%=mZ19))S=V(763YMvc(7uIhY83bP^aoRljIPtUc z(~u>OrO(K#@41>j!&>%(gM$$!4e0D6PI4+Jr6?W6YUnfKhDOsvX} -U|`T8=`vL%{uaRvAwJXY*==ucKWncUQkalx!5eQ| zyVbTnX?FDj`wyXidq;=t*=sx|ryw|>l?&%8$1QIFouNcl^*vXHLXyF_dXv-YwB6fC z tqt*Q0^x=xCfcqydE7=S@LX!K?5X z@U}+RNgK&GNKKZ7mZ_IXmW~w+S&QJzsX4GEsrBdK%*KOKey|sec{(pAy9M5|79O;P zt%nuBC++HtH7zXiYUs$oHdzv%r-g}xGLF6at#A5Zd8yl{bGNHp5{Q}oT0}5|B-yVk zd7GQ@>21?tOEA)tP6f?-m%M#!FDyki(=&7n=V&aLi^ZY4Ak1ZW>#etR^+TFi!cgSs zuOBORv#!m3Ly5Sz@a~QU1jR=4zQBI@cBsZ@gztk}6d*Ju8O7?0JAx%%e4r$Q(ECW- zfva^8biwtOg&U&iyK(+BTk9+5vY_=1HpD)aNT|&4){(dLE7axu>5cxf^0QLMLCY84 z%p SNAlRj+gWp0Ok_WZ${8nxzYAdL(MSm^f**f6V`=T!&TYQoNSGfIjY!l z2&H#T!aeu#Fxn4~A2y{*^D}l;ncANwi#q=8^_t2`BFamcafTl<>xnptMF&0d m#k3K94RZu6;x&Qp!yozpcJ5bzV$C&PB%rU(cG|o!Ib>{{nV& zBNK_x+sU1u8`{C8nA1UOq{1*mTYL5O^&uZWesoq-G=S`Xx9zMfLBFU3=@$D1C~#qU zoA?Z$13p#${Q1*VT@l)&4D)9EsWXIb=)$suPfafiP&^;~J rd}mL 3r4318M&_Ag;UoNd)G C}MlXyH&csYp5XOdi%S> zI(HQ+F9-Tl2kfJ=^N4Z@3^>WjxrDd7M{_Zg`V|H_Uvy!~3&iJ@IkUTA9-JiPTwVfC zW?LpV4jEMS7QD%=Q#4sAmP8tk#eT)3VrLelBt%kBPI4505&^vPr`;dBg}_`IAKdcS z^DM2bYKgG#K=uyow{pMD&CT_}LrM-(ULg=ATS3;2OUJk4ie7%BR7`PpbCZLzYF=9* zd%VoCI`UDhR}3kiz>?RDgMNPG;pX89!ObleMY0yVAINGMa-L!k>J3q>M?GDiYW zTXe4>D7*w }HJ>$u(1NvbG9MW?FPuTN^4ntslATPQYB zkdvF#u&*!ZVc`=0It$!=RThtRz*~yHAN*n0K{&f1ls-&J1BtYc;tmTE$<{*8ys)`2 z>F}@92qjb;xN@F>_7(F?tfwa5IC|OmESsddq9UNQu1=^DwXaeJ?MwV36>g9TjYyA< zLDl{lAG!j}%5a=AP9ZB;4I0Hu9e8cVz&R%7a9~i0ObZBxlRhOkq{^3qVh!a86UzXv z-5Mecw|)%#i8K&b-KvNS_U@(ejB^B{m9Z+<%oQzj+Idkw@s5NKC%64|2>tTXHLzZ< z(V@Gc>!|~)M;a<3&|A@8yCkxZ0T&5*O2=KF5k_I_?ojn6L&c?UQ;nUZ=jxE3%N`9m zSB&uT{H&|5yPe%iCD6&jF5HW>P%CH+h)i)In|1B?@8A2t=YsnRRj4xQc^Q1VXp<9( zJc+>at*)tYCkS6w0De{jiNoC0m&myJ@xupm$h;WHP4SXucjBEpcc?0>o99G`X!t*f z!MLH{b)W8Uwl+66Yvy4bxn#&winw5Ajt#S~RUTdmx;v1{c8Td2mzdTw1vdnYuE5Ns z*150I(-#;5lOWZw)3(_L!@@Pk&y6oVQ$@!4uv_OmRe5Mw)%N}Qg>j=(3J6uc +bf(kn3#T>*0oi^erspNPfj80?uiaV!Jw^GaMWo zbXpo4LFg4~$#`}_`%+gbHYS~tbf&GSsHmx~?#I$4gVX_s4VJGl{*I4HcO{sqC@n?X z0OrMmG3$~kQx`r7&*knLVL3n>W70+OwoGr|K1j(VF@zacgkj tk#k>|@x|SpoXX?xlcjXM N_G=0k(ma;;!sypx02A zkjfnh;kq?bhn0s3!DIjKsElM4o{D*EtHVJNtHceF84y0T1I5I{dSN89^bH10A!b z4ZO2FrW%-sR(`z1GbdnpS^y(Yd1p#bEBxTs9!Jryh0u3Yp*PdmTea9RxSsh(L11)# zVrZ@}f$m^8;NWWo6ggX{6mf*(t{l${RKIL{Zhn3#ZcbS#rHw=o_$e3k1#a}+5E}9n z0b{u9%ISFyH}skQkNT5YZ|ghT>j*?W!@;oYnYXkY2cd^Jg&*wFA`A^(pIjC|Agt`D z))$`H^(Q{+<@$o63^nFG(zF)Yo(FGH I+Dy{xu9sekt_ zZI7XA U zJgteoNWLG{;{X2q8FSq9T6J~xD3(A4l%55S4KC;qoaX?vVj$T8tL2K2T+NMi>K9o| zvpDwexD&qI!TBSVf^z+G+R4->LHl0kF~L=K0}u{`lFvOXp}eC%(5Gcc#$r!vG+RAn zli$M`Tq(JJ-5l82!8?!!GBEJ8>06NkmyLqgLw%*FaQx597x+4Rn%DJdOX`P*#A~an zI`|WI`3%ZvIDkzzH8Ugi967tyUY-72*!Iut;s9$OPeSs|1M zRaU=j(7(=!yh;eEz)KUKpkCDC5*HdW6}jjYSrj;uOvVcjUGcW)%k+XqZs1 za2_*uQ>w+t4u-T2iAvGIT_%5X22h3C0&{l-E4V!9w#MR#mOXJLPYjt!H{#Zd0{xPB z={H{<{_y{E3d|z&^`s a}jd{@r(Qr~A=&AWrTtDeT8^ZXS1T<*1 z(6Tx8`QiAnegOrV+vw`Aw3cS@^-Ab)bo`>Z+hh)pjrWR;03%m)ul^IMo?B&6;!))8 zWdMywIYg-|dz}d`i{JKKt> jPqg-Dq(0`@iH!qa=OAX1As>D2;d<1Za&my$ YgFdr$Gfnt=RsOM#hC4j z;fklGHt8>>{o@a|*R#;~irm*rOG_6u*WPCKvh~LzZCUrk1 L|B>+VFyto9%gQZ7`LShz0(xLx z97^_-<2xZBSFgfuH0j)&q3uJv2jL3o+N77O`-fW{WEpxSU-;OAHQ&Z5Bn3ech+3t$ zH7V3IoosYUoqiNh{A6Lm)GdaVZF3CzsUT9y^ a~yZNQ=Dj-hBw zM<=#mOx{sMvG53A`PE9OD8Nb)OA@y0!j$?#I!5lWFe`QS<>>V_5;P~FNw&($5C8Gz zKSh5I>7=~u6Gj5he_DGJl=up}_S}DRE}*1y;K4t3-+n?4D;IN|a9vKi6h5X+MMb5K zwRv|b<;8nj*KKh Mz40i7>)xLX$6xfL8;y?+ z)qsXY1AQ%;3y6CT*$Zcrgq}6lqO$IYWMMy}LJ|a|`AH4)8<9=8pnaJsr`;4(Z$lKZ zNWeb%F^6#q_xaXgx)DJfJ;a>T3U7O=uQX-!VH8pLa;LwnrKk%Q<)n2xli sK|lN- zXfKOyU#0LJZme&a*E33a9C}4K*Zr~3!vI2+{m%(NvxO#b3Y(j!Fe4VQ-bMw~3>)3> z6p(>0)2$zN8#<~uS*>il*H-$IcBh42T6G18=PZ)VsGo)-U&FREvJI1Y?$;iObKHv! zPkwOf3kI1}ajbz>QjN5>k41%0z_#sY(tmmjnWVTBWlwGks|gz0pg#3miL~>ipbU^T zkbiy)iRrEtq9}uSzLk#>Nj{jmrr(}I_koL;EB)t?>pY4oRLHK+0Oq&(&8o=uxlAOi z?MX+B)cKIe!f1h*<_#Rih&+tn)YR0`;6s%z;_f=*Eyy~d`4!U6>E71cOD+DPG2UI_ z%LNPTNmh=>Q}VQCCG5@;vU?vEuOwzxWJ88k&Q`-5XF$KL)#ThbUL#l>l1RRs3cSws z6F6D?+fq1z8zwexdnWe|-BaecWSa%IuJt>g^k^q)8z8iJlfo1A*Fap`s;a8Cu&AKe zRE4&A 4%Az`lh{loy{W;%s#H+c#sokzA>4-4Q4~BO|Z+wH4ydCf!Zt$L*9Q zZ+Sl}pSI$La8bwZ@9&Ec{U#wYyc8`G&yMCgWR#6-ue5;((uOh{>|S3 s#I2(0apy-2RRca)k4uw^GstyvZlFNyw=X!vdf=6Z5B`NhYq6e^US>S z_J!@ZQgr;b8ubexTwEpsIm0`8KnwvkAcoF!(G+59y~Yv6;hYr5^LDZ$3Y3xQpI%2| zXxJ!XJ1mHjTj0q9_U!PqCIYs*&2|_=$2&NB*rg&7BCVz_LZ}K;nk-!}oNg&U5vNDm zvH4dQj>iu}F3i-39Ov(temBxEq1%g3<-XK4;TI*%dB|Z-!;;K8!lD9)cV2ai@92kg zY4yK1Yp_xT1UxaeBn-vu2o@^OYZvu~{><+6yi2Lp jJ1-QP`g@WA1 zGqGQql+`2n&5lGk<4JHh|FSg6IYpaED2N@sYr34|zxF3iG^cXT#WR-c9&b;-zCiD+ zapfD)QmCm@`oO^PTIQ+Q1#9@+hBc-ICX|QS;YgGSNUGfOeb059fkJJQEo~q#t{zID zm*B_EEpubl`+$^@se2UujpM+$+n`-h300mw`x_h#q}pr69C4U)hOc0WPqC+RN++Jt z4JqP`>+siaR;=H^VX `t8Scp7eNLS{d>wB5*zngQtt(zX z-+Fn`TO(3vi9cZ7XbfV#%aFLfsFGkS7Nuv+lx(YcdIihpM+vfDdEHz%LxYbmlP+{v zsj>hi>NZ%KU<)? & zEOp&q)duyUHy2Yzsd~wYrtY0Nb_&%>;ao8kXAFG0hGt7_=d&K)Po8n!Zge1sP~=1Q zR=3%M?1gX^2+8!B!L0QlcC)m;bDL>sj8FD3)=z*LijxT{NK)jeM+ebKjPs7QFnC zU@EO>Vw(9!-cEZo8wWG >UdM-3Za{{!&(Gu;yQrll!jCBUK1sW<2~QqIS1OLmWjNjC zc=Oe@{B^lv=EM+}FH3bJ7jep{TY(mP;45tBTB1;lyBu@PAGWy6v7Q=t85}(b275fu z*P))*L-xC#HOL m=X6EPgv%zDtMccC%*f2$+;Hkpd*N2@Z{v;> z7J;o?gioRG&dbI!Ns2V4aaG@}ADn{omIjL>B#tCKPl AH{BO-Yjl4^=5ngj+>~1%tr}O1ETN$LvitRQx+s?V{d<3A!YM<6N4^spl-`Q` zNbrDk@wC87BzxHH$n3rM<0zEhRt}2weg~^_5|JVqw#+lU3lx&1?1>m1;H!GUi%_PS zY~INaT`0c{n9TYs2nytMiG6-E!A?w#Ge)*;VCQLA5>+H>bSrxr{-W=iOYi*yZDdbj z1TkLgD-ax9mvajF;(OhI4Dm`*l1U->L6Us#eFF%bu>7#(PPB?DqFJ_v#GOtQ6y(3y zjjWmG9n);&-Kn2-O}d5U-41ExN{&mdUoq;VxFb{7G<80jhBj^dP>W*9o=tJ7ebqb| z0CV#2sKpk)(@UYsXg?E9!u3qcX7x3rufpg-bU4{Yj`m|dv#IT8>FzX;2t7{1?M@2S zcxM~GmRI5LA};p0r|(Hzzhx71IQ)wlU+rrL1od;8#Xi3=lVkINGln6@gXs6uJnhV? z9 q0v#_o7%*%__aUy%R=EV9*p6F1Jx^k;e-mf W*7riM*mf(_3UMG7gjfu@bWx@ev3)dvBilWjI2NDhx7B@Hf!9?BwI zU)XtXP*ncpwU%uMq2d*behc8>n34OAwf9!~GLBoJUfVitr2}sY?Uh)OxQ~>`#6OGY z!z8}7;ba4~FeNhAiFG*S8e4k77A|Zr73o1fIngL3^iU`3eU!n5zcTAmZnj%SJp9G8 z`gG1~@2!3PmXMPdLDOn7G&4=S9|J;Cl(Q$M;me_n>Ccek60->~VqG$+J <@*-Ummj~56f?Zi%Qu+cP`j(V2Y$BT)!RVxQ8~%Ho0MF|VIVAPx1<4Cko@<$ zMNaa=Tf?^qi;}3v-`V(Hb87?)?wPMNx(v0%aa~LQu*O|+)KPQVzK|!te>uD30E?%J zMqSMCW^47`H;0C*7_tigu-+w}Nn;dsSX3vSwR#zQN*Rf|$cEC7UqX`WYOrS+1;}Ax z)7kFoYUY!|uvYVd>b7X*;*du|4IcrDaArxx*_)JZZ=(}#R50JSC^VJK$7J^-qF5$I zhg`d^(?E(iiii#DV>$2LklnMs>vnCg%9xRHq3Z!l8+w-(P$kS%l|xS?hI`7U2!!@$ z4~<^N&;w=pF$5*lR#!7lq|t?b?zRRnY2J3UgD9MFA|m5nI^WiCGA{mzVOOLMp(30Q zVkJ*wTh=`l7qWOc6~9$)-b?ap=ngI7t%Efgwq2k; *c?*i65U_jYa- zG2cI`>tU4bmU&RfiHtKFI_QYy;e)*S8Ov`6P;fnbL0>6ou5{RaTeknLZ#-C7ShG9& zYTIpyy%IvD)Ar@NCLRAI?N1jlM&1D705LkW2f)C)y>4v_>|XV_>cFN~pKd5_&xkXw zUETP@u05-D$cPqEVs{nXI$hLBZ3>S+G9p|2@+0Q#QCWbJjwU6+?Z1|DxBL71n? Tg8+Sgfa+p^$BQ-|LFKwZrF=SgeQ~DlNR2-)P6m;y10#8eVVd)%BRy_sRO`s6< zJ;1Kgb0cC?h1`8o6ZFV %nf!fv!Hf=82c7mIrmr!*2j z=z;y>a@!PW`P;+yW+WlsGUL9WxjlAxF@5km=Abp2n;XcfGkuO0yPXvmgr>$)<6(-8 z)6N>Q#^s8s9aod#nEO3smjbvDWcRB_qwB&9@)kBgu&8A6&1PwEQ}#{2eE2YXB#=;< zl|c ympPqqu7|=3)`KV(3VHgVlbq3= z5MdDzmq)Uj&dh8iPOo7)`ea1w61HcR@BK+S2H}Xj9-01o@$)}rj41Xr2ekNA+A>$x zEq49E+dI?Wj=HEGLvmz?mDhg7M7TYtR!P;Dn3rlnb7#EI^kF e;glC<1viNuUW6xSoW!4{Ih)ts2q9n-F*|Jl5(I7_@0!4y z?QcByu86Pdy?w;MaSs-Tj$`eZI{!i(${(MpYlafRYY(D~d{Aw)&3Ef70uGO2u@T>B zfI|sJ*D27aFZe1O;=+@uJU^s-MFzju&*Zv7(EbDZ6iIOPedyga78?iJ_Ik#;(SmTU zeYOI@0+lUFz5^aTA=gEp>7O0I6WtxVt;gDt`65Ak@q|!0vogvsv8e&Xx#=%K^5hz6 zxl#+H5#!d)T7AwjNJZwEX;Bds%z9T=r1B^i0}?+J=>B#U%J2uO(Y(NF$o5+Kv=<=V zal56AR S#c*aDAIVcawbt 7bOcisEpO zR*SK@i~Wj?p=D2*G{Wj#0rCPE6z$*b>A+&sD8541r;Eb^{d&+_=X)g# 5$?;u=a++blktcR zu28T); qjCmxTL^`04+3vg4791x7I z7kA-|!9U6R&G4Ge;M-?;#G=qUEWUL9&-Y%+gnDsPB72AISRT$+TqbDAHu8l@y=&7W zRdCiG KL)D83sdk9=$D%>trn{+>!tu{+bX zmwEByH9C`ebGsG{X%aVaN`8C=gyIyP?ECB nn9|rJ20yi6B;?3sk)7 z_C_rM?Sn&3kf^>*P}9^-8HHkUgpeBNPM#dirREmm6cHB<9q(>x-KdNTMxOLy3CAgE z%-UwwQRO&sOTs^)*_T>wb4_MzrgXl)UwDnL#Emc2^~=;9GL~bZ1F4Y_rRji}RiqlY zl>Ky%p^Bq3YQZ+sGb=A{lp%_x2nftA`nCZ=mfp-4>Cd)^`3`TSKBR*zu$b9g@FTK@ zkT~S}+l?S8_l~EdS`fLf3rVL(q(8s0aBlE@z~gB;+u+Y5p5Q?yV4d>`yM@=7OUiSF zj~tA=^^AXE)A}6*)_lEXvBZ+fGz_kN>r)fZV$nP?WA|hS8qDn_^eP@^#H|hrlR6n* z(T`J)F{>w6p)C?r{u*HU8F_k{I3XJ_8uq;<0_i^iXHk?N^OJMZ$3Un#Wzw!# ?52w *gh8B-I^UoSO}ECpoyq5`82kNs3^>aEx!EChun59u zvslzTcwB7p&S)9&>A4FVDdMM5H@3V#p)-L4Syp$Zdx4TdanTKacU_(;eRPx>xP3i8 z-}D!b2|U==XkU64Y;2Dy&_gy36} 2cC^*E8aE{6`~(%wJ}T8>U=p)BO<_7S;8saQ6ZSYD?dn#U^bXmE)o^|` zxRqxez2eB!mlpHj%4GKIr@q|Pjm~9c8~t?9x_R1qu8RSTY=DV0>CHlL%7qYcs#muk zWR4f*DHj)9o?znTL~a9sXL?mV(pm}LxJ1sYlsVC(4BKRgGl4zX+8>iqp@$zxQe=NC z9AiC4Jg74h8I=4q@|o(>_z1H;s|fH7Z!JwsW^IR|nAP2HA?nSETS>;5p_pyQj&Axn zI%HfqG*qC_HJ&3E=u6Fq$D4XuAei7bn`>jBE*{~s?R))8?IqM;Pl@JZT+8XM4_u@v z3wKK&*)6i9bo> {hIs>u4wl?q$M;!g(;9}FFDU4UC`N(qsMlTpIZ zY_W)`uapB(!nUr%r78DE<4t;EeXkRFtE8anTreYir&SPC4eE+o>lkxH!tCuo?doU# z2=OJaz5A3YMStvjuFG#*m=iAF7~h1EknFAXtalwtSA@-93;dE1_;wRe@stfeeAMwW z;1UKQTc_DWF;tt=!igho%Rc>1v%1(}e7Y`(L27?Dz;%s`9>etCs}_5xzd5awi9o#A z>9SdHC-sb4eE!<1xN+!KiT>;;ArzYZ>bW`czQ>(tO!B-4#qLkN{ADlqkK7@MlJ$nV z^LT|
x6^GyXJJn_*MO>!ByW#Y&i z$Rp(ZDDk3C&iI~1*=@U0Hz4WFioJud?Ys2BdX1YmL*h`RAZY2UqMtjS)*|AV3FsIy zo0~zDY` nWcZ_!uET{D+?Ep8+1CKtB zEmHFyfySq*Ju6LA)R*^;sr%#``P6fgQB0Bh-+tW-eA3XWrhblKp}>C4!@~=Ks-1(d z*0`JYYrghGQ}*WXKHXVYR&ex;iVjZk{9XR^sm*IbB1M{Ne9n3by85lxR}6HoKR*_W zFkwKK)oYF7UM0w>P1pvK@+$f5%+faX^JCG6I+6>w?C7fJx)FN35c){mrlZ(|_2I~8 zNn9a8(cQ9a>R@{X2mXVmd#XMCp?-#@P%fqc6sH;TGFu0>I5>UMq2JDRTL1Co@h%xf z3aCmF3G9*)fp!m~GQyFogW_o6%{oKQPk#k?Mth 4IPUj(M*$3e8on_edwVNboh|l7S$7dzroMLfa)q(8feqFA6DUqamk~DLVvPOQz zMlP-lDioT0dKfXgH0A>#tWw#Q&D?38)0yt?uHDRELADEew+O|(^E#22o!y2n=W1dN zrsup{j}|Q7tm`USc*F=ySCZ>BmGTKSDuONtMU@sJ=mli_d;uwc%vUNHsl;}69W9*m zX4}Bjc@mc@Ho8QKjQ5)_Y%i#bpxnqEk$24*&D0_yWXpDX{aV&wov%2NNf8M*1tSwE zjpW@PAcneC-fI_6`nrOfV)Odi5Ft&;L4L=heMh(|YsYo-@e5-c7=HNjF#tM9xDaA6 zs6QTPndo!& jn!8>g3BVQkt+foXn9efjvC#A&jZgC~?y^N-L6B5F_2Q-gg~Q;3rHi>J&5n%g zTHOkl8Hbaq0d$p>enf~I$%BI1ps3-UhQRp`uOF(&9(K)c_njOAp+b903>HSR_m+)( zd?QR1F*4+(4_PXb;-gf@l7-o+3Wws^|Lr{6cfh%vwZO23R}BYUCe53_Uz)~ z?}$Y{$YcDsmQ9MMgyXWTpFV-?&(V7dN%u+?OCPZ#tUfG=q1Q_<@774e0^Z;0amN;O zeJ4$M5c${!+`~z}<$t~D`;aCjCd(1c^tB3la5%0`w=4kwhXj3Ba;o~cRnMf$L?R}) zgsb;C5LTaa+a>aDIbsYUknnhEF|LtyNB4E?&Wj@XljGmXOfx2;<5eVJTB$@(MpLtM z{@I--w5A_x)UcDn@b*kmxyRXQ*6#=NiFVhCn(C1D0qDSd35j(aP{;#w>*jfH)Ki{q zc;wTrcgsYtvy(m3D?RTuoZ7`M_FY_uEGR;8ubrRVhVOj}+@;&&S>v%0%@&)<_MlvI zae0>4u%+?IzEnItrYae;Gvc=t)H1&=80bxK&%t4BN%0_wf*+S**pHK^=h=m?^ve(K zU-a@PUY#TMeZERaNGN l%9o-#b6ubsT>lN+AqFq`;Ot >L0w=q0O}XV{NC03r z1<5&L!lJ9Tws!XipYkgU^+PnX?pOWy_1L+6q!oolD9aQ(ae0n;(IX{;T@YL(b2bp`oZCPsPl^B$c?DpyTpKvM&63HoDC^6u(=TdLqrGD!&kh &4KC(S&ZHqd{``kDklT0{;IKRsF zAL~ylMayM{PoFL-II5rf{b25@SC2cQ!$# l|EkmW<#a))kB`sS+;-F7niX_A zceB1U?@Uiy(}sL5Fn4cR-gsw)yubdw^Us<*BfLbvV&fY@n7(c4?1x}0(_;`h{_vGI zS=8o1ygEqTJ>5NABU-h+a_BdAMV}j2f8eY8o8Tal+CBFE87b*~nv`J1z*BSJM7pr} zOxR0o@R|`LS-~eeiPG03$AdN0DxKp|yV;nXuwVhevFG`gvXP3#WA9_`waH|joA&P8 zeZ5zlR|)vB$HnS-T1Y?!{f8vtr)->YVzG;tm#Sb$7cS?6PO>-#F#+c~DNmf(T0a zDZATd{@`gYCCFUHciXzra2dLJ@45LpKp8j}pXlmy9Tir(UYS+jMy|$R3ws<_3Ki>D zlysBK@#|Oh)n7YpUnI2pIIw@aJ@cWzGQASg>t1(|Hh0Ed{wMIUHTJ_$W-eu1hS%pf zR<0b(%lF%JtPb#O&pN&($3*t%i?oXwS@Aj+Xw(_IlJ7llPNK|tE85U7-@L53Ek823 z@J? 85TQ+b%jdjOYTMjK;(%9x$De$l>4+JBXSkncL=$+_ z3%BI}H;D~_L8tYH3<;0dPj?&aTPNJt 2;R9TtSFGfoyH~ch9A#W+z;X9EHroa~@ zX$!wPf=S=J9NAg*4K~^n!v$4p!f0Rp&QAYNAZQ+jf0{Z<3%}@1cJS~m=B?$qkh=aw zU|}eT&>XqHR$Wuq*hr`-o#&1>GI^Ay%u|-TxOgRi@z2EokycZD<5*J6>SXJNciXd7 zLP(L9`t<5vY4cOc37v&HVzl)+x76;v &v5rCdmB}DL-Ez)Wq7bZ(dA-Mma|NPoKPI_}-Z}S?f&O)wr~e z+4-offY8UsgfsgW>Mm7T<8&XNsV$@3tOg!N%!u^soMB|$L)JBdZ%PT_@FJo-g8+MZ zKS=Pb5<`rPjE`ZR&2_62%9-_LIjL`aE*LMqbZM=DY}zHPE)(|ak5PZ3armIi(p<^) z;F@jT)<$}>27=A6Tbr-?%oyAh#zDDW)ZqcB4+@u8=;t| 09fqU$88@$t%u1bz zV!)}(X>zhkwK!D$0u)K~DThpk18*2eKdQP3M_uWSsUz52TXo^HB~YKw{xzic0-?`| zn`>rdWVBbde*bLWefT>3TH|6#?XA!F(R!2XwGHVG3}^*(G|2v>^z0A5e;>TWwDi*I zFUf&j!OOGH_(b2Mc!X&mpB^X%g$p*1h4PLmpT|(@Lkv=ZM_W_xC?Q~VFx}p6Asf{s zi_!_UP4ef5IOdLi`?NYdy5wAq8{L?*pTnosm-~HXnR5*5W665vc;5iS%_`D%PsMJF zBW9z$LHQs?@)XN=@Q0_JOXF4og;okb!Fi3oo2iirr32DBuHB|VC)afLc_&|{C=u%x zBJ`b-{PU-4NohBxFHdbW{`r2 gE1Q zcxyWik8jdJ`Q;AQ8Hg17MWx{e54{zgEMitIRuGk5ui=WO(Wk^I1ckoxp71t4T|)%3 zwPTBR?fDLz`d+>EvqVy=;+Vrxby|iTP#a$kJqW|>kdHl@+5b6ZD@!lb+8^S Ey
`d)Bv3O?-**(Gd`>fhQW)J2}`LVc}xV0%AtmrffP zT++%9l@<}f9i-HMv^S_EO`VbAzg)b&d@VSt?9%&O@WO*d!TuKA$G030;y&rTAn+_b zqWN8k&)Pq)MwyQOUo(@$4r%X9NOamONov}2~yH4%n?Y;0hH_+lV;lW*x zW=AJd_p`t#iR|}Lgtw3<^M{$4ne*{KqNp5TSt5?NriKzB)23b2Rlcol-_iu*mh(Sm zL#v9XCm^Va`oJ z^5W)c@VNZX=JMJEuaP|B2ZceLbBUOxH$HYB&!c$1+UNAiQge%vZ+JB1ZN3c} ^wW3{=r}4b8InVMi>+pjn9aT-XHHPm;b`J3> zmZP;V3lz8n0U*)P76+*A(=58whorDKp;brK-?DoBQxi-+Uq~dFy-af18gaL{!Hh_C zG+BP(EqxXXE>xRZS}sU_RUXwky-QwW^^>GBsM;HqeV=A-)8cb_q)4738)*A&>?xbb zt&9&gw?RjXJK6)XYbuDE$ENr*zBr=zJhOei^W7$cds&^<@ku=D9tw;8q|-{cg(c$y zd; n-Lys-QNrNn zSeK5DVnw{QO 5KK12L*M>$YSG0 z7~Y5JX@NU1PG(T;jm1BCPQwo}f7J`@Rwo|75mYSpigd)3&7Xn!%|Y) _%-tV7mt$VOa(!9;`XmU@^|j7d0zRph{K3^|yW9qGk$F<%qM*7% z5 )J0ykxSaRi$hH;uOq4y HKBz^nJpu*t$bT{7|ho(^iEl2x}_VeK%OqOd5?bkM+ zkdTpcQM8 xZHp}m68%v{-K zuw1dgK_K3KEd>&2J@d(clg7Zq&F!oXb88bTJyb2TE@M8cp*7CYU(e`IJgP3>_0TPX z6?&qzhz~hAISrsgO9#G$hwFU7XSswX pDMYHuL-50>0V8Ncbs1@$Y-FP0c;g@c zR};?<#zILy(>r%Q@_d%Zj|WXP_hk04wkHsX2@=0wogv;cOT{!%eAxr`iCC5& rT(k);#T@6Z{E9Rt)QI>4GtMHFB*;l z$jM Qr*j~kDXKSJ}hL{-S`@!y`&Rq$0 zvCwxqA^j^qK&6#YsMyZ~(2+pU5Y9aF^6As3T<=-@^_Gahvh<||@Xd=02*^{CnSM&Q z%nbP^o-EhG$KD B4?#acA5onTZ|YPz3D=?{Gt` zTYwZi2P4Lxw7M}Pt-DU_ibz)Th^}nLtlk) z!l1IrjU{f-h_sU)I_+}zE;YQp5<4a)omZqG4fJMJUv~U(ur0p@4K(c1wM1hT6yzxr zsXillK$Cqg2PN2+e}h5V7mqYTV^9P5p*&A=as=F+$9)#Lp;w~b-^N0u*58M@jc-6e zRUFa2cYq&kWePe>;R3xlmS*+#v2Ry?gfuoay$#(qfP*H*`+HrNO^dmp=+0%&2==XA zNB(yt=rIW~0J-1s0BJ=wMPxBp^K$+F>fp=+*}UHXp3~71GQm$!#8p(Z4Rgm)W=aon z-?3`yrVZ7KBk4t>v{7VnOp4O &y((uGg9jrCJsdF4}#ngQgU)~nQ(Hc0+Pf*=hA4WtU_Bo;_txzIAy~B>8H a0aYCT$wey|sC1^bJNibhp* z9nycGA1y=!J~9fNmb=VvGzS8v1>G4tT*6IANT3K)TzLS-GAsC+ 3&(k`zH#p$ zAHGe=bd+K|j$v_Fvr9pwFDpV8ay0;#Qz!UK2SA-5nG=D8@T%P6Emq{G02g&;t=jcL zTY$WvmHhDpf_=M!cwj@uRrgE*FdGK!K!U63+AtCX(Ts==wiVfICd%=bK*FFKZ9S8^ z8!%+!rU0rt3bqa2esQ1)Y?f)HN`#ZEH0LgeJ9-}K?3koR4?ru&%J+qi`vIuufBO~0 zhpz&TYiJa#=b#ZM5TI_QRlwlOlAkZufYp@`>s?uA!O-Chn6$jCED}0`_X8M{@jZdy zD#y@^Tr(Wofb6N8MtOP!ZF1si^T1+D)ew^WX2NO0lZh?`*>?xq@?eHQ^C7MX*#P3Q zymqfrBr3!e%xqV9$qK!9fRB?u?rLGl l?tHJ36dV|s(FPHCFHRwz zAXE_H=E_*bZcWz3?D^(k+|K-*Y%nNe^0dyS-Y8H@Q2q^67a-3?+EJ>WFwMI0{LG5w zHMb19(yUQo=vKGA@}2MoPAvATEsp0i--5ye2V#86Pv#Y16<6|y^&RTexcfC1N@Rz& zF8klVsic$MBemyV&~gdmTPCjNJlZ~;lJR6%u5^8Fdep-H*5w^?ANS)MdjBZBf!hI} zWP Tbg}XWX9rwTw@aZcS-X&YU z;71Le$L+ejqWViJGZQd!0=j%Pz0<_I#GL)Q) +mL6-mZXR|tt_xdH%Mi`{uZ0!-t)-}-nn-K=-U_B)L zSWR0$A^F;R!hpby9 m4gfpxWxC>%3Yc-mp69&KGaC1~TujVcW2cc0eso3+C>y=Zp z@fGW4>?gMkgmPS?;li@Ri+w^a(;x7bBPSF#KZwQR!~YptxxS}|k&E*TXN}(7x;mtd zl4#P_KUp8y5!eO5>fx55tw!eDr>k;57*(nq$ExzCY`3}3k|KS4eCB_9oPUG^80U+H z3ti|<+}hr;CJzr cedb=jr5OQ1fBXib#gScmWZ=6Wqam_=EBx58V>tH^__B3dnK^=>Okdb>Y%yTh z_Nx~T@V^Cc`1X8)D_tR`9T0tdrX1SyEeCE)%~ANR^EM^kmjgc0YY9#pEW0CCFp{4W zu&SKT#}SW|ofiA_0wFeDvxhJiOWT0WgMJC(1-u+9cI^Z2l4}+iKllyr=d-i3rB4@E zY}yzsqA`I&Duz!F4i4%$W&Ir&3h5W2aayO7Q*E-Ty8l?SAtyd2c91cjN^=~y)(wEF z5BLY7=HS`*F1;ZOEXRzF5-Tl#n5zkZBu~^fHa3FT$;OHmX80Z+#7Ztx@B66*;L4<2 zAiTm1;dh(zkKGz9O?T{mfCn*@xBR}hlHNU&@@_#>9VQ69?0#!XlqE{iPTRfTM^F&a zazJuj=q!9X$B;d-0(aalzuT>#S4^he?ZU4X^nNM=(==MlF&c(LB?Tz2va+(mEXscU zhU#3Qrh1+v&l)_WaJ~HSZ4w*gyVPTY(PTt+V;JgnX@Q9PSV*R}ZET;1-W*>mCr09n zu3yhAd8Z>rrPt=G42zD#uQ0usmO}5<9M2ztVMKO7JDW>sYExB0d>`?)n^ueVCVB0` zM%2?S(D{QPwC^!Tk(uy&Wd+tuvZQgOyT;U;@}FfsOrE4_rRlBtrH}Jpa8Y7p_AADG zBUB0C4?=(op-XPlWKEGutkAsi`YUFeaF28bN$Z$rxYUM#M`Aw&q5pK0Hrcc($Lgss zJ#^z8Jt@(mI*v*E@{U0MFtlietQHP3r 3@nIFF?DHY`4PlMBocYj(-25drVg;xj~E&n+QMv+dW7lk?7W6W-!|V& ze#yXy!-?DtjFQqdGYv>-gH@JYaVngwcpuRO*RUwRlCETj+Jc{(Wb}JM{Vq7Z7e^pf zo}>jM5{Hi(E*mqb9Gb%0e7KZ3;fmcfZh2~NE2+}9&?v-9)Sl S+xFClS$&9Q z (Iho|cV$++(XJ<x(@ZS4M^H2tKx+!dJ1L?@7{%oE2_OSD9U1~zf4pd8_uIC z6Sf&E{Ghr1^(!t#%Rk$xMb{i`%azW!Fp;#gs^?zX+x}jqZPSL8&ZLzX;YDh|&>Y3K zQ=`Qi#0YT=?cGQ>hCeGZIcxkdaJRc@n( `V8{vdfciH|Td4V>G7L2rrvW_taZs ze3$dAg8MPTv`=`!c6n~cXPN5M`OU_=ue7LQ`^<*VsTYM~?-vH;^YimB=CTRxZ=ze? XhYVa;zx6Aq4+Qh}JnGTpPQCCiY6zBJ literal 0 HcmV?d00001 diff --git a/.github/workflows/packaging.yml b/.github/workflows/packaging.yml new file mode 100644 index 000000000..0fa8dee9e --- /dev/null +++ b/.github/workflows/packaging.yml @@ -0,0 +1,73 @@ +name: Build LNbits AppImage DMG + +on: + release: + types: [published] + +jobs: + + build-linux-package: + runs-on: ubuntu-latest + steps: + # Step 1: Checkout the repository + - name: Checkout code + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + # Step 2: Install Dependencies + - name: Install Dependencies + run: | + curl -sSL https://install.python-poetry.org | python3 - + echo "$HOME/.local/bin" >> $GITHUB_PATH + sudo apt-get update + sudo apt-get install -y libfuse2 + shell: bash + + # Step 3: Clone LNbits Repository + - name: Clone LNbits + run: | + mv .github/packaging packaging + mkdir -p packaging/linux/AppDir/usr + git clone https://github.com/lnbits/lnbits.git packaging/linux/AppDir/usr/lnbits + shell: bash + + # Step 4: Make the AppImage Asset + - name: Make Asset + run: | + cd packaging/linux/AppDir/usr/lnbits + git checkout main + poetry install --main + poetry run pip install pyinstaller + + # Build the LNbits binary + poetry run pyinstaller --onefile --name lnbits --collect-all lnbits --collect-all sqlalchemy --collect-all aiosqlite --hidden-import=passlib.handlers.bcrypt $(poetry run which lnbits) + cd ../../../../.. + chmod +x packaging/linux/AppDir/AppRun + chmod +x packaging/linux/AppDir/lnbits.desktop + chmod +x packaging/linux/AppDir/usr/lnbits/dist/lnbits + + find packaging/linux/AppDir/usr/lnbits -mindepth 1 -maxdepth 1 \ + ! -name 'dist' \ + ! -name 'lnbits' \ + -exec rm -rf {} + + + wget https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage + chmod +x appimagetool-x86_64.AppImage + TAG_NAME=${{ github.event.release.tag_name }} + APPIMAGE_NAME="LNbits-${TAG_NAME}.AppImage" + ./appimagetool-x86_64.AppImage --updateinformation "gh-releases-zsync|lnbits|lnbits|latest|*.AppImage.zsync" packaging/linux/AppDir "$APPIMAGE_NAME" + chmod +x "$APPIMAGE_NAME" + echo "APPIMAGE_NAME=$APPIMAGE_NAME" >> $GITHUB_ENV + shell: bash + + # Step 5: Upload Linux Release Asset + - name: Upload Linux Release Asset + uses: actions/upload-release-asset@v1 + with: + upload_url: ${{ github.event.release.upload_url }} + asset_path: ${{ env.APPIMAGE_NAME }} + asset_name: ${{ env.APPIMAGE_NAME }} + asset_content_type: application/octet-stream + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file diff --git a/docs/guide/installation.md b/docs/guide/installation.md index db763bd6a..d1f0f8741 100644 --- a/docs/guide/installation.md +++ b/docs/guide/installation.md @@ -6,11 +6,23 @@ nav_order: 2 # Basic installation -The following sections explain how to install LNbits using varions package managers: `poetry`, `nix`, `Docker` and `Fly.io`. - Note that by default LNbits uses SQLite as its database, which is simple and effective but you can configure it to use PostgreSQL instead which is also described in a section below. -## Option 1 (recommended): Poetry +## Option 1: AppImage (LInux) + +### AppImage (Linux) + +Go to [releases](https://github.com/lnbits/lnbits/releases) and pull latest AppImage, or: + +```sh +wget $(curl -s https://api.github.com/repos/lnbits/lnbits/releases/latest | jq -r '.assets[] | select(.name | endswith(".AppImage")) | .browser_download_url') -O LNbits-latest.AppImage +chmod +x LNbits-latest.AppImage +./LNbits-latest.AppImage --host 0.0.0.0 +``` + +LNbits will create a folder for db and extension files in the folder the AppImage runs from. + +## Option 2: Poetry (recommended for developers) It is recommended to use the latest version of Poetry. Make sure you have Python version `3.12` installed. @@ -71,18 +83,6 @@ poetry install --only main # Start LNbits with `poetry run lnbits` ``` -## Option 2: Install script (on Debian/Ubuntu) - -```sh -wget https://raw.githubusercontent.com/lnbits/lnbits/main/lnbits.sh && -chmod +x lnbits.sh && -./lnbits.sh -``` - -Now visit `0.0.0.0:5000` to make a super-user account. - -`export PATH="/home/$USER/.local/bin:$PATH"` then `./lnbits.sh` can be used to run, but for more control `cd lnbits` and use `poetry run lnbits` (see previous option). - ## Option 3: Nix ```sh diff --git a/lnbits.sh b/lnbits.sh deleted file mode 100644 index 38518fba4..000000000 --- a/lnbits.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash - -# Check install has not already run -if [ ! -d lnbits/data ]; then - - # Update package list and install prerequisites non-interactively - sudo apt update -y - sudo apt install -y software-properties-common - - # Add the deadsnakes PPA repository non-interactively - sudo add-apt-repository -y ppa:deadsnakes/ppa - - # Install Python 3.9 and distutils non-interactively - sudo apt install -y python3.9 python3.9-distutils - - # Install Poetry - curl -sSL https://install.python-poetry.org | python3.9 - - - # Add Poetry to PATH for the current session - export PATH="/home/$USER/.local/bin:$PATH" - - if [ ! -d lnbits/wallets ]; then - # Clone the LNbits repository - git clone https://github.com/lnbits/lnbits.git - if [ $? -ne 0 ]; then - echo "Failed to clone the repository ... FAIL" - exit 1 - fi - # Ensure we are in the lnbits directory - cd lnbits || { echo "Failed to cd into lnbits ... FAIL"; exit 1; } - fi - - git checkout main - # Make data folder - mkdir data - - # Copy the .env.example to .env - cp .env.example .env - -elif [ ! -d lnbits/wallets ]; then - # cd into lnbits - cd lnbits || { echo "Failed to cd into lnbits ... FAIL"; exit 1; } -fi - -# Set path for running after install -export PATH="/home/$USER/.local/bin:$PATH" - -# Install the dependencies using Poetry -poetry env use python3.9 -poetry install --only main - -# Set environment variables for LNbits -export LNBITS_ADMIN_UI=true -export HOST=0.0.0.0 - -# Run LNbits -poetry run lnbits \ No newline at end of file