From 7b3c31175ef03c1619430838a62a40e68ae13409 Mon Sep 17 00:00:00 2001 From: Jaysyn904 <68194417+Jaysyn904@users.noreply.github.com> Date: Fri, 5 Sep 2025 21:48:32 -0400 Subject: [PATCH] 2025/09/05 Update Fixed random hang at log on for single player. Fixed class title function in Markshire Nomenclature script. Fixed faction melee that ensued if player was killed by defender faction in town. Updated most humanoids to use new class title function. Full compile. --- _module/are/hightopcity.are.json | 2 +- _module/are/icyplainsbarrack.are.json | 8 +- _module/are/icyplainsoutpost.are.json | 8 +- _module/are/respawning.are.json | 4 +- _module/fac/repute.fac.json | 14 +- _module/git/hightopcity.git.json | 18 +- _module/git/respawning.git.json | 6 +- _module/ifo/module.ifo.json | 4 +- _module/ncs/en3_death.ncs | Bin 5382 -> 5851 bytes _module/ncs/en3_respawn2.ncs | Bin 290 -> 411 bytes _module/ncs/en3_scout_spawn.ncs | Bin 192423 -> 191321 bytes _module/ncs/mod_enter.ncs | Bin 338719 -> 338131 bytes _module/ncs/ms_name_inc.ncs | Bin 0 -> 23 bytes _module/ncs/old_mod_enter.ncs | Bin 0 -> 338230 bytes _module/ncs/prc_pwonspawn.ncs | Bin 37769 -> 36577 bytes _module/ncs/x2_def_spawn.ncs | Bin 38819 -> 37768 bytes _module/ncs/zep_drider_spawn.ncs | Bin 43743 -> 42692 bytes _module/ncs/zep_rust_spawn.ncs | Bin 191201 -> 190150 bytes _module/nss/en3_death.nss | 36 +- _module/nss/en3_respawn2.nss | 41 +- _module/nss/mod_enter.nss | 207 +--- _module/nss/old_mod_enter.nss | 1518 +++++++++++++++++++++++++ _module/nss/r_trig.nss | 2 +- _module/utc/en3_barghest.utc.json | 168 +++ 24 files changed, 1833 insertions(+), 203 deletions(-) create mode 100644 _module/ncs/ms_name_inc.ncs create mode 100644 _module/ncs/old_mod_enter.ncs create mode 100644 _module/nss/old_mod_enter.nss diff --git a/_module/are/hightopcity.are.json b/_module/are/hightopcity.are.json index 4b15e38d..5e403047 100644 --- a/_module/are/hightopcity.are.json +++ b/_module/are/hightopcity.are.json @@ -9840,7 +9840,7 @@ }, "Version": { "type": "dword", - "value": 108 + "value": 111 }, "Width": { "type": "int", diff --git a/_module/are/icyplainsbarrack.are.json b/_module/are/icyplainsbarrack.are.json index 5931a671..95e868a5 100644 --- a/_module/are/icyplainsbarrack.are.json +++ b/_module/are/icyplainsbarrack.are.json @@ -87,7 +87,7 @@ "Name": { "type": "cexolocstring", "value": { - "0": "Icy Plains Barracks" + "0": "The Icy Plains: Barracks" } }, "NoRest": { @@ -1230,13 +1230,17 @@ } ] }, + "TileBrdrDisabled": { + "type": "byte", + "value": 0 + }, "Tileset": { "type": "resref", "value": "tin01" }, "Version": { "type": "dword", - "value": 11 + "value": 12 }, "Width": { "type": "int", diff --git a/_module/are/icyplainsoutpost.are.json b/_module/are/icyplainsoutpost.are.json index 29ea99a2..60f750a6 100644 --- a/_module/are/icyplainsoutpost.are.json +++ b/_module/are/icyplainsoutpost.are.json @@ -87,7 +87,7 @@ "Name": { "type": "cexolocstring", "value": { - "0": "Icy Plains Outpost" + "0": "The Icy Plains: Outpost" } }, "NoRest": { @@ -1230,13 +1230,17 @@ } ] }, + "TileBrdrDisabled": { + "type": "byte", + "value": 0 + }, "Tileset": { "type": "resref", "value": "tin01" }, "Version": { "type": "dword", - "value": 13 + "value": 14 }, "Width": { "type": "int", diff --git a/_module/are/respawning.are.json b/_module/are/respawning.are.json index b431a875..942f93ac 100644 --- a/_module/are/respawning.are.json +++ b/_module/are/respawning.are.json @@ -87,7 +87,7 @@ "Name": { "type": "cexolocstring", "value": { - "0": "Respawning" + "0": "| Respawning |" } }, "NoRest": { @@ -337,7 +337,7 @@ }, "Version": { "type": "dword", - "value": 28 + "value": 33 }, "Width": { "type": "int", diff --git a/_module/fac/repute.fac.json b/_module/fac/repute.fac.json index 199d146f..6cfac2d0 100644 --- a/_module/fac/repute.fac.json +++ b/_module/fac/repute.fac.json @@ -37,7 +37,7 @@ "__struct_id": 2, "FactionGlobal": { "type": "word", - "value": 1 + "value": 0 }, "FactionName": { "type": "cexostring", @@ -52,7 +52,7 @@ "__struct_id": 3, "FactionGlobal": { "type": "word", - "value": 1 + "value": 0 }, "FactionName": { "type": "cexostring", @@ -995,7 +995,7 @@ }, "FactionRep": { "type": "dword", - "value": 50 + "value": 100 } }, { @@ -1280,7 +1280,7 @@ }, "FactionRep": { "type": "dword", - "value": 50 + "value": 100 } }, { @@ -1310,7 +1310,7 @@ }, "FactionRep": { "type": "dword", - "value": 50 + "value": 100 } }, { @@ -1595,7 +1595,7 @@ }, "FactionRep": { "type": "dword", - "value": 50 + "value": 100 } }, { @@ -3830,7 +3830,7 @@ }, "FactionRep": { "type": "dword", - "value": 50 + "value": 100 } }, { diff --git a/_module/git/hightopcity.git.json b/_module/git/hightopcity.git.json index 40cec580..8eb08257 100644 --- a/_module/git/hightopcity.git.json +++ b/_module/git/hightopcity.git.json @@ -624,7 +624,7 @@ }, "FactionID": { "type": "word", - "value": 4 + "value": 15 }, "FeatList": { "type": "list", @@ -699,7 +699,7 @@ }, "IsImmortal": { "type": "byte", - "value": 0 + "value": 1 }, "IsPC": { "type": "byte", @@ -739,7 +739,7 @@ }, "Plot": { "type": "byte", - "value": 0 + "value": 1 }, "PortraitId": { "type": "word", @@ -43146,7 +43146,7 @@ }, "XPosition": { "type": "float", - "value": 77.206787109375 + "value": 77.24542999267578 }, "YOrientation": { "type": "float", @@ -43154,11 +43154,11 @@ }, "YPosition": { "type": "float", - "value": 102.9355850219727 + "value": 102.8522262573242 }, "ZPosition": { "type": "float", - "value": -0.5900029540061951 + "value": -0.5899975299835205 } }, { @@ -81282,15 +81282,15 @@ }, "X": { "type": "float", - "value": 79.86756896972656 + "value": 79.08158111572266 }, "Y": { "type": "float", - "value": 120.5093231201172 + "value": 118.2999877929688 }, "Z": { "type": "float", - "value": 9.5367431640625e-006 + "value": -5.7220458984375e-006 } }, { diff --git a/_module/git/respawning.git.json b/_module/git/respawning.git.json index 78b952cb..d82979d5 100644 --- a/_module/git/respawning.git.json +++ b/_module/git/respawning.git.json @@ -798,7 +798,7 @@ }, "XPosition": { "type": "float", - "value": 13.00344657897949 + "value": 13.19540405273438 }, "YOrientation": { "type": "float", @@ -806,11 +806,11 @@ }, "YPosition": { "type": "float", - "value": 10.46471309661865 + "value": 8.502401351928711 }, "ZPosition": { "type": "float", - "value": 2.980232238769531e-008 + "value": -5.7220458984375e-006 } } ] diff --git a/_module/ifo/module.ifo.json b/_module/ifo/module.ifo.json index 720bfa62..fe56ca0b 100644 --- a/_module/ifo/module.ifo.json +++ b/_module/ifo/module.ifo.json @@ -956,11 +956,11 @@ }, "Mod_Entry_X": { "type": "float", - "value": 10.0 + "value": 9.0 }, "Mod_Entry_Y": { "type": "float", - "value": 7.0 + "value": 5.0 }, "Mod_Entry_Z": { "type": "float", diff --git a/_module/ncs/en3_death.ncs b/_module/ncs/en3_death.ncs index bdcb8126b7398d217e771c2aaa5da16fe7000f1a..efd5012c01b57df779e0297a226c34d44466730b 100644 GIT binary patch delta 1258 zcmaJ>O-NKx6u#%)`+DlUnX$0^nRG@IOjB#n%A|!D2?m)V2!SYr^Gd-q#!)fSp(rB~ zVmP#EVMNd}3A07IYE{sps06ci5dR!9Qw#y#w?Hi1SB2hb{>Uqw!_V)V}rhPoxr@J>gdTuBb3D=U# z8fj^AM6taW?S7(SYn)qi=j}*$PpCh7Xgw}WWh^sE>sKa8@CU^uIaRw;Dsc;GoD-*3 z;-02)D=IFgTdNWfIkkz@oFjN8jdKK@q-WReV>jJLo$7=8%)n3}6tM$gI~1;_U?rz| z1xZU4zh&r`dGHCxtXk}o1^x-X(>ZRMTdF>G0cYg^c(KeF!;cx0*s$#}af zUNw)yotc-W03Bwi`I==oo;jS?$&;6?I-wgNa+7tsup_GozT>{EGV=w!+JV8WV)Gth zPI#2CBz&5%AY4w^&=>%Ht}=6x-dI@dDmEVxb`!oq*rPFoaL%*9B!fQu7h@*a@T_o7u|Evg||KRP>QdV z{emuUJv_uFWe4%HvUND`J;LQ5{N*jlP>oTOSi@(6+3%!}3Qo?Po}JX_D2LbT?4mTL z?n!M93-V*cQv$feX_NefD^e5S3iwseS))U(=YwlJErpsgbz@^3w4Tc6WBPAUsO@wT olU)hKQUmsXVG=yy2yI^JAS4V#Z6&-pR_}B5heS!z%32PvzpTq(l>h($ delta 818 zcmah{O=#3W7@hB%WOq$AF)gOp)ox-Hv#tB1v_f~0Dk|c|QmA-Qga}(otuA6!6s!k9 z6pIo*5ClO4*^7G6RSznn2XEd)ig*$9V)0N`ky?Z}J6cMj;2d7ado%B4zL)of3%$KV zJ4W1nn~EE^GiE2UOstg4FrhM7%K*YKoM*}^CZ0coOgHjoFqkVR?jYxXG?lSBL^mQw zp0`?7Vp&}+G+WN87s1sY`UhD!?$}EjkCA5yu;k!2wkAG=o*-uV|20 z_w$1?YK|!i7be3Jxyn$Fhip|;wqj@1pB!_?{NwJVf4F+oJzYCdlt-9E_>I!?1379Z z%u&|prz2{nbPa8^BVi!lzA!}&W-5A3s;f2bpiLc#vt~@XvTPcK;v^r&l{d+e(!_s) z_Qu>!8C`TJmE&j7Zd^`rheukLubwSR(rGVwU2ZUGR$l|h=s>#EIUu{A zF0kkqKo8wc=Q9gUDesEQ>?6&l3vicK8r%LcDrKpYFkEQuxjKK5MZdG76?Xk*=Y9ObJR(HoYCjKMVhf(Lo1M98w3){{1 AZ~y=R diff --git a/_module/ncs/en3_respawn2.ncs b/_module/ncs/en3_respawn2.ncs index 2d3f941ac2985fd055cff84c09d63c374fc2ee49..dc521733eefd6a2b4c5a589051480586e51e0596 100644 GIT binary patch literal 411 zcmeZs4ps;=)H85mU|^gr#{dKz3JgqaK*-9O4Og@FYq zb(2vZsF*PV$Yu{pEiOnb&jZT>)dFQrnZO!2WSUSN(<~9hHf1Jkl8@MBMTxWS=c}n3p0oWD&u5Q zU_kN&8xxv(D>S||SSKSw3u7a?2?{`8+0C3e3urn!6WCH0U5JH@NScAZ0XkFEGp{T$ iCo@F>99{|q`I&hoRtjL#feJ*FSs9r4Ab$IzzyJX1Z)Vy6 literal 290 zcmeZs4ps;=)H85mU|>{|V*mmU1qN0I21y2H#{d8S|6yPOa&9upgJeDf+3Z27#RZAw zd0^QeU|CZpm{O2hZe_4qH6WWWHP1M{2%p}ZW`q#CDinm)FxirpkV5&!CELSeI&)EZCXk3fuPZV3%d{(Dzz>u zE?h(q8S3v=5ZaU&lq_y{2C~tGw73ujt6lhr=ptf-E+TOxXL7iMY$vN$t1oho`6{%pL6eCwyFa&}Wg5g)-4G{r zzer1_B-bUM>weoOrioj@9l2k68|OvgcFjw@@46zj&*jURjXxbCVi;nt;TN-#XC$9U z-jf{EjoSs|PQl<-!N83WuTXy!J-lLFkK!ihC2_u?h4gXU zOSGDRm;az|3HbWuW#p_7lvQEcuG+I$u&H{3X|-n>@xZR?_e@iiTi5!d^JHE?8|G5v zOrq1HIu~Iux*8Dv~~&2!tArtmqqy6pZ?pg`?sekK-nDT{XeaZ+~{2d$S`d>Hr(wS&Nw delta 1679 zcmbVM-Aj{U6n~zx&5x#0FyBhudQ+3A{HXPvjGQjD<|;peAew8+n3E@yL%jp1+WZbs3uhvl)w#l=aP892rT zhHu#{6C)njG3Mtl!T9}<%#;k1O_cOP`q%~IlQgAGk`#;Cru^C_zs*3_hv6&ao@6awKJ|WK#e$xG^4*r2anXL7&9qeG=TY z^MshMgCjf#f zNR^+_=xXwMD(hWT(HvED5b(m(RM+IzPG>|%3v9`oPF-d?D;r(jhRQ1K!8h@+1+3A} z^uVs73$BN~o{sB*kiXp*xqT~eOm>ALfm^}QRk`(c$R7!IgouzJyc3LR=rdm*Q0+y{ z9egXVB#8!OheN(x)$R+2n}U&cBqfdn$-2lbg;=zmC#n8`uYuMqQPISk?EH3B@O>~4 z#S}BzSU$>X0TUg(XGV&MR$=awVxa}{<=$r~JDn7!#90dQ&>)w|mO|xAwIzyJ6H`4g zvD}pvlEk&qON=;_scMmLxf$3*OW~5lRcWl)F4f4tP~@J-^}*h46VIX+`nEn4F~+-x;p2(lu0H;% diff --git a/_module/ncs/mod_enter.ncs b/_module/ncs/mod_enter.ncs index 59604fa05ebdffb894e0481f84334d9b2dfb11e8..0927c69ceb062e8790c2fbf52542f3c147144f6a 100644 GIT binary patch delta 3923 zcmZ`+dsLNW)<3^}-iO0YkN~*}97M%TLA(r3nBoOQ1=RZTlcix8cu6BgG@2|xDli8N zUtte;12jY(6}-J^CSvNU6qC=sX_~armRd796FN;63e0}b!CL(>iv|1H_x@Rqnbx3a^ zX!6@PRQ_0^^veh?aB%DvO&eEeu?S)#QT9lEF>B@0?5FZFbMu6D*JO+!&1$N7*iE|@ z&oKF8D-dDtNiXMQzOeYY)a=~n7G>uAH-)*Tf?Kx32!2-6YslUGp^G@HUQPqtA3yDg z@42BCy^{jbuJ?}cvyBjSJW*^4#5|rU`mPeABS6QU+Z}iQb&Pb$=}fm<{rZcKIP1^O zT@!QivU3;bEOaQ}b|}YL50+Y=0gc|Gf1}Mv5En6tX(Q)7nZ06J=1V#D#VhP9vh(aO z=GgNVW!s~A$Witcd8Qrvs?6NzUn0RO(&N6R>TZHK36YLGw7Qy^){74OT+YV zm;JQl1^uE+Ff|_H<$=mq?{=}#l2Jkma?^eq>(u5=Ru!YC+ZK?=^LmRdd8CIu#3F@$ zAThc>Ohb0o!!-Un3zos+T0OEzPjC%Vjw~FU=NbupjF;Vs>hrxu^_;eN?dmzDc+c%Q z?emVt42}&`f!rRUd~}!IeVv@*LA{MZz46&dzM6z&x{%E7lMzN22K7K!Cv5$e->W6fN17ydjZ z6+tFiW~8Sg<56lI$wyZqidsF4uUBC-=v*83%||~vx0e(0QNveU$(3(?hE|s_N&5K= zJ)u_^|2q-4E2`mX{39Q;2q`@26->YyPI(PaP{(fL>?;@sJi_-@V+LA``dH29JgxhB?UREt<2=q#TVPxP;JkDuy2~ z!m}J%j3@A(AzE)~*ul3;uoa5el_E-Ak~4ldD9t&RAH5iNIE4Pc=pW zgZZzUa0MyG2b)n1H1X`M*nlw8%{5>Qx7LVmCwtb4(ovpKE72xPSztK}AJc4LP6jhLOscXr9uZ|%mbQr*RSggjly&;Cqy z=gWJLhxd5qA8`yr*>kUy_LymGBL*1P_re1RGTQf{6A0mdHX;`doY{oU@Zhc{akidc zIe=vd<)&H$yS?YATKD=6_CAOrnXyud-kb*+?uBWlquC{TUP-h-4c5%oF z$v_nso zaFj+>Hkh_s_xCty&EY*QNU}xs6s~=T>Erxg_|7R&I_tyNV=@>^a8s*U<+QK8x4fz@rrY81KD-Gz$BYJ8xhsg~c0N zZo{G?LkfA;a@>y?Po5dZ?|wuek^3ax*nx#o%QRgJ(%04c8-wp-qc0+K zeCx;CP9T8)T1MVf7{(_@2(rJ1d^pmZ{uf($e1jIu72Xu@Gli^<33m2ESM1BiHE%i# zOyve28ep~iMRMj^8NnMq)DPC1ev!J*6kj9Mm&OuYjJf{w1);$BO(4wxqK%Ru@&dxS zGMJ8F5vPXGZFrl55$@CIXtvIK(Ps7$Fx0~1LuGTX=}UgdV(v@xZIzDKwLmYAkjd*S zmU2w`1kMT-nKgVOgrbd|q4Xp$%IF9qH{dbW?DP(*jS4$G4cs+uMbKq;StcJ1p>040 zFN&r#%x5E--uJ2Rx$0@>vO2bui(@Dq9r~U9zT6%|AKJ1V0i<)

SO_!)OY=;`mq^ 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 aZ-mKk3_QV?jByReJ9YYT?RQQwGvL3Mo<)EF diff --git a/_module/ncs/ms_name_inc.ncs b/_module/ncs/ms_name_inc.ncs new file mode 100644 index 0000000000000000000000000000000000000000..ecb1c72d2b249d3cdcff5ed38020576abd2280f5 GIT binary patch literal 23 ccmeZs4ps;=)H85mU|1z3JeMi04)0gsQ>@~ literal 0 HcmV?d00001 diff --git a/_module/ncs/old_mod_enter.ncs b/_module/ncs/old_mod_enter.ncs new file mode 100644 index 0000000000000000000000000000000000000000..8c06e44cc5b65ccdae487855cabdab456382ff73 GIT binary patch literal 338230 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 z zCO`0pkZnnP#9<@BZ|!Onihw6V{R8q8KFyM9_Occ4w($mM)Z36ilM9VsvqMn^(`q@A zWW^`EO18-0>M9ve1iUCoE;qQkO4e?mx=MDUf$A#R#|%_g$?OXyx=LoFT35+REC!6mjkx_z(xF9Km1uGY~xoAv4vT{(_dJj~# z?m&1z)<%LEn$*98romZ-?wtjQxLI2wcY}sZN%!`K0#w}OE!CA;6|VDUcv;=*$!*>e zZ6Iv}Q?JODWIv=`<9bc1cH*Q-^~(lVlj@HQRFmrS2CB_vg$s`4tTO)N& zxWWDkNfM81HSVait;VPl8x@SH%1gy!B?eH(Bqvs`Z)kXMq&M5gp&A*%)Widm@n=yZDNEFisGCQ&y>R_+`W0j4AQvG8(wu83U1X=jS06na{c z4$`QU%`!DhJ*Xvg(1s5~@qnM|g!T#fB-a9&=_TAWsEVfu+V|7uWpc4tSfy3lbh1qf zuGEopjOFO)#lI!@8kULuG2FzwYjpIA_XJAs^(uT>%yW>?oFAZhyGNrY7niJ&OUfp1)X&#~Mkxz4vksbN#bvz>^<}T;CkKCl*!+B<0ws_-}{uAkU3ry8-on`UC;Uf$UIzRq#lg74*+ys zo|jo;X9uFxPW9PNH6WYq3ke|_C6H|JJN*V<$kr2*?O;!~^)l(cnnVcHV6_KlssT_* zlS_$^mp!QnzAm+jPUWx_gp)>M43{*y3Whshgu8|6IIrL{WPq5@0#aMc+Af`P6|c0! zDE0h8L`lNJzVsUvLg;G(7ES!Xv*^Vl^kF14=%I)^@flp%{eVZD72+Nu<3tikM6iG^ zyuiV-MaU{XYW@K8F}6()o7!>Klz z>(<*dB~wI(HyXZE1!`yE(*%06!JRJ9y9~5hpbs1941wAszcU5;jKSSUpno>dSqyEM zV4$-Fy1#+W5$F;F-B+M14Ro$RI}CI`fp#0{{sJ8`&;tZ&qc1H``;PE|0=>y_I7py& zm1CYj?aJH10{yPxFkhfHCJzzlvj+E2f%3O&G$t1?w6WgcE)?i216?H0Xc$0oc9=lz z>$i&qy2@}kT%a2b^az34_&rjfS%bSopf(dM73k##cbP!#I@D1DwfSMWK&^+47N}ia zeVst-|wJ+@-E6^Vr$&M4~FAVf}f%4Tk_0S0d{e!_hk)cgIxm4Vf1ZrE$$pW=+ z?Vch~9!4sM6#_lM)Yc-<^#;09pcfeEDuLR!c2^73dZ<;P?=~FP2-Lp1eX2k|Z*bQN z^s5HCPM|+9(9;C^D+4`Upf4EcdWKHmn>}is4Fa8MaN7iWsDW-2=&=U6NucWt^bCR8 z7SJwGYst+5eS_i9A<%0K^h|-;_1UuoYV*$70)5a8Stq!+L&9BoG}I!zuLSV;u9n4f zZ^tRWj;;rG=^sQpNC47z7;(a23#}|h!-tJ;Nc>%=Yxwn(lemb-Y=-ad~hNpV) z!j$Egba7srrJZC@8ga;xCVY4h5aFw)Ez5~^Dos;tqV%2eleJ{0NHmi1vy?(KvLu+!O_&)%?p^O8_rsB`hJ zjGQgc=qR>jU9&^V_AT$+k?rcs^yrR(@k*_GJIndbP2SqqwVk>|UY@d8F8^V5a9O8Y z5DFy7+B+N@2`OT;ED-RuPX9^gwQlNcYhBg8vC|JBLsHV#K-yj95s&e@cyFJT09jB6U zQ1$6zw18$+F8^V}i@A}JLv=d+Bf;FZa0to8zjl+F=mSw+HO)!3Ygzn54FPtke=9}{ zD3Egg_qYXIocd@nTEI;y_jZcMEzq~5T>N`z0Zmix?H~^=kQY*J{NteovRTr-9ps?} zMh(d?7NLc*6|Uv@+~k=U(~6Vs?KoR$C>1AN{Cj8tFC^XDaUNR03yJ57(E?sbxcu*N z3wR;n+P{Yu@IvCUVzhu45*@{80WTyDFG36TJ$m;Y$h;QIQ)n#T)6|KU@v%S4%gOY! z@OF+n(i1q;;|}@IS_m(mK4BK4ORmp)yFyg^ld@DO8-%I16Wa;J>!sM5VF`&0HJW*! z9(H)yK=rVLU3Zi9(xhDh8vC%r6vJ26OA~hGPR|C}H6%S7lrkLjY|w!Qs%L|m3{=ks z9cG|pw>OiZB1^SyWT)G?JH3aLB>YOu1c7FJUt`7Oh^8C)^k|-W2bXXvS|8 z$WaNfWERdH(H48}Pi z+H-W`rsm784(v>HRl@nq7#GW#L%?$8JvAngQxc|{8y8n2RFP(A%dICJYtUSxyf;_E4L;T;Yz!bYYb{;(feby2EWxjAJ{;Cs4} z29)+cCaqa%F`^04KJ-hf&(d!3Xff^y(SGHO0Bzx_qL_OA{T7QYWqy`yGUwlGt<$-S z^oDixp(V8g9Z8G5{q*wnR08YAJ(J*b_+xnnzLdOor>*-UJ|-D?Mtp$SrpM!Y#;@gh zKk{n2u2L;WPa{l3lhKk}*H~I2Dn!ehy}DJS9k_0Higmi8c{E#dMjTfpEq;f zkIYR&pbts&)2j6h6d%8eoq+;EtQ*?Ps{bZb^?qK}dasD9<}Q{(!B#z1-y6{S%0Si0 zo4u-6N`Ug+P@dNXs*c^I8q3gc3RQWeSLGQ}C2PwEoB~zurJ>&+s5)_%SG68q;sJEP zo{_=Hp2%y6o{w?wZK5Zkx7aj#c8gLgsbN&e880rFS9hq=Jr$j8s_@QX)Eu=nka+rX zSR4HnyXaFZV@W$$(9X@B5epsJt3TB#Mqbk^6Ob`q^nqyjd`Q0 zl!9a*kU_=JF}S*JPlN+mgcSQbcCb|Q5n_i$AkI1>fpbY_T@SJ60dzgYo=%eWki<_k zJcxs?hy2_?<@{LUmjJGSxA5EMaMGK2Q^F#y1*a z?FOn5c9wx^gq=s;B3mW+ref5PsDy7f@=BF0;oFV8wq#4lR*BFHM)3CrrS$kqfJ$s_TRnOA3FDy{gq254*vZq*R+eX+^9H_P=9@VkMn4->- zE0t*sv*UGzs6U}F(px;dd>NIIItT>%4JX35mj#+l^2g>{1F2Xfi7}0uvD-k^j6DXb zX0(S?wSm|}ewu=ZNh?l1q2)_%P@%=zc!RPgk2fe=!gl3{zidg|O=HDag>KU8S%^xa zfWc^f$^vjUkDT`k9jiVt0c#$cN=HYRkr&+3Ks=*&O%kx9rv(ZmH|3LFn_pJES z>)JNAws)l0wRLPv4_%V)@5S_rw7R9EHNCmDgX>S9lvb{hAb^Exa0~cTpj}M8?kzCR zM|cB;T~I@^tJMp3e36WLh1=__A-!TKA7@juC+bz*VuU?1KGvaa{B?MK03A+21s`06 z4>v%`j+T|{Thr^-q}w)jq+8Efx4C0;N$)t{wVvAA&R$A)w4T!uxhnb#5hDLC*easi z)V^**OZ&O$(_7CC`Fr8QGWLUZMUjR%xqK%9Wle2smv*k+jo`_3A=V%9G9*QK4ad13 z?V~S$PbNMk%NLZPuOGYoyYe=Psy zqiAx?tA>xlMhzHxe}wf0h+E_0DZq0pT-@fl#Z$N?4oph!AW;(dOjThej6uIop-yx> zAdmK50jcR2=_4ciPu_Ty@x3#qWQOUKSEYur)28+s@SfV**PYJ}4W-+1+j@qF((BHu zu65O;D79geqT`Pa-pJMD>%PX)ykS#k5xE`TM9ikF%?x&T^$%t@XNQMzLW-{pkd!{_ z-4YepsobEZsglBaw7 zyR%0S6ZFw=><(C_y87e~fA|Jiye_pja-wUd{^yEF&WSANDyX-qjg2Ov{^%Wk4$%yaxMtF z`g;emeM6byYxXwBTbM;ibMF( zN54xUOma1B=yz`g^p6;;F6MpCm_g=4<-}rErFBOxzX^^Y)~X8UlEkF63}KFfPEDFs#sL0aTd?{i;@yfA0ZStkhU)5t5332 z&fUWu^i7-uXBBM#vtxY(qy3(HB<`L%yh)!{LUMKMt_l6cm>^^2=zAU~TXhi*q_9ol z5zoSj=uI0t)@{W716+cqmNh3<1Ek~{)F#AD>n$E6?TJ?Ud9=X$7|}#3CXw>kL!2p% zC-63kn@>m0Mml@RCJVk^LKUax!;;3AQx)8ek6En??fLh~j2dbZ-LK1XDKb2`?C`jJ z({QQ41SHE6j|(pBkULl-uGeZ5kmX=q*HDcq*qK_!6EJKD% zrLyR|lgj1h@o<@^x0RL4uM8L7%r0x)dGGSjpGB=m?Jst|i7=K!tWW@EMQGj}4a!+tGo# zqowikJHsVp-GD|1;;oD*;kqpKeZwUrONfhpL_}qI%y6mDF6qZSS>9*3R47aOogNol zAdLAa#D!rdcGEaVWbCqIJX{WV+2iurvRnezJ>YJS%hwE-3O#+mpvUEM!=*wW9iT7k zsHbtYH)h=smw~Z8D)jUJaD87?7>0-m0AmdE8o zWw`|GGHZ&*1rJfg>=N>HfXhDL_PE?_xKwDDecs}6xvMOfkSr&AT=4Wm8I1zgo%y22 z1*R*$r7;3jHf&=`- zxWVJHa$HC zk>L`Gmw;WS|H0$(LRl^Wji!Iz@jIjV5?pc8-V3)Q3GTyT--k3XjWq zhD*r00lQ2+-s5uqc(_b?!Q*nlxVU`Q<8tA+xb%2jeqy*(=;pd?2Zn%Uz9cV|BH+ftxHe5n|Kppy<=@J331~Fw zjUJcB4VMZ%J?U7F%Rd?}6?%H&^B$Lb4VMaKnfPgs%YT>U60q*Xtsa+Oj*Cm$n2?{WDL!zH9qNS0cU3!dwXwWA6> zUH_oRVD^Od2n1@?(n$WJ}xd>JTCo)OUNz( zPuI=$xSTK^F17#Yarvs@QlWKgul2Zm$8f1Ic56@bxV+173CR+$OKr8sfIif0mCIEOTfBSYdtP+He5oo z1Uy}p^0<6pJX})ud0gH*E-pJfF5fj=DvX!Z5|7JKhD)d&1?-Z1*5mR;!=*x5lDB$X zZX6evi##r$92b{a9+&3~mkQ%0daYk~IPNf9Dzr=DU7jp287`H|vc}_by>K~#&R|vG zX<8k|DKWxNGIi>N*l~7xs%Tq(e>YAs7N2Fu5wjb0fth|kMaLb#Ulrpp#XVftl^fo@ zZ3IW1mvk|Z z>hCUd=YtY@OWqy+E`it(Q`nxU49FUtBR-heALsqehkNOwLE=aF1WNL_q?}e~o7AS< z5$%)oe5*&@3n4pjK6em@jpfK|Ix{ek#XE#Jhn&XG?(E=Dnw&AT7^iW!GGuWYuY9KA zr`)ADlbgf?>O1(PU_-lE*}yno5~^aQ?77drNAL^I@kCdnHj?Z3MCwnrGYfR z|Lvf7^~xMp&+ug~tt<~Q{7RWQZ*6xYD#C*v25lF#yyQy2>s;9?O~ zDyMphF`Z1saYz(bx8Xt$emCJ{G0t|o+dD%z!2htjiuDZaocIrJc4*jpds36CVvkjL z^(oC}GKWCvn^1|jjd>j^y5UB*P)OaQm=(zY*->zd%^!TY^au(ztOmwv*8aZu_$eNm za4q0b_oC{>n_Jhn;<^%Dg-Wk!-?$-kLFeqXt?jL8XH|DwiGH`Vt)}Z#4&ZJ{r5!-- zN%55?x-wPf%8g4;?mm)ZS@5Y|{bG$@gDXqs!<;qvSf~518TV-1M@(L;>mrj{m#^zX z8_ncfapr!wU=Casp;$r#jRh|f26-EqT|;!f%V_pNqEwTdW^egAVa2E@z&K5IqlFYc zK1h{4q?MU8xo8Z;SnNHn#8l@aBB?x~mUIpF>m5irbi_hJW1 z@5~Nn(?cTzgSnw>w@Xu7b4X#CbnosVT)V(o|1>_Tn8PiL1B>b9MRb*5Pzde{VLO>%(tk z4|h#rOBUA{9BC%KHPh=V&2&50j0|Q6k2vB8vJ(u-PGR-gCH#|=zni+7mp^oxv*QX~ z##NKZ+i%Iw2_0T}U7HzNH8M2Z-@AExu8&yU$351=SI}Q@4El{{dC-hLITjMgsVLJ_ zd9WM|e~`)ld?(2pQ2?{CwXX{gKo7&h#2RICCnLflIQY_Ua6(f3zUx#!+TvU>EWU6S z?alP1cjSiP4zlhbOjd9zbwJw&xi075Y#%D_0_s3NTek)hPQ0>hFHeCPof?s@dzd}k}48y?2h)IkJUKA-Ix&h_`Xpo4V=`6A8Y z^p=rfX$|>25PP$|Te5?s=a%fYTwkAyO(hvY=Z{#2CC^5bqpKZ+JHUTvAe+w*5m8^Z zYp@@F>OxspW@s3#tZz7-**Sq-gg5}x=k1*hG@?OsQ zdD9KC<{Szd7yT1U2F=%gs`@!*CmrU3=ERj=(CAA`Pq=F9_^k?RTey1(?w@SkHIVP8 zoJIKzp+DG1*$3}Ur;+I7K9y?<@Y)b=GP@?VwI4=Ds_N>&ZD!<41XXu>XU=6s&IIy&pq^`7F~Kn(4?b z*l1;rvkj7QABU(8_V!SL39fLC=X>e~ed%r&u&0w5US|qrr6l&OX<_ zX7xfKRAxK5kUCDE1J#V%z#)~~DL2VrKPdC^{a>Wa@Tk&C=ZC*t>DSzI(66c^yh^%(pTW`kixwd_e$&qtUiY@K*H(9}5wDxQWjs5BpC z@#Io2Rn7T9#pBD?3uL8(m;3^1yz{5<`2)oiTQ@i86TvIW(+ zc|X|-BMLX+aRzV+DMSOW}W`~ouU=1CmL^+vj85-yxb`n8eo%n7cJu}0@nXc_9 z*#c9gw?L`fFobO%8S0@?H&3ZD?hPVmXc(3xWklF-tFyym4uVYIb}ZpKMYN8>$jjI{ z5GF@LA!>M9Zg*^KJ3MVOQK<}4=aK>yuh>@vxq)M>UQD8Lrpi8 zVN=8q(LwLP(sVbl&xMghipgwDlj$bCjHHn*w=WAFa8yTiqKZ!!iXZTmT8y~*v$7q0?NM>+2w>1N^B4Bd8 zz1V=ravm*qu$!(8NBI*P(;APPjJoN8WFMD9Fl+T^Dgloz{he3oGEi3*Nn4rp;;N+7c6Ev05izD;(VR{{* zPM5*d@4dC6gSb!R6h>(ciO{9e-OZ-?AR*ou=qIwfu=d@X#rU&=ncr(`f`b=(Nv2s$ z@P1NL#*=?^A9d^rYKG07?lkrYu{~+lWo1}Sb5M*2XoD@jszsYVZcwEIEb1`b2rDp# zn)fzO${GKQdxuNk>UxKRhCGwZ6vzFRqLe-|yJ^)qn^yMs$&+*xvZJGS@FQ@pU&W@C zn|PQB*c~^a;N5UFZx3ejJ2Sh7;5fX$M@wrXOu}6v}=3b-@0?!A2{M^KTEW~ z4$@z&6Ca4~n5}gWY+`9(RW#|3=FaJ%-V7w{!de4HY0>0@r-Qnc#cR5>sz7ThUVz53 z0u6RXM_+%VlQHeje`kw~W*chg97z2Ci*2ZM(zCgKFXbN2j)j?9lYC?01sz9IF2O_t zsy3Z5f&u5Ier)XVONkPex4W;Ty2mb~Z6Nf-`Rq1~&@+R(WtN7S>L4%8V1h3LZQ_lZ zP`$hWISGN|W+MYsNpL^sfTKNK_7&g!fONs4VCq>})+7FKEcn0Vw#O!|aSv{G=XY-& z$PMO(0e;?X6CB5@g|1oEatRTNcDJ1d_yuS8pcSF5@VOHFgIA?oS|pxss+#71qNNNG zf0|ynDH9z7p_LHY{e~&9YwjMnq?x%FlP>=DKf}{;uITtBr{mYIDk#PqzHfC+5)82z z=;n2<#YX+s&Mc0z^-%wnLxW7G(Zt*o4<}`!g&N+y(`5#3Lc{(2+c`Vr`Y;p9LTDTj zbUj6s|LqQMK#%?2;prhC|48wQEB~xfYr_>+vnv|pgy0R_K;eM;RXtdXL0_fFZvXKX zw-a)K)14NWpf-yN>*BplOfzX+q$`6tD7J93{R247fTWVoVeu3$ge_Wzu%FX~Qw#VL z>nd)_$4dp+@6KWRSG+5eJSAE>4lRP+GWY)$!Nyty+t)w;vOh<5s)bw)f9e{Nev1VI zJf3Tk=dm42zxT+(01mIs2Z{In3>;b`=uU%MCD7XpR6hjpJ=gG(by37Mot@2KCBM)K z%jEbIZa`JNCO60*B>A<9=g1R}5V^}WrO0pkZxlAHcm0|>_Cf(>dAx;qxEXp$9$$7M ztirl(fV`CrITraYN8W-18v*k8cL-cYERsRe;!W;3*~4AiqkYgV?#vvm2W5IQm%1?} zpUZOX4F`Vkx^AAADV}jlH6T5jQVF$NoEXx<1CAlP^JLUl-w;LgR_2pchP7L;L6pJX1UU@#^m3wqBHosh?i zxhg5ZaXf8!a0IK*I2Y>1&0QHd*)h#HL36b80(W<1-PVH*3%AmYqMgu!<#w83SrM)s zIy8OiNX~5?U^;~zAB-!oONP~Yh&l+_GrEhh^%d!oxDC3z-RXh@TR7Y21f=#!TaoGy zH>JaT&xEv#R7m?Oix*Ei{P7cRoN{A@FFnwNc67A&S<1A!gIlrz_s({BGwQq+BH#W> zJVxyXJn1)${u7Bme8t5n>=Yl#W?T#*;&5!yg$-@-IS=A+WZo@`!(?r_!NCk3qVLV) zp?(Bvlr{=ymk`#Dh|j{|AAay7sxVS>TgMcXw14cTZ_XidW*E^H7?3p2_cS~xK31f` zZ{cJ%nYCtSni79e&kE%mf)mdh)}Uy;iyv$S6wfX*JinwlpF97FY>sVLM9u&vf$rFJ zUv_7DXglnM1G*Sk1?Pp+FZA@7$9g0SpEfAH+45oT)BivA-aJ09qWT|yo+nF}qtL-1w<_10*D9*il~Snh=2%)Y$_lq z0~o(z{=dF07-_TLT#}tjdXZP z`O+a!d=lD*gL2-5z{6iY?S*NyspVw4XN*i}fQGg zIoPRVHNWHwVa@wIfm-%9kMWwtbDU`TghI(hplj$5Gbmcu)Vz`B zBe=`Ie&gn5{K^I@3Ac^b!|n@QI-&W{9${T$yX0cN#zl*CD%Eonc1e#fMYNnGUGjZ^ z`ZRb|u*}lE;e1H4skIFrF_1+ha-Rx1k<9-7PvZs)_!(Y99T7kIV;ZZ?1-kPBh_3EdXafTk?CJC`hb z{sS3cw>fO*JUP9p~yQr<5VTMh6#p0$+e|xS9I}uFt@eKX6-YLn{se2=^fo zg-AtK{vbC97KgIso8fxd()?pTvO(}w3Oq~lkIR*$rn}^Thtt5rq0=!OhfZDtdv@?R zRC@5kQga+B;@&9uuF=9izC2#uuB45=^9qA zhX>8*GzM<6LI#}O0Q(Z_aW54vnQaKZ!jyLin1y(dkb*EO0KOYOo=^NxDi5RBk2>(~ z3((*hW%$fn5eSI??TAfeoPFiTs6^)YkQtBaNQwN#JxbBZPfFg^}R@!eU z?0J`3-BB&}&5um4FF%cXr9T(a>)ME3u%y8E;9%Z>5h8~RoTZ{;G(pydSN%4^S^*dT zf@@q{X&Z#$FtPDSr^yHIi-rc=T1emU$$!`j=coQ5UV`zrx*1X!COC!)XRZ!cz+S{q zt|Lc0?@iP-bxBCqMG;+TZrB1J*MuV*(2J&9nX_hAFDsI3q zl0(S0R>+CyqAxBru#s@`wvC%0ZUc`DZ4PXNi+Q-s)CkE0EfcWq$eV{0)Np6;az>9M zhmL{p!8JJgfL_}KRJ@?d+-;lJ!I0zBw18cZ z`Kz436dF7A5U`z67+CUXjgn+tp!!r=|HNi9#JhHOgvFKh4_?go0i){aHh z3N~%Sw@H|J&!=E|w~el&qX90v!jy6fBw#H~@-W3m)L7*96@P;9 z`S4bic|i<}WN>JCL=S=oUh(DNcRcw#Qeh{qa?L65J_9of@Zk3gx6qN`1AH);O$DtM zld=Pd7g7n_=1L9C0*w7Wn%!Ca#%%?>qoWA^UrOw-pN8z+`P>aOU2zG z{}w(0Y@|610M6+Iz+?1Yo33W>2KtPegfk_2&gc&M1rLv9zL?}WWs&l+O9%#Df z=TRe_?afDiOE8`7%||{B=W&^O!EF8bPC9I_9!|LN6W>#jaT#+?f<%~JqXRjAOKZ!tMttBEUm(E{ zbF=c65!m*^;4^(K-HncJjKo;WImW>T;R2LFl6rs3`y65|pdhk-fn|x4S&?tx`+k!!3)ag#-q90Qk z-+cmp@W#6{fftlhv*U_OK?YfY*nhYZ+z^;wEdIc%z-#)X(xsHJk z2^bMUF8l;4Q7eIB9g77bKw(j3JF5w(6=QU=Pz!9VKoHeQ z&OSXezBbh%cQycEDS(`jrqHipE#})xAKRzTwJatAeANHo6 z2(OBO02U8cMV@=$(1o^1Y+s`mK#92SV7R&TYL&FPjmw}<2fa!|ldX%x7Oh*-Q{F9_ z`jKgd9D!FRa0}j<5fkn@l_Z14LS9bW2kDWd;VIMd8$qn|VDe~L0|2_4i35zr|GkZj z#Yq8qgH@`+P)Uw*E-Nms%%)NU$JzFbw8--u=wuMgU-XFG59X(DkiJWX;Nh{qxXz%l zkuK*KFYhK(?S$=EaU2r#8`sS!j>$bbwJMmdS+2&SV`*Ok}ja)4tO*KN;-lm9ZRhQ*5PN>#2j6} zCpt}vV|szRBtK|e%&;({fxDezNl6NsqVpIh81of0fP)^v>g8pyLKYu7=1+Ker;Bth zO&OMFrOFwK{-yC8Zj~JXx-RSh;@_#8NF*4J<}dYjZ_}sZ{i}jr?FHEf-0n1e$2V{Q zOt9f^W-2URJh%xHB!xnWYP(Is<3zYC-&8RMJN?&!*8$7PSII*wq1>XRlNQfLA28^}4X;!v8`aQW97BZu)4WG^AS zOh^$JhJDqTDf$-%^L>HYpwZ&V@IU!fLT~uZQG8FTW`=O=!~}JEA3Ljl5zOt&>*|+P z)vc^tW*UXHr(2M05Rrw2H7&LljJysRXks$3M#BGxlgwnJZ1gV;q1iNNm?t)%ccNTi z@dJy@Bu|Cp3sxEvGo|p>#|g1tiC9RmJd8?V7=hm!DZuHz9e9J=17YnkVo`{C2lUJn zxy8$?merxRFNqmCfzQimfw$9{fifuznM&G4rG0tw*}y7soU$Ukwy zxJ?tLPJj#b6DCc{E?JzNzhv>kMLGBcMPy)Q7c9xHSh}FHt}45{%6y;#J~lxbhuVgZ zO}MZf!*X9tOs+KwvcSL7iowSUJnHQgVA}|}OdIe%KEi<|F<^vP&oC@`OG&VNY!}|{5 zk*NBOjo`BMl8QMQ*=wdLeqbNUNQS~WLwyxYXz+I-oGfgruZCw}+vu(uNdzMe0A^>< zCkDK1LVoTb@q~Fn;6FHw1jii)DZejFTH9W~3C_ma;UPGD*B>#{ zttCD|i%gnS6PGERS-SS-JmcOBURdvqR-fMtcev|$M}m0Gq$snAB(B4U(2xgtL(wBx z24G-Ug*04YoQZzT3Y@5Kw3)p3u;aYeY8p0bl1@f)+R1!}n;i~w&|b*e&>Qlw3*bUB zag(rn_x^()-UO{f!lJ2Z!RgL6m|z-3OJE1!`vf*^+f%v;S^8p#QKmd3$q8{D`ycXYHBLZ+!B%aw>;o%Yzz8eYxce~rUM3z%nJaEViyOrAF z0l;Y8+FMt5$UpiDLN-H%r*>Y5;A3iN_QmF_QK?ZOA-Zp9T@T;rgGZlSQj9r=q_8Ti zZdqej0GkdZS6EiLur9Z_y8g(@e-?X9NdJQK6y8YdZ?NF(BZ4=*)a>$)G?Ig|T^kxV z);DZ!ZzYR`3doP)<3J6k*2C+tqov*OnYsM58LC%C!xO$%(-zE<(9Cd@t7`GWCClbl z)i0}@pQ~I{U%7N?RpqkE#q+CB-=XId2$+UU*q?rJUq79e&9Twpc1QyLY9dJot@K+4 zpTmJirf3ab#%~G_;TWGO9!{RY(GoO)zgArd>&EaP=^6(Lyg1Aig5?+{yL1#&T7 zrDgoCmhoyW)e4O+$@Xc^%WAGm~~uW!^c{z%Jsla}$v zTE?Gf8Gou}yjjcmGcDsSTE?Gi8E+Lvnp60YkCzIH{@^)loGx%Zj!tkrH@DDB=j-X> zP+LJU&T^|8Ry&Jv<%PfmB2_b`(R9Lbs?0a31;h|>E}LblpXE|N%VmC+XZ`B`x6 zcMzN#rT^h)sq(YT^|Lex3-)`rwRV^_ly3sbmy}cdkfB@>gU53DVo}-<4lZz zNly9@xrm4EgB=X_`_e1;oCv;*Zgun+v*tt@FAT!5{8x?R8cp37?Dv2LF+?14Dz8cT z7Rj?0TP5kkWceS0mllu5XK}-zm`nC zUJ5<~jj>}#mbGN!VW^gAv&cjkCX90lznvH(!`sDZ;si2-&KLiCEqNwUYq@1#Se~aY zwM<+0g-kqGs%1KDU&zFhvs$KYB9qrcQCCfLv(SW-|5Fd;^+m1a>HEU+yr8LN`sBWl ziC0jyOrO$v1E)WV`RWJaHvdy^;2=P)<)`#c**dl`48PhVNz6rt6!;$DeB94FsAU2!+E>q1P|2&*;vED`QR3b`m(cTn zDR{XR*EM>DJ+#=joXy@}g*rnnQJSM{tr^sKK1tkgLNQE$Qk0rGiic4b2X8tt}kY}p7Ktjgnh>9~(V-P=?h91wf5(KNAYIomsVn0or=%2@z@A_n~d`L$mKG258y#Zd*X59EOgU>tUf#1-$mbJQH`>@GlJOb3N7O6O2*!GO2$6Zm5deMLmW}2!sPM3o~gK6+w`}!jNZKlBjc~Mh_zbA zg<3|;Ib-)jjEoDkj7KOL%e_Y~(scRFT14*wi9!5@77?FV(U_3A7(@5`QgRt&KAt{UgWtha9UM_)X}xeoY+Mov*l5`Z zGIV>bp}UCwizU4NNKiTY4q%LRXv27?mT{Gf(N+MG zAvz-~&#Lw}FawxERjhsst0Sfv<2?R$bZ{kh@aQ7AN`W_Gp*9DNcK1OLhfPNUJR<{@ znOkiqOQH@)R1Q`%e?jmSbmcL13Pm7%eZ%bS03$WcVaE{$JiKc}5#ni`NC~-~0;_&0d`Bh@Ul#hPqj#Kp6Q1 z!ns&Ky@8r0c(bv>a(1O^K!XjNEu1bVYX8h{nf41VRyWfs_y#Y-f#vaqnD+lm;5C^g za&B=4rTKdXRLkOfEB~Ikl~jOIMq}F$?Oq4%0SC=iKSfdlIw4I0=ZU!@d9$#=J}d=R zG^z48qo5_y``)lz7B)KOaNd*CR>_8{kbE4jxU{;M@ z4+Rnz>BE_{D^_)L7Q4;*9#Ze8HdA^5%Rto6BO+h zXMo?hW7X$eLV3ohj$@K2fdi8+J%S2IhGf~0GsfO4(gAYYIEH~*Tv0PvYsuh~FQu*si zWPw4pX?ss&0W&M8V%LyA$aj0e#n{zJuE!)M-ko z`8$g$-}^}Y$)d{lK2k4QRQcXV>K%(J-}^}Y8}otm05A!>T7P!^rcLm{H2zFw;BAyK z>@*x}8csgBsf~Kd=J*3}lpzMZT5e6lY5cWLn*~1~8{f=V3`d8}oa%3;23X)d=di(%X8nc}BKwnBMiBV)|q5zMQ^W0I;419)RcKxZF zPiw`!5=pqntpWCw46vKv49is>nl6kL zsGB(Jg9+PA8{9|fe)OBylVC-ZZikj}dhNBHUm96MR?GJaI;8Ot2eIz4O?_FS$oAwL!p znb}jeVfh(6+pu6Ll3NVh=Mr-CxpIrwbP3mF&Ij@)wrZY8HQ`g>Xjn&=z&hPgmqZO( zf>Xum{Ln8{V_%WjVy|tS9&;4NvCW|Huih7uGXIzSYuj*J@p5=)2JB4zHv=n8hU6*4 z^dk6PxEFhI|99MrFc7u9n8sc_Z7sonw38U=Q8F;gUM5o+Om3mDc@0PzNv+(g0#xG% zPt)g;r0|GUu?P*yNUM)x^Z zEet+&HPKixOVrFj_>eMDcFVfT6SkRV`vr@tyy%&L!ednAdhcSA|4fmKIb3}F+U-t> zBH2V(!zpKlG-LzB#)+VxJTqKF+}#Nbr~@G9f!;Si1q56@6l|Im1-cFv%p-YJz$^{F zDC}5w+UnM=WgMu3S;qljik}FCCBZN?GgBnG=e}Sz3fKs1Cca6@^b)}p@DZGXkML$G z@raL>xrxRgAU;KSt6Q7-%?mfP|2{vPIM@mlqTrV|3hgk0*jPaV+C)4N^>`nfxymt; z6R<)B3+#$`g=`%G7Fxmym^TDJU<;07`Vl@S(z=zD5=%VCENlt#hfU3}krVNUf(|66 zLc!g9d3pGa5iAcm%<9eX8fL3&p1qXBGqaO-!OWPfrfI(GKn_9ScSy+T z5g|Y7Szca#NrLX(bKyHAU@y|h$V#%CnUo(HGMad^|C>eSX!b8jjb){N4~5K0{~4dZ znEojmkdjcdNmKlz1vnx*`@&%3DK`SpP4c)ahj%lHFTfM3uS zO&|23D@ctcXct$fC@83dEoMFtAL6<_aq6MEl%0EP-)`0BvA+>MGv}@NSx3co_=>H! zV$P~4y8z9ro7&cRtM;_2@?x{L8QzcWtC@b>s!0ZJU)`)SQTo!tx@+L`lel5vZTAGL zZV&97HLaWBJ;aKhO^>uHhu3Lx>keHa^-5tyS-U+Ie`r;-*F;a%HmfS{+%#^3k5u|> zlsd?&8Cqef#qd6C;P__JqTv8*E)A{1w^r^B@0|05M>QY~_ zZf>`aS-gxfc2i5B6qPTvT3TwEjX8}>W|QJ?R3GOQnyVxo3A&Sho5j>d%0!TOv)_$0I2NfWg2b0L+(;v0kszFrrJA+ld$w+*F|kM`5hT8N zZ6krRQtzA0WCtynd|xAf(p3uQixrVmF5bj}m7ks6a%T3PTg~{S9(V{i;lTo&Z8x;G zoO*IId^32H%tNdx+YAsx{`Hu_r!B<*2>svMdPH<2T3e6L7$_buq^LcmfZ9|BQwm|< z8*EF$_zq1jj?op^F$5lXe~1Pa4(S8Gs3CxtQTRUbvc-b>Mi?qH2U3Sx>W4O+VXGBJ zKfcnARD8g+NPW3UW^z!C(B$(?DH{#C#>}3vXy#3v+?(lH(I#bw2rQ4g5fes{K!FKJ zpbrbfL+}*R?Ji85C7l0Qpe=NLK|3L%1?VAK(96`K`81C)0T`6PcS};ulL9nu3?!#o z`v)S3zk!K5Hgv=^Goz+K6SIf}3%x{tp;;)9ePVF;kh45aMcRF004&%iHX54`%B_?B zfp)NeZa;yh*NsLXI6MCadm=O)a(|ZF{F^_!59xq#t5$`8E{p(SPo!TEXJq&3Wlsi> zwNic4E&N_EXafusVa+G5XM~#UjO_JSi)p}QsLL--p}vCDA+wd2g}@}_Q)5IE5D!>d zBFd6bW}!Am&o5_+5c#NGG$`!V8MQ;Wlveu@Zx;K#A9X$u2Jf!F-!(r7rV^J zX#VCkeM;5&(1%nN92nI)sgcAxE;8L{$J!{uVr#-#8*VHI1}8m@_o0=*Sop805*Fjc zXXw{X+n(w3Y{zeSSbl>ND15^&sn!lr32Il!Jd{3)N?^diD5aqoaYeV+;=qgX+Q}Kt zf5mpcIGz*^Mn75d^5B&sBIM6+q|q9w`E~(2c zSv+IL0n}N6Er<`lvKHk#*ul53kZ-074|9^OTAafH*1E2?~y{j8M7RG*B~Ff zEIq8Ri|>p=yqPY(m4$pW4sx_R-NCoNgHI04ftzP5-v56?JnDftnTmq+@5t*cQ zimEnY1P|I#Xf7wDc|%X-#I4!5p9(s>~vTIe#})nMDTIShzBa3|?hXWfmEHnni`X%j2MH2484V z;d?7Yz0RWc5b9kPwWm;@vZ!!ZnGoKwsJ)pw#GXyz-YoJC$y&U9g?f-h?I+Zw7PUgC z>nv)2p`K+?2MG02i#kxKH(6A;K~9oAU{T@zI#Hjus6&Lh%c2ft>d@X66`l}4grO5H z>TsbRVNu~(3F1B0qK*{mMvIyi>bVwmlu)mF zQ17>>2MhH%i#k`R?_1PEm^z}DMLkrg!RrHP9*5^zP~#DYTfFeJ3{j7YrsUrtk)M}ybXHjc}T5VC`l0RxZ zvfiTB3U#YRg$G@T_X3N$NT}CZ)T4#^D~k$mktT#cSyXsNil}c})TK<#cCn}*6Y5Bd zx=g4CTGZu2U1Cw|gnF_?T_MynE$T|4USd&?5$caD>ajw--=ZET)aNYf$A$X7MLnLW zqk37?6NEa!qQY}gXtPm=Thx<;dW=P_7iz0TT_x0WENX*Ludt}Ah5B=g+9=dVE$SMf zzG_jMgu2(Fu4U@zffn^-q3&l<*9o=SqOKQey+u7ms9P=SsY1QLqBaZlT8p|tsK2tP zEkga1MQs)8+ZJ^rQ^$0%sGkt(NQ>Gg)B`Q*CZR5|sO>^M*`jV1>X{aGi%>7Is9S~l zBZ~@;6`@Csx!m@WZ&5$V)UmxR>ZgP{!J>XzsE1qBGlY7KMLkoftrqnx zp`K$=KO@vDEb3>4dW%K~p)Rzj zUli&|7WGR)-C|MC6DnV1HLZPFsP-cOUlHn^7Q*>LebS;{Ak?=k>V-@lUusdmD%24c z^&+9pv8Z1Y>SBv}u~64q)UONm42!y5sM{^-B|^Q?qFyT0`z-2ZLVebvenY75S=4Vb zbwW>z`YoZ3x2WG1>O6~jxlmVH)GLJAVo|RY>e&|cJ3_tOqFyD`TP*5#h5Cp^y;`WR zSk&(cb&o~8hN%+=Sk!BUI^CjPC)9-&_4`6S$)a8_)GZeE2BDsBQGX!RYb@#yg?gt& zy-}!7TGSs2^(~8f6H_OZTGSs4b%aIziBRWQ)Sn7UEsB10i&xCr0MZHC++b!zP zg?gh!y;Z39S=8Hv`m9C$g;3wKsJAn9a!-qThfv2`)L#m9o<+S=s4Fe%uY}rSQSTD! z*%tL~pPE7Vsk>TiU)$D-cH)F}fj>it5UZc!f)>Ozb9TcMt0 zQ6CiQ7K{2jp`LG19}?;{7WHAF-f2-E5$cl`^--a|WleNz;`g@^{u&93!>Ku#u zN1-mZsE-SEtwnu8sApKzCxyD*qW(#!H(J!EgnFMveOjo`TGT%a^*xLF7p6|@X;GgM z>UfL#SE0_csLu*@rA2*Cs4W)td7++dQU4~?%Pr~)LcPVJz9`g3Eb2=_eZ``_EYv*~ z^%bU0A7D{m73y@0xOi61Xi*0V^*)O_Sg6lh)FDEB&!P@x>g=8tb(m1cTh!q~oo7);2z8}J z9VyfnJnNfHXM)b7kKkm3_?UYgo@}*jwGK)gCwa4vpgMDrJA&=v?n~U|4(^%uDG~C` zdWrshHq5m1xJN$3%(S@;nt?a^@i7?u*8Z;wL~2ljqX68B>cZhp?x8pZovN8DG1 zC6S(YjE4PAC+>C!wu_q{p4gA>1eh@|*e*#%5cVJkw&SM3bb5Mv`s;<E{=6&vcB2>1zplRRQ-bmk&-qh`47Vx3P)zyi4xx#EmzB0&cOO z<5tDAXOMf^lLeB@blpjqb|Z0L=iqi>pGDlKhb0lY9X&sd-Zd}{UnF49Y%^y#w464U zu<1^SH4i%Hs;TcG_tbYB*bYgiK0w^}IJg~sIrSUFeX)bvVUwxN#J$$R?eOoZ^N9PP zFn0s4QqD0ywKs8hcW^tjobm#4PkF|{?eOm@Hxu`b4sM5*Q_d#tvw*vo=^g6%hUUWQ zd&+UdygUpo4(ph{r%WO4aSm?BC7Q_}BKPF?!`xy(hf_^{l(>IO+_C_YB(r8X3^@5a z#Qn`MHz_&GHQ7(zMBE#Y+ghY%xh9CoRm6RG7+WN9bk5{~#NEe%?ckpD8gfs1(ZTJo z$)wwf`)6V9jwPA&72-Z8EH~L?w#z1y>WTZfFt%9GF&HMzByPN_6t$pZvY%9h+!H@^ za624!;uFOEXjpF1(#3r(aet=}+jY@w;x^*mRLJd`VkaI&+*J;4hn5qE6Zb%e+>WVg z!rRC_;WY=gW28;Eo49W;$BsLUxDO;r!s(84jvd#FxVt&H9ey(QZ^%9NFJW$48)muEhOs{-?jJh19iw6F z7l`{z2e-qk#vVi59}9DL-1B265%-udx5(|l9`hgM9`i2;x5Ed=JWSm8JGdQwGUf{6 zzAVfwayxo{%qNH&U&Unyc(YvBhsVq(?!&^|qNNMFKXLa$ZfkX&?dr?XuOj#8zZG!L zn(3GaN8d)=KP}*Pu4$vsBknJd+~FkJ%}s9)8hwld+cDdZ-jA^HMOslU9X1)AM($Dn z2}?q~Gut%}j`|~UKOE+kmD|ztqrOMnR}@O(O6NyyCGJlYa=TW*Q90tCAC^Sqc8uat zLy5b8A+~Gw$-ar)*;gIhj^sc4E8@PbklQs6X1_|@=M{3huCr(9$(8Jhh1{;*$sR!1 z_`i+?-3YQ%4d`&YyrUU!^hXT&AM{Z$9I zV?G(Np12zw+>S_T#396efP>r7^CNl?cNYh@V?G)F9C8nTI?PRT>}*%>4F554-w@^& zuX6Ox@XrzVr^DQW?eLS~D~NkZn7d<-9X^4$M>)71E8wsXkbBs>h1{;qmSMjm?%#yD zMQ+DDIPBZReF<>eiSCBR!bEr2Mq)lC3@u7JOfu|9;yyIYErPg|tRU{5VQ$8D4Thnw zAotMc9o&w=F!Wa9{z;fyByn+niMT%><`zjD1{`_dXCI>CWH_iTg`oZs{F|#|~ai+$R)D z;tIkB?@!#*!`LE;!-9iLi91z@?UH-YQ^-9CUqu^uRma$at|#uR!`z~!V~QR0DdOHz z$n6RW1}!G;nnG?@z%eLG+(W|L9rw<_eW|i5fm;ah5^qa_kgDy+zz=1+(g{hJGdQ7 z@qo_~_op1(ju~P=9dR#qa687%fbqng4Rh0s>>QW*-jYxb%5IC0m7xuthpl1wG;@eWBGYeT<1$lY(3 zgWKV;{T?Ik2MZ)|%H8iO;{H}4wrjoY*G}9m4sJ)!_ghHZM>x10Ht9Erxce4z&v1;i zzON&9-9Kw9Ansej*uw4bs=ntF_qkzi?s?Z7+jkXlf1D%HUvNaE<7KBp6Rdzf1!am*)u z77_PC2e-px`-~v&L1Au@#Nk!F-$Cx)uZOui?)l#L5ceGpZiiR(zL>brcW^uAs@`jf zdzFLRVZq)95%(%+2dH^UgqF-%n&^$6ZhD#B%-Bbt}5S++~w~%upRSB z`6I;rKq0p)8!f+*xW7@z?OJ!r+lafFY zE_=bj?XY0kFNphQ2e-q5WnU)lv%}mpBRglGvXhAW*f6(vm1FFb%^>c{VQ#^8*rY6j z+}(E*cla>>Kvxvj{c+-cB+N}-<>tPIxUWQRYeqiMb==VXG~#XxW0RH#x@P3=wZy%^ zf$iv>?!$lws-nuFWX zJ6)F&cP(<8OqcxI>4RNI6Zfz%cgJ#f*@@g;-U@RIwnLIG_YwD9VeXE5zRRV=eGzeo zBaVYyBdyCR#JwiWP1pyyqM0s-689Vjw_`MP=}FvO9o!C&EqxxjOaENJeV}WVD*Xv@ z{{XqIG4GVS^z+1hMgg{S9xPo++)EwUjuo(UB5{v)a64>L@^9oW+3DbRM0h0+5%+x# zZpTO~xtzE!b#OcEU9yq5PjPTNW}lKHiTh9ow_`pjsUYs2$Zf`sc$LE@#jhZD@$+GB z8Vyd5Exwhwe-h>vY=@S`Un1_$JGdP)Tk#3Rz0$$$7?;JDZuHC0aB;SZ_7I|b-0(!4p1B7qdYZ5hAiS}N~Y#t{^LAKLTuHc5I5 zdzavJ>#y;Hd0<#D9Uwens` zQypG=9jcD4%iHYC*WZk$yQ%uRNOkj8IBq@kb;hFT>%^)0Bzci(=-rR*_m0Ce67V)t zd5x&`#y2r58y9SVen<~fnV0lE#qXW$_H{DI8q$auUJ4sG{~e1h#0OteHJTg41XhAe@?tB9jM7Pt_# z4zr8-OBLi<)il4%)x6I{o>fiT?_`r_Rnx;P1bJ39owca)tZI6!MU`h&(-SSKJgXXc z52`$?nzr8nC(o*;`L)|dUU^nEeUODK&#I>RE#`(-o>fgBVe!hds_6wdiKLH3+obtj z$blnK$vi6QYR%9zZ>7glNjFDHcPi;#Sdyae`lQPoB~MbFa!1J>RMNvyaut>Ibd>OS zv3og6TByz$j*>boNj>5ynTsVQS2#+tSWfzAAz zpMPN(P}OI6tQGgC!SfC;S@hmt{K$3*edrt!U?Po<27q987*F&ynTEFZ^=lg%+X=rwtSOEI0j1hn@G}=v? zdC~Z;Ja3+|-(DzVICU|JX?SG}r!KXqGKN#%vZykKQ&(D48N;coEvk&+)ODmBd1H#l z14zrZr4sVS6u)cSE+KDB@kp^t$Qx6<#MmY5jXZ|z67oi;1mun20QjD8yN>Zj=qc(* zeg`kO6=@2*P!RnpEBCk!M(i*HQ<({q))*?igLVg-BvXN_!wvORKUnq|)A~2>?I4B` z2kWNc79A*Zkyj2AZ=K?ngX;t0hYx-$xil$wiU6efGPPmGB`h^ziA(yB?qUHLpENQh zeC1Drz^X~|;3qkb;aC8Afk^xjGs1gHNc_1nc_*zyL~Rs4&*D?HzIX=>TOepBlfDu6bFnHc;AXKL!~2gHfsZ+;X)XEQUgfS+0I z)pyWdDYmz|t+UOU8P%xA-&*DG4}{f&+-raMZcRIXaJv)w!Tez9=dmZhC%Y5v!AwK# z!SX`(1%;^}N5}^dpev~S6r44#+F|7hg=U~$-rBmhvu4*ybt*}xy?ptpD*;qZMjB33ZYP<(VHoN|(oZq4du*OTdJKQe1%BXvO%Io=l0Ez>$8< zq6&QGE%+=`viXVp6Bh#6GctQQ5G8~b1i&Un_$(-_bL`W+7Nz-99uQ|hCZ6cqKM$~) z?_Wo-oD%|EsCD>drcIWD-?fuE-J+VfnZrY~rbzCaT4(V}?we}1sFM4pHd<84eN*ie zb#rXZ@pxb(D&g3gGfKOJV{4Ab?GlcyIis{ovZN`;<911SFB4Wr;&Xi=i3-4S(6#2@ zeC!KGCnd%B?@b{U;Ct^x<=%{bPsxH}*bV{z^=IO?_rGY(`xF)Q&wE^V*=7v1G$IgV zCAigJIbneSP6C>+PCh~CDdN;`Bu6aMw%gdrc6UBa;+NCEFl-7wU_}L{V?0Xi{4#Ne zhN;=$g!wEqP|W`6ZgC5fxLPmgN}0rUujS@u^XbzT)oec9i2ji|)M#U73-eLTDk=!= zT*KD0g9K*yH1}mNS&`pWO7A!TLffSDO}qjCYNjJQ-Yaene{srumv^5wccjKRD(C`Y zp2uOAEhc=FniwEWG6sNt0PY_~xc?iO{&^Fb05XHjIh;xdjs90K^b}p{8%Ds)7ds=< zFoHq1?F`I6o*>m^!XiKAZ%FN?T(t;}T6kL&ycoOZT)ajCE8Q%!(!o50^ea}&XZ-BF zSP(DN4HON(V-1HO%#ZBN4<{Fgxf1~7peFyBPWD^&(g2S1xKURn26W;6N$(0(>!zp8+HXLZH*aieTiUv{sclopb!YR? z4OBCYk_})%q#$HD{enZQ%-4CEjM$rsd3b=7&^tj~L~vq>H~xisl|Ci|*sQv+zEUHh zDLondb`k^Kb$w@~T*5H)ZyLbXv4xV!M7Kyw{u)skf(KIhU224f8FXyslbvYl@0WzY zAdu`FSZxRljnEm%UjGpLz4)n!5g=9yITr*8CN4;1>DTENVX^sguyHOpGoVIp4(Wp) z(kXrT=)aU8vD+j_OCdoPU1F;<%(b(AA}<;H8=8`ue$Ux z!ybgmX0p6s!YlwkOW|j9tq+0(US56wVxT}m@xNaK)SDqpC@w{TFrG-C4!R<^qz8@h$+yQJm`DpJM`tdn#3kEN7o7iKl=?$W$`*2hV%}MM`cB8WW zK#Lg}j_FeqLctE;6NrhzaWCf?uKyCFK(CghhAdq+zkYt@^17;Ji>g*uEvm0vP`hGz z-O*Kx>q6Sk4(tR~de*gVZkpe)slBOfQBwtXj4#x1h>s0y^YHp^@?21U$Zm7Uz1arw)Jb8vW=udwz&xkvxj9vZD6_u82z$a*SD|BHmo^i^QQIHIb4F4aDc$ICsCBT z{Y04<#tIj-gIxXJwY}6X9rRR&qjFi@2ftu2LA=Rnv|wrQ31;Y{ucR&Gek?HV_zsP` zrJ;HKn(X@arVU^#l9Xo>w!?>+iZN({;m?PPz$>8n;jG{Dsp7KHC`id9y5%(hJz{xX z<-&#Hr1j*bm=xC48tJL)`EC<<6G2bQAJvTmv=raeGGpPlW!WxSIUJZQHiDMXfV=eodxjK!?>}4X51Df$*b|%$A;JWC7Az{toa-(nbFW6+N4lLjaT$Zmcce z*woydYgyBT&(xHy-`KVhzO@UaO=zWwa7v%r!Kp(qN(>nNg?^Mq&ZgfaUlD{A=qjKP ztI$CwPIYvmH6+%ywQew7N$}55PodMJc*BO~EtHzZ|4nSvp_!(L;Fw|VdB}(@6V{jL zH%JPa)^UYklC#8a2z>8QhuEvvw{C4{Yhqzh2e{zNW7kqh#yB@;)EHV95*_-K+-JJe zeX!GTEjk6=2c0hSc}vLS0wMP=5HdS0J6{CL;pkYuDcg`erUB-ohIW}W$QGbJ*un@m zoUAB?a2U8IY9TM71@Zh9uVUV$pfkhb?G&MJDqbl4Z zv&}Nb*B`AW()~m8b7qyCVRekisvlSs#5#1jK7|ik#>tTGmdS$nheO{&FLcRR7W;T$ zu><@TtAhpMFgAU@J zlPMAgHcpX)Uo-tY+V;Y%@PYA(1HjN_RvgC;*yUA2HT6N!V=_`n)}*1=59DAca2sNV zRgf$NXMFVAI6m(M%g9La1*p+Q;_xq-_Mk6M4JK{EfiEkOfu~TPg1n&DAQFe>&R`Ov z>3@49Dxc-33@1~di=*;!k;)4km3wtmd03?KYyU;%)N_%_HB$MIkj~sPsb4gJ7wlr` z0Luociy~mB3D|r$SgC+@F;7tRkA$$4iX0XJJxV~wg+K>8Y!jNXK}wXq_F!O}5yVK; zw|ukHOxlnR8P6F9ogIk?An@)IR}T9&vE{H$5nB$4To7^aS4Kf_aLa3W(F>fN%<}zd zDH#;t*f`?K`ARv=17aY)vJJoUgNKxRN=9f82`Oz{b3QCKOWi@HC0os*>Ky_Ox+4l0 z;Ri^fn7@ycAn8HVJ@qgmD@m1BE}LJun4^4y@E9YE{FJB&Gl12Cl>hO<3N!71vcw^6 zKlN%yC4cVIVaY{737azgm!VP0Gc{4lv#kN811X<7s(?eJd|_=+A}zkyrGPRvphR?h z@$e2y-tDO5rTc>tY4Po=qm*|_Ba}?>z<^@QkSTt$A{*^x=+pA~4IA4xw>2HzaPs;_ z>KC)hlfxZLBwX2CtR`~NN6zG)N&Ri?-5&~)*_^=(aMV~B3n zl<`3CQP+B8eeKet>#_VuDmF4n-Z0i+@#GnmG$;*W9ldQ+`%()lT8pq!`Pr`?ud5EH z1G`i;)r8>zDaP%=YG#N%c|GHa0yME#BAzgc0H!hO=P53!6RY6^Qn5Un8yrYuG@9C)IiTNFsJXaT#h#r6cS^))CF|m{I z{Pm5164h*dM zf{{AeF;Y$L>yPHkgC`zfboD-_brB|{a0J@~`&R9oh?zM~qP0LCsL-pbc}?5;_QrJ! z)^BRtypbOWvZi!3*Z}_xgw;FC0<%nWn8h;3M%WwRT|BeT2krxA zH)(bm&&n|Em_CV)aI58`gO&?ZXESwL?aRi4-Dvl}7>A&_8ca`p{}P3O<@Dddqah${ zXm51>qRQpV>#e=fU8GNBZ}bP2)SnHcK8WqL2)ds(pwJKI!)4}89c_^|Vxch|%x+>j z_}eeE^=Y^&#=r_iPk0&oc6*0ZHOmsrJ*3_)%B~I~Zn6Pr!Tt}(-4-uDvYw=(y4SaFY@k(sFF9{e%$B>}Yvd%8fKQTK)?@B0X%^fSmc_laQJMw$tbP22 zxn;}i>e*G6tyokA*dHD~kj&I7vnn)C_IP?H63Q&sRY(sPgn ze`2}W@?B#!0GJeP5D|JyBB{d-lx2q9R#g+H5R36@W&u>XU$fJg19oHwQe}|UVP}{d zh?8FEk)A;Rz0-(5=7Eo=n&0EVl9IqeJ5&lEQFSJurW_vjjV*`I!^W1w2WWZEGsSn- zx{=O+&iWb2NEY}2t@%y;z?(GGk+2U#EV(k%84MTMEH>3G!_ssiZ+h6x&B72UNmZch zFJD@Qb4yY{=Lz+xCmr|S&hubmSH&y4DFDf*Nm`b=x~oLgC~5sx~ijH_L&oG zn}AGw43y$A2m^_1km55L=z2VOjP#Xdv-1L*%?a5I7Z}|2?!a<5ZJL7y@{SbQgJ(`W zGlEX;8#W^!F998=6g=rUX&Dem2%45?$WL8wRg{f*y<$-6AJb)U#D!J#E#>E^{xh-j& z7Cd6#Fmsu~B)i<1pG3*F_F@L#tB#$n;rsEieAxURLe8UKssH#(lq2lYTtSC);TK|7w@$DVaK&i^figx?Kq`9rn&RyB?! zVZ_sj;A$69wPw580;`&REuX6$Pt^{vt5sRmcsj6K8%wjx9=qB~t6GU=HVz!z zrbU|XL%KgS7No}LpH@sSLs8#PAd}%A1f0!rJA26`;cDN zA}#PC;c!yPROLfDPm6>DG}cZ{TBM_VNGEHNYJEtb)*|J6NSl>Ni*Ry{wbO}8q?*M( zB))E;7%fYDNa!Xie_HB8!f8i^w9JR}f);5~9;wn9KjCmPZ>f;y(BWO73cF4BAwQcG zc|RZWr;;M???Y}&ij2#lc(&Wlqmv>Z=0mPaiagJU{A5z(MLuK<4HJ3YAwJ|=k|H1N zL;gonk8ZA{P~oZkiY%yP&M8fvQke8svG7bn0XIrgKyuHZLemJH(o1 z0D>wP_2&dLU6M+zhG*2H6AV=flEFx-cp{a;<{?3a?iNymyjN!$qO%U-HwROEAQIFj z_3+lJB%5zo8`3qwhV-nBZH@KoTN>+ed%1Z_b9Uam>_U2`Wnt5{?6R5#<^XbHOKW>} zbwk^lNw7(~=Z&^PV^zZ$h?yNamwQ&@G!nalYIDzOI2egX(&nDk<9tZk+_T!7qib`| z>d-vlwzxL;tPZW9ZX|8)S?!I1wYg`tcLze7dsch*4YavuwRhh@n|oG=)_=FfwYg_? zC`NH3X>-qN?+%1E_pJ8rKxlK%>QFS})(+D*O}ts{&GxmqXSFx8)@F>=qkOZ<%UbQc zIl4AutPaIuZi{O(#_CY)d^L}+s+snCP}HParTRqIcb7f9oqVJ%bYa9tPX7gx{;G6nAM?eeK&H_ z1hX3FmsmR|O)#syX<*U>vpRI3;I@V?!F0?(q3ub&DIJ%8((LvTCYU2438sA(If6zK zr-$9nE0n#aYrZGlOGzUkL~~pRQkf4)n}pSr`;fFrSPed<7`u3D6P}vhJ|u0zQ`6Un zq)k(5`umWyX-Z9n4@sM*)b#TqY15RNfj%T{a#7RWholX^YlixewBdKnFdvdO{H_`9 zL(+!dHMs1?juvhBT@#9=+_Q={Xs+?5PTD}eCKQ9YWzvS@VXS%ZsJY*djnF02{sLrxmK)r7Vl-94BzdaD`alR0VhRx{Rz zoHTl?32hF$t&uc(s~O^xIcfA(6Uw0Wee|}3FNF07zplmH@>-r(**#&YL$j4WB<)Un z%`rYCb&z+g4`~fBs3y_ld`RkW@dO{zWm=h9eMs6p`eEqAlp!x#<5YNy@(uUY3qIuaOEUT~@p zNxNrXv%!aSomM8C5@YRz8^bE?R``%!)*@~6A*s_3?BrPO)aeKA0>&bt!>R1F)rX`` zKQOz9l}Vj`Z1Ewf(~r}ANb27bmPyB*bnQRnHQ{+Y20UgNa{51b3P>W zE!D*TSs#)*`MS`Dq)wT>;6qZUOlSL$)QQfyJ|uObgOQmyy4#=BiO!dNNa{rAi#{ZE zqVr`Rk~-1(iVsPho?PHVQl}?p`HQvw&ACfv1_?iz%oeEsyLsF*#U-u!Y zQ-SS1By}oqnGZ>w3gC`S>|CHu1wNlga);fCL)g$-<3{GShE9~>HZ}d#J+^UVOF2omlPE0nsmgNa}#-@;s6|Y)QNi`5hl};(f@ge8`D|xbOLp6Ng$q z^C6E0h9sAPYi{%*C*Ftrkqc=!t+a^mpt2R`J)`;fQ$kQ47iqDV3?xW{1PkoL|z z^1csgZ_buq?2q}7)B*dWJ|uO({)i7r9kBo2 zholbJ|KLMX2kejgkkkSDpL|H_fc3;X|s@YWKPi358bK2?uCw zP?b2bxzC53II+3khnzUE!D&6#8i^B|=X}Vcfgw?1^MnsMabkmcORO~#CpItnkP|01 z7*xf|oH((;$vzf2abokl4>@sS^OO%c@db<5^2qx>Wtt}`(+0;Wz~A$Nxl^V_U{Fns zZ~2haDbw3NBz2I*z z4@sLc<%)es>XhkC9}=#jn%Os3>O<0|Ot~&TByGx+>*_;l(rVYkhonuJa%DawZK9Ja z_aSK$om?Lu(jCB{@`AoTq$({^KOfRuEmD6Uk~;Z%Bah_X(N3Ivz2iepoP1%F8yf~E zPQF4bt=k$&ldoJipUjDquf0Cxq{&w<HvP04@n)s56&aG!^5P3XKt7eIdR}Q#fO|U@XU?%Atw$z$N7*G2c9#0$Vmgw z90miiNlD@$Zgw7d--lZ8DKvZ$eEAATsI`Ayuug_r2l|lIq1Hh@Bz35@$cLm3wGQD)XYk~(NR!iS^|+HmZ}1|#aA4P%X1Bz4e++m5kF>Yxo*nOG!ssD)cH zu}JFh56uvZqz>9@eMst{ZH^D=WnfSRl1KZH)ZyP^ACfx!TjE1%(rSmRYi!@C!@uP| zBz4fX%!i~7B#-qWsl&hHd`LJjRsM9m59tLh5;~srojZ_By6c)d*oT~S*EM&D4>@u0 zi`(9@*4PFNNiL@34)-A^4y%{?kQ0a1H9q9TVRg=joH(pr;X_UwR%7rG>l?QKLn7Z; z=|fJupZhT%a^h6rC?9g-{oIe|k@tO)v5u3BvI&kP~78 zAzcOxs>KOozSwX;ovy6*A*s`qMjz4#TJ10@iq%e?WUTWc-KLcZ_bwgE3G~xb-J?Ahjbkcr@tDzr}}~IBdpY9NUAqup~+% z&d4KApvPwS<(GE4<-fE;A8Q><-&ajh5Z#S5Dy7Z)-Vcyy@Xb~#I*Oz1)P6+8Z@ZSl z4nJ2LOx2<{iLL6-$5bEWuRbfLdYQlaf|%-fL#J@1wS<4IbJc64`r!`KaqDE^q5=HY zsNxPj2W)!cG=Zy*hbtAhE&~}h-M`=yzmCM|TChg!^pDYbp}8DL*ZYugwoxJ7;6qZU zU_bC7;d-Ew>4!cfbuxz;R;H0Whfg?q@zE zUi72$nZw6%8!5K$)CuNoJ|tvNX?Lp+Nu6N++=uj#R;FM0kkkq0?LH)Rf{77vY~QI9 z%sYKZ>ICy{ACfx3{Iw5BonYSUL&C#Om1ln6honwb@ADz4Q`P%@Na|Ge0Uwe&Rejip zq)t_FfX4c`I#qqlhja-rsJ!5JJ|uP0`+FafI_dp`4@sT$;=&kf@wvdDvJ>W7u}JFl z8Hc(cxzp#w=Y}`>kQ1L9{>X=%IOYGb4|y9fBueXk>qAbQ^8d<*oH*sj1tr!u5~uu+ z_>dE){J-=eV_24`2Osqz|05~#gFfWM+Z2!ckeidre2)(q&kZ7WE-Fl39dYv$dE}9l z#o8MnLsNVA?%hoVAK@p4qZ=QCOamk!>@bw_H`^i49*0{Sb~$Vzbcrj6tUR_HHUVPG zVUHoU95zrQ<%d}E!~P8Y2I*;AXJ}}DhPQP_7nK487LJ=-*eBJzg={d$0;57~J9rl~|%xg42A363_UR(C&9s^TxSXiKSX4c$HQt z@mIeRQ-MVjzEqz@SY9PQrd5Ii0)-M7attqGM^CxkNxREa{TZDS%d|@HUXMbF=ln`& zH<+qFuTx@$RtetHQ7C}{s;4I|0~VD#p|-<|yzYc65;o~&fEi(J66^RtXH&R9*J6FvhGC+Reo3vvo=wtCj6%TE>_BN_+q; zs-8HPu)MB*oK`m8?^C$bD}E)kTd37v)G6_CtrE9t8DI4)q20Z${<2Pq6ScDOE~la= zUiT|;8?dO{33s{_Q|t*^C3w?Up~P!`C91Vbd`YLo@meL&daBuJhcL#>P7eW#swcie zSl)qsl2$g{2U98WcVUcCLc3F6eZEeKdaZ1n^()-z4Zjkf02WnGT%c0|jiNH}om$2> zg)yclwC5AmU)3qGS}Pmx87X?=ZNCyn0*k6AF4ig0q*a0sNEAx^)2{>?M5V-bof0Q& zmH3U8ai=iGxD)OYtCYZcdcR<;MUjPDC$j5{3wEGi{1W>>h=san~7t7Y6Jj4?`JNTgEYn}p@A z4{8}d5XKlKa7t7uaV24SmB7VQwb(tXW!xi-F-qW+s8Zqz!tyGyQ7hXcTE-8BF-8fT zbW}=wm$1A_v}$V{yL{)w}&lY}P7qwN44dQ;i8e zANDIzlkqEoVZEv+zNb@Si&lxpm5en-!Wc6qs(?kM#5IKF9TQuXvQd)$w zTCSD#$6Chc{YpIxERl0o)u&~vKS$W!o~qNz`V%eV--I!yr_hTMDfKPF_A0eOE9>vH zjQObd$f%I5XKm#o&=Ue zN_~g0y-KxdWqnM`xK|isl$sALiIlpKu)Rt(Xl4DCmhmlNj8O^?h!QDv6=8do+N72B z_e#c^lrY99g&vwnsc#duSE&}Itkt+Ft%_X#BaAUhVMd)uscQ+_tJG;)S#fY{l&UEa z#u%kAXHTTm*9qIJ)LNyi)%R){-xbCfrPc#WL@CwHt!msQRP5Gl)5`iMC1XvgFp^UH z{;9bW`Jt(>Z!^XqP1PbjLxzt*!sS~f(_ei^ zmuitXW{!~wcScn*@mPsLx=D+~A#V)QAGJs?0AuXU?{8?4Ui2a1_Mys7FZqx#-ccdF z>_b|pMcUy*x=oApst>7Ji}Z>Q3D;Ydo%mEd#-Bc+MdC{WF-SNFR5HEc)9y$u5+4o5 z$aI$$iDUg3BwVso+Wpg~U8NT3X&({}0+mcVeMkprk^bdF(jIo?-t!?fX=UP=GN$iN z)*^9k9)qOad(ZJFhp_SHc4PI&KYJR$cpY2!e2Ik)P$vm2RECDj# zR*C7sq+3Wi-XDlTPP&hi+wHSP(#@3I-+jnQcQkSz`jC@uE95YBj~yw<5Xl%-URRs; zAtz0+bG&sK;~Pn{+}ccD=6#=P%Bxa(j0rt`^9DbCQ(K%DtaGVmZ5JPsHbJcI>O<0| zb+u(aq|1Oov!v9H@F8i_y4rFdk~XcY?cqbxrggPFeMlI2sO;3shonvGYJ2;Tv}s*! zKOfRfZ; zJ|t~|SUbswq)x^r`;gSh7%tYasirm=t1ZbRxzmpYz>p{q?B+vGnvB(U_aP@u#%e?B zquUxuld)RNwPFKqWJqM^K|bW9$yn`RA9B)UtagGAIcYLhJHUsWG#RU%=tEALjMa|u zAtz48hWd~br%Y4w$ooEJl2;;@{kSk?%AJ)L%)Mwg0)r-4&V9~@q)nM}pZ6hYQ>Gkl zM#fJ3+C(RJjt@zj=;Y4zA!!qx+!uXF+C(S!B_EPD(aB*v6>D*AqLVw{hont(a$oTw zX%n5?mwiauL??HF4@sNoX;XpR6+R?wDvHYd++p0etRaA9B(FK6j-Lc|I^CNoR6j z^&uw>;B(*cAtw#sbKmkICk^0p+kMDM1Nhwc^2q!CTTXBC^|~JS7Y6XP`{f052k_dk zyLN^TX$>%FQi0l;J|t}bUz_tGX#@D${e4InAE>mO<3rM>0<{PFkhG~l?Lj^yZ7NVZ z*N3DH;A;=_A!!5n+CzOv+5o=x5Fe5@fUlkBLs|t4Dt|h{honsfY7h4zX;Xn(jPzqe zTx}{)i;-C@k~S5n#ZHbzQlEL$_>k0R9@BkDF9UO<0|C$&p_NZORC79-AB&(tP5wJUr`IGj}ew9h|*SM{*4H%Ln1+@qJkdvl$wMYAqlcsgGm;uFF zBWYS!i%u1b{3I|Wvhy+@a?-S}78jscnQuud^Ku_@(zLF2u@50z@ENu3^U@FA(w!&V=XIz7ZlB)0F==^;kzu}JEquHA>EPBf4AA*s{D ztv)1-CRL;5G#`>WJ>2F)Qm2P!`jGw~q=%pN$%K~+R2Ih!A=WduYmqRwjYYyippxlx zJ|uO@`gtFcI%WNW4@sS}p6f$;0T@(v`gk76oupxQktlh<1wi`Jjhr}TZSWx{PFXSR zjFlOughbX@>qAbQvYzfk9-UO?jXvbWDJw4Nv35?JvYzEbPMor0A`vTd;*|9>KIFtH z>nDB4iBs0IeaINrB^oK4e8`ED;dAoH`z{%VZ)K;`@IkAWQpNOPt9ORu*QLtozjxBV zyRxYaf7=8;cU6)~U6ZD_#=t{g{ev%=PzGJxlfK`S8p6K_7OI54mt{T@o$3|lOgT8= zlUwH9G=!Ee%i>3$GP^7)d^C%w{539v4tYINi&7SEMyNJ!kx;u@yrn`dx2Ro&+S{Uz z5Nd@*9Vt})OqY>tolu8ayt9RBTk|lXjiviwch+QftRr)V~S! z1d9qEFC*Sn7Bwf-H5L_)`iXa)MZI09%@(y*s2eTnokDH5s7r);nnitIsGqW^!-RSk z4#lF2(f`Y5(inkJ!J{cuvcIF`bgFZJqhuA8%yN`0q>|Z=lBrm7(f~(EUn&_`Sd!UA zC4(F#&r-=?N6EcdQvQykRC1T2q=icEc9hgn$vuve zxm5CNM+v{tfLE;NttE3kk4&ryqZXG`vxdRn{K`Js40QrGtL{!(b;omMM+vXTyQqns zS%x=@3g^KFc61Rv0T`CkG_ngDNtY5QJ+cil?&Ur3)L2>KLDmtey?g%kT@nI5s~B3n z*va|zX#|SjkS(dUSVTxyDkOXTl$gRwE zRQtNLqqfV4jLSycO&Yxu4r)-6a;Zm>gLKptY3R2VnLrur+Dx8g>`{~_$#*EJ!=)lv zpRh{uT;MoFD$SFg5mJ{t=_w&~&66G%63Vrb<$6p=D3_2P5)#TKqz8nAjwqyig@kem z=`JCmTtd1-NGO+(ZWR*B6|I>6%qOm*@{!U213wZYi!*113U9Eydp;nD4-K`p#qOAswVd-k9u2w;! zP^+d--K`p#qOBSawRJUASF0dVs8!=!?pBRV(N=Nf;!v?$HB?utAW^7Q7*kFh z@J7Kg5*vB?2~NQ%apHh~367CiaJv3ZaG<4-Uf^R+9Pk*ydBE1I>*oZgz>}Rg-~)mK zV~9A6JckHQfp0o-pjQRQNGv#A-W8kzZ*$^+=LpW@wme;K5FFcop!bCTsl25K`D%(E z_P+f`sb~93-YCiA+drUpq&=WhJ>yrVUZd257DD})?{}b6J>y5F-V~_^ zErjaj`x)p|?_T*U_1-e}wfj5YuRy1I4@BzSF74U@;_E=}fyN)_RzeVbR-Koy69CcnY zwvW`gSL&SSs1x*8qz>4d+BwEiC+Mq49k4ak8RMuE^i!k`*ct1*`nID^&_|Ivk4v4~ z9d&~Kpq3%8{f*7&H^CBGk zWn5|>tV*r@f7N{noK(fNcX!VQ%&-|yT)-B@9ixDv#08icaOeg{K*2AXv7K(9b*6hV z3xaXM-58UYXqGR}7-LK{FXq!En2YP*OoLX)TO$X!MM5&~Nej?#MH$j9bWVZMxP3#Vvf^}N) zj{tdUe^%l+FtK#jG$O zKAjV^r-^TcuUWzeuKG=a6oPv3DH7DgG7QX8@2HzR$L}8>LpMK7&9O5s%QVvw4#Y)I zScViW4|}-uT|I9!O!WR>Ik9+HfDny|r}=lIALFZP*;@Dv6ojC)a~0_=9AyGnlA-w} z-?)d71XtdkuqSx~(yhc5F>U7Qo32PDU#5q7`mHO{r))f}cSZV)4M{t1R8CH}*^qwh z%2UbL@?kkGb49w{#?w+)q&sX#=eQz$&W7~=9FekOT}JM~nl1BjN2K{*v>|EdjmlYp zI9jOf3x{==Bc5oSmEPD|4*5r2vLS7CMJl-)AS}13u1H_C z@pPFh(${QA;@G2;5B<6g={#4YZ`hFDc104$`pS+T@vW^(@3J4TA+2*nn*VVhiBAcI ztw0EJz;guUMvpk=S9V-2yVGW8w z6-k5l+ISX2BNFm`He_*dCK9p`V_7+$5*1k-qAZJC_FRl-by{+XQxqc2t3AIo3v^Fn z*Arudlf*vYchVg4oRipZ+mM`7Pm!HS!JBy!0&sDg^B=S!Ij5fDYmKrzxu#U}ziUHs zPK3VaBbi-!c$NX>kNM`$roGOTHMe=AyjvT_o46rP6A|K=YUl$vMyn-&2++=Rosw8K8WT2q6mR*F}h`Z>c0iy+(`;PKf$X zzmw*H?;N7UXe?`n-voh^!+h3;4zr$mzu^ zKC;=%IM1zLwIMmD7dvf8!l5~7;B_0)R9B=oY)H*%t`OQIrgw;@N~WDuP# z%X8#ShL>%~k(1OnZOD-~8UAWRj=c7>$A)|g2qJA?{Feu})d{i(OOClr<s{|tgC^Y_#-Hsr`@ znNUF4wVkM|Mkz6v$|6TyHA+plAxB*`N}X;)j=E};YP2DXWHFL$9B)I8kpALgERp`! z{l1d)SJ>oWrN7O7C(Y@vbJ9B3hUA>I&a)voC#`4Mkerj&`8Fiy1Tkepa!wG_HYDc+ zvBrkvnjoeY+K`;ny0dLa&S{+xXjz9DIjvjdBb!H$b6U69hUA=#oohpKPR4{umrYuo zld)wsBg3#HYDf7r^!b$Cq9wWlNK9t?dFw}P$dS{Lb{lf!bYz7MIdVE8Ch299|H$cx7!qZXBd?b9*pMS9I>I58@+lyQWY5cO$U?;-(w8f3NXuN2uCgIHCueJINUkYWO8BO-5_e97uCpOIrz_XnkhX%r zNq0Beket(%n{7zW>B`4#NY3fXCu~TrNk-Os&c``5SmX0#P7NXl@T+aekpuX(Hsr`* z_7)p*A+J@vDSZ=c+IR}={*pQq9 z%V%v!&Vl6)8`4q`IJw@>*^pdARJP8B^tdZeU$7xL2fP34BbnV?Y)H;w^llrHa~QqHhU6SZ53(UShtW^^NM`$r97b=qAx93QU$h}d z4x?YSAx93QVwziaPI(FlLi00R314=8hCd2L`{eT~38UX7#s(*hiq)91IllA!Ovt$` zl5-fn&xW)f1WtiQFkhA@=iqn04e7_OJblZCTA_u>R zeB=s)-*;?C&cW|{HYDfZ_plAgIrx3whU6Ul#4sy6dYpsb!8Ro4;CHW&WVWx!!B0dW z*;_Mmggs(Iat>i4LX{oP=YYT|tp3D?95rH@;Tdp7TYesoxM|gEG+5 zfmJ;7KzGicH~Qi-BRS{KzqBDO1A)_^deVmEJkU4UkbdRLlOQZRh@1!duYDx5=|>*u zn|)-nE}aMZ(>5gGQ=D`unk*|fXP2?XhUA>}{-+JeIqMaJqipY-v)*TINX}XBAvPrE ztXE9rWbe$D8aeBI!iF3<>wU_G962`?hFVq{k#p1E*^ncIEc{JD5weB_|L%+YTP^M( z>kVRTP(oH}o8L*ZbGiuxPA=sSHYDfZ_eUF&bMSlKhP2+bcmHKWa?ZS8upv1w9&NWF zEp_ePpKM63p*=g)h9ta~lRfRQAvq@rFWZoulZ01&B(v*{oFu&FBb&#ebCU474aqsQ z@3J8|hxRvZNY0`CEgO<^X#cAX$@vWD-)u;(NkVFm4e5g*a2Y+>@irvqbmR9vlG)}X z&k3KiAxBPRUbG=cPGkg2Wz&tw%XhEXkRzu^J8j5fb1TxUezy%da`N@xHsp^*<@tYX z$Zly}>6%08B^z?SlxN!+&R@%fac^mR&Ix0BG%+?f3FA9{C(VJ%IbnR)hUAbXYK7HUW&B4)@!T zqo%{@gbg`rI-CxiIx+i_sOfOJ-o|s(bT~cSh8#5=PVa9+j+zdq53(UgO^4Hgb!oE( zqo%{@S{u(1(&6Vg9j^KJ3ew>eCohAN4$lv`19Ql8O+DvZ6KmJhbAG^)n0Z-o-omdQA1YxSRdIeH`kDrKF)^Z8nV*I z+mKvCR{8`Rl55CHizel)%`7L^K$D(kLvo&z9%@5!os*`=`$%T{`Z@@rEbylTJerZC zhSl`pHlCw~)$~y|8*|0p*eko4LQR6Zk3$heYmte z_wA0^#Mt1Z0w?>OG&_!Og1{*-&9EUkrvj(ikepM25805M19)Ij*(@jL0DhW{C+7fu zx(&%WfS=(bncZOI0Dh*AY?hmI0H0+;at`2gY)H-lyvc^-8g{eRMA|u63Z<7_z>OTz zX4;S=hqPuJvYQjvW?jdytF3;#5?5Ow#sSE zkX&7D`Vt$Gvs=5=M;c_e*5M;p=+-)INX~ApXhU+IO?26iT-{n)MC!6O?>d`EXMH5I zE+fwYdThvU&ZpGPq(y>Q))hy{AkUW>)svkSS}hUAuku8C-*nlklkD}<%RvR>Uezb-n~0x)d$D$ zd(U`$s1j?S|MzoAGM1X$m z+HXWvr6yFg7(j)glZCB|RZELKS=pxa3hO1s{p=l5Uy`>Ul~|||2eu(`9tq(rk~k$c zX~cmwNF2qn;%At|DX~H$4)iZ^Ht77!|Cz)ou{$FUG%j&AhHx&II3<>5#DR__&ZZE~ zREbk!TSgpcRpM;caavxHI3?C(#DV2VoGl@odnAr-KhU0}-zw>0NrZea*~{LRF|wX+ zFTP!%oamLE$$DpPll64_@a+KQR8QHJs&}ufhZX{M?&}@pR8QHFs@Eaw>H7EejB={C zLH<_trptP|zJ0x-oa!k%k@e>F%X+$geLbR_>M6TW^)|?Qx;}lqp`7X|J5cp*mGwOR zNxeNJ=^=ka|998kF|kT~%o;n$6pcc4AbYBFk)e*Kw@@9(o$4HCsIy(^EL3L$*SUI+ zp^m4oP#wryv~%?aLmf|7p*oN?)w#`3$J0}&4&+RAE-=*bbQG$yMb~?epD+=jdBCEvgj~1$_>=Yj>FU_H&8=bMov&}pjI{;#zwh;dd~pZ zC^t}JWEeR?xq%uMO{EV=xvmT3%j;RvNdSrgLa1m{Jk{TZ6mWc%RA(|UbRZtCCV=8| zs1mwWU4>+PuMD||OY=ZEOzFMZA0-w%gY)YE0%4k-!Tw~y#W;EbEwza+(d){+$K@)a z_Y)FTRC5&JfZGWI^`1I5wj=0WocPgt5?f7zSvG~mKs`denzGyt5v`MRfrLc=4Y&i! zE>=r&+zs*9#749(YHVxD^|W{AyLyY=)wP1@npkWaPX!9YK-%oYAVs7W%><;7^zBTUWppj8oD(s&?P)|b+@->jr)`je~-@Bpk>{Ujx7Asj=kO>CyrJ|u!Fr^i(%@bIBHz4s)l z_#DYn>Y!(3c-5n&;@Du+yTgT=chVDl5I|>F;peCmPMkVz`bj6xIOWvL#qHS~R`z3a zs={$}yqK@vtdNL*U{J4j21eyBmV@j&jYnZxa%i=oxq*#E7Ya26fRO2+1mfTO-uXH; zfDg=cx3BEXtjM)>W_o&a-D}!%9l6e2p|{6ikU|;pVbq2)5}_#JN=DTuCkq{A)mth} z%F>lu=~`LJ;+F{Vm@MrI(hgCjy(F%iSvAxP6*PC#o4e@E5W}16>CIZhn@hx-YBnn! ztrc$)(%|$rCz}Typ)2n)zybxgM!kc{34Oftp26GVoj)w%!-#u~NFiLREB(~Suadjw zJcn$wUkQ$@msS}o7G2~T)j@7mF5Kx?Ib7iraw43I(OVvam-4VXOT`9f(h{7lk#keDD)lx-@wL>dlEpV2iLe>I?K&}OD_2<4;+2_?z z4>gY*=Yh>erz-v|T#>b=Rg67pXz{Ud#j4U4W1lrtd^B7!VW@b%q2f=&6*&daS(P5& z0Lh^m@u(Dfl=$LIWJ=0BXb?^c5Xvz+W|btA8#V*B7JoWWna9vLEDI*Kc)^U`$NkiV znhajn1Lq@XByX}owwyi0Ctw4D$P)Nq^WqsQH`@{ zj+y$KU|OgT8_;pCtm1)8O4&`mcT%$^OAcdH2O$sHzSfJN$xE7%zayz?CLfB01hFrW z&sZVloMRS2!wy7Z8((eXHO>dNoO!LXcR$W2waP&)yR@U2El)58>H?N9n*v zTY>rfTRC6_L6)I1u+qGWXHvt(Oloo8#XapSi^UE@-Wtk=;aO-Jau%VN_(f_P#u8!j zGt}pzWbSiXhe-L}I)WPYoEs&tUaV2wrXk!68(iv5T@0y&@;)q=Uac~`D1qP_57i%j zZs4g;Aej?Wjs25mS!nVv^>TXx(=`O2T5%Ze1XFJiQt`|JIC(e#sW>MxEwfuX-uw4tBhqX$=w>ODCtu_bj<`kBP51+Hhi&|5;yns zV4{`JP*t!7Z+}62%p`h*a45D>gJ0RFD#wk2D?%z78%4%-lDRTO6>N{1j}J|Nz3Ma9 z(n3U?XM2V|9TA*l(0g6>tZ?);QN`M8S*Gle#vae)!roo2gEyP71A7^*W3 zHb%GRx|iqLdj%ssD>GfWZq=Y~_$Lc#3rrf2X(E6KDb{uqqNf4DSNuHSHV8nMp#|EJ zONza@&gRaGi`l$b^iZ-S4peI@YoTYAH^)bZJSNaah0u68jR&?|)dRb3aGLHe^mKO+ zbf@~(QdpJ4l1(;Q5ItrcvOx(i0)B=j3yX5SecgqmbSlh>cq=q~Os(n>NwU1p66+5< z8DY=#4Si;EsN8AipktU##y&5XS(O0y(`uNek=am<2Car^{x~&MqgK}7eV|ZWQtD;X z3gubsgrO~dOOcrVTQywG6AmH(NP`9*j|Dw+xHAI6Sw+I3==YQVq&}t6HDnzszQ%A|C35khvRayZ3Yp*PU*KYX(kNs!;*79WJ-)odXK8eq28AemBU?-8-A0x zFm^)oVHbEl>=5{{1)0^#jWuSvGVS@^H8Ycivzl0=zMp~|YT@59tCb65(J2=;xl!?` z1*y_RRZJ9w3yUdw@ziprKb9tom*eQIlx54Tl8q+){cOwoIhOa0miJBKJxiArN_~VP zSs$8o=XlZ`Ptkp0uD!e1p6M?1by9Fpfk1T-=BH#hX)hJRFKYp{bh6dY$(%z1R3j6h zTcEyC&8xeF8E3^1=tQ8R)_gV6<38m2r_($+9UvlUh_wMyp^48C zIwY@I*}$ogjBz9OVl!}Lso5HGNqBR0jdneI#5x{8x=s?2k1}qmd&j zFSzJ$%FL-6eu9>bd$~Hq(}`LVNQ`pwCl!yV{7F5&k1&oDNQ5l&lmRSRy+76R9-Bx0 zrYgpvzFEtoIk@noQkBwi4jYAl_Y(^O&2!skFKV2Dz%08t7+=)%ZDpA7%NWGD%Q1TIx^XOL2vVjr;SxZ zy~Maf90=9?f~rY!DI@K=c4aIyxGqABl^0*&G_^7X0?||-yVRS(F*r=9RF!qLvX^WY zHN>jU>Ezd-#?!=jh%c$1gkJ}W;M6J-khVp+Y_{0dlW&{d-kV>QQ>Kav{$V6yZMwZ4 zJCr3is~evwDAd`T8@ai1#HN?nfL# zgx)?FiyWhuM2@b}=%J%KHMc_+qXPl{+(ipp7S0=3cK?L^PkcrjJhd%_LZ&x|eh0kG zq|d=jc5t>R#9tE|S0a?Qbn|)5>BUOCWLE=AkA42MgcWM5%ncN-+z_~uo&zpdPJ~%E zC`bDU3>0d{u#JLoIc4ERRv?qcLCo%+Qt=6LdCB~Cqrdp1j9?7*L-x5TstiXWkWK(ljbKyLrIfa&S%s0ur>Lei;c%OXe#ZyQETp;a?Kqf=Fq(>F|D|) zkn2tsm(v5yJ_HY<;XIbyWwX~Cnk{v;F;6gtcf1whouH%yu9l}+)Engo0>5dp%ZkJ} zV}p^a@^iI1ut!KR-X@pNF(M!nxwu{@=W_BLNbzna4pvkIWyG#`%&cOCr*h4 z9EDE7ODKnouP_2Bh(^IF5Ga%~<(kL@(HT;vO5a&@ zDXJ~pall4VU3Oi)#p6l5RG?Q6?uNSdh+JUM9F=&OqZO(@)Pov%1c8O6dXC?u%0|VX z`i)Ku4K9P}&_Qn1jw8CR8l>N-K@Gn>CK;Mdd3!ZP2MZjjJn40+`JfQlM#Ml@Z^2wW z2bz$)eNq5~d;&;OufYpY!MQK(&~io+i1l&+w|HClW5^_rSKXuE%4cX2#o_M1VC{=$ z(a?BZg2N^KgtGx7qZbzoE6!d%yBoU-Im-JL8t5t88i0bkF_gQ3#!1GHpl9-MisDDT z3LHHN?=Pqp$&MzfC$ep&?tNVC^A{vUF%ZSp1s}5vABA#yj2i{8ZZvWdN1PB{?;RN3KAbtS-HH=$|WaLmtl>j*y+m_ z%Z1*T8v_oEyIsJ=2-KAJ#A{Zr#bp=eWh;j=`zxumC+@HUf6EF?5K6)>N_)TxDS72D z*CemM++pSQ+m66%wXycgPg{Y-MLp%Es|g|SCEtLS@Sqiv%&ab(>s=YLGo+2dBTOa- z{2dqcDsdc+prnX5dMob(vi)5*;Mfoy_&6)a-*W_(r)nj~&+r-Va_($hB;YL@tQ1+7ezJ&BR-p0^NRh zH8yjuVZA|^s)JHe@FXd=h^;IoJl^(o7h$Dt_8EpXmM-Bpu6%dcg% zoO$oTA7cGb4J60(gb!=fHAOPjjS1F67bA%d$|5M1Dni7n2s?mOB#s(Ms%^4J+({&h zw#p(Q1X;9276tA~+ANC%U-FuwO|nSvC5tx7BEgp|+8~PrU$W>?StR(9MUTiL!Ivyr zFN*|UvS^(w;=7Wh6d$0u!n=DWll<@$kRK@!K!G8p2w0j#fW{33EL$P~!v+GDG!dYa z1_G8l5kN2o0@eZ%K$r#s)(H_n0R{rr5D`FW1_IU>5kS!f0@fZ8z&H#9tV<$*K^X{G zvqYf03s1q6s9DcMfY4+>V679uP9p)^01;q-7!cSZh(Pzo%CPhskI+*dEb@FRJ0n$U zy75RCp0Z#a72+|Vs!|iGE^#$fbX3UHfT~JOsJfcenAB0B2m`7rHKFRdg}qXJ9TnO$ zpsG?6s%{X<%jl?3xdBy`noxBsQtnJgg`F5sRjCP8H$7N{K>~Y>sH)V2T4Jv%a>$Uz zcWJ>=q`zAybAr2huOzlmuJM#us1XOYA#v7+aB3w^iA@@DU=0%I5e?_vy+4sSC01y} zf&L}VqamDC5~sxOj5yG^#MuzSIbPzFSeg+BI+i#ab)5HJk~k%{WyFD2CC;W0&Rr6x z#F~saupEiAIfQeb#L?}?x05ZB{vrAMPPUhKH_Cdtz4&&4a^ghUnW}f2tcMl?4%oK? zlv6!rSE}AJSx>hIU+*ZVdXI$oL>@-|T-U#^XOvStWjC_D{vEQOu5Vwjs@?{@z5a(} zJzc-P9)U;gDZ5bZt(Nt4efoL>9@SHJpz6(%^*sGaJ>M_sA%Ag<@1(Qju6l5X+0$L9 z4rEVt#u(~sQ+f;4d4%gsf8J2X(^;qvWG>p7{(zy5r>{^Q$eZe{Hq`NS6{-VSQ=KM5 z9Zyf8I*>Ef8D*&B=_piZGuN56%}~eF4{7lssU2v5p7C4G7a(8xKS)jf53-Q|Ll5Qu zz_?%6FcY=tt(4%T00FvON^o+30Fo#rm=Pd= zfJzBY2@pVTk^qYC-~DJ%WU(_nksTBe89ofdnb|4H0{@3pcfSs^M(LNLIwCcBpSz`A z9-yTIp8Y*U6g>9_FYFEJJ#SB{?Xf*F7x-@($+ZKAF_BmMUl&tj=sAJy<5UyU*k2s^ zS_JY~-S{l9M&D15Z0de`eqqO37mnO7cPiQ9q2&a`7*XQO>RaVVCm|%V-dPeH32CPzwFz%w8b!4y1V>qw))@0v}?c>9mx?!lIY>iE^aLTCtq1r36IZe zdB>X)87Xg+Ql8w7nC_`>LTh*NV%#5<%&pFJ=Eas9o%ZPJF5>gf-Zf&p{N*-fX&M)smvG^%Q%&aa@X%Jan{3DEhK|?@H3P{sjU1TmK6J9?QWYtev1yqx6lu z&uaK%loK0x*kfc6n|yFWxx1AmH=pS5Pqw_zdpE)G;D@v@#6}7ach=mtmcnuzpDOZK zcN~qTDNTFMm{><7BJPeDs5XTvoOw_k1sxro^!@1UrupYCUb3KhA@9DHZ4PXb6GsRo zv)v&~yKWu*f45>`F@1}I!0( z+@RMZ>MC0V&SiV4fX!vUc0oBj)d}jp8nv|IUW=UzIDcvt#zMneeV!i7XJI-#)ICa@ zDpVijxbpy{bH(@;&h>@=@c_k&|MMlAvUJk`vGqKKWBRZEiE$HE2bhdXuo%GZeR5*` zL^7?z>Af<1WrnZ>?hT=F@4>HlYP$%{jOQa=YV;gNibg&O4%>Y$;@+pN4?*|`E}Pnx zZcEQzyo6P{xbdvB&rY|UH+vDWpv0kd7cQN+yo5@{FcM8DF1^8`S=|{#!(os)htZ?` zgPT|P=EPTo$=MfQ($}5o#Sl!+?&|8u=dy^7BZB&q&UHisIwQZn(*>oxw=XCh<6PXA z&EkeBq!z{=QBTfRJ)z%_yHvl|7b;f+|1j_!hE-!;yy7o|y%yDs^$)D5luopT31djk?LlW>i$w9NtTE>zB*V z*T28Ku>`a(e%jO4VMc8g$ZRkt%XP5$(HTFSj5mY{_C0fbCw-m|no2-BFX! zp~oc)tZ$ix@F-MS$V)G3Y&Cgo9cpB&n{L|>$q-4DN05j01uDcyp+E(lQOCEDYIx)K zc`CvDEy(Wg*ZFe@LLeW26QP04MsY=oyx3_X(O|rmhQl}}VQf3}4*rWpuWHb{A@W0r z4OANNEilA$`5Y+<0~HksepB>NXykJ~;s-=3he+u3=XZz$9SAz)>4w%5loG8PDtvEl zKEMF_T5_^deYz#$9*ztfK3wVFwGCz%Y&~2oLig!aGyL zGkzS`|Hisf25a650b)uB)~fMWb8iSPa4V%j!r0C>9-W3ckqJ-p zG!T-P;XB3t*Pk))GbY53N@Y&dx>x%3V*l$mm7-PuB7`OyVM}ry%R4fioh6uO8ZfU4VLm4@Lt1VscII;(dZ%~3VZb{+g!i(<3mNg^ z;>uh;1b25ST;h)*IQa+vVj&sM$*jzD_Jx$P^K1j)r$T^-nq@erBh!BAioWodwEeHX zW5Apl!dxsdLrgZV#1~5K`nj9_SO2vXF#d7~@IDFHq$#>#K|Y)9$TjA>+dIOjOAM&D zhfw98-ww-iaWS1=u`(pfSNUov&BMg!gaFl|XlM-1=@59KuYCJo;c%rP#&(4eab1kb zN1v6;;Ol7Jd|t_vb~$!;2=CWsyv4AdjQ;&{|0|;nc&#BkHSs+~Q;ab*zWkVur$Rb< zp}s3WQk9`d22nNZ;N|089Lr_=S4jfmF~$Gisp@KhkwiCDQiF=#OX_%**g-Jls81PF zVG2$p1*sCZXdSDe?2ri1IHmD03`8EJ3xR$drpikDA^)}<5kU3CL-|BOB-bJfqED-l ze=aIshKq|k7r_K5VQpzbD;s&i2Z(sMAda8j2WDWD%ILO@+P1~Gk)v1UrA+RxqEn#5 z<@h8wtYwG{(5y5ng(OLKd=N2o%+Qyc&`o@f)B@y9&zuPgvB||?YV%GlGxk^T&%n(l zXD^zWROvUVVP^8&LIw-N$=+hJJJ(a}Se29CBBFpo)5XQ&r7cY}IdO(1`ErP>-6Kec zJ{#=+{enP$^`2eDZ~PtsC}0U>P<#7ddO>Mjv?FgyFj#_TaheV2nJCMWzdsb2JKH4G z1?XY)@yQa=b3E0xi|w);1>u*(A9Wbo-qFLW_6i@|$Uj*zWNdI^a|SL|DWhFThP2Bg zk2#VHzDb_)34xBqoTbgT$^k7hz|6kbn`RHIyqVIm`9gbJ2ejMQl|18&B(=JvNWYZM zkK*Z^N%^CX#%glm>^{D~Mi_`34^WLX5izu%_4c+%O3D+JT6@2kTSfgxg1K2V9RCC_ zp5uXCQsC7+{OZ>5D^yD?YsJse%>{(Qo}T1F5o>yqEx1lTffZiioNhDJs-9Qu$Xe>% zq18j%#1PQ@sS0}vD%algCeFyAstahTL0mVN>F7A84?Dh=mcOXA41s`tSZm{1NJrX> z-NNq6_4iIg?crRz5w%+v+5~pD0bsNb06S~XXGAhsjtez@_}n1(p`JS5TFi?-g;Kuy zy#^kJv^F+j?{cNB?)`?kbqk7FOzkeUH2Z*|>d*znLQijZvCr1-L#E2Djmui+6bshM z>kO5lb8_|I-NN^JL+v5WtMVPKke8+I4ny6cqAs;?M6xf3(F=v!=O_>$LTDtD$0TV_$bq&Suct3^f~C8=DK5 zNVwRgN+^PMS=ZV)uMgL1S;UMms0Sd>*HcBZX`4+VO$k(oGp4jM7raM6etPb?c}l+3 zWxlFLQLDi#JbDdvnXjs`MypYz;HTG6m-)&XRezQ>c;jx3UW0;{pbP~sDqqX_|Gcl# z6Cwtv0wGGH;mc#-(LtjJB8}`kdV=&pRvK1jQac+OrU;r>5DBmtMM(VS0Da7buLcYzw&RC637!T-(wzn0H}eOf@FsZAPD^|J6g|OP;I-$PG>Ql430^^P5pX~n(M|NU zmAPOyqrK-Z$G0&T{JXVDXevFHT54DJ0<^t6lK`vFHI;b{YcjOd68hCzy^7wHKB z5EOpM(?}krr#(cX9Ee8n6?*C?f}oqwi1-K&f@OG)DJF+B?9kJI+Ypo(c0q@y;qg(G zo4L_*T3H86G6P1CrQ-g&`T(JihNW@doMg0`b6RaUOrjx7q9;ZedQR&i1T!0oPZmU~ zd6u5UK%kkwyb)!L!WT1>AK!vKmjP6|x_+Q~=qICW3}K(lHK>K_X$nM_{EV23!> ztl@+JGov@@O4qRu6Qytpg2TW!%aidaH!gPgZSajF@tbjbsanezk}FJWTTv`#0lG1C zym{et98koa5M7ze#Ohg{{4X)hgz~Bz?!lFO2H~_3JPpT?q4^UZCA!y_r#u2T zh2$l+(L=5m(83I6Po}tewA_Iet3GDJSv+sw?cD&fnkx38!Z?w7W!jNcB=enJ#cpx+ zKOMTFK7c1kMQk?W_kPKbim6+&i>5D0To|h6&G!e%h9t8zM>$?js>!0_s}f1{@AOTZ zeg(j~1lg}C;`F7JQITkJA(orK$FTvHdy+XUuI9xm(DGt;vN6-ymC3ItB*jbzL-2U& zMUaCt(vky`K>L(fsDZg?V2aiNE?TdkiTGHl9U&r9htIr-c)UZ67rFYj;_u8??8=g^ zUjz>4;qO0Skv^OBMbJWKF*8ttQw-6CLcJA!QuqS282cAqy2N0>!!hxRe2_qm4fd;R zCB69SPJYxHQ@5AKc-0t6CP*AX1|&rk4B0?LQ4Nq?9YSoNh<*cJEJ}{R0J^U0WM4T#SMdN>)4#`dR|yTLx*itE^j!3MI=3ld|!w{@U|O?1mtn( zn1+yH{QLAY6boS==M-bR0%0=kCtY$xFld;5BLRe%-?{nML>I3VhW|Jb%(F6XW)nA1 za78dTy-hGM@ycMnM=*Tt5zfOWuH=yyNzgYf*R-hq)Wi$a1U`nXjMJgaX@xL1{w&a8 zVG@;e_{Ki1!wG4&*H9DqemL>P3e5IKJ~UQGVD$j|SOu!Nf&cm{g9%k!T?rWWQ!qRk z4Cg5;13QtxJl|iDLayH~{NS*QLz|p9I3oN>%`Y@{NiUN)gc$ILz{(0lbA5XNOqf?i zVEY5$CjO)+(tx}Uf3PyKwh{pTV|jz4>FegPY{1j!Di{~n!Mls#02sO75=l1K{*Yi8 zY#7p#Cs^%>L4i1>B9ioFah8XSQsAHx^^Dz zB|5rhEWxmj4z%e=xnJx9!#?C(wL%@Oy*&U{sgBmpWv~i`do};vI}u+h5$@IN1HzqZ z6RvcYu`3OKo`L^JgZ5LTodNi#kQuMz#VnPwQ;r*ZJW*Xe_mI;#zutl>A`QeVstb9? zw()4BJ?!dRLVjJIFRbo1`Stir0vQ~?e$^)eVE9I*qJe)Ef6u_2!Sy7rsvzQA`4^TI z{S-D)5!k(&B$e0ONZ^Cx^{$lpFUzw+NnWv=U@G-`SA3gbDov)ZSRRm5rFy;MK$Z~w ztW>Wb+ob7Lc}gB3gX1YbmS;|x>k9SyG0w?2?+}u#B=^0X=YMRzLXs7MT}zS_tM-(I z$km>6y_tBDX5uqL&wK&>XsV0pH5^+qAy*anu@;Zv+4^=hXQyg#oP2zy-aE`c8F4Q1 z^26JI`;ym{h|3RHNx-og5(FoiUh?E0*%LGHYj{}$Js^(9$+yVc#6m^&MWJ)sym5jB zXauEC#tHuL(1{gZRZ?rz7`WQ15--72{eV^_O15`UORT}_SQmJ9@@|9dG|lcF%EsEs#v2Cl36{C=r|n?NDo~v*&LI6x4lYL zhDgifZ?DieZ0Z{_x?mSNdQQGSq-L)x5TT0SD{ z*xUb+eyReOB^T8*^emjh*I8_l1i$J>%!$6vI56iQ>0>tbh4VSwgva>`=A3?tkX4C} z`gr}vWH?40UHC9Hi;PJ*6I!J#C;1Dnr7FJUng20VI<`{&IrfD3SG-XZ>hlU7B0PLB zI$`IuyEU}6aVbvpXXPK^gSp_%sa51N`Jzd6c@hnMj4ugxO7vFE_YNH3V-ofL zVDVmC0yUnpgguEUG2CEfC2k33EZous4O-_9qNic|0Pta6>XB<6F$Um2v>kFV;eBt( z!G~|5Hr2;F3{bZ(9JCOCx*e1O_|LL=94KA5$WUp9Je;b?JZk4f*qGpyIc`!Q{;r%d zi0CO)QLEKprt}(XLp6qJHCPUMjfJ5a>XOwYwK#;jsMo+B)1`NzzkjYeN;P2WY|GS- z;Nk3kaiEy~i9@TkiTwymd^s=wfRQ`_p5Sm$`XVMi`mI{jdLlK11SBA^@n8)vm(B~l z47U+C-Y|u3Y6`*_rqSi4EDR${r%>1CqrIWDhg+E58ETaXjs`)!Bq(&Xn@HrP7K9FJ zB?!f&k|m#|f~ydSZFCrF9{#jhx7_Ju?;>_fNiYanEEp+aFM^|ijR}z@3=4fsBbp{2 zm{dt)n>0Q#p?!scDLQn-`JfRDA3O2sKwPv=t&W+;pzpmP(+ zkpYb5Hlr{Mf?)klZUB}M7z&eVD3oyF5s}cqL|ABlFKZj}NfMOjLq*d8`%u~`XBDIp z0HEgo4{M7*iI%DsEe&ZWY@2GBx>=jEFPUbrtB@}-k-Sg7r1rsoHtij#5jy-!Aw zxZ$78C^!zZ7_*K*Wd8faf#oJAABqDf|Kn&kcHcj&b}2X7j@d_b;GdX->_>UUR>~_5 z=4sgG7*APvg&xbU;Vj7u_LL162)q=zBwdh8Ux!nxAmh(F_tz)na@{D8hE3No-h&Mwb=tE(=$AYdItQbs>aMDm7x+zXm@q>PuI%ZLAJ*l_CF0opW%!h lkA$$1L^V!K2!0#-FrD5b!zRehG9lecSu?|L;}kU+`(ILhggF2J literal 0 HcmV?d00001 diff --git a/_module/ncs/prc_pwonspawn.ncs b/_module/ncs/prc_pwonspawn.ncs index 5273c999b21f1c8230198144db2b9bbef6511c69..cfccd91ee36405ef1276afae7c68bb52289d07ec 100644 GIT binary patch delta 485 zcmeBN&h&6Dldzw2utJ!jo`DksL*GL=1|Z;=SfQ$8sUrYl0|ARHh!kUH{Qv*|9|jh% zk`D?DEG!^lRt5%krimZ#3A3`WGH?XDhQ#|h`nrPEewm!lBtDssiEr{ZM(N4sOuUS5 zz#=hBLX%yXBqp~pi7`K5V3{mnA)O-+GV3}MGZQmd>m7(S?nR6sOMfu1NHc&eXJUoP zLM(u&@)iKA`hZXcRrduVU+al#%H#_yIzVSLFsMvsWEGaa!2onQvmFzPkHGdl*sRYw z&y{h<oD-(h3@Bn`53*e?KjH?cs~o zJ4~^Fo{XBiRATOaQM!2c3eD*fm%uviNrdQD+s(djuO1JA0x@L zLL?F2Ab=!42|St^KR8pwpUjx|0B4SzBj~wOX30mSziuC#<=J*i3oTWMEQ>I}%nbiY zfu}Sa3HZX3V_G!qpVV3vXHW}9N7O-^An5utJNSwFJr?eu1$2$SrX@T?_wxI+BG=q| zuFvaqU*@lVLq!OA3Bltlm$?@bG-+gvPDF(+m&mMP~0DldV{eLh@uA66!N}8i>pn9HPcl3 zJHWS~f2Gi1>j<0R7FS`c7nB7X0s~vkioF{0^%t z6N7fd3J+pM$IxPYzvY^{jIJzxVe_52OITGH;g`4e^LdxG>T$A8Cw^f56tZU~gy{ii zjDK{U$}|2p2d7$YJ8b5?ZWBtnHc7tFC6|O`d>JG8xJS#zHbHhdZGolh3wBh289`yW zts!8?L8*adfx$GQ$*IY&5^X056y?|XfTv^#IBL(TF;{SSM2*I< zao!u@9XACW8V$)3mTbvWcRiEm_^La?qz&%vYGKmC;&fLzWArwE)P0gsC;!%6CziG* zqaCdS>~*UXYDfthbDAC_Vale@Olq0`gDMW|sdE{Vsbsc;l}cM#!$}g`y@QqPXe`@! zlI1J(RI%Ud{J5uGROk>`LVc`u8!CK>QM!27bN=*S DaB1Zu diff --git a/_module/ncs/x2_def_spawn.ncs b/_module/ncs/x2_def_spawn.ncs index 9dc757ec5e83e2eab66c5e411bb166f7ea2c05df..cddc870cc014e1fb41edde771187944f9dca4662 100644 GIT binary patch delta 396 zcmZ3yo~dIw6R)3hutJ!jo`Dks!{m;Qyh1EYy?-YwvP1~8vam961iOaB`#Ji$GBf`F z|NqP6g)FL*7qCckum|`Dhq!r0Og_k>FqxB;pYa7yN_?^bs~GbG2A0Ws%unZ5__KI$PQ*5Xn@srC=XDXV`B*x<6E$?>8>4~%&m1wP2 z+Y!&XPkiR>LXy31E|a$KSSp&iJ{B?K+k(qMX_IjAn7K<356l)biMd&=kj+o&3-j8D z5-sT3e6BE~OfM9&dTy?Oz*_{8=_2C}LI`cG&=0AxZ;-3(BT+&ja3u@!%QqW zJYwUjKd@?Abn!Q~PN8wjLn|<@i%GRljHsP$c4`@3&eND!Qr)xy*rjzOb>Rrs%|R#z zk7G1jxxXAj5#Ty9@X>*62zR5GV2^gxTohNpm^2wWx*BWHO;~2B!3tG!Jn6~Z7<)fTn9lC$@*u`Y(Nerq@CH~b$^CAdlp%ichx zxg2z>A>|jYjd9e6NNEk`!~q=B!ii*n{jG}Gj z|9_c$S6p@S9dYT&vJ$+LnIxnqyGrmgz5t4fPtK7LV}8KEGC43xdh&)vtisosn3nUA-C}4-BQ}3DzZSu46)q-+g3- zP1ZOuGRdcdy@3cJFA9$u*V(hjueLVbVncN|%MRk4j84TSE{;bfS}YcK#IWKK12V9NlYOH8gKgwWa=y-+ESd<9~K@C^BW_nL?$zp)Kfr;9H0wC zUZ*abI=RsuupLXG^1+#llY)` zv-dIwi$P~S$}cH*`C(Jyeca`@0jyzcT+=@XX{#_!b+A~mG@NM-@RvLHoyZm~OjnKP zP!qz5-%6n6Ob5(MI#4a#Hm)0DJJw3`tJAGdqRt!|9AYAP$|ag&Uf)a8qw_y;b_$bQ zCRzuhy0{V>JZ6_I!@n-^<6*tGy9tGluzO^`W24{8+PZ}_%Yi3%x!CyC^=4MyI zs1EXi%<@2=8phCc5**$>H51g}Ga^8O)w{6=ZHAOf&Bi-{@PIu5iuAi;UG-#PqwA8U zk0obrYZ={4@ZCE{z8Xxl@oH*r!~3xHLx9dwpM>(cEES7lFz#aVvKV%I#BBT;llH{> z_&Fx6yiT++M(>Lg>IFte#Z|T2klI;MYB~baFKbI$iYGHxfJ^y;Hri{231VP}>A#_} z@Qf`iJF>j89CWcHWd~zsdQX7o>5RMu32da<#*%i;#p__nz8YCe<`eD6}%3r{; OyR5AX`BuNF`N&_%g4DJE diff --git a/_module/ncs/zep_rust_spawn.ncs b/_module/ncs/zep_rust_spawn.ncs index 577de79a28f37e4542d613c0a7c5371aa1067aae..3610b057611abf007531bd1323eb31385e2c6d71 100644 GIT binary patch delta 445 zcmaEOmHXIPZeBm7DBxZ+ed2Q_Q9&RVVmL(DTVVR0NG3U^ zTF=ReoWj%hMlorNs>p&&kOeDy09Aft`rjxfNyZ1;#iN<#xpM4a0J@gJm}&AtP0{I> z7BI;wZGf0(K2<~+D8;BCqRhk!HUTQ(A~9WXA(Jg9Or05st2Q~#mt9Ur0B9Wx5W65* zd;n_k4zR`22f$K1(hR_GIRGaAC@?Uwu`)2JOitjGnSN~%lL8ZS-E_XiOcK)t7BfXL zF};|cvzW=8iK%=0(#1?tOiT><(+@6XvSwm1n*MJolg{KHtbEgbmNSWP{N({V^u^>% Sah2&k%b7&Cv#wye;{*W4u8QXX delta 1506 zcmbVMO-NKx6u$SoH)f0y*o>B;y+*Si!cl~zk`a}$3Dk{~^Q6FRdfCJ{iu06OP2j?H zy11>Hk)c&Ch1p27DTrv-j|-uM79}nWS{Mn_xo6&+5glb{b>ZG~&i9?~eCNLX;9URY ztQ_bW)P`D{Te=x+tUs-M13%IW0kwVB$>*G$XPg|ChD22gT;gj89OdPM{@}r~}gXWdF`*6Yd=`clJE;qK%tverqcT>&KprC z#5~3D+yRIEOea>8Vf~-QdmZW%PvTsPnvX`JM|z^jpg`T#fR~Eq)m#mB1*;poa85u6 zt1TkO;l)O>h3<0NApUOYHkoR{Vt>`S6@;*Sn3?(=onF{>lGIBz;X3g0lC$cJ&#`+;N$a846wi{-BpxN9=BOP!FYhk91G@lU zTY$?1m{_5w3YyJIZbF*GF6#&{KTP_F8%~2j)edjiN2Y0H)Vuwfb5MmxT7b14o=rKV zGP+!;lG8@>pgJv_;J3xG6x7I-X}WHhfymecBW}{vf{!N;TpOflPou;%nupy08t5YT zD8ye=m26gY;^u=oFK(t_3X~o3E(PtNBr~uGwE%op)TiMZ@Lq8%4VNU_#-eOv-N?Sr zm@%SS#P)E(Vv=*S<){4O|3|3=uCi6jcCA*N4hdPHvPCwNKfwW1N-I;nuTIYGb7}Cv k-)-?S4W0K8;VhCO2Be6!BE|o~T>~vGix4v#X;|z22dUK7>Hq)$ diff --git a/_module/nss/en3_death.nss b/_module/nss/en3_death.nss index ece1a6d2..03b8eb9c 100644 --- a/_module/nss/en3_death.nss +++ b/_module/nss/en3_death.nss @@ -1,10 +1,24 @@ #include "prc_inc_racial" #include "utl_i_sqluuid" #include "utl_i_sqlocals" +#include "nw_i0_plot" void GetKiller(); -void Raise(object oPlayer) +void ClearAllFactionMembers(object oMember, object oPlayer) +{ +// AssignCommand(oMember, SpeakString("here")); + AdjustReputation(oPlayer, oMember, 100); + SetLocalInt(oPlayer, "NW_G_Playerhasbeenbad", 10); // * Player bad + object oClear = GetFirstFactionMember(oMember, FALSE); + while (GetIsObjectValid(oClear) == TRUE) + { + ClearPersonalReputation(oPlayer, oClear); + oClear = GetNextFactionMember(oMember, FALSE); + } +} + +/* void EN4_Raise(object oPlayer) { effect eVisual = EffectVisualEffect(VFX_IMP_RESTORATION); @@ -37,6 +51,7 @@ void Raise(object oPlayer) SignalEvent(oPlayer, EventSpellCastAt(OBJECT_SELF, SPELL_RESTORATION, FALSE)); ApplyEffectToObject(DURATION_TYPE_INSTANT, eVisual, oPlayer); } + */ void main() { @@ -81,8 +96,25 @@ if (SQLocalsUUID_GetInt(oPlayer,"PCHardcore") == 0 && SQLocalsUUID_GetInt(oPlaye { SQLocalsUUID_SetInt(oPlayer, "NW_G_Playerhasbeenbad", 10); // * Player bad SetStandardFactionReputation(STANDARD_FACTION_DEFENDER, 80, oPlayer); } + + //:: Clears bad rep with Neutral faction. + ClearAllFactionMembers(GetObjectByTag("en4_evilstarter"), oPlayer); + + //:: Hopefully stops the melee in Hightop if a player respawns after attacking Defenders or Citizens. + object oGuard = GetObjectByTag("en4_cityguard4"); + object oCitizen = GetObjectByTag("en4_wcitizen"); + object oMerchant = GetObjectByTag("en4_merchant6"); + + AdjustFactionReputation(oGuard, oCitizen, 100); + AdjustFactionReputation(oCitizen, oGuard, 100); + + AdjustFactionReputation(oMerchant, oCitizen, 100); + AdjustFactionReputation(oCitizen, oMerchant, 100); + + AdjustFactionReputation(oGuard, oMerchant, 100); + AdjustFactionReputation(oMerchant, oGuard, 100); -DelayCommand(2.0, PopUpDeathGUIPanel(oPlayer,TRUE, TRUE,0,"Death has taken you.")); + DelayCommand(2.0, PopUpDeathGUIPanel(oPlayer,TRUE, TRUE,0,"You are dead.")); } void GetKiller() diff --git a/_module/nss/en3_respawn2.nss b/_module/nss/en3_respawn2.nss index df65d229..bf3ec2f7 100644 --- a/_module/nss/en3_respawn2.nss +++ b/_module/nss/en3_respawn2.nss @@ -1,29 +1,46 @@ void main() { - object oPC = GetEnteringObject(); + object oPC; + object oSpawnPoint; + string sDestTag; - if (GetIsPC(oPC)) - { - string sDestTag = GetLocalString(oPC, "Respawn"); - if (sDestTag == "") - { - sDestTag = "en3_respawning"; - } + oPC = GetEnteringObject(); - object oSpawnPoint = GetObjectByTag(sDestTag); + //SendMessageToPC(oPC,"en3_respawn2 >> entering."); + + if (GetIsPC(oPC)) + { + //SendMessageToPC(oPC,"en3_respawn2 >> PC found."); + + sDestTag = GetLocalString(oPC,"Respawn"); + + if (sDestTag == "") + { + //SendMessageToPC(oPC,"en3_respawn2 >> Destination variable was unset, setting."); + SetLocalString(oPC, "Respawn", "EN4_Respawn"); + } + + //SendMessageToPC(oPC,"en3_respawn2 >> Destination tag is: "+sDestTag+"."); + + oSpawnPoint = GetWaypointByTag(sDestTag); + if (GetIsObjectValid(oSpawnPoint)) { - AssignCommand(oPC, JumpToLocation(GetLocation(oSpawnPoint))); + //SendMessageToPC(oPC,"en3_respawn2 >> Destination is valid, jumping."); + // Teleport the PC. + AssignCommand(oPC, ClearAllActions()); + DelayCommand(0.3f,AssignCommand(oPC,JumpToObject(oSpawnPoint))); } else { // optional debug FloatingTextStringOnCreature("Invalid spawn point: " + sDestTag, oPC); - } - } + } + } } + /* void main() { object oPC; diff --git a/_module/nss/mod_enter.nss b/_module/nss/mod_enter.nss index 25ba2c97..d6a09209 100644 --- a/_module/nss/mod_enter.nss +++ b/_module/nss/mod_enter.nss @@ -53,31 +53,31 @@ void main() { //SQLocalsUUID_SetInt(oPC,"OverallQuest",132); - SQLocals_SetInt(GetModule(),"ClientEnter",1); + SetLocalInt(GetModule(),"ClientEnter",1); - DelayCommand(1.0f,SQLocals_SetInt(GetModule(),"ClientEnter",0)); + DelayCommand(1.0f,SetLocalInt(GetModule(),"ClientEnter",0)); - if (SQLocals_GetInt(GetModule(),"ModuleStart") == 0) + if (GetLocalInt(GetModule(),"ModuleStart") == 0) SetupModule(); - if (SQLocals_GetInt(GetModule(),"DynamicMerchant") == 0) + if (GetLocalInt(GetModule(),"DynamicMerchant") == 0) { SetupDynamicMerchant(); - SQLocals_SetInt(GetModule(),"DynamicMerchant",1); + SetLocalInt(GetModule(),"DynamicMerchant",1); SQLocalsUUID_SetInt(oPC,"DynamicMerchant",1); } else { - if (SQLocalsUUID_GetInt(oPC,"DynamicMerchant") == 0) + if (GetLocalInt(oPC,"DynamicMerchant") == 0) { AddToDynamicMerchant(); SQLocalsUUID_SetInt(oPC,"DynamicMerchant",1); } } - if (SQLocalsUUID_GetInt(oPC,"ModStart") == 0) + if (GetLocalInt(oPC,"ModStart") == 0) { - SQLocalsUUID_SetInt(oPC,"ModStart",1); - SQLocalsUUID_SetInt(oPC,"Entering",1); + SetLocalInt(oPC,"ModStart",1); + SetLocalInt(oPC,"Entering",1); if (iAnimal >= 1) { @@ -103,6 +103,7 @@ void main() SendMessageToPC(oPC,"Starting New Campaign..."); SetLocalString(oPC,"Respawn","EN4_Respawn"); + SendMessageToPC(oPC,"EN4_Respawn is set on the 'Respawn' string var."); if (GetXP(oPC) == 0) { @@ -144,10 +145,10 @@ void main() } } - if (SQLocalsUUID_GetInt(GetModule(),"ModStarted") == 0) + if (GetLocalInt(GetModule(),"ModStarted") == 0) { SetupRandomNPCs(); - SQLocalsUUID_SetInt(GetModule(),"ModStarted",1); + SetLocalInt(GetModule(),"ModStarted",1); } } @@ -187,7 +188,7 @@ void SetupCharacter(object oPC) oItem = CreateItemOnObject("Tunic",oPC); - AssignCommand(oPC, ActionEquipItem(oItem, INVENTORY_SLOT_CHEST)); + DelayCommand(0.0f, ActionEquipItem(oItem, INVENTORY_SLOT_CHEST)); CheckSpecialRace(oPC); @@ -789,14 +790,14 @@ if (iMod>0) string GetRace(object oPC) { - string sRace = GetSubRace(oPC); - - if (sRace == "") - { - sRace = GetStringByStrRef(StringToInt(Get2DAString("racialtypes", "Name", GetRacialType(oPC)))); - } - - return sRace; + string sRace = GetSubRace(oPC); + + if (sRace == "") + { + sRace = GetStringByStrRef(StringToInt(Get2DAString("racialtypes", "Name", GetRacialType(oPC)))); + } + + return sRace; } void SetupDynamicMerchant() @@ -861,43 +862,43 @@ GetNegativeItem(oStore); void AddToDynamicMerchant() { -object oStore; + object oStore; -oStore = GetObjectByTag("NH1_Dynamic"); + oStore = GetObjectByTag("NH1_Dynamic"); -GetMagicItem(oStore,TRUE,TRUE,5); -GetMagicItem(oStore,TRUE,TRUE,5); -GetMagicItem(oStore,TRUE,TRUE,5); -GetMagicItem(oStore,TRUE,TRUE,5); + GetMagicItem(oStore,TRUE,TRUE,5); + GetMagicItem(oStore,TRUE,TRUE,5); + GetMagicItem(oStore,TRUE,TRUE,5); + GetMagicItem(oStore,TRUE,TRUE,5); } void SetupModule() { -object oChest; -int iRandom; -int iAI; + object oChest; + int iRandom; + int iAI; -SQLocals_SetInt(GetModule(),"ModuleStart",1); -SQLocals_SetInt(GetModule(),MODULE_SWITCH_ENABLE_BEBILITH_RUIN_ARMOR,FALSE); -SetMaxHenchmen(4); + SetLocalInt(GetModule(),"ModuleStart",1); + SetLocalInt(GetModule(),MODULE_SWITCH_ENABLE_BEBILITH_RUIN_ARMOR,FALSE); + SetMaxHenchmen(4); -string sCampaign = "Endless Nights IV"; -if (GetCampaignInt(sCampaign,"MP") == 1) - sCampaign = "MP_Endless Nights IV"; -iAI = GetCampaignInt(sCampaign,"MP"); -SQLocals_SetInt(GetModule(),"NoAI",iAI); + string sCampaign = "Endless Nights IV"; + if (GetCampaignInt(sCampaign,"MP") == 1) sCampaign = "MP_Endless Nights IV"; -oChest = GetObjectByTag("EN4_SpecChest" + IntToString(Random(2)+1)); -SQLocals_SetInt(oChest,"Weapon",1); + iAI = GetCampaignInt(sCampaign,"MP"); + SetLocalInt(GetModule(),"NoAI",iAI); -iRandom = Random(4); -if (iRandom==0) - { - iRandom = Random(4)+1; - SQLocals_SetInt(GetModule(),"HTC_SpecialMerchant",iRandom); - } + oChest = GetObjectByTag("EN4_SpecChest" + IntToString(Random(2)+1)); + SetLocalInt(oChest,"Weapon",1); -WriteTimestampedLogEntry("*** Endless Night IV Loaded ***"); + iRandom = Random(4); + if (iRandom==0) + { + iRandom = Random(4)+1; + SetLocalInt(GetModule(),"HTC_SpecialMerchant",iRandom); + } + + WriteTimestampedLogEntry("*** Endless Night IV Loaded ***"); } void CheckSpecialRace(object oPC) @@ -1056,120 +1057,6 @@ void CheckSpecialRace(object oPC) else if (iRace == RACIAL_TYPE_ZAKYA_RAKSHASA) {iDeaths = 3; iMonstrous = 0;} -// if (iRace == RACIAL_TYPE_SHADOWSWYFT) {iDeaths = 2;} - -// else if (iRace == RACIAL_TYPE_NERAPHIM) {iDeaths = 1; iMonstrous = 1;} - -// else if (iRace == RACIAL_TYPE_TROLL) - // { - // iDeaths = 3; - // iMonstrous = 1; - // } -// else if (iRace == RACIAL_TYPE_HALFOGRE) - // { - // iDeaths = 2; - // } -// else if (iRace == RACIAL_TYPE_AZER) - // { - // iDeaths = 3; - // iMonstrous = 1; - // } -// else if (iRace == RACIAL_TYPE_PIXIE) - // { - // iDeaths = 2; - // } -// else if (iRace == RACIAL_TYPE_ILLITHID) - // { - // iDeaths = 3; - // iMonstrous = 1; - // } -// else if (iRace == RACIAL_TYPE_RAKSHASA) - // { - // iDeaths = 3; - // iMonstrous = 1; - // } -// else if (iRace == RACIAL_TYPE_GITHZERAI) - // { - // iDeaths = 2; - // iMonstrous = 1; - // } -// else if (iRace == RACIAL_TYPE_GITHYANKI) - // { - // iDeaths = 2; - // iMonstrous = 1; - // } -// else if (iRace == RACIAL_TYPE_PURE_YUAN) - // { - // iDeaths = 3; - // iMonstrous = 1; - // } -// else if (iRace == RACIAL_TYPE_LIZARDFOLK) - // { - // iDeaths = 2; - // iMonstrous = 1; - // } -// else if (iRace == RACIAL_TYPE_MINOTAUR) - // { - // iDeaths = 3; - // iMonstrous = 1; - // } -// else if (iRace == RACIAL_TYPE_BUGBEAR) - // { - // iDeaths = 1; - // iMonstrous = 1; - // } -// else if (iRace == RACIAL_TYPE_OGRE) - // { - // iDeaths = 3; - // iMonstrous = 1; - // } -// else if (iRace == RACIAL_TYPE_TIEFLING) - // { - // iDeaths = 1; - // } -// else if (iRace == RACIAL_TYPE_TANARUKK) - // { - // iDeaths = 3; - // iMonstrous = 1; - // } -// else if (iRace == RACIAL_TYPE_FEYRI) - // { - // iDeaths = 3; - // } -// else if (iRace == RACIAL_TYPE_AASIMAR) - // { - // iDeaths = 1; - // } -// else if (iRace == RACIAL_TYPE_OROG) - // { - // iDeaths = 2; - // iMonstrous = 1; - // } -// else if (iRace == RACIAL_TYPE_DEEP_GNOME) - // { - // iDeaths = 2; - // } -// else if (iRace == RACIAL_TYPE_DROW_FEMALE) - // { - // iDeaths = 2; - // } -// else if (iRace == RACIAL_TYPE_WILD_DWARF) - // { - // iDeaths = 1; - // } -// else if (iRace == RACIAL_TYPE_URDINNIR) - // { - // iDeaths = 2; - // } -// else if (iRace == RACIAL_TYPE_DUERGAR) - // { - // iDeaths = 1; - // } -// else if (iRace == RACIAL_TYPE_ARC_DWARF) - // { - // iDeaths = 2; - // } - if (iMonstrous == 1) { object oGood; diff --git a/_module/nss/old_mod_enter.nss b/_module/nss/old_mod_enter.nss new file mode 100644 index 00000000..5e204237 --- /dev/null +++ b/_module/nss/old_mod_enter.nss @@ -0,0 +1,1518 @@ +#include "nw_i0_tool" +#include "x2_inc_switches" +#include "rd_questinc" +#include "rd_treasure" +//#include "en4_racial_const" +#include "prc_inc_racial" +#include "inc_examine" +#include "inc_gennui" +#include "utl_i_sqluuid" +#include "utl_i_sqlocals" +#include "prc_inc_template" + +void SetupCharacter(object oPC); +void GetItems(object oPC); +void RemoveAllItems(object oPC); +void InitialEvent(object oPC); +int ValidStartingItem(string sTag); +string GetRace(object oPC); +void SetupDynamicMerchant(); +void AddToDynamicMerchant(); +void SetupModule(); +void CheckSpecialRace(object oPC); +void SetupRandomNPCs(); +void CheckImport(object oPC); + +void main() +{ + int iLevel; + int iRnd; + int iRnd2; + int iIndex; + object oPC = GetEnteringObject(); + object oAnimal; + + int iAnimal = GetLevelByClass(CLASS_TYPE_DRUID, oPC) + + GetLevelByClass(CLASS_TYPE_FACTOTUM, oPC) + + GetLevelByClass(CLASS_TYPE_HEALER, oPC) + + GetLevelByClass(CLASS_TYPE_RANGER, oPC) + + GetLevelByClass(CLASS_TYPE_SOULBORN, oPC) + + GetLevelByClass(CLASS_TYPE_TOTEMIST, oPC); + + AddJournalQuestEntry("JRNL_XPCHART", 1, oPC, FALSE, FALSE, FALSE); + AddJournalQuestEntry("JRNL_LA_BUYOFF", 1, oPC, FALSE, FALSE, FALSE); + AddJournalQuestEntry("JRNL_PRC8", 1, oPC, FALSE, FALSE, FALSE); + + Randomize(); + + //Examine_DisablePanels(oPC); + + //GNW_ShowMenuButton(oPC); + + if (GetIsPC(oPC)) + { + //SQLocalsUUID_SetInt(oPC,"OverallQuest",132); + + SQLocals_SetInt(GetModule(),"ClientEnter",1); + + DelayCommand(1.0f,SQLocals_SetInt(GetModule(),"ClientEnter",0)); + + if (GetLocalInt(GetModule(),"ModuleStart") == 0) + SetupModule(); + + if (GetLocalInt(GetModule(),"DynamicMerchant") == 0) + { + SetupDynamicMerchant(); + SetLocalInt(GetModule(),"DynamicMerchant",1); + SQLocalsUUID_SetInt(oPC,"DynamicMerchant",1); + } + else + { + if (GetLocalInt(oPC,"DynamicMerchant") == 0) + { + AddToDynamicMerchant(); + SetLocalInt(oPC,"DynamicMerchant",1); + } + } + if (GetLocalInt(oPC,"ModStart") == 0) + { + SetLocalInt(oPC,"ModStart",1); + SQLocalsUUID_SetInt(oPC,"Entering",1); + + if (iAnimal >= 1) + { + oAnimal = GetObjectByTag("en3_animal"); + AdjustReputation(oPC,oAnimal,30); + } + if (GetGoodEvilValue(oPC) < 40) //:: Probably need this after fixing evil path. + { + object oGood; + oGood = GetObjectByTag("en3_good"); + AdjustReputation(oPC,oGood,-100); + } + if (GetGoodEvilValue(oPC) > 60) + { + object oGood; + oGood = GetObjectByTag("en3_good"); + AdjustReputation(oPC,oGood,50); + } + + iLevel = GetHitDice(oPC); + SQLocalsUUID_SetInt(oPC,"PCEnterLevel",iLevel); + + SendMessageToPC(oPC,"Starting New Campaign..."); + + SetLocalString(oPC,"Respawn","EN4_Respawn"); + + if (GetXP(oPC) == 0) + { + SQLocalsUUID_SetInt(oPC,"ModRank",1); + SetupCharacter(oPC); + SendMessageToPC(oPC,"Character is eligible for Campaign Ranking."); + } + else + { + CheckImport(oPC); + } + } + else + { + SendMessageToPC(oPC,"Continuing Old Campaign..."); + + if (SQLocalsUUID_GetInt(oPC,"ModRank") == 1) + SendMessageToPC(oPC,"Character is eligible for Campaign Ranking."); + else + SendMessageToPC(oPC,"Character is ineligible for Campaign Ranking."); + + if (SQLocalsUUID_GetInt(oPC,"SpecialPowers") > 0) + CreateSpecialPowers(oPC); + + if (SQLocalsUUID_GetInt(oPC,"EvilPath") > 0) + CreateEvilPowers(oPC); + + object oItem = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND,oPC); + + if (!GetIsObjectValid(oItem) && GetLevelByClass(CLASS_TYPE_MONK,oPC) > 0) + oItem = GetItemInSlot(INVENTORY_SLOT_ARMS,oPC); + + if (GetIsObjectValid(oItem)) + GetSpecialWeaponBonus(oPC,oItem); + + oItem = GetItemInSlot(INVENTORY_SLOT_LEFTHAND,oPC); + if (GetIsObjectValid(oItem)) + GetSpecialWeaponBonus(oPC,oItem); + } + } + + if (SQLocalsUUID_GetInt(GetModule(),"ModStarted") == 0) + { + SetupRandomNPCs(); + SQLocalsUUID_SetInt(GetModule(),"ModStarted",1); + } +} + + +void GetItems(object oPC) +{ + object oObject = GetFirstItemInInventory(oPC); + + int iFlag = 0; + int iIndex = 0; + + while (iFlag == 0 && GetIsObjectValid(oObject)) + { + iIndex++; + SendMessageToPC(oPC,"Item = " + GetTag(oObject)); + oObject = GetNextItemInInventory(oPC); + if (iIndex > 100) + iFlag = 1; + } +} + +void SetupCharacter(object oPC) +{ + object oItem; + string sMessage; + + if (GetGold(oPC) < 200) + GiveGoldToCreature(oPC, 200 - GetGold(oPC)); + + RemoveAllItems(oPC); + + oItem = GetItemInSlot(INVENTORY_SLOT_CHEST,oPC); + + AssignCommand(oPC,ActionUnequipItem(oItem)); + + DestroyObject(oItem); + + oItem = CreateItemOnObject("Tunic",oPC); + + AssignCommand(oPC, ActionEquipItem(oItem, INVENTORY_SLOT_CHEST)); + + CheckSpecialRace(oPC); + + string sCampaign = "Endless Nights IV"; + + if (GetCampaignInt(sCampaign,"MP") == 1) + sCampaign = "MP_Endless Nights IV"; + + if (GetCampaignInt(sCampaign,"HardcoreSettings") == 1) + { + SQLocalsUUID_SetInt(oPC,"PCHardcore",1); + DelayCommand(0.3,SendMessageToPC(oPC,"You have been set to Hardcore mode.")); + } + + if (GetCampaignInt(sCampaign,"HardcoreSettings") == 2) + { + SQLocalsUUID_SetInt(oPC,"PCHardCorePNP",1); + DelayCommand(0.3,SendMessageToPC(oPC,"You have been set to PnP Hardcore mode.")); + } + + if (GetCampaignInt(sCampaign,"HardcoreSettings") == 3) + { + SQLocalsUUID_SetInt(oPC,"PCHardCoreSpecial",1); + DelayCommand(0.3,SendMessageToPC(oPC,"You have been set to Special experience/lives mode.")); + } + + if (SQLocalsUUID_GetInt(oPC,"PCDeaths") == 0) + { + InitialEvent(oPC); + } + else + { + if (SQLocalsUUID_GetInt(oPC,"PCHardCorePNP") == 0 && SQLocalsUUID_GetInt(oPC,"PCHardcore") == 0) + { + sMessage = "You have been given " + IntToString(SQLocalsUUID_GetInt(oPC,"PCDeaths")) + " deaths to compensate for your choice of races."; + DelayCommand(0.4,SendMessageToPC(oPC,sMessage)); + } + } + + if (SQLocalsUUID_GetInt(oPC,"Monstrous") == 0 || SQLocalsUUID_GetInt(oPC,"EvilPath") > 0) + { + SetLocalString(oPC,"Respawn","EN4_Respawn"); + } + else + { + if (SQLocalsUUID_GetInt(oPC,"Monstrous") > 0 && SQLocalsUUID_GetInt(oPC,"EvilPath") == 0) + SetLocalString(oPC,"Respawn","EN4_Monster"); + else + SetLocalString(oPC,"Respawn","EN4_MERespawn"); + } +} + +void RemoveAllItems(object oPC) +{ + int iFlag = 0; + int iIndex = 0; + + object oObject = GetFirstItemInInventory(oPC); + + while (iFlag == 0 && GetIsObjectValid(oObject)) + { + iIndex++; + + if (ValidStartingItem(GetTag(oObject)) == FALSE) + { + //SendMessageToPC(oPC,"Destroying " + GetTag(oObject)); + DestroyObject(oObject); + } + + oObject = GetNextItemInInventory(oPC); + + if (iIndex > 100) + iFlag = 1; + } +} + +int ValidStartingItem(string sTag) +{ + int iFlag; + + iFlag = FALSE; + + if (sTag == "NW_IT_MPOTION001") + iFlag = TRUE; + + return iFlag; +} + +void InitialEvent(object oPC) +{ + int iRandom; + int iRandom2; + int iArmor; + int iAdjust; + int iMod; + int iEvent; + string sMessage; + string sRace; + string sTag; + string sType; + itemproperty ip; + object oItem; + int iQuestPoints; + + string sCampaign = "Endless Nights IV"; + + if (GetCampaignInt(sCampaign,"MP") == 1) + sCampaign = "MP_Endless Nights IV"; + + iEvent = GetCampaignInt(sCampaign,"E4InitialEvent"); + + if (iEvent == 1 || iEvent == 2) + { + if (iEvent == 1) + iRandom = Random(100) + 1; + else + iRandom = Random(42) + 1; + + //iRandom = 41; + //SendMessageToPC(oPC,"Random = " + IntToString(iRandom)); + iMod = 0; + + if (iRandom < 2) //Found Magical Item + { + sMessage = "Tending your farm one day, you were suprised to find a myserious magical item beneath the corn stalks. Gathering up what gold you could, you left home in hopes of becoming a famous adventurer..."; + GetMagicItem(oPC,TRUE,TRUE); + } + else if (iRandom < 3) //Enchanted + { + SQLocalsUUID_SetInt(oPC,"HasCustomSkin",1); + sRace = GetSubRace(oPC); + + if (sRace == "") + sRace = GetRace(oPC); + + sRace = "Enchanted " + sRace; + + SetSubRace(oPC, sRace); + + //sMessage = CreatePlayerSkin(oPC); //::: Use PRC skin instead. + + sMessage = "A mysterious old man visited your farm one day and granted you enhanced powers. This experience urged you to leave the farm and seek adventure in the lands."; + + iMod=1; + + SQLocalsUUID_SetInt(oPC,"SpecialPowers",1); + + CreateSpecialPowers(oPC); + + } + else if (iRandom < 4) // Undead + { + SQLocalsUUID_SetInt(oPC,"HasCustomSkin",1); + + sMessage = "You have little recollection of your death, but you well remember the beginning of your undeath. Whatever vile spells the necromancer cast went awry, though, leading to his death and to your conciousness remaining inside of your undead body."; + + sRace = GetSubRace(oPC); + + if (sRace == "") + sRace = GetRace(oPC); + + sRace = "Undead " + sRace; + + SetSubRace(oPC, sRace); + + //CreateUndeadPC(oPC); //:: Use PRC template instead. + + ApplyTemplateToObject(TEMPLATE_NECROPOLITAN, oPC); + + iMod = 1; + + SQLocalsUUID_SetInt(oPC,"SpecialPowers",2); + + CreateSpecialPowers(oPC); + } + else if (iRandom < 6) + { + GiveGoldToCreature(oPC,1800); + + sMessage = "Exploring the cavernous area near your farmhouse, you found a chest filled with treasure. Using these riches you decided to set out into the world and seek adventure."; + } + else if (iRandom < 7) + { + IE_MagicalRing(oPC); + + sMessage = "Exploring the cavernous area near your farmhouse, you found a strange magical ring. You decided to use its powers to seek adventure in the world."; + } + else if (iRandom < 8) + { + GetWeaponType(oPC); + + sTag = "en3_" + GetWeaponTag(oPC) + "1"; + + SendMessageToPC(oPC,sTag); + + oItem=CreateItemOnObject(sTag,oPC); + + ip=ItemPropertyEnhancementBonus(1); + + IPSafeAddItemProperty(oItem,ip); + + sMessage = "Your father was an adventurer in his youth and gave you an " + GetName(oItem) + " before you set out in the world to find your own fame."; + } + else if (iRandom < 9) + { + iArmor = ENGetArmorType(oPC); + + sTag = GetArmorTag(iArmor) + "1"; + + SendMessageToPC(oPC,sTag); + + oItem=CreateItemOnObject(sTag,oPC); + + ip=ItemPropertyACBonus(1); + + IPSafeAddItemProperty(oItem,ip); + + sMessage = "Your father was an adventurer in his youth and gave you an " + GetName(oItem) + " before you set out in the world to find your own fame."; + } + else if (iRandom < 10) + { + iAdjust = Random(20)+1; + DelayCommand(0.5f,EquipMob(oPC,1,iAdjust)); + + if (iAdjust < 5) + sMessage = "Your father was a minor adventurer in his youth and made sure you were propertly equipped before you set out in the world to find your own fame."; + + else if (iAdjust <11) + sMessage = "Your father was a renown adventurer in his youth and made sure you were propertly equipped before you set out in the world to find your own fame."; + + else if (iAdjust <16) + sMessage = "Your father was a very renown adventurer in his youth and made sure you were propertly equipped before you set out in the world to find your own fame."; + + else + sMessage = "Your father was a famous adventurer in his youth and made sure you were propertly equipped before you set out in the world to find your own fame."; + } + else if (iRandom < 11) + { + if (GetLevelByClass(CLASS_TYPE_CLERIC, oPC) >= 1 || GetLevelByClass(CLASS_TYPE_DRUID, oPC) >= 1) + GetMagicItem(oPC,TRUE,FALSE,2); + + else if (GetLevelByClass(CLASS_TYPE_SORCERER, oPC) >= 1 || GetLevelByClass(CLASS_TYPE_WIZARD, oPC) >= 1 || GetLevelByClass(CLASS_TYPE_MONK, oPC) >= 1) + GetMagicItem(oPC,TRUE,FALSE,3); + + else + GetMagicItem(oPC,TRUE,FALSE,1); + + sMessage = "Your father was a famous adventurer in his youth and upon his death passed you a powerful magical item. Armed with this item and resolve you decided to make a name for yourself in the world."; + } + else if (iRandom < 12) + { + CreateRandomItem(oPC); + + if (GetLevelByClass(CLASS_TYPE_ROGUE, oPC) >= 1) + sMessage = "After you left home you traveled to a strange city and found yourself in a shop of magical items. Seeing your oppurtunity, you grabbed one and ran but the shopkeeper alerted the guards. Fast on your feet, you escaped the city and kept running..."; + + else + sMessage = "Having left home to find adventure, you spotted an old man being attacked by a bandit. Rushing to his aid, you ran the bandit off and, in thanks, the old man gave you a magical item."; + } + else if (iRandom < 13) + { + SQLocalsUUID_SetInt(oPC,"Lucky",1); + + sMessage = "All of your life you have had the benefit of great luck. If you gambled, you invariably won. If danger was near, you invariably survived. You decided to go out into the world to make a name for yourself armed with the knowledge that your luck would protect you."; + } + else if (iRandom < 14) + { + MakeStatue(oPC); + sMessage = "On your father's deathbed he gave you a statue that would summon forth a companion to protect you in your adventures."; + } + else if (iRandom < 15) + { + GetArtifact(oPC); + iMod = Random(2)+2; + sMessage = "Exploring the caves outside your home you discovered an artifact of immense power. You decided to use this item to seek out fame and fortunes as an adventurer."; + } + else if (iRandom < 16) // Fiendish/Celestial + { + SQLocalsUUID_SetInt(oPC,"HasCustomSkin",1); + + sRace = GetSubRace(oPC); + + if (sRace == "") + sRace = GetRace(oPC); + + int iGoodEvil; + + iGoodEvil = GetGoodEvilValue(oPC); + + if (iGoodEvil < 40) + { + sMessage = "Your father was a demon from the deepest layers of the abyss. This parentage has gifted you with immense power in which you now use to make your mark in the world."; + ApplyTemplateToObject(TEMPLATE_HALF_FIEND, oPC); + sRace = "Fiendish " + sRace; + } + else + { + sMessage = "Your father was an angel who fell in love with your mother. This parentage has gifted you with immense power in which you now use to make your mark in the world."; + ApplyTemplateToObject(TEMPLATE_HALF_CELESTIAL, oPC); + sRace = "Celestial " + sRace; + } + + SetSubRace(oPC, sRace); + + //CreateGodlingPC(oPC); //:: Use PRC templates instead. + + SQLocalsUUID_SetInt(oPC,"SpecialPowers",3); + + CreateSpecialPowers(oPC); + + iMod = 1; + } + else if (iRandom < 17) + { + sMessage = "Tending your farm one day, you were suprised to find a myserious magical item beneath the corn stalks. Gathering up what gold you could, you left home in hopes of becoming a famous adventurer..."; + GetMagicItem(oPC,TRUE,TRUE); + } + else if (iRandom < 18) + { + iAdjust = Random(20)+1; + + DelayCommand(0.5f,EquipMob(oPC,1,iAdjust)); + + if (iAdjust < 5) + sMessage = "Your father was a minor adventurer in his youth and made sure you were propertly equipped before you set out in the world to find your own fame."; + + else if (iAdjust <11) + sMessage = "Your father was a renown adventurer in his youth and made sure you were propertly equipped before you set out in the world to find your own fame."; + + else if (iAdjust <16) + sMessage = "Your father was a very renown adventurer in his youth and made sure you were propertly equipped before you set out in the world to find your own fame."; + + else + sMessage = "Your father was a famous adventurer in his youth and made sure you were propertly equipped before you set out in the world to find your own fame."; + } + else if (iRandom < 19) + { + DelayCommand(0.5f,EquipMob(oPC,1,40)); + sMessage = "Your father was an extremely famous adventurer in his youth and made sure you were propertly equipped before you set out in the world to find your own fame."; + } + else if (iRandom < 20) + { + ItemOfPower(oPC); + sMessage = "Your father was an exiled king and gave you a great item of power before you went out to seek your fame."; + } + else if (iRandom < 21) + { + sMessage = "Tending your farm one day, you were suprised to find a myserious magical item beneath the corn stalks. Gathering up what gold you could, you left home in hopes of becoming a famous adventurer..."; + GetMagicItem(oPC,TRUE,TRUE); + } + else if (iRandom < 22) + { + SQLocalsUUID_SetInt(oPC,"PCXPBonus",25); + SQLocalsUUID_SetInt(oPC,"Unlucky",1); + + sMessage = "You have always been very unlucky and, deep in your heart, you know you will die an early death. You have, however, learned to adapt quickly."; + } + else if (iRandom < 24) + { + sMessage = "On your way to Hightop City, you spotted a small cave. Exploring, you found a minor magic item."; + GetMinorMagicItem(oPC); + } + else if (iRandom < 25) + { + IE_MagicalRing(oPC); + sMessage = "Exploring the cavernous area near your farmhouse, you found a strange magical ring. You decided to use its powers to seek adventure in the world."; + } + else if (iRandom < 26) + { + iQuestPoints = Random(40)+11; + //iQuestPoints = 24; + SQLocalsUUID_SetInt(oPC,"QuestPoints",iQuestPoints); + sMessage = "Your father is legendary. You start the game with " + IntToString(iQuestPoints) + " quest points."; + } + else if (iRandom < 27) + { + SetMaxHenchmen(5); + SetLocalString(GetModule(), "FriendlySpirit", GetName(oPC)); + SQLocalsUUID_SetInt(oPC,"Spirit",1); + sMessage = "When you were young you befriended a friendly spirit who has become your constant companion."; + } + else if (iRandom < 28) + { + GiveGoldToCreature(oPC,49800); + sMessage = "You come from an extremely wealthy family. On the day of your father's death, you took your inheretance and went out into the world."; + } + else if (iRandom < 29) + { + if (GetAbilityScore(oPC,ABILITY_CHARISMA)>9) + { + SQLocalsUUID_SetInt(oPC,"Charming",1); + sMessage = "You have an inherent spark that causes people to like you. As such, you gather fame easier."; + } + else + { + SQLocalsUUID_SetInt(oPC,"Lucky",1); + sMessage = "All of your life you have had the benefit of great luck. If you gambled, you invariably won. If danger was near, you invariably survived. You decided to go out into the world to make a name for yourself armed with the knowledge that your luck would protect you."; + } + } + else if (iRandom < 30) + { + iRandom2 = Random(4)+1; + + switch (iRandom2) + { + case 1: SQLocalsUUID_SetInt(oPC,"WeaponBonus",1); sType = "Fire"; break; + case 2: SQLocalsUUID_SetInt(oPC,"WeaponBonus",2); sType = "Lightning"; break; + case 3: SQLocalsUUID_SetInt(oPC,"WeaponBonus",3); sType = "Cold"; break; + case 4: SQLocalsUUID_SetInt(oPC,"WeaponBonus",4); sType = "Acid"; break; + } + SQLocalsUUID_SetInt(oPC, "WeaponBonus", 1); + sMessage = "You were born with amazing powers to control " + sType + " and have learned to enchant items to do more damage."; + } + else if (iRandom < 31) + { + SQLocalsUUID_SetInt(oPC, "Cursed", 1); + GetMagicItem(oPC); + sMessage = "When you were younger, you stole a magic item from a witch. In return, she cursed you and you have found life has been difficult ever since."; + } + else if (iRandom < 32) + { + iRandom2 = Random(3)+1; + + SQLocalsUUID_SetInt(oPC,"Enemy",iRandom2); + + switch (iRandom2) + { + case 1: sMessage = "A rich merchant gave you a magic item to cross the Red Wizards. You did so, but made a powerful enemy and have fled here hoping you will be safe from them."; + break; + case 2: sMessage = "You were instrumental in catching a theif and received a magic item as a reward, but the Thieves' Guild put a bounty on your head. You fled here hoping you will be safe from them."; + break; + case 3: sMessage = "You cheated a powerful merchant out of a magic item and he put a bounty on your head. You fled here hoping you will be safe from them."; + break; + } + + if (Random(3)==0) + GetRareItem(oPC); + else + GetMagicItem(oPC); + } + else if (iRandom < 33) + { + GetEN2Weapon(oPC,oPC); + + sMessage = "Your father is a hero, once saving the village of Nirra Hamlett. When you set out into the world he gave you a magical weapon from his days of adventuring."; + } + else if (iRandom < 34) + { + iRandom2 = (Random(4)+1) * 5; + SQLocalsUUID_SetInt(oPC,"PCXPBonus",iRandom2); + sMessage = "You are have always been a very quick learner and pick up new skills easily."; + } + else if (iRandom < 35) + { + SQLocalsUUID_SetInt(oPC,"HasCustomSkin",1); + sRace = GetSubRace(oPC); + + if (sRace == "") + sRace = GetRace(oPC); + + sRace = "Shade " + sRace; + + sMessage = "You were born into shadow and from the shadows you gain power. You now use to make your mark in the world."; + + SetSubRace(oPC,sRace); + + //CreateGodlingPC(oPC); + + SQLocalsUUID_SetInt(oPC,"SpecialPowers",4); + + CreateSpecialPowers(oPC); + + iMod=1; + } + else if (iRandom < 36) + { + SQLocalsUUID_SetInt(oPC,"HasCustomSkin",1); + sMessage = "You have always had great strength. You now arrive in hightop to make your mark in the world."; + SQLocalsUUID_SetInt(oPC,"SpecialPowers",5); + CreateSpecialPowers(oPC); + } + else if (iRandom < 37) + { + SQLocalsUUID_SetInt(oPC,"HasCustomSkin",1); + sMessage = "You have always had been very hardy. You now arrive in hightop to make your mark in the world."; + SQLocalsUUID_SetInt(oPC,"SpecialPowers",6); + CreateSpecialPowers(oPC); + } + else if (iRandom < 38) + { + SQLocalsUUID_SetInt(oPC,"HasCustomSkin",1); + sMessage = "You have always had been very nimble. You now arrive in hightop to make your mark in the world."; + SQLocalsUUID_SetInt(oPC,"SpecialPowers",7); + CreateSpecialPowers(oPC); + } + else if (iRandom < 39) + { + sMessage = "Upon your father's death, you inherited a rare item from him and set out in the world to seek fame and fortune."; + GetRareItem(oPC); + } + else if (iRandom < 40) + { + SQLocalsUUID_SetInt(oPC,"HasCustomSkin",1); + sMessage = "You have always had an affinity with magic. This affinity helps you manipulate and resist it."; + SQLocalsUUID_SetInt(oPC,"SpecialPowers",8); + CreateSpecialPowers(oPC); + } + else if (iRandom < 41) + { + sMessage = "Your father was a powerful sorcerer and upon his death you inherited a rare artifact that imparted some of that power to you."; + GetInfiniteSpells(oPC); + } + else if (iRandom < 42) + { + //SuperPowers + SQLocalsUUID_SetInt(oPC,"HasCustomSkin",1); + sMessage = "You are descended from an ancient race who wield special powers far beyond those of mortal man."; + iRandom2 = Random(10)+1; + //iRandom2 = 7; + + switch (iRandom2) + { + case 1: sMessage = sMessage + " You were born with the power to heal from wounds almost instantly."; + SQLocalsUUID_SetInt(oPC,"SuperPowers",1); + break; + case 2: sMessage = sMessage + " You were born with super speed and dexterity."; + SQLocalsUUID_SetInt(oPC,"SuperPowers",2); + break; + case 3: sMessage = sMessage + " You were born in a quasi-ethereal state which leaves you imperveous to physical damage."; + SQLocalsUUID_SetInt(oPC,"SuperPowers",3); + break; + case 4: sMessage = sMessage + " You were born with complete immunity to magical spells."; + SQLocalsUUID_SetInt(oPC,"SuperPowers",4); + break; + case 5: sMessage = sMessage + " You were born with great control over fire."; + SQLocalsUUID_SetInt(oPC,"SuperPowers",5); + SQLocalsUUID_SetInt(oPC,"WeaponBonus",1); + break; + case 6: sMessage = sMessage + " You were born with super strength beyond that of mortal man."; + SQLocalsUUID_SetInt(oPC,"SuperPowers",6); + break; + case 7: sMessage = sMessage + " You were born with the ability to assume multiple forms."; + oItem=CreateItemOnObject("en4_forms",oPC); + SetStolenFlag(oItem,TRUE); + SQLocalsUUID_SetInt(oPC,"HasCustomSkin",0); + break; + case 8: sMessage = sMessage + " You were born with the knowledge of an ancestor who was a powerful wizard."; + oItem=CreateItemOnObject("en4_spells",oPC); + SetStolenFlag(oItem,TRUE); + SQLocalsUUID_SetInt(oPC,"HasCustomSkin",0); + break; + case 9: sMessage = sMessage + " You were born destined to become a hero of epic proportions. This destiny grants you speed, immunity to fear, death, and fatal blows, and great control over weapons."; + SQLocalsUUID_SetInt(oPC,"SuperPowers",7); + break; + case 10: sMessage = sMessage + " You were born with vampiric powers which are channeled through your weapon."; + SQLocalsUUID_SetInt(oPC,"SuperPowers",8); + break; + } + + CreateSuperPowers(oPC); + + } + else if (iRandom < 43) + { + if (Random(2)==0) + { + sMessage = "You were met on the road by a stange gypsy who gave you a playing card and told you that great power could come from its use, as could great ruin, and its use is limited to once per day. You are unsure of whether or not you want to use the card."; + oItem=CreateItemOnObject("en4_card",oPC); + SetStolenFlag(oItem,TRUE); + } else { + if (Random(2) == 0) + { + sMessage = "Your father was a wizard who left you a magical helm containing great powers of domination upon his death."; + oItem = CreateItemOnObject("en4_eyes",oPC); + SetStolenFlag(oItem,TRUE); + } else { + if (GetAbilityScore(oPC,ABILITY_CHARISMA)>9) + { + SQLocalsUUID_SetInt(oPC,"Charming",1); + sMessage = "You have an inherent spark that causes people to like you. As such, you gather fame easier."; + } else { + SQLocalsUUID_SetInt(oPC,"Lucky",1); + sMessage = "All of your life you have had the benefit of great luck. If you gambled, you invariably won. If danger was near, you invariably survived. You decided to go out into the world to make a name for yourself armed with the knowledge that your luck would protect you."; + } + } + } + } + else + sMessage = "You arrive in Hightop City ready to make a name for yourself."; + } else { + sMessage = "After a long journey, you arrive in Hightop City ready to make a name for yourself."; + } + +DelayCommand(0.5,SendMessageToPC(oPC,sMessage)); +if (iMod>0) + SQLocalsUUID_SetInt(oPC,"Adjust",iMod); + +} + +string GetRace(object oPC) +{ + string sRace = GetSubRace(oPC); + + if (sRace == "") + { + sRace = GetStringByStrRef(StringToInt(Get2DAString("racialtypes", "Name", GetRacialType(oPC)))); + } + + return sRace; +} + +void SetupDynamicMerchant() +{ +int iCount; +int iRandom; +object oStore; + +oStore = GetObjectByTag("HTC_Dynamic"); + +iRandom=Random(3)+1; +iCount = 0; +while (iCount <= iRandom) + { + GetMagicItem(oStore,TRUE,TRUE,5); + iCount++; + } + +iRandom=Random(5)+6; +iCount = 0; +while (iCount <= iRandom) + { + GetMagicItem(oStore,TRUE,TRUE); + iCount++; + } + +iRandom=Random(3)+3; +iCount = 0; +while (iCount <= iRandom) + { + GetMiscMagic(oStore); + iCount++; + } + +iRandom=Random(4)+1; +iCount = 0; +while (iCount <= iRandom) + { + GetMinorMagicItem(oStore); + iCount++; + } + +iRandom=Random(8)+1; +iCount = 0; +while (iCount <= iRandom) + { + CreateRandomItem(oStore); + iCount++; + } + +iRandom=Random(3); +iCount = 0; +while (iCount <= iRandom) + { + GetRareItem(oStore); + iCount++; + } + +GetNegativeItem(oStore); + +} + +void AddToDynamicMerchant() +{ +object oStore; + +oStore = GetObjectByTag("NH1_Dynamic"); + +GetMagicItem(oStore,TRUE,TRUE,5); +GetMagicItem(oStore,TRUE,TRUE,5); +GetMagicItem(oStore,TRUE,TRUE,5); +GetMagicItem(oStore,TRUE,TRUE,5); +} + +void SetupModule() +{ +object oChest; +int iRandom; +int iAI; + +SetLocalInt(GetModule(),"ModuleStart",1); +SetLocalInt(GetModule(),MODULE_SWITCH_ENABLE_BEBILITH_RUIN_ARMOR,FALSE); +SetMaxHenchmen(4); + +string sCampaign = "Endless Nights IV"; +if (GetCampaignInt(sCampaign,"MP") == 1) + sCampaign = "MP_Endless Nights IV"; +iAI = GetCampaignInt(sCampaign,"MP"); +SQLocals_SetInt(GetModule(),"NoAI",iAI); + +oChest = GetObjectByTag("EN4_SpecChest" + IntToString(Random(2)+1)); +SQLocals_SetInt(oChest,"Weapon",1); + +iRandom = Random(4); +if (iRandom==0) + { + iRandom = Random(4)+1; + SQLocals_SetInt(GetModule(),"HTC_SpecialMerchant",iRandom); + } + +WriteTimestampedLogEntry("*** Endless Night IV Loaded ***"); +} + +void CheckSpecialRace(object oPC) +{ + int iDeaths; + int iMonstrous; + int iRace; + string sRace; + + iDeaths = 0; + iMonstrous = 0; + iRace = GetRacialType(oPC); + sRace = GetRace(oPC); + + //SendMessageToPC(oPC,"Race = " + sRace); + //SendMessageToPC(oPC,"Sub-Race = " + GetSubRace(oPC)); + + if (iRace == RACIAL_TYPE_AASIMAR) {iDeaths = 2; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_ABOM_YUAN) {iDeaths = 2; iMonstrous = 1;} + else if (iRace == RACIAL_TYPE_AIR_GEN) {iDeaths = 0; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_ARANEA) {iDeaths = 1; iMonstrous = 1;} + else if (iRace == RACIAL_TYPE_ARC_DWARF) {iDeaths = 0; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_ARKAMOI) {iDeaths = 2; iMonstrous = 1;} + else if (iRace == RACIAL_TYPE_ASHERATI) {iDeaths = 0; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_AVARIEL) {iDeaths = 0; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_AZER) {iDeaths = 3; iMonstrous = 1;} + else if (iRace == RACIAL_TYPE_AZURIN) {iDeaths = 0; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_BARIAUR) {iDeaths = 2; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_BHUKA) {iDeaths = 0; iMonstrous = 1;} + else if (iRace == RACIAL_TYPE_BLUE_GOBLIN) {iDeaths = 0; iMonstrous = 1;} + else if (iRace == RACIAL_TYPE_BRALANI) {iDeaths = 3; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_BROWNIE) {iDeaths = 2; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_BUGBEAR) {iDeaths = 1; iMonstrous = 1;} + else if (iRace == RACIAL_TYPE_BUOMMANS) {iDeaths = 0; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_CATFOLK) {iDeaths = 1; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_CENTAUR) {iDeaths = 2; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_CHANGELING) {iDeaths = 1; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_CHITINE) {iDeaths = 1; iMonstrous = 1;} + else if (iRace == RACIAL_TYPE_CRUCIAN) {iDeaths = 1; iMonstrous = 1;} + else if (iRace == RACIAL_TYPE_DEEP_GNOME) {iDeaths = 1; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_DEEP_HALFLING) {iDeaths = 0; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_DOPPELGANGER) {iDeaths = 2; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_DRIDER) {iDeaths = 2; iMonstrous = 1;} + else if (iRace == RACIAL_TYPE_DROMITE) {iDeaths = 1; iMonstrous = 1;} + else if (iRace == RACIAL_TYPE_DROW_FEMALE) {iDeaths = 2; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_DROW_MALE) {iDeaths = 2; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_DUERGAR) {iDeaths = 2; iMonstrous = 1;} + else if (iRace == RACIAL_TYPE_DUSKLING) {iDeaths = 2; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_EARTH_GEN) {iDeaths = 0; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_ELAN) {iDeaths = 0; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_EXTAMINAAR) {iDeaths = 1; iMonstrous = 1;} + else if (iRace == RACIAL_TYPE_FERAL_GARGUN) {iDeaths = 1; iMonstrous = 1;} + else if (iRace == RACIAL_TYPE_FEYRI) {iDeaths = 2; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_FIRE_GEN) {iDeaths = 0; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_FIREBLOOD_DWARF) {iDeaths = 0; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_FLIND) {iDeaths = 2; iMonstrous = 1;} + else if (iRace == RACIAL_TYPE_FOR_GNOME) {iDeaths = 0; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_FORESTLORD_ELF) {iDeaths = 0; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_FROST_FOLK) {iDeaths = 1; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_FROSTBLOOD_ORC) {iDeaths = 0; iMonstrous = 1;} + else if (iRace == RACIAL_TYPE_GHOSTWISE_HALFLING) {iDeaths = 0; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_GITHYANKI) {iDeaths = 2; iMonstrous = 1;} + else if (iRace == RACIAL_TYPE_GITHZERAI) {iDeaths = 2; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_GLIMMERSKIN_HALFING) {iDeaths = 0; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_GLOURA) {iDeaths = 3; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_GNOLL) {iDeaths = 1; iMonstrous = 1;} + else if (iRace == RACIAL_TYPE_GOBLIN) {iDeaths = 0; iMonstrous = 1;} + else if (iRace == RACIAL_TYPE_GOLD_DWARF) {iDeaths = 0; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_GOLIATH) {iDeaths = 2; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_GRAYORC) {iDeaths = 1; iMonstrous = 1;} + else if (iRace == RACIAL_TYPE_HADOZEE) {iDeaths = 1; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_HADRIMOI) {iDeaths = 2; iMonstrous = 1;} + else if (iRace == RACIAL_TYPE_HAGSPAWN) {iDeaths = 2; iMonstrous = 1;} + else if (iRace == RACIAL_TYPE_HALFDROW) {iDeaths = 1; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_HALFOGRE) {iDeaths = 2; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_HOBGOBLIN) {iDeaths = 1; iMonstrous = 1;} + else if (iRace == RACIAL_TYPE_HOUND_ARCHON) {iDeaths = 2; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_HYBSIL) {iDeaths = 2; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_ILLITHID) {iDeaths = 3; iMonstrous = 1;} + else if (iRace == RACIAL_TYPE_IMASKARI) {iDeaths = 0; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_KALASHTAR) {iDeaths = 1; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_KARSITE) {iDeaths = 1; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_KHAASTA) {iDeaths = 2; iMonstrous = 1;} + else if (iRace == RACIAL_TYPE_KILLOREN) {iDeaths = 2; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_KOBOLD) {iDeaths = 0; iMonstrous = 1;} + else if (iRace == RACIAL_TYPE_KRINTH) {iDeaths = 1; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_LASHEMOI) {iDeaths = 2; iMonstrous = 1;} + else if (iRace == RACIAL_TYPE_LIZARDFOLK) {iDeaths = 1; iMonstrous = 1;} + else if (iRace == RACIAL_TYPE_MAENADS) {iDeaths = 1; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_MARRULURK) {iDeaths = 2; iMonstrous = 1;} + else if (iRace == RACIAL_TYPE_MARRUSAULT) {iDeaths = 2; iMonstrous = 1;} + else if (iRace == RACIAL_TYPE_MARRUTACT) {iDeaths = 2; iMonstrous = 1;} + else if (iRace == RACIAL_TYPE_MEPHLING_AIR) {iDeaths = 1; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_MEPHLING_EARTH) {iDeaths = 1; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_MEPHLING_FIRE) {iDeaths = 1; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_MEPHLING_WATER) {iDeaths = 1; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_MINOTAUR) {iDeaths = 2; iMonstrous = 1;} + else if (iRace == RACIAL_TYPE_MONGRELFOLK) {iDeaths = 0; iMonstrous = 1;} + else if (iRace == RACIAL_TYPE_MUCKDWELLER) {iDeaths = 0; iMonstrous = 1;} + else if (iRace == RACIAL_TYPE_NATHRI) {iDeaths = 1; iMonstrous = 1;} + else if (iRace == RACIAL_TYPE_NAZTHARUNE_RAKSHASA) {iDeaths = 3; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_NEANDERTHAL) {iDeaths = 1; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_NERAPHIM) {iDeaths = 1; iMonstrous = 1;} + else if (iRace == RACIAL_TYPE_OGRE) {iDeaths = 2; iMonstrous = 1;} + else if (iRace == RACIAL_TYPE_ORC) {iDeaths = 0; iMonstrous = 1;} + else if (iRace == RACIAL_TYPE_OROG) {iDeaths = 2; iMonstrous = 1;} + else if (iRace == RACIAL_TYPE_PH_HALFGIANT) {iDeaths = 2; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_PIXIE) {iDeaths = 2; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_POISON_DUSK) {iDeaths = 1; iMonstrous = 1;} + else if (iRace == RACIAL_TYPE_PURE_YUAN) {iDeaths = 2; iMonstrous = 1;} + else if (iRace == RACIAL_TYPE_RAKSHASA) {iDeaths = 3; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_REDSPAWN_ARCANISS) {iDeaths = 2; iMonstrous = 1;} + else if (iRace == RACIAL_TYPE_RETH_DEKALA) {iDeaths = 2; iMonstrous = 1;} + else if (iRace == RACIAL_TYPE_RILKAN) {iDeaths = 1; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_ROCK_GNOME) {iDeaths = 0; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_SHADOWSWYFT) {iDeaths = 2; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_SHARAKIM) {iDeaths = 1; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_SHIFTER) {iDeaths = 2; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_SILVERBROW_HUMAN) {iDeaths = 0; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_SKARN) {iDeaths = 2; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_SKULK) {iDeaths = 2; iMonstrous = 1;} + else if (iRace == RACIAL_TYPE_SNOW_ELF) {iDeaths = 0; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_SPIKER) {iDeaths = 2; iMonstrous = 1;} + else if (iRace == RACIAL_TYPE_SPIRETOPDRAGON) {iDeaths = 1; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_SPIRIT_FOLK) {iDeaths = 0; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_STONECHILD) {iDeaths = 1; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_STONEHUNTER_GNOME) {iDeaths = 0; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_STRONGHEART_HALFLING) {iDeaths = 0; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_SUN_ELF) {iDeaths = 0; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_SUNSCORCH_HOBGOBLIN) {iDeaths = 1; iMonstrous = 1;} + else if (iRace == RACIAL_TYPE_TAER) {iDeaths = 1; iMonstrous = 1;} + else if (iRace == RACIAL_TYPE_TALLFELLOW_HALFLING) {iDeaths = 0; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_TANARUKK) {iDeaths = 2; iMonstrous = 1;} + else if (iRace == RACIAL_TYPE_TASLOI) {iDeaths = 0; iMonstrous = 1;} + else if (iRace == RACIAL_TYPE_TIEFLING) {iDeaths = 2; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_TROGLODYTE) {iDeaths = 0; iMonstrous = 1;} + else if (iRace == RACIAL_TYPE_TROLL) {iDeaths = 3; iMonstrous = 1;} + else if (iRace == RACIAL_TYPE_TUNDRA_HALFLING) {iDeaths = 0; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_TURLEMOI) {iDeaths = 2; iMonstrous = 1;} + else if (iRace == RACIAL_TYPE_ULDRA) {iDeaths = 0; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_UNDERFOLK) {iDeaths = 0; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_URDINNIR) {iDeaths = 1; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_VARAG) {iDeaths = 2; iMonstrous = 1;} + else if (iRace == RACIAL_TYPE_VILETOOTH_LIZARDFOLK) {iDeaths = 1; iMonstrous = 1;} + else if (iRace == RACIAL_TYPE_VOLODNI) {iDeaths = 2; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_WARFORGED) {iDeaths = 2; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_WARFORGED_CHARGER) {iDeaths = 2; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_WATER_GEN) {iDeaths = 0; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_WEMIC) {iDeaths = 3; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_WHISPER_GNOME) {iDeaths = 0; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_WILD_DWARF) {iDeaths = 0; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_WILD_ELF) {iDeaths = 0; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_WILDREN) {iDeaths = 2; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_WOOD_ELF) {iDeaths = 0; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_XEPH) {iDeaths = 2; iMonstrous = 0;} + else if (iRace == RACIAL_TYPE_ZAKYA_RAKSHASA) {iDeaths = 3; iMonstrous = 0;} + + +// if (iRace == RACIAL_TYPE_SHADOWSWYFT) {iDeaths = 2;} + +// else if (iRace == RACIAL_TYPE_NERAPHIM) {iDeaths = 1; iMonstrous = 1;} + +// else if (iRace == RACIAL_TYPE_TROLL) + // { + // iDeaths = 3; + // iMonstrous = 1; + // } +// else if (iRace == RACIAL_TYPE_HALFOGRE) + // { + // iDeaths = 2; + // } +// else if (iRace == RACIAL_TYPE_AZER) + // { + // iDeaths = 3; + // iMonstrous = 1; + // } +// else if (iRace == RACIAL_TYPE_PIXIE) + // { + // iDeaths = 2; + // } +// else if (iRace == RACIAL_TYPE_ILLITHID) + // { + // iDeaths = 3; + // iMonstrous = 1; + // } +// else if (iRace == RACIAL_TYPE_RAKSHASA) + // { + // iDeaths = 3; + // iMonstrous = 1; + // } +// else if (iRace == RACIAL_TYPE_GITHZERAI) + // { + // iDeaths = 2; + // iMonstrous = 1; + // } +// else if (iRace == RACIAL_TYPE_GITHYANKI) + // { + // iDeaths = 2; + // iMonstrous = 1; + // } +// else if (iRace == RACIAL_TYPE_PURE_YUAN) + // { + // iDeaths = 3; + // iMonstrous = 1; + // } +// else if (iRace == RACIAL_TYPE_LIZARDFOLK) + // { + // iDeaths = 2; + // iMonstrous = 1; + // } +// else if (iRace == RACIAL_TYPE_MINOTAUR) + // { + // iDeaths = 3; + // iMonstrous = 1; + // } +// else if (iRace == RACIAL_TYPE_BUGBEAR) + // { + // iDeaths = 1; + // iMonstrous = 1; + // } +// else if (iRace == RACIAL_TYPE_OGRE) + // { + // iDeaths = 3; + // iMonstrous = 1; + // } +// else if (iRace == RACIAL_TYPE_TIEFLING) + // { + // iDeaths = 1; + // } +// else if (iRace == RACIAL_TYPE_TANARUKK) + // { + // iDeaths = 3; + // iMonstrous = 1; + // } +// else if (iRace == RACIAL_TYPE_FEYRI) + // { + // iDeaths = 3; + // } +// else if (iRace == RACIAL_TYPE_AASIMAR) + // { + // iDeaths = 1; + // } +// else if (iRace == RACIAL_TYPE_OROG) + // { + // iDeaths = 2; + // iMonstrous = 1; + // } +// else if (iRace == RACIAL_TYPE_DEEP_GNOME) + // { + // iDeaths = 2; + // } +// else if (iRace == RACIAL_TYPE_DROW_FEMALE) + // { + // iDeaths = 2; + // } +// else if (iRace == RACIAL_TYPE_WILD_DWARF) + // { + // iDeaths = 1; + // } +// else if (iRace == RACIAL_TYPE_URDINNIR) + // { + // iDeaths = 2; + // } +// else if (iRace == RACIAL_TYPE_DUERGAR) + // { + // iDeaths = 1; + // } +// else if (iRace == RACIAL_TYPE_ARC_DWARF) + // { + // iDeaths = 2; + // } + + if (iMonstrous == 1) + { + object oGood; + oGood = GetObjectByTag("en3_good"); + AdjustReputation(oPC,oGood,-100); + + object oDefender; + oDefender = GetObjectByTag("en4_cityguard0_1"); + AdjustReputation(oPC,oDefender,-100); + + object oEvil; + oEvil = GetObjectByTag("en4_evil"); + AdjustReputation(oPC,oEvil,50); + + if (GetGoodEvilValue(oPC) > 60) + { + SQLocalsUUID_SetInt(oPC,"Monstrous",2); + } + else + { + SQLocalsUUID_SetInt(oPC,"Monstrous",1); + } + + object oSpawnPoint; + + oSpawnPoint = GetObjectByTag("EN4_MERespawn"); + + DelayCommand(0.1f,AssignCommand(oPC,JumpToLocation(GetLocation(oSpawnPoint)))); + DelayCommand(1.0f,SendMessageToPC(oPC,"Your monstrous appearence renders guards, defenders, and citizens aggressive to you.")); + } + + if (iDeaths > 0) + { + SQLocalsUUID_SetInt(oPC,"PCDeaths",iDeaths); + SQLocalsUUID_SetInt(oPC,"PCLevelMod",iDeaths); + } +} + +void SetupRandomNPCs() +{ +string sLocation; +string sNPC; +string sNPCLoc; +int iRandomSpot; +int iRandom; +object oNPC; +location lLoc; + +if (Random(2)==0) + { + if (Random(2) == 0) + sLocation = "RP1"; + else + sLocation = "WG1"; + + + iRandom = Random(2)+1; + switch (iRandom) + { + case 1: sNPC = "en4_en4m1"; break; + case 2: sNPC = "en4_en4npc1"; break; + } + + iRandomSpot = Random(4)+1; + sNPCLoc = sLocation + "_QuestGiver" + IntToString(iRandomSpot); + lLoc = RandomLoc(GetObjectByTag(sNPCLoc)); + oNPC = CreateObject(OBJECT_TYPE_CREATURE, sNPC, lLoc); + if (!GetIsObjectValid(oNPC)) + oNPC = CreateObject(OBJECT_TYPE_CREATURE, sNPC, GetLocation(GetObjectByTag(sNPCLoc))); + } + +if (Random(2)==0) + { + sLocation = "SP1"; + + iRandom = Random(3)+1; + switch (iRandom) + { + case 1: sNPC = "en4_en4m2"; break; + case 2: sNPC = "en4_en4npc2"; break; + case 3: sNPC = "en4_en4f1"; break; + } + + if (Random(2) == 0) + sNPC = "en4_en4m2"; + else + sNPC = "en4_en4npc2"; + + iRandomSpot = Random(4)+1; + sNPCLoc = sLocation + "_QuestGiver" + IntToString(iRandomSpot); + lLoc = RandomLoc(GetObjectByTag(sNPCLoc)); + oNPC = CreateObject(OBJECT_TYPE_CREATURE, sNPC, lLoc); + if (!GetIsObjectValid(oNPC)) + oNPC = CreateObject(OBJECT_TYPE_CREATURE, sNPC, GetLocation(GetObjectByTag(sNPCLoc))); + } + +if (Random(2)==0) + { + sLocation = "RW1"; + + + iRandom = Random(2)+1; + switch (iRandom) + { + case 1: sNPC = "en4_en4m3"; break; + case 2: sNPC = "en4_en4npc3"; break; + } + + iRandomSpot = Random(4)+1; + sNPCLoc = sLocation + "_QuestGiver" + IntToString(iRandomSpot); + lLoc = RandomLoc(GetObjectByTag(sNPCLoc)); + oNPC = CreateObject(OBJECT_TYPE_CREATURE, sNPC, lLoc); + if (!GetIsObjectValid(oNPC)) + oNPC = CreateObject(OBJECT_TYPE_CREATURE, sNPC, GetLocation(GetObjectByTag(sNPCLoc))); + } + +if (Random(2)==0) + { + sLocation = "DW1"; + + iRandom = Random(3)+1; + switch (iRandom) + { + case 1: sNPC = "en4_en4m4"; break; + case 2: sNPC = "en4_en4npc4"; break; + case 3: sNPC = "en4_en4f2"; break; + } + + iRandomSpot = Random(4)+1; + sNPCLoc = sLocation + "_QuestGiver" + IntToString(iRandomSpot); + lLoc = RandomLoc(GetObjectByTag(sNPCLoc)); + oNPC = CreateObject(OBJECT_TYPE_CREATURE, sNPC, lLoc); + if (!GetIsObjectValid(oNPC)) + oNPC = CreateObject(OBJECT_TYPE_CREATURE, sNPC, GetLocation(GetObjectByTag(sNPCLoc))); + } + +if (Random(2)==0) + { + sLocation = "SP1"; + + iRandom = Random(3)+1; + switch (iRandom) + { + case 1: sNPC = "en4_en4m5"; break; + case 2: sNPC = "en4_en4npc5"; break; + case 3: sNPC = "en3_Ronus"; break; + } + + iRandomSpot = Random(4)+1; + sNPCLoc = sLocation + "_QuestGiver" + IntToString(iRandomSpot); + lLoc = RandomLoc(GetObjectByTag(sNPCLoc)); + oNPC = CreateObject(OBJECT_TYPE_CREATURE, sNPC, lLoc); + if (!GetIsObjectValid(oNPC)) + oNPC = CreateObject(OBJECT_TYPE_CREATURE, sNPC, GetLocation(GetObjectByTag(sNPCLoc))); + } + +if (Random(2)==0) + { + sLocation = "IP1"; + + iRandom = Random(2)+1; + switch (iRandom) + { + case 1: sNPC = "en4_en4f3"; break; + case 2: sNPC = "en4_en4npc6"; break; + } + + iRandomSpot = Random(4)+1; + sNPCLoc = sLocation + "_QuestGiver" + IntToString(iRandomSpot); + lLoc = RandomLoc(GetObjectByTag(sNPCLoc)); + oNPC = CreateObject(OBJECT_TYPE_CREATURE, sNPC, lLoc); + if (!GetIsObjectValid(oNPC)) + oNPC = CreateObject(OBJECT_TYPE_CREATURE, sNPC, GetLocation(GetObjectByTag(sNPCLoc))); + } +} + +void CheckImport(object oPC) +{ +int iXP; +int iGold; +int iXPCheck; +int iGoldCheck; +int iOverallQuest; +int iHardcore; +int iHardcorePnP; +int iQuestPoints; +int iDeaths; +int iModRank; +int iMonstrous; +int iPCXPBonus; +int iPCLevelMod; +int iSpecialPowers; +int iSuperPowers; +int iSpirit; +int iLucky; +int iCharming; +int iWeaponBonus; +int iAdjust; +int iEnemy; +int iCursed; +int iPCEnterLevel; +int iEvilLevel; +int iEvilPowers; +int iEvilQuest; +int iHardcoreSpecial; +int iGuild; +int iGuildQuests; + +iXP = GetXP(oPC); +iGold = GetGold(oPC); + +iXPCheck = GetCampaignInt("Endless Nights IV","XP",oPC); +iGoldCheck = GetCampaignInt("Endless Nights IV","Gold",oPC); + +if (iXP == iXPCheck && iGold == iGoldCheck) + { + iOverallQuest = GetCampaignInt("Endless Nights IV","OverallQuest",oPC); + iHardcore = GetCampaignInt("Endless Nights IV","PCHardcore",oPC); + iHardcorePnP = GetCampaignInt("Endless Nights IV","PCHardCorePNP",oPC); + iHardcoreSpecial = GetCampaignInt("Endless Nights IV","PCHardCoreSpecial",oPC); + + iQuestPoints = GetCampaignInt("Endless Nights IV","QuestPoints",oPC); + iDeaths = GetCampaignInt("Endless Nights IV","PCDeaths",oPC); + iModRank = GetCampaignInt("Endless Nights IV","ModRank",oPC); + iMonstrous = GetCampaignInt("Endless Nights IV","Monstrous",oPC); + iPCXPBonus = GetCampaignInt("Endless Nights IV","PCXPBonus",oPC); + iPCLevelMod = GetCampaignInt("Endless Nights IV","PCLevelMod",oPC); + iEvilPowers = GetCampaignInt("Endless Nights IV","EvilPath",oPC); + iEvilLevel = GetCampaignInt("Endless Nights IV","EvilLevel",oPC); + iEvilQuest = GetCampaignInt("Endless Nights IV","EvilQuest",oPC); + + iSpecialPowers= GetCampaignInt("Endless Nights IV","SpecialPowers",oPC); + iSuperPowers= GetCampaignInt("Endless Nights IV","SuperPowers",oPC); + iSpirit= GetCampaignInt("Endless Nights IV","Spirit",oPC); + iLucky= GetCampaignInt("Endless Nights IV","Lucky",oPC); + iCharming= GetCampaignInt("Endless Nights IV","Charming",oPC); + iWeaponBonus= GetCampaignInt("Endless Nights IV","WeaponBonus",oPC); + iAdjust= GetCampaignInt("Endless Nights IV","Adjust",oPC); + iEnemy= GetCampaignInt("Endless Nights IV","Enemy",oPC); + iCursed= GetCampaignInt("Endless Nights IV","Cursed",oPC); + iPCEnterLevel = GetCampaignInt("Endless Nights IV","PCEnterLevel",oPC); + + iGuild= GetCampaignInt("Endless Nights IV","PCGuild",oPC); + iGuildQuests = GetCampaignInt("Endless Nights IV","GuildQuests",oPC); + + //Reset overall quest to the last major portion started + if (iOverallQuest <101) + iOverallQuest = 0; + else if (iOverallQuest <111) + iOverallQuest = 101; + else if (iOverallQuest <121) + iOverallQuest = 111; + else if (iOverallQuest <999) + iOverallQuest = 121; + + SQLocalsUUID_SetInt(oPC,"OverallQuest",iOverallQuest); + SQLocalsUUID_SetInt(oPC,"PCHardcore",iHardcore); + SQLocalsUUID_SetInt(oPC,"PCHardCorePNP",iHardcorePnP); + SQLocalsUUID_SetInt(oPC,"PCHardCoreSpecial",iHardcoreSpecial); + SQLocalsUUID_SetInt(oPC,"QuestPoints",iQuestPoints); + SQLocalsUUID_SetInt(oPC,"PCDeaths",iDeaths); + SQLocalsUUID_SetInt(oPC,"ModRank",iModRank); + SQLocalsUUID_SetInt(oPC,"Monstrous",iMonstrous); + SQLocalsUUID_SetInt(oPC,"PCXPBonus",iPCXPBonus); + SQLocalsUUID_SetInt(oPC,"PCLevelMod",iPCLevelMod); + + SQLocalsUUID_SetInt(oPC,"SpecialPowers",iSpecialPowers); + SQLocalsUUID_SetInt(oPC,"SuperPowers",iSuperPowers); + + SQLocalsUUID_SetInt(oPC,"Spirit",iSpirit); + SQLocalsUUID_SetInt(oPC,"Lucky",iLucky); + SQLocalsUUID_SetInt(oPC,"Charming",iCharming); + SQLocalsUUID_SetInt(oPC,"WeaponBonus",iWeaponBonus); + SQLocalsUUID_SetInt(oPC,"Adjust",iAdjust); + SQLocalsUUID_SetInt(oPC,"Enemy",iEnemy); + SQLocalsUUID_SetInt(oPC,"Cursed",iCursed); + SQLocalsUUID_SetInt(oPC,"EvilQuest",iEvilQuest); + SQLocalsUUID_SetInt(oPC,"EvilPath",iEvilPowers ); + SQLocalsUUID_SetInt(oPC,"EvilLevel",iEvilLevel); + + SQLocalsUUID_SetInt(oPC,"PCGuild",iGuild); + SQLocalsUUID_SetInt(oPC,"GuildQuests",iGuildQuests); + + if (iPCEnterLevel == 0) + iPCEnterLevel = 1; + SQLocalsUUID_SetInt(oPC,"PCEnterLevel",iPCEnterLevel); + + SQLocalsUUID_SetString(oPC,"QPWeaponTag",GetCampaignString("Endless Nights IV","QPWeaponTag",oPC)); + SQLocalsUUID_SetString(oPC,"QPTag",GetCampaignString("Endless Nights IV","QPTag",oPC)); + SQLocalsUUID_SetString(oPC,"QPRingTag",GetCampaignString("Endless Nights IV","QPRingTag",oPC)); + + if (iSpecialPowers > 0) + CreateSpecialPowers(oPC); + if (SQLocalsUUID_GetInt(oPC,"EvilPath") > 0) + CreateEvilPowers(oPC); + + if (iSpirit > 0) + SQLocals_SetString(GetModule(),"FriendlySpirit",GetName(oPC)); + + if (iMonstrous == 1 || iEvilPowers > 0) + { + object oGood; + oGood = GetObjectByTag("en3_good"); + AdjustReputation(oPC,oGood,-100); + object oDefender; + oDefender = GetObjectByTag("en4_cityguard0_1"); + AdjustReputation(oPC,oDefender,-100); + object oEvil; + oEvil = GetObjectByTag("en4_evil"); + AdjustReputation(oPC,oEvil,50); + + SetLocalString(oPC,"Respawn","EN4_MERespawn"); + + if (GetGoodEvilValue(oPC) > 60 && iMonstrous == 1) + { + SQLocalsUUID_SetInt(oPC,"Monstrous",2); + } else { + SQLocalsUUID_SetInt(oPC,"Monstrous",1); + } + } + + DelayCommand(0.1,SendMessageToPC(oPC,"Character imported with " + IntToString(iQuestPoints) + " quest points and " + IntToString(iDeaths) + " deaths.")); + if (SQLocalsUUID_GetInt(oPC,"ModRank") == 1) + DelayCommand(0.2,SendMessageToPC(oPC,"Character is eligible for Campaign Ranking.")); + else + DelayCommand(0.2,SendMessageToPC(oPC,"Character is ineligible for Campaign Ranking.")); + } else { + SQLocalsUUID_SetInt(oPC,"ModRank",0); + if (iXPCheck == 0) + DelayCommand(0.2,SendMessageToPC(oPC,"Character is ineligible for Campaign Ranking.")); + else + DelayCommand(0.2,SendMessageToPC(oPC,"Invalid Character Import: Character is ineligible for Campaign Ranking.")); + } + + object oItem = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND,oPC); + if (!GetIsObjectValid(oItem) && GetLevelByClass(CLASS_TYPE_MONK,oPC) > 0) + oItem = GetItemInSlot(INVENTORY_SLOT_ARMS,oPC); + + if (GetIsObjectValid(oItem)) + GetSpecialWeaponBonus(oPC,oItem); + + oItem = GetItemInSlot(INVENTORY_SLOT_LEFTHAND,oPC); + if (GetIsObjectValid(oItem)) + GetSpecialWeaponBonus(oPC,oItem); + +} diff --git a/_module/nss/r_trig.nss b/_module/nss/r_trig.nss index d1878c59..a321265c 100644 --- a/_module/nss/r_trig.nss +++ b/_module/nss/r_trig.nss @@ -9,4 +9,4 @@ if (GetIsPC(oPC) && GetLocalInt(oPC,"Monstrous") == 1) oSpawnPoint = GetObjectByTag("EN4_MERespawn"); DelayCommand(0.1f,AssignCommand(oPC,JumpToLocation(GetLocation(oSpawnPoint)))); } -} +} \ No newline at end of file diff --git a/_module/utc/en3_barghest.utc.json b/_module/utc/en3_barghest.utc.json index 824a912d..1ffefab2 100644 --- a/_module/utc/en3_barghest.utc.json +++ b/_module/utc/en3_barghest.utc.json @@ -1,13 +1,89 @@ { "__data_type": "UTC ", + "Appearance_Head": { + "type": "byte", + "value": 0 + }, "Appearance_Type": { "type": "word", "value": 1103 }, + "ArmorPart_RFoot": { + "type": "byte", + "value": 0 + }, "BodyBag": { "type": "byte", "value": 0 }, + "BodyPart_Belt": { + "type": "byte", + "value": 0 + }, + "BodyPart_LBicep": { + "type": "byte", + "value": 0 + }, + "BodyPart_LFArm": { + "type": "byte", + "value": 0 + }, + "BodyPart_LFoot": { + "type": "byte", + "value": 0 + }, + "BodyPart_LHand": { + "type": "byte", + "value": 0 + }, + "BodyPart_LShin": { + "type": "byte", + "value": 0 + }, + "BodyPart_LShoul": { + "type": "byte", + "value": 0 + }, + "BodyPart_LThigh": { + "type": "byte", + "value": 0 + }, + "BodyPart_Neck": { + "type": "byte", + "value": 0 + }, + "BodyPart_Pelvis": { + "type": "byte", + "value": 0 + }, + "BodyPart_RBicep": { + "type": "byte", + "value": 0 + }, + "BodyPart_RFArm": { + "type": "byte", + "value": 0 + }, + "BodyPart_RHand": { + "type": "byte", + "value": 0 + }, + "BodyPart_RShin": { + "type": "byte", + "value": 0 + }, + "BodyPart_RShoul": { + "type": "byte", + "value": 0 + }, + "BodyPart_RThigh": { + "type": "byte", + "value": 0 + }, + "BodyPart_Torso": { + "type": "byte", + "value": 0 + }, "Cha": { "type": "byte", "value": 14 @@ -32,6 +108,22 @@ } ] }, + "Color_Hair": { + "type": "byte", + "value": 0 + }, + "Color_Skin": { + "type": "byte", + "value": 0 + }, + "Color_Tattoo1": { + "type": "byte", + "value": 0 + }, + "Color_Tattoo2": { + "type": "byte", + "value": 0 + }, "Comment": { "type": "cexostring", "value": "" @@ -657,5 +749,81 @@ "Wis": { "type": "byte", "value": 14 + }, + "xAppearance_Head": { + "type": "word", + "value": 0 + }, + "xArmorPart_RFoot": { + "type": "word", + "value": 0 + }, + "xBodyPart_Belt": { + "type": "word", + "value": 0 + }, + "xBodyPart_LBicep": { + "type": "word", + "value": 0 + }, + "xBodyPart_LFArm": { + "type": "word", + "value": 0 + }, + "xBodyPart_LFoot": { + "type": "word", + "value": 0 + }, + "xBodyPart_LHand": { + "type": "word", + "value": 0 + }, + "xBodyPart_LShin": { + "type": "word", + "value": 0 + }, + "xBodyPart_LShoul": { + "type": "word", + "value": 0 + }, + "xBodyPart_LThigh": { + "type": "word", + "value": 0 + }, + "xBodyPart_Neck": { + "type": "word", + "value": 0 + }, + "xBodyPart_Pelvis": { + "type": "word", + "value": 0 + }, + "xBodyPart_RBicep": { + "type": "word", + "value": 0 + }, + "xBodyPart_RFArm": { + "type": "word", + "value": 0 + }, + "xBodyPart_RHand": { + "type": "word", + "value": 0 + }, + "xBodyPart_RShin": { + "type": "word", + "value": 0 + }, + "xBodyPart_RShoul": { + "type": "word", + "value": 0 + }, + "xBodyPart_RThigh": { + "type": "word", + "value": 0 + }, + "xBodyPart_Torso": { + "type": "word", + "value": 0 } }