From 206f85791595f38f3f23f1e9b7d407e463529a32 Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Wed, 26 Jul 2023 11:07:55 -0400 Subject: [PATCH] remove snap for other getting ready items --- snap/README.md | 15 --- snap/gui/autopsy.desktop | 9 -- snap/gui/autopsy.png | Bin 48497 -> 0 bytes snap/snapcraft.yaml | 174 -------------------------- snap/version_update/.gitignore | 2 - snap/version_update/requirements.txt | 2 - snap/version_update/version_update.py | 75 ----------- 7 files changed, 277 deletions(-) delete mode 100644 snap/README.md delete mode 100644 snap/gui/autopsy.desktop delete mode 100644 snap/gui/autopsy.png delete mode 100644 snap/snapcraft.yaml delete mode 100644 snap/version_update/.gitignore delete mode 100644 snap/version_update/requirements.txt delete mode 100644 snap/version_update/version_update.py diff --git a/snap/README.md b/snap/README.md deleted file mode 100644 index 537624f3d9..0000000000 --- a/snap/README.md +++ /dev/null @@ -1,15 +0,0 @@ -## Installing Snap - -An Autopsy [snap package](https://snapcraft.io/) file can be installed by running `sudo snap install autopsy.snap --classic --dangerous`. The `--classic` flag gives the snap package access to necessary system resources (see [confinement](https://snapcraft.io/docs/snap-confinement) for more information) and `--dangerous` needs to be specified because the snap package isn't signed (see [install modes](https://snapcraft.io/docs/install-modes#heading--dangerous) for more information). - -## Generating The Snap Package - -A [snap package](https://snapcraft.io/) of Autopsy can be generated using the [`snapcraft.yml`](./snapcraft.yaml) file. You will need [snapcraft](https://snapcraft.io/) on your system and [lxd](https://snapcraft.io/lxd) works well for virtualization while building the snap package. Since snapcraft needs virtualization to create the snap package, your computer's hardware will need to support virtualization and any relevant settings will need to be enabled. From testing as of November 2022, VirtualBox and WSL are not good build environments. Once the development environment has been set up, a snap package can be built with this command: `snapcraft --use-lxd --debug` run from this directory. - -## Updating Versions for Snap - -The version of Autopsy in the [`snapcraft.yml`](./snapcraft.yaml) can be updated by calling [`version_update.py`](./version_update/version_update.py) with a command like `python version_update.py -s sleuthkit_release_tag -a autopsy_release_tag -v snapcraft_version_name`. You will likely need to install the python dependencies in the [requirements.txt](./version_update/requirements.txt) with a command like: `pip install -r requirements.txt`. - -The version of Autopsy can be updated manually by modifying fields relating to git repositories and commits in [`snapcraft.yml`](./snapcraft.yaml) under `parts.autopsy` and `parts.sleuthkit`. Specifically `source`, `source-branch`, and `source-tag`. More information can be found [here](https://snapcraft.io/docs/snapcraft-yaml-reference). - -*There is more information in Jira 8425.* diff --git a/snap/gui/autopsy.desktop b/snap/gui/autopsy.desktop deleted file mode 100644 index 0af2c78126..0000000000 --- a/snap/gui/autopsy.desktop +++ /dev/null @@ -1,9 +0,0 @@ -[Desktop Entry] -Name=Autopsy -Comment=A graphical interface to The Sleuth Kit and other digital forensics tools. -GenericName=DFIR Tool. -Exec=autopsy -Icon=${SNAP}/meta/gui/autopsy.png -Type=Application -Categories=Forensics;DFIR -Keywords=autopsy;sleuth;kit;dfir;forensics diff --git a/snap/gui/autopsy.png b/snap/gui/autopsy.png deleted file mode 100644 index 3173fb97b55ba1b34ec5dd4e41383e402f37b482..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48497 zcmZ@D*A2lvNYPN--Cc`oaWC#x3dJROai_RDg`z1GcXx+UDDLk1=K1mc{8qBo zqfq609-$Qf>`v5Nsq>BmscB zc=Ts8MA$Kfg}jCe0N_Ih06;H)@ZD-eFT06x= zqAQ*Icyb=IiKq2Dczma|;7F(Sf`eCuG;j{UfoYis6X_^l*};>;dFAKk;cj%NJ%8zF89_1bTkT_;_?g4EzU5k#=h z(Voy^tZOMzCdfw8AAju|KSbvRQm+jLRI+=7Ax+(g+irBS`MpAONcMlts+7+I|km6CkeoQ>D3pAU7u^ z_NAnYDkLnB@70swb{+J%2eJwg95^JA2*yFGJYSRCScmUDIE%*W!xR!`Xm}AH+?eka zAjE>7?>U3Tp)kf(y#Eldpd5F=oqhmr19@LH3bSG3IA7V}Nnzprm18!kyBm-X;YCn3 z!(wkx{{X?@BsBwV8R5ZZqyAcebfqgpB?IyoE8DbofnOd)g!*MIeAqKiosZHQBB&}# ziG&Kobcf`zf?YnKWM`ysor5Lih) z9Q<%P#Ee3C)_Yuyg~>6%YPN=di)D0&etXudL7Jp`TwJ zxbP2Lfs2)$*x|9Ks~+tZ*$*^Itm#5QN5-5h?%YFsbmN+883}!eIIkN-SLs6CA%h+ewGSx#VwF9_E*HER&$+Md_WPIr{T14g+IS^ zH=I;F^`R{`a&skDSy$8joXzXrfewlJ#|=jj#nbj&0m(Vl@a~+ zFud57L}=s#r|7`avTHF~KaM{T?ng~3wb81A+k3tmw1^LtWa^^-bxaYt({VQp0WmK@qou?a7JMXelBD72JNLi?t z!T0rN|J-Mq2fpeH#dr1=cyok%vno}Y_tfb|iJP30j4L3(E-_D#9NH@2TQ7tI<1cXtEv>ZUBvv@`F6H9TSesYN zPJCI@_&e|xxF~jbiEQa<=FSMfkP1R_a#X5c!V(nvHKg>jJ;}5EwnX;JkfxYer2fM% z_&^PTS3$vy3D8LHNmJKX(bdKQ4`W%nQoDukV}w->UzSCdUbWVzk`+jS`NC$m@7^Zp zWT%`h3<=Pyu}&BY{@Pzn=&p@4u(x!j1Iq}2e6lEi5S~59`c^m)b45mwwo}vVV&D>E z_s*B_p-0oIh+QNps1UM)Cqc$Wegp~6d~*49UnC(k_+n6FQF@riV1BS(l4s|`S1)L+ zhP^0v??8FV8Sv9cxcJ6!v4DRkumAU{rmKj7GWpH){8^+0jB}gbOl^eRUh%k0;eA-HT}$ae->-a2{f7hCWRR};voi#QkVEjP zqUU_6Sn%0Y?W&cNvIkRhBeH8Vx8J1->7m(@!&*`S{vP-DUza2+lvGqe2tup6?lz)~W%z1W-8BWxh`p z*+Q>8J`#xepx}ysl(JPjj_}vv@8|`Pso_ZRPI+uUPJaUhs}i|(kMXbv{?=!(%#~Rx ztZN*aTEg$$(tLPbR^wDYgA>6fYlHRXw0`@Ftw@cwi{*ibA86iiv9$0)A}v&fOH{U6i4p z4F1IuN>R-ob|zV1I#aXIj;nTI5}xjkkQu57nXv%~z7-{0PN5XdX3bjMf@v)tJ;mnv z1F@!f4}7u9zB4uTm=t~wn-xvfSc0ZT0A(hz0kia9`s*e=VD+?}C#}Qt=9&i@4{A

If9imzlX=SMF_;;Zwsx&3G+kwLXVs2ri`n_IT$Zg?90MM=> z_{M@D??B5JEs>wH8AXPKRLdc?tY;J-gd$va$;U@$z>euDp2?Y(mb&{Yx%^c}h3vb= z6zT`(j%TV+P#+?9zP5>!gNnCT`gDbRnEnAes7p;`9(#kOcubYNo5yb)Hl_M}aeGBg zBmCH3c0CHe`Ly<0t@2qI))UQ)gJWj9xM$ZUi8};soVSIG$G)!5ziWsQUzL%M1cdt& zwnt%6gyoZk8gXdt+6hBQ`m z#MyZOVN+0V@gu9G0{O0Ka+|v)#N4%LImW9`|GA4jP9hn$%TSmQ-8&KyI5Ft@`#k3iJ>_5{zHbRbv#N`WeUn&APY&fj2 zgvgs~Ygx~Bw;ySzMwSqIis207E{*`+LpqG(e(jP!@LS91TbzG#!fz{bZ&(pUYzP(< zIH5q;jB`4UHnWbt!(hm?Vq}zqGNj3rro;(P4rg-3S;s526v@*-C5c9s7F8kXV^+GU ztz%dNqbBdqK8Xle!r5|IVLLO|R=bd23={PjsX9Os%9U>)r%Oe+43vunHpE!hb5_jT@&^n?-_}eeUW|8%@ummIQRS)?T z^QV2#!pgWrjF6qav?8~$N6VK6xTLyb8U^!04nT>zVnI^+zhS#)#imXT4$|cBrj1Fl z2^)tgqK(Wmp4xx*AFZS_`}Ju?>ubp-!4mGY#~oYr@+pOQGDgkbc$1ySQ~*oDEza4g znxd+LocVyvD}QqzcQ2H+~u*xEyRbBG%**WE2d4uTV^I+HLQBeyL}ZB5eF_?MopA5RTw69 z_LH5w^S@@BfMeb8BLon)bNHWC+_9xr*;ZeWMUxdZ@wB?c7TGG#B&75y^k~o0l_wPA zF&sDINaa((bC<%hK!sa=)PR+9-30JT*42ESgfOfr+uEz5)*92ERr=B3P8c3f+5Q~6cy+=6);$4W86k-XUw^+h;f`55SisD! zdJOuHNiyljUj^B8KPpOE4U}M-f58`KrIl+U*BmGkM1%RNxG5Sbl^-zFei$&d5qrs8 ztne|E9h*57MX#;PovKVVpw$OgMmk}&>F-@T&41CZ*R^E2ZZt3{ z-c4i#?vY}j4MJ&vlEN`wvkgCOiZxCrQHL5KYhA) z;A)N#6jZeUw_VID506^fG|)t&rbHG5gqN#sl#-VO6N^I>al;4bFGf=5vx6qh03#B8N|}r!j-}fo-Lp@ec9&Yv{zl zW?4{sc8MOA%^IS3P)c=q20#B`FcLhKnLeL7e&Grxm{E;5o|~hQOI)##SJydns8dtH zT!)5oO0l4DjCh|@NVFD9v~}PY{!iBsNKNN%_;vf<@_j0rR8-J>mVv`Dj~vC59YM{@ zZpRB)U$0N4jy#xQH^Rl|J?-KNoPUY1*oUr3?BC%HK@+-g31M%yGdU8XlZ9GjQt}Eg z3Lw+{JAw}$krz@B)owwp)!uk7O1Ec{oy?yivC|i*Af}McB&R^2|9<4>upXdTQ$c8p1gEyz61ymVbg)a)o*J5Q zb+!(e++>*pPEcAkz8AcglS|uh3GW4!!LA)_QgV3X?B)N)=X4Hwak#!8IS${0yXSoVaV z?ct#0vR6BW|CwuoPyp)Uovr}jX_z(D=XGKX68QTmfFP6Aaa7u!BnMJ<@@K*@_l?Cg zpCF&JbbCD8>STRV4lcpU?W8c8lD(ky@-dYOx`i7?*?2f-M3~c8w*AI}!B9NbJ}T9< zlQlNt{2SxOd}grVK%*!rH1R-XDUQ2bSh5%w6NK+6rR1Mz4Xs zb53$sOxO`ITtX3I+1VXfq{kQ;OY_z!Wk#OSHiA<8rap_Py5<{-gf2s8(b*YyE-Wzs zvIe?Drn9;fwDp=TMIxOL7Y-Vii`A?*HW6ZLaX4ZIRj{Qo`uQ zzd>iNrF?&!AZ7XW7&~R31(bs;b%5pA^~@`Kl(A*k+&R3KQG@`7jvCM)EEE(PY5pW1 zi?goug3dgdv4fCr=J;7v0*A{H+oqu50JZqI!$h83NX_#(e5!0{WsC|Ay1F_b>U)~^ zaNEukLNSS5Tbz$0+qOfjTVG;epoD&3(eWW?+Py=ikgCgK;X}7GAGnub&V|g9EMc;so<|Mv9e#wv49Z==ggh) zclV@xbBhIoxZb{ncZgE`;_GAjxdD%4A9p*KWeLl~Z`RYrnLbeK-5%Zs%Iec}-T0CP z8IW@4NK@WUlcvmQL5*{HNw zZ@!sLQSLXwm3y(d674F8#7D5@a0Ni-do&dAGlYT!tQ}_w96c$%d=9SjU)Ngl5L3rV zwMmCN40N)5P8l;P9>Wp%*711~UX&;SX!a<6&nA9O!$ z3?XxSsx#NR$zL1$wXBg8N-3nEY6w7qOVltD5k#7i%KDMq;U7ATrd$VXQ!Fv06KO`- zkpo0Dmr+B}0+Dv_q+taMXEW&MK3yfV5`iVB@zY5pU-t{w0*RjR)Z2T7r44w@69wXBTTLE@!tw)!BEarb7h(bDfbncmLF z6~5KnLe@!OHB_Jz2l^9Df>8U`2aX5l^^dBD@d(9zOSSI1yXRjtnh{-4^l^F&kc~i? z{64JNwmA0i{b#N>oI*>~i2y@tF{Q+3R=XaEf--J6g>KD;XfZE7?#EDw9wQx-m@xgo zH=S;LUTXAy9rIfW!RN((z%O5B?lHB?%SSRgb|{h z<*Jj9m0CCl_T;6vovgHRwCak92svNv052)F@XP_jWB7G5@YN_5NHpFyW~qJ3XMb{_ zO$LcX#WPP{v^MHv55oCW6gH)=h6f?=`9@@l^KY}9vpi{A_@+I&Ger&boRA)14o%+) zfs}j?jhSXsj}rUDRETelwi&nyrrG5rx_6*J96yevgH)iH3_!>nKoT5=)XDzBw$<6Z zCUleWIOFf8ky+*8tki&@`%t0yMLa|U?Wd91=qHQnALg^KgU9=7H}C;Tj9XJ@7Vq{} z_UAAb6fH}5hqtYUf~tGCguK2?9MjXfmZ|))+pFH}q4~Fqj@jmG(wpumQlqrakI<#5 z+<&XiJY~@Z@%FKkXTS&sPY8=cK+-wTI`%~gL@r4GiO*=wk?#qa*(fJ6jMBCV0cd5r zBT84Q95-J_NtQ}@M7>49@%W421jTee63-SIKIC&U8zgmXcEE;N!oGH=@!v4@js%E3 z1H{7%e(NV32q-(QL|L_#H9Zmz@;cyh?H^dt>Enhqs^&@zIp=lj*@gSZmyIhEu$Rem zFPo`8^>ip%2JS@&Ff(KkFW$VU5Tv@b^ROFzAad7vHIh$apurMqPF;!8&b?+YnUi2| zL;~}CVKpkyx|!5{nxov;W*R&G4S~N~Pc6cnMpwE)@9JcCJnH^`nUkE_ zsFLW(7uRAnuI#6}vfjMPF9&5G=Zu=GD#XUw$x#W2**#q?U<_XAAi(XQDmTCcnM!%= zZJqFxp1gTv3dJG|nxE1VCP@TwNCG)z!t^R?*64w{-o6~Z8CM_l-v~wmg7ur_2fpFR zo&)xPy=cIY0GGpEy?MA-z%a#7zS~o0MCkBRv;k||A%_7yb37G-BCX)HyBRmh`NCF# z>IGbVr358{0+?H@A#5vNRBFmjok3~L`cw^$9H}G5Y)F#%fP%?_i|UufOwpbB?_KL=S9Nx(5n2H=y=ET$#yBt7kH6L=(KZm-N2-S4Zqs%mu^by69g$(orv9o#Gt8Ikt z8LHSVxjLs-eqajQd&6)Hk3In6c8t|?%mgxAg6k;F+N&$GbcZG&QhAeM{XHG3WcK#0 z@se$R8B(l+fkq|`9mW#>LrQoh>jkSM{eqtP`SBD)RSUb-uH>^{9t?DV*E{2-*wlCb zGzP5?NF!y2`4Xhh`=ZN|t)U;Yv`rRI_S^VtZKu4BnoQRFR<2tH1b=y4nY&wkze;X; zx=*u22V_Y>*jKY>QEXRl8rdDl=ucNRh+q zcp6CvWSgp_Wg27vLDrAz%^C|1u}+38zYNA$**528H9`xz39C{M1w-Zi;Y(IPX(!jV z49hzf6OVMizXD&hc#!LDsL;#&pT}~zbQ0U$ebz+{uNl8fPRFO$UTW#j|J?{DC;7JZ z?O`iIU&J-#U!)x!|5+FFcg!Nfac(oIj+aU9s|Mv1e~)-fyy^vzP8O&5vLkkfo|jkC zlYr(vEYifr?JI;D220T7);%uzPo=-ce+gHhn&P?#KXN&LWw?RAj&s5dgKwBl2~VO$ zB~abaidf9Xc^Q%f7}z-uc7Hi`@2Qz$;&zjG_j+2hEj9G@Xus@8WfJriNz5>^k<9HR zE%u~&DK5H^rPvDWX#G`%*pRj~`U@B)ahNSpV!;>YCkxB_IvZFHb^hLKRkmdtdvE3a zijZvR!O>w?g|n%U6k*V-+IrNW5SYih_}wYf^tVpIJJ}cQz_6>XUbpBq`oE$GUAocn zH_F9Vk^oDLI(mPTmP&cM`fem;w#HrQqOepUloAkv61r9y|4-9^Sh`b;Ap-nhX~xQq z_+uX1CK3$oN}3RkBP4wE8^88jb93{3MkZHm?jubPULr46=D1n8xFa*+nuETrhoze6 zt;Yio9;(>S__rhZ1xC@80~I-$bVxSqOGWptqtz}zMKB4^&Y+> z@$@$il3x^q;XB#^x(VpbDNSGg_(K}rxQ9@kgnV@EGKD?A>qu%1aY9Ly#|m@0p6N!H zVogZ2`Rz8UYzn{ ziPAVQ>=y;x>AzyV}_V{OYzfx0^l@BrKxXM46s0TM;UNvEP`OT6ul}^sXx(P-gptZ(jRVNU6JoS>6&?i(wr0fNQHa90YgK* zUa7iek|Eh0;zFI4=g%>JzeQ0Cp}X0MK{(+7m98_Gp-(_ViEAAoC^8SdmT=l5{hc`7sxMIm;NUQzvPah)XHM1}b)< z{K2EbZ=8F@qJ*frT*kvQcD~KyN`%Wp%9BP|&OSD6&+_wp($coC z@BD5B(HOXG#f`%NzLeX$8*x0`JpX-wWVWe7q9A-j&fBHy{D*R9(?*nNLY+)bFw*qGe}Ov^4n~vegR3G|N(Lh}5kp zWq!;*%s-XGL}9$tu1Ua{6Rp{6@V=9|-$6@r(z*n4;GjgNAk`=r`=dwo|O$^cVvQ9={v(|;smaT{CSR|9arl3ziJJ@BmT3u+`J%3rk*2< z9urB9i?uQ=HEvZVUI8BH>D9!Zc&FI+Dvvo9>6>hBgm~h~`A^I!KY@ZvTJ&MHRrizJ z4ZJOYJi_6qL>6rwVv|V+u}$r*p7!tz6%V;xCa++M@|gnjIwOYb$`)GXd_gJBZIK zAR*#>b2QGb1;V+#Jsl%oYiAgA9-dmFQKXe093hsotO}UUH5nyaj}WI~i9A|q-oc%( z<4m$;RxeX&RWGY+l(4W1QmqP7C37C%k%1n!q^}I=jX9~{7z}ZtD_Y^Q%g{TnTk+3(QJHa$rpT!3j2NM-hT)*}6AdaidSnjkjmH2x~pv%EgNo;rbP7vntB5Atb8P&)ZYdB9KS5c)N#Z zSt{$93gptV9c*{IKG2cb{SL!xV4NK;o5(->qJ^ zBQFJIwddAYvG+raW2V{FDf+Vi^89hfF$v$vlG0bpYymXy>)chrwllb^=WWmC0TiFc zRGJtRQk7s?ym$R;JW7}|&~pdv(9n@{2E$vU`a?712%Pb!QTF9=y=8g>ndpY%eB$u7 zvm?(tFs{WJIozwu?~|CO7jB_NUWnsEB!>dAFmdfIV=8D6C(b5QX1BWNfNQxEEHc7M zcyg?8HBUnD-XF!~6rpf!J35{WX=4^!bfC$w)OP=KKU$JXn`)ILKGM>}2vyo2rQDTv z=oXjfHicx>a>Ez9>N>}WgA?DFq94b1*+p;ZnLL9Ooa`kjH~|JXK98DZ<@m);6I@S5 zyFFcB9E;L?*;I$ixVT2V8dJ+>3-nDa?VQtk<3+mqcAf5bMz)ydh~*EiwA7VB{H}i3 zt9Oj{yv|KhOOBi(oHF?C0v;QQLCmjF!$|@D7u!S^Ott298ZqCMo~IYjc55u?qpJdU zpP&3UXl$CV*o)kZ0TAMEL|zbQo1FI}^>5NEz(35oJ{|D)n;pG#A)wX-oV5PTtrG7z zUZFq!f4ow}eI~{J2CVJ05G1hvP;?-%!-g`U&Ll*L)r=L|Y+ZS9`ppux+t z1~-T5jODuTBSR=@dl=A`hJ9%wV!a0GoxeA^Yma%T@RdxOPgRR%Rt}!mD4; ztF#A7e}Njakd$vC&0jm7fGDeU;$5tSU7}3`)hVc1taN-X^k~9kWWs)mloT2TtzZP% z&v*LlOkbZ*vP?GlJHN<1W`CJq2V%i>W}UqDtzYA*?M0&k&VPpRS!;-4DBr6xhv{;` z!B>B+84&;cC8#wnr+9mbS?KvbcM!IN!2%W5)A;haVuGIhkJ|WGAIFc?Do$|e#CVNa zYfE2)>Kip1dRAE`-j|65CYcjJ7BW?YZ@F6hk)eASM%BueRD}(HC>%X6U*VTML&hOu z^Cs7V7@C9mQRamd6t+;*G*W~cI#+rQAX1TbbFNwo-*quoCG1u~K{Y%Pvnd^5{SHbq zosDaslO0?%X1ovck5DO?1jt2NDExhS_~}-^%%|E@bA`RJxL@;X<9Ml-_#f!Toamfk z&DQ4>kX+STwktV*{=$aPwd4mNZ*?J$qxH@9HOPwavRsCIvz|TjH))M-@t{Wr;7BFd z%78o<=T)m(HWd*lSeOT^bzOU={joF8X5Nj}J9!x0@<2biqjI^0-z1vFKx&uA-U8YZ zcA2qN;}eGFF9qnZJ|t0$F<++mTsCbeqe!1jpdopV(1u#oSxwU3!>E?xI8_Bt*&80V z$iPX2+Q%!SBpyrwov7)gNs~Vp0P?_%X%QoN-J4EyFBgw;`j^r?3L$a?i2?IFpy#dA zsJLaWBc@)OinlF-d!&sxW{8~d6{el+`4)PWiX~Z%7{{$VIRCsuUife2)fd)AYovkPXImp zmpbCO>RZ8Cr*nZ=t_2BvnQ{&Ir)kpNz&ZjQ_iOD{dwU_goHBhp!pPbG85I8+N%y5% zc26kNQC1(t4|Nu5*YD3K2}|h-}yV5dsV20G5P|~+fozmHlST;<`N_DmKbXdXk3)7xZ^+S#(V?wi^@7JJ4Fw0TJoGi>G zrDO4s0=&{IN?pL&&cYoNd8FSMJRr!)`RXo)3W>Qjli-$RbVr`p-07(&CL#Vn%Ne&7 z1Q{^*EE!6F%-wQpEDAMb`=cPN2tt9Wh=Fd4y`o$kHdOnW}!dTmeD#w$VF368};mq&eXs zQo`=xU>$DkK`aqE*(+v&m-;Yjz+V(_$tv{tM-fbJ)gw}K!i3pfSNISmC3sIb%Tfxp zDyEG-(Vz*55<@bI%5et%`2E8&P#;sS?h$QpgF%?a`UL48*WguX?|mt2sf3&ZcwJ5& zuQfgdQjQ1mluBZdqK`Z!7LsLC~ zYgXo_=tfcEIPr{j{ zWw8tGg0Yb{(>uO_Q85ja*V7Jv2X3p!oW1YFtBthSN_HjRRw!L~)1yIyo zXR@*zBn7RE{TAkc0A?rT(#_C+7YZ;>hqT$}N}J67=T4-y*oLWHlM8U}A-Y%8sW)nf z+Z#(%ES*NwCebggQZ2S*8qQBG!B)a^gu6a;-xgptJbvNHy*ska!eRAKZJxsa5ro0R zar0&ry^I*m$_1i~KPkR9O&aa}>{UG^b)K@QrYM$|({!}Rm z6jh$p=Nn_}e+C3Fy1kKiOGc8ui*Ahco+PW7Pv|e^krT(Qr>Yc0Lw;3ur7ZVv+EM-{ z5hKk9i)0>xJr&}sk-8zRH5MQ?_J2cDZziMp4j<oU0&`@-deyYOf7ZAD^u}&Z5ZkbDw63;S1YnqHPtSGZeQX4b zdQ8nwshU?d6@cUHZQW-YqZI45qo(14;G&EUL%sP-Z~a?@`W8e9xq0}yVaZctQYa(> zwKlB0N!k%;*-|1*aGTT(qL@+a&=iD^wiL!v2bnHo!Lpx3>FPzn6qw#W_b8q#7Gpz` zGYRY(xCd5tT@h`de^z`K9Cv`HSF@m;mZ32xJ8(Ywj${-)Y=V0YMUp+;Ce3nNoiqnf zT`L-YIAy!S^ei0z-ijpD@YdB29wAB6iBKtUl6gI7L9ZqR<~Q!gTnM5$MG(l9E8*+e zjI>y8z)OFqdnbV9m(#$q2dlbyh!S=3`{U_IDJ=x~sgZ!C8nr5IIf`$Mj6*QEnu_yMv@1c90m3=JWS&Sp`B6rL1S<9|RC}Gj+|XH31MDAXAhIQ}fxZGat%I_2vU&Y5XR6595k( z4z0TwI^_73l*nnL|Jn{tD6;MaS4z>Knoj5|29V*M#VT8oX4bi)Rj^L7z$p~}NM;+s zZaGH9WkM}mg=w_jmUrC6_--!uXr3WrEXo|-8R$KWX=i9`wjs2(5~3ySWz<9AP)I3* zozmsmMw5xJ0A7{VBdFE`(d-Hu0DsIjkFmIHy62jKW$74|49aQPWCOVNE_jeGpE&=| zma&G~MuJB&)&Q>(FOI%?g(J~APoaQ2VwJ2^qZOlsTCZndls{e0%_Vdj`sZ6+V5%fQaU3sE(t#S37Iw0vS98FX5)#jlLk+5y(TC=o zEZN#kWAFyyN-HMV23b(NlJo1LjLOneHVoS6i+E>O4XhXm*%c(R$OT(lY7~%pAG+yv zv^wKaD7D84OJ+v0!fb{A`sy}6EdyQg@4=*IU2efF`5_0}m!cT*81?O6G83o|+*jO% zSVh+PD|+_ZE-b%#r6fk$iF8VX!x+N@e`^>J6lro-NN_CMqF=eOj7`?r&04cKP^b=X z(IndR(^e=lhaGc$*u|^;fp4|g{e>lFQldIC+d`kOJQVLLx_kkbeYv{DhsoNIcOda| zy#-E5@J8dQtV6NYv{B~Xzt%HTgRv_U6Rq89-BuABr9L-4&t?xQ%eG=Y43=GBWPA9V zmVBh4fy=CgvZQuvNK~>>j(P?_F9Qh-7kG()wWKNgpYgZ+&Ya}iC)sX%jxmZlV|Wq9 zP?|U?5<8s8v+rZ}1+gI?^$1c|IH;4eG}t?>NIueW!mddWWq%lNFe6X6d+r)zM{)kT z%D2$zl0_ZXcHBQ+w9_RezHLjGID7^X_8_w^i42go_yO1y%S@!fTv;Qn*3 zk9D-dCsP>}=A)L=4BU8U*SL5w#o|L0ZpcXTOufwUQVVd}G{OYp z1YMsQMwOy5FylG+I3LJ_0c!r9c4q2H3B`5;-byua&A^PG01UQHRY~4p>zo(tKjS6b zY=Msp#*TUC6`mA|DgaE!DmoDhp$&%yF{OViRoD5WB0d`wi;iEtN4e?KT?UrIlwwly zlTj+;tcSFpxBlV2kg2Jtr_Q3|3Y{BKRhPz~WSvMMij2xDMys~=Pxm4Va{8t)L@85`HU4H-P>wKM zg;vDH)U~w@{R@eow&!*A&#Q~9n3WwP3*8sqf11zlRv|SG%eMlh6%aj!!ZTYvssqDO5YkQ03$xqHT(sAhbQe ze_lK*yPP*<`17T$jmVk5UhTzK0luS3=wQLdyq0A8Z^;6L2s8DzzcRsM=L~KQgKkYe zj*h@VSKaGcQt6gopA;QeyP>*1msc7~*S^dyXj}lGNY0cisPtR+Nt>bSzv5EPvaJnF z?OCK8D~Zdg3qD26+aW`s6zx*xBfEIU687I5< zTJ7AZ&Aw!`wm%cCT17KaCoBIijV)BZ2gFDVwZIK8=$n1vuWhacwo{&7OCewX7B?cpD(W06ritFUTevuG}I1wGn&pjAvI z2`Gs=dhpJb%=MkJ8IeAL(8RbZzK5RYUa3x4D-STP-0RlkCkAtoq85)) zdWnB#{mh9Nk*^UsjII}A7sj#VcA^t4>z|?8nq!YTpl-X$H=D(m$Au^m@`f}!bh-2z zAsBG34x>9Wc6>17tO9ta2~h!z69y;Qs!-L@H}i)jnm+D72pdW5xX2rTmO)DUD)D%`eY%?@*FjvLTcRlrWv*+uT z$nqb;m-k{C7nD_f`W|7-Uz{A_?&28N*Df6QwEF{Wgen9T{Dx8`Y{P z5X=#2k;R^EQ{~bepJ!tb7)s7ZwR=>f+1L3;=U17HI$ETOm=6wl&+!kwCS7Tsu2W|?yxxWEtd)au`H;X)3&acSx=!usV zmYd{pQ@Pp>AN>Cs*43&Q5X25}MZE8bf3S$S{1Y2MVX}piQYB~*ElAZFIZP&almPL~ zz0>rEvtdxcm^A_TC3o0M26};4uNF_b7Y!^{`3!%ZNE_(5utQEi?KT3j#Qn&X+#14C z+ulT~CIx3TyLi~t!$!J}Tc2GhiE^^de4f}G2ggPKy)2%j`5h6H=f3(+OM}P$V@1*Fq(DUL zxbl@!liM&-2l-UbwT2-|!1b5|T@Jf2)$Yt$K><8CKuFO#tnd2ADUZ+8uR$=u^o#5% z^H^#_5+6d>VG5ksGu?TzyF*W1JMQ1}B|Gg)RK|+=a3T_tZr8OoO_vK_II!1wF1R6} z9XN33?{W5bJds*X&&bHgn>uZt8skeoZndjO-gqmUrL8-aocL)0zVj;MceFc)xdS=p zH>9h-vQhyH4h)$O=U zHFE8LmojRVmX>DALvnBsOOUkux-6I^V12Od%9FWrPPCRwXq-$DX+e!rKPH4Juh1eS z?eCmcVjUr;77jLyO8*PZI$$+iFe)Hh=T?!%Ym&v6reIO1&?qt@g;AQ3zO#u+p~veP?zjQF^$@z5BE0y2|>i zFe$X%mwjWvW_>8@?={_N=UYI>O|^^b)j0pG^Dlh^1FpK4!cK~&jI7aUcLNm|*NuU1 z*dPSKhd~tnFzQAq^nkQ_<`&3ckBCU({;bXwrd=1 ze#C1}k_buAn<<>P=kh&fP->8qpV1RbKp$HVJo9~6&U?`xNkvoZJQdQyy;ADDUiUgO zTpt-4LP<_e28;Qn{|tONDwUJgMITcAO@4pksFzny{D?3mOEvYl|5keTaHTjikQ*OS z+$bSI6y6AXF6M;JR>jT|H_#IJ%ZOXsl@U#yb6KwFpfO8yw^xSH7)7FJdZR1o1uXXY z8@u0Y-hHq5^9Q!}ZCtU7i+H!YHP5TRcOBoWes=s`VWL(YHL_m1`11G?v)5@! zqq@Qv3`YxkY=dH3wrC`U{r}d>UA5dEs3DJCA$#p&@&nGN&!5;&KHr*6WfgZ?q8iYbo= zUaV#ihj5$1G*K%}(#nfrHGee7QC)C;WZ`?ed}=N zH$MZZ#qUyeKMmjCdj(2r-E!0egBo%J`MBT~>0-TQInP~V7){3j)#{1e3Bqe138%Ia zm|y+v4~38$-c{>V?F_R?q4aQUn{+<@1c3cEK552p2p~v8_PpD+Y1z%ZyqfpQGm1Fy zfUspP>x9raD1j@C`79IOtjY=3-fxk^jw)R|AU!hUWGSxUu-%r!tY5P$*X9nD&aZ3} zA(cithi~Ugsw!+xa&4ggN81C-8WJR*rxD= zXGe1D>F=t+(HwjP6sajagN-R_*@I!+;3z3($0ij*^D(A1gHMIpCS1GY6mSV8yuK47 zze6Nb3NZ9%u4U#(-VrhpUjrG**tB_@Bh6Shl=ljJ@Wi>5*Q{6kSq zwNnvSNa?CvVC)yI;>GcvSbXPeR_8zNyjPy+=;$G>1bIgJM$6UO(S6&_#9>fLO3+5F*$ifE$GZM z8GL5996M@+w4T3pOmM5PqI?=vF8@IUfX9D0|?|K)THf`dCFMJ_~4jnQr&V``4G*1wQR7S@sl`2%LHC)fbvTOsH zCIky}Cs9d4tFfHIkjd13H`;@=ZPThN%_I~;ptNGGTnFPPF#Ag>a)(_K1~`6&%QU;i_?)g?20^X@k51e2HiJFP8|nI;iXFD3X@Ztdk?O43L=uE7=xPX z&@f{Ylj~S1&6yv3=)n}n&aD1ZQ&U`Vj`8__{6{Xh z-~zt!&2RF&7rX$K3Md1W)u2;f%1fS)96rFw6US+{nl$Ql7Uxd_&}p@3EHB|zO87%n zylMrvT4LQ7WcLhrb=0m}wCp*08mRou5bDu+;9_!9K@8smklSLtw4aO0= z0^qEt4FRw|%4TR5{^^3mC8zEYp_RgMT&AXH(nV0Oatf2fu95`b_YGpt%A*yq01P94 z;~U?kl~x@BNK10l%{K!OB$`&NNfO1CV>W07ItB0$-DCX9dw!MQ`St%p&C>kX_rAd- zhzOAv`2>w6bQ~dVo3PViX>pFDM-DMNdo&NXfoAUHEKv{|=V9*K=!P9F+eRe`#||B2 zX>kGDwpTn4<1927g*kvnYj zPRyR*)|cGE&Ye3sdFU}}<0VdXVs;NXG^c&Odb~q74ZwVG!Zv^V%kSV*zy1sCpYO1# z>TtLbb&H9#rn5AUKQfNxcsXKn+-VVKz!@p1#_^+v**SEPDQ7O!9;hT?X>N{_M~~2K z)Y-gcM|$ku;wXVICPQW}C}o^|LV{LAodzn2^V)q#?fxX;;)^ckKmYtMq|Z9$Z$9|f zOgS(!;xgnrNCd4oW}y+VzpmJ}dnX_K+Yhs6&mO`s#C2W%>7V|I4}9PQ07a*4CJC+s zt^vNqInW<)BNK3alsSK{$Mg^AW&}D;4j8(U(kj5AVMa#B*2Vl;re34IOsm;22|0bo z1c-xH9@{oWErOT6^rf^~My(zh8NqgJKKjW|Gvqr6tx+2G3_I+oIamUGOEBhJTs-RX z%*|!IlFzYLM9Xs7w;1ppwT)7_vkfa zvUvUb{@@STvwIJnPKO_S`wwx+<(Ki`{{1|3;3$XYI~-Y#IN6FQPi^L{Kk}pe(I5W_ zd-m)`DTCGU`Op0$Z~p!_v%I|A@1w|aK+3@Lfxp7^lsK!CfzIkQ#_u9!xd1-}{5r+L zAish?G`eOqU}noUJg;ZTqGDUr5g!k~TXyIZN@R)%ubzuR}frv474Et)<>o40OTSK(k*uroh*lKHt=qV~mfDQLoqWeV;f<_=%tRxBSD$KhBo2#Z=9uWJw%p+L|jMRM3eP zC+i^xS~0iYatnX?S0AKWtstf310VPRZ+`Qe*Il6~9T%@Qf|Wv`7wU$}LS1K_xvz3SM`bOTDFbnNnbImpU-}nD9Teoaw zZhj8eaqxVf-~WR@;P-#`w>dF;g0c{lZH*-%NuU`ET4<)GC;6#&ypx~#>7UM>b4ilm zI1WGY6FtL>>t;FQWZl$_zh|h6;}yK1dXXtH%GcNj|k{3(chk4n2Ht{$0kL zJ9g~gSO3R*xap>w2!eoCtHn^Q#=*mf`OIfN!@qvz%N#j;kRS{xm&@$ldjZdT{tI}; zD_+Ue)MO5dk>$=yDY^UZySe6?Yw|MRwKRcZdb5xc%PV2KKDO&IJ+lSR^J&x<@%=JR z2CSkrPRTcwg6Xks$Dv(s@W8jePS999<$0wvj`{3a`@T=LS|toa8jZ$^G02L9iUQ4c zTuRj%wUKcu!=sdHHB*%sM$8`E&(X&oEQU`ca1wYX@GxhgIj|uB)<>BDcsKB$CN zddlRTweHihY%Iqi?6eskpJMawi*lGT%XM%oWwcW1;;(5gEpX)F`)MpKlEE`bX;B>+ z12kc$O%#Sby%@>&986M*^ggp|miXlg<)IO(!=sdkhVaT21B@y~o^cp=LgG%y!G{cB zODY61Q}9c`i|BR=I%}MQ8vW3;Y;G0Z^&oRfh+v_!*OK-nt#J%A?N0T(ifI z&}ueK-u-DnjY%mNtrYti9+LPcU;CcZDDfr z_WT~88`|t93u#*QIwy`FCXQl8M#u0cs^dKOu05hscIPB@jO$aY>*#Uvao=-9nh}VdGy}fiPFNN!d&=2z|V4) znF1REV11Mg>fZpbrQif~tHZeE+B%{Dt78bx9zRNbc@f*PA6I#C#(Yt`Nz`tn$w^%R zjO@HpN~Wf#*s*;Fn>TM}WMm|-_M4xd=g^@;96EG}+1c5iYb|07u0<0w+nCtA4Lfa< z2F7QR#Btg>UE??&mgBBiwey^Z!tGm@O($q$NejnyK^vi_Rgz~3c0oW55_6VvthGTL zQYuM7Lyh($Eep%Ck+zj*8|py}KZvv@>VzyDJHo+-?kRqgnFFr_{+6>y2y6&|^-*Tq zeI647&IN!sJci?y2MPdzAW;e96H|WHbddaUAs&>!%7ZnSRdDG4ctNq0Qk^5TkG8ycoksiM(law~<_3Y935RP{}i!QPAG zh$J$NGmgDzusZ_FU^NK?rtQ%u4vD=}OBwboRIMwr;Vox=wn9gwy7#F7vK z%XNr5;o7=up}JCQjgBIcg2f@E#CDyvnZIxh(&r?kM57UoMX6R}(~dptf8efcuT1T~ z6?g~mzc~x?12zP}`e_6s;d3%JrRm!jhXHY?MUu9d%BEJP0~Xa{DH19&q?$CDkV}kO z4vlDt*<=#@5lW86_dQCbDTYVJ3<6H8NxRh|jw7^A&|0vxI7b+E7#SI-S~Fl4{iaCf z1IY5}<2WXYLgO$CL!u}&aNq?MI)mXV93;m9fZqCtiOt&xgMfCsjbAE1ETcoYBlo0l&n!^HsU2mvUkek z(wP!_Cq1@}x{OzBCaN|iS5k5$o(-Ku@aQu9%h48JIp%SwVIxtL9m!CwMzvZaNfLsf zlM90=3aBqH(Woy|sSYtZHjeL?dK`8clVmXDuInL$$+R;Xee)h0|O z?f_wsF}V=SCv~X8{+D%Wi}5vlpF~X6q*E0lz>v2Bmv{p z*7z2ae+-;8_|WAl5M7 zmV9g0<&%fXJlrag)aN*O{~g74R!SX<+k-pqURiI-?0zuM-xC1hQlBEf?;M;R9A3spy z_7fhVg0ihrowDor(pnRR5$#TsX1z`nMU*R5hK5IQT`vuDoq{=veE_5+D}hOpgeVFL zgMh__d7_|AXK@a#6~p6`Ol;lFkwcGRS*G>*)btFsto8YmG`+lP8Ow1{NkUL>qLRd9 zE~eWak5*s_2$djGaMRW{Z`j*p%TPjWLu?ChK-fmZv$V#IHA{<lM9oqB)RoJ;ac>jP z13eAaFgO*keXw0KR=5y*0(S_mo{qSp6mXJp9zMDRagaUC3^Zgf@F$$1CcxP$0K^)v zC-NK`_%_B)|6+!trn)jTBN)C2w^k@ zw+eO*5=W3Eg3VsSjZ+;iACHKXw+)U>G9hMw5b?!PKQ4l^dw_G(gC9Nqu05muGj zDZ373Bn2#nl1oM+e&vP*uAK@v(X?=e!5c|OJ*%6h`&p!s|Hu&{Vij^D`VW&e zN7A4?fp8O^KV`G;WW8iv3x@|k(d*djP*0eeb zwF$wFD}HP9O*q$#gm4#+iVpPX&}Lm=7$LBWbYy zo{WJ>8Od=y7ET<+bzO!gHnF_4*yB)Cact@V%9SV846tn5K#pZ31+G^ji6V|Z_7Jw~ zQ5hOBY0;}(L!#luTRU7e8S=;X*Z6~bYd8YlcySXkCf4^HMXC)r0?QMOWAnGSFBX|! z0b77?U>b^?QCh&65C$x+>i_& zX{AA+qP}q&fKggO+<>HGm|ca&L8z5Ej4d@~3#6R^`oTrR5f_g{+_uB!lLyLt_K;7g z);W1klax}po=2%tOPh6=tUFO?93rHozO=;9&@fW2vj@Owl3A5S&tnxrB5jMQtvhKh zFLL;i`$^)M$t~MSqG*K>P#Vg%=Ak8rPaZ5`3vi_7maQ$yHBBf5q8F+#f9A;U;WA+_ zHAJ4`+AB+3zrDg&4>Xa+G|MjYhk?Ia|7`f~&{HV@G6sxEnclYTA*Iv}N~sqBH^y;% z2{4iUpxX#i4qRD^NiW5Qniw$8`+%$<}CeeHQ(V%xR=WRfHzNqfm>K$FFE(@Y!4GTn-=^gErV z!RjcAR1gHR)9J`4in2BMDDW3j%J(Uy?oSWOJ?Zhs2wp>C8sUXz`zNTfuy!E?Ne~h=TRe8}9kiQu0LG>_vw8PLD}(?Tp;?av|Mt>4ufDQL zG%k?Ev9KU+LNF^xf?kbIC*VzjH?EEF2g;t{P47Oyzuea}uxlzeBfkke{fQls?~J}1 z8bD^_D?kY$c5AKQktE6Y12x;WDVNL2^E@qt5K$D#X0vH$t)Cx{3Mo?bS=+X8T~~OX zhvPV+R4U0*sf1EWM^U8O?KbUpdnS(KpH)izJK#@+5dW;Teo=ZTO9+$XGg+~D*+nD7 zQd6=7rL7v_LO2icvM?%PYDCx-@MkpAHNrup+G=MW!X*%)X}DntGx-v2vI3RvX6fb0 zLg_?HG{mvlKI$h-l@o554(KF;V=c*piw<|syF9SqaI|d`Bw!2hEN#MstQ%)!P0~u? zmdZ#3aU8A5#!^a}%?9mGn`&){q1rI6=OKiZCnv2rzS`vJWj4Q%63cb4U3c~0X^rLD zII+j%mYp1U@GgXq%pX635R#c)7ow7gq5w)X47-}k$3j#oRsRe5o}F1il%k*ar&9=N z{5I~WIiyZBo@4RMOUnGqea-YdIy>3bz~z{b;2EI>JlO&uD{4=ql+#M7cPXWQ2q<}; zr_1GXETxoT7|O-PMWQJB4o_#ubdrgQ4Z#WUV++p` zG)2O45K|9Km08WRD7%uXFR`Q`QJNrD^q22v8g!%tVUqfz1k98b+iM+e+S*|`lI&Zw zxpU6t+w(4u)@_y}lQ`sAhMDv_@h?^*F!Xvy^<6ASa(>gX8dp=HZ0IP1XNY2!!(jp-qBTv^?ls#^h5WNY4yXoM^7zW4aNmZd>szi}d-NCj!6% z65F=zIF5f@DfNrMr0036R4T<HTdj(%Y6HAo4H0zJ2C>mcO}EV#jXjDD>nOFwXMwVNsp>42deO* z@7BY_I0@0r<`XD~8HI zpEVnG+O1ZewOFoH^G2YC$*r`?Qub6OW~e>uJ*UAqkkm%TX)Q0Axgi864)4cyTqZVe zBTkEn5)GG)L{zGZ$QJoS(F)vgP27aevDM?NT7e1#mamZlf=IJxv&Tr)VzH5AJyA1y zF7VrYXEOK+qbEZEWG=2)2ytl~$L|H6W81bWl}d@$TGs1zdwtN-T`-JpDy!}mx%5qj ztdzBDps9fqHI8HI^*W74gHowPrBcbY0@rnEx7*a~byGJFT)(x-t`U#66Qg5+3c8FB zDf3s&%Ac9I8S^{y7WW?O@SaZ}<7ZkF7tuJw=~}46a-r9LK)4V zDbSlv?7A+VXN0cjmvB7Sp!F0O9w~e3_>1rBm?+)(kt9UzHd0vFj$6EF0FLf|7}qZ` zG&)X_#JEy$$ykIa^*(3mLbM3&V}eyPsk7?Og7O+Cn#o~{9aAogjdtD?IsN)-zypH( zK|O`^L<@k7`(ohjTI=5sLX>^qPo$Kh)oNMmVf;+;=iXzj(S6!dKeOu;3_}k%eztF3 z(_ZL{*J`zBx7(CTC2F-Aj^mg~>UlJqO_rDIeD;wg#>+N8d&^WBlGAwtf=6;m;|Vzi{A800?2)kJm~TyQW>fy|0}WR%JK49g`k>Kj)YL z$ZQ%1lRy81mSri|b(1KHtYX83L6kFT3PqJY6|YiZYS&(7F1Uo53oc}AW(&hpo2ZSB z;`${7rj2zR1~eBIsL!2X;pkzGJoF$(9(j<%58h8}d8tP*NXzOel`RT_YPCwORzpfj ztyaVHJQf!h`LjDtvajCZ-LKlhc*Uj>Bv{f+4u4wb9)8jZ;4ayG=I&+w{f7<_Cpz;6 z59F|HQ@xXLq7if5&N5?Vo4MxWt02wt3EGDRP9wd(QAldWR^2`l^Onho+jg}1{9&I@ z95jN!Tc<`KgfKPCefOf01R*6uBclwDjOO_Q#-nNWP2vQiIFANo8bVe_0OIr{9(2J! zl|m&kaTL*REHi)nFr8Mj_aUd}iKB?4k3PWU1y`}X5;HNPP&SCvbc^cHIerS}FJ41j z$N){B(cUd?ahJ@s=mLA_3V^4So+ts3mCbI&G);V#Wm&P5(&}_N@>ForLP}H8nWk+{ z?!JJFpZh{CxZ&Aszw}B*HqB6~RLs8VAZMC^5XMnwNr7$KIJS)?C6*9`oi>ZJ$2f5B zJ>2)NU*g+e_(%5NdsiL`l2V#gFAXbdt*O`RwA*b)M@Mm87uR)}nw(^Ld5JGS(%}2v z|0uulJ=?f+v(G|3p)!R@|4rqawm>XO9z7WHU;p6&*yqMI7c)(JQNoKhBBxES~c&Hw@ML|j0Idv+xz)p0w<{J8XlRI9t&0NIZZ(--SY)JZ@xNZP zjptobC76h?t<-U3LEHj)!r~o&bBIsevy^-FSKhwp!SBzDchdbW3BPdb3~#z_oaIi^ zgCTIbBdiU$5AL|eH9a-*lvV}E7~Hnz_;HI*>?`y42TIHZl8UYK49I>`N^$h?0m3lE zb{s}W$03PXI(eMN@&ZZx)I#B97>(T)>jp1iXl5r-yGi535%awLDu4O|yLr|%0UaqI zhSovR&EQ<``6QILX@p~xqlz#2+Jh}#|I3dRcgui6egpVv&H$j0?^FO}%>NAF?=hg6 zdDD#5A6B)-TNu6gwvnA)`$p%UUw3lS&yw#B&bFkNz)@?FL}o0?;#%`I2v zc85w4B#L&Ts7DD4Va$9GvlK*xiNdlis>b2R$)kt)(nmkU-@Wg5IkNBJ9!;c3rBaEJ zk&&EP!=S^-`FU&&zxl&kdDRPsm|KdmErCK~owWJlT@Bv;f&Km7-|qdVDb2-%rXu#f zOcMZ<*8I$iruot5PO{XF4IzcPtvPhyQG}3GD-{-J57Vmm#>slS{=#=`?uxb3oVyIak}SuiIx&+rEKw{U zJAg_ew1)rl=B>Q`mLZnf3E>e*-0G%spAMC_8ZE1H5~{<3M@|O3>_0zB80*Z~&q9G8 z1zyD&5DNTGssS_UbuA`yZX*4Ab>>giJgpRt=W*k|`C(r7p5Nw*TV9Ummx!AUbQ~gu z#B*#We21!I6D!SfoN%liaiAG+uoZB$9WochbQ0rfb}fM`CB7x8Iu_%e!|3exV8~golXbOu{m*IA7Q7xHgvZTSdNSB`8Zz5G!FI4IDQGoFJZeLw(B7s4{1AC zwr$2D3k7z=1E;*~!o}NVexKj@?ce5&Z+HW(R*U1ukMo(&eum$B?|XUZp@(`* z14{@Jt@+s(PxE8Xon)>VW1mLCf0BUJH=(sMA+GXPJ#ez?)W>HnKxYxYc)ZO2{@gK+ zEhp^Wvj@xdN#dAJtI5F!?}PV88xzlp7TFW|1Pe2I3mk*nokCS#}5!F641+s3kN ze9vWRxye7>)!WijJaI3wM;Wq>oNy~fOgY3>WcUrLYfJy0)aCC zyhmV!t*(F)f(zW3mtIol>kk~|&inTxQB;PK<6;`ftNDpQ->f?KW?G^@1o zNu|!fJf9=`Oktb38pFtGzJTput@1Mc3#^`eg8W=P=7^%RywG*qD|qFFqf|WWw8O5& zXRQ-K+)D3#NMkvIzxm=KbIVCK2Q!C66L=rSTz*O&fsYp_$_73JT+bRdzYqe~^N6E} ziJg0R%kO`Ht6uRs+RIBMQHX6jSfYz&lYN$jZJ990V(2pU`ip|Fumna}q-Fp@upA{E zYK6=O5tb0t9NSFlbQEkU824TbAkK^RAzJ7eD$VKf>|j$8j7d@8;WV zny$b%-+VJS+;BZ#`tp}qTwLrCLjUq;lV|R(uzAEKO!O(8R8m45Lt`1rmEN5*b3j_g z92m6p2@D=yM?fhOJZn#lPv5u1vDta*^CxIG8^%F9fE>R}ZF*bkSBXt80j*6;JWbWj zR_m_WFlaF>UQ|&~oZ@9BAX)jP$X}8;>=4u!^XFG`ByYHOjIt|PSJ7gsA?1~w>9#Bq zBm~&Q;5dShd}*0ui&4J-SOVS)M4V*;AcM;KpTL`0gZZVDl*$!4?KXRFd_Hge!@pu; z=N?)M^G1>jnHR(u#uq&rfF--kpKZ4USQG>X-QT9AhUs_UN~19ZiRM@*SIX`oow>$ zLv0>D5zvWxC$VK&BuTQV-+Q2hPNo{H?ai>jl?l_(LBAvz}VPlz~xomnVbXulWT9TwS4Ml-ac%{N#^f2+D zSK;^BtB{eHL=kZqU^y;9eUUiqm{#E$c8zAJD?JBKLt z{IX976q&#HUDp?oelG|7HrqFS8M8qUD$TKWL@QB@xE6NbNLOr&%_Wxz!F;ogEd?)n z&Fcw*4&VODmsV&3K@d_m%ByfQsmDaFXh2!Hg4f5_1AP>!LWMs zJlnQuwpxsjk8|rSxA293{%2-qXH%i6nXShxwh~@)*$_dzwib|ql(bu#D1uU1^zJWA zBtRzy;dY=Unx?PVo*;5Hduu+PkbHSxV}O&>9K19QmirFBhYFm_TnctjFuVcF8AT7y!CnO01p8K+w z6Gbt%f9VTYww*hZlu`zNzifKdd!A3w>8xmtm8tOm@jv_rUh%S*v$V9-1JbE=w{3NX zbs(iA3`54o#<=OlFXj`U{3MHui|LA}x%X&?EyFHXZ!fPoX@vll3Vh z5=B8kS0hlsY$rkr7(u|N0GH z^qSX`ByrCQ-e@!kf&d_|EHwAoofJR)Q$IzuS|wQlNhO$=n!&o15c?8*bp;zw++%M+P%sv7PXqPaVUu*0KR0iL-orBMj6akX*~8zlKX@Fygvk zwZN3n5NplEF3JD?zO4+Wp7SE}XqC`uEI!UD`9wv;Rvssbg1js*Q5xTo{P^=GPl=kO z6-eJO`{(YdbD|j;txIcK%>mC-L%bx26KI8M(Dl^Q_s5y!{lw9!E#x6_TW-CD<>lob!J(95bZiXY_g73FfuLNeFtd4v>FH@soH)t%zxmC)*ItiJlEH|Gt*azpX;$67QZMXWSJ3Oa2~mIjgSZ}0(3AIMHL zFlXUN;pk88vsmZ%KY&SGNCy38bZm@Hr$ZFSy!OBUI^#Qb8HZnAR$W@!pF>`CZS+E@ zkG{{@tDo5m{)5~ckOhaJENTECXtq@{nqDaIl2_#+HwWcY6W4i&cJpW#_AjwIpF15{xC}jmV$(rzM#gt zUN(c)ChT~oQ&wwn{mu$+d)5TY9aGi0Dy20ZeoZiYGU4!INIO!5X_1#w&{)R$ogx!MJr70+gQd70<_&`)ydO}Cj)pKT8~Sz)CweD1!o zmAv~|qzqjY5=G{hecN+kK=-rV<1@&ZKNCRUNy&T|aiksgj8b;9yQ&_OWuM0KGM8O_ z760zP{SWhffkT?jCSe$&wWeG)Ww7OPnX9gR8bJ``8iUpbHFtDuY~6$8`#uv>lg!M_ z@c;ed|Cd5?D=aBEwjA-^e?Dnq*aZn71cU*^1xS1$PQj$YtXx{9)orIB3&Bzp^P{gG z#)PFiW2KVbkK$qxTiKNGo*@4gqfkO8Z|>$=p2hL}BmjOhz5;e|i` z4m!(Ad83G)hhKPQ3@uXCzq`5@HG)Fok0@vY4A2Bp_225*UUV`RGyy>>5JdiN3Gk)l zL?>cCj0cM4JyoBI=d!%8#A|=x?L7M>w;7Lpp(#eD1xP6w8y%(9YVlWp^FhkxGD(sc z6F@_$T*CESPKR9A#V?n5XoGS13*R@zZI=xbD}6=^fnv9jPBx@K`!b7VGVIY_eSnCcRM!2&qd(>>L#6cyyGo0grv z)~$=J1$2}Z_WW33TMvznjnPOa{VnhO&-g>bBz-aN{D7ImPxP()B6}A-nn3sNM4!+Y zoEc~pwhvO!J4kIZ-S3efC1v>KX)6Pm?26LzgfF<}a-P#Ec>m?%JTb3aq}Gj#TM zhW4Jl6y0Vv2_`z18gMx}*V@nJ6x&~n!7$VP`)1Cr<>h5Az3DbCe!kIqDQF55G=fu_2VL#J>d^}5dD*EnI@*rk-I`~+o5e9D@ ze*OEla?Q5#86^ZVyZ;T>j`E|=om@Z2iU#SJmsVg~-E!o+kGEDnhrI2(#~957E|*KTZI1~dc3}DpyhsS~I^ZXOAIG$`Usr3|)gD7O z8{d+?_biE)Wid1~#M0s-0MC2-PxPQ3_EUGYUxV3Mx%&6&IlT-n`c(b?48c4rkn~;l zIsQ?8^K%34xVijv_jtWWB-;?rP|YlHVA^Aupq$Se)vNyEG}~0 zwNGbxX_-qdxrD#`%fF=4=@c87m zo1vLPv7h=Oq-K+E7&}2TUbCtCMsVMCtj%Hy)RJhOzf=Ya3mjYu(nIx}@#E>cChbc( zIy!2XN~Nl8+naMeN_dpWAM|m6@3tuD$je{_M~HoIm@s zKjSa|@-KPx(MR)VTB%e>+n?pDedaVQQl?>CbkRlp@gM&&acn%>2a9=`sUte#-8F>EyR-Yt#q~{FxxJzz!uhT`t6|UT5az#px#J3F; zoxqfE|HYki9B<@x02vQGj6u(O3ns7ThdZ6lJK{Kgr&8*tfqw_QT?p~LmSw%%vaA=` zwtb`HI9Ir?yVvu)ZKYCatWv2|%H^_GtyV>?R#Tqm=_rbnQke+idSDs@)U#@fT5FYU z8iQE!ee^m1Y};mZbd+YJNf30n^*{b1Q+qEW>U7o+04rnr#)DeS=^r2v`ci{?y!<`( z{(x;5Euk19>_6t9@FS_9$+~q_3b+EuODvmhNq2l@m7y$ zol!xp!1jfi{Oe6v)h1my3N=2l86l|9l!eV#A87K(NwcyqhY6in@z0Mf^M!p&eCFXLKK{TWAG&v*zrK5p zeG5Uc&2F3UG2K=#jfk_@;q;rq@O+;Wv$IU?y@*@h`CmxFU{&Uaevf@&h40_KngA$j1fr-F6z%$g20)kjd!hvC zZ><666RG6xnkj-vY07r5767J#u#;#OTWvOP-_D(1|0)L_ekd;(GAX`x&cOA0old92 z_q^_PL~+bBp79KZhllypr#_XJ1UH*a9((LDzWBv2@~40Lr@a6D@8`bz?qhOtl5N|z z7_`nCK*XvlRuz2WXhgV-V#y>o`$e-MP64w%Z|1}d#kK5}mcg>Q6 zoEqz=^te(QAQ8ugTP_*q$Xv|*C))W!@MOw?jKP(LA9>CsKYz;%ok*|9Ry-x8(BSSE z`8Ahp$>Ae0UwXt8LLFKP`QrXM-#*sj{*wXw7Ge&!6pN9hgG0GgqFgRhsZ^*|s~O_7 zs?};qrBczAN=27SCGGn@p63F8~Ba-dBP50K>(h%^X`%6w_)px#4@?#>FqVnXt9G`k#mSWIwa_nguzdr~8Y( zO23uDqPKpaN3-bD2zm>N(*309GJb9bWXvJ*jxhrAqM>wNn0u0fxlTx_Tp~#npZnN{ zSG27vmyLQDh9Sp~ALr#Se>q#XZN+vRZhY3W7#|L^-v9ph z^V!dSmhIcOvuDqqp31=_Nf;g;#V@wrEqXoQNHn#=cHGft^0 z)}65@=)zoy)2SIvr({wW#4$)4UbuG%JCWRev`M0j!}W<40s=GUO2d$E@hh*~!dss? zLA`~u{3!qcJbXz+K~$3o&C@%c*2eqq40q2UEs$-=hi_jbR+?J1!sNsRL)9uH!@~>@ zR~fEV8LF14mP`FiooR46WA`(3fvF!iS(Zf{$3#(-9cwG_*T5VDOo4u`&Hla|*hb&# z@B2Qs?a*wP(BH++zlk^q3SE2F7@fX9i&251!>`yFGqY92TCajSKR8-2AW0~94w}?p zJC6i(wFwE>655F(DJIyY?={<^;@GrX9j<%s^BJF-?#T`e!!R%VtyC(6VaOeK+<{{| zNMX{1fAS}Pl23p7(`?)%uP4l#5>;cj&yPwlOPioKlWok z#?@C}ojM~88qTL5TH-|0I5KyRcnp_M6YVB-1jbpe`+7OH5ZIE!K$69d;;qjd=RG%V zXX~&_qPwQs6G7SdCt7paREa}$ffc{WKld^F%E&=CN5E(wy%mO;mSD@(A_2XQ z!$fP^1M&j0O2Q}%*tBIUPrLq^=7AP6{<6M@u4|HhZolJ>JSnKzY;yGIQLeo5O5XFH z_b@UtlB;pq?=xYL`4WEZ*M5yRz3EMP)FEwqj_>>Y;xGPU{=4k@t$kx`|3o{vv5$;>2kGRgU!`#!g>>uNk}_1qeB zAGWUV6cuhJljkt%kxxBO)K0-7N4mE%blt9F>+{}JG;kSUiRO}!P3I|-bJ3U_m9@UH zpFlNWpLpMCPU&GMx&M8*JFkOl ztJp~1XVdbjd4F4XYW%%y_@2L*R$rs83%rjjmExoJl>-*Z`Fj>X)0yDG52uHjCrvW( z$8)Fkuz*T%uan6wJ+@DHVzLe(epxtifqZpe8XzpB|J;3YpAh(*lz-i{v}cDV^yEo; z5YFs_ju?XoVif`T2Q34Gt13*qW?3_&YaSHRk3HDv;waRBo6uKbhO+;lpaV4qkMx3f zNePE=;`me71dpfIUVR1_iD78p;ksq)8zEP-6Rh{;w^+%Ci%qO#K(nf{Qg;RUU0Ie6 z^|!u;0<*W0sl3J#O7!pr z#Ez^Ty8lf2_PK@dux6s=pZx9*)^Z+q-`Xq;h#EPli|*7TYE65$GqB$c08fPOs~^vI zf0D46S|UUS^U(9(t|HIwQgTRRDz;p{-jzc7khs-1J1`N97SR!NL~wCTEo88BoBW`k zS)X>;!Uz%0!gD-EnyxFd({4|vM8M84@MoGgUy+9#U-F*2|F2+l4}5ra=Wj|YZK3}4 z&2IB}i1dr4-go=rC8zH-CwILp^}o~djTHDYhU_5hgPhN_#`TW?_2q!4J`rs;)J-ih zrX?(hC6@Gi6t+#<%3eo^szMV>#?6O5XWfSSF>w3G*w~eBA!dyqKMZ_`-G}-H7|hQFB5U%+4`8D+1WpTS6}h-U0~azB#HOArz?x-nh~`WzQ7 zR6fYWlj_v{N+&(-9hq%c8HdDR)jsof&SRDzpMk^mz&67#$*+ZDy_&T5D@0LkTXZ5xxXocU#Y)Tlq7oC!5nzz-@oSO^>E2_A2 zh!oRpGL(Q*Z5HFh*lo7tOk~aEN_QcvNS{xHS)xI$wdN_s1FnK%8u;utk4s2DY5${K zdfkH+$|Su{mizuU1o8V`zVFpQa=Fr{+p>A_J{rS}O^{GUzCyXIvaS8iRgAYSbTs4Q zXY%Y`s%crFDz=+Wa+ybnC1SvSgtbGDQ)XYUZT{S)?zbpd!=ll(mvk(>u8zSPX5ypH z-`JEPKZ`T*GS*aU9Tjw9K&gM-Q`&WDs@2SCncZ0BK4DmfD+6isA`a_9}cXH6EtCB?-Q}H#8Itf(^|(za?^|+ z+NWbKM-Z>&+Gp2AixBzY>PXl4k56{=?c0T62JftB8Eq3AfpRNTx(+zS0jAx0M+~M^ zLSjqVBn%TKm=WF!Uzt3d-ysF*-X;PrtiJikGi|rci-yj zn&+#obDJivYpxxLQ49C!^PpfBkY4akqW1wMJ0;}-JUpd*L>6TLJ5pGXc4PNMn4K^j zAD4w;tS9VLE2HUDtC@Ye+w-RHs?TwPT19oIqv4q>&KldNpWyG!>bkl*-V^>g@0Hzq zb+$vMU|i`&C03Z#Je)B5@mT5!)?2Ta`7CTN_jqkbW%|&IO4=#aF-x(LV|`}* zF~T|0qtVEWmkm=nFBKI3ZiXW!gT{_&hPhgo9W#TYovz6VE-q`MO$H-kBATl6K3ZTO z(8niXT-w0NCrN3Gv(2XI$jY^9b@-MS9(HvL=@2%rt$R8zC!hXP!Jc_I!4Xfgdn!!W z{nF=dISCsv5N7MVpF)Z1m>lKH~c4{nhA#Y&ZL)Umng$S50BK7*21?Ex#+-ipR` z_mfC4JM&F8gr~~ke&t)o)w(LD;XJ@p^Y zaM^pjtn6KBHo6>DSdgYZAS&fWFJN4J`h4F71_-`RD7g$k`oeXx%R*||mlYWc_s%2kIwFXyW^im5dTL9EWwAmd(-dBY zJ0rtEAe0>>IMj->DMu^)g#Sppk*9i*rl!X^`K{4HqSRt}kdX8cC$RJk%!H8uPyd0` ztgtW9rEPAbzhr6O(j{BUQeihLGR<|v$KXdfa@Umb)U;8j)Q4(**TaG!SEYGpP=GET z-ygu^%y8~TMU`5!F#qW74107hguMu{H;Bl5_+QNE=sl(DL=>s>dlXboIyeE(WE3xt zWN_|G_WOJIFa4Xwn8!C6E__|12MKDZBtxnuzgj(^*p#*hPDVsKT}I7iB`>{Yh303( zf2gUH^!K&^xJz!Ms2AF}I(w%$c}Yn_!?0TgbDn91)rC2K(VN+tmy zCIiv6Kp)V(*T;I&*~u8fPfK$C{?R{KpbY=>sXm=@dB{~nF_bKz{;v{fY5eCX!KBZLD_ABgk=eSoXl&6Efq5`(}?PL7X#$cvzK3 zus1DKK%Z8J zZCSjCLzj*<{>?weVh>$5&gYicqI(?(eRXUu$#%yT!YcKNJGa6!8A5wIohq2A51NC* z-^3cS&D-gdgU^#w^HQal!nw+fs?eR@9k4NgtmZEhm@l=KUdmHy+++)8e&?L+}ks|l+$5t zTIeTF2!EOVm{kl4Q?`;YZYL^XfuqtF8dv~a_V5}w;y0loT>sfjQ`&~dyF4EZ+e(ck zUrJYLo@L9Qh=;U)64wa+dnbWUbd&+pvuZ|kaKG#q;X}aIA6JQE_O`|bx-Zh>IStr$ z1``~?nE?=s1<@jW9uG`elo!(CZgsKvTJuw3+3OmunZi*!wzLOS@Q))xVuKGG>WLd> z!lO4z0u)S`0NR^)l6^og*rnP+Citx!-kL`Qi;X}lsMCtcC65cy^Qz#uAKl|?%CZ=+ zXg@-le|8t)iYb*P+|t4(ADnkkx;`gWwxo(4;Ue8i&=~njg^*Nr1=YM27U=dpU>nId9AZ_C~4-osfq&)S-C@0c*&JuQO|uULGuq#lG8=y`PRoA|W)< z{DiXLu@dNiVtuT1{o?GB^z*_!S?O&|brnU1)&GH;i6NPWTr^mPbR`|?-ah%IDAf-M`)Pumz={L&$Lh~>5H253)f?>1 z0TmJ$W+I7vv>esDO=+wu&_VJm3%c6AJ@#uiz84TxM=rAw-Bo3pjo*@Z8n{t%wKPTt zmOAe6eHtC+>()2$oto31h{IG$^qb7IZn+7nNx;$V{B%LSZFJOk>hS)=Xq+JF95Da* zp{Q3#vwx&`>aF|Xlfh9zl2A!2j%;U(`a!-|9g)O*9-uBeTnLZ8*PfSHZa{7Ld|?$* z2+PV3_r;V{dUYA@V^OMh>en++M4&eSh(EpjI-fT zke!$^bPdP@q3A35D@Gh00X$CFh(%D-gR!Oj#e*R}g1$JKZ)%SE@aa#+mnnh@mPN9We8kGe(1S|KBrnprv8Eo^ zfwBFCb1}(Pp<%zGX$Oj8>NtX7BS-)z!&#tiXf8DB zkkf$Vlj;tJOKD#%G7cUO%1Xmqhr3a0?A~V`d69OqgpM0Z_7K<`mBLBjf-;Qy+MsOV z1o>5%7`-EJr8B-zsD5yPx(TR>_B=LWQxAfQW!cUnlBt~Sib)z9zg=hY4A$E_eL-g= z`gen}3wleZ$;CM6_?=z}x3ncGNJ*vLj9GNJ611Wq^B-Ws>hz3G`Uy18SK3@}XI#dK z9JA6yF^v`d5^4)vTAGdP941Zfj8o}JjD!qarqD6T_SM~<7^OL@dF+!WW0u#&LsD0{ z7Q4xq>~AUV8G-ApbB+drBPL@BQ)Z^FMn5m}M_hKVyopNjcb`FU3y10$d3pTi^W?W= zqA1x~Xg^NdyW6gc^{&H*f3#}@g>9$fEd9>?dB_t-(Ba8sy6XA< z?5L7Izp+(?QR%nl8eG0P4!;<~=4ub@#}3~>dH%EiRTnQlTx7f%In5lpWxWQ7 zf|42S)K8Tt65&$Q^>SlnKDWf<55^KguD@NgtODQ+>lah;Q>Lter9Z|g$Fq1KsaSVx zZMrl=B!*?=BoB$?=URHlUi^H9f<#L5%P*!LyCj#Mx(#&q=X?DZ=4kHg7}}fJ=dNAx zE#(KiW=-sW43*oYGnHs_#Z_+mQ(7j^(Y^~NVhE|%x8j!Pli$W3F^1wg&;xEoziu{R z4~oEErf0ps^Zg!{xIp08CabcGB`NKtbk4JSZgzjU$HOEvKa{Dmd-ssL>^E-C!I=vA zsRkb^;;k%FiD7expQ2<}aAfE)&CtX7*rmg=)7dubxZRvlGfVXMPJv4D9w(l(nqD*+ zLHLtDFTHd#X^nII2--t2aRLEJSA&Z{8x21iy=4K-rzb23HJHN5cHSV&LV)rn?dKip z^9%|B{I=KuLqGaYxDEkK>qHnQxTA5Nyi~9#)-jhKAavlpuP1xQBa&am5G!lR+tN!w zSFa&0<#gUx;P5F%*s14(HJ{L1gL=Ofz6qNk`_dB-EXE+z`hl0A1W9;E%cGZ>ifNU` z^kl8?owdAxzmOTLpu~livhE~>^Di=PLZkDNMWY$3#srJXA6j#Hgot1`?AY`JSt6xR z2f(t0o+`BUuz`X?^iNj6o%i2kwtB&)Np6yw5qFfLFv2VTLFD@FSbKyJ!4UqdTOa(?yD(r_%4; z@~a}{!OzIet-$t~PL~MHT!W*d3e7d%Y&FpZ&1h&Hx#h0zgP;RxB(-oMdtFXxR;FO< z=wbe-#xDp`eyM#A_2W|9N_W=eHm_Z#NH3Fxv%WbFt1BTQAw9C}Ebn)|Ek3|VS!KyyE-|SDk0xdK3 zJzsBxWUz2SVP}AiAZDu9$`ojUuV>UTWgZP48@y?heuG@u?FYd!zuGXweg z&IVOc6NUkSBv$tJWEI@VEh1CgE0o>#GSy|-{<={1_5MIXau>7<;Sg8;H+AjPxC6d$ z>>ywdc>!;D+g2VxnWEw?3d+iI`kjB~QF2KCUcEl>3b46fnJz$~p#H7+&E0S^-@m(! zQJfGi`qHsBK6`Qcq9eYX!j`4#6I3S|hSTMc<5q3@M-yY2Kw zi2;tivG@YU%RK4KZy4Uiy1M00h{Sg>TRjVuqtgsf5vf&*e|HKvG-N5$3BglU+4MOt??FVLjBtKe2!>^ z$Ig-grp6A0Fh6u}LTLy-jsyTi4qmtM0UXDqSi|WmUOyvc#OT(4Y#X1rMYfb7F>n6- zJ86&I8h6BkoF@4X+UBTK#0Z8-yQfRDk(ynh;6Gn*`A%R>US`jR_(FdJEdH>-k$Qd; zqOhhq=z-QlJS>UCF1JpeJ27ql2bz;#$~tL0>d5%(u^|Nwvz+?yE|>W16E7k0!rP}* zDo6tZt`P0)pT-kSo29aTFW6HPqjf_IqtqkyPLxa=#6U&SI%38JXnN=D4jQwycPabE zch#E``1ykT;DnEm*P_L!>d0}!pU{>oB=ViZnjuk7c0@2`a^G_%aG z<7SE}SB<$ow3n0jlXb52vTXK}fX8CX+D~Pdoos$jQoF`^c#{V`p)g`8UcH7g(FLws zO#s6lkId$4y0P*^Hly289gtfnx9BW_wOdoj^xsYvrz2FGX%)~9w6vv2(}lOfIjPe2Fvpxtl#_#n#a$YzmG35Afr2r&Ej*f%^1N{ zL1UPj@+dpaBpUwsT!;`^h%~S)`KrOSB%`XpwnOkI4tZ)Jvf%w5u9~H^eIr7${xxKN zIq+-b+j{NH)(6JL6pmw;Su#s%bkl?y3jJ7;TUWB8)Q=@z;?w3dnl3=Pn{Kj)+`jKQ zjJ^_^%Jd)4g})Je2{%o;HR??`iiuVb5G_`6trKr95ssI2Ql=$j^B0Q!SJ07~`6_WO zO)2D%92D9Sg~?4?|6cqYP9R9TFP;8@W(XCZDEZ4y#NhT@P0kJy$#|_riVO*mR#2&w zR`eYTrh1}>oqN)2rwAaT1bS>53$~aF4w6L0j5YTN zL4H8oaMOKxXUo+n=EA^(G58d=(2}D;MAY#Dy#IlSPhUa070;8J?2X101N75ig}B)a zzoF-AkWVp@-#nj1_V%OO6Bh!@-e_8^d~mhiKFL6;f-e}2TtER~MiZ%U~a$ zV{Drq&n)3A@zJEc#;jqAWp^dxN;%ia1?%Ow^iWZ&(W0EcyQSlUWeE6q;&Nf4#fIy{PA-uJ_nhH55 zH${TSHrPAcpaTW9Z+J`eE@Bfas_{%^b_s7lae(odU*2uBjNtt(>TQE35Jj>Y0yXtH z(8lJM&Tq+*g+i+wGo;7&Ryxozkk~BDWW}4%md9d}yraI5rC+z?cU1iq77}8B=1dYq zD%-8BI+N{p_E!RQKf+y1;(x8ya5?KNmmg7k^z2|K-S8Q1lD3?FQzS#6(t93k=|1~m z+PtM~jXp*W=XM!p4)+T`G#k_DzK)<^v!h>cGiFTBQtO;mo~WC?l62L}8|P=h^LxXa;EFf}dyGIB+JK6^eWT!i_w`z!g5#OOy)4Q)QLD zo{r0X_isvK{_Zfe|GLcUFjf8a9i)QO4&?xDKp;?St&IZ`KVapZpMKy7Utrz29l2J{ z*OS}(t%xY?d3JVvz6n^=eQ3GI=phbFLFtDFJafM<8EliNfe;*E<6+Lj&o+XgSVyk7cw4b9NB)Z$%90{^AP_}mMyKHS&yV2ZDxh};yi$+x0q4&J(zm!L|!_>n5 zfNiP%S{6gI#-Chv!5{*Lgava37i~{)$TXnJ{htN<1)M-c5?l$7uFjR?2X-6XzPU1OBuP_(yK=^Ili#K+$=dwaNjIU;Y;1Fz@J< z=PKm-5-hpd(+$1-nql(2P=TUEck99>>V5Re)8RG}8?jJe4JAGjENwswBb(e&yZm#a zBglQJvp>{E`ggO-mSfwfFt2|3R+%34ofB8#hL2fiET%OT6daag?!8WijhiDQNQg90 z(#F9}nugr9i@1v_lZ4vg*MnsqcdSCI*8?F}t3Jp)Kzt_PV{5Kdcg!0<5+)zwh>UNp}~@%gdj_ zge{%BXUDJ2yW;Q4hra;I>R2&?zJul_RT-_03=^()zHk|S zo%`D5`isj`aN+PP)ZQYehHd5nqaEW2%I~K&xD+PX2EG^X8zS-p3nvRY33xJyA#!rqcDDfQOL(^ml3Ei_s-{==6;9bKf6V-Y+C4cqbfLt5Q1qPy`sTE*phC`wV%fOV?H93z*ERCO5=Or7gax zUB`mBF`C(C(?6erR#$_)uKNc`Og-)#Q=8wj{;P3`!ZXpF8h_{+C?qbWd2fIzU5++h zd$y3V*e&XrANelcdfCQ$c;;?XWNeb3GEo|nY#2_N7uhbr00^i&xZCCdBwl%0> zC6d6z5JQh_`o8*h)=kNU=}F{&-M)8!Su>G+&I|k%Pg4KXXVsu`Bw)Q4TKDKMEsrqI z4pY6$=l&u}Z~$^64Qas~v-0xFQm4R!OkaMFde40!^YMhv_Sf_Un(4*lI1cdmfK$+C75#jh%zCk7+I06hbV}n$Yk5_% zxk@#{u-z!PX0}>&JaefFTw3P4r81*fT_Q^WKU$LO0$PYX77FLPTvQpGdAIQXYjwOR zT(C8rabgv{8L9D;0U?Eq;x{OEjz49=_(7ZDWs?05#dE3@d)tP7$ut>ym$b_S{SZ!q z)f@Fv&irZCEtfVV;@+ZD3!#W}_q154qc)aU@%paL!Ry-zF1Lg`u}I$@Z8S6(i?5dq zA`P?60kr_qT_wJ^!uoS%MkT1l+zR6G;8gy=?&&D|5#vVav6H8DUJ&%HGX9P`@Wpq_ z{a!Qme0S^vG_uRaHn_iEj1DD27S^5)Wk^nR132SpoMmB``6EZre^6;PO%vP)?En)1 z3S}lsIM_e)ynq1m-m&8@y^h}@_P^AbB(O-I#b$L=PN;IG7(F1Km^uV>g6N>Wxn!3a zuO(~CLNz^6$>T5u+!n*v`7ZG0clAacFw6yfr>Tr5NR?98b|Bc6W_KRoqFtwlYG1os zXFvIK@039d%lC2W6d8%?x!!l$uy)rVFY?1tl_`5I{XF#a2O0;oh@81H!A~f#Z%fiK zEC_@(FYNjF``YBjf|Q2X@^$Pyt{iiD3C(K)Cq~r!J|@s4C5ErDOqyCBFH(C0X#4HccTeC4A6SMOT1!1QI_{};>O<>6bMPo+#bx6iAPHoQD&$} zF!PmfZgty6`=W4}>hx!a^=O_Mydpw-7Hljqb|h1GTMEzyJ{Hj@_TSllvYdHg2)R7K zBi44?JXjxNza<1*1-y$w1Sh6K#sEL(*gr;oH(B>9*~9puc-^bz0xYq9OM;#1kBFx6 z8RQe7jgE~?oZLI}{d*0E9wgg47y3}EduiD%|H0kF8weJ<|2}o_c{aD0A3$uuTYlLm z4+qz2JWf?2F-uA}Jl%Kr2HG>l9)P*s3|3pfnXBL4MjN$8sQ;+*_Y6}rGx6E!=_nSY z0uH1DZ)3cCJ9pM}TSi>CH_zS>Ha-aSj-|%*0mE(w#2iVxTsTA0{z=-Rvv-7IKHREp zcKd=)Ih07kIs_^R)ET#z*(;rDFT^|i(3lk*ujMR_@7v17b~(-4!f8rUu>~`9T}(4C zoiHWY+}1qchMU?4uA8{tr%s;uLlqaPP_l&zSd6o}YDVQ}4fD6RX5%Z-j6$9PX_^I^ zMX8)7STvtql9ELb+R))hW{i-1ngm9irneLIOJ2{oDCN*WtuW8UP!8{ua~A-~nqcPi zg`xLK`O52*L-;5VX&B?wU?XGWIwQq0Jz`AEmfNTAcpAN)#|$$dH%FixP1&abR2EG@ zv|R)$RexZK##z57N&FF6*XF4=IH{ zX1P25atA`=M@&M4j9e71dYS&wM*wMP9!vDYVEBW^w<6JhRSpp zBXRCu?ume=UE#rdChdbBAL6o#$X-k)T~1u$FMB6Y1ww5E33bl>WnhQ*S#W)n3%Oht ze->}fWuo&N?r)|)y(Sbvb)<_Zkay-Hy;g}b*RB2@z2?H}TrY14Hhza)?EkV{O&nBh z+He}HMyY)U;49rBSK_t&9+(K>!%8pY2o(EO`A&b3CesE#4Aj)%!u>;Eh9qOkgbD$h zFl%YU{CVzD0iF{a`AUZYmPnSr1JjNA;wb(&Z;aR2-abA&4Ap5wizEh;(R=yu4InH% zY_$ENm^rI3JJj11UY@9bplS%z9KQ-Z}>e()c*hKy+sO zXpqd{vpk0io*O@;d=7Zl^}E?<+i%{S+W*W3ZDHNT+oi`QgdkPf2Zsn5J!q#sFUkt;zaeu>Esu@p1%|Qu5Y;SZW-6m znrqDOs4`8T$)*|c@{Q7T$jU$@R;ou8RuVNtIk^p)*J0eZ*Ds2Bs}0YV0(!GBTaBt+ zCfnqCV;=Q1JUP;m?*)C$_B#cw1-l(y!|g|+5t{C=R5_WD-5@9VEO=`!6e_IZoiJ;= zRV-9Ha&)i?{ygcqb6u6Qfz7B%icm5T%K<`oNQh^vy*yy>%;R;T&5=4~%5^2Ce)ySa zkc`K|jqGykg1jikKb`OE0hpor@#u+#!BZq!<~@;3Z~0T5atK-UD%o`cA5>7TD~z(qlY$yYyU|I^_;FW@ufz5Vf)I-Q)ylz%KIpM8{}RbyS?ngwvTfAL^QZ%Q9HaHK2O z{mglR$E4+~qD(e`dRX0R7R?6FwroJ!f|Uplt@Q8lb^lZD(-2_MpP{U%rH|w$3%GS- zStt*J{XmdKt6hZzoVkI-Db3v6u;{2pOhl?|TX?zqu6r2&?M^KNFMSyKA^|p)Py15j z+je3(P#C|TXf}czUP|IiZy?lUm^R{U31mCFM8+e!XXGmAW7p1apIeBovh7)RuT<%A z{`_ME-hBxj-;=hJ7)cy+E2OAaQR3p_hNmuKi+=n{b;+)nlPMke-3Q}`s4;^dM$5F9 zPILY-2z{X5NG(!o;klW}P+3k~COe2s(7;2W&4~UO3m~FM$@|hW5)`4WI%M=9ak#Gm zb|=JR-fc8Vd9Al1ocx}+zp=}h6XKtf9@(?EjAhqu%w*KXvWEmHlMm>Pl4YRB;xetI zvO^UOKbkYEzuP>SRk^^qTwsw|*+EFBj+IhWwzyjy2xm5`<(~oEzS+bYY-tuZZrQ2A zw}gw5<3NbQE$>(V9D3$&<$q?|c>(%Ixu56>`&xtJM~uZ{SdH!64Hu}V?KZvy-Wf2X z(I{7P%oWf&-)f08~2_k;?wv2hJ-rNF+t3$@2z?!MUM9tc%N7NCVJEU2v8 zw1|#5%aae+%g_PSD@gGrX`FhXum!`^wQl-)t(Y8nJX0l86Dh(%uHxT&^39Sl?BxCg zE*$k33Jz;ic<*?9(W)IGv4xf6&NupTDQv_Z&9py@Z=eEN|`&5=(rmT!@7uhzIblD_V+=C#pqNy zh4bs{v-u^yit4?7rs2jH$pST{`o~lV1-wu$%ahcp zW51ccUeFgx4UX3!>Oic;@}qk8p947}!~M6tx9SgV@>j}mi9ekjm}Ikv zz2*y@k=fXZhJ`=DjC0r@*j9zX2)s61?9|UP>3#oXt-2u88}kWcHGw zDnl|skEwS2ow=-Z!EO;m-C#UkF8BSYdiV1>H{ewc&JVS1J3hyC|hn%F0!lbsn%vk{vZuYMPoI!HLvG2~Jg)rTV9rPvc>C5_1j2^zb{mptrNao4R`k zsDIBWyM7m`05m8YJYRTOfQz4QTQeX4j5#`)jqyVgdL0lgHD^%YYf`DHA zjtIQ>$%PJo)Dd6aFJ1jSPDF(ii)Q^ha9;TG@k72!=cBE_vN>cY^()IGHIpE&kVAqL zD?-h+&5ARXzvob8OreL7-@`sNd`Hi!hlUEiP4&YtxZqgDtV9M2aq)dsl6G3=N}K8gQqG1){VQV@cb%UFrn{9scse z{As}XHLWOlHUJ(*0);GMsWZ>>ElDBtzd(J#v*7SuY3aR90u}n#J^0=yznnVIt4?u{ zvzgk7SQdFD6tn9sX5?F%EY&Dxs_LRU5y2yGenq1D-0Qlg(^<|JX)8Z497}2p&X08W z49!bWRr2?bl6?;*yv3?Y-fl}U^C|JkM3B8Ai?L-Pm5B!1amlr*SU&eWJDpepvtWCj zF&!$z8kGA{MTsnr7WK)YUi}0g{0%$nY!S!>Y0EzJG3MUc!(R_{$khzUI&zvi- z8f<%qFcDGe1$@I!92r&cHI1jfs@Ubz9wWo%RlsURmc~mr)7*$@GhyzD3lg^7!*uhl z9x^y8vVau*fq%0YP75&dil zZQ(a?m)%k;1Qg{GJTWPs<;iJK(4|#UG(JJp>L9Y94mGZZDJwep+l69K0a9$p2lYCC z+^ta%ZM}lQdhX2a4?s%eC$}*EN<#=h1C6>L)b%i+B%&>H%#guB$jNq4hP{~69cdPy zEDLNDRF$>_Ijf7T@~Xk%OVjQ6Ebsu&7OUFLdC=Ohm^Cy^6^6(>aD3`yi5i=e{3Oh5iWVco@!qO1(=ZtPD9otQuFf$P;f$(v8kq+W$I2D7Rh!3D>m5&%B_QU4N304>QZs zk)E8PJ`$sz`F@h!@S%Gpw%Bt_8TK02oZE>T`nyOkWl6UnuPU~N<3p>}>4wt*gH<1w zKZrghIRLt%i7iNsV)J*P)Ss8%sdVNEL{yY@QMvdxs=4W=xq8Oeur=6~`hKY^xbfXw z=wPb7MYG$kI1;h6)GVi6WE}YVm$4wwihTAr9)v-1^*(H=Gj>9+C_Pu9tN0ouuwyudD7{V{KJkv?jrWi?GK<3m*|*mZ(Cm zW|^17>$^YjP5Wz_W9At~WY5WlRfy8#qO4yak@4-no|K~=NE>kwLOR9b+Y|&J%{Z?5 z?fkx8)X7u)`@+wpIs%TcbAw#g!mBWT-qpWXp$cD@Mlqk9Z543RQod;P(Wi^Z5<8EJ zkFkeXvjygqHi3Pu3qT-C2tD&U3@Xu?(-5(gmtQX*T(5jit-U(VQ3elZb9aTfP@SKJ z{^k|roXEP0W^$$G6cl)+j}J0$^t z?ENfm{lUo`v3bMASO<2fRhd5bSFY67%T`9`Oo&IhlT*O`Iq2C+VC|(3Kel{ z^4RRP43?mA98=Q~3((+|)lP9D>pnGou=*!Ph;lg0J$|ULti$H!-gWC-W8egFn0}_m z(4rww=MHex%-(NUjFEG!R*-id zBa#E2QFO=UX3nGo*ZtYZ3EE#MWSS_Arvv7> zumTGRjw1_*hOF&{uZt!26lfpcELBg=@_1%aX<`-!C24}sq1zBgUVw0nDDAtJkY^{a zlr|NJ$~UmArK@uVe3P5ZIluB;&$537LlXRWOwD#=*}Q8vcg)Kn(cX`ipn3g!^wj## z*E&T7@d)pPOn;YLW*H8NY{+wV3^P0O=gwDb`%hg z4e3RWVE@=ci#Gl69qr+B_q6M$&_wSu+oM0byB?TaKX-7T@G^+Noe$qojo|2&L_I`# znj%8E1@lDl_%&{-yxqt?pG>`~D_DMW;}=v&ZW;X}%9391((31cq7i#&gZ1pu_oJTn|vb>%UlCb%Y; zWic=2Z}HG%ws@SVyI`6iz97fKAa;v*7oj=H#km*7y*Xu3W|*->rY-t7Qoyfum7JVCr35|NoW@gFgUp=_Fq ziKhae=y-oT0O;`RHTI=_ZBY=-ueQkwrxlV%*A<2!2Cw*7ieKK9ldZ_K z_eK4a(>w77Qp$^;=ti*BZ388=9Qq2@em$1#2eymRBKYc6H;Bq1tSgC#lp?&dk{ zAmYN>4Kr1gwNUqr&FAHVkZ)=a{m~Vl3~zFXv^*U-DxxpWsWUwo_M$}uJvd(I)sCV< zXPixoTVIWl@5?T{C>@RC$j!(Dp!< zIll&O(CKTvv#DRSWdLH(u)$Q9b)uV@Sq#{vZmYZcGgOexuc+}|1xRbMVjem^U4?!v zqHz@}SBVU&4f$b2w! zRfm7%Ep&)+zGD>^f#EHZ$>zY;xTlx;MDtola+H!ITT6=( zEG9<$pMG4D0^%A10{J95xr)HRz^L3LwA{>$-OPDSUCcpmU~DX`JWMRyOsqWWEIhoR v7dt!XD=!O6f9(C#|F^*2(ahSy`+r%$@&6XMdAPrV7J$h}D2msK8io81E@Fo8 diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml deleted file mode 100644 index cfe9559348..0000000000 --- a/snap/snapcraft.yaml +++ /dev/null @@ -1,174 +0,0 @@ -name: autopsy -# core22 brings along linting for share object library paths as well as improvements to get java gstreamer working -base: core20 -version: 4.20.0 -summary: A graphical interface to The Sleuth Kit and other digital forensics tools. # 79 char long summary -description: Autopsy is a graphical interface to The Sleuth Kit and other open source - digital forensics tools. -grade: stable # must be 'stable' to release into candidate/stable channels -# TODO look into turning back to strict for easier store inclusion but more limited usage -confinement: classic # use 'strict' once you have the right plugs and slots -architectures: [amd64] -compression: lzo -icon: snap/gui/autopsy.png - -plugs: - system-files-autopsy: - interface: system-files - read: [/dev] - -apps: - autopsy: - environment: - jdkhome: $SNAP/usr/lib/jvm/java-17-openjdk-amd64 - # provide means for java gstreamer to find gstreamer libs - jreflags: $jreflags "-Djna.library.path=$SNAP/usr/lib/x86_64-linux-gnu" - LD_LIBRARY_PATH: $SNAP/usr/local/lib:$LD_LIBRARY_PATH - # make sure path is set up to ensure things like photorec are found - PATH: $SNAP/usr/bin:$SNAP/usr/local/bin:$PATH - # gstreamer scans for plugins (i.e. app integration plugins). this tells gstreamer where to look for the scanner and libraries - GST_PLUGIN_SYSTEM_PATH: $SNAP/usr/lib/x86_64-linux-gnu/gstreamer-1.0 - GST_PLUGIN_SCANNER: $SNAP/usr/lib/x86_64-linux-gnu/gstreamer1.0/gstreamer-1.0/gst-plugin-scanner - SOLR_LOGS_DIR: $HOME/.autopsy/dev/solr/logs - SOLR_PID_DIR: $HOME/.autopsy/dev/solr/logs - command: autopsy/bin/autopsy - common-id: org.sleuthkit.autopsy - plugs: - # taken from https://snapcraft.io/docs/supported-interfaces - - audio-playback - - avahi-observe - - block-devices - - cifs-mount - - daemon-notify - - desktop - - desktop-launch - - desktop-legacy - - dm-crypt - - firewall-control - - fuse-support - - hardware-observe - - home - - kernel-crypto-api - - log-observe - - mount-observe - - network - - network-manager - - network-observe - - network-setup-observe - - network-status - - opengl - - optical-drive - - pulseaudio - - raw-input - - raw-usb - - removable-media - - sd-control - - system-files-autopsy - - system-observe - - system-trace - - udisks2 - - unity7 - - unity8 - - wayland - - x11 - -parts: - sleuthkit: - plugin: autotools - source: https://github.com/sleuthkit/sleuthkit.git - source-branch: develop - #source-tag: sleuthkit-4.12.0 - build-environment: [JAVA_HOME: /usr/lib/jvm/java-17-openjdk-amd64] - build-packages: - - build-essential - - autoconf - - libtool - - automake - - zip - - openjdk-17-jdk - - openjdk-17-jre - - ant - - ant-contrib - - ant-optional - - libpq-dev - - testdisk - - libafflib-dev - - libewf-dev - - libvhdi-dev - - libvmdk-dev - stage-packages: - - build-essential - - libpq-dev - - testdisk - - libafflib-dev - - libewf-dev - - libvhdi-dev - - libvmdk-dev - autopsy: - after: [sleuthkit] - build-packages: - - zip - - unzip - - openjdk-17-jdk - - openjdk-17-jre - - ant - - doxygen - stage-packages: - - libde265-dev - - libheif-dev - - libpq-dev - - testdisk - - libgstreamer1.0-0 - - gstreamer1.0-plugins-base - - gstreamer1.0-plugins-good - - gstreamer1.0-plugins-bad - - gstreamer1.0-plugins-ugly - - gstreamer1.0-libav - - gstreamer1.0-tools - - gstreamer1.0-x - - gstreamer1.0-alsa - - gstreamer1.0-gl - - gstreamer1.0-gtk3 - - gstreamer1.0-qt5 - - gstreamer1.0-pulseaudio - - openjdk-17-jdk - - openjdk-17-jre - - perl - plugin: nil - # source: https://github.com/sleuthkit/autopsy.git - source: https://github.com/gdicristofaro/autopsy.git - # source-branch: develop - source-branch: 8425-snap - build-environment: - - JAVA_HOME: /usr/lib/jvm/java-17-openjdk-amd64 - - TSK_JAVA_LIB_PATH: $SNAPCRAFT_STAGE/usr/local/share/java - override-build: | - # ----- BUILD ZIP ----- - AUTOPSY_SRC_PATH=$(pwd) - NETBEANS_PLAT_VER=$(grep "netbeans-plat-version=" "$AUTOPSY_SRC_PATH/nbproject/platform.properties" | cut -d'=' -f2) - AUTOPSY_PLATFORM_PATH="$AUTOPSY_SRC_PATH/netbeans-plat/$NETBEANS_PLAT_VER" - AUTOPSY_HARNESS_PATH="$AUTOPSY_PLATFORM_PATH/harness" - export TSK_HOME="$HOME/parts/sleuthkit/build" - ant -Dnbplatform.active.dir="$AUTOPSY_PLATFORM_PATH" -Dnbplatform.default.harness.dir="$AUTOPSY_HARNESS_PATH" build build-zip - - # ----- SETUP EXTRACT DIRECTORY ----- - AUTOPSY_LOCATION="$SNAPCRAFT_PART_INSTALL/autopsy" - mkdir -p $AUTOPSY_LOCATION - AUTOPSY_ZIP=$(find ./dist -maxdepth 1 -name "autopsy-*.*.*.zip") - AUTOPSY_ZIP_TMP_LOC=./dist/autopsy_tmp_zip_loc - mkdir -p $AUTOPSY_ZIP_TMP_LOC - unzip $AUTOPSY_ZIP -d $AUTOPSY_ZIP_TMP_LOC - AUTOPSY_EXTRACTED_TMP_LOC=$(find $AUTOPSY_ZIP_TMP_LOC -maxdepth 1 -name "autopsy-*.*.*") - cp -r $AUTOPSY_EXTRACTED_TMP_LOC/* $AUTOPSY_LOCATION - - # ----- RUN UNIX SETUP SCRIPT ----- - UNIX_SETUP_SCRIPT="$AUTOPSY_LOCATION/unix_setup.sh" - chmod +x $UNIX_SETUP_SCRIPT - $UNIX_SETUP_SCRIPT - - # snaps run applications with different permissions. This ensures applications can run. - chmod 755 "$AUTOPSY_LOCATION/bin/autopsy" - - # include this line to print all set variables - # sed -i '129 i set -o posix ; echo $(set) >&2 ; ls -l "${jdkhome}/bin/java"' "$AUTOPSY_LOCATION/platform/lib/nbexec" - diff --git a/snap/version_update/.gitignore b/snap/version_update/.gitignore deleted file mode 100644 index f2d51c2b11..0000000000 --- a/snap/version_update/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -/.idea -/venv \ No newline at end of file diff --git a/snap/version_update/requirements.txt b/snap/version_update/requirements.txt deleted file mode 100644 index 72ed5c9e9b..0000000000 --- a/snap/version_update/requirements.txt +++ /dev/null @@ -1,2 +0,0 @@ -argparse==1.4.0 -ruamel.yaml==0.17.21 \ No newline at end of file diff --git a/snap/version_update/version_update.py b/snap/version_update/version_update.py deleted file mode 100644 index 74a32f0b30..0000000000 --- a/snap/version_update/version_update.py +++ /dev/null @@ -1,75 +0,0 @@ -import sys -import argparse -import ruamel.yaml -from typing import Union -from os.path import join, dirname, abspath, realpath - -SNAPCRAFT_YAML_PATH = join(dirname(dirname(abspath(realpath(__file__)))), 'snapcraft.yaml') -SLEUTHKIT_REPO = 'https://github.com/sleuthkit/sleuthkit.git' -AUTOPSY_REPO = 'https://github.com/sleuthkit/autopsy.git' - - -def update_versions(sleuthkit_version_tag: str, - autopsy_version_tag: str, - snapcraft_version: str, - snapcraft_yaml_path: Union[str, None], - sleuthkit_repo: Union[str, None], - autopsy_repo: Union[str, None]): - - snapcraft_yaml_path = snapcraft_yaml_path if snapcraft_yaml_path is not None and len( - snapcraft_yaml_path.strip()) > 0 else SNAPCRAFT_YAML_PATH - sleuthkit_repo = sleuthkit_repo if sleuthkit_repo is not None and len( - sleuthkit_repo.strip()) > 0 else SLEUTHKIT_REPO - autopsy_repo = autopsy_repo if autopsy_repo is not None and len( - autopsy_repo.strip()) > 0 else AUTOPSY_REPO - - yaml = ruamel.yaml.YAML() - with open(snapcraft_yaml_path) as snapcraft_file: - yaml_dict = yaml.load(snapcraft_file) - - yaml_dict['version'] = snapcraft_version - - yaml_dict['parts']['sleuthkit']['source'] = sleuthkit_repo - yaml_dict['parts']['sleuthkit']['source-tag'] = sleuthkit_version_tag - yaml_dict['parts']['sleuthkit'].pop('source-branch', None) - - yaml_dict['parts']['autopsy']['source'] = autopsy_repo - yaml_dict['parts']['autopsy']['source-tag'] = autopsy_version_tag - yaml_dict['parts']['autopsy'].pop('source-branch', None) - - with open(snapcraft_yaml_path, "w") as snapcraft_file: - yaml.dump(yaml_dict, snapcraft_file) - - -def main(): - parser = argparse.ArgumentParser( - description="Updates snapcraft.yml file with current versions of autopsy and sleuthkit", - formatter_class=argparse.ArgumentDefaultsHelpFormatter) - - parser.add_argument('-s', '--sleuthkit_tag', required=True, dest='sleuthkit_version_tag', type=str, - help='The git tag to use for sleuthkit.') - parser.add_argument('-a', '--autopsy_tag', required=True, dest='autopsy_version_tag', type=str, - help='The git tag to use for autopsy.') - parser.add_argument('-v', '--version', required=True, dest='snapcraft_version', type=str, - help='Version for snapcraft metadata.') - - parser.add_argument('-p', '--snapcraft_path', dest='snapcraft_yaml_path', type=str, default=SNAPCRAFT_YAML_PATH, - help='Path to snapcraft.yaml.') - parser.add_argument('--sleuthkit_repo', dest='sleuthkit_repo', type=str, default=SLEUTHKIT_REPO, - help='Location of sleuthkit repo.') - parser.add_argument('--autopsy_repo', dest='autopsy_repo', type=str, default=AUTOPSY_REPO, - help='Location of sleuthkit repo.') - - args = parser.parse_args() - update_versions( - sleuthkit_version_tag=args.sleuthkit_version_tag, - autopsy_version_tag=args.autopsy_version_tag, - snapcraft_version=args.snapcraft_version, - snapcraft_yaml_path=args.snapcraft_yaml_path, - sleuthkit_repo=args.sleuthkit_repo, - autopsy_repo=args.autopsy_repo - ) - - -if __name__ == '__main__': - main()