From 806369e498f83334c2e6d104a0c010e01a52d6fa Mon Sep 17 00:00:00 2001 From: IdleCloud <115537554+YILING0013@users.noreply.github.com> Date: Wed, 24 Sep 2025 17:36:17 +0800 Subject: [PATCH] Update README --- README.md | 15 +++------------ .../__pycache__/__init__.cpython-312.pyc | Bin 686 -> 0 bytes .../__pycache__/architecture.cpython-312.pyc | Bin 9298 -> 0 bytes .../__pycache__/blueprint.cpython-312.pyc | Bin 8129 -> 0 bytes .../__pycache__/chapter.cpython-312.pyc | Bin 21068 -> 0 bytes .../__pycache__/common.cpython-312.pyc | Bin 3968 -> 0 bytes .../__pycache__/finalization.cpython-312.pyc | Bin 4559 -> 0 bytes .../__pycache__/knowledge.cpython-312.pyc | Bin 4224 -> 0 bytes .../vectorstore_utils.cpython-312.pyc | Bin 11753 -> 0 bytes ui/__pycache__/__init__.cpython-312.pyc | Bin 192 -> 0 bytes ui/__pycache__/chapters_tab.cpython-312.pyc | Bin 9829 -> 0 bytes ui/__pycache__/character_tab.cpython-312.pyc | Bin 4456 -> 0 bytes ui/__pycache__/config_tab.cpython-312.pyc | Bin 45570 -> 0 bytes ui/__pycache__/context_menu.cpython-312.pyc | Bin 3815 -> 0 bytes ui/__pycache__/directory_tab.cpython-312.pyc | Bin 4476 -> 0 bytes .../generation_handlers.cpython-312.pyc | Bin 47005 -> 0 bytes ui/__pycache__/main_tab.cpython-312.pyc | Bin 7055 -> 0 bytes ui/__pycache__/main_window.cpython-312.pyc | Bin 23649 -> 0 bytes ui/__pycache__/novel_params_tab.cpython-312.pyc | Bin 10944 -> 0 bytes ui/__pycache__/other_settings.cpython-312.pyc | Bin 16587 -> 0 bytes ui/__pycache__/role_library.cpython-312.pyc | Bin 82250 -> 0 bytes ui/__pycache__/setting_tab.cpython-312.pyc | Bin 4512 -> 0 bytes ui/__pycache__/summary_tab.cpython-312.pyc | Bin 4601 -> 0 bytes 23 files changed, 3 insertions(+), 12 deletions(-) delete mode 100644 novel_generator/__pycache__/__init__.cpython-312.pyc delete mode 100644 novel_generator/__pycache__/architecture.cpython-312.pyc delete mode 100644 novel_generator/__pycache__/blueprint.cpython-312.pyc delete mode 100644 novel_generator/__pycache__/chapter.cpython-312.pyc delete mode 100644 novel_generator/__pycache__/common.cpython-312.pyc delete mode 100644 novel_generator/__pycache__/finalization.cpython-312.pyc delete mode 100644 novel_generator/__pycache__/knowledge.cpython-312.pyc delete mode 100644 novel_generator/__pycache__/vectorstore_utils.cpython-312.pyc delete mode 100644 ui/__pycache__/__init__.cpython-312.pyc delete mode 100644 ui/__pycache__/chapters_tab.cpython-312.pyc delete mode 100644 ui/__pycache__/character_tab.cpython-312.pyc delete mode 100644 ui/__pycache__/config_tab.cpython-312.pyc delete mode 100644 ui/__pycache__/context_menu.cpython-312.pyc delete mode 100644 ui/__pycache__/directory_tab.cpython-312.pyc delete mode 100644 ui/__pycache__/generation_handlers.cpython-312.pyc delete mode 100644 ui/__pycache__/main_tab.cpython-312.pyc delete mode 100644 ui/__pycache__/main_window.cpython-312.pyc delete mode 100644 ui/__pycache__/novel_params_tab.cpython-312.pyc delete mode 100644 ui/__pycache__/other_settings.cpython-312.pyc delete mode 100644 ui/__pycache__/role_library.cpython-312.pyc delete mode 100644 ui/__pycache__/setting_tab.cpython-312.pyc delete mode 100644 ui/__pycache__/summary_tab.cpython-312.pyc diff --git a/README.md b/README.md index ea2e14b..c8ef565 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # 📖 自动小说生成工具 ->- 目前开学了,没什么时间维护该项目,后续更新可能得等长假才能继续 +>- 当前没有什么精力维护该项目,本身该项目并无任何收益,以及临近毕业,有很多内容要忙,如果后面有时间的话,再考虑基于更新的技术去重构吧。——2025/9/24
1 z;W~R^2-n>I#pb6^_Hg*dT>THZXZtx_iL`4w*Rzk?{xtV=n5!Mm=|*_Zx|D^l^UZ9_ z)U~BdyxGe&b$o8_Kw;eI%y6c0W4a^L*v)O(ll45AdOVMBNL#KuviK96u_5o>H0#}- z@owjvJNX7b-~0pK-o)D*_{O!jOxk*Ls`r)^Gu2G?PV{o#_KOV{Eoti7+G`Eh`JrYy%S+{$g&+O9Qmd!FL<{*-$vzy*dm zd?aU$ oV6X5TW6a$W|}u 8NiwY6t#?R*pb@8CVFZ)w$beX8n~9`pETM$&+Q?I|+^8fPud z8B24{(vmkiCU;Nl=IS5M8GCu7eNN|@?#}62^H6S?f!fBB@}oIj4577%7~7tl`bpkd zH@=&%sU3fU*Sk1xTUOtece 5=sQ>-TfDeL3B;dDq&R z$J6y$*CQz-Z}HArR%9$Ia+YR!H;tRq(RASY_Ur$6J<2^hz|{}tj6-*mv(e5QJhKKo zW59EUmCI{tV)vJgYi1kUGmY)p#`U1L3Q=vH^|oic?OE^oi@iDBHomU;bnv((Wm@XM z40RxvoWAW=C#Erqwq_&$s2=$CKc7)ztM)5sBOEh-@YO!mp#H;F6XZSx)dgKXHMJFr z!2vPNZw+Jc=a=wL;F;rd3EDt_h=&3J>LC~+-77s%6P(h6rFfIZDL=f;qVbq`kqE|$ zbDoxND!X)Q1_%<4<}m#ECPs_5jCcnL@Cpn^Xz6w<-9mx^0?Xl0Pdqjd9u(9&cRjLO zyv3x8P6clw@fJft`FM~K57G}XF !pwihHvAb|`xoq)zhFHXtcS-O 1 z{>xCMP%fD*3g^rNOBfXC9 8(t~9?Ki=ztgm1c;`M!DQ+)_!h zv4@_1?@fKysZ+PkUF+U+&vyMk3 KsK=dnsB* z=XA>U%E&!uZw|T3_sYp#u~z|id8e{VwO1uWT197WmwK G$f% zJ7uS#D{pTe!Bw5cF4JBU!E-y!UHN -#oi)9Cq5U! zb8+gu7v2}ca|vCNDi7;d(WQ`9N|!;}f>fJSbUCDzX((vbiWx1!7FNIyTM~dA*gB~- zR(c_{W&!3RIakieiMg;3mGHxURl##L{A%D=3%@$})x&QQ{2Jib2)`zv#Tv6~Sx7I2 zTFRwbpoOdcpVzYl>csJ@qL)Hl6~}S{t9v)YH`GpD9GZUi#Pst6Q^TK3z4XRp|C!|J zXQyBIAbI+g u{KNbq9~m^U5FU z?dob}+K&fYm|$D5J53gnGCK}+_Z;aA(g%Yr2iiNKvN>Laf~`#3BdHhA#KMEYbU`ic z-3NMF4nRv<9`5W79%kCR!$4wf?|!uBP_X4ld-#!-w$5N{cYF82fSlJr=V+`c2pxrF zhTtu2J>6kw9iJa+eKgn-3PULeTf#jp;iKU|4!;2FV}hN*M_aK6NDCb%bv_zw3->UP zqlXFd=FT1{JUi)lZtLO0HJv>Nd0Ff6# Oc?E)f(n=Y50l< zy289Z_0d8tbUVXa+Ikr#>qE43_jd8JZeGO%!@W#*n_OfI1m*(7=i6Ik$np+S5qTIe z@uFp{jLkU?4D%u|M7$!3a5^`uU}aMJMr!|)@KzaCh;$Uyp^~u7y+f11C5)x$99H=n zMazFAmr9GMzM~wSlsj{0RToq3W-7x5DLs?gVU*G`_lqeslFQ0F%$alvV{@f4Wz?x3 z%uPcpvS@y&pji1XDxmD$4`pcma7}#p!qjV*lOMh8&;CaKiRjP8^*ec?Z~Bw7{%$|4 z)~Q#Y5|?oDnWvMNfA#xor=~x7Df!y#sl@(s({B!c(RYHBdkcHZtEJWYjiLr7GEW6G zyu7RRD6eE%yAKBWoSqP`INTb3gjaO*w8In#9&HbWLktceuf#=gm{-C44R+H3HDiZV z#(}^|-s2hw@!C+hl@S*sFKgp9Sf#kU6ofzxwAfR;zG>LF{2?ZI_@Q-MTXyuoeBT`G z4l=E ?hQMWiz-V7r`%d3P2wvs40W7uX)^T zJ##PTtQ>BQIcwwQy1u){4f$u5bA^lk-q6r58@JleZ9cpC-1f8EhrA=sXi?M>-N@Ch zi(A+CYsPhk(@O@HoL)V!dN44mD;>9Z2lvD+ =Wjc8+ zF5S)+vXph CcVZ9H{{JT z7&0 z@u zq7SEp3yNZO(h6Yphc?3GQL#E!ucK&%n~Lbd$YIFEQfv+@2acj(m8|xX@?z>u#K5YL z%0f9Zs-23cSxp+(gwy<@g9vR>N#dPe&`!}%*NZYbm(2yJX4M_(m7k%d)wD+9EI_55 zhe}K9vZ(a)Q0Zwy7FFInRC%;9i^?<)m5DZIQRUA=l}}r;sI2o)S?QcCDjShEADl6^FqAHw+YUbGa=b |T&X^1|s|fHkmrQV9`bIL-Z8qcoc%Ce{>khb_`f>aa>!=1!ML)G~@S(h9oNP3@vs zlZ2H}VPvZ0Dy5jph&ih~WU{j^x-9IGl324;_G{FSawJ?v?SYjQF+XmGbx7_ 4A58c$bVur{8%>lyrHcv>P7oWe)d*QWRt_oqS<<`jglAyijilHap wf=NRe}8RY7Kg_Ue~lfU{^aCj^vzU< ztux9>^_q}P4tz2ZeKvXK%0%=zekNI}iC^bqX>YzX`NB`cGQ}yvduEh5bG&%>jF&S< z3_AfMHZ}08$;;19Tsu8==_S5k2L0@zJYKV@6@*;cAMWwvZr|D#PH7Xzs{Fkn_zeC7 zy`7zY_%4Tg;G?y3uw{Hx+RQLLjK95me$8XK|6MAO$CN;em@)vo97JgbKPiJ>oWYgM z%R%a3a9`mIQkA!)hDMb8rCRx15bh5`WBA-7tqdv|yr%hRTkvqWy{DU32C+4~9Av3L zzBuX0RL{)(%%pF^x^b2>OAstYfD3_H1%S7pIFMcu(BOk0w&}8TG+vd`#tc%^$hzTk zrAa3XhVY}}@}GGzRak*bq?+<>|aa{rDZ}?2tknje$%GKOL_*=ty*Y@8%VXsIO zR3~f&2}e=F>Pa|DMC6W9?a=n?1Uuy{{mc; &FTk zV}*?)E!?IDMhhPl9GLE;3hTyv4KZKC$d2nfMt!>k7bd%@;)b!J#j&Er+>$My){GYI z5j>dg%}(d;`u=E9i%@_sd{kihSjDPX#VT&~4(^@@M=SOSh4{ixRV*7TUl}W38ExTq zw2YSjg;0d)#Z=|Wv4v}5@TJz?$L$V|E<7NVz>9v>oeIiTJ-jcvAnsh(Zy3+79Wli7 zSNG@s&S)RkTTbsB*vWafkLvGESo}k_p;FFL&gsi<8trF#2NnH~bLxUWOz5m%Q8~)| zakcTZVZgvSS6 {*|Z=a&r)yY(w0lhQLKd$0<4^tyP&p?wD1cLsY?=)+dz=rMS&vt z?^1!1sOT+)te_tzUwl4!^(9fsgUx92G+1|D5%=R;KO9c>KSMTFphr>U+oql6y(sjG zJA#;Nc`u6A5{_@dECd9p6tWM2p+p%v+}R#x9)S0RO9m8Vka?rT2EnXzD9D6(m5A`l z!=MO;LJG)${Dp88W)EgZfbwPtzfvFdJDoFOG=HU1I#hi-Z|6~#;(k>^pMR$7Gkrjf_w3PgkDq-!?kNAvR4!;BGb~lT zYfR^h>3ngWpHujm8mMN*WH3PjnGCPP6amvMnF4cuZmI+6W?gjFB!CY$7lk4-P3ECc zekX XnJ;RdGS|`rw1644_ljUP+$*;P=;F zow{`CF;S+9KpCmGlS3zOy)_7Lzvz4RF(Ow*zUX@{^)h++)rpUuhnJ6`Bo)z44n>on z{BYu<3sWx*V`@rvifAXIAA-4b;_B6@fp_r*h?FRoz%qzvlTZKR)=QUfJ^5ntX>7$~ z?V!zL@`bCD=dUC$j7*&Xo6W0_b@sHiqHF+#5h-Z;^2gJc-^4c=feBi0;!^UHUnZ|S zlf3# +V-YQ%C&|6ynDnBI1G41Q z8$V%I1InyHuoeKA2GiXEJHn$qosR}-NyeT$brMF2*MRk+h4c)hWw7UhsGRB#vjNKi zR!A}H0FY`XqJ7i-mzZWu+=O5=zDY^#z{w^)el4KmRVf>Wl6)3kf!~17O^rFP%`}Qv ziZ!dHI(cno%y_jlM!b@Y3DX9Z1#*Zu$2=(FC|U7pG_!PqaWsT>%M_>LEl?DgO(hc( zF{Ch$0l{hbg+2!Wl8-`fQuJ+s?N@I-y=Gud!sr<@7RHQ)oWE|QB5quf$a9b7`C@s# z!6!!4@w{aTgKNxC5Hl1Eb`L)iH!Mk*ykjPR%;e{a7L9C)n^q+(g=3bIn5Bd(T^3yt zw`|Uo@YwLSc;3>4xnRs(6f+lb#fwI^#m#HeIfizQ+#k2Bm_e{5ZeEoxfh(-%8aBrB znrGCyEpA#XI4Hg6Hl^3A1WK<|eVbw84uNd$_6PvnJ?CPU(w;UaLzGGT<3{SVtS#pt z)t0k=0qnToF=J(qQjDLS)6|qMbB;YUn+>1MIaQ&6GNC*LtwgmNcUF8pLIqU49nfr1 zKb?GKWNM&aT$|HZo)=jNXj4;fU!C~)x#^E#wSxBgYWdVVXD6TSOFn%mc{=**4<=t8 z0sVOL7f;=~@E)w-5zv#8mtVj2vs1~-Z~yv( w_&HG z3$-CKDgKV^qTmex;Ryt(armrReu0kcJgL0kD@cn`A$!J$Fefe80i~URIiIm4W^9FF zG%AxTtE9PXfbvX9Qi;;Ej3`(Iqs#IIq%HN`Fr^|&utX}+w-HgXDq4BS4b02M=FH_M z04t-MhMn0>fuBMHehL^Jyud5)0@xE(Z8=ACNPZ=)6U*s_soHIyr!+k)hjI)v%6V@d z+B`yQoI(5PJhUc4Yo0;-k06NVz@D4mi`FI(Ghx3I75(JfPfeY928<_Q*6GE~88+2@ z57GN8VMje~kaiT3a$NopUCH1_zlEUJ3t-=_ZCmfz@1OqQ7hpXA4+i9tycVzSxOEgL zzLD3|)ZD`9#5@7uxMttoJ2y7gmF@TU+Ta;h=&cKV6Q5k3eCb#JH1HF60qg9za^KEv z8G_{LE6HmwLzBhr8VS_Hdk2z%dFt`9MI;=YVZpB`z~u zhG0ntm&jpW4#s*u_dt6$-P+m76k@x8T~UEtvJQw|&TBx!ZUetukY+03UCP-3yH|+U zWqCJw1KQfb*#@qWZlFhIiV`tgqN;5HpGxO3$>-R@^mYbA%wGc4`|t~W0ich%Y0B^0 z`dgE&Ux7Y}WdqC3e1B;7sBYn kPRE-aBlf5@ zzF>8{U`^b)wtwsARZSO42HP*xMC<#vCA<~GD`MWo{deCqdWU468H*AoS86LNS#w=+ zefRaY>)I&$X#-cZ^M>i3gc;=VQFF!64{n$%(xgMnhIbEd;udY@iniP^ZM`WKG1N3{ z9aeEQ8@Qs4H%!ep^|mp+H>URv9vxN;J<3(D;R@E?(619bl-UkCs@}#atYp&x7nSHt zg%Ok{6^!Q$wv*nA9-PT`euQiX84K(tKZIQc?@xdmF17q%6w{ZqtH55QNbN;njYJkO z*WM*jgHC77upc(fAYkwDE5Mxz`IW#zuzloWmD17&79t16A!Aj9g@6NsR-{=-+HE1_ zqbOPlEJQ`;5*DJKu|&hLoaf4+A ROnoofA4L`b zqTw`3o-c~)CdCDCtpXS5CHIR%WW_TlA+a|AU|)8q!L9RWlKp?3wf-kBydkdt<*++0 z0&?aV%!o$8RL11#6VrV^goTUE@K?a%2aD|Vo2MG;$|gSi30NzE5hR~EA4uhS`xQ`r z#dhxZ2b8H@wmn3*9|WcK6xNVg!)oS5On3>w3kb;Sm4z4-?U*wN&H@N!`zpniY7 {r~>na*q+ST%V65Pg3C%|P`P_q*;(-ng^*UGLDksQDAu zuUsE_E?5Td{gHjx+rO1_HqTn6<-?URZ&Ux>V8t>O%wDJ4Ki$pUcR#o5{!jOOx{Z5a zFITj0)bvoo =H`FmH5Z63Mkhm zSqOK~w`}XnRZ#-~F|dGmhm8;#z_devf@q2lwPo+MXh6UzaeENBKZuICXlT(;nVp%< zWmR)6vutrr+MOfXtObYOK#(wK1q*(^ERUcLBo95UiWst%o|ev)$^eN3X4pf}nn)h_ zZqkb< qNxJ>N|9R%(`F?&x0LV#~NV~rI`Ti?u`nH*3Z+o zEDag*8t0)hW%OvEGS5SmKZD9L50&*#qOxUE{YV=zWh9`EyjdNGN7lsZ88dC4GyXxJ z#qJ!J(*DA1FBbTE(_YL-KAX?vu=%?v+O>-U-xu21$who$mN3Q^kgEfwky#h*&hmX( zq?%{4HSm3@BbLW4$2{Ua%lGB&MfVd*1E*d|o_PTsTZGA>bK}FeMQMkSprZxc6t6`= zWk~ZuNp=}vI-wN8`KB7k6<@=E9g({AAWS!6Ioly}HWMW7yY<#nV#!k U$7Is`=%BMMs#Zl$8WUV<318Rj7b zdl6vN4D)>e0juaR%y?01A(b}=Aryk9p-ocU8uKbzJTJnR`tNp8U~3#Ju|F^Pi%rKG~j7#fm8INymBI17kd zjSs_I(izhOEk&C#??CQ<#A03q0jH1p5^NBjgt1molq>7T-L)ge>)x?-_r})U%iZ@d zM+f8U4#eFD`;FtXT`Zp2E*4KgzcJwkFz)aV6^<1By`ynpbN{;jFj`(4pF1|V<}>5M zgu}yms|H&*NA-v@=4d*jNa#Id`r??rm@8` FJ8KZE7>Ygvb$uy1h`9lH8EceSG)FlaopF;6>Nexn`gY)c>UqH zZ!1@D*QX_EOUsaM_`bNYj?1ebv7{5x{8Ah@HgS22L7_D)737qr@Q#Vf4~&^>W9Hg~ ztM>Di+XgqivF-e}VdJQGDR=K9ca(DC&CpWbx)ELUdvVW3PVM}>q=5r-j(QKbY!5)m zRZ*9ARV;o#6s`Zoqa%-S_BEsGwd2NG;;N|oCWH&=>5YbsHtKIIGK4lwvqt_mzM^J@ z{J$xbfb%+3>M`IBLv{?kAqaLn*xOE{mOxf #^0oP$G>L%Hzy`)tN5U^=Fl;ki?USJF8T8 zx>Qe=pyB{s1666bB3{-@D_w{c0Hz|C53pQ<6#}Lvm>)0=!HNLW608_79l=Ui1+6DS zPU(z#O4Id}v1M}#Kgvu SO+*hL+<-OsvaXyIkjOLmczn=T?kypml+!&w41)h%NeMe4z@ zCR0ElW4Jt>!<l_#^b1nsjbEUMt%Xt7T`EhDKw}uyNOG|a zY@_sjBTeDzbb6E2+Q?#1T9(iY=<-fSmou^y&uy?v**sPcp=QR53Nc4ySs3F%$i*(p z7%wBs+2za?c6mpm^fq(vK=EeQC5>HVMR=L?iZz8-NI0l1E2Q>H_sB|iF? ki21z*A~^;l^|@sMK%9#xChtCsAhZ zbS1lLrtp4h^{f)Bpv3C`K#4WqD)Hbvb=Q82l2uUQ4N~jaC0YD;HOzf+4T@{82-YI5 zL>*msK_6KYZcgVC*NYjy8@q;GO=esD#gwWXSsUIgQO-5n=&ca0+Q{aDf|Lu^qb3N= zT+F%vE@A5dE@eFcm$9_~m$M3hO11!?iuD1^WeWkSSwBDxTLe(c76a6=B>-2jN`Na_ zHNaJ@2H 40=VUgwJ*wE zkP!vWE%gW#xSB{^7DqrE@T`k22%|-YTx^{*KW5GW+83z>C9W`1_juizoKpoNmQmwC zY0R#(`aA1f^e5EW5LqkLc`81;#=u>@{}r07MUj2-^`~z24P`5Dphiw#`C#&|PJk~H z97^C{0!=D;`PAgg?}NK&>IHN?f%Zdki?-}rC!ZJnz$C4{#xJU*X-!kq)FyxVBxp~B zWKoSDTv*AsUKh11$e(=sd7zs7<#Ur4u7Z_~P&L%}Z@u;mocu{QM6~3IraMA%+)hI7 zTks?exKZ0M$Q(}v9Jh$+a5jV-WjRI?^AC3RJPg8MD%e9L1WiZucEfQOP~0$amJ6A< zenn3(E)3%DC2BEq7d~!Bumiz*1iKJyLU0d&^l^pI?ssLpnw&*w={XcIia~M1NVggR zG9IE1&siI4!x=f6`58XG3xGF>0rR0?I1DNxv0MgZ O9) zK=)^c?j85-BFCSOrHiDY%r^8PVCdp8=6+}x@x7p)E*`}a4{)WTY6o_RVY7bN&f9PP z>%aXQ16FT}m>i%{#27(_WLBp$BZN$iH-sMPfioJZZ%IZ&92XQa;jEN1b>b_d4M^v{ z6wDA7p!`8^kU2)QX xfsi#TF-)K{w7Mou_%W!?A>=}Tn5O>FM{({4W6K^GSv0t4 z$o7usP0x=DMm;r<^2giQs~>s`WdXSuF7a&N zz4!j+{r>--W5Zm9RxuwU_z1v^(O~`yr2NU_aDCP|c=yLvJT!9O;C(|)@2q%p#gA8w z7Sut?ADLf6si`r5I2Eu}rHA9f6%xlW5q)LqO*8Xy)`Z1rDz4@X+rX6@(9UJ)A(L`m+Ya#{q!=pkVv5`}dF=#*gM+<{ zyw6y?uD&SR=%hgQ0kS@bn;{*qjKMEguJL&@nIi8z%mg28@97PtXI>B@e;GItiLvI{ ztdjX9c8~=35 TQsYVo*%h8!`)W0kx^ z+$pkmN->r?FTF{MN8Iw#Cr-upmYEYoB$}OwN7s1ktO+8Lek+w6b3+0DPucm%1X_y3 zGiMQRn-OQ94wG`sNCx9&>VU)SLkM`fflNJe1d!LKT;1e&pE$8;s1(jZNUI^W3W%jt zG^`qCoZy8RQt?2q6sgYVr2<}BL_W{!!3i%}K2y_Z2 ~^D`FSw2#>#?GWObVK}!d8eEy*;HX^(5W;N?WWE2pYpu9LS?Ai8m?@|M z&h3Nq5N0>*LU&eDX3M$Uv$^N=XZ3>*a^-6vLaT4 $-as5)OYbd;-aj=MK;3dgt`V#=1p-AfVo z6uhzI{E|0To?khv2KRm3vxQSQ$33N7*|NB2IpB9xl(k`G_4So;%RPPD6IQSU$E@{z z5X4 VC2$OzyVKg z!|u52eyk&_KyKrManGLA0NBqhIlJWC%Cjqn)WZwomZrY#;|kTuZBK4HqaO<2P*g!* z)YdaU_$=2sZVZeW>te>bgsTisEx5}O@m3~00mR`<1K|FKguM_`0Ea|({hdOS34*Om z8tt70l(lMjd$j7)qEXBCzU_h{U)g{*X8nMkvo(#X7mqvZu^2cMA)by9k46+$Vm Aj!p&0w-Omkav+GUc*woywT$GPq- pOA_wFL_t}??z^K=dh*ZYex;|Z9>^0X;vc|K$AbxH z>6o)J2B(HQqf4Rzu4>~AXY;tr8z-U>z){!!3{6MW5!G;2>u)$W+)QW8N`ycccf}n) z<*Og@M%j45c24bvfIIkl1q&e(CsA0FC|R6v6(@XEm;%sWhlzzXU%Ct>(DA}MKFYg1 z^YvjSz!!&^;Hpb_Yf>H@o6ZZQ&O6}7FB{WU#&nfmQC_|3^YX^CUEK0*e-PyG^gG8w zK?(OSRaEgJAr~< Mh-oQDsh~qlPuYtF17dlYW<<<{X=cRoDOZJHLCi`y7YH`Q z>`3Q8%t^Ty3NFOlNasP!OWFKF0b)L?piU@6%uiXoLJ?xcSV{?ErI@1(u?0w1j#vfd ztq}r $uG$7W9bWMmY##Su>OrX3< z)gSKckwdft9y=lHY_4M`3Fo3048)t$@Gp0ENaV}XuAheYH$-K>*fg?~v#%UguS$59 z-cUOU{jzUDXlMJ4XB~BqiuzmI`Z^HY{!X>t2{%rqxo4G}GnU-5RL(6`0v@9@_b!&l zG$r@e%VYIQz~O**FYIhxssC_6go(Da)fP%dF%E^U+lzBZkcG8xQ^w{@`@nW2V=1uC zKx{2QIhzAe!O8(DiM2>YY(Nl*0V!&799l!{L0V!D(h+-*p4fv7tR86cSOY*Kn+MRu z8UdPF6Tp1d4A8>n1GKUhv;;+L-8rlkJUGxY@#;VUbJo?7J1YSm!7pS>TOaM2vo#$k zS 0GQ zz8(2uS~jFz7h&_p3tI6X@3WnDvkD0I@Id5NDtE+{v7E8lr8~rWV5FRop6R<;N}n@O z!b{38$c_wSoe<<%*o%TBu?2}IeIY0_{eNTN0Po~WS0+zAIeqeH7?SX-fwU!w o2@f_ip3G_hA1{f<3at1*@pmqJB$Ir-vS7@|5FBK z8mi)TqDg}=2Js(p`~@bbk2I&^3^GTcQI83^fo6U|R+LfglCdkT!;&Fp{uks`!;}lX z1hX9i&l@SVo69X4w=evPvN^P$TRnmt?!U7Y2uira_TnrSauHKgcAua@ObbUY1s!5~ z%2g^D5X(c%h?t4;R0w9o@~NUm!Gf5Ta`*)sVs^^AP;emTqzbA87h-NW3@LaJ19_rC zC_v0dRjii@g^2p8;>AJ{V#QR+QlSK~Qp#5&lp(eN8(5B51!eOJ0l)@yLJj2z^y?-p zw(k)ACh|)Yu0X= ~aKCP%_rC?arD)uQU#1~QSOa(G2l7q@Q&`B>*3)A?gM|ER7Q zcMs!$k#nvXRj(Y+sz*Pfj(Vec*J-Y1TO4J;afSU1JE|zf`xC?ZQAN|ZLU(feliN8< z$ u3*FP!(n1ym{7aZnPq!F&(~kw|v(6fa#26k_v0xdt&_Rfs zZb#KVWn4hDT|7&T%$QgTz{r@g&Si9Ha^!&_HVWP@>fEW>*u&JoS?4Zj0Iow`*&A-} z6#p+xW)bp5v$Kf*c!{WpEn*HdETjw&@E=#&+cxxcA80?wE4J>~w3CDqiJ_v;B3U)5 z=>Yr-r!cRe+uOqA+_QLs@i8Pgf#5F@oJa5uf++;JRtQ%i-$Yzj>Xi^@0fF7CnSX`1 zxMPHpz*q#iOeXtMl_OK!R#7tTZz ~ utOVCbP^o7#1kFjWm#3wDC4R2@7m8 z+t5aVg4;-l+@j&z_#~{AQ4UYSV*k>%L{ ^13^ zun@alNm4hev-_R!6@OU?-`YdEjtJ>GBB`zuRO~uI#jX=n>^eckt`k)3Izh#*6IARv zLB*~URO~uI#jX=n>^eckt`k)3Izh#*6IARvLB*~URO~uI7g8>-K)NVY!6@9R##F)v F{tweoYbF2y diff --git a/novel_generator/__pycache__/common.cpython-312.pyc b/novel_generator/__pycache__/common.cpython-312.pyc deleted file mode 100644 index 52a7173a282bf537d553f657240a307fbc5583a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3968 zcmb6cTWl29_0DrW`@p+?LLe}d__2v?6d)*F2*{YwMEHT~BrOKA3_D}9_P#Vbi|y5# zE(C+En%ZuOY#xa~F~N~(<4O^aKnjI^MC#81ZrKd}hy?4$SC`t6BJ$I7XLjwyvea;; zx#vF4J gJc7#L8^h$ zAl*QdNFtgwifJM`6e*F09rN?6cqTF;d)Y9;=sN@wZDQ6jqQM|?QkH0xvKnd8bc}A` zL^I4S+I$Jjjbe_rk}a7uELOB0V;aouq&+uO477~X(KC~$hNn-Qoci+P$I&Ab*E%P@ z8o+~ri-}tUiK`bAomY+1m}_m=AOr#x9)FWc2;mJyr9#l9xV@4+$d~g)r9NS9=#dUd zo{YIy3I>HHKn&Z8c9$1<%Zo(5=p9E =hK% zAPS1q=v7>_uD{l2K@Yw_Gn)x)cLjRAi9`e}ABM>YsjqBD`@p6h42MV*K_cr$5qgOD z1K}bGRF7!X&a6R73KyYQkSuqwO3Ky %vmH-5%w(lgdR!pCXm9Vkrwms zNNSTn5hg;k07tn%vCN%Vk{->&2suyNw=zQ}>pV_+BxcAFp bL$wcqbIi6`I zDTK)ze*#|rx!E)I`-?h@MAvDZKEFUP-KzM0gkRd@0->F)Zsnk6mG*snrJ_jQfWn9K z;2b;yk;l8dB+Gu;!H3t@2yJ}IfB*&8K}jsb3!t&v*R+sVMeP^J&Z&$n_?je@d%Mjg z1r)d6ryAhZHo*ba0P5nCDyPVTOTq?Jxq$5UDNd=)rPA2`Dx>*AWi%=529?HItELQR zs>XSDso4uOR$1MsszK1TQwb@EgCxFR(4MW^?$|3!fxVUQI&1w9Dt;yTBw0}W@?IaF zI-BO^F2C37_f-Vi)$9ePlV1jcHu!@5&_&T~9?DxbXdB!)y!v$AzjMpF3`vsXO1{f2 z?B6n2+`r|%dG%8U<(2<9%OdNt{~`ldGH%Z8t?RCft$g!Z;WaK+`F`w!-^AYkZEVHv zF>}MXIsc(~)jjj7G4twpcERBC``NFITk{5t{l-DZzpTYitc3%XeoJg+-I#S(ys-G8 zwRqNmY$ZP>IUxNkxE!Q9W#Gy4+_vS+7nS_B0_F}!!1zu913g$;YEx8Jccp7CbipYc zY$*6 ThllyvJ)!P=n Nu`3J11h_{ z?!C(DYC9pX1P(#05-+cSUbV@R7aZ% &wPWRWZ712KJH424p`x6V)n9!GPZvl$ j0#a$Wuh9>aQkcm2wgj<}`IIv`Q92N6aza3n%VGI7yk7}j6phoS6V*qm<3>-+ z8;p6Bm~tqV)jCU&3=5BrG0$yw#5{+S2>p(zBmr>S$R99{jPHY70G$gvG2L*6*PQwc zoRjHPkyy-eVn)84cc-|hlOu~$$jG9QDJhZdpd)mI)UtIO2lYd9rhF+m=V^6N8GIM# zU|3Z0#bsP{_4!QSJXfitjRy5%mdK>5pXPLhI=_w5l}HB_p=2^b)k8%ja$%@NGPEUn z+VBq4M!43}8q`J`JD3a&joLZbgQsDNkkFeI>@%%Jn6#!)C9&x-R6o!2+6#_{dg>?v zHHxK!In4BI(_u!9vLwU<$*Iwgpj_pvt84hg^(#=VPWBzw^RAwf!|RQ2y>JWRV4djg zpN<|$bd74nAplPF_Dv3bJ@w^DM|fTN3%Bt47Z&3!qr4gfk@0H_ MHB@9rCwGssR$N2Qoe+cPPgKGA=qH zZYwgNnmit_QxJuK0vTU>_4pOy dS&DC zNCGY~
6OXK =g0#E_7Udk=;U59jbU+BYT~&Txqq|9^->uzI zrxi%@28@A|tro0R3JN{VFEW0jdc@UIbk=70?FxCME%H{_0Dqz2N6;lHf*_u npxT!L3UiE{CCCHg2c|=LFj3l-b tgH=g{;d#jB7$&n=g6(r95rE XrGam&X7NlD@_*_575M-F diff --git a/novel_generator/__pycache__/finalization.cpython-312.pyc b/novel_generator/__pycache__/finalization.cpython-312.pyc deleted file mode 100644 index 5d78e3c3d1d89b4370ce324f08f2f91ad788b5ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4559 zcmbVPZ*UvM72nf;>Ga3a>A!8FG%-Yu<5H$z3Qj1K5)xw4>F}l1WJYt*ogF!n&U1H4 zV$Zpw5c0>6-~ FPgXufOw5;l>f5{1Nj8Db za5KC6_U+sE-oD*^zrBBYJT3&^r%HLh;78~i+-ZEBI&tqo0- k( zOwgKh=Da0kA@G 8VoY)U`}+@lw4oj z1zxz6k1j4x-&~%#TzmON<+W4Qi4T |1v-} PVMx6!RsLo~c`&fp_7KV&5lk63W`8>^! zrbl=#KO)MV#SsQ;0Gm9W0jp_2#C>fTlm)YegWLf&eJCq}BRQ5XfWo9%c7kOlJ($h0 z;03UGl}=~4g2)y`IUvvnS `E5Z2AB@Dm(Vk z0-G-KIoXAEfi%`lifn#_xM>Xalh AG(_~>K@n$y*A>#+>44c;d3O2`D zOtpPa&XuPRLvRnU1wppspm9Yp T^gmhK5ZBX%NHuO)(fiNH&I; z(PhWIKViO?F-hnx#F*bU8+v@Ay $J?YfAuf`Q;bC`!YPO6; zwPOW4x<&$x+J1t^HpXsv>TmJX-_ScA_(@tFhE}RYD`jX6ioV8bBvLX<7Re-8CAZ|6 zb Hi(t&)yOREu;2t&q6R(C3uw zl0$OMSTqhq%{J?v!S@6{(A7L=36-^~($AS^^*Kv=ixm)aCE!!8epWqo0_S=y(I2^3 zohmKQomAd^Y5C0YyEiUY-}<=v<~3#FboI>>)wAbo?;U|uuQ6-yzgC<0>+;K=R7)yz z@-^ky73Iv?J0~WU&tG5uaN?WNi>i@3bLVRxy<0tZ`OZ{HIeuCJBPyCyUq8L{#njy! zr)sZUsZLG6D5zH^uPRg1%DZpgIXYdtc69kq(~0{aOG0x{IrA!3s6ti4n(WXqNieAN zn57qz`j}(8hE|EO_C!`lKsFRddlDJCP~gNw1JZi;j0J{r+&(&&*6~N3ORYg2%>2O4 z<2~c?(dEOq3gQZ%M*aa@;eAY+WVh~-3W~CKwf3Zm$4>>>$>kUg&;YSobFzk&GFe~` zHPDrh!i=$CVm~b;_OWciaGvQ+`ehR*$QCuVTZXx8fp=i_R*Y{WvK_!{2yjleAEJ2- zk32q0JWi*48?Ny6e{h)JU;t; z99Q^u@Ey2Pqh& MVBvb@n#!C8w5wK`NfgyTT19*~1;c1M$>u;iK%nQVE0$X@O3 z(Aa4?fP=h7w_lgRinI-qz4~70eE}~MU#I(j|9$*7PweH{k-bmvO7Fqo{VZF+FwF6L zH7p-8`uZWH#Vl9o9T}C|8mH3O`F=2k!!1k!bd=D_CKL>x>pR mAp<|6t0!yBDYdJlJu5?*i3*i+XsTdU%0)q%`m)8M*E7P5LH$=QmyM zzua4Xcy~EEu;_Tc;_xoTJ1#wR;h{@C7kVxqF8|`0h4_xLC2~9Vv+{<=7Giy6OZaws z=cT?2eV6(#^iMm=k3753zO!tJ-i~i5Z+v_q{wt7P3T&*zk`;ffLUmT!B9-7ejaczH zC|hawN)UxN-U@Zkhq^1F^_56+#cB@QN_$ouDBe4L;QF?O*mGc~LU!IFH_Ve87Rjzk z=g-TI_)_%IThadcXg{77=z?i6TiFtVdExHq&E>wG3!z=5Jry!`i(EHPu3IG6S7JRU zy-SvGInupo*?b!l$@1oHi C2Z%F&EI;(*qNRTc78-w~;(oB=?yR_D6?fvE z)7tK;yAjy)$G-DBt+tggvbs+U92q$C`1yhJ+setUW&gH+S)RHFn}oDuY~xvYa}_eJ z&xYo62gKmHqdx@jGsXZ^Nd2>f0jN%Ro)GwXqCOrhZ(GM*q7DQw%LyRSc>ItO$(tnd z1tg&tP|{l52PPWnUQ6^in@`QwZoXCfv;MS)G`#f1P371pIJv)irFQddqUC9sP(D0Y zed8Jyy7_kX)DdOk{p!(UwVUtMKEB#Wy!-|*QyhY7Y3|C>^;cF|`uox4OCRD?fAv#H z@84IleDNg=GLvUu;t#o{96P3b^bRP|{VV mB# z&T0H(Fh{oOe=Hsix>!cd`~rRowx$UFNi0m=2jBSZFhWBSvQWV_??6=7k6od900l;g zI-mmaj0u`iVh1#)9VX&y!c+3r5#b~1R tAHn )(Fu$CmUzlW2QjLG(Nn&C3(G@k@EzXdAU-I6^8HA-@z`3Io?*9jU}1oXtou#m;F zIHd_1&|r9x!)tP1Z-&d~xq=Envb88?bApOoO&pTfubra(o2kEMX>A6EDw%}epKNA3 zR~XC=$(CJvcKlX0!w-pU1`L#~gE@{Cd7MYpD1U&|Rcm|U=!c(}VvgO$ 9k)O!0o+Wr-Kx`L>Z{T8C;5moVoE1tHB%RkvO z(NiIxuDI8IN7@Key&DB1-*!Gn5WglWfl%G7QeXRnb*oC%ZOH4d+cnyOe1W=Cqg@DO zNR4)*K&0-`XfKxWX>=Qkw%7d{9RNFZN~42l{l }@l;$R;G$%3T#b$h%YQskSm `u(;QvRcf7 prD0}vnH(yc^A*XOna4LV!WHLIqNxNEsa6{ zO5Q8f@wI}FuM_HdpU@DY`TD1?0GIC=c)?|)Z(XS(?G>FdYeExz#LXUE5i=YR6~^a#fv;pDKuht!lLYN2pa z)&yC*l6z82q>_pjIxHuLB!Q0#p@=96pHGiEKf~+m4-mRT5jfr;2S~kEO2XiX5Z01P zNQF+&Yeg9}E+v5wy(bw?C%}Ym6QeS)4R7w+_)t;_$JilGW#y#ChLedD*y7nCQH!w= ziBn@Nr{QIZNx5qyD6uC5Rpp|BZjEq~D(H<54IJp{?+x}mI2d|h_k+9p`g;0$2k#%Y zbE#C9l#J>GH@vlD1E+>HF(Cw0b`#sNLFOu`BpeZ>CF8RCfI3{;ad1;dVp9jtcI@x& zxWBt&Fksbbd=!|yge8(Zti;fv+agIN!D+gk=QJUb0Hl1Pdc7(pM2S;G?N~^QDS{eH zO1$n&a7RO+EULwHn<8jwMGjj^4q)^)=<)c*cEjy8=u0hLc0+TFVFsNk&u1+ei%Le( zAc~?a1s?=K)|RpCL5~h1l(lPRCj%LKMTXAUGW0OkLmu9Pkg_3TRoDy_w=cC(!g(_8 z_%=0THFcSg0R2%SYt7JE+lieS>vFoPD*$f10tkKJ{vL(?FZQWH6tJY5VYOF3`0(0G zlf_f#7hXME9C>Ep?cZK|>*Teco>uTt>I4fnOUaUUSa+-7YauOpSdhhGLASvD=r(XA zLFRQTo)qPPL#YKBr4DyKEbYJ|0tAw(*F;2_lR~Nx#cr ^$c`5bdyH44fEdi8E^Z z2v*UtHTSc-jiyws~*IjJIPV{6_5c*yIzl>vqj~? cw)9~+Z?_9vdf>R{5N2^NUs$Vj|n_4%Fz&)5<`cDW4gOaN-L7yQXPtLIZA{J zLl!H=XMJ@Jhp!Ye!r6fXJCx!e7>yXmSQv+(*=RtFaO{HqW%S>}ktZ_LD~KmEB=iuF zub|g#)xgjwQ)zsug)(v3@S;p<)xX5D@n)L3N|2|p<=04)pFqcu24PidnTj4r3AVV$ zq*oz!2;9`h@32z|c*6pY38Q5y`^?($tBGIQEWElT%Fr1ygEE9dW(b+!>5Sz}`5dwi zt*IjKfK*aWa9L-@sXnk|9m^y>-cjAD=3k=44tnr?LBo2KrTbY >(wfG_JBLTix5n)=ov<&LcTJN8zSaev)^G@LAq7GG;(RcQJPfeu1t zmUaKoeXI ;au5v>0Z)G#A473ESA65SQY})dPM{De6)4?o+6x?=?81*v7sr0F zFfm=69s?pieIQQ0Ui|rUFvL0Q8 |H6;+K*Dl9I9*a(L!m@c*#N+6Mw#9_!&EXT^i5Sx?*7P1gq$TT!8+Wn$K3|p1#q_! zcQ~8r&J?F`QH4vzN|wL&?3A1ZuNarRL`tW?ys8s|S_87?vt5EpJ66}QY*nr7hPgZ7 zQ)Ngw@Dh8Gl{wz`WMAI5Wy(M0%I`Rk?~CLQMDx+d7lDh|M*>iY{TS5sk~a~u-bY?? zxyQDRZX4S z(YsIVGC7;K&(U{cmfH1`_SxDkx%)n)c3f!QQlQ%lwEu#C-Kaa?xxYZKyy39=ZF#EU zCWG8<`L@kd&9h8*uIGZwi&ZhBOupgqIa;~oU7c^gZ7TSO=2`E3BUU`k_{RE1`||#W zKViOq6$S&N1NoJ^K4I=zq->7%3p;vdeS6>Up5k8Ge|F6zcV^vR>u){RJ+de7+go62 z=b2SA%&G}$j_LTCqJMsAMfLlLf84Youm4L#I@<9xR^4{{6gM@PUwP*o(|w6)C@Gj{ zR?jf2|FviZ#;;U-*B{xbo(A-hYh{m@`e^+Iz(4j{ao^zBTW|Tet#hx(@<)#q@BkT& z7;RyfcoQxw(5%}-*y} G8Y$QS5upz>E5!GBoj*G~95xFiR&!=d`-_V1fqAiOs*_@;2QPT`+8mIFcANd3w zDy;9yk;k1+I`ghIGiYrA`EvGo DXPw&=i^6M21$ QE{rkAQ+Lx1n6cmg00xz+Jpcdz diff --git a/novel_generator/__pycache__/vectorstore_utils.cpython-312.pyc b/novel_generator/__pycache__/vectorstore_utils.cpython-312.pyc deleted file mode 100644 index 4e8b86bb70ae2ab60877ef543c867b12300c6839..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11753 zcmcgyYj7OZmF}MDp6Pi=GkU))xou0f$4F!I@(W>* |q><+#x?8rT z9T~wIEMW(mK(L5SA`(O7U_c~n5U<5H`L|VDBP8N+qf}9aMz*WA3W1!gL;mbJx2JnX zvVf4?+OC; ?$!n&E})$zxAlIdnAn_S2V6 zj3yuZ{q)m6nR@T!XYckW`=3w#=5X@Jv!C`oGJWEW>1Ri<@aw)yZ~O`iqmNxW{Wcb! zJv4ptOtSw_vj6c*uMB+l?tuLYE?J|8RxJ(fQZ(%EvHCkZy`gBEO8a|msaolm14=L~ zdSt$auUZ-L8^w^gR}5v`hecWTw?W6AoT>+Es=_r@0$;U#W7S<7tC~Hm%C!bVB6inG z;iw?0ETN%VTBB0fuc%hRuZXQ-MYROmB2h`~S?yi5D=G!r`F(zwk3 +om+P9 zXub=2a?PTm1S4%SmN!QOU11;t<(xoN4n{ OzRVUOC`n~V z86QyuNgp-k$U3@iVBOK$f!aZCsAk-;CeEyxg(hmwDxpXst8@Tn1|kW?5!Fj8SVyiH z^>S)edrb !YuQ`KCuHKT)1&&a$DFu36%%FFIdY(zoS;1u| zS4Xj4O6M=9iZt~AC76262h81!mhYqYQTxpgQ2S_)y{izqY0`q%GDF} @E7B@yy zdym&PUu(20BJfI-4}?U& g$CNfcGvmi+;- z6UB$hijowSRI{u|s!fsn0dcoKut&9ZO2LTY6ZZ!^3}GP&^^$5MukVBRQ)yAgeaXWm zq1ID#$y%fs#78 XL)*vQHGMlKQ>?OSVAG&y!cjTNxsEyq zobiIS6WqFlD}TmhWeXBq_R*|?tYg6mj@LUBtsb!r|I6sAc)^wlZfnAocWu&<{{>}c z3$O?Dju+n_e_(g~{y;nsoahM0Bhm4W&Uo;lc%d}G$&*~p1+Hw2E1TfTCtdk}pRvNo zFJ)Y}bCy+gH&W+rwAI&|&uv^^zs`Jq9Sh}v!I#j9gFoTjlfa>e4DJony=LGJL!za5 zrk7EyFos+mIC|a{V+8XVMwfXs@Ze_ZC>t=fQ32Br;hXldX>L)n^uaM!=Ylgv=_%8Z z5{Bxv^s+X9BipEcs+ATj2RXqC{F8czUaN_US#{3n @`|`$kqOHosh1v|{>8~H;oYJj0Ba>ry?*(P7lCb) z{m)%~|C!{8U+|65hzJ!^qd%D%eP#ODSEk;1C;7w+`gkH!PSdL0AR+HUZA@6!7u^F* z&Q8D-zCbjBN q%s>MV;HGPl+3~LgZR_)$=(AmOvGamNK znqVZTD=&>Vy|tkzsCIdicV~k!llvsVL827M)YYhS@cYlMO+8XcX(oyqFfF9j1-cFP z@EOy~DZSN9oi;aK!I^s)m1*sY1XM@Zzn{Q~peU;@04*VuI#>gELS@N%pEgOT8dR5v zOYIXkkwxq^#Y|)&rCWgl2xa^l(mG7mV{#`X`ieQU7a+4Z%}BTF?W$Q4WoZ-K>Y_Wf zNSmRmXTv|UNaPvYVfgHFNN|A)tH=Va9V=Ozxj;p^$ILTMs<`Z!oh(x0X^YDFe29&G zKGp8?0XFUmVcF^PJ=EnVAlv67-%qLn+7eFkG_6e^cc3 5Bi-R(4{S3<42fZabKM#!3`9dAQ0Aa3 zVfWgM-KORMpU9wOQ5kB=9-wk42n_3!Qy3d6jKSnhdrEfz8_t6ge#G`0`9_aREeZJ} zZGm=wFrw{2+}5&pw_g^e8klQZ%d1@2zej{8%MyxjZGmv#tJ$q!&!m|}%EsnpnDE$a z-RGAgKvlxeC9QzO;~+~)xQS?b)tRxPvV?+0r4`j?Fd$hs)g2&~lh0TY31O7vfkZ~g z`C|~3sY}BLIoItk=||A-794OE64*R{u~Y08dMXVO7|WsWKJwjTwxP`*F`kR-Zy$GW zdW#*o@tNXN^6-tn-utH Oe>J&mWkZXuQjmSVlv?B+FIyewiYE&f zT`0U^tnh|}vmjBpJW;V?a#7`I)x@GZ6N|i89hM?{zhfqwa+k%q(!YJNfy%k#+SQGe zvj8DQK0*rDfGb{l%gFaf8sf$4C%6rB5kwwA5cyxqXO=dw1`JE`+dTZ6-V zzM#6nV*bFwLV1ovKuCaJY_@Ygi~uE?0V8N#-2!Mf;QvA}q61fb-j#;UU WAM*+?l0!FI-;RtDEW153ut za1YJ91V_v=4;r9JNUnwaE&ALDG+=ry2P^>kNuB`>oLx@?0Rjy!zxEE;mdQ7NmwaUq zV8W%JAG{6;fa<<{_(jm?T9>(+Uf1gyF3=E#4hs4W?%=2UpWV@P<@l>tel-Xli0klz zPKBTYsTwBN De1?ozIHN1@hZ8@|w^`)q9jS)gozc2^C|9@fx z2?c?K>QSnNWFam7t>!mhi-(Z%9hjhwCi-#?KN>LSf2X0PdZgZf$reZ!RJ8xhdk{q{ zBiU`3;5#%*sCcEFkPrt)N|~cpll+kE!9pV@ ^fID5ffBej14>{OEAGrnW2mxz}vJAvT8ag z4{KX6L9IjdjPye+5v_s}^T(P>Nokbp7E%(Sj}QLxuOPXmYm|S$=)7}+s{>PVhFSF0 zdc;)#x+Af8b*B2Tv2Hs+Kb!s9Rp)g&W8Ek{BFBqwo8W4{LT3=G(^g%#mO8iAR)4Gc z+#S{RYs}}@uuxVR#KEc^u`+lO+m!a}HY~2{>>nXHPPI|J;KuGX$INMHnf4;>G2wb< z_?OHvx(CKB)K|Aedzlytb*2<7(3ojKUme?lA7$R93t(ORgGI}H?Y!tCcOke1UmrRd zrjHC HCyQ<9 z;FQsE;g=L&P}r|pp|e)dTaooM_mxZT41u+@yF0b)(nHXpAO13KuRiJ%S5Dvdggd8i zN5Y=>Okl9`>EMU<#gn-O$AUwv#tN&?1V$=f4vy!p@3$s$3y*aV6~%KsQ0CkSB?hg( z%z7^CglmFZnaD5ex6RlnN4`d7+`f3mPC4`Ynh49PPQZd_(f}%jjgX&q&ia&gfb#9p zkTAzJfiFU~#Dk!Dk5e(KBc*|%-njJ7BZGsXnM!Yo4#wzW6w(_AKcF@OHW~we7B-tD zX5LKw5X4BYHSOX6=R)eKy&Sp^aGS;GJpkXOl`&T0W6VM>OTn}telc7dI!)M2);1b8 zB-d*>vMI(cL@PZ5=#4V~ BF24XSfybv`{WoynRVN?+$)#t8r`~=N5yWFJ8a@VH?N7b;KD6_OEao)=8Ziia zOuhSV^6i%{zxu+ZSC8vs2rH;G4_h9Uo61B&${saKMiWGd?hzwk&`3dOk%%Th(B!d6 z5>_C0NHQeA7|>me1i%i@ZVg8KA+TOjJmU& sNsO~T!mZN2eFS#Pr8JQ`852AA<#!56BJ)?l#e;eCmf3tuAF|`RgTIjxZqwo z=3Y8fJMLc7x8tHCpR~+asKVmD#snlyiGsqu#!vIh`?<-|^1=2KHT|xHqhzpY%yGkT z$A^yf7hM$zcf|#F)tI|#DDa#17uts(9$$XPg!|6K;uV7({Y{DT>Vd{joMjiBOUIl` zht^Lxs}s)B!RVN?W}tB pZ!ag@ZF z5{-8q5pka{#lLfyl!NyqOu7+dvhMpw?_t=~%Y@CnEWm$UK61s<@ZS=%d^>M`+Or38 z++;{~Ys@NtFYQrW$m=H yrZ6JQE9fql(zXb>*!-ENL=g{jHT!)OF-Au~6$r0~nsXi{{ z-AvPQ>MiM9uwUohL}QU$3k7_25uGw&(7TBy4CEOmjHByOAfSn$k;kV`_MsHY5J8&n zGTA?32pjN5>aqjO8HlH5S~Ny5^|N m1DL< Aj44`k!v9c2+{ZyoCCRRf(S9Q5ay53G4mO- zp<~z>E0=x)T_#3Dq?nx(DK-g~1pyrky1 n2_;A!a~2Y&RKYdJ`MH-ix &&2^?i(RsmvTVBdf)Gon`(BHs-c8IkW?#=E$6dg)xS#khGcDnn~_pbvW9 zHAlX4z1#t=+a!=YL%!R){u71~`9Af|lbJ$XJK{1m`Xo=h0zAlm?PLu4uJ-WL&%dDI zMsPAsAAWcGNr0PAYN07zW~Y2r`nej-X|-CTJ4e!!fEFC1NxpLY(wUd0Mt`SMz-PYG zpFH|ojWFCMPyPI+HEY&rJz*vqwMzqs00QfydNwT_Ne4+x+zXoI_VRZV=N5` VCnse9X0csB46dyOxi;Zt7<)y7Ew1qF^kmKYQ!h z74aQHyhNOEwkGll5_v_(H$1iBbz!{xw%3J`oI(FDBPSvw!dUrj<9W3J!yVcE`w!nf zc*}=? 8p$v``IDQo(ftWdmaaf>*B5;-? zqS6M(aTK`Kt_5RrrdnwH#$IOZ_4S8$(ycy2cz3hlAvc5@5kGWVh%M;5C!%yt@H{6q zeX0XvsPnEl;)m^}576DLK=KUnW9h;uns)F?x9)g2AQF-B;F>5+55JK7#bNYgpE`Ky z*yGL3J2mIFO0QA*T}^j4Z1=&rv!?reySCnZlds{P`ki&nzNUM(+ zn;RQ__pbNVeQ$?vOJiOA&MljJZb-u&A`}*SI#0eOM$PQx*b91f_68+5&|;S5kXq`~ zz?iQqvKMUN)*wXoQZhs>*V_cK)!!9TeC>+TDeKMYSeaA_@1NnLG)X_j3J)YQSZ-k6 zYIbc2oEyWKpJodCGL}d>0p0!!`*%PBW-aho{wEu1kC=|y2kh~@TgSMyiJRBzx2wmv zH2@cC)?BFm&RF$#j+j5 zmWH!+XK#)dZkyn?8~A~oWicXAco68(JL*i- zIg_oPHlK4;*TI37S{BM4`pQ+<<{p!D5<0cDl56@7sK$5l&^<++emDfsE 5ERfTU1m~*7@*X^@74c$lHyD5eeg2@dF9_BK>T}fsk~a*VZ{!v& znu^CyRAzTH8X~8dNUV}50@V!G32_O+aZA{siUzY0v`Q#;$yYy}a=N3LsB*PhaC?(9 z0=I~! j*qF_k15;76x6uj_h)KZg39Z&UZC>E zsJuj0VIs?&u;(1D9;i+@>JrYye{oo7(~O&RM8k!G|0tQ{oo_&!Ndx0pXreO z5qsRRY>cW*Qk8$E*8G`T3nXV46Mf^*vKb1p;bpU!&2ZUt!BE}|1=(=^EM_yjht3~` zX2@plrB~4TBR9`dkbQnPZKLxCVLW8RPzTxPg-htt;pQ0%ve5v^;yz&(Z)djBWpu@; wd4_`QEZ};`KHpeG=bnY`ki~c1r{xd&w7h-KEY^R1Q#O!ab`|E5Puwd10~C2I8vp aWY_`e#~=<2FhLog1%Qm{3@HpLj5!Rsj8Tk?43$ip%r6;%!kUb? z1pV^MQghr>^HPfvOY)1{Lp}X8nQn3CCT8ZvmuKds Ybo%$WH2%)HE!_;|g7%3B;Zx%nxjIjMF<96)^_%Zfpa56p~=jL#Ufir9c0 E0Ot2F$N&HU diff --git a/ui/__pycache__/chapters_tab.cpython-312.pyc b/ui/__pycache__/chapters_tab.cpython-312.pyc deleted file mode 100644 index 7b8a22be48d491c6709d3797b3da84decae75c50..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9829 zcmdT}Yj7Lab>0OofCUHwd{d-I5#mE6D2X9uJ#2-hMM|<{%c3Pqbz(*q0&$llC=j4` z7owzs9oXZ =^tze&N3TjnrTQ%nrX+X)J!}6 z)pK^S3lIclI^#dR1KhoP?>YC}$9a7B?!V^eJ19v1@j_x?d;>-O5nuFVN);XsLScep zDV7dWJ=&A*F~PejXdWUxgvL5^&@yE0v8rVfv<)#m%#gjuKIG_eK%M1vswa=NLhfX3 zkms`u^$dZeSLu-rxXePbDU2Q`9P@OCx(6Ec~L3q4RU^7ZTIyeV@T|!Q**-y z1AjC8AO6@%QE$LZ$0?j~b{a&Qti;mSQ$3ASK7GBApJWlj>!59Q9cyAuH_X>lob*@W zBrI76r#+|46`W$8PBZA#OX+9sx#+VVrK9wqJ58;Za9*s1wX)V5w(AzHmZpF<_jp#U z!5UO# 1UK?^I)xt(lvUCb>7Iop3;X=Q`EHPdckV3 zt{d+3dVQ(H0+3ju%Sk_1NHj;yYe*!xKWj=XOZTUj*uon{`p$#C8`_dF&Pts&{fyH6 zsMp|KvJ=!+W!F&@jJ{Z31CU~97f^3nO})n4m`Bbn_x_cD1kY*-D^`<4$r=*ve}=?T zkXZXA5-m~78WM5$tZdmD8dJZzU(nHVn9YXkDNhEgTdY&TNVe$Z^m7f#4z>d1R_aPb3?u+jI1O8!=;|0%Ae+U91j}ZexqIHA|^bd&lFbF9oZsZ>NTCYVh^WhQ2+8Yi= zhC+%}5CgquFDPW#&z@KF3-^%!9;(4T+?fcPa(laHapuj%nb@7{aj)s3`)Ht-4-4Tw z(esl3Fc-LoG!SeF242P18y*_+hggO5K}1#P5wC^M2Lj%O8QK?Lh#9Vi+WX?n545g5 z9UTe|-Ez(!jBs9}Sk;1{Fz5Vyz<(yl@#V;g>!NY~`opD CZoVztwBv(SfPGKv|tGQg})BFmZ$m842^O z*91@AKddsXKnS=-XekeW4B0z0AO!Oul(JK9gut3~tsJGrR4k+*7V3LEYJ%QUI+599 z&RA)VntnokXu3gkZkhrOv2=f7Zf$A3Xyroe_O{*#Mp Q@FfSURO{Sh9w%fg)l0Ht=R #J)2)$4jo$W`s z3omeh90ji9qPx8-B8uUVUZIeX0M>@P=Cx*M6e?3%`xS>~fx@sqbdB!zRwy=@1uni~ z_Oq<9A3|zF{AUy=7_PC}id*APSD1UnvkJ5S G%Ai&inI8J zkg`OD+`SQ=2ffgFlv1AS<2hkKuMm8}fFP=4e-4$3Z-k{%93b>03=#l7Uyl{!Od!Pa zs6 vGvI5weefA)-HyJeSPZe8FjK}#E` @4**_x3>O08@9% 7Sw#q&i8Ozs{;fchRNM@zKebrcU2FDIa`MI{0GZ zWijcF#179B=Nm^~J$l(6r(vq}OkM0~l5~7^hE1EV4!t)tU7Osr3zu=@LQSn)(<;@p zPFLL8kvMizKGrWC>rcEA`5!PO`dQO|X^;C9b=)*y`fu EP)E7frfH*PKdG>BROc+vD~`>w(*>+&v(54}jER`VdMj zK5U8|nI~?Ult`pxvM}BT+t)U8B0)-$q;s*M>F-bd^whNX*0#i71d|OzIKo zO=(CcY-8VTU;!;TzF6(KdiuT7QwQX2UDCF$+hvIthmzGHRki*^%$DQyeFtT+>nc_w zk(#(G(b}0LT^S07)d^2q;xUkSaDjk(lPg=L%GM-l%c6>RPWfl7w~pUFp7_qG1gS}q zm;X?)5yh3Md~>9RZvnMm5%w@xAx3yu1_n7nMb~{Sz79;7290p1y<@JoK`=Ce-XI>q zv(jK*Rt3BQfTfLKYWfm>gd 9b9H6Nf}20Sr}P#>{RR$`4{FVJt50!>900lcynT|Uq>0?o!8 zG;rY4S1)Hf9N6{tQESvXSiQOrefL004;+PRR#O0&Hdf-TAfbS2^J*%*1iHbbDWfDx z`4BOxY5gk?l(jln`kA>KK!K4ZE9HV}`rJlsQCseQ&(Zw%bGPtaYskScmz8q&z}j(J z(<>r+b+#yKVvbp+I3P}8LcLr67+|N3T>`FVt&hw+=Ml@n=II)O@&I}|yA?(c)RE_) zgQe;Bmp}N2&xFjZJ&>7SHm#Z!G@upO-%R^z+Z&x_k4JrSFa1dHd?}*kujHFOR*u z{I{{?t3O**vHsmpZZ7@m^*_d51L%qu1cn6P7o-Jl^mx2wSmCMAOQ`@IPYn~4n3@}S z3}Z!4Q2Y*Pgp-Fk5E9`*pBIoUg$0=QpnvEL>+iVOr~?Om@G5diV^5v%Ffa?~xMI{t z`={uSo>m J6^9`Dc~KY%02>1mw2}=FchKL ;xsi+{ccnPVpbNQp~!g|4R$g5=oP22 zEI16iKNwVRRt2NM7m5rC3f-sVLE#L?`-WklN`Vd#bug(eorcCzc#J=Qqr>b8_zNGx z?xeuHM{;{)cfI7UpLK7M-P BOEZdnVeiw8xpL=Go$1vF8@@@-OWf z-*c&Bykl}(GOrQ9{-yl!{6ra>WH=T1dnCpqGtCmyJYAb$nv=|~dB(L^P&DDV;+Slo zEocJxRa_c-?sxfRWAuEU^HTeG`=nzouWpLI>A2>Y-aXf}cfNAtRquP=__Ncd*~-V{ z%5O@Q-<)~+R@ZFhp|K ERE4gdu-1YMXRdPX{R8SW`GFQ-g-%h#8F|rrRq*Q`m zWpjd*Cdt hb$gb(z#Xbr&e;-%1*E3#KTnSoO93pe2Uqj0fv @&iBz$Mdc5;4xweNTaJmC)Q$i5?k>4Ax15b4U;94kvY<^ zS~><@Rr=eYIRIB^fmU52RA;A0x&KFkmM;Sxxj>7FrCC#y{t0{|`OvK2ca56=4ESPz z45191b}sk=U;^Y=Kn|<{CKZmP1FKOFup{Sf^`LPJr}1MBH&?dw?ybR>3%FRLB+UoG zg6ZauL4W*l%wB*jf*>sw1JnrNQET8L>W6UWv-H8#=byc*dQtw{K Xo!I@-Y;n(;zH2f+ z9*m!!elk(knPj>^%z~?Y(mCsDh#ks+`RXyKVG6v-H&)k{&ylv(0N=2ff7dMLD+7G| z{v(v9Z?$sWW1;qEY60jEM$N4BNQ=y2RR&mtFDmO8LB=;WfamB-)HI0Km04-fu$FW~ z)C7097S)EWnKrzJEua_5O011#^i{}pv@zyGM8g83hPA>CyJ24dl{01oBgl0eu&ZNr ztn>rkyzU5|x$b`acS~2^jMPI>Lu>b9 0rI2&HVJ-H)x9^ abVuuz;+2v@G)Z=p`?o5*HVBB~WlPIZAH0(*# zKc0B}aH8m$Ir8jk`$oToOZjl{5%!&ml9_QFSTH>@5`yJ}?rDT8ayTTd9d~h~vQp+v zIM^9|_5f_uAt;$HI^a-j1}VA5hL?0%Dff7y=B$I2;Z4+oRaPJPn&Qa7E243kkjrDR zW;mi}P{Vz^hW}yw)Spl-moHtu^U*INcsc=Nxbw?P%ab?360|QOi@*3j>OYf4=c*AX z7Pt!K&h!1iq=g*ZN;nmORRltP;cG+-X0{ZvhI0*k-m!(?Y99&$0b-0 35y&;%SV*-<4qs$@s4 GGA0WNndFkv#A)nMq+AYrcPq&;s@mV-BSJT=@F^^sU)*+fvK82 z8Q&?_?UL$tP4`Q69dpc6i)e5gC1&H~;l!4Gb4=$Wbot%?H@YkuI+|NEb&ST+sOe`x zgH*kzFT(b$srQEV0#PdE?tPWs8#??I^xnXjxvs+Ct7b+d0(?ihc~p7+FCmK{o;Q?z z`GeTf L;-tvlzDBR1069QonWLa*146Cl%Js z=GVtxk@A~<16J_0Y5D#+=76f@-Xayo!uO7dAclv;vv57Z@%-a39r#|9dQ(l`9SO9k zkQBb^;HMYuJBcMC27-cyc-0W721ERgp&h6@v4jULHTr2z02l2VrHa=+g)r?yVKx%v zI`}bY0t=&reURNZ(=`3iO3{wrQ5%0xZTdac_HWdFiQ4~ww9uXh-=!<)#~ qcZwzi6a_K)M4;pbuWIX*az%MaF$!{8hvGcp@v z`g1+o&%rYnbHzzNVR6nCbH_dXo_IxnMV#;F?Ku*wj92wn!PtG0>93YOKx^a*pta+y z$giS;UXit`;z}|pg_S{dOmtb5RFUN1P$Z^U^+{<|2_`ifNrZ!%8q~%#t3DJ{Bx=78 zhSY?nBs5rJOP?~PeK#V96|Ea5$FyTgLJzU|GhoNV&jr7=KLb4lCpyDKalWKQk*B1| z>|B1OGfdF23(AucMtF=?JUS U>C2t9E#zHO{Emmp_Z_ zhIwz1%Nfa@`HH#x*(cdF8?AHR6ni|g%)?*heAS#gH_tK;?4rKN>x|af1$fSU&0PLo z;0A1;MH%4V?8p}Tb#_A@yPJ*Mq!zR`7PUE}hit;7xpj8owRa(`W0NPG)r$Q(HrWLF z>K?F3ts@~nahe%o<@%GAlP-|m>dY7WXlrrojO2#&!~VHZxy=vCXMM5XWb#&B~^XG28yYSCXK4=#?itADg zC>=*PKmBm!{PfLFFWmaY$E&z;i&ZR=QmHI*&{Ju|=6wjoFzOoMxArq2@3Memu8pIZ z%sCh|$!htSWSDdT-6lC$EpK61zR;rO@Wqwpe#v~u&6DD-!kxH#@4MOq?Gqj)A@AKE z(owQt0+F>X0H*U6FT%F53xL~l#gv5ATzrF;2&sBP3&x~DC1zCu-Va5>I#onsxs_3X zetSKu8rKMdbXXg ;mmq2M{l+8I+rQY_gOc!VFFEqMsYzo(cbp}`ck z8^U%|@Ed}EMxPyC6uy3%EH^e!@BDe>boCNnWAc83_nUmX!M9(oy!O>=t(gNaX886S z{7Y-F3NumD`7LGqxB^)(sdP;UoriQyQxndFMG{FRwTj> zv=nkCWZ5@MJ z!s6{EU_^Jp3;UwqfSaZ}k*%T3WzlEg4f $2G!HhROLS!JKMH6K}D^VZgn0`CWAH=AOIA$DBzXI>o2ZVjX6rhCNYewn>n z#kea?(qxb(le8G5W%~8Z-mWZp&fZvYI@21+v>(ipL(2r*-Q2p@*t$1M0wr8Cb+h{y zzH@Ec^=+B&y_O*@H%LGA!(}~!dg$V73An*?OnSqW+Z+gCix$u>_l(qehZRh+Nh{QC zQLGe8n#>ll6LXJNs6onAQ&FKr93IoGT*$DKoL0zmY0kmVNf(@}OjQ)cST1QYk=+iK zvuKZUa!n;d@F HEMejXK33tx_X62o??zQ3Y;-!@zoxXG7>g_8R zayjhQd#7&x=?`} ^KPlBA~f~27Dh0)5T->;vLeJiIIZh!LLovZJx z{N#_HPyJA=wQBHlU_{b}gQF6qSie|q{45xu=oMCVa#&5JB$|Nl1dCIXn1(SEMAb-w zVkXF;ibn<%)fCGU0nDVBZ`5!BUmOh 9z)o(C C!M;+6_Vk>qcns!BPmm zG*=Qj<-)5pbZ7^xLOYRQ1kf%d&jNA6AQwL?7e6jnn)+^ka57gOVi?rW=TI8GpMDbw z`aV5~1d}GkqJwrLIgA8@mLlxYBS7+gPJ3|T1tdp-lz8^na30A%eD`A@|C?todFxH@ zHp9Ek^zJgeyJnQxR~Nlco8D&(?=y?uj;SN%U7s|*J(eZDW$05ge3ppd>?Lk3dhKIE z!J;QMHLjhAK!j3?`-PGw|72r=Th}77WG?z`E1*3rL5~FNsD^qm4*wyrYYe+U$b~f? z{&$QWLAip0?~JRm9#gvL%kT=_A}Ip7>tb1U&BL%&e`B8fjA{Ej(`_)_pE3KtAkFOe Q*)I-MvR!M9K tjIWCTrc7s@#5dc#>VKt{c_%WcGEST?)UgZa)#i`=i~5l zQ^)8SeZOu%e^jr>cSFD7sDV5qjz*9tb<_yYi2lfdsH0H>^ii6`qxz! LMF9QBP zZ_?{@S0Zle-0&1#pHycl0G=NGd%^ExF`k${qv})e)kArV9@-P_iMp$QFZf-rgSb(P z<1z-ua5v(;U^#kq+4SPro*0k86M2_<58(wjX7ZT&OyaxRXN-3vB`8DkG^=BY@17VY zilO0O^hCsIJ+w7_*YsYb_-)MWF>B|~nD53aP mKsf2G55%Gv*qzkco0A5A~{)%WLr{`#ly{A%Iab?_hk z_V&Wd_kKVAZIZ LxbS=J5Rfz( ++_ zN?V(bv(Dk;E$!W1Ll>O=+ns|>*5MvvkB{^o7biux+i|LD_;P@5?sp8FVjLSrOL|zR z!|m+u$FAwV*y}#qeb(7OT-Dq^)Z^%PZGaasrX9*~<$(9caow9SLRvYORzBVJ>$cx^ zeAsb6(|eHNo1MP2)1N~OU8#|^!Xse3*vq)j1|rXrK4KFvEUIT{V8AiRJi*G98rURw zusDoMqXH2oQSjT`fK%HTGnLxZa2*e7Euuc+zj3gWpJ?8?^kYMwO+dVW` z8Vfz{>^~id9Coly7zZ(8wQyvxSy&LxcNROH0K>-O8y3!DcLa>5Nx4RnDiCqXJ?O$1 zFsNUGKhd$-7&Aq?+1Oh67!QB0AA$!h^+k*>)^e@mYR6;>Z?=tZ^;6MTcD%gfdi~^u z>DC$d+_v!@K58d~3RF5rrBB+YTD(-ck1Bd(jwi{Ir;g4rKJz*yDM^y~C?@t=<<&|* z9qW&^_~R`8c&k6Q;O{M`zle=8MUHQIYS9_#D{U{gT`!tEKi=k}?4Ot{;~i`+z||w; zIQW4B9=qc6M-cj~;qKA(Q4lxGN!Z4t>&BdjgP0oAp%2?X%rScSXJ8_j2*7O$#?(%) ziSJb9%VjQ6zE*k}TLSztmR>>nC{_6~-d;g^T9saIA9u3UOdg%|9k6+-W@x%*Xr@-^ z<>=Cwk=^hm28Z+f#2fP;{c8TT@62C+&(_h=Y3m$foc%VJ)9vmZJma#>|KK&-)`3$_ zhJl|-Fre}$<5!>D{&4<#w =dI1j(FMHoH8!7zbX zM{jUrfCw>=?3AkLQU}Kd(~IQ?tixD-cd%_p!o*V}z5PsgXl|Kepmv_A;>VDjNmjuR zi^?d~v*iFcLGd;b_auen0Tm#%Yk^qB81sJu4-gNn%glMZ>Q>csl2F>jl{WDi>&9Ds zRH~n%1uB)JQUxlDqq3%~)3r1E=k)jWUMkB+?f4`;TS%|q(kq1Y8ZN!YTf3D{--ZcO z{Pse@-oV)#1p6A!zQ((@lec%_mmGg+nweZay@e!s8mY_46S8Z#>>44vfy-`~>E^Sy z;-`!+B6Y^JNy vgZ$DcA#Orj}6+)G6q2E2d7pf|M~#%nPP8g_h}-QP9;T zAZN_5X$MH9jUu2W8La}u8r#f1ToS_^6W6Pg+NlqB3t{fP;BN`}jYWB)Ts=&@8+T{K zDJZfJw|8MKJUwG!tV{xv$RshzOo}^Airy!`Ng+C2pNu+{Fe$%2T>rzI^o>b 90#CW10JTELN z{PgIV^t&0-qWfyb)r>wwAz=>sI)*VZneZ>`Znmn|m0Fa9C4ryXkVrKeqdl}{Sus#r z4k;^FT^7VHUt9)4rXKZ6#0r}mOT;ogS6(@xu~fZLu^2uN&DcB!CY`Y}d3W=rmK%%q zL~GU^2{9A=%e`A5^$E-^rIocyDD)VigrblVkT_ksCs$fRu_ppbCz)$Q=NS_0XLL-%U+Bjysy29j{A+>UZ;*0Qo`8KD<-WIi ztV^_lSc4aBg;mUIXoZ{=wnFI0m)Ap8?N>7LS1EOt-k|Qv2uScGEKzq6?ia258fGoj zy=j@cuaV$Uo=jrM2$0u%vbS6Zd&NXmE8wCY=CtQO)6A@AHh2=@Yg1SP_<47ugp BVvX3aIB#uuwBgX&smZ&WmNx)P-`y 5WMW=}~znM0#`^^l0)6^(f73XWBf;Q1@1;B;~2< z(G*Y05-lOt<7?_sWoN7n(Q c#rEo!J5XyK{y8n;g== zGF~SA+X4NX`hxx2$#i;Bq3+1s4s)vhP4lEJ(Gp@k{#*2~21GB=zlBnzppHAFcjdWk zt+e`g*}W>1flT`_$8 M_3^Igps&QUK`Ur=}W+}TO27`G=l-?8;O>Z#y9NvWaj5T z(fMMl{}Y|B9(~ek_chb`GEP#;(w-0hZD{q&y3##eJxbX+9dgQ%mGZe6CdBIoHRu1T zL2IIFvAY<(iis1Y&R%?%8dI8nW4fz)Eg67Ech?}r0coj@Z3YmX$A9|*FET_}LO;OHN5x(NHb3uIVSf3M3Oh($@XQ<6oqxPJ~%D5?uYi@aYHWF_?u zx}EH4M~@_??!Mq)0};SsE{%|R*@GYna|O~DMP=BbVP@#!pvWFZrl@UvTx1ZZvd+`2 z({)y2W=l~=8#MUUillFeRJfybxxfQ))}vJ5(F$2rTvnBkRmWx3&8(lx ?pV~QL_S1HOF6Zd-nPx9t?xQ#T&XkJD8o8`SA!{v{wU*CXH`mN%?ed!~g1L}0 z7YgQ5&RjZOF?0S-^#gO$(+FMmZv8~_Vh%743Nmb8qD1+uM+aRFf#I$Xn PT31gS!B!Eu^O&d(!fJZKCXTmna8R8kQ{w#m-?)tL>jz z4p64cmZQO$)+%R-S^%d#Ja^Jc&&jiXk=|h9-k|QrhxAESSVO^2Ee^S|$9`t3Ez>(; zW!t{?vX|*Gb=j9Kmo25%5j&JW|C=9zxO3sVcOK1tZ~ppg;+n8<^A{inoqyvek7xcF z+X}G)QI6qWRL2N_&c-Q+%h^4`_Jf8JN>sZMi-XRFb6^-%G64C1dYZU}jS$0esoOnt z&N=9MqJ!!NqTIa$&Y= Pw*@Ej`!qA|! z)PeSgv&ZdZMyr=y>J}&13J|*P!d3`Yxlc? `V^fPi zIbBFD=8}u2W4Yv2GncvKmWgej;3}5InX?45jWgS(Qr^wDoiW`$!}9hfP~9MlTsCLU z7R+|eY@aH6x9oP=^wHS_KCjtlUQa&fa^_sYoX?r_r?$Pj LOx@* zg1LY*7rb*|deyzAJ54hKbNl%6cD`_j&%84%i+8q6N8XFM6Eo91m&BKB;|sR?%xxr& z0^~c1QwQHYdi&^1^lUv}xRJNZWvQ0qqI+d`%Dj!+@2Bx)dwu48AkU4pinS2T<(#?v zgRQegzb*T)Z0>}2{~^BVFyC;*d-R02{-oDj?lZqc$}Hy0#e%t(GuM9L`gQ&6h2M^T zIC{Urd-yoN@dUr_B)_`bYp#_dV-*E+6=$ycV9T!~X1D!z$A>%SE_?SL;F}NfYYy=Z zhrQ;i2j(MBvvuapu-$`R3)$7m+k=xZcS3iyT6 7M zjipc8hhnU&5t@s;3BV0=j8WM^Ux4}RmUpUsabZ#6Cj-l;NB;(}^52rT6nfodiZN=J z2s`5VUY+(g#)!O2w<1`S1*?4;i=$LKX<=ZZ$v NX{Y^v1+97HsvmWK}+F zb66aZt-bKekLF*Ul1T+yrEUJ#AI@L-)%?8=AK!ax;r5?Be*X^WJ1$K8^6}sNaQ-_# zoxlFQPv4yxLHHlv3x>(5#g9#*F5r)6=Kta+;$m~h5LBph_qzL?U1Yua5-GSRKf3k! z-n}nzsE9Ge9Bjp3;)bo*Hvh|iG5@p4`8TKS>|O|952AM%y`$(I2k%aFz|hOEd+_%@ z^!B570KG%#9YOCHc!3yE=?xTK+@x?(b#o*GzCk$)6W8ZoeOuHhk}K3?gOv$s-#{Gb z>9h|HkGNZV9sNUR0@0wy*xic(0V6B`y~D}^Ch9##qu!&FWrtW6_xAy6WCXMUjp#Q7 zXa 6&F@J*o#FTj5Eu@xmsii_{C6`(`Jpijf>L$*#>7h9# zxVWTEpPX%*ZJImoEk~4$S(wtMD8W|8!GBYozou@YRWRpp=A6kf&RhxVG>IucVs7@` z==)(mpOEiQP4}l|_%pKnnK}N99Dizt-&XQ4BTvXE=Q7HLjA|~Un$M^eGS+b!>-dcI zpC!huj+vkYI)kG#Cf9Rx>2wK4*MF9#i?;b_yPq}-w4FnWuaKh)r_TE5>W6fKKxcAv z=46| o+&XEd1=9g&%(J(Qn>F`r_KXg&(~0 lWhd~NuWm$ zup{Dq;{zGriqMnQW#P@gTDbZ*P^+*C+rLD_DArlbP)s!c&d(oz@KZq8W)X*C83ZQ> zBKnHe-Ry0tjs@7CqD=0*Ig zJR`h^?6VP(5ybsxfWmQ~eKqQZ5O>rIA#OdOU>R|1?X*#!T!nThfKFq92xarZuHFQ- z3UiQB18Fa}AVCU^o%=IVXrSfgQYZ`-C{0GF3h2wFl@>DvtwJ7J3?+@_Q(9~^^FXu` z=AH)*C|zsEzD((EJcdGCpZq3;0Bg#wyi0Eq+ zw0`hE-z9>(vJVE(VW*IM+ zFXV`HUzpR%QGx_gXt&0iuuR}56QgPk?Nm(~sbnTJl!b#N%sm4-6!C<)XQbE^79D WzN>DN8H%()d2S=UO{EtPdAHIE!qZ~Wi zv()-VRL+4c*eO*(8!ia#kYXrLX&eG~L|JRQl<(3T;f@%9EU>D{g3A<5g$X4H| z$_EL*Fb8XPf*TnS#CeR;8nbAtPmLMBX#}1Zd8)Shi6e;Df}449t50_Lu+@L`+xHiK z^x@(izPP!^#aG-3;|5%0mvoiV&&3iM8AeV7vP7O>kKZwdr3#o>CvZ2Mzzy#{N7yJ| zMbuQ)1R|V+42!GolUWlaGX;$9q2b=1fbk6MwVeU;;0Oqr&pL)dKbPTve@&rdl zkfb3r5;B~EJ@DZ#7G8V#(TCref9=Q6@IkWb3dAoh3nMU8v_+)Yo@_V7V_!ngfnE=K zr_ghv$Dnr_y))>23%zmlUIs4^F+4P^I@8syl7^^j1=1NJtw>WU8YUMpyBw#T-6EgL z9Y|N=sk)S8k)wPHm)78S7Rir54C&x*a!MJPU(m}Wtwr6_BqUzd+a$m&^|<(1)$3w_ z-1AN`_f(C(CoyB?{wF^ZLdO6JBXStkIKV(c=drJ11LGc#{VsaA-7lqO>W?ti2Jpi_ z1214vT0|rd*`MOK@1v)%-w+D`y$4Pr`4YuL`=JD1&9VfaMv5OpzOG)t?0*DdPD+N5 zQq84Q3n}$nN }z@ZIzF@cVMaE>Rm -1nmdj<2ODw<@uX72u&SaQ^)-iT+=b3shex+_P%tEZ|V=>Do&r}%&UKA&i9!M zKS@j#5-YjHN+Ge9ORVJ+>-~^_QW=+2CL~pHNmYDOjUPJ!n_oy-&84j7Q`VApE8$X0 z@O ;b^jFC@XB_ua<$<2K71`yEQJbB}!D5T?)OG%EETvp{YBUEkSs dlA%6>(zlG1=N)AVsbLr(mdNr3`&8OG;;Y=jyT_I;J zm$R17S?ABq7jjo~xvPcTbzJT`K6m|Rsphnp3G>qoIL~-NFR@>}nN=KJJwpjK`?#8Y zLd_wr<`7?VM5yWJYP$Iv2S=asSFV*}Pj2AovZpjf=>KOh6sEV&w9Pbm*B|$mop@kA z`NxOxX)EU({Ci8&Zj;Vyir%A(@FwN$UKinAXM}ge-m=3vPdEpc{(G=|SIjw3jy7uX z0T?4;h(^8@!9?Aqr5zJW0GCt79Ro^{$Po?89el)CKu^M+hDDj9L7SzkwHpmpa{`&7 zvVX(Y4|A~ZiuU0CEhcpTrd^)MGwH(~409?PR+Akc K6BwQR*EcyNe&evYuS|-u#W c ZHeoMXl$?7+U8HlUy 9%uMfP8l7`vNJ82naKWqq)5)D<7O_+^m#Y!_U<|2-F?)1^q9Bk z_yhU`5uy>wfvB9aI9%921MdmoQ=Mp5Mn(Ln^@oBxF{GPGyeA(`f~+Dq6j40 |qc?+onC-ycjwT{ #8dFBhhMJ^$-#O@wMJjU>YQugoo@pgm?2Rlq c7)={y&R-0mFc z9qj!oy0gQ!&ppEQ4&8|$oxt7?En)ih{7=3cL{LQJKWg5usHZiF3IIQVG$Gbv5GRn; zdq2FOc_h&1hPQC1wJIrwl9ZK#(Sx#~3d4h%dPEm{0