From c1029d54dcb938a8ba736f87009eff5bf29ed953 Mon Sep 17 00:00:00 2001 From: Laurent Franceschetti Date: Sat, 14 Sep 2024 20:43:44 +0200 Subject: [PATCH] Document how to correct issue with macros / admonitions (#240) --- setup.py | 2 +- webdoc/docs/admonition.png | Bin 0 -> 28394 bytes webdoc/docs/index.md | 2 +- webdoc/docs/tips.md | 136 +++++++++++++++++++++++++++++++++++++ 4 files changed, 138 insertions(+), 2 deletions(-) create mode 100644 webdoc/docs/admonition.png diff --git a/setup.py b/setup.py index 508ed57..c63eefb 100644 --- a/setup.py +++ b/setup.py @@ -12,7 +12,7 @@ # Initialization # -------------------- -VERSION_NUMBER = '1.1.2' +VERSION_NUMBER = '1.1.3' # required if you want to run document/test # pip install 'mkdocs-macros-plugin[test]' diff --git a/webdoc/docs/admonition.png b/webdoc/docs/admonition.png new file mode 100644 index 0000000000000000000000000000000000000000..31ddb6d4b9dcb31d7edbfb4acb79ace1fbb945cd GIT binary patch literal 28394 zcmc$`byQr~!}9s(pd0fIXT?!g@b1b1m%f(3ViI|L2dxLY8&YeRtGE{!&K z^PS&0=bkI$jXTD>@BPuEM{lX!wQ5(@T64~|!j%=JurWw6Kp+sdjI^XG2!x0Pd}z>7 zfg@8LO;*4cg0rfWIH+=zd>8nEY$2u~1_D*bVBQ;}0KcC(NNYQTK+k)gJ_rN$C7(ec zJ3kpou}>Zbhbw5_FF%l>p73O@TJN;MR=x0Wnct}6;wmeDQ+=r{ih%cWy%rYzChS|D z^f7Q+Zl|pPw;fFH^=r#1MNcOB_1%33)c5bzm7TpsXr}wn=&hh~FUq{2prGFU{ryFJ zVrx^?;GlGq7pxK)8ClxMD5v_pWx*`h=hYMPv6Ssp9>D=0Fl*r!w&6yHq@?6$RV>u7 zurT@PE)X7G+%FDd>Q}Gc@u4CCr|7rwNl13jR*>=V@c!)Y?ROK?!abCTHD48dN`rzURB$bpA9vW*qiwZ_%u0{;?^&g*~Qn*k&Lu&}{R zVk}%dyzk^e2(MnfN-$*?1x(=df9ED|$~XN`#jd~W>+65Ew~L9~DTI8*KSpIz^VltO z&4#@kBw{|6CuY*F`8->NZ*3Sm4u3^UyLGhE@&Xr^Iv^mRpHPODBZi4)`QJtjuy7XJ z7>7OY-v~BGR|Kzpef@)KNYo*}JCTGlD)I~ZoM0XIGU{IlEcEiNIE z-`{_|9ur_jxqqtyOS5@m=88tI!7zCX=td{Hzv0 zBgU)Jb|2QzKI;qkS z!jH=xYz#`7$s@Xu;f6zjt&8u@PB%jY8~SlMIn=-6gwhjPwZ*MIRlV98PMl4k0DI~^ zt1eitx1KY**{iQHo+9J}pVck5J4E+sHowxT~_`^@b+LD)`W2fZ8R$@*Q(curWC+q%5)UG zIp0e1bhVPnOq-!=k#$z0OXP{|r`cv3oFpjw{Lnx0;)N3pzmMbU`PK;SOqoXV?WGk% zDt+Z&u#KO7;bUdnolE{%}KtX4E-hsm%| z1+h?1zBir!9X32C8jMPZMAkp+>HBFOWi`3~oi(0~x2k%U`^}nEGznYrXa@IeuR@Pp zO4Xny6kftM$=iSZlJ%2v2sS142lW6mr7vGf?gj7MZ_bbXE}_qUG4I?k5;ENq*gl(^*UCcZLdC{ZPv1NB=ktd z?7BV^BZVDaMt-W)TD4PNv&oWb*R692{;hU%bkKxrTH(yRO{ax|o&~>iV!*C3|Md## z7M9#xZ?(haKu^_z*s*&b9P#cvg|EhYEA90N6VTZd9az%j8EVV3<*&VlwZ8d+JVqt= zT-MQY0iZR+dJP|VuvpJ#I+Z!UdSkQISo_1-khT5bw;5}EEabK8@Pxg*`y!j=))6gy zB$Uw;m5t3gDBR%|aaW4U!#JFNGrLBUb4ick~0ABZfTmG)+GIURfSuKjD@=Fk4en>xiM$G`|mToa`UlF z2K?3U^mCPlJhPs5OVRpgvzxHZKYeojq}w@Q@ZJT^=f^II{YCs`N8E9BknT=+-Ht&RLw_jR(?p5@jag#h=wea(vzs7EVa7>;; zaT8|-Z{?4*E4~K@zbQN+D<<|6zz%Ci} zG{Y$L$^Gsxl`^1V_x`6u`T{~UZC-A3yLu2eg|~Vo{=)Q2ofz3tQH@{X#1&n2=jE2< zNjPN_`mtSbPma6$`WH)}szsk=3Dwzz5 zWl)Rs7~3k8Q<*naYxgeu%PL!scHwE7KPx!rqI%=C<|Ljr4;f2vkJQ6jBb|=mPq4{F zQ$a5WQZnZA+uydiR2RYRZ3S)>d#BH%yWPumJ7gft^VZLH#*grJ&u!d`QMDHKt^0y` zm9my=oaZPXn(G-$yxjI*lf3&JmJlLscmW%|-f<=f>-9#XmcS+**Bs3fsA@rFCY`Bb zddS}Yfsx(l({$Y)6#9JF>+!Dl2o^;u{7L_-HL>-d&|~q#gY&A6x$S<^+g3x*+$v!W zFECPepXewI4s$F&#}39IjO8)(Qzw!?b>uS731T$rQ0{muza{5ju7`X!qttO0?64QIXa}PA|2iy12w<@26k2;c1q zP@v~1@1I@ZzjM4#MYfKSeiRmJ*%c=W?%;OeqnYofcu^@z1N-&3nzSxqn230D-baQG znlwJ?gu9`IR%+Gv?;d@l5O5z3{2&*l$#G)87G#-Fm{saH0Mk98)L}1D@RcKK@LxxfE)%6zQQy z;7LQoN?b)Q(aF9I1M~Y=o8R!nvRD(EDs($A^!)5X+IZPn>6ECc+?kKL|4*mswNa41 z#2+q}b<}}dYYi5KCq7W_PfJi9&a-%CwqSmICZLAPSL3;Yx*}_x zdc4driZYng-9_mQRV#H+N*VQy@E7{B==!N~EpV}ISS_AL!qZgY-o>`elOR)gmbEm3 zQHS+KU}Z?f`;i6k`Q~hJ4$}a#I+JGnUa8T~5Z^PTP?LVqMvMRzh$2Pib7baN))7*k z>1;>{HB!AZ*Et<>1t^sX*lwbo%;aPyx`QJ%RZfooOctiz9aAi{xpy2a`Hg!Jpn&uJ zvMKEz$V3q$9hn=t!kNgo2$tKwlb>Oz$aWkFBSB$ioSk}%vhH0Xqw%AVltYzU7vfEnrpmZqh(EP3uX&_0iZ zPDJ-i6C#L(q~2PC)1XhZqh4S)LUjMvz@h*J@j~}Df1NdcF{pQi>{+3L$zZIokIQ*$ zy)(@zG%u`92V!iRaX$Iez%~ggOH!p5`pb7H$?^C+`V2$IcKqybY40eLMRP3sTDE~>3scpK_ACE@&2 zLPprM^BilV$(L9TS4K6dnJxMKf?7F!h%7`$j4I_?83A92fB8wFFjR`?sJGi#ZX|g* zY@?vwYfDi3x5&hkj@Gt0B1y+w8-e~jH)Z~Yf=FBE(zqyYg58Dp@v4QkX&aa@U%UMA z*=NdZ5A&V+FkWOZKu(7^-+Z;Tez#LK&^M~yDB7~5W2`HRz#91_&5a>3-u}%D@Lk>*Foj@<7Jl1$aX9;OS9#Qap;T&4 zak4{6sqJEaMIy_qp@kCbv-b8;;KbRRH~PVU#pLHru*E)P=`}@aX7x~)2crC$ZO6B2 zu4i!WkL0IV2_P-AHRRP{4n)i(i#vQ9sVV|yw47Q*>`HF?mHj7y!xR;Qq3U&zY0uTS zq)5N{ED}DDqqqDb;%)7KQW~R=0WtFigCa+R!}HtWv8*V8A`n7(@ycg^=g5}VdU5|4 zv&SwFIfveBz}!l0nq1KGTOEV$Y$KGYh*i|Qd4PmyrA*V5XTW47jALVCnc~k-CcTo& z?%VVRk1KEF!4j*kqiLheU~yQ$ZFZT1*UFL5T^{DW#a-K*!>j{Fik8cGI9q#paXfrC zh0l|k+`PHBSFEy=IdQfYNoQ?06i3b*+?UW2`+^B@O}Vg8UpOeuh}u}ASbkEVMB03z zwkimY>@a!lrohqELgi=(bzEadfy~h;%M16Y}uDvkUI^fd!#mCAc$0 zrF@6_(wjWu(;>hr9_wGuK9V6_6wr|8{c3?-AhWSdExzxwj#uwdP|m%~68IhYu-aYF zmD?&sC>UeKgI!ghS9Jy?VT7TlM73IDT{!g4WZQoS;|(6`z?y7Zll zQmwT}E`@d0qJn4`rqyFT%%N>>+E#T< z_g~RYle;Y7F=q8JfuHjaEZ(7JXnd6>&bUs^p!)A9_mcfB7&M0|G z%hT)QY|-SxcQoDe#)Wz87$Q{ZO2)IFOlF;0X0#|^FVl1D`uYt!`|Q;zOJx?3i+%}a zaJAV>L21m0wnGXQqhs%tZl8O|hH&bzo4`I@ZY!e9cb;;hqv7-5yEE@o7sD$#>2HLI z^lwH#Z1<1o-ts+$qbSJG&^YR%Vr)A5{Ow4@f`u=w4#X_=Wq|Xtc-BVadsCAMA&8VB zjzb;Y9!;W$On0?a|f@q!1 z2okEd9&6`y-Xj_$I$*zUalLcPAbjS&-7Lz4gyE=}#7Y4Bk>oL%SNw=dUhm0E`_Hxj zxSsg3NpA?ZwI9E{(r>q_I34maHeRoB=_}=hecPDm&l1LEpkquG$@ZmeSLN`5jt&lqM_Ci@)>%<7J(1x$tWlk^uqW}*j~iLrPQ zh<53t_6EKS6B1>_bX>d7xYD^V3H~no$AT^?F zw^K0l-$f=U&a^X`7~4h5t}EHTh6zS3wH2_eN0o z=H9v`;pjDTz*5VUNc`JlzqM2RofG|I`Mc~4UJ_U|NNO|-GtS+@`(<(eHxRzkG!~Z2 zy@##W*t`@dT!-6gZnRTU0zfHxE9z=X)M}d(8C8}&2sQvTB_Z4IVPva00dR?>Y|c*lBrptCy%ILDamo3o zA~%FH$It%P6)qJhf&99R)NoFbV&ej>rvo!(a6GPRxKhX~laxD}{-CP;P9=+sT{5{s zkD^%P2;;u8vs3he=e8)c?Y)Mdh4(gjhvUd?)I0BK-j*(jl;W&dlMfhVRR_bVG(o_+Bt?$i#uK&&G$!V^+HPa1imJSNh zpY?AT>vGwW3!P%T?r*2geONaE@a5ce%IbN10RG+@PL88!xhgr1SmE|(XsOU?G5A|X z`s)Uh=<>t7)Wcu2J(%GqqVM`Guszag7j=Q2<4&RdS%(0Mn=|SkpK@EP>5YlQ+dOu^ zX+ge$<3p|{(TR3ZU9I;?4l|6~s*uod1}sroRa#53-to{7%ZFkL-p1(&NncV^+9k3D1UlPl~VKVvT4xooF9j}G%@4+>d?r`m?6Ztpkl z*hPAE)W_NMTIC4>H7}|+1Wh&{+mX;*1Ku6_We*|}bW;1xiyPfU-U=^iAb4$KLar*H zb#$W}bsS;G*^h+7g>osbomLBvlu4+M_YmpBN7G9(o)1)h=k(Zx-*u9!bn*>#dA$sr zwnq!MQ97IIgN@Kk(VtTYmkw~QWl%q6^O3zuZ?KzEQ}es)8LOsO5+`*zx^67jtAF3+ zeIOkO{*Wof+&B#4e(3$pG^)q*Ld`@UC$q~3Ob<{&RF^^eq`_ZD@J-vzF1Vvf1!!gk zuN&L;GM|}Va^=Np{lg4=?JW;{bHY+DBE|j@q>mInlbs6SU|_QoQCH*gJyjTp)sA)` zGDS@zM)UGD_F*BORa_M|S>7?XQrKa;GVQ}b*>R+Mex2ovo`E-PcrfTKC+V*%P8IM2K3ohPH2VbV7K(7-dW7Pv2IKctv^E2^OL zAL1*j0H;TlhHE2+N=Tf?-jh^6nMGf=NGbEpQ*?OAi{KSY*%)Cu**FnzNbo$XJJPiZ zo9a~(W3R1~dvak*iQzG2bNHhAAe)l#tfGkjP?D}xHS~RjuJo8)=E{)s8xKQ2+f?7x z;NtQ4i54lI-P?-5gg?$q z7AcZiEDE4y1P`2yDkI=ek|`BA6BJGQ>;|`=T^4f|7#yZiqUk65uN^`RQo30M>v008 zMtLw)mweqVa@G#7uk%a$??a~UK9u2SedJw_QVHiLL_rXPj8eFg&bMrh<7HshDYoVX z=3dCKS0SDaUA)CFnB&xs|6o8P`<7CNCxBB`HQ_mZ!a{>{ip_GJ`q=M~B~+G?B=ncc zv`ngvvF%YWbl-M& zJvmU3ERXj-tf=sGC5CU9aO-cRawJ{k(G8nzR|+|?ZhBw%cQb$I+|9w!N8BNE|Le}1 z9x^|$>VtOiS~~h_sRoSyqv9%}b0({o-|(7J@EDX}Q2}k#7P07YQpCO398Q-KQK;4! zu~N;`n&90~awzVzwr?fak0!7C97(~gm#w6!9gRuU(6hHpU1hV-PCI)X*gME{K!5Td zoCwyv)M3+f9h*f^K(BfKdGM0;rB)I^jc}_VVH*0F#p<%WSrue8;Q3EFA#5kN8(*{n z388a}c;y*#*q{(VAnxRfMVW6O2?5(lH08Fuq)ZUNs0wkV>ULhe{g%31@&yr}15f3T z3BWkwjP#EzUECAS{=U7o%L@&Ey6|PAm(fwS-+q9`?1|`WPT}_S9pk5K4MNeFeeQ4O z9JA*9`FKh-N{w1yy|On3&M0=BleS;~^;&3k^=iejkVU67zqo3dy1eL`Wv7w~b&HW6 z&8W^EmzI=?0Up422ry)4{kjQ-URCh3!2NZ&{$U| zSD)mjPln52=PwDtl(efpnb1Gt!yv1R^adNwS;;PW-$nvlr3+@A0_E}_O+7udo1M85 zH9p&Rd~WxjGfoi*fsQQi;Dw(ZAlnzwRFP%LRouw}SnxLd;f@sz$%B~|-sQE?3$`}o zbxai|zB}y?my5DYO}h#<0;z2-q9P?gJ!yXh1#G5;prfADDZ1dlrk58IG})00zxp4W zoUPCW7)gH$uYCkcfIL>DyxNL-D4gYzXSr+keF%xnJc-WWBQhz+6B>YDbI{T`|CR4g zD~QvZ!X;|hrSi%8(giXnKDhXdW;xUPqge};*cv~SXDW6Md#rHQr?8-PJs%#>vi#17 zPgIgd=2!Y%w=Z*C(qYi27rIsoJ-{o2jFdm1kT_*AMq-^87yz)KuPxbQm#1(My82m` zHeulNEr2_?J+JJZLe{PSLVu_Ok&dssFefz;X|?m9uRme}*4}6mc50dh*ft43hZYua z^&SSG;ZRK|DJ)le#T@B0d7P@23t%hX4eu z{|~kQ-?QbkmP;}Kwf|<}|0>J@Y5;dnKzs|4wuh z75ODPvrUlVtGvXpF3}h0n3ySrOd7w^?K{e>lb^`r@5e!CIK49{2NgAz6wSx3Y6( z@S)mgv4P4R&;jCtTspqv;T34enD)Hy?3vGezh@hRoRgx265+oB$Mtq{HetrJFbsx_ zuOmG@J^3A-+B*VNeCDm2zY=r}fc5bJ;6r_{Z#04VUvOQDRPw31Rq%1S_K8hC4Nvu1 z7sa9AV-)#)ukKbh_Mzkp6R$lbc<=OTvOopt85S11Fdm9Kez^fej6RBr_5&u-apJgZP{F9$~h71o-5dCJHEg4{d~Iu)312CS_2}gVc~H`<1*29 zBd|rc)`O5=$%8li686sbxAa@Uzx$o`(88?UplSzgq6J8hq~dIEc^z(h((OhN_skO! z9vCdQS#vugCMKp@t3$9mQK42|hlFKA#_bk3U7;>8JhB*s zgH;gcErCNmm+O*9QXVm2QGNqZ-|Cj>^!)Z~_iX|XvUm+mCtIueT#;*Z)X|saI zU~1s9BSu7%8>X)+MR5l(1JfL<5wQDgJ}<>~&70vGk&I9&o%bn4QDlSj5c>T=lAE^{ zqvZVzd1niiD_;3y)+P=xXo>)!lA$qNgW~9fAR-|})yo9^Bg2UX`+#U(?2O%DZf3&Z z3^zeRg{~1r@e2ALkdla#vZ{`^14YYhx*Z7Q8*)heov$0+J+nF0noTPsj83Z5`Z<{=X9#QWTMpDQo?*8K}I^g1?p? zQ@@fOx$l1q2!47#5Tei#TC8_>cBk59r(!|CakqB1dbap{v zIa`qXc_jWrRqcU@LAZ4)+woNR?45-Vb!2UkfNjeTbZ{&{sP~3KqYzS@?W- ztKf99W~|@yv0?#F(x2dym`LlSbAJ1-b+$fUwbq~o9B6^h{f-})Eb@ttg(RQ{p@cbms zwAz;z!{ovp3JAn1^;_s^4SZ!nunwwpKgF^hc^3->>@~(lr$g-Kwx3tLPi_rx{^kNx z+l^ZE$xP$Uo1*N(Mf_P)D7Slxe~mS|tqFa2Z8n@Z3Et!&Kwn#)D^rsLsA<*|Hp8T( zvbnv#KhMnMq_%sI_U@?_j!RAZ_#~K+qtONeANt(k3`%#|-->+9mP_!?Y+$VX*rYt= z3;;=$sBS&CKU*fhCrB+q(^)Gj+~TmFSNCO63lj30&>im66mfTkW%aov)g!;?nV?~o z>FQ6mUA0xzX5=UAe{(cxN-K!e)gMp_Nlz9jFaeWelE_Zf-@nM(=1v@HuqU2jP=)4Q zbV$pho|~-w-hQDdU3$6t%dS&X2?pIu#3ZKVx!_0?c>mhZ{?Z)rLpRv!L%%?HzSY*Z z=C_NU*?sC!bsuLKolYms_=ucVwaPHESadHtdqyd!QUEHl?^ZtCdYFqaw-ydoiZDNE;ule!(P=0B!uS-|dZNML- zH#%Tu1EWImZ`D5jP-&Ab7biO*t-$;8P0FyP0wDc%%)PC%e2ZCLj(<54ao7n{)a)e2 zsPi>q1|1!U;tL~!M05NvBm;D(2XT0z#P%vpCMeG|pk_+X>xFcvaNlIsV{*Ip=RTz}no-ASK7>y6Q$vIjGDF{u!&UDr4ku;aVtVUX$HT~ zN1jI{c)Qy}Go@A-2Ld`FE{Gbpvq`7~G4w@WgiQ2-3JWOtJc_JDIsUI8J|&nXmB)t<=tUkg}!F$3X`v@963vFeWnL z7rVYzh;@EAz8dAbh3jt}+&~62QCNgOo_v%{RHfTD0&%vii$|HC!+kvY^_ty0RdEDe zlCnFpDU1CPT!^Q424~9VTv%QP-H;QM$~;5SOUt1a0#!@2ymy=Gtl`}|`kC|+s$C<= zA=GZVUD?(=gP_k2D0UJeN#5eCRnJ61-}^cLDA{S>pOGQ5g-UAEp_i9 zXw4YGyco{Qvfp%Z4#Pj)^_YxBjEOL0|4wBDBu4LMaq$Y}fAJHGb_LQex7|G-yd(>M z?B!jyk5Pd?iS(`j#I?RUSGhYfgqU2j!imnb!acW>wbE*4CukrOJ)GukJ3i7QJLv3W z!nDR~%vb1SoPPv&I@i_g7>?xGirCMQGt-$T8sP024Z`BD%oOI7M?$tK$bAws05LN7HjZFDY-m>MPvvjnOJwTITv88H`N7p^ zTJvvLDzxcGs+YspBYWYB$izuZ>an=$9&m`qkI%m{_&nht^w9(<99g{%$J*zjLy3$u zyHkA^Gx;GaK-ldg_xk7}k9!yMH$+Y<(l^5hWs7cFtgIxG`MqLf(0U zK_SVm?RNkBJv07JBa%B$>xH;T6TlJDD}oJCu}E?)lD!^#lnMcnoJ;PfMk550@hbNW z?S1ktHvkx%KzeTI=Nu2Od_rke_CLbCyWS~3gy`-G82W6m>62tE;q%}+mf!N1tJ8`a-P%Z%a(yawMr&yS#8P5vn=Vmju<5mFtBfIBr&H! zwtWWd$Om=sOx^n8Zl0CnQ-!JuH1AvGD|x}s3si6clM4^a#gg{TdS{ECigd^YO9e4= zxHfutm}<>u3M^1RVx%`X7K?IR$(_u|giKz@OLT@=MK@d6HSg2AqH0&okv;Xz2LO0U zDot8#a+ZSM*jF>_w#&viQJtCi3Ee0}A1p*xWKOl)G6_{Ue9>ym;(ccN;@(>*-2+i< zB6Ny=f05a4s^?g*(c?Si{cM#x4hhFap9ce44MTMYr~7CIzeo4BV?@p&aRdgVw76f# zWqHu7vfO~+%Tx_wecsULR5RONW2+CU3Yo`068d*x)%qqs5A1&rrW7jYBJ!hm>7i*o zUZtBB_@vL?vJ&Z%yfcs8nRj`uMI&D7}*ch_~(3H^?^tmGFNRmPdVtz5`U% zk}?qh?C?KI%Kr~V*x7)RJtbQKP;BQ?Np3`e3)<@0e$)CKuL_;QV6Y*<$sZj5lSsUW zfs1Rp&Iy=8frm!}gol6}-J)E9bagpJ7OlzsIP3cE zPVRr7D3CoquACBx&>8LH?H#EpGpq~XAl*GZuHy8r^a0bUA)WuOO!tVsJCg@=#z4I2 z&}0U}!*Toe=Ji{!v*EmwmR72;B?1Bh006}4OvQqGod0pJPRLH6vV`JTqS7#VT$Q1Z-0I}%(o#71-3l;cfXHDj=(Dv($rPA2nw>Ze;6{puvr-hgg zl9@N!y+#4x6S{s!Kt}#~Yqd?8L|~o5^4!A$Y<%L-$?RSAt)u&5U6m;I(ziPQUNVvfy-0i{v zCfq8%S<%%=2 zJ38v@mt^_fz4eYUkt{mkM-19kqbv;o!k%-nyP(gg{-$`U`>Ijz*S1k6j#Rs#v|Fjm zBOt?ZI=GfuVblbm3h))6*w<{cZ>#Ef)F)=5(r({Q%sdJ}yb0U_Xd61YBFOGKMGxDb7z%K ztzt~Olr@66RShqZlYxG$rW`=A763tS^;IxJ7$BpWCIb8UiTo(Wh;cHL-No!LVp;lJ z-R$v4{0S^tr6h_@vJwf{E0`|DyK8YfSfqVqF<^B66ku4d`r+4iPAM0YKYs*ZV;z?t zo}(ll1`m@4QXKI769ns*unah<>wiiqLFD7LHvm+I+4sWs?Vo<=sSqIo{`YjBXBD}S zo4A#F6=9~avXRdX;HTWoLCc_jn6UR|;<~Nwm^3S8!(>zFvG>c2sH0Y|I=g!K9jr<* zEcXM~M>AW_Rv(3DiT>O%9_~+Vx5Ky5ZNVhZ}VmxTTsE<(Oue2VO;tf~${f zYENPE^bd83q0+h!I@E1S*+NX*rRq_xmF3#oQ58$>dx%>=w!+?h;_Tf}EKS?NC(Cx5 zEm8om`ce)(cvAtuLFI^n&hIS=VvU4*`M?&7kDpiXQ5dTVXKs-1u=xDMX6=`mf%KQ~ zgk$F25Nc#j&l&Xr!_v==nRWmg>6B_m#$%t9z&I~mHafgr$}RzCiuU<&UT-_V+BT-w zjqF3qPesgO$4ph|wyZFkoN#YP1pvAIA~JlWHj_=7Mqxi2 z1GvmfaF-)(XU)O>+B$9Z86G`-pZof;^Y+;Oh23mpKq8Z_j%@Oq%EyQZJ?|SFgh{|F z%o$?}%w$Yrln%MrooQNO1K8E^rBA8|0hc$m-i9|dW-f54=9x-u1++g>pLA$MpJPN~ zy!mqn+Zp8^qG&{?&GyK5K(MDE`j?&@POu^eh`h_->-L&r-KaidHWOTK6)Ti4m4Va= z`MIA4fS%iq@2B3&*z3k|g-m#^_r;Co-XAX6v$7moUf!7J!pd@e+qI-f_YOQrS25ze zg3R(AF@a-$N*F;uefrK+>fbA^1xDxmDN{1v!Q{^4)tiO_Uzu;cQiocR2b-T)NAMscj_}Gvn6SJw56!`Hn368?7>(MochmtUk=4UA+zW& z-FiZ?5-;}tV3)A?Jv=BiqiW};Id3yc7w(^r36+hiaO$UO9V|c$`xP=?VG^;aS?X#K zG0v7x4b?mXLpk)-z34-+dK*9Y@{5QcSEziHPlvJd{mKd7 z^ykwUETmoBPVa{Y`L+t7FTq*`7){|D{W~C3R{i$87}tl85q@;5>71+!a6`*;EFFrksuzBEI`s6E||xTop7n#zH=6nGqdf*pYUvJ8%|53Rlqe@S?zuW`DC& zk1iVEUjGCjA`%sp?;&zpU+L)w$q)9k=(=i3v`FdnH;W>|Khm6i4wc#hQdnvf_5Eq` zODi->wG`(j$Mx(2Fpt`iLJMs7|EktW8?U%TV-iv;&sRIgZ2roWoB8@}*EMSpKr&c~ zS%S$v52dOsLM$sDKPt@snLS);2LBL+ukDC}9K2C5H)HBYvr06Q)SLHF6qeqMGoMhf zq;V&QTw0M?n>^``|CV)A1`lBRc=g>@@M_wsr)}ujYSgRB@%NzxGqe7k4FKhU-T-VU zxrieGEw`JNN3F~1^r7ueOHg#UQiHCAN=QO~n2JV0yZKiTGv8^!Ua@AR{ zyyM69Cts-D?S6hYl+0b`;(ai&LvQEJkajomIYtAej#$fPv3X?6+m7YU8)ejsV+sm% zP&64d^yphqX!MTxU4c<%w2zkv{=OjMs6EsoTcv|G>Zo5FGk~Rl^DO<+F`ur;Eo#q6 zjDoW{I_%A<;It74gMc~b4gnASNrcn7&z? zmU4_27b^Knh$AO&8c#?c7X3vLSWxJ`5zL_E6gwE#xepsVtS*=43{z{W+x}AR{DT;M z^zHGJEglQ~X<@if@mR(b_Yi-*^*qJ4e>ZwpOhv7QgbNi12B}v)>pi>`e9p_}VBL6Pu>=$yf>=0uGpl~I-{iYjP9qXHs1CV3Il>nVc|Ts( zD@t|u(7HG~n!6&@aa}GYu*ebqDz}RN5(0Ty@IhVSC6U=Qe1hnkIL63GN$#KSuU+yf zReCc%8~%jIb+13EqvYFiHVC{c75{w%TNAHJ_S!S?ee^9b2#)Z`rd)9`d|Xm1mV+5Q zY~6kD*rV6AFk(i0IhdmKIH#RV_{;^x=t}B0p=F!kOoe-Ea3f3PAu+E@L2C&i7r08l zLuE!0Nu5STjYu}SF<#@et7%}ZsdDUUs@4$xZrhy?$b3iYI$VRmiT8$7=4Tr?zq_%FLmfj!LK--f<&4*Z6Cf)v|}z=va8 zoca3EbI1zk&VyX65fDi%8U+IDy%#1u3tID09#)_E@Qki|aSG2`3fY{9-uTSAzdK(V z+iHVArxkjGF$vilv+(GRx4!d`~Ct&bAMzE_uJ=v30z*)rGJ(d>dYIk+V74 zJm2j7?t*nPAfZROH%|9THGYHuxxPL+rat8<^Kb%Mf|m<|gv4E11_ru_1+}Y60WLlL zocahxaBJZYJR*$?{Ct@gBdK3r;50diS$&EsrO9IgRiL3greGBcO?Y>-VDEMmb94Ra1AFBIyV$npOX+YXb_oztMd1n)vDe>> z4MZM}! zVwqK1Q#S{*ogJ1aNzrQ{| zX!0bpvBoB%(DTMcFJJm8Lj)%-v@>q1aF|KEyj|VFFw3{&JAc1?WUfowTfNfcCB=ib z{YgyToBa*G!h_eR+-R>$N4f7PaJb{FjgJVVf}BygyY1jhW>*2o zB;WnN6-%a3gae`zF(P+5FaicTtlyZ=N6TQLYomy}VFL6TrOr0P{44AoUu~Od3>V}e z1^&7MDJkwa>DL2&Irv2^gaOZZ=i2)5FWZgvg1hP4PPxIgR9?RLM>LshO< zJTK>9ege+!5;6oX>yW(hy~oL6Pv|u(xmw(-;EPQ@nP*@SN>mJnG`#}Y@M9ziRc3T* z*t6QVi!};71q8k@AXRkAU5uRHd)ls<4n^q_lH}Z!knU{kA{wWhAA zA!J%W3&$LcK`^dQl`8gAE3W&U*&kk^vK*n=UGtljrH12aXRJsn&Tiv>S*F`%=qU^H zYe?|^j{y7C)B$ennCs+EES0Op)}gQEeM2&iMAsK3)O|~g5D=PsBMBtLaUFc~Q zi)R1lC=ON2vo|XLx&r;Yzh}S>@xLny@k^Lkx?)7ihVY#H9F?#8pWEgKlK;P}8v*EH zfwCJ+zP`TwI@=Vjq^t~ft10R0aeFP1Nl!4(`1Nv!A9Tw|)aN4_l2(SR908ncw2Zo2 z>a}xDRly|;kLr>KXhTR(*!^hPvB}rYQvSp-m&?#q%moxHRIy+23}_|M#T%&C02JW} zi;SEO@ULY-3ax^s)VhB-E3%*lVBExI53}E$c?q!B*0EIum_{7{rmNz#k<{{xT? zFaZ1fGh||XEF^^qn1s$y7%0lYnlhV=xVpeV1P2Ss4}HdDHvmqlIQ=PGd(1FkMgYOB zkA1xU?efy{21EY=NaG81qbKxjbGRaYapCCcRgi^i*)lwpOvy%LeGVJ=8y6Qhp^q|p zeRz`jno5+{ZOxfZZ@jS)`wjCb)Fvob_Nv*4-dArE%F#w zOG6aJz3RBP4BovN+CLl8J^m#!tRd$i`StWU(4Diy(g7@T0ap$4(L2rV?w%-a865pL zaWL8_%_o~1mQsmckJYHxm~9(u5CHvOkWE5Dk0AKXc5}8FpF{@Po1^>oG7%z$6|cuv zvpYA6McwO|XSNPOi7-2l7IOM;&3$K7RL!<683Y6c$r(j*5CtR$14%Lnf&^_5$sjp4 zpeQ*936fi&$vHzS2m+ErOKgx#BcaLpRe$H)@y0jCz32TnMYt1$1 ztj%v+Ev-h`XT#-B#jIyQOQbK+wCo+VRe$$(=*X?b-&Vzx z%Eh^g1yS2syotOZz_WBvuN6pvnML+s^wVf{??cOHqX1{E5Z03v2=qy7LpwSw1c+=1 z_fm9l?;_w3p13KA;B1FyuJpLv?CLfTfBKLZ&uOv4`gj>Bzwe_yZs&@gAUnDcw(3j7 zh1~8Qu1Rxc#{umz>WEQ#16U3&?|(v69{(}h1BD3n%PMw3OT-9(MnB?}t? zx%|MXq5qj*E9?7J64GsJ^9y$A1J--v_lXJ5(vQP`pZohBTFLh%#algy5ChLpmD?bi zp}?>uuG*Sv>-(z?Mh(v47ir*u@xs zYj0om<(LR>n@4=*DF`BrU?{)ucDtjHM+oH=<(>+f*i1U&!?B^ z-N}SsEgo19FW*Yis}x2H3+b{OdAr&bvptZEe7TRlIz(VuBJDQ5esnQEfuGG>on>M^6o`b`a~ z!$c(Nl&3KqSFwGeByBw~j23s@5j`oxs=uca9f;WrnD>5}^E;SKW%r~e(&N#%{RGF% z$B1!M-~Gnv7CQKr3XcvTkDEGsUS@btLZdVhFdKmYX?S5-LHOHVS`h`bANGM zqYRBXJCV6aD{Rn+^?5R;fek0le@ksv-iicp5G4g;ql=t5IgzUyE&=|*Y*iijiVkMU zwt*j!2xy}o)&KYm{`++GPf4`nU%P!cK4|U!=N4IiOPT&BOr`!tw{?-E_uQTf+@S+Y z1V+>fVh;#%SBSRFeYU1dz*KpTG5b3^*MT0fZgxlsyWc09e8r&!pJxC1L`QrL#O##x zsjoP;XW-9;_$L3Q8Q9-u`W$|RsCG+|9V}+S%!_+nM$~Pmhg-deE|+oRvP3_=C88s0 z!1b2flL9}^J^4Y%Qk{3e-Z8U4PDYuW$W+@i#pcI_#JXTnUDwgQV=poXh^w+0p8B-D zmlf4^MqNf|mZ?M5m=x&Q&H3xsJ5xuyXBL`W4l{n9?XpQaFQ-?02nmU!`rBZSWwayO zK7WX=$Jhm-C{VGY6L_FmiH}c09OiX~|g9V?K_6h(HBa3CnX#?t-~ia1NbT zSuK*as~v|_h6xB6 zGNXe0FJZRgKSqay)dSkv&W^g|D_@?!Zt&U4(C0DG^_H1<3QrQI{>(istEoQu+tY6T zll=(O)MZiBi+Q-)TM!sqO0n^|Qjx_gPxbu%ijW)#!LNW`OcY%fTnX92{e0WYWhq8{ zz0TdgI+1{o=&_^6-lFxf-@NWbGem38t5mNfM`rh-G_Ov5mL{?9#knvv;Zoo1llW^R z*Ne&zdud1W$!|9n8B(OyEkS=NMwQJ^@PaQ=x$T#UsO1j}J3w)%{v{ft67^Y%U$|B7 zng7MEIjmdlPeNWyFyWe)n*!N)2%g& zKT;nFA2DUNdpA2)xS$l*4%gH8R8j>m{4Y-E%jX=6nTqk+K}csb>7x8PURSl!%}@QM zo5syfB|d+uHUY$)AB}?2`q?Ztb__MB+4im;j9VH^X^rZnPOR8e!@f@ML+f!V=`D)& zKieiu$imXg*?LGFMV9?%S*Yp(s|*}3v?os5N?g+IpxI7$%3-2GSu^9xomvo0y!{t$ zEI20D4~v#>snst&L0dJeF>=re_qO#SSIJ!W!z?3fcBEZ5@`@*#OYon!!`Z~c9q~+Xf*0)pczSgd3-iwn~ zc5jipC-8i$&i14D@Y+z4H_L2zbS7LdCo4ohm^6qSO2dw0lMLeiaLpo+a-t6fy70os zi<8^CG>iOXIVY-KkGJgysTI9A_g0fI@Z>BhueLTe2MlcPaHL&KDm-Q&MYd??DrcI< zpF|CKfRZ8rL@3ve7jtzD&XZB%!Z2w$x=M)J`&@VmjE4wq1EvU1Crl)k#dtCN>i zJk_W-oUdMFa#tJO>8&2#H4zhz87IzE2QA5zdoN@5{$SpZ78q%=DL1{o>V~Lrow;rB zPCnOPFL>3s3xPGirIV{HMv;ualmi$%_i2=f_%}xF7>s~%dds68eBp|OAHER&ghjSV7=;>0h z$Z{l?&4`SLJ+JpQpvb(>HBf-ZrPaStiJs$F_*|fKd`iJ$5NtTKiV6s-2qz^Ea#4i1zT*pnSjZ_}hF zDX-R7vqdkKaN{^krCOpwelXFK-@>~={+)Djr0(1K*^2zzwRN$D&mFn8eQ@?~a+*do z<4u&zPsRGHb=!<-Od*fvqw!dT%ya_3?da(~_Uo^G8s>~|;;|KPesQ98+wTar$8bl} z47vqbn5o}B7X2RH$>+&opUU2yDG?2v`t%%T8|{lVq>^y*J!6A(bqJLYvP@vD@X+?n z^N;(`g?N4+abA%8T^Ls@d5~r8-;$%32-q!u)%RF7Jme6$1CrD6*xBl@C2J zJ9&gv${B`kDXBSP46!EbDTHH!CIx29)sHQGf~taM1FApC3Dac~9BZ zjhm>}!=!2lBSUdJl%R0yooAiRr-2SZn&hh=c+BbpnD4)RE@5xp=q<}f&tsyC{Gd+D zd+SiC-R)Wc9P#M%g2F=U1)dbkGKJ13vsWo>@OPA6oVRAxq5qf| zNwC^b(DADdvX;eYVHEP_{E+Ke--Z`esmdgQA z3XK3eNxj!;RJx3dW>1oU5X0Sv`|`O@TilRl-O19)uF&QZR*3+Vo%5g9n9LJ8{Nv$# zV7S&FTmXq!Ppey5uVHFzBIG-kQ60u99g!Q&MZ-_M1GwoH0v+C{c&yxtup?I z6|3^6>^p*my?}NtB8C>E-XH`+--zMdTgpvgnu4iQp9)>6zO^w)clSu7;hSTberaB* zbuLpUD|0U`&0bbk%_gTatuZrSl2G zV(cAK?tV#DBE+m6;s}xvzS~{3=+vDejIcd2WI+cd+D3|nw$ChdWOdBRG`M=3w=$km z5Hdp+0CDz~YUcSp6D@H|KT7#1%e6@j(Ze>Fw-c*_-V>6}C%-68Iy_$b;{pbY-vv(H z<^2BgXP-U6&$LIM*`Sw24v`haZ4C}JY9|iiiR;bTmRSJPa3-S2VS0JgacH?w9lejE z1*DtKJ{h=9wZ~#yeRpvrt6nDx0tx%GlX1IAA&zAI`NkJjXIp70!{v{~WO*rVqLaLc zw9%PIUz0KWWzhABH3}AKuHEF4ILfxmM=c&&L^8Y8H-07~kKC_c;y_J9N@gleK|Uo! zOu>f4p9wRfnU2buQ@%>m6^4V~cRqgi&kMPrv9!81)qr(mK@KsYu`wtX2nhJa?S{0d zI^MWfv--;IN=(%HWV+g*)WjW7CGsD4h-p7r;nbMP40g{J`+Gu>7Z03=hh`QY8saQJ zF=}+rE!N8fmQe6wol8N($^wVffnxs$^JiZxpAgEp&hdM> zay>Y41zhf7Ce%9pCOd*Ws-PlMSImQXU`77?%dlrnM&EWtlE&W8aQcU#LC_)izBf^) z%Zl*Y1f_F^Z6UjW`ZBqcNVSAKVI#kj&pg|u;0S7LxBDPYQ2qA849}^-iLaz>X-0CE zdtw;ys}f&e0RY2NIAcsvcyP<%h9IwoQ${+b-}b>i3m#qR^D(X2_FzWpeVMV+20nd= zL_t=7U$KFnf$czvEezFvJi^0_?xu@J#n{liB<7}Hk}HN%&ge%3kx-xKU42`+MUP8= zlBM%N@L6@tVr42b$>2a_5`MXZSUI8@$FcP+h|ee-9WY<^oj>pWNyecW+ifngE&`m; zuki~Vw^YDx&Fk@?U0)CyI$iI@KdzvVx5iD~wQ50fxUs-|Ug4BN`uJ_nFOGrUshj3; z8#b5y2nD$(<`JpVtycYKkK$BeH(RZYE;Hi9HAYRzjd8bX!UJ8-*vc6uTS z*HH%WdwEFm{SQowK~c>`BU3fsBHU^i*uy@ntMafrtQSHgfE!R1sPNW(`RtJ_I<4h& zC6tP~lO7~z57g)c1z=$hXU-KLCOrS-j+4#$47yyr*dME*rTriwVf*Y|pY);H9~&Aj zm)rgK!R5kDzAD(fp+SUfmNXrrz4ogbw+l=-4YLg_W^w!S_1MmSOL7o8yZOuv(2b8AoGE~lZuvlc~EN`NGXX1Z)Xan?(1 zUSKM$=I~@hV-CGgqz+&B*Jq|FG8@MV`iWJz$|g66bMRZ=#0dN*r?zE2^3?&~g9CJ&oIT_5{Nb^;G;reDR#?7hdboVnWR&q{=86BgXIO++ zVcFj1sN&^eleMF&J&mXD~Mr7?=kG{?*;1Jl$`auC5*^KSz^lGH5a;wno`O9gBpwP z#)ZbM5fnHe8?kMs=29LP0MrEPI4;QJXO*v893BDJcTBB59eGx$ya+qOlji%tfEL}R zle{QglC=*5@b6JUqA~tX3Id!m^&5OV9-FiA5P&$^nz|_YQQ)eyFeY;8eIW0g{DoQR z<4WvJPHN}Y?1mK~0fidOBz`>zceL`)&VHoS=(Su+b|pf5q~pwRStf(1G39!dDacl{ z>)eouXo)@OF3^Zw+G=TAWG(h&XlzbjN%T2X`oEVk%r0zoIUV=b&dh}=II%)(4+)4m z9SY02MG#n1`oFpwvye#(1hUHz04S;!+5s|?&9R#!9@Y8+rr(YdY=`s18E-n>%W(KG zST54wbR3qa5&t+S2=5>F0AFQiN0_VK;A6LXAk_0Umph^+wCL5mk}g1Io>f^lwM$bC zYE<}Ka`2kN>j7Xe0oV!;7iGU}-Yzg`2)e<0O~CvT)3hPy`4C0==4w0zD0tc$4>qHw zC971!Kh#*FH~nnbpgn(@JOE1cywO`j?$o;07^-C~R?K8IcN4sM5}%~#fiOppXn&m# z=`b6Io6D`%W{8T@f~MxuHE+tjN@$Ho9BATO%?o|d{9~-z^yTWS%^)rS6JHmde<$o} zA!5^WnYW9Gt#m$R^;(+{(k--8{l_b1d4l_Xj4vTk_;wpdbnTlwE8+CxE_qR_3(g$_ z!sBv(*`=k{0Z)BMmr(%6fEzNNF;VF0!=$n)0T2lFqSEgRM%UPIqT1vYjV0h{cZ4FC zId3L$t^I=PTwS|I-V<^0Kx%+ND}Qlhz@8%@{f~15{stZXkAtNDVz(|Mz?YNbq-3QR z#)75KcGN^-?jQ^|AB!-8(W^x@Q<2~3S>;BybN=;OC8UE!Cr^r)0w-I@^Hv{}(F5>q zcLxvPe?O8|ogs}*a9jD-f&7o|>k#A$xajIU##qF{dE2Hwz23{*0X`S-juc?Yta5rOJM3ER591(zXW&1EWg5j=8zzOK1#mWEk=!--Pgec~$s;qUS zY{$Gg%JJSwL(DGbU~~=Rxsu`Cv_eE4D~6Wn0e%w^f-jqVm*Bo9OLZ9ix>;|ZGrF>h z*`$3_GUaHNWUNu8{O)%N6q8BFES5xVIr{6$a4V#46}64Zfl<*WIZ1Q@YY59u<;-q~ zmi*18!;QP+od~JskC5s=;tftaaeMy$F;6_LjEnt%ufO4PpE>&gCF5;i(Fup@A+1ik zyE37IRs+HGCf}ETR!9Z;EqDr^K9FLU1vZm*c3_DX1{wwhDiM;YU_D`uv9JSngmbc3 zkG#a|xn1a>W}y1Vk|eJHW;tE@E}ejAZCC{$i!5HpRJDxNbYC1x3H}yL+H-O>ZLw#}R=3PS@CqsUXr`p!a`6*g#h|k2=qJqb#z4d& zb8`24*o`FM8&>%3AaxXgH*|vm=jk$T#{C&rho&^?Pg7;4TEZv4!2O}2CqIF-Jr9*8 z}E4QScXgZXQKhy6Uij8l*IR| zNFUDrb^TP}!lYS$?6;OmJ~vxDGrYXZJs$Nr+x8M`afx->ma4H)iL^0Tj7{pxbM2<8 zbXa&j(Fn;O)ozp2`x4P9!R1>_Ou;(7l4qSuG}MM$!g&{Zu0bpCJf{u%yMAc6K+*J^ zfqaC$rGFAr20XsPN-M)VoS9-*sA87VJ*s z|G2k0sR{)3w#76JUg)Hsmmb+dKh0LB)Q5|L2JmY3YNM+Yil2%0E(=akHS=>?MQt=@ z$@u@yBYpW2lz`;i`nWSYI|nCCKvE8AzWMgFpJf6Zpn>)L#;j0|qs1L2;AzWKg?_oP zjyR!!Hs=T}cTasGxbbP@)wD>Dm-nTfDi1!Y0um%%v+9t&)p6CJpr8nkoP&=FMK4+= zI~l>&vleG65-_w{qaQikh`^sNO_IMa3@_0Mf604)cZDnoW0}*)UYx!CI6G_(moUBL z#LY%oqTM8m$Z!4UGgHKJPfEKH(@m3cfkp!y!n3~=@dq#N`Avwz_AYcr>VDPul(p`c zw(@DK7vK*kc9!8eJO?S|BT|rXk2OJ$}tbBmE*{)jE=m8K{ENg9Y~& zzoefkYi3I3LtQ>kiroT+$N&+(@b}lf7x?r#7`Y@EIac|qnk@HuhmVL<5ep{v*6dY$ z{21Kpwl6_C;LwtZ#9y#WW_x`Bud7Mqg%DloPn!Z(>3s+E1s`{afa0BMdJE^c?rS;73gNV|DdJefpn&iz&v;4g#Ld(5z0`6VT)Us= znF0H6m0E#kx3I3r1&B|?w%BFs!lCo-I@w}x{v}AD3Qa1>Ky9ZtHaGO%fg$0Iqaw;j zpx}jcf#th>c4Z&+T%vt_4QZQcCEvjr?Q#WwNzc^~ihF~m&a2zk3-v3~S=$2~2yPsa z;0cuAcVDJ1^IPmLn!6=N+y*RDQ-cN{E15 zWdoI;-~N5plnCYIF8%g^{9*B5J8tG;dBPzkXEfF75&a{ApoclhD($ zsjMc(jj#6!rriSUWj`NN;uBwg1zgiq9cBPBj%}qyV@XzJMELZp#Pq%&Z#!#cBkU&Y z1CNeQdbrK~i%w@tvgf9&9NT^#`(*$tMaj3XlEINSYo|MHr_M=2?@O`=*r+e-MIEw$ z(7mz9Vky<_iZ;mj=`eT92K)dkV;ecyJ67~es)dS!TtU(~gOKIQ(BpC1|6!MUIy zppz~Sa32Tl_T<3$UoC#Z9#$fs_((m8X{#~68SZxI{UzMNj7{X#`(~gjz;x50R<|~H zzgfsSUnAwQ%69TU38iQZc>Hw=Fj_?&e&3L_{e7gW2QvX~Xg~%(IB;2&1#|-Z_qUYXewZ;H8?qJu)3BpqfWRYl+9^=%EeW|-mYF&!nP#tS26}B#L!U&T|*N5&{C#FSU)wwU2fF;g>%tc}M zv{$%=9cz4~v22U9A0>?D*7k&OrUPNNDvWe#&)yk&zMEP6yhT&gs{dA5tEiFp;p%I< zKg4NXhTN-y~AF7HmOyemVfRSRG-|+ZPWdM2XpBOom(SZDnJx z9n=AnB3a^&yq#Q#2Ce1Q5>lAj4Z|)S@qTCQN?P1S=y2ZyIai8O80%kHNydL`viQF| im;GNlyf3#g&{*02_b=eH2jF}<9Mwmf4@;FSg8mPdQ(j{L literal 0 HcmV?d00001 diff --git a/webdoc/docs/index.md b/webdoc/docs/index.md index e396ea8..db4899f 100644 --- a/webdoc/docs/index.md +++ b/webdoc/docs/index.md @@ -112,7 +112,7 @@ in the same directory as the config file: ```Python def define_env(env): """ - This is the hook for the functions (new form) + This is the hook for the variables, macros and filters. """ @env.macro diff --git a/webdoc/docs/tips.md b/webdoc/docs/tips.md index 4dfbfef..29fcaa8 100644 --- a/webdoc/docs/tips.md +++ b/webdoc/docs/tips.md @@ -276,6 +276,142 @@ In your markdown page, add the call: Restart the mkdocs server (or rebuild the website) and _voilĂ _, you have the first five lines of your file! +Macros do not respect indentation (they break admonitions)! +----------------------------------------------------------- + +### Issue + +When a macro producing text with newlines is rendered in Markdown, +the additional lines will start from the first column. + +It often doesn't matter, but there are cases where **indentation** +is a part of the Markdown syntax. + +This is particularly true with the [Admonition](https://python-markdown.github.io/extensions/admonition/) syntax extension, used for defining notes, warnings, etc. +(see also the [description in the documentation for Material for MkDocs](https://squidfunk.github.io/mkdocs-material/reference/admonitions/)). + + +In order to be considered part of an admonition, +all the text needs to be indented with four columns: + +```markdown +!!! note + + I just want to say: + + hello + there + world +``` + +It will be rendered as: +!!! note + + I just want to say: + + hello + there + world + + +Now consider the following macro, which defines the `say_hello()` macro: + +```python +# main.py +def define_env(env): + """ + Hook for macros + """ + + @env.macro + def say_hello(): + return "hello\nthere\nworld!" +``` + +### Incorrect + +If you have a page like this one, which defines a note: + +```markdown +# Homepage + +{{ say_hello() }} + +Now inside an admonition + +!!! note + + I just want to say: + + {{ say_hello() }} +``` + +The result of the macros' expansion will be: + +```markdown +# Homepage + +hello +there +world + +Now inside an admonition + +!!! note + + I just want to say: + + hello +there +world +``` + +The result of the rendering to HTML in the first case will work. +However, the rendering of the call in the admonition will not be what you expect: + +![](admonition.png) + +The reason is that the Admonition syntax requires an **indentation** +of 4 characters, for `there\nworld`n to be considered part of the note. + +### Correct + +This can be solved by using the standard [`indent()`](https://jinja.palletsprojects.com/en/3.1.x/templates/#jinja-filters.indent) filter provided by +Jinja2, giving the number of columns as an argument: + +```markdown +!!! note + + I just want to say: + + {{ say_hello() | indent(4) }} +``` + +The result of the macros' rendering into Markdown will be: + +```markdown +!!! note + + I just want to say: + + hello + there + world +``` + +And the conversion of Markdown to HTML: +!!! note + + I just want to say: + + hello + there + world + +The admonition now appears correctly. + + + How can I discover all attributes and methods of the `env` object? ------------------------------------------------------------------