Page 1 of 1
Video Synthesis & Complex Curves
Posted: Thu Sep 21, 2023 18:33
by headphonic
Carrying this over from the comment section on youtube.
There is one thing ive been super curious about ever since it made an appearance in the initial 2D release video, namely - how do you build complex curves like this:
I would love to know whats going on to the left of the angle converter node - i imagine there are several math nodes that i dont remotely understand. Ive had a lot of success riffing off of the XY Osilliscope example in wire, but I would love to be able to layer and modulate forms like that!
Re: Video Synthesis & Complex Curves
Posted: Sat Sep 23, 2023 17:23
by MarkyMark
Hey Headphonic!
Thanks for commenting here on the forum.
That one was a lot of fun to do!
Essentially it is a lot of very thin rectangles.
The "curves" are made by having shorter/longer lines (linearly).
Not sure about the angle convertor anymore, but I am going to assume that I used a Circle Pattern --> Unpack --> Cos(x) & Sin(Y) --> Atan2 --> Angle Convertor (radians 2 period).
Anyhow, as promised, I'll do a little video synth jamsession next week.
Re: Video Synthesis & Complex Curves
Posted: Fri Sep 29, 2023 13:17
by MarkyMark
As promised a short video showing how it is done.
--begin-wire-patch--
8368.3oc6cssbajbj8WQAeXehsh59E+FH.giMh0WVaudeXBENfHaJAaP.Z.PMy3Il+88bxBna.BPPngRi8NtHloEXyJ6pprxKmLqK8ObwMKlOu8l0SWLe0E+pu4Gt3tkKtGeQc4EKdb8COt9h2c4EqWf6nu7hOzt3910K+9Kd2OdYWIMaKoZ2htd4j4qtawx6mvG8dD3N3Qa1T9YGVX+kW7vj0qaWNuqzgKuX5bg7cJWX6CU2Ut3lxoNdAUGTP8dELdXASG8IlNrfnCsbw5C6M1C6MYbqONYUayh6taU69cp7AbJ2QaA5iLDfAv6aW8w8Km9XipXHpc4zIy1unlCKJJ6jYuu81E+k6m7v9kNbXo8GkqpcGxBzwiMhpimnEruDn94qcy9OS0QFqzGq1MGJkRVx5ON8l+171Uq1+wd3.kAMfiLhJ29IkTe7RdDVJZ82L491kS1ujGxnHw+iE3utWq7H0c5nb9CG6stiVvC62VTIqmde69h89me.xhR9tMe+2s711k3O9NJ6tdxE+pe3hIOt9iKv8t3B12W29gEv7yuZ9iylc4E219vrEe+8syW+mlr7Cf+gx+dXG4lOVJ+bvqv29emtrE+1mZWth5inP2O4uxmI3a2OcN+1FoRRn5G+Q9jWcyxoOH5uxi51oqdX1ju+21+Dey+8+wf2z7l+7zaaW7l+32Oe8GaWMcEJJtw70SuaJ6IWDrSt6Ns+llVSLz3bday6yYcSNcyjaSwPLouAzLa5MsyW0Nd5r1R8s4FapuKnR5zYkusX4zOLc9jYu59brqOaYe9u+3jYSWClq0j7P9YY6pEydb8Fx+X6zO7QTaZUBRge6zaWC5zYiBTtZxmZ+R2ZV+wGu+8y65zOtbyW9T67aKxCnPya+t0+1E219edKnBM4436q3iWIhNqWub56ebc4VSmuZMZXkeY82+.aWSmCAJLNgG6jYOh6nYU+9EON+1U61oSlc5xPv86P0YgrOXVZa.jbyrIqJ0BZIWDigbzD7MWmG5ZxF2UMWccvzL1M9J6XyX6vqy6xNTxSXwM+MP6mn7Dk0WLS5l2geBSTJ4VRWX8dMst9xcyVLY8N8j2FTxOFaxoS9XViZ4wOsa2+8K9Nys8jvQkuSbInemLtHv.Tui7jM89mq1TuUoB1L+IYSViwQh93zagt.dJ6v7Ksg20IZ7G.1iIy+vLJezMl+W9zzUSeO0EVu7wV7jz+DGOsJ0wGQ0pvACoA5dQFRiO+PZa5FciV2dSS5t1IMJiyL4FsgL5W6PZG5p9Nz1as6vz2HF+pWpWpWpWpW9kzE.ZtObrd2.c2p2IvOr0cBcWeYwk8lR+GWLa5sCk+JwfWKWsb0xUKWsb0xUKWsb0xUKWsb0xUKWsb0xUKWsb0xUKWsb0xUKWsb0xUKWsb0xUKWsb0xUKWsb0xUKWsb0xUKWsb0xUKWsb0xUKWsb0xUK2WsxwEB+S1B48KG98+C08FU8R8R8R8xuz2aTOyVJteyD+aZW8w2XFc5sR7Q1a3SlbpMQri6f3oqus8g81BzGtYiY4l0N+1oy+voJG2av7n4n41o22NeU4jW4z6g4c2M9MSdu701mtcrM63Gj6L+K4d0+c6S68Kts8kZa6T7ks7HY4SmtpfO7ydaymrlyXaymtdXSbf9W2jU5AMCGe8PczMxdUH9Z2i0aN9L56Nkar+1f+gkK9qkiDGo6o17o+aM6bSH88oose6yTxcK3OtYbe2M1G90J9k5k5k5k5k+sB+RGRgCACbnG6i6T93nB1ArROxHyn27GP8It5OA1nu7myJV0gGcNNkfAvqMOOFfQIiowM3pqaxCbCZ7gr8Z8UYi1q2ECf9m.FfMmfXOARiaGuv84ln9s52peq9s52peq9s52peq9s529WzuwbctyAT7NSXX62s9wks0LsUuTuTuTu7K+SQQI8Z+kWZ5t155n9o94K4GJA9sKm7PU.r94eRBfu3hk3OU.E+leS+gK6IlY.ygyLv4rlH3bzelm79++y03vwlfiFiy7VezqzFiJprZ9V+fS3QL71X1lRNSLZc1n+4m+CkZPnwoC1lqFMXPi45QC0iClAiF31c9OL+Dl+i2+8OroJ6dO.rXmiV36lLaEGx27Xd9YIYGacnrOd+dKikm95HvjHWew29hkY0j6eXVaS4MGxoGD6eYrbhgtFykMlmN2aENv9U1WrYc6xipt8qWN81Sqh4NhJV6GlN+TiAp2lbtTzlCtXJ3MYu6R0aitx69gr2FhNqNrcbBXhN8SymRFq2kitnKDUNMdZFWTg6qv+Y89j0i6kJUfl5fYSJGJOe7D+18qfus+w22236tiUS+GmTKU6+Ld0MznS92pMZMz7BQeLsUkK4huMDhgf0GcFc5Tpbr603tax6alDRoFuYx6soaBuGrhzqbNG2S5S3J6JXL41osyW+le+jYsqW+BuHL7uF6vO735la.Cc8KsL19ksI6X5.AHcPUlTZs297RHCLQUiaTP0j05gMCRoqzWccvFxC9Yxn7l2nVmL0VLDner60e0YWT6YUzWZjRSohEOL4loq+d8Ir02WJyYUJ6od4y.aExO9bP4Bvf3yXteWMfMckuxV8Kudn9MS+tWZkWDp3qNpxpO8rqgTiy9BqgT2X8UaWCoiGpUbMjphu10OxWJ7S6ttPOhv5WU4RYu17lxls4jxkwCkK+LbxWdkwcpUZymC.lKkRa0dMWNPgfy6UIVZ78rN3sQSxk7ZBZImwSKBv21bN3SlNx0NSVi5yErIUvHjasIK.H3MnknSVg7HpGmJDyYT8ttp2li3l5T1nCAssT8JE.6qzQ4VwnPumOgPFfJBZf4ui9XFcAfwRo8IzpI8FBPAXr7HXBkxkE5Q6SA9hQYQvB9bG8ACddFfFCrAiyKzac.VF.so.TEnUHzaMoDB3HnLYz05o24sfqZPKEAfjyB8JZ.0y1jFLGuPuls.LrnviOg9zV5MIzOAm1os.TEqKzsAaE5cAzthZUo8qfoXkCcn.PGl6oG+czJ0ICf6iBIzimi0h6kbf+on.PFL3fFXPwPfGLlN9G5MQiIgwk.DBRx3mVYLdkyGRpLF3BB8Q1CbYNFqs87eSLfalQO.+KjtH8JJ8flYJZPKSF9DgGfEv.ju3e6I2mQYvfqO3LROEhXAEDKDYPH+YDx8XLAOTiFREng0QNHxqIuNXoiJgdEG0sP5Gi2Jao0ak9O393qnI2QOjPAFDHhGLQclM0.3tPfFC.9nwGEEBvWfpAjxfFjKq549Hbz.pNPBd3QuVn2FfzexCUGv8Tk1u1.69Fv8yZzO5nWmYC0iPCzPc0TpebKO6CNETak1TNJLvTFBINuARTaoWzp.OzqcJaRpezogzOUAiZzUEomXgABYMqVCX4cz68YqBZtVskx0B8n5w+ilaBJTAQ5GicIDaB3+3Il78zakZChqH.AWJIzCIGETm.Oy3CxyLymXBriPIfhN9OBwfC.Fvw0fNxqBntfPiInfJ.X7k1Oj7BAppFPgitN5AMPfBQnftEPqHzSiOvnThhoPETnmrIHQgmIZw4N5EIDGj1o0K7nE5UncSVODKLgbo8q4HX.7eBHR2SOTYf1BXzAq1Xj5GOFzJifABKJvbqPOnBLQv+gDkqm+ypJARASz.CcYgdaVAwdMM438hE0LUEhvfRhuX7fQrN5glNnL.EXzyrVgdEeSEB6QIGTd8h7OZOTB.FYAazCqLaoWygPmJApRojH+AwdHgRdO+SFQ9G9F.G0QUHnED6oGJDZQVG8zhrBba.cLGGCAKIXJsepjFbf+CqB3YrgdHVCkEnjftK7ToK0O7G3gYBavkBIco8SYRnLnLvdITf5nGMr.LdnJoFhj6n2qHjTCchjPtECbRvrnSfVUG4PkvAFsGB2NTHgdmhUEDbgTYn37JnASGicvdA5B1d5g8LJ2pYAXXPjd56BRiPOGBhh22huKObyfePqsmdn0mA2m54rHjdKj00QHsVzoDweuX+B0NPhELakdf8.L7BitQZ8JIVpfYPH1C2WvfLDeMhzuWD+Rfzfvk1RNDefKenhELzqpPtBpsZxlgMEWw0kWnGNWnpVpm4SAWvlgOpvV2bnc3g2KE48A1wD5cTFEbZHNi1ZO8nYBuKzdtBJfhvOMni6qfJgMYRkluUQOpdpSCsxbG8zsE7dAk.3VRDzPGICYAzxoCor3NExUh3eBcTmXPYK8XPGN4glhOq7haN3hzCgeHVRzCXzQnGfdnhngcR3kaK8XnCCmvZLMdAnVB8PgwBcE7bMdaw4E8CXkQtThOxsjCzTPrEUoVSiKB4J5EAhhvIhChPB4Qp8f9pE1tg02N5gTUDXk.AvigPN7FAYenNk7f6UbcsOtmTO4xvAQJ.2Wv7uPOLMAzTNZC13JttDKu39.jE9Kpd5Q+CMSX4lVNDybP2PAYeX0HZQiJVZ9Vp8Aq+VlYqdtO7rBq2vIIMckEPVrCATKfqBoUXkWT8wuQ2j.FILL5MaccfQWl.M3RDltv3ZTn24fveB1Df0vbo5UYB5BF+vEaO2GRNDvCfTADcJwyMGGMDyHLgAs8hmKqn7BCjV5iIzSOjDP+OA0QzDDLVT6.B+X3mRUIwbDrAPnCZiXoFHh5n2xL8o5ADQ5gfehv1ghGrWJB+VwzOAD.i3lTmtOLvAMZEEriv8jQnmu2TgeW.DEXDihvuUzdgtFPTArh8ziaRShVZuGnWI8Qpcmvu.KB1xPZ1J7e7AVfHFpsziVsmzB6MJUQP2GEXyXfEHD2DKPA1bhNeP2hCoaoWxienOemjd5jifT0QN9TZ+hiaGQ5AEQmqidXU.hNAB0v6DyjdBhEdLfXAJZt34Rrc.oQ.uDt3B8zCIczfX33vzoRD+nuDzRQA8kVTlMdXa.UL4Q8be.fVLzCYOFmgH7An1Xfl5eXvMVj9Dygz0E7x.PE8zCcaX4jdYxTwlz6oiDfGAxSJiKTpehYGlXbvj.hQoyuIzan2jsFej52CsNzQcQILkB4N9tCFWw.CjT6IGXqCvRXjdVD0TXsywGGFqvyzZkwN.YDltfeG3k.B08jy7Y6jIbAxgROEdZg1ApCXQJIpojdzvAu.7dugfe6nG.afBAJGBw.V.D5cPYFt9YXHvltH6SLydFYIBPPQjPaoWy3ZYLBD4soT+LjKDd.ZPv6UVjcjPt.heECcv1EyJBVEC5PLAJYv9g31F1K0P12yXXftcwwkt.aGbe36.O1N5STMk0ND0UhaaXZIwPFgGcHsDKNtJ9cDibNwA0V5ChCQHiqnJiWnWy3kQvkPFH6JNtDQe.WFxjwTOpCFoCe+HaHRIsUD8MTsEg+U7ZZDSWZw1GTpPb3DOVG8B9NDGokPlyhpKbXgFBzZr7MbsVPcnKRuPo.5n.CTG8HR.HpfmHLqZDqz3WglHtM.DP2UhvuVZ.P6B5zbJD1RO5iHvPLLCgMX.TpeMgLRKLZFGdRDeHjwnTKDRaWH2wh4PX0mltRhmOuVbR6XzvorjEAL1DojuCCHL+B8jCC9LZWD2TvW76.+pvvO7Rx3C7E+VDwGf.AlOjHhcLeXbkJ7vhNtlE3gznMj8yrtUaXHkv0wCUBbz2I5iAMDqUjy.DDoshhKifElYftliwGVZ7Dvlh5jYFIWmWWHOBVAPwSyVAco5ADTJyi+D3chqfr.YIxwhjjulszqIbcKCBSUbmodKvDA8C5el1+sE2VhUSfJGVBASpm2y.i8zrHQHWTSgjCF8fJCDlAiUBhIKCc.CA8H.vg8zyLM4Y7YTgV3zrxgnOv9H9Nk1epjuE.Llw746B3lh634ZYfGToj7J7udJ6iGghbmfPuDwLYIlRNH1ROsFJl97DAgT+IFDFFLE.uJQeJ8zHd5nmUCD57dBdvWpeH2qHZH3kBF7Jse3dRm6.W1w+kI8iI6xhtuR5qEG9vUACOAf2joCrf6.cFN.Z6B3F7X.aBHxh5h7qPOy1CvdYXRPrhv+Sx1SW.2QlUJHnxnsfyOQOGsXz5gBowxTND0B8OQ4uidZ6B9IMQh6TBNFgFf.PnwVZuOKddRkAvH83VBhaK8P.jZoPojdlD4OHfQ4eK8HhwWg+W76BAJ56Hzy+UJwLMzaULwKVgdHlB2KXXVUrSR5otuERnAB6uKfanTAEKfWiHUAZJ1VwnnjaKMSuFpPg+ypmZvL2Fbzti9.0cQiBxNdY1bouQfMUyvdcLe.B4NuDHGDogCgXO4dw0Nr+BH64fH9Aamf2ivBAHWXCvJzClCjEAS1HYysidfVGbsRBh7hoB5bhtyw.Ovs5kmIhy.8IvVvXKTqx8zqoQK7GgYIZxQnGRH.CB8p4y4MselQMZpHtwb9F5gEZNnX2I7HGCBRIY1.3Ezh6jBCERfFX+FktmdBqliRvSqMJHbcVlVqLUnn3p35JURWggFQXhY6oGZJPb.7Pl2CuH9g9LD+g.MgzpDUxjDxjBCKP2.iElN5wnOLUBDwXzOI4ajIOFJubp3gaWmjA4TrDyHExAzuXO8FIUJFFx.5LR8axLSUvmDLjjKnQREeGYl+XHx1y+SLEyVlsEfIwIppNIIiPFN5TLleQ7WjdY.jvd.rHs00IvVBOtaRVFLuHlOfEMTFFLGBPHto8K9dQSD1Vvitmdh0EhZLqkP9UD+QvUXzJSKVPloz9Ch8yPQehHb1RObavbPg.AMhgBXwLxL0vjH6oKbgZQ7GePHxbfriZmUP4BfcvClfwACmz9E.7C.DP3RZ8Ao4SzQQ9P5oGC8V1u5S2CcXFjruhQan.KRORtlA5FES0TmuC77nKZfzDCUPfUpdHu3YTDLFIzihB4zxO8QknmmsttnVKFwkvAfoMao1E26HzLI+3kJmgaCSwIBCqCzTflRYToLuRdqLJYyR1mXjUJVcEx0DdMTCQUQ+WczC8NfLkny0H3BmPOAGv7BC9MD.K7dB6.VWfwMHRY5a831bZFfDDLKHZ4HBTnCASWLO+oR0uuYOWO4PrCNEXNKroBBIzrYhKY7qPCoj78jujoXEShCZa8zyDr.YWKSsiV7aC0.5uVDzfXtLMOIujoO.8fA3.TaaomgPRUeFOG3sFgdCy0uQFCsEwwjLbfpBFEgBVW31fIosRxxguOf8l8UX.lwfaX92o4JwvquDuMX+Xv21y9gwAEY1L8RLIXB8bdJfQLln+TICLRZ14uYXt.X+bK8nQSQBU4ak5m.YsL4AJNSCk1u.5kI.h.r6B2Flyf2BXfB3zA7VI3TKcjEUh1HMSH7eIYMLkMbrx35oWwLqkURLiYI0.VhMghpIIuRk1uq34wx4o.tX6nmSCHdnNBl2UBuiYcl3vIl2bIFTZdMxDM5JYEpi86XTwF1zoSMYzGVgPKB+GmTuhm7hWSH1CEBZ3rmblO9LSAB59.jiPOFFIqzH37KtsJJtHRYFunpKbaXdhZckDEfXbK0OyvokI+wPXuB2WHGPIXDJLQnczCEWYB8ngei3hEdJBLs8PIVhlpz9kDAaHiRPIskdTHEghyj5v46SnWLTPSTJlwwB6CObLDxzeEjbhskd3xl3NCz5sUjTrNYVtf8fDSpoT8OYRt57ZZIfMN8Fv+Dg4RxoMK5DSyzEFBE5kooIyrokYN86nGtwf8QXRkopW.3CVOmfI.xkgCpDAxjjoOvQYVcA1md5sLDEXlgg148k5mItzwTmGI7GwqmjtAH0YXF2L8reFAgWvFBPG5h3iQBe1w.O.6q30Rh4gvcPcwPS2ROnFA8hduD2njWJKAVBAGCkCH1EgdIgEPsjok01y9oIBkjRXGmBLQ3GAISnAAll+PZS6WDEiPFPwoytm9.mHSqml0RhcNDgMD13ZY0wdTY3qH7AeCkvp6bcXHNREC7AdjrRYsb14I.SlwGYBQI8BpOGm51jj67szC4FaIblnca8S9AbWy77yYlSnW7auEZqpm8ggWMmgdA8s31F1GHFVPKwBVhguLGoPuvVvlzQulUAWmtP4kZxB8bBm3xHDxOgnHRjjIoA88MtX5omnwH5ZLRggWQ5GUDr3wzMK9zExY+WlfsDmktNp8bJV37oBo5fjYBXHJm2YdFJbesjnc73fk6TmpK.h.nIPVEB0XLMIjGJSRJSxusLCUoR7xFYlCga5NluVl3ZNSnL+TtR0igNIe5.gMtmv70Bl4DgUGi6f5.dLjUfImpB5WRnWhtVQixPbVbFlDXCvCCy5hrND1PuB1RgwHphjnALRehojDHA4jOAsWg6IVtf+vh1rtmd5OGcXLnF2DbJmgCJ6yYsVWl0pjv7v.AZVrq0SNmcZNjjbDzcVHm40fZDAwVegdqD7KZ8J5luibXhAUBiUIylOIOxoWOxEkDUzKtsj7zQSDncfHi6b6xzXv3ack4oPp9H8E3fMOBPInJbeIaOAlETVi8zqn9ggo1RP4JzCfTQNgMvpnsLm0IkDuNyAD.wixtgdhnM.QsLM7RKyjdlqBpmBuJ.hRrr5eY.WfUB+nTCJzQOTIIFAXkFX4ktOrlq3zwAfjE.hxzPSDyVhiVVdMcj6kIz.Tl2tPPX1ufwIGcxEX.aB86EsWWz1Llb3cDFY3RbIIFIMbUhvEWASxenrfORphiKCEGnPPG8DZIBzxRKWYwuM84RfkJljeuYS6WL8f.Q0L.6tEGCycEW0CFlkVFGrPOLgGokTNqOk4nJI5dv5qmqOAUW31ulEe865Vfum2oJIWd0WdwhGWSRdo0hc4Hnr7W6Win7e5W2WaVZWa13SO7BmAl5yd09YMH7P3FhtDKqf6O6E1MjTMMNysSZhQaay6gb20tINF73Wx008FFxl0C2ACF6vX5WGdW+cOLY9Kru.xG4.Kc95oMSlMcx4rhgOyUG5iym9vhYSV9BOwydWv.j6xHUS9DG0miy9wMN8nTSZ7PWynwpQC8gqgixW+w708OLa55Gus8DquXQt9tks+8Gamey2epkXLy.Wt7CLYhXAn1yc2spc8InBk4gONYUay4TxksnHMR426rNe5G1anRVG16I2sKg6LLd4tRIOyp.cx2dRQOyW7iCtir2M1dbvg.iOgJbHbUiCNlafCmAMixi4Lmq8WkF+ZORXWtX8SOf4exny2ntr9o94K9G5yd0MSlcxkF+2zcFmTuVuVuVuVuVu9ucW6dg.M6nf01yiIcsdY8Z8Z8Z8Z8Z85+Vd8bNBf16Eo2K8lSxbj2N.2McFO8fdoj8d1og7rytnl6A.IQvomOqQWcUdPi6p.yZzXayH00tQCBCGONE94ZSf+wIym2Nq49Gmsd5Cyl1t7E2F7WdwGlLc9oOTDd59p94OuFNHyiOeQY5oe4j+djcpduPvwSy3+ye9M+tRy3jhWtehYa7rRdsTIm+I3jKDeqwphkMo7NmeSptspk1bhob35Q4qfj20CatxNx03rCFpbQqd3UC9YHu11yMq1RW3kRNs9exow9nYtd57SeP4X9IdP47K9S+Ftqeep3dTk3lQKtY6ZJyZCjx4ocPR1+pFM2YDmRd2ofTdvMtYfaXpY7XSvL3JN01oW+qqkOrX4z0e7EONvNCECHwyUj11Iww587r54yyV9KJU.Vz8ObZCQWdwsbZAWeBkSy4oCaNK+EPBa5c6674nrvE2rdxmNsbe3YsXXe5Ll7bmrI8inaYVekOsSFubB5XydyucwzUufYiibN77xpmm6a+vfV1kUosaDqM5ZVk+sJtiKk0Q0KnoktNFZbiz5FthrZTCricCGGM9P30NSXcuWkOq20xaPM7OVr2A02ABe6IBHrx9wkgxKewWD2Y7ec.FDBVtAs8bK044.UAXfUgAPcVKm3Gufkx+ohLPetHCN7H05Wp.ER+jktN6o3Vmb52xiMGtUA1tBVfPDWS2baUvEiV3TvISWkiMbCu1jGjsMWMlKSog9qGc8veNO349xbBw0II079MuvUedTL120W5Orrs8jI9cyTpto3Kau8jmKn5KarOmGpMtfNl.kblYcNwyX+bO4rVM8CymLqbrYcyLnF2b+ju6kvQ7EaoacwmwosYbygkn6DGUhtDLyMXbtgm5GMWySsmqT13H2qVhcetxQvCc+ofCo9wStns5Y78C4+WvFxjSeNoYce8shD44JiiGbJbAM1GVZ.vG7byHxcf4osib0HOFUFNFfGFnxM9gCyWGLlwg7qe4VM+CyZOsE+u3lZV82Z+1SZPfqHV9iA1X0bOyJ6AL0SbsIyszzSuLLfGwMjocYklmVOWdj68tm8jm7HYeiU4IEp70CExycYhpM4va4tRjqxdceXrLJVdB0Xs5nb3zcRvYd6vqabiGMBtXw27iSlPdv.adzU+Lkvvyw645o22d1F3dpOsutGqjbozcyIEpcuF2hul0d3QhGSrx9hmjnwqG23xNGWhpllQv960WqbV6vWsLgXoSUW3g0O+7uvCO3jjtJ6U+7yhr2gGF9OSV61BH34cl3+o6L4gES2l1quDqh8FetrcGrgC8kXsFi3KAvPF0vCmtlqtdTpIZuVMh6Mv3v3WY72BTuI2N8wUmJqO9e7TuoBFNc4MyZeyuGL71kyO4.S303kmablyHhUyWELAMVcZy.Y9Dud5uxYZbwqG0jUitpYvvgFynA1qGZMu1vaO5Ylcc8sUuVuVuVuVuVudr021A.I2CIwNKFo4OLA9iOE3k3qD7h5L2C1kbyugjyJE8aCa6yuBzM+zmCfigRRuYJ.NIJowCFFabCsglAINI.iFoCI.TdTLWScR8SM0I0O0Ou9Tmz6+3XNf12Avw7fz6bb.rud5LtjdsA1K4on4w4SW+xKY7OaeoaNOSNu5vbbucGawlqyEmcmZtib4fqL2pWkz9Fe5JaN5GDyi0eQRIP0YW8y+bM3bfB7wT3t7I1kNtcFV92LbwbnVr9Ed0HleEGBIe4OUa3NCXywZy+ptF+puS4qe957Nk+rV6neyQV7nWVuW8d06UuW8d06UuW8d06UuW8d06UuW8d06UuW8d06UuW8d06UuW8deV26cmwIyPcBhqe9ZsZnNuS7ipDX8yWKIvy7jj4a3oFvk0K0K0K0K0K+R5x695cDgs4fK4wkk0aFWSYSoalajCuN9MYYg4bukmBL7sKNeqJ1c.jDM42xWZ2w.PqmbxQFW4LyiuTesIc1An7wPzY7b0ktpcV6MkWwAeyEZ9BpSy8FrU9FWatxKsNMWSoF9G7WvcaK2zJ780kbBFxUoKJB+e9KR44BIi+OOjF4luvP5zx2XAsxuxKlzEfY9+AjcD8DA
--end-wire-patch--