From 091f9d5c5ad1eb928c2de4b1787777e638337606 Mon Sep 17 00:00:00 2001 From: sumcoinlabs Date: Wed, 18 Nov 2020 00:25:31 -0700 Subject: [PATCH] init sumcoin --- currencies/sum.coffee | 55 ++++++++++++++++++++++++++++ currencies/sum.js | 83 ++++++++++++++++++++++++++++++++++++++++++ currencies/sum.js.map | 13 +++++++ img/sum-qr.png | Bin 0 -> 20930 bytes img/sum.png | Bin 0 -> 35204 bytes img/sum2.png | Bin 0 -> 23454 bytes index.html | 9 +++++ main.coffee | 30 ++++++++++++++- main.js | 1 + styles.css | 2 +- 10 files changed, 191 insertions(+), 2 deletions(-) create mode 100644 currencies/sum.coffee create mode 100644 currencies/sum.js create mode 100644 currencies/sum.js.map create mode 100644 img/sum-qr.png create mode 100644 img/sum.png create mode 100644 img/sum2.png diff --git a/currencies/sum.coffee b/currencies/sum.coffee new file mode 100644 index 0000000..e77e0d1 --- /dev/null +++ b/currencies/sum.coffee @@ -0,0 +1,55 @@ +class SUM + constructor: -> + @ws = null + @socketUrl = "wss://insight.sumcore.org/socket.io/?EIO=3&transport=websocket" + @txApi = "https://insight.sumcore.org/api/tx/" + @blockApi = "https://insight.sumcore.org/api/block/" + @txFees = [0.000224, 0.0005] + @txFeeTimestamp = 0 + @txFeeInterval = 3000 # how often to query for a fee + @donationAddress = "SX75kbV2to7LCMj2rc9Bb8agpZxAg6rzoL" + + start: (txCb, blockCb) -> + @stop() if @ws + @ws = new WebSocket @socketUrl + + @ws.onclose = => + setTimeout (=> @start txCb, blockCb), 1000 + + @ws.onopen = => + @ws.send '2probe' + @ws.send '5' + @ws.send '420["subscribe","sync"]' + @ws.send '421["subscribe","inv"]' + @ws.send '422["subscribe","sync"]' + @ws.send '424["subscribe","sync"]' + @ws.send '425["subscribe","inv"]' + @ping = setInterval (=> @ws.send '2'), 25*1000 + + @ws.onmessage = ({data}) => + data = data.match /^\d+(\[.+?)$/ + if data + [type, payload] = JSON.parse(data[1]) + if type is 'tx' + # fetch fees every now and then + if new Date().getTime() - @txFeeInterval > @txFeeTimestamp + $.get @txApi + payload.txid, ({fees}) => + if fees + @txFees.shift() + @txFees.push(fees) + @txFeeTimestamp = new Date().getTime() + + txCb? { + amount: payload.valueOut + fee: Math.random() * Math.abs(@txFees[0] - @txFees[1]) + Math.min.apply(0, @txFees) + link: 'https://insight.sumcore.org/tx/' + payload.txid + donation: !!payload.vout.find (vout) => Object.keys(vout)[0] is @donationAddress + } + else + $.get @blockApi + payload, ({tx}) => + blockCb? count: if tx then tx.length else 0 + + stop: -> + @ws.close() + clearInterval @ping + @ws = null diff --git a/currencies/sum.js b/currencies/sum.js new file mode 100644 index 0000000..e1fe39a --- /dev/null +++ b/currencies/sum.js @@ -0,0 +1,83 @@ +// Generated by CoffeeScript 2.2.0 + +var SUM; + +SUM = class SUM { + constructor() { + this.ws = null; + this.socketUrl = "wss://insight.sumcore.org/socket.io/?EIO=3&transport=websocket"; + this.txApi = "https://insight.sumcore.org/api/tx/"; + this.blockApi = "https://insight.sumcore.org/api/block/"; + this.txFees = [0.000224, 0.0005]; + this.txFeeTimestamp = 0; + this.txFeeInterval = 3000; // how often to query for a fee + this.donationAddress = "SX75kbV2to7LCMj2rc9Bb8agpZxAg6rzoL"; + } + + start(txCb, blockCb) { + if (this.ws) { + this.stop(); + } + this.ws = new WebSocket(this.socketUrl); + this.ws.onclose = () => { + return setTimeout((() => { + return this.start(txCb, blockCb); + }), 1000); + }; + this.ws.onopen = () => { + this.ws.send('2probe'); + this.ws.send('5'); + this.ws.send('420["subscribe","sync"]'); + this.ws.send('421["subscribe","inv"]'); + this.ws.send('422["subscribe","sync"]'); + this.ws.send('424["subscribe","sync"]'); + this.ws.send('425["subscribe","inv"]'); + return this.ping = setInterval((() => { + return this.ws.send('2'); + }), 25 * 1000); + }; + return this.ws.onmessage = ({data}) => { + var payload, type; + data = data.match(/^\d+(\[.+?)$/); + if (data) { + [type, payload] = JSON.parse(data[1]); + if (type === 'tx') { + // fetch fees every now and then + if (new Date().getTime() - this.txFeeInterval > this.txFeeTimestamp) { + $.get(this.txApi + payload.txid, ({fees}) => { + if (fees) { + this.txFees.shift(); + this.txFees.push(fees); + return this.txFeeTimestamp = new Date().getTime(); + } + }); + } + return typeof txCb === "function" ? txCb({ + amount: payload.valueOut, + fee: Math.random() * Math.abs(this.txFees[0] - this.txFees[1]) + Math.min.apply(0, this.txFees), + link: 'https://insight.sumcore.org/tx/' + payload.txid, + donation: !!payload.vout.find((vout) => { + return Object.keys(vout)[0] === this.donationAddress; + }) + }) : void 0; + } else { + return $.get(this.blockApi + payload, ({tx}) => { + return typeof blockCb === "function" ? blockCb({ + count: tx ? tx.length : 0 + }) : void 0; + }); + } + } + }; + } + + stop() { + this.ws.close(); + clearInterval(this.ping); + return this.ws = null; + } + +}; + + +//# sourceMappingURL=sum.js.map diff --git a/currencies/sum.js.map b/currencies/sum.js.map new file mode 100644 index 0000000..0dfcf85 --- /dev/null +++ b/currencies/sum.js.map @@ -0,0 +1,13 @@ +{ + "version": 3, + "file": "sum.js", + "sourceRoot": "", + "sources": [ + "sum.coffee" + ], + "names": [], + "mappings": "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", + "sourcesContent": [ + "class SUM\n constructor: ->\n @ws = null\n @socketUrl = \"wss://insight.sumcore.org/socket.io/?EIO=3&transport=websocket\"\n @txApi = \"https://insight.sumcore.org/api/tx/\"\n @blockApi = \"https://insight.sumcore.org/api/block/\"\n @txFees = [0.000224, 0.0005]\n @txFeeTimestamp = 0\n @txFeeInterval = 3000 # how often to query for a fee\n @donationAddress = \"LiVcWyeoPXNYekcdFkDr64QLG3u9G8BgLs\"\n\n start: (txCb, blockCb) ->\n @stop() if @ws\n @ws = new WebSocket @socketUrl\n\n @ws.onclose = =>\n setTimeout (=> @start txCb, blockCb), 1000\n\n @ws.onopen = =>\n @ws.send '2probe'\n @ws.send '5'\n @ws.send '420[\"subscribe\",\"sync\"]'\n @ws.send '421[\"subscribe\",\"inv\"]'\n @ws.send '422[\"subscribe\",\"sync\"]'\n @ws.send '424[\"subscribe\",\"sync\"]'\n @ws.send '425[\"subscribe\",\"inv\"]'\n @ping = setInterval (=> @ws.send '2'), 25*1000\n\n @ws.onmessage = ({data}) =>\n data = data.match /^\\d+(\\[.+?)$/\n if data\n [type, payload] = JSON.parse(data[1])\n if type is 'tx'\n # fetch fees every now and then\n if new Date().getTime() - @txFeeInterval > @txFeeTimestamp\n $.get @txApi + payload.txid, ({fees}) =>\n if fees\n @txFees.shift()\n @txFees.push(fees)\n @txFeeTimestamp = new Date().getTime()\n\n txCb? {\n amount: payload.valueOut\n fee: Math.random() * Math.abs(@txFees[0] - @txFees[1]) + Math.min.apply(0, @txFees)\n link: 'https://insight.sumcore.org/tx/' + payload.txid\n donation: !!payload.vout.find (vout) => Object.keys(vout)[0] is @donationAddress\n }\n else\n $.get @blockApi + payload, ({tx}) =>\n blockCb? count: if tx then tx.length else 0\n \n stop: ->\n @ws.close()\n clearInterval @ping\n @ws = null\n" + ] +} diff --git a/img/sum-qr.png b/img/sum-qr.png new file mode 100644 index 0000000000000000000000000000000000000000..c59f8ff1e10ed114a023f12d413945d041e8ab07 GIT binary patch literal 20930 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 V_~u5Px3&NP002ovPDHLkV1l+fw<-Vt literal 0 HcmV?d00001 diff --git a/img/sum.png b/img/sum.png new file mode 100644 index 0000000000000000000000000000000000000000..9d76ab9113531e9a7929fbaf66cbf8809b94016b GIT binary patch literal 35204 zcmY&8-QC?SA|TQ&A>AQ$KYr)_ z?#%sTXLfdG&pB_L_j%qpQ7|=mJnZM#AP@*oQ9)J{1VT#w_rXL5e&IK?6#;>0L5i|c z+MXr{nHcThnai7r%w@mK$6_Un0)|{B^VmZ2fkf!XXE-SsRtm&VJUmSOrshPd=D9UF zfoQSFaC&lO6?Sl}8PY){Ja}sTveD%+TcoZ|#BJyM!9nNza$UCiH;e1FL|}Y1J!lZd3n2ccG~IEY29zo*KxjzAHmC zOokQnB^Z*hhmuUlemM2X`4#QO%F8NeOCnO;m+VsAS&`+GD7*bZNP(8P2vjK~ImRB0 z*_t>in#yc#x{R}X`Nu9n5XLjdo0lkN44|JpSXVi?Z7Zffyx{H`38^mxIf9$>j0cx% zoZV?V+m!p-l*zk3{o6i1aKC>vx(M-_^ebxk_~4Y<0WuEE*|44IQsuB@PIR@0Zvp<^=kM9EcZKosD!54_UhEx#!$D zAAPMNagvFtklh422reyM7;ieQ1(YAEjEtJ>cqvcVh(6!{9O@9oe;GN-y;jl2s^dZz z(~;|hMUN|u?gv6pf>KZd-$moei)HFcDvEzW`O)lCjs?2n39Jh2Df$xTvOCZ))Sus2 zQBad2w!d>}hdg5_Pm?Gap%93eqBG}O$;c8U%fq<(=@H$e@IaVPNV$_NA!`46Q!CPz z8~I93+en8eFZ8Qhex2O9dX;;8*akXy2q^^94y1{B=!3| z1ViW0$BA>ZQs8eqsxv)Ou##H8QMDny&BF`?pt<{nrcnKQiI6G1(L z1f=dAYw^n0)Q0rQzAw)tw~ipn<3UsTqN(0o9qC6iSwNGZ-cxR5Yj-#a4@RUbDV)jjl#}SjKFIFi6584GMp;`&g`Qr zz90N|{9HK)4FgEMffaMEtJls|%X{Fz6gG!rJ#;E*1nT}kWcl$yZM3BLD7YhTrV-S zE4d*<|73>Z-?{-Ujqc`n?$)UWpJc+P-%+T&2hCKHQ7lpWCw;lZ2Pcswc$ccgOL=i| zkK~3Ws)5=lLdeLwb3G~AYb{N#QC9Nh3i{Xq`=$8|$t-?qEp3!HY`-vc>c$~l*MpgU zX1k!nkyB9VT`YZIag*Slz`=oJI^No(>iXTAT~EI@(q7zrzz{wrJj7xpGXdo5T@;Y! z$lz|P+{tKiTX^OF{u~F>@g;qdkC2wMBq5QD321=k+dleDOIl^v|+h?vY{v zsYcH3C?w>pcUBlwoQ~A~_cZrtm9`l(n%5N#i#2CI@dEF;2u_<^^`$myyHSXuQcffr zDl*(^D0<}QDywn1y@m4m$`+({KnN=pN$c8U@vq~oUv7uomaqwMhEK;RIiyrBEbgUT zHV>qDd5)TE1((+@nib>G`Bb#q-a``3iR9X$-|uaeb| zDVNwaagzU#1Bw)WeN^eORkiid+Li$tJ}EVKd2I zP^)@K_HNB}^ny?eR2n%X7rG1R#&#^1IwV|uS>ktIMB7RyUSconx^|F9N`@M|xgeV>pZZCT3zxVii9Jp;B?`gU)mGD?ZO zTh({)GG*HNytL@G%lqH2PJ0>H|g{xEV@vQ$)_HfJP z7_R&XWkbVc)hD$1qO_Cya(%3^&yqzPBO$X=!ai@dLw_<#c4p3#|oeQ`|}|X zx9sm2t%!XzMohVGBN#z7g#)X7hk^T9E<`IVKRO0{+7FL;GMGLXwOoXH*i0Ga}ZC z!-F#-5gue|Bf4j>&{kQ&f;Nc)))mt~fzqV#POfFky@o2++SRi^ePR()_&k#>n-x@2 z0~zf`%If!T$08dAjc_7&3Pt*@+8VXD6Yk#8Vut8}ok)WT{ZKG#BP4OO;g zEB)l0ul4_K7Cn{woBmcTj!6T&-Q3xkV?cdih@qm0Zlj8DjT>~rXjp{}X9v%6DuNw# zVI~}*+FmuSu^a`)CfiwKwPVU2BGCu8WDY_7_PZLB7Ld$AvP`W%V_urRJxjGGAJg@; z3_JWyc9u8aHy)sOQ=4SR2h!8m^x}^C7&~dfOx~5x{YA3nQu)>)miw6o^P%S4iV-bMtLiedGXr#RlFrKy(XIqB0enl*vCU4SJ$iH zzbdfpte$w+$O|T3i3-bM%~QIjKL23j)xVUB$Fs}H205+jOch>W8Nx#-PrCOTO%pQE zWAc|vp%H1qLmwBRDoKs^Oiyte_>`_Aot4=uvvyspZDjjys3dV>5>D>tKd#*Q$!3;~ zdq1e-?(;5eL1-^~>tVxNBsw?{tRz{K8WKqZs?S?388nCE)2x&7Fl1B`DJdk{497R; zPR?JKBSD|<2lLu1J^$@TTML^~W_9>11IGs$3$2pE*G(b=am`{Gd$=ULns?YhDz@>r zR!(%r(lEl^aSfN6{NH82Sa{d)a-(PuOCbnMOhXSf`6W3B|LnlN*5aRrE=~0v`4S3C z8BVT*8gr2`z!Iz1mFakmwto4uKQy$ee=kGIXB@`hTf)I`W%U3%es}*vejO3}_tVs% zU(3hcC#8sCX~JaJo1hJX_Z!%s*}O12Em&GJ6G6(cN zArcE`neVG}Rx_T8m&EPgyAXqtZeP%%f(b`7a3Pj20E@nk8EG5~4>PZ~*6=Q8BQGjR2DQXNMC_26=-CI^dv7L`V89nUdQp|U%lcT!;5m^o zBu+S-edKT(3-azV@*W{Wn!S#N2FC;v+TvXiU*O_*eOyl&8OP+N|6C&}Ntj^r7I|PF zo)JjTtJ8}Du7KdKJt%}4*I9aAPA9#Vn2|tD4rN#S8a+w2Q+wsammz@>81jIB{u6s< zd1>}YO3F*a8i3{h%Y7t*-fH1}YPy`I4w&Gi52(2!KR))4oxO68A7jf5?40|nQ1!^1 z6*);}`tFcEk^KS?2PAk(#O`w{{_E=qmKOu<5;HN9TykKuCgJB2Prtu+(KCnW;DBpV z)1V^V*RJ@GMNX~{x0_iNaTk@;t|QEr*((CgEkAPBuYBbQk~MVAXWBff|JLwj5O4>6 zw?|gK76I5~!Ee3mb-06j{kmMwN!?3`$unXg3e7P!+%FGe7|CY~U z^@(SrR~D(6W0ld=RfZh_Rl7VQH<(Q`2}U7MS2-KrCVWUGP}hP7%1ysu{U?RIq#^;0 zhox;Y?*L4gJ3P0g{VRHa2)BEHqRQje5W&?v3$F}ziOQtZ)-c=tUH#hwb>0oMbgGXk zELcuql5Op>MW51CIx4+8I6=IIkVXAE_X)16asaH7i+K4sg0F;izRH&lY;9@3{Lbj9 z@bQDhldED?m8`r!T@o8>u}Zo1?jon607LaT7Ifj{GViCXhh0J#5YTt^2r=v`cbz^SN23q{!T|SvgjS-k>Qa#Q<~?Xkw(}*HKU7)5I`(Ry&?H1u0r$&KEk5s*+PrRt50^KQJXg<(R?KYowXB)+_D zt2#PNDxW3k^7N{?`XL0aNytm7U6!Te3y)S(ntK&S-OgnN2w75LB2jg2zpz!1{mfjc zUo@;g2|NIUhHL)h0T`3jbV(*pvjpeJto_r6u4NPMWOYj%Qr6ax*m^rbA$lz6A7*BK z=pQoTqfL3+)3>uY{_nC|qIp#>6dHtI0mp_410iEB$rd+_$Zjw20hxtxn_C zR1+i>Nx}@H^eRs*sCi;z3O!;@34h%$s%ET-^ZS#>%8r;eepjvKJCSbR_*1K{KGB9f zFb*xHZpp@MzD;&VqI0E)UIEh{SrIw5J~Y>2z`mXs_Dyqg!eY?TE_B^8TWsODL&a5J z-ZWztmVVL~?mtJ}qJ=KVKrH1wjwc7)kpd2MBc4>ly)2VEWsiafdX4h*-)CpO_A*@d z$V$QpMm{z^Jx;|*{cMRTm$qGY9K)9Ou+iD~7CW={77d&4`G@!vyEfiP0T2*TomR+% zh#Z}c4qKDII-2!7Ec<4b)e=3WU;A-+C2MH5@$C>({(LQma?G;U^XP}J{{V*O#X3uR zDlA+0pD1qCNvvvMITJK{QmoQk`sc>;D+g*Ioqw1jfDT3gI+O)7A^=!v;{^x=JSU&* zm^5nrVuI}2XWoI!wcpJPEjg+#BcidX=K<3(#`Nt!YV$uddzX`+jkUrt>Uw#r>eEMV z$f0*b~Ar92HGDe@(!qGyrj(!zKpqIDm(*y9}79BqtZf0y*Ff z0^^StQ9WJ>GlE=*+^vh}Kv+ZrDfMH>mofrUe*7=G0@Nr^B1Tft_Lco|XT7O)=Won0 zoMM%^gB(@KD-ut$b94DW=Wz&FTdgpBEu=%qaskaKN9y0XMLPYhJtkoHoZ^Dt{N!)+J{g z#D1-`0!NVmEdh`@y zD{8!k*VrY_0P8ALa0f|qayffN#XLT1Yq!nd;_=LVp*OCp{P&0`pmQk&mqXhXgUS$z zcKZ!GKr^BU0rItV`L0Ezd{}z&-R~h`*N#HFyD5LjTXAv-(=^6d*$hP>nFZ?x{o^7!X{2yn zG${;9xk0!w1@@?6uF+A6E^eycP*z!(d2<$zCyHgW*`3A1%JpLOd@H9bOlVv4KwEdg zo08V#;4%jbN>2pPR2c5SGKVE}T{YqlCj{a85>|i57kF1@U{NQbw^FC}ZhNOxWf&2R z8@S$_J{}8#9m!z=!da6r!G@&)t;F~@#9Z60{Mq}SGd5O9p}LrQRR)4x7B=J78uDtx zC_LV5&eC!^HKi7{o1lUdq%{9As4#%X{Ka_&9cADN<-pA^F%|u_^U6u+UDG=&1n=LX zIkBmqwII;vXXG&uhwMF=y5wCf@o@^B3wWAK6WAtkp!dyJTTRQrG`2nG57 zbF{7>L5cBF`>Ao4Y+<3)B&o{oO5wdfycMrixVS&;+u>PPU@gm-c7Lm{;g9Lj@(a&ovzdlVjafo=v8H&x{cZB35 zE*(O?`T->iUMj#SbMPQot)gekE-U50NK)hfxj7ze-C7fIa z6i5isNR!MV#~uJKUqC`X%r%$WP@)+EPdJwdXg}WHIKysy7aVmlZMmoy?07 zC_N-4hJDrfbMG_1`Ny;hJF{(LvWMpQ5zNntTp&(BGjx{qQE>^@G59%|ami%o%8FQv zC81dTf%AdSYD-LEEEjR%VRnxyyD(aQc*@8Y)Y>t#BetDfiRERUleY7~aCiuL)h4nF z`?s<3+of;Y=%8Z93=k?<0E;3y){E#PElU*g#qKwRg9nzkhsBQuxRiC0gF9KtYG=%O z0sknMhG58|5WjZG=cl39In2p55tJFx&%qS|PAs}i`|d(jDV|hg%c7#;Hp*Id8qsGp zQ%msbBAsx%Hp?5|4^-|i;&Te{BsT(imc9n&k~!jsoHa({EI&|odEX{PE64Y|wI?HlEiwMa1#^msAC`&m3GV&CygwX0!~f%uz>MHsPw9>^#9y;H zZs^NGsYNDzk0R?pDrayAJETKA_lu@$U|4EwzaqXey96;zF6f^d5uzHF(jjDh$J;_PLIUvJuz<@|jePwQK;) zxCIL|`t`YzB;gG^HI7r<0z z>J+PdFGz$!M(6a$Wf(&X(zXW-frxSB`YA`{IZ4o6C6IZ^!nK(Mv3xzg>oz;Fp+w#F ziUwdp^-M$P#(ocXpas3@<{?fm>4}j8YJwj?T5Dot*Iq zwq{LcVa1Bc`b+q0u+7soj1U%#0k>Ns`*#W!T`Xpo+)w~f#OS~OE&y@=urCC#@*=Ko zjEx?t-Nm8k>qUWra*4{R;u@JiS1gWcJR;x5p(lbFfl82+KQ=anfxE_Mb|z#h&Tp1! zhH=Z8;wJafmOsV5GqxcnW8O9n2BhXcyuM2&SO!M*F`P{74wSK+-w;=f1xGJWneRQyp#_n;}G0TR>Cc9i_tD0hbHId?kqkm?*h!#gK-!wC* zw~C2PPBvVdiHxZE=-TGA3P(JYvyVXCqUPB@>FUDF_pX;ULsgeMel=cj zpPs0IcRsayWHkWU)aX(u$^8g9GeSKuk<%dNKQ{>F02gc$<4m`{7{fpMI-U^!syL<- zw@qHzfLc0K3lqwMh59yUckA{M8T-cvmtffP3ggN2zV3R(bvqs*7M;O7mN3DL(OVN2 z7cY+N&dfotoz7MQ4QGW243_}(vXwVoZ@aUiUT@*lUaH-dOIhBR7g|Ri*!z*11Eo=> z;vf%eQ<~+a)0ZU^VmX_4K30DT0)la z^n1F+W{deA{W0^eBmjkp729e|8NhVRy}AIr)`=D!Jf3v;E2^igX=)y*IcTOYDIz`& z8_z9_#^slYlaa7TNU{IHR-PqAhWn^T8M3Hl5u%^a%QEcvH{>64Uf+4KC6E-KFzrqQ z29y<+qk=xy_I5+_+#;>jmd#hTbY>2!j93c6!)yJ?p;)aFsF&*M^$rWF-w3;y5jfUM z$-LkQlCkVPXw7mqWVbE=)?lg=KorBIcIT6OScBn_fh8*VkRKNPVtR%jMlrTO0^2OL zL0xd<0^)4-*@9%`9DqM9MMSMkvXl1f#^)aV-qjpf3usCxpr^NF{ValYA$UPuUeTn^ zOHsCqni=k>o3>(3hxq+NdZe|12&(;GyQ5(M$>4vp0Lty5hAhm$U1F;7z>y=!NhI$M zZxg{-h@h`1u6`FA*{d`FBej-M5KWenZICgS~(2J5J znF>wk*cn11qm^!nsGx53z>LJwN=si8uPpzeVw@|3oHg42%aUEQ9U-bG2S+cua`iPCZu;$w$w1Bss#wA9c+AEJivm z**0X{=xl6x6=b&hycdBHN>tJ4=*dpH{MnzJ^iTtPi(YA=NEvwoe4DX*x*qoc(sLe= zYd0XJf?mo%j&(uq#P#b}1F{9aq~gl!WqYGnf_&9rYFPUpnNz)TY}Smk26lSY#nU+{ zbu=DiiGj25!uLm4!lv~asNlDX1sqUC(D8~gC%1;RX3K#xEfz_XwR_axQs{&H zUD5lR8&n*m0p$SUp(^rfc?+Jej{}L1_v7spe!yaL6skiE-4@@Nh--}ZF`>DB+nwg? zoYh!;^wl@IN!ps)rP`crL~F1TzJo_+5d2pRqu!v*H<_4%lfYa9qTFl{JNTi(U7k_& zZfppno!vX2$eBWBtG|WZ&xzB9MkG&B;W;XJl9QOI$b9td;`;bIvyGf~?Y}j-r3cWU zN?M*2p;lfb+IXZW%79XBJNE?-a){A9=6IU@b~-}>khyBz36c%r?{Slz_zVYWN5_!N zstsj;o+^N$P&XMM{JNl(RI@%%};9u8}_2UUB=ZVn^i0> z=brqczW#ghz(OulgNsz4${~_X4oex?J;D1|pnJo1`5biL`9h}a%%RC1e6 zIwZMzoc_O~i``S8(C(h8GPaOc0R&IC$*ZgF=uLK2D2lZdpSJBv@GFVNqU@@+*p~|% z2c~je`35&S3DZnI$^ERO{4`>`f32+a}Z3u4bVWK7q zk`Ev`x*5&3_ado!I#m9#@EoK1s~tCi#%G)XT4!VZ$08^p_`we2C9#fCka>HTxMI}d zF!#?Qsn8~o%Mh`Ja=ZjficdnNH06)8EuA~{ySr{|AL_Mzo7)oweo#YBpNd<01@)R| zjWgxfG2nB)v($@=(!6Fk5IS}AAFbyjNS`RHr(%&NP#n$ibm|p32xvFvQIpJS@fO|U zn}U*SVF!D{PyIyA>xs@2eussk!S@frV=0?5(W{dz+I*r!tP58x-hB+B(&)CxVjwf`D^;<7HbIN_%44&fwfDIh*u?z&X%DANN9E6nznVTP60%&8 z)6Cifd8B*kcNE0$)Ue!Hk(hOhNza4aL-k9W3*K2Vf^ICn=bx-FqOuXkHjpv_dXZO2 z!Dl9|++wh1b~Yu7b}_Dd`|3U>j_#(Fm7MKNo{9}sZ$oB;FESjR-7X6i1d7asK$pzBBU=zw`x+#g{IJ{x73GAd-tl#bt|`CnRj1=lroen@Rxl34 zM{*riCufS8F=Z5aGi5_EDA8#2OE*1#*VOngv!KK-Qh3%>TNc&YZD|2ljoR$ zRa}|W$66Sb&cR4}*&|^p@ljP#uUW}1A`uV4nEirI^A{E?Mhve$JAK`<-e5GR(=74I zMUIc(YrowJU+mr$QJIg{Q9a5v6o=}9TgOfcXE zCgt`O1-_>N1J)47OQH2oRbRcoYx@38AMa+j=RQ;%-YQU{CwWpdU{!bXRVf(SMcYd; z?;zl_NY%|f9=ETRJ?V7rwu*G$qZ4Mq+X_a5H+lWBTlv5YJ*KaJAnJ2*7v(uY(^&To zRNAw}Mv~KRH&{g zu=+_lX7*%V>9-~9_2Ungv2oUZd%5AZ9^uw25)W~rgPLf`$YxliP_&&h-Zl(MdP32F zq1qre*_SD_+S;?TY0n?sloisMsP{Dm`lT40j2u-n3tCHWi&~W3oZ(vTI(y9VpzK(w*q1}r}t_5G?@WEHe5V*EZf27Mb%xGE~0=V z%Tta+ANmEz3?>?uP2W~)U%*DhV4C==3i=T3y>23Q7`#tl=r58lNa3xh9hU3;&tQ|&|PF6~PEg5UC zXaiTz8!KXHs{jT5t2@J;%VQO7TNuRr>!(hW^o1g7+HW^U3R%lV0@vzE#ljY3>@IaV ziV(c>-eYu;gPXh43Oo_X#3`yX4r#;*516UgQCTjkguIny7vbxT*qyGDQ)0`xUrTt_ z5EvF{{!8LD==oM3d3n@G4PTSQjDv?TX|uHDK}_K$;VBkqcbkm$U5@8xqsqYC1|{Xq zvuue72?@Q+_<*%6KUFM&G{s6e?4)X`f*q^#qpBrjIVZg5_x6}N)z4t4-}| z9Bb3Nw{_>ci!s!jGGRrD%lm-g{{-2y&eW1AxU&Q{6lA#$eLfPNCJrL5SKCQwzvgHPPKg> zc%v?yn%Y7-xMp2aaM_zDKm1i|~XbAumCiDIi>m>G@Gn)+jzKQ{>9J*lKkiztjYi;xTs z!HQ}mrb6rEVl-P5*1QjLxktaZ7Ct%1`M0=v2^m5akr*G>cJx?t?rBNb%|Xv1;Cg@^gL3l(Cpm^5$W}Fbs)v$f+hBm5~@iEqX)F{E}bTq zZMO${aC(k4n|xoOr0lZ;S`%NtaWDrmnX_ZO_=3*90Xs#HY)69&eEJNK+AYts`vND8zXsOYmlD zDElvFXZv5A8NAn$JXm@p3Z=x+%hHq45o7f0*!v&QqXkvkzqg4t!V-HeK>OtV%*RIJ z?;-#ktg;s7$G>3&<<}8>b|ZqdvwW*Ymh-_r`f@z2IvV$qGw*2d(DYXk^0lyfnq3tb zhFhQqltZFbAFPt(gaZqg^0DrY;Cax$a@nlJPqF5QC$VeE~K)X);I zvf!;}k=k&YAvPsMahtj0^_kQs=6Jhh%Dh4|#eDf`>7=)%8Lfm&m&` zk?Z;E$TGx~2vFzC!omaxvbxI*LKqwas#rY?Vpfgp?a+-7={zf2ts0bgcnBzw2}Dh5 z$56WB0J|lzwV)@R<{GeD`n9mJlUUFp$S< z1xOmVA9ktONnpQp-NL*we7yYeAwqMS-o0115ckzA6qL$9GJPKdO2>co9=q`blI}I= zxg-<9l?s-0`5A*WUnFAVkmYAGWmVi$T#=L4X5~q?DTV)U`20kVx|-|6BT>0`(LVReG%nYNO1) z66hm(ZY_;V9zq2B???o@d%k=A=9&W}o}z$!VHo?XqQ(QR3(F;z=_O%GW;A+RX~sg0 zV9c)%q5InEGk_47lD4!}odzaP)w7SI1E-uMu|mSkKh$Iim7v;V`8-d3x~6I0@5CFt zDSzWusz~wTRoPW^re^Ie=WX(X7iK2kcSao>XQ0TbJIA~wvLZc+ap@IDC#%GYNE*_k z>d|zSTwng#2pBO%)U5I5*UlY1;u)-54Jj}Y+I@%9*2ZqwF~Uh%5GUcs(^>nTQkH#3 zcUXGF2WJ527cbNIyi&1Xr#&TC&VI{p#-fCP1}6nRIL&II1gu+?r~u>P{J$=WW4PzN z!c?k2?wbBmt?j*5IlI}0%A2)Ujeu$XNL*1by;s;|?7YWdG$8+OZ7jIdr{Vv`w-+EnPHESS1O9B{2C z=OOR*$7>rzL2{839U_zvx*nASwW@1n`n*csliL~dZGUK@cj=LOaPiJMy4F`!EOVCi z*-DSXL7Pvu=&p-lF%^H^X_`Al3c~^<;er9PibFdC@=M(xmF^dH&0UeOkOCr7qAR1k zKWj!%yQ8Z0rq1+cT=V7-lAPlnX3V{5dNVO34hy*g%ka4R$YX5vIpm~~2nTOq?~8%^ zJ;JQrZYJ~AQI(|Ck7AV$Vlu}tDjUPFpPVm9+_|>S7%(N2VgonOtmfzV4=l$E?D)2= zjrhk2p7=NWx=x>Uwm5yD?=&|@9A#f|EfpZzlV$loGG?^3I|HK}g0D*bW2xAaVGBM` zSyn3IxU|C0G-A&`A{_PW4_~3}b1c973x7TR`Hm133DV)*n5y21Br+#5909eJ1Yn+=v|mVl%tE{cA>6Dkrr<|a_tli^^9 z!ApRdzOpALIr0K_HnEkA+2F{ZhCf?uMv*vZ&SHdsK0te>?CtEP`JZe&qu-*crkTvv zaS(YuProXZmk6fCDM(`npVui7b(c@~We;v$;AHhDPxzTDd{+N&NoHsj<@)xy{HXdu z>c^OZ`qUSC_q&t#)v&}AtPr=F+D5G|170H`{cP~eE(J%Pt<$~-N*YZZJD8JD z;)I<&HFddq$0E|q2+q0~3X^amn7 z*;F@`Zy95|avwzwX~ob3lhw-Xkd+)IPdAPv+$eWJ?cu8x*GZUb55BveA5zCt%Py6DRgKH0Wy?_}) z`BFC6s_d29IT8bbMA{RGs>;U9W!=K8nRR#>E?$4CRO`mZh>|=2&hUzrV9X;-zbA2i z>6&lV1sOck_~B$oOdU^WssXCGah#vp`bso#_B)5O#vf~!JY^&e%@nd`#+1lD2bQ$G0QXz%A>FNn3T~XmCz&V34TDATn z^3+F*Fc2izL?QA%$*)ZMSM{q@KG)P;dGuY)Iim{dRBZ?UC*U_7mT(h7J}MO*S;uRS zmq8qd8*T1g`~YlYd3?F=S~+Dhd5UO=ddV3zM2kp6Tc>~y06~ib5jrsC!mYqx$z2rn z)j@K7f{v%LRQ3G_Dm@{`Y+g6~jQN+vV$=cnL3p#&NrC1sUktqRT0cIUswfKWcU~75 zlg=KrTqytGW^GhIRO{lgi;@6NB6zxkCE`;o>yZe}rP<>ab5{NyqDNg8F}NA=Il?AJ zRTf8v(5=UrYusGvs^dOtCmf|w;K>j3ijIT43q2-p&iA7#5@W@^=I|w*JsjGKu4l8>j=1b|c9qYjuaXOJSM;Af-i)p@KM=1j)Q_bNh8dY;ae(DU@|O>{ zp+B`x`m93&k?`yR+`!pW7d9tlA%+tI328fM8Pp zD9Di{8Om4wlx9j>1&OS|e*wmXVS9b$fn)DqE#d>h)7dM`da;^!_Y#i?Z!{w?_sv^A zIqhi6_zE`mY+#~6GLNyw#e<8co|k1{Quk#&gS4|@nnq0|3*nf7&TcI*^E+ketJCm; z{hJGAQd2`2u3ubt&)IksggZd3dHT2MQ-tnmVL&;C|H|ts3(dW7BNK2^Q{hKNeA3S! zR5B@9rsjeQK!Lq9yq$or7bA`5aW<{09UNbHI$>;KLA}4_?-C_|DuwH){JsCJr{1~7 z;`=vDop>>ZCEQ#udNGtiv`b4|g;WW~$t8~?cU>JNK~k+vpv|6wj0ESG-99qrxoN`P z&P8=ewp59wFpPq6k7_@h%A?itW(tUhRycqUhN*I$j_XuRG=9;~Jl)W=7%)VTh& ztv!ZNC=*?~k&?}fW&c29=kH|RJPN$FFSbYdko=Z<^SB_cX#*Rbo6|`-j(~XzR-q&j z{7mcb3oNk5Sw{Tt8wK-;kLX{!K9K!+UvuS&gx$p!p=6D_)^}GX0~80=zYRHE+AI7C&HI)Kda;90X@{FAh4gS|EyV~j< zFQrJ{>8>YLDw3H)LPJ?gOq%97119if$NfpW4Da3LMfcU=sq>TcD*pkK8qmeL8J)~C zKiRG7%N*R|^5~4}dYrcTu|V3S_}L*(4|{H_pm?j^41zPzezHcyV?_{s|C8wGAEvvQ z}GMA7=>uZi+K-)WZ3wMsa_&Q3`A8Ei}HQ z60bdAu$fZqLzx8P)dsX5;rsDC#hU!C0d`SC`esKFV)<d zMM*a6m?IZ*Qd`B#fhECk&5?jeq)0Mm1eh3h(_GB{;p8az#DOpCrb7O-LbZ+9+Gtps zM=6jU96*ZgF${4v>78L3P*OD;!9kp?|EPD^ipREOjA?D}BmtS{!U$19X{4UP;J{>X zowLB)4}Zd&W7Bim*s<$}hZ`71_9(R(nv3kLHixR|0Zh=}Q|D&7`K$l> zsO)nxMGGZt?!OUru|(-aZ%9XllDG$8XVlPEZqqH@|3TV$$vJ=uwtIE_ zkwouKyq;8PP3kr&e##KK5UUkUz+zAuEVqO0@CZ!3Cdx6u7+5*_14@`l{on1{b^SNOlG`?K+mJd9VFUWNx>9Oc|J7aN&EUbn(Ag z0M8Tgh1j;<(nN+_h9L7!0gDrCN*AvOZ;Ca?wx~>dstl6gn^F^%5%_GXRg`9h-typ1 zt;y!`N~4}TSx$kh6N((l%T*&c7y*_^hZsP4T3>i`mD+Q=e9(lguqMQJA`707!!OP9 z#zBO&Finx<8R0k87h2}*KoD#jcxiEi-lV-E7n<<*JDFDLyBy$&xCHdL9`qwl3=09P$5N)0$#zgjj;zq(vo)miwB$p+UZNH#HNLVs4 z10(uzjYg_~EqZs(b8VodU_O!6%Z0Y(M{Yg}xk6b{%$inbiD;oy+pOKKA#nONVH%u5 znnlUpWn|(-DWl>3Tz|r!d{xWLS#1j{l<$r?wa;1gyT{wkU>-S4LV#6{B)VW z=nk2gH?IdB&~A1oqURIg#n!y(=Oa4cG3l}FRq0RL7l!|P<-z-| zf5D=?>+Y4wVwp^hU0&wi=BjQoN_$&%ksYRyEOHCfWo{&HLxko4O;K~AGM`D&(*o*+ z1D0zZzylxN-nv^1kfhY>E$vix=qeou2YEdSQTlm3q+l^Lzh=XU^O?_wIf6UVE)|egAM}++9hx zyxGBd8VB=3BU9i>8R1GaG2_7Rf1(T8ppE|xjMC#NX&Yqz^~;h>OeFLeyeh6!O-C-6 z(r6Q~N(Q35i|vXLUa9xPy_JLC7M|(jE2Jb|q|$P)iq&Bre10~5HOzCmGT<0;`SxvR zjBf^o5hPB__7fAG4-sn+K|d8FYiytZ$h@;6Xkd}$HCIdCf^y1;<)!;Z9Fn#YS8O2s zlb7>R-gi{?ujqfidOwobX^tx`St5{HRin{&*gp%-RpdkQ0*VOIWgRF~Wx&mf_37?{ z<`ZriAPwBv5?s`2Wy~BZgu0Bw83D*Z91O|2yO!TxF$!-!#NE11`=^Cp+f?<^yLTnB z^Mh23EEu*9fICW^~9|oexD(9`AEpnc2O^vhiOG@8tEs3v(GQfPuer2}L zv~`tu!lk)0S(IqmUQ3bh+X!zUL{|$#III2Nnhg)4rjRsCwPO%YkbiVn)nI|pGkFE zQNa`i!IuXA(b)61EebtTdG7gEh=jj-x0VdAw|6NLB6>YVyoqg-9u9C;`{~WQsC{pO z`}|kHM6GDBl>vBo9bAaVBvi%^VClWw*3ExIzd@^-A=M45sCv=vx2LC>wN=%0>nOo= z_EOX3c=+DQ6zGM_zP~lgv*qLl2w0Ev8Q+QEz9C*^Ry7X6zQoY+hZ#=PX{S$e+3S?PJVlwV0d0SqMAg`?|z{n1UOhijYM~=G|1v|e zNTBhlHf-7S+URgYsqB*z?cm~#W8&NgQa--f+(5DU((~};Q_p6=O(CNjV=nsiXW{I{ zzllHzcN*pN&*rV~k^l7@91u+~;xPY}xy-hynZK$M{q$CQZ%#K;Re*`N^pAVJj8ScF zvs(J1%>!-5jEwdK`KcFVnDD0-@WUq+Z7)$fM!tzNCa0vlfq#R}XL{)<}2Sx@JGK=bzkmf-v zG|HV!9q*o9Dpum%%kVFm91AhrWD*7mmIo~Tw#*_3WQz+8xDh_8m=B;wORDZsal1hV z_zJ(CcRyXRVCF0L3_L9?jUO@@H&|W^oH-2l_|6bofa|@` zJiIghgx!G`3a-w0&w~>S#+8{GEw9w+ek@ADtYg%@L@0T(txh`vN~G(2)PTw997++32~|cr{>!9p8Q+va3B{(dp4lk}*5fv`rSc9xu(+ z)6p{<#{~YXULt@CS;xe4O-lgTM~M=~v$cweRP--WI5m9w!sz7}1~q!O3;sO)K_7U?#OF)@Db&FQ0KQ~a zY`iYviX&LnKggdimTqsinRLm~0Zxuv4%mNjS+`hlNUs<=iP@Z;8gDhe9VI2MZ&24e zV`AT^G^;%O50kJ8Hi*DW&+UehD*rT1!iJ!9r@}%A%Pk7|%B5L9Ts;AK9hXcmrLm&* zn<_rojWjXq<>jjeBedlBZ4EN1xOt)LdbF`GMDyOaG+ev^H4%UU@XMrpB<*s@V19`d zMYWlziZ%`i-(=xC+d6u=b)O9=)shH$^_}FBgQ2f6an=#&U}X_A!2vnAgt-yFBFk@t zQ#SE6r3-h`2Kh#t)YI=%Sb>8R5S!!%hOK==0r9!>Bynq(^V>V#g}(_5K;0H1q6o0kLEjXGNQD@QQA6;yyQm3nw@b%5DuHcg7^8WhgSaZQ|1W}>ykTC*nC?K)RH#`R8Ja>U zdpOtx2>^$q4X)`u?=yVf8J)y`=MS*u?YdD2blZtpf9J=snP7&UrMbE(ky5%H1W^nl zvnEg=4sLfIAa^Apf`E!V!D3YG)%s=aw%Csv2iC^=aU zyJI9iKAqleG((8H??W(UvrDCNP^ouRk67io05^CiJ8o2;7IAWAY62n7_W>< zruE617~%ob8J_tgRQ5h#C=q`8Oq*_3dZqK#3U4YBBcAQT#}#09CvCC?*v_Oh(Nsz! zE(|)qShn6YJ04#|Ws?>RzaNPQPN;9{ynL1!1}*@49=`B5d0SfPI)$}WzYApe{M3`j zXIqEkXa@xPQ z(gumW@zTH!xWQsKXY6jvi|q`(_g)%#p`qGmynOFfffh7o`-9|sDUsh+K8pEgDpuwV zm-W#bx&4FqwPjCZLY{?lT)_!kL;&Ws-ik`*)Jm4=<)WDj{^Nq7`=7xY z9p(ik2(s7APy40Jqa8jbJiCT3sDl`qXt^9l}AHD|49 zFmw--+|-J&n_@g6Rs5+om9Qeh_tim#uv<<)nq2fQx+5cyXeQ7Rs2G(Lh-%^RYxa4J zwWhrg{Oe%Y8T0_VJIvZ2cTWusEl_*-(%!9+Zs!x%nV`e4^jdT6S9AoRw|0<5N4$W` z(x-}`M?LQ1<1($5h3sGX=={VCwVc}ZS47KG3}tR`{Jz0j03X^YQUQbw_8Oc~iy=#_ z>femzi+}NWjuBS>mIk|cXed1cz^D~KL`YTxRP8F6-)3t|z24q)4IT=}vVN?j)Ed(V zbjDgvn5isqU+Q!jE#HIU10?ov!Jt%c-km?;G>3zs(~T%Y{ukjX(YV5H9s45C zbid*+985Bx3bq9&k8o|U*ByxdIaJUMX}+NEuow}_tfP?QKMTWjv%W89H!In}9C0RY z{nA7ZvS!-#sz+~D2*UyYY_dGmHmKfiaqhc2@Jop<+Vl%Np~{U07*v!FD(;49E$8o( z+iDf7K^mL}LZdRD9U%(e<&8T2>TGb!c&Bi}`#i>ry#e`}VkvXO%g%RJarZiC-AIbL z=Me-M7*HSAe?0X|aKvk`$V41YRvL9Mj2D>Axdgv`_=3xN)XgUgMCjpv5gPPt;ZNDQ zlSd0CpfuPF`q+kQh!Vis@Pi47J}Ce#&a;#|rQ24>s)#e;sk}Po6%^R)}EG!jGU7|-^-y~-1YW`nc5jy5ajor6$dj=BRG}X2;z_HyZkMwZ8mXF z&>WQ6^R7o^WQ`a&$<6GpH*7=aOr^GL1KoyV^nJXb&>>@dg<8b~{#5129-cYP$dMm3 zv&bO-@x8{YY5YaTuPA|#%Y9s!KUk!+0UerU5w!WA$4ysO{hzR2 zQx>K7u|0o8ymsLmf7p6LxC3#jZwu9_(}A=F0V6hdf5Xcbz06`Rcc$|?5Q&nfSn|wE zy0yYF@BE6mrSw{}?ZXHECP{Ip%69?Ji+?zyvg=~b$Ei#D=SmksptGjDhX4JvC@bV& z1L|}ox7{Z3KQ7h4;>uuzurRY0wl|F&C@rrOSo#)AzA#wW5Xi)6E zrG_2h`5x2kJMfV256bb1<*P;gMI(@>{dO zg({e$TD63X;x#~a{CC(Oj8>Es+RHP_t4AO_cKB<(+)%{Wb!kZT_&)KX=r;rn_%{#P z%gOksikAjb7_6y_(J2^40IVUtycZf%({pDi$nCYOJF+`JtJ6*OnKhs@jD4ab7zVUE?3&`D85unTdXqKZ*22sq18$EF zA0OCOe0OP{CT2H&2t{`{Nno8${5+|GHzc&P2L<=$qo^Qvs~<~&`_#Mk;7^#rX3Z)7 za}yUX>wsh#bc+TfqW#z;m)!Diy?lLyq=T)lzL@$w_ZSK`k`o8QueCLg@SL++cYnPW z?rRYYcg59TeogllKWgM)t&d`Td|CbLVmvpQc{NBMAalqlz|L)RK?=v?nLLaVMcEzmN>PLT{>)6 zWDk!Ff(X)K0b)&%m`=CBlhY49)v5+gnz~98S0lKqPv1QJ3@EhBR@*BpgQ6+|o_&e^ z3fL?t4^^r8a+7&CM!5lF>h*!2C6<01AEN>JtZkeVti#Gws2ms#T=F*B!JEijGbh*M zW6Pv(>3M^A-8G^@3!0xgY5t%InBM#F^1PWbo#nZlN~`Mi(>`y83=J3G{auMyGPZzK zs8i{yBVsDc;?gYOD`CSXye5EVH1hvoh2VH*&AyXz=?CJh*T0JiIeBH~h4{%dW&HYc zCN7J>EKS$rztM3;A+E?69pk;QUOwRWksfy72EaRGfy+!)AvpLdeN|51o9uaA`)p*; zTTkHb_dTy)_p~@J1Ph%^etTIx{M;uhZ1G2cwv0dcy9qP@}Oj7C@gESZ&fvW-6Jf7PCv4dZke=I$(OGXY2XJ ziJvLwpDqw9)d+%&k@(wR*Jam&Y-zo8(zut#v?&gT1O@CsF9YJ{6|>LCc*u$+d#=ig zo0f!LG;d-i9$gbI5jh0A3BQ_`TWEOuJytmxFEU>#h%TULvk z32fQrWEiwZKj|Q4fCcP+(4e4&CPV1DvJ_g8TWIf(La)kHi>dIVL9KyY6sGh%%A7)p z5ua5DUty5|tWg??59xo4gjgr^NX4nx1HXQABO%{IS>5?%!$6+AO-ch`L>2{P^Nhfh zu?j)XwS}^EjXr_@iV|($7&QRHGOZv+HGn>#;^0Ai&>Okqa~5wl*i0r}?8Gr!Vu#>e@_bPXY<#j>PA@^X^3@_K~FWdEhJbfKrZ%qhAi1mH(6+ zQ+lK4vCWF3@sY%@yE7%o^uR&2V$L$l`8$yhN#}dR9xMNzbghD~fxfi1@VqA#;}Jpt zuebAw&%QId3L`oiDo~l6Ljp3%k60rtlR}#cBHKOc-VUiMZ5-Nw4;f#eZ&Z9|*Dc2ow6*MLIq1 zGF)!Vo^WR2JIyO>np#-l<%C)#Ltob#g^=NVHTEg@c05VNnmrXqCR(Hh!^HO$FhKg|_w zKlM+rLCo8AgYMil28(l%fm%=h`^CM}!%CH_pqe>7ET09(V|E-_dZJ+nS%6y-Jj~Wy zWahQDcJ2j?$cPYhmA(@Qzk34G{i*;MVa&V{wT93_mSAFUZLX$j?t&iJPzQ;R5q7!J z3f1zosrA4FMOGl#wWNFOK*;mQLRc@+8;7;E{O>8(wzOW6B);$51a-!+4R5Lm`X&wO z6U&5L@X&OtHq#OBYGxG2#XvAvpICLP?gz0%cKoM23j2d;AMZD79n7ev$i>@`6$WJF_*kNb52=Ek4UxvcvQ_$8Te!k%H8LxnfP(zfbc3x zj4*x~G40$?(lH=}6=@e)3tvzrkjB%i3ZTwDX*y@!EL7<6Yo*s|a#%e(JvQU@NI_Mv zmY9t_gZ;DO1jo&DybfY?S)bQ=-7y&$d}VEz3k?|e}Wi|l>oZl(N8Rv>#at$^zet5u9KRaPExn(ip2tlJOIDX z$u>Ev;58Vn1(m994uiUeOf6VDuPPi02}p8e)B<*@j=Vj#kUm^1xzC}b)cHq3+!4Kb z(F#r`T4l27p;VlhsY}=!!%OF&|Gh@n)aZxrj{9`D*b)LjfyHDdNJVg_O;;9OXk|; zH)puyp>n*-0ToN*&vCkQ%{+DDGAJbMjrM*;kDdJe6_ZF!62bmZ-G2DM6F8%wNvV&k z_PNlAvn>RUBmg`{!IQjMQ@06a1Z zhaxUVHKMY#zc{qFUMUtq&%apW!bo*BEmfdV2;O2+5HRQbM=O_N9Fh(dG3Ka0uf17a-SA1sKbPGsrX*60Ma@xOXL@j=)o+~n|o$VhfXWyo>?s{tyboTxeL0AG(;HHa$(mj)&JI^(vh@G3Pn%b>WWmBU(HJWTBo^OkfxsI>EDxqwBbh) zD-b~L#!mB;34WBCdyW>X4af|@#oT!nyRK|jSK-m++`DgU$BcXV?g~uJE=Y60 z%F@K4(F;k}G0zG`Z!t#n{yOKQKlLc?pnsxElzZam=cllNZWMi*2B^YWr-D^X4);zb zSJ&9LbbDuXzM}7pgi>qFBw+@sGGL`mi;&XmLpGJMEOi z52_}VnM~C0)>o!TEJ&EVz>cYuet@eLx4KKw**wLnIdI$5T~y8mahDN z?y=3LW^Be)P3~h~cxB#qbmt3vv2&%EB_Ku;l(dR`2u(Iqv;yNvi-in-EUH<1^d_vJ zU%veSOTw(%o_#D z&zeJNZKJ;W zd|D~7!h``E`wDk>7wB(*-4HTk4f(_9R!RVPaz9&aX+&o)&XR}Xl0s0tMvB{Wa^Z7_ zOr=*eH(q*%tS`>9M6?h1Xfh0j_Z1eS$&FrAneW?Jt_VBrxeu%wAObEBcUy&sdmb ze5P6ceQX)VTX@)q%c~OQLEA;%y6G%WBQZPOhp0_%XQg80uYM98^H$%*Bi}4f&9~TT z+dd7lHBg!*o7^5D@^W=?2zi30;rQ+2nLTZI9Fn~-y7 ze&=QUOqq251n+G|2GW%>fQ|DHR-+^PKH=9NXXiG0jD%fomzRIOA7F%PYz_d@Pp=Yk z$lY5b>{77~^i4ChIF=6Ol;LP&bV)YJc=fS5k7)q!x9xN`TwQ!pQROf;5pJY;_dcaU zcH<{tRE=m>!MBa9CnUCuU2exY>GzB?`f1CRc6M&G_~-EfpdRYyNy2@{UKxh`Me-Xy z+&(wjR|=7fuVTXW&FJQPypUS)cm(&ua9QD3%o{&?6y?_&7)~8*wrQ&x0^=^ogK6E1Y!G{LJiG(@>CU{pg`jrrlBhcoc>{&g%1 zQg$&qtuaHX@BL1xGwMp5bdR|OMUrL#(dwM@iXYe+uyu3^@)5D zi^1~OT`1*@;b={C{O79(>D#IHp9@vLAdKj+Tw@6Alr?8=zHBQI7-AaN{kk=Z!E?P! z!uO#=gYYOshArSN?ITgGv1g6H+NbdPH*C|hZ)TNnSB#X6?w`Bh=D1Bz2Ri?G zkPnrThwl6|HPZ-6f3PTgmu7`5ect{9^u?3fAjH|UNl8W{AKg2!Zo@e2e-zFEgRQv?t zp=bhe_f^M#tH(C{MHeHu>|t-NrtjqziY|&mUobAqeT@2DJ;I8czuACyH51kFY%~vZ z=j(@5=wr&m`}WIbwE7@>)Plf_g`2XH)#ZSa>cqD)uf7NY?>UzfiDd;W3uGyhY-fxz zWn8T0-*=wY?LRp(3IUlt6njl7!k-ufjUb)3Ieje!2|Y79oR*tZXJF;k@GtnDykY$I zosrqi!qnqMnKW7^02~c8uCnW7E-tU{&%09;i)mQIqJ~4uZrc@#E^bNIy*vv6MNuFx zSIHh1)u>cCdey6P9gSPz(^(zDen?o~crexK>Lfrx^6Jc@6>!MdiH>Zhg!NYZNnh3B zf75Z*{q@hq#@oORlVgHbi_4)>7yg4Z7A_-5*ty81O2!~){8Qvn3H`;G-y`+~gRYj0 z>e@kn-uf7Rb2o+g%V%%`sJq)C>r(IzTLUnrs0=X*G^eASV7G`M#xpSZfwo1~`D0W#zb*eH9&XR~s%$>b*0yOHhZ4uim^peIDk8$Zg*uJcvHlV;V1VmJ!HUppM_3G> zzQ86>2;<_VCAA*bc%os+WW~UnK;dA})FWW=2cyQ@vHDklkKH?a`cT6OE%-Js7=4one7{ds?hP zeTP8Zol}oMjr)bp!rG*y^P_VPL1S0@D9NUMqeg-Lwvqc9L&7s%kA1*Rz;W5%h#yyC zc@9Lrdw9cIJVF4U5J2P*wbaRsO}=9$8Dsu=<7CHkT0LHvXB41qGmA`p={!I0u4$3t z#c(~s({+)n!=+PD44;sqapoB{$Hs*)EG`9+td~e1EdhbhK+~OF9iAAIda~Td)@58 z=hQHoW}gKj*6?!O|Jp-#P^Nso_{CY&;avnje3&>DRm@`VWZ@u+->=xrWNPMw%?H|@D~KJB0A7KMb`;8JjV9lKXa35EJUk_X(pyYUt`%n%rt_BVPXV zg9MuyvW6C{8sLn0Ej>leO&U~Ey}D>>yPhI^;A8)8$cg6+2V_J|a9W%<@Qe&&zw9yl zc4H(ZLVWlL({gWC*I=Y0?Xrv? z{42@D#P=h$F=Tey9I2dIj{<=9zuX1Uo_@GrzGyG+d!G4Cd3uy;hb75iLAeoXnp4fO zM-j3Z*f85Lt471(-}br_o)7jVx!=Kf7z&3JZ_S^u!rxNMxo7vN8qa4|lcTW)zWI>z zU{eVe1N-)Ju5)!e3oi-y;xb6eVrDP%dB&3XhNRv)MZMOl8RNbG%yC$cmL3owZO9Ks zH1Z(0Dh|EBxA!gut+YDQ@I?3WR(JFAVI%xkP#4~q>ydB1-`ic1txR>e~}6E6SrHWJKv1HRsMjVnRR7kjiINQI%X z;-oua7vEG`;5rZ}I5gBcySNFS(Uhc}I3a7Iev1Y~16s*5&u>(zM+Y|OU55KS`}e)9 z4R8|Tnw`Fm%1=ARII(Mr=V6o(avTJ2ty|Qm?%!Y~OMKQJFC~_!y?4{#ZK$^{NJDA2 zh7by$?sQusiXhdv!aL>g`9Zcsmk+m}|CXEbPQyv8oKTgIcw+Iy7~R>GzcJ(e$dZM# z_{sPr(<)wIaoh6*MC};NK7}|TkIc*z@f&+0PTtaD1t&tAS=$yu44mPZt>)Xv0_o8k zV{B|R3zcz&KXmOEWf&L=wP?#{(>&=i7={VY+H~?)F5dTN%VlwoF4-7{WXnZQ%9e4! zIq6dkmdr>Aiaxlw$MW6gY<@MY;LWddq?B9A+}~+ zj+tW8YtvZX%h*re62B-v$|}zMV~(DwWyF@Q0i`kI11>rs(#3T;o#iTa7;!8@iFXUB zg4frLYBx1Myz6vsc;#ts>sUrp`h-e&|FFv!`KjmpP64=1YH$fi<43jT>ru5CDip3~=K6~JoM`;7fWe;O&4e!P+(v;B=pc<4=gtMsaO!KZtZvZ^PRU#q?o>zh0exLiH6H1XWRpV1YeDv zDj_kNmOwUg4bCt;GC8y?*-$G_+f9we57*eN-~o#RtnAFRh0 z@L{}ET0?;sl5V8MG2=ACNH1TKRx`VO7v5#f$EQ3>=@iD0u>aET^t9|pk~MStA3voD zq}#ohR&hLAU^6_rkqM5(-wgWUo#t$)6;pj|*mamy4FQ?Kyoxe$p3gkjsAwJ*2+tUT zs^Pc7rv%OLQCs+ubf zWnv>MZYN|Zo&!PC2=X!UVD`^5nwNQc!4R%Vd8TNl=chZA!}OnC)$Nl%>iAy4W+ina zzw8oS9CmXD$AEZ;R7as4(r^O7FO7W0Jn65|6}p<8GeFi*gS?89smwB87lA2y-OKFV z$Qt6${u(snT}GE2GHKsftGajLYRpW4mZ9{L(_*i%tkA$ahWJ^}>*=S!#Rg9FTm=Xk zwb6rSxAUTV^jGE{{UEajhmG1RhAYNg^tZpC)I5o|HEcFSZ$S+Mf8FWR_k&|2^sr4+ z-~;di8{i32^=_;t6!wm3_UeOT5q-prft&f{oBv`S4M-MJFGC~#%Xufu^h@l!;h1oPlT4b=^1pCpQuIOVVMnt_Ki#zezGI3htiYfmbfZCX zd7eMEx;-MHQb0m^PsZwY_86N!Zln6T%B4&XpNBFA9cM!fQjJz@0+c_mIG~?^7hsLY zkKG2MPES-0-3`rIsYyA%_6vAezT>>dVz?3o34Joh$0(}ct(M)Z4Ugg>o9k#`azsK- zo5{}yC{UN3aY7Bn%nVbfqSN?hp?4D%a+b9O zpZO#Dr!mB$3p^$Sxcxkp_eb)7dTn6GW*rK1b2o5<9thf)H8Xc(F?GM; z8-^GM+P-58;Co7Yv=W-klPZfx1~l-pgxrG69qG?lfJkCWeFs8uquMmfGS#BS%JX9_C^%AEma)fl&W-#wz~>lg<+wUWoZQcXb7eN@Bizvr^B7E$!yVI^8oIik@39>H{`( zIeo)v6Em32x62F}72rX!AmIluTe+j-wWH=Y^uQSz&n&pWsRnhZFJe4C8d4MUGJYin z&s0jEFzSb_Es;8Wz4pXB)4Ie;{%Z5y9vKOO_`B+IgVEBZ;(t0J$*hroS1WFR+Tkl; zs1<>Q(Su7Iz{@Xz;yUTDx(S<;(x^1n2Le_eE<5`yFtG~i#?m-!JP!T6Dqf2*Q@%yf zimm*GhB)tKXn)e%(ZxBgf^r0q7SgFob_*gM-sTGD$VT4U^}jxFnT~pICK#F`xxJMY z%{jHe|AOyfyKd;^?Tu45To~{e1*|FjKPnRTTZv`h#5-HYO?}DAlgF!;<4^w+_5K3Q zDWR_=O!cv?*=!7-CW^+$iHL(S*xAMDV2;LpH;o}B_zMrYDJ1CGFtB2(^C`{L2DvPL zKlRi^kH9PrgZ@hPgCV;_7nDDEON0$B`)Q--W}e$!;*Z4igW1RZ-Ex{#ip4pM^(`Is zI2>wc&+iN`CPoBwg;>v=Pv`b_rSYMTC;Es>8`_7o6UHWZMaS&hTG6&3N{FIJlJhPZ zJFODi$cQs_g&O?%8Aj7P$(d>8#W@O$XVHk1w=v4EFJX`Ewp5*8pQ|rDfgT5A7m|?= zozyw(udr=oIDzdHy$mwfe=p5d--JZ{chLPMizR@6bwYwVvi>djJ22DL=;5hRa$-#z zH&=(m5S(<#*EA-52kzYz7Cxx|Dy1T#$b1aXI{%GTj4vHRwl=l}#o~*te51>p!(l!O z;q@YH?=qP->gw9k{&X}V(9`}ItP)KR@wP*XzBE7^@l%ecj9&*FAW&VnV$O#3Q^RS( zIjgh+_@sc9z{!4!Qd5Wa0d6bFKkHI5-}wK|+OVAaiVBy{(#CwlP>y2YEkf`LJ)qop z4OB%>(Tg_0u$7rlhf?HmNHxZ8Ip|oP<~!E|4m&dWb?Ruupz(^A+nXN8L~bhcrA;K%83N|6@xn_M4fHI-j9^|7jyFr2e2!_%#@@xW>Z_KMC+7 zWbU1_E7|E>w{QNSghtda#Vpq!z!6#V^7 zao(cv8bSn!EdIWFQX|@Lcrt=P^9+(BY%&$~o?Y8?pF(a>mFH-C!+~B$@k{&*-N3Hk z-o{&hpJA3|b@@f-5uczrYiROrpyOlDYUDx4?4^PE__~2{{ zj0o9Kd%e*ukiSnpI}Zg4RXZ?@`f2dbNp3poTZP5lhXAe&n^Lj~9N{J3lU^O^1<|&D zL6WWHS2ABY_~6tpqOG1zxtG&oaZA1sd_EU`xpz``DQ*3))}6JzktL5K&p>`V5=2VC z*emk-%jRtXD#jp5Z0tY;a`EqpxzEO6>Gc(cXnkAZmI9M+y*bA)eyYW+uW1|Vr0KJf z6&80#l9q|36;OLea% z+zjDI4jHs)818Q>KJtT_u!)t+?*f78pq000*)QOC@w8_xXhnAYR$4vDT`R%gGsdQD zBQ>9x0D-A13DJCVwPo8N`5kn;~evE6`PP2}?bB1(?` zH9id&wVX;J%YA}!o5cACt`Nc)_{D*N2~#OLL0Ucni@VGJu$6U--dM2VWHVO~)G+Jc z>XXH13|UFudZ~T(h1*8)mQfJd-g`#fn{&xyVfDv7aqNrzQo(m6vUo3a zIaw;o7Kjj);VaHiF9{M9Fh)Uz0o~o@ZY@Zm3tDd|&`Vx?)k6vSD)e#W1jao1jK7yp zvqJn-=v5ov?s7?sJO{7}Op9-=(XV`CX;=QueCA{s6OgesywMQB$Qr|e$o_(UL$8{n zUPX1rUD$1OJTeD_d+7K!?6B7Rw`A6^UN};lm-T+uGZv`CFI;lbZpfbQp@oW#XWYaf zq~qB|rlPGqzc0z%hG^7lJcshX=Kh1uEyuK0K*`-`!a)x_jaJ=4Wbou+5b(fX0WmQpxLG%PCe+;~6hLw$Cg$KEq} zFB%ZfX~1X5AoRF8J(--1J6*-HHnXzuEl|g#B5*cvSiZ$rtN*$klxXhS?6P+o^5E)* zb2JwyOtb6%xg^Z%VpBb8h8_{szL_ki#zthwg6%&6%gEW87;^j7=wd*IaYAQE>x86V zJM_66R+T=Z(TTk}wK2FoM{!EcXO`+ZM8k?wc?wp%n{&;)Hl=41D^NR2rk6RUcyAtpaMsTEg+AZgGye z*CFXBK%l=`p76^n(qarV(8x3nr7^>$3 z9!fC1)RE^rGHCh2tX9w=cirf{$QnbTn$#z$sN@4VuGccx$rmRu^xq$CE}M2m6-3t} zwfcS&q){WxM=Q@Q9uOT{xlEyzpcfM6#Kw?LZnE;DUaN`j0(zzj@DMTa7B_zf)49Pr zzqGN9mr+lCu(UNFZZZV&*ULLsTb54iKNcKz78Eu&9!{hklL!3pCWT6X#_aHml5(E& zihgu?MG~VXt0_W+4WNa?=&2l-zQXQKw^e=;i47XhJJ`(5K6uOyx{nOf{(nW8K-MFqhW;o)!!=l{`m%3 zG6_1eKV4FU&LMPdZh_kE!@_Qi0>bN0oTyDo;dRA}Ddlxagg?ZlmY0vTtVffr&4Zf=xs^x#tG0ZNCkGwZnY{nox^XkZpPOda zwOd&~`ZGGp9&5e3%!B`YGJn=>46;b)$$9F=p(6JUPQa8ITJYHQ9q*Zi%0GT^6C6#bba*qtU|i`xam{=edfqqB5;{Eeg>>fsct*!B?bf!ZgPhw+2gMi>qvc! zm`?1NsZuY|5ro`dxwumu`U)!7#fhUp?oZI#lLwm)Ki8kOrVSMuT*OuBTd{AB>_UMk zqeFf15UFjnwlMQ#JD(-!eV%kI&g5H|a{k+ERoM_CEU3|JsA&4bdV(+Rs&~La{)!px zp#j%gI(Iqe#u?>#Y14YkH%H-uMaj7yES=`O%$Tg-G2LFgHKAvpzU+I`73U@a;ufK& zv^&bq?i7r_->z_9r~zDU3Q)=9>6GD4R@2^>VX^26*rCDlqUo>Ro!{CWinh6Yz5VA2 zf;{9s%EN(+#58Z4V&)3FpC2vikbWH!_-jS5i^b@de+aU(;#D#jK@MdaVCuFS#hV(I z$A=&&+|*=!(Vhk?Dr=f#wylv9p-ycIe65VI^}8!T>scQ>#~%HNTO$Q! zmZX=v;5jHOVR`q4j$6ucmK9y)9+hZI}QiB*Z@f(2>N`SO4AIT~Dn@bnY5p_ZCka zZVE6|xNrDV;1EemUpT!SGqEcOX&)IooW%Amc{cwomB>o0Vv`aBmqW%7hdwLPzKi<1|1~Zq%53f7Ydc*0* ziInv(D*&K5UulB^MSnmAEW?mZ8CKqF9%b9YNC#`g?tHG9g(B9C^ojK(6oYPwVqMsh zetDvE*DzZo#SM`tU&T;~^4l-dvoC*F-&~lR-Y6DWF1_LO{YcP8L>B>quwo?7uYOBA z%Cb46p-#tzjRl@PP;_VBLS=gg!w?m zxQxLf2+;N*F0WuPDbSuASjHVvueGyBOwUl37>WSM1WM2g1SbLTrNlFDzhlnUBb%jW zI6E23jzH(`OaSS)C@WBs0t}UsmZ%YuMlx(3`1Q09l<)pA!j9@7TP$U_EQUEZ567~_mDT&~Zlh5q> z%>1oKc4S)U%%a5Hp`PPcrg+^*>AjL`C|&`EO7Yt9l@(KfaMN|KwM@=~1?hB4Yg0yE zJMj3%|68)>-sv_O1v-sCv^^tv#ZTvE_q@H$1-hy(jNNqGg1z3;|kY85Rjw8Uf5ffY|`h z0su__AmAg`EC%fRg+XOJibYXI1q)@TCdAQSSpX0&C;@>f1WW?Zgs?gYAr628KsXSS z;QYihyT3DM$5U-BSs0|Irm?Z%#R-mq)TXcTU5is7;J_;GCVUkuP!$CZk+kXA*P7!} z%bZx#%shbR`H-cBAko6%!yA95w_)*~6ZguplJ2|^0p?-Tc* zzy0UiC<|jPa`QxXmNYpwecOAqWH_(b80fgFqPR=>Pb*z;DE#Jd*)|o;Yf$ zDk1zZc79-0IXE#7A3C}JV4AGj{drzplw)r>rw$V-r~B@Xh;4TNA)E8!%Y=iIUeC

9Gz0WXGEVfKV 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 NV_|m1wEQBL_ + @@ -87,6 +88,14 @@ +

+
+ + Sumcoin + + +
+
diff --git a/main.coffee b/main.coffee index a511adf..8c8a18b 100644 --- a/main.coffee +++ b/main.coffee @@ -13,6 +13,17 @@ currencyFormat = minimumFractionDigits: 0 maximumFractionDigits:0 +sumcurrency = + sum: new SUM() +prices = {} +stats = {} + +sumcurrencyFormat = + style: 'currency' + currency: 'USD' + minimumFractionDigits: 0 + maximumFractionDigits:0 + # render TX showTx = (engine, currency, tx) -> value = tx.amount * (prices[currency] or 1) @@ -48,8 +59,25 @@ updatePrices = (currencies) -> if data $(".marketcap").text JSON.parse(data)[0].total_mcap.toLocaleString(undefined, currencyFormat) +setTimeout updatePrices.bind(null, currencies), 10*1000 + +# get current Sumcoin price +updatePrices = (sumcurrency) -> + sumcurrencyAPI = 'https://rates.slicewallet.org/api/rates' + $.get code + price.join(',').toUpperCase(), (data) -> + if data + for sumcurrency, price of data + sumcurrency = sumcurrency.toLowerCase() + prices[currency] = Math.round(1/price*100)/100 + $(".#{sumcurrency} .price").text prices[currency].toLocaleString(undefined, { style: 'currency', sumcurrency: 'USD' }) + +# get sumcoin marketcap + summarketcapAPI = 'https://sumcoinindex.com/rates/marketcap.json' + $.get marketcapAPI, (data) -> + if data + $("marketcap_USD").text JSON.parse(data)[0].total_mcap.toLocaleString(undefined, currencyFormat) - setTimeout updatePrices.bind(null, currencies), 10*1000 +setTimeout updateSumPrice.bind(null, sumcurrency), 10*1000 # update stats for a currency, called whenever there is a new TX # to do that, keep a log of the last 60 seconds of tx diff --git a/main.js b/main.js index 14eadb9..7ca5df1 100644 --- a/main.js +++ b/main.js @@ -5,6 +5,7 @@ currencies = { btc: new BTC(), eth: new ETH(), ltc: new LTC(), + sum: new SUM(), xrp: new XRP(), nano: new NANO() }; diff --git a/styles.css b/styles.css index 46033f4..4c3df3f 100644 --- a/styles.css +++ b/styles.css @@ -33,7 +33,7 @@ a.label { div.marketcap { position: absolute; - bottom: 88px; + bottom: 100px; left: 50%; text-align: center; color: #a4d2fd;