From bdc507ed8585d34f739001768837a917912ce91c Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Mon, 15 May 2023 08:15:30 -0700 Subject: [PATCH 01/39] Move affiliated projects to wiki --- README.md | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/README.md b/README.md index 650a338d6..69e904fcc 100644 --- a/README.md +++ b/README.md @@ -101,14 +101,7 @@ For bugs please [open an issue](https://github.com/paperless-ngx/paperless-ngx/i # Affiliated Projects -Paperless has been around for a while now, and people have built tools that interact with it. If you're one of them, please reach out and we can add your project to the list. Current projects include: - -- **Mobile** - - [Paperless App](https://github.com/bauerj/paperless_app): An Android/iOS application for Paperless-ngx. - - [Paperless Mobile](https://github.com/astubenbord/paperless-mobile): A modern, feature rich Android app for Paperless-ngx. - - [Paperless Share](https://github.com/qcasey/paperless_share): Share any files from your Android application with Paperless-ngx. Very simple, but works with all mobile scanning apps that allow you to share scanned documents. -- **Desktop** - - [Scan to Paperless](https://github.com/sbrunner/scan-to-paperless): Scan and prepare (crop, deskew, OCR, ...) your documents for use in Paperless-ngx. +Please see [the wiki](https://github.com/paperless-ngx/paperless-ngx/wiki/Affiliated-Projects) for a user-maintained list of affiliated projects and software that is compatible with Paperless-ngx. # Important Note From fd02932d3820ec43d195bd6a4d793fb14c99bd6e Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Mon, 15 May 2023 08:23:53 -0700 Subject: [PATCH 02/39] Update environment.prod.ts --- src-ui/src/environments/environment.prod.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src-ui/src/environments/environment.prod.ts b/src-ui/src/environments/environment.prod.ts index a400ffbe2..635091b12 100644 --- a/src-ui/src/environments/environment.prod.ts +++ b/src-ui/src/environments/environment.prod.ts @@ -5,7 +5,7 @@ export const environment = { apiBaseUrl: document.baseURI + 'api/', apiVersion: '3', appTitle: 'Paperless-ngx', - version: '1.14.5', + version: '1.14.5-dev', webSocketHost: window.location.host, webSocketProtocol: window.location.protocol == 'https:' ? 'wss:' : 'ws:', webSocketBaseUrl: base_url.pathname + 'ws/', From dd7fa84dcb7756a53787dca8d3e291ab1316b921 Mon Sep 17 00:00:00 2001 From: Trenton H <797416+stumpylog@users.noreply.github.com> Date: Mon, 15 May 2023 12:54:35 -0700 Subject: [PATCH 03/39] Updates the coverage to upload on push, not pull request, as dev doesn't upload fully otherwise --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c8afcb261..5970e3db8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -161,7 +161,7 @@ jobs: pipenv --python ${{ steps.setup-python.outputs.python-version }} run pytest -ra - name: Upload coverage to Codecov - if: ${{ matrix.python-version == env.DEFAULT_PYTHON_VERSION && github.event_name == 'pull_request'}} + if: ${{ matrix.python-version == env.DEFAULT_PYTHON_VERSION && github.event_name == 'push'}} uses: codecov/codecov-action@v3 with: # not required for public repos, but intermittently fails otherwise From d478045e5398d2b224ab6d247ac0f4ecbb8a8aef Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Tue, 16 May 2023 08:30:00 -0700 Subject: [PATCH 04/39] Make 'appears on' text in saved view settings visually hidden --- .../src/app/components/manage/settings/settings.component.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src-ui/src/app/components/manage/settings/settings.component.html b/src-ui/src/app/components/manage/settings/settings.component.html index 6d9c11d4b..983395ea5 100644 --- a/src-ui/src/app/components/manage/settings/settings.component.html +++ b/src-ui/src/app/components/manage/settings/settings.component.html @@ -206,7 +206,7 @@
{{toast.content}}
++ {{toast.error}} ++
PXoA4+mMTA1xBOdtMuH@ zDWg>^^&mM=ALA`7aP~9V7e){O44P-)0a-WuDMdjz;G8Mt#u63RlQ4jlEu#iDad!3n zH)FYh!^4|hjPfZBi}=3RXZ$sId~k?*)F)AtfT&o1p71a8_<%e904W3>0$;kgFfCpY za*umF)$>&hw!2t_qK-iCHYuCB5C>qur~duAQ8f z;HiGKT6 dCbPvF>sHJTPsheO74CtT`;tKK#=oLOKoKicHeB4 z&=ejShoT>rGzN}+niU?Pq?QAw6_bHF=KTXWzNH3yD6grP(Ffhb!Qv-9kM|r?a@d4t z5%VzDGSVF}R_PSoIKWJw%a|M;C#Gscio=G2n(4i}=!*3gdjDkzhSgqr$s(Yytd&K{ zXFhU{h=8oxNDnJ5jJFC!q2|Xv_hxvfE#H*D)w%XJ#iQa^RwnSb@bY_!lU?D8HRfo@ zTqBh`wYX#ldksPsA8SH ;1dwDvqNP2H$5t5MD-ZHXJ{RZoR~NX&%m zXa+hLlllFG^xvY{^c67#r#*NT*n&x9RO#>Y3W?iXW|(~!@iq2Zt};m(>LIy*`Uyp* zt=(>Y&MTgt_h&qQ8zzmb;tW@Ee}TGU0W0Hkb%~^?R~>v2M}QeMer&^JHb}7j@iK%+ zbN>7Hxc6R8b_fA4e>0267|cNY193&9+d-ca4QiuiY~imzBwr_L8iw2z4uZPlFPW8z ziWa7$LRfuwRX${*w(ENK2%UfrzIjVNN T=Pf#OFE@2(L7ANCP~nkOq>=Z^wriq|J@h7aMKjmgt< zxrNnAw 3Wr{3b(BUfS*RhE1w;7)4bdu)bA^4>oWplgy9h36qoV$x_Z)USj4y zH=}5sqCsups?x#pdbh^>dLY8@Y@g4$pyw}icP{1V$#p7eL8UtT$l;Ew#nMQL4U4i! zJkiPp!x9emv%IeJ9!f9R?X|K{k=)f}QyUQb*vLma1-g`lSNmhoz$jpDv_jyy*lE=P z3!GO9h=%h)72Zrn`)ub8e(M #)mnxldcUeGOY7 amWyOB)~58L*<7kpb09ZHNHR9X}TwIWcP)T=W^<0uV^uF9Q}CAWQD^{A2$u6*t*! zDAf~C- zpAlePMXa94f+AYS`TuK_QBhQ3p0&XIa${mMes&MW-?AAxH{`)q*Xe;SANlF${@t rzZ&SB56#W^~c=_%Sy z{gKm+%yuV0BD2wEOq);%hd{iv&Ichh!zzXZYRrS{<)i=UUwg?93~8+s?&4ushQu4U zj#y^S>okUMOx9J0AOfmBRqFIUve+GsK98Gr{qJsd_qv%6SXUfJ@DrJUoG2gBvF%@a zP<1zYPX}PB;g8KFtBO+FoCsiVV8HP?)b&mC8eI0R1^(|EHF)Ee#|F$Dl!1DV5_vC& z-C?6O0be6G6JoW>|2P7dwceDA-;8~r_PS~TIJk|g!T@gqK9o*Fdpb}7#pIt89 ;C%O& #?dlfV<0{KV=R#%vVUpupWsjkLC(2W z+;{9aNnppoO0S2!gnK|ez-eV}y_w43RvY93-c4jBt2wsJw+2XkMS#EjMnmd;t4h$s zZPx9ga7^stIiP7q^bdF7#%5avY{r3ZD(Gv)m?duGwtWfRW;#>C3d>cKFg>c(LKZsV z2TQgxUdz?_N|RrMx;DC(tGSz_PFtWOIzK*#lXp6n9N<|49$(4p4dktX;BM6zfu=m5 zBKqVc(_Mw2n0t7MmV7Q2E))+t9d>609KU=O(tY51Xae>-s}k8%V%OAMA8o5O#MNW2 za7#!J;KS-e--T)Wo=JReeY46&&9xcfOSomPx~$p#ozuEs55s3`j_%fhbp kZ-lqLQs8T#uWIjkX{aVIVURU7fwlO( jx7N8{A;H5>xWL3@VI#ncb>^{G- zkOG!&g%3+97ZtiwPDHO?$uBXI%~@}9m)?rUcL9!eXPOVDegu`g`efd5y29L @<}{_S&cXh|q)O zhRBLLwX1(RChbA8Z>4&L9%wg<<9c`7+p{UH^ZejS#MPjCIEQ-L?Ra!zZ}YM9<3Lk> zplXDVdmE;^BgrEnpe=zGS$;!jbD(o5IO^DShT=}Z(^$apmHzEMv^g9lbwAT$=hdVq z`d58&8%SW<>~gb+@MnaG6cPK+q`${bh~mc=DXazsE3VoiPS~{M-h6W9!9TB~7;y{o zE+g#hw+gjvagIAZ+S2DDdt=`D`u@lsl2`vSV>R#Fkvx`n2`^AW);8vwZo-ZS>a~CQ zX*BUM>K9^TWF#=&tjSV#=RClhg&1V5QZ*1a><9=1SLgSY5Mm$uA2D_k8_Q;B#7!Uo zn79#=8a5)gJ;CDKEw}MBBU*r0D@lPbB~TwYWcJNgi8<{Y9|Mhc&cQ%8FWu1 NVbrL`l)J(>viH&F|a7K=NE#gZ6rE*(AI8NLUAwM97xKw!q7 zqJ4lqpQfboMmhq+M^sfDy@j{l!WSeKG7JIk8DI(*dB05~6hP^wk*;oRjR+d6!vy=d z_q9Gfx J=yqeeM4W=rbR8-cr?rhJ-KxR8vk+2K?295nmp% z5g?ut!3gxHWFXnH*8&Ml06Kc%L5W3lB(to+rO&C2`%pd1n1<&gBQ`SN?H-|P4B+%@ zO9SpdQ2;QO^t$i}{M9#ByOk~`{j3AaScKo7Gypu@7JWosjG$1EKu=~@ak|g|^#cAD zwR*5`zJGA2UV}F23XZZo;4Ml9W>T&ENCGg %~0>EH}FTjcWe&$^bG`T7lVN7 zzfbhXnmN6mKkczw%T2~=6Tvt3sMIN(w3(>C8DhNO>(ed=n1$j-AFvQjm{+bprSgR| zblv;^SrGzi0wH<|Wzt2jZoByq-LZ$a 3XPPW0CQypBr0Pti!u^ zZ?I^&82_Z^f6u?qf3m#K= NGoh{^cfa2^>iCrY@NoM;i@Hm8`d(+1dGosCMOC z3tvTSYO*&UTz1=qv>Hn^rM=#@xcHHq5f%n5zH(~~s^!<85TlI#qF(vo!L5M=$M1am zoW1l#g?@uv_zgC4HS6X4&U%u7?b1uxw#Dq?CT`fQ*N^{|uu=xF*PGNq;CRx1o~~+w z5c0g4cv5wodaTep^6$N>O6wTr!gOWAtC2VOK5qJ1XT`69sf@Q;#cr N(@oV~shM;Dn-3nd@q4{N@6rhc3yR-5N{xqZDFecNPbANP~KMi`t|n#8;- z?^(r91TO9JVJgrY`y27O2I=_K#~oZh%1|x#KL@U#HGbJrkruA^#XKaG*F{T%`9-|` zy|9l%rg(qN2ce64I=z4Lb2H8Zab~kJ_?_JEdkJqpD`R^^(&r5eay~9ro$KPOf!rpn z7&~x_TH9#H*5ieet9R*{Aj;4;t$V|kWmG!U(R`HT7TR39XPfEX#R}c>w%TVDK$?U5 zz9jfbk||m%L&vYDJXnE^`Z0Yb_bJj7D%~p*TxCQgw--+BIrTd@DB6JgINIigF&;q0 znCPAJT kHVyfQJ zdZ_sD8JH?C`BUgU^2CDvE$_$ZI5DTA3J=rD_K{>nj@0^=s!glLfW6zT&P_ngu{$ns zJ*qR`z@hHtpF=ofySwd_^&EKO_-58* hZWIy% 26QAbW4YK&$PRmPc) zd8?cY!x`WCAEu+I*HZ*mjnxJ*Sij(d>yCdnKMOp!Ea5`xX+= aM3 z^4fdh&eM4&CRJ-XntVp9=KiU3JXZ7|Xt;t@i^^>D;C^MZxJ;BRlaSd>!@U!6mS*${ z-b@z*-L`AeFAcd089Rx=&Fiq$4Kt0Q5igWvvsRl=!k$fDsC5}I%oAal*;HBBjTrOA zA>B626uY0m=d+Y%Gigt4zcaR-MfJ=X^aw@E6xqj$`@3#`*IdG=7CHE{5?XPE!tbIy z>X6RP$)b4~IIru~JFF&TS0kZXOx-1`gaEI6+fmfv#cw|6Ko8wN2}3QV)VNg2jriKN zo^k1DaW*BhZ=E@Pre?ZZWbrMEZvQmX9Fi{=M&u**VA*!i0AJ_SJu^wqp?N~s1kV=# zEH_r^NrXLIv1u=<`ZU+B>bJa=;L}Cx=||Nha2Otj0BrgG@p3kdd2Y*1`w0h=8=vX& z-(^!{B}1R}n@MN2PiHsKUskS6$u)}`DDl6m90CEtF_q%6p>)|@37UT6&x$5(4YG5+ zWk3 NonZPq@Ayz=rC0 zB9f4!z3$k@@P%*VQ77EiQL} l;#C!Veau8h;T5!N;9n}yY1;e2w;h$MVx#Z63Wr`U-(kkC~%l5f7(Af4FWWRx9 zf!sVCbg5kC^33$BeUy0c2a3xJ7f;~?#BCy5Z{^Hlcb{V6PhCBuMf x7-$yHdyQi1I?H~rZ@AOz|EZMXpOOsUF|b33%%*OZ2YDxng=)O>`{Iy zr-WFvLL=l*-gXr&aZRGz?{)TM*jC*YA$3b7!GZxzd>?9NB!8a%WH+451ig!^JgeeO zyO*A*NR+%BIUq4PMxq>p1^X|NIU&gKvsi=!YyZX@J!4C5#S62_($Sz%2;gnwPF4(9 zorous=n0}RnUV!nyoi-yjg4am#~6YyToIwMPQj$i^r+Hdd>cIz-oxm *mW*xKZc{c`*&{x)a5HJ6V1Z @vS} znC;pN9SkJ3;SIL?;-dt3=}Uo)=bG3%{?Y-Fm3i1jbNW92^xQu*epSa41Y{ops`b6( zBM0Ku+go|9MB$U`$|sfa(7p`Ihu=(#0mPJ9ubS6Otxhaqw)@!I=HIxnq+Qn^cvtoT z3ufh6knG*<0NDj#ugbGPSF>^SdhKc5grUzab?oBZG!gz0qO!+?V51*+dPHE9bF(Mo zlme@12mPS?!Cm(n%7Fe$y >?e6m`(!+mCiCN5{BYb`&i$5KRA+54CT6cF6z`bvk?w`{^fSG z^@$r9;2x>Ryl!qm#-CWf`A80GrS(_=gT&wul$Yalsc90D@D?}r($ID4cwdf;v#lks z>oZL?C69N101EzejB`$SKxEqROBkm)8@1#?-iMng{;3}u$q4^+(Rz5vz<*4(H9F>L z*`boSR|Oz(;!aN^YFgl3X8R|uSD>d@#&ilQ=;dkHXae2$!(X>{V>56MX`0TacNQM^ zciTv9`j>?leI7p_d2STsk1KR0BLLAR33A32r&5&CO^LHQQxYw#-uFXjXd1rJgulO? zd`yuyo|u^+k6!%>9g +_1MB6+~{gD4oV=arWbxh#QacdnffR~WxuOra? p` yKp?^z^ciIF6m&33%hEkW{@`>XPljz zQd4^Y{Xr1l@yJBD6t6^#&Afk3x=i$mKi2ZIk(%sYk%ef3dge!_CPkwT<1HB^4#kHn z&??d-9DgSi?)DN!VCB8vU4aT$Zh*oCGd&?t`PAu-yf%Tt_M}WQG0-Z5L*HlDJa1eX z+6{3MKryRKzy%4&j!tW~8Lktz6^IVHp0+dew2F46CEKeoJ4);y+8kg$6_86R7CO$G zP^SHOwP)$MZ2ei|!U6mqJc%s*y^=-yd9JbPi? fJ;=*L!T4`(>p<~i{f8*B z!|n$Sz&@kt4*?+Lnp&E@My&X3o7up#Mfa^JaR?P~X#W{q*yPq_sXK)1z|FoCsc~t^ z)~SZAH3?b3oTj+Vsy`uALjY@0#Gy|3Ky^|&Vh3-8o@-K`k7^QnlL5 ao7n3_eQ^&zm=l4G)_nW8Rh#DBcbI%^B+;Vif1o}0JWmdq&Y-Is#xi+D za_4|5cFeWL 5$@+HQV3h;@+XPXYvNQRHjGwKd?H<$;r z1NF77Z9k?HD}K0k-#5PEcmEz&2N>>qA+Or>R01){kqoR|8LppwfgaE;#I1qDI zkAcZ->mOK{(MtUiJQ2kQ8{A141~afj^YGYchzUWZVMn;4*n(vpNqj|i)&E^0Zoh=2 zPu>s(s J)Rz=4})j00ac=1AWu{IWYD^9LiX@r@Fu7`P=@vx zWbCw|uM *o@S91CO~F9o6 !pEV~k=zLAtTWr3(n z^MR`qwygg#A3p)I0{FBWNX^2v5(@BXq;Pk3)up1nY<3T~kV(GDJV+!bwB}9c&CCv8 znf0e+EA?M(%Gd6sy`?$__#!91>}c_0e$Wega|r#9n*P5R8vKZ_H!hL Z*EimLg_w_QFX9g;(1}0fi7+-Vb_>{lrXTtzTqmK$g*M9g$pW0F8 zWMA34yXoik_F=IRDW_jwo1@o>s;>%oKBP998$}OnVvD)>ylvi>`|CyQCQj=D<{tgn znO`o==7r;R4o>|1UJm?ST^=`^-~-fD8;{6eFK`sGQ&(P&;UkvD?}t3=NL~tRMy^@g zON~Blq~^>HoT||hvplXcB7QeKqp(>ecX>bkMj?G4T>#t6Y)^#K7TZv$l}^pYQ`Wpi zxNNGwP&H{;`@Wp$C3 q*)M zecokj2ov)_J}A8Vej `s&Sfg X|o7kVIA5|y|l(tGe+@ctZ!z2C5&;I}XPw@Bt6rM*`x &_zZIb@XjO$`--~%gA?b2aH|<}7*L7VCSH_NgR5~$zh6JKOTp5 zX{wYkfl@xCIOxy?tMlkRMahB0 lnkJ-* tselE{i#k-Npu3q9WzYvl`mDCRq~tl(B0H+s3n_^5eELV7Y)ysNx) z8) &y vpW|e!-*IY3+X+C9JxprDwF)qQ*Q_^H }WG^t8U2Rf^W(_kcI##SZEg JvIBf7n8n^*+rvmGFu~TUF%@;%z>$Dk z+ZC!S5`KF@i>5ItuH7J}_mxL;FFSA~FEoPJ@Juh}*m3CaohYI3q#*dH!_L 55TNeg&fqfWyZ45Sq4I;Hj2Je&A7S@YiQ4;8$!SrBQ| W8ut$&1OXoHs}e6=~JJa|a(?F?86AWI71#g&2GrZZ)7^r!}#ou!(It$@DYR=7e{U z)E(b^IwM#wCSl_(xZH{mHwTqqSuY3i{qqvt;fP1fyLXtE0#Z%>h1tNa=#paqXO zMStGhysP3^0#t+(o`3R&@vCzW2^j~AY*N%C_;|GCzI|}KFjBv_H>S5Qg4_37Rz>0m z`*x4X_)lYW(_O0e x5~GW9nJ`&^^Gco$%q`pe_oSmai>iX}UkkkW`21LVa6e7EL| z_x`uCl(yTsD`yaiZrVP^xmfkGTm6;n{uxHDF)2}O^bZ!1ImbKU$mLAji_Od*FAT8_ z%S0Mu(M)cLoY`Vz5~;d `lQ2`*-?em$^_6{ z{BAqw54%q}byF1Y-&tTabSv?Obfy6K(cwFuH@@-!*!|#M6h2BaP(-l+70qE!YZ$Hn ztD6qAUZiH*>E$o7oL?F0{(NX2b$H?6^ovLJ0HzMYjuB31V4LMuf?qQ}eP`WK(o9%S zr6;_s3nOL?C?GHeRYg*YY&xW|2;#1`SbYC$I))J-N0%l9um)rqyO2J7?Iw6mZylP8 z&gkk0$jSQVr-;F7vE5o#D12vq!#~w{D*r9h&VEz&=-{Qt6ZemTT}(2}$>}L2I9{BD zU;gYXhiK?4>b5<<@P+y`xIwDbRN%MTZ#BWcdKkPlzK)o62_~bGY7_RKNho`ach+qr z1N?RUbvf%Ot5Ezr#7E)ZbsDi5d=HuG7pM}bG9Eq5wGzuv`*4kTU8-YnL_O~JypMpS zzg`e>4AVj661U9V+2lj#Y?&KI?Rk#ZpAYn+{Os cTe^DEvL<#JgK;3oT5{>_bn>(EqGfcOwZTF}Oumg%E81pk$ zxOJSRqU(-fJ779S5H(dLHDsf^<^Jii1Q!SR0FK!bd9fA8`t$&12lbNnb|48YI?%VG zWB8x@N=7R4N=(AZ1OS9w4>tZ!&M_~Nb7|Jb%HVCY4Z>{ckB`TkT%P6zKX(#IoV7D5 z-m2xk*@iZXg=p;jb)_fh_#o`4PD^s&R0M$e >&Gr6*A0@7w$O%M%Sc`j}!gj`8BG=`3Yy)I}%t5p6)_ z8eo7f^{XJvM!ZaalQ=b7OoSAbNjRN2G6#OnieDj~=Spw)>tsmW@u#cV) @;chh;&J_~MIN)3Gw5%})`UUc_l-D3_9{)t?blZ< z%i>3ViAowHYP0n7`0_=JItd+ww3~e^1R6Y!Y>W2yQ*;Z@b$qYvbpyVLWQQkTSlK3^ zNsm&~evWjRD$Rjn7--^SC@ =II#$Rkwv&4dH#FGH*r-0x*GHWpk8>we*kVf2l37fE2Z9HTd4! zO#9^1R~~wg-|0(UZ=wq7whq?W3f|b~1ji{umTUZHrFNjwVZNQ&)^s^9jNO!TvstaR z_uM0odJ$RmqPFWxPVvza(=8^Ff9ryibPd9F4=0>FiuYdvh}2e_51t0kc2Pphi9L(6 zubM>k+VX{WUM5Kg+ve{gT ?Oh#f13492q9O>+!RWWP~^+w3|hhBP3atz8brm ze&jKVGKnEoQwQX9vFH#s=;$5|Ah8Wm533~UXYHtyw{`w1gKEi{al0;@)ay zL^k(27g@s@T;(u)AIx8_&!3I#6weCa$7P1gSG6+fN*hp#nTtVHD$yFbb=7YPgJQoq zm}-Hq5q>$me ;#ALp$y>~BJQ zYtwMw!$9dkv3HHqV=k|%d%tEK!)0G*%}0j`_a(F&cz!$uXM1a7>M `4zG2g|3 zy11z+Ls(=NKLdxIn$(^nsYq0#gX)e? #|dL*2g!XumiSHY z8-LyL>l^;ReO}O)M{Gn9ymzk|DQOJ>e7ugw)DK-MzDL{YC2w!8{mM;5Jz_%6FfcIx zj}f|l8*?$GB7c2QZ)LK5zj5vE;Ff Edou~2RtvVAD^#L|xAr$?RH z3R&>;TmSko-WuJIiL`Tt>`v}= pogO)S-yM?fU!`qHuMhQuFt6WM+>}N`L~`FI &QI%UIV*~!n~hz&ekZp_<84$faXjH?c%$o}{f+W(=$gTD zR;*FOcH>bgZjX$|MYoc}LuxIJQWS{auFYF8{ZBjfG;0=YH;UbXoj;Hr&siI#;RY%r zMQGYNqhpTMxfk{fmd+iN_{}HKBEP_u#Tmb>-rcg}%2sKb*G>D9Yrj>gXe*Q= DKK> z5qo=RZU^3fu1R4reUDSZk5C`{^=It%3@skgAS*~;K+I1%LXY7t@#kgMP7|IxbKU0! zsp6%9Tpk+5i&XP~` 6zg(-}~7Ke~jnBLhEsU+wc)nh>4{3US# zB54zB({*Nq+}M0Y4j)84@AubZ(oD2d-FWYQ_-b|+Ow24FudV;X)meqL^@QC%K!M^E zcS yz42)-LRkDNu>{kQB#|Dj20H8FS{Nx~XgoT#`CkkxyhoP8qHH%xNj?dUj2A z8KIhTOnNf;uGHh_r6C8G7937FH@ewi9^)6O@`e z(p{Dljc-+dxdn};4}<<7urGZoWOvh;@&NgvjBs!yY2L_^CQ7MKMKs`e=x@N}$7i&> z?@c tE2CQ+5cJADh) l+yN ze-qw-a;#Lw49@+k^Dy1Z2d0((*$|fTVW#frCFgH@zpXOK+lWw_n|02)_Vu|l1$;yl z?9i04p>zw~%Hhqf{p}wj?^iOsl6rx#z9YQlQY#(jO%#cPa9Rfrk-+ke{j >z$~ku8Y(QSbuUHjhEMuTXbZJC< z#dUPw@gKIwGl%z)u=vQpcLAGt)SH%T`ReUI{B}Ka1wYl>*q?jszdH@tyWJM!i{ogN z$1*Qbo6;LJZ&<~vC&hD?;tQ7O^fH1N +QdmzCG4uI)MM($K zTwDACACSA=y01K8;ooqvszD&MGtjuhH7AsL1OvB8xO DK$+s_@4o;E=TThJJlzm24;e(cE*(yW@7y#w$4ib?rjS|4S` zS6owyzU~Sgz%_A3fhpG>y6$Zk^~CpQ*L*5Ll>l%8q?so&6tKknq2v?kf;+V^z4Os% zv#Q^m_r?bNwZpw+cUS>#3>;~`GW{xlICiX`c V7Rxz#tH_OM%*D9JOrOiI?aX2m`pY%)%+(gQB_Q)>XALfK}n2AYp $j>kxc z=1+*ne6lFzu000X_)J#8V0EFY+3+LR%Kexxy3J+fTC%83q`CRip14?`$sr=SFak@x z3A5oi#6u$e? 30(`-refP+VHwwFe0y{`S70RXZBm*!S*eO+JyPM+ zSCpzA7PDo=2RQpu?v2&J$J1Fb5;yBHAs$YP8`;Wq+c#Nbw7S6ko;4Sg;=fMZ_XLA) zgE<3!Nx$A%6TsBUH%LR1>Er+ObmG^!)3ZGaHVRl{KiUoW0L=CZ3MJ-I4)Mm#UoRmK zWeOPh7W0PXiw=8 YeYl)4K5$vOkQ29MR9EutqLV^DNqho=k`SJN~TQJW!rB!)Wm z1n#6=2G8=q78#aOh!u%~_Q3qCaH95-yzmRqg4Jp TNyD;S5GS( zVzmG;8{nbxbjt!RH??{DA(t-f#0i`EjxHafy>RN*cRMS;Ng<^pO7!Q3Q~4Y7Y;f!< z`jWQXja%bJ&21B8Yy~}^P2?Cjg~?*63GY#{MGzJ4%o}a2@Z{{ ^?SnVex#gucT~f=(mfXR0M7M*o7IYbh4XmJ-=miJ+INZ8iRIzjg zCjzG4PGqMTGlRFxuwHkE454Us&BCo7(57|Ephv!_!>%3ZGj8-$e5*4uy8925PH}BA z@7ZsS+tfs#8dV8Kb94MHxDD9!iIVXFFqPm}Vf3-MreH#+3rK5n*LM=>)3m;`k7+R5 zqeqalozNE?V~)58l-}O$33i`FBR3I!mdiN~798QbR5YQ px`8P%`@`NTPfk>C{%i|%QI@w^XO82GxT>`4!Em6L$vc%L(DITe=J!1r zMR-&_9^L>#eAMj`dGb86mOYFUQa*W<1E};v3@gpOk=x5bx5e|&+ERvde#<4Ts}R1F zA8g-f0dMFY%yKs90tV-znI;^6&OY)X;^l{99p++IXRQAg1707XwAB0l8Jy!F-{=xK z1b$7aOAd%=FU}Js&^#ti?jxG Pets7G$&N@cN+avU9tv8FMU?&|G |I+B!a7S_#y)zRr2wyU z_lBb$h26C5#;1|Yx%oF5sHa*nB6UXoHlAQ@mEw1lxgA`4!65RAbgR~tQGfax1z`Tu zKZoJqImp;m={2LhE@kbB^#{PgCptm5vBY`-a|!0W~$M(qH?yPy2&Pb7YQ z%;4?Dv3shmO4WyN$m0M?lH`sQNOjkC4XqCJL}%&8Lj@SnjA{9A?_sGQGWz90Fr|P3 zazzX4COhz>Lf`_XE=!+moQvwD4&+{CCOp <$6Gryp>5QkNu$;N4REiBSRNs^ _$ TmSZS&sdT7Qp?`D$OBWt6#E`Ekb$Bquv=wto{}cAqXCB1+nXl8c zOV|KnHa#mqKDQip5AJ*A{EkoAVW_AO1D4}2u0r}OK;e(+f_}){ygOQcHB&N*Wp?Z< z6^mPw0)PU!PtZJ_Ef1~5R{$XY`NL tQj@P~8>myY(}$rKAaBH$@x#cZ z>Yk79SqXD8Iqy5lPh-ZPJ4$&stGFqG$EPftUzJ3xjipDF06d2yd2(XHy3SOGyLabM zrZKEGXELA^U2p9E5rM3L!V6u+e+=JiqEj5F2TIRppWz|}(zk&h*%~OYcZ1GIjyz}N z0hVipzc+lTaR%@o#6YeuPAwMk0NP^5@>UPQm0|#%7w7k(=CE!J*_-ver|XJG1UEgO z5BT}lpw*Vv*mFyBPy;W+A$<^G%SUKq&Ex9T>$`{*R@gx{!LxJa+}c(2b7-afXKNai z-e l@~%ng zC&3_SOx^q#<-b5n=r0 hAb#g;jqkT3`DY0w~WRwnNo& zqLZRDB>kDinc9zmiyl5_bzLM2F7BDd)ycc9I;eSU+x|ClVd55z>*A$7xA$_|a)MY> zA4mNhsIo>%yxjKU$EXYK#f^E($q3_&;Zo${Dcy!XGCc!mDr6ISn_P!O;Fx23Gv;;c z!4%J;CT`bE8(DCLmO?V%YD G%S@@2d5)UGk$rgT-u5tT2 ze|OCO!r 7b4`-cg``v~70%v=tp9bsy;g0ZXT1on73O|f WdG6x0hfYpdML%8_!WdjWxg)vSJi0}pC zlx>=jigYA#PFCXLvg2>B{(`R?Gxp^g`nJK%+10Bq&$h)A$V~I;hYNqe&v2;_N)MeA z3_`fqCi-BqR2Crr_VS5FOteZ{wI%a(*YE;u_(0~IdJ%~W$Som=bE0|7H#Y0a=D7Sk ztBj?%v%Fj%E8KwDJ}fcXUV{o?^M4Q2QoR=Z&r1qII;QM;X?%<~K7*^2!ju*8-5TMk zls#FyIOu3Tqaxe lS{ctC5W8-+$TP&e*U^VtGt3tu_V;>+y{2{- zvTw=VJL>uaECBsaazh6Zjmwy!<%@*rn;9^rhwWfXlkm~slX<%2)r+xEXVs|t8tEZD zIJ(o)IIqXStw&gu?L%cJzBJiLE9=ceo5_lK98~OKqi?NKPBB39Il-y`8f)OheFm{= ztj&El*qgC43VjQ1!+S@LSLpx%6=Xf~19bQ_QF^?`Co1ymh8%)rMjRrJRGYs28U7P2 z>#6F=rJ1T(C1sTL&rh!2>7O~vfI^<_{Ey3xOZw<0G1Hq4W+#hwcVDyas4e(DEg&I4 zjTE%l1&>xAFxT^TlPKre_Iiv^7# @<_#BKQv zcz4da08xndR~w}Iq+^d9cBK~i;urgPaRYldBY_TL8>lz^W=E{MUI`%?;-m(X?|S3@ zA-omS3veH2Y9HuljWdi}0|gl#^1{ny(kO^T&;jB7xiqh5=Lc^8suS-_BtLqfA(J!0 zrq)6)W0Q-}ltP^5IetlsUe|tbe;-E4cKA_nb(mM-t*@)aEmp$-t*z5vpJNYt&elym zGp^9Y428iDAQ}k&qV slk tI!vom1scv8#_s6iCBQ84rTCz z SuhbpI_n^TIo;Z{)SThDqLOuIPlH1o=#vcXR71NHS<`Gdw%1GF(=EUCfV z1* eXY9nVilO(4M0Dy7X?E=KI_(T*PBDneFq5P YpaNatn-+ z#p#RD2V1K7z!$t^2UX9h5R0SyMQ13LJ1RJFm>l_YOTHeu9>rsgIzFxb>7BeMBH|U) z_SN|Px}F&UI(+~(ZtFRT+Q1-5ClZ1q@!rr2b9v_Djyj(L<*$d5C8*|a{%H2+Hvuf} z6|ncLeOn2KhJPakNsr4~cKcmgLPY%mB7Ox2qr&Q|U;Pvuhx4K)q_T)QgZcB@MLdSI zZ{=~^Z8pfK+saibti%Pner)iN@rruVmQU##;Q~&)1sET0%)|lnaWiFr&d?T)8XlG9 z8r_Lgoctv;ed&56Oam35gT1I&71<&kbGp)=FMQHhRG}%&C%@TAT{Y~xER8CX>F8As zQ~@?k&y|6qP0m$frfrb*1MYMx*cvHm0ebGgO7z%x=U8+-t*yk39;<2^<)sY4a*f4- zLAAZHokY^2;k ~Ln=8u~Z@ICDucwJ2>wq%DPAaL@p%hvPmBy8mi2kI(l z&b!oA=4VU+5t}E1BODJfMV`}Io9HuWR$n`smoZSHux=ckXn|278Ghe#kFOnmmoDnv z)%4Ek2l3KvwkPQntEF4X&!pWK&Ehrg(=Ro1-ZAjU;+x0SQ14oOz9r!6qstH{641x= ztN!Qbvp|aV+pm5#B5XfIGDKq4EyXk=r~Zw=y0)y vX(`Q zxdCdk)ed*YUM5dkIHgdH86{kS9y;^!{$aNoK0=TB#{tUM)ya}{QP-ig8PGhdyArt$ z*1bybnv`uW#%get`CJ6!M54jEehXvqMOe||`i}b-z&;hU(dXAX!jw&H!`Lm$Q<%`s zHDcsZP**W(05S)&X0;s)+gpds4J}lY3!A8V$|bdcfak|S1+#sd75ws*+n^r3$*p~n z=MX-piS&l6WwjxkA=TEU8jd_?-c?>BSIomSeUKKkM3LR|1PPIvAQcs;Gz@)((0E*7 zq|+e3t$NXbN9`trEOYtkUIi >O- Ef zPp*y;fH==d)d#giC3eM3JH}V0-P{;Bn8sE@A>_Z8Vh^y-4^lasM|nu%%Zwla #WNCd pg0@f5PmS@W*%Mt zEYgZfu@kVkR%XCJFvoK#Z~w~<`&w8*S?2J`Ic x6}_GVzPi_mTCY9D>s9gyxu z_rG9hu?f%9Xi0^|IGx4dLNmlo0mklh+ugF^aJ513m~mlqq>G)=J>t_y{`lm>$jOxQ ztcvQrM+Rk(dp6@snLI-UMRF8Y%w2Yy(g))#0{TmAq`y1+F5Zt`BQX!pf5*k3gwOc< zE%nQS70~AkKY^NE48%1j5+MiQ6CH(jn~&Vvd~ex$igWeNNjMGVuV9$qc=nURG1m8g z-ryPIZjOo;{MpogVEW9+5I5;$asziN8vyfTjy=+qxK`2v7CSC%^m9okLdEBAM`R vI+C8S z*Q2cc@*7>N+28Wx*&Be*zaqd;0!*=*0>9pTIs2Fj;3?$jOfNKuO6WY)S2lBt*LBl~ z+HlKk3;KZ1x>F$Ov52KH%I(010m^--oBGNJOaz*Ea^N3y^}GUsB^67=(`ISy
)B0x)2=Kz9BU>A!zT6U!u}^TSFiBJTM%jh*I4CkyJO zXl4?Yu7bgbFK9tV EbkRBiW7m>-& `Apb} zAS)~ZVQk=bjUVsa7sc&^ s^A;Bb8#=>c=B|3&AYr#6qe&KQI8IwLz6=62B{_>}|_+u~zy*#GgDBu2t zp*1*s^sU@6$TfEN!W_cMu!8>rTh+-_!h7-4$-=*Cz%?y7au@>D=6@IGbcB`4m$N8c zcW}mS8{)S$Vq6~Qq+a>vpe5n+!E #G0Od99Z{`dabB1qxv3!JHRwXtj`;PU?*IjEO4*$9-c6 zetJJLR-!VBGT$|WD`V&VrS{ P zNm{qkZ_ffLWP5rDg66gV@EU-wjwbU)y5fV--0iE-P1ea&N`0~FZ{J;OO7K6OOiZ(~ z*IJ0Sq~ZvdDVlE-LoQph8-#rgr#!S%%uWOez_st5iF^7oZtIS(B&E~X2vpqPt{Bi9 z>z)EynKNfg3jc2BHkdQ%+!;l#hKIbC>zv((M9MvoVZi|m#}I0BQIx sj}Upw?!T<-_Bya$ z^slA{L7L{RH*{00T=hpY8I$*Kpp4`%nLlz?RzLOMeI=}oF$K%Mb<_AW_$)dt9agoQ zXmh7m(e4={QVBEdS2Pn5F_PVNoc0DRwfy*mIn=yB_i{PpnmB>1YHhw=XM_ksL`-`3 z=D}zG#k8m=)##VNb>T1&=HOX<+|r<^Nvp%S_-8hPa_*bAac-7wg`23bS8&HnNO&W} zO5;oPz)05-%ODe$#mnEMm^bgJgwW!~9ZFDv53pB@fcz0eTdH{yH_2~b6GC^0y(X1R zSv=A(4H#37zeVl{C922rsJ9icg(&rb?yAU3v~2$|W7&Jv2e~!x$2Cx$RCKu=V-)kG z{z*SBk!s#Z)|&>)bJ*osQOC-X#D%rN0c?3(m;8_er6n)04b^w63=;qY2fKx1|H|5N zI(+5N^eVc!3NS&95d3m!q%z795qI?KUESQ7=k$q*bm!m9)meP`&<>?;juQB|7iq)Y zXy&_VQZc@Ct92AhtxvTdI?&ZoDOffA?6r3w1SdC4qkT|!&soe~QAt$-i@@?L(>)n? zqcDs6(`C>kGqhQGI_nB>dj6eZP+r>yxBJ8Dj}=b6p1%7pL|Y#z{?dN33Pc^k{&;Gs z5lid7=>+5p<(o*Yj S*vw%od3w&V)706Nqm|`_rXLFce@+LyI!97&(nR^Y zV`IG`UZk<~^zH_w(U~7mmm1E8>krt)4S=WVB#7S)J3%0lh75d&i>3tnl4Ko4P)%X# zVP{9P*`?s6g~*Zu%BMa2mgfVxGV>Ld>&gLJ-UMeBu57(5J-87e?{cJ$Fuml1G0>Mb z{|AH1T>a(W*jo9}0Bap!FkMe~pSbnIVsD(+O}ScyDC@*O0DzoMs`lO(_C8YlOOP9D zF*oh9e~`{3!tGs?@)Hp_*qzRccF+kH!U;y;uTB(qiqm{qKPv(Qc*s2LVT* NgCUkQK0al4G)Cm5XX#r4P^GiSPpr2Wr9y8-a*hOe-H7 zxPtbI===RYG}{h?7r8I#$#P$U8xe)hM9&lG$r0ho)2c-2g~^LjSZgg!PR88KyyNzf zj*bqIs`Vx2IxadcvR7`A_yW)t+gUNbH{*dUrtl;GLHT4G(XRRxeRqvXowz>`dgK5O zVj4WJ{c0kvU{1i<3j?ya=)#j4s9>$?$#SN&Sp`5atxbjv?iRfvU{}f6a2)TVQmJ0a znJ&uoppH}{V+!IA!k~X8a@n&6dmAE%tU|CbZn#gY;MX}x-$wj1BIE%*yOwLOGHn{C zdJ+Av=qBPrZ1+dXcc|?C8)TrS4Oj;Q;EWaMB~l?&5)Ka0fvuY5#sUx!?zLoY)r<*m zTUF%yTsUf7(g;urPiV+dJQ97bpS=pv$V1l(jb%_Ve9j0am*M`ek7pyS!fJd8#9yMo zjj!VIM)~BWx3ar$PMX?RzFqkYlVh3O{XplD58bb1NSyS~zlo33AP~6>Zd8=Qr}6=- zkq0jw^bcPaBghA ZF~UX!?XiEHPcTvu)E8J zV@bp(HvQ!esH(vpS&EWIq(<}p$+*Ps)u^rLYb{7jNZf__;wEwDC3&+)!#JqWUhZKO z#(8KF?aB`YYb7m%%g}#Lu2o*grRj_Qyu|oD!DF2ljETNV;hOQOFoJ!FZ(`x4W@N6E zK~3iX@s7;; 7FZ$}HW|h%5B)lF+EUG`&R~n`1 ztWOBCfdeWw8#0#+<13tCkDxw5n?{h?5z-Vh$jlm}FCLP cAP)co|U=i`YOQ4;)y!ew-Bbc?8TK-8XK@_gCDkvN>_(K`@L)1N2&f+f+O zV7$zItBcVHPXZL%rr*CZjFK#t27}%W`HkXY; 7&n$`Puuuu&|G^WgzB$UXr{SQrl`Cfa%UuhVaBM36 zfctXpwb^}2TH~;%Nsnl_5UVJ&&*rAzoX`eBpb!fZ9ioj*a>{=kB}PkwmN2?zZvHQn zUk}{mpxl9;&}Tu2y?Z*8lU+Q#*jW`$Z|? 93xCSl-?)HBZQ0e#~jD7lTjarkqv_TK%_aZtl@ zMHYx)M<3g)k4s%MG(_-)^> }YdMCNB@L_+i1^t3etU>Ye(`XYRc%4qw;YwSQcjEo@9UVbW!ECSfWl znyyu+s1|38-daniyNR|RiA}Bf8%<9XJ(z6G4yzvLmhr `NT9Y4N z_xsE47mW9L@r>VKp-s-u)uJqNEU#a`{_kcd{!m-?iQj0%2Y*(>`vaSyEKTiU4 z0u|7omqnOAKJphhNX&sZEmZ4m9!I(C6#6JMLW83(JTqrDjmS4zA0`i+tqB+&y3-@w z;*k~Y8haChQyOk=5_P5}(L(^4@74=SaGU-6M|7lTGVg zm40UD?H6<5ENCc)sY|!hkag UK};wLu#kNL zQ8iN2*qrNau(m07C9K=Vnga6;Vb_kDlRmBfI-=2Xe(1FBOQFp*#H_qkg*YxzUHemO zb$^POw6W-1n6r@W+t)-!83}<-a%wcF 81tn7 z0;JW3sDS%*t7&s|mLfb*PJos)lDG~=i*dpY1zmjiAgzIUt|&$^^`tX&R1h2D0{S-h zN6~=#_G&@#Yuu49wc>dq7^hLgam&j9jeHUmfowofh=lhmuXnUes9?Yxgc2}z$P2J} z9#W~x)tutqn*YwafC5+!@#9SQD&{U}3z=Uq0f6WTh%Lt~$LIjNvX1;LK0M)|OSg6n zRDj^iIqp^0|HsBJ{`!wG;eG~FOx#){2gfpfLX?yrFl9|a^MM*3Ly?M$1>*g)MKQ+K zDk@1%bI&Ak->|3VmWcwBg`h$T%PWpu_)wLYimdFdT?Y^GWo&nM@5Dczb=$0AdiE*2 zDRoTayF0`MZSyWqe?#_xB3*yI1AQAZ9c`%>s@L9(K19(P;Hv_Y;T25!+vXHD=8{)d z<(d@NzVy=CDVnc%ml22pP&{pw-}e5{stbadM#@w~dcA7Q+)8cX^w P)j(^`VkKb zNmq#GvjIa~yA-p}NeJVCfoHU+<+TeJBEZ7GVQ~$nR1byRm*yW9BGoI+_toN$telpa z?`>{tQ9ep%l#kpE7f;jVT34QmGC){gqzgHcuh#h--o`DW6hH4;^KrcnIl8Okc43#Z z9j-8A7cIMl&;ocqm(}U{rWu+aEK4yK#O`J#2{AHA@P}eGFH5A3dhMuwwlQAOWR-eR zlS*ZtLQEzqa