s*w{V~tx+SP9V%Fx282YF(W0DSdR3w`j+IRx2m
z7Na{?r7L{rIj9m%+*Hwm4?NIK(P9fp;p4F?T$V7`x>{8h8Y++w45GzAC
z7_7}UZ`_K|FOgn#TioQT^%0FaF0~6DYDmroYZSFJi@PM5xT>sa@;*&M$BJy$;uBF4
zNvED_GuEI3G}38F;+V}xQCO>S$)-WU6tlN9$WB_iBK^}#=xHJOXmiCe8;VvuR!x~b
z#xLHf&q}Hr=c_r&(R~FZM#iHpnw7d#Sg5%c4z!~*nZ+BbZZwHAicHjH>Aq$uqR}Zh
z6vFixmZCCy)`}pWq`R_d`KsahsTHWO-;pD9=AmO!I}BBJYAi!%MQ`EAp&Y2G&XWKb
z+ADeSZ1LT>IBYb_U|4bL(98q?pD#
z(zbx#yjizIk_ANrBzn^x-Wy!IHz%b8CO|E5IGAD*UNV
z4QR3v7T|d5YbNZHrh=lb%!Aa@P}G8`=oYl}i$=M*PzQR>jW@6r-*{h4K%QyAAXLfO
z4INdEqYsC4qUQolybAMg5%_|ATJfEoh|dD9c&7eGxiEr4gN#*sEe$Sh46Nfg%_U^6
z#-gIGb8XEat2eL+B`OV72CPhf1W-CsbQJj4aijtTCZt&Q@@nK(;~A)~NLpzWkyYCV
z6&`3OEk|CIiD5wEfyEREy<;LI%3IdGW5T+Xtg$Rjw{|PWgAvF)*1nOcO>H`rW7mq#
zr9N~LT*}9<_=`igytHSHMsc16c?PMbJ*@A?0=;WQ)mr+{M<6_kr>^J_%#9{MHIyGG
zy3DCJ7s}5YBLvbD#cS%Cc(#?WMP#=Ix|26(2TE`_In6YBQvU!K(t=0u&Bv`w2vLsp
z3ZI)a=lk4H!sVFQ6~!ncIH(sn_NNoHib7?;nM!m^^J9u+EOC#*o~I2|V{+=R$X1;Y
zImJeez&_M0rCyzhFCt>3-GNZ7g@C0znk+?;dI!yJ>8rWcxvORdUf(+*X^|rJ>i@
zF4%=#CaPPVv5JtnuR5dD;HxXK`R1Lw0;0_$F{~Vjh~jc-rjQyllS^}C2a1il)5+qZ
zW~X3m38dS=bgSrJRsc}Vk=CGA%}6T=7`f^*KRsGg
z^3_%!HfnW0Eh5{{Ry7$WoJ~Z>oKa&W#U#>hrWUBnb3#M8A$p0Pn(c~uaH7n>y
zTi%mA(>GEV=B%WVE^vC(f$Fe))3+LS2FnG_M#nV~V~US?6uC%~KmXZKO9KQH00saE
z0000X0JijJn9>FS0LdT#02KfL0C#V4WG{4RWo>0IbZBL5Wic*zZEWmWON$#v5WWZU
zABMThdd=uztToa|@@v;N-nD~|y;5tYt)6Mo-P*Mrf;lOmy6e{&UMa7s_iPDhp(Dazp*Mlv@gn
zr!_6d!^5?p=lNcvyVkD(RBq!2%|T<(SnJaOG#bH9Q!b{?W-aiR*c>QrT6FiD{d(2F
z=k(XN@LgYh47>)VO>YZ790r*UbD*^8Z{hu3yVp1MYf##3Y~h=gZr^JfcnyjuNv2!q
zir=UQtKF_46Gksv;ced=Hfu|GhAQWxE0s@VQLM%29^*p*Xy+nH5=Sm(c!EZN3lJrT
zoH)BAj3Dr4C}9GIE49k7QiuQQd-eU-fBpQ#0`GEkn1>&b7z^h*K6Y-g7&h&F1y@~3(=P4=cMtAv!JUJ<
zySsakK=9!17ThHSC%C)2TX1*CJ(-#Jo0+`%*8KtZ?zL*O>E2IOb+7K;)!o&nEHpug
zF7M*GLXiihUE&pTAgFQRy@*M{eSG|>YB#(VzHAe``Q8Q9%J$71c`f>02NnKY3mvb6
zug@ad@hGdZr2bMZg)-O2k$-&Kj>N@8n`hzt(t!VCBPBEX<(lnObVKS(1bT$y3>%q3Sr(AsEwuevm1EO7v
zf-{Av%H0vk6FPYdL)g7+(JNvswXrMu=dp$kB%RYFg(El-HOL&Pc;1E+ZBUkdr?-5~
zp|WJjCRQS+Z~HC>_|u_K!p+sj$iglcXpP`V!ZXrkv;a(3fyMmypyWZP?IP8irw!RB
z%Q3;npm}C{D{f>=tmE4Oa>!q)&n_1vYjowxCnwWG#4XN@WG0z$jgME_jk@bn4X+}u
zXJKlGOl|5$RZaRz4=FVSEAqqfJ{gBG3A+)6lz$jsGa|j9Q$Quv%YS&BK}ZGFajjw3
z`)*;Cuhcc0TOZ#@Vr1+Wq-8HY07E;Ab?c$)(Cv5T)F-&N20gHGm*n5`I`)-Ya7Kd|
zJ_Q^?HJE-iAawIpMwEb(o}*z%c0?q-DYsSex`)iu8uE+c(>+nutv}rMERsC^!gPuI
zaYww$JF!8Nx_0U=TQzpjZR5-DSnNJ*@^(gz5_A)FX?x{`59{-6V*3x}aolAlV>CD|
z0}{n1wOe8WU|M_!lUiF{Mf_;O-`jN*T4`MtNjHw8Lzs$rv@Bj?EHQwXPsq{1zGSyx~$pXn5M}{
z;Ef)Gu4%QM20aQLg@1_iAwq5Hl|gld58Jakrzg7}lM51C?#e5e!K$6mm#*sA-66h_
zT)9&cN47(rGTtpx@!efjzH^CX9<`mPTehaHEZVmGD9W%RgWALtv2nS8&u^;Vz?zJE
zok0E7l1-bad!8oDW(O)Qg>N5wOlK9Eos{jU5$%2uV$=ibF>pvFG#JoNFj$Z)Kvp->
z7~?~hhhA7T_0lhDbgFS5KZ
zX%&LYt*__tX?ewR#A#M|bZ4r>Ih0
zDZS5m2MtRFh3aLlZDtMZ=gmmTUxPEN+ST`FTisqEe-{ySU-J4%6ZjFtK>J5vTxU}k
z7fU~W=0Ns6llk#cysGl;S_p-lc&pQl9sV@H>=G(ACNPCe1EiMD{c*ho
z1VF%?7B)?RgxR=$+AzEdSv_)Deb_qbmCYt?3R$}(0;Ohez5B;#>(836uI*_{DC(d%Pm
zxxIybkqU%G2%
zMc#z5w-Lebh32gAhIQ43aP36132bc@P|eGK#qTt!^Dm(2c}ottTt9Ufm5{P}tmUEKH_1DCx6!JlDBjZ?Mcc!@qsrbnZ(vTdan`C>
zDYvO}N;SO*?kSyyt=A$A`y3x?65P=I{2VL4jzu&bJ-OJ;SMV@KQPSdMAt|6c&3e6?
z`@AX#|C!IaigW&9`O{HBy-D`4y4v+)uG3oGInA!gHv8nPs^kwg0d@P-5e7VzTkFwKJvk6jqnJqjdD!`do>
zhDJ*;;$=cr`F;v0-KISo<;QeM3E@yfPQ6jt9fEr%Mp-mBM!PnT_4IZ_5=iiu*=HN0OM
zYpsqE)EgLl(&UM;z{!fCD{HPd2JfB#zMS}eV5VFtCwL1K4Ja4^b5-sqxK1wuDo$Q2
z?M%i=-WodHayTl8r1d@m;mwldUV;%5vLf0cDbA!Z`SXn9O
zNGmrF7lkPigy~U-V*#J?)o`s|7Lqm#lL#+HB%cc1EX*!+K9N-t9LA0SbR|N#vcC5$
z!QhX7BDKZPS(Z|^-Cdce){&2HRLmbOPRCZvYXEptPO6R7W%SIM&D8NNPt(Ut=onOb<4A0cP7z8FM1IY#(L`@yM5auZRA9QJ8ere1CmBX2x+<
zQ2T`K987y0v&pU8bQqsI*a5N`TSfOB=$AfvcvzdNmGYSiJ_Tk)F!
z6t?Ds^#tXT8iNKDODJ!DL#Cd7$#zYI4U;L*R&mwD&KiCYn%w#{Q?yoJ7HKC1W`d#yGGI`M8{++RF@6nprXeCBCXH_`#x(LF
z*EZ&03fG?)VeD&{KYlyLQ;)6$mu&Tp6V)e$#>}OqPEMr?w=Ap`6~yk=x4C$
zH%dg0)%fUuzYC`cSNBeaFGskY%Hr>caN0u_wS1i;BwEQ$
zBTsi7>`Sg{=Ytsun^7p6QR9bBs6Rfh;GaID8P8tm_r49e4G?tSYw>bS>CJZaR}bvY
znCel(SIs6^bhE9XJ33}erV0qPzZI$oX?OflXt2c@>Tb^awiBfI@I)0)y
zAdI;|c0BZ@!?pa|lMnZ^-`poZ;8g3s1GL8(^LuguLnmPof`Fj@XEJ8zYHMWb1pE^H
z4B2;_vTB#lf!=>cdqW^D*(Ni>32|b=-m&U=mI7>JuBsm)?M>*b#ZZ#>gRFyDtK-bf<120&Q@+ct&zi92uQL|?ju5SSI@24
z0NaD@VUv*FhIQP2If)i%U6$|!%!Lm6!w(L4eqr1yh=o%W1v%#ugSfPg>y2<~Mww?O
z|6s?V8PSnd3$ajWswNNlnRyG?O1iwEnl(~@L6%xr#mqEJWbQ#`UJtQF77q(b%qFw|U<+c1jN4UY
z{ZX1(r4xPlAUi!K=&@4k)P(op4VZK8el2rNS&?6!BS3+nv=}tFI)Zf6GY!MmmDt&`
zmUT8}wFKlCW^Vg7i2btkMcwjAg-8S%f7{pD4Prhkn?h?ZbXq0Utq&XP(b`HrbY#PB
zQ!|$vu9Cg>-r@rv$UQUegK;j7VK<1QdkY37o@WJH5kE%nU~`8Ssr81lc@zkM8`h9#
z32Cxsv0O7dtLqd@`;!q2v2-T*@qTJEsVPquP6I>z5)TifA1!Lepx
zi@&kNsw(s4iI}QCO!L}Qdr1xj(S-F?sQ5dKLVm2d*NGE5JJHi4FQFjkHIkH)ER3i(
z(6NOuBEk-cwhGPL(V@pX$&sO@bvQ9F<%Uw=%kO#ngm{AN>p>GksH|C2JNFray884g
zphflI!Ep7Xdnsvrq+Z!&fo?e=dHpegWh87kD;VCFj0a-BL6>#;Iali+>~m@n9C;jA
z-&ki&nwFwj7$ZB>97B~->}fSm?hA3@(>imE`0i#)x2LYGb&Vp@T(g?Qir$$vodT+E
zQLNK=(%>t{lKN9yk%%k@S$Z(DC-p`pVm@JvZ{(2b4vG+H7_V{8(yB?f;X}XI!hd}@
zI+~GOND^Q~^&6TzBqCpn78zd=%{5nMK0v4v??}b<|3)c6jIb}ZF^s0Eyt3|VZhgCk
zGt-yepzf}#o_w|YZDq?n_Q%@d)w-+Pe35z<#(-t%2Rs_L2F*pKt$
zhqD&evh~GFqU*o}t;hVK+6Ww);U5oXyYI`8Tr~>I=t`!#I#^yfmQKRhturrr^iWjR
zn+MADU>RKP49xc{UdC#QF8#
zvh8AV(k;gZ_>G>*xsyG)EC|3a+R2A|5KuZ^IK1QI(ax|)v4MeGw%Ll&t2wX!Y)P^!
z&zj~SnzXmb
zJnMsH@(jp6*9U44jlgU8H``5pT)S};a`>ALm>6>SI9zs#%piH-a7OQFk4Ro&9KmU$
z!!162q~(5xQJYV!9cP~&nhp`d#fhBgPfqu2Vx*KYHAdSJlDXl4)$aX1xi+F4Evl!2
zWg{3v(%^z|U*b8I=sT7s!%Uul4eEuz^$GN8GYWjwK`?&YTP*!Lq}12aZ-WAybo7@S
zujGT>T)wWgWPsMOEi^r0fL`mE@f6icyWG{@cvtJI7Y(sUQgwv>y-cIk_>SM9@T-L8
zyUZkVX~#2hP2s7Q+K9q&{>n7hlJGgl9$MjA^Rjv2a}`d&3p;MJyfiSW8c=a7;C%h9
z#X7FKqU{Atn1?;QyL`mIl08_Rueeon@-3}_}c2}$tF
zx;Pw`+L^pbjyVsathcvb~q5p7)<(QOl8MLQHSruop6d5@DOk61Z
zmQ!mv($k_|_Z80d^P=*q#j6VEJHJvqfP_alo-XffWR}2eB-x1Z8kHRB8u-9^_cF+g
zF&C!2=(a`%Vx;i}Ia^e(>I4_2yx_J50zss4jWIAm289a}-d4>5`)S1Jmj^n$Ph@y?^ey_=74ebpg4#2J`AxeQFI?%OWSRXa~=(bS5#twl5z8-l|{zaI8r
zi*uq&m450(%Oo6aWt##XP_tKkLl?jZNxY5Ju&+-&62<;vQ#T`eJ`n_#0SO??XZW(y-$OQczarQbA&*ElazFC(
z0RdsmyF~J{=Tw6DRX$VX9>9Kx-{-q5Fd-e7z!}M*XW!r$JAiB-^^T%@|1=2}t&HgN
zQBC-nQWrGHb_*V#Ij%P`PSfy!FJ9=wft^O(=)#ju?Ey*S&18|PWP9JulxR}xtfLop
z)dW-;<9_KmZjlGY7E*jK$Vp_jx0$O3R;CImW`wnu{3J*ZRqnj49I2A?ip5pzo*Q~AE!kDRi3CB{2o>(*7DOL
zs5Ut74@}TeKk<@W7@B4D={+ih-N`>zn~{Bb&hZ&2UIHj7$cNI_E|&>~K(B8(US#zX
zA$=wZyTcnaVrJYKF0pI-fHNKZVEDp_8-?U5P}4CyGBF+^JSH%dTbXbR&FPym@c~aj
zG{)xgRA`|pq>p2xkMk?&ep$^ha6{QfSJ<`hYIX&6-2Ht&r5~>RG3PQqsvjI3Xq#m<
z#C4%?626<|X)5JVN8q$BL%#;GDGDv
zrn3^ixUyLaxxY_}J?=!?aTPub4S`h(x+O8jyFh@Ko~5uuiZP0Mcfqxw=Fl$rnpxSV
zDr@jio*aUs7)KW2nWkOFgHOG<(&8p_>?ZBLJ$--#3;R8Z9A%Wwws!c^+p~ah*g{=j
z&3NL=e#^a`Hbj{%`?7r(-L*3nUz};z8ZwV>H$x`l(7tAK&)PH<|M5_GR|qv`-DcNR
z9$wegcGrz$9*HNv0_vKxqfRX$IVTw-lvLMyej+OBmoFrX`$+0!PcxPfm)#lt4AB>FdEojokEuSs4857$
zH~2O+UURU>ETp_vwZsRy)s8QU6rS-7KP9cfo{kIAulR_bh^v4b@tvbtH&!LCVqax{
z=Vsp}l57X_y{5d}x`7eO0vNd#T~BnDuH4n9U+4grSn
zziHOd#va4nNhLJEO$EmPPvX|Y-z-)j+%HyG>s2HP|MXcH{mW-zm|rR3GngZ#L=csQ
zL=f_yq#BLe%tMpV&rOry?x+&FwN;D^c~XoF_ABic3$6?*lED3`{?8)p8g0V-Uv&lQ
zj*k(_!%ZV9#6uG(2&98L`8H9@Wix@!aW5_RV-w?}X*RG{g`ZYtw$*SGq28
z`dkeVJA;yE5#7PM>k#oK~xd
zK+w%1g95=0dAJ>oKxP>w!3uUNAL(#pe=lmd`t@dllg}bw|`~Mi2aua1$R1Rx94!h
zvr#5u8)rU__LA-N1NX^jzA~(7bvvw)VBchYLacVb`)uFS`qLw!?0jQv9P7cGi0n^%
zdjq9`Nac6WQ5sc(+LcG)&yOsFH4JyOtM$M=>?x;9z|E1)K#}Yfrj+fB2{%mbr%1T(
zYEKAIBTzEK2T%-0#P^!qM6nfH1?a_QeGs3Kuo&d2gq>d<7v9eaEAezJo=(T^7vBnTcdn=`uxW
zXjk#7yLV~d4L?4XH0*SgxEbQ5EZmJ`x+oc7t`=|u1t$P8P8hop_AdV%yK~9_w37mj
zRF%7-R4IO6BJoN>#dKH|OcQidWZ%gTnfI|qdUDDk$}5f^zb-2q654t$Ij!G%Znuvl
zy;(txTJ49M=lu1a_iLAg0dGTG#d{3_lWZj77D7L7pVQ%(>)A#>{I9cvxwBBgRcjD;#wwAXM??2)~5ex>jNipgA3{jC9?d6PJ&&7YsPrl7=P(V
zH#DKDXpDvYcobD-&Vs$RQ%$WLO^ox$IR}PiUmFLR>huA;qQdiI9L3=KJm1mV+iVIK
zQk`AB>+ir>X~mKC&8uaZHw7h4IY`myP;u3ZTb^A06puv(AQc#tbB18xGB%CSqI;8M
zzcjYVw8b}4rC3+mhdBkp_1F@!PEMdYh{<+y?);{4`%s*h%a7!BUaL}K%B!@PIWEa`
zpx9Aoo2IPB()$pw{SM_x3Rl0(4<%JbqO^3V^+=zbfa7JH_q+Z+fZ(Br={-Jkcfd@@
z5WdZ0%KNDhIk)yjLjk1{t3W&D!zRiCj-r$HpbIvoNUH;DG#4KpdN)cM7`!&>)%It}idEro4o{o2
z+ykvt_r?jVM%`<9=8zE39+XR)mUU;A=a=AA3;0*W-p-DINZjAb`V~r~MnVQViOD$fIjR_
zfpOAvad0yk5C63_^%7NiU!-anE^}#Bt*;s3_TjD3UWxAyOKnZ3J4qj$ifSv%8yWZ6
znhX&1Y4{0tJ<4DcYiWAEt(%q_UIdM0`ARwA8zW;$_f4uy_)3&-AUo
z8hZ`ths--F<83~2x{dK5F0Kh%AGM?YFv|1q+WWLCytHbNTrZpkO365&Wk<8^H>@8%
z`XRi9Z@5={l%6^4u(n_D
zniPBa5hPYO{dyfD=Dxa?GDNcD%Pyed%H4e^S#yNP&u{IV<0Y!&Ara@(Z
zer<#V>aMg?;_^(a#XXUcU&MXK8Q>-}KWF_4Y_+gy^zK_4J>J+YI{eoB^ieu(Q(F;o
zKki^ZR3qlD2>4|xsOE^Z{=j@n{af`1JvvsW5*9!3!NR?A8X^JswT()^*v<3v^TX_q
z!J0VZUC6;u*Y^o8D8aifP7lpZRYIdlU*_ib=CLqUhx&6&F06*3efO+HsH0K?=>>KL
zo}quYpvnXHk|Ym|SN{kO0)qaZg${R9BjtbW?PW|U+IJBngKXT9KOrHWNx53d7~hy`
z*6!O1fNU(3V;g!98<_JIKRJa
zBFnO$iXxNiAD7V?yL$UzIgLSZEYR_EUNjtFq?79jz&%?IQ0m8<7?G`kMB`VpV81f7
zwk}QO!(WD#SY=_nQv&!EUh(S3`qxBLX{g3^(_Vgt+J5r35`sjDv^F`a)Vd3u%f+Y=
zdovbvW#M|k7Qfdwg6STUw3637B;Rcq9PUMvKYqzSb%>==2zte1(7TynRu26!c%+6@
zEUm7YTPY&r2L>xx4|7<`H=UzUX&E9-IgiPF$9bH|lwn@$6zkXUL@6{Z(hH|f^vmvr
zz%PaL_8Xf0I97VC^HB85WyC?+sX?C-ZydaXA9@OqHfO#?+u{UB^%A>8+Wme-TQ!BK
z{uvAe3>$V&Ft-5R1A%5On%gEVs#!xT6<8v*
zS&a8NhR!ZT9V=|CpDh50F#z)_G-)cx$Whx!`&ZnQI(qh=r>zPFspzcp0uq%Xkg>q&
zYUtQQ6r#1Lw3#xDpSO{sA>5D<|!+(V=IWNrJHt13ZlZ
zQ)2iwYI|v7e~p(OmbvI9ShCHaliF!3NbW)f^C2J5?>Ay1JFc7?qagE)It^SAF0)3M
z^ULUa3%rszVSsRbu=Sp2?{-QUUte^TU?T)lZR=07G`U22?E
zBFb;#2C-Im-F=r{(t$77;8cOFI%eNo^AQqLNtvimpNR@Y)fhbw-XuSA10#3fW+aTP
zTS^(cR8CZtt2bk}g<{B5II&n9PA#q+M{+TVLRF^@Lv-FN%naxwg+77>-w=LZ%^w;;
zsi+|Vb|ro5s3_6p1Ca_-ga0&J#nt0Jy-7vajuV>DKF*@zDCp+68PDb;MMvd^
zkVA}|^BEe0hbxN}QGQjiO!P6vuR}v?Gfc1->`L3Qj-{jYJxvX}tF~kx+)#v*L^+hZ
zgv5gzBHOhG5Au62&BDD4;yinBYz(VH7u3QA5zDrn#qM?A8o6ZPbbb@PC;Co+uO*QU
ztBjWjtxVf3<6SPUu)=||SXmQ|jn=u@ye=2^$)Ccvqqg~n5gU%;jr_8R04M1L;Juhn
zPSq>0NBsBhPlA#-tpRYbN(SblfWUy7*c&T2**iEh8rwVl(N&1^AV8^dK!C6OzkPYf
zDO!JILhfIOetHwN!@i}Y5n
zV$v9BJxZcf=o#>M;g%|eN>)tt>JVa>FuRnK+72=}ip$-v~EkMeLN1+~=3$
z=|%-aDAOtC)doLi$yb$&(T{cqFgKADRO?0}O-gf3N{~`i+iF*3Mp~?Ylm9k%w(O{)
zUTmn255P6&-NNlud$-D=<+4GS3$b`W0gW-8?xA4{+gJHiaRzBN%-{pA4HF5Kux%sw
zu@-V5_n7gWiZyTOCg?OVe(ZPr?0Ls#c-A5!(szhH0Dg1Esum0YI3@(cm9D_bgCQF{
zX|dxzlc$384*XK>)j%GrX?c8u&AUF-8Z5+TcC5<7qOKT_%8-g`Cy-
z=vplKMYlBhX!+}HG(cE-@|v1N=%7b~*^SK@jl)ty-^u)O?t_bCZ)xCA{g4;5^(|c3
z>Og~i562@23SxdZnT}Q+xRHiq)-|YCqM6I_LH<>Zx}@QX^SY~ecg6fTAJ@*Ohv&F%
z_yFtNHkf!~JPdV-XZ^{!qhm%sjw=7_e2W|;HIjj<2YDWAzS{u#atmIX>7rpZUWFnDjaoYUTAx3eDZ10fS7lWoD
zuz+OhfXW*17ktEaDHf&Rtvbg=xJlBt_KGK;;h;;O8F(^;Yo>>~g0+ZwOwnLo(~;eC
zEKukJ1KZXC3$!`^D
z6&w*?0cx*?@TYP2H#1G3EBPOs%z$q0cJ?lR?koOUkR%$5%LO1_0f+qW*sWxw`fYB_r)K||A}V#
zT_s92eu4WvdXxAcMgL!9mm;5k`#n0H^k3-T%65ib?)W`gmEvETv;IzV)r83NProfU
z67|1i{{s!I;6E-BVEfA8uLlr*W$~-S=HD!QqyJ*@PxsAV;lKLX{0)an`V0OqubW@-zwV#^
zjkintkNE%DP5%}A>zwp&uzJ~F;9q8_zjF9>QuQ~7h4Q~R{A-H!EB@bx=HF-#5Qu6J
rkpD6}e}(_sAowRdz4jmQzsv-J@F?a#v{7$96g@7wD7pa1
+ /// Removes any editable ranges found within the bookmark
+ ///
+ ///
+ ///
+ private static void RemoveEditableRange(WordDocument document, string bookmarkName)
+ {
+ // Create a Bookmark Navigator
+ BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document);
+ // Move to the bookmark
+ bookmarkNavigator.MoveToBookmark(bookmarkName);
+ // Get the content inside the bookmark
+ WordDocumentPart bookmarkContent = bookmarkNavigator.GetContent();
+ // Loop through all sections in the bookmark content
+ for (int s = 0; s < bookmarkContent.Sections.Count; s++)
+ {
+ WSection section = bookmarkContent.Sections[s];
+ // Iterate through all entities in the section body (paragraphs, tables, etc.).
+ for (int i = 0; i < section.Body.ChildEntities.Count; i++)
+ {
+ IEntity entity = section.Body.ChildEntities[i];
+
+ if (entity is WParagraph)
+ {
+ WParagraph paragraph = entity as WParagraph;
+ // Loop through all child entities in the paragraph
+ for (int j = 0; j < paragraph.ChildEntities.Count; j++)
+ {
+ Entity item = paragraph.ChildEntities[j];
+ // Check if the item is the start of an editable range
+ if (item is EditableRangeStart)
+ {
+ // Find the editable range by ID and remove it
+ EditableRange editableRange = document.EditableRanges.FindById((item as EditableRangeStart).Id);
+ if (editableRange != null)
+ document.EditableRanges.Remove(editableRange);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/Paragraphs/Remove-editablerange-within-bookmark/.NET/Remove_editablerange/Remove_editablerange.csproj b/Paragraphs/Remove-editablerange-within-bookmark/.NET/Remove_editablerange/Remove_editablerange.csproj
new file mode 100644
index 000000000..07b5f8eee
--- /dev/null
+++ b/Paragraphs/Remove-editablerange-within-bookmark/.NET/Remove_editablerange/Remove_editablerange.csproj
@@ -0,0 +1,23 @@
+
+
+
+ Exe
+ net8.0
+ enable
+ enable
+
+
+
+
+
+
+
+
+ Always
+
+
+ Always
+
+
+
+
From b33067dfee85657715983acb5f9fa94b737b3542 Mon Sep 17 00:00:00 2001
From: Kathiresan4347 <159137198+Kathiresan4347@users.noreply.github.com>
Date: Fri, 2 Jan 2026 18:30:04 +0530
Subject: [PATCH 2/2] ES-992085-Feedback addressed
---
.../.NET/Remove_editablerange/Program.cs | 37 ++++++-------------
1 file changed, 11 insertions(+), 26 deletions(-)
diff --git a/Paragraphs/Remove-editablerange-within-bookmark/.NET/Remove_editablerange/Program.cs b/Paragraphs/Remove-editablerange-within-bookmark/.NET/Remove_editablerange/Program.cs
index b118a64ce..71ee54de2 100644
--- a/Paragraphs/Remove-editablerange-within-bookmark/.NET/Remove_editablerange/Program.cs
+++ b/Paragraphs/Remove-editablerange-within-bookmark/.NET/Remove_editablerange/Program.cs
@@ -40,34 +40,19 @@ private static void RemoveEditableRange(WordDocument document, string bookmarkNa
BookmarksNavigator bookmarkNavigator = new BookmarksNavigator(document);
// Move to the bookmark
bookmarkNavigator.MoveToBookmark(bookmarkName);
- // Get the content inside the bookmark
- WordDocumentPart bookmarkContent = bookmarkNavigator.GetContent();
- // Loop through all sections in the bookmark content
- for (int s = 0; s < bookmarkContent.Sections.Count; s++)
+ // Get the bookmark content as word document
+ WordDocument tempDoc = bookmarkNavigator.GetContent().GetAsWordDocument();
+ // Find all entities of type EditableRangeStart within the bookmark
+ List entity = tempDoc.FindAllItemsByProperty(EntityType.EditableRangeStart, null, null);
+ // If any EditableRangeStart entities are found, iterate through them.
+ if (entity != null)
{
- WSection section = bookmarkContent.Sections[s];
- // Iterate through all entities in the section body (paragraphs, tables, etc.).
- for (int i = 0; i < section.Body.ChildEntities.Count; i++)
+ foreach (Entity item in entity)
{
- IEntity entity = section.Body.ChildEntities[i];
-
- if (entity is WParagraph)
- {
- WParagraph paragraph = entity as WParagraph;
- // Loop through all child entities in the paragraph
- for (int j = 0; j < paragraph.ChildEntities.Count; j++)
- {
- Entity item = paragraph.ChildEntities[j];
- // Check if the item is the start of an editable range
- if (item is EditableRangeStart)
- {
- // Find the editable range by ID and remove it
- EditableRange editableRange = document.EditableRanges.FindById((item as EditableRangeStart).Id);
- if (editableRange != null)
- document.EditableRanges.Remove(editableRange);
- }
- }
- }
+ // Find the editable range by ID and remove it
+ EditableRange editableRange = document.EditableRanges.FindById((item as EditableRangeStart).Id);
+ if (editableRange != null)
+ document.EditableRanges.Remove(editableRange);
}
}
}