Scriptnode LFO shape
-
@d-healey That's odd, it's working here :
Maybe having a parameter to reset the oscillators' gate once in a while is worth having after all... ?
And the oscs do seem to stay synced when changing their phases btw
Edit : and which osc's phase you choose to change doesn't matter, the end result is the same -
@d-healey About this case : just inverting one osc's phase gives you the rounded rect wave.
-
Here's another approach using a
math.expr
node with theMath.smoothstep()
function and a single triangle oscillator that is being rectified:HiseSnippet 1249.3ocsW80aiTCD2aabNRtxo6j3QdvpBDohdQIG8NNIDpkl1TUQaunlRg254tqShU10dOudaa.AeY3q.R7FhG4Mj3i.R798M.Fudyta9S+CQWyCs1imY7OOyuYr2NJoKKJRpPNUNYTHC4rBt6HgdPqATt.s+NHmGgOjFoYJhUz1iBoQQLOjiyx6YD3ToDJ42a2bapOU3xxEgPmJ4trC3AbctzNa80be+1TO1I7fBZuwV66JEsj9xX.OKiafBotCo8YGQMpsDF4TdWOtVp5poZVDxoz1RuQcGHuTX0+TdD+belYRSTWvQVwsk9dFDajhZMf660Y74NBAdoSdTXYaT3CvGx83YxyiFONYARtEEiGNKMI7VdB30rH7ZT.dyARNEfTIKjdBtqqhGpyWwfmGh2W.ImdTHrWDJVcQN+NtkDTPnqGPGxZqfIYFT6EMZrNA9yZeQuXgqlKEDo3Hol8JQs0p9CUqT8GqRldod8l6ZlsQI88Yp4trISqtICqIhCNmoVmbA0OlkoHb7mLlhu9XZwTtq8TWPQoXeAW+pPl35HBnzPEL5a1eGplZRDox.8BYJM2.AmcXW.rZaZoBdGVzPsLD30yjy.1hzK1mpmjBYpaRW.hASj2LIGQDWOpXc08CuBaw3GlxqLYnSoJNUny.cBdIoJPLZPRUgjoSyaG+iIi+MNOwGpXgTE6DYGe5nZQzfPe1wvwachcbTGlZaeo6vY4Lg1yPxp0NOtWOl5ZYquyIx2FcEemSUMuwTUAx3QL8kR0vj7W5XXjM0DkDZOSColytvlZNKHO0.FH8L6VapKHXTGpdfoUho7.HgLUc2Ld4s5rIa0YbbR2S6NTx3hUvxHWn2dB2YlsTwpWX4Vxf.y4y4mveK6S78IwQLBknMaaeeXnvinXPXu2HBWStjqGPzCXjn.oTO.tQJLOsTquTZrY08Nn6AEzXUBomTAthvtJDtaJodi.YiDOZhoqM0oBPEP9tZb0+N7HvtQamPxhlQhIMH7XWAocm+E9g5PUvcUZqtkylAqeHWbpgpT7xwCoWMkrGuUW.1c4eOqX8iIzV1zJggl1GagJrIktaaxGsk8li1J1ahYB2Q4d8u94vur5u9OahtYn+1Mm0qMtVnuRxNQN1D8Qy3Iz++nDzQ4ZiR6A0c27lT5ttIFG9.bmAznYi6nE1ikSZ+OGHlVoZzoBNh2+YPo2jEQOBG.+u930lf45LA0yYwOuVwyddKTlWFCkSSUf+PK1RVHqztM9Dnh80I8HeMICSUgpYnf2yLN.5BkTWupRFK7DP+uUIxd1R82DCWQTcpRzBWEixlA22rjEZsJTlrA71US.KqgPMtHLVuNoQ8m2i7Tay6zYeZZq7j6wK5xG.2vedb+w9zYYz8Tn9k+xebwu8w+4DLgx3PFc3zg5jdoIKbu08ZxI2muG5I3Nbs6f4+fnklyCJLo82QOHBM6S+ee7tPvwUmCvR31e28y67QGKi0bQefkp3l7vQwAcgu9wkA6tPv7MO30YIyqAryaXlah.cYBuFiSboK1zL2IcwlYY0.pqRdlq8cKFVv6kHAvjH46pp.EIvbRSzEVlHF2ndCT.7cNm45ZN9OEds77s4YKfMe1BXyFKfMOeAr4EKfMe9BXyKuQaLeh4WEqkA1xAPPmcSp+bb1UPAlUBKD8e.Su9RO.
-
@Matt_SF @Christoph-Hart Thanks! How did you add those annotations?
-
Rightclick on a node, then enter it in the
comment field
. It supports markdown syntax -
Here's how I do it
HiseSnippet 1222.3oc0XszaiTDDtGa2NXmrqVj1e.iVwgrRKV1KKOjPnDxCGYANxJNDs2V0omNws7LSOzSOIwf3B7yfCbiy7OfKHARH9OfDm3DQhSbB5Z5YxzSrSbhIKO7E6t5tp5q9pG8LdfTPYwwBIxow9ShXHmUvCmDpFs4HBOD0aKjy8w8IwJlz0HZiIQj3XlGxwo5Nf.mF0PoeNesMH9jPJqPDBcffSYeHOfqJjNX8Of662k3w1mGXc5msdOpHbSguHQimp31nHBcL4X1tD3XUvHm5a6wUB4PEQwhQN01P3MY3Hwoglye.OlenOCVzAMTaHi3tBeO.wfTzli39dCxi6Xj1JCJXgpFV3g39bO9ExKXiGjtgagF17gSkqCdcrgW6aL7PVnqlAcZPH7R7IpxHCRGYavEkyT8BUrvXtZhc55eU39p3AbEczrwakYfWch5kMdyR92Cu8QGwnpBvVC284u7yzNNSycMwCoRdjR6e.Hqjszs6y6TBPFwHmuGqaghUtmPjtRQRn1c6oCE22yc6vi4grVTISC4shi1koNUHGu5irN1id7617njPJjObijrHhjsuXfOYxpwjfHe1dZceh6g9B53g7Og83leZyFM+rltVJkFAa.mXU5HRXHyOd5iAs4gJove0vjfCYxmnAreRg8lpSu5USv1c5yH+tmHQwCOtOQI4mgbv6lDLTOfgx1LCcZYNUPfpoqaCqgxsgrPuzE+o9S1lcf0NYa1IeSDDLrPkVdFqllMy9s9WPp6dXKhF1U3AvuKgpCyICHpQPSgN6ozUcLYK5EUek0rbYHXEiyRMWM37MwABOi5kr9Csr9EmPSG1DADak7P0bOzvxCqfEwT8LbnkFMUDHYsr1ddNnxlBnx5rsHJBDHawiizEbajn6AMcEkj.rolKN6Bte.QpudPYNa8KVo2uOO7.npxdFRexYWR1CVenhEAUy1yFgnrNL2hglxFHKmTeZmb9ZS6jWyxIoiDFyN0vaYmY8uH3mRc5x3tR1GmvBoSJ77x+3m+6izFFc8g2r7b6qL7VI0St6ASeQSYIzsmIOesqlI2Q2Fe8No1M0IfAWBOXDIdN4lakEqmd84LfnorGCmoANle7S0sNkq4uONP+cq78lSAe9c.NUzy6sqccVbxvHdZxvpkcIbDiLtSYjuroaE1Y9CBJtpdeh7XlJEyWVHLfU6zdd.acHOR3SjE4DPbNZ2NjnGfmRD2zfEcGNpvlaJP5LlFqujpU91ycV1skivXhm2BvOm+syjeJUOUcQ5fsqmd+DkPWYmggoBB8klWeE6rAowCCoDe1c0TGqgoviCX7vNjf.RgG94e4d+1e7U+Po94kvTe1ky5qX5lM67eydYSUSIT2zfZP97JRuZjhuc4vaZURIjGj3OSjCxWbj+2ii+5u76b+F4uVp1nY9r9N+ObXe8zg8K9r96xmI6RKjhHlTwY4uuCrR+VdULOQRu3Cfc0CGxCPmpkMvG0KGTYOzskE0vhcBmxLu5TC7Vr3wJQz+LuCP.gJEuH6FCH5dkTI5QRgo+8EMv8g0tcPmXhLLtcq1n.tG+ETJ7Nlut9kBmsNOcAz4MV.cd1Bnyat.57VKfNu8Bny6bs5.+SNYSuf++AsfAamVb43Tb4aUzeAUld97A
using a math expression is less convoluted...
But the cool thing is that you can go linearly from sine to rectangle just by using the Gamma parameter ;) -
I've built up Christoph's example into a larger module. I'd now like to include a fade in time to the LFO. I've added an envelope and tried it in various places in the chain but it doesn't work as I want.
Any ideas?
HiseSnippet 998.3oc4W80iZaDDeMvVUtzVkTEU0G5CtR8Ahz0HHIMMR8gvcbPDp4tCcPt12P6YObrB6ccVulTTU+t0OB8yP+DjuAsy50fM47Qnz6hpT4Aj24O3eyL+lYGFnjdPbrTQbpOZQDPb9D5vEB8zNSYbAo+QDmOhpgXM4vEQr3Xvm33T8EFcN0qQR+71meHKfI7fbQDx4RtG7RdHWmKcP6ejGDzi4Ci3gEr9Is66IEcjAxDDGUoMIQLuYrKgSXFypPQPz0mqkpgZFBFhSsCk9KFNU9Fg09y4w7KB.ygVjg3OjUbOYfuAwFojNS4A9CVFuwDhCcPdzW0F82mdL2muRddV3toJby8nX9vox5vq5ZvqUQ30r.7JARNEfTMKjtGcnmhGoy0Xvycn8EZPMggo8hPwZKw42ocjnAB8CCYyfdJ7vJGZ7zlM22E+5A+vjDgmlKEtRwIRMbpnwC16W2q9d+1dtuqpISJUm40njAAfpT0lJsZSN1PjDdAn12cNKHAVYHF9qmSoWeNsXI2yF0ELTJ5K35Si.w0QDHYoJ7oW0+HllYJDYxP6h.klaffyQvbjUaKK0oGAwyzxHjWekZFxVj9IAL85THSeSlBLGrVcyTbDwb8hh8UuKup11wq1Lseag68nC3Zuoki2JkfWLqcai2rtzOk1cxDvSmC1Zzd+7FaIuwgxmYgxcnC4BHcjYJP9hzyt+DaN39BP.JSRs00M8r8W24O11omQa8zyS8z3qejhIhijwq8CODB4ijBSFIW3qhwADvqOyTkKJuijoJU0aedOLHK0mgLchJktbPnLQnWidTcqqIEaoWuqof8kL+r1s0H8Onsd+6mTr62.UYvUVI3tHmNLJ.5JlCA33vTL9437uIrj.8RoqSxOVJjQSkBtWQFvYfVwu7RPUD6kFPGn03N.4Rte6yf.fUjM+MseIxBYJLOA6Xtn0+3aiKsd8kTKbcMclt+mZBO0B6uJaIBC.Omo3LgdUbjFBtYFXCgLSbWYyid+gxxMO9SZ9s7QJHhofQxAArEMhYFVDNx.1209b7.PcXfza1UWPHxFCoZabQBNuWcsqlbiu0x6a2D5MDCqvlGm.52HUyRocYOiOYKMwoo1wZrzLdtszLNbYoo0s6VKabMfp++bMfyjIZt3xiY3zreAYCmjDNDu80CPjHDPfYcUmJlxq8bSyY60uB+zC+E9ISYKyYmLksVp7Cx6Hj4oji8rjcCy6iSkfwsH8edUmdr4raKRZC.5Gs4CaRBwqMG64YR2eKleJ2mGsC973cvmmrC97c6fOOcG7462Aed1F8wrwxAIZYnsUDELnaZuuiSWACYxordxe2XsKAI
Also, how could I add some random variation to the frequency value? (another math node? or could I feed my noise osc back into the freq of my triangle osc?)
-
@d-healey Are you using new_layout? Because the snippet crashes on develop...
-
-
Also, is there a way to get the Math.expr node with the smoothstep to be bidirectional? Currently it always goes from 0.0 - 1.0 but I'd like it to go from -1.0 - 1.0
Actually I think I can work around this by editing the modulation table.
-
Also also is there a way to get LFO to restart on keypress, so every note in a chord stays in sync?
-
@d-healey Built new_layout but it crashes too with your snippet...
-
@ustk Yep, my snippet crashes here too :p I'll post a new one when I'm back
-
@d.healey Your snippet contains a network that was saved to a file, so it can't find it (crashing is not the smartest hint though).
However I still need to think about a good solution to share scriptnode examples (including SNEX files)
-
@Christoph-Hart Got an idea => SnippeX
-
Ok well here's my network file.
-
Or Snippnode...
-
Alright, here is an example snippet that might answer a few of your LFO questions and the network was saved to a file before so we can test that one too :)
HiseSnippet 2016.3oc2Y07baabEGPTqrEsqqShmL4POrGxA4YT3P574jNSsr9fd3TSYNhJJ4l7JfkhXHvtHXWHJzN4dtjomysdr+Kza8OgNSO1a8u.+eP66s.f.fjhVhgVoI7fD1291cee768wBzKR5vUJYjk8lGmDxsruOoehPObugLOgUm8sre.oKSo4QzTR6lDxTJtqkscsmiDr2bcKyuW+zcY9LgCufjk0IROG9K7B7zET6syezy2uMykerWPIt+jc53HE6I8kwf7TizzJj4LhcN+PFx1ZDK6MNv0SKi5qYZtxxd8cktI8GJGKR4+DOk2Y9bbPKq9vFkRtsz2EkXjp0dC87c6kq2JKKaRuBqPsTqviHc8b8lPuvZ7PyDzhUT1dXuVUwqVEwqUYwqYIwaNhjcIQZ8TQ5cH8ch7B0Eyfxy8HcDfyY.CL6kEkTdsr+Gj8j.CBci.1Hd6HXvjEr0m0r41T3OO92OHV3n8jBpTbnTyeoXqGW+OWey5eWc5zSMXvbmCOlHouOOZtSid5nEsvsDwAmwi1ldAyOlOgQP8qZSIWsMsrK2IUqKwnTzQ3oeYHWbU.AqLSE7zW0YellgNhLZ.eg7HsGJB16yu.P0otkMI6yUizxP.WOiOCPKR2XeltJDBiaxl.rAU7anyQn7zIkiqVY3pqqH9NjddZmgyWFWaNxHXodaHiYQi+FxACFvczEB35j1eysWnW8rPO3LwC+9YCos+lVyMn66IE.7vHdHKherrmOKYKEKHzmeDHiaSOyW5Lpu2ehOaTQXpHrKxwVNCYBA2WsLAOabssJsVrS4HYr1SbdWlNx6RHJ7v3f9PZZG9dYRGPydMLFJcbSbLhK5yEtlA+W3W1jsvw1YS1JexRgeGx0ikQiLtirmAmAZ6uCAz9QIVOy2WNdOYPnWF.EL+FZ8j9IgCkBOGjTJG4B4yBjwv9mIo1qcnzEzcRalCXiR5wzCQnOl5.vY7nFNSva4GKth7BTo5GbBAnPikmp.HqUJkQJpBGAwLqkhg5nNAm0g4acB50vHKy9ahAXQPMOHOMNXWobT.yXN9ImX5AoSdORePCMU5M526aFS+Z1Eb5y4fti4CZsfh8+yqaw9vqcw9W5ngi+3HlPEJUU1397.uikBTGKH9UJndF+aOB8+koumjEM2od8SaCJ4bWSelNNx.jxwHkxrUaQMcbkAQUSxWh+4jyY8+uqCjeATLydsdyz85CAbLlg8.wEbeHvvHiuKDILfE6qyoVEX2UJj4YLJ75GwgLcmeNOprrOWE5YZMzlZAkGsyQbeNqLB9C24E.xiE00jvYorEstwUslq+5CHohKEiFo+r2DBIUT+cYUTQg5DVjGSnmH6FwllWx0H1YrPmvSq2r3mWa9+bspMm9rpGOxTC9MTg9rXn8jnqri4Udyzuop9jUUU+qWE4fD+Axa+JxoG6sTE4IhVJqC7t7KN0z.mUEY88KIqk3YAB4djulSEbtKUOjSi3JtFursVROiSUBVXXBUIoiyXhQUALeeZJjiVWA8O9SVKqMQKqURK2jHjmF.0ZpphuWIULmgEne+.A0KoxA5B.CUoAwJMUH0ftBaKpnc6reGpmHLVS25rDpaZxZpmlBFCE7eEc.TzNlKbRP9wMLDhXAyArO7GW19.SONhEhK1SX30SQmHvqP7fcE7Pg9YMC1Mh2nzzKKdEYCRIcYd6e66oPavtFbfZFJnRHb4Wl2b8APlBWWtqY44MbWtKS6MlLBdtqmHSkKpH1kc4Tzd3N807P7JLUxzNhON0HTozIXm1fXJ.NyNacyO5ObNGMzF2Udz2izNGBM04G95m9FN+W+zYO+l2PU+9lyml134L6eYA3NWOC.bX2Pa+ygpAydzOKVKCfYL2reIbDySNVji3NjdCwdiVEffa5YugoY0EY9w.sRA10I4IjqFV+tlbfPI3FSleAw0+MxwXVHAvAcLjG.RqIvL4dP6nQfkmBsrF6q3zsZscysa8X53gvUvt.qB.Y5LE2ov5OC5ccLsYiOsAc2DLmlf6f2IGy0kkU7bvQRgapioRkCLj3Y87tMlhzgIRKwjlCEcD478h1ubQYeJ5T7XVz4PZYLiyzDsruKZF53NUJwIlWblLf3ABFzChA0s5A7GbIzZmRY5BAxpVMQm8pIXawf7zMXlstZzVIj18HJyEWNkMET6QjbOXiBNV.X6emB1xWTNfKBtXOz0FMLNBubs5KqWuUCJdsb.FR0PW00eRC5QbSE24ANnwJDqUtIk50+CziyGSUdmKX9ommT3mX5eAA5HZt.c53iG+1XMalh5Kg8D9OSjPGwSPXtwywc2Fg0oBulkPk36ssB9jrvp2+V7MTUxsm4IR6ybdnYq9iwW4YA5dsxDxdgKlHNoXZ1mY1xCAzPdPQozIUBIxgKqdv3zABqxlHlIvp1MNC9N+koKi9W+we7uOaP8qdu8+Wl.q6lc8UqY1Gq29G9lj7K1OSyHqnhW27B3S+tBqz+NDR9j.oa0DJOf.IfF1HetEjJYKrJGVhBhOou5iZ0nQiVuJONGp37plFJ0m5MPUotwUl4cia4Luu8dkpK8GRo1up+PJ2JexfaiyHf4DIOMqgODFeWCEPuEluK8ljt3XZKqKxJxPZ1noEdw3ScbPS7G0xxZ9q4IKwZ93kXMexRrlOcIVymsDq4yWh07EKbM3KHOqSKLjCHz6fzZV1EscVy5+we+39x
-
@Christoph-Hart Yep the snippet loaded. Thanks, I'll study this after dinner!
-
@Christoph-Hart Thanks. The resetter works, and by removing the last sig2mod in my chain I get the increased range.
For randomizing the osc frequency, I'm thinking the best way is to route the output of my noise osc back to the other osc's frequency control (via some math node), is this possible?
The attack time of the envelope in your example doesn't seem to affect anything. I was hoping this would work like the fade-in time for the regular LFO modules.
Something else. We discussed this before but I'm not sure we found a solution. Basically when a time variant modulator is assigned to pitch and the modulator's intensity is at 0 the pitch should be unaffected, but it isn't.
https://www.dropbox.com/s/ntz5irejmyk0bxk/simplescreenrecorder-2021-10-05_22.36.17.mkv?dl=0
HiseSnippet 2743.3oc4aszaaibGmTxirkyqcSBVTrXW.UfdvKZh.odq1CwwuBL55DsVdM5MiwTirHLEGtjTI1sneP1a6gdZAJP+HreD548Xu0a6Wfh1+yL7wPJQYJEY2DTcHvyq+yu+u+OCmzykZP77ntJpkO4ZGhh58Q8u11eztivl1JGtGzOxZH0m34qry0NXOOx.EU0huhMrZ40Tfe+6+1O+hcvVXaCRXWremRMMHes4XS+3d6s8evzx5.7.xIliklcisOzfZuK0hNAfRQjlhC13R7EjWiYSq.RQsz9CL8ot88w.XTTWaG5fq6Oh9Naw7O0zy7bKBqgtRefPhtOfZMfgXVuJ6NxzZPuPV1SAHZuXAPQg.3oniLGXF0erf3S3CTIdExxC0BIgWwDvSWFdZRvaFPpfDjVS.oOE02v0zwOdDFdtG5Paeh6PLH1kghXtJp+DZWJLAa+piwWRNvEZDsfsZoo8rJv+7U+9gSrM7Mo1Un1uFzyuwdquZy+7lk27urYkzCMb3LGisMtTKKh6LGloocm2B2xdx3yItOqxawVSHQSDX+jxTT1xTYUtgfqklH09PaS+23PryxPPIPTA+02d3dXeLnHTC5ClmCw02jAA08HuErpEpkxn8HdW5Sc.65oLitG2Z4nIf.mqstebacY0UA0h41xQetVNw7fZg.IKLUeNZdXfEzNS78o1JlCXcYdgM0kDzEW1G6P9KuPIGz3QnglW02ehwkL6CuYPjoMlA2H5fIVX+j9Vr.JAC.FGILnYVs1dl9WKS4zNbqkOGt4GOHuv8SQ8L8MFMa7VXF3koStkwafc2CP6ObHwvOFrqgN3ON2XUqbnrg.JeN5UVzywVwBPvhBPUfGwWFLbknwqDMA8LS1nn7OxaxFmbmrIsO3Z4yG7FRtr1sUxk6Ta8mLkZxaw8NW9zgpRvDIf4WDDHhoUOE6Zhs8ivFGxHVIK2DHUTBST9OQwIkbbINXWxIzdV3q2xCO1whbLvCOqh3u85Qb2whZb4z4ybD.kO5VmOA7BcyLS5JOI6MkJEsxSxn7Zh+6ntWxURA+MXIwj+UPdbQ6Y9fF5r2JTQmMNTGoq7RKK561kN1wLH7Inh380iZcsyHpsoAqKwLHfsnsMw5kioSfMVEoVfGO80zA.fKc.1.n408v9iXAlMBCgT0HxDNs8.2nCX9dXWn7RHirmfwYTLLr.RUgysiGy3VdEnEYiKXW9ViD40gTfcN6blVWIAV9LIrHMmjvHuaYQos7oHuwTp+HxfybB4fja8Wv2Zvdn5Ll4hA.opeDNirVfaTAFRJwBXPTNUj1+AnuFXVrakiAWEEk3rimfcuf3yIP5NgMkgfCGvjjTOCHfM2MNR0vFoDu5.k8swfMZP.siLsC1VDRqplxQ3qhZqCsUjTtL1Hh8UW6lVJiyVGI55kS7oiAelvvnRzAESmmBzQWS7SuQWMc8V5RjcCDaPfx88IN8M+SYsB1F+HTetJyz9BdVq.R7DTsl.EX+p2tVyZc0pmEXlMSEu0wLYYTnHMonSxVCgbFiSZb8fHiK1PKl0zpyl3dnCbIe2Dhsw0yyvnojfXclZ3NwzXsYaZDpumIY2DczDKeSGqqyIkKgdtdFPDgd4.Ikpfokbjk0vqi7brfxlxLNpX3kKrUgDajHh7MDvd41nRRazlHa5YigxozStWOQZuBlwRtaIS.HYhNEu4RpJM7hsarzeVjqBON5dlfl.e8N7JK7lpGn8g1CHWwJ3+45oLxKk2PEMxHTQxH8HTsD9QS44LK2NwcVD60luPqBHDSsRH8VYfw6yINj8ABknjQxfkLRIKCjedc4mWnidivdDkDRpElJAoCmBLxN3xZek4lC+9nC8NkMpA1JDXPEVAUWI7mbIdD+opx3wQIBhFOoAt7APVQYFJkupE.c0BUsPZcdRuG0UVJhoiAWR3V3Yx70OCmRD+TDw9sDKXUUimwRKjQy0P3QnWOYrDeGxU7xsU5+N1MdDqaJH2QvskYS3GGwK0zmZT4lfDMTkJYmkPgFJMuwR9Vz.lEjCXtObvoAfjjuZl3J6xDJkMRJyK0KG050+Rx6DpZwDpqoqUGlP2tcZzsslnXvMPuz2GCGZHpJvtsqWsMmNM05VqkV6DgOlCvxaMn4BWkQGSrHRQxfnxZqv3rIqbYFgFjKfoL37bQM3zkIccdHB77FUMbrEJ0agUi6epbPYT.VID4JmT982S.d9.KHxkcwKL0401UJKdCzQbID+7Fdf1XKSamI9OqBjUZXkmKtCgfV+1faTHhMBI45n8HmO4hPZxu0famfmIDYND7koEY7ps3CrPhr0Vc0YkTGOK61UYd4MPtX6AzwKVE0SewGK2sPDUkcs6hprefT5d87Wls3.HerVjciTgTKkcYwkQ0Vt7N0p0sqVilspUqdiNs6zbpxziR8nGb+CZ50anqCq4ihR1yjnKaA64lJkXR2lxUrGcfHPuvEe2BUriDkxItsZH7vHn7vzksO7ppIGeEkbbN1.qipqqk40PsK6lcAJjZxYlxbSD0lblC0hLEqYZw.V0nweuNx8ABpE+mKVMinYKaJA9pY47tzdm0ZUUuc2tMaTqilVi505jkGzS3E0Ibj06VCphrqDTfJLq1oK6WK8NMqqUqc8oAUqFs0a2QuccsVM06zhCphnuIW9ZqCxsNoCOzI4Iayza6lCDjmpWuW7UrFtUeFiZZcE+Z2tUiN0Z1o1pHHTxH5SaU+d61mc8GqTRmvXdM45ztI4xooeT.46zfy7qbrbmKLMxkcftkPu3dyS.WoK38FuD2of7CgZ0uJKTOqaaKEtU1dow8RKlWG0eD1I2FHr7kMqky6JH3PSqFfFcL6bb74HwbSdyz26wx3lsCkd4XL+Ko9d+5iV5WsRw++7UqbLchOjG.NHrq4UrO7zjw8gpCLB+nydgW.VPasv5F5SrGva7efeACpyZqFLnd3fxr6WJX2Gi566RvigctOuPL2fOATPqre9Ke9e8V34uzykXQwCDIuBm1Oss3HOI68uuMeqB+V7w6U.xOl.G.2mmzKZvM193iekKchS5U8KufaPdhK36wRFKMvarIft0WlG20k54MDXGNs7jGp2D370Cj64XxagzVI6CzsxZUlh5a8HL6ISiPCf3Yy2EsSvbaJnzNda8Tsqkpc8TsajpcyTsakpc631BA5QXGQFKrkOcn0D3DMoeVjqmu2xAPodXf2kl4NlWDsKhdj8Vhj2bLI8TauKeGs2oO0o2+Wg3p4Y+VNDi8424+9AeB.NFeLD1eHFJjHr2jwJNhZSCe.MxdCf08EWvR3Ei8YxPAIBi54oaGdSuQc8a1V7LOR5juPxB87+lulm95WEj2tBK.WkOnd8naD9T0DOdtLepZUBeccbVHXJwO0N849vR+gu+6+Wu.BgEDzfMAHpmufu4cFcvT4hn90y6gW96XOUpUlp7NrzjUySLr7sfdaJ7+C+3O9yuXGSGpElcihE9nQE9AzaLddVSOLnNpJvt65+A9aI+9Hdl+JrB09eETuKpB1HjT.uE72BS6hjvuTuZAKnrMKYubOnFTFjX2s1cAJGiMbomE7tFXXcCdO.Js4+OQpLbNbncE8v+uNHNnH6qbblgQ3mEX1qo1Rrl5KwZZrDqo4RrlVKwZZuDqoybWCqXxfOUHKzHzQu8EFVpQOAD0hJ+W.DOlgdA