[gnome-photos/wip/rishi/buffer-decoder] tests



commit 6aedd6a6a91825a2c56a312a9b53251c95983ae9
Author: Debarshi Ray <debarshir gnome org>
Date:   Fri Dec 7 19:52:23 2018 +0100

    tests

 tests/unit/photos-test-gegl-buffer.c | 963 +++++++++++++++++++++++++++++++++++
 1 file changed, 963 insertions(+)
---
diff --git a/tests/unit/photos-test-gegl-buffer.c b/tests/unit/photos-test-gegl-buffer.c
index 03ef5e40..dbd30b9d 100644
--- a/tests/unit/photos-test-gegl-buffer.c
+++ b/tests/unit/photos-test-gegl-buffer.c
@@ -32,12 +32,25 @@
 
 
 typedef struct _PhotosTestGeglBufferFixture PhotosTestGeglBufferFixture;
+typedef struct _PhotosTestGeglBufferPath PhotosTestGeglBufferPath;
 
 struct _PhotosTestGeglBufferFixture
 {
+  const Babl *format;
   GAsyncResult *res;
+  GFile *destination;
+  GFile *source;
   GMainContext *context;
   GMainLoop *loop;
+  GeglBuffer *buffer;
+};
+
+struct _PhotosTestGeglBufferPath
+{
+  const gchar *d;
+  const gchar *fill;
+  const gchar *stroke;
+  gdouble stroke_width;
 };
 
 
@@ -55,12 +68,939 @@ photos_test_gegl_buffer_filename_to_uri (const gchar *filename)
 }
 
 
+static void
+photos_test_gegl_buffer_save_to_file (GeglBuffer *buffer, GFile *file)
+{
+  GeglNode *buffer_source;
+  GeglNode *png_save;
+  g_autoptr (GeglNode) graph = NULL;
+  g_autofree gchar *path = NULL;
+
+  g_assert_true (GEGL_IS_BUFFER (buffer));
+  g_assert_true (G_IS_FILE (file));
+
+  graph = gegl_node_new ();
+  buffer_source = gegl_node_new_child (graph, "operation", "gegl:buffer-source", "buffer", buffer, NULL);
+
+  path = g_file_get_path (file);
+  png_save = gegl_node_new_child (graph, "operation", "gegl:png-save", "bitdepth", 8, "path", path, NULL);
+
+  gegl_node_link (buffer_source, png_save);
+  gegl_node_process (png_save);
+}
+
+
 static void
 photos_test_gegl_buffer_setup (PhotosTestGeglBufferFixture *fixture, gconstpointer user_data)
 {
+  const Babl *format;
+  g_autoptr (GeglBuffer) buffer = NULL;
+  GeglColor *checkerboard_color1 = NULL; /* TODO: use g_autoptr */
+  GeglColor *checkerboard_color2 = NULL; /* TODO: use g_autoptr */
+  GeglNode *buffer_sink;
+  GeglNode *checkerboard;
+  GeglNode *convert_format;
+  GeglNode *crop;
+  GeglNode *tail;
+  g_autoptr (GeglNode) graph = NULL;
+  const PhotosTestGeglBufferPath paths[] =
+    {
+      {
+        "M-122.304,84.285 "
+        "C-122.304,84.285 -122.203,86.179 -123.027,86.16 "
+        "C-123.851,86.141 -140.305,38.066 -160.833,40.309 "
+        "C-160.833,40.309 -143.05,32.956 -122.304,84.285 "
+        "z",
+        "#ffffff",
+        "#000000",
+        0.172
+      },
+      {
+        "M-118.774,81.262 "
+        "C-118.774,81.262 -119.323,83.078 -120.092,82.779 "
+        "C-120.86,82.481 -119.977,31.675 -140.043,26.801 "
+        "C-140.043,26.801 -120.82,25.937 -118.774,81.262 "
+        "z",
+        "#ffffff",
+        "#000000",
+        0.172
+      },
+      {
+        "M-91.284,123.59 "
+        "C-91.284,123.59 -89.648,124.55 -90.118,125.227 "
+        "C-90.589,125.904 -139.763,113.102 -149.218,131.459 "
+        "C-149.218,131.459 -145.539,112.572 -91.284,123.59 "
+        "z",
+        "#ffffff",
+        "#000000",
+        0.172
+      },
+      {
+        "M-94.093,133.801 "
+        "C-94.093,133.801 -92.237,134.197 -92.471,134.988 "
+        "C-92.704 135.779 -143.407 139.121 -146.597 159.522 "
+        "C-146.597,159.522 -149.055,140.437 -94.093,133.801 "
+        "z",
+        "#ffffff",
+        "#000000",
+        0.172
+      },
+      {
+        "M-98.304,128.276 "
+        "C-98.304,128.276 -96.526,128.939 -96.872,129.687 "
+        "C-97.218,130.435 -147.866,126.346 -153.998,146.064 "
+        "C-153.998,146.064 -153.646,126.825 -98.304,128.276 "
+        "z",
+        "#ffffff",
+        "#000000",
+        0.172
+      },
+      {
+        "M-109.009,110.072 "
+        "C-109.009,110.072 -107.701,111.446 -108.34,111.967 "
+        "C-108.979,112.488 -152.722,86.634 -166.869,101.676 "
+        "C-166.869,101.676 -158.128,84.533 -109.009,110.072 "
+        "z",
+        "#ffffff",
+        "#000000",
+        0.172
+      },
+      {
+        "M-116.554,114.263 "
+        "C-116.554,114.263 -115.098,115.48 -115.674,116.071 "
+        "C-116.25,116.661 -162.638,95.922 -174.992,112.469 "
+        "C-174.992,112.469 -168.247,94.447 -116.554,114.263 "
+        "z",
+        "#ffffff",
+        "#000000",
+        0.172
+      },
+      {
+        "M-119.154,118.335 "
+        "C-119.154,118.335 -117.546,119.343 -118.036,120.006 "
+        "C-118.526,120.669 -167.308,106.446 -177.291,124.522 "
+        "C-177.291,124.522 -173.066,105.749 -119.154,118.335 "
+        "z",
+        "#ffffff",
+        "#000000",
+        0.172
+      },
+      {
+        "M-108.42,118.949 "
+        "C-108.42,118.949 -107.298,120.48 -107.999,120.915 "
+        "C-108.7,121.35 -148.769,90.102 -164.727,103.207 "
+        "C-164.727,103.207 -153.862,87.326 -108.42,118.949 "
+        "z",
+        "#ffffff",
+        "#000000",
+        0.172
+      },
+      {
+        "M-128.2,90 "
+        "C-128.2,90 -127.6,91.8 -128.4,92 "
+        "C-129.2,92.2 -157.8,50.2 -177.001,57.8 "
+        "C-177.001,57.8 -161.8,46 -128.2,90 "
+        "z",
+        "#ffffff",
+        "#000000",
+        0.172
+      },
+      {
+        "M-127.505,96.979 "
+        "C-127.505,96.979 -126.53,98.608 -127.269,98.975 "
+        "C-128.007,99.343 -164.992,64.499 -182.101,76.061 "
+        "C-182.101,76.061 -169.804,61.261 -127.505,96.979 "
+        "z",
+        "#ffffff",
+        "#000000",
+        0.172
+      },
+      {
+        "M-127.62,101.349 "
+        "C-127.62,101.349 -126.498,102.88 -127.199,103.315 "
+        "C-127.9,103.749 -167.969,72.502 -183.927,85.607 "
+        "C-183.927,85.607 -173.062,69.726 -127.62,101.349 "
+        "z",
+        "#ffffff",
+        "#000000",
+        0.172
+      },
+      {
+        "M-129.83,103.065 "
+        "C-129.327,109.113 -128.339,115.682 -126.6,118.801 "
+        "C-126.6,118.801 -130.2,131.201 -121.4,144.401 "
+        "C-121.4,144.401 -121.8,151.601 -120.2,154.801 "
+        "C-120.2,154.801 -116.2,163.201 -111.4,164.001 "
+        "C-107.516,164.648 -98.793,167.717 -88.932,169.121 "
+        "C-88.932,169.121 -71.8,183.201 -75,196.001 "
+        "C-75,196.001 -75.4,212.401 -79,214.001 "
+        "C-79,214.001 -67.4,202.801 -77,219.601 "
+        "L-81.4,238.401 "
+        "C-81.4,238.401 -55.8,216.801 -71.4,235.201 "
+        "L-81.4,261.201 "
+        "C-81.4,261.201 -61.8,242.801 -69,251.201 "
+        "L-72.2,260.001 "
+        "C-72.2,260.001 -29,232.801 -59.8,262.401 "
+        "C-59.8,262.401 -51.8,258.801 -47.4,261.601 "
+        "C-47.4,261.601 -40.6,260.401 -41.4,262.001 "
+        "C-41.4,262.001 -62.2,272.401 -65.8,290.801 "
+        "C-65.8,290.801 -57.4,280.801 -60.6,291.601 "
+        "L-60.2,303.201 "
+        "C-60.2,303.201 -56.2,281.601 -56.6,319.201 "
+        "C-56.6,319.201 -37.4,301.201 -49,322.001 "
+        "L-49,338.801 "
+        "C-49,338.801 -33.8,322.401 -40.2,335.201 "
+        "C-40.2,335.201 -30.2,326.401 -34.2,341.601 "
+        "C-34.2,341.601 -35,352.001 -30.6,340.801 "
+        "C-30.6,340.801 -14.6,310.201 -20.6,336.401 "
+        "C-20.6,336.401 -21.4,355.601 -16.6,340.801 "
+        "C-16.6,340.801 -16.2,351.201 -7,358.401 "
+        "C-7,358.401 -8.2,307.601 4.6,343.601 "
+        "L8.6,360.001 "
+        "C8.6,360.001 11.4,350.801 11,345.601 "
+        "C11,345.601 25.8,329.201 19,353.601 "
+        "C19,353.601 34.2,330.801 31,344.001 "
+        "C31,344.001 23.4,360.001 25,364.801 "
+        "C25,364.801 41.8,330.001 43,328.401 "
+        "C43,328.401 41,370.802 51.8,334.801 "
+        "C51.8,334.801 57.4,346.801 54.6,351.201 "
+        "C54.6,351.201 62.6,343.201 61.8,340.001 "
+        "C61.8,340.001 66.4,331.801 69.2,345.401 "
+        "C69.2,345.401 71,354.801 72.6,351.601 "
+        "C72.6,351.601 76.6,375.602 77.8,352.801 "
+        "C77.8,352.801 79.4,339.201 72.2,327.601 "
+        "C72.2,327.601 73,324.401 70.2,320.401 "
+        "C70.2,320.401 83.8,342.001 76.6,313.201 "
+        "C76.6,313.201 87.801,321.201 89.001,321.201 "
+        "C89.001,321.201 75.4,298.001 84.2,302.801 "
+        "C84.2,302.801 79,292.401 97.001,304.401 "
+        "C97.001,304.401 81,288.401 98.601,298.001 "
+        "C98.601,298.001 106.601,304.401 99.001,294.401 "
+        "C99.001,294.401 84.6,278.401 106.601,296.401 "
+        "C106.601 296.401 118.201 312.801 119.001 315.601C119.001 315.601 109.001 286.401 104.601 283.601 "
+        "C104.601,283.601 113.001,247.201 154.201,262.801 "
+        "C154.201,262.801 161.001,280.001 165.401,261.601 "
+        "C165.401 261.601 178.201 255.201 189.401 282.801C189.401 282.801 193.401 269.201 192.601 
266.401C192.601 266.401 199.401 267.601 198.601 266.401C198.601 266.401 211.801 270.801 213.001 
270.001C213.001 270.001 219.801 276.801 220.201 273.201 "
+        "C220.201,273.201 229.401,276.001 227.401,272.401 "
+        "C227.401,272.401 236.201,288.001 236.601,291.601 "
+        "L239.001,277.601 "
+        "L241.001 280.401 "
+        "C241.001,280.401 242.601,272.801 241.801,271.601 "
+        "C241.001,270.401 261.801,278.401 266.601,299.201 "
+        "L268.601,307.601 "
+        "C268.601,307.601 274.601,292.801 273.001,288.801 "
+        "C273.001 288.801 278.201 289.601 278.601 294.001C278.601 294.001 282.601 270.801 277.801 
264.801C277.801 264.801 282.201 264.001 283.401 267.601L283.401 260.401C283.401 260.401 290.601 261.201 
290.601 258.801C290.601 258.801 295.001 254.801 297.001 259.601C297.001 259.601 284.601 224.401 303.001 
243.601C303.001 243.601 310.201 254.401 306.601 235.601C303.001 216.801 299.001 215.201 303.801 
214.801C303.801 214.801 304.601 211.201 302.601 209.601C300.601 208.001 303.801 209.601 303.801 
209.601C303.801 209.601 308.601 213.601 303.401 191.601C303.401 191.601 309.801 193.201 297.801 
164.001C297.801 164.001 300.601 161.601 296.601 153.201C296.601 153.201 304.601 157.601 307.401 
156.001C307.401 156.001 307.001 154.401 303.801 150.401 "
+        "C303.801,150.401 282.201,95.6 302.601,117.601 "
+        "C302.601,117.601 314.451,131.151 308.051,108.351 "
+        "C308.051,108.351 298.94,84.341 299.717,80.045 "
+        "L-129.83,103.065 "
+        "z",
+        "#ffffff",
+        "#000000",
+        1
+      },
+      {
+        "M299.717 80.245C300.345 80.426 302.551 81.55 303.801 83.2C303.801 83.2 310.601 94 305.401 
75.6C305.401 75.6 296.201 46.8 305.001 58C305.001 58 311.001 65.2 307.801 51.6C303.936 35.173 301.401 28.8 
301.401 28.8C301.401 28.8 313.001 33.6 286.201 -6L295.001 -2.4C295.001 -2.4 275.401 -42 253.801 -47.2L245.801 
-53.2C245.801 -53.2 284.201 -91.2 271.401 -128C271.401 -128 264.601 -133.2 255.001 -124C255.001 -124 248.601 
-119.2 242.601 -120.8C242.601 -120.8 211.801 -119.6 209.801 -119.6C207.801 -119.6 173.001 -156.8 107.401 
-139.2C107.401 -139.2 102.201 -137.2 97.801 -138.4C97.801 -138.4 79.4 -154.4 30.6 -131.6C30.6 -131.6 20.6 
-129.6 19 -129.6C17.4 -129.6 14.6 -129.6 6.6 -123.2C-1.4 -116.8 -1.8 -116 -3.8 -114.4C-3.8 -114.4 -20.2 
-103.2 -25 -102.4C-25 -102.4 -36.6 -96 -41 -86L-44.6 -84.8C-44.6 -84.8 -46.2 -77.6 -46.6 -76.4C-46.6 -76.4 
-51.4 -72.8 -52.2 -67.2C-52.2 -67.2 -61 -61.2 -60.6 -56.8C-60.6 -56.8 -62.2 -51.6 -63 -46.8C-63 -46.8 -70.2 
-42 -69.4 -39.2C-69.4 -39.2 -77 -2
 5.2 -75.
 8 -18.4C-75.8 -18.4 -82.2 -18.8 -85 -16.4C-85 -16.4 -85.8 -11.6 -87.4 -11.2C-87.4 -11.2 -90.2 -10 -87.8 
-6C-87.8 -6 -89.4 -3.2 -89.8 -1.6C-89.8 -1.6 -89 1.2 -93.4 6.8C-93.4 6.8 -99.8 25.6 -97.8 30.8C-97.8 30.8 
-97.4 35.6 -100.2 37.2C-100.2 37.2 -103.8 36.8 -95.4 48.8C-95.4 48.8 -94.6 50 -97.8 52.4 "
+        "C-97.8 52.4 -115 56 -117.4 72.4C-117.4 72.4 -131 87.2 -131 92.4C-131 94.705 -130.729 97.852 -130.03 
102.465C-130.03 102.465 -130.6 110.801 -103 111.601C-75.4 112.401 299.717 80.245 299.717 80.245 "
+        "z",
+        "#cc7226",
+        "#000000",
+        1.0
+      },
+      {
+        "M-115.6,102.6 "
+        "C-140.6,63.2 -126.2,119.601 -126.2,119.601 "
+        "C-117.4 154.001 12.2 116.401 12.2 116.401C12.2 116.401 181.001 86 192.201 82C203.401 78 298.601 
84.4 298.601 84.4L293.001 67.6C228.201 21.2 209.001 44.4 195.401 40.4C181.801 36.4 184.201 46 181.001 
46.8C177.801 47.6 138.601 22.8 132.201 23.6C125.801 24.4 100.459 0.649 115.401 32.4C131.401 66.4 57 71.6 40.2 
60.4C23.4 49.2 47.4 78.8 47.4 78.8C65.8 98.8 31.4 82 31.4 82C-3 69.2 -27 94.8 -30.2 95.6C-33.4 96.4 -38.2 
99.6 -39 93.2C-39.8 86.8 -47.31 70.099 -79 96.4C-99 113.001 -112.8 91 -112.8 91 "
+        "L-115.6,102.6 "
+        "z",
+        "#cc7226",
+        "#00000000",
+        1.0
+      },
+      {
+        "M133.51,25.346 "
+        "C127.11,26.146 101.743,2.407 116.71,34.146 "
+        "C133.31,69.346 58.31,73.346 41.51,62.146 "
+        "C24.709 50.946 48.71 80.546 48.71 80.546C67.11 100.546 32.709 83.746 32.709 83.746C-1.691 70.946 
-25.691 96.546 -28.891 97.346C-32.091 98.146 -36.891 101.346 -37.691 94.946C-38.491 88.546 -45.87 72.012 
-77.691 98.146C-98.927 115.492 -112.418 94.037 -112.418 94.037L-115.618 104.146C-140.618 64.346 -125.546 
122.655 -125.546 122.655C-116.745 157.056 13.509 118.146 13.509 118.146C13.509 118.146 182.31 87.746 193.51 
83.746C204.71 79.746 299.038 86.073 299.038 86.073L293.51 68.764C228.71 22.364 210.31 46.146 196.71 
42.146C183.11 38.146 185.51 47.746 182.31 48.546C179.11 49.346 139.91 24.546 133.51 25.346 "
+        "z",
+        "#e87f3a",
+        "#00000000",
+        1.0
+      },
+      {
+        "M134.819,27.091 "
+        "C128.419,27.891 103.685,3.862 118.019,35.891 "
+        "C134.219 72.092 59.619 75.092 42.819 63.892C26.019 52.692 50.019 82.292 50.019 82.292C68.419 
102.292 34.019 85.492 34.019 85.492C-0.381 72.692 -24.382 98.292 -27.582 99.092C-30.782 99.892 -35.582 
103.092 -36.382 96.692C-37.182 90.292 -44.43 73.925 -76.382 99.892C-98.855 117.983 -112.036 97.074 -112.036 
97.074L-115.636 105.692C-139.436 66.692 -124.891 125.71 -124.891 125.71C-116.091 160.11 14.819 119.892 14.819 
119.892C14.819 119.892 183.619 89.492 194.819 85.492C206.019 81.492 299.474 87.746 299.474 87.746L294.02 
69.928C229.219 23.528 211.619 47.891 198.019 43.891C184.419 39.891 186.819 49.491 183.619 50.292C180.419 
51.092 141.219 26.291 134.819 27.091 "
+        "z",
+        "#ea8c4d",
+        "#00000000",
+        1.0
+      },
+      {
+        "M136.128 28.837C129.728 29.637 104.999 5.605 119.328 37.637C136.128 75.193 60.394 76.482 44.128 
65.637C27.328 54.437 51.328 84.037 51.328 84.037C69.728 104.037 35.328 87.237 35.328 87.237C0.928 74.437 
-23.072 100.037 -26.272 100.837C-29.472 101.637 -34.272 104.837 -35.072 98.437C-35.872 92.037 -42.989 75.839 
-75.073 101.637C-98.782 120.474 -111.655 100.11 -111.655 100.11L-115.655 107.237C-137.455 70.437 -124.236 
128.765 -124.236 128.765C-115.436 163.165 16.128 121.637 16.128 121.637C16.128 121.637 184.928 91.237 196.129 
87.237C207.329 83.237 299.911 89.419 299.911 89.419L294.529 71.092C229.729 24.691 212.929 49.637 199.329 
45.637C185.728 41.637 188.128 51.237 184.928 52.037C181.728 52.837 142.528 28.037 136.128 28.837 "
+        "z",
+        "#ec9961",
+        "#00000000",
+        1.0
+      },
+      {
+        "M137.438,30.583 "
+        "C131.037,31.383 106.814,7.129 120.637,39.383 "
+        "C137.438,78.583 62.237,78.583 45.437,67.383 "
+        "C28.637,56.183 52.637,85.783 52.637,85.783 "
+        "C71.037,105.783 36.637,88.983 36.637,88.983 "
+        "C2.237 76.183 -21.763 101.783 -24.963 102.583C-28.163 103.383 -32.963 106.583 -33.763 
100.183C-34.563 93.783 -41.548 77.752 -73.763 103.383C-98.709 122.965 -111.273 103.146 -111.273 
103.146L-115.673 108.783C-135.473 73.982 -123.582 131.819 -123.582 131.819C-114.782 166.22 17.437 123.383 
17.437 123.383C17.437 123.383 186.238 92.983 197.438 88.983C208.638 84.983 300.347 91.092 300.347 
91.092L295.038 72.255C230.238 25.855 214.238 51.383 200.638 47.383C187.038 43.383 189.438 52.983 186.238 
53.783C183.038 54.583 143.838 29.783 137.438 30.583 "
+        "z",
+        "#eea575",
+        "#00000000",
+        1.0
+      },
+      {
+        "M138.747 32.328C132.347 33.128 106.383 9.677 121.947 41.128C141.147 79.928 63.546 80.328 46.746 
69.128C29.946 57.928 53.946 87.528 53.946 87.528C72.346 107.528 37.946 90.728 37.946 90.728C3.546 77.928 
-20.454 103.528 -23.654 104.328C-26.854 105.128 -31.654 108.328 -32.454 101.928C-33.254 95.528 -40.108 79.665 
-72.454 105.128C-98.636 125.456 -110.891 106.183 -110.891 106.183L-115.691 110.328C-133.691 77.128 -122.927 
134.874 -122.927 134.874C-114.127 169.274 18.746 125.128 18.746 125.128C18.746 125.128 187.547 94.728 198.747 
90.728C209.947 86.728 300.783 92.764 300.783 92.764L295.547 73.419C230.747 27.019 215.547 53.128 201.947 
49.128C188.347 45.128 190.747 54.728 187.547 55.528C184.347 56.328 145.147 31.528 138.747 32.328 "
+        "z",
+        "#f1b288",
+        "#00000000",
+        1.0
+      },
+      {
+        "M140.056,34.073 "
+        "C133.655 34.873 107.313 11.613 123.255 42.873C143.656 82.874 64.855 82.074 48.055 70.874C31.255 
59.674 55.255 89.274 55.255 89.274C73.655 109.274 39.255 92.474 39.255 92.474C4.855 79.674 -19.145 105.274 
-22.345 106.074C-25.545 106.874 -30.345 110.074 -31.145 103.674C-31.945 97.274 -38.668 81.578 -71.145 
106.874C-98.564 127.947 -110.509 109.219 -110.509 109.219L-115.709 111.874C-131.709 81.674 -122.273 137.929 
-122.273 137.929C-113.473 172.329 20.055 126.874 20.055 126.874C20.055 126.874 188.856 96.474 200.056 
92.474C211.256 88.474 301.22 94.437 301.22 94.437L296.056 74.583C231.256 28.183 216.856 54.874 203.256 
50.874C189.656 46.873 192.056 56.474 188.856 57.274C185.656 58.074 146.456 33.273 140.056 34.073 "
+        "z",
+        "#f3bf9c",
+        "#00000000",
+        1.0
+      },
+      {
+        "M141.365 35.819C134.965 36.619 107.523 13.944 124.565 44.619C146.565 84.219 66.164 83.819 49.364 
72.619C32.564 61.419 56.564 91.019 56.564 91.019C74.964 111.019 40.564 94.219 40.564 94.219C6.164 81.419 
-17.836 107.019 -21.036 107.819C-24.236 108.619 -29.036 111.819 -29.836 105.419C-30.636 99.019 -37.227 83.492 
-69.836 108.619C-98.491 130.438 -110.127 112.256 -110.127 112.256L-115.727 113.419C-130.128 85.019 -121.618 
140.983 -121.618 140.983C-112.818 175.384 21.364 128.619 21.364 128.619C21.364 128.619 190.165 98.219 201.365 
94.219C212.565 90.219 301.656 96.11 301.656 96.11L296.565 75.746C231.765 29.346 218.165 56.619 204.565 
52.619C190.965 48.619 193.365 58.219 190.165 59.019C186.965 59.819 147.765 35.019 141.365 35.819 "
+        "z",
+        "#f5ccb0",
+        "#00000000",
+        1.0
+      },
+      {
+        "M142.674,37.565 "
+        "C136.274,38.365 108.832,15.689 125.874,46.365 "
+        "C147.874 85.965 67.474 85.565 50.674 74.365C33.874 63.165 57.874 92.765 57.874 92.765C76.274 
112.765 41.874 95.965 41.874 95.965C7.473 83.165 -16.527 108.765 -19.727 109.565C-22.927 110.365 -27.727 
113.565 -28.527 107.165C-29.327 100.765 -35.786 85.405 -68.527 110.365C-98.418 132.929 -109.745 115.293 
-109.745 115.293L-115.745 114.965C-129.346 88.564 -120.963 144.038 -120.963 144.038C-112.163 178.438 22.673 
130.365 22.673 130.365C22.673 130.365 191.474 99.965 202.674 95.965C213.874 91.965 302.093 97.783 302.093 
97.783L297.075 76.91C232.274 30.51 219.474 58.365 205.874 54.365C192.274 50.365 194.674 59.965 191.474 60.765 
"
+        "C188.274,61.565 149.074,36.765 142.674,37.565 "
+        "z",
+        "#f8d8c4",
+        "#00000000",
+        1.0
+      },
+      {
+        "M143.983,39.31 "
+        "C137.583,40.11 110.529,17.223 127.183,48.11 "
+        "C149.183 88.91 68.783 87.31 51.983 76.11C35.183 64.91 59.183 94.51 59.183 94.51C77.583 114.51 
43.183 97.71 43.183 97.71C8.783 84.91 -15.217 110.51 -18.417 111.31C-21.618 112.11 -26.418 115.31 -27.218 
108.91C-28.018 102.51 -34.346 87.318 -67.218 112.11C-98.345 135.42 -109.363 118.329 -109.363 118.329L-115.764 
116.51C-128.764 92.51 -120.309 147.093 -120.309 147.093C-111.509 181.493 23.983 132.11 23.983 132.11C23.983 
132.11 192.783 101.71 203.983 97.71C215.183 93.71 302.529 99.456 302.529 99.456L297.583 78.074C232.783 31.673 
220.783 60.11 207.183 56.11C193.583 52.11 195.983 61.71 192.783 62.51C189.583 63.31 150.383 38.51 143.983 
39.31 "
+        "z",
+        "#fae5d7",
+        "#00000000",
+        1.0
+      },
+      {
+        "M145.292,41.055 "
+        "C138.892,41.855 112.917,18.411 128.492,49.855 "
+        "C149.692 92.656 70.092 89.056 53.292 77.856C36.492 66.656 60.492 96.256 60.492 96.256C78.892 
116.256 44.492 99.456 44.492 99.456C10.092 86.656 -13.908 112.256 -17.108 113.056C-20.308 113.856 -25.108 
117.056 -25.908 110.656C-26.708 104.256 -32.905 89.232 -65.908 113.856C-98.273 137.911 -108.982 121.365 
-108.982 121.365L-115.782 118.056C-128.582 94.856 -119.654 150.147 -119.654 150.147C-110.854 184.547 25.292 
133.856 25.292 133.856C25.292 133.856 194.093 103.456 205.293 99.456C216.493 95.456 302.965 101.128 302.965 
101.128L298.093 79.237C233.292 32.837 222.093 61.856 208.493 57.856C194.893 53.855 197.293 63.456 194.093 
64.256C190.892 65.056 151.692 40.255 145.292 41.055"
+        "z",
+        "#fcf2eb",
+        "#00000000",
+        1.0
+      },
+      {
+        "M-115.8,119.601 "
+        "C-128.6 97.6 -119 153.201 -119 153.201C-110.2 187.601 26.6 135.601 26.6 135.601C26.6 135.601 
195.401 105.2 206.601 101.2C217.801 97.2 303.401 102.8 303.401 102.8L298.601 80.4C233.801 34 223.401 63.6 
209.801 59.6C196.201 55.6 198.601 65.2 195.401 66C192.201 66.8 153.001 42 146.601 42.8C140.201 43.6 114.981 
19.793 129.801 51.6C152.028 99.307 69.041 89.227 54.6 79.6C37.8 68.4 61.8 98 61.8 98C80.2 118.001 45.8 101.2 
45.8 101.2C11.4 88.4 -12.6 114.001 -15.8 114.801C-19 115.601 -23.8 118.801 -24.6 112.401C-25.4 106 -31.465 
91.144 -64.6 115.601C-98.2 140.401 -108.6 124.401 -108.6 124.401L-115.8 119.601 "
+        "z",
+        "#ffffff",
+        "#00000000",
+        1.0
+      },
+      {
+        "M-74.2,149.601 "
+        "C-74.2,149.601 -81.4,161.201 -60.6,174.401 "
+        "C-60.6,174.401 -59.2,175.801 -77.2,171.601 "
+        "C-77.2,171.601 -83.4,169.601 -85,159.201 "
+        "C-85,159.201 -89.8,154.801 -94.6,149.201 "
+        "C-99.4,143.601 -74.2,149.601 -74.2,149.601 "
+        "z",
+        "#000000",
+        "#00000000",
+        1.0
+      },
+      {
+        "M65.8 102C65.8 102 83.498 128.821 82.9 133.601C81.6 144.001 81.4 153.601 84.6 157.601C87.801 
161.601 96.601 194.801 96.601 194.801C96.601 194.801 96.201 196.001 108.601 158.001C108.601 158.001 120.201 
142.001 100.201 123.601C100.201 123.601 65 94.8 65.8 102 "
+        "z",
+        "#cccccc",
+        "#00000000",
+        1.0
+      },
+      {
+        "M-54.2 176.401C-54.2 176.401 -43 183.601 -57.4 214.801L-51 212.401C-51 212.401 -51.8 223.601 -55 
226.001L-47.8 222.801C-47.8 222.801 -43 230.801 -47 235.601C-47 235.601 -30.2 243.601 -31 250.001C-31 250.001 
-24.6 242.001 -28.6 235.601C-32.6 229.201 -39.8 233.201 -39 214.801L-47.8 218.001C-47.8 218.001 -42.2 209.201 
-42.2 202.801L-50.2 205.201C-50.2 205.201 -34.731 178.623 -45.4 177.201C-51.4 176.401 -54.2 176.401 -54.2 
176.401 "
+        "z",
+        "#000000",
+        "#00000000",
+        1.0
+      },
+      {
+        "M-21.8 193.201C-21.8 193.201 -19 188.801 -21.8 189.601C-24.6 190.401 -55.8 205.201 -61.8 
214.801C-61.8 214.801 -27.4 190.401 -21.8 193.201 "
+        "z",
+        "#cccccc",
+        "#00000000",
+        1.0
+      },
+      {
+        "M-11.4 201.201C-11.4 201.201 -8.6 196.801 -11.4 197.601C-14.2 198.401 -45.4 213.201 -51.4 
222.801C-51.4 222.801 -17 198.401 -11.4 201.201 "
+        "z",
+        "#cccccc",
+        "#00000000",
+        1.0
+      },
+      {
+        "M1.8 186.001C1.8 186.001 4.6 181.601 1.8 182.401C-1 183.201 -32.2 198.001 -38.2 207.601C-38.2 
207.601 -3.8 183.201 1.8 186.001 "
+        "z",
+        "#cccccc",
+        "#00000000",
+        1.0
+      },
+      {
+        "M-21.4 229.601C-21.4 229.601 -21.4 223.601 -24.2 224.401C-27 225.201 -63 242.801 -69 252.401C-69 
252.401 -27 226.801 -21.4 229.601 "
+        "z",
+        "#cccccc",
+        "#00000000",
+        1.0
+      },
+      {
+        "M-20.2 218.801C-20.2 218.801 -19 214.001 -21.8 214.801C-23.8 214.801 -50.2 226.401 -56.2 
236.001C-56.2 236.001 -26.6 214.401 -20.2 218.801 "
+        "z",
+        "#cccccc",
+        "#00000000",
+        1.0
+      },
+      {
+        "M-34.6 266.401L-44.6 274.001C-44.6 274.001 -34.2 266.401 -30.6 267.601C-30.6 267.601 -37.4 278.801 
-38.2 284.001C-38.2 284.001 -27.8 271.201 -22.2 271.601C-22.2 271.601 -14.6 272.001 -14.6 282.801C-14.6 
282.801 -9 272.401 -5.8 272.801C-5.8 272.801 -4.6 279.201 -5.8 286.001C-5.8 286.001 -1.8 278.401 2.2 
280.001C2.2 280.001 8.6 278.001 7.8 289.601C7.8 289.601 7.8 300.001 7 302.801C7 302.801 12.6 276.401 15 
276.001C15 276.001 23 274.801 27.8 283.601C27.8 283.601 23.8 276.001 28.6 278.001C28.6 278.001 39.4 279.601 
42.6 286.401C42.6 286.401 35.8 274.401 41.4 277.601C41.4 277.601 48.2 277.601 49.4 284.001C49.4 284.001 57.8 
305.201 59.8 306.801C59.8 306.801 52.2 285.201 53.8 285.201C53.8 285.201 51.8 273.201 57 288.001C57 288.001 
53.8 274.001 59.4 274.801C65 275.601 69.4 285.601 77.8 283.201C77.8 283.201 87.401 288.801 89.401 
219.601L-34.6 266.401 "
+        "z",
+        "#cccccc",
+        "#00000000",
+        1.0
+      },
+      {
+        "M-29.8,173.601 "
+        "C-29.8,173.601 -15,167.601 25,173.601 "
+        "C25,173.601 32.2,174.001 39,165.201 "
+        "C45.8 156.401 72.6 149.201 79 151.201L88.601 157.601L89.401 158.801C89.401 158.801 101.801 169.201 
102.201 176.801C102.601 184.401 87.801 232.401 78.2 248.401C68.6 264.401 59 276.801 39.8 274.401C39.8 274.401 
19 270.401 -6.6 274.401C-6.6 274.401 -35.8 272.801 -38.6 264.801C-41.4 256.801 -27.4 241.601 -27.4 
241.601C-27.4 241.601 -23 233.201 -24.2 218.801C-25.4 204.401 -25 176.401 -29.8 173.601 "
+        "z",
+        "#000000",
+        "#00000000",
+        1.0
+      },
+      {
+        "M-7.8,175.601 "
+        "C0.6,194.001 -29,259.201 -29,259.201 "
+        "C-31 260.801 -16.34 266.846 -6.2 264.401C4.746 261.763 45 266.001 45 266.001C68.6 250.401 81.4 
206.001 81.4 206.001C81.4 206.001 91.801 182.001 74.2 178.801C56.6 175.601 -7.8 175.601 -7.8 175.601 "
+        "z",
+        "#e5668c",
+        "#00000000",
+        1.0
+      },
+      {
+        "M-9.831 206.497C-6.505 193.707 -4.921 181.906 -7.8 175.601C-7.8 175.601 54.6 182.001 65.8 
161.201C70.041 153.326 84.801 184.001 84.4 193.601C84.4 193.601 21.4 208.001 6.6 196.801L-9.831 206.497 "
+        "z",
+        "#b23259",
+        "#00000000",
+        1.0
+      },
+      {
+        "M-5.4 222.801C-5.4 222.801 -3.4 230.001 -5.8 234.001C-5.8 234.001 -7.4 234.801 -8.6 235.201C-8.6 
235.201 -7.4 238.801 -1.4 240.401C-1.4 240.401 0.6 244.801 3 245.201C5.4 245.601 10.2 251.201 14.2 
250.001C18.2 248.801 29.4 244.801 29.4 244.801C29.4 244.801 35 241.601 43.8 245.201C43.8 245.201 46.175 
244.399 46.6 240.401C47.1 235.701 50.2 232.001 52.2 230.001C54.2 228.001 63.8 215.201 62.6 214.801C61.4 
214.401 -5.4 222.801 -5.4 222.801 "
+        "z",
+        "#a5264c",
+        "#00000000",
+        1.0
+      },
+      {
+        "M-9.8 174.401C-9.8 174.401 -12.6 196.801 -9.4 205.201C-6.2 213.601 -7 215.601 -7.8 219.601C-8.6 
223.601 -4.2 233.601 1.4 239.601L13.4 241.201C13.4 241.201 28.6 237.601 37.8 240.401C37.8 240.401 46.794 
241.744 50.2 226.801C50.2 226.801 55 220.401 62.2 217.601C69.4 214.801 76.6 173.201 72.6 165.201C68.6 157.201 
54.2 152.801 38.2 168.401C22.2 184.001 20.2 167.201 -9.8 174.401 "
+        "z",
+        "#ff727f",
+        "#000000",
+        1.0
+      },
+      {
+        "M-8.2 249.201C-8.2 249.201 -9 247.201 -13.4 246.801C-13.4 246.801 -35.8 243.201 -44.2 230.801C-44.2 
230.801 -51 225.201 -46.6 236.801C-46.6 236.801 -36.2 257.201 -29.4 260.001C-29.4 260.001 -13 264.001 -8.2 
249.201 "
+        "z",
+        "#ffffcc",
+        "#000000",
+        0.5
+      },
+      {
+        "M71.742 185.229C72.401 177.323 74.354 168.709 72.6 165.201C66.154 152.307 49.181 157.695 38.2 
168.401C22.2 184.001 20.2 167.201 -9.8 174.401C-9.8 174.401 -11.545 188.364 -10.705 198.376C-10.705 198.376 
26.6 186.801 27.4 192.401C27.4 192.401 29 189.201 38.2 189.201C47.4 189.201 70.142 188.029 71.742 185.229 "
+        "z",
+        "#cc3f4c",
+        "#00000000",
+        1.0
+      },
+      {
+        "M28.6,175.201 "
+        "C28.6,175.201 33.4,180.001 29.8,189.601 "
+        "C29.8,189.601 15.4,205.601 17.4,219.601",
+        "#000000",
+        "#a51926",
+        2.0
+      },
+      {
+        "M-19.4,260.001 "
+        "C-19.4 260.001 -23.8 247.201 -15 254.001C-15 254.001 -10.2 256.001 -11.4 257.601C-12.6 259.201 
-18.2 263.201 -19.4 260.001 "
+        "z",
+        "#ffffcc",
+        "#000000",
+        0.5
+      },
+      {
+        "M-14.36 261.201C-14.36 261.201 -17.88 250.961 -10.84 256.401C-10.84 256.401 -6.419 258.849 -7.96 
259.281C-12.52 260.561 -7.96 263.121 -14.36 261.201 "
+        "z",
+        "#ffffcc",
+        "#000000",
+        0.5
+      },
+      {
+        "M-9.56,261.201 "
+        "C-9.56,261.201 -13.08,250.961 -6.04,256.401 "
+        "C-6.04,256.401 -1.665,258.711 -3.16,259.281 "
+        "C-6.52,260.561 -3.16,263.121 -9.56,261.201 "
+        "z",
+        "#ffffcc",
+        "#000000",
+        0.5
+      },
+      {
+        "M-2.96 261.401C-2.96 261.401 -6.48 251.161 0.56 256.601C0.56 256.601 4.943 258.933 3.441 
259.481C0.48 260.561 3.441 263.321 -2.96 261.401 "
+        "z",
+        "#ffffcc",
+        "#000000",
+        0.5
+      },
+      {
+        "M3.52 261.321C3.52 261.321 0 251.081 7.041 256.521C7.041 256.521 10.881 258.121 9.921 259.401C8.961 
260.681 9.921 263.241 3.52 261.321 "
+        "z",
+        "#ffffcc",
+        "#000000",
+        0.5
+      },
+      {
+        "M10.2 262.001C10.2 262.001 5.4 249.601 14.6 256.001C14.6 256.001 19.4 258.001 18.2 259.601C17 
261.201 18.2 264.401 10.2 262.001 "
+        "z",
+        "#ffffcc",
+        "#000000",
+        0.5
+      },
+      {
+        "M-18.2 244.801C-18.2 244.801 -5 242.001 1 245.201C1 245.201 7 246.401 8.2 246.001C9.4 245.601 12.6 
245.201 12.6 245.201",
+        "#000000",
+        "#a5264c",
+        2.0
+      },
+      {
+        "M15.8 253.601C15.8 253.601 27.8 240.001 39.8 244.401C46.816 246.974 45.8 243.601 46.6 240.801C47.4 
238.001 47.6 233.801 52.6 230.801",
+        "#000000",
+        "#a5264c",
+        2.0
+      },
+      {
+        "M33 237.601C33 237.601 29 226.801 26.2 239.601C23.4 252.401 20.2 256.001 18.6 258.801C18.6 258.801 
18.6 264.001 27 263.601C27 263.601 37.8 263.201 38.2 260.401C38.6 257.601 37 246.001 33 237.601 "
+        "z",
+        "#ffffcc",
+        "#000000",
+        0.5
+      },
+      {
+        "M47,244.801 "
+        "C47,244.801 50.6,242.401 53,243.601",
+        "#000000",
+        "#a5264c",
+        2.0
+      },
+      {
+        "M53.5,228.401 "
+        "C53.5,228.401 56.4,223.501 61.2,222.701",
+        "#000000",
+        "#a5264c",
+        2.0
+      },
+      {
+        "M-25.8 265.201C-25.8 265.201 -7.8 268.401 -3.4 266.801C-3.4 266.801 5.4 266.801 -3 268.801C-3 
268.801 -15.8 268.801 -23.8 267.601C-23.8 267.601 -35.4 262.001 -25.8 265.201 "
+        "z",
+        "#b2b2b2",
+        "#00000000",
+        1.0
+      },
+      {
+        "M-11.8 172.001C-11.8 172.001 5.8 172.001 7.8 172.801C7.8 172.801 15 203.601 11.4 211.201C11.4 
211.201 10.2 214.001 7.4 208.401C7.4 208.401 -11 175.601 -14.2 173.601C-17.4 171.601 -13 172.001 -11.8 
172.001 "
+        "z",
+        "#ffffcc",
+        "#000000",
+        0.5
+      },
+      {
+        "M51.4,85 "
+        "C51.4,85 36.4,68.2 28,65.6 "
+        "C28,65.6 14.6,58.8 -10,66.6",
+        "#000000",
+        "#4c0000",
+        2.0
+      },
+      {
+        "M24.8,64.2 "
+        "C24.8,64.2 -0.4,56.2 -15.8,60.4 "
+        "C-15.8,60.4 -34.2,62.4 -42.6,76.2",
+        "#000000",
+        "#4c0000",
+        2.0
+      },
+      {
+        "M21.2,63 "
+        "C21.2 63 4.2 55.8 -10.6 53.6C-10.6 53.6 -27.2 51 -43.8 58.2C-43.8 58.2 -56 64.2 -61.4 74.4",
+        "#000000",
+        "#4c0000",
+        2.0
+      },
+      {
+        "M22.2,63.4 "
+        "C22.2 63.4 6.8 52.4 5.8 51C5.8 51 -1.2 40 -14.2 39.6C-14.2 39.6 -35.6 40.4 -52.8 48.4",
+        "#000000",
+        "#4c0000",
+        2.0
+      },
+      {
+        "M20.895,54.407 "
+        "C22.437 55.87 49.4 84.8 49.4 84.8C84.6 121.401 56.6 87.2 56.6 87.2C49 82.4 39.8 63.6 39.8 63.6C38.6 
60.8 53.8 70.8 53.8 70.8C57.8 71.6 71.4 90.8 71.4 90.8C64.6 88.4 69.4 95.6 69.4 95.6C72.2 97.6 92.601 113.201 
92.601 113.201C96.201 117.201 100.201 118.801 100.201 118.801C114.201 113.601 107.801 126.801 107.801 
126.801C110.201 133.601 115.801 122.001 115.801 122.001C127.001 105.2 110.601 107.601 110.601 107.601C80.6 
110.401 73.8 94.4 73.8 94.4C71.4 92 80.2 94.4 80.2 94.4C88.601 96.4 73 82 73 82C75.4 82 84.6 88.8 84.6 
88.8C95.001 98 97.001 96 97.001 96C115.001 87.2 125.401 94.8 125.401 94.8C127.401 96.4 121.801 103.2 123.401 
108.401C125.001 113.601 129.801 126.001 129.801 126.001C127.401 127.601 127.801 138.401 127.801 
138.401C144.601 161.601 135.001 159.601 135.001 159.601C119.401 159.201 134.201 166.801 134.201 
166.801C137.401 168.801 146.201 176.001 146.201 176.001C143.401 174.801 141.801 180.001 141.801 
180.001C146.601 184.001 143.801 188.801 143.801 188.801C137.8
 01 190.0
 01 136.601 194.001 136.601 194.001C143.401 202.001 133.401 202.401 133.401 202.401C137.001 206.801 132.201 
218.801 132.201 218.801C127.401 218.801 121.001 224.401 121.001 224.401C123.401 229.201 113.001 234.801 
113.001 234.801C104.601 236.401 107.401 243.201 107.401 243.201C99.401 249.201 97.001 265.201 97.001 
265.201C96.201 275.601 93.801 278.801 99.001 276.801C104.201 274.801 103.401 262.401 103.401 262.401C98.601 
246.801 141.401 230.801 141.401 230.801C145.401 229.201 146.201 224.001 146.201 224.001C148.201 224.401 
157.001 232.001 157.001 232.001C164.601 243.201 165.001 234.001 165.001 234.001C166.201 230.401 164.601 
224.401 164.601 224.401C170.601 202.801 156.601 196.401 156.601 196.401C146.601 162.801 160.601 171.201 
160.601 171.201C163.401 176.801 174.201 182.001 174.201 182.001L177.801 179.601C176.201 174.801 184.601 
168.801 184.601 168.801C187.401 175.201 193.401 167.201 193.401 167.201C197.001 142.801 209.401 157.201 
209.401 157.201C213.401 158.401 214.601 151.601 2
 14.601 1
 51.601C218.201 141.201 214.601 127.601 214.601 127.601C218.201 127.201 227.801 133.201 227.801 
133.201C230.601 129.601 221.401 112.801 225.401 115.201C229.401 117.601 233.801 119.201 233.801 
119.201C234.601 117.201 224.601 104.801 224.601 104.801C220.201 102 215.001 81.6 215.001 81.6C222.201 85.2 
212.201 70 212.201 70C212.201 66.8 218.201 55.6 218.201 55.6C217.401 48.8 218.201 49.2 218.201 49.2C221.001 
50.4 229.001 52 222.201 45.6C215.401 39.2 223.001 34.4 223.001 34.4C227.401 31.6 213.801 32 213.801 
32C208.601 27.6 209.001 23.6 209.001 23.6C217.001 25.6 202.601 11.2 200.201 7.6C197.801 4 207.401 -1.2 
207.401 -1.2C220.601 -4.8 209.001 -8 209.001 -8C189.401 -7.6 200.201 -18.4 200.201 -18.4C206.201 -18 204.601 
-20.4 204.601 -20.4C199.401 -21.6 189.801 -28 189.801 -28C185.801 -31.6 189.401 -30.8 189.401 -30.8C206.201 
-29.6 177.401 -40.8 177.401 -40.8C185.401 -40.8 167.401 -51.2 167.401 -51.2C165.401 -52.8 162.201 -60.4 
162.201 -60.4C156.201 -65.6 151.401 -72.4 151.401 -72.4C151
 .001 -76
 .8 146.201 -81.6 146.201 -81.6C134.601 -95.2 129.001 -94.8 129.001 -94.8C114.201 -98.4 109.001 -97.6 109.001 
-97.6L56.2 -93.2C29.8 -80.4 37.6 -59.4 37.6 -59.4C44 -51 53.2 -54.8 53.2 -54.8C57.8 -61 69.4 -58.8 69.4 
-58.8C89.801 -55.6 87.201 -59.2 87.201 -59.2C84.801 -63.8 68.6 -70 68.4 -70.6C68.2 -71.2 59.4 -74.6 59.4 
-74.6C56.4 -75.8 52 -85 52 -85C48.8 -88.4 64.6 -82.6 64.6 -82.6C63.4 -81.6 70.8 -77.6 70.8 -77.6C88.201 -78.6 
98.801 -67.8 98.801 -67.8C109.601 -51.2 109.801 -59.4 109.801 -59.4C112.601 -68.8 100.801 -90 100.801 
-90C101.201 -92 109.401 -85.4 109.401 -85.4C110.801 -87.4 111.601 -81.6 111.601 -81.6C111.801 -79.2 115.601 
-71.2 115.601 -71.2C118.401 -58.2 122.001 -65.6 122.001 -65.6L126.601 -56.2C128.001 -53.6 122.001 -46 122.001 
-46C121.801 -43.2 122.601 -43.4 117.001 -35.8C111.401 -28.2 114.801 -23.8 114.801 -23.8C113.401 -17.2 122.201 
-17.6 122.201 -17.6C124.801 -15.4 128.201 -15.4 128.201 -15.4C130.001 -13.4 132.401 -14 132.401 -14C134.001 
-17.8 140.201 -15.8 140
 .201 -15
 .8C141.601 -18.2 149.801 -18.6 149.801 -18.6C150.801 -21.2 151.201 -22.8 154.601 -23.4C158.001 -24 133.401 
-67 133.401 -67C139.801 -67.8 131.601 -80.2 131.601 -80.2C129.401 -86.8 140.801 -72.2 143.001 -70.8C145.201 
-69.4 146.201 -67.2 144.601 -67.4C143.001 -67.6 141.201 -65.4 142.601 -65.2C144.001 -65 157.001 -50 160.401 
-39.8C163.801 -29.6 169.801 -25.6 176.001 -19.6C182.201 -13.6 181.401 10.6 181.401 10.6C181.001 19.4 187.001 
30 187.001 30C189.001 33.8 184.801 52 184.801 52C182.801 54.2 184.201 55 184.201 55C185.201 56.2 192.001 69.4 
192.001 69.4C190.201 69.2 193.801 72.8 193.801 72.8C199.001 78.8 192.601 75.8 192.601 75.8C186.601 74.2 
193.601 84 193.601 84C194.801 85.8 185.801 81.2 185.801 81.2C176.601 80.6 188.201 87.8 188.201 87.8C196.801 
95 185.401 90.6 185.401 90.6C180.801 88.8 184.001 95.6 184.001 95.6C187.201 97.2 204.401 104.2 204.401 
104.2C204.801 108.001 201.801 113.001 201.801 113.001C202.201 117.001 200.001 120.401 200.001 120.401C198.801 
128.601 198.201 129.40
 1 198.20
 1 129.401C194.001 129.601 186.601 143.401 186.601 143.401C184.801 146.001 174.601 158.001 174.601 
158.001C172.601 165.001 154.601 157.801 154.601 157.801C148.001 161.201 150.001 157.801 150.001 
157.801C149.601 155.601 154.401 149.601 154.401 149.601C161.401 147.001 158.801 136.201 158.801 
136.201C162.801 134.801 151.601 132.001 151.801 130.801C152.001 129.601 157.801 128.201 157.801 
128.201C165.801 126.201 161.401 123.801 161.401 123.801C160.801 119.801 163.801 114.201 163.801 
114.201C175.401 113.401 163.801 97.2 163.801 97.2C153.001 89.6 152.001 83.8 152.001 83.8C164.601 75.6 156.401 
63.2 156.601 59.6C156.801 56 158.001 34.4 158.001 34.4C156.001 28.2 153.001 14.6 153.001 14.6C155.201 9.4 
162.601 -3.2 162.601 -3.2C165.401 -7.4 174.201 -12.2 172.001 -15.2C169.801 -18.2 162.001 -16.4 162.001 
-16.4C154.201 -17.8 154.801 -12.6 154.801 -12.6C153.201 -11.6 152.401 -6.6 152.401 -6.6C151.68 1.333 142.801 
7.6 142.801 7.6C131.601 13.8 140.801 17.8 140.801 17.8C146.801 24.4 137.001 24.
 6 137.00
 1 24.6C126.001 22.8 134.201 33 134.201 33C145.001 45.8 142.001 48.6 142.001 48.6C131.801 49.6 144.401 58.8 
144.401 58.8C144.401 58.8 143.601 56.8 143.801 58.6C144.001 60.4 147.001 64.6 147.801 66.6C148.601 68.6 
144.601 68.8 144.601 68.8C145.201 78.4 129.801 74.2 129.801 74.2C129.801 74.2 129.801 74.2 128.201 
74.4C126.601 74.6 115.401 73.8 109.601 71.6C103.801 69.4 97.001 69.4 97.001 69.4C97.001 69.4 93.001 71.2 85.4 
71C77.8 70.8 69.8 73.6 69.8 73.6C65.4 73.2 74 68.8 74.2 69C74.4 69.2 80 63.6 72 64.2C50.203 65.835 39.4 55.6 
39.4 55.6C37.4 54.2 34.8 51.4 34.8 51.4C24.8 49.4 36.2 63.8 36.2 63.8C37.4 65.2 36 66.2 36 66.2C35.2 64.6 
27.4 59.2 27.4 59.2C24.589 58.227 23.226 56.893 20.895 54.407 "
+        "z",
+        "#000000",
+        "#00000000",
+        1.0
+      },
+      {
+        "M-3,42.8 "
+        "C-3 42.8 8.6 48.4 11.2 51.2C13.8 54 27.8 65.4 27.8 65.4C27.8 65.4 22.4 63.4 19.8 61.6C17.2 59.8 6.4 
51.6 6.4 51.6C6.4 51.6 2.6 45.6 -3 42.8 "
+        "z",
+        "#4c0000",
+        "#00000000",
+        1.0
+      },
+      {
+        "M-61.009,11.603 "
+        "C-60.672,11.455 -61.196,8.743 -61.4,8.2 "
+        "C-62.422,5.474 -71.4,4 -71.4,4 "
+        "C-71.627 5.365 -71.682 6.961 -71.576 8.599C-71.576 8.599 -66.708 14.118 -61.009 11.603 "
+        "z",
+        "#99cc32",
+        "#00000000",
+        1.0
+      },
+      {
+        "M-61.009 11.403C-61.458 11.561 -61.024 8.669 -61.2 8.2C-62.222 5.474 -71.4 3.9 -71.4 3.9C-71.627 
5.265 -71.682 6.861 -71.576 8.499C-71.576 8.499 -67.308 13.618 -61.009 11.403 "
+        "z",
+        "#659900",
+        "#00000000",
+        1.0
+      },
+      {
+        "M-65.4 11.546C-66.025 11.546 -66.531 10.406 -66.531 9C-66.531 7.595 -66.025 6.455 -65.4 
6.455C-64.775 6.455 -64.268 7.595 -64.268 9C-64.268 10.406 -64.775 11.546 -65.4 11.546 "
+        "z",
+        "#000000",
+        "#00000000",
+        1.0
+      },
+      {
+        "M-65.4,9 "
+        "z",
+        "#000000",
+        "#00000000",
+        1.0
+      },
+      {
+        "M-111,109.601 "
+        "C-111 109.601 -116.6 119.601 -91.8 113.601C-91.8 113.601 -77.8 112.401 -75.4 110.001C-74.2 110.801 
-65.834 113.734 -63 114.401C-56.2 116.001 -47.8 106 -47.8 106C-47.8 106 -43.2 95.5 -40.4 95.5C-37.6 95.5 
-40.8 97.1 -40.8 97.1C-40.8 97.1 -47.4 107.201 -47 108.801C-47 108.801 -52.2 128.801 -68.2 129.601C-68.2 
129.601 -84.35 130.551 -83 136.401C-83 136.401 -74.2 134.001 -71.8 136.401C-71.8 136.401 -61 136.001 -69 
142.401L-75.8 154.001C-75.8 154.001 -75.66 157.919 -85.8 154.401C-95.6 151.001 -105.9 138.101 -105.9 
138.101C-105.9 138.101 -121.85 123.551 -111 109.601 "
+        "z",
+        "#000000",
+        "#00000000",
+        1.0
+      },
+      {
+        "M-112.2,113.601 "
+        "C-112.2 113.601 -114.2 123.201 -77.4 112.801C-77.4 112.801 -73 112.801 -70.6 113.601C-68.2 114.401 
-56.2 117.201 -54.2 116.001C-54.2 116.001 -61.4 129.601 -73 128.001C-73 128.001 -86.2 129.601 -85.8 
134.401C-85.8 134.401 -81.8 141.601 -77 144.001C-77 144.001 -74.2 146.401 -74.6 149.601C-75 152.801 -77.8 
154.401 -79.8 155.201C-81.8 156.001 -85 152.801 -86.6 152.801C-88.2 152.801 -96.6 146.401 -101 141.601C-105.4 
136.801 -113.8 124.801 -113.4 122.001C-113 119.201 -112.2 113.601 -112.2 113.601 "
+        "z",
+        "#e59999",
+        "#00000000",
+        1.0
+      },
+      {
+        "M-109 131.051C-106.4 135.001 -103.2 139.201 -101 141.601C-96.6 146.401 -88.2 152.801 -86.6 
152.801C-85 152.801 -81.8 156.001 -79.8 155.201C-77.8 154.401 -75 152.801 -74.6 149.601C-74.2 146.401 -77 
144.001 -77 144.001C-80.066 142.468 -82.806 138.976 -84.385 136.653C-84.385 136.653 -84.2 139.201 -89.4 
138.401C-94.6 137.601 -99.8 134.801 -101.4 131.601C-103 128.401 -105.4 126.001 -103.8 129.601C-102.2 133.201 
-99.8 136.801 -98.2 137.201C-96.6 137.601 -97 138.801 -99.4 138.401C-101.8 138.001 -104.6 137.601 -109 
132.401 "
+        "z",
+        "#b26565",
+        "#00000000",
+        1.0
+      },
+      {
+        "M-111.6 110.001C-111.6 110.001 -109.8 96.4 -108.6 92.4C-108.6 92.4 -109.4 85.6 -107 81.4C-104.6 
77.2 -102.6 71 -99.6 65.6C-96.6 60.2 -96.4 56.2 -92.4 54.6C-88.4 53 -82.4 44.4 -79.6 43.4C-76.8 42.4 -77 43.2 
-77 43.2C-77 43.2 -70.2 28.4 -56.6 32.4C-56.6 32.4 -72.8 29.6 -57 20.2C-57 20.2 -61.8 21.3 -58.5 14.3C-56.299 
9.632 -56.8 16.4 -67.8 28.2C-67.8 28.2 -72.8 36.8 -78 39.8C-83.2 42.8 -95.2 49.8 -96.4 53.6C-97.6 57.4 -100.8 
63.2 -102.8 64.8C-104.8 66.4 -107.6 70.6 -108 74C-108 74 -109.2 78 -110.6 79.2C-112 80.4 -112.2 83.6 -112.2 
85.6C-112.2 87.6 -114.2 90.4 -114 92.8C-114 92.8 -113.2 111.801 -113.6 113.801L-111.6 110.001 "
+        "z",
+        "#992600",
+        "#00000000",
+        1.0
+      },
+      {
+        "M-120.2,114.601 "
+        "C-120.2 114.601 -122.2 113.201 -126.6 119.201C-126.6 119.201 -119.3 152.201 -119.3 153.601C-119.3 
153.601 -118.2 151.501 -119.5 144.301C-120.8 137.101 -121.7 124.401 -121.7 124.401 "
+        "L-120.2,114.601 "
+        "z",
+        "#ffffff",
+        "#00000000",
+        1.0
+      },
+      {
+        "M-98.6 54C-98.6 54 -116.2 57.2 -115.8 86.4L-116.6 111.201C-116.6 111.201 -117.8 85.6 -119 84C-120.2 
82.4 -116.2 71.2 -119.4 77.2C-119.4 77.2 -133.4 91.2 -125.4 112.401C-125.4 112.401 -123.9 115.701 -126.9 
111.101C-126.9 111.101 -131.5 98.5 -130.4 92.1C-130.4 92.1 -130.2 89.9 -128.3 87.1C-128.3 87.1 -119.7 75.4 
-117 73.1C-117 73.1 -115.2 58.7 -99.8 53.5C-99.8 53.5 -94.1 51.2 -98.6 54 "
+        "z",
+        "#992600",
+        "#00000000",
+        1.0
+      },
+      {
+        "M40.8 -12.2C41.46 -12.554 41.451 -13.524 42.031 -13.697C43.18 -14.041 43.344 -15.108 43.862 
-15.892C44.735 -17.211 44.928 -18.744 45.51 -20.235C45.782 -20.935 45.809 -21.89 45.496 -22.55C44.322 -25.031 
43.62 -27.48 42.178 -29.906C41.91 -30.356 41.648 -31.15 41.447 -31.748C40.984 -33.132 39.727 -34.123 38.867 
-35.443C38.579 -35.884 39.104 -36.809 38.388 -36.893C37.491 -36.998 36.042 -37.578 35.809 -36.552C35.221 
-33.965 36.232 -31.442 37.2 -29C36.418 -28.308 36.752 -27.387 36.904 -26.62C37.614 -23.014 36.416 -19.662 
35.655 -16.188C35.632 -16.084 35.974 -15.886 35.946 -15.824C34.724 -13.138 33.272 -10.693 31.453 
-8.312C30.695 -7.32 29.823 -6.404 29.326 -5.341C28.958 -4.554 28.55 -3.588 28.8 -2.6C25.365 0.18 23.115 4.025 
20.504 7.871C20.042 8.551 20.333 9.76 20.884 10.029C21.697 10.427 22.653 9.403 23.123 8.557C23.512 7.859 
23.865 7.209 24.356 6.566C24.489 6.391 24.31 5.972 24.445 5.851C27.078 3.504 28.747 0.568 31.2 -1.8C33.15 
-2.129 34.687 -3.127 36.435 -4.14C36.743 
 -4.319 3
 7.267 -4.07 37.557 -4.265C39.31 -5.442 39.308 -7.478 39.414 -9.388C39.464 -10.272 39.66 -11.589 40.8 -12.2 "
+        "z",
+        "#000000",
+        "#00000000",
+        1.0
+      },
+      {
+        "M31.959,-16.666 "
+        "C32.083,-16.743 31.928,-17.166 32.037,-17.382 "
+        "C32.199 -17.706 32.602 -17.894 32.764 -18.218C32.873 -18.434 32.71 -18.814 32.846 -18.956C35.179 
-21.403 35.436 -24.427 34.4 -27.4C35.424 -28.02 35.485 -29.282 35.06 -30.129C34.207 -31.829 34.014 -33.755 
33.039 -35.298C32.237 -36.567 30.659 -37.811 29.288 -36.508C28.867 -36.108 28.546 -35.321 28.824 
-34.609C28.888 -34.446 29.173 -34.3 29.146 -34.218C29.039 -33.894 28.493 -33.67 28.487 -33.398C28.457 -31.902 
27.503 -30.391 28.133 -29.062C28.905 -27.433 29.724 -25.576 30.4 -23.8C29.166 -21.684 30.199 -19.235 28.446 
-17.358C28.31 -17.212 28.319 -16.826 28.441 -16.624C28.733 -16.138 29.139 -15.732 29.625 -15.44C29.827 
-15.319 30.175 -15.317 30.375 -15.441C30.953 -15.803 31.351 -16.29 31.959 -16.666 "
+        "z",
+        "#000000",
+        "#00000000",
+        1.0
+      },
+      {
+        "M94.771 -26.977C96.16 -25.185 96.45 -22.39 94.401 -21C94.951 -17.691 98.302 -19.67 100.401 
-20.2C100.292 -20.588 100.519 -20.932 100.802 -20.937C101.859 -20.952 102.539 -21.984 103.601 -21.8C104.035 
-23.357 105.673 -24.059 106.317 -25.439C108.043 -29.134 107.452 -33.407 104.868 -36.653C104.666 -36.907 
104.883 -37.424 104.759 -37.786C104.003 -39.997 101.935 -40.312 100.001 -41C98.824 -44.875 98.163 -48.906 
96.401 -52.6C94.787 -52.85 94.089 -54.589 92.752 -55.309C91.419 -56.028 90.851 -54.449 90.892 -53.403C90.899 
-53.198 91.351 -52.974 91.181 -52.609C91.105 -52.445 90.845 -52.334 90.845 -52.2C90.846 -52.065 91.067 
-51.934 91.201 -51.8C90.283 -50.98 88.86 -50.503 88.565 -49.358C87.611 -45.648 90.184 -42.523 91.852 
-39.322C92.443 -38.187 91.707 -36.916 90.947 -35.708C90.509 -35.013 90.617 -33.886 90.893 -33.03C91.645 
-30.699 93.236 -28.96 94.771 -26.977 "
+        "z",
+        "#000000",
+        "#00000000",
+        1.0
+      },
+      {
+        "M57.611,-8.591 "
+        "C56.124,-6.74 52.712,-4.171 55.629,-2.243 "
+        "C55.823 -2.114 56.193 -2.11 56.366 -2.244C58.387 -3.809 60.39 -4.712 62.826 -5.294C62.95 -5.323 
63.224 -4.856 63.593 -5.017C65.206 -5.72 67.216 -5.662 68.4 -7C72.167 -6.776 75.732 -7.892 79.123 -9.2C80.284 
-9.648 81.554 -10.207 82.755 -10.709C84.131 -11.285 85.335 -12.213 86.447 -13.354C86.58 -13.49 86.934 -13.4 
87.201 -13.4C87.161 -14.263 88.123 -14.39 88.37 -15.012C88.462 -15.244 88.312 -15.64 88.445 -15.742C90.583 
-17.372 91.503 -19.39 90.334 -21.767C90.049 -22.345 89.8 -22.963 89.234 -23.439C88.149 -24.35 87.047 -23.496 
86 -23.8C85.841 -23.172 85.112 -23.344 84.726 -23.146C83.867 -22.707 82.534 -23.292 81.675 -22.854C80.313 
-22.159 79.072 -21.99 77.65 -21.613C77.338 -21.531 76.56 -21.627 76.4 -21C76.266 -21.134 76.118 -21.368 
76.012 -21.346C74.104 -20.95 72.844 -20.736 71.543 -19.044C71.44 -18.911 70.998 -19.09 70.839 -18.955C69.882 
-18.147 69.477 -16.913 68.376 -16.241C68.175 -16.118 67.823 -16.286 67.629 -16.157C66.983 -15.726 66.616 
-15.085 65.974 -14.638C65.
 645 -14.
 409 65.245 -14.734 65.277 -14.99C65.522 -16.937 66.175 -18.724 65.6 -20.6C67.677 -23.12 70.194 -25.069 72 
-27.8C72.015 -29.966 72.707 -32.112 72.594 -34.189C72.584 -34.382 72.296 -35.115 72.17 -35.462C71.858 -36.316 
72.764 -37.382 71.92 -38.106C70.516 -39.309 69.224 -38.433 68.4 -37C66.562 -36.61 64.496 -35.917 62.918 
-37.151C61.911 -37.938 61.333 -38.844 60.534 -39.9C59.549 -41.202 59.884 -42.638 59.954 -44.202C59.96 -44.33 
59.645 -44.466 59.645 -44.6C59.646 -44.735 59.866 -44.866 60 -45C59.294 -45.626 59.019 -46.684 58 -47C58.305 
-48.092 57.629 -48.976 56.758 -49.278C54.763 -49.969 53.086 -48.057 51.194 -47.984C50.68 -47.965 50.213 
-49.003 49.564 -49.328C49.132 -49.544 48.428 -49.577 48.066 -49.311C47.378 -48.807 46.789 -48.693 46.031 
-48.488C44.414 -48.052 43.136 -46.958 41.656 -46.103C40.171 -45.246 39.216 -43.809 38.136 -42.489C37.195 
-41.337 37.059 -38.923 38.479 -38.423C40.322 -37.773 41.626 -40.476 43.592 -40.15C43.904 -40.099 44.11 
-39.788 44 -39.4C44.389 -39.291 44
 .607 -39
 .52 44.8 -39.8C45.658 -38.781 46.822 -38.444 47.76 -37.571C48.73 -36.667 50.476 -37.085 51.491 -36.088C53.02 
-34.586 52.461 -31.905 54.4 -30.6C53.814 -29.287 53.207 -28.01 52.872 -26.583C52.59 -25.377 53.584 -24.18 
54.795 -24.271C56.053 -24.365 56.315 -25.124 56.8 -26.2C57.067 -25.933 57.536 -25.636 57.495 -25.42C57.038 
-23.033 56.011 -21.04 55.553 -18.609C55.494 -18.292 55.189 -18.09 54.8 -18.2C54.332 -14.051 50.28 -11.657 
47.735 -8.492C47.332 -7.99 47.328 -6.741 47.737 -6.338C49.14 -4.951 51.1 -6.497 52.8 -7C53.013 -8.206 53.872 
-9.148 55.204 -9.092C55.46 -9.082 55.695 -9.624 56.019 -9.754C56.367 -9.892 56.869 -9.668 57.155 
-9.866C58.884 -11.061 60.292 -12.167 62.03 -13.356C62.222 -13.487 62.566 -13.328 62.782 -13.436C63.107 
-13.598 63.294 -13.985 63.617 -14.17C63.965 -14.37 64.207 -14.08 64.4 -13.8C63.754 -13.451 63.75 -12.494 
63.168 -12.292C62.393 -12.024 61.832 -11.511 61.158 -11.064C60.866 -10.871 60.207 -11.119 60.103 
-10.94C59.505 -9.912 58.321 -9.474 57.611 -8.591 "
+        "z",
+        "#000000",
+        "#00000000",
+        1.0
+      },
+      {
+        "M2.2 -58C2.2 -58 -7.038 -60.872 -18.2 -35.2C-18.2 -35.2 -20.6 -30 -23 -28C-25.4 -26 -36.6 -22.4 
-38.6 -18.4L-49 -2.4C-49 -2.4 -34.2 -18.4 -31 -20.8C-31 -20.8 -23 -29.2 -26.2 -22.4C-26.2 -22.4 -40.2 -11.6 
-39 -2.4C-39 -2.4 -44.6 12 -45.4 14C-45.4 14 -29.4 -18 -27 -19.2C-24.6 -20.4 -23.4 -20.4 -24.6 -16.8C-25.8 
-13.2 -26.2 3.2 -29 5.2C-29 5.2 -21 -15.2 -21.8 -18.4C-21.8 -18.4 -18.6 -22 -16.2 -16.8L-17.4 -0.8L-13 
11.2C-13 11.2 -15.4 0 -13.8 -15.6C-13.8 -15.6 -15.8 -26 -11.8 -20.4C-7.8 -14.8 1.8 -8.8 1.8 -4C1.8 -4 -3.4 
-21.6 -12.6 -26.4L-16.6 -20.4L-17.8 -22.4C-17.8 -22.4 -21.4 -23.2 -17 -30C-12.6 -36.8 -13 -37.6 -13 -37.6C-13 
-37.6 -6.6 -30.4 -5 -30.4C-5 -30.4 8.2 -38 9.4 -13.6C9.4 -13.6 16.2 -28 7 -34.8C7 -34.8 -7.8 -36.8 -6.6 
-42L0.6 -54.4C4.2 -59.6 2.6 -56.8 2.6 -56.8 "
+        "z",
+        "#000000",
+        "#00000000",
+        1.0
+      },
+      {
+        "M-17.8 -41.6C-17.8 -41.6 -30.6 -41.6 -33.8 -36.4L-41 -26.8C-41 -26.8 -23.8 -36.8 -19.8 -38C-15.8 
-39.2 -17.8 -41.6 -17.8 -41.6 "
+        "z",
+        "#000000",
+        "#00000000",
+        1.0
+      },
+      {
+        "M-57.8 -35.2C-57.8 -35.2 -59.8 -34 -60.2 -31.2C-60.6 -28.4 -63 -28 -62.2 -25.2C-61.4 -22.4 -59.4 
-20 -59.4 -24C-59.4 -28 -57.8 -30 -57 -31.2C-56.2 -32.4 -54.6 -36.8 -57.8 -35.2 "
+        "z",
+        "#000000",
+        "#00000000",
+        1.0
+      },
+      {
+        "M-66.6 26C-66.6 26 -75 22 -78.2 18.4C-81.4 14.8 -80.948 19.966 -85.8 19.6C-91.647 19.159 -90.6 3.2 
-90.6 3.2L-94.6 10.8C-94.6 10.8 -95.8 25.2 -87.8 22.8C-83.893 21.628 -82.6 23.2 -84.2 24C-85.8 24.8 -78.6 
25.2 -81.4 26.8C-84.2 28.4 -69.8 23.2 -72.2 33.6L-66.6 26 "
+        "z",
+        "#000000",
+        "#00000000",
+        1.0
+      },
+      {
+        "M-79.2,40.4 "
+        "C-79.2 40.4 -94.6 44.8 -98.2 35.2C-98.2 35.2 -103 37.6 -100.8 40.6C-98.6 43.6 -97.4 44 -97.4 
44C-97.4 44 -92 45.2 -92.6 46C-93.2 46.8 -95.6 50.2 -95.6 50.2C-95.6 50.2 -85.4 44.2 -79.2 40.4 "
+        "z",
+        "#000000",
+        "#00000000",
+        1.0
+      },
+      {
+        "M149.201 118.601C148.774 120.735 147.103 121.536 145.201 122.201C143.284 121.243 140.686 118.137 
138.801 120.201C138.327 119.721 137.548 119.661 137.204 118.999C136.739 118.101 137.011 117.055 136.669 
116.257C136.124 114.985 135.415 113.619 135.601 112.201C137.407 111.489 138.002 109.583 137.528 
107.82C137.459 107.563 137.03 107.366 137.23 107.017C137.416 106.694 137.734 106.467 138.001 106.2C137.866 
106.335 137.721 106.568 137.61 106.548C137 106.442 137.124 105.805 137.254 105.418C137.839 103.672 139.853 
103.408 141.201 104.6C141.457 104.035 141.966 104.229 142.401 104.2C142.351 103.621 142.759 103.094 142.957 
102.674C143.475 101.576 145.104 102.682 145.901 102.07C146.977 101.245 148.04 100.546 149.118 101.149C150.927 
102.162 152.636 103.374 153.835 105.115C154.41 105.949 154.65 107.23 154.592 108.188C154.554 108.835 153.173 
108.483 152.83 109.412C152.185 111.16 154.016 111.679 154.772 113.017C154.97 113.366 154.706 113.67 154.391 
113.768C153.98 113.896 153.196 113
 .707 153
 .334 114.16C154.306 117.353 151.55 118.031 149.201 118.601 "
+        "z",
+        "#ffffff",
+        "#00000000",
+        1.0
+      },
+      {
+        "M139.6 138.201C139.593 136.463 137.992 134.707 139.201 133.001C139.336 133.135 139.467 133.356 
139.601 133.356C139.736 133.356 139.867 133.135 140.001 133.001C141.496 135.217 145.148 136.145 145.006 
138.991C144.984 139.438 143.897 140.356 144.801 141.001C142.988 142.349 142.933 144.719 142.001 
146.601C140.763 146.315 139.551 145.952 138.401 145.401C138.753 143.915 138.636 142.231 139.456 
140.911C139.89 140.213 139.603 139.134 139.6 138.201 "
+        "z",
+        "#ffffff",
+        "#00000000",
+        1.0
+      },
+      {
+        "M-26.6 129.201C-26.6 129.201 -43.458 139.337 -29.4 124.001C-20.6 114.401 -10.6 108.801 -10.6 
108.801C-10.6 108.801 -0.2 104.4 3.4 103.2C7 102 22.2 96.8 25.4 96.4C28.6 96 38.2 92 45 96C51.8 100 59.8 
104.4 59.8 104.4C59.8 104.4 43.4 96 39.8 98.4C36.2 100.8 29 100.4 23 103.6C23 103.6 8.2 108.001 5 110.001C1.8 
112.001 -8.6 123.601 -10.2 122.801C-11.8 122.001 -9.8 121.601 -8.6 118.801C-7.4 116.001 -9.4 114.401 -17.4 
120.801C-25.4 127.201 -26.6 129.201 -26.6 129.201 "
+        "z",
+        "#cccccc",
+        "#00000000",
+        1.0
+      },
+      {
+        "M-19.195 123.234C-19.195 123.234 -17.785 110.194 -9.307 111.859C-9.307 111.859 -1.081 107.689 1.641 
105.721C1.641 105.721 9.78 104.019 11.09 103.402C29.569 94.702 44.288 99.221 44.835 98.101C45.381 96.982 
65.006 104.099 68.615 108.185C69.006 108.628 58.384 102.588 48.686 100.697C40.413 99.083 18.811 100.944 7.905 
106.48C4.932 107.989 -4.013 113.773 -6.544 113.662C-9.075 113.55 -19.195 123.234 -19.195 123.234 "
+        "z",
+        "#000000",
+        "#00000000",
+        1.0
+      },
+      {
+        "M276 265C276 265 255 250 251.5 242.5C251.5 242.5 278 272 278 276.5C278 276.5 278.5 267.5 276 265 "
+        "z",
+        "#cccccc",
+        "#00000000",
+        1.0
+      },
+      {
+        "M293,111 "
+        "C293,111 281,103 279.5,105 "
+        "C279.5,105 290,111.5 292.5,120 "
+        "C292.5,120 291,111 293,111 "
+        "z",
+        "#cccccc",
+        "#00000000",
+        1.0
+      },
+      {
+        "M301.5,191.5 "
+        "L284,179.5 "
+        "C284,179.5 303,196.5 303.5,200.5 "
+        "L301.5,191.5 "
+        "z",
+        "#cccccc",
+        "#00000000",
+        1.0
+      },
+      {
+        "M-89.25,169 "
+        "L-67.25,173.75",
+        "#000000",
+        "#000000",
+        1.0
+      },
+      {
+        "M-39,331 "
+        "C-39,331 -39.5,327.5 -48.5,338",
+        "#000000",
+        "#000000",
+        1.0
+      },
+      {
+        "M-33.5,336 "
+        "C-33.5,336 -31.5,329.5 -38,334",
+        "#000000",
+        "#000000",
+        1.0
+      },
+      {
+        "M20.5,344.5 "
+        "C20.5,344.5 22,333.5 10.5,346.5",
+        "#000000",
+        "#000000",
+        1.0
+      }
+    };
+  guint i;
+
+  {
+    g_autoptr (GError) error = NULL;
+    g_autoptr (GFileIOStream) iostream = NULL;
+
+    fixture->destination = g_file_new_tmp (PACKAGE_TARNAME "-destination-XXXXXX.png", &iostream, &error);
+    g_assert_no_error (error);
+  }
+
+  {
+    g_autoptr (GError) error = NULL;
+    g_autoptr (GFileIOStream) iostream = NULL;
+
+    fixture->source = g_file_new_tmp (PACKAGE_TARNAME "-source-XXXXXX.png", &iostream, &error);
+    g_assert_no_error (error);
+  }
+
   fixture->context = g_main_context_new ();
   g_main_context_push_thread_default (fixture->context);
   fixture->loop = g_main_loop_new (fixture->context, FALSE);
+
+  graph = gegl_node_new ();
+
+  checkerboard_color1 = gegl_color_new ("rgb(0.25, 0.25, 0.25)");
+  checkerboard_color2 = gegl_color_new ("rgb(0.75, 0.75, 0.75)");
+  checkerboard = gegl_node_new_child (graph,
+                                      "operation", "gegl:checkerboard",
+                                      "color1", checkerboard_color1,
+                                      "color2", checkerboard_color2,
+                                      "x", 5,
+                                      "y", 5,
+                                      NULL);
+
+  crop = gegl_node_new_child (graph,
+                              "operation", "gegl:crop",
+                              "height", 2000.0,
+                              "width", 640.0,
+                              NULL);
+
+  gegl_node_link (checkerboard, crop);
+  tail = crop;
+
+  for (i = 0; i < G_N_ELEMENTS (paths); i++)
+    {
+      GeglColor *fill = NULL; /* TODO: use g_autoptr */
+      GeglColor *stroke = NULL; /* TODO: use g_autoptr */
+      GeglNode *over;
+      GeglNode *path;
+      GeglPath *d = NULL; /* TODO: use g_autoptr */
+
+      over = gegl_node_new_child (graph, "operation", "svg:src-over", NULL);
+
+      d = gegl_path_new_from_string (paths[i].d);
+      fill = gegl_color_new (paths[i].fill);
+      stroke = gegl_color_new (paths[i].stroke);
+      path = gegl_node_new_child (graph,
+                                  "operation", "gegl:path",
+                                  "d", d,
+                                  "fill", fill,
+                                  "stroke", stroke,
+                                  "stroke-hardness", 1.0,
+                                  "stroke-width", paths[i].stroke_width,
+                                  NULL);
+
+      gegl_node_connect_to (path, "output", over, "aux");
+      gegl_node_link (tail, over);
+      tail = over;
+
+      g_object_unref (d);
+      g_object_unref (fill);
+      g_object_unref (stroke);
+    }
+
+  format = babl_format ("R'G'B'A u8");
+  convert_format = gegl_node_new_child (graph, "operation", "gegl:convert-format", "format", format, NULL);
+
+  buffer_sink = gegl_node_new_child (graph, "operation", "gegl:buffer-sink", "buffer", &buffer, NULL);
+
+  gegl_node_link_many (tail, convert_format, buffer_sink, NULL);
+  gegl_node_process (buffer_sink);
+
+  fixture->buffer = g_object_ref (buffer);
+  photos_test_gegl_buffer_save_to_file (fixture->buffer, fixture->source);
+
+  fixture->format = gegl_buffer_get_format (fixture->buffer);
+  g_assert_true (fixture->format == format);
+
+  g_object_unref (checkerboard_color1);
+  g_object_unref (checkerboard_color2);
 }
 
 
@@ -68,9 +1008,18 @@ static void
 photos_test_gegl_buffer_teardown (PhotosTestGeglBufferFixture *fixture, gconstpointer user_data)
 {
   g_clear_object (&fixture->res);
+
+  g_file_delete (fixture->destination, NULL, NULL);
+  g_object_unref (fixture->destination);
+
+  g_file_delete (fixture->source, NULL, NULL);
+  g_object_unref (fixture->source);
+
   g_main_context_pop_thread_default (fixture->context);
   g_main_context_unref (fixture->context);
   g_main_loop_unref (fixture->loop);
+
+  g_object_unref (fixture->buffer);
 }
 
 
@@ -154,6 +1103,13 @@ photos_test_gegl_buffer_loader_builder_defaults (void)
 }
 
 
+static void
+photos_test_gegl_buffer_new_from_file_0 (PhotosTestGeglBufferFixture *fixture, gconstpointer user_data)
+{
+  g_assert_not_reached ();
+}
+
+
 gint
 main (gint argc, gchar *argv[])
 {
@@ -169,6 +1125,13 @@ main (gint argc, gchar *argv[])
   g_test_add_func ("/gegl/buffer/loader-builder", photos_test_gegl_buffer_loader_builder);
   g_test_add_func ("/gegl/buffer/loader-builder-defaults", photos_test_gegl_buffer_loader_builder_defaults);
 
+  g_test_add ("/gegl/buffer/new/from-file-0",
+              PhotosTestGeglBufferFixture,
+              NULL,
+              photos_test_gegl_buffer_setup,
+              photos_test_gegl_buffer_new_from_file_0,
+              photos_test_gegl_buffer_teardown);
+
   exit_status = g_test_run ();
 
   gegl_exit ();


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]