From 3c86717fc64d05f434ca8350df2791fdd80eb533 Mon Sep 17 00:00:00 2001 From: Bob Mottram Date: Sun, 2 Aug 2020 18:01:12 +0100 Subject: [PATCH] Use html formatting for quotes --- content.py | 30 +++++++++++++++++++++++++++++- fonts/solidaric.woff2 | Bin 29720 -> 29968 bytes tests.py | 17 +++++++++++++++++ 3 files changed, 46 insertions(+), 1 deletion(-) diff --git a/content.py b/content.py index bc3c9af4..bf82ce03 100644 --- a/content.py +++ b/content.py @@ -14,6 +14,33 @@ from utils import fileLastModified from utils import getLinkPrefixes +def htmlReplaceQuoteMarks(content: str) -> str: + """Replaces quotes with html formatting + "hello" becomes hello + """ + if '"' not in content: + return content + + sections = content.split('"') + if len(sections) <= 2: + return content + + newContent = '' + openQuote = True + noOfSections = len(sections) + ctr = 0 + for s in sections: + newContent += s + if ctr < noOfSections - 1: + if openQuote: + newContent += '' + else: + newContent += '' + openQuote = not openQuote + ctr += 1 + return newContent + + def dangerousMarkup(content: str) -> bool: """Returns true if the given content contains dangerous html markup """ @@ -433,6 +460,7 @@ def removeHtml(content: str) -> str: if '<' not in content: return content removing = False + content = content.replace('', '"').replace('', '"') result = '' for ch in content: if ch == '<': @@ -608,7 +636,7 @@ def addHtmlTags(baseDir: str, httpPrefix: str, if longWordsList: content = removeLongWords(content, maxWordLength, longWordsList) content = content.replace(' --linebreak-- ', '

') - return '

' + content + '

' + return '

' + htmlReplaceQuoteMarks(content) + '

' def getMentionsFromHtml(htmlText: str, diff --git a/fonts/solidaric.woff2 b/fonts/solidaric.woff2 index 167ef2237a40658e02b8e54edcd16eaab283374f..0fda1beef353ba7eb22eef2a664e0cd22b50442e 100644 GIT binary patch literal 29968 zcmV((K;XZ3Pew8T0RR910Cf-m5C8xG0QN)x0CcVZ0RR9100000000000000000000 z0000#Mn+Uk92y)Ouv#2224Db#3J3%d2nvI!K!UMZ3xQey0X7081A{6AAO(aX2Z9nC z=(t5kaE}9+k`gmBAZ#4+2E(k6ikeMYDU|(xJ&+^MYyq_6smQd=I9cz|p#5D0d^clqxRFhDnZ zTQ&OSfeJ$n`d^bT&{r2&0RI6nJllGIX%qDbgE9&uL1AD~`&<}_4$qzUt@XKWcPt&E zij0bJ03;)^>z%85aaGmRJ&XVUnOV5wg#+L$1e8qp7l6OIt;G6%Fhq@(XF+WG%k>j^ zzO~UWLBrN=3{RtZ23&CAY{$d@FLQQps3S*0A0asigRv;LNq_rkZ8A92r}csEV(k(& z^rA|Y(Fm`iXp8{|8lb+>CcOWjn&qbeM~1R4ld_c}DadRZblrQa3V2ljIY2ju12orQ zJbP_(DKk6T(`d?2#zk5MnU0dk+HZXJqv!{5{HNAhebL4>%yxzpJtWam&j0rg5tHiE z#iSH#G>BwUB2*$ZGTlp~vMd)4h_nvj%xEr`iT(E4F*g6#&YupKrG4swCo)#PtZk^) z|F<*RP3KDf;*D*VKoSriW2-(~y-2QOOK(L{LSlxH|5X40cm#a8%Q{-~$6)@o+3Y== zHjZ02XxV5Clo3JIruA^Oa0e_kQjsHi;WoFrIS&o<`t`ZN5 ztKt`pmQRy=v~zT>NK%aIpGI8D)sg#+pt07t)z}*yh&~@F#hhD}uTcoOIFZ-d!VGb-q_^e2{#kF{v+}%T zVH>`zy;uHM7NvMR3+$`HJp0rO+BoBUBg|j}4A$3RL-g0*mqr062pDjl00Yij;P~QC z00F?c!&@Hn4qvVj$~%040Vf!Lde&k>>XRx=uEl&;b4W)OIz zO2ns{cW*^9NH@lU(~u;T z2_TUs;G`4?ihQ*|FDjIfS$JnGNs-hqjsz$Hc+ZICjmt=;(@(UNWPP@WG6tYHA4LdL zl%+e;jdGZk9K-mchCSvX8QJhLcRexr;*%4zlN(d3pvmxC$g8Mw%q3i3git_ArGx_~ zY1@ba*YzjIl~+4041F{N1~3(N@V7l2~Q z{>4-sasB}dZllQ*Gdky#SV!Y}J}}N;ixw+%2KSQ63lW-x+8R6mERID#m$RUV@X*rl zWmDjEWG4oP8w3QjYz9c2zEg2jxrU`L&v)jiHgN!rP^na5Ys?2d(0+^62GN+Z=t$0# zZM^Q7dzOIEbB#6uT$HI0Zcc+5Jh>Frufj9~d67o7A*U=!O#@b&VKRGaAv9UZ)A5z&=S`=!014UItbSd|`Q0 zaRW|yw8{EtLsKh%ZCOsuu53?#Gha#o@uBro$wt*y-A>v5SRHg8^GW;pIWDn%l^%+| z`SQ2o*Zuc{l!(fp8i!(Un{xzGi8ZPzo6ZoRUl~Hvuo9`%4SGj;dN|DH@K}57rX z3nkge&^T5Y7*0`#*tNOJVRJdk9Ty6s#xo6aC10G#Z%%5mD$e%FhR95`0T4UQF+ea{KE{@Nb8 zPY`JN;QS=raBRtTOnZ_8=ty^BIwM>FSIiLNM)J+|A_SGhmr<)IH9(!9$<;Eh*wiNM zP<4@erj$nixamZp>c93er*Ja}U7(>UAQUQDQO2+0)DY^lEkwHJw8=XhU6NibN4Pbh zSwF^-cSl;!MaRapl?bI9yZd~8oFTDyz0XaE75StmuNs5bO z7y%X)PJ)rr!l~(17B}sIbodJHd3*>9@$MSi*5v4S0fD?X-VN%OYiDH7eWX2MoRwUp zg}%KEq$tjecvT9G5s@=>&H&e#+_K-}i%~b#o~~}FSKe*98vWkbm7}&bjuWn3o*v(U zK;4IHpH6HX+d8nbXK(+(m7~L_dYAKl*{*hmW9x*Qr4RS+ffc3(u*s`9G~^wF43-ro z<+H=>#$z6-uftN0;PRGrucf1MqPbpqB?*lXl&91e+lwmt8vdv6wYHBuG&TmV#M}Nl zl3ekgcHj3v`3J0l{`{1`a{c-BS-+-$go%; zA)ug*s#I?rR+n}d{cwn8bZUl?rV*}6HIzVgxaqSh~C_51`O{!1J9^$v>Q?z!rwvmScQ*E0v~aMv79_?&+|rJ_e? zcG%fBKJ+hub3msOefPhE6)((GLdW41CBP6GKZSS<<$zCEcR>q z2e=bRWiUBno=zq*U7b6!^zzQ}u<}VAgFC^}Nfefm2N@*ZnQ4SJ5@^74#!J?8-hJL@ z*%|Y5H}iDpk9Y^P6X(l|gY+=awik0v98hIwPEAGW_G$oJ+|Sj5R$?o&*LYeCiXC0% z9&kiFvFjwwOSwFD9aV-PMNxcbc&1_~aywECgUwPm-Z=L+1x#HSxSSU@_tb@rFdlEu zfOl_3NL;U^vy4?aQA1xsdzS`DlU+I5L>;y+ZI4pl+DmY+S_mmR@;6tvB|UnNwdKn5c+}1*~l0kx(Pn_<=J< z#~8zW8ti}C2tSw&fq_)O2icf4UdtIxYYd`JDut> zXDIuKePX>;n!Em<*k^;HJjQ#miOU=2(iso9#~U2UdXpbCk32RZ8q$-VaqMz@uM!qv zGqoS~ct^};r?7p5aRyj|&@y*1cJzI*W`ut zbU?+%gQO1*_T0%PV@so{3uB^#+||*88qkiQ#=MhRRiJq^l{o{~e})G(zQgGn_DOW- znH$U@cgt z&|nH&AWV)bLqt^I**JItddd0%0KkuCWF)b))rIvquZLj&FbT(W|E_{4b~0I&O~uJ7 z9|&b7L4^peU0^R#iq?>>!%UAX?F-XM=ZGs6uhpO}d2>>uaISABbiP_3jTBKTyvRf6l+Q&4@>+Y)?cQ}n9T%+-qwd0 zcy_c6zsd)J&~oo(L;o@G)|7LTUN!$a<4-7VP+3V&ck{N8kHOFFj2r|~cAl{LCK$a- zV6YI{9B(7cTy5t8dtL1{@G1BL{K6&UmjJBJZ9)?9i=UYc_nyvt|AvE4`=7Rc_w*N( z0V@!Wfh|&4)saEe6Q~iHTyg6yeLF6FkB%1rFIcQLdwfFTq{&mJPMa=D4yVhVl$??} zBW>oa*>gNzpFfZu%*f1|J1=|wf`vJu+;CogL19sGN$H}+OO}?EgQmV34z<7d6}47^ zZ@F5-!oaeJK#{K=;17qVDd#tG?{eNsnEM!j>=3x3<1~C&)bl2S5rD<&RdK|{j+;zQ zwV=+GUSdbRFBVD+0|gR|Z`5NV`)R_X`Tui-7PjW)zHBl^zu#?*oy0%wW)>`LLW_>& z25drC+RmIkcb$&cW?lT#BkB1|FT_}^fz;`oJFfrfia7hjnUmH&jhVLTi}6$IgNv5` z(tFzabmqC&@7dJ+_x$Q<*uIaSPWku!sY39n3vKSzzWlhrP1Cyff8*J#4<~N;*yh|A z9~fu6H0O;yWpmrTtE7RuD>gs(3ASgZ$8n_xI_5Zh^@lML zK^NeE`MYHEJx7U`T)0fRhdc}z6CkskB1k8d+dqa^w*RR3`Vwe4<3tOvyd-V?@^&D! z*Atx@wA;OF6~Gf{x`z9m8wdJ6Di=?&7C2|^i3?rKlTTqxaKQdK0uc-shH@-33eh15 zpMQtg6A>N9n<@D(4$LNw2zI=d z$F=}LF-ircGlGnF&-_F%s^2fMapeH!1X zeE2Vb2vi$QqsU=_ChRD|D}ejQ+w~g=TL`(+r^23=!QdfeA6n}~Ck*%nu{wH1LQ~)8 zQcd~QLw*gIaaez177!e?7;6mtZr0Y48_w*aIe6Yq=vR7?=dqiNC*s1t_$X^FEguk6 zdpatJVCzVzt*>)_OTgTT$R7v4{+Lh-<2aUG1e*tF!^!Ymsjv z2uLmcLjRX+5wxpo%D~1a=yX+p|JwpVk4zE`Ny$Aa+_EY8P#3R&h`dwT@EE~>C{`(Q z9-fhpgG~&&IyhbN}KpQ0T1F9()?&(GK|g0%*F^^ zurk#6Ihu_ftVn#pOg=Tp<*p&48&ZtA0C_ZYJSLk=2{Rx0q}6kXy%xe9$K`8dqNFD= zy31mlG5*kiZIR|oXikL^^cuC<;lDVS5Si6TuxA5NDa@&ib}FE)*aMM;^xsHcE!vOi zp4dRMDP=f2bQxS#>AxLCT0?dyKevp`+arWrirVY8bwt?Y7b9nSp2z{0E~lJNQ@nI_ z5iE}qJOd8c5L^EB%OUlYh-`a-uNdmecT?JTm%gER(M9fxG$``O6UQ_RG-&1}G)I#Wn z(w&a^wsdh%Q&agbe6P6!cWVnOi&Mvpaipza$ z6y`yx3Nx~F$$Xgm&kbqm$nwvYrL{@fMu|MmB}G)z!;wp4mf#(5l%{K*9+;>mjEHnW zB;AGFWP-EgzPE!4PL>`qt|}g7aR<7e5Ge#B;=U$<&iQ}3Xh8`LprCjJ1P=y`m2Rw6AUF~$J{R4mQu@F>9FK3V z>wZWV^`5$s#mNc>us@b%&H-Sv4XB6zdrjX1jFt~AtK~zIRmH?uRA2LOwJPEN$a}>& zM&c^{JXakBMu~-ThBMy!e<;mFWD zkm))rV;Cu%Q0KlkZXooEEQub>L6Hle9(JVB+zCA{3%QA)f<4`G1oZZ|srXXxIAJ}d z$7fug=qt`-7zzOXei_GJgQuk@do+dsR-dsRS`Jof_Ss$s%{Uk?c9DY4xP3@z+^BcM zaL89^%9yEkyx);DeBbc^I9W-SzQy^r3fYygwv?gQ!$MGqx!!63!wi!xDFM%_*jzbq zcYH{lOAQk{CX~iK7WK=ArKFuwru08yXKG5;HliSDK~vVY&Ip~8Dv#&m{Ed7@MfA~) zg{V=8Jr=y(s3}k=N_d3?jX?>c{`ycPKcXFYC(?jIb8^EwuqyJvIp)!5Jf9mWh+FQj zg<~dJOCm~s&7ib~(P*;ZC4nG1n2)pYUJ;+?lwhHuB~M25Ebr!E&g;uN!Gt@x)g3$8 z^7THAJc&uXm_Qv;eaGKIOI`X^%iER?qL2jMm*K&bV69ijvm&H6DwGMPhtmN3+J>hj zS0@jQzddL-XJ(|`nL0bylG0XXVordfYg7TN0P45`FJp3 zYP{V&T7Rve#D`hoVu|ZGNr+MmopmUMetPM?s4gMI*lijrDK3!Sn-6m|)cbPu|7;h2 zs6eD~$>l1I@tmrbWY4!$g;VY-H}t?4*%L;#P0J@JFn4abxApKOC;Jv7 z{=g#k!mFr76Rd!Co7Zs-O7WBgo-qonB@0op3p*Xnif7(OfgV9vLxR6U_W88B-1qf{ zF6m(=T6l_u*0a0)|1o<9slY+Z@dV4*R;;3EfYN?PDb_NhUe3Ru*FmLr@L+|hpa>3W zv*8Ta(CJ1)O}fVwKuHkX4Y^tn^4KXD(em`|V=Mu;%PJCM%96D?Xk;l*U7w~xHbx=g zyf1v=hbYp~geBN8UWg8ikR{-*g52~RsFUCdg%6F?%?{UM+4h?CKt~PpXJ^n3@D+Q@ zuxNTz!S=#LsLkH8vF<*C$;Ur|GpYpjmyvqPcAnr}whR8a<=uN@#vgxq>-+)qyGjR0W54Kn;C zWA@ekRRsm|bYd9Q+s~}S(Pe+B8A3yZLP#8 zr>~>iECUsYbN@;w6~ACIVS_v0=G+KjxKSVD+ey3!5_%TgfCP;BsDh5e{26|-_wN{_ zJmXr|L3HzwMBB-<)7h)}%CM)Ih%F>@qKnV}w&MhMazaX4=Y#RNh!kJ6o?Po3HNvoDL~HM9Uq* znQ)ss_WT-S!ObC!;AVgkHjl}0hoGgW18$}=u%(JjP!V~cj``qx#<;SD#~5fG1M+%n zLqxy}dSZme)pbwgOvKzEm<&sq{op}C(hZ5uw2wQCzJCR!eL5}f(mg1iVgIGjSjz3m z6sfjQUaK6!$gp6$sURJ>XNVo9U{xphN`-6A7UPRA52FBXzkmC$C6){)pB* zYJ58scG6wJd@vT6Ir``Gs-&aQ8VLkF+3S%_lQP{x*q<;GDQ|TIE_M;Nf>P`o@k(v~ zH{`@-f0=4#nrDmID1x``wrsb7^$b*YNSAlecKatRLls0@A#V7AEZn^armD`3;5%<( z1gs*fT16dXOG!TaF5??qndR{X!S{(iJj0Ai3NuJ%5bM`;a06ijM5L78vygiOqZck6329Po-z z9(CpS{(fk&5{>upVYT_8jkTBQ!b9^fr(YH_IrX74C685UIHbui4Rj6hFkBM|jvt0PtFnFBV~4UG57Ud%PR6&y+UCeNGt*`g2m$@b*d%aP1>n|n_0R!Ed2$?$G&@t)$U{^Ed?G)yor83HF{$(lFS^mK^RkO(17rPjj#OlE zqriljJp-yXEq#SNo{;%4=vc5THGb24K&eP4HWAAgY;PPVyZc>wzcqaU|IIFQt{=oj zJ$dd|Qf;{G^+Hmq(zre(S=2YJDKK6>HYaqsvRLeTiA9na+5e*qgC1FYDD{vpm*pJ8 zw=y#$I&cs^wZ1;GuA6|luq2l8zCyZkEvW(cfju-YA7QGod_afR@|;_9!0gZx+E)k; zMN_>qUK=jrL{B?ttG zRl+RMI~V@(N16SoSvv6WRWH;UygO+HpGcuFKY(9Bh*$d7r$@29owa(2P+()aY?E_TCqmA;Xoadh$9FTAp#WsC5Fa& zJl2;@z5rTM$}dU>ug4{*$dMc3n?2$<=rzbKkSEcj_N40bsH53^wpa@>IeoHiAHWoK zBIFW+Z6388(T)9q(gwJgiu$^~*AHk%;^%4KST}mQdM49F-k+kTqg!5pp9L#hXUw zzhO|Jg|IQlPJ+rIP6k>{5AWo53c(KB+*CotwcmbO*n%Dc8`EFfet+hUz$S5bE^8+d z&m->eLf3~2>$>AH^4T$48t|De>BKoVyBCNM?02ME9~h;d_aHMl3rv|=nIe;c-8H%h z{09Ln;+k8vI$bqi3=_2U(~DS^F^O3DzVsIgU=my4H#hRnN*5k>!lw81vVj}wZ$8m{ zsX%|k$4?E%hm;P-8+CtXavEMlBCfvii-*U(l{h(m`<4;&DQG$T<6rZ z%=S{Saqe8MX&|J^0Cs2{ip&ChHvHvWIp*?Ep9PP0KqTKGn{Y99yL#JmO7{fC&;8Qm z)&LdGg9!=C(gHb@^Wu=m5#gm&Y29g}@vcOREtVa8mQ6e<+PEpBIPB*j>0xyl>jT+( zcqz*;1FwViH*MoPnP%*M?=}?PqyMX+wY(jd5aw~3_wvgOZDBmk2}%xEGzFg$#P;hM zPFT(sn+<$;mnxnLTcjzxR}dqlgdGe7o1L2)ybY&dSKoAocTGV~Mb?4YCCkCV9Bg7= zQv#QQMGD73 zS2)(zYwi`rl8d^CwI^-0tK4-vh2h}QXOy40t2Hc>4GAz%$uB{Q-L3S~f@NX)K9?qI zh3jtT>W$ItxrF;FmcOjkv^V~LH)zZt!Ijn`VJks4vv$D_UoGzvcD0g4DeyqFph5E7 zsv_o$Ojd%i&Fp`}$y5?T~fq%nxdGh5v~@ikNND_CP)pUC{?my9);-(Mp5&}-#5<1%hyx32;zal zy1aWBDT67UI&;aG5~jB9lU>_o6D4}QcMYMgRy2pw)CLmQ`NY0BIQxWcaAcbOHzW67 zF&L!Ibb~Z2S~H9inx#=Ir!crAC3JRkNGh6w32KePxl8!o0itJ$SBw-hfCvG;c$4mz}h+6pQ>uhm(JxMpe{ak}?!4K1Ihz z$rE2DbRuWrc9vID#iy9&5I$AXTAEZ|UoH*$n>uH%shmDU!_3z5urK7v7PIMplJ>8m zb2_+mSy<$3C)2+9^QD0I?jR@lBX15)aZ@_EfE*M)QmaWtv>f}DwJPI39?Al@~ zJ=0?3fXvL}X{J<7O+gy6V90!d+`aB3f-uA=tpYhf${O8N(2F;*>>BR7tfbK#%*MZ>uo@+TS>c9=;CPq+aLiQ}9{hZ(>2M z#o~N?Xw1JGde8dwvRbI@6;PGyK7a?s!5$62&6#Pwwz4mBJf(|Fgzg^kr)I0U z110B_XNEM(uYXGe3B^&j_s%LoQ4G$n&!N)jp{* zY|w?&4BLwz9@UvJAfse3v>l%ym>%gTPG>xet|z#OnosIm&!y!Zhx{gjtzIv=U3x1I zq)-xye4p}lG^AFFg#>VC4BFSY&e(BthilLWjB`7R-dxf&$hL~Fg0>-zLCnA4JB113 zA0+aYp`P+Q>yUtYJrOV`O@Ot)7txxP67~KmXo7l+vouP;S=&|=?xoW)o@CSN_i}!h zpvoDCJY@$GIs5(z*G|PaG~4E03-yL*B|?IcsJ7|B4rmJeTR{2=Uxu!M!$vGU*Ol{7 zlnMVF)3S_im!P2k(Cb!tjT3tbA!HQbh3AIciU>*G=cK)%Z8)v?bcLO4ib0vq5*s2F z;?EFtqRGd@`|U71iRTHowS~gS`Vl*X%E#{4t2>Qx+lB!N3-pqfvM4nsqQ!9j5DeSA^mMYK6byelTyn}Er{QgW`)AErqIB4tm|); zWqPR{U_cYG4t+gv3GJS?2w7qZom=3x^R+}7N|x1;KpT{P;2p-u)2#Ygk{4S%1i|zv zGi!<<`;xWn-rn|8dhm_wM*D;GN^284bd*=9k))csR@SeOve_i$Jhijc@`YV{o}`+j zw5%tqNrz$5i)n)%t4u*HS1Bsb#>`7fZ#aqhzF;G(O^jOOFs@sw{}GX&H_$>aX)+=T zyu-e_FcL?qPD7PHu!g!HBEm*`5XAH@WZ62p5R1C#x>5zd-sqcc$%$WvBv= zSf#*LiSA3|>ml8251d##E2%EZU;iH#ElTeEAt?OsN`$&dV`pJ&Pyl60_&0 zW)KWV>oAyq3bhStcT{lL^Ig|e!dF;60S&?!^$K@oa`r?rW}{`SP3pEt^yV#yX`|iP zWj;6CK4ox0g>#$2MnAYAjRlF*rbIi%`zGkvX=))}m0R&X^63#pm~}0tzEkP~tn9k( zS!UZ~T#1LZN0mYf62Is}!yJN2^%s5jkwVC?maxq?_c-c)5I(!u&V#xNsQRDI(-u{mJr4`Of^ZX!(!LD?U zGOV1!kY^`J^LOc!ny-_S$?WQUS%~KwT{qX?(MbV+dr;Gr7+%sdq!N=zI;ZXCo@hyF zPj;UlmxB*WphP$`y8@1BkWC1sDI~Mbia&O}w8`M&%&(Zk8k}h@X5=8a{&SAc9NA?4 z)(j2NF4F@LfK27CCe{FcIpnHRZC?u_zJk*p_hSPZP;9B5|FDA_cmk%tC2T?#3Wr6k z_H8C>4(D{YeI!CeT|R?3sh~LRTVtEMcG!ZXEqaC37fby|`rde49OiEK*h{u%JnKQ? zZX1uYn#~Ptemv&y8dWmG3&LGDB7jkLXe1}L}MV`4^Wh#OclF0YmPCZMFa`fM1cDvk zD$j#SB-Z_1DzDMc21Ic#`bX9c=tac_71ehH#2p2H3is*0F%mAY@vK(Fv?`Wc+gKX= zW!z}lZtok9rDUqldCNW=61I7d%vQFBRD{v>S%Gx@`tdy#UY(4OUX2cj=g9=|L<{u$pv7^#2&s_lQ-kRCs+HEzSv#o!s1XlFeFdq+^{tRvm0{KR zMUt5Q{`2c5`z^~E$E^D8+KC#h#0IZ0I%Qyk1u`~iy*oKI(C{GR5AoiQaV$;VbT)Q% zK!_(QvC!5fJgs0)x>=onv{=t(I4#()1pCq3{8@)MXuJ&{R}yz>kV&<5S){(U$^JJb0D?PGus-tT%9a=Z+{#X<`DB@ zQ00l|Ypi-+bF(hfOWJK(h&zVuV$QxdUAB6AxKd$yWg0??p)t*W>^Ihu#yc3V9{&lL zoxJKe8H*fY6-NpVYCDB!O(u*S^~xwNhtNxzy!rI@4J*%l>-_kR@TE@^Fu~~;;Cb4584kK1SmdWb!6<>^mc_@dz2YRW2#2!!lEErV~YQbMc>dqL^FN~5m91qwav z^<@`N9J0>FQ^zE7Eeic&P%P>j2MQcl*sM5!oWtv-g={EOI51}(M-%1{|kx{ zj6}JDAqeL6s+`&~G!LceMClM_3?-DmG^fxdGCw+Eua*;*+0U8d(yzkYz2Rpt8-MX% zDv0W+_3+70?SFbu!^?d5R~}s!oHPgkAk-V}l)OQ~Rx*~gJ3Lm>LfR%OC(=!(^1s&Yn`Z*c1uHMFZo*^tUK)WkWo(6o8p^lB4 zG<8Ev&j?nNUInDTOj;7x#T|bTaQo>~{5Fm%V64ERY_ihOt!uAfOCUP~PDn=r++p6v zLL=`+<%Gs0CtM7*tT74BE2P5juC_DD|K^vaWL;9gQbzXkh&W~96*#{*YOx@fE3?`P zi=e&OsR`~TYh=h&Xd%HiD|ERb%0QSyYfebPZ9zgRZJb%-lP?%JaSkHEX)g!Mv2G187|UkijQd5j?oCwjf1(cKV9o?s8Z%#bhYlR zU1`~<4Z)}uitINu+5-g~k>*b+svq-D*_GHH(;WMEw$DX}))o%P;oU^2@fdDheF`RA zLcC+D?k~?PT7zv|Ym0A6Vs2TILEcG576}AmVj*%k;(Z@d2Zj&s{fHK%YX}7u5EhoF zN0ljqg2ko=%;R#o6_;pP+WjpNue8U}WWNkmn@`I5StrXKm@O=}0;SP6-O?Ef6R?`t zr96pW{Z=howWKOfc4q$5a_(-9>eyiF8>lK~!8Ts{alg}%|A&%Fqyy~3c$0Qwh>w2r zqIc(!lV0u%(SM&?{azM2$=OYB@ggRVvz>(|>%8CLs90n=K(kF!e8==2B*&0hb&4E|A&%Io3jW77^b> z*kH5=hRU@S+QkU}$%Q5@R#zJaaBBr>p@}0^x|8;m98szN$-lyx0$iU>zOZB(j*Eyb zVRMLObVGaC$fW!G5Olyc==d}~C8VeX3onRv^U^7D*GIQ#s4%`+55Mgm{#8M*dlU8~ zv&>WgtyTzP!qG>vBQL@vDU1^k^2QkI8=Abd;vvSu^pcD~p%+l)*R4=YL9vz<9m@Fk z&4>+7KdNP@>J?Kf;q#MJqGufpms;$S;^IPoAu9xKCv+A?0;dGqnP!5Rx!SB)-uJonW*j%^ZtNX)|! zT294KMCz)>+M&%gWkYh`yAzkZ)B`)(X&Tjt&y<<|x?9_k)W}o7jc7 zA)h~Q#?tsjQ!6I8nF0xWZ1^mvQ6tb#?31k)(%Y(*@~b)gW9ayn!wTn87-C+}{_#_= zz%X@*#3GodV2357-GEG?+zeGQlix`FGL7tVCecuoS;?f@$-o(u0)lL^M(ff;B0%U*mzJAnt?izD!lVP{-)=Y)vnM||Poq^( zCC)UTpCocqvZav>ET|k*RaA@681QBq6&P(;qEY(3@ix=h;r>K}!Og})^g+kIvKa}} zXHHHP)r+E2Bb^4%$6>OpA!?EkB`a|f=XIt~h06A720YASY%^YORU=SZ)U)Qu6dixL zy!VYh4+aFLSqdQuUP|ql+O}$$yd#4#yZ5#0DQ8ij5$`p5s>V5ai9a$ag=zr~p*X(2) zOt$BHUqET-*6Ez|PoC>Axo{4QifCJ-h|@Dk>_UKikWO}q1@f=!@HI^HS6`lelbbzV z2Aj7h$nhtu#L5@JyX9pb6BtrVT1X99T+bnZWF8K3DyPeL+Yl3ES;zIzG|SVb{jbdu zi_$^_J)S6vzDo#Iz&12+?+)|zVK-h`rl$QNC?>d&;e3-{Y4YjqkQHNaQiOFng^q;R ztlCZTpF6JA>DYf>QXh(wVUd3t)s!&y9WWgCne6H*@OEu)$Ho&oBBP7(e`#VfFuAX{ zC=*9M-u#y(;(bg97c}pcCzNR}e}EAAip9Ex(VQi?Z669mmy-J%?NL zl7o)ACYwDv>VmoKN9hss$lK=X%+b>`N6D9`Dkyc+m^z>6-iY?DN-r2;JD-mqp9>s< z0OQs4SkIccVmgYK18K!o*i_s!CPz)J=1B#^}l3(Fxy}lAq6c&m;!RLz-KO zxC!AfyS@`WyvTFu9LSIw3X2MD*-{!|kDE&SQ=4GlZ&BR1SzEpY-VzKRJWiiqFwL9x z`Q>ul?t4avo+)&bNy|H-YnRMFB61_4HZ1fTZJxy){;bHg!U-K)ECGT|lC!~)w=B&t}x~F5$2z>q! zfwJ#k1Ekc#9~10GRl|V%k8FRwb3#5~%jkb1eF0Nr;l=gr7RvXeL z8sueHajUV^AQ`(8TJ3shh&f4~@sDj$Jb!*RWJ^0@ECXg$z>RU}1i~LM!w^e5F8SyG zDW${KmVA`R5AT}nVOraY-!IxrJ(na~t~jpRwbrE2Wx-JrW?3NFO)?oQHbD@$T4G~V4oL!H@Z7smfUA|y$<*X zc+X_^iFoI?SKx7cEo?(~j#+M)KsN}zg43W=hzfGpDRI(4==)lvagponu}qvY$bNOce&+x=a{F0SNh5ib zIo1z#aLW}PA&;))dcwF$*Ov#uLnou6BI%z!1^ zdCb~8$DsobdAoAa2k-sXZO7A|F^6s&m`EVba^7%r0NVk!d%?lw}*g}Gogt5OL| zi}Pf!u%xh9zC<{S&{Hb5oWOYn=fCTqfq*QAWn8ejA5-Dos?^&nS<`w_0<6SYY%#Ao zVWA|YmJ?ai87e>-R7|0Q>j75+t4FdBR6fWI$>vL#4(DM3zKd|xhI*7ms0v60vp4xZf)loJyT) z6z)GmFsSLb6al~iSgq^!3^|)+5|~|8cnwG~C<2VlIHNbzYxyGCjUMD~5;A5sZ0-O8 z&ttG!4IfV|0-g?Wne z^c#K72%0ESPMVoPHUp9(yyylDukR0bhQ@eqT;ldi+{G=oLvTN}vdU8GS&O^U%AJ9E z8749eo&f7OI0>)ZvJR{$K;Ux0RxP5_%4%~tx9p2DZ!hp+PG??LtQr{S$QY@(Bgh66 z>h%`6qY)yKj$aPr6b4(QG)Lar8>(ytGyMHNcV`HzyT_1gAVJK9F6^taIGrl za6rkYEjxYf_$fUgj_$y3Qv1)c)P&uwztFOpz5o5#-!WZA6DJn1nm`U=CV~I@K~422 zC=ZK${CU?z@i74MoLsHGnwVA#W;Ll{&pse0iel`5tN<85km!jRiive!&(xxLRqZBv zRg;2Re2>KIFeRpTJ}#1lZjwsY&+PI+@4I=~T!=Izfdh8VG$ojPPID~SQ|G!DxKR#C7W z9D`{sc-(EXnI5%A7{Ah)lJed)VonFH_-$M_u>hdpd`ob&LdHz=ocsO33|O#&9T&I7bFG{IuGXE09nI$%wOuO6KbW4%WreQ5 z>5?en@*exK$Ot`QZYRA0*8ls2>&(MDP2BA*J9EmC#rkG4jb0A3hS6I#Q&71SwB5+v zqom)h_ZaP>f1>bC?srZ!c^-p^za~-BaKQ*9q_1T zZL>#trK<8GW{PaueJ$3U5Pa;5rP`xuwvH2DkncD59n>rmz;)O8DG<2sELuq;^i+ek z<4-1(wi{%@rVLBC=ncV?R5D`*S$H|Ufzu#WB_@z?m}W|#Hxgfoya(&6`!uxT1j5g= z@F3&oNyDe5uoh7phz}zl5Y(!j17e7HAG#bYmc>#%Wxk+MPW_w@0N+HIoh_|3Oc$tb zQY}dYGP0m$V+vXx=;ZmEMz-W0bxw{NHQ{4)TqC!#RUkVu6=;`bY#*S(9o}|oNlW6f zk&27f<+UjW#VWpv$scG{D4LOsNl5VslgYAK9IQZgy=U`(J=pC$-j|k?W|+B)I5{vtse;Unfo-^_3}>bmnHv@jvC=CQHoM#rwjzTX>Ec@k+hyIqOHPQo!3-Rm0@rua8;oHp=0!Nb3$Qsv43iF< zJPE?^QD$xZ2Z*`LgH(A^7PxB^B_i%iSW_lLdW--N*w}lMyS3Grv(f#E;=@ga@{cZA z%$>#7>!2kUb-tXDdG5=^8UwUgWtVlQ^b^D5f&Yo&%L#fTkCc@R(>+DrdMHEEh7z<4 zVL-|5aVO970{ zgFem$?Eo z0NEhw?(8tm+n_X$nQSqtWV(dQObPR(AUk&V-$r=q;wu0iHJMg?jZCaO!>YHcto#4M zwlB%U>q3tRc+_D&B|Z0=k8j03+41xd-Q;_3a5DSpUJ7A5=)=k~r>p z^5l*qd6#;Ut!(aVdLR}iEN8?SVh}K^sm^&O6%~jk(&q64|8Kd6AOFjzWhT*MbQ^(F z3coe8Gi{Cep|Co3C3-X5+(WOA_2qv9;X~2`{Pm`TSNN;HM{)~V=h7RHR%*P>jj>f# z$G^V7Xf0KyH}$CBTS@7ctxg0VVC`HW>=O^>cueIN&pA{6)2n%ZcWo|KR7G6ZuF1Th z^IsxcvXsN>3mZ$KW_Z%NsKyB(1jT3Ygjq)s`yHTfDOg!S2LfEfzCyl;M$0<(-Mz-l z<72{%mtERF_O3iywG5n=pWe84)C0e4hQ!>li{wQ^*`%%Pu+kT6eeo3VLE8Bk5N`3a zr&_@2u461%k8Ep!%lI4Q(*u68sG=e!6o@YxS8(Mx>-+#4NMmyp)T$Mch$fcx5s9&a z1YbY)0=H8fZhJ5>wc}r2RaZt9IN!DocNVp;4I|O72>%3T|&tQfuv1Z-P(3-R0(d{H|4a4$#r0Hxs{e^BvDY z8X#0?ODu4aw0ic=wZKU}P>er}f3nF!D=%K21Alv-_A_&PH;Vm*;pX{w{7TKF@JGE5 z9$f)H!d16m{_Ni{l%q&;&=(+}Kge>tt zPsYzZD1E=Fls#B6eQBA5Y#HoI_n_FBU$x!->#!%erGKRCNhRj}_aI0r0JcBgACp1V z-7KL~Ph8i??d(7GkuKeL&3T*onov&f!TEf_XoYEZltQP`Pfh|Yt#6+hx_wwvKtuc8 zGv%;Mc;R)N?(g=+{rPJ*TaQqH%L7;rRz6sHpz3829$zO5YdjXpKY1y-e7%wx*zx+bjAU=Y8@E7D99z`_t>RbnfVAj9_!4;fcti zitNfnNL%6H+}(DLA`!P1@flOE*xn1jbVE8%vEGg;J1pzT-@S*P3I6cxLP4ieJ*ydo zb$H@xSz8el6d(%%=cw}BJl5UNCiO0fjycC|^1|FnoEtYQn7feG45hf@Xe6^tcd{90 zfI0(hbXz+7+-9dZEkDqx4QVxe!FVHDdIY2q^ZUulb)FaoDZt<;z ze?;#C!Po!xD92dJD-s{Pu8H@Z?lj1uZx8N(Uinc4uR@TxMu5b9I@Zy~2;IZUC z7I#%#D6@@AKT4_YYxLSA>$ul*`??xGG>6g_QLQ+;X{T>Jvk_#;r}Flp)aUF^v)Ziv zL!swHMZS5ms!ka$3(klHI+Ks1)fT1I82=FXH}f@e7h2`*0(&i+e&`W>BBHx4Xq9E! zYBCSWpGCElM$Yx0;@fBL4%fGw{)K)XfwjP*3dKaE*P|^L8P&e1_H>~IPC#~o1TJyT z3HN%@n4Y z^)Ou=CLVr1P4OCS=J;wPPYSaR?+)iM^>MLz@6x{b+3sq-Q!h`Rt${ast%~qmE*u6e zM{e*YrCmn1E&b*Lp~~BG*}=~UCJ|xS`=d96+-YhMw!FuZXCp+#5n!BYmqHh${h_5& zq0Wpx{GTqE>BKsNd^?IQT#OLkn%YD|DhwX5Da9J#@8@?^GIZV9Y6{wQnczhI{KG8u z(psy`H)Eqin!bzpCgQJh#~u`Xi=b`9hP&mF$%lN6FUV61DeGqaVK}HVi9d9*^^xU; zBr7~OI=t!@GFA6oo#2mROO3(qfCLh?JFgfS_yxowEcb<9IYZ6}#K^}YDA!(Lp z%t`;*#E02#;0Es5ML6~D>oFL-5)?{#HRU3)yZ^0X<`Zk6Q!0g%0pCN_t(ZD+5a=V$ zml^mx@GBp>Gd~o+U$kOxY0_^0CPa~!sWxaLA@JLM#*O^ zEQQT^%QJxR@Cw0>epDFikBA)Kd1I*HjNFH5|2^Mgp@AfnHaWqkyAUL$i$lg!12`Mj z%^RE={D8{qf!%}G%Xc`hBq9y%c6A!vz&OD!-+8iAGK{0r;fl|6x6 zbsnGaaL2^%Q^_vw*PKR8yt}t$4M)XOv{K~mw2pJ)K`eE4SMwmx2l3Rgci)4ppn3oc zZPehk30g`e+e9Cqjsm5P80p?r8Fv~ul_1N^fa8i_?20~2c!+=I@lnEDw){*gN9kmF z)<+ikzfaB4S*+#V9b)+-;wQsGv7?GXwIJtMY{=#6dmKM@(Sx`31lPI^?{R-U%LRd+ zbAtJRz&?|V66j}+5&sywnFtgEYg0Ny#PnHmS%~;D!iI)D9mEpe#^dqOez6#P+gj2U zsW~@Rcah>Tu4M22h2nwZJ#wgx>9xuz|YS81^#7Qh1XSqJ|7)XFl zN>1BRX36OV6Lmw42*9N~XmwoQlKbJkaFHVmp>rpwQhgep>Q2eVjF`@QG$(5V)sU|A zy&1M^a+AefG&>)Xm5<7=l)}TYVH)4CsXmlV9~RX1yx`mh!!F1U+V+hGe^xL=FYxA4 zTk4I#m(I`m487z3>XvozPwZU8;d_NXuC5uRIv)WNMMe|Z6OCZ9Z!3ba-QaGt*}mt! zpt-0PqRtvq=WO2lsBd)hy*GQKwcTePb&mV&;bj!Jo;cwTIh)hqjT9}O`L1p2j5!@R zv72R9gkX$pBho%lgeD#yyYyFSXNc?V%_+)x5}^@8TGOP~vJ$cNH*fc4KK})m@6LzM z`uZjIrR4Pn^s;B@=c9WvCb@a>iSXOTli)ETK?ti$?uuy=t|C3~YmPno% zc^uyryaCr@S-}cMJ-jQY5 zc)M2KR7TIwZg+jOm%9+!YSb}19std@#3O#Dy3Y-_DrPGkS4iz&ruU+whT(+sQM?sv zzzM>`?v*Yl9t%}_@G*~gET`<&7L{|9zsH;BojWi&P{Wp%MhfxhsmUK#f_(0=b1Nq8 zg&n|&Ubij)5}GbO;QjktaFd5)!EJyiTbO?_E89UP#2`?qmn~3cLbFq5Q+BG?noZ_1 zTzb-2ewcK2cVcdod&23LYyO3+ywUeM1xuYQ!uh-d_4vuJT{Py$R%7XZB(uiHqW~X} zI=l0DZag%GxgD6>kGcIE2;oB$6s=*dbrc9v$JxnuAWTKHHaZ3Rpk$vp7TVFeUlKcV z-mRen813X|qCXxw#)-d*o;{p*+c=N&8Ft}+LuQ|4cf9@uJ)4ZEpp(o}Sp-Or=2cCZ z4Ktl&RKKT%IC)&{<7(48lM|1LTfpjLpsE8-=m(@Z3-2O zf5=gsv-)LO)8y9FTQ*ZxA1%#XXz?^;ulPBw1^45yIVY!%c9Yy+`&qwCt71x%;+^<` zr4>qSZAdC^KhSdLpA4of-a2>$<%v*&!@VJC8i+;*bVM2uN?5>=$L{G}wAFk$4tjmIJO5a#nJrq?$aUPt; zGG@yct27Hp2ODKIZhi(@{3l>lqiwMkr-$2hC4Br*67Jw@Mx6p^C)lgOW1+qoR zdl}{Aaa9i|7XHY`Nn)bwHkt=fVE%z#F!~LIr0e(zG>$*>4!; zpi#+^NNg0P*{cfhW}HZJ8J#W4>^2009RN1)K~CF;zEOm^FgtNq9mpHP9h9=?z z#0R`4u9{tHkoZ8VHPtShrH*m2m=Gz|eBH?;vvi+LHI=uzisdO;T}7>D&MhC2Ig3-R z++J$STF4GHGz#8Km{m{H1KcUK=|Gr~GjwNU$^4_D{sxpJHJIybNRAHlRv z8&8yxbCgq-2rB2)k4}>M>!X-A=nX7uhFnoU31%Cz zYa9(j2!Ypb*kWtD7o#!+)Hqn6BN zP4t?Sdd%5~?mBh<_XF#UdlgNiHENm-`8Q=+H&Sw|3@UB-hr<`o8;Y4XLKMI%X#~po z#k^u8c1CP#IHl|mPBW)LP6JLKsRoHGj0G~Kl6BX}cY8iw7a6%4x|n}Wg~tlxS2LRu zw918t7`$0_VVYT5Y*vjHuV>%i^_JnBxRS9-Iz*e8p7-U*qsry5y#Hf4a`8U;( zI1uoo*4s<7oGt{{qpVXwX5DL+ABe^-qi4mQ7OnU6>*Bw{V?prbf&hLdIY9%Qq?kg* z6e+4lp+2V%X_?KI+NjY+{aiIEs!`Fs9Q%njdi`iOc)f(H2q(cMVf4${1H!N5e%Ja` zN(i$&EOBLvavW2o#ng1!`9Vb_3)2qHXLfEBUe;$-#YSo3*62MMCRegc6|*#iONxsm zX$Cfo2N`K*LWvX-oJq-$EVr1Dv^rT>mL`iWC(L?>P}sUnCNQt!5D?mbZTZw{hjfz^ zr5V+02*DymBLpRKC`aKe#tP%OhQp<1RC_hiZGZ>G}4N(%Z~vK6^q-Jzk7PeKdPT5x*g51 zGNmC?%9w%T3<0zf*laN+#kb#-M%q9>VX`DlPI5MZWlMr&&>CPCeGw0H&<0tlw2TNMEy~+(qiSTQZ@%F5JeF>k#_*|nY zCPDNfvLuVaDXy;ZR9#=@2-HZ9a8ddfOraicMj` z-70Q0%0ui^uV`#-iu4RqA-ZK4r&}fv00j>>s0{JiA2xF|;+df2U`s0TudR}aK=SP@ zN6Y4#IjX*#%18s6ihL@=J+S?NGT|)e_F|hF!V!N;^mL}g@AYCp@K#&4LGV^5>hET{ zJv9=whD!ZYNv}zb$=v0dyWEwxlGa9Uvny+NcM^3xJo)uKxSsDuYO?78!8dYyxi?HZ z%gI^JNB-SJ4|6e$TC;Elh1(*W#g6IM=qP;@)t+kQZj*3YxZNR~CC;SBlf2?8V@OQb zqs)m&4JawIIR9Xr%VhGA{Z8w(Vl`be(c@1ZJU!=UDmgmRhFtAUTX9Z{;u3!=CGjdS z;1W(>7#9DQRNfd~4ZL$wP~A@M2+$re{O#1nW>wvbSylvJ3V(NzhQbygG|3mRN-J+$ z&fOO7`Y{)WC$P-8W1EBAW~?7ccszWEuel}E*rn83g=DWlW<4{31Q33i;5aT+v5|?~ zrnr&ArgUO{g>hrN#D@+a_=1|x2IU`A)(YO{3vh_ZoKbD@f1CuK8m&=NQi3vI_ds${GDcL&9BS=vYlJ0{^@RF2>y* z{AP=@f8s_Wv|8~IY!aMCpv?dwAn<(+YJmO&*zbFdMt?7+&M)5U;f``>QT`X(r;fDy zTY2&%{|jf1k)_JJU&qZW_zK;7_zt2%#7v|Vc@(WJT<4X5B5XXyDW@F>Wfl`ZgJK6W zF>z{Yas3rx?5d%h$dva~ojZx&De?J1=lgCM%&S>F@>Ds)Hw;IlJXci|)Pmf_d?t6DJQZN_c39MEoOvVGHR_t!xTKXLFo^P`1!tf!ScFu6G1FbIxIZJNEuAa$ko2SXJ|SGD<=) znWpA(F-s<&?6wK>p}aN-Pr@wOD}7Y?RAOyN$Fe zW{YdCY%i53FoUHpB&_nGw|(q* zR)6sZk0gJu=T*uOL*v2U$zBo@RX8*;hmY6(*M5{c4p#q8y)2A%L?y(B=%|pCX1ba> zIy`u^HAjEe6V>_!XSVyeGPg>pw@;t6@VhJ5@m7%<@p~IXI$33{0&o>$?qGQtc<;PJ zf!i=dL6$Q@!vb%PoK989Vq6rQ3_&Vn$^z14^8MDNKURkwpnMp&!uVy{Xpzu68~0+v z7JwK8qv|A;FEb#7g&=#{^h>p9h~JaPc_y_l=Xr_NosOx7Vh8NQXK^@bhXA`^Mk!h0 zzKNVC3fDE+Z&Kj|Z2xUf*l6(S|GFxoN3hovF;5uAf=Xj0%UV76=xY^%X)T(132*m$Zs&NCUMV|J z){^gOSvBhM9_PU2@bl?69!&L`R2the_s`)^5x(7;vH6K1>cmjtmfNjk65nNxzRaY{ zLprZ+6YP{QGlURAcX8af>>=qWShbh)5#jS9&iwT(}sx+F+Z zK69MIzlG-XSn~JeW5;5d#w;&)A3r1(>e1lzPVV8sb@mf~2Fel$Kdo#7T7i9m|88f?Uf`tS$ z6D}N^9rqbf#mf&<5ms!*zU}xuta;@!k9Z1R{!0 zEq{@2V6V=h^^p;E{_n#omO;H+#g?i^^_5i$YT&|18MIN?YHQm4odNOhZO6UAEvr+5 z1#uUrxsnw;0%Sh{cOe)jAPhf`r90|`WGMf`0QY40m?rweQsHKV>`c!o7_8={lRy;w zfi%ubT|R$;m%2=TC+72myyNt8SrcHd>VZ>R7yha94M+Zs?gW@MaN8GYp7Vqx0on)? zl2$KafekAqTx!9_LUWUo-;K2yCs1PEXibErfOXhF=>8?8rhQLg#AhtKxqk}m5KDkN zH!{lJUv7j&y(uk5ku=K8Ps6&yV$oc7;=q&-ou9vHS&{IfxXwI3E{Ws7`u|+KT+wd+ zDu5@>eaL$fhM?|v%%fL$q4Rc4j9619;9*!LZn8wm*=VCqQo^oSyxgeBi%fk8$K0rjFTx^J=&| zTAH8;?GLvD&KdS4qb|6~#Cfjd#PMMTmv6mHlzwdeofA)po?C(UyG}(kA9upBneNHY z=#W;SWb+lX&V1exyC-uOrT!(-1 z?#Ie$l~J;V@fHo+jEHsX-&#GV2N98M7|SNaKuR#tany*eMIz0L^ch!S7<@dLUN9c# z`MA=@+c8&}GirJ6QD}#rM2_6n(t;4P7=U-aRS%hQSHIi$8vmJOMv$Mo-)N9g8ggbR z7I+AlJxicW*H|`8I~M?j=)9SL|6#bi?JzteR{Av5`>3qtalzk!1tCD|)_{zGb=LUU zj8kN*uV-!qcRh3eUKt#;z!OMt__{)dZkY{gz>t9B5CIG%=$YcxGIk>Q%O<#na6RD$ zveW2zb%Zv0mXEvfY$}osLC-H-Le9)CGkEFlU(%ae&Q4hJ{C74eLMU+>Q@NV%k9tg8 z4-OJ816hpN%U8mbhbr)D4&QF=Y|+QJZZg=it;qE>g*Ir~>%qZkrX-e?+u~`NH6q?1 z{|USsWb-ZPB3I|KMj46+wm{f@hXdcmErZuz6sx?LYD@BdPmO9ttCo?KSbTBB%b=>y zh|WFae-3Zu|8I9-r2yv_CQX5h8pNg8E@6(fpa5BWde4&(oA{V}Xsa|Htt3h!g**`B zf>|)t5m9Ya9^ZsM3 z>9&t<+KL`SaVIC``|uPz$=sI`nAKh|5 ztit<)9ELY3a$J|+bR_6SOKD3LjpXu-{RJyTzx>#+hlxCD>;I|f+Am6`XsJy|1f@UZ zX>>8Px!u>v>;kVx@Z>&LON1kT_cBY&S#CyvFC3uehEtX_D@QSQJyislsHBSb6yQ~% zGbG{r;D%OlF*63a3zKMOXf&f_Rr*Y5v_L88gPKi(13A_yOF4|LqRFIyIUR_MN{=SLIBpXGm+PA=g`VF?MEt2h_ z>wU*DSf$XYm1>0t4%E+W*(OI>X;kU)l`z~1_wL;sIb>F-9hSk)G|TD9&CpZ|rY6W# zE7N&b1WpZSO-y!yd4IX9%N_U?M|fD|Y?r$>%-eWc9r^42tzE%ORKDUT%@xzoejD0{ zmurm0<9>49>Bvd#t59wTty3dGE!6>i)QPYRuo*hCsqMSrpc(bB4Lc(Z9Xoox6>aY^ z+QT`EgpXiJ;UMj-x*FmKa0t^+M@U}EdHE1?5*!<|$E$sif*OX~FXmDZ9XTR4U^0lkQ9@T)N{VoP5()D(qcfRf*ulD`pW_c|Y+6O8&{@emUza`5dFq4@Ts_c zd_z}W%cMo*Wmg%3Hsg~p$JARa`oK6q98i9(h%bP;V|RWs?UxlR$;!;fO0_zx?WAN@ zM*g?`L>i==N_Ms_84~}Ag^o}+IOeR*&*VU4d$^()wN&x*~^V`b>)OE zWJ!CnRfgH$L-ZY;=930ggs=?gUagWvZlBYfpj9Ru*p)%wgpu;^;XNnPwB?!H6Mx|S zX96?-^@E(sD!L$gea`Cv@V*2lUyHbACiFR5&pvX`b78x#RS3O9*E+aZo@yeNnM7al z2S>#}v$6m;GPsPNfm&*aWleP|J)y(%(VjvjK8w(V(By0~EF)g;l`4I)4I4Q2drf4Q zHl*mOe!}J6px4N$Kh+Ajh_KZeAZ#RPcKVR&onIa?a0uKcBj&GWQ2dO$k>-Q?fCnjRYGMeECE? zU`j`TWfSSM_{9_RSyvl7WtNRcyXc;lbU)zQE|zH> zB3}0ZGj3|SuwUb76(}+yN~2q>S9IRR!keebjKdeg>jfX={X9i=PmPVxO=XbW=AIm6 zRn-tKTiqN5CyiZn8GW>>@yK!$y-?tSk|P*U`-i|5@;`u{0S;cWKsKQimt207HVWD) z1%DD~>rlF|Bv~>|ufoq2g2iSSu(S*C@bXl1^RC8q*I^6QV&oPOed=~_5<+!9NT2Gm z$@S?PCM;SGNrvbu4y|}GfW^ifR_S9fyXf!5H&dtSt+a7rD{z$RbDK&XX zSXdH##BX0~f`*LFS@N9ff)?xEaxMgqb)Cu7M#i^Yn@e|HG;Qt+FgL^%QGPc2pdObg zL(1fc32_lRg9Ze=4HE(diDt5nVE%&ONnm+lbPi_H=(%pZBgrz;Wkt~Lcn_RC2Hv9X zzC!?*Kx#MKfmh-k2<=;exIe`G*0K^_QmP%+=RPnn-1>ES+aN4+5)1R4K@})e<1`>G zlT7Br?N^H6|18`DR-*;%E&z$8_q?~``6-o6FSZ6xle5I%a%d4H9%I>d z58gY1xLM?Gi(9Axzd8@{{7{hYyFndx>~p|DCM-ldh*hyr@FwLyC*)}6h=Fdf>6TO@ z@dkjGuoxH@?YTk`^O?Vfcav-1gtQ^r00{I z$NW7$;t#lS5yZXXS^d3N8Jo6GimqbE0c`*11t!yBOB}k)l`R`4<1-GJoh1&hM0paH z6-uE1FK)tXIKJAKHnxhlJ)xHlmnE&as+_8nn~->sYg%7kr`xnlgm?SVvjCT+mJTI` z*qO*vId8Vabv14>l4yL(`3vZeFp?+98?nwEg2rBIZ)v3V*Hn4#m{+_VI=~$*MPuSk zJ<>2`9v3a-Oq$^On$xA~o?FrtAdu>W`x*JU=U_5>;>cxW8#E{Ph1FxV?ZuFBvu*=n zn2e6YO7Iw2E#iph;*X9P^JJV4SmGE@tG<(RdEFft%;BDya>n(HTf=;lSAJJI$&%b{ z*|0+s@oo1GQCioEqS~7;wo5xDo`CMZY^nK_ULv%~$?GidgTSpV72yu~27so`Fj{u;gy;@ox;nICAZ!cGF)d+@uHChz$Uj8?+uj>?>uh6bqc+-?D` z{aswm;c?M(YmP_0=m*k`vov%d-DDU=MVF48rjZ}@x38sfjIAC2Oj;33oIHS%QB)DG zJ(~-f6ifC4CynncFJ}(2@;3e9-!bqzq4VR|=>ZdX@p%;&RlC8Ep ze>;EHZ`aA;B>bl#{e7eNIQ4B4wh?TI7%X}}$hc@e`pCb0o9(t!`o>sOl@b5Jo)ZY0 z+oU)RbI5QU?`PtkOF#Lra>s~03IB&#`)1iS5zlgpGhZ)+!A;(*TW75a%wumFs9wtW zF&fec!mMa^4z(zGA>)4A?K~KO4U7xAHYRZ1g>%r(a1&tHyHD796xFm$zh=qhE4Vhe zcXrwWJQl98%P3RzB2)+A^98a`Iv>oqq4STfx zGuZpXI5tsweyEwec!*49D%zhEstNx6gisGE>U{0#V`G%^#7b}7^E-8&9gcctr<&n& zMLFwrop(cJR@Wn#^dUNvry=rLr7GxeBzwKk(tb51(+6OdGkVbzlY@;9ZU|G;tsT4$Ea<^->D?fWy6xCyRPdA&37#KJ5paC4RCd!Q0epPyMSgGBuxmjBo1CNmGo z{709Y5=ju5NMMv%L{2+NE^DI50xje+`y_j^)~RLlY}QfPDBjlHDT{$Bhp6CiF_1k% zY+8*uMUVtz;cA%2G*+O_4Z`)0eZ^#fs>$8B94P-!zmH^EU@Cpoew+8 zRBg&N0Y6cVOJ(Ahxwn9Cc?CCrc}GWE`6dioH5=8dB7*m=1U?#^yxf6Za_6d6t5f3+ zd+?$B(Z~(@HtQI{HkGXgqIVh*XGUoOlAEF(rb?+aXa;<;I5e!$R$I+Erit7PE?Vpw z;+UE;6>Pa;$SsI%)2=>7-W;(oQcQ@tKL>nXfGAOvrioB5&No-2ZtK&j8U-5xSOC$R zf4_4g3{f#9;u1=k2nI{fz{tcbO0*ag#F{7$hbOSGvaySoAkid~O)=Fp(_??19h_X; zk|ax!YKAm3%`)2@9$r3v0qKG=WXdwvJlW=3V4)l#xx(_~D^RFNu@a>gS!{`=%9I;( fg1ummMfyTP8tk@bytBDp6h(2Q=16u2m~;RD!JA4b literal 29720 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 diff --git a/tests.py b/tests.py index 1c43a0f3..e1038c34 100644 --- a/tests.py +++ b/tests.py @@ -64,6 +64,7 @@ from media import getAttachmentMediaType from delete import sendDeleteViaServer from inbox import validInbox from inbox import validInboxFilenames +from content import htmlReplaceQuoteMarks from content import dangerousMarkup from content import removeHtml from content import addWebLinks @@ -1923,8 +1924,24 @@ def testDangerousMarkup(): assert(not dangerousMarkup(content)) +def runHtmlReplaceQuoteMarks(): + print('htmlReplaceQuoteMarks') + testStr = 'The "cat" "sat" on the mat' + result = htmlReplaceQuoteMarks(testStr) + assert result == 'The cat sat on the mat' + + testStr = 'The cat sat on the mat' + result = htmlReplaceQuoteMarks(testStr) + assert result == 'The cat sat on the mat' + + testStr = '"hello"' + result = htmlReplaceQuoteMarks(testStr) + assert result == 'hello' + + def runAllTests(): print('Running tests...') + runHtmlReplaceQuoteMarks() testDangerousMarkup() testRemoveHtml() testSiteIsActive()