From 89ff9ee99acbc68ec748b0bcc6c6213c8f61fab1 Mon Sep 17 00:00:00 2001 From: iisaev Date: Thu, 29 Oct 2026 09:26:21 +0100 Subject: [PATCH] Add mod documentation in seven languages --- docs/assets/trade-buy.jpg | Bin 0 -> 59417 bytes docs/assets/trade-sell.jpg | Bin 0 -> 31942 bytes docs/assets/trade-sold.jpg | Bin 0 -> 15555 bytes docs/en.md | 76 +++++++++++++++++++++++++++++++++++++ docs/es.md | 76 +++++++++++++++++++++++++++++++++++++ docs/ja.md | 76 +++++++++++++++++++++++++++++++++++++ docs/ko.md | 76 +++++++++++++++++++++++++++++++++++++ docs/ru.md | 76 +++++++++++++++++++++++++++++++++++++ docs/vi.md | 76 +++++++++++++++++++++++++++++++++++++ docs/zh.md | 76 +++++++++++++++++++++++++++++++++++++ locale/en.properties | 2 +- locale/es.properties | 2 +- locale/ja.properties | 2 +- locale/ko.properties | 2 +- locale/ru.properties | 2 +- locale/vi.properties | 2 +- locale/zh.properties | 2 +- manifest.json | 2 +- 18 files changed, 540 insertions(+), 8 deletions(-) create mode 100644 docs/assets/trade-buy.jpg create mode 100644 docs/assets/trade-sell.jpg create mode 100644 docs/assets/trade-sold.jpg create mode 100644 docs/en.md create mode 100644 docs/es.md create mode 100644 docs/ja.md create mode 100644 docs/ko.md create mode 100644 docs/ru.md create mode 100644 docs/vi.md create mode 100644 docs/zh.md diff --git a/docs/assets/trade-buy.jpg b/docs/assets/trade-buy.jpg new file mode 100644 index 0000000000000000000000000000000000000000..72eeafca2d5c288440894bcac6278326992dddf4 GIT binary patch literal 59417 zcmeFYWmp_hwl3Uwf(Ca;@F2k@SVIUN+}(o(hv0Mq0fJkA00DwK1a}DT?v1-kqm4DU zb7qp6IWy-x=icXjKkoBQ!G_+|Rl91f+Iy{cy=&FO?86G+iJX+I6aWDM06>8M03PN6 z5&&c*q+h@A4Fv@m1q}lY4HXp)8y)=-#uIE@+$Y#iaPSDoi16@9@Nu3HQ4^DplT%Vs z;u1Zjp{AfAqoAbtH3$L<3JMx38WtKF76slDJc|GA?cpZ?_YtB7@(&~g8UP|L0unC5 zLnnY5exE1^|FHr7x*;GUA)}z8J$j6e0Y9Mn2>=lR2?-Gy34ZU$@S}a<-vf|wQShE| zilgGIn4r-(5paEs$#_Kjs=SR*b?k(W+tk_rF**@32`L#p10&OOW*%NXeu0;Q60aqt zq-A8~)YLUJwX}6~&CD&{T3T7#xVXB#clYr03iuQl6#O|PG&b%_d_v;aq~y%3?3~=Z z{DQ)Y%Bt#`+PeCN_Kwc3?w;Ph{_%;)sp*;7Iq>S*`o`wg_Rj7eO6){M8~sA5BVk9e@ON}6U_hrNU}eI{Y@?~022uT{_v1+0YCsW;w!jP z0)u2d{P0@wagWQMb*ohh%v<&W;G6scw7%wWHGe(nRzR2jXRqiO|J`LA?3S16Q5M?x z2fEwW%V%Jv+k>&okk;+0^sBjCJKFLr>sn#Gl~ji|;&R=6zBHw@oRu_wJPF6|D-|+L93zJ7b%Z0+ReSBl z>bs43Q}|4EqB<;G|I&#>hE~Y_R_`DGVZ%A8QT9v(XIt`si~4V-{%`&&rB_MfdTfI+ z<8Idl<+I;!|Fdc4I)FK79w||~^^#VkCnH};O;r!n(+NB-JIj4q{{V;zX5rR8S8>pMI3^Bx!n7dBq6}4IKH?r2L=9g$C@NnstONRq!+pWqP3*UFR>|yPJmdop z0PH0jDyo{3)WqNmEKvzkeqy4stuC&Obt^~CG%?1|^->sbPmza%WYy&1i>+z4CR_H< z;}?X9=J~fSWE

)i2gbwkqW$t-Op5F-~rb9?O@_&)!j;Oh>I+@e0@-`bgM$=x%gd zCo}EObHA2W0CSgRoOC%?XQMt0BDQi%RWHj#>G9IhOh2nbW zfokb@S|bktq9(VKjvn3N+O-IBSx9_YsGHD66V2t;>|EI~LEUUC{~|KB*E;W*ZEKZ% z+*&#{6lP~DH&rG|?a{qR8z<+fyr82%VM9|F%vNq-AiHvkBl27)D9A1-Zk0XI2<`6K z+K_uYpC2oPF?=IU-ouS_LtdWTO3z_2+<%<&LfDUD&jYEAOsP8x-N&fqWcee{Et@@f z`3uUW+`j;O1GU)M)$YyzpbG#)jbWk<%lk_eiCKMzyoiWj*Mfl0fv$-x(hwUzS`B_pT z>4I$cSdWB~vLHK|4_Q6b?N*qtXbptjWwJIWtU`gSf4$2ZG&o;A_jNImeDa%HX>LTOnbmGdr zx7=hI+Y00z)zb#s_fhX^ARRy2`6-SVDLvYRw;GFZ=4rd)?qnJ#FXrf*Pv{S>9`pG} zzoO8UDJ~-MLDUha)I&p!^59{I3a#RN^6|U{LhXmAyD^MH8rE&x1vM^Z_z$hwhiv8q z2Bg*^30Z|U2>`Q#jdT!Z+NuFzDmSiSh<^|J0hcsfe0x>EmnY(P!^dcsL^UZ50+eq z!c;YRuVjZ3fphA3A$yWP$D@m$W)-OIDm4Z)cy+6+#6#;R8Gpo`VZ%^c-RN-{U8p=8 zuvlt|(9IGVH?Hpx+!VFW-)T!7l6)DMKdWP)E1kQOkgS)}r#gI6fD$zBrIK+NcJECRwZnZq;j6?A*-2C!T-_;N8#NGdVIdn;MT9_BL z+AIs2W`wiTKoKXbncpoXv;lS}RR4)2(u&*bk+;r}R0bQXc>v&NOq8vSXHFg*N5nOF zZklL!u%p>4c0@Xj@Y>2jXTC2i+)0f2XneOJOZ<3eQY2fHO;pQ*b(9YLIv7h!ks&0b zi53Y&mzB@A(uGh3tSWsrLUqIWOhtXtTpL&&g>4h9ZNtZhFLRmbI1~}f6rG@j{K2!0 z^s>waqScP`XkhIDKn``@UR6j7TsdTaZMzR5nfJ|PXK+FkKv@iTI7=|d8gFrgBz93_ zv41c-A^yO_ru1g?1^bNZWa)+Xm*k^Mb&?2CF+vq-fg`ay+dF4yk2^%K+bb>0%)LYx z>bz@=Yt8TeZmfH(yHF{iSS>+y0UK7O^JDb%YoFC*S~jBfq>3&cfr=#H{}0U<;g;S* zaoGs6lu7@FuwP10WF#%?=lvk=mVM9P;?%W8v zKt|nWWK6R?Gh3zZOoEYk)QD)9S|3g zXPMntnTh|Jr|{QBGp>dM}>fNxasVs6yBEsr&k-OzX!X_KhR@;$g;SDZ{PaT^G3bUE2n zNUu&uA60PSWo}6ipIOIz9Y%Qjl=J7pk|HVxi#jx2S8!;!!c8cv(10a-hW>QCsB~KM zK)sCI%Z$R2g$dIbJ?4v&+C>3d>-rk?)y(yzWx>s4!ZHMcbGv`H|LWB?OcWmE`?jV^ ztLi@hdODYnYtQm`j0w~mGvKkm(gOelyqUBQhIs<-?;ZgA%E;>f{^s90`1d^c_geV3 zJ@~gx{D0psWF)x+(F#*gyv<(3xjO~jUOxb)vs{5^eGh=+?FWEv7-nc_;@|ZnMjrqp zj1Pd;^m`j*NlEzz>g$aMz}49UphRj1v>o>VSRR2@10+@NGn!Gz|D_LAF$o5fkE&b- zofG`cv8w#tK$6k8>c3s|o?z@eO!OJtMT1fiG18&Xl>1AV8|jMqdBLA#!yB$*5pebTy~fsFwVO$R*{!dwe3B?RnZ7CNO_7VzZmLrjY;MC0BHQ*Thb4*@JVq z2w!SdmTu!N^6>`O){l!;!rUy%t2whef9nhP$+hSo{m&ILJYcM6Fm>H5i5vHYs9Jx+yZvcevD_hSGjMSrI`3Z+Y=t+XD5Ffu21HzudK z6P%jGus@$cVn&va$R2l`PwT(%vCE+kf+VGP&Av8nAF;SNIiWAN#YrR0Y9AT$bYrDO z%W;K?0HK!}!!|&f%yXRG4{Ub!no4Cs?RHto%T*L_rj%^gbgV43#AqN%6aVWxX&d~a ze(_B$FUHkm$N<%oijj6?3&Xm=sw3{l&cI-Mb*%cUeJ!OZ*QCvA&x7ix4Q^A_UEf31 z7uHB#+t8UUtkdNSJBd-e0rO=!cL$QG@&>fg`u4m@=n>NF;-0T2pn$I zq#3A~VB)aHHlEZNr ziC++6DKRbv!|J29tPs0O6McO?9@;UczUi~aw9?}OE-DqY{X7o+0i&3vnV47h_MzKNgvugMJ!2Q-Jza`bzZP9pe4+LMnda~4^}Pu;<1G|~Zy^hG@PB_vaXT&=P$-@IBKO9(e|IQczv4+SBNEzvm%9>#ML|C4jV@2D zp5d3!6S+2>?=r8&%`}9x{I{+9{k14r$Tc8}F$Fs_xO}NEr|4^HYh=xFDnWOI#u`c??(PxOPY~|k*QXy&K|yADM>GBa7}b(^ z0JQl(00O;&{q37D*d73(7LeK)`h&!y(W?FD^v?6;l`T%wO&R6&0lkrq~Y%cVX50FI%H_z!?~HuifISKu89J529{SOq2y7mr z`8a2=EnG}6_B%q-I>|fySf`KL?ycY&;^fPaBEy`8gql-QK-`dau9Q(jr{m8J3a6Qp zS7oYlC$S*-L*Ysl$g^f}#_OVQs*q&0qbM(zmL{<Nw!_IKBPBHYoKthry~(tV?kLD_5N&&9mFlHq9;Tv2#lUoBRC0;55%d z{Mgpo@GD0$8egRFNn}DgTz`S5Gq$eD!|{cC$wcKIwW^Y~&y(5thjC>JwJ~El3Mkfh zrse3irefBo`g})~_Hv}R4(s1}h%U|RuQ-m7BFcc)z;X3WJ8x++yogdLb z59(XI5?ZIU4Vj84m~t5U&=pb_cW@7yIua5*yKCSf{-?bv=EO|*K}One%v>)0*C*l?%Id%QTm5{h*dWZfPhL7xkic>G_ zQU>ZZLV2PQ>XCp$RhM*_Z*vXz8khweNq}acWB3dPp|HKT zuT4cOTYSK}(#-HYXRv@74S_3*4rv7HqNB!8oxRU(1@78gs7k2d871{uB|X)dq==+2 zQKA&FO%wP$uv%H0euu*?Eel^FWu0rJa-5pT94i58($=h@Bq)IM1*c^8))~wDK$ylZ z5Ywpragh-#*M`_^*1&{yn`KaGs{hw8rlMJ?X3(1Ly zd8@FaZRWfY9@RUsiIJ54m+7kVd-@t?#z*UCzRRK1<-Bl`z2t}80k2LpFVo%FB617d z5FR@bpwq?yzAVx_rxn3|OnOzC?IF~4x~rv|+ERBmr)!<38s9OPqs53DZ-M3l802nK zX%y&oEYRgy%z=kNKY1hg=`*&0X3^(XA?If(VmrNE+D|(2dFMZt?0OBQr4$)qeDt>4 zl6^ORouRV!qOpRb#J`wxBGOxn`n@wGZnC>tIh~U$BJ^BEQs)`m^&rRmMr%`_;SlX& z@BzT7u|vj3L*oBL@EzJ2X`UK@Ly@eH zwR-?GD))0q_;dz*{Mc9a8FfX+K!@&?Mtl(Zk3CK!v3;=O$JG*zYD&w_=_T3}CCxe_ zFCkL-1`g$+=P-o26EqV;;-YRB6rQV~aCVwWBfs00>|yW6xq%FX1nG$^E$9 zjU6#neNwvb@o@rmFrj^+4fWpY1HiL2x^$-eXXvGJ$nVO(5ZIG%V;qZ{6LVB zJ+OVQUl{~}yB|AX2az8~oMM~`=)i$E3VVLZaA7{DEJ5w*z*xt2>Q7{(5|>&KlCWi_ zLXl`~_I>1tR7-VvQ_NAO5tnQ)Q#76vr-jf*{SVlRDDKO+e#{;c-7RF0=?K&ecLWGd zWOps*i1`M6OqiLB^i_~j-{f>zr&5F=8e}GzCj#~PMT$HK(QvLdcsrHKtWb|8^Nl^K zpRA~Audk@#b3+M%X0uBth{kbPla9%%9kb@xIi-yC=|JJ~yfl41r{{;k)lbG|K#p}f z?A#_B58Wlt4CkD+_Yt8S7QF%jwE62LzW5Neb@sp}oz>&81Tur6b%nJkyt%#i^7NH7 zeGU}He5Zc9y*pkjTEiMDttu!4D(b)DqW`j~^<9}f07}iSll}AJj^GARzvqnSaTozR z=QC8N$+!>9Mt|{S%v%u~AsM$yciz4k!pm1&{C-JglF)n@nkP>yRDx(x-LuvDlt_&8 z^k5kF0PxPy4P0C7b*?PmZ2cF;<4EPV;fng}=obV!DE+{HIyCI*e_{1gUZQD!_SIMQ zje%1lIQMsiV{`H#s+3J@Q>EIaW$AZmGWYwNvXAoe2XH6K2+K=%sMt;}w#pscON_0b z+n@DaCTf^*IY^30>3qhT#rblkEmsj-s17lB7opzG}Rc%cC)UImz>~2g-aTX7ViF`?$ zd`m4ocF1GL$6{+s&LZS7fyk7Bpf*ufYja&8u)La(aWbKHa@1QDHh_;gGnR`y-kU3> z?CcR0-yDt2UMqfwza@e-dF5zsQF{HX# ztuybCj5jAs8b90nY49c^?#5j(<4e+w=_EVm$kH1di?2+D3h;zuyfdz~OYVZs!tnIL zc=lM|W}>Q?1@ljrv4$wQ4DuJdDoF1l<_Ie7>9DW!X7cDJ%GVgI{_*qU0H>SLF* zbm&6Hog?=Enoqys0RU99R9~)3pOj{~yB96kcm;Nq*J{R43kYnc4l5$ApbzHu!Af93 z@hSV)py(rANcvs)RqIjP10a(&-~0gphi__X9wRU*@8v7w2f!HaBp0X{R8TqyJjvQ= zrDbj6__2tw4K1bh&~i78Y}JY)5BlN`XRG z^?u?04#nZEpk2QK`m#HEVrq+cBK~0WTT*os^-@PM3IuR&X?Z>u4Vt^?Gl;(eEVs-pDoC+K5Y-hPJEh$X>JbJdjtFaEV8+If2w2s#C1nN zeeA+usS&u>lWz2)bF#C&n7VPfeA`t$uD4?FD5lt|=Na+${QdrgbE?1rh8n9fJ2;%o zs{i~nM$NAqyO^uFZ9X7Mx6;Ma)5BdK+Hh&MNy5ztCcm;QboM(&iu|UjLHMnJ;TSY< z7pi8hJzbl|RBCtRz*`h{W`QAX_ZVIkxcN+(SU{b07%dO6zOk)FrYGANB-pH8);gVc z8*nrFJri4t1^#3@f0cm9{vzV))3=zLwWEHKbNVA^goYopOo1014}iMX{#xN@tG2(2 zR?-ztF2AH)U|g|~bUPv@utkZXnDoGMsjrBywJPoq8sa+6_LpdDW*e&H8s4YVx<<-M zZN0ldGZp2W$@5B{(qOiC$f&``64vk-&1*`H%5;4I1c@R+jcbxMBkTxALM#$^6Lss! zH)Ih=Bj8Lezp{wakVjM}@Nr+3?Xp?&gi`X+jN_L;T$u{|^dzH=KDH=-!Z<9`73F_b+3jBS?B(I6#BjX4BL@MR(vXEV!CprAuTO0kehTV}D zE&2ynWcjsO!#VBC-ctH+d6x=HsEbMnu(qkz9m0Ij3TyhR^d&Ytv=l3WyHEtUHATOX z@nDpf{b`$|kFnTI-+(ApIXw7rl5*kbe68XFi&|#9nC@$FZPvl4eh=4T#gPt!#cfud zn81O{YnOONizgoB_9Oo=zWSr5(c;LC;$`j-hIFDNhn$7ElFr92*mnvno{b+!>0FW0 z&`+f6csKlb03MBcJ$HBI>pLuskHbBJYcIShF7mxab14Z_47LS+o45b`U;Wf~7PS8r z_V#zzpZz5TZpR@B#}CCC`fp4M*-JK&|)8U8?kf1gamD#FWOrJ{A`s<(-03 zuU?j{FG{kp5=aw)JcYtPQPmwA$ylW$oDbmvE416Mbh|oDx!sfnOu90IWhtpZpgU1s=;489{>>bg$F=(_m813 z->%E^e@bm{DGMU~EZ$>bl;!t^8EvShHsISjw=vDzjPo|(N+1e{Ri|5ZuL+rNhh~|< z3XQIUPkC7yC0m2ZxV6@vG+ zVGz*}>NzY$A$^0_~Ay}!V3;;EQM(EgsoJ?50$YE*kf+Ny%P_RNbm z>1LKEg|a)S9%cE!x2+$^q(k6SfEe1pP!mUBa)=94Uu=x+X?MJ zaT1cVpMdp~GKZOJ?dn6RM^!GU@!08@(Yo>No;G6@cXJnNKd+EP_P5~m^1FhEr8(A^ zHP)U4PVdeRX0|Q{@&p+7m-6uPj&2hTyi;fCG2|{NjFh}taqEovsDdW^`{2zMCucxVg~5R%&}tWq=BBI8yDw@sjF(r$C|Y zo9u$_yY#)~9qY+C;8g4Aw3S5}DLft-@rE5x-_QsKDP2Te@bZU005&X}9{}%h?r|w4 z7;k!RlK0^;HM(fnDR&X1Ri#Qr^4;6Nl#&{-2MXgBc$9B?yJ^4sPCML?_({>rvi_WM z$Ns14$#IYyJAq+!X)5ZaMQ%?4ESE-_ zipynk|3ae#xv=tT?1C`-| zMFrom!~B`=|Mr>5R4P1upL|~-PZn0*QauiJXge+jFW3+#vY6zEVecpEA32B#jI`zv z92>t3Wyzd=A|CjMP3fy5%u(6d1<-E1w7Ag|lj%wOOeXgA zT3%QXk4a?(igiV)!b=bf>vI!p!URni56oTQWTNZ0wqFs*Z(ukD&hdp+0~e^Ld*!h`2cWt7%LKfL$NE+1dhECG&#w;Xt)6%yKO4wRTUBe<)A6I32g;AuSU}1XJ zF7fK;I;ljjh_m<|i_LaNvYa@TNd>_v76hCe|4{cho#CGuWZ$ABWdOrz!pEr zQ!4Q*WLJ^h?T)j!7z~_uGkud0^lS%yQ-L0R;|ih<-46iKrJ#fLjs`2u`YE#WjkiL$ zeU#V6z?p6P{$+i=3thM;eT4FF)Munca@yUqR?RFJPqD1!%*L&fB0I@; zTyl9m%D0Kll^6a*Is-YXyFm%6lnp#Xo&X&ev_cy;tcopPrAm9!WT~o*allo(>XUT%+qGf}{IFlfIIL7EG^$YL5L$j~eIFz=29@_S^+IVVH}5~%1#|HVf9bJ;neaQb`dn=N2cKC`Fj0q|lF#4VO&{~I4^ zRXzZemyaI+a^Ip67{70o;Pv#753bUx4tpU?H&4JLZcLhbs4eeC|L9(F?M(sQn*%YK zpX;=A6w?krjgVW)*3c%8*5~bP+5wMAmubQ+oF;7jv3#9YqL4d^+8nGP!kP_w4FI8y zSf!aX=9Eol&U&qt#5^P$ylEJH);Ml9TxZL?S(YEnZEi_BkM+WqGx);n^wm49nyk>M(cC*n7UmW=c zE?LS>Dzo!50>Y7onPF-?KdfCcI5RyV^{$%hP2l%cbAkPUN%ys8s)=>1Pazdn6?)Mf z8PvKvS(8=p_Z?=rJ}0b-E&e!JY9gz4WwfSFBa8o(Y;iDMaXQ9HULJnCUae7<-NFMk z97eV+c&Dq!>LiG%uXmd^Sii?1aBRfSheVmjl7^FCXj>2jegcPeJyq!%FxLU<3sv|O z2FB$5^RE0ot}b|-jaaNLGQQM4%^?0h;tS{frfBtxn4AS$-7iE$g}R=Rs4Tm_+#O)z z4m)0==_UTDt&guO6#Dc()}@Q5EtkB>u|p4cDCo8^eAZA^K6)f9nF}`3H=sSLe`MAW z{`%DiqnD=Q`#O1@hR8`9SgVJQsAjaFT)xK_yVJG2`z+HHfrq8fJl1ubkUJ@ejAcho zZnctqlP{Fvq052;g&n#KFv3|u)Y2pM{MwT+cVf?#55_!U+*+$Z{7T+hyP>3Og-Z|- zhnm0q(9pYd0K}Ka+7RQyjYm-96n;q==yqcm<$l@A{(`(uJ96W*vuuyo&Wm?!)dCjs zbxETaZr#dh7ZZwi4Oz(*`qPTr(PMgs^e5LR_j^*2=2c1VlFwkz7W~}8bSYL<7C=2! zt>SlGvVT4S!of_L-~YxA{Wom)9|q~~j`;)E^7rH&pwQs^3z#e5zhELY>wmv3sOjo( zjk();ae)I1*G*2xU>3?!(|7_;iuU`iC7Ey3w#HPo`1*`78M4@oHfX+}-P$5f9q+sj z!OtRL@~jytT@_9X5_Bo}JjFuSbk%rj&~QU74I4?k(X&dfjSvVI0O0xF+gDdF z@%y*bHBa&eMfZam6}g3sKwTD7fkn6k!HP3Z@M$2~y4$({b`FFqb+Q zD7`-6??jvAeJwu~Vh(#k91eOSd=_IU4Z)EMlY}H>5#V~huT`{vHUhDX>nR_4XMGw$ zBU>iZFV!eEENUvIrU7FaoY8F!wx`3`8Zg)C54V45Z@bWDnxi52?V_gO9_+`s<)aom z-quc1_+08}=*3OdOi8j|FtI}1z1}^RU<%_+?G4$kbPrJzJno|vIllb?+WEXk3Y-Q` z!e5$r0K}wS-OmEgU%O$Z?^EyDmf_qn-LUr#mv!Gu!6S?EuPV~I=Rjl+tQVj)hq5e* z+;+uY@=eX+g$SfO>cuIvAQdf<~=7*k9w{Vy|wh#jw!*` zL{7V8!m+h7GtpdS}ja1t$-kO#XFxozkLkr_qbQ1k4B=Z#V_fwR?)t*W8A*`~D zu}WSkFYPruw$tR340XOWMLNso?_?H7|03}ViCZBj4**Fxfi7wE_Z@~uV<0#^S*A9V z7dyW??SIK}9gUE5iTUBa(ol!-ru$~PJ7R4}PdvQK(s>{E9hUB1own^NA|hyh_S z%Nj7XW_40hcD0n*Xv}!lRJHX*QG8v!OlKiyJV|fyeb^4uk9pn$C08zb?kxDmso29?k#pj=vC#Fd;q83 zdz;fc2|n;qmXp)l7qM$%dfQ-i%o71#Hd~Wiy~!5JlCfluY9iYpm1?>uf8TlFcty%; zLVk`kxLDDbUf3^wCm9$eOzQJF5zj#HjfbeYnbn=k$fh2n>WNSbX!Utj_>;#{Y;~3= zIq&^@f(KUYJn3B(M0GT@^J7poes~4!>cU@;!>IOL@t5HJ<}8P5>iNj^l9q7K9iD4K zO~QWz4xedrIn^tb$K8!(Nt%N3&VxN;JRGF_k)jgzoa!rKM*=<5sq=&}v3|Iz4BdLm zxHgwJzI9Kfw6?h@C_V^mHBGOY>TGCJW`DvjpL-uG;sh?+_oJD-lYVdSCe&w7ziod> z$0QQ`y|_O+U4`qv$HK}ViUTfmZt+1zVictLNQVaf(2r)b34?f8`<;c$rUHA!S6#&ffS2vRn z07sB+<8M$rZX7zPA}P}jzs_S?crD-z_g$A(5$^8<{3ws@&n1f{3r}!{q7bgCooMiB zvBq18c+D34brC0<?0P-EK9soItV@>&E-8rdk8Y+{q0{N^DfJy$_2f%m(2vwY*ep*hgCjilEmOF`1YPTig@pybHFXbYXHobTG57n50F}K>KpKl~zU1TG$|g zEs5m1bV)HEUl7MC<#@ETLMUB5auQD6&Msqrls!Xp=!BQIuQr)Lo{ewqSvVwH8ka1% zfSa`RAd;Q2!li?hBdQC@;{<~?nkphV8qg7U`Zf=HhA?2KBF+Tiunp{G6XcP?l>$#u zd%5sE%YgmyW}Q#MounHO=Z-($_NI!4#|6PLCnd+WKc>G(&b}wd!=+=SU@j{@mci7( zVpz;UDNpWFDHvomk@v$Im9#fp$dxgdrEa2yLNdq0xt){9Cr8-q7(cQ)C(lC>Lr+`P zr<6hzSSM4gf8;Jj^b%h5w?r0n{HmcLmZQ#S37(YXgle_jY<;D3`eQsWu{=Rf&!Vq z{C^_w{+ZFElx0mJ^0#(|norjF%>WpwEUtz};?$}oOtEb_3@MIohKla}$R)gc*N zraGODynPk@BlUWl5jpe>3YseM()NnXelZd;i}`d6TQ+8C%C5%NW8*ItbX382Hcre#sF;BKTu^1!s0+ zR@KMce83BAUGYDOpU4$_fYdm3d$jf5v0&<}ZGK6JlD?rf>L5(7D3ZdSP>}U3(t!m{ zHne`a2+NIGtsf7M)cy=F>>)wha|Y~=S04)#Ws2Gp-HUdnSUJqq)rN{E=3f`Fi2CUqNfuygSL9951<8z8em+5azuWlMcYgnF4)Fi+f zo-Ep22~KTTL1oB>TOMU>?a(ar1$~#&?5hY%&%QICSZm)a zkW>7BLVMi_|NCffys)yO(0{N8fDo%7NMc?WPZL7A=}f30CCgatRg=1ENBgtJ|4QG< zrFeyZuH%b5A2Mz%whpv=iL-aB+P?ceGnBS{)QS^ckSnpqV%7g0Xi-@QV?et%E4z|< z)VAksmfQtNj5-#UaAKBb@nma@6Rta_3K*}v(^?lgCeZIcYkcRvAWu#;mzSJgG zYbx?`_CK-!zo-7+*t@@H@}6`2J(E`jHvUCI2)?9Z#33hi+mYlip!*g#nGAPYaezyL zDrJPwzjEbFM*qONY5M*nDM!Z%zqaWwQk@#}t&R$D5eH%QTHPWqA!as;*oT{SI4Q0j zQ_1?d-?1%7w7O``no2?ED!m~Tt(Gvn?9gmyXx+hrUEN#-j-fyN${cC19A6Z`R$$fd z3yeS|N>^wX*=>aRnV~ViRyUsXuU8F9Ew4k%H2>g_?^e4dcNm5GP^#mu-syG4>N=uB zT$gQ*{-78w5~kvv>}~&!P@dM{7KZ7n0TIOx>11#6xuNQ&!X4o`@iq;Vj{-+dA70X7 z+rA%IM=dg29ROi5q~_HIPbj1)C5**wrDoG7o4w#Ka$ueppFc$i%~~A^X-EvBZjZ9I zwLe_#X|x)s1ZA@g3wOQqUE)G8^c+%ZQt|FELb=mg!+9c+BX2ydLYfh2+eb>p^r=vX z6wY-uqli01ry=mBuZ{%iE{8P8c)9H`Z#LqEwCk2Q`NNC z{#d4wQkHVM1M;~{CpM80X#F&#^?fm*PNwePevzg9)|yt?r(KilXN`)sKN1JJQ(I}2 z9Q0+0LC(q~hPM8^lHHS!ro>oWN))9Pw6up7ozfY{hoQ|DkP)@&ic!1Gal0d6`P~-{ z?}FF(J-BwEC);mV8;{-k1HvbdA!lmbJAU^p4pl$Fc7bCnDr@DxUh7`#1sM&Py&O zuMunKM5*P2f=8*Te*IU78Wz6Afoi14H)r9R`asM(aSGK18%_K(bLEAT~4%Z3Z@^Y&LuLYc1C_fTEfC?WDjhiiR<USNQi3F#}Zy)}0)U&c^4+)NMy7%Vz<=}fdR7-&;c@sA(AU_Ia|iXgMK zbXRe6;BIWuc8*9AV7VVVmTp2~^TYL6x>?)90AVi*Pgi`VQ{v+AX-_jP+-z}HJ|cIC znc&r(U#$&cgxDvodcM<~*PQfk!rZP1q)P8e#m>j-p4z<`v7?2z_V!E)=;de+3kR#*JFpyX;+J0A#)9S z&H`<2%YhcTIM4>*5@Hbtuu37?7@jI=f%JmMuvM2=EyG_Fm$1`} zZdttm^M+lOqnXhpyvgwGM=yBy1Idapk5|?QV~r7lxPy_?3$E=>WXYSvSu$@v5Z3XBSsg0n)r3(9I2VbOO@U6rjt9_ zZ_uUXF4WV`v9%>}*^g>GhYwI`avC5(J(V*d{D;fdt)n zZ#G0pPT0MAkz0V(vJoK)&d@GAC+CdW^O}*&@^Pw3(Wp<+9z85MJf>-^Yq{l?+kzd* zYkrhPX?_2Rv)3>s~UgrIqgPM!KcDySrif4O~mta_{x+ zwa-59dCz%&=lf&+n9MQ8Q)7(hxu5&KuItuJFW5KK9{OBnDzx?1Twu#+2e-Ju_a z&Wlyssz}z|Nt^2F9Y%xF3VjyR+9Y8#Ix3ASqc&N}Ecy*(SmytXPNx~49n7eEWEdPd z327EE-GOAx^y-*08;9knl1UO{AKZLY@4nx(q9=pLt5}7Y`S}RJkAkup9lM#Jr`V_; zpRLFLu+s`T1)G1XC}8nr7TV#%rkt^FAcSi}eSpYeZ45Sze)%e#H}{}Aidu#Gdct5b z*B+z}%dw&MNE>H2-<-AEe$aJggjoH}GdtY;Fi<9z3faD!KJIRi2!6z7g2k17f2$ z=pQ9GCL0)53Yo0N{4;VK(OaCcKVAlBq)8YWg|oo*lhQ;hQ#F#9FC)Np8&oh~ zgqOEzg&8&G{CSwI7Bq$N#CGZOQ!2~-4`(+=KDP2Oq2}bz<2c|D-xtX5>R&u|)(`Q^ z17=7RRdt9i0<8IVE4^!rUP9{2`C9*$N1L^}px0IC*p4yRikVZ>C{$*2v^%6lWu-nb zqd2-avQ<^OVPce7EHra64B0=zHZng^FS$|bKjSth(q0u@Zf!M?Pn&vl^(AIs$(AU{ ziI^(p6^Opn=KmJwp%Ia4h!$@suX`IxSL27n(Z{V6N|9tCkpoza;IxgXq8|P6B!h?w zrKzt;HXf$I=iW=hrdXxM=rhYtmjOSe2KRZNxl-HcDcij+7`=W(z+M8US!ofEOul}b zdBk@A?oQ{{)@a^yO(CvwHT>P0T%Mu&d#mJ!&cw(0T283>qO{x2MH$n~5^PPOmErMg zPwJ8uq#J2M2n8_DqE`oS>(zB080te0md&wpWBoaG5EWIA} zEbn*6Jy-JwyvH4GOq=;=95>1y(v@1H)4&wt6$h>zkYO{^^(EP1V;Qj#*0W(h)V?QO>oWH-S>E z2@%0tXyBJ)$zcOK1$l6}spgSV_~_Ek4t}n6HvCm3PFR*^Vvgas&xovcIw|*a6#_aF znr(RxwCs#1pQLTN8EC6kE36=vha41*s;U`t`R>Phcs6!C%mP7G(|gm@zqCW2DCMV| zN5n&@*WCLn^@s-JP7O};wGC<#y9yL73eF&*bKT9@fe#MYuXe6C`+@)rc>+7M9zf>}1SsbJ zE~ES_EImErOIPsv@Cam?F7p<_Gk1xb9clS%utyoy9n>#Ggh z{~0N0Cnq!FA-=zLG053llFO~(`Vgz#(Qpys&qHZJXP%!@TO{yqz6S5DD`4E%1k-#i z?Vp5gHn#+#mko%j0o&JYH2Q9{%kef^k{XGrE6#S$Hr+!!m#%raOgI90lg`X7t9H&x z=#Fcg7xe@e9X@va$qjoM^E`wbE)0pb^I(siOby5i4-^MS`(T2_lh z@7yU46ap=FF(zl;x7cqLdfv=F9q6JKn9Y-TMxtAJh0ek1+dQkeV)`uX8;C{w03l1q zFugoZ{|#k*EC^pI9EVZ2ktkNr^980$FIw3Cf9U?EQk!a z3){J~Z`wm~hfC+~jzf$(BupP>9X4slVx4H)-0U`!;g2!rZbfqqFRXCuYS-X!!d^=n z$f~6c2LKz%@1SRxAK^lUXON`@XaEok^>6so_m>Y+Zet-s#)FVt%RIJ^f8|=j{8s?$ zFq{ZkA;#OwknhUj;6LbK&0EBsRL_hiGigJD9UHzHOiN&FDLf2uu9x#spFc&eP0Rp4*bYX}U3H5Hg`kPQ8tW{%?41ym#xdHD(>zMaD{V zri^##Z7(eIZ7(S9ESYGs;3f0d7EJd^Sxa$XSzpbA{f}p~x+QDa9!NN>!H3)S_#a^1 z3wjrz_XyuZ;nZZs+|?m(LRG-fl1CQUs62_meSo$F7w*)11aawEX19o}qHL3XD3Pf- z$D<~Ycu9see|2Z4x;r;+nP8j?HW5*aGxN;<>tN+M$LJ*a8M|6bks!Meg~Mu3*rZhMbO`h=6)$LR;$UjVQE2H z9s6`Ubjg_X?H51eB^Y#R4Z>kHeydU$1O%#_`~U7N^W(gqOZwjfS)K$^K2lJeoFc)I~=Om?YB>KTfFLa9gaVxLusqCT~tF1jD^M zW5U?}NKX&DX`3td2#n>}GQF{gGhVjb1s9xTCz7$EAv7{Qmak?&S%|yNOO0({Pumj3 zE0)oVRfHW;LBMjTQGX$&f{H5t6lX_?&m;CE(;Z`DQu%!?Z~7KjR&D9%l7Xt(TJTrZ z`1Zqo^6UjYn7-F-*7BYJreC#9`!HaPoU~n-!66y7)Y9+`HShC9f|)O+_Sj10p^OV*jA1m9 ziHj~(Jl*ecrwS=O)d!l&@`RnvcS#f<(Gw=o?4Dg<%uNS$r%-39G{QXks_0CWf3%8c zKI8MpBKyaBi+LBfR91-p-wsXvWB4i+Sjj`)LFTmAWPghNt%H7oCgfD6Q6#q1ec_{U z!{iXbz`hdU%>d6lN0EAOkASJW>I4$ue! zJc05xDc9M}9SaBvlm+sItN`-$$=V^&l19PrSEO7qHmt>K#|~ZAegnn0&Fu^I6V8QP z!vYV{TM+=b@JX_N8Qc~PeLx4)tgQXLW^f4})T#9%k7xq0B6t?BM?-S@FQR9@f#5io zrVaocq8()ay(vHhsJ`|)AN*If4xBgvN(NUA^L{)o?%@4#;3-p70 z<=>k*NWc*+E{Iq|N2Hu|^sEMolUe6SHG21}sk)#c&2)=F&^TS50 z4mS^oJ^IxSq%G3+P`V?OksvZ6mM>5Kq5=J!WQXi~!%ZCXPba^DS^y?jgs-~bW~itz zPwNW>wBU)Uq_%KUIZY&e3+GXRrM#Er0RMj+#LIr4S(9a{6ASBWpL9%lFG0}8v# zSgjx6LEg&WgdE(;8vs%@;I{n5qR+R7*w{0+RKJ0Aq6ffxMNk%inf?NZue6^Jy!kIY zzS27nb0%LwW!^CG2fKfsuI8CF@^E;wNLw_+AK8?iL+1W~IBTEm1d4FVhP$)HDsZ4=H>7CK>}PW}6y2 zw!Afi3cPE%GgZ=hQ!6mq$@}i-&N1?f_6?@2bhJTJmpo&0;QOhr(E6{hIxl2T@scji z!Ve21`5p`nT?tA090ZT{8u%{t7^oN9>kpI0Q%yVTIVYB(dt5(Dc8r#8fDXj2&TgXA z;IwR!<~~Io%C!(Bqp0HG1X+!iHDH?^e6&ZoBJ%qP)IAf~_YH-763Fak>824p{P@A(CXO?%)ZNV&N}+AhU}y;^_hb5MG5 zrIBXD2k|JmySSjGVdPZ?UaH39v^ParnSF!rwT#sy-Y2<~l&|WBNign;?V6xG(%`~? z#X#zJFO%}8N2vethU(5c%X)4|E$He36I1DJL4w$oYUD3sX;#X1r zu|tpk>KAU{icI=(a@5qIUJnGPt=L|mU1@I$0pr&Li12~_lMnR|#HAg&KlBD| zhgV+^?Vzto{j?w?LvCI}YQYI0=Wn298VHPr+U8mtGk^3Q#Vc?E?fZyH2VG0~c)J2t zGYd1f>3BEhRXoe4qQ}tN|i)~0dCQ<|?ydlSxA0LfY$5kz}icB%JqYIAai8>U4 zJJJ+_skDP@^U;XMxQD>si9fGor(F{Eq&VuK?2Ta4$IF}L4zZ&_xsvcL zr-j@c!eTrzve6z}1HPhUe8W>W^2#G*mHt<4%o^=Bq`geyW2h7#Z0+$lbv*maL|8i` zPw;M@tGP+YR(W?QJtZ;d1Q3JwK-$)(VewD$`l35or@DtHmT`+R-fEf;39yQ|RKmJKNc!+IeW>_Eqp$ z*|BiFk2$N0Bpcbrs)We+Qg~$9Jgv}bhu-H=h$`D4WhfErq0SS@%lFlUM8+t{3dsbV zj#+P9Dt)%GETZS>c&(}`K$TZp&ipkYB}sg}OdHj)S#;3yM9hxcDL3~zS+C*^)F_nf zjr{Toeh!&BxR~^MPi0`y-acO&pMuglNlRhW8Zy;M|WdhL(?zFM8EA#WX)_hF}SZ<_o_>9yCxhm-hI=sdcc5=;q$&g-bh?YOWgbhk{ctEt20$951}Dr?ApPL zX>0@~$!qiiI!xfN5E3<6Njk-PrQw*8VLlx7b9$E>8OJVBG9TTL?OE4+e<`WGsyUo3 z4XJE8WyJ<;N;c9(0Sjv>-D&%iwcW*>TgFc59F6}0*Wp%D!fw8-=+E=&_=iVCu zp1@H%#icWM{pU9BS0V>!K|Ui32ZTxF_M^tGiuk@p3FUzZfjaNk^SqiPJ65wrt4HH< zBvMVSn`t^t$vR<-mKlkjCRi))auDMilJT6R){ma_N=>d#UbTg5OwGVQY-db}l1V|S z#9V{*+>k+uatU|IGA+pLN6VRNOrtPp5*E_zL%_74YDIq8fLA4a32ukp z?a_u5P*w?n)0{<`ad^o1@|^1#!r)5O^?})gEIEc9^)UWsdMxf&8j+Y~on%LcaHRS=@V=q3YadeV-F;8WPPY$~Z++-4V4YoZoZjVYA zf(vt_@pp`A%ODN*(_lD=w;~2Bh6c)sXyjbYo(J6F`1cbwtP^^{u);u;{&#c-c*U--G_{D!Hj)U zG@(UoduS(RJ#Fw+Z>hTrE0vU$aAD&KDwjs{2}G1kIccZbn9EW_ozPJ_tvd#m!`@iBe2TAkpD2`PF~*%SlWPl6rB+QI^C05l;1_kJfa4i_CC)}-$IUB ze;3isMxtP3`SKK%`i&lvz4yAbcnI0Bd<_a2zX=tW5I~792gG!xE82nGn>G{*Im!0G zdj}ila<7cMPy)GaPJ3(KLOO4gFPvL~nA62>E^ zb8AHV!2ROB{>mtifINC+08I4RZ}RnMf{cTYh{V8`BZB@8I(kMBqm1jr@Sz*PQ>zw! zB?!I%(p!92@KvBn-lhfIi<1uyuCf@ooq%TL*?=d>(JG8URJi?EXqfrf0D$ISoE1Km{mli883m1zC?w-gosc%)ycBurbj-| zC&yT0wxP|2Pt~(*M2Gn1813N%6ZoNIHv=covO1>>W|8-#7t%1I8`7RiqvWE6Scu(Q zCt0o&ta#oie3+TjA{vBupd4$Hm4Zz!iIi^DS*SMIa_renKx*SV&a?18E-YO0Cb;W*_+#3eZ-AFg0L%SP|6qP3`&Cqh0Xb}T zRy`{WN7tC*gO8$Ym{^wW)!h^B4s-JlwS(m&cj~H#L0nxgK_&EQsg&_OktPVz(&~tRydi@A z#@1ko;W_7mgTWz>n8l|+Dr1Es6=2FMu?-<_FLpiZqYl(!9bB_~)??cNX1@2-n#W$$EeA0Dds$r%cJf!q%mD1hk)(q2(RESLv>NcE-oArX`9cyDo0 z8@-sKT0`hzbtm3uouE%%49?4=k+so@PDZrJ#i9}2PsY1SU^?Z*cug$5Ho?V~aaD#y z=j-_yvP7(a13Kew!|~(g*t03Nz`7}wi?&l68z-KYR~^fXpEAI}Yo9(Q#|TV>AK~SI zW~e3YqHigi{3Ic~e4qv>Ro#XP|9Yhe5gxdf&;gX_Hiai6KE$EXyBM=L;JvPMFlh07 zKdHWkDu7onMZHq-?)m{jax}bZ%GJv;1n~CA)Jn%e=mR+X9mO|{p5eo=T3SUlf!W;X zGO2?X7y#qoDR|GDzh7jK$8ceX%Z;(V^D$lcRAnfwLI(~{y)oTLy>JNVWU8Hvl`m$| zoPLqUjeeAa-hw>rYe(34vWUHG8itqp9dP8Zm(>u~D&LESqb}*I`LE{7WC*xOXV3ZZ z2psdJ6r$n1N*g zPsNi8c-GKBO#YA`XE^l+THn z^xWU_pE@R%v)*_dB+*`N2817Vjm)%&G1N}@hd|uz1zOJz$TdR`YQejJ^ zzPmr9xLh((kJ;53KC^>$*>4kXKehs^Jc6dU7#S)yL6muG(9Q#fy}S(?=ogP9yc?%NVQ5F*lWT z=2guD-X1+Zc6#;od+^%j<@YlcG@dw}fYox$CaTKNqUgmM_z zeSH@yOMlxoy6R)nRjkQ2lO~?IcXFDm^0i~r|E>WCPJSB>#^{6&&X+(8?!?vV!mqVe zNzWe#ceSGABx6r|ck+yU%$Tm^r9s}*J zX6=1MWWj&ESyB;|9ni*^NATM2x#68PGZ`9mx5kGm{lw&9rd;#~Yr6_(6|ddc-q2I_ zKK5yt%v+uc>h9Nw1EePx>?Qz6gT<_{j0x)4+jX zbXk@8WrNzwh-reDTKyicKdr65EVNkRPagw4x6HF6gxhyMZ&oyQveYRp^Faj^_hw3+ z(YG{eZxtbwOQ#IZ?UiJK=|CtvAM zluXB4#VZ>xf?86 z65dY4zNP|Yi#S(r$wDvp zf)noXG2XLxmYGJ9DYIYTyjR7d&qF?Attoy^F{+r{xn{G!&r;Ii*lsB&Z6ZmMGW^Mj zM}J;YaCRFZNy<(|U$?V^qko7f&++J~Ftu}5Q^BWa$2r;vjzW2`2B+J5p?;M1;1B&< zTJQj9=9Yp2Nucs({#Q_gSeWl9{KURK)2qz9ysx!~g$lCMv0gPvK6h~sG_3h{I)X|p zILPm#35jLDv2jCwtC5;qomezqfE04qSYN-|AapoJkMPwn^MBS@II(oXWnuQ6( zIXR90c&4IE3%Fw6Vzwh>Xw8(Rd2mAgY7V8e%(l>sCVn)ZCi z#nD*9J_Z=dsZG+FAx3MmG60L}VH59;`3v|+G{E;uxsJQ0f_6bJc8Hee7DR|OF4v%s8=8oY z)(Rl=%P2{}Wc+I_vj5m@ zGKfC-`ZVOwazEvdLhwCpwvzs-8t_8S^#efA!}$z)M+C5@X_hU2_7MxK^=;I_MO^4G zK0(#eQOXB;H(>Ad%Ls{FvqHSUYyE&B-Ut9$&sSXi?j?{H(fSO)TEiNWJ0D2@kLxw& zAA<*U7=Y~kO^1VSBEEr+Cc&KzUy>8Qh>|f`ipY*xI9{&lg0qyKMoIppWlf@uxkUv^D$rR<0xX+cGgkYk8H-+mg9qo?vAG47p> zhqEEUR>Vz;`;&8Jg?+7*G~-F1$dl77CKg#W@#1%i8jSWdA2@JME^=1DKg-0zkJW9) zz$fnk#HTIr!hKJdWDCTH zM=7tGFTNt=xSd|ciYs01oUlZ`hQHmrs11aW2(+1Uaz?sUO+tBeN1Xf2IJs`R$#!gQ zFJX(2z@`&8;pGN9O{yZ-K%n^(`51Aj`7p7yCm)TL!^FrFQ@@&~(a_*qJ2(iTG@M_C zZ-PJMeb+n~wVS(k6FVX5Py*zih&GM*d+CtpdTWl5%!^RHxD1Cb#suC7k0J&$p^2ob z(A9^c4TRkvSRnCJNjtayB>x6 zPtQK##PKS})?nla;}HnkD5UH$Y6}>YMNBm_<)6n0zQ=imK%h)G^EAhtHm|7b)i+Ry z(qff56;DniplDEI<_Alm>Nw3?)kFv#VJY7+4~^f&714SQ*f_!rqtEPa+zBK#(o)p% zxAZOV5PrhyuQO5=RWdWo%syj->SCbxWq7~zop%bTG>>#78?DgV8t&Y*^r93N-qIM& zcx|pnpR!CDx}iyzYTVk|(g~lrkZQ5^)j76*_++&1g2b2G6y%7?=fnVhcXg?x;vee1 zlds9a+h_e}lM2E~?&;y;tcWsqehx|g23jYrjLBxXwK3<^hKC%7Qprd@Q+S@`R)I&^ zM{5v=OF3PirBA6fEpHCI6l%T)mp#6G!(es78fi4kMd+)lDwkhXy>Yg4{_%8!n4o)& z6U$;(q*g!C38nu-pvKXT(*2g6UVL{g@Z0#%^HK8&xgMbLdJ~EY zYOezO2;`g}HBTzg51G7qgcACgO|{;u*0Qw$BTl|D!Z>tWu;nf}{?fQi_-piceB@z^ z&ykYcTHeMmUbC**Zjd`^CXAO9bv}txihTb!G)JV@z*ejUYwViKK135W191gv*P*Pw ze+7LGIqN^l2W(Kv_1^utHot7%BN^RtuyaSf?lQwVQl9zq-PYq=m%WoG4P0qoZ|?X# ze}CX`9Z(FZ9$7Bi(gJoLq4v^eYPC`IYgB*^m{#ru>el@{ZuTALQP~JQM)c-My znghHvIR~xs5Bok@6QMFqcZEL3>!wM_4$U&qT?Z}4>RX;Ow?3Pnd!V}YU_xyc&jD>k zLm2OKf0rmX-pwZ_nkUeMGL(t@L_9||rD@&rcS4W9fvQtHp4#0hyVXwm4B)mxIH9*# z2Q1d-0Gx`@<^~b^mg<$yEhJ4Hat6-IGNG|NKdJZzvbl_n`rZ!uiH%2>K4~{IX%R=0 z8wc+#(t=QEk)*!%x!iHgi4F0wb9>ULt)==gPt4Qx%cfK8Gd4b$e#W5LnS1D1(~c;M z=zgx03j?Xz#?cN*lNEqZ#Y8;J>;eA(PN*zoB@21?oSWaw*&y@0xh+E%jd63?Hg^@z!xEXwHrjgsuV0nTl5o`y~LF+KPivyD?dwJOuFOY)}Ol zpT7bqu)?GM5Az%h%H8_zQ*-XG7uBw1;VX8$??aRAgk#vGwz2&z{1vypjs~~2;&UA* zc^RO{zEJXEYAVp>a%k;kpl_>OaePIW=v@4b$(69iD=2F}g|UfUQ4zGm^)Zj|W|J9E@w;2#z04jkxh{ zAuqFiwmlLf*V6Oj5T18I*U@yV4<1x&b--&nWyC;d=wc8B;X_%5Khsfz&)<|r6$#6~ zDCQQeL|*=YD3Ca!X8MrqjvvN70RmIC7el$aVB>}W_@Z(Q3gSfPdtS-mN(1I(as@UH zPozO+Aa~-?{s-dIHKE%pE+3Uq$eqGFm37+0`sP06p4vwSlwj*lj|PpFk&iKn!7(=D zy~zsv0EnY-#v}wVb`z#o=`BJrO$(GL{+eJ;jq|&M{yrMtZ|diFy0k@eeamx?liqjgpS0B^0S7gVDCCSXUxN?tg!iN_YH)o?r7kmx-b^CwxWvi zt{kU-O>u|EIBosIJ2P9`nh$z0`Rc^sJN}D_#(FqTn$ZKn#*rp$oD_0$4&hZ}+Sd{X z@ROx)H1Z zx9SP$cWek7p=BLo%KQ67=b|ZQ1ld&_J1UD<8)8n6zuISE*CbwLx{cRIhPXjfN9&dl zgRv2b{W}|g5WjomMJu7-x~((5bbvzAJ#l^x(DJ2nm~xS0oQ>minMN1^jl`R+cGKO% zNHeAjsA1b$@cG1b139Lwkh4hGe?kIa+gSAXFjqpIs-#2*Tyi2R%Z?!ifx z!;g~wOR6;b+2leh0RQyoz7@F8z8)2t^+^K3zjE=O+EB%meN$9o3gSom${1}?hpR6rK4c;{hDi?=86_{g`a=_2;Ez>+zYVZ9kp2_M z)qi@;-$Av0>~)5Ikf??*cl7z*J_e0i*3Zd{Nlj`*NymtFkcQ9!>o$bC2rW5brQu9^ zMI`DQXa*b!V!;T+b<|M?BIpss$SCYqiSTlVb5|LMDcz9Wq^@Kcx#>YH3V1!*l1|Qx zsgT{^h(^Z2UrLY@Gkb2n*)|~cr^`P2el?y|2e3F$1wa=q5M93U6YAEl+Zg@s_w?lY zoN|tQWf>tX(b6&MAB4!+*!&%SYZu{fSGWA*51?uJit?GbILma$-&**4zd+`gd%yLN zrvkchoe5JaU;F*b_f~yE82Q86FLf=4ZV+kFFzrOHS!a-Wpywk15*+criRq%xxo#ZM z*tDB`FDA=l^6BsWaI(A^x{!f2%J}|8_WKy}|Kni(Q)_>@oF8{=ZmVG)EHf*Wm+Z;#ndKD_tle$DX{MdXhRi;9s0H-_WtaBerz+q$6w;i$RsDTNoU8HOBnsyIO}N$PhxS7}~_yWo;c^ zqx;KPD2V>lNYT$p4ZX1uJ}Ro?$Zkp!$H!aY>}CyqKZg z39j719LO%XJAq4siz?N&VvU%m)6hJJEs~~cQtW7{D9Lq_BHIiZH$jzc=e5SFou(g;zSWu<0%_WRUT=%X1selDZWuZ!?I(sr#v|$75P{$Xf_rC zWR|O4Jh6OB$U1N>4kZlduSrr=3H-vXcm&(VfReTQsSxh+K+12ypo;J9*;7MDyOB}f zfE$0hkVL&h)YOwL58-K-)f!3pMa1SA5ZGCOnL(exp+B2UMy2|k zdY-cleSa8`JQQ?rJ&9LBMvjqe?6M^e}@k zwublk=;Uaq7kgts+2I;eu#u=U-+-WXKG*VQJ*tAuUY@fhd`_G!n56O<@Axh;yo?xS znr$q&X=_IONYQsobFj3-tjy}Okd-~fgoC44ixHL>EG$JFNY9`W5VAES%T6bdW*73gD}LB3Tei(Hc>0j z@mEKKr9198=YywLGDYS41Als z*nITmb>*=V_X$nGrF{EccVP;J0X>N)>qy*MavkXcAZcY%Z0(A%Mco3YzD$)E6gn4XANBKpGc}`m` zKRTs9eXi|N!D005wL}tom(i@yble*Uz59)?OHR*I>+juM)z1cGXm*|2S~i?yTtDnM zA>i5*ZKx`2D32OFo#?Rrzj{0bN)$!tp94Lui9;k7sQcg$GlmoK!MbbA-fVF`R5N+gdB^iMv%qBNjYy@3I zuamC4f!xsmCnW<4#J7Mn%p;d~8$0KbX}Kf#TESx3 z-1St)4rRhmiD(L`VXx(+6=be}aL6>#ZJO)HKQAsAN|rfn^Go5%x_l_r;lS+PNd?9F zZWkI|;kPHlZsR<>-YSkFus@w^aZU?VDm1#J^&xLzq>^1VQ+%04KkenzcTZZ)cac}B z&rMol^mRG=1GSjb%(u1o(%#$+*)6{dFU@mElb|GBF;^h{j9El#ZoeH*o-VcTv)3DE z4F3K#35V~Y1_$iPJ2w;ce+A$k5sSLO{G6CVw@5lHc`WgpQuxcE^C`^`S~#BY$BG2?_h>Cw#I+A(2&0%gRrI z@C^}@iw8tN3S$+Tj}hdXmRn4vFCB4A?wQn=a0&#RD#1W1Z`MsBRF;0kP36m2$LdWS zl3)&K@9OkN7*3KZI73)`<%ikr=GZw9f^f@XiTBtDeGbAnJDhuMG=?bTJ;P;10Y3|3 zar^NgYbU2S|64=x$Mg5EMo)ANsl^TyOZ$ilk5fbu2&=%}@|}8|sVKiPfJbXY{N!ru zMu~?ghs<9M5;J|&QyEEQkx}*3k_ z@e;fN^4AAEIPW2Zsu92eyKr(Hm>mKu3l_KR~_6eZk`=>NrfARgV zkw;$sTSAF3y2iS=Lt&eX>W*ts#%Uj{H}Ooe89*TZU1^s7bHLjC`gjNm?Z1u2#ck0f zL;NmcufWWa$<+nF90YuT?=5d&^1yrB-#|bJF}Gj^IMuJ@h*OOQc$j`U_Unb0T~Ot7 z$VZp|Q|SLM#x&9FxO+=t`LVOww2&qFfh1}%p{#_tzCE!Q48gm_klg$%DA6imf6ww? zNYYfl{MZHHjc=6+{@Xr(A^`oR#%3JRWy?2^BZSNDNA?^u$kxM~h3j=##qT&In(r~T zqT2?;%o~=u^f#e<$(;jv(3D4Yh+b2=Vjte4XeWugNray7qS?&ByJJf)X)4i4o#L-Y z4ZcG728xb>xeC}ummdOh9u(QY@nP>z_hmhvVR{#BvY_yWEzlWxr9f?VTROhaMnvK! zG2kq5uV}g9Q7vbNX*r`YG3mIvdByZ6c#lNIF#?36ul866Z6&E1>uPCzN%lSlo?Y>Q z76k7u{ja#7%q|(543V^lU$#G4J9vmgD+}Nb?ghH4egedGpVXuWeHDvm`RXN+bwU=# z9cI-p?*DLQVB0X_H33#9WyVRtMIyIUP`PMG;LfY@lcrvleNkQ^tVuV{GAq_W0;M_W z1F8V=VIcpXQkb49EQ1-3j(8Z7meW;AtVBT7F51p+R-Q0i%rN^FjzFJ8y;e*P)n>JI6hDDXUpsO*+DrKz%EnkItWP8+gjg5l)- zpxwI=yAKvWk!#;HQOq`hLXF$;UY^xsf+GwitYsaKt#&Cf{Lu$36_jaL1Q=h^aB3z_ z7_x9Iln6ihM;S&rsX2-Cb2Bf~!*H$`eUf(-7;qd9Iz^b31ctj%S`{DnJrifOd1XB}>thwwNS0x>$>?6k=|Q zfoRwy=pRGXK!un^33{dUqDTy`05h|b6rZWE32|DUhC+~S0IIz*o*_G@APXQ+w7}Ea zD~g+~d%#xXds3YOHQt^te`7fRq4JIOlayh_KQN|sTm+=GqOrWeEK|z+^FOug+qS$w zso(SR{6aHGr38h4wUH2QwhrB7Tnr z81jSGH^S*pMP`E=#tdvL2P}o1xKo6;0~xx+L)S&r#D!$CF>PTn%VuqUyavDgRV%&% z0!}AO0H7o}HhU!JSq%gjXm;@B(<}*{yuKI1KU3ea{>bc7@M29DaMHm6&Rx)d*9VKD z;@b5&6u9wR!GG*v_~HLyrrj9(v3UV*?stsnC$#UFhKRgdmL+uy)~GAzeqBXCt*m** zY@bdksFMU0vk=a;iZ9iFdF%6jlu%o;GD&L|wTO&s%W66Vr6`yb+NF`-bA!I`=Vw+L z#5Ix}%+X>6A54xTDsvA+;0T*_WBTzRxauayI#dumphHe$xR<1M2=)a(E;FJGc`@2p zUlfW=p0N^xfR5)!%eZMeX8w7=EXj9>5=#GiIW=QiDZk>gOv~R{?H%+IM1rnb=eu(MO)kuoP zL4I5Sckb;v8I|Kk{``Jw&3%}45Lmud!Oqa)?on^PU-Y&3*U~AMcdWex{wgN)O?e+* zHBrwOhbT5bg*)oZzgN?bJ=Fsx^enWWl4@;Qve@|qp`PEW53jZ3t3jAb4R&5Ipv5xAM>My$;sfn)iM^C|-e4x-jp z=Qt3;65NA*&#^kO@3B+7U558b_j*d$oMhynKqPmB;Xb+Cj3c{NaXCA)vBRDF_PZKj zun_rJ>Bgz#yOD~{H&~u;S0t-C)_9N3$1)u)nPdeh3vyV9 znqG<(y9G+57nQ4bchJq+dg{MQS7k19>!S)UHnUPTew=okM_}L+#Vd70A>H*tY{R#M zuWJ4nE6*~s{qsgSQ@7FnbK*W-{RqSSMf3vg4OKQR!eJ%Zl_~XUvMdBf7QM*RrjE;rc!8@|)e+7Y*HUz#LOsn8IofGDZ*+Bl6{{K-n6 z%PuJJpv`S_q&~zDK4sD^D2ffX7s)A{fXU5fTq&VGP2bRLupR$vbHaNXkX~q=;PKAz zsOD-NZ)=r*8&OG=8N&2q5rXj}54U!n5qiT^#ZWpSmq7s#H{4_Mx)^hfq?oQCaWVYHWvYR8SJOq3}7EX75rj^-YoS%{J^SV zFI=NR+0?*v=aGWl+yt=417j1N6CmDZ4m$;whW=JRD5AhOQ0o{O;Lpc{Ua$bp{WidZ zB1xnS={<)u-Lo6tYA8v9y3>O9xzM5XA=_&J05t&p`kwb~VlojRM#6q`XavL<04W;R zSUw<;S=|0NkQe?|(HO)Ke0{9~nYSeZGMfETw?+uC>zuZ{S|0elRyQC3&JNIU;5f&0 z^Pzo^i}OMN;kgbzuLl3A@+u-Az)?AO)_EKFxUKfG25Q+1MY73n*Sv`bP>}}!$;R_5 z_*Sfj)U8|ENyB2b{kSV6@Y2Ly zZo*WTH7hj_%nHsyPKz>BGFk z#oy%#>8mYhVM8;uvcpe7Lk%Ij3bO{MIqV?4GjD9y)rbyBq%v?y3sro=zthjTjyUEo zVUu((ENeHfpXh+LfG;5Xg!p48Y|>%@SN@q&44Ti8rPUo_@jyEYkIw5YF9Mq4;P#PM z$KC>f@uE)P^DjZ7zZ)+Y>OG@F?MxnOY^X3BnkyM0<`jpmBe@41Yio`lF%icQpVUJA zzmz{turu*rJ!WJz;vTZ+EorW&a(lfoKSZedzuLROH(82ebW8#`Ic*p2D@DAD`Y+jBbad(QKGPJg9)?&Z3# z-}U?5*L^MDYy9GXObwI<0delM1XUg~t~mOkHcjWCrH*pPorm7RK1(x>84RmN!6T;-^>t!)DRxPG4mS;T?8Rk?fuDISX*t3%Y^dRfk1AvVg)bN2XxvVYDdUz zW84HsH0v_49bkCvT24<~)NlvL--a0}4*pm!+b+N@`%cX0d{y6>{oORG33urp*(i1* zqody*NfLQ8TgB>BD1L~Gp8mAeMoF}R5O0R>lc+lmxq$PcxQS_RiLHOEw*^EXxmsSR zXj2Yi6kSoJz`sdL;QKgx{k{+Ep&0<3QI_WvdoCX_t4)v?KG*fO7#Fd*^rWdk zh&$F29QI@(tJC~&uX&G7uyU)7nSv)sAdq1UEL{XXh_pJqs#%s|m6mt}KHdx|!DFW3 zPg{h{gQOv&S`LA=HfA=dC__Vq6JkacdO^+$5Bz5BN`}5I7qXW}dOhbAEL({Ym>d<~{&jPeK=Njy!2} z^6SL;2tP;hC5eixr3~^uo#%ONvn<( zIxkV7RnqAVIl&B=Y_FU41DR+QS~LZ3iPAv!|+$c0)0o5 z!gOPwwxQVvfJ^jtMcdS+t1Fu@3@$8GE6r4D2blB+|L!7x`sMB3%G*^1oIO0xzAro8 z$~_a29_uV@8X(iF7$iDpdR2ri@^&*0$NX~C3I^K`LyZIeohIP$50C{Eia$2CuJO}H zj}FijelQIWYcp?_XDzi9cr85^H6~Z!z<31HkY$Q z{l~4(sLN@}!IxOf6N+m*@VL@mwMUidvHLKS1BZx(Cktm>Ei8Awd}4VT3ur8>Et^TM zfKF9lxUyDWT_SBfRAhIWB_}UOCcB0wK~z~c zeYK!o^s#+FZ(YUtpt=2R6roM12&nkgsAkA0VVaYZA>>(nBLEm^VF*JmAsH9D%d20B zE_7D(l*LG(lBKBbMoY5)r3tp_mp0Zu7jk?SpMA1C+Slj13HGM9yAekl*H|@`kQ-k}tPZAO$sRF{s;?&rdkmKjW3y z8bK42MOfuEL&ylWL}<136OK6whMeu(#M*p(x!x=HA!;zI_*IeAvOkXwgFWuJa^u0$ zIv_TSD_@RE3gmnq4e9i_vG}fCQ0kVk8AD!GXzc@izS}p3Pq9;lFZ5>e%etO6tl=?+ z?amsHZQtF6KJ1YeP)zWFX+sb2P345=Ziwm43K6&jFW={-AC>pHfe}t;$DAKBPV1M( zdRR4Aa)(djKtDwAvCN<v{UmD$K8K76agYjab1+ zRr6@_XB#3nURKqCx@KiOK3ur!>(e{RA!?0FN~VZ@SCm0vUaXYp83)l8zdB`A0kI;LSgoZ>*jnLcUd+VA^VD8$_Zx8}WW0QnW`pmqJ=k1u6lF6>@ zhLKGR{(VhNQ$QwvMtV})k`m7dhmlP_=iSH&3v$?rwayT&TSH2Cm9zqxs~-C`S?|g` zB0&(2$-hy0RX7pp@M0={B&F8Z$3(uWL?SvV$v|KCB1x74-R5(*YkxSJVDqLWXxh2$ zZHRUH^)dresS|NMj87C2wFxsuLGLGIJQASEJ0!t$X*4fwb5d_3zVrNG`BD8qa6Nf%X z9s_;OY0>auF$y$*RIs{<70maPZBaYfkTXTCPP7^-$L*g~Z*WH+R_SUl2t*mxa=%~| znARYd?2p{%2D6$-%Cn{FmDgo!8yp^y7rC)SeCP;m^AtOvp6(5P&H?U_-=;mwAM)M8 z#@z}aoRVNT4WpfWt{$lp?5~t=XoE3seQLP*H1DDZh<~^SVSB$z^#1x`Lmn5hmJ{%C zS6QQ@O95ay3N#x8>zGlPyFsU9_Ijn5yTUW4H2-?!4Vqq`QCGfa6{UR|GO27`v(L#K z`jPboVv+fLg>#6`C)U?3;pR!x$Cd*rujUuR@!3+;ZQ~aA$`ue{oxBFD+#@e!Z&bfsd{x7T0J3rc}@wy7580AY+i0Yx*i1&wXr!KWA}=3 zuwEbny~KB1lN}+fF*|qree3fLrBbasqWK9dQ=R-Y#yL$SUdmDkd-20Qw*pau3Nqyd zEoZFy$7Cswz;!Mk;7cSmUP02V6WdoVulu}DHi&(jaN&})^+7T|4_L?2;H`EaGAA^I z@%%vldQOK==c%X5lfKUSZs!{@6p!OgRaWLX@N+G4=>O(R=KN$?FFYj ztehr_mR@i(YNO8_%H^#+a6e&}2OWlvkd5A)Ni$xMTc5e*?ZIj!K)&FqU^8EweA) zBGq7abdz)(fevbkO$W(~2RT3C%o>7s3cKab_4~fEP^h*3BgiJ(H5$yN+k7vb%@)zw zJFOjZS+~`b1*&L)jD}Rvp_Txk6abXO;Dy0g4Qa9aD`5M7M=x?B^tbx30Zy9~Rfk`Z zKH<^IeoC5yv+5*ID{&B+)%`x&7HoZClLKJcfsFu`owV09RAmeImySd$!qAN{j;dBP zTfjQr2G7U_pf90T0pCe#!HJIXY=zT2{WEdZHMAc|Ed9duyXFl=p?rX?M-Y>|U~q$AF@Q04z+G zw^u9QUd`nb&M43(-nkI>WmqPRh9c~Y;R+UnTxv~YWyG67*%%l(Iz_c-drk#UHULhX+=2>?@o2CpNNRpP$a3;!*_gOn$Qul3UHL&? z#(ohi>Gk0lw)E;Ve{@*S($tEX1jtI&j;4svqaiOz#iC_Wl%M8~p!Ho9bd|7A<9ZbB zOZ-onnvxHn3Iz(HhC%}PbPNPPzAkJ#rr1iWy_kU4=s;)SfW&J*Q_v~UC|!{Wlza-9 zeq!@%pJ#w#rR&hbJ_VPOY+jXg=y(!0qQ~Gs!Xr!$pv%*XyNdBnYY@9Mjd!_-b0DKv zG7T(j^{Y=1Q&Ne%o^s2(7ig0UQb!Wo@NOU2sIXr!yEDHDujZ9sCR z7t2$ZFlw@~096C*F6$F+Uu5@G)Y$9s|HtYYgd7Tva7(W^GwrvTYO^i2PEY*2Rn!G$ zmd^S1>EbmqJV?9c;&$0FZp;goN%qlslW!pVY6xpxBL{TCVO&Q$>J!eDNNgVCB@SkJ z?j;}#Ew#Y%de{ZM$B%dt%@eI#g|7JE&JY>RaB$)FcyqMM>(J!)mH?{7cFkQWI0V&aQNV>;*7fOOf?EIT$A3;Dcfl)LSx!%z&7HxhC#TjwkJvcviUztZ@*1l&W$edIrY(- zXQ%Iad$P5+$Y-7dy~9i%4ZnvFb_{*PyU-*2m_|G+d!hs;sR0c10OXW&718z`~U(O8s z=aP1J|8iObSPf7hcM6ScS2q4tDf^Xi@{IjYu|?0uIbLb+K7hM1vEJ;zUfJwx&f5ANkZySL-+S}gB<#ZVMD@D~G4oDvP1 zz)G9~vT(|yz|y}YUVl~$ztisr6;HN~;fkNcaPIrj?_YT>NU(D?y#7~%iU#nbccK*i zJbo%jzbb$~7`N+a`v!FmIMM$#R`+-Gp|ASV4ySkFxtmY%15aq{yY;`eKQ%oVq7pQp zfli*~``Kl9t^bwCX)qdndoh!IlY z=xwNFi2=%1IJn1~iLeD%UE3_1ZiL(9DvZ~=&zHd8;9uL6#H8xj`(CgeSExlfp2$Wy zlH(%Vao1GOUSK4V=ME84g5sN>gch0@KOk;UmYl$a;yq`&0_1j67V})y^CFqiu3~K5 z=%BNGJ%TsyM<%F`k$134Pmeu_TR=>yUE9aIf22)B1fiQ~Z@Db5I-sm(ieegYGaU(D zBdd#cw^AAM!Z!KZIMWBQsELPbN*HOGRPdaw9sumwNvjsFvIn8eg?Ep;@K?XdKJ3=m zT`jS4BTr4~_LYz<=M4|8k^^UI=|2KC<5AxT1N3!;@Y^q0Eg zNr&3;U<<1`)TM6@i;T2f_WiI zZD7^iACns2V| zX9ius#Q?AYJu6s?`sLcv4j3=56?s>+Tj8)f_xp9Gc57z1SiH`)Lf+JDdh)|it4)zA z1)JwGW~JWF@dp@U`>I4edZek|aQZCX2#p|(yJJNyeVfZD^3sKT{*gFW^Y>|n2)h+| zD1ToKZ>z^zxRa|eV8xOswj$I^hk=L8^A!1JGMIc(Vi!z}P-iADKh-4r1 zv4@1J@R}SR3+8Q7x~9KYsRo6Dc#dw^zz6XMoKd}gw~%bl(wV1L(vusLx#k)A8g!!1 z`n@U(!8KNEPH3aupAgMf6wxii=fTBWb-RrLteoe#Dsgiv-T6kD(M5mTLaqjFf@4$8&tfp`!&vQ}P&#JMRP!FzC;lalK$ro_k=1@5&E5D|w8|?)u!~ zcu~+T(vGN{d)?hRKDY?fv?l6JCwZNkW$*RnmyiI2d0(0jZuCo$_wTZp+IeO}xP&OH z(@Jpl?iS*pq6ytXmOC;caXN#~9bvC`z$XXsk_|~7GyO2yV%V$8-9QP&n#~_M*U=^C zGHT|Vl%yMqIm7X~^>MF5oj@SFWRkVk0g#8o;$_mUlPhP8o0#r zFsGjMA`f`%v5g9ifc__j_eE-d?JoH8X07SgZ$V-^H-e*XXi4ddQ z5{x?XI@35h8g5 zUoo70rlcZ>Us&Wkh_<1;Ew-SYYj%W((s9U?W%S-E5}iz#l?))WBqD>bMnKHLV?Vc2 zvbxwH?39MD!LY1$%{79u_jow|F)@egGe|h~2c%7IQui_dW!!2O=mP_D+=Xe7ifDC0 zZ#vb&JiV?}7qepztC(R=>=2exOD=|CoP>welj{10L3T*8Y-YCcQECQ%4KztAo;$q-^I$f0)ivXcfpK#~_z}J>d zKiEV$7U+L}Gb^~Zc!Z5(unF0Q09D61Nl!e5s0NxDH`XbEu+1fl%asak88T**v z_o(08_$?bdZ`kiQW$*XqH#dHBs9t?Dv;v#~da^v#?owbWiFW@II{|BLMr< F{a?v6UA6!K literal 0 HcmV?d00001 diff --git a/docs/assets/trade-sell.jpg b/docs/assets/trade-sell.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c7838f4794197e6df2f38abd572629d040c76c5a GIT binary patch literal 31942 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%0AKlbrlXGjHmn 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 MKmSLLJ!>8R10)YEwg3PC literal 0 HcmV?d00001 diff --git a/docs/assets/trade-sold.jpg b/docs/assets/trade-sold.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7780f577f1f53629b8f6af2c910caa0395d30c40 GIT binary patch literal 15555 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 Sfy3`VrpOE#e##7iPyR1=b>sd3 literal 0 HcmV?d00001 diff --git a/docs/en.md b/docs/en.md new file mode 100644 index 0000000..718ef0d --- /dev/null +++ b/docs/en.md @@ -0,0 +1,76 @@ +# Trading — merchants and the trade window + +Trading adds shops to a game. A shop is data: what the merchant sells, what they buy back, and at which prices. A scenario opens it, and the player trades in a window with two inventories — the merchant's goods on the left, the player's bag on the right. Money is an ordinary item, the gold coin, so it lies in the bag, is saved with it and can be given by a scenario like any other item. + +In RPG Plus the village merchant trades this way: talk to him and the window opens. + +## Buying + +Pick goods on the left. The middle shows the item, its price, your wallet, a quantity slider with **−**, **+** and **All**, and the total. **Buy** completes the deal: + +![The Merchant's shop window: the merchant's goods on the left with price tags (elixir 10 c, iron sword 30 c, dagger 18 c, staff 24 c, leather armour 20 c, robe 16 c, silver ring 22 c, strength tonic 40 c, resin 4 c, mushroom 3 c, branches 2 c), the Elixir selected in the middle (price 10, wallet 15, quantity 1/1, Total: 10 coins, Buy) with "Bought: Elixir ×1 for 10 coins", and the bag on the right with three wolf furs and the elixir; the wallet at the top right shows 15.](assets/trade-buy.jpg) + +The hero came with 25 coins; the elixir cost 10, so the wallet shows 15 and the elixir is in the bag. The slider only goes as far as the money allows — now 1. + +## Selling + +Pick an item in your bag. Items the merchant buys have a price tag; the others cannot be sold here. **All** sets the quantity to everything you have: + +![The Silver wolf fur selected from the bag: Yours, price 4, you have 3, quantity 3/3, Total: 12 coins, Sell.](assets/trade-sell.jpg) + +![After selling: "Sold: Silver wolf fur ×3 for 12 coins", the bag holds only the elixir, the wallet shows 27.](assets/trade-sold.jpg) + +15 + 3 × 4 = **27** coins. Esc or the cross closes the window. + +The merchant's stock never runs out, and what you sell is not offered back: a shop has no state of its own, only your bag changes. + +## A shop in data + +Shops are entities of kind `shop`, in a mod's `shops/` folder. The village merchant as RPG Demo defines it: + +```json +{ + "Kind": "shop", + "Items": [ + { + "Id": "rpg_demo/village_merchant", + "Name": "rpg_demo/shop/village_merchant", + "Sells": [ { "Item": "rpg_demo/elixir", "Price": 10 } ], + "Buys": [ + { "Item": "rpg_demo/branches", "Price": 1 }, + { "Item": "rpg_demo/stones", "Price": 2 } + ] + } + ] +} +``` + +- `Name` — the translation key of the window title. +- `Sells` — what the player can buy, in this order, with the price of one. +- `Buys` — what the merchant pays for; anything else is refused. +- `Currency` (optional) — the money item; the default is `money/coin`, the gold coin of this mod. +- A price below 1 is ignored: a free item is a gift and belongs in a scenario. + +RPG Plus adds its gear and goods to the same merchant without touching RPG Demo's file, with a patch in its own `patches/shop.json`: + +```json +{ "Items": [ { "Id": "rpg_demo/village_merchant", + "Sells$add": [ { "Item": "classic/iron_sword", "Price": 30 } ], + "Buys$add": [ { "Item": "rpg_plus/wolf_pelt", "Price": 4 } ] } ] } +``` + +## Opening a shop + +```scenario +text "Oh, a customer! Elixirs, fresh, almost no sediment." key=rpg_demo/merchant/line1 +action trade.open shop=rpg_demo/village_merchant +end +``` + +The merchant's map event runs this scenario. Any scenario can open a shop the same way — a dialog answer, a click on an interactive object. + +## If something goes wrong + +1. **An item in the bag cannot be sold.** It is not in the shop's `Buys`. +2. **Buy does nothing.** Not enough coins for one; the window says so. +3. **The window does not open.** The `shop=` id does not match a shop's `Id`; the log names it. diff --git a/docs/es.md b/docs/es.md new file mode 100644 index 0000000..43edc75 --- /dev/null +++ b/docs/es.md @@ -0,0 +1,76 @@ +# Trading — mercaderes y la ventana de comercio + +Trading añade tiendas a un juego. Una tienda son datos: qué vende el mercader, qué compra de vuelta y a qué precios. La abre un escenario, y el jugador comercia en una ventana con dos inventarios: los artículos del mercader a la izquierda, la bolsa del jugador a la derecha. El dinero es un objeto corriente, la moneda de oro: descansa en la bolsa, se guarda con ella y un escenario puede entregarla como cualquier otro objeto. + +En RPG Plus comercia así el mercader del pueblo: háblale y se abre la ventana. + +## Comprar + +Elige artículos a la izquierda. El centro muestra el objeto, su precio, tu monedero, un deslizador de cantidad con **−**, **+** y **Todo**, y el total. **Comprar** cierra el trato: + +![La ventana "Merchant's shop": los artículos del mercader a la izquierda con etiquetas de precio (elixir 10 c, espada de hierro 30 c, daga 18 c, bastón 24 c, armadura de cuero 20 c, túnica 16 c, anillo de plata 22 c, tónico de fuerza 40 c, resina 4 c, champiñón 3 c, ramas 2 c), el Elixir seleccionado en el centro (price 10, wallet 15, quantity 1/1, Total: 10 coins, Buy) con "Bought: Elixir ×1 for 10 coins", y la bolsa a la derecha con tres pieles de lobo y el elixir; el monedero arriba a la derecha marca 15.](assets/trade-buy.jpg) + +El héroe llegó con 25 monedas; el elixir costó 10, así que el monedero marca 15 y el elixir está en la bolsa. El deslizador solo llega hasta donde el dinero alcanza — ahora 1. + +## Vender + +Elige un objeto de tu bolsa. Los objetos que el mercader compra llevan etiqueta de precio; los demás no se pueden vender aquí. **Todo** pone la cantidad en todo lo que tienes: + +![La Silver wolf fur seleccionada desde la bolsa: Yours, price 4, you have 3, quantity 3/3, Total: 12 coins, Sell.](assets/trade-sell.jpg) + +![Tras vender: "Sold: Silver wolf fur ×3 for 12 coins", la bolsa solo contiene el elixir y el monedero marca 27.](assets/trade-sold.jpg) + +15 + 3 × 4 = **27** monedas. La ventana se cierra con Esc o con la cruz. + +El surtido del mercader nunca se agota, y lo que vendes no vuelve a ofrecerse: una tienda no tiene estado propio, solo cambia tu bolsa. + +## Una tienda en datos + +Las tiendas son entidades de tipo `shop`, en la carpeta `shops/` de un mod. El mercader del pueblo tal como lo define RPG Demo: + +```json +{ + "Kind": "shop", + "Items": [ + { + "Id": "rpg_demo/village_merchant", + "Name": "rpg_demo/shop/village_merchant", + "Sells": [ { "Item": "rpg_demo/elixir", "Price": 10 } ], + "Buys": [ + { "Item": "rpg_demo/branches", "Price": 1 }, + { "Item": "rpg_demo/stones", "Price": 2 } + ] + } + ] +} +``` + +- `Name` — la clave de traducción del título de la ventana. +- `Sells` — lo que el jugador puede comprar, en ese orden, con el precio de una unidad. +- `Buys` — por lo que el mercader paga; todo lo demás lo rechaza. +- `Currency` (opcional) — el objeto de dinero; por defecto es `money/coin`, la moneda de oro de este mod. +- Un precio menor que 1 se ignora: un objeto gratis es un regalo, y los regalos son cosa del escenario. + +RPG Plus añade su equipo y sus mercancías al mismo mercader sin tocar el archivo de RPG Demo, con un parche en su propio `patches/shop.json`: + +```json +{ "Items": [ { "Id": "rpg_demo/village_merchant", + "Sells$add": [ { "Item": "classic/iron_sword", "Price": 30 } ], + "Buys$add": [ { "Item": "rpg_plus/wolf_pelt", "Price": 4 } ] } ] } +``` + +## Abrir una tienda + +```scenario +text "¡Oh, un cliente! Elixires frescos, casi sin poso." key=rpg_demo/merchant/line1 +action trade.open shop=rpg_demo/village_merchant +end +``` + +El evento de mapa del mercader ejecuta este escenario. Cualquier escenario puede abrir una tienda igual — una respuesta de diálogo, un clic en un objeto interactivo. + +## Si algo falla + +1. **Un objeto de la bolsa no se puede vender.** No está en el `Buys` de la tienda. +2. **Comprar no hace nada.** No alcanzan las monedas ni para uno; la ventana lo dice. +3. **La ventana no se abre.** El id de `shop=` no coincide con el `Id` de ninguna tienda; el log dice cuál. diff --git a/docs/ja.md b/docs/ja.md new file mode 100644 index 0000000..3c7103e --- /dev/null +++ b/docs/ja.md @@ -0,0 +1,76 @@ +# Trading——商人と取引ウィンドウ + +Trading はゲームに店を追加します。店はデータです: 商人が何を売り、何を買い取り、いくらか。開くのはシナリオで、プレイヤーは 2 つのインベントリを持つウィンドウで取引します — 左に商人の品物、右にプレイヤーのかばん。お金は普通のアイテム、金貨です: かばんの中にあり、かばんと一緒にセーブされ、シナリオはほかのアイテムと同じように渡せます。 + +RPG Plus では村の商人がこうして取引します: 彼に話しかければウィンドウが開きます。 + +## 買う + +左で品物を選びます。中央にはアイテム、価格、あなたの財布、**−** と **+** と **すべて** の付いた数量スライダー、合計が出ます。**買う** で取引が成立します: + +!["Merchant's shop" ウィンドウ: 左に値札付きの商人の品物(エリクサー 10 c、鉄の剣 30 c、短剣 18 c、杖 24 c、革の鎧 20 c、ローブ 16 c、銀の指輪 22 c、力のトニック 40 c、樹脂 4 c、キノコ 3 c、枝 2 c)。中央でエリクサーを選択(price 10, wallet 15, quantity 1/1, Total: 10 coins, Buy)し、"Bought: Elixir ×1 for 10 coins" と表示。右はかばんで、狼の毛皮 3 枚とエリクサー。右上の財布は 15。](assets/trade-buy.jpg) + +主人公は 25 枚を持ってきて、エリクサーに 10 枚払ったので、財布には 15 枚残り、エリクサーはかばんの中です。スライダーはお金のあるところまでしか動きません — 今は 1 まで。 + +## 売る + +かばんでアイテムを選びます。商人が買い取るアイテムには値札が付き、ほかはここでは売れません。**すべて** は数量を所持数いっぱいにします: + +![かばんから Silver wolf fur を選択: Yours, price 4, you have 3, quantity 3/3, Total: 12 coins, Sell。](assets/trade-sell.jpg) + +![売却後: "Sold: Silver wolf fur ×3 for 12 coins"、かばんにはエリクサーだけ、財布は 27。](assets/trade-sold.jpg) + +15 + 3 × 4 = **27** 枚。Esc か × でウィンドウを閉じます。 + +商人の在庫は減らず、売ったものが店に戻ることもありません: 店には自分の状態がなく、変わるのはあなたのかばんだけです。 + +## データとしての店 + +店は `shop` 種類のエンティティで、mod の `shops/` フォルダに入ります。村の商人を RPG Demo はこう定義します: + +```json +{ + "Kind": "shop", + "Items": [ + { + "Id": "rpg_demo/village_merchant", + "Name": "rpg_demo/shop/village_merchant", + "Sells": [ { "Item": "rpg_demo/elixir", "Price": 10 } ], + "Buys": [ + { "Item": "rpg_demo/branches", "Price": 1 }, + { "Item": "rpg_demo/stones", "Price": 2 } + ] + } + ] +} +``` + +- `Name` — ウィンドウ見出しの翻訳キー。 +- `Sells` — プレイヤーが買えるもの。この順で、1 個の値段付き。 +- `Buys` — 商人がお金を払うもの。それ以外は拒否します。 +- `Currency`(省略可)— お金のアイテム。既定はこの mod の金貨 `money/coin`。 +- 1 未満の値段は無視されます: 無料のアイテムは贈り物で、贈り物はシナリオの仕事です。 + +RPG Plus は、RPG Demo のファイルを触らずに、自分の `patches/shop.json` のパッチで同じ商人に装備と品物を追加します: + +```json +{ "Items": [ { "Id": "rpg_demo/village_merchant", + "Sells$add": [ { "Item": "classic/iron_sword", "Price": 30 } ], + "Buys$add": [ { "Item": "rpg_plus/wolf_pelt", "Price": 4 } ] } ] } +``` + +## 店を開く + +```scenario +text "おや、お客さんだ! エリクサーは新鮮、沈殿もほとんどなし。" key=rpg_demo/merchant/line1 +action trade.open shop=rpg_demo/village_merchant +end +``` + +商人のマップイベントがこのシナリオを実行します。どんなシナリオでも同じ方法で店を開けられます — ダイアログの選択肢からでも、インタラクティブなオブジェクトのクリックからでも。 + +## うまくいかないとき + +1. **かばんのアイテムが売れない。** 店の `Buys` にありません。 +2. **買うが何もしない。** 1 個も買えるお金がありません。ウィンドウがそう言ってくれます。 +3. **ウィンドウが開かない。** `shop=` の id がどの店の `Id` とも一致しません。ログが名前を挙げます。 diff --git a/docs/ko.md b/docs/ko.md new file mode 100644 index 0000000..e023338 --- /dev/null +++ b/docs/ko.md @@ -0,0 +1,76 @@ +# Trading — 상인과 거래 창 + +Trading은 게임에 가게를 추가합니다. 가게는 데이터입니다: 상인이 무엇을 파는지, 무엇을 사들이는지, 얼마에 파는지. 가게를 여는 것은 시나리오이고, 플레이어는 두 인벤토리를 가진 창에서 거래합니다 — 왼쪽에는 상인의 물건, 오른쪽에는 플레이어의 가방이 있습니다. 돈은 평범한 아이템인 금화입니다: 가방에 들어 있고 가방과 함께 저장되며, 시나리오가 다른 아이템처럼 줄 수도 있습니다. + +RPG Plus에서는 마을 상인이 이렇게 거래합니다: 말을 걸면 창이 열립니다. + +## 사기 + +왼쪽에서 물건을 고르세요. 가운데에는 아이템, 가격, 내 지갑, **−**와 **+**, **전부**가 달린 수량 슬라이더, 그리고 합계가 나옵니다. **사기**로 거래가 끝납니다: + +!["Merchant's shop" 창: 왼쪽에 가격표가 붙은 상인의 물건(엘릭서 10 c, 철검 30 c, 단검 18 c, 지팡이 24 c, 가죽 갑옷 20 c, 로브 16 c, 은반지 22 c, 힘의 토닉 40 c, 나무진 4 c, 버섯 3 c, 나뭇가지 2 c), 가운데에서 엘릭서 선택(price 10, wallet 15, quantity 1/1, Total: 10 coins, Buy), "Bought: Elixir ×1 for 10 coins" 표시, 오른쪽에 늑대 털 세 장과 엘릭서가 있는 가방, 오른쪽 위 지갑은 15.](assets/trade-buy.jpg) + +영웅은 동전 25 닢을 들고 왔고, 엘릭서에 10 닢을 썼으니 지갑에는 15 닢이 남고 엘릭서는 가방에 들어갑니다. 슬라이더는 돈이 닿는 곳까지만 갑니다 — 지금은 1까지. + +## 팔기 + +가방에서 아이템을 고르세요. 상인이 사들이는 아이템에는 가격표가 붙고, 나머지는 여기서 팔 수 없습니다. **전부**는 수량을 가진 만큼으로 맞춥니다: + +![가방에서 Silver wolf fur 선택: Yours, price 4, you have 3, quantity 3/3, Total: 12 coins, Sell.](assets/trade-sell.jpg) + +![판매 후: "Sold: Silver wolf fur ×3 for 12 coins", 가방에는 엘릭서만 남고 지갑은 27.](assets/trade-sold.jpg) + +15 + 3 × 4 = **27** 닢. Esc나 ×로 창을 닫습니다. + +상인의 재고는 줄지 않고, 판 물건이 다시 나오지도 않습니다: 가게에는 자기 상태가 없고, 바뀌는 것은 내 가방뿐입니다. + +## 데이터로서의 가게 + +가게는 `shop` 종류의 엔티티로 mod의 `shops/` 폴더에 들어갑니다. 마을 상인을 RPG Demo는 이렇게 정의합니다: + +```json +{ + "Kind": "shop", + "Items": [ + { + "Id": "rpg_demo/village_merchant", + "Name": "rpg_demo/shop/village_merchant", + "Sells": [ { "Item": "rpg_demo/elixir", "Price": 10 } ], + "Buys": [ + { "Item": "rpg_demo/branches", "Price": 1 }, + { "Item": "rpg_demo/stones", "Price": 2 } + ] + } + ] +} +``` + +- `Name` — 창 제목의 번역 키. +- `Sells` — 플레이어가 살 수 있는 물건. 이 순서대로, 하나 가격과 함께. +- `Buys` — 상인이 값을 주는 것. 나머지는 거절합니다. +- `Currency`(선택) — 돈 아이템. 기본값은 이 mod의 금화 `money/coin`. +- 1 미만의 가격은 무시됩니다: 공짜 아이템은 선물이고, 선물은 시나리오의 일입니다. + +RPG Plus는 RPG Demo의 파일을 건드리지 않고, 자기 `patches/shop.json`의 패치로 같은 상인에게 장비와 물건을 추가합니다: + +```json +{ "Items": [ { "Id": "rpg_demo/village_merchant", + "Sells$add": [ { "Item": "classic/iron_sword", "Price": 30 } ], + "Buys$add": [ { "Item": "rpg_plus/wolf_pelt", "Price": 4 } ] } ] } +``` + +## 가게 열기 + +```scenario +text "오, 손님이다! 엘릭서 신선해요, 앙금도 거의 없어요." key=rpg_demo/merchant/line1 +action trade.open shop=rpg_demo/village_merchant +end +``` + +상인의 맵 이벤트가 이 시나리오를 실행합니다. 어떤 시나리오든 같은 방식으로 가게를 열 수 있습니다 — 대화 선택지로, 인터랙티브 오브젝트 클릭으로. + +## 문제가 생겼을 때 + +1. **가방의 아이템이 팔리지 않습니다.** 가게의 `Buys`에 없습니다. +2. **사기가 아무것도 하지 않습니다.** 한 개 살 돈도 부족합니다. 창이 그렇게 말해 줍니다. +3. **창이 열리지 않습니다.** `shop=`의 id가 어느 가게의 `Id`와도 일치하지 않습니다. 로그가 이름을 알려 줍니다. diff --git a/docs/ru.md b/docs/ru.md new file mode 100644 index 0000000..2108c7b --- /dev/null +++ b/docs/ru.md @@ -0,0 +1,76 @@ +# Trading — торговцы и окно торговли + +Trading добавляет в игру лавки. Лавка — это данные: что торговец продаёт, что скупает и по каким ценам. Открывает её сценарий, а торгуется игрок в окне с двумя инвентарями: слева товары торговца, справа сумка игрока. Деньги — обычный предмет, золотая монета: она лежит в сумке, сохраняется вместе с ней и выдаётся сценарием как любой другой предмет. + +В RPG Plus так торгует деревенский торговец: поговорите с ним — окно откроется. + +## Покупка + +Выберите товар слева. В середине показаны предмет, его цена, ваш кошелёк, ползунок количества с кнопками **−**, **+** и **Все**, а также итог. **Купить** завершает сделку: + +![Окно "Merchant's shop": слева товары торговца с ценниками (эликсир 10 c, железный меч 30 c, кинжал 18 c, посох 24 c, кожаный доспех 20 c, мантия 16 c, серебряное кольцо 22 c, тоник силы 40 c, смола 4 c, гриб 3 c, ветки 2 c), в середине выбран эликсир (price 10, wallet 15, quantity 1/1, Total: 10 coins, Buy) и сообщение "Bought: Elixir ×1 for 10 coins", справа — сумка с тремя волчьими шкурами и эликсиром; кошелёк справа вверху показывает 15.](assets/trade-buy.jpg) + +Герой пришёл с 25 монетами; эликсир стоил 10, поэтому в кошельке 15, а эликсир лежит в сумке. Ползунок поднимается только на те деньги, что есть, — сейчас это 1. + +## Продажа + +Выберите предмет в своей сумке. На предметах, которые торговец скупает, стоит ценник; остальные здесь продать нельзя. Кнопка **Все** ставит количество на всё, что у вас есть: + +![Из сумки выбрана Silver wolf fur: Yours, price 4, you have 3, quantity 3/3, Total: 12 coins, Sell.](assets/trade-sell.jpg) + +![После продажи: "Sold: Silver wolf fur ×3 for 12 coins", в сумке остался только эликсир, кошелёк показывает 27.](assets/trade-sold.jpg) + +15 + 3 × 4 = **27** монет. Окно закрывают Esc или крестик. + +Товар у торговца не кончается, а проданное обратно не предлагается: у лавки нет собственного состояния, меняется только ваша сумка. + +## Лавка в данных + +Лавки — это сущности вида `shop`, лежат в папке `shops/` мода. Деревенский торговец в том виде, как его определяет RPG Demo: + +```json +{ + "Kind": "shop", + "Items": [ + { + "Id": "rpg_demo/village_merchant", + "Name": "rpg_demo/shop/village_merchant", + "Sells": [ { "Item": "rpg_demo/elixir", "Price": 10 } ], + "Buys": [ + { "Item": "rpg_demo/branches", "Price": 1 }, + { "Item": "rpg_demo/stones", "Price": 2 } + ] + } + ] +} +``` + +- `Name` — ключ перевода заголовка окна. +- `Sells` — что может купить игрок, в этом порядке, по цене за штуку. +- `Buys` — за что торговец платит; всё остальное он брать отказывается. +- `Currency` (необязательно) — денежный предмет; по умолчанию это `money/coin`, золотая монета этого мода. +- Цена ниже 1 игнорируется: бесплатный предмет — это подарок, а подарки — дело сценария. + +RPG Plus добавляет свою экипировку и товары тому же торговцу, не трогая файл RPG Demo, — патчем в собственном `patches/shop.json`: + +```json +{ "Items": [ { "Id": "rpg_demo/village_merchant", + "Sells$add": [ { "Item": "classic/iron_sword", "Price": 30 } ], + "Buys$add": [ { "Item": "rpg_plus/wolf_pelt", "Price": 4 } ] } ] } +``` + +## Открытие лавки + +```scenario +text "— О, покупатель! Эликсиры — свежие, почти без осадка." key=rpg_demo/merchant/line1 +action trade.open shop=rpg_demo/village_merchant +end +``` + +Это событие торговца на карте запускает такой сценарий. Любой сценарий может открыть лавку так же — ответ в диалоге, щелчок по интерактивному объекту. + +## Если что-то пошло не так + +1. **Предмет из сумки не продаётся.** Его нет в `Buys` лавки. +2. **«Купить» ничего не делает.** Не хватает монет даже на одну штуку — окно так и пишет. +3. **Окно не открывается.** id в `shop=` не совпадает с `Id` ни одной лавки; лог назовёт её. diff --git a/docs/vi.md b/docs/vi.md new file mode 100644 index 0000000..2393be6 --- /dev/null +++ b/docs/vi.md @@ -0,0 +1,76 @@ +# Trading — thương nhân và cửa sổ giao dịch + +Trading thêm các cửa hàng vào trò chơi. Một cửa hàng là dữ liệu: thương nhân bán gì, mua lại gì, và giá bao nhiêu. Kịch bản mở cửa hàng ra, và người chơi giao dịch trong một cửa sổ có hai túi đồ — hàng của thương nhân bên trái, túi của người chơi bên phải. Tiền là một vật phẩm bình thường, đồng vàng: nó nằm trong túi đồ, được lưu cùng túi, và kịch bản có thể trao nó như mọi vật phẩm khác. + +Trong RPG Plus, thương nhân làng giao dịch thế này: hãy nói chuyện với ông ấy, cửa sổ sẽ mở ra. + +## Mua + +Chọn hàng bên trái. Phía giữa hiển thị vật phẩm, giá của nó, túi tiền của bạn, một thanh trượt số lượng với **−**, **+** và **Tất cả**, cùng tổng cộng. **Mua** chốt cuộc mua bán: + +![Cửa sổ "Merchant's shop": hàng của thương nhân bên trái kèm giá (thuốc tiên 10 c, kiếm sắt 30 c, dao găm 18 c, trượng 24 c, giáp da 20 c, áo choàng 16 c, nhẫn bạc 22 c, thuốc tăng lực 40 c, nhựa sống 4 c, nấm 3 c, cành cây 2 c), Elixir đang chọn ở giữa (price 10, wallet 15, quantity 1/1, Total: 10 coins, Buy) với "Bought: Elixir ×1 for 10 coins", bên phải là túi đồ có ba tấm lông sói và thuốc tiên; túi tiền góc trên phải hiển thị 15.](assets/trade-buy.jpg) + +Anh hùng đến với 25 đồng; thuốc tiên giá 10, nên túi tiền còn 15 và thuốc tiên nằm trong túi đồ. Thanh trượt chỉ kéo tới mức tiền cho phép — hiện là 1. + +## Bán + +Chọn một vật phẩm trong túi đồ. Những vật phẩm thương nhân mua lại có gắn giá; những cái khác không bán được ở đây. **Tất cả** đặt số lượng bằng tất cả những gì bạn có: + +![Silver wolf fur được chọn từ túi đồ: Yours, price 4, you have 3, quantity 3/3, Total: 12 coins, Sell.](assets/trade-sell.jpg) + +![Sau khi bán: "Sold: Silver wolf fur ×3 for 12 coins", túi đồ chỉ còn thuốc tiên, túi tiền hiển thị 27.](assets/trade-sold.jpg) + +15 + 3 × 4 = **27** đồng. Esc hay dấu × đều đóng cửa sổ. + +Hàng của thương nhân không bao giờ cạn, và thứ bạn bán không được bày ra lại: cửa hàng không có trạng thái riêng, chỉ có túi đồ của bạn thay đổi. + +## Cửa hàng dưới dạng dữ liệu + +Cửa hàng là thực thể loại `shop`, nằm trong thư mục `shops/` của một mod. Thương nhân làng được RPG Demo định nghĩa như sau: + +```json +{ + "Kind": "shop", + "Items": [ + { + "Id": "rpg_demo/village_merchant", + "Name": "rpg_demo/shop/village_merchant", + "Sells": [ { "Item": "rpg_demo/elixir", "Price": 10 } ], + "Buys": [ + { "Item": "rpg_demo/branches", "Price": 1 }, + { "Item": "rpg_demo/stones", "Price": 2 } + ] + } + ] +} +``` + +- `Name` — khóa dịch của tiêu đề cửa sổ. +- `Sells` — những gì người chơi có thể mua, theo đúng thứ tự này, kèm giá của một món. +- `Buys` — những gì thương nhân trả tiền; thứ khác đều bị từ chối. +- `Currency` (không bắt buộc) — vật phẩm tiền tệ; mặc định là `money/coin`, đồng vàng của mod này. +- Giá nhỏ hơn 1 bị bỏ qua: vật phẩm miễn phí là món quà, và quà tặng là việc của kịch bản. + +RPG Plus thêm trang bị và hàng hóa của mình vào cùng thương nhân mà không đụng tới tệp của RPG Demo, bằng một bản vá trong `patches/shop.json` của nó: + +```json +{ "Items": [ { "Id": "rpg_demo/village_merchant", + "Sells$add": [ { "Item": "classic/iron_sword", "Price": 30 } ], + "Buys$add": [ { "Item": "rpg_plus/wolf_pelt", "Price": 4 } ] } ] } +``` + +## Mở một cửa hàng + +```scenario +text "Ồ, có khách! Thuốc tiên mới, hầu như không cặn." key=rpg_demo/merchant/line1 +action trade.open shop=rpg_demo/village_merchant +end +``` + +Sự kiện bản đồ của thương nhân chạy kịch bản này. Kịch bản nào cũng có thể mở cửa hàng theo cách đó — một lựa chọn đối thoại, một cú bấm vào vật thể tương tác. + +## Khi có gì đó không ổn + +1. **Một vật phẩm trong túi đồ không bán được.** Nó không có trong `Buys` của cửa hàng. +2. **Mua không làm gì cả.** Không đủ tiền mua một món; cửa sổ nói điều đó. +3. **Cửa sổ không mở.** id trong `shop=` không khớp `Id` của cửa hàng nào; log sẽ nêu tên. diff --git a/docs/zh.md b/docs/zh.md new file mode 100644 index 0000000..04cb457 --- /dev/null +++ b/docs/zh.md @@ -0,0 +1,76 @@ +# Trading——商人与交易窗口 + +Trading 给游戏添加商店。商店就是数据:商人卖什么、回收什么、价格多少。打开商店的是一个剧本,玩家在一个有两个背包的窗口里交易——左边是商人的货物,右边是玩家的背包。钱是一种普通物品——金币:它放在背包里、随背包一起存档,也能像其他物品一样由剧本发给你。 + +在 RPG Plus 里,村里的商人就是这样做买卖的:和他对话,窗口就会打开。 + +## 购买 + +在左边挑货物。中间显示物品、价格、你的钱包、带 **−**、**+** 和 **全部** 的数量滑块,以及合计。**购买**完成交易: + +!["Merchant's shop" 窗口:左边是商人的货物和价签(药剂 10 c、铁剑 30 c、匕首 18 c、法杖 24 c、皮甲 20 c、长袍 16 c、银戒指 22 c、力量补剂 40 c、树脂 4 c、蘑菇 3 c、树枝 2 c),中间选中了药剂(price 10, wallet 15, quantity 1/1, Total: 10 coins, Buy),并显示 "Bought: Elixir ×1 for 10 coins";右边是背包,装着三张狼皮和药剂;右上角钱包显示 15。](assets/trade-buy.jpg) + +英雄来时带着 25 枚金币;药剂花了 10 枚,所以钱包显示 15,药剂进了背包。滑块最多只能拉到钱够用的位置——现在是 1。 + +## 出售 + +在背包里选中一件物品。商人回收的物品带价签;其他的在这里卖不掉。**全部**把数量设为你拥有的全部: + +![从背包选中了 Silver wolf fur:Yours, price 4, you have 3, quantity 3/3, Total: 12 coins, Sell。](assets/trade-sell.jpg) + +![出售之后:"Sold: Silver wolf fur ×3 for 12 coins",背包里只剩药剂,钱包显示 27。](assets/trade-sold.jpg) + +15 + 3 × 4 = **27** 枚金币。Esc 或叉号关闭窗口。 + +商人的货源永远不枯竭,卖出去的东西也不会再被摆出来:商店自己没有状态,变化的只有你的背包。 + +## 数据形式的商店 + +商店是 `shop` 类型的实体,放在 mod 的 `shops/` 文件夹里。村商人由 RPG Demo 这样定义: + +```json +{ + "Kind": "shop", + "Items": [ + { + "Id": "rpg_demo/village_merchant", + "Name": "rpg_demo/shop/village_merchant", + "Sells": [ { "Item": "rpg_demo/elixir", "Price": 10 } ], + "Buys": [ + { "Item": "rpg_demo/branches", "Price": 1 }, + { "Item": "rpg_demo/stones", "Price": 2 } + ] + } + ] +} +``` + +- `Name`——窗口标题的翻译键。 +- `Sells`——玩家能买的东西,按此顺序排列,价格是一份的价钱。 +- `Buys`——商人付钱回收的东西;其余一概不收。 +- `Currency`(可选)——货币物品;默认是 `money/coin`,本 mod 的金币。 +- 低于 1 的价格会被忽略:免费的物品是礼物,而礼物属于剧本。 + +RPG Plus 用自己 `patches/shop.json` 里的补丁,把它的装备和货物加到同一个商人身上,不去动 RPG Demo 的文件: + +```json +{ "Items": [ { "Id": "rpg_demo/village_merchant", + "Sells$add": [ { "Item": "classic/iron_sword", "Price": 30 } ], + "Buys$add": [ { "Item": "rpg_plus/wolf_pelt", "Price": 4 } ] } ] } +``` + +## 打开商店 + +```scenario +text "哦,来客人了!药剂新鲜,几乎没有沉淀。" key=rpg_demo/merchant/line1 +action trade.open shop=rpg_demo/village_merchant +end +``` + +商人的地图事件运行这个剧本。任何剧本都能这样打开商店——一个对话选项、一次对互动物体的点击。 + +## 出问题了? + +1. **背包里的物品卖不掉。** 它不在商店的 `Buys` 里。 +2. **购买没有反应。** 金币连买一份都不够;窗口会这么说。 +3. **窗口打不开。** `shop=` 的 id 和任何商店的 `Id` 都对不上;日志里会写明。 diff --git a/locale/en.properties b/locale/en.properties index 5fc663b..8a84736 100644 --- a/locale/en.properties +++ b/locale/en.properties @@ -1,5 +1,5 @@ mod_trading_name = Trading -mod_trading_desc = Merchants' shops: what they sell, what they buy back and at which price ("Kind": "shop" data), and a trade window of two inventories, the merchant's goods and the player's bag. Money is an ordinary item, the gold coin. +mod_trading_desc = Shops as data and a trade window of two inventories: the merchant's goods on one side, the player's bag on the other, and money as an ordinary item. trading/item/coin/name = Gold coin trading/item/coin/desc = Common coin. Merchants take and pay nothing else. trading/ui/merchant_goods = Merchant's goods diff --git a/locale/es.properties b/locale/es.properties index 515c156..5ee3d54 100644 --- a/locale/es.properties +++ b/locale/es.properties @@ -1,5 +1,5 @@ mod_trading_name = Comercio -mod_trading_desc = Tiendas de mercaderes: qué venden, qué compran y a qué precio (datos "Kind": "shop"), y una ventana de comercio con dos inventarios: los artículos del mercader y la bolsa del jugador. El dinero es un objeto corriente, la moneda de oro. +mod_trading_desc = Tiendas como datos y una ventana de comercio con dos inventarios: los artículos del mercader a un lado, la bolsa del jugador al otro, y el dinero como un objeto corriente. trading/item/coin/name = Moneda de oro trading/item/coin/desc = Moneda corriente. Los mercaderes no aceptan ni pagan otra cosa. trading/ui/merchant_goods = Artículos del mercader diff --git a/locale/ja.properties b/locale/ja.properties index 00ce015..10f6f5c 100644 --- a/locale/ja.properties +++ b/locale/ja.properties @@ -1,5 +1,5 @@ mod_trading_name = 交易 -mod_trading_desc = 商人の店:何を売り、何を買い取り、いくらなのか("Kind": "shop" のデータ)と、2 つのインベントリ——商人の品物とプレイヤーのかばん——からなる取引ウィンドウ。お金は普通のアイテム、金貨。 +mod_trading_desc = データとしての店と、2 つのインベントリを持つ取引ウィンドウ: 片側に商人の品物、反対側にプレイヤーのかばん、そしてお金は普通のアイテム。 trading/item/coin/name = 金貨 trading/item/coin/desc = 一般的な貨幣。商人はこれ以外を受け取りも支払いもしない。 trading/ui/merchant_goods = 商人の品物 diff --git a/locale/ko.properties b/locale/ko.properties index 794d2ab..6916e90 100644 --- a/locale/ko.properties +++ b/locale/ko.properties @@ -1,5 +1,5 @@ mod_trading_name = 거래 -mod_trading_desc = 상인의 가게: 무엇을 팔고, 무엇을 사들이며, 얼마인지("Kind": "shop" 데이터)와, 상인의 물건과 플레이어의 가방이라는 두 인벤토리로 된 거래 창. 돈은 평범한 아이템인 금화다. +mod_trading_desc = 데이터로서의 가게와 두 인벤토리 거래 창: 한쪽에는 상인의 물건, 다른 쪽에는 플레이어의 가방, 그리고 돈은 평범한 아이템입니다. trading/item/coin/name = 금화 trading/item/coin/desc = 통용 화폐. 상인들은 이것 말고는 받지도 주지도 않는다. trading/ui/merchant_goods = 상인의 물건 diff --git a/locale/ru.properties b/locale/ru.properties index 1fd9c08..0497e80 100644 --- a/locale/ru.properties +++ b/locale/ru.properties @@ -1,5 +1,5 @@ mod_trading_name = Торговля -mod_trading_desc = Лавки торговцев: что продают, что скупают и почём (данные «Kind»: «shop»), и окно торговли из двух инвентарей — товары торговца и сумка игрока. Деньги — обычный предмет, золотая монета. +mod_trading_desc = Лавки как данные и окно торговли с двумя инвентарями: товары торговца с одной стороны, сумка игрока с другой, а деньги — обычный предмет. trading/item/coin/name = Золотая монета trading/item/coin/desc = Ходовая монета. Торговцы берут и платят только ею. trading/ui/merchant_goods = Товары торговца diff --git a/locale/vi.properties b/locale/vi.properties index 5b58c07..8cb3b27 100644 --- a/locale/vi.properties +++ b/locale/vi.properties @@ -1,5 +1,5 @@ mod_trading_name = Giao dịch -mod_trading_desc = Cửa hàng của thương nhân: bán gì, mua lại gì và với giá nào (dữ liệu "Kind": "shop"), cùng một cửa sổ giao dịch gồm hai túi đồ: hàng của thương nhân và túi của người chơi. Tiền là một vật phẩm bình thường, đồng vàng. +mod_trading_desc = Cửa hàng dưới dạng dữ liệu và cửa sổ giao dịch với hai túi đồ: hàng của thương nhân bên này, túi của người chơi bên kia, còn tiền là một vật phẩm bình thường. trading/item/coin/name = Đồng vàng trading/item/coin/desc = Tiền thông dụng. Thương nhân không nhận cũng không trả thứ gì khác. trading/ui/merchant_goods = Hàng của thương nhân diff --git a/locale/zh.properties b/locale/zh.properties index c48ccf9..6027291 100644 --- a/locale/zh.properties +++ b/locale/zh.properties @@ -1,5 +1,5 @@ mod_trading_name = 交易 -mod_trading_desc = 商人的商店:卖什么、回收什么以及价格("Kind": "shop" 数据),以及一个由两个背包组成的交易窗口:商人的货物和玩家的背包。钱是一种普通物品——金币。 +mod_trading_desc = 以数据形式存在的商店和双背包交易窗口:一边是商人的货物,另一边是玩家的背包,钱则是一种普通物品。 trading/item/coin/name = 金币 trading/item/coin/desc = 通用货币。商人只收、只付这个。 trading/ui/merchant_goods = 商人的货物 diff --git a/manifest.json b/manifest.json index 3b38572..39b0da7 100644 --- a/manifest.json +++ b/manifest.json @@ -3,7 +3,7 @@ "name": "Trading", "version": "1.0.0", "author": "ct", - "description": "Shops: merchants defined as data (\"Kind\": \"shop\": what they sell, what they buy back and at which price) and a trade window of two inventories side by side, the merchant's goods and the player's bag, with a deal card between them. Money is an ordinary inventory item, the gold coin money/coin by default. Scenario action: trade.open shop=.", + "description": "Shops as data and a trade window of two inventories: the merchant's goods on one side, the player's bag on the other, and money as an ordinary item.", "category": "gameplay", "sources": [ "src/**/*.cs"