From cc1236d4b54e569692bd7ee35fd5cfd057d8db64 Mon Sep 17 00:00:00 2001 From: Kuingsmile <96409857+Kuingsmile@users.noreply.github.com> Date: Tue, 27 Jan 2026 16:45:00 +0800 Subject: [PATCH] :pencil: Docs(custom): update docs with new image --- README.md | 6 ++++-- README_cn.md | 15 +++++++++------ imgs/anime.webp | Bin 482782 -> 236680 bytes imgs/cloud_storage.png | Bin 8814786 -> 0 bytes imgs/cloud_storage.webp | Bin 0 -> 56398 bytes imgs/dark.webp | Bin 53638 -> 33172 bytes imgs/gallery.webp | Bin 1166954 -> 455946 bytes imgs/image_editing.png | Bin 8814786 -> 0 bytes imgs/image_editing.webp | Bin 0 -> 38742 bytes imgs/settings.png | Bin 8814786 -> 0 bytes imgs/settings.webp | Bin 0 -> 276098 bytes 11 files changed, 13 insertions(+), 8 deletions(-) delete mode 100644 imgs/cloud_storage.png create mode 100644 imgs/cloud_storage.webp delete mode 100644 imgs/image_editing.png create mode 100644 imgs/image_editing.webp delete mode 100644 imgs/settings.png create mode 100644 imgs/settings.webp diff --git a/README.md b/README.md index 3d482508..8fb8007e 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,7 @@ ## 📖 Introduction -**PicList** is an efficient cloud storage and image hosting management tool built upon the foundation of PicGo. It retains all the original features while adding comprehensive cloud storage management capabilities. +**PicList** is an efficient cloud storage and image hosting management tool built upon the foundation of PicGo. It retains all the features of PicGo while adding comprehensive cloud storage management capabilities, various practical functions, and a brand-new lightweight scripting system. Whether you need to organize your cloud files, sync markdown images, or manage multiple storage platforms effortlessly, PicList is designed to streamline your workflow with a beautiful interface and robust plugin system. @@ -47,6 +47,8 @@ Whether you need to organize your cloud files, sync markdown images, or manage m - **📂 comprehensive Cloud Management**: Browse, search, cloud-delete, and batch rename files in your cloud storage. - **🔄 Advanced Sync**: Cloud-sync album deletion and configuration/gallery synchronization across multiple devices (via WebDAV/Git). - **🎨 Built-in Image Tools**: Watermark, compress, scale, rotate, and format conversion out of the box, controllable at individual image bed level. +- **📝 Scripting System**: Customize lifecycle scripts to meet advanced user needs without requiring a `node` environment. +- **🌈 Theme Support**: Multiple built-in themes, theme repository [PicList ThemeHub](https://github.com/Kuingsmile/piclist-themeHub), also supports custom themes and backgrounds. - **🔌 Wide Compatibility**: Compatible with **Typora**, **Obsidian**, and most existing PicGo plugins. - **🛠️ Power User Features**: Regex-based batch renaming, upload queues, local/sftp hosting, and more. - **🌐 Web & Mobile**: Support for form uploads and integration with the mobile app **PicHoro**. @@ -148,7 +150,7 @@ PicList supports a wide range of storage providers. | **Local File System** | ✅ | ✅ | | **Lsky Pro / Doge Cloud** | ✅ | ✅ | -*Note: Custom API platforms do not support cloud management features.* +*Note: The cloud delete feature for custom API image hosts requires implementation via PicList's scripting system based on the specific API.* ## 🚀 Development diff --git a/README_cn.md b/README_cn.md index 6a1087ba..b5dfd419 100644 --- a/README_cn.md +++ b/README_cn.md @@ -38,15 +38,17 @@ ## 📖 简介 -**PicList** 是一款高效的云存储和图床平台管理工具,基于 PicGo 深度二次开发。它保留了 PicGo 的所有功能,同时新增了全面的云存储管理能力。 +**PicList** 是一款高效的云存储和图床平台管理工具,基于 PicGo 深度二次开发。它保留了 PicGo 的所有功能,同时新增了全面的云存储管理能力和多种实用功能以及全新的轻量化脚本系统。 -无论你是需要整理云端文件、同步 Markdown 图片,还是轻松管理多个存储平台,PicList 都能通过其美观的界面和强大的插件系统,简化你的工作流程。 +无论你是需要整理云端文件、同步 Markdown 图片,还是轻松管理多个存储平台,PicList 都能通过其美观的界面和强大的插件/脚本系统,简化你的工作流程。 ## ✨ 特色功能 - **📂 全面的云存储管理**:支持在云端查看目录、搜索文件、批量操作以及使用正则表达式批量重命名。 - **🔄 高级同步功能**:支持相册云删除同步,以及通过 WebDAV/Git 在多台设备间同步软件配置/相册。 - **🎨 内置图像处理**:开箱即用的水印添加、图片压缩、缩放、旋转和格式转换功能,单图床粒度控制。 +- **📝 脚本系统**:支持自定义各生命周期脚本,满足高级用户的个性化需求,同时无需`node`环境。 +- **🌈 主题支持**:内置多种主题,主题仓库[PicList ThemeHub](https://github.com/Kuingsmile/piclist-themeHub),同时支持自定义主题和背景。 - **🔌 广泛的兼容性**:完美兼容 **Typora**、**Obsidian** 以及大多数现有的 PicGo 插件。 - **🛠️ 强大的实用工具**:支持上传队列、本地/SFTP 图床、预签名 URL 生成等。 - **🌐 全平台支持**:支持 Web 端表单上传,并可与移动端 APP **PicHoro** 配合使用。 @@ -70,14 +72,14 @@
![]() |
- ![]() |
+ ![]() |
![]() |
+ ![]() |
![]() |
![]() |
+ ![]() |
![]() |
Vdrs}hGf&Q%GdK#J*b&PPl!b%Gbk%Tw;6D$*>WW$$ zP4@hbJ1gDZ3?LG7)tiQ^tZvza>^3@>kqdTtYeU64Wh|}R-$ZZjH1_b^`*~CV2deBm zQ_5wp;|9OE^|7&3&BSNLKuO#P%RAS2|EFQtmSY2JDY7+lrvR3qq9=gwFJ3=rVaLAo zC?~iD#fF%E(-Y57C7FOD1<-`?Z0{K$+dD3A0g?@GM>}atI`wCiWj~DMyPoDBOG=l5mwW;SmOp6}40LD;9qG&T# z`fQ&|;P7uGT_j)Nw%ML~*AKR=wt-w~c2nVU= J#|YHo_LBS1EB{A*h7X*+Np~ z)Q5OM$TnFz-;5JJC@X?|txQCS9n+_Gi?g#WR9?6=J>kVyS7QH72;EnP+$i0}{Yn${ z!Gbpt*B;E^XDVn^-i|*Ou*0`-?u+x)8lxlS1kzVQWIz??^Y%8S_+MH?r94X6fIJ^b zoS4Ji5bCn1I*mn1JBN2SMa{Y#A9Rm+K?Z=v$(S@_+Xw|^r-MV^J!?yw@jgmz7 634*0jRDSDfZUrvVBIqXqWLy!5wOTEWkON5!&01K$hAOjWo!?Svx+{b=7KK`rA}X zg?-Ic=XOv_aL*2Xl^BvRe)!?f{ny=Z&s=rXOV3A}otKLqPYjn^SU?J8iz(I!Tjr+6 zq|S9>8Mn$3Sne$A3v5(ya1k@UMa^eBeBlc>B1BzCK`G5@X}~KrFBr$BW+~EASCQFS zAKEhfE3aA)aMkI1mj~jmDQc0$tV(zZ%`;fG5rupc_kP4DRyXnO-u;)~$QQr1T08UH zH1M9U;yk8=(1TMO$%PoID^L%VNV6bblBCq2#tDLmfxq{=$$(UmyMAFJT$AdkfWkzD zgR4_20DeG$zhl;}E7GW!Xo-}2>c+=b$N2yxVK*ed%!uI-jseB#7>)OAS8*yUDut#8 zlP2fRE(kRaFLatOF0mW_b@yM(aa|P}pknhgHQQD$3&pbo_kj~je@w+@ztGBD3&|e{ zWfD-w`bb@BZLZx`4tEo{no!h0i@5Eds)jp$>ZMdyRdL%;N*{A~NwnupdLmP`AI$Z5 zLTl~7b(Xha$pQbjBhNfJXo_1w5GfA26S$67;zlgP{|{?dZ 3j@W_ MBgX z1QR`2%~lc@_zVz(~026la_QXz=BJGp+7Bj6`R2FWs0`67-&GR#~?^8IL~E05o7M z%`*z5dB*MzG_kxvN{bjMdmGO7ma&E%0264l+w$SwxMlKD=ko*&S<5y&Qv(d?p`%d-Sjyis( zW 0q)2 RQ_-|6GO`%QoO3um5eZEzPzDJLY?(yQsLsj$T} z*D{a`X+j9WFf@o0Ac&y}5Gg^(aEQvK-Q+}?GSwZzl^M~~s5p4McgK*hOjUkR7RdoB z&E$yBJz3Ll0mmj)=OeTT)gYmvlnq&YL*Lx>*x=8e{rr i8n? Gx}n0th MqV^3 zv+uwJzO9(OsBo8mLO1gX=<+`6xT_gB(4JT9D-C#KXFR_YA2=Y-SpxjD)d&?$0}#wl z9vU2aV&&J}Ts-R^836_Cit|6Q36ZMRad%d0CCK>h69buGW6)!Mmj=RdJoTCv5CncF zc;ubQY+Y^47E)H?*GcN;`(Sd00D-)%7_}vt0Sd9~ZN{FcQ7s~RSf@J>TvCo2 tpuu$Cj~9AgYmKGeG+(|{bd7a^`Xw5f zYcZr!A#46(yPy2=r}z8Ta4TD)G+XspEvOPE-@;TnDLfHV!$Jw0e bj7I+aWC(r;*9MWt?1 WdzOPa1r0@J88aOY-HRLVeQedu4e}{`#}EGQ zH~giqf9g-~JL8yQ6kno*V~W7sC)Za;-@s$%LP!bFR1CB^2o4Rsh#TCA3?UZqA!ay6 zEgwOFBEpqKbO%_F@s3Y~N>hmn0nkM9L{5An!Z=eB>>2s_vrMH25VXjJYZEaeiQayY z`S4bAt^PG!q*7}QqaScZDj90+nZKC3!HL9@0PW7w_jET67wD>^oC#|7LM6{!iU1l) zflX$PeM4`|oG8ky)-E{$rHUJ !@_x5U(&s~Z}MnEPWx zNdy7HTP(%`BcZ#>1oy{{XTx6M2g3XQa#;kZs0OTItG@`JHD7mkioaq>27=Rxb==jA zXslQLr4-{WGpb5_x_up`h2YgYP}etA`xjf9&S+GoU%F|C<$ C6@YFV$&x` z!Is9hb|S-n@j?IedT1Rqq!@ySVBA!M{%89|zL*P?6q=wWX_ic#Fjy%pls3(b-4$Kt zdyPN*6D8twCzL!Jet}>3-f!k>pZgx){#-c2oIY0t(lv170TU9Z;I zsW1jM*uz!4fP4=i0gPq5hz!Q4NENnxA_7hOw!yO8Wq*Q-tY2rMgx(FwC+cQRR1I}k zytJn)%F~{J3szSge!mMS3|BSr;dJMclNPN>YosE3 m4HE>0y0Q5Pl#81j-%Os}+fFM!jy`2D1re*>J9m9wE3~if=7&RQX4VHlf>IIq* zTshZL;%QG%?TmAA`+32V190ce2JPb~2L>=FP3_hT-mMDJ6@ @=92yF2lirKkN)Z7)=S>c|+e<2;5{>R)(fy8P2-O je^RW@UInUovB?IO5`l6XE#UrgUV{(t7rzx?C( z?e)G$|NDzDnC+~`BLu1}Qe_J7VuBzP_{67$QMxGkrS?*4Ze+*LarmTfw}kK%85NtK z^30}%^^AxWm{nrlC&)FVt0biaTVkTt*tE$;z+tMLz0QZW49|bndT703y w^j2^Hazivr zGGVlk8|={sC9f rG?G!K9wC}^q>XM35 J_}PZg3WC@SQBp#Q4>xKd(RQ=af?8}k5@jv3C1&Q9G-VK)Q^&>$aOukz zYycyI0n=zGAi|Ic9fmX)Fa-E?L{W1J5%ms*%g7X0OmYgSOBgm~f-_Dr%sORcSWk;o z>%k$@tNwyZTdJ06F%Y@{rmV>t5-@^xQPbHI5lB^vqZE+LDO3nZ1zE9i&c)(|-nBi~ z!pD~B{_8dpue!`~q*Ffr+*{xEQ$I(rJOi1U6C=3>T>tniodrS<132v%p;4wxrdxx( z?2)_z3lc4%LB5#8i=YPDGLaD8D8ul4E3B|r*cDhSkufhD?(Co?hyXacv*<$i*4+We zyev4hvDPy3!vK&>)<6M=vR12R<(by5vWhA7W8)s6$(OD_-EkuxL2_1?0#O2lmM^9+ z*Udk-yX2AE8ox0$QAB1Gcp+8m**S*B%})~H wXZzjOF 1Gg@S^{HXiJ z>AfWyZ0yF^y>4UP^yF{o&}4~No*lr{_Tg;XH55W uQjXIM(e0ukwxHoN{y7`LX8_) zT7i|g^cmIw&~h=X+n1|lhNF)EqY<33^NdQovjOM@5pH)o>+LBfkV+2yd`V$T6hf~y z{fSYZGKB@1*b>6BSKtCaTUb%_V`l2Jg``vhZu&99bDHoJ0Fo3)V8K$}tIpZJ{iTWQ ze$4qT^YzA-$@crAUi96f{qh||!KF5e7-DIOv1Wx5Vt;&$FM$h!Kks zi)ypj*%+_7rIr&-mWbt9pa(+#7E*{vlzIS=`ra5hVV16M_OSgR^2)(U882``s2~E1 z^n~J2E##Ww6)n&~?dEhXn@?ubfyMRDy%N(QLS2V`#_kJojh0joo`eA5B;p8KLJ`+2 zRd8ql!lC29?nPX)r#0R|j$lEq6Zb}!MQ&=R)m%}k6X l3h=hT5d5}qUD*5 zdZY$8e6hLPM>*?53j+X>Q4DO#8tmPD{Q=|^Ot-VG%^`!3&v3jYx;H(vlZ~cpPI~&1 zjN_O@tZSFWIE_*0!J#+@ZaF_S;V(o)0m3fdC +eL88 zD7v}-Xp-zO03?T$^V!G?YIoyHyK>E7a6REn6AKyvpnY(8X+vxl!}b4j2F4xh&6*Km zy_=|!_?-bIxC0N&C?GUvDK(_h z#Ta8=EGGTTI~$8JT8uU~i*f2EeKZks*OT1!WVt)hWQkawxtO?5se!ke=j(Ahh0p`Q z>a|=i%pfT ^cbv$3&pDBA%p0hZb?< zhMa5Ca!4e)LnYwVWkd_DT{-TXXOPj$aYME9n~c)KyDJ1mEe$7%&rnaKS&82yM-H zF2{f9Om292S`&RZ|MC9Y-C+~5lOQYedg{L7g;(?IdYSdrQUx_a(jHIA$OvHcxQYg# zxauwFaYq!oc+t*~62e1Sk#8{{9wEpD0}(C-FrI({a)DZua-Hy4VM}02q0AP~1Dcv@ zLU7SG$^w!?h@k8elr@8*1kSAHHUMMEI5TmlvpG(Z7{~ymRd4Io7P0xPbIv*IL(hp! zXNiEW6>N{|z!;yMRJ>=Uf(BH~(BoV%`^*^QCg#Or;?Zc2p4qf1Uzle$ec_!)F-|c$ z2kqUQEM>Nqh~*gyOq@c$eY|h3M!pa#UhEh!z%tcBB$=9gz328MrvOtY;of~_;Q$1H zM@C!3(UVjQcGUp4os(_l0w*s57y87L5CZ~|XFk-!Uz3J3mhf?ZiTCIVoP7R5Z*=G) z0m(DZrF++xy6v27GZ) n$d;OZ@4|R~63IYpq7>2AY_3&3u*SyNu$usJ!J6Ya; zMra`l0J;Lyz*U82(cdX8kXU8?&IT4DfKLo(TXLs*0Zjv-gn8+LEYm!qWoZs7HlC)F zDVq`QToFj@8#cm@r-&t`BtO4x84#;8K_Pe%SK}7C^UCV{wl 7St(~%@ z@J`i ~WWRz Ku$y-&h(G~`g`$U|+rHm>e&<8z3Iw}( zmqNY(!$Q%y&}} w#9%^?fWiV8LC|m)m_(ekCj=KYinIWb@brAj2r`~qVp~|AqS&z=1m - zf< wBMSGqzFbgodF&Q^8s&OBIkP*pRP_Nn<38vy+!a+dTjF8Nn(}E(PQ&l^; zLCj5^Q2+$wnzb`-bgl)5Rt(@sw9Qa;8cn;{jd7C~i%$+4i_zlTY#aSE^X$ Bv<2V8mdISVN`QRoN(EQLJU?MJ_cE>Y+R0W5_)+O3d+6Cd}@!a;_TWGXo~ zxW9UXVsFc|W^Fd5Mh>mCX-r1=Tot$0WJUqHun+-75d`Mn@JHF%7e)ch+5&I@i C^leir(!8B1vx52rr})?p*y-9 zW;#tWmx~PP^w!8w4jYI(_pV{>DI%aItvG>Ec;{@TtrS`@3kXz-RXQUQwd*uuI zWY?Oo6fDmq?7*pkMnAdt+c!UZ zx#f6kFS*nT)L@1}G6V@tQp3*mYdMv|nfd~8_AWd$QnTU?zy%)MEZ|;r%>sCA{b~TP z2-i8~oHO!eUZ2XX43(gFT}#|Gqhq7b5pE?)&$e(irvO+b_*}jdxq%fZ;2lq3jV5MG zlI!7wGvia`(}1RC;ha}O_YG%l28}xDn|wimLWN~*TTr4Jw *w}}TO~I rTO*5%E{ zrcI2G;&yJ+qkPZhE_Nid_HuiE)>Y5XvUL_`nq6zM6gatq`qYSPf6VLeeYySm^9yOJ zxm8b2M5r{w8!5nKP%CqzuRnl{a EO~>wI-}m9N&Z-sEk` z9~d4ny>)+RyJmE3gwI_rdX^_Pvw)i8P71|gY-YTu1;iu;?A-PR3YGXsuvmNaJf{*& zTE7?|2qcCAJY_N0Sxo66*ijaqf@)rYQp^^ylzw nB6v7Y@k}qb9-SaLz2VT2aU;Xbz~Jk|{U?Y&R^ob?^~Dr=de(W1V($ zj$g2;f81}gBkAJhcGk|?Y~OQv){!yms{5@w !}9*?J#1wZXrN)33D WC{1?o+*v{H^*3LRIX6@g&lsR)Fxy-I5SS@gJ0x`P=!t3ml zd$;}iXWQ<*#}Bte#6XQjRZHTuAi`8q!|uP1AW>cm=I#(ZZS(K2lyjobaWp6ExYTNt z9BxplSquQLnZL^U^Q)^gtog|;Zo2|%)ZwkYxW+NwC=B7xnN2FV2LvI+_S8~Xjxknp zvoLL7mBTFJ009vssF|IHrUY25kQ3Ov61fEhEg0v}ppc3|=`3m2Ndy(IjELgDsUn~n z?y)q<5GqwysfmOrDy#nNQ231pXb~cgnj;`wUf1wBKS_u^1P_C(ENv1Sq4Zgm*J{20~m9h?QyqltD z!q2>*zjZ+gMO#nGdkybiF74}9yItG(FT8fe3D7|QfKtzd%2xT@%sv-KN*|G{_sr|I z&IAAz?ratSz4qF{0Km7oYPBc&%mxWfF@-rk2!#DJziPHsPJuXba~aVB9GXq_?sTWe zg~0l~d}Iv~T`+fd3VEbFCX=BtXdpCnn6OD(U#%Oxl?_%8^;qP86ghxl+BH^W0Cvb# zK(SB|GK||D9`U$iT#G)A-Z7dS;Ui?rhfT>7|D<+L{7<{w;Jnex4g2ym?Jj@Xbm@0m zvrE6ylDn~z4)*ybsSRoRjo0FIGxfu2*Zs@05|}xdVNd}SIyJ6Y>a`i|jX_UFRJRoy zJu$e>-a%0Y-Xuv^>H6}@uWkK4{|m2KK>&igaQz95*$Ep-=T#oYkUfMq+Eoi Wk66$MdDfOg zH*R+$^5}85-Pz-=_i^0*$_|g@$a}%y<;hSp-JI(tFMq-Y=V_xqVZ&a-%W0XW+vz9x z+Fe%Cy2^4lS_k{QqM+K+1E*P=Bw7+FZ7jzUx}`r`rWFPN0c K$yt<*kZto&%C2o4^Q z0+>EObpc0=@39k3d@R9|DCA^k1$L+goCF3<_%KY}1{+!ZZJE~G-4HijOAg%V{uNsZ z5U>KiC5sBR(b|qXyffZ;=iOTK_6OeearC&`jyrS%9WeOACgjN`*ZK0NU2fP<*x+k8 zZS<$@c0X;poYob^qq5wMm2|MrqtsHGe&Z|8)0 z>V`Zk0E!@JtzbbxSRkJnz`BfXl=hSue7AH^S$f~Ap@ZfH4bR&`0TYF;>8+_l;|0HX z+ydb;L=Gdzu8^&Iv_g``p1|9a6=yguWCY+w_~y lVrrMn){}7){@~d*_F7=k6bL?|x 2+D3ocYq tLTZNIIwYUF^=I+s7|CyVXA0O6tP7 zc&;lkI$l8#01A!ENXBbYPG=@ImRfo1r09YibMs(@tF$bAzWOcw)}MWx<+UeONdN-q z{`*1YqO8l4`HZ {dIB#`Wg<{9P-3J+2rNC!JqINPOq_Lqs#wy_tWyjUUMy| z8Jis{LkIi(NbSn~XXj4ldtygBI4Z*mRwBdA`mO|q!A$^)AWH;9@|x7>`NoLxXD7;g z5}x}a-sV<$`+ILP{K?cN2y5uaxA^YV8j9v!-j0PvS1!2DdeG-^3J}PB7IOhZ69&U) zR`B)YVU=~=v#$TQQa`-3gM3rF48RU}Ic7RPD$x>~D{p&|p264Kot7XRmARwk)nF?N z00e4@0->s&g2q?(Yg#qs)ygU-k zbshMWkK-ROWjqQ~&wd`Tw z6>n?+Dj PXM zTwY_lqO{h6zIG=m^iq9gkk5}J>AffKx#XkDy`?PXrVP^#*(w#KY^-)mx1B` K(EXA7~!G0(FV)|V?SPc8vB%gST}rX_}<}l77lmXfA@@Pq^h0(_nl+^;2D+5 zlUwx c#%5ilYBvzZ7!U@Sceer=Q+9};5Oqr=j0A(2W_y@z$a2$};$Q|Np(VKJ zCb~XTP^p;KSWSW=I7I9QgL!uqQ4l&cFie3_7{)E^#;v>?w_|@ddN*tCyS~CM9z!@@ z$50(9IwHc?hJ)7a$rHc9|L^n~{ LyN^31Z*8H$H@+|hbb!|?Mg!@jt=j>;G z;{KE6Y {hF2YPxQ^KY@Gl zwf*cGum`by66f#R!bkJ>MHhieWmocfz3px{KD%$!?U|le?6O-)Nd}M+th+r`(_8h> z3~gf%UMFtiP+1kh=bHJm`o4}`{8Lp=4lh2MKSCT4p$4Ery!jdoYlJN$+K!BL#_bM^ zLZX&jqCk|GKp+gFb;57Ld%wXa+lX6e=a9lXsgJ&e5mTj~Q`KEhz3 vrhV{23;ZP3CqzF{|9u=Pr)Za zzKNw&5_D9_CxPtbs=lbajigxEGm`g^EM B(T-@Ta4XXRoxEb{i#`P9whj@-zJ8~R$ElgbhlpYgtFRiE1JJ^aP@y42Swm3!!` z2VZ`5I@gM+0qF47JAQi?nyz`ay;pO+ey`?k+ijmcxle}LS-vfI4{@16ZCh$qo;{R& zFeHA_z&$;BZ*qYiG2b<^S}6UBRje}eMglG|R7b7sQFRn X5Do{wIX1Y7C+ll$!%nhm z9zXtRm7g}V*|!_`MzgJY>$1X0C7(n6x$kuE+uipc?q*@wj*2>+F5b*dKcWj=L6@HE zws96Mh;kwT6wmWx{o`$Q1=0un3@!fUBcB9`rE$sf+=1t*nj9@<03GOOV@GiALZ768 z*gLYqocYt}JjmQiK9-i0&8#dWR3T{OyYAWsgqv#7HS@c2W0w^>-<;nX^7u~mw@lub z+z5auu*+h5PSv1`1kuk-9A!CU9KU{-Do+xu&X;53^Ibol{rFPxMs3`-ZoZNaH5+t} zY~TC9e8ZhKtRWd2kW|M;*1X$fSYzfPxrq2~bG|nsoxZq%wsxtU*5p0>B3y~oM`}d# z0&y73QgfW#qj8E?q!8v*&h$Y)Qqn1X{oy0?Sn!$N0wWk;XUuLZjizuFQVMPhsk%Ex z7sD}K6I}sRC!QQG=M8eRT|WMaect=#G4~qud8p>om*SVsK1UK@I!SM9_>qU;k*(Zx zv_o>CB&4wYh-gZ20cI#TzCI6Ie#57B)z806dOS(5<^L(K{~qk+vZ_GsSg=^^aWTtt z;7ArLDMive4UnX1{<5#L6ySe`|4Rg*YaV%$XpRp=%c|yBAC{Hxn?@v1gSvj`EARdO z{`gGXmk-+qm&Kk^`RlC5RVz)kT7}Ycswl7 z>`+iGPV@OieCj zczr&tT27}+^xPTHtB1vgy2S;TtGn;q|MVP}wYqK1_Fitd*3>=JixaIB&p3s>{AAW2 zrDMhJA8&A}-Gvmj3@L?38!>_dASPpH4Mq0zhk>^hXc=l&h#RO~oY #oFv50(@!e>&L!dr}6kU3E3#mF{*v9p%>yWOlxTB$NPd53abr+XkT>k4n `Wg z;^eALqN{SiIq9Kf_)K$`zUh5vM) we?`>8|wydO&5mU z_r7~x-#y9!pg;F;=odX?t6ROohAqcRTv%Nbe0&sb6K4n+wc}hC^ -l1unU2%JJbt4r zX0{aqmvHXfxfnq#M0)5WT7e iR`I`zT$% zxH`J-!{Ll`+P}5`&dV~ql+kY `f)Hla-buLcYB zqhq2WKFS>kruZ5FQfBr#QZ%@bvE=gBGHw*;Ksqb1P0-SH8eiGW$n-&U^t0bu=BAHh z5qTbXGRCZ st8qj`}n{iFcH@!SvGirxYc8$x!RfxN>=A TI{Rg}2 zFofApbxwlf8Xe)kdC( C;k*gb;6aD?1+chk}Q6 z1H3ust_lsn*^E#lgrZ^kXf$QvrSW>5oQ$X({ajoeQUTWw`R0htPg3E@7@sgD4FTxF zR)4r0z(?!9kY2W%^IUHvKUKZD^UX@@v?|?@Yfe?zjqClvu2^q|$RhZZ{O#&mXWeo) zb{F5g*RF2caRR XWbb2C2`$82A0ivaaQvz%{VkZqb!uW zQx86T=lIrM0)=)HSSRbpnz1%8G+~`)*~smFE242Gjxn~+Ta86=mDjtsCHq6G2KE>b z8yt)#KtO