From d540eef7a76df06eb982fde43f25b362e4ecbc56 Mon Sep 17 00:00:00 2001 From: Celeste Robert <robert.m.celeste@gmail.com> Date: Thu, 16 Feb 2023 10:35:10 +0000 Subject: [PATCH] feat: changed footer contents and styles --- docusaurus.config.js | 43 +++++----------- package-lock.json | 16 +++++- package.json | 3 +- src/css/custom.css | 9 ++-- src/css/footer.css | 48 ++++++++++++++++++ src/pages/contact.md | 0 src/pages/index.js | 2 - src/pages/index.module.css | 1 + src/pages/mentions-legales.md | 81 ++++++++++++++++++++++++++++++ src/pages/nos-inspirations.md | 36 +++++++++++++ src/pages/nos-services.md | 79 +++++++++++++++++++++++++++++ src/pages/radio-devops.md | 42 ++++++++++++++++ src/theme/Footer/index.js | 78 ++++++++++++++++++++++++++++ static/img/gitlab-logo.png | Bin 0 -> 6898 bytes static/img/logo_froggit_blanc.png | Bin 0 -> 13688 bytes 15 files changed, 399 insertions(+), 39 deletions(-) create mode 100644 src/css/footer.css create mode 100644 src/pages/contact.md create mode 100644 src/pages/mentions-legales.md create mode 100644 src/pages/nos-inspirations.md create mode 100644 src/pages/nos-services.md create mode 100644 src/pages/radio-devops.md create mode 100644 src/theme/Footer/index.js create mode 100644 static/img/gitlab-logo.png create mode 100644 static/img/logo_froggit_blanc.png diff --git a/docusaurus.config.js b/docusaurus.config.js index 579ffd3..7f69416 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -67,7 +67,7 @@ const config = { items: [ { label: '📻 Le Podcast', - href: 'https://lydra.fr/radio-devops/', + to: '/radio-devops', }, { label: 'Les Compagnons', @@ -87,19 +87,19 @@ const config = { items: [ { label: 'L\'équipe', - href: '#', + to: '/#', }, { label: 'Nos inspirations', - href: 'https://lydra.fr/nos-inspirations/', + to: '/nos-inspirations', }, { label: 'Nos Services', - href: 'https://lydra.fr/nos-services/', + to: '/nos-services', }, { label: 'Contact', - href: '#', + to: '/#', }, ], }, @@ -111,40 +111,21 @@ const config = { ], }, footer: { - style: 'dark', links: [ - { - title: 'Community', - items: [ - { - label: 'Stack Overflow', - href: 'https://stackoverflow.com/questions/tagged/docusaurus', - }, - { - label: 'Discord', - href: 'https://discordapp.com/invite/docusaurus', - }, - { - label: 'Twitter', - href: 'https://twitter.com/docusaurus', - }, - ], - }, - { - title: 'More', - items: [ { label: 'Blog', to: '/blog', }, { - label: 'GitHub', - href: 'https://github.com/facebook/docusaurus', + label: 'Mentions légales', + href: '/mentions-legales', + }, + { + label: 'Sources du site sur Froggit ðŸ¸', + href: 'https://lab.frogg.it/lydra/www/lydra.fr', }, ], - }, - ], - copyright: `Copyright © ${new Date().getFullYear()} Lydra. Tous droits réservés. `, + copyright: `Copyright © 2018-${new Date().getFullYear()} Lydra. Tous droits réservés. ` + '<br/>' + `Ce site est fièrement fabriqué avec 🤠avec des Logiciels Libres et hébergé en 🇫🇷 sur les <a href="https://www.froggit.fr/">Froggit Pages</a>` +"<br/>"+ `Construit avec <a href="https://docusaurus.io/fr">Docusaurus</a>`, }, prism: { theme: lightCodeTheme, diff --git a/package-lock.json b/package-lock.json index 3a65c92..65ced77 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,8 @@ "clsx": "^1.2.1", "prism-react-renderer": "^1.3.5", "react": "^17.0.2", - "react-dom": "^17.0.2" + "react-dom": "^17.0.2", + "react-icons": "^4.7.1" }, "devDependencies": { "@babel/eslint-parser": "^7.19.1", @@ -10708,6 +10709,14 @@ "react-dom": "^16.6.0 || ^17.0.0 || ^18.0.0" } }, + "node_modules/react-icons": { + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-4.7.1.tgz", + "integrity": "sha512-yHd3oKGMgm7zxo3EA7H2n7vxSoiGmHk5t6Ou4bXsfcgWyhfDKMpyKfhHR6Bjnn63c+YXBLBPUql9H4wPJM6sXw==", + "peerDependencies": { + "react": "*" + } + }, "node_modules/react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", @@ -21512,6 +21521,11 @@ "shallowequal": "^1.1.0" } }, + "react-icons": { + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-4.7.1.tgz", + "integrity": "sha512-yHd3oKGMgm7zxo3EA7H2n7vxSoiGmHk5t6Ou4bXsfcgWyhfDKMpyKfhHR6Bjnn63c+YXBLBPUql9H4wPJM6sXw==" + }, "react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", diff --git a/package.json b/package.json index c165c5f..021e014 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,8 @@ "clsx": "^1.2.1", "prism-react-renderer": "^1.3.5", "react": "^17.0.2", - "react-dom": "^17.0.2" + "react-dom": "^17.0.2", + "react-icons": "^4.7.1" }, "devDependencies": { "@babel/eslint-parser": "^7.19.1", diff --git a/src/css/custom.css b/src/css/custom.css index 4140473..3c4e36a 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -4,8 +4,8 @@ * work well for content-centric websites. */ - @import url(./fonts.css); - +@import url(./fonts.css); +@import url(./footer.css); /* You can override the default Infima variables here. */ :root { --ifm-navbar-height: 90px; @@ -22,7 +22,8 @@ --ifm-color-info: #00a3b4; --ifm-color-highlight: #c6168d; --ifm-color-highlight-dark: #a81279; - + --ifm-footer-background-color: var(--ifm-color-primary-darker) !important; + --ifm-footer-color: #ffffff; /* FONTS */ --ifm-font-family-base: 'asap_regular'; --ifm-font-family-bold: 'asap_semi'; @@ -83,4 +84,4 @@ i, em { position: fixed; width: 100%; box-shadow: none; -} +} diff --git a/src/css/footer.css b/src/css/footer.css new file mode 100644 index 0000000..7fc918b --- /dev/null +++ b/src/css/footer.css @@ -0,0 +1,48 @@ +.footer { + background-color: var(--ifm-color-primary-darker); +} + +.footer-container { + display: flex; + justify-content: center; +} + +footer, .footer a, .footer a:hover, .footer a:focus { + color: white; +} + +.twitter-icon, .linkedin-icon, .gitlab-icon, .facebook-icon, .froggit-icon { + padding: 12px; + padding-bottom: 3px; + transition: 0.2s; + background-color: transparent; + color: white; +} + +.twitter-icon:hover { + background-color: #00acee; +} + +.linkedin-icon:hover { + background-color: #0e76a8; +} + +.gitlab-icon:hover { + background-color: #554488; +} + +.froggit-icon:hover { + background-color: #577018; + +} + +.facebook-icon:hover { + background-color: #3b5998; +} + +.footer-icons { + width: 2rem; + height: auto; +} + + \ No newline at end of file diff --git a/src/pages/contact.md b/src/pages/contact.md new file mode 100644 index 0000000..e69de29 diff --git a/src/pages/index.js b/src/pages/index.js index 5b6dc90..b51c592 100644 --- a/src/pages/index.js +++ b/src/pages/index.js @@ -25,9 +25,7 @@ function HomepageHeader() { <p> Nous pensons que l’amélioration continue et la collaboration entre les équipes d’une même entreprise sont essentielles pour atteindre facilement les objectifs mais surtout en les atteignant sereinement. </p> </div> </div> - </div> - </header> ); } diff --git a/src/pages/index.module.css b/src/pages/index.module.css index 3828093..41b2abc 100644 --- a/src/pages/index.module.css +++ b/src/pages/index.module.css @@ -13,6 +13,7 @@ padding-top: 120px !important; background-image: url(../../static/img/artisanBackground.jpg); background-position: center; + background-attachment: fixed; background-size: cover; background-color: black; -webkit-clip-path: ellipse(100% 100% at 30% 0); diff --git a/src/pages/mentions-legales.md b/src/pages/mentions-legales.md new file mode 100644 index 0000000..d45ca36 --- /dev/null +++ b/src/pages/mentions-legales.md @@ -0,0 +1,81 @@ +--- +title: "Mentions Légales" +keywords: Lydra, legal +--- + +# Mentions légales + +## Identité + +Lydra est une activité hébergée par Oxalis SCOP SA. + +SOCIETE COOPERATIVE ET PARTICIPATIVE EN SOCIETE ANONYME – SCOP-SA +SCOP créée en 1997, SCOP SA depuis 2007 +Capital social de 18500€ au 2 mars 2021 + +Société inscrite au Registre du Commerce et des Sociétés de Chambéry sous le n° SIREN 410 829 477 +N° de TVA intracommunautaire : FR41 410 829 477 + +Le siège social est situé à : + +> Oxalis SCOP SA +> 603 Boulevard du Président Wilson +> 73100 Aix-les-Bains +> France + +📧 info@oxalis-scop.org +🌠www.oxalis.coop + +Responsable de publication : Chaudier Christophe – contact@lydra.fr + +## Hébergement du site +Ce site est un site statique hébergé sur les Froggit Pages. + +Le service Froggit Pages est hébergé chez Scaleway 🇫🇷 : + +> SCALEWAY SAS +> BP 438 +> 75366 PARIS CEDEX 08 +> FRANCE + +🌠www.scaleway.com +📞 +33 (0)1 84 13 00 00 + +## Liens hypertextes et cookies + +Le site contient un certain nombre de liens hypertextes vers d’autres sites. Cependant, nous n’avons pas la possibilité de vérifier le contenu des sites ainsi visités, et nous n’assumerons en conséquence aucune responsabilité liée aux contenus qu’ils proposent. + +La navigation sur le site est susceptible de provoquer l’installation de cookie(s) sur l’ordinateur de l’utilisateur. Un cookie est un fichier de petite taille, qui ne permet pas l’identification de l’utilisateur, mais qui enregistre des informations relatives à la navigation d’un ordinateur sur un site. Les données ainsi obtenues visent à faciliter la navigation ultérieure sur le site, et ont également vocation à permettre diverses mesures de fréquentation. + +Le refus de dépôt d’un cookie peut entraîner l’impossibilité d’accéder à certains services. L’utilisateur peut toujours refuser l'utilisation des cookies grâce à la bannière dédiée. + +## Crédits + +### Conception du site + +[Mohamed-Amine Bettioui](https://www.linkedin.com/in/mohamed-amine-bettioui), [Christophe Chaudier](https://www.linkedin.com/in/cchaudier/), Thomas Michel et [Céleste Robert](https://www.linkedin.com/in/celeste-robert-casals/) avec [Docusaurus](https://docusaurus.io/). + +Le code source du site est disponible sur [ce dépôt FroggitðŸ¸](https://lab.frogg.it/lydra/www/lydra.fr). + +### Logo + +[hominidees](https://www.hominidees.fr) + +### Polices + +- **Titres :** [Warsaw Gothic](https://www.fontspace.com/warsaw-gothic-font-f22431) de KineticPlasma Fonts sous licence [SIL Open Font License v1.10](https://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL). +- **Texte :** [ASAP CONDENSED](https://fonts.google.com/specimen/Asap) de Omnibus-Type sous licence [SIL Open Font License v1.10](https://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL). +- **Code :** [JetBrains Mono](https://www.jetbrains.com/fr-fr/lp/mono/) de JetBrains sous licence [SIL Open Font License v1.1](https://github.com/JetBrains/JetBrainsMono/blob/master/OFL.txt). + + + +### Icônes et images + +- **Collaborate :** conçues par [small.smiles](https://www.flaticon.com/authors/smallsmiles) sur [Flaticon](https://www.flaticon.com/free-icon/collaborate_7829192). +- **Barista :** conçues par [Josh Boot](https://unsplash.com/fr/@joshboot) sur [Unsplash](https://unsplash.com/fr/photos/-L5W8-yFERs). + + +:::note Sources +[Lydra dépôt git Legal version 1.0.0](https://gitlab.com/lydra/legal/-/blob/1.0.0/mentions_legales.md) + +[](https://creativecommons.org/licenses/by-sa/4.0) diff --git a/src/pages/nos-inspirations.md b/src/pages/nos-inspirations.md new file mode 100644 index 0000000..4e1f73a --- /dev/null +++ b/src/pages/nos-inspirations.md @@ -0,0 +1,36 @@ +--- +title: Nos Inspirations +--- +# Nos inspirations + + +## Le mouvement DevOps + +Le Mouvement **DevOps** repose sur les 5 piliers fondamentaux **CALMS**, à savoir: + +1. La **Culture** (*Culture*) +2. Le **Lean** (*Lean*) +3. L’**Automatisation** (*Automation*) +4. Les **Mesures** (*Measures*) +4. Le **Partage** (*Share*) + +Nous embrassons pleinement ce mouvement et ses concepts. Nous avons constaté qu’il manquait de points de ralliement francophone pour discuter en ligne et partager nos pratiques. C’est pour cela que nous avons décidé de créer les [Compagnons du DevOps](https://www.compagnons-devops.fr/). + +## Le mouvement des Artisans logiciel + +Remettre de l’humain dans l’informatique (dans le sens où l’on ne vient pas juste automatiser des tâches informatiques de gré ou de force face à des équipes déjà en place, on leur transmet des méthodes de travail transversales qui cassent le clivage dont on parlait plus haut). Voir le [manifeste de l’**artisanat logiciel**](http://manifesto.softwarecraftsmanship.org/#/fr-fr). + +## Le choix du libre + +Nous utilisons et diffusons la culture des **Logiciels Libres** et de l’**Open-Source**. Nos membres ont des convictions fortes. Pour nous, le libre, n’est pas qu’une question de coût, c’est surtout une question politique et démocratique face au code et à l’utilisation des données. Pour nous l’utilisateur et l’entreprise doivent être souveraines et non pas soumises aux logiciels privateurs de libertés. + +Nous travaillons avec des outils performants et qui nous font vibrer comme : +- [Docker](https://www.docker.com/) +- [Ansible](https://www.ansible.com/) +- [Terraform](https://www.terraform.io/) +- [Gitlab](https://about.gitlab.com/) +- [Kubernetes](https://kubernetes.io/) ou [OpenShift](https://www.okd.io/) + +Nous privilégions aussi les fournisseurs de clouds basés sur une solution libre comme [OpenStack](https://www.openstack.org/) ou les fournisseurs souverains et français comme [Scaleway](https://www.scaleway.com/fr/). + +Ce choix nous le portons auprès de nos clients pour assurer la robustesse de leur infrastructure. C’est pour cela que lorsque que nous accompagnons les entreprises dans une démarche **DevOps** nous les sensibilisons au monde du **Logiciel Libre** et de l’**Open-Source**. Nous les outillons très souvent avec des logiciels *open-sources*. En faisant le choix de tel logiciels libres nos clients se garantissent un SI de qualité, interopérable et pouvant être modifié par leurs soins. Ils ne sont pas enchaînés à un hébergeur cloud pour toujours. diff --git a/src/pages/nos-services.md b/src/pages/nos-services.md new file mode 100644 index 0000000..a3cde96 --- /dev/null +++ b/src/pages/nos-services.md @@ -0,0 +1,79 @@ +--- +title: Nos services +--- + +# Nos services + +Lydra est un collectif de consultants indépendants avec des expertises fortes. + +> Nous aidons les entreprises du numérique à déployer leurs applications web rapidement et sans coupure de service. +Nous sommes spécialisés dans le déploiement continu, la transition DevOps, les Logiciels Libres et la souveraineté numérique. +> Nous pensons que l’amélioration continue et la collaboration entre les équipes d’une même entreprise sont essentielles pour atteindre facilement les objectifs, en toute sérénité. +— Notre philosophie + +## Audit + +Nous pouvons auditer: + +- vos applications +- votre infrastructure +- vos méthodes de travail + +Avec pour objectif de les améliorer et de rendre votre infrastructure plus robuste et vos applications plus facile à déployer. + +Notre méthode est basée sur un questionnaire complet à remplir, une étude des documentations, du code et de l’architecture ainsi que de longues entrevues avec les différents acteurs de la chaîne de *dev*, *build* et *run*. + +Le livrable est un rapport d’audit qui contient : + +- Un état des lieux. +- Un plan d’action en vue d’atteindre les objectifs que nous aurons fixés ensemble. +- Une proposition d’outils pour soutenir ce plan d’action. +- Une proposition de mesure de l’avancement et du résultat. +- Les grandes lignes de sécurité et d’exploitation pour l’application basées sur les bonnes pratiques du marché. + +Le livrable est ensuite présenté oralement pendant 1h à 2h. Les questions permettront d’affiner la version définitive du rendu pour lever les éventuelles incompréhensions ou bonifier l’audit. + +## Accompagnement et conseil + +Nous vous accompagnons à faire votre transition **DevOps** en insufflant le mouvement par une équipe pilote en fonction de vos besoins. + +## Accompagnement suivi + +Notre méthode mêle le conseil, le mentorat avec la pratique du coaching. +Nous proposons plusieurs formules d’accompagnement qui vont d’une séance par mois à une par semaine. Cet accompagnement peut être technique ou méthodologique. Nous pouvons accompagner une à six personnes. +Par défaut, nous fournissons un accompagnement à distance : + +* Chaque session est enregistrée en vidéo et mise à disposition dans un espace privé. +Durant cette session, nous pouvons utiliser tout type de méthode comme : + - *Pair-programming*; + - Revue de code; + - Questions/réponses. +* Au début de chaque session, nous évaluerons les actions qui ont été menées depuis la session précédente. +* À la fin de la session, nous définissons ensemble un plan d’action pour la semaine à venir. + + +## Atelier + +**Lydra** propose également des ateliers en présentiel sur divers sujets et avec divers intervenants (facilitateur graphique, coach en team building, etc.) en fonction des besoins soulevés par l’audit ou des blocages exprimés par l’équipe accompagnée. +Chaque atelier sera conçu sur mesure. + +## Formations + +Nous proposons des formations présentielles ou distancielles. Nous sommes un organisme de formation agréé Datadoc. + +:::info Formation + [🎓 DÉMARRE LA FORMATION | DEVOPS MINDSET | 🎓 ](https://www.compagnons-devops.fr/devops-mindset) +::: + +Notre formation phare est une formation présentielle qui s’appelle : **DevOps – Pourquoi ? Comment ?** +Elle propose une **initiation** au mouvement DevOps avec pour objectifs : + +- Comprendre le mouvement DevOps et les bénéfices de le mettre en Å“uvre dans une entreprise. +- Comprendre l’intérêt de rejoindre le mouvement pour une DSI traditionnelle. +- Découvrir les outils essentiels d’une démarche DevOps et les pratiquer en binômes. + +Format : 3 jours + +## POC et prestation + +Nous pouvons, entre autres, vous aider à mettre en place une usine logicielle ou des processus de déploiement automatique et continu. diff --git a/src/pages/radio-devops.md b/src/pages/radio-devops.md new file mode 100644 index 0000000..9fbc531 --- /dev/null +++ b/src/pages/radio-devops.md @@ -0,0 +1,42 @@ +--- +title: Radio DevOps +--- + +# Radio DevOps + +**Vous avez l’envie d’en connaitre plus sur le mouvement DevOps ? +Les problématiques liées au déploiement vous titillent… +Alors, vous êtes au bon endroit !** + + +**Radio DevOps** est la Baladodiffusion des [Compagnons du DevOps](https://www.compagnons-devops.fr/). +Le podcast en français dédié à notre mouvement. + +Nos émissions : +* **🗞 Actus Devops :** est une émission animée par des membres de la communauté des Compagnons du DevOps. Dans chaque épisode nous étudierons l’actualité Cloud et DevOps. +* **📻 Radio DevOps :** est l'émission phare animée par des membres de la communauté des Compagnons du DevOps. Dans chaque épisode nous vulgarisons ou débattrons sur un sujet de fond. +* **ðŸ›‹ï¸ En aparté :** est une émission où je m’entretiendrai avec un invité sur le mouvement DevOps en entreprise. +* **ðŸŽ™ï¸ En Solo :** est une émission ou je serai seul pour vous parler de DevOps ou de Cloud. + +â“ Si tu a des questions que tu veux que j’aborde, pose les moi ici : http://question.compagnons-devops.fr + +<iframe src="https://player.acast.com/5df7c112b9e5bf6d176cbfcb?theme=default&cover=1&latest=1" width="100%" height="512px" frameborder="0" data-mce-fragment="1"></iframe> + +🌠Les Compagnons du DevOps est une initiative de [Lydra](https://lydra.fr/). + +Chez Lydra, nous nous sentons seuls entre deux Meetups ou deux conférences. Nous n’avons pas trouvé de lieu où échanger et avoir des débats en français sur le sujet qui nous passionne. + +Nous avons donc décidé de créer et d’animer une communauté qui partage nos valeurs : + +* La passion de l’infrastructure as code. +* La conviction que les logiciels libres et open sources sont émancipateurs. +* L’envie de partager des méthodes, bonnes pratiques ou retours d’expériences. +* L’amélioration continue fait de nous des experts en devenir. + +<Link + className="button button--secondary button--lg" + href="https://www.compagnons-devops.fr/"> + Rejoignez la communauté des Compagnons du DevOps ! +</Link> +<br/> +<br/> diff --git a/src/theme/Footer/index.js b/src/theme/Footer/index.js new file mode 100644 index 0000000..ea0aea8 --- /dev/null +++ b/src/theme/Footer/index.js @@ -0,0 +1,78 @@ +/** + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +import React from "react"; +import {useThemeConfig} from "@docusaurus/theme-common"; +import FooterLinks from "@theme/Footer/Links"; +import FooterLogo from "@theme/Footer/Logo"; +import FooterCopyright from "@theme/Footer/Copyright"; +import FooterLayout from "@theme/Footer/Layout"; +import { FaLinkedin, FaFacebook, FaTwitter } from "react-icons/fa"; +import FroggitLogo from "@site/static/img/logo_froggit_blanc.png"; +import GitlabLogo from "@site/static/img/gitlab-logo.png"; + + + +function Footer() { + const {footer} = useThemeConfig(); + + if (!footer) { + return null; + } + + const {copyright, icons, links, logo, style, FooterIcons} = footer; + return ( + <> + <div className="footer"> + + <div className="footer-container"> + <a href="https://www.linkedin.com/company/lydrafr/" target="_blank" rel="noreferrer"> + <div className="linkedin-icon"> + <FaLinkedin className="footer-icons" /> + </div> + </a> + + <a href="https://twitter.com/art_devops" target="_blank" rel="noreferrer"> + <div className="twitter-icon"> + <FaTwitter className="footer-icons" /> + </div> + </a> + + <a href="https://www.facebook.com/Lydrafr/" target="_blank" rel="noreferrer"> + <div className="facebook-icon"> + <FaFacebook className="footer-icons" /> + </div> + </a> + + <a href="https://lab.frogg.it/lydra" target="_blank" rel="noreferrer"> + <div className="froggit-icon"> + <img className="footer-icons" src={FroggitLogo} /> + </div> + </a> + + <a href="https://gitlab.com/lydra" target="_blank" rel="noreferrer"> + <div className="gitlab-icon"> + <img className="footer-icons" src={GitlabLogo} /> + </div> + </a> + + </div> + + <div> + <FooterLayout + icons={icons && <FooterIcons icons={icons} />} + style={style} + links={links && links.length > 0 && <FooterLinks links={links} />} + logo={logo && <FooterLogo logo={logo} />} + copyright={copyright && <FooterCopyright copyright={copyright} />} + /> + </div> + </div> + </> + ); +} + +export default React.memo(Footer); diff --git a/static/img/gitlab-logo.png b/static/img/gitlab-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..e504263d7503cd4a210ccc18fb26e8a521a92b21 GIT binary patch literal 6898 zcmeHLdpy(a`yaw6qLfo=%~O;%+ic8o7$#@toKu<ESlPig49VmWiE^qGndA_W=&4XD z6)JM5luD6fsK}{<^8JjSo}Sn5`_J=w{l5RTz3$KM&wX9j`?{|8ecjjV^H~zn-a<xN zMH&PG$yiwuoPghUV6=cGfU9UFEEBlSMY!zbI+4O4EH;x$3!*@{;VcS-!lO|^Al~zL z$L-S9x2%Yt%Q<u8Xu900raq0N6RItfUrqeny9ak&4Zz4JSl<-v14r?F`sU~I<o9oM zoK-k;vN)$RMuF4f-9FK8P08ZkajkefCud|leXwg5RA57VFw^nq@{O5CKE0*Vo?q;m zugE=VidlE1-dO5gl7GaV-SC8K@o^VKo{J88cBNIlnA`Mtik7tBkhJ#nac$>umB=sa zWIDzUg~xqXNEa(?4#f|to7~@{utIBvRE?#=?n1hQ+)?-7+Ts;Q8o8KybcBG-H0)3b zX&T9P8=ylSOzh{rP@*AGc9i(<FIqank~e&{gP&s=m`59txf}Mj?le!5%D0bnyt1ic z?RaG+ws;nFovXAyKCV0`O|7n$q%~cjwx-5$vqXhS8g7jWx1!cDHaV^BW`YEV?2!v^ z%syqiKbWc#lwKICZsYZ=V4_FS^U+X2JmwU6$R0sCpwyRjg~OYRM-DkcJTIQta+^pF zmr!Ncva92i6WgDeJXzE0wckFYj4ybo*`}T@|184FrSQTj{Mx{n{4@0rAs(+q!SY3J z*w{yMQjb}>njNH;9dURZXwB7!t7;B_&an?>tTSKr4BK{Y@=yngLg7kI_oKw5vi^|J z^^o?xTk_0!ty*MBNubM<vqcpiHt7l(MVZ@LZ7!bJxuWP;OAE{^cyeU)UTaVF@fHsj zZI69-)o_l@tsL?D;!H)QOs5*_6jw95C#6rlZEnxfF4AmTPhNRxJq%ZyvvBCCoqPGf zO5<{;vV-9xT5;azZDL+@OQqlu%i9S@4DRPXZ~UTu!z4u)v+Hb8e$To5r{kMVrf?ni zR@}rAM1xO(EAzuq+jIN|tQe^6s0!nk;VdVOYWoZ&aAU?!$)0E8^@;ZEg(R=aPd8H* zj(MLLdG*I!#tW@IQTt{7G#|&s>y#YqoxW96*}w9&tMS-GaZK3Qk#>s_^=bJp;HWqw z(}fKil|M})7M9P;*xo65jo)0`4FZY8(#*_=R%T{@9RZ;5bE47=EpOx3-QDe6=(JUB z9P;L9KF(w7);A@tnx^qYtxKc6>~C?KWvmV*7xa3vCdd~@d*7Tdi!FnI_w%pTVz<;< zCN0=V!~6`e@0;o(kJN?n+s~t(j4MmJw4yri#hqv^KNRB*2CFAx-=K76^sTIKarX7x zZhBg$)b`P6Zg`|k(N^LU;f+U;>e@+($?2j(&MS@7%Bma<BaQVsBM0sr@pkv#-|x-d z*_$n|o^e_uRW7*@?pAvuOD2nV2z$~Ub6>FvKCI6Sb}I|%s@I4nl?ckWadL+c={xVN z`XiA@v=DdQnb=X9<_ER=Dz$RqX#er%!lPxPJ5t3T3rs`jd!r}nysEMKeVgM~;XfqP zqYr~(d<0J_-+dszVB~_n2lQHxecEg1JCrfK!y<XTNFTlTO>M!J$eV+*h)-u9B#c|` zKWTaqd@Zj-Z;&731-Uvj+x4pHt=Q503Majrw>Ba?&y0s037ZR<oBfa-8f~0c!>)O~ z=h1ecQ>oB^j<nOx7Dr~%;Us^i9|g{%vw)5T0vQ<dSS0dZ3K!x>37|0yp&#mQKp`}L zL#R8(4q?YKqXg0{BiIz@2zwWD#9p$#Kh)Sr+JJ`x0O%Ah3BscXF*rD$A#@QJ2h4@b z+EB=%3U{v|bf+B=V#Z`sAZR!mj)0l-XrU;mku=1B?N7xy5qA850PYN-fm|*Nr>z|p z76uQ~fiu|w+DLtUeQg9v8-;=a8Zb^cgG=JU7#wvW#1aO9!XdM1EG~`7fCw>3e#{WA zAruP8A%De3XW7~PglBMmumJF(%_Fh2k#K}Iov!_>1&3=M3V{3w=)YQUT!6-|?L^@) zL)c`Bc_@X!RsR*jpZwFF6~Yc$Ovj(BO$nmV0aXs*75NXB7FKq|pB6$20%&yBq7^{) zKQy^C>fdDjBQ~LAF`Zun0nC5m{zLn(+!vJrEjv3Lfk_S#hG#`EgbMxR{F!8$KW=eK z*1_sx^!2bXsy;~%hSnovVfq*<0;Y>bQgo>LXet?l{RPU3!Qqk^WQq_90Eg2694uNN zh4I&+z|d43T^L%Ist@xclc_KiQV&Hz>Y%B9{^(yI9N09VDoH`VMkR#u2cYzjIw&L= zfrjZ&$Urn0eJT)*o(@b8sY{|@Q2sg?edHpPKN+`!$)=Nl?WEC30TgW(BVbV=Bphc# zv@(RE;E2Chh(RPS6)-S_+R_*yyuSr5G&;qZOA@k))Ya2PW3Wh+K0+U@hgynx5zmdn z<^Yu_#6%+CI!n01ZNUM_0K}4nbqWA1!UDPA%-9qXm&tZvGJ_1ELI{Y^a<RN221}b_ zN#g(-;lhglQS;7};HA5zBM?Me6hR=1Ws4(`mz;1&p%ni`M}Xauh#W{_1W<tU{iC4% zTBrS&%_5UA7$ic^4~8V65iqnLu-_!KJ`$Me>iFp)C}<u3rTzYi&S6ryVI(%iBml@1 z$Ob5&#cUv&i&Sp;XDnfX6d_LtlnxAmf*~<3NF)x8#i8}J5J(&X0oDGIu(t42|CO<U z_W$9;U{T?hHUQWytpV)?=vLZ4+tm-wgf#vSKR@>3f9L^#{_W&n@%x*u-*o*e2L6@u z@9O$Z*S})mUn&2tuKzc>r2l^5p)i1_pfKQdX496@F5p#2!q3Kn09p`!1=ou+fE6j0 zr3VKDTE0p+L^^x+&jX8+Tq`?s$zjoz(g-9~Ke!qM0ykL^Ok9A!c5-_{USQ>R1n_2i zti?Osd<zc*Y9Y3RuZR`Lo)xPDMzL7of#x;my-fzBsT)@0@v5zsrGpalA~$fL9u2*Z zybnOOhypHt`7D@l7WmZ5Ytp_SjIMWnA~vX%r#RzN6OD6xjS#CtR$u>i@_II1Y0Kzx z<Ik?B>Wtjsf&I7mUk<3g%*s}4%`3<*SJEG?TjrCHN0UpNNnE%QdLafSs85T|Z=A;& z-WCbapE0y8`H+@271n=_b<?A<;g(CN=F9MkfNPfn4pG~3RPuw@OCB#)zCjH1&iyjW zHiy^UjmyCiwV{eSyP}gC2g{jIwthbh&c1XwM-;tGdgJ3_W}x?-SQ~W3VU-VJPq11K znhV8zBqQ={>`RBj_h~_ys8d?5;w5d<*ZE(D)F3)zl$Y5w(Z`|uF2+Ot^7h<#$&?3{ zuc43UQe~%mQZAqt?#9mV3C?<OWS~=8Pr(J<T(;Isb~mF#%c*Dct&p=<q6<qkhCaMW zn1pq{FfJJ_>XsdVXL?%9ujb}Q)U{3dHC*lnS<TPv6LksWJGJERTl28R9>x5is`9j= z-f&72dTP_&moW5IvjY?D@uTmJpvplAAM3t^Lx;c*QomIW9Jj4tF?4#3@6`)RQO6Z8 zuCVzu{N3dVSxYU@(%Z6@_+?@m({`>%G_KLLoJkkgY-n^8CGZJrU-~}BAhNaFuMQZe zE6T*_()lmLW3HskLp!57r$UotineTTZ})YSA`Uj0mM;URlzF`#l|A}mI;@5jB}M#3 z-j^K_ODmP-+67AyQ#j>&1ARNL*3Qt=YPvQlJ=>TOQ@H$3<Yh(1L)S+!5r=H~d%kUR z)blKQg&n=OyR<f-Ub1}3jZjaWy_g<^Na=}5STSa&xToNum67wfEH`sH^7X^CyRDjA z$MCIPHObhLx)qYHe`K6;bSYxibcMTDHOMGGjq)9J9u8Uq?~vKlj-75jSfY0<=}8RR zm}t>I+I7XBgLLCpEH5!udD^J7BRBch8u%lQXrTA0FS9LsT~j_zHz=u<WbO_{SL}~U zHq!8tl~b|EosuR}RV@^aZ=TOdZ-hUWcvLYdmDKp;0@HDrs>mYhts16rE_TZ&ZEhUD z-`Wwhop=s+Cz!aMymnuzgjXXx&}u4RTPSl-bcU|}+2_m~n+az{AAw2Fnsw{fu70ju z)~jl3w#ECcN?fDk7)9YBeVw7T$AhPV-jQEsZQF~V$B*En#QRM8pDPy#9R6J15hGhQ zZ@1cvb)ht8^_i}>qApf87X2kN{@+i0{xWud=w8a#toQ|IudsSqWb|;TK;cNKWMb6` zL231dgPpBl2M3;D;BK7Um59^T(t1QO&75uyFTKH)hnISX+KVLZk$jUQ^|;}DjlrK{ zYK7z1nV`0o=f2PFz-`AS@a8SGCG0~DJ~~50<&5EJ&G@pwe$AUUo0$l;7ctm5F$^j^ z_U$u}%wden{j)Xi%2_#IV<eQK>;r8j{U$+s0;bn(codV`@DcO4b%bM@8^DWb5R<7~ zUw7-Vd*8EKv2w(oipVYNo_@od9j>)6nF6<^PT<YF57&g{9BIgB@*7*h?WvP-jT5J* z0*=JAv?w_Q%DB#WZWu90jRu{(9rixY8OuO}%d2GM1v35MlqxBC2u`j&hPo{9F4nYw z*BWKWf!vi|hfZ#@_HIIm*d7Fl+yToC^93RMP<TmEd>;rbhYzkiEHhEY0<Qc95d~F& zWCB=aa3g`AdRQHOKMf>eJB;Up*1pF_Hp-9SZw$Q*7i1;wBX7$$+4b3gHFia<`T8wG zvQ$d&hp(4#c~khnb(a$6ay0NDouO+VS_ivVOSbk#I-9?i{R8?jn-sr83G*~cjN5e8 zRQ>SDG4lG!W}O3q&>e=V0B5V@KR16e9Xx!x-(YBc@Ak>{oDZ)~++9`@I_Vq4YuuWX z*euh(A`3-hj6G94(Y=fC3h|04zuP6`_*T4^{O9{8%*?O3J-MB!m|CxK;Hz1l5~n22 z!TGk%Ik6h}rS#(EsaWl0n}AlL`a1Wi3GV2asfK)b+b6TWYk8|r-&0Ez7Y_{YgZT4x zKXTt{ZIvuM_agLucpgN0&U7#piXyJmJiL*>qe?c%kJu9!=cE)G%1>3Bv=f>B)G#R9 zJPJZKD%-Q+ql}qE;3kLT4ZEB)nvX`xcenb4B(H^-E-R1M;PJuomlRHGia-hN*1R*~ ziE<{(`{a{8@nNop=SJP0@uc5=K3n?YSznThK+!~nFrbEsCtTxj;8G_?SJsRrz9;zG zrEC;k3GHmFL2rB@JAG!g8o^)drMpPOl*j4W%W6&weP>rHhc=lTT1&=cl{*Aqt1fBC z=MrP9V9#TSI8C4KDk(W@$xU0mbfph=nk3yn<|=9WR)D5F(8X)2WeS42x2^-knqFOM z;KJCKS>-1{`CLsesSR#6%C4ERlmamT>}u5-RS0ln)(0SZcOQBWnBL#PC*m^8eJN!- zfYr<t*|^U9pk)9?XlA)*yxCi#E>6z+V3oYkuFSprq$BnRnx?9VDIislEfmWvpII`~ zJl$!So?LBksQEQaOBDz-KZq+dRL9q7sToWzdH&mnSvOILCMJqDB4{a|(aVbZQyXr; zRa1c1cD^GFn3?Y$i!FT*Ua6)TqW8Rp!F3#Q=W%@k954VC2dnZ~K=cwaTDjS|+jiUA zZx@Mw;Q4kI%Fgb#s8f`$m6djn>!h0x=oTCaDJ%7A5GxER*iS0lp6%hVNiZNsZyB$| z^JJ-)^F@g^M;WUUh7;r^g~3=BaWz#1z~DzGCS+TOp{irj;*ObJ$}QnahDEKyPi^$f z?rxIr`#chA0J@nBnW2Wx+p$v5R}D%=_I+I5X-^0>o}W5B7W&Im1~3(Xzl%>!myF9b Rt0)O2R_6AE3RB+${{e(R{<8o8 literal 0 HcmV?d00001 diff --git a/static/img/logo_froggit_blanc.png b/static/img/logo_froggit_blanc.png new file mode 100644 index 0000000000000000000000000000000000000000..b577abd3b572c7b06c3023cce20a65b47b9520ef GIT binary patch literal 13688 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ⓈfT;I2T(+ zBKik$6mg+Z@V&QY>@TJAc(z87{gnczku<HcWRdH%VCbi%9;Z-wzW7Dt#f*4JEE{8) z_CLF@fS6&F{5cze8<RH}#aJiAPBPP%5r;)_G0^tao<3)u7kGU5R=L+>)hT2~y#zrK zZTkGHuX^nRYS9<u<uj<b%+=7~P?b*gU&YjhWyhR!OEGy8O&gL24UP0A9DsTqrh7%g zshKnraz9!58LK+$3+XlUB>VVdaP!Sjafqh$un8B{o>_cE4N>6k(8YC?jtOh2BEETl z{HfLi7o6m>YjQECf(ki=$7i)AT<#L+<v$VWD@YGht37qf&ETuT+elw?mNiiPPK-1n z5Y~B@DG_`-mXb@4#}Rup3H!MRPK#N^^7pUt-qCyct%<QRMHx~KtT2N|w)^IOe0rNy zfa>NVX+jqbe2gg4u(x8GK3zXiwb@iV&6Tpzrj56>tK9p=#smBtnVZ$dTx7?oLq(lf zH%L>8D#xd}wu+}%YEh4*N!AwIW)yHF80T;Y$0j=U7dxOht`g8$*~HvjwQr)|s=8-P zj>Y~7y01bK!>^y^9@y_@rfllru%ycQwrRVU&zLUZ#3%^BIXnD3-Ifq}C0wjG`nuQd zD(=3D+b41&tC6;?XO^Cdg6rYNKHfPrrfBNn+uYqouOGPKbKa7rLYC@kIuml#j4;@F z0#q32R4fKIVM@}zy=N>o?v9o#d1%DHT{t2_K>h~Sy$``h3?45uKaDJVW8*4U95*&r zddvTY&5XZKOCB-fNd1#!+fC(=CStmDfzWwpR>P1Ia+l1QuRdot?q(ER&8;%EiDrWB zzJ0x9ygMKkH=J6U9f9WT!C6Pc)tvpokAY-#a>FvaQ`UwG8)*b>cVf=7Qbw2DzUcle z$j_t+<7~&uj@H*4C3o3251p|5Td>p!BZs2&g7Tujq&3m>a5pYJB<3>K@aq@<*St=7 z5xHwN!g1r6tVahOd48B;{}HkCuYLGP8EAiOl&49{zoAdyw&oP&%z=jN+Y3X3OX?wZ zxZyGJNC(`o(AtWj_sOBvC+o7V9ZH&l6DP+~<sN?)LdP`F{NFg*?0Nry<mJ2Yz`y#c z)p?dVEw|1#+E<Y4ION#5h0DrU*nN4Ajy>xL`*?KUL&f5v)vE{lG|K%vQAKCnk}^9` z5kDqaH1i!N?tw|alVZKf^e0fa(e%10Ev;qm@jW(z2@R@*TYn_j$D8|-6}1SeguNH$ z#vF$%T`knopmW(*t3MjVRR;{OBaWPF(4HE7>Rz6F_2c7cN>~tKZv;v|?8ag@d_t9Q ziF+WyX-=`YA=@Nj#M8s4qNp6VyCRX@4Lh$yh~XY6dK?aR7BT-BskmBMRhs>cGzbpH zmDW-QFg9c0GnRp1aphq*Bc}zn)wlL_i~c<F&l9Wx(gUjreyV|d`q?AK@6zcJd0$`t znnmEAkg!4b(V-`rm9$AR{o#dmX}3P+j@zmgs+xboeKp*?vS@eg^N!y|>4UTO=UMs; z?GzqQc)Lb9$@ii;T5<uxnNV-6tF{x%)4l#f&{M_7?uslS4=-RfF4)xS2P~4S)&*<4 z?I~B(++~0u?=ncTV?{F-th`hbXC@E<7w~_V5j=WL5_$DP!1NA^M^0Z!;&(3*YN)FY z6U(bN28HRJ#@3-NN1jN%+HJ~rtJ+*+yi@urPF``1*J}i0yC?fYhhcsx($svG)Kul0 zY$Lr4+=6b#%{F@C@fJ4IQ+3AeaJG1>rtrk)(ay&Iz~;v?ge@JGno~n{EyfSo7%BZg z@0Y1@5i5D35~;bhndIEtH*wv-8tw89PI5=Zy_ny17XP`KW=QTkwy^md!II=$<;XKW zk@M=V6=3rj9;AWsNF{Gq^;PsN;|e;ag66+)jumeHV<3jqM`=XU=enA&C=I3fw%pT# zHva5!&M@OSOWE}MG&!@$nim=OV+gQNY+0B2{{G#KI`qo47ubmO@AQtt0j2qD-iX8W zw63PRF=D+D6GgCj;4Aq`kWP_TnDd#&#g43-<Vms#@Y_FXL(+1t?sgwiT)kCRBVjIb zAF@^8`kC9WJ~4=NpbPyvMKj$cuTSTGKh1zL=S%SGFmFTeU`}w92@#={23F!OUY}Ec z#BH>honpJGu!QX0ZJ5tn2>H`gwa_%GGeBnCSt|MJ{)rjy0nUb|jnPld=pTvA2A#|o zt^-*uQde;|q3<F+%zQU^ywsoif5Kqh@^w+)!m&${&NbPu#=~qj)n_aph|YdRaX5<c z*5{K>p%(b|EnHpT*$1nd`QNCxj1ZQ;`b~kW>3D%{jOee^V$}h*?GkyqlzIi)qWsNI zigxG!urTjeQ41%HbT6fgYj3Hcx8nL_KJ@g(*8iAGbi7wdLUzxuwHDV7V6Nf{Ak$8N zd3N|~PY((ikf=rQfL&kLmG?5dx>PyTrd=Z8&y+%{X%pXTZCb$jLl7|A#y%eO1HsUP z-Salw1KXMPe2>IV_g&Mu=8gZP{Yw^tjTSif90;T0RzBn16Aoh^*Y_>e%<TL%#LA6H zD+Kzv=d7>cn&n0Yn4a@%DK=_T6jSH~KlAL{HKE3v)a_1;r3z{RUg*5!bEY$N@3*SU z+)^{ixT22@*LcomMR?pn({TyEFXH5R^?CJS`W1T{E*=o!k;@-Nw;AI;gM*vOILGp0 zH)HykFXoXKbx=T)I(_W_`;uwu`Z2UUfmTim{wHakKEqmVxp1V>T|UkptX2ks5l?$D zX}4~mqv&4vF~>YDvhnp2f@5Lj`2f`p8v<rgYr^gmLoV|hlIY#b;b@Im>O-0W%@b`G zDX&K+rIEN)*HVe@QR6WYvU8Ah;VqTPOtXP*8JROc(4JK1bjgI@7H<=*!sD;4BUr*X z|4dWiZ-$vBIrSQAkM@;>-mm+e{S@5zu&<`x^5~XlRlD%jh7kuBL?W-b4r`9`dS?Ym z3rf}*Dfv5w9qd-+K;8{CkYIO5gRxzRl`w0dJtZog|Jd=TLrhQMp>Q3v&x+$~?DT?u z-*s9jW>{`s=6k$K@onG9-Ld-I>4=|)YOAPi-;p$#QCHF(Xz286_7-)NU}!RY$Y=VB zsa<pyTwa2-(0Qd&CnMm>f&iz*<sR7!s+@VIJ^ar*^<m6%Rrsuw?gJ8R->D5Agg4#+ z79}<Lfl&ckICcVrJNhjc4=NqOJqmbCMIO)pb*S>Q8}&Q?lZ=6@?SCeKb{r)+(Y%`P z|L|8CmsH7kTNe|4sjz%hNF+nHAiV9rGF5zppbiBu{nL=NqO^ThMWm-9*;hiOowxDB zm*47NjnOfK7)#GOueWlck&kzUMy5l3H2fP6eR2Ejv7bMwV6>e-mL`Fg6Ao~got)IQ zAe}-9H&yA^V3x~qH>GsDYk<wq`Ln-$N6-21%_9NO)@L;T8_(<x6tP@}9#lV}j-F;b zYYmm`AeEz#qn{F@wWj_BHHPL^Tt1d`&))$ye~4yV9IxiezHX#Vvwh^aBn$QZ68pH3 z58kYNqaaHisQM41w8fTHmkv6+$9nbWKB)*g@XhXy+A=&$jNkA@`OG*po(#_dGMoMR z!D(v8J{k;r^M>x=4&(W#Up4VZbF%H2gh6ATi`4LY#p2(Ad0rdA&Jy$^0WhX3tHJ!I z3J1<sXug1#Ajh?ZN(QKS58N{O(4sy?X@uE7pw8)TO#nCS*kpWg-dn@`+e(}R|MNPY zG3WW6r+bvg)5ElubrZn6^c8QL4YsL7UMsGAO|utiHo5T-C`~K!8c>>dzuTbw&HWR& zEasqkKjs*#K8KV5x)|csf+c+~dVF#JI>NE`-QGXZ%MZwPZ*7S8Mvn@fKImt3>qvQ3 zii_G&xt{bKU76iw$+m7e^>r86WzMJHhq9rm+2I%e^d4xRFEg;FKMlGvVpEmX3d{CZ z<5YgUAlBQX-@5;9d(+7r)(SyRPv>gJ9r@GP)V)}@-0vG1PxAZQU|&Bl7t4_F<b8(- z?@8d+Qy6<#PBwu~Lq=B|vf#@j*0#phE4I2ZuUh?f_|AVpmO%pdIJ@$mtNa8E4+WNU zi;``M3z9DKCu1yTIJ!SR`}eNCt6xeo(){OI6)WWJ0$nlX)xN+;>UNl=KQ)hvQZE;t z%YvhyISoC|K25#@M2JrJAee|ZUL*@a2x`95Q=jZ>^0G#$$b9kycLm`{3pmr#FX6n1 zrngH{eT@#6y1w`n30HN@+K66t-Shxsc4QrSrPtMaYOn1-?^Ha@bn*O<N0XR^n$Ok) zs$P`RP#ha-Q~L{(8VQ1OvEBzujB}pe0)C+I+|t!kYL6BU)#@)4#4I1#|7(A35;5cY z_6HE3@GQ8>!`;Jb>}hnjWWg&ZY@b_KhW%=~ia&GaRB6*LZFV5z18tIOSI8{vLxc90 zxCG+VsD6*dzSk}(ee<7b4Vc*Tz#t3FuqO!q-V%8fB7&xW#zzorg$#6K`#tf0L?O7) z{&Wxfgg!!PWzKwkVYpG`73%brAV_R2&A;J|1%u3(!bf;FBHIG_TS}|b<0pwKFGLo` znEfgD_wQ;{&^Zgg(=y6bmP9H8ne}s7dPamBf|kSMRSHJE$2Ah8_o8DOWxvg_aq3s1 zaFtZo{zmR1>+_d?hOXSm<6HiEBWT86#tdGcjX9~>Ex{<F!~8RI3vUp|Z}6{qzmMPq z4ZXDRf;~B8U|*swI(;Q#4#Cp-@eQwkS6?WwZ^kpZ*{GALECMy<7SUd<XX}=L;7%O1 zC!*ZbW6Ci9aP|>{8ps1^<=xR{e1wzalB*jC{E*+me2>pwY<l6J?H40YcyVvN&g=v{ z?AKCVlJj?!p1%2kgN(BzC1!vbI);I96xNMO{0u?IAf3g6e|l9K?<+=*xf4I}n0|cu z<)5kMKGyf(zWXWcYqx`>obGvEbj+yXsiLrE`LdvNJ$hf<-%A1uGh*y&KJr1}ADaXJ zy`{<id@fSfDQSd*4()}RL4m7Y-90aj<dPb?e3)gKF_1N_ON=vgSG_KOR$t`42=@ zq|*9mxDIlFH~x~%d%Efp>gw+C)kTz@i>KR^JnKZKTe7ijv!H*f99a`@Too%YGvD#C z-H?=q8jO;9b1gH;W^-kCNX)Vm30%`&IffD=AK!SNS|rbBEaU&NiYH#CcJdbAK4-DN z?!Tk_2!<fOtI+I&@6}m~C#5l~s<K{<n`Zyq6SAlFAvG`<PmG59-R%aK_eZ>UmTUDM zIUeJ4LB($4b}S;8B<BzdXGeDi_sfUukax8@m1<*@ctHZh5w@OFg;!@(cRTB6*JTmY z3;#%syk~mm55kfld3kvc#CEJ%o}lAQyYz)FX0K=*lews-)+s|6Hq4hGl|Z|wqtf_@ z1ghN{V$i#QNB$=wGvR+OXzVo+S)N<vNKLtwi;TS##2Qe{=q>nCH}#K~PjUHZuCVC_ zqy;8_g#Nm_O8DK4(=YSD;5kvw&}$d(!4V%81?&%*o+{rHQbjATlOW7~m-L?B{r3#; zmeh5DUoi|6W{Ez%_wJ}+T)`3ZWmL7b+gUGP?aU;{ov{xI!uN}w|I(>-x%ymo4)0Aw zR}QMn<GNtic)#;69;G{EhfN-&UMTXn_*1m{Zut;8<|XE&oX=60cBttbh$Pqivw4Cs z+t(E!qeZWVQ*8!A4wB4l#)dHOy@9XGAkzQt1t;HEJ;a2d)bSraB1|&mY>YFPXGgiV z+gr$hsq-8)W9fYG_s1f4a`4^JHlVvQyQe-u=SMz_xFd$$F)f~xZ32bDg%|N4s3~}W zaFx@0%tLO-PGNgLV)H=m-n3r<w3a#p^~xB<K(;|2Q{Ah!)7aL9g$rXRR;KP88*_>x zQ|*2tB*by_tOzt>qlcvgjVTy)os3;>QT|pZ^EJSGdVj)=Fv}rrvOlJXcIEMW+?wth zCaF5u`Wp@(kw?6{6hzs{>xqG#?kmMdoPXwJ+@B*wNy>;&8T$R?k>3t<!h9@lO@JWw z_ty*&Ym=Yl^7Z=>`a5HDX)D%S+VYp?NFD<zgV1~7%`flJwy_eO;cGDTR=l>uNA6Dp zoSAZij_{jV4E$-$(XIl93J9RJ5R`xeF<W#AqPSgZBG`1lLz*{7k+6plG_QcJod5YH zpnr1a@-AJ!ACYJbZCGV*$Za~U24)@pb0niO25Xn;=Y_2c)h#J+eplPZTL>$h7`mX1 z3(e>;G9eN7ORfZ>w^D2$#$(4y>f0-x@clW<D6VMOlUrXydnVaAlnkp<y1g2&;QKkg zVq?9PU6Uz;OS3UDXZ?!zd~hl|X>$UX@4-s3YCkL#L1igY&WFVkH3`<7^Um%=j_EkY z<M4J&c9>yp12LUhK#M=FLLD{W>Ug56ZDo&)=J&)u;6hL2K9vkVgVMCy?5Iyao3w9Y zcdSBh#OnlE#msuOnae59SA<0QbrI)ko(N}U1CK%aZ-RBP;_Z^+3;13m->V8UCbZMO zaEScel-dp~_U0<Qw*G=?#SQ5#m^BYqZLXQGDGP+EPY+8{hH_Tx`rl<VJ`S{y$Hf@E z2s)*7JF~u;CI0RVrJh2QK(%G}&uzw344&}0{OKeMX83JAtX;^c@>%5v8(awrd4HUi zg?>DLnsX_9{<=y@X?6<ZZ|342d9B}LIrntGH}etRUp9Di=w#C_1L-{`bP3<)3f&!3 zaRY&0Cp~-TemHp}(J@bwRk)jQ4T29x**oRWRAT%sg*eH|LGp9T_k(e~e}&%kKKMhe zH(oMEZ}lD%2~x!Eg2iN|f6=IXu+Hl(8KSAvSn%Ywjoq)LtevF*i*5ZI-JMx9o}Jz@ zt&ja)zBt=V{@J`PCA&TEuTe*5fCN$?oMzDm-i3-;t^*c8^7lU$Ab$1(BL^f%pH2Un zXiy;7u{<^+7>@5$vq&vuGoQaEf`8J8#oSF#mi%2MkjkHBJZ7A)P}XFxFq-k}*i4z3 z-v`gE=lwn5ox}c;2tCPb>W6oThR>W>Km41QHDlfuo%?J!qNV!oQubt9kjOrsY?h5d zSb(BV>n(ib^IKWCO~_37fNYep*N@?Fd?S^Z><NP62E~i|ez%l_spl`?vqFW>NZ7P- zHdKmaUEW`I{qez{W`VSEeU(3c`6laUg$B8Idadw6ZUmYh+6HtH;nT~%(4s2YC_aNb zVZ+-G%o9#$vyQZMV=a^qKIGcJxgR4j!eR!g&Ru`rbIw-QCZF?g5Gts*Do!}(1LDM< z*fFXu>PY4FRn-t>Lf}SP1z)9TMfiG4rgBnVM7qT0QNEE6OfB`5vgg_uXSX{s(zUki zUL+etsm9-8ENf6m`>~EbUm=}*-OK;^PoDYm)r$21N1Pn*Zxw7;7O%ZSEplDIv5VkW z5w?5yDdTKf<c>}^0w3`d%=|JpXBW;cZ_~a@Ex_<hj*mpUd&Xk(@PFwN{L^yyi28Ro zb}gJ#ow-TVdsVup7xtPNa2*U-HQca}GM$uZlv%&KR(|Hzd%nUii7&TGsd2q?Q#YRF zogO<9AG>$h?~xO}5k%K@3`Q-#g|PnX3M5T5kKJ%Cx{QZM@vBzU+KlDs9v>Xrk>VSF z%Y3qg5aZ8X@SY^sH^%r(8<ZZM&ODR)T>pW_!s0pBI!(!^xaC9s>|wM!2vy(J!&PP~ ztG8prpn=ylaMe+tej=R5ik?zE4iR`lq}GB|T&>F6V2Q-8+=(C@xa<r=`}e)o3>n~o zy}VH9#xi0IGGcwaT1wfFTz$GPNK9I?D72K$Hqs3+m)J=wKg*3&Vuq<!*6mU2uDO(> zk^8lD=-N>?1r87bIo{55lXw3Tip`*NX9K@b$5X{{8Wf`gxr18tNBTPS!)%2y8`c&H ziF*@sH?+{P@EuOmM`I&pIDFJ={pkwco3D4Do<8&(jago2u1HXFmUwKEVpx1%&Ox1% zW1Rh_A;o^kJj{a=52{7PNiO}w%BmA+v;y)?Eb$YF2nX`iUO2tWz{Pu_hgqDZTR70U zPG?8?eV67!0)bj$;S9GRX$J2EzeQ08oYxgVP~s6&%Lcc?lLwWH@_m#E>?>`yLcTi2 zc3p#Zm|J!ych}$%L6D7j8x10UKB)#L{UKq{Z}L^{)-^ob6}IM(F4#dW29#l4_=Q(K zi(Ji|Hv(bBhc03_2@k?b?DKVm=<B}dt%t<q`x*5-GbYcpue#Y6fCMsc`$r7+!Nj`` z-^+LqyRkF+#c|{sOAU2KR7d46))yw=RGd#Q-dE1HVeEvfa~xkPA~KM?A$MuhQPX7T z=fH*_vpF@)L=2IY@qzM!V16UEpJ~5=ID9VW&{Q0AUKLl9VUN9o=KC}g&V__aNaU2t zn;oH-MBV&xq9W~I_y$D~Clne-Yqe`C>tZsHoHmI^37mIekNu23Fkj3e%iMFcr$EXy zmnMUK7x^YC;X^AM`uHU4Cyn1_3nCwqF7bHIm{o`k9K<KTVm{$%<ndhTaTfdM(CAU{ zS@q$K<v+zZA!VeSu5!ZjP8&YW4F$J*?V;`I25C#4X!l8sr4-gpU?gE+CtU55ZmDt* z41g13y_$nhl3`d`en8lKFM88wiS`e7014v%yjb504K!84X7@X9^!|;6f3OHlI(6R{ ze@z*AWGj&<ZGF`C@i+O;p4fbA7MrpI`BUuDQBJyPZz2%D%H~1nwMlUMr_MAEQxMki zAYD9)y3K2kLP!cGoE<IZv^@+5J0^ED2y$kv$C+}N@!f7u*IX{`H<_E2EBw9T)vPAx zFo(;aGtx%eg%yxWO$P|AaeQUl0m#$MDv{cLUL6<4wAb_)ZXgS<pFZHaa2n)NGP-Z? za~L~fcJ37EDb3-(XFMWzM`?(f7UNod0ya3*dq?Yud?y-uu4Y!#r)4l%5z+59>WK*W zQB-lD{h;03ldA}4JxU`qy@H;jCIWlFBSRexH9Q|<&x#2$^OlfZ#SDr{kb4V8xoruO z6;8nhIKbL48bR`R9kTTNG4i9E66HJp3wt*?)83Q&f5vbGSOl!P>g!Ynk)-X^Zv_)Z zr_|qCir^lw^80sSs{?uuRLccjZ_h9lG6iWKMBRtQa`FQGTC}Xet*~hi>~b+K$sr>t zYDn!%^o9G%S;~KFmJ!bNZ>6r10%j(A$ri2j)gM=#q4MD4AXK%3Y|Tz4we4%jwgTfg z!-4u+CBd=q5u*nmK?Ye9-MZwB%rJwsK%Xti+8_zv{&AGt#pmMx^2)ZWAR7ZRg08YA zLB4qF%*D61zxNcC`;tC8G3I)i`xUD5n<ouz-2V^@fUEh(zV!~Rh)jQEJ^WUXu{ru= z;G^hh$6Sssam_{QPY3hG0<tWiT6Ib%aPOF^w>|gJc4SHzJidgOkzs}dNqm?bNWa}X z#hiz5Mfba%>VW=BwFyOnlq@wer#{oS5O72La9mhCtV3b=_g=nv=Z)ODNx#!#@Qiw8 z0?{|eUiaGVfo$I@P|q0GMH#AoXWz^AuyC^hX~N{Z6Al4Ax2W5>_3;}7?jh<?a;6hw z{55m`gYOSMxO4>4J{1i~hg|tw6j@UB_YDZNBQKrg2Vw5M^u5<5aCy-2$mxfVK4muc zAH81@@XXB}3=f2h&%e49`=1bDUyYQU_^TG2+rD2KPxoG_-8nhNy8#rD`jyF$&eggX zujVrCH-Y`IT}FE5-YBsV$=#>7a@6~^Dks=~tte6+z*NfEA+0a}F`)PeKf&S0ytp)o zKjduAU^`8#ZiAiW68gqv(AaKPaOWsE&#YO@vMGN3NUhjRNJ?28U6b!TYaiu>x!+Vc zU&u3>Ug4$FHtTH6JB+n(>#=6o9iIJoJC-9(rqZB##7=o8j)KTq?WMNzpF$NW&m^!7 zE6rIpl>5@ZUR1WEP)rxLLxuDd2>Q78L!8^cE^)clSR3M`9L~st)rD-`uWe&=&Kc>Z zAZgEP<7=JH_olFv+jMpvRyLKesSdaUMRd=o{T*h$$nOu8GM`CqIfb2+xCWmPG4{dN zbbozHhoxoo6#O~4{>g{|Z*E#mV4P*n4{4Pjy-wpo%vO7x4rh@AyXXA?&vG9Xcl0JE zrN7QhC`W0gjj~v1wUdW3F`c~Tpdp;{b-@`|?7!}TbE_Z?*Z17Vj(ymg7MDH7g3i9U zQdAjcaLfmn@6M_=+@4yS)x%la_)QXiQj%0}Zzs_f;mwKane|z;4+*gnp7&GlY^d9P z^~~A`_Cgd>>MPZE1eJp+LB#mU%BcdjS(?$KRga6O?~eXvU^%xD?O$cRt<f=+O)hPj zy6}+0wN!9I&lT3s2i>CGiMpxQSJDb|VL0K>4EHykw-n=MP(1_#cJCgjys%p;xU)R$ z?y4ap7r=~5hMf3{3y=8PUT1S~Tu4tm-yguNG^Z$<3g9C!GnaF(^-d`eA?|la=PGW< zqACt=dhvLz_OMD77+Q?ilqAsAxq`G`HyEBz%ZW=MX-=U|T8$N(UD6oe!t(v`u>JYi zoN(*63}dm!srl)FS`sn&dPBp(Pj-yOK$C&evrZi?AQYA<^!v-GnF$009JGH|%)ZY& zR&=K}|10vI_o-Hx!7t4j$D8)k1+PFnkf?@9iH~!3$Pi}ETYa+J&RR8N9BmC<eOUL} z#gH&w^n;62aci4J(t6a}c%RHN=hgf^4tTN7lDW}<>H$hi=uE{ySlaqo05cZ+K++Zg z7W5evxA)g`5Fj}8uSbBHY#Kvv>CmSE(Q#aInLn#uq}wR$-b|5*%re69IuJbgb-)YV zPgZ0*QX=^6D_re*a{t9M?*|7&XAVgGS%%8*HIlY!C8Gj`3+-0oUsV1J)cJwFS7ix; ziwW%G`S)=|0yLxEFl4XJ0LB*TsY5@pIFVh?+dVnIVpQuoJ}xX%K_L27D-&QG@qAYX zR63)c0+udd3VH89aOS3f6;vB5xtx?yuOFhMlSj<GemWlKo2S2qa3noq?8iss5Hpn1 zK4<f1tO`1Rsn)MTzvyMk>O~wPKv^j^c3ZI6hg2j;Vb6f+e@9jGOqgQ;W2z!+K&#W} z*5G^siO6)odMOipoLBAz^)yz|TYF5y^BVZry%_7Bbba~>`Q4sMhYOugQF8g-@}x!i zUR~m^y+!RF!PP~e7Hno0*pky3Z(o*I1mHjyNhnR6EG+mE6n<C2fC;Sey8fIO(?tiZ zWh6{q+R9k9;!&ErCj{!(FaKh`9F09z6eoOc2xDm<#2=wY*Kh0(mwK(Hr#O?q2t3yB z&@?k(;5})?{*42uuKe9`j4fgjrB|PtTZaH$DWlp-bW`^7{R#Ak!DDXjIfS#oP2==S zNq@;d1Q*p)BZaZ~GJAxpW{WDWr)Sm|6O)f`dU5D%h5wdRYadbD=8?4Siv|@_sBYK< zr0Ppi#j9ezGe_ym?Bo231TT&*cc0-ec&&Yej!lRpaY`yTZvI8KDhKAuyXW8|R%JLU zP^56a=peioCT9(;Nm8AX%F#4y$^Nc?qH{czQGHtTtLwE5Cq@9<HF`A|#QqNgG)>&9 zwfO{(*Al`Bt-*6iDQ*CRmB%U1z!}d6+DYx^vao9m3^vjoKw(GdPXF=?10U-cMWY{Y zXyD`zH1O~2Un{v54I3F_E&`gE{b(_`>TOoNe2Dlm{Fz)H1fD<I-ua@IcAJDIzv+4r z0lg3L(xux1Tb`Kq%JC{bLcMmE&M3xK_%`qU?D_|^(XOU@G%1vay_?fOB9E4LuPWys zW2&bxvx~--wDWg$%e5xULuK+u3!==P)9z&I?_c0&W^Sxtj7FI8AbI`|Uz5#THRPys z+5m_Xz!S2cP`13|**I?tEIjcM!H45X<@T|?%y>WptpYl@8@nkPVgf`%E`MZh*uA&G zBsdw~JzqgJab%rmP#Et>dL%t^uj5}S75dLmbY<Lw_xj0-o)(m(%*}@`|Jj9g+wpiZ zcM6VfJ&PjWm=w?9p7bs;(wFuJkeHqlLCtxq_gi6kBK|qg2>XA;wULBX>syqj`K;#7 zRqmluu^_1a(SM1$#2$d}J+HD_2&Y{g6K$3<dFih{lrmgM-Ig06>DG&zAKeepPvh}) zaO#jdu=Q<=C*(OX*Aa7vM-G1!R+?0neAH4u{kh3Z$6ZmQWfVc+o8dno5>!TEXb}#a zNYK~M9jj*8-v|H4QVL(fAE8^2f&na%vvvdsxpn}(wx#_Kdi7>Sr7wpf;ye#ZEn&dW zVgdG*KphnX*r^L>N1V;un8w3CboJ&C4<!Pn7whLtY|}9SDg9D#3HX@v=HC9!UKt-v zd3H2}BGCXR6-2j4kL<boqev-xaSk8xj|je{I;D9Le~J8=_RXghnXW^>)Mk-5)p0j+ z7tSrE-tL+p=*Uqee>4viUj$94;pCO2etrYlfAhj!^B3?>k39NZmi+8oeO+Lc200US zjs*WbKh(MI25ywAxmKA<WEbGEvH5vnWnBWGH5Fo}tXta@5|yoT=0V~WpYh!ykb)D? z;1bm-Xe6NE=>N!qnB60)(bu1yl3doY11^xZbAOeihyw_J76S}A7PQCB06eNXAYc)j z(bxaJ1~jn*V8nA#anvw|Wvj#EX&>(<>h?=eF4bOG>IJZ-9$x%LkNEwRV$Owp)u{`| zD2+T?yx&)Q#3Lm}I+;%Zrv6yrZO3a8bKb^Vj)nAILi3FPyzZ_iK*z<<E$P5_^x+=T zRPr`Mw~S!04|4&gera@1Kz-fXGKl?F{2yNZ`rhSAg(1FTpdS^@z-qQyB>JVMbbrjb z;^Us5#hgFD6)kNBc=;2Y+g$)pOK}eguU%s-_DLA8s{9X<{|z|PVeqxiS?IWx!;(%0 z=*HJoW4wzj+(y^!*aNWIe=h@O(-imrr$A8E5gHl7*mh3}2Z(C=SUk8GZu9;IwM}py zQuwW?;_Z&*Dz8X_q?PekWxysK4Jjn%%0}NB$Xv1lr_%GHfs&*->oX&hZRmH=xHh6b zTX+&M>OuzrZp}LtH&i0{FOXCV%vguzE-4`;f(*+bs=hAnSqeY`HvpynkBA56S1#>L zV<>Q!GjO2%5*S=G7@Um)!GHkkifN_0FfM~Z&w&HH3C?w?BtAl8DeB%rr8d|(YpBR` z(51~K{02l0(i`J@Rnhwzy5&811^|>#sS7?rej(5&rioevq>8Ss<g%j?I)?Y0+^<Sv zuK4yxX8JlpEMG-gKcS#1XF-_p7<gL|byOsfD!Sn8aMb;MVuWjRfo?2>&r6%Uv~Vg* zh7&2@0nR=N9$NIAfQ_GUSaPK8kq}vA&g*&a;y7~;88%CeC<sNW0vYBg2v#0RMgs(w z6Xe}xFrbjFkQ({$7U;~B(c4B}JrI5Urs#Fr>(gd;aBc%z4Z9Y=Q-#tx6cX#_<9^fO z))#U(bDj$Xd<!_UIm!fIPQc^I&Iq2`;(uTws@?(g5k+Z)XqDwx2dMCr9HoB()U85d zCuP+TCt(6_^_|kg%|*5AD<nGZqL^wDu7`eJT)9u{ZuQC%HGe3DdyTqH)Z&1E!H@sF ze$m9aonU>j=Zk$zi)-^r09EvGwl<q-7Gi&sHa7NyXEp~23b>7&bBt?Ww@tvCo^ouy z7pqBJ=ogOt$^U=Pa-vWkUfxhM2WMo&?Icli6P&F2424JNmlfr4tGjNZX#R0l042Tq zDM?<NpwH!MB#OFOvCdG67fU0}v<Mnp?m<vu%Q{a%P*yt*q;8zD(F_5PMC8pMltIs2 z(Zz*A{CP^?LwvcA@9^(@#Q-2N#u|ND=`r|dFwp%Mc4$|k)q?iwE%0gzg0r%>d}8i> G{r>@!OcuKU literal 0 HcmV?d00001 -- GitLab