eletrotupi / tcc/ commit / fd8a808

api: more animejs on the landing page

Pedro Lucas Porcellis porcellis@eletrotupi.com 27 days ago fd8a808b244040668f52e9ba67529ac2185ca277
Parents: 34e25ff
4 file(s) changed
  • api/src/static/images/logo.svg +0 -0
  • api/src/static/index.html +27 -8
  • api/src/static/js/app.js +205 -6
  • api/src/static/styles/main.css +4 -0
api/src/static/images/logo.svg
@@ -0,0 +1,1 @@
1 + <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="800" zoomAndPan="magnify" viewBox="0 0 600 599.999999" height="800" preserveAspectRatio="xMidYMid meet" version="1.0"><defs><clipPath id="22326935d4"><path d="M 2 14.457031 L 598 14.457031 L 598 585.207031 L 2 585.207031 Z M 2 14.457031 " clip-rule="nonzero"/></clipPath></defs><g clip-path="url(#22326935d4)"><path fill="#13ec5b" d="M 316.347656 578.421875 C 315.378906 577.570312 313.964844 576.476562 312.867188 574.546875 C 312.097656 573.195312 310.929688 571.765625 310.128906 569.984375 C 309.453125 568.488281 310 566.34375 309.320312 564.597656 C 308.707031 563.03125 307.230469 561.710938 306.625 559.984375 C 306.058594 558.371094 306.492188 556.375 305.9375 554.652344 C 305.410156 553.007812 304.03125 551.589844 303.523438 549.871094 C 303.03125 548.199219 302.589844 546.484375 302.121094 544.765625 C 301.664062 543.070312 302.035156 541.152344 301.605469 539.433594 C 301.179688 537.71875 300.914062 535.984375 300.523438 534.265625 C 300.128906 532.527344 298.542969 531.070312 298.191406 529.351562 C 297.835938 527.597656 296.707031 525.992188 296.402344 524.28125 C 296.085938 522.5 297.292969 520.5 297.042969 518.792969 C 296.777344 516.988281 295.78125 515.339844 295.597656 513.652344 C 295.398438 511.816406 295.363281 510.035156 295.269531 508.371094 C 295.167969 506.511719 294.355469 504.660156 293.984375 502.722656 C 293.605469 500.738281 292.828125 498.988281 292.257812 497.257812 C 291.53125 495.050781 291.976562 492.621094 291.113281 491.453125 C 289.664062 489.496094 289.214844 488.6875 289.292969 488.242188 C 289.386719 487.714844 289.789062 488.453125 292.195312 489.800781 C 294.832031 491.273438 295.382812 491.6875 295.179688 491.066406 C 295.03125 490.613281 294.359375 489.828125 292.738281 488.082031 C 291.335938 486.570312 290.25 484.546875 289.488281 482.839844 C 288.542969 480.722656 288.074219 478.351562 288.148438 476.78125 C 288.261719 474.40625 289.605469 474.175781 292.191406 475.769531 C 293.96875 476.871094 295.332031 474.882812 294.378906 472.359375 C 293.980469 471.296875 292.789062 470.179688 291.914062 468.570312 C 291.132812 467.128906 291.097656 464.925781 290.382812 462.722656 C 289.804688 460.933594 288.207031 459.253906 287.734375 457.210938 C 287.28125 455.269531 288.007812 453.050781 287.699219 451.074219 C 287.378906 449.007812 286.21875 447.089844 286.105469 445.199219 C 286.011719 443.660156 287.28125 441.886719 287.121094 440.179688 C 286.96875 438.578125 286.179688 436.972656 285.980469 435.324219 C 285.78125 433.667969 285.949219 431.949219 285.714844 430.359375 C 285.464844 428.644531 284.136719 427.160156 283.863281 425.644531 C 283.53125 423.800781 284.171875 421.921875 283.835938 420.59375 C 283.320312 418.542969 281.871094 417.203125 281.476562 416 C 280.550781 413.179688 279.285156 411.785156 277.808594 413.171875 C 277.011719 413.921875 276.277344 415.675781 274.9375 417.511719 C 273.535156 419.429688 272.101562 420.796875 270.335938 421.664062 C 268.222656 422.703125 266.367188 422.894531 264.410156 422.140625 C 261.105469 420.875 258.882812 421.964844 260.03125 423.820312 C 260.808594 425.078125 260.632812 426.46875 260.503906 428.1875 C 260.390625 429.710938 259.796875 430.972656 259.152344 432.457031 C 258.496094 433.976562 258.4375 435.703125 257.410156 436.777344 C 256.175781 438.0625 254.8125 438.367188 253.34375 438.367188 C 252.503906 438.367188 250.578125 439.757812 248.289062 441.496094 C 246.976562 442.492188 245.03125 443.207031 243.429688 444.585938 C 242.082031 445.75 241.625 448.125 240.160156 449.476562 C 238.800781 450.722656 236.738281 451.316406 235.347656 452.660156 C 233.988281 453.976562 232.613281 455.320312 231.28125 456.664062 C 229.914062 458.042969 228.582031 459.441406 227.3125 460.785156 C 225.945312 462.234375 224.414062 463.464844 223.234375 464.796875 C 221.835938 466.378906 221.773438 468.828125 220.765625 470.128906 C 219 472.398438 216.636719 473.671875 216.636719 474.503906 C 216.636719 475.941406 215.527344 477.25 213.925781 479.078125 C 212.632812 480.5625 211.8125 482.714844 210.261719 483.789062 C 207.964844 485.378906 205.578125 486.179688 204.640625 485.246094 C 203.414062 484.015625 201.746094 486.257812 200.277344 490.164062 C 199.605469 491.957031 198.125 493.53125 196.957031 495.199219 C 195.800781 496.847656 194.625 498.535156 193.222656 499.867188 C 191.652344 501.359375 190.210938 503.050781 188.648438 503.886719 C 186.410156 505.085938 183.886719 505.183594 182.511719 504.332031 C 180.941406 503.363281 179.625 505.457031 179.625 509.328125 C 179.625 510.804688 179.957031 513.074219 178.695312 514.851562 C 177.773438 516.144531 175.707031 516.882812 174.222656 518.230469 C 172.980469 519.351562 171.429688 520.28125 169.851562 521.378906 C 168.441406 522.363281 167.15625 523.722656 165.511719 524.648438 C 163.613281 525.714844 161.816406 526.421875 160.308594 527.183594 C 158.277344 528.214844 156.859375 529.84375 155.351562 530.355469 C 153.121094 531.113281 151.058594 530.527344 149.414062 530.230469 C 147.703125 529.921875 145.441406 529.972656 143.617188 528.636719 C 141.945312 527.414062 141.507812 525.207031 140.710938 523.886719 C 139.820312 522.398438 140.554688 520.894531 140.679688 518.945312 C 140.773438 517.441406 139.210938 515.417969 139.859375 513.453125 C 140.390625 511.839844 141.839844 510.273438 142.328125 508.359375 C 142.792969 506.523438 144.03125 504.785156 144.378906 503.019531 C 144.792969 500.910156 143.273438 498.703125 143.402344 497.222656 C 143.558594 495.433594 143.90625 493.207031 144.660156 491.71875 C 145.597656 489.859375 148.214844 489.828125 149.542969 489.386719 C 151.933594 488.589844 153.054688 485.191406 151.832031 483.214844 C 151.257812 482.28125 151.617188 480.6875 152.664062 478.085938 C 153.296875 476.515625 153.875 474.648438 154.957031 472.804688 C 155.886719 471.214844 156.445312 469.210938 157.632812 467.589844 C 158.601562 466.273438 160.78125 465.632812 161.824219 464.109375 C 162.796875 462.691406 163.300781 460.867188 164.273438 459.371094 C 165.242188 457.882812 166.90625 456.804688 167.816406 455.332031 C 168.789062 453.761719 169.1875 451.886719 170.019531 450.449219 C 171.011719 448.738281 170.738281 446.550781 171.414062 445.222656 C 172.015625 444.035156 172.820312 442.09375 174.21875 440.105469 C 175.191406 438.71875 178.15625 438.503906 179.441406 436.824219 C 180.519531 435.410156 180.441406 432.933594 181.699219 431.359375 C 182.84375 429.929688 184.6875 428.957031 185.953125 427.433594 C 187.144531 425.996094 188.410156 424.5625 189.679688 423.074219 C 190.90625 421.636719 191.058594 419.226562 192.332031 417.769531 C 193.589844 416.339844 195.417969 415.382812 196.707031 413.953125 C 197.992188 412.523438 198.90625 410.746094 200.203125 409.347656 C 201.453125 408 202.621094 406.667969 203.78125 405.414062 C 205.035156 404.0625 206.644531 403.136719 207.800781 401.890625 C 209.0625 400.527344 210.101562 399.078125 211.25 397.835938 C 212.515625 396.464844 214.453125 395.847656 215.585938 394.617188 C 216.859375 393.234375 218.039062 391.929688 219.152344 390.710938 C 220.441406 389.304688 221.53125 387.910156 222.625 386.703125 C 223.9375 385.257812 225.167969 384 226.21875 382.820312 C 227.582031 381.289062 228.066406 379.386719 229.035156 378.242188 C 230.515625 376.5 231.773438 375.359375 232.507812 374.308594 C 234.597656 371.335938 234.574219 370.507812 233.601562 369.535156 C 232.398438 368.332031 233.082031 368.484375 235.488281 368.484375 C 237.875 368.484375 238.382812 366.433594 238.929688 365.203125 C 239.511719 363.894531 240.679688 362.082031 239.574219 360.382812 C 238.75 359.113281 236.265625 359.246094 234.703125 358.265625 C 233.363281 357.421875 232.476562 355.253906 230.710938 354.914062 C 229.023438 354.59375 227.433594 355.121094 226.246094 355.152344 C 223.847656 355.210938 222.714844 355.832031 223.488281 357.078125 C 224.257812 358.320312 222.472656 357.871094 219.5 358.019531 C 218.035156 358.089844 216.25 360.039062 214.292969 359.898438 C 212.667969 359.78125 211.054688 358.1875 209.261719 357.945312 C 207.5625 357.71875 205.789062 357.78125 204.074219 357.460938 C 202.324219 357.132812 200.605469 356.789062 198.976562 356.378906 C 197.15625 355.921875 195.527344 355.269531 194.042969 354.734375 C 192.023438 354.011719 190.03125 353.851562 189.054688 353.039062 C 186.859375 351.21875 185.71875 350.683594 184.476562 352.136719 C 183.664062 353.085938 183.402344 354.855469 182.707031 357.398438 C 181.964844 360.101562 181.136719 361.933594 180.5 362.796875 C 179.46875 364.199219 177.429688 363.449219 175.523438 360.542969 C 173.492188 357.449219 172.03125 355.980469 171.996094 357.78125 C 171.964844 359.582031 169.417969 359.324219 166.273438 356.714844 C 164.988281 355.644531 163.632812 355.273438 162.34375 354.808594 C 160.484375 354.140625 158.660156 352.875 157.8125 353.726562 C 156.371094 355.164062 158.011719 358.492188 161.019531 360.351562 C 163.734375 362.03125 164.5625 362.902344 162.996094 363.171875 C 162.136719 363.320312 160.664062 361.9375 158.417969 361.769531 C 156.277344 361.605469 154.957031 361.816406 153.84375 361.234375 C 152.367188 360.457031 151.257812 359.84375 151.21875 357.726562 C 151.195312 356.425781 152.207031 354.9375 152.59375 352.921875 C 153.285156 349.335938 152.191406 347.070312 152.183594 346.296875 C 152.171875 345.171875 152.605469 347.152344 150.636719 351.589844 C 149.972656 353.09375 148.660156 354.605469 147.414062 356.042969 C 146.242188 357.390625 144.257812 357.910156 142.835938 358.953125 C 141.277344 360.105469 140.09375 361.703125 138.5625 362.191406 C 136.574219 362.820312 135.035156 363.519531 133.761719 363.785156 C 131.570312 364.25 130.546875 363.382812 129.476562 362.078125 C 128.726562 361.164062 128.59375 359.714844 127.863281 357.574219 C 127.414062 356.257812 126.0625 354.976562 125.488281 353.105469 C 124.929688 351.296875 123.632812 349.949219 123.5 348.839844 C 123.199219 346.371094 124.371094 346.347656 126.121094 347.429688 C 128.261719 348.753906 132.089844 347.5625 133.40625 345.433594 C 134.722656 343.300781 136.683594 342.5625 138.605469 343.75 C 140.527344 344.9375 142.683594 343.789062 142.683594 341.601562 C 142.683594 340.230469 140.285156 338.769531 137.148438 338.054688 C 135.289062 337.628906 133.003906 336.488281 130.609375 336.488281 C 128.09375 336.488281 126.035156 337.011719 124.515625 337.214844 C 121.675781 337.59375 120.6875 339.1875 120.375 341.179688 C 120.160156 342.566406 119.769531 344.539062 120.273438 347.183594 C 120.636719 349.066406 121.992188 350.757812 121.910156 352.292969 C 121.804688 354.335938 120.214844 355.804688 119.527344 357.042969 C 118.511719 358.867188 117.160156 360.425781 115.484375 359.894531 C 114.273438 359.507812 112.824219 358.085938 111.59375 356.140625 C 109.671875 353.113281 108.527344 352.523438 108.492188 355.015625 C 108.476562 356.363281 108.023438 358.8125 106.199219 360.066406 C 104.863281 360.984375 102.695312 361.417969 100.882812 361.890625 C 98.769531 362.445312 97.171875 361.328125 96.140625 361.183594 C 94.433594 360.945312 94.566406 360.683594 95.460938 358.359375 C 96.507812 355.625 95.4375 353.195312 92.972656 353.59375 C 91.777344 353.789062 90.101562 355.023438 87.828125 355.886719 C 85.910156 356.617188 84.128906 356.484375 82.207031 356.382812 C 80.140625 356.269531 77.921875 357 76.234375 356.171875 C 74.277344 355.207031 72.703125 353.554688 71.84375 351.996094 C 70.886719 350.265625 70.578125 347.917969 71.777344 345.976562 C 72.3125 345.105469 71.421875 344.464844 68.894531 343.75 C 67.652344 343.398438 65.984375 344.023438 64.238281 343.78125 C 62.828125 343.582031 61.449219 341.785156 59.796875 341.6875 C 57.5 341.554688 55.382812 341.417969 53.59375 341.507812 C 51.152344 341.632812 49.46875 343.515625 47.894531 344.089844 C 45.628906 344.914062 44.125 345.570312 43.421875 347.398438 C 42.4375 349.96875 42.46875 351.28125 44.097656 351.84375 C 45.183594 352.222656 46.949219 352.683594 49.425781 352.332031 C 52.027344 351.96875 54.558594 350.71875 56.121094 351.492188 C 57.9375 352.390625 57.480469 355.324219 57.972656 357.808594 C 58.585938 360.882812 59.960938 362.867188 58.808594 363.105469 C 57.964844 363.28125 55.796875 363.160156 53.164062 361.894531 C 51.847656 361.265625 51.253906 358.46875 49.359375 357.488281 C 47.835938 356.703125 45.738281 357.105469 44.300781 356.433594 C 42.644531 355.660156 41.359375 354.328125 40.003906 353.785156 C 37.625 352.832031 35.679688 352.773438 35.085938 352.878906 C 33.859375 353.089844 32.605469 351.546875 31.402344 350.339844 C 30.199219 349.136719 30.449219 349.941406 32.859375 349.941406 C 35.230469 349.941406 36.019531 347.796875 36.570312 346.574219 C 37.15625 345.265625 36.507812 344.335938 35.417969 342.636719 C 34.601562 341.367188 34.199219 339.664062 32.648438 338.683594 C 31.316406 337.835938 29.613281 338.070312 27.851562 337.730469 C 26.125 337.402344 24.707031 336.125 23.347656 336.066406 C 20.722656 335.953125 19.351562 336.390625 19.445312 337.207031 C 19.53125 337.964844 18.285156 340.226562 18.207031 343.035156 C 18.152344 344.828125 18.976562 346.875 18.871094 348.886719 C 18.738281 351.335938 18.480469 353.042969 18.183594 354.089844 C 17.601562 356.128906 16.027344 356.003906 14.269531 353.222656 C 13.46875 351.953125 14.476562 349.886719 14.117188 348.589844 C 13.628906 346.824219 12.039062 345.144531 12.578125 344.277344 C 13.507812 342.773438 13.210938 340.714844 11.105469 339.417969 C 9.007812 338.125 6.929688 338.972656 6.929688 341.160156 C 6.929688 343.347656 5.675781 345.175781 3.789062 345.175781 C 2.535156 345.175781 2.023438 343.234375 2.230469 340.3125 C 2.34375 338.730469 2.226562 336.734375 2.789062 334.699219 C 3.25 333.027344 4.867188 331.972656 5.550781 330.679688 C 6.390625 329.089844 6.507812 327.183594 7.589844 326.273438 C 8.9375 325.136719 10.738281 324.324219 12.273438 324.453125 C 15.664062 324.734375 17.207031 324.480469 16.234375 322.90625 C 15.777344 322.171875 18.238281 321.277344 21.359375 320.140625 C 22.933594 319.566406 24.894531 319.398438 26.9375 318.832031 C 28.714844 318.339844 30.59375 317.96875 32.515625 317.53125 C 34.414062 317.101562 35.941406 314.75 37.789062 314.421875 C 39.824219 314.0625 41.863281 313.871094 43.601562 313.695312 C 46.035156 313.441406 48.179688 314.199219 49.453125 314.449219 C 51.003906 314.753906 52.9375 313.394531 52.9375 311.289062 C 52.9375 309.976562 53.785156 308.632812 56.195312 308.382812 C 57.640625 308.230469 59.617188 307.769531 61.488281 308.109375 C 63.515625 308.476562 65.394531 309.40625 67.21875 309.367188 C 69.886719 309.308594 71.308594 308.3125 72.128906 307.492188 C 72.945312 306.671875 76.15625 307.304688 79.058594 306.714844 C 81.042969 306.3125 83.1875 305.890625 85.421875 305.773438 C 87.28125 305.671875 88.960938 304.625 90.457031 304.484375 C 93.390625 304.203125 96.253906 304.222656 96.253906 303.972656 C 96.253906 303.59375 98.785156 302.71875 102.914062 301.964844 C 104.203125 301.730469 105.921875 300.972656 108 300.570312 C 109.582031 300.261719 111.578125 301.195312 113.390625 300.832031 C 115.082031 300.496094 116.453125 298.253906 118.179688 297.902344 C 119.953125 297.542969 121.996094 298.621094 123.636719 298.28125 C 125.199219 297.957031 126.699219 296.027344 128.609375 295.714844 C 130.296875 295.441406 132.195312 295.761719 134.015625 295.511719 C 135.777344 295.273438 137.585938 295.074219 139.355469 294.875 C 141.179688 294.664062 142.976562 294.296875 144.679688 294.148438 C 146.605469 293.980469 148.527344 295.75 150.117188 295.675781 C 152.148438 295.585938 154.0625 293.257812 156.070312 293.003906 C 158.238281 292.730469 160.21875 292.335938 162.042969 291.941406 C 164.660156 291.371094 166.542969 291.011719 167.621094 290.34375 C 169.007812 289.488281 171.636719 289.644531 173.796875 290.191406 C 175.578125 290.636719 176.875 292.492188 178.414062 293.738281 C 182.074219 296.707031 184.394531 296.164062 182.828125 293.554688 C 181.554688 291.429688 181.378906 289.027344 183.445312 287.941406 C 184.851562 287.199219 187.316406 286.871094 189.65625 286.753906 C 191.46875 286.660156 193.464844 288.003906 195.574219 288.347656 C 197.449219 288.648438 199.785156 287.839844 201.726562 288.527344 C 203.636719 289.203125 205 289.652344 206.285156 289.753906 C 208.648438 289.941406 209.101562 290.019531 209.101562 288.316406 C 209.101562 286.953125 211.085938 286.066406 212.980469 285.816406 C 214.214844 285.652344 215.589844 286.273438 217.21875 286.699219 C 218.707031 287.089844 220.21875 287.433594 221.390625 287.460938 C 223.460938 287.507812 223.949219 286.347656 223.949219 285.371094 C 223.949219 283.84375 227.390625 282.445312 230.488281 282.445312 C 232.492188 282.445312 234.820312 283.582031 235.914062 285.855469 C 236.679688 287.453125 235.359375 289.914062 235.488281 292.347656 C 235.65625 295.507812 237.089844 297.425781 237.269531 298.339844 C 237.578125 299.882812 238.96875 298.519531 239.847656 293.976562 C 240.132812 292.519531 239.085938 290.484375 238.746094 288.527344 C 238.464844 286.917969 237.082031 285.492188 236.492188 283.753906 C 235.9375 282.121094 236.988281 279.765625 236.242188 278.183594 C 235.472656 276.546875 232.871094 275.933594 231.992188 274.523438 C 230.960938 272.867188 230.03125 271.566406 228.984375 270.484375 C 227.289062 268.738281 226.402344 267.390625 225.191406 268.136719 C 224.273438 268.703125 223.175781 266.945312 221.253906 265.125 C 220.117188 264.046875 217.390625 263.964844 216.289062 262.347656 C 215.277344 260.863281 215.636719 257.867188 214.175781 256.128906 C 212.855469 254.558594 210.054688 254.171875 208.636719 252.695312 C 207.050781 251.042969 206.183594 248.828125 204.824219 247.683594 C 203.476562 246.550781 201.214844 245.835938 199.578125 244.269531 C 198.109375 242.863281 196.328125 241.585938 194.914062 240.121094 C 193.339844 238.492188 192.363281 236.417969 191.21875 235.070312 C 190.078125 233.722656 188.914062 231.898438 187.351562 230.261719 C 185.949219 228.796875 184.882812 226.839844 183.421875 225.425781 C 181.792969 223.847656 180.28125 222.257812 178.945312 221.109375 C 177.71875 220.058594 175.070312 220.285156 173.730469 219.023438 C 172.429688 217.800781 171.886719 215.722656 170.707031 214.53125 C 169.269531 213.074219 168.359375 211.425781 167.484375 210.390625 C 166.804688 209.578125 164.910156 208.992188 163.503906 207.425781 C 162.535156 206.351562 161.617188 204.976562 160.421875 203.667969 C 159.382812 202.535156 158.5 201.128906 157.355469 199.890625 C 156.273438 198.722656 154.542969 198.09375 153.417969 196.890625 C 152.300781 195.695312 151.957031 193.773438 150.851562 192.605469 C 149.578125 191.253906 148.613281 189.65625 147.457031 188.28125 C 146.230469 186.820312 143.902344 186.28125 142.878906 184.886719 C 141.679688 183.261719 141.355469 181.175781 140.53125 179.796875 C 139.222656 177.605469 137.9375 175.769531 137.9375 174.730469 C 137.9375 173.179688 137.027344 171.460938 135.460938 169.402344 C 134.226562 167.773438 132.785156 166.304688 131.058594 165.058594 C 129.957031 164.257812 129.574219 161.808594 128.027344 160 C 126.914062 158.703125 125.246094 157.617188 124.019531 155.957031 C 122.941406 154.5 122.597656 152.433594 121.503906 150.796875 C 120.464844 149.234375 118.121094 148.460938 117.121094 146.8125 C 116.125 145.167969 116.203125 142.914062 115.304688 141.261719 C 114.101562 139.042969 113.273438 139.496094 112.066406 137.277344 C 110.859375 135.058594 111.207031 134.871094 110 132.652344 C 108.789062 130.425781 109.011719 130.304688 107.800781 128.078125 C 106.589844 125.855469 103.796875 126.1875 104.289062 123.703125 C 104.828125 120.984375 107.054688 122 109.082031 120.109375 C 111.109375 118.222656 111.621094 118.769531 113.648438 116.878906 C 115.328125 115.3125 115.929688 112.824219 117.375 111.742188 C 119.425781 110.207031 121.894531 110.445312 123.351562 109.925781 C 126.003906 108.980469 128.441406 109.046875 128.441406 111.6875 C 128.441406 112.726562 129.363281 114.472656 132.699219 115.253906 C 134.570312 115.691406 136.949219 115.328125 139.328125 115.507812 C 140.875 115.628906 142.691406 115.042969 144.324219 115.394531 C 145.914062 115.734375 147.429688 116.722656 148.949219 117.230469 C 150.566406 117.769531 151.539062 119.648438 152.90625 120.316406 C 154.578125 121.132812 156.265625 121.289062 157.257812 122.191406 C 158.726562 123.519531 160.925781 124.039062 162.609375 124.996094 C 164.769531 126.21875 166.570312 126.96875 167.929688 126.96875 C 170.347656 126.96875 172.625 129.179688 172.625 131.246094 C 172.625 132.46875 173.773438 132.796875 175.550781 133.484375 C 176.773438 133.957031 177.996094 135.925781 179.636719 135.925781 C 180.933594 135.925781 182.765625 135.125 184.683594 135.890625 C 186.125 136.460938 186.988281 138.542969 188.574219 139.4375 C 190.007812 140.25 191.550781 140.847656 192.964844 141.851562 C 194.363281 142.839844 195.464844 144.050781 196.714844 145.160156 C 197.894531 146.203125 200.097656 146.148438 201.285156 147.203125 C 202.507812 148.285156 202.929688 150.238281 204.074219 151.253906 C 205.367188 152.402344 207.582031 152.347656 208.648438 153.296875 C 210.222656 154.695312 211.640625 155.632812 212.363281 156.277344 C 213.757812 157.523438 215.332031 158.894531 216.722656 160.378906 C 218.058594 161.800781 217.972656 164.539062 219.210938 166.058594 C 220.492188 167.628906 223.035156 168.207031 224.121094 169.746094 C 225.359375 171.5 225.796875 173.660156 226.648438 175.1875 C 227.9375 177.496094 229.6875 179.480469 229.6875 180.695312 C 229.6875 183.078125 229.96875 184.410156 231.175781 183.199219 C 232.082031 182.292969 233.222656 183.421875 235.679688 184.9375 C 237.148438 185.84375 240.074219 185.300781 241.683594 186.691406 C 243.136719 187.949219 243.21875 190.792969 244.546875 192.226562 C 245.960938 193.75 247.511719 194.988281 248.523438 196.46875 C 249.921875 198.515625 250.285156 200.175781 250.285156 201.5625 C 250.285156 204.410156 253.394531 206.632812 255.460938 205.359375 C 257.523438 204.082031 258.253906 204.84375 258.253906 208.199219 C 258.253906 210.882812 259.855469 211.671875 262.304688 212.285156 C 263.871094 212.675781 265.761719 212.894531 268.585938 212.558594 C 270.519531 212.328125 271.976562 212.066406 273.265625 211.636719 C 274.976562 211.066406 276.914062 211.089844 277.796875 209.652344 C 278.488281 208.523438 279.25 206.867188 279.632812 204.886719 C 279.894531 203.527344 280.34375 201.886719 280.53125 200.011719 C 280.675781 198.5625 280.695312 196.910156 280.824219 195.105469 C 280.953125 193.308594 279.847656 191.46875 279.972656 189.761719 C 280.101562 187.964844 281.21875 186.285156 281.339844 184.578125 C 281.472656 182.777344 280.707031 180.964844 280.832031 179.261719 C 280.964844 177.460938 280.15625 175.640625 280.285156 173.945312 C 280.421875 172.140625 282.65625 170.558594 282.789062 168.871094 C 282.929688 167.0625 283.035156 165.316406 283.167969 163.632812 C 283.3125 161.816406 283.332031 160.0625 283.472656 158.390625 C 283.621094 156.558594 283.199219 154.761719 283.34375 153.089844 C 283.503906 151.257812 284.171875 149.5625 284.324219 147.910156 C 284.492188 146.0625 284.964844 144.359375 285.125 142.71875 C 285.3125 140.859375 284.125 138.988281 284.304688 137.371094 C 284.511719 135.488281 284.871094 133.773438 285.074219 132.175781 C 285.3125 130.269531 286.34375 128.671875 286.582031 127.105469 C 286.878906 125.1875 287.582031 123.605469 287.886719 122.074219 C 288.191406 120.546875 287.476562 118.421875 287.839844 116.261719 C 288.136719 114.523438 288.546875 112.640625 288.855469 110.660156 C 289.140625 108.832031 288.808594 106.84375 289.085938 104.933594 C 289.363281 103.042969 289.789062 101.167969 290.039062 99.316406 C 290.308594 97.355469 290.480469 95.445312 290.699219 93.664062 C 290.929688 91.785156 291.625 89.929688 291.972656 88.066406 C 292.328125 86.140625 292.921875 84.300781 293.359375 82.53125 C 293.859375 80.519531 294.515625 78.710938 295.070312 77.101562 C 295.875 74.746094 295.902344 72.398438 296.671875 71.449219 C 297.527344 70.394531 299.660156 69.464844 300.445312 67.496094 C 301.066406 65.941406 301.917969 64.171875 302.375 62.390625 C 302.828125 60.628906 301.164062 58.460938 301.355469 56.777344 C 301.570312 54.882812 303.699219 53.398438 303.882812 51.859375 C 304.121094 49.886719 302.695312 47.976562 302.902344 46.527344 C 303.226562 44.273438 303.71875 42.582031 304.039062 41.40625 C 304.847656 38.417969 306.761719 37.898438 308.488281 38.964844 C 310.210938 40.027344 310.742188 38.046875 310.742188 33.667969 C 310.742188 31.15625 310.910156 28.820312 311.804688 27.667969 C 312.867188 26.296875 315.109375 27.363281 317.570312 27.769531 C 319.308594 28.054688 321.367188 25.867188 323.34375 25.5625 C 325.476562 25.230469 327.527344 25.527344 328.875 24.683594 C 330.394531 23.730469 332.203125 23.382812 333.449219 23.976562 C 334.574219 24.519531 334.875 26.265625 335.527344 27.964844 C 336.761719 31.179688 338.769531 31.9375 340.191406 31.058594 C 341.136719 30.476562 341.921875 33.550781 342.714844 36.8125 C 343.109375 38.441406 345.382812 40.097656 345.59375 42.28125 C 345.753906 43.910156 345.496094 45.765625 345.691406 47.652344 C 345.871094 49.398438 345.316406 51.285156 345.507812 53.066406 C 345.703125 54.910156 345.4375 56.777344 345.625 58.460938 C 345.847656 60.472656 347.402344 62.144531 347.578125 63.613281 C 347.792969 65.390625 347.660156 67.609375 347.871094 69.898438 C 348.058594 71.953125 346.886719 74.214844 347.039062 76.273438 C 347.207031 78.570312 349.4375 80.628906 349.519531 82.414062 C 349.636719 84.996094 348.296875 86.9375 348.597656 87.980469 C 349.164062 89.953125 350.707031 89.265625 352.605469 86.324219 C 354.109375 83.996094 354.789062 83.351562 355.324219 83.402344 C 355.898438 83.453125 356.21875 84.257812 356.246094 87.15625 C 356.277344 90.765625 354.917969 94.402344 353.363281 94.402344 C 352.96875 94.402344 353.6875 95.75 353.359375 99.214844 C 353.210938 100.777344 350.910156 102.484375 350.78125 104.640625 C 350.675781 106.335938 352.070312 108.289062 351.976562 110.3125 C 351.898438 112.066406 351.097656 113.90625 351.03125 115.882812 C 350.96875 117.667969 352.402344 119.578125 352.347656 121.527344 C 352.300781 123.328125 350.132812 125.144531 350.089844 127.070312 C 350.050781 128.886719 351.375 130.78125 351.347656 132.699219 C 351.316406 134.53125 350.800781 136.398438 350.777344 138.308594 C 350.757812 140.148438 350.183594 142.019531 350.167969 143.929688 C 350.15625 145.773438 350.6875 147.652344 350.683594 149.550781 C 350.675781 151.40625 351.777344 153.285156 351.777344 155.183594 C 351.777344 157.042969 350.445312 158.921875 350.453125 160.820312 C 350.457031 162.644531 350.808594 164.417969 350.816406 166.148438 C 350.824219 167.976562 351.394531 169.753906 351.40625 171.480469 C 351.417969 173.320312 351.628906 175.097656 351.644531 176.824219 C 351.65625 178.671875 351.832031 180.449219 351.847656 182.171875 C 351.867188 184.023438 349.855469 185.828125 349.878906 187.542969 C 349.90625 189.398438 351.519531 191.152344 351.554688 192.855469 C 351.585938 194.71875 351.613281 196.484375 351.65625 198.175781 C 351.703125 200.054688 352.15625 201.808594 352.214844 203.488281 C 352.28125 205.378906 351.753906 207.167969 351.832031 208.824219 C 351.925781 210.742188 351.792969 212.519531 351.910156 214.148438 C 352.046875 216.109375 352.613281 217.828125 352.789062 219.417969 C 353.011719 221.433594 353.421875 223.101562 353.710938 224.613281 C 354.109375 226.703125 352.871094 228.917969 353.421875 230.28125 C 354.199219 232.214844 356.089844 233.25 357.226562 234.386719 C 359.191406 236.351562 360.335938 238.027344 361.277344 238.664062 C 363.105469 239.90625 363.757812 238.15625 363.757812 234.484375 C 363.757812 231.121094 364.835938 229.582031 366.503906 230.613281 C 367.410156 231.171875 369.085938 229.3125 371.441406 227.65625 C 372.8125 226.691406 375.511719 226.902344 377.070312 225.496094 C 378.433594 224.265625 378.921875 221.933594 380.273438 220.527344 C 381.617188 219.125 382.863281 217.652344 384.050781 216.222656 C 385.371094 214.628906 386.390625 213 387.328125 211.5625 C 388.710938 209.441406 390.640625 207.859375 390.640625 206.632812 C 390.640625 204.382812 391.65625 203.132812 393.71875 203.132812 C 394.304688 203.132812 395.519531 201.09375 397.800781 199.285156 C 398.972656 198.355469 401.300781 198.363281 402.820312 197.042969 C 404.046875 195.980469 404.8125 194.15625 406.222656 192.878906 C 407.460938 191.757812 408.667969 190.457031 410.023438 189.191406 C 411.265625 188.027344 413.230469 187.519531 414.554688 186.257812 C 415.796875 185.070312 415.785156 182.511719 417.078125 181.25 C 418.320312 180.035156 421.050781 180.273438 422.328125 179 C 423.566406 177.765625 423.359375 175.054688 424.621094 173.777344 C 425.875 172.507812 428.441406 172.574219 429.671875 171.351562 C 430.941406 170.085938 431.699219 168.351562 432.933594 167.144531 C 434.222656 165.878906 435.84375 165.023438 437.078125 163.835938 C 438.390625 162.578125 438.96875 160.632812 440.203125 159.476562 C 441.546875 158.210938 443.175781 157.371094 444.40625 156.246094 C 445.800781 154.96875 446.160156 152.710938 447.371094 151.648438 C 448.886719 150.316406 451.5625 150.722656 452.726562 149.785156 C 454.980469 147.964844 455.953125 146.757812 456.492188 146.757812 C 457.375 146.757812 458.652344 144.832031 460.664062 143.347656 C 461.898438 142.429688 463.472656 141.621094 464.871094 140.34375 C 466.109375 139.21875 468.359375 138.9375 469.582031 137.640625 C 470.707031 136.4375 470.601562 133.742188 471.992188 132.6875 C 473.359375 131.644531 475.683594 131.96875 477.152344 131.144531 C 478.71875 130.269531 479.808594 128.4375 481.320312 127.898438 C 483.144531 127.25 485.078125 126.867188 486.527344 126.867188 C 488.257812 126.867188 490.03125 128.277344 491.203125 127.957031 C 493.371094 127.363281 494.140625 125.339844 493.402344 124.144531 C 492.519531 122.71875 493.511719 121.496094 495.820312 120.425781 C 497.078125 119.84375 498.632812 118.902344 500.625 118.472656 C 502.140625 118.148438 504 118.878906 505.863281 118.660156 C 507.472656 118.472656 509.101562 117.277344 510.921875 117.179688 C 512.574219 117.09375 514.324219 117.703125 516.121094 117.703125 C 517.796875 117.699219 519.515625 117.699219 521.289062 117.773438 C 523.144531 117.855469 524.757812 118.03125 526.191406 118.246094 C 528.183594 118.546875 529.984375 118.339844 531.15625 118.894531 C 533.105469 119.816406 534.515625 121.625 534.179688 123.242188 C 533.609375 125.976562 533.925781 126.953125 535.894531 125.738281 C 537.867188 124.515625 539.925781 125.753906 541.222656 127.851562 C 542.519531 129.949219 540.882812 132.429688 536.753906 132.429688 C 534.867188 132.429688 533.058594 132.09375 531.324219 132.761719 C 529.257812 133.558594 527.6875 134.480469 526.886719 135.773438 C 525.226562 138.457031 525.492188 138.8125 528.175781 137.15625 C 531.296875 135.226562 533.386719 135.617188 533.375 137.183594 C 533.367188 138.339844 532.878906 140.773438 531.515625 142.90625 C 530.625 144.300781 528.675781 145.347656 527.3125 146.886719 C 526.132812 148.210938 524.203125 148.910156 522.726562 150.195312 C 521.339844 151.402344 520.800781 153.429688 519.664062 154.648438 C 518.34375 156.066406 516.328125 156.757812 515.425781 158.027344 C 514.054688 159.953125 512.960938 161.882812 512.777344 162.960938 C 512.511719 164.539062 514.882812 165.621094 517.917969 163.742188 C 519.984375 162.46875 522.464844 163.457031 522.464844 166.671875 C 522.464844 168.175781 520.234375 169.109375 519.472656 170.148438 C 518.605469 171.335938 517.949219 172.144531 516.5625 172.144531 C 515.066406 172.144531 512.5625 173.203125 510.839844 175.117188 C 509.558594 176.542969 509.445312 179.097656 508.578125 181.046875 C 507.867188 182.640625 506.324219 184.160156 504.875 185.671875 C 503.554688 187.042969 501.976562 188.316406 500.351562 189.367188 C 498.632812 190.480469 496.613281 190.707031 494.882812 191.179688 C 489.722656 192.589844 487.429688 193.710938 489.492188 193.949219 C 491.558594 194.1875 490.300781 196.324219 487.203125 198.355469 C 484.632812 200.042969 484.445312 201.539062 484.515625 202.65625 C 484.582031 203.710938 484.746094 205.351562 487.179688 207.128906 C 489.503906 208.824219 491.105469 209.308594 491.035156 209.621094 C 490.964844 209.949219 489.214844 210.261719 486.367188 209.34375 C 484.484375 208.738281 483.402344 208.496094 482.308594 208.886719 C 480.941406 209.375 479.425781 210.070312 479.425781 212.042969 C 479.425781 213.601562 480.089844 215.910156 478.941406 216.914062 C 477.855469 217.863281 475.605469 217.207031 473.992188 217.207031 C 470.605469 217.207031 467.773438 220.0625 468.816406 222.785156 C 469.394531 224.289062 469.027344 225.90625 468.105469 228.4375 C 467.386719 230.398438 467.996094 233.316406 466.628906 235.082031 C 465.457031 236.597656 463.257812 236.777344 462.542969 237.640625 C 460.664062 239.898438 461.726562 240.554688 462.183594 238.0625 C 462.371094 237.023438 462.019531 235.4375 462.46875 233.53125 C 463.566406 228.882812 462.574219 225.660156 460.703125 226.816406 C 459.710938 227.429688 459.527344 229.199219 458.902344 230.632812 C 458.351562 231.902344 456.457031 233.125 456.457031 234.472656 C 456.457031 236.03125 456.832031 238.09375 455.457031 239.851562 C 454.300781 241.335938 452.617188 242.59375 450.964844 243.558594 C 447.351562 245.660156 445.6875 247.738281 447.304688 247.800781 C 448.203125 247.835938 446.53125 248.363281 444.578125 250.824219 C 443.710938 251.917969 443.578125 253.957031 442.289062 255.335938 C 441.246094 256.457031 440.589844 258.183594 439.324219 259.421875 C 438.058594 260.65625 437.007812 261.90625 435.964844 263.027344 C 434.675781 264.40625 433.351562 265.402344 432.484375 266.496094 C 430.527344 268.957031 429.308594 269.433594 430.203125 269.472656 C 431.824219 269.535156 430.453125 273.617188 426.449219 276.644531 C 424.894531 277.820312 423.589844 278.546875 422.722656 279.28125 C 420.609375 281.078125 419.890625 282.019531 422.070312 282.417969 C 423.09375 282.601562 424.679688 282.90625 426.6875 283.070312 C 428.34375 283.199219 430.695312 281.320312 433.058594 281.554688 C 435.042969 281.753906 437.070312 282.949219 439.144531 283.179688 C 441.335938 283.421875 443.332031 284.78125 445.179688 285.011719 C 446.628906 285.191406 448.710938 283.734375 450.886719 283.941406 C 452.582031 284.101562 454.300781 285.964844 456.261719 286.128906 C 458.046875 286.277344 459.96875 285.746094 461.851562 285.882812 C 463.699219 286.019531 465.566406 286.21875 467.394531 286.335938 C 469.300781 286.460938 471.164062 286.789062 472.933594 286.886719 C 474.542969 286.972656 476.269531 286.027344 477.898438 286.230469 C 479.535156 286.433594 481.289062 286.171875 482.867188 286.46875 C 484.53125 286.785156 485.71875 288.988281 487.222656 289.386719 C 488.9375 289.84375 490.414062 290.3125 491.789062 290.839844 C 493.65625 291.558594 495.992188 290.824219 496.925781 291.601562 C 498.925781 293.261719 499.511719 295.695312 500.433594 296.007812 C 501.917969 296.507812 503.113281 294.390625 503.113281 291.183594 C 503.113281 287.835938 504.328125 285.015625 506.511719 285.015625 C 508.699219 285.015625 509.136719 286.265625 508.039062 288.042969 C 507.304688 289.230469 509.089844 291.382812 511.789062 291.601562 C 513.125 291.707031 514.824219 290.304688 516.679688 290.097656 C 518.472656 289.894531 520.28125 291.253906 521.964844 291.203125 C 523.785156 291.148438 525.550781 289.179688 527.210938 289.292969 C 529.054688 289.417969 530.570312 291.269531 532.171875 291.585938 C 534.027344 291.953125 535.921875 291.503906 537.390625 292.105469 C 539.214844 292.855469 540.015625 294.558594 541.113281 295.628906 C 542.46875 296.949219 544.3125 297.839844 544.328125 299.570312 C 544.367188 303.859375 544.730469 304.316406 546.730469 301.171875 C 547.648438 299.726562 549.207031 298.9375 550.882812 298.300781 C 552.414062 297.722656 554.097656 297.042969 555.890625 297.074219 C 557.59375 297.109375 559.527344 297.046875 561.160156 297.582031 C 562.851562 298.132812 563.988281 299.828125 565.277344 300.867188 C 566.664062 301.988281 568.082031 303.046875 568.597656 304.671875 C 569.082031 306.191406 569.445312 307.691406 570.253906 308.546875 C 571.421875 309.78125 573.359375 310.550781 574.511719 309.839844 C 576.460938 308.636719 576.140625 305.53125 574.753906 303.289062 C 573.292969 300.925781 574.90625 299.21875 577.3125 300.703125 C 578.292969 301.3125 577.78125 303.804688 578.300781 305.769531 C 578.664062 307.140625 578.929688 308.570312 579.003906 310.285156 C 579.070312 311.816406 580.78125 313.523438 580.574219 315.136719 C 580.320312 317.148438 579.527344 318.921875 579.699219 320.714844 C 579.898438 322.757812 580.183594 324.628906 580.90625 326.265625 C 581.722656 328.117188 582.664062 329.863281 584.097656 331.027344 C 587.449219 333.742188 588.523438 334.230469 587.105469 331.863281 C 586.253906 330.445312 586.59375 327.972656 587.820312 326.769531 C 588.707031 325.898438 590.480469 325.054688 592.222656 324.601562 C 595.285156 323.800781 597.070312 324.363281 597.515625 325.054688 C 597.949219 325.730469 596.671875 326.828125 595.023438 329.46875 C 594.242188 330.71875 593.398438 332.042969 591.738281 333.25 C 590.472656 334.167969 589.421875 335.832031 587.703125 336.714844 C 586.257812 337.453125 584.800781 338.636719 583.0625 339.339844 C 581.53125 339.964844 579.496094 339.582031 577.761719 340.171875 C 576.171875 340.710938 574.417969 340.929688 572.671875 341.4375 C 571.050781 341.910156 569.210938 341.734375 567.460938 342.179688 C 565.808594 342.597656 564.53125 344.789062 562.777344 345.179688 C 561.105469 345.554688 559.410156 346.136719 557.652344 346.480469 C 555.964844 346.8125 553.886719 345.210938 552.128906 345.511719 C 550.429688 345.804688 548.917969 347.410156 547.164062 347.675781 C 545.453125 347.933594 543.703125 348.128906 541.941406 348.359375 C 540.226562 348.582031 538.320312 347.378906 536.5625 347.574219 C 534.832031 347.765625 533.207031 349.054688 531.445312 349.21875 C 529.714844 349.378906 527.992188 349.824219 526.234375 349.957031 C 524.488281 350.085938 522.6875 349.488281 520.921875 349.589844 C 519.175781 349.6875 517.429688 350 515.667969 350.066406 C 514.007812 350.128906 512.320312 350.230469 510.675781 350.382812 C 508.96875 350.546875 507.148438 349.828125 505.574219 350.066406 C 503.78125 350.335938 502.503906 352.675781 501.054688 353.015625 C 498.917969 353.519531 496.984375 353.042969 496.113281 353.609375 C 495.246094 354.171875 493.910156 355.746094 491.867188 356.175781 C 490.472656 356.46875 488.613281 355.296875 486.890625 355.496094 C 485.375 355.671875 483.796875 355.796875 482.15625 355.878906 C 480.574219 355.960938 478.992188 355.96875 477.40625 355.949219 C 475.660156 355.929688 473.816406 357.089844 471.960938 357.097656 C 470.128906 357.101562 468.277344 356.214844 466.5 356.246094 C 464.566406 356.28125 462.742188 357.136719 461.074219 357.195312 C 458.855469 357.273438 456.976562 357.117188 455.660156 357.226562 C 454.511719 357.328125 452.800781 357.171875 450.769531 357.199219 C 449.304688 357.21875 447.667969 355.949219 445.90625 355.933594 C 444.355469 355.917969 442.699219 357.148438 441.019531 357.105469 C 439.410156 357.066406 437.765625 357 436.128906 356.933594 C 434.476562 356.871094 432.867188 356.121094 431.273438 356.035156 C 429.613281 355.941406 427.816406 357.082031 426.058594 357.011719 C 424.339844 356.9375 422.636719 355.859375 420.921875 355.804688 C 419.148438 355.75 417.386719 356.503906 415.722656 356.46875 C 413.871094 356.433594 412.132812 355.441406 410.558594 355.433594 C 408.480469 355.425781 406.734375 356.789062 405.433594 356.839844 C 403.195312 356.925781 403.203125 357.199219 400.964844 357.289062 C 398.726562 357.375 397.613281 354.4375 396.824219 356.535156 C 396.023438 358.652344 398.09375 357.945312 399.695312 359.546875 C 401.300781 361.152344 401.824219 360.628906 403.429688 362.234375 C 405.035156 363.839844 404.691406 364.183594 406.296875 365.789062 C 407.371094 366.863281 408.585938 368.421875 410.105469 370.113281 C 411.273438 371.414062 412.054688 373.304688 413.40625 374.875 C 414.597656 376.261719 416.214844 377.414062 417.496094 378.945312 C 418.695312 380.382812 419.214844 382.457031 420.457031 383.976562 C 421.660156 385.453125 423.019531 386.824219 424.226562 388.339844 C 425.433594 389.847656 427.984375 390.296875 429.160156 391.800781 C 430.367188 393.34375 431.40625 394.996094 432.542969 396.492188 C 433.636719 397.929688 435.015625 399.148438 436.097656 400.5625 C 437.214844 402.019531 437.464844 404.109375 438.542969 405.503906 C 439.683594 406.984375 441.167969 408.128906 442.234375 409.5 C 443.402344 411.003906 444.085938 412.765625 445.121094 414.082031 C 446.359375 415.660156 446.625 417.769531 447.601562 418.984375 C 449.21875 421.003906 451.738281 421.355469 452.34375 422.023438 C 452.945312 422.6875 453.597656 424.582031 455.125 426.601562 C 456.050781 427.824219 457.984375 428.621094 459.15625 430.214844 C 460.128906 431.539062 461.277344 432.910156 462.371094 434.425781 C 463.363281 435.800781 462.632812 438.503906 463.691406 439.988281 C 464.699219 441.394531 466.335938 442.410156 467.375 443.882812 C 468.386719 445.316406 470.457031 446.039062 471.476562 447.496094 C 472.53125 449.011719 472.007812 451.703125 473.121094 453.277344 C 474.203125 454.804688 475.183594 456.445312 476.289062 457.988281 C 477.398438 459.539062 479.195312 460.597656 480.296875 462.117188 C 481.429688 463.683594 482.546875 465.230469 483.640625 466.71875 C 484.804688 468.3125 486.019531 469.785156 487.09375 471.230469 C 488.308594 472.867188 489.644531 474.253906 490.6875 475.628906 C 492.035156 477.40625 493.246094 478.894531 494.179688 480.066406 C 495.359375 481.539062 496.957031 482.726562 497.976562 484.195312 C 499.128906 485.847656 500.515625 487.296875 501.335938 488.722656 C 502.660156 491.019531 501.429688 493.40625 501.429688 494.328125 C 501.429688 495.226562 502.597656 497.164062 503.652344 499.140625 C 504.339844 500.425781 505.113281 501.992188 506.089844 503.457031 C 506.96875 504.777344 508.296875 505.921875 509.320312 507.21875 C 510.332031 508.503906 511.273438 509.972656 512.242188 511.609375 C 513.105469 513.070312 515.289062 513.964844 516.09375 515.617188 C 516.855469 517.1875 515.648438 519.6875 516.332031 521.355469 C 517.003906 523 519.09375 524.113281 519.671875 525.789062 C 520.261719 527.507812 519.722656 529.550781 520.1875 531.226562 C 520.683594 533.015625 521.949219 534.546875 522.269531 536.203125 C 522.640625 538.105469 522.289062 539.964844 522.390625 541.558594 C 522.53125 543.710938 522.019531 545.257812 521.574219 546.558594 C 520.769531 548.925781 520.105469 550.828125 517.660156 550.171875 C 516.324219 549.8125 514.296875 549.125 512.035156 547.867188 C 510.273438 546.886719 509.109375 544.753906 507.476562 543.996094 C 504.964844 542.828125 502.777344 541.730469 501.945312 541.6875 C 500.566406 541.609375 498.488281 540.527344 496.941406 538.976562 C 496.074219 538.109375 493.722656 538.496094 491.59375 537.980469 C 489.925781 537.574219 488.265625 535.582031 486.503906 535.582031 C 485.316406 535.582031 483.84375 535.378906 481.757812 534.53125 C 480.332031 533.945312 477.96875 534.792969 476.285156 533.898438 C 474.832031 533.125 473.632812 531.585938 472.082031 530.632812 C 470.636719 529.738281 469.773438 527.871094 468.3125 526.859375 C 466.886719 525.867188 465.101562 525.367188 463.730469 524.296875 C 462.296875 523.175781 461.335938 521.609375 460.054688 520.601562 C 458.609375 519.457031 456.566406 519.253906 455.304688 518.242188 C 453.851562 517.074219 453.269531 515.066406 452.046875 514.054688 C 450.570312 512.835938 448.234375 512.929688 447.074219 511.914062 C 445.566406 510.589844 445.628906 508.054688 444.605469 507.015625 C 443.03125 505.417969 441.589844 504.695312 440.976562 503.570312 C 439.914062 501.625 439.160156 500.070312 440.089844 498.566406 C 441.40625 496.433594 441.789062 496.332031 439.933594 496.898438 C 439.308594 497.089844 437.550781 494.925781 435.03125 492.984375 C 433.738281 491.988281 432.574219 490.410156 430.921875 488.972656 C 429.589844 487.816406 428.222656 486.492188 426.710938 485.097656 C 425.375 483.859375 423.785156 482.773438 422.34375 481.382812 C 421.003906 480.085938 418.738281 479.632812 417.339844 478.226562 C 416.007812 476.886719 414.554688 475.585938 413.195312 474.171875 C 411.933594 472.863281 410.863281 471.421875 409.667969 470.167969 C 408.402344 468.84375 408.105469 466.675781 406.933594 465.4375 C 405.65625 464.085938 403.027344 464.113281 401.878906 462.886719 C 400.574219 461.492188 399.761719 459.804688 398.660156 458.609375 C 397.28125 457.109375 397.066406 454.882812 396.0625 453.757812 C 393.789062 451.214844 392.03125 451.222656 392.261719 451.222656 C 392.679688 451.222656 391.113281 448.304688 388.484375 445.488281 C 387.246094 444.160156 386.222656 442.179688 384.601562 440.554688 C 383.351562 439.304688 382.609375 437.679688 381.515625 436.445312 C 380.265625 435.035156 378.96875 433.929688 378.058594 432.714844 C 376.527344 430.675781 374.785156 429.574219 374.753906 428.800781 C 374.722656 428.027344 373.65625 426.785156 372.078125 425.121094 C 371.128906 424.117188 369.617188 423.464844 368.308594 422.347656 C 367.167969 421.371094 366.753906 419.335938 365.449219 418.382812 C 363.800781 417.183594 362.292969 416.207031 361 415.476562 C 359.078125 414.390625 357.222656 414.546875 355.839844 414.453125 C 354.058594 414.335938 353.226562 415.335938 351.800781 416.757812 C 350.140625 418.421875 348.234375 419.214844 348.425781 420.417969 C 348.609375 421.585938 349.859375 423.1875 351.851562 424.417969 C 354.046875 425.773438 355.597656 426.332031 355.644531 427.738281 C 355.6875 429.011719 354.984375 430.628906 353.355469 432.589844 C 352.394531 433.75 352.488281 435.25 352.011719 436.375 C 351.285156 438.101562 349.890625 439.441406 350.59375 440.140625 C 350.878906 440.429688 351.984375 442.066406 352.230469 445.261719 C 352.351562 446.824219 350.945312 448.777344 351.054688 450.882812 C 351.140625 452.574219 353.363281 454.328125 353.441406 456.3125 C 353.507812 458.058594 352.441406 459.953125 352.503906 461.890625 C 352.5625 463.667969 353.050781 465.507812 353.101562 467.417969 C 353.152344 469.214844 351.515625 471.101562 351.558594 472.992188 C 351.597656 474.804688 352.980469 476.625 353.015625 478.5 C 353.046875 480.324219 352.800781 482.179688 352.828125 484.042969 C 352.855469 485.875 352.199219 487.726562 352.222656 489.578125 C 352.242188 491.421875 352.339844 493.269531 352.355469 495.121094 C 352.371094 496.976562 353.671875 498.824219 353.679688 500.667969 C 353.691406 502.53125 352.910156 504.386719 352.914062 506.21875 C 352.917969 508.09375 352.070312 509.941406 352.070312 511.761719 C 352.066406 513.648438 353.816406 515.503906 353.804688 517.308594 C 353.792969 519.210938 354.183594 521.074219 354.164062 522.859375 C 354.140625 524.785156 353.59375 526.636719 353.5625 528.394531 C 353.523438 530.359375 352.417969 532.1875 352.367188 533.898438 C 352.300781 535.960938 353.578125 537.878906 353.492188 539.496094 C 353.367188 541.921875 351.441406 543.621094 351.261719 544.816406 C 351.042969 546.285156 352.089844 548.070312 351.535156 549.164062 C 350.726562 550.769531 349.082031 552.574219 348.0625 552.574219 C 346.980469 552.574219 346.992188 553.402344 346.429688 555.925781 C 346.097656 557.414062 345.714844 558.984375 345.714844 560.898438 C 345.714844 562.832031 344.046875 564.472656 343.6875 565.96875 C 343.089844 568.46875 342.761719 570.578125 341.621094 570.578125 C 340.519531 570.578125 338.925781 571.46875 337.789062 573.507812 C 337.042969 574.847656 336.402344 576.570312 335.941406 578.339844 C 334.996094 581.953125 334.792969 584.75 333.582031 585.132812 C 332.375 585.515625 329.675781 584.472656 326.78125 582.125 C 322.578125 578.714844 321.210938 578.050781 323.023438 581.066406 C 324.949219 584.269531 326.222656 584.261719 324.996094 584.019531 C 324.164062 583.851562 322.023438 584.449219 319.824219 582.730469 C 318.636719 581.796875 318.519531 579.441406 316.941406 578.054688 C 316.820312 577.898438 316.347656 578.421875 316.347656 578.421875 Z M 238.171875 446.917969 C 239.359375 444.996094 238.214844 442.25 236.117188 440.953125 C 234.019531 439.65625 232.878906 441.132812 232.878906 444.351562 C 232.878906 447.351562 232.332031 449.832031 233.144531 450.453125 C 234.113281 451.195312 235.988281 449.476562 237.742188 446.636719 C 237.867188 446.480469 238.171875 446.917969 238.171875 446.917969 Z M 251.433594 426.066406 C 253.554688 423.511719 253.976562 421.894531 253.203125 421.109375 C 252.554688 420.453125 250.871094 420.699219 247.832031 420.699219 C 245.796875 420.699219 243.585938 419.953125 242.214844 420.761719 C 240.5 421.773438 239.980469 424.011719 239.980469 425.8125 C 239.980469 428.90625 241.347656 432.367188 243.160156 432.367188 C 244.207031 432.367188 245.867188 430.609375 247.5625 429.292969 C 248.796875 428.339844 250.351562 427.371094 251.433594 426.066406 Z M 266.535156 414.148438 C 266.535156 412.578125 264.246094 411.460938 262.1875 410.984375 C 260.175781 410.515625 258.445312 410.925781 257.617188 412.261719 C 256.535156 414.015625 257.667969 415.992188 260.671875 415.992188 C 263.675781 415.992188 266.535156 414.714844 266.535156 414.148438 Z M 276.949219 402.914062 C 275.792969 401.757812 273.515625 404.164062 272.109375 407.867188 C 271.25 410.117188 271.238281 411.386719 271.316406 411.957031 C 271.425781 412.738281 272.535156 412.632812 274.679688 410.503906 C 277.242188 407.960938 277.722656 404.410156 276.570312 403.257812 C 276.464844 403.085938 276.949219 402.914062 276.949219 402.914062 Z M 325.355469 378.054688 C 324.15625 375.058594 323.007812 376.101562 322.828125 380.472656 C 322.664062 384.429688 323.074219 386.273438 324.320312 385.027344 C 325.566406 383.78125 326.4375 380.761719 325.355469 378.054688 Z M 138.953125 356.390625 C 138.953125 354.328125 136.761719 352.75 134.578125 352.75 C 132.390625 352.75 132.089844 354.054688 133.363281 356.117188 C 134.640625 358.183594 135.988281 360.957031 136.898438 360.957031 C 137.808594 360.957031 138.4375 358.433594 138.4375 356.371094 C 138.476562 356.171875 138.953125 356.390625 138.953125 356.390625 Z M 115.558594 342.207031 C 116.472656 339.464844 114.414062 338.605469 110.761719 340.007812 C 109.339844 340.554688 108.335938 341.652344 107.308594 342.5625 C 105.976562 343.746094 103.964844 344.710938 103.964844 345.847656 C 103.964844 347.90625 106.246094 348.457031 108.113281 348.117188 C 109.484375 347.871094 111.6875 347.902344 113.03125 346.738281 C 114.242188 345.691406 115.039062 343.757812 115.558594 342.207031 Z M 225.257812 337.628906 C 225.257812 335.566406 224.113281 333.988281 223.203125 333.988281 C 222.292969 333.988281 220.945312 335.835938 219.667969 337.902344 C 218.394531 339.964844 218.699219 342.195312 220.882812 342.195312 C 223.070312 342.195312 224.746094 339.671875 224.746094 337.605469 C 224.785156 337.410156 225.257812 337.628906 225.257812 337.628906 Z M 255.183594 336.007812 C 256.777344 334.089844 257.242188 332.523438 257.375 331.660156 C 257.5625 330.453125 256.371094 330.640625 253.460938 330.640625 C 251.828125 330.640625 249.800781 330.117188 248.703125 331.09375 C 247.550781 332.117188 247.484375 334.164062 247.484375 335.753906 C 247.484375 338.847656 248.007812 342.308594 248.789062 342.308594 C 249.28125 342.308594 250.566406 340.394531 252.082031 338.875 C 252.972656 337.984375 254.234375 337.152344 255.183594 336.007812 Z M 404.53125 327.863281 C 403.378906 326.710938 401.101562 329.117188 399.691406 332.816406 C 398.832031 335.066406 398.824219 336.339844 398.902344 336.90625 C 399.007812 337.6875 400.117188 337.585938 402.261719 335.457031 C 404.824219 332.910156 405.308594 329.363281 404.152344 328.207031 C 404.046875 328.035156 404.53125 327.867188 404.53125 327.863281 Z M 416.632812 332.222656 C 416.632812 330.804688 415.746094 329.320312 415.121094 327.964844 C 414.4375 326.480469 413.285156 325.601562 412.207031 324.933594 C 410.144531 323.660156 407.910156 325.652344 407.910156 329.902344 C 407.910156 331.609375 409.105469 333.152344 409.566406 334.4375 C 410.25 336.347656 411.246094 338.554688 412.480469 338.554688 C 414.542969 338.554688 416.632812 335.195312 416.632812 332.222656 Z M 434.175781 329.269531 C 432.976562 326.277344 431.828125 327.320312 431.648438 331.691406 C 431.484375 335.648438 431.894531 337.492188 433.140625 336.246094 C 434.390625 335 435.261719 331.980469 434.175781 329.269531 Z M 390.363281 330.121094 C 390.363281 328.851562 388.332031 327.828125 385.894531 327.148438 C 384.375 326.726562 382.5625 326.890625 380.582031 326.890625 C 378.601562 326.890625 376.542969 325.835938 375.023438 326.257812 C 372.585938 326.9375 371.316406 328.851562 371.316406 330.121094 C 371.316406 331.394531 372.554688 333.417969 374.996094 334.097656 C 376.511719 334.519531 378.605469 333.902344 380.582031 333.902344 C 382.5625 333.902344 384.425781 333.691406 385.941406 333.269531 C 388.378906 332.589844 390.363281 331.394531 390.363281 330.121094 Z M 427.886719 328.246094 C 427.886719 325.152344 425.800781 322.730469 423.738281 322.730469 C 421.671875 322.730469 420.503906 325.152344 420.503906 328.246094 C 420.503906 331.34375 421.671875 334.691406 423.738281 334.691406 C 425.800781 334.691406 427.886719 331.34375 427.886719 328.246094 Z M 119.640625 321.625 C 121.835938 321.34375 123.898438 320.167969 125.71875 319.265625 C 128.082031 318.09375 129.417969 316.484375 129.929688 314.945312 C 130.6875 312.671875 130.785156 310.980469 129.109375 311.09375 C 128.164062 311.15625 126.882812 312.511719 125.035156 313.300781 C 123.847656 313.808594 121.941406 313.316406 120.050781 313.789062 C 118.566406 314.15625 117.148438 315.378906 115.445312 315.6875 C 113.839844 315.976562 112.175781 316.1875 110.535156 316.394531 C 108.839844 316.601562 107.121094 315.917969 105.550781 316.003906 C 103.628906 316.109375 101.5 316.238281 99.597656 316.601562 C 97.570312 316.992188 95.894531 318.714844 94.203125 319.304688 C 91.902344 320.109375 90.703125 321.582031 89.738281 322.546875 C 87.480469 324.800781 87.261719 325.589844 91.175781 325.457031 C 92.75 325.402344 94.824219 324.394531 97.5625 324 C 99.261719 323.753906 101.144531 323.601562 103.070312 323.332031 C 104.882812 323.078125 106.671875 322.257812 108.496094 322.007812 C 110.410156 321.742188 112.238281 321.175781 113.964844 320.945312 C 116.082031 320.660156 118.054688 321.820312 119.535156 321.632812 C 119.734375 321.660156 119.640625 321.625 119.640625 321.625 Z M 179.074219 317.230469 C 178.675781 314.996094 180.898438 313.359375 184.488281 313.640625 C 188.078125 313.921875 189.652344 313.066406 188.539062 311.261719 C 187.960938 310.324219 186.671875 308.648438 183.917969 308.398438 C 182.34375 308.253906 180.390625 309.144531 178.246094 309.226562 C 176.539062 309.289062 174.566406 308.382812 172.554688 308.585938 C 170.800781 308.761719 169.03125 309.890625 167.082031 310.175781 C 165.304688 310.433594 163.445312 310.695312 161.53125 311.042969 C 160.761719 311.183594 161.316406 314.195312 163.597656 316.945312 C 164.933594 318.558594 166.925781 320.164062 168.722656 320.988281 C 170.785156 321.933594 173.359375 321.199219 175.097656 321.042969 C 177.484375 320.828125 178.128906 319.75 177.695312 317.320312 C 177.691406 317.121094 179.074219 317.230469 179.074219 317.230469 Z M 200.066406 315.214844 C 200.46875 313.667969 200.132812 312.128906 200.078125 310.929688 C 199.988281 308.933594 199.40625 308.125 198.238281 308.125 C 197.109375 308.125 195.324219 308.589844 194.707031 310.480469 C 194.300781 311.714844 194.953125 313.484375 194.953125 315.113281 C 194.953125 319.242188 195.484375 323.546875 196.277344 323.546875 C 196.785156 323.546875 197.625 321.230469 198.429688 319.132812 C 198.875 317.972656 199.679688 316.6875 200.066406 315.214844 Z M 225.257812 319.085938 C 225.257812 317.144531 223.109375 314.609375 221.046875 313.332031 C 218.980469 312.054688 217.871094 313.550781 217.871094 316.769531 C 217.871094 319.984375 219.042969 323.433594 221.105469 323.433594 C 223.167969 323.433594 225.257812 321.03125 225.257812 319.085938 Z M 144.519531 315.324219 C 145.796875 313.261719 144.710938 311.472656 142.523438 311.472656 C 140.339844 311.472656 139.070312 313.050781 139.070312 315.113281 C 139.070312 317.175781 139.296875 319.679688 140.207031 319.679688 C 141.117188 319.679688 143.246094 317.386719 144.519531 315.324219 Z M 214.570312 299.007812 C 211.878906 296.316406 209.957031 296.375 209.957031 298.726562 C 209.957031 300.84375 211.050781 302.542969 212.15625 303.976562 C 213.664062 305.929688 215.917969 307.691406 217.367188 306.246094 C 218.433594 305.179688 217.007812 301.449219 214.570312 299.007812 Z M 325.757812 254.433594 C 325.121094 252.53125 323.855469 252.875 322.871094 254.761719 C 322.40625 255.65625 322.339844 257.023438 321.914062 258.65625 C 321.40625 260.601562 319.789062 261.878906 319.699219 262.914062 C 319.496094 265.195312 321.054688 265.285156 322.972656 263.367188 C 324.042969 262.296875 325.816406 261.113281 326.242188 259.535156 C 326.6875 257.898438 325.863281 255.941406 325.402344 254.5625 C 325.390625 254.359375 325.757812 254.433594 325.757812 254.433594 Z M 421.714844 245.835938 C 422.902344 242.742188 422.070312 240.175781 420.324219 240.175781 C 419.308594 240.175781 418.007812 241.328125 416.324219 242.65625 C 415.117188 243.609375 412.925781 243.878906 411.851562 245.171875 C 410.359375 246.972656 410.21875 248.773438 409.984375 249.632812 C 409.617188 250.964844 410.683594 252.25 413.496094 252.25 C 415.082031 252.25 416.789062 250.691406 418.222656 249.644531 C 419.617188 248.625 421.128906 247.359375 421.714844 245.835938 Z M 326.574219 232.558594 C 326.574219 230.496094 325.429688 228.917969 324.519531 228.917969 C 323.609375 228.917969 322.261719 230.769531 320.984375 232.832031 C 319.710938 234.894531 320.011719 237.125 322.199219 237.125 C 324.386719 237.125 326.574219 234.625 326.574219 232.558594 Z M 440.242188 217.390625 C 439.09375 216.125 437.265625 217.730469 435.925781 219.941406 C 435.054688 221.378906 434.710938 223.269531 434.289062 225.046875 C 433.796875 227.136719 432.5625 229.460938 433.320312 230.683594 C 434.570312 232.710938 437.367188 230.632812 438.816406 226.644531 C 439.378906 225.09375 440.8125 223.734375 441.054688 222.351562 C 441.441406 220.167969 440.785156 217.984375 440.242188 217.390625 Z M 467.949219 194.183594 C 466.75 191.191406 465.601562 192.230469 465.421875 196.601562 C 465.257812 200.558594 465.667969 202.402344 466.914062 201.15625 C 468.160156 199.910156 469.03125 196.890625 467.949219 194.183594 Z M 459.726562 161.472656 C 461 159.410156 459.914062 157.621094 457.730469 157.621094 C 455.542969 157.621094 454.273438 159.199219 454.273438 161.261719 C 454.273438 163.328125 454.5 165.832031 455.410156 165.832031 C 456.320312 165.832031 458.449219 163.539062 459.726562 161.472656 Z M 497.25 161.472656 C 498.523438 159.410156 497.441406 157.621094 495.253906 157.621094 C 493.070312 157.621094 491.796875 159.199219 491.796875 161.261719 C 491.796875 163.328125 492.023438 165.832031 492.933594 165.832031 C 493.84375 165.832031 495.972656 163.539062 497.25 161.472656 Z M 479.207031 141.648438 C 478.007812 138.65625 476.859375 139.699219 476.679688 144.070312 C 476.515625 148.023438 476.925781 149.871094 478.171875 148.625 C 479.417969 147.375 480.289062 144.359375 479.207031 141.648438 Z M 305.132812 131.34375 C 305.539062 129.796875 305.203125 128.257812 305.148438 127.0625 C 305.058594 125.0625 304.476562 124.257812 303.308594 124.257812 C 302.175781 124.257812 300.394531 124.722656 299.773438 126.613281 C 299.371094 127.847656 300.019531 129.613281 300.019531 131.242188 C 300.019531 135.371094 300.554688 139.675781 301.34375 139.675781 C 301.855469 139.675781 302.691406 137.359375 303.496094 135.265625 C 303.941406 134.101562 304.746094 132.816406 305.132812 131.34375 Z M 508.359375 127.941406 C 509.539062 126.03125 507.972656 123.121094 505.359375 121.617188 C 502.746094 120.113281 502.242188 119.761719 503.699219 121.378906 C 504.613281 122.394531 502.914062 124.441406 501.1875 126.902344 C 500.152344 128.378906 499.472656 130.511719 497.761719 132.007812 C 495.691406 133.820312 495.003906 133.035156 492.933594 134.851562 C 490.863281 136.664062 489.421875 136.421875 489.378906 139.171875 C 489.34375 141.460938 491.492188 138.238281 493.550781 137.242188 C 495.609375 136.246094 495.976562 137.003906 498.035156 136.011719 C 499.964844 135.078125 502.117188 133.988281 503.816406 132.832031 C 506.105469 131.277344 507.222656 128.691406 507.898438 127.59375 C 508.050781 127.460938 508.359375 127.941406 508.359375 127.941406 Z M 311.5625 100.78125 C 311.5625 96.65625 312.890625 94.214844 314.929688 95.476562 C 317.089844 96.808594 317.125 95.511719 315.765625 91.972656 C 314.730469 89.269531 313.867188 87.097656 312.597656 87.328125 C 311.460938 87.535156 310.515625 89.738281 309.347656 92.15625 C 308.6875 93.519531 307.046875 94.894531 306.414062 96.917969 C 305.921875 98.484375 306.304688 100.519531 305.84375 102.472656 C 305.34375 104.59375 305 106.332031 304.890625 107.679688 C 304.644531 110.753906 305.960938 112.574219 307.738281 111.476562 C 308.929688 110.738281 310.519531 108.613281 311.238281 106.539062 C 311.816406 104.875 310.984375 102.582031 310.984375 100.742188 C 311.027344 100.546875 311.5625 100.78125 311.5625 100.78125 Z M 316.574219 77.167969 C 317.964844 73.542969 316.523438 72.382812 312.910156 73.769531 C 309.929688 74.914062 308.828125 76.984375 309.972656 78.832031 C 311.664062 81.570312 312.90625 83.457031 314.074219 82.515625 C 314.894531 81.855469 315.105469 79.566406 316.101562 76.96875 C 316.195312 76.796875 316.574219 77.167969 316.574219 77.167969 Z M 331.597656 73.925781 C 331.15625 72.109375 330.289062 70.566406 329.945312 68.816406 C 329.628906 67.203125 328.9375 65.566406 328.644531 63.597656 C 328.414062 62.035156 329.5 60.125 329.253906 58.117188 C 329.054688 56.535156 327.925781 54.890625 327.703125 52.917969 C 327.519531 51.300781 328.359375 49.421875 328.152344 47.480469 C 327.972656 45.832031 326.886719 44.15625 326.683594 42.238281 C 326.410156 39.667969 325.617188 38.332031 324.589844 38.054688 C 323.441406 37.75 321.253906 38.183594 319.875 39.941406 C 319.003906 41.050781 317.90625 42.628906 317.183594 44.289062 C 316.574219 45.699219 317.203125 47.722656 316.828125 49.382812 C 316.480469 50.929688 317.070312 52.546875 317.023438 54.203125 C 316.964844 56.167969 315.449219 57.828125 315.519531 59.226562 C 315.632812 61.5625 316.683594 62.988281 317.257812 63.941406 C 318.105469 65.34375 319.261719 65.402344 321.492188 64.550781 C 325.359375 63.066406 327.078125 64.289062 325.289062 67.183594 C 323.796875 69.597656 323.765625 70.191406 325.953125 70.191406 C 328.136719 70.191406 329.320312 72.410156 329.074219 73.957031 C 328.808594 75.648438 328.59375 77.417969 328.769531 78.78125 C 329.054688 81.007812 330.464844 82.882812 331.585938 82.882812 C 332.191406 82.882812 331.453125 80.910156 331.148438 78.445312 C 330.992188 77.179688 331.976562 75.5 331.597656 73.925781 Z M 322.820312 21.171875 C 322.820312 19.40625 323.097656 17.746094 324.316406 16.625 C 325.5 15.535156 327.195312 14.441406 328.992188 14.457031 C 332.742188 14.488281 333.457031 15.582031 331.316406 17.179688 C 330.296875 17.941406 329.621094 19.746094 328.445312 20.855469 C 327.238281 21.988281 325.304688 22.496094 324.519531 23.4375 C 322.972656 25.308594 322.820312 24.613281 322.820312 21.171875 Z M 322.820312 21.171875 " fill-opacity="1" fill-rule="nonzero"/></g></svg>
api/src/static/index.html
1 1
<!DOCTYPE html>
2 2
<html class="light" lang="pt-BR">
3 3
  <head>
4 4
    <meta charset="utf-8"/>
5 5
    <meta content="width=device-width, initial-scale=1.0" name="viewport"/>
▸ 108 unchanged lines
114 114
              Saiba mais
115 115
            </button>
116 116
          </div>
117 117
        </div>
118 118

119 -
        <div class="flex-1 relative">
119 +
        <div class="flex-1 relative flex items-center justify-center">
120 120
          <div class="absolute -top-12 -left-12 w-64 h-64 bg-brand-green/10 rounded-full blur-3xl animate-pulse"></div>
121 -
          <div class="relative z-10 p-4 bg-white/50 backdrop-blur-xl rounded-[2.5rem] border border-white shadow-2xl">
122 -
            <img alt="nexo App" class="rounded-[2rem] shadow-sm w-full h-auto object-cover"
123 -
                 src="/images/app.png" />
121 +
          <div id="logo-container" class="relative z-10 w-64 h-64 md:w-80 md:h-80 cursor-pointer select-none">
122 +
            <img id="logo-img" alt="nexo" src="/images/logo.svg" class="w-full h-full" />
124 123
          </div>
125 124
        </div>
126 125
      </section>
127 126

128 127
      <section class="bg-surface-light py-20 border-y border-border-subtle">
▸ 8 unchanged lines
137 136
            <div class="glide__track" data-glide-el="track">
138 137
              <ul class="glide__slides">
139 138
                <li class="glide__slide">
140 139
                  <div class="bg-background-light p-8 rounded-xl border border-border-subtle h-full group hover:shadow-md transition-shadow">
141 140
                    <div class="w-12 h-12 bg-pill-indigo rounded-lg flex items-center justify-center mb-6">
142 -
                      <span class="material-symbols-outlined text-indigo-600">mood</span>
141 +
                      <svg class="w-6 h-6 text-indigo-600 morph-icon" viewBox="0 0 24 24" fill="currentColor">
142 +
                        <defs>
143 +
                          <path class="morph-resting" d="M12 3 L13 10 L20 8 L14 12 L20 16 L13 14 L12 21 L11 14 L4 16 L10 12 L4 8 L11 10 Z"/>
144 +
                          <path class="morph-alt" d="M12 1 L13 10 L22 7 L14 12 L22 17 L13 14 L12 23 L11 14 L2 17 L10 12 L2 7 L11 10 Z"/>
145 +
                          <path class="morph-shape" d="M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm3.5-9c.83 0 1.5-.67 1.5-1.5S16.33 8 15.5 8 14 8.67 14 9.5s.67 1.5 1.5 1.5zm-7 0c.83 0 1.5-.67 1.5-1.5S9.33 8 8.5 8 7 8.67 7 9.5 7.67 11 8.5 11zm3.5 6.5c2.33 0 4.31-1.46 5.11-3.5H6.89c.8 2.04 2.78 3.5 5.11 3.5z"/>
146 +
                        </defs>
147 +
                        <path d="M12 3 L13 10 L20 8 L14 12 L20 16 L13 14 L12 21 L11 14 L4 16 L10 12 L4 8 L11 10 Z"/>
148 +
                      </svg>
143 149
                    </div>
144 150
                    <h3 class="font-headline-md text-xl mb-3">Monitoramento de Humor</h3>
145 151
                    <p class="text-text-secondary font-body-md mb-6">
146 152
                      Identifique padrões emocionais e gatilhos diários com nosso
147 153
                      sistema de tagging inteligente e análise de sentimentos.
▸ 6 unchanged lines
154 160
                </li>
155 161

156 162
                <li class="glide__slide">
157 163
                  <div class="bg-background-light p-8 rounded-xl border border-border-subtle h-full group hover:shadow-md transition-shadow">
158 164
                    <div class="w-12 h-12 bg-pill-purple rounded-lg flex items-center justify-center mb-6">
159 -
                      <span class="material-symbols-outlined text-purple-600">medical_services</span>
165 +
                      <svg class="w-6 h-6 text-purple-600 morph-icon" viewBox="0 0 24 24" fill="currentColor">
166 +
                        <defs>
167 +
                          <path class="morph-resting" d="M12 3 L13 10 L20 8 L14 12 L20 16 L13 14 L12 21 L11 14 L4 16 L10 12 L4 8 L11 10 Z"/>
168 +
                          <path class="morph-alt" d="M12 2 L15 8 L21 7 L17 12 L21 17 L15 16 L12 22 L9 16 L3 17 L7 12 L3 7 L9 8 Z"/>
169 +
                          <path class="morph-shape" d="M20 6h-4V4c0-1.1-.9-2-2-2h-4c-1.1 0-2 .9-2 2v2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zM10 4h4v2h-4V4zm10 16H4V8h16v12z M13 10h-2v3H8v2h3v3h2v-3h3v-2h-3z"/>
170 +
                        </defs>
171 +
                        <path d="M12 3 L13 10 L20 8 L14 12 L20 16 L13 14 L12 21 L11 14 L4 16 L10 12 L4 8 L11 10 Z"/>
172 +
                      </svg>
160 173
                    </div>
161 174
                    <h3 class="font-headline-md text-xl mb-3">Gestão de Saúde</h3>
162 175
                    <p class="text-text-secondary font-body-md mb-6">
163 176
                      Controle medicação, consultas e exames em um cronograma
164 177
                      unificado com alertas inteligentes e lembretes
▸ 1 unchanged lines
166 179
                    </p>
167 180
                    <img alt="Health management" class="w-full h-48 object-cover rounded-lg" data-alt="Close up of a modern medical laboratory or clinic setting with clean white surfaces and high-tech equipment. Soft natural light flows through a window, highlighting the precision and cleanliness of the health environment. Professional and trustworthy atmosphere." src="/images/pills.jpg"/>
168 181
                  </div>
169 182
                </li>
170 183

171 -
                <!-- TODO: Check how to make this work with some morphing icons -->
172 184
                <li class="glide__slide">
173 185
                  <div class="bg-background-light p-8 rounded-xl border border-border-subtle h-full group hover:shadow-md transition-shadow">
174 186
                    <div class="w-12 h-12 bg-pill-blue rounded-lg flex items-center justify-center mb-6">
175 -
                      <span class="material-symbols-outlined text-blue-600">sleep</span>
187 +
                      <svg class="w-6 h-6 text-blue-600 morph-icon" viewBox="0 0 24 24" fill="currentColor">
188 +
                        <defs>
189 +
                          <path class="morph-resting" d="M12 3 L13 10 L20 8 L14 12 L20 16 L13 14 L12 21 L11 14 L4 16 L10 12 L4 8 L11 10 Z"/>
190 +
                          <path class="morph-alt" d="M17 4 L14 11 L21 12 L14 13 L17 20 L12 14 L7 20 L10 13 L3 12 L10 11 L7 4 L12 10 Z"/>
191 +
                          <path class="morph-shape" d="M9.27 4.49c-1.63 7.54 3.75 12.41 7.66 13.8A7.993 7.993 0 0 1 12 20c-4.41 0-8-3.59-8-8 0-3.45 2.2-6.4 5.27-7.51m2.72-2.48C6.4 2.01 2 6.54 2 12c0 5.52 4.48 10 10 10 3.71 0 6.93-2.02 8.66-5.02-7.51-.25-12.09-8.43-8.32-14.97h-.35z"/>
192 +
                        </defs>
193 +
                        <path d="M12 3 L13 10 L20 8 L14 12 L20 16 L13 14 L12 21 L11 14 L4 16 L10 12 L4 8 L11 10 Z"/>
194 +
                      </svg>
176 195
                    </div>
177 196

178 197
                    <h3 class="font-headline-md text-xl mb-3">Monitore seu sono</h3>
179 198
                    <p class="text-text-secondary font-body-md mb-6">
180 199
                      Controle também o seu sono, para conseguir antecipar flutuações no humor
▸ 201 unchanged lines
382 401
    <script src="https://cdn.jsdelivr.net/npm/atropos/atropos.min.js"></script>
383 402
    <script src="/js/app.js">
384 403
    </script>
385 404
  </body>
386 405
</html>
api/src/static/js/app.js
1 -
const { animate, utils, stagger, splitText } = anime;
1 +
const { animate, utils, stagger, splitText, morphTo } = anime;
2 +

3 +
// Motion path: glowing dot traces the logo outline.
4 +
// morphTo on hover: logo → 16-pt star, tries to mimic the logo
5 +

6 +
// XXX: morphTo note: animejs tries to find the shorter path to match the
7 +
// logo's in ~300 commands, so the star gets hundreds of "stacked" points. The
8 +
// morph works but looks like a chaotic crystallisation rather than a clean
9 +
// shape-to-shape swap. Not gonna waste more time on this bullshit
10 +
async function setupLogoAnimations() {
11 +
  const container = document.getElementById('logo-container');
12 +
  if (!container) return;
13 +

14 +
  let pathD;
15 +
  try {
16 +
    const text = await fetch('/images/logo.svg').then(r => r.text());
17 +
    pathD = new DOMParser()
18 +
      .parseFromString(text, 'image/svg+xml')
19 +
      .querySelector('path')
20 +
      .getAttribute('d');
21 +
  } catch {
22 +
    return;
23 +
  }
24 +

25 +
  // Blah
26 +
  const NS = 'http://www.w3.org/2000/svg';
27 +
  const mk = (tag, attrs = {}) => {
28 +
    const el = document.createElementNS(NS, tag);
29 +
    Object.entries(attrs).forEach(([k, v]) => el.setAttribute(k, v));
30 +
    return el;
31 +
  };
32 +

33 +
  const svg = mk('svg', { viewBox: '0 0 600 600' });
34 +
  svg.style.cssText = 'width:100%;height:100%;display:block;overflow:visible';
35 +

36 +
  const defs = mk('defs');
37 +

38 +
  // Radial gradient: bright upper-left highlight fading to a deeper green at
39 +
  // edges
40 +
  const grad = mk('radialGradient', {
41 +
    id: 'logo-gradient',
42 +
    cx: '42%',
43 +
    cy: '36%',
44 +
    r: '65%',
45 +
    gradientUnits: 'objectBoundingBox'
46 +
  });
47 +

48 +
  grad.appendChild(mk('stop', { offset: '0%',   'stop-color': '#2dff80' }));
49 +
  grad.appendChild(mk('stop', { offset: '52%',  'stop-color': '#13ec5b' }));
50 +
  grad.appendChild(mk('stop', { offset: '100%', 'stop-color': '#09a042' }));
51 +
  defs.appendChild(grad);
52 +

53 +
  // Glow filter for the dot
54 +
  const dotFilter = mk('filter', {
55 +
    id: 'dot-glow',
56 +
    x: '-300%',
57 +
    y: '-300%',
58 +
    width: '700%',
59 +
    height: '700%'
60 +
  });
61 +

62 +
  dotFilter.appendChild(mk('feGaussianBlur', {
63 +
    in: 'SourceGraphic',
64 +
    stdDeviation: '6',
65 +
    result: 'blur'
66 +
  }));
67 +

68 +
  const merge = mk('feMerge');
69 +
  merge.appendChild(mk('feMergeNode', { in: 'blur' }));
70 +
  merge.appendChild(mk('feMergeNode', { in: 'SourceGraphic' }));
71 +
  dotFilter.appendChild(merge);
72 +
  defs.appendChild(dotFilter);
73 +

74 +
  svg.appendChild(defs);
75 +

76 +
  // Logo path: gradient fill
77 +
  const logoPathEl = mk('path', {
78 +
    fill: 'url(#logo-gradient)',
79 +
    filter: 'url(#logo-texture)',
80 +
    d: pathD
81 +
  });
82 +

83 +
  svg.appendChild(logoPathEl);
84 +

85 +
  // morphTo targets (same 0-600 coordinate space as the logo)
86 +
  const starD = 'M300,30 L322,192 L466,109 L371,258 L562,296 L371,340 L466,489 L322,412 L300,570 L278,412 L134,489 L229,340 L38,296 L229,258 L134,109 L278,192 Z';
87 +
  const starEl = mk('path', { d: starD, visibility: 'hidden' });
88 +
  const origEl = mk('path', { d: pathD, visibility: 'hidden' });
89 +
  svg.appendChild(starEl);
90 +
  svg.appendChild(origEl);
91 +

92 +
  // Motion dot
93 +
  const trail = mk('circle', {
94 +
    r: '24',
95 +
    fill: '#13ec5b',
96 +
    opacity: '0.15',
97 +
    filter: 'url(#dot-glow)',
98 +
    cx: '316',
99 +
    cy: '578'
100 +
  });
101 +

102 +
  const dot = mk('circle', {
103 +
    r: '8',
104 +
    fill: 'black',
105 +
    opacity: '0.85',
106 +
    filter: 'url(#dot-glow)',
107 +
    cx: '316',
108 +
    cy: '578'
109 +
  });
110 +

111 +
  svg.appendChild(trail);
112 +
  svg.appendChild(dot);
113 +

114 +
  const img = container.querySelector('img');
115 +
  if (img) container.replaceChild(svg, img);
116 +
  else container.appendChild(svg);
117 +

118 +
  // Motion path
119 +
  const totalLen = logoPathEl.getTotalLength();
120 +
  if (!totalLen) return;
121 +

122 +
  const DURATION = 12000;
123 +
  let rafStart = null;
124 +

125 +
  function traceDot(ts) {
126 +
    if (rafStart === null) rafStart = ts;
127 +
    const t = ((ts - rafStart) % DURATION) / DURATION;
128 +
    const pt = logoPathEl.getPointAtLength(t * totalLen);
129 +

130 +
    dot.setAttribute('cx', pt.x);
131 +
    dot.setAttribute('cy', pt.y);
132 +
    trail.setAttribute('cx', pt.x);
133 +
    trail.setAttribute('cy', pt.y);
134 +
    requestAnimationFrame(traceDot);
135 +
  }
136 +
  requestAnimationFrame(traceDot);
137 +

138 +
  // morphTo experiment
139 +
  container.addEventListener('pointerenter', () => {
140 +
    animate(logoPathEl, { d: morphTo(starEl), duration: 900, ease: 'inOutCubic' });
141 +
  });
142 +

143 +
  container.addEventListener('pointerleave', () => {
144 +
    animate(logoPathEl, { d: morphTo(origEl), duration: 900, ease: 'inOutCubic' });
145 +
  });
146 +
}
2 147

3 148
document.addEventListener('DOMContentLoaded', function () {
4 149
  const colors = [];
5 -

6 150

7 151
  new Glide('.glide', {
8 152
    type: 'carousel',
9 153
    autoplay: 2000,
10 154
    startAt: 0,
▸ 18 unchanged lines
29 173
    onEnter() {
30 174
      console.log('Atropos Enter');
31 175
    },
32 176
    onLeave() {
33 177
      console.log('Atropos Leave');
34 -
    },
35 -
    onRotate(x, y) {
36 -
      // Optional: add some dynamic lighting update logic here
37 178
    }
38 179
  });
39 180

40 181

41 182
  // Anime js text bullshit
▸ 22 unchanged lines
64 205
        /* Called between each split */
65 206
        split.words.forEach((w, i) => colors[i] = utils.get(w, 'color'));
66 207
      }
67 208
    });
68 209

69 -
  // Anime JS morph bullshit
210 +
  setupLogoAnimations();
211 +

212 +
  document.querySelectorAll('.glide__slide .morph-icon').forEach(svg => {
213 +
    const path = svg.querySelector(':scope > path');
214 +
    const resting = svg.querySelector('defs .morph-resting');
215 +
    const alt = svg.querySelector('defs .morph-alt');
216 +
    const shape = svg.querySelector('defs .morph-shape');
217 +
    const card = svg.closest('.group');
218 +

219 +
    let hovered = false;
220 +
    let spikeCycle = null;
221 +

222 +
    const rotAnim = animate(svg, {
223 +
      rotate: 360,
224 +
      loop: true,
225 +
      duration: 7000,
226 +
      ease: 'linear',
227 +
    });
228 +

229 +
    function runSpikeCycle() {
230 +
      if (hovered) return;
231 +
      const targets = [resting, alt];
232 +
      let i = 0;
233 +

234 +
      function step() {
235 +
        if (hovered) return;
236 +
        i = (i + 1) % targets.length;
237 +
        spikeCycle = animate(path, {
238 +
          d: morphTo(targets[i]),
239 +
          duration: 1800,
240 +
          ease: 'inOutSine',
241 +
          onComplete: () => setTimeout(step, 600),
242 +
        });
243 +
      }
244 +
      step();
245 +
    }
246 +

247 +
    runSpikeCycle();
248 +

249 +
    card.addEventListener('pointerenter', () => {
250 +
      hovered = true;
251 +
      spikeCycle?.pause();
252 +
      rotAnim.pause();
253 +
      animate(path, { d: morphTo(shape), duration: 500, ease: 'inOutCubic' });
254 +
    });
255 +

256 +
    card.addEventListener('pointerleave', () => {
257 +
      hovered = false;
258 +
      animate(path, {
259 +
        d: morphTo(resting),
260 +
        duration: 500,
261 +
        ease: 'inOutCubic',
262 +
        onComplete: () => {
263 +
          rotAnim.play();
264 +
          runSpikeCycle();
265 +
        },
266 +
      });
267 +
    });
268 +
  });
70 269
});
api/src/static/styles/main.css
1 1
body {
2 2
  font-family: 'Inter', sans-serif; background-color: #f6f8f6;
3 3
}
4 4

5 5
.material-symbols-outlined {
▸ 6 unchanged lines
12 12

13 13
.glide__bullet--active {
14 14
  background-color: #13ec5b !important;
15 15
}
16 16

17 +
.morph-icon {
18 +
  transform-origin: center;
19 +
}
20 +

17 21
.btn-hover-effect {
18 22
  transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
19 23
}
20 24

21 25
.btn-hover-effect:active {
22 26
  transform: scale(0.95);
23 27
}