{"id":956,"date":"2024-11-15T10:18:37","date_gmt":"2024-11-15T15:18:37","guid":{"rendered":"https:\/\/www.clayford.net\/statistics\/?p=956"},"modified":"2024-11-17T09:10:46","modified_gmt":"2024-11-17T14:10:46","slug":"the-statsfilter-function","status":"publish","type":"post","link":"https:\/\/www.clayford.net\/statistics\/the-statsfilter-function\/","title":{"rendered":"The stats::filter() function"},"content":{"rendered":"<p>The base R function <code>filter()<\/code> can be used to calculate moving averages. This is one of the base R functions masked when the {dplyr} package is loaded.<\/p>\n<p>Before we see how it works, let\u2019s create some toy data.<\/p>\n<pre class=\"r\"><code>n &lt;- 100\r\nt &lt;- as.Date(seq(n), origin = as.Date(&quot;01\/01\/2022&quot;, &quot;%m\/%d\/%Y&quot;))\r\nset.seed(1)\r\ny &lt;- cos(pi*seq(-2,2, length.out = n)) + rnorm(n, sd = 0.5)\r\nd &lt;- data.frame(t, y)\r\n\r\nlibrary(ggplot2)\r\nggplot(d) +\r\n  aes(t, y) +\r\n  geom_line()<\/code><\/pre>\n<p><img decoding=\"async\" role=\"img\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAABUAAAAPACAMAAADDuCPrAAABKVBMVEUAAAAAADoAAGYAOjoAOmYAOpAAZrYzMzM6AAA6OgA6OmY6OpA6ZpA6ZrY6kNtNTU1NTW5NTY5Nbm5Nbo5NbqtNjshmAABmADpmOgBmOjpmkLZuTU1uTY5ubk1ubm5ubo5ujo5ujqtujshuq6tuq+SOTU2Obk2Obm6Ojk2Ojm6Ojo6Oq6uOq8iOyOSOyP+QOgCQZjqQttuQ2\/+rbk2rjm6rq46rq8iryOSr5Mir5P+2ZgC2Zjq2kGa2ttu229u22\/+2\/\/\/Ijk3Ijm7Iq27Iq6vI5KvI5OTI5P\/I\/8jI\/\/\/bkDrbtmbbtpDb27bb2\/\/b\/\/\/kq27kyI7kyKvkyMjk5Kvk\/+Tk\/\/\/r6+v\/tmb\/yI7\/29v\/5Kv\/5Mj\/5OT\/\/7b\/\/8j\/\/9v\/\/+T\/\/\/+7FoazAAAACXBIWXMAAB2HAAAdhwGP5fFlAAAgAElEQVR4nO3dC7ts2VWX8ULFoILVSbpRaREScxoRiGKjiHg7RI0BhE7UFIeOnJzz\/T+Euy67aq01L2uuNcec6z9Wve\/zQJ9dtz32qLl\/p\/alO4ePRES0qsPWAxAReQ1AiYhWBqBERCsDUCKilQEoEdHKAJSIaGUASkS0MgAlIloZgBIRrQxAiYhWBqBERCsDUCKilQEoEdHKmgB6WtCyWyvkbWD5DYvPJ7+\/MG8Te1oxgNbmbWD5DYvPJ7+\/MG8Te1oxgNbmbWD5DYvPJ7+\/MG8Te1oxgNbmbWD5DYvPJ7+\/MG8Te1oxgNbmbWD5DYvPJ7+\/MG8Te1oxgNbmbWD5DYvPJ7+\/MG8Te1oxgNbmbWD5DYvPJ7+\/MG8Te1oxgNbmbWD5DYvPJ7+\/MG8Te1oxgNbmbWD5DYvPJ7+\/MG8Te1oxgNbmbWD5DYvPJ7+\/MG8Te1oxgNbmbWD5DYvPJ7+\/MG8Te1oxgNbmbWD5DYvPJ7+\/MG8Te1oxgNbmbWD5DYvPJ7+\/MG8Te1oxgNbmbWD5DYvPJ7+\/MG8Te1oxgNbmbWD5DYvPJ7+\/MG8Te1oxgNbmbWD5DYvPJ7+\/MG8Te1oxgNbmbWD5DYvPJ7+\/MG8Te1oxgNbmbWD5DYvPJ7+\/MG8Te1oxgNbmbWD5DYvPJ7+\/MG8Te1oxgNbmbWD5DYvPJ7+\/MG8Te1oxgNbmbWD5DYvPJ7+\/MG8Te1oxgNbmbWD5DYvPJ7+\/MG8Te1oxgNbmbWD5DYvPJ7+\/MG8Te1oxgNbmbWD5DYvPJ7+\/MG8Te1oxgNbmbWD5DYvPJ7+\/MG8Te1oxgNbmbWD5DYvPJ7+\/MG8Te1oxgNbmbWD5DYvPJ7+\/MG8Te1oxgNbmbWD5DYvPJ7+\/MG8Te1oxgNbmbWD5DYvPJ7+\/MG8Te1oxgNbmbWD5DYvPJ7+\/MG8Te1oxgNbmbWD5DYvPJ7+\/MG8Te1oxgNbmbWD5DYvPJ7+\/MG8Te1oxgNbmbWD5DYvPJ7+\/MG8Te1oxgNbmbWD5DYvPJ7+\/MG8Te1oxgNbmbWD5DYvPJ7+\/MG8Te1oxgNbmbWD5DYvPJ7+\/MG8Te1oxgNbmbWD5DYvPJ7+\/MG8Te1oxgNbmbWD5DYvPJ7+\/MG8Te1oxgNbmbWD5DYvPJ7+\/MG8Te1oxgNbmbWD5DW863+Ewdwv5\/YV5m9jTigG0Nm8Dy294Y0DnBJXfX5i3iT2tGEBr8zaw\/IYB1DpvE3taMYDW5m1g+Q0DqHXeJva0YgCtzdvA8hvecr4DgArkacUAWpu3geU3DKDWeZvY04oBtDZvA8tvGECt8zaxpxW7BnT+d0465OjJviR\/OgHUOm8Te1qxc0AFBHX0ZF+SP50bzncAUIU8rRhAa3P0ZF+SP52bAjr\/VY38\/sK8TexpxQBam6Mn+5L86QRQ67xN7GnFAFqboyf7kvzp3G6+A4BK5GnFAFqboyf7kvzp3BLQgh9Myu8vzNvEnlYMoLU5erIvyZ9OALXO28SeVgygtTl6si\/Jn04Atc7bxJ5WDKC1OXqyL8mfzs3mOwCoRp5WDKC1OXqyL8mfzg0BPQGoQp5WDKC1OXqyL8mfTgC1ztvEnlYMoLU5erIvyZ9OALXO28SeVgygtTl6si\/Jn86t5jsAqEieVuwd0O0FdfRkX5I\/ndsB+vj\/meT3F+ZtYk8rBtDaHD3Zl+RPJ4Ba521iTysG0NocPdmX5E8ngFrnbWJPKwbQ2hw92ZfkT+dG872epbkjJb+\/MG8Te1oxgNbm6Mm+JH86NwN0\/M9U8vsL8zaxpxUDaG2OnuxL8qcTQK3zNrGnFQNobY6e7EvypxNArfM2sacVA2htjp7sS\/Knc5v5DgAqk6cVA2htjp7sS\/KncytAp39IJL+\/MG8Te1oxgNbm6Mm+JH86AdQ6bxN7WrFnQEv+Bxja5+jJviR\/OgHUOm8Te1oxgNbm6Mm+JH86N5nvAKA6eVqxc0AFBHX0ZF+SP50bARr+KZ78\/sK8TexpxQBam6Mn+5L86QRQ67xNvHrFG2gAoLU9zens1RbzHQBUqApAu3MAoLU9zens1TaAxv4YTX5\/Yd4mBlAA1U0eAAC1ztvEAAqguskDAKDWeZsYQAFUN3kANpjvAKBKASiA6iYPwCaAxv8cS35\/Yd4mBlAA1U0eAAC1ztvEAAqguskDAKDWeZu4BtDeHgBobU9zOnvVf74DgEoFoACqmzwAWwCaeiOS\/P7CvE28dsVb\/McxvAO6vaDPcjq7BaDWeZsYQAFUN3kANgZ07kTJ7y\/M28QACqC6yQMAoNZ5mxhAAVQ3eQAA1DpvEwMogOomDwCAWudtYgAFUN3kAQBQ67xNXAFodw8AtLZnOZ3dAlDrvE0MoACqmzwAAGqdt4kBtAug11UB6MLkAQBQ67xNDKAAqps8AABqnbeJV654k69IewDaqMPh8f+J1jc+Q5wop12euI2fPV6BLu5J\/nrvF69ArfM2Ma9AOwK6uaBPcjr7BaDWeZsYQAFUN3kAANQ6bxPXANrbAwCt7UlOZ78A1DpvEwMogOomDwCAWudtYgAFUN3kAQBQ67xNDKAAqps8AABqnbeJARRAdZMHAECt8zYxgAKobvIAAKh13iZet+JtPADQ2p7jdHas+3yTEwSgWwegAKqbPAAAap23iasA7QwCgNb2HKezYwBqnbeJARRAdZMHYPV8h5VHYXq3\/MMk9rf1Mcyl\/oxPA9CegG59dJ\/jdHbMK6C6gqo\/49MAFEB1A9Dwfvm3xwFo8wAUQHUD0PB++bfHAWjzABRAdQPQ8H75t8cBaPMAFEB12zWgq44CgIoFoACqG4CG98u\/PQ5Am7fqiD723\/WZANDanuJ09gxArVN\/xqcBaA9A72sC0EUBaHi\/\/NvjALR5AAqguu0W0JdzsE4xABULQAFUtz0Duu4sAKhYAAqgugFo7I65t8cBaPMAFEB1A9DYHXNvjwPQ5gFoV0A3FvQpTmfPANQ69Wd8GoACqG47B3TFWQBQsSoB7QoCgNb2FKezZzWArjoLACoWgAKobgAavWPm7XEA2rw1R3S4fgAtCUDXBaDRO2beHgegzQNQANVtr4BeT8EKx4J7AOjGASiA6rZvQFccBgBVC0ABVDcAjd8xc8EoAG0egAKobgAav2PmglEA2rxaQHuKAKC1PcPp7Nr8fNEn3A7Q\/GPE97f2vwTVJfVnfBqAAqhuuwA08ozfAV16GgBULQAFUN12Dujy02AE6Nb\/TYZM6s\/4NADtC+i2R\/cZTmfXANQ69Wd8GoACqG7+AY1\/uQygydSf8Wkrjuh4+QBaEICua6eA3i9a\/M1IAFULQAFUt70Duvg0AKhaAAqgugFo8p5FjwCgzasGtONz4RbQrf7Ng6AnOJ19KwA0ix6ATlN\/xqcBKIDq5h7QA4AuTP0ZnwagAKrbDgDNo7f0p0gAqhaAAqhuuwd06XEAULUAFEB1A9D0PUseAECbB6AAqpt3QA8AujT1Z3wagAKobv4BPUWe8fFxWHQeAFSt5Ud0unsAnW20oi3P7v5PZ+eqAV14HABUrXpA+z0ZAFrb\/k9n50oAzb\/kANBx6s\/4NAAFUN2cA3qwBjT7bzVFAtDmASiA6uYe0OE\/phdH3pgLQOUCUADV7SkAXXAeAFQuAAVQ3Z4A0EXnAUDlAlAA1Q1Ac\/ecvzuANg9AAVQ334AeegCavX90f\/Ff7ldJ\/RmfBqAAqpt3QMf\/PCXeLD8QACqXAaDdng0ArW3\/p7NzRYDOvOQE0GHqz\/i0xUd06bdhDAPQ2nZ\/OnsHoNapP+PTABRAdXMN6EEYUF1B1Z\/xaQVHdPZ73gA60\/qfGhi3w9O5bXlAwz+FbwHoOPVnfNr8ET0AaHKewhsC6MoAdP6mALpps0f0MPnfFQTQwTyFNwTQlT0FoAsOBIDKNQ\/o\/LfwADRf\/tdYera707l1mfkOALom9Wd82twRDX5kB6CDecpuB6Br8w1o\/M8Amk39GZ82c0Rvy06dhcxlDQLQ2nZ2OrdvBaA1v0cNoHLNAXr9\/wAan6fsdgC6NgCdvyWAblr+iB5eAT1ML4rdrHUAWtu+TqdAAGqd+jM+LXtEI78JHF08gGYD0LU5BjT5fS8Azab+jE\/LHdEhmyGl0Rs2DUBr29PplCgHaOINAM2m\/oxPywI6+COAxuYpux2Arg1A528JoJuWOaLRZx1Ah\/OU3Q5A1wag8zcE0E1LH9HJCThELo3etF07AXTDw7uf0ylS5rMn9cvzFb9IDaB6ZQAdv5UDtNPTAaC17ed0ilT28gNAy1N\/xqclj2hwAsJfCU3euFEAWttuTqdKywGt+TVAANUrdUSDBQNoZJ6y2wHo2gB0\/nYAummJIxr7TvchfkX6UusAtLadnE6d0l+\/Aei61J\/xacWAngA0nKfsdgC6NseApt4uBrT4e6WZ4xTbX+7zWCD1Z3zaQkATewfQXAC6tucGtPD3nQB0y5YAegDQyTxltwPQtQHo\/O0AdNPKAT0BaDBP2e0AdG27AfRxAYDmU3\/Gpy0C9ACg43nKbgega\/MKaIgfgBam\/oxPWwDoCUCn85TdDkDX5hfQ5CXFP0lvC6isoOrP+LRlgEae1PTNzQPQ2nZyOnVaDGi5gQDqoiWAngB0Mk\/Z7dJfz\/VuJ6dTJwC1Tv0Znwag5oDOewmghTkFNGNfsYGxzzUA1QtAGwB6mLwd3mLJuzFsJ6dTp4X\/GgqAzqb+jE9bBGjsr9bczY0D0Np2cjp1AlDr1J\/xaUsBjT8KgA4CULP2A2jeLQC9p\/6MT1sGaLIuTweA1raT06kTgFqn\/oxPA1AA1Q1AZx8XQLcNQAFUNwCdfVwA3TYAtQY0OPmNAF3zIDs5nTotBbT8hwiHyL\/2B6B6AahfQJc\/yk5Op07NAD1fML1w+a\/AAGjzUggsfBgAvQegdgHo3MNmHvMEoB0CUADVbUeAXi8E0LnUn\/FpTwzo+zeftQF0so3oTwgWfeDRAFQgALVO\/Rmf9sSAvj0CqHg+Ac38rAdA51J\/xqc9LaAf3h4BVD0AnX9cAN20ZwX0J18c2wAannwAXR2Azj9u7jRF9vd6YwC16UkB\/ep4\/O6PAVQ9AJ1\/XADdtGcF9Nt\/+PEdgKq3N0CTT1nUSgB10JMCem4E6DduVT7my1SH6\/+NL4ncqP4dNfk9Lqou\/sSEByNzn8ub01un7r3oILzemNPTssXb3eLp2DGghwIdAVS1xBPzcjGAPknPB+hry14RRy60+BI+\/b\/eN77R3E2C9vH1kVBLvn4Lfj0jcx++hPeS0ZfwXZ6PJwH0oieAngPQgscF0C0DUFtAr3sYbWMhoNdXn7M8FiE7bR+nUyi\/gKoKqv6MTwNQLUDvX7wD6OnZAY1fWPz+TgDaIQBtDWh0M+nPhdIvsQBUodQ3cWIBaEnqz\/g0ABUCdPizo7mv4QFUoUaAxr8KAVDBAFQH0PHP3gF0d4BmnjAAvaX+jE9L\/iR5YQB6rQ7Q2ZuMrgbQzVv02QOgBak\/49MAFEB1UwR0xKAZoNGfOwKofk8MaLRl8wQXRU7+ekCzKwXQTTqM\/yUHALVO7hmfCUBVAZ1ZKYBu0GH6Lzn0BDTzuKkHBdDmASiA6qYF6OuLTwBtmNQzXhCAtgB0uI4KQHM7BdDOHWL\/jgOAWif0jBcFoLKA5ncKoF0bfuuzOaCRU5R\/3NSDAmjzABRAdZMBdPSTo\/WAZt9D+GcA1Q9AlQGdecWyeOm7OJ1bFPsC+5zRZ88JQF9TecZLA1BLQGOnM76ZyKXhRZmlTn+aUdYuTucWLQB05WcCgF5TecZLA1AA1Q1Aix44eU3mhAKoTVaA9ng+nhDQ\/OcMgPaqPaDRI5N6t6XvEkCbB6DCgM59zgBor1KvBQHUOpVnvDQABVDdnhPQBHIAqhiAagOa\/cEBgPYKQHul8oyXBqBNAJ09qIUvNwFUIwDtlcozXhqAGgIafd0JoOsD0KIHBtDtSv83LRcGoG0ATawVQLsGoL1SecZLA1BpQJNrBdCu7RBQUUFVnvHSALQxoIm9hBcXQ\/u4HEA7NVk0gLZL5BkvDkABVDeHgK7+PADQSyLPeHEAug2g4eUpQHMAL136Hk7nFvUA9H7PlHEAqhiAagOavxhA+zTd8\/1tALVO5BkvDkDtAB2uoDGgt0sBtE8A2i2RZ7w4AJUHNPPDeQDtkwKgmQcG0O0C0DaAxj4d0jdedMPBhQDaJwDtlsgzXhyAAqhuzw5ooXcAul1mgHZ4Pp4V0MgVANo1AO2WyDNeHICqAxq9AkC7BqDdEnnGiwNQEUCX\/YwVQLvWE9DUT94BVDIANQN0vAAANUgE0PRXCwBqncYzXh6AygMauwpAe7YA0JrPgut9AdRVAAqguqkCer9EA9Dkdbl\/Vw5ATQJQANUNQAFUvMgRXblYAF0E6PSKVYAuXfoOTucWAWi\/NJ7x8gAUQHUDUAAVD0AbATr7VXYNoPdLALRHANovjWe8PAC1AjTxTU0AregJAY1\/HTPzyAC6WQAKoLoBKICKB6AagC779ADQrgFovzSe8fIAFEB1A1AAFQ9A9QENrwTQnmV+C8IU0Mudk9\/ZAVDJ+gO6\/nnzCGj6owXQ+WQBfb3MM6Cagko84wsCUADVzR2gdSaZA5o+OHOPuFkSz\/iC7AAtvd9OAU2cVQCtCUBrAY1\/X2n+ETdL4hlfEIACqG7PB2hSvGUH5H45gDYOQFsBGvuhanh9+u65KwG0ZwDaMYlnfEEA6hrQhdvcwencIADtmMQzviAABVDdABRAxQNQCUDzSwHQTQPQjkk84wvqDmjFswag4dsA2j4A7ZjEM74gALUBNPJhAWh1TwboGTwA9VX2f3ZqWQAa+UhNAJ1eDaA9i6\/4eqk+oMmTA6AmASiA6vaEgKYeEEA1A1AA1c0boLUkrQU0de0U0NxbIik840sCUADVDUABVDwAbQbo5TIArQlA7w8JoJr1BrTmSVMGNPWxAmhNAFoF6OHwEUAbB6CbAbrAQQDdMADtmcIzviQAVQB0bisAumEA2jOFZ3xJhoBmPs0tHh1Ao28uWqj\/07lBXQFNXrQS0PE1AGpeU0ATP1hZG4BG3gTQ1nUENPPeAVQzAPUAaObkA2jrALRnCs\/4kgAUQHVrCWj0eEZvl7kcQK3zf0QBtHye\/PWH8D+uM70++NPsTbNvzOX\/dNoV\/nvnqdtlLgdQ6\/wf0aaAVj1nADr3xlz+T6ddh0MZoQsAbSFSQ0AlBfV\/RC0BDR7qqQCde5EDoHO1BbTsRSiAds3\/EQXQ8nlmbgCglTUGtOgboRqAzjw0gG5VO0CjX8AC6Ojq8E+zN82+MZf\/02nXdXHzgjoHNPcTRwCtLziiFUsF0OCjLQN04csgALXoLtMqmwC0Ue6PKIAumGfmBnOfnGXf3wpuAaAWPZa\/5tuLHgB98RNAW9cU0PDBAHR8\/fif87eceWMu96fTsOE3UMq+0RK5vD2g9281FNwouBBAm9cX0LpnDEDn3pjL\/ek0bLA4ANXJ\/REF0AXzzNzADtDMp8GSnbo\/nYZlYEneLrgCQK1zf0QBdME8MzcA0MoEAE1fBaAtcn9ErQC9vAGgAFoTgAKoeG0BtX3G3AE68+MJAJ2rIaCl30j2AWj0+iugo5+Wzd9p69wf0Zqlhp\/lAJq\/evzPgpuGNwfQVTUAtI1HACodgLoDtGKn7k+nXQAKoBZ1BbTyCdsroCVrAVDjSk8mgPbN\/REF0AXzzN0CQOsCUAAVD0ABVDcABVDxGgNa\/K2mkgA0dnMAXRWAAqhFrQCN\/nwEQIPrH\/9\/9qHCP8XezOb+dNpVD+j5KmVAz+MBaOsAFEB1A1ADQB\/XAah9AAqgunUDNLnF3HYBtEHej2jVTgF0UtmxrwN0yVa9n07D3AB6fVgAFa01oJmffizOH6BzAWg+AD0BqHYACqC6tQO0dIkLAG3F0flxZx8bQDcKQDcHtGwtAGoagCbutXXej6gRoNFPdwCdBqD5APQEoNoBqDdAaz4LvJ9Ou0q3CKCd835EzQHNvHRaGoCO\/hBcM5\/302kXgCbutXXej2jdSvPf+QTQaQCaTxvQ0+V\/d73sphVVA3q\/EkDt6who9bP11ICafBZ4P512AWjiXlvn\/YgC6JJ5Kj+gwk+Ox02H\/wyuKMj76bQLQBP32jrvRxRAl8xT+QEB6EybA5rfLYDa5\/2I2gOafvqW1gPQzp3\/i2OHsg\/k9WbBzQvvT8PCpUXXmN\/t+NpWz0PRGcl+PBydftWtNPpMJZ++yngFmrggnfe\/3u0KlxZdo+NXoOdLxq9ACz\/mbfN+RG1egY4exdUr0GXzVH5Al52UriW9xvLFej+ddtkD2gyjsr9ko3+vAmjzABRAdWsGaPxbhkW3G137cfBnALXI+xFtB2j9kwWgw3+G18zn\/XSaZQ5oOz8LD0kO0NuVANogAAVQ3TwBWj9U+t0AqGyTI1q50fgneerpWxqADv8ZXjOf89NpV2xlpZfFrm4qEYAKB6BeALX4Tpbz02mXMaAtv4AHUOmaADp5FABNthzQ0i8+ozk\/nXbZAtrWTwBVDkABVDcfgDb2E0CVA9BNAT1\/8gFosq0Bndvs5frWfhb+LTu9CYAaNL+gHoC+nrOqhz4BKICaZQhocz8BdLvmn9xugBo8VzsFtPymj\/8fuaIkrdM5X1dAVwBjdLBnKvtLNgdo6iUMgM7UG9DEJzmAJgPQXA4A7WDQKkAvbwJoZQAKoMO0Tud8+oC2\/wIeQDdsfvPRn\/fUvMPYowBoMgtAy3erdTrn8wCo0UTV72UNoIKCah3R2c1PnxsTQKMHEUCjAWiuVoDGF7YKUJuB5t4LgG4TgALoMK3TOZ86oH0WCqCbNbf5w+EjgHoBNPlZAKBLSywsuNgToKfIZzKAVjaz+UM\/QC2eKQA9AahJvgAtPCQAat6MW+drARRAdQPQ2xi1gKZ+jgug2fJuXa78OBa0EaA2320H0BOAmlQI6PxeAdQ6qSOa\/9bjbcUAui2gy24bvT2ALgxAo\/dRSOqIZgG9XtMA0PhrJACtDkCtekpAq7526ZbUEc0BeogBWr1PAG0YgFqVWtjkcgDtn9QRzQD6+pwAKIDqBqCXAHSj0oDen5KXFQ9u0hDQygc+B6AAatMuAT2FL4UAtK4coLc\/dALUJAAFUJsANHIXjZSOaFqzx6UA6gfQ9F+IpStXOp0lNdpw5gcDZbe75wbQU\/xXGgE0V+YVSytA8z\/4rwxAVwP6+h1v64kaB6CXAHSbSn6iA6BPAuj1E8p8pLb1BjT2g5hsAGqd0hEt+YmOPaDtnhMABVCTADR2F42UjmghoIO3AXTZPK0+0kQAalMxoLOPBKDWKR3Ry3YiKwJQAPXRtoAWnORegC6+GYAaBKAAer8BgD4qA7TkIEstFECNA1AAvd8AQB8VAVp0jrUWGky\/DFAJTZU2CqC7AzSxXABdVGZdg8+FkkfSWmgO0Pg3UieACggqtNHrOgoAfVwAoMvmafWRJgJQm0oALTvGWgsFUNO2ArT2IZIBKICaVABo4THWWiiAmpYCdHQJgDoCNLldAF3UPKClp1hrocH34mYBnfzgCUCHAejTADr7xAHooNyyXgEtfCithdYB2vK7b+UJbXQ5oAYLBNCWAahF84AWH2KthYoBuurhhDYKoAA6uOP5FkKns6j+gF6uLD\/DWguVA3TF4wltNPXtnBDQpd\/5yb5TAG0XgFo0D2jxQ4ktdPq9OACtCUABdHBHAH1tDtAFR1hsoXlAs\/e4nC3bT17ngCa\/Lm8MaPVDJANQALVoBtAlR1hsoTlAZ+6x8HsXZdMAqFQACqAWzQG64KHEFgqghgEogA7vCKCvzX4PtDyxhQKoYSlAx2\/fVrzwtze2CUAB1CLDYy62UAA1DED3COjSK+7XA+g9AI3eA0DHAej+AE0GoAsC0NQ9AHQQgALo4HoAvbdfQKef9ABaEYA+EaBzTx2ADgLQ8A4tBABQsQA0HYAWZ3nK1RY6+XWackAPADpp\/OO16BXnXlfc4BW8eQCabhbQyy2EBi4KQBdWAejoTaNhAFQqAE0HoMUBaHgHAA0CUAAdXQ2gtwA0vAOABqUAnXxQAAqgugHowgDUrBWAivsJoJkAtDgAjd2hDaDLH05mowsBff0UUw5A0+Wfu9e\/HoUGLgpAlzb+YfoCQEdvWo0CoFIBaDoALQ5Ag9tPfx3UahQAlQpA0wFocQAa3B5AgwajAyiAAugjAA3ucADQaQAKoONrAfQWgAZ3SP7OY+Uo+wB0\/GEA6C4BzT95ADoIQIM7AGjQYkDX\/dJB1wA0E4AWZnrK5RYKoEalAJ1+SAAKoLoB6NLGHgLo6gAUQCdXvvw\/pYFLAtClrQL0AKBBAAqgkysB9NK+Ab1\/sXGpGNDx22aTAKhUAJoJQAsD0PTtTwD62nJATwAKoGIB6OIA1KTkD94BFED9BKCLWwHoAUCDABRAp1cC6CUAnd4+92uOdZMAqFQAmglACwPQ6e0BNAxAAXR6JYBeAtDp7dsBuuLRRDY6Hjzza14jQNvOVB2AZgLQwgB0ensADVsDqHwAmit3VgH00c4BHYlYBOghhUX9IAAqFYDmAtCibL\/OElzoCkCn97eaA0C1AtBcAFoUgE5vXg9o9C6uAU3uBECfF9CX\/y81cEEAuryhiN0AjdwHQOUC0FwAWhSApm9+u2DNu4xduOrBNDYKoAAaXgegJwCN3Hx6wZp3Gbtw1YNpbBRAATS8DkBPABq5+fSCNe8yduGqB9PYaArQ8OPRQiAfgOYC0KIANLj59II17zJ24aoH09gogAJoeB2Anp4A0FMloCs2tHtA728DKIB6CkBXBKD1ASiAhtcB6AlAS+5f8R4nDwOgSgFoLgAtCkDn71\/xHicP4xTQ5KtyAN0voJnDersGQE8AWnL\/ivc4eRgAVQpAswFoSQA6f\/+K9zh5GABVCkCzAWhBtn5qfLpPUgJ0+YNJbBRAATRyDYACaNH9K97j9GH2BdFwvbwAACAASURBVGjkoxFDIBuAZpsF1FqP9gHoigYf4rr9Ld5R9H8RHUDlAtBsAFrQEwA6CEDXBaAAGrsGQAG0IBNA0+Tkk9gogAJo7BoABdCCnh7QJa+nxRDIBqDZALQgAJ0PQAF0tg9\/8Pnx+J0fAqh0AFoXgAaVDASgs71\/czz3zR8BqHIAWheABkV\/5Sq4TeIiAH3t7fHTH3782ZfHT38KoMIBaF0AGgSgFoB+\/fnltef7N5\/80X4ATR9WAL0HoAUtXdKzABq7qxoCuewA\/er42e2f3wNQ4QC0LgANAlALQN8ev3\/557sbpACqmfmGrTcgdgKmAWgQgBoA+uHL25fuX3\/++k3Qb9xa\/ZgCHVIbeb0ieYOniQ2UtHRLZ0ATjyG38MiokdvEL5L7YOoC0EmzgO7tBCzv6RdQ1JMDGrsFgA4bADr9RaZlr4hbvdZe1+yX8O6+hudL+Lq6fQm\/5F9+zCfwJXz0FucL+RI+BHT6e0zL5mn1ka4LQGcD0JIMAV38WADaLgDNB6CzAWhJABq\/EEBfe9KfwgMogBa1bE1RWwBULztAX3\/\/88l+DxRAAbQoAI1dGL1cDYFcdoA+6b+JBKAAWhSAxi4E0Hsfvjx+e3f\/LjyAzgegRe0X0Oh\/PP92+aPoDQB00M92+F9jSh9WAH0NQIuqB3T1kVMANH4DAB0J+gcvfn5n+voTQLUC0LoAdFrGx7k7AmhJy+Zp9ZGuDEBnMv\/41U7AJACdBqAAmg5AZwLQsgA0dgMAfXpAPzoTFEDrWr2\/RYt6CkBT95RDIBOAzgSgMwFoYQBaek85BDIB6EyJU\/C4GEBtHw9A7zee3GOXgMYulkMgE4DOBKAzAWhhABq7Z+xiOQQyAehMAJrP\/qNXOwGTAHQagM4B+jf\/6Ff+AkATFwOocWonYBKATkv9MB1A74D+6uHwt3\/tLwE0dnEO0JL\/sZjeAWhdAoAuXTqAtqsI0J\/\/8eXfxvo7v7\/O0GXztPpIVwag+QC0NACN3OI5AH3pf\/2Ti6F\/\/\/efDdDEMQDQWwBa3JJVOQI09htX9yvm7vo0gL7051dDf\/m\/AOgCQOUEBdC6AHQSgBYC+vKl\/J\/\/4zMJv\/Bry36ktGyeVh\/p2gA0V4OPT+4EjAPQSVWARi\/WQyDdIkBf+ut\/\/UuXL+WXvAxdNk+rj3RtewPUdiIALQ9AC9NDIN0iQH\/+H\/\/e\/b\/v9ysAem0OUDVBbScC0PIAtDA9BNKVA\/qq5\/ln8X\/9x4fDPwTQSx\/TByV5tLYMQOsC0EkAWgDo7bufj98G\/avDLxb\/TtOyeVp9pGsD0PyjGT7YNbkTMG4zQAdvAahMRYD+\/F8dpj88+ptf\/Vv\/FUDPzQIqJqjpQC0+OLkTMK4joON7AKhiRYCe\/02kXxj\/+tLf\/CqvQK\/NACr3EhRA66o4oQu2tQNA158NPQTSFQL6y\/95ctHP\/1P5rzItm6fVR7o2AM0+mN1jvSZ3AsYB6CQAnQW0smXztPpI11YPqJagAFoXgE4CUADNtR7Q2+UAuiy5EzAOQCcBKIBmm\/kGOYAap3cCRgHoJAAF0Gz1gEoJajlOk49M7wSM6gJo7O9eUUCT3+gHUAC9VAuo1ktQ0383CkAXZQbowsUDaLsAdLa9AWr4n9AH0EUBaFmCCCQD0NkANPNgVo80SO8EjALQcQAKoPlmAU0dlQegQoICaGU1J7R4XwDqJQCdbS2gj0sBdEl6J2AUgI4DUADNB6DpxzJ6oFF6J2AUgI4DUADNZwGojqAAWllPQJNoAqhKADpbPaBKL0EBtDIAHXcdJTIQgALoJQBNP5bRA43SOwGjAHQcgAJovpkvT8oAlREUQCvbCtDk90PnA9B2Aeh8+cORArTiwDfsxU8zQBt9UIInYBiAjgNQAJ0JQFOPZfM4kwRPwDAAHQegADqTCaAigp4BtZIPQJe2Q0Bjv3B1Sl1UmCICqQB0PgNAZV6CAmhtVSe0dGUA6iUAnQ9AU49l8jDTBE\/AMAAdlQS04nQoIpAKQOezAVRDUACtDUBHASiAzjUL6NxvOiUeZIsMAW31EQmegGESgC5bPoC2C0DnWwXo9CIALU3wBAwD0FEACqBzGQEqISiA1gagowAUQOcyAVTkJSiA1tYV0MEdAFQyAJ1vR4C+DAGgdQHoKAAF0LkANPVYTRI8AcMAdBSAAuhs2dNRDqiAoIaANvtwFE\/AIAAdBaAAOtsKQEtI3aAroCajAOiaCrcGoF4C0IIANP5QbVI8AYMAdBSAAuhsABp\/qDYpnoBBADoKQAF0NitAtxcUQKsD0GGvcwAogKazAVThJagdoO0+GMUTMGgjQCd3BFCRALSgWUDLfmkJQItSPAGDrAHNnxQAFQ9AC1oOaPT0CHwND6DV2QOa+3Y5gIoHoAUZASrwEhRAqwPQYan5ABRAH+0G0PMAAFoXgA4DUACdD0DjD9UmxRMwqPKERqDJ\/sZb6mvkJfsH0HYBaEF2gG4sqB2gDT8SxRMwCECjYwAogCazAnTzl6AAWh+ARscAUABNtjtA6wcB0JWFJ2WfgNYcEEkEEgFoQYsBTZ0eAC1I8QQMAtDoGAAKoMkMAd1WUACtD0CjYwAogKbLfYNnCaBbvwQ1A7TlxyF5Ah4BaHQMAAXQdLnTAaDGSZ6ARwAanQJAATQdgE4fB0BXBqDzaSIQD0BLmgV0cosMoFsKennnNoCazBNP8gQ8AtDoFAAKoOnmAT0dElfPPFLXANSg2hMa\/FULoNM0EYgHoCWVAHpI3zzzSF1FtQK07etoyRPwCECjUwAogKYrAPS0DtCuX9PbAWozTzzJE\/AIQKNTACiApisCNDz00UeafP44BLTxzJIn4FFnQG9\/rvrKBUDbBaAllQB6KgJ0+vnT9SXoA9Cq8914YskT8AhAo1MAKICmKwM0eZiSD3V+wx2grcmXPAGPADQ6BYACaLoiQE+LAb38ueNLUCtAreaJJ3kCHpkCejsBudskAF3yNABouwC0pEJAE9\/vn9x1euYAdJzkCXgEoNEhABRA05UBeioBdHjmSm5umQmgzV8xS56ARwAaHQJAATRdKaAlLynv1z5esHYS9Pp+6gG1mieR5Al4BKDRIQAUQNMVApo87OP7Tpl1BWh77iVPwKPqExr5LvjsTUQBHcwAoACarhTQUwGg99epgwv6CJoFtHSG9rNKnoBHABqdAUABNNPkOKQBjX9CRO4cfo40bwbQoiE6YK95Au4BaHyGzKfI0kQRiAagRZUCen5dOXd0wk8aV4AaDxWmeQLuWQJagqNPQKvOiSgC0QC0qHJAo78YPbnJ9DadvoafA7RkCAAF0PgMAAqg6YoBPc0DekE2+\/CNGgIa+55VwRA9qNc8Afc6ABr58gRARQPQohYAOm9MeJM+L0FnAZ0fosecmifgXm9AS75POhOAtgtAiyoHtADDyC0kAJ1\/CdoFes0TcA9A4zMAKICmMwa05CL7coCW\/PpApzE1T8A9AI3PAKAAmm4BoCXfSow8fnuabu8iA+jc6H2+06B5Au4ZAnr7E4BOEkUgGoAWtQRQi3fQohJA81P0+VmX5gm4V39C72ssB7TuixYAbReAFtUB0OY4FQA68xIUQE8AmpoBQAE0XXNAO+BUBGhuik6\/rqp5Au6pALrgxABouwC0qGcBNPsStI+fAOoG0NEEAAqg6XoA2pqnHKDTz+n4\/QH0BKCpCQAUQNO1B7T967siQDMvQTv5+XyABpsF0Io7dw5Ai8qcDjtAGwM1BjR1+tNTAOglO0CTL\/sBtOLOnQPQojoA2hyoMkDTL0EB9BKAxicAUADNlD4ruwM0NQaAXgLQ+AQA2gzQPXQ4pN5o8y7aP37yI0qN0Xq+5+m2yftCp5sNn6nY7rd\/PjKfFNsPt028Ak3U4RVo45d4r48+9wo0OQavQC8ZnNDpT9\/zr0DPb\/IKVDUALWvfgE4Of\/4BWid6Al4D0PgEAAqgmZ4K0PgcAHrJDND0bz4AaMWdOwegZT0ToImXoAB6CUDjEwAogGZ6LkCjgwDoJQCNT5DRdGmqCMQC0LIAFECvAWh8AgAF0ExPBWjl52tloifgNQBNTFDymxxlqSIQC0DL6gFoW6MygAbvF0DTAWhiAAAF0HT7AzTzCQygmbYAtPJ7KgDaLgAtC0AB9JrFCT3vMvMVAIDW3LtvAFqWe0Dvjw2gdQFo4v0DKICmA1AAvQagifcPoACaDkAB9Fp\/QE8AqhuAlgWgAHoNQBPvH0ABNFPyeFgO3BCpDKDhewXQdO0Bjfx9BqCqAWhhAAqgl4wATX9JA6CyCEQC0MKeCtDCi9qkegJuAWji\/QMogGZ6dkC7+QmgACp+BIYBaGEA2mauMNUTcAtAE+8fQAE00\/4AvV8EoEsyOaGTX+0E0FGyCEQC0MKcA\/p45ADQsp8YAegtAE28ewAF0ExdAG3HFIBaBaCJdw+gAJoJQJvMFUn1BNyyAnT8Zvqt8NbJ26UC0HYBaGEA2mSuSKon4BaAJt49gAJoJgBtMlck1RNwC0AT737wduVhkUUgEoAWBqBN5oqkegJubQJo6lHK3huAtgtAC0sej10CWv5JbJ\/qCbi1AaDpRym7HYC2C0AL2y2ghV8eAugtAE28dwAF0Ex9AG3mFIBaZQRo5k0AFT8CwwC0sCcHtJ+fTwHopF0AOrgAQAE0KHU8XAA6eNjBhi+XAuiyADT13gEUQDMBaKdkT8A1eUDDSwG0XQBaGoB2SvYEXHMA6PRiAG0XgJa2U0AT7xBAUwFo6p0DKIBmAtBOyZ6Aa01O6Gi9ACp+BIYBaGl9AG0kFYCaBaCpdw6gAJoJQDslewKuAWjqnQMogGZ6LkCnlwPoa0KAxm8JoD0D0NIUAF19MAHULABNvW8ABdBMGoCuO5nDuwFoXQCaet8ACqCZ9glo8gFX\/maNQbIn4BqApt43gAJoph0CejqkHxBAEwFo6n0DKIBm6gRo9vAB6PapAxp5TgG0XQBaGoB2SvYEXGsO6IJdA+jmAWhpANop2RNwDUBT7xtAATSTCKCrjiaA2gWgqfd9v6T2tOgiEAagpe0U0LIxAPQegKbeNYACaK7E+dgpoGt\/rlGf7gm4pA9ocDGAtgtAi\/ML6OhOAFoXgKbeNYACaK5OgOaOH4BunxKgCcYAtF8AWhyA9kn3BFwC0Mx7Tl63KGEEggC0OADtk+4JuASgmfecvG5RwggEAWhxEoCuOpwZQMvu1NNPAPUAaOK7r+krlySMQBCAFrdDQEvvBKCP2pzQwYbrAD1fshGg9wsBFEAjAWifdE\/AJQCNv+MTgAJotsTxAFDjdE\/AJQCNv+MTgAJotl6AZs4fgG4fgMbf8QlAATSbW0An33IA0KoANP6OTwAKoNk0AF1xOtcBuvZzujrdE3AJQKPvd3gpgAJoJADtk+4JuASg0fc7vBRAATQSgPZJ9wRcAtDo+x1eCqAAGml7QC9XAOi2AWj0\/Q4vBVAAjQSgfdI9AZekAA1vHDsjANouAC3vdi6an87kAdwK0K5+AiiAih+BYQBaHoB2SfgEnNMG9Pp26yOaGBFAATSXBqDLjyeAWgagc4BWHxdlBKYBaHlOAZ3OC6BVASiADgLQ8gC0S8In4ByAAuggAC3vyQB93BFABwEogA4C0PIAtEvCJ+AcgALoIAAtrxug+QMKoJsGoDN\/wQMogMYTAXTpAQVQ0wAUQAcBaHkA2iXhE3CuNaDLlr0K0NrnE0AfAWh5ANol4RNwrtEJXbnslYDOvY\/8DQD0EYCWB6BdEj4B57QAnd7cDNDcLQD0EYCW5xPQ6a2XA9rXTwBdd7\/hW7WAHgC0NAAtD0C7JHwCzj0FoNkpktcBKIDm6gdo4gwCqEAeAJ1cuhTQw0pA499AWJ4yAtMAtDwVQOt+0QVA63oGQPNjAOggAF1Q0XfoDd9T6tJOgJp9SbYs5RNw2gugs9\/iBNCyAHRBANoj5RNwegJAZxUE0EEAuiAA7ZHyCTg9A6AzY8zSCqAAGg9Ae6R8Ak77B3T2SQfQYQC6oI0BXfc5BqC27R7QuTkAdBiALkgF0CVHNLgpgNa1c0Dn5wDQYQC6oOiPJxt\/PkUvA9Dt2jegBWcMQIcB6IKeE9DOfgLouvtlHmQy8fnK1Hs5jG41\/x4jV9WfF2kEJgHoggC0R8on4CQH6Oj21YAe5gHN\/gAfQAE0E4D2SPkEnPYOaOKB5y9+XAegAJro2QC1+oRYlvIJOO0b0Pj3AzK3iV0HoACaCEB7pHwCTrsGNP4DqeyNItcBKIAmkgF0wSEFUOP2C+jkMgAtCUAXBKA9Uj4Bp3Yn9HXNfQCNvZvpRQVf5seuA1AATeQQ0PCGAFqXC0DHj2IJaHY8AAXQXADaI+UTcAJQAB0FoEuKffcIQI2TPgE7BjT415MAtCAAXRKAdkj6BEgDmjogpYDOXTA7HoDWAvr+zWcAavWecpeVnlIAte55AC35UX3RIy9NG4FxxoC+PQKo2XvKXdYP0N5+Aui6+yX\/CKAtMwX0w9sjgNq9p9xlALpVaoDGv\/E5C2jJV+wFP2iKXAuga\/vJF0cANXxPucv6AHq+O4COcw\/o7arwR0b1gBr9jauNwDhDQL86Hr\/7YwC1e0+5ywB0qxoDunzdZoBmHjl30fRqAF0L6Lf\/8OM7ALV7T7nLCk9p5GYAWtcTAVr4bdHJ1QBa0QjQb9yqfEyhDofr\/\/V5T7nLCqeoHfbl\/n0+Xrrtefm6H\/cY3DfzMIl3NHfiZh\/39eqnPjAAmk0H0MIxANRNGwN6AFCLTAF9bdkr4lavtS3q9yX87Pefyr5Q4kt483b6JXz0\/Rb8pD68ni\/hATTVpoCOLwHQjdoLoEXnqeQbpZPrDc6LNgLjqgF9d7z0fQC1f1e5SwB0o3QBTf6QEUDbBaBLAtAOSZ8AL4CO3gDQdlUDOuUUQO3eVe6SXoB29xNA192xDtDE8wygcwHokqQALTmotYAWvhvTpE\/AfgHNP\/br2\/OzACiAposckI0ALXpxGLsFgNbV7IReN60F6NIvewAUQLMJAVoiKIDaJwfovIhxQNM\/dEo8zPwLUAAF0HxKgBboBqD2eQf0ccXgJsmnuehl6ugWAGresnlafaQmRV71bQjo7ItQALVvp4DOPHbhaAAKoNnEAJ0TFEDte2JAi0YBUABNpwboDKEAat9zARq\/eW4UAAXQdHqAZgUFUPueF9CyUQAUQNMJAlp2+h8BaF2ygKZ\/42gW0JK\/g4sGA1AAzSYJ6DJaAbSu\/QBahGP05W3u1gAKoOl8ARq9fCmgS25tkvYJeDZA749eOgqAAmi6pwN0g8Tne05AC8cCUADNBqDtE59vh4Bmv09zG6t4FAAF0HQA2j7x+ZwAOnxzHtC5Ry+dCkABNBuAtk98Pj1A4\/e0BbR8FAAF0HT9AA1PNYBK9GyALntVCaAAmgtA2yc+344ATXzxHzz6gpkAFECzAWjzxOdzDujoVq93nAN0ySgGv\/cmf0QHAeiytgM0czIBtGN7BHTm0QE0HYAuyxOg8YvVNwyg6+6ZOS+1gC4aBUABNJMkoInrALRFbQFd5U9bQBeOAqAAmglAmyc+X7v9nZ+vDQA1\/c8dACiAZgPQ5onPtydA17\/L9CgACqCZALR54vMBaH4UAAXQTADaPPH5ADQ\/CoACaCYAbZ74fACaHwVAATQTgDZPfL69AWr7n8wGUADN5gjQxB3UNwygNvcsB3TNe0xPAqAAmglAmyc+nxdABxcAaLsAdFkA2jzx+XYF6MnkP\/4xfrz6B5E\/ooMAdFkA2jzx+UQBDe8YBTQ8VQBaFYAuSxPQ6JUA2qTdAbrmHWYmAVAAzQSgzROfD0DzkwAogGYKzweAGic+H4DmJwFQAF0UgBonPh+A5icBUABdVNPPp\/Sb2dvm7iC\/YfH5ADQ\/CYAC6KIA1Djx+fYFqHUACqALA1DjxOcD0JlJ6pM\/ooMAtDZVQFO3l9+w+HwA2jz5IzoIQGsDUOPE51MENPr78ADaIwCtDUCNE5+v4f6iLyQL7wmg2wSgtXUCNH\/yAbRbqoDGHu0WgLYLQGuTADT7LbBx8hsWnw9Amyd\/RAcBaG0Aapz4fADaPPkjOghAawNQ48TncwPo47E+hhdJJ39EBwFobQBqnPh8ANo8+SM6CEBrA1DjxOcD0ObJH9FBAFobgBonPh+ANk\/+iA4C0NpEAU3eXn7D4vMBaPPkj+ggAK0NQI0Tn68poGuBA9CtAtDaANQ48fkAtHnyR3QQgNYGoMaJzycKaO5CAG0XgNYGoMaJzycJaOLhbn8A0HYBaG0agAbXA2ijALR58kd0EIDWBqDGic8HoM2TP6KDALQ2ADVOfD4AbZ78ER0EoLU1\/bXAxBtzN87dXn7D4vMBaPPkj+ggAK0NQI0Tnw9Amyd\/RAcBaG2agKZvLr9h8fk8A+rDT\/0jOghAawNQ48Tna7k\/4\/+V9tdHA9B2AWhtAGqc+HwA2jz5IzoIQGsDUOPE5wPQ5skf0UEAWhuAGic+H4A2T\/6IDgLQ2voAOnv0AbRTANo8+SM6CEBrEwG0+Pfu5TcsPh+ANk\/+iA4C0NoA1Djx+QC0efJHdBCA1gagxonPB6DNkz+igwC0NgA1Tnw+AG2e\/BEdBKC1Aahx4vMBaPPkj+ggAK1NEtDMzeU3LD4fgDZP\/ogOAtDaANQ48fkAtHnyR3QQgNYGoMaJz+cYUCd+6h\/RQQBaG4AaJz4fgDZP\/ogOAtDaANQ48fkAtHnyR3QQgNYGoMaJz+cI0NdjAKDtAtDaVAAtvbn8hsXnA9DmyR\/RQQBaW9PPp9gfC24NoO0C0ObJH9FBAFobgBonPh+ANk\/+iA4C0NoA1Djx+doC2uTxALRdAFqbIqC5W8tvWHw++f0NAtDmAWhtAGqc+Hzy+xsEoM0D0NoA1Djx+eT3NwhAmwegtQGoceLzye9vEIA2D0BrA1DjxOeT398gAG0egNYGoMaJzye\/v0EA2jwAra0LoCVHH0C7JL+\/QWNAvfjpasUAWpsMoIU3l9+w+Hzy+xsEoM0D0NoA1Djx+eT3NwhAmwegtQGoceLzye9vEIA2D0BrEwQ0e2v5DYvPJ7+\/Qbd\/tx5A2wWgtQGoceLzye9vGIC2DkBrA1DjxOeT398wAG0dgNYGoMaJzye\/v2HXr+EBtF0AWhuAGic+n\/z+RgFo4wC0NgA1Tnw++f2NAtDGAWhtAGqc+Hzy+xsFoI0D0NpaDlxG4rJby29YfD75\/Y26fBMUQNsFoLXpAHq\/FYA2TH5\/4wC0bQBaG4AaJz6f\/P7GPQB146erFfcAlNZ2OEz\/UHLzshvTU3RYeIaoKl6BLk7vFWj+xvIbFp9Pfn+TXk4Dr0DbBaC1Aahx4vPJ728SgDYNQGsDUOPE55Pf36Tz1\/C3P2w8SXGeVgygtQGoceLzye9vGoC2DEBrA1DjxOeT3980AG0ZgNYGoMaJzye\/v2mHomOhlKcVA2htAGqc+Hzy+wsC0IYBaG0Aapz4fPL7CwLQhgFobT0ALT3719sBaMvk9xcEoA0D0NoA1Djx+eT3F3QoORZKeVoxgNYmB+jMjeU3LD6f\/P7CALRdAFobgBonPp\/8\/sIAtF0AWhuAGic+n\/z+wi5fw\/vx09WKAbQ2ADVOfD75\/YV9BNBmAWhtAGqc+Hzy+wsD0HYBaG0Aapz4fPL7Czv\/R0EBtE0AWlvTgRf+Ch+Atk9+f2EfTwDaKgCtDUCNE59Pfn9hANouAK0NQI0Tn09+f2FnQA8A2iQArU0J0FPBTwvkNyw+n\/z+wj5efpMJQFsEoLWpATp3W\/kNi88nv78wAG0XgNYGoMaJzye\/vzAAbReA1gagxonPJ7+\/MABtF4DWBqDGic8nv7+w88QA2iYArQ1AjROfT35\/YQDaLgCtDUCNE59Pfn9hV0C3nqI8TysG0NoA1Djx+eT3F+ZtYk8rBtDaANQ48fnk9xfmbWJPKwbQ2gDUOPH55PcX5m1iTysG0NoA1Djx+eT3F+ZtYk8rBtDaOgC64AcA8z9sld+w+Hzy+wvzNrGnFQNobQBqnPh88vsL8zaxpxUDaG0Aapz4fPL7C\/M2sacVA2htAGqc+Hzy+wvzNrGnFQNobQBqnPh88vsL8zaxpxUDaG0Aapz4fPL7C\/M2sacVA2htAGqc+Hzy+wvzNrGnFQNobW0HLvkf6RjfHkDbJr+\/MG8Te1oxgNYGoMaJzye\/vzBvE3taMYDWBqDGic8nv78wbxN7WjGA1qYG6Nwt5DcsPp\/8\/sK8TexpxQBamxag88lvWHw++f2FeZvY04oBtDYANU58Pvn9hXmb2NOKAbQ2ADVOfD75\/YV5m9jTigG0NgA1Tnw++f2FeZvY04oBtDYANU58Pvn9hXmb2NOKAbQ2ADVOfD75\/YV5m9jTigG0NgA1Tnw++f2FeZvY04oBtDYANU58Pvn9hXmb2NOKAbQ2ADVOfD75\/YV5m9jTigG0NgA1Tnw++f2FeZvY04oBtDYANU58Pvn9hXmb2NOKAbQ2ADVOfD75\/YV5m9jTigG0tvaAmvqpv2Hx+eT3F+ZtYk8rBtDaANQ48fnk9xfmbWJPKwbQ2gDUOPH55PcX5m1iTysG0NoA1Djx+eT3F+ZtYk8rBtDaGg\/8oieAKiW\/vzBvE3taMYDWBqDGic8nv78wbxN7WjGA1gagxonPJ7+\/MG8Te1oxgNYGoMaJzye\/vzBvE3taMYDWBqDGic8nv78wbxN7WjGA1gagxonPJ7+\/MG8Te1oxgNYGoMaJzye\/vzBvE3taMYDWBqDGic8nv78wbxN7WjGA1gagxonPJ7+\/MG8Te1oxgNYGoMaJzye\/vzBvE3taMYDWBqDGic8nv78wbxN7WjGA1gagxonPJ7+\/MG8Te1oxgNYGoMaJzye\/vzBvE3taMYDWBqDGic8nv78wbxN7WjGA1gagxonPJ7+\/MG8Te1oxgNYGoMaJzye\/vzBvE3taMYDWBqDGic8nv78wbxN7WjGAZcDIZgAACp5JREFU1gagxonPJ7+\/MG8Te1oxgNbWHFBbP\/U3LD6f\/P7CvE3sacUAWhuAGic+n\/z+wrxN7GnFAFpb64EBVCv5\/YV5m9jTigG0NgA1Tnw++f2FeZvY04oBtDYANU58Pvn9hXmb2NOKAbQ2ADVOfD75\/YV5m9jTigG0NgA1Tnw++f2FeZvY04oBtDYANU58Pvn9hXmb2NOKAbQ2ADVOfD75\/YV5m9jTigG0NgA1Tnw++f2FeZvY04oBtDYANU58Pvn9hXmb2NOKAbQ2ADVOfD75\/YV5m9jTigG0NgA1Tnw++f2FeZvY04oBtDYANU58Pvn9hXmb2NOKAbQ2ADVOfD75\/YV5m9jTigG0NgA1Tnw++f2FeZvY04oBtDYANU58Pvn9hXmb2NOKAbQ2ADVOfD75\/YV5m9jTigG0NgA1Tnw++f2FeZvY04oBtDYANU58Pvn9hXmb2NOKAbQ2ADVOfD75\/YV5m9jTigG0NgA1Tnw++f2FeZvY04otAf3Jbx2Pn3znhwBqmrGf+hsWn09+f2HeJva0YkNA\/+R46ZM\/AlDl5DcsPp\/8\/sK8TexpxXaAvjt+8nsfP\/7sy+M3fwSgwslvWHw++f2FeZvY04rNAP3w5fH753++f3P9J4CKJr9h8fnk9xfmbWJPKzYD9P2b2yvPt8fvAahw8hsWn09+f2HeJva0YjNA7wGodvIbFp9Pfn9h3ib2tGJzQN+\/uf8U6Ru3qh+TiMhB9YB+dfzs9Y8ASkTPVDWg7\/g1JvHkNyw+n\/z+wrxN7GnFxoC++\/yT6c\/gAVQr+Q2Lzye\/vzBvE3tacTWg766\/Pn9l86vI608A1Up+w+Lzye8vzNvEnlZsCuifRP0EUKnkNyw+n\/z+wrxN7GnF1YA++vD2+O3pv4QEoHLJb1h8Pvn9hXmb2NOKDQF9e\/z0p9Erls3T6iNtlbeB5TcsPp\/8\/sK8TexpxXaAfpXyE0Clkt+w+Hzy+wvzNrGnFZsB+v7N8bXPJlctm6fVR9oqbwPLb1h8Pvn9hXmb2NOKzQB9dwRQF8lvWHw++f2FeZvY04rNAM20bJ5WH2mrvA0sv2Hx+eT3F+ZtYk8rBtDavA0sv2Hx+eT3F+ZtYk8rBtDavA0sv2Hx+eT3F+ZtYk8rBtDavA0sv2Hx+eT3F+ZtYk8rBtDavA0sv2Hx+eT3F+ZtYk8rBtDavA0sv2Hx+eT3F+ZtYk8rBtDavA0sv2Hx+eT3F+ZtYk8rBtDavA0sv2Hx+eT3F+ZtYk8rBtDavA0sv2Hx+eT3F+ZtYk8rBtDavA0sv2Hx+eT3F+ZtYk8rBtDavA0sv2Hx+eT3F+ZtYk8rBtDavA0sv2Hx+eT3F+ZtYk8rBtDavA0sv2Hx+eT3F+ZtYk8rBtDavA0sv2Hx+eT3F+ZtYk8rBtDavA0sv2Hx+eT3F+ZtYk8rBtDavA0sv2Hx+eT3F+ZtYk8rBtDavA0sv2Hx+eT3F+ZtYk8rBtDavA0sv2Hx+eT3F+ZtYk8rBtDavA0sv2Hx+eT3F+ZtYk8rBtDavA0sv2Hx+eT3F+ZtYk8rBtDavA0sv2Hx+eT3F+ZtYk8rBtDavA0sv2Hx+eT3F+ZtYk8r7gHokr7xja0n2HtsuC721zzHKwbQ3ceG62J\/zXO8YgDdfWy4LvbXPMcrBtDdx4brYn\/Nc7xiAN19bLgu9tc8xysG0N3Hhutif81zvGIA3X1suC721zzHKwbQ3ceG62J\/zXO84s0BJSLyGoASEa0MQImIVgagREQrA1AiopUBKBHRygCUiGhlAEpEtLJtAH3\/5ps\/2uQd77+vPz++Nt3x2+P3t5nJU+++9Zv\/7qe3P3\/4b7\/9Tzmnjfrw5fF7W89gEIDuLACt693L4r7\/+DPntFUvB\/XTn87fTD0A3Vlff55cLYAW9O74rc8\/u\/357bfSy6TK3n7zX3zyR1sPUR+A7iwArevd8dtf3Db4\/s0\/55y26v2bT398\/Gz+duptC+hPfuvlC6Zv\/e75lfzLZ\/ePf\/14\/M4PNxloP00B\/dkfvHxN\/xuXrb6s+Ce\/fvzkd3fwhVO73h0\/\/cHtL5p3n\/z78Jy+O37vx58fv72D107b9rLH+8uol4P59Re3g+ltv5sC+ie3b9ad\/yJ6e\/xn0W\/c0bImgN6+JfrJmYS3x395XzclegH0\/9y+hn\/7zf8ZntN3x998Wekevnu3bW9fvn5\/\/ZLo7fF3Pve63y0BfXf85A9f3vjx8fy9kLcv+\/vpx5e\/fPgys6oxoO\/fHL\/7048ffnD5e+llxZ\/+kBXnewH0\/355WeH7N59Fzuk7T5\/dun39+csW391WOTyY3va7JaBvr7\/H8OHL8+LeXvf2dhe\/27Bhj5\/Cn\/8+\/+r2cvOr81rfXl\/ef+XrhHbu\/En91eWvmJf\/Hzmn7457+NHH5l0O5Ps3110OD6a3\/W79Q6T\/97\/\/7RfHK6CXT\/Wv+AKzrhGgH768ncbLX\/g3CPgJXq4zoO+uu\/vmjyLn9B1\/\/Rj04foi\/3YihwfT2343BfRnX9w+179\/XyKAVjb6Ev7lRdPgl0Jv33K6q0qRzp\/Al+P59eefxc6pt09wzb6+fpv53fHm6ONgetvvloCeXyx98hu\/8z++BFC7RoC+fwOgC7t8Ap83df46PnJO33FADfrqfi6vP90cAuprvxsC+vLy6LPzXzYfANSwCaBDKwG0oHfXb8R9dvkiM3JOvX2CSzb4i\/36GzgAWtjXv3X59L58lr9+dr9sE0DNmn4JP\/iJ+23FmV+1pyugL3D+9\/MXmRdAx+fU2ye4ZPclfv359TdwHgfT2357A3pZ2OspvR7Md8frj4gB1KIxj68\/cb99YXp5gxXnumzq5bXQb5+1HAF6PafePsElu\/87cdf\/osjwYHrbb2dAXxb2squffXFe2\/VLow8\/OAKoYcHvgX76w4+3X7G7\/artkd8DzXT9IcZX13+jY\/Al\/Os59fYJrtjg90C+uv7N\/vgdcG\/77f090HeD\/1DQ7c+f\/uC8MwC1afIF+rvbbzV99+Pj30T67jaT+egK6O0\/FfT6i\/SDc+rtE1yxwSf512c1Xw\/mWQBv++3+Q6Svf+t4\/OS7199U+MkXx+O3fu\/160sAtSj+78Kf\/02ay39u4PPjJ7+3zWBOugJ6+49V3l4qDc+pt09wwYbfmT+\/vL8dzG9dDqa3\/fJfpCeiTfP8nwkDUCLaNAAlIloZgBIRrQxAiYhWBqBERE8YgBIRrQxAiYhWBqBERCsDUCKilQEoEdHKAJSIaGUASkS0MgAlIloZgJLv\/uwf\/OXWI9DzBqDkuv9w+EUApc0CUHIdgNKWASi5DkBpywCUXAegtGUASo7708Olf7j1HPSsASg5DkBp2wCUXMeX8LRlAEquA1DaMgAl1wEobRmAkusAlLYMQMl1AEpbBqDkOgClLQNQch2A0pYBKLkOQGnLAJRcB6C0ZQBKrgNQ2jIAJdf96eEX\/s3P\/2LrKehZA1By3V+d\/134v7v1FPSsASj57s9+6QVQvoqnbQJQIqKVASgR0coAlIhoZQBKRLQyACUiWhmAEhGtDECJiFYGoEREKwNQIqKVASgR0coAlIhoZQBKRLQyACUiWhmAEhGtDECJiFYGoEREKwNQIqKVASgR0coAlIhoZQBKRLSy\/w\/zA6XaPQ0pEwAAAABJRU5ErkJggg==\" width=\"672\" \/><\/p>\n<div id=\"day-moving-average\" class=\"section level2\">\n<h2>3 day moving average<\/h2>\n<p>Let\u2019s say we want to calculate a 3 day moving average. Two ways to approach this:<\/p>\n<ol style=\"list-style-type: decimal\">\n<li>\n<p>on any given day, take average of day before, current day, and next day. In other words use data from <em>both sides<\/em> of current day.<\/p>\n<\/li>\n<li>\n<p>on any given day, take average of prior two days and current day. In other words use data from only <em>one side<\/em> of current day.<\/p>\n<\/li>\n<\/ol>\n<p>The first approach is the default of the <code>filter()<\/code> function. The first argument is the vector of data we want to calculate the moving average for. The second argument is the <em>filter<\/em> we want to apply to the data. These are <em>coefficients<\/em> we apply to the data before summing. For a 3 day moving average this is a vector of three <code>1\/3<\/code>, which we can create using <code>rep(1\/3, 3)<\/code>. The <code>sides=2<\/code> argument says use both sides of the data.<\/p>\n<pre class=\"r\"><code>d$ma3 &lt;- stats::filter(d$y, filter = rep(1\/3, 3), sides = 2)<\/code><\/pre>\n<p>Let\u2019s look at the first three values. There\u2019s a NA for day 1 because we have no data for the prior day.<\/p>\n<pre class=\"r\"><code>d$ma3[1:3]<\/code><\/pre>\n<pre><code>## [1]        NA 0.7735613 1.1199731<\/code><\/pre>\n<p>The first 3 day moving average is 0.7735613 calculated at day 2. This is the average of days 1, 2, and 3.<\/p>\n<pre class=\"r\"><code>mean(y[1:3])<\/code><\/pre>\n<pre><code>## [1] 0.7735613<\/code><\/pre>\n<p>Notice we can get the same result by multiplying each data point by <code>1\/3<\/code> and summing. This is the \u201cfilter\u201d applied to the data by the <code>filter()<\/code> function.<\/p>\n<pre class=\"r\"><code>sum(1\/3 * y[1:3])<\/code><\/pre>\n<pre><code>## [1] 0.7735613<\/code><\/pre>\n<p>One reason to calculate a moving average is to smooth out day-to-day variation. Below we plot the original data with the 3 day moving average superimposed.<\/p>\n<pre class=\"r\"><code>ggplot(d) +\r\n  aes(t, y) +\r\n  geom_line(alpha = 1\/4) +\r\n  geom_line(aes(y = ma3), color  = &quot;red&quot;)<\/code><\/pre>\n<pre><code>## Warning: Removed 2 rows containing missing values or values outside the scale range\r\n## (`geom_line()`).<\/code><\/pre>\n<p><img decoding=\"async\" role=\"img\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAABUAAAAPACAMAAADDuCPrAAABMlBMVEUAAAAAADoAAGYAOjoAOmYAOpAAZrYzMzM6AAA6OgA6OmY6OpA6ZpA6ZrY6kNtNTU1NTW5NTY5Nbm5Nbo5NbqtNjshmAABmADpmOgBmOjpmkLZuTU1uTY5ubk1ubm5ubo5ujo5ujqtujshuq6tuq+SOTU2Obk2Obm6Ojk2Ojm6Ojo6Oq6uOq8iOyOSOyP+QOgCQZjqQttuQ2\/+rbk2rjm6rq46rq8iryOSr5Mir5P+wsLC2ZgC2Zjq2kGa2ttu229u22\/+2\/\/+\/v7\/Ijk3Ijm7Iq27Iq6vI5KvI5OTI5P\/I\/8jI\/\/\/bkDrbtmbbtpDb27bb2\/\/b\/\/\/kq27kyI7kyKvkyMjk5Kvk\/+Tk\/\/\/r6+v\/AAD\/tmb\/yI7\/29v\/5Kv\/5Mj\/5OT\/\/7b\/\/8j\/\/9v\/\/+T\/\/\/\/KQIzdAAAACXBIWXMAAB2HAAAdhwGP5fFlAAAgAElEQVR4nO29DbvsSJZeVQOYNmD7VH8N4MLY00z1YOxpMD0wTGIw3DsDNGMbu7qBlnxdzdTU\/f9\/gZPfEYpQKEIRIb1budbz3HsylZJyn1db6+grlV98BgCAVXyxdwEAAFZBoAAAK0GgAAArQaAAACtBoAAAK0GgAAArQaAAACtBoAAAK0GgAAArQaAAACtBoAAAK0GgAAArQaAAACvpItChgLKxFbBWsHzC4vXJ5xdirWJLESPQWqwVLJ+weH3y+YVYq9hSxAi0FmsFyycsXp98fiHWKrYUMQKtxVrB8gmL1yefX4i1ii1FjEBrsVawfMLi9cnnF2KtYksRI9BarBUsn7B4ffL5hVir2FLECLQWawXLJyxen3x+IdYqthQxAq3FWsHyCYvXJ59fiLWKLUWMQGuxVrB8wuL1yecXYq1iSxEj0FqsFSyfsHh98vmFWKvYUsQItBZrBcsnLF6ffH4h1iq2FDECrcVawfIJi9cnn1+ItYotRYxAa7FWsHzC4vXJ5xdirWJLESPQWqwVLJ+weH3y+YVYq9hSxAi0FmsFyycsXp98fiHWKrYUMQKtxVrB8gmL1yefX4i1ii1FjEBrsVawfMLi9cnnF2KtYksRI9BarBUsn7B4ffL5hVir2FLECLQWawXLJyxen3x+IdYqthQxAq3FWsHyCYvXJ59fiLWKLUWMQGuxVrB8wuL1yecXYq1iSxEj0FqsFSyfsHh98vmFWKvYUsQItBZrBcsnLF6ffH4h1iq2FDECrcVawfIJi9cnn1+ItYotRYxAa7FWsHzC4vXJ5xdirWJLESPQWqwVLJ+weH3y+YVYq9hSxAi0FmsFyycsXp98fiHWKrYUMQKtxVrB8gmL1yefX4i1ii1FjEBrsVawfMLi9cnnF2KtYksRI9BarBUsn7B4ffL5hVir2FLECLQWawXLJyxen3x+IdYqthQxAq3FWsHyCYvXJ59fiLWKLUWMQGuxVrB8wuL1yecXYq1iSxEj0FqsFSyfsHh98vmFWKvYUsQItBZrBcsnLF6ffH4h1iq2FDECrcVawfIJi9cnn1+ItYotRYxAa7FWsHzC4vXJ5xdirWJLESPQWqwVLJ+weH3y+YVYq9hSxAi0FmsFyycsXp98fiHWKrYUMQKtxVrB8gnvWt\/ptDSGfH4h1iq2FDECrcVawfIJ7yzQJYPK5xdirWJLESPQWqwVLJ8wAm2NtYotRYxAa7FWsHzCCLQ11iq2FDECrcVawfIJ71nfCYEKYCliBFqLtYLlE0agrbFWsaWIEWgt1gqWTxiBtsZaxZYiNi3Q5WtONsDQwr4g350ItDXWKrYUsXGBChjU0MK+IN+dO9Z3QqAKWIoYgdZiaGFfkO\/OXQW6vFcjn1+ItYotRYxAazG0sC\/IdycCbY21ii1FjEBrMbSwL8h35371nRCoBJYiRqC1GFrYF+S7c0+BZpyYlM8vxFrFliJGoLUYWtgX5LsTgbbGWsWWIkagtRha2BfkuxOBtsZaxZYiRqC1GFrYF+S7c7f6TghUA0sRI9BaDC3sC\/LduaNABwSqgKWIEWgthhb2BfnuRKCtsVaxpYgRaC2GFvYF+e5EoK2xVrGliBFoLYYW9gX57tyrvhMCFcFSxNYFur9BDS3sC\/LduZ9An\/8nkM8vxFrFliJGoLUYWtgX5LsTgbbGWsWWIkagtRha2BfkuxOBtsZaxZYiRqC1GFrYF+S7c6f67r201FLy+YVYq9hSxAi0FkML+4J8d+4mUP\/nHPL5hVir2FLECLQWQwv7gnx3ItDWWKvYUsQItBZDC\/uCfHci0NZYq9hSxAi0FkML+4J8d+5T3wmBymApYgRai6GFfUG+O\/cS6PTBDPL5hVir2FLECLQWQwv7gnx3ItDWWKvYUsSWBZrzBQz9MbSwL8h3JwJtjbWKLUWMQGsxtLAvyHfnLvWdEKgOliI2LlABgxpa2Bfku3MngYaP4sjnF2KtYksRI9BaDC3sC\/LdiUBbY63i1RHvYAMEWsvLdOdW7FHfCYEKUSHQzXWAQGt5me7cin0EGnsYRT6\/EGsVI1AEqou8ABBoa6xVjEARqC7yAkCgrbFWMQJFoLrIC2CH+k4IVAkEikB1kRfALgKNP44hn1+ItYoRKALVRV4ACLQ11ipGoAhUF3kBINDWWKu4RqBb+wCB1vIy3bkV29d3QqBSIFAEqou8APYQ6NyTCPL5hVireG3Ee9wcw7pA9zfoq3TnZiDQ1lirGIEiUF3kBbCzQJc6Sj6\/EGsVI1AEqou8ABBoa6xVjEARqC7yAkCgrbFWMQJFoLrICwCBtsZaxQgUgeoiLwAE2hprFVcIdHMfINBaXqU7NwOBtsZaxQgUgeoiLwAE2hprFSPQTQR6jQqBFiIvAATaGmsVI1AEqou8ABBoa6xVvDLiXfZItxBoJz58eP4PsB6\/h+goo1wW3M5Ljy3QYl7kz\/t2sAXaGmsVswW6oUB3N+iLdOd2INDWWKsYgSJQXeQFgEBbY63iGoFu7QMEWsuLdOd2INDWWKsYgSJQXeQFgEBbY61iBIpAdZEXAAJtjbWKESgC1UVeAAi0NdYqRqAIVBd5ASDQ1lirGIEiUF3kBYBAW2Ot4nUR7+MDBFrLa3Tnhmxe36SDEOjeIFAEqou8ABBoa6xVXCXQjYWAQGt5je7cEATaGmsVI1AEqou8AFbXd1rZCtPJ0rOZyW\/vNkyhvsSnINAtBbp3675Gd26IVYHqGlR9iU9BoAhUFwQaTpd+7oNAu4NAEaguCDScLv3cB4F2B4EiUF0QaDhd+rkPAu0OAkWguhxaoKtaAYGKgUARqC4INJwu\/dwHgXZnVYs+8990SSDQWl6iO7cEgbZGfYlPQaBbCPQREwItAoGG06Wf+yDQ7iBQBKrLYQX63gfrLIZAxUCgCFSXIwt0XS8gUDEQKALVBYHGJkw990Gg3UGgCFQXBBqbMPXcB4F2B4FuKtCdDfoS3bklCLQ16kt8CgJFoLocXKAregGBilEp0E2FgEBreYnu3JIaga7qBQQqBgJFoLog0OiEiec+CLQ7a1rUjR+B5oBA14FAoxMmnvsg0O4gUASqy1EFeu2CFR4LpkCgO4NAEaguxxboimZAoGogUASqCwKNT5gY4IFAu4NAEaguCDQ+YWKABwLtTq1AtzQCAq3lFbpzU5briy7wdgJNzyOe39o7QW2C+hKfgkARqC6HEGhkiT8EWtoNCFQNBIpAdTm4QMu7oZFA974nQwL1JT4FgW4r0H1b9xW6c1MQaGvUl\/gUBIpAdbEv0PjuMgKdRX2JT1nRon74CDQDBLqOgwr0Maj4YCQCVQOBIlBdji7Q4m5AoGogUASqCwKdnTJrDgi0O9UC3XBZmBXoXp88CHiB7tyWDIEmpYdAp6gv8SllLTqeQaCPejJHRKArMS\/QEwItRH2JT1kh0HH0hiHQRRDoSg4g0LT0Ss8iIVA1SgV6l+hzGAJdBIGu5PACLW0HBKpGUYtexXnyt0MR6CIIdCUIdH7KnBkg0O4UCvT8\/zl8BDog0P5YF+ipq0CvmzMIdFdKWnR8CnS42xSBZoBAV2JfoENkifvtUNQP7tjXjRgEui9lAj3\/f88ega4S6K69e+Tu3IVqgRa2gzP2iEAVqBfodgsDgdZy5O7chRyBBku8iUDP9kSg+1PQoiMCndaTOSICXYlxgZ5aC9T3JwIVoEiglx+P7Dffh0egtRy4O\/dhSaDuj+ngyJMlnHVvHBCoAggUgeryEgIt6Ifn3t94\/YFA9ya\/RUcEGtSTOSICXckLCLSoHx4XwIy3nwh0b0oEev2JQJ\/1ZI6IQFdyMIFON0Eiz9Jcx31cg41A9weBIlBdbAv0NBHo\/fN7lQJ1Pki9ZNBofvGL+1VQX+JTslt0DH0Z\/YPaEQRay2G7cy8WBOr\/HC8KnTZAyUHQ86jujSgQ6O4UCPT2IBDoZksDgdZy2O7ciyyBPva8L\/9NbwdZ0hDvo3o38kGgu5PbopENUASKQDtzLIFeHge3gywWqPMcge5OvkBvDxCoU0\/miAh0JaYFeooKNDToHgLVNaj6Ep+S0aK3I9fusxsbHwQ9hkD37N0Ddue+pAXqPXquQRODIlAX9SU+ZblFT\/6RawTq1JM5IgJdyaEE+ny2+o7kp4l8EejuLLbo6fK9gqOz+J+vIdA8EOhKDiRQbw1aa9CzQN3nCHR3lgU62XFAoE49eeMF162UvElTDtede5Oo7zQR6OA+GxDoDOpLfMpSi15P2Y0INFpP3ngIdC22Beo+HicCHYIBOUwPnw7hZaV+eQi0Nwstegt7bmlva1AEWsvBunN\/8gUaDI9vk6SZbIAi0P1ZEuj1fwQarydvPAS6lsMINLYCIdAY6kt8SrpFbzGPCDReT954CHQtxxFoZPiKO5IjUDmSLfrc2zhNB91fiAzsBgKt5VDdqcB8fadFgQ7lAg0+xYRA9ybVok9\/Pj+\/Owne\/5aPziDQWo7UnRKkBOo8iZ9zL\/8k39SfCHR3kgK9\/XSXEgJ168kbD4Gu5TACPUVfKN6BQ6ByJFr0hECX6skbD4Gu5SACHWcEOhQKNDgEikB3Z75FHX+OzyM6CNStJ2+8aTz7Ne9xulOExNrjedJ5VnEhdXAIFIHuTkKg9wfeXbSjAt1ocSDQWo7TnSIsb34MU8v5+\/bhoASBPy8btwh0T2Zb9DQV6Gky2HkRgSZBoGs5iEDdp7HLWBDoE\/UlPmWuRV1\/ugsZgbr15I2HQNdyeIH6u3dLIFA9Zlo0dqrwNHnBeRWBpkCgazEr0NNkBZoV6FAg0PAQKALdnWyBDgg0rCdvPAS6FsMCfT72FRlbgaINEQ70TuY\/J0+0Uyy\/+Hosg\/oSn1Io0CB3BJpijH0NIwLN5ggCHdMCHeYFGq5rCFSOEoGe4n8WBwQ6x3jHG4pAczmAQKdbGLFNkDyBjghUkHyBDgg0qGdpjPs32foSRaC5HEags59EGWYPY0YEGhkPge7MokDd2xaeEKhfz9IYj80Pz6AINBerAn3Kb1wW6IBAHdSX+JQCgQ4IdFrP0hju\/lv8e\/m25SDdqUPGRYCTIVEJxjoiT6Dp0\/DzApU1qPoSn1Im0PDAduI0YnNsC\/RpUASay\/EEGl32WQIdEagiJQIdEOiknqUx\/DMI+xv0IN2pw5JAg0UeF2jk7FBEoNGJEei+INDmAp0\/gRAcENuag3SnDnMd8Fzij0H+T5+IQIN1DYFKgkA7CNRffbwrGjY8ZBzhIN2pw8LaEx73nhHoGAxCoDZYEqi\/aBGoX090cEKgN4Mi0EzsC3Q6KL7oT8sCjX0i4zocge5JqUAj4y7ck7AdBxDo\/IqwCQfpTh3y156kt8I7JUcEGp8Yge5LmUCjbLZNdQiBzp1N3YSDdKcO6bUn8umJGYGGm6AI1AYIdGuBDtGP5G3DQbpThyWBBsNmBTpdz3IFGj+Ffy8PgfYGgW4uUG\/DZFsO0p06JNeesUCgw4JA54+dI9BdaSDQzQ6C2hDos\/NnL1pqItA1kR+kO3VYEGgwbG6hhZugJ\/9jf\/NXbyDQXVkQaNaqjkBdMgQaOWdQTuyKiCUO0p06tBPoZBP0POJUoHOXQCHQHZmTwO0BAk3WExuKQNthWqBjoUCD6138C4gRqCQIFIHqYlyg4cCEQIe0QGcnRqC78sIC\/e7rn\/YR6GQXLpINAs3DskCjt9FOCnS6wYpADdBCoMNGVzY2FujHt90E2mITFIEKkFh7ImeF0gIdEOhwlBZ9AYF+\/\/Gts0AT915CoHm8mEBHf8Bz5NQtFBDorqQFmrmeGxTob37+1kegz85HoNUYFmhwse+yQIeEQJ8jBSQMGsnvPhME2oYXFeg3b28\/+zUCVce0QGNDFwQ6egMQqAFeVaA\/\/tPPnxCoOnYFGn7abHplZ\/Di4GyCTmyLQGVpItDkcZh2NBToGU+gP7hROc\/Pnz98uP77\/Hkcn0OCke4v1rxROF9Q4LxgwuX7bIy5aZypLk8fY4\/X4TNTj2NJI9xnQvf05J5u7mpetgwbcWCBfsiwIwJVJS7Q8+DVAnXGCUCgeryeQO+UbRFHBubtwqf34U\/TW\/HMjJRVpcsx9o+EmNt\/i90v5nl9W3yaM17PTK+FYRdekOQufPaRum0OgtoSaOpbjJMCvdgTgZ4xLNDoYAS6iPoSn4JA2wr0moP3wZJCgV63Phf1mCXZKcfoTiFm1p7oDQu1BKpqUPUlPqWNQLc5i3Qkgc5l+9h5R6CDZYFGBxcKdHouF4EKgkB7CzTaqHOboM+Dnwh0MCrQub+OqwWa7KQhtZoi0O4gUCGBuueOlvbhEagCcYHGv3IgR6CDd8UnAtUHgeoI1D\/3jkANCzQ2bvLSCgR6Q32JT5k9kzwU3XQNgd54CDR1CHRWoPPPYiMj0N0pEWhypwKB3lBf4lMQ6E4CjaSLQKcoCtTTYDOB+uscAjVDI4EWjbuWxgKNUlZPMOjZ+Q0EmuxwBLoLJ\/9DDgi0NXJLfAEEqirQhQ5HoDtwmn7IoblAB\/fOn9cfS\/5EoHuCQBGoLloCvW98Lgl0bl1AoBlILfEMEGgPgbpbIRUCTbU4At2Y5747Au2I0BLPIiHQIici0AsFAg0jm46JQHUE6h767C7QZxfdh0zeNvMNEWh\/EGgfgT7zWCXQxPeAP0dGoJvhnTlaL9DkO1x\/IlBbtBJok686X+D1BLqwxVK8DhyiO\/fAS3qtQPPeYRx9gaZ3ZdJviEC7g0BbCvTZnQsCjR0EdUdMfQ3jc2QEuhUFAj0h0BpUlnguCHQ3gU4D9jdAEehgVKDr1oQKgc6vqYkORaBtaCXQLQ6CvpZA0\/vwCHRT+gvUPQjqbSUiUGnmBVrYBwh0aCbQsz0XNkER6Kb4ST+fIdDWqCzxXBBoF4E6aawS6IBAz7yiQN+XvCc5BCpNM4FucBD0FQU6e+IAgW7JfgJd2pVJviUC7Q4C7STQhUaNROxMPC6eh0egm4JAt0JlieeCQBsK1N2GrBLo438EqkGBQNeuBwj0gsoSz2X+npYIdLmeyYAeAp1pcwS6KQh0K1SWeC6zAi3tAwTaSqCjI9DZNkegm7KlQH1ndhOoqEFVlnguCLSzQGfaNMx4egIqfRAUgW7JJOgNBbp4NvLyCgLdjXYC7W9QOwJ992eOQL2QJxugCwdBEeiWFAh09WqAQC+ILPFsEOg+Ag1Dfgp0cB7MHQS9Di5dB47QnXuwhUAfcz0hUEMgUG2BprdgEeg2THN+PA\/rW78WINAzIks8GwTaTqDeIdC1Ah0dgc7vw9+GItBt2Fag7s248wQ6t+4h0O7MCbS4DxBoK4E+hiT24RHopigINLGsEeh+NBRoRe\/kYUmgzuoQnzg4i3QfMBFofAYIdFN2E2jWBigC3REE2kGg5yBWC\/Q5CgJ9dYGG\/TEzJQLdi2YC3WAf\/vUEOrsPj0A3BYFuhsgSzwaBSgl09DKc3wRFoJuSL9BxXK0lp2MmV2JEa\/CmzBBocE4SgbZgRqArXIhAqwQaboAi0JcUqLf5gkDVQaDNBOqdQ8oU6DNoBBpBRKBBzFsJ1J0bApWkpUArjv9kcXyBjjGBxmaBQLekSKC1b4NATYFAtQTqjTPOboIi0C0JY74P0RDorEEnAh29mSDQFsQFOiLQrHq8p94h0FUCDWJHoHtXcCFfoBV78K5A722BQOWJtOhKEyLQIoE+Dno+vsI4svmyJNDSleAA3bkHCHQ7NJZ4Pgh0X4HeDfoQqQcC3buCCwh0OzSWeD4ItJNAF\/eyvRdmBTpOx\/SnRaBbsJdAx\/HUTKDvI4ze\/BBoE5oKtLNBtQXqn0MqFOjceAhUgS0Fej+yc5tbS4EOCLQ9UYGuOYeEQBFoc15WoNcFj0D1mRHoijkhUP\/VMoHOjIZAFcgWqG+oVW+DQG2BQMUFOiLQ3QkOVyPQbmgs8XwQqLRAZzZBEeiWOCHfz\/V1Eehlro5A\/T+eaYHGV71AoCMCbUxMoKsOgWYLdP1ysyjQ+d8WgS4jJtCbPR2x2RLo5BCtpEEllngBcYGumZNz+cXyeKtAoMHYCHQD7ifG79eZOZugoUBr3+i+RH1RD+sE+uGDU1pQHwJtQDuB5m6CHlSgM5KrF2jsICgC3ZJrYzuX6RoS6HPjOawPgTYAgWoLdECgu3PRk9vZcwKt3IM\/z9Q5XOAv+uSc8wXqjoVAG4BAewnUO6kaw3sJgcYQEqg74PmRHmMCHRBoayItuu4cEgKN\/qKdBVqY5gG6cwdCPW0iUP\/w95JAo6seAu1OVKDrZoVAI79oA4GOCHRfYgIdewt0QKAmaCzQjIkRaGSKxGgIdG9O4YV9dgU6+lPJIbHEC9hcoBVLDYGGYyPQ\/pzCswJWBXpCoI0JW3TtIdDXFmjk10Kg1QgL9Drksz+w1kmnEwLdu4BCYgJdOSsEGvlNWwj0vl4+LkVEoFsSPcV92wTtKtDbmz+qSJY4J9CTMzME2h4Eqi7Q23rp3nIZgW7JtgIN33zyYKbE6KoXE+joT6WGwhIvAYGaEOhdngh0eyLnkB778BOB1ipprUDnNkGnAvX\/FiDQBrQW6OLkCDQ2SVqgz48RBt\/xgUC7EzkEOtz7HIG2RmGJlxC06OpzSAg09qu2EujzyYBAt2VXgT4WMALVJCLQtbFmCbRmoSkLdO53bSBQ7+XpzUUQaHfmBHoe+NkbUq2kxgI9ffgcEejoTiSHwhIvAYHuJtACDzovI9Ctid8f92RUoAMCbUpzgS4YFIH6r08fLY2JQDcnfnMdBNoHhSVewrRFx\/UCnW6CRpcPAvVfnz5aGnOYfja+KFDr3bkLswIdOwh0dtCyQEODvgvUfwWBNicU6PpYA4HOnFhZCwI9g0A3Zkagpw4Cjb6P\/zMxVq5Ak1s4e6OwxEtAoBYEOtmHR6BbEr8uJRDo5NhKK5oLdGEXcW8UlngJCNSeQEcE2oBoe8bGmzmof9mHf9Q3xr97pR4Eqk17gTpLC4Emf911Ah38o9QIdCWnTIPOCvTkCHR6++N2IFBtJi06dhZo1TJDoBcqvtjGeHc25XTKU2hKoOOtvvAeBc3oKFBJgxpv0aoD4aFAg1m9lECXNnJWCnRAoC24\/HnLSG9eoMNNoI9Piu0s0MCgcwJV3gQ13qIItKiehREQaCWdBZp1IHTus80PgT4\/adtRoAuzLhGo9j688RZtKNDoDiwC9V4OHy2OOkxWaQS6kmtwywad+2DIRaCjtzQUBXqtMz4aAq3Hb9GqQ6CP5fE4IIRA8wS6nIo3xvq74truzrY8zLSQYEKgg3OfLGeWTUGg2kwFWhMqAg1+25wjVwh0lg0EuriQFgUazrIlFQI9nT7PCLTjIYdabLdoY4GGM0Og\/uv+z+Uxr09Wb\/XY7s62uAdQEhnO3t7xJtD4LBtyP9SQMVKmQAcE2o5tBVq3xBDo\/QkCrccJLi3QmRcvE30OB7WmQKDD1OdpgY6TIxAS2G5RBFpWz8II7QTqjXJavQlquzvb4ic6O9qsQC8TWRWoR+uKqzDdotM7\/RTymPTxqQwE2kegAwKtJlugqRmYFuj1KQKtYiLQqibwBHp58hwyGWMVCPTxGIFW88IC9aZCoFX0Fehkr\/7VBJo+PVEn0DH2yhKmu7Mtk6PKc6Ml9nCVBBo9i3QVqHPRRnSHEIFW0VKgni4R6NBRoAMCrSRboLMvBQLtc1IbgUrjtmj1HblmBdrmw8II9PkQgVaCQBFoC3yBDm0EOjxORvnHZio77KgCzYklFOjcWpHCcnc2xo9tNkRbAvVtiEA3YBOBNrpbDQJ1HiLQOvIEmvqKMATaA8st2lGgk9fXgUCdh6s+j2e5OxuTK9D5eBFoDyy3aAeB+ssIgU5fdn8szGn6EIFWgUDjB073xnCL1n8rgSNQ9\/xIq5sXHE6gmSuHM6rzCIFWUS\/Q80TKAj2Xh0B74wn0\/H8TgT6PvV8FGry+CgTqPlpzYNlwd7YmS6Dp2zsaEejzMC4CbQ8CtSrQAYHWMIktnmLSn4oCdW2IQLdgKtCqJogLtNl3sFgUaM7rdQItSdVwd7bGjECvs0WgovQW6PuwZjfAtifQJSoFWrwJarg7W4NAEWgLni1avwePQEupEuiKfXi73dmauEumFAm0kz8v812cNwLdiU4CdY57tvsW1YMKNC8WBNqULIEufEWYeYFeByDQGjoJ9OQKNHx5HQjUf4RA15Mp0GS4CLQDdlu0k0AbfusrAvUe3KNFoCuIu2SCQYEO3uqGQLuzgUDDTaeVIFDvwYpFZrc7W\/M6AnUOQ8z80lIGNduiTe738VxUCDQHBJpmK4GOqwT6\/qIJgT5eRKDt6SXQu0Gd29lUN9hLCzS2FhR\/+NZsdzbHC23mu8AWb4+LQNtjtkW7CXR+B6KU4wk0b+V4jur+PINA1+ILdIgLdDpeOBME2hqzLYpAEagc2wj0PUWnTd3BC9ki0PaYbdE+Ah1Ti6+ULQS6MR8+XP9ljur+PPMeb\/b04OKlePkXxDh+XsrWf7XXcsjqkccI547whoxjtHWcAY9JYD33EOu6wFlS1xm6K3jrBmMLNGcrycPsn\/fmTE\/FhZugGVv3ilugj+3J8xB\/CzScCVug1dxbtM0tO92V\/NaXM2v+Go4p0NxYZgVaEKzV7myPK9Dr\/+NUoJPRojP57D5pVVvwLjkzD\/bhEegm9BXoiEDT1Au0aBPUanc2Z7oBev7pp5hziZgr0KU7F66nTqBOgyDQDvQW6JBYfKUgUPfnFQS6imADNNBIzikBR6D9\/JnZJCmB3l5EoB3oKtARgS6AQJNsIFDnpg3uCFnnVD2BtisufJu+ApUyqNEWbfStRYFAnaEINAICTbKFQB\/DPI3krQ+nD8H8OoBAhekn0PP2JwJdoECg8S35mQ\/RzGC0O9sT6GbwN0Ez14e7QHvuwJcK1N1sQaDd6SLQ+6EVBLpEuUCnoyPQNTwF6gxzPDJOx5uZzYfbWD39iUCV6StQd\/5hc8YAACAASURBVCgCjYBAk3QXqKuO03MTNPce4FeBdvYnAlUGge4q0PPKVyvQyKcQ5zDane15CNQb9ryF2GS02dl8GPr7M\/Ov7PSoBAJtwHLu1xbN\/Yub+X4TgV6fI9AY1QIdEOgKYuZ4H3Z7mr06nAXa3Z9VAnUvZ0WgxSwv3I4C9Qc3aLODCjR\/1Of\/Dgh0BXdzTAbe74AzGW1+Nh+aNPYCeX9kUwKd24RBoAtsLdCZlRyBztJCoCMCLeW+jzQd+Pj8sTtaYjYfNvBnuUAfe+0ItBIEenyBDgi0nJtAw4GjN3hZoP134IsFOjw\/34tAK1lO\/sPlPCICtS3Q3HlodecyfQU69cZFoKM7OEeg7YsL3qVQoEO2QAUNqtWii8mfPnw4leyzLL9hdCZ5h8GXQKBDXKDZm6Ba3blML4FGN0BvVnUHZwi0bWHxdykV6HC\/tg2BVoJAX0CgBfvwWt25TFeBBta4DS0Q6DaBrhHoiEBbsJT86fQZgVoR6OxagEBLOZ2i0rhtgk4GpBASaGDQAYFWs5D8aTuBtjhWhEAHBNqElECTA6ZsE2i5QG89cfcnAl3HgrfOryLQIwg0t\/+lujMDBHoro1ig11\/vs3d2GIGWkvbW5cXPn0+ngtOOy+8YnwkCnaGFQPP7X6o7M9hZoMvLRlmgIwKtJX3o8XaYGYHuK9CycaPjI9BCXkCgp7NBEWgdSYFeX+kg0Ng8EGgDEGgrXkGgZ4N6Ao2vl5cfCDROSqCnmECrNYdAOzIr0FPuCiDVnRl0FGg0skm6tgU6INBaEgK9LxMEikB1QaAXVgp0GMdMgQoZVKpF5wX6WCT3OwY+Jqh+x+SCqgKBItA2HFKgXrmXxwi0kpRAbw82EmgTECgCbcOLCHTw9i0RaCnzNnsORaB2BDr\/BxGBFjFzDul4AnXyi1\/SiEBTzG+xdBNo+sR\/JQh0tUDvR7xbV9QZBHoBge5DzhkdBPoiAr2uUM1L6ks\/gc4kFp6ISYNAW6PUojlndM63GzhFX1n7nt38iUARaBsQ6HQSBBojW6Cn2Ctr3xOBdgOBtiFboItzQqCtUWrRSzqR2BAoArXBvgLN6OStBFo8GgJtAAJFoI8pEeiTPIHmNLJUoAi0MQgUgT6mRKBPTrMXzjrxZvWxVqBB9dkCHR5fo7Q3SolmCfT+9SnBK2vfE4F2YzZcBFrEvEDddSFnTlqBpgQaP5A6EaiAQYUSvcaRIdDnAARaVk+v33QGBNqGHIHmtbFWoAi0KXsJtHYWsyDQuXQXP8uJQF0yBJrZxlqBItCmzAnUG4JADQl0Nl0EWsSyQHO7WCvQ4FjcokC9s0gI1CdToAMCNS\/QxX14BOowfxL+KdDMWWkFWifQnkff8hFKNEugoyvQBgEi0J4g0BYkNkDnj3vF0QpUTKCrZieUaI5Ax\/HzgEBfQqDnKYW6M4vtBXpZB\/J7WCtQOYGumJ9QonOHczyBXiMuPPKTfFME2g8E2oJlgWbPSizQ6bE4BFpDhkBHBIpAhdlHoAUtLBZoWqCpKcbxVPabZ1VjWqCz++XPAecvPm0u0OpZzIJAEWgLFgRa0sJigaYEujDFu0Fbr70vINChuUB7gkARaAuSF32VrfVigSLQhiwLdESgCFSaXQRaMiuxQBFoQ+YE6vnzHnHh1Rv7gEARaAuyv4NvGbFAEWhDlgV6\/g+B2hLozAsItAAEGpkCgU5ZEuiIQM0JdBYEWgACjUzhfaKmVTVHFuitiRAoAtUFgRYyWekRaAVLAr0+Q6CHEOiSQRGoQ8Pbr6sFWinQtgY4tEBHBIpA5emScMMNULlAJ5fT5Av0hEAnPIuf\/BqXp48eukd8GYpAjyvQy8IVKjgLBFoIAm3GgkDvzxAoAtUFgRayXqCn9gdBjyXQ8cr16YhAEagBEGghCLQZMwJ9ePQGAkWguiDQQhBoM0KBDtcfnj89gYr7E4EmQKDZtPwOdLVA1wr01Emg5bOTSXQi0Ic1J7\/TI+JT65tZtQeBzpO2wv3Po1DBWSDQUvzLaQoE2v5C0HVGkUk0EGgw\/AICRaC6INBSKgXa0gGHEuiIQBGoUHdmgkBLQaCNcEr3T7sjUARqBgRaSqlA72ePEegEBIpAnyDQJ+PYsM3lAl0r0A6f5TyMQC+XKCDQows0tfAQ6BMEGk6AQAOmAo2+MLgRN\/9SvuYg0HkQaC4t9+D1Al0v0Oan4Q8k0PkNUAR6EIGmvYBAn7yAQB8rMgJdzUSg0eFnEOirCPT8n1LBOSDQUlYJ9IRAAxAoAn2CQJ8cW6CPnY0L2QI9P2p9EPQ4Ah0RKAJFoFeankMSDBSBtsEXaHz4GSdiBIpAxUCgxSDQJsxtgCJQBGoIBFrMCoGeEGiAL9BT\/IUzCBSB6oJAi1kl0MsjBOqAQBGoAwJ9gECD8RFoiFP5iEARKAK98b4yINDJ+P0EumJuIol6AnWeBb+QJ9DuZdWBQBMg0CwQaDj+ffTGF4IeRKBjtkDlQaAJkrumCPTO4QXq7TlnCfTkCbSdQQ8j0AGBItABgV5oewhUMdAVAr09bCvQe88VIpIoAkWgDgj0DgINRq8XaHQSswI9f2mcvwePQBHo9X+lgnNAoOW4nyjcTKCRaUwL9Hnt\/OTAMAJFoIZonnDjQ6ACq3sAAq3kPYanQkcE+iICTZ6GR6A3EGhk9PtDBHrhus9+c+g0EwSKQA2BQMtBoJXcD3o6u\/KPXyP8fbQkkAaBpkCgGSDQyOj3hwj0gnPWCIEi0AsI9MYLCHSoEOhKgx5WoA\/uzxEoArVE64S9D5W0QDHQ1QJdvQmKQG2AQFMg0GUQaBIEegaBItApCPQKAk2CQM\/EmgSBvoJAZ5v1ttgRKAJNMr3occU7ugNXzWv\/RBEoAp2AQG8g0DQINL4Hj0AR6IBA25+E3391j6Ak0PKZ7Z4oAkWgUxDoDQSaBoGmBRr5bbQkkAaBplgW6HD6sFUxjUCgK3B+xVUCLZfeKWZQBCoHAk2BQBdpfgh0\/9U9TblAV22CIlAbINAUCHQRBLpEO4HOKyfN7oki0BcVaOJCUAR6BYEugUBnmmR2e1pMAkkQaBIEugQCXQKBItA8vv+Tr97e\/uBXCFQaBFrHCoHGdmCXsCTQxYIQaA7fff125od\/iUCVQaB1lOf3AgJdqAiB5vDx7Se\/+vy7X7795LcIVBgEWgcCDVgS6EwACNTj268u257fff3lnx1JoHOtgUAvrJJDGq0OCFgn0OKQXkWgsUnFJJCknUC\/efvp7ecfIlBhEGgdawS6IiQEaoN2Av349ovLz083kSJQTZoLtLE\/jyfQVX9lEKgNmgn0+1\/edt2\/\/ep+EPQHN1bPc3\/G8cPMKx8++D9flHF89QQyeA+pOKUPH8IpbkPkAo+U6jHz+18Gyf0ydSBQn2WBHq0DCkGgGSDQaM0I1MUR6PRCprIt4l7b2qtY3oUfPjTeg+0Nu\/B1rNqFL0\/pffyCDz+mEdiFj45xHsgufCjQ6XVMZfX0+k1XgUAXQKA5tBVo8bwQaD8QaBIEmqbDSXgEegGB2qCZQF\/1LDwCRaCLlMcUdQsC1aOdQO\/Xfx7qOtD5jyIh0DMINAsEOifQ6HA1CaRoJ9BDfhIJgaZBoFmUn0U6kkBnmwSBunz\/y7cfH+6z8Ag0DQLN49ACjd48\/zb8zDjOjIFAPX53wLsxzR8ERaBnEGgeTQT6eG5RoPEREKhn0D959+cfTLc\/EagWCLQOBDplXqDXn6m9OASaQVk9vX7TdSDQFD38eVCBjgg0NgICRaAItC1iHTBlXX4IND4CAn15gX5ubpC+INA61gq0LKiXEOjclGoSSIFA0yDQFAg0FwRaMKWaBFIg0DRzAn0ueATabn4XxDpgylqBlu3DX0aeGOiQAo0NVpNACgSaBoGmQKDZ1Al0HAYEKgkCTYNAU3S4FxMCvXAggc7782UE+lf\/8d\/+VwjUA4EOnTZAEegZWwKd\/aTmGQT6+a9+\/4sv\/t2\/+68R6JM8gS7dZWEPEGgdqwU6dzoySlKgpaEj0H5kCfSv\/+kXZ\/69f7LOoWX19PpNVzKz+BHogECLqBPoOCBQSbIE+s7\/9Z9eHPof\/pPXE2jyADkCRaB5lO3DGxJo7IqrxwsDAn3wL68O\/Vv\/CwItEKicQRFoHQh0AgLNFOj7rvy\/\/E\/OCv29v1t2Sqmsnl6\/6UoQ6DxdTsIj0DOvItDoYDkJJCgS6Dv\/9r\/5m5dd+ZLN0LJ6ev2mKzmcQD98aDYrBFpA2Vmk1xDoDHISSFAk0L\/+n\/6DL+78bQR6ZUmgagb90O7uJwi0hNUCPRvIP1qCQGXIF+jdnudz8f\/2n37xxd9BoBc+z7fzbGvtSTuB9jkEikDPIFAjZAr0dvTzeTXov\/nib2Rf01RWT6\/fdCUIdBYEWkStQJ2oEagMWQL96\/\/6i+nJo7\/6\/X\/nf0WgZxYFKmbQpgLt8cupdcCECoEWmOQa7PV\/2wIt96eeBBJkCfT8SaTf8y9f+qvfZwv0yoJA5TZBEWgd6zu0ZBP0AAJdvQGqJ4EEmQL9W\/9sMuiv\/+f8S5nK6un1m64Egc6CQMuoEah\/FRQClSFLoJWU1dPrN11JA4FqGRSB1oFAJyBQBJogT6DR41u3cRBoGWodMKFGoPkuQaBGQKALeI37BIH2Ogl\/XIGWuASBGgGBLtBCoFIGbSnQLr+ZWgdM2ESg3t\/e62TurpCSQGcP9CNQBHomvg8fCjTsk\/s4UgI9IdA6NhfobSqvD8uCR6D9QKBL5Ah0tCTQVrfQR6Cl5B8ERaBWQKBL5Ak01icIdBVyHeBT0aEnBJqFngTmQaBLLAt0uAo0aJSnQIUMikArqenQFxToCn8KSmAeBLpEpkDDTnmOgkBLkOsAn70E6k2MQFVAoEvkC3ScG+WQAu3lz2MLNFMnCNQKCHSJDIGOtyv15kZR2odHoJXUdGj2QVD38DkCVQaBLpEl0OuIc6MobYIi0EoQqI97yX\/kBQSKQLMFOs6MgkBLkOsAHwTqg0ARaJKoQJ1+eQh02iueQGUMikArqRRonk8iAj259kWgKiDQJcbYZzk9gY5RgXpTyQj0dPrcTKCdfim5DvCpEmjuJqgj0PsUCFQSBLpEjkBPtzHH+CgItAS5DvBBoD4IFIEmyRfokBKoiEHPAm2i82578Ah0sCRQ94Kr2CsIFIE2EKjMJigCraWqQ3MPgiJQKyDQRWJnkVyBjo5AZ0+UItBs9DrAo06gmZugUYE6MjIg0PX+VJTALAh0kWWBPp6lBKphUARaCwL1QKAIdIFlgT6eJi7VO55Ae\/1Geh3gISHQskWIQPuBQBcpEujsNgICzUWvAzyqBZqjFARqBQS6SIFAEztZIvvwCLSWSoHmKSUu0LX78Ai0Hwh0kQWBjnkCFdkEbSXQfodAEejgNMtznx+BSoJAF1kU6OAKdPTGGB0UBPpeFQKto16gGU55CtRrKAQqBwJdpESgw6TfPbpXugwCraZWoFlOQaBWQKCLxI72JQTqHvP3zsorbII2FGi3QxJ6HeCBQD0QKAJdIC3Q0RfovWMup1v95lHYBL0KtIFBEeg6Mg+Czgh0mBwhygSB9gOBLrIk0CEm0Mg++wmBZqHXAR4NBLrcCEcR6LqNBkEJzIJAFykV6BjVp7su7AcCraZaoDlWQaBWQKCLlAn0PCB+zv0kYNBWAu14DgmBDoYE6lywGnsFgSLQtEDHiEDHGb2c9t+JbyfQfpe16nWAx04CnRxSRKAiINBlIpuTjkA\/e8+H27n3GYHubVAEWk0LgY6TIbGxbo98gQ6Tp3kg0H4g0GXKBDrEnt8G7r4JikCrqRfoMBFo7GjP4xEC1QaBLtNKoAKboAi0mm0FOt1nVxVoWBACRaA3Ggp02Feg57IQaB0I1AWBItBFEgIdiwW6q0FbCbTnSfhjCzQ8CLokUH8feVxjUATaDwS6TFKgQ5FAd94EbSfQfv58AYEO6wW6ahMUgfYDgS7TTKC7b4Ii0HoQqAsCRaCLNBXorga9C7TWoAh0NVOvnA4q0Ap\/SkpgDgS6zLxAxxmBznX3tasal1cAAq2njUDH5\/NSgY6TUZZBoP1AoMukBDoUCnTfTVAEWk8LgQ7rBTogUCkQ6DIRXawU6N6boI0E2tWfCBSBireACwJdJvSFe0BqhUB3MygCrQeBOjyrQKAIdI5ZgY7rBLrfJigCrWdTgT6TdgaN3vMMEGg\/EOgyCYEO9+70x0gIdM9N0MubtxFom4KiCHaASxOBPlugWKADAlUCgS4TfjVcKNDB7Z9Ec083QDYFgTagtkP9Dnh\/hkCnKEpgDgSaQfDtmjGBOg20KFBnJ77nznD0zRFoHQjUAYEi0Byc7rh+xXso0KFMoM4eXMM6F2gk0L7+RKCLAh0HBKoCAs3B647HF3aMvkBP8dGnc\/IMGj0C1g0E2oCNBXp77I5kRqBrj1RpSiAOAs1h0h23Q6HX\/ngUnCXQ5xVQt2m2NOhToFUG7XwEV7IDniBQBwSKQHOYdsf1UOhUoLPNFJvVYy0wJ9Ded4WW7IAnCgIdEagKCDSHsDueZ+SfBRcJ9LFubLgJikAb0FSgtw6IjzPMCLR4ExSB9gOB5hDvjkCgwfH+6KweK8ftEQL1keyAJ20EOjjn0hHoBE0JxEGgOURPMd5wCs4RqLdyZIzekiYC7f69TpId8GRLgT731a0I9L5ZgUARqEOuQHM2KR+vnh6ttpFBr++DQOuQEGjZQdCNBfooD4Ei0CuZAo01e2ReD81uvAnaRKAnBFo5A\/cg6DqBDioCdWp4\/l0YH5dKI1AEeiVXoEOGQB\/bqe7FoNUV5pAUaG4NCBSBPogKdLhvhyJQBHpn0q3zAo2vEJGJL\/+vuDVZBQsCzSrihEAR6AO3hltD35rDuXFEOaISiIJAs8gV6Hm7cqmz3ZVmb4F6t1XLnAcCrcMR6Nwhn2WBFn2v9JYCfT5b7U9VCURBoFnkCzR6YfRklJO3hmy2Dx8KdOm7eWLz6H4nKc0OeKAg0MGCQNcjKoEoCDSLbIEOywK9SPb+uPzWOutxBXo7S+oKdMgoYoM9+BcR6LwcnQEIVB4EmkWBQJe35LxRblsiWxg0FKizCZqx6TxssgePQH2BRo+TIlAVEGgW+QLNkKE3xoaboFOBnt\/a6\/jFIk4IVEWgo6JARwSKQKM0FqjzZD+B3u4o5ZzHyqocgVbOIF+giTP1qgKNvVKMqASiINAsCgSacyjRYdxsH\/72FneB3prdu5JqoYgTAm0q0NsjBDpBVAJREGgWJQItZLNN0KlA3befPR8czKG7Pw8v0Odp+HyBBqMgUBEQaBYbCLS7QX2BOlc8Oy8i0EVUBDrqCXREoAg0TleBbrQJ6gn0uf75Ak1Vsc0ePALNEWjRJuh2Ao2+UoyoBKIg0Cw6CnSzfXhfoKeoQJOboP6FKt3Q7IAHrQT6VKBZgXoVIFAEOs8WAu1tUFegoyvQ0fmFElWcEOgZBPoAgSLQTPoKdJtNUEeg3nXY\/p0pUgK9j90XzQ540F6gwaLPE2j+QVAE2g8EmoXfD96z+oI32gR9CtT5HPYQCHS2io02QF9JoP6A6QhJgQ56Ah0RKAKdYQOBdt8EdQTqvd3k1j4INA0CfRAIdOalUkQlEAWB5jHdW3nSQqCb7MM\/BDp9u4lA58pAoBe2E6jzhzUq0OxFgUD7sYVAj8CHD3NPGjCOPeY65T7\/67s5b\/e+KrrvPVfGZZzbxFDDNe331L3n09cfWb8\/jfXG\/otislK4BfVuZlXYAp2h5xboNvvw\/n6h927+Gd25MtgCvdCgQ++n4\/K2QM9PY8tEbQt0ZAsUgc7SWaAb7MOnBeqNmZgBAm0m0GeWRxHo3EulqEogBgLNo6tAh90FOsbGjMxgA3++jEBP1QLNXRgItB8INI\/eAvUuLOrCY60MBTr1IgJNICPQ\/O8GQKD9QKB59BXosKVAP3vPn28fjBqZAQLtKlD\/YLhhgda1sqoEYiDQPI4i0HFGoBn78Aj0Ql+BusdybAm03TkkWQnEQKB5dBfouJVAP0cEOl0Xo+vrRueQEKhVgZ5mXilGVQIxEGgenQW6wSZoQqAnBJpPZ4E6fbAk0GyDdkrULwqBItAEBxHo+BSo826nU8Y+\/FZ78C8s0PNSePaB8\/LMMRUEuj8INI\/+Au29D3\/fgowKdECgubTo0HOWTujuFWbPPrAl0BGBItAEvQU69BbofQN0VqDjdOTIDBBod4EOZgV6QqAIdJajCHSYEeiAQDPpLtARgYq3gAsCzWMDgY4I9IJoB9zpLdAhEOiAQHVBoHl0F+iwgUBHBFpPP4HeDqPcVbQs0FyDItB+INBMZtujoUB7GvThv1Cg0\/V1VqCb+POVBXp9OvpPNQU6+sYcESgCTbKBQLtugj5OFM0JdECgWTQSqLdB7\/8JsyLQ0RPo\/BpSjKwEIiDQTLoLtPM+\/MN\/8wJNGxSBXtlAoKP7Y9AV6Og+RaAINMXxBZreBN3sEOgLCdTfh3\/eJ8uGQAfXoAgUgaaxL9BxUaCjM3Y4PQK90FGg91fvlzM9R5cUqPP5tenxJwSKQCf0F+jkRGZjHmvbM+H7uz3e1d3mCadHoBeadOjt0s4ZgZ5yBZq5RHoJ9GnQ6RlQBIpAJxgX6LPZA4E6b5oW6Db+RKDXv3XyAnX\/pCJQBLrAJgLttw\/\/3N1LCtQ\/q+HPAIFe2EKggxWBuie8ECgCTfASAh0Q6CKtBHr+4Qp09AQ6igv03quPi\/8RKAJNYl2gY55AxyEY9hiCQM\/0E+jzxfNfMhsCvRo0uJcYAkWgE+wL9PYoKdABgS6xkUBHIwK9yPNShlNkZRvLSiACAs3EuEDHXIGO4bD7EAR6pqVA3bgnl0D4Ap2bS94y6SrQ4X5JPQJFoAlm28OKQO+P0gKd3QR9HkTtjWoH3Ogk0DEh0Pm5KAh0QKAIdJnDCnTylnOboNNv\/eiHagfc6CZQ58XLSzlzkRDogEAR6CIbCLSjQcdsgQ4zAt3Mny8i0OvPhEDz5iIh0Ec1kYdrkJVABASaiXWBPua7KNAxNnSzHfjXEOgdqwKdnnW\/lxM8WoWsBCIg0Fzm2sOIQB8PnYQvbxbZ1owM3c6frynQnHNGAQh0fxBoLi8j0CEi0O124F9WoM+BJQKNGDScHIH2A4Hm8kICDdYO\/+a5nZHtgCsGBDqdHoH2A4HmclCBxt5wunZMvq+hM7IdcKVth96PONsTaPRS4eDRKnQlEIJAc3klgfp19P7C0AmyHXClh0AHBOqiK4EQBJrLNgLtZKoygQ7B1zUg0AddBDoiUAddCYQg0FxeTaCPSaJn5Tsi2wFXOgnUGYZAxVvABYHmsoFA++3DFwp0cBwafMykN7IdcEVIoHGDbiDQ+F96BIpAEygIdG1juifRMwV6Pq8xPrdEEegdBIpAHRBoLhoCXdeZ7kqWLdDheaMdBPqkh0BHBOqiK4EQBJrLMQU6O0P\/hQ39+ZoCdfNFoOIt4IJAczmgQM\/zQ6CFNO7Q23FmBOqgK4EQBJrLRgJNNh8C3R91gUaWKQLtBwLNBYFuhGwHXOku0IKsbweqJ8MQ6IYg0FwQ6EbIdsCVDgIdjQl05sI2BIpAE4gIdFVrItB2dBHo6VACre0WXQmEINBcDirQ+beaf9YX2Q64gkDn2hSBItAUM\/3R+qqWDgL19hAzBerXgUAf6As0mAMC7QcCzcayQJ0nCLSO9gIdEaiPsAQCEGg2Gwk01X4IdH9ad+g4vVtgSdYRgyLQTUGg2SDQbdDtgAsIFIE6INBsEOg26HbABQQ6d3suBIpAU0gIdFVzJgQ6P9Hadboa3Q64gEDnmhSBItAUBxRoCgQap4tA3YTrBHoespNAHwMRKAKNgEC3QbcDLnQQ6IBAPYQlEIBAs5lpDwTaGN0OuKAnUG\/5ItBtQaDZbCHQBYOuE+g4utMg0DoQKAJ1QKDZGBao+wyB1oFAEagDAs1GQ6ArunOdQNeu09XodsCFPh1qTKDxGhEoAk2AQLdBtwMuvLxA51sUgSLQBAh0G3Q74AICRaAOCDSb\/QV6eQGB7ougQN0ljEC3BYFmg0C3QbcDLkgJNNwEjfUIAu0HAs3n1hfdu3O2AfcS6Kb+RKAIVLwFXBBoPgh0E4Q74Iy2QK\/Pe7foTIkIFIGm2EKgyX346NqRMUdvAgRaBwJdEmh1uyhLYAoCzcesQL2nCLSOVxdookERKAJNgUA3QbgDzigK9LmMEejGINB8XkygzzdCoA4IFIE6INB8EOgmCHfAGQSKQB0QaD6bCTTdoAh0VxDowh94BIpA44gItLRBEWhTECgCdUCg+SDQTRDugDO9BVoW9iqBVi1PBOqBQPNBoJsg3AFnOnXoyrDvY98XcqZAl95jfoTlY\/QIFIHGQaCbINwBZ7QEOt0EbSbQuTEQqA8CzWcTgTY\/yznx5wqBbutPBLpmuttSzmvRRYGeEGguCDQfBLoJwh1w5iUEOl9F4hAoAkWgSbYT6EwPIlABNAV6W8zxRVYq0NNKga68zi5AWQJTEGg+KgIt61AE2pZXEGiiDATqg0AL6H+R3aAk0Ga7ZGUod8BwFIGm3uSEQPNBoAUg0C1Q7oDhBQSatiAC9UGgBSDQLVDugOEVBJoqI+lPBIpAkyDQLVDugEFWoH7fVAg0vdAR6AQEWsDOAl23jiHQthxeoMk6EOgEBFrAJgIdZi8EfQ4saNGpPxFoJQcX6EIdCHQCAi0genqyi0CjTYhAFTi2QJd6DIFOQKAFvKZAN\/YnAl03nbfjkhTo+cW5dzl5Y4VkCLS+X6QlMAGBFoBAt0C5AwY5gXoGrRboaVmgi1dAIVAEOgMC3QLlDhiOLtDYjB3SG6AIFIEmURJoIMbU3FxKEm60QpSh3AHDsQV6QqClINACtASaZ1AE2pgDC9QfiEBzQKAFyAj0\/SEC3YnjCnQyDIHmgEALQKBboNwBQ78OjV+BlD+dd4JnUaCxt5kOioyCaotXoAAAGoBJREFUQKcg0AK2EegwdyX9GoGGYyHQOkwI1J9LS4Emy0OgCDQFAt0C5Q4YECgC9UCgJcSOHu0j0BGB7sRhBRp8PCkcZWEPHoEi0DRKAo24cWZePgi0DmmBRoYO+QJdGjAi0IDGAv3u658i0FoyBDog0L3QFai7sGsFOoalXHd6EKhPY4F+fEOg1WgJdGt\/ItB10w0NBTpGZHk7aIRAfZoK9PuPbwi0HgSqjJpAvX34yMAhLtDEHvt4x2+4yEZptBQEupbf\/PwNgTZAR6Dnt0SgPuYFenspPGV0us7jtqk5eucp748XqmvzF1dbAj4NBfrN29vPfo1A68kQ6Pl8AQLdhc4CLY+7mUAHR5\/D4Cr0ORCBTmgp0B\/\/6edPCLSeTIHmGDQyCgKtQ1igp+fizhboOMUd9TbAGYxAJzQU6BlPoD+4UTlPIT58uP7rzDhG38UZNo4fLqNlzKmK97fc4PeFz4+lWx73c4oPz8WdmI33RlN9TkedDl4ob6MVRBcEmkRJoB8Q6KHYS6CPoTMd52sVgaZpKtA7ZVvEvba1W7DNLvzcPry\/C591EJRd+OYcaxc+vW++fG195HV24RHoHLsK1D8Jj0B34igCvZ81ik0QmXdqLO\/1Bv2iLQGfaoF+ervwCwTajkWBXj9Sh0D3QFegbktkCnTp7BACXQKBloBAN0C6A6wI1JtPSqCx8SPzTo7lvY5Aa0CgLcgUaIZB6wW6uT8R6LoJ6wQ6s5wR6BIItAQpgeZsgtYKdG7F6ol0BxxXoOl5358v14JAEeg8kQbZSaBntS0KNDYGAq2jW4dek9YS6GT4YnEIFIEm2Uag91304L2fL1+eLwo0NgICrUNOoMtGjAv00kCFAs0oBYEi0HmUBOrfQXduPgEItA7rAnWuejotHQKdlLNcGwKtFGiUsnp6\/aZNiJxU2Veg6XZFoO05qEAX5p1ZGgJFoEm0BLpoUATanhcWaFYpCBSBziMn0PSFRgi0PQcSaM5NllzfZpWCQBHoPHoCTRoUgbZHW6CPRZ4n0HDg3MyzNkARKAJNIyHQZ98vfc0CAm2PrECvP1YJNLGU3YukskpBoAh0HkmBzvcsAm3PcQQa39+PzzyzLgSKQJPYEmj0QtFSgZaM3QTtDjiQQPPuM3+fe24pCBSBzrORQC+n18P3frzojOe9EswlMlA8YQS6csI1As3ZPS8qC4Ei0CQItD\/i9YkLNLZXsiTQ5HGaW1nZpSBQBDoPAu2PeH1GBOrOaFmgS3PPrQqBItAkCgJ1tYhAN0dPoP6UfQSaXwoCRaDzbCfQsKsRqASHEeiYJ9CyrUoEikBTIND+iNd3IIFOdv5n515QEwJFoEkQaHfE61MXaOQs0udg3Nt49wmXBFpSSr0\/9VvUAYGWsZ9AY+eQbk8Q6IYcUaALc0eg8yDQMiwJNH7DZfWEEei6Kaf9sSTQMV+gRaUgUASaYDOBBqfhY3vw6X34+A3r1RN+bYGu8s9KgdY4e74UBIpAE2wkUOcU6fOd76\/447mvTecRG6qe8MsK9LIUdxBo09sdIFAEmmQrgQ7jVH8IVAN5gYY9MSvQ9W85XwoCRaAJNhNooD8EqoG+QAcEuh0ItIztBDo9BRQXaOosEgLtgQWBTnoiJtARgTYBgZaxqUA9AU6uk76DQDfGgECHLIFWveV8KQgUgSbYUKATgyJQDUwIdMwXaNNzSAgUgabZUqD+iaRigcYvA5VPGIE2mLJIoGvecb4SBIpAE2wqUM+gCFQDKwJ1BkQEOiLQNiDQMrYV6FAj0Lg\/5RNGoA2m9PfhowK9P0WgVSDQMjYWqGPBGYFOj3f5L0RQTxiBrppyMuGcQKfXciDQShBoGdsLdJw8n443uwmKQLtgRKBjtkDXvGGiEgSKQBNsLdCnQUsFGnyU6YZ6wgh01ZTTCdMCHRFoIxBoGWF\/dBboo9fLBRpvZfWEEeiqKQOBjmmBPp4j0CoQaC29BXo26NOR2QIN70ZyQz5h8fqMCHRAoJuAQGvpuj5duBq0WKAzrSyfsHh9ZgQ6ItANQKC19BfodTcegWpgRaBDlkBbg0ARaCFbCPSyETq5LtR5LbLeRe7IfEM+YfH67Aj00SuBQOdOMNbTZINWvkUdEGgtmwj0fiC0QKBzrSyfsHh9ZgR6Sgl0zbtshnyLOiDQWrYR6G2rAYHujqJAo9fDI9AtQKC1bCXQ882ZorteMYHO78HrJyxeX8f8ohuSmVPGBHpvFgTaDwRay0YCfX9WJNDZVVE+YfH6VAUaGYZA+4NAa9lOoDONHzkNPyLQblgS6K1dpgIV96d+izog0Fq2FGiccBN09gYjg4GExeszJNAhLlB1f+q3qAMCrQWBNka8PjMCfW6CfnYGDcOg7k\/9FnVAoLUICnREoP2wJNDbxqYvUPkNUP0WdUCgtUgKNDGBfMLi9RkT6LkVPvuDVla3HfIt6oBAa9ET6IhAO2JKoENEoCuL2xD5FnVAoLUoCjQ1vnzC4vXZEuilGVyBGtgA1W9RBwRai4JARwS6GV0Fuvaj5CmBjq5ALfhTv0UdEGgt+wt0uN9q5PEsNb58wuL1GRPouR1cga6b\/7bIt6gDAq1FQKCD9xGlxxfWxpFPWLw+UYHOD3QFamIDVL9FHRBoLQoC9W5QhkC7IinQmdldf7qt0XL+3ZBvUQcEWouGQJ8boSMC7YpFgd4NOnuHGS3kW9QBgdYiItDT3aDed9BFkE9YvD57Ah2ef1sRaGsQaC0qAr1dNT0i0L4YFOjnx924EWhrEGgtXS8LnHkyM7J7x1AE2gmLAr3uliQ+36uFfIs6INBahAQ6IND+mBTo2aCpGyRoId+iDgi0FiWBZuzB6ycsXp9Vgdrxp36LOiDQWrQEujy6fMLi9fXMr\/G3tN\/ndq44\/ekKLeRb1AGB1oJAGyNen1GBegPEkW9RBwRaCwJtjHh9CLQ78i3qgEBrQaCNEa8PgXZHvkUdEGgt2wh0sfUR6EYg0O7It6gDAq1FRKDZ193LJyxeHwLtjnyLOiDQWhBoY8TrQ6DdkW9RBwRaCwJtjHh9CLQ78i3qgEBrQaCNEa8PgXZHvkUdEGgtCLQx4vUh0O7It6gDAq1FUqCJ0eUTFq8PgXZHvkUdEGgtCLQx4vUh0O7It6gDAq0FgTZGvD7DAjXiT\/0WdUCgtSDQxojXh0C7I9+iDgi0FgTaGPH6EGh35FvUAYHWgkAbI16fIYHe2wCB9gOB1qIi0NzR5RMWrw+Bdke+RR0QaC1d16fYw4yxEWg\/EGh35FvUAYHWgkAbI14fAu2OfIs6INBaEGhjxOvrK9Au80Og\/UCgtSgKNDW2fMLi9cnn54BAu4NAa0GgjRGvTz4\/BwTaHQRaCwJtjHh98vk5INDuINBaEGhjxOuTz88BgXYHgdaCQBsjXp98fg4ItDsItBYE2hjx+uTzc0Cg3UGgtWwi0JzWR6CbIJ+fgy9QK\/40FTECrUVGoJmjyycsXp98fg4ItDsItBYE2hjx+uTzc0Cg3UGgtSDQxojXJ5+fAwLtDgKtRVCgybHlExavTz4\/h9tn6xFoPxBoLQi0MeL1yefngkB7g0BrQaCNEa9PPj8XBNobBFoLAm2MeH3y+blc9+ERaD8QaC0ItDHi9cnn54FAO4NAa0GgjRGvTz4\/DwTaGQRaCwJtjHh98vl5INDOINBaehacp8SyseUTFq9PPj+Py0FQBNoPBFqLjkAfYyHQjsjn54NA+4JAa0GgjRGvTz4\/n6dAzfjTVMRbCBTW8uHD9EHO6Hkjw0vwobCHoAq2QIvR2wJNjyyfsHh98vlNeO8GtkD7gUBrQaCNEa9PPr8JCLQrCLQWBNoY8frk85twOp0QaD8QaC0ItDHi9cnnNwWB9gSB1oJAGyNen3x+UxBoTxBoLQi0MeL1yec35XT6cPu5cyHZWIoYgdaCQBsjXp98fgEItCMItBYE2hjx+uTzC0CgHUGgtWwh0Nzev46HQHsin18AAu0IAq0FgTZGvD75\/AJOHzLaQglLESPQWuQEujCyfMLi9cnnF4JA+4FAa0GgjRGvTz6\/EATaDwRaCwJtjHh98vmFfDi3hB1\/mooYgdaCQBsjXp98fiGfEWg3EGgtCLQx4vXJ5xeCQPuBQGtBoI0Rr08+v5DP5y\/2QKBdQKC1dC0469L4yegItCvy+YV8HhBoLxBoLQi0MeL1yecXgkD7gUBrQaCNEa9PPr+Qs0BPCLQLCLQWJYEOGWcL5BMWr08+v5DPl9sqI9AeINBa1AS6NK58wuL1yecXgkD7gUBrQaCNEa9PPr8QBNoPBFoLAm2MeH3y+YUg0H4g0FoQaGPE65PPL+RcMQLtAwKtBYE2Rrw++fxCEGg\/EGgtCLQx4vXJ5xdyFejeVeRjKWIEWgsCbYx4ffL5hVir2FLECLQWBNoY8frk8wuxVrGliBFoLQi0MeL1yecXYq1iSxEj0FoQaGPE65PPL8RaxZYiRqC1bCDQghMAyydb5RMWr08+vxBrFVuKGIHWgkAbI16ffH4h1iq2FDECrQWBNka8Pvn8QqxVbCliBFoLAm2MeH3y+YVYq9hSxAi0FgTaGPH65PMLsVaxpYgRaC0ItDHi9cnnF2KtYksRI9BaEGhjxOuTzy\/EWsWWIkagtfQtOOdLOvzxEWhf5PMLsVaxpYgRaC0ItDHi9cnnF2KtYksRI9BaEGhjxOuTzy\/EWsWWIkagtagJdGkM+YTF65PPL8RaxZYiRqC1aAl0GfmExeuTzy\/EWsWWIkagtSDQxojXJ59fiLWKLUWMQGtBoI0Rr08+vxBrFVuKGIHWgkAbI16ffH4h1iq2FDECrQWBNka8Pvn8QqxVbCliBFoLAm2MeH3y+YVYq9hSxAi0FgTaGPH65PMLsVaxpYgRaC0ItDHi9cnnF2KtYksRI9BaEGhjxOuTzy\/EWsWWIkagtSDQxojXJ59fiLWKLUWMQGtBoI0Rr08+vxBrFVuKGIHWgkAbI16ffH4h1iq2FDECraW\/QJv6Uz9h8frk8wuxVrGliBFoLQi0MeL1yecXYq1iSxEj0FoQaGPE65PPL8RaxZYiRqC1INDGiNcnn1+ItYotRYxAa+lc8Ls9EagS8vmFWKvYUsQItBYE2hjx+uTzC7FWsaWIEWgtCLQx4vXJ5xdirWJLESPQWhBoY8Trk88vxFrFliJGoLUg0MaI1yefX4i1ii1FjEBrQaCNEa9PPr8QaxVbihiB1oJAGyNen3x+IdYqthQxAq0FgTZGvD75\/EKsVWwpYgRaCwJtjHh98vmFWKvYUsQItBYE2hjx+uTzC7FWsaWIEWgtCLQx4vXJ5xdirWJLESPQWhBoY8Trk88vxFrFliJGoLUg0MaI1yefX4i1ii1FjEBrQaCNEa9PPr8QaxVbihiB1oJAGyNen3x+IdYqthQxAq0FgTZGvD75\/EKsVWwpYgRaCwJtjHh98vmFWKvYUsQItBYE2hjx+uTzC7FWsaWIEWgt3QXa1p\/6CYvXJ59fiLWKLUWMQGtBoI0Rr08+vxBrFVuKGIHW0rtgBKqFfH4h1iq2FDECrQWBNka8Pvn8QqxVbCliBFoLAm2MeH3y+YVYq9hSxAi0FgTaGPH65PMLsVaxpYgRaC0ItDHi9cnnF2KtYksRI9BaEGhjxOuTzy\/EWsWWIkagtSDQxojXJ59fiLWKLUWMQGtBoI0Rr08+vxBrFVuKGIHWgkAbI16ffH4h1iq2FDECrQWBNka8Pvn8QqxVbCliBFoLAm2MeH3y+YVYq9hSxAi0FgTaGPH65PMLsVaxpYgRaC0ItDHi9cnnF2KtYksRI9BaEGhjxOuTzy\/EWsWWIkagtSDQxojXJ59fiLWKLUWMQGtBoI0Rr08+vxBrFVuKGIHWgkAbI16ffH4h1iq2FDECrQWBNka8Pvn8QqxVbCliBFoLAm2MeH3y+YVYq9hSxAi0FgTaGPH65PMLsVaxpYhbCvQ3f\/T29uUf\/AqBNqWxP\/UTFq9PPr8QaxVbirihQP\/87cKXf4ZAlZFPWLw++fxCrFVsKeJ2Av309uUff\/78u1++\/fAvEagw8gmL1yefX4i1ii1F3Eyg3\/\/y7Rfnn999ff2JQEWRT1i8Pvn8QqxVbCniZgL97uvblufHtz9EoMLIJyxen3x+IdYqthRxM4E+QKDayCcsXp98fiHWKrYUcXOBfvf14yzSD25UzxMAwAD1Av3m7af3hwgUAF6JaoF+4jImceQTFq9PPr8QaxVbirixQD999eX0HDwC1UI+YfH65PMLsVaxpYirBfrpevn8VZvfRLY\/EagW8gmL1yefX4i1ii1F3FSgfx71JwKVQj5h8frk8wuxVrGliKsF+uT7j28\/nn4ICYHKIZ+weH3y+YVYq9hSxA0F+vHtJ7+NvlBWT6\/ftBfWCpZPWLw++fxCrFVsKeJ2Av1mzp8IVAr5hMXrk88vxFrFliJuJtDvvn6789PJS2X19PpNe2GtYPmExeuTzy\/EWsWWIm4m0E9vCNQE8gmL1yefX4i1ii1F3EygCcrq6fWb9sJawfIJi9cnn1+ItYotRYxAa7FWsHzC4vXJ5xdirWJLESPQWqwVLJ+weH3y+YVYq9hSxAi0FmsFyycsXp98fiHWKrYUMQKtxVrB8gmL1yefX4i1ii1FjEBrsVawfMLi9cnnF2KtYksRI9BarBUsn7B4ffL5hVir2FLECLQWawXLJyxen3x+IdYqthQxAq3FWsHyCYvXJ59fiLWKLUWMQGuxVrB8wuL1yecXYq1iSxEj0FqsFSyfsHh98vmFWKvYUsQItBZrBcsnLF6ffH4h1iq2FDECrcVawfIJi9cnn1+ItYotRYxAa7FWsHzC4vXJ5xdirWJLESPQWqwVLJ+weH3y+YVYq9hSxAi0FmsFyycsXp98fiHWKrYUMQKtxVrB8gmL1yefX4i1ii1FjEBrsVawfMLi9cnnF2KtYksRI9BarBUsn7B4ffL5hVir2FLECLQWawXLJyxen3x+IdYqthQxAq3FWsHyCYvXJ59fiLWKLUWMQGuxVrB8wuL1yecXYq1iSxFvIdASfvCDvSs4OiRcB\/l1x3DECPTwkHAd5NcdwxEj0MNDwnWQX3cMR4xADw8J10F+3TEcMQI9PCRcB\/l1x3DECPTwkHAd5NcdwxEj0MNDwnWQX3cMR4xADw8J10F+3TEc8e4CBQCwCgIFAFgJAgUAWAkCBQBYCQIFAFgJAgUAWAkCBQBYCQIFAFjJPgL97usf\/uUub3x8vv3q7c40449vv9inJkt8+tE\/+O9\/e3v8\/f\/2D\/8z+rQT3\/\/y7Q\/3rqEBCPRgINA6Pr0H94vnY\/q0F++N+pPfLo+mDgI9GN9+NRstAs3g09uPvvrp7fHHH82HCZV8\/OF\/+eWf7V1EPQj0YCDQOj69\/fjntwS\/+\/q\/oE978d3XP\/n120+Xx1NnX4H+5o\/ed5h+9I\/PW\/Lva\/ev\/97b2x\/8apeCjsNUoL\/7k\/d9+r9\/SfU94t\/8vbcv\/\/EBdpz68entJ39x+0Pz6cv\/IezTT29\/+Ouv3n58gG2nfXnP8bEZ9d6Y3\/781pjW8t1VoH9+O1h3\/kP08e0\/jx64gzImAr0dEv3yrISPb\/\/VI26Y4V2g\/89tH\/7jD\/\/PsE8\/vf2D90iPcPRuXz6+77\/fd4k+vv2jr6zmu6dAP719+afvT379dj4W8vE9v99+fv\/jw25mFb5Av\/v67We\/\/fz9X1z+Lr1H\/JNfEXGad4H+v7+8RPjd1z+N9OknS2u3Lt9+9Z7ip1uUbmNay3dPgX68Xsfw\/S\/PwX285vbxENc27MjzLPz57\/k3t83Nb86xfrxu3n9jq0M35rxSf3P5E\/P+f6RPP70d4dTH7lwa8ruvr1m6jWkt371PIv1\/\/\/d\/9\/O3q0Avq\/o37GDW4Qn0+1\/euvHyB\/8mAs7gpTgL9NM1ux\/+ZaRPP\/HnpwHfXzfybx3pNqa1fHcV6O9+flvXf\/EIEYFW4u3Cv280OReF3g45PawKEc4r8KU9v\/3qp7E+tbaCa\/Lt9TDzp7ebR5+NaS3fPQV63lj68u\/\/o\/\/jlwi0HZ5Av\/sagRZyWYHPSZ334yN9+okGbcA3j768nt10BWor3x0F+r559NPzH5vvEWhDJgJ1XYlAM\/h0PRD308tOZqRPra3gkjh\/2K9X4CDQTL79o8vqfVnL72v3e5oItBnTXXjnjPst4sSl9nAV6Ls4\/\/fzTuZFoH6fWlvBJXmE+O1X1ytwno1pLd+tBXoJ7N6l18b89HY9RYxAW+Dr8X7G\/bZjenlCxCkuSb1vC\/3Dsy09gV771NoKLsnjM3HXO4q4jWkt340F+h7Ye1a\/+\/k5tuuu0fd\/8YZAGxJcB\/qTX32+XWJ3u9T2jetAE1xPYnxz\/USHswt\/71NrK7giznUg31z\/sj+vAbeW79bHQD85Nwq6Pf7JX5wzQ6BtmOygf7pd1fSzz89PIv1sr9oscBXo7VZB9wvpnT61toIr4qzk356teW\/MswGs5bv5SaRv\/+jt7cufXa9U+M3P395+9Mf3\/UsE2oL4Z+HPn6S53G7gq7cv\/3ifwoxwFejtZpW3TSW3T62t4IK4R+bPm\/e3xvzRpTGt5csd6QFgVyzfJgyBAsCuIFAAgJUgUACAlSBQAICVIFAAgBcEgQIArASBAgCsBIECAKwEgQIArASBAgCsBIECAKwEgQIArASBAgCsBIGCbf7Ff\/Sv9y4BXhcECqb5H7\/4GwgUdgOBgmkQKOwJAgXTIFDYEwQKpkGgsCcIFAzzz7+48Hf2rgNeFQQKhkGgsC8IFEzDLjzsCQIF0yBQ2BMECqZBoLAnCBRMg0BhTxAomAaBwp4gUDANAoU9QaBgGgQKe4JAwTQIFPYEgYJpECjsCQIF0yBQ2BMECqb551\/83n\/71\/9q7yrgVUGgYJp\/c\/4s\/L+\/dxXwqiBQsM2\/+JvvAmUvHvYBgQIArASBAgCsBIECAKwEgQIArASBAgCsBIECAKwEgQIArASBAgCsBIECAKwEgQIArASBAgCsBIECAKwEgQIArASBAgCsBIECAKwEgQIArASBAgCsBIECAKwEgQIArASBAgCs5P8H5wn5xj30s3MAAAAASUVORK5CYII=\" width=\"672\" \/><\/p>\n<p>The other approach is to use one side of the data. That means setting <code>sides= 1<\/code>. Now we get 2 NAs at the beginning because days 1 and 2 did not have two prior days.<\/p>\n<pre class=\"r\"><code>d$ma3 &lt;- stats::filter(d$y, filter = rep(1\/3, 3), sides = 1)\r\nd$ma3[1:3]<\/code><\/pre>\n<pre><code>## [1]        NA        NA 0.7735613<\/code><\/pre>\n<\/div>\n<div id=\"odd-versus-even-numbers\" class=\"section level2\">\n<h2>odd versus even numbers<\/h2>\n<p>Odd numbers are good to use for <code>sides = 2<\/code> because we\u2019ll get an equal number of days before and after the current day. If an even number is used, \u201cmore of the filter is forward in time than backward\u201d (<code>?filter<\/code>).<\/p>\n<p>For example, consider a 6 day moving average:<\/p>\n<pre class=\"r\"><code>d$ma6 &lt;- stats::filter(d$y, filter = rep(1\/6, 6), sides = 2)\r\nd$ma6[1:3]<\/code><\/pre>\n<pre><code>## [1]        NA        NA 0.9133886<\/code><\/pre>\n<p>The first 6 day moving average occurs at day 3 which is the average of the current day, the 2 previous days, and the 3 following days. Notice \u201cmore of the filter is <em>forward in time<\/em> than backward\u201d:<\/p>\n<p>1 2 <strong>3<\/strong> 4 5 6<\/p>\n<pre class=\"r\"><code>sum(1\/6 * y[1:6])<\/code><\/pre>\n<pre><code>## [1] 0.9133886<\/code><\/pre>\n<\/div>\n<div id=\"other-functions\" class=\"section level2\">\n<h2>Other functions<\/h2>\n<p>Three other functions for calculating moving averages are:<\/p>\n<ol style=\"list-style-type: decimal\">\n<li><code>runmean()<\/code> from the {caTools} package<\/li>\n<li><code>frollmean()<\/code> from the {data.table} package<\/li>\n<li><code>roll_mean()<\/code> from the {RcppRoll} package<\/li>\n<\/ol>\n<p>Below I use all three to replicate the <code>stats::filter()<\/code> result.<\/p>\n<p>For <code>caTools::runmean()<\/code> we need to specify <code>endrule = &quot;NA&quot;<\/code>, otherwise it uses an algorithm to calculate means in the extremes using smaller windows than 3.<\/p>\n<p>For <code>data.table::frollmean()<\/code> we need to specify <code>align = &quot;center&quot;<\/code>, which is the same as <code>sides = 2<\/code> for <code>filter()<\/code>. Otherwise it defaults to <code>align = &quot;right&quot;<\/code> which is equivalent to <code>sides = 1<\/code> for <code>filter()<\/code>.<\/p>\n<p>For <code>RcppRoll::roll_mean<\/code> we need to specify <code>fill = NA<\/code> to pad the output with missing values in the extremes. Otherwise, in this case, it returns a vector of length 98 instead of 100.<\/p>\n<pre class=\"r\"><code>d$ma3 &lt;- stats::filter(d$y, filter = rep(1\/3, 3), sides = 2)\r\nd$ma3_runmean &lt;- caTools::runmean(d$y, k = 3, endrule = &quot;NA&quot;)\r\nd$ma3_frollmean &lt;- data.table::frollmean(d$y, n = 3, align = &quot;center&quot;)\r\nd$ma3_rcpproll &lt;- RcppRoll::roll_mean(d$y, n = 3, align = &quot;center&quot;,\r\n                                      fill = NA)\r\nhead(d[,c(&quot;ma3&quot;, &quot;ma3_runmean&quot;, &quot;ma3_frollmean&quot;, &quot;ma3_rcpproll&quot;)])<\/code><\/pre>\n<pre><code>##         ma3 ma3_runmean ma3_frollmean ma3_rcpproll\r\n## 1        NA          NA            NA           NA\r\n## 2 0.7735613   0.7735613     0.7735613    0.7735613\r\n## 3 1.1199731   1.1199731     1.1199731    1.1199731\r\n## 4 1.1049153   1.1049153     1.1049153    1.1049153\r\n## 5 1.0532159   1.0532159     1.0532159    1.0532159\r\n## 6 0.8003626   0.8003626     0.8003626    0.8003626<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>The base R function filter() can be used to calculate moving averages. This is one of the base R functions&#8230; <a class=\"read-more\" href=\"https:\/\/www.clayford.net\/statistics\/the-statsfilter-function\/\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[13],"tags":[85,86],"class_list":["post-956","post","type-post","status-publish","format-standard","hentry","category-using-r","tag-filter","tag-moving-averages"],"_links":{"self":[{"href":"https:\/\/www.clayford.net\/statistics\/wp-json\/wp\/v2\/posts\/956","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.clayford.net\/statistics\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.clayford.net\/statistics\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.clayford.net\/statistics\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.clayford.net\/statistics\/wp-json\/wp\/v2\/comments?post=956"}],"version-history":[{"count":4,"href":"https:\/\/www.clayford.net\/statistics\/wp-json\/wp\/v2\/posts\/956\/revisions"}],"predecessor-version":[{"id":960,"href":"https:\/\/www.clayford.net\/statistics\/wp-json\/wp\/v2\/posts\/956\/revisions\/960"}],"wp:attachment":[{"href":"https:\/\/www.clayford.net\/statistics\/wp-json\/wp\/v2\/media?parent=956"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.clayford.net\/statistics\/wp-json\/wp\/v2\/categories?post=956"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.clayford.net\/statistics\/wp-json\/wp\/v2\/tags?post=956"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}