More problems with saving data in panels - must be me can someone please define the rules...
-
@Lindon Honestly seeing your code I don't get where it doesn't work. It seems good to me.
I am working with huuuge 3D objects blended with arrays in panel's value and it works like a charm.
What about my code on your side?But in fact, I might see the problem but not sure... It might come from the fact that component types are not recalled at the same time. I don't remember the order, but if the button is recalled before the panel, there's no value to print... Although the "1:" should recall anyway...
Once you have set an object as the value, it is available all the time from everywhere like any other "simple" value so I don't see why it doesn't work for you.
EDIT: it doesn't work here neither... Investigating... -
@Lindon Ok same issue I had in the past
You can't assign the value at init, but with a method that checks if the value is already an object or not:Content.makeFrontInterface(600, 500); Console.clear(); const var Panel1 = Content.getComponent("Panel1"); var obj = {a:123}; var reloaded = "none"; Console.print("0: " + trace(Panel1.getValue())); inline function onPanel1Control(component, value) { Console.print("1: " + trace(Panel1.getValue())); reloaded = Panel1.getValue(); }; Content.getComponent("Panel1").setControlCallback(onPanel1Control); inline function onButton1Control(component, value) { if (typeof Panel1.getValue() != "object"){ Panel1.setValue(obj); } Console.print("2: " + trace(Panel1.getValue())); Console.print("3: " + reloaded); }; Content.getComponent("Button1").setControlCallback(onButton1Control);
-
@ustk no... this is not what is required either.
I'm looking for a simple way to set a value in a panel, have it save in the instrument, then recall it in another event (an onButton event) - an event that has no other access to the object - I need it to get the value out of the panel.
I want to be able to dynamically change the value of the panel, and have it save in the preset and be available next time the instrument starts. I need persistent data, not programmed data..
-
@Lindon if i understand correctly then this is exactly what i need to achieve...following.
-
Have you tried the persistent data library in my framework?
Example Project.zip -
@lalalandsynth said in More problems with saving data in panels - must be me can someone please define the rules...:
@Lindon if i understand correctly then this is exactly what i need to achieve...following.
OK well in some ways this is ugly (but thats my opinion only I think) but here it is in a simple example working...
HiseSnippet 1466.3ocsX0uaaaCDmJIps1adXEaO.D9urwxbj+JsMEcyKeUj00Di5thsALzRKQayFYROI5jFDDf7nrGk9Hs2fsiTRVzN1xIFKJ.wl73c+9w6Nd9nZGHboggh.jUt2dwHJx5Ks6bAWNXuADFGcz9HqGYKogRm5ncuXDILj5grrV+kJoV41.oe9mebWhOg6RSmBgdmf4R+E1PlLc11sdEy2+PhG8srgFqtQqibE78D9hw.SV21AMh3dJoO8XhZYqYirdvAdLoHnij.zAYswtBuK5LPbNOZ8uiEx55SUCph5.FJZ5CE9dJFqlEs2.luW6jcbHBrR6z8+5Q6+u090LO1j4S8CesV.NUCS+g0ZYQuplzy41SOKC5sQD8drcG2.1HYpDE29B6i3RZPOBDBLoUzZQq0Mm8dBXEbYkgjSoGF.ClnQoscb1D2zwo7yKjuPdHPDJwmQBvsIbpeU7KvI51mJ2SLbjfCCJULRbQkVQesRnRNWFH72i362EBgkD7HYwyqVbJ.uhK5tX6qkpMu9ay25ZQy036NVJE7Ea9X4Z.h+97gHVXFfTaIfTy.jZYARsL.o9R.otAH0yBj5Ffn9SAwvKNo6GA.t7J8jasEFL.VNfhGoBegXQ2ORciloGK.HlDN.iomQCvDtGlG8s9vgkJUpTHOi6y3vRGyckLAGmfciXrK4lP+Mgsn+XZ4B4urP9brdkRFhgG0TpO8EtDeEGTTjriylc2ooylt6T0wQQX8ZRyAemxBkfUq1gJQWE+I.dnvmVYT.S425PkRFue51LhJXoXmh3uCKCTGNhMa+DyVtrxpQtorBGMJVNqfPioBBf+1WP7LXRr+FbcLNSt.e5TGsVjKcqsf+kDe0BTdr45PdCUFvnmMGehgCIx1oNgEGrWNyRRxNENECt8X+unGlnyEvyMYXR0fn.hdqUgT94SI1c.g2m5UZRJfdOGw3Ew2ZqNe6NCeykIY6tbxlMSqu5L08NwT2aKSWTlfY84Ey1yGP43XaiCni7gDMM8mPa0.2wAAfxPoIep19waEI7KivRhyweAtXzgmho4M33G0pSp0mdhFToZ4zEodhSpLNwbSST61XhtYZh52FS3dyysyqdmdwlo6pOMCOKJYp4RBOyTjnsQkRV3+CUJalckxlSUozf8GKjzS3kJm+x74xeUd7rh50atxhMmOMXthUMlFjkhk3iG1kFj3iRVHzg1zs.Zu3V.M6P0MxyXrPA+Hnj+Iin7E0XHJ1cBsHZGyJXoRcCheUbChc7Ydz.DC5C7g15SgHMgAUrz8bOqhER5rTEF058H6nPZhh+f8O24jiurHo3NXniwhcgOqWqxSdl5oV8m3rsSylv7tv7a2rRU0za+rFOsViZUe1U2DwDpFEm0PlyN93YBloWw3tndskrWyP05yn5udz9DIQ0LdrSGBDinARlJFasO7qktznVyyYuOM7ToXDjJLIIGryRiKeJcaNr0ESFb8AsFRLj86sPFl8gKMpkp506aX1O+msNm4IGLYh+95VCnr9CRum10+QqPxYzi3sCnvIynzPq0MP+A2hHnA0eoA9n8aMhnpiaXtIbNf3wDuLPLdzLg96.x0L24LSG58Mx0MP9Cmah7g2yH2v.4OyMi1+0LgR3H.8SR8EIgVDhJlqqWitaH1bQH9AYqHD9F61pewXJLlkKnadCW3d1Buw9D4zW9V8FGhE.kim5VtpaxxCYxKL8e2K2H+1R2Ga2lIcGLe9t1b3KTe49luwueiB1GzqGzcTJY2v9ve69+kYfdiXr51Vul.2w.RcrOd7vNhwAtTfIb0cLUkbWSUrNZrSRI3NTtmdv+BOwBqpFaEKrZhPzPhaf38tQU6UuAkGomA3DW+hjxY+Z0Xb5uEZ6TwAMj4wduqqxU78.2muN0VAcpuB5zXEzo4Jny1qfNOYEz4oYpi5cp8SikhgQGSfIZef9GbsrNfSfrLcFI5+vimIeM
-
@Lindon Awesome ! This works perfectly !
Personally I would need this to switch between 3 Knobs with each button - Button 1/Knob1 etc .
Think I see a way to do that, sweet , testing ! -
@lalalandsynth well I need it to switch a set of around 20 controls, so I define an object that holds each of the 20 control values and use that in the place of "obj" in the code.
-
Isnt there a problem if you want to automate this knob ? Would it automate the value for the Button selected or ?
-
@lalalandsynth - automate the knob? it would just spend some time saving its value into the panel as it moved, so depends on the frequency of your automation and the amount you are doing in the knob call back.
The knob call back doesnt call any of the button callbacks...
-
Strangely , when I mess with the code a bit , break it :) and then reload the snippet it gives me this error.
Line 56, column 20: API call with undefined parameter 0I have to close and reopen HISE, reload snippet?
-
@Lindon said in More problems with saving data in panels - must be me can someone please define the rules...:
so I define an object that holds each of the 20 control values and use that in the place of "obj" in the code.
Can you explain a bit more if you have time ?
I was trying to just duplicate the code, name it myObj2 , knob 2 to have it work for more then one knob . -
so theres an object in there:
obj = {a:0,b:50,c:100};
its holding 3 values for knob01,
you want to hold values for more than one knob...
obj = {
a1:0,
b1:50,
c1:100,
a2:25,
b2:75,
c2:99
}So all I'm doing in this simple example is increasing the number of values held in obj - in fact what I actually do is declare another object - lets call it VoiceObj - this has attributes for each of the 20 different things I want to record - so I create one for each "snapshot" I want to make (in the example case 3 - one for each button) -
so
voice1 = {.....stuff in here};
voice2 = {.....stuff in here};
voice3 = {.....stuff in here};obj= {
snap1:voice1,
snap2:voice2,
snap3:voice3
}; -
@Lindon said in More problems with saving data in panels - must be me can someone please define the rules...:
ributes for each of the 20 different things I want to record - so I create one for each "snapshot" I want to make (in the example case 3 - one for each
Thanks, looking at that .
Whenever I try and edit the code , even though I undo I get that error when pushing the knob ,even when I open the snippet again. I guess you dont encounter that problem ? Strange . -
@lalalandsynth - you need to save the initial state. so open the snippet, move the knob, and save the snippet.
-
So I tried this to control 2 knobs and this way it now only works for the second knob I added , thoughts on where I went wrong ?
HiseSnippet 1782.3oc6YszbaaCDFz1LIRotMoOtypSRSckIojrSblLQ0OGmDaqF4losWRgHgsPLEfFRH635wy3eB8Zt4+B8ePt2+D9duzi8lKdPJA8zxpwSayTdvh.K186CK1EKMPkPpGJJhFBLRs6wMQ.iOxr5wDV8UpCwDvlqBLtu4ywDeJwJ5HLyqtkKX4iaBihP9.Cio2PLLiTy.jO+wSVFF.IdnNcA.ujh8POG2.y5zakxOCGDrNzGsKtg1nKVdSOJYEZ.sEmRSaZCZB8N.tOZanXXSYBLt0Z9XFMrJCxPQ.iYVl5eb05ziHpw+RbDtV.RzvATkaHU2qSC7ELVzKXk53.+JIS8H.2JU53HlV4H9bysv93182wgbOo.qNZn6OLlZTzyQmd1iO8Lzn2LJ5ceypdg3lrNRDb6tlaRXnv8f7k.cZoFKXpKtm4JT9HHr7MfGfVOj2nsFYWv1dNqR114dzromMMegHhYcHLzpBjfBbrdrUht6iXqPazjR3MxlQINiPK0q4iDxIrPZvJvffZ7kvrThRVb+8BwyHzZCGAoTI.x2Fr8khFg4cGo4caad2gad2tLuN.K2hwnjgOChkKAI98ACSrPMf5ED2q.DWMPbGEHti.jBWAHEz.ovn.oPOtLADMNdmZulCvImJ6b94s3FvhUGY0TDiDYQq8Zjmpm8vgbhw36RXgNDEZAI9VD0a6yyHymO+rowj.LgOzVDOFluSUB1EiwNqWB8miOECZgxMa5SlMcJ7dYSZZweDcI9Mf5ACDbPPQnyR1yUyYoR1y44rjissfyxg0IV+kBijkqfXRJDcZ7ub7inAn7MCwBWWUDigI62YlpXiEitTFquxhEJRBiM69IlMWNgUUdpQshTLStQsNTrq0AtKOfB80XRrKm68vDLaHt0tRgGlWc944+IYIVJP3wFnC4EHVHFc3.7IZNDks63DF958Uyrj3rC3Iyb2dr+mtmETFNXMv3g164nVPjSs7PmbOpK4d0gj8Q9YaGCHmzJJOLB6N4DtVODN0HYaswfsilpElbp5csnp2XS0gELnWHX3z8n5HhUrssBQMC3wZR92l2hFdsBC4Jy2fJ.Ise7bgwKByGRbX9isxnxexzIzwJ9QL5jc76jTyUwIWmAIdRhqzxZ52FtiiMpMZaTXbrgmS+YuCZWO4n0i4E+puBMr.pRWwJTOaUTQa+Rbz6g8KKM58KK0y9keIeU9u+i0xT5AMfgGzUoP2+uV3G70Bc+.pXnaOo+t8VMz8eUUC6mt0FC59OS4v94p2Xy0QUOz8+n0CceeTPz88QEQ2qWIQ2OnqIpw7soLzNjr4ReR5ToOMsUuh1auAJK1TAnvAJVbrPgiRwrjVMpgBS7OICDXLS2G.i4vO.F8yGxS4UzFHkrIey+cZhHC6XY.wtR.v3VwrhOTl73Y933imoZ.1GEBv9.iaaJSDARBGejWm86e6EOAL1J6zkxm+129zx8o7rIGLjHFPp6cLUwCIJuq4Sqty1mjwyIyRV14KUzV735TrzhKrnqybVYpojr3BOT77.6G5tPImBKxk.i0wVJ4g1EWnfaoEdvofgNITgNRhjxLNwuqog7bCuNp21EZZH09ZnZgdT861bUHCJNgs30R95aSTHCKBcLVkWM1CoNusTlqhhNfQaJWriya3uekK2uo8zztU4i0OXziv9r5BpP4Mpiv6WmIZMuZN0FByqLnnCDWf6FhFvNx.+PYcyd6qLbQS0mnY1y1nbLyi637yJmv9jg7ikifGh1jTIDw2OQk.YL8v8aCLHQC+MzmVqVtITTDRybs4bHzGS2Hj1pYOQWWCj0WyNS2gd1MMxEzP9mNRG40ugQtnt2dYMjO2qukRa.C8Fl7Hn4eiipHjrNC35gYIMLa9yZX9NuxJD9LyJhJccgQ+rQG06xhO7dEpqy+xdw+lwtX9V9Br+hAHnqHs0z3wE0K2NG0XJ8bzO0n8t+psG9DSEiVNjdTDO8r19IWhQpawszeJLGlgZzo2e8xe4xt60Uz8u8tKkcK2Wx3bS4WNkQTWpJehqbb7sfYgsPy0Vj75CBGhPQU3n95UTkToP+xVGdHMjyKwcwzkvsaInZqFRcJv+hB.n+al3dlaQ8aE.YceoIhaJJV.uPdW2Ng3FHHQX1w5wu2H2jx3R26aVQbYWCluSM.9xKgbSy236kZVy01aO9mV2gryXt92eyeITfWPaIxX1Bx+2T4ILl7fgp7nVODmIDwQUHRLlRT6R01NoJaUDwW13R9SrPGYNUrPmDg75UdgzW4oJnKt4q6H6gyIh7B.SYtknsU6ufvzzNuMnA1G+JOOgq3qc.fAqi6DnSgIPmhSfNkl.cVXBzYwIPmGLRcD2E52zhQanRS3cTYM0dWFqQf7nLYDI3uPIY+oM
-
@lalalandsynth - you need just one object saved in the panel - it must hold the values for all three button states for ALL controls....
HiseSnippet 1866.3oc6Y0sbaiaEFzwLaj151MSaumqtRdppBIzu1Y1IZ8eYb2MIZVkMSa2K1RQBagZJBsjP1q2LdlbeuouAMyzmf9Fj6a6yP2GgdYuy8..JQP8CshZ7La1ozyXIhCNmuuyAGfCDP2HlGINlEgLJ77KGQPF+DydWFxGr+.WZH53CPF2yjSh410P6c4H23XhOxv3NOVH0nvlH4y+9Q64F3F5QRaBgdAi5Q9b5PJOs0tc9LZPvQt9jmSGp065cN1iEtOKfMFXxcLsQib8Ny8TxScEcaCSjwcOzmxYQ83t.cPFatGy+xdCXWDp5+Knwz9ADwKNndfgTMeDKvWvXQqn8GPC76NwiiQfU5l5+2Q4++BymP8oSaOMN7QRAVoZnGOL1HO54nSO6UmdFZzaSE8tuYOuH5HdpDA29PyiC4jnSbgg.cZo5KZi+z8M2mA8HjWcn6YjihfWlpQ4l11UrZXau8C2p3VEgAhXt04tQVccCIANVeh0DcOkv2mMbDKDdobIk3RBsTesZrPdHOhEruaPPeXHrLKTIKo8Yg3yBY8WNBRoR.jeaw1WJJGyiy073olGubyiyXdc.1aLmyBWtGjHWBRx2WLLIB0.ZVPv2.HXMPv4ABNGPpcCfTSCjZ4ARsYBYO3AVPus3CHViDIDwVr9+QhmpkSnQ.K3vRBVjyIQVtg9VgpucJL8qZ0paUjFFPCgtNNziSYgVS.pdBPk8lv0Jf+DLlr8VEe4VEKPOo7jWsfGQShOCXdtABN.N7Kcc10tRemcaXWwyYWGa6qdXR2RSregvHkAEDdjPzUIeB3GyBHUGEQEwodDNmFdZpmpXiEmsaIqekEORLiKwrmNwrausvpWIiU4E9qWZ67B50yDzgPd.y0WiIIgbH5QCo7kDVyLecYQ0G7.3eCu7Yx3mTfHhsv.xWP3QTx4KHlnEPT1NMHr7w6alYSxyNCl4Bg8j3O6DKWY5f0ByGlt.iZ.Q5ZUcc19gYj6MvM7The4o4.RmVQ4kQX75S39yP3B4x19q.aymp0Vep58VQUuUlpKKYPeU+kS2KFPBsRrsUDYT.jqI4+TdKdwabTDnLr.U.QZ+DegCUbgtjjl+IVkTyeJkl5Xk7H58jk2SmTCp3rcZmDORaggDKsoMyaD7JYj94ajZqjQ7bleB7hV3S0c87dwmKOgRur46giO32EiO32EiO3amwGEGZbCiPyrTdWs5Yz32A0yZje8rFyTO6igQ4+2er1iwNanazYBiJ15iJ1I1HvUO78u8pTwEuKFWoOd250q3g2sYy++tWV4cuf+Q71Wv4u+koMimWO7Lc3Gx66Am+FexwM6uBt4OL1vDN+cLkiO5sx9X1+duuhgFyeJiSdVX4sK9xhEJdUQqYEcxIKTVhoBHQKTr3DrhxSwxgiG1mDMI9LoiHiMydVQlK+rhzOJKOUTQqirvigEBe1HR3xNAITRnDgLtaBqftxkmjzOM4jj5EP8IQHpOx3CLk4HHIgEmN20We8+5uN5e9HzJqrSpx.7u4e74unybJu0jyvRjCH08dlp7gIJ+WL+M8d1SeYIOmR6Z0dmpN6.OM2odabcryNUrJ4JDfsq1.J.Zaiwsa21occPPegfF3psZIDTuQqVMq0rkPCLHvtZaY6fjVMaWqkSSgJJI02QIYmFfB0qgAIdJI3ZI53zBWC2v4JzRiGprPoOUvLYE+INkog7rNeKTEu9pVKy3f7LZQe4wG3xcEmqXRZAjpLhDwohrPiCfhbdD0oLVv7.R7Yb1HYdSxTP362Xly2NEP6wctT+3fuf5yGLsg27UcFPnmNH8rge0iEIJSgx7FyyRg56oYgZnapLzuKiY+faLCTS0GoYVfdY8fW+p47feemX2yIGG1Mh.KQolSZbmkG+VXxhF9OV2sNnyHWwuBRybS4bjqOk83H13QYFueqPVer6U5AzWcaibMMj+CWni7Q2xHWWOZumFxu1atgRaDm7sb4AvCkzU00jktPucX1PCyQemFluwqiBgetYWQwyLXLOazQ8C4IWcgB0ifMNK1E+yoPUDA1+xEHHSl1gZ736GLSl98lKS25a5jrBhZ4helohY6EwtHFll1+zIWkSg6Bc++HzgxICSa8uc8e95rshEM+2ey0xlkqSY7ZS4OgujnjWOH.nBfvRx7nwjJSEIuDknkHTTfOdtVEEfUJLuribOmEA7RbiTYD9zwBpNdnTmZvlUPn4uelOx7IL+wAt7rWcj39xRD.6QHyczHtGlvXJ+R873ak6SZUo68M6R4dCVLe2XA7EJobay2jamaKyCO4D3WAlR1MMO52d6eUbnufMVLy4ItvuFDl3XBIC8frVOBvjPwYDHJRugnFs5c6IEs6QB8ku.6k55DgNh2MRD5LQHT2xKh80dph7h6+6dxV.NEJuFzBlOQ7tU5NJLsqZiFR8oesmmHT7qcPnEqCdMzo1ZnS80PmFqgNMWCcZsF5zNWcD2H7mNlyFpll.Mz8P0ZWFGF5BYYxLRz+kIH4MK
-
@Lindon ok, having a look , trying to understand the code :)
This configuration does not work properly though , it does not hold the knob values.Think I found it , was missing - var myObj = {}; -- at line 20
At least it works now although I am just hacking about ;)Also..I guess the knobs should be set to saveInPreset "False"
HiseSnippet 1803.3oc6Y0sbaaiEFzwLMRsdayz16Y0UxypUgjRxowc5TU+WFusIQSU1Lc28hVHRXITSAnRBYG2Ldl7HrWuWkWg8MH2uuD8QnW16RO.fTD5OZEswyzzYomwh.m+9v4b.Nf.ch4AjjDdLxpziuXDAY8d1cufIFr+.LkgN9.j0srEjDgaCzdWLBmjPBQVV239RpVk1Dod9kuXObDlEPx6BgdBmFP9Z5PpHu2Ns+JZTzQ3PxioCM3tY6iC3r84Q7w.RtgsKZDN3TbexCwR11vFYcyCCoBdbWAFfCxZy83gWzc.+bll+mPSn8hHxFdntfhzceDOJThXYun8GPiB6jMhSPfV5jO9ugd7+Q1OfFRmzete3CTDbxkvzeXsQQvyyDdtqN7rLf2lZ3ca6tAwzQhbJRr8t1GyDj3SvPHvDVZdQa7uus89bfCln9P7ojihgFSjn5Ntt0bZ45t8msU4sJCAhDgyY3XmNXFIxy4ycxjsOQrOe3HNCZTshlbEoT5WqmHoyDw7n8wQQ8fPXUNSSKs+YMwWw38VtETTUFP81h0uhTAp2uP06OQ89KW89SodSCr2XgfyV9HHktxHouuXyjRzvPyZD+qvH9FFwuHi3WfQZbEFoggQZTjQZLkKSZfgW7nd+.n9mcIz0ctiCHriX.wYjL+Hwg26GHA5dNgFCfR.qP3PNiD6fYgNL8a8gYi0qWeqxTVDkArNlEHnblSlcalZ2pAYPuFL7hFS1dqxOaqxknmTMqoC7H6R9aDO.GIwfDfXuccq0ya2Vt0B710y0UhXEa444OQpjpf.xAnjzko+B1OgGQpOJlJcacIBAk0OejpQiifuaEm+riHVNALUs8yT61aK05kJWWQQilU1tnXPyohAfKOhiCMPRpKG7dTFUrD25TSeWlW8N2A9WV.VQP5wVnC4aHhXJ4rE3SLbHZcm6DVd79pQVVd1ovDYvsm5+4m3fUoCNKLeXx5M5.hZnUG6s8mME8fAXVeRX0I4.pAsFxKCv9qOf6MCfKUHZ6sBnsXn1X8gZvqETCVYntrjAyh.KGtmOfvbR0sSLYTDjqov+DbKaDLNNFDFVfJhnze5XQ.EfAVRSy+bmJ54OUxScbRejbmsZe9jZPDusyYR9nzkOjXYLsYdk3uRJoWwJowJoj.u4m.unE9zral2K+c4ITlUQeKL93+lH93+lH93e8DezXn0UDglYo7NF0ynIuApm0p35Yslod1m.Q4+2eb1iyOcHN9zo1nhe1NUdaauJ0v9656Wqm+tMaVKve2c14+u6kUd2K9+Ad6K9Eu+kIc6Oub9yvvum22iewa7ofgYuUXX96iML4W7NlJXLFrxiwo+6s9JFFH+gbA4QrpaW9YkKU9xxNyR5jSVHsTUEQhWHY4AZEWjfUYiG1iDm4exXDYs4zGcj8xO5HyS1JP6ULXjyNFVH7QiHrkcfRnTWIBYcyTTArJTGrzeJ8fk5FQCIwHZHx5crU4HHEfMOsOzJKr2rB+2aOmvakcjVxb.kr2xVmOjIbe6+Z2G8vmUIvqxtNPMt5t0bpfkMzu1S9ZyV0acO34Sad2ld9dt2SxieNO5Wa4cOESt2yemVdMtKPIPRwqt6knkNtzYSJrUxNck6LvYaoFXuFh5u9h1XAAi+1wGfEX4wElFdgP9HRrfJylrN.JVEPzGdXI6CHImJ3iTw+zoRv6WYFvSmXP2wsuv7TdOmFJFLoiW9OaOfP6OH+Hee98kA7Ilx9JyWxM0OSm1TCwOcl7nIp8ctxLICQ+BC0Bva5QvKd9bif+Q6D7YjiYchIvRM54VV2X49uElrXX+6aNrNn8Hr7qYLT2DLGiCo76GyGOZlIeuFV1L18bSG5yutsbCCK+8maZ4itlsbSSu8dFV9EAyEJcQBxSEpyUGJMqqOoJAgd8rYKCaN5mLr4KCZqsvGZ2QVDbJaLOZLs56JRuQBsUOB1.rb23OlBUCj19iW.goxzNz.G+7fYxzu0bY5N+X6zUPzKW791ZjsWL+7DXZZu9Y2PSoaBr+qRYnBxv7d+Ou5e8po60W18+8kuR0sZcJqWXq9T7JxRWcAGf1ABqAKhGSpMgj5tQhWBQYg5j45UVHUKv7zNBeFOFvk7hllh3CGKg53gJYZ.a5.gl+ZW9.6GvCGGgESeiPxqAKk.TqepqdQd8JrDp3By73qkqIZUg6ss6PEACVLd2XA3EJobci2zKcaK6CO4D3q4xA6l1G8sW+2vF5a3ikybd.F9pNXhiMjLzExZCH.RXxu0WVjdCYMZca2rh1cIrPUiWAOoD8jssRI5kQDpaEDy+t.cQd405cKUO.lXpa2rj8Cjscx2QgMrkEzPZH86BBjth+hGBsXY7WCYZrFxzbMjo0ZHyNqgL2cMj4SKTF4E89kiE7g5oIPGcNTu1k0gLLjkoxHQ+VNtF8S