From fda7c28b2cdf72312169073d15ec9ab7ca5c549b Mon Sep 17 00:00:00 2001 From: Zack Buhman Date: Fri, 30 Jan 2026 09:47:28 -0600 Subject: [PATCH] collada: emit joint weight vertex buffer --- .gitignore | 2 + Makefile | 2 +- collada/header.py | 20 +- collada/main.py | 11 +- debug/main.rc | 18 - include/collada_types.hpp | 3 + rc/main.rc | 3 + .../curve_interpolation.DAE | 617 +++++++++++- .../curve_interpolation.idx | Bin 3984 -> 4512 bytes .../curve_interpolation.max | Bin 348160 -> 421888 bytes .../curve_interpolation.vjw | Bin 0 -> 1792 bytes .../curve_interpolation.vtx | Bin 12492 -> 14508 bytes src/effect/collada_scene.fx | 2 +- src/main.cpp | 2 +- .../curve_interpolation.cpp | 885 ++++++++++++++---- 15 files changed, 1313 insertions(+), 252 deletions(-) delete mode 100644 debug/main.rc create mode 100644 scenes/curve_interpolation/curve_interpolation.vjw diff --git a/.gitignore b/.gitignore index cab984c..b4c1863 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,5 @@ __pycache__ \#* *.gch image/*.DDS +debug/*.rc +release/*.rc \ No newline at end of file diff --git a/Makefile b/Makefile index 33920b6..528ab1b 100644 --- a/Makefile +++ b/Makefile @@ -77,7 +77,7 @@ include/scenes/%.hpp: $(COLLADA_PY_SOURCE) src/scenes/%.cpp: scenes/%.DAE include/scenes/%.hpp @mkdir -p $(@D) - PYTHONPATH=. python -m collada.main $< $@ $(<:.DAE=.vtx) $(<:.DAE=.idx) rc/$(notdir $(<:.DAE=.rc)) $(notdir $(<:.DAE=.mk)) + PYTHONPATH=. python -m collada.main $< $@ $(<:.DAE=.vtx) $(<:.DAE=.idx) $(<:.DAE=.vjw) rc/$(notdir $(<:.DAE=.rc)) $(notdir $(<:.DAE=.mk)) # $(BUILD_TYPE)/curve_interpolation.res \ diff --git a/collada/header.py b/collada/header.py index 0f3922c..d9b37f7 100644 --- a/collada/header.py +++ b/collada/header.py @@ -24,6 +24,7 @@ class State: # buffers vertex_buffer: BytesIO index_buffer: BytesIO + joints_weights_vertex_buffer: BytesIO # geometry__indices: # keys: collada id @@ -63,6 +64,7 @@ class State: def __init__(self): self.vertex_buffer = BytesIO() self.index_buffer = BytesIO() + self.joints_weights_vertex_buffer = BytesIO() self.geometry__indices = {} self.geometry__vertex_index_tables = {} self.symbol_names = {} @@ -106,7 +108,7 @@ def sanitize_name(state, name, value, *, allow_slash=False): def renderbin(f, elems, t): fmt = { float: 'OpenCOLLADA for 3ds Max; Version: 1.6; Revision: 68 file:///C:/cygwin/home/bilbo/d3d10/scenes/curve_interpolation/curve_interpolation.max - 2026-01-29T17:33:59 - 2026-01-29T17:33:59 + 2026-01-30T09:40:47 + 2026-01-30T09:40:47 Z_UP @@ -621,6 +621,342 @@ + + + + + + 0 0 0 1 + + + 0.5882353 0.5882353 1 1 + + + 0.5882353 0.5882353 1 1 + + + 0 0 0 1 + + + 10 + + + 0 0 0 1 + + + 1 1 1 1 + + + 1 + + + + + + + + 0 + 0 + 0 + 1.5 + 1 + 0 + 0 + 0 + 3 + + + 1 + 1 + 0 + 0 + 0 + 0 + 0.1 + + + + + + + + + + 0 0 0 1 + + + 0.5882353 0.9450981 1 1 + + + 0.5882353 0.9450981 1 1 + + + 0 0 0 1 + + + 10 + + + 0 0 0 1 + + + 1 1 1 1 + + + 1 + + + + + + + + 0 + 0 + 0 + 1.5 + 1 + 0 + 0 + 0 + 3 + + + 1 + 1 + 0 + 0 + 0 + 0 + 0.1 + + + + + + + + + + 0 0 0 1 + + + 0.5882353 1 0.6156863 1 + + + 0.5882353 1 0.6156863 1 + + + 0 0 0 1 + + + 10 + + + 0 0 0 1 + + + 1 1 1 1 + + + 1 + + + + + + + + 0 + 0 + 0 + 1.5 + 1 + 0 + 0 + 0 + 3 + + + 1 + 1 + 0 + 0 + 0 + 0 + 0.1 + + + + + + + + + + 0 0 0 1 + + + 0.9960785 1 0.5882353 1 + + + 0.9960785 1 0.5882353 1 + + + 0 0 0 1 + + + 10 + + + 0 0 0 1 + + + 1 1 1 1 + + + 1 + + + + + + + + 0 + 0 + 0 + 1.5 + 1 + 0 + 0 + 0 + 3 + + + 1 + 1 + 0 + 0 + 0 + 0 + 0.1 + + + + + + + + + + 0 0 0 1 + + + 0.9960785 0.8196079 0.5882353 1 + + + 0.9960785 0.8196079 0.5882353 1 + + + 0 0 0 1 + + + 10 + + + 0 0 0 1 + + + 1 1 1 1 + + + 1 + + + + + + + + 0 + 0 + 0 + 1.5 + 1 + 0 + 0 + 0 + 3 + + + 1 + 1 + 0 + 0 + 0 + 0 + 0.1 + + + + + + + + + + 0 0 0 1 + + + 1 0.5882353 0.5882353 1 + + + 1 0.5882353 0.5882353 1 + + + 0 0 0 1 + + + 10 + + + 0 0 0 1 + + + 1 1 1 1 + + + 1 + + + + + + + + 0 + 0 + 0 + 1.5 + 1 + 0 + 0 + 0 + 3 + + + 1 + 1 + 0 + 0 + 0 + 0 + 0.1 + + + + @@ -656,6 +992,24 @@ + + + + + + + + + + + + + + + + + + @@ -979,7 +1333,121 @@ + + + + -5 -5 0 5 -5 0 -5 5 0 5 5 0 -5 -5 20 5 -5 20 -5 5 20 5 5 20 -5 -5 4 5 -5 4 5 5 4 -5 5 4 -5 -5 8 5 -5 8 5 5 8 -5 5 8 -5 -5 12 5 -5 12 5 5 12 -5 5 12 -5 -5 16 5 -5 16 5 5 16 -5 5 16 + + + + + + + + + + 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 1 0 0 1 0 0 1 0 0 1 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 + + + + + + + + + + 1 0 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 0 0 0.2 0 1 0.2 0 0 0.4 0 1 0.4 0 0 0.6 0 1 0.6 0 0 0.8 0 1 0.8 0 0 1 0 1 1 0 0 0 0 1 0 0 0 0.2 0 1 0.2 0 0 0.4 0 1 0.4 0 0 0.6 0 1 0.6 0 0 0.8 0 1 0.8 0 0 1 0 1 1 0 0 0 0 1 0 0 0 0.2 0 1 0.2 0 0 0.4 0 1 0.4 0 0 0.6 0 1 0.6 0 0 0.8 0 1 0.8 0 0 1 0 1 1 0 0 0 0 1 0 0 0 0.2 0 1 0.2 0 0 0.4 0 1 0.4 0 0 0.6 0 1 0.6 0 0 0.8 0 1 0.8 0 0 1 0 1 1 0 + + + + + + + + + + + + + + + +

0 0 0 2 1 2 3 2 3 3 2 3 1 3 1 0 0 0

+
+ + + + +

4 4 4 5 5 5 7 6 7 7 6 7 6 7 6 4 4 4

+
+ + + + +

0 8 8 1 9 9 9 10 11 9 10 11 8 11 10 0 8 8 8 11 10 9 10 11 13 12 13 13 12 13 12 13 12 8 11 10 12 13 12 13 12 13 17 14 15 17 14 15 16 15 14 12 13 12 16 15 14 17 14 15 21 16 17 21 16 17 20 17 16 16 15 14 20 17 16 21 16 17 5 18 19 5 18 19 4 19 18 20 17 16

+
+ + + + +

1 20 20 3 21 21 10 22 23 10 22 23 9 23 22 1 20 20 9 23 22 10 22 23 14 24 25 14 24 25 13 25 24 9 23 22 13 25 24 14 24 25 18 26 27 18 26 27 17 27 26 13 25 24 17 27 26 18 26 27 22 28 29 22 28 29 21 29 28 17 27 26 21 29 28 22 28 29 7 30 31 7 30 31 5 31 30 21 29 28

+
+ + + + +

3 32 32 2 33 33 11 34 35 11 34 35 10 35 34 3 32 32 10 35 34 11 34 35 15 36 37 15 36 37 14 37 36 10 35 34 14 37 36 15 36 37 19 38 39 19 38 39 18 39 38 14 37 36 18 39 38 19 38 39 23 40 41 23 40 41 22 41 40 18 39 38 22 41 40 23 40 41 6 42 43 6 42 43 7 43 42 22 41 40

+
+ + + + +

2 44 44 0 45 45 8 46 47 8 46 47 11 47 46 2 44 44 11 47 46 8 46 47 12 48 49 12 48 49 15 49 48 11 47 46 15 49 48 12 48 49 16 50 51 16 50 51 19 51 50 15 49 48 19 51 50 16 50 51 20 52 53 20 52 53 23 53 52 19 51 50 23 53 52 20 52 53 4 54 55 4 54 55 6 55 54 23 53 52

+
+
+
+ + + + 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 + + joint0 joint1 + + + + + + + + -5.11435e-14 3.13916e-7 1 0 -1.74846e-7 1 -3.13916e-7 0 -1 -1.74846e-7 3.74342e-15 0 0 0 0 1 -8.74227e-8 -5.52335e-7 1 -10 -8.74228e-8 1 5.52335e-7 -9.85461e-6 -1 -8.74227e-8 -8.74227e-8 8.74227e-7 0 0 0 1 + + + + + + + + 1 0.2 0.8 0.2 0.8 0.2 0.8 0.2 0.8 0.4 0.6 0.4 0.6 0.4 0.6 0.4 0.6 0.6 0.4 0.6 0.4 0.6 0.4 0.6 0.4 0.8 0.2 0.8 0.2 0.8 0.2 0.8 0.2 + + + + + + + + + + + + + + 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 + 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 1 0 2 1 3 0 4 1 5 0 6 1 7 0 8 1 9 0 10 1 11 0 12 1 13 0 14 1 15 0 16 1 17 0 18 1 19 0 20 1 21 0 22 1 23 0 24 1 25 0 26 1 27 0 28 1 29 0 30 1 31 0 32 + + + + @@ -1004,7 +1472,7 @@ 1 2 1 - 20 + 200 0 0 7 @@ -1040,21 +1508,22 @@ - 10 -1.14258e-7 0 + 34.88703 -1.85427e-6 0 + 3.523671 3.523671 3.523671 - - - + + + - 5 1.14258e-7 2 + 5.000001 1.14258e-7 2 0 0 1 0 0 1 0 2.00358e-5 1 0 0 0 @@ -1085,6 +1554,7 @@ + 3.523671 3.523671 3.523671 @@ -1106,6 +1576,7 @@ 0 0 0.01 0 0 -1 -44.99999 + 3.523672 3.523672 3.523671 @@ -1127,8 +1598,9 @@ + -18.87136 14.31975 0 0 0 0 0 - 1 1 1 + 3.523671 3.523671 3.523671 0 0 0 0 @@ -1147,7 +1619,8 @@ - 2.124535 8.291501 6.185831 + 24 25.52443 19.04236 + 3.523671 3.523671 3.523671 0.5773504 -0.5773501 -0.5773504 -120 @@ -1176,6 +1649,54 @@ + + + #node-Bone001 + + + + + + + + + + + + + + 1 + 1 + 1 + 1 + + + + + 1.32123e-6 1 -1.49608e-6 -90 + + 10 1.19209e-6 5.69993e-14 + 0 0 1 5.00896e-6 + 0 1 0 -5.00896e-6 + 1 0 0 -5.00896e-6 + + + 1 + 1 + 1 + 1 + + + + + + 1 + 1 + 1 + 1 + + + @@ -1189,7 +1710,7 @@ - 10 -10 10 -10 + 34.88703 -34.88703 34.88703 -34.88703 @@ -1197,7 +1718,7 @@ - -0.3332306 10 1.111167 -10 2.778333 10 4.4445 -9.219337 + -0.3332306 34.88703 1.111167 -34.88703 2.778333 34.88703 4.4323 -34.88086 @@ -1206,7 +1727,7 @@ - 0.5555 10 2.222167 -10 3.888333 10 4.000208 -8.594958 + 0.5555 34.88703 2.222167 -34.88703 3.888333 34.88703 4.000208 -29.96252 @@ -1231,7 +1752,7 @@ - -10.05776 10.05852 -9.941484 10.05852 + -35.08854 35.09117 -34.68288 35.09117 @@ -1239,7 +1760,7 @@ - -1.166264 -10.05776 0.2778334 10.05852 1.9445 -9.941484 3.611667 10.05852 + -1.166264 -35.08854 0.2778334 35.09117 1.9445 -34.68288 3.611667 35.09117 @@ -1248,7 +1769,7 @@ - -0.2783333 -10.05776 1.388833 10.05852 3.0555 -9.941484 4.499598 10.05852 + -0.2783333 -35.08854 1.388833 35.09117 3.0555 -34.68288 4.499598 35.09117 @@ -1315,7 +1836,7 @@ - 1 1 1 1.996525 1.996525 1.996525 1 1 1 + 3.523671 3.523671 3.523671 7.035098 7.035098 7.035098 3.523671 3.523671 3.523671 @@ -1325,7 +1846,7 @@ - 0.9997917 1 0.9997917 1 0.9997917 1 1.111167 1.996525 1.111167 1.996525 1.111167 1.996525 2.777833 1 2.777833 1 2.777833 1 + 0.9997917 3.523671 0.9997917 3.523671 0.9997917 3.523671 1.111167 7.035098 1.111167 7.035098 1.111167 7.035098 2.777833 3.523671 2.777833 3.523671 2.777833 3.523671 @@ -1338,7 +1859,7 @@ - 0.5555 1 0.5555 1 0.5555 1 2.222167 1.996525 2.222167 1.996525 2.222167 1.996525 2.333542 1 2.333542 1 2.333542 1 + 0.5555 3.523671 0.5555 3.523671 0.5555 3.523671 2.222167 7.035098 2.222167 7.035098 2.222167 7.035098 2.333542 3.523671 2.333542 3.523671 2.333542 3.523671 @@ -1421,7 +1942,7 @@ - 2.124535 -5.611371 -5.611371 0.04967833 0.04967833 2.124535 2.124535 + 24 -35 -35 5 5 24 24 @@ -1429,7 +1950,7 @@ - 0.9997917 2.124535 0.33335 -5.611371 0.83335 -5.611371 1.33335 0.04967833 1.83335 0.04967833 2.555583 2.124535 3.166683 2.124535 + 0.9997917 24 0.33335 -35 0.83335 -35 1.33335 5 1.83335 5 2.555583 24 3.166683 24 @@ -1438,7 +1959,7 @@ - 0.16665 2.124535 0.66665 -5.611371 1.16665 -5.611371 1.66665 0.04967833 2.27775 0.04967833 2.999983 2.124535 3.666564 2.124535 + 0.16665 24 0.66665 -35 1.16665 -35 1.66665 5 2.27775 5 2.999983 24 3.666564 24 @@ -1463,7 +1984,7 @@ - 8.291501 0.2940993 0.2940993 -3.820096 -3.820096 8.291501 8.291501 + 25.52443 2 2 -20 -20 25.52443 25.52443 @@ -1471,7 +1992,7 @@ - 0.9997917 8.291501 0.33335 0.2940993 0.83335 0.2940993 1.33335 -3.820096 1.83335 -3.820096 2.555583 8.291501 3.166683 8.291501 + 0.9997917 25.52443 0.33335 2 0.83335 2 1.33335 -20 1.83335 -20 2.555583 25.52443 3.166683 25.52443 @@ -1480,7 +2001,7 @@ - 0.16665 8.291501 0.66665 0.2940993 1.16665 0.2940993 1.66665 -3.820096 2.27775 -3.820096 2.999983 8.291501 3.666564 8.291501 + 0.16665 25.52443 0.66665 2 1.16665 2 1.66665 -20 2.27775 -20 2.999983 25.52443 3.666564 25.52443 @@ -1496,44 +2017,44 @@ - - 0 0.5 1 1.5 2 2.833333 3.333333 + + 0 0.4333333 0.8333334 1.266667 1.666667 2.1 2.5 2.933333 3.333333 - + - - 6.185831 6.185831 6.185831 6.185831 6.185831 6.185831 6.185831 + + 180 230 180 130 180 230 180 130 180 - - + + - - 0.9997917 6.185831 0.33335 6.185831 0.83335 6.185831 1.33335 6.185831 1.83335 6.185831 2.555583 6.185831 3.166683 6.185831 + + -0.3332639 180 0.2888889 213.3333 0.7 196.6667 1.122222 146.6667 1.533333 163.3333 1.955556 213.3333 2.366667 196.6667 2.788889 146.6667 3.2 163.3333 - + - - 0.16665 6.185831 0.66665 6.185831 1.16665 6.185831 1.66665 6.185831 2.27775 6.185831 2.999983 6.185831 3.666564 6.185831 + + 0.1444445 196.6667 0.5666667 213.3333 0.9777778 163.3333 1.4 146.6667 1.811111 196.6667 2.233333 213.3333 2.644444 163.3333 3.066667 146.6667 3.666597 180 - + - - BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER BEZIER + + LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR - + @@ -1590,12 +2111,12 @@ - - - - - - + + + + + + @@ -1605,7 +2126,7 @@ - + diff --git a/scenes/curve_interpolation/curve_interpolation.idx b/scenes/curve_interpolation/curve_interpolation.idx index 273bdeecf98b9a50f7c34045a818f8d3415550fc..b78f56cc62db8c8369ba7a02bd9d5522c244bb68 100644 GIT binary patch delta 469 zcmXZQ#}UFn6a>*d5F*pm9D3*P%cD>7&8ztuNDpmW7@U>Kj@912@!SEH-ju8;ea`q{U)2RWp}p zW5r_ge_03%BMUCwN{g}B+HGtswsku#wpRyrbg7NSPVTHt-+DN}i@Vxb?B?!TjKv=A GY5M`QITPvt delta 7 OcmZ3WJVAcL1bzSu!~((q diff --git a/scenes/curve_interpolation/curve_interpolation.max b/scenes/curve_interpolation/curve_interpolation.max index 2c3710a29cb3dd8d961c472aa7e91c1da1de7386..c8eb44bb08257b3ccf925e31b3240b0635731a2b 100755 GIT binary patch delta 26010 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 delta 24134 zcmb5W2bd&Bc|W`}(>-}Q=kA&5$vNkp-PzfkbGY5TO_!r|I_114q7VWk4%8$gfekp2 z)7m6SWSa~QV3G{j__Hx47+b~$zPDyi7bJN6XP&8^?yBnQs<+?xd%NetQ}Tt!_;%<7vJ|VeU5l|XY7^wSz_mW z`op(9{4J9O`dnZy-l_lEl6$~%@vgwHOt)UVBX}3y3k}-E{|??|s$IM#v}^4{$1lD3 z%g~+1g;5K3@%HfDrtyov2=5v{nXq7{rHgk&?&@^wmlfTaizy7@@GyKEfXKYyR$DjT^Pv~=+U;h8T-0zw9vYJ`=y-s*b#{8fe zTLkXfJC`@V)4IQVux6gcOy-L}{b*?Ki%oOsQjfltd6{x&pmSMw!tH$8WCYA6-rYe`%m%MsL z_kGKJwC9l@!AX}t7am6^q8X!$b!aGI(B0Y)jKk#B#(fG=* z%!*0e`{~cktC*t<%@rtBG%vw8`LsDeeUtpl$FCtL+~DZm<4>Fa-sGr5-v*R!G~Hg~ zyT3Hw=%~SQ6G{)7b8_zm|6{h9O)cZWUzvlUSHmSMdJwkHOsp4rqKWmv?^P2j?fvLi z=5@@`57h%u2GN9Oji-v(5#w{;F@M7`43#5LMz4_EF$BkBP{#MEmHCeOQG@!aa($|~uyI}urM8mRa*BDM)29Kcybag#}W=wR+ur+sPZ|ZtZ1BN<6 z??p5LG6p7+>c188-HB3XwJ_(-be2j*5wi=InF`={bk5ypQ$19ewEBNx?^j#{(eYC}YkuF$9`bZj68)Azopj?tCk+e3t@gQf$~6yDfX6XmisKOmqW$=&9Gdg&r5qxcUw-H zOfNGI^;iV_L1=vW-rYTxuNtA(bZ8ia?K3*yrO=9K_zL*FhISABwS}m{qD(He)T7qL4VyMW2oQ$ z%sOX0>*~+U?8duqe&SNo6$^Q3W~i+*Gd~R4|D0ZzW`-{K7hku`$V)%_RQq>NOz$*5 zGYHsIw8Ceoh}t@HZC>5$85%q@*WcFm3>BfxxDS?n&1Ie$0GWJ5#Li`ah{=5!c^J6i zl~67srP{qGf73E=a=aQU9)V(9(J;I!z44~+SeoWHnvL&#$8ysA2WF$+Y34=L`;Aa8sf0X*`0J0L@llho_rP~8EtC1N z{=L6?%5ta4^`SPI#amXR=f+kqA9!wev$q{ zPT`fQnBQXFyXW65|6$f+U0{GNJl?qM#&*TKJ`6ScPVW26#&!#P$N$mm1OHFG_V#<3 z62{;6VH^8Dn(_D~*0v!H;Da`%BRttyU=Aq9E3iZ z4mrVQL#?9=bW#^Mmgp0Gch%hWDYNm=DmE!(yFdfMrID3K!=cY7&Bjkxv6%7D3g#wq zopbh2`pl)1a=+!IPhWjf{;HGy^3qB9-*VDtuRf`8)k&Y*Kgl4MG0yx~SM@Shmoc~b z3zwSTgPK2ob@MM#^Or6)FRnoI7q2u+=C538`2}kE@_tJ+({-Zb=>%Z{p90c;2FhPT z`5crlK=~4subB5*YgoU@R532BV-fS;nD^ecj(x;LRJ&l_m$>n-&Bpl+EXV#0oN$dq z|DE|F{kQ-Z3PRs^2hfeuJEH!#(6fz#v#z<$w$?S=Wjy?pnKjItST<7c5-$(_^(%vB zx`7G(Kx$_4Vb@WzW5J2qVbtctV}dusAoET(`>xyR&0>{)|D~#RgDvD z=Hr5K%N7cgAP%+4C2jei1K~2@n^@dhUuTK8do@u-DkOG+<&|@?mstWmGOqE>3qS|=o!Gf+iTvM}2LI)= z2mjySHTeIS4adDO_^+=TyhG%d-TQ1J|LW4&`{XDyIzL9z-($i@(?DN z`VH|R?C&HI8ZO)P_4mc$&Ttje~ zBl1uLC=wJIielXSFxCTZ+j}0ybn6En!=ARgz~Q;Dqa)i(>|Oj5tZ6Zk#+Tj>W`r{6 zcVOctdhg&nFo(&+7{}g;^_f`XE$_r8P2Ap3--(elgi;SZ@&tC=cl^*Zb{#I$MVU0P zR{M7TTX1Z^4bzOrp1{uX-<|ce+GgYcJpG&Rl5?HCCycLr0xK97K8{(9)hDs~-kYC< zJ2s}mDkLcA)3zY%k7{Hn$SK>eL68Q5JJ5$R{rT3_SEV|B#;nqqd_i@gMzsSF7?^5 zFesi^fnI1is6Z8L(Tz0TKZNVXM<#H__+mdEHf|lptJtSe!w37I;oYCc7~_F9w9cU} zox>K|OJ6=bjP_o0`S3+(@8-*gkF3Js3()2%RQIY$*qGOF#>`j@_b?tbo*sg${`C-4 zXNO_)#6j4+0bTG7XzwSV#l}qRUgcZZzk2otO!&`I#_1za|MDZaJ$Gd#0hsW$YeP5i z+8W6)4&k9VqBm+lpM5g;pVL)?8e`@#tp7)caYoRe(*Xf^#@`;r@BH8({&7%;U&B7l zrZ4rnGH}#5^b0J6g;8hUe`C5SY0MwPL#DX#iX(W%SUQR`ro8c$FJt%YjeHCHo(pTE zo~`3>-SrbVgO$-?_X%7#RgKr86YIu{;V07loGT%AxOP!}XxvX3J`>J#KZ8VFnc2{D z`u9JlW&mo8+mGQohFISqegz8{G5Sy8A>$!5yW^<#$+IxP4TdKROL%huxTuOYzl33pRW$YsjOz-}G*$qP45Oxp z(B{)USJ%{<#k}18o@KtLQL~Hn*eA-=c;epgjeh0Rx=f zyRe4;44|y@c-;IN%if*m@ubOo)@(d*9&a1}bR+(28%i-eWGWl?-HfxQR~f`{M# z5q`)N1_iyZN=**~jNMUcj~LT81HBF7Jo(pU{}WF6?4_PJ8h`p>+-Kl?|T8@Aac-PKRp>u!35;tz%GBW~A(uXnRytvTE&Vf56Lt%>7H zx^Je?MVjq-ib>J*XvEpHvg4FQ_hG0#uwBL8I*giiR98JYnLiDukEISg@vD$$V-*QOU z(AF0Yc;<-MazfbfIrE;#!K`;6s7@rPn(FR%3DY_|rQ3>5u2-X{)YyE294Jaz(b+?| zsxCW;S(A3wUiUL)Dl(lmfFM8Ft*?}%x;D1k8?BWqhX!hAnwBsgIb5*HPI@J1oh29U zm~|d->Fs1>C&TW9-EB&kj0yuaX;>D@0V*pCD^X=#qQ^ByzbAdVoZiR@TN<9XnOhd` zVj#XeKXzm+xLWX(L~c6Z9-y?DTxqtOUq~n;NxRam2z`F8?sJ6PeY3+v){~tNy89S= zo;M16_;+@t74ha*+-57fa4(hLT;}Hk+GNH&#WPbhDLEXxRUTIP)tqetU%b7gG=17u zQJjrf2l?_$v3R)c>38Ev8#ftZmIKtVml~8pN%1xJ%`E_&nR z@x*FUm`g+!61Jj^UeF60-B_6S^i#pLW@4>PPcYQ1?5Zq#^mY($d3>Wiw!A}|O<@HG zGZ0h;a)tG>GMKY<6S&7}@A1$DhGx zPB_asb(h`>xkHZ9&4cU)clOTPU2#fSl+s7XY?I)!mRS$*r?goplY_ofX#Jwpo{LOhvE_Dy{`D*Q>S{23(`|;AAFnsuJ6d zcxK(+cn`&GVB1C|_mG>&)1if!qeb{;%4UjiPdGetJuH^95hd20A^C|gmbCa< z30K=`v19Hu1-HuG=AA7rb7-GE>2(C>V$L?lEemo@wv0M0 zNvmy$a1Xl4VYkvxW!9^%7>VVa!dltSwPWTc?x_&IQOP$|Ulr4cxl-TJ<%v`M z%qm+yyyh8Y?M>Rh9aonN!TIiBD-zm{*^jXnrB@<)*z8gdQF71?nVRuMhBdzCm-{Pj zpX402+RJowBTEcw!C{acl>&B(bD{Yp-_TqQg&dMx%`j1ArG{jU*kdbYt{onls5;Uv zhvX{HwFVZ4kyd=|ZtSiqHf)nl=kup~Prmke@($IxOirGd?_C?3xNWw5WWYM=RL(~4 ze$|Dw2bM+;w0)yFs>~j|<6wQhL2X3!xuA=59h_btT|4OA$SCs~JD`zuaqw`2F z>lu;#!x22^C>&@8k7j~%72jAqIGr!el*2VgK{C|R&4M*L zo*_#l-BxW$S9&z-3cB4TmdJ3(Xx_W)_xta8&WAj~^M!zTs=NJ?$?~nWxeFV%QIFGZ zw~soGyy$H0`e8hTdC#=ybuT*;CP%fzS|fLCUKz?S-ZRUNyDYR-JneTaQ0nPGeqq3S ztV%5kuC|+*4%F6j%na=e()1YVEPBM<>$=G%fj2CkVUN9O$D=re|Mm=SA9qvzkP>w! zCsUDjvbHc_*R5QQkh7{dm$a8{g>}T}&K}kxx;)czY9iu{xNT9Z$Lo}uI-apQ+p*7uN?CTe-J)Ce0$M%r+O_Dqj@4qv%e%Bf~!RGFa&E2{{k1Oew-pb+O_VySzBS!Dq z%$%Gp-9AT*`P}_cf5o30$&<5^EoUc2gZ641snlte?s3}s$iQZjm<-s`e0`^u*j>sH zeX6VGBAR4iqaY6Zlz}K!m%XEvCYeOAKs|=W&`?>h}aG>X+Jyabr)&2EO3qB z@JbaQv{T(dsZVsZXgtB%Qj9%K+anH300ZyC7Pm{?QFlaOD}p_3waHd?K(`1sCzy;{ z;GTQ1d%zn-Y;o7FYgiQzG}(Eb9WEqKw6(2aAyZGqmsue;ip{poJNIbC18LGL;0=CfjQSxm3U=~aL45nu1NR9RQ+hs4;tm{}GxOG0W9s3Pn}X1T~X zAD-kRlYDeaNQ?=ISs?|)80UhcTyO%mOk{-d4~W?rSh~Lilo%D#W0A(Z5Fce@!=zYc z0=;agp9%FTxdFX6=FN=Ai8djXDSwkx>!i0zhnjS-n~C=HZ~c_F zc_u%7TXE`KqW@%O?2J-71vWCq>0`hmoIc7Y#(_3mbcziQ2O3LqZkmma zagkv*GR(y$g!GJFoDh?vN(wk>9C(6_4pCYU8|-5vz#@HGraxF46QXU>S0a=O>8+DW zm5;YPQVyuXM0yCdOllR%R|OU!WOt{NTxN2jHDuiPGn_?^!RGGi)2AKtcI!4C+sS)2 z8Lf0&E1po(N4)hD-o{yf-+8TmyfAxvxbK9&v89v_DY+eQH?YzTm6>y}cD;2Z*gB@< zx0TY4lw4H{8z4ejW2Z2EA~<}kvUEl&ED6zBDZ3^{7qrHvoLx}Mt4eK0h|dY}S#dYL zAf)ES#3FP;#0gJyq-8=(PxG-!Ae2;`ku%duc8X7q^YKw8Fvuk)^x|x^0v(0}#R)bB zV$(|p+Ju;AB5fL2Cf4sO42g+8E!FSll7tL&r~z@1!02^4*kJq(LM_3U)`cpelssad z5Q}oJ=BjcYzsnP%5zCy~z468yh3mbW_imql{jtDkE`EN*TR7>hpVhKQe68!%0ubpG zY-6M6!~Ms@180@;VYvX>3RT`!>|l za=hLYx7 zl21SYG36~Uh}j7tF&L@LA|44119|-U$xv}zP7F)&0njIuuZQyY(*AB>96HeC5`*!^ zxSH-4qP={gEyQ|-aFg=os6c}WH9ShuqZUZ5Oek8x&887;q@qX2xp_jaNvUQS&r(E5 zLKHf_d(&OFu}giCTb9IAYT&3ZaK5Owu2XYI)bwE`x#g>$_QJPz0x0Bf9tyWl^MRUD z+}6s+)bgQ7b2B?~I@CHA>swb#TWW1bj4jHUWu>^TR5z+q$1)?w_4<}tS(VGHQff5P zyRFnWgu=2?Js@Tm`PdA<8=K-HlWJvI%1-H(Wg$7q1%ZdgS^p4_M@UX_(eY$^)mxm_ za+7jq0=NXEiv?|y9rfo&y}1z6+shE z`&);F>;k(R8Wl2gVs1{#%?2y8d}&Ip$%RHO7Np_M#B z-XrEbk}psC%5Eji>SenZw}l*JgtmI^xW{1*Qs$WP@VD?oyVfz6emLO0rI+8)?Bfoi zM2b5(d2vbWKH={>6KS78O1XB**K@YLaa*YWWOn?z!q^!py`~g)w8{~n3)m)K^8~ON zC>MYCj+k5!6Z2|)Gtv*ne5*QpQmw2>r8T9r9BLj6HP!<_rqTf^Iq7R|3A@QzE;K4< z=cUY;zqSmNk}@D+V^V%vOiyz02|hW=Mn}Wl3xt~U=SK)3LTOD#@29;jHq>ULK+1k4 zJ3<2^1$rreHxP)9^eX9oDcQ#ayD48$jJKFzT?p5eST`GOl6n<*$0HX!LYB}XB`H)U z)QlXddgLVTb7oU{Da-roA-b#rwBQOdM4mx1x4GMMN~Wr!`yi9Pxx9AocHy?BcBp2r zvfl0!df#cSz7rZaipA7C9nl&`BfW=}(uP!A z2XhS_)as_Mwe9OUoEtvkuN(;XYycyLy4QlWRbTCZT3eO!^IBsAv=TDxLT*m4EeXjn zB{wZ*CmDSJDc(pw8wQaY1vR8sXTV6w@iwKmXm1Y_?5Fh>gF5sx0g$Q|Q}38wTg5#03gs3}^|~tpL14C`G~-DGT8$s~1^+*~Yufic^UM zan@=NyVX*Z%6KuKQ{7ij>$}Q{lzWUz+}I-K6Q#RWoOKtb;?il6uW)MRklu4VFnA`= zIHXliXjSk4kBl6?EzonUcj25;*^#pcmBO~Sc}gvA_!@`R@ z_oiG~4}d#R-bf9fiuY}5<&|J%#n(6>mY3!7l5e-RE|x%A7x?6~FFzZu&Z+qsE;=No z$A#1w8wN{00QzMCLg@Yav$&7*1&+~ngx zFs*v5xpGsm?^I*rv=}OacP!^YLv47ghqMa#3LBB;PPq4QsOPX!UeUUd;|v57QVV=! z8oWfgv>K?cDEV12HKTX0%Gp_Ux3tV>fS;y?{45(A@fK&*+zhF=xX6IFFafLs3X6-5 zfT4?Z&+w79H$B9JTC@&A*T+W(nLvxuyO~h0n(PN2;(}oB!KMMJz*npj;2^7ILdwgD zZZ1$^fkJZLt>lnO_mw zkj^-P0KH*^g^|0iCC0HW1tzkVqFXu0$4=**2i59@6;sGe&pT~{nAUyNR|8uQ0(wTR z909pZPM*n)oz)wM6Rl(59D)4$q@?_ylECuyFnSNIcT?UnAL=25tPtrYy*1JgioE7gz;Og$smw(i ze5lF=t6~5ctO8yq6RZ&4BB^I9ZZS>!id?WP1k3&s=PZ(#-6CWHR?!)*#+_M5m&4R0 zk@h5Qa+(q01`yz8-F@gSXD-L^tveRl=bGL_d45TiwguO;-F@7y+?Z$A!~SCdYK8+n z7VJNvw~l$ck7|u0zQ!SM<8XfBbh`g&YT!5@o>lUja&A*8Y>4q$rF_s=noSQL@z>Y6 z;D}sY6Z5O!iz2@&0RhIWuX{}a!uhL9N&#p&B>?-CSJdJxm!1OFQ}WYtb`pl*(-T~B z1XxVTjx(WtHa5VgM%3I$wmz;T2R(8HqB7doL;IVQR-uDUAy{F9uwP_@5VO@l<%6d8 zhy^#71}BOMR!MJ>2~?R7h;DBMNXP{0gtr9p3KW$hRl=M1s9Af!s%Awlq4H&k3KE3Z z?T(U;2#H6XYT27a3lt?>ZF{X;iOTmeXruv{#HYNN=9f zO5kjfff}fMr1<3mAF1(yDjxvvvU>P>0)B)f*rLZm**JJG?krtTG<9g*_q<1ITe@M=(h)KkAa&FmIUIh!P z6u>WEREtXx#|f!fKXGc&=;0v~O$yMYlD3qwO{oX<{xP0;g`a&mx;56MVI z`#?b1#4r;b;1ZzyhC=y4Au%AP2ADtt9Cq-jz#!0p21Iw1T9o5GQWQDwG_aEb9#^WTgb4%GUY3S%FD9;BB5m|Z{Fs0SbYwcm$b%ZE~`3YU|1qH z#o;ap;d0(vR?MW?mT>J;j#}jW#Q;Ai1WxrZ*G>7(M#yQ_I_OeHRQ*T|;4N~3;nuy; z{*!WURmmTe(yMB9N3CyXCr?$zP9)n$eA$6ueJ#}33iloYX_eE9a%Ih1SPpd`4Az#w zTu8Y^Au|njlaEdUoDymt@RjC6wFNEN&+SIW7;irt8t2nvAe(#|0>ieF9+xu^J43(& zN)0@E2z6RaxTR(W6mZRw{h}`l?4`tdxo{7Piy;yW)I6Zq!eA)Csjo4iI(TG2R}>q{ z1ujxo;|*3XF=`5&eI&nPj`RV&$~li07%&5J>d|s^N}>a#JHeP0j4f;SB=5{hWHQK> zMYR;Ohn(p?Rm^kyl;c*U(Yr?h)gq>NYaeb7VV*TMx*3U{Oi0%S2G>T2Rob(_Mf;9I zoCs9$_a0TtTL3Bu(RqTcLkunG^I$lI?4n*@m$S=qW)94%nqTl&4+QHg8iYcHMX4|c zY=;8rz$mTP^~!=?n(^j`fpVj4V2II&5QGpJT|_JW)O z)Z|7fPR50NF^a5p5sDQ8ZZehkL;_M z1s|92mkECfNSkB*d7zmXuDHE1TyD;njN3yVYf7{T7E{>FmRY_i z?^Dj+O%Nk&&$(`LSYgJBzAayHDNY~HxTjtG>5yks@NXBnMNTapkgJT*DYi{e8wYY-Fyn<)Xk?!5L+b!JeQ}v zIog|N0!4Ggt#udaB# z;2;+nQ?ug`0&uBeS_Ojj0EKA1htj~}mHAj7cy0S`8Ukv3-9i*hYMBKa;00ZUc#HG` zTmu0U5F<9{9E*)sriXhec{WGTHA;3FMrZR}or$H~j?$>p8+sUEE-Y)N?n*QKzW z-9F7J>q%lMK#wubNjEX8d-@&HM!?f+2eY9T)}+*uRM`mh9pd9)2IhEuT!<~|JsVni zIZ#^#$4yAhaDibdIUcAjfe3^ClCrZ>dd9n3UIvB(l7c0swLV54q`iFrfYDkD;w>dL z3`$N&4Ke;UrPN8O3ZM;;1T-0lFcWDq;U<8gq*?`VSV}g*AL+Ox6;cD)EP~6+_`$Es zg0%q04|Ew+df1eUPPj#+@I1m;hETzP0P>UZ2ua#kAe1an5izEaCc=`t;Eog`?vQAU z6Lgxv0+=;sbwymBtV*WA&PraOWm?1qgZ?HSx%?1_y35XmoOzdJ*6wK#o>3xw%V=$5 z6z{Qx7mMt)?i{mAXY2fmR6j9{v>*hi3Ghl*y|sgCZB0zf36WVLJnOA4>fLZSrT`wF zo9Du#;qs)C0Q`6fq8fl(K+_ad{HZRi(rN#uKVD!5YvBkxEJfI||_%7XUu)&>q5h1;~~~ z#FIPh$frU7A$qY%=nsC4TS~jRLK-Lv5^jrnY+(|QV0PI_<#a6IB4j#{33F+I%gXU` z0uS3AG0LV{ksybSZFp2>*Ohi>PuHv=$P+n}Yh|h6J9PNqf#+>m2UzY%lHB%NYM7&~ zQnNhOOoHG7vx$iXwYK4H97I@bd|rsnijg_Bx(r^NkeL8`tCbei!koW27p^aYnH3U~ zfCmBI3c8O84uQp>{e2zQ>j!BD*#)GmB>=P-ZAW&NBil>it;O)>LSSjarO8fJ0z_U) z^-@8gT^6uI(1uzTqS`W8S3Xo@{Uv~llvqPeKmbyvz?3S8_aL#*5#kh5e;rYFi%0_k z`3SJG;OwbD$^zm&pq+)XSprr^(nh2ODlXxg!+*=(ZM*r}$0LKJ9UhI>p!mBshSm)=!-**$%)e@XQ4O0+|{z{*sIY!Z;osfbR-55fx3f``uwi5@A| zpaWGlP=Uyb57pUVMT*oRJSEivz)+wNJ-pY$sCGg^`i)OJ*{~Z#luv;vakv7V$|RyC zlTBh#+!k}v0k<{eW-@+T(n_h6i*w;&E0^FfzXSK#9UA8hI9#G>swQSvAOj*K=0petijePE;347V8xfKV zzUCSm9~M%h_3?vXER@_7NGh!lu>JuqI0V5w8yO7LX4K4humAy8n+D+o1P!ppU8PZb z+1>S5+}r=?%h30Y55|tHhSq0;tJ6R>U^SO2VNQ5avJ1d_kWmMzQo$Odm%yWwqY&=r zc|Vv_Fb7#gFeOI-uC3>lcteX;U3?OPRzx8&?Exl}GA=IRqGK*Lff%gAV=1Z>a6}1b z%&jK9799^4{Y=V-YZ&B-$qm$WGdf@3DWh&-76JcArJz?uU zmrWe@Im#YlmP+4H!^d5rg)ku6fVx3GP|ARHT|^;iY?=?xKzQnHtf(b$*yhuH%Yn+A z3@q7pqD-rYyYV>7)%omZ#XnIswH%HS-Z?|Kh8_I85SY=~ zrh>=pLSg{~5|Dq$1VHwPkBxy&0|Ii8T-ArT*pybBhUBUc8xoSEq)-EggYmZjc;n*3 zViq!q<63rvLYN1D-7O$yV)yh`>#>)2Kk|a1x4r7cPk--4|M?Fu`o&ZI#*6wcKELM` zyM?>1V+-jkq=Sr+gxoc7%UnVT`EV-OP>81rAbYTn0x&Jl1Pem2#OOsA2ihNeyAU6(?F$|V6chkdJ(!f?OM>7^`A91B~?oMwgAvTRrEN;Zz^E=+L}F&PNRCOb)m z_1)@qReFf^ulM40D_iHuHP$ia#>y^f-e(`R+v+xW5YjWjSe6LzJ5b^|GJ`_V2uiE5 z{t-SnK`V8DYQcNcigW(L6r>tMwK*m{2quz^LMEvnf+@(mhANZ(+%QT!dz)Y$nP^|~ z%y!@In_n^g@wcD;!53cgKmU0DfB)eAr@uGwn)~}+^@8lpC(`GS^0ho)$#Et4zm6`} z3#-pUybk0clqAR=LOC>W&WbK7<`L7K{k#-|6hfNuBRT;|I<_(e4hJ}V@I@{Oh^vrt zQV~bY&rbZq zU!D5i=N|aqA3pFu|2Xivm*j3goxNqBR0SZF$zoxBIlwW1Q6T&Tr+;FbSclWA4Lve%C$fq{jtY%IRpZ@dKf`#6;6<1|pr$08M12hucOtZ6cZg$8$Xk*8c)`G*5!ea-^YBR?n0*%vZ9}jL- zYDUgagWsU0M**pYhdv-vqGm>f*npB5f%uVuY^}ErumzxEYIaaB46au=&L>qz)K$pk_^|3$-5z-GwUa#O>Wr`mQtFX<1N2D1 zKdU(hywsS#Z@p<2OoQ8liNW;P4Rc&-5>joDd1OO_e0rLV4m06yEjJEM1GoZQbQE%H z@Zg|*LwWbbw~fC4(b4z5 zapXO3D8J~o((`XFUO2Cf^;t;|PPl&W>o${$ zF&Zr;B*Z@fNsaSHQK@~y(CZSoc)hdv8q=OZNjzR<%fCs5cDAA|`rdpFj<fif6$&^2-b)DY>AM`q+ibuouHiEwEQtP()+2or^bSrCDs@RWm^ zYD10!shCg$)H6y`@P1f7%I^R;DkBdNA`m)M17UzTgxHm{@VEo*FM@6Iz?$V8=`RY= z8fcadGk|1(xdu!DX%Ju%Ld#G(z<)@mAO{=NEtepa6s4wJtlteR0pKc-OiH-KI1Nk! z6pYZSU$Tgp6p&2>29Pu!uyPq56EU*~vuJ^i@5mb$K87DaStNd!QCviUjCL0WHg}2# z#=Rr{SUVkSms~kF?sNb(;AuLDRq616lp70G$FA^3Z6JaW2S~FCG*LqZA=VPY zkZtZpKng^!68I?aWL*?6B#6Y21bD%O6grQ56ge;8oRI3NdUjFN$I4O#g(Gy;2o|A=?FQTqQjHmt&|-^w7LKvkL z=ukJ|2QGj$0BBSO(*v3VT^%*1r85bW1ed-dBCZ#|?6c8(LTVhToiduyz2o$A6Ni|6*aX!j9 zLyTMC#VCWbPM1zIycns3wXE_CHfJ>U@E7jVy&P8%*dk+1SlNhVNm%U#rJ3Qu~w zJ!}DKr^H|f#KObqTo6`@Kw8L3!NQdUJi>vp=u`lR0Ffj}d=avsfL@3Z0KegJ zC=fhz~ACbcxBr3pFV>zCnAB+YIU7nJ}6 z_WQJFmVXaCuLkV!t`FlfdQn3~Zps*f-5k5U8zZ=vbmq8BZ#g($j1326cqgU_`QR4i zN2wx^56a)5)CR!=JOgMpJTZV+0-p5&KoKNBjy7m8H2@+;>TVV|xCCH7%FZFw8V+GK z1z0zNd9*wm00JP0%q=7wq@O$)D0#FzGOG}93uu`_06`cYM2$4)11VIX)i}}?-i(ur zAyHuCzy^piV%$lG;R|Ghuhl8rJQ{q7pxXhGlM985F_+ItC=?m(ydw1It}8(VCrYji z%>`(GEojLJkl<#5@a$5ZhFnIh51yCY|BDha+2X_K5djkJu@^Gk1pw<&{?QMN4vIaG z5P7+iyoKlB35Po5?->F!>WyQ zm>p*0$^XH5^xDcpyODO$YI8M)2b5YI9-W3{4ctP?+s(#W`wP6hg`7T*5MX%LA+JyQQWj(Yw0j2%&LCJAf>wB%QUjG=fI;8}xtF=5gOELF z!g0n6BAp_{B=VAwN(WUIN6rx)c5&ck$6*Wi)k%k7nJzZyk)RS7Jq%wtF5sfo$$7%b zh|P=O;&JqJ>M6!H%nU8HiK^dTWJwv6arxnSeix(;fNr=`jK9DKE5IbM90C$|D3t;@ zA!sOsx`IANw-02slS)DM8g3Z?*a*W0uQ&rSQ^!L=OXI?2#9%U*CeTX}Rt0b)>Jj4} z5tKBjqcq$Z^o13KsF0oX!hwSdItU%zCMp2ya*#nTpy7T85n<3<86R?kK*EbOnP~)1 zJv^`Oijg`5CcNIs_3#;BD3B~JS`p*jUI<};zoe{-iNmb-iM`KU9w~#Mf(|AH5A`62 z0_+4h7kr8j0s(TQk^qr{uS-lgS(s)N9Cq+EI2~%@gtV_w!Y+ji!~9{^c0za1LBwu! z$WAE;@#~mV^zNqd(0g#VBQ;sb%#`NOK8U8xhih)FgzUdu>^u?*@(wevh+z2r0B?ZH zlLtQ!JVnx*0}u_N-w<9%d9e2|Z6_5)I!^+V4@(2VfJsJ?cc`Rk4G?m8IHe;1gx`fG z7@@T|c(qms)1i0R$?*|b4_E;pvx^TpINiks5P?5UCdYE=sbYO~a^bp{|M3St_3*s3 z8yrkxR@|BNaABXTq)Tycwh^;Na92S}RQ2*ei%GheQdr4~LQM3Qba?EFjB$=A2Uwle z=W+y{5bv3Jiwz_)&N4*}*Q`X6vWl36vs;5!N6h00k{E+K6BHJ-ViFFBYP^~;+bvej z>To5fOg@YWxK+2KIev*uP2_=;%jYjHoqK5E?90#`@4xs$M~Kiu@@!bxi=A2z=7w>bLKi7qtF_wzF| zGhj&4Q-$VWWj?am12_7P52V3vIeX z3<-eWSc7(}-_6A}myft)){Ocd{>5E*Y5204n@X3aGNtKE8NM^{&6Y1~xyw73JHw7m zwker}J4}j2N~wk*=SLS*o5Z-2oF_$Cyg1>P?GZB3$kTDv=CwKFPESGuRM(d9I5g5O zF;-o(TS=Rc;yr#kl1^Z<)g58Upy){o4xONa6nb~|=h9fRFrF%0zV_wW7;pLl9`18^ zfjdZx=CS!f20gB#V1^a*HnVE8={7TOw#Nz9PxDdQLSdN4>dl52KTrBS05)?m0YRqx zWysWLfj6Mgo%@85{x5jDy4P&|H{*uy<8JiE>F_g+k6zBYHIRq+6XY;U$aFk_UO(P5 zxvf)XH)N8WqfSTDf!@sS;2RK?t|L8QMM3Jl9Ug&@Y@PP3dE7H@%!ff|VugVJpn!*W zh0B+{9l0G+=T&f+*oPSLtcXYOeR2?!1b2c%Yfw9D*lU}u6%()Dt+%JzmnjyyGvw@d zUfU~YlD1E5$6gYfJ2-c_Be_ZnCk3?rj~d_mEZ);uFwF5BFQ1o%4J5pGa;0E+P^ATv*V~SjK+V<<+`QI zb$h6;g9ohdJ8%1U%544N<$LyL7Dz~U00jOWfBcp=zwvdjh420n(A(r+`5L@y-{FDv zZ{qWv+sr)t&?|1g{q{e6;~UPMI|n_X|335%5X32TarH8X+;VxZkGcEqyB~esYu@_i zN8j`ZuRnkOJUR+@I`0{v} z%jb1C#D`chV4N*l9mb7C>+J^IlArIBo=zkv6lC4Zvx4+Q%(g!4Ppyfg^3KD2jl-TFM+BXica75xe4j~sg= zb5_P=vKedh){qG^?wPlyOuX?Y^VS^vA<;MHt)KH2x*A>RZ+y@n@cjRCV@PC31|CpU z%wWZ!06YcAa{9p_Hd){?Blm;YCW?a2h6!QFXD9)x$^ok|2Ofji8qC(th<3Pw2=n$e MQEVZiz#|rF0J`GVUjP6A diff --git a/scenes/curve_interpolation/curve_interpolation.vjw b/scenes/curve_interpolation/curve_interpolation.vjw new file mode 100644 index 0000000000000000000000000000000000000000..d7f1e6084fcf770a0adab880d105c3e0ebf603be GIT binary patch literal 1792 zcmZQzKnD%>=pv|m>dG^s8V=;4nonza4C~SCCnS&VzO!e1?0^^^hNR1%v70qh5|4iT z@*uru&z!M?xf|VnLh>NDgZzL?KOuQi;}2#Jf<}#hggA_aDv$0zklR6SgsCQ79)I|P k!WLir5DH&H@`S>dko;))kEZ|8^bgDZ3=HV`A3c8n0Cy>wWdHyG literal 0 HcmV?d00001 diff --git a/scenes/curve_interpolation/curve_interpolation.vtx b/scenes/curve_interpolation/curve_interpolation.vtx index 67faa88c2164bdd488195bf7873b63aec886c8fa..a2588903a676a4735d67ed6f514b4601f4b4f766 100644 GIT binary patch delta 1601 zcmZ{kF-`+95JhJxAW%{S5u_AU6j78DkV&5+SD>fi1o0KDtw1UE02JIHKENVz016I5 z!Ji#_*Xs$E0%qs?dHmL)eR_ZSXjc=WCdkK6=I7mv{Q@(_GxobU3w}4frZ_Z@`o~NTz;1o9U*ZeyGx3^|qSt6V|bU+%f)Mf4194ou@|1 z3{jTBddX32DCe{VC(G=02Y~ue1hE0Vz24%4GEzfjhA7Lh=A7Z6>7KJY9qLY&LJ`y$ zkm}AGg6dyU-7WFWP5o6}#CKeOC)+5BNqJpqxZE~sa=e~+q@WT=Up4y0O6YdOqb{tUk_c?6lkd>N|#}OxVw}EK^Ec8<92sb zb%{!!H@?|sM!qA5(1VP$uW&}b8O0%U!gtUE@esla0T#Yl--*`br;IEUl;aF1_bs=Z z0WU%$-x1Ul898A(rP>8+gG(I$k#N1J2HOGGKH3J)$(~2*$H+G7T~9^E*hY@fQ_1OV tM^2Xc$2Nj&K-OfLF}A^RhLhP2tHE~OwXrRocOW08_vwb}6B-Tm{|A?qIBoy{ delta 7 OcmZ2ecqVbf83O