From efe15d54da943e1352bc00e7e96d3907a68ae11a Mon Sep 17 00:00:00 2001 From: Seth Ladygo Date: Wed, 22 Apr 2020 11:46:47 -0700 Subject: [PATCH] Update README and add two diagrams --- README.md | 5 + docs/application_architecture.png | Bin 0 -> 54286 bytes docs/application_architecture.svg | 300 +++ docs/long_entry.dia | 3313 +++++++++++++++++++++++++++++ docs/long_entry.pdf | Bin 0 -> 20369 bytes 5 files changed, 3618 insertions(+) create mode 100644 docs/application_architecture.png create mode 100644 docs/application_architecture.svg create mode 100644 docs/long_entry.dia create mode 100644 docs/long_entry.pdf diff --git a/README.md b/README.md index 0f04e47..db7e323 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,14 @@ # ATS Esper +An automated FOREX trading system. Write stream processing directives to +make realtime trades against the OANDA API. Also works in historical +mode to test rulesets against a dump of stock tick activity. + ## Setup - Copy `config/config.properties.sample` to `config/config.properties`. - Edit `config/config.properties` to add OANDA account settings. +- See `epl/trading_system_1.epl` as a starting point for defining the ruleset. ## Run diff --git a/docs/application_architecture.png b/docs/application_architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..6b63d761db8a9223d9352b6af2187db4b291bb06 GIT binary patch literal 54286 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 + + + + + + + + + image/svg+xml + + + + + + + + + + + + Java + EPL + + ruleset 1 + + + pricing data + (OANDA) + service + + + + pricing data + (historical) + + API interaction + EPL support functions + + + ruleset 2 + + ruleset 3 + + + trading + service + + + diff --git a/docs/long_entry.dia b/docs/long_entry.dia new file mode 100644 index 0000000..7f53e46 --- /dev/null +++ b/docs/long_entry.dia @@ -0,0 +1,3313 @@ + + + + + + + + + + + + + #Letter# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ## + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ## + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #Inputs# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #Derived values# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #Executors# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ## + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ## + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #Inputs# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #Derived values# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #Executors# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #Long Entry# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #Long Exit# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #Tick stream# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #OHLCStream# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #SMACloseStream# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #BStream# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #CurrentTickWindow# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #B1# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #B2# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #PStream# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #P1# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #P2# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #MaxHigh3Window# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #LongEntryStream# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #LongEntryDistinct# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #Order history# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #InTradingHours# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #InLongEntry# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #Tick stream# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #OHLCStream# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #MinLow30# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #CurrentTickWindow# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #MinLow120# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #LongExitStream# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #LongExitDistinct# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #Order history# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #InTradingHours# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #InLongEntry# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #LongEntryStopBarCount# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/long_entry.pdf b/docs/long_entry.pdf new file mode 100644 index 0000000000000000000000000000000000000000..a57dd89b3ffbee46fc4f83e9fc7baca5053cc263 GIT binary patch literal 20369 zcmce+WmF~05+>TvxVy{7X{2#?cc*dNxVu~9?(W{WyE~23xHj(YZbP4Q&z(E-?t1V2 zm^BousxmS&GAgQeewpzFnY^$lEyGt97_x@b%4Zm606oA)-yDXU8$c&*WNqST3SjvV zDZ&5%06I}KOGhL7kE}1zg;d&5AEz$TBzgINgz(y9tGXS zZFY$Ere?=l)v0pczcAwJ+a*A~S&lLq`T)Q{hxVqW>yK9=`&voeh!p1w(wFR6nGo@X zDqi>=zTVmMd4Z7r1s_6pb6@KA617uttDTr^Eu_k?w(fY{b_!BLAw`%`jjo*})e}Wn zG!1JpK7PHw%|D}MHwi6{6gOS7kh0?L{h0P!0%xne)cy~-+20Jh@Y@sy2=kmplEQI6 zIYz(YP^N4E&AF?xJb6_HJ)O^MAB-Po(J6xXL zTp26s=1Q0+``tgr?emeFu$7e=y(N`1e^IZ+g&Yz4i4-TMg4ALtbQ86T)zPV;6|x^b zccrWHomX_nGi3f#yL4FGJ{zz3wse%1w_U8bRFA2@#$msdMIRQJ8Epk@Z+oR1zJbA>*XhFfTR;iAaJ-N13tIpKtxMZp48 zv(R}QCUVPy(3Xv50FmM_%qcvh?C*K}^YyOB*O0A)!`->tolW_JkR7f7_%mwS4ar$M zab%*v5%z>wdPxvrL4;O-ELLxyTi4lhoFAGYf8EKs*A0qJus9df#f|asSyiTP`6N;p z?$+n;S+o;XorD>18~o3?#FX3ES@798ad=wv6KkNRj)JRZ^}4X#Oj)^*&lcr^`}=O~ zqq<%>T^QSu^1HzpZGmm%&6$aB`=4dg0;UKEb7+tj8rGWzAASj0^g_^Bm)G=V%7i^4 zL=R}c5on=8RYD(LV1r7AqDLK^;Skx#es53FmX>ibuHNo3n}qU?=PsPW|K_VNi(?0B zkmvL2&;KkiiaM7Og6&g1>D;5fqBL3McIP{2h%-ZbCh&H>R|CZ@n#kYEbH4|8PyES= z(CbdEK<_pBee~6&?s(49uJPz_Oxv;CzXyD*!W0)F$xzu^{1Qx>Jlml<+`nTS_Q10i zO$pEpn#pZjFJH@;vKWK4V~7>1oMX>PzUwmoK05FaVu?j7_sb+a98;AIFbgSY%TB!0 zY$d*P0f8_XQJ*f)HY_cP=OoktWxKT) zG3_JT{Wka42@6Yj<6uKK4>c`SsfT`4ycLT4fJ(P?-NCJY z$#W%$66qp5JH8zSIUZAWo(HKVexTd?4!u=qigUvsYba@qj-gjqu=anR7q8~e|5hmh zZtt3MjBK8>ec8%-W zutV?wSNik0nXgl$Ci0g}p?PE#!-wiNqbPq|vtNj&4ET(l#4WJnRgi_!nV^N@1cX@O zrx}V|Od?lMJ+s$!AWBjMgem%w!F8*((Sf3NK4lI1E6TmD45ydhBIG=7AZC1~&+&UY znSCgTvk}sq)>2B%K3$I#Ph-Fz9O3hSJ|Z}jyek3;s7qq9!jZQ`$I1EjmhDSRFgb-g zk;~FZPuSp2>fsQ@fJP z3)Io;ckuiMcQ%DY1v_05%BE>qomtLRp^?XOe&grx3AD&|t8xp+VRs!vUpt<-tcLf| zU-gR6F9CMrpIPI?*mG7QjZhkJ!u^s)(#NMFIb5PilY^G-=`lU0EU~%y2GBii zM|{|oDdjLm)`tHAsE@lp(Dnz<{#-v0je(V&^-qI8MW%lv-(OfK;_4`-FYfl-&E168v{nf4bXqhuh73 z@0~Fb@QHR-UHI7v>$SOo96~?Nlx~Q-pRkKN@gM*x218YXci>TY{Z>6Rj=%67M=xt|%dO-@Y=BGVCLC307G0FR!VBysZiO;3pu z`q-dEUsT#H67xa<1p!`~(#-j3O~I zlEML@P=L5Oeyu9E_R4rZoO`7N7i2mdAKC*-Pz%!9!`i>24C@djWzSs=QdJbLN`WLc zdcG5N+cA-(rX|+{VYJkz9j!qCMRIcYGCWSj)d~HgUmS$N<;>{e}tq$eN zO+a3I5|eWO8>YJ!bLkjR>;%vyJr`^b=12QRgfs64*^`b{kyIcA)!#$RF|R*dN-L0} zw0;~p8a}EO{A6b9^Gsxt2Ar~z(vN#{aE*D^sl&Wot~NPFDQaGME}A*Mb+qdw*ch+0 zU-sW%xjOOG6pD|OMex};*3qKqt;BgMobV4H9?|;Zw|kUr5Q;eB2>p8=P;-_;?ju{D z($ea826zh}cmQLMP%*)r8Q8tvjlAn4ArjwmFECB(?rAyh(H!^X20JkarNao62zN4p zbnaKP@VirAd*EQx1Q{{bNj*%8cVeU*j+n+vO?A;m;=-7bCI5;s;ATPPTIR-3Mu7*f zF?cuUqk-Sxor^}+KJlga*Sp8{E#>c!1QY=+I`c_qTh( zwK<~SF_f28Gcd@Ovpoxh%J$VhkdS?UXZDlH@fyTd)MXh+2hcNc1Y9=>zz?ZQvhVahs!HKx>)MIh`m*6?6~s-@CCl$ZJjj!nR~`CyA(}`Q`&;O01KoHg#Aw8#Ih7g< zDs{NoAKw_fS#n$;E6!*qhrULm3&jOvn2yagDJ|_+loWyilz9Ets6f0LfHXQz!#@yG zh%c9O$p)#U=n*7uT(j(N?kY{Q;@~4h9CR#mrzsb9Ew!Z(8h#madv&y3&dy5)evPZe z)UnHnlJb&}h(EfQ$OuCC0fp9ct_sGPDv}N~q=quhENV@*emeCjs5Uy^8)1bwkS}Gv z78JS5NkD8WUR-D^$_tE)#G|R^tj8QKPdosU%T+R=)?bU{s3@WRwG!zH9|> zyHbfwyC;tHfbz>dz4?@A(eJrI$vYF!SdZ_V&yUhY|5A}lVhg{0y?*2s%7L=#G&_>= ztBb3%J&*g+&O>I+vX8IXvr$)Mu=R(07I+15|9^u@#=q?OKLVA1!PNh4to-BH{{<`mb5ZcG?Ks2VfcnSr{|zhu z$p3E10AOQfX8&I{=&NdOuF4{fRizHc&g&~4MQwHWf(HOlB14e4>iY6H0E7Sq)YK;; zViF{E2&|9*JAOmQZUInX00>hE42lp$A2HZCnn?(<+p%pF^V_+q^|W! z0#U&X_K?W0RNneWYIoOV0nMTYee)DqX{re+q(3e01JrC}vzR+4aqwD`kl0vbv*K%d zT34&ljyr1B?5<|j9g38kpymgGUcZ%QD7NapeJx)AcIX{FvzC0yEk?Hqkl=&?Y`Qk<%dj>Bv&J)s6(o({~(Ti*g z_Bo0_R#?MW&~g-9!MJ*@omJ?p+)Qj(M@vc98)g6K34x=#IM~O~X1Js=a-yU$njpOi zRxHpxy63T#jbbL#nP960?~25Bq{A^*ZAdPt&GdR>xkV{Wj#$E-a)cPUG|Qf~6>-Hy z?Mq!uE<*T#add4HbCK3U;gQ4J)1$GNsHmvDm4KrebN=HjvbakDnX_abG`=Al6~66# ze#sYtGc*et=lfTQfggDp7?Hm@PCJB7BDtcai>lh0X~}bE8XH`A<6%n4cXa3H`-W65 zp}xc2R>!l)p@&8P7RRZGifo^9U2F~V2I1N=fJhPi8mgAUqoX9YFzEf(UKsQGvb(bk z*#WLIOYzVF(+{M8#z!HMr%k3{`C;O&LF{1OYPc}LEBnoE`{87{H1&G_R|bd8S|L|M zZP-YNOFw>s%T?~eF*tm;HO1Ix#VZ5y$>MZ#vr}j?O?gWw)Q5(~POd?D6{fM2 zgpa``=lHn|mKK+4c3%!#IBK9nH5Y0pnyA?h=krLDkczi(#lcc>!fNdE;aNEk5Vl40 zaAaVVCdHkLoa&Fo28oK6bB$zQ_0$^tr;2ia$O-u~3C%R*KDram;yV4vEq*Kb4%P<` zlD@h(WYiLK{8bM;X9v})N zEwNP@1$2ZGV%No*J%TFps{x#$;>F|L%C$$_+`bj%P7h%%Bab%saA8xCl%9C*mHQYjt_>m>}+D`{!3+hRNU*ZJ`XYgp`ln#OW= zd}?@3mHJaI8_Wf|6*>})*1`Me1=j)m$%^?=U!+S5HG~IfF(a-ah|0#3nsSfLLn$)Y z0l_KC#u>b2UmP>t8hzQG9o;2$^C_lZaCoF?@g9?oI1-u6O6^Ux#fEqFtY^X#{>HO& z0`7s_2xY{$P_yYejRY#rSjtO+5za+HnITh97zP$z=M3=UUvLVlvTe+44Ra=jZ;Bi- zp~qLR+vqfZT#jzwlTCP>`<@ZpuXJ_I5Tnn^q=RYgvyWxeO6|W-5S4iboy6!EWe}e( zN8TmzK55p!LVszI^i?cRphB7Zq8VR-!)7W$)vW!ct>4UxmUrjebca0E6YU7>5+zxU z+enMrXZS#S>(U1dJEl%+ubVPCq-RZ8(-*P!B}n{LxS-x3NSARj@-$QzXT~=OBWHdr zYRhDprk?;PQl3zumssAaeWZY+&^fzHCCN+?p}{XgDmKX;5{n`swhYcG#Up_;?gRH_ zi9G-=w@)ucSucZ{Pb|6D!Lvk5bmTxojk;oM_X=ZC!bLzVKuMTC7X;^GiukuEqL&~X zxCvYG+nzfdkl_M zQ&G@|(XJE9D5S?i_f(9bcd0|!B+;Yj^P<7;#pmK$BA_T4sieY!2_iKqPfy)jBa*WZ zGBY2$&ZX-G&6tfh`^TTVa7ErPf_-f+N5|*52kVC*@1K1=zkBPYeb?B)erNLClBIjl zg(|8rnN3?<7-pXG}|=Y*4s3!d02L-@_h1W>eD7$ zO9#JpD|u*!|GC6Ug`WK)=9#RqF6~8N%Z&0&n^+p`2S=Rlf&xxFFikV^l8-khp%*S^;4Q zJaoFl-M-lH-95!7Yd58JMY|O^3^|daL9jQ(2XI6QO~r^Lk!SMF-&?H3H*M^$FvHxbelL7Q%T~5Q z>b{SB9FdKgh20U2_=)752;m+1E1%eX`C?DeLvC9fj8}p$y_Or)&o8JOUyR6K6xG3g zT;$bismrKz!>G|#DN!XzE>r5A!?+9)7ro z|Bhioz72U)D*6ICvmq4(U@Jq}?flZQ*uqFKa z8nhE*uFV-nSPUEIu;?{#KaJAJ$BG@!)}+C0&)MlK#rX;P6rZ~(*b7v22w(H@E4>Ni zUP8iHYKLBrW&N05jaUY{Ziu!c<=A(J?VoH7!lCSxX$lC_YqNpV&*wFL5{5$so1%FH z06@L~^F`($T@Wv zsimX0EDq6>G|ha>3LpQ(k!NyOedw>I8rmQejpm>P51XD2jf~1VEBCaYjj@LyR)KuN zk{8>%Hljy7~$aGkK0NidjuqvcyZYwNv3%{+-EpQ)TafcpqwqTKO`us{@x;!k|z zYhFScHHu%PX#~SR9c?YEc#SQyGIwcEK>6n5U`X_t&Am9i&8R7tU0TON-D0(O&4;aEp`vQ#jsIRS zQ@KL9>{+IbrmY-u33(Lxm}q721a$Oa4PVm?Gc788CR;RL_biCWJNAJ4W>qx`Ga4T~ z^tapKkoDSGi^<$Nqk|(LXO|_2v|pN(6;z7O-J<(fOkhD`RNnTX))U+-{qouY z$&%qQD{o=8!v7@iPT(=cnIJ&*p!aESyB_(4lva#(VpznHAZo^tx3eg<Iv2|iE7iJ&5+Fw!A=mV z0Xt&`hPWnkcr1X=Cjgb+a8&k1e~6VkoSJAdd~Bh{B?QGgN5(cmA&SCCkz&!Ol}W{Z z!P=34<0qpYsCv<;q=uME94DiaKOJeOLCh2`y=3dt=^PDvc{L|9n0plTlaQ8Di3)4Asghln)Q%aqel8P zD}u%sd0k`HiaHw7ATQafwMGn2h^q8>SNemB#Oui7tdN_g&cGw=QSf7-iBomF~A?( zSUk9Mfg8MGq(TiYLBO=y*AGmsOFYh{k+1{Ay1ll!Rbbwx6u_N$Rju_k(p82Lr(owgz90g%Bs-tS5ms zpaogNFb%$IM0jF9B`DTCzmMff@sJ?eyL7j~tAsYCamUYLaF?pj5<7G&$nv=PEu%g3 zn$dcj=8VWJ*yVE65~(2peYbM+QGQT2BB#?!7qO{}aet|$S3<@1x6(k=(+RU8FO3tn zoN@njjnrsH%a8slk)MS-Nvu)HL$pvXyLB%juda)^;2=Q={uGw7CU~0>pdpphKnMjw z+thZ20n*easMcMPF7#M|(#(O@3H!0}T8C-=y3uvl%>wfNWuw%GTBn(2L$Pjz4%$>D zmxJ{66gTmm7Q9novkKV!5ErbAcHxBeh7ts;)&kgQ_o)JV3HEUS?L@Ox>Ba=IJ8*_& ze+igTuq~Y)l|%2{&jx?o2R_h1WoJQM$@N_f4}N_Mh2-Tm+b3+>D8NtSWxOQk^ECA1 z+YaFi-UOTYP7D=Em+oc&iuWELPAC_^hwpI3*Rqj<8l`_f<;uS0*B5+u(FclvKeiuy z*PW|)s8@X32jELVgcO<%7I@(ACWOre24=EBx$+^bq1y8EzrIQ95C*-j=s&(mFWy_j zttW$?pE+H)80ei7;I1G0@U)G4M#DR&12H=-lYKZr&YOWnsBeHAm2LzOme>ntW@QgO zu8BGxI2+)l3RdIhgH=s6dUyrdMWGKH%BB;DCRjVUUY*Z+nLOFXoQ%p_sgI1xB3c}4 zUM_1;E(&4EjUYG%I&je^d>sk$7`)uW2vL_}Bk{`fZG^z}hccBe!OrfZJVD$%jGBLu zL8Q-|gnSTUlABOPH4LHlZgBE=HA=e5UiW$RL#9viBm$kAULbxFwUKEgU@E1<-ELwkEXf@ItW*m&tiwGYS5LmD=#6G${db#clUCTWO zuor!%u`KjalVG3<%@|x?1d6K$|K&}kr@LwjMo{ivH%d4ORElEHJZ$n}`p)k0!DImtrwdRv?#f;R&?|6vW=KK`y_5VJ&vGBJ znmbdP2;>;dploPYu;bi$F)(f#y?RX1mW|xlsh3>(i2kV9shDRy=3nrA{v>!WJ*HTj zK9KG7+=BzbZA26+Jq}tiJYyqu`1E5i_rbseBuv7iAfm5WctHZ6D?DT1AvA#9UIM%T zxckkFdvK!J^`AnZPxp0KZ>$F`EBXSU#6oT#>`RRSb%uGpEBq$vtj zO-fJ4CHKVPd)AsN85$-g3JWn_{i8)D6+Qgs_LJWC)10pB8Mwz0I{!*}#BGz)*ob^E z*2VQ@iBau!6;dHNS|M$pAw&b%%Mj8!f*M7%MY2t@8D}T)(EWg9H|#0VuHPZ)K8z#5 zy`ZRErZ`5uwNy4l-BMZ5TB_FxD95%a9e5l~c<*B3Yo-2iq+rp&&1+NG)t+4pebc`rw^u1#K)1 z|J_IwXk}*U2B7@A9`L8Zm%l45fhHd;^WUNWKk5YkCdFwP=vg@cw9FqL2m=S($BBXM zA3j{d5ol>1^* ze~FYFjjU7v?0@(FQxN~B@W+UcZ_$Vm!0;!2|DOT<|L&8&^*QM~{zdyMf6(iH{PmYq z5a?j^N8kUuf6VM19ED7Q_W!s+8u+g=1LNP>1AkQfPtSkkJ^cGeBVzrL#%E@20-#eh zvlg&+F#AXF*YK)lhK{BVA1MY*%zsFi{}Ts0(??PS`=4LQd^d~Fg|KGv- z@gnH~EF6pgwm;bpY=12KbN8W*`EPB1U)etRD^_;4f7LN_Fn#o40Wg2G|Eq@OPtpM^ z^M{6yyT1}8KG-CiZ`Nji@)`ku%{Bk|>KOhQ_|NzJ4;S-i=)Xy#|2FyjCl|v&&&J67 zzmPGz?p|8ozIEPf95>B-bDak}@NawyP9_0R1?1%wQYc>kz>{XKp;0Dvpkf$dW1hqo zkP?#-U{Yda5n^H->>e^FUe9cecOJxUlaWxDGn8H^#10s^UV*GO&N4o`esSWvzs?xv z^f+(0cYm%pKYxC%bOIzG>BrcE_VYdGrVb>NpMweNBcS#c{?d6U&gMpnmkC*yfJzh@ zxaX_a+vs%*Al=|u`u^@O6^8M6w(h$CSslUZGBGBYzTa5)(2jf!F+KpdBHI9SUbX2p z{X3XI`{itWO%+<=B=DXEaUz>1zPf(XRX6&+jWDgHIYspg?8ThN#hUKRP{tPUD0@6_ z6bjh^nna{F4Ks9gQ8Q5(yyAsZp;AdEfkAdUeWK~NaK^soM3Z4a%a*pUtEwk5#VHxm z>RW2L%IWvlJ7luN$q81$hvY5Ld3s(`RW)?=9y26QQcC9i$Gy9~bn&N#q%kq(zhjoLeW~&=nuB&YRo5?}q$K`R1%8!#cQ7mF`8@-;#7Ei|`N~a^5w{Uh z_Kj>NX&7dm^IHiEm7HB|VYKXdnNzz{xOoZIIu%R&(&jqvTVFrAKcOuvRVE{uM^c>GdN?Vpe|Jo| z?8Fr{1BmQV9w$S~ZABCD35T7~61>2Zq4yE36;TD-4HIQy{JCXmGt9ldGa`x$XJZyM zG?7B@mUgtGTP8b|`LOT^9h{*eX##e>JvP~^&M1X$wydnuf3_gGNL&+Ff!sCCT4P=# z;*r(jluJDZ8k7b)%q>#z#msz?6BDM~LJwV+Wd6(XoK>|*MIdHB@~!r*(5;7Q;JF)h zbXtv1igD3r$24*6P%&J!jj|~Jll=;O3LG@K=g&9xgAGxiX==7f@XkFmf>GHKhj%1x zo5x2^l7{VS(k7G*?6tHkqky52+d3K9EWedDwP!{%vOi78NtOdc!&Qber_!|NxS{iv zGEQZnmW`9SaQS#p?=m@nX9OOLUCttgWw|!Y5E87BmodLC)II0l+;#J-epET7@Qz^_ zV;eU-gl3c1ppgtrQ_!r&pPiy+p`@cEAIU|^NmkNR(V)-6q_1Q!{6rI~@j+9c zb?TL+Q}-&azg1IS{vv^D|2e9lG?5FTKMpAiBLCWx+Bt@vkreAAdh=O_^y_l*Hyn(5 zMvAlgx)1##@befLwi8jY~%PG3QbIGXY}V56yO7OwiRaVriA~+$4J*7xK?=L!{=WSX6Wte1<&t%k8Lj#$E3YZZcUpC8ybn4Oyq^ z9ThzjXPMq7{oTHh&o@7WiUs-(Dz5SiX@e2Z=m(X<432^g7{xzf6LBz3pyaL$ha*e+ zukKcba2;8Q3%i6=$3Yz!&9F$}nPyFO*r}QPYBEfV581Oa@0^cXv&9?S8*w&DH}GI5 zAtzxa`P!F_oE=Ng$bp3#0sj;HwdX-k&|2Es(psyMkByg&h^>X)?VGfbrIFT;E=KQf zy+J!^JM%k>S$RBx?l5Tm82#uEuv_5<;oD)a1DCrsyLP*8R}VT&le|1=ZcO+QNQ`E+ zP0%;4U>#=p<&(^H284ua4DW|QPfxLtWr!Jv&9Y0dnlMp2;~cE7e40x>dDH4-n21Gd zYc+X|rh6-GYp$c(cZTn84a38ytFB50lPb`L?$u3O^Bx=_DEaOci45Mw(bf@;#Gv?T zg*&axVwF|N7%b#dq!V{{cS%T~)4_-~XT6;g*ge$|1-}cn3g9JJT-#G`>=aGnqPC%K zXM~N5*T1_=MSjcTe5y#KBeZbcsk!yQB~Y)owh`(ZY9;%K^QRfXc0Jc`6EtqOoDMp> zDA(e*Ww~8HMoIQxyw)YfA_Ylt(uIfTC8~*oNx%ht`DU$Xw0fYkA{Ffj=ObQKhw0qX zK|!oNo&&uq-*>))bh0J19^)zDEZ^)Hs<`A9itr|lE~tSo{@rpe7F2RP3rYTXwJ$EDDrH+m1hC z5K5(9CM`Lc9_a$ptX2cw2*-KpEN=ANtH-m~mf%XDMtNWTH^ybEI5-&5rK~za=2ER2 z4*M8Y5ldzv*Mdkx*9-+?x;A*@v=cg2CIqg$?L2jtgEPkEXnaheCh@PWwYBj>Dn|u| zyNP*jy6=jeq{-7ToGn`x49C4*_amrR_g8t`cIRG%5%^Lr)6a)mt=Ek)t5j1aF2Jt1 z;q6t1$N^_amOCN&{Ql<*6Nf4)%qrsa&$!=1%%G=Y@4U?mD2N8!N}%_j1{o?im_O~? zEvyeRo5;yK6l{Uvg-XfDy{c1_2mXM5NMX_mI^xTpl37d{2mddplq#BmC~Fu2to2bIP~& zyUjy3kv&6++Kq`FNvpJw5z{Em4YUxK(+N8$%b*yJ89--&k!#UiOpiuL2n1wV5}9uE zOY^5%FEWWMb(^kAqzD!+TK_yN$>C%Uo`9pfE(VI)%xm73b-;Hq$d5A;=#8qCwDwb) zP|qd)gus|60q-?sCY|n#DgSZs`Or3{bobby-t9@yDzwwD(x2)H&Xry~c;I+eIgbd$ z0p{C^y@u#>2leR0P%XJ#uC{+yc3%<@%9h$3H zua0B|nG^UzbZ^dpFe7gf#j=c)(Ez0Q43@eySMAo1V0+h)p&?hMO;fdyd!G@Pxi?vA z15?8ixMZRv#V8s%MC5nEKow{-0;kD_6e6gzx*Bf!PX=S^WIA!9Jr_2};pg4s&wocr zY}`eip~FnEJ$y}JXRJ*~pfWN~RVhryHcC>oNUa#t*`stwYLQ%JiLHpOBox8zce4+{ zYg6W+Uh>rYK3Dh|lC?pxseSp$rWsezTdV# zl4`@oZ}Vcqmz{Y%ebN%f8>)L44Wo9n{aRBR8b(>9Haacgr>Eoo{k===S=TjThvZ@y zJ48t;F~Q^l7$@4xpCX?mARBUU>}UF2TSKGV-GE0H@wQ8bY4w5@_jO?Y&f6 zntXI@_vdUE@Y#x~?i5IavipF(;$U9P;|ZCX+qUV;z{;TD)^ifS;O7z|-?W`RGN-VEZAiH%SBX~+{A z{RYA>``?+twM?d249)?@cIt$E6>~651Ko2KOx1-krWG5pFfPRgP>e!b#i{2pG)K#g z?qF1)%j{U1CBOI9u5|{U*LPWVt?bBYJ*R$WMqcpApU8U|>a_IEjJF^)k69PD+iXqO zWkJ0vuB*5W^3IOp-Xi67Xh50cKgoi~t!P-7p+)kwKzB|bwZg_n)en$Ht*0fo%#cxK zibCs88l3O<3r!~|uZ^LHDdOSwQS;Njy%o|`cP@-~%u>IT91O+GayMV^EXr~RiK_N^ zpRcX5CC3-B6Oj=cPgrA8t<2~NNJ$H`qYcLdNOlTJ%N+L3qV>$?1*! z#!Z#qA8GRt%v^baVd|oBbCI*)cK{3CnSpjv@$4}+=4z|uTE~fde}@ynIYFbz2n+`! z8O0j>8Tt`jYFk>>4~w+wDOtN{^3bjT~e= zb!m88D-N}GjaDyVoP>cmPIwad>>nhrcQz=vv02lZ#LvQ!R@H;NqY2k z{_$>b$iNX=6CwQ3zDD_rQc|fAR(sNck$XwaWbJQ_VHMbZq9sALI+^NBK9WW%&AFlm zJ@*EuA}_inDVMs{>g;n&Ix4!-=Z4k!?`Q4ePm=qqf$glDuGWb#X$ce2nh|?d8`{GQP_roO4 z9%y82eMS+Z-SgzSvPCK3Xrh(T20=MI_YCI*wdqlsggb1H%Tg3k?Dz&Cil)<91w8i5|0*Z9&Tyhg(0f4<{joGnUa?6jpMi*r`kt zQ5m7ku^G!9CI-8nZa*){RWvE*ZJC4;2G=wMi7n>xcyJ^Ng zMiX49Zd$RS%RPn|Yu^qGd*)SZzj>*rD>k`VjlI&avN|PhwL1{f{7G9n(Qrrsp)SJ01Mft-Tm!4AS_zJmch{hv(v2E(LaqM+!rmkEe0U}*&)pGja)RS zlDhEAJb|FCVo$5+|JRa&v#Lfcgj>V+p?Y(<;iYxKN1@=QW>2`!QAK|8`_?%37>&-CAMu>f2Pw zUXYT@fvNc!48fIO%SwDCa)F#%b{elS*kK%gZZ-0zAzyi_b>S*-z{*UEo;^DYWhb!#aHboNpGsIh)}Nvn{2kV zc8@z6xIlgmd`=7JQ}~JiJGuzC7mtei-J%9Xsc02W<;e!VdxIZ4Pjm@!TZfB4Nis_p zuAeI?J27aAcqel0K+!+~)lI~*%VqN$nXsy#U0>|-Yv-Rm&70{Wd?=e8^*hMwm0w@XP5Ef+Ge!N~fhS|lsc*fmvc@m{_RNvSt06Od zF<=qDAKE>2z3t9J-P|Y$Ii2%>zj{c%ab>M@J}#1w6HMl`^Po%Q8W;6ZvLM9}y9hemvaV;am=IH)2 zw|P=FsO54gQ&vD*ETP4t=WUr+P^&o6z?|!=i{0gTNFU=4D5MvoYgsA7st8_T8|qed z8(u%qLEWmKd&!CttNd#MEC*}&87YPWw9O)Iq-@)``9U!XGo*`J29Iz~V1&hE?6YPo z9R8Iz1~vgKOK?TBn_RI8cW!=K#w(<;_0 zh7S3nbLbHl7;OW{0v%(+nZ&&pYTWab9tk9=q*J7O``)o(W&1v{h7z^pD^H8h>@Sr) zq~XRja9Kn_SpGErL`_Xw8xh19t;aEIZI%iAIS|kyepjk=te+ zBOm)TY{|w@jdRRpgGx6|R8B{j9m79%Ix6fO<)h-7e zH)}3?Sz4`DmLde%i=Eg6q&#*avrbjFNVLZCJ&Sn^ML^L+X{O?4p{JR|)sE^uTeo5W z%}(&=*2ZX1ZB5&f1nXAOI@637;jCB=M+zR{vR$oIYLl>=<8V{DR$}HlS+;~c>Ewp9)8zasFZ{2H@D07`|OJ<4&0vjjKjrIs; zp9oJ$=9?vC7I^c1A;a?8-0+o`nXy&1Xv^NY!0u5r@jcVL@jRb6m5!cQ=_ao$Y440U zT+tLdP)0*c`a1GQ(!`?ID(X`fNgXJ*PMq{9+=QU5;HTL*N+>T!xL`JCm3A6 z(l>CX(_{8xtcE})qx=_Yf=H%ARi3;o$5%m+{+Hc(N%r)ReYKM>NL*h?G94K+B`{|O z50y^X+jh=Re_bHn5{AefoG^b^B4fFc)$sY1?81lGx4*=e^?r>w!1{H{%8_f;S4`&K z4lg?XhLjicy_T7%LxOpk@lCgVlU!#DAVEsxXhPyUxfEr}I*5(h>JTIXR36i=9L0^W;0d_*yE4>Y!85!Y5dg2b;ti9l1JV=VvkVwxEOPUyh0shjgP@RG{ z3U4gop39ZHcVIS&zZ*2)Agn922m^6pSVv0jruLpFK`6=Xje(+IRBtlr(3_w)h+8?_CZi8J@Lf(%d%yaHRnZUT1(YSk&@3gmW3bUUu+tzXyBUd7V`@}V zf?%m)mYRSCS(AabF}YJnGeM>x$n(>EH|PV2_5kW5FK^OE!t*Dzm|L}b*18BqVFlmd zD8)MG#t_U&jVm%bc@yC3c^XMCD`Fj&ov=s&@(l4nr~!_sY7fpy$s==6hSK1*BTY0* z@u=Nwz*sO1BVv{0uz-EYjlX#YJ%VVgvSNQ#Ud5Ei zSmKg}`2u71%`Mllnw}O=+jg4yefZ_U+v|OE{#^OhiL_~=v0rz6DU}OeRq4^GR}~VZ zA_@|P@6iO2?{L9I@QnGp_TYiSYD3gltU$N;qRk&}!AmK8?#c(LOQxAn8|%$}obM+s zZxk7FqzGQU944lGC|jV;Hm}dam>%o>|!?O5puV_azOPXk1M4~dr`=Zjk;t9tqpQiEJo7PyS^N9?F>}3rd?Z?W+iC zrC_B_61l8v!QOKTfFhf50!q25t|;;GPJ!; z4k{W~-_XH`GST@p;@>PB$cp$v`|105zId^eliZ{p5a z+XkG@%Ah3Hhf?^r35(3-xQmOLZ3J?eOvV&8worEqh$gG=yyNhxmYK zrcFNX3k4RfxC=417a)h0C%!k`rjX}r->&WEi`7=IJ^OcD&xhW^ty5WilP*})f%;|X5N1LQOh?UP)hi32onx&L5o~}jt(O1BV!39B znXaT4kDq1kABn4jiA!dw#wTRyiqD#GecJ^Sa?7OW74uH@>6og0u13g zR8w!|tnRHxf6x#aTnc|Y!b|Gg%?-}4vlvq)n;n(h?&c>0vk3ZW`XMv0!1d1#mG8kW7f zRDnA?Wi`5=a-`M-QT!RsWp%TioH?xsWmlP}?+o`wQ;X)J6}1YAwSOvXpT-g$cJjGe zXlcDzQ%UP>D4b16V%Yd;Tto#~`vpgesJ&-vEh#Df8WuhM0R8Db;Q^x*mCxsuY|-&7 zX4BKXw9C(G#a%XEZoPQOUc;Fm5Rkt+cDvSBlbRD8us0!RYP=dY(gy5?(+&oIVXaI= zc*u21R9r$~7IGV|uv_GNZr}5%+H$Mn3&IC_yO?6eJ9#N z9rDVJRj#0UZKT&X)#Ob3(>FI>SwhRLFI-HyU{0UlVoRsfEL1+3VVOQ&8WVn1Ye8%6 z=?YoRc^XY6R142!TNIi&RmD-w@=WR|6(-a*w-_b%f#%!W1Un}^nb470U(#lCVpgET zWXku4r=48sb8E;!aXCH3Y^dF#Bi*=t!nMb5z$Hei7s1%lGgOP1Bamf3y%ws@`4^Er~b;tf;m)H7dBR?fOPueYSW@#Ai*!58&uA1tOd zyKnmAZgS7s^7Q)+lG~SJ5B#+~)MF{aaJ!-Y&DUCf@aXXkGv`$gDSo`C9aw0KzfABr zC2wv>42}FcuUxTt^{vkyx@T=Jiumd*Yjsc&=hCsN{-&8iw^ar0c}s1=B9Hfkn%SMX zA6)JJ!l6-R@~}rxrM=S~X*KvPwVG8N+kY}JUu%3w-4fi@wkIU4AmYJ}w$SC4uX?YV z((5`G3>H`X5Oeptt2tfGI}+xzXOxQUYXlt?HrI2yXbRdO)`{H#|Il8dEK;A=T-+qrKbdI`x74@8`?B?mC#@n0*a^vtaRhrX4$u(J=)mi+T9j$^BeMNmu zJF8ayZjs!OtX!3y^wD~|I~$**+x0K#yp-tbvNq!9tP9bVp010wczP6cCu&q};VXU- zo;S6q1X0$U^ELggM_vV}8*XeJs0E&F(e%FPxJ~8 zv26hcZ0pG%dbufxG77APP=He#W4d8MM%sIpJ@TL~g9VL`*h?lBs#^T(SwUPwX-FA#5UP zq@O^URJ1U3#@?SdbvEo%@ugGfap4zC}F)MDv2ePtz+t#F##|v zlS`!W-h{u4qqiFyMlb{cuoREWgSjp+<^aRYv4f5PiG=-&PLu)>fXJll$mx?eGHlH< zD&$mIbc{I+0qO_XvJ4-9HR7UNC<~ z8cMG%0>gxA^kX=T8H|B~a`AC_FiL1vzby<_$zU!hsVu!QU=+uJqV!`pYB&at5?URX z$2XWWj1zj(&qH7?!Hwy)MKHF(y&)J%l+BOJGaLiK-Y^Ev15d?qZNb-L%=*b?B7pnJ zNYlJv$(Cqh&k6P`NGb*5CA6b^n)t@YNFh?dBv_Ut7s=$LN)Q|aKL~T@E?l