diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ed6642ad5be7ace9d3d1909d825d4539103c2059..f5e788421b8fb98d9ecf23a411e9da801446dc2a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -4,11 +4,12 @@ image: "rust:1-slim-bookworm" # Use cargo to test the project before_script: - apt update && apt upgrade -y - - apt install curl unzip -y + - apt install curl unzip xz-utils -y - mkdir -p $HOME/.cargo/bin - curl -sSL https://github.com/rust-lang/mdBook/releases/download/v0.4.31/mdbook-v0.4.31-x86_64-unknown-linux-musl.tar.gz | tar -xz --directory=$HOME/.cargo/bin - curl -L https://github.com/Michael-F-Bryan/mdbook-linkcheck/releases/download/v0.7.7/mdbook-linkcheck.x86_64-unknown-linux-gnu.zip -o mdbook-linkcheck.zip - unzip mdbook-linkcheck.zip -d $HOME/.cargo/bin && chmod +x $HOME/.cargo/bin/mdbook-linkcheck + - curl -sSL https://github.com/ferrous-systems/mdslides/releases/download/v0.3.0/mdslides-v0.3.0-x86_64-unknown-linux-gnu.tar.xz | tar -xJ "mdslides-v0.3.0-x86_64-unknown-linux-gnu/mdslides" && mv mdslides-v0.3.0-x86_64-unknown-linux-gnu/mdslides $HOME/.cargo/bin/ && rm -r mdslides-v0.3.0-x86_64-unknown-linux-gnu - rustup component add rustfmt - rustup component add clippy - export PATH=$PATH:$HOME/.cargo/bin @@ -64,6 +65,12 @@ build:book: - cd book - mdbook test - mdbook build + +build:slides: + stage: build + script: + - cd slides + - ./build_slides.sh deploy:book: stage: deploy @@ -72,4 +79,13 @@ deploy:book: script: - cd book - mdbook build - - rsync -avz book/* ur1bg_malas@ur1bg.ftp.infomaniak.com:web/malaspinas/rust-101/ + - rsync -avz book/html/* ur1bg_malas@ur1bg.ftp.infomaniak.com:web/malaspinas/rust-101/book/ + +deploy:slides: + stage: deploy + only: + - main + script: + - cd slides + - ./build_slides.sh + - rsync -avz slides ur1bg_malas@ur1bg.ftp.infomaniak.com:web/malaspinas/rust-101/ diff --git a/book/book.toml b/book/book.toml index 8888cd7525c53f043ff9b9eb3ac07a350bdc8822..78ab4a0e5be49a0c31d47f9e83483f922c1b1294 100644 --- a/book/book.toml +++ b/book/book.toml @@ -8,15 +8,15 @@ title = "Rust-101: Université d'été" [output.html.playground] editable = true -# [output.linkcheck] -# # Should we check links on the internet? Enabling this option adds a -# # non-negligible performance impact -# follow-web-links = true +[output.linkcheck] +# Should we check links on the internet? Enabling this option adds a +# non-negligible performance impact +follow-web-links = true -# # How should warnings be treated? -# # -# # - "warn" will emit warning messages -# # - "error" treats all warnings as errors, failing the linkcheck -# # - "ignore" will ignore warnings, suppressing diagnostic messages and allowing -# # the linkcheck to continuing -# warning-policy = "error" +# How should warnings be treated? +# +# - "warn" will emit warning messages +# - "error" treats all warnings as errors, failing the linkcheck +# - "ignore" will ignore warnings, suppressing diagnostic messages and allowing +# the linkcheck to continuing +warning-policy = "error" diff --git a/book/src/SUMMARY.md b/book/src/SUMMARY.md index 5fdc2d00d0279883060781aafcfb471a752a33ef..1208320ee6098275e12a220b21519a5257bcca8c 100644 --- a/book/src/SUMMARY.md +++ b/book/src/SUMMARY.md @@ -14,3 +14,4 @@ - [Part 09](./part09.md) - [Part 10](./part10.md) - [Part 11](./part11.md) +- [Part 12](./part12.md) diff --git a/book/src/part07.md b/book/src/part07.md new file mode 100644 index 0000000000000000000000000000000000000000..1c0d27e7b00007f2e2aa98ff166ddf4fccd4c6c3 --- /dev/null +++ b/book/src/part07.md @@ -0,0 +1 @@ +# Discussion du code `part07` diff --git a/book/src/part08.md b/book/src/part08.md new file mode 100644 index 0000000000000000000000000000000000000000..823eefb6a22ea90f08c1de99c6ed85a77a31b79d --- /dev/null +++ b/book/src/part08.md @@ -0,0 +1 @@ +# Part 08 diff --git a/book/src/part09.md b/book/src/part09.md new file mode 100644 index 0000000000000000000000000000000000000000..409d28409d94852b45ed1f8876fe959ab87647b9 --- /dev/null +++ b/book/src/part09.md @@ -0,0 +1 @@ +# Part 09 diff --git a/book/src/part10.md b/book/src/part10.md new file mode 100644 index 0000000000000000000000000000000000000000..1acace90d165643b41b496ef1c9c50e80ba5f0af --- /dev/null +++ b/book/src/part10.md @@ -0,0 +1 @@ +# Pointeurs intelligents et mémoire \ No newline at end of file diff --git a/book/src/part11.md b/book/src/part11.md new file mode 100644 index 0000000000000000000000000000000000000000..6b36dc13d6a523333d5d8dcf3731255c11ed1f04 --- /dev/null +++ b/book/src/part11.md @@ -0,0 +1 @@ +# Part 11 diff --git a/book/src/part12.md b/book/src/part12.md new file mode 100644 index 0000000000000000000000000000000000000000..42c0473b1e37fce2c412bd271e471a4a57f18105 --- /dev/null +++ b/book/src/part12.md @@ -0,0 +1,540 @@ +# Unsafe Rust + +## Concepts + +Les concepts abordés dans cet exemple sont: + +1. [La liste chaînée sûre](#la-liste-chaînée) +2. [Le Rust `unsafe`](#le-rust-unsafe) + +Une partie des exemples sont très fortement inspirés ou même tirés de l'excellent +livre [Learn Rust With Entirely Too Many Linked Lists](https://rust-unofficial.github.io/too-many-lists/). Je vous recommande d'ailleurs le blog de l'auteure [Aria Beingessner aka Gankra](https://faultlore.com/blah/). + +## Discussion + +Le Rust est un langage avec des contraintes de sécurité mémoire très fortes et un compilateur pointilleux. +Il possède donc des règles très strictes qui ne sont pas toujours applicables pour avoir un +code sûr et ergonomique. Ses créateurs·trices ont donc pensé à laisser la possibilité +de relaxer les contraintes dans un environnement particulier: le `unsafe` Rust. + +Pour plus d'informations et une description plus complète, vous pouvez vous référer: + +* À la [section 19.1](https://doc.rust-lang.org/book/ch19-01-unsafe-rust.html) du livre. +* Au [Rustonomicon](https://doc.rust-lang.org/nomicon/). + +Pour illustrer les concepts `unsafe`, nous allons discuter de l'une des structures de données +les plus "simples" de l'informatique, mais qui est très difficile à implémenter en Rust: la *liste simplement chaînée*. +Une discussion très détaillée de l'implémentation de la liste chaînée se trouve sur +l'excellent [Learn Rust With Entirely Too Many Linked Lists](https://rust-unofficial.github.io/too-many-lists/). +Rappelez vous également que la liste simplement chaînée est une structure de donnée permettant de représenter +une *pile* (structure de donnée abstraite bien connue). + +Pour commencer, nous allons voir son implémentation *sûre*, et les efforts qu'il faut consentir pour faire l'implémentation, +puis une implémentation `unsafe` ou pas sûre. + +### La liste chaînée + +Pour simplifier, nous allons nous limiter à l'implémentations de 6 fonctionnalité dans notre liste chaînée: + +1. La fonction `new()` qui crée une nouvelle liste. +2. La fonction `is_empty()` qui nous dit si la liste est vide. +3. La fonction `push()` qui ajoute un élément en tête de liste. +4. La fonction `pop()` qui retire l'élément de tête de la liste et retourne la valeur stockée. +5. La fonction `print()` qui affiche tous les éléments de la liste. + +Avant de voir l'implémentation de ces fonctions, nous devons définir la structure de données utilisée pour la liste chaînée. +Pour rappel, une liste chaînée est une suite de nœuds ou éléments qui sont reliés entre eux par des pointeurs: + +```ignore +val1 --> val2 --> val3 --> fin +``` + +Ainsi chaque élément contient les données et un pointeur vers l'élément suivant. En Rust, on serait donc +tenté de faire + +```rust,compile_fail +struct Element { + data: i32, + next: Element, +} +``` + +Comme pour le `C` cette construction ne peut pas fonctionner, car nous avons à faire à un type récursif et dont on ne peut connaître la taille à la compilation. + +```console +error[E0072]: recursive type `Element` has infinite size + --> src/main.rs:3:1 + | +3 | struct Element { + | ^^^^^^^^^^^^^^ +4 | data: i32, +5 | next: Element, + | ------- recursive without indirection + | +help: insert some indirection (e.g., a `Box`, `Rc`, or `&`) to break the cycle + | +5 | next: Box<Element>, + | ++++ + + +For more information about this error, try `rustc --explain E0072`. +error: could not compile `playground` (bin "playground") due to previous error +``` + +Ainsi, comme nous le recommande le compilateur, il faut utiliser un `Box` (voir le [chapitre 10](part10.md)) pour faire une allocation sur le tas de `next`. + +```rust +struct Element { + data: i32, + next: Box<Element>, +} +``` + +Nous ne sommes pas encore sortis d'affaire, car notre type élément ne permet pas de représenter la fin de la chaîne. Il faudrait que +`next` soit un élément suivant soit pas d'élément suivant (indiquant ainsi la fin de la chaîne). Mais on connaît un tel type non? +Le type `Option<T>` (voir le [chapitre 7](part07.md)) fait exactement ce que nous voulons: la variante `Some(element)` indique la présence +d'un élément suivant, alors que la variante `None` indique son absence. + +```rust +{{#include ../../codes/rust_lang/part12/src/immutable_linked_list/mod.rs:element}} +``` + +Il ne nous reste plus qu'à créer la structure de liste chaînée, qui va juste avoir la forme suivante: + +```rust,ignore +{{#include ../../codes/rust_lang/part12/src/immutable_linked_list/mod.rs:linked_list}} +``` +Et juste posséder la tête de la liste chaînée. + +La philosophie générale de l'implémentation purement `safe` de la liste chaînée est qu'on ne va *jamais* emprunter les instances de la liste chaînée, mais toujours +en prendre la propriété. Cela aura des effets non négligeables sur l'ergonomie du code (qui n'est pas forcément nécessaire), mais que l'on accepte à des fins éducatives. + +#### La fonction associée `new()` + +La fonction `new()` est triviale à écrire +```rust,ignore +{{#include ../../codes/rust_lang/part12/src/immutable_linked_list/mod.rs:new}} +``` +Il faut juste noter que `new()` retourne une nouvelle instance de `LinkedList` dont la tête est `None` (il n'y a aucun élément dans la liste). + +#### La méthode `is_empty()` + +La méthode `is_empty()` est un poil moins triviale à écrire. Pour déterminer si la liste est vide, il faut juste vérifier que que l'instance +de la liste chaînée à `head` soit égale à `None`. On peut faire cela avec du *pattern matching* +```rust,ignore +match self.head { + None => true, + _ => false, +} +``` +Mais cela ne suffit pas complètement, car il faut également retourner `self` (l'instance de la liste chaînée sinon elle serait détruite à la fin de `is_empty()`). +Ainsi on retourne non seulement le booléen qui nous dit si la liste est vide ou non, mais également la list (`self`). + +En fait, on peut faire beaucoup plus court et pratique en utilisant la +méthode `is_none()` de la librairie standard de Rust. Mais cela reviendrait à +emprunter `self` ce qui contreviendrait au principe qu'on s'est fixé pour cette implémentation +un peu étrange. +```rust,ignore +{{#include ../../codes/rust_lang/part12/src/immutable_linked_list/mod.rs:is_empty}} +``` + +#### La méthode `push()` + +La fonction `push(value)` doit créer un élément à placer en tête de liste qui aura comme `next` l'ancienne tête de liste. +Il y a différentes façons de l'implémenter. Ici, nous allons prendre possession de l'instance de la liste, et retourner +une nouvelle liste avec le nouvel élément ajouté +```rust,ignore +{{#include ../../codes/rust_lang/part12/src/immutable_linked_list/mod.rs:push}} +``` +Dans cette implémentation on voit que `self` est "move" dans la fonction `push` (on prend en argument `self` et non `&self` ou `&mut self`). Puis ont crée un nouvel élément +contenant `data` et la tête actuelle de la liste. Le nouvel élément `elem` a donc +la propriété de la mémoire de `self.head`. + +#### La fonction `pop()` + +La fonction `pop()` +```rust,ignore +{{#include ../../codes/rust_lang/part12/src/immutable_linked_list/mod.rs:pop}} +``` +retourne une `Option<i32>` avec éventuellement une valeur si la liste n'est pas vide, et retourne une nouvelle liste où la tête +est soit l'élément suivant soit une liste vide (si on est à la fin de la liste). + +Il faut noter la syntaxe `if let Some(elem) = self.head ... else ` qui permet de se passer +du pattern matching et raccourcir sensiblement le code. + +#### La fonction `print()` + +Finalement, la fonction `print()` est probablement la plus étrange de toutes. +```rust,ignore +{{#include ../../codes/rust_lang/part12/src/immutable_linked_list/mod.rs:print}} +``` +En effet, on aimerait ne pas avoir à détruire notre liste en entier lorsque nous la parcourons. +Ainsi, la fonction `print()` prend en argument `self` et retourne `Self`. +Cette fonction va créer une nouvelle instance de `LinkedList` mutable, +puis parcourir tous les éléments de la liste `self` à l'aide de la boucle +```rust,ignore +{{#include ../../codes/rust_lang/part12/src/immutable_linked_list/mod.rs:while}} +``` +où on va parcourir la liste en "consommant" les éléments: lors de l'assignation +de `current` à `tmp.next`, l'ancienne valeur de `current` sort de la portée et est détruite automatiquement. Ainsi, il est nécessaire de `push()` la valeur `tmp.data` +sur la liste nouvellement créée précédemment `new_list`. Dans la boucle, nous affichons +également chaque valeur avec un formatage astucieux. Finalement, +nous retournons la nouvelle liste. + + + +#### Les défauts de cette implémentation + +On constate tout d'abord que cette implémentation n'est pas très ergonomique. +En effet, à chaque utilisation de la liste, il faut toujours faire un assignation +à une nouvelle liste ce qui est encore acceptable pour `push()`. En revanche pour +`pop()` ou `print()` on voit clairement que c'est pas pratique du tout. + +Un autre problème plus complexe apparaît et concerne la libération de la mémoire +de notre liste chaînée. Il s'avère que la libération automatique est impossible +à faire en garantissant qu'on ne va pas faire exploser la pile. Comme expliqué +[sur ce lien](https://rust-unofficial.github.io/too-many-lists/first-drop.html) +la libération de la mémoire se fait de façon récursive. Ainsi, on n'a aucune garantie +que la pile d'appel de la fonction de libération de la mémoire (`drop()`) par le compilateur +ne va pas dépasser sa capacité. + +```rust,ignore +fn main() { + // Exemple de stack overflow + let mut immutable_list = ImmutableList::new(); + for i in 0..1_000_000 { + immutable_list = immutable_list.push(i); + } +} +``` + +Si vous compilez et exécutez ce programme, vous constaterez probablement une erreur +de type *stack overflow*. + +Vous me direz qu'il suffit d'implémenter le trait `Drop` comme dans "Too many linked +lists..." mais... cela ne fonctionne pas non plus pour des raisons trop complexes à +expliquer ici. La seule solution est d'implémenter une fonction vidant la liste et de l'appeler à la main et perd un peu la raison d'être du Rust. + +```rust,ignore +{{#include ../../codes/rust_lang/part12/src/immutable_linked_list/mod.rs:clear}} +fn main() { + // Exemple de stack overflow + let mut immutable_list = ImmutableList::new(); + for i in 0..1_000_000 { + immutable_list = immutable_list.push(i); + } + immutable_list.clear(); +} +``` + +### Le Rust `unsafe` + +Tous les efforts du chapitre précédent peuvent être largement évités +avec un tout petit peu de Rust `unsafe`. Le Rust un peu moins sûr +nous permet de relaxer certaines contraintes du compilateur et d'écrire un code +plus joli tout en annotant les régions problématiques. Nous créons ici +deux codes différents: + +- Un code `safe` qui est inspiré de [Learn Rust With Entirely Too Many Linked Lists](https://rust-unofficial.github.io/too-many-lists/) mais qui on le verra n'est pas +complètement `safe` quand on gratte un peu. +- Un code `unsafe` qui ressemble à la liste simplement chaînée que nous écririons en `C`. + +Les deux contraintes qui nous intéressent ici, et qui sont relaxées sont: + +1. Le déréférencement d'un "pointeur cru" (raw pointer). +2. L'appel à une fonction `unsafe`. + +Ainsi tout code qui fait l'une ou l'autre de ces opérations, doit être annoté `unsafe` +suivit par un bloc: + +```rust,ignore +unsafe { + // les opérations pas sûres ici +} +``` + +Comme tout bloc, il peut ainsi retourner une valeur. + +Il a d'autres contraintes qui sont relaxées, mais nous n'en profiterons pas ici, donc nous +ne les mentionnons pas. En revanche toutes les règles concernant la propriété +et les prêts restent valides. On peut pas faire n'importe quoi tout de même! + +### La version `safe` + +La structure de données de la liste chaînée reste identique à celle que nous avons vue plus haut, ainsi que la création d'une nouvelle liste. + +```rust,ignore +{{#include ../../codes/rust_lang/part12/src/safe_linked_list/mod.rs:element}} +{{#include ../../codes/rust_lang/part12/src/safe_linked_list/mod.rs:linked_list}} +{{#include ../../codes/rust_lang/part12/src/safe_linked_list/mod.rs:new}} +``` + +Ici, nous ne nous interdisons pas d'utiliser des références et d'emprunter les instances +de notre liste. Ainsi, la fonction `is_empty()` est simplement +```rust,ignore +{{#include ../../codes/rust_lang/part12/src/safe_linked_list/mod.rs:is_empty}} +``` +où on a bien une référence vers `self` en argument de `is_empty`. + +#### La fonction `push()` + + +La fonction dont nous discuterons le plus en détails est la fonction `push()`. +Au fur et à mesure que nous la modifierons, nous étudierons ce qu'elle fait. + +Naïvement, nous voudrions que `push()` fasse +```rust,ignore +fn push(&mut self, data: i32) { + let new_element = Box::new(Element::new(data, self.head)); + self.head = Some(new_element); +} +``` +Évidemment, cela ne peut pas être aussi simple, car on "move" `self.head` dans +`new_element` ce qui est interdit, car `self` est derrière une référence mutable... + +On doit donc ruser beaucoup plus pour faire croire à l'infâme compilateur +que ce qu'on fait est sûr. + +La solution simple et élégante est d'utiliser la méthode `take()` implémentée pour +les `Option<T>` qui retourne la valeur de l'option et la remplace par `None`. +Ainsi, le compilateur est content: on a pas move `self.head`, mais on l'a juste muté. +```rust,ignore +{{#include ../../codes/rust_lang/part12/src/safe_linked_list/mod.rs:push}} +``` +On a donc un `push()` fonctionnel. Mais on ne sait pas vraiment ce qui se passe +dans le `take()` et ça semble un peu trop "magique" pour être `safe`. +En étudiant l'implémentation de `take()` on se rencontre que ` +```rust,ignore +self.head.take() +``` +est équivalent à +```rust,ignore +std::mem::replace(&mut self.head, None) +``` +qui lui-même est équivalent à +```rust,ignore +unsafe { + let result = std::ptr::read(&self.head); + std::ptr::write(&mut self.head, None); + result +} +``` +En fait, tout au fond des choses, `take()` effectue des appels aux fonctions `unsafe` +`read()` et `write()`. En fait `read()` crée un copie "bit à bit" de `self.head` et +comme `self.head` n'est pas `Copy` on a deux moyens d'accéder à la mémoire: soit par +`self.head` soit par `result` (c'est de *l'aliasing*, ce qui est pas super sûr...). En particulier, si on essaie +d'assigner `self.head` (`self.head = ...`) le compilateur va libérer la mémoire qui était +liée à `self.head` et ainsi rendre les données de `result` invalides! Pour empêcher cela +on doit utiliser la fonction `write()` qui va écrire sans libérer la mémoire +les données liées à `self.head` (ce qui non plus n'est pas très sûr, parce qu'on +gère pas la libération de la mémoire de `self.head`). + +Combinées ces deux opérations `read()/write()` sont sûres, mais le compilateur n'a aucun moyen de le déduire et nous avons dû recourir à des opérations `unsafe` bien qu'emballées dans des fonctions parfaitement `safe`! Nous n'avons donc plus de garantie de la part du compilateur, +et par conséquent, la responsabilité de la gestion de la mémoire nous revient (cf. les [travaux du Pr. Ben](https://youtu.be/s0F3Tvc-3eI)). +```rust,ignore +{{#include ../../codes/rust_lang/part12/src/safe_linked_list/mod.rs:push_replace}} +{{#include ../../codes/rust_lang/part12/src/safe_linked_list/mod.rs:push_unsafe}} +``` +Dans ce code, nous voyons dans le commentaire l'utilisation d'un mot peut-être inconnu: `aliasing`. +L'aliasing décrit une situation dans laquelle un emplacement de données en mémoire peut être accessible +par différents noms dans le programme: dans notre cas `result` et `self.head`. + +La morale de cette histoire est qu'il et très important d'essayer de faire son maximum pour faire du +code safe. Comme on peut le voir dans le code ci-dessus, certaines fois cela est impossible (ou impose une complexité beaucoup trop grande +à la personne qui développe), +car les règles du compilateur sont telles qu'il ne peut +garantir que ce qu'on fait est sûr. Dans ces rares cas, +après avoir bien réfléchi et qu'on s'est assuré que le code est sûr quoi qu'il +arrive, on peut écrire **des parties de code `unsafe`**. Une bonne pratique reste d'emballer ce +code dans une fonction `safe` afin de limiter les cas d'utilisation. + +#### La fonction `pop()` + +La fonction `pop()` prend en argument `&mut self` et modifie donc l'instance de la liste chaînée sur laquelle elle s'applique. Elle a aussi recours à la fonction `take()` comme `push()`. +```rust,ignore +{{#include ../../codes/rust_lang/part12/src/safe_linked_list/mod.rs:pop}} +``` +Si nous nous limitions à `self.head.take()`, nous retournerions la tête de la liste, +après l'avoir remplacée par `None`. Cela casserait évidemment la liste chaînée de +plus d'un élément... Ainsi, nous utilisons la fonction `map()` qui va appliquer +la fonction anonyme qui lui est donnée en argument à la variante `Some(elem)` +et emballer le retour dans une variante `Some()` (elle ne fera rien si +l'option est `None`). Ici, nous retournons les données stockées dans l'élément de la tête, puis assignons l'élément suivant à la tête. + +#### La fonction `print()` + +La fonction `print()` est également bien plus élégante que celle vue précédemment. +```rust,ignore +{{#include ../../codes/rust_lang/part12/src/safe_linked_list/mod.rs:print}} +``` +En effet, elle ne prend qu'une référence vers la liste et va se contenter de parcourir tous +les éléments sans libérer la mémoire. + +### La version `unsafe` + +Nous avons utilisé l'appel de fonctions `unsafe` à l'intérieur de fonction `safe` pour +faire le code précédent. Dans cette partie, nous allons manipuler des "raw" pointers, +qui ressemblent beaucoup aux pointeurs du C. + +Les pointeurs sont très semblables aux références, sauf qu'ils n'obéissent pas aux mêmes +règles de sûreté ou de durée de vie. C'est pour cela que ce genre de pointeurs sont utilisés +bien souvent pour faire du Rust `unsafe`. Ces pointeurs se créent communément à partir de références + +```rust +let value = 2; +let p_to_value: *const i32 = &value; +``` + +Ici, nous partons d'une variable immutable `value` dont nous prenons la référence (immutable) +et nous l'assignons à un pointeur constant de `i32`. Ce type de pointeur peut uniquement être lu et il est impossible de modifier la valeur pointée (le code suivant ne compile pas). + +```rust,compile_fail +let value = 2; +let p_to_value: *const i32 = &value; +*p_to_value = 3; // argl +``` + +Pour créer un pointeur pouvant modifier les données sur lesquelles il pointe, il est nécessaire que `value` et la référence créée +sur `value` soient mutables. Mais il faut également se rappeler que pour modifier une valeur, il faut *déréférencer* le pointeur +ce qui est une opération très dangereuse. Ainsi, il faut annoter tout code contenant le déréférencement d'un pointeur cru +avec `unsafe` + +```rust +let mut value = 2; +let p_to_value: *mut i32 = &mut value; +unsafe { + *p_to_value = 10; +} +``` + +Sans l'annotation unsafe on a l'erreur suivante + +```console +error[E0133]: dereference of raw pointer is unsafe and requires unsafe function or block + --> /tmp/mdbook-1nmQ54/part12.md:450:5 + | +5 | *p_to_value = 10; + | ^^^^^^^^^^^^^^^^ dereference of raw pointer + | + = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0133` +``` + +#### La structure de données + +La structure de données d'un élément ressemble beaucoup à ce qu'on écrirait en C +```rust +{{#include ../../codes/rust_lang/part12/src/unsafe_linked_list/mod.rs:element}} +``` +Un `Element` contient, `data`, les données qui sont stockées dans chaque élément (un `i32` ici) +et un raw pointer **mutable** sur l'élément suivant: `next`. Il est très important que ce pointeur +soit mutable pour qu'on puisse le modifier (pour ajouter ou supprimer les éléments). +Notez qu'en comparaison avec les `Element` des sections précédentes, nous n'utilisons pas de +type `Option` pour signaler la présence ou absence d'un élément suivant. Cela sera représenté, +comme en C, par un pointeur `null`. + +Un nouvel `Element` est créé à l'aide de la fonction `new()` +```rust,ignore +{{#include ../../codes/rust_lang/part12/src/unsafe_linked_list/mod.rs:new}} +``` +qui prend en argument les données à stocker dans l'élément et le pointeur suivant. +On constate que pour allouer un élément, on doit préciser son "layout" en mémoire, +puis utiliser la fonction `alloc()` qui est une fonction `unsafe` qui +alloue un espace mémoire correspondant au layout spécifié et retourne un pointeur +d'octets (`u8`). Ce pointeur est immédiatement converti en pointeur mutable +d'`Element`. Lors d'une tentative d'allocation manuelle, si l'allocation échoue le +programme panique par défaut. Ici, on doit gérer l'échec de l'allocation manuellement +en vérifiant si le pointeur est nul `e.is_null()`. Ensuite, il est nécessaire de déréférencer le nouvel élément `e` et d'assigner chacun de ses champs à `data` et `next` respectivement. Cette opération nécessitant un déréférencement est +`unsafe` et est annotée de façon adéquate. + +L'allocation manuelle nécessite également une libération de la mémoire manuelle à +l'aide de la fonction `dealloc()`. Cette opération est faite dans le trait `Drop` qui +implémente la fonction `drop()`. Pour des raw pointers, la fonction `drop()` **n'est pas appelée automatiquement** et il faut l'appeler explicitement lors de la sortie de la portée du pointeur (voir [la section sur `pop()`](#la-fonction-pop-2)). De plus, pour la plupart des types, la fonction `drop()` est implémentée automatiquement, mais ici +il est nécessaire d'appeler `dealloc()` manuellement et donc il est nécessaire +de faire l'implémentation explicitement. +```rust,ignore +{{#include ../../codes/rust_lang/part12/src/unsafe_linked_list/mod.rs:drop}} +``` +On voit que pour libérer la mémoire, on doit vérifier que le pointeur +qu'on essaie de libérer n'est pas `null` afin d'éviter de tenter de désallouer +une zone mémoire interdite, puis on appelle la fonction `dealloc()` +qui est de façon inhérente +`unsafe` (on a aucune garantie que la mémoire qu'on libère est toujours valide) il +est nécessaire d'annoter le code `unsafe` également (comme pour `alloc()` on a besoin de connaître le layout mémoire de ce qu'on va libérer). + +Les fonctions `new()` et `drop()` sont deux fonctions qui appellent du code `unsafe` +, mais n'ont pas besoin d'être annotées `unsafe`: c'est des abstractions permettant +de cacher la dangerosité, tout en permettant à l'utilisateur·trice de chercher +les bugs mémoire plus facilement, car ils se trouvent toujours liés à ces parties `unsafe`. + +Maintenant que nous pouvons créer des nouveaux éléments (et les détruire), nous pouvons passer à la liste chaînée qui n'est rien d'autre qu'un pointeur d'`Element` mutable nommé astucieusement `head`. +```rust,ignore +{{#include ../../codes/rust_lang/part12/src/unsafe_linked_list/mod.rs:linked_list}} +``` +Pour créer une nouvelle liste chaînée, nous avons uniquement besoin de signaler +que la liste est vide en assignant à `head` un *pointeur nul mutable* (`ptr::nul_mut()`). +```rust,ignore +{{#include ../../codes/rust_lang/part12/src/unsafe_linked_list/mod.rs:ll_new}} +``` + +#### La fonction `is_empty()` + +Naturellement, la fonction `is_empty()` va uniquement vérifier que la tête de la liste +est nulle et est trivialement implémentée +```rust,ignore +{{#include ../../codes/rust_lang/part12/src/unsafe_linked_list/mod.rs:is_empty}} +``` + +#### La fonction `push()` + +La fonction `push()` est très simple à écrire et équivalente à ce qu'on ferait en C +```rust,ignore +{{#include ../../codes/rust_lang/part12/src/unsafe_linked_list/mod.rs:push}} +``` +La relaxation des règles très strictes sur les références permet de déplacer le pointeur de tête dans +le nouvel élément qui devient ainsi la nouvelle tête de la liste. + +#### La fonction `pop()` + +La fonction `pop()` est un peu plus complexe, mais également très similaire à ce qu'on +ferait en C. +```rust,ignore +{{#include ../../codes/rust_lang/part12/src/unsafe_linked_list/mod.rs:pop}} +``` +Si la liste est vide, on retourne un `None` (aucune valeur) car il n'y a rien à retourner. +En revanche, si un élément est présent en tête de liste on garde un pointeur sur la copie de l'élément de tête, `old_head`, puis on déplace le pointeur de tête sur l'élément suivant +(cette dernière opération nécessite un déréférencement et est donc `unsafe`). +Puis ont récupère la `data` stockée dans `old_head` (opération `unsafe` car on fait un déréférencement) et finalement on appelle explicitement `drop_in_place()` (qui appelle `drop()`). Suite à la libération de la mémoire (qui empêche les fuites mémoire) +on termine par retourner la valeur qui était stockée au sommet de la liste chaînée. + +#### La fonction `print()` + +La fonction `print()` est relativement simple et très similaire à ce qu'on fait en C +```rust,ignore +{{#include ../../codes/rust_lang/part12/src/unsafe_linked_list/mod.rs:print}} +``` +On crée un pointeur mutable qui va parcourir tous les éléments de la liste chaînée et en afficher le contenu, jusqu'à atteindre la fin de la liste (le pointeur devient `null`). Les raw pointers n'appelant jamais `drop()` quand ils sortent de la portée +ne libèrent jamais la mémoire sur laquelle ils pointent donc la liste chaînée reste intacte. + +#### La fonction `drop()` + +Comme on l'a dit tout à l'heure pour les `Element`, il est nécessaire d'implémenter +le trait `Drop` +```rust,ignore +{{#include ../../codes/rust_lang/part12/src/unsafe_linked_list/mod.rs:ll_drop}} +``` +Ici toutes les désallocations sont cachées dans la fonction `pop()`, et on parcourt +toute la liste comme on l'a fait pour [la fonction `print()`](#la-fonction-print-2). + +## Aller plus loin + +Il y a plusieurs exercices que vous pouvez effectuer à partir de ces codes. +Dans un ordre aléatoire: + +* Rendez-la liste générique (transformez `i32` en `T`), +* Ajoutez la fonction `peek()` qui permet de jeter un œil à la tête de la liste, +* Ajoutez une fonction `remove(i)` permettant d'enlever le `i`-ème élément de la liste, +* Ajoutez une fonction `insert(i, data)` permettant d'ajouter `data` à la `i`-ème place dans la liste, +* Ajouter les fonctions permettant d'itérer sur la liste en implémentant les trait `Iter` et `IntoIter`. diff --git a/codes/rust_lang/part12/Cargo.toml b/codes/rust_lang/part12/Cargo.toml new file mode 100644 index 0000000000000000000000000000000000000000..4b5aabf300f6828b2fc4e7c52dc1888658852182 --- /dev/null +++ b/codes/rust_lang/part12/Cargo.toml @@ -0,0 +1,8 @@ +[package] +name = "linked_list" +version = "0.1.0" +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] diff --git a/codes/rust_lang/part12/src/immutable_linked_list/mod.rs b/codes/rust_lang/part12/src/immutable_linked_list/mod.rs new file mode 100644 index 0000000000000000000000000000000000000000..8e4bdbeb9e151e4f81258701f8a305d7e174a2be --- /dev/null +++ b/codes/rust_lang/part12/src/immutable_linked_list/mod.rs @@ -0,0 +1,129 @@ +// ANCHOR: element +struct Element { + data: i32, + next: Option<Box<Element>>, +} +// ANCHOR_END: element + +impl Element { + fn new(data: i32, next: Option<Box<Element>>) -> Self { + Element { data, next } + } +} + +// ANCHOR: linked_list +pub struct LinkedList { + head: Option<Box<Element>>, +} +// ANCHOR_END: linked_list + +impl LinkedList { + // ANCHOR: new + pub fn new() -> Self { + Self { head: None } + } + // ANCHOR_END: new + + // ANCHOR: is_empty + pub fn is_empty(self) -> (bool, Self) { + match self.head { + None => (true, self), + _ => (false, self), + } + } + // ANCHOR_END: is_empty + + // ANCHOR: push + pub fn push(self, data: i32) -> Self { + let elem = Box::new(Element::new(data, self.head)); + Self { head: Some(elem) } + } + // ANCHOR_END: push + + // ANCHOR: pop + pub fn pop(self) -> (Option<i32>, Self) { + if let Some(elem) = self.head { + (Some(elem.data), Self { head: elem.next }) + } else { + (None, Self { head: None }) + } + } + // ANCHOR_END: pop + + // ANCHOR: print + pub fn print(self) -> Self { + let mut new_list = Self::new(); + // ANCHOR: while + let mut current = self.head; + while let Some(tmp) = current { + print!("{} --> ", tmp.data); + new_list = new_list.push(tmp.data); + current = tmp.next; + } + println!("∅"); + // ANCHOR_END: while + new_list + } + // ANCHOR_END: print + + #[allow(dead_code)] + // ANCHOR: clear + pub fn clear(self) { + let mut current = self.head; + while let Some(tmp) = current { + current = tmp.next; + } + } + // ANCHOR_END: clear +} + +#[cfg(test)] +mod tests { + use super::LinkedList; + + #[test] + fn new() { + let (is_empty, _) = LinkedList::new().is_empty(); + assert!(is_empty); + } + + #[test] + fn push() { + let list = LinkedList::new(); + let list = list.push(1); + let (is_empty, list) = list.is_empty(); + assert!(!is_empty); + assert_eq!(list.head.as_ref().unwrap().data, 1); + + let list = list.push(2); + assert_eq!(list.head.unwrap().data, 2); + } + + #[test] + fn pop() { + let list = LinkedList::new(); + let (e, list) = list.pop(); + assert_eq!(e, None); + + let list = list.push(1); + let (e, list) = list.pop(); + assert_eq!(e, Some(1)); + + let (e, list) = list.pop(); + assert_eq!(e, None); + + let list = list.push(2); + let list = list.push(3); + let list = list.push(4); + + assert_eq!(list.head.as_ref().unwrap().data, 4); + + let (e, list) = list.pop(); + assert_eq!(list.head.as_ref().unwrap().data, 3); + assert_eq!(e, Some(4)); + let (_, list) = list.pop(); + let (_, list) = list.pop(); + let (is_empty, _) = list.is_empty(); + assert!(is_empty); + } +} diff --git a/codes/rust_lang/part12/src/lib.rs b/codes/rust_lang/part12/src/lib.rs new file mode 100644 index 0000000000000000000000000000000000000000..6ed65f689b4ef0d94d35235d11fc3c7b7221afbb --- /dev/null +++ b/codes/rust_lang/part12/src/lib.rs @@ -0,0 +1,3 @@ +pub mod immutable_linked_list; +pub mod safe_linked_list; +pub mod unsafe_linked_list; diff --git a/codes/rust_lang/part12/src/main.rs b/codes/rust_lang/part12/src/main.rs new file mode 100644 index 0000000000000000000000000000000000000000..523802da6682dd65e96f9b35985980d012e9a00e --- /dev/null +++ b/codes/rust_lang/part12/src/main.rs @@ -0,0 +1,49 @@ +use linked_list::immutable_linked_list::LinkedList as ImmutableList; +use linked_list::safe_linked_list::LinkedList as SafeList; +use linked_list::unsafe_linked_list::LinkedList as UnsafeList; + +fn create_lists() -> (ImmutableList, SafeList, UnsafeList) { + (ImmutableList::new(), SafeList::new(), UnsafeList::new()) +} + +fn main() { + let (immutable_list, mut safe_list, mut unsafe_list) = create_lists(); + + // Populate lists + let immutable_list = immutable_list.push(1); + let immutable_list = immutable_list.push(2); + let immutable_list = immutable_list.push(3); + + safe_list.push(1); + safe_list.push(2); + safe_list.push(3); + + unsafe_list.push(1); + unsafe_list.push(2); + unsafe_list.push(3); + + let (i_val, immutable_list) = immutable_list.pop(); + let s_val = safe_list.pop(); + let u_val = unsafe_list.pop(); + + assert_eq!(i_val, s_val); + assert_eq!(i_val, u_val); + assert_eq!(s_val, u_val); + + let immutable_list = immutable_list.push(4); + safe_list.push(4); + unsafe_list.push(4); + + immutable_list.print(); + safe_list.print(); + unsafe_list.print(); + + for j in 1..1000 { + let mut ul = UnsafeList::new(); + for i in 1..1_000_000 { + ul.push(i); + } + } + + unsafe_list.print(); +} diff --git a/codes/rust_lang/part12/src/safe_linked_list/mod.rs b/codes/rust_lang/part12/src/safe_linked_list/mod.rs new file mode 100644 index 0000000000000000000000000000000000000000..941b78bdc4bba7fbe88d9233e3613fcc70cd536d --- /dev/null +++ b/codes/rust_lang/part12/src/safe_linked_list/mod.rs @@ -0,0 +1,159 @@ +// ANCHOR: element +struct Element { + data: i32, + next: Option<Box<Element>>, +} +// ANCHOR_END: element + +impl Element { + fn new(data: i32, next: Option<Box<Element>>) -> Self { + Element { data, next } + } +} + +// ANCHOR: linked_list +pub struct LinkedList { + head: Option<Box<Element>>, +} +// ANCHOR_END: linked_list + +impl LinkedList { + // ANCHOR: new + pub fn new() -> Self { + Self { head: None } + } + // ANCHOR_END: new + + // ANCHOR: is_empty + pub fn is_empty(&self) -> bool { + self.head.is_none() + } + // ANCHOR_END: is_empty + + // ANCHOR: push + pub fn push(&mut self, data: i32) { + // let new_element = Box::new(Element::new(data, self.head)); + // Cela ne peut pas fonctionner, pace qu'on est derrière une référence partagée + // et donc on peut pas "move" self.head + + // ANCHOR: take + let new_head = Box::new(Element::new(data, self.head.take())); + // ANCHOR_END: take + // take retourne la valeur qui se trouve dans Some et laisse un None + // à la place de l'option. + // C'est strictement équivalent au replace (ci-dessous) + self.head = Some(new_head); + } + // ANCHOR_END: push + + // ANCHOR: push_replace + pub fn push_replace(&mut self, data: i32) { + // ANCHOR: replace + let old_head = std::mem::replace(&mut self.head, None); + let new_head = Box::new(Element::new(data, old_head)); + // ANCHOR: replace + // replace retourne self.head et remplace l'ancienne valeur par None (comme ça le compilateur est content) + self.head = Some(new_head); + } + // ANCHOR_END: push_replace + + // ANCHOR: push_unsafe + pub fn push_unsafe(&mut self, data: i32) { + let old_head = unsafe { + // De la documentation: + // `read` crée une copie bit à bit de `T`, que `T` soit [`Copy`] ou non. + // Si `T` n'est pas [`Copy`], utiliser à la fois la valeur renvoyée et la valeur de + // `*src` peut violer la sécurité de la mémoire. Notez que l'assignation à `*src` compte comme une + // utilisation parce qu'elle tentera de `drop` la valeur à `*src`. + let result = std::ptr::read(&self.head); + std::ptr::write(&mut self.head, None); + // Ce `write` est en fait un "truc" pour enlever l'aliasing entre + // self.head et result. Il écrase la valeur à self.head avec None + // sans `drop` self.head et donc result. + result + }; + let new_head = Box::new(Element::new(data, old_head)); + self.head = Some(new_head); + } + // ANCHOR_END: push_unsafe + + // ANCHOR: pop + pub fn pop(&mut self) -> Option<i32> { + // map prend la valeur dans Some, lui applique la fonction anonyme + // et remballe la valeur obtenue dans un Some. Si l'Option + // originale est None, il se passe rien. + self.head.take().map(|element| { + self.head = element.next; + element.data + }) + } + // ANCHOR_END: pop + + // ANCHOR: print + pub fn print(&self) { + let mut current = &self.head; + while let Some(tmp) = ¤t { + print!("{} --> ", tmp.data); + current = &tmp.next; + } + println!("∅"); + } + // ANCHOR_END: print +} + +impl Drop for LinkedList { + fn drop(&mut self) { + let mut current = self.head.take(); + while let Some(mut tmp) = current { + current = tmp.next.take(); + } + } +} + +#[cfg(test)] +mod test { + use super::LinkedList; + + #[test] + fn new() { + assert!(LinkedList::new().is_empty()); + } + + #[test] + fn push() { + let mut list = LinkedList::new(); + list.push(1); + assert_eq!(list.head.as_ref().unwrap().data, 1); + list.push(2); + assert_eq!(list.head.as_ref().unwrap().data, 2); + } + + #[test] + fn pop() { + let mut list = LinkedList::new(); + let e = list.pop(); + assert_eq!(e, None); + + list.push(1); + let e = list.pop(); + assert_eq!(e, Some(1)); + + let e = list.pop(); + assert_eq!(e, None); + + list.push(2); + list.push(3); + list.push(4); + + assert_eq!(list.head.as_ref().unwrap().data, 4); + + let e = list.pop(); + assert_eq!(list.head.as_ref().unwrap().data, 3); + assert_eq!(e, Some(4)); + list.push(5); + list.push(6); + let e = list.pop(); + assert_eq!(list.head.as_ref().unwrap().data, 5); + assert_eq!(e, Some(6)); + } +} diff --git a/codes/rust_lang/part12/src/unsafe_linked_list/mod.rs b/codes/rust_lang/part12/src/unsafe_linked_list/mod.rs new file mode 100644 index 0000000000000000000000000000000000000000..f8c2ccebabf2715c2aa2c365f176c274720b8181 --- /dev/null +++ b/codes/rust_lang/part12/src/unsafe_linked_list/mod.rs @@ -0,0 +1,158 @@ +use std::alloc::{alloc, dealloc, handle_alloc_error, Layout}; +use std::ptr; + +// ANCHOR: element +struct Element { + data: i32, + next: *mut Element, +} +// ANCHOR_END: element + +impl Element { + // ANCHOR: new + fn new(data: i32, next: *mut Element) -> *mut Element { + let layout = Layout::new::<Element>(); + let e = unsafe { alloc(layout) as *mut Element }; + if e.is_null() { + handle_alloc_error(layout); + } + unsafe { + (*e).data = data; + (*e).next = next; + } + e + } + // ANCHOR_END: new +} + +//ANCHOR: drop +impl Drop for Element { + fn drop(&mut self) { + let elem = self as *mut Element; + if !elem.is_null() { + let layout = Layout::new::<Element>(); + unsafe { + dealloc(elem as *mut u8, layout); + } + } + } +} +//ANCHOR_END: drop + +// ANCHOR: linked_list +pub struct LinkedList { + head: *mut Element, +} +// ANCHOR_END: linked_list + +impl LinkedList { + // ANCHOR: ll_new + pub fn new() -> LinkedList { + LinkedList { + head: ptr::null_mut(), + } + } + // ANCHOR_END: ll_new + + // ANCHOR: is_empty + fn is_empty(&self) -> bool { + self.head.is_null() + } + // ANCHOR_END: is_empty + + // ANCHOR: push + pub fn push(&mut self, data: i32) { + let new_head = Element::new(data, self.head); + self.head = new_head; + } + // ANCHOR_END: push + + // ANCHOR: pop + pub fn pop(&mut self) -> Option<i32> { + if self.is_empty() { + None + } else { + let old_head = self.head; + unsafe { + self.head = (*self.head).next; + } + let val = unsafe { (*old_head).data }; + unsafe { + old_head.drop_in_place(); + } + Some(val) + } + } + // ANCHOR_END: pop + + // ANCHOR: print + pub fn print(&self) { + let mut current_head = self.head; + while !current_head.is_null() { + unsafe { + print!("{} --> ", (*current_head).data); + current_head = (*current_head).next; + } + } + println!("∅"); + } + // ANCHOR_END: print +} + +// ANCHOR: ll_drop +impl Drop for LinkedList { + fn drop(&mut self) { + while !self.is_empty() { + let _ = self.pop(); + } + } +} +// ANCHOR_END: ll_drop + +#[cfg(test)] +mod tests { + use super::LinkedList; + + #[test] + fn new() { + assert!(LinkedList::new().is_empty()); + } + + #[test] + fn push() { + let mut list = LinkedList::new(); + list.push(1); + assert_eq!(unsafe { (*list.head).data }, 1); + list.push(2); + assert_eq!(unsafe { (*list.head).data }, 2); + } + + #[test] + fn pop() { + let mut list = LinkedList::new(); + let e = list.pop(); + assert_eq!(e, None); + + list.push(1); + let e = list.pop(); + assert_eq!(e, Some(1)); + + let e = list.pop(); + assert_eq!(e, None); + + list.push(2); + list.push(3); + list.push(4); + + assert_eq!(unsafe { (*list.head).data }, 4); + + let e = list.pop(); + assert_eq!(unsafe { (*list.head).data }, 3); + assert_eq!(e, Some(4)); + list.push(5); + list.push(6); + let e = list.pop(); + assert_eq!(unsafe { (*list.head).data }, 5); + assert_eq!(e, Some(6)); + } +} diff --git a/slides/.gitignore b/slides/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..e8dc19e1240ad5cd93600dfb4e76774b2ef69547 --- /dev/null +++ b/slides/.gitignore @@ -0,0 +1,2 @@ +book +slides diff --git a/slides/book.toml b/slides/book.toml new file mode 100644 index 0000000000000000000000000000000000000000..4d2e738b2bd7e202dd5a6f4e91e0f05f8eb41c1c --- /dev/null +++ b/slides/book.toml @@ -0,0 +1,6 @@ +[book] +authors = ["Orestis"] +language = "en" +multilingual = false +src = "src" +title = "Université d'été 2023: Rust 101" diff --git a/slides/build_slides.sh b/slides/build_slides.sh new file mode 100755 index 0000000000000000000000000000000000000000..c6e3356008874027fbbbe9f2162447b867453953 --- /dev/null +++ b/slides/build_slides.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env bash + +set -euo pipefail + +SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) + +# Build the book first, because mdbook will create any empty sections +echo "Building book" +RUST_LOG=info mdbook build ${SCRIPT_DIR} +# Then build the slides +echo "Building slides" +RUST_LOG=debug mdslides --template ${SCRIPT_DIR}/template.html --output-dir ${SCRIPT_DIR}/slides --mdbook-path ${SCRIPT_DIR} --index-template ${SCRIPT_DIR}/index-template.html +# TODO: move assets copying to mdslides +cp -r "${SCRIPT_DIR}/book/figs" "${SCRIPT_DIR}/slides" +# Then run the tests (which is slow) +echo "Testing book" +RUST_LOG=info mdbook test ${SCRIPT_DIR} \ No newline at end of file diff --git a/slides/index-template.html b/slides/index-template.html new file mode 100644 index 0000000000000000000000000000000000000000..3ca95644527c821a530866474a88b484e973e72a --- /dev/null +++ b/slides/index-template.html @@ -0,0 +1,2481 @@ +<!DOCTYPE html> +<html lang="en"> + +<head> + <meta charset="UTF-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta name="generator" content="Asciidoctor 2.0.17"> + <title>$TITLE</title> + <link rel="stylesheet" + href="https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700"> + <style> + /*! Asciidoctor default stylesheet | MIT License | https://asciidoctor.org */ + /* Uncomment the following line when using as a custom stylesheet */ + /* @import "https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700"; */ + html { + font-family: sans-serif; + -webkit-text-size-adjust: 100% + } + + a { + background: none + } + + a:focus { + outline: thin dotted + } + + a:active, + a:hover { + outline: 0 + } + + h1 { + font-size: 2em; + margin: .67em 0 + } + + b, + strong { + font-weight: bold + } + + abbr { + font-size: .9em + } + + abbr[title] { + cursor: help; + border-bottom: 1px dotted #dddddf; + text-decoration: none + } + + dfn { + font-style: italic + } + + hr { + height: 0 + } + + mark { + background: #ff0; + color: #000 + } + + code, + kbd, + pre, + samp { + font-family: monospace; + font-size: 1em + } + + pre { + white-space: pre-wrap + } + + q { + quotes: "\201C" "\201D" "\2018" "\2019" + } + + small { + font-size: 80% + } + + sub, + sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline + } + + sup { + top: -.5em + } + + sub { + bottom: -.25em + } + + img { + border: 0 + } + + svg:not(:root) { + overflow: hidden + } + + figure { + margin: 0 + } + + audio, + video { + display: inline-block + } + + audio:not([controls]) { + display: none; + height: 0 + } + + fieldset { + border: 1px solid silver; + margin: 0 2px; + padding: .35em .625em .75em + } + + legend { + border: 0; + padding: 0 + } + + button, + input, + select, + textarea { + font-family: inherit; + font-size: 100%; + margin: 0 + } + + button, + input { + line-height: normal + } + + button, + select { + text-transform: none + } + + button, + html input[type=button], + input[type=reset], + input[type=submit] { + -webkit-appearance: button; + cursor: pointer + } + + button[disabled], + html input[disabled] { + cursor: default + } + + input[type=checkbox], + input[type=radio] { + padding: 0 + } + + button::-moz-focus-inner, + input::-moz-focus-inner { + border: 0; + padding: 0 + } + + textarea { + overflow: auto; + vertical-align: top + } + + table { + border-collapse: collapse; + border-spacing: 0 + } + + *, + ::before, + ::after { + box-sizing: border-box + } + + html, + body { + font-size: 100% + } + + body { + background: #fff; + color: rgba(0, 0, 0, .8); + padding: 0; + margin: 0; + font-family: "Noto Serif", "DejaVu Serif", serif; + line-height: 1; + position: relative; + cursor: auto; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + word-wrap: anywhere; + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased + } + + a:hover { + cursor: pointer + } + + img, + object, + embed { + max-width: 100%; + height: auto + } + + object, + embed { + height: 100% + } + + img { + -ms-interpolation-mode: bicubic + } + + .left { + float: left !important + } + + .right { + float: right !important + } + + .text-left { + text-align: left !important + } + + .text-right { + text-align: right !important + } + + .text-center { + text-align: center !important + } + + .text-justify { + text-align: justify !important + } + + .hide { + display: none + } + + img, + object, + svg { + display: inline-block; + vertical-align: middle + } + + textarea { + height: auto; + min-height: 50px + } + + select { + width: 100% + } + + .subheader, + .admonitionblock td.content>.title, + .audioblock>.title, + .exampleblock>.title, + .imageblock>.title, + .listingblock>.title, + .literalblock>.title, + .stemblock>.title, + .openblock>.title, + .paragraph>.title, + .quoteblock>.title, + table.tableblock>.title, + .verseblock>.title, + .videoblock>.title, + .dlist>.title, + .olist>.title, + .ulist>.title, + .qlist>.title, + .hdlist>.title { + line-height: 1.45; + color: #7a2518; + font-weight: 400; + margin-top: 0; + margin-bottom: .25em + } + + div, + dl, + dt, + dd, + ul, + ol, + li, + h1, + h2, + h3, + #toctitle, + .sidebarblock>.content>.title, + h4, + h5, + h6, + pre, + form, + p, + blockquote, + th, + td { + margin: 0; + padding: 0 + } + + a { + color: #2156a5; + text-decoration: underline; + line-height: inherit + } + + a:hover, + a:focus { + color: #1d4b8f + } + + a img { + border: 0 + } + + p { + line-height: 1.6; + margin-bottom: 1.25em; + text-rendering: optimizeLegibility + } + + p aside { + font-size: .875em; + line-height: 1.35; + font-style: italic + } + + h1, + h2, + h3, + #toctitle, + .sidebarblock>.content>.title, + h4, + h5, + h6 { + font-family: "Open Sans", "DejaVu Sans", sans-serif; + font-weight: 300; + font-style: normal; + color: #ba3925; + text-rendering: optimizeLegibility; + margin-top: 1em; + margin-bottom: .5em; + line-height: 1.0125em + } + + h1 small, + h2 small, + h3 small, + #toctitle small, + .sidebarblock>.content>.title small, + h4 small, + h5 small, + h6 small { + font-size: 60%; + color: #e99b8f; + line-height: 0 + } + + h1 { + font-size: 2.125em + } + + h2 { + font-size: 1.6875em + } + + h3, + #toctitle, + .sidebarblock>.content>.title { + font-size: 1.375em + } + + h4, + h5 { + font-size: 1.125em + } + + h6 { + font-size: 1em + } + + hr { + border: solid #dddddf; + border-width: 1px 0 0; + clear: both; + margin: 1.25em 0 1.1875em + } + + em, + i { + font-style: italic; + line-height: inherit + } + + strong, + b { + font-weight: bold; + line-height: inherit + } + + small { + font-size: 60%; + line-height: inherit + } + + code { + font-family: "Droid Sans Mono", "DejaVu Sans Mono", monospace; + font-weight: 400; + color: rgba(0, 0, 0, .9) + } + + ul, + ol, + dl { + line-height: 1.6; + margin-bottom: 1.25em; + list-style-position: outside; + font-family: inherit + } + + ul, + ol { + margin-left: 1.5em + } + + ul li ul, + ul li ol { + margin-left: 1.25em; + margin-bottom: 0 + } + + ul.square li ul, + ul.circle li ul, + ul.disc li ul { + list-style: inherit + } + + ul.square { + list-style-type: square + } + + ul.circle { + list-style-type: circle + } + + ul.disc { + list-style-type: disc + } + + ol li ul, + ol li ol { + margin-left: 1.25em; + margin-bottom: 0 + } + + dl dt { + margin-bottom: .3125em; + font-weight: bold + } + + dl dd { + margin-bottom: 1.25em + } + + blockquote { + margin: 0 0 1.25em; + padding: .5625em 1.25em 0 1.1875em; + border-left: 1px solid #ddd + } + + blockquote, + blockquote p { + line-height: 1.6; + color: rgba(0, 0, 0, .85) + } + + @media screen and (min-width: 768px) { + + h1, + h2, + h3, + #toctitle, + .sidebarblock>.content>.title, + h4, + h5, + h6 { + line-height: 1.2 + } + + h1 { + font-size: 2.75em + } + + h2 { + font-size: 2.3125em + } + + h3, + #toctitle, + .sidebarblock>.content>.title { + font-size: 1.6875em + } + + h4 { + font-size: 1.4375em + } + } + + table { + background: #fff; + margin-bottom: 1.25em; + border: 1px solid #dedede; + word-wrap: normal + } + + table thead, + table tfoot { + background: #f7f8f7 + } + + table thead tr th, + table thead tr td, + table tfoot tr th, + table tfoot tr td { + padding: .5em .625em .625em; + font-size: inherit; + color: rgba(0, 0, 0, .8); + text-align: left + } + + table tr th, + table tr td { + padding: .5625em .625em; + font-size: inherit; + color: rgba(0, 0, 0, .8) + } + + table tr.even, + table tr.alt { + background: #f8f8f7 + } + + table thead tr th, + table tfoot tr th, + table tbody tr td, + table tr td, + table tfoot tr td { + line-height: 1.6 + } + + h1, + h2, + h3, + #toctitle, + .sidebarblock>.content>.title, + h4, + h5, + h6 { + line-height: 1.2; + word-spacing: -.05em + } + + h1 strong, + h2 strong, + h3 strong, + #toctitle strong, + .sidebarblock>.content>.title strong, + h4 strong, + h5 strong, + h6 strong { + font-weight: 400 + } + + .center { + margin-left: auto; + margin-right: auto + } + + .stretch { + width: 100% + } + + .clearfix::before, + .clearfix::after, + .float-group::before, + .float-group::after { + content: " "; + display: table + } + + .clearfix::after, + .float-group::after { + clear: both + } + + :not(pre).nobreak { + word-wrap: normal + } + + :not(pre).nowrap { + white-space: nowrap + } + + :not(pre).pre-wrap { + white-space: pre-wrap + } + + :not(pre):not([class^=L])>code { + font-size: .9375em; + font-style: normal !important; + letter-spacing: 0; + padding: .1em .5ex; + word-spacing: -.15em; + background: #f7f7f8; + border-radius: 4px; + line-height: 1.45; + text-rendering: optimizeSpeed + } + + pre { + color: rgba(0, 0, 0, .9); + font-family: "Droid Sans Mono", "DejaVu Sans Mono", monospace; + line-height: 1.45; + text-rendering: optimizeSpeed + } + + pre code, + pre pre { + color: inherit; + font-size: inherit; + line-height: inherit + } + + pre>code { + display: block + } + + pre.nowrap, + pre.nowrap pre { + white-space: pre; + word-wrap: normal + } + + em em { + font-style: normal + } + + strong strong { + font-weight: 400 + } + + .keyseq { + color: rgba(51, 51, 51, .8) + } + + kbd { + font-family: "Droid Sans Mono", "DejaVu Sans Mono", monospace; + display: inline-block; + color: rgba(0, 0, 0, .8); + font-size: .65em; + line-height: 1.45; + background: #f7f7f7; + border: 1px solid #ccc; + border-radius: 3px; + box-shadow: 0 1px 0 rgba(0, 0, 0, .2), inset 0 0 0 .1em #fff; + margin: 0 .15em; + padding: .2em .5em; + vertical-align: middle; + position: relative; + top: -.1em; + white-space: nowrap + } + + .keyseq kbd:first-child { + margin-left: 0 + } + + .keyseq kbd:last-child { + margin-right: 0 + } + + .menuseq, + .menuref { + color: #000 + } + + .menuseq b:not(.caret), + .menuref { + font-weight: inherit + } + + .menuseq { + word-spacing: -.02em + } + + .menuseq b.caret { + font-size: 1.25em; + line-height: .8 + } + + .menuseq i.caret { + font-weight: bold; + text-align: center; + width: .45em + } + + b.button::before, + b.button::after { + position: relative; + top: -1px; + font-weight: 400 + } + + b.button::before { + content: "["; + padding: 0 3px 0 2px + } + + b.button::after { + content: "]"; + padding: 0 2px 0 3px + } + + p a>code:hover { + color: rgba(0, 0, 0, .9) + } + + #header, + #content, + #footnotes, + #footer { + width: 100%; + margin: 0 auto; + max-width: 62.5em; + * zoom: 1; + position: relative; + padding-left: .9375em; + padding-right: .9375em + } + + #header::before, + #header::after, + #content::before, + #content::after, + #footnotes::before, + #footnotes::after, + #footer::before, + #footer::after { + content: " "; + display: table + } + + #header::after, + #content::after, + #footnotes::after, + #footer::after { + clear: both + } + + #content { + margin-top: 1.25em + } + + #content::before { + content: none + } + + #header>h1:first-child { + color: rgba(0, 0, 0, .85); + margin-top: 2.25rem; + margin-bottom: 0 + } + + #header>h1:first-child+#toc { + margin-top: 8px; + border-top: 1px solid #dddddf + } + + #header>h1:only-child, + body.toc2 #header>h1:nth-last-child(2) { + border-bottom: 1px solid #dddddf; + padding-bottom: 8px + } + + #header .details { + border-bottom: 1px solid #dddddf; + line-height: 1.45; + padding-top: .25em; + padding-bottom: .25em; + padding-left: .25em; + color: rgba(0, 0, 0, .6); + display: flex; + flex-flow: row wrap + } + + #header .details span:first-child { + margin-left: -.125em + } + + #header .details span.email a { + color: rgba(0, 0, 0, .85) + } + + #header .details br { + display: none + } + + #header .details br+span::before { + content: "\00a0\2013\00a0" + } + + #header .details br+span.author::before { + content: "\00a0\22c5\00a0"; + color: rgba(0, 0, 0, .85) + } + + #header .details br+span#revremark::before { + content: "\00a0|\00a0" + } + + #header #revnumber { + text-transform: capitalize + } + + #header #revnumber::after { + content: "\00a0" + } + + #content>h1:first-child:not([class]) { + color: rgba(0, 0, 0, .85); + border-bottom: 1px solid #dddddf; + padding-bottom: 8px; + margin-top: 0; + padding-top: 1rem; + margin-bottom: 1.25rem + } + + #toc { + border-bottom: 1px solid #e7e7e9; + padding-bottom: .5em + } + + #toc>ul { + margin-left: .125em + } + + #toc ul.sectlevel0>li>a { + font-style: italic + } + + #toc ul.sectlevel0 ul.sectlevel1 { + margin: .5em 0 + } + + #toc ul { + font-family: "Open Sans", "DejaVu Sans", sans-serif; + list-style-type: none + } + + #toc li { + line-height: 1.3334; + margin-top: .3334em + } + + #toc a { + text-decoration: none + } + + #toc a:active { + text-decoration: underline + } + + #toctitle { + color: #7a2518; + font-size: 1.2em + } + + @media screen and (min-width: 768px) { + #toctitle { + font-size: 1.375em + } + + body.toc2 { + padding-left: 15em; + padding-right: 0 + } + + #toc.toc2 { + margin-top: 0 !important; + background: #f8f8f7; + position: fixed; + width: 15em; + left: 0; + top: 0; + border-right: 1px solid #e7e7e9; + border-top-width: 0 !important; + border-bottom-width: 0 !important; + z-index: 1000; + padding: 1.25em 1em; + height: 100%; + overflow: auto + } + + #toc.toc2 #toctitle { + margin-top: 0; + margin-bottom: .8rem; + font-size: 1.2em + } + + #toc.toc2>ul { + font-size: .9em; + margin-bottom: 0 + } + + #toc.toc2 ul ul { + margin-left: 0; + padding-left: 1em + } + + #toc.toc2 ul.sectlevel0 ul.sectlevel1 { + padding-left: 0; + margin-top: .5em; + margin-bottom: .5em + } + + body.toc2.toc-right { + padding-left: 0; + padding-right: 15em + } + + body.toc2.toc-right #toc.toc2 { + border-right-width: 0; + border-left: 1px solid #e7e7e9; + left: auto; + right: 0 + } + } + + @media screen and (min-width: 1280px) { + body.toc2 { + padding-left: 20em; + padding-right: 0 + } + + #toc.toc2 { + width: 20em + } + + #toc.toc2 #toctitle { + font-size: 1.375em + } + + #toc.toc2>ul { + font-size: .95em + } + + #toc.toc2 ul ul { + padding-left: 1.25em + } + + body.toc2.toc-right { + padding-left: 0; + padding-right: 20em + } + } + + #content #toc { + border: 1px solid #e0e0dc; + margin-bottom: 1.25em; + padding: 1.25em; + background: #f8f8f7; + border-radius: 4px + } + + #content #toc> :first-child { + margin-top: 0 + } + + #content #toc> :last-child { + margin-bottom: 0 + } + + #footer { + max-width: none; + background: rgba(0, 0, 0, .8); + padding: 1.25em + } + + #footer-text { + color: hsla(0, 0%, 100%, .8); + line-height: 1.44 + } + + #content { + margin-bottom: .625em + } + + .sect1 { + padding-bottom: .625em + } + + @media screen and (min-width: 768px) { + #content { + margin-bottom: 1.25em + } + + .sect1 { + padding-bottom: 1.25em + } + } + + .sect1:last-child { + padding-bottom: 0 + } + + .sect1+.sect1 { + border-top: 1px solid #e7e7e9 + } + + #content h1>a.anchor, + h2>a.anchor, + h3>a.anchor, + #toctitle>a.anchor, + .sidebarblock>.content>.title>a.anchor, + h4>a.anchor, + h5>a.anchor, + h6>a.anchor { + position: absolute; + z-index: 1001; + width: 1.5ex; + margin-left: -1.5ex; + display: block; + text-decoration: none !important; + visibility: hidden; + text-align: center; + font-weight: 400 + } + + #content h1>a.anchor::before, + h2>a.anchor::before, + h3>a.anchor::before, + #toctitle>a.anchor::before, + .sidebarblock>.content>.title>a.anchor::before, + h4>a.anchor::before, + h5>a.anchor::before, + h6>a.anchor::before { + content: "\00A7"; + font-size: .85em; + display: block; + padding-top: .1em + } + + #content h1:hover>a.anchor, + #content h1>a.anchor:hover, + h2:hover>a.anchor, + h2>a.anchor:hover, + h3:hover>a.anchor, + #toctitle:hover>a.anchor, + .sidebarblock>.content>.title:hover>a.anchor, + h3>a.anchor:hover, + #toctitle>a.anchor:hover, + .sidebarblock>.content>.title>a.anchor:hover, + h4:hover>a.anchor, + h4>a.anchor:hover, + h5:hover>a.anchor, + h5>a.anchor:hover, + h6:hover>a.anchor, + h6>a.anchor:hover { + visibility: visible + } + + #content h1>a.link, + h2>a.link, + h3>a.link, + #toctitle>a.link, + .sidebarblock>.content>.title>a.link, + h4>a.link, + h5>a.link, + h6>a.link { + color: #ba3925; + text-decoration: none + } + + #content h1>a.link:hover, + h2>a.link:hover, + h3>a.link:hover, + #toctitle>a.link:hover, + .sidebarblock>.content>.title>a.link:hover, + h4>a.link:hover, + h5>a.link:hover, + h6>a.link:hover { + color: #a53221 + } + + details, + .audioblock, + .imageblock, + .literalblock, + .listingblock, + .stemblock, + .videoblock { + margin-bottom: 1.25em + } + + details { + margin-left: 1.25rem + } + + details>summary { + cursor: pointer; + display: block; + position: relative; + line-height: 1.6; + margin-bottom: .625rem; + outline: none; + -webkit-tap-highlight-color: transparent + } + + details>summary::-webkit-details-marker { + display: none + } + + details>summary::before { + content: ""; + border: solid transparent; + border-left: solid; + border-width: .3em 0 .3em .5em; + position: absolute; + top: .5em; + left: -1.25rem; + transform: translateX(15%) + } + + details[open]>summary::before { + border: solid transparent; + border-top: solid; + border-width: .5em .3em 0; + transform: translateY(15%) + } + + details>summary::after { + content: ""; + width: 1.25rem; + height: 1em; + position: absolute; + top: .3em; + left: -1.25rem + } + + .admonitionblock td.content>.title, + .audioblock>.title, + .exampleblock>.title, + .imageblock>.title, + .listingblock>.title, + .literalblock>.title, + .stemblock>.title, + .openblock>.title, + .paragraph>.title, + .quoteblock>.title, + table.tableblock>.title, + .verseblock>.title, + .videoblock>.title, + .dlist>.title, + .olist>.title, + .ulist>.title, + .qlist>.title, + .hdlist>.title { + text-rendering: optimizeLegibility; + text-align: left; + font-family: "Noto Serif", "DejaVu Serif", serif; + font-size: 1rem; + font-style: italic + } + + table.tableblock.fit-content>caption.title { + white-space: nowrap; + width: 0 + } + + .paragraph.lead>p, + #preamble>.sectionbody>[class=paragraph]:first-of-type p { + font-size: 1.21875em; + line-height: 1.6; + color: rgba(0, 0, 0, .85) + } + + .admonitionblock>table { + border-collapse: separate; + border: 0; + background: none; + width: 100% + } + + .admonitionblock>table td.icon { + text-align: center; + width: 80px + } + + .admonitionblock>table td.icon img { + max-width: none + } + + .admonitionblock>table td.icon .title { + font-weight: bold; + font-family: "Open Sans", "DejaVu Sans", sans-serif; + text-transform: uppercase + } + + .admonitionblock>table td.content { + padding-left: 1.125em; + padding-right: 1.25em; + border-left: 1px solid #dddddf; + color: rgba(0, 0, 0, .6); + word-wrap: anywhere + } + + .admonitionblock>table td.content> :last-child> :last-child { + margin-bottom: 0 + } + + .exampleblock>.content { + border: 1px solid #e6e6e6; + margin-bottom: 1.25em; + padding: 1.25em; + background: #fff; + border-radius: 4px + } + + .exampleblock>.content> :first-child { + margin-top: 0 + } + + .exampleblock>.content> :last-child { + margin-bottom: 0 + } + + .sidebarblock { + border: 1px solid #dbdbd6; + margin-bottom: 1.25em; + padding: 1.25em; + background: #f3f3f2; + border-radius: 4px + } + + .sidebarblock> :first-child { + margin-top: 0 + } + + .sidebarblock> :last-child { + margin-bottom: 0 + } + + .sidebarblock>.content>.title { + color: #7a2518; + margin-top: 0; + text-align: center + } + + .exampleblock>.content> :last-child> :last-child, + .exampleblock>.content .olist>ol>li:last-child> :last-child, + .exampleblock>.content .ulist>ul>li:last-child> :last-child, + .exampleblock>.content .qlist>ol>li:last-child> :last-child, + .sidebarblock>.content> :last-child> :last-child, + .sidebarblock>.content .olist>ol>li:last-child> :last-child, + .sidebarblock>.content .ulist>ul>li:last-child> :last-child, + .sidebarblock>.content .qlist>ol>li:last-child> :last-child { + margin-bottom: 0 + } + + .literalblock pre, + .listingblock>.content>pre { + border-radius: 4px; + overflow-x: auto; + padding: 1em; + font-size: .8125em + } + + @media screen and (min-width: 768px) { + + .literalblock pre, + .listingblock>.content>pre { + font-size: .90625em + } + } + + @media screen and (min-width: 1280px) { + + .literalblock pre, + .listingblock>.content>pre { + font-size: 1em + } + } + + .literalblock pre, + .listingblock>.content>pre:not(.highlight), + .listingblock>.content>pre[class=highlight], + .listingblock>.content>pre[class^="highlight "] { + background: #f7f7f8 + } + + .literalblock.output pre { + color: #f7f7f8; + background: rgba(0, 0, 0, .9) + } + + .listingblock>.content { + position: relative + } + + .listingblock code[data-lang]::before { + display: none; + content: attr(data-lang); + position: absolute; + font-size: .75em; + top: .425rem; + right: .5rem; + line-height: 1; + text-transform: uppercase; + color: inherit; + opacity: .5 + } + + .listingblock:hover code[data-lang]::before { + display: block + } + + .listingblock.terminal pre .command::before { + content: attr(data-prompt); + padding-right: .5em; + color: inherit; + opacity: .5 + } + + .listingblock.terminal pre .command:not([data-prompt])::before { + content: "$" + } + + .listingblock pre.highlightjs { + padding: 0 + } + + .listingblock pre.highlightjs>code { + padding: 1em; + border-radius: 4px + } + + .listingblock pre.prettyprint { + border-width: 0 + } + + .prettyprint { + background: #f7f7f8 + } + + pre.prettyprint .linenums { + line-height: 1.45; + margin-left: 2em + } + + pre.prettyprint li { + background: none; + list-style-type: inherit; + padding-left: 0 + } + + pre.prettyprint li code[data-lang]::before { + opacity: 1 + } + + pre.prettyprint li:not(:first-child) code[data-lang]::before { + display: none + } + + table.linenotable { + border-collapse: separate; + border: 0; + margin-bottom: 0; + background: none + } + + table.linenotable td[class] { + color: inherit; + vertical-align: top; + padding: 0; + line-height: inherit; + white-space: normal + } + + table.linenotable td.code { + padding-left: .75em + } + + table.linenotable td.linenos, + pre.pygments .linenos { + border-right: 1px solid; + opacity: .35; + padding-right: .5em; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none + } + + pre.pygments span.linenos { + display: inline-block; + margin-right: .75em + } + + .quoteblock { + margin: 0 1em 1.25em 1.5em; + display: table + } + + .quoteblock:not(.excerpt)>.title { + margin-left: -1.5em; + margin-bottom: .75em + } + + .quoteblock blockquote, + .quoteblock p { + color: rgba(0, 0, 0, .85); + font-size: 1.15rem; + line-height: 1.75; + word-spacing: .1em; + letter-spacing: 0; + font-style: italic; + text-align: justify + } + + .quoteblock blockquote { + margin: 0; + padding: 0; + border: 0 + } + + .quoteblock blockquote::before { + content: "\201c"; + float: left; + font-size: 2.75em; + font-weight: bold; + line-height: .6em; + margin-left: -.6em; + color: #7a2518; + text-shadow: 0 1px 2px rgba(0, 0, 0, .1) + } + + .quoteblock blockquote>.paragraph:last-child p { + margin-bottom: 0 + } + + .quoteblock .attribution { + margin-top: .75em; + margin-right: .5ex; + text-align: right + } + + .verseblock { + margin: 0 1em 1.25em + } + + .verseblock pre { + font-family: "Open Sans", "DejaVu Sans", sans-serif; + font-size: 1.15rem; + color: rgba(0, 0, 0, .85); + font-weight: 300; + text-rendering: optimizeLegibility + } + + .verseblock pre strong { + font-weight: 400 + } + + .verseblock .attribution { + margin-top: 1.25rem; + margin-left: .5ex + } + + .quoteblock .attribution, + .verseblock .attribution { + font-size: .9375em; + line-height: 1.45; + font-style: italic + } + + .quoteblock .attribution br, + .verseblock .attribution br { + display: none + } + + .quoteblock .attribution cite, + .verseblock .attribution cite { + display: block; + letter-spacing: -.025em; + color: rgba(0, 0, 0, .6) + } + + .quoteblock.abstract blockquote::before, + .quoteblock.excerpt blockquote::before, + .quoteblock .quoteblock blockquote::before { + display: none + } + + .quoteblock.abstract blockquote, + .quoteblock.abstract p, + .quoteblock.excerpt blockquote, + .quoteblock.excerpt p, + .quoteblock .quoteblock blockquote, + .quoteblock .quoteblock p { + line-height: 1.6; + word-spacing: 0 + } + + .quoteblock.abstract { + margin: 0 1em 1.25em; + display: block + } + + .quoteblock.abstract>.title { + margin: 0 0 .375em; + font-size: 1.15em; + text-align: center + } + + .quoteblock.excerpt>blockquote, + .quoteblock .quoteblock { + padding: 0 0 .25em 1em; + border-left: .25em solid #dddddf + } + + .quoteblock.excerpt, + .quoteblock .quoteblock { + margin-left: 0 + } + + .quoteblock.excerpt blockquote, + .quoteblock.excerpt p, + .quoteblock .quoteblock blockquote, + .quoteblock .quoteblock p { + color: inherit; + font-size: 1.0625rem + } + + .quoteblock.excerpt .attribution, + .quoteblock .quoteblock .attribution { + color: inherit; + font-size: .85rem; + text-align: left; + margin-right: 0 + } + + p.tableblock:last-child { + margin-bottom: 0 + } + + td.tableblock>.content { + margin-bottom: 1.25em; + word-wrap: anywhere + } + + td.tableblock>.content> :last-child { + margin-bottom: -1.25em + } + + table.tableblock, + th.tableblock, + td.tableblock { + border: 0 solid #dedede + } + + table.grid-all>*>tr>* { + border-width: 1px + } + + table.grid-cols>*>tr>* { + border-width: 0 1px + } + + table.grid-rows>*>tr>* { + border-width: 1px 0 + } + + table.frame-all { + border-width: 1px + } + + table.frame-ends { + border-width: 1px 0 + } + + table.frame-sides { + border-width: 0 1px + } + + table.frame-none>colgroup+*> :first-child>*, + table.frame-sides>colgroup+*> :first-child>* { + border-top-width: 0 + } + + table.frame-none> :last-child> :last-child>*, + table.frame-sides> :last-child> :last-child>* { + border-bottom-width: 0 + } + + table.frame-none>*>tr> :first-child, + table.frame-ends>*>tr> :first-child { + border-left-width: 0 + } + + table.frame-none>*>tr> :last-child, + table.frame-ends>*>tr> :last-child { + border-right-width: 0 + } + + table.stripes-all>*>tr, + table.stripes-odd>*>tr:nth-of-type(odd), + table.stripes-even>*>tr:nth-of-type(even), + table.stripes-hover>*>tr:hover { + background: #f8f8f7 + } + + th.halign-left, + td.halign-left { + text-align: left + } + + th.halign-right, + td.halign-right { + text-align: right + } + + th.halign-center, + td.halign-center { + text-align: center + } + + th.valign-top, + td.valign-top { + vertical-align: top + } + + th.valign-bottom, + td.valign-bottom { + vertical-align: bottom + } + + th.valign-middle, + td.valign-middle { + vertical-align: middle + } + + table thead th, + table tfoot th { + font-weight: bold + } + + tbody tr th { + background: #f7f8f7 + } + + tbody tr th, + tbody tr th p, + tfoot tr th, + tfoot tr th p { + color: rgba(0, 0, 0, .8); + font-weight: bold + } + + p.tableblock>code:only-child { + background: none; + padding: 0 + } + + p.tableblock { + font-size: 1em + } + + ol { + margin-left: 1.75em + } + + ul li ol { + margin-left: 1.5em + } + + dl dd { + margin-left: 1.125em + } + + dl dd:last-child, + dl dd:last-child> :last-child { + margin-bottom: 0 + } + + li p, + ul dd, + ol dd, + .olist .olist, + .ulist .ulist, + .ulist .olist, + .olist .ulist { + margin-bottom: .625em + } + + ul.checklist, + ul.none, + ol.none, + ul.no-bullet, + ol.no-bullet, + ol.unnumbered, + ul.unstyled, + ol.unstyled { + list-style-type: none + } + + ul.no-bullet, + ol.no-bullet, + ol.unnumbered { + margin-left: .625em + } + + ul.unstyled, + ol.unstyled { + margin-left: 0 + } + + li>p:empty:only-child::before { + content: ""; + display: inline-block + } + + ul.checklist>li>p:first-child { + margin-left: -1em + } + + ul.checklist>li>p:first-child>.fa-square-o:first-child, + ul.checklist>li>p:first-child>.fa-check-square-o:first-child { + width: 1.25em; + font-size: .8em; + position: relative; + bottom: .125em + } + + ul.checklist>li>p:first-child>input[type=checkbox]:first-child { + margin-right: .25em + } + + ul.inline { + display: flex; + flex-flow: row wrap; + list-style: none; + margin: 0 0 .625em -1.25em + } + + ul.inline>li { + margin-left: 1.25em + } + + .unstyled dl dt { + font-weight: 400; + font-style: normal + } + + ol.arabic { + list-style-type: decimal + } + + ol.decimal { + list-style-type: decimal-leading-zero + } + + ol.loweralpha { + list-style-type: lower-alpha + } + + ol.upperalpha { + list-style-type: upper-alpha + } + + ol.lowerroman { + list-style-type: lower-roman + } + + ol.upperroman { + list-style-type: upper-roman + } + + ol.lowergreek { + list-style-type: lower-greek + } + + .hdlist>table, + .colist>table { + border: 0; + background: none + } + + .hdlist>table>tbody>tr, + .colist>table>tbody>tr { + background: none + } + + td.hdlist1, + td.hdlist2 { + vertical-align: top; + padding: 0 .625em + } + + td.hdlist1 { + font-weight: bold; + padding-bottom: 1.25em + } + + td.hdlist2 { + word-wrap: anywhere + } + + .literalblock+.colist, + .listingblock+.colist { + margin-top: -.5em + } + + .colist td:not([class]):first-child { + padding: .4em .75em 0; + line-height: 1; + vertical-align: top + } + + .colist td:not([class]):first-child img { + max-width: none + } + + .colist td:not([class]):last-child { + padding: .25em 0 + } + + .thumb, + .th { + line-height: 0; + display: inline-block; + border: 4px solid #fff; + box-shadow: 0 0 0 1px #ddd + } + + .imageblock.left { + margin: .25em .625em 1.25em 0 + } + + .imageblock.right { + margin: .25em 0 1.25em .625em + } + + .imageblock>.title { + margin-bottom: 0 + } + + .imageblock.thumb, + .imageblock.th { + border-width: 6px + } + + .imageblock.thumb>.title, + .imageblock.th>.title { + padding: 0 .125em + } + + .image.left, + .image.right { + margin-top: .25em; + margin-bottom: .25em; + display: inline-block; + line-height: 0 + } + + .image.left { + margin-right: .625em + } + + .image.right { + margin-left: .625em + } + + a.image { + text-decoration: none; + display: inline-block + } + + a.image object { + pointer-events: none + } + + sup.footnote, + sup.footnoteref { + font-size: .875em; + position: static; + vertical-align: super + } + + sup.footnote a, + sup.footnoteref a { + text-decoration: none + } + + sup.footnote a:active, + sup.footnoteref a:active { + text-decoration: underline + } + + #footnotes { + padding-top: .75em; + padding-bottom: .75em; + margin-bottom: .625em + } + + #footnotes hr { + width: 20%; + min-width: 6.25em; + margin: -.25em 0 .75em; + border-width: 1px 0 0 + } + + #footnotes .footnote { + padding: 0 .375em 0 .225em; + line-height: 1.3334; + font-size: .875em; + margin-left: 1.2em; + margin-bottom: .2em + } + + #footnotes .footnote a:first-of-type { + font-weight: bold; + text-decoration: none; + margin-left: -1.05em + } + + #footnotes .footnote:last-of-type { + margin-bottom: 0 + } + + #content #footnotes { + margin-top: -.625em; + margin-bottom: 0; + padding: .75em 0 + } + + div.unbreakable { + page-break-inside: avoid + } + + .big { + font-size: larger + } + + .small { + font-size: smaller + } + + .underline { + text-decoration: underline + } + + .overline { + text-decoration: overline + } + + .line-through { + text-decoration: line-through + } + + .aqua { + color: #00bfbf + } + + .aqua-background { + background: #00fafa + } + + .black { + color: #000 + } + + .black-background { + background: #000 + } + + .blue { + color: #0000bf + } + + .blue-background { + background: #0000fa + } + + .fuchsia { + color: #bf00bf + } + + .fuchsia-background { + background: #fa00fa + } + + .gray { + color: #606060 + } + + .gray-background { + background: #7d7d7d + } + + .green { + color: #006000 + } + + .green-background { + background: #007d00 + } + + .lime { + color: #00bf00 + } + + .lime-background { + background: #00fa00 + } + + .maroon { + color: #600000 + } + + .maroon-background { + background: #7d0000 + } + + .navy { + color: #000060 + } + + .navy-background { + background: #00007d + } + + .olive { + color: #606000 + } + + .olive-background { + background: #7d7d00 + } + + .purple { + color: #600060 + } + + .purple-background { + background: #7d007d + } + + .red { + color: #bf0000 + } + + .red-background { + background: #fa0000 + } + + .silver { + color: #909090 + } + + .silver-background { + background: #bcbcbc + } + + .teal { + color: #006060 + } + + .teal-background { + background: #007d7d + } + + .white { + color: #bfbfbf + } + + .white-background { + background: #fafafa + } + + .yellow { + color: #bfbf00 + } + + .yellow-background { + background: #fafa00 + } + + span.icon>.fa { + cursor: default + } + + a span.icon>.fa { + cursor: inherit + } + + .admonitionblock td.icon [class^="fa icon-"] { + font-size: 2.5em; + text-shadow: 1px 1px 2px rgba(0, 0, 0, .5); + cursor: default + } + + .admonitionblock td.icon .icon-note::before { + content: "\f05a"; + color: #19407c + } + + .admonitionblock td.icon .icon-tip::before { + content: "\f0eb"; + text-shadow: 1px 1px 2px rgba(155, 155, 0, .8); + color: #111 + } + + .admonitionblock td.icon .icon-warning::before { + content: "\f071"; + color: #bf6900 + } + + .admonitionblock td.icon .icon-caution::before { + content: "\f06d"; + color: #bf3400 + } + + .admonitionblock td.icon .icon-important::before { + content: "\f06a"; + color: #bf0000 + } + + .conum[data-value] { + display: inline-block; + color: #fff !important; + background: rgba(0, 0, 0, .8); + border-radius: 50%; + text-align: center; + font-size: .75em; + width: 1.67em; + height: 1.67em; + line-height: 1.67em; + font-family: "Open Sans", "DejaVu Sans", sans-serif; + font-style: normal; + font-weight: bold + } + + .conum[data-value] * { + color: #fff !important + } + + .conum[data-value]+b { + display: none + } + + .conum[data-value]::after { + content: attr(data-value) + } + + pre .conum[data-value] { + position: relative; + top: -.125em + } + + b.conum * { + color: inherit !important + } + + .conum:not([data-value]):empty { + display: none + } + + dt, + th.tableblock, + td.content, + div.footnote { + text-rendering: optimizeLegibility + } + + h1, + h2, + p, + td.content, + span.alt, + summary { + letter-spacing: -.01em + } + + p strong, + td.content strong, + div.footnote strong { + letter-spacing: -.005em + } + + p, + blockquote, + dt, + td.content, + span.alt, + summary { + font-size: 1.0625rem + } + + p { + margin-bottom: 1.25rem + } + + .sidebarblock p, + .sidebarblock dt, + .sidebarblock td.content, + p.tableblock { + font-size: 1em + } + + .exampleblock>.content { + background: #fffef7; + border-color: #e0e0dc; + box-shadow: 0 1px 4px #e0e0dc + } + + .print-only { + display: none !important + } + + @page { + margin: 1.25cm .75cm + } + + @media print { + * { + box-shadow: none !important; + text-shadow: none !important + } + + html { + font-size: 80% + } + + a { + color: inherit !important; + text-decoration: underline !important + } + + a.bare, + a[href^="#"], + a[href^="mailto:"] { + text-decoration: none !important + } + + a[href^="http:"]: not(.bare):: after, + a[href^="https:"]:not(.bare)::after { + content: "(" attr(href) ")"; + display: inline-block; + font-size: .875em; + padding-left: .25em + } + + abbr[title] { + border-bottom: 1px dotted + } + + abbr[title]::after { + content: " (" attr(title) ")" + } + + pre, + blockquote, + tr, + img, + object, + svg { + page-break-inside: avoid + } + + thead { + display: table-header-group + } + + svg { + max-width: 100% + } + + p, + blockquote, + dt, + td.content { + font-size: 1em; + orphans: 3; + widows: 3 + } + + h2, + h3, + #toctitle, + .sidebarblock>.content>.title { + page-break-after: avoid + } + + #header, + #content, + #footnotes, + #footer { + max-width: none + } + + #toc, + .sidebarblock, + .exampleblock>.content { + background: none !important + } + + #toc { + border-bottom: 1px solid #dddddf !important; + padding-bottom: 0 !important + } + + body.book #header { + text-align: center + } + + body.book #header>h1:first-child { + border: 0 !important; + margin: 2.5em 0 1em + } + + body.book #header .details { + border: 0 !important; + display: block; + padding: 0 !important + } + + body.book #header .details span:first-child { + margin-left: 0 !important + } + + body.book #header .details br { + display: block + } + + body.book #header .details br+span::before { + content: none !important + } + + body.book #toc { + border: 0 !important; + text-align: left !important; + padding: 0 !important; + margin: 0 !important + } + + body.book #toc, + body.book #preamble, + body.book h1.sect0, + body.book .sect1>h2 { + page-break-before: always + } + + .listingblock code[data-lang]::before { + display: block + } + + #footer { + padding: 0 .9375em + } + + .hide-on-print { + display: none !important + } + + .print-only { + display: block !important + } + + .hide-for-print { + display: none !important + } + + .show-for-print { + display: inherit !important + } + } + + @media amzn-kf8, + print { + #header>h1:first-child { + margin-top: 1.25rem + } + + .sect1 { + padding: 0 !important + } + + .sect1+.sect1 { + border: 0 + } + + #footer { + background: none + } + + #footer-text { + color: rgba(0, 0, 0, .6); + font-size: .9em + } + } + + @media amzn-kf8 { + + #header, + #content, + #footnotes, + #footer { + padding: 0 + } + } + </style> +</head> + +<body class="article"> + <div id="header"> + <h1>$TITLE</h1> + </div> + <div id="content"> + + <div class="sect1"> + $INDEX + </div> + + <div class="sect1"> + <h1>Crédits</h1> + <p>Le template de slides et sa compilation a été repris de Ferrous Systems et de leur très bon cours + se trouant sur github <https: //github.com/ferrous-systems/rust-training>.</p> + <h1>License</h1> + <p> + <a href="http://creativecommons.org/licenses/by-sa/4.0/"> + <img src="https://i.creativecommons.org/l/by-sa/4.0/88x31.png" /> + </a> + </p> + <p>This work is licensed under a <a href="http://creativecommons.org/licenses/by-sa/4.0/">Creative Commons + Attribution-ShareAlike 4.0 International License</a>.</p> + </div> + + </div> +</body> + +</html> \ No newline at end of file diff --git a/slides/src/SUMMARY.md b/slides/src/SUMMARY.md new file mode 100644 index 0000000000000000000000000000000000000000..2303dbe4a6ea1b89a2a9d23de05e80dbb31ca2f3 --- /dev/null +++ b/slides/src/SUMMARY.md @@ -0,0 +1,23 @@ +# Table des matières du cours + +- [Introduction](introduction.md) +- [Installation](installation.md). +- [Variables](variables.md). +- [Types](types.md). +- [Structures de contrôle](control.md). +- [Types avancés](types_avances.md). +- [Organisation du code](modules.md). +- [Fonctions](fonctions.md). +- [Ownership](ownership.md). +- [Commentaires](commentaires.md). +- [Gestion d'erreurs](errors.md). +- [Méthodes](methods.md). +- [Pointeurs intelligents](smart_pointers.md). +- [Génériques](generics.md). +- [Traits](traits.md). +- [Tests](tests.md). +- [Vecteurs](vec.md). +<!-- - [Itérateurs](iterators.md). +- [Unsafe Rust](collections.md). +- [Lifetimes](lifetimes.md). --> + diff --git a/slides/src/commentaires.md b/slides/src/commentaires.md new file mode 100644 index 0000000000000000000000000000000000000000..fe8b1c2750f598306868ee915d90fea6788d8f32 --- /dev/null +++ b/slides/src/commentaires.md @@ -0,0 +1,80 @@ +# Commentaires + +## Commentaires simples + +```rust [2-3|4-7|] +fn main() { + // Tout programme Rust a un point d'entrée qui est + // une fonction fn main(). + /* + On peut également documenter sur plusieurs lignes. + Cela se fait comme ceci. + */ + println!("Hello, World!"); // Ceci est un macro en ligne. +} +``` + +## Commentaires de documentation + +- La commande `cargo doc --open` génère la documentation en HTML. + +```rust [1-2|4|6-9|] +/// Cette fonction ajoute deux, puis multiplie par trois. +/// Cette documentation supporte le Markdown. +/// +/// # Exemple +/// +/// ``` +/// let five = 5; +/// add_two_mul_three(five); +/// ``` +pub fn add_two_mul_three(x: i32) -> i32 { + (x + 2) * 3 +} +``` + +## Tests de documentation + +```rust [6-10|] +/// Cette fonction ajoute deux, puis multiplie par trois. +/// Elle doit se trouver dans la librairie (pas dans le `main.rs`). +/// +/// # Exemple +/// +/// ``` +/// use tests::add_two_mul_three; +/// let five = 5; +/// add_two_mul_three(five); +/// ``` +pub fn add_two_mul_three(x: i32) -> i32 { + (x + 2) * 3 +} +``` + +## Tests de documentation: compte rendu + +```sh +$ cargo test --doc + Finished dev [unoptimized + debuginfo] target(s) in 0.01s + Doc-tests hello_world +running 1 test +test src/lib.rs - add_two_mul_three (line 11) ... ok +test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out +``` + +## Commentaires de module + +- La documentation du projet en entier se fait avec `//!` en début de ligne. + +```rust [1-5|] +//! # Hello world +//! +//! `hello_world` est l'exemple typique de tout +//! cours de programmation. Ces commentaires vont en entête +//! d'un fichier de module. + +/// Cette fonction ajoute deux, puis multiplie par trois. +pub fn add_two_mul_three(x: i32) -> i32 { + (x + 2) * 3 +} +``` diff --git a/slides/src/errors.md b/slides/src/errors.md new file mode 100644 index 0000000000000000000000000000000000000000..b5d3f70c64d9d40fec18bc6f6cdc38752193d0dc --- /dev/null +++ b/slides/src/errors.md @@ -0,0 +1,195 @@ +# Gestion d'erreurs + +## Les différents types d'erreur + +- Il est important de pouvoir gérer trois cas: + - La panique totale (erreur fatale du programme). + - L'erreur dont on peut se remettre. + - Un résultat qui peut contenir une valeur ou pas. + +## `panic!()` + +```rust [2-4|] should_panic +fn elem(v: &[i32], i: usize) -> i32 { + if i >= v.len() { + panic!("Erreur fatale!"); + } + v[i] +} +fn main() { + let v = [1, 2, 3, 4]; + elem(&v, 100); +} +``` + +## Debugging + +```sh + $ RUST_BACKTRACE=1 cargo run + Finished dev [unoptimized + debuginfo] target(s) in 0.01s + Running `target/debug/ma_librairie` +thread 'main' panicked at 'Erreur fatale!', src/main.rs:5:3 +stack backtrace: + 0: std::sys::unix::backtrace::tracing::imp::unwind_backtrace + at libstd/sys/unix/backtrace/tracing/gcc_s.rs:49 + 1: std::sys_common::backtrace::print + at libstd/sys_common/backtrace.rs:71 + at libstd/sys_common/backtrace.rs:59 + 2: std::panicking::default_hook::{{closure}} + at libstd/panicking.rs:211 + 3: std::panicking::default_hook + at libstd/panicking.rs:227 + 4: std::panicking::rust_panic_with_hook + at libstd/panicking.rs:477 + 5: std::panicking::begin_panic + at /checkout/src/libstd/panicking.rs:411 + 6: ma_librairie::elem + at src/main.rs:5 + 7: ma_librairie::main + at src/main.rs:12 + 8: std::rt::lang_start::{{closure}} + at /checkout/src/libstd/rt.rs:74 + 9: std::panicking::try::do_call + at libstd/rt.rs:59 + at libstd/panicking.rs:310 + 10: __rust_maybe_catch_panic + at libpanic_unwind/lib.rs:102 + 11: std::rt::lang_start_internal + at libstd/panicking.rs:289 + at libstd/panic.rs:392 + at libstd/rt.rs:58 + 12: std::rt::lang_start + at /checkout/src/libstd/rt.rs:74 + 13: main + 14: __libc_start_main + 15: _start +``` + +## Asserts + +```rust [4,6,7|] should_panic +fn main() { + let num = 1; + let denum = 0; + assert!(denum != 0, "Le dénominateur doit être non nul."); + let _total = num / denum; + assert_eq!(num, denum, "num et denum devraient être égales."); + assert_ne!(a, b, "num et denum devraient être différentes."); +} +``` + +## Options + +```rust +enum Option<T> { // <T> est une notation pour un type générique + Some(T), + None, +} +``` + +- Type énuméré générique, `Some` encapsule un `T`, `None` un "rien". + +## Options: exemple + +```rust [4-9|10-13|] +fn main() { + let num = 1; + let denum = 4; + let div = + if denum == 0 { + None + } else { + Some(num / denum) + }; + match div { + Some(d) => println!("{} divisé par {} donne {}", num, denum, d), + None => println!("Cette division n'existe pas."), + } +} +``` + +## Options: `if let` + +```rust [1-7|11-15|] +fn div(num: i32, denum: i32) -> Option<i32> { + if denum == 0 { + None + } else { + Some(num / denum) + } +} +fn main() { + let num = 1; + let denum = 4; + if let res = Some(div(num, denum)) { + println!("{num} / {denum} = res"); + } else { + println!("Une division par zéro est impossible."); + } +} +``` + +## Options: `unwrap()` + +```rust [11|] should_panic +fn div(num: i32, denum: i32) -> Option<i32> { + if denum == 0 { + None + } else { + Some(num / denum) + } +} +fn main() { + let num = 1; + let denum = 0; + let res = div(num, denum).unwrap(); // panique! + println!("{num} / {denum} = res"); +} +``` + +## Results + +```rust +enum Result<T, E> { + Ok(T), + Err(E), +} +``` + +- Deux types génériques `T` (réussite) et `E` (erreur). + +## Exemple + +```rust [1-7|10-13|] +fn elem(v: &[i32], i: usize) -> Result<i32, &str> { + if i >= v.len() { + Err("L'index est trop grand!") + } else { + Ok(v[i]) + } +} +fn main() { + let v = [1, 2, 3, 4]; + match elem(&v, 100) { + Ok(i) => println!("L'élément est {}", i), + Err(e) => println!("Mince ça a raté car: {}.", e), + } +} +``` + +## `unwrap()` + +```rust [10|] should_panic +fn elem(v: &[i32], i: usize) -> Result<i32, &str> { + if i >= v.len() { + return Err("L'index est trop grand!") + } else { + Ok(v[i]) + } +} +fn main() { + let v = [1, 2, 3, 4]; + let res = elem(&v, 100).unwrap(); + println!("L'élément est {}", res); +} +``` \ No newline at end of file diff --git a/slides/src/figs/ferris.svg b/slides/src/figs/ferris.svg new file mode 100644 index 0000000000000000000000000000000000000000..0091b5a8c893f599fbad9b60d88b594a2c7ed779 --- /dev/null +++ b/slides/src/figs/ferris.svg @@ -0,0 +1,47 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg width="100%" height="100%" viewBox="0 0 1200 800" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41421;"> + <g id="Layer-1" serif:id="Layer 1"> + <g transform="matrix(1,0,0,1,597.344,637.02)"> + <path d="M0,-279.559C-121.238,-279.559 -231.39,-264.983 -312.939,-241.23L-312.939,-38.329C-231.39,-14.575 -121.238,0 0,0C138.76,0 262.987,-19.092 346.431,-49.186L346.431,-230.37C262.987,-260.465 138.76,-279.559 0,-279.559" style="fill:rgb(165,43,0);fill-rule:nonzero;"/> + </g> + <g transform="matrix(1,0,0,1,1068.75,575.642)"> + <path d="M0,-53.32L-14.211,-82.761C-14.138,-83.879 -14.08,-84.998 -14.08,-86.121C-14.08,-119.496 -48.786,-150.256 -107.177,-174.883L-107.177,2.643C-79.932,-8.849 -57.829,-21.674 -42.021,-35.482C-46.673,-16.775 -62.585,21.071 -75.271,47.686C-96.121,85.752 -103.671,118.889 -102.703,120.53C-102.086,121.563 -94.973,110.59 -84.484,92.809C-60.074,58.028 -13.82,-8.373 -4.575,-25.287C5.897,-44.461 0,-53.32 0,-53.32" style="fill:rgb(165,43,0);fill-rule:nonzero;"/> + </g> + <g transform="matrix(1,0,0,1,149.064,591.421)"> + <path d="M0,-99.954C0,-93.526 1.293,-87.194 3.788,-80.985L-4.723,-65.835C-4.723,-65.835 -11.541,-56.989 0.465,-38.327C11.055,-21.872 64.1,42.54 92.097,76.271C104.123,93.564 112.276,104.216 112.99,103.187C114.114,101.554 105.514,69.087 81.631,32.046C70.487,12.151 57.177,-14.206 49.189,-33.675C71.492,-19.559 100.672,-6.755 135.341,4.265L135.341,-204.17C51.797,-177.622 0,-140.737 0,-99.954" style="fill:rgb(165,43,0);fill-rule:nonzero;"/> + </g> + <g transform="matrix(-65.8097,-752.207,-752.207,65.8097,621.707,796.312)"> + <path d="M0.991,-0.034L0.933,0.008C0.933,0.014 0.933,0.02 0.933,0.026L0.99,0.069C0.996,0.073 0.999,0.08 0.998,0.087C0.997,0.094 0.992,0.1 0.986,0.103L0.92,0.133C0.919,0.139 0.918,0.145 0.916,0.15L0.964,0.203C0.968,0.208 0.97,0.216 0.968,0.222C0.965,0.229 0.96,0.234 0.953,0.236L0.882,0.254C0.88,0.259 0.877,0.264 0.875,0.27L0.91,0.33C0.914,0.336 0.914,0.344 0.91,0.35C0.907,0.356 0.9,0.36 0.893,0.361L0.82,0.365C0.817,0.369 0.813,0.374 0.81,0.379L0.832,0.445C0.835,0.452 0.833,0.459 0.828,0.465C0.824,0.47 0.816,0.473 0.809,0.472L0.737,0.462C0.733,0.466 0.729,0.47 0.724,0.474L0.733,0.544C0.734,0.551 0.731,0.558 0.725,0.562C0.719,0.566 0.711,0.568 0.704,0.565L0.636,0.542C0.631,0.546 0.626,0.549 0.621,0.552L0.615,0.621C0.615,0.629 0.61,0.635 0.604,0.638C0.597,0.641 0.589,0.641 0.583,0.638L0.521,0.602C0.52,0.603 0.519,0.603 0.518,0.603L0.406,0.729C0.406,0.729 0.394,0.747 0.359,0.725C0.329,0.705 0.206,0.599 0.141,0.543C0.109,0.52 0.089,0.504 0.09,0.502C0.093,0.499 0.149,0.509 0.217,0.554C0.278,0.588 0.371,0.631 0.38,0.619C0.38,0.619 0.396,0.604 0.406,0.575C0.406,0.575 0.406,0.575 0.406,0.575C0.407,0.576 0.407,0.576 0.406,0.575C0.406,0.575 0.091,0.024 0.305,-0.531C0.311,-0.593 0.275,-0.627 0.275,-0.627C0.266,-0.639 0.178,-0.598 0.12,-0.566C0.055,-0.523 0.002,-0.513 0,-0.516C-0.001,-0.518 0.018,-0.533 0.049,-0.555C0.11,-0.608 0.227,-0.707 0.256,-0.726C0.289,-0.748 0.301,-0.73 0.301,-0.73L0.402,-0.615C0.406,-0.614 0.41,-0.613 0.415,-0.613L0.47,-0.658C0.475,-0.663 0.483,-0.664 0.49,-0.662C0.497,-0.66 0.502,-0.655 0.504,-0.648L0.522,-0.58C0.527,-0.578 0.533,-0.576 0.538,-0.574L0.602,-0.608C0.608,-0.612 0.616,-0.612 0.623,-0.608C0.629,-0.605 0.633,-0.599 0.633,-0.592L0.637,-0.522C0.642,-0.519 0.647,-0.515 0.652,-0.512L0.721,-0.534C0.728,-0.536 0.736,-0.535 0.741,-0.531C0.747,-0.526 0.75,-0.519 0.749,-0.512L0.738,-0.443C0.742,-0.439 0.746,-0.435 0.751,-0.431L0.823,-0.439C0.83,-0.44 0.837,-0.437 0.842,-0.432C0.847,-0.426 0.848,-0.419 0.845,-0.412L0.821,-0.347C0.824,-0.342 0.828,-0.337 0.831,-0.332L0.903,-0.327C0.911,-0.327 0.917,-0.322 0.92,-0.316C0.924,-0.31 0.924,-0.302 0.92,-0.296L0.883,-0.236C0.885,-0.231 0.887,-0.226 0.889,-0.22L0.959,-0.202C0.966,-0.2 0.972,-0.195 0.974,-0.188C0.976,-0.181 0.974,-0.174 0.969,-0.168L0.92,-0.116C0.921,-0.111 0.923,-0.105 0.924,-0.099L0.988,-0.068C0.995,-0.065 0.999,-0.059 1,-0.052C1.001,-0.045 0.997,-0.038 0.991,-0.034ZM0.406,0.575C0.406,0.575 0.406,0.575 0.406,0.575C0.406,0.575 0.406,0.575 0.406,0.575Z" style="fill:url(#_Linear1);fill-rule:nonzero;"/> + </g> + <g transform="matrix(1,0,0,1,450.328,483.629)"> + <path d="M0,167.33C-1.664,165.91 -2.536,165.068 -2.536,165.068L140.006,153.391C23.733,0 -69.418,122.193 -79.333,135.855L-79.333,167.33L0,167.33Z" style="fill-rule:nonzero;"/> + </g> + <g transform="matrix(1,0,0,1,747.12,477.333)"> + <path d="M0,171.974C1.663,170.554 2.536,169.71 2.536,169.71L-134.448,159.687C-18.12,0 69.421,126.835 79.335,140.497L79.335,171.974L0,171.974Z" style="fill-rule:nonzero;"/> + </g> + <g transform="matrix(-1.53e-05,-267.211,-267.211,1.53e-05,809.465,764.23)"> + <path d="M1,-0.586C1,-0.586 0.768,-0.528 0.524,-0.165L0.5,-0.064C0.5,-0.064 1.1,0.265 0.424,0.731C0.424,0.731 0.508,0.586 0.405,0.197C0.405,0.197 0.131,0.376 0.14,0.736C0.14,0.736 -0.275,0.391 0.324,-0.135C0.324,-0.135 0.539,-0.691 1,-0.736L1,-0.586Z" style="fill:url(#_Linear2);fill-rule:nonzero;"/> + </g> + <g transform="matrix(1,0,0,1,677.392,509.61)"> + <path d="M0,-92.063C0,-92.063 43.486,-139.678 86.974,-92.063C86.974,-92.063 121.144,-28.571 86.974,3.171C86.974,3.171 31.062,47.615 0,3.171C0,3.171 -37.275,-31.75 0,-92.063" style="fill-rule:nonzero;"/> + </g> + <g transform="matrix(1,0,0,1,727.738,435.209)"> + <path d="M0,0.002C0,18.543 -10.93,33.574 -24.408,33.574C-37.885,33.574 -48.814,18.543 -48.814,0.002C-48.814,-18.539 -37.885,-33.572 -24.408,-33.572C-10.93,-33.572 0,-18.539 0,0.002" style="fill:white;fill-rule:nonzero;"/> + </g> + <g transform="matrix(1,0,0,1,483.3,502.984)"> + <path d="M0,-98.439C0,-98.439 74.596,-131.467 94.956,-57.748C94.956,-57.748 116.283,28.178 33.697,33.028C33.697,33.028 -71.613,12.745 0,-98.439" style="fill-rule:nonzero;"/> + </g> + <g transform="matrix(1,0,0,1,520.766,436.428)"> + <path d="M0,0C0,19.119 -11.27,34.627 -25.173,34.627C-39.071,34.627 -50.344,19.119 -50.344,0C-50.344,-19.124 -39.071,-34.627 -25.173,-34.627C-11.27,-34.627 0,-19.124 0,0" style="fill:white;fill-rule:nonzero;"/> + </g> + <g transform="matrix(-1.53e-05,-239.021,-239.021,1.53e-05,402.161,775.388)"> + <path d="M0.367,0.129C-0.364,-0.441 0.223,-0.711 0.223,-0.711C0.259,-0.391 0.472,-0.164 0.472,-0.164C0.521,-0.548 0.525,-0.77 0.525,-0.77C1.203,-0.256 0.589,0.161 0.589,0.161C0.627,0.265 0.772,0.372 0.906,0.451L1,0.77C0.376,0.403 0.367,0.129 0.367,0.129Z" style="fill:url(#_Linear3);fill-rule:nonzero;"/> + </g> + </g> + <defs> + <linearGradient id="_Linear1" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1,0,1.38778e-17,-1,0,-0.000650515)"><stop offset="0" style="stop-color:rgb(247,76,0);stop-opacity:1"/><stop offset="0.33" style="stop-color:rgb(247,76,0);stop-opacity:1"/><stop offset="1" style="stop-color:rgb(244,150,0);stop-opacity:1"/></linearGradient> + <linearGradient id="_Linear2" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1,0,0,-1,0,1.23438e-06)"><stop offset="0" style="stop-color:rgb(204,58,0);stop-opacity:1"/><stop offset="0.15" style="stop-color:rgb(204,58,0);stop-opacity:1"/><stop offset="0.74" style="stop-color:rgb(247,76,0);stop-opacity:1"/><stop offset="1" style="stop-color:rgb(247,76,0);stop-opacity:1"/></linearGradient> + <linearGradient id="_Linear3" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(1,1.32349e-23,1.32349e-23,-1,0,-9.1568e-07)"><stop offset="0" style="stop-color:rgb(204,58,0);stop-opacity:1"/><stop offset="0.15" style="stop-color:rgb(204,58,0);stop-opacity:1"/><stop offset="0.74" style="stop-color:rgb(247,76,0);stop-opacity:1"/><stop offset="1" style="stop-color:rgb(247,76,0);stop-opacity:1"/></linearGradient> + </defs> +</svg> diff --git a/slides/src/figs/mem_cp.svg b/slides/src/figs/mem_cp.svg new file mode 100644 index 0000000000000000000000000000000000000000..81f5b1f06d35c8c278985f1a49fed7905c1793ac --- /dev/null +++ b/slides/src/figs/mem_cp.svg @@ -0,0 +1,2498 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:ns1="http://www.iki.fi/pav/software/textext/" + 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" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="570.30597mm" + height="216.32167mm" + viewBox="0 0 570.30597 216.32167" + version="1.1" + id="svg5014" + inkscape:version="0.92.2 2405546, 2018-03-11" + sodipodi:docname="mem_cp.svg"> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="0.49497475" + inkscape:cx="989.68392" + inkscape:cy="354.10478" + inkscape:document-units="mm" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="1920" + inkscape:window-height="1016" + inkscape:window-x="0" + inkscape:window-y="30" + inkscape:window-maximized="1" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" /> + <defs + id="defs5008"> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="marker2339-0" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Mend"> + <path + transform="scale(-0.6)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + id="path2101-9" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="marker2339" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Mend"> + <path + inkscape:connector-curvature="0" + transform="scale(-0.6)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + id="path2101" /> + </marker> + <marker + inkscape:stockid="DotM" + orient="auto" + refY="0" + refX="0" + id="DotM-0-3" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path5125-2-5" + d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(0.4,0,0,0.4,2.96,0.4)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-3-6" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path5088-7-2" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="DotM" + orient="auto" + refY="0" + refX="0" + id="DotM-3" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path5125-6" + d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z" + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(0.4,0,0,0.4,2.96,0.4)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-7" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path5088-5" + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="DotM" + orient="auto" + refY="0" + refX="0" + id="DotM-0" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path5125-2" + d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(0.4,0,0,0.4,2.96,0.4)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-3" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path5088-7" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="DotM" + orient="auto" + refY="0" + refX="0" + id="DotM" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path5125" + d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(0.4,0,0,0.4,2.96,0.4)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path5088" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="marker2339-03" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Mend"> + <path + inkscape:connector-curvature="0" + transform="scale(-0.6)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + id="path2101-6" /> + </marker> + </defs> + <metadata + id="metadata5011"> + <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 + id="layer1" + inkscape:groupmode="layer" + inkscape:label="Layer 1" + transform="translate(349.40893,14.903473)"> + <rect + y="152.18449" + x="-333.06094" + height="25.324409" + width="268.55212" + id="rect4520-0" + style="opacity:1;fill:#999999;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" /> + <rect + y="54.363846" + x="-333.06094" + height="25.324409" + width="268.74323" + id="rect4520" + style="opacity:1;fill:#999999;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" /> + <g + transform="translate(-13.096207,0.11381531)" + id="g6402"> + <rect + style="opacity:1;fill:#f9f9f9;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" + id="rect4520-3" + width="86.792793" + height="25.324409" + x="-293.28391" + y="152.07068" /> + <path + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="M -271.60541,152.07068 V 177.0171" + id="path4537" + inkscape:connector-curvature="0" /> + <path + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="M -249.91903,152.02343 V 177.0171" + id="path4539" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + <path + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="M -228.23263,152.16517 V 177.1116" + id="path4541" + inkscape:connector-curvature="0" /> + <path + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="M -293.29179,152.07068 V 177.0171" + id="path4537-6" + inkscape:connector-curvature="0" /> + <path + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m -206.54625,152.16517 v 24.94642" + id="path4537-6-7" + inkscape:connector-curvature="0" /> + <g + transform="translate(-434.08231,33.288199)" + ns1:textextver="0.8" + ns1:converter="pdf2svg" + ns1:text="$1$" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:scale="1.0" + id="g4597"> + <g + id="surface1"> + <g + style="fill:#000000;fill-opacity:1" + id="g4594"> + <path + style="stroke:none" + d="m 2.9375,-6.375 c 0,-0.25 0,-0.265625 -0.234375,-0.265625 C 2.078125,-6 1.203125,-6 0.890625,-6 v 0.3125 c 0.203125,0 0.78125,0 1.296875,-0.265625 v 5.171875 c 0,0.359375 -0.03125,0.46875 -0.921875,0.46875 h -0.3125 V 0 c 0.34375,-0.03125 1.203125,-0.03125 1.609375,-0.03125 0.390625,0 1.265625,0 1.609375,0.03125 v -0.3125 h -0.3125 c -0.90625,0 -0.921875,-0.109375 -0.921875,-0.46875 z m 0,0" + transform="translate(148.712,134.765)" + id="path4592" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <g + style="fill:#000000" + id="g4661-7" + ns1:scale="1.0" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:text="$2$" + ns1:converter="pdf2svg" + ns1:textextver="0.8" + transform="translate(-412.68589,33.288199)"> + <g + style="fill:#000000" + id="g4659-0"> + <g + id="g4657-9" + style="fill:#000000;fill-opacity:1"> + <path + inkscape:connector-curvature="0" + id="path4655-3" + transform="translate(148.712,134.765)" + d="m 1.265625,-0.765625 1.0625,-1.03125 c 1.546875,-1.375 2.140625,-1.90625 2.140625,-2.90625 0,-1.140625 -0.890625,-1.9375 -2.109375,-1.9375 -1.125,0 -1.859375,0.921875 -1.859375,1.8125 0,0.546875 0.5,0.546875 0.53125,0.546875 0.171875,0 0.515625,-0.109375 0.515625,-0.53125 0,-0.25 -0.1875,-0.515625 -0.53125,-0.515625 -0.078125,0 -0.09375,0 -0.125,0.015625 0.21875,-0.65625 0.765625,-1.015625 1.34375,-1.015625 0.90625,0 1.328125,0.8125 1.328125,1.625 C 3.5625,-3.90625 3.078125,-3.125 2.515625,-2.5 l -1.90625,2.125 C 0.5,-0.265625 0.5,-0.234375 0.5,0 H 4.203125 L 4.46875,-1.734375 H 4.234375 C 4.171875,-1.4375 4.109375,-1 4,-0.84375 3.9375,-0.765625 3.28125,-0.765625 3.0625,-0.765625 Z m 0,0" + style="stroke:none" /> + </g> + </g> + </g> + <g + transform="translate(-391.34414,33.178829)" + ns1:textextver="0.8" + ns1:converter="pdf2svg" + ns1:text="$3$" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:scale="1.0" + style="fill:#000000" + id="g4749"> + <g + id="g4747" + style="fill:#000000"> + <g + style="fill:#000000;fill-opacity:1" + id="g4745"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 2.890625,-3.515625 c 0.8125,-0.265625 1.390625,-0.953125 1.390625,-1.75 0,-0.8125 -0.875,-1.375 -1.828125,-1.375 -1,0 -1.765625,0.59375 -1.765625,1.359375 0,0.328125 0.21875,0.515625 0.515625,0.515625 0.296875,0 0.5,-0.21875 0.5,-0.515625 0,-0.484375 -0.46875,-0.484375 -0.609375,-0.484375 0.296875,-0.5 0.953125,-0.625 1.3125,-0.625 0.421875,0 0.96875,0.21875 0.96875,1.109375 0,0.125 -0.03125,0.703125 -0.28125,1.140625 C 2.796875,-3.65625 2.453125,-3.625 2.203125,-3.625 2.125,-3.609375 1.890625,-3.59375 1.8125,-3.59375 c -0.078125,0.015625 -0.140625,0.03125 -0.140625,0.125 0,0.109375 0.0625,0.109375 0.234375,0.109375 h 0.4375 c 0.8125,0 1.1875,0.671875 1.1875,1.65625 0,1.359375 -0.6875,1.640625 -1.125,1.640625 -0.4375,0 -1.1875,-0.171875 -1.53125,-0.75 0.34375,0.046875 0.65625,-0.171875 0.65625,-0.546875 0,-0.359375 -0.265625,-0.5625 -0.546875,-0.5625 -0.25,0 -0.5625,0.140625 -0.5625,0.578125 0,0.90625 0.921875,1.5625 2.015625,1.5625 1.21875,0 2.125,-0.90625 2.125,-1.921875 0,-0.8125 -0.640625,-1.59375 -1.671875,-1.8125 z m 0,0" + transform="translate(148.712,134.765)" + id="path4743" /> + </g> + </g> + </g> + <g + id="g4809" + ns1:scale="1.0" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:text="$4$" + ns1:converter="pdf2svg" + ns1:textextver="0.8" + transform="translate(-369.98678,33.342889)" + style="fill:#000000"> + <g + id="g4807" + style="fill:#000000"> + <g + id="g4805" + style="fill:#000000;fill-opacity:1"> + <path + id="path4803" + transform="translate(148.712,134.765)" + d="m 2.9375,-1.640625 v 0.859375 c 0,0.359375 -0.03125,0.46875 -0.765625,0.46875 H 1.96875 V 0 C 2.375,-0.03125 2.890625,-0.03125 3.3125,-0.03125 c 0.421875,0 0.9375,0 1.359375,0.03125 v -0.3125 h -0.21875 c -0.734375,0 -0.75,-0.109375 -0.75,-0.46875 V -1.640625 H 4.6875 v -0.3125 H 3.703125 v -4.53125 c 0,-0.203125 0,-0.265625 -0.171875,-0.265625 -0.078125,0 -0.109375,0 -0.1875,0.125 l -3.0625,4.671875 v 0.3125 z m 0.046875,-0.3125 H 0.5625 l 2.421875,-3.71875 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + </g> + <g + id="g4904" + ns1:scale="1.0" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:text="tas" + ns1:converter="pdf2svg" + ns1:textextver="0.8" + transform="translate(-489.33448,13.147319)"> + <g + id="g4902"> + <g + id="g4900" + style="fill:#000000;fill-opacity:1"> + <path + id="path4894" + transform="translate(148.712,134.765)" + d="m 1.71875,-3.984375 h 1.4375 v -0.3125 H 1.71875 V -6.125 h -0.25 c 0,0.8125 -0.296875,1.875 -1.28125,1.921875 v 0.21875 h 0.84375 v 2.75 c 0,1.21875 0.9375,1.34375 1.296875,1.34375 0.703125,0 0.984375,-0.703125 0.984375,-1.34375 v -0.5625 h -0.25 V -1.25 c 0,0.734375 -0.296875,1.109375 -0.671875,1.109375 -0.671875,0 -0.671875,-0.90625 -0.671875,-1.078125 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path4896" + transform="translate(152.58645,134.765)" + d="m 3.3125,-0.75 c 0.046875,0.390625 0.3125,0.8125 0.78125,0.8125 0.21875,0 0.828125,-0.140625 0.828125,-0.953125 v -0.5625 h -0.25 v 0.5625 c 0,0.578125 -0.25,0.640625 -0.359375,0.640625 -0.328125,0 -0.375,-0.453125 -0.375,-0.5 v -1.984375 c 0,-0.421875 0,-0.8125 -0.359375,-1.1875 C 3.1875,-4.3125 2.6875,-4.46875 2.21875,-4.46875 c -0.828125,0 -1.515625,0.46875 -1.515625,1.125 0,0.296875 0.203125,0.46875 0.46875,0.46875 0.28125,0 0.453125,-0.203125 0.453125,-0.453125 0,-0.125 -0.046875,-0.453125 -0.515625,-0.453125 C 1.390625,-4.140625 1.875,-4.25 2.1875,-4.25 c 0.5,0 1.0625,0.390625 1.0625,1.28125 v 0.359375 c -0.515625,0.03125 -1.203125,0.0625 -1.828125,0.359375 -0.75,0.34375 -1,0.859375 -1,1.296875 0,0.8125 0.96875,1.0625 1.59375,1.0625 0.65625,0 1.109375,-0.40625 1.296875,-0.859375 z M 3.25,-2.390625 v 1 c 0,0.9375 -0.71875,1.28125 -1.171875,1.28125 -0.484375,0 -0.890625,-0.34375 -0.890625,-0.84375 0,-0.546875 0.421875,-1.375 2.0625,-1.4375 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path4898" + transform="translate(157.56775,134.765)" + d="m 2.078125,-1.9375 c 0.21875,0.046875 1.03125,0.203125 1.03125,0.921875 0,0.5 -0.34375,0.90625 -1.125,0.90625 -0.84375,0 -1.203125,-0.5625 -1.390625,-1.421875 C 0.5625,-1.65625 0.5625,-1.6875 0.453125,-1.6875 c -0.125,0 -0.125,0.0625 -0.125,0.234375 V -0.125 c 0,0.171875 0,0.234375 0.109375,0.234375 0.046875,0 0.0625,-0.015625 0.25,-0.203125 0.015625,-0.015625 0.015625,-0.03125 0.203125,-0.21875 0.4375,0.40625 0.890625,0.421875 1.09375,0.421875 1.140625,0 1.609375,-0.671875 1.609375,-1.390625 0,-0.515625 -0.296875,-0.828125 -0.421875,-0.9375 C 2.84375,-2.546875 2.453125,-2.625 2.03125,-2.703125 1.46875,-2.8125 0.8125,-2.9375 0.8125,-3.515625 c 0,-0.359375 0.25,-0.765625 1.109375,-0.765625 1.09375,0 1.15625,0.90625 1.171875,1.203125 0,0.09375 0.09375,0.09375 0.109375,0.09375 0.140625,0 0.140625,-0.046875 0.140625,-0.234375 v -1.015625 c 0,-0.15625 0,-0.234375 -0.109375,-0.234375 -0.046875,0 -0.078125,0 -0.203125,0.125 -0.03125,0.03125 -0.125,0.125 -0.171875,0.15625 -0.375,-0.28125 -0.78125,-0.28125 -0.9375,-0.28125 -1.21875,0 -1.59375,0.671875 -1.59375,1.234375 0,0.34375 0.15625,0.625 0.421875,0.84375 0.328125,0.25 0.609375,0.3125 1.328125,0.453125 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <rect + y="54.363846" + x="-300.4841" + height="25.324411" + width="64.870178" + id="rect4520-3-2" + style="opacity:1;fill:#f9f9f9;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" /> + <path + inkscape:connector-curvature="0" + id="path4537-61" + d="M -278.80562,54.36384 V 79.310259" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + sodipodi:nodetypes="cc" + inkscape:connector-curvature="0" + id="path4539-8" + d="M -257.31328,54.31659 V 79.310259" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + inkscape:connector-curvature="0" + id="path4541-7" + d="M -235.43283,54.45833 V 79.404758" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + inkscape:connector-curvature="0" + id="path4537-6-9" + d="M -300.492,54.36384 V 79.310259" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#DotM);marker-end:url(#Arrow2Mend)" + d="m -290.16064,67.026031 -5.23588,83.808529" + id="path5059" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + <g + transform="translate(-498.40218,-83.906502)" + ns1:textextver="0.8" + ns1:converter="pdf2svg" + ns1:text="pile" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:scale="1.0" + id="g6058"> + <g + id="g6056"> + <g + style="fill:#000000;fill-opacity:1" + id="g6054"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 1.71875,-3.75 v -0.65625 l -1.4375,0.109375 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5 v 4.65625 C 1.0625,1.625 0.953125,1.625 0.28125,1.625 V 1.9375 C 0.625,1.921875 1.140625,1.90625 1.390625,1.90625 c 0.28125,0 0.78125,0.015625 1.125,0.03125 V 1.625 C 1.859375,1.625 1.75,1.625 1.75,1.171875 V -0.59375 c 0.046875,0.171875 0.46875,0.703125 1.21875,0.703125 1.1875,0 2.21875,-0.984375 2.21875,-2.265625 0,-1.265625 -0.953125,-2.25 -2.078125,-2.25 -0.78125,0 -1.203125,0.4375 -1.390625,0.65625 z M 1.75,-1.140625 v -2.21875 C 2.03125,-3.875 2.515625,-4.15625 3.03125,-4.15625 c 0.734375,0 1.328125,0.875 1.328125,2 0,1.203125 -0.6875,2.046875 -1.421875,2.046875 -0.40625,0 -0.78125,-0.203125 -1.046875,-0.609375 C 1.75,-0.921875 1.75,-0.9375 1.75,-1.140625 Z m 0,0" + transform="translate(148.712,134.765)" + id="path6046" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.765625,-4.40625 0.375,-4.296875 v 0.3125 c 0.640625,0 0.734375,0.0625 0.734375,0.546875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 C 0.640625,-0.015625 1.1875,-0.03125 1.421875,-0.03125 1.78125,-0.03125 2.125,-0.015625 2.46875,0 v -0.3125 c -0.671875,0 -0.703125,-0.046875 -0.703125,-0.4375 z m 0.03125,-1.734375 c 0,-0.3125 -0.234375,-0.53125 -0.515625,-0.53125 -0.3125,0 -0.53125,0.265625 -0.53125,0.53125 0,0.265625 0.21875,0.53125 0.53125,0.53125 0.28125,0 0.515625,-0.21875 0.515625,-0.53125 z m 0,0" + transform="translate(154.24722,134.765)" + id="path6048" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.765625,-6.921875 0.328125,-6.8125 V -6.5 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 C 0.65625,-0.015625 1.1875,-0.03125 1.4375,-0.03125 c 0.25,0 0.734375,0.015625 1.109375,0.03125 v -0.3125 c -0.671875,0 -0.78125,0 -0.78125,-0.4375 z m 0,0" + transform="translate(157.01483,134.765)" + id="path6050" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.109375,-2.515625 C 1.171875,-4 2.015625,-4.25 2.359375,-4.25 c 1.015625,0 1.125,1.34375 1.125,1.734375 z m 0,0.21875 h 2.78125 c 0.21875,0 0.25,0 0.25,-0.21875 0,-0.984375 -0.546875,-1.953125 -1.78125,-1.953125 -1.15625,0 -2.078125,1.03125 -2.078125,2.28125 0,1.328125 1.046875,2.296875 2.1875,2.296875 C 3.6875,0.109375 4.140625,-1 4.140625,-1.1875 4.140625,-1.28125 4.0625,-1.3125 4,-1.3125 c -0.078125,0 -0.109375,0.0625 -0.125,0.140625 -0.34375,1.03125 -1.25,1.03125 -1.34375,1.03125 -0.5,0 -0.890625,-0.296875 -1.125,-0.671875 -0.296875,-0.46875 -0.296875,-1.125 -0.296875,-1.484375 z m 0,0" + transform="translate(159.78244,134.765)" + id="path6052" /> + </g> + </g> + </g> + <g + id="g6194" + ns1:scale="1.0" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:text="longueur" + ns1:converter="pdf2svg" + ns1:textextver="0.8" + transform="matrix(0.52294065,0,0,0.52294065,-355.68871,14.30913)"> + <g + id="g6192"> + <g + id="g6190" + style="fill:#000000;fill-opacity:1"> + <path + id="path6174" + transform="translate(148.712,134.765)" + d="M 1.765625,-6.921875 0.328125,-6.8125 V -6.5 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 C 0.65625,-0.015625 1.1875,-0.03125 1.4375,-0.03125 c 0.25,0 0.734375,0.015625 1.109375,0.03125 v -0.3125 c -0.671875,0 -0.78125,0 -0.78125,-0.4375 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6176" + transform="translate(151.47961,134.765)" + d="M 4.6875,-2.140625 C 4.6875,-3.40625 3.703125,-4.46875 2.5,-4.46875 c -1.25,0 -2.21875,1.09375 -2.21875,2.328125 0,1.296875 1.03125,2.25 2.203125,2.25 1.203125,0 2.203125,-0.984375 2.203125,-2.25 z m -2.1875,2 c -0.4375,0 -0.875,-0.203125 -1.140625,-0.671875 -0.25,-0.4375 -0.25,-1.046875 -0.25,-1.40625 0,-0.390625 0,-0.921875 0.234375,-1.359375 C 1.609375,-4.03125 2.078125,-4.25 2.484375,-4.25 c 0.4375,0 0.859375,0.21875 1.125,0.65625 0.265625,0.421875 0.265625,1 0.265625,1.375 0,0.359375 0,0.90625 -0.21875,1.34375 C 3.421875,-0.421875 2.984375,-0.140625 2.5,-0.140625 Z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6178" + transform="translate(156.46091,134.765)" + d="M 1.09375,-3.421875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.359375,-0.015625 0.859375,-0.03125 1.140625,-0.03125 0.25,0 0.765625,0.015625 1.109375,0.03125 v -0.3125 c -0.671875,0 -0.78125,0 -0.78125,-0.4375 V -2.59375 C 1.78125,-3.625 2.5,-4.1875 3.125,-4.1875 c 0.640625,0 0.75,0.53125 0.75,1.109375 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.34375,-0.015625 0.859375,-0.03125 1.125,-0.03125 0.25,0 0.78125,0.015625 1.109375,0.03125 v -0.3125 c -0.515625,0 -0.765625,0 -0.765625,-0.296875 v -1.90625 c 0,-0.859375 0,-1.15625 -0.3125,-1.515625 -0.140625,-0.171875 -0.46875,-0.375 -1.046875,-0.375 C 2.46875,-4.40625 2,-3.984375 1.71875,-3.359375 V -4.40625 L 0.3125,-4.296875 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6180" + transform="translate(161.99613,134.765)" + d="m 2.21875,-1.71875 c -0.875,0 -0.875,-1 -0.875,-1.21875 0,-0.265625 0.015625,-0.59375 0.15625,-0.84375 0.078125,-0.109375 0.3125,-0.390625 0.71875,-0.390625 0.859375,0 0.859375,0.984375 0.859375,1.21875 0,0.265625 0,0.59375 -0.15625,0.84375 C 2.84375,-2 2.609375,-1.71875 2.21875,-1.71875 Z M 1.0625,-1.328125 c 0,-0.03125 0,-0.265625 0.15625,-0.46875 0.390625,0.28125 0.8125,0.3125 1,0.3125 0.921875,0 1.609375,-0.6875 1.609375,-1.453125 0,-0.375 -0.15625,-0.734375 -0.40625,-0.96875 C 3.78125,-4.25 4.140625,-4.296875 4.3125,-4.296875 c 0.03125,0 0.078125,0 0.109375,0.015625 C 4.3125,-4.25 4.25,-4.140625 4.25,-4.015625 c 0,0.171875 0.140625,0.28125 0.296875,0.28125 0.09375,0 0.28125,-0.0625 0.28125,-0.296875 0,-0.171875 -0.109375,-0.484375 -0.5,-0.484375 -0.203125,0 -0.640625,0.0625 -1.0625,0.46875 C 2.84375,-4.375 2.4375,-4.40625 2.21875,-4.40625 c -0.9375,0 -1.625,0.6875 -1.625,1.453125 0,0.4375 0.21875,0.8125 0.46875,1.03125 -0.125,0.140625 -0.3125,0.46875 -0.3125,0.828125 0,0.3125 0.140625,0.6875 0.453125,0.890625 -0.609375,0.15625 -0.921875,0.59375 -0.921875,0.984375 0,0.71875 0.984375,1.265625 2.203125,1.265625 1.171875,0 2.203125,-0.5 2.203125,-1.28125 0,-0.34375 -0.125,-0.859375 -0.640625,-1.140625 -0.53125,-0.265625 -1.109375,-0.265625 -1.71875,-0.265625 -0.25,0 -0.671875,0 -0.75,-0.015625 C 1.265625,-0.703125 1.0625,-1 1.0625,-1.328125 Z M 2.5,1.828125 c -1.015625,0 -1.703125,-0.515625 -1.703125,-1.046875 0,-0.453125 0.375,-0.828125 0.8125,-0.84375 h 0.59375 c 0.859375,0 1.96875,0 1.96875,0.84375 0,0.546875 -0.703125,1.046875 -1.671875,1.046875 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6182" + transform="translate(166.97743,134.765)" + d="M 3.890625,-0.78125 V 0.109375 L 5.328125,0 V -0.3125 C 4.640625,-0.3125 4.5625,-0.375 4.5625,-0.875 v -3.53125 l -1.46875,0.109375 v 0.3125 c 0.6875,0 0.78125,0.0625 0.78125,0.5625 v 1.765625 c 0,0.875 -0.484375,1.546875 -1.21875,1.546875 -0.828125,0 -0.875,-0.46875 -0.875,-0.984375 v -3.3125 L 0.3125,-4.296875 v 0.3125 c 0.78125,0 0.78125,0.03125 0.78125,0.90625 v 1.5 c 0,0.78125 0,1.6875 1.515625,1.6875 0.5625,0 1,-0.28125 1.28125,-0.890625 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6184" + transform="translate(172.51265,134.765)" + d="M 1.109375,-2.515625 C 1.171875,-4 2.015625,-4.25 2.359375,-4.25 c 1.015625,0 1.125,1.34375 1.125,1.734375 z m 0,0.21875 h 2.78125 c 0.21875,0 0.25,0 0.25,-0.21875 0,-0.984375 -0.546875,-1.953125 -1.78125,-1.953125 -1.15625,0 -2.078125,1.03125 -2.078125,2.28125 0,1.328125 1.046875,2.296875 2.1875,2.296875 C 3.6875,0.109375 4.140625,-1 4.140625,-1.1875 4.140625,-1.28125 4.0625,-1.3125 4,-1.3125 c -0.078125,0 -0.109375,0.0625 -0.125,0.140625 -0.34375,1.03125 -1.25,1.03125 -1.34375,1.03125 -0.5,0 -0.890625,-0.296875 -1.125,-0.671875 -0.296875,-0.46875 -0.296875,-1.125 -0.296875,-1.484375 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6186" + transform="translate(176.94003,134.765)" + d="M 3.890625,-0.78125 V 0.109375 L 5.328125,0 V -0.3125 C 4.640625,-0.3125 4.5625,-0.375 4.5625,-0.875 v -3.53125 l -1.46875,0.109375 v 0.3125 c 0.6875,0 0.78125,0.0625 0.78125,0.5625 v 1.765625 c 0,0.875 -0.484375,1.546875 -1.21875,1.546875 -0.828125,0 -0.875,-0.46875 -0.875,-0.984375 v -3.3125 L 0.3125,-4.296875 v 0.3125 c 0.78125,0 0.78125,0.03125 0.78125,0.90625 v 1.5 c 0,0.78125 0,1.6875 1.515625,1.6875 0.5625,0 1,-0.28125 1.28125,-0.890625 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6188" + transform="translate(182.47525,134.765)" + d="M 1.671875,-3.3125 V -4.40625 L 0.28125,-4.296875 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.390625,-0.015625 0.859375,-0.03125 1.140625,-0.03125 0.390625,0 0.859375,0 1.265625,0.03125 V -0.3125 H 2.46875 c -0.734375,0 -0.75,-0.109375 -0.75,-0.46875 V -2.3125 c 0,-0.984375 0.421875,-1.875 1.171875,-1.875 0.0625,0 0.09375,0 0.109375,0.015625 -0.03125,0 -0.234375,0.125 -0.234375,0.390625 0,0.265625 0.21875,0.421875 0.4375,0.421875 0.171875,0 0.421875,-0.125 0.421875,-0.4375 0,-0.3125 -0.3125,-0.609375 -0.734375,-0.609375 -0.734375,0 -1.09375,0.671875 -1.21875,1.09375 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <g + style="fill:#000000" + transform="translate(-419.25582,-64.36396)" + ns1:textextver="0.8" + ns1:converter="pdf2svg" + ns1:text="$4$" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:scale="1.0" + id="g4809-4"> + <g + style="fill:#000000" + id="g4807-5"> + <g + style="fill:#000000;fill-opacity:1" + id="g4805-0"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 2.9375,-1.640625 v 0.859375 c 0,0.359375 -0.03125,0.46875 -0.765625,0.46875 H 1.96875 V 0 C 2.375,-0.03125 2.890625,-0.03125 3.3125,-0.03125 c 0.421875,0 0.9375,0 1.359375,0.03125 v -0.3125 h -0.21875 c -0.734375,0 -0.75,-0.109375 -0.75,-0.46875 V -1.640625 H 4.6875 v -0.3125 H 3.703125 v -4.53125 c 0,-0.203125 0,-0.265625 -0.171875,-0.265625 -0.078125,0 -0.109375,0 -0.1875,0.125 l -3.0625,4.671875 v 0.3125 z m 0.046875,-0.3125 H 0.5625 l 2.421875,-3.71875 z m 0,0" + transform="translate(148.712,134.765)" + id="path4803-3" /> + </g> + </g> + </g> + <g + style="fill:#000000" + transform="translate(-397.76348,-64.36396)" + ns1:textextver="0.8" + ns1:converter="pdf2svg" + ns1:text="$4$" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:scale="1.0" + id="g4809-6"> + <g + style="fill:#000000" + id="g4807-1"> + <g + style="fill:#000000;fill-opacity:1" + id="g4805-06"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 2.9375,-1.640625 v 0.859375 c 0,0.359375 -0.03125,0.46875 -0.765625,0.46875 H 1.96875 V 0 C 2.375,-0.03125 2.890625,-0.03125 3.3125,-0.03125 c 0.421875,0 0.9375,0 1.359375,0.03125 v -0.3125 h -0.21875 c -0.734375,0 -0.75,-0.109375 -0.75,-0.46875 V -1.640625 H 4.6875 v -0.3125 H 3.703125 v -4.53125 c 0,-0.203125 0,-0.265625 -0.171875,-0.265625 -0.078125,0 -0.109375,0 -0.1875,0.125 l -3.0625,4.671875 v 0.3125 z m 0.046875,-0.3125 H 0.5625 l 2.421875,-3.71875 z m 0,0" + transform="translate(148.712,134.765)" + id="path4803-32" /> + </g> + </g> + </g> + <g + transform="matrix(0.48712834,0,0,0.48712834,-327.65035,19.08233)" + ns1:textextver="0.8" + ns1:converter="pdf2svg" + ns1:text="capacit\xc3\xa9" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:scale="1.0" + id="g6430"> + <g + id="g6428"> + <g + style="fill:#000000;fill-opacity:1" + id="g6418"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 1.171875,-2.171875 c 0,-1.625 0.8125,-2.046875 1.34375,-2.046875 0.09375,0 0.71875,0.015625 1.0625,0.375 -0.40625,0.03125 -0.46875,0.328125 -0.46875,0.453125 0,0.265625 0.1875,0.453125 0.453125,0.453125 0.265625,0 0.46875,-0.15625 0.46875,-0.46875 0,-0.671875 -0.765625,-1.0625 -1.53125,-1.0625 -1.25,0 -2.15625,1.078125 -2.15625,2.3125 0,1.28125 0.984375,2.265625 2.140625,2.265625 1.328125,0 1.65625,-1.203125 1.65625,-1.296875 0,-0.09375 -0.109375,-0.09375 -0.140625,-0.09375 -0.078125,0 -0.109375,0.03125 -0.125,0.09375 -0.28125,0.921875 -0.9375,1.046875 -1.296875,1.046875 -0.53125,0 -1.40625,-0.421875 -1.40625,-2.03125 z m 0,0" + transform="translate(148.712,134.765)" + id="path6404" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 3.3125,-0.75 c 0.046875,0.390625 0.3125,0.8125 0.78125,0.8125 0.21875,0 0.828125,-0.140625 0.828125,-0.953125 v -0.5625 h -0.25 v 0.5625 c 0,0.578125 -0.25,0.640625 -0.359375,0.640625 -0.328125,0 -0.375,-0.453125 -0.375,-0.5 v -1.984375 c 0,-0.421875 0,-0.8125 -0.359375,-1.1875 C 3.1875,-4.3125 2.6875,-4.46875 2.21875,-4.46875 c -0.828125,0 -1.515625,0.46875 -1.515625,1.125 0,0.296875 0.203125,0.46875 0.46875,0.46875 0.28125,0 0.453125,-0.203125 0.453125,-0.453125 0,-0.125 -0.046875,-0.453125 -0.515625,-0.453125 C 1.390625,-4.140625 1.875,-4.25 2.1875,-4.25 c 0.5,0 1.0625,0.390625 1.0625,1.28125 v 0.359375 c -0.515625,0.03125 -1.203125,0.0625 -1.828125,0.359375 -0.75,0.34375 -1,0.859375 -1,1.296875 0,0.8125 0.96875,1.0625 1.59375,1.0625 0.65625,0 1.109375,-0.40625 1.296875,-0.859375 z M 3.25,-2.390625 v 1 c 0,0.9375 -0.71875,1.28125 -1.171875,1.28125 -0.484375,0 -0.890625,-0.34375 -0.890625,-0.84375 0,-0.546875 0.421875,-1.375 2.0625,-1.4375 z m 0,0" + transform="translate(153.13938,134.765)" + id="path6406" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 1.71875,-3.75 v -0.65625 l -1.4375,0.109375 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5 v 4.65625 C 1.0625,1.625 0.953125,1.625 0.28125,1.625 V 1.9375 C 0.625,1.921875 1.140625,1.90625 1.390625,1.90625 c 0.28125,0 0.78125,0.015625 1.125,0.03125 V 1.625 C 1.859375,1.625 1.75,1.625 1.75,1.171875 V -0.59375 c 0.046875,0.171875 0.46875,0.703125 1.21875,0.703125 1.1875,0 2.21875,-0.984375 2.21875,-2.265625 0,-1.265625 -0.953125,-2.25 -2.078125,-2.25 -0.78125,0 -1.203125,0.4375 -1.390625,0.65625 z M 1.75,-1.140625 v -2.21875 C 2.03125,-3.875 2.515625,-4.15625 3.03125,-4.15625 c 0.734375,0 1.328125,0.875 1.328125,2 0,1.203125 -0.6875,2.046875 -1.421875,2.046875 -0.40625,0 -0.78125,-0.203125 -1.046875,-0.609375 C 1.75,-0.921875 1.75,-0.9375 1.75,-1.140625 Z m 0,0" + transform="translate(158.12068,134.765)" + id="path6408" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 3.3125,-0.75 c 0.046875,0.390625 0.3125,0.8125 0.78125,0.8125 0.21875,0 0.828125,-0.140625 0.828125,-0.953125 v -0.5625 h -0.25 v 0.5625 c 0,0.578125 -0.25,0.640625 -0.359375,0.640625 -0.328125,0 -0.375,-0.453125 -0.375,-0.5 v -1.984375 c 0,-0.421875 0,-0.8125 -0.359375,-1.1875 C 3.1875,-4.3125 2.6875,-4.46875 2.21875,-4.46875 c -0.828125,0 -1.515625,0.46875 -1.515625,1.125 0,0.296875 0.203125,0.46875 0.46875,0.46875 0.28125,0 0.453125,-0.203125 0.453125,-0.453125 0,-0.125 -0.046875,-0.453125 -0.515625,-0.453125 C 1.390625,-4.140625 1.875,-4.25 2.1875,-4.25 c 0.5,0 1.0625,0.390625 1.0625,1.28125 v 0.359375 c -0.515625,0.03125 -1.203125,0.0625 -1.828125,0.359375 -0.75,0.34375 -1,0.859375 -1,1.296875 0,0.8125 0.96875,1.0625 1.59375,1.0625 0.65625,0 1.109375,-0.40625 1.296875,-0.859375 z M 3.25,-2.390625 v 1 c 0,0.9375 -0.71875,1.28125 -1.171875,1.28125 -0.484375,0 -0.890625,-0.34375 -0.890625,-0.84375 0,-0.546875 0.421875,-1.375 2.0625,-1.4375 z m 0,0" + transform="translate(163.6559,134.765)" + id="path6410" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 1.171875,-2.171875 c 0,-1.625 0.8125,-2.046875 1.34375,-2.046875 0.09375,0 0.71875,0.015625 1.0625,0.375 -0.40625,0.03125 -0.46875,0.328125 -0.46875,0.453125 0,0.265625 0.1875,0.453125 0.453125,0.453125 0.265625,0 0.46875,-0.15625 0.46875,-0.46875 0,-0.671875 -0.765625,-1.0625 -1.53125,-1.0625 -1.25,0 -2.15625,1.078125 -2.15625,2.3125 0,1.28125 0.984375,2.265625 2.140625,2.265625 1.328125,0 1.65625,-1.203125 1.65625,-1.296875 0,-0.09375 -0.109375,-0.09375 -0.140625,-0.09375 -0.078125,0 -0.109375,0.03125 -0.125,0.09375 -0.28125,0.921875 -0.9375,1.046875 -1.296875,1.046875 -0.53125,0 -1.40625,-0.421875 -1.40625,-2.03125 z m 0,0" + transform="translate(168.6372,134.765)" + id="path6412" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.765625,-4.40625 0.375,-4.296875 v 0.3125 c 0.640625,0 0.734375,0.0625 0.734375,0.546875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 C 0.640625,-0.015625 1.1875,-0.03125 1.421875,-0.03125 1.78125,-0.03125 2.125,-0.015625 2.46875,0 v -0.3125 c -0.671875,0 -0.703125,-0.046875 -0.703125,-0.4375 z m 0.03125,-1.734375 c 0,-0.3125 -0.234375,-0.53125 -0.515625,-0.53125 -0.3125,0 -0.53125,0.265625 -0.53125,0.53125 0,0.265625 0.21875,0.53125 0.53125,0.53125 0.28125,0 0.515625,-0.21875 0.515625,-0.53125 z m 0,0" + transform="translate(173.06458,134.765)" + id="path6414" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 1.71875,-3.984375 h 1.4375 v -0.3125 H 1.71875 V -6.125 h -0.25 c 0,0.8125 -0.296875,1.875 -1.28125,1.921875 v 0.21875 h 0.84375 v 2.75 c 0,1.21875 0.9375,1.34375 1.296875,1.34375 0.703125,0 0.984375,-0.703125 0.984375,-1.34375 v -0.5625 h -0.25 V -1.25 c 0,0.734375 -0.296875,1.109375 -0.671875,1.109375 -0.671875,0 -0.671875,-0.90625 -0.671875,-1.078125 z m 0,0" + transform="translate(175.83219,134.765)" + id="path6416" /> + </g> + <g + style="fill:#000000;fill-opacity:1" + id="g6422"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 3.734375,-6.296875 C 3.828125,-6.375 3.90625,-6.484375 3.90625,-6.59375 c 0,-0.1875 -0.171875,-0.359375 -0.359375,-0.359375 -0.140625,0 -0.25,0.109375 -0.296875,0.171875 l -1.203125,1.515625 0.171875,0.1875 z m 0,0" + transform="translate(179.42769,134.765)" + id="path6420" /> + </g> + <g + style="fill:#000000;fill-opacity:1" + id="g6426"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.109375,-2.515625 C 1.171875,-4 2.015625,-4.25 2.359375,-4.25 c 1.015625,0 1.125,1.34375 1.125,1.734375 z m 0,0.21875 h 2.78125 c 0.21875,0 0.25,0 0.25,-0.21875 0,-0.984375 -0.546875,-1.953125 -1.78125,-1.953125 -1.15625,0 -2.078125,1.03125 -2.078125,2.28125 0,1.328125 1.046875,2.296875 2.1875,2.296875 C 3.6875,0.109375 4.140625,-1 4.140625,-1.1875 4.140625,-1.28125 4.0625,-1.3125 4,-1.3125 c -0.078125,0 -0.109375,0.0625 -0.125,0.140625 -0.34375,1.03125 -1.25,1.03125 -1.34375,1.03125 -0.5,0 -0.890625,-0.296875 -1.125,-0.671875 -0.296875,-0.46875 -0.296875,-1.125 -0.296875,-1.484375 z m 0,0" + transform="translate(179.70664,134.765)" + id="path6424" /> + </g> + </g> + </g> + <g + id="g6701" + ns1:scale="1.0" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:text="pointeur" + ns1:converter="pdf2svg" + ns1:textextver="0.8" + transform="matrix(0.48104848,0,0,0.48104848,-369.14652,-13.19335)"> + <g + id="g6699"> + <g + id="g6679" + style="fill:#000000;fill-opacity:1"> + <path + id="path6677" + transform="translate(148.712,134.765)" + d="m 1.71875,-3.75 v -0.65625 l -1.4375,0.109375 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5 v 4.65625 C 1.0625,1.625 0.953125,1.625 0.28125,1.625 V 1.9375 C 0.625,1.921875 1.140625,1.90625 1.390625,1.90625 c 0.28125,0 0.78125,0.015625 1.125,0.03125 V 1.625 C 1.859375,1.625 1.75,1.625 1.75,1.171875 V -0.59375 c 0.046875,0.171875 0.46875,0.703125 1.21875,0.703125 1.1875,0 2.21875,-0.984375 2.21875,-2.265625 0,-1.265625 -0.953125,-2.25 -2.078125,-2.25 -0.78125,0 -1.203125,0.4375 -1.390625,0.65625 z M 1.75,-1.140625 v -2.21875 C 2.03125,-3.875 2.515625,-4.15625 3.03125,-4.15625 c 0.734375,0 1.328125,0.875 1.328125,2 0,1.203125 -0.6875,2.046875 -1.421875,2.046875 -0.40625,0 -0.78125,-0.203125 -1.046875,-0.609375 C 1.75,-0.921875 1.75,-0.9375 1.75,-1.140625 Z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + <g + id="g6687" + style="fill:#000000;fill-opacity:1"> + <path + id="path6681" + transform="translate(154.52617,134.765)" + d="M 4.6875,-2.140625 C 4.6875,-3.40625 3.703125,-4.46875 2.5,-4.46875 c -1.25,0 -2.21875,1.09375 -2.21875,2.328125 0,1.296875 1.03125,2.25 2.203125,2.25 1.203125,0 2.203125,-0.984375 2.203125,-2.25 z m -2.1875,2 c -0.4375,0 -0.875,-0.203125 -1.140625,-0.671875 -0.25,-0.4375 -0.25,-1.046875 -0.25,-1.40625 0,-0.390625 0,-0.921875 0.234375,-1.359375 C 1.609375,-4.03125 2.078125,-4.25 2.484375,-4.25 c 0.4375,0 0.859375,0.21875 1.125,0.65625 0.265625,0.421875 0.265625,1 0.265625,1.375 0,0.359375 0,0.90625 -0.21875,1.34375 C 3.421875,-0.421875 2.984375,-0.140625 2.5,-0.140625 Z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6683" + transform="translate(159.50747,134.765)" + d="M 1.765625,-4.40625 0.375,-4.296875 v 0.3125 c 0.640625,0 0.734375,0.0625 0.734375,0.546875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 C 0.640625,-0.015625 1.1875,-0.03125 1.421875,-0.03125 1.78125,-0.03125 2.125,-0.015625 2.46875,0 v -0.3125 c -0.671875,0 -0.703125,-0.046875 -0.703125,-0.4375 z m 0.03125,-1.734375 c 0,-0.3125 -0.234375,-0.53125 -0.515625,-0.53125 -0.3125,0 -0.53125,0.265625 -0.53125,0.53125 0,0.265625 0.21875,0.53125 0.53125,0.53125 0.28125,0 0.515625,-0.21875 0.515625,-0.53125 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6685" + transform="translate(162.27508,134.765)" + d="M 1.09375,-3.421875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.359375,-0.015625 0.859375,-0.03125 1.140625,-0.03125 0.25,0 0.765625,0.015625 1.109375,0.03125 v -0.3125 c -0.671875,0 -0.78125,0 -0.78125,-0.4375 V -2.59375 C 1.78125,-3.625 2.5,-4.1875 3.125,-4.1875 c 0.640625,0 0.75,0.53125 0.75,1.109375 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.34375,-0.015625 0.859375,-0.03125 1.125,-0.03125 0.25,0 0.78125,0.015625 1.109375,0.03125 v -0.3125 c -0.515625,0 -0.765625,0 -0.765625,-0.296875 v -1.90625 c 0,-0.859375 0,-1.15625 -0.3125,-1.515625 -0.140625,-0.171875 -0.46875,-0.375 -1.046875,-0.375 C 2.46875,-4.40625 2,-3.984375 1.71875,-3.359375 V -4.40625 L 0.3125,-4.296875 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + <g + id="g6697" + style="fill:#000000;fill-opacity:1"> + <path + id="path6689" + transform="translate(167.53135,134.765)" + d="m 1.71875,-3.984375 h 1.4375 v -0.3125 H 1.71875 V -6.125 h -0.25 c 0,0.8125 -0.296875,1.875 -1.28125,1.921875 v 0.21875 h 0.84375 v 2.75 c 0,1.21875 0.9375,1.34375 1.296875,1.34375 0.703125,0 0.984375,-0.703125 0.984375,-1.34375 v -0.5625 h -0.25 V -1.25 c 0,0.734375 -0.296875,1.109375 -0.671875,1.109375 -0.671875,0 -0.671875,-0.90625 -0.671875,-1.078125 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6691" + transform="translate(171.40581,134.765)" + d="M 1.109375,-2.515625 C 1.171875,-4 2.015625,-4.25 2.359375,-4.25 c 1.015625,0 1.125,1.34375 1.125,1.734375 z m 0,0.21875 h 2.78125 c 0.21875,0 0.25,0 0.25,-0.21875 0,-0.984375 -0.546875,-1.953125 -1.78125,-1.953125 -1.15625,0 -2.078125,1.03125 -2.078125,2.28125 0,1.328125 1.046875,2.296875 2.1875,2.296875 C 3.6875,0.109375 4.140625,-1 4.140625,-1.1875 4.140625,-1.28125 4.0625,-1.3125 4,-1.3125 c -0.078125,0 -0.109375,0.0625 -0.125,0.140625 -0.34375,1.03125 -1.25,1.03125 -1.34375,1.03125 -0.5,0 -0.890625,-0.296875 -1.125,-0.671875 -0.296875,-0.46875 -0.296875,-1.125 -0.296875,-1.484375 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6693" + transform="translate(175.83319,134.765)" + d="M 3.890625,-0.78125 V 0.109375 L 5.328125,0 V -0.3125 C 4.640625,-0.3125 4.5625,-0.375 4.5625,-0.875 v -3.53125 l -1.46875,0.109375 v 0.3125 c 0.6875,0 0.78125,0.0625 0.78125,0.5625 v 1.765625 c 0,0.875 -0.484375,1.546875 -1.21875,1.546875 -0.828125,0 -0.875,-0.46875 -0.875,-0.984375 v -3.3125 L 0.3125,-4.296875 v 0.3125 c 0.78125,0 0.78125,0.03125 0.78125,0.90625 v 1.5 c 0,0.78125 0,1.6875 1.515625,1.6875 0.5625,0 1,-0.28125 1.28125,-0.890625 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6695" + transform="translate(181.36841,134.765)" + d="M 1.671875,-3.3125 V -4.40625 L 0.28125,-4.296875 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.390625,-0.015625 0.859375,-0.03125 1.140625,-0.03125 0.390625,0 0.859375,0 1.265625,0.03125 V -0.3125 H 2.46875 c -0.734375,0 -0.75,-0.109375 -0.75,-0.46875 V -2.3125 c 0,-0.984375 0.421875,-1.875 1.171875,-1.875 0.0625,0 0.09375,0 0.109375,0.015625 -0.03125,0 -0.234375,0.125 -0.234375,0.390625 0,0.265625 0.21875,0.421875 0.4375,0.421875 0.171875,0 0.421875,-0.125 0.421875,-0.4375 0,-0.3125 -0.3125,-0.609375 -0.734375,-0.609375 -0.734375,0 -1.09375,0.671875 -1.21875,1.09375 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <rect + y="54.363838" + x="-158.11172" + height="25.324411" + width="64.870178" + id="rect4520-3-2-3" + style="opacity:1;fill:#faffff;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" /> + <path + inkscape:connector-curvature="0" + id="path4537-61-6" + d="M -136.43323,54.363837 V 79.310259" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + sodipodi:nodetypes="cc" + inkscape:connector-curvature="0" + id="path4539-8-1" + d="M -114.94089,54.316588 V 79.310259" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + inkscape:connector-curvature="0" + id="path4541-7-2" + d="m -93.060452,54.458328 v 24.94643" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + inkscape:connector-curvature="0" + id="path4537-6-9-9" + d="M -158.11961,54.363837 V 79.310259" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + inkscape:connector-curvature="0" + id="path4537-61-7" + d="M -136.43323,54.36384 V 79.310259" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + sodipodi:nodetypes="cc" + inkscape:connector-curvature="0" + id="path4539-8-4" + d="M -114.94089,54.31659 V 79.310259" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + inkscape:connector-curvature="0" + id="path4541-7-1" + d="M -93.060462,54.45833 V 79.404758" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <g + style="fill:#000000" + transform="translate(-276.88345,-64.36396)" + ns1:textextver="0.8" + ns1:converter="pdf2svg" + ns1:text="$4$" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:scale="1.0" + id="g4809-4-85"> + <g + style="fill:#000000" + id="g4807-5-9"> + <g + style="fill:#000000;fill-opacity:1" + id="g4805-0-7"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 2.9375,-1.640625 v 0.859375 c 0,0.359375 -0.03125,0.46875 -0.765625,0.46875 H 1.96875 V 0 C 2.375,-0.03125 2.890625,-0.03125 3.3125,-0.03125 c 0.421875,0 0.9375,0 1.359375,0.03125 v -0.3125 h -0.21875 c -0.734375,0 -0.75,-0.109375 -0.75,-0.46875 V -1.640625 H 4.6875 v -0.3125 H 3.703125 v -4.53125 c 0,-0.203125 0,-0.265625 -0.171875,-0.265625 -0.078125,0 -0.109375,0 -0.1875,0.125 l -3.0625,4.671875 v 0.3125 z m 0.046875,-0.3125 H 0.5625 l 2.421875,-3.71875 z m 0,0" + transform="translate(148.712,134.765)" + id="path4803-3-5" /> + </g> + </g> + </g> + <g + style="fill:#000000" + transform="translate(-255.39112,-64.36396)" + ns1:textextver="0.8" + ns1:converter="pdf2svg" + ns1:text="$4$" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:scale="1.0" + id="g4809-6-3"> + <g + style="fill:#000000" + id="g4807-1-8"> + <g + style="fill:#000000;fill-opacity:1" + id="g4805-06-8"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 2.9375,-1.640625 v 0.859375 c 0,0.359375 -0.03125,0.46875 -0.765625,0.46875 H 1.96875 V 0 C 2.375,-0.03125 2.890625,-0.03125 3.3125,-0.03125 c 0.421875,0 0.9375,0 1.359375,0.03125 v -0.3125 h -0.21875 c -0.734375,0 -0.75,-0.109375 -0.75,-0.46875 V -1.640625 H 4.6875 v -0.3125 H 3.703125 v -4.53125 c 0,-0.203125 0,-0.265625 -0.171875,-0.265625 -0.078125,0 -0.109375,0 -0.1875,0.125 l -3.0625,4.671875 v 0.3125 z m 0.046875,-0.3125 H 0.5625 l 2.421875,-3.71875 z m 0,0" + transform="translate(148.712,134.765)" + id="path4803-32-3" /> + </g> + </g> + </g> + <circle + r="2.2234704" + cy="67.026047" + cx="-146.93808" + style="fill:#000000;stroke:none;stroke-width:1.48231339" + id="path3987" /> + <g + transform="translate(-95.547092,-28.283112)" + id="g6383"> + <g + transform="matrix(0.52294065,0,0,0.52294065,-115.91021,42.592237)" + ns1:textextver="0.8" + ns1:converter="pdf2svg" + ns1:text="longueur" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:scale="1.0" + id="g6194-3"> + <g + id="g6192-6"> + <g + style="fill:#000000;fill-opacity:1" + id="g6190-7"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.765625,-6.921875 0.328125,-6.8125 V -6.5 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 C 0.65625,-0.015625 1.1875,-0.03125 1.4375,-0.03125 c 0.25,0 0.734375,0.015625 1.109375,0.03125 v -0.3125 c -0.671875,0 -0.78125,0 -0.78125,-0.4375 z m 0,0" + transform="translate(148.712,134.765)" + id="path6174-5" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 4.6875,-2.140625 C 4.6875,-3.40625 3.703125,-4.46875 2.5,-4.46875 c -1.25,0 -2.21875,1.09375 -2.21875,2.328125 0,1.296875 1.03125,2.25 2.203125,2.25 1.203125,0 2.203125,-0.984375 2.203125,-2.25 z m -2.1875,2 c -0.4375,0 -0.875,-0.203125 -1.140625,-0.671875 -0.25,-0.4375 -0.25,-1.046875 -0.25,-1.40625 0,-0.390625 0,-0.921875 0.234375,-1.359375 C 1.609375,-4.03125 2.078125,-4.25 2.484375,-4.25 c 0.4375,0 0.859375,0.21875 1.125,0.65625 0.265625,0.421875 0.265625,1 0.265625,1.375 0,0.359375 0,0.90625 -0.21875,1.34375 C 3.421875,-0.421875 2.984375,-0.140625 2.5,-0.140625 Z m 0,0" + transform="translate(151.47961,134.765)" + id="path6176-3" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.09375,-3.421875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.359375,-0.015625 0.859375,-0.03125 1.140625,-0.03125 0.25,0 0.765625,0.015625 1.109375,0.03125 v -0.3125 c -0.671875,0 -0.78125,0 -0.78125,-0.4375 V -2.59375 C 1.78125,-3.625 2.5,-4.1875 3.125,-4.1875 c 0.640625,0 0.75,0.53125 0.75,1.109375 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.34375,-0.015625 0.859375,-0.03125 1.125,-0.03125 0.25,0 0.78125,0.015625 1.109375,0.03125 v -0.3125 c -0.515625,0 -0.765625,0 -0.765625,-0.296875 v -1.90625 c 0,-0.859375 0,-1.15625 -0.3125,-1.515625 -0.140625,-0.171875 -0.46875,-0.375 -1.046875,-0.375 C 2.46875,-4.40625 2,-3.984375 1.71875,-3.359375 V -4.40625 L 0.3125,-4.296875 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 z m 0,0" + transform="translate(156.46091,134.765)" + id="path6178-5" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 2.21875,-1.71875 c -0.875,0 -0.875,-1 -0.875,-1.21875 0,-0.265625 0.015625,-0.59375 0.15625,-0.84375 0.078125,-0.109375 0.3125,-0.390625 0.71875,-0.390625 0.859375,0 0.859375,0.984375 0.859375,1.21875 0,0.265625 0,0.59375 -0.15625,0.84375 C 2.84375,-2 2.609375,-1.71875 2.21875,-1.71875 Z M 1.0625,-1.328125 c 0,-0.03125 0,-0.265625 0.15625,-0.46875 0.390625,0.28125 0.8125,0.3125 1,0.3125 0.921875,0 1.609375,-0.6875 1.609375,-1.453125 0,-0.375 -0.15625,-0.734375 -0.40625,-0.96875 C 3.78125,-4.25 4.140625,-4.296875 4.3125,-4.296875 c 0.03125,0 0.078125,0 0.109375,0.015625 C 4.3125,-4.25 4.25,-4.140625 4.25,-4.015625 c 0,0.171875 0.140625,0.28125 0.296875,0.28125 0.09375,0 0.28125,-0.0625 0.28125,-0.296875 0,-0.171875 -0.109375,-0.484375 -0.5,-0.484375 -0.203125,0 -0.640625,0.0625 -1.0625,0.46875 C 2.84375,-4.375 2.4375,-4.40625 2.21875,-4.40625 c -0.9375,0 -1.625,0.6875 -1.625,1.453125 0,0.4375 0.21875,0.8125 0.46875,1.03125 -0.125,0.140625 -0.3125,0.46875 -0.3125,0.828125 0,0.3125 0.140625,0.6875 0.453125,0.890625 -0.609375,0.15625 -0.921875,0.59375 -0.921875,0.984375 0,0.71875 0.984375,1.265625 2.203125,1.265625 1.171875,0 2.203125,-0.5 2.203125,-1.28125 0,-0.34375 -0.125,-0.859375 -0.640625,-1.140625 -0.53125,-0.265625 -1.109375,-0.265625 -1.71875,-0.265625 -0.25,0 -0.671875,0 -0.75,-0.015625 C 1.265625,-0.703125 1.0625,-1 1.0625,-1.328125 Z M 2.5,1.828125 c -1.015625,0 -1.703125,-0.515625 -1.703125,-1.046875 0,-0.453125 0.375,-0.828125 0.8125,-0.84375 h 0.59375 c 0.859375,0 1.96875,0 1.96875,0.84375 0,0.546875 -0.703125,1.046875 -1.671875,1.046875 z m 0,0" + transform="translate(161.99613,134.765)" + id="path6180-6" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 3.890625,-0.78125 V 0.109375 L 5.328125,0 V -0.3125 C 4.640625,-0.3125 4.5625,-0.375 4.5625,-0.875 v -3.53125 l -1.46875,0.109375 v 0.3125 c 0.6875,0 0.78125,0.0625 0.78125,0.5625 v 1.765625 c 0,0.875 -0.484375,1.546875 -1.21875,1.546875 -0.828125,0 -0.875,-0.46875 -0.875,-0.984375 v -3.3125 L 0.3125,-4.296875 v 0.3125 c 0.78125,0 0.78125,0.03125 0.78125,0.90625 v 1.5 c 0,0.78125 0,1.6875 1.515625,1.6875 0.5625,0 1,-0.28125 1.28125,-0.890625 z m 0,0" + transform="translate(166.97743,134.765)" + id="path6182-2" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.109375,-2.515625 C 1.171875,-4 2.015625,-4.25 2.359375,-4.25 c 1.015625,0 1.125,1.34375 1.125,1.734375 z m 0,0.21875 h 2.78125 c 0.21875,0 0.25,0 0.25,-0.21875 0,-0.984375 -0.546875,-1.953125 -1.78125,-1.953125 -1.15625,0 -2.078125,1.03125 -2.078125,2.28125 0,1.328125 1.046875,2.296875 2.1875,2.296875 C 3.6875,0.109375 4.140625,-1 4.140625,-1.1875 4.140625,-1.28125 4.0625,-1.3125 4,-1.3125 c -0.078125,0 -0.109375,0.0625 -0.125,0.140625 -0.34375,1.03125 -1.25,1.03125 -1.34375,1.03125 -0.5,0 -0.890625,-0.296875 -1.125,-0.671875 -0.296875,-0.46875 -0.296875,-1.125 -0.296875,-1.484375 z m 0,0" + transform="translate(172.51265,134.765)" + id="path6184-9" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 3.890625,-0.78125 V 0.109375 L 5.328125,0 V -0.3125 C 4.640625,-0.3125 4.5625,-0.375 4.5625,-0.875 v -3.53125 l -1.46875,0.109375 v 0.3125 c 0.6875,0 0.78125,0.0625 0.78125,0.5625 v 1.765625 c 0,0.875 -0.484375,1.546875 -1.21875,1.546875 -0.828125,0 -0.875,-0.46875 -0.875,-0.984375 v -3.3125 L 0.3125,-4.296875 v 0.3125 c 0.78125,0 0.78125,0.03125 0.78125,0.90625 v 1.5 c 0,0.78125 0,1.6875 1.515625,1.6875 0.5625,0 1,-0.28125 1.28125,-0.890625 z m 0,0" + transform="translate(176.94003,134.765)" + id="path6186-1" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.671875,-3.3125 V -4.40625 L 0.28125,-4.296875 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.390625,-0.015625 0.859375,-0.03125 1.140625,-0.03125 0.390625,0 0.859375,0 1.265625,0.03125 V -0.3125 H 2.46875 c -0.734375,0 -0.75,-0.109375 -0.75,-0.46875 V -2.3125 c 0,-0.984375 0.421875,-1.875 1.171875,-1.875 0.0625,0 0.09375,0 0.109375,0.015625 -0.03125,0 -0.234375,0.125 -0.234375,0.390625 0,0.265625 0.21875,0.421875 0.4375,0.421875 0.171875,0 0.421875,-0.125 0.421875,-0.4375 0,-0.3125 -0.3125,-0.609375 -0.734375,-0.609375 -0.734375,0 -1.09375,0.671875 -1.21875,1.09375 z m 0,0" + transform="translate(182.47525,134.765)" + id="path6188-2" /> + </g> + </g> + </g> + <g + id="g6430-7" + ns1:scale="1.0" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:text="capacit\xc3\xa9" + ns1:converter="pdf2svg" + ns1:textextver="0.8" + transform="matrix(0.48712834,0,0,0.48712834,-87.871854,47.365436)"> + <g + id="g6428-0"> + <g + id="g6418-9" + style="fill:#000000;fill-opacity:1"> + <path + id="path6404-3" + transform="translate(148.712,134.765)" + d="m 1.171875,-2.171875 c 0,-1.625 0.8125,-2.046875 1.34375,-2.046875 0.09375,0 0.71875,0.015625 1.0625,0.375 -0.40625,0.03125 -0.46875,0.328125 -0.46875,0.453125 0,0.265625 0.1875,0.453125 0.453125,0.453125 0.265625,0 0.46875,-0.15625 0.46875,-0.46875 0,-0.671875 -0.765625,-1.0625 -1.53125,-1.0625 -1.25,0 -2.15625,1.078125 -2.15625,2.3125 0,1.28125 0.984375,2.265625 2.140625,2.265625 1.328125,0 1.65625,-1.203125 1.65625,-1.296875 0,-0.09375 -0.109375,-0.09375 -0.140625,-0.09375 -0.078125,0 -0.109375,0.03125 -0.125,0.09375 -0.28125,0.921875 -0.9375,1.046875 -1.296875,1.046875 -0.53125,0 -1.40625,-0.421875 -1.40625,-2.03125 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6406-6" + transform="translate(153.13938,134.765)" + d="m 3.3125,-0.75 c 0.046875,0.390625 0.3125,0.8125 0.78125,0.8125 0.21875,0 0.828125,-0.140625 0.828125,-0.953125 v -0.5625 h -0.25 v 0.5625 c 0,0.578125 -0.25,0.640625 -0.359375,0.640625 -0.328125,0 -0.375,-0.453125 -0.375,-0.5 v -1.984375 c 0,-0.421875 0,-0.8125 -0.359375,-1.1875 C 3.1875,-4.3125 2.6875,-4.46875 2.21875,-4.46875 c -0.828125,0 -1.515625,0.46875 -1.515625,1.125 0,0.296875 0.203125,0.46875 0.46875,0.46875 0.28125,0 0.453125,-0.203125 0.453125,-0.453125 0,-0.125 -0.046875,-0.453125 -0.515625,-0.453125 C 1.390625,-4.140625 1.875,-4.25 2.1875,-4.25 c 0.5,0 1.0625,0.390625 1.0625,1.28125 v 0.359375 c -0.515625,0.03125 -1.203125,0.0625 -1.828125,0.359375 -0.75,0.34375 -1,0.859375 -1,1.296875 0,0.8125 0.96875,1.0625 1.59375,1.0625 0.65625,0 1.109375,-0.40625 1.296875,-0.859375 z M 3.25,-2.390625 v 1 c 0,0.9375 -0.71875,1.28125 -1.171875,1.28125 -0.484375,0 -0.890625,-0.34375 -0.890625,-0.84375 0,-0.546875 0.421875,-1.375 2.0625,-1.4375 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6408-0" + transform="translate(158.12068,134.765)" + d="m 1.71875,-3.75 v -0.65625 l -1.4375,0.109375 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5 v 4.65625 C 1.0625,1.625 0.953125,1.625 0.28125,1.625 V 1.9375 C 0.625,1.921875 1.140625,1.90625 1.390625,1.90625 c 0.28125,0 0.78125,0.015625 1.125,0.03125 V 1.625 C 1.859375,1.625 1.75,1.625 1.75,1.171875 V -0.59375 c 0.046875,0.171875 0.46875,0.703125 1.21875,0.703125 1.1875,0 2.21875,-0.984375 2.21875,-2.265625 0,-1.265625 -0.953125,-2.25 -2.078125,-2.25 -0.78125,0 -1.203125,0.4375 -1.390625,0.65625 z M 1.75,-1.140625 v -2.21875 C 2.03125,-3.875 2.515625,-4.15625 3.03125,-4.15625 c 0.734375,0 1.328125,0.875 1.328125,2 0,1.203125 -0.6875,2.046875 -1.421875,2.046875 -0.40625,0 -0.78125,-0.203125 -1.046875,-0.609375 C 1.75,-0.921875 1.75,-0.9375 1.75,-1.140625 Z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6410-6" + transform="translate(163.6559,134.765)" + d="m 3.3125,-0.75 c 0.046875,0.390625 0.3125,0.8125 0.78125,0.8125 0.21875,0 0.828125,-0.140625 0.828125,-0.953125 v -0.5625 h -0.25 v 0.5625 c 0,0.578125 -0.25,0.640625 -0.359375,0.640625 -0.328125,0 -0.375,-0.453125 -0.375,-0.5 v -1.984375 c 0,-0.421875 0,-0.8125 -0.359375,-1.1875 C 3.1875,-4.3125 2.6875,-4.46875 2.21875,-4.46875 c -0.828125,0 -1.515625,0.46875 -1.515625,1.125 0,0.296875 0.203125,0.46875 0.46875,0.46875 0.28125,0 0.453125,-0.203125 0.453125,-0.453125 0,-0.125 -0.046875,-0.453125 -0.515625,-0.453125 C 1.390625,-4.140625 1.875,-4.25 2.1875,-4.25 c 0.5,0 1.0625,0.390625 1.0625,1.28125 v 0.359375 c -0.515625,0.03125 -1.203125,0.0625 -1.828125,0.359375 -0.75,0.34375 -1,0.859375 -1,1.296875 0,0.8125 0.96875,1.0625 1.59375,1.0625 0.65625,0 1.109375,-0.40625 1.296875,-0.859375 z M 3.25,-2.390625 v 1 c 0,0.9375 -0.71875,1.28125 -1.171875,1.28125 -0.484375,0 -0.890625,-0.34375 -0.890625,-0.84375 0,-0.546875 0.421875,-1.375 2.0625,-1.4375 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6412-2" + transform="translate(168.6372,134.765)" + d="m 1.171875,-2.171875 c 0,-1.625 0.8125,-2.046875 1.34375,-2.046875 0.09375,0 0.71875,0.015625 1.0625,0.375 -0.40625,0.03125 -0.46875,0.328125 -0.46875,0.453125 0,0.265625 0.1875,0.453125 0.453125,0.453125 0.265625,0 0.46875,-0.15625 0.46875,-0.46875 0,-0.671875 -0.765625,-1.0625 -1.53125,-1.0625 -1.25,0 -2.15625,1.078125 -2.15625,2.3125 0,1.28125 0.984375,2.265625 2.140625,2.265625 1.328125,0 1.65625,-1.203125 1.65625,-1.296875 0,-0.09375 -0.109375,-0.09375 -0.140625,-0.09375 -0.078125,0 -0.109375,0.03125 -0.125,0.09375 -0.28125,0.921875 -0.9375,1.046875 -1.296875,1.046875 -0.53125,0 -1.40625,-0.421875 -1.40625,-2.03125 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6414-6" + transform="translate(173.06458,134.765)" + d="M 1.765625,-4.40625 0.375,-4.296875 v 0.3125 c 0.640625,0 0.734375,0.0625 0.734375,0.546875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 C 0.640625,-0.015625 1.1875,-0.03125 1.421875,-0.03125 1.78125,-0.03125 2.125,-0.015625 2.46875,0 v -0.3125 c -0.671875,0 -0.703125,-0.046875 -0.703125,-0.4375 z m 0.03125,-1.734375 c 0,-0.3125 -0.234375,-0.53125 -0.515625,-0.53125 -0.3125,0 -0.53125,0.265625 -0.53125,0.53125 0,0.265625 0.21875,0.53125 0.53125,0.53125 0.28125,0 0.515625,-0.21875 0.515625,-0.53125 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6416-1" + transform="translate(175.83219,134.765)" + d="m 1.71875,-3.984375 h 1.4375 v -0.3125 H 1.71875 V -6.125 h -0.25 c 0,0.8125 -0.296875,1.875 -1.28125,1.921875 v 0.21875 h 0.84375 v 2.75 c 0,1.21875 0.9375,1.34375 1.296875,1.34375 0.703125,0 0.984375,-0.703125 0.984375,-1.34375 v -0.5625 h -0.25 V -1.25 c 0,0.734375 -0.296875,1.109375 -0.671875,1.109375 -0.671875,0 -0.671875,-0.90625 -0.671875,-1.078125 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + <g + id="g6422-8" + style="fill:#000000;fill-opacity:1"> + <path + id="path6420-7" + transform="translate(179.42769,134.765)" + d="M 3.734375,-6.296875 C 3.828125,-6.375 3.90625,-6.484375 3.90625,-6.59375 c 0,-0.1875 -0.171875,-0.359375 -0.359375,-0.359375 -0.140625,0 -0.25,0.109375 -0.296875,0.171875 l -1.203125,1.515625 0.171875,0.1875 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + <g + id="g6426-9" + style="fill:#000000;fill-opacity:1"> + <path + id="path6424-2" + transform="translate(179.70664,134.765)" + d="M 1.109375,-2.515625 C 1.171875,-4 2.015625,-4.25 2.359375,-4.25 c 1.015625,0 1.125,1.34375 1.125,1.734375 z m 0,0.21875 h 2.78125 c 0.21875,0 0.25,0 0.25,-0.21875 0,-0.984375 -0.546875,-1.953125 -1.78125,-1.953125 -1.15625,0 -2.078125,1.03125 -2.078125,2.28125 0,1.328125 1.046875,2.296875 2.1875,2.296875 C 3.6875,0.109375 4.140625,-1 4.140625,-1.1875 4.140625,-1.28125 4.0625,-1.3125 4,-1.3125 c -0.078125,0 -0.109375,0.0625 -0.125,0.140625 -0.34375,1.03125 -1.25,1.03125 -1.34375,1.03125 -0.5,0 -0.890625,-0.296875 -1.125,-0.671875 -0.296875,-0.46875 -0.296875,-1.125 -0.296875,-1.484375 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + </g> + <path + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#DotM-0);marker-end:url(#Arrow2Mend-3)" + d="m -146.8745,67.101511 -13.86662,83.673929" + id="path5059-5" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + <g + id="g6701-9" + ns1:scale="1.0" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:text="pointeur" + ns1:converter="pdf2svg" + ns1:textextver="0.8" + transform="matrix(0.48104848,0,0,0.48104848,-227.28374,-13.19335)"> + <g + id="g6699-2"> + <g + id="g6679-2" + style="fill:#000000;fill-opacity:1"> + <path + id="path6677-8" + transform="translate(148.712,134.765)" + d="m 1.71875,-3.75 v -0.65625 l -1.4375,0.109375 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5 v 4.65625 C 1.0625,1.625 0.953125,1.625 0.28125,1.625 V 1.9375 C 0.625,1.921875 1.140625,1.90625 1.390625,1.90625 c 0.28125,0 0.78125,0.015625 1.125,0.03125 V 1.625 C 1.859375,1.625 1.75,1.625 1.75,1.171875 V -0.59375 c 0.046875,0.171875 0.46875,0.703125 1.21875,0.703125 1.1875,0 2.21875,-0.984375 2.21875,-2.265625 0,-1.265625 -0.953125,-2.25 -2.078125,-2.25 -0.78125,0 -1.203125,0.4375 -1.390625,0.65625 z M 1.75,-1.140625 v -2.21875 C 2.03125,-3.875 2.515625,-4.15625 3.03125,-4.15625 c 0.734375,0 1.328125,0.875 1.328125,2 0,1.203125 -0.6875,2.046875 -1.421875,2.046875 -0.40625,0 -0.78125,-0.203125 -1.046875,-0.609375 C 1.75,-0.921875 1.75,-0.9375 1.75,-1.140625 Z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + <g + id="g6687-9" + style="fill:#000000;fill-opacity:1"> + <path + id="path6681-7" + transform="translate(154.52617,134.765)" + d="M 4.6875,-2.140625 C 4.6875,-3.40625 3.703125,-4.46875 2.5,-4.46875 c -1.25,0 -2.21875,1.09375 -2.21875,2.328125 0,1.296875 1.03125,2.25 2.203125,2.25 1.203125,0 2.203125,-0.984375 2.203125,-2.25 z m -2.1875,2 c -0.4375,0 -0.875,-0.203125 -1.140625,-0.671875 -0.25,-0.4375 -0.25,-1.046875 -0.25,-1.40625 0,-0.390625 0,-0.921875 0.234375,-1.359375 C 1.609375,-4.03125 2.078125,-4.25 2.484375,-4.25 c 0.4375,0 0.859375,0.21875 1.125,0.65625 0.265625,0.421875 0.265625,1 0.265625,1.375 0,0.359375 0,0.90625 -0.21875,1.34375 C 3.421875,-0.421875 2.984375,-0.140625 2.5,-0.140625 Z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6683-3" + transform="translate(159.50747,134.765)" + d="M 1.765625,-4.40625 0.375,-4.296875 v 0.3125 c 0.640625,0 0.734375,0.0625 0.734375,0.546875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 C 0.640625,-0.015625 1.1875,-0.03125 1.421875,-0.03125 1.78125,-0.03125 2.125,-0.015625 2.46875,0 v -0.3125 c -0.671875,0 -0.703125,-0.046875 -0.703125,-0.4375 z m 0.03125,-1.734375 c 0,-0.3125 -0.234375,-0.53125 -0.515625,-0.53125 -0.3125,0 -0.53125,0.265625 -0.53125,0.53125 0,0.265625 0.21875,0.53125 0.53125,0.53125 0.28125,0 0.515625,-0.21875 0.515625,-0.53125 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6685-6" + transform="translate(162.27508,134.765)" + d="M 1.09375,-3.421875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.359375,-0.015625 0.859375,-0.03125 1.140625,-0.03125 0.25,0 0.765625,0.015625 1.109375,0.03125 v -0.3125 c -0.671875,0 -0.78125,0 -0.78125,-0.4375 V -2.59375 C 1.78125,-3.625 2.5,-4.1875 3.125,-4.1875 c 0.640625,0 0.75,0.53125 0.75,1.109375 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.34375,-0.015625 0.859375,-0.03125 1.125,-0.03125 0.25,0 0.78125,0.015625 1.109375,0.03125 v -0.3125 c -0.515625,0 -0.765625,0 -0.765625,-0.296875 v -1.90625 c 0,-0.859375 0,-1.15625 -0.3125,-1.515625 -0.140625,-0.171875 -0.46875,-0.375 -1.046875,-0.375 C 2.46875,-4.40625 2,-3.984375 1.71875,-3.359375 V -4.40625 L 0.3125,-4.296875 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + <g + id="g6697-1" + style="fill:#000000;fill-opacity:1"> + <path + id="path6689-2" + transform="translate(167.53135,134.765)" + d="m 1.71875,-3.984375 h 1.4375 v -0.3125 H 1.71875 V -6.125 h -0.25 c 0,0.8125 -0.296875,1.875 -1.28125,1.921875 v 0.21875 h 0.84375 v 2.75 c 0,1.21875 0.9375,1.34375 1.296875,1.34375 0.703125,0 0.984375,-0.703125 0.984375,-1.34375 v -0.5625 h -0.25 V -1.25 c 0,0.734375 -0.296875,1.109375 -0.671875,1.109375 -0.671875,0 -0.671875,-0.90625 -0.671875,-1.078125 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6691-9" + transform="translate(171.40581,134.765)" + d="M 1.109375,-2.515625 C 1.171875,-4 2.015625,-4.25 2.359375,-4.25 c 1.015625,0 1.125,1.34375 1.125,1.734375 z m 0,0.21875 h 2.78125 c 0.21875,0 0.25,0 0.25,-0.21875 0,-0.984375 -0.546875,-1.953125 -1.78125,-1.953125 -1.15625,0 -2.078125,1.03125 -2.078125,2.28125 0,1.328125 1.046875,2.296875 2.1875,2.296875 C 3.6875,0.109375 4.140625,-1 4.140625,-1.1875 4.140625,-1.28125 4.0625,-1.3125 4,-1.3125 c -0.078125,0 -0.109375,0.0625 -0.125,0.140625 -0.34375,1.03125 -1.25,1.03125 -1.34375,1.03125 -0.5,0 -0.890625,-0.296875 -1.125,-0.671875 -0.296875,-0.46875 -0.296875,-1.125 -0.296875,-1.484375 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6693-3" + transform="translate(175.83319,134.765)" + d="M 3.890625,-0.78125 V 0.109375 L 5.328125,0 V -0.3125 C 4.640625,-0.3125 4.5625,-0.375 4.5625,-0.875 v -3.53125 l -1.46875,0.109375 v 0.3125 c 0.6875,0 0.78125,0.0625 0.78125,0.5625 v 1.765625 c 0,0.875 -0.484375,1.546875 -1.21875,1.546875 -0.828125,0 -0.875,-0.46875 -0.875,-0.984375 v -3.3125 L 0.3125,-4.296875 v 0.3125 c 0.78125,0 0.78125,0.03125 0.78125,0.90625 v 1.5 c 0,0.78125 0,1.6875 1.515625,1.6875 0.5625,0 1,-0.28125 1.28125,-0.890625 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6695-1" + transform="translate(181.36841,134.765)" + d="M 1.671875,-3.3125 V -4.40625 L 0.28125,-4.296875 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.390625,-0.015625 0.859375,-0.03125 1.140625,-0.03125 0.390625,0 0.859375,0 1.265625,0.03125 V -0.3125 H 2.46875 c -0.734375,0 -0.75,-0.109375 -0.75,-0.46875 V -2.3125 c 0,-0.984375 0.421875,-1.875 1.171875,-1.875 0.0625,0 0.09375,0 0.109375,0.015625 -0.03125,0 -0.234375,0.125 -0.234375,0.390625 0,0.265625 0.21875,0.421875 0.4375,0.421875 0.171875,0 0.421875,-0.125 0.421875,-0.4375 0,-0.3125 -0.3125,-0.609375 -0.734375,-0.609375 -0.734375,0 -1.09375,0.671875 -1.21875,1.09375 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <g + transform="translate(201.29555,-21.411523)" + id="g6414-1"> + <rect + style="opacity:1;fill:#999999;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" + id="rect4520-2" + width="151.94643" + height="25.324406" + x="-183.7357" + y="173.48221" /> + <rect + style="opacity:1;fill:#f9f9f9;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" + id="rect4520-3-7" + width="86.792793" + height="25.324409" + x="-151.15886" + y="173.48221" /> + <path + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m -129.48036,173.4822 v 24.94642" + id="path4537-0" + inkscape:connector-curvature="0" /> + <path + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m -107.79398,173.43495 v 24.99367" + id="path4539-9" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + <path + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m -86.107585,173.57669 v 24.94643" + id="path4541-3" + inkscape:connector-curvature="0" /> + <path + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m -151.16674,173.4822 v 24.94642" + id="path4537-6-6" + inkscape:connector-curvature="0" /> + <path + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m -64.421205,173.57669 v 24.94642" + id="path4537-6-7-0" + inkscape:connector-curvature="0" /> + <g + transform="translate(-291.95726,54.699722)" + ns1:textextver="0.8" + ns1:converter="pdf2svg" + ns1:text="$1$" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:scale="1.0" + id="g4597-6"> + <g + id="surface1-2"> + <g + style="fill:#000000;fill-opacity:1" + id="g4594-6"> + <path + style="stroke:none" + d="m 2.9375,-6.375 c 0,-0.25 0,-0.265625 -0.234375,-0.265625 C 2.078125,-6 1.203125,-6 0.890625,-6 v 0.3125 c 0.203125,0 0.78125,0 1.296875,-0.265625 v 5.171875 c 0,0.359375 -0.03125,0.46875 -0.921875,0.46875 h -0.3125 V 0 c 0.34375,-0.03125 1.203125,-0.03125 1.609375,-0.03125 0.390625,0 1.265625,0 1.609375,0.03125 v -0.3125 h -0.3125 c -0.90625,0 -0.921875,-0.109375 -0.921875,-0.46875 z m 0,0" + transform="translate(148.712,134.765)" + id="path4592-1" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <g + style="fill:#000000" + id="g4661-7-8" + ns1:scale="1.0" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:text="$2$" + ns1:converter="pdf2svg" + ns1:textextver="0.8" + transform="translate(-270.56084,54.699722)"> + <g + style="fill:#000000" + id="g4659-0-7"> + <g + id="g4657-9-9" + style="fill:#000000;fill-opacity:1"> + <path + inkscape:connector-curvature="0" + id="path4655-3-2" + transform="translate(148.712,134.765)" + d="m 1.265625,-0.765625 1.0625,-1.03125 c 1.546875,-1.375 2.140625,-1.90625 2.140625,-2.90625 0,-1.140625 -0.890625,-1.9375 -2.109375,-1.9375 -1.125,0 -1.859375,0.921875 -1.859375,1.8125 0,0.546875 0.5,0.546875 0.53125,0.546875 0.171875,0 0.515625,-0.109375 0.515625,-0.53125 0,-0.25 -0.1875,-0.515625 -0.53125,-0.515625 -0.078125,0 -0.09375,0 -0.125,0.015625 0.21875,-0.65625 0.765625,-1.015625 1.34375,-1.015625 0.90625,0 1.328125,0.8125 1.328125,1.625 C 3.5625,-3.90625 3.078125,-3.125 2.515625,-2.5 l -1.90625,2.125 C 0.5,-0.265625 0.5,-0.234375 0.5,0 H 4.203125 L 4.46875,-1.734375 H 4.234375 C 4.171875,-1.4375 4.109375,-1 4,-0.84375 3.9375,-0.765625 3.28125,-0.765625 3.0625,-0.765625 Z m 0,0" + style="stroke:none" /> + </g> + </g> + </g> + <g + transform="translate(-249.21909,54.590352)" + ns1:textextver="0.8" + ns1:converter="pdf2svg" + ns1:text="$3$" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:scale="1.0" + style="fill:#000000" + id="g4749-0"> + <g + id="g4747-2" + style="fill:#000000"> + <g + style="fill:#000000;fill-opacity:1" + id="g4745-3"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 2.890625,-3.515625 c 0.8125,-0.265625 1.390625,-0.953125 1.390625,-1.75 0,-0.8125 -0.875,-1.375 -1.828125,-1.375 -1,0 -1.765625,0.59375 -1.765625,1.359375 0,0.328125 0.21875,0.515625 0.515625,0.515625 0.296875,0 0.5,-0.21875 0.5,-0.515625 0,-0.484375 -0.46875,-0.484375 -0.609375,-0.484375 0.296875,-0.5 0.953125,-0.625 1.3125,-0.625 0.421875,0 0.96875,0.21875 0.96875,1.109375 0,0.125 -0.03125,0.703125 -0.28125,1.140625 C 2.796875,-3.65625 2.453125,-3.625 2.203125,-3.625 2.125,-3.609375 1.890625,-3.59375 1.8125,-3.59375 c -0.078125,0.015625 -0.140625,0.03125 -0.140625,0.125 0,0.109375 0.0625,0.109375 0.234375,0.109375 h 0.4375 c 0.8125,0 1.1875,0.671875 1.1875,1.65625 0,1.359375 -0.6875,1.640625 -1.125,1.640625 -0.4375,0 -1.1875,-0.171875 -1.53125,-0.75 0.34375,0.046875 0.65625,-0.171875 0.65625,-0.546875 0,-0.359375 -0.265625,-0.5625 -0.546875,-0.5625 -0.25,0 -0.5625,0.140625 -0.5625,0.578125 0,0.90625 0.921875,1.5625 2.015625,1.5625 1.21875,0 2.125,-0.90625 2.125,-1.921875 0,-0.8125 -0.640625,-1.59375 -1.671875,-1.8125 z m 0,0" + transform="translate(148.712,134.765)" + id="path4743-7" /> + </g> + </g> + </g> + <g + id="g4809-5" + ns1:scale="1.0" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:text="$4$" + ns1:converter="pdf2svg" + ns1:textextver="0.8" + transform="translate(-227.86173,54.754412)" + style="fill:#000000"> + <g + id="g4807-9" + style="fill:#000000"> + <g + id="g4805-2" + style="fill:#000000;fill-opacity:1"> + <path + id="path4803-2" + transform="translate(148.712,134.765)" + d="m 2.9375,-1.640625 v 0.859375 c 0,0.359375 -0.03125,0.46875 -0.765625,0.46875 H 1.96875 V 0 C 2.375,-0.03125 2.890625,-0.03125 3.3125,-0.03125 c 0.421875,0 0.9375,0 1.359375,0.03125 v -0.3125 h -0.21875 c -0.734375,0 -0.75,-0.109375 -0.75,-0.46875 V -1.640625 H 4.6875 v -0.3125 H 3.703125 v -4.53125 c 0,-0.203125 0,-0.265625 -0.171875,-0.265625 -0.078125,0 -0.109375,0 -0.1875,0.125 l -3.0625,4.671875 v 0.3125 z m 0.046875,-0.3125 H 0.5625 l 2.421875,-3.71875 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <g + transform="translate(-347.20943,34.558842)" + ns1:textextver="0.8" + ns1:converter="pdf2svg" + ns1:text="tas" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:scale="1.0" + id="g4904-8"> + <g + id="g4902-9"> + <g + style="fill:#000000;fill-opacity:1" + id="g4900-7"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 1.71875,-3.984375 h 1.4375 v -0.3125 H 1.71875 V -6.125 h -0.25 c 0,0.8125 -0.296875,1.875 -1.28125,1.921875 v 0.21875 h 0.84375 v 2.75 c 0,1.21875 0.9375,1.34375 1.296875,1.34375 0.703125,0 0.984375,-0.703125 0.984375,-1.34375 v -0.5625 h -0.25 V -1.25 c 0,0.734375 -0.296875,1.109375 -0.671875,1.109375 -0.671875,0 -0.671875,-0.90625 -0.671875,-1.078125 z m 0,0" + transform="translate(148.712,134.765)" + id="path4894-3" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 3.3125,-0.75 c 0.046875,0.390625 0.3125,0.8125 0.78125,0.8125 0.21875,0 0.828125,-0.140625 0.828125,-0.953125 v -0.5625 h -0.25 v 0.5625 c 0,0.578125 -0.25,0.640625 -0.359375,0.640625 -0.328125,0 -0.375,-0.453125 -0.375,-0.5 v -1.984375 c 0,-0.421875 0,-0.8125 -0.359375,-1.1875 C 3.1875,-4.3125 2.6875,-4.46875 2.21875,-4.46875 c -0.828125,0 -1.515625,0.46875 -1.515625,1.125 0,0.296875 0.203125,0.46875 0.46875,0.46875 0.28125,0 0.453125,-0.203125 0.453125,-0.453125 0,-0.125 -0.046875,-0.453125 -0.515625,-0.453125 C 1.390625,-4.140625 1.875,-4.25 2.1875,-4.25 c 0.5,0 1.0625,0.390625 1.0625,1.28125 v 0.359375 c -0.515625,0.03125 -1.203125,0.0625 -1.828125,0.359375 -0.75,0.34375 -1,0.859375 -1,1.296875 0,0.8125 0.96875,1.0625 1.59375,1.0625 0.65625,0 1.109375,-0.40625 1.296875,-0.859375 z M 3.25,-2.390625 v 1 c 0,0.9375 -0.71875,1.28125 -1.171875,1.28125 -0.484375,0 -0.890625,-0.34375 -0.890625,-0.84375 0,-0.546875 0.421875,-1.375 2.0625,-1.4375 z m 0,0" + transform="translate(152.58645,134.765)" + id="path4896-6" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 2.078125,-1.9375 c 0.21875,0.046875 1.03125,0.203125 1.03125,0.921875 0,0.5 -0.34375,0.90625 -1.125,0.90625 -0.84375,0 -1.203125,-0.5625 -1.390625,-1.421875 C 0.5625,-1.65625 0.5625,-1.6875 0.453125,-1.6875 c -0.125,0 -0.125,0.0625 -0.125,0.234375 V -0.125 c 0,0.171875 0,0.234375 0.109375,0.234375 0.046875,0 0.0625,-0.015625 0.25,-0.203125 0.015625,-0.015625 0.015625,-0.03125 0.203125,-0.21875 0.4375,0.40625 0.890625,0.421875 1.09375,0.421875 1.140625,0 1.609375,-0.671875 1.609375,-1.390625 0,-0.515625 -0.296875,-0.828125 -0.421875,-0.9375 C 2.84375,-2.546875 2.453125,-2.625 2.03125,-2.703125 1.46875,-2.8125 0.8125,-2.9375 0.8125,-3.515625 c 0,-0.359375 0.25,-0.765625 1.109375,-0.765625 1.09375,0 1.15625,0.90625 1.171875,1.203125 0,0.09375 0.09375,0.09375 0.109375,0.09375 0.140625,0 0.140625,-0.046875 0.140625,-0.234375 v -1.015625 c 0,-0.15625 0,-0.234375 -0.109375,-0.234375 -0.046875,0 -0.078125,0 -0.203125,0.125 -0.03125,0.03125 -0.125,0.125 -0.171875,0.15625 -0.375,-0.28125 -0.78125,-0.28125 -0.9375,-0.28125 -1.21875,0 -1.59375,0.671875 -1.59375,1.234375 0,0.34375 0.15625,0.625 0.421875,0.84375 0.328125,0.25 0.609375,0.3125 1.328125,0.453125 z m 0,0" + transform="translate(157.56775,134.765)" + id="path4898-1" /> + </g> + </g> + </g> + </g> + <rect + y="54.363846" + x="-47.90509" + height="25.324409" + width="268.55212" + id="rect4520-0-2" + style="opacity:1;fill:#999999;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" /> + <rect + y="54.363846" + x="-15.32831" + height="25.324411" + width="64.870178" + id="rect4520-3-2-9" + style="opacity:1;fill:#ff0002;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" /> + <path + inkscape:connector-curvature="0" + id="path4537-61-3" + d="M 6.3502376,54.36384 V 79.310259" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + sodipodi:nodetypes="cc" + inkscape:connector-curvature="0" + id="path4539-8-19" + d="M 27.842588,54.31659 V 79.310259" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + inkscape:connector-curvature="0" + id="path4541-7-4" + d="M 49.723018,54.45833 V 79.404758" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + inkscape:connector-curvature="0" + id="path4537-6-9-7" + d="M -15.336142,54.36384 V 79.310259" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + style="fill:none;stroke:#ff0000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#DotM-3);marker-end:url(#Arrow2Mend-7)" + d="M -5.0047724,67.026031 50.897238,150.56729" + id="path5059-8" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + <g + transform="translate(-213.24633,-83.906502)" + ns1:textextver="0.8" + ns1:converter="pdf2svg" + ns1:text="pile" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:scale="1.0" + id="g6058-4"> + <g + id="g6056-5"> + <g + style="fill:#000000;fill-opacity:1" + id="g6054-0"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 1.71875,-3.75 v -0.65625 l -1.4375,0.109375 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5 v 4.65625 C 1.0625,1.625 0.953125,1.625 0.28125,1.625 V 1.9375 C 0.625,1.921875 1.140625,1.90625 1.390625,1.90625 c 0.28125,0 0.78125,0.015625 1.125,0.03125 V 1.625 C 1.859375,1.625 1.75,1.625 1.75,1.171875 V -0.59375 c 0.046875,0.171875 0.46875,0.703125 1.21875,0.703125 1.1875,0 2.21875,-0.984375 2.21875,-2.265625 0,-1.265625 -0.953125,-2.25 -2.078125,-2.25 -0.78125,0 -1.203125,0.4375 -1.390625,0.65625 z M 1.75,-1.140625 v -2.21875 C 2.03125,-3.875 2.515625,-4.15625 3.03125,-4.15625 c 0.734375,0 1.328125,0.875 1.328125,2 0,1.203125 -0.6875,2.046875 -1.421875,2.046875 -0.40625,0 -0.78125,-0.203125 -1.046875,-0.609375 C 1.75,-0.921875 1.75,-0.9375 1.75,-1.140625 Z m 0,0" + transform="translate(148.712,134.765)" + id="path6046-3" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.765625,-4.40625 0.375,-4.296875 v 0.3125 c 0.640625,0 0.734375,0.0625 0.734375,0.546875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 C 0.640625,-0.015625 1.1875,-0.03125 1.421875,-0.03125 1.78125,-0.03125 2.125,-0.015625 2.46875,0 v -0.3125 c -0.671875,0 -0.703125,-0.046875 -0.703125,-0.4375 z m 0.03125,-1.734375 c 0,-0.3125 -0.234375,-0.53125 -0.515625,-0.53125 -0.3125,0 -0.53125,0.265625 -0.53125,0.53125 0,0.265625 0.21875,0.53125 0.53125,0.53125 0.28125,0 0.515625,-0.21875 0.515625,-0.53125 z m 0,0" + transform="translate(154.24722,134.765)" + id="path6048-6" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.765625,-6.921875 0.328125,-6.8125 V -6.5 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 C 0.65625,-0.015625 1.1875,-0.03125 1.4375,-0.03125 c 0.25,0 0.734375,0.015625 1.109375,0.03125 v -0.3125 c -0.671875,0 -0.78125,0 -0.78125,-0.4375 z m 0,0" + transform="translate(157.01483,134.765)" + id="path6050-1" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.109375,-2.515625 C 1.171875,-4 2.015625,-4.25 2.359375,-4.25 c 1.015625,0 1.125,1.34375 1.125,1.734375 z m 0,0.21875 h 2.78125 c 0.21875,0 0.25,0 0.25,-0.21875 0,-0.984375 -0.546875,-1.953125 -1.78125,-1.953125 -1.15625,0 -2.078125,1.03125 -2.078125,2.28125 0,1.328125 1.046875,2.296875 2.1875,2.296875 C 3.6875,0.109375 4.140625,-1 4.140625,-1.1875 4.140625,-1.28125 4.0625,-1.3125 4,-1.3125 c -0.078125,0 -0.109375,0.0625 -0.125,0.140625 -0.34375,1.03125 -1.25,1.03125 -1.34375,1.03125 -0.5,0 -0.890625,-0.296875 -1.125,-0.671875 -0.296875,-0.46875 -0.296875,-1.125 -0.296875,-1.484375 z m 0,0" + transform="translate(159.78244,134.765)" + id="path6052-0" /> + </g> + </g> + </g> + <g + id="g6194-6" + ns1:scale="1.0" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:text="longueur" + ns1:converter="pdf2svg" + ns1:textextver="0.8" + transform="matrix(0.52294065,0,0,0.52294065,-70.532862,14.30913)"> + <g + id="g6192-3"> + <g + id="g6190-2" + style="fill:#000000;fill-opacity:1"> + <path + id="path6174-0" + transform="translate(148.712,134.765)" + d="M 1.765625,-6.921875 0.328125,-6.8125 V -6.5 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 C 0.65625,-0.015625 1.1875,-0.03125 1.4375,-0.03125 c 0.25,0 0.734375,0.015625 1.109375,0.03125 v -0.3125 c -0.671875,0 -0.78125,0 -0.78125,-0.4375 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6176-6" + transform="translate(151.47961,134.765)" + d="M 4.6875,-2.140625 C 4.6875,-3.40625 3.703125,-4.46875 2.5,-4.46875 c -1.25,0 -2.21875,1.09375 -2.21875,2.328125 0,1.296875 1.03125,2.25 2.203125,2.25 1.203125,0 2.203125,-0.984375 2.203125,-2.25 z m -2.1875,2 c -0.4375,0 -0.875,-0.203125 -1.140625,-0.671875 -0.25,-0.4375 -0.25,-1.046875 -0.25,-1.40625 0,-0.390625 0,-0.921875 0.234375,-1.359375 C 1.609375,-4.03125 2.078125,-4.25 2.484375,-4.25 c 0.4375,0 0.859375,0.21875 1.125,0.65625 0.265625,0.421875 0.265625,1 0.265625,1.375 0,0.359375 0,0.90625 -0.21875,1.34375 C 3.421875,-0.421875 2.984375,-0.140625 2.5,-0.140625 Z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6178-1" + transform="translate(156.46091,134.765)" + d="M 1.09375,-3.421875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.359375,-0.015625 0.859375,-0.03125 1.140625,-0.03125 0.25,0 0.765625,0.015625 1.109375,0.03125 v -0.3125 c -0.671875,0 -0.78125,0 -0.78125,-0.4375 V -2.59375 C 1.78125,-3.625 2.5,-4.1875 3.125,-4.1875 c 0.640625,0 0.75,0.53125 0.75,1.109375 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.34375,-0.015625 0.859375,-0.03125 1.125,-0.03125 0.25,0 0.78125,0.015625 1.109375,0.03125 v -0.3125 c -0.515625,0 -0.765625,0 -0.765625,-0.296875 v -1.90625 c 0,-0.859375 0,-1.15625 -0.3125,-1.515625 -0.140625,-0.171875 -0.46875,-0.375 -1.046875,-0.375 C 2.46875,-4.40625 2,-3.984375 1.71875,-3.359375 V -4.40625 L 0.3125,-4.296875 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6180-5" + transform="translate(161.99613,134.765)" + d="m 2.21875,-1.71875 c -0.875,0 -0.875,-1 -0.875,-1.21875 0,-0.265625 0.015625,-0.59375 0.15625,-0.84375 0.078125,-0.109375 0.3125,-0.390625 0.71875,-0.390625 0.859375,0 0.859375,0.984375 0.859375,1.21875 0,0.265625 0,0.59375 -0.15625,0.84375 C 2.84375,-2 2.609375,-1.71875 2.21875,-1.71875 Z M 1.0625,-1.328125 c 0,-0.03125 0,-0.265625 0.15625,-0.46875 0.390625,0.28125 0.8125,0.3125 1,0.3125 0.921875,0 1.609375,-0.6875 1.609375,-1.453125 0,-0.375 -0.15625,-0.734375 -0.40625,-0.96875 C 3.78125,-4.25 4.140625,-4.296875 4.3125,-4.296875 c 0.03125,0 0.078125,0 0.109375,0.015625 C 4.3125,-4.25 4.25,-4.140625 4.25,-4.015625 c 0,0.171875 0.140625,0.28125 0.296875,0.28125 0.09375,0 0.28125,-0.0625 0.28125,-0.296875 0,-0.171875 -0.109375,-0.484375 -0.5,-0.484375 -0.203125,0 -0.640625,0.0625 -1.0625,0.46875 C 2.84375,-4.375 2.4375,-4.40625 2.21875,-4.40625 c -0.9375,0 -1.625,0.6875 -1.625,1.453125 0,0.4375 0.21875,0.8125 0.46875,1.03125 -0.125,0.140625 -0.3125,0.46875 -0.3125,0.828125 0,0.3125 0.140625,0.6875 0.453125,0.890625 -0.609375,0.15625 -0.921875,0.59375 -0.921875,0.984375 0,0.71875 0.984375,1.265625 2.203125,1.265625 1.171875,0 2.203125,-0.5 2.203125,-1.28125 0,-0.34375 -0.125,-0.859375 -0.640625,-1.140625 -0.53125,-0.265625 -1.109375,-0.265625 -1.71875,-0.265625 -0.25,0 -0.671875,0 -0.75,-0.015625 C 1.265625,-0.703125 1.0625,-1 1.0625,-1.328125 Z M 2.5,1.828125 c -1.015625,0 -1.703125,-0.515625 -1.703125,-1.046875 0,-0.453125 0.375,-0.828125 0.8125,-0.84375 h 0.59375 c 0.859375,0 1.96875,0 1.96875,0.84375 0,0.546875 -0.703125,1.046875 -1.671875,1.046875 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6182-5" + transform="translate(166.97743,134.765)" + d="M 3.890625,-0.78125 V 0.109375 L 5.328125,0 V -0.3125 C 4.640625,-0.3125 4.5625,-0.375 4.5625,-0.875 v -3.53125 l -1.46875,0.109375 v 0.3125 c 0.6875,0 0.78125,0.0625 0.78125,0.5625 v 1.765625 c 0,0.875 -0.484375,1.546875 -1.21875,1.546875 -0.828125,0 -0.875,-0.46875 -0.875,-0.984375 v -3.3125 L 0.3125,-4.296875 v 0.3125 c 0.78125,0 0.78125,0.03125 0.78125,0.90625 v 1.5 c 0,0.78125 0,1.6875 1.515625,1.6875 0.5625,0 1,-0.28125 1.28125,-0.890625 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6184-4" + transform="translate(172.51265,134.765)" + d="M 1.109375,-2.515625 C 1.171875,-4 2.015625,-4.25 2.359375,-4.25 c 1.015625,0 1.125,1.34375 1.125,1.734375 z m 0,0.21875 h 2.78125 c 0.21875,0 0.25,0 0.25,-0.21875 0,-0.984375 -0.546875,-1.953125 -1.78125,-1.953125 -1.15625,0 -2.078125,1.03125 -2.078125,2.28125 0,1.328125 1.046875,2.296875 2.1875,2.296875 C 3.6875,0.109375 4.140625,-1 4.140625,-1.1875 4.140625,-1.28125 4.0625,-1.3125 4,-1.3125 c -0.078125,0 -0.109375,0.0625 -0.125,0.140625 -0.34375,1.03125 -1.25,1.03125 -1.34375,1.03125 -0.5,0 -0.890625,-0.296875 -1.125,-0.671875 -0.296875,-0.46875 -0.296875,-1.125 -0.296875,-1.484375 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6186-7" + transform="translate(176.94003,134.765)" + d="M 3.890625,-0.78125 V 0.109375 L 5.328125,0 V -0.3125 C 4.640625,-0.3125 4.5625,-0.375 4.5625,-0.875 v -3.53125 l -1.46875,0.109375 v 0.3125 c 0.6875,0 0.78125,0.0625 0.78125,0.5625 v 1.765625 c 0,0.875 -0.484375,1.546875 -1.21875,1.546875 -0.828125,0 -0.875,-0.46875 -0.875,-0.984375 v -3.3125 L 0.3125,-4.296875 v 0.3125 c 0.78125,0 0.78125,0.03125 0.78125,0.90625 v 1.5 c 0,0.78125 0,1.6875 1.515625,1.6875 0.5625,0 1,-0.28125 1.28125,-0.890625 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6188-6" + transform="translate(182.47525,134.765)" + d="M 1.671875,-3.3125 V -4.40625 L 0.28125,-4.296875 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.390625,-0.015625 0.859375,-0.03125 1.140625,-0.03125 0.390625,0 0.859375,0 1.265625,0.03125 V -0.3125 H 2.46875 c -0.734375,0 -0.75,-0.109375 -0.75,-0.46875 V -2.3125 c 0,-0.984375 0.421875,-1.875 1.171875,-1.875 0.0625,0 0.09375,0 0.109375,0.015625 -0.03125,0 -0.234375,0.125 -0.234375,0.390625 0,0.265625 0.21875,0.421875 0.4375,0.421875 0.171875,0 0.421875,-0.125 0.421875,-0.4375 0,-0.3125 -0.3125,-0.609375 -0.734375,-0.609375 -0.734375,0 -1.09375,0.671875 -1.21875,1.09375 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <g + transform="matrix(0.48712834,0,0,0.48712834,-42.494492,19.08233)" + ns1:textextver="0.8" + ns1:converter="pdf2svg" + ns1:text="capacit\xc3\xa9" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:scale="1.0" + id="g6430-5"> + <g + id="g6428-4"> + <g + style="fill:#000000;fill-opacity:1" + id="g6418-7"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 1.171875,-2.171875 c 0,-1.625 0.8125,-2.046875 1.34375,-2.046875 0.09375,0 0.71875,0.015625 1.0625,0.375 -0.40625,0.03125 -0.46875,0.328125 -0.46875,0.453125 0,0.265625 0.1875,0.453125 0.453125,0.453125 0.265625,0 0.46875,-0.15625 0.46875,-0.46875 0,-0.671875 -0.765625,-1.0625 -1.53125,-1.0625 -1.25,0 -2.15625,1.078125 -2.15625,2.3125 0,1.28125 0.984375,2.265625 2.140625,2.265625 1.328125,0 1.65625,-1.203125 1.65625,-1.296875 0,-0.09375 -0.109375,-0.09375 -0.140625,-0.09375 -0.078125,0 -0.109375,0.03125 -0.125,0.09375 -0.28125,0.921875 -0.9375,1.046875 -1.296875,1.046875 -0.53125,0 -1.40625,-0.421875 -1.40625,-2.03125 z m 0,0" + transform="translate(148.712,134.765)" + id="path6404-4" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 3.3125,-0.75 c 0.046875,0.390625 0.3125,0.8125 0.78125,0.8125 0.21875,0 0.828125,-0.140625 0.828125,-0.953125 v -0.5625 h -0.25 v 0.5625 c 0,0.578125 -0.25,0.640625 -0.359375,0.640625 -0.328125,0 -0.375,-0.453125 -0.375,-0.5 v -1.984375 c 0,-0.421875 0,-0.8125 -0.359375,-1.1875 C 3.1875,-4.3125 2.6875,-4.46875 2.21875,-4.46875 c -0.828125,0 -1.515625,0.46875 -1.515625,1.125 0,0.296875 0.203125,0.46875 0.46875,0.46875 0.28125,0 0.453125,-0.203125 0.453125,-0.453125 0,-0.125 -0.046875,-0.453125 -0.515625,-0.453125 C 1.390625,-4.140625 1.875,-4.25 2.1875,-4.25 c 0.5,0 1.0625,0.390625 1.0625,1.28125 v 0.359375 c -0.515625,0.03125 -1.203125,0.0625 -1.828125,0.359375 -0.75,0.34375 -1,0.859375 -1,1.296875 0,0.8125 0.96875,1.0625 1.59375,1.0625 0.65625,0 1.109375,-0.40625 1.296875,-0.859375 z M 3.25,-2.390625 v 1 c 0,0.9375 -0.71875,1.28125 -1.171875,1.28125 -0.484375,0 -0.890625,-0.34375 -0.890625,-0.84375 0,-0.546875 0.421875,-1.375 2.0625,-1.4375 z m 0,0" + transform="translate(153.13938,134.765)" + id="path6406-4" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 1.71875,-3.75 v -0.65625 l -1.4375,0.109375 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5 v 4.65625 C 1.0625,1.625 0.953125,1.625 0.28125,1.625 V 1.9375 C 0.625,1.921875 1.140625,1.90625 1.390625,1.90625 c 0.28125,0 0.78125,0.015625 1.125,0.03125 V 1.625 C 1.859375,1.625 1.75,1.625 1.75,1.171875 V -0.59375 c 0.046875,0.171875 0.46875,0.703125 1.21875,0.703125 1.1875,0 2.21875,-0.984375 2.21875,-2.265625 0,-1.265625 -0.953125,-2.25 -2.078125,-2.25 -0.78125,0 -1.203125,0.4375 -1.390625,0.65625 z M 1.75,-1.140625 v -2.21875 C 2.03125,-3.875 2.515625,-4.15625 3.03125,-4.15625 c 0.734375,0 1.328125,0.875 1.328125,2 0,1.203125 -0.6875,2.046875 -1.421875,2.046875 -0.40625,0 -0.78125,-0.203125 -1.046875,-0.609375 C 1.75,-0.921875 1.75,-0.9375 1.75,-1.140625 Z m 0,0" + transform="translate(158.12068,134.765)" + id="path6408-3" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 3.3125,-0.75 c 0.046875,0.390625 0.3125,0.8125 0.78125,0.8125 0.21875,0 0.828125,-0.140625 0.828125,-0.953125 v -0.5625 h -0.25 v 0.5625 c 0,0.578125 -0.25,0.640625 -0.359375,0.640625 -0.328125,0 -0.375,-0.453125 -0.375,-0.5 v -1.984375 c 0,-0.421875 0,-0.8125 -0.359375,-1.1875 C 3.1875,-4.3125 2.6875,-4.46875 2.21875,-4.46875 c -0.828125,0 -1.515625,0.46875 -1.515625,1.125 0,0.296875 0.203125,0.46875 0.46875,0.46875 0.28125,0 0.453125,-0.203125 0.453125,-0.453125 0,-0.125 -0.046875,-0.453125 -0.515625,-0.453125 C 1.390625,-4.140625 1.875,-4.25 2.1875,-4.25 c 0.5,0 1.0625,0.390625 1.0625,1.28125 v 0.359375 c -0.515625,0.03125 -1.203125,0.0625 -1.828125,0.359375 -0.75,0.34375 -1,0.859375 -1,1.296875 0,0.8125 0.96875,1.0625 1.59375,1.0625 0.65625,0 1.109375,-0.40625 1.296875,-0.859375 z M 3.25,-2.390625 v 1 c 0,0.9375 -0.71875,1.28125 -1.171875,1.28125 -0.484375,0 -0.890625,-0.34375 -0.890625,-0.84375 0,-0.546875 0.421875,-1.375 2.0625,-1.4375 z m 0,0" + transform="translate(163.6559,134.765)" + id="path6410-0" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 1.171875,-2.171875 c 0,-1.625 0.8125,-2.046875 1.34375,-2.046875 0.09375,0 0.71875,0.015625 1.0625,0.375 -0.40625,0.03125 -0.46875,0.328125 -0.46875,0.453125 0,0.265625 0.1875,0.453125 0.453125,0.453125 0.265625,0 0.46875,-0.15625 0.46875,-0.46875 0,-0.671875 -0.765625,-1.0625 -1.53125,-1.0625 -1.25,0 -2.15625,1.078125 -2.15625,2.3125 0,1.28125 0.984375,2.265625 2.140625,2.265625 1.328125,0 1.65625,-1.203125 1.65625,-1.296875 0,-0.09375 -0.109375,-0.09375 -0.140625,-0.09375 -0.078125,0 -0.109375,0.03125 -0.125,0.09375 -0.28125,0.921875 -0.9375,1.046875 -1.296875,1.046875 -0.53125,0 -1.40625,-0.421875 -1.40625,-2.03125 z m 0,0" + transform="translate(168.6372,134.765)" + id="path6412-7" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.765625,-4.40625 0.375,-4.296875 v 0.3125 c 0.640625,0 0.734375,0.0625 0.734375,0.546875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 C 0.640625,-0.015625 1.1875,-0.03125 1.421875,-0.03125 1.78125,-0.03125 2.125,-0.015625 2.46875,0 v -0.3125 c -0.671875,0 -0.703125,-0.046875 -0.703125,-0.4375 z m 0.03125,-1.734375 c 0,-0.3125 -0.234375,-0.53125 -0.515625,-0.53125 -0.3125,0 -0.53125,0.265625 -0.53125,0.53125 0,0.265625 0.21875,0.53125 0.53125,0.53125 0.28125,0 0.515625,-0.21875 0.515625,-0.53125 z m 0,0" + transform="translate(173.06458,134.765)" + id="path6414-8" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 1.71875,-3.984375 h 1.4375 v -0.3125 H 1.71875 V -6.125 h -0.25 c 0,0.8125 -0.296875,1.875 -1.28125,1.921875 v 0.21875 h 0.84375 v 2.75 c 0,1.21875 0.9375,1.34375 1.296875,1.34375 0.703125,0 0.984375,-0.703125 0.984375,-1.34375 v -0.5625 h -0.25 V -1.25 c 0,0.734375 -0.296875,1.109375 -0.671875,1.109375 -0.671875,0 -0.671875,-0.90625 -0.671875,-1.078125 z m 0,0" + transform="translate(175.83219,134.765)" + id="path6416-6" /> + </g> + <g + style="fill:#000000;fill-opacity:1" + id="g6422-88"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 3.734375,-6.296875 C 3.828125,-6.375 3.90625,-6.484375 3.90625,-6.59375 c 0,-0.1875 -0.171875,-0.359375 -0.359375,-0.359375 -0.140625,0 -0.25,0.109375 -0.296875,0.171875 l -1.203125,1.515625 0.171875,0.1875 z m 0,0" + transform="translate(179.42769,134.765)" + id="path6420-4" /> + </g> + <g + style="fill:#000000;fill-opacity:1" + id="g6426-3"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.109375,-2.515625 C 1.171875,-4 2.015625,-4.25 2.359375,-4.25 c 1.015625,0 1.125,1.34375 1.125,1.734375 z m 0,0.21875 h 2.78125 c 0.21875,0 0.25,0 0.25,-0.21875 0,-0.984375 -0.546875,-1.953125 -1.78125,-1.953125 -1.15625,0 -2.078125,1.03125 -2.078125,2.28125 0,1.328125 1.046875,2.296875 2.1875,2.296875 C 3.6875,0.109375 4.140625,-1 4.140625,-1.1875 4.140625,-1.28125 4.0625,-1.3125 4,-1.3125 c -0.078125,0 -0.109375,0.0625 -0.125,0.140625 -0.34375,1.03125 -1.25,1.03125 -1.34375,1.03125 -0.5,0 -0.890625,-0.296875 -1.125,-0.671875 -0.296875,-0.46875 -0.296875,-1.125 -0.296875,-1.484375 z m 0,0" + transform="translate(179.70664,134.765)" + id="path6424-1" /> + </g> + </g> + </g> + <g + id="g6701-4" + ns1:scale="1.0" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:text="pointeur" + ns1:converter="pdf2svg" + ns1:textextver="0.8" + transform="matrix(0.48104848,0,0,0.48104848,-83.990652,-13.19335)"> + <g + id="g6699-9"> + <g + id="g6679-20" + style="fill:#000000;fill-opacity:1"> + <path + id="path6677-6" + transform="translate(148.712,134.765)" + d="m 1.71875,-3.75 v -0.65625 l -1.4375,0.109375 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5 v 4.65625 C 1.0625,1.625 0.953125,1.625 0.28125,1.625 V 1.9375 C 0.625,1.921875 1.140625,1.90625 1.390625,1.90625 c 0.28125,0 0.78125,0.015625 1.125,0.03125 V 1.625 C 1.859375,1.625 1.75,1.625 1.75,1.171875 V -0.59375 c 0.046875,0.171875 0.46875,0.703125 1.21875,0.703125 1.1875,0 2.21875,-0.984375 2.21875,-2.265625 0,-1.265625 -0.953125,-2.25 -2.078125,-2.25 -0.78125,0 -1.203125,0.4375 -1.390625,0.65625 z M 1.75,-1.140625 v -2.21875 C 2.03125,-3.875 2.515625,-4.15625 3.03125,-4.15625 c 0.734375,0 1.328125,0.875 1.328125,2 0,1.203125 -0.6875,2.046875 -1.421875,2.046875 -0.40625,0 -0.78125,-0.203125 -1.046875,-0.609375 C 1.75,-0.921875 1.75,-0.9375 1.75,-1.140625 Z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + <g + id="g6687-8" + style="fill:#000000;fill-opacity:1"> + <path + id="path6681-9" + transform="translate(154.52617,134.765)" + d="M 4.6875,-2.140625 C 4.6875,-3.40625 3.703125,-4.46875 2.5,-4.46875 c -1.25,0 -2.21875,1.09375 -2.21875,2.328125 0,1.296875 1.03125,2.25 2.203125,2.25 1.203125,0 2.203125,-0.984375 2.203125,-2.25 z m -2.1875,2 c -0.4375,0 -0.875,-0.203125 -1.140625,-0.671875 -0.25,-0.4375 -0.25,-1.046875 -0.25,-1.40625 0,-0.390625 0,-0.921875 0.234375,-1.359375 C 1.609375,-4.03125 2.078125,-4.25 2.484375,-4.25 c 0.4375,0 0.859375,0.21875 1.125,0.65625 0.265625,0.421875 0.265625,1 0.265625,1.375 0,0.359375 0,0.90625 -0.21875,1.34375 C 3.421875,-0.421875 2.984375,-0.140625 2.5,-0.140625 Z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6683-2" + transform="translate(159.50747,134.765)" + d="M 1.765625,-4.40625 0.375,-4.296875 v 0.3125 c 0.640625,0 0.734375,0.0625 0.734375,0.546875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 C 0.640625,-0.015625 1.1875,-0.03125 1.421875,-0.03125 1.78125,-0.03125 2.125,-0.015625 2.46875,0 v -0.3125 c -0.671875,0 -0.703125,-0.046875 -0.703125,-0.4375 z m 0.03125,-1.734375 c 0,-0.3125 -0.234375,-0.53125 -0.515625,-0.53125 -0.3125,0 -0.53125,0.265625 -0.53125,0.53125 0,0.265625 0.21875,0.53125 0.53125,0.53125 0.28125,0 0.515625,-0.21875 0.515625,-0.53125 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6685-66" + transform="translate(162.27508,134.765)" + d="M 1.09375,-3.421875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.359375,-0.015625 0.859375,-0.03125 1.140625,-0.03125 0.25,0 0.765625,0.015625 1.109375,0.03125 v -0.3125 c -0.671875,0 -0.78125,0 -0.78125,-0.4375 V -2.59375 C 1.78125,-3.625 2.5,-4.1875 3.125,-4.1875 c 0.640625,0 0.75,0.53125 0.75,1.109375 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.34375,-0.015625 0.859375,-0.03125 1.125,-0.03125 0.25,0 0.78125,0.015625 1.109375,0.03125 v -0.3125 c -0.515625,0 -0.765625,0 -0.765625,-0.296875 v -1.90625 c 0,-0.859375 0,-1.15625 -0.3125,-1.515625 -0.140625,-0.171875 -0.46875,-0.375 -1.046875,-0.375 C 2.46875,-4.40625 2,-3.984375 1.71875,-3.359375 V -4.40625 L 0.3125,-4.296875 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + <g + id="g6697-4" + style="fill:#000000;fill-opacity:1"> + <path + id="path6689-9" + transform="translate(167.53135,134.765)" + d="m 1.71875,-3.984375 h 1.4375 v -0.3125 H 1.71875 V -6.125 h -0.25 c 0,0.8125 -0.296875,1.875 -1.28125,1.921875 v 0.21875 h 0.84375 v 2.75 c 0,1.21875 0.9375,1.34375 1.296875,1.34375 0.703125,0 0.984375,-0.703125 0.984375,-1.34375 v -0.5625 h -0.25 V -1.25 c 0,0.734375 -0.296875,1.109375 -0.671875,1.109375 -0.671875,0 -0.671875,-0.90625 -0.671875,-1.078125 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6691-5" + transform="translate(171.40581,134.765)" + d="M 1.109375,-2.515625 C 1.171875,-4 2.015625,-4.25 2.359375,-4.25 c 1.015625,0 1.125,1.34375 1.125,1.734375 z m 0,0.21875 h 2.78125 c 0.21875,0 0.25,0 0.25,-0.21875 0,-0.984375 -0.546875,-1.953125 -1.78125,-1.953125 -1.15625,0 -2.078125,1.03125 -2.078125,2.28125 0,1.328125 1.046875,2.296875 2.1875,2.296875 C 3.6875,0.109375 4.140625,-1 4.140625,-1.1875 4.140625,-1.28125 4.0625,-1.3125 4,-1.3125 c -0.078125,0 -0.109375,0.0625 -0.125,0.140625 -0.34375,1.03125 -1.25,1.03125 -1.34375,1.03125 -0.5,0 -0.890625,-0.296875 -1.125,-0.671875 -0.296875,-0.46875 -0.296875,-1.125 -0.296875,-1.484375 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6693-0" + transform="translate(175.83319,134.765)" + d="M 3.890625,-0.78125 V 0.109375 L 5.328125,0 V -0.3125 C 4.640625,-0.3125 4.5625,-0.375 4.5625,-0.875 v -3.53125 l -1.46875,0.109375 v 0.3125 c 0.6875,0 0.78125,0.0625 0.78125,0.5625 v 1.765625 c 0,0.875 -0.484375,1.546875 -1.21875,1.546875 -0.828125,0 -0.875,-0.46875 -0.875,-0.984375 v -3.3125 L 0.3125,-4.296875 v 0.3125 c 0.78125,0 0.78125,0.03125 0.78125,0.90625 v 1.5 c 0,0.78125 0,1.6875 1.515625,1.6875 0.5625,0 1,-0.28125 1.28125,-0.890625 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6695-4" + transform="translate(181.36841,134.765)" + d="M 1.671875,-3.3125 V -4.40625 L 0.28125,-4.296875 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.390625,-0.015625 0.859375,-0.03125 1.140625,-0.03125 0.390625,0 0.859375,0 1.265625,0.03125 V -0.3125 H 2.46875 c -0.734375,0 -0.75,-0.109375 -0.75,-0.46875 V -2.3125 c 0,-0.984375 0.421875,-1.875 1.171875,-1.875 0.0625,0 0.09375,0 0.109375,0.015625 -0.03125,0 -0.234375,0.125 -0.234375,0.390625 0,0.265625 0.21875,0.421875 0.4375,0.421875 0.171875,0 0.421875,-0.125 0.421875,-0.4375 0,-0.3125 -0.3125,-0.609375 -0.734375,-0.609375 -0.734375,0 -1.09375,0.671875 -1.21875,1.09375 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <rect + y="54.363838" + x="127.04413" + height="25.324411" + width="64.870178" + id="rect4520-3-2-3-8" + style="opacity:1;fill:#faffff;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" /> + <path + inkscape:connector-curvature="0" + id="path4537-61-6-7" + d="M 148.7226,54.363837 V 79.310259" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + sodipodi:nodetypes="cc" + inkscape:connector-curvature="0" + id="path4539-8-1-1" + d="M 170.21495,54.316588 V 79.310259" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + inkscape:connector-curvature="0" + id="path4541-7-2-7" + d="m 192.09538,54.458328 v 24.94643" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + inkscape:connector-curvature="0" + id="path4537-6-9-9-2" + d="M 127.03625,54.363837 V 79.310259" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + inkscape:connector-curvature="0" + id="path4537-61-7-7" + d="M 148.7226,54.36384 V 79.310259" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + sodipodi:nodetypes="cc" + inkscape:connector-curvature="0" + id="path4539-8-4-2" + d="M 170.21495,54.31659 V 79.310259" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + inkscape:connector-curvature="0" + id="path4541-7-1-2" + d="M 192.09538,54.45833 V 79.404758" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <g + style="fill:#000000" + transform="translate(8.2724076,-64.36396)" + ns1:textextver="0.8" + ns1:converter="pdf2svg" + ns1:text="$4$" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:scale="1.0" + id="g4809-4-85-6"> + <g + style="fill:#000000" + id="g4807-5-9-1"> + <g + style="fill:#000000;fill-opacity:1" + id="g4805-0-7-0"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 2.9375,-1.640625 v 0.859375 c 0,0.359375 -0.03125,0.46875 -0.765625,0.46875 H 1.96875 V 0 C 2.375,-0.03125 2.890625,-0.03125 3.3125,-0.03125 c 0.421875,0 0.9375,0 1.359375,0.03125 v -0.3125 h -0.21875 c -0.734375,0 -0.75,-0.109375 -0.75,-0.46875 V -1.640625 H 4.6875 v -0.3125 H 3.703125 v -4.53125 c 0,-0.203125 0,-0.265625 -0.171875,-0.265625 -0.078125,0 -0.109375,0 -0.1875,0.125 l -3.0625,4.671875 v 0.3125 z m 0.046875,-0.3125 H 0.5625 l 2.421875,-3.71875 z m 0,0" + transform="translate(148.712,134.765)" + id="path4803-3-5-6" /> + </g> + </g> + </g> + <g + style="fill:#000000" + transform="translate(29.764728,-64.36396)" + ns1:textextver="0.8" + ns1:converter="pdf2svg" + ns1:text="$4$" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:scale="1.0" + id="g4809-6-3-1"> + <g + style="fill:#000000" + id="g4807-1-8-5"> + <g + style="fill:#000000;fill-opacity:1" + id="g4805-06-8-9"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 2.9375,-1.640625 v 0.859375 c 0,0.359375 -0.03125,0.46875 -0.765625,0.46875 H 1.96875 V 0 C 2.375,-0.03125 2.890625,-0.03125 3.3125,-0.03125 c 0.421875,0 0.9375,0 1.359375,0.03125 v -0.3125 h -0.21875 c -0.734375,0 -0.75,-0.109375 -0.75,-0.46875 V -1.640625 H 4.6875 v -0.3125 H 3.703125 v -4.53125 c 0,-0.203125 0,-0.265625 -0.171875,-0.265625 -0.078125,0 -0.109375,0 -0.1875,0.125 l -3.0625,4.671875 v 0.3125 z m 0.046875,-0.3125 H 0.5625 l 2.421875,-3.71875 z m 0,0" + transform="translate(148.712,134.765)" + id="path4803-32-3-4" /> + </g> + </g> + </g> + <circle + r="2.2234704" + cy="67.026047" + cx="138.21777" + style="fill:#000000;stroke:none;stroke-width:1.48231339" + id="path3987-9" /> + <g + transform="translate(189.60875,-28.283112)" + id="g6383-0"> + <g + transform="matrix(0.52294065,0,0,0.52294065,-115.91021,42.592237)" + ns1:textextver="0.8" + ns1:converter="pdf2svg" + ns1:text="longueur" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:scale="1.0" + id="g6194-3-9"> + <g + id="g6192-6-1"> + <g + style="fill:#000000;fill-opacity:1" + id="g6190-7-7"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.765625,-6.921875 0.328125,-6.8125 V -6.5 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 C 0.65625,-0.015625 1.1875,-0.03125 1.4375,-0.03125 c 0.25,0 0.734375,0.015625 1.109375,0.03125 v -0.3125 c -0.671875,0 -0.78125,0 -0.78125,-0.4375 z m 0,0" + transform="translate(148.712,134.765)" + id="path6174-5-7" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 4.6875,-2.140625 C 4.6875,-3.40625 3.703125,-4.46875 2.5,-4.46875 c -1.25,0 -2.21875,1.09375 -2.21875,2.328125 0,1.296875 1.03125,2.25 2.203125,2.25 1.203125,0 2.203125,-0.984375 2.203125,-2.25 z m -2.1875,2 c -0.4375,0 -0.875,-0.203125 -1.140625,-0.671875 -0.25,-0.4375 -0.25,-1.046875 -0.25,-1.40625 0,-0.390625 0,-0.921875 0.234375,-1.359375 C 1.609375,-4.03125 2.078125,-4.25 2.484375,-4.25 c 0.4375,0 0.859375,0.21875 1.125,0.65625 0.265625,0.421875 0.265625,1 0.265625,1.375 0,0.359375 0,0.90625 -0.21875,1.34375 C 3.421875,-0.421875 2.984375,-0.140625 2.5,-0.140625 Z m 0,0" + transform="translate(151.47961,134.765)" + id="path6176-3-1" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.09375,-3.421875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.359375,-0.015625 0.859375,-0.03125 1.140625,-0.03125 0.25,0 0.765625,0.015625 1.109375,0.03125 v -0.3125 c -0.671875,0 -0.78125,0 -0.78125,-0.4375 V -2.59375 C 1.78125,-3.625 2.5,-4.1875 3.125,-4.1875 c 0.640625,0 0.75,0.53125 0.75,1.109375 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.34375,-0.015625 0.859375,-0.03125 1.125,-0.03125 0.25,0 0.78125,0.015625 1.109375,0.03125 v -0.3125 c -0.515625,0 -0.765625,0 -0.765625,-0.296875 v -1.90625 c 0,-0.859375 0,-1.15625 -0.3125,-1.515625 -0.140625,-0.171875 -0.46875,-0.375 -1.046875,-0.375 C 2.46875,-4.40625 2,-3.984375 1.71875,-3.359375 V -4.40625 L 0.3125,-4.296875 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 z m 0,0" + transform="translate(156.46091,134.765)" + id="path6178-5-1" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 2.21875,-1.71875 c -0.875,0 -0.875,-1 -0.875,-1.21875 0,-0.265625 0.015625,-0.59375 0.15625,-0.84375 0.078125,-0.109375 0.3125,-0.390625 0.71875,-0.390625 0.859375,0 0.859375,0.984375 0.859375,1.21875 0,0.265625 0,0.59375 -0.15625,0.84375 C 2.84375,-2 2.609375,-1.71875 2.21875,-1.71875 Z M 1.0625,-1.328125 c 0,-0.03125 0,-0.265625 0.15625,-0.46875 0.390625,0.28125 0.8125,0.3125 1,0.3125 0.921875,0 1.609375,-0.6875 1.609375,-1.453125 0,-0.375 -0.15625,-0.734375 -0.40625,-0.96875 C 3.78125,-4.25 4.140625,-4.296875 4.3125,-4.296875 c 0.03125,0 0.078125,0 0.109375,0.015625 C 4.3125,-4.25 4.25,-4.140625 4.25,-4.015625 c 0,0.171875 0.140625,0.28125 0.296875,0.28125 0.09375,0 0.28125,-0.0625 0.28125,-0.296875 0,-0.171875 -0.109375,-0.484375 -0.5,-0.484375 -0.203125,0 -0.640625,0.0625 -1.0625,0.46875 C 2.84375,-4.375 2.4375,-4.40625 2.21875,-4.40625 c -0.9375,0 -1.625,0.6875 -1.625,1.453125 0,0.4375 0.21875,0.8125 0.46875,1.03125 -0.125,0.140625 -0.3125,0.46875 -0.3125,0.828125 0,0.3125 0.140625,0.6875 0.453125,0.890625 -0.609375,0.15625 -0.921875,0.59375 -0.921875,0.984375 0,0.71875 0.984375,1.265625 2.203125,1.265625 1.171875,0 2.203125,-0.5 2.203125,-1.28125 0,-0.34375 -0.125,-0.859375 -0.640625,-1.140625 -0.53125,-0.265625 -1.109375,-0.265625 -1.71875,-0.265625 -0.25,0 -0.671875,0 -0.75,-0.015625 C 1.265625,-0.703125 1.0625,-1 1.0625,-1.328125 Z M 2.5,1.828125 c -1.015625,0 -1.703125,-0.515625 -1.703125,-1.046875 0,-0.453125 0.375,-0.828125 0.8125,-0.84375 h 0.59375 c 0.859375,0 1.96875,0 1.96875,0.84375 0,0.546875 -0.703125,1.046875 -1.671875,1.046875 z m 0,0" + transform="translate(161.99613,134.765)" + id="path6180-6-5" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 3.890625,-0.78125 V 0.109375 L 5.328125,0 V -0.3125 C 4.640625,-0.3125 4.5625,-0.375 4.5625,-0.875 v -3.53125 l -1.46875,0.109375 v 0.3125 c 0.6875,0 0.78125,0.0625 0.78125,0.5625 v 1.765625 c 0,0.875 -0.484375,1.546875 -1.21875,1.546875 -0.828125,0 -0.875,-0.46875 -0.875,-0.984375 v -3.3125 L 0.3125,-4.296875 v 0.3125 c 0.78125,0 0.78125,0.03125 0.78125,0.90625 v 1.5 c 0,0.78125 0,1.6875 1.515625,1.6875 0.5625,0 1,-0.28125 1.28125,-0.890625 z m 0,0" + transform="translate(166.97743,134.765)" + id="path6182-2-9" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.109375,-2.515625 C 1.171875,-4 2.015625,-4.25 2.359375,-4.25 c 1.015625,0 1.125,1.34375 1.125,1.734375 z m 0,0.21875 h 2.78125 c 0.21875,0 0.25,0 0.25,-0.21875 0,-0.984375 -0.546875,-1.953125 -1.78125,-1.953125 -1.15625,0 -2.078125,1.03125 -2.078125,2.28125 0,1.328125 1.046875,2.296875 2.1875,2.296875 C 3.6875,0.109375 4.140625,-1 4.140625,-1.1875 4.140625,-1.28125 4.0625,-1.3125 4,-1.3125 c -0.078125,0 -0.109375,0.0625 -0.125,0.140625 -0.34375,1.03125 -1.25,1.03125 -1.34375,1.03125 -0.5,0 -0.890625,-0.296875 -1.125,-0.671875 -0.296875,-0.46875 -0.296875,-1.125 -0.296875,-1.484375 z m 0,0" + transform="translate(172.51265,134.765)" + id="path6184-9-7" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 3.890625,-0.78125 V 0.109375 L 5.328125,0 V -0.3125 C 4.640625,-0.3125 4.5625,-0.375 4.5625,-0.875 v -3.53125 l -1.46875,0.109375 v 0.3125 c 0.6875,0 0.78125,0.0625 0.78125,0.5625 v 1.765625 c 0,0.875 -0.484375,1.546875 -1.21875,1.546875 -0.828125,0 -0.875,-0.46875 -0.875,-0.984375 v -3.3125 L 0.3125,-4.296875 v 0.3125 c 0.78125,0 0.78125,0.03125 0.78125,0.90625 v 1.5 c 0,0.78125 0,1.6875 1.515625,1.6875 0.5625,0 1,-0.28125 1.28125,-0.890625 z m 0,0" + transform="translate(176.94003,134.765)" + id="path6186-1-7" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.671875,-3.3125 V -4.40625 L 0.28125,-4.296875 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.390625,-0.015625 0.859375,-0.03125 1.140625,-0.03125 0.390625,0 0.859375,0 1.265625,0.03125 V -0.3125 H 2.46875 c -0.734375,0 -0.75,-0.109375 -0.75,-0.46875 V -2.3125 c 0,-0.984375 0.421875,-1.875 1.171875,-1.875 0.0625,0 0.09375,0 0.109375,0.015625 -0.03125,0 -0.234375,0.125 -0.234375,0.390625 0,0.265625 0.21875,0.421875 0.4375,0.421875 0.171875,0 0.421875,-0.125 0.421875,-0.4375 0,-0.3125 -0.3125,-0.609375 -0.734375,-0.609375 -0.734375,0 -1.09375,0.671875 -1.21875,1.09375 z m 0,0" + transform="translate(182.47525,134.765)" + id="path6188-2-6" /> + </g> + </g> + </g> + <g + id="g6430-7-7" + ns1:scale="1.0" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:text="capacit\xc3\xa9" + ns1:converter="pdf2svg" + ns1:textextver="0.8" + transform="matrix(0.48712834,0,0,0.48712834,-87.871854,47.365436)"> + <g + id="g6428-0-3"> + <g + id="g6418-9-6" + style="fill:#000000;fill-opacity:1"> + <path + id="path6404-3-5" + transform="translate(148.712,134.765)" + d="m 1.171875,-2.171875 c 0,-1.625 0.8125,-2.046875 1.34375,-2.046875 0.09375,0 0.71875,0.015625 1.0625,0.375 -0.40625,0.03125 -0.46875,0.328125 -0.46875,0.453125 0,0.265625 0.1875,0.453125 0.453125,0.453125 0.265625,0 0.46875,-0.15625 0.46875,-0.46875 0,-0.671875 -0.765625,-1.0625 -1.53125,-1.0625 -1.25,0 -2.15625,1.078125 -2.15625,2.3125 0,1.28125 0.984375,2.265625 2.140625,2.265625 1.328125,0 1.65625,-1.203125 1.65625,-1.296875 0,-0.09375 -0.109375,-0.09375 -0.140625,-0.09375 -0.078125,0 -0.109375,0.03125 -0.125,0.09375 -0.28125,0.921875 -0.9375,1.046875 -1.296875,1.046875 -0.53125,0 -1.40625,-0.421875 -1.40625,-2.03125 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6406-6-6" + transform="translate(153.13938,134.765)" + d="m 3.3125,-0.75 c 0.046875,0.390625 0.3125,0.8125 0.78125,0.8125 0.21875,0 0.828125,-0.140625 0.828125,-0.953125 v -0.5625 h -0.25 v 0.5625 c 0,0.578125 -0.25,0.640625 -0.359375,0.640625 -0.328125,0 -0.375,-0.453125 -0.375,-0.5 v -1.984375 c 0,-0.421875 0,-0.8125 -0.359375,-1.1875 C 3.1875,-4.3125 2.6875,-4.46875 2.21875,-4.46875 c -0.828125,0 -1.515625,0.46875 -1.515625,1.125 0,0.296875 0.203125,0.46875 0.46875,0.46875 0.28125,0 0.453125,-0.203125 0.453125,-0.453125 0,-0.125 -0.046875,-0.453125 -0.515625,-0.453125 C 1.390625,-4.140625 1.875,-4.25 2.1875,-4.25 c 0.5,0 1.0625,0.390625 1.0625,1.28125 v 0.359375 c -0.515625,0.03125 -1.203125,0.0625 -1.828125,0.359375 -0.75,0.34375 -1,0.859375 -1,1.296875 0,0.8125 0.96875,1.0625 1.59375,1.0625 0.65625,0 1.109375,-0.40625 1.296875,-0.859375 z M 3.25,-2.390625 v 1 c 0,0.9375 -0.71875,1.28125 -1.171875,1.28125 -0.484375,0 -0.890625,-0.34375 -0.890625,-0.84375 0,-0.546875 0.421875,-1.375 2.0625,-1.4375 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6408-0-3" + transform="translate(158.12068,134.765)" + d="m 1.71875,-3.75 v -0.65625 l -1.4375,0.109375 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5 v 4.65625 C 1.0625,1.625 0.953125,1.625 0.28125,1.625 V 1.9375 C 0.625,1.921875 1.140625,1.90625 1.390625,1.90625 c 0.28125,0 0.78125,0.015625 1.125,0.03125 V 1.625 C 1.859375,1.625 1.75,1.625 1.75,1.171875 V -0.59375 c 0.046875,0.171875 0.46875,0.703125 1.21875,0.703125 1.1875,0 2.21875,-0.984375 2.21875,-2.265625 0,-1.265625 -0.953125,-2.25 -2.078125,-2.25 -0.78125,0 -1.203125,0.4375 -1.390625,0.65625 z M 1.75,-1.140625 v -2.21875 C 2.03125,-3.875 2.515625,-4.15625 3.03125,-4.15625 c 0.734375,0 1.328125,0.875 1.328125,2 0,1.203125 -0.6875,2.046875 -1.421875,2.046875 -0.40625,0 -0.78125,-0.203125 -1.046875,-0.609375 C 1.75,-0.921875 1.75,-0.9375 1.75,-1.140625 Z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6410-6-9" + transform="translate(163.6559,134.765)" + d="m 3.3125,-0.75 c 0.046875,0.390625 0.3125,0.8125 0.78125,0.8125 0.21875,0 0.828125,-0.140625 0.828125,-0.953125 v -0.5625 h -0.25 v 0.5625 c 0,0.578125 -0.25,0.640625 -0.359375,0.640625 -0.328125,0 -0.375,-0.453125 -0.375,-0.5 v -1.984375 c 0,-0.421875 0,-0.8125 -0.359375,-1.1875 C 3.1875,-4.3125 2.6875,-4.46875 2.21875,-4.46875 c -0.828125,0 -1.515625,0.46875 -1.515625,1.125 0,0.296875 0.203125,0.46875 0.46875,0.46875 0.28125,0 0.453125,-0.203125 0.453125,-0.453125 0,-0.125 -0.046875,-0.453125 -0.515625,-0.453125 C 1.390625,-4.140625 1.875,-4.25 2.1875,-4.25 c 0.5,0 1.0625,0.390625 1.0625,1.28125 v 0.359375 c -0.515625,0.03125 -1.203125,0.0625 -1.828125,0.359375 -0.75,0.34375 -1,0.859375 -1,1.296875 0,0.8125 0.96875,1.0625 1.59375,1.0625 0.65625,0 1.109375,-0.40625 1.296875,-0.859375 z M 3.25,-2.390625 v 1 c 0,0.9375 -0.71875,1.28125 -1.171875,1.28125 -0.484375,0 -0.890625,-0.34375 -0.890625,-0.84375 0,-0.546875 0.421875,-1.375 2.0625,-1.4375 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6412-2-4" + transform="translate(168.6372,134.765)" + d="m 1.171875,-2.171875 c 0,-1.625 0.8125,-2.046875 1.34375,-2.046875 0.09375,0 0.71875,0.015625 1.0625,0.375 -0.40625,0.03125 -0.46875,0.328125 -0.46875,0.453125 0,0.265625 0.1875,0.453125 0.453125,0.453125 0.265625,0 0.46875,-0.15625 0.46875,-0.46875 0,-0.671875 -0.765625,-1.0625 -1.53125,-1.0625 -1.25,0 -2.15625,1.078125 -2.15625,2.3125 0,1.28125 0.984375,2.265625 2.140625,2.265625 1.328125,0 1.65625,-1.203125 1.65625,-1.296875 0,-0.09375 -0.109375,-0.09375 -0.140625,-0.09375 -0.078125,0 -0.109375,0.03125 -0.125,0.09375 -0.28125,0.921875 -0.9375,1.046875 -1.296875,1.046875 -0.53125,0 -1.40625,-0.421875 -1.40625,-2.03125 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6414-6-8" + transform="translate(173.06458,134.765)" + d="M 1.765625,-4.40625 0.375,-4.296875 v 0.3125 c 0.640625,0 0.734375,0.0625 0.734375,0.546875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 C 0.640625,-0.015625 1.1875,-0.03125 1.421875,-0.03125 1.78125,-0.03125 2.125,-0.015625 2.46875,0 v -0.3125 c -0.671875,0 -0.703125,-0.046875 -0.703125,-0.4375 z m 0.03125,-1.734375 c 0,-0.3125 -0.234375,-0.53125 -0.515625,-0.53125 -0.3125,0 -0.53125,0.265625 -0.53125,0.53125 0,0.265625 0.21875,0.53125 0.53125,0.53125 0.28125,0 0.515625,-0.21875 0.515625,-0.53125 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6416-1-1" + transform="translate(175.83219,134.765)" + d="m 1.71875,-3.984375 h 1.4375 v -0.3125 H 1.71875 V -6.125 h -0.25 c 0,0.8125 -0.296875,1.875 -1.28125,1.921875 v 0.21875 h 0.84375 v 2.75 c 0,1.21875 0.9375,1.34375 1.296875,1.34375 0.703125,0 0.984375,-0.703125 0.984375,-1.34375 v -0.5625 h -0.25 V -1.25 c 0,0.734375 -0.296875,1.109375 -0.671875,1.109375 -0.671875,0 -0.671875,-0.90625 -0.671875,-1.078125 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + <g + id="g6422-8-2" + style="fill:#000000;fill-opacity:1"> + <path + id="path6420-7-9" + transform="translate(179.42769,134.765)" + d="M 3.734375,-6.296875 C 3.828125,-6.375 3.90625,-6.484375 3.90625,-6.59375 c 0,-0.1875 -0.171875,-0.359375 -0.359375,-0.359375 -0.140625,0 -0.25,0.109375 -0.296875,0.171875 l -1.203125,1.515625 0.171875,0.1875 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + <g + id="g6426-9-3" + style="fill:#000000;fill-opacity:1"> + <path + id="path6424-2-9" + transform="translate(179.70664,134.765)" + d="M 1.109375,-2.515625 C 1.171875,-4 2.015625,-4.25 2.359375,-4.25 c 1.015625,0 1.125,1.34375 1.125,1.734375 z m 0,0.21875 h 2.78125 c 0.21875,0 0.25,0 0.25,-0.21875 0,-0.984375 -0.546875,-1.953125 -1.78125,-1.953125 -1.15625,0 -2.078125,1.03125 -2.078125,2.28125 0,1.328125 1.046875,2.296875 2.1875,2.296875 C 3.6875,0.109375 4.140625,-1 4.140625,-1.1875 4.140625,-1.28125 4.0625,-1.3125 4,-1.3125 c -0.078125,0 -0.109375,0.0625 -0.125,0.140625 -0.34375,1.03125 -1.25,1.03125 -1.34375,1.03125 -0.5,0 -0.890625,-0.296875 -1.125,-0.671875 -0.296875,-0.46875 -0.296875,-1.125 -0.296875,-1.484375 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + </g> + <path + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#DotM-0-3);marker-end:url(#Arrow2Mend-3-6)" + d="M 138.28135,67.101511 71.398078,150.64852" + id="path5059-5-0" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + <g + id="g6701-9-8" + ns1:scale="1.0" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:text="pointeur" + ns1:converter="pdf2svg" + ns1:textextver="0.8" + transform="matrix(0.48104848,0,0,0.48104848,57.872108,-13.19335)"> + <g + id="g6699-2-8"> + <g + id="g6679-2-5" + style="fill:#000000;fill-opacity:1"> + <path + id="path6677-8-0" + transform="translate(148.712,134.765)" + d="m 1.71875,-3.75 v -0.65625 l -1.4375,0.109375 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5 v 4.65625 C 1.0625,1.625 0.953125,1.625 0.28125,1.625 V 1.9375 C 0.625,1.921875 1.140625,1.90625 1.390625,1.90625 c 0.28125,0 0.78125,0.015625 1.125,0.03125 V 1.625 C 1.859375,1.625 1.75,1.625 1.75,1.171875 V -0.59375 c 0.046875,0.171875 0.46875,0.703125 1.21875,0.703125 1.1875,0 2.21875,-0.984375 2.21875,-2.265625 0,-1.265625 -0.953125,-2.25 -2.078125,-2.25 -0.78125,0 -1.203125,0.4375 -1.390625,0.65625 z M 1.75,-1.140625 v -2.21875 C 2.03125,-3.875 2.515625,-4.15625 3.03125,-4.15625 c 0.734375,0 1.328125,0.875 1.328125,2 0,1.203125 -0.6875,2.046875 -1.421875,2.046875 -0.40625,0 -0.78125,-0.203125 -1.046875,-0.609375 C 1.75,-0.921875 1.75,-0.9375 1.75,-1.140625 Z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + <g + id="g6687-9-9" + style="fill:#000000;fill-opacity:1"> + <path + id="path6681-7-6" + transform="translate(154.52617,134.765)" + d="M 4.6875,-2.140625 C 4.6875,-3.40625 3.703125,-4.46875 2.5,-4.46875 c -1.25,0 -2.21875,1.09375 -2.21875,2.328125 0,1.296875 1.03125,2.25 2.203125,2.25 1.203125,0 2.203125,-0.984375 2.203125,-2.25 z m -2.1875,2 c -0.4375,0 -0.875,-0.203125 -1.140625,-0.671875 -0.25,-0.4375 -0.25,-1.046875 -0.25,-1.40625 0,-0.390625 0,-0.921875 0.234375,-1.359375 C 1.609375,-4.03125 2.078125,-4.25 2.484375,-4.25 c 0.4375,0 0.859375,0.21875 1.125,0.65625 0.265625,0.421875 0.265625,1 0.265625,1.375 0,0.359375 0,0.90625 -0.21875,1.34375 C 3.421875,-0.421875 2.984375,-0.140625 2.5,-0.140625 Z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6683-3-3" + transform="translate(159.50747,134.765)" + d="M 1.765625,-4.40625 0.375,-4.296875 v 0.3125 c 0.640625,0 0.734375,0.0625 0.734375,0.546875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 C 0.640625,-0.015625 1.1875,-0.03125 1.421875,-0.03125 1.78125,-0.03125 2.125,-0.015625 2.46875,0 v -0.3125 c -0.671875,0 -0.703125,-0.046875 -0.703125,-0.4375 z m 0.03125,-1.734375 c 0,-0.3125 -0.234375,-0.53125 -0.515625,-0.53125 -0.3125,0 -0.53125,0.265625 -0.53125,0.53125 0,0.265625 0.21875,0.53125 0.53125,0.53125 0.28125,0 0.515625,-0.21875 0.515625,-0.53125 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6685-6-8" + transform="translate(162.27508,134.765)" + d="M 1.09375,-3.421875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.359375,-0.015625 0.859375,-0.03125 1.140625,-0.03125 0.25,0 0.765625,0.015625 1.109375,0.03125 v -0.3125 c -0.671875,0 -0.78125,0 -0.78125,-0.4375 V -2.59375 C 1.78125,-3.625 2.5,-4.1875 3.125,-4.1875 c 0.640625,0 0.75,0.53125 0.75,1.109375 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.34375,-0.015625 0.859375,-0.03125 1.125,-0.03125 0.25,0 0.78125,0.015625 1.109375,0.03125 v -0.3125 c -0.515625,0 -0.765625,0 -0.765625,-0.296875 v -1.90625 c 0,-0.859375 0,-1.15625 -0.3125,-1.515625 -0.140625,-0.171875 -0.46875,-0.375 -1.046875,-0.375 C 2.46875,-4.40625 2,-3.984375 1.71875,-3.359375 V -4.40625 L 0.3125,-4.296875 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + <g + id="g6697-1-5" + style="fill:#000000;fill-opacity:1"> + <path + id="path6689-2-6" + transform="translate(167.53135,134.765)" + d="m 1.71875,-3.984375 h 1.4375 v -0.3125 H 1.71875 V -6.125 h -0.25 c 0,0.8125 -0.296875,1.875 -1.28125,1.921875 v 0.21875 h 0.84375 v 2.75 c 0,1.21875 0.9375,1.34375 1.296875,1.34375 0.703125,0 0.984375,-0.703125 0.984375,-1.34375 v -0.5625 h -0.25 V -1.25 c 0,0.734375 -0.296875,1.109375 -0.671875,1.109375 -0.671875,0 -0.671875,-0.90625 -0.671875,-1.078125 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6691-9-1" + transform="translate(171.40581,134.765)" + d="M 1.109375,-2.515625 C 1.171875,-4 2.015625,-4.25 2.359375,-4.25 c 1.015625,0 1.125,1.34375 1.125,1.734375 z m 0,0.21875 h 2.78125 c 0.21875,0 0.25,0 0.25,-0.21875 0,-0.984375 -0.546875,-1.953125 -1.78125,-1.953125 -1.15625,0 -2.078125,1.03125 -2.078125,2.28125 0,1.328125 1.046875,2.296875 2.1875,2.296875 C 3.6875,0.109375 4.140625,-1 4.140625,-1.1875 4.140625,-1.28125 4.0625,-1.3125 4,-1.3125 c -0.078125,0 -0.109375,0.0625 -0.125,0.140625 -0.34375,1.03125 -1.25,1.03125 -1.34375,1.03125 -0.5,0 -0.890625,-0.296875 -1.125,-0.671875 -0.296875,-0.46875 -0.296875,-1.125 -0.296875,-1.484375 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6693-3-1" + transform="translate(175.83319,134.765)" + d="M 3.890625,-0.78125 V 0.109375 L 5.328125,0 V -0.3125 C 4.640625,-0.3125 4.5625,-0.375 4.5625,-0.875 v -3.53125 l -1.46875,0.109375 v 0.3125 c 0.6875,0 0.78125,0.0625 0.78125,0.5625 v 1.765625 c 0,0.875 -0.484375,1.546875 -1.21875,1.546875 -0.828125,0 -0.875,-0.46875 -0.875,-0.984375 v -3.3125 L 0.3125,-4.296875 v 0.3125 c 0.78125,0 0.78125,0.03125 0.78125,0.90625 v 1.5 c 0,0.78125 0,1.6875 1.515625,1.6875 0.5625,0 1,-0.28125 1.28125,-0.890625 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6695-1-5" + transform="translate(181.36841,134.765)" + d="M 1.671875,-3.3125 V -4.40625 L 0.28125,-4.296875 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.390625,-0.015625 0.859375,-0.03125 1.140625,-0.03125 0.390625,0 0.859375,0 1.265625,0.03125 V -0.3125 H 2.46875 c -0.734375,0 -0.75,-0.109375 -0.75,-0.46875 V -2.3125 c 0,-0.984375 0.421875,-1.875 1.171875,-1.875 0.0625,0 0.09375,0 0.109375,0.015625 -0.03125,0 -0.234375,0.125 -0.234375,0.390625 0,0.265625 0.21875,0.421875 0.4375,0.421875 0.171875,0 0.421875,-0.125 0.421875,-0.4375 0,-0.3125 -0.3125,-0.609375 -0.734375,-0.609375 -0.734375,0 -1.09375,0.671875 -1.21875,1.09375 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <g + style="fill:#000000" + transform="translate(-134.09996,-64.36396)" + ns1:textextver="0.8" + ns1:converter="pdf2svg" + ns1:text="$4$" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:scale="1.0" + id="g4809-4-5"> + <g + style="fill:#000000" + id="g4807-5-6"> + <g + style="fill:#000000;fill-opacity:1" + id="g4805-0-9"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 2.9375,-1.640625 v 0.859375 c 0,0.359375 -0.03125,0.46875 -0.765625,0.46875 H 1.96875 V 0 C 2.375,-0.03125 2.890625,-0.03125 3.3125,-0.03125 c 0.421875,0 0.9375,0 1.359375,0.03125 v -0.3125 h -0.21875 c -0.734375,0 -0.75,-0.109375 -0.75,-0.46875 V -1.640625 H 4.6875 v -0.3125 H 3.703125 v -4.53125 c 0,-0.203125 0,-0.265625 -0.171875,-0.265625 -0.078125,0 -0.109375,0 -0.1875,0.125 l -3.0625,4.671875 v 0.3125 z m 0.046875,-0.3125 H 0.5625 l 2.421875,-3.71875 z m 0,0" + transform="translate(148.712,134.765)" + id="path4803-3-3" /> + </g> + </g> + </g> + <g + style="fill:#000000" + transform="translate(-112.60762,-64.36396)" + ns1:textextver="0.8" + ns1:converter="pdf2svg" + ns1:text="$4$" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:scale="1.0" + id="g4809-6-7"> + <g + style="fill:#000000" + id="g4807-1-4"> + <g + style="fill:#000000;fill-opacity:1" + id="g4805-06-5"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 2.9375,-1.640625 v 0.859375 c 0,0.359375 -0.03125,0.46875 -0.765625,0.46875 H 1.96875 V 0 C 2.375,-0.03125 2.890625,-0.03125 3.3125,-0.03125 c 0.421875,0 0.9375,0 1.359375,0.03125 v -0.3125 h -0.21875 c -0.734375,0 -0.75,-0.109375 -0.75,-0.46875 V -1.640625 H 4.6875 v -0.3125 H 3.703125 v -4.53125 c 0,-0.203125 0,-0.265625 -0.171875,-0.265625 -0.078125,0 -0.109375,0 -0.1875,0.125 l -3.0625,4.671875 v 0.3125 z m 0.046875,-0.3125 H 0.5625 l 2.421875,-3.71875 z m 0,0" + transform="translate(148.712,134.765)" + id="path4803-32-2" /> + </g> + </g> + </g> + <g + id="g1457" + ns1:jacobian_sqrt="0.352778" + inkscapeversion="0.92.2" + ns1:alignment="middle center" + ns1:scale="1.0" + ns1:preamble="/usr/share/inkscape/extensions" + ns1:text="$y$" + ns1:pdfconverter="pdf2svg" + ns1:texconverter="pdflatex" + ns1:version="0.8.1" + transform="matrix(1.553873,0,0,1.553873,-503.16935,-173.095)"> + <g + id="g1455"> + <g + id="g1453" + style="fill:#000000;fill-opacity:1"> + <path + id="path1451" + transform="translate(148.712,134.765)" + d="m 4.84375,-3.796875 c 0.046875,-0.140625 0.046875,-0.15625 0.046875,-0.234375 0,-0.171875 -0.140625,-0.265625 -0.296875,-0.265625 -0.09375,0 -0.25,0.0625 -0.34375,0.203125 -0.015625,0.0625 -0.109375,0.359375 -0.140625,0.546875 -0.078125,0.25 -0.140625,0.53125 -0.203125,0.796875 l -0.453125,1.796875 c -0.03125,0.140625 -0.46875,0.84375 -1.125,0.84375 -0.5,0 -0.609375,-0.4375 -0.609375,-0.8125 C 1.71875,-1.375 1.890625,-2 2.21875,-2.875 2.375,-3.28125 2.421875,-3.390625 2.421875,-3.59375 c 0,-0.4375 -0.3125,-0.8125 -0.8125,-0.8125 -0.953125,0 -1.3125,1.453125 -1.3125,1.53125 0,0.109375 0.09375,0.109375 0.109375,0.109375 0.109375,0 0.109375,-0.03125 0.15625,-0.1875 0.28125,-0.9375 0.671875,-1.234375 1.015625,-1.234375 0.078125,0 0.25,0 0.25,0.3125 0,0.25 -0.109375,0.515625 -0.171875,0.703125 -0.40625,1.0625 -0.578125,1.625 -0.578125,2.09375 0,0.890625 0.625,1.1875 1.21875,1.1875 0.390625,0 0.71875,-0.171875 1,-0.453125 -0.125,0.515625 -0.25,1.015625 -0.640625,1.546875 -0.265625,0.328125 -0.640625,0.625 -1.09375,0.625 -0.140625,0 -0.59375,-0.03125 -0.765625,-0.421875 0.15625,0 0.296875,0 0.421875,-0.125 C 1.328125,1.203125 1.421875,1.0625 1.421875,0.875 1.421875,0.5625 1.15625,0.53125 1.0625,0.53125 0.828125,0.53125 0.5,0.6875 0.5,1.171875 c 0,0.5 0.4375,0.875 1.0625,0.875 1.015625,0 2.046875,-0.90625 2.328125,-2.03125 z m 0,0" + style="stroke:none;stroke-width:0" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <g + transform="matrix(1.553873,0,0,1.553873,-360.71201,-171.58969)" + ns1:version="0.8.1" + ns1:texconverter="pdflatex" + ns1:pdfconverter="pdf2svg" + ns1:text="$z$" + ns1:preamble="/usr/share/inkscape/extensions" + ns1:scale="4.40467659548" + ns1:alignment="middle center" + inkscapeversion="0.92.2" + ns1:jacobian_sqrt="1.553873" + id="g2279"> + <g + id="g2277"> + <g + style="fill:#000000;fill-opacity:1" + id="g2275"> + <path + inkscape:connector-curvature="0" + style="stroke:none;stroke-width:0" + d="m 1.328125,-0.828125 c 0.53125,-0.578125 0.828125,-0.828125 1.1875,-1.140625 0,0 0.609375,-0.53125 0.96875,-0.890625 C 4.4375,-3.78125 4.65625,-4.265625 4.65625,-4.3125 c 0,-0.09375 -0.09375,-0.09375 -0.109375,-0.09375 -0.078125,0 -0.09375,0.015625 -0.15625,0.109375 -0.296875,0.484375 -0.5,0.640625 -0.734375,0.640625 -0.25,0 -0.359375,-0.15625 -0.515625,-0.328125 -0.1875,-0.21875 -0.359375,-0.421875 -0.6875,-0.421875 -0.75,0 -1.203125,0.921875 -1.203125,1.140625 0,0.046875 0.03125,0.109375 0.109375,0.109375 0.09375,0 0.109375,-0.046875 0.140625,-0.109375 0.1875,-0.46875 0.765625,-0.46875 0.84375,-0.46875 0.203125,0 0.390625,0.0625 0.625,0.140625 0.40625,0.15625 0.515625,0.15625 0.765625,0.15625 -0.359375,0.421875 -1.1875,1.140625 -1.375,1.296875 l -0.90625,0.84375 C 0.78125,-0.625 0.421875,-0.0625 0.421875,0.015625 c 0,0.09375 0.109375,0.09375 0.125,0.09375 0.078125,0 0.09375,-0.015625 0.15625,-0.125 0.234375,-0.359375 0.53125,-0.625 0.859375,-0.625 0.21875,0 0.328125,0.09375 0.578125,0.375 0.15625,0.21875 0.34375,0.375 0.625,0.375 1,0 1.578125,-1.265625 1.578125,-1.53125 0,-0.046875 -0.046875,-0.109375 -0.125,-0.109375 -0.09375,0 -0.109375,0.0625 -0.140625,0.140625 C 3.84375,-0.75 3.203125,-0.5625 2.875,-0.5625 c -0.1875,0 -0.375,-0.0625 -0.578125,-0.125 -0.34375,-0.125 -0.5,-0.171875 -0.703125,-0.171875 -0.015625,0 -0.171875,0 -0.265625,0.03125 z m 0,0" + transform="translate(148.712,134.765)" + id="path2273" /> + </g> + </g> + </g> + <g + id="g1457-3" + ns1:jacobian_sqrt="0.352778" + inkscapeversion="0.92.2" + ns1:alignment="middle center" + ns1:scale="1.0" + ns1:preamble="/usr/share/inkscape/extensions" + ns1:text="$y$" + ns1:pdfconverter="pdf2svg" + ns1:texconverter="pdflatex" + ns1:version="0.8.1" + transform="matrix(1.553873,0,0,1.553873,-218.01351,-173.095)"> + <g + id="g1455-5"> + <g + id="g1453-6" + style="fill:#000000;fill-opacity:1"> + <path + id="path1451-2" + transform="translate(148.712,134.765)" + d="m 4.84375,-3.796875 c 0.046875,-0.140625 0.046875,-0.15625 0.046875,-0.234375 0,-0.171875 -0.140625,-0.265625 -0.296875,-0.265625 -0.09375,0 -0.25,0.0625 -0.34375,0.203125 -0.015625,0.0625 -0.109375,0.359375 -0.140625,0.546875 -0.078125,0.25 -0.140625,0.53125 -0.203125,0.796875 l -0.453125,1.796875 c -0.03125,0.140625 -0.46875,0.84375 -1.125,0.84375 -0.5,0 -0.609375,-0.4375 -0.609375,-0.8125 C 1.71875,-1.375 1.890625,-2 2.21875,-2.875 2.375,-3.28125 2.421875,-3.390625 2.421875,-3.59375 c 0,-0.4375 -0.3125,-0.8125 -0.8125,-0.8125 -0.953125,0 -1.3125,1.453125 -1.3125,1.53125 0,0.109375 0.09375,0.109375 0.109375,0.109375 0.109375,0 0.109375,-0.03125 0.15625,-0.1875 0.28125,-0.9375 0.671875,-1.234375 1.015625,-1.234375 0.078125,0 0.25,0 0.25,0.3125 0,0.25 -0.109375,0.515625 -0.171875,0.703125 -0.40625,1.0625 -0.578125,1.625 -0.578125,2.09375 0,0.890625 0.625,1.1875 1.21875,1.1875 0.390625,0 0.71875,-0.171875 1,-0.453125 -0.125,0.515625 -0.25,1.015625 -0.640625,1.546875 -0.265625,0.328125 -0.640625,0.625 -1.09375,0.625 -0.140625,0 -0.59375,-0.03125 -0.765625,-0.421875 0.15625,0 0.296875,0 0.421875,-0.125 C 1.328125,1.203125 1.421875,1.0625 1.421875,0.875 1.421875,0.5625 1.15625,0.53125 1.0625,0.53125 0.828125,0.53125 0.5,0.6875 0.5,1.171875 c 0,0.5 0.4375,0.875 1.0625,0.875 1.015625,0 2.046875,-0.90625 2.328125,-2.03125 z m 0,0" + style="stroke:none;stroke-width:0" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <g + transform="matrix(1.553873,0,0,1.553873,-75.556162,-171.58969)" + ns1:version="0.8.1" + ns1:texconverter="pdflatex" + ns1:pdfconverter="pdf2svg" + ns1:text="$z$" + ns1:preamble="/usr/share/inkscape/extensions" + ns1:scale="4.40467659548" + ns1:alignment="middle center" + inkscapeversion="0.92.2" + ns1:jacobian_sqrt="1.553873" + id="g2279-9"> + <g + id="g2277-1"> + <g + style="fill:#000000;fill-opacity:1" + id="g2275-2"> + <path + inkscape:connector-curvature="0" + style="stroke:none;stroke-width:0" + d="m 1.328125,-0.828125 c 0.53125,-0.578125 0.828125,-0.828125 1.1875,-1.140625 0,0 0.609375,-0.53125 0.96875,-0.890625 C 4.4375,-3.78125 4.65625,-4.265625 4.65625,-4.3125 c 0,-0.09375 -0.09375,-0.09375 -0.109375,-0.09375 -0.078125,0 -0.09375,0.015625 -0.15625,0.109375 -0.296875,0.484375 -0.5,0.640625 -0.734375,0.640625 -0.25,0 -0.359375,-0.15625 -0.515625,-0.328125 -0.1875,-0.21875 -0.359375,-0.421875 -0.6875,-0.421875 -0.75,0 -1.203125,0.921875 -1.203125,1.140625 0,0.046875 0.03125,0.109375 0.109375,0.109375 0.09375,0 0.109375,-0.046875 0.140625,-0.109375 0.1875,-0.46875 0.765625,-0.46875 0.84375,-0.46875 0.203125,0 0.390625,0.0625 0.625,0.140625 0.40625,0.15625 0.515625,0.15625 0.765625,0.15625 -0.359375,0.421875 -1.1875,1.140625 -1.375,1.296875 l -0.90625,0.84375 C 0.78125,-0.625 0.421875,-0.0625 0.421875,0.015625 c 0,0.09375 0.109375,0.09375 0.125,0.09375 0.078125,0 0.09375,-0.015625 0.15625,-0.125 0.234375,-0.359375 0.53125,-0.625 0.859375,-0.625 0.21875,0 0.328125,0.09375 0.578125,0.375 0.15625,0.21875 0.34375,0.375 0.625,0.375 1,0 1.578125,-1.265625 1.578125,-1.53125 0,-0.046875 -0.046875,-0.109375 -0.125,-0.109375 -0.09375,0 -0.109375,0.0625 -0.140625,0.140625 C 3.84375,-0.75 3.203125,-0.5625 2.875,-0.5625 c -0.1875,0 -0.375,-0.0625 -0.578125,-0.125 -0.34375,-0.125 -0.5,-0.171875 -0.703125,-0.171875 -0.015625,0 -0.171875,0 -0.265625,0.03125 z m 0,0" + transform="translate(148.712,134.765)" + id="path2273-7" /> + </g> + </g> + </g> + <path + sodipodi:nodetypes="cc" + inkscape:connector-curvature="0" + id="path2058-3" + d="m 20.558178,48.142107 c 48.71985,-20.244986 100.826712,-19.927404 140.049242,0" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker2339-0)" /> + <g + id="g8246"> + <path + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker2339)" + d="m -266.80369,48.142107 c 48.71982,-20.244986 100.8267,-19.927405 140.04924,0" + id="path2058" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + <g + transform="matrix(1.553872,0,0,1.553872,-444.51293,-181.82827)" + ns1:version="0.8.1" + ns1:texconverter="pdflatex" + ns1:pdfconverter="pdf2svg" + ns1:text="copie" + ns1:preamble="/usr/share/inkscape/extensions" + ns1:scale="4.40467659548" + ns1:alignment="middle center" + inkscapeversion="0.92.2" + ns1:jacobian_sqrt="1.553872" + id="g3439"> + <g + id="g3437"> + <g + style="fill:#000000;fill-opacity:1" + id="g3435"> + <path + inkscape:connector-curvature="0" + style="stroke:none;stroke-width:0" + d="m 1.171875,-2.171875 c 0,-1.625 0.8125,-2.046875 1.34375,-2.046875 0.09375,0 0.71875,0.015625 1.0625,0.375 -0.40625,0.03125 -0.46875,0.328125 -0.46875,0.453125 0,0.265625 0.1875,0.453125 0.453125,0.453125 0.265625,0 0.46875,-0.15625 0.46875,-0.46875 0,-0.671875 -0.765625,-1.0625 -1.53125,-1.0625 -1.25,0 -2.15625,1.078125 -2.15625,2.3125 0,1.28125 0.984375,2.265625 2.140625,2.265625 1.328125,0 1.65625,-1.203125 1.65625,-1.296875 0,-0.09375 -0.109375,-0.09375 -0.140625,-0.09375 -0.078125,0 -0.109375,0.03125 -0.125,0.09375 -0.28125,0.921875 -0.9375,1.046875 -1.296875,1.046875 -0.53125,0 -1.40625,-0.421875 -1.40625,-2.03125 z m 0,0" + transform="translate(148.712,134.765)" + id="path3425" /> + <path + inkscape:connector-curvature="0" + style="stroke:none;stroke-width:0" + d="M 4.6875,-2.140625 C 4.6875,-3.40625 3.703125,-4.46875 2.5,-4.46875 c -1.25,0 -2.21875,1.09375 -2.21875,2.328125 0,1.296875 1.03125,2.25 2.203125,2.25 1.203125,0 2.203125,-0.984375 2.203125,-2.25 z m -2.1875,2 c -0.4375,0 -0.875,-0.203125 -1.140625,-0.671875 -0.25,-0.4375 -0.25,-1.046875 -0.25,-1.40625 0,-0.390625 0,-0.921875 0.234375,-1.359375 C 1.609375,-4.03125 2.078125,-4.25 2.484375,-4.25 c 0.4375,0 0.859375,0.21875 1.125,0.65625 0.265625,0.421875 0.265625,1 0.265625,1.375 0,0.359375 0,0.90625 -0.21875,1.34375 C 3.421875,-0.421875 2.984375,-0.140625 2.5,-0.140625 Z m 0,0" + transform="translate(153.13938,134.765)" + id="path3427" /> + <path + inkscape:connector-curvature="0" + style="stroke:none;stroke-width:0" + d="m 1.71875,-3.75 v -0.65625 l -1.4375,0.109375 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5 v 4.65625 C 1.0625,1.625 0.953125,1.625 0.28125,1.625 V 1.9375 C 0.625,1.921875 1.140625,1.90625 1.390625,1.90625 c 0.28125,0 0.78125,0.015625 1.125,0.03125 V 1.625 C 1.859375,1.625 1.75,1.625 1.75,1.171875 V -0.59375 c 0.046875,0.171875 0.46875,0.703125 1.21875,0.703125 1.1875,0 2.21875,-0.984375 2.21875,-2.265625 0,-1.265625 -0.953125,-2.25 -2.078125,-2.25 -0.78125,0 -1.203125,0.4375 -1.390625,0.65625 z M 1.75,-1.140625 v -2.21875 C 2.03125,-3.875 2.515625,-4.15625 3.03125,-4.15625 c 0.734375,0 1.328125,0.875 1.328125,2 0,1.203125 -0.6875,2.046875 -1.421875,2.046875 -0.40625,0 -0.78125,-0.203125 -1.046875,-0.609375 C 1.75,-0.921875 1.75,-0.9375 1.75,-1.140625 Z m 0,0" + transform="translate(158.12068,134.765)" + id="path3429" /> + <path + inkscape:connector-curvature="0" + style="stroke:none;stroke-width:0" + d="M 1.765625,-4.40625 0.375,-4.296875 v 0.3125 c 0.640625,0 0.734375,0.0625 0.734375,0.546875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 C 0.640625,-0.015625 1.1875,-0.03125 1.421875,-0.03125 1.78125,-0.03125 2.125,-0.015625 2.46875,0 v -0.3125 c -0.671875,0 -0.703125,-0.046875 -0.703125,-0.4375 z m 0.03125,-1.734375 c 0,-0.3125 -0.234375,-0.53125 -0.515625,-0.53125 -0.3125,0 -0.53125,0.265625 -0.53125,0.53125 0,0.265625 0.21875,0.53125 0.53125,0.53125 0.28125,0 0.515625,-0.21875 0.515625,-0.53125 z m 0,0" + transform="translate(163.6559,134.765)" + id="path3431" /> + <path + inkscape:connector-curvature="0" + style="stroke:none;stroke-width:0" + d="M 1.109375,-2.515625 C 1.171875,-4 2.015625,-4.25 2.359375,-4.25 c 1.015625,0 1.125,1.34375 1.125,1.734375 z m 0,0.21875 h 2.78125 c 0.21875,0 0.25,0 0.25,-0.21875 0,-0.984375 -0.546875,-1.953125 -1.78125,-1.953125 -1.15625,0 -2.078125,1.03125 -2.078125,2.28125 0,1.328125 1.046875,2.296875 2.1875,2.296875 C 3.6875,0.109375 4.140625,-1 4.140625,-1.1875 4.140625,-1.28125 4.0625,-1.3125 4,-1.3125 c -0.078125,0 -0.109375,0.0625 -0.125,0.140625 -0.34375,1.03125 -1.25,1.03125 -1.34375,1.03125 -0.5,0 -0.890625,-0.296875 -1.125,-0.671875 -0.296875,-0.46875 -0.296875,-1.125 -0.296875,-1.484375 z m 0,0" + transform="translate(166.42351,134.765)" + id="path3433" /> + </g> + </g> + </g> + </g> + <g + id="g3439-6" + ns1:jacobian_sqrt="1.553872" + inkscapeversion="0.92.2" + ns1:alignment="middle center" + ns1:scale="4.40467659548" + ns1:preamble="/usr/share/inkscape/extensions" + ns1:text="copie" + ns1:pdfconverter="pdf2svg" + ns1:texconverter="pdflatex" + ns1:version="0.8.1" + transform="matrix(1.553872,0,0,1.553872,-157.15104,-181.82827)"> + <g + id="g3437-0"> + <g + id="g3435-6" + style="fill:#000000;fill-opacity:1"> + <path + id="path3425-2" + transform="translate(148.712,134.765)" + d="m 1.171875,-2.171875 c 0,-1.625 0.8125,-2.046875 1.34375,-2.046875 0.09375,0 0.71875,0.015625 1.0625,0.375 -0.40625,0.03125 -0.46875,0.328125 -0.46875,0.453125 0,0.265625 0.1875,0.453125 0.453125,0.453125 0.265625,0 0.46875,-0.15625 0.46875,-0.46875 0,-0.671875 -0.765625,-1.0625 -1.53125,-1.0625 -1.25,0 -2.15625,1.078125 -2.15625,2.3125 0,1.28125 0.984375,2.265625 2.140625,2.265625 1.328125,0 1.65625,-1.203125 1.65625,-1.296875 0,-0.09375 -0.109375,-0.09375 -0.140625,-0.09375 -0.078125,0 -0.109375,0.03125 -0.125,0.09375 -0.28125,0.921875 -0.9375,1.046875 -1.296875,1.046875 -0.53125,0 -1.40625,-0.421875 -1.40625,-2.03125 z m 0,0" + style="stroke:none;stroke-width:0" + inkscape:connector-curvature="0" /> + <path + id="path3427-6" + transform="translate(153.13938,134.765)" + d="M 4.6875,-2.140625 C 4.6875,-3.40625 3.703125,-4.46875 2.5,-4.46875 c -1.25,0 -2.21875,1.09375 -2.21875,2.328125 0,1.296875 1.03125,2.25 2.203125,2.25 1.203125,0 2.203125,-0.984375 2.203125,-2.25 z m -2.1875,2 c -0.4375,0 -0.875,-0.203125 -1.140625,-0.671875 -0.25,-0.4375 -0.25,-1.046875 -0.25,-1.40625 0,-0.390625 0,-0.921875 0.234375,-1.359375 C 1.609375,-4.03125 2.078125,-4.25 2.484375,-4.25 c 0.4375,0 0.859375,0.21875 1.125,0.65625 0.265625,0.421875 0.265625,1 0.265625,1.375 0,0.359375 0,0.90625 -0.21875,1.34375 C 3.421875,-0.421875 2.984375,-0.140625 2.5,-0.140625 Z m 0,0" + style="stroke:none;stroke-width:0" + inkscape:connector-curvature="0" /> + <path + id="path3429-1" + transform="translate(158.12068,134.765)" + d="m 1.71875,-3.75 v -0.65625 l -1.4375,0.109375 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5 v 4.65625 C 1.0625,1.625 0.953125,1.625 0.28125,1.625 V 1.9375 C 0.625,1.921875 1.140625,1.90625 1.390625,1.90625 c 0.28125,0 0.78125,0.015625 1.125,0.03125 V 1.625 C 1.859375,1.625 1.75,1.625 1.75,1.171875 V -0.59375 c 0.046875,0.171875 0.46875,0.703125 1.21875,0.703125 1.1875,0 2.21875,-0.984375 2.21875,-2.265625 0,-1.265625 -0.953125,-2.25 -2.078125,-2.25 -0.78125,0 -1.203125,0.4375 -1.390625,0.65625 z M 1.75,-1.140625 v -2.21875 C 2.03125,-3.875 2.515625,-4.15625 3.03125,-4.15625 c 0.734375,0 1.328125,0.875 1.328125,2 0,1.203125 -0.6875,2.046875 -1.421875,2.046875 -0.40625,0 -0.78125,-0.203125 -1.046875,-0.609375 C 1.75,-0.921875 1.75,-0.9375 1.75,-1.140625 Z m 0,0" + style="stroke:none;stroke-width:0" + inkscape:connector-curvature="0" /> + <path + id="path3431-8" + transform="translate(163.6559,134.765)" + d="M 1.765625,-4.40625 0.375,-4.296875 v 0.3125 c 0.640625,0 0.734375,0.0625 0.734375,0.546875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 C 0.640625,-0.015625 1.1875,-0.03125 1.421875,-0.03125 1.78125,-0.03125 2.125,-0.015625 2.46875,0 v -0.3125 c -0.671875,0 -0.703125,-0.046875 -0.703125,-0.4375 z m 0.03125,-1.734375 c 0,-0.3125 -0.234375,-0.53125 -0.515625,-0.53125 -0.3125,0 -0.53125,0.265625 -0.53125,0.53125 0,0.265625 0.21875,0.53125 0.53125,0.53125 0.28125,0 0.515625,-0.21875 0.515625,-0.53125 z m 0,0" + style="stroke:none;stroke-width:0" + inkscape:connector-curvature="0" /> + <path + id="path3433-7" + transform="translate(166.42351,134.765)" + d="M 1.109375,-2.515625 C 1.171875,-4 2.015625,-4.25 2.359375,-4.25 c 1.015625,0 1.125,1.34375 1.125,1.734375 z m 0,0.21875 h 2.78125 c 0.21875,0 0.25,0 0.25,-0.21875 0,-0.984375 -0.546875,-1.953125 -1.78125,-1.953125 -1.15625,0 -2.078125,1.03125 -2.078125,2.28125 0,1.328125 1.046875,2.296875 2.1875,2.296875 C 3.6875,0.109375 4.140625,-1 4.140625,-1.1875 4.140625,-1.28125 4.0625,-1.3125 4,-1.3125 c -0.078125,0 -0.109375,0.0625 -0.125,0.140625 -0.34375,1.03125 -1.25,1.03125 -1.34375,1.03125 -0.5,0 -0.890625,-0.296875 -1.125,-0.671875 -0.296875,-0.46875 -0.296875,-1.125 -0.296875,-1.484375 z m 0,0" + style="stroke:none;stroke-width:0" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <g + transform="matrix(1.553872,0,0,1.553872,-271.65375,-102.32633)" + ns1:version="0.8.1" + ns1:texconverter="pdflatex" + ns1:pdfconverter="pdf2svg" + ns1:text="invalid\xc3\xa9" + ns1:preamble="/usr/share/inkscape/extensions" + ns1:scale="4.40467659548" + ns1:alignment="middle center" + inkscapeversion="0.92.2" + ns1:jacobian_sqrt="1.553872" + id="g4227"> + <g + id="g4225"> + <g + style="fill:#000000;fill-opacity:1" + id="g4201"> + <path + inkscape:connector-curvature="0" + style="stroke:none;stroke-width:0" + d="M 1.765625,-4.40625 0.375,-4.296875 v 0.3125 c 0.640625,0 0.734375,0.0625 0.734375,0.546875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 C 0.640625,-0.015625 1.1875,-0.03125 1.421875,-0.03125 1.78125,-0.03125 2.125,-0.015625 2.46875,0 v -0.3125 c -0.671875,0 -0.703125,-0.046875 -0.703125,-0.4375 z m 0.03125,-1.734375 c 0,-0.3125 -0.234375,-0.53125 -0.515625,-0.53125 -0.3125,0 -0.53125,0.265625 -0.53125,0.53125 0,0.265625 0.21875,0.53125 0.53125,0.53125 0.28125,0 0.515625,-0.21875 0.515625,-0.53125 z m 0,0" + transform="translate(148.712,134.765)" + id="path4197" /> + <path + inkscape:connector-curvature="0" + style="stroke:none;stroke-width:0" + d="M 1.09375,-3.421875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.359375,-0.015625 0.859375,-0.03125 1.140625,-0.03125 0.25,0 0.765625,0.015625 1.109375,0.03125 v -0.3125 c -0.671875,0 -0.78125,0 -0.78125,-0.4375 V -2.59375 C 1.78125,-3.625 2.5,-4.1875 3.125,-4.1875 c 0.640625,0 0.75,0.53125 0.75,1.109375 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.34375,-0.015625 0.859375,-0.03125 1.125,-0.03125 0.25,0 0.78125,0.015625 1.109375,0.03125 v -0.3125 c -0.515625,0 -0.765625,0 -0.765625,-0.296875 v -1.90625 c 0,-0.859375 0,-1.15625 -0.3125,-1.515625 -0.140625,-0.171875 -0.46875,-0.375 -1.046875,-0.375 C 2.46875,-4.40625 2,-3.984375 1.71875,-3.359375 V -4.40625 L 0.3125,-4.296875 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 z m 0,0" + transform="translate(151.47961,134.765)" + id="path4199" /> + </g> + <g + style="fill:#000000;fill-opacity:1" + id="g4205"> + <path + inkscape:connector-curvature="0" + style="stroke:none;stroke-width:0" + d="M 4.140625,-3.3125 C 4.234375,-3.546875 4.40625,-3.984375 5.0625,-3.984375 v -0.3125 c -0.234375,0.015625 -0.515625,0.03125 -0.75,0.03125 -0.234375,0 -0.6875,-0.015625 -0.859375,-0.03125 v 0.3125 c 0.359375,0 0.46875,0.234375 0.46875,0.421875 0,0.09375 -0.015625,0.140625 -0.046875,0.25 L 2.84375,-0.78125 1.734375,-3.5625 c -0.0625,-0.125 -0.0625,-0.140625 -0.0625,-0.171875 0,-0.25 0.390625,-0.25 0.578125,-0.25 v -0.3125 c -0.3125,0.015625 -0.859375,0.03125 -1.09375,0.03125 -0.265625,0 -0.671875,-0.015625 -0.96875,-0.03125 v 0.3125 c 0.625,0 0.671875,0.0625 0.796875,0.359375 l 1.4375,3.546875 C 2.484375,0.0625 2.5,0.109375 2.625,0.109375 c 0.140625,0 0.171875,-0.09375 0.21875,-0.1875 z m 0,0" + transform="translate(156.73588,134.765)" + id="path4203" /> + </g> + <g + style="fill:#000000;fill-opacity:1" + id="g4215"> + <path + inkscape:connector-curvature="0" + style="stroke:none;stroke-width:0" + d="m 3.3125,-0.75 c 0.046875,0.390625 0.3125,0.8125 0.78125,0.8125 0.21875,0 0.828125,-0.140625 0.828125,-0.953125 v -0.5625 h -0.25 v 0.5625 c 0,0.578125 -0.25,0.640625 -0.359375,0.640625 -0.328125,0 -0.375,-0.453125 -0.375,-0.5 v -1.984375 c 0,-0.421875 0,-0.8125 -0.359375,-1.1875 C 3.1875,-4.3125 2.6875,-4.46875 2.21875,-4.46875 c -0.828125,0 -1.515625,0.46875 -1.515625,1.125 0,0.296875 0.203125,0.46875 0.46875,0.46875 0.28125,0 0.453125,-0.203125 0.453125,-0.453125 0,-0.125 -0.046875,-0.453125 -0.515625,-0.453125 C 1.390625,-4.140625 1.875,-4.25 2.1875,-4.25 c 0.5,0 1.0625,0.390625 1.0625,1.28125 v 0.359375 c -0.515625,0.03125 -1.203125,0.0625 -1.828125,0.359375 -0.75,0.34375 -1,0.859375 -1,1.296875 0,0.8125 0.96875,1.0625 1.59375,1.0625 0.65625,0 1.109375,-0.40625 1.296875,-0.859375 z M 3.25,-2.390625 v 1 c 0,0.9375 -0.71875,1.28125 -1.171875,1.28125 -0.484375,0 -0.890625,-0.34375 -0.890625,-0.84375 0,-0.546875 0.421875,-1.375 2.0625,-1.4375 z m 0,0" + transform="translate(161.44619,134.765)" + id="path4207" /> + <path + inkscape:connector-curvature="0" + style="stroke:none;stroke-width:0" + d="M 1.765625,-6.921875 0.328125,-6.8125 V -6.5 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 C 0.65625,-0.015625 1.1875,-0.03125 1.4375,-0.03125 c 0.25,0 0.734375,0.015625 1.109375,0.03125 v -0.3125 c -0.671875,0 -0.78125,0 -0.78125,-0.4375 z m 0,0" + transform="translate(166.42749,134.765)" + id="path4209" /> + <path + inkscape:connector-curvature="0" + style="stroke:none;stroke-width:0" + d="M 1.765625,-4.40625 0.375,-4.296875 v 0.3125 c 0.640625,0 0.734375,0.0625 0.734375,0.546875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 C 0.640625,-0.015625 1.1875,-0.03125 1.421875,-0.03125 1.78125,-0.03125 2.125,-0.015625 2.46875,0 v -0.3125 c -0.671875,0 -0.703125,-0.046875 -0.703125,-0.4375 z m 0.03125,-1.734375 c 0,-0.3125 -0.234375,-0.53125 -0.515625,-0.53125 -0.3125,0 -0.53125,0.265625 -0.53125,0.53125 0,0.265625 0.21875,0.53125 0.53125,0.53125 0.28125,0 0.515625,-0.21875 0.515625,-0.53125 z m 0,0" + transform="translate(169.19511,134.765)" + id="path4211" /> + <path + inkscape:connector-curvature="0" + style="stroke:none;stroke-width:0" + d="m 3.78125,-0.546875 v 0.65625 L 5.25,0 v -0.3125 c -0.6875,0 -0.78125,-0.0625 -0.78125,-0.5625 V -6.921875 L 3.046875,-6.8125 V -6.5 c 0.6875,0 0.765625,0.0625 0.765625,0.5625 v 2.15625 c -0.28125,-0.359375 -0.71875,-0.625 -1.25,-0.625 -1.171875,0 -2.21875,0.984375 -2.21875,2.265625 0,1.265625 0.96875,2.25 2.109375,2.25 0.640625,0 1.078125,-0.34375 1.328125,-0.65625 z m 0,-2.671875 v 2.046875 c 0,0.171875 0,0.1875 -0.109375,0.359375 C 3.375,-0.328125 2.9375,-0.109375 2.5,-0.109375 2.046875,-0.109375 1.6875,-0.375 1.453125,-0.75 1.203125,-1.15625 1.171875,-1.71875 1.171875,-2.140625 1.171875,-2.5 1.1875,-3.09375 1.46875,-3.546875 1.6875,-3.859375 2.0625,-4.1875 2.609375,-4.1875 c 0.34375,0 0.765625,0.15625 1.0625,0.59375 0.109375,0.171875 0.109375,0.1875 0.109375,0.375 z m 0,0" + transform="translate(171.96272,134.765)" + id="path4213" /> + </g> + <g + style="fill:#000000;fill-opacity:1" + id="g4219"> + <path + inkscape:connector-curvature="0" + style="stroke:none;stroke-width:0" + d="M 3.734375,-6.296875 C 3.828125,-6.375 3.90625,-6.484375 3.90625,-6.59375 c 0,-0.1875 -0.171875,-0.359375 -0.359375,-0.359375 -0.140625,0 -0.25,0.109375 -0.296875,0.171875 l -1.203125,1.515625 0.171875,0.1875 z m 0,0" + transform="translate(177.21898,134.765)" + id="path4217" /> + </g> + <g + style="fill:#000000;fill-opacity:1" + id="g4223"> + <path + inkscape:connector-curvature="0" + style="stroke:none;stroke-width:0" + d="M 1.109375,-2.515625 C 1.171875,-4 2.015625,-4.25 2.359375,-4.25 c 1.015625,0 1.125,1.34375 1.125,1.734375 z m 0,0.21875 h 2.78125 c 0.21875,0 0.25,0 0.25,-0.21875 0,-0.984375 -0.546875,-1.953125 -1.78125,-1.953125 -1.15625,0 -2.078125,1.03125 -2.078125,2.28125 0,1.328125 1.046875,2.296875 2.1875,2.296875 C 3.6875,0.109375 4.140625,-1 4.140625,-1.1875 4.140625,-1.28125 4.0625,-1.3125 4,-1.3125 c -0.078125,0 -0.109375,0.0625 -0.125,0.140625 -0.34375,1.03125 -1.25,1.03125 -1.34375,1.03125 -0.5,0 -0.890625,-0.296875 -1.125,-0.671875 -0.296875,-0.46875 -0.296875,-1.125 -0.296875,-1.484375 z m 0,0" + transform="translate(177.49794,134.765)" + id="path4221" /> + </g> + </g> + </g> + <g + transform="translate(120.79633,0.11381531)" + id="g6402-9"> + <rect + style="opacity:1;fill:#f9f9f9;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" + id="rect4520-3-20" + width="86.792793" + height="25.324409" + x="-293.28391" + y="152.07068" /> + <path + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="M -271.60541,152.07068 V 177.0171" + id="path4537-2" + inkscape:connector-curvature="0" /> + <path + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="M -249.91903,152.02343 V 177.0171" + id="path4539-3" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + <path + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="M -228.23263,152.16517 V 177.1116" + id="path4541-75" + inkscape:connector-curvature="0" /> + <path + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="M -293.29179,152.07068 V 177.0171" + id="path4537-6-92" + inkscape:connector-curvature="0" /> + <path + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m -206.54625,152.16517 v 24.94642" + id="path4537-6-7-2" + inkscape:connector-curvature="0" /> + <g + transform="translate(-434.08231,33.288199)" + ns1:textextver="0.8" + ns1:converter="pdf2svg" + ns1:text="$1$" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:scale="1.0" + id="g4597-8"> + <g + id="surface1-9"> + <g + style="fill:#000000;fill-opacity:1" + id="g4594-7"> + <path + style="stroke:none" + d="m 2.9375,-6.375 c 0,-0.25 0,-0.265625 -0.234375,-0.265625 C 2.078125,-6 1.203125,-6 0.890625,-6 v 0.3125 c 0.203125,0 0.78125,0 1.296875,-0.265625 v 5.171875 c 0,0.359375 -0.03125,0.46875 -0.921875,0.46875 h -0.3125 V 0 c 0.34375,-0.03125 1.203125,-0.03125 1.609375,-0.03125 0.390625,0 1.265625,0 1.609375,0.03125 v -0.3125 h -0.3125 c -0.90625,0 -0.921875,-0.109375 -0.921875,-0.46875 z m 0,0" + transform="translate(148.712,134.765)" + id="path4592-3" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <g + style="fill:#000000" + id="g4661-7-6" + ns1:scale="1.0" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:text="$2$" + ns1:converter="pdf2svg" + ns1:textextver="0.8" + transform="translate(-412.68589,33.288199)"> + <g + style="fill:#000000" + id="g4659-0-1"> + <g + id="g4657-9-2" + style="fill:#000000;fill-opacity:1"> + <path + inkscape:connector-curvature="0" + id="path4655-3-9" + transform="translate(148.712,134.765)" + d="m 1.265625,-0.765625 1.0625,-1.03125 c 1.546875,-1.375 2.140625,-1.90625 2.140625,-2.90625 0,-1.140625 -0.890625,-1.9375 -2.109375,-1.9375 -1.125,0 -1.859375,0.921875 -1.859375,1.8125 0,0.546875 0.5,0.546875 0.53125,0.546875 0.171875,0 0.515625,-0.109375 0.515625,-0.53125 0,-0.25 -0.1875,-0.515625 -0.53125,-0.515625 -0.078125,0 -0.09375,0 -0.125,0.015625 0.21875,-0.65625 0.765625,-1.015625 1.34375,-1.015625 0.90625,0 1.328125,0.8125 1.328125,1.625 C 3.5625,-3.90625 3.078125,-3.125 2.515625,-2.5 l -1.90625,2.125 C 0.5,-0.265625 0.5,-0.234375 0.5,0 H 4.203125 L 4.46875,-1.734375 H 4.234375 C 4.171875,-1.4375 4.109375,-1 4,-0.84375 3.9375,-0.765625 3.28125,-0.765625 3.0625,-0.765625 Z m 0,0" + style="stroke:none" /> + </g> + </g> + </g> + <g + transform="translate(-391.34414,33.178829)" + ns1:textextver="0.8" + ns1:converter="pdf2svg" + ns1:text="$3$" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:scale="1.0" + style="fill:#000000" + id="g4749-3"> + <g + id="g4747-1" + style="fill:#000000"> + <g + style="fill:#000000;fill-opacity:1" + id="g4745-9"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 2.890625,-3.515625 c 0.8125,-0.265625 1.390625,-0.953125 1.390625,-1.75 0,-0.8125 -0.875,-1.375 -1.828125,-1.375 -1,0 -1.765625,0.59375 -1.765625,1.359375 0,0.328125 0.21875,0.515625 0.515625,0.515625 0.296875,0 0.5,-0.21875 0.5,-0.515625 0,-0.484375 -0.46875,-0.484375 -0.609375,-0.484375 0.296875,-0.5 0.953125,-0.625 1.3125,-0.625 0.421875,0 0.96875,0.21875 0.96875,1.109375 0,0.125 -0.03125,0.703125 -0.28125,1.140625 C 2.796875,-3.65625 2.453125,-3.625 2.203125,-3.625 2.125,-3.609375 1.890625,-3.59375 1.8125,-3.59375 c -0.078125,0.015625 -0.140625,0.03125 -0.140625,0.125 0,0.109375 0.0625,0.109375 0.234375,0.109375 h 0.4375 c 0.8125,0 1.1875,0.671875 1.1875,1.65625 0,1.359375 -0.6875,1.640625 -1.125,1.640625 -0.4375,0 -1.1875,-0.171875 -1.53125,-0.75 0.34375,0.046875 0.65625,-0.171875 0.65625,-0.546875 0,-0.359375 -0.265625,-0.5625 -0.546875,-0.5625 -0.25,0 -0.5625,0.140625 -0.5625,0.578125 0,0.90625 0.921875,1.5625 2.015625,1.5625 1.21875,0 2.125,-0.90625 2.125,-1.921875 0,-0.8125 -0.640625,-1.59375 -1.671875,-1.8125 z m 0,0" + transform="translate(148.712,134.765)" + id="path4743-4" /> + </g> + </g> + </g> + <g + id="g4809-7" + ns1:scale="1.0" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:text="$4$" + ns1:converter="pdf2svg" + ns1:textextver="0.8" + transform="translate(-369.98678,33.342889)" + style="fill:#000000"> + <g + id="g4807-8" + style="fill:#000000"> + <g + id="g4805-4" + style="fill:#000000;fill-opacity:1"> + <path + id="path4803-5" + transform="translate(148.712,134.765)" + d="m 2.9375,-1.640625 v 0.859375 c 0,0.359375 -0.03125,0.46875 -0.765625,0.46875 H 1.96875 V 0 C 2.375,-0.03125 2.890625,-0.03125 3.3125,-0.03125 c 0.421875,0 0.9375,0 1.359375,0.03125 v -0.3125 h -0.21875 c -0.734375,0 -0.75,-0.109375 -0.75,-0.46875 V -1.640625 H 4.6875 v -0.3125 H 3.703125 v -4.53125 c 0,-0.203125 0,-0.265625 -0.171875,-0.265625 -0.078125,0 -0.109375,0 -0.1875,0.125 l -3.0625,4.671875 v 0.3125 z m 0.046875,-0.3125 H 0.5625 l 2.421875,-3.71875 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + </g> + <path + sodipodi:nodetypes="cc" + inkscape:connector-curvature="0" + id="path2058-9" + d="m -266.79933,185.85113 c 48.71982,20.24498 100.82669,19.9274 140.04923,0" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker2339-03)" /> + <g + id="g3439-3" + ns1:jacobian_sqrt="1.553872" + inkscapeversion="0.92.2" + ns1:alignment="middle center" + ns1:scale="4.40467659548" + ns1:preamble="/usr/share/inkscape/extensions" + ns1:text="copie" + ns1:pdfconverter="pdf2svg" + ns1:texconverter="pdflatex" + ns1:version="0.8.1" + transform="matrix(1.553872,0,0,1.553872,-444.50858,-16.479791)"> + <g + id="g3437-7"> + <g + id="g3435-4" + style="fill:#000000;fill-opacity:1"> + <path + id="path3425-5" + transform="translate(148.712,134.765)" + d="m 1.171875,-2.171875 c 0,-1.625 0.8125,-2.046875 1.34375,-2.046875 0.09375,0 0.71875,0.015625 1.0625,0.375 -0.40625,0.03125 -0.46875,0.328125 -0.46875,0.453125 0,0.265625 0.1875,0.453125 0.453125,0.453125 0.265625,0 0.46875,-0.15625 0.46875,-0.46875 0,-0.671875 -0.765625,-1.0625 -1.53125,-1.0625 -1.25,0 -2.15625,1.078125 -2.15625,2.3125 0,1.28125 0.984375,2.265625 2.140625,2.265625 1.328125,0 1.65625,-1.203125 1.65625,-1.296875 0,-0.09375 -0.109375,-0.09375 -0.140625,-0.09375 -0.078125,0 -0.109375,0.03125 -0.125,0.09375 -0.28125,0.921875 -0.9375,1.046875 -1.296875,1.046875 -0.53125,0 -1.40625,-0.421875 -1.40625,-2.03125 z m 0,0" + style="stroke:none;stroke-width:0" + inkscape:connector-curvature="0" /> + <path + id="path3427-2" + transform="translate(153.13938,134.765)" + d="M 4.6875,-2.140625 C 4.6875,-3.40625 3.703125,-4.46875 2.5,-4.46875 c -1.25,0 -2.21875,1.09375 -2.21875,2.328125 0,1.296875 1.03125,2.25 2.203125,2.25 1.203125,0 2.203125,-0.984375 2.203125,-2.25 z m -2.1875,2 c -0.4375,0 -0.875,-0.203125 -1.140625,-0.671875 -0.25,-0.4375 -0.25,-1.046875 -0.25,-1.40625 0,-0.390625 0,-0.921875 0.234375,-1.359375 C 1.609375,-4.03125 2.078125,-4.25 2.484375,-4.25 c 0.4375,0 0.859375,0.21875 1.125,0.65625 0.265625,0.421875 0.265625,1 0.265625,1.375 0,0.359375 0,0.90625 -0.21875,1.34375 C 3.421875,-0.421875 2.984375,-0.140625 2.5,-0.140625 Z m 0,0" + style="stroke:none;stroke-width:0" + inkscape:connector-curvature="0" /> + <path + id="path3429-5" + transform="translate(158.12068,134.765)" + d="m 1.71875,-3.75 v -0.65625 l -1.4375,0.109375 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5 v 4.65625 C 1.0625,1.625 0.953125,1.625 0.28125,1.625 V 1.9375 C 0.625,1.921875 1.140625,1.90625 1.390625,1.90625 c 0.28125,0 0.78125,0.015625 1.125,0.03125 V 1.625 C 1.859375,1.625 1.75,1.625 1.75,1.171875 V -0.59375 c 0.046875,0.171875 0.46875,0.703125 1.21875,0.703125 1.1875,0 2.21875,-0.984375 2.21875,-2.265625 0,-1.265625 -0.953125,-2.25 -2.078125,-2.25 -0.78125,0 -1.203125,0.4375 -1.390625,0.65625 z M 1.75,-1.140625 v -2.21875 C 2.03125,-3.875 2.515625,-4.15625 3.03125,-4.15625 c 0.734375,0 1.328125,0.875 1.328125,2 0,1.203125 -0.6875,2.046875 -1.421875,2.046875 -0.40625,0 -0.78125,-0.203125 -1.046875,-0.609375 C 1.75,-0.921875 1.75,-0.9375 1.75,-1.140625 Z m 0,0" + style="stroke:none;stroke-width:0" + inkscape:connector-curvature="0" /> + <path + id="path3431-4" + transform="translate(163.6559,134.765)" + d="M 1.765625,-4.40625 0.375,-4.296875 v 0.3125 c 0.640625,0 0.734375,0.0625 0.734375,0.546875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 C 0.640625,-0.015625 1.1875,-0.03125 1.421875,-0.03125 1.78125,-0.03125 2.125,-0.015625 2.46875,0 v -0.3125 c -0.671875,0 -0.703125,-0.046875 -0.703125,-0.4375 z m 0.03125,-1.734375 c 0,-0.3125 -0.234375,-0.53125 -0.515625,-0.53125 -0.3125,0 -0.53125,0.265625 -0.53125,0.53125 0,0.265625 0.21875,0.53125 0.53125,0.53125 0.28125,0 0.515625,-0.21875 0.515625,-0.53125 z m 0,0" + style="stroke:none;stroke-width:0" + inkscape:connector-curvature="0" /> + <path + id="path3433-74" + transform="translate(166.42351,134.765)" + d="M 1.109375,-2.515625 C 1.171875,-4 2.015625,-4.25 2.359375,-4.25 c 1.015625,0 1.125,1.34375 1.125,1.734375 z m 0,0.21875 h 2.78125 c 0.21875,0 0.25,0 0.25,-0.21875 0,-0.984375 -0.546875,-1.953125 -1.78125,-1.953125 -1.15625,0 -2.078125,1.03125 -2.078125,2.28125 0,1.328125 1.046875,2.296875 2.1875,2.296875 C 3.6875,0.109375 4.140625,-1 4.140625,-1.1875 4.140625,-1.28125 4.0625,-1.3125 4,-1.3125 c -0.078125,0 -0.109375,0.0625 -0.125,0.140625 -0.34375,1.03125 -1.25,1.03125 -1.34375,1.03125 -0.5,0 -0.890625,-0.296875 -1.125,-0.671875 -0.296875,-0.46875 -0.296875,-1.125 -0.296875,-1.484375 z m 0,0" + style="stroke:none;stroke-width:0" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <g + id="g8839" + ns1:jacobian_sqrt="1.553872" + inkscapeversion="0.92.2" + ns1:alignment="middle center" + ns1:scale="4.40467659548" + ns1:preamble="/usr/share/inkscape/extensions" + ns1:text="Copy" + ns1:pdfconverter="pdf2svg" + ns1:texconverter="pdflatex" + ns1:version="0.8.1" + transform="matrix(2.2030981,0,0,2.2030981,-574.45893,-296.31345)"> + <g + id="g8837"> + <g + id="g8831" + style="fill:#000000;fill-opacity:1"> + <path + id="path8825" + transform="translate(148.712,134.765)" + d="m 0.5625,-3.40625 c 0,2.0625 1.609375,3.625 3.46875,3.625 1.625,0 2.59375,-1.390625 2.59375,-2.546875 C 6.625,-2.421875 6.625,-2.5 6.5,-2.5 6.390625,-2.5 6.390625,-2.4375 6.375,-2.328125 6.296875,-0.90625 5.234375,-0.09375 4.140625,-0.09375 c -0.609375,0 -2.5625,-0.328125 -2.5625,-3.3125 0,-2.96875 1.953125,-3.3125 2.5625,-3.3125 1.078125,0 1.96875,0.90625 2.171875,2.359375 C 6.328125,-4.21875 6.328125,-4.1875 6.46875,-4.1875 6.625,-4.1875 6.625,-4.21875 6.625,-4.421875 V -6.78125 c 0,-0.171875 0,-0.25 -0.109375,-0.25 -0.03125,0 -0.078125,0 -0.15625,0.125 l -0.5,0.734375 C 5.5,-6.53125 4.984375,-7.03125 4.03125,-7.03125 c -1.875,0 -3.46875,1.59375 -3.46875,3.625 z m 0,0" + style="stroke:none;stroke-width:0" + inkscape:connector-curvature="0" /> + <path + id="path8827" + transform="translate(155.90699,134.765)" + d="M 4.6875,-2.140625 C 4.6875,-3.40625 3.703125,-4.46875 2.5,-4.46875 c -1.25,0 -2.21875,1.09375 -2.21875,2.328125 0,1.296875 1.03125,2.25 2.203125,2.25 1.203125,0 2.203125,-0.984375 2.203125,-2.25 z m -2.1875,2 c -0.4375,0 -0.875,-0.203125 -1.140625,-0.671875 -0.25,-0.4375 -0.25,-1.046875 -0.25,-1.40625 0,-0.390625 0,-0.921875 0.234375,-1.359375 C 1.609375,-4.03125 2.078125,-4.25 2.484375,-4.25 c 0.4375,0 0.859375,0.21875 1.125,0.65625 0.265625,0.421875 0.265625,1 0.265625,1.375 0,0.359375 0,0.90625 -0.21875,1.34375 C 3.421875,-0.421875 2.984375,-0.140625 2.5,-0.140625 Z m 0,0" + style="stroke:none;stroke-width:0" + inkscape:connector-curvature="0" /> + <path + id="path8829" + transform="translate(160.88829,134.765)" + d="m 1.71875,-3.75 v -0.65625 l -1.4375,0.109375 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5 v 4.65625 C 1.0625,1.625 0.953125,1.625 0.28125,1.625 V 1.9375 C 0.625,1.921875 1.140625,1.90625 1.390625,1.90625 c 0.28125,0 0.78125,0.015625 1.125,0.03125 V 1.625 C 1.859375,1.625 1.75,1.625 1.75,1.171875 V -0.59375 c 0.046875,0.171875 0.46875,0.703125 1.21875,0.703125 1.1875,0 2.21875,-0.984375 2.21875,-2.265625 0,-1.265625 -0.953125,-2.25 -2.078125,-2.25 -0.78125,0 -1.203125,0.4375 -1.390625,0.65625 z M 1.75,-1.140625 v -2.21875 C 2.03125,-3.875 2.515625,-4.15625 3.03125,-4.15625 c 0.734375,0 1.328125,0.875 1.328125,2 0,1.203125 -0.6875,2.046875 -1.421875,2.046875 -0.40625,0 -0.78125,-0.203125 -1.046875,-0.609375 C 1.75,-0.921875 1.75,-0.9375 1.75,-1.140625 Z m 0,0" + style="stroke:none;stroke-width:0" + inkscape:connector-curvature="0" /> + </g> + <g + id="g8835" + style="fill:#000000;fill-opacity:1"> + <path + id="path8833" + transform="translate(166.14456,134.765)" + d="m 4.140625,-3.34375 c 0.25,-0.640625 0.765625,-0.640625 0.921875,-0.640625 v -0.3125 c -0.234375,0.015625 -0.515625,0.03125 -0.75,0.03125 -0.171875,0 -0.640625,-0.015625 -0.859375,-0.03125 v 0.3125 c 0.3125,0 0.46875,0.171875 0.46875,0.421875 0,0.109375 -0.015625,0.125 -0.0625,0.25 L 2.84375,-0.875 1.75,-3.546875 C 1.703125,-3.65625 1.6875,-3.6875 1.6875,-3.734375 c 0,-0.25 0.359375,-0.25 0.5625,-0.25 v -0.3125 c -0.265625,0.015625 -0.921875,0.03125 -1.09375,0.03125 -0.265625,0 -0.671875,-0.015625 -0.96875,-0.03125 v 0.3125 c 0.484375,0 0.671875,0 0.8125,0.34375 L 2.5,0 C 2.4375,0.125 2.296875,0.453125 2.25,0.59375 2.03125,1.140625 1.75,1.828125 1.109375,1.828125 c -0.046875,0 -0.28125,0 -0.46875,-0.1875 0.3125,-0.03125 0.390625,-0.25 0.390625,-0.421875 0,-0.25 -0.1875,-0.40625 -0.421875,-0.40625 -0.203125,0 -0.421875,0.125 -0.421875,0.421875 0,0.453125 0.421875,0.8125 0.921875,0.8125 0.625,0 1.03125,-0.578125 1.265625,-1.140625 z m 0,0" + style="stroke:none;stroke-width:0" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <g + id="g10600" + ns1:jacobian_sqrt="2.203098" + inkscapeversion="0.92.2" + ns1:alignment="middle center" + ns1:scale="6.24500257332" + ns1:preamble="/usr/share/inkscape/extensions" + ns1:text="Move" + ns1:pdfconverter="pdf2svg" + ns1:texconverter="pdflatex" + ns1:version="0.8.1" + transform="matrix(2.203098,0,0,2.203098,-275.81807,-296.79537)"> + <g + id="g10598"> + <g + id="g10588" + style="fill:#000000;fill-opacity:1"> + <path + id="path10584" + transform="translate(148.712,134.765)" + d="M 2.40625,-6.59375 C 2.3125,-6.8125 2.28125,-6.8125 2.046875,-6.8125 H 0.375 V -6.5 h 0.234375 c 0.765625,0 0.78125,0.109375 0.78125,0.46875 v 4.984375 c 0,0.265625 0,0.734375 -1.015625,0.734375 V 0 c 0.34375,-0.015625 0.828125,-0.03125 1.15625,-0.03125 0.328125,0 0.828125,0.015625 1.171875,0.03125 v -0.3125 c -1.03125,0 -1.03125,-0.46875 -1.03125,-0.734375 v -5.375 H 1.6875 L 4.09375,-0.21875 C 4.140625,-0.09375 4.1875,0 4.28125,0 4.390625,0 4.421875,-0.078125 4.46875,-0.1875 L 6.921875,-6.5 v 5.71875 c 0,0.359375 -0.015625,0.46875 -0.78125,0.46875 H 5.90625 V 0 c 0.359375,-0.03125 1.046875,-0.03125 1.4375,-0.03125 0.375,0 1.046875,0 1.421875,0.03125 v -0.3125 h -0.25 c -0.765625,0 -0.78125,-0.109375 -0.78125,-0.46875 v -5.25 C 7.734375,-6.390625 7.75,-6.5 8.515625,-6.5 h 0.25 v -0.3125 h -1.6875 C 6.8125,-6.8125 6.8125,-6.796875 6.75,-6.625 L 4.5625,-1 Z m 0,0" + style="stroke:none;stroke-width:0" + inkscape:connector-curvature="0" /> + <path + id="path10586" + transform="translate(157.84471,134.765)" + d="M 4.6875,-2.140625 C 4.6875,-3.40625 3.703125,-4.46875 2.5,-4.46875 c -1.25,0 -2.21875,1.09375 -2.21875,2.328125 0,1.296875 1.03125,2.25 2.203125,2.25 1.203125,0 2.203125,-0.984375 2.203125,-2.25 z m -2.1875,2 c -0.4375,0 -0.875,-0.203125 -1.140625,-0.671875 -0.25,-0.4375 -0.25,-1.046875 -0.25,-1.40625 0,-0.390625 0,-0.921875 0.234375,-1.359375 C 1.609375,-4.03125 2.078125,-4.25 2.484375,-4.25 c 0.4375,0 0.859375,0.21875 1.125,0.65625 0.265625,0.421875 0.265625,1 0.265625,1.375 0,0.359375 0,0.90625 -0.21875,1.34375 C 3.421875,-0.421875 2.984375,-0.140625 2.5,-0.140625 Z m 0,0" + style="stroke:none;stroke-width:0" + inkscape:connector-curvature="0" /> + </g> + <g + id="g10592" + style="fill:#000000;fill-opacity:1"> + <path + id="path10590" + transform="translate(162.54706,134.765)" + d="M 4.140625,-3.3125 C 4.234375,-3.546875 4.40625,-3.984375 5.0625,-3.984375 v -0.3125 c -0.234375,0.015625 -0.515625,0.03125 -0.75,0.03125 -0.234375,0 -0.6875,-0.015625 -0.859375,-0.03125 v 0.3125 c 0.359375,0 0.46875,0.234375 0.46875,0.421875 0,0.09375 -0.015625,0.140625 -0.046875,0.25 L 2.84375,-0.78125 1.734375,-3.5625 c -0.0625,-0.125 -0.0625,-0.140625 -0.0625,-0.171875 0,-0.25 0.390625,-0.25 0.578125,-0.25 v -0.3125 c -0.3125,0.015625 -0.859375,0.03125 -1.09375,0.03125 -0.265625,0 -0.671875,-0.015625 -0.96875,-0.03125 v 0.3125 c 0.625,0 0.671875,0.0625 0.796875,0.359375 l 1.4375,3.546875 C 2.484375,0.0625 2.5,0.109375 2.625,0.109375 c 0.140625,0 0.171875,-0.09375 0.21875,-0.1875 z m 0,0" + style="stroke:none;stroke-width:0" + inkscape:connector-curvature="0" /> + </g> + <g + id="g10596" + style="fill:#000000;fill-opacity:1"> + <path + id="path10594" + transform="translate(167.52637,134.765)" + d="M 1.109375,-2.515625 C 1.171875,-4 2.015625,-4.25 2.359375,-4.25 c 1.015625,0 1.125,1.34375 1.125,1.734375 z m 0,0.21875 h 2.78125 c 0.21875,0 0.25,0 0.25,-0.21875 0,-0.984375 -0.546875,-1.953125 -1.78125,-1.953125 -1.15625,0 -2.078125,1.03125 -2.078125,2.28125 0,1.328125 1.046875,2.296875 2.1875,2.296875 C 3.6875,0.109375 4.140625,-1 4.140625,-1.1875 4.140625,-1.28125 4.0625,-1.3125 4,-1.3125 c -0.078125,0 -0.109375,0.0625 -0.125,0.140625 -0.34375,1.03125 -1.25,1.03125 -1.34375,1.03125 -0.5,0 -0.890625,-0.296875 -1.125,-0.671875 -0.296875,-0.46875 -0.296875,-1.125 -0.296875,-1.484375 z m 0,0" + style="stroke:none;stroke-width:0" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + </g> +</svg> diff --git a/slides/src/figs/mem_mv.svg b/slides/src/figs/mem_mv.svg new file mode 100644 index 0000000000000000000000000000000000000000..c52cb9cef17d082b8a7b1fd091987c552c3aec4a --- /dev/null +++ b/slides/src/figs/mem_mv.svg @@ -0,0 +1,2193 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:ns1="http://www.iki.fi/pav/software/textext/" + 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" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="570.30597mm" + height="160.43304mm" + viewBox="0 0 570.30597 160.43304" + version="1.1" + id="svg5252" + inkscape:version="0.92.2 2405546, 2018-03-11" + sodipodi:docname="mem_mv.svg"> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="0.7" + inkscape:cx="1003.094" + inkscape:cy="332.04281" + inkscape:document-units="mm" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="1920" + inkscape:window-height="1016" + inkscape:window-x="0" + inkscape:window-y="30" + inkscape:window-maximized="1" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" /> + <defs + id="defs5246"> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="marker2339" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path2101" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="DotM" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="DotM"> + <path + inkscape:connector-curvature="0" + transform="matrix(0.4,0,0,0.4,2.96,0.4)" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z" + id="path5125" /> + </marker> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="Arrow2Mend" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Mend"> + <path + inkscape:connector-curvature="0" + transform="scale(-0.6)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + id="path5088" /> + </marker> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="DotM-0" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="DotM"> + <path + inkscape:connector-curvature="0" + transform="matrix(0.4,0,0,0.4,2.96,0.4)" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z" + id="path5125-2" /> + </marker> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="Arrow2Mend-3" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Mend"> + <path + inkscape:connector-curvature="0" + transform="scale(-0.6)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + id="path5088-7" /> + </marker> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="DotM-3" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="DotM"> + <path + inkscape:connector-curvature="0" + transform="matrix(0.4,0,0,0.4,2.96,0.4)" + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:1.00000003pt;stroke-opacity:1" + d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z" + id="path5125-6" /> + </marker> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="Arrow2Mend-7" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Mend"> + <path + inkscape:connector-curvature="0" + transform="scale(-0.6)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + id="path5088-5" /> + </marker> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="DotM-0-3" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="DotM"> + <path + inkscape:connector-curvature="0" + transform="matrix(0.4,0,0,0.4,2.96,0.4)" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z" + id="path5125-2-5" /> + </marker> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="Arrow2Mend-3-6" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Mend"> + <path + inkscape:connector-curvature="0" + transform="scale(-0.6)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + id="path5088-7-2" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="marker2339-0" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path2101-9" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" /> + </marker> + </defs> + <metadata + id="metadata5249"> + <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 + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(63.36184,-38.62357)"> + <g + id="g6414" + transform="translate(202.18681)"> + <rect + y="173.48221" + x="-183.7357" + height="25.324406" + width="151.94643" + id="rect4520" + style="opacity:1;fill:#999999;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" /> + <rect + y="173.48221" + x="-151.15886" + height="25.324409" + width="86.792793" + id="rect4520-3" + style="opacity:1;fill:#f9f9f9;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" /> + <path + inkscape:connector-curvature="0" + id="path4537" + d="m -129.48036,173.4822 v 24.94642" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + sodipodi:nodetypes="cc" + inkscape:connector-curvature="0" + id="path4539" + d="m -107.79398,173.43495 v 24.99367" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + inkscape:connector-curvature="0" + id="path4541" + d="m -86.107585,173.57669 v 24.94643" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + inkscape:connector-curvature="0" + id="path4537-6" + d="m -151.16674,173.4822 v 24.94642" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + inkscape:connector-curvature="0" + id="path4537-6-7" + d="m -64.421205,173.57669 v 24.94642" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <g + id="g4597" + ns1:scale="1.0" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:text="$1$" + ns1:converter="pdf2svg" + ns1:textextver="0.8" + transform="translate(-291.95726,54.699722)"> + <g + id="surface1"> + <g + id="g4594" + style="fill:#000000;fill-opacity:1"> + <path + inkscape:connector-curvature="0" + id="path4592" + transform="translate(148.712,134.765)" + d="m 2.9375,-6.375 c 0,-0.25 0,-0.265625 -0.234375,-0.265625 C 2.078125,-6 1.203125,-6 0.890625,-6 v 0.3125 c 0.203125,0 0.78125,0 1.296875,-0.265625 v 5.171875 c 0,0.359375 -0.03125,0.46875 -0.921875,0.46875 h -0.3125 V 0 c 0.34375,-0.03125 1.203125,-0.03125 1.609375,-0.03125 0.390625,0 1.265625,0 1.609375,0.03125 v -0.3125 h -0.3125 c -0.90625,0 -0.921875,-0.109375 -0.921875,-0.46875 z m 0,0" + style="stroke:none" /> + </g> + </g> + </g> + <g + transform="translate(-270.56084,54.699722)" + ns1:textextver="0.8" + ns1:converter="pdf2svg" + ns1:text="$2$" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:scale="1.0" + id="g4661-7" + style="fill:#000000"> + <g + id="g4659-0" + style="fill:#000000"> + <g + style="fill:#000000;fill-opacity:1" + id="g4657-9"> + <path + style="stroke:none" + d="m 1.265625,-0.765625 1.0625,-1.03125 c 1.546875,-1.375 2.140625,-1.90625 2.140625,-2.90625 0,-1.140625 -0.890625,-1.9375 -2.109375,-1.9375 -1.125,0 -1.859375,0.921875 -1.859375,1.8125 0,0.546875 0.5,0.546875 0.53125,0.546875 0.171875,0 0.515625,-0.109375 0.515625,-0.53125 0,-0.25 -0.1875,-0.515625 -0.53125,-0.515625 -0.078125,0 -0.09375,0 -0.125,0.015625 0.21875,-0.65625 0.765625,-1.015625 1.34375,-1.015625 0.90625,0 1.328125,0.8125 1.328125,1.625 C 3.5625,-3.90625 3.078125,-3.125 2.515625,-2.5 l -1.90625,2.125 C 0.5,-0.265625 0.5,-0.234375 0.5,0 H 4.203125 L 4.46875,-1.734375 H 4.234375 C 4.171875,-1.4375 4.109375,-1 4,-0.84375 3.9375,-0.765625 3.28125,-0.765625 3.0625,-0.765625 Z m 0,0" + transform="translate(148.712,134.765)" + id="path4655-3" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <g + id="g4749" + style="fill:#000000" + ns1:scale="1.0" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:text="$3$" + ns1:converter="pdf2svg" + ns1:textextver="0.8" + transform="translate(-249.21909,54.590352)"> + <g + style="fill:#000000" + id="g4747"> + <g + id="g4745" + style="fill:#000000;fill-opacity:1"> + <path + id="path4743" + transform="translate(148.712,134.765)" + d="m 2.890625,-3.515625 c 0.8125,-0.265625 1.390625,-0.953125 1.390625,-1.75 0,-0.8125 -0.875,-1.375 -1.828125,-1.375 -1,0 -1.765625,0.59375 -1.765625,1.359375 0,0.328125 0.21875,0.515625 0.515625,0.515625 0.296875,0 0.5,-0.21875 0.5,-0.515625 0,-0.484375 -0.46875,-0.484375 -0.609375,-0.484375 0.296875,-0.5 0.953125,-0.625 1.3125,-0.625 0.421875,0 0.96875,0.21875 0.96875,1.109375 0,0.125 -0.03125,0.703125 -0.28125,1.140625 C 2.796875,-3.65625 2.453125,-3.625 2.203125,-3.625 2.125,-3.609375 1.890625,-3.59375 1.8125,-3.59375 c -0.078125,0.015625 -0.140625,0.03125 -0.140625,0.125 0,0.109375 0.0625,0.109375 0.234375,0.109375 h 0.4375 c 0.8125,0 1.1875,0.671875 1.1875,1.65625 0,1.359375 -0.6875,1.640625 -1.125,1.640625 -0.4375,0 -1.1875,-0.171875 -1.53125,-0.75 0.34375,0.046875 0.65625,-0.171875 0.65625,-0.546875 0,-0.359375 -0.265625,-0.5625 -0.546875,-0.5625 -0.25,0 -0.5625,0.140625 -0.5625,0.578125 0,0.90625 0.921875,1.5625 2.015625,1.5625 1.21875,0 2.125,-0.90625 2.125,-1.921875 0,-0.8125 -0.640625,-1.59375 -1.671875,-1.8125 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <g + style="fill:#000000" + transform="translate(-227.86173,54.754412)" + ns1:textextver="0.8" + ns1:converter="pdf2svg" + ns1:text="$4$" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:scale="1.0" + id="g4809"> + <g + style="fill:#000000" + id="g4807"> + <g + style="fill:#000000;fill-opacity:1" + id="g4805"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 2.9375,-1.640625 v 0.859375 c 0,0.359375 -0.03125,0.46875 -0.765625,0.46875 H 1.96875 V 0 C 2.375,-0.03125 2.890625,-0.03125 3.3125,-0.03125 c 0.421875,0 0.9375,0 1.359375,0.03125 v -0.3125 h -0.21875 c -0.734375,0 -0.75,-0.109375 -0.75,-0.46875 V -1.640625 H 4.6875 v -0.3125 H 3.703125 v -4.53125 c 0,-0.203125 0,-0.265625 -0.171875,-0.265625 -0.078125,0 -0.109375,0 -0.1875,0.125 l -3.0625,4.671875 v 0.3125 z m 0.046875,-0.3125 H 0.5625 l 2.421875,-3.71875 z m 0,0" + transform="translate(148.712,134.765)" + id="path4803" /> + </g> + </g> + </g> + <g + id="g4904" + ns1:scale="1.0" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:text="tas" + ns1:converter="pdf2svg" + ns1:textextver="0.8" + transform="translate(-347.20943,34.558842)"> + <g + id="g4902"> + <g + id="g4900" + style="fill:#000000;fill-opacity:1"> + <path + id="path4894" + transform="translate(148.712,134.765)" + d="m 1.71875,-3.984375 h 1.4375 v -0.3125 H 1.71875 V -6.125 h -0.25 c 0,0.8125 -0.296875,1.875 -1.28125,1.921875 v 0.21875 h 0.84375 v 2.75 c 0,1.21875 0.9375,1.34375 1.296875,1.34375 0.703125,0 0.984375,-0.703125 0.984375,-1.34375 v -0.5625 h -0.25 V -1.25 c 0,0.734375 -0.296875,1.109375 -0.671875,1.109375 -0.671875,0 -0.671875,-0.90625 -0.671875,-1.078125 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path4896" + transform="translate(152.58645,134.765)" + d="m 3.3125,-0.75 c 0.046875,0.390625 0.3125,0.8125 0.78125,0.8125 0.21875,0 0.828125,-0.140625 0.828125,-0.953125 v -0.5625 h -0.25 v 0.5625 c 0,0.578125 -0.25,0.640625 -0.359375,0.640625 -0.328125,0 -0.375,-0.453125 -0.375,-0.5 v -1.984375 c 0,-0.421875 0,-0.8125 -0.359375,-1.1875 C 3.1875,-4.3125 2.6875,-4.46875 2.21875,-4.46875 c -0.828125,0 -1.515625,0.46875 -1.515625,1.125 0,0.296875 0.203125,0.46875 0.46875,0.46875 0.28125,0 0.453125,-0.203125 0.453125,-0.453125 0,-0.125 -0.046875,-0.453125 -0.515625,-0.453125 C 1.390625,-4.140625 1.875,-4.25 2.1875,-4.25 c 0.5,0 1.0625,0.390625 1.0625,1.28125 v 0.359375 c -0.515625,0.03125 -1.203125,0.0625 -1.828125,0.359375 -0.75,0.34375 -1,0.859375 -1,1.296875 0,0.8125 0.96875,1.0625 1.59375,1.0625 0.65625,0 1.109375,-0.40625 1.296875,-0.859375 z M 3.25,-2.390625 v 1 c 0,0.9375 -0.71875,1.28125 -1.171875,1.28125 -0.484375,0 -0.890625,-0.34375 -0.890625,-0.84375 0,-0.546875 0.421875,-1.375 2.0625,-1.4375 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path4898" + transform="translate(157.56775,134.765)" + d="m 2.078125,-1.9375 c 0.21875,0.046875 1.03125,0.203125 1.03125,0.921875 0,0.5 -0.34375,0.90625 -1.125,0.90625 -0.84375,0 -1.203125,-0.5625 -1.390625,-1.421875 C 0.5625,-1.65625 0.5625,-1.6875 0.453125,-1.6875 c -0.125,0 -0.125,0.0625 -0.125,0.234375 V -0.125 c 0,0.171875 0,0.234375 0.109375,0.234375 0.046875,0 0.0625,-0.015625 0.25,-0.203125 0.015625,-0.015625 0.015625,-0.03125 0.203125,-0.21875 0.4375,0.40625 0.890625,0.421875 1.09375,0.421875 1.140625,0 1.609375,-0.671875 1.609375,-1.390625 0,-0.515625 -0.296875,-0.828125 -0.421875,-0.9375 C 2.84375,-2.546875 2.453125,-2.625 2.03125,-2.703125 1.46875,-2.8125 0.8125,-2.9375 0.8125,-3.515625 c 0,-0.359375 0.25,-0.765625 1.109375,-0.765625 1.09375,0 1.15625,0.90625 1.171875,1.203125 0,0.09375 0.09375,0.09375 0.109375,0.09375 0.140625,0 0.140625,-0.046875 0.140625,-0.234375 v -1.015625 c 0,-0.15625 0,-0.234375 -0.109375,-0.234375 -0.046875,0 -0.078125,0 -0.203125,0.125 -0.03125,0.03125 -0.125,0.125 -0.171875,0.15625 -0.375,-0.28125 -0.78125,-0.28125 -0.9375,-0.28125 -1.21875,0 -1.59375,0.671875 -1.59375,1.234375 0,0.34375 0.15625,0.625 0.421875,0.84375 0.328125,0.25 0.609375,0.3125 1.328125,0.453125 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + </g> + <rect + style="opacity:1;fill:#999999;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" + id="rect4520-0" + width="268.55209" + height="25.324409" + x="-47.01384" + y="75.775368" /> + <rect + style="opacity:1;fill:#f9f9f9;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" + id="rect4520-3-2" + width="64.870178" + height="25.324411" + x="-14.437027" + y="75.775368" /> + <path + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="M 7.24148,75.775362 V 100.72178" + id="path4537-61" + inkscape:connector-curvature="0" /> + <path + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="M 28.73382,75.728112 V 100.72178" + id="path4539-8" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + <path + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="M 50.61426,75.869852 V 100.81628" + id="path4541-7" + inkscape:connector-curvature="0" /> + <path + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="M -14.4449,75.775362 V 100.72178" + id="path4537-6-9" + inkscape:connector-curvature="0" /> + <path + sodipodi:nodetypes="cc" + inkscape:connector-curvature="0" + id="path5059" + d="M -4.11354,88.437552 51.788469,171.97881" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#DotM);marker-end:url(#Arrow2Mend)" /> + <g + id="g6058" + ns1:scale="1.0" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:text="pile" + ns1:converter="pdf2svg" + ns1:textextver="0.8" + transform="translate(-212.35509,-62.494978)"> + <g + id="g6056"> + <g + id="g6054" + style="fill:#000000;fill-opacity:1"> + <path + id="path6046" + transform="translate(148.712,134.765)" + d="m 1.71875,-3.75 v -0.65625 l -1.4375,0.109375 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5 v 4.65625 C 1.0625,1.625 0.953125,1.625 0.28125,1.625 V 1.9375 C 0.625,1.921875 1.140625,1.90625 1.390625,1.90625 c 0.28125,0 0.78125,0.015625 1.125,0.03125 V 1.625 C 1.859375,1.625 1.75,1.625 1.75,1.171875 V -0.59375 c 0.046875,0.171875 0.46875,0.703125 1.21875,0.703125 1.1875,0 2.21875,-0.984375 2.21875,-2.265625 0,-1.265625 -0.953125,-2.25 -2.078125,-2.25 -0.78125,0 -1.203125,0.4375 -1.390625,0.65625 z M 1.75,-1.140625 v -2.21875 C 2.03125,-3.875 2.515625,-4.15625 3.03125,-4.15625 c 0.734375,0 1.328125,0.875 1.328125,2 0,1.203125 -0.6875,2.046875 -1.421875,2.046875 -0.40625,0 -0.78125,-0.203125 -1.046875,-0.609375 C 1.75,-0.921875 1.75,-0.9375 1.75,-1.140625 Z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6048" + transform="translate(154.24722,134.765)" + d="M 1.765625,-4.40625 0.375,-4.296875 v 0.3125 c 0.640625,0 0.734375,0.0625 0.734375,0.546875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 C 0.640625,-0.015625 1.1875,-0.03125 1.421875,-0.03125 1.78125,-0.03125 2.125,-0.015625 2.46875,0 v -0.3125 c -0.671875,0 -0.703125,-0.046875 -0.703125,-0.4375 z m 0.03125,-1.734375 c 0,-0.3125 -0.234375,-0.53125 -0.515625,-0.53125 -0.3125,0 -0.53125,0.265625 -0.53125,0.53125 0,0.265625 0.21875,0.53125 0.53125,0.53125 0.28125,0 0.515625,-0.21875 0.515625,-0.53125 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6050" + transform="translate(157.01483,134.765)" + d="M 1.765625,-6.921875 0.328125,-6.8125 V -6.5 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 C 0.65625,-0.015625 1.1875,-0.03125 1.4375,-0.03125 c 0.25,0 0.734375,0.015625 1.109375,0.03125 v -0.3125 c -0.671875,0 -0.78125,0 -0.78125,-0.4375 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6052" + transform="translate(159.78244,134.765)" + d="M 1.109375,-2.515625 C 1.171875,-4 2.015625,-4.25 2.359375,-4.25 c 1.015625,0 1.125,1.34375 1.125,1.734375 z m 0,0.21875 h 2.78125 c 0.21875,0 0.25,0 0.25,-0.21875 0,-0.984375 -0.546875,-1.953125 -1.78125,-1.953125 -1.15625,0 -2.078125,1.03125 -2.078125,2.28125 0,1.328125 1.046875,2.296875 2.1875,2.296875 C 3.6875,0.109375 4.140625,-1 4.140625,-1.1875 4.140625,-1.28125 4.0625,-1.3125 4,-1.3125 c -0.078125,0 -0.109375,0.0625 -0.125,0.140625 -0.34375,1.03125 -1.25,1.03125 -1.34375,1.03125 -0.5,0 -0.890625,-0.296875 -1.125,-0.671875 -0.296875,-0.46875 -0.296875,-1.125 -0.296875,-1.484375 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <g + transform="matrix(0.52294065,0,0,0.52294065,-69.64161,35.720652)" + ns1:textextver="0.8" + ns1:converter="pdf2svg" + ns1:text="longueur" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:scale="1.0" + id="g6194"> + <g + id="g6192"> + <g + style="fill:#000000;fill-opacity:1" + id="g6190"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.765625,-6.921875 0.328125,-6.8125 V -6.5 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 C 0.65625,-0.015625 1.1875,-0.03125 1.4375,-0.03125 c 0.25,0 0.734375,0.015625 1.109375,0.03125 v -0.3125 c -0.671875,0 -0.78125,0 -0.78125,-0.4375 z m 0,0" + transform="translate(148.712,134.765)" + id="path6174" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 4.6875,-2.140625 C 4.6875,-3.40625 3.703125,-4.46875 2.5,-4.46875 c -1.25,0 -2.21875,1.09375 -2.21875,2.328125 0,1.296875 1.03125,2.25 2.203125,2.25 1.203125,0 2.203125,-0.984375 2.203125,-2.25 z m -2.1875,2 c -0.4375,0 -0.875,-0.203125 -1.140625,-0.671875 -0.25,-0.4375 -0.25,-1.046875 -0.25,-1.40625 0,-0.390625 0,-0.921875 0.234375,-1.359375 C 1.609375,-4.03125 2.078125,-4.25 2.484375,-4.25 c 0.4375,0 0.859375,0.21875 1.125,0.65625 0.265625,0.421875 0.265625,1 0.265625,1.375 0,0.359375 0,0.90625 -0.21875,1.34375 C 3.421875,-0.421875 2.984375,-0.140625 2.5,-0.140625 Z m 0,0" + transform="translate(151.47961,134.765)" + id="path6176" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.09375,-3.421875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.359375,-0.015625 0.859375,-0.03125 1.140625,-0.03125 0.25,0 0.765625,0.015625 1.109375,0.03125 v -0.3125 c -0.671875,0 -0.78125,0 -0.78125,-0.4375 V -2.59375 C 1.78125,-3.625 2.5,-4.1875 3.125,-4.1875 c 0.640625,0 0.75,0.53125 0.75,1.109375 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.34375,-0.015625 0.859375,-0.03125 1.125,-0.03125 0.25,0 0.78125,0.015625 1.109375,0.03125 v -0.3125 c -0.515625,0 -0.765625,0 -0.765625,-0.296875 v -1.90625 c 0,-0.859375 0,-1.15625 -0.3125,-1.515625 -0.140625,-0.171875 -0.46875,-0.375 -1.046875,-0.375 C 2.46875,-4.40625 2,-3.984375 1.71875,-3.359375 V -4.40625 L 0.3125,-4.296875 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 z m 0,0" + transform="translate(156.46091,134.765)" + id="path6178" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 2.21875,-1.71875 c -0.875,0 -0.875,-1 -0.875,-1.21875 0,-0.265625 0.015625,-0.59375 0.15625,-0.84375 0.078125,-0.109375 0.3125,-0.390625 0.71875,-0.390625 0.859375,0 0.859375,0.984375 0.859375,1.21875 0,0.265625 0,0.59375 -0.15625,0.84375 C 2.84375,-2 2.609375,-1.71875 2.21875,-1.71875 Z M 1.0625,-1.328125 c 0,-0.03125 0,-0.265625 0.15625,-0.46875 0.390625,0.28125 0.8125,0.3125 1,0.3125 0.921875,0 1.609375,-0.6875 1.609375,-1.453125 0,-0.375 -0.15625,-0.734375 -0.40625,-0.96875 C 3.78125,-4.25 4.140625,-4.296875 4.3125,-4.296875 c 0.03125,0 0.078125,0 0.109375,0.015625 C 4.3125,-4.25 4.25,-4.140625 4.25,-4.015625 c 0,0.171875 0.140625,0.28125 0.296875,0.28125 0.09375,0 0.28125,-0.0625 0.28125,-0.296875 0,-0.171875 -0.109375,-0.484375 -0.5,-0.484375 -0.203125,0 -0.640625,0.0625 -1.0625,0.46875 C 2.84375,-4.375 2.4375,-4.40625 2.21875,-4.40625 c -0.9375,0 -1.625,0.6875 -1.625,1.453125 0,0.4375 0.21875,0.8125 0.46875,1.03125 -0.125,0.140625 -0.3125,0.46875 -0.3125,0.828125 0,0.3125 0.140625,0.6875 0.453125,0.890625 -0.609375,0.15625 -0.921875,0.59375 -0.921875,0.984375 0,0.71875 0.984375,1.265625 2.203125,1.265625 1.171875,0 2.203125,-0.5 2.203125,-1.28125 0,-0.34375 -0.125,-0.859375 -0.640625,-1.140625 -0.53125,-0.265625 -1.109375,-0.265625 -1.71875,-0.265625 -0.25,0 -0.671875,0 -0.75,-0.015625 C 1.265625,-0.703125 1.0625,-1 1.0625,-1.328125 Z M 2.5,1.828125 c -1.015625,0 -1.703125,-0.515625 -1.703125,-1.046875 0,-0.453125 0.375,-0.828125 0.8125,-0.84375 h 0.59375 c 0.859375,0 1.96875,0 1.96875,0.84375 0,0.546875 -0.703125,1.046875 -1.671875,1.046875 z m 0,0" + transform="translate(161.99613,134.765)" + id="path6180" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 3.890625,-0.78125 V 0.109375 L 5.328125,0 V -0.3125 C 4.640625,-0.3125 4.5625,-0.375 4.5625,-0.875 v -3.53125 l -1.46875,0.109375 v 0.3125 c 0.6875,0 0.78125,0.0625 0.78125,0.5625 v 1.765625 c 0,0.875 -0.484375,1.546875 -1.21875,1.546875 -0.828125,0 -0.875,-0.46875 -0.875,-0.984375 v -3.3125 L 0.3125,-4.296875 v 0.3125 c 0.78125,0 0.78125,0.03125 0.78125,0.90625 v 1.5 c 0,0.78125 0,1.6875 1.515625,1.6875 0.5625,0 1,-0.28125 1.28125,-0.890625 z m 0,0" + transform="translate(166.97743,134.765)" + id="path6182" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.109375,-2.515625 C 1.171875,-4 2.015625,-4.25 2.359375,-4.25 c 1.015625,0 1.125,1.34375 1.125,1.734375 z m 0,0.21875 h 2.78125 c 0.21875,0 0.25,0 0.25,-0.21875 0,-0.984375 -0.546875,-1.953125 -1.78125,-1.953125 -1.15625,0 -2.078125,1.03125 -2.078125,2.28125 0,1.328125 1.046875,2.296875 2.1875,2.296875 C 3.6875,0.109375 4.140625,-1 4.140625,-1.1875 4.140625,-1.28125 4.0625,-1.3125 4,-1.3125 c -0.078125,0 -0.109375,0.0625 -0.125,0.140625 -0.34375,1.03125 -1.25,1.03125 -1.34375,1.03125 -0.5,0 -0.890625,-0.296875 -1.125,-0.671875 -0.296875,-0.46875 -0.296875,-1.125 -0.296875,-1.484375 z m 0,0" + transform="translate(172.51265,134.765)" + id="path6184" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 3.890625,-0.78125 V 0.109375 L 5.328125,0 V -0.3125 C 4.640625,-0.3125 4.5625,-0.375 4.5625,-0.875 v -3.53125 l -1.46875,0.109375 v 0.3125 c 0.6875,0 0.78125,0.0625 0.78125,0.5625 v 1.765625 c 0,0.875 -0.484375,1.546875 -1.21875,1.546875 -0.828125,0 -0.875,-0.46875 -0.875,-0.984375 v -3.3125 L 0.3125,-4.296875 v 0.3125 c 0.78125,0 0.78125,0.03125 0.78125,0.90625 v 1.5 c 0,0.78125 0,1.6875 1.515625,1.6875 0.5625,0 1,-0.28125 1.28125,-0.890625 z m 0,0" + transform="translate(176.94003,134.765)" + id="path6186" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.671875,-3.3125 V -4.40625 L 0.28125,-4.296875 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.390625,-0.015625 0.859375,-0.03125 1.140625,-0.03125 0.390625,0 0.859375,0 1.265625,0.03125 V -0.3125 H 2.46875 c -0.734375,0 -0.75,-0.109375 -0.75,-0.46875 V -2.3125 c 0,-0.984375 0.421875,-1.875 1.171875,-1.875 0.0625,0 0.09375,0 0.109375,0.015625 -0.03125,0 -0.234375,0.125 -0.234375,0.390625 0,0.265625 0.21875,0.421875 0.4375,0.421875 0.171875,0 0.421875,-0.125 0.421875,-0.4375 0,-0.3125 -0.3125,-0.609375 -0.734375,-0.609375 -0.734375,0 -1.09375,0.671875 -1.21875,1.09375 z m 0,0" + transform="translate(182.47525,134.765)" + id="path6188" /> + </g> + </g> + </g> + <g + id="g4809-4" + ns1:scale="1.0" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:text="$4$" + ns1:converter="pdf2svg" + ns1:textextver="0.8" + transform="translate(-133.20872,-42.952438)" + style="fill:#000000"> + <g + id="g4807-5" + style="fill:#000000"> + <g + id="g4805-0" + style="fill:#000000;fill-opacity:1"> + <path + id="path4803-3" + transform="translate(148.712,134.765)" + d="m 2.9375,-1.640625 v 0.859375 c 0,0.359375 -0.03125,0.46875 -0.765625,0.46875 H 1.96875 V 0 C 2.375,-0.03125 2.890625,-0.03125 3.3125,-0.03125 c 0.421875,0 0.9375,0 1.359375,0.03125 v -0.3125 h -0.21875 c -0.734375,0 -0.75,-0.109375 -0.75,-0.46875 V -1.640625 H 4.6875 v -0.3125 H 3.703125 v -4.53125 c 0,-0.203125 0,-0.265625 -0.171875,-0.265625 -0.078125,0 -0.109375,0 -0.1875,0.125 l -3.0625,4.671875 v 0.3125 z m 0.046875,-0.3125 H 0.5625 l 2.421875,-3.71875 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <g + id="g4809-6" + ns1:scale="1.0" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:text="$4$" + ns1:converter="pdf2svg" + ns1:textextver="0.8" + transform="translate(-111.71638,-42.952438)" + style="fill:#000000"> + <g + id="g4807-1" + style="fill:#000000"> + <g + id="g4805-06" + style="fill:#000000;fill-opacity:1"> + <path + id="path4803-32" + transform="translate(148.712,134.765)" + d="m 2.9375,-1.640625 v 0.859375 c 0,0.359375 -0.03125,0.46875 -0.765625,0.46875 H 1.96875 V 0 C 2.375,-0.03125 2.890625,-0.03125 3.3125,-0.03125 c 0.421875,0 0.9375,0 1.359375,0.03125 v -0.3125 h -0.21875 c -0.734375,0 -0.75,-0.109375 -0.75,-0.46875 V -1.640625 H 4.6875 v -0.3125 H 3.703125 v -4.53125 c 0,-0.203125 0,-0.265625 -0.171875,-0.265625 -0.078125,0 -0.109375,0 -0.1875,0.125 l -3.0625,4.671875 v 0.3125 z m 0.046875,-0.3125 H 0.5625 l 2.421875,-3.71875 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <g + id="g6430" + ns1:scale="1.0" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:text="capacit\xc3\xa9" + ns1:converter="pdf2svg" + ns1:textextver="0.8" + transform="matrix(0.48712834,0,0,0.48712834,-41.60325,40.493852)"> + <g + id="g6428"> + <g + id="g6418" + style="fill:#000000;fill-opacity:1"> + <path + id="path6404" + transform="translate(148.712,134.765)" + d="m 1.171875,-2.171875 c 0,-1.625 0.8125,-2.046875 1.34375,-2.046875 0.09375,0 0.71875,0.015625 1.0625,0.375 -0.40625,0.03125 -0.46875,0.328125 -0.46875,0.453125 0,0.265625 0.1875,0.453125 0.453125,0.453125 0.265625,0 0.46875,-0.15625 0.46875,-0.46875 0,-0.671875 -0.765625,-1.0625 -1.53125,-1.0625 -1.25,0 -2.15625,1.078125 -2.15625,2.3125 0,1.28125 0.984375,2.265625 2.140625,2.265625 1.328125,0 1.65625,-1.203125 1.65625,-1.296875 0,-0.09375 -0.109375,-0.09375 -0.140625,-0.09375 -0.078125,0 -0.109375,0.03125 -0.125,0.09375 -0.28125,0.921875 -0.9375,1.046875 -1.296875,1.046875 -0.53125,0 -1.40625,-0.421875 -1.40625,-2.03125 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6406" + transform="translate(153.13938,134.765)" + d="m 3.3125,-0.75 c 0.046875,0.390625 0.3125,0.8125 0.78125,0.8125 0.21875,0 0.828125,-0.140625 0.828125,-0.953125 v -0.5625 h -0.25 v 0.5625 c 0,0.578125 -0.25,0.640625 -0.359375,0.640625 -0.328125,0 -0.375,-0.453125 -0.375,-0.5 v -1.984375 c 0,-0.421875 0,-0.8125 -0.359375,-1.1875 C 3.1875,-4.3125 2.6875,-4.46875 2.21875,-4.46875 c -0.828125,0 -1.515625,0.46875 -1.515625,1.125 0,0.296875 0.203125,0.46875 0.46875,0.46875 0.28125,0 0.453125,-0.203125 0.453125,-0.453125 0,-0.125 -0.046875,-0.453125 -0.515625,-0.453125 C 1.390625,-4.140625 1.875,-4.25 2.1875,-4.25 c 0.5,0 1.0625,0.390625 1.0625,1.28125 v 0.359375 c -0.515625,0.03125 -1.203125,0.0625 -1.828125,0.359375 -0.75,0.34375 -1,0.859375 -1,1.296875 0,0.8125 0.96875,1.0625 1.59375,1.0625 0.65625,0 1.109375,-0.40625 1.296875,-0.859375 z M 3.25,-2.390625 v 1 c 0,0.9375 -0.71875,1.28125 -1.171875,1.28125 -0.484375,0 -0.890625,-0.34375 -0.890625,-0.84375 0,-0.546875 0.421875,-1.375 2.0625,-1.4375 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6408" + transform="translate(158.12068,134.765)" + d="m 1.71875,-3.75 v -0.65625 l -1.4375,0.109375 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5 v 4.65625 C 1.0625,1.625 0.953125,1.625 0.28125,1.625 V 1.9375 C 0.625,1.921875 1.140625,1.90625 1.390625,1.90625 c 0.28125,0 0.78125,0.015625 1.125,0.03125 V 1.625 C 1.859375,1.625 1.75,1.625 1.75,1.171875 V -0.59375 c 0.046875,0.171875 0.46875,0.703125 1.21875,0.703125 1.1875,0 2.21875,-0.984375 2.21875,-2.265625 0,-1.265625 -0.953125,-2.25 -2.078125,-2.25 -0.78125,0 -1.203125,0.4375 -1.390625,0.65625 z M 1.75,-1.140625 v -2.21875 C 2.03125,-3.875 2.515625,-4.15625 3.03125,-4.15625 c 0.734375,0 1.328125,0.875 1.328125,2 0,1.203125 -0.6875,2.046875 -1.421875,2.046875 -0.40625,0 -0.78125,-0.203125 -1.046875,-0.609375 C 1.75,-0.921875 1.75,-0.9375 1.75,-1.140625 Z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6410" + transform="translate(163.6559,134.765)" + d="m 3.3125,-0.75 c 0.046875,0.390625 0.3125,0.8125 0.78125,0.8125 0.21875,0 0.828125,-0.140625 0.828125,-0.953125 v -0.5625 h -0.25 v 0.5625 c 0,0.578125 -0.25,0.640625 -0.359375,0.640625 -0.328125,0 -0.375,-0.453125 -0.375,-0.5 v -1.984375 c 0,-0.421875 0,-0.8125 -0.359375,-1.1875 C 3.1875,-4.3125 2.6875,-4.46875 2.21875,-4.46875 c -0.828125,0 -1.515625,0.46875 -1.515625,1.125 0,0.296875 0.203125,0.46875 0.46875,0.46875 0.28125,0 0.453125,-0.203125 0.453125,-0.453125 0,-0.125 -0.046875,-0.453125 -0.515625,-0.453125 C 1.390625,-4.140625 1.875,-4.25 2.1875,-4.25 c 0.5,0 1.0625,0.390625 1.0625,1.28125 v 0.359375 c -0.515625,0.03125 -1.203125,0.0625 -1.828125,0.359375 -0.75,0.34375 -1,0.859375 -1,1.296875 0,0.8125 0.96875,1.0625 1.59375,1.0625 0.65625,0 1.109375,-0.40625 1.296875,-0.859375 z M 3.25,-2.390625 v 1 c 0,0.9375 -0.71875,1.28125 -1.171875,1.28125 -0.484375,0 -0.890625,-0.34375 -0.890625,-0.84375 0,-0.546875 0.421875,-1.375 2.0625,-1.4375 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6412" + transform="translate(168.6372,134.765)" + d="m 1.171875,-2.171875 c 0,-1.625 0.8125,-2.046875 1.34375,-2.046875 0.09375,0 0.71875,0.015625 1.0625,0.375 -0.40625,0.03125 -0.46875,0.328125 -0.46875,0.453125 0,0.265625 0.1875,0.453125 0.453125,0.453125 0.265625,0 0.46875,-0.15625 0.46875,-0.46875 0,-0.671875 -0.765625,-1.0625 -1.53125,-1.0625 -1.25,0 -2.15625,1.078125 -2.15625,2.3125 0,1.28125 0.984375,2.265625 2.140625,2.265625 1.328125,0 1.65625,-1.203125 1.65625,-1.296875 0,-0.09375 -0.109375,-0.09375 -0.140625,-0.09375 -0.078125,0 -0.109375,0.03125 -0.125,0.09375 -0.28125,0.921875 -0.9375,1.046875 -1.296875,1.046875 -0.53125,0 -1.40625,-0.421875 -1.40625,-2.03125 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6414" + transform="translate(173.06458,134.765)" + d="M 1.765625,-4.40625 0.375,-4.296875 v 0.3125 c 0.640625,0 0.734375,0.0625 0.734375,0.546875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 C 0.640625,-0.015625 1.1875,-0.03125 1.421875,-0.03125 1.78125,-0.03125 2.125,-0.015625 2.46875,0 v -0.3125 c -0.671875,0 -0.703125,-0.046875 -0.703125,-0.4375 z m 0.03125,-1.734375 c 0,-0.3125 -0.234375,-0.53125 -0.515625,-0.53125 -0.3125,0 -0.53125,0.265625 -0.53125,0.53125 0,0.265625 0.21875,0.53125 0.53125,0.53125 0.28125,0 0.515625,-0.21875 0.515625,-0.53125 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6416" + transform="translate(175.83219,134.765)" + d="m 1.71875,-3.984375 h 1.4375 v -0.3125 H 1.71875 V -6.125 h -0.25 c 0,0.8125 -0.296875,1.875 -1.28125,1.921875 v 0.21875 h 0.84375 v 2.75 c 0,1.21875 0.9375,1.34375 1.296875,1.34375 0.703125,0 0.984375,-0.703125 0.984375,-1.34375 v -0.5625 h -0.25 V -1.25 c 0,0.734375 -0.296875,1.109375 -0.671875,1.109375 -0.671875,0 -0.671875,-0.90625 -0.671875,-1.078125 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + <g + id="g6422" + style="fill:#000000;fill-opacity:1"> + <path + id="path6420" + transform="translate(179.42769,134.765)" + d="M 3.734375,-6.296875 C 3.828125,-6.375 3.90625,-6.484375 3.90625,-6.59375 c 0,-0.1875 -0.171875,-0.359375 -0.359375,-0.359375 -0.140625,0 -0.25,0.109375 -0.296875,0.171875 l -1.203125,1.515625 0.171875,0.1875 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + <g + id="g6426" + style="fill:#000000;fill-opacity:1"> + <path + id="path6424" + transform="translate(179.70664,134.765)" + d="M 1.109375,-2.515625 C 1.171875,-4 2.015625,-4.25 2.359375,-4.25 c 1.015625,0 1.125,1.34375 1.125,1.734375 z m 0,0.21875 h 2.78125 c 0.21875,0 0.25,0 0.25,-0.21875 0,-0.984375 -0.546875,-1.953125 -1.78125,-1.953125 -1.15625,0 -2.078125,1.03125 -2.078125,2.28125 0,1.328125 1.046875,2.296875 2.1875,2.296875 C 3.6875,0.109375 4.140625,-1 4.140625,-1.1875 4.140625,-1.28125 4.0625,-1.3125 4,-1.3125 c -0.078125,0 -0.109375,0.0625 -0.125,0.140625 -0.34375,1.03125 -1.25,1.03125 -1.34375,1.03125 -0.5,0 -0.890625,-0.296875 -1.125,-0.671875 -0.296875,-0.46875 -0.296875,-1.125 -0.296875,-1.484375 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <g + transform="matrix(0.48104848,0,0,0.48104848,-83.09942,8.2181719)" + ns1:textextver="0.8" + ns1:converter="pdf2svg" + ns1:text="pointeur" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:scale="1.0" + id="g6701"> + <g + id="g6699"> + <g + style="fill:#000000;fill-opacity:1" + id="g6679"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 1.71875,-3.75 v -0.65625 l -1.4375,0.109375 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5 v 4.65625 C 1.0625,1.625 0.953125,1.625 0.28125,1.625 V 1.9375 C 0.625,1.921875 1.140625,1.90625 1.390625,1.90625 c 0.28125,0 0.78125,0.015625 1.125,0.03125 V 1.625 C 1.859375,1.625 1.75,1.625 1.75,1.171875 V -0.59375 c 0.046875,0.171875 0.46875,0.703125 1.21875,0.703125 1.1875,0 2.21875,-0.984375 2.21875,-2.265625 0,-1.265625 -0.953125,-2.25 -2.078125,-2.25 -0.78125,0 -1.203125,0.4375 -1.390625,0.65625 z M 1.75,-1.140625 v -2.21875 C 2.03125,-3.875 2.515625,-4.15625 3.03125,-4.15625 c 0.734375,0 1.328125,0.875 1.328125,2 0,1.203125 -0.6875,2.046875 -1.421875,2.046875 -0.40625,0 -0.78125,-0.203125 -1.046875,-0.609375 C 1.75,-0.921875 1.75,-0.9375 1.75,-1.140625 Z m 0,0" + transform="translate(148.712,134.765)" + id="path6677" /> + </g> + <g + style="fill:#000000;fill-opacity:1" + id="g6687"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 4.6875,-2.140625 C 4.6875,-3.40625 3.703125,-4.46875 2.5,-4.46875 c -1.25,0 -2.21875,1.09375 -2.21875,2.328125 0,1.296875 1.03125,2.25 2.203125,2.25 1.203125,0 2.203125,-0.984375 2.203125,-2.25 z m -2.1875,2 c -0.4375,0 -0.875,-0.203125 -1.140625,-0.671875 -0.25,-0.4375 -0.25,-1.046875 -0.25,-1.40625 0,-0.390625 0,-0.921875 0.234375,-1.359375 C 1.609375,-4.03125 2.078125,-4.25 2.484375,-4.25 c 0.4375,0 0.859375,0.21875 1.125,0.65625 0.265625,0.421875 0.265625,1 0.265625,1.375 0,0.359375 0,0.90625 -0.21875,1.34375 C 3.421875,-0.421875 2.984375,-0.140625 2.5,-0.140625 Z m 0,0" + transform="translate(154.52617,134.765)" + id="path6681" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.765625,-4.40625 0.375,-4.296875 v 0.3125 c 0.640625,0 0.734375,0.0625 0.734375,0.546875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 C 0.640625,-0.015625 1.1875,-0.03125 1.421875,-0.03125 1.78125,-0.03125 2.125,-0.015625 2.46875,0 v -0.3125 c -0.671875,0 -0.703125,-0.046875 -0.703125,-0.4375 z m 0.03125,-1.734375 c 0,-0.3125 -0.234375,-0.53125 -0.515625,-0.53125 -0.3125,0 -0.53125,0.265625 -0.53125,0.53125 0,0.265625 0.21875,0.53125 0.53125,0.53125 0.28125,0 0.515625,-0.21875 0.515625,-0.53125 z m 0,0" + transform="translate(159.50747,134.765)" + id="path6683" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.09375,-3.421875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.359375,-0.015625 0.859375,-0.03125 1.140625,-0.03125 0.25,0 0.765625,0.015625 1.109375,0.03125 v -0.3125 c -0.671875,0 -0.78125,0 -0.78125,-0.4375 V -2.59375 C 1.78125,-3.625 2.5,-4.1875 3.125,-4.1875 c 0.640625,0 0.75,0.53125 0.75,1.109375 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.34375,-0.015625 0.859375,-0.03125 1.125,-0.03125 0.25,0 0.78125,0.015625 1.109375,0.03125 v -0.3125 c -0.515625,0 -0.765625,0 -0.765625,-0.296875 v -1.90625 c 0,-0.859375 0,-1.15625 -0.3125,-1.515625 -0.140625,-0.171875 -0.46875,-0.375 -1.046875,-0.375 C 2.46875,-4.40625 2,-3.984375 1.71875,-3.359375 V -4.40625 L 0.3125,-4.296875 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 z m 0,0" + transform="translate(162.27508,134.765)" + id="path6685" /> + </g> + <g + style="fill:#000000;fill-opacity:1" + id="g6697"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 1.71875,-3.984375 h 1.4375 v -0.3125 H 1.71875 V -6.125 h -0.25 c 0,0.8125 -0.296875,1.875 -1.28125,1.921875 v 0.21875 h 0.84375 v 2.75 c 0,1.21875 0.9375,1.34375 1.296875,1.34375 0.703125,0 0.984375,-0.703125 0.984375,-1.34375 v -0.5625 h -0.25 V -1.25 c 0,0.734375 -0.296875,1.109375 -0.671875,1.109375 -0.671875,0 -0.671875,-0.90625 -0.671875,-1.078125 z m 0,0" + transform="translate(167.53135,134.765)" + id="path6689" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.109375,-2.515625 C 1.171875,-4 2.015625,-4.25 2.359375,-4.25 c 1.015625,0 1.125,1.34375 1.125,1.734375 z m 0,0.21875 h 2.78125 c 0.21875,0 0.25,0 0.25,-0.21875 0,-0.984375 -0.546875,-1.953125 -1.78125,-1.953125 -1.15625,0 -2.078125,1.03125 -2.078125,2.28125 0,1.328125 1.046875,2.296875 2.1875,2.296875 C 3.6875,0.109375 4.140625,-1 4.140625,-1.1875 4.140625,-1.28125 4.0625,-1.3125 4,-1.3125 c -0.078125,0 -0.109375,0.0625 -0.125,0.140625 -0.34375,1.03125 -1.25,1.03125 -1.34375,1.03125 -0.5,0 -0.890625,-0.296875 -1.125,-0.671875 -0.296875,-0.46875 -0.296875,-1.125 -0.296875,-1.484375 z m 0,0" + transform="translate(171.40581,134.765)" + id="path6691" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 3.890625,-0.78125 V 0.109375 L 5.328125,0 V -0.3125 C 4.640625,-0.3125 4.5625,-0.375 4.5625,-0.875 v -3.53125 l -1.46875,0.109375 v 0.3125 c 0.6875,0 0.78125,0.0625 0.78125,0.5625 v 1.765625 c 0,0.875 -0.484375,1.546875 -1.21875,1.546875 -0.828125,0 -0.875,-0.46875 -0.875,-0.984375 v -3.3125 L 0.3125,-4.296875 v 0.3125 c 0.78125,0 0.78125,0.03125 0.78125,0.90625 v 1.5 c 0,0.78125 0,1.6875 1.515625,1.6875 0.5625,0 1,-0.28125 1.28125,-0.890625 z m 0,0" + transform="translate(175.83319,134.765)" + id="path6693" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.671875,-3.3125 V -4.40625 L 0.28125,-4.296875 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.390625,-0.015625 0.859375,-0.03125 1.140625,-0.03125 0.390625,0 0.859375,0 1.265625,0.03125 V -0.3125 H 2.46875 c -0.734375,0 -0.75,-0.109375 -0.75,-0.46875 V -2.3125 c 0,-0.984375 0.421875,-1.875 1.171875,-1.875 0.0625,0 0.09375,0 0.109375,0.015625 -0.03125,0 -0.234375,0.125 -0.234375,0.390625 0,0.265625 0.21875,0.421875 0.4375,0.421875 0.171875,0 0.421875,-0.125 0.421875,-0.4375 0,-0.3125 -0.3125,-0.609375 -0.734375,-0.609375 -0.734375,0 -1.09375,0.671875 -1.21875,1.09375 z m 0,0" + transform="translate(181.36841,134.765)" + id="path6695" /> + </g> + </g> + </g> + <rect + style="opacity:1;fill:#faffff;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" + id="rect4520-3-2-3" + width="64.870178" + height="25.324411" + x="127.93536" + y="75.77536" /> + <path + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 149.61386,75.77536 v 24.94642" + id="path4537-61-6" + inkscape:connector-curvature="0" /> + <path + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 171.1062,75.72811 v 24.99367" + id="path4539-8-1" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + <path + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="M 192.98664,75.869849 V 100.81628" + id="path4541-7-2" + inkscape:connector-curvature="0" /> + <path + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 127.92748,75.77536 v 24.94642" + id="path4537-6-9-9" + inkscape:connector-curvature="0" /> + <path + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="M 149.61386,75.775362 V 100.72178" + id="path4537-61-7" + inkscape:connector-curvature="0" /> + <path + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="M 171.1062,75.728112 V 100.72178" + id="path4539-8-4" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + <path + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="M 192.98663,75.869852 V 100.81628" + id="path4541-7-1" + inkscape:connector-curvature="0" /> + <g + id="g4809-4-85" + ns1:scale="1.0" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:text="$4$" + ns1:converter="pdf2svg" + ns1:textextver="0.8" + transform="translate(9.16365,-42.952438)" + style="fill:#000000"> + <g + id="g4807-5-9" + style="fill:#000000"> + <g + id="g4805-0-7" + style="fill:#000000;fill-opacity:1"> + <path + id="path4803-3-5" + transform="translate(148.712,134.765)" + d="m 2.9375,-1.640625 v 0.859375 c 0,0.359375 -0.03125,0.46875 -0.765625,0.46875 H 1.96875 V 0 C 2.375,-0.03125 2.890625,-0.03125 3.3125,-0.03125 c 0.421875,0 0.9375,0 1.359375,0.03125 v -0.3125 h -0.21875 c -0.734375,0 -0.75,-0.109375 -0.75,-0.46875 V -1.640625 H 4.6875 v -0.3125 H 3.703125 v -4.53125 c 0,-0.203125 0,-0.265625 -0.171875,-0.265625 -0.078125,0 -0.109375,0 -0.1875,0.125 l -3.0625,4.671875 v 0.3125 z m 0.046875,-0.3125 H 0.5625 l 2.421875,-3.71875 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <g + id="g4809-6-3" + ns1:scale="1.0" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:text="$4$" + ns1:converter="pdf2svg" + ns1:textextver="0.8" + transform="translate(30.65598,-42.952438)" + style="fill:#000000"> + <g + id="g4807-1-8" + style="fill:#000000"> + <g + id="g4805-06-8" + style="fill:#000000;fill-opacity:1"> + <path + id="path4803-32-3" + transform="translate(148.712,134.765)" + d="m 2.9375,-1.640625 v 0.859375 c 0,0.359375 -0.03125,0.46875 -0.765625,0.46875 H 1.96875 V 0 C 2.375,-0.03125 2.890625,-0.03125 3.3125,-0.03125 c 0.421875,0 0.9375,0 1.359375,0.03125 v -0.3125 h -0.21875 c -0.734375,0 -0.75,-0.109375 -0.75,-0.46875 V -1.640625 H 4.6875 v -0.3125 H 3.703125 v -4.53125 c 0,-0.203125 0,-0.265625 -0.171875,-0.265625 -0.078125,0 -0.109375,0 -0.1875,0.125 l -3.0625,4.671875 v 0.3125 z m 0.046875,-0.3125 H 0.5625 l 2.421875,-3.71875 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <circle + id="path3987" + style="fill:#000000;stroke:none;stroke-width:1.48231339" + cx="139.10902" + cy="88.437569" + r="2.2234702" /> + <g + id="g6383" + transform="translate(190.5,-6.8715897)"> + <g + id="g6194-3" + ns1:scale="1.0" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:text="longueur" + ns1:converter="pdf2svg" + ns1:textextver="0.8" + transform="matrix(0.52294065,0,0,0.52294065,-115.91021,42.592237)"> + <g + id="g6192-6"> + <g + id="g6190-7" + style="fill:#000000;fill-opacity:1"> + <path + id="path6174-5" + transform="translate(148.712,134.765)" + d="M 1.765625,-6.921875 0.328125,-6.8125 V -6.5 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 C 0.65625,-0.015625 1.1875,-0.03125 1.4375,-0.03125 c 0.25,0 0.734375,0.015625 1.109375,0.03125 v -0.3125 c -0.671875,0 -0.78125,0 -0.78125,-0.4375 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6176-3" + transform="translate(151.47961,134.765)" + d="M 4.6875,-2.140625 C 4.6875,-3.40625 3.703125,-4.46875 2.5,-4.46875 c -1.25,0 -2.21875,1.09375 -2.21875,2.328125 0,1.296875 1.03125,2.25 2.203125,2.25 1.203125,0 2.203125,-0.984375 2.203125,-2.25 z m -2.1875,2 c -0.4375,0 -0.875,-0.203125 -1.140625,-0.671875 -0.25,-0.4375 -0.25,-1.046875 -0.25,-1.40625 0,-0.390625 0,-0.921875 0.234375,-1.359375 C 1.609375,-4.03125 2.078125,-4.25 2.484375,-4.25 c 0.4375,0 0.859375,0.21875 1.125,0.65625 0.265625,0.421875 0.265625,1 0.265625,1.375 0,0.359375 0,0.90625 -0.21875,1.34375 C 3.421875,-0.421875 2.984375,-0.140625 2.5,-0.140625 Z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6178-5" + transform="translate(156.46091,134.765)" + d="M 1.09375,-3.421875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.359375,-0.015625 0.859375,-0.03125 1.140625,-0.03125 0.25,0 0.765625,0.015625 1.109375,0.03125 v -0.3125 c -0.671875,0 -0.78125,0 -0.78125,-0.4375 V -2.59375 C 1.78125,-3.625 2.5,-4.1875 3.125,-4.1875 c 0.640625,0 0.75,0.53125 0.75,1.109375 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.34375,-0.015625 0.859375,-0.03125 1.125,-0.03125 0.25,0 0.78125,0.015625 1.109375,0.03125 v -0.3125 c -0.515625,0 -0.765625,0 -0.765625,-0.296875 v -1.90625 c 0,-0.859375 0,-1.15625 -0.3125,-1.515625 -0.140625,-0.171875 -0.46875,-0.375 -1.046875,-0.375 C 2.46875,-4.40625 2,-3.984375 1.71875,-3.359375 V -4.40625 L 0.3125,-4.296875 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6180-6" + transform="translate(161.99613,134.765)" + d="m 2.21875,-1.71875 c -0.875,0 -0.875,-1 -0.875,-1.21875 0,-0.265625 0.015625,-0.59375 0.15625,-0.84375 0.078125,-0.109375 0.3125,-0.390625 0.71875,-0.390625 0.859375,0 0.859375,0.984375 0.859375,1.21875 0,0.265625 0,0.59375 -0.15625,0.84375 C 2.84375,-2 2.609375,-1.71875 2.21875,-1.71875 Z M 1.0625,-1.328125 c 0,-0.03125 0,-0.265625 0.15625,-0.46875 0.390625,0.28125 0.8125,0.3125 1,0.3125 0.921875,0 1.609375,-0.6875 1.609375,-1.453125 0,-0.375 -0.15625,-0.734375 -0.40625,-0.96875 C 3.78125,-4.25 4.140625,-4.296875 4.3125,-4.296875 c 0.03125,0 0.078125,0 0.109375,0.015625 C 4.3125,-4.25 4.25,-4.140625 4.25,-4.015625 c 0,0.171875 0.140625,0.28125 0.296875,0.28125 0.09375,0 0.28125,-0.0625 0.28125,-0.296875 0,-0.171875 -0.109375,-0.484375 -0.5,-0.484375 -0.203125,0 -0.640625,0.0625 -1.0625,0.46875 C 2.84375,-4.375 2.4375,-4.40625 2.21875,-4.40625 c -0.9375,0 -1.625,0.6875 -1.625,1.453125 0,0.4375 0.21875,0.8125 0.46875,1.03125 -0.125,0.140625 -0.3125,0.46875 -0.3125,0.828125 0,0.3125 0.140625,0.6875 0.453125,0.890625 -0.609375,0.15625 -0.921875,0.59375 -0.921875,0.984375 0,0.71875 0.984375,1.265625 2.203125,1.265625 1.171875,0 2.203125,-0.5 2.203125,-1.28125 0,-0.34375 -0.125,-0.859375 -0.640625,-1.140625 -0.53125,-0.265625 -1.109375,-0.265625 -1.71875,-0.265625 -0.25,0 -0.671875,0 -0.75,-0.015625 C 1.265625,-0.703125 1.0625,-1 1.0625,-1.328125 Z M 2.5,1.828125 c -1.015625,0 -1.703125,-0.515625 -1.703125,-1.046875 0,-0.453125 0.375,-0.828125 0.8125,-0.84375 h 0.59375 c 0.859375,0 1.96875,0 1.96875,0.84375 0,0.546875 -0.703125,1.046875 -1.671875,1.046875 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6182-2" + transform="translate(166.97743,134.765)" + d="M 3.890625,-0.78125 V 0.109375 L 5.328125,0 V -0.3125 C 4.640625,-0.3125 4.5625,-0.375 4.5625,-0.875 v -3.53125 l -1.46875,0.109375 v 0.3125 c 0.6875,0 0.78125,0.0625 0.78125,0.5625 v 1.765625 c 0,0.875 -0.484375,1.546875 -1.21875,1.546875 -0.828125,0 -0.875,-0.46875 -0.875,-0.984375 v -3.3125 L 0.3125,-4.296875 v 0.3125 c 0.78125,0 0.78125,0.03125 0.78125,0.90625 v 1.5 c 0,0.78125 0,1.6875 1.515625,1.6875 0.5625,0 1,-0.28125 1.28125,-0.890625 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6184-9" + transform="translate(172.51265,134.765)" + d="M 1.109375,-2.515625 C 1.171875,-4 2.015625,-4.25 2.359375,-4.25 c 1.015625,0 1.125,1.34375 1.125,1.734375 z m 0,0.21875 h 2.78125 c 0.21875,0 0.25,0 0.25,-0.21875 0,-0.984375 -0.546875,-1.953125 -1.78125,-1.953125 -1.15625,0 -2.078125,1.03125 -2.078125,2.28125 0,1.328125 1.046875,2.296875 2.1875,2.296875 C 3.6875,0.109375 4.140625,-1 4.140625,-1.1875 4.140625,-1.28125 4.0625,-1.3125 4,-1.3125 c -0.078125,0 -0.109375,0.0625 -0.125,0.140625 -0.34375,1.03125 -1.25,1.03125 -1.34375,1.03125 -0.5,0 -0.890625,-0.296875 -1.125,-0.671875 -0.296875,-0.46875 -0.296875,-1.125 -0.296875,-1.484375 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6186-1" + transform="translate(176.94003,134.765)" + d="M 3.890625,-0.78125 V 0.109375 L 5.328125,0 V -0.3125 C 4.640625,-0.3125 4.5625,-0.375 4.5625,-0.875 v -3.53125 l -1.46875,0.109375 v 0.3125 c 0.6875,0 0.78125,0.0625 0.78125,0.5625 v 1.765625 c 0,0.875 -0.484375,1.546875 -1.21875,1.546875 -0.828125,0 -0.875,-0.46875 -0.875,-0.984375 v -3.3125 L 0.3125,-4.296875 v 0.3125 c 0.78125,0 0.78125,0.03125 0.78125,0.90625 v 1.5 c 0,0.78125 0,1.6875 1.515625,1.6875 0.5625,0 1,-0.28125 1.28125,-0.890625 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6188-2" + transform="translate(182.47525,134.765)" + d="M 1.671875,-3.3125 V -4.40625 L 0.28125,-4.296875 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.390625,-0.015625 0.859375,-0.03125 1.140625,-0.03125 0.390625,0 0.859375,0 1.265625,0.03125 V -0.3125 H 2.46875 c -0.734375,0 -0.75,-0.109375 -0.75,-0.46875 V -2.3125 c 0,-0.984375 0.421875,-1.875 1.171875,-1.875 0.0625,0 0.09375,0 0.109375,0.015625 -0.03125,0 -0.234375,0.125 -0.234375,0.390625 0,0.265625 0.21875,0.421875 0.4375,0.421875 0.171875,0 0.421875,-0.125 0.421875,-0.4375 0,-0.3125 -0.3125,-0.609375 -0.734375,-0.609375 -0.734375,0 -1.09375,0.671875 -1.21875,1.09375 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <g + transform="matrix(0.48712834,0,0,0.48712834,-87.871854,47.365436)" + ns1:textextver="0.8" + ns1:converter="pdf2svg" + ns1:text="capacit\xc3\xa9" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:scale="1.0" + id="g6430-7"> + <g + id="g6428-0"> + <g + style="fill:#000000;fill-opacity:1" + id="g6418-9"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 1.171875,-2.171875 c 0,-1.625 0.8125,-2.046875 1.34375,-2.046875 0.09375,0 0.71875,0.015625 1.0625,0.375 -0.40625,0.03125 -0.46875,0.328125 -0.46875,0.453125 0,0.265625 0.1875,0.453125 0.453125,0.453125 0.265625,0 0.46875,-0.15625 0.46875,-0.46875 0,-0.671875 -0.765625,-1.0625 -1.53125,-1.0625 -1.25,0 -2.15625,1.078125 -2.15625,2.3125 0,1.28125 0.984375,2.265625 2.140625,2.265625 1.328125,0 1.65625,-1.203125 1.65625,-1.296875 0,-0.09375 -0.109375,-0.09375 -0.140625,-0.09375 -0.078125,0 -0.109375,0.03125 -0.125,0.09375 -0.28125,0.921875 -0.9375,1.046875 -1.296875,1.046875 -0.53125,0 -1.40625,-0.421875 -1.40625,-2.03125 z m 0,0" + transform="translate(148.712,134.765)" + id="path6404-3" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 3.3125,-0.75 c 0.046875,0.390625 0.3125,0.8125 0.78125,0.8125 0.21875,0 0.828125,-0.140625 0.828125,-0.953125 v -0.5625 h -0.25 v 0.5625 c 0,0.578125 -0.25,0.640625 -0.359375,0.640625 -0.328125,0 -0.375,-0.453125 -0.375,-0.5 v -1.984375 c 0,-0.421875 0,-0.8125 -0.359375,-1.1875 C 3.1875,-4.3125 2.6875,-4.46875 2.21875,-4.46875 c -0.828125,0 -1.515625,0.46875 -1.515625,1.125 0,0.296875 0.203125,0.46875 0.46875,0.46875 0.28125,0 0.453125,-0.203125 0.453125,-0.453125 0,-0.125 -0.046875,-0.453125 -0.515625,-0.453125 C 1.390625,-4.140625 1.875,-4.25 2.1875,-4.25 c 0.5,0 1.0625,0.390625 1.0625,1.28125 v 0.359375 c -0.515625,0.03125 -1.203125,0.0625 -1.828125,0.359375 -0.75,0.34375 -1,0.859375 -1,1.296875 0,0.8125 0.96875,1.0625 1.59375,1.0625 0.65625,0 1.109375,-0.40625 1.296875,-0.859375 z M 3.25,-2.390625 v 1 c 0,0.9375 -0.71875,1.28125 -1.171875,1.28125 -0.484375,0 -0.890625,-0.34375 -0.890625,-0.84375 0,-0.546875 0.421875,-1.375 2.0625,-1.4375 z m 0,0" + transform="translate(153.13938,134.765)" + id="path6406-6" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 1.71875,-3.75 v -0.65625 l -1.4375,0.109375 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5 v 4.65625 C 1.0625,1.625 0.953125,1.625 0.28125,1.625 V 1.9375 C 0.625,1.921875 1.140625,1.90625 1.390625,1.90625 c 0.28125,0 0.78125,0.015625 1.125,0.03125 V 1.625 C 1.859375,1.625 1.75,1.625 1.75,1.171875 V -0.59375 c 0.046875,0.171875 0.46875,0.703125 1.21875,0.703125 1.1875,0 2.21875,-0.984375 2.21875,-2.265625 0,-1.265625 -0.953125,-2.25 -2.078125,-2.25 -0.78125,0 -1.203125,0.4375 -1.390625,0.65625 z M 1.75,-1.140625 v -2.21875 C 2.03125,-3.875 2.515625,-4.15625 3.03125,-4.15625 c 0.734375,0 1.328125,0.875 1.328125,2 0,1.203125 -0.6875,2.046875 -1.421875,2.046875 -0.40625,0 -0.78125,-0.203125 -1.046875,-0.609375 C 1.75,-0.921875 1.75,-0.9375 1.75,-1.140625 Z m 0,0" + transform="translate(158.12068,134.765)" + id="path6408-0" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 3.3125,-0.75 c 0.046875,0.390625 0.3125,0.8125 0.78125,0.8125 0.21875,0 0.828125,-0.140625 0.828125,-0.953125 v -0.5625 h -0.25 v 0.5625 c 0,0.578125 -0.25,0.640625 -0.359375,0.640625 -0.328125,0 -0.375,-0.453125 -0.375,-0.5 v -1.984375 c 0,-0.421875 0,-0.8125 -0.359375,-1.1875 C 3.1875,-4.3125 2.6875,-4.46875 2.21875,-4.46875 c -0.828125,0 -1.515625,0.46875 -1.515625,1.125 0,0.296875 0.203125,0.46875 0.46875,0.46875 0.28125,0 0.453125,-0.203125 0.453125,-0.453125 0,-0.125 -0.046875,-0.453125 -0.515625,-0.453125 C 1.390625,-4.140625 1.875,-4.25 2.1875,-4.25 c 0.5,0 1.0625,0.390625 1.0625,1.28125 v 0.359375 c -0.515625,0.03125 -1.203125,0.0625 -1.828125,0.359375 -0.75,0.34375 -1,0.859375 -1,1.296875 0,0.8125 0.96875,1.0625 1.59375,1.0625 0.65625,0 1.109375,-0.40625 1.296875,-0.859375 z M 3.25,-2.390625 v 1 c 0,0.9375 -0.71875,1.28125 -1.171875,1.28125 -0.484375,0 -0.890625,-0.34375 -0.890625,-0.84375 0,-0.546875 0.421875,-1.375 2.0625,-1.4375 z m 0,0" + transform="translate(163.6559,134.765)" + id="path6410-6" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 1.171875,-2.171875 c 0,-1.625 0.8125,-2.046875 1.34375,-2.046875 0.09375,0 0.71875,0.015625 1.0625,0.375 -0.40625,0.03125 -0.46875,0.328125 -0.46875,0.453125 0,0.265625 0.1875,0.453125 0.453125,0.453125 0.265625,0 0.46875,-0.15625 0.46875,-0.46875 0,-0.671875 -0.765625,-1.0625 -1.53125,-1.0625 -1.25,0 -2.15625,1.078125 -2.15625,2.3125 0,1.28125 0.984375,2.265625 2.140625,2.265625 1.328125,0 1.65625,-1.203125 1.65625,-1.296875 0,-0.09375 -0.109375,-0.09375 -0.140625,-0.09375 -0.078125,0 -0.109375,0.03125 -0.125,0.09375 -0.28125,0.921875 -0.9375,1.046875 -1.296875,1.046875 -0.53125,0 -1.40625,-0.421875 -1.40625,-2.03125 z m 0,0" + transform="translate(168.6372,134.765)" + id="path6412-2" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.765625,-4.40625 0.375,-4.296875 v 0.3125 c 0.640625,0 0.734375,0.0625 0.734375,0.546875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 C 0.640625,-0.015625 1.1875,-0.03125 1.421875,-0.03125 1.78125,-0.03125 2.125,-0.015625 2.46875,0 v -0.3125 c -0.671875,0 -0.703125,-0.046875 -0.703125,-0.4375 z m 0.03125,-1.734375 c 0,-0.3125 -0.234375,-0.53125 -0.515625,-0.53125 -0.3125,0 -0.53125,0.265625 -0.53125,0.53125 0,0.265625 0.21875,0.53125 0.53125,0.53125 0.28125,0 0.515625,-0.21875 0.515625,-0.53125 z m 0,0" + transform="translate(173.06458,134.765)" + id="path6414-6" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 1.71875,-3.984375 h 1.4375 v -0.3125 H 1.71875 V -6.125 h -0.25 c 0,0.8125 -0.296875,1.875 -1.28125,1.921875 v 0.21875 h 0.84375 v 2.75 c 0,1.21875 0.9375,1.34375 1.296875,1.34375 0.703125,0 0.984375,-0.703125 0.984375,-1.34375 v -0.5625 h -0.25 V -1.25 c 0,0.734375 -0.296875,1.109375 -0.671875,1.109375 -0.671875,0 -0.671875,-0.90625 -0.671875,-1.078125 z m 0,0" + transform="translate(175.83219,134.765)" + id="path6416-1" /> + </g> + <g + style="fill:#000000;fill-opacity:1" + id="g6422-8"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 3.734375,-6.296875 C 3.828125,-6.375 3.90625,-6.484375 3.90625,-6.59375 c 0,-0.1875 -0.171875,-0.359375 -0.359375,-0.359375 -0.140625,0 -0.25,0.109375 -0.296875,0.171875 l -1.203125,1.515625 0.171875,0.1875 z m 0,0" + transform="translate(179.42769,134.765)" + id="path6420-7" /> + </g> + <g + style="fill:#000000;fill-opacity:1" + id="g6426-9"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.109375,-2.515625 C 1.171875,-4 2.015625,-4.25 2.359375,-4.25 c 1.015625,0 1.125,1.34375 1.125,1.734375 z m 0,0.21875 h 2.78125 c 0.21875,0 0.25,0 0.25,-0.21875 0,-0.984375 -0.546875,-1.953125 -1.78125,-1.953125 -1.15625,0 -2.078125,1.03125 -2.078125,2.28125 0,1.328125 1.046875,2.296875 2.1875,2.296875 C 3.6875,0.109375 4.140625,-1 4.140625,-1.1875 4.140625,-1.28125 4.0625,-1.3125 4,-1.3125 c -0.078125,0 -0.109375,0.0625 -0.125,0.140625 -0.34375,1.03125 -1.25,1.03125 -1.34375,1.03125 -0.5,0 -0.890625,-0.296875 -1.125,-0.671875 -0.296875,-0.46875 -0.296875,-1.125 -0.296875,-1.484375 z m 0,0" + transform="translate(179.70664,134.765)" + id="path6424-2" /> + </g> + </g> + </g> + </g> + <path + sodipodi:nodetypes="cc" + inkscape:connector-curvature="0" + id="path5059-5" + d="M 139.17259,88.513032 72.289335,172.06004" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#DotM-0);marker-end:url(#Arrow2Mend-3)" /> + <g + transform="matrix(0.48104848,0,0,0.48104848,58.763351,8.2181719)" + ns1:textextver="0.8" + ns1:converter="pdf2svg" + ns1:text="pointeur" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:scale="1.0" + id="g6701-9"> + <g + id="g6699-2"> + <g + style="fill:#000000;fill-opacity:1" + id="g6679-2"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 1.71875,-3.75 v -0.65625 l -1.4375,0.109375 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5 v 4.65625 C 1.0625,1.625 0.953125,1.625 0.28125,1.625 V 1.9375 C 0.625,1.921875 1.140625,1.90625 1.390625,1.90625 c 0.28125,0 0.78125,0.015625 1.125,0.03125 V 1.625 C 1.859375,1.625 1.75,1.625 1.75,1.171875 V -0.59375 c 0.046875,0.171875 0.46875,0.703125 1.21875,0.703125 1.1875,0 2.21875,-0.984375 2.21875,-2.265625 0,-1.265625 -0.953125,-2.25 -2.078125,-2.25 -0.78125,0 -1.203125,0.4375 -1.390625,0.65625 z M 1.75,-1.140625 v -2.21875 C 2.03125,-3.875 2.515625,-4.15625 3.03125,-4.15625 c 0.734375,0 1.328125,0.875 1.328125,2 0,1.203125 -0.6875,2.046875 -1.421875,2.046875 -0.40625,0 -0.78125,-0.203125 -1.046875,-0.609375 C 1.75,-0.921875 1.75,-0.9375 1.75,-1.140625 Z m 0,0" + transform="translate(148.712,134.765)" + id="path6677-8" /> + </g> + <g + style="fill:#000000;fill-opacity:1" + id="g6687-9"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 4.6875,-2.140625 C 4.6875,-3.40625 3.703125,-4.46875 2.5,-4.46875 c -1.25,0 -2.21875,1.09375 -2.21875,2.328125 0,1.296875 1.03125,2.25 2.203125,2.25 1.203125,0 2.203125,-0.984375 2.203125,-2.25 z m -2.1875,2 c -0.4375,0 -0.875,-0.203125 -1.140625,-0.671875 -0.25,-0.4375 -0.25,-1.046875 -0.25,-1.40625 0,-0.390625 0,-0.921875 0.234375,-1.359375 C 1.609375,-4.03125 2.078125,-4.25 2.484375,-4.25 c 0.4375,0 0.859375,0.21875 1.125,0.65625 0.265625,0.421875 0.265625,1 0.265625,1.375 0,0.359375 0,0.90625 -0.21875,1.34375 C 3.421875,-0.421875 2.984375,-0.140625 2.5,-0.140625 Z m 0,0" + transform="translate(154.52617,134.765)" + id="path6681-7" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.765625,-4.40625 0.375,-4.296875 v 0.3125 c 0.640625,0 0.734375,0.0625 0.734375,0.546875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 C 0.640625,-0.015625 1.1875,-0.03125 1.421875,-0.03125 1.78125,-0.03125 2.125,-0.015625 2.46875,0 v -0.3125 c -0.671875,0 -0.703125,-0.046875 -0.703125,-0.4375 z m 0.03125,-1.734375 c 0,-0.3125 -0.234375,-0.53125 -0.515625,-0.53125 -0.3125,0 -0.53125,0.265625 -0.53125,0.53125 0,0.265625 0.21875,0.53125 0.53125,0.53125 0.28125,0 0.515625,-0.21875 0.515625,-0.53125 z m 0,0" + transform="translate(159.50747,134.765)" + id="path6683-3" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.09375,-3.421875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.359375,-0.015625 0.859375,-0.03125 1.140625,-0.03125 0.25,0 0.765625,0.015625 1.109375,0.03125 v -0.3125 c -0.671875,0 -0.78125,0 -0.78125,-0.4375 V -2.59375 C 1.78125,-3.625 2.5,-4.1875 3.125,-4.1875 c 0.640625,0 0.75,0.53125 0.75,1.109375 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.34375,-0.015625 0.859375,-0.03125 1.125,-0.03125 0.25,0 0.78125,0.015625 1.109375,0.03125 v -0.3125 c -0.515625,0 -0.765625,0 -0.765625,-0.296875 v -1.90625 c 0,-0.859375 0,-1.15625 -0.3125,-1.515625 -0.140625,-0.171875 -0.46875,-0.375 -1.046875,-0.375 C 2.46875,-4.40625 2,-3.984375 1.71875,-3.359375 V -4.40625 L 0.3125,-4.296875 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 z m 0,0" + transform="translate(162.27508,134.765)" + id="path6685-6" /> + </g> + <g + style="fill:#000000;fill-opacity:1" + id="g6697-1"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 1.71875,-3.984375 h 1.4375 v -0.3125 H 1.71875 V -6.125 h -0.25 c 0,0.8125 -0.296875,1.875 -1.28125,1.921875 v 0.21875 h 0.84375 v 2.75 c 0,1.21875 0.9375,1.34375 1.296875,1.34375 0.703125,0 0.984375,-0.703125 0.984375,-1.34375 v -0.5625 h -0.25 V -1.25 c 0,0.734375 -0.296875,1.109375 -0.671875,1.109375 -0.671875,0 -0.671875,-0.90625 -0.671875,-1.078125 z m 0,0" + transform="translate(167.53135,134.765)" + id="path6689-2" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.109375,-2.515625 C 1.171875,-4 2.015625,-4.25 2.359375,-4.25 c 1.015625,0 1.125,1.34375 1.125,1.734375 z m 0,0.21875 h 2.78125 c 0.21875,0 0.25,0 0.25,-0.21875 0,-0.984375 -0.546875,-1.953125 -1.78125,-1.953125 -1.15625,0 -2.078125,1.03125 -2.078125,2.28125 0,1.328125 1.046875,2.296875 2.1875,2.296875 C 3.6875,0.109375 4.140625,-1 4.140625,-1.1875 4.140625,-1.28125 4.0625,-1.3125 4,-1.3125 c -0.078125,0 -0.109375,0.0625 -0.125,0.140625 -0.34375,1.03125 -1.25,1.03125 -1.34375,1.03125 -0.5,0 -0.890625,-0.296875 -1.125,-0.671875 -0.296875,-0.46875 -0.296875,-1.125 -0.296875,-1.484375 z m 0,0" + transform="translate(171.40581,134.765)" + id="path6691-9" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 3.890625,-0.78125 V 0.109375 L 5.328125,0 V -0.3125 C 4.640625,-0.3125 4.5625,-0.375 4.5625,-0.875 v -3.53125 l -1.46875,0.109375 v 0.3125 c 0.6875,0 0.78125,0.0625 0.78125,0.5625 v 1.765625 c 0,0.875 -0.484375,1.546875 -1.21875,1.546875 -0.828125,0 -0.875,-0.46875 -0.875,-0.984375 v -3.3125 L 0.3125,-4.296875 v 0.3125 c 0.78125,0 0.78125,0.03125 0.78125,0.90625 v 1.5 c 0,0.78125 0,1.6875 1.515625,1.6875 0.5625,0 1,-0.28125 1.28125,-0.890625 z m 0,0" + transform="translate(175.83319,134.765)" + id="path6693-3" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.671875,-3.3125 V -4.40625 L 0.28125,-4.296875 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.390625,-0.015625 0.859375,-0.03125 1.140625,-0.03125 0.390625,0 0.859375,0 1.265625,0.03125 V -0.3125 H 2.46875 c -0.734375,0 -0.75,-0.109375 -0.75,-0.46875 V -2.3125 c 0,-0.984375 0.421875,-1.875 1.171875,-1.875 0.0625,0 0.09375,0 0.109375,0.015625 -0.03125,0 -0.234375,0.125 -0.234375,0.390625 0,0.265625 0.21875,0.421875 0.4375,0.421875 0.171875,0 0.421875,-0.125 0.421875,-0.4375 0,-0.3125 -0.3125,-0.609375 -0.734375,-0.609375 -0.734375,0 -1.09375,0.671875 -1.21875,1.09375 z m 0,0" + transform="translate(181.36841,134.765)" + id="path6695-1" /> + </g> + </g> + </g> + <g + id="g6414-1" + transform="translate(487.34266)"> + <rect + y="173.48221" + x="-183.7357" + height="25.324406" + width="151.94643" + id="rect4520-2" + style="opacity:1;fill:#999999;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" /> + <rect + y="173.48221" + x="-151.15886" + height="25.324409" + width="86.792793" + id="rect4520-3-7" + style="opacity:1;fill:#f9f9f9;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" /> + <path + inkscape:connector-curvature="0" + id="path4537-0" + d="m -129.48036,173.4822 v 24.94642" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + sodipodi:nodetypes="cc" + inkscape:connector-curvature="0" + id="path4539-9" + d="m -107.79398,173.43495 v 24.99367" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + inkscape:connector-curvature="0" + id="path4541-3" + d="m -86.107585,173.57669 v 24.94643" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + inkscape:connector-curvature="0" + id="path4537-6-6" + d="m -151.16674,173.4822 v 24.94642" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + inkscape:connector-curvature="0" + id="path4537-6-7-0" + d="m -64.421205,173.57669 v 24.94642" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <g + id="g4597-6" + ns1:scale="1.0" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:text="$1$" + ns1:converter="pdf2svg" + ns1:textextver="0.8" + transform="translate(-291.95726,54.699722)"> + <g + id="surface1-2"> + <g + id="g4594-6" + style="fill:#000000;fill-opacity:1"> + <path + inkscape:connector-curvature="0" + id="path4592-1" + transform="translate(148.712,134.765)" + d="m 2.9375,-6.375 c 0,-0.25 0,-0.265625 -0.234375,-0.265625 C 2.078125,-6 1.203125,-6 0.890625,-6 v 0.3125 c 0.203125,0 0.78125,0 1.296875,-0.265625 v 5.171875 c 0,0.359375 -0.03125,0.46875 -0.921875,0.46875 h -0.3125 V 0 c 0.34375,-0.03125 1.203125,-0.03125 1.609375,-0.03125 0.390625,0 1.265625,0 1.609375,0.03125 v -0.3125 h -0.3125 c -0.90625,0 -0.921875,-0.109375 -0.921875,-0.46875 z m 0,0" + style="stroke:none" /> + </g> + </g> + </g> + <g + transform="translate(-270.56084,54.699722)" + ns1:textextver="0.8" + ns1:converter="pdf2svg" + ns1:text="$2$" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:scale="1.0" + id="g4661-7-8" + style="fill:#000000"> + <g + id="g4659-0-7" + style="fill:#000000"> + <g + style="fill:#000000;fill-opacity:1" + id="g4657-9-9"> + <path + style="stroke:none" + d="m 1.265625,-0.765625 1.0625,-1.03125 c 1.546875,-1.375 2.140625,-1.90625 2.140625,-2.90625 0,-1.140625 -0.890625,-1.9375 -2.109375,-1.9375 -1.125,0 -1.859375,0.921875 -1.859375,1.8125 0,0.546875 0.5,0.546875 0.53125,0.546875 0.171875,0 0.515625,-0.109375 0.515625,-0.53125 0,-0.25 -0.1875,-0.515625 -0.53125,-0.515625 -0.078125,0 -0.09375,0 -0.125,0.015625 0.21875,-0.65625 0.765625,-1.015625 1.34375,-1.015625 0.90625,0 1.328125,0.8125 1.328125,1.625 C 3.5625,-3.90625 3.078125,-3.125 2.515625,-2.5 l -1.90625,2.125 C 0.5,-0.265625 0.5,-0.234375 0.5,0 H 4.203125 L 4.46875,-1.734375 H 4.234375 C 4.171875,-1.4375 4.109375,-1 4,-0.84375 3.9375,-0.765625 3.28125,-0.765625 3.0625,-0.765625 Z m 0,0" + transform="translate(148.712,134.765)" + id="path4655-3-2" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <g + id="g4749-0" + style="fill:#000000" + ns1:scale="1.0" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:text="$3$" + ns1:converter="pdf2svg" + ns1:textextver="0.8" + transform="translate(-249.21909,54.590352)"> + <g + style="fill:#000000" + id="g4747-2"> + <g + id="g4745-3" + style="fill:#000000;fill-opacity:1"> + <path + id="path4743-7" + transform="translate(148.712,134.765)" + d="m 2.890625,-3.515625 c 0.8125,-0.265625 1.390625,-0.953125 1.390625,-1.75 0,-0.8125 -0.875,-1.375 -1.828125,-1.375 -1,0 -1.765625,0.59375 -1.765625,1.359375 0,0.328125 0.21875,0.515625 0.515625,0.515625 0.296875,0 0.5,-0.21875 0.5,-0.515625 0,-0.484375 -0.46875,-0.484375 -0.609375,-0.484375 0.296875,-0.5 0.953125,-0.625 1.3125,-0.625 0.421875,0 0.96875,0.21875 0.96875,1.109375 0,0.125 -0.03125,0.703125 -0.28125,1.140625 C 2.796875,-3.65625 2.453125,-3.625 2.203125,-3.625 2.125,-3.609375 1.890625,-3.59375 1.8125,-3.59375 c -0.078125,0.015625 -0.140625,0.03125 -0.140625,0.125 0,0.109375 0.0625,0.109375 0.234375,0.109375 h 0.4375 c 0.8125,0 1.1875,0.671875 1.1875,1.65625 0,1.359375 -0.6875,1.640625 -1.125,1.640625 -0.4375,0 -1.1875,-0.171875 -1.53125,-0.75 0.34375,0.046875 0.65625,-0.171875 0.65625,-0.546875 0,-0.359375 -0.265625,-0.5625 -0.546875,-0.5625 -0.25,0 -0.5625,0.140625 -0.5625,0.578125 0,0.90625 0.921875,1.5625 2.015625,1.5625 1.21875,0 2.125,-0.90625 2.125,-1.921875 0,-0.8125 -0.640625,-1.59375 -1.671875,-1.8125 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <g + style="fill:#000000" + transform="translate(-227.86173,54.754412)" + ns1:textextver="0.8" + ns1:converter="pdf2svg" + ns1:text="$4$" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:scale="1.0" + id="g4809-5"> + <g + style="fill:#000000" + id="g4807-9"> + <g + style="fill:#000000;fill-opacity:1" + id="g4805-2"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 2.9375,-1.640625 v 0.859375 c 0,0.359375 -0.03125,0.46875 -0.765625,0.46875 H 1.96875 V 0 C 2.375,-0.03125 2.890625,-0.03125 3.3125,-0.03125 c 0.421875,0 0.9375,0 1.359375,0.03125 v -0.3125 h -0.21875 c -0.734375,0 -0.75,-0.109375 -0.75,-0.46875 V -1.640625 H 4.6875 v -0.3125 H 3.703125 v -4.53125 c 0,-0.203125 0,-0.265625 -0.171875,-0.265625 -0.078125,0 -0.109375,0 -0.1875,0.125 l -3.0625,4.671875 v 0.3125 z m 0.046875,-0.3125 H 0.5625 l 2.421875,-3.71875 z m 0,0" + transform="translate(148.712,134.765)" + id="path4803-2" /> + </g> + </g> + </g> + <g + id="g4904-8" + ns1:scale="1.0" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:text="tas" + ns1:converter="pdf2svg" + ns1:textextver="0.8" + transform="translate(-347.20943,34.558842)"> + <g + id="g4902-9"> + <g + id="g4900-7" + style="fill:#000000;fill-opacity:1"> + <path + id="path4894-3" + transform="translate(148.712,134.765)" + d="m 1.71875,-3.984375 h 1.4375 v -0.3125 H 1.71875 V -6.125 h -0.25 c 0,0.8125 -0.296875,1.875 -1.28125,1.921875 v 0.21875 h 0.84375 v 2.75 c 0,1.21875 0.9375,1.34375 1.296875,1.34375 0.703125,0 0.984375,-0.703125 0.984375,-1.34375 v -0.5625 h -0.25 V -1.25 c 0,0.734375 -0.296875,1.109375 -0.671875,1.109375 -0.671875,0 -0.671875,-0.90625 -0.671875,-1.078125 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path4896-6" + transform="translate(152.58645,134.765)" + d="m 3.3125,-0.75 c 0.046875,0.390625 0.3125,0.8125 0.78125,0.8125 0.21875,0 0.828125,-0.140625 0.828125,-0.953125 v -0.5625 h -0.25 v 0.5625 c 0,0.578125 -0.25,0.640625 -0.359375,0.640625 -0.328125,0 -0.375,-0.453125 -0.375,-0.5 v -1.984375 c 0,-0.421875 0,-0.8125 -0.359375,-1.1875 C 3.1875,-4.3125 2.6875,-4.46875 2.21875,-4.46875 c -0.828125,0 -1.515625,0.46875 -1.515625,1.125 0,0.296875 0.203125,0.46875 0.46875,0.46875 0.28125,0 0.453125,-0.203125 0.453125,-0.453125 0,-0.125 -0.046875,-0.453125 -0.515625,-0.453125 C 1.390625,-4.140625 1.875,-4.25 2.1875,-4.25 c 0.5,0 1.0625,0.390625 1.0625,1.28125 v 0.359375 c -0.515625,0.03125 -1.203125,0.0625 -1.828125,0.359375 -0.75,0.34375 -1,0.859375 -1,1.296875 0,0.8125 0.96875,1.0625 1.59375,1.0625 0.65625,0 1.109375,-0.40625 1.296875,-0.859375 z M 3.25,-2.390625 v 1 c 0,0.9375 -0.71875,1.28125 -1.171875,1.28125 -0.484375,0 -0.890625,-0.34375 -0.890625,-0.84375 0,-0.546875 0.421875,-1.375 2.0625,-1.4375 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path4898-1" + transform="translate(157.56775,134.765)" + d="m 2.078125,-1.9375 c 0.21875,0.046875 1.03125,0.203125 1.03125,0.921875 0,0.5 -0.34375,0.90625 -1.125,0.90625 -0.84375,0 -1.203125,-0.5625 -1.390625,-1.421875 C 0.5625,-1.65625 0.5625,-1.6875 0.453125,-1.6875 c -0.125,0 -0.125,0.0625 -0.125,0.234375 V -0.125 c 0,0.171875 0,0.234375 0.109375,0.234375 0.046875,0 0.0625,-0.015625 0.25,-0.203125 0.015625,-0.015625 0.015625,-0.03125 0.203125,-0.21875 0.4375,0.40625 0.890625,0.421875 1.09375,0.421875 1.140625,0 1.609375,-0.671875 1.609375,-1.390625 0,-0.515625 -0.296875,-0.828125 -0.421875,-0.9375 C 2.84375,-2.546875 2.453125,-2.625 2.03125,-2.703125 1.46875,-2.8125 0.8125,-2.9375 0.8125,-3.515625 c 0,-0.359375 0.25,-0.765625 1.109375,-0.765625 1.09375,0 1.15625,0.90625 1.171875,1.203125 0,0.09375 0.09375,0.09375 0.109375,0.09375 0.140625,0 0.140625,-0.046875 0.140625,-0.234375 v -1.015625 c 0,-0.15625 0,-0.234375 -0.109375,-0.234375 -0.046875,0 -0.078125,0 -0.203125,0.125 -0.03125,0.03125 -0.125,0.125 -0.171875,0.15625 -0.375,-0.28125 -0.78125,-0.28125 -0.9375,-0.28125 -1.21875,0 -1.59375,0.671875 -1.59375,1.234375 0,0.34375 0.15625,0.625 0.421875,0.84375 0.328125,0.25 0.609375,0.3125 1.328125,0.453125 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + </g> + <rect + style="opacity:1;fill:#999999;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" + id="rect4520-0-2" + width="268.55209" + height="25.324409" + x="238.14201" + y="75.775368" /> + <rect + style="opacity:1;fill:#ff0002;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" + id="rect4520-3-2-9" + width="64.870178" + height="25.324411" + x="270.71881" + y="75.775368" /> + <path + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="M 292.39733,75.775362 V 100.72178" + id="path4537-61-3" + inkscape:connector-curvature="0" /> + <path + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="M 313.88967,75.728112 V 100.72178" + id="path4539-8-19" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + <path + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="M 335.77011,75.869852 V 100.81628" + id="path4541-7-4" + inkscape:connector-curvature="0" /> + <path + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="M 270.71095,75.775362 V 100.72178" + id="path4537-6-9-7" + inkscape:connector-curvature="0" /> + <path + sodipodi:nodetypes="cc" + inkscape:connector-curvature="0" + id="path5059-8" + d="m 281.04231,88.437552 55.90201,83.541258" + style="fill:none;stroke:#ff0000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#DotM-3);marker-end:url(#Arrow2Mend-7)" /> + <g + id="g6058-4" + ns1:scale="1.0" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:text="pile" + ns1:converter="pdf2svg" + ns1:textextver="0.8" + transform="translate(72.80076,-62.494978)"> + <g + id="g6056-5"> + <g + id="g6054-0" + style="fill:#000000;fill-opacity:1"> + <path + id="path6046-3" + transform="translate(148.712,134.765)" + d="m 1.71875,-3.75 v -0.65625 l -1.4375,0.109375 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5 v 4.65625 C 1.0625,1.625 0.953125,1.625 0.28125,1.625 V 1.9375 C 0.625,1.921875 1.140625,1.90625 1.390625,1.90625 c 0.28125,0 0.78125,0.015625 1.125,0.03125 V 1.625 C 1.859375,1.625 1.75,1.625 1.75,1.171875 V -0.59375 c 0.046875,0.171875 0.46875,0.703125 1.21875,0.703125 1.1875,0 2.21875,-0.984375 2.21875,-2.265625 0,-1.265625 -0.953125,-2.25 -2.078125,-2.25 -0.78125,0 -1.203125,0.4375 -1.390625,0.65625 z M 1.75,-1.140625 v -2.21875 C 2.03125,-3.875 2.515625,-4.15625 3.03125,-4.15625 c 0.734375,0 1.328125,0.875 1.328125,2 0,1.203125 -0.6875,2.046875 -1.421875,2.046875 -0.40625,0 -0.78125,-0.203125 -1.046875,-0.609375 C 1.75,-0.921875 1.75,-0.9375 1.75,-1.140625 Z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6048-6" + transform="translate(154.24722,134.765)" + d="M 1.765625,-4.40625 0.375,-4.296875 v 0.3125 c 0.640625,0 0.734375,0.0625 0.734375,0.546875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 C 0.640625,-0.015625 1.1875,-0.03125 1.421875,-0.03125 1.78125,-0.03125 2.125,-0.015625 2.46875,0 v -0.3125 c -0.671875,0 -0.703125,-0.046875 -0.703125,-0.4375 z m 0.03125,-1.734375 c 0,-0.3125 -0.234375,-0.53125 -0.515625,-0.53125 -0.3125,0 -0.53125,0.265625 -0.53125,0.53125 0,0.265625 0.21875,0.53125 0.53125,0.53125 0.28125,0 0.515625,-0.21875 0.515625,-0.53125 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6050-1" + transform="translate(157.01483,134.765)" + d="M 1.765625,-6.921875 0.328125,-6.8125 V -6.5 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 C 0.65625,-0.015625 1.1875,-0.03125 1.4375,-0.03125 c 0.25,0 0.734375,0.015625 1.109375,0.03125 v -0.3125 c -0.671875,0 -0.78125,0 -0.78125,-0.4375 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6052-0" + transform="translate(159.78244,134.765)" + d="M 1.109375,-2.515625 C 1.171875,-4 2.015625,-4.25 2.359375,-4.25 c 1.015625,0 1.125,1.34375 1.125,1.734375 z m 0,0.21875 h 2.78125 c 0.21875,0 0.25,0 0.25,-0.21875 0,-0.984375 -0.546875,-1.953125 -1.78125,-1.953125 -1.15625,0 -2.078125,1.03125 -2.078125,2.28125 0,1.328125 1.046875,2.296875 2.1875,2.296875 C 3.6875,0.109375 4.140625,-1 4.140625,-1.1875 4.140625,-1.28125 4.0625,-1.3125 4,-1.3125 c -0.078125,0 -0.109375,0.0625 -0.125,0.140625 -0.34375,1.03125 -1.25,1.03125 -1.34375,1.03125 -0.5,0 -0.890625,-0.296875 -1.125,-0.671875 -0.296875,-0.46875 -0.296875,-1.125 -0.296875,-1.484375 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <g + transform="matrix(0.52294065,0,0,0.52294065,215.51424,35.720652)" + ns1:textextver="0.8" + ns1:converter="pdf2svg" + ns1:text="longueur" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:scale="1.0" + id="g6194-6"> + <g + id="g6192-3"> + <g + style="fill:#000000;fill-opacity:1" + id="g6190-2"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.765625,-6.921875 0.328125,-6.8125 V -6.5 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 C 0.65625,-0.015625 1.1875,-0.03125 1.4375,-0.03125 c 0.25,0 0.734375,0.015625 1.109375,0.03125 v -0.3125 c -0.671875,0 -0.78125,0 -0.78125,-0.4375 z m 0,0" + transform="translate(148.712,134.765)" + id="path6174-0" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 4.6875,-2.140625 C 4.6875,-3.40625 3.703125,-4.46875 2.5,-4.46875 c -1.25,0 -2.21875,1.09375 -2.21875,2.328125 0,1.296875 1.03125,2.25 2.203125,2.25 1.203125,0 2.203125,-0.984375 2.203125,-2.25 z m -2.1875,2 c -0.4375,0 -0.875,-0.203125 -1.140625,-0.671875 -0.25,-0.4375 -0.25,-1.046875 -0.25,-1.40625 0,-0.390625 0,-0.921875 0.234375,-1.359375 C 1.609375,-4.03125 2.078125,-4.25 2.484375,-4.25 c 0.4375,0 0.859375,0.21875 1.125,0.65625 0.265625,0.421875 0.265625,1 0.265625,1.375 0,0.359375 0,0.90625 -0.21875,1.34375 C 3.421875,-0.421875 2.984375,-0.140625 2.5,-0.140625 Z m 0,0" + transform="translate(151.47961,134.765)" + id="path6176-6" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.09375,-3.421875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.359375,-0.015625 0.859375,-0.03125 1.140625,-0.03125 0.25,0 0.765625,0.015625 1.109375,0.03125 v -0.3125 c -0.671875,0 -0.78125,0 -0.78125,-0.4375 V -2.59375 C 1.78125,-3.625 2.5,-4.1875 3.125,-4.1875 c 0.640625,0 0.75,0.53125 0.75,1.109375 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.34375,-0.015625 0.859375,-0.03125 1.125,-0.03125 0.25,0 0.78125,0.015625 1.109375,0.03125 v -0.3125 c -0.515625,0 -0.765625,0 -0.765625,-0.296875 v -1.90625 c 0,-0.859375 0,-1.15625 -0.3125,-1.515625 -0.140625,-0.171875 -0.46875,-0.375 -1.046875,-0.375 C 2.46875,-4.40625 2,-3.984375 1.71875,-3.359375 V -4.40625 L 0.3125,-4.296875 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 z m 0,0" + transform="translate(156.46091,134.765)" + id="path6178-1" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 2.21875,-1.71875 c -0.875,0 -0.875,-1 -0.875,-1.21875 0,-0.265625 0.015625,-0.59375 0.15625,-0.84375 0.078125,-0.109375 0.3125,-0.390625 0.71875,-0.390625 0.859375,0 0.859375,0.984375 0.859375,1.21875 0,0.265625 0,0.59375 -0.15625,0.84375 C 2.84375,-2 2.609375,-1.71875 2.21875,-1.71875 Z M 1.0625,-1.328125 c 0,-0.03125 0,-0.265625 0.15625,-0.46875 0.390625,0.28125 0.8125,0.3125 1,0.3125 0.921875,0 1.609375,-0.6875 1.609375,-1.453125 0,-0.375 -0.15625,-0.734375 -0.40625,-0.96875 C 3.78125,-4.25 4.140625,-4.296875 4.3125,-4.296875 c 0.03125,0 0.078125,0 0.109375,0.015625 C 4.3125,-4.25 4.25,-4.140625 4.25,-4.015625 c 0,0.171875 0.140625,0.28125 0.296875,0.28125 0.09375,0 0.28125,-0.0625 0.28125,-0.296875 0,-0.171875 -0.109375,-0.484375 -0.5,-0.484375 -0.203125,0 -0.640625,0.0625 -1.0625,0.46875 C 2.84375,-4.375 2.4375,-4.40625 2.21875,-4.40625 c -0.9375,0 -1.625,0.6875 -1.625,1.453125 0,0.4375 0.21875,0.8125 0.46875,1.03125 -0.125,0.140625 -0.3125,0.46875 -0.3125,0.828125 0,0.3125 0.140625,0.6875 0.453125,0.890625 -0.609375,0.15625 -0.921875,0.59375 -0.921875,0.984375 0,0.71875 0.984375,1.265625 2.203125,1.265625 1.171875,0 2.203125,-0.5 2.203125,-1.28125 0,-0.34375 -0.125,-0.859375 -0.640625,-1.140625 -0.53125,-0.265625 -1.109375,-0.265625 -1.71875,-0.265625 -0.25,0 -0.671875,0 -0.75,-0.015625 C 1.265625,-0.703125 1.0625,-1 1.0625,-1.328125 Z M 2.5,1.828125 c -1.015625,0 -1.703125,-0.515625 -1.703125,-1.046875 0,-0.453125 0.375,-0.828125 0.8125,-0.84375 h 0.59375 c 0.859375,0 1.96875,0 1.96875,0.84375 0,0.546875 -0.703125,1.046875 -1.671875,1.046875 z m 0,0" + transform="translate(161.99613,134.765)" + id="path6180-5" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 3.890625,-0.78125 V 0.109375 L 5.328125,0 V -0.3125 C 4.640625,-0.3125 4.5625,-0.375 4.5625,-0.875 v -3.53125 l -1.46875,0.109375 v 0.3125 c 0.6875,0 0.78125,0.0625 0.78125,0.5625 v 1.765625 c 0,0.875 -0.484375,1.546875 -1.21875,1.546875 -0.828125,0 -0.875,-0.46875 -0.875,-0.984375 v -3.3125 L 0.3125,-4.296875 v 0.3125 c 0.78125,0 0.78125,0.03125 0.78125,0.90625 v 1.5 c 0,0.78125 0,1.6875 1.515625,1.6875 0.5625,0 1,-0.28125 1.28125,-0.890625 z m 0,0" + transform="translate(166.97743,134.765)" + id="path6182-5" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.109375,-2.515625 C 1.171875,-4 2.015625,-4.25 2.359375,-4.25 c 1.015625,0 1.125,1.34375 1.125,1.734375 z m 0,0.21875 h 2.78125 c 0.21875,0 0.25,0 0.25,-0.21875 0,-0.984375 -0.546875,-1.953125 -1.78125,-1.953125 -1.15625,0 -2.078125,1.03125 -2.078125,2.28125 0,1.328125 1.046875,2.296875 2.1875,2.296875 C 3.6875,0.109375 4.140625,-1 4.140625,-1.1875 4.140625,-1.28125 4.0625,-1.3125 4,-1.3125 c -0.078125,0 -0.109375,0.0625 -0.125,0.140625 -0.34375,1.03125 -1.25,1.03125 -1.34375,1.03125 -0.5,0 -0.890625,-0.296875 -1.125,-0.671875 -0.296875,-0.46875 -0.296875,-1.125 -0.296875,-1.484375 z m 0,0" + transform="translate(172.51265,134.765)" + id="path6184-4" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 3.890625,-0.78125 V 0.109375 L 5.328125,0 V -0.3125 C 4.640625,-0.3125 4.5625,-0.375 4.5625,-0.875 v -3.53125 l -1.46875,0.109375 v 0.3125 c 0.6875,0 0.78125,0.0625 0.78125,0.5625 v 1.765625 c 0,0.875 -0.484375,1.546875 -1.21875,1.546875 -0.828125,0 -0.875,-0.46875 -0.875,-0.984375 v -3.3125 L 0.3125,-4.296875 v 0.3125 c 0.78125,0 0.78125,0.03125 0.78125,0.90625 v 1.5 c 0,0.78125 0,1.6875 1.515625,1.6875 0.5625,0 1,-0.28125 1.28125,-0.890625 z m 0,0" + transform="translate(176.94003,134.765)" + id="path6186-7" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.671875,-3.3125 V -4.40625 L 0.28125,-4.296875 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.390625,-0.015625 0.859375,-0.03125 1.140625,-0.03125 0.390625,0 0.859375,0 1.265625,0.03125 V -0.3125 H 2.46875 c -0.734375,0 -0.75,-0.109375 -0.75,-0.46875 V -2.3125 c 0,-0.984375 0.421875,-1.875 1.171875,-1.875 0.0625,0 0.09375,0 0.109375,0.015625 -0.03125,0 -0.234375,0.125 -0.234375,0.390625 0,0.265625 0.21875,0.421875 0.4375,0.421875 0.171875,0 0.421875,-0.125 0.421875,-0.4375 0,-0.3125 -0.3125,-0.609375 -0.734375,-0.609375 -0.734375,0 -1.09375,0.671875 -1.21875,1.09375 z m 0,0" + transform="translate(182.47525,134.765)" + id="path6188-6" /> + </g> + </g> + </g> + <g + id="g6430-5" + ns1:scale="1.0" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:text="capacit\xc3\xa9" + ns1:converter="pdf2svg" + ns1:textextver="0.8" + transform="matrix(0.48712834,0,0,0.48712834,243.5526,40.493852)"> + <g + id="g6428-4"> + <g + id="g6418-7" + style="fill:#000000;fill-opacity:1"> + <path + id="path6404-4" + transform="translate(148.712,134.765)" + d="m 1.171875,-2.171875 c 0,-1.625 0.8125,-2.046875 1.34375,-2.046875 0.09375,0 0.71875,0.015625 1.0625,0.375 -0.40625,0.03125 -0.46875,0.328125 -0.46875,0.453125 0,0.265625 0.1875,0.453125 0.453125,0.453125 0.265625,0 0.46875,-0.15625 0.46875,-0.46875 0,-0.671875 -0.765625,-1.0625 -1.53125,-1.0625 -1.25,0 -2.15625,1.078125 -2.15625,2.3125 0,1.28125 0.984375,2.265625 2.140625,2.265625 1.328125,0 1.65625,-1.203125 1.65625,-1.296875 0,-0.09375 -0.109375,-0.09375 -0.140625,-0.09375 -0.078125,0 -0.109375,0.03125 -0.125,0.09375 -0.28125,0.921875 -0.9375,1.046875 -1.296875,1.046875 -0.53125,0 -1.40625,-0.421875 -1.40625,-2.03125 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6406-4" + transform="translate(153.13938,134.765)" + d="m 3.3125,-0.75 c 0.046875,0.390625 0.3125,0.8125 0.78125,0.8125 0.21875,0 0.828125,-0.140625 0.828125,-0.953125 v -0.5625 h -0.25 v 0.5625 c 0,0.578125 -0.25,0.640625 -0.359375,0.640625 -0.328125,0 -0.375,-0.453125 -0.375,-0.5 v -1.984375 c 0,-0.421875 0,-0.8125 -0.359375,-1.1875 C 3.1875,-4.3125 2.6875,-4.46875 2.21875,-4.46875 c -0.828125,0 -1.515625,0.46875 -1.515625,1.125 0,0.296875 0.203125,0.46875 0.46875,0.46875 0.28125,0 0.453125,-0.203125 0.453125,-0.453125 0,-0.125 -0.046875,-0.453125 -0.515625,-0.453125 C 1.390625,-4.140625 1.875,-4.25 2.1875,-4.25 c 0.5,0 1.0625,0.390625 1.0625,1.28125 v 0.359375 c -0.515625,0.03125 -1.203125,0.0625 -1.828125,0.359375 -0.75,0.34375 -1,0.859375 -1,1.296875 0,0.8125 0.96875,1.0625 1.59375,1.0625 0.65625,0 1.109375,-0.40625 1.296875,-0.859375 z M 3.25,-2.390625 v 1 c 0,0.9375 -0.71875,1.28125 -1.171875,1.28125 -0.484375,0 -0.890625,-0.34375 -0.890625,-0.84375 0,-0.546875 0.421875,-1.375 2.0625,-1.4375 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6408-3" + transform="translate(158.12068,134.765)" + d="m 1.71875,-3.75 v -0.65625 l -1.4375,0.109375 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5 v 4.65625 C 1.0625,1.625 0.953125,1.625 0.28125,1.625 V 1.9375 C 0.625,1.921875 1.140625,1.90625 1.390625,1.90625 c 0.28125,0 0.78125,0.015625 1.125,0.03125 V 1.625 C 1.859375,1.625 1.75,1.625 1.75,1.171875 V -0.59375 c 0.046875,0.171875 0.46875,0.703125 1.21875,0.703125 1.1875,0 2.21875,-0.984375 2.21875,-2.265625 0,-1.265625 -0.953125,-2.25 -2.078125,-2.25 -0.78125,0 -1.203125,0.4375 -1.390625,0.65625 z M 1.75,-1.140625 v -2.21875 C 2.03125,-3.875 2.515625,-4.15625 3.03125,-4.15625 c 0.734375,0 1.328125,0.875 1.328125,2 0,1.203125 -0.6875,2.046875 -1.421875,2.046875 -0.40625,0 -0.78125,-0.203125 -1.046875,-0.609375 C 1.75,-0.921875 1.75,-0.9375 1.75,-1.140625 Z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6410-0" + transform="translate(163.6559,134.765)" + d="m 3.3125,-0.75 c 0.046875,0.390625 0.3125,0.8125 0.78125,0.8125 0.21875,0 0.828125,-0.140625 0.828125,-0.953125 v -0.5625 h -0.25 v 0.5625 c 0,0.578125 -0.25,0.640625 -0.359375,0.640625 -0.328125,0 -0.375,-0.453125 -0.375,-0.5 v -1.984375 c 0,-0.421875 0,-0.8125 -0.359375,-1.1875 C 3.1875,-4.3125 2.6875,-4.46875 2.21875,-4.46875 c -0.828125,0 -1.515625,0.46875 -1.515625,1.125 0,0.296875 0.203125,0.46875 0.46875,0.46875 0.28125,0 0.453125,-0.203125 0.453125,-0.453125 0,-0.125 -0.046875,-0.453125 -0.515625,-0.453125 C 1.390625,-4.140625 1.875,-4.25 2.1875,-4.25 c 0.5,0 1.0625,0.390625 1.0625,1.28125 v 0.359375 c -0.515625,0.03125 -1.203125,0.0625 -1.828125,0.359375 -0.75,0.34375 -1,0.859375 -1,1.296875 0,0.8125 0.96875,1.0625 1.59375,1.0625 0.65625,0 1.109375,-0.40625 1.296875,-0.859375 z M 3.25,-2.390625 v 1 c 0,0.9375 -0.71875,1.28125 -1.171875,1.28125 -0.484375,0 -0.890625,-0.34375 -0.890625,-0.84375 0,-0.546875 0.421875,-1.375 2.0625,-1.4375 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6412-7" + transform="translate(168.6372,134.765)" + d="m 1.171875,-2.171875 c 0,-1.625 0.8125,-2.046875 1.34375,-2.046875 0.09375,0 0.71875,0.015625 1.0625,0.375 -0.40625,0.03125 -0.46875,0.328125 -0.46875,0.453125 0,0.265625 0.1875,0.453125 0.453125,0.453125 0.265625,0 0.46875,-0.15625 0.46875,-0.46875 0,-0.671875 -0.765625,-1.0625 -1.53125,-1.0625 -1.25,0 -2.15625,1.078125 -2.15625,2.3125 0,1.28125 0.984375,2.265625 2.140625,2.265625 1.328125,0 1.65625,-1.203125 1.65625,-1.296875 0,-0.09375 -0.109375,-0.09375 -0.140625,-0.09375 -0.078125,0 -0.109375,0.03125 -0.125,0.09375 -0.28125,0.921875 -0.9375,1.046875 -1.296875,1.046875 -0.53125,0 -1.40625,-0.421875 -1.40625,-2.03125 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6414-8" + transform="translate(173.06458,134.765)" + d="M 1.765625,-4.40625 0.375,-4.296875 v 0.3125 c 0.640625,0 0.734375,0.0625 0.734375,0.546875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 C 0.640625,-0.015625 1.1875,-0.03125 1.421875,-0.03125 1.78125,-0.03125 2.125,-0.015625 2.46875,0 v -0.3125 c -0.671875,0 -0.703125,-0.046875 -0.703125,-0.4375 z m 0.03125,-1.734375 c 0,-0.3125 -0.234375,-0.53125 -0.515625,-0.53125 -0.3125,0 -0.53125,0.265625 -0.53125,0.53125 0,0.265625 0.21875,0.53125 0.53125,0.53125 0.28125,0 0.515625,-0.21875 0.515625,-0.53125 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6416-6" + transform="translate(175.83219,134.765)" + d="m 1.71875,-3.984375 h 1.4375 v -0.3125 H 1.71875 V -6.125 h -0.25 c 0,0.8125 -0.296875,1.875 -1.28125,1.921875 v 0.21875 h 0.84375 v 2.75 c 0,1.21875 0.9375,1.34375 1.296875,1.34375 0.703125,0 0.984375,-0.703125 0.984375,-1.34375 v -0.5625 h -0.25 V -1.25 c 0,0.734375 -0.296875,1.109375 -0.671875,1.109375 -0.671875,0 -0.671875,-0.90625 -0.671875,-1.078125 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + <g + id="g6422-88" + style="fill:#000000;fill-opacity:1"> + <path + id="path6420-4" + transform="translate(179.42769,134.765)" + d="M 3.734375,-6.296875 C 3.828125,-6.375 3.90625,-6.484375 3.90625,-6.59375 c 0,-0.1875 -0.171875,-0.359375 -0.359375,-0.359375 -0.140625,0 -0.25,0.109375 -0.296875,0.171875 l -1.203125,1.515625 0.171875,0.1875 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + <g + id="g6426-3" + style="fill:#000000;fill-opacity:1"> + <path + id="path6424-1" + transform="translate(179.70664,134.765)" + d="M 1.109375,-2.515625 C 1.171875,-4 2.015625,-4.25 2.359375,-4.25 c 1.015625,0 1.125,1.34375 1.125,1.734375 z m 0,0.21875 h 2.78125 c 0.21875,0 0.25,0 0.25,-0.21875 0,-0.984375 -0.546875,-1.953125 -1.78125,-1.953125 -1.15625,0 -2.078125,1.03125 -2.078125,2.28125 0,1.328125 1.046875,2.296875 2.1875,2.296875 C 3.6875,0.109375 4.140625,-1 4.140625,-1.1875 4.140625,-1.28125 4.0625,-1.3125 4,-1.3125 c -0.078125,0 -0.109375,0.0625 -0.125,0.140625 -0.34375,1.03125 -1.25,1.03125 -1.34375,1.03125 -0.5,0 -0.890625,-0.296875 -1.125,-0.671875 -0.296875,-0.46875 -0.296875,-1.125 -0.296875,-1.484375 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <g + transform="matrix(0.48104848,0,0,0.48104848,202.05643,8.2181719)" + ns1:textextver="0.8" + ns1:converter="pdf2svg" + ns1:text="pointeur" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:scale="1.0" + id="g6701-4"> + <g + id="g6699-9"> + <g + style="fill:#000000;fill-opacity:1" + id="g6679-20"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 1.71875,-3.75 v -0.65625 l -1.4375,0.109375 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5 v 4.65625 C 1.0625,1.625 0.953125,1.625 0.28125,1.625 V 1.9375 C 0.625,1.921875 1.140625,1.90625 1.390625,1.90625 c 0.28125,0 0.78125,0.015625 1.125,0.03125 V 1.625 C 1.859375,1.625 1.75,1.625 1.75,1.171875 V -0.59375 c 0.046875,0.171875 0.46875,0.703125 1.21875,0.703125 1.1875,0 2.21875,-0.984375 2.21875,-2.265625 0,-1.265625 -0.953125,-2.25 -2.078125,-2.25 -0.78125,0 -1.203125,0.4375 -1.390625,0.65625 z M 1.75,-1.140625 v -2.21875 C 2.03125,-3.875 2.515625,-4.15625 3.03125,-4.15625 c 0.734375,0 1.328125,0.875 1.328125,2 0,1.203125 -0.6875,2.046875 -1.421875,2.046875 -0.40625,0 -0.78125,-0.203125 -1.046875,-0.609375 C 1.75,-0.921875 1.75,-0.9375 1.75,-1.140625 Z m 0,0" + transform="translate(148.712,134.765)" + id="path6677-6" /> + </g> + <g + style="fill:#000000;fill-opacity:1" + id="g6687-8"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 4.6875,-2.140625 C 4.6875,-3.40625 3.703125,-4.46875 2.5,-4.46875 c -1.25,0 -2.21875,1.09375 -2.21875,2.328125 0,1.296875 1.03125,2.25 2.203125,2.25 1.203125,0 2.203125,-0.984375 2.203125,-2.25 z m -2.1875,2 c -0.4375,0 -0.875,-0.203125 -1.140625,-0.671875 -0.25,-0.4375 -0.25,-1.046875 -0.25,-1.40625 0,-0.390625 0,-0.921875 0.234375,-1.359375 C 1.609375,-4.03125 2.078125,-4.25 2.484375,-4.25 c 0.4375,0 0.859375,0.21875 1.125,0.65625 0.265625,0.421875 0.265625,1 0.265625,1.375 0,0.359375 0,0.90625 -0.21875,1.34375 C 3.421875,-0.421875 2.984375,-0.140625 2.5,-0.140625 Z m 0,0" + transform="translate(154.52617,134.765)" + id="path6681-9" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.765625,-4.40625 0.375,-4.296875 v 0.3125 c 0.640625,0 0.734375,0.0625 0.734375,0.546875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 C 0.640625,-0.015625 1.1875,-0.03125 1.421875,-0.03125 1.78125,-0.03125 2.125,-0.015625 2.46875,0 v -0.3125 c -0.671875,0 -0.703125,-0.046875 -0.703125,-0.4375 z m 0.03125,-1.734375 c 0,-0.3125 -0.234375,-0.53125 -0.515625,-0.53125 -0.3125,0 -0.53125,0.265625 -0.53125,0.53125 0,0.265625 0.21875,0.53125 0.53125,0.53125 0.28125,0 0.515625,-0.21875 0.515625,-0.53125 z m 0,0" + transform="translate(159.50747,134.765)" + id="path6683-2" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.09375,-3.421875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.359375,-0.015625 0.859375,-0.03125 1.140625,-0.03125 0.25,0 0.765625,0.015625 1.109375,0.03125 v -0.3125 c -0.671875,0 -0.78125,0 -0.78125,-0.4375 V -2.59375 C 1.78125,-3.625 2.5,-4.1875 3.125,-4.1875 c 0.640625,0 0.75,0.53125 0.75,1.109375 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.34375,-0.015625 0.859375,-0.03125 1.125,-0.03125 0.25,0 0.78125,0.015625 1.109375,0.03125 v -0.3125 c -0.515625,0 -0.765625,0 -0.765625,-0.296875 v -1.90625 c 0,-0.859375 0,-1.15625 -0.3125,-1.515625 -0.140625,-0.171875 -0.46875,-0.375 -1.046875,-0.375 C 2.46875,-4.40625 2,-3.984375 1.71875,-3.359375 V -4.40625 L 0.3125,-4.296875 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 z m 0,0" + transform="translate(162.27508,134.765)" + id="path6685-66" /> + </g> + <g + style="fill:#000000;fill-opacity:1" + id="g6697-4"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 1.71875,-3.984375 h 1.4375 v -0.3125 H 1.71875 V -6.125 h -0.25 c 0,0.8125 -0.296875,1.875 -1.28125,1.921875 v 0.21875 h 0.84375 v 2.75 c 0,1.21875 0.9375,1.34375 1.296875,1.34375 0.703125,0 0.984375,-0.703125 0.984375,-1.34375 v -0.5625 h -0.25 V -1.25 c 0,0.734375 -0.296875,1.109375 -0.671875,1.109375 -0.671875,0 -0.671875,-0.90625 -0.671875,-1.078125 z m 0,0" + transform="translate(167.53135,134.765)" + id="path6689-9" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.109375,-2.515625 C 1.171875,-4 2.015625,-4.25 2.359375,-4.25 c 1.015625,0 1.125,1.34375 1.125,1.734375 z m 0,0.21875 h 2.78125 c 0.21875,0 0.25,0 0.25,-0.21875 0,-0.984375 -0.546875,-1.953125 -1.78125,-1.953125 -1.15625,0 -2.078125,1.03125 -2.078125,2.28125 0,1.328125 1.046875,2.296875 2.1875,2.296875 C 3.6875,0.109375 4.140625,-1 4.140625,-1.1875 4.140625,-1.28125 4.0625,-1.3125 4,-1.3125 c -0.078125,0 -0.109375,0.0625 -0.125,0.140625 -0.34375,1.03125 -1.25,1.03125 -1.34375,1.03125 -0.5,0 -0.890625,-0.296875 -1.125,-0.671875 -0.296875,-0.46875 -0.296875,-1.125 -0.296875,-1.484375 z m 0,0" + transform="translate(171.40581,134.765)" + id="path6691-5" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 3.890625,-0.78125 V 0.109375 L 5.328125,0 V -0.3125 C 4.640625,-0.3125 4.5625,-0.375 4.5625,-0.875 v -3.53125 l -1.46875,0.109375 v 0.3125 c 0.6875,0 0.78125,0.0625 0.78125,0.5625 v 1.765625 c 0,0.875 -0.484375,1.546875 -1.21875,1.546875 -0.828125,0 -0.875,-0.46875 -0.875,-0.984375 v -3.3125 L 0.3125,-4.296875 v 0.3125 c 0.78125,0 0.78125,0.03125 0.78125,0.90625 v 1.5 c 0,0.78125 0,1.6875 1.515625,1.6875 0.5625,0 1,-0.28125 1.28125,-0.890625 z m 0,0" + transform="translate(175.83319,134.765)" + id="path6693-0" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.671875,-3.3125 V -4.40625 L 0.28125,-4.296875 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.390625,-0.015625 0.859375,-0.03125 1.140625,-0.03125 0.390625,0 0.859375,0 1.265625,0.03125 V -0.3125 H 2.46875 c -0.734375,0 -0.75,-0.109375 -0.75,-0.46875 V -2.3125 c 0,-0.984375 0.421875,-1.875 1.171875,-1.875 0.0625,0 0.09375,0 0.109375,0.015625 -0.03125,0 -0.234375,0.125 -0.234375,0.390625 0,0.265625 0.21875,0.421875 0.4375,0.421875 0.171875,0 0.421875,-0.125 0.421875,-0.4375 0,-0.3125 -0.3125,-0.609375 -0.734375,-0.609375 -0.734375,0 -1.09375,0.671875 -1.21875,1.09375 z m 0,0" + transform="translate(181.36841,134.765)" + id="path6695-4" /> + </g> + </g> + </g> + <rect + style="opacity:1;fill:#faffff;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" + id="rect4520-3-2-3-8" + width="64.870178" + height="25.324411" + x="413.09122" + y="75.77536" /> + <path + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 434.76971,75.77536 v 24.94642" + id="path4537-61-6-7" + inkscape:connector-curvature="0" /> + <path + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 456.26205,75.72811 v 24.99367" + id="path4539-8-1-1" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + <path + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="M 478.14249,75.869849 V 100.81628" + id="path4541-7-2-7" + inkscape:connector-curvature="0" /> + <path + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 413.08333,75.77536 v 24.94642" + id="path4537-6-9-9-2" + inkscape:connector-curvature="0" /> + <path + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="M 434.76971,75.775362 V 100.72178" + id="path4537-61-7-7" + inkscape:connector-curvature="0" /> + <path + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="M 456.26205,75.728112 V 100.72178" + id="path4539-8-4-2" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + <path + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="M 478.14248,75.869852 V 100.81628" + id="path4541-7-1-2" + inkscape:connector-curvature="0" /> + <g + id="g4809-4-85-6" + ns1:scale="1.0" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:text="$4$" + ns1:converter="pdf2svg" + ns1:textextver="0.8" + transform="translate(294.3195,-42.952438)" + style="fill:#000000"> + <g + id="g4807-5-9-1" + style="fill:#000000"> + <g + id="g4805-0-7-0" + style="fill:#000000;fill-opacity:1"> + <path + id="path4803-3-5-6" + transform="translate(148.712,134.765)" + d="m 2.9375,-1.640625 v 0.859375 c 0,0.359375 -0.03125,0.46875 -0.765625,0.46875 H 1.96875 V 0 C 2.375,-0.03125 2.890625,-0.03125 3.3125,-0.03125 c 0.421875,0 0.9375,0 1.359375,0.03125 v -0.3125 h -0.21875 c -0.734375,0 -0.75,-0.109375 -0.75,-0.46875 V -1.640625 H 4.6875 v -0.3125 H 3.703125 v -4.53125 c 0,-0.203125 0,-0.265625 -0.171875,-0.265625 -0.078125,0 -0.109375,0 -0.1875,0.125 l -3.0625,4.671875 v 0.3125 z m 0.046875,-0.3125 H 0.5625 l 2.421875,-3.71875 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <g + id="g4809-6-3-1" + ns1:scale="1.0" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:text="$4$" + ns1:converter="pdf2svg" + ns1:textextver="0.8" + transform="translate(315.81183,-42.952438)" + style="fill:#000000"> + <g + id="g4807-1-8-5" + style="fill:#000000"> + <g + id="g4805-06-8-9" + style="fill:#000000;fill-opacity:1"> + <path + id="path4803-32-3-4" + transform="translate(148.712,134.765)" + d="m 2.9375,-1.640625 v 0.859375 c 0,0.359375 -0.03125,0.46875 -0.765625,0.46875 H 1.96875 V 0 C 2.375,-0.03125 2.890625,-0.03125 3.3125,-0.03125 c 0.421875,0 0.9375,0 1.359375,0.03125 v -0.3125 h -0.21875 c -0.734375,0 -0.75,-0.109375 -0.75,-0.46875 V -1.640625 H 4.6875 v -0.3125 H 3.703125 v -4.53125 c 0,-0.203125 0,-0.265625 -0.171875,-0.265625 -0.078125,0 -0.109375,0 -0.1875,0.125 l -3.0625,4.671875 v 0.3125 z m 0.046875,-0.3125 H 0.5625 l 2.421875,-3.71875 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <circle + id="path3987-9" + style="fill:#000000;stroke:none;stroke-width:1.48231339" + cx="424.26486" + cy="88.437569" + r="2.2234702" /> + <g + id="g6383-0" + transform="translate(475.65585,-6.8715897)"> + <g + id="g6194-3-9" + ns1:scale="1.0" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:text="longueur" + ns1:converter="pdf2svg" + ns1:textextver="0.8" + transform="matrix(0.52294065,0,0,0.52294065,-115.91021,42.592237)"> + <g + id="g6192-6-1"> + <g + id="g6190-7-7" + style="fill:#000000;fill-opacity:1"> + <path + id="path6174-5-7" + transform="translate(148.712,134.765)" + d="M 1.765625,-6.921875 0.328125,-6.8125 V -6.5 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 C 0.65625,-0.015625 1.1875,-0.03125 1.4375,-0.03125 c 0.25,0 0.734375,0.015625 1.109375,0.03125 v -0.3125 c -0.671875,0 -0.78125,0 -0.78125,-0.4375 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6176-3-1" + transform="translate(151.47961,134.765)" + d="M 4.6875,-2.140625 C 4.6875,-3.40625 3.703125,-4.46875 2.5,-4.46875 c -1.25,0 -2.21875,1.09375 -2.21875,2.328125 0,1.296875 1.03125,2.25 2.203125,2.25 1.203125,0 2.203125,-0.984375 2.203125,-2.25 z m -2.1875,2 c -0.4375,0 -0.875,-0.203125 -1.140625,-0.671875 -0.25,-0.4375 -0.25,-1.046875 -0.25,-1.40625 0,-0.390625 0,-0.921875 0.234375,-1.359375 C 1.609375,-4.03125 2.078125,-4.25 2.484375,-4.25 c 0.4375,0 0.859375,0.21875 1.125,0.65625 0.265625,0.421875 0.265625,1 0.265625,1.375 0,0.359375 0,0.90625 -0.21875,1.34375 C 3.421875,-0.421875 2.984375,-0.140625 2.5,-0.140625 Z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6178-5-1" + transform="translate(156.46091,134.765)" + d="M 1.09375,-3.421875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.359375,-0.015625 0.859375,-0.03125 1.140625,-0.03125 0.25,0 0.765625,0.015625 1.109375,0.03125 v -0.3125 c -0.671875,0 -0.78125,0 -0.78125,-0.4375 V -2.59375 C 1.78125,-3.625 2.5,-4.1875 3.125,-4.1875 c 0.640625,0 0.75,0.53125 0.75,1.109375 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.34375,-0.015625 0.859375,-0.03125 1.125,-0.03125 0.25,0 0.78125,0.015625 1.109375,0.03125 v -0.3125 c -0.515625,0 -0.765625,0 -0.765625,-0.296875 v -1.90625 c 0,-0.859375 0,-1.15625 -0.3125,-1.515625 -0.140625,-0.171875 -0.46875,-0.375 -1.046875,-0.375 C 2.46875,-4.40625 2,-3.984375 1.71875,-3.359375 V -4.40625 L 0.3125,-4.296875 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6180-6-5" + transform="translate(161.99613,134.765)" + d="m 2.21875,-1.71875 c -0.875,0 -0.875,-1 -0.875,-1.21875 0,-0.265625 0.015625,-0.59375 0.15625,-0.84375 0.078125,-0.109375 0.3125,-0.390625 0.71875,-0.390625 0.859375,0 0.859375,0.984375 0.859375,1.21875 0,0.265625 0,0.59375 -0.15625,0.84375 C 2.84375,-2 2.609375,-1.71875 2.21875,-1.71875 Z M 1.0625,-1.328125 c 0,-0.03125 0,-0.265625 0.15625,-0.46875 0.390625,0.28125 0.8125,0.3125 1,0.3125 0.921875,0 1.609375,-0.6875 1.609375,-1.453125 0,-0.375 -0.15625,-0.734375 -0.40625,-0.96875 C 3.78125,-4.25 4.140625,-4.296875 4.3125,-4.296875 c 0.03125,0 0.078125,0 0.109375,0.015625 C 4.3125,-4.25 4.25,-4.140625 4.25,-4.015625 c 0,0.171875 0.140625,0.28125 0.296875,0.28125 0.09375,0 0.28125,-0.0625 0.28125,-0.296875 0,-0.171875 -0.109375,-0.484375 -0.5,-0.484375 -0.203125,0 -0.640625,0.0625 -1.0625,0.46875 C 2.84375,-4.375 2.4375,-4.40625 2.21875,-4.40625 c -0.9375,0 -1.625,0.6875 -1.625,1.453125 0,0.4375 0.21875,0.8125 0.46875,1.03125 -0.125,0.140625 -0.3125,0.46875 -0.3125,0.828125 0,0.3125 0.140625,0.6875 0.453125,0.890625 -0.609375,0.15625 -0.921875,0.59375 -0.921875,0.984375 0,0.71875 0.984375,1.265625 2.203125,1.265625 1.171875,0 2.203125,-0.5 2.203125,-1.28125 0,-0.34375 -0.125,-0.859375 -0.640625,-1.140625 -0.53125,-0.265625 -1.109375,-0.265625 -1.71875,-0.265625 -0.25,0 -0.671875,0 -0.75,-0.015625 C 1.265625,-0.703125 1.0625,-1 1.0625,-1.328125 Z M 2.5,1.828125 c -1.015625,0 -1.703125,-0.515625 -1.703125,-1.046875 0,-0.453125 0.375,-0.828125 0.8125,-0.84375 h 0.59375 c 0.859375,0 1.96875,0 1.96875,0.84375 0,0.546875 -0.703125,1.046875 -1.671875,1.046875 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6182-2-9" + transform="translate(166.97743,134.765)" + d="M 3.890625,-0.78125 V 0.109375 L 5.328125,0 V -0.3125 C 4.640625,-0.3125 4.5625,-0.375 4.5625,-0.875 v -3.53125 l -1.46875,0.109375 v 0.3125 c 0.6875,0 0.78125,0.0625 0.78125,0.5625 v 1.765625 c 0,0.875 -0.484375,1.546875 -1.21875,1.546875 -0.828125,0 -0.875,-0.46875 -0.875,-0.984375 v -3.3125 L 0.3125,-4.296875 v 0.3125 c 0.78125,0 0.78125,0.03125 0.78125,0.90625 v 1.5 c 0,0.78125 0,1.6875 1.515625,1.6875 0.5625,0 1,-0.28125 1.28125,-0.890625 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6184-9-7" + transform="translate(172.51265,134.765)" + d="M 1.109375,-2.515625 C 1.171875,-4 2.015625,-4.25 2.359375,-4.25 c 1.015625,0 1.125,1.34375 1.125,1.734375 z m 0,0.21875 h 2.78125 c 0.21875,0 0.25,0 0.25,-0.21875 0,-0.984375 -0.546875,-1.953125 -1.78125,-1.953125 -1.15625,0 -2.078125,1.03125 -2.078125,2.28125 0,1.328125 1.046875,2.296875 2.1875,2.296875 C 3.6875,0.109375 4.140625,-1 4.140625,-1.1875 4.140625,-1.28125 4.0625,-1.3125 4,-1.3125 c -0.078125,0 -0.109375,0.0625 -0.125,0.140625 -0.34375,1.03125 -1.25,1.03125 -1.34375,1.03125 -0.5,0 -0.890625,-0.296875 -1.125,-0.671875 -0.296875,-0.46875 -0.296875,-1.125 -0.296875,-1.484375 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6186-1-7" + transform="translate(176.94003,134.765)" + d="M 3.890625,-0.78125 V 0.109375 L 5.328125,0 V -0.3125 C 4.640625,-0.3125 4.5625,-0.375 4.5625,-0.875 v -3.53125 l -1.46875,0.109375 v 0.3125 c 0.6875,0 0.78125,0.0625 0.78125,0.5625 v 1.765625 c 0,0.875 -0.484375,1.546875 -1.21875,1.546875 -0.828125,0 -0.875,-0.46875 -0.875,-0.984375 v -3.3125 L 0.3125,-4.296875 v 0.3125 c 0.78125,0 0.78125,0.03125 0.78125,0.90625 v 1.5 c 0,0.78125 0,1.6875 1.515625,1.6875 0.5625,0 1,-0.28125 1.28125,-0.890625 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6188-2-6" + transform="translate(182.47525,134.765)" + d="M 1.671875,-3.3125 V -4.40625 L 0.28125,-4.296875 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.390625,-0.015625 0.859375,-0.03125 1.140625,-0.03125 0.390625,0 0.859375,0 1.265625,0.03125 V -0.3125 H 2.46875 c -0.734375,0 -0.75,-0.109375 -0.75,-0.46875 V -2.3125 c 0,-0.984375 0.421875,-1.875 1.171875,-1.875 0.0625,0 0.09375,0 0.109375,0.015625 -0.03125,0 -0.234375,0.125 -0.234375,0.390625 0,0.265625 0.21875,0.421875 0.4375,0.421875 0.171875,0 0.421875,-0.125 0.421875,-0.4375 0,-0.3125 -0.3125,-0.609375 -0.734375,-0.609375 -0.734375,0 -1.09375,0.671875 -1.21875,1.09375 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <g + transform="matrix(0.48712834,0,0,0.48712834,-87.871854,47.365436)" + ns1:textextver="0.8" + ns1:converter="pdf2svg" + ns1:text="capacit\xc3\xa9" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:scale="1.0" + id="g6430-7-7"> + <g + id="g6428-0-3"> + <g + style="fill:#000000;fill-opacity:1" + id="g6418-9-6"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 1.171875,-2.171875 c 0,-1.625 0.8125,-2.046875 1.34375,-2.046875 0.09375,0 0.71875,0.015625 1.0625,0.375 -0.40625,0.03125 -0.46875,0.328125 -0.46875,0.453125 0,0.265625 0.1875,0.453125 0.453125,0.453125 0.265625,0 0.46875,-0.15625 0.46875,-0.46875 0,-0.671875 -0.765625,-1.0625 -1.53125,-1.0625 -1.25,0 -2.15625,1.078125 -2.15625,2.3125 0,1.28125 0.984375,2.265625 2.140625,2.265625 1.328125,0 1.65625,-1.203125 1.65625,-1.296875 0,-0.09375 -0.109375,-0.09375 -0.140625,-0.09375 -0.078125,0 -0.109375,0.03125 -0.125,0.09375 -0.28125,0.921875 -0.9375,1.046875 -1.296875,1.046875 -0.53125,0 -1.40625,-0.421875 -1.40625,-2.03125 z m 0,0" + transform="translate(148.712,134.765)" + id="path6404-3-5" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 3.3125,-0.75 c 0.046875,0.390625 0.3125,0.8125 0.78125,0.8125 0.21875,0 0.828125,-0.140625 0.828125,-0.953125 v -0.5625 h -0.25 v 0.5625 c 0,0.578125 -0.25,0.640625 -0.359375,0.640625 -0.328125,0 -0.375,-0.453125 -0.375,-0.5 v -1.984375 c 0,-0.421875 0,-0.8125 -0.359375,-1.1875 C 3.1875,-4.3125 2.6875,-4.46875 2.21875,-4.46875 c -0.828125,0 -1.515625,0.46875 -1.515625,1.125 0,0.296875 0.203125,0.46875 0.46875,0.46875 0.28125,0 0.453125,-0.203125 0.453125,-0.453125 0,-0.125 -0.046875,-0.453125 -0.515625,-0.453125 C 1.390625,-4.140625 1.875,-4.25 2.1875,-4.25 c 0.5,0 1.0625,0.390625 1.0625,1.28125 v 0.359375 c -0.515625,0.03125 -1.203125,0.0625 -1.828125,0.359375 -0.75,0.34375 -1,0.859375 -1,1.296875 0,0.8125 0.96875,1.0625 1.59375,1.0625 0.65625,0 1.109375,-0.40625 1.296875,-0.859375 z M 3.25,-2.390625 v 1 c 0,0.9375 -0.71875,1.28125 -1.171875,1.28125 -0.484375,0 -0.890625,-0.34375 -0.890625,-0.84375 0,-0.546875 0.421875,-1.375 2.0625,-1.4375 z m 0,0" + transform="translate(153.13938,134.765)" + id="path6406-6-6" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 1.71875,-3.75 v -0.65625 l -1.4375,0.109375 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5 v 4.65625 C 1.0625,1.625 0.953125,1.625 0.28125,1.625 V 1.9375 C 0.625,1.921875 1.140625,1.90625 1.390625,1.90625 c 0.28125,0 0.78125,0.015625 1.125,0.03125 V 1.625 C 1.859375,1.625 1.75,1.625 1.75,1.171875 V -0.59375 c 0.046875,0.171875 0.46875,0.703125 1.21875,0.703125 1.1875,0 2.21875,-0.984375 2.21875,-2.265625 0,-1.265625 -0.953125,-2.25 -2.078125,-2.25 -0.78125,0 -1.203125,0.4375 -1.390625,0.65625 z M 1.75,-1.140625 v -2.21875 C 2.03125,-3.875 2.515625,-4.15625 3.03125,-4.15625 c 0.734375,0 1.328125,0.875 1.328125,2 0,1.203125 -0.6875,2.046875 -1.421875,2.046875 -0.40625,0 -0.78125,-0.203125 -1.046875,-0.609375 C 1.75,-0.921875 1.75,-0.9375 1.75,-1.140625 Z m 0,0" + transform="translate(158.12068,134.765)" + id="path6408-0-3" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 3.3125,-0.75 c 0.046875,0.390625 0.3125,0.8125 0.78125,0.8125 0.21875,0 0.828125,-0.140625 0.828125,-0.953125 v -0.5625 h -0.25 v 0.5625 c 0,0.578125 -0.25,0.640625 -0.359375,0.640625 -0.328125,0 -0.375,-0.453125 -0.375,-0.5 v -1.984375 c 0,-0.421875 0,-0.8125 -0.359375,-1.1875 C 3.1875,-4.3125 2.6875,-4.46875 2.21875,-4.46875 c -0.828125,0 -1.515625,0.46875 -1.515625,1.125 0,0.296875 0.203125,0.46875 0.46875,0.46875 0.28125,0 0.453125,-0.203125 0.453125,-0.453125 0,-0.125 -0.046875,-0.453125 -0.515625,-0.453125 C 1.390625,-4.140625 1.875,-4.25 2.1875,-4.25 c 0.5,0 1.0625,0.390625 1.0625,1.28125 v 0.359375 c -0.515625,0.03125 -1.203125,0.0625 -1.828125,0.359375 -0.75,0.34375 -1,0.859375 -1,1.296875 0,0.8125 0.96875,1.0625 1.59375,1.0625 0.65625,0 1.109375,-0.40625 1.296875,-0.859375 z M 3.25,-2.390625 v 1 c 0,0.9375 -0.71875,1.28125 -1.171875,1.28125 -0.484375,0 -0.890625,-0.34375 -0.890625,-0.84375 0,-0.546875 0.421875,-1.375 2.0625,-1.4375 z m 0,0" + transform="translate(163.6559,134.765)" + id="path6410-6-9" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 1.171875,-2.171875 c 0,-1.625 0.8125,-2.046875 1.34375,-2.046875 0.09375,0 0.71875,0.015625 1.0625,0.375 -0.40625,0.03125 -0.46875,0.328125 -0.46875,0.453125 0,0.265625 0.1875,0.453125 0.453125,0.453125 0.265625,0 0.46875,-0.15625 0.46875,-0.46875 0,-0.671875 -0.765625,-1.0625 -1.53125,-1.0625 -1.25,0 -2.15625,1.078125 -2.15625,2.3125 0,1.28125 0.984375,2.265625 2.140625,2.265625 1.328125,0 1.65625,-1.203125 1.65625,-1.296875 0,-0.09375 -0.109375,-0.09375 -0.140625,-0.09375 -0.078125,0 -0.109375,0.03125 -0.125,0.09375 -0.28125,0.921875 -0.9375,1.046875 -1.296875,1.046875 -0.53125,0 -1.40625,-0.421875 -1.40625,-2.03125 z m 0,0" + transform="translate(168.6372,134.765)" + id="path6412-2-4" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.765625,-4.40625 0.375,-4.296875 v 0.3125 c 0.640625,0 0.734375,0.0625 0.734375,0.546875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 C 0.640625,-0.015625 1.1875,-0.03125 1.421875,-0.03125 1.78125,-0.03125 2.125,-0.015625 2.46875,0 v -0.3125 c -0.671875,0 -0.703125,-0.046875 -0.703125,-0.4375 z m 0.03125,-1.734375 c 0,-0.3125 -0.234375,-0.53125 -0.515625,-0.53125 -0.3125,0 -0.53125,0.265625 -0.53125,0.53125 0,0.265625 0.21875,0.53125 0.53125,0.53125 0.28125,0 0.515625,-0.21875 0.515625,-0.53125 z m 0,0" + transform="translate(173.06458,134.765)" + id="path6414-6-8" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 1.71875,-3.984375 h 1.4375 v -0.3125 H 1.71875 V -6.125 h -0.25 c 0,0.8125 -0.296875,1.875 -1.28125,1.921875 v 0.21875 h 0.84375 v 2.75 c 0,1.21875 0.9375,1.34375 1.296875,1.34375 0.703125,0 0.984375,-0.703125 0.984375,-1.34375 v -0.5625 h -0.25 V -1.25 c 0,0.734375 -0.296875,1.109375 -0.671875,1.109375 -0.671875,0 -0.671875,-0.90625 -0.671875,-1.078125 z m 0,0" + transform="translate(175.83219,134.765)" + id="path6416-1-1" /> + </g> + <g + style="fill:#000000;fill-opacity:1" + id="g6422-8-2"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 3.734375,-6.296875 C 3.828125,-6.375 3.90625,-6.484375 3.90625,-6.59375 c 0,-0.1875 -0.171875,-0.359375 -0.359375,-0.359375 -0.140625,0 -0.25,0.109375 -0.296875,0.171875 l -1.203125,1.515625 0.171875,0.1875 z m 0,0" + transform="translate(179.42769,134.765)" + id="path6420-7-9" /> + </g> + <g + style="fill:#000000;fill-opacity:1" + id="g6426-9-3"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.109375,-2.515625 C 1.171875,-4 2.015625,-4.25 2.359375,-4.25 c 1.015625,0 1.125,1.34375 1.125,1.734375 z m 0,0.21875 h 2.78125 c 0.21875,0 0.25,0 0.25,-0.21875 0,-0.984375 -0.546875,-1.953125 -1.78125,-1.953125 -1.15625,0 -2.078125,1.03125 -2.078125,2.28125 0,1.328125 1.046875,2.296875 2.1875,2.296875 C 3.6875,0.109375 4.140625,-1 4.140625,-1.1875 4.140625,-1.28125 4.0625,-1.3125 4,-1.3125 c -0.078125,0 -0.109375,0.0625 -0.125,0.140625 -0.34375,1.03125 -1.25,1.03125 -1.34375,1.03125 -0.5,0 -0.890625,-0.296875 -1.125,-0.671875 -0.296875,-0.46875 -0.296875,-1.125 -0.296875,-1.484375 z m 0,0" + transform="translate(179.70664,134.765)" + id="path6424-2-9" /> + </g> + </g> + </g> + </g> + <path + sodipodi:nodetypes="cc" + inkscape:connector-curvature="0" + id="path5059-5-0" + d="M 424.32844,88.513032 357.44518,172.06004" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#DotM-0-3);marker-end:url(#Arrow2Mend-3-6)" /> + <g + transform="matrix(0.48104848,0,0,0.48104848,343.9192,8.2181719)" + ns1:textextver="0.8" + ns1:converter="pdf2svg" + ns1:text="pointeur" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:scale="1.0" + id="g6701-9-8"> + <g + id="g6699-2-8"> + <g + style="fill:#000000;fill-opacity:1" + id="g6679-2-5"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 1.71875,-3.75 v -0.65625 l -1.4375,0.109375 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5 v 4.65625 C 1.0625,1.625 0.953125,1.625 0.28125,1.625 V 1.9375 C 0.625,1.921875 1.140625,1.90625 1.390625,1.90625 c 0.28125,0 0.78125,0.015625 1.125,0.03125 V 1.625 C 1.859375,1.625 1.75,1.625 1.75,1.171875 V -0.59375 c 0.046875,0.171875 0.46875,0.703125 1.21875,0.703125 1.1875,0 2.21875,-0.984375 2.21875,-2.265625 0,-1.265625 -0.953125,-2.25 -2.078125,-2.25 -0.78125,0 -1.203125,0.4375 -1.390625,0.65625 z M 1.75,-1.140625 v -2.21875 C 2.03125,-3.875 2.515625,-4.15625 3.03125,-4.15625 c 0.734375,0 1.328125,0.875 1.328125,2 0,1.203125 -0.6875,2.046875 -1.421875,2.046875 -0.40625,0 -0.78125,-0.203125 -1.046875,-0.609375 C 1.75,-0.921875 1.75,-0.9375 1.75,-1.140625 Z m 0,0" + transform="translate(148.712,134.765)" + id="path6677-8-0" /> + </g> + <g + style="fill:#000000;fill-opacity:1" + id="g6687-9-9"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 4.6875,-2.140625 C 4.6875,-3.40625 3.703125,-4.46875 2.5,-4.46875 c -1.25,0 -2.21875,1.09375 -2.21875,2.328125 0,1.296875 1.03125,2.25 2.203125,2.25 1.203125,0 2.203125,-0.984375 2.203125,-2.25 z m -2.1875,2 c -0.4375,0 -0.875,-0.203125 -1.140625,-0.671875 -0.25,-0.4375 -0.25,-1.046875 -0.25,-1.40625 0,-0.390625 0,-0.921875 0.234375,-1.359375 C 1.609375,-4.03125 2.078125,-4.25 2.484375,-4.25 c 0.4375,0 0.859375,0.21875 1.125,0.65625 0.265625,0.421875 0.265625,1 0.265625,1.375 0,0.359375 0,0.90625 -0.21875,1.34375 C 3.421875,-0.421875 2.984375,-0.140625 2.5,-0.140625 Z m 0,0" + transform="translate(154.52617,134.765)" + id="path6681-7-6" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.765625,-4.40625 0.375,-4.296875 v 0.3125 c 0.640625,0 0.734375,0.0625 0.734375,0.546875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 C 0.640625,-0.015625 1.1875,-0.03125 1.421875,-0.03125 1.78125,-0.03125 2.125,-0.015625 2.46875,0 v -0.3125 c -0.671875,0 -0.703125,-0.046875 -0.703125,-0.4375 z m 0.03125,-1.734375 c 0,-0.3125 -0.234375,-0.53125 -0.515625,-0.53125 -0.3125,0 -0.53125,0.265625 -0.53125,0.53125 0,0.265625 0.21875,0.53125 0.53125,0.53125 0.28125,0 0.515625,-0.21875 0.515625,-0.53125 z m 0,0" + transform="translate(159.50747,134.765)" + id="path6683-3-3" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.09375,-3.421875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.359375,-0.015625 0.859375,-0.03125 1.140625,-0.03125 0.25,0 0.765625,0.015625 1.109375,0.03125 v -0.3125 c -0.671875,0 -0.78125,0 -0.78125,-0.4375 V -2.59375 C 1.78125,-3.625 2.5,-4.1875 3.125,-4.1875 c 0.640625,0 0.75,0.53125 0.75,1.109375 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.34375,-0.015625 0.859375,-0.03125 1.125,-0.03125 0.25,0 0.78125,0.015625 1.109375,0.03125 v -0.3125 c -0.515625,0 -0.765625,0 -0.765625,-0.296875 v -1.90625 c 0,-0.859375 0,-1.15625 -0.3125,-1.515625 -0.140625,-0.171875 -0.46875,-0.375 -1.046875,-0.375 C 2.46875,-4.40625 2,-3.984375 1.71875,-3.359375 V -4.40625 L 0.3125,-4.296875 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 z m 0,0" + transform="translate(162.27508,134.765)" + id="path6685-6-8" /> + </g> + <g + style="fill:#000000;fill-opacity:1" + id="g6697-1-5"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 1.71875,-3.984375 h 1.4375 v -0.3125 H 1.71875 V -6.125 h -0.25 c 0,0.8125 -0.296875,1.875 -1.28125,1.921875 v 0.21875 h 0.84375 v 2.75 c 0,1.21875 0.9375,1.34375 1.296875,1.34375 0.703125,0 0.984375,-0.703125 0.984375,-1.34375 v -0.5625 h -0.25 V -1.25 c 0,0.734375 -0.296875,1.109375 -0.671875,1.109375 -0.671875,0 -0.671875,-0.90625 -0.671875,-1.078125 z m 0,0" + transform="translate(167.53135,134.765)" + id="path6689-2-6" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.109375,-2.515625 C 1.171875,-4 2.015625,-4.25 2.359375,-4.25 c 1.015625,0 1.125,1.34375 1.125,1.734375 z m 0,0.21875 h 2.78125 c 0.21875,0 0.25,0 0.25,-0.21875 0,-0.984375 -0.546875,-1.953125 -1.78125,-1.953125 -1.15625,0 -2.078125,1.03125 -2.078125,2.28125 0,1.328125 1.046875,2.296875 2.1875,2.296875 C 3.6875,0.109375 4.140625,-1 4.140625,-1.1875 4.140625,-1.28125 4.0625,-1.3125 4,-1.3125 c -0.078125,0 -0.109375,0.0625 -0.125,0.140625 -0.34375,1.03125 -1.25,1.03125 -1.34375,1.03125 -0.5,0 -0.890625,-0.296875 -1.125,-0.671875 -0.296875,-0.46875 -0.296875,-1.125 -0.296875,-1.484375 z m 0,0" + transform="translate(171.40581,134.765)" + id="path6691-9-1" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 3.890625,-0.78125 V 0.109375 L 5.328125,0 V -0.3125 C 4.640625,-0.3125 4.5625,-0.375 4.5625,-0.875 v -3.53125 l -1.46875,0.109375 v 0.3125 c 0.6875,0 0.78125,0.0625 0.78125,0.5625 v 1.765625 c 0,0.875 -0.484375,1.546875 -1.21875,1.546875 -0.828125,0 -0.875,-0.46875 -0.875,-0.984375 v -3.3125 L 0.3125,-4.296875 v 0.3125 c 0.78125,0 0.78125,0.03125 0.78125,0.90625 v 1.5 c 0,0.78125 0,1.6875 1.515625,1.6875 0.5625,0 1,-0.28125 1.28125,-0.890625 z m 0,0" + transform="translate(175.83319,134.765)" + id="path6693-3-1" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.671875,-3.3125 V -4.40625 L 0.28125,-4.296875 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.390625,-0.015625 0.859375,-0.03125 1.140625,-0.03125 0.390625,0 0.859375,0 1.265625,0.03125 V -0.3125 H 2.46875 c -0.734375,0 -0.75,-0.109375 -0.75,-0.46875 V -2.3125 c 0,-0.984375 0.421875,-1.875 1.171875,-1.875 0.0625,0 0.09375,0 0.109375,0.015625 -0.03125,0 -0.234375,0.125 -0.234375,0.390625 0,0.265625 0.21875,0.421875 0.4375,0.421875 0.171875,0 0.421875,-0.125 0.421875,-0.4375 0,-0.3125 -0.3125,-0.609375 -0.734375,-0.609375 -0.734375,0 -1.09375,0.671875 -1.21875,1.09375 z m 0,0" + transform="translate(181.36841,134.765)" + id="path6695-1-5" /> + </g> + </g> + </g> + <g + id="g4809-4-5" + ns1:scale="1.0" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:text="$4$" + ns1:converter="pdf2svg" + ns1:textextver="0.8" + transform="translate(151.94713,-42.952438)" + style="fill:#000000"> + <g + id="g4807-5-6" + style="fill:#000000"> + <g + id="g4805-0-9" + style="fill:#000000;fill-opacity:1"> + <path + id="path4803-3-3" + transform="translate(148.712,134.765)" + d="m 2.9375,-1.640625 v 0.859375 c 0,0.359375 -0.03125,0.46875 -0.765625,0.46875 H 1.96875 V 0 C 2.375,-0.03125 2.890625,-0.03125 3.3125,-0.03125 c 0.421875,0 0.9375,0 1.359375,0.03125 v -0.3125 h -0.21875 c -0.734375,0 -0.75,-0.109375 -0.75,-0.46875 V -1.640625 H 4.6875 v -0.3125 H 3.703125 v -4.53125 c 0,-0.203125 0,-0.265625 -0.171875,-0.265625 -0.078125,0 -0.109375,0 -0.1875,0.125 l -3.0625,4.671875 v 0.3125 z m 0.046875,-0.3125 H 0.5625 l 2.421875,-3.71875 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <g + id="g4809-6-7" + ns1:scale="1.0" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:text="$4$" + ns1:converter="pdf2svg" + ns1:textextver="0.8" + transform="translate(173.43947,-42.952438)" + style="fill:#000000"> + <g + id="g4807-1-4" + style="fill:#000000"> + <g + id="g4805-06-5" + style="fill:#000000;fill-opacity:1"> + <path + id="path4803-32-2" + transform="translate(148.712,134.765)" + d="m 2.9375,-1.640625 v 0.859375 c 0,0.359375 -0.03125,0.46875 -0.765625,0.46875 H 1.96875 V 0 C 2.375,-0.03125 2.890625,-0.03125 3.3125,-0.03125 c 0.421875,0 0.9375,0 1.359375,0.03125 v -0.3125 h -0.21875 c -0.734375,0 -0.75,-0.109375 -0.75,-0.46875 V -1.640625 H 4.6875 v -0.3125 H 3.703125 v -4.53125 c 0,-0.203125 0,-0.265625 -0.171875,-0.265625 -0.078125,0 -0.109375,0 -0.1875,0.125 l -3.0625,4.671875 v 0.3125 z m 0.046875,-0.3125 H 0.5625 l 2.421875,-3.71875 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <path + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker2339)" + d="m 19.243406,69.55363 c 48.719821,-20.244987 100.826694,-19.927406 140.049234,0" + id="path2058" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + <g + transform="matrix(1.553873,0,0,1.553873,-217.12226,-151.68348)" + ns1:version="0.8.1" + ns1:texconverter="pdflatex" + ns1:pdfconverter="pdf2svg" + ns1:text="$y$" + ns1:preamble="/usr/share/inkscape/extensions" + ns1:scale="1.0" + ns1:alignment="middle center" + inkscapeversion="0.92.2" + ns1:jacobian_sqrt="0.352778" + id="g1457"> + <g + id="g1455"> + <g + style="fill:#000000;fill-opacity:1" + id="g1453"> + <path + inkscape:connector-curvature="0" + style="stroke:none;stroke-width:0" + d="m 4.84375,-3.796875 c 0.046875,-0.140625 0.046875,-0.15625 0.046875,-0.234375 0,-0.171875 -0.140625,-0.265625 -0.296875,-0.265625 -0.09375,0 -0.25,0.0625 -0.34375,0.203125 -0.015625,0.0625 -0.109375,0.359375 -0.140625,0.546875 -0.078125,0.25 -0.140625,0.53125 -0.203125,0.796875 l -0.453125,1.796875 c -0.03125,0.140625 -0.46875,0.84375 -1.125,0.84375 -0.5,0 -0.609375,-0.4375 -0.609375,-0.8125 C 1.71875,-1.375 1.890625,-2 2.21875,-2.875 2.375,-3.28125 2.421875,-3.390625 2.421875,-3.59375 c 0,-0.4375 -0.3125,-0.8125 -0.8125,-0.8125 -0.953125,0 -1.3125,1.453125 -1.3125,1.53125 0,0.109375 0.09375,0.109375 0.109375,0.109375 0.109375,0 0.109375,-0.03125 0.15625,-0.1875 0.28125,-0.9375 0.671875,-1.234375 1.015625,-1.234375 0.078125,0 0.25,0 0.25,0.3125 0,0.25 -0.109375,0.515625 -0.171875,0.703125 -0.40625,1.0625 -0.578125,1.625 -0.578125,2.09375 0,0.890625 0.625,1.1875 1.21875,1.1875 0.390625,0 0.71875,-0.171875 1,-0.453125 -0.125,0.515625 -0.25,1.015625 -0.640625,1.546875 -0.265625,0.328125 -0.640625,0.625 -1.09375,0.625 -0.140625,0 -0.59375,-0.03125 -0.765625,-0.421875 0.15625,0 0.296875,0 0.421875,-0.125 C 1.328125,1.203125 1.421875,1.0625 1.421875,0.875 1.421875,0.5625 1.15625,0.53125 1.0625,0.53125 0.828125,0.53125 0.5,0.6875 0.5,1.171875 c 0,0.5 0.4375,0.875 1.0625,0.875 1.015625,0 2.046875,-0.90625 2.328125,-2.03125 z m 0,0" + transform="translate(148.712,134.765)" + id="path1451" /> + </g> + </g> + </g> + <g + id="g2279" + ns1:jacobian_sqrt="1.553873" + inkscapeversion="0.92.2" + ns1:alignment="middle center" + ns1:scale="4.40467659548" + ns1:preamble="/usr/share/inkscape/extensions" + ns1:text="$z$" + ns1:pdfconverter="pdf2svg" + ns1:texconverter="pdflatex" + ns1:version="0.8.1" + transform="matrix(1.553873,0,0,1.553873,-74.664917,-150.17817)"> + <g + id="g2277"> + <g + id="g2275" + style="fill:#000000;fill-opacity:1"> + <path + id="path2273" + transform="translate(148.712,134.765)" + d="m 1.328125,-0.828125 c 0.53125,-0.578125 0.828125,-0.828125 1.1875,-1.140625 0,0 0.609375,-0.53125 0.96875,-0.890625 C 4.4375,-3.78125 4.65625,-4.265625 4.65625,-4.3125 c 0,-0.09375 -0.09375,-0.09375 -0.109375,-0.09375 -0.078125,0 -0.09375,0.015625 -0.15625,0.109375 -0.296875,0.484375 -0.5,0.640625 -0.734375,0.640625 -0.25,0 -0.359375,-0.15625 -0.515625,-0.328125 -0.1875,-0.21875 -0.359375,-0.421875 -0.6875,-0.421875 -0.75,0 -1.203125,0.921875 -1.203125,1.140625 0,0.046875 0.03125,0.109375 0.109375,0.109375 0.09375,0 0.109375,-0.046875 0.140625,-0.109375 0.1875,-0.46875 0.765625,-0.46875 0.84375,-0.46875 0.203125,0 0.390625,0.0625 0.625,0.140625 0.40625,0.15625 0.515625,0.15625 0.765625,0.15625 -0.359375,0.421875 -1.1875,1.140625 -1.375,1.296875 l -0.90625,0.84375 C 0.78125,-0.625 0.421875,-0.0625 0.421875,0.015625 c 0,0.09375 0.109375,0.09375 0.125,0.09375 0.078125,0 0.09375,-0.015625 0.15625,-0.125 0.234375,-0.359375 0.53125,-0.625 0.859375,-0.625 0.21875,0 0.328125,0.09375 0.578125,0.375 0.15625,0.21875 0.34375,0.375 0.625,0.375 1,0 1.578125,-1.265625 1.578125,-1.53125 0,-0.046875 -0.046875,-0.109375 -0.125,-0.109375 -0.09375,0 -0.109375,0.0625 -0.140625,0.140625 C 3.84375,-0.75 3.203125,-0.5625 2.875,-0.5625 c -0.1875,0 -0.375,-0.0625 -0.578125,-0.125 -0.34375,-0.125 -0.5,-0.171875 -0.703125,-0.171875 -0.015625,0 -0.171875,0 -0.265625,0.03125 z m 0,0" + style="stroke:none;stroke-width:0" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <g + transform="matrix(1.553873,0,0,1.553873,68.033585,-151.68348)" + ns1:version="0.8.1" + ns1:texconverter="pdflatex" + ns1:pdfconverter="pdf2svg" + ns1:text="$y$" + ns1:preamble="/usr/share/inkscape/extensions" + ns1:scale="1.0" + ns1:alignment="middle center" + inkscapeversion="0.92.2" + ns1:jacobian_sqrt="0.352778" + id="g1457-3"> + <g + id="g1455-5"> + <g + style="fill:#000000;fill-opacity:1" + id="g1453-6"> + <path + inkscape:connector-curvature="0" + style="stroke:none;stroke-width:0" + d="m 4.84375,-3.796875 c 0.046875,-0.140625 0.046875,-0.15625 0.046875,-0.234375 0,-0.171875 -0.140625,-0.265625 -0.296875,-0.265625 -0.09375,0 -0.25,0.0625 -0.34375,0.203125 -0.015625,0.0625 -0.109375,0.359375 -0.140625,0.546875 -0.078125,0.25 -0.140625,0.53125 -0.203125,0.796875 l -0.453125,1.796875 c -0.03125,0.140625 -0.46875,0.84375 -1.125,0.84375 -0.5,0 -0.609375,-0.4375 -0.609375,-0.8125 C 1.71875,-1.375 1.890625,-2 2.21875,-2.875 2.375,-3.28125 2.421875,-3.390625 2.421875,-3.59375 c 0,-0.4375 -0.3125,-0.8125 -0.8125,-0.8125 -0.953125,0 -1.3125,1.453125 -1.3125,1.53125 0,0.109375 0.09375,0.109375 0.109375,0.109375 0.109375,0 0.109375,-0.03125 0.15625,-0.1875 0.28125,-0.9375 0.671875,-1.234375 1.015625,-1.234375 0.078125,0 0.25,0 0.25,0.3125 0,0.25 -0.109375,0.515625 -0.171875,0.703125 -0.40625,1.0625 -0.578125,1.625 -0.578125,2.09375 0,0.890625 0.625,1.1875 1.21875,1.1875 0.390625,0 0.71875,-0.171875 1,-0.453125 -0.125,0.515625 -0.25,1.015625 -0.640625,1.546875 -0.265625,0.328125 -0.640625,0.625 -1.09375,0.625 -0.140625,0 -0.59375,-0.03125 -0.765625,-0.421875 0.15625,0 0.296875,0 0.421875,-0.125 C 1.328125,1.203125 1.421875,1.0625 1.421875,0.875 1.421875,0.5625 1.15625,0.53125 1.0625,0.53125 0.828125,0.53125 0.5,0.6875 0.5,1.171875 c 0,0.5 0.4375,0.875 1.0625,0.875 1.015625,0 2.046875,-0.90625 2.328125,-2.03125 z m 0,0" + transform="translate(148.712,134.765)" + id="path1451-2" /> + </g> + </g> + </g> + <g + id="g2279-9" + ns1:jacobian_sqrt="1.553873" + inkscapeversion="0.92.2" + ns1:alignment="middle center" + ns1:scale="4.40467659548" + ns1:preamble="/usr/share/inkscape/extensions" + ns1:text="$z$" + ns1:pdfconverter="pdf2svg" + ns1:texconverter="pdflatex" + ns1:version="0.8.1" + transform="matrix(1.553873,0,0,1.553873,210.49093,-150.17817)"> + <g + id="g2277-1"> + <g + id="g2275-2" + style="fill:#000000;fill-opacity:1"> + <path + id="path2273-7" + transform="translate(148.712,134.765)" + d="m 1.328125,-0.828125 c 0.53125,-0.578125 0.828125,-0.828125 1.1875,-1.140625 0,0 0.609375,-0.53125 0.96875,-0.890625 C 4.4375,-3.78125 4.65625,-4.265625 4.65625,-4.3125 c 0,-0.09375 -0.09375,-0.09375 -0.109375,-0.09375 -0.078125,0 -0.09375,0.015625 -0.15625,0.109375 -0.296875,0.484375 -0.5,0.640625 -0.734375,0.640625 -0.25,0 -0.359375,-0.15625 -0.515625,-0.328125 -0.1875,-0.21875 -0.359375,-0.421875 -0.6875,-0.421875 -0.75,0 -1.203125,0.921875 -1.203125,1.140625 0,0.046875 0.03125,0.109375 0.109375,0.109375 0.09375,0 0.109375,-0.046875 0.140625,-0.109375 0.1875,-0.46875 0.765625,-0.46875 0.84375,-0.46875 0.203125,0 0.390625,0.0625 0.625,0.140625 0.40625,0.15625 0.515625,0.15625 0.765625,0.15625 -0.359375,0.421875 -1.1875,1.140625 -1.375,1.296875 l -0.90625,0.84375 C 0.78125,-0.625 0.421875,-0.0625 0.421875,0.015625 c 0,0.09375 0.109375,0.09375 0.125,0.09375 0.078125,0 0.09375,-0.015625 0.15625,-0.125 0.234375,-0.359375 0.53125,-0.625 0.859375,-0.625 0.21875,0 0.328125,0.09375 0.578125,0.375 0.15625,0.21875 0.34375,0.375 0.625,0.375 1,0 1.578125,-1.265625 1.578125,-1.53125 0,-0.046875 -0.046875,-0.109375 -0.125,-0.109375 -0.09375,0 -0.109375,0.0625 -0.140625,0.140625 C 3.84375,-0.75 3.203125,-0.5625 2.875,-0.5625 c -0.1875,0 -0.375,-0.0625 -0.578125,-0.125 -0.34375,-0.125 -0.5,-0.171875 -0.703125,-0.171875 -0.015625,0 -0.171875,0 -0.265625,0.03125 z m 0,0" + style="stroke:none;stroke-width:0" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <path + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker2339-0)" + d="m 306.60528,69.55363 c 48.71983,-20.244987 100.8267,-19.927405 140.04924,0" + id="path2058-3" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + <g + transform="matrix(1.553872,0,0,1.553872,-158.46583,-160.41675)" + ns1:version="0.8.1" + ns1:texconverter="pdflatex" + ns1:pdfconverter="pdf2svg" + ns1:text="copie" + ns1:preamble="/usr/share/inkscape/extensions" + ns1:scale="4.40467659548" + ns1:alignment="middle center" + inkscapeversion="0.92.2" + ns1:jacobian_sqrt="1.553872" + id="g3439"> + <g + id="g3437"> + <g + style="fill:#000000;fill-opacity:1" + id="g3435"> + <path + inkscape:connector-curvature="0" + style="stroke:none;stroke-width:0" + d="m 1.171875,-2.171875 c 0,-1.625 0.8125,-2.046875 1.34375,-2.046875 0.09375,0 0.71875,0.015625 1.0625,0.375 -0.40625,0.03125 -0.46875,0.328125 -0.46875,0.453125 0,0.265625 0.1875,0.453125 0.453125,0.453125 0.265625,0 0.46875,-0.15625 0.46875,-0.46875 0,-0.671875 -0.765625,-1.0625 -1.53125,-1.0625 -1.25,0 -2.15625,1.078125 -2.15625,2.3125 0,1.28125 0.984375,2.265625 2.140625,2.265625 1.328125,0 1.65625,-1.203125 1.65625,-1.296875 0,-0.09375 -0.109375,-0.09375 -0.140625,-0.09375 -0.078125,0 -0.109375,0.03125 -0.125,0.09375 -0.28125,0.921875 -0.9375,1.046875 -1.296875,1.046875 -0.53125,0 -1.40625,-0.421875 -1.40625,-2.03125 z m 0,0" + transform="translate(148.712,134.765)" + id="path3425" /> + <path + inkscape:connector-curvature="0" + style="stroke:none;stroke-width:0" + d="M 4.6875,-2.140625 C 4.6875,-3.40625 3.703125,-4.46875 2.5,-4.46875 c -1.25,0 -2.21875,1.09375 -2.21875,2.328125 0,1.296875 1.03125,2.25 2.203125,2.25 1.203125,0 2.203125,-0.984375 2.203125,-2.25 z m -2.1875,2 c -0.4375,0 -0.875,-0.203125 -1.140625,-0.671875 -0.25,-0.4375 -0.25,-1.046875 -0.25,-1.40625 0,-0.390625 0,-0.921875 0.234375,-1.359375 C 1.609375,-4.03125 2.078125,-4.25 2.484375,-4.25 c 0.4375,0 0.859375,0.21875 1.125,0.65625 0.265625,0.421875 0.265625,1 0.265625,1.375 0,0.359375 0,0.90625 -0.21875,1.34375 C 3.421875,-0.421875 2.984375,-0.140625 2.5,-0.140625 Z m 0,0" + transform="translate(153.13938,134.765)" + id="path3427" /> + <path + inkscape:connector-curvature="0" + style="stroke:none;stroke-width:0" + d="m 1.71875,-3.75 v -0.65625 l -1.4375,0.109375 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5 v 4.65625 C 1.0625,1.625 0.953125,1.625 0.28125,1.625 V 1.9375 C 0.625,1.921875 1.140625,1.90625 1.390625,1.90625 c 0.28125,0 0.78125,0.015625 1.125,0.03125 V 1.625 C 1.859375,1.625 1.75,1.625 1.75,1.171875 V -0.59375 c 0.046875,0.171875 0.46875,0.703125 1.21875,0.703125 1.1875,0 2.21875,-0.984375 2.21875,-2.265625 0,-1.265625 -0.953125,-2.25 -2.078125,-2.25 -0.78125,0 -1.203125,0.4375 -1.390625,0.65625 z M 1.75,-1.140625 v -2.21875 C 2.03125,-3.875 2.515625,-4.15625 3.03125,-4.15625 c 0.734375,0 1.328125,0.875 1.328125,2 0,1.203125 -0.6875,2.046875 -1.421875,2.046875 -0.40625,0 -0.78125,-0.203125 -1.046875,-0.609375 C 1.75,-0.921875 1.75,-0.9375 1.75,-1.140625 Z m 0,0" + transform="translate(158.12068,134.765)" + id="path3429" /> + <path + inkscape:connector-curvature="0" + style="stroke:none;stroke-width:0" + d="M 1.765625,-4.40625 0.375,-4.296875 v 0.3125 c 0.640625,0 0.734375,0.0625 0.734375,0.546875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 C 0.640625,-0.015625 1.1875,-0.03125 1.421875,-0.03125 1.78125,-0.03125 2.125,-0.015625 2.46875,0 v -0.3125 c -0.671875,0 -0.703125,-0.046875 -0.703125,-0.4375 z m 0.03125,-1.734375 c 0,-0.3125 -0.234375,-0.53125 -0.515625,-0.53125 -0.3125,0 -0.53125,0.265625 -0.53125,0.53125 0,0.265625 0.21875,0.53125 0.53125,0.53125 0.28125,0 0.515625,-0.21875 0.515625,-0.53125 z m 0,0" + transform="translate(163.6559,134.765)" + id="path3431" /> + <path + inkscape:connector-curvature="0" + style="stroke:none;stroke-width:0" + d="M 1.109375,-2.515625 C 1.171875,-4 2.015625,-4.25 2.359375,-4.25 c 1.015625,0 1.125,1.34375 1.125,1.734375 z m 0,0.21875 h 2.78125 c 0.21875,0 0.25,0 0.25,-0.21875 0,-0.984375 -0.546875,-1.953125 -1.78125,-1.953125 -1.15625,0 -2.078125,1.03125 -2.078125,2.28125 0,1.328125 1.046875,2.296875 2.1875,2.296875 C 3.6875,0.109375 4.140625,-1 4.140625,-1.1875 4.140625,-1.28125 4.0625,-1.3125 4,-1.3125 c -0.078125,0 -0.109375,0.0625 -0.125,0.140625 -0.34375,1.03125 -1.25,1.03125 -1.34375,1.03125 -0.5,0 -0.890625,-0.296875 -1.125,-0.671875 -0.296875,-0.46875 -0.296875,-1.125 -0.296875,-1.484375 z m 0,0" + transform="translate(166.42351,134.765)" + id="path3433" /> + </g> + </g> + </g> + <g + transform="matrix(1.553872,0,0,1.553872,128.89605,-160.41675)" + ns1:version="0.8.1" + ns1:texconverter="pdflatex" + ns1:pdfconverter="pdf2svg" + ns1:text="copie" + ns1:preamble="/usr/share/inkscape/extensions" + ns1:scale="4.40467659548" + ns1:alignment="middle center" + inkscapeversion="0.92.2" + ns1:jacobian_sqrt="1.553872" + id="g3439-6"> + <g + id="g3437-0"> + <g + style="fill:#000000;fill-opacity:1" + id="g3435-6"> + <path + inkscape:connector-curvature="0" + style="stroke:none;stroke-width:0" + d="m 1.171875,-2.171875 c 0,-1.625 0.8125,-2.046875 1.34375,-2.046875 0.09375,0 0.71875,0.015625 1.0625,0.375 -0.40625,0.03125 -0.46875,0.328125 -0.46875,0.453125 0,0.265625 0.1875,0.453125 0.453125,0.453125 0.265625,0 0.46875,-0.15625 0.46875,-0.46875 0,-0.671875 -0.765625,-1.0625 -1.53125,-1.0625 -1.25,0 -2.15625,1.078125 -2.15625,2.3125 0,1.28125 0.984375,2.265625 2.140625,2.265625 1.328125,0 1.65625,-1.203125 1.65625,-1.296875 0,-0.09375 -0.109375,-0.09375 -0.140625,-0.09375 -0.078125,0 -0.109375,0.03125 -0.125,0.09375 -0.28125,0.921875 -0.9375,1.046875 -1.296875,1.046875 -0.53125,0 -1.40625,-0.421875 -1.40625,-2.03125 z m 0,0" + transform="translate(148.712,134.765)" + id="path3425-2" /> + <path + inkscape:connector-curvature="0" + style="stroke:none;stroke-width:0" + d="M 4.6875,-2.140625 C 4.6875,-3.40625 3.703125,-4.46875 2.5,-4.46875 c -1.25,0 -2.21875,1.09375 -2.21875,2.328125 0,1.296875 1.03125,2.25 2.203125,2.25 1.203125,0 2.203125,-0.984375 2.203125,-2.25 z m -2.1875,2 c -0.4375,0 -0.875,-0.203125 -1.140625,-0.671875 -0.25,-0.4375 -0.25,-1.046875 -0.25,-1.40625 0,-0.390625 0,-0.921875 0.234375,-1.359375 C 1.609375,-4.03125 2.078125,-4.25 2.484375,-4.25 c 0.4375,0 0.859375,0.21875 1.125,0.65625 0.265625,0.421875 0.265625,1 0.265625,1.375 0,0.359375 0,0.90625 -0.21875,1.34375 C 3.421875,-0.421875 2.984375,-0.140625 2.5,-0.140625 Z m 0,0" + transform="translate(153.13938,134.765)" + id="path3427-6" /> + <path + inkscape:connector-curvature="0" + style="stroke:none;stroke-width:0" + d="m 1.71875,-3.75 v -0.65625 l -1.4375,0.109375 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5 v 4.65625 C 1.0625,1.625 0.953125,1.625 0.28125,1.625 V 1.9375 C 0.625,1.921875 1.140625,1.90625 1.390625,1.90625 c 0.28125,0 0.78125,0.015625 1.125,0.03125 V 1.625 C 1.859375,1.625 1.75,1.625 1.75,1.171875 V -0.59375 c 0.046875,0.171875 0.46875,0.703125 1.21875,0.703125 1.1875,0 2.21875,-0.984375 2.21875,-2.265625 0,-1.265625 -0.953125,-2.25 -2.078125,-2.25 -0.78125,0 -1.203125,0.4375 -1.390625,0.65625 z M 1.75,-1.140625 v -2.21875 C 2.03125,-3.875 2.515625,-4.15625 3.03125,-4.15625 c 0.734375,0 1.328125,0.875 1.328125,2 0,1.203125 -0.6875,2.046875 -1.421875,2.046875 -0.40625,0 -0.78125,-0.203125 -1.046875,-0.609375 C 1.75,-0.921875 1.75,-0.9375 1.75,-1.140625 Z m 0,0" + transform="translate(158.12068,134.765)" + id="path3429-1" /> + <path + inkscape:connector-curvature="0" + style="stroke:none;stroke-width:0" + d="M 1.765625,-4.40625 0.375,-4.296875 v 0.3125 c 0.640625,0 0.734375,0.0625 0.734375,0.546875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 C 0.640625,-0.015625 1.1875,-0.03125 1.421875,-0.03125 1.78125,-0.03125 2.125,-0.015625 2.46875,0 v -0.3125 c -0.671875,0 -0.703125,-0.046875 -0.703125,-0.4375 z m 0.03125,-1.734375 c 0,-0.3125 -0.234375,-0.53125 -0.515625,-0.53125 -0.3125,0 -0.53125,0.265625 -0.53125,0.53125 0,0.265625 0.21875,0.53125 0.53125,0.53125 0.28125,0 0.515625,-0.21875 0.515625,-0.53125 z m 0,0" + transform="translate(163.6559,134.765)" + id="path3431-8" /> + <path + inkscape:connector-curvature="0" + style="stroke:none;stroke-width:0" + d="M 1.109375,-2.515625 C 1.171875,-4 2.015625,-4.25 2.359375,-4.25 c 1.015625,0 1.125,1.34375 1.125,1.734375 z m 0,0.21875 h 2.78125 c 0.21875,0 0.25,0 0.25,-0.21875 0,-0.984375 -0.546875,-1.953125 -1.78125,-1.953125 -1.15625,0 -2.078125,1.03125 -2.078125,2.28125 0,1.328125 1.046875,2.296875 2.1875,2.296875 C 3.6875,0.109375 4.140625,-1 4.140625,-1.1875 4.140625,-1.28125 4.0625,-1.3125 4,-1.3125 c -0.078125,0 -0.109375,0.0625 -0.125,0.140625 -0.34375,1.03125 -1.25,1.03125 -1.34375,1.03125 -0.5,0 -0.890625,-0.296875 -1.125,-0.671875 -0.296875,-0.46875 -0.296875,-1.125 -0.296875,-1.484375 z m 0,0" + transform="translate(166.42351,134.765)" + id="path3433-7" /> + </g> + </g> + </g> + <g + id="g4227" + ns1:jacobian_sqrt="1.553872" + inkscapeversion="0.92.2" + ns1:alignment="middle center" + ns1:scale="4.40467659548" + ns1:preamble="/usr/share/inkscape/extensions" + ns1:text="invalid\xc3\xa9" + ns1:pdfconverter="pdf2svg" + ns1:texconverter="pdflatex" + ns1:version="0.8.1" + transform="matrix(1.553872,0,0,1.553872,14.393348,-80.914809)"> + <g + id="g4225"> + <g + id="g4201" + style="fill:#000000;fill-opacity:1"> + <path + id="path4197" + transform="translate(148.712,134.765)" + d="M 1.765625,-4.40625 0.375,-4.296875 v 0.3125 c 0.640625,0 0.734375,0.0625 0.734375,0.546875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 C 0.640625,-0.015625 1.1875,-0.03125 1.421875,-0.03125 1.78125,-0.03125 2.125,-0.015625 2.46875,0 v -0.3125 c -0.671875,0 -0.703125,-0.046875 -0.703125,-0.4375 z m 0.03125,-1.734375 c 0,-0.3125 -0.234375,-0.53125 -0.515625,-0.53125 -0.3125,0 -0.53125,0.265625 -0.53125,0.53125 0,0.265625 0.21875,0.53125 0.53125,0.53125 0.28125,0 0.515625,-0.21875 0.515625,-0.53125 z m 0,0" + style="stroke:none;stroke-width:0" + inkscape:connector-curvature="0" /> + <path + id="path4199" + transform="translate(151.47961,134.765)" + d="M 1.09375,-3.421875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.359375,-0.015625 0.859375,-0.03125 1.140625,-0.03125 0.25,0 0.765625,0.015625 1.109375,0.03125 v -0.3125 c -0.671875,0 -0.78125,0 -0.78125,-0.4375 V -2.59375 C 1.78125,-3.625 2.5,-4.1875 3.125,-4.1875 c 0.640625,0 0.75,0.53125 0.75,1.109375 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.34375,-0.015625 0.859375,-0.03125 1.125,-0.03125 0.25,0 0.78125,0.015625 1.109375,0.03125 v -0.3125 c -0.515625,0 -0.765625,0 -0.765625,-0.296875 v -1.90625 c 0,-0.859375 0,-1.15625 -0.3125,-1.515625 -0.140625,-0.171875 -0.46875,-0.375 -1.046875,-0.375 C 2.46875,-4.40625 2,-3.984375 1.71875,-3.359375 V -4.40625 L 0.3125,-4.296875 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 z m 0,0" + style="stroke:none;stroke-width:0" + inkscape:connector-curvature="0" /> + </g> + <g + id="g4205" + style="fill:#000000;fill-opacity:1"> + <path + id="path4203" + transform="translate(156.73588,134.765)" + d="M 4.140625,-3.3125 C 4.234375,-3.546875 4.40625,-3.984375 5.0625,-3.984375 v -0.3125 c -0.234375,0.015625 -0.515625,0.03125 -0.75,0.03125 -0.234375,0 -0.6875,-0.015625 -0.859375,-0.03125 v 0.3125 c 0.359375,0 0.46875,0.234375 0.46875,0.421875 0,0.09375 -0.015625,0.140625 -0.046875,0.25 L 2.84375,-0.78125 1.734375,-3.5625 c -0.0625,-0.125 -0.0625,-0.140625 -0.0625,-0.171875 0,-0.25 0.390625,-0.25 0.578125,-0.25 v -0.3125 c -0.3125,0.015625 -0.859375,0.03125 -1.09375,0.03125 -0.265625,0 -0.671875,-0.015625 -0.96875,-0.03125 v 0.3125 c 0.625,0 0.671875,0.0625 0.796875,0.359375 l 1.4375,3.546875 C 2.484375,0.0625 2.5,0.109375 2.625,0.109375 c 0.140625,0 0.171875,-0.09375 0.21875,-0.1875 z m 0,0" + style="stroke:none;stroke-width:0" + inkscape:connector-curvature="0" /> + </g> + <g + id="g4215" + style="fill:#000000;fill-opacity:1"> + <path + id="path4207" + transform="translate(161.44619,134.765)" + d="m 3.3125,-0.75 c 0.046875,0.390625 0.3125,0.8125 0.78125,0.8125 0.21875,0 0.828125,-0.140625 0.828125,-0.953125 v -0.5625 h -0.25 v 0.5625 c 0,0.578125 -0.25,0.640625 -0.359375,0.640625 -0.328125,0 -0.375,-0.453125 -0.375,-0.5 v -1.984375 c 0,-0.421875 0,-0.8125 -0.359375,-1.1875 C 3.1875,-4.3125 2.6875,-4.46875 2.21875,-4.46875 c -0.828125,0 -1.515625,0.46875 -1.515625,1.125 0,0.296875 0.203125,0.46875 0.46875,0.46875 0.28125,0 0.453125,-0.203125 0.453125,-0.453125 0,-0.125 -0.046875,-0.453125 -0.515625,-0.453125 C 1.390625,-4.140625 1.875,-4.25 2.1875,-4.25 c 0.5,0 1.0625,0.390625 1.0625,1.28125 v 0.359375 c -0.515625,0.03125 -1.203125,0.0625 -1.828125,0.359375 -0.75,0.34375 -1,0.859375 -1,1.296875 0,0.8125 0.96875,1.0625 1.59375,1.0625 0.65625,0 1.109375,-0.40625 1.296875,-0.859375 z M 3.25,-2.390625 v 1 c 0,0.9375 -0.71875,1.28125 -1.171875,1.28125 -0.484375,0 -0.890625,-0.34375 -0.890625,-0.84375 0,-0.546875 0.421875,-1.375 2.0625,-1.4375 z m 0,0" + style="stroke:none;stroke-width:0" + inkscape:connector-curvature="0" /> + <path + id="path4209" + transform="translate(166.42749,134.765)" + d="M 1.765625,-6.921875 0.328125,-6.8125 V -6.5 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 C 0.65625,-0.015625 1.1875,-0.03125 1.4375,-0.03125 c 0.25,0 0.734375,0.015625 1.109375,0.03125 v -0.3125 c -0.671875,0 -0.78125,0 -0.78125,-0.4375 z m 0,0" + style="stroke:none;stroke-width:0" + inkscape:connector-curvature="0" /> + <path + id="path4211" + transform="translate(169.19511,134.765)" + d="M 1.765625,-4.40625 0.375,-4.296875 v 0.3125 c 0.640625,0 0.734375,0.0625 0.734375,0.546875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 C 0.640625,-0.015625 1.1875,-0.03125 1.421875,-0.03125 1.78125,-0.03125 2.125,-0.015625 2.46875,0 v -0.3125 c -0.671875,0 -0.703125,-0.046875 -0.703125,-0.4375 z m 0.03125,-1.734375 c 0,-0.3125 -0.234375,-0.53125 -0.515625,-0.53125 -0.3125,0 -0.53125,0.265625 -0.53125,0.53125 0,0.265625 0.21875,0.53125 0.53125,0.53125 0.28125,0 0.515625,-0.21875 0.515625,-0.53125 z m 0,0" + style="stroke:none;stroke-width:0" + inkscape:connector-curvature="0" /> + <path + id="path4213" + transform="translate(171.96272,134.765)" + d="m 3.78125,-0.546875 v 0.65625 L 5.25,0 v -0.3125 c -0.6875,0 -0.78125,-0.0625 -0.78125,-0.5625 V -6.921875 L 3.046875,-6.8125 V -6.5 c 0.6875,0 0.765625,0.0625 0.765625,0.5625 v 2.15625 c -0.28125,-0.359375 -0.71875,-0.625 -1.25,-0.625 -1.171875,0 -2.21875,0.984375 -2.21875,2.265625 0,1.265625 0.96875,2.25 2.109375,2.25 0.640625,0 1.078125,-0.34375 1.328125,-0.65625 z m 0,-2.671875 v 2.046875 c 0,0.171875 0,0.1875 -0.109375,0.359375 C 3.375,-0.328125 2.9375,-0.109375 2.5,-0.109375 2.046875,-0.109375 1.6875,-0.375 1.453125,-0.75 1.203125,-1.15625 1.171875,-1.71875 1.171875,-2.140625 1.171875,-2.5 1.1875,-3.09375 1.46875,-3.546875 1.6875,-3.859375 2.0625,-4.1875 2.609375,-4.1875 c 0.34375,0 0.765625,0.15625 1.0625,0.59375 0.109375,0.171875 0.109375,0.1875 0.109375,0.375 z m 0,0" + style="stroke:none;stroke-width:0" + inkscape:connector-curvature="0" /> + </g> + <g + id="g4219" + style="fill:#000000;fill-opacity:1"> + <path + id="path4217" + transform="translate(177.21898,134.765)" + d="M 3.734375,-6.296875 C 3.828125,-6.375 3.90625,-6.484375 3.90625,-6.59375 c 0,-0.1875 -0.171875,-0.359375 -0.359375,-0.359375 -0.140625,0 -0.25,0.109375 -0.296875,0.171875 l -1.203125,1.515625 0.171875,0.1875 z m 0,0" + style="stroke:none;stroke-width:0" + inkscape:connector-curvature="0" /> + </g> + <g + id="g4223" + style="fill:#000000;fill-opacity:1"> + <path + id="path4221" + transform="translate(177.49794,134.765)" + d="M 1.109375,-2.515625 C 1.171875,-4 2.015625,-4.25 2.359375,-4.25 c 1.015625,0 1.125,1.34375 1.125,1.734375 z m 0,0.21875 h 2.78125 c 0.21875,0 0.25,0 0.25,-0.21875 0,-0.984375 -0.546875,-1.953125 -1.78125,-1.953125 -1.15625,0 -2.078125,1.03125 -2.078125,2.28125 0,1.328125 1.046875,2.296875 2.1875,2.296875 C 3.6875,0.109375 4.140625,-1 4.140625,-1.1875 4.140625,-1.28125 4.0625,-1.3125 4,-1.3125 c -0.078125,0 -0.109375,0.0625 -0.125,0.140625 -0.34375,1.03125 -1.25,1.03125 -1.34375,1.03125 -0.5,0 -0.890625,-0.296875 -1.125,-0.671875 -0.296875,-0.46875 -0.296875,-1.125 -0.296875,-1.484375 z m 0,0" + style="stroke:none;stroke-width:0" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + </g> +</svg> diff --git a/slides/src/figs/mem_ref_vec.svg b/slides/src/figs/mem_ref_vec.svg new file mode 100644 index 0000000000000000000000000000000000000000..3fb6d8231b83ba0d09cb1242fcac8759951456ef --- /dev/null +++ b/slides/src/figs/mem_ref_vec.svg @@ -0,0 +1,913 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:ns1="http://www.iki.fi/pav/software/textext/" + 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" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="174.21407mm" + height="148.01814mm" + viewBox="0 0 174.21407 148.01815" + version="1.1" + id="svg8" + inkscape:version="0.92.2 2405546, 2018-03-11" + sodipodi:docname="mem_ref_vec.svg"> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="0.45254834" + inkscape:cx="-150.86265" + inkscape:cy="465.16676" + inkscape:document-units="mm" + inkscape:current-layer="svg8" + showgrid="false" + inkscape:window-width="1920" + inkscape:window-height="1016" + inkscape:window-x="0" + inkscape:window-y="30" + inkscape:window-maximized="1" + showguides="false" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" /> + <defs + id="defs2"> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="marker2245" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path2009" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" /> + </marker> + <marker + inkscape:stockid="DotM" + orient="auto" + refY="0" + refX="0" + id="DotM" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path5125" + d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(0.4,0,0,0.4,2.96,0.4)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="DotL" + orient="auto" + refY="0" + refX="0" + id="DotL" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path5122" + d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(0.8,0,0,0.8,5.92,0.8)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path5088" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Lend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Lend" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path5082" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="DotM" + orient="auto" + refY="0" + refX="0" + id="DotM-3" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path5125-6" + d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(0.4,0,0,0.4,2.96,0.4)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-7" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path5088-5" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="marker2245-9" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path2009-4" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="marker2245-1" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path2009-2" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="marker2245-1-3" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path2009-2-9" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" /> + </marker> + <marker + inkscape:stockid="DotM" + orient="auto" + refY="0" + refX="0" + id="DotM-8" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path5125-7" + d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(0.4,0,0,0.4,2.96,0.4)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-9" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path5088-2" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" + inkscape:connector-curvature="0" /> + </marker> + </defs> + <metadata + id="metadata5"> + <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 + id="layer1" + inkscape:groupmode="layer" + inkscape:label="Layer 1" + transform="translate(-15.02403,4.9824194)"> + <rect + y="117.46131" + x="37.041664" + height="25.324406" + width="151.94643" + id="rect4520" + style="opacity:1;fill:#999999;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" /> + <rect + y="117.4613" + x="69.618484" + height="25.324409" + width="86.792793" + id="rect4520-3" + style="opacity:1;fill:#f9f9f9;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" /> + <path + inkscape:connector-curvature="0" + id="path4537" + d="m 91.296993,117.4613 v 24.94642" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + sodipodi:nodetypes="cc" + inkscape:connector-curvature="0" + id="path4539" + d="m 112.98338,117.41405 v 24.99367" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + inkscape:connector-curvature="0" + id="path4541" + d="m 134.66977,117.55579 v 24.94643" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + inkscape:connector-curvature="0" + id="path4537-6" + d="m 69.610613,117.4613 v 24.94642" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + inkscape:connector-curvature="0" + id="path4537-6-7" + d="m 156.35615,117.55579 v 24.94642" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <g + id="g4597" + ns1:scale="1.0" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:text="$1$" + ns1:converter="pdf2svg" + ns1:textextver="0.8" + transform="translate(-71.179902,-1.321176)"> + <g + id="surface1"> + <g + id="g4594" + style="fill:#000000;fill-opacity:1"> + <path + inkscape:connector-curvature="0" + id="path4592" + transform="translate(148.712,134.765)" + d="m 2.9375,-6.375 c 0,-0.25 0,-0.265625 -0.234375,-0.265625 C 2.078125,-6 1.203125,-6 0.890625,-6 v 0.3125 c 0.203125,0 0.78125,0 1.296875,-0.265625 v 5.171875 c 0,0.359375 -0.03125,0.46875 -0.921875,0.46875 h -0.3125 V 0 c 0.34375,-0.03125 1.203125,-0.03125 1.609375,-0.03125 0.390625,0 1.265625,0 1.609375,0.03125 v -0.3125 h -0.3125 c -0.90625,0 -0.921875,-0.109375 -0.921875,-0.46875 z m 0,0" + style="stroke:none" /> + </g> + </g> + </g> + <g + transform="translate(-49.783477,-1.321176)" + ns1:textextver="0.8" + ns1:converter="pdf2svg" + ns1:text="$2$" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:scale="1.0" + id="g4661-7" + style="fill:#000000"> + <g + id="g4659-0" + style="fill:#000000"> + <g + style="fill:#000000;fill-opacity:1" + id="g4657-9"> + <path + style="stroke:none" + d="m 1.265625,-0.765625 1.0625,-1.03125 c 1.546875,-1.375 2.140625,-1.90625 2.140625,-2.90625 0,-1.140625 -0.890625,-1.9375 -2.109375,-1.9375 -1.125,0 -1.859375,0.921875 -1.859375,1.8125 0,0.546875 0.5,0.546875 0.53125,0.546875 0.171875,0 0.515625,-0.109375 0.515625,-0.53125 0,-0.25 -0.1875,-0.515625 -0.53125,-0.515625 -0.078125,0 -0.09375,0 -0.125,0.015625 0.21875,-0.65625 0.765625,-1.015625 1.34375,-1.015625 0.90625,0 1.328125,0.8125 1.328125,1.625 C 3.5625,-3.90625 3.078125,-3.125 2.515625,-2.5 l -1.90625,2.125 C 0.5,-0.265625 0.5,-0.234375 0.5,0 H 4.203125 L 4.46875,-1.734375 H 4.234375 C 4.171875,-1.4375 4.109375,-1 4,-0.84375 3.9375,-0.765625 3.28125,-0.765625 3.0625,-0.765625 Z m 0,0" + transform="translate(148.712,134.765)" + id="path4655-3" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <g + id="g4749" + style="fill:#000000" + ns1:scale="1.0" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:text="$3$" + ns1:converter="pdf2svg" + ns1:textextver="0.8" + transform="translate(-28.441736,-1.430551)"> + <g + style="fill:#000000" + id="g4747"> + <g + id="g4745" + style="fill:#000000;fill-opacity:1"> + <path + id="path4743" + transform="translate(148.712,134.765)" + d="m 2.890625,-3.515625 c 0.8125,-0.265625 1.390625,-0.953125 1.390625,-1.75 0,-0.8125 -0.875,-1.375 -1.828125,-1.375 -1,0 -1.765625,0.59375 -1.765625,1.359375 0,0.328125 0.21875,0.515625 0.515625,0.515625 0.296875,0 0.5,-0.21875 0.5,-0.515625 0,-0.484375 -0.46875,-0.484375 -0.609375,-0.484375 0.296875,-0.5 0.953125,-0.625 1.3125,-0.625 0.421875,0 0.96875,0.21875 0.96875,1.109375 0,0.125 -0.03125,0.703125 -0.28125,1.140625 C 2.796875,-3.65625 2.453125,-3.625 2.203125,-3.625 2.125,-3.609375 1.890625,-3.59375 1.8125,-3.59375 c -0.078125,0.015625 -0.140625,0.03125 -0.140625,0.125 0,0.109375 0.0625,0.109375 0.234375,0.109375 h 0.4375 c 0.8125,0 1.1875,0.671875 1.1875,1.65625 0,1.359375 -0.6875,1.640625 -1.125,1.640625 -0.4375,0 -1.1875,-0.171875 -1.53125,-0.75 0.34375,0.046875 0.65625,-0.171875 0.65625,-0.546875 0,-0.359375 -0.265625,-0.5625 -0.546875,-0.5625 -0.25,0 -0.5625,0.140625 -0.5625,0.578125 0,0.90625 0.921875,1.5625 2.015625,1.5625 1.21875,0 2.125,-0.90625 2.125,-1.921875 0,-0.8125 -0.640625,-1.59375 -1.671875,-1.8125 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <g + style="fill:#000000" + transform="translate(-7.084375,-1.266488)" + ns1:textextver="0.8" + ns1:converter="pdf2svg" + ns1:text="$4$" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:scale="1.0" + id="g4809"> + <g + style="fill:#000000" + id="g4807"> + <g + style="fill:#000000;fill-opacity:1" + id="g4805"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 2.9375,-1.640625 v 0.859375 c 0,0.359375 -0.03125,0.46875 -0.765625,0.46875 H 1.96875 V 0 C 2.375,-0.03125 2.890625,-0.03125 3.3125,-0.03125 c 0.421875,0 0.9375,0 1.359375,0.03125 v -0.3125 h -0.21875 c -0.734375,0 -0.75,-0.109375 -0.75,-0.46875 V -1.640625 H 4.6875 v -0.3125 H 3.703125 v -4.53125 c 0,-0.203125 0,-0.265625 -0.171875,-0.265625 -0.078125,0 -0.109375,0 -0.1875,0.125 l -3.0625,4.671875 v 0.3125 z m 0.046875,-0.3125 H 0.5625 l 2.421875,-3.71875 z m 0,0" + transform="translate(148.712,134.765)" + id="path4803" /> + </g> + </g> + </g> + <g + id="g4904" + ns1:scale="1.0" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:text="tas" + ns1:converter="pdf2svg" + ns1:textextver="0.8" + transform="translate(-126.43207,-21.462058)"> + <g + id="g4902"> + <g + id="g4900" + style="fill:#000000;fill-opacity:1"> + <path + id="path4894" + transform="translate(148.712,134.765)" + d="m 1.71875,-3.984375 h 1.4375 v -0.3125 H 1.71875 V -6.125 h -0.25 c 0,0.8125 -0.296875,1.875 -1.28125,1.921875 v 0.21875 h 0.84375 v 2.75 c 0,1.21875 0.9375,1.34375 1.296875,1.34375 0.703125,0 0.984375,-0.703125 0.984375,-1.34375 v -0.5625 h -0.25 V -1.25 c 0,0.734375 -0.296875,1.109375 -0.671875,1.109375 -0.671875,0 -0.671875,-0.90625 -0.671875,-1.078125 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path4896" + transform="translate(152.58645,134.765)" + d="m 3.3125,-0.75 c 0.046875,0.390625 0.3125,0.8125 0.78125,0.8125 0.21875,0 0.828125,-0.140625 0.828125,-0.953125 v -0.5625 h -0.25 v 0.5625 c 0,0.578125 -0.25,0.640625 -0.359375,0.640625 -0.328125,0 -0.375,-0.453125 -0.375,-0.5 v -1.984375 c 0,-0.421875 0,-0.8125 -0.359375,-1.1875 C 3.1875,-4.3125 2.6875,-4.46875 2.21875,-4.46875 c -0.828125,0 -1.515625,0.46875 -1.515625,1.125 0,0.296875 0.203125,0.46875 0.46875,0.46875 0.28125,0 0.453125,-0.203125 0.453125,-0.453125 0,-0.125 -0.046875,-0.453125 -0.515625,-0.453125 C 1.390625,-4.140625 1.875,-4.25 2.1875,-4.25 c 0.5,0 1.0625,0.390625 1.0625,1.28125 v 0.359375 c -0.515625,0.03125 -1.203125,0.0625 -1.828125,0.359375 -0.75,0.34375 -1,0.859375 -1,1.296875 0,0.8125 0.96875,1.0625 1.59375,1.0625 0.65625,0 1.109375,-0.40625 1.296875,-0.859375 z M 3.25,-2.390625 v 1 c 0,0.9375 -0.71875,1.28125 -1.171875,1.28125 -0.484375,0 -0.890625,-0.34375 -0.890625,-0.84375 0,-0.546875 0.421875,-1.375 2.0625,-1.4375 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path4898" + transform="translate(157.56775,134.765)" + d="m 2.078125,-1.9375 c 0.21875,0.046875 1.03125,0.203125 1.03125,0.921875 0,0.5 -0.34375,0.90625 -1.125,0.90625 -0.84375,0 -1.203125,-0.5625 -1.390625,-1.421875 C 0.5625,-1.65625 0.5625,-1.6875 0.453125,-1.6875 c -0.125,0 -0.125,0.0625 -0.125,0.234375 V -0.125 c 0,0.171875 0,0.234375 0.109375,0.234375 0.046875,0 0.0625,-0.015625 0.25,-0.203125 0.015625,-0.015625 0.015625,-0.03125 0.203125,-0.21875 0.4375,0.40625 0.890625,0.421875 1.09375,0.421875 1.140625,0 1.609375,-0.671875 1.609375,-1.390625 0,-0.515625 -0.296875,-0.828125 -0.421875,-0.9375 C 2.84375,-2.546875 2.453125,-2.625 2.03125,-2.703125 1.46875,-2.8125 0.8125,-2.9375 0.8125,-3.515625 c 0,-0.359375 0.25,-0.765625 1.109375,-0.765625 1.09375,0 1.15625,0.90625 1.171875,1.203125 0,0.09375 0.09375,0.09375 0.109375,0.09375 0.140625,0 0.140625,-0.046875 0.140625,-0.234375 v -1.015625 c 0,-0.15625 0,-0.234375 -0.109375,-0.234375 -0.046875,0 -0.078125,0 -0.203125,0.125 -0.03125,0.03125 -0.125,0.125 -0.171875,0.15625 -0.375,-0.28125 -0.78125,-0.28125 -0.9375,-0.28125 -1.21875,0 -1.59375,0.671875 -1.59375,1.234375 0,0.34375 0.15625,0.625 0.421875,0.84375 0.328125,0.25 0.609375,0.3125 1.328125,0.453125 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <rect + y="19.754463" + x="31.372025" + height="25.324406" + width="151.94643" + id="rect4520-0" + style="opacity:1;fill:#999999;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" /> + <g + transform="translate(-133.96922,-118.51588)" + ns1:textextver="0.8" + ns1:converter="pdf2svg" + ns1:text="pile" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:scale="1.0" + id="g6058"> + <g + id="g6056"> + <g + style="fill:#000000;fill-opacity:1" + id="g6054"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 1.71875,-3.75 v -0.65625 l -1.4375,0.109375 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5 v 4.65625 C 1.0625,1.625 0.953125,1.625 0.28125,1.625 V 1.9375 C 0.625,1.921875 1.140625,1.90625 1.390625,1.90625 c 0.28125,0 0.78125,0.015625 1.125,0.03125 V 1.625 C 1.859375,1.625 1.75,1.625 1.75,1.171875 V -0.59375 c 0.046875,0.171875 0.46875,0.703125 1.21875,0.703125 1.1875,0 2.21875,-0.984375 2.21875,-2.265625 0,-1.265625 -0.953125,-2.25 -2.078125,-2.25 -0.78125,0 -1.203125,0.4375 -1.390625,0.65625 z M 1.75,-1.140625 v -2.21875 C 2.03125,-3.875 2.515625,-4.15625 3.03125,-4.15625 c 0.734375,0 1.328125,0.875 1.328125,2 0,1.203125 -0.6875,2.046875 -1.421875,2.046875 -0.40625,0 -0.78125,-0.203125 -1.046875,-0.609375 C 1.75,-0.921875 1.75,-0.9375 1.75,-1.140625 Z m 0,0" + transform="translate(148.712,134.765)" + id="path6046" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.765625,-4.40625 0.375,-4.296875 v 0.3125 c 0.640625,0 0.734375,0.0625 0.734375,0.546875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 C 0.640625,-0.015625 1.1875,-0.03125 1.421875,-0.03125 1.78125,-0.03125 2.125,-0.015625 2.46875,0 v -0.3125 c -0.671875,0 -0.703125,-0.046875 -0.703125,-0.4375 z m 0.03125,-1.734375 c 0,-0.3125 -0.234375,-0.53125 -0.515625,-0.53125 -0.3125,0 -0.53125,0.265625 -0.53125,0.53125 0,0.265625 0.21875,0.53125 0.53125,0.53125 0.28125,0 0.515625,-0.21875 0.515625,-0.53125 z m 0,0" + transform="translate(154.24722,134.765)" + id="path6048" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.765625,-6.921875 0.328125,-6.8125 V -6.5 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 C 0.65625,-0.015625 1.1875,-0.03125 1.4375,-0.03125 c 0.25,0 0.734375,0.015625 1.109375,0.03125 v -0.3125 c -0.671875,0 -0.78125,0 -0.78125,-0.4375 z m 0,0" + transform="translate(157.01483,134.765)" + id="path6050" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.109375,-2.515625 C 1.171875,-4 2.015625,-4.25 2.359375,-4.25 c 1.015625,0 1.125,1.34375 1.125,1.734375 z m 0,0.21875 h 2.78125 c 0.21875,0 0.25,0 0.25,-0.21875 0,-0.984375 -0.546875,-1.953125 -1.78125,-1.953125 -1.15625,0 -2.078125,1.03125 -2.078125,2.28125 0,1.328125 1.046875,2.296875 2.1875,2.296875 C 3.6875,0.109375 4.140625,-1 4.140625,-1.1875 4.140625,-1.28125 4.0625,-1.3125 4,-1.3125 c -0.078125,0 -0.109375,0.0625 -0.125,0.140625 -0.34375,1.03125 -1.25,1.03125 -1.34375,1.03125 -0.5,0 -0.890625,-0.296875 -1.125,-0.671875 -0.296875,-0.46875 -0.296875,-1.125 -0.296875,-1.484375 z m 0,0" + transform="translate(159.78244,134.765)" + id="path6052" /> + </g> + </g> + </g> + <rect + y="19.754461" + x="107.35704" + height="25.324411" + width="64.870178" + id="rect4520-3-2" + style="opacity:1;fill:#f9f9f9;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" /> + <path + inkscape:connector-curvature="0" + id="path4537-61" + d="m 129.03555,19.754458 v 24.94642" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + sodipodi:nodetypes="cc" + inkscape:connector-curvature="0" + id="path4539-8" + d="m 150.52789,19.707208 v 24.99367" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + inkscape:connector-curvature="0" + id="path4541-7" + d="m 172.40833,19.848948 v 24.94643" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + inkscape:connector-curvature="0" + id="path4537-6-9" + d="m 107.34918,19.754458 v 24.94642" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <g + id="g6194" + ns1:scale="1.0" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:text="longueur" + ns1:converter="pdf2svg" + ns1:textextver="0.8" + transform="matrix(0.52294065,0,0,0.52294065,52.152466,-20.30025)"> + <g + id="g6192"> + <g + id="g6190" + style="fill:#000000;fill-opacity:1"> + <path + id="path6174" + transform="translate(148.712,134.765)" + d="M 1.765625,-6.921875 0.328125,-6.8125 V -6.5 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 C 0.65625,-0.015625 1.1875,-0.03125 1.4375,-0.03125 c 0.25,0 0.734375,0.015625 1.109375,0.03125 v -0.3125 c -0.671875,0 -0.78125,0 -0.78125,-0.4375 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6176" + transform="translate(151.47961,134.765)" + d="M 4.6875,-2.140625 C 4.6875,-3.40625 3.703125,-4.46875 2.5,-4.46875 c -1.25,0 -2.21875,1.09375 -2.21875,2.328125 0,1.296875 1.03125,2.25 2.203125,2.25 1.203125,0 2.203125,-0.984375 2.203125,-2.25 z m -2.1875,2 c -0.4375,0 -0.875,-0.203125 -1.140625,-0.671875 -0.25,-0.4375 -0.25,-1.046875 -0.25,-1.40625 0,-0.390625 0,-0.921875 0.234375,-1.359375 C 1.609375,-4.03125 2.078125,-4.25 2.484375,-4.25 c 0.4375,0 0.859375,0.21875 1.125,0.65625 0.265625,0.421875 0.265625,1 0.265625,1.375 0,0.359375 0,0.90625 -0.21875,1.34375 C 3.421875,-0.421875 2.984375,-0.140625 2.5,-0.140625 Z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6178" + transform="translate(156.46091,134.765)" + d="M 1.09375,-3.421875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.359375,-0.015625 0.859375,-0.03125 1.140625,-0.03125 0.25,0 0.765625,0.015625 1.109375,0.03125 v -0.3125 c -0.671875,0 -0.78125,0 -0.78125,-0.4375 V -2.59375 C 1.78125,-3.625 2.5,-4.1875 3.125,-4.1875 c 0.640625,0 0.75,0.53125 0.75,1.109375 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.34375,-0.015625 0.859375,-0.03125 1.125,-0.03125 0.25,0 0.78125,0.015625 1.109375,0.03125 v -0.3125 c -0.515625,0 -0.765625,0 -0.765625,-0.296875 v -1.90625 c 0,-0.859375 0,-1.15625 -0.3125,-1.515625 -0.140625,-0.171875 -0.46875,-0.375 -1.046875,-0.375 C 2.46875,-4.40625 2,-3.984375 1.71875,-3.359375 V -4.40625 L 0.3125,-4.296875 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6180" + transform="translate(161.99613,134.765)" + d="m 2.21875,-1.71875 c -0.875,0 -0.875,-1 -0.875,-1.21875 0,-0.265625 0.015625,-0.59375 0.15625,-0.84375 0.078125,-0.109375 0.3125,-0.390625 0.71875,-0.390625 0.859375,0 0.859375,0.984375 0.859375,1.21875 0,0.265625 0,0.59375 -0.15625,0.84375 C 2.84375,-2 2.609375,-1.71875 2.21875,-1.71875 Z M 1.0625,-1.328125 c 0,-0.03125 0,-0.265625 0.15625,-0.46875 0.390625,0.28125 0.8125,0.3125 1,0.3125 0.921875,0 1.609375,-0.6875 1.609375,-1.453125 0,-0.375 -0.15625,-0.734375 -0.40625,-0.96875 C 3.78125,-4.25 4.140625,-4.296875 4.3125,-4.296875 c 0.03125,0 0.078125,0 0.109375,0.015625 C 4.3125,-4.25 4.25,-4.140625 4.25,-4.015625 c 0,0.171875 0.140625,0.28125 0.296875,0.28125 0.09375,0 0.28125,-0.0625 0.28125,-0.296875 0,-0.171875 -0.109375,-0.484375 -0.5,-0.484375 -0.203125,0 -0.640625,0.0625 -1.0625,0.46875 C 2.84375,-4.375 2.4375,-4.40625 2.21875,-4.40625 c -0.9375,0 -1.625,0.6875 -1.625,1.453125 0,0.4375 0.21875,0.8125 0.46875,1.03125 -0.125,0.140625 -0.3125,0.46875 -0.3125,0.828125 0,0.3125 0.140625,0.6875 0.453125,0.890625 -0.609375,0.15625 -0.921875,0.59375 -0.921875,0.984375 0,0.71875 0.984375,1.265625 2.203125,1.265625 1.171875,0 2.203125,-0.5 2.203125,-1.28125 0,-0.34375 -0.125,-0.859375 -0.640625,-1.140625 -0.53125,-0.265625 -1.109375,-0.265625 -1.71875,-0.265625 -0.25,0 -0.671875,0 -0.75,-0.015625 C 1.265625,-0.703125 1.0625,-1 1.0625,-1.328125 Z M 2.5,1.828125 c -1.015625,0 -1.703125,-0.515625 -1.703125,-1.046875 0,-0.453125 0.375,-0.828125 0.8125,-0.84375 h 0.59375 c 0.859375,0 1.96875,0 1.96875,0.84375 0,0.546875 -0.703125,1.046875 -1.671875,1.046875 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6182" + transform="translate(166.97743,134.765)" + d="M 3.890625,-0.78125 V 0.109375 L 5.328125,0 V -0.3125 C 4.640625,-0.3125 4.5625,-0.375 4.5625,-0.875 v -3.53125 l -1.46875,0.109375 v 0.3125 c 0.6875,0 0.78125,0.0625 0.78125,0.5625 v 1.765625 c 0,0.875 -0.484375,1.546875 -1.21875,1.546875 -0.828125,0 -0.875,-0.46875 -0.875,-0.984375 v -3.3125 L 0.3125,-4.296875 v 0.3125 c 0.78125,0 0.78125,0.03125 0.78125,0.90625 v 1.5 c 0,0.78125 0,1.6875 1.515625,1.6875 0.5625,0 1,-0.28125 1.28125,-0.890625 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6184" + transform="translate(172.51265,134.765)" + d="M 1.109375,-2.515625 C 1.171875,-4 2.015625,-4.25 2.359375,-4.25 c 1.015625,0 1.125,1.34375 1.125,1.734375 z m 0,0.21875 h 2.78125 c 0.21875,0 0.25,0 0.25,-0.21875 0,-0.984375 -0.546875,-1.953125 -1.78125,-1.953125 -1.15625,0 -2.078125,1.03125 -2.078125,2.28125 0,1.328125 1.046875,2.296875 2.1875,2.296875 C 3.6875,0.109375 4.140625,-1 4.140625,-1.1875 4.140625,-1.28125 4.0625,-1.3125 4,-1.3125 c -0.078125,0 -0.109375,0.0625 -0.125,0.140625 -0.34375,1.03125 -1.25,1.03125 -1.34375,1.03125 -0.5,0 -0.890625,-0.296875 -1.125,-0.671875 -0.296875,-0.46875 -0.296875,-1.125 -0.296875,-1.484375 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6186" + transform="translate(176.94003,134.765)" + d="M 3.890625,-0.78125 V 0.109375 L 5.328125,0 V -0.3125 C 4.640625,-0.3125 4.5625,-0.375 4.5625,-0.875 v -3.53125 l -1.46875,0.109375 v 0.3125 c 0.6875,0 0.78125,0.0625 0.78125,0.5625 v 1.765625 c 0,0.875 -0.484375,1.546875 -1.21875,1.546875 -0.828125,0 -0.875,-0.46875 -0.875,-0.984375 v -3.3125 L 0.3125,-4.296875 v 0.3125 c 0.78125,0 0.78125,0.03125 0.78125,0.90625 v 1.5 c 0,0.78125 0,1.6875 1.515625,1.6875 0.5625,0 1,-0.28125 1.28125,-0.890625 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6188" + transform="translate(182.47525,134.765)" + d="M 1.671875,-3.3125 V -4.40625 L 0.28125,-4.296875 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.390625,-0.015625 0.859375,-0.03125 1.140625,-0.03125 0.390625,0 0.859375,0 1.265625,0.03125 V -0.3125 H 2.46875 c -0.734375,0 -0.75,-0.109375 -0.75,-0.46875 V -2.3125 c 0,-0.984375 0.421875,-1.875 1.171875,-1.875 0.0625,0 0.09375,0 0.109375,0.015625 -0.03125,0 -0.234375,0.125 -0.234375,0.390625 0,0.265625 0.21875,0.421875 0.4375,0.421875 0.171875,0 0.421875,-0.125 0.421875,-0.4375 0,-0.3125 -0.3125,-0.609375 -0.734375,-0.609375 -0.734375,0 -1.09375,0.671875 -1.21875,1.09375 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <g + style="fill:#000000" + transform="translate(-11.414646,-98.973333)" + ns1:textextver="0.8" + ns1:converter="pdf2svg" + ns1:text="$4$" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:scale="1.0" + id="g4809-4"> + <g + style="fill:#000000" + id="g4807-5"> + <g + style="fill:#000000;fill-opacity:1" + id="g4805-0"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 2.9375,-1.640625 v 0.859375 c 0,0.359375 -0.03125,0.46875 -0.765625,0.46875 H 1.96875 V 0 C 2.375,-0.03125 2.890625,-0.03125 3.3125,-0.03125 c 0.421875,0 0.9375,0 1.359375,0.03125 v -0.3125 h -0.21875 c -0.734375,0 -0.75,-0.109375 -0.75,-0.46875 V -1.640625 H 4.6875 v -0.3125 H 3.703125 v -4.53125 c 0,-0.203125 0,-0.265625 -0.171875,-0.265625 -0.078125,0 -0.109375,0 -0.1875,0.125 l -3.0625,4.671875 v 0.3125 z m 0.046875,-0.3125 H 0.5625 l 2.421875,-3.71875 z m 0,0" + transform="translate(148.712,134.765)" + id="path4803-3" /> + </g> + </g> + </g> + <g + style="fill:#000000" + transform="translate(10.07769,-98.973333)" + ns1:textextver="0.8" + ns1:converter="pdf2svg" + ns1:text="$4$" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:scale="1.0" + id="g4809-6"> + <g + style="fill:#000000" + id="g4807-1"> + <g + style="fill:#000000;fill-opacity:1" + id="g4805-06"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 2.9375,-1.640625 v 0.859375 c 0,0.359375 -0.03125,0.46875 -0.765625,0.46875 H 1.96875 V 0 C 2.375,-0.03125 2.890625,-0.03125 3.3125,-0.03125 c 0.421875,0 0.9375,0 1.359375,0.03125 v -0.3125 h -0.21875 c -0.734375,0 -0.75,-0.109375 -0.75,-0.46875 V -1.640625 H 4.6875 v -0.3125 H 3.703125 v -4.53125 c 0,-0.203125 0,-0.265625 -0.171875,-0.265625 -0.078125,0 -0.109375,0 -0.1875,0.125 l -3.0625,4.671875 v 0.3125 z m 0.046875,-0.3125 H 0.5625 l 2.421875,-3.71875 z m 0,0" + transform="translate(148.712,134.765)" + id="path4803-32" /> + </g> + </g> + </g> + <g + transform="matrix(0.48712835,0,0,0.48712835,80.190817,-15.527047)" + ns1:textextver="0.8" + ns1:converter="pdf2svg" + ns1:text="capacit\xc3\xa9" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:scale="1.0" + id="g6430"> + <g + id="g6428"> + <g + style="fill:#000000;fill-opacity:1" + id="g6418"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 1.171875,-2.171875 c 0,-1.625 0.8125,-2.046875 1.34375,-2.046875 0.09375,0 0.71875,0.015625 1.0625,0.375 -0.40625,0.03125 -0.46875,0.328125 -0.46875,0.453125 0,0.265625 0.1875,0.453125 0.453125,0.453125 0.265625,0 0.46875,-0.15625 0.46875,-0.46875 0,-0.671875 -0.765625,-1.0625 -1.53125,-1.0625 -1.25,0 -2.15625,1.078125 -2.15625,2.3125 0,1.28125 0.984375,2.265625 2.140625,2.265625 1.328125,0 1.65625,-1.203125 1.65625,-1.296875 0,-0.09375 -0.109375,-0.09375 -0.140625,-0.09375 -0.078125,0 -0.109375,0.03125 -0.125,0.09375 -0.28125,0.921875 -0.9375,1.046875 -1.296875,1.046875 -0.53125,0 -1.40625,-0.421875 -1.40625,-2.03125 z m 0,0" + transform="translate(148.712,134.765)" + id="path6404" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 3.3125,-0.75 c 0.046875,0.390625 0.3125,0.8125 0.78125,0.8125 0.21875,0 0.828125,-0.140625 0.828125,-0.953125 v -0.5625 h -0.25 v 0.5625 c 0,0.578125 -0.25,0.640625 -0.359375,0.640625 -0.328125,0 -0.375,-0.453125 -0.375,-0.5 v -1.984375 c 0,-0.421875 0,-0.8125 -0.359375,-1.1875 C 3.1875,-4.3125 2.6875,-4.46875 2.21875,-4.46875 c -0.828125,0 -1.515625,0.46875 -1.515625,1.125 0,0.296875 0.203125,0.46875 0.46875,0.46875 0.28125,0 0.453125,-0.203125 0.453125,-0.453125 0,-0.125 -0.046875,-0.453125 -0.515625,-0.453125 C 1.390625,-4.140625 1.875,-4.25 2.1875,-4.25 c 0.5,0 1.0625,0.390625 1.0625,1.28125 v 0.359375 c -0.515625,0.03125 -1.203125,0.0625 -1.828125,0.359375 -0.75,0.34375 -1,0.859375 -1,1.296875 0,0.8125 0.96875,1.0625 1.59375,1.0625 0.65625,0 1.109375,-0.40625 1.296875,-0.859375 z M 3.25,-2.390625 v 1 c 0,0.9375 -0.71875,1.28125 -1.171875,1.28125 -0.484375,0 -0.890625,-0.34375 -0.890625,-0.84375 0,-0.546875 0.421875,-1.375 2.0625,-1.4375 z m 0,0" + transform="translate(153.13938,134.765)" + id="path6406" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 1.71875,-3.75 v -0.65625 l -1.4375,0.109375 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5 v 4.65625 C 1.0625,1.625 0.953125,1.625 0.28125,1.625 V 1.9375 C 0.625,1.921875 1.140625,1.90625 1.390625,1.90625 c 0.28125,0 0.78125,0.015625 1.125,0.03125 V 1.625 C 1.859375,1.625 1.75,1.625 1.75,1.171875 V -0.59375 c 0.046875,0.171875 0.46875,0.703125 1.21875,0.703125 1.1875,0 2.21875,-0.984375 2.21875,-2.265625 0,-1.265625 -0.953125,-2.25 -2.078125,-2.25 -0.78125,0 -1.203125,0.4375 -1.390625,0.65625 z M 1.75,-1.140625 v -2.21875 C 2.03125,-3.875 2.515625,-4.15625 3.03125,-4.15625 c 0.734375,0 1.328125,0.875 1.328125,2 0,1.203125 -0.6875,2.046875 -1.421875,2.046875 -0.40625,0 -0.78125,-0.203125 -1.046875,-0.609375 C 1.75,-0.921875 1.75,-0.9375 1.75,-1.140625 Z m 0,0" + transform="translate(158.12068,134.765)" + id="path6408" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 3.3125,-0.75 c 0.046875,0.390625 0.3125,0.8125 0.78125,0.8125 0.21875,0 0.828125,-0.140625 0.828125,-0.953125 v -0.5625 h -0.25 v 0.5625 c 0,0.578125 -0.25,0.640625 -0.359375,0.640625 -0.328125,0 -0.375,-0.453125 -0.375,-0.5 v -1.984375 c 0,-0.421875 0,-0.8125 -0.359375,-1.1875 C 3.1875,-4.3125 2.6875,-4.46875 2.21875,-4.46875 c -0.828125,0 -1.515625,0.46875 -1.515625,1.125 0,0.296875 0.203125,0.46875 0.46875,0.46875 0.28125,0 0.453125,-0.203125 0.453125,-0.453125 0,-0.125 -0.046875,-0.453125 -0.515625,-0.453125 C 1.390625,-4.140625 1.875,-4.25 2.1875,-4.25 c 0.5,0 1.0625,0.390625 1.0625,1.28125 v 0.359375 c -0.515625,0.03125 -1.203125,0.0625 -1.828125,0.359375 -0.75,0.34375 -1,0.859375 -1,1.296875 0,0.8125 0.96875,1.0625 1.59375,1.0625 0.65625,0 1.109375,-0.40625 1.296875,-0.859375 z M 3.25,-2.390625 v 1 c 0,0.9375 -0.71875,1.28125 -1.171875,1.28125 -0.484375,0 -0.890625,-0.34375 -0.890625,-0.84375 0,-0.546875 0.421875,-1.375 2.0625,-1.4375 z m 0,0" + transform="translate(163.6559,134.765)" + id="path6410" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 1.171875,-2.171875 c 0,-1.625 0.8125,-2.046875 1.34375,-2.046875 0.09375,0 0.71875,0.015625 1.0625,0.375 -0.40625,0.03125 -0.46875,0.328125 -0.46875,0.453125 0,0.265625 0.1875,0.453125 0.453125,0.453125 0.265625,0 0.46875,-0.15625 0.46875,-0.46875 0,-0.671875 -0.765625,-1.0625 -1.53125,-1.0625 -1.25,0 -2.15625,1.078125 -2.15625,2.3125 0,1.28125 0.984375,2.265625 2.140625,2.265625 1.328125,0 1.65625,-1.203125 1.65625,-1.296875 0,-0.09375 -0.109375,-0.09375 -0.140625,-0.09375 -0.078125,0 -0.109375,0.03125 -0.125,0.09375 -0.28125,0.921875 -0.9375,1.046875 -1.296875,1.046875 -0.53125,0 -1.40625,-0.421875 -1.40625,-2.03125 z m 0,0" + transform="translate(168.6372,134.765)" + id="path6412" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.765625,-4.40625 0.375,-4.296875 v 0.3125 c 0.640625,0 0.734375,0.0625 0.734375,0.546875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 C 0.640625,-0.015625 1.1875,-0.03125 1.421875,-0.03125 1.78125,-0.03125 2.125,-0.015625 2.46875,0 v -0.3125 c -0.671875,0 -0.703125,-0.046875 -0.703125,-0.4375 z m 0.03125,-1.734375 c 0,-0.3125 -0.234375,-0.53125 -0.515625,-0.53125 -0.3125,0 -0.53125,0.265625 -0.53125,0.53125 0,0.265625 0.21875,0.53125 0.53125,0.53125 0.28125,0 0.515625,-0.21875 0.515625,-0.53125 z m 0,0" + transform="translate(173.06458,134.765)" + id="path6414" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 1.71875,-3.984375 h 1.4375 v -0.3125 H 1.71875 V -6.125 h -0.25 c 0,0.8125 -0.296875,1.875 -1.28125,1.921875 v 0.21875 h 0.84375 v 2.75 c 0,1.21875 0.9375,1.34375 1.296875,1.34375 0.703125,0 0.984375,-0.703125 0.984375,-1.34375 v -0.5625 h -0.25 V -1.25 c 0,0.734375 -0.296875,1.109375 -0.671875,1.109375 -0.671875,0 -0.671875,-0.90625 -0.671875,-1.078125 z m 0,0" + transform="translate(175.83219,134.765)" + id="path6416" /> + </g> + <g + style="fill:#000000;fill-opacity:1" + id="g6422"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 3.734375,-6.296875 C 3.828125,-6.375 3.90625,-6.484375 3.90625,-6.59375 c 0,-0.1875 -0.171875,-0.359375 -0.359375,-0.359375 -0.140625,0 -0.25,0.109375 -0.296875,0.171875 l -1.203125,1.515625 0.171875,0.1875 z m 0,0" + transform="translate(179.42769,134.765)" + id="path6420" /> + </g> + <g + style="fill:#000000;fill-opacity:1" + id="g6426"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.109375,-2.515625 C 1.171875,-4 2.015625,-4.25 2.359375,-4.25 c 1.015625,0 1.125,1.34375 1.125,1.734375 z m 0,0.21875 h 2.78125 c 0.21875,0 0.25,0 0.25,-0.21875 0,-0.984375 -0.546875,-1.953125 -1.78125,-1.953125 -1.15625,0 -2.078125,1.03125 -2.078125,2.28125 0,1.328125 1.046875,2.296875 2.1875,2.296875 C 3.6875,0.109375 4.140625,-1 4.140625,-1.1875 4.140625,-1.28125 4.0625,-1.3125 4,-1.3125 c -0.078125,0 -0.109375,0.0625 -0.125,0.140625 -0.34375,1.03125 -1.25,1.03125 -1.34375,1.03125 -0.5,0 -0.890625,-0.296875 -1.125,-0.671875 -0.296875,-0.46875 -0.296875,-1.125 -0.296875,-1.484375 z m 0,0" + transform="translate(179.70664,134.765)" + id="path6424" /> + </g> + </g> + </g> + <g + id="g6701" + ns1:scale="1.0" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:text="pointeur" + ns1:converter="pdf2svg" + ns1:textextver="0.8" + transform="matrix(0.48104849,0,0,0.48104849,38.694648,-47.802732)"> + <g + id="g6699"> + <g + id="g6679" + style="fill:#000000;fill-opacity:1"> + <path + id="path6677" + transform="translate(148.712,134.765)" + d="m 1.71875,-3.75 v -0.65625 l -1.4375,0.109375 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5 v 4.65625 C 1.0625,1.625 0.953125,1.625 0.28125,1.625 V 1.9375 C 0.625,1.921875 1.140625,1.90625 1.390625,1.90625 c 0.28125,0 0.78125,0.015625 1.125,0.03125 V 1.625 C 1.859375,1.625 1.75,1.625 1.75,1.171875 V -0.59375 c 0.046875,0.171875 0.46875,0.703125 1.21875,0.703125 1.1875,0 2.21875,-0.984375 2.21875,-2.265625 0,-1.265625 -0.953125,-2.25 -2.078125,-2.25 -0.78125,0 -1.203125,0.4375 -1.390625,0.65625 z M 1.75,-1.140625 v -2.21875 C 2.03125,-3.875 2.515625,-4.15625 3.03125,-4.15625 c 0.734375,0 1.328125,0.875 1.328125,2 0,1.203125 -0.6875,2.046875 -1.421875,2.046875 -0.40625,0 -0.78125,-0.203125 -1.046875,-0.609375 C 1.75,-0.921875 1.75,-0.9375 1.75,-1.140625 Z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + <g + id="g6687" + style="fill:#000000;fill-opacity:1"> + <path + id="path6681" + transform="translate(154.52617,134.765)" + d="M 4.6875,-2.140625 C 4.6875,-3.40625 3.703125,-4.46875 2.5,-4.46875 c -1.25,0 -2.21875,1.09375 -2.21875,2.328125 0,1.296875 1.03125,2.25 2.203125,2.25 1.203125,0 2.203125,-0.984375 2.203125,-2.25 z m -2.1875,2 c -0.4375,0 -0.875,-0.203125 -1.140625,-0.671875 -0.25,-0.4375 -0.25,-1.046875 -0.25,-1.40625 0,-0.390625 0,-0.921875 0.234375,-1.359375 C 1.609375,-4.03125 2.078125,-4.25 2.484375,-4.25 c 0.4375,0 0.859375,0.21875 1.125,0.65625 0.265625,0.421875 0.265625,1 0.265625,1.375 0,0.359375 0,0.90625 -0.21875,1.34375 C 3.421875,-0.421875 2.984375,-0.140625 2.5,-0.140625 Z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6683" + transform="translate(159.50747,134.765)" + d="M 1.765625,-4.40625 0.375,-4.296875 v 0.3125 c 0.640625,0 0.734375,0.0625 0.734375,0.546875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 C 0.640625,-0.015625 1.1875,-0.03125 1.421875,-0.03125 1.78125,-0.03125 2.125,-0.015625 2.46875,0 v -0.3125 c -0.671875,0 -0.703125,-0.046875 -0.703125,-0.4375 z m 0.03125,-1.734375 c 0,-0.3125 -0.234375,-0.53125 -0.515625,-0.53125 -0.3125,0 -0.53125,0.265625 -0.53125,0.53125 0,0.265625 0.21875,0.53125 0.53125,0.53125 0.28125,0 0.515625,-0.21875 0.515625,-0.53125 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6685" + transform="translate(162.27508,134.765)" + d="M 1.09375,-3.421875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.359375,-0.015625 0.859375,-0.03125 1.140625,-0.03125 0.25,0 0.765625,0.015625 1.109375,0.03125 v -0.3125 c -0.671875,0 -0.78125,0 -0.78125,-0.4375 V -2.59375 C 1.78125,-3.625 2.5,-4.1875 3.125,-4.1875 c 0.640625,0 0.75,0.53125 0.75,1.109375 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.34375,-0.015625 0.859375,-0.03125 1.125,-0.03125 0.25,0 0.78125,0.015625 1.109375,0.03125 v -0.3125 c -0.515625,0 -0.765625,0 -0.765625,-0.296875 v -1.90625 c 0,-0.859375 0,-1.15625 -0.3125,-1.515625 -0.140625,-0.171875 -0.46875,-0.375 -1.046875,-0.375 C 2.46875,-4.40625 2,-3.984375 1.71875,-3.359375 V -4.40625 L 0.3125,-4.296875 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + <g + id="g6697" + style="fill:#000000;fill-opacity:1"> + <path + id="path6689" + transform="translate(167.53135,134.765)" + d="m 1.71875,-3.984375 h 1.4375 v -0.3125 H 1.71875 V -6.125 h -0.25 c 0,0.8125 -0.296875,1.875 -1.28125,1.921875 v 0.21875 h 0.84375 v 2.75 c 0,1.21875 0.9375,1.34375 1.296875,1.34375 0.703125,0 0.984375,-0.703125 0.984375,-1.34375 v -0.5625 h -0.25 V -1.25 c 0,0.734375 -0.296875,1.109375 -0.671875,1.109375 -0.671875,0 -0.671875,-0.90625 -0.671875,-1.078125 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6691" + transform="translate(171.40581,134.765)" + d="M 1.109375,-2.515625 C 1.171875,-4 2.015625,-4.25 2.359375,-4.25 c 1.015625,0 1.125,1.34375 1.125,1.734375 z m 0,0.21875 h 2.78125 c 0.21875,0 0.25,0 0.25,-0.21875 0,-0.984375 -0.546875,-1.953125 -1.78125,-1.953125 -1.15625,0 -2.078125,1.03125 -2.078125,2.28125 0,1.328125 1.046875,2.296875 2.1875,2.296875 C 3.6875,0.109375 4.140625,-1 4.140625,-1.1875 4.140625,-1.28125 4.0625,-1.3125 4,-1.3125 c -0.078125,0 -0.109375,0.0625 -0.125,0.140625 -0.34375,1.03125 -1.25,1.03125 -1.34375,1.03125 -0.5,0 -0.890625,-0.296875 -1.125,-0.671875 -0.296875,-0.46875 -0.296875,-1.125 -0.296875,-1.484375 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6693" + transform="translate(175.83319,134.765)" + d="M 3.890625,-0.78125 V 0.109375 L 5.328125,0 V -0.3125 C 4.640625,-0.3125 4.5625,-0.375 4.5625,-0.875 v -3.53125 l -1.46875,0.109375 v 0.3125 c 0.6875,0 0.78125,0.0625 0.78125,0.5625 v 1.765625 c 0,0.875 -0.484375,1.546875 -1.21875,1.546875 -0.828125,0 -0.875,-0.46875 -0.875,-0.984375 v -3.3125 L 0.3125,-4.296875 v 0.3125 c 0.78125,0 0.78125,0.03125 0.78125,0.90625 v 1.5 c 0,0.78125 0,1.6875 1.515625,1.6875 0.5625,0 1,-0.28125 1.28125,-0.890625 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6695" + transform="translate(181.36841,134.765)" + d="M 1.671875,-3.3125 V -4.40625 L 0.28125,-4.296875 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.390625,-0.015625 0.859375,-0.03125 1.140625,-0.03125 0.390625,0 0.859375,0 1.265625,0.03125 V -0.3125 H 2.46875 c -0.734375,0 -0.75,-0.109375 -0.75,-0.46875 V -2.3125 c 0,-0.984375 0.421875,-1.875 1.171875,-1.875 0.0625,0 0.09375,0 0.109375,0.015625 -0.03125,0 -0.234375,0.125 -0.234375,0.390625 0,0.265625 0.21875,0.421875 0.4375,0.421875 0.171875,0 0.421875,-0.125 0.421875,-0.4375 0,-0.3125 -0.3125,-0.609375 -0.734375,-0.609375 -0.734375,0 -1.09375,0.671875 -1.21875,1.09375 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <path + sodipodi:nodetypes="cc" + inkscape:connector-curvature="0" + id="path4539-8-3" + d="m 50.44623,20.041382 v 24.99367" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <rect + y="19.710642" + x="50.446228" + height="25.324411" + width="21.875387" + id="rect4520-3-2-1" + style="opacity:1;fill:#f9f9f9;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" /> + <path + inkscape:connector-curvature="0" + id="path4541-7-6" + d="m 72.32667,20.183122 v 24.94643" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#DotM);marker-end:url(#Arrow2Mend)" + d="M 118.50735,32.416657 79.733651,115.96354" + id="path5059" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#DotM-8);marker-end:url(#Arrow2Mend-9)" + d="m 60.922748,31.953836 44.735412,0.451182" + id="path5059-0" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + <g + transform="matrix(1.6049395,0,0,1.6049395,-188.19523,-209.81182)" + ns1:version="0.8.1" + ns1:texconverter="pdflatex" + ns1:pdfconverter="pdf2svg" + ns1:text="$\\&y$" + ns1:preamble="/usr/share/inkscape/extensions" + ns1:scale="6.24500257332" + ns1:alignment="middle center" + inkscapeversion="0.92.2" + ns1:jacobian_sqrt="2.203098" + id="g1642"> + <g + id="g1640"> + <g + style="fill:#000000;fill-opacity:1" + id="g1634"> + <path + inkscape:connector-curvature="0" + style="stroke:none;stroke-width:0" + d="m 6.9375,-1.203125 c -0.03125,0.78125 -0.671875,1.109375 -1.109375,1.109375 -0.546875,0 -1.0625,-0.5 -1.375,-0.890625 C 4.90625,-1.5 5.296875,-2.1875 5.765625,-2.96875 6.15625,-3.625 6.359375,-3.984375 7.25,-3.984375 v -0.3125 c -0.375,0.015625 -0.90625,0.03125 -0.96875,0.03125 -0.109375,0 -0.953125,-0.015625 -1.21875,-0.03125 v 0.3125 c 0.453125,0 0.703125,0.1875 0.703125,0.4375 0,0.09375 -0.046875,0.171875 -0.046875,0.203125 -0.5625,0.96875 -1,1.640625 -1.4375,2.171875 C 4.15625,-1.328125 3.078125,-2.6875 2.625,-3.84375 3.171875,-4.4375 3.84375,-5.1875 3.84375,-5.859375 c 0,-0.453125 -0.15625,-1.28125 -0.859375,-1.28125 -0.625,0 -1.359375,0.546875 -1.359375,1.609375 0,0.421875 0.0625,1.140625 0.40625,2.015625 L 1.125,-2.546875 c -0.453125,0.46875 -0.703125,0.734375 -0.703125,1.265625 0,0.875 0.8125,1.5 1.796875,1.5 0.859375,0 1.4375,-0.421875 1.8125,-0.75 0.6875,0.59375 1.265625,0.75 1.75,0.75 0.765625,0 1.390625,-0.5625 1.40625,-1.421875 z m -4.390625,-2.875 C 2.28125,-4.875 2.25,-5.453125 2.25,-5.765625 c 0,-0.828125 0.40625,-1.15625 0.75,-1.15625 0.59375,0 0.59375,1.046875 0.59375,1.0625 0,0.65625 -0.796875,1.515625 -1.046875,1.78125 z M 2.125,-3.28125 c 0.21875,0.46875 0.375,0.765625 0.796875,1.390625 0.1875,0.28125 0.546875,0.796875 0.921875,1.15625 C 3.203125,-0.15625 2.578125,-0.09375 2.296875,-0.09375 1.46875,-0.09375 1.25,-1.0625 1.25,-1.59375 c 0,-0.8125 0.328125,-1.171875 0.875,-1.6875 z m 0,0" + transform="translate(148.712,134.765)" + id="path1632" /> + </g> + <g + style="fill:#000000;fill-opacity:1" + id="g1638"> + <path + inkscape:connector-curvature="0" + style="stroke:none;stroke-width:0" + d="m 4.84375,-3.796875 c 0.046875,-0.140625 0.046875,-0.15625 0.046875,-0.234375 0,-0.171875 -0.140625,-0.265625 -0.296875,-0.265625 -0.09375,0 -0.25,0.0625 -0.34375,0.203125 -0.015625,0.0625 -0.109375,0.359375 -0.140625,0.546875 -0.078125,0.25 -0.140625,0.53125 -0.203125,0.796875 l -0.453125,1.796875 c -0.03125,0.140625 -0.46875,0.84375 -1.125,0.84375 -0.5,0 -0.609375,-0.4375 -0.609375,-0.8125 C 1.71875,-1.375 1.890625,-2 2.21875,-2.875 2.375,-3.28125 2.421875,-3.390625 2.421875,-3.59375 c 0,-0.4375 -0.3125,-0.8125 -0.8125,-0.8125 -0.953125,0 -1.3125,1.453125 -1.3125,1.53125 0,0.109375 0.09375,0.109375 0.109375,0.109375 0.109375,0 0.109375,-0.03125 0.15625,-0.1875 0.28125,-0.9375 0.671875,-1.234375 1.015625,-1.234375 0.078125,0 0.25,0 0.25,0.3125 0,0.25 -0.109375,0.515625 -0.171875,0.703125 -0.40625,1.0625 -0.578125,1.625 -0.578125,2.09375 0,0.890625 0.625,1.1875 1.21875,1.1875 0.390625,0 0.71875,-0.171875 1,-0.453125 -0.125,0.515625 -0.25,1.015625 -0.640625,1.546875 -0.265625,0.328125 -0.640625,0.625 -1.09375,0.625 -0.140625,0 -0.59375,-0.03125 -0.765625,-0.421875 0.15625,0 0.296875,0 0.421875,-0.125 C 1.328125,1.203125 1.421875,1.0625 1.421875,0.875 1.421875,0.5625 1.15625,0.53125 1.0625,0.53125 0.828125,0.53125 0.5,0.6875 0.5,1.171875 c 0,0.5 0.4375,0.875 1.0625,0.875 1.015625,0 2.046875,-0.90625 2.328125,-2.03125 z m 0,0" + transform="translate(156.461,134.765)" + id="path1636" /> + </g> + </g> + </g> + <g + id="g1940" + ns1:jacobian_sqrt="1.604939" + inkscapeversion="0.92.2" + ns1:alignment="middle center" + ns1:scale="4.54943507167" + ns1:preamble="/usr/share/inkscape/extensions" + ns1:text="$y$" + ns1:pdfconverter="pdf2svg" + ns1:texconverter="pdflatex" + ns1:version="0.8.1" + transform="matrix(1.604939,0,0,1.604939,-99.773663,-209.81175)"> + <g + id="g1938"> + <g + id="g1936" + style="fill:#000000;fill-opacity:1"> + <path + id="path1934" + transform="translate(148.712,134.765)" + d="m 4.84375,-3.796875 c 0.046875,-0.140625 0.046875,-0.15625 0.046875,-0.234375 0,-0.171875 -0.140625,-0.265625 -0.296875,-0.265625 -0.09375,0 -0.25,0.0625 -0.34375,0.203125 -0.015625,0.0625 -0.109375,0.359375 -0.140625,0.546875 -0.078125,0.25 -0.140625,0.53125 -0.203125,0.796875 l -0.453125,1.796875 c -0.03125,0.140625 -0.46875,0.84375 -1.125,0.84375 -0.5,0 -0.609375,-0.4375 -0.609375,-0.8125 C 1.71875,-1.375 1.890625,-2 2.21875,-2.875 2.375,-3.28125 2.421875,-3.390625 2.421875,-3.59375 c 0,-0.4375 -0.3125,-0.8125 -0.8125,-0.8125 -0.953125,0 -1.3125,1.453125 -1.3125,1.53125 0,0.109375 0.09375,0.109375 0.109375,0.109375 0.109375,0 0.109375,-0.03125 0.15625,-0.1875 0.28125,-0.9375 0.671875,-1.234375 1.015625,-1.234375 0.078125,0 0.25,0 0.25,0.3125 0,0.25 -0.109375,0.515625 -0.171875,0.703125 -0.40625,1.0625 -0.578125,1.625 -0.578125,2.09375 0,0.890625 0.625,1.1875 1.21875,1.1875 0.390625,0 0.71875,-0.171875 1,-0.453125 -0.125,0.515625 -0.25,1.015625 -0.640625,1.546875 -0.265625,0.328125 -0.640625,0.625 -1.09375,0.625 -0.140625,0 -0.59375,-0.03125 -0.765625,-0.421875 0.15625,0 0.296875,0 0.421875,-0.125 C 1.328125,1.203125 1.421875,1.0625 1.421875,0.875 1.421875,0.5625 1.15625,0.53125 1.0625,0.53125 0.828125,0.53125 0.5,0.6875 0.5,1.171875 c 0,0.5 0.4375,0.875 1.0625,0.875 1.015625,0 2.046875,-0.90625 2.328125,-2.03125 z m 0,0" + style="stroke:none;stroke-width:0" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <g + id="g6701-3" + ns1:scale="1.0" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:text="pointeur" + ns1:converter="pdf2svg" + ns1:textextver="0.8" + transform="matrix(0.48104848,0,0,0.48104848,-18.243364,-47.802731)"> + <g + id="g6699-6"> + <g + id="g6679-1" + style="fill:#000000;fill-opacity:1"> + <path + id="path6677-2" + transform="translate(148.712,134.765)" + d="m 1.71875,-3.75 v -0.65625 l -1.4375,0.109375 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5 v 4.65625 C 1.0625,1.625 0.953125,1.625 0.28125,1.625 V 1.9375 C 0.625,1.921875 1.140625,1.90625 1.390625,1.90625 c 0.28125,0 0.78125,0.015625 1.125,0.03125 V 1.625 C 1.859375,1.625 1.75,1.625 1.75,1.171875 V -0.59375 c 0.046875,0.171875 0.46875,0.703125 1.21875,0.703125 1.1875,0 2.21875,-0.984375 2.21875,-2.265625 0,-1.265625 -0.953125,-2.25 -2.078125,-2.25 -0.78125,0 -1.203125,0.4375 -1.390625,0.65625 z M 1.75,-1.140625 v -2.21875 C 2.03125,-3.875 2.515625,-4.15625 3.03125,-4.15625 c 0.734375,0 1.328125,0.875 1.328125,2 0,1.203125 -0.6875,2.046875 -1.421875,2.046875 -0.40625,0 -0.78125,-0.203125 -1.046875,-0.609375 C 1.75,-0.921875 1.75,-0.9375 1.75,-1.140625 Z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + <g + id="g6687-9" + style="fill:#000000;fill-opacity:1"> + <path + id="path6681-3" + transform="translate(154.52617,134.765)" + d="M 4.6875,-2.140625 C 4.6875,-3.40625 3.703125,-4.46875 2.5,-4.46875 c -1.25,0 -2.21875,1.09375 -2.21875,2.328125 0,1.296875 1.03125,2.25 2.203125,2.25 1.203125,0 2.203125,-0.984375 2.203125,-2.25 z m -2.1875,2 c -0.4375,0 -0.875,-0.203125 -1.140625,-0.671875 -0.25,-0.4375 -0.25,-1.046875 -0.25,-1.40625 0,-0.390625 0,-0.921875 0.234375,-1.359375 C 1.609375,-4.03125 2.078125,-4.25 2.484375,-4.25 c 0.4375,0 0.859375,0.21875 1.125,0.65625 0.265625,0.421875 0.265625,1 0.265625,1.375 0,0.359375 0,0.90625 -0.21875,1.34375 C 3.421875,-0.421875 2.984375,-0.140625 2.5,-0.140625 Z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6683-1" + transform="translate(159.50747,134.765)" + d="M 1.765625,-4.40625 0.375,-4.296875 v 0.3125 c 0.640625,0 0.734375,0.0625 0.734375,0.546875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 C 0.640625,-0.015625 1.1875,-0.03125 1.421875,-0.03125 1.78125,-0.03125 2.125,-0.015625 2.46875,0 v -0.3125 c -0.671875,0 -0.703125,-0.046875 -0.703125,-0.4375 z m 0.03125,-1.734375 c 0,-0.3125 -0.234375,-0.53125 -0.515625,-0.53125 -0.3125,0 -0.53125,0.265625 -0.53125,0.53125 0,0.265625 0.21875,0.53125 0.53125,0.53125 0.28125,0 0.515625,-0.21875 0.515625,-0.53125 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6685-9" + transform="translate(162.27508,134.765)" + d="M 1.09375,-3.421875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.359375,-0.015625 0.859375,-0.03125 1.140625,-0.03125 0.25,0 0.765625,0.015625 1.109375,0.03125 v -0.3125 c -0.671875,0 -0.78125,0 -0.78125,-0.4375 V -2.59375 C 1.78125,-3.625 2.5,-4.1875 3.125,-4.1875 c 0.640625,0 0.75,0.53125 0.75,1.109375 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.34375,-0.015625 0.859375,-0.03125 1.125,-0.03125 0.25,0 0.78125,0.015625 1.109375,0.03125 v -0.3125 c -0.515625,0 -0.765625,0 -0.765625,-0.296875 v -1.90625 c 0,-0.859375 0,-1.15625 -0.3125,-1.515625 -0.140625,-0.171875 -0.46875,-0.375 -1.046875,-0.375 C 2.46875,-4.40625 2,-3.984375 1.71875,-3.359375 V -4.40625 L 0.3125,-4.296875 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + <g + id="g6697-4" + style="fill:#000000;fill-opacity:1"> + <path + id="path6689-7" + transform="translate(167.53135,134.765)" + d="m 1.71875,-3.984375 h 1.4375 v -0.3125 H 1.71875 V -6.125 h -0.25 c 0,0.8125 -0.296875,1.875 -1.28125,1.921875 v 0.21875 h 0.84375 v 2.75 c 0,1.21875 0.9375,1.34375 1.296875,1.34375 0.703125,0 0.984375,-0.703125 0.984375,-1.34375 v -0.5625 h -0.25 V -1.25 c 0,0.734375 -0.296875,1.109375 -0.671875,1.109375 -0.671875,0 -0.671875,-0.90625 -0.671875,-1.078125 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6691-8" + transform="translate(171.40581,134.765)" + d="M 1.109375,-2.515625 C 1.171875,-4 2.015625,-4.25 2.359375,-4.25 c 1.015625,0 1.125,1.34375 1.125,1.734375 z m 0,0.21875 h 2.78125 c 0.21875,0 0.25,0 0.25,-0.21875 0,-0.984375 -0.546875,-1.953125 -1.78125,-1.953125 -1.15625,0 -2.078125,1.03125 -2.078125,2.28125 0,1.328125 1.046875,2.296875 2.1875,2.296875 C 3.6875,0.109375 4.140625,-1 4.140625,-1.1875 4.140625,-1.28125 4.0625,-1.3125 4,-1.3125 c -0.078125,0 -0.109375,0.0625 -0.125,0.140625 -0.34375,1.03125 -1.25,1.03125 -1.34375,1.03125 -0.5,0 -0.890625,-0.296875 -1.125,-0.671875 -0.296875,-0.46875 -0.296875,-1.125 -0.296875,-1.484375 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6693-4" + transform="translate(175.83319,134.765)" + d="M 3.890625,-0.78125 V 0.109375 L 5.328125,0 V -0.3125 C 4.640625,-0.3125 4.5625,-0.375 4.5625,-0.875 v -3.53125 l -1.46875,0.109375 v 0.3125 c 0.6875,0 0.78125,0.0625 0.78125,0.5625 v 1.765625 c 0,0.875 -0.484375,1.546875 -1.21875,1.546875 -0.828125,0 -0.875,-0.46875 -0.875,-0.984375 v -3.3125 L 0.3125,-4.296875 v 0.3125 c 0.78125,0 0.78125,0.03125 0.78125,0.90625 v 1.5 c 0,0.78125 0,1.6875 1.515625,1.6875 0.5625,0 1,-0.28125 1.28125,-0.890625 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6695-5" + transform="translate(181.36841,134.765)" + d="M 1.671875,-3.3125 V -4.40625 L 0.28125,-4.296875 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.390625,-0.015625 0.859375,-0.03125 1.140625,-0.03125 0.390625,0 0.859375,0 1.265625,0.03125 V -0.3125 H 2.46875 c -0.734375,0 -0.75,-0.109375 -0.75,-0.46875 V -2.3125 c 0,-0.984375 0.421875,-1.875 1.171875,-1.875 0.0625,0 0.09375,0 0.109375,0.015625 -0.03125,0 -0.234375,0.125 -0.234375,0.390625 0,0.265625 0.21875,0.421875 0.4375,0.421875 0.171875,0 0.421875,-0.125 0.421875,-0.4375 0,-0.3125 -0.3125,-0.609375 -0.734375,-0.609375 -0.734375,0 -1.09375,0.671875 -1.21875,1.09375 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + </g> +</svg> diff --git a/slides/src/figs/mem_vec.svg b/slides/src/figs/mem_vec.svg new file mode 100644 index 0000000000000000000000000000000000000000..bf0984b57afa71409c1c0cf9691b62e7f8cd5d6c --- /dev/null +++ b/slides/src/figs/mem_vec.svg @@ -0,0 +1,1382 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:ns1="http://www.iki.fi/pav/software/textext/" + 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" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="522.84271mm" + height="133.70847mm" + viewBox="0 0 522.84273 133.70847" + version="1.1" + id="svg8" + inkscape:version="0.92.2 2405546, 2018-03-11" + sodipodi:docname="mem_vec.svg"> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="0.32" + inkscape:cx="542.87608" + inkscape:cy="441.8781" + inkscape:document-units="mm" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="1920" + inkscape:window-height="1016" + inkscape:window-x="0" + inkscape:window-y="27" + inkscape:window-maximized="1" + showguides="false" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" /> + <defs + id="defs2"> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="marker2245" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Mend"> + <path + transform="scale(-0.6)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + id="path2009" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="DotM" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="DotM"> + <path + inkscape:connector-curvature="0" + transform="matrix(0.4,0,0,0.4,2.96,0.4)" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z" + id="path5125" /> + </marker> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="DotL" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="DotL"> + <path + inkscape:connector-curvature="0" + transform="matrix(0.8,0,0,0.8,5.92,0.8)" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z" + id="path5122" /> + </marker> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="Arrow2Mend" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Mend"> + <path + inkscape:connector-curvature="0" + transform="scale(-0.6)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + id="path5088" /> + </marker> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="Arrow2Lend" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Lend"> + <path + inkscape:connector-curvature="0" + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + id="path5082" /> + </marker> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="DotM-3" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="DotM"> + <path + inkscape:connector-curvature="0" + transform="matrix(0.4,0,0,0.4,2.96,0.4)" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + d="m -2.5,-1 c 0,2.76 -2.24,5 -5,5 -2.76,0 -5,-2.24 -5,-5 0,-2.76 2.24,-5 5,-5 2.76,0 5,2.24 5,5 z" + id="path5125-6" /> + </marker> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="Arrow2Mend-7" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Mend"> + <path + inkscape:connector-curvature="0" + transform="scale(-0.6)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + id="path5088-5" /> + </marker> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="marker2245-9" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Mend"> + <path + transform="scale(-0.6)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + id="path2009-4" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="marker2245-1" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Mend"> + <path + transform="scale(-0.6)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + id="path2009-2" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="marker2245-1-3" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Mend"> + <path + transform="scale(-0.6)" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + id="path2009-2-9" + inkscape:connector-curvature="0" /> + </marker> + </defs> + <metadata + id="metadata5"> + <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(-15.02403,-9.327245)" + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1"> + <rect + style="opacity:1;fill:#999999;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" + id="rect4520" + width="151.94643" + height="25.324406" + x="37.041664" + y="117.46131" /> + <rect + style="opacity:1;fill:#f9f9f9;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" + id="rect4520-3" + width="86.792793" + height="25.324409" + x="69.618484" + y="117.4613" /> + <path + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 91.296993,117.4613 v 24.94642" + id="path4537" + inkscape:connector-curvature="0" /> + <path + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 112.98338,117.41405 v 24.99367" + id="path4539" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + <path + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 134.66977,117.55579 v 24.94643" + id="path4541" + inkscape:connector-curvature="0" /> + <path + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 69.610613,117.4613 v 24.94642" + id="path4537-6" + inkscape:connector-curvature="0" /> + <path + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 156.35615,117.55579 v 24.94642" + id="path4537-6-7" + inkscape:connector-curvature="0" /> + <g + transform="translate(-71.179902,-1.321176)" + ns1:textextver="0.8" + ns1:converter="pdf2svg" + ns1:text="$1$" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:scale="1.0" + id="g4597"> + <g + id="surface1"> + <g + style="fill:#000000;fill-opacity:1" + id="g4594"> + <path + style="stroke:none" + d="m 2.9375,-6.375 c 0,-0.25 0,-0.265625 -0.234375,-0.265625 C 2.078125,-6 1.203125,-6 0.890625,-6 v 0.3125 c 0.203125,0 0.78125,0 1.296875,-0.265625 v 5.171875 c 0,0.359375 -0.03125,0.46875 -0.921875,0.46875 h -0.3125 V 0 c 0.34375,-0.03125 1.203125,-0.03125 1.609375,-0.03125 0.390625,0 1.265625,0 1.609375,0.03125 v -0.3125 h -0.3125 c -0.90625,0 -0.921875,-0.109375 -0.921875,-0.46875 z m 0,0" + transform="translate(148.712,134.765)" + id="path4592" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <g + style="fill:#000000" + id="g4661-7" + ns1:scale="1.0" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:text="$2$" + ns1:converter="pdf2svg" + ns1:textextver="0.8" + transform="translate(-49.783477,-1.321176)"> + <g + style="fill:#000000" + id="g4659-0"> + <g + id="g4657-9" + style="fill:#000000;fill-opacity:1"> + <path + inkscape:connector-curvature="0" + id="path4655-3" + transform="translate(148.712,134.765)" + d="m 1.265625,-0.765625 1.0625,-1.03125 c 1.546875,-1.375 2.140625,-1.90625 2.140625,-2.90625 0,-1.140625 -0.890625,-1.9375 -2.109375,-1.9375 -1.125,0 -1.859375,0.921875 -1.859375,1.8125 0,0.546875 0.5,0.546875 0.53125,0.546875 0.171875,0 0.515625,-0.109375 0.515625,-0.53125 0,-0.25 -0.1875,-0.515625 -0.53125,-0.515625 -0.078125,0 -0.09375,0 -0.125,0.015625 0.21875,-0.65625 0.765625,-1.015625 1.34375,-1.015625 0.90625,0 1.328125,0.8125 1.328125,1.625 C 3.5625,-3.90625 3.078125,-3.125 2.515625,-2.5 l -1.90625,2.125 C 0.5,-0.265625 0.5,-0.234375 0.5,0 H 4.203125 L 4.46875,-1.734375 H 4.234375 C 4.171875,-1.4375 4.109375,-1 4,-0.84375 3.9375,-0.765625 3.28125,-0.765625 3.0625,-0.765625 Z m 0,0" + style="stroke:none" /> + </g> + </g> + </g> + <g + transform="translate(-28.441736,-1.430551)" + ns1:textextver="0.8" + ns1:converter="pdf2svg" + ns1:text="$3$" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:scale="1.0" + style="fill:#000000" + id="g4749"> + <g + id="g4747" + style="fill:#000000"> + <g + style="fill:#000000;fill-opacity:1" + id="g4745"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 2.890625,-3.515625 c 0.8125,-0.265625 1.390625,-0.953125 1.390625,-1.75 0,-0.8125 -0.875,-1.375 -1.828125,-1.375 -1,0 -1.765625,0.59375 -1.765625,1.359375 0,0.328125 0.21875,0.515625 0.515625,0.515625 0.296875,0 0.5,-0.21875 0.5,-0.515625 0,-0.484375 -0.46875,-0.484375 -0.609375,-0.484375 0.296875,-0.5 0.953125,-0.625 1.3125,-0.625 0.421875,0 0.96875,0.21875 0.96875,1.109375 0,0.125 -0.03125,0.703125 -0.28125,1.140625 C 2.796875,-3.65625 2.453125,-3.625 2.203125,-3.625 2.125,-3.609375 1.890625,-3.59375 1.8125,-3.59375 c -0.078125,0.015625 -0.140625,0.03125 -0.140625,0.125 0,0.109375 0.0625,0.109375 0.234375,0.109375 h 0.4375 c 0.8125,0 1.1875,0.671875 1.1875,1.65625 0,1.359375 -0.6875,1.640625 -1.125,1.640625 -0.4375,0 -1.1875,-0.171875 -1.53125,-0.75 0.34375,0.046875 0.65625,-0.171875 0.65625,-0.546875 0,-0.359375 -0.265625,-0.5625 -0.546875,-0.5625 -0.25,0 -0.5625,0.140625 -0.5625,0.578125 0,0.90625 0.921875,1.5625 2.015625,1.5625 1.21875,0 2.125,-0.90625 2.125,-1.921875 0,-0.8125 -0.640625,-1.59375 -1.671875,-1.8125 z m 0,0" + transform="translate(148.712,134.765)" + id="path4743" /> + </g> + </g> + </g> + <g + id="g4809" + ns1:scale="1.0" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:text="$4$" + ns1:converter="pdf2svg" + ns1:textextver="0.8" + transform="translate(-7.084375,-1.266488)" + style="fill:#000000"> + <g + id="g4807" + style="fill:#000000"> + <g + id="g4805" + style="fill:#000000;fill-opacity:1"> + <path + id="path4803" + transform="translate(148.712,134.765)" + d="m 2.9375,-1.640625 v 0.859375 c 0,0.359375 -0.03125,0.46875 -0.765625,0.46875 H 1.96875 V 0 C 2.375,-0.03125 2.890625,-0.03125 3.3125,-0.03125 c 0.421875,0 0.9375,0 1.359375,0.03125 v -0.3125 h -0.21875 c -0.734375,0 -0.75,-0.109375 -0.75,-0.46875 V -1.640625 H 4.6875 v -0.3125 H 3.703125 v -4.53125 c 0,-0.203125 0,-0.265625 -0.171875,-0.265625 -0.078125,0 -0.109375,0 -0.1875,0.125 l -3.0625,4.671875 v 0.3125 z m 0.046875,-0.3125 H 0.5625 l 2.421875,-3.71875 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <g + transform="translate(-126.43207,-21.462058)" + ns1:textextver="0.8" + ns1:converter="pdf2svg" + ns1:text="tas" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:scale="1.0" + id="g4904"> + <g + id="g4902"> + <g + style="fill:#000000;fill-opacity:1" + id="g4900"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 1.71875,-3.984375 h 1.4375 v -0.3125 H 1.71875 V -6.125 h -0.25 c 0,0.8125 -0.296875,1.875 -1.28125,1.921875 v 0.21875 h 0.84375 v 2.75 c 0,1.21875 0.9375,1.34375 1.296875,1.34375 0.703125,0 0.984375,-0.703125 0.984375,-1.34375 v -0.5625 h -0.25 V -1.25 c 0,0.734375 -0.296875,1.109375 -0.671875,1.109375 -0.671875,0 -0.671875,-0.90625 -0.671875,-1.078125 z m 0,0" + transform="translate(148.712,134.765)" + id="path4894" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 3.3125,-0.75 c 0.046875,0.390625 0.3125,0.8125 0.78125,0.8125 0.21875,0 0.828125,-0.140625 0.828125,-0.953125 v -0.5625 h -0.25 v 0.5625 c 0,0.578125 -0.25,0.640625 -0.359375,0.640625 -0.328125,0 -0.375,-0.453125 -0.375,-0.5 v -1.984375 c 0,-0.421875 0,-0.8125 -0.359375,-1.1875 C 3.1875,-4.3125 2.6875,-4.46875 2.21875,-4.46875 c -0.828125,0 -1.515625,0.46875 -1.515625,1.125 0,0.296875 0.203125,0.46875 0.46875,0.46875 0.28125,0 0.453125,-0.203125 0.453125,-0.453125 0,-0.125 -0.046875,-0.453125 -0.515625,-0.453125 C 1.390625,-4.140625 1.875,-4.25 2.1875,-4.25 c 0.5,0 1.0625,0.390625 1.0625,1.28125 v 0.359375 c -0.515625,0.03125 -1.203125,0.0625 -1.828125,0.359375 -0.75,0.34375 -1,0.859375 -1,1.296875 0,0.8125 0.96875,1.0625 1.59375,1.0625 0.65625,0 1.109375,-0.40625 1.296875,-0.859375 z M 3.25,-2.390625 v 1 c 0,0.9375 -0.71875,1.28125 -1.171875,1.28125 -0.484375,0 -0.890625,-0.34375 -0.890625,-0.84375 0,-0.546875 0.421875,-1.375 2.0625,-1.4375 z m 0,0" + transform="translate(152.58645,134.765)" + id="path4896" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 2.078125,-1.9375 c 0.21875,0.046875 1.03125,0.203125 1.03125,0.921875 0,0.5 -0.34375,0.90625 -1.125,0.90625 -0.84375,0 -1.203125,-0.5625 -1.390625,-1.421875 C 0.5625,-1.65625 0.5625,-1.6875 0.453125,-1.6875 c -0.125,0 -0.125,0.0625 -0.125,0.234375 V -0.125 c 0,0.171875 0,0.234375 0.109375,0.234375 0.046875,0 0.0625,-0.015625 0.25,-0.203125 0.015625,-0.015625 0.015625,-0.03125 0.203125,-0.21875 0.4375,0.40625 0.890625,0.421875 1.09375,0.421875 1.140625,0 1.609375,-0.671875 1.609375,-1.390625 0,-0.515625 -0.296875,-0.828125 -0.421875,-0.9375 C 2.84375,-2.546875 2.453125,-2.625 2.03125,-2.703125 1.46875,-2.8125 0.8125,-2.9375 0.8125,-3.515625 c 0,-0.359375 0.25,-0.765625 1.109375,-0.765625 1.09375,0 1.15625,0.90625 1.171875,1.203125 0,0.09375 0.09375,0.09375 0.109375,0.09375 0.140625,0 0.140625,-0.046875 0.140625,-0.234375 v -1.015625 c 0,-0.15625 0,-0.234375 -0.109375,-0.234375 -0.046875,0 -0.078125,0 -0.203125,0.125 -0.03125,0.03125 -0.125,0.125 -0.171875,0.15625 -0.375,-0.28125 -0.78125,-0.28125 -0.9375,-0.28125 -1.21875,0 -1.59375,0.671875 -1.59375,1.234375 0,0.34375 0.15625,0.625 0.421875,0.84375 0.328125,0.25 0.609375,0.3125 1.328125,0.453125 z m 0,0" + transform="translate(157.56775,134.765)" + id="path4898" /> + </g> + </g> + </g> + <rect + style="opacity:1;fill:#999999;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" + id="rect4520-0" + width="151.94643" + height="25.324406" + x="31.372025" + y="19.754463" /> + <rect + style="opacity:1;fill:#f9f9f9;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" + id="rect4520-3-2" + width="64.870178" + height="25.324411" + x="63.948841" + y="19.754461" /> + <path + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 85.627352,19.754458 v 24.94642" + id="path4537-61" + inkscape:connector-curvature="0" /> + <path + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 107.11969,19.707208 v 24.99367" + id="path4539-8" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + <path + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 129.00013,19.848948 v 24.94643" + id="path4541-7" + inkscape:connector-curvature="0" /> + <path + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 63.940972,19.754458 v 24.94642" + id="path4537-6-9" + inkscape:connector-curvature="0" /> + <path + sodipodi:nodetypes="cc" + inkscape:connector-curvature="0" + id="path5059" + d="m 74.272322,32.416657 5.461329,83.546883" + style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#DotM);marker-end:url(#Arrow2Mend)" /> + <g + id="g6058" + ns1:scale="1.0" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:text="pile" + ns1:converter="pdf2svg" + ns1:textextver="0.8" + transform="translate(-133.96922,-118.51588)"> + <g + id="g6056"> + <g + id="g6054" + style="fill:#000000;fill-opacity:1"> + <path + id="path6046" + transform="translate(148.712,134.765)" + d="m 1.71875,-3.75 v -0.65625 l -1.4375,0.109375 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5 v 4.65625 C 1.0625,1.625 0.953125,1.625 0.28125,1.625 V 1.9375 C 0.625,1.921875 1.140625,1.90625 1.390625,1.90625 c 0.28125,0 0.78125,0.015625 1.125,0.03125 V 1.625 C 1.859375,1.625 1.75,1.625 1.75,1.171875 V -0.59375 c 0.046875,0.171875 0.46875,0.703125 1.21875,0.703125 1.1875,0 2.21875,-0.984375 2.21875,-2.265625 0,-1.265625 -0.953125,-2.25 -2.078125,-2.25 -0.78125,0 -1.203125,0.4375 -1.390625,0.65625 z M 1.75,-1.140625 v -2.21875 C 2.03125,-3.875 2.515625,-4.15625 3.03125,-4.15625 c 0.734375,0 1.328125,0.875 1.328125,2 0,1.203125 -0.6875,2.046875 -1.421875,2.046875 -0.40625,0 -0.78125,-0.203125 -1.046875,-0.609375 C 1.75,-0.921875 1.75,-0.9375 1.75,-1.140625 Z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6048" + transform="translate(154.24722,134.765)" + d="M 1.765625,-4.40625 0.375,-4.296875 v 0.3125 c 0.640625,0 0.734375,0.0625 0.734375,0.546875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 C 0.640625,-0.015625 1.1875,-0.03125 1.421875,-0.03125 1.78125,-0.03125 2.125,-0.015625 2.46875,0 v -0.3125 c -0.671875,0 -0.703125,-0.046875 -0.703125,-0.4375 z m 0.03125,-1.734375 c 0,-0.3125 -0.234375,-0.53125 -0.515625,-0.53125 -0.3125,0 -0.53125,0.265625 -0.53125,0.53125 0,0.265625 0.21875,0.53125 0.53125,0.53125 0.28125,0 0.515625,-0.21875 0.515625,-0.53125 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6050" + transform="translate(157.01483,134.765)" + d="M 1.765625,-6.921875 0.328125,-6.8125 V -6.5 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 C 0.65625,-0.015625 1.1875,-0.03125 1.4375,-0.03125 c 0.25,0 0.734375,0.015625 1.109375,0.03125 v -0.3125 c -0.671875,0 -0.78125,0 -0.78125,-0.4375 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6052" + transform="translate(159.78244,134.765)" + d="M 1.109375,-2.515625 C 1.171875,-4 2.015625,-4.25 2.359375,-4.25 c 1.015625,0 1.125,1.34375 1.125,1.734375 z m 0,0.21875 h 2.78125 c 0.21875,0 0.25,0 0.25,-0.21875 0,-0.984375 -0.546875,-1.953125 -1.78125,-1.953125 -1.15625,0 -2.078125,1.03125 -2.078125,2.28125 0,1.328125 1.046875,2.296875 2.1875,2.296875 C 3.6875,0.109375 4.140625,-1 4.140625,-1.1875 4.140625,-1.28125 4.0625,-1.3125 4,-1.3125 c -0.078125,0 -0.109375,0.0625 -0.125,0.140625 -0.34375,1.03125 -1.25,1.03125 -1.34375,1.03125 -0.5,0 -0.890625,-0.296875 -1.125,-0.671875 -0.296875,-0.46875 -0.296875,-1.125 -0.296875,-1.484375 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <g + transform="matrix(0.52294065,0,0,0.52294065,8.7442632,-20.30025)" + ns1:textextver="0.8" + ns1:converter="pdf2svg" + ns1:text="longueur" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:scale="1.0" + id="g6194"> + <g + id="g6192"> + <g + style="fill:#000000;fill-opacity:1" + id="g6190"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.765625,-6.921875 0.328125,-6.8125 V -6.5 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 C 0.65625,-0.015625 1.1875,-0.03125 1.4375,-0.03125 c 0.25,0 0.734375,0.015625 1.109375,0.03125 v -0.3125 c -0.671875,0 -0.78125,0 -0.78125,-0.4375 z m 0,0" + transform="translate(148.712,134.765)" + id="path6174" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 4.6875,-2.140625 C 4.6875,-3.40625 3.703125,-4.46875 2.5,-4.46875 c -1.25,0 -2.21875,1.09375 -2.21875,2.328125 0,1.296875 1.03125,2.25 2.203125,2.25 1.203125,0 2.203125,-0.984375 2.203125,-2.25 z m -2.1875,2 c -0.4375,0 -0.875,-0.203125 -1.140625,-0.671875 -0.25,-0.4375 -0.25,-1.046875 -0.25,-1.40625 0,-0.390625 0,-0.921875 0.234375,-1.359375 C 1.609375,-4.03125 2.078125,-4.25 2.484375,-4.25 c 0.4375,0 0.859375,0.21875 1.125,0.65625 0.265625,0.421875 0.265625,1 0.265625,1.375 0,0.359375 0,0.90625 -0.21875,1.34375 C 3.421875,-0.421875 2.984375,-0.140625 2.5,-0.140625 Z m 0,0" + transform="translate(151.47961,134.765)" + id="path6176" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.09375,-3.421875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.359375,-0.015625 0.859375,-0.03125 1.140625,-0.03125 0.25,0 0.765625,0.015625 1.109375,0.03125 v -0.3125 c -0.671875,0 -0.78125,0 -0.78125,-0.4375 V -2.59375 C 1.78125,-3.625 2.5,-4.1875 3.125,-4.1875 c 0.640625,0 0.75,0.53125 0.75,1.109375 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.34375,-0.015625 0.859375,-0.03125 1.125,-0.03125 0.25,0 0.78125,0.015625 1.109375,0.03125 v -0.3125 c -0.515625,0 -0.765625,0 -0.765625,-0.296875 v -1.90625 c 0,-0.859375 0,-1.15625 -0.3125,-1.515625 -0.140625,-0.171875 -0.46875,-0.375 -1.046875,-0.375 C 2.46875,-4.40625 2,-3.984375 1.71875,-3.359375 V -4.40625 L 0.3125,-4.296875 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 z m 0,0" + transform="translate(156.46091,134.765)" + id="path6178" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 2.21875,-1.71875 c -0.875,0 -0.875,-1 -0.875,-1.21875 0,-0.265625 0.015625,-0.59375 0.15625,-0.84375 0.078125,-0.109375 0.3125,-0.390625 0.71875,-0.390625 0.859375,0 0.859375,0.984375 0.859375,1.21875 0,0.265625 0,0.59375 -0.15625,0.84375 C 2.84375,-2 2.609375,-1.71875 2.21875,-1.71875 Z M 1.0625,-1.328125 c 0,-0.03125 0,-0.265625 0.15625,-0.46875 0.390625,0.28125 0.8125,0.3125 1,0.3125 0.921875,0 1.609375,-0.6875 1.609375,-1.453125 0,-0.375 -0.15625,-0.734375 -0.40625,-0.96875 C 3.78125,-4.25 4.140625,-4.296875 4.3125,-4.296875 c 0.03125,0 0.078125,0 0.109375,0.015625 C 4.3125,-4.25 4.25,-4.140625 4.25,-4.015625 c 0,0.171875 0.140625,0.28125 0.296875,0.28125 0.09375,0 0.28125,-0.0625 0.28125,-0.296875 0,-0.171875 -0.109375,-0.484375 -0.5,-0.484375 -0.203125,0 -0.640625,0.0625 -1.0625,0.46875 C 2.84375,-4.375 2.4375,-4.40625 2.21875,-4.40625 c -0.9375,0 -1.625,0.6875 -1.625,1.453125 0,0.4375 0.21875,0.8125 0.46875,1.03125 -0.125,0.140625 -0.3125,0.46875 -0.3125,0.828125 0,0.3125 0.140625,0.6875 0.453125,0.890625 -0.609375,0.15625 -0.921875,0.59375 -0.921875,0.984375 0,0.71875 0.984375,1.265625 2.203125,1.265625 1.171875,0 2.203125,-0.5 2.203125,-1.28125 0,-0.34375 -0.125,-0.859375 -0.640625,-1.140625 -0.53125,-0.265625 -1.109375,-0.265625 -1.71875,-0.265625 -0.25,0 -0.671875,0 -0.75,-0.015625 C 1.265625,-0.703125 1.0625,-1 1.0625,-1.328125 Z M 2.5,1.828125 c -1.015625,0 -1.703125,-0.515625 -1.703125,-1.046875 0,-0.453125 0.375,-0.828125 0.8125,-0.84375 h 0.59375 c 0.859375,0 1.96875,0 1.96875,0.84375 0,0.546875 -0.703125,1.046875 -1.671875,1.046875 z m 0,0" + transform="translate(161.99613,134.765)" + id="path6180" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 3.890625,-0.78125 V 0.109375 L 5.328125,0 V -0.3125 C 4.640625,-0.3125 4.5625,-0.375 4.5625,-0.875 v -3.53125 l -1.46875,0.109375 v 0.3125 c 0.6875,0 0.78125,0.0625 0.78125,0.5625 v 1.765625 c 0,0.875 -0.484375,1.546875 -1.21875,1.546875 -0.828125,0 -0.875,-0.46875 -0.875,-0.984375 v -3.3125 L 0.3125,-4.296875 v 0.3125 c 0.78125,0 0.78125,0.03125 0.78125,0.90625 v 1.5 c 0,0.78125 0,1.6875 1.515625,1.6875 0.5625,0 1,-0.28125 1.28125,-0.890625 z m 0,0" + transform="translate(166.97743,134.765)" + id="path6182" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.109375,-2.515625 C 1.171875,-4 2.015625,-4.25 2.359375,-4.25 c 1.015625,0 1.125,1.34375 1.125,1.734375 z m 0,0.21875 h 2.78125 c 0.21875,0 0.25,0 0.25,-0.21875 0,-0.984375 -0.546875,-1.953125 -1.78125,-1.953125 -1.15625,0 -2.078125,1.03125 -2.078125,2.28125 0,1.328125 1.046875,2.296875 2.1875,2.296875 C 3.6875,0.109375 4.140625,-1 4.140625,-1.1875 4.140625,-1.28125 4.0625,-1.3125 4,-1.3125 c -0.078125,0 -0.109375,0.0625 -0.125,0.140625 -0.34375,1.03125 -1.25,1.03125 -1.34375,1.03125 -0.5,0 -0.890625,-0.296875 -1.125,-0.671875 -0.296875,-0.46875 -0.296875,-1.125 -0.296875,-1.484375 z m 0,0" + transform="translate(172.51265,134.765)" + id="path6184" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 3.890625,-0.78125 V 0.109375 L 5.328125,0 V -0.3125 C 4.640625,-0.3125 4.5625,-0.375 4.5625,-0.875 v -3.53125 l -1.46875,0.109375 v 0.3125 c 0.6875,0 0.78125,0.0625 0.78125,0.5625 v 1.765625 c 0,0.875 -0.484375,1.546875 -1.21875,1.546875 -0.828125,0 -0.875,-0.46875 -0.875,-0.984375 v -3.3125 L 0.3125,-4.296875 v 0.3125 c 0.78125,0 0.78125,0.03125 0.78125,0.90625 v 1.5 c 0,0.78125 0,1.6875 1.515625,1.6875 0.5625,0 1,-0.28125 1.28125,-0.890625 z m 0,0" + transform="translate(176.94003,134.765)" + id="path6186" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.671875,-3.3125 V -4.40625 L 0.28125,-4.296875 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.390625,-0.015625 0.859375,-0.03125 1.140625,-0.03125 0.390625,0 0.859375,0 1.265625,0.03125 V -0.3125 H 2.46875 c -0.734375,0 -0.75,-0.109375 -0.75,-0.46875 V -2.3125 c 0,-0.984375 0.421875,-1.875 1.171875,-1.875 0.0625,0 0.09375,0 0.109375,0.015625 -0.03125,0 -0.234375,0.125 -0.234375,0.390625 0,0.265625 0.21875,0.421875 0.4375,0.421875 0.171875,0 0.421875,-0.125 0.421875,-0.4375 0,-0.3125 -0.3125,-0.609375 -0.734375,-0.609375 -0.734375,0 -1.09375,0.671875 -1.21875,1.09375 z m 0,0" + transform="translate(182.47525,134.765)" + id="path6188" /> + </g> + </g> + </g> + <g + id="g4809-4" + ns1:scale="1.0" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:text="$4$" + ns1:converter="pdf2svg" + ns1:textextver="0.8" + transform="translate(-54.822849,-98.973333)" + style="fill:#000000"> + <g + id="g4807-5" + style="fill:#000000"> + <g + id="g4805-0" + style="fill:#000000;fill-opacity:1"> + <path + id="path4803-3" + transform="translate(148.712,134.765)" + d="m 2.9375,-1.640625 v 0.859375 c 0,0.359375 -0.03125,0.46875 -0.765625,0.46875 H 1.96875 V 0 C 2.375,-0.03125 2.890625,-0.03125 3.3125,-0.03125 c 0.421875,0 0.9375,0 1.359375,0.03125 v -0.3125 h -0.21875 c -0.734375,0 -0.75,-0.109375 -0.75,-0.46875 V -1.640625 H 4.6875 v -0.3125 H 3.703125 v -4.53125 c 0,-0.203125 0,-0.265625 -0.171875,-0.265625 -0.078125,0 -0.109375,0 -0.1875,0.125 l -3.0625,4.671875 v 0.3125 z m 0.046875,-0.3125 H 0.5625 l 2.421875,-3.71875 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <g + id="g4809-6" + ns1:scale="1.0" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:text="$4$" + ns1:converter="pdf2svg" + ns1:textextver="0.8" + transform="translate(-33.330513,-98.973333)" + style="fill:#000000"> + <g + id="g4807-1" + style="fill:#000000"> + <g + id="g4805-06" + style="fill:#000000;fill-opacity:1"> + <path + id="path4803-32" + transform="translate(148.712,134.765)" + d="m 2.9375,-1.640625 v 0.859375 c 0,0.359375 -0.03125,0.46875 -0.765625,0.46875 H 1.96875 V 0 C 2.375,-0.03125 2.890625,-0.03125 3.3125,-0.03125 c 0.421875,0 0.9375,0 1.359375,0.03125 v -0.3125 h -0.21875 c -0.734375,0 -0.75,-0.109375 -0.75,-0.46875 V -1.640625 H 4.6875 v -0.3125 H 3.703125 v -4.53125 c 0,-0.203125 0,-0.265625 -0.171875,-0.265625 -0.078125,0 -0.109375,0 -0.1875,0.125 l -3.0625,4.671875 v 0.3125 z m 0.046875,-0.3125 H 0.5625 l 2.421875,-3.71875 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <g + id="g6430" + ns1:scale="1.0" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:text="capacit\xc3\xa9" + ns1:converter="pdf2svg" + ns1:textextver="0.8" + transform="matrix(0.48712835,0,0,0.48712835,36.782614,-15.527047)"> + <g + id="g6428"> + <g + id="g6418" + style="fill:#000000;fill-opacity:1"> + <path + id="path6404" + transform="translate(148.712,134.765)" + d="m 1.171875,-2.171875 c 0,-1.625 0.8125,-2.046875 1.34375,-2.046875 0.09375,0 0.71875,0.015625 1.0625,0.375 -0.40625,0.03125 -0.46875,0.328125 -0.46875,0.453125 0,0.265625 0.1875,0.453125 0.453125,0.453125 0.265625,0 0.46875,-0.15625 0.46875,-0.46875 0,-0.671875 -0.765625,-1.0625 -1.53125,-1.0625 -1.25,0 -2.15625,1.078125 -2.15625,2.3125 0,1.28125 0.984375,2.265625 2.140625,2.265625 1.328125,0 1.65625,-1.203125 1.65625,-1.296875 0,-0.09375 -0.109375,-0.09375 -0.140625,-0.09375 -0.078125,0 -0.109375,0.03125 -0.125,0.09375 -0.28125,0.921875 -0.9375,1.046875 -1.296875,1.046875 -0.53125,0 -1.40625,-0.421875 -1.40625,-2.03125 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6406" + transform="translate(153.13938,134.765)" + d="m 3.3125,-0.75 c 0.046875,0.390625 0.3125,0.8125 0.78125,0.8125 0.21875,0 0.828125,-0.140625 0.828125,-0.953125 v -0.5625 h -0.25 v 0.5625 c 0,0.578125 -0.25,0.640625 -0.359375,0.640625 -0.328125,0 -0.375,-0.453125 -0.375,-0.5 v -1.984375 c 0,-0.421875 0,-0.8125 -0.359375,-1.1875 C 3.1875,-4.3125 2.6875,-4.46875 2.21875,-4.46875 c -0.828125,0 -1.515625,0.46875 -1.515625,1.125 0,0.296875 0.203125,0.46875 0.46875,0.46875 0.28125,0 0.453125,-0.203125 0.453125,-0.453125 0,-0.125 -0.046875,-0.453125 -0.515625,-0.453125 C 1.390625,-4.140625 1.875,-4.25 2.1875,-4.25 c 0.5,0 1.0625,0.390625 1.0625,1.28125 v 0.359375 c -0.515625,0.03125 -1.203125,0.0625 -1.828125,0.359375 -0.75,0.34375 -1,0.859375 -1,1.296875 0,0.8125 0.96875,1.0625 1.59375,1.0625 0.65625,0 1.109375,-0.40625 1.296875,-0.859375 z M 3.25,-2.390625 v 1 c 0,0.9375 -0.71875,1.28125 -1.171875,1.28125 -0.484375,0 -0.890625,-0.34375 -0.890625,-0.84375 0,-0.546875 0.421875,-1.375 2.0625,-1.4375 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6408" + transform="translate(158.12068,134.765)" + d="m 1.71875,-3.75 v -0.65625 l -1.4375,0.109375 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5 v 4.65625 C 1.0625,1.625 0.953125,1.625 0.28125,1.625 V 1.9375 C 0.625,1.921875 1.140625,1.90625 1.390625,1.90625 c 0.28125,0 0.78125,0.015625 1.125,0.03125 V 1.625 C 1.859375,1.625 1.75,1.625 1.75,1.171875 V -0.59375 c 0.046875,0.171875 0.46875,0.703125 1.21875,0.703125 1.1875,0 2.21875,-0.984375 2.21875,-2.265625 0,-1.265625 -0.953125,-2.25 -2.078125,-2.25 -0.78125,0 -1.203125,0.4375 -1.390625,0.65625 z M 1.75,-1.140625 v -2.21875 C 2.03125,-3.875 2.515625,-4.15625 3.03125,-4.15625 c 0.734375,0 1.328125,0.875 1.328125,2 0,1.203125 -0.6875,2.046875 -1.421875,2.046875 -0.40625,0 -0.78125,-0.203125 -1.046875,-0.609375 C 1.75,-0.921875 1.75,-0.9375 1.75,-1.140625 Z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6410" + transform="translate(163.6559,134.765)" + d="m 3.3125,-0.75 c 0.046875,0.390625 0.3125,0.8125 0.78125,0.8125 0.21875,0 0.828125,-0.140625 0.828125,-0.953125 v -0.5625 h -0.25 v 0.5625 c 0,0.578125 -0.25,0.640625 -0.359375,0.640625 -0.328125,0 -0.375,-0.453125 -0.375,-0.5 v -1.984375 c 0,-0.421875 0,-0.8125 -0.359375,-1.1875 C 3.1875,-4.3125 2.6875,-4.46875 2.21875,-4.46875 c -0.828125,0 -1.515625,0.46875 -1.515625,1.125 0,0.296875 0.203125,0.46875 0.46875,0.46875 0.28125,0 0.453125,-0.203125 0.453125,-0.453125 0,-0.125 -0.046875,-0.453125 -0.515625,-0.453125 C 1.390625,-4.140625 1.875,-4.25 2.1875,-4.25 c 0.5,0 1.0625,0.390625 1.0625,1.28125 v 0.359375 c -0.515625,0.03125 -1.203125,0.0625 -1.828125,0.359375 -0.75,0.34375 -1,0.859375 -1,1.296875 0,0.8125 0.96875,1.0625 1.59375,1.0625 0.65625,0 1.109375,-0.40625 1.296875,-0.859375 z M 3.25,-2.390625 v 1 c 0,0.9375 -0.71875,1.28125 -1.171875,1.28125 -0.484375,0 -0.890625,-0.34375 -0.890625,-0.84375 0,-0.546875 0.421875,-1.375 2.0625,-1.4375 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6412" + transform="translate(168.6372,134.765)" + d="m 1.171875,-2.171875 c 0,-1.625 0.8125,-2.046875 1.34375,-2.046875 0.09375,0 0.71875,0.015625 1.0625,0.375 -0.40625,0.03125 -0.46875,0.328125 -0.46875,0.453125 0,0.265625 0.1875,0.453125 0.453125,0.453125 0.265625,0 0.46875,-0.15625 0.46875,-0.46875 0,-0.671875 -0.765625,-1.0625 -1.53125,-1.0625 -1.25,0 -2.15625,1.078125 -2.15625,2.3125 0,1.28125 0.984375,2.265625 2.140625,2.265625 1.328125,0 1.65625,-1.203125 1.65625,-1.296875 0,-0.09375 -0.109375,-0.09375 -0.140625,-0.09375 -0.078125,0 -0.109375,0.03125 -0.125,0.09375 -0.28125,0.921875 -0.9375,1.046875 -1.296875,1.046875 -0.53125,0 -1.40625,-0.421875 -1.40625,-2.03125 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6414" + transform="translate(173.06458,134.765)" + d="M 1.765625,-4.40625 0.375,-4.296875 v 0.3125 c 0.640625,0 0.734375,0.0625 0.734375,0.546875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 C 0.640625,-0.015625 1.1875,-0.03125 1.421875,-0.03125 1.78125,-0.03125 2.125,-0.015625 2.46875,0 v -0.3125 c -0.671875,0 -0.703125,-0.046875 -0.703125,-0.4375 z m 0.03125,-1.734375 c 0,-0.3125 -0.234375,-0.53125 -0.515625,-0.53125 -0.3125,0 -0.53125,0.265625 -0.53125,0.53125 0,0.265625 0.21875,0.53125 0.53125,0.53125 0.28125,0 0.515625,-0.21875 0.515625,-0.53125 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path6416" + transform="translate(175.83219,134.765)" + d="m 1.71875,-3.984375 h 1.4375 v -0.3125 H 1.71875 V -6.125 h -0.25 c 0,0.8125 -0.296875,1.875 -1.28125,1.921875 v 0.21875 h 0.84375 v 2.75 c 0,1.21875 0.9375,1.34375 1.296875,1.34375 0.703125,0 0.984375,-0.703125 0.984375,-1.34375 v -0.5625 h -0.25 V -1.25 c 0,0.734375 -0.296875,1.109375 -0.671875,1.109375 -0.671875,0 -0.671875,-0.90625 -0.671875,-1.078125 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + <g + id="g6422" + style="fill:#000000;fill-opacity:1"> + <path + id="path6420" + transform="translate(179.42769,134.765)" + d="M 3.734375,-6.296875 C 3.828125,-6.375 3.90625,-6.484375 3.90625,-6.59375 c 0,-0.1875 -0.171875,-0.359375 -0.359375,-0.359375 -0.140625,0 -0.25,0.109375 -0.296875,0.171875 l -1.203125,1.515625 0.171875,0.1875 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + <g + id="g6426" + style="fill:#000000;fill-opacity:1"> + <path + id="path6424" + transform="translate(179.70664,134.765)" + d="M 1.109375,-2.515625 C 1.171875,-4 2.015625,-4.25 2.359375,-4.25 c 1.015625,0 1.125,1.34375 1.125,1.734375 z m 0,0.21875 h 2.78125 c 0.21875,0 0.25,0 0.25,-0.21875 0,-0.984375 -0.546875,-1.953125 -1.78125,-1.953125 -1.15625,0 -2.078125,1.03125 -2.078125,2.28125 0,1.328125 1.046875,2.296875 2.1875,2.296875 C 3.6875,0.109375 4.140625,-1 4.140625,-1.1875 4.140625,-1.28125 4.0625,-1.3125 4,-1.3125 c -0.078125,0 -0.109375,0.0625 -0.125,0.140625 -0.34375,1.03125 -1.25,1.03125 -1.34375,1.03125 -0.5,0 -0.890625,-0.296875 -1.125,-0.671875 -0.296875,-0.46875 -0.296875,-1.125 -0.296875,-1.484375 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <g + transform="matrix(0.48104849,0,0,0.48104849,-4.7135549,-47.802732)" + ns1:textextver="0.8" + ns1:converter="pdf2svg" + ns1:text="pointeur" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:scale="1.0" + id="g6701"> + <g + id="g6699"> + <g + style="fill:#000000;fill-opacity:1" + id="g6679"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 1.71875,-3.75 v -0.65625 l -1.4375,0.109375 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5 v 4.65625 C 1.0625,1.625 0.953125,1.625 0.28125,1.625 V 1.9375 C 0.625,1.921875 1.140625,1.90625 1.390625,1.90625 c 0.28125,0 0.78125,0.015625 1.125,0.03125 V 1.625 C 1.859375,1.625 1.75,1.625 1.75,1.171875 V -0.59375 c 0.046875,0.171875 0.46875,0.703125 1.21875,0.703125 1.1875,0 2.21875,-0.984375 2.21875,-2.265625 0,-1.265625 -0.953125,-2.25 -2.078125,-2.25 -0.78125,0 -1.203125,0.4375 -1.390625,0.65625 z M 1.75,-1.140625 v -2.21875 C 2.03125,-3.875 2.515625,-4.15625 3.03125,-4.15625 c 0.734375,0 1.328125,0.875 1.328125,2 0,1.203125 -0.6875,2.046875 -1.421875,2.046875 -0.40625,0 -0.78125,-0.203125 -1.046875,-0.609375 C 1.75,-0.921875 1.75,-0.9375 1.75,-1.140625 Z m 0,0" + transform="translate(148.712,134.765)" + id="path6677" /> + </g> + <g + style="fill:#000000;fill-opacity:1" + id="g6687"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 4.6875,-2.140625 C 4.6875,-3.40625 3.703125,-4.46875 2.5,-4.46875 c -1.25,0 -2.21875,1.09375 -2.21875,2.328125 0,1.296875 1.03125,2.25 2.203125,2.25 1.203125,0 2.203125,-0.984375 2.203125,-2.25 z m -2.1875,2 c -0.4375,0 -0.875,-0.203125 -1.140625,-0.671875 -0.25,-0.4375 -0.25,-1.046875 -0.25,-1.40625 0,-0.390625 0,-0.921875 0.234375,-1.359375 C 1.609375,-4.03125 2.078125,-4.25 2.484375,-4.25 c 0.4375,0 0.859375,0.21875 1.125,0.65625 0.265625,0.421875 0.265625,1 0.265625,1.375 0,0.359375 0,0.90625 -0.21875,1.34375 C 3.421875,-0.421875 2.984375,-0.140625 2.5,-0.140625 Z m 0,0" + transform="translate(154.52617,134.765)" + id="path6681" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.765625,-4.40625 0.375,-4.296875 v 0.3125 c 0.640625,0 0.734375,0.0625 0.734375,0.546875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 C 0.640625,-0.015625 1.1875,-0.03125 1.421875,-0.03125 1.78125,-0.03125 2.125,-0.015625 2.46875,0 v -0.3125 c -0.671875,0 -0.703125,-0.046875 -0.703125,-0.4375 z m 0.03125,-1.734375 c 0,-0.3125 -0.234375,-0.53125 -0.515625,-0.53125 -0.3125,0 -0.53125,0.265625 -0.53125,0.53125 0,0.265625 0.21875,0.53125 0.53125,0.53125 0.28125,0 0.515625,-0.21875 0.515625,-0.53125 z m 0,0" + transform="translate(159.50747,134.765)" + id="path6683" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.09375,-3.421875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.359375,-0.015625 0.859375,-0.03125 1.140625,-0.03125 0.25,0 0.765625,0.015625 1.109375,0.03125 v -0.3125 c -0.671875,0 -0.78125,0 -0.78125,-0.4375 V -2.59375 C 1.78125,-3.625 2.5,-4.1875 3.125,-4.1875 c 0.640625,0 0.75,0.53125 0.75,1.109375 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.34375,-0.015625 0.859375,-0.03125 1.125,-0.03125 0.25,0 0.78125,0.015625 1.109375,0.03125 v -0.3125 c -0.515625,0 -0.765625,0 -0.765625,-0.296875 v -1.90625 c 0,-0.859375 0,-1.15625 -0.3125,-1.515625 -0.140625,-0.171875 -0.46875,-0.375 -1.046875,-0.375 C 2.46875,-4.40625 2,-3.984375 1.71875,-3.359375 V -4.40625 L 0.3125,-4.296875 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 z m 0,0" + transform="translate(162.27508,134.765)" + id="path6685" /> + </g> + <g + style="fill:#000000;fill-opacity:1" + id="g6697"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 1.71875,-3.984375 h 1.4375 v -0.3125 H 1.71875 V -6.125 h -0.25 c 0,0.8125 -0.296875,1.875 -1.28125,1.921875 v 0.21875 h 0.84375 v 2.75 c 0,1.21875 0.9375,1.34375 1.296875,1.34375 0.703125,0 0.984375,-0.703125 0.984375,-1.34375 v -0.5625 h -0.25 V -1.25 c 0,0.734375 -0.296875,1.109375 -0.671875,1.109375 -0.671875,0 -0.671875,-0.90625 -0.671875,-1.078125 z m 0,0" + transform="translate(167.53135,134.765)" + id="path6689" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.109375,-2.515625 C 1.171875,-4 2.015625,-4.25 2.359375,-4.25 c 1.015625,0 1.125,1.34375 1.125,1.734375 z m 0,0.21875 h 2.78125 c 0.21875,0 0.25,0 0.25,-0.21875 0,-0.984375 -0.546875,-1.953125 -1.78125,-1.953125 -1.15625,0 -2.078125,1.03125 -2.078125,2.28125 0,1.328125 1.046875,2.296875 2.1875,2.296875 C 3.6875,0.109375 4.140625,-1 4.140625,-1.1875 4.140625,-1.28125 4.0625,-1.3125 4,-1.3125 c -0.078125,0 -0.109375,0.0625 -0.125,0.140625 -0.34375,1.03125 -1.25,1.03125 -1.34375,1.03125 -0.5,0 -0.890625,-0.296875 -1.125,-0.671875 -0.296875,-0.46875 -0.296875,-1.125 -0.296875,-1.484375 z m 0,0" + transform="translate(171.40581,134.765)" + id="path6691" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 3.890625,-0.78125 V 0.109375 L 5.328125,0 V -0.3125 C 4.640625,-0.3125 4.5625,-0.375 4.5625,-0.875 v -3.53125 l -1.46875,0.109375 v 0.3125 c 0.6875,0 0.78125,0.0625 0.78125,0.5625 v 1.765625 c 0,0.875 -0.484375,1.546875 -1.21875,1.546875 -0.828125,0 -0.875,-0.46875 -0.875,-0.984375 v -3.3125 L 0.3125,-4.296875 v 0.3125 c 0.78125,0 0.78125,0.03125 0.78125,0.90625 v 1.5 c 0,0.78125 0,1.6875 1.515625,1.6875 0.5625,0 1,-0.28125 1.28125,-0.890625 z m 0,0" + transform="translate(175.83319,134.765)" + id="path6693" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.671875,-3.3125 V -4.40625 L 0.28125,-4.296875 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.390625,-0.015625 0.859375,-0.03125 1.140625,-0.03125 0.390625,0 0.859375,0 1.265625,0.03125 V -0.3125 H 2.46875 c -0.734375,0 -0.75,-0.109375 -0.75,-0.46875 V -2.3125 c 0,-0.984375 0.421875,-1.875 1.171875,-1.875 0.0625,0 0.09375,0 0.109375,0.015625 -0.03125,0 -0.234375,0.125 -0.234375,0.390625 0,0.265625 0.21875,0.421875 0.4375,0.421875 0.171875,0 0.421875,-0.125 0.421875,-0.4375 0,-0.3125 -0.3125,-0.609375 -0.734375,-0.609375 -0.734375,0 -1.09375,0.671875 -1.21875,1.09375 z m 0,0" + transform="translate(181.36841,134.765)" + id="path6695" /> + </g> + </g> + </g> + <g + transform="translate(-1.6536458)" + id="g1893"> + <rect + y="117.4613" + x="212.07094" + height="25.324406" + width="151.94643" + id="rect4520-35" + style="opacity:1;fill:#999999;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" /> + <rect + y="117.4613" + x="244.64778" + height="25.324409" + width="86.792793" + id="rect4520-3-6" + style="opacity:1;fill:#f9f9f9;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" /> + <path + inkscape:connector-curvature="0" + id="path4537-2" + d="m 266.32628,117.4613 v 24.94642" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + sodipodi:nodetypes="cc" + inkscape:connector-curvature="0" + id="path4539-9" + d="m 288.01267,117.41405 v 24.99367" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + inkscape:connector-curvature="0" + id="path4541-1" + d="m 309.69906,117.55579 v 24.94643" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + inkscape:connector-curvature="0" + id="path4537-6-2" + d="m 244.6399,117.4613 v 24.94642" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + inkscape:connector-curvature="0" + id="path4537-6-7-7" + d="m 331.38544,117.55579 v 24.94642" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <g + id="g4597-0" + ns1:scale="1.0" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:text="$1$" + ns1:converter="pdf2svg" + ns1:textextver="0.8" + transform="translate(103.84938,-1.321177)"> + <g + id="surface1-9"> + <g + id="g4594-3" + style="fill:#000000;fill-opacity:1"> + <path + inkscape:connector-curvature="0" + id="path4592-6" + transform="translate(148.712,134.765)" + d="m 2.9375,-6.375 c 0,-0.25 0,-0.265625 -0.234375,-0.265625 C 2.078125,-6 1.203125,-6 0.890625,-6 v 0.3125 c 0.203125,0 0.78125,0 1.296875,-0.265625 v 5.171875 c 0,0.359375 -0.03125,0.46875 -0.921875,0.46875 h -0.3125 V 0 c 0.34375,-0.03125 1.203125,-0.03125 1.609375,-0.03125 0.390625,0 1.265625,0 1.609375,0.03125 v -0.3125 h -0.3125 c -0.90625,0 -0.921875,-0.109375 -0.921875,-0.46875 z m 0,0" + style="stroke:none" /> + </g> + </g> + </g> + <g + transform="translate(125.24581,-1.321177)" + ns1:textextver="0.8" + ns1:converter="pdf2svg" + ns1:text="$2$" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:scale="1.0" + id="g4661-7-0" + style="fill:#000000"> + <g + id="g4659-0-6" + style="fill:#000000"> + <g + style="fill:#000000;fill-opacity:1" + id="g4657-9-2"> + <path + style="stroke:none" + d="m 1.265625,-0.765625 1.0625,-1.03125 c 1.546875,-1.375 2.140625,-1.90625 2.140625,-2.90625 0,-1.140625 -0.890625,-1.9375 -2.109375,-1.9375 -1.125,0 -1.859375,0.921875 -1.859375,1.8125 0,0.546875 0.5,0.546875 0.53125,0.546875 0.171875,0 0.515625,-0.109375 0.515625,-0.53125 0,-0.25 -0.1875,-0.515625 -0.53125,-0.515625 -0.078125,0 -0.09375,0 -0.125,0.015625 0.21875,-0.65625 0.765625,-1.015625 1.34375,-1.015625 0.90625,0 1.328125,0.8125 1.328125,1.625 C 3.5625,-3.90625 3.078125,-3.125 2.515625,-2.5 l -1.90625,2.125 C 0.5,-0.265625 0.5,-0.234375 0.5,0 H 4.203125 L 4.46875,-1.734375 H 4.234375 C 4.171875,-1.4375 4.109375,-1 4,-0.84375 3.9375,-0.765625 3.28125,-0.765625 3.0625,-0.765625 Z m 0,0" + transform="translate(148.712,134.765)" + id="path4655-3-6" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <g + id="g4749-1" + style="fill:#000000" + ns1:scale="1.0" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:text="$3$" + ns1:converter="pdf2svg" + ns1:textextver="0.8" + transform="translate(146.58755,-1.430552)"> + <g + style="fill:#000000" + id="g4747-8"> + <g + id="g4745-7" + style="fill:#000000;fill-opacity:1"> + <path + id="path4743-9" + transform="translate(148.712,134.765)" + d="m 2.890625,-3.515625 c 0.8125,-0.265625 1.390625,-0.953125 1.390625,-1.75 0,-0.8125 -0.875,-1.375 -1.828125,-1.375 -1,0 -1.765625,0.59375 -1.765625,1.359375 0,0.328125 0.21875,0.515625 0.515625,0.515625 0.296875,0 0.5,-0.21875 0.5,-0.515625 0,-0.484375 -0.46875,-0.484375 -0.609375,-0.484375 0.296875,-0.5 0.953125,-0.625 1.3125,-0.625 0.421875,0 0.96875,0.21875 0.96875,1.109375 0,0.125 -0.03125,0.703125 -0.28125,1.140625 C 2.796875,-3.65625 2.453125,-3.625 2.203125,-3.625 2.125,-3.609375 1.890625,-3.59375 1.8125,-3.59375 c -0.078125,0.015625 -0.140625,0.03125 -0.140625,0.125 0,0.109375 0.0625,0.109375 0.234375,0.109375 h 0.4375 c 0.8125,0 1.1875,0.671875 1.1875,1.65625 0,1.359375 -0.6875,1.640625 -1.125,1.640625 -0.4375,0 -1.1875,-0.171875 -1.53125,-0.75 0.34375,0.046875 0.65625,-0.171875 0.65625,-0.546875 0,-0.359375 -0.265625,-0.5625 -0.546875,-0.5625 -0.25,0 -0.5625,0.140625 -0.5625,0.578125 0,0.90625 0.921875,1.5625 2.015625,1.5625 1.21875,0 2.125,-0.90625 2.125,-1.921875 0,-0.8125 -0.640625,-1.59375 -1.671875,-1.8125 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <g + style="fill:#000000" + transform="translate(167.94491,-1.266489)" + ns1:textextver="0.8" + ns1:converter="pdf2svg" + ns1:text="$4$" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:scale="1.0" + id="g4809-2"> + <g + style="fill:#000000" + id="g4807-0"> + <g + style="fill:#000000;fill-opacity:1" + id="g4805-2"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 2.9375,-1.640625 v 0.859375 c 0,0.359375 -0.03125,0.46875 -0.765625,0.46875 H 1.96875 V 0 C 2.375,-0.03125 2.890625,-0.03125 3.3125,-0.03125 c 0.421875,0 0.9375,0 1.359375,0.03125 v -0.3125 h -0.21875 c -0.734375,0 -0.75,-0.109375 -0.75,-0.46875 V -1.640625 H 4.6875 v -0.3125 H 3.703125 v -4.53125 c 0,-0.203125 0,-0.265625 -0.171875,-0.265625 -0.078125,0 -0.109375,0 -0.1875,0.125 l -3.0625,4.671875 v 0.3125 z m 0.046875,-0.3125 H 0.5625 l 2.421875,-3.71875 z m 0,0" + transform="translate(148.712,134.765)" + id="path4803-37" /> + </g> + </g> + </g> + <g + id="g4904-5" + ns1:scale="1.0" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:text="tas" + ns1:converter="pdf2svg" + ns1:textextver="0.8" + transform="translate(48.597217,-21.462059)"> + <g + id="g4902-9"> + <g + id="g4900-2" + style="fill:#000000;fill-opacity:1"> + <path + id="path4894-2" + transform="translate(148.712,134.765)" + d="m 1.71875,-3.984375 h 1.4375 v -0.3125 H 1.71875 V -6.125 h -0.25 c 0,0.8125 -0.296875,1.875 -1.28125,1.921875 v 0.21875 h 0.84375 v 2.75 c 0,1.21875 0.9375,1.34375 1.296875,1.34375 0.703125,0 0.984375,-0.703125 0.984375,-1.34375 v -0.5625 h -0.25 V -1.25 c 0,0.734375 -0.296875,1.109375 -0.671875,1.109375 -0.671875,0 -0.671875,-0.90625 -0.671875,-1.078125 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path4896-8" + transform="translate(152.58645,134.765)" + d="m 3.3125,-0.75 c 0.046875,0.390625 0.3125,0.8125 0.78125,0.8125 0.21875,0 0.828125,-0.140625 0.828125,-0.953125 v -0.5625 h -0.25 v 0.5625 c 0,0.578125 -0.25,0.640625 -0.359375,0.640625 -0.328125,0 -0.375,-0.453125 -0.375,-0.5 v -1.984375 c 0,-0.421875 0,-0.8125 -0.359375,-1.1875 C 3.1875,-4.3125 2.6875,-4.46875 2.21875,-4.46875 c -0.828125,0 -1.515625,0.46875 -1.515625,1.125 0,0.296875 0.203125,0.46875 0.46875,0.46875 0.28125,0 0.453125,-0.203125 0.453125,-0.453125 0,-0.125 -0.046875,-0.453125 -0.515625,-0.453125 C 1.390625,-4.140625 1.875,-4.25 2.1875,-4.25 c 0.5,0 1.0625,0.390625 1.0625,1.28125 v 0.359375 c -0.515625,0.03125 -1.203125,0.0625 -1.828125,0.359375 -0.75,0.34375 -1,0.859375 -1,1.296875 0,0.8125 0.96875,1.0625 1.59375,1.0625 0.65625,0 1.109375,-0.40625 1.296875,-0.859375 z M 3.25,-2.390625 v 1 c 0,0.9375 -0.71875,1.28125 -1.171875,1.28125 -0.484375,0 -0.890625,-0.34375 -0.890625,-0.84375 0,-0.546875 0.421875,-1.375 2.0625,-1.4375 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path4898-9" + transform="translate(157.56775,134.765)" + d="m 2.078125,-1.9375 c 0.21875,0.046875 1.03125,0.203125 1.03125,0.921875 0,0.5 -0.34375,0.90625 -1.125,0.90625 -0.84375,0 -1.203125,-0.5625 -1.390625,-1.421875 C 0.5625,-1.65625 0.5625,-1.6875 0.453125,-1.6875 c -0.125,0 -0.125,0.0625 -0.125,0.234375 V -0.125 c 0,0.171875 0,0.234375 0.109375,0.234375 0.046875,0 0.0625,-0.015625 0.25,-0.203125 0.015625,-0.015625 0.015625,-0.03125 0.203125,-0.21875 0.4375,0.40625 0.890625,0.421875 1.09375,0.421875 1.140625,0 1.609375,-0.671875 1.609375,-1.390625 0,-0.515625 -0.296875,-0.828125 -0.421875,-0.9375 C 2.84375,-2.546875 2.453125,-2.625 2.03125,-2.703125 1.46875,-2.8125 0.8125,-2.9375 0.8125,-3.515625 c 0,-0.359375 0.25,-0.765625 1.109375,-0.765625 1.09375,0 1.15625,0.90625 1.171875,1.203125 0,0.09375 0.09375,0.09375 0.109375,0.09375 0.140625,0 0.140625,-0.046875 0.140625,-0.234375 v -1.015625 c 0,-0.15625 0,-0.234375 -0.109375,-0.234375 -0.046875,0 -0.078125,0 -0.203125,0.125 -0.03125,0.03125 -0.125,0.125 -0.171875,0.15625 -0.375,-0.28125 -0.78125,-0.28125 -0.9375,-0.28125 -1.21875,0 -1.59375,0.671875 -1.59375,1.234375 0,0.34375 0.15625,0.625 0.421875,0.84375 0.328125,0.25 0.609375,0.3125 1.328125,0.453125 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <rect + y="19.754461" + x="206.40132" + height="25.324406" + width="151.94643" + id="rect4520-0-7" + style="opacity:1;fill:#999999;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" /> + <rect + y="19.754461" + x="238.97813" + height="25.324411" + width="64.870178" + id="rect4520-3-2-3" + style="opacity:1;fill:#999999;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" /> + <path + inkscape:connector-curvature="0" + id="path4537-61-6" + d="M 260.65664,19.754458 V 44.700877" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + sodipodi:nodetypes="cc" + inkscape:connector-curvature="0" + id="path4539-8-1" + d="M 282.14898,19.707208 V 44.700877" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + inkscape:connector-curvature="0" + id="path4541-7-2" + d="M 304.02942,19.848947 V 44.795378" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + inkscape:connector-curvature="0" + id="path4537-6-9-9" + d="M 238.97026,19.754458 V 44.700877" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <g + transform="translate(41.060067,-118.51588)" + ns1:textextver="0.8" + ns1:converter="pdf2svg" + ns1:text="pile" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:scale="1.0" + id="g6058-1"> + <g + id="g6056-9"> + <g + style="fill:#000000;fill-opacity:1" + id="g6054-4"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 1.71875,-3.75 v -0.65625 l -1.4375,0.109375 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5 v 4.65625 C 1.0625,1.625 0.953125,1.625 0.28125,1.625 V 1.9375 C 0.625,1.921875 1.140625,1.90625 1.390625,1.90625 c 0.28125,0 0.78125,0.015625 1.125,0.03125 V 1.625 C 1.859375,1.625 1.75,1.625 1.75,1.171875 V -0.59375 c 0.046875,0.171875 0.46875,0.703125 1.21875,0.703125 1.1875,0 2.21875,-0.984375 2.21875,-2.265625 0,-1.265625 -0.953125,-2.25 -2.078125,-2.25 -0.78125,0 -1.203125,0.4375 -1.390625,0.65625 z M 1.75,-1.140625 v -2.21875 C 2.03125,-3.875 2.515625,-4.15625 3.03125,-4.15625 c 0.734375,0 1.328125,0.875 1.328125,2 0,1.203125 -0.6875,2.046875 -1.421875,2.046875 -0.40625,0 -0.78125,-0.203125 -1.046875,-0.609375 C 1.75,-0.921875 1.75,-0.9375 1.75,-1.140625 Z m 0,0" + transform="translate(148.712,134.765)" + id="path6046-7" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.765625,-4.40625 0.375,-4.296875 v 0.3125 c 0.640625,0 0.734375,0.0625 0.734375,0.546875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 C 0.640625,-0.015625 1.1875,-0.03125 1.421875,-0.03125 1.78125,-0.03125 2.125,-0.015625 2.46875,0 v -0.3125 c -0.671875,0 -0.703125,-0.046875 -0.703125,-0.4375 z m 0.03125,-1.734375 c 0,-0.3125 -0.234375,-0.53125 -0.515625,-0.53125 -0.3125,0 -0.53125,0.265625 -0.53125,0.53125 0,0.265625 0.21875,0.53125 0.53125,0.53125 0.28125,0 0.515625,-0.21875 0.515625,-0.53125 z m 0,0" + transform="translate(154.24722,134.765)" + id="path6048-8" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.765625,-6.921875 0.328125,-6.8125 V -6.5 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 C 0.65625,-0.015625 1.1875,-0.03125 1.4375,-0.03125 c 0.25,0 0.734375,0.015625 1.109375,0.03125 v -0.3125 c -0.671875,0 -0.78125,0 -0.78125,-0.4375 z m 0,0" + transform="translate(157.01483,134.765)" + id="path6050-4" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.109375,-2.515625 C 1.171875,-4 2.015625,-4.25 2.359375,-4.25 c 1.015625,0 1.125,1.34375 1.125,1.734375 z m 0,0.21875 h 2.78125 c 0.21875,0 0.25,0 0.25,-0.21875 0,-0.984375 -0.546875,-1.953125 -1.78125,-1.953125 -1.15625,0 -2.078125,1.03125 -2.078125,2.28125 0,1.328125 1.046875,2.296875 2.1875,2.296875 C 3.6875,0.109375 4.140625,-1 4.140625,-1.1875 4.140625,-1.28125 4.0625,-1.3125 4,-1.3125 c -0.078125,0 -0.109375,0.0625 -0.125,0.140625 -0.34375,1.03125 -1.25,1.03125 -1.34375,1.03125 -0.5,0 -0.890625,-0.296875 -1.125,-0.671875 -0.296875,-0.46875 -0.296875,-1.125 -0.296875,-1.484375 z m 0,0" + transform="translate(159.78244,134.765)" + id="path6052-5" /> + </g> + </g> + </g> + </g> + <g + id="g1963"> + <rect + y="117.4613" + x="385.67032" + height="25.324406" + width="151.94643" + id="rect4520-35-2" + style="opacity:1;fill:#999999;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" /> + <rect + y="117.4613" + x="418.24716" + height="25.324409" + width="86.792793" + id="rect4520-3-6-6" + style="opacity:1;fill:#999999;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" /> + <path + inkscape:connector-curvature="0" + id="path4537-2-6" + d="m 439.92564,117.4613 v 24.94642" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + sodipodi:nodetypes="cc" + inkscape:connector-curvature="0" + id="path4539-9-4" + d="m 461.61203,117.41405 v 24.99367" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + inkscape:connector-curvature="0" + id="path4541-1-9" + d="m 483.29842,117.55579 v 24.94643" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + inkscape:connector-curvature="0" + id="path4537-6-2-5" + d="m 418.23926,117.4613 v 24.94642" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + inkscape:connector-curvature="0" + id="path4537-6-7-7-0" + d="m 504.9848,117.55579 v 24.94642" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <g + id="g4904-5-4" + ns1:scale="1.0" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:text="tas" + ns1:converter="pdf2svg" + ns1:textextver="0.8" + transform="translate(222.19658,-21.462053)"> + <g + id="g4902-9-9"> + <g + id="g4900-2-0" + style="fill:#000000;fill-opacity:1"> + <path + id="path4894-2-9" + transform="translate(148.712,134.765)" + d="m 1.71875,-3.984375 h 1.4375 v -0.3125 H 1.71875 V -6.125 h -0.25 c 0,0.8125 -0.296875,1.875 -1.28125,1.921875 v 0.21875 h 0.84375 v 2.75 c 0,1.21875 0.9375,1.34375 1.296875,1.34375 0.703125,0 0.984375,-0.703125 0.984375,-1.34375 v -0.5625 h -0.25 V -1.25 c 0,0.734375 -0.296875,1.109375 -0.671875,1.109375 -0.671875,0 -0.671875,-0.90625 -0.671875,-1.078125 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path4896-8-1" + transform="translate(152.58645,134.765)" + d="m 3.3125,-0.75 c 0.046875,0.390625 0.3125,0.8125 0.78125,0.8125 0.21875,0 0.828125,-0.140625 0.828125,-0.953125 v -0.5625 h -0.25 v 0.5625 c 0,0.578125 -0.25,0.640625 -0.359375,0.640625 -0.328125,0 -0.375,-0.453125 -0.375,-0.5 v -1.984375 c 0,-0.421875 0,-0.8125 -0.359375,-1.1875 C 3.1875,-4.3125 2.6875,-4.46875 2.21875,-4.46875 c -0.828125,0 -1.515625,0.46875 -1.515625,1.125 0,0.296875 0.203125,0.46875 0.46875,0.46875 0.28125,0 0.453125,-0.203125 0.453125,-0.453125 0,-0.125 -0.046875,-0.453125 -0.515625,-0.453125 C 1.390625,-4.140625 1.875,-4.25 2.1875,-4.25 c 0.5,0 1.0625,0.390625 1.0625,1.28125 v 0.359375 c -0.515625,0.03125 -1.203125,0.0625 -1.828125,0.359375 -0.75,0.34375 -1,0.859375 -1,1.296875 0,0.8125 0.96875,1.0625 1.59375,1.0625 0.65625,0 1.109375,-0.40625 1.296875,-0.859375 z M 3.25,-2.390625 v 1 c 0,0.9375 -0.71875,1.28125 -1.171875,1.28125 -0.484375,0 -0.890625,-0.34375 -0.890625,-0.84375 0,-0.546875 0.421875,-1.375 2.0625,-1.4375 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + <path + id="path4898-9-7" + transform="translate(157.56775,134.765)" + d="m 2.078125,-1.9375 c 0.21875,0.046875 1.03125,0.203125 1.03125,0.921875 0,0.5 -0.34375,0.90625 -1.125,0.90625 -0.84375,0 -1.203125,-0.5625 -1.390625,-1.421875 C 0.5625,-1.65625 0.5625,-1.6875 0.453125,-1.6875 c -0.125,0 -0.125,0.0625 -0.125,0.234375 V -0.125 c 0,0.171875 0,0.234375 0.109375,0.234375 0.046875,0 0.0625,-0.015625 0.25,-0.203125 0.015625,-0.015625 0.015625,-0.03125 0.203125,-0.21875 0.4375,0.40625 0.890625,0.421875 1.09375,0.421875 1.140625,0 1.609375,-0.671875 1.609375,-1.390625 0,-0.515625 -0.296875,-0.828125 -0.421875,-0.9375 C 2.84375,-2.546875 2.453125,-2.625 2.03125,-2.703125 1.46875,-2.8125 0.8125,-2.9375 0.8125,-3.515625 c 0,-0.359375 0.25,-0.765625 1.109375,-0.765625 1.09375,0 1.15625,0.90625 1.171875,1.203125 0,0.09375 0.09375,0.09375 0.109375,0.09375 0.140625,0 0.140625,-0.046875 0.140625,-0.234375 v -1.015625 c 0,-0.15625 0,-0.234375 -0.109375,-0.234375 -0.046875,0 -0.078125,0 -0.203125,0.125 -0.03125,0.03125 -0.125,0.125 -0.171875,0.15625 -0.375,-0.28125 -0.78125,-0.28125 -0.9375,-0.28125 -1.21875,0 -1.59375,0.671875 -1.59375,1.234375 0,0.34375 0.15625,0.625 0.421875,0.84375 0.328125,0.25 0.609375,0.3125 1.328125,0.453125 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <rect + y="19.754467" + x="380.00067" + height="25.324406" + width="151.94643" + id="rect4520-0-7-7" + style="opacity:1;fill:#999999;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" /> + <rect + y="19.754467" + x="412.57751" + height="25.324411" + width="64.870178" + id="rect4520-3-2-3-1" + style="opacity:1;fill:#999999;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" /> + <path + inkscape:connector-curvature="0" + id="path4537-61-6-1" + d="M 434.256,19.754464 V 44.700883" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + sodipodi:nodetypes="cc" + inkscape:connector-curvature="0" + id="path4539-8-1-5" + d="M 455.74834,19.707214 V 44.700883" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + inkscape:connector-curvature="0" + id="path4541-7-2-9" + d="M 477.62879,19.848953 V 44.795384" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + inkscape:connector-curvature="0" + id="path4537-6-9-9-7" + d="M 412.56962,19.754464 V 44.700883" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <g + transform="translate(214.65943,-118.51588)" + ns1:textextver="0.8" + ns1:converter="pdf2svg" + ns1:text="pile" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:scale="1.0" + id="g6058-1-7"> + <g + id="g6056-9-6"> + <g + style="fill:#000000;fill-opacity:1" + id="g6054-4-7"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 1.71875,-3.75 v -0.65625 l -1.4375,0.109375 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5 v 4.65625 C 1.0625,1.625 0.953125,1.625 0.28125,1.625 V 1.9375 C 0.625,1.921875 1.140625,1.90625 1.390625,1.90625 c 0.28125,0 0.78125,0.015625 1.125,0.03125 V 1.625 C 1.859375,1.625 1.75,1.625 1.75,1.171875 V -0.59375 c 0.046875,0.171875 0.46875,0.703125 1.21875,0.703125 1.1875,0 2.21875,-0.984375 2.21875,-2.265625 0,-1.265625 -0.953125,-2.25 -2.078125,-2.25 -0.78125,0 -1.203125,0.4375 -1.390625,0.65625 z M 1.75,-1.140625 v -2.21875 C 2.03125,-3.875 2.515625,-4.15625 3.03125,-4.15625 c 0.734375,0 1.328125,0.875 1.328125,2 0,1.203125 -0.6875,2.046875 -1.421875,2.046875 -0.40625,0 -0.78125,-0.203125 -1.046875,-0.609375 C 1.75,-0.921875 1.75,-0.9375 1.75,-1.140625 Z m 0,0" + transform="translate(148.712,134.765)" + id="path6046-7-3" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.765625,-4.40625 0.375,-4.296875 v 0.3125 c 0.640625,0 0.734375,0.0625 0.734375,0.546875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 C 0.640625,-0.015625 1.1875,-0.03125 1.421875,-0.03125 1.78125,-0.03125 2.125,-0.015625 2.46875,0 v -0.3125 c -0.671875,0 -0.703125,-0.046875 -0.703125,-0.4375 z m 0.03125,-1.734375 c 0,-0.3125 -0.234375,-0.53125 -0.515625,-0.53125 -0.3125,0 -0.53125,0.265625 -0.53125,0.53125 0,0.265625 0.21875,0.53125 0.53125,0.53125 0.28125,0 0.515625,-0.21875 0.515625,-0.53125 z m 0,0" + transform="translate(154.24722,134.765)" + id="path6048-8-6" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.765625,-6.921875 0.328125,-6.8125 V -6.5 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 C 0.65625,-0.015625 1.1875,-0.03125 1.4375,-0.03125 c 0.25,0 0.734375,0.015625 1.109375,0.03125 v -0.3125 c -0.671875,0 -0.78125,0 -0.78125,-0.4375 z m 0,0" + transform="translate(157.01483,134.765)" + id="path6050-4-5" /> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="M 1.109375,-2.515625 C 1.171875,-4 2.015625,-4.25 2.359375,-4.25 c 1.015625,0 1.125,1.34375 1.125,1.734375 z m 0,0.21875 h 2.78125 c 0.21875,0 0.25,0 0.25,-0.21875 0,-0.984375 -0.546875,-1.953125 -1.78125,-1.953125 -1.15625,0 -2.078125,1.03125 -2.078125,2.28125 0,1.328125 1.046875,2.296875 2.1875,2.296875 C 3.6875,0.109375 4.140625,-1 4.140625,-1.1875 4.140625,-1.28125 4.0625,-1.3125 4,-1.3125 c -0.078125,0 -0.109375,0.0625 -0.125,0.140625 -0.34375,1.03125 -1.25,1.03125 -1.34375,1.03125 -0.5,0 -0.890625,-0.296875 -1.125,-0.671875 -0.296875,-0.46875 -0.296875,-1.125 -0.296875,-1.484375 z m 0,0" + transform="translate(159.78244,134.765)" + id="path6052-5-6" /> + </g> + </g> + </g> + </g> + <g + id="g3840" + transform="translate(-11.67294,-11.42393)"> + <path + inkscape:connector-curvature="0" + id="path4537-5" + d="m 451.59859,128.88523 v 24.94642" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + sodipodi:nodetypes="cc" + inkscape:connector-curvature="0" + id="path4539-6" + d="m 473.28497,128.83798 v 24.99367" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + inkscape:connector-curvature="0" + id="path4541-11" + d="m 494.97137,128.97972 v 24.94643" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <g + id="g4597-5" + ns1:scale="1.0" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:text="$1$" + ns1:converter="pdf2svg" + ns1:textextver="0.8" + transform="translate(289.12169,10.102755)"> + <g + id="surface1-98"> + <g + id="g4594-4" + style="fill:#000000;fill-opacity:1"> + <path + inkscape:connector-curvature="0" + id="path4592-8" + transform="translate(148.712,134.765)" + d="m 2.9375,-6.375 c 0,-0.25 0,-0.265625 -0.234375,-0.265625 C 2.078125,-6 1.203125,-6 0.890625,-6 v 0.3125 c 0.203125,0 0.78125,0 1.296875,-0.265625 v 5.171875 c 0,0.359375 -0.03125,0.46875 -0.921875,0.46875 h -0.3125 V 0 c 0.34375,-0.03125 1.203125,-0.03125 1.609375,-0.03125 0.390625,0 1.265625,0 1.609375,0.03125 v -0.3125 h -0.3125 c -0.90625,0 -0.921875,-0.109375 -0.921875,-0.46875 z m 0,0" + style="stroke:none" /> + </g> + </g> + </g> + <g + transform="translate(310.51812,10.102755)" + ns1:textextver="0.8" + ns1:converter="pdf2svg" + ns1:text="$2$" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:scale="1.0" + id="g4661-7-1" + style="fill:#000000"> + <g + id="g4659-0-0" + style="fill:#000000"> + <g + style="fill:#000000;fill-opacity:1" + id="g4657-9-3"> + <path + style="stroke:none" + d="m 1.265625,-0.765625 1.0625,-1.03125 c 1.546875,-1.375 2.140625,-1.90625 2.140625,-2.90625 0,-1.140625 -0.890625,-1.9375 -2.109375,-1.9375 -1.125,0 -1.859375,0.921875 -1.859375,1.8125 0,0.546875 0.5,0.546875 0.53125,0.546875 0.171875,0 0.515625,-0.109375 0.515625,-0.53125 0,-0.25 -0.1875,-0.515625 -0.53125,-0.515625 -0.078125,0 -0.09375,0 -0.125,0.015625 0.21875,-0.65625 0.765625,-1.015625 1.34375,-1.015625 0.90625,0 1.328125,0.8125 1.328125,1.625 C 3.5625,-3.90625 3.078125,-3.125 2.515625,-2.5 l -1.90625,2.125 C 0.5,-0.265625 0.5,-0.234375 0.5,0 H 4.203125 L 4.46875,-1.734375 H 4.234375 C 4.171875,-1.4375 4.109375,-1 4,-0.84375 3.9375,-0.765625 3.28125,-0.765625 3.0625,-0.765625 Z m 0,0" + transform="translate(148.712,134.765)" + id="path4655-3-0" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <g + id="g4749-4" + style="fill:#000000" + ns1:scale="1.0" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:text="$3$" + ns1:converter="pdf2svg" + ns1:textextver="0.8" + transform="translate(331.85986,9.9933747)"> + <g + style="fill:#000000" + id="g4747-4"> + <g + id="g4745-4" + style="fill:#000000;fill-opacity:1"> + <path + id="path4743-4" + transform="translate(148.712,134.765)" + d="m 2.890625,-3.515625 c 0.8125,-0.265625 1.390625,-0.953125 1.390625,-1.75 0,-0.8125 -0.875,-1.375 -1.828125,-1.375 -1,0 -1.765625,0.59375 -1.765625,1.359375 0,0.328125 0.21875,0.515625 0.515625,0.515625 0.296875,0 0.5,-0.21875 0.5,-0.515625 0,-0.484375 -0.46875,-0.484375 -0.609375,-0.484375 0.296875,-0.5 0.953125,-0.625 1.3125,-0.625 0.421875,0 0.96875,0.21875 0.96875,1.109375 0,0.125 -0.03125,0.703125 -0.28125,1.140625 C 2.796875,-3.65625 2.453125,-3.625 2.203125,-3.625 2.125,-3.609375 1.890625,-3.59375 1.8125,-3.59375 c -0.078125,0.015625 -0.140625,0.03125 -0.140625,0.125 0,0.109375 0.0625,0.109375 0.234375,0.109375 h 0.4375 c 0.8125,0 1.1875,0.671875 1.1875,1.65625 0,1.359375 -0.6875,1.640625 -1.125,1.640625 -0.4375,0 -1.1875,-0.171875 -1.53125,-0.75 0.34375,0.046875 0.65625,-0.171875 0.65625,-0.546875 0,-0.359375 -0.265625,-0.5625 -0.546875,-0.5625 -0.25,0 -0.5625,0.140625 -0.5625,0.578125 0,0.90625 0.921875,1.5625 2.015625,1.5625 1.21875,0 2.125,-0.90625 2.125,-1.921875 0,-0.8125 -0.640625,-1.59375 -1.671875,-1.8125 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <g + style="fill:#000000" + transform="translate(353.21722,10.157445)" + ns1:textextver="0.8" + ns1:converter="pdf2svg" + ns1:text="$4$" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:scale="1.0" + id="g4809-7"> + <g + style="fill:#000000" + id="g4807-6"> + <g + style="fill:#000000;fill-opacity:1" + id="g4805-3"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 2.9375,-1.640625 v 0.859375 c 0,0.359375 -0.03125,0.46875 -0.765625,0.46875 H 1.96875 V 0 C 2.375,-0.03125 2.890625,-0.03125 3.3125,-0.03125 c 0.421875,0 0.9375,0 1.359375,0.03125 v -0.3125 h -0.21875 c -0.734375,0 -0.75,-0.109375 -0.75,-0.46875 V -1.640625 H 4.6875 v -0.3125 H 3.703125 v -4.53125 c 0,-0.203125 0,-0.265625 -0.171875,-0.265625 -0.078125,0 -0.109375,0 -0.1875,0.125 l -3.0625,4.671875 v 0.3125 z m 0.046875,-0.3125 H 0.5625 l 2.421875,-3.71875 z m 0,0" + transform="translate(148.712,134.765)" + id="path4803-1" /> + </g> + </g> + </g> + </g> + <path + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 259.00299,19.754458 v 24.94642" + id="path4537-61-7" + inkscape:connector-curvature="0" /> + <path + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 280.49533,19.707208 v 24.99367" + id="path4539-8-4" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + <path + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 302.37577,19.848948 v 24.94643" + id="path4541-7-1" + inkscape:connector-curvature="0" /> + <g + id="g4809-4-85" + ns1:scale="1.0" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:text="$4$" + ns1:converter="pdf2svg" + ns1:textextver="0.8" + transform="translate(118.55279,-98.973337)" + style="fill:#000000"> + <g + id="g4807-5-9" + style="fill:#000000"> + <g + id="g4805-0-7" + style="fill:#000000;fill-opacity:1"> + <path + id="path4803-3-5" + transform="translate(148.712,134.765)" + d="m 2.9375,-1.640625 v 0.859375 c 0,0.359375 -0.03125,0.46875 -0.765625,0.46875 H 1.96875 V 0 C 2.375,-0.03125 2.890625,-0.03125 3.3125,-0.03125 c 0.421875,0 0.9375,0 1.359375,0.03125 v -0.3125 h -0.21875 c -0.734375,0 -0.75,-0.109375 -0.75,-0.46875 V -1.640625 H 4.6875 v -0.3125 H 3.703125 v -4.53125 c 0,-0.203125 0,-0.265625 -0.171875,-0.265625 -0.078125,0 -0.109375,0 -0.1875,0.125 l -3.0625,4.671875 v 0.3125 z m 0.046875,-0.3125 H 0.5625 l 2.421875,-3.71875 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <g + id="g4809-6-3" + ns1:scale="1.0" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:text="$4$" + ns1:converter="pdf2svg" + ns1:textextver="0.8" + transform="translate(140.04512,-98.973337)" + style="fill:#000000"> + <g + id="g4807-1-8" + style="fill:#000000"> + <g + id="g4805-06-8" + style="fill:#000000;fill-opacity:1"> + <path + id="path4803-32-3" + transform="translate(148.712,134.765)" + d="m 2.9375,-1.640625 v 0.859375 c 0,0.359375 -0.03125,0.46875 -0.765625,0.46875 H 1.96875 V 0 C 2.375,-0.03125 2.890625,-0.03125 3.3125,-0.03125 c 0.421875,0 0.9375,0 1.359375,0.03125 v -0.3125 h -0.21875 c -0.734375,0 -0.75,-0.109375 -0.75,-0.46875 V -1.640625 H 4.6875 v -0.3125 H 3.703125 v -4.53125 c 0,-0.203125 0,-0.265625 -0.171875,-0.265625 -0.078125,0 -0.109375,0 -0.1875,0.125 l -3.0625,4.671875 v 0.3125 z m 0.046875,-0.3125 H 0.5625 l 2.421875,-3.71875 z m 0,0" + style="stroke:none" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <g + id="g3937-1" + transform="translate(183.77643,-29.342354)"> + <path + inkscape:connector-curvature="0" + id="path4537-61-7-8" + d="m 250.47957,49.096818 v 24.94642" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + sodipodi:nodetypes="cc" + inkscape:connector-curvature="0" + id="path4539-8-4-9" + d="m 271.97191,49.049568 v 24.99367" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + inkscape:connector-curvature="0" + id="path4541-7-1-6" + d="m 293.85235,49.191308 v 24.94643" + style="fill:#f9f9f9;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <g + style="fill:#000000" + transform="translate(110.02937,-69.630977)" + ns1:textextver="0.8" + ns1:converter="pdf2svg" + ns1:text="$4$" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:scale="1.0" + id="g4809-4-85-4"> + <g + style="fill:#000000" + id="g4807-5-9-3"> + <g + style="fill:#000000;fill-opacity:1" + id="g4805-0-7-3"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 2.9375,-1.640625 v 0.859375 c 0,0.359375 -0.03125,0.46875 -0.765625,0.46875 H 1.96875 V 0 C 2.375,-0.03125 2.890625,-0.03125 3.3125,-0.03125 c 0.421875,0 0.9375,0 1.359375,0.03125 v -0.3125 h -0.21875 c -0.734375,0 -0.75,-0.109375 -0.75,-0.46875 V -1.640625 H 4.6875 v -0.3125 H 3.703125 v -4.53125 c 0,-0.203125 0,-0.265625 -0.171875,-0.265625 -0.078125,0 -0.109375,0 -0.1875,0.125 l -3.0625,4.671875 v 0.3125 z m 0.046875,-0.3125 H 0.5625 l 2.421875,-3.71875 z m 0,0" + transform="translate(148.712,134.765)" + id="path4803-3-5-3" /> + </g> + </g> + </g> + <g + style="fill:#000000" + transform="translate(131.5217,-69.630977)" + ns1:textextver="0.8" + ns1:converter="pdf2svg" + ns1:text="$4$" + ns1:preamble="/home/malaspor/.config/inkscape/extensions/default_packages.tex" + ns1:scale="1.0" + id="g4809-6-3-8"> + <g + style="fill:#000000" + id="g4807-1-8-6"> + <g + style="fill:#000000;fill-opacity:1" + id="g4805-06-8-0"> + <path + inkscape:connector-curvature="0" + style="stroke:none" + d="m 2.9375,-1.640625 v 0.859375 c 0,0.359375 -0.03125,0.46875 -0.765625,0.46875 H 1.96875 V 0 C 2.375,-0.03125 2.890625,-0.03125 3.3125,-0.03125 c 0.421875,0 0.9375,0 1.359375,0.03125 v -0.3125 h -0.21875 c -0.734375,0 -0.75,-0.109375 -0.75,-0.46875 V -1.640625 H 4.6875 v -0.3125 H 3.703125 v -4.53125 c 0,-0.203125 0,-0.265625 -0.171875,-0.265625 -0.078125,0 -0.109375,0 -0.1875,0.125 l -3.0625,4.671875 v 0.3125 z m 0.046875,-0.3125 H 0.5625 l 2.421875,-3.71875 z m 0,0" + transform="translate(148.712,134.765)" + id="path4803-32-3-4" /> + </g> + </g> + </g> + </g> + <circle + id="path3987" + style="fill:#000000;stroke:none;stroke-width:1.48231328" + cx="248.49814" + cy="32.416664" + r="2.22347" /> + <circle + id="path3987-8" + style="fill:#000000;stroke:none;stroke-width:1.48231339" + cx="422.64774" + cy="32.251301" + r="2.2234702" /> + </g> +</svg> diff --git a/slides/src/fonctions.md b/slides/src/fonctions.md new file mode 100644 index 0000000000000000000000000000000000000000..5f5706d3d648eda659e76ccdfa66109d7426b1d6 --- /dev/null +++ b/slides/src/fonctions.md @@ -0,0 +1,108 @@ +# Instructions et expressions + +## Les instructions (statements) + +- **Instruction**: commande effectuant une action mais ne retournant aucune valeur. + ```rust ignore + let x = 1; // une instruction + ``` + <br> + +- On ne peut pas assigner une instruction `let` + ```rust compile_fail + let y = (let x = 1); + ``` + +## Les expressions + +- **Expression**: combinaison de variables, opérations, ... retournant une valeur. + ```c + 3 + 5 + ``` +- Presque tout code Rust est une expression. + ```rust [|2-5|4|] + fn main() { + let y = { + let x = 5 + 3; + x - 9 + }; + println!("5 + 3 - 9 = {}", y); + } + ``` + +# Fonctions + +## Fonction sans argument, sans retour + +```rust [1-4|5-7] +fn main() { + println!("La fonction main est une fonction."); + fonction_fonction(); +} +fn fonction_fonction() { + println!("La fonction fonction_fonction est une fonction."); +} +``` + +## Fonction avec argument, sans retour + +```rust [1-3|5|] +fn affiche_entier(x: i32) { + println!("Affiche l'entier {}.", x); +} +fn main() { + affiche_entier(1024); +} +``` + +## Valeur de retour de fonctions + +```rust [1-3|2|] +fn la_reponse() -> i32 { + 42 // ou return 42; +} +fn main() { + println!("La réponse est {}.", la_reponse()); +} +``` + +## Une erreur est vite faite + +```rust compile_fail +fn la_reponse() -> i32 { + 42; +} +``` + +## On peut faire plus + +```rust [2-6|] +fn la_reponse(univers_et_tout: bool) -> i32 { + if univers_et_tout { + 42 + } else { + -1 + } +} +fn main() { + println!("La réponse_est {}.", la_reponse(true)); +} +``` + +## L'erreur + +```console +error[E0308]: mismatched types + --> src/main.rs:1:20 + | +1 | fn la_reponse() -> i32 { + | ---------- ^^^ expected `i32`, found `()` + | | + | implicitly returns `()` as its body has no tail or `return` expression +2 | 42; + | - help: remove this semicolon to return this value + +For more information about this error, try `rustc --explain E0308` +``` + +Une fonction sans retour retourne un `()`. \ No newline at end of file diff --git a/slides/src/generics.md b/slides/src/generics.md new file mode 100644 index 0000000000000000000000000000000000000000..e70ac48665a025287ffd57d4233329400236afce --- /dev/null +++ b/slides/src/generics.md @@ -0,0 +1,159 @@ +# Types génériques + +## Généralités + +- Génériques utilisés pour des fonctions, `struct`, `enums`, ... +- Généralisation de concepts présents dans le code. +- Réduisent la quantité de code à écrire. + +## Exemple sans générique + +```rust [1-3|4-6|8-10|11-13|] +fn max_i32(a: i32, b: i32) -> i32 { + if a > b { a } else { b } +} +fn max_f64(a: f64, b: f64) -> f64 { + if a > b { a } else { b } +} +fn main() { + let a = 1; + let b = 7; + println!("De {} et {}, {} est le plus grand.", a, b, max_i32(a,b)); + let a = 1.5; + let b = 7.5; + println!("De {} et {}, {} est le plus grand.", a, b, max_f64(a,b)); +} +``` + +## Exemple avec générique (concept) + +```rust [1|2|] compile_fail +fn max<T>(a: T, b: T) -> T { + if a > b { a } else { b } +} +``` + +## Vrai exemple avec générique + +```rust +// On doit dire au compilateur que T implémente "</>" +fn max<T: PartialOrd>(a: T, b: T) -> T { + if a > b { a } else { b } +} +fn main() { + let a = 1; + let b = 7; + println!("De {} et {}, {} est le plus grand.", a, b, max(a,b)); + let a = 1.5; + let b = 7.5; + println!("De {} et {}, {} est le plus grand.", a, b, max(a,b)); +} +``` + +# Dans les `struct` + +## Un seul type générique + +```rust [6-7|8|] compile_fail +struct Point<T> { + x: T, + y: T, +} +fn main() { + let int_point = Point{ x: 1, y: 2 }; // i32 point + let flt_point = Point{ x: 2.3, y: 4.7 }; // f64 point + let does_not_work_point = Point{ x: 1, y: 1.5 } // oups +} +``` + +## Deux types génériques + +```rust +struct Point<T, U> { + x: T, + y: U, +} +fn main() { + let int_point = Point{ x: 1, y: 2}; // i32 point + let flt_point = Point{ x: 2.3, y: 4.7}; // f64 point + let does_work_now_point = Point{ x: 1, y: 1.5}; // i32, f64 point +} +``` + +# Dans les méthodes + +## Générique + +```rust +struct Point<T> { + x: T, + y: T, +} +impl<T> Point<T> { + fn get_x(&self) -> &T { + &self.x + } +} +fn main() { + let point = Point{ x: 1, y: 2}; + println!("x = {}", point.get_x()); +} +``` + +## Monomorphisation + +```rust +struct Point<T> { + x: T, + y: T, +} +impl Point<f64> { + fn norm(&self) -> f64 { + (self.x * self.x + self.y * self.y).sqrt() + } +} +fn main() { + let point = Point{ x: 1.0, y: 2.0}; + println!("norm = {}", point.norm()); +} +``` + +## Plus générique (lvl 10) + +```rust +struct Point<T> { + x: T, + y: T, +} +impl<T: std::ops::Mul<Output = T> + std::ops::Add<Output = T> + Copy> Point<T> { + fn norm_sqr(&self) -> T { + self.x * self.x + self.y * self.y + } +} +fn main() { + let point = Point{ x: 1.0, y: 2.0}; + println!("norm_sqr = {}", point.norm_sqr()); +} +``` + +## `enum`: `SomethingOrNothing<T>` + +```rust +// Permet d'avoir un type générique dans Some +enum SomethingOrNothing<T> { + Something(T), + Nothing, +} + +fn main() { + let int_opt = SomethingOrNothing::Something(4); + let char_opt = SomethingOrNothing::Something('a'); +} +``` + +## Que fait le compilateur? + +- A la compilation le type générique est remplacé par un type spécifique: monomorphisation. +- Pour chaque type, le compilateur crée une version de la fonction, struct, ... +- Et remplace la fonction générale par le code spécialisé. +- Aucun coût à l'exécution. diff --git a/slides/src/installation.md b/slides/src/installation.md new file mode 100644 index 0000000000000000000000000000000000000000..2965eb4c64a21d6bdc89cb7e0526a9100673fd85 --- /dev/null +++ b/slides/src/installation.md @@ -0,0 +1,116 @@ +# Installation + +## La chaîne de compilation + +<https://www.rust-lang.org/tools/install> + +## Rustup + +- Outil pour configurer et manager la chaîne de compilation de Rust. + + <https://www.rustup.rs> + +- Installation de la chaîne de compilation (toolchain): + +```sh +curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh +``` + +- Quelques commandes importantes + +```sh +rustup install stable # installation de la chaîne stable +rustup self uninstall # désinstallation +rustup default stable # chaîne par défaut +rustup update # mise à jour de la chaîne de compilation +rustup doc # documentation dans le navigateur +``` + +## Contenu de la chaîne de compilation + +- `rustc`: compilateur et éditeur de lien +- `cargo`: outil pour la compilation et gestion de dépendances +- `rustdoc`: documentation +- `rust-(lldb|gdb)`: débugger + +## `rustc` + +- `rustc` est écrit en Rust (en grande partie). +- Pour terster l'installation +```sh +rustc --help +``` + +## Mon premier `Hello World!` + +- Dans un fichier `hello_world.rs`. + +```rust +fn main() { // présent dans tout programme Rust + println!("Hello, World!"); // macro d'affichage +} +``` + +- Pour compiler, éditer les liens et exécuter + +```console +$ rustc hello_world.rs +$ ./hello_world +Hello, World! +``` + +## Cargo + +- La documentation [Cargo Manifest docs](http://doc.crates.io/manifest.html). +- Cargo est l'outil de compilation et gestion de dépendances de Rust. +- Indépendant de la version de `rustc`. +- Permet l'installation d'outils (peut se faire avec rustup également) + +```console +$ cargo install clippy # conseil de "beauté du code" +$ cargo install rustfmt # formattage automatique du code +``` + + +## Exemple d'utilisation + +```console +$ cargo new hello_world --bin # création projet +$ cd hello_world +$ cargo build # cargo check + Compiling hello_world v0.1.0 (file:///home/malaspor/hello_world) + Finished dev [unoptimized + debuginfo] target(s) in 1.33s +$ cargo run + Finished dev [unoptimized + debuginfo] target(s) in 0.05s + Running `target/debug/hello_world` +Hello, world! +$ ./target/debug/hello_world +Hello, world! +$ cargo build --release # compilation avec optimisations + Compiling hello_world v0.1.0 (file:///home/malaspor/Downloads/hello_world) + Finished release [optimized] target(s) in 0.35s +``` + +## Le fichier `Cargo.toml`: + +```toml +[package] +name = "hello_world" +version = "0.1.0" +authors = ["Your Name you@example.com"] + +[dependencies] +``` +## Le fichier `Cargo.lock`: + +```toml +[[package]] +name = "hello_world" +version = "0.1.0" +``` + +## Éditeur et plugins + +- Nous vous conseillons ici l'éditeur `codium` (**pas vscode**). +- Et l'installation du plugin `rust-analyzer`. + diff --git a/slides/src/introduction.md b/slides/src/introduction.md new file mode 100644 index 0000000000000000000000000000000000000000..b34667caade3ca50432769f8dcb0ebd4f012edbf --- /dev/null +++ b/slides/src/introduction.md @@ -0,0 +1,86 @@ +# Introduction + +## Avant de commencer, quelques références + +* [The Book](https://doc.rust-lang.org/book/) +* [The Book, mais avec des goodies](https://rust-book.cs.brown.edu/) +* [La documentation officielle](https://doc.rust-lang.org/) +* [Rust by Example](https://doc.rust-lang.org/rust-by-example/index.html) +* [Un discord](https://discord.com/invite/rust-lang) + +## La communauté Rust + +- [Reddit débutants](https://www.reddit.com/r/learnrust/) +- [Reddit](https://www.reddit.com/r/rust/) +- [Le forum des utilisateurs](https://users.rust-lang.org/) +- [Un discord](https://discord.com/invite/rust-lang-community) + +## Rust playground + +- Pour jouer avec le langage: [le Rust playground](https://play.rust-lang.org/) + +## Pourquoi Rust? + +- Langage le plus aimé sur stackoverflow en: + - 2016, + - 2017, + - 2018, + - 2019, + - 2020, + - 2021, + - 2022, + - 2023, + - 2024, + +## Et en vrai? + +- Une mascotte super mignonne + + + +## Une brève histoire du Rust + +- Créé comme projet personnel par Graydon Hoare chez Mozilla en 2006. +- Financé par Mozilla dès 2010. +- Rendu public la première fois en 2012 (version 0.4). +- Orientation vers la programmation système. +- Première version stable (1.0) en 2015 (3 ans cette année). +- Stabilisation de fonctionnalités tous les 6 semaines. +- Version stable actuelle 1.71. <!-- TODO UPDATE --> + +## Concept de base + +- Compilateur très pointilleux. +- Langage moderne: + - procédural **et** fonctionnel, + - gestion de dépendances simple, + - bonne intégration dans les IDE modernes, + - gestion des erreurs élégante. + +## Sûreté + +- Fortement typé. +- Pas d'accès mémoire illégal (dépassement de capacité, use after free). +- La désallocation est automatique. +- Les erreurs mémoires sont donc TRÈS difficile à faire. + +## Concurrence + +- *Concurrency without fear*. +- Le système de type empêche un accès concurrent à des données. +- La synchronisation des données doit être explicitement faite. +- Détection si l'accès asynchrone est sûr à la compilation. +- Protection contre les accès concurrents. + +## Rapidité + +- Les conditions de sécurité sont gérées *à la compilation* (pas de coût à l'exécution). +- Abstractions à coût nul (zero cost abstractions). + +## God mode + +- Le compilateur a des règles très strictes... +- ... mais il est possible de contourner certaines règles. +- Syntaxe spéciale pour autoriser les comportement potentiellement dangereux (`unsafe`). +- Un guide pour bien vivre dangereusement <https://doc.rust-lang.org/nomicon/>. + diff --git a/slides/src/methods.md b/slides/src/methods.md new file mode 100644 index 0000000000000000000000000000000000000000..4242165f86b5e5009601f9e6d6fa53b81d826cd5 --- /dev/null +++ b/slides/src/methods.md @@ -0,0 +1,132 @@ +# Fonctions associées + +## Nouvelle instance + +```rust [2-5|6,13|7-9|10-12|15|] +#[derive(Debug)] // Permet l'affichage avec {:?} +struct Rectangle { + width: u32, + height: u32, +} +impl Rectangle { // Bloc impl + fn new(width: u32, height: u32) -> Rectangle { + Rectangle { width, height } + } + fn square(side: u32) -> Rectangle { + Rectangle::new(side, side) + } +} +fn main() { + let square = Rectangle::square(10); + println!("Un carré est un rectangle particulier: {:?}.", square); +} +``` + +## Le mot-clé `Self` + +```rust [7-9|] +#[derive(Debug)] +struct Rectangle { + width: u32, + height: u32, +} +impl Rectangle { + fn new(width: u32, height: u32) -> Self { + Rectangle { width, height } + } +} +fn main() { + let rect = Rectangle::new(10, 20); + println!("Ceci est un rectangle: {:?}.", rect); +} +``` + +# Méthodes + +## Le mot-clé `self` + +```rust [6-9|10-12|16-18|] compile_fail +struct Rectangle { + width: u32, + height: u32, +} +impl Rectangle { // les méthodes de Rectangle se trouvent dans un bloc impl + // self est l'instance sur laquelle le sélecteur . est appelé + fn area(self) -> u32 { + self.width * self.height + } + fn perimeter(self) -> u32 { + 2 * (self.width + self.height) + } +} +fn main() { + let rect = Rectangle { width: 10, height: 5 }; + println!("La surface de ce rectangle + est donnée par {} et son périmètre par {}.", + rect.area(), rect.perimeter()); +} +``` + +## Le mot-clé `&self` + +```rust [6-9|10-12|16-18|] +struct Rectangle { + width: u32, + height: u32, +} +impl Rectangle { // les méthodes de Rectangle se trouvent dans un bloc impl + // &self est une référence sur l'instance sur laquelle le sélecteur . est appelé + fn area(&self) -> u32 { + self.width * self.height + } + fn perimeter(&self) -> u32 { + 2 * (self.width + self.height) + } +} +fn main() { + let rect = Rectangle { width: 10, height: 5 }; + println!("La surface de ce rectangle + est donnée par {} et son périmètre par {}.", + rect.area(), rect.perimeter()); +} +``` + +## Le mot-clé `&mut self` + +```rust +#[derive(Debug)] +struct Rectangle { + width: u32, + height: u32, +} +impl Rectangle { // les méthodes de Rectangle se trouvent dans un bloc impl + // &mut self est une référence mutable sur l'instance sur laquelle le sélecteur . est appelé + fn set_width(&mut self, width: u32) { + self.width = width; + } +} +fn main() { + let mut rect = Rectangle {width: 10, height: 5}; // rect doit être mutable + rect.set_width(1_000_000); // pour que cette ligne compile + println!("On a modifié width. L'instance de rectanle est {:?}.", rect); +} +``` + +## Méthode sur un `enum` + +```rust +enum SomethingOrNothing<T> { + Nothing, + Something(T), +} +impl<T> SomethingOrNothing <T> { + pub fn is_something(&self) -> bool { + match *self { // on déréférence pour faire le match + SomethingOrNothing::Something(_) => true, + SomethingOrNothing::Nothing => false, + } + } +} +``` + + diff --git a/slides/src/modules.md b/slides/src/modules.md new file mode 100644 index 0000000000000000000000000000000000000000..591faf124ae2ea27d9720bed26902fb2ec991b13 --- /dev/null +++ b/slides/src/modules.md @@ -0,0 +1,156 @@ +# Modules + +## Namespaces (*espace de nom*) + +- Permet de distinguer deux objets qui ont le même nom. +- Permet de donner une portée aux identificateurs. + +## En Rust il y a deux façon de faire + +1. Les *crates* qui sont des librairies réutilisables. +2. Les *modules* qui subdivisent les librairies en plus petites parties. + +## Les crates + +- Une *crate* est une librairie. +- Elle contient en général beaucoup de modules. + +## Compilation + +- `Cargo`, l'outil de compilation du Rust, va chercher toutes les informations directement dans `main.rs` ou `lib.rs`. +- Les informations sur les modules se trouvent dans ces fichiers. + +## Une libraire (`crate`) + +- On peut créer une libraire avec `cargo new ma_librairie --lib`. +- Ou alors en créant un fichier `lib.rs` "à côté" du `main.rs`. +- Pour accéder à ce qui se trouve dans la librairie on devra utiliser + ```rust ignore + use ma_librairie; + ``` +- Et appeler les fonctions, enums, ... + ```rust ignore + ma_librairie::ma_fct(); + ma_librairie::MonEnum; + ``` + +## Un module: + +- est un bloc de code dans une librairie +- qualifie tous les noms qui se trouvent à l'intérieur +- a un module parent (ça peut être la crate elle-même) +- peut avoir des modules enfants + +## La définition d'un module en ligne + +```rust [1-5|] +mod hepia { + fn uni_automne() { + unimplemented!(); + } +} +fn main() { +} +``` + +## Le contenu d'un module est privé + +```rust [2-3,6|] compile_fail +mod hepia { + fn uni_automne() { + } +} +fn main() { + hepia::uni_automne(); // uni_automne() privé +} +``` + +## Public: `pub` + +```rust [2-3,6|] +mod hepia { + pub fn uni_automne() { + } +} +fn main() { + hepia::uni_automne(); // uni_automne() publique +} +``` + +## Appels + +```rust [1,6,7,9|2,8|3,5|4|1-13] +mod hepia { // seul qui a pas besoin de pub + pub fn uni_automne() { } + pub mod isc { + pub struct Prof { } + } +} +mod heg { + pub fn uni_automne() { } +} +fn main() { + let a = hepia::uni_automne(); + let b = heg::uni_automne(); + let c = hepia::isc::Prof {}; +} +``` + +## Structure de fichiers + +```console +ecole +├── Cargo.toml +├── src +| ├── heg.rs +| ├── hepia +| | ├── isc +| | | └── mod.rs +| │ └── mod.rs +| ├── lib.rs +| └── main.rs + +``` + +## Les fichiers et visibilité + +```rust [1-3|4-6|7-8|9-10|11-12|13-17|] ignore +// dans lib.rs +pub mod hepia; +pub mod heg; +// dans hepia/mod.rs +pub fn uni_automne() { } +pub mod isc; +// dans hepia/isc/mod.rs +pub struct Prof { } +// dans heg.rs +pub fn ma_fonction() { } +// dans main.rs +use ecole::{hepia, heg}; // imports +fn main() { + let a = hepia::uni_automne(); + let b = heg::uni_automne(); + let c = hepia::isc::Prof {}; +} +``` + +## Résumé + +- Les modules permettent de compartimenter le code. +- Par défaut tout ce qui se trouve dans un module est privé. +- On contrôle la visibilité avec `pub`rust. +- Si un item est public il peut être accédé depuis n'importe quel module parent. +- Si un item est privé il n'est accessible que depuis son parent direct et n'importe lequel de ses modules enfants. +- On peut rendre visible des sous-modules, ou des items avec `use`. + +## Plus de finesse + +Contrôle beaucoup plus fin possible ([voir ici](https://doc.rust-lang.org/reference/visibility-and-privacy.html)): + +```rust,ignore +pub + | pub ( crate ) // public dans la crate + | pub ( self ) // public dans le module courant + | pub ( super ) // public dans le module parent + | pub ( in path ) // public dans le path explicite +``` \ No newline at end of file diff --git a/slides/src/ownership.md b/slides/src/ownership.md new file mode 100644 index 0000000000000000000000000000000000000000..7517cef3d983838ac63be3c9e06302e223b9b876 --- /dev/null +++ b/slides/src/ownership.md @@ -0,0 +1,343 @@ +# Ownership + +## Généralités + +- Les règles sur la `propriété` sont ce qui rend Rust unique. +- La `propriété` est un ensemble de règles vérifiées à la compilation. +- Garantit la bonne gestion de la mémoire sans `garbage collector`. +- Oblige à réfléchir à ce que fait notre programme quand on le compile (et que le compilateur râle). +- Spoiler alert: simple à expliquer, difficile à appliquer. + +# Pile et tas (Stack and heap) + +## La pile + +- Partie de la mémoire réservée pour **chaque** thread. +- Lorsqu'une fonction est appelée, un bloc est réservé pour stocker les variables locales. +- Lorsque la fonction retourne, la mémoire est libérée et peut être réutilisée. +- C'est une structure LIFO (Last in first out): le dernier ajout sera libéré en premier. +- Stocke typiquement les objets dont la taille est connue à la compilation (entiers, nombres à virgule flottante, caractères, booléens, ...). + +## Le tas + +- Partie de la mémoire réservée est **commune** à tous les threads. +- Utilisée pour l'allocation dynamique (la taille des objets peut varier en cours d'exécution). +- Peut modifier de la mémoire non-locale à une fonction. +- Pas de structure particulière pour l'allocation/désallocation. +- Plus compliqué de gérer l'allocation/déasllocation. +- Typiquement plus lent que la pile (il faut chercher de la place pour l'allocation et "sauter" en mémoire pour la retrouver). + +# La propriété (Ownership) + +## Les règles de la propriété + +1. Chaque valeur a une variable qui est son propriétaire (`owner`). +2. Une valeur ne peut avoir qu'un seul propriétaire à chaque instant. +3. Quand le programme sort de la portée du propriétaire, la valeur est détruite (`dropped`). + +```rust [2|3-6|] +fn main() { + let x = 5; // x est propriétaire de la mémoire contenant 5 + { + let y = 6; // y est propriétaire de la mémoire contenant 5 + println!("La valeur de (x,y) est: ({}, {}).", x, y); + } // y sort de la portée et est détruite avec la valeur 6 + println!("La valeur de x est: {}", x); +} // x sort de la portée et sa valeur est détruite +``` + +## Allocation de la mémoire (1/3) + +- Façons principales d'allouer/désallouer dynamiquement de la mémoire. + 1. Manuellement (C/C++, ...): on ordonne à l'OS d'allouer/désallouer de la mémoire sur le tas. + a. Oublier de désallouer la mémoire allouée (fuite mémoire/memory leak). + b. Désallouer de la mémoire trop tôt (dangling pointer et comportement indéfini). + c. Libérer la mémoire à double. + 2. Automatiquement: on a un "garbage collector" (java, scala, ...). + a. Consomme des ressources. + b. Est une "boîte magique": il fait ce qu'il veut. +- En Rust on contrôle où et quand on alloue/désalloue à la compilation: + - Difficulté: il faut suivre des règles **très** strictes. + +## Allocation de mémoire (2/3) + +- Les types vus jusque là sont stockés dans la pile: leur *taille est connue* à la compilation. +- Que se passe-t-il lorsque la taille est *inconnue à la compilation*? +```rust +fn main() { + let x = [1, 2, 3, 4]; // x de type [i32; 4], sur la pile + // on ne peut pas augmenter sa taille + println!("La valeur de x est: {:?}", x); + let mut y = Vec::new(); // un vecteur dont la taille est variable + for i in 0..5 { // On rajoute des éléments au vecteur avec push(elem) + y.push(i); + } + println!("La valeur de y est: {:?}", y); +} // x/y sortent de la portée, il sont détruits et la mémoire est libérée +``` + +## Allocation de mémoire (3/3) + + + +- Pile: 1 pointeur vers le tas, et 2 entiers (longueur et capacité). +- Tas: 1, 2, 3, 4. +- Variable (proprétaire) sort de la portée, mémoire **automatiquement libérée**. + +## Extension de la propriété + +Flexibiliser la propriété: + +1. Donner la propriété à un autre propriétaire: `move`. +2. Emprunter pour un temps les données: `borrow`. +3. Être co-propriétaires dans des structures avancées: `Rc` et `Arc`. + +# Move + +## Changement de propriétaire + +```rust [7-8|] +fn main() { + let mut y = Vec::new(); + for i in 0..5 { + y.push(i); + } + println!("La valeur de y est: {:?}", y); + let z = y; // le vecteur (1,2,3,4) est maintenant propriété de z + // y est une variable non initialisée + println!("La valeur de z est: {:?}", z); +} // z sort de la portée, il est détruit et la mémoire est libérée +``` + +## Changement de propriétaire: invalide + +```rust [7-8|9|] compile_fail +fn main() { + let mut y = Vec::new(); + for i in 0..5 { + y.push(i); + } + println!("La valeur de y est: {:?}", y); + let z = y; // le vecteur (1,2,3,4) est maintenant propriété de z + // y est une variable non initialisée + println!("La valeur de y est: {:?}", y); +} // Ce code ne compilera pas. +``` + +## Changement de propriétaire (3/3) + +- La variable `y` et copiée dans la variable `z`. +- En ne faisant rien on a **deux** propriétaires des données. +- Illégal: on invalide `y`. + + + +## Exception au `move`: `Copy` + +```rust [3-5] +fn main() { + let y = 1; + let mut z = y; // Généralement: move + // y est i32: on copie puis + // on assigne la valeur à z + println!("Les valeurs de y et z sont : ({}, {})", y, z); + z = 2; // comme la valeur est copiée modifier z ne modifie pas y + println!("Les valeurs de y et z sont : ({}, {})", y, z); +} +``` + +## Différence entre Copie et Move + +- *move*: copie uniquement la variable et le propriétaire **change**. +- *copie*: on duplique la variable **et** les données. + + +## Quand interviennent les `move`? + +- Si le type de la variable **n'est pas** `Copy`: + 1. Lors d'une assignation. + 2. Lors du passage en paramètre à une fonction. + 3. Lors du retour d'une fonction. + +## Lors du passage en paramètre à une fonction + +```rust [1-3,8|] compile_fail +fn take_own(_v: Vec<i32>) { + // on fait des choses +} +fn main() { + let mut y = Vec::new(); // un vecteur dont la taille est variable + // On rajoute des éléments au vecteur avec push(elem) + y.push(1); y.push(2); y.push(3); y.push(4); + take_own(y); + println!("La valeur de y est: {:?}", y); +} // A votre avis que se passe-t-il? +``` + +## Lors du retour d'une fonction + +```rust +fn give_own() -> Vec<i32> { + let mut y = Vec::new(); // un vecteur dont la taille est variable + y.push(1); y.push(2); y.push(3); y.push(4); + y // on retourne y +} +fn main() { + let y = give_own(); + println!("La valeur de y est: {:?}", y); +} // A votre avis que se passe-t-il? +``` + +## Un mélange des deux + +```rust +fn get_len(v: Vec<i32>) -> (Vec<i32>, usize) { + let length = v.len(); // on ajoute 2 au vecteur + (v, length) // on retourne v et sa longueur +} + +fn main() { + let mut y = Vec::new(); + y.push(1); y.push(2); y.push(3); y.push(4); + let (y, length) = get_len(y); + println!("La valeur de y est: {:?} et sa longueur {}", y, length); +} // A votre avis que se passe-t-il? +``` + +# L'emprunt (Borrowing) +## La référence + +- Le `move` est trop contraignant, la copie lente (et pas toujours ce qu'on veut). +- Il est pratique de pouvoir **emprunter** les objets. +- Le **borrowing** permet d'accéder aux données sans avoir la propriété de l'objet. +- Cela se fait à l'aide d'une **référence** sur l'objet qu'on souhaite emprunter. +- Si `y` est une variable, `&y`est la référence vers la variable (le pointeur vers cette variable). +- La référence permet **l'emprunt** de données **sans** en prendre la **propriété**. + +## La référence (schéma) + + + +## Exemple 1 + +```rust [1-3,9|] +fn get_len(v: &Vec<i32>) -> usize { + v.len() +} +// on sort de la portée de la fonction, +// la propriété des données dans v est rendue. +fn main() { + let mut y = Vec::new(); + y.push(1); y.push(2); y.push(3); y.push(4); + let length = get_len(&y); // la référence vers y est passée + println!("La valeur de y est: {:?} et sa longueur {}", y, length); +} +``` + +## Exemple 2 + +```rust [1-4,10|] compile_fail +fn get_len(v: &Vec<i32>) -> usize { + v.push(2); // on ajoute 2 à v + v.len() +} +// on sort de la portée de la fonction, +// la propriété des données dans v est rendue. +fn main() { + let mut y = Vec::new(); + y.push(1); y.push(2); y.push(3); y.push(4); + let length = get_len(&y); // la référence vers y est passée + println!("La valeur de y est: {:?} et sa longueur {}", y, length); +} +``` + +## Référence mutable + +```rust [1,6,8|] +fn get_len(v: &mut Vec<i32>) -> usize { // référence mutable + v.push(2); + v.len() +} +fn main() { + let mut y = Vec::new(); // variable mutable + y.push(1); y.push(2); y.push(3); y.push(4); + let length = get_len(&mut y); // référence mutable en argument + println!("La valeur de y est: {:?} et sa longueur {}", y, length); +} +``` + +## Règles pour les références + +- Sur une variable on peut avoir: + 1. Autant de **références immutables** qu'on veut. + 2. Une seule **référence mutable**. +- La référence doit toujours être **valide**. + +## Sans la règle sur la référence mutable + +```rust [2|3|4|5-6|] compile_fail +fn main() { + let mut y = Vec::new(); + let z = &y; + y.push(1); y.push(2); y.push(3); y.push(4); + println!("La valeur de y est: {:?} + et celle de z est {:?}", y, z); // Quel est le problème? +} +``` + +## Dangling pointer ("pointeur pendouillant") + +```rust compile_fail +fn dangling() -> &Vec<i32> { // la fonction retourne une référence vers un pointeur + let mut v = Vec::new(); + v.push(1); v.push(2); // on a créé un vec avec 1,2 dedans. + &v; // on retourne une réf vers v +} // v sort de la portée de la fonction et est détruit: + // la mémoire est libérée. +fn main() { + let dangling_reference = dangling(); +} +``` + +- Mémoire désallouée et le pointeur vers cette mémoire: **dangling pointer**. +- Tout un tas de langages autorise ce comportement indéfini. + +## Exemples (1/2) + +```rust +fn main() { + let mut y = Vec::new(); + y.push(1); y.push(2); y.push(3); y.push(4); + let y1 = &y; + let y2 = &y; + println!("La valeur de y1 et y2 sont: {:?}, {:?}.", y1, y2); +} +``` + +## Exemples (2/2) + +```rust +fn main() { + let mut y = Vec::new(); + y.push(1); y.push(2); y.push(3); y.push(4); + { + let mut y1 = &mut y; + y1.push(7); + } + println!("La valeur de y est: {:?}.", y); +} +``` + +## Déréférencement + +```rust [4,5|4,6|] +fn main() { + let mut y = Vec::new(); + y.push(1); y.push(2); y.push(3); y.push(4); + let z = &y; + println!("La valeur de z est: {:?}.", z); + println!("La valeur de z est: {:?}.", *z); +} +``` + + diff --git a/slides/src/smart_pointers.md b/slides/src/smart_pointers.md new file mode 100644 index 0000000000000000000000000000000000000000..d12ad321ce900f5201ac0e687ed5b9993479511c --- /dev/null +++ b/slides/src/smart_pointers.md @@ -0,0 +1,91 @@ +# Pointeurs intelligents + +## Généralités + +- Un **pointeur** est une variable qui contient une adresse mémoire. +- Cette adresse **pointe** vers des données. + + + +- Question: Quel type de pointeur avons-nous déjà rencontré? + - Réponse: La référence. + +## Smart pointers + +- Un **pointeur intelligent** est un type abstrait qui rajoute des fonctionnalités au poiteur standard. + - Management automatique de la mémoire. + - Vérification de limites. +- En particulier, ils permettent la désallocation de la mémoire de manière automatique: + - On peut avoir plusieurs pointeurs sur un espace mémoire. + - Quand le dernier pointeurs est détruit, l'espace mémoire est désalloué. + - Permet d'empêcher les fuites mémoires. +- Il existe différents types: + - Un pointeur unique est le propriétaire de ses données (quand il est détruit les données aussi). + - On compte le nombre de références sur des données, quand ce nombre tombe à zéro on détruit tout. + +## En Rust + +- Exemples: + - `Vec<T>`, `String`: ces types possèdent de la mémoire et la manipule eux-mêmes. +- Les pointeurs intelligent doivent implémenter deux traits: + - `Deref`: comment on déréférence le pointeur. + - `Drop`: comment on détruit le pointeur. +- Les trois cas les plus typiques (il y en a d'autres): + - `Box<T>` pointeur unique qui alloue des données sur la pile. + - `Rc<T>` "reference counted" type, qui permet de partager la propriété. + - `Ref<T>` et `RefMut<T>` qui permet d'imposer les règles de propriété à l'exécution plutôt qu'à la compilation. + +# Le type `Box<T>` + +## Généralités + +- Utile pour stocker des données sur le tas. +- Sur la pile: pointeur sur les données du tas. +- Cas typiques d'utilisation: + - La taille d'un type est inconnue à la compilation. + - On veut transférer la propriété de grandes quantités de données mais les données ne sont pas copiées (juste le pointeur). + +## Utilisation + +```rust [2|3-4|5-7|8-10|] +fn main() { + let num = Box::new(10); + println!("num = {}", num); // déréférenciation automatique + println!("num = {}", *num); // déréférenciation explicite + let x = 10; + // seule la déréférenciation explicite marche + println!("Is {} equal to {}?. Answer: {}", num, x, *num == x); + let y = &x; + // La seule différence est qu'ici nous avons une référence + println!("Is {} equal to {}?. Answer: {}", y, x, *y == x); +} +``` + +## Cas pratique: la liste chaînée + +```rust [1,4|2-3|1-4|] compile_fail +enum List { + Elem(i32, List), + Nil, +} +use List::{Elem, Nil}; +fn main() { + let list = Elem(1, Elem(2, Elem(3, Nil))); +} +``` + +## Cas pratique: la liste chaînée + +```rust [1,4|2-3|1-4|] +#[derive(Debug)] +enum List { + Elem(i32, Box<List>), + Nil, +} +use List::{Elem, Nil}; +fn main() +{ + let list = Elem(1, Box::new(Elem(2, Box::new(Elem(3, Box::new(Nil)))))); + println!("{:?}", list); +} +``` diff --git a/slides/src/tests.md b/slides/src/tests.md new file mode 100644 index 0000000000000000000000000000000000000000..4fc55a8fc436db4ea0cdf47b6759b752ad6ed89d --- /dev/null +++ b/slides/src/tests.md @@ -0,0 +1,112 @@ +# Tests + +## Comment écrire un test + +En général un test effectue les trois actions suivantes: + +1. Mettre en place les données ou un état donné. +2. Exécuter le code à tester. +3. Vérifier si le résultat est celui attendu. + +## Création d'une librairie + +- Il est très aisé de voir l'anatomie d'un test très simple: +```sh +cargo new projet_test --lib +``` + +## Création d'un test + +- Dans `projet_test/src/lib.rs` +```rust [1|2,9|10|] +#[cfg(test)] // cette partie sera exécuté que lors du test +mod tests { + #[test] // la fonction suivant cette annotation sera exécutée comme test + fn it_works() { + assert_eq!(2 + 2, 4); // Vérification que l'addition fonctionne pour 2+2 + assert_ne!(2 + 2, 6); // utilisation de assert_ne! + assert!(2 + 2 == 4); // utilisation de assert! 2+2 + } +} +``` + +## Création d'un test + +```console [1|] +$ cargo test + + Compiling projet_test v0.1.0 (projet_test) + Finished dev [unoptimized + debuginfo] target(s) in 0.45s + Running projet_test/target/debug/deps/projet_test-05539f5503f2a0fe + +running 1 test +test tests::it_works ... ok + +test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out + + Doc-tests projet_test + +running 0 tests + +test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out +``` + +## Tests de fonctions + +```rust [1-3|6|] +fn add_two(a: i32) -> i32 { + a + 2 +} +#[cfg(test)] +mod tests { + use super::*; // mise en portée de tout ce qui est dans le module de dessus + #[test] + fn test_add_two() { + assert_eq!(add_two(2), 4); // Vérification de la fonction add_two + } + #[test] + fn test_add_two_custom_msg() { + // Ce test va paniquer à dessein, pour voir le message personnalisé. + assert_eq!(add_two(2) == 5, "Attention la somme 2+2 ne donne pas 5 mais {}.", 4); + } +} +``` + +## Tests devant paniquer + +```rust + fn two_div_by(a: i32) -> i32 { + if a == 0 { + panic!("On ne peut pas diviser par zéro."); + } else { + return 2 / a; + } +} +#[cfg(test)] +mod tests { + use super::*; // mise en portée de tout ce qui est dans le module de dessus + #[test] + #[should_panic] // ce test doit paniquer, s'il panique pas il est raté + fn two_div_fail() { + two_div_by(0); + } +} +``` + +## Affichage + +- Les tests n'affichent rien si le test est réussi (la sortie standard est capturée). +- Si le test est raté, le message d'erreur et tout ce qui aurait dû être affiché à l'écran. +- Les tests sont effectués en parallèle pour des question d'efficacité: + - L'affichage à l'écran peut s'en retrouver perturbé (affichage dans un ordre erratique). + - Pour les exécuter séquentiellement: `cargo test --test-threads=1`. +- Pour afficher tout ce qui devrait être affiché à l'écran dans le bon ordre (même les tests réussis): + - `cargo test -- --nocapture --test-threads=1` + +## Fonctionalités supplémentaires ([voir le livre](https://doc.rust-lang.org/book/ch11-01-writing-tests.html)) + +- Tests d'intégration: + - On peut grouper les tests par fonctions. + - On peut grouper les tests par sous-modules. + - On peut tester les sous-modules indépendamment. + diff --git a/slides/src/traits.md b/slides/src/traits.md new file mode 100644 index 0000000000000000000000000000000000000000..97e1f36b6d3845259fe8e8e9d3c828bfaffabd85 --- /dev/null +++ b/slides/src/traits.md @@ -0,0 +1,150 @@ +# Traits + +## Généralités + +- Un `Trait` permet de dire au compilateur quelles fonctionnalités un type doit posséder. +- Permet de conceptualiser les fonctionnalités partagées entre types. +- On peut contraindre un type générique à avoir un certain trait (*trait bound*). + +```rust +fn max<T: PartialOrd>(a: T, b: T) -> T { + if a > b { a } else { b } // si T ne peut pas être ordonné, "<" et ">" n'existent pas +} +``` + +- Similaire aux *interfaces* de certains langages. + +## Définition d'un trait + +```rust [1,4|2|3|] +trait Animal { // définition d'un trait + fn cri(&self) -> String; + fn nom(&self) -> &String; +} // le nombre de méthode est arbitraire +``` + +## Implémentation d'un trait pour un type (1/2) + +- Tout type qui implémentera un trait devra implémenter **toutes** ses méthodes. +- Le compilateur saura que tout type implémentant un trait peut appeler ses méthodes. + +```rust +trait Animal { // définition d'un trait + fn cri(&self) -> String; + fn nom(&self) -> &String; +} // le nombre de méthode est arbitraire +struct Dog { + nom: String, +} +impl Animal for Dog { // le bloc où les méthodes du trait sont implémentées + fn cri(&self) -> String { + String::from("Ouaf!") + } + fn nom(&self) -> &String { + &self.nom + } +} +fn main() { + let chien = Dog{ nom: String::from("Jack")}; + println!("Le cri de {} est {}", chien.nom(), chien.cri()); +} +``` + +## Implémentation d'un trait pour un type (2/2) + +```rust +trait Animal { // définition d'un trait + fn cri(&self) -> String; + fn nom(&self) -> &String; +} // le nombre de méthode est arbitraire +struct Dog { + nom: String, +} +impl Animal for Dog { // le bloc où les méthodes du trait sont implémentées + fn cri(&self) -> String { + String::from("Ouaf") + } + fn nom(&self) -> &String { + &self.nom + } +} +struct Cat { + nom: String, +} +impl Animal for Cat { // le bloc où les méthodes du trait sont implémentées + fn cri(&self) -> String { + String::from("Miaou") + } + fn nom(&self) -> &String { + &self.nom + } +} +fn main() { + let chien = Dog{ nom: String::from("Jack")}; + println!("Le cri de {} est {}.", chien.nom(), chien.cri()); + let chat = Cat{ nom: String::from("Rémy")}; + println!("Le cri de {} est {}.", chat.nom(), chat.cri()); +} +``` + +## Implémentations par défaut + +- Il est pratique d'avoir des implémentations par défaut (les mêmes pour tous les types implémentant un trait). + +```rust +trait Animal { // définition d'un trait + fn cri(&self) -> String; + fn cri_puissant(&self) -> String { + self.cri().to_uppercase() + } +} // le nombre de méthode est arbitraire +struct Dog { } +impl Animal for Dog { + fn cri(&self) -> String { + String::from("Ouaf") + } +} +struct Cat { } +impl Animal for Cat { // le bloc où les méthodes du trait sont implémentées + fn cri(&self) -> String { + String::from("Miaou") + } +} + +fn main() { + let chien = Dog{}; + println!("Le cri du chien est {} et son cri puissant est {}.", + chien.cri(), chien.cri_puissant()); + + let chat = Cat{}; + println!("Le cri du chat est {} et son cri puissant est {}.", + chat.cri(), chat.cri_puissant()); +} +``` + +## Trait bound ("contrainte de trait") + +- Lors de la définition d'un générique, on peut dire au compilateur si le type implémente un trait. + +```rust +// Cette fonction ne peut pas foncitonner pour tous les types +// T implémente PartialEq (les opérateurs <, >) +fn max<T: PartialOrd>(a: T, b: T) -> T { + if a > b { a } else { b } // si on peut pas comparer a et b +} // cela ne peut pas compiler, d'où + // le PartialOrd +fn main() { + let a = 1; + let b = 7; + println!("De {} et {}, {} est le plus grand.", a, b, max(a,b)); + let a = 1.5; + let b = 7.5; + println!("De {} et {}, {} est le plus grand.", a, b, max(a,b)); +} +``` + +## Règle pour l'implémentation d'un trait + +- On peut implémenter un trait seulement si le trait ou le type est local à notre librairie (*crate*). +- Impossible de réimplémenter l'addition pour les `f64` (le trait `Add` et le type `f64`) sont dans la librairie standard, donc +pas dans une librairie locale. diff --git a/slides/src/types.md b/slides/src/types.md new file mode 100644 index 0000000000000000000000000000000000000000..3d66c117891d30837c0880aa460604a2a498cc0e --- /dev/null +++ b/slides/src/types.md @@ -0,0 +1,199 @@ +# Les types + +## Le système de type en Rust + +- Langage **statiquement et fortement typé**: + - types connus **à la compilation**, + - conversion entre types **explicite**. +- Les types sont **inférés** quand cela est possible. +- Il est parfois nécessaire d'annoter le type explicitement. + +```rust +fn main() { + let x:i32 = 5; // entier 32 bits dont le type est annoté + let y = 5; // entier 32 bits dont le type est inféré + println!("Ces deux lignes sont équivalentes x={} et y={}", x, y); // affichage +} +``` + +## Les types de base + +- Il existe plusieurs types de base: + - Les entiers. + - Les nombres à virgule flottante. + - Les booléens. + - Les caractères. + +# Les types numériques + +## Les entiers existants + +- Il existe 5 tailles d'entiers (8, 16, 32, 64, et 128 bits) qui viennent en *signé* ou *non-signé*: + - `i8`, `u8`, `i16`, `u16`, ... +- Également en taille dépendant de l'architecture + - `isize` entier signé 32 ou 64 bits. + - `usize` entier non-signé 32 ou 64 bits. + +## Les entiers (particularités) + +- Par défaut un entier est de type `i32`. +- Les types `isize` et `usize` sont utilisés typiquement pour indexer des collections. +- On peut spécifier le type d'un entier: + - `42u8` est un entier 8 bits non signé. + - `42isize` est un entier de 32 ou 64 bits signé. +- Pour améliorer la lisibilité on peut également ajout des "_": + - On peut écrire `1000000` comme `1_000_000` + +## Les entiers (conversions) + +- La conversion implicite **n'existe pas**. + +```rust [2|] compile_fail +fn main() { + let x:i64 = 5i32; // entier 32 bits dans une variable 64 bits +} +``` + +- Entre entiers on peut utiliser `as`. + +```rust [2|] +fn main() { + let x:i64 = 5i32 as i64; // entier 32 bits dans une variable 64 bits + println!("Conversion de 32 en 64 bits pour x = {}.", x); +} +``` + +## Les entiers (3/3) + +- Le dépassement de capacité est **interdit**. +```rust [4|] compile_fail +fn main() { + let x:i32 = 12345678; + let y:i32 = 12345678; + println!("L'entier x vaut {}.", x * y); +} +``` + + +## Les nombres à virgule flottante + +- Deux tailles de nombres à virgule flottante (32 et 64 bits): `f32`,`f64`. +- Par défaut un nombre à virgule flottante est un `f64` + +## Les nombres à virgule flottante (conversion) + +- On ne **peut pas** convertir implicitement d'un type à un autre. + +```rust [2|] compile_fail +fn main() { + let x:f64 = 3.14159265359f32; // flottant 32 bits en flottant 64 bits +} +``` + +- On peut convertir avec `as`. + +```rust +fn main() { + let x = 3.14159265359f64 as f32; // flottant 64 bits en flottant 32 bits + println!("Conversion de pi en 32 bits, x = {}.", x); // affichage + let y = 3.14159265359f64 as isize; // flottant 64 bits en entier + println!("Conversion de pi en entier 64 bits, y = {}.", y); // affichage +} +``` + +## Les opérations arithmétiques + +- Toutes les opérations arithmétiques standard: `+, -, *, /, %` + +```rust [2,4,6,8|] +fn main() { + let addition = 3 + 8; + println!("La valeur de l'addition est: {}", addition); + let soustraction = 3.5 - 8.1; + println!("La valeur de la soustraction est: {}", soustraction); + let multiplication = -3.33 * 3.33; + println!("La valeur de la multiplication est: {}", multiplication); + let division = 7 / 2; // division entière + println!("La valeur de la division est: {}", division); +} +``` + +## Assignations + +- Opérations arithmétiques et assignations: `+=, -=, *=, /=, %=`. + +```rust [2-3,5-6|] +fn main() { + let mut addition = 3; + addition += 5; + println!("La valeur de l'addition est: {}", addition); + let mut multiplication = 3.5; + multiplication *= - 8.1; + println!("La valeur de la multiplication est: {}", multiplication); +} +``` + +# Les types booléens + +## Les booléens + +- Une variable booléenne est de type `bool`. +- Elle peut prendre deux valeurs: `true`, `false` +- Peut se convertir en entier (l'inverse est faux). + +```rust [2,4,6,7|] +fn main() { + let x = true; // Booléen inféré vrai + println!("La variable x est {}.", x); // affichage + let x: bool = false; // Booléen faux + println!("La variable x est {}.", x); // affichage + let x = false as i32; // Booléen faux + let y = true as i32; // Booléen faux + println!("False est {}, et True est {}.", x, y); // affichage +} +``` + +## Les opérations booléennes + + +- Comparaisons bit à bit: `&` (et), `^` (ou) +- Comparaisons bit à bit et assignations: `&=, ^=`. +- Comparaisons logiques `==, !=, &&, ||, <, >, <=, >=` +```rust +fn main() { + let x = 3; + let y = 8; + println!("{} est-il égal à {}? {}", x, y, x == 8); + println!("{} est-il différent de {}? {}", x, y, x != 8); +} +``` + +# Le type caractère + +## Les caractères + +- Une variable de type **caractère** est notée `char`. +- Elle contient toute valeur **unicode scalaire**, soit environ 137000 caractères (pas seulement du ASCII!). +- Un caractère est toujours mis entre ' '. +- Composants du type `String`. + +```rust [2,4|] +fn main() { + let x = 'a'; // Le caractère a + println!("La variable x est {}.", x); // affichage + let chat = '😻'; + println!("La variable chat est {}.", chat); // affichage +} +``` + +# Les types composés + +- On peut construire des types plus complexes (composés) à partir de types de base que nous venons de voir: + - La type `Struct` + - Le type `Tuple` + - Le type `Enum` + - Le type `Array` + - Le type `Vec` + - Le type `String` + - ... + diff --git a/slides/src/types_avances.md b/slides/src/types_avances.md new file mode 100644 index 0000000000000000000000000000000000000000..76b1b4c529fa48cef0e1ae55142f120655a4c539 --- /dev/null +++ b/slides/src/types_avances.md @@ -0,0 +1,290 @@ +# Tableaux statiques + +## Type `array` + +```rust [2,4|] +fn main() { + let entiers = [1, 2, 3, 4, 5]; + println!("Les 5 premiers entiers naturels: {:?}.", entiers); + let zeros: [i32; 10] = [0; 10]; // déclaration explicite du type + println!("Dix zéros: {:?}.", zeros); +} +``` + +## Problème? + +```rust compile_fail +fn main() { + let entiers = [1, 2.0, 3, 4, 5]; +} +``` + +## Accès aux éléments + +```rust [2-3|4-5|] +fn main() { + let jours = ["Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", + "Samedi", "Dimanche"]; + let premier = jours[0]; // [index] + let dernier = jours[6]; // index in [0, size-1] + println!("Le premier jour de la semaine est + le {} et le dernier {}.", premier, dernier); +} +``` + +## Dépassement de capacité + +```rust compile_fail +fn main() { + let jours = ["Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", + "Samedi", "Dimanche"]; + let _oups = jours[7]; // dépassement de capacité +} +``` + +## Modification des éléments: erreur + +```rust compile_fail +fn main() { + let entiers = [1, 2, 3, 4, 5]; + entiers[0] = -4; // immutable => erreur +} +``` + +## Modification des éléments: ok + +```rust +fn main() { + let mut entiers = [1, 2, 3, 4, 5]; + entiers[0] = -4; // immutable => ok + println!("Les 5 entiers : {:?}.", entiers); +} +``` + +# `N`-uplets + +## `Tuples` + +- *Collection* ordonnée de `n` objets: `n`-tuplet. +```rust +fn main() { + let triple = (1.0, 'c', 18usize); // type inféré + println!("Un tuple {:?}", triple); + let tuple: (i32, char) = (666, 'a'); // type explicite + println!("Un autre tuple {:?}", tuple); +} +``` + +## Exemple + +```rust [1-3|4-6|7-12|] +fn area(w: usize, h: usize) -> usize { + w * h +} +fn area_t(r: (usize, usize)) -> usize { + r.0 * r.1 // sélecteur +} +fn main() { + let w = 10; + let h = 20; + println!("Area = {}.", area(w,h)); + println!("Area with tuple = {}.", area_t((w,h))); +} +``` + +## Destructuration + +```rust [3|5-7|] +fn main() { + let tuple = (1.0, 'c', 18usize); + let (fl, ch, us) = tuple; + println!("Le tuple destructuré: {}, {}, {}", fl, ch, us); + let fl_ind = tuple.0; + let ch_ind = tuple.1; + let us_ind = tuple.2; + println!("Le tuple re-destructuré: {}, {}, {}", fl_ind, ch_ind, us_ind); +} +``` + +# Structures + +## `struct`: initialisation + +```rust [1-4|6-8|] +struct Etudiant { + nom: String, + actif: bool, +} +fn main() { + let etu = Etudiant { + nom: String::from("Jean-Paul Dax"), + actif: true, + }; +} +``` + +## `struct`: sélecteur + +```rust [10|] +struct Etudiant { + nom: String, + actif: bool, +} +fn main() { + let etu = Etudiant { + nom: String::from("Jean-Paul Dax"), + actif: true, + }; + println!("Nom: {}", etu.nom); +} +``` + + +## `struct`: mutabilité + +```rust [6|10|] +struct Etudiant { + nom: String, + actif: bool, +} +fn main() { + let mut etu = Etudiant { + nom: String::from("Jean-Paul Dax"), + actif: true, + }; + etu.actif = false; +} +``` + +## `tuple struct` + +```rust [2|3|] +fn main() { + struct Point2d(i32, i32); + let origine = Point2d(0,0); + println!("L'origine est le point ({}, {}).", origine.0, origine.1); +} +``` + +# Types énumérés + +## `Enum`: déclaration / instantiation + +```rust [1-5|7-9|] +enum TypeEnum { + Id1, + Id2, + Id3, +} +fn main() { + let ins1 = TypeEnum::Id1; + let ins2 = TypeEnum::Id2; + let ins3 = TypeEnum::Id3; +} +``` + +- **Question**: Quel est le type de `ins1`, `ins2`, et `ins3`? + +## `Enum`: exemple + +```rust [7-8|5|] +enum TypeEnum { + Id1, + Id2, +} +fn foo(enum_type: TypeEnum) { } +fn main() { + foo(TypeEnum::Id1); // appel valide + foo(TypeEnum::Id2); // appel également valide +} +``` + +## `Enum`: types associés + +```rust [2-6|8-10|] +struct TypeStruct { } +enum TypeEnum { + Id1(char, char), // deux char + Id2{x: usize}, // struct anonyme + Id3(TypeStruct), // struct +} +fn main() { + let ins1 = TypeEnum::Id1('a','b'); + let ins2 = TypeEnum::Id2 {x: 12usize}; + let ins3 = TypeEnum::Id3(TypeStruct { }); +} +``` + +# Pattern matching + +## `match` + +```rust [9-13|] +enum TypeEnum { + Id1, + Id2, + Id3, +} +fn main() { + let data = TypeEnum::Id1; + let num = + match data { + TypeEnum::Id1 => 1, + TypeEnum::Id2 => 2, + TypeEnum::Id3 => 3, + }; + println!("num = {}", num); +} +``` + +## `match`: bras manquant + +```rust [8-10|] compile_fail +enum TypeEnum { + Id1, + Id2, +} +fn main() { + let data = TypeEnum::Id1; + let num = + match data { + TypeEnum::Id1 => 1, + }; +} +``` + +## `match`: défaut + +```rust [11|9-12|] +enum TypeEnum { + Id1, + Id2, + Id3, +} +fn main() { + let data = TypeEnum::Id3; + let num = + match data { + TypeEnum::Id1 => 1, + _ => 2, + }; + println!("num = {}", num); +} +``` + +## `match`: lier une valeur + +```rust [4|10|] no_run +enum AnimalMythique { + Chupacabra, + Dahu, + ChevalAile(String), +} +fn pays_dorigine(animal: AnimalMythique) { + match animal { + AnimalMythique::Chupacabra => println!("Mexique"), + AnimalMythique::Dahu => println!("Suisse"), + AnimalMythique::ChevalAile(pays) => println!("{}", pays), + }; +} +``` diff --git a/slides/src/variables.md b/slides/src/variables.md new file mode 100644 index 0000000000000000000000000000000000000000..fff742a40241fe4bda6129b2777b66d2e9dd8b68 --- /dev/null +++ b/slides/src/variables.md @@ -0,0 +1,149 @@ +# Les variables + +## Lien entre une valeur **typées** et un symbole + +```rust [2|3-4|5|] +fn main() { + let x = 5; // entier 32 bits (inféré) + let y; + y = "5 est liée avec la variable x"; // Chaîne de caractères (inféré) + let z: f64 = 1.0; // float 64bits (explicite) +} +``` + +## Inférence de type + +```rust +fn main() { + let x = 5; + let y = 10; + let z = x + y; // Quel type? +} +``` + +## Nommage: mots-clés interdits + +```rust compile_fail +fn main() { + let if = 7; + let while = 'a'; +} +``` + +## Interdiction: utilisation sans déclaration + +```rust compile_fail +fn main() { + println!("La valeur de x est: {}", x); +} +``` + +## Interdiction: utilisation sans initialisation + +```rust [2-3|] compile_fail +fn main() { + let x: i32; + println!("La valeur de x est: {}", x); +} +``` + +## Portée: ok + +```rust [2|3-5|6|] +fn main() { + let x = 5; // début de protée de x + { // ouverture de bloc + println!("La valeur de x est: {}", x); + } // fermeture +} // fin portée de x +``` + +## Portée: pas ok + +```rust [2-5|6|] compile_fail +fn main() { + { + let x = 5; + println!("La valeur de x est: {}", x); + } // fin de la portée de x + println!("La valeur de x est: {}", x); +} +``` +- À la fin du bloc la variable est détruite. + +## Portée: masquage + +- La re-déclaration d'une variable dans un bloc intérieur **masque** la variable extérieure. + +```rust [2|3-6|] +fn main() { + let x = 1000; + { + let x = 5; + println!("La valeur de x est: {}", x); + } + println!("La valeur de x est: {}", x); +} +``` + +## Mutabilité/**Immutabilité** + +```rust [2|3|] compile_fail +fn main() { + let x = 5; // variable immutable + x = 6; // interdit +} +``` + +## **Mutiabilité**/Immutabilité + +```rust [2-3|4-5|] +fn main() { + let mut x = 5; // variable mutable + x = 6; // autorisé +} +``` + +## Constantes + +```rust [1|] +const PI: f64 = 3.14159265359; +fn main() { + println!("La valeur de pi est: {}", PI); +} +``` + +## Quelles différences avec les variables + +- Plusieurs différences notables: + 1. On ne peut pas utiliser `mut` + 2. On doit explicitement déclarer le *type* d'une constante. + 3. La valeur d'une constante doit être déterminée à la compilation. + 4. Leur identifiant et en majuscules (convention). + +## Masquage (Shadowing) + +```rust +fn main() { + let x = 5; + let x = x + 1; + println!("La valeur de x est: {}", x); +} +``` +- La nouvelle déclaration **masque** la précédente. +- Pratique quand on veut initialiser une variable de façon compliquée sans variables qui traînent à la fin. + + +## Masquage: remarque + +- La nouvelle variable n'a pas forcément le même type que la variable d'origine. + +```rust +fn main() { + let x = "La variable d'origine"; + println!("La valeur de x est: {}", x); + let x = x.len(); + println!("La valeur de x est: {}", x); +} +``` + diff --git a/slides/src/vec.md b/slides/src/vec.md new file mode 100644 index 0000000000000000000000000000000000000000..04122444b8d8fd32e06168f7b2aa7617cde91314 --- /dev/null +++ b/slides/src/vec.md @@ -0,0 +1,181 @@ +# `Vec<T>` + +## Généralités + +- Liste dynamique de valeurs de **même type**: *vecteurs*. +- Garantie de contiguïté en mémoire. +- La taille de la liste peut changer dynamiquement. +- Le type des éléments de `Vec` est générique. +- La documentation du type `Vec` se [trouve ici](https://doc.rust-lang.org/std/vec/struct.Vec.html) + +# Fonctionnalités d'un `Vec` + +## Création + +```rust +fn main() { + let v: Vec<i32> = Vec::new(); // pas moyen de le connaître le type + println!("{:?} est de longueur {}", v, v.len()); // v.len() donne la longeur du vecteur + let v = vec![1, 2, 3, 4]; // type inféré, création à l'aide d'une macro + println!("{:?} est de longueur {}", v, v.len()); // v.len() donne la longeur du vecteur +} +``` + +## Désallocation + +```rust +fn main() { + { + let v = vec![1, 2, 3, 4]; + // on fait de trucs + } // v sort de la portée il est détruit +} +``` + +## Ajouter/ôter des éléments + +```rust +fn main() { + let mut v = Vec::new(); + v.push(1); // type des éléments de v inféré + v.push(2); + v.push(3); + assert_eq!(v, vec![1,2,3]); + println!("{:?}", v); + let last = v.pop(); // retourne une Some(i), ou None si vide + println!("{:?} et le dernier {:?}", v, last); +} +``` + +# Ownership et `Vec<T>` + +## Modification d'élément (problème) + +```rust [3-4|5-6|] +fn main() { // Prob: on veut modifier v[1] + let v = vec![1, 2, 3, 4]; + let mut elem = v[1]; // que se passe-t-il à votre avis? + println!("elem = {}", elem); + elem += 1; + println!("elem = {}, v = {:?}", elem, v); // elem/v[1] vaut? +} +``` + +## Modification d'élément (version 2) + +```rust [3] compile_fail +fn main() { + let v = vec![1, 2, 3, 4]; + let mut elem = &v[1]; // que se passe-t-il à votre avis? + *elem += 1; + println!("elem = {}, v = {:?}", elem, v); +} +``` + +## Modification d'élément (version 3) + +```rust [2,3|6|] compile_fail +fn main() { + let v = vec![1, 2, 3, 4]; + let mut elem = &mut v[1]; // que se passe-t-il à votre avis? + *elem += 1; + println!("elem = {}, v = {:?}", elem, v); +} +``` + +## Modification d'élément (version 4) + +```rust [3-6|7|] compile_fail +fn main() { + let mut v = vec![1, 2, 3, 4]; + let mut elem = &mut v[1]; // que se passe-t-il à votre avis? + *elem += 1; + println!("elem = {}, v = {:?}", elem, v); +} +``` + +## Modification d'élément (version 5) + +```rust [3-6|7|] +fn main() { + let mut v = vec![1, 2, 3, 4]; + let mut elem = &mut v[1]; // que se passe-t-il à votre avis? + *elem += 1; + print!("elem = {elem}"); + println!(", v = {:?}", v); +} +``` + +## Lecture d'éléments (2/N) + +```rust compile_fail +struct Int(i32); +fn main() { + let v = vec![Int(1), Int(2), Int(3), Int(4)]; + let _elem = v[1]; // que se passe-t-il à votre avis? + let _elem = &v[1]; // que se passe-t-il à votre avis? +} +``` + +## Lecture d'éléments (3/N) + +```rust +fn main() { + let v = vec![1, 2, 3, 4]; + let elem = &v[1]; // retourne une référence sur le premier élément + println!("elem = {}", elem); + let elem = v.get(1); // retourne une Option sur une référence sur le premier élément + println!("elem = {:?}", elem); + // let elem = &v[100]; // retourne une référence sur le 100e élément, hmmm.... panique + // println!("elem = {}", elem); + // let elem = v.get(100); // retourne une Option sur une référence sur le 100e élément + // println!("elem = {:?}", elem); +} +``` + +## Lecture d'éléments (4/N) + +```rust +fn main() { + let mut v = vec![1, 2, 3, 4]; + v.push(-1); + println!("v = {:?}", v); + let elem = &v[1]; // retourne une Option sur une référence sur le premier élément + println!("elem = {:?}", elem); + v.push(10); + // que vaut v ici? + println!("v = {:?}", v); +} +``` + +## Itérer sur un `Vec` (borrow) + +```rust +fn main() { + let v = vec![1, 2, 3, 4]; + for i in &v { + println!("i = {}", i); + } + let mut v = vec![1, 2, 3, 4]; + for i in &mut v { + *i += 20; + } + println!("v = {:?}", v); +} +``` + + +## Itérer sur un `Vec` (move) + +```rust compile_fail +#[derive(Debug)] +struct Int(i32); +fn main() { + let v = vec![Int(1), Int(2), Int(3), Int(4)]; + for i in v { + println!("i = {:?}", i); + } + println!("v = {:?}", v); +} +``` + diff --git a/slides/template.html b/slides/template.html new file mode 100644 index 0000000000000000000000000000000000000000..56a5f09048e5f34ae35283b1e16bb462c2cbdba8 --- /dev/null +++ b/slides/template.html @@ -0,0 +1,325 @@ +<!DOCTYPE html> +<html lang="en"> + +<head> + <meta charset="utf-8"> + <meta name="viewport" + content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, minimal-ui"> + <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/reveal.js/4.5.0/reset.css"> + <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/reveal.js/4.5.0/reveal.css"> + <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/reveal.js/4.5.0/theme/simple.css" id="theme"> + <!-- This is the highlight.js theme bundled in reveal.js --> + <!-- link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/reveal.js/4.5.0/plugin/highlight/monokai.css" --> + <!-- This is the theme we prefer, which we take from highlight.js directly --> + <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/styles/idea.min.css"> + <title>$TITLE</title> + <li><a href="index.html">Home</a></li> + <style> + .open-in-playground { + background: #a42; + font-size: 100%; + color: white; + font-weight: 700; + cursor: pointer; + float: left; + } + + /* .reveal h2 { + font-size: 80%; + } */ + + .reveal h2 code { + font-size: 80%; + } + + /* .reveal section { + font-size: 80%; + } */ + + .textarea p { + font-size: 10%; + } + + .reveal code { + /* inline code using backticks */ + background: #f0f0f0; + font-size: 80%; + } + + .reveal pre code { + /* multi-line code blocks using triple backticks */ + background: #fcfcfc; + } + + .reveal blockquote { + background: #eee; + } + + .reveal blockquote p::before { + content: open-quote; + } + + .reveal blockquote p::after { + content: close-quote; + } + </style> +</head> + +<body> + <div class="reveal"> + <div class="slides"> + <section data-markdown> + <textarea data-template> +$CONTENT + </textarea> + </section> + </div> <!-- class="slides" --> + </div> <!-- class="reveal" --> + + <script src="https://cdnjs.cloudflare.com/ajax/libs/reveal.js/4.5.0/reveal.js"></script> + <script src="https://cdnjs.cloudflare.com/ajax/libs/reveal.js/4.5.0/plugin/notes/notes.min.js"></script> + <script src="https://cdnjs.cloudflare.com/ajax/libs/reveal.js/4.5.0/plugin/markdown/markdown.min.js"></script> + <script src="https://cdnjs.cloudflare.com/ajax/libs/reveal.js/4.5.0/plugin/highlight/highlight.min.js"></script> + <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/highlight.min.js"></script> + <!-- Stick with mermaid 9.x as 10.x uses ESM --> + <script src="https://cdnjs.cloudflare.com/ajax/libs/mermaid/9.4.0/mermaid.js"></script> + <script src="https://code.jquery.com/jquery-3.6.4.min.js" crossorigin="anonymous"></script> + <script> + const buttons = '<p><button class="open-in-playground">RUN</button></p>\n'; + + function addButtons() { + $('pre code.rust:not(.fragment)').each(function (i, block) { + $(block).parent().append(buttons); + }); + $('.open-in-playground').click(function () { + const baseUrl = 'https://play.rust-lang.org/?version=stable&edition=2018&code='; + const code = $(this).parent().parent().children('code')[0].cloneNode(true); + var payload; + const content = code.firstChild; + if (content.tagName == "TABLE") { + // We have line numbers + var source = ""; + for (let row of content.rows) { + // Source is in the second column. The first column is line numbers. + source += row.cells[1].innerText + "\n"; + } + payload = encodeURIComponent(source); + } else { + // We do not have line numbers + payload = encodeURIComponent(code.innerText); + } + const url = baseUrl + payload; + window.open(url, '_blank'); + }); + } + + $(document).ready(function () { + // More info about config & dependencies: + // - https://github.com/hakimel/reveal.js#configuration + // - https://github.com/hakimel/reveal.js#dependencies + Reveal.initialize({ + // Display presentation control arrows + controls: true, + // Help the user learn the controls by providing hints, for example by + // bouncing the down arrow when they first encounter a vertical slide + controlsTutorial: true, + // Determines where controls appear, "edges" or "bottom-right" + controlsLayout: 'bottom-right', + // Visibility rule for backwards navigation arrows; "faded", "hidden" + // or "visible" + controlsBackArrows: 'faded', + // Display a presentation progress bar + progress: true, + // Display the page number of the current slide + slideNumber: true, + // Control which views the slide number displays on + showSlideNumber: 'all', + // Add the current slide number to the URL hash so that reloading the + // page/copying the URL will return you to the same slide + hash: true, + // Push each slide change to the browser history. Implies `hash: true` + history: false, + // Enable keyboard shortcuts for navigation + keyboard: true, + // Enable the slide overview mode + overview: true, + // Disables the default reveal.js slide layout so that you can use custom CSS layout + disableLayout: false, + // Vertical centering of slides + center: true, + // Enables touch navigation on devices with touch input + touch: true, + // Loop the presentation + loop: false, + // Change the presentation direction to be RTL + rtl: false, + // See https://github.com/hakimel/reveal.js/#navigation-mode + navigationMode: 'default', + // Randomizes the order of slides each time the presentation loads + shuffle: false, + // Turns fragments on and off globally + fragments: true, + // Flags whether to include the current fragment in the URL, + // so that reloading brings you to the same fragment position + fragmentInURL: false, + // Flags if the presentation is running in an embedded mode, + // i.e. contained within a limited portion of the screen + embedded: false, + // Flags if we should show a help overlay when the questionmark + // key is pressed + help: true, + // Flags if speaker notes should be visible to all viewers + showNotes: false, + // Global override for autolaying embedded media (video/audio/iframe) + // - null: Media will only autoplay if data-autoplay is present + // - true: All media will autoplay, regardless of individual setting + // - false: No media will autoplay, regardless of individual setting + autoPlayMedia: null, + // Global override for preloading lazy-loaded iframes + // - null: Iframes with data-src AND data-preload will be loaded when within + // the viewDistance, iframes with only data-src will be loaded when visible + // - true: All iframes with data-src will be loaded when within the viewDistance + // - false: All iframes with data-src will be loaded only when visible + preloadIframes: null, + // Number of milliseconds between automatically proceeding to the + // next slide, disabled when set to 0, this value can be overwritten + // by using a data-autoslide attribute on your slides + autoSlide: 0, + // Stop auto-sliding after user input + autoSlideStoppable: true, + // Use this method for navigation when auto-sliding + autoSlideMethod: Reveal.navigateNext, + // Specify the average time in seconds that you think you will spend + // presenting each slide. This is used to show a pacing timer in the + // speaker view + defaultTiming: 60, + // Specify the total time in seconds that is available to + // present. If this is set to a nonzero value, the pacing + // timer will work out the time available for each slide, + // instead of using the defaultTiming value + // Set to 60 minutes, because this training is 3x 1 hour blocks + totalTime: 3600, + // Specify the minimum amount of time you want to allot to + // each slide, if using the totalTime calculation method. If + // the automated time allocation causes slide pacing to fall + // below this threshold, then you will see an alert in the + // speaker notes window + minimumTimePerSlide: 0, + // Enable slide navigation via mouse wheel + mouseWheel: false, + // Hide cursor if inactive + hideInactiveCursor: true, + // Time before the cursor is hidden (in ms) + hideCursorTime: 5000, + // Hides the address bar on mobile devices + hideAddressBar: true, + // Opens links in an iframe preview overlay + // Add `data-preview-link` and `data-preview-link="false"` to customise each link + // individually + previewLinks: false, + // Transition style (e.g., none, fade, slide, convex, concave, zoom) + transition: 'none', + // Transition speed (e.g., default, fast, slow) + transitionSpeed: 'default', + // Transition style for full page slide backgrounds (e.g., none, fade, slide, convex, concave, zoom) + backgroundTransition: 'fade', + // Number of slides away from the current that are visible + viewDistance: 3, + // Number of slides away from the current that are visible on mobile + // devices. It is advisable to set this to a lower number than + // viewDistance in order to save resources. + mobileViewDistance: 3, + // Parallax background image (e.g., "'https://s3.amazonaws.com/hakim-static/reveal-js/reveal-parallax-1.jpg'") + parallaxBackgroundImage: '', + // Parallax background size in CSS syntax (e.g., "2100px 900px") + parallaxBackgroundSize: '', + // Number of pixels to move the parallax background per slide + // - Calculated automatically unless specified + // - Set to 0 to disable movement along an axis + parallaxBackgroundHorizontal: null, + parallaxBackgroundVertical: null, + // The display mode that will be used to show slides + display: 'block', + + // The "normal" size of the presentation, aspect ratio will be preserved + // when the presentation is scaled to fit different resolutions. Can be + // specified using percentage units. + width: 1280, + height: 720, + + // Factor of the display size that should remain empty around the content + margin: 0.1, + + // Bounds for smallest/largest possible scale to apply to content + minScale: 0.2, + maxScale: 1.5, + + // PDF Export Options + // Put each fragment on a separate page + pdfSeparateFragments: true, + // For slides that do not fit on a page, max number of pages + pdfMaxPagesPerSlide: 1, + + highlight: { + highlightOnLoad: false + }, + + plugins: [RevealMarkdown, RevealHighlight, RevealNotes] + }).then(() => { + addButtons(); + + const highlight = Reveal.getPlugin('highlight'); + $('pre code.rust').each(function (i, el) { + highlight.highlightBlock(el); + }); + $('pre code.sh').each(function (i, el) { + highlight.highlightBlock(el); + }); + $('pre code.console').each(function (i, el) { + highlight.highlightBlock(el); + }); + $('pre code.wat').each(function (i, el) { + highlight.highlightBlock(el); + }); + $('pre code.c').each(function (i, el) { + highlight.highlightBlock(el); + }); + $('pre code.toml').each(function (i, el) { + highlight.highlightBlock(el); + }); + $('pre code.mermaid').each(function (i, el) { + // Center the mermaid diagrams. + el.style.cssText += 'text-align: center'; + }); + + mermaid.initialize({ + startOnLoad: false, + themeCSS: '.label { font-size: 28px; }' + }); + + let doMermaidStuff = function doMermaidStuff(event) { + + let mermaidDivs = event.currentSlide.querySelectorAll('.mermaid:not(.done)'); + let indices = Reveal.getIndices(); + let pageno = `${indices.h}-${indices.v}` + + mermaidDivs.forEach(function (mermaidDiv, i) { + + let insertSvg = function (svgCode, bindFunctions) { + mermaidDiv.innerHTML = svgCode; + mermaidDiv.classList.add('done'); + }; + let graphDefinition = mermaidDiv.textContent; + mermaid.mermaidAPI.render(`mermaid${pageno}-${i}`, graphDefinition, insertSvg); + }); + Reveal.layout(); + }; + + Reveal.on('ready', event => doMermaidStuff(event)); + Reveal.on('slidechanged', event => doMermaidStuff(event)); + }); + }); + </script> +</body> + +</html> \ No newline at end of file