From b03d234797d8605ef9a5697746ca5ea63f96b99a Mon Sep 17 00:00:00 2001 From: nishikawa_takeshi Date: Mon, 15 Sep 2008 04:57:42 +0000 Subject: [PATCH] =?UTF-8?q?=E3=83=9E=E3=82=B9=E3=82=BF=E3=82=A8=E3=83=87?= =?UTF-8?q?=E3=82=A3=E3=82=BF:=E3=82=A8=E3=83=A9=E3=83=BC=E3=82=92?= =?UTF-8?q?=E6=8A=98=E3=82=8A=E8=BF=94=E3=81=97=E3=81=A6=E8=A1=A8=E7=A4=BA?= =?UTF-8?q?=E3=80=82=E6=8F=90=E5=87=BA=E6=89=80=E3=81=AE=E3=81=BF=E3=82=92?= =?UTF-8?q?=E4=BD=9C=E6=88=90=E3=81=99=E3=82=8B=E3=83=A1=E3=83=8B=E3=83=A5?= =?UTF-8?q?=E3=83=BC=E8=BF=BD=E5=8A=A0=E3=80=82EULA=E3=81=AE=E3=83=90?= =?UTF-8?q?=E3=83=BC=E3=82=B8=E3=83=A7=E3=83=B3=E3=83=81=E3=82=A7=E3=83=83?= =?UTF-8?q?=E3=82=AF=E3=82=92=E3=81=AA=E3=81=8F=E3=81=99=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@2522 b08762b0-b915-fc4b-9d8c-17b2551a87ff --- .../tools/MasterEditorTWL/MasterEditorTWL.ncb | Bin 11226112 -> 11242496 bytes .../tools/MasterEditorTWL/MasterEditorTWL.suo | Bin 56320 -> 60416 bytes .../MasterEditorTWL/Debug/BuildLog.htm | Bin 17504 -> 11580 bytes .../MasterEditorTWL/MasterEditorTWL/Form1.h | 272 +++++++++++++++++- .../MasterEditorTWL/Form1.resX | 18 -- .../MasterEditorTWL/Form_file.cpp | 47 ++- .../MasterEditorTWL/Form_lang.cpp | 2 + .../MasterEditorTWL/Form_srl.cpp | 63 +--- .../MasterEditorTWL/MasterEditorTWL/srl.cpp | 2 +- .../MasterEditorTWL/MasterEditorTWL/srl.h | 1 - .../MasterEditorTWL/utility.cpp | 226 --------------- .../MasterEditorTWL/MasterEditorTWL/utility.h | 12 - build/tools/MasterEditorTWL/resource/ini.xml | 1 - 13 files changed, 286 insertions(+), 358 deletions(-) diff --git a/build/tools/MasterEditorTWL/MasterEditorTWL.ncb b/build/tools/MasterEditorTWL/MasterEditorTWL.ncb index 1eb84c0f4aced615480ed9e6f62f4161db9cffd8..6e0b044a9790897019c2b9233212d88295e6a61d 100644 GIT binary patch delta 103626 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%0Dt6H*QmJ41V4@pBqG{mAKlpz`2Rn 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

@-SUR3 ziS|nJ4Rk}bxDh!;PLv;Gc3Y+QHcpwB%rx$_z@wRwU(v`tA4t80)zTVh4YC$mi>$@g z5^Jfo%sOtJw$59ZeAf7pPTl93vn>n#nRmm<s>#0Vm`QM68~R zzPF+%nNmtAo#a7wK_RJ>R7t7@=U{iqhX`qcG+ml6t&lcI+h9u_Mi0Lz-Gu&s4yU6m zhskLWD$WkoS`0p+8n9Gb$zAY3hRNgQ>GC3Zjl5OfhxpYw`I>wWLB`jz3mq{+$)Lo* z5miDduhj5iT4-kb`1-q;_JXWI-B>F~Os&0TOd=$>7>*_uASM@DAeiR~Fd9+xqj8;Xfqczf6XdU1& z8Hl-Nvi6O(RAYKdJ&W!uf^?%g`d4~;y$9yI8Tw*<9b7~E5wUx$|E{|b*3D$(#K`~H zsD+Wy5@|dAjZwyAV}Wtpcy7EmP9n_2$4XLy&dKbKO3qCSvhM-9_W*Y9llRLv^^--M zNLD}kDSNHFQQj)=l=nVhU#eRA$$&F$0qx0BX!QX+8v=SZ(!S76V#FrL1)k6a>==8e zRSHQN`NXIJG*`>0ZPYPJBD!}Ho-RIqz9vtFLSkXtRw@Q-sf3uI`^;ocUsSea%LrG>VvQ}Ef0}c(xn%)+0 zGQ|sgbt1P>lMz07_rz8Bg+#LoCYe;&@(F{48t$6z3GM{<6L(juo7LUwVfD0n`K;bn zA8Uv;&02xeud-G{M-78c=i00)^z*QGPIC^YjaYKE60CtLum`HC)zx8ev+=#Sn{613 zVm=w4rxV!$R!UFG@M)xf0R;V(-dJy<=SDPiCsZqcSV?o@$q~Ltk_U_n>@5>rCLD%E zT#a4*Fus3qtyi`wdzGWgSp>P?DP<5c>;O0EMEL3NsD-prS}m;|+;9n6UJT$`z)J#> zwmvuJ7|W3U^{uhfIAWXyH2c~3#psa3xrv8FWy{5A*piuHO?o7+^w0+v8gDr6$T(|t zz}<2^zn}ar_+YyZg7rE?94ZbIkLW$jIc3#G~MEAbm{NAaGpW*c$@T z598uTp>B?$lYVS&3-~GUU;?;e2JOHOs=ukftG-w2YnVfC)pzQ9_2o{dFZ1v?ht)l? zu!BEG!_Ajf@hv!a;5h7nzu~Sdu3WBCuBxuOu9mKjuEEfMiLPU=>#qB*XRf#KYFJ`w zvAx(s^of(<&fF^=6|W#z9xdgUib>_9>QX(auQb#L*Xa~#wsci`f_Mg#4LPM;SS}6i zK1d!de=V<&H_6}2hvZZ8CHa>8QYK2Il10g*lu_!y%{WvUt4vX5BW2*W@>CJw_{yag zLNBSMHdDI;HBVC)sH@d2a85tM-7>_wb7&PXx|$%_iNnb6=V}11{Md!W^c;%*qHuE0d8K##V zNJtGAMp`&AqQrFKIK2ZfAAfl8iCYiPIRkKXy?=0dCcV)7cXzgV&eI+vOcb(x`^QI< zEl`1MLN}HSW@|}w$kNbtWi|0}Dw4wAB*q)z8^{K+!E6W{%7(FcHk^%MBU%1HoF11_OiuIbujYbr+m zj6k!#FxPz%>a620A?B(m3(d*ClH0?_(NXRMKSvkL^+T*|2O@1}VMUh{VBq0|n{$&| zY^u=wIBXmKw1x?#@P}{h6JBk1(o`PHrH`eu2Odv^i8I&LNc$&qV;#N(#h+GFB*a7l zlyNQgXUm|fRUOtroxijXW=w%sm7jp;-9!dp;jhGGtHp9~9#w$*sFGA!s)rHDn{66x z$M(ZVaU06zF6OZN>Y0E`y)~`OTA`nhQ^v#1lAugf>UD6mU8r09ubkq(Gk?Gy^$t7j zvB#)~X@Y~me8N;V7lU9GoC#~-PFSa}*Ei@J_1@-bt9f$=^Thwb>-wwvX21;VFAuQ3 z3ycz&;#kJaZ+5nM#VR${ndc;*u#8p3pyCdNiEt@QHoi8F1m+-@SsjXm-+4Y-m|cQL z>I!^P*W~N+ef>z_o!b*!M*@Rs7`ZE4hoA5!JcYMhw_T%jC13@o71pu?#%bdWlF2myDsVpi<~ozHgCEU0)sNUFpHhlU-4kV<6MJPlTi(Lm^4=h( zY`(&xL>}$UEKFuC;2r7)|4N`UN3(u+^SAL^Je0hjj%3$0ZX7&?^XnPhU)(@QYa0i@yI0_n{63Pv(;qI4 z#^)`@0mVk(m1u0=ByWVxZ1%sEp}bD?trs`I)w@Yd6u%V<8sW&3YGLuW`*SRBP-NI4 zq7?%-Yj*jDzA^But6PsT3G=2OMO(0G>U202XTq)cjXGPMqkgVGMvL&~O@Tb7bb5@Q zO>c!9F5WlN(O7m1Zq++*tlpFF%a;)W!o~QLzU0mTEAD&+XRQBB-V1Xv9sVdDgY)@> zcvAeRZG??q{-Y7yYO<5dcNY!)*nJy%m7kplSzUUjj?UTV((WudX1R)5>q_urR?(_z z^Uz1R{+nrL`qMNrFQ60NnU6<1;P9n;bO5c$G&AcgrG!H|0xsz^a$0$Gz<1M^)@4uO zy?utnm>0@RMfcap<4x%s%_gu(Y$lt>7O?X$4SA!CabCxo*3KrmOuYlsxw5O0e60tz~gR$?syMSR1QcsRpHC?k~$&_n#9 z542S7eSx6wW-Z2D0a%{*_Z##ZcFy+GQbT~R)@6uB3XBE5GUCsZ%wM~oCgZ&nyu#y5 z{;dRl&R?)Lnk^I4NNJ@=#4FNC9e}d)6nE}$p_wP3Fw+Se;5NKx+&3NonXX3V_+xrR zH?k-2>i!D9?sMY>JO&;lbn-dRF`ECKO8E|1`l<-~zIo8L{{g4rc@Ao9d#4(Y}D2sS$2*DJl_mXmmHzldJ= zV@hN4t&J3zp3*?%0Z)`>NDHK&amn|RA}2#%FOD3C)^IJv%M;|8@)CKiyd75DF{CeJ zijv>RqLNX`hGdEg@M`u%oO`6=o2blC79eT$7Yqqa&4}P@ezh1Zm3nHN+6SK7+3GTN zBLcR^kRtI6fLle@bXF}d2Iv=BOJp36(&lK(v~}9I+IQMM%mJs7()u&Pd(X5~@D5Z) z!ebM?1GM}sOk*36y>I|2rB5)sh{!w6Y~=F6J5>&*U>uf}_>9q*Y+qoqa0gsVj>onQ zg4H}+&C^)(WOp7APb}ge!r&VH26-(^Mwo000%cRtYSR%e%WrW1&Aot8#(hBi^B7!* zz9JE<1tMH)rFDpM`8G&N-^BRd>>6+Y*QI4y83d0$M);^a8Y|rB3Kt01T1SLEuvrG3 zaxmUB@;TQW_cBQ>xV4<9$(5`sr!Uq zmpCJUhf*7lb0*JJ!U{ISSYj-NX}H{IjH!_~HKP7(H)i}r+G2!{mg33lreS)`tmZgO zMSSSJU`t(zVh<@!o`DKpUphW^0X+2EPPg?S!5d-u=#S!@7?GZt{8;BtHqi zu)2uM)N-d-_}3N>hT5B zdLlMD+Mm#LtSxN2YtnUuJ8xouT}?84{=x1khP5fYK_`f_EdEgvzJ1XA*}Zk8(~8^a zK(y8>Z4Cl#>$I(b9o=;TV>Qm>58ajcclkLY-v3T`O-rJ zk0_0>8cVmf8#|2eV7U*4LBcOT3p2_IyhV+x*BmrIdejPpQ&%CNx(51Som@KrR3}=$ z0FwK7^G~Pk*#TIakJTrLH2#Wl-ag=uT}Ml>A#De^^NJi~bNXzsJx4PxV-{h|lZ+V9Cd&N{?Y#&ujJuUX6EfCB6vERBdTh z)*9yW9Az#dwez8@UbJzr&IHD7zyaq@&qh7?c0F zMk|?~+zyJS)KlpZdNwn=d3vamNcP9+=dZ#szZ?nl{{rNq@QAfUMnW8N653#LSQ1c0 zHEBr}iO6<3#I`d)dnY$yF#B;A$`Lw=9b~Vy;DWF=dRv5D+e6)U)bk>V-nBF^vBBQE z(!?=RqmW;;-{=uAQRWffOQAjT4mu+9pfjeOk$S!oNk}|tDPq3zPRGij%(wDEo$!to z15mvLs|Gir^PNUK?*^vkwV15AKkF4;j%5MWLV~fg;b59;%tKIifl=1{Du9tMGrUVA zbD$<8$uEM0BntRL;0)G9zdn6=5(@BlD&mdt@${bS!W$usoB%@(nk0PcB4+-!|l9k~uQknKi91)HPN#7YBf-1aoA4U~2p!zRJ7~8@=ESdC4AJ$C%#p1XwQdgvtbeDPnniMcn zVrd8eWEr2K^T$?4Iu4 z?mq8+;C}CRS@o@wfjG;102Qrd!06mXhp^S!9%L-+L(W3)s}2gTXMMlZ36&+q>ymY-AT8d>su80@eA~8Tj*^x7%8=;XNxuP?p{zg)=W^nb*@kw)$95Ww) zOK$6k#?dA$0v@{_YENW!^afh`6lj=xYV%?-Zb~e;oe)Svji6asVPwPus~C2?1LC~m_FttZGs z?2VMjzVHI~N2sNDJEw~A^mCRBDJiAZGDu7L7>Oyp0|wVH+K`38?O0fiMbb)9K)&9A zStYfw3bV>4BN6`K%?AIhG`FQ6`(!7RfoCw>H75j?03|hXS*T<_lZ>Wcv6S#*Hdk99 z=cN@eWZ6}YI(8Br!vY`FedV5jFG}zuL>kRH!iVaTMdT96vLY{sq0U=zFrtZ9FfNA2 zb9D`%!t)(?Zo}_z$E3v$mYK{9H&dDsW*RffOmAj1GnrWcMqDN zFIHF^d~m7q`c|O72|bXd)eCuAeE`#k>-?*A{J_s>dDaMNMqeslA=RjfVj7DP8`!YP z8IpsHjaI=xFnt9QI5)tZ#m_gK+!vl9i|hsR$bN$fFhQSi{g1{V{{o&3)Ha*5iZ}=L zr}dbK^dlJwNI>Ljn0_lTTehK9SRCBTeq}0ho2CQYw+tw%g|rt-2`6$>tr>EIS^&In z2uyp$$rWKR^52Fc11=s$$uzA72BvMKo3-2%-8Hz67446h{6K_6Y9bs`1Jf!88^hq~ z(a>G_b~+%*S%INe)tVJ}z7oyEI!Ra~EW42>76vnge*=%-`F$d>CAbSs(vh-eNy zkjBVU7*YOf6i6pd5SzsF*HZqJ@B7gq>EFbZory~CUO+@5rh&&1LFv1)>0r9fpyOxxFh~&e6o_ZLXc$k!S zn3QywlydkVB^>@a-O$c9^aauld9qbPAx2ZMric;xrKw1(oeoFMj{#*{f}9j?v2dg) zr$mx+ge$eHUo5lFT+fOQOimeSQT7t)t-m9|^)=i!7xem95cB1#F%F&({^?GRNq;A) zSaam-E|r!cXLp4Z-qlf`kIdBW@BmiYNe2TfZO0?{4mqBa;0NZQjIVIs#}qsOzUm-@ zo>7n1GvQHW(Q}ym+d}+C_Xzy!%UIWi&n}J>TKPWYwDGLRr0hnX&FJJXI(dt8F*Wlw z@)cae;D+gkbzBJm(d(cuvnvmkIqGtlXuA-!)wBq_Eu|xT{~NKM^E>$ z%+aptS+FKK5l8aY(0ydeP1D|VnWJ!*Jm=+q{=%~0x-#E?%fhnYx-#E?%fhnYx-#E? zc46750PMJf*BC5B#{5(9S7gmU7kgQI18FStX%7~T9O|0LlBkXJo4VR0Jm`CP&_A(X zeQ->;(0Ni~g_alofmqmO)#0xC3MPAJ0Pmr&ZDt^mat+=)unW1JCtMd1`TGU9?mgE2 zCqqcxBjy#0;k_oc#76KIb_9YP1Q*^EgnM>i$>K3Av%H2i`M)9^l>rfj!y%p-uTLo` zl|bCJhUBXc6RSVo0WlsbWiCeiIvAqgOFtlo?s*Qu_8@@wGe;cSe7A4+qjfe)fRL0PjYynj1 zB0Qxf$U|EOz1&bI@ZWHBDhf+k6(pAM>2U;7>qo&YpSU%(joJTkvD@9i+j-WQtpiie z4myaf!jnwYzV%^k!QCI6S*bT-tzF=|;?`tnC~S}M^srOG_vTZ0eYt7i6}m7BX)ig^ zU2-EKF0VE)U|JW%8?I90Emr)?(7du)X&%-TNjGEAzsDhiZvrNqEO?hT*V%VX-&ojA zym7a|Y8@L022{fmwMvllUG@nJCOQ)EmYJLq{6qD7pA?roif6?dNmpE^aSE1}Zx#VBD*Be3K zB<|hojikOR=-WK2hBw7nyg25}cBfft(>gR2K4i{&0xPywCFO1!O4Yxh8!3KHgf#Gfc4UBg^5SIk3e!O&2l( z7vh&3NBJx3IOwWR8k2SS?)rCRH$Gi|kQ~An*^dM2oFx~?C2|dsw%eo-EkP&Z+j_I{ z37v&>DZX{Hny#fAX(B#Mvz>lV_s|2BXP)qj_at>G&oANIy-21{DIYETM;lU+@*EPr zorjpT50dzJRi@PSj$%(pcmLSB-aI~@l6j{uUJwll-q19N?@p-SNR3L`pAV0^NP~Zezn@{uC-J$1tuEHezQ^Aw<0ET* z5by{BzKdpmNOecZiMTGSi*+UxHQPNQcma+#>k{Y7s@*OJ`H5qOdAkX|y3iJUIct37 z;I(=4*TtI<_;*9^gz!B!KP$}&e*P-K{rTdAx^P>^fL}F)pVj7Pqx`!M^+WhEHa|Pf zPKlSa3K3+p1s< zvMerz2c4>~^9sa?$j)9Y%8c05b`%STwm^%i)Fj_s4mo zsp-EP=PgXj`=eWXBbh)`_)E3+dUAB4o8egFM{FV7&B}Z6H6qc$flCyjWdki*+&{jx zH$weT6aVVg-e~bE_ATH)jZ0q9~IsW zMy{Yi2FE#pjX2sCA4cs+JJHUx3++mUz|8iBZ13kZd|s^7FG7m@JL3d88Zq$Pbicoi zw^Wf}8#AigO>_z)kYBtZ9be6ea%UpnD&x1>dLzDiK~kg7aYlA}E^xc; zD1UDhuj(YSm@Ff=dOORiu953D-6VW*ggxl-MD_)GR9ey`&~Sz6+(7S1;~&=6>+!D| zpS89x8BI>Z@j>C#_-b%k`tS6Cq#jTv(Bs~beu28?q>ZXNwa!g12HGPfO|lg=vap6D z4W}(mI!f-Wzi&IQ9{J%BQvSviu5UhY{BzrR!&64nvw>%ql_mzxoWg&woi|4_XtBWM zV`#>}Rt`ER(8e0g7pe5Dz^V;?zS|NYzhep zkOVMU*d%Nq2^|u^(5oQQr1zEpN@s~+f)F5~4GK~Of;0iqT$Nq~1r!1*y;lLHDkw<) z-*fNXu%hq1pT_5V|KD%fPnfyW=S;bC&zy6<)78=G$=}0Y zJ}A<^&$F|`Pph{)pQ&}x%v)<@Pvk>2UsXO+TNO6mT5DBD)(!8gTHG&FB}g@v#7KCT zT970j4T_Ah2l0+tw$fbxwtC+&mA#7@umi&7J-=2HKhG~6Q+;7wV{4w zBm+x@a^4JEJNXLO7uvoO&If7ZR*^gGK!kDaj<^_`$Y!t{yi;kh%bzTaOyTx%O!u)` zN+&iEuWKr=8He>$W&Yh|M|d<|+%y+E@h*JLK{drxPKHz|^bzol$doGiA41fh%%+n6 zd92Nswep&95*4J-aac5D43pj;`Rp(|V#mvO1AiZoa3As&o7KXTd6bs1At#HNlu>4a z|Da{u&knFJ@Zw(0*YLG?Ig@B0rCGqna+_AhT4nGfbv*Dahd6dY;y!o42V_NVxwIj?l-u{dlKa!1N7qlwtbFyeixn5`8 zMYqo*{q1%TjgEs9n8uoO64fJrF3aHiHBv6%D>kaKGQo^&{89XiES{4L9{Crt@%$HU zi25-Sj-!`yFkW&|U|i`rbmBP~-1)pzD*tMb!-QG zl=)@ejgx5E1^7c)D7CJvNR=uX#gqe)Uc8y8b2lzEyn5bHqJ~BFafFE zWkmNcBK<^})sZ1e5A0|^-_P^;QGN_4EF@J$^^M0-^twjazHFn`igY%Kk###tkpzQ` zU&5s|;mb%UistP$wjJwr7h41b#w9o-l07Nf%d;81WR`0bPi2=iLbS1SvI9j04q}Zt z*?l7aYpe^Ou8|{+k(DP3&15|}2~3f{53A3~S`hh%vKE|#r0A3IeYTN(fEDpEn+X8v z*+7YYlaqiHrF#|Ed+j!c`z&ahDN0x>~p0+#wK7ZnS>d%^5dxTb`nM+0tDk^P{2sah%!!KojKX~ zA^%!7jnlUm`3JH_oYWG?{{rO9$z%`tXR@K3q>9LI#ml~iR@E!$Q>eDY*04>QuP(2l zZA+c)yelVRBg(jxP2?m!ME?8iYwl1z$b%^BByAREakA<|DJHXCoW7;i#)p8hTOUsp z(-t`HBx6MWez+1PNh0zuVd=b?Hm;31nd{*Urddick{F@{)nSr}#COR578@-#+=j-7 zfs+6Z1+|9RRT8-&e-#$UAt0mpo8umiY{^jgd^U!Y3=H|Ju^?{IX4C-ISL?wPP9|X} zz8NH-NY;h?TiDy2#8*f}X$ zy3>?*&?*|lLbR|3{4MRfr5Y#E6RKts>&D6Q3i-cdU&=E+j!KhU2FP)xYWr_AK<;ZN z(*!hFHz83)1_{XjBRk6HXxqei7KnEPeE}vzlcF9|zZ}TM0Hut?D~2Ry$Ul~~=Op$* zyWmT#GkckJ#n*CmUISkcWLtpJ3}Y=hSrZ`t3YN)hw_c|{#6q~gw)RdQ%7=3jRiQ+~ zA*@2eDCEz<+uEefy%g?{523~DtIf^+3^oGPZHMGJDAPUm75_<#9>%I^*&Fdu*nDW` zeoy)MP}g`_oSI0>pL*~q+k;cr=WIF81>EgQPU`(s-Xh$)leh=@-voP%l=i6{Gb51> z3Z2UO@s@Td=Tk8k@o91yY=hmvj@<*+z>Uz7AR0bR{zuFPj?b`v&2Au7f2#Na>>dx$ zx>{;5Tdi%8cDzhT*PoKC0rL~pt0W>}5DIJq!P*aostMMy8T`Jsi$2duwVqPcU?n)I z&y(MR?=BL=ApdgqI)7W+D|#~0c&EP6(5vqtdKD5G=|qO(9KOAdvokn_6HThyF*DQ` z6ul{l%5-3(!`?^yW8nC1Q%IJJ*+;Ln6d09j$QrT6P%Tr8zTvBtBsi!Uome&Qqs`ah ztcBM6E$pD?tH)<(=ZP7d)YWNVPP0MOlJjhfQq@jQ5*t)lI*uBowNC!QtO+N14VoTV ztUtaLN%(?d1RKGRX+7`5Uc%N(q5beJNkSIn&tN?`iBXWhFMD3>c!VQgD_9984Ri`@ z#}fDyZMcT8#@I?JbS4z(r)b-12Tr=@6k3Os;&eSq{voU>CyizD_h$7t-G@>GXRtwh zFsEBknvVsH?m#I`4D;l(R7%)!x+mRa3a$yWWu$vd#5k&q%tU)HWw{a?7M>-`0*S}rg}t>*FZSizXJ_mBV#Tp3 z(Zn5!H!v;e9PBf*u+tE;omS7!jC4ndA=8ER!VZ&)4^q+(rMOT|&@kki%}BYEe7zKA zJNc$F2jEK-UJ`XU_?lwG!KgRvg1!8P`Za3g?%<6T<38LB_S~7(DqpQ8e;(|suAG1| zsG#o3r@!iRa1fWXK3W;3UzKqcWl(o&@rJxP4&&W;ciw~dRQLf@!X5U59q)1ScH_Pp zduItFu~Q0z#T@J)0weAw6>|aGphMZO2_x%3 z6yMY7V4+(5A^t=!MmrG2_fk$0bXn-8Fh0GxFBp6QVDRBhO)q;pqQb%4q8Bn{xWgP= z(GkqS6co2`m+SfFG*xr0rc&PXzo!iF$1F+)?QhcYrG5lP{w z9DG1pw&eh8kjxf$l#@8j|X@m*EZyIJh2FIEh12VF6$f(G?NR!xwN+ zYYXO2JKRNd!O=urrL>}HCaUY)d2PRmSKLyZvRAWpIF4<@Skf3d>MEpCbF7>eYEAIT`t5{ZlMu(l*0xsfxu_? zHTyHC4;qag=+RBEw;asrO^ghBQ?Vx*iNKI=Fe8x{^4($IgK0|n!W7QYW9B$?l*UA) zqXwn&V-9xpUPgxu3QK40`rB1+8Y89*6+(Ms73_{d)1DIXsJ0Q-Q0`W`aEIlNfxMS? zh44Zl%X>d_u)H&vgXNtDj*(i=2(Lw1`fO*`h`iBDh-p192H#1yBDWmyH5 z#PkYloF@BotP+?Yb@2(|V38kXWZi;_%3;JTC*LjRU=4*~#cyh%h7M;A{`g2noSUcJ zAY;pvZ=1sXMmOyEy6VEn(lQ0NVZ;ij-n9kS%)tzQl{uKr6Mc2?j7Od?#*;*Qw~c#Lqz)C1q&jv+=bCj~@I*XKWiA=b_TB1T6C z7lxP%L(GLCMrK~=d-_?`Q5S}o3q#C>A?Csmb76?NFvMIKVlE6Z*w=Dlh^aa{E(|fq zXu2@OTo__546)xc&h~3u3>Su&3q$PJ7-9+k)Ii5S!Vt?n6{WZTbwFZ&3P;TT*8z$B zDI78TUk40_D{K^8uqC8A1R0OI+g0ZS%J%yM&Yhh1;z~PS=zcwDlkHAuY zP<{`LKN(5qjBa$TkVY5+nFA7XpxWy4j?nxe!3MhDeL;Fj>LT@!q7C~><9dNu{U5?= z_A!`WzG?UoG68W$g4v-)p9EI;l!dB)DxbmkK@CzV5SEr28>VQoz-^$9Kkr_MVz#BJ z^rF-mzXLF3@(r-YPe^aWG~IGEe3S8|2O$ava|WN!$!6(Q{O%j=_l+-|RfRMLLBX%3 z(SMa%VJTy0qyKsJ()Mfa4}lr#n=hk2dz(m1w5G;F0rRrnp=?)-KR%~6`Ws$SlF=+8w6|OkWSPb7^`&MYCWVqf7zD<; zlIsN@{H);#HK&xtk^bm`GDH=5|NX-z!)e8KPwI2|odsPY- z8<51K8hN44a+r%RLoBgk`_||5;&F&&o`0*pp6up59qR%2B>r;ydWspLmTKP3FgeJs zDjLKZNaCAN3y{F21m#ynl9RF$w(H8*){LsLZGOQd4P=CJJ+d-{ei&t9q67r2(^5>FX%SQ|ES2cRO`>j$m*| zpsfOm3P52Mpj?-TPNblz6U2jQ31RZ8GL{#){R>t{QIe%eNeSyJeHjDg0xE)9UPf&@ z&o=i`o9!(Lt;eTXpHM!PKfu(ai=J=zC4QM- z!|yu(i9g}utzgST`(wxj{B|?(_y?Pb2fNPiqP}N06A!2%oJ07tn~4XMAihBOvzv(r ztTKE|;V(V2nRq~Wb37uPHwW4@JkY~uHwTLn{_D-bv6*<#-Vjv6<9GIjN|cTEg&?B` zgvqBUdqM@;4krA=?V#8fn3#_3pg?>bYKaNC$-h&6w|E^89BqaW)faeeVH0U;am!1! z3^m9@TUn+{_M*do776{+4s8ay_bvkbXOYl9?L~+G{H-PQUz?i#r|6$_A}J#LXOYl9 z?L~+GEE4*sz3A|tg(#NK8lZPr!~JLIpZ21|e-;V-(++{c(4xVA776{+t^&*#1^#nI zQP4l_5V9^J{AZESKkY?_|11*vryVlewEqNjogM#x%&_D6P>w^Du!GE4` zyXfYE|8&8Bp7~B?ZG%U-11|<9`;N5OyyT>@mhHOS$rd;Jv-qHYGd!sMS$t5m@$ZBO zwXZg;F|0Mbr>Ts*kIRg|6&}?7EI#Pp3=axLLi$>HiVym?!Gn4x{Nx9gdE1JSJ}!_@ z7f7fJB-8~GijBwx66yj8r5BP5B-8~G>H-Pv11O+(i>)rUzL*On6nnxW7f7fJB-8~G zO4#f!kWd#$s0$?21rnMH@y=0(35M4UE|AcNfOF(-IyVouVs8F!#ewQx8u)rqZZ42e z7f7fJB-8~Gx=#O*e!KoNeZKy<{-XXSK*65?72VfR!cY!4%+(Fg1Aw_Bz?TPOPo04M zbPg^9wixypTp*#jfD|?Z$JPZB>H-OMfrPq1LjOMo33Y&lJ_}Ra7JX{$M|N6CkLkBi z#Rq-Ja_bGm0j&5BVHMl|da&X@gjHPmPka3Uk2W8uPybm2q-1j&UH>B5O5jVl*U zm%nCljj9m`bwtmFnF!RUEEU`V`a1p4Ay_LaD^Ju)^w`jE^GEfnZr;NR_RfXWEMFm1D zl;qA;e8225s*Z6IP$jl6P%HVEIgn0UgDl3WDlh|);bU})I$9CN!5wIPQ$ZRB?rs+l zuMZSlb&*K43Wxz4*kO$hm7(iDmc0XIW73dM1km;{mM(tT5ov8Z9V)>NYzo4Aa%dNa zz-E4VHeYMiM~v{PsCJoIq2o^q0IdLLK>EIf3Bv|9jxF{(BM3sKD!ygQK+qUfK9Am>p&DLAsR}+!vIY2oCbbDw0zhY9VXTM zSAoZ1hyG`Vg4|0Mn7gp9%8xoY01$`t8?2!C(qWd+7ngzNyOm}UGSW#gaaUyd{*HDI z!CIo0tY%}Ys`mH4WMuDv`b9;Oi35s1zzDlfg|YlYSe!g>cjPJ;VEeOx?G64lU^}75 z(8PiK?sggiGR{DAfba<%;gYB|IWnjOO;%ca1;<~2NJF%kIXN=Gz70~qy8)2( zth)Ul~eE_*Vj!)+IwJ>`tX!ZAn zZvJ@whNAON`$JWL1-Au8!YcsIod=^1q{B}e!wNtnuLOizRmGq{sVnN{oXNtubJ4Z5 z@V5Y+?p*rY2&VyC!#?rZCw8A8-*UbVg!SRR^{{)>Xx8>`;Qx|;7ysV= z^?Iuxpd)y9T?u!)`vmuN_t)Gfx=(U{&o^gssM50?L63t{g1ZMV58fV3=*YBTSOaPX z+zPxKm=IYKTIfI}l$t?}wgotvtqiRVHM}ao6if?Wd!D(4pWSb&-(0^XerxdNi}7~= zuFvvK*icf@+}z9G(q(zRD$&6CVi%~|GY=IQ1c z<{a~E^L+CH^V{Zy=0)Zu=4Iy9<~8QE=J(9&%p1%fm^Ya>o41&^nzxy^n|GLZns=M` zn!hyL51J2|^UX)h-gy;jilIdDQoK-Xq1Mfrl#nZ19@x8x!bL{5BA2Xm|po zg}S|-hdqyY5=b*`xR;r)u8DD^ag=eiag1@Sah&nFKvQuCSW~?JPCiH1-18MrRl0tA zz~aEsz_8<_9PS-BI{!a~dX4%O*z5lk>h;SS?6qos!i9S6LcLZu2^Z=$0|1f>_1cAc zjTglK81>o(t?YtUc0ns|<1T1r!qNQS4y|0Lh|tRN$o#0uQr_;Ud0d{yqv{*QsgqIV z^4y|U{cl3Wottf0ATO9~>8Z<`Z8;GnPAs)V&Rt`Arw? zEe89COH~EX5#Y+L1ES!k08u{yn|pWIT*T0KbPs?NjzZjrUV5x{;dN$kyr}_2q#`tbJocYcGP@)Tki&U?;L*jnSHrh zRTD7b27>E#5@7`hLmOE)u&?H^Mc_@5iOkOxGl5589P>0_32(7`EWfzgB+5Gsjrar% zlL+J^Ab0im60jP(;Wro`AFqRH)+Yo1WuR@d75vfN&Mp4w} zJ_=7Q4Gmj_&-s(!L)>E3HM$K1?{X2#Rr-FFU1QhTXvBCSS7Z53N|X;Tr7{!rze2a& zi+K9l^%1Z5M>Pq3%3X1QrxwDRihTd5AUkn}iJ8!kZEdXj4l2(o^f`V1|69RF?cj+! zqmQah`1`;|?a!c(qQ8GD_$Yn0JEM>O-Qc4d+G`>D=-&-K8rfeRaR>V7e;xR!4DiuS z*w#x#o$!)}`dJbs@$UM_+pa4e*Okuytt*|lKYXPl_AZU8mRB=sq){GOJ8Ck|O^wvs z1$+4o^}S{M)qCrVhA3SVEb+ELLBFX%l6U7ffdxu$sP5ds>|M_KXl0mwRfdBDTnjdO zoAVb7k<@=E1jhcst`*je`?gYdo+Zo|jB%=979-9r`CesoIYPG`wOJr<%?E(pOyPG} zZ9pQEuQmHvyZyZcG-U!OABDWcl_o%Q2e-B#r&~%&@5c8kHDkZ;%3o`#o^2v=Cs_lR zpeFuWFSX(ctgd!BO8Cg{p z(wE`}YBdhf8(|>+q%wOQbrn*nxk9FU(T+YJsirQ7^Gfo{+G~3#n}v%EYWqzrjw6M` z|E1PYUq<%mgD|Fc|EN-S$7!_i49b&dsN`wG(s5Nsee1#>L)?ITZJEQ4{B+i-i5m7A zJEcvRp{%4v@>KSCvf8*?Xv7`GqC72uK!pl3AS{u?W@2^EwmV5vG{*bu-+sD%=5VVW zw*J1;?K6j4TKs?O=@#`lA8ze`_vu!hGlhp+``>-KedchBb&!V-;VoEoVb~K}fjr8t zrYsJB=cW7-mU1uFN9@S15Y&(_@nV5etOgO&sABFpV&seyoI`z9L1;Z^h4^{HP?CLwMEPVz2044 zOz*D`)|b?u`b*M>p3+s>FFq@GTdAe8aXjh~H zJb@r$Ggdd&H#Rr6H)a}_?+k%R4B=;d2AlBSQVA(UDve(le$i5lL|6$mrCL%w80POS z^_BYJH(VMcy(UeTR!d(2t^#8+Qh!wc3ScpQME62Wwejm?TE1_EW+zR! zd0AT9GqEB6)=s?_I2%(CPM{aG_2~f(LHq$PHV!}4PQ4>s1-%#smV|1j-Vv^XUi5`* zmTITo5w3z>bY`6?oIo!e5n%}MVl9<<=)iiQipwbB^>8pzK`$KXpHsqXvYK!m_WCKk zRS8dE32+JY!jV2!2`>+MDi!pC!bMUsi@ubCdcnf+!wE~no}iKx2n^A!n5D8<+%58- zLtDhjS#>SLd5;if8}AEpj00Q9ft=7;f!UxM!wZe}w*(2uus?g+W$ATLN*DrO z-6)oXJjCE?g;+@HD7+s+Q6? z=0uC%nG@7*$DHU;I44FG&I!Z=U`Cr1cn}3Mtm)c&9Iet$_dyB>3N^e1>r+V5cM1tT zS^=7%_+HG$<01D`leaOvh~H!YEfD?g@L0(qyz>sLw@@XBQGeU2SNbvw=a=KsaVZD; zrHB{*r~A7U}KKd zJ=B%PnVEX9T3Rbbqjl6vcfO{pDv0q5pRA|PHY(&KWLu8#5UGy7kM@x>Qp%9}3y{en8 z%htWAdrS9@ZmI4ae5}!a`at)yj_Hl~#o{;EINUhP_zphxsL`2*)Df!SuUY4({33K^ zlwYJSL6?YM6J1l~XLq2|oROyXEQwDs#*zw=lG;PetRn=(I`bZQ;p_k))mh_t2;6NXEM?+p(PI%5@MRkVW`ynPM*3`6iD8HwL0{6-tbfgXDe zo;#KIo}GQdH}N|_F!_a>q*$r46ku1E{|PB&uS&E>Y|k6&*wtihr1nyl?y!zN8ffSo zlWE;9b)n2Nedj z9lhsi*gjUktTwZLJjbxqu-s$_0~%PT{&|b5UNVa8cP!yTztr-0Zh+;Kd}^7coGy2^ zRi76gHPk2%ot`kA=T)_g^pHmmwoK-;E!lGRGE1s1s6NV-A*Pj#)p!(yxn7pB0a^P+ zklxb0(qJEY%X&l5kp#JX;Nn69XN18%G(2XwbfoZuOEYJtG+PoY^p;t=Gv9nJY8fnb z<%zFY#!150Xo(gUH_KFaL^MQ7W)qv;ELF=NGX~=;UB`|YgW&4n7Kdwq8wl43Hw11$ z!7)+F-BO}3x38$JCUcH7VsS0csxgHZj|O);3gov zyyjNWTr1o}ghy*`jONC|t%7h-f0}ib?)_2w#hq!^-XUqm3K)Tcf;1zo>{h_OdsA8@ z#Tlv?gSW{gZhK@WN1_NwLdx_#aE zi%*wX`}$Bh^hY~Pl{))H&E?jy%2eI7+*()4Hj0Af)?g(dB-h&d`D|kuRt;NqwlM;( z8{BZX?r_84dcZ9W*Ap(vQ~sUL_QX4#-s?Ec<8Rpb{bIwOs)uzA;mKHG?Otu9u@tL? zWjfMW60R9;C|p0dA#nZSmVg@oHyCap+%UKW1tUeoXH^4D;90R=6ZeZ+?^?Uda<-+B zPQ10k8X}}M*7!Ojjpc9-@j{-maErk$1J@gF1Y94u;c%($Ft}8ABwUoOwqKrRu?k5n zGg+d!r^q+qDcH?Y+2Nn%W(n7SX8ydPT(HjiHZO*~V7}20FTH|-`9`tj6^qr8()Q}p zT&tb@WlT@QmyCGof3}vw&4m4#t*E49BlBgPHYgex+M$WxQdPX@ZV409+%4hHY*9Jf zXBMtzcOg*%wyHXP_lX&vmU8|oY4jLpJtm_8^UAQ|!p5q+*kz--gSt&$){wuUndx_rc9_LBVBZF{ZEy_}(Y+^M^|MEl5xLFmwVc zDSR?4m6WySgNaSsbPx*>wuRPh!jx%gE168<I^Cu}F%|5e6B=FKZXffgAncL-<42o*DtPcCLv$}*OB^*spW@@?4~)@cq~Pm559(yu z?U_HlH}c{ApYQCwSo7t~duIzKhz9P_32tF!0Nc0>ZU6ubL-X0(Q zNKBYkQ_m}k4X-2R2lnWA-~fUGABYV|DC^UsN4~{<<#C}g>m)R!E*4oqfes0xL|WOH zAh~7r>YYmPGVXYDLV7a9&#eX>W{Y&)h>%UMuv`v8e=dOS?^ni^A-97u{CqgMfsW*gy~q&LX)_)F|N2A;a2fMW3jA3#Q;O^ zCMNcVXw|-AklgfziXW`cyVQSjBkB8vqV`&BiV;}bW)ace79=ljYik)LJzA_p;GKk* zyXx1$FW(w#+rXv3B~N2ZsD6qSi^kj1q*6`+K6YC*={Yq(sbsTAAA?G|+HIY<6!SEt zylH}Mxg>RX8X~$(w9S!TcFNmUw3>#zUXyG$OVsqtSF^qAdN&hKeo;F@bW|{sRuU zN$9X23bw^fS( zg>Zc_-&RexQwu?PjICW!T&YSNnr}Ox+v6PdZWWyx^}zyLxb92m3erTxa#V1WA`Ux8 zEE9LoRTC>_V*8xS`o{U;gmaEtqLlz~lHRt3bKM!|WEY$tu4@lUH@Yme&C%U;F2!A> z<)T4ei)=6Hesqp_Um=C*UU@x9D=8#WDX|EYc%p?UlsM_=?x96Cy-r%{M9+z0$vo=r zBHJ3BhZdpaF*>JuPbJFw#kQI{Z|78g&JW)^s?je2@gQCHblA#@oHZa`9d2SFTDa2I zI!kP8b!D6jiFD2;i47~!I{iCnT?OZS>)x@Y=_)zri*ld#P=`uCa6CI?HV5buT)Hge?a-n`|Dr@T-!9=tIqkp7v}k>FJJ|z4+*oU{TT0@uf+;f{+e_2 z^#r5Z&CM$?cQTxd3>Rq|FdjQGpQkt%Qt@3BGTk}l0Hx8Ub>TWT(>dj$cWp7cxy~sM zi#vN-?@;9g3~hCy$VFg zb1tM{6~^Zi=cF}7&RQgGxf+vwt8>ICk%P5udVm$P)47Ntt8E)}d$bUx9s8W4!`9eV z>b`W2KCC?`)8RFdvkKLnTVork`^Gud3FlM=B4R1(PN-yJXPm>|RN5r6*4ifME;vVk z?~EZ5<=#VwuR9leMSD>9i}%p`@167QQ)k)wi~%)uKRQQv3r=Gm<)>pmJBKHUob{+E zd>tx!;v4}k_eY2rzRs4dGcI#l%{|2VjVS3-ITMq#aHTO}>#-`mwGf4l9?sD-*4s+y z{G1Cih$UN5!|wI8UpPn96Z!8U;_-S++z{six5#?olUA>|7_`CGPFLDFs*H01Q$z$d z9C2!ct*aEdOnJ#*u*$HJV#7Lww|U?8nXaO9?#j-&SBVJhJEkA>Zmf!Pcm=h+EjMC6 zs^gryhI6U_u_O<51bkpi(lv07SSKQArVRW5-EHC=F<))fGKy&79MMY|GjZwzY#Hse z2!+%wKEy)p=$y2H$ax=yZ~hRY)kBL=#-NXLsw?W+=$U7`q#NR#YM67X7}4!xl+{&6 zdj>eC8lgQXZLrH2ZV3H8-H^sON8ge$H79Bz%1RlgHZkcV+cn)(=X^7qQ{7W$mq^MP zkgXHW1s?p^mabdmoNuXfbc;_wk`>O;tF;HE@+;yF&F0OYpik?ZQ^i*DQn$(b6t&Sg zPaCo0L*$9xgb3L=&nD+o%hYc5+=R)x%{k(0b@aa4gpF^PbN0Q?sWz#TYQko$zx~b; zJ;WUuv+zr7(g&Txuc*b|-i%fq(IS)q@!0|j9Cc1QO6|bdEhzh>7NJavv(Bk13iEb! z^UxNw^Qv>ic%=nm>{eS>-3{mL7o8t&IcJF%OLm~F`&-etd(IIDMI2UzX&+uB543Ql z(G|DZKGhXCr@W^U#A`cdvTnK4^fGA=%6P64>9luzu-#T)=jj|VT4nyz&XNS@Gn5*WqZ-VVa^esC_Ohl zl#FbI7Ou8tFZP`=&MDiAh$AS%_L)M2c-54~LE98pE& ze1>K7H8z2z&fyKz7G}SLU2=sMp>#iNKQ@7NT8L87r;dTEg@Ie`oOTAK-RN9wDRJin zTKjlE4#u0D3)$xUAUi+oa?XESoZpN5yANPV>~)SfEpk35`h0;g*zX+SE8-3zV)z%J z&q3#i6C!^nA`W~3k{of4C?i@OM}+=MTPNL7EkfyfmoIG*x|7Z!_AhO(=*~K4eodj9 zse7D`U35%A1*ggfT zrm&rrpL$F7yovE(QkGWKiR2e1ty$DOy$;M`B%aluwaGL+(sy&&?h zAwj@pTh~K|SOjbmtyaYa$=M&qwb200dc5Mjfs7MI)Zj}r!N zlfOF@H$rEKL$b~y{V4KHSTk_9WVi-uEfseTA)xEgxX-xhTLcvB)hpeS>mQE`kPO!m z^scy*ABV|xGOi@QA?KWo8=&WxpVji%=i{`hmP z5!o#&oim9E<3{V{;q5B*HS*f>>CTl(EdgscME>PTrK7dP=AD&1$+P!W9;xSHaKdyW;QrD(~k4owf z%EsFQ4HXc7Qt-I=puB4FFPRNDLBW9{t$BQqJiKwdS6Q(pHpWe!JScv6EVqjE`SGwD zBjOe!I$%M3xY-cG!dWr7+S+(eZ?WApOwad<^D<()Zi+w0`S&7uOZ+g?Efl(?W3XE9 zp)K(@IlnD$*%m*-UF_Z!AD|0sW|CWc9^cuQ8|Agf<5%cSmC>wUx&*2@QuhrF&>8Na zkfx&BDHOi=d^~1S64E>o-A=>@t(b5r-eh*evpfDg@aKs?FFEH%{3a7O$<6M?`{;SR z-1$K~=7K>k@g%;Bwpf|wsMG+p-B9xCV^Bw z9P#4h34Icd{gdd_ehJydMQTEfUeRil+Yrvp`<%8C|EgB#m7_zW;aS@T3ctbZjHCSwulZ%Vw$%!3x>(W&=qx{w6#I9U?Ff}p2 zeIKKX=Thvk*f16)4xExWLE4M7K;t%$}AwkMq8QzlDgdGZIIN`!f>T z=%U8CtJ8UGHoB|pKTMt7qW;Xp1AMyJFcn$r&q{QY_$sALdBU7TER@q?Ne*Hbi$pih z&nbnRTjpAh@w{NmOm43)HNzDM$%zpM7#EOT$@Nk= z!K(ZuqL~?zbaXB0#VSeF5pWoiXpV4IellFLAb>=_9O0_`q?Z(kfH|7z7L|j^j&hE0 zPT?d!>BykUPp;&9uog&u(h*)p$uNd5K=@>*@aL59c6=nlNw(0DUX`C5&)OiIr?_Y(Nr^YD$vBxDFLx zhFD_7_N~wTbIHnT-pz1z^dl4z&>+@865oVcqCH3umVQ+vIVme)yRN)La5I3tIa+P> zD*g#~2$GKBlaLvZ;cSBVX<9;D7|F`fy(0-$q$~1rbUAqh_p=xHb$&yf4zonrSMfal z5e&iI;P?6SQUj@pL?cJd2$$|^zIcg*4o&!5$=Bg`1ed%g@moJ$m4W(*JH)d>3eEb} zml~ri(v7KseCg27oeS09H=%1hAL=)QQsW?3;P*+lR%kgImKRc7U}Jc-wZb+YGq3KWu>@JLkslpuC8B1i-& zk6Womj4YDT(^5$2PgD$u(RFqdE|8OY1vd_oCv{;Say$n6!L)=hc~u$9i`@PNtHWuf z(xjw>b(Ox1;VUs__c^t^jM{eSVo+7<`6*7qxW64+lED0Js6#+^Jlot$m3s4*NZgxx ze46zM|DcM-OhQU%yVjn z2Ju@WZ9W29zFTv1BvvY2=@%53ofDsFu8VQ0?$4I9csjR(q<%W8`KlYG+D@SddYO^SQNgExNMyLvE;u zfREJx{hHb>C6f&SFTd|NmAqFQ&5M)c*4Mtpg;zl>w_=lU7aM}1@WtOXaef_2YWjZd z7lkYhkL>F%`oA7oM$GP6FF;heCb^ein` zzhGIwbFW#(u2|ftjy|_%d9M|Vo7Dk9%U_C>llqkR=H92;s*;00nCO?cxcu}*VtS1V zL-UdhwBytTA=xvYOVv2dfsBF=P+OmQ!1@MO>7FIJwj zyh0NxcTI(t@_eo3LPfc<)>C=W*0-w5Z@p~ojl!&NN%C7A;LROq4al2hJtxWMMq5$# zWNR5NmlIb<|4lIit9PBnDavM&X_k6((#c zQNf~RN|fGy1_^LmsO${;mOjV>K;|gclIpn_#T`)UBDaCm^^iH(4721vCu#TkYxsN0hGc%W8WxN8c3et_iZ!a))p^i#-18ju>aP=0`>B# zO$7%Pp4w8NYA<0!$MudcNYqEs0o)D_{+-EPFQa^&%k6Q!3!9<+{?a#BBTz@ zrBXk~@2DM`H>cS|1Q7-HAi+fxcN4{fgP{~cVK7?New=WX5qG1X$Up)2Iz(>A7-aa_ZjXilw|in+7&34+DB$N z52Nz449t2ZBif6Kzh&TOE6>Lfdn#6K{wIh3RqSrqz8gK!c3yv}Yz#ein+XNnH#S*6O$tOWW+p$?*+ zP$+^c?82PaSQ+$>2!9TJ{~o{Y+92(Nyw-ON_gbhAE9xG@C5=+`S=IzTs`_(5NtCO(NagTw8q)_n`2GA3opvsBZC(xCEaJ7W1h`Y;h@vp@0 zuwyQsr;~xw8ioy#vW6|!GPnu_QVO(h~9 z!~?VfsFBxDbpqtwi;-@NTo_c%sH!WYe{9+9{9|Pbxu= zVmN3(aO0@Zllo87xSdm%1pHLy33jR_2ys;F*KQCmALP5kg3xBF<}_;upE{z4(a2j& zXfep8`L3`a^ofeQfd1VU-BO}T*dZjM6tI)|p=ETGp~4TN@H4ceFdnV7p4_GzbS3R6 zh8tw1AR5EF440xx)wCUxg6yNkYP#dB24bjrmsv+G4N->{@fbD6j!k2e7DW^2BnWb{ zFzFuj@+%gq^^D@bLz8OYnI;X9{tO6w8NKOAv9%&EM_E3#LXF$UH>{}Qbr>vpu5_UTJ-rIrSr`SsNVTyc(X>=T^$bv7W zN@4ZStG9yeuPLkGOGi88j)XUMR~F>@b0EU z+mT$6vVN&*n&l_atM3^^X_S0KlY1;t8xESeH`uFqqTXLb6?xi_-DN*&zU#`lfXZ&j z!h)e{L6e3^c><(c1kyW5djeGv70x2eLCi3XR%cOk7x-x=(~kD7vR5ra2o-#qoz;97 zSXkjQ`i^zbI(rU{yv-nN#5kQ(z9*p?rHV_4cnf}N(jhd6_PY~!cI@9o^lM0ehv8OT zsp>xK0UtHvQ*0PVK#gzNQZ0m5|4saEvx{2DIfd|KA-b&AK>KmJmrzJaFN|x%Racrq zge{ACEySgZz?`^LsX4>l&4}6@Du3 zHiMvoI_!45b8fJ`D4u44x|uXUYl+~LWiR|hjXmhwS@gw(=8*v49xT$Yu=r@!TtTny zvIbf=)IBm2Pfr_p22I+l#a~5zx0p#A7CXI{+ul|6w`et=1$oIh1-0`v28lGSXB2lH z`;(;gXCGcVuW7xY7tlqLNl|j$BdLnQ4p_A_0;TyLg#UpJ&<2AJUio%x2Y1R zQ%uCe7>0Z72EwQjcbF9|C*OB$0DLMnzQVLSN4G&rMRzE@=06R3SkJ3DwzCglV~a}O ziOTk&(96BN@2_~P~ZxS)S7mX`Ji`{ zhfI@`Nw5}(p@F1@_ye1PCyJ#VgQo65?fJAah3_z*$5}q1sewtBJ;CD3Y4%?^2P<dtR51&F z8oaCQh!%PZrP0?8h0d}oA2Q^fqa2}3=PN~l7>+zL|+CY;5X2zj*iW=*WG2Z*1HSJk|IXTJ-X~y zT6&ySLHmh})TGmNXRA=cF}CNCR@VA@g+0*H(s}L{tAe4Uc|Ze2n|FC_eQjkU>>xV5 zbZK|rfvHDCKZf4}Xr`GEz8BSfj=}jFlkyyUP)~g!on!B7MQmq~wp1E;hE+meDUW*6 z{R;EuGWz^JLaB1<=2BnE7zirmI4 z^F&?+s%+JuT3QQ?r)036+Q5>IL)SA{4CxzLEi6V+;G|LX<2Prjt&Ly~!#ciVZ{NrW zUQB%3H?j&C>Jj}SLv<1l5Ow-RK4(qkgm6N6KPg1tIM0lVIU5Rfp&5ZEumaW&uZ&VP zFUdL~{VpkZ8MO3iL`W}_$Q8oKA`JPeaIyeHz7pc~0g=y%_hv-3p4&9arf?lNB6NjZ zhd?k;e~;^6VkHqyTn9&bs?R8vG%e&hn86lTxeksbH1CWepOVlHVZ=u#aUGRUP_0(l zO^je2YOIE0o$&0~UrUH4&7zXs9dkWcOl=m`3oG_tZEETw|2OSv_J6&p{ag1m`@i1Q z{;hkO9h>F9*wp^5ds>NqxTz^0G{4@<{rmLg1NcBb1c)|iz@iz({j^q==QA}jm^m3-B7!9Hp_;EM zp9u>N6lUYCwLWx&B4ZC$i~D7&J99Ob#42h1NfM6+0j?~Fchs_#=6aZ2AYx91rQKC% z+g=6mii&)mJ3y|&*raP}HFf#>Fj7IWKeG2VYhRo@v-Nd(`PtYT((hU=s4`cxTCm5YS}oXP zqVEJBw#TGeE!bmHtrqMtsa6a2m}oeDYqg;I5hRo_wnvarb-gv$M{`MUmEv&?t+=X+ z@)45^73F#^g9jllg9ra*1`m$S)(jqeX;OE9FHOJQ0m$HifWd=Pyoo&JbqhouK3-(? z(!D-yzc`l(>msm%&{7wbqgg;`VpP{~lRstwq3N?05SkiQ3kXe(ss)6mM%4mBQ=@7D zp{Y@|fY4OkT(D&Sr3Hkx`6kr@LcU40fRJxeEgB+}0z$q?wSbUM z`<(Kx?jBF&Q-U;hoed&Xr>wQXHKnYz@hOpS3WDngw>VrXIuLFE+yJNs0^w32CE+TCbeU;MNB&YQS;=1#F69q}OZh|K zs9jEw>zHIF& z(Hs}1Yt}oOzP^Vp?;~p_$99-ttLuW=Bt*!r5bhY7LiL6tA0Hf&0igNp)+ytOx=_*1ZOpE1t|GTD?;@NWQEA%yJhN!*27@sjOSBvo+ZQ6@`II2}Qlpf4l5_YQBDpofmo-i4 zBt6aU*&=0BVbL>QNNNA8JlDmN6y))(KB1h>QGcEGDF%b%p~cH7{k*}Z`*>hVDV`)B z9hh>t1|dnIL-S)o5D*XUu&FiD{-^bxS7iL}Q^dhX|xs!I)}F;Qv>^MVG*yRgAX z9XHEsmo%7fGK3>yq~Pli(Q{=3FE?I7PTSDnsGA`K5utLkPa1TI<|R>418bD%nh+CU z_`0EqT^9N74PjisyJ0!AxcQ`#n~r8hjj)Dk?!tCFA)uHK+G>SN6p3Pikrj)?=PV6< zw~CQXs(HzeuQVL!ZtzD9RYcrf#7(;0u)Ze`ls|ve@LpqsA2xQqyd$Mi5I30NH^`?O zG+OE*vQNUA!=%=Y=J~{s5E|Y1aOFovIq0*HB>lo6p%SLlizcBJ7JQe+r8PpoyEpoZ zi;{1}dl{k-T1A}ik5F6BMu(#EQYQ|SM9syqZXn|;9eVEKqEiPOJtTMPSy6I4jC#4J z&JX+ZxYVAjD>#zJ&F>lXj(ZYD--5SNl4w<{S3$ADNA_{ZBoUX;3sU2?d$r+D)5-aD zdIdQ@-%08<#OPC(mKVAlj=sFz#Y6akWFJoha}2ZxkT$7i4~*cfqiX ztVS7GjWe>EWMnnX$ZD36)jT7sMMhT3jI34}S*Xwn!JvXbzfsCX+xk-JaGrCUA?V7b&spaMJUa3cq$olx`rkwwd`I1yF zB5J0E&h3?9lq1fio;At(s?p{7hPogBW1A*ZJw*PusWGDElT;YMxt4msKiAS7G z&EN1-!eoRk*2!*dY!kT42#j_Npq<@i1jc0q#$^PC&dZ8P8 z9wRWZHC$F-{;yhnkzw`aVcdVUffxTtE*mO;%!bNA>oW#ZZiN5mEf!3u|Bs9eWWvY* z3=P!T-s*pT+brX@Ie6x8u9ged|M44O-}X;!VCf&$eK_j>%)M{ZO22o@yT0Uq(_QU{ zd;k1xY?NDW(>Ge?KAshxyZwy`xoze&&3(AUEpN@7cIV}-)8?-6RV165H`nJRN60f5 z&K>-1Uj6xff^!$Vp_lu-E6#Q&Q5m^Wk7eZ(^tdf$qFcEs#YOXebBtne_c0zHI!_@oWzJ)hx5wG_vF4mpyS4}KF($6TjJ=Slve{OiT zTkg$%Ub*qv`rOC;^m#S2xn2x?(l1Hacz+MEHDQnk#&W8!$iC3qLmqN7D<>%TCFIdh z3;vypW?VK;$7S=3-ScO)3hg7pua)zbUkR8s)l=+PpISytSet5;EuW4s?+>f|oVj)p<8ZlQ8$$=R3X+^mcPxr^uMMYr~uiK69; zlS_+ik6FROwtupR*nc&noS1RApNBZqZ*s6$yn8ZTd}q3eL+vx;GQHbp%HHiK-@735 z$)doNTl0;snEoYmz2@n2H@`8-u>^A0%!$t^`DRARw=zo3&nUSdqvYGUB^Q3>{^Zt^ zTN38HNp=rd@IaS)f1y4vc!9qpf3$Yl_ko$*cM<*;%iMQK!O|7WcP-QBezYV&UcPr( zA4RH6_Sv`WYhO98=Yk#K%iht;%O5RkQCv=*zhIjsr=`2Rx%%>vL2~-p1$LXf@wMgY z|F6CKj*8;i1311QN_m2ah#*MaVZn;12nq@su!Fr}0Tlto-b=(-VmBb-tQD{Ty9Q0v zI8QXj#DW?Xdr2%vw;-UXs8Qc{c4JPGau_ehUy<2VF?_lqJTPwM;^V|5+A$^Zcy8jLn zX;-WCFqgzmwo>f@>C0=$g)hU?=QoySsJ1ojniyg&#au{tc9pIrZfg>n*xOt>)*&N7 zDQ)#g8Ke7-97%eSF~CR~;-9k7IX!bHTWg=WxUMu~LCQH7{hC5EH=0X#vQm@-r33pi z{q3ayRqC)1-MlbsjY~~&$F`l;(h@sOM6hmR$p}rPv6P&XIzCX^pRPGyM?5i8V=3LS zPdm_ESD}l6*3MGOnwfUdH!;LgTC+E8nvt|WR2yj_MNZ97_tjO}yI0%NL|5`UpE1Bz z9)vIOqIQdc;k37s?zlVU76*KJwXTzE*sn%;{u|s?< z6=x1iV2Zl1LOoccK5Wncwy;A(*uw#h;0Px;!v(HzgAxMVp@IiI(HKq8RK@e4%_uZS z3wXgBt?&yJ@=!H-fPbq~_=#4(; zivbvjK^Tl77>aNV!*GniNJL;X#vlq~5setcVjRXJ4ihjDlQ0=mFg2c+X_$@~n2A}K zjX9W$d6kTi3-K8iVKJ6qDL%(CEXNA0#44=D8mz?^NI)Xu*YT2s^+?7Bh)`oA zHeoZiU@NvE1*u5GcI?1T>_R#+kO>X6*o`ldg+17dukf{e{P$7Vj|2Dy2O;4QvT+zE za1y7GgVQ*Jv-lC`a2^+si;K8~%eaE8xQ6Svft$F6yYlhBMK zAs*o|%J2l`s6Zv2;u)&&953(^)p&*1c!OW?7VqR^`5xTjrKkZT)I=>9!vv-?&yJ@=!H;(p*Q-VFZ!WB z24EltVK9bZD8exe!!ZIQ5rIgI^5FQ7rZ5Ik7>j7cAQs~=9&xzk$;cG=8Mko8uoqw9 zYwW{*9Kbg?2nqj|_vjF^aTrJNEso+l9K-kc0mpFyCvgfnIE^zniyv_g=WzkKxQI)* zj4QZ`Yq*XZh`-6pE&PO^aT|AV7lkN7F-lO12Y84_c#JYUK{+Z=iKlpmD!jl;RO1z1 z;|+enTXzQUc}L+r6kOK~V2B!WtRq@vs~4HwG1Y$!UYUioAwnF(^r0&wC=RPsS9C!+6AD0=}c#F^px=Xv84aT(n41J2o6gc|79q z6Lsd&$D4<17Gm*4Ayn+2r1l;9gc;?iKqcz1O^;}}5>N3Ek5PsvC`Sc~P>d2hgBi>5 zrM!yTFo%Vicz2TESYwfyv6y2g%#kJ^%UozKcd`Rjy8iFN&{RR+RS!4PRO(BA?09$e z&{fP0(k!jZ4gAvJej25|?;IbliK?NS`CG5NcP-uf&2bt*U$VTKT4pX!JD8v9XQZ21 zzC?4zQ&&2?M|0Bnw+?*Mn!1VK9oDq0F9rCdUDfA1Iaf4g^>lNj5>2wHt`t_O`BcB= z+$xQqfo|HrUTFOE=?f{qQhiF3YpzYKAtwVywz@jep4vzgslJ$2ZKiu~xjk)#uBI5) zO*>qCwI^-KN0Ns5`jzI*%ZSvk^ku9z*+javETjLgNkl@%8l|qmV+S()EOn(nq!@Pk z2ZG)o(nd*N=Vq)o-EM0nRv*{u7jinGeXHLGr&C%xv){52BY&QP-e20t*6`q9byJJ@ zzI==eAm8AwOjsb_ce%o`VRgT%1@f;jmz-L35{P`~C67CCsp2g2Cc1GVG$Fc>fHWZX z;Y@5roX+&7#0K0x-JCd|(QyY51M$gXl)Ipka9^ zW(OJwB=%wV`w*>}&)sQ?BdkCk68HwcI*o}T>?w;V68L1A5l66f{fP1GSODu++@S(( zDT0~cPyCiQor&8Ry}Aprj0O4=Z?K}i#6s%H8-14fU5O(=+lrnn7eu^nO__LzdL4+% z*gN@H?qdf-i5=O&Fyb7}sd(xtwsVY~h|AexPvRx^K)(6biwdlRuRW&2NQ~o62yrTo-$aIf0I?4QovKb^b(yL0z9bnN7QUHnHoc19{LH1hOmbN8o?1xaE1$9;RYoHIbC4l5N)#6a|JmA`KwO9+_#t}C5H%yKc1YFa*dXI z)p9m|`0q_l8p&zGpL^TJj;~C}leyKu%BYF+U## zkkgVvIa-L>(LyIN&Oz`H3!iJ9H^lAslBUN9w+&rKQYQkDXv2EsEba_?3N0atJp*QBU8!I)<}Ckno%nM}|?E5=R`!p*N!yn&mz zC1y<&oQCI9EI=WOP>d3k;sGAw5gwxqPf(5uoM7`$;uLal8fS18xwtBpO%R-hI#9I{ z24S$g7)~Mwr*Q^n@gvURJT4#?7jX%f;RybhQ{jWQ@HG>CLim(cvZ_%SjVR2<9L&X7 z#9|U=Viw$4RwWjV7do1LI2n3~MH7WE)2__vhVEj^IH85jMJivyWn94uoH9!c>MKrn a5S%|8R9~rvQNmke$(~+An%sIy^=^gK`#_4N3tuUwZ*sIamnFz#{M*SPZ)B zr$i4(g0l>~2r9r!pb{(xE5JxlKP9!nULGFNI&E23pHAfm$(W&Q>{T{9M=p09Po&bB z4t)xk3Z4cWHuV`O`Ik6Yv%#W()lNFq5Ng0$FjEz{vn(W^*ca%#vHn_>7v*=jT7YRtP5zc?x! z>5*AE&Kssf2X+LRoyw(*Tf^F+|C!fdzJKK}s1us6{xdAtVL#oS8D&%HIx;IWGDsyN zhGUX>Y5gVL?r;=Ch*DBBeuA{yGaSsca3%M~*V=-i7Os~J*9B=VS|x`v;-qua4B0%P zPk2daV@^pZ7R4|U)`v)<-6=CShe^iCR7oxFf6q?^O7$|A3e|U)1t>Y2RHdul+T^DrS9GcR(#WPNo0M)y(`jwv zl;oGyH6+AJY)x{28jdL)Y)xrRooYH@liUg8s`k7#ffs{M6S+tclg`Cnzp-8LSHR%aVKztmjX6t(i{bupcPQ# z0dfo!0Pa(2Jk!nso@LBluhs$oSY?1nMMA1sjv=Vgy*d}e99 z`4zz9?JDqg@&$Yj@P zH=%sXM>`1rO=#~}8rvL(&ttCHqxCcA;wUN`A+}n9{5vP*7wZe8vaCW^9BNk5xT{o3 zmo!S_o+}M?MYbGsePu=6_IY0chyEJ93U=Pyf2FP_#QcFj>M^C%E>srM_*G- zOKfs8E>_1@TvvIV&kwEnWGbA2zZ7M=rE$?Z;4`;6EiD1Qx$-Ek=)Bi$HYo_skQKWp z^APlZ6k#}@b{7XI{8wXyIjR0v;X0-Ijbg@x3`UF-z~rhsSwC8NSv4&0BR5Az>487K zq@-kFrQCe1zuvyR+@C9|8~2o|hIicN&aZeoBKv4(K6BnYjtygfm}f+MRvmy(J7#Hk zP#7P;Pe6GpOe&hz@g};pu~^Bq)sytcM_ZIE*pnv}Z-4J)DxCI#lHjdbgC1~sm(RPY z2HfxQqIZ@qMKVl}$HT7tzFSHA;y2|?^;muSSfoQ1ocfVI`TjW7vU-?O!7{wMQzDn# zzzrj0PVLb5hJAG~`x<7`ntadHb2aP3@dQCBC|RElcEG2- z5w1_|4OH2AUzhMSvD&VQ@I-Qdx!^lczHDjp;IDfZ58ehAp&GFILJ2k%ZdGE)aL9N204KgqAosS}4 z$r#ud1Ol21@Sri|lk=-we8pNx8MYHJn#0`%XeR+R+J}Id`w^hVH_Z+}`y6=VzJQ+$ zZdn>f!gq^VD8o=PZUE@5Fc>?W7)x9O|2Ci{SQ`CA`0SW(2lyG!1HL8DhFTi^EclG$ z zML%R1xggj_=X2Knz@jue}iv= z-YDY%x-}Aj_a0I3XTak z0cs_H8V8>aXj1_-!n9_`d@{414a$HY^KzLb@?TV#qUZC4flL@CDmz&Xs5t@m2hE%6 z)R{-@WF26gdqe=+z6YprHktu74HWkUJ9!^aJO&t808RjE%yw$A;AKEN2dI(X0CxPT zRp$Ud18nQvAwPisJ3zYuylq`yqQb^qmdFhK2jIHi^U)@u1$WI^w^wlAKcdN9SzLC4x;3p=57I ztom@2YXObZ#yD!Nfc8s3Z4B@p8W-VvdX^)VnYwMSL;0KMuOzA)Q0^F?nZ)A delta 4383 zcmZ{n2~<_b9melm9#0Tlz$c(pdBiA)xS+U1OjKNgxB#N4sZrdQP(?))G(6mmqS5y^ z#@6LT+NL(CO1Ns=TE$p`Nla7CNi-(zO+7g_+Em--$=;zQl=tXEe)C*z^(# z&46Y?v!IuteCXk(>`bpCzhOb+AO5wj>1h=N)_0;+;wUm5qm^OEUFU$LESOO!$c9Eh zIS_|=72@D{+Z^0bR+v(6k!uJ{F+d6QGQ^Qtcj}!DHR~G^?rI^8U5;j)u+Gq#w^Jf- zKm4{%p%N#gxBM8f(Af^|Xj3VPEH$qf)`Li=YKHPhf;p_kP@G(C8Ef@)tqFbRGA_S| zcpLV1`+?;_=1=%dun@o`>we2F@4lerHO_putYXE#MXv-$Z72ij>X{r;}T$ttk%%m6~b6Qu6$2nH1AYULAQ$ z3g(A+7dmC-s1Z^(p?SkM!`|rqW*7%%B(`=+oWms(radd~98Hp>j40pqjL0bT&(mi^ zW}Crrh-_o;%PJhcLa9q~KhvXTS;bjHR4}(@mq%jmW`~=hPJ{Pi+zgVqX)PYpvvs}l zu&T=4>`ZBkxOgZ5Y6m4k?V%*71Jn`f1a*dzA?`M*9XDp+U|eKqKsXG3IFzYbHu4cr z4m1)P1?57F9fN!fyy8$ zs7#g1qoN*n%Z;pC>Pcl?56o1eCZ3dn7`K$S3$ebLl&kunLEmOyj_t;CVFhxsxllR$ zK;-K+i-Y&VH$yIdW_hM8Q_>}-74~PO4D-D3gx+PsySpSWeS5_gQ>tbhl#=-_>w{T) zgH#JCp6yX?>;CL|s$#1tpG! zp6}Lb&A0$H@Z2ZwYvzWpgP1N^{eESd{+rs4d&WUg*V}$q!M{MQ4RU{bhSOl-GmjJ& zqOewqcVswKH?-E?UKqLrg-Lk64Vhc~s<^i$So?PmRo*|>ST%p>r7C8aa_7q;tEgaY zkj&0^S*|6wl=rPNPb_M@hHBBsxA>0-gKVp2ztjwGDx(OV>21w;xd;CmBj2Z4efUav zuFOHrkQvqZ$GG=2gEeYQ!(&9iq@#5V-@n=6JHijujFpGOv+@WV8wbxlGyW$m6fDoi z=D^2+&DV@KS_sdyyn)BxDLYvS=tjO)2a>%G-xT>a&G@`l!82L5xc%^aX&p{aG}_t% z6Ey3q8NVmfG%M9C2dqr9Fnj>9W46}-o~f;kC1}>q$MnLc;erb|NC)x|9t_XznW-7S zn6u%T@-)kXpRD7SXf_tCRI`AGh8J_z#>ypq6p{1{SQ+s7)a zDO28>vZ~rv4%zw9T2Bh10z04wJm(E^zQOu2$heh=)0=EAxK8h38(nt=ZG?|ABWPf1uf7_;c_~ zCVJA=2!dzFVVZGn!U>R~G^3A(Cyq7K{FRGv;U+<9hdj_=B0O=jW_&=p5Fqh%Vw|k` zOHWS}Oe=_chcFgu0x^-31vo!2+Ujez)d#{+;`>$17?$x}Nj4ZFV;onVv%u*ji-9(B(!f--j#2o8lv`&#=*DFVf8&1q8uO8H29OZwM+6ob!GFd&5G0!h&>$F*WADB zAf}U0Ag&fZ9Qsf*#+`zgzWU#L*Bug7@wsW8IOSBq`@Ub)2p=M=nnG2{E^O`3)Ex84MYW7)*f}NKVc-G~Zmuwu^1@8eW;n8;oQ&?-LMX z#8CCoSbp*?X{XIT1|lFyCk!Ke6vJ32`*E{P=1@2?S;3rVa)6P-<{9cP92lxU8Vhg! ur=J8e#u?d|&H0AKOc;V6jeS8XT~Ji|n!d#p^fb3+n*7C5VDldPB`g5w_c=lU delta 1863 zcmcIkOGs2<6h1RP^1;lQk8~Oz*K5cGIsLvXF%YkTh+`OOFOZp0Cuw}mjHVC{ZK5Oy z{CDjFw^npF6$T}3S_B5Rt=5LMa1#{N_uui({CCu4i#v1gIo~T~Cqy$e!{2%8%H}9e6BNM{r$zEnO2gY6 zm3-4v%C&qYjd$ImG2mh{(tUxZDN2(xLZ&y_Pta4Gwl7a(W3Y+He)!gLiJ9azLIIkh zum!8hSWnvPDENtN<}K)_?us-AcLMl7i4JQZHhU)3n~< z=(S~5Rp-t*A#6IJ)Jt|-NdKMJnVlb}QDiVq3#Jb%oI3-2E31gVt;*J-2pmJIV+iWQ z?*bl$PNT4b(k0NHGsut8MYxP30ig{+K8co!Mvl>n>xXEvBk5~_R60c}udQt0?vjlo1#W z9D~Rs3~WFQVv2*XSMha2l7}Es^^&?88{e#UqSnp(YV9u?%HjT!Tz>w@23P8x+*hgS zkB@12nP`2d+Gtmc>_VSaVs;>{!dPNwI5YiGm`cuEp!`!v?Fb{T$Vz&(x` zl5&uuWUOI^?fBmGNw$h)yl*cJl51|aMDozRG(sJ+mlm=*`@=r46;?A>6m0POpz|5F zU)V=zUNVKY*&DpQ0!C-M>=Rq%)829i!{DVf{IBz;SRf3&SVplx3iYuEY;8Hg)*mI< z61&RmOtiqXQRp*!!dBUL`298B4-{u%rWwd23k5zNUccubhHRLP?Acr5f}M&6oWuBQ z7?coqxxOaM##tBjfAKN%u~df#3yTv9d1;VNB8y=(dJ0QEjr$qHw<#Yqs+B%a3eJLj zmZHE80TYGQ1T<6lZbN?po%Zm9SYbrqH~xV=#z!#HyB0wYkjAix8KB?C$4QGmoo siA$Jt=>txoF3fNQ|0#2WXtJGxz&vP-?v2Ja#^4#B^_J-`yvy1D02a%glmGw# diff --git a/build/tools/MasterEditorTWL/MasterEditorTWL/Form1.h b/build/tools/MasterEditorTWL/MasterEditorTWL/Form1.h index 6d890779..1afc9bd9 100644 --- a/build/tools/MasterEditorTWL/MasterEditorTWL/Form1.h +++ b/build/tools/MasterEditorTWL/MasterEditorTWL/Form1.h @@ -532,14 +532,14 @@ private: System::Windows::Forms::Label^ labMultiForeign2; private: System::Windows::Forms::DataGridView^ gridLibrary; private: System::Windows::Forms::DataGridViewTextBoxColumn^ colLibPublisher; private: System::Windows::Forms::DataGridViewTextBoxColumn^ colLibName; -private: System::Windows::Forms::DataGridViewTextBoxColumn^ colWarnName; -private: System::Windows::Forms::DataGridViewTextBoxColumn^ colWarnBegin; -private: System::Windows::Forms::DataGridViewTextBoxColumn^ colWarnEnd; -private: System::Windows::Forms::DataGridViewTextBoxColumn^ colWarnCause; -private: System::Windows::Forms::DataGridViewTextBoxColumn^ colErrorName; -private: System::Windows::Forms::DataGridViewTextBoxColumn^ colErrorBegin; -private: System::Windows::Forms::DataGridViewTextBoxColumn^ colErrorEnd; -private: System::Windows::Forms::DataGridViewTextBoxColumn^ colErrorCause; + + + + + + + + private: System::Windows::Forms::Label^ labAssemblyVersion; private: System::Windows::Forms::Label^ labArbit4; private: System::Windows::Forms::Label^ labArbit3; @@ -560,6 +560,26 @@ private: System::Windows::Forms::RadioButton^ rIsWiFiIcon; private: System::Windows::Forms::RadioButton^ rIsWirelessIcon; private: System::Windows::Forms::RadioButton^ rIsNoIcon; +private: System::Windows::Forms::ToolStripMenuItem^ stripItemSheetOnly; + + + + + + + + +private: System::Windows::Forms::DataGridViewTextBoxColumn^ colWarnName; +private: System::Windows::Forms::DataGridViewTextBoxColumn^ colWarnBegin; +private: System::Windows::Forms::DataGridViewTextBoxColumn^ colWarnEnd; +private: System::Windows::Forms::DataGridViewTextBoxColumn^ colWarnCause; +private: System::Windows::Forms::DataGridViewTextBoxColumn^ colErrorName; +private: System::Windows::Forms::DataGridViewTextBoxColumn^ colErrorBegin; +private: System::Windows::Forms::DataGridViewTextBoxColumn^ colErrorEnd; +private: System::Windows::Forms::DataGridViewTextBoxColumn^ colErrorCause; + + + @@ -715,7 +735,9 @@ private: System::Windows::Forms::RadioButton^ rIsNoIcon; /// void InitializeComponent(void) { + System::Windows::Forms::DataGridViewCellStyle^ dataGridViewCellStyle1 = (gcnew System::Windows::Forms::DataGridViewCellStyle()); System::Windows::Forms::DataGridViewCellStyle^ dataGridViewCellStyle2 = (gcnew System::Windows::Forms::DataGridViewCellStyle()); + System::Windows::Forms::DataGridViewCellStyle^ dataGridViewCellStyle3 = (gcnew System::Windows::Forms::DataGridViewCellStyle()); this->tboxFile = (gcnew System::Windows::Forms::TextBox()); this->gboxSrl = (gcnew System::Windows::Forms::GroupBox()); this->tboxRemasterVer = (gcnew System::Windows::Forms::TextBox()); @@ -901,6 +923,7 @@ private: System::Windows::Forms::RadioButton^ rIsNoIcon; this->stripMaster = (gcnew System::Windows::Forms::ToolStripMenuItem()); this->stripItemSheet = (gcnew System::Windows::Forms::ToolStripMenuItem()); this->stripItemMasterRom = (gcnew System::Windows::Forms::ToolStripMenuItem()); + this->stripItemSheetOnly = (gcnew System::Windows::Forms::ToolStripMenuItem()); this->stripLang = (gcnew System::Windows::Forms::ToolStripMenuItem()); this->stripItemEnglish = (gcnew System::Windows::Forms::ToolStripMenuItem()); this->stripItemJapanese = (gcnew System::Windows::Forms::ToolStripMenuItem()); @@ -2761,8 +2784,8 @@ private: System::Windows::Forms::RadioButton^ rIsNoIcon; // // stripMaster // - this->stripMaster->DropDownItems->AddRange(gcnew cli::array< System::Windows::Forms::ToolStripItem^ >(2) {this->stripItemSheet, - this->stripItemMasterRom}); + this->stripMaster->DropDownItems->AddRange(gcnew cli::array< System::Windows::Forms::ToolStripItem^ >(3) {this->stripItemSheet, + this->stripItemMasterRom, this->stripItemSheetOnly}); this->stripMaster->Name = L"stripMaster"; this->stripMaster->Size = System::Drawing::Size(53, 20); this->stripMaster->Text = L"マスター"; @@ -2781,6 +2804,13 @@ private: System::Windows::Forms::RadioButton^ rIsNoIcon; this->stripItemMasterRom->Text = L"マスターROMのみを作成"; this->stripItemMasterRom->Click += gcnew System::EventHandler(this, &Form1::stripItemMasterRom_Click); // + // stripItemSheetOnly + // + this->stripItemSheetOnly->Name = L"stripItemSheetOnly"; + this->stripItemSheetOnly->Size = System::Drawing::Size(232, 22); + this->stripItemSheetOnly->Text = L"提出確認書のみを作成"; + this->stripItemSheetOnly->Click += gcnew System::EventHandler(this, &Form1::stripItemSheetOnly_Click); + // // stripLang // this->stripLang->DropDownItems->AddRange(gcnew cli::array< System::Windows::Forms::ToolStripItem^ >(2) {this->stripItemEnglish, @@ -3223,10 +3253,20 @@ private: System::Windows::Forms::RadioButton^ rIsNoIcon; // // gridWarn // + this->gridWarn->AutoSizeRowsMode = System::Windows::Forms::DataGridViewAutoSizeRowsMode::AllCellsExceptHeaders; this->gridWarn->BackgroundColor = System::Drawing::SystemColors::Control; this->gridWarn->ColumnHeadersHeightSizeMode = System::Windows::Forms::DataGridViewColumnHeadersHeightSizeMode::AutoSize; this->gridWarn->Columns->AddRange(gcnew cli::array< System::Windows::Forms::DataGridViewColumn^ >(4) {this->colWarnName, this->colWarnBegin, this->colWarnEnd, this->colWarnCause}); + dataGridViewCellStyle1->Alignment = System::Windows::Forms::DataGridViewContentAlignment::MiddleLeft; + dataGridViewCellStyle1->BackColor = System::Drawing::SystemColors::Window; + dataGridViewCellStyle1->Font = (gcnew System::Drawing::Font(L"MS UI Gothic", 9, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point, + static_cast(128))); + dataGridViewCellStyle1->ForeColor = System::Drawing::SystemColors::ControlText; + dataGridViewCellStyle1->SelectionBackColor = System::Drawing::SystemColors::Highlight; + dataGridViewCellStyle1->SelectionForeColor = System::Drawing::SystemColors::HighlightText; + dataGridViewCellStyle1->WrapMode = System::Windows::Forms::DataGridViewTriState::True; + this->gridWarn->DefaultCellStyle = dataGridViewCellStyle1; this->gridWarn->GridColor = System::Drawing::SystemColors::Control; this->gridWarn->Location = System::Drawing::Point(24, 228); this->gridWarn->Name = L"gridWarn"; @@ -3268,10 +3308,20 @@ private: System::Windows::Forms::RadioButton^ rIsNoIcon; // dataGridViewCellStyle2->BackColor = System::Drawing::Color::White; this->gridError->AlternatingRowsDefaultCellStyle = dataGridViewCellStyle2; + this->gridError->AutoSizeRowsMode = System::Windows::Forms::DataGridViewAutoSizeRowsMode::AllCellsExceptHeaders; this->gridError->BackgroundColor = System::Drawing::SystemColors::Control; this->gridError->ColumnHeadersHeightSizeMode = System::Windows::Forms::DataGridViewColumnHeadersHeightSizeMode::AutoSize; this->gridError->Columns->AddRange(gcnew cli::array< System::Windows::Forms::DataGridViewColumn^ >(4) {this->colErrorName, this->colErrorBegin, this->colErrorEnd, this->colErrorCause}); + dataGridViewCellStyle3->Alignment = System::Windows::Forms::DataGridViewContentAlignment::MiddleLeft; + dataGridViewCellStyle3->BackColor = System::Drawing::SystemColors::Window; + dataGridViewCellStyle3->Font = (gcnew System::Drawing::Font(L"MS UI Gothic", 9, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point, + static_cast(128))); + dataGridViewCellStyle3->ForeColor = System::Drawing::SystemColors::ControlText; + dataGridViewCellStyle3->SelectionBackColor = System::Drawing::SystemColors::Highlight; + dataGridViewCellStyle3->SelectionForeColor = System::Drawing::SystemColors::HighlightText; + dataGridViewCellStyle3->WrapMode = System::Windows::Forms::DataGridViewTriState::True; + this->gridError->DefaultCellStyle = dataGridViewCellStyle3; this->gridError->GridColor = System::Drawing::SystemColors::Control; this->gridError->Location = System::Drawing::Point(24, 99); this->gridError->Name = L"gridError"; @@ -3414,9 +3464,12 @@ private: System::Windows::Forms::RadioButton^ rIsNoIcon; // SRLのオープン System::Void loadSrl( System::String ^filename ); - // SRLの保存 + // SRLの保存と再読み出し System::Void saveSrl( System::String ^filename ); + // SRLの保存のみ @ret 成否 + System::Boolean saveSrlCore( System::String ^filename ); + private: // ---------------------------------------------- // 一時ファイルの取り扱い @@ -3476,6 +3529,82 @@ private: System::Windows::Forms::RadioButton^ rIsNoIcon; // フォームの入力をチェックする System::Boolean checkSrlForms(void); + private: + // --------------------------------------------------------------------- + // リージョン設定は複雑なので別に切り出す + // --------------------------------------------------------------------- + + // フォーム入力をSRLに反映させる + void setRegionSrlPropaties(void) + { + this->hSrl->hIsRegionJapan = gcnew System::Boolean(false); + this->hSrl->hIsRegionAmerica = gcnew System::Boolean(false); + this->hSrl->hIsRegionEurope = gcnew System::Boolean(false); + this->hSrl->hIsRegionAustralia = gcnew System::Boolean(false); + switch( this->combRegion->SelectedIndex ) + { + case 0: + this->hSrl->hIsRegionJapan = gcnew System::Boolean(true); + break; + + case 1: + this->hSrl->hIsRegionAmerica = gcnew System::Boolean(true); + break; + + case 2: + this->hSrl->hIsRegionEurope = gcnew System::Boolean(true); + break; + + case 3: + this->hSrl->hIsRegionAustralia = gcnew System::Boolean(true); + break; + + case 4: + this->hSrl->hIsRegionEurope = gcnew System::Boolean(true); + this->hSrl->hIsRegionAustralia = gcnew System::Boolean(true); + break; + +#if defined(METWL_VER_APPTYPE_SYSTEM) || defined(METWL_VER_APPTYPE_SECURE) || defined(METWL_VER_APPTYPE_LAUNCHER) + case 5: + this->hSrl->hIsRegionJapan = gcnew System::Boolean(true); + this->hSrl->hIsRegionAmerica = gcnew System::Boolean(true); + this->hSrl->hIsRegionEurope = gcnew System::Boolean(true); + this->hSrl->hIsRegionAustralia = gcnew System::Boolean(true); + break; +#endif //defined(METWL_VER_APPTYPE_SYSTEM) || defined(METWL_VER_APPTYPE_SECURE) || defined(METWL_VER_APPTYPE_LAUNCHER) + default: + break; + } + } + + // SRL情報をフォームに反映させる + void setRegionForms(void) + { + System::Boolean isJapan = *(this->hSrl->hIsRegionJapan); // リージョン + System::Boolean isAmerica = *(this->hSrl->hIsRegionAmerica); + System::Boolean isEurope = *(this->hSrl->hIsRegionEurope); + System::Boolean isAustralia = *(this->hSrl->hIsRegionAustralia); + System::Int32 index; + if( isJapan && !isAmerica && !isEurope && !isAustralia ) + index = 0; + else if( !isJapan && isAmerica && !isEurope && !isAustralia ) + index = 1; + else if( !isJapan && !isAmerica && isEurope && !isAustralia ) + index = 2; + else if( !isJapan && !isAmerica && !isEurope && isAustralia ) + index = 3; + else if( !isJapan && !isAmerica && isEurope && isAustralia ) + index = 4; + else + index = -1; // 不正 +#if defined(METWL_VER_APPTYPE_SYSTEM) || defined(METWL_VER_APPTYPE_SECURE) || defined(METWL_VER_APPTYPE_LAUNCHER) + if( isJapan && isAmerica && isEurope && isAustralia ) + index = 5; +#endif + this->combRegion->SelectedIndex = index; + this->maskParentalForms(); // ペアレンタルコントロール用フォームの表示/非表示切り替え + } + private: // --------------------------------------------------------------------- // ペアレンタルコントロール設定は複雑なので別に切り出す @@ -3709,6 +3838,124 @@ private: System::Windows::Forms::RadioButton^ rIsNoIcon; this->saveSrl( filename ); } //stripItemMasterRom_Click() + private: + System::Void stripItemSheetOnly_Click(System::Object^ sender, System::EventArgs^ e) + { + // SRLが読み込まれていないときにはリードさせない + if( System::String::IsNullOrEmpty( this->tboxFile->Text ) ) + { + this->errMsg( "ROMデータファイルがオープンされていません。", "ROM file has not opened yet." ); + return; + } + System::String ^srlfullpath = this->tboxFile->Text; + + // SRLと書類の両方のフォーム入力をチェックする + this->hErrorList->Clear(); + this->hWarnList->Clear(); + if( this->checkSrlForms() == false ) + { + this->errMsg( "ROMデータに不正な設定があるため提出確認書の作成ができません。", + "A ROM data and a submission sheet can't be saved, since it has illegal info." ); + return; + } + if( this->checkDeliverableForms() == false ) + { + this->errMsg( "入力情報に不足があるため提出確認書を作成できません。", + "Making a submission sheet can't be done, since your input is not enough." ); + return; + } + + // マスタ提出確認書に必要な情報をフォームから取得して更新 + this->setSrlProperties(); // 先にSrlを更新しておく(この時点ではROMヘッダには反映されない) + this->setDeliverableProperties(); + + // CRCを算出したいので一時的なファイルにSRLを保存する + System::String ^tmpfile = "./tmp.srl"; + this->saveSrlCore( tmpfile ); + u16 crc; // SRL全体のCRCを計算する(書類に記述するため) + if( !getWholeCRCInFile( tmpfile, &crc ) ) + { + this->errMsg( "CRCの計算に失敗しました。提出確認書の作成はキャンセルされます。", + "Calc CRC is failed. Therefore, Making a submission sheet is canceled." ); + return; + } + System::UInt16 ^hcrc = gcnew System::UInt16( crc ); + System::IO::File::Delete( tmpfile ); + + // 書類に記載するSRL名を提出手順書に従わせる + System::String ^srlfile; + { + srlfile = gcnew System::String(""); + + if( this->cboxRemasterVerE->Checked == true ) + { + srlfile = "T" + this->hSrl->hGameCode + "E" + this->numSubmitVersion->Value.ToString() + ".SRL"; + } + else + { + srlfile = "T" + this->hSrl->hGameCode + this->hSrl->hRomVersion->ToString() + this->numSubmitVersion->Value.ToString() + ".SRL"; + } + } + // 注意書き + { + this->sucMsg( + "マスターROMデータは作成されませんが、書類に記載されるCRCは現在の入力を反映して再計算されます。" + + "\nまた、提出確認書に記載されるROMデータファイル名は、提出手順書にしたがい、 \"" + srlfile + "\"となります。", + "Re-calculation of CRC code descibed in a submission sheet is based on current input forms, and, " + + "\na ROM data file name discribed in the sheet is \"" + srlfile + "\"." + ); + } + + // ダイアログで書類のファイルパスを決定 + System::String ^delivfile; + { + System::Windows::Forms::SaveFileDialog ^dlg = gcnew (SaveFileDialog); + + dlg->InitialDirectory = "c:\\"; + dlg->Filter = "xml形式 (*.xml)|*.xml"; + dlg->FilterIndex = 1; + dlg->RestoreDirectory = true; + + if( dlg->ShowDialog() != System::Windows::Forms::DialogResult::OK ) + { + this->errMsg( "提出確認書の作成がキャンセルされました。", "Making a submission sheet is canceled." ); + return; + } + delivfile = dlg->FileName; + if( !(dlg->FileName->EndsWith( ".xml" )) ) + { + delivfile += ".xml"; + } + } + + // 書類作成 + //result = this->hDeliv->write( delivfile, this->hSrl, hcrc, srlfile, !(this->stripItemJapanese->Checked) ); + ECDeliverableResult result = this->hDeliv->writeSpreadsheet( delivfile, this->hSrl, hcrc, srlfile, !(this->stripItemJapanese->Checked) ); + if( result != ECDeliverableResult::NOERROR ) + { + switch( result ) + { + case ECDeliverableResult::ERROR_FILE_OPEN: + this->errMsg( "提出確認書のテンプレートが開けなかったため、提出確認書の作成に失敗しました。", + "Since a templete of the submission sheet can't be opened, making the sheet is failed." ); + break; + + default: + this->errMsg( "提出確認書の作成に失敗しました。", "Making the submission sheet is failed." ); + break; + } + return; + } + // SRLクラスのプロパティを元に戻すため再リード + ECSrlResult r = this->hSrl->readFromFile( srlfullpath ); // フォームには反映しない + if( r != ECSrlResult::NOERROR ) + { + this->errMsg( "ROMデータファイルの読み込みに失敗しました。\n再度「ROMデータを開く」を選択してROMデータを読み出してください。", + "Reading the ROM data file failed. \nPlease read a ROM data file again, with \"Open a ROM data file\"" ); + return; + } + } //stripItemSheetOnly_Click() + private: System::Void stripItemSheet_Click(System::Object^ sender, System::EventArgs^ e) { @@ -4061,7 +4308,8 @@ private: System::Windows::Forms::RadioButton^ rIsNoIcon; { this->rIsWirelessIcon->Checked = true; } - this->setParentalForms(); // ペアレンタルコントロール関連 + this->setRegionForms(); + this->setParentalForms(); } }; // enf of ref class Form1 diff --git a/build/tools/MasterEditorTWL/MasterEditorTWL/Form1.resX b/build/tools/MasterEditorTWL/MasterEditorTWL/Form1.resX index 302e29f7..1f0e93fa 100644 --- a/build/tools/MasterEditorTWL/MasterEditorTWL/Form1.resX +++ b/build/tools/MasterEditorTWL/MasterEditorTWL/Form1.resX @@ -126,24 +126,6 @@ True - - True - - - True - - - True - - - True - - - True - - - True - True diff --git a/build/tools/MasterEditorTWL/MasterEditorTWL/Form_file.cpp b/build/tools/MasterEditorTWL/MasterEditorTWL/Form_file.cpp index 71f64780..d404af9b 100644 --- a/build/tools/MasterEditorTWL/MasterEditorTWL/Form_file.cpp +++ b/build/tools/MasterEditorTWL/MasterEditorTWL/Form_file.cpp @@ -76,20 +76,6 @@ void Form1::loadInit(void) this->hSrl->hMrcSpecialList->hSDKVer = gcnew System::UInt32( 0 ); } - // EULA - try - { - u8 eula = System::Byte::Parse( MasterEditorTWL::getXPathText( root, "/init/eula" ) ); - this->hSrl->hMrcSpecialList->hEULAVer = gcnew System::Byte( eula ); - } - catch ( System::Exception ^ex ) - { - (void)ex; - this->errMsg( "設定ファイル中のEULAバージョンが読み込めませんでした。バージョンは0とみなされます。", - "EULA ver. can't be read from setting file. Therefore it is set by 0." ); - this->hSrl->hMrcSpecialList->hEULAVer = gcnew System::Byte( 0 ); - } - // Shared2File try { @@ -196,19 +182,8 @@ System::Void Form1::loadSrl( System::String ^filename ) // SRLの保存 System::Void Form1::saveSrl( System::String ^filename ) { - // ROM情報をフォームから取得してSRLバイナリに反映させる - this->setSrlProperties(); - // マスタ書類情報をフォームから取得して書類に反映させる -> 必要なし - //this->setDeliverableProperties(); - - // ファイルをコピー - if( !(filename->Equals( this->tboxFile->Text )) ) - { - System::IO::File::Copy( this->tboxFile->Text, filename, true ); - } - // コピーしたファイルにROMヘッダを上書き - if( this->hSrl->writeToFile( filename ) != ECSrlResult::NOERROR ) + if( !this->saveSrlCore( filename ) ) { this->errMsg( "ROMデータの保存に失敗しました。", "Saving the ROM data file failed." ); return; @@ -219,3 +194,23 @@ System::Void Form1::saveSrl( System::String ^filename ) // 再リード this->loadSrl( filename ); } // saveSrl() + +// SRLの一時保存 +System::Boolean Form1::saveSrlCore( System::String ^filename ) +{ + // ROM情報をフォームから取得してSRLバイナリに反映させる + this->setSrlProperties(); + + // ファイルをコピー + if( !(filename->Equals( this->tboxFile->Text )) ) + { + System::IO::File::Copy( this->tboxFile->Text, filename, true ); + } + + // コピーしたファイルにROMヘッダを上書き + if( this->hSrl->writeToFile( filename ) != ECSrlResult::NOERROR ) + { + return false; + } + return true; +} \ No newline at end of file diff --git a/build/tools/MasterEditorTWL/MasterEditorTWL/Form_lang.cpp b/build/tools/MasterEditorTWL/MasterEditorTWL/Form_lang.cpp index 78be888f..1c950524 100644 --- a/build/tools/MasterEditorTWL/MasterEditorTWL/Form_lang.cpp +++ b/build/tools/MasterEditorTWL/MasterEditorTWL/Form_lang.cpp @@ -48,6 +48,7 @@ void Form1::changeJapanese(void) this->stripMaster->Text = gcnew System::String( "マスター" ); this->stripItemSheet->Text = gcnew System::String( "提出確認書とマスターROMを作成する" ); this->stripItemMasterRom->Text = gcnew System::String( "マスターROMのみを作成する" ); + this->stripItemSheetOnly->Text = gcnew System::String( "提出確認書のみを作成する" ); // 入力ファイル this->labFile->Text = gcnew System::String( "ROMデータファイル" ); @@ -270,6 +271,7 @@ void Form1::changeEnglish(void) this->stripMaster->Text = gcnew System::String( "Master" ); this->stripItemSheet->Text = gcnew System::String( "Make a submission sheet and a master ROM data file" ); this->stripItemMasterRom->Text = gcnew System::String( "Make a master ROM data file only" ); + this->stripItemSheetOnly->Text = gcnew System::String( "Make a submission sheet only" ); // 入力ファイル this->labFile->Text = gcnew System::String( "ROM Data File" ); diff --git a/build/tools/MasterEditorTWL/MasterEditorTWL/Form_srl.cpp b/build/tools/MasterEditorTWL/MasterEditorTWL/Form_srl.cpp index e8c05b4b..2b5a71f3 100644 --- a/build/tools/MasterEditorTWL/MasterEditorTWL/Form_srl.cpp +++ b/build/tools/MasterEditorTWL/MasterEditorTWL/Form_srl.cpp @@ -33,44 +33,7 @@ void Form1::setSrlProperties(void) this->hSrl->hIsWirelessIcon = this->rIsWirelessIcon->Checked; // リージョン - this->hSrl->hIsRegionJapan = gcnew System::Boolean(false); - this->hSrl->hIsRegionAmerica = gcnew System::Boolean(false); - this->hSrl->hIsRegionEurope = gcnew System::Boolean(false); - this->hSrl->hIsRegionAustralia = gcnew System::Boolean(false); - switch( this->combRegion->SelectedIndex ) - { - case 0: - this->hSrl->hIsRegionJapan = gcnew System::Boolean(true); - break; - - case 1: - this->hSrl->hIsRegionAmerica = gcnew System::Boolean(true); - break; - - case 2: - this->hSrl->hIsRegionEurope = gcnew System::Boolean(true); - break; - - case 3: - this->hSrl->hIsRegionAustralia = gcnew System::Boolean(true); - break; - - case 4: - this->hSrl->hIsRegionEurope = gcnew System::Boolean(true); - this->hSrl->hIsRegionAustralia = gcnew System::Boolean(true); - break; - -#if defined(METWL_VER_APPTYPE_SYSTEM) || defined(METWL_VER_APPTYPE_SECURE) || defined(METWL_VER_APPTYPE_LAUNCHER) - case 5: - this->hSrl->hIsRegionJapan = gcnew System::Boolean(true); - this->hSrl->hIsRegionAmerica = gcnew System::Boolean(true); - this->hSrl->hIsRegionEurope = gcnew System::Boolean(true); - this->hSrl->hIsRegionAustralia = gcnew System::Boolean(true); - break; -#endif //defined(METWL_VER_APPTYPE_SYSTEM) || defined(METWL_VER_APPTYPE_SECURE) || defined(METWL_VER_APPTYPE_LAUNCHER) - default: - break; - } + this->setRegionSrlPropaties(); // ペアレンタルコントロール this->setParentalSrlProperties(); @@ -258,29 +221,7 @@ void Form1::setSrlForms(void) { this->rIsWirelessIcon->Checked = true; } - System::Boolean isJapan = *(this->hSrl->hIsRegionJapan); // リージョン - System::Boolean isAmerica = *(this->hSrl->hIsRegionAmerica); - System::Boolean isEurope = *(this->hSrl->hIsRegionEurope); - System::Boolean isAustralia = *(this->hSrl->hIsRegionAustralia); - System::Int32 index; - if( isJapan && !isAmerica && !isEurope && !isAustralia ) - index = 0; - else if( !isJapan && isAmerica && !isEurope && !isAustralia ) - index = 1; - else if( !isJapan && !isAmerica && isEurope && !isAustralia ) - index = 2; - else if( !isJapan && !isAmerica && !isEurope && isAustralia ) - index = 3; - else if( !isJapan && !isAmerica && isEurope && isAustralia ) - index = 4; - else - index = -1; // 不正 -#if defined(METWL_VER_APPTYPE_SYSTEM) || defined(METWL_VER_APPTYPE_SECURE) || defined(METWL_VER_APPTYPE_LAUNCHER) -if( isJapan && isAmerica && isEurope && isAustralia ) -index = 5; -#endif - this->combRegion->SelectedIndex = index; - this->maskParentalForms(); + this->setRegionForms(); this->setParentalForms(); // ペアレンタルコントロール関連 } // setSrlForms() diff --git a/build/tools/MasterEditorTWL/MasterEditorTWL/srl.cpp b/build/tools/MasterEditorTWL/MasterEditorTWL/srl.cpp index b7d3f5e8..0f157311 100644 --- a/build/tools/MasterEditorTWL/MasterEditorTWL/srl.cpp +++ b/build/tools/MasterEditorTWL/MasterEditorTWL/srl.cpp @@ -1220,7 +1220,7 @@ ECSrlResult RCSrl::mrcTWL( FILE *fp ) if( this->pRomHeader->s.disable_debug == 0 ) { this->hWarnList->Add( gcnew RCMrcError( - "デバッグ動作禁止フラグ", 0x1f, 0x1f, + "デバッガ動作禁止フラグ", 0x1f, 0x1f, "デバッガ上で動作可能な設定になっています。デバッガ向けソフトとしてROMをリリースする場合にはセキュリティ上の問題がないかご確認ください。", "Disable Launch on Debugger Flag", "This ROM is launched on the debugger. If the ROM is released for the debugger, please check the security settings.", diff --git a/build/tools/MasterEditorTWL/MasterEditorTWL/srl.h b/build/tools/MasterEditorTWL/MasterEditorTWL/srl.h index 7059b06f..a3a44d3d 100644 --- a/build/tools/MasterEditorTWL/MasterEditorTWL/srl.h +++ b/build/tools/MasterEditorTWL/MasterEditorTWL/srl.h @@ -221,7 +221,6 @@ namespace MasterEditorTWL { this->hIsCheck = gcnew System::Boolean( false ); this->hSDKVer = gcnew System::UInt32( 0 ); - this->hEULAVer = gcnew System::Byte( 0 ); this->hShared2SizeArray = gcnew cli::array(METWL_NUMOF_SHARED2FILES); // ファイルサイズの数に合わせる System::Int32 i; for( i=0; i < METWL_NUMOF_SHARED2FILES; i++ ) diff --git a/build/tools/MasterEditorTWL/MasterEditorTWL/utility.cpp b/build/tools/MasterEditorTWL/MasterEditorTWL/utility.cpp index 8cc19875..17f060f7 100644 --- a/build/tools/MasterEditorTWL/MasterEditorTWL/utility.cpp +++ b/build/tools/MasterEditorTWL/MasterEditorTWL/utility.cpp @@ -114,232 +114,6 @@ System::String^ MasterEditorTWL::transSizeToString( System::UInt32 ^size ) return (val.ToString() + " GB"); } -// -// ペアレンタルコントロールのレーティング値から文字列を取得 -// -// @arg [in] 団体 -// @arg [in] 有効フラグ(0歳以上か未審査かを判定するために使用する) -// @arg [in] レーティング値 -// @arg [in] 英語フラグ -// -// @ret レーティングの文字列(団体がおかしいときnullptr) -// -System::String^ MasterEditorTWL::transRatingToString( System::Byte ogn, System::Boolean enable, System::Byte rating, System::Boolean english ) -{ - cli::array< System::String^ > ^list; - System::Int32 index; - System::String ^str; - - if( ogn == OS_TWL_PCTL_OGN_CERO ) - { - if( english ) - { - list = gcnew cli::array< System::String^ >{ L"A (All ages)", L"B (aged 12 or older)", L"C (aged 15 or older)", - L"D (aged 17 or older)", L"Z (aged 18 or older)", L"Unexamined"}; - } - else - { - list = gcnew cli::array< System::String^ >{L"A (全年齢)", L"B (12歳以上)", L"C (15歳以上)", L"D (17歳以上)", L"Z (18歳以上)", L"未審査"}; - } - - switch( rating ) - { - case 0: - if( enable ) // 全年齢か未審査か判定 - index = 0; - else - index = 5; - break; - case 12: index = 1; break; - case 15: index = 2; break; - case 17: index = 3; break; - case 18: index = 4; break; - default: - index = 5; - break; - } - str = list[ index ]; - } - - else if( ogn == OS_TWL_PCTL_OGN_ESRB ) - { - if( english ) - { - list = gcnew cli::array< System::String^ >{L"EC (aged 3 or older)", L"E (aged 6 or older)", L"E10+ (aged 10 or older)", - L"T (aged 13 or older)", L"M (aged 17 or older)", L"Unexamined"}; - } - else - { - list = gcnew cli::array< System::String^ >{L"EC (3歳以上)", L"E (6歳以上)", L"E10+ (10歳以上)", L"T (13歳以上)", L"M (17歳以上)", L"未審査"}; - } - - switch( rating ) - { - case 3: index = 0; break; - case 6: index = 1; break; - case 10: index = 2; break; - case 13: index = 3; break; - case 17: index = 4; break; - case 0: index = 5; break; // 0はデフォルト値なのでエラーメッセージを出さない(自動的に未審査扱い) - default: - index = 5; - break; - } - str = list[ index ]; - } - - else if( ogn == OS_TWL_PCTL_OGN_USK ) - { - if( english ) - { - list = gcnew cli::array< System::String^ >{L"All ages", L"aged 6 or older", L"aged 12 or older", L"aged 16 or older", - L"Inadequent for young", L"Unexamined"}; - } - else - { - list = gcnew cli::array< System::String^ >{L"年齢制限なし", L"6歳以上", L"12歳以上", L"16歳以上", L"青少年には不適切", L"未審査"}; - } - - switch( rating ) - { - case 0: - if( enable ) - index = 0; - else - index = 5; - break; - case 6: index = 1; break; - case 12: index = 2; break; - case 16: index = 3; break; - case 18: index = 4; break; - default: - index = 5; - break; - } - str = list[ index ]; - } - - else if( ogn == OS_TWL_PCTL_OGN_PEGI_GEN ) - { - if( english ) - { - list = gcnew cli::array< System::String^ >{L"aged 3 or older", L"aged 7 or older", L"aged 12 or older", L"aged 16 or older", - L"aged 18 or older", L"Unexamined"}; - } - else - { - list = gcnew cli::array< System::String^ >{L"3歳以上", L"7歳以上", L"12歳以上", L"16歳以上", L"18歳以上", L"未審査"}; - } - - switch( rating ) - { - case 3: index = 0; break; - case 7: index = 1; break; - case 12: index = 2; break; - case 16: index = 3; break; - case 18: index = 4; break; - case 0: index = 5; break; - default: - index = 5; - break; - } - str = list[ index ]; - } - - else if( ogn == OS_TWL_PCTL_OGN_PEGI_PRT ) - { - if( english ) - { - list = gcnew cli::array< System::String^ >{L"aged 4 or older", L"aged 6 or older", L"aged 12 or older", L"aged 16 or older", - L"aged 18 or older", L"Unexamined"}; - } - else - { - list = gcnew cli::array< System::String^ >{L"4歳以上", L"6歳以上", L"12歳以上", L"16歳以上", L"18歳以上", L"未審査"}; - } - - switch( rating ) - { - case 4: index = 0; break; - case 6: index = 1; break; - case 12: index = 2; break; - case 16: index = 3; break; - case 18: index = 4; break; - case 0: index = 5; break; - default: - index = 5; - break; - } - str = list[ index ]; - } - - else if( ogn == OS_TWL_PCTL_OGN_PEGI_BBFC ) - { - if( english ) - { - list = gcnew cli::array< System::String^ >{L"aged 3 or older", L"aged 4 or older recommended", L"aged 7 or older", L"aged 8 or older recommended", - L"aged 12 or older", L"aged 15 or older", L"aged 16 or older", L"aged 18 or older", L"Unexamined"}; - } - else - { - list = gcnew cli::array< System::String^ >{L"3歳以上", L"4歳以上推奨", L"7歳以上", L"8歳以上推奨", - L"12歳以上", L"15歳以上", L"16歳以上", L"18歳以上", L"未審査"}; - } - switch( rating ) - { - case 3: index = 0; break; - case 4: index = 1; break; - case 7: index = 2; break; - case 8: index = 3; break; - case 12: index = 4; break; - case 15: index = 5; break; - case 16: index = 6; break; - case 18: index = 7; break; - case 0: index = 8; break; - default: - index = 8; - break; - } - str = list[ index ]; - } - - else if( ogn == OS_TWL_PCTL_OGN_OFLC ) - { - if( english ) - { - list = gcnew cli::array< System::String^ >{L"G", L"PG", L"M", L"MA15+", L"Unexamined"}; - } - else - { - list = gcnew cli::array< System::String^ >{L"G", L"PG", L"M", L"MA15+", L"未審査"}; - } - - switch( rating ) - { - case 0: - if( enable ) - index = 0; - else - index = 4; - break; - case 7: index = 1; break; - case 14: index = 2; break; - case 15: index = 3; break; - default: - index = 4; break; - break; - } - str = list[ index ]; - } - - else - { - str = nullptr; - } - - return str; -} // MasterEditorTWL::transRatingToString - // 設定可能なインデックスのリストを取得する cli::array^ MasterEditorTWL::getOgnRatingAges( int ogn ) { diff --git a/build/tools/MasterEditorTWL/MasterEditorTWL/utility.h b/build/tools/MasterEditorTWL/MasterEditorTWL/utility.h index 817b7e85..8fe8a6f1 100644 --- a/build/tools/MasterEditorTWL/MasterEditorTWL/utility.h +++ b/build/tools/MasterEditorTWL/MasterEditorTWL/utility.h @@ -41,18 +41,6 @@ namespace MasterEditorTWL // System::String^ transSizeToString( System::UInt32 ^size ); - // - // ペアレンタルコントロールのレーティング値から文字列を取得 - // - // @arg [in] 団体 - // @arg [in] 有効フラグ(0歳以上か未審査かを判定するために使用する) - // @arg [in] レーティング値 - // @arg [in] 英語フラグ - // - // @ret レーティングの文字列(団体がおかしいときnullptr) - // - System::String^ transRatingToString( System::Byte ogn, System::Boolean enable, System::Byte rating, System::Boolean english ); - // // ペアレンタルコントロールの各団体の設定可能年齢を取得する // diff --git a/build/tools/MasterEditorTWL/resource/ini.xml b/build/tools/MasterEditorTWL/resource/ini.xml index 04e9ae14..50864681 100644 --- a/build/tools/MasterEditorTWL/resource/ini.xml +++ b/build/tools/MasterEditorTWL/resource/ini.xml @@ -8,7 +8,6 @@ 0 20200 - 0 0 0