From 3334c5127770b17fd9e31cc1af4b36262ebac831 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rostislav=20L=C3=A1n?= Date: Mon, 8 May 2023 22:22:03 +0200 Subject: [PATCH] Changed project link from ssh to https. --- README.md | 2 +- docs/build/.doctrees/environment.pickle | Bin 337492 -> 337798 bytes docs/build/.doctrees/installation.doctree | Bin 12364 -> 12358 bytes docs/build/.doctrees/usage.doctree | Bin 5906 -> 6068 bytes docs/build/_sources/installation.rst.txt | 2 +- docs/build/_sources/usage.rst.txt | 8 +++++--- docs/build/installation.html | 2 +- docs/build/searchindex.js | 2 +- docs/build/usage.html | 8 +++++--- docs/source/installation.rst | 2 +- 10 files changed, 15 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index c9fd020..69f06f7 100644 --- a/README.md +++ b/README.md @@ -43,7 +43,7 @@ It will also install several required python packages, including **venv**, which 2. Clone the repository to this directory: ```sh - git clone ssh://git@strade.fit.vutbr.cz:3022/xlanro00/BP_DP-xlanro00.git + git clone https://strade.fit.vutbr.cz/git/xlanro00/BP_DP-xlanro00.git ``` 3. Go inside the newly created directory: diff --git a/docs/build/.doctrees/environment.pickle b/docs/build/.doctrees/environment.pickle index 9dbf342b730050c00602439c0dbe3698e60297fa..1b170b72fccca3ec954da87a79df983735a18966 100644 GIT binary patch literal 337798 zcmeFa37jNHbtXRd(Q{wYjLy>N>S?BXBn<*FI$(4UBMkyc2qB45bys#*<n1%oMUPNR@WMpPlR%Z2R ze=vgTJR)C2ym;~67hgn1KDhEV%a<%&LjSz2?fFWzabn789ILjPjk?q5^t{bicdNDX zb=sv@_x3!$cYkl(TV9%iD~b< z`j+Cgw@jX>l^U()MHlVEBkg_DBzfPIe7xQBR<&C*Eal=9QrgXKYsSIDGtI_qb*|@a zkkwGHRl(gNg*GsJhGkK#l->f-E?s%)`TTR!QfqKuq!D%?H=CMz{ zweiXK74~0Ss5i?_ty^ezs_moQ!hEaU>Gr&}GtK#hR&}m|CpKPk(Ixx$7L+PcapYKO zLicNeYpYvM%_+5^mgN^uU4(}^PJO;s>NxGwUY zRp5NZrw`W?Gf92L$dD?zeu3nf~8eRXb%FRkp9rfaye z<~I7vm&RtG$jRwibLJ@OdQ%nl*qEa`U2oN~QmxC4KVI2YIn7%RgYO-AX|Hl-<*dq; zIPkW}_9<$5Ujh|SsX688l`|?=Q_9saB{G>_(f3Qig*gWed!kb;)oRV-#o6w&pS@7*v`URO%z|zHVQ;leLsj&~>ZLX; zp~z;xvf3y+C#0w~ln-C8JX4fvgXo0Cc6WBRdV+e@iYZtwtfl3&JFV_a2Mt!H?0aqT z#3uQK(?C0+Wnkmo&g|r6lkMu9$fj~$<$RHLbG2dH=CX+irIYn#XSUR>b&4(YFQwg` zrE(dyY_J8vP+M?A6{n46e@IHD1n6yDXqy!1-`Lt|&J>%|)IW=Os8tPaoo(MLwkuGl zkWa>0Zq`dx)tYDG={iih*=aO8PO;_8Iw;4CQ*6(d;IkeUC0WlRL@#cuiyP+`=Gb+j zYb|iK*xt5Q;00>r349ZP5lRKf_Sq7oY0itbl~zzWr?Okv?IzXvi_`Fgu)!nZ`i7&9 zGhaMjYBkU(eqpw>yYusC%64$)9+}xGP$3%!`bxdtY!s1>YykJUz+E_4F3L?%W3@ zDpx3rx=uX-51@22)~U6N@Icks1$Aj1U7CS)wK{E8%du{oa+#xmuB5f0)6RWen5D1j zt=hF>NxI(U_g(8qb#K@2%XmQ{blh93Tn_uJWo`+9U=4?Nct_|7SOMCHS6~<5bcGJi z6xLZpXsVRj)i#1p4F#_>Yh`*&_Kpo4P^J;ggqu5EM$E?kYelRSp;AQ3%0X^wenffZ z8=ka=@y!x%1zi`;jZ=uoR{68apV3oWgKI^t-|)RLaj)7zPpq6K(y!xdGWa5La6(a9 zrH)?ZW^q|WMdV(qwkuAnr;^KP=|^{j6&ACJWdou#I@Q@K9`IIo8%G<>&DsH!6>*>=ii* zohj^~BEEQ9r~)2Sc7f&MvM4!S2I`W1+)vs@z=ekI*Yk%rDZ&Gw=PHxf&gH6?TUE;$paeLCgNz7UKYU${bfjsZ&)h-reY3hwLnLQKji;QJdv^ved6*!ho zsfDYAbwm(4Ri&ws$5P`g8l~^L{`Q-0DjYd@^L2$QuDki*p_`s`@Y-vicHOPFUeyyh z?+6|h<3kM8OZA?&{icIQZn*v64S4RRo1RpwPBmL|>Y4R4wm*TMGDm^VTQgqjp3sPgRls>&guV_2XPotz$Xdn(zO-3f z0(%5YW}geK@txDf9dcRXsE%PB9Bi#yZ=hlHx=@-E@Yz7_;`%P}M5j4lbB;MR_#sBH zG`2h*l=F@G;O2k|Pd?5z^)fU<#$YWz5 zi4ZjP8_s)IaJ}W+2bQK&tT-he4=BxU(UXYbIfhsKw05ggtviSxs_nHq$D6IAG`={z z(t4=Wm;pSZFv8+?206()fkM1x&pJoh_!&VuFoLk%Y8_!-mEeXawSJ!mAVTO`^bm>WltCOcRcpU@K*kZEf_K znj<2*LR9X#WNjP(x4<)08?#MffCRfs-n?H$Flsu>{U(HXXFsLk6reGuprP$Ta~5Q$ zBt1e<1x)p8L;FAr#t9c+iwZY4?= z_#*1w=9!{^|3nlOEgrQzZm&=ZL#+*^(s$61E4o%g!<4xR`ri=`<$M3H@X{gJiNOifHkcUK}Lb z7$g%zKVN{B&(UdECMZ~%2{~Ijx+q>}k|r^H0heU9oSF2vE0a+nR1t!Bd4GBUn96){s-dd=nWwyao*3*V1NKp|JSDxId!7`2jZe zEfl{(kDrwgX%Wn%v*)29KN&GP4sKG+R|88mQn?Q(i@NAw1(pMG`4G=R@U(!GwqD*~ zjJZKryZ52Z3#r zLh>r2VFhCn6ja?L!zFtH(wh%B75#DU3BanVfM-SBED~?byn>I2^<;IumE7kcj0laM zp(hfpi1;T=jhmCf^_fO0o^Daoanv}{BzCD;^Wt2y2~-*=PNmrCrvL;3i{@)qB{<7Z zpym;)n9c!dj0qSd_T#pd3=>bs2+sFU*`9Z1s&HZ9l;`;}2@RAm%0|wJsx-9&$5$eJ zfYf{$h* z&07V)Ry`)?vbx=AZ-bzda34qx!@;HAHsgwby9f&2Di8|fZjNXRH#W*8AO4_a^(}Jv z;;%DN%ULRGE6=JFy)`g4G12@g4D`oj4-^=Sqb_)wPOFJIA_txYvsyGOzOvf};n4He zp-Ur90v*z{`f70o2e`i4K>0CLVnWMXA*M)|)6}Xr*6tAF-GVoPrxcH{&|s;ItguS7 z8Z;2*!`r=If`0s^4fmtCn`L#y7^*!r(>uJ(+Zn!C!HNbruMR2m)bP!!XePR+me%;v zu#o8R8gF~(5up{N-xa#ymX4K#Q>S96H91Ne@sV_WN9ZX5w|j?|Tlv#k1w0TgR=ZQC z%d3Q(-r*;7z3me0Qv8DQ#Kc1HVQ;H(9h5XCkFlUa770GsTLZmNn^J5U_coIEqfwZg zF87uJi+dY*o(sc~l2{Y5f*q0nPY8sOuLovcFu%Cmo)Rh`=5Qa@$fDs+n{Cx(7u?^ ztK96ZXOTrUS>E;5pu=&T;igo*>4t+}-tnS;_{_2Ao1Il${)_47cybYqxbT%7S9pGR z6PLdF2N&2LK-~IT;iJC4lAV=qyyS7G|HcOcZy+w6cgqVrb^!A9hYQjzi1Q0h-D-FS zdG+v@br(SwU-!WE`_>qKN?!fUTih=r*yHS!r$6;EZ@b9-VsQ4QFLphw$024H(>Anp z##;v-vxbI7JJFd$H6VUFy;q}K5Vekefm_STbG*9u;@;EHL6lZs74m&J_tl1DsZ$(T zzVlT*ciZwMOUT*o<{?R~I=xSHfc;Y!U$l=MaCL?TE$A0L@3g6@efS^NAnr5VBHjEY zce@m|JxC>;u(-cN-rpSDhZE*|hPqKw;iOT#&qHtc^A-LBvy%9v+;h)_G`D~sQiity zvpqzNlxoLI3+*06oKmD!D>ThSoeKN}E%~T8{QIgupd36)e^SHAGw=cV!w5wx{It#PtyW?LY3`NEv|h-s=JKlz$Z!g@@U3t!##W^Adkca(1*n+nxrb0+jHnM&wO8DR zK`j~g&rkhd+@m$Y-YN=wFa!4p^w6Fzd1D&ONO5m@m5D=;gEZv;(}QbXDNqrP)?iIY za6;4?PqpCATCkW0#Hu;WZpjf6)^e`yl)%K%@<-nU-De%A)QeAxTtWOYF$-TcU>GEaclJ3oi4d|;sE-0@4{c0={@34QT!>1KQsKN z>(1e?C(A5kH*h5++dWFxNdDo~QVZT%w0>!>RhqAue&89Gf%m@+17D|reu!Qv$N}ns z3=_C-32$0JL`T#pl<>d8#Dvhu#6)4X)vOnueCtz=pa;_=uu>cOiK($0Ni=m(slfuQ zuz=A6=ABrvbV?qSJN>j%z-X*oI9`Es0&FYLib1D5RZuIMK%R0 z&VsB2(h!>VUCX%3=CFSVJtCy?iha?TFR~lcHxyy7t3c48j%FizV?lG67P?Ak-OS~c z3Aqemj;csO6<~C%kpKF5wvB-s)=BRHwBF3#MC5tG9GLkyE^1sXEYBw4iHuwsh1bD4jH&`W3WpSW#S1C^XoL%vD34OICY z)`Tj~{{8!@ELZH4${f3b)p->sx&n^AR2Iji-77k+;6z-gT*V-`Buu!}xnf_ZVyC$S zixQyPg6th;BAiLFbluPJiq3Siyb#DTGQXmu6^ly(FMZV&tWd^YSMD}yz5A*$QSaTt zo9{kQxQnYu&x$*AME`aZ;KKdgA~^Ef6TA2Ni8%=&fx3g3hIIV8O~3p8$`Ch6eYM9{oFL5KYg+D}4@(v~2r9G>^e`lNQW( zjuinD>eDpB4mZJZhh7tbw2P)Lx;RiOHxJJ-^N1YxFZOHGU-xyao_;;HEytTBlXn2#%P25~?tTe=b3I8XFUqPT{L+{<4tCeG@IS4C?#dXWQuIrSlJ*qS;=!x{%x!cMVgEwVR6yy}+UQz3Kh~xmGSh7lt4icGNU5?|JS(RY1yd#j zp%+p9ljTAi6t*#|wno511D6v!6R%eEq>kbZr=;_;2OgGonWEbJ0c` z?gHK}gXWk-qfbhs>y=FMHk6c`JV+YF?E2d(h_Vn-9&$Ds?Er2!TsSj-*T@2M+d||$&oY7irDbfGAz$@$v3G;drQe6*AMw`8 zxPcW{IHA`AF-KIVT|L%`0*QHKY*r#qc~z*l0aH1=f|q8QF%5>bt{vL8W2;*Kt=+^j zgbg$^O)qte32a>1D3$}u*)Lila=N&pR-ua}L29z&2(5Xh^~1r1^;jjt%YNyl6&1+PG`R|pyJQ>+-lZEAxkLks z32RhJS5&C zN5IP|y_+{*7`6VxSUckW7ine(T_bEo>q-1QV=z~T>yzhS^jLICd-;dCki`8d30jND zitfO#YOkprdl+kq7BIDXqUdi|fvIsKe|zB-7txD4+|}s%-kJ111zrH9wNccCpm?q= zwm0A<{SnJfHo&j&3oL#&j$VioT8-oWkZO@?El$)@7OcF(;;J>G+oPYsWU$VOU&4{g zQ+ZMpTW(CF{X1}gSl@z06SQs!D`xboVyYCEA#K(_S%njtWyST?bWt3;KOsN=pZIBe zYw0pAzN18ZF&WA zruG8SRQ_ftoOFBWqMv%LA#ttBl^@z_$mg{Hw5DuFSeCrA#2Z8Zp8>@T8|k^Hqh{V} z(8qlGYAAr0SZw4~HCUwDruB9rAHS;`m)H51x$)MiMWwXl4)q)>lQ)vRHi)a*dPB|$ zCAkhI(SW=^Y3$ZxZj8Gv^9~k)u}`>LuJR)=isgGI#*=B5gwhzu=jHIzqO32bqv*Ng zVdw6nCX^qtGxV+*c1m8>jA!P>jPx>$L#~0YD$n$B0`4a7NwnHfTayc92FS6V&u45{LUA1g!y!Y4Xm6RI9qDFze zBGeE}#fFF7H(kS03qmRnP-X%5ofg(9V{jnG7KHz4h_Js*#^BV{V1$O_^zH>#_LD>L z$Hrm~HDA$&X?*}%>}y(X|8|h-3r|XVw-07DQLDNRAPx}5fy(@eMb(tTj+RC>6Kv~O zQK`tTJFH!;67O90ybFXMA_E%VQy9lUQJ9ozX?w8D%doMj;4ylO#Wy$i{iJ>#o+sKG zbrx?0y(wW%BlZmHhJ!Y2m7imaq=`yiS#R3&o`H>6 z>Bi_LzUYt@uhYb;2SxW{6Qk}G)fADB@e&y0j?oxfSEly9-qHp*hA7*X`VJLR=zKjg z($|?8?Hei0YDeK)0;LJTt5~qR4u3R{8?1R&Yvs1|OTe1)Uz{+sG>K=^#;7y#Op==1 zb4VzA-aRYGzo9pU?|4Rz5_#&whxlg|lQFch#;DC6KFC<80b z{h@NKMj{i5?xa6%=;of$>gLY;brX_QVwetNm9B@ejZ7c(ZkE0iq;Pu5$ zo4uHDx=O$w8hPrWA5J}=8#6$X` z)z-aTp^jgp40!EeV7D|ar)z~))WlR-q+2(QF6D?#)nXD#-K-@I7ctRZk4a~(3B6E5 zKZVIjwc44qODm(XI-6d9!@FGm8hRd_V8bA&8SmI)#AdHeHV}}}62={)DgHd)rU(~M zG{+wy6KJ1}VrAj$55Br!PK?t1z?YczAfDPO^u^P6rh<&xBnh&daRT2VT%qXBj9&hL zYY>CnBaxlL<$-AkU3^UF;*i$>|{QnaOf$`oy*L~e&@5cnfJ z8`l!)Yw!MV62}VsK8})1fbPd-EKC6VOC{9aFoPsvnatqdxE4bw;(NX#(zgHO5Tk)< z$w|=Lf}pLigHT`uf=poNYxWD@afHo5;a$T)sEdXg&si1UCPU~TForWBILR33ezGy_ zO{EK?R!PD$8OLc{t05FKym9Q-KstvJyvE6I)-X)ur9(jk2^+#N*#F51Ei**T1CzME zk4ez|WRuuN@34j|Z?t@pj7%+mOo_=%RJX2pX;G5DWD{!yrE-2I|?$J=fc zQe>%-@P89Z9;Vfe;2FMYIGx{2a9lASbKLzVvUk6QpJ+lL%o@7irS#m&zhP(RO^=dD zm#r1h%Ksixog^7lxUpOPAWHn`fB`=~5JZSKdZ2tHfB z5@|Kl;+MR2t})EbDnz9$Wq2;~uhOf+O~FNe0pfEbW+`o!AW^-| zBskPvXk_?dv&eqeuzJQG(E$e-9mkJ@!k(H#le%cw)p)*o2u45WL2%N5nC=I@!)yQ% zO3&^yAT|lNBzcxoO~aF&!xb5#k1dd)GlC(Th{f1R-Sk0U#D-x@@ls!e+3`$`522w~ z`hv|c5H|kIqYL+Slv9!H<@I!QFC9JNAH4xb54&&V-#5{(WIEqWDg59h8iLo#EXIK0 zLVCZ0_JBh;N**uBHv-gJH|@C*4;S`mS&d8jHCV`_k@+JTLo84u2CZYXNlahMGKT2d z*?FbWj3G3&_5!RO9zv`$lIbG|7hrH%CJQ#new5#`k@r*d`W>34cjA zF<7LrctK6*|KE&?oUGB@T6_sKu!79$3`TRSNHCA)0?SJr&3!axm^bbYJUxDajG{CG zjGiE-PNJ=&2+xA0376;PtGQtOSAgK8@gLofYcetZ!$+y2X2(V4joy?b%W`IE#(rmV zC5Gsb!TjfGLJtGCzP>h@EP&U~fE$ymMa24uJ_cX}Jry(igu|N?+G7X>1cq=(D1ft% zS}8;KlMUgt1RWT5kR&RT9bC_K7(xwUI~bxAEgHu%jd1F)r3jb^@@E;Dh~>kUB48rS zpkcb}Av6>)5hfZ4JMNsAh+l#N1QYSgbi_;qA3aK$2-+?cD`bo1>G8xjkHSnu@Z5-* z2(kT!ETZspAR?GM;rAs*LO{Hm+Rg`#rVYk)^ehC#+wJT|MnGr{7mU?y0zyw_5)j%Q z!@qvmuEZz_hzOmzze7ccB_Os%SWi6fp!T;_5z?N|WE)fh1S(Mv8H)K#dc~w69sUgB zb0Z!8h=p0CLnLMhYa}vJA7JrMqt(qf^4Cq85R@>^?rXkQK5s=`avW#>FVZ}ZvsbUh z5uFC(?4XZFjkC3GCa}lbNS5y|Q;o9=w^CkepdH}Yn1OZwMw+zpSa zmE%{@g593FXqe=c`RXtjN<9IBlg89^Kdvu`=rtZary8LLqee-BEiaa4fc-eGQ4HQn z>ZifLYQIp*zyoag?EyxX@dIq?r3n>APKwuWrLIbfQY`ULp7NUa!Kp^bV za~fj53kncJ?03@<53%_u+Ymck@p1QmU}dGZT`bw1#KIfw962f9Om)oNV^k_RQLnb- zDY?e3GIF_cXe&N`;o8I~?yu0oP9Df$Q=2qqA8f@(B4mcaR($RnTs`8h<=-*NWCMQW zqCDPI&)v-Tw(##({@upE+wrTm%5zV_$>F8$sp8L0POyuAPvhUy>Bchm4EnRuJyZNS zi*KFHzXkk0?Br!V_d=YwpQHvK*Dp`diM?r@yO*vn z!w2%mpNHJ5@C$uB5r449n)@XDJ>nk3FYl)2UX3Gd>ooUTzJDFvr%lq_>v43Lc1Lq> zpp;@iH1`mWA99~esc6$P_b`qgc5mX}oAHYbkMPM;@XPy@xwr87Q}O$d`!qV{eaGBe zad^bN4ZkSy)A8qiyj>vvJX8F+Tl{&J`16~j=J(^L?cN()dARLP^VvAxb9ucC^%3#< z=qmY{UE^ihU?p2?+|uc4;d zPnRc6X?*6=u&(QtSxxS&_*20j=-m~6YT{2r{FxVjTH;R!f6%I3`m@A6hCl8J{D|Gk z+~?vDavl(W9>kv`?(@aT3;D!%B7lLL$YSC)8yk0T#%*ma?$6OT%M676^Y*DWF_`>! z>e*UY>Hm4K@K)k(h0KfR9llGxf-R4aXb|Te9BlCv?ZmZD?0>mWOl$J1``VUn^r^MM zH^w{X;4yp`l|C3D`Gj_XzbNFd5D&etKR|i|-mVz4sv5y?_SdFdgZO-3hf8h2?h?Aj z5P-h47T!VPuBYImVaKZ2;2E=jw9zzgWKADq#HQ40ikP;9!#3*GRtADP9uF;L7->$1dbiqI$fDk0C+0wv@)K63zM?GkG<;k6vzts}G!%P~AH|ICzq$<063 zIQ4mKabInR)V*5ftda|pTgg4cG`6SaYHVImAYmSdg?X^WAI`B$nw6kjLUGUcR>4p* zlex>Uzumy~2}Xf~%Jj5tT7+h ziDMV@J{-Z3a2Pt~hoMFF4`xlNKyfu4!kI<^v@N3Q@8YTt;SK@^{r1!%+~ZWg6Z9PK zyX!8{c_=)|0{-{Z(xuD?<7EnGGlU|8N~exW-=3J5#)y~qNHfC{KG?`x)CH00T6u*6 z4TleW9|+%y#AjP8O}y{SAMK*=ABoW;_Q$3#V=7O14Sl9nlNAhU%m}6;*DN+~nw`bx zu=xWwLSi8y}h)Sy=SVg7F{iu}QH<-mGsd2>}!XrkR_zq#>%enlSLdz1N zg3y`(??wR`vU@tefx{LuL0S@?$F`95diK5uwvjQ0EnF~D?fVkcK7@(_E7>bl#JOJ) zSV?-XZF{3cKPv zW;@-U&`v|>G_b3uYIb#Tf4d3+0JD%JYsAKMsxYRT^D?G1u5chYE1lv`hQ$(5a8}9` zSRze{B}5K-P--~)E)B*N+cVXp)sD}w2R;zUaTdD;Gtqu+dY7c3TGfgBiwjv|0z1Dw zst$g?3xm;@lM(A+bh8ger2)Jnvb%hjYniNSJu}PgFOzKly?jfokHmNi*cp%guZT?q>EnpOCkTQkK zPgCOTsNuU46OCHkDK**?fCi0bV-izH_&7aZ+9N0Ev03s=1s_>@wnjYNiZf=z=pJV0 zeG07XVCz}>IGbdx#KZV_D<*Rc=1N|nPkYM{bsY0I{7HkhQ)=O3+{CEy<20wwd|E}v zFV}QClg(LT%Y^K`1^O;3rhvHcSVszBSO(Vw%T~r34}7IEi3U3}Q4>Lb51|kbUz7JW zs8Wd`!fJWl>_qF=$9JM33_d_1Yam#$6I<=JG)qB=N8FXq5?y(PDAp4Jv-NqTKLz#} z)~@_VRm*F9XiBSssN8HS1qQlo*t+``7Dhai)S&VFh^A^^gg`vO9n(TCNwAP1>@;V46EFXy(u>}`|1wV!hJVc#?U^Fi39L6^{N;Al8$9|iJ&EjdKr8u+L z9M0Ys!;OP&Ysv4c!kOy7BSHN`s46gz+k~pP1ef{dac#POZI+cpj@VSr5vFnr7k-HP z_cfKPbM#XoBk>MqmaPoOhQrGtTiq35acRYDo%<77X9!IOmb9Q*l0LK=0ymf?Ccz`N zr`^Jyx_Q}C8dNzD4wk<0ykQF%g@dI`ff&-1I6Dq*OiXl|9egb7Sg9qJ8u{dzSYo6D z&ubOLmCKKeRY|l=wcZ7KrO91JomfbXMaK9{mw?9jC|v>twk@I{e*Xz!Pxm*;5OoG@ zQ>YTA-F`5^Zinb;0rdR9uvQR7fSo5y|9vdeBEaqdVjE?P#DX|$Rom^OEl1c%-!_Wu zlx5j|dyUFYB@xbhmC(IuS6|B4t^yDKd0_*L1#U9v3pvIdwgZ~wr));-&o2;0{TZ&% z5PdDc2cJqUVjzDm3;4&Wr6(-zkupV3UR;0v1k5DxV%R!iSl^ecm5YK&oWzb8;T5I{ zt{LwR7&85y5q8TPHiX==T$sycF->n1C9TrSEdCon`7DuH2f?{52^|;KyP9QMF8Knu z+{2!iN^IC+o;$$PstIlXH~1pRi}P*5!23-Kb+h+7LwUa_n>9^}9*Z-nAv$4H zh@KGku!jqn$(vn}TEsx!Ocro=YUv5yOv)6UUD^YTT0dus;ajKak_!&+BVm)a}3REcF; zF7~Z(u_;>_Pn?W4j`i;Ln!k`c7L6ptS@96gD9QwL$p+2nC}%W#fDi{7y~cijw~3M^`h)YY}NaORlk!fI)tu* zuq~`QO=lYjtH^Hm++hnC#iU7@BATQradswcY+_;-99kJ;F5j@jJ#ej`#!nI+L;WLJ zh92lwvQ*Q2zL{V?Lo{_jX#M@LjS=NnFBTT~wP9rj7ML11Zlu@UtFF_+e0)-aY%tQr zHp=Rap+;HjOE(*4EhQWU=2{8CxeaUgi-uV`tjr7zgC5W>b(%?SvPLC|ZI1D9bF3hl zW=l+rswFNMR%=mR`!oFNr*2p zw($;y8*jCI#%#aCqiVk!hShac`#oN?-!&}L8olgM1ku1cjU7c;Ec}In;<9LEF4u^|4 zL|6_w_jGCz10gV3z-OhFp1>AKnW9Gwp~#@pse?Y;Pql$9j%fYAZy&B~vHq>Ywnvl^UM`IA&BMyf&>q-MqK!3`4(66?T?Y#-<6C8O zIB9I#{6V;F*6VqgE%b+@YN1aItIenux>B^zM~9V}p@k07dnXNyTCl=Z?Ml_DVDIKi zvsMmx)u&VY(WcfjUF=Ds-qFT#0Y|Q2O`6zWujdiltp5;h)-|eNW|RKYsG9T}!>T{3 zNuMa1^s6k>f(1_iEXbzi!C}JVv*r}`pN|_(plWyL8jNY>so$HAbnDZ2RYL7&(x$M6$LJ4D8n&z0 z=2FcB%6BLD4U8FcGZTJ^uE4;CQa7CA*lG)M@WzFBsUs;Qf}PS!8fzc-hV5f4c+518 z=}{TSvxaTRDC4+J7{@bNrWF>SgRq!GYeCBJZ510>?OD8Qawx3d@}Vf}J`l9L9WmFa zoc+he%$`u5X&5ie*D!)u`JiY-&NxDg z{aNfUWC-3R>4hn)unlLm6sA%Ln6;9-i`fqEN@#~6bQYM+uM3^A*#r=)zc)3DM^Z*? zCN~N*c`KK9h$@H8Bn@C02x3V)?haePsOd8)Q#j}}CC)y5_Oyu!r`0S6<4~~|CI+F6 zZhd|Mt8qH5>IvE>`PNElo?pSFcrAC#1oky~<{EaJS7#TlEW>uA zYm{)6L=xXZi>8Gv-yH9$hOm&pk^W4yCOgst!*>$1v?O%Ie)T3{jQ=&Pfd_u|N2x^& zcC+5F<& z`L=K17w;5p5$PAxXu$Z&1PL9nU%W+_((PRQAtFQI7oV0|#6W&g7VwCW{+i`WmM)=x zuKGsPpgYXFQNU9Q7aeJ&4l<4Kf%GE3FA@GcNH`zwoRa#`%%uF*$|QYghQ1LecHM3F zO71=4!y85Zqdnq(o+bQknvz=*kIe8N8H0X?6JbvgU)l-wtUrve#DvRf7QvJrd?;=S zZ5}6fOkR!8NM-y)oV$Z$oPwX6z7OZ_CV})}IQKmIp^w737tjxX5st6X7vbDJ^h2M6 zb00%L^Z__`l76P}lh+5}NLg<10XX*x%3$Dcz`55@@@u&~abJIPZ=^IQ@7r&$BmdaL zkN@pAy5fKPjc>WsL)s_xGiTHpy3^iT{}qkiFTQrxoWbia&b^q{Z8Mdo;GjDmd-0t1e^H$H)O6|78$1CX*w|umw+?@|jrb{zNTh1)sS$m>hJJ6=B z%X|2iBYhOPb<9!UL|Hx4tkc)G@Lfgn*B_xy#Oq1;h(C(<#9=>*M*C2;+7QiO155Ww zw9VI7YuFtgA_U+MeF4qBZD6G@+0}@6v-1y;3SXG|WAW!t#h*`!KcD75BD{DjJJn9j zkt+HE?u1n2ex9zye)H_VJq4R@@yE`HEowRUbz$eE^frA*3wv;33$0qsDevXkpVIt% ztvbVBT%j+V;X_;H1)3QGy)-p;Jrv@!=AoBPprsm_M_*Q2q3MtlCFt@AAHxt8$GT&px+!PhOx?1T1` zA6hdT8T0XRA6m00rDxvR?1~ri8V;I-_&|KyuEkAztlH{yvB8_uz)_Pdpx|Jw7@D_Q zcM1#iU_RJ?O!dHN%09?Og{AEUW{l52Cj-zRaQc3v<1-H&ifABhj_ z60A>D{lG4BU{?4rQ!t$BpNIePD($NvUc}d{0<)FXvCQ@`tlQgAtMZ37iu?wB=<8>v zpH~oHvMfv;gI(^!?Ek(J1z~s;v-J~GiuMyqJ$;K2xZM5~c0Wtn`y76}mDqR?k?LV@ zO|8_J>tf?Tig@_kV-p_O+eo_%*6{yM5mW5#-u)_$h3Xh??v0{kmVO5A){oo<*R8u| z>BidyTFW`##d^;IeYSF9qS@`>lm<%<$79^6HfCzwGQ~3N>V>Tp(f7G`x3E7VeH+UK z>XG25*;?2OA?5k1FHj)GLJhlc(Y1B~E8~viV_r_JhL2vxuV;MyqqWG&ti}ary(_ky zCLQ-Um{ln7`avMf@OhYBkTCL|=$tGfE zo~l;ZquVwwvx1w$3C!%CnrmI%n@AiZN4=gGr?z;rkg0UCTJ{!G4a?DkOrbN2QFEh( z1I4tbEd#}dCPv3Li@#30XI7)T7}eNfxf!z%NevW`IsN^|5qOTVq2? zLeZTu6=&?W$-&YCr$xg%{>He8-YN&xELL~{(9QKy149ig2qfIVgHP#F7?f}z>V!YB zEx+42fh9V1JYUAM4J?K@5RWl#$}=0)U=kNxolI`o!KsX>C(nWB1L*e{(1&4)er%Mv}e&cW={X%~Z? z@$VFAJW!mWzBV#W?)6(-$7BdC>-xXUx07*fWWCZbunUN>a;^7TdDBmTc2_S!!(RbXRC8v zxaTT-C&lWC31aa|ox%)#Z`l!B^MlaobQ_3SaH;hsUS3)#I49tic|=HrYzJH&_S>HU z*@yR;u#g*{PG*s2@m7L4Z*_Wymr2n7Z*+%;qh_}c`}A`neEJLW_vyl8_)dLtQrKvL{_LZlDYp&3 zf&N~^rY&H)6q;kU_0dou-G@I8jhc%OFFUiPZVmH7ea8gnMm46sUO)^nz0CsK!kFq*0Y5TS-3KD~h`X8ZZQc`*HayTLYwcvjw`m zRGYl`Kw<{fXN6h?r!OOxw|kN{=i&=RVuBi2W7zrQg^h&a>?@y|$uS9EpdH40a z7z15(x>dq-HGLZl<05@N%xu3w9x&SUcWu@C#R-sTe-+7kevIl#hT$C=to?|1l?Dm! z^#Ecr#W@Vd@m{TO^}N7iX_T#uqJ2L_?R#eMvTb3U*Zt7=QgY2#b?aUzu;)|UHSO3y($LP73w zDuU?tsLsEKs-wRNZ-g)XhEb)h!&K>~RK%YRUZv$L2d~mfq}BR8))>}-^kpbsmvnPW z(oGKHEX%0=c>3zQXCj}Zj^v($1fm7cgLoZgrSClMxG$`bUD$D7SYO);7#vyXFQL1Z zT!CK3-RF>`=i(>EsvpEH4W7LKr{GCmNKb7ioxg~VZlohReM!%KiMk~N=0kMO)0mpc z3$1?Ha2)6cFGE_*W_$wGeiiG2t4mm?dZ2IsA(h?sfqNfNE&zr`6Pj3ETz) zr%WGwGnGEZ8wel2e%@)&BAem~%mIWv{MiE*!R1lSYPn#_6yn}VMUZ`iEqpAfgjv{o z5(*m=Fvh(VTyAgK`~t1hU6>SsF1p2~ulEZon(7W@o2~Z2dlIw!SPb7fy1?EWd-KR)~FJq*&&_INjmttIj5rm z7fpq-Qf4~}7&p>LC6q@7mM-+lzT<;U_jwQ@!-bIfWV+xRE&5J)AiVP+wtW$MX3(-v z0@Y%}7u6>OAc;?A_}7;h*<~IX`4t;2P>4}g?gJ(U)aTL~zJ>8U*rt=6Pg_GSm|4Rz zj51*LPW$E*KNttD&4xBL?+y;GcLp#@G6-=RI>2a8tHRfYQQ{W|dH(-=V^&CVW2(Y{K{1^Q()7ia&1Gx$hu01-$t^h)?I; zEwmfJn-6Cf7QmZ`#&&;)l%b%r1#jMpyP4pPz%_($yv^ZG(-U~-?~sS5Lvc^`is<%Gp!`CacW$^hgHIp z^`gOp`#Q?!Kd2tBr=#!F(IfuR8*ucn`$qnK6aC84y_r(@71zAB!NBEDbg|#wU2Rl5 z{oMAc5pJ8F8?o2kuGtY66PPB!W3S*M84g=qGMveV?S{4u9mhe)4E}npot<~*Nc^>^ zz48oh*j#n?juwL6@DyoeXUk!-Ac6U23~sSFclhpeA~Z5iwkT%n!fsJsP&IPd~U$z zL)nD|z@~3QSOKq#>@xuyMXkS^bk0ELZ|R6m6}3*sa@Z6MB{hQ=UgJ1D=KIS8s4`k= z{ToIxLc!!Ea)UXXaRF_liDgjVQ5|O5*o8)6`>3D-sHXtGEd5VCif$ z1o>`@Aol}tz>oVxi+?Yf9yiNwsyzigerhPY{MhlwrMHVL?D!>ic6qWbAvI~BF$_u+ zkF6Z@=*aP#?JD;JoM`~cA&5`s!xPBy>#_?A07^t#yVsI36!f(K$|UY)0w^MgFgd=- zvIPb#b!6dbP&!PFZwWmX#f)o}5MF&B)yj9S32-J0^I~SguB4ATG|YH~k8MNpy1Vr4elRo91f_H6@we{PuS z4bRc^uU;4qjdt?spVC)94FviI#ODTqzM5TF0D<~8gcTa!g6uOvAjQ#qo^;NTXZ0yK zqEp4u(6PnQXyz|K&99OG--#xGn$dDJ>#6j9F+#pPH;(2M%0=(cu^i3Lg!05hgG?OF zcI21NxDz;<-4K?ZqhSMLj)skDaE>O&bx*eY)oB$nl5{aN%wxEZrFPY2uB8jU;YCn2 zAG-A@FIg;Q1}F19RyIT+F6(yyG3qU+b%eGN4i}&UZFjau!Cyz7`>s>ZP2EfkjJ@CjosXx zsTA7S8jm;K#4ZeiG{U+{?3PL|+VXoTAr9&P)k+xQ^>U-BOdk=`CnJGX*eDhQItgcM z8QW+$u08P_ml{p@OF_@F=5S?_WX8*^iP;t@7_YPZ&Sd18AMsU8Z!=klueo49Z(H%%G5q&Lk!UhFuu0dK&FU*GR45yHbvm=%xX*Clr?HN>6J${a2xu}^5 zdz(HwPECrvlj^~w*t_V6NijZ3Ll3c6%#Rc^vAL+W2H<0%(BP!lhx}UqwqI*LN>l4a zBgIZvpKgvM!{jC@?J1RN#3Y#iA?cGsetnkO%kOug0Gyiq`l|$KanLFS`9+0|wbn?C zW_j;`{Q8t#R_|$f##r$YaxJQ6Bfb9BE^oicn1%F;P>=gBR0I`|EYfR@-(ifgad6o{ z;XfXxI>VD({i_qkJfkJKHlG^b@8Wt&ikD#4Lws&HXH9lt0nX{$5Ejn)BUnl%oTEst zpODEh$#oHFpH3CYMaLG&rJ1_`DStu&d}n#mNUlp0Y{$)wvjcuq})o1$~eA1^}`1=i!OOg5~H$p|($lk;#G4>S+2Er8`Ww;lOVJU7jM9n!7 zM2$cn!CItK0)j@|N+xE^lAAhDLCj!Wsppm-A@fjro5(`QyvWYZdq)0XQMO5dvBIEa z@ramTv1{B9Zl)n(-U#vOe7FVW10v>i*@XoFC8DX_*OD?6@U;NS^Kds4Kw&5%h#0(@ zqIVcczDlGr$v;{DvuQ9YP& z`3pK?!iA60P!H_w48mnZZ$e>PGV}dh)pCKO-eEaveiblggSwpj^j1|4e(x~EM1=QJ z80^j5e=!Wqj36;lJBx?@Cp$aujuCk1llornvYmRT9Z08Xobpeh!`z(mkFyI4oN`3# zy8lTn9_y69j=Om|WuKzc-^$&Mw$OdD`A#ktluDN@dc3`3f>wOtk^i3RGir})W+FVY zR+2nC@?*(J*&|;{N9>XLD4R#N!fu*%q2|b4R9hR~_p9~*>q4*gYkiGhYd%U->qVo$ z3(7o;%}%=;$%9*Qh?9<(4EN&@XBLV>i}QBw-PC-3H#B{$o0<_XCrFElf@$8)rNYJ< zZ{#4@g3$pZ{tUaUqX?nGj(pFZar?^?cA@)?Q?k(F5jt{@QxQ}kvS@KXc*uGm(kQji zJ%jal$uJcgo*?gEvG7=Qv;_H^(pNtX)OkI`=LU6p*@XpAr*A`8f$&yjp9$(Hg8U)U zITPf+OGk972y!~M2y)Hv1%$bs9`k+YNh8QVZWJTr!gC|Y|BQ0cdvh#7{^tqhi3tLk z2=YHce(8)mfgt}9grz6Q*?^cJXQLXNARob)%?LQcP{~5l#mz8z?0$-)0PD)eH)wm_x|M3t{XqcaC=u1yQ3JPZWW!RY zWA_E!pt!tw>~z^R>}}*O`#w86@9t5#Y;G3cT`clum!4hIJpJ}V5TBdheo=N|f!~g3 zV)uolj99;2!`;06wn_Er%=&wgi{-XWdVPCDCyQ8SuGL03?FLnE)K1&XL^y4&B(dX; z6tkWmrFyW_{umvx)8?aWPTLC9X*hOs@Gq*ZF$DdpJpjl4DZkc#?$?@+($sptDCa>fN4WK-Fx>ci#vvBJX8giFX5mY>~xb=0KIs1b; z9-J9>jA7d5VJbB|uin2>;qmEcdG!m@S3k`tbvMN4hIY=%E-XMheH+3GeqTY4&4hLo zufCOZ&Lh(6>4;7huTIAnudW%rfGuA&e8)-S)elqYaNskW8IaD)vg7I;&LLJ50Jv@6YStz4LP3SF@gMQwq0qiEMlwVL`oywOp!i!*fp z@Q8HpKI9wO@)$*pX3F6_d&(g|Z2@<+D`H%bJl$Y6v}vU&rWxv-9p63EEbSvky|kcy965?0?d(be>Gs#~?mk__KyX!3@Oz$}TLxb`h=ZeuR{v z8pXnPZ^PY8*p5-0n1R@0bsM>C{~O4}Ge#oe*@tb`qfv7YT2+L<`gN+C9u!A0_h4os z_#CYyv4K7Xjr9Yn2h&*phmM%W;-fT#4m&?%?!jv9G&GipwMDfxK;Ey~1JGE@Pgk{G zK}TF`K1x&TMWeBHm3iNfNCs=8ic})ah{>yUBA1iGTb)TQ<@dNygiXCF^!x;Aai}uI zJ_%IVSUZgzr&x|U;H`GqW%X{!FOo{j@jZ1$%IXPrY5Rr1ERjxq+G6vkMErOy7pE!rOLap9#z; zqUsRooQbOY>4;7hQANiVQKgx>04Ar5MypsCqqwr6;P`fS9OaqZ*v38d+=+7D}d(E;fd#8~5GRnmR}IJi4G; zeR$>PW3MF)RRwucZ?@(u&02G=I)ks_VRwX=4^|d5urLDX11GfH<^<$OKoa91t+sz6e4dr z<}cIRLKZsab9Q##)AI(Ak0K`KU+wz#gQ01_%QqoDoqx9ge!#^1eRg31c!_9e_Zy@P z1&A&1@+sWS1YQ`X2qtE|-dQ9Gv;GW(F9oo}{L4oDfhg)lE4y$;pQg&_zJ3(ci(_eHuQeZ~sr8~! zFFT!9v+P7NFB?=S;v^#`UdA|+lft`PPtD|aw@?&K&AS{)kQRr4Qt&QR*jOWtgi@AU z4tSTV?Xr4L$uDFIyYby}M%rcCE^NPemxXqT(2ZN7BB&^1(Jm`xef8m*yk=nJ`C%$D zJn7QEB8yA9yd-_~)8LjDKzwev<$>(N0^HKKAuQZ-C9=LQhAtq<6X`MEN1im&B0uYqzfC>;H1l_0*f$EvW#?bF-$SIpQpyuIhS|R1>NYwoXh^}TFrJQ%4H}C zMl|_rqmX8oh%v!Pm=IRS$bf)oFH5(hAzaR~2p1000pH>;kmu{kbcU6w@`gRwrt2Q zEC4ML?d+~6WhfYIftDY@GBSY{h9`n-S!dV*1DH#ZxhG+Dm}=ReC68iSw1NvS^h3jn z6JSl2@8p`9ue&G1J0FX*dUVZ}~ATCS(-V)^KHPupXRgx!tez z)BRfWQJPvW9@8?5?W@blObaI&HPgbGoD`;|NzLQ~D$|Rme>3ZNg0wiFoPueg!p0hD zB!seja=^44wac0(z!G-j`{ayF%ggP;j*@AK(2e^tDuN0zHq#>OtB=uEifaZoeq@-6 z49~RmugKyuEx(bz`e~S!_dtAZpyeIeg$1CcZ$nt1Wfs|I0xgPZc_ZnZfy!s-h)xyL zLdO=Ds`#{ zvnmZbVpfHZ((nuH$ns-VOn4}&tzpR6z&tps@*Ka`&-H7~M`>!kXspWVbER&(UB$=c zqqe{CKeVb+jhI{6pz=8>^vY|fz5IR`ikYbwvb;G#S{&F(L9b9@W34q3HCfI%pjUp` zE^D4&UQ?~A#mHD(l0u;Ie^>KQ>HthUZ!O zS7&i~mcLA2{WLJ} zG;ii);A}P@iXw5e8VJ{PJyppE0txsi%hDJ# z6ZRr~beWpOc`en0Nu1Zw5tBH4l!ne=Z6{p)_M`6x}T z7mdU@t>VOUIGfZ&k4!XT3TM5{=Aq}R3ibF z<)Q-y=OcDmy{G2)Dw47t-$`d&BJQlhH1dIhRWB7bE1bbE9u2DHpvT$I>_Z63P?f z@-xvlk3oLvj5~q8c>;u`r*GJRn7(178l1ivU3d{DO16LU#PqIE1yj)r69E9?sQ1DG*oLyJ|Rw7#3eGw@`L0}84)NwZxSYcQqXqOEkOJL~oK4jqekUC7dY%(5+ z;#{=i3!l`a`sm($6bom}OxS_+QDkb)reZ&=A$&VUNp|-Onfk~C_zHh(wVJ_b_voA#=N{{*^;G8=pXCYyDh&# zyjBwK^+$kzKDWYHkBISwz{%t87tK4~rr`0D!tH#MjKc5Sp}?J*+xcFCv^d@3Z55;4Ec8xm!O@$}VCgPYES_}p+)A-k{uH}!1@3pf2Ox@#ufq)49aq;p0}H_{QE zDw2neEs{qwd4Y%i&Tt&5NS<9+m)cJIK;gjr!hxAusog$sZ*$spW;*w(kGPGy{1vy= zGNJjQ?VG8uinB#Jzi)5ue;UNU#V|BL7vQSZ4NjCS)J$e=>Y^>UL_5yuLa$ z17YcD95xZAaoB8_#!y*cNW zQp;&{3T&~3*=DOi-$9}`niLvS)+>x>fb<4i^IW3T=z%;s;RK)TuK6{ewSU= zJU7XfmJ=Y*Y=HVt?9%q5t+D{>2<5ncOht$V)T>m5jo2(N8b0((!&GH>Al<(ziwmT` zoxb{Mfb_Q@J{=OV`ba=P{zGZBYkhyo;5W~ZE8CO)ZL`#mCJqtPI@!Q zGGAJOr}N(l;G~mXSO88U+SP57G8Evo zz{%aXn+cpS3=y-V>&#PP{>S8t^Dro8T1+_wjjkVKA++=y?V7~G* zc3Ja8Rnl^N*PL;#^1F6v`^CI0)JlYM-0x5kRHU)yDp#or>tix?(ZIz2cbKXSPp$N? z%HmQh+s=*eadCYl#U|66AU-$rvM#%@0KN2W2n)UZDJ&%udQo$fKO>W4z_OpTPp67n zp<|0$(M(+clTVQV-%Xx0YUQ#7+i`QFR<5R8^lltWtz4T>o)}xsM6Emt`K2@N1Zw37 zgr%oe*npT?VWT=J)QWPoIt@amkuEk`)XKfon!3zO>4I+c;avpWn+1mIvxmU#%(rwZ z)pntY>8#KO0)A z#7i+29|=st${!u{5Dv_0%EcmdgsnypI^sq$p<|ZX)OHF&XS<$PeyiYLp57L+usScb zv&)m!(RCEh>UfK{_rQO*>)Q|VrlEP>0`ci$i8YuA=Ahn?U048=A{yF#gp{Gcw*{15 zfV-K15Z})YyY~>4752ktkl8%_>;iEK!2m84EXdV-(ifU_cwqLbZ@}i`~T7TWI z^*8)l^HG{wFB;8rM%}5pPKzddq87k!QL~(WvJsO#8~uz<3g7b+YBIm;g(7NdzGuaG z@zUbZPzt_>3L9&%(f#t6M#>@`=!o zdny${MIDRsS*z7qA1-Rw4eWfuFclh}_~~Dv#U*~ONMHRlc;+&Q&kfH!HoLF@&-85w z3(x!q`f4UTqllkz(m6wzyXlBd74bvI7V)DQynre{FucY|BYsL$`Z%|p8}W0La?yKo zEb&uMC{K*z&qVxGsj>1}x_%tO(i1;yKur9wQ4LP~j55dwBPHud7bnB?gZnTwsLuU7 zi!S&U7qP77+M9h~B`}m&M5FH>>91#(U+&-$;rfxS$0$HDTte`eo;hrxh%%{ zt@I|5g|>OWot<~*2ymxtkN~cQ(9P)9-;1!U&>fQ>b(F1km{=vhXwr9;R!ygdU4xY_v)UU-Ukzl^zX7!PuCY z2cNc7f6);$Hhh$ZyI|**A7f)eOi^tOhxV)X0F2F=^Hr_a(h=91 zkJ8k7(HNW48nwDpYP2Ky8h@WinP|jp&3c*5N#SaCQ)Bs^E)+ylb2SqQ(&CU%3a*9< z8*8eOkjnDX0atUDUDiCeic+@Y`{|5}bFQ+B+b;lSVQM0@<6cQcP+`YnYF7I-)<<{# zRRb~KG)!fNXKDIZCWK?W(e4vDoxb{MSej=+d~RUonc0N}V5VReY8c8Bq>5u|Ld$DXJZHp?4;ckAJ3x%VMM8sc)khfog#)oP zIU26T-X~JpO2D-E`$Wn+$vlf$Zd2hYc$OVTX8Em<`RnxdkcDdbqMcoy`$QT_(x&;s z0A=x($o!jK;eNm~4Osa$#HaJ;7N!rD$b2iiumG$?w6yz8Qig)S7FhWl?q&ij3`^ub zks(W9=(6PkidXVZFU-1ZG9HQIT(sf~pY(aEkM7+^!MT{3umkC%$k(n|vgDp#3eM$R zC`NED=g|?f4}6q{ePBnIALn8MMp11IRmKMD!C!{D*st{^ey#Z^O|2J=b2+tL!gAZF z1v2Xu^G_*8%(kqhJWdMLa+uo4?`xqrnwo04H9=Y&3`#+@P+?;&G!jo)ZaJV@Zm`Sh z9m#Kcg005)${Bfwm#43O8qo4mh|dkQyfC}40JQXN2n)1ajqEdl7R9g}C!I4)c@G`YsbW~@*kV{T zGZ$dwT6)ZPkSC2{dB0JNke|+tVfhHQAOA%8AiI880Hw6Q1<1>NSu^vaDlr&t1W-HDk_t2EPT z7y2!O$xo~icD`y<$Lu>Xwi*d0!ipOeTo4UwHNt3^nKP|bFciuITE^cfoh~PHGG>WQ zJ*VJgHUv54vg~E~g}ODH#foYEEL_abY-`JNJMcg`@kGq%R=n&?ugf$LW(UNl^YRwJ z4|tcY*@XoVCZbi{Eu;(ui7g28W7t6^2*Y4S@GfI|t23H;Jo5Gg#11nq>x0BmbcwGZXHFee{=_ZaGBF!Ao48Oh-(&@KGA#fqhthbc=}|MYT1E85_6< zr(5puYyAwr)_jzv){92BoZZHhj8i;Ts&$>{buRwCXL`yJ(=S`}yiN)Yb04*xkGRYj z<))@#780bzM7%U#My0~WT5cqAvb=Oa!_@7v=J|53-m+T2%=UuPE9^3ll8%W`k?T-j!WgfNlCVgoSM? z$UYOcQS{84N#_h`K1WA%s^}Ryw&)qn>;-sn=`r7NCV-dGekk>eMlnMEJ2!gfYm|%L znPcghuP2lzCIV!lXZ{xXr8DjXdgfmtEImEL2E_CX8`a?S%+qru{WWx>qK&XqGLUpJ zGt4%)KczO+X`0W|1>N?;G>v;Jm8T%lR&$m=wNb5?<{a8%rrX9Je0u|5e$1EpQu%_VNJ!U&Q&_tx26p!7g|QMm>C-( zY~{GF60;x1*nK2m2`hipkVF`X)u5xHe9pHiAI)w9>gP0n22{J9OaYlSF!i5;0@|VD z7m;HwRM4LE=8=U8I^WLDyL&X=Mm9?T2}9Uvbd=Clb|w3P;WV)6a)?hCS**cEKnY!z zU048{B3jpdJSjuLatk&Ua5ocdVt^zlp{;fok?%p>gIqil=7%Yw?e@b_RFPI2;h=U? z_4J4{ij_HLChSA{=ruJ})TDYaRWwgWOcn7_8q$P)U4B%NiDX5!HMkoK9tNk1?)Pi` zfM07qN>l4aql$KSnw?S&R8gy1>QtMJ$VEE->$#!CBPNWthq5~inXaZ zqhCpo7KfZtEZw2P#+q;>1hd?Dz!|;TE^D4|7Ka*F0eK8Av(ZMsX&1X+q|CC4Cqhf^ z|D+4;7hc|^w+d88S?fHS{DkNF<-q>)EIF^Um#dVh{3kJeC1UoB>NVnRVC@@NI}OK02(RMm0Ejl;egLmh;uQ z9N5Y+usfK4m_NGw)|u+jDmWgdjLJ@glp&7lbagT7M;ShN7`=-6>)Dvj!W zU8gXO4?&l)gLI+Us?Jp#NPmsrIP;}>rzKfD*-(PTqxa!J;gy|Esao4xnC^B8^DU?C zw2om`R$K+|*PW@*7S&F~hDDFkG8&e0U__SUKEdxu%VU~!G`!uo#oL8kMnK)2si?b9 zie&cAG)>d-r(o~SjLbB@m+S6H->_L&ygTjeykdSVUZk?LF-I83F5XLa9lPTF#w%$s z?L5S%3;WiPFktp-*@Xp|HloGdqofQqa}dKZI5oxhcB%(ceD9zmrug_M4cWyGF+YmW z9B+tfYlD(ld^b47_gj9gKj_z*kJ8k7(I~!iyN!0G)S55WOYNh@`D!haNg zwUC>Q=KE*6-2K947Md?YP42g-2r5`vG~Z^s>N+oA-!@?NkA|t<@I+t#>V*N)XkX&n zI1%3;<9bkvub7QNd~Tpr;6yKV~gn1 z%wK?-KOzCX6HNd$qg^GoKf!kL`-<6>l#AY>V~M^eCX^?}mNOB3mm|M)#+^X)9fGj* zL?0Uv6Mbw{gA;v=5P5{Hl98l~pnZ7e`7f7r?NX#JhZaH*Q zXmMAcv_`O)HZnHRON@m@!h~=Y7Xt{0=CD*Z8g6Hg#qETHbU^N$6$glu*&VYcW?Q6S zcg_kIOs>zGFSSbb_MV<}J>wSaSjkmX_uX5uWtSSa8aDHi^fr@)-g$wYopw{d^&G$4F&>!=QY`d1yClU$=x0)LqTQ>%G{5;nV<}V7QyeF z65WC1>aE{HPM!_HRZn?o&wa^Cq}UlPB#PqEY9?IT^QfwNG#JGyE;AFsb!a7tjc}6d z800HtpP_m%#q(J@Vv2{4(vThO74xHbOr$BQt-;ZL)gE9^>#z8={#(D+e3Yivi$?KW zVA!enMn)vdb9!V@6Az4-=rQ|}$nvCcJwK!d^*d%LLZ{|>ewH9D4tu3o(M5%gHRnhW zXSw%)>-i76tlm8%3c}K+d}p6=RoAx1#5Y=unzPV75t?$hQV~?_vT)b7h%RWNu*eh! zCOc=CN)Au@^snUNl0J`5U;Q*lX+Om0hLrYY7ZxC;z71g^rSG68XF^Jf^f{Mw&ZN&B zbVR3$^r2&m^wBzjfH~hYe9B29eeR~x$2s-fR(H)(E{8Crx~C^bRn6D>UcmjLzx;YuP>OjAS^xU!v@5p4;$6sq|f4nAfYF+lXUSk zOp3TKqNde(pF8P-Z+j6dyb8C+@jfC-hNz$Z$&IM-awB^a&%~HoByb2Kp8V^1rUtN3;tQ!Gx$Y2mF)PS>u^)l1rC`HE*K0Bv_#PGhc9p|?NjTml9r1EcX#pcY5aRS z-B{+HL4Q`dXNo^(@vXD@w}9V=+;i~jeu4y^OGlriqx0$L59sJZ|Jpbm{r~NK37A|} zm4Ei7vy+9eg@OR-gmiZng3<&e3xv?56Oynf#7cG5>#lmKu4-yY(g+CRDDf+uQA)>g zn?apX$Mx^%xQ&d00wRBL8=d)dbYxs-l<}{)4G#W)=iIm5cVAV#`(9NiIO+br`(C~K z-nr+VbM9I0`gwY`hVCAwyR~%p2;KGKZqV%GbRALz{_838S5uH|;Kv&|y@=CIoL3xS?(Q`&M~XVX0GC}0SD9DfI%sY|YCb~+ZKb;}(Cgbd z=SuqhEahB>_%$-hQRFM z-`63%*W63@*~Z&*VlxQf_`7=vvZoH82Hnt=@qb;upzG9p9m7dfB!Ifx%a8dajI?P`}p_#_tjx zNW0W_w#~h;=iZ41#g*_X^KVjxzD>#f)UEJ0luTQKWHu#LN^Ya1XDN~ml)R0ScTjS} zG9))s@(3l5Q}WVNk-VIeCn@<6CHs~mxrvfFry*HLNuH8hDfw4Qo}}a*rz3ecB}>jg zavCL%Q}Pu`E;|#+R!V+F$$wKad=`>Jl&n~RWF;jvN?uFJ_Op@fq~xQNe3FvU1dBEmJ&L0*ZdGAbY7jw$K26jFy=QX zp&iyu-k6;>Dm8h3Q`*+c9HoSIsxWzj3tFvd@*+=~<8JcQc$(N{@_aBF7d3e}mHPcm z?k*$`!z9O~YGznA&0%rL;sS{?#U(E;1#uY@my)k~`{uQr}xQ zZ^td*+$k=1;WB96Eq>g?KRmKi>l!f%Mu~S2sGC<#4Q>?O<}Nv>_TwG&S@G~g_ZJ>| ze`4cyG6qJznkZIs0A1YT;r3$Uqx~h~*>`IL%5}Ohm*7vVl-@jp9V#B%(8+*H6Sga<}2(eR{ z)K~@4Hig&#iOsV|$MOi?(a(U*o5o=!5_zo7D~yQsTUe%NZPb*iB=QDu>7wnnQ@H|% z^rd34k~ml?Vk>ULIGD&_$ES29ci50a_WwoI76G|XIJ-%$db%hdUdRIWsJJ{PE{}`L zm&E1ExR_r-Vrj*%(r0+vPVFp~VF)MsqOjg?#3+rScd8;pxhxL>wRl(RzDTJx42ZT`6VW2w4;<3HSOshz zpl9q!&D5&=N>Am}RV-}Gs5FpC5b6tw5G57g_7I||0`?H1E1)CybvtP*w!~NwJ&r@r z7ElqE1X1@MPC+E~<#gK_iGw{ocziHXK9Z}Xv%Lx4>8)fyNui$)ZpsvyF6&iI%5uA{!^*dcn9vhcBk}_Y_ggy3htPy{ z1E#Q*GoPl$OFGUYpL0b8Wg!lb+1KtA-OVJMBvNGq_O6&Xm_Eo|<%wdoGKQ7OLUfPh z^7+J&kw_(^)+}<@CLqS>z8<5Eg0KYI>F9>-#4`2b5mJHFvrU$?fIe_OilT%p%E+Nt z8|#p;;h`-YmdGv(Mo^ZPcQla}^B6L{QaBZrvkMWdpPZJ#y|)QCec?0TNZ_~y5uUcZ z9X)OYmSnLR>DnZV^FzwwkFOFMPLUwiswu2ZOOe0j?t6Jq?0=c0XOP#j0dEWAI5a*2 zKd)ev%l2rBkYD?KTCaa_Z5Q4uWrSx2KapM~u})R0P`s&p5mI?Hkva-+2kChd4y=(p zdN7ef86?Nzb4v|VW)OsN1;Y42zlg8Xt+y<#4>gfiMfm60G+>&^&0vm)oN^IgY*Iw5 z20^&n4Ps>o4$5dnt2uK&xaO247xAwXQS%EmWKl*>lLB5j_EEr-B^U8u6G4GZky@3E zXk=Q9`^>={mlor45tDnM$>q4h@qpUa4kq`?g*K~Kn>6&o1{(T->5}Pm;vDlKIiuDs zJpDXOeQA^u+e09~*K$qa7W8*HQs-a&vMMA52LL;5p}&%BUZTBh4D!Dg3yPkJlDwVI zp?$iAi)^3aG!Wb@lI^OmAQ7=C)F*aVw z77H5_i`uPWt_H=AnQM^NW`bnpB1THgwfK2Q-Qr&_ ze)##fG;U*Fbz`waomvUwXo~u~wA=Cp;Q+|I3;U7OlCM)6M;wJ5)RIpVN6n>ix)W@ScxEjE|3`E?7$o4brd>2e{3952@2EeAnp;;Sq4x z=~zBhK=3CJvT(5n)7TMc^|GWjUZFO`I9kK)JiSK+?6&ZML_q(`%dY2XiU-FIa;-4k z?~pYi(BffGpJ`$k^9Fmnb}NB$Igvu_YMly!c$UIcY(VD(&d5jb%J$R=k^Rx=41tmC zgVxoGITTZ3%&Dl2+=?fU$>8471e}gPW67V}!9sZ2@#OgNqo^cp&1mOux^kNgY-~X` z>Ri$KWbp$XLi_LQZ0{Q*T%#l-jvsHeywHAppC%+(P_)06DE+DSid7J$&li;b7|U4% zQFZAM6dp^6STJU*6Mwm*n0SNsCWx(Ozr*PvFJ``{}FV zHrh3QHyavXx4Etk4MT3I8sAAx^rx!SJBB1ea|&vr7Ye%mIDQlTfr@Nro2Z3)%O-kn za1#x5%RA(-kHJ@8zfKm469+AC)1J}WmZoiPCoi{U^xYHOs{Mw(w!-r75NG#@Mr--# z4cv3j`*tIjyy1ABIk~3cJ@d7@u-1S&2)qFTMhy)NmUw151o`QDpGvAD0Y0{|^VRj* z&r$)q&3s^k>b2iwPMI{xa@1F83c{! zmYu~%n9U^KcET|Nz=4H#l@jfF4P1<)G=U2A@D2!5l)@ux#o=L$IMWDm$%E3`#6f`@ zhTGixanJp22N^u|3xb>&MCPya#k80PW`#Zi2u-Xo#(@b!DO4Zh*EGmoEMO8Bx-uw4 z!YO>E#F12iR#t&Nbi`hoW?$G56wla6=Zo|jUZ79Xm~tj)OuuYOQee%+CGwd3<<{7# z4~O0uLZtC6J+%M~nHk^tID)*2BH4A6R28FuVyK!7&t570*C0PW%? z;3Al5H$Wpi?EpUR|U#MpJl5?8F+po2tQ?QLM}C0mHY#)c9ndit#?jrm4xF) zH7XA&D$`-dZ9dIu<9?e=m_M5c+&}Q#GJ-ONv_xmV-5P`em0QGIt3`-@ZOLbR`$Vvz zPuHGHC^n;mKWd2BJ-A7Tw(RHXbPqP}mK#MR0KZD^9&9|y-`lWvFc6T;XWfq_GJm$c zk`UDK&@agRX_TZlEN^vVyM2S7RFQQfl1}suTBs`$;_n-Lb#TW+tiHifsc(>63d{Y) zNWayx$L*Wj>>JV6rOv|>3^yTtLL|Ngeok=j;^w$*{@j3`K|3rF;eX?1eoo78<(3`d zeW@}3LTw*Tv=bpb32Mw&2>Lx0zcK%(ifm^avxR!g#{5^ojajo7QG2L=G_kH1t$ZkzK2#mEe)Ynn$U<`Bqw8(*bNeQ|$!`sA@_r|xww7!y^*ai>^Ma(FO0mc8 zvTEKDX@6~LVzHbF9T@i4)^n@#FJ8AK`rZ`m&+>GfdMm&dp{z`6@VqWz?7ZH5LPNkx zGPm&#U^$c@zh*9)yRe*AR9RO42I^Lhxv>0&1f!h`%U?tQd13j@bjJ(JZ=pM0SkBLQ zVfg`i#tX||On1DnJV|%$Tv*P_&pZpu4^jc)7nY~!^%e`uhv=Q-wy?b0Tn%kuUO>rR zH0E>%C8v|!IF*ufC}RbZs+lYF&s!7SdGIlk0*{t_!x7LwoJ$ASBi6I^PUg!NT(c;*u1Xl(?kD#lXcJMq+8$ zEdA!`X#*toJb$0>cwO+N`s;#og^Y1D@{(Y&#d@^@ZdhA5<$E;2^iArA5KJ z9SR;$0h_nbGiQ0Qe`5bn_S5otcpUkhH9C{Ufu=(Sw&BYdhmAaTXUotLr@V(AuWyAP zn8owbDjp#z)7O>6)>5H}tq-wWzEsXt#%XM3KOMkY%oj(-6FrHmQfX|B$Io{bX!epA z33A^N<5893SS~FFcErjp0)GU>uUR9yCV2cZMY|1L1sBO)uDy#!cGj#B8|`tlD>)Nl zi$I%c);P_(BUk*%yZ&M#t1kD;6;uv8qGP@qg5X^PaDFJV*@O|J2IsUSw2aWu+5@SA>if3Sbys zEPXse!@U@=#bVq_S&U4IW#sh09^dq~O$1<3QDcP% za(TqmC}2Ozv^@+eA_9J?OpOi=%m(4bt&GNBN@2y21t&K;RxHtW9lV*PC}XTtOk))% zO*MeOj*X(q&TLg7OaJ?-FA3sn+S@dO1aVGCLHs=i+3gj$EL3 zR+lT9k~gH7Rw!2dyHKp!Q!1L+c?W|Qw4Xs0&Rhv%L_6`=9tmwIrFKGT z!w(g!5W_;0X!D`Y)5coL_db;59gzrYnQDT3K^nkkuV^>5@bkxJZNsD;kl45Xjr&-l z(<9C3^!iDYu=O+koTHG#R?c*t+Rv#ac%0g0s2dB@EZY7Fn>c6WZB5)&vD+XMwVBoi zPmNx(_kL@QCm%xvGSxXiuFb@42{X*<2kPB}wYj+hHnPfNAqXaC)n8E`tj!jd6vmQ& z&VaGSB1^uXBeJkj0=6-tcfC7u(eLTia%#ljtOb}(RmJu-*vSeTZCSu(TILsT7*upR zU(FZ*DzGtsOa%N7N`6YoQLa!4%Ls;JgXe%!7MQ?&B)XTCe^xluNkZ*%a7yTu2SlVOCJ%oxUBF= z>%ej$(%%G54ci6wj1fC^^&Ba|@4-Zulo=FmT4lMyAz(L`sf4%VP)I@z5Uf^_lEYgm zM+$YV@azxdKyrX9Ye9dtA<2ICv~~`6rxp*V3b~$*88P{^+9S4D>)|cdP;V*PwpNNc z0c=JXL3v*`eAFD%fKc4i=A@3*FfGO2v6DP#iz+j*4_(}j)ujZZogJ&^51V`AFPORLVTY8J><)ewo`5y=+oDKE9o#)KaQLK81g>yY%EXiuUf2!dnss z;02IbZ+9u}OnaaXJBta)2<_oJ)TYzsTYNVwQyp`E(C{mEZsVNUM@RGh<*^jDaKmXc z7^5|?irC(C;9AGrY^D~%{i%G%{i$1{^ryP6Oyq9WxjVfMk>sDtS(0;kqgn%}x6AEZ z5>zyI;$`^!1LCqvTz2!tvN^N~v|z-3Job^s+(*xxj?(b{^4z^*Q$Pw!d_J?BB~>k} zV$hzd87g2;)q-|Le3&{1yxmOH1xgQv3pisvTwgtF;2xp{J6C;IcA65!hk0Rtw zW9L@%`*dOJLThu?Z1D*79dV5A*=rG916c5Y{YMDUXc6=81&9os-coL;%BvXGCT`q! ztyl(~%9o3Y!?{wWie4zY9O{Z_^sO5aa@6<7QYlGj4y(M4BQ!6g_P|}6uIyV|6UtH) z(6xER{vtwj(N8(NmUi2<)^KE@j%WsWxtd1r;BYmMK1pIebvAi~%*U?y;3Pu5yz_)w zAT)_WsL-pr_pVtZcId&^DcVQlQhHXAggf(|p@X_S;oVie1MDv2Z5_k|jdkt*eL zXkg;w#76t$a+Cd=u4{W)_NYO(GV0LfmSw*rI$~xBjOFozx3-s4HAlt&1pq^CSsCoG zX%v&dGU`-<&xkm!(T(InTc@DbxJU@u>$xrwEZ&3I2~2=^or zv4#yDQ)%>1jbkYs#)+C}j@*RdV6$1(DD!0;>=#Ab?s7>aH_z{?67Mw62u;b=EZ+iP zTeIA3Q@I07k*hX)hOqw5#*%czy4T+FZHNmGSl?HJ~-q~F%m=6ak5nsX^dMoMl# zq?Fw#B%yhjq_<(zf*nSMr*E*=h+bkT2vl+p+aMb-+ZiG|s^j1LT;;hH8(%TfEHJ z{+_MX*8(VY^waSBVF)mG__lYRw})ZH5gTwORb%0EzyD}zC5g>imAi2)K#+r$5Di6^ zBZ$q%7fDlb+)*h1-mF`8Krm>?x?IgwQgkqZB>-ZE6gFqa04R@(FX>65vV7&wEY-vgPM##a##s!`)xNo|8yoHIxwN)O4K>p=SqTP zPg=a|wc@veBvGS;C|2Cs=_|U*xO5w~zZV@Um{wE7giBZvpAr$r7vZ_2I+`ep{^&sE zwiySIq`mJ|MYY}9d$kb7m!l-_NOS85*pgRr z@2Ng8MYBDv4rot1&P$A-OBP$F(4h^L%2>I-uMfSksf^J(oU8O6u2zOhz3JQf@K)bZ z?D1JDu3Oi)bx(5po*w&WFY;vmw+*VdjlKf}n8-G2ZS@tsjh+cx2}7R4xh+iJjO*_; zX@qAq`AVj8(>JAN^huH(c@(JK&8SZ_qrXQEr;1kp9*R1h&;Ph6GR+`3n z{n3Hiys#p?^Fu+B!=E$3gGTm63F?*vRn101#C8k)b(f1fuSszcA|p4%qk2HPdA!IU z;x(&dn?k%xg=j5jEFx6Ibw!t|6zZG;nXaioE)7s1-QBD-R?A(pJte!5@Wcvg1+t)o z|IDj0t_F1`(%N1YS7qb|i$}!xI`7MfIq}vhfTgN9xYj$U-j%pgoC?AVj4&00!a@wJ zRd|&jhJk2~v4K8AHrY6mjiy~-ss`& z#f-{xtZP}VinO5~-C|<+G2i4^bHwGLZw*E5(l$_EXwq1aB;viay~GRZX0x{FxSfd?K?mPPDDq5iLH`J*AwwX7 zd76rfR?v9tTYeP8Mq?1ELXEQV{%NFnSdC`MYTQDNVoN#&-W-4LK$v+lm zzaXYE@e2Wcvf+lqFk0kixNlmpzjQ3s0AltkkyKE3uw8V(Tu#@h%R8O4?!9t%I-$u5 z7M-`#%$ayQoz$iy94z6~uQtxf&t`Z+K2XLq!8BX|nv{E4>h`Ag*Q9rw@t+Vubx`#VU9}`eRPtnKRU1O~0{B;*$EVTJV z{n|7-@Dz3k^}5%*2B|rd*foH=W9GG-?m{{+*&O5_yOEl|!9LjL9{znD(tFLlbf3M9 zmV@oX?V!0IDKNePmpkg_P2%z*ak)iYUd)$n^W#M1k5aOn0@S6He29L&ABj6@pI$r0 zuN>oS&(wYXm`9ZPV;;q(k4@@j>+B@{Zu96V4aVdArmz1>jA_um+?Xjt&XP6B@o*|% z#lF2oEXyvzeM;qf*7qmQ-EeNA+xnf@uv+#LF4q9`uiA}~AA6M#H3>*8CI;7`nZ&ry5zs%# z6ZYFW>Zk4uuQqykwJ{#AHcGq#Fo{=x=oGJhAD>s|?*OAcoTA>)&T#4?52r4Q$Ek}X zP63$2sna)hs8yW`z%g4@8#zUtcAeqWCJ(1J#pBc_iBkY3acWbiIJMz~;uQ6cbcRzG zdpLD*JWgFKaSFgBPVMOwr*@rCoZ@KXPWVP}pYFnC(7apxxQBl@rW#8Fr(zGJdczfg z8VmEg0EkxeVy6|^)$nFW%(&HI#v!_+xH6!_p)N3ggSfm=T;3!uZ{dq&#NUP=!iX1C zz_m;CmzJSIo)u+NApL)ZB0O6dxm^_Y!u;0AN=xz0_W@vSj-cA531UU9OZ@7gAK5K~ zm3qpm--nvj&mo+$%g_6Rini z)$Sjub|eC|E#Wvt=SCBU#>V?I#WclVs25gX5#7W>xyeD&&Lyi$$Qc z>4T%HyUlO=zClbl;`Z6{xP^Em3DMu_3sJZEV-#in1c_k=sRQ$8l>ZbGOSJxresetW zLAAI}PLG8f%O#>uKYB7G;ykEg+p2|io6k~Z|9~VUai%(JZ~};9ewI+k zqg8U1rsG|2mF7vp;M8hPxYrhidyPfMSCT}gf7U0Hc^1k}1xk-4Gw0w1Av0eGc(1qI zTB9if*zExOa(rM%9AGUO=63j5NWTZgr%Yi=yUmvnq}!1+5S6=-W%&m$!!4}cJ@m!r zh~6)!yWi3s{d`5;dY;%c3ta-c&oPa>wQoP2qb+IWGAb|>A604kZ66ABI8 ziUmHou&dT>`aO&3{HB}Fo2V_y80B=boEu4Edth{x7fbTMGB4JXrsGduBli;As86BV zTfG z4`#vK1;Ut}%g5-BolCxp=3F`yfph6^4&7!AzIToKP-%Zf>RdIf0M4>DoM(5urp%z8 z(Z8P!ELo9pN2?>rf;=yEynS?W>h#>XBXtDA@}nQ1vf@qDFh5H$mZ1*=GX_o-m*uz& znx}DkI;Uq)#uW2Rx=c6E5|0dh-bx=415Eahr}|evMki zmywjMGiUh8v9fc(4CR>|U6FK~UkAD#d+$d5zHW7T+3vmw^tEc!b7i!W`n{GgewXMl zF`dfPwPJFQ3>h$!>|SSQjhHRQcSMg$Z5r+2-Ek_WBw*3w3}63LgTlxY>-H6yv(E3}jVv*Dg5jET&Hj&+Qj z&rI^{@1I0hUZQ)b3ZnObHM~6~Mp%{vz1OIRM8;hhLZ^ayqa(|L%7tHPHIZ)fdzfA1 zQE#;kH*a29F^*RH6RQ~aRhO?#Y<7ZH-Z`^B;k=Sqb@}BO#@&fdcx>J+;-BgKog4yP z(uD8kf66GBPvN)JgeUtB=ibr;S|cCfHvrl+pn8T%Wj}_V#6sJR}bw&JxN(+3=LavgMD^+eNO68&t zFSV?k-}N=u0YTf`ha0UJG-;s1ws|yK(LgJ3Y-qh#Q^;h6islg@U|Ak_5W^!`LY6m3 zbkvCs&)!9*h1)W3q2k-B$2WZ1@@M0O|1D0ZJHZt&fLYITLH_#miZ+zD}cw--i^%t8D9vN`Np(7&$JU`@I$JE(F zAD3d!SvW4qBrSnTCSh!9^Q0#lX3tS*8WRE*NQHTAT~tl`K}m>0iEA89`(Cv;kI9&e zM(o$Lvut9^D%O20wZ2cQ@EtlgFrRUT?ps&KKXgCEWtwyPi8R_4=o2bN*zM?RiGtE_ z{{}RQt=@fNFX?rcH%{N5Uv8UdcWbNRcT1dXrrmwPYLiZKMeE6h__ZFyQ6ZkB^}-E_ z{)}qEitj19W5vgJkrbaJ&g~x#Wu>>ekO|cLHo7a)<6P~{>Lqi3+O+Sj~ z?%l&gsB6%v32D- zt{YpTpfvAi+o2nSn}wtz6;9cjQUtX=E?wJP@d;fOMHo1LMKf|>k4(;WVA#HAZvKy9|sbe5kDh2}6KIPtapD76Sg(PZkm#_=fc662g z5xtqc)`YPhmAI zJ)QvNFI+UK)OHwvuSud6N{HhafG5=AJO+TyK=t>g%#*4tM-RR{sdau&Evb`+pmoJM zZU|bUpfv2qK%>}(AgDP=#=yrV+aLrBbQ7bnOen+0CC2I)g+JMAq;NcVVXRu=QQEbz z2u18Ag;Tm&EVWZ(HX7fLPZDIsJ$~aua=B47wR)RCkReb)0y==sBFDH1zp2t9gRC(Dk-L6lLfkhTNPTINF)$6#OYl(tl=hlHnvF%)g zrXiU+l~=a4Ybf7M4Bi>S;BAmNtYh$Y?lmga5>~xYD~F|`RxVa|(@yEBqxMlNbWUa_ zhfeY`Hc8|i7s;{-Lzx@J>Rq4FY9m}pmJ3o%Lp4=h!*iCP=^?44n1)AYkl*m2$twaG zA)@*d!k7)uE9j0558s`zhUbDthG#U#>)%wshWUQAoK6~<*465`k!gv7+NMFH*hVIxDM$uJ=8B8WM#KC{v`sFLh{U8-fMCaG&w&Jpzdid0feqariMZ&c8nwy&6)f?XWA;pAYuvh2(MU z%4D@Tk6k%0z^=@bs_g5glk=q3xmYc!la{4*#X4?TTB4vd?BAnp#A3dYj(#Py3d4}p_pZ894CjPLvAM~!=^9;pg<3g7zk^4 ze~+~|#kMT^;<)#%Sju4&s}$KDI&T=DD6nbV8#l21 z_M0ha3PqYD#6H&%#%!kc(jA*AzB^&f)On3!9}>%?6ZweQvFNmD5IDvo6uQH%3fCfaq^KY-Nb)>k%5-VCWJj;m!j)b7Bvv({DWxJ_z_g3^kI zK%>|;NfCd^AbI&?TcZF8Zeoh8V-YhFKbyok-O84T-TP<|2g~@<*v1Y!JcYC);XjiE z@2@08L$xJc8(_*SVTkmPNRw$pk?gN$zT-EvN?3v(`Tk}3J$zJ}(>km~yp35(eE z{TL7uChq?bV0qES0By_h2^nQ~`S1e`GP=!&8ssRVvJ(BPiJl(2o7E0}OGW`Zj0wSU z;@xiZaT#oFD!!Jf#!n=2J<(oreG4cEa(xkiK^@+#YKtVSH@pFd|pBID(&GQwhqr~zpN1eWoknEn4!g0c4 zp{5`pJ&?%s+a@%RP)C>9Pm4M>WH#kDXZG@j^_6PS3{Wga|39ul1S0qu9RZ6HZT`mM z_Fz;j#vKr(rW$(4%_R0N2gC=WV)04`glr3BEgXSD?g~BG?)vpHe6bm1T4K2eND>s z#E6OOth!Du&LzdbIv6&8NHEhTuB3vUr;-*+tI!=GX`q7Qtj}v*nT`hoEm2UK?X{p$ z>|j6^dnpodIAezaevxew1FRF;dQf5`WFqwbu|3Ai~{WyNaqcv zi#Qg02>nnQ^h(jjO8$Xz&2J^adzFN-td<)HUNe&sw5DW(pv^0#l45oU$%OVReY8eJ zdLncP-A@>^(tkVMvC`+eNJ`(;7M)vDa$zIIKZZlSa3E$fYve|B7xa| z3G3HzsW_TgM-Mk_+JsrhStEUj@^YCR=5OJ|3TKiQ#yRZ1mfo)YS?p|%#gCX`EX)z_ zEj5-J%jHugUJY4J2=&t2wMXa_+Rr>YQp#o4Vi6_gIVX-}b7>sNmmAd`hc~ zV1j4%+a`Dx-LVPgyA##~H=GE4q=ZwRDf)sDPNB1oEU=jE>Cc$}11u(r`U`HyNX*k3v!%paC5^w(N8ziPJBSo_rSI%$1dSFhvNw3{_8p1%(B z4PfqYE>mFyi-pAOflR8BN)!wu!xj?L+{)P^&SWl#^FM}j70gZ;=6ME=jkb#e%u2Cn zflDQDltF=Zg2ZFqX&Mk{`vRJxz=hE3=&4B48LmE)`^QirsrB9<@wOwT_A((w`=pX$ znp#;T{iYU5PHBP>OzkLP%+YRv?%34w-3e=I6OE!>TI#ZMI~iEs3AR`Ko&d8dc7Jk; zj~&duQj(%j@){?Yy+~qhd^FSfrJ@IPHg0(|f%NyOV~qbyYfUI9sBiwAwpC zqu7R15_!p7+I+E%q)%F#n8qzasof>}RbGKX9ozb-bR|^81EtLcU9GAI&7fV=#(izR_>(2e#NPs7J?%(M`C}=8} z=uM{+v}Ku4r~FOl7i4W@J(DEky7p4aoe8!JfWiKTGr=gokw}WK7OB;hP;Ul7Q6(ZW zZpLID!{*6X*D&f0lyEZ;?i8>cqV}QZ`dyHwseU^PnH-EawfS@v69NjA{CFaj$)NA1 z6~8B^WnSaAM6BDIkUK(6T|OTcHEqae%5To+b6Qths!B76vG`u*szjiMpYIW{aHsxl zkBY^(GwF`BRKwn(W&-R^{aY6m3wP?DYzky09Dzda)IZtC`qeR9vZbE>0%z8V>AeqDW#4$5HY4C%jX1@DGC1E&D!m`nH>w7kGNYfW42V%@d{89 z5*D&;Y|zk~)z=MB&LY4Q9H6WkDpo4R(d1#HRKbY|C30oA@}mSjGLDLAK#rKH(aHiJ z1X&=JTuF2;Z7(TZ&-Qr$+$@5j{6;oNL@-MNsUTtB42Yuobb^?R82bpa zfLLrlz?esGGbz|ugrD? zGoK~qOk6PYX|*^{FmruCFtfl{X<0!lxss-PLM^S6Ax-Pbbv&eLiGtF!KMoqj4rzj$ zgcQ{%oU#L(Mxxy$wz*!o)1Q>ss}ko)I^Yket6 za@Hwwc1QYz_q#Ti|fX{(lIw$+U@W)k2Djx){{@`32$2CS7sENhL8 zVKZ6oH@DT2>RyH&4LQHPO#a{#zmEJ68=On`8Mmo=!fB;L)yC|XA+npna3M`$6g zTX}{cLFi~=g`)!`hTBgYGkcc*6+uAvu|%@LCX|m*Uzg?Ai262+At=8&%TIAx?o>&_ zy%~sD?B2n+N2tD^-4U>Gqlo2Ev2ddZQd13m>1LYFjUuK+#lnpuWLqFxod^_iqX^mh z`t>nfxdza+qKMam03wQb9o=yh!FMNQ6wz=b#PVU;hEND0=7o5lb~t_zQ%bxAwj+3W zFY#pJf`@mh#d(5pnIG+$?KFxJFiWhqSuF2YVG=r|qQ zUSb6*&x)ieRfmPsNa2N$J8QNTFO0QZNT-il24E^Eqn8OE3weGM4n(NA%leB%%^Susl;527EyhBc0f@!+^^AFh z%KOHBu(hzn1v#owawYHX9cpQv3~X9guH%7COB9smT?36` z2R6aYLW*q^PTAp2BhhXW;beqM{ThkAO(Gm+i{FwJ;Mk#y7!vVprGw=mw|O_p5ij_+ zk9M~DawdgY5fg3yL$EO&Cpg$S9tcQH<1vYLvVn^H;QpO`r>?TRb))O33CvNy@LN4 zNx(vha-8|ezfp^GSv-(yYQijHOH27(#c1V9?R54FBG~6=ae$Qh2P8(I!)pGF@}ELt z>DZ~xzS*rS*Krfp5(TA+{{kFow+XX3^>UD=HjVaDtk)DyH85e0Xg4uoIiVb%mV`;i zguQl~wNIQVEm5wP$oOEKcDQU{>zdUEU0-Ayp zvB^BLZC#)&H!*ZYp#)zfaaG6Ab?-`zVR21i#3=FRYBao*5~svjkHxMvzTu?spGng9 z1_{qljY`)n+$tz?pHxyzvmle#Zx+xv6%mSH7T!-7vsw56-LYBVyA#$doZD#oGCoSo zI;KJF(PTfF0CNC8GFRxe3v7oectnz=P*NKw1bRp<&SMJ70j6Mj@mzSA05~Ry^ljb zdDgPE#V3|o`VVJl{;DKdzqj#u{j^DwC()ldc@q*Exo#z5x_Z7UNbozmNG>U+o|ozA z*Yjw3ikw8y^NX*r_52dLV?EDz@%6kPJ+XUa4_4Mz^G4m4XN%GzldQYQd=q*s4%E%J z@Wqn7zn={Zc_$I(qdbz~QA$(v2w$5~E>=rvqs}0#vL2waW});!b2g`4NX>ajR^MH} zquy=a%2KqD^A>S>3a5)XU4qp7EWucYyMf8(sp7Jnb5G;+bWYEpj49@sbeV3RB`zyC z>ugRFNbfbzL25oo09Vr8Lv(jO-F=SkRyohQ>F)FNYz^H#Om}PP?h(4{#oeIU$LTtx zI7@FmW&Uakk`4TLBc~T}x{1?^Iei|d&*$_Kq=Mf4{QFY+{U{Z18Sd^iFGq?xzW|qA z3s;#};5uk-L25oj1#P9fFVO4TIp<3H{Ve5Ng}Z@S*~7=o9rWxmdS@r@?lrHW-!nmT za{zb8%xgK_g%kx1@{ip}&EF81J^cGRr1zS8={|cI^~dhR?V!0IDJ1I#T<)lwH;K!O z#N`%od9k>hMJ?iVBxUoU`{Y>J9O7TyoM%oWowAOSO_cl%CGVx=SxTl}j3h%zj*`bH zd4iI4bky=DO5Q-pn<=3)qfI_)nojC8`G8M4rpM&dedrVhlMip89idI$NSd~|G0Hv=-z zKOiniaY>0wnlG0AxEnu&uG*>su3grbEsh#}rDC~~JJh$mn68duQ=)R;);-DXdwPyy z2)a~Ux2`W!OqctFa_SSBvD{lKSL$XS&B;J9sBoC#WK>l_P8|DV>QX7uU)yB^d3ra_162wsPmu9b35z=#H%%KVvJmnx3(h zyO8eK%JtA)JFOhE)??*1Qvug_XOS-Z_3&?kEX#6^Ucz=!s+HILqA1`Nz{F zP-CbLN!p|xrr{K5r&}!bWP6{|kR81+$@hX}IPM2xLLt1F?iv`5I+zT@@dj~uqqw|D zT;9SLt4Y2MKZK@vn+mvgg}&i%)vwQX+yh19F|4(f*H?0RIvXzmyxLI%19M2ar)1@4VxnI*~ zZk(Q}C)DChhdu+d!17%Az# z*Ng^c30?cR#Ak?3=#xfo+(WK#nUAFLC`vlC4F|B5>4>*cS{g%273ae6*)ig{Mx5V9 zJI><#LgbC6DmX9(8#;}MP{23B(Xmn_X`i(P1Y(D?EvC#JCwH4=m!S7_sU)u_+gb}- z+;rzT%gj?a?Dfed=vouS&L)g`KqNtT+)>7Ntvkw?m>fK?O6Qd`4n?GpL7-P#1m)W! zLZ(LDW%P>AD@mC_{)F3U#%Rdg_2^3}oRG*A*ca-C6I2t6B_})0pxT;tnlalw;lv+b zr`c+19Ty;R!U=lfgcIGIXL3Uz!(l$b;&VJB3u+h8_@}@hXc$p+o4b78@{f1Wk3U}+r_|iHBqeO%7?1Z>g7r`fesv2=i=n)(NvjE>Le?%)>LOKmPK+r`p0Y3Uf6`@~qX}Vj3h)!$>UMn5Exr z1O}*uupZ_+G6%IQ_2arq2}AvP?C}G}fytiWZaSnneCOzb{W2ig+gEZWhvA@Fl>qm+ zb?1~tBe&D^fC|{Wg`RPUHxm{77|7-c=WhDs+)0x*mn-9W|p{>1uq>&_Ps@8}YsvTGBSj0e^j_KpY1`xDO} zJL-N;Tgmp|+~1KxKib!D#m%wG7MpRRfU%=Emk9aSin$1ru&gIho$ zn}+f4zM@vwB1|tjsz<7+5u?W}V-H;y2OHgu8#f9tcXVy;vzW7)IU|^~8Eef`8F5cc z+FU7le`GJevQ&cKj4|OdO4;03$;#RLiur0KS1kB)`fM=t+$mslWvG}L_X6+~CQA39 zLJ#QA^40qj2BFf=x^ftzQ#?Z5BaXk0J0nptpurXMRoaISMwX!>Hc;{M2t<#_vG z7=p6HGAakC`byvIe?YI1^2gGYAxJlO)QmuDL)+&H>3lVVV=XbPU~ge;W8)&(+oVL4 z?;(f82u3dmnJf41-MzOT$19+I!UmO$a^D^tn4M1US$|P)C5O|miwKSiz|uI1V^^9W z(6E&K*qWIQ984OH-^8ibsIav>#|Iu}m5<-1Eez-rapc(uO~GkWa*V2P1= zL#Z-|VU;h6UyFbwYm|=UkV6~Ra{!Q~=~meyaJIL;=a&-V97xhp_MdE(VkpY(Of4`` zpeI&SI@B90mU9$rL?PC;RDoKVC3Xf*c^-lEp@I@MEN<8W!peANL02GOQ`>k z8>>`p(3~VEPThAx@$zCnyZZ2jP};al1iOBuC+HLda$-OPh!cLpWhoYfA3=P@RT?okoiW6!BT|s0|>AC^g07RX zjIDl7#xkzT#oftRrsMkhWGq8*lk3|@QNsJ-ig;XZ>WXyYwv(~U$ykO%qm!|W*JnE! z%XmYmld%kk&?jS=ld+5ljh)XiXkA@=pA)CSxz~jhbN@k~EjU7VtvzN!kIUdGbh=J722xIG8)Df~sbXip``M zp|g<0Sc>$=JxQD8z%#4jk8hIpJv8=t7qumODH1(#W>s*ONzz|FuIqNFF<_GR^ePS4 z)lbf*I60fbodyOWplm;>UnOI&t~%XPSzdy!Z=@mjJ0Je%Tg z08GrL;5(j8ajE`n3YOT&b10@?F9hB@r`UQX&6oI;ifq7qiPrS6s6cB_1rjKMO1INc0pSC=m7NnL3aG4~^B3NTv8gOriv9e> zE-UDS=dmSsUV}B`!Z!<9>r08(Kk7WM7c{88kJmT-1GLR~32yKG_Uw+t%{|!zNJbO4 zUM}gwY zQR&N^n1M*6Ab8&zz`#rrdnCiU;p49lblu#OVH`6l3{%iZmVLu@qY>o;U6|-z94Vzn z#j>GNF^xe_Kue?&8@4B`ah?K(Rxm|U0B4!&?dlQ(Uq#yV!5*b5_jkEuwg&;|%1`k< zx+cd`m8`@8_dUTE&uhdS^^cxn=&xGFm`|BTfs9g@%^UgcJf^JBt0I?&&}kSALq*^h zFOmWYXetklyHnUAb(eZ!SOaM=fZV)e781UyCq|Zs1 zy1I&EGz|*m>%m+#p|-rB(7l9%$!Vr2Yjdl0b4@TUr_$Afk#k$_>CO@RhV?09?E;ht z_-eHl!6D{%7bN>;S~y0y5jYZH=Rre|*5M)aGK*i}KD=FMY1?)WUbSLpCEeaQHmIBTvWR7pR=@ zyEi;WuWtuhgJ#1$ioQti9KYQgy0)VDnMj zrAn%9o<(xI0!eKeP8qJ$@8b=EYBMUi3MMA<9$WM272jq)?z(+mxqaF;p4(fsW}K35 zZn;hXM>}{!x#K zM2aVTg=_W0gB0IrUAQzTASB@1@k*`M(6S06eyd3aPgpH7G$vaMQtx6vH&VJ{!855p zlXV!WAfZP{8<^arsd1Xz!lb;oGTH1x34)O4 z;Vuey%|#A~bE1N9*|{Pr2#cMpQncCGZARp$wlljI^=n77rFypF=`mx%KY%Y^A3b>nR z0dOA7DpW^@V8=4`0Z5>*@U&hF?{<|^N9?`m%qi=jPt1|2&@b)|sJEbeG5Wt;Xq|hb z(wN%203m4X_E?3EqFt?%jgN(BDY3BF83zlPG7fYnuBj?P^TWWu9lDL`(Mq>H6qQ!4 zZu<;_Xsp}X+BUgPGo8k95WD;M+vXv9=C;j&X&q{qdEVQ|*D!fUS)P_-ZB6{`s04N! zrXX;vCh_SwSfEL8Ka6&hi0TbA?b4aQy*;gis?@4=%t2W(eYsgtLAY9VdQ=dWFSi&q zZQMK?#b%Lxxey&!gBnKK#q%gs62nUJ{}=?ez!K{iX|(>WM;_6@$bjy`1iC45}D&} zHB^p&M<0!l9RHR!!MbKuz>H*qlenQdt~>o*+}Hd zD|L-iu+UMJ0{uSI^%xQ;%j>&`W}fRBoW&p_cz98W*WAVH!lsnTQOu;q@#S6z?@Dco zT2k(s`>oo93dxk(;+58@bgu_{t9+MHFVHVPqzc#^m49vb&`)s*(2MPe^5Z^*UX0Ji zygnHN2eOp51wUP7qo{?d&vW`%gkVKh4 zl(21gc@Wd75-QK%ppQgIp5LbpxdG237+}|i3pEk}gloeu;fgery!P9R*+ZDEhEZw^ zQhUwCKLL-JBKK8oo`e;-Qyh_Vkyot66Z*x66t>3&kF-6dwi}B@PW1zA#UJAH@b~&e z3~4J|wc)FTsy2S7k3>jL{#qNdqBedR6@;rcggiaB)W$-GYsqpN#|u;>?eYApVr!30 z0HNoVht(dgm!i}`Q6d}ku?Q)8eGIu_$k5ONv|WiT_fsKImkh<{Xi}e+A$7^wsy(oz zvXS?Bi#{$P`T9a_$cjq2Au0%0r3mSIZmE=6Lpb@pgw3NRRq|#KBc>zrMs0eARV9l& zf@k5bsF2s|mmX5oUdNCds*njBSAsPV)eqDipO4SN2la^_`x;}Z;G;;hC3hvNb9>Mwvy%r^U9+9V0vW|yf94~|xUs*gfQe*Z)pasz%xQ1Gse z5b7fWh~pTo&a=fXS*(<+lA*Y8M{J?%28ho1oT|`?3Mkg%e0>x`3f;L3`9!c5OC=@- znvCn?Gjp##B}1BwGZhWO%xq*gcIzV&lBL&bLss<2P6jb?c4LXm`vBwdGGG+bc)V1b zE@6$w84Xw;Y(Z|<$0H=?$F(6h;Cux2?^+O{QX+sjjuvFjP`;Qxgb_0ATO-+zPsNwJ zk85)!tlTYe<<5h?Vm&^pk3dL)`!GXpXgwxQfh_j$FVJ-SAU+?T)F)#|({Xwb9~&8t z@9LuwlAGVwhODTMe~AjhRUbm8o?Gf;Muvw=B+aqn>ev?R41nm2=efXuvZ5+BM+M=k3L#0) zEmbic=R#-X&dj?(iI~3ao!Z0<>toD!WKAHhD2kWp7adZ_jxyvEKvB%&st4+c_r~Yl zyY&eeQct-4p{D}sNa|nfBM_2mYSF~lB!}y<&-?DcL#_OQ&Vi$re|19;f{_vxGTzHi+<@LMeTBi zd;%zog?8-&^~J66IatuAVMw>a9UPVGpsI{R`Z$E-V^$loqB4xAAY7Fpr0Kb(GG=CJ z4|bo%_*>8-rp9=eHaWv;jD=1JVxz7ojCbl69#YWmXUHdj!dPHcK2TqLJwE@wqEEt* z`obONl&YYri!bS;5R!{u)P}66i$|k^aMgv7rB14gw$B6X%8icDc@CHhE(Ig=u8FNM zx&Wdx4z0Uz$b-G2GiK_SA5z+;X+u_|ZNg{#&&U-H8zp(dZhw3xKTn$!VXcDOg>7N3 zF!&<JwrYLjKX|T_duJFiO;>1J_SSC1h)&@TLaZ3yjUNDkUYFu8?w?!Z;A@S zH3>qJI%yKxzc^^dsFCqIkZ%PkVmgp-(x#@qs<1FuRK=g`mmN~f>J0frP!*!?fvVz> z_}u%PJ_WT^g|`N(s`#uv1|fO)fHq`BReUNc2v=1INqTOnirJ$^&NNEc+*$G-Ck@2b z7XPD7(6HLVT}S95uPBWF)-OJ!u>FQ1p8yJDkyHIZov|i94_5(1XCeT19iguhs@gbD zABm8hJVzU{qBd4U1>vd9;sVg4Rre#=NG0*AGX1o_TuTxsr67* z$S!?6Lh|z(ZODoW*%1|lt3rfSJ-1ZIf=UrbLqUa>0HSy(NUv#HV;79ExkCC75|PHX=KqQulEKh>sdSbgH|m88@`Q7Avr z$0DTY{g5G_019Qfp9+B*<+NR~Il2rWI^$=$dnEGQw*M-`U6_qkCDhOAl z2HpN16r?zxuApRBx?r|cw z>SGX66%@1~E2`iSgP1_I&ooOWX(O{_(x>*{31swKCWYPiYm+1_yXOmb+o-E5|84q3 zhvf5{wILsOJ}+ZFi(>(CNKkc@j{f$s`z!I;{UvS6gk`tYx_vcJx&B3c3_^1KQEkY_ zo$CudTrXGhK7KzNpWn}D(K( z{=n^~_)NcEn>1mY_%gwCe-%`|@6|^kB;R*yLq6_&U(9?T&2gtpZd47{|0F)oU#3l# zuslCS@Z5{O%I}xz7ax+}w`)T_?)(;-ozDccbi3bg`*3`Qe^8q)VHs{|b_su#piqkdHf;mot}fHao%@BbhaFBiYJmYRu=M zUlO0+7i-fdY{NcP@LQ>a+P*jH;}DYb>$D*scg_nh{YWWSF_LH};C(7%lzfaIj?ehC zHfh2#-tyA@RZ#hUP#=Ymd_SNK`MC3a9=CW3ZFX+=ar?gb-2O9df`sMvT+z%0;wq0{ ztzU3R9=}Q(@^R;}h{WL88ih=9IF&a1j`?TebNbWTWC_b@D-!dfuk!no`o)Lj_s6s$ zpCJ4;3L~Y|VIx^Fj{48*{#kr}|A#hNH2LjCU*-3Y^otM4@9%3vKJNS$V|qekwq8#z(itOnfy^xxPdngOFTbqz(DFb6se4i)KMueMfwjZ`US^ zW-Iriukw3~e(@pseYrN|nK=r*NdHua#Hgv;0uv4{1X_(YT(jmJS;kAJ^}X&-J%yQzk0cMGaK0zgZuHkX(PGHss^Zb!+UzZtH3n z%$MS`{EOOT3CnVO?8Jk<%I`<@ix0`~&uc?I?)+Zh_N1%btIx#e^>4LF5|-E2>?ZC< z5A0w4m44A7`TPrQ$PM@$VK%Bep;b(ai~z!&(0XmuX&lys)>AP7wBfwWhEwz+FI+eU ze4do#2`{Cfd9D3>bwiC{VWVobn%DX~l%*GwSTf+wYrTj;=+m$58(g1C{jP$nz3#2g z*59H{T&u$FQid05(<~%^YRgu-czdd#D*qewQ3$CN_Gv>_l)|2UH@ zllaeE9|s*wcV8Y!J4BFfUe&blD&Cyu)?)*gXN zkB7TG%w1b|yHx*ve5!vhDhRg)eMd0vq3M$*t-iZ{N4?v;8WNM;V(!ERD&^^|4KjY$ zD1+Iv!owcX!(y>V$hyRtu6>>2%-LSf2sA9tG-Aq3;Ntaz!fH9wZ3@$(g6KF?*6zaK zk6-sxiV3XrEPHfP0E>D$#-bjKKQdBMlc^MYY@}K+Y)w>Zy9`?u6@;H*uAdTGY{(7? zB`h>(1Q0G3{}@#rSk~}grU03VThKRmXQ7PkxAN-NTZT{EhNiJD+PRJ|1LCqvTz2y% z*u9|&1slKLLVF3i5Ba#?x-84l{iOpU$sih1uKmVu?q1{8YOZAPq8>??zPwYEtIbKM%z!hUhNJ$AVY z+20wJX0G_&9~Fe3?5^?(-H1Nza85L$2q0W6Zi!kE!UEC2HzMi3s4mj<>uKS=)Ox?$ zCP|`-w9OK#3fBcGcL;g zMP<6bsBrfeVd4HFblhKrm-~wlbbk?o^owZyXN;-)i%@od5$^6Us)X~aTAMeLFAkwD zOuKUZPwTZsf~ZDDdfJsKQip#gRY`GmZ@+ZXB!n=vIi+H;k}Qvp4i)ot^WUj8%-AP> z-B-859O^$9tj#UwhVpQUw+s~z8+G^hRwG|Lg5T3~83-0`=46a?9vv8!T(N+kGc(0> zAvKCm%sc~HkSp&syzd;V%}%DXU<5i*>IdqzdC63vSlH%1sSed<7KcnDT_Nc)zej>K zsal(z&Ze*+zid>fO0}8RPwy+U(z%L21aDX$;yddh%i=uy7sO$ho>Xg7(^%Y3ADpuv zV)H{3XP%2YnIPr`cr<9PqO>-fE5Ez6dki(6U%|37_-e);P+_!;Cv)v5TS_DNZLa1| z*Ko>2F)zgZF>@_aM3TLHftpQ%V4ez32Lp|xjG3T;`9sJQAxg~{A5t^MMYI~LEtu4d z@sOJF0lfM_c!=f`l)M+4Q<%5TMDq4o)OM(a(;J^U1&{ujlD98LGJOe>!<6(cMe>)F z+_((Mqmw=JT}uA?93%(MMe;>T?pcZCX-eLA9+K0~NAgulwq1ba8A@{Kz%^3e;arnFNE)%4XH@#t?US#=RTr`4DAeElXodKV>spv1Ts$rmYE z|2!mrPRajJl72ptU6&yFJ4#OLNAglien80+Xk+FlHY0h*Wk_CqIg(#e^1>G&`9~xM zD^M`!i)hs;R-^bqY7`ezqqvY7Jy5S!Yg0^;&TexZqysv1rr6&@Y7x^$QA77`8tzkf%&(y?XPBvBSsy3s2!T0 zr1t05{S@n+-c%-oO;bxFxq=OnU;ie(ZlIA`q*7lOd*?|X-A~Q?X(ZyKQv*Jt%`c>H zrlAb;MyH@f_BTU0(s-p5tcYL+qgAE1UjvQdE5Ug?0IMFnZrIQ4E$D6Z z(Z`^WL_sSWeH2jM4W!22<9tf)0V-1N9m-+0Q|>nO>U%2m2)(=wnog9n%>Qx#{Fjn) z{3;Uh$x`JLg~m_P7n__ylrNISO1UbbwU2b~|AodCWt`zJgTDyCZ4N2vTb%Ds5B^R; zFi)TTqx0Ef=d*k4mm_Z`T? z5T=X-d6;bA?J$2n$oysi>UVKX*P^ zVAI4tc-+g;kJ7tef|(ZJ9TAlex%PfBN;ds7&KHhC^PE!bef>N1dL1r+D8OO9b>6M_ z)pwGk@JaXx;#G(F(&4J!4{jlU;(g8s4s7dyOz*3Y(X0QyQh_a<#_0XvWq8;8C+7o4 zKRQRTNnH9Ry*(RVj6mJdz|PwNYcO5p#=RA48 z_zHb-p7X_ATL}2H9`B1=@s4>DJT3v+;iuFMNwzjb@qJ|P}+X-F5l&R>DVf1vsc>Q z+)Ikj(?{QdH!6yAY?c3`fb#AjANI@6r;eVNJ`FIBPtkWv*V;v%W7ja?yMR(Z0;k!W z>3lsEyGPm;B2U_^kq7PiD)W82OImg3SKmXgF1yG^WD&h8?@#D``vSaZK4!md9@&JS z!mRL)dh6)-8;~#|&2Rg%|Au})-18ANOUyfqwtg$=*P5ga`QVDSIy-3gB<_We?Hs&6n8OFTuc%v z+nwwm`?5bwzh@yp5x@s2RPmI(oPHOa?2q`e@1);fcd}2X7{~MV_bK}UJQTpEZI-jY zM6bUa4@LG3ax3eF_oj1Eizn^rnyI&w@|AMlw#zO)8 zHNNbd==TSl?5BO%576%=SJ+=q+TsA`xp0pm$4uZM1FxDl?-zl&fvY);q&8<4@5dMr z;$*jEw+Nh$(A%4?r&z`b0^HnZ-CU>HIk|2OHnmjd4iPI*bYioqYw50(F!PM(AF~(|2;e#VhMWudLT*A#N3*fyg+GE{k6@kdC4N!W_WWycS7q zt{_^%3t&dsNR`OJyn!(b_-f8Rej~AmdW}V?Qc?bbYm4`A9GdWzR;8ZdV!@>g6T_m& zE9&MR!t*-D0>20y3n%=#nSR}3<=M=sO-E#bz>_+eW@V~Y9~lMpqCcm$2rH^UkCCLE zDPndWotuTuJEM|APg-p@T`&;_oq6}w2hbU|YgO`<^}V9Az#K)X{P48d^stJ)gBjM$ zsM;KhjnxW_QjMlg8PqvwMBGW12+ zV)ZG-QVxMA&IMxd$!aNwssTIneMDg+Q2 zr^*>rI-$mSOXWOkAe_EBL(XAvh(LItobs2;`4~j?6zTg|VB~g>*Otj2qYtt&J|-|y LvutFmL%shW2rwub literal 337492 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 eegaieT?l0AHRCesngn+;xRDz0S|w6pG9za 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 J*-C%+{|7Mb1*-r6 diff --git a/docs/build/.doctrees/installation.doctree b/docs/build/.doctrees/installation.doctree index 5d208e95b4218f5d693262deb6976b7f945baf2e..2f01dd51c9af8f37d4fff70c9e48eed02ed79d8b 100644 GIT binary patch delta 119 zcmX?;a4dnPfpx0&MivWE9d{Ll^vn{4a3+DJfpx0mMivWEaW55x^vn{4i0ssa38+-r& diff --git a/docs/build/.doctrees/usage.doctree b/docs/build/.doctrees/usage.doctree index 91e91e7a294f67f1b21f9b3b4386f012a835280b..3bac51c619904f0347ae7c113e4172d71d7a6abd 100644 GIT binary patch delta 263 zcmbQFw?&_&fpzN2jV$VHjC&^QuuYn5#jUhCk$WqXpn{&BUaXFSu5NKjjzV;Bh|lEx zoVPW&bW;>u977zP9D`kT6d*uXHzlzoF)6V)6)wd!xsXeIaup}HW^qY=QK~{gQEG8& mNwGp^o
  • Clone the repository to a suitable directory, for example:

  • -
    $ git clone ssh://git@strade.fit.vutbr.cz:3022/xlanro00/BP_DP-xlanro00.git
    +
    $ git clone https://strade.fit.vutbr.cz/git/xlanro00/BP_DP-xlanro00.git
     
      diff --git a/docs/build/searchindex.js b/docs/build/searchindex.js index db70b83..6d504ce 100644 --- a/docs/build/searchindex.js +++ b/docs/build/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["config", "config_parser", "filter_list", "filtering", "filters", "generation", "index", "installation", "log", "main", "modules", "stl_parser", "troubleshooting", "usage"], "filenames": ["config.rst", "config_parser.rst", "filter_list.rst", "filtering.rst", "filters.rst", "generation.rst", "index.rst", "installation.rst", "log.rst", "main.rst", "modules.rst", "stl_parser.rst", "troubleshooting.rst", "usage.rst"], "titles": ["Configuration and presets", "config_parser module", "Available filters with parameters", "Filtering images", "filters module", "Generating fingerprint models", "Generov\u00e1n\u00ed 3D modelu otisku prstu", "Installation", "log module", "main module", "src", "stl_parser module", "Troubleshooting", "Usage"], "terms": {"There": [0, 3], "i": [0, 1, 2, 3, 4, 5, 7, 9, 12], "an": [0, 2, 6, 9, 12], "option": [0, 5, 13], "input": [0, 3, 6, 9, 12, 13], "filter": [0, 1, 6, 9, 10, 12, 13], "seri": 0, "from": [0, 1, 3, 4, 6, 7, 9, 12, 13], "json": [0, 3, 5], "file": [0, 1, 3, 9, 11, 12, 13], "here": 0, "ar": [0, 1, 3, 5, 7, 12], "store": [0, 1, 9], "readi": [0, 3], "us": [0, 2, 3, 4, 5, 6, 7, 9, 13], "whenev": 0, "need": [0, 3, 5, 7, 9], "you": [0, 3, 7, 12, 13], "can": [0, 3, 6, 13], "usehow": 0, "mani": 0, "long": [0, 9], "like": 0, "output": [0, 3, 5, 9, 13], "It": [0, 5, 7], "therefor": 0, "highli": 0, "recommend": 0, "check": [0, 9, 12, 13], "after": 0, "everi": [0, 3], "chang": [0, 12], "exampl": [0, 3, 5, 7], "abov": 0, "list": [0, 1, 2, 3, 9, 13], "bellow": [0, 3, 7], "along": [0, 5], "gener": [0, 1, 6, 9, 12], "form": [0, 5, 13], "format": 0, "work": [0, 5, 7], "name": [0, 1, 3, 12, 13], "filter_nam": 0, "paramet": [0, 1, 3, 4, 5, 6, 9, 12, 13], "valu": [0, 1, 2, 4, 9, 13], "git_exampl": 0, "denoise_tv_chambol": [0, 4], "weight": [0, 2, 3], "0": [0, 3, 5, 9], "01": 0, "iter": [0, 5, 9, 13], "1": 0, "median": [0, 2, 3, 4, 6, 10], "ksize": [0, 2, 3], "3": [0, 7], "To": [0, 7], "avoid": 0, "accident": 0, "loss": 0, "inform": [0, 6], "caus": 0, "modifi": [0, 3, 5], "have": [0, 12], "been": [0, 6, 7], "stl": [0, 5, 9, 11, 12, 13], "insid": [0, 7], "db": 0, "thi": [0, 4, 5, 6, 7, 9, 13], "serv": [0, 9], "simpl": 0, "databas": [0, 1, 13], "ad": [0, 2, 9], "hash": [0, 9], "all": [0, 2, 3, 4, 7, 9], "also": [0, 7, 9], "save": [0, 1, 9], "current": [0, 2, 9], "command": [0, 1, 3, 5, 9, 11, 12], "line": [0, 1, 3, 4, 5, 9, 12], "set": [0, 1, 5, 7], "d": [0, 13], "switch": [0, 5, 13], "": [0, 6, 13], "new": [0, 3], "parse_conf": [1, 6, 10], "preset_nam": 1, "param": [1, 4, 8], "config_fil": [1, 5, 13], "pars": [1, 9, 11], "configur": [1, 3, 6], "one": [1, 4, 9], "wa": [1, 6], "specifi": 1, "preset": [1, 3, 5, 6, 12, 13], "load": [1, 3, 12], "dictionari": 1, "path": [1, 3, 13], "config": [1, 3, 5, 12, 13], "parse_param": [1, 6, 10], "none": [1, 9], "These": [1, 5], "later": [1, 7, 9], "default": 1, "method": 1, "appli": [1, 4, 6, 9, 10], "save_preset": [1, 6, 10], "store_to_db": [1, 6, 10], "overview": 2, "implement": [2, 4], "descript": 2, "below": 2, "blur": [2, 4], "int": 2, "kernel": [2, 4], "size": 2, "determin": 2, "how": [2, 7], "larg": 2, "area": 2, "process": [2, 6, 9, 12, 13], "gaussian": [2, 4, 6, 10], "sigma": [2, 4], "standart": 2, "deviat": 2, "further": 2, "pixel": [2, 4], "bilater": [2, 4, 6, 10], "diamet": 2, "neighborhood": 2, "sigmacolor": 2, "differ": 2, "color": [2, 4, 9], "sigmaspac": 2, "bilateral_scikit": [2, 4, 6, 10], "float": 2, "nlmean": [2, 4, 6, 10], "non": [2, 4], "local": [2, 4], "mean": [2, 4], "patch_siz": 2, "patch": 2, "denois": [2, 4], "patch_dist": 2, "distanc": [2, 4], "where": 2, "search": 2, "h": [2, 13], "cut": 2, "off": [2, 7], "higher": [2, 5], "more": [2, 5], "smooth": 2, "imag": [2, 4, 6, 9, 12, 13], "total_vari": [2, 3, 4, 6, 10], "much": [2, 4], "block_match": [2, 4, 6, 10], "unsharp_mask_scikit": [2, 4, 6, 10], "radiu": [2, 4], "amount": [2, 4], "strength": [2, 4], "unsharp": [2, 4], "mask": [2, 4], "farid": [2, 4, 6, 10], "meijer": [2, 4, 6, 10], "sato": [2, 4, 6, 10], "hessian": [2, 4, 6, 10], "invert": [2, 4, 6, 10], "scale_valu": [2, 4, 6, 10], "binar": [2, 4, 6, 10], "threshold": 2, "differenti": 2, "binarize_otsu": [2, 4, 6, 10], "add_margin": [2, 4, 6, 10], "margin": [2, 4], "number": [2, 5], "add": [2, 4, 9], "side": [2, 12], "newli": 2, "erod": [2, 4, 6, 10], "numpi": [2, 9], "matrix": 2, "shape": [2, 5], "dilat": [2, 4, 6, 10], "onc": 3, "requir": [3, 5, 6, 12], "instal": [3, 6], "applic": [1, 3, 4, 6, 7, 8, 9], "fingerprint": [1, 3, 6, 9, 12, 13], "sampl": 3, "locat": [3, 5], "re": [3, 5, 12], "its": [3, 5, 7, 12], "palec_p4": [3, 5], "tif": [3, 5, 12], "enter": [3, 7], "virtual": [3, 7], "enviro": [3, 7], "time": 3, "want": [3, 5, 12], "sourc": [3, 7], "venv": [3, 7], "bin": [3, 7], "activ": [3, 6, 7], "The": [3, 5, 6, 7, 12], "filenam": [3, 5, 9, 12], "includ": [3, 7, 12], "root": 3, "project": [3, 6, 9], "directori": [3, 7], "dpi": [3, 5, 12, 13], "shown": 3, "python3": [3, 5, 7, 13], "src": [3, 5, 6, 13], "main": [3, 5, 6, 10, 11, 12, 13], "py": [3, 5, 11, 12, 13], "input_fil": [3, 5, 12, 13], "output_fil": [3, 5, 12, 13], "two": [3, 6], "wai": 3, "manual": 3, "palec_p4_from_clin": 3, "png": [3, 5], "600": [3, 5], "15": 3, "5": 3, "them": 3, "tune": 3, "exist": [3, 6, 12], "creat": [3, 7, 9, 13], "ones": 3, "palec_p4_from_preset": [3, 5], "conf": [3, 5], "brief": [], "librari": [4, 6, 9, 12], "author": [], "xlanro00": 7, "class": [4, 9], "img": 4, "base": [4, 5, 9, 12], "img_filt": [4, 6, 10], "init": [4, 6, 10], "opencv": [4, 9], "skimag": 4, "denoise_bilater": 4, "averag": 4, "similar": 4, "preserv": 4, "edg": 4, "while": 4, "remov": 4, "unwant": 4, "nois": 4, "slower": 4, "than": [4, 12], "otsu": 4, "_": 4, "block": 4, "match": 4, "bm3d": 4, "veri": 4, "slow": 4, "should": [4, 7, 9, 12], "onli": [4, 5, 7, 12], "small": 4, "morpholog": 4, "oper": 4, "eros": 4, "find": 4, "scikit": 4, "easier": 4, "version": [4, 7], "object": 4, "parent": 4, "bitwise_not": 4, "over": [4, 9], "limit": 4, "5x5": 4, "continu": 4, "ridg": 4, "exctract": 4, "scale": [4, 9], "entir": 4, "rang": [4, 12], "data": [4, 9], "type": [4, 5], "height": [4, 5, 9, 12], "issu": 4, "perform": 4, "total": 4, "variat": 4, "techniqu": 4, "origin": [4, 9], "chambol": 4, "paper": 4, "fine": 4, "detail": 4, "unsharp_mask_pil": [4, 6, 10], "pil": 4, "subtract": 4, "regul": 4, "better": [4, 5], "result": [4, 5], "possibl": [5, 7], "first": [5, 6, 12], "which": [5, 7, 9, 13], "If": [5, 9], "mode": [5, 9, 12], "c": [5, 9, 12, 13], "follow": [5, 12, 13], "control": 5, "papilar": [5, 9], "height_lin": [5, 13], "second": [5, 6], "thick": [5, 12], "height_bas": [5, 13], "third": 5, "rate": 5, "curvatur": 5, "x": 5, "axi": 5, "curv_rate_x": [5, 13], "y": 5, "curv_rate_i": [5, 13], "curvature_x": 5, "curvature_i": 5, "2": 5, "10": [5, 7], "p": [5, 12, 13], "make": [5, 6], "flat": 5, "m": [5, 12, 13], "preexist": 5, "contain": [5, 9], "mesh": [5, 9], "denser": 5, "itert": 5, "last": 5, "three": 5, "offset": [5, 9], "finger_x": [5, 12, 13], "finger_i": [5, 12, 13], "finger_z": [5, 12, 13], "thei": 5, "user": 5, "move": 5, "core": 5, "print": [5, 6, 8, 9, 11, 13], "closer": 5, "center": 5, "ha": [6, 7, 9], "develop": 6, "part": 6, "bachelor": 6, "thesi": 6, "brno": 6, "univers": 6, "technologi": 6, "faculti": 6, "topic": 6, "model": [1, 6, 9, 12, 13], "consist": 6, "custom": [5, 6], "enhanc": 6, "sever": [6, 7], "import": 6, "modul": [6, 7, 10], "accur": 6, "represent": 6, "human": 6, "printer": 6, "either": 6, "planar": [6, 12], "curv": [6, 9, 12], "map": [6, 9, 12], "finger": [6, 9, 12], "still": 6, "under": 6, "get": [6, 9], "start": 6, "avail": 6, "usag": 6, "troubleshoot": 6, "config_pars": [6, 10], "log": [6, 10], "error_exit": [6, 8, 10], "print_messag": [6, 8, 10], "fingerprint_app": [6, 9, 10], "__init__": [6, 9, 10], "parse_argu": [6, 9, 10], "parse_stl": [6, 9, 10], "run_filt": [6, 9, 10], "get_empty_figur": [6, 9, 10], "mirror_imag": [6, 9, 10], "apply_filt": [6, 9, 10], "save_imag": [6, 9, 10], "run_stl": [6, 9, 10], "prepare_heightmap": [6, 9, 10], "write_stl_head": [6, 9, 10], "get_id": [6, 9, 10], "append_fac": [6, 9, 10], "engrave_text": [6, 9, 10], "create_stl_mesh": [6, 9, 10], "create_fac": [6, 9, 10], "make_stl_planar": [6, 9, 10], "make_stl_curv": [6, 9, 10], "make_stl_map": [6, 9, 10], "save_stl": [6, 9, 10], "stl_parser": [6, 10], "test": 7, "ubuntu": 7, "gnu": 7, "linux": 7, "machin": 7, "howev": 7, "most": 7, "distribut": 7, "wsl": 7, "succesfulli": 7, "python": 7, "might": 7, "earlier": 7, "sudo": 7, "apt": 7, "virtualenv": 7, "packag": 7, "creation": 7, "other": [7, 12], "automat": 7, "pip": 7, "compon": 7, "document": 7, "go": 7, "suitabl": 7, "folder": 7, "cd": 7, "home": 7, "usernam": 7, "clone": 7, "repositori": 7, "git": 7, "ssh": 7, "strade": 7, "fit": [7, 9], "vutbr": 7, "cz": 7, "3022": 7, "bp_dp": 7, "txt": 7, "r": 7, "now": 7, "run": [7, 11], "do": 7, "listedin": 7, "section": 7, "function": [8, 9], "error_messag": 8, "given": [8, 9], "error": [8, 12], "messag": [8, 12, 13], "exit": [8, 13], "arg": 8, "kwarg": 8, "stderr": 8, "argument": [9, 11, 12, 13], "argpars": 9, "read": 9, "arrai": 9, "uint8": 9, "grayscal": 9, "call": 9, "return": 9, "empti": 9, "figur": 9, "ax": 9, "dimens": 9, "mirror": [9, 13], "we": [], "posit": [12, 13], "In": [9, 12], "case": 9, "were": 9, "pass": 9, "fig": 9, "render": 9, "heightmap": 9, "255": 9, "Then": 9, "comput": 9, "valid": 9, "prepar": 9, "meshgrid": 9, "point": 9, "coordin": 9, "write": 9, "string": 9, "header": [9, 11], "80": 9, "byte": 9, "so": 9, "shorten": 9, "too": 9, "warn": 9, "truncat": 9, "uniqu": 9, "id": 9, "backsid": 9, "md5": 9, "face": 9, "indic": 9, "engrav": 9, "text": 9, "back": 9, "fill": 9, "draw": 9, "bottom_vert_arr": 9, "bottom": 9, "vertex": 9, "top_vert_arr": 9, "top": 9, "vertic": 9, "vector": 9, "append": 9, "depth": 12, "surfac": 9, "final": 9, "util": 11, "preformat": 11, "solut": 12, "probabl": 12, "forgot": 12, "some": 12, "palec_p14": 12, "doe": 12, "again": 12, "found": 12, "present": 12, "select": 12, "correct": [9, 12], "undefined_filt": 12, "One": 12, "defin": 12, "unrecogn": 12, "must": 12, "less": 12, "plate": 12, "when": [12, 13], "cast": 12, "thckness": 12, "otherwis": 12, "would": 12, "hole": 12, "cannot": 12, "neg": 12, "order": 12, "both": 12, "ani": 12, "outsid": 12, "noth": 12, "try": 12, "doubt": 13, "alwai": 13, "help": 13, "out": 13, "stl_file": 13, "database_filenam": 13, "program": 13, "2d": 13, "3d": [1, 13], "scanner": 13, "filter_name1": 13, "param1": 13, "param2": 13, "filter_name2": 13, "show": 13, "pair": 13, "parser": 1, "cancel": 9, "implicit": 9, "choos": [5, 9], "code": 9, "z": 9, "new_ridg": [3, 5], "next": 5, "finger_model": [5, 13], "allow": 5, "finger_backup": 5}, "objects": {"": [[1, 0, 0, "-", "config_parser"], [4, 0, 0, "-", "filters"], [8, 0, 0, "-", "log"]], "config_parser": [[1, 1, 1, "", "parse_conf"], [1, 1, 1, "", "parse_params"], [1, 1, 1, "", "save_preset"], [1, 1, 1, "", "store_to_db"]], "filters": [[4, 2, 1, "", "add_margin"], [4, 2, 1, "", "bilateral"], [4, 2, 1, "", "bilateral_scikit"], [4, 2, 1, "", "binarize"], [4, 2, 1, "", "binarize_otsu"], [4, 2, 1, "", "block_match"], [4, 2, 1, "", "dilate"], [4, 2, 1, "", "erode"], [4, 2, 1, "", "farid"], [4, 2, 1, "", "gaussian"], [4, 2, 1, "", "hessian"], [4, 2, 1, "", "img_filter"], [4, 2, 1, "", "invert"], [4, 2, 1, "", "median"], [4, 2, 1, "", "meijering"], [4, 2, 1, "", "nlmeans"], [4, 2, 1, "", "sato"], [4, 2, 1, "", "scale_values"], [4, 2, 1, "", "total_variation"], [4, 2, 1, "", "unsharp_mask_pil"], [4, 2, 1, "", "unsharp_mask_scikit"]], "filters.add_margin": [[4, 3, 1, "", "apply"], [4, 3, 1, "", "init"]], "filters.bilateral": [[4, 3, 1, "", "apply"]], "filters.bilateral_scikit": [[4, 3, 1, "", "apply"]], "filters.binarize": [[4, 3, 1, "", "apply"], [4, 3, 1, "", "init"]], "filters.binarize_otsu": [[4, 3, 1, "", "apply"], [4, 3, 1, "", "init"]], "filters.block_match": [[4, 3, 1, "", "apply"]], "filters.dilate": [[4, 3, 1, "", "apply"]], "filters.erode": [[4, 3, 1, "", "apply"]], "filters.farid": [[4, 3, 1, "", "apply"]], "filters.gaussian": [[4, 3, 1, "", "apply"]], "filters.hessian": [[4, 3, 1, "", "apply"]], "filters.invert": [[4, 3, 1, "", "apply"]], "filters.median": [[4, 3, 1, "", "apply"]], "filters.meijering": [[4, 3, 1, "", "apply"]], "filters.nlmeans": [[4, 3, 1, "", "apply"]], "filters.sato": [[4, 3, 1, "", "apply"]], "filters.scale_values": [[4, 3, 1, "", "apply"]], "filters.total_variation": [[4, 3, 1, "", "apply"]], "filters.unsharp_mask_pil": [[4, 3, 1, "", "apply"]], "filters.unsharp_mask_scikit": [[4, 3, 1, "", "apply"]], "log": [[8, 1, 1, "", "error_exit"], [8, 1, 1, "", "print_message"]], "main": [[9, 1, 1, "", "__init__"], [9, 1, 1, "", "append_faces"], [9, 1, 1, "", "apply_filters"], [9, 1, 1, "", "create_faces"], [9, 1, 1, "", "create_stl_mesh"], [9, 1, 1, "", "engrave_text"], [9, 2, 1, "", "fingerprint_app"], [9, 1, 1, "", "get_ID"], [9, 1, 1, "", "get_empty_figure"], [9, 1, 1, "", "make_stl_curved"], [9, 1, 1, "", "make_stl_map"], [9, 1, 1, "", "make_stl_planar"], [9, 1, 1, "", "mirror_image"], [9, 1, 1, "", "parse_arguments"], [9, 1, 1, "", "parse_stl"], [9, 1, 1, "", "prepare_heightmap"], [9, 1, 1, "", "run_filtering"], [9, 1, 1, "", "run_stl"], [9, 1, 1, "", "save_image"], [9, 1, 1, "", "save_stl"], [9, 1, 1, "", "write_stl_header"]], "stl_parser": [[11, 1, 1, "", "stl_parser"]]}, "objtypes": {"0": "py:module", "1": "py:function", "2": "py:class", "3": "py:method"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "function", "Python function"], "2": ["py", "class", "Python class"], "3": ["py", "method", "Python method"]}, "titleterms": {"configur": 0, "preset": 0, "config_pars": 1, "modul": [1, 4, 8, 9, 11], "avail": 2, "filter": [2, 3, 4], "paramet": 2, "imag": 3, "gener": 5, "fingerprint": 5, "model": 5, "curv": 5, "planar": 5, "finger": 5, "map": 5, "exist": 5, "generov\u00e1n\u00ed": 6, "3d": 6, "modelu": 6, "otisku": 6, "prstu": 6, "content": 6, "instal": 7, "requir": 7, "get": 7, "start": 7, "log": 8, "main": 9, "src": 10, "stl_parser": 11, "troubleshoot": 12, "usag": 13}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 57}, "alltitles": {"Configuration and presets": [[0, "configuration-and-presets"]], "Available filters with parameters": [[2, "available-filters-with-parameters"]], "Generov\u00e1n\u00ed 3D modelu otisku prstu": [[6, "generovani-3d-modelu-otisku-prstu"]], "Contents": [[6, "contents"]], "Installation": [[7, "installation"]], "Requirements": [[7, "requirements"]], "Getting started": [[7, "getting-started"]], "src": [[10, "src"]], "Troubleshooting": [[12, "troubleshooting"]], "config_parser module": [[1, "module-config_parser"]], "filters module": [[4, "module-filters"]], "log module": [[8, "module-log"]], "main module": [[9, "main-module"]], "stl_parser module": [[11, "stl-parser-module"]], "Filtering images": [[3, "filtering-images"]], "Generating fingerprint models": [[5, "generating-fingerprint-models"]], "Generating curved fingerprint model": [[5, "generating-curved-fingerprint-model"]], "Generating planar finger model": [[5, "generating-planar-finger-model"]], "Mapping fingerprint to existing finger model": [[5, "mapping-fingerprint-to-existing-finger-model"]], "Usage": [[13, "usage"]]}, "indexentries": {}}) \ No newline at end of file +Search.setIndex({"docnames": ["config", "config_parser", "filter_list", "filtering", "filters", "generation", "index", "installation", "log", "main", "modules", "stl_parser", "troubleshooting", "usage"], "filenames": ["config.rst", "config_parser.rst", "filter_list.rst", "filtering.rst", "filters.rst", "generation.rst", "index.rst", "installation.rst", "log.rst", "main.rst", "modules.rst", "stl_parser.rst", "troubleshooting.rst", "usage.rst"], "titles": ["Configuration and presets", "config_parser module", "Available filters with parameters", "Filtering images", "filters module", "Generating fingerprint models", "Generov\u00e1n\u00ed 3D modelu otisku prstu", "Installation", "log module", "main module", "src", "stl_parser module", "Troubleshooting", "Usage"], "terms": {"There": [0, 3], "i": [0, 1, 2, 3, 4, 5, 7, 9, 12], "an": [0, 2, 6, 9, 12], "option": [0, 5, 13], "input": [0, 3, 6, 9, 12, 13], "filter": [0, 1, 6, 9, 10, 12, 13], "seri": 0, "from": [0, 1, 3, 4, 6, 7, 9, 12, 13], "json": [0, 3, 5], "file": [0, 1, 3, 9, 11, 12, 13], "here": 0, "ar": [0, 1, 3, 5, 7, 12], "store": [0, 1, 9, 13], "readi": [0, 3], "us": [0, 2, 3, 4, 5, 6, 7, 9, 13], "whenev": 0, "need": [0, 3, 5, 7, 9], "you": [0, 3, 7, 12, 13], "can": [0, 3, 6, 13], "usehow": 0, "mani": 0, "long": [0, 9], "like": 0, "output": [0, 3, 5, 9, 13], "It": [0, 5, 7], "therefor": 0, "highli": 0, "recommend": 0, "check": [0, 9, 12, 13], "after": 0, "everi": [0, 3], "chang": [0, 12], "exampl": [0, 3, 5, 7], "abov": 0, "list": [0, 1, 2, 3, 9, 13], "bellow": [0, 3, 7], "along": [0, 5], "gener": [0, 1, 6, 9, 12], "form": [0, 5, 13], "format": 0, "work": [0, 5, 7], "name": [0, 1, 3, 12, 13], "filter_nam": 0, "paramet": [0, 1, 3, 4, 5, 6, 9, 12, 13], "valu": [0, 1, 2, 4, 9, 13], "git_exampl": 0, "denoise_tv_chambol": [0, 4], "weight": [0, 2, 3], "0": [0, 3, 5, 9], "01": 0, "iter": [0, 5, 9, 13], "1": 0, "median": [0, 2, 3, 4, 6, 10], "ksize": [0, 2, 3], "3": [0, 7], "To": [0, 7], "avoid": 0, "accident": 0, "loss": 0, "inform": [0, 6], "caus": 0, "modifi": [0, 3, 5], "have": [0, 12], "been": [0, 6, 7], "stl": [0, 5, 9, 11, 12, 13], "insid": [0, 7], "db": 0, "thi": [0, 4, 5, 6, 7, 9, 13], "serv": [0, 9], "simpl": 0, "databas": [0, 1, 13], "ad": [0, 2, 9], "hash": [0, 9], "all": [0, 2, 3, 4, 7, 9], "also": [0, 7, 9], "save": [0, 1, 9], "current": [0, 2, 9], "command": [0, 1, 3, 5, 9, 11, 12], "line": [0, 1, 3, 4, 5, 9, 12], "set": [0, 1, 5, 7], "d": [0, 13], "switch": [0, 5, 13], "": [0, 6, 13], "new": [0, 3], "parse_conf": [1, 6, 10], "preset_nam": 1, "param": [1, 4, 8], "config_fil": [1, 5, 13], "pars": [1, 9, 11], "configur": [1, 3, 6], "one": [1, 4, 9], "wa": [1, 6], "specifi": 1, "preset": [1, 3, 5, 6, 12, 13], "load": [1, 3, 12], "dictionari": 1, "path": [1, 3, 13], "config": [1, 3, 5, 12, 13], "parse_param": [1, 6, 10], "none": [1, 9], "These": [1, 5], "later": [1, 7, 9], "default": 1, "method": 1, "appli": [1, 4, 6, 9, 10], "save_preset": [1, 6, 10], "store_to_db": [1, 6, 10], "overview": 2, "implement": [2, 4], "descript": 2, "below": 2, "blur": [2, 4], "int": 2, "kernel": [2, 4], "size": 2, "determin": 2, "how": [2, 7], "larg": 2, "area": 2, "process": [2, 6, 9, 12, 13], "gaussian": [2, 4, 6, 10], "sigma": [2, 4], "standart": 2, "deviat": 2, "further": 2, "pixel": [2, 4], "bilater": [2, 4, 6, 10], "diamet": 2, "neighborhood": 2, "sigmacolor": 2, "differ": 2, "color": [2, 4, 9], "sigmaspac": 2, "bilateral_scikit": [2, 4, 6, 10], "float": 2, "nlmean": [2, 4, 6, 10], "non": [2, 4], "local": [2, 4], "mean": [2, 4], "patch_siz": 2, "patch": 2, "denois": [2, 4], "patch_dist": 2, "distanc": [2, 4], "where": 2, "search": 2, "h": [2, 13], "cut": 2, "off": [2, 7], "higher": [2, 5], "more": [2, 5], "smooth": 2, "imag": [2, 4, 6, 9, 12, 13], "total_vari": [2, 3, 4, 6, 10], "much": [2, 4], "block_match": [2, 4, 6, 10], "unsharp_mask_scikit": [2, 4, 6, 10], "radiu": [2, 4], "amount": [2, 4], "strength": [2, 4], "unsharp": [2, 4], "mask": [2, 4], "farid": [2, 4, 6, 10], "meijer": [2, 4, 6, 10], "sato": [2, 4, 6, 10], "hessian": [2, 4, 6, 10], "invert": [2, 4, 6, 10], "scale_valu": [2, 4, 6, 10], "binar": [2, 4, 6, 10], "threshold": 2, "differenti": 2, "binarize_otsu": [2, 4, 6, 10], "add_margin": [2, 4, 6, 10], "margin": [2, 4], "number": [2, 5], "add": [2, 4, 9], "side": [2, 12], "newli": 2, "erod": [2, 4, 6, 10], "numpi": [2, 9], "matrix": 2, "shape": [2, 5], "dilat": [2, 4, 6, 10], "onc": 3, "requir": [3, 5, 6, 12], "instal": [3, 6], "applic": [1, 3, 4, 6, 7, 8, 9], "fingerprint": [1, 3, 6, 9, 12, 13], "sampl": 3, "locat": [3, 5], "re": [3, 5, 12], "its": [3, 5, 7, 12], "palec_p4": [3, 5], "tif": [3, 5, 12], "enter": [3, 7], "virtual": [3, 7], "enviro": [3, 7], "time": 3, "want": [3, 5, 12], "sourc": [3, 7], "venv": [3, 7], "bin": [3, 7], "activ": [3, 6, 7], "The": [3, 5, 6, 7, 12], "filenam": [3, 5, 9, 12], "includ": [3, 7, 12], "root": 3, "project": [3, 6, 9], "directori": [3, 7], "dpi": [3, 5, 12, 13], "shown": 3, "python3": [3, 5, 7, 13], "src": [3, 5, 6, 13], "main": [3, 5, 6, 10, 11, 12, 13], "py": [3, 5, 11, 12, 13], "input_fil": [3, 5, 12, 13], "output_fil": [3, 5, 12, 13], "two": [3, 6], "wai": 3, "manual": 3, "palec_p4_from_clin": 3, "png": [3, 5], "600": [3, 5], "15": 3, "5": 3, "them": 3, "tune": 3, "exist": [3, 6, 12], "creat": [3, 7, 9, 13], "ones": 3, "palec_p4_from_preset": [3, 5], "conf": [3, 5], "brief": [], "librari": [4, 6, 9, 12], "author": [], "xlanro00": 7, "class": [4, 9], "img": 4, "base": [4, 5, 9, 12], "img_filt": [4, 6, 10], "init": [4, 6, 10], "opencv": [4, 9], "skimag": 4, "denoise_bilater": 4, "averag": 4, "similar": 4, "preserv": 4, "edg": 4, "while": 4, "remov": 4, "unwant": 4, "nois": 4, "slower": 4, "than": [4, 12], "otsu": 4, "_": 4, "block": 4, "match": 4, "bm3d": 4, "veri": 4, "slow": 4, "should": [4, 7, 9, 12], "onli": [4, 5, 7, 12], "small": 4, "morpholog": 4, "oper": 4, "eros": 4, "find": 4, "scikit": 4, "easier": 4, "version": [4, 7], "object": 4, "parent": 4, "bitwise_not": 4, "over": [4, 9], "limit": 4, "5x5": 4, "continu": 4, "ridg": 4, "exctract": 4, "scale": [4, 9], "entir": 4, "rang": [4, 12], "data": [4, 9], "type": [4, 5], "height": [4, 5, 9, 12], "issu": 4, "perform": 4, "total": 4, "variat": 4, "techniqu": 4, "origin": [4, 9], "chambol": 4, "paper": 4, "fine": 4, "detail": 4, "unsharp_mask_pil": [4, 6, 10], "pil": 4, "subtract": 4, "regul": 4, "better": [4, 5], "result": [4, 5], "possibl": [5, 7], "first": [5, 6, 12], "which": [5, 7, 9, 13], "If": [5, 9], "mode": [5, 9, 12], "c": [5, 9, 12, 13], "follow": [5, 12, 13], "control": 5, "papilar": [5, 9], "height_lin": [5, 13], "second": [5, 6], "thick": [5, 12], "height_bas": [5, 13], "third": 5, "rate": 5, "curvatur": 5, "x": 5, "axi": 5, "curv_rate_x": [5, 13], "y": 5, "curv_rate_i": [5, 13], "curvature_x": 5, "curvature_i": 5, "2": 5, "10": [5, 7], "p": [5, 12, 13], "make": [5, 6], "flat": 5, "m": [5, 12, 13], "preexist": 5, "contain": [5, 9], "mesh": [5, 9], "denser": 5, "itert": 5, "last": 5, "three": 5, "offset": [5, 9], "finger_x": [5, 12, 13], "finger_i": [5, 12, 13], "finger_z": [5, 12, 13], "thei": 5, "user": 5, "move": 5, "core": 5, "print": [5, 6, 8, 9, 11, 13], "closer": 5, "center": 5, "ha": [6, 7, 9], "develop": 6, "part": 6, "bachelor": 6, "thesi": 6, "brno": 6, "univers": 6, "technologi": 6, "faculti": 6, "topic": 6, "model": [1, 6, 9, 12, 13], "consist": 6, "custom": [5, 6], "enhanc": 6, "sever": [6, 7], "import": 6, "modul": [6, 7, 10], "accur": 6, "represent": 6, "human": 6, "printer": 6, "either": 6, "planar": [6, 12], "curv": [6, 9, 12], "map": [6, 9, 12], "finger": [6, 9, 12], "still": 6, "under": 6, "get": [6, 9], "start": 6, "avail": 6, "usag": 6, "troubleshoot": 6, "config_pars": [6, 10], "log": [6, 10], "error_exit": [6, 8, 10], "print_messag": [6, 8, 10], "fingerprint_app": [6, 9, 10], "__init__": [6, 9, 10], "parse_argu": [6, 9, 10], "parse_stl": [6, 9, 10], "run_filt": [6, 9, 10], "get_empty_figur": [6, 9, 10], "mirror_imag": [6, 9, 10], "apply_filt": [6, 9, 10], "save_imag": [6, 9, 10], "run_stl": [6, 9, 10], "prepare_heightmap": [6, 9, 10], "write_stl_head": [6, 9, 10], "get_id": [6, 9, 10], "append_fac": [6, 9, 10], "engrave_text": [6, 9, 10], "create_stl_mesh": [6, 9, 10], "create_fac": [6, 9, 10], "make_stl_planar": [6, 9, 10], "make_stl_curv": [6, 9, 10], "make_stl_map": [6, 9, 10], "save_stl": [6, 9, 10], "stl_parser": [6, 10], "test": 7, "ubuntu": 7, "gnu": 7, "linux": 7, "machin": 7, "howev": 7, "most": 7, "distribut": 7, "wsl": 7, "succesfulli": 7, "python": 7, "might": 7, "earlier": 7, "sudo": 7, "apt": 7, "virtualenv": 7, "packag": 7, "creation": 7, "other": [7, 12], "automat": 7, "pip": 7, "compon": 7, "document": 7, "go": 7, "suitabl": 7, "folder": 7, "cd": 7, "home": 7, "usernam": 7, "clone": 7, "repositori": 7, "git": 7, "ssh": [], "strade": 7, "fit": [7, 9], "vutbr": 7, "cz": 7, "3022": [], "bp_dp": 7, "txt": 7, "r": 7, "now": 7, "run": [7, 11], "do": 7, "listedin": 7, "section": 7, "function": [8, 9], "error_messag": 8, "given": [8, 9], "error": [8, 12], "messag": [8, 12, 13], "exit": [8, 13], "arg": 8, "kwarg": 8, "stderr": 8, "argument": [9, 11, 12, 13], "argpars": 9, "read": 9, "arrai": 9, "uint8": 9, "grayscal": 9, "call": 9, "return": 9, "empti": 9, "figur": 9, "ax": 9, "dimens": 9, "mirror": [9, 13], "we": [], "posit": [12, 13], "In": [9, 12], "case": 9, "were": 9, "pass": 9, "fig": 9, "render": 9, "heightmap": 9, "255": 9, "Then": 9, "comput": 9, "valid": 9, "prepar": 9, "meshgrid": 9, "point": 9, "coordin": 9, "write": 9, "string": 9, "header": [9, 11], "80": 9, "byte": 9, "so": 9, "shorten": 9, "too": 9, "warn": 9, "truncat": 9, "uniqu": 9, "id": 9, "backsid": 9, "md5": 9, "face": 9, "indic": 9, "engrav": 9, "text": 9, "back": 9, "fill": 9, "draw": 9, "bottom_vert_arr": 9, "bottom": 9, "vertex": 9, "top_vert_arr": 9, "top": 9, "vertic": 9, "vector": 9, "append": 9, "depth": 12, "surfac": 9, "final": 9, "util": 11, "preformat": 11, "solut": 12, "probabl": 12, "forgot": 12, "some": 12, "palec_p14": 12, "doe": 12, "again": 12, "found": 12, "present": 12, "select": 12, "correct": [9, 12], "undefined_filt": 12, "One": 12, "defin": 12, "unrecogn": 12, "must": 12, "less": 12, "plate": 12, "when": [12, 13], "cast": 12, "thckness": 12, "otherwis": 12, "would": 12, "hole": 12, "cannot": 12, "neg": 12, "order": 12, "both": 12, "ani": 12, "outsid": 12, "noth": 12, "try": 12, "doubt": 13, "alwai": 13, "help": 13, "out": 13, "stl_file": [], "database_filenam": 13, "program": 13, "2d": 13, "3d": [1, 13], "scanner": 13, "filter_name1": 13, "param1": 13, "param2": 13, "filter_name2": 13, "show": 13, "pair": 13, "parser": 1, "cancel": 9, "implicit": 9, "choos": [5, 9], "code": 9, "z": 9, "new_ridg": [3, 5], "next": 5, "finger_model": [5, 13], "allow": 5, "finger_backup": 5, "http": 7}, "objects": {"": [[1, 0, 0, "-", "config_parser"], [4, 0, 0, "-", "filters"], [8, 0, 0, "-", "log"]], "config_parser": [[1, 1, 1, "", "parse_conf"], [1, 1, 1, "", "parse_params"], [1, 1, 1, "", "save_preset"], [1, 1, 1, "", "store_to_db"]], "filters": [[4, 2, 1, "", "add_margin"], [4, 2, 1, "", "bilateral"], [4, 2, 1, "", "bilateral_scikit"], [4, 2, 1, "", "binarize"], [4, 2, 1, "", "binarize_otsu"], [4, 2, 1, "", "block_match"], [4, 2, 1, "", "dilate"], [4, 2, 1, "", "erode"], [4, 2, 1, "", "farid"], [4, 2, 1, "", "gaussian"], [4, 2, 1, "", "hessian"], [4, 2, 1, "", "img_filter"], [4, 2, 1, "", "invert"], [4, 2, 1, "", "median"], [4, 2, 1, "", "meijering"], [4, 2, 1, "", "nlmeans"], [4, 2, 1, "", "sato"], [4, 2, 1, "", "scale_values"], [4, 2, 1, "", "total_variation"], [4, 2, 1, "", "unsharp_mask_pil"], [4, 2, 1, "", "unsharp_mask_scikit"]], "filters.add_margin": [[4, 3, 1, "", "apply"], [4, 3, 1, "", "init"]], "filters.bilateral": [[4, 3, 1, "", "apply"]], "filters.bilateral_scikit": [[4, 3, 1, "", "apply"]], "filters.binarize": [[4, 3, 1, "", "apply"], [4, 3, 1, "", "init"]], "filters.binarize_otsu": [[4, 3, 1, "", "apply"], [4, 3, 1, "", "init"]], "filters.block_match": [[4, 3, 1, "", "apply"]], "filters.dilate": [[4, 3, 1, "", "apply"]], "filters.erode": [[4, 3, 1, "", "apply"]], "filters.farid": [[4, 3, 1, "", "apply"]], "filters.gaussian": [[4, 3, 1, "", "apply"]], "filters.hessian": [[4, 3, 1, "", "apply"]], "filters.invert": [[4, 3, 1, "", "apply"]], "filters.median": [[4, 3, 1, "", "apply"]], "filters.meijering": [[4, 3, 1, "", "apply"]], "filters.nlmeans": [[4, 3, 1, "", "apply"]], "filters.sato": [[4, 3, 1, "", "apply"]], "filters.scale_values": [[4, 3, 1, "", "apply"]], "filters.total_variation": [[4, 3, 1, "", "apply"]], "filters.unsharp_mask_pil": [[4, 3, 1, "", "apply"]], "filters.unsharp_mask_scikit": [[4, 3, 1, "", "apply"]], "log": [[8, 1, 1, "", "error_exit"], [8, 1, 1, "", "print_message"]], "main": [[9, 1, 1, "", "__init__"], [9, 1, 1, "", "append_faces"], [9, 1, 1, "", "apply_filters"], [9, 1, 1, "", "create_faces"], [9, 1, 1, "", "create_stl_mesh"], [9, 1, 1, "", "engrave_text"], [9, 2, 1, "", "fingerprint_app"], [9, 1, 1, "", "get_ID"], [9, 1, 1, "", "get_empty_figure"], [9, 1, 1, "", "make_stl_curved"], [9, 1, 1, "", "make_stl_map"], [9, 1, 1, "", "make_stl_planar"], [9, 1, 1, "", "mirror_image"], [9, 1, 1, "", "parse_arguments"], [9, 1, 1, "", "parse_stl"], [9, 1, 1, "", "prepare_heightmap"], [9, 1, 1, "", "run_filtering"], [9, 1, 1, "", "run_stl"], [9, 1, 1, "", "save_image"], [9, 1, 1, "", "save_stl"], [9, 1, 1, "", "write_stl_header"]], "stl_parser": [[11, 1, 1, "", "stl_parser"]]}, "objtypes": {"0": "py:module", "1": "py:function", "2": "py:class", "3": "py:method"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "function", "Python function"], "2": ["py", "class", "Python class"], "3": ["py", "method", "Python method"]}, "titleterms": {"configur": 0, "preset": 0, "config_pars": 1, "modul": [1, 4, 8, 9, 11], "avail": 2, "filter": [2, 3, 4], "paramet": 2, "imag": 3, "gener": 5, "fingerprint": 5, "model": 5, "curv": 5, "planar": 5, "finger": 5, "map": 5, "exist": 5, "generov\u00e1n\u00ed": 6, "3d": 6, "modelu": 6, "otisku": 6, "prstu": 6, "content": 6, "instal": 7, "requir": 7, "get": 7, "start": 7, "log": 8, "main": 9, "src": 10, "stl_parser": 11, "troubleshoot": 12, "usag": 13}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 57}, "alltitles": {"Configuration and presets": [[0, "configuration-and-presets"]], "Available filters with parameters": [[2, "available-filters-with-parameters"]], "Generov\u00e1n\u00ed 3D modelu otisku prstu": [[6, "generovani-3d-modelu-otisku-prstu"]], "Contents": [[6, "contents"]], "src": [[10, "src"]], "Troubleshooting": [[12, "troubleshooting"]], "config_parser module": [[1, "module-config_parser"]], "filters module": [[4, "module-filters"]], "log module": [[8, "module-log"]], "main module": [[9, "main-module"]], "stl_parser module": [[11, "stl-parser-module"]], "Filtering images": [[3, "filtering-images"]], "Generating fingerprint models": [[5, "generating-fingerprint-models"]], "Generating curved fingerprint model": [[5, "generating-curved-fingerprint-model"]], "Generating planar finger model": [[5, "generating-planar-finger-model"]], "Mapping fingerprint to existing finger model": [[5, "mapping-fingerprint-to-existing-finger-model"]], "Installation": [[7, "installation"]], "Requirements": [[7, "requirements"]], "Getting started": [[7, "getting-started"]], "Usage": [[13, "usage"]]}, "indexentries": {}}) \ No newline at end of file diff --git a/docs/build/usage.html b/docs/build/usage.html index bcc044d..7a9a97c 100644 --- a/docs/build/usage.html +++ b/docs/build/usage.html @@ -213,8 +213,8 @@

      Which will print out the following message.

      $ usage: main.py [-h] [-m | --mirror | --no-mirror] input_file
       output_file dpi ([-c | --config config_file preset] |
      -[filters ...]) [-s | --stl_file p height_line height_base |
      ---stl_file c height_line height_base curv_rate_x curv_rate_y |
      +[filters ...]) [-s | --stl p height_line height_base |
      +--stl c height_line height_base curv_rate_x curv_rate_y |
       --stl m height_line iter finger_x finger_y finger_z finger_model]
       [-d | --database database_filename]
       
      @@ -232,11 +232,13 @@
       -h, --help            show this help message and exit
       -m, --mirror, --no-mirror
                               switch to mirror input image
      --s [STL_FILE ...], --stl_file [STL_FILE ...]
      +-s [STL ...], --stl [STL ...]
                               create stl model from processed image
       -c CONFIG CONFIG, --config CONFIG CONFIG
                               pair: name of the config file with presets,
                               name of the preset
      +-d DATABASE,       --database DATABASE
      +                        switch to store presets in config database
       
      diff --git a/docs/source/installation.rst b/docs/source/installation.rst index 20eec77..ef7aa60 100644 --- a/docs/source/installation.rst +++ b/docs/source/installation.rst @@ -42,7 +42,7 @@ It will also install several required python packages, including venv, which is .. code-block:: console - $ git clone ssh://git@strade.fit.vutbr.cz:3022/xlanro00/BP_DP-xlanro00.git + $ git clone https://strade.fit.vutbr.cz/git/xlanro00/BP_DP-xlanro00.git 3. Go inside cloned directory: