diff --git a/Examples/cuda_sum_vec.cu b/Examples/cuda_sum_vec.cu
new file mode 100644
index 0000000000000000000000000000000000000000..a5dc39eb821af6f43e6fed08ec8ec6770e16d201
--- /dev/null
+++ b/Examples/cuda_sum_vec.cu
@@ -0,0 +1,83 @@
+#include <iostream>
+#include <vector>
+
+constexpr size_t kVecSize = 100000;
+
+__device__ constexpr size_t getIdx() {
+    return blockDim.x * blockIdx.x + threadIdx.x;
+}
+
+__global__ void sumVectors(float *a, float *b, float *c) {
+    size_t idx = getIdx();
+    if (idx < kVecSize) {
+        c[idx] = a[idx] + b[idx];
+    }
+}
+
+int main() {
+    constexpr size_t kBytes = sizeof(float) * kVecSize;
+
+    // Host initialization
+    float *host_vec_a = nullptr;
+    float *host_vec_b = nullptr;
+    float *host_vec_c = nullptr;
+    cudaMallocHost(&host_vec_a, kBytes);
+    cudaMallocHost(&host_vec_b, kBytes);
+    cudaMallocHost(&host_vec_c, kBytes);
+
+    for (size_t i = 0; i < kVecSize; i++) {
+        host_vec_a[i] = static_cast<float>(i);
+        host_vec_b[i] = 2.0 * static_cast<float>(i);
+    }
+
+    // Device initialization
+    float *dev_vec_a = nullptr;
+    float *dev_vec_b = nullptr;
+    float *dev_vec_c = nullptr;
+    cudaMalloc(&dev_vec_a, kBytes);
+    cudaMalloc(&dev_vec_b, kBytes);
+    cudaMalloc(&dev_vec_c, kBytes);
+
+    // Copy host vectors on device
+    cudaMemcpy(dev_vec_a, host_vec_a, kBytes, cudaMemcpyHostToDevice);
+    cudaMemcpy(dev_vec_b, host_vec_b, kBytes, cudaMemcpyHostToDevice);
+
+    // Compute device execution parameters
+    constexpr size_t kThreadPerBlock = 256;
+    constexpr size_t kBlockPerGrid = kVecSize / kThreadPerBlock + ((kVecSize % kThreadPerBlock) != 0 ? 1 : 0);
+
+    // Run kernel
+    sumVectors<<<kBlockPerGrid, kThreadPerBlock>>>(dev_vec_a,
+                                                   dev_vec_b,
+                                                   dev_vec_c);
+
+    // Get back the resulting vector to host
+    cudaMemcpy(host_vec_c, dev_vec_c, kBytes, cudaMemcpyDeviceToHost);
+
+    constexpr float tol = 1e-5;
+    bool is_correct = true;
+    for (size_t i = 0; i < kVecSize; i++) {
+        float expected = 3.0 * static_cast<float>(i);
+        if (std::abs(host_vec_c[i] - expected) > tol) {
+            is_correct = false;
+            break;
+        }
+    }
+    std::cout << "The sum of the two vector is ";
+    if (is_correct) {
+        std::cout << "correct";
+    } else {
+        std::cout << "wrong";
+    }
+    std::cout << std::endl;
+
+    // Host cleanup
+    cudaFreeHost(host_vec_a);
+    cudaFreeHost(host_vec_b);
+    cudaFreeHost(host_vec_c);
+
+    // Device cleanup
+    cudaFree(dev_vec_a);
+    cudaFree(dev_vec_b);
+    cudaFree(dev_vec_c);
+}
\ No newline at end of file
diff --git a/Examples/makefile b/Examples/makefile
index 500779bd58195143e36a4158f42e09425a273956..c613d8094c971be3603ea8f58cd506f16d16d23a 100644
--- a/Examples/makefile
+++ b/Examples/makefile
@@ -5,13 +5,16 @@ FLAGS=--std=c++20 -stdpar=gpu
 INCLUDES_WARNINGS:=--diag_suppress useless_using_declaration
 
 
-all: artefacts/future
+all: artefacts/future artefacts/cuda_sum_vec
 
-artefacts/future: artefacts/future.o
+artefacts/%: artefacts/%.o
 	$(CC) $(FLAGS) $^ -o $@
 
 artefacts/%.o: %.cpp
 	$(CC) $(FLAGS) $(INCLUDES_WARNINGS) -c $^ -o $@
 
+artefacts/%.o: %.cu
+	$(CC) $(FLAGS) $(INCLUDES_WARNINGS) -c $^ -o $@
+
 clean:
 	rm -vf artefacts/**
\ No newline at end of file
diff --git a/GPGPU.typ b/GPGPU.typ
new file mode 100644
index 0000000000000000000000000000000000000000..6050f240c09e9c918defc66cde66a0973ab5c9b6
--- /dev/null
+++ b/GPGPU.typ
@@ -0,0 +1,101 @@
+// https://polylux.dev/book/polylux.html
+// https://typst.app/docs
+#import "@preview/polylux:0.3.1": *
+#import themes.metropolis : *
+
+#show: metropolis-theme.with(aspect-ratio: "16-9", footer: "Parallel STL - HPC 2024")
+
+#set text(font: "Fira Sans", weight: "light", size: 20pt)
+#show math.equation: set text(font: "Fira Math")
+
+#title-slide(
+  title: "Algorithmes parallèles STL avec C++ 20",
+  subtitle: "GPGPU",
+  author: "Michaël El Kharroubi",
+  date: "27.02.2024",
+  extra: "HPC 2024 - HEPIA",
+)
+
+#new-section-slide("Introduction")
+
+#slide(
+  title: "Définition",
+)[
+  Le terme "_general-purpose computing on graphics processing units_" (GPGPU)
+  désigne l'ensemble des programmmes qui ne sont pas graphiques et qu'on réalise
+  sur GPU.
+
+  Par exemple :
+  - Simulation de phénomènes physiques
+  - IA et Machine learning
+  - Minage de crypto-monnaie
+]
+
+#slide(
+  title: "Pourquoi a-t-on besoin de GPU?",
+)[
+  Un CPU est conçu pour suivre une série d'instructions séquentiellement (ce qui
+  n'est plus le cas, dans une moindre mesure, avec les instructions vectorielles
+  ex: AVX).
+
+  #box(columns(2, gutter: 22pt)[
+    == Adapté :
+    - Ordonancer des tâches
+    - Accéder aux périphériques
+      - Réseau
+      - Disque
+      - Clavier/souris
+    #colbreak()
+    == Moins adapté :
+    - Calcul vectoriel
+    - Calcul matriciel
+  ])
+
+  Les GPU apportent une réponse à ces problèmes.
+]
+
+#slide(
+  title: "CPU vs GPU",
+)[
+  Un GPU est un processeur vectoriel, son objectif est d'effectuer massivement des
+  calculs en parallèle.
+
+  #figure(
+    image("assets/cpu-gpu.svg", width: 70%),
+    caption: [NVIDIA CUDA Programming Guide version 3.0 - 2010],
+  )
+
+  #link("https://youtu.be/-P28LKWTzrI")[Partenariat Myth Busters & NVidia]
+]
+
+#new-section-slide("La programmation sur GPU")
+
+#slide(
+  title: "CUDA",
+)[
+  CUDA est le kit de développement de NVIDIA pour faire du GPGPU. C'est le kit le
+  plus populaire de développement GPGPU.
+
+  CUDA permet d'écrire du code en C/C++ et de le compiler pour qu'il soit exécuté
+  sur des GPU de NVidia.
+
+  Dans la concurrence, on peut également citer OpenCL (multi-plateforme), ROCm
+  pour AMD ou OneAPI pour Intel.
+]
+
+#slide(title: "Déroulement classique d'un programmme GPGPU")[
+  + Le CPU envoie les données à traiter au GPU #pause
+  + Le GPU applique un kernel sur les données #pause
+  + Le CPU récupère le résultat #pause
+]
+
+#new-section-slide("Exemple de code CUDA et notions à retenir")
+
+#slide(title: "Notions essentielles à retenir")[
+  - Le CPU et le GPU sont deux périphériques distincts
+  - Le GPU est prévu pour effectuer massivement des calculs
+  - La mémoire n'est pas partagée
+  - On parle de *Host* pour le CPU et de *Device* pour le GPU
+]
+
+#new-section-slide("Questions ?")
\ No newline at end of file
diff --git a/assets/.gitkeep b/assets/.gitkeep
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/assets/cpu-gpu.svg b/assets/cpu-gpu.svg
new file mode 100644
index 0000000000000000000000000000000000000000..59b428ab1ac07a67c6642c2d6edc4d3b63d81c52
--- /dev/null
+++ b/assets/cpu-gpu.svg
@@ -0,0 +1,1249 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.1"
+   width="2162.75"
+   height="816.04211"
+   id="svg2">
+  <defs
+     id="defs7309">
+    <clipPath
+       id="clipPath5620">
+      <path
+         d="m 408.88,570.7 41.82,0 0,22.32 -41.82,0 0,-22.32 z"
+         id="path5622" />
+    </clipPath>
+    <clipPath
+       id="clipPath5628">
+      <path
+         d="m 408.88,570.7 41.82,0 0,22.32 -41.82,0 0,-22.32 z"
+         id="path5630" />
+    </clipPath>
+    <clipPath
+       id="clipPath5640">
+      <path
+         d="m 408.88,570.7 41.82,0 0,22.32 -41.82,0 0,-22.32 z"
+         id="path5642" />
+    </clipPath>
+    <clipPath
+       id="clipPath4872">
+      <path
+         d="m 358.36,592.66 143.94,0 0,21.54 -143.94,0 0,-21.54 z"
+         id="path4874" />
+    </clipPath>
+    <clipPath
+       id="clipPath4880">
+      <path
+         d="m 358.36,592.66 143.94,0 0,21.54 -143.94,0 0,-21.54 z"
+         id="path4882" />
+    </clipPath>
+    <clipPath
+       id="clipPath4892">
+      <path
+         d="m 358.36,592.66 143.94,0 0,21.54 -143.94,0 0,-21.54 z"
+         id="path4894" />
+    </clipPath>
+    <clipPath
+       id="clipPath4840">
+      <path
+         d="m 213.86,570.7 41.7,0 0,22.26 -41.7,0 0,-22.26 z"
+         id="path4842" />
+    </clipPath>
+    <clipPath
+       id="clipPath4848">
+      <path
+         d="m 213.86,570.7 41.7,0 0,22.26 -41.7,0 0,-22.26 z"
+         id="path4850" />
+    </clipPath>
+    <clipPath
+       id="clipPath4860">
+      <path
+         d="m 213.86,570.7 41.7,0 0,22.26 -41.7,0 0,-22.26 z"
+         id="path4862" />
+    </clipPath>
+    <clipPath
+       id="clipPath4812">
+      <path
+         d="m 162.8,592.6 143.88,0 0,21.6 -143.88,0 0,-21.6 z"
+         id="path4814" />
+    </clipPath>
+    <clipPath
+       id="clipPath4820">
+      <path
+         d="m 162.8,592.6 143.88,0 0,21.6 -143.88,0 0,-21.6 z"
+         id="path4822" />
+    </clipPath>
+    <clipPath
+       id="clipPath4832">
+      <path
+         d="m 162.8,592.6 143.88,0 0,21.6 -143.88,0 0,-21.6 z"
+         id="path4834" />
+    </clipPath>
+    <clipPath
+       id="clipPath4780">
+      <path
+         d="m 237.86,660.66 33.78,0 0,19.38 -33.78,0 0,-19.38 z"
+         id="path4782" />
+    </clipPath>
+    <clipPath
+       id="clipPath4788">
+      <path
+         d="m 237.86,660.66 33.78,0 0,19.38 -33.78,0 0,-19.38 z"
+         id="path4790" />
+    </clipPath>
+    <clipPath
+       id="clipPath4800">
+      <path
+         d="m 237.86,660.66 33.78,0 0,19.38 -33.78,0 0,-19.38 z"
+         id="path4802" />
+    </clipPath>
+    <clipPath
+       id="clipPath4748">
+      <path
+         d="m 237.86,681.42 33.78,0 0,19.38 -33.78,0 0,-19.38 z"
+         id="path4750" />
+    </clipPath>
+    <clipPath
+       id="clipPath4756">
+      <path
+         d="m 237.86,681.42 33.78,0 0,19.38 -33.78,0 0,-19.38 z"
+         id="path4758" />
+    </clipPath>
+    <clipPath
+       id="clipPath4768">
+      <path
+         d="m 237.86,681.42 33.78,0 0,19.38 -33.78,0 0,-19.38 z"
+         id="path4770" />
+    </clipPath>
+    <clipPath
+       id="clipPath4716">
+      <path
+         d="m 273.2,660.66 33.84,0 0,19.38 -33.84,0 0,-19.38 z"
+         id="path4718" />
+    </clipPath>
+    <clipPath
+       id="clipPath4724">
+      <path
+         d="m 273.2,660.66 33.84,0 0,19.38 -33.84,0 0,-19.38 z"
+         id="path4726" />
+    </clipPath>
+    <clipPath
+       id="clipPath4736">
+      <path
+         d="m 273.2,660.66 33.84,0 0,19.38 -33.84,0 0,-19.38 z"
+         id="path4738" />
+    </clipPath>
+    <clipPath
+       id="clipPath4684">
+      <path
+         d="m 162.92,661.32 71.28,0 0,39.48 -71.28,0 0,-39.48 z"
+         id="path4686" />
+    </clipPath>
+    <clipPath
+       id="clipPath4692">
+      <path
+         d="m 162.92,661.32 71.28,0 0,39.48 -71.28,0 0,-39.48 z"
+         id="path4694" />
+    </clipPath>
+    <clipPath
+       id="clipPath4704">
+      <path
+         d="m 162.92,661.32 71.28,0 0,39.48 -71.28,0 0,-39.48 z"
+         id="path4706" />
+    </clipPath>
+    <clipPath
+       id="clipPath4652">
+      <path
+         d="m 273.2,681.42 33.84,0 0,19.38 -33.84,0 0,-19.38 z"
+         id="path4654" />
+    </clipPath>
+    <clipPath
+       id="clipPath4660">
+      <path
+         d="m 273.2,681.42 33.84,0 0,19.38 -33.84,0 0,-19.38 z"
+         id="path4662" />
+    </clipPath>
+    <clipPath
+       id="clipPath4672">
+      <path
+         d="m 273.2,681.42 33.84,0 0,19.38 -33.84,0 0,-19.38 z"
+         id="path4674" />
+    </clipPath>
+    <clipPath
+       id="clipPath4620">
+      <path
+         d="m 162.92,622 143.88,0 0,36.98 -143.88,0 0,-36.98 z"
+         id="path4622" />
+    </clipPath>
+    <clipPath
+       id="clipPath4628">
+      <path
+         d="m 162.92,622 143.88,0 0,36.98 -143.88,0 0,-36.98 z"
+         id="path4630" />
+    </clipPath>
+    <clipPath
+       id="clipPath4640">
+      <path
+         d="m 162.92,622 143.88,0 0,36.98 -143.88,0 0,-36.98 z"
+         id="path4642" />
+    </clipPath>
+  </defs>
+  <metadata
+     id="metadata7312">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     transform="translate(709.3125,-108.15625)"
+     id="layer1">
+    <path
+       d="m -688.26526,641.41379 899.375,0 0,-231.5625 -899.375,0 0,231.5625 z"
+       id="path4612"
+       style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+    <path
+       d="m -688.26526,641.41379 899.375,0 0,-231.5625 -899.375,0 0,231.5625 z"
+       id="path4614"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <g
+       transform="matrix(6.25,0,0,-6.25,-1706.3903,4528.6016)"
+       id="g4616">
+      <g
+         clip-path="url(#clipPath4620)"
+         id="g4618">
+        <g
+           id="g4624">
+          <g
+             clip-path="url(#clipPath4628)"
+             id="g4626">
+            <text
+               transform="matrix(1,0,0,-1,170.12,649)"
+               id="text4632">
+              <tspan
+                 x="0 5.32266 10.1346 14.34006 19.44726"
+                 y="0"
+                 id="tspan4634"
+                 style="font-size:7.98000002px;font-variant:normal;font-weight:bold;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Tahoma;-inkscape-font-specification:Tahoma Bold">Cache</tspan>
+            </text>
+          </g>
+        </g>
+        <g
+           id="g4636">
+          <g
+             clip-path="url(#clipPath4640)"
+             id="g4638" />
+        </g>
+      </g>
+    </g>
+    <path
+       d="m 1.10974,270.16379 211.5625,0 0,-121.5625 -211.5625,0 0,121.5625 z"
+       id="path4644"
+       style="fill:#99ff66;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+    <path
+       d="m 1.10974,270.16379 211.5625,0 0,-121.5625 -211.5625,0 0,121.5625 z"
+       id="path4646"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <g
+       transform="matrix(6.25,0,0,-6.25,-1706.3903,4528.6016)"
+       id="g4648">
+      <g
+         clip-path="url(#clipPath4652)"
+         id="g4650">
+        <g
+           id="g4656">
+          <g
+             clip-path="url(#clipPath4660)"
+             id="g4658">
+            <text
+               transform="matrix(1,0,0,-1,278.3,687.96)"
+               id="text4664">
+              <tspan
+                 x="0 5.46 10.01826"
+                 y="0"
+                 id="tspan4666"
+                 style="font-size:7.98000002px;font-variant:normal;font-weight:bold;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Tahoma;-inkscape-font-specification:Tahoma Bold">ALU</tspan>
+            </text>
+          </g>
+        </g>
+        <g
+           id="g4668">
+          <g
+             clip-path="url(#clipPath4672)"
+             id="g4670" />
+        </g>
+      </g>
+    </g>
+    <path
+       d="m -688.26526,395.47629 445.625,0 0,-246.875 -445.625,0 0,246.875 z"
+       id="path4676"
+       style="fill:#ffcc00;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+    <path
+       d="m -688.26526,395.47629 445.625,0 0,-246.875 -445.625,0 0,246.875 z"
+       id="path4678"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <g
+       transform="matrix(6.25,0,0,-6.25,-1706.3903,4528.6016)"
+       id="g4680">
+      <g
+         clip-path="url(#clipPath4684)"
+         id="g4682">
+        <g
+           id="g4688">
+          <g
+             clip-path="url(#clipPath4692)"
+             id="g4690">
+            <text
+               transform="matrix(1,0,0,-1,170.12,690.9)"
+               id="text4696">
+              <tspan
+                 x="0 5.32266 10.24632 15.35352 18.673201 22.13652 27.060181"
+                 y="0"
+                 id="tspan4698"
+                 style="font-size:7.98000002px;font-variant:normal;font-weight:bold;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Tahoma;-inkscape-font-specification:Tahoma Bold">Control</tspan>
+            </text>
+          </g>
+        </g>
+        <g
+           id="g4700">
+          <g
+             clip-path="url(#clipPath4704)"
+             id="g4702" />
+        </g>
+      </g>
+    </g>
+    <path
+       d="m 1.10974,399.85129 211.5625,0 0,-121.5625 -211.5625,0 0,121.5625 z"
+       id="path4708"
+       style="fill:#99ff66;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+    <path
+       d="m 1.10974,399.85129 211.5625,0 0,-121.5625 -211.5625,0 0,121.5625 z"
+       id="path4710"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <g
+       transform="matrix(6.25,0,0,-6.25,-1706.3903,4528.6016)"
+       id="g4712">
+      <g
+         clip-path="url(#clipPath4716)"
+         id="g4714">
+        <g
+           id="g4720">
+          <g
+             clip-path="url(#clipPath4724)"
+             id="g4722">
+            <text
+               transform="matrix(1,0,0,-1,278.3,667.2)"
+               id="text4728">
+              <tspan
+                 x="0 5.46 10.01826"
+                 y="0"
+                 id="tspan4730"
+                 style="font-size:7.98000002px;font-variant:normal;font-weight:bold;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Tahoma;-inkscape-font-specification:Tahoma Bold">ALU</tspan>
+            </text>
+          </g>
+        </g>
+        <g
+           id="g4732">
+          <g
+             clip-path="url(#clipPath4736)"
+             id="g4734" />
+        </g>
+      </g>
+    </g>
+    <path
+       d="m -220.14026,270.16379 211.5625,0 0,-121.5625 -211.5625,0 0,121.5625 z"
+       id="path4740"
+       style="fill:#99ff66;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+    <path
+       d="m -220.14026,270.16379 211.5625,0 0,-121.5625 -211.5625,0 0,121.5625 z"
+       id="path4742"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <g
+       transform="matrix(6.25,0,0,-6.25,-1706.3903,4528.6016)"
+       id="g4744">
+      <g
+         clip-path="url(#clipPath4748)"
+         id="g4746">
+        <g
+           id="g4752">
+          <g
+             clip-path="url(#clipPath4756)"
+             id="g4754">
+            <text
+               transform="matrix(1,0,0,-1,242.9,687.96)"
+               id="text4760">
+              <tspan
+                 x="0 5.46 10.01826"
+                 y="0"
+                 id="tspan4762"
+                 style="font-size:7.98000002px;font-variant:normal;font-weight:bold;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Tahoma;-inkscape-font-specification:Tahoma Bold">ALU</tspan>
+            </text>
+          </g>
+        </g>
+        <g
+           id="g4764">
+          <g
+             clip-path="url(#clipPath4768)"
+             id="g4766" />
+        </g>
+      </g>
+    </g>
+    <path
+       d="m -220.14026,399.85129 211.5625,0 0,-121.5625 -211.5625,0 0,121.5625 z"
+       id="path4772"
+       style="fill:#99ff66;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+    <path
+       d="m -220.14026,399.85129 211.5625,0 0,-121.5625 -211.5625,0 0,121.5625 z"
+       id="path4774"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <g
+       transform="matrix(6.25,0,0,-6.25,-1706.3903,4528.6016)"
+       id="g4776">
+      <g
+         clip-path="url(#clipPath4780)"
+         id="g4778">
+        <g
+           id="g4784">
+          <g
+             clip-path="url(#clipPath4788)"
+             id="g4786">
+            <text
+               transform="matrix(1,0,0,-1,242.9,667.2)"
+               id="text4792">
+              <tspan
+                 x="0 5.46 10.01826"
+                 y="0"
+                 id="tspan4794"
+                 style="font-size:7.98000002px;font-variant:normal;font-weight:bold;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Tahoma;-inkscape-font-specification:Tahoma Bold">ALU</tspan>
+            </text>
+          </g>
+        </g>
+        <g
+           id="g4796">
+          <g
+             clip-path="url(#clipPath4800)"
+             id="g4798" />
+        </g>
+      </g>
+    </g>
+    <path
+       d="m -688.89026,824.85129 899.375,0 0,-135 -899.375,0 0,135 z"
+       id="path4804"
+       style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+    <path
+       d="m -688.89026,824.85129 899.375,0 0,-135 -899.375,0 0,135 z"
+       id="path4806"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <g
+       transform="matrix(6.25,0,0,-6.25,-1706.3903,4528.6016)"
+       id="g4808">
+      <g
+         clip-path="url(#clipPath4812)"
+         id="g4810">
+        <g
+           id="g4816">
+          <g
+             clip-path="url(#clipPath4820)"
+             id="g4818">
+            <text
+               transform="matrix(1,0,0,-1,170,600.28)"
+               id="text4824">
+              <tspan
+                 x="0 6.0408602 11.87424 17.34054"
+                 y="0"
+                 id="tspan4826"
+                 style="font-size:7.98000002px;font-variant:normal;font-weight:bold;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Tahoma;-inkscape-font-specification:Tahoma Bold">DRAM</tspan>
+            </text>
+          </g>
+        </g>
+        <g
+           id="g4828">
+          <g
+             clip-path="url(#clipPath4832)"
+             id="g4830" />
+        </g>
+      </g>
+    </g>
+    <g
+       transform="matrix(6.25,0,0,-6.25,-1706.3903,4528.6016)"
+       id="g4836">
+      <g
+         clip-path="url(#clipPath4840)"
+         id="g4838">
+        <g
+           id="g4844">
+          <g
+             clip-path="url(#clipPath4848)"
+             id="g4846">
+            <text
+               transform="matrix(1,0,0,-1,223.4,580.06)"
+               id="text4852">
+              <tspan
+                 x="0 7.3236599 14.53752"
+                 y="0"
+                 id="tspan4854"
+                 style="font-size:10.97999954px;font-variant:normal;font-weight:bold;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Tahoma;-inkscape-font-specification:Tahoma Bold">CPU</tspan>
+            </text>
+          </g>
+        </g>
+        <g
+           id="g4856">
+          <g
+             clip-path="url(#clipPath4860)"
+             id="g4858" />
+        </g>
+      </g>
+    </g>
+    <path
+       d="m 532.98474,824.53879 899.99996,0 0,-135 -899.99996,0 0,135 z"
+       id="path4864"
+       style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+    <path
+       d="m 532.98474,824.53879 899.99996,0 0,-135 -899.99996,0 0,135 z"
+       id="path4866"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <g
+       transform="matrix(6.25,0,0,-6.25,-1706.3903,4528.6016)"
+       id="g4868">
+      <g
+         clip-path="url(#clipPath4872)"
+         id="g4870">
+        <g
+           id="g4876">
+          <g
+             clip-path="url(#clipPath4880)"
+             id="g4878">
+            <text
+               transform="matrix(1,0,0,-1,365.56,600.34)"
+               id="text4884">
+              <tspan
+                 x="0 6.0408602 11.87424 17.34054"
+                 y="0"
+                 id="tspan4886"
+                 style="font-size:7.98000002px;font-variant:normal;font-weight:bold;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Tahoma;-inkscape-font-specification:Tahoma Bold">DRAM</tspan>
+            </text>
+          </g>
+        </g>
+        <g
+           id="g4888">
+          <g
+             clip-path="url(#clipPath4892)"
+             id="g4890" />
+        </g>
+      </g>
+    </g>
+    <path
+       d="m 533.92224,174.22629 56.25,0 0,-25 -56.25,0 0,25 z"
+       id="path4896"
+       style="fill:#ffcc00;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+    <path
+       d="m 533.92224,174.22629 56.25,0 0,-25 -56.25,0 0,25 z"
+       id="path4898"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 533.92224,201.41379 56.25,0 0,-25 -56.25,0 0,25 z"
+       id="path4916"
+       style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+    <path
+       d="m 533.92224,201.41379 56.25,0 0,-25 -56.25,0 0,25 z"
+       id="path4918"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 597.67224,202.66379 834.99996,0 0,-52.1875 -834.99996,0 0,52.1875 z"
+       id="path4936"
+       style="fill:#99ff66;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+    <path
+       d="m 597.67224,202.66379 834.99996,0 0,-52.1875 -834.99996,0 0,52.1875 z"
+       id="path4938"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 649.85974,150.47629 0,52.1875"
+       id="path4956"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 702.04724,150.47629 0,52.1875"
+       id="path4958"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 754.23474,150.47629 0,52.1875"
+       id="path4960"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 806.10974,150.47629 0,52.1875"
+       id="path4962"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 858.29724,150.47629 0,52.1875"
+       id="path4964"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 910.79724,150.47629 -0.3125,52.1875"
+       id="path4966"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1223.9222,150.47629 -0.625,52.1875"
+       id="path4968"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 963.29724,150.47629 -0.3125,52.1875"
+       id="path4970"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1015.4847,150.47629 -0.625,52.1875"
+       id="path4972"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1067.6722,150.47629 -0.625,52.1875"
+       id="path4974"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1119.5472,150.47629 -0.3125,52.1875"
+       id="path4976"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1171.7347,150.47629 -0.3125,52.1875"
+       id="path4978"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1276.4222,150.47629 -0.625,52.1875"
+       id="path4980"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1328.6097,150.47629 -0.625,52.1875"
+       id="path4982"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1380.4847,150.47629 -0.3125,52.1875"
+       id="path4984"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 533.92224,236.72629 56.25,0 0,-25 -56.25,0 0,25 z"
+       id="path4986"
+       style="fill:#ffcc00;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+    <path
+       d="m 533.92224,236.72629 56.25,0 0,-25 -56.25,0 0,25 z"
+       id="path4988"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 533.92224,263.91379 56.25,0 0,-25 -56.25,0 0,25 z"
+       id="path5006"
+       style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+    <path
+       d="m 533.92224,263.91379 56.25,0 0,-25 -56.25,0 0,25 z"
+       id="path5008"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 597.67224,265.16379 834.99996,0 0,-52.1875 -834.99996,0 0,52.1875 z"
+       id="path5026"
+       style="fill:#99ff66;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+    <path
+       d="m 597.67224,265.16379 834.99996,0 0,-52.1875 -834.99996,0 0,52.1875 z"
+       id="path5028"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 649.85974,212.97629 0,52.1875"
+       id="path5046"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 702.04724,212.97629 0,52.1875"
+       id="path5048"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 754.23474,212.97629 0,52.1875"
+       id="path5050"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 806.10974,212.97629 0,52.1875"
+       id="path5052"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 858.29724,212.97629 0,52.1875"
+       id="path5054"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 910.79724,212.97629 -0.3125,52.1875"
+       id="path5056"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1223.9222,212.97629 -0.625,52.1875"
+       id="path5058"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 963.29724,212.97629 -0.3125,52.1875"
+       id="path5060"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1015.4847,212.97629 -0.625,52.1875"
+       id="path5062"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1067.6722,212.97629 -0.625,52.1875"
+       id="path5064"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1119.5472,212.97629 -0.3125,52.1875"
+       id="path5066"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1171.7347,212.97629 -0.3125,52.1875"
+       id="path5068"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1276.4222,212.97629 -0.625,52.1875"
+       id="path5070"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1328.6097,212.97629 -0.625,52.1875"
+       id="path5072"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1380.4847,212.97629 -0.3125,52.1875"
+       id="path5074"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 533.92224,299.22629 56.25,0 0,-25 -56.25,0 0,25 z"
+       id="path5076"
+       style="fill:#ffcc00;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+    <path
+       d="m 533.92224,299.22629 56.25,0 0,-25 -56.25,0 0,25 z"
+       id="path5078"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 533.92224,326.41379 56.25,0 0,-25 -56.25,0 0,25 z"
+       id="path5096"
+       style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+    <path
+       d="m 533.92224,326.41379 56.25,0 0,-25 -56.25,0 0,25 z"
+       id="path5098"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 597.67224,327.66379 834.99996,0 0,-52.1875 -834.99996,0 0,52.1875 z"
+       id="path5116"
+       style="fill:#99ff66;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+    <path
+       d="m 597.67224,327.66379 834.99996,0 0,-52.1875 -834.99996,0 0,52.1875 z"
+       id="path5118"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 649.85974,275.47629 0,52.1875"
+       id="path5136"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 702.04724,275.47629 0,52.1875"
+       id="path5138"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 754.23474,275.47629 0,52.1875"
+       id="path5140"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 806.10974,275.47629 0,52.1875"
+       id="path5142"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 858.29724,275.47629 0,52.1875"
+       id="path5144"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 910.79724,275.47629 -0.3125,52.1875"
+       id="path5146"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1223.9222,275.47629 -0.625,52.1875"
+       id="path5148"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 963.29724,275.47629 -0.3125,52.1875"
+       id="path5150"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1015.4847,275.47629 -0.625,52.1875"
+       id="path5152"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1067.6722,275.47629 -0.625,52.1875"
+       id="path5154"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1119.5472,275.47629 -0.3125,52.1875"
+       id="path5156"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1171.7347,275.47629 -0.3125,52.1875"
+       id="path5158"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1276.4222,275.47629 -0.625,52.1875"
+       id="path5160"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1328.6097,275.47629 -0.625,52.1875"
+       id="path5162"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1380.4847,275.47629 -0.3125,52.1875"
+       id="path5164"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 533.92224,361.72629 56.25,0 0,-25 -56.25,0 0,25 z"
+       id="path5166"
+       style="fill:#ffcc00;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+    <path
+       d="m 533.92224,361.72629 56.25,0 0,-25 -56.25,0 0,25 z"
+       id="path5168"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 533.92224,388.91379 56.25,0 0,-25 -56.25,0 0,25 z"
+       id="path5186"
+       style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+    <path
+       d="m 533.92224,388.91379 56.25,0 0,-25 -56.25,0 0,25 z"
+       id="path5188"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 597.67224,390.16379 834.99996,0 0,-52.1875 -834.99996,0 0,52.1875 z"
+       id="path5206"
+       style="fill:#99ff66;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+    <path
+       d="m 597.67224,390.16379 834.99996,0 0,-52.1875 -834.99996,0 0,52.1875 z"
+       id="path5208"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 649.85974,337.97629 0,52.1875"
+       id="path5226"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 702.04724,337.97629 0,52.1875"
+       id="path5228"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 754.23474,337.97629 0,52.1875"
+       id="path5230"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 806.10974,337.97629 0,52.1875"
+       id="path5232"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 858.29724,337.97629 0,52.1875"
+       id="path5234"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 910.79724,337.97629 -0.3125,52.1875"
+       id="path5236"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1223.9222,337.97629 -0.625,52.1875"
+       id="path5238"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 963.29724,337.97629 -0.3125,52.1875"
+       id="path5240"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1015.4847,337.97629 -0.625,52.1875"
+       id="path5242"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1067.6722,337.97629 -0.625,52.1875"
+       id="path5244"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1119.5472,337.97629 -0.3125,52.1875"
+       id="path5246"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1171.7347,337.97629 -0.3125,52.1875"
+       id="path5248"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1276.4222,337.97629 -0.625,52.1875"
+       id="path5250"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1328.6097,337.97629 -0.625,52.1875"
+       id="path5252"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1380.4847,337.97629 -0.3125,52.1875"
+       id="path5254"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 533.92224,424.53879 56.25,0 0,-25 -56.25,0 0,25 z"
+       id="path5256"
+       style="fill:#ffcc00;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+    <path
+       d="m 533.92224,424.53879 56.25,0 0,-25 -56.25,0 0,25 z"
+       id="path5258"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 533.92224,452.03879 56.25,0 0,-25 -56.25,0 0,25 z"
+       id="path5276"
+       style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+    <path
+       d="m 533.92224,452.03879 56.25,0 0,-25 -56.25,0 0,25 z"
+       id="path5278"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 597.67224,453.28879 834.99996,0 0,-52.5 -834.99996,0 0,52.5 z"
+       id="path5296"
+       style="fill:#99ff66;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+    <path
+       d="m 597.67224,453.28879 834.99996,0 0,-52.5 -834.99996,0 0,52.5 z"
+       id="path5298"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 649.85974,400.78879 0,52.5"
+       id="path5316"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 702.04724,400.78879 0,52.5"
+       id="path5318"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 754.23474,400.78879 0,52.5"
+       id="path5320"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 806.10974,400.78879 0,52.5"
+       id="path5322"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 858.29724,400.78879 0,52.5"
+       id="path5324"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 910.79724,400.78879 -0.3125,52.5"
+       id="path5326"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1223.9222,400.78879 -0.625,52.5"
+       id="path5328"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 963.29724,400.78879 -0.3125,52.5"
+       id="path5330"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1015.4847,400.78879 -0.625,52.5"
+       id="path5332"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1067.6722,400.78879 -0.625,52.5"
+       id="path5334"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1119.5472,400.78879 -0.3125,52.5"
+       id="path5336"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1171.7347,400.78879 -0.3125,52.5"
+       id="path5338"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1276.4222,400.78879 -0.625,52.5"
+       id="path5340"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1328.6097,400.78879 -0.625,52.5"
+       id="path5342"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1380.4847,400.78879 -0.3125,52.5"
+       id="path5344"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 533.92224,487.35129 56.25,0 0,-25 -56.25,0 0,25 z"
+       id="path5346"
+       style="fill:#ffcc00;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+    <path
+       d="m 533.92224,487.35129 56.25,0 0,-25 -56.25,0 0,25 z"
+       id="path5348"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 533.92224,514.53879 56.25,0 0,-25 -56.25,0 0,25 z"
+       id="path5366"
+       style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+    <path
+       d="m 533.92224,514.53879 56.25,0 0,-25 -56.25,0 0,25 z"
+       id="path5368"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 597.67224,515.78879 834.99996,0 0,-52.1875 -834.99996,0 0,52.1875 z"
+       id="path5386"
+       style="fill:#99ff66;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+    <path
+       d="m 597.67224,515.78879 834.99996,0 0,-52.1875 -834.99996,0 0,52.1875 z"
+       id="path5388"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 649.85974,463.60129 0,52.1875"
+       id="path5406"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 702.04724,463.60129 0,52.1875"
+       id="path5408"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 754.23474,463.60129 0,52.1875"
+       id="path5410"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 806.10974,463.60129 0,52.1875"
+       id="path5412"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 858.29724,463.60129 0,52.1875"
+       id="path5414"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 910.79724,463.60129 -0.3125,52.1875"
+       id="path5416"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1223.9222,463.60129 -0.625,52.1875"
+       id="path5418"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 963.29724,463.60129 -0.3125,52.1875"
+       id="path5420"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1015.4847,463.60129 -0.625,52.1875"
+       id="path5422"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1067.6722,463.60129 -0.625,52.1875"
+       id="path5424"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1119.5472,463.60129 -0.3125,52.1875"
+       id="path5426"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1171.7347,463.60129 -0.3125,52.1875"
+       id="path5428"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1276.4222,463.60129 -0.625,52.1875"
+       id="path5430"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1328.6097,463.60129 -0.625,52.1875"
+       id="path5432"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1380.4847,463.60129 -0.3125,52.1875"
+       id="path5434"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 533.92224,549.85129 56.25,0 0,-25 -56.25,0 0,25 z"
+       id="path5436"
+       style="fill:#ffcc00;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+    <path
+       d="m 533.92224,549.85129 56.25,0 0,-25 -56.25,0 0,25 z"
+       id="path5438"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 533.92224,577.03879 56.25,0 0,-25 -56.25,0 0,25 z"
+       id="path5456"
+       style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+    <path
+       d="m 533.92224,577.03879 56.25,0 0,-25 -56.25,0 0,25 z"
+       id="path5458"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 597.67224,578.28879 834.99996,0 0,-52.1875 -834.99996,0 0,52.1875 z"
+       id="path5476"
+       style="fill:#99ff66;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+    <path
+       d="m 597.67224,578.28879 834.99996,0 0,-52.1875 -834.99996,0 0,52.1875 z"
+       id="path5478"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 649.85974,526.10129 0,52.1875"
+       id="path5496"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 702.04724,526.10129 0,52.1875"
+       id="path5498"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 754.23474,526.10129 0,52.1875"
+       id="path5500"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 806.10974,526.10129 0,52.1875"
+       id="path5502"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 858.29724,526.10129 0,52.1875"
+       id="path5504"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 910.79724,526.10129 -0.3125,52.1875"
+       id="path5506"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1223.9222,526.10129 -0.625,52.1875"
+       id="path5508"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 963.29724,526.10129 -0.3125,52.1875"
+       id="path5510"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1015.4847,526.10129 -0.625,52.1875"
+       id="path5512"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1067.6722,526.10129 -0.625,52.1875"
+       id="path5514"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1119.5472,526.10129 -0.3125,52.1875"
+       id="path5516"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1171.7347,526.10129 -0.3125,52.1875"
+       id="path5518"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1276.4222,526.10129 -0.625,52.1875"
+       id="path5520"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1328.6097,526.10129 -0.625,52.1875"
+       id="path5522"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1380.4847,526.10129 -0.3125,52.1875"
+       id="path5524"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 533.92224,612.66379 56.25,0 0,-25 -56.25,0 0,25 z"
+       id="path5526"
+       style="fill:#ffcc00;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+    <path
+       d="m 533.92224,612.66379 56.25,0 0,-25 -56.25,0 0,25 z"
+       id="path5528"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 533.92224,639.85129 56.25,0 0,-25 -56.25,0 0,25 z"
+       id="path5546"
+       style="fill:#ff6600;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+    <path
+       d="m 533.92224,639.85129 56.25,0 0,-25 -56.25,0 0,25 z"
+       id="path5548"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 597.67224,641.10129 834.99996,0 0,-52.1875 -834.99996,0 0,52.1875 z"
+       id="path5566"
+       style="fill:#99ff66;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+    <path
+       d="m 597.67224,641.10129 834.99996,0 0,-52.1875 -834.99996,0 0,52.1875 z"
+       id="path5568"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 649.85974,588.91379 0,52.1875"
+       id="path5586"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 702.04724,588.91379 0,52.1875"
+       id="path5588"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 754.23474,588.91379 0,52.1875"
+       id="path5590"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 806.10974,588.91379 0,52.1875"
+       id="path5592"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 858.29724,588.91379 0,52.1875"
+       id="path5594"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 910.79724,588.91379 -0.3125,52.1875"
+       id="path5596"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1223.9222,588.91379 -0.625,52.1875"
+       id="path5598"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 963.29724,588.91379 -0.3125,52.1875"
+       id="path5600"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1015.4847,588.91379 -0.625,52.1875"
+       id="path5602"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1067.6722,588.91379 -0.625,52.1875"
+       id="path5604"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1119.5472,588.91379 -0.3125,52.1875"
+       id="path5606"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1171.7347,588.91379 -0.3125,52.1875"
+       id="path5608"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1276.4222,588.91379 -0.625,52.1875"
+       id="path5610"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1328.6097,588.91379 -0.625,52.1875"
+       id="path5612"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <path
+       d="m 1380.4847,588.91379 -0.3125,52.1875"
+       id="path5614"
+       style="fill:none;stroke:#969696;stroke-width:0.875;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:8;stroke-opacity:1;stroke-dasharray:none" />
+    <g
+       transform="matrix(6.25,0,0,-6.25,-1706.3903,4528.6016)"
+       id="g5616">
+      <g
+         clip-path="url(#clipPath5620)"
+         id="g5618">
+        <g
+           id="g5624">
+          <g
+             clip-path="url(#clipPath5628)"
+             id="g5626">
+            <text
+               transform="matrix(1,0,0,-1,418,580.12)"
+               id="text5632">
+              <tspan
+                 x="0 8.1801004 15.39396"
+                 y="0"
+                 id="tspan5634"
+                 style="font-size:10.97999954px;font-variant:normal;font-weight:bold;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;font-family:Tahoma;-inkscape-font-specification:Tahoma Bold">GPU</tspan>
+            </text>
+          </g>
+        </g>
+        <g
+           id="g5636">
+          <g
+             clip-path="url(#clipPath5640)"
+             id="g5638" />
+        </g>
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/intro.typ b/intro.typ
index 89c053edbffa114c8d60a152239e4266fcc02b39..6e87c2a441a34b67aa22ed9d5953626c53822599 100644
--- a/intro.typ
+++ b/intro.typ
@@ -3,20 +3,17 @@
 #import "@preview/polylux:0.3.1": *
 #import themes.metropolis : *
 
-#show: metropolis-theme.with(
-  aspect-ratio: "16-9", 
-  footer: "Parallel STL - HPC 2024"
-)
+#show: metropolis-theme.with(aspect-ratio: "16-9", footer: "Parallel STL - HPC 2024")
 
 #set text(font: "Fira Sans", weight: "light", size: 20pt)
 #show math.equation: set text(font: "Fira Math")
 
 #title-slide(
   title: "Algorithmes parallèles STL avec C++ 20",
-  subtitle: "HPC 2024",
+  subtitle: "Introduction",
   author: "Michaël El Kharroubi",
   date: "27.02.2024",
-  extra: "HEPIA",
+  extra: "HPC 2024 - HEPIA",
 )
 
 //#slide(title: "Table des matières")[
@@ -25,38 +22,45 @@
 
 #new-section-slide("Introduction")
 
-#slide(title: "Objectif du cours")[
-Dans ce cours, nous verrons comment exécuter du code sur GPU de façon moderne avec C++.
+#slide(
+  title: "Objectif du cours",
+)[
+  Dans ce cours, nous verrons comment exécuter du code sur GPU de façon moderne
+  avec C++.
 
-Nous utiliserons le kit de développement HPC de Nvidia, en particulier le compilateur _nvc++_.
+  Nous utiliserons le kit de développement HPC de Nvidia, en particulier le
+  compilateur _nvc++_.
 
-Le but de ce cours est de vous donner une courte introduction au calcul générique sur processeur graphique (GPGPU).
+  Le but de ce cours est de vous donner une courte introduction au calcul
+  générique sur processeur graphique (GPGPU).
 ]
 
 #slide(title: "Contenu du cours")[
- #box(
-  columns(1)[
-  Dans ce cours nous verrons les concepts suivants :
-
-  + Qu'est-ce que le GPGPU, et pour quel usage s'en sert-on?
-    + Comment fait-on du GPGPU de manière classique
-    + La problématique de la mémoire en GPGPU                 #pause
-  + Les itérateurs C++
-  + Les vecteurs, les tableaux et les spans
-  + Les captures
-  + Les algorithmes STL                                       #pause
-  + Présentation du kit HPC Nvidia
-    + Le compilateur nvc++
-    + Comment paralléliser son code avec nvc++
-  + Le futur du paradigme STL avec les mdspans et les views
-  ]
- )
+  #box(columns(1)[
+    Dans ce cours nous verrons les concepts suivants :
+
+    + Qu'est-ce que le GPGPU, et pour quel usage s'en sert-on?
+      + Comment fait-on du GPGPU de manière classique
+      + La problématique de la mémoire en GPGPU #pause
+    + Les itérateurs C++
+    + Les vecteurs, les tableaux et les spans
+    + Les captures
+    + Les algorithmes STL #pause
+    + Présentation du kit HPC Nvidia
+      + Le compilateur nvc++
+      + Comment paralléliser son code avec nvc++
+    + Le futur du paradigme STL avec les mdspans et les views
+  ])
 ]
 
-#slide(title: "Planning du cours")[
-  Le cours sera donné sur une semaine (5 périodes). Nous ferons 2 périodes de théorie et 3 périodes de pratique.
+#slide(
+  title: "Planning du cours",
+)[
+  Le cours sera donné sur une semaine (5 périodes). Nous ferons 2 périodes de
+  théorie et 3 périodes de pratique.
 
-  Pour la partie pratique, nous implémenterons le calcul des équations de la chaleur sur GPU. 
+  Pour la partie pratique, nous implémenterons le calcul des équations de la
+  chaleur sur GPU.
 ]
 
 #new-section-slide("Questions ?")
\ No newline at end of file