{"id":23814135,"date":"2026-09-18T16:22:02","date_gmt":"2026-09-18T16:22:02","guid":{"rendered":"https:\/\/socialhackerslab.com\/?page_id=23814135"},"modified":"2026-09-22T01:01:21","modified_gmt":"2026-09-22T01:01:21","slug":"roue-impact-fis-amp-test","status":"publish","type":"page","link":"https:\/\/socialhackerslab.com\/en\/roue-impact-fis-amp-test\/","title":{"rendered":"roue-impact-fis-amp-test"},"content":{"rendered":"<meta charset=\"utf-8\">\r\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\r\n<title>FIS \u2014 L\u2019impact social en perspective<\/title>\r\n<script src=\"https:\/\/d3js.org\/d3.v7.min.js\" type=\"text\/javascript\" data-category=\"functional\" class=\"cmplz-native\"><\/script>\r\n\r\n<style>\r\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Manrope:wght@400;500;600;700;800&display=swap');\r\n\r\nhtml:has(#reu-roue-wp), body:has(#reu-roue-wp){\r\n    margin: 0 !important;\r\n    padding: 0 !important;\r\n    overflow: hidden !important;\r\n}\r\nbody:has(#reu-roue-wp) .entry-title,\r\nbody:has(#reu-roue-wp) .page-title,\r\nbody:has(#reu-roue-wp) h1.elementor-heading-title,\r\nbody:has(#reu-roue-wp) .nv-page-title,\r\nbody:has(#reu-roue-wp) .site-header,\r\nbody:has(#reu-roue-wp) .site-footer{\r\n    display: none !important;\r\n}\r\n\r\n#reu-roue-wp{\r\n    --bg-color: #f6f7f9;\r\n    --text-color: #1f3147;\r\n    --ink-strong: #0e1b2e;\r\n    --muted-text: #64748b;\r\n    --border-color: #e3e7ed;\r\n    --font-family: 'Manrope', sans-serif;\r\n    --chip-bg: rgba(255, 255, 255, 0.92);\r\n    --chip-shadow: 0 1px 2px rgba(14, 27, 46, 0.05), 0 12px 28px rgba(14, 27, 46, 0.07);\r\n\r\n    position: fixed !important;\r\n    inset: 0 !important;\r\n    width: 100vw !important;\r\n    height: 100vh !important;\r\n    z-index: 9999999 !important;\r\n    font-family: var(--font-family) !important;\r\n    background:\r\n        radial-gradient(120% 90% at 50% -10%, #ffffff 0%, #f8f9fb 45%, #eef1f6 100%) !important;\r\n    background-color: var(--bg-color) !important;\r\n    color: var(--text-color) !important;\r\n    overflow: hidden !important;\r\n    display: flex !important;\r\n    flex-direction: column !important;\r\n}\r\n#reu-roue-wp *{ box-sizing: border-box; }\r\n\r\n#reu-roue-wp #app-container{\r\n    display: flex;\r\n    flex-direction: column;\r\n    height: 100%;\r\n    width: 100%;\r\n    position: relative;\r\n}\r\n\r\n\/* ---------- bandeau logos + titre ---------- *\/\r\n\/* Vrai bandeau plein cadre, en flux normal (comme #fis-hdr sur la carte),\r\n   pas une carte flottante par-dessus le disque : les logos portent la\r\n   l\u00e9gitimit\u00e9 institutionnelle, la roue porte la donn\u00e9e juste en dessous. *\/\r\n#reu-roue-wp .brand-row{\r\n    flex-shrink: 0;\r\n    height: 60px;\r\n    display: flex;\r\n    align-items: center;\r\n    gap: 0.9rem;\r\n    padding: 0 1.1rem;\r\n    background: #fff;\r\n    border-bottom: 1px solid var(--border-color);\r\n    box-shadow: 0 2px 10px rgba(14, 27, 46, 0.06);\r\n    z-index: 30;\r\n    position: relative;\r\n}\r\n#reu-roue-wp .brand{\r\n    display: flex;\r\n    align-items: center;\r\n    gap: 0.55rem;\r\n    flex-shrink: 0;\r\n}\r\n#reu-roue-wp .brand .shl-logo{ height: 24px; width: auto; flex-shrink: 0; display: block; }\r\n#reu-roue-wp .brand .sep{ width: 1px; height: 26px; background: var(--border-color); flex-shrink: 0; }\r\n#reu-roue-wp .brand .amp-logo{ height: 26px; width: auto; flex-shrink: 0; display: block; }\r\n#reu-roue-wp .map-title-main{\r\n    margin-left: auto;\r\n    color: var(--ink-strong);\r\n    font-size: 0.95rem;\r\n    font-weight: 850;\r\n    line-height: 1.04;\r\n    white-space: nowrap;\r\n}\r\n\r\n\/* ---------- header (onglets, fil d'Ariane, KPI) ---------- *\/\r\n\/* Reste une carte flottante en coin, sous le bandeau : c'est ce bloc-l\u00e0,\r\n   pas le bandeau, que la roue doit continuer \u00e0 \u00e9viter au redimensionnement. *\/\r\n#reu-roue-wp .header{\r\n    position: absolute;\r\n    top: calc(60px + 1.05rem);\r\n    left: 1.1rem;\r\n    width: fit-content;\r\n    max-width: calc(100vw - 2.2rem);\r\n    z-index: 20;\r\n    pointer-events: none;\r\n}\r\n#reu-roue-wp .toolbar{\r\n    display: flex;\r\n    flex-direction: column;\r\n    align-items: flex-start;\r\n    gap: 0.6rem;\r\n    pointer-events: auto;\r\n}\r\n\r\n#reu-roue-wp .toggle-group{\r\n    display: inline-flex;\r\n    flex-wrap: wrap;\r\n    max-width: min(900px, calc(100vw - 2.2rem));\r\n    gap: 0.4rem;\r\n    padding: 0.35rem;\r\n    border-radius: 22px;\r\n    background: var(--chip-bg);\r\n    box-shadow: var(--chip-shadow);\r\n    border: 1px solid rgba(226, 231, 239, 0.9);\r\n}\r\n#reu-roue-wp .toggle-btn{\r\n    border: none;\r\n    border-radius: 999px;\r\n    padding: 0.58rem 0.82rem;\r\n    background: transparent;\r\n    color: var(--text-color);\r\n    font: inherit;\r\n    font-size: 0.8rem;\r\n    font-weight: 700;\r\n    cursor: pointer;\r\n    transition: transform 0.2s ease, background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;\r\n}\r\n#reu-roue-wp .toggle-btn:hover{ transform: translateY(-1px); background: rgba(255,255,255,0.68); }\r\n#reu-roue-wp .toggle-btn.active{\r\n    color: #fff;\r\n    background: #0e1b2e;\r\n    box-shadow: 0 6px 16px rgba(14, 27, 46, 0.22);\r\n}\r\n\/* L'onglet Freins change de nature de vue (radar, plus roue) : teinte distincte. *\/\r\n#reu-roue-wp .toggle-btn.is-radar.active{\r\n    background: #0e1b2e;\r\n    box-shadow: 0 6px 16px rgba(14, 27, 46, 0.22);\r\n}\r\n\/* L'onglet Fleurs est une troisi\u00e8me nature de vue (galerie) : sa propre teinte. *\/\r\n#reu-roue-wp .toggle-btn.is-flora.active{\r\n    background: #0e1b2e;\r\n    box-shadow: 0 6px 16px rgba(14, 27, 46, 0.22);\r\n}\r\n\r\n\/* ---------- fil d'Ariane ---------- *\/\r\n\/* Le \u00ab \u2039 Retour \u00bb au centre de la roue \u00e9tait le seul moyen de remonter, et il\r\n   ne disait ni o\u00f9 l'on est ni ce qu'on trouve au-dessus. Le fil donne les deux,\r\n   et chaque niveau est cliquable directement. *\/\r\n#reu-roue-wp .crumbs{\r\n    display: flex;\r\n    flex-wrap: wrap;\r\n    align-items: center;\r\n    gap: 0.1rem 0.15rem;\r\n    max-width: min(560px, calc(100vw - 2.2rem));\r\n    padding: 0.25rem 0.55rem;\r\n    border-radius: 999px;\r\n    background: var(--chip-bg);\r\n    border: 1px solid rgba(226, 231, 239, 0.9);\r\n    box-shadow: var(--chip-shadow);\r\n}\r\n#reu-roue-wp .crumbs[hidden]{ display: none; }\r\n#reu-roue-wp .crumb{\r\n    max-width: 15rem;\r\n    padding: 0.22rem 0.4rem;\r\n    border: none;\r\n    border-radius: 999px;\r\n    background: none;\r\n    color: var(--muted-text);\r\n    font: inherit;\r\n    font-size: 0.74rem;\r\n    font-weight: 750;\r\n    line-height: 1.25;\r\n    text-align: left;\r\n    white-space: nowrap;\r\n    overflow: hidden;\r\n    text-overflow: ellipsis;\r\n    cursor: pointer;\r\n}\r\n#reu-roue-wp .crumb:hover{ background: rgba(31, 49, 71, 0.07); color: var(--ink-strong); }\r\n#reu-roue-wp .crumb.is-current{\r\n    color: var(--ink-strong);\r\n    font-weight: 850;\r\n    cursor: default;\r\n}\r\n#reu-roue-wp .crumb.is-current:hover{ background: none; }\r\n#reu-roue-wp .crumb-sep{\r\n    flex: none;\r\n    color: rgba(100, 116, 139, 0.55);\r\n    font-size: 0.74rem;\r\n    font-weight: 800;\r\n}\r\n\r\n\/* ---------- s\u00e9lecteur barres \/ radar ---------- *\/\r\n#reu-roue-wp .radar-modes{\r\n    display: inline-flex;\r\n    gap: 0.3rem;\r\n    padding: 0.28rem;\r\n    border-radius: 18px;\r\n    background: var(--chip-bg);\r\n    box-shadow: var(--chip-shadow);\r\n    border: 1px solid rgba(226, 231, 239, 0.9);\r\n}\r\n#reu-roue-wp .radar-modes[hidden]{ display: none; }\r\n#reu-roue-wp .rmode{\r\n    border: none;\r\n    border-radius: 999px;\r\n    padding: 0.42rem 0.72rem;\r\n    background: transparent;\r\n    color: var(--text-color);\r\n    font: inherit;\r\n    font-size: 0.75rem;\r\n    font-weight: 700;\r\n    cursor: pointer;\r\n    transition: background-color 0.2s ease, color 0.2s ease;\r\n}\r\n#reu-roue-wp .rmode:hover{ background: rgba(255,255,255,0.7); }\r\n#reu-roue-wp .rmode.active{ background: #0e1b2e; color: #fff; }\r\n\r\n\/* ---------- barres class\u00e9es des freins ---------- *\/\r\n#reu-roue-wp .freins-bars{\r\n    position: absolute;\r\n    inset: 0;\r\n    overflow-y: auto;\r\n    padding: 0.8rem 1.4rem 1.4rem;\r\n    display: flex;\r\n    flex-direction: column;\r\n    justify-content: center;\r\n    scrollbar-width: thin;\r\n}\r\n#reu-roue-wp .freins-bars[hidden]{ display: none; }\r\n@media (min-width: 1000px){\r\n    #reu-roue-wp .freins-bars{ padding-left: 22rem; padding-right: 3rem; }\r\n}\r\n#reu-roue-wp .fb-caption{\r\n    margin: 0 0 1rem;\r\n    font-size: 0.78rem;\r\n    font-weight: 650;\r\n    line-height: 1.45;\r\n    color: var(--muted-text);\r\n    max-width: 70ch;\r\n}\r\n#reu-roue-wp .fb-row{\r\n    display: grid;\r\n    grid-template-columns: 2.6rem minmax(6rem, 12rem) 1fr 4.4rem;\r\n    align-items: center;\r\n    gap: 0.7rem;\r\n    padding: 0.32rem 0;\r\n}\r\n#reu-roue-wp .fb-code{\r\n    font-size: 0.78rem;\r\n    font-weight: 900;\r\n    color: #334155;\r\n}\r\n#reu-roue-wp .fb-label{\r\n    font-size: 0.82rem;\r\n    font-weight: 700;\r\n    color: var(--text-color);\r\n    line-height: 1.25;\r\n}\r\n#reu-roue-wp .fb-track{\r\n    height: 15px;\r\n    border-radius: 4px;\r\n    background: rgba(31, 49, 71, 0.07);\r\n    overflow: hidden;\r\n}\r\n#reu-roue-wp .fb-fill{\r\n    display: block;\r\n    height: 100%;\r\n    border-radius: 4px;\r\n    background: #334155;\r\n    transition: width 0.5s cubic-bezier(0.22, 1, 0.36, 1);\r\n}\r\n#reu-roue-wp .fb-val{\r\n    font-size: 0.8rem;\r\n    font-weight: 800;\r\n    color: var(--ink-strong);\r\n    text-align: right;\r\n    white-space: nowrap;\r\n}\r\n#reu-roue-wp .fb-val span{ color: var(--muted-text); font-weight: 650; }\r\n@media (max-width: 720px){\r\n    #reu-roue-wp .freins-bars{ padding-bottom: 26vh; }\r\n    #reu-roue-wp .fb-row{ grid-template-columns: 2.3rem 1fr 3.6rem; }\r\n    #reu-roue-wp .fb-track{ grid-column: 1 \/ -1; }\r\n}\r\n\r\n\/* ---------- galerie des fleurs ---------- *\/\r\n\/* La roue ne montre qu'une empreinte \u00e0 la fois, dans la fiche ouverte. Ici les\r\n   fleurs sont c\u00f4te \u00e0 c\u00f4te : on compare les silhouettes d'un coup d'oeil,\r\n   th\u00e9matique par th\u00e9matique, et un clic ouvre la fiche correspondante.\r\n   Le panneau commence SOUS le bandeau (top pos\u00e9 en JS) au lieu de passer\r\n   dessous en d\u00e9filant : rien ne vient plus se lire \u00e0 travers les KPI. *\/\r\n#reu-roue-wp .flora-grid{\r\n    position: absolute;\r\n    inset: 0;\r\n    overflow-y: auto;\r\n    padding: 0.1rem 1.4rem 2rem;\r\n    scrollbar-width: thin;\r\n}\r\n#reu-roue-wp .flora-grid[hidden]{ display: none; }\r\n\/* Au-del\u00e0 de 1000 px la galerie se lit en DEUX COLONNES : le chapeau et la cl\u00e9\r\n   de lecture \u00e0 gauche, les rang\u00e9es de fleurs \u00e0 droite. La goutti\u00e8re de gauche\r\n   existait d\u00e9j\u00e0, pour que les cartes ne passent pas sous la l\u00e9gende des\r\n   th\u00e9matiques, mais toute sa partie haute restait vide : le texte \u00e9tait refoul\u00e9\r\n   vers la droite et vers le bas, et l'on entrait dans la page par un grand\r\n   blanc. Le chapeau vient l'occuper, et les fleurs remontent d'autant. *\/\r\n@media (min-width: 1000px){\r\n    #reu-roue-wp .flora-grid{\r\n        display: grid;\r\n        grid-template-columns: 19rem minmax(0, 1fr);\r\n        column-gap: 1.5rem;\r\n        align-content: start;\r\n        padding-left: 1.4rem;\r\n        padding-right: 2.4rem;\r\n    }\r\n    \/* La colonne reste sous les yeux pendant qu'on fait d\u00e9filer les fleurs.\r\n       Le filtre par th\u00e9matique \u00e9tait une bo\u00eete flottante, toujours visible :\r\n       le ranger dans le flux ne doit pas le faire dispara\u00eetre au premier coup\r\n       de molette. Sa hauteur est born\u00e9e par renderFlora, \u00e0 la hauteur visible\r\n       de la galerie, pour que son bas reste toujours atteignable. *\/\r\n    #reu-roue-wp .fg-intro{\r\n        grid-column: 1;\r\n        grid-row: 1;\r\n        align-self: start;\r\n        position: sticky;\r\n        top: 0;\r\n        overflow-y: auto;\r\n        scrollbar-width: thin;\r\n    }\r\n    #reu-roue-wp .fg-body{ grid-column: 2; grid-row: 1; }\r\n    \/* En colonne \u00e9troite, la cl\u00e9 se lit mieux empil\u00e9e qu'en une ligne\r\n       cass\u00e9e en quatre morceaux in\u00e9gaux. *\/\r\n    #reu-roue-wp .fg-key{ flex-direction: column; gap: 0.55rem; margin-bottom: 0; }\r\n}\r\n\/* La place gagn\u00e9e en repliant le filtre revient au texte, elle ne se garde\r\n   pas en blanc : dans une colonne de dix-neuf cadratins, un chapeau de cinq\r\n   lignes se lit d'autant mieux qu'on lui donne de l'interligne. *\/\r\n#reu-roue-wp .fg-caption{\r\n    margin: 0 0 0.85rem;\r\n    max-width: 70ch;\r\n    font-size: 0.85rem;\r\n    font-weight: 600;\r\n    line-height: 1.6;\r\n    color: var(--muted-text);\r\n}\r\n\/* Rappel des quatre couches : sans lui les silhouettes ne se d\u00e9codent pas.\r\n   Le glyphe est enferm\u00e9 dans une bo\u00eete de taille fixe et le SVG remplit\r\n   celle-ci : le th\u00e8me du site ne peut plus lui imposer sa propre taille. *\/\r\n#reu-roue-wp .fg-key{\r\n    display: flex;\r\n    flex-wrap: wrap;\r\n    gap: 0.45rem 1.1rem;\r\n    margin: 0 0 1rem;\r\n    padding: 0.6rem 0.75rem;\r\n    list-style: none;\r\n    border-radius: 12px;\r\n    background: rgba(255, 255, 255, 0.7);\r\n    border: 1px solid rgba(226, 231, 239, 0.9);\r\n}\r\n#reu-roue-wp .fg-key li{\r\n    display: flex;\r\n    align-items: center;\r\n    gap: 0.5rem;\r\n    font-size: 0.8rem;\r\n    font-weight: 700;\r\n    line-height: 1.35;\r\n    color: var(--muted-text);\r\n}\r\n#reu-roue-wp .fg-glyph-box{\r\n    display: block;\r\n    flex: none;\r\n    line-height: 0;\r\n}\r\n#reu-roue-wp .fg-glyph-box > svg{\r\n    display: block;\r\n    width: 100% !important;\r\n    height: 100% !important;\r\n}\r\n#reu-roue-wp .fg-key .fg-glyph-box{ width: 26px; height: 26px; }\r\n#reu-roue-wp .fg-theme{\r\n    display: flex;\r\n    align-items: center;\r\n    gap: 0.4rem;\r\n    margin: 0.9rem 0 0.45rem;\r\n    font-size: 0.7rem;\r\n    font-weight: 900;\r\n    letter-spacing: 0.08em;\r\n    text-transform: uppercase;\r\n    color: var(--ink-strong);\r\n}\r\n#reu-roue-wp .fg-theme:first-of-type{ margin-top: 0; }\r\n#reu-roue-wp .fg-theme-count{\r\n    font-size: 0.68rem;\r\n    font-weight: 750;\r\n    letter-spacing: 0;\r\n    text-transform: none;\r\n    color: var(--muted-text);\r\n}\r\n#reu-roue-wp .fg-cards{\r\n    display: grid;\r\n    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));\r\n    grid-auto-rows: 1fr;   \/* toutes les rang\u00e9es \u00e0 la m\u00eame hauteur *\/\r\n    gap: 0.55rem;\r\n}\r\n\/* Carte en <div> et non en <button> : le contenu d'un bouton est mis en page\r\n   par le navigateur dans une bo\u00eete anonyme que les th\u00e8mes WordPress\r\n   redimensionnent, et le texte d\u00e9bordait sous la carte. *\/\r\n#reu-roue-wp .fg-card{\r\n    display: flex;\r\n    flex-direction: column;\r\n    align-items: center;\r\n    height: 100%;\r\n    gap: 0.25rem;\r\n    padding: 0.7rem 0.5rem 0.65rem;\r\n    border: 1px solid rgba(226, 231, 239, 0.9);\r\n    border-radius: 14px;\r\n    background: rgba(255, 255, 255, 0.82);\r\n    font-family: var(--font-family);\r\n    color: var(--text-color);\r\n    text-align: center;\r\n    overflow: hidden;\r\n    cursor: pointer;\r\n    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;\r\n}\r\n#reu-roue-wp .fg-card:hover{\r\n    transform: translateY(-2px);\r\n    box-shadow: var(--chip-shadow);\r\n    border-color: var(--card-color);\r\n}\r\n#reu-roue-wp .fg-card:focus-visible{\r\n    outline: 2px solid var(--card-color);\r\n    outline-offset: 2px;\r\n}\r\n#reu-roue-wp .fg-card.is-selected{\r\n    border-color: var(--card-color);\r\n    box-shadow: 0 0 0 2px var(--card-color);\r\n}\r\n#reu-roue-wp .fg-card .fg-glyph-box{ width: 84px; height: 84px; margin-bottom: 0.15rem; }\r\n\/* Deux lignes maximum par libell\u00e9 : au-del\u00e0, une carte s'\u00e9tirait et toute la\r\n   rang\u00e9e avec elle. Le nom complet reste dans l'infobulle et dans la fiche. *\/\r\n#reu-roue-wp .fg-name,\r\n#reu-roue-wp .fg-proj{\r\n    display: -webkit-box;\r\n    -webkit-box-orient: vertical;\r\n    -webkit-line-clamp: 2;\r\n    line-clamp: 2;\r\n    overflow: hidden;\r\n    max-width: 100%;\r\n    overflow-wrap: anywhere;\r\n}\r\n#reu-roue-wp .fg-name{\r\n    font-size: 0.73rem;\r\n    font-weight: 800;\r\n    line-height: 1.2;\r\n    min-height: 2.4em;     \/* 2 lignes r\u00e9serv\u00e9es, remplies ou non *\/\r\n    color: var(--ink-strong);\r\n}\r\n#reu-roue-wp .fg-proj{\r\n    font-size: 0.65rem;\r\n    font-weight: 600;\r\n    line-height: 1.25;\r\n    min-height: 2.5em;     \/* idem : la carte ne d\u00e9pend plus du texte *\/\r\n    color: var(--muted-text);\r\n}\r\n#reu-roue-wp .fg-score{\r\n    margin-top: 0.15rem;\r\n    font-size: 0.63rem;\r\n    font-weight: 900;\r\n    letter-spacing: 0.05em;\r\n    color: var(--card-color);\r\n}\r\n\/* Aucune dimension renseign\u00e9e : la carte le dit en gris plut\u00f4t que d'afficher\r\n   un score color\u00e9 pour un z\u00e9ro. *\/\r\n#reu-roue-wp .fg-card.is-empty .fg-score{ color: var(--muted-text); }\r\n@media (max-width: 720px){\r\n    #reu-roue-wp .flora-grid{ padding-bottom: 26vh; }\r\n    #reu-roue-wp .fg-cards{ grid-template-columns: repeat(auto-fill, minmax(124px, 1fr)); }\r\n    #reu-roue-wp .fg-card .fg-glyph-box{ width: 68px; height: 68px; }\r\n}\r\n\r\n\/* ---------- impact du FIS dans la fiche ---------- *\/\r\n\/* Glyphe composite de quatre couches superpos\u00e9es, une par indicateur\r\n   d\u2019impact, sur le mod\u00e8le des petites multiples d\u2019Information is Beautiful.\r\n   Couche PR\u00c9SENTE = dimension renseign\u00e9e, ABSENTE = non renseign\u00e9e. La\r\n   silhouette dit en un coup d\u2019oeil ce que l\u2019association documente, avant m\u00eame\r\n   de lire les textes.\r\n   Palette assombrie par rapport \u00e0 l\u2019affiche d\u2019origine : la fiche est sur fond\r\n   clair, le jaune vif et le turquoise p\u00e2le s\u2019y effaceraient. *\/\r\n#reu-roue-wp .detail-flora{\r\n    margin: 0 0 1rem;\r\n    padding: 0.75rem 0.7rem 0.55rem;\r\n    border-radius: 14px;\r\n    background: rgba(255, 255, 255, 0.82);\r\n    border: 1px solid rgba(226, 231, 239, 0.9);\r\n}\r\n#reu-roue-wp .fl-top{\r\n    display: flex;\r\n    align-items: center;\r\n    gap: 0.85rem;\r\n    padding: 0 0.15rem 0.5rem;\r\n}\r\n#reu-roue-wp .detail-flora .fl-glyph{\r\n    flex: none;\r\n    width: 92px;\r\n    height: 92px;\r\n}\r\n#reu-roue-wp .fl-read-body{\r\n    flex: 1;\r\n    min-width: 0;\r\n}\r\n#reu-roue-wp .fl-read-title{\r\n    display: flex;\r\n    align-items: baseline;\r\n    gap: 0.4rem;\r\n    margin: 0 0 0.3rem;\r\n    font-size: 0.62rem;\r\n    font-weight: 900;\r\n    letter-spacing: 0.09em;\r\n    text-transform: uppercase;\r\n    color: var(--muted-text);\r\n}\r\n#reu-roue-wp .fl-read-score{\r\n    margin-left: auto;\r\n    font-size: 0.78rem;\r\n    font-weight: 900;\r\n    letter-spacing: 0;\r\n    text-transform: none;\r\n    white-space: nowrap;\r\n    color: var(--ink-strong);\r\n}\r\n#reu-roue-wp .fl-read-hint{\r\n    margin: 0;\r\n    font-size: 0.7rem;\r\n    font-weight: 600;\r\n    line-height: 1.35;\r\n    color: var(--muted-text);\r\n}\r\n#reu-roue-wp .fl-read{\r\n    margin: 0;\r\n    padding: 0;\r\n    list-style: none;\r\n    border-top: 1px solid rgba(226, 231, 239, 0.9);\r\n}\r\n#reu-roue-wp .fl-read li + li{ border-top: 1px solid rgba(226, 231, 239, 0.7); }\r\n\r\n\/* Chaque dimension est un volet : la ligne se clique, le texte du porteur se\r\n   d\u00e9plie juste dessous. Le texte vit ainsi \u00e0 c\u00f4t\u00e9 de sa pastille, au lieu\r\n   d'\u00eatre renvoy\u00e9 dans un pav\u00e9 plus bas dans la fiche. *\/\r\n#reu-roue-wp .fl-line{\r\n    display: flex;\r\n    align-items: center;\r\n    gap: 0.45rem;\r\n    width: 100%;\r\n    padding: 0.45rem 0.3rem;\r\n    border: none;\r\n    border-radius: 8px;\r\n    background: none;\r\n    font: inherit;\r\n    font-size: 0.74rem;\r\n    font-weight: 750;\r\n    line-height: 1.25;\r\n    text-align: left;\r\n    color: var(--text-color);\r\n    cursor: pointer;\r\n}\r\n#reu-roue-wp .fl-line:hover{ background: rgba(31, 49, 71, 0.05); }\r\n#reu-roue-wp .fl-line:disabled{ cursor: default; opacity: 0.55; }\r\n#reu-roue-wp .fl-line:disabled:hover{ background: none; }\r\n#reu-roue-wp .fl-label{ min-width: 0; }\r\n#reu-roue-wp .fl-read li.is-none .fl-line{ color: var(--muted-text); }\r\n#reu-roue-wp .fl-state{\r\n    margin-left: auto;\r\n    padding-left: 0.4rem;\r\n    font-size: 0.66rem;\r\n    font-weight: 750;\r\n    white-space: nowrap;\r\n    color: var(--muted-text);\r\n}\r\n#reu-roue-wp .fl-caret{\r\n    flex: none;\r\n    width: 0;\r\n    height: 0;\r\n    margin-left: 0.1rem;\r\n    border-left: 4px solid transparent;\r\n    border-right: 4px solid transparent;\r\n    border-top: 5px solid rgba(100, 116, 139, 0.75);\r\n    transition: transform 0.18s ease;\r\n}\r\n#reu-roue-wp .fl-line[aria-expanded=\"true\"]{ color: var(--ink-strong); }\r\n#reu-roue-wp .fl-line[aria-expanded=\"true\"] .fl-caret{ transform: rotate(180deg); }\r\n#reu-roue-wp .fl-text{\r\n    padding: 0.1rem 0.35rem 0.6rem 1.05rem;\r\n    border-left: 2px solid rgba(31, 49, 71, 0.12);\r\n    margin-left: 0.35rem;\r\n}\r\n#reu-roue-wp .fl-text[hidden]{ display: none; }\r\n#reu-roue-wp .fl-text p{\r\n    margin: 0;\r\n    font-size: 0.79rem;\r\n    font-weight: 500;\r\n    line-height: 1.5;\r\n    white-space: pre-line;\r\n    color: #334155;\r\n}\r\n@media (max-width: 1000px){\r\n    #reu-roue-wp .fl-top{ gap: 0.7rem; }\r\n    #reu-roue-wp .detail-flora .fl-glyph{ width: 76px; height: 76px; }\r\n}\r\n\r\n\r\n\/* ---------- freins dans la fiche projet ---------- *\/\r\n\/* Un radar y tra\u00e7ait quatre valeurs BINAIRES : le point \u00e9tait soit au centre\r\n   soit au bord, donc le polygone d\u00e9g\u00e9n\u00e9rait (un seul frein = un trait d\u2019aire\r\n   nulle) et deux projets \u00e0 \u00ab 2 freins sur 4 \u00bb donnaient des dessins sans\r\n   rapport selon la position des familles sur le cercle. La forme ne disait\r\n   rien, et le bloc devait s\u2019excuser en note. Rempla\u00e7\u00e9 par le m\u00eame panneau que\r\n   l\u2019empreinte : quatre familles toujours list\u00e9es, pastille pleine ou anneau\r\n   vide. La fiche n\u2019a plus qu\u2019une seule grammaire de lecture. *\/\r\n#reu-roue-wp .detail-flora.is-freins .fl-top{ padding-bottom: 0.4rem; }\r\n\/* Vignette de la barri\u00e8re, \u00e0 la place de la pastille ronde de l\u2019empreinte :\r\n   c\u2019est elle qui rend le grand glyphe d\u00e9codable sans l\u00e9gende s\u00e9par\u00e9e. *\/\r\n#reu-roue-wp .fl-shape{\r\n    flex: none;\r\n    width: 19px;\r\n    height: 19px;\r\n    color: #334155;\r\n}\r\n#reu-roue-wp .fl-read li.is-none .fl-shape{ color: #aab3c0; opacity: 0.7; }\r\n\/* Les quatre familles ne se d\u00e9plient pas : le texte des freins est un seul\r\n   bloc r\u00e9dig\u00e9, pas un texte par famille. Elles ne doivent donc pas para\u00eetre\r\n   cliquables. *\/\r\n#reu-roue-wp .fl-line.is-static{ cursor: default; }\r\n#reu-roue-wp .fl-line.is-static:hover{ background: none; }\r\n#reu-roue-wp .fl-read li.is-more .fl-label{ font-weight: 800; color: var(--muted-text); }\r\n#reu-roue-wp .fl-read li.is-more .fl-line[aria-expanded=\"true\"] .fl-label{ color: var(--ink-strong); }\r\n\r\n\r\n\/* ---------- radar des freins ---------- *\/\r\n#reu-roue-wp path.radar-area{ fill: rgba(51, 65, 85, 0.13); stroke: #334155; stroke-width: 2px; stroke-linejoin: round; }\r\n#reu-roue-wp circle.radar-pt{ fill: #334155; stroke: #fff; stroke-width: 2px; cursor: help; }\r\n#reu-roue-wp .radar-grid circle{ fill: none; stroke: rgba(31, 49, 71, 0.12); }\r\n#reu-roue-wp .radar-grid line{ stroke: rgba(31, 49, 71, 0.14); }\r\n#reu-roue-wp text.radar-axis{\r\n    font-family: var(--font-family) !important;\r\n    font-size: 12.5px;\r\n    font-weight: 750;\r\n    fill: #1f3147;\r\n}\r\n#reu-roue-wp text.radar-axis tspan.code{ fill: #334155; font-weight: 850; }\r\n#reu-roue-wp text.radar-val{\r\n    font-family: var(--font-family) !important;\r\n    font-size: 12px;\r\n    font-weight: 850;\r\n    fill: #0e1b2e;\r\n    text-anchor: middle;\r\n}\r\n#reu-roue-wp text.radar-ring{\r\n    font-family: var(--font-family) !important;\r\n    font-size: 10.5px;\r\n    font-weight: 700;\r\n    fill: #64748b;\r\n    text-anchor: middle;\r\n}\r\n\r\n\/* ---------- KPI ---------- *\/\r\n#reu-roue-wp .kpi-row{\r\n    display: flex;\r\n    gap: 0.5rem;\r\n    flex-wrap: wrap;\r\n}\r\n#reu-roue-wp .kpi{\r\n    padding: 0.5rem 0.75rem;\r\n    border-radius: 14px;\r\n    background: var(--chip-bg);\r\n    border: 1px solid rgba(226, 231, 239, 0.9);\r\n    box-shadow: var(--chip-shadow);\r\n    min-width: 92px;\r\n}\r\n#reu-roue-wp .kpi-value{\r\n    display: block;\r\n    color: var(--ink-strong);\r\n    font-size: 1.02rem;\r\n    font-weight: 850;\r\n    line-height: 1.1;\r\n}\r\n#reu-roue-wp .kpi-label{\r\n    display: block;\r\n    margin-top: 0.1rem;\r\n    color: var(--muted-text);\r\n    font-size: 0.64rem;\r\n    font-weight: 800;\r\n    letter-spacing: 0.06em;\r\n    text-transform: uppercase;\r\n}\r\n\r\n\/* ---------- layout ---------- *\/\r\n#reu-roue-wp .main-content{\r\n    display: flex;\r\n    flex: 1;\r\n    position: relative;\r\n    overflow: hidden;\r\n}\r\n#reu-roue-wp #chart-container{\r\n    flex: 1;\r\n    position: relative;\r\n    min-width: 0;\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n}\r\n#reu-roue-wp #chart-container svg{\r\n    width: 100%;\r\n    height: 100%;\r\n    display: block;\r\n    touch-action: manipulation;\r\n}\r\n\r\n\/* ---------- l\u00e9gende ---------- *\/\r\n#reu-roue-wp .legend{\r\n    position: absolute;\r\n    left: 1.1rem;\r\n    bottom: 1.1rem;\r\n    z-index: 15;\r\n    padding: 0.65rem 0.8rem 0.7rem;\r\n    border-radius: 18px;\r\n    background: var(--chip-bg);\r\n    border: 1px solid rgba(226, 231, 239, 0.9);\r\n    box-shadow: var(--chip-shadow);\r\n    max-width: min(300px, calc(100vw - 2.2rem));\r\n    max-height: 46vh;\r\n    overflow-y: auto;\r\n    scrollbar-width: thin;\r\n}\r\n\/* Rang\u00e9e dans la colonne de la galerie : elle reprend sa place dans le flux,\r\n   sous la cl\u00e9 de lecture, et rend son ombre port\u00e9e, qui n'a plus lieu d'\u00eatre\r\n   puisqu'elle ne flotte plus au-dessus de rien. *\/\r\n#reu-roue-wp .legend.is-inline{\r\n    position: static;\r\n    max-width: none;\r\n    max-height: none;\r\n    margin-top: 0.7rem;\r\n    padding: 0.7rem 0.75rem 0.75rem;\r\n    box-shadow: none;\r\n    overflow: visible;\r\n}\r\n#reu-roue-wp .legend-title{\r\n    margin: 0 0 0.45rem;\r\n    font-size: 0.66rem;\r\n    font-weight: 850;\r\n    letter-spacing: 0.08em;\r\n    text-transform: uppercase;\r\n    color: var(--muted-text);\r\n}\r\n#reu-roue-wp .legend-list{\r\n    list-style: none;\r\n    margin: 0;\r\n    padding: 0;\r\n    display: flex;\r\n    flex-direction: column;\r\n    gap: 0.28rem;\r\n}\r\n\/* Filtre repli\u00e9 en menu, dans la galerie seulement : neuf lignes de\r\n   th\u00e9matiques y prenaient plus de haut que les fleurs qu'elles servent \u00e0\r\n   trier. Le menu se d\u00e9plie DANS le flux et non en calque, parce que la\r\n   colonne qui le porte est collante et d\u00e9file toute seule : un calque y\r\n   serait rogn\u00e9 au premier d\u00e9bordement. *\/\r\n#reu-roue-wp .legend-trigger{ display: none; }\r\n#reu-roue-wp .legend.is-menu .legend-trigger{\r\n    display: flex;\r\n    align-items: center;\r\n    gap: 0.6rem;\r\n    width: 100%;\r\n    padding: 0.5rem 0.6rem;\r\n    border: 1px solid rgba(226, 231, 239, 0.9);\r\n    border-radius: 11px;\r\n    background: rgba(255, 255, 255, 0.85);\r\n    font-family: var(--font-family);\r\n    font-size: 0.83rem;\r\n    font-weight: 750;\r\n    line-height: 1.35;\r\n    color: var(--ink-strong);\r\n    text-align: left;\r\n    cursor: pointer;\r\n}\r\n#reu-roue-wp .legend.is-menu .legend-trigger:hover{ border-color: rgba(31, 49, 71, 0.35); }\r\n#reu-roue-wp .legend-caret{\r\n    flex: none;\r\n    margin-left: auto;\r\n    color: var(--muted-text);\r\n    transition: transform 0.15s ease;\r\n}\r\n#reu-roue-wp .legend.is-open .legend-caret{ transform: rotate(180deg); }\r\n#reu-roue-wp .legend.is-menu .legend-list{ display: none; }\r\n#reu-roue-wp .legend.is-menu.is-open .legend-list{ display: flex; margin-top: 0.3rem; }\r\n\/* Menu ouvert : fond opaque. La l\u00e9gende est une pastille translucide pos\u00e9e sur\r\n   la sc\u00e8ne, ce qui passe tr\u00e8s bien pour une ligne de titre, beaucoup moins\r\n   pour dix lignes de menu sous lesquelles on lirait les noms des fleurs. *\/\r\n#reu-roue-wp .legend.is-menu.is-open{ background: #ffffff; }\r\n\/* Dans la galerie, replier le filtre a lib\u00e9r\u00e9 de la hauteur : elle revient au\r\n   texte. Sur les Freins la l\u00e9gende reste d\u00e9ploy\u00e9e dans une bo\u00eete born\u00e9e \u00e0 46 %\r\n   de l'\u00e9cran, o\u00f9 le m\u00eame surcro\u00eet d'air faisait sortir la derni\u00e8re th\u00e9matique\r\n   du cadre. C'est donc le menu, et lui seul, qui respire. *\/\r\n#reu-roue-wp .legend.is-menu .legend-title{ margin-bottom: 0.5rem; font-size: 0.7rem; }\r\n#reu-roue-wp .legend.is-menu .legend-list{ gap: 0.4rem; }\r\n#reu-roue-wp .legend.is-menu .legend-item{\r\n    gap: 0.6rem;\r\n    font-size: 0.83rem;\r\n    line-height: 1.4;\r\n    padding: 0.22rem 0.3rem;\r\n}\r\n#reu-roue-wp .legend.is-menu .legend-item.legend-all{ padding-left: calc(0.3rem + 10px + 0.6rem); }\r\n#reu-roue-wp .legend.is-menu .legend-count{ font-size: 0.76rem; }\r\n#reu-roue-wp .legend-item{\r\n    display: flex;\r\n    align-items: baseline;\r\n    gap: 0.55rem;\r\n    font-size: 0.78rem;\r\n    font-weight: 700;\r\n    line-height: 1.25;\r\n    color: var(--text-color);\r\n    cursor: pointer;\r\n    border: none;\r\n    background: none;\r\n    font-family: inherit;\r\n    padding: 0.12rem 0.2rem;\r\n    border-radius: 8px;\r\n    text-align: left;\r\n    width: 100%;\r\n}\r\n#reu-roue-wp .legend-item:hover{ background: rgba(255,255,255,0.9); }\r\n\/* \u00ab Toutes les th\u00e9matiques \u00bb n'a pas de pastille : on lui en r\u00e9serve la place,\r\n   sinon la premi\u00e8re ligne du menu part plus \u00e0 gauche que les neuf autres. *\/\r\n#reu-roue-wp .legend-item.legend-all{ padding-left: calc(0.2rem + 10px + 0.55rem); }\r\n#reu-roue-wp .legend-item.is-on{\r\n    background: rgba(31, 49, 71, 0.07);\r\n    box-shadow: inset 0 0 0 1px rgba(31, 49, 71, 0.28);\r\n}\r\n#reu-roue-wp .legend-dot{\r\n    flex: none;\r\n    width: 10px;\r\n    height: 10px;\r\n    border-radius: 999px;\r\n    background: var(--dot-color, currentColor);\r\n    box-shadow: inset 0 0 0 1px rgba(18, 40, 63, 0.16);\r\n    transform: translateY(1px);\r\n}\r\n#reu-roue-wp .legend-count{\r\n    margin-left: auto;\r\n    color: var(--muted-text);\r\n    font-size: 0.72rem;\r\n    font-weight: 700;\r\n    padding-left: 0.4rem;\r\n}\r\n\r\n\/* ---------- panneau d\u00e9tail ---------- *\/\r\n#reu-roue-wp .detail{\r\n    flex: 0 0 clamp(300px, 27vw, 420px);\r\n    align-self: stretch;\r\n    margin: 1rem 1rem 1rem 0;\r\n    padding: 1.1rem 1.15rem 1.4rem;\r\n    border-radius: 22px;\r\n    background: rgba(248, 250, 252, 0.95);\r\n    border: 1px solid var(--border-color);\r\n    box-shadow: var(--chip-shadow);\r\n    overflow-y: auto;\r\n    display: none;\r\n    scrollbar-width: thin;\r\n}\r\n#reu-roue-wp .detail.is-open{\r\n    display: block;\r\n    animation: detailIn 0.34s cubic-bezier(0.22, 1, 0.36, 1);\r\n}\r\n@keyframes detailIn{\r\n    from { opacity: 0; transform: translateX(14px); }\r\n    to { opacity: 1; transform: translateX(0); }\r\n}\r\n#reu-roue-wp .detail-close{\r\n    float: right;\r\n    border: none;\r\n    background: rgba(31, 49, 71, 0.07);\r\n    color: var(--text-color);\r\n    width: 28px;\r\n    height: 28px;\r\n    border-radius: 999px;\r\n    font-size: 1rem;\r\n    font-weight: 800;\r\n    cursor: pointer;\r\n    line-height: 1;\r\n}\r\n#reu-roue-wp .detail-close:hover{ background: rgba(31, 49, 71, 0.14); }\r\n#reu-roue-wp .detail-theme{\r\n    display: inline-flex;\r\n    align-items: center;\r\n    gap: 0.4rem;\r\n    font-size: 0.66rem;\r\n    font-weight: 850;\r\n    letter-spacing: 0.08em;\r\n    text-transform: uppercase;\r\n    color: var(--theme-color-text, var(--theme-color, var(--muted-text)));\r\n}\r\n#reu-roue-wp .detail-theme .legend-dot{ background: var(--theme-color); }\r\n#reu-roue-wp .detail-title{\r\n    margin: 0.4rem 0 0.1rem;\r\n    font-size: 1.12rem;\r\n    font-weight: 850;\r\n    line-height: 1.2;\r\n    color: var(--ink-strong);\r\n}\r\n#reu-roue-wp .detail-porteur{\r\n    margin: 0 0 0.85rem;\r\n    font-size: 0.86rem;\r\n    font-weight: 700;\r\n    color: var(--muted-text);\r\n}\r\n\/* Le r\u00e9sum\u00e9 \u00e9tait le seul bloc de la fiche sans intitul\u00e9 : on le titre comme\r\n   les autres, sinon il se lit comme une suite du bandeau d'empreinte. *\/\r\n#reu-roue-wp .detail-confid{\r\n    margin: 1rem 0 0.2rem;\r\n    padding-top: 0.55rem;\r\n    border-top: 1px solid rgba(226, 231, 239, 0.9);\r\n    font-size: 0.62rem;\r\n    font-weight: 500;\r\n    font-style: italic;\r\n    line-height: 1.45;\r\n    color: #64748b;\r\n}\r\n#reu-roue-wp .detail-resume-title{\r\n    margin: 0 0 0.3rem;\r\n    font-size: 0.66rem;\r\n    font-weight: 850;\r\n    letter-spacing: 0.07em;\r\n    text-transform: uppercase;\r\n    color: var(--muted-text);\r\n}\r\n#reu-roue-wp .detail-resume{\r\n    margin: 0 0 1rem;\r\n    padding: 0.75rem 0.85rem;\r\n    border-radius: 12px;\r\n    background: rgba(255, 255, 255, 0.82);\r\n    border: 1px solid rgba(226, 231, 239, 0.9);\r\n    border-left: 3px solid var(--theme-color-text, var(--theme-color, #1f3147));\r\n    font-size: 0.84rem;\r\n    font-weight: 500;\r\n    line-height: 1.5;\r\n    color: #334155;\r\n    white-space: pre-wrap;\r\n    overflow-wrap: anywhere;\r\n}\r\n#reu-roue-wp .detail-resume.is-nr{ color: #94a3b8; font-style: italic; }\r\n#reu-roue-wp .detail-stats{\r\n    display: grid;\r\n    grid-template-columns: repeat(2, minmax(0, 1fr));\r\n    gap: 0.45rem;\r\n    margin-bottom: 1rem;\r\n}\r\n#reu-roue-wp .detail-stat{\r\n    padding: 0.5rem 0.6rem;\r\n    border-radius: 12px;\r\n    background: rgba(255,255,255,0.8);\r\n    border: 1px solid rgba(226, 231, 239, 0.85);\r\n}\r\n#reu-roue-wp .detail-stat b{\r\n    display: block;\r\n    font-size: 0.95rem;\r\n    font-weight: 850;\r\n    color: var(--ink-strong);\r\n    line-height: 1.15;\r\n}\r\n#reu-roue-wp .detail-stat span{\r\n    display: block;\r\n    margin-top: 0.1rem;\r\n    font-size: 0.6rem;\r\n    font-weight: 800;\r\n    letter-spacing: 0.06em;\r\n    text-transform: uppercase;\r\n    color: var(--muted-text);\r\n}\r\n\/* Les trois chiffres (FIS, budget, part) tiennent en un mot : gros et gras\r\n   leur va bien. Personnes touch\u00e9es \/ Actions \/ Partenaires sont parfois des\r\n   phrases enti\u00e8res \u00e9crites par le porteur \u2014 la m\u00eame graisse compacte les\r\n   rendait tass\u00e9es et \"coup\u00e9es\" \u00e0 l'\u0153il d\u00e8s que la carte se retrouvait sur\r\n   une moiti\u00e9 de grille. Ces cases-l\u00e0 prennent toute la largeur et un texte\r\n   de paragraphe, pas un chiffre. *\/\r\n#reu-roue-wp .detail-stat--text{ grid-column: 1 \/ -1; }\r\n#reu-roue-wp .detail-stat--text b{\r\n    font-size: 0.79rem;\r\n    font-weight: 500;\r\n    line-height: 1.5;\r\n    letter-spacing: 0;\r\n    text-transform: none;\r\n    color: var(--ink-strong);\r\n}\r\n#reu-roue-wp .detail-block{ margin-bottom: 0.9rem; }\r\n#reu-roue-wp .detail-block h4{\r\n    margin: 0 0 0.25rem;\r\n    font-size: 0.66rem;\r\n    font-weight: 850;\r\n    letter-spacing: 0.07em;\r\n    text-transform: uppercase;\r\n    color: var(--muted-text);\r\n}\r\n#reu-roue-wp .detail-block p{\r\n    margin: 0;\r\n    font-size: 0.83rem;\r\n    font-weight: 500;\r\n    line-height: 1.45;\r\n    color: #334155;\r\n    white-space: pre-wrap;\r\n    overflow-wrap: anywhere;\r\n}\r\n#reu-roue-wp .detail-block.is-nr p{ color: #94a3b8; font-style: italic; }\r\n\r\n\/* ---------- tooltip ---------- *\/\r\n#reu-roue-wp .tooltip{\r\n    position: absolute;\r\n    pointer-events: none;\r\n    opacity: 0;\r\n    z-index: 40;\r\n    max-width: 300px;\r\n    padding: 0.55rem 0.75rem 0.6rem;\r\n    border-radius: 12px;\r\n    background: rgba(14, 27, 46, 0.96);\r\n    color: #fff;\r\n    font-size: 0.76rem;\r\n    font-weight: 600;\r\n    line-height: 1.35;\r\n    transition: opacity 0.14s ease;\r\n}\r\n#reu-roue-wp .tooltip strong{ display: block; font-size: 0.84rem; font-weight: 850; margin-bottom: 0.15rem; }\r\n#reu-roue-wp .tooltip em{ display: block; margin-top: 0.25rem; font-style: normal; font-size: 0.7rem; opacity: 0.78; }\r\n\r\n\/* ---------- arcs ---------- *\/\r\n#reu-roue-wp path.arc{\r\n    cursor: pointer;\r\n    stroke: #ffffff;\r\n    stroke-width: 1.4px;\r\n    vector-effect: non-scaling-stroke;\r\n    shape-rendering: geometricPrecision;\r\n}\r\n#reu-roue-wp path.arc:hover{ filter: brightness(0.96); }\r\n\/* Pendant le zoom : rendu rapide et halos coup\u00e9s. Le contour blanc du texte\r\n   (paint-order stroke) sur une centaine de libell\u00e9s repeints \u00e0 chaque frame\r\n   \u00e9tait le principal poste de saccade ; personne ne lit un texte qui bouge. *\/\r\n#reu-roue-wp g.is-moving path.arc{ shape-rendering: geometricPrecision; }\r\n#reu-roue-wp g.is-moving text.label{ stroke: none !important; }\r\n#reu-roue-wp path.arc.is-nr{ stroke-dasharray: 3 3; }\r\n#reu-roue-wp path.arc.is-selected{\r\n    stroke: #0e1b2e;\r\n    stroke-width: 2.6px;\r\n    stroke-dasharray: none;\r\n}\r\n\r\n#reu-roue-wp text.label{\r\n    pointer-events: none;\r\n    font-family: var(--font-family) !important;\r\n    font-weight: 800;\r\n    text-rendering: geometricPrecision;\r\n    paint-order: stroke fill;\r\n    stroke-width: 2.4px;\r\n    stroke-linejoin: round;\r\n}\r\n#reu-roue-wp text.center-text{\r\n    pointer-events: none;\r\n    text-anchor: middle;\r\n    fill: var(--ink-strong);\r\n    font-family: var(--font-family) !important;\r\n}\r\n#reu-roue-wp circle.center-hit{ cursor: pointer; }\r\n\r\n@media (max-width: 1000px){\r\n    #reu-roue-wp .detail{\r\n        position: absolute;\r\n        inset: auto 0.7rem 0.7rem;\r\n        margin: 0;\r\n        max-height: 58vh;\r\n        flex: none;\r\n    }\r\n    #reu-roue-wp .legend{ max-height: 30vh; }\r\n}\r\n@media (max-width: 720px){\r\n    #reu-roue-wp .tooltip{ display: none; }\r\n    #reu-roue-wp .legend{\r\n        left: 0.7rem;\r\n        right: 0.7rem;\r\n        bottom: 0.7rem;\r\n        max-width: none;\r\n        max-height: 24vh;\r\n    }\r\n    #reu-roue-wp .kpi-row .kpi:nth-child(n+4){ display: none; }\r\n}\r\n\r\n\/* Direction artistique : papier ivoire, encre marine et nuances min\u00e9rales. *\/\r\n#reu-roue-wp{\r\n    --bg-color:#f8f7f3; --text-color:#293f4d; --ink-strong:#193340;\r\n    --muted-text:#62747b; --border-color:#dfe4e1;\r\n    --chip-bg:#fff; --chip-shadow:0 4px 18px rgba(25,51,64,.035);\r\n    --ease:cubic-bezier(.22,1,.36,1);\r\n    background:radial-gradient(ellipse at 77% 42%,#fffefa 0%,#f8f7f3 64%) !important;\r\n    height:100dvh !important; -webkit-font-smoothing:antialiased;\r\n}\r\n#reu-roue-wp [hidden]{display:none !important}\r\n#reu-roue-wp button{ -webkit-tap-highlight-color:transparent; }\r\n#reu-roue-wp button:focus-visible,#reu-roue-wp [role=\"button\"]:focus-visible{outline:2px solid #2d6376;outline-offset:4px}\r\n#reu-roue-wp .brand-row{height:78px;padding:0 32px;gap:30px;background:rgba(255,255,255,.74);box-shadow:none;border-bottom:1px solid var(--border-color)}\r\n#reu-roue-wp .brand{gap:16px}\r\n#reu-roue-wp .brand .shl-logo{height:24px}\r\n#reu-roue-wp .brand .amp-logo{height:27px}\r\n#reu-roue-wp .brand .sep{height:30px}\r\n#reu-roue-wp .toggle-group{margin:auto;padding:5px;gap:3px;border-radius:12px;box-shadow:none;border:1px solid #e6e9e5;background:#f1f3ef;flex-wrap:nowrap}\r\n#reu-roue-wp .toggle-btn{border-radius:8px;padding:10px 16px;font-size:11px;white-space:nowrap;transition:background .28s,color .28s,box-shadow .28s,transform .28s}\r\n#reu-roue-wp .toggle-btn::before{display:inline-block;margin-right:8px;font-size:14px;font-weight:500;line-height:1;vertical-align:-1px}\r\n#reu-roue-wp .toggle-btn[data-ind=\"empreinte\"]::before{content:\"\u25c9\"}\r\n#reu-roue-wp .toggle-btn[data-ind=\"classement\"]::before{content:\"\u25a4\"}\r\n#reu-roue-wp .toggle-btn[data-ind=\"etages\"]::before{content:\"\u25f1\"}\r\n#reu-roue-wp .toggle-btn[data-ind=\"flux\"]::before{content:\"\u2192\"}\r\n#reu-roue-wp .toggle-btn[data-ind=\"fleurs\"]::before{content:\"\u2733\"}\r\n#reu-roue-wp .toggle-btn[data-ind=\"freins\"]::before{content:\"\u2301\"}\r\n#reu-roue-wp .toggle-btn:hover{transform:translateY(-1px);background:#e6ece7}\r\n#reu-roue-wp .toggle-btn.active,#reu-roue-wp .toggle-btn.is-flora.active,#reu-roue-wp .toggle-btn.is-radar.active{background:#203e49;color:#fff;box-shadow:0 3px 8px #18354018}\r\n#reu-roue-wp .edition{flex:none;text-align:right;color:var(--muted-text);font-size:9px;line-height:1.8;letter-spacing:.02em}\r\n#reu-roue-wp .edition>span{display:block}\r\n#reu-roue-wp .edition strong{color:var(--ink-strong);font-size:11px;font-weight:700}\r\n#reu-roue-wp .edition-dot{display:inline-block;width:6px;height:6px;background:#739d88;border-radius:50%;margin-left:5px;vertical-align:1px}\r\n#reu-roue-wp .main-content{min-height:0;isolation:isolate}\r\n#reu-roue-wp .header{position:relative;top:auto;left:auto;width:300px;max-width:none;flex:0 0 300px;padding:32px 22px 18px 32px;display:flex;flex-direction:column;pointer-events:auto;z-index:20;min-height:0;overflow:auto;scrollbar-width:thin;border-right:0;background:none}\r\n#reu-roue-wp .eyebrow{font-size:9px;text-transform:uppercase;letter-spacing:.16em;font-weight:800;color:#6b8286;margin:0 0 14px}\r\n#reu-roue-wp .intro h1{font-size:32px;line-height:1.18;letter-spacing:-1.25px;font-weight:800;color:var(--ink-strong);margin:0 0 14px}\r\n#reu-roue-wp .intro h1 span{font-weight:500;color:#738b87}\r\n#reu-roue-wp .map-subtitle{margin:0 0 20px;font-size:11px;line-height:1.7;color:var(--muted-text);max-width:29ch}\r\n#reu-roue-wp .toolbar{gap:12px;width:100%;flex:none}\r\n#reu-roue-wp .kpi-row{width:100%;flex-wrap:nowrap;gap:0;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);padding:14px 0;margin-bottom:4px}\r\n#reu-roue-wp .kpi{background:none;border:none;box-shadow:none;border-radius:0;min-width:0;padding:0 18px;flex:1}\r\n#reu-roue-wp .kpi:first-child{padding-left:0;flex:1.1}\r\n#reu-roue-wp .kpi+.kpi{border-left:1px solid var(--border-color)}\r\n#reu-roue-wp .kpi-value{font-size:27px;line-height:1;letter-spacing:-1px;font-weight:600;font-variant-numeric:tabular-nums}\r\n#reu-roue-wp .kpi-label{font-size:8px;font-weight:700;letter-spacing:.09em;margin-top:7px}\r\n#reu-roue-wp .crumbs{padding:0;box-shadow:none;background:none;border:none;border-radius:0;gap:2px;width:100%}\r\n#reu-roue-wp .crumb{font-size:9px;max-width:190px;padding:4px 0;white-space:normal;line-height:1.5}\r\n#reu-roue-wp .crumb:not(.is-current){color:#5f7c80}\r\n#reu-roue-wp .crumb-sep{margin:0 3px}\r\n#reu-roue-wp .explore-list{margin-top:6px;display:flex;flex-direction:column;gap:2px;min-height:0;flex:1;overflow:auto;scrollbar-width:thin}\r\n#reu-roue-wp .explore-item{display:flex;align-items:center;gap:9px;padding:7px 8px;border:0;border-radius:8px;background:none;text-align:left;cursor:pointer;font:inherit;font-size:10px;line-height:1.4;color:var(--text-color);transition:background .25s,transform .3s var(--ease);min-height:30px;flex-shrink:0}\r\n#reu-roue-wp .explore-item:hover,#reu-roue-wp .explore-item.is-hovered{background:#eaf0ea;transform:translateX(3px)}\r\n#reu-roue-wp .explore-swatch{width:8px;height:8px;border-radius:3px;background:var(--swatch);flex:none}\r\n#reu-roue-wp .explore-name{flex:1}\r\n#reu-roue-wp .explore-count{color:#7b8d90;font-size:9px;font-variant-numeric:tabular-nums}\r\n#reu-roue-wp .explore-arrow{font-size:12px;color:#7b8d90;margin-left:2px}\r\n#reu-roue-wp .reading-note{display:flex;align-items:center;gap:10px;border-top:1px solid var(--border-color);margin-top:12px;padding-top:12px;flex-shrink:0}\r\n#reu-roue-wp .reading-note p{margin:0;font-size:9px;color:var(--muted-text);line-height:1.6}\r\n#reu-roue-wp .reading-icon{display:grid;place-items:center;border-radius:50%;width:26px;height:26px;flex:none;background:#eaf0e9;color:#638477;font-size:14px}\r\n#reu-roue-wp #chart-container{min-height:0;overflow:hidden}\r\n#reu-roue-wp #chart-container>svg{position:absolute;inset:0}\r\n#reu-roue-wp .stage-heading{position:absolute;left:30px;right:30px;top:20px;display:flex;justify-content:space-between;gap:16px;pointer-events:none;z-index:1;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:#7c8c8e}\r\n#reu-roue-wp .stage-index{font-size:9px;letter-spacing:.08em;font-variant-numeric:tabular-nums}\r\n#reu-roue-wp .stage-caption{position:absolute;bottom:16px;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:10px;font-size:9px;color:#7a8a8c;pointer-events:none;letter-spacing:.02em}\r\n#reu-roue-wp .caption-line{height:1px;width:24px;background:#aebdb5}\r\n#reu-roue-wp .chart-loading{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted-text)}\r\n#reu-roue-wp .chart-loading>span{width:18px;height:18px;border:2px solid #dbe5dc;border-top-color:#678b7a;border-radius:50%;animation:fisSpin 1s linear infinite}\r\n#reu-roue-wp .app-footer{height:38px;flex:none;border-top:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 32px;background:#fafaf7;font-size:9px;color:#79888b}\r\n#reu-roue-wp .footer-signature{letter-spacing:.03em;color:#4e666b;font-weight:600}\r\n#reu-roue-wp .footer-signature i{font-style:normal;margin:0 8px;color:#b6c1ba}\r\n#reu-roue-wp #fullscreen-btn{display:flex;align-items:center;gap:7px;padding:5px 0;border:none;background:none;font:inherit;color:var(--muted-text);cursor:pointer}\r\n#reu-roue-wp path.arc{stroke:#faf9f5;stroke-width:2;transition:filter .28s,opacity .3s;outline:none}\r\n#reu-roue-wp path.arc:hover,#reu-roue-wp path.arc.is-hovered{filter:brightness(1.045) saturate(1.08)}\r\n#reu-roue-wp path.arc.is-muted{opacity:.55}\r\n#reu-roue-wp path.arc:focus-visible{stroke:#203e49;stroke-width:3}\r\n#reu-roue-wp path.arc.is-selected{stroke:#203e49;stroke-width:3}\r\n#reu-roue-wp text.label{font-weight:600;stroke-width:0;letter-spacing:-.2px}\r\n#reu-roue-wp .wheel-orbit{fill:none;stroke:#dce3dc;stroke-width:1;pointer-events:none}\r\n#reu-roue-wp .wheel-tick{stroke:#b5c5be;stroke-width:1;pointer-events:none}\r\n#reu-roue-wp .center-hit{filter:drop-shadow(0 5px 12px #203d4910);transition:fill .3s}\r\n#reu-roue-wp .center-hit:hover{fill:#f0f4ed}\r\n#reu-roue-wp .tooltip{background:#213e49f5;border:1px solid #ffffff26;box-shadow:0 12px 30px #213e4920;border-radius:12px;padding:14px 16px;font-size:11px;line-height:1.6;max-width:300px;transition:opacity .16s;backdrop-filter:blur(12px)}\r\n#reu-roue-wp .tooltip strong{font-size:13px;font-weight:700}\r\n#reu-roue-wp .tooltip em{font-size:10px}\r\n#reu-roue-wp .detail{position:absolute;right:16px;top:14px;bottom:14px;width:370px;max-width:calc(100% - 32px);margin:0;padding:24px;background:#fffffdf7;border:1px solid #dfe5df;border-radius:18px;box-shadow:0 24px 70px #1d3c4924;z-index:25;backdrop-filter:blur(20px);opacity:0;transform:translateX(30px);pointer-events:none;display:block;visibility:hidden;transition:transform .48s var(--ease),opacity .35s,visibility .48s}\r\n#reu-roue-wp .detail.is-open{visibility:visible;opacity:1;transform:translateX(0);pointer-events:auto;animation:none}\r\n#reu-roue-wp .detail-close{width:30px;height:30px;background:#edf1eb;font-weight:400}\r\n#reu-roue-wp .detail-title{font-size:24px;letter-spacing:-.7px;margin-top:16px;font-weight:700}\r\n#reu-roue-wp .detail-porteur{font-size:12px;line-height:1.6;margin-top:7px;font-weight:500}\r\n#reu-roue-wp .detail-stat{background:#f5f7f1;border-color:#e6ebe3;padding:12px}\r\n#reu-roue-wp .detail-stat b{font-size:18px;font-weight:600}\r\n#reu-roue-wp .detail-stat--text b{font-size:12px;line-height:1.6}\r\n#reu-roue-wp .detail-stat span{font-size:8px;margin-top:5px}\r\n#reu-roue-wp .detail-resume{background:#f9faf6;font-size:12px;line-height:1.75}\r\n#reu-roue-wp .detail-flora{background:#f9faf6;border-color:#e2e8df;padding:14px}\r\n#reu-roue-wp .fl-text:not([hidden]){animation:fisReveal .32s var(--ease)}\r\n#reu-roue-wp .radar-modes{border-radius:10px;box-shadow:none;background:#eef2eb;padding:4px}\r\n#reu-roue-wp .rmode{font-size:10px;border-radius:7px}\r\n#reu-roue-wp .rmode.active{background:#203e49}\r\n#reu-roue-wp .legend{box-shadow:none;background:#fbfcf8;border-color:#e0e7df;border-radius:12px;bottom:20px;left:20px;max-width:210px;max-height:44vh;padding:14px}\r\n#reu-roue-wp .legend-title{font-size:8px}\r\n#reu-roue-wp .legend-item{font-size:10px}\r\n#reu-roue-wp .legend-dot{width:8px;height:8px;border-radius:3px}\r\n#reu-roue-wp .legend-count{font-size:9px}\r\n#reu-roue-wp .freins-bars{padding:48px 35px 35px !important;justify-content:center;gap:8px}\r\n#reu-roue-wp .fb-row{padding:14px 0;border-bottom:1px solid #e3e8df}\r\n#reu-roue-wp .fb-track{height:8px;background:#e9eee6}\r\n#reu-roue-wp .fb-fill{background:linear-gradient(90deg,#92b3a0,#345e66);border-radius:8px;animation:fisBar .65s var(--ease);transform-origin:left}\r\n#reu-roue-wp .flora-grid{top:50px !important;bottom:14px;left:0;right:0;padding:0 26px 20px;display:block}\r\n#reu-roue-wp .fg-intro{position:static;max-height:none !important;overflow:visible;padding:0;margin-bottom:20px}\r\n#reu-roue-wp .fg-caption{font-size:11px;max-width:80ch;line-height:1.8}\r\n#reu-roue-wp .fg-key{flex-direction:row;background:#f0f4ec;border-color:#e2e7df;gap:8px 15px;padding:12px}\r\n#reu-roue-wp .fg-key li{font-size:10px}\r\n#reu-roue-wp .fg-cards{grid-template-columns:repeat(auto-fill,minmax(142px,1fr));gap:12px}\r\n#reu-roue-wp .fg-card{background:#fffffc;border:1px solid #e4e8df;border-radius:12px;padding:16px 10px;transition:transform .35s var(--ease),box-shadow .35s,border-color .25s;animation:fisReveal .55s var(--ease) both}\r\n#reu-roue-wp .fg-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #203e4910}\r\n#reu-roue-wp .fg-card .fg-glyph-box{width:94px;height:94px}\r\n#reu-roue-wp .fg-name{font-weight:700;font-size:11px}\r\n#reu-roue-wp .fg-proj{font-size:9px;line-height:1.5;min-height:2.8em}\r\n#reu-roue-wp .fg-theme{margin:24px 0 10px;font-size:9px;letter-spacing:.09em}\r\n#reu-roue-wp .fg-theme-count{font-size:9px;font-weight:500}\r\n#reu-roue-wp .legend.is-inline{margin:12px 0 0;max-width:290px}\r\n#reu-roue-wp .legend.is-menu .legend-trigger{font-size:11px;border-color:#dfe7dd;background:#fff}\r\n#reu-roue-wp .legend.is-menu .legend-item{font-size:11px}\r\n#reu-roue-wp path.radar-area{fill:#739c862d;stroke:#416f69;stroke-width:2}\r\n#reu-roue-wp circle.radar-pt{fill:#416f69}\r\n#reu-roue-wp .header .legend{position:static;max-height:none;max-width:none;overflow:visible;margin:14px 0;padding:10px;flex-shrink:0;width:100%}\r\n#reu-roue-wp .header .legend-list{gap:5px}\r\n@keyframes fisReveal{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}\r\n@keyframes fisBar{from{transform:scaleX(0)}to{transform:scaleX(1)}}\r\n@keyframes fisSpin{to{transform:rotate(360deg)}}\r\n@media(min-width:1550px){\r\n #reu-roue-wp .header{width:350px;flex-basis:350px;padding:44px 30px 24px 44px}\r\n #reu-roue-wp .intro h1{font-size:36px} #reu-roue-wp .map-subtitle{font-size:13px}\r\n #reu-roue-wp .explore-item{font-size:12px;min-height:38px}\r\n #reu-roue-wp .kpi-row{padding:20px 0} #reu-roue-wp .kpi-value{font-size:34px}\r\n}\r\n@media(max-height:760px) and (min-width:861px){\r\n #reu-roue-wp .header{padding-top:24px} #reu-roue-wp .intro h1{font-size:28px;margin-bottom:10px}\r\n #reu-roue-wp .eyebrow{margin-bottom:10px} #reu-roue-wp .map-subtitle{margin-bottom:14px}\r\n #reu-roue-wp .kpi-row{padding:10px 0} #reu-roue-wp .explore-item{padding:5px 8px;min-height:27px}\r\n #reu-roue-wp .reading-note{margin-top:8px;padding-top:8px}\r\n}\r\n@media(max-width:1100px){\r\n #reu-roue-wp .brand-row{padding:0 20px;gap:16px} #reu-roue-wp .edition>span{display:none}\r\n #reu-roue-wp .toggle-btn{padding:9px 10px} #reu-roue-wp .toggle-btn::before{margin-right:5px}\r\n #reu-roue-wp .header{width:265px;flex-basis:265px;padding-left:24px;padding-right:18px}\r\n #reu-roue-wp .intro h1{font-size:28px} #reu-roue-wp .brand .amp-logo{height:23px}\r\n}\r\n@media(max-width:860px){\r\n #reu-roue-wp .brand-row{height:108px;padding:12px 20px 55px;flex-wrap:wrap;gap:10px;justify-content:space-between}\r\n #reu-roue-wp .brand{gap:12px} #reu-roue-wp .brand .shl-logo{height:20px} #reu-roue-wp .brand .amp-logo{height:23px}\r\n #reu-roue-wp .edition{margin-left:auto} #reu-roue-wp .edition>span{display:block;font-size:8px}\r\n #reu-roue-wp .toggle-group{position:absolute;bottom:8px;left:20px;right:20px;max-width:none;justify-content:center}\r\n #reu-roue-wp .toggle-btn{flex:1;font-size:10px;padding:7px 6px}\r\n #reu-roue-wp .main-content{flex-direction:column}\r\n #reu-roue-wp .header{width:100%;flex:0 0 auto;max-height:164px;padding:18px 22px 12px;border-right:0;border-bottom:1px solid #e5e9e2;display:grid;grid-template-columns:1fr auto;gap:8px 16px;overflow:visible}\r\n #reu-roue-wp .intro{grid-column:1}.intro{min-width:0}\r\n #reu-roue-wp .eyebrow{font-size:8px;margin-bottom:7px}\r\n #reu-roue-wp .intro h1{font-size:23px;margin:0;letter-spacing:-.8px} #reu-roue-wp .intro h1 br{display:none}\r\n #reu-roue-wp .intro h1 span{display:block} #reu-roue-wp .map-subtitle{display:none}\r\n #reu-roue-wp .toolbar{grid-column:2;grid-row:1 \/ span 2;align-items:flex-end;max-width:130px;gap:6px}\r\n #reu-roue-wp .kpi-row{border:0;margin:0;padding:8px 0;gap:14px} #reu-roue-wp .kpi{padding:0;flex:none !important}\r\n #reu-roue-wp .kpi+.kpi{border:0} #reu-roue-wp .kpi-value{font-size:23px} #reu-roue-wp .kpi-label{font-size:7px;letter-spacing:.03em}\r\n #reu-roue-wp .crumbs{display:none} #reu-roue-wp .explore-list{display:none} #reu-roue-wp .reading-note{grid-column:1;border:0;margin:0;padding:0;gap:6px}\r\n #reu-roue-wp .reading-icon{display:none} #reu-roue-wp .reading-note p{font-size:8px;max-width:38ch}\r\n #reu-roue-wp .stage-heading{top:16px;left:20px;right:20px;font-size:8px} #reu-roue-wp .stage-caption{font-size:8px;bottom:12px;padding:0 15px;text-align:center}\r\n #reu-roue-wp .app-footer{padding:0 20px;height:34px;font-size:8px;gap:8px} #reu-roue-wp .footer-signature i{margin:0 3px}\r\n #reu-roue-wp #data-source{display:none}\r\n #reu-roue-wp .detail{inset:auto 10px 10px;width:auto;max-width:none;max-height:75%;padding:20px;transform:translateY(24px)}\r\n #reu-roue-wp .detail.is-open{transform:translateY(0)}\r\n #reu-roue-wp .header .legend{position:absolute;right:20px;left:auto;top:95px;width:210px;max-height:45vh;overflow:auto;margin:0;padding:6px 10px;background:#fff}\r\n #reu-roue-wp .legend.is-menu .legend-title{display:none}\r\n #reu-roue-wp .flora-grid{padding:0 18px 24px;top:44px !important} #reu-roue-wp .fg-cards{grid-template-columns:repeat(auto-fill,minmax(124px,1fr))}\r\n #reu-roue-wp .freins-bars{padding:50px 20px 24px !important;justify-content:flex-start}\r\n #reu-roue-wp .fb-row{padding:10px 0} #reu-roue-wp .fb-label{font-size:11px}\r\n}\r\n@media(max-width:390px){#reu-roue-wp .edition>span{display:none}#reu-roue-wp .toggle-btn::before{display:none}#reu-roue-wp .intro h1{font-size:21px}#reu-roue-wp .header{padding-left:16px;padding-right:16px}}\r\n@media(prefers-reduced-motion:reduce){\r\n #reu-roue-wp *,#reu-roue-wp *::before,#reu-roue-wp *::after{animation-duration:.01ms !important;animation-delay:0ms !important;transition-duration:.01ms !important;scroll-behavior:auto !important}\r\n}\r\n\r\n\r\n\/* Ajustements issus des essais sur ordinateur et t\u00e9l\u00e9phone. *\/\r\n\/* Le coeur de la roue est un <circle> qui porte role=\"button\" : la r\u00e8gle\r\n   g\u00e9n\u00e9rique de focus lui dessinait son liser\u00e9 RECTANGULAIRE autour de la bo\u00eete\r\n   englobante, soit un carr\u00e9 pos\u00e9 sur un disque, que l'on voyait appara\u00eetre au\r\n   moindre clic au centre. L'outline est coup\u00e9e pour de bon (y compris sur\r\n   :focus simple, que certains navigateurs servent au clic), et le focus clavier\r\n   est rendu dans le SVG, par un anneau concentrique qui \u00e9pouse le disque. *\/\r\n#reu-roue-wp circle.center-hit:focus{outline:none !important}\r\n#reu-roue-wp circle.center-hit:focus-visible{outline:none !important;stroke:#203e49;stroke-width:2}\r\n#reu-roue-wp circle.center-hit:focus:not(:focus-visible){stroke:#e2e7df;stroke-width:1}\r\n#reu-roue-wp .header .legend-list{gap:3px}\r\n#reu-roue-wp .legend-item{border:0;border-radius:5px}\r\n#reu-roue-wp .legend-item.is-on{background:#e9efe7}\r\n#reu-roue-wp .chart-loading{max-width:320px;text-align:center;padding:20px;line-height:1.7}\r\n@media(max-width:860px){\r\n #reu-roue-wp .header{max-height:none;grid-template-columns:minmax(0,1fr) auto;gap:10px 12px}\r\n #reu-roue-wp .toolbar{display:contents}\r\n #reu-roue-wp .intro{grid-row:1;grid-column:1}\r\n #reu-roue-wp .kpi-row{grid-column:2;grid-row:1;width:auto;align-self:center}\r\n #reu-roue-wp .reading-note{grid-column:1 \/ -1;grid-row:2}\r\n #reu-roue-wp .reading-note p{max-width:none}\r\n #reu-roue-wp .radar-modes{grid-column:1;grid-row:3;justify-self:start;white-space:nowrap;align-self:center;gap:0}\r\n #reu-roue-wp .rmode{padding:7px 8px;font-size:9px}\r\n #reu-roue-wp .header .legend{position:relative;inset:auto;grid-column:2;grid-row:3;width:166px;max-width:none;max-height:none;padding:0;border:0;overflow:visible;margin:0;background:none}\r\n #reu-roue-wp .legend.is-menu .legend-trigger{padding:8px;font-size:9px;min-height:34px;gap:5px}\r\n #reu-roue-wp .legend.is-menu.is-open .legend-list{position:absolute;right:0;top:calc(100% + 5px);width:246px;max-height:42vh;overflow:auto;background:#fffffc;padding:10px;border:1px solid #dfe7dd;border-radius:12px;box-shadow:0 15px 35px #203e4920;z-index:45}\r\n #reu-roue-wp .legend.is-menu .legend-item{font-size:11px;min-height:31px}\r\n #reu-roue-wp .fb-val{grid-column:3;grid-row:1}\r\n #reu-roue-wp .fb-track{grid-row:2}\r\n #reu-roue-wp text.radar-axis{font-size:10px}\r\n #reu-roue-wp text.radar-ring{font-size:9px}\r\n #reu-roue-wp[data-view=\"fleurs\"] .header .legend{grid-column:1 \/ -1;width:100%;max-width:230px;justify-self:start}\r\n}\r\n\r\n\/* Fiches : une lecture \u00e9ditoriale, avec rep\u00e8res et commandes persistants. *\/\r\n#reu-roue-wp .detail{width:clamp(430px,43vw,610px);padding:0;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 24px 90px #1d3c492b;transition:transform .48s var(--ease),opacity .35s,visibility .48s,width .4s var(--ease)}\r\n#reu-roue-wp .detail.is-open{display:flex}\r\n#reu-roue-wp .detail.is-expanded{width:min(780px,calc(100% - 32px))}\r\n#reu-roue-wp .detail-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 24px 12px;background:#fffefb;flex:none}\r\n#reu-roue-wp .detail-theme{max-width:calc(100% - 85px);font-size:9px;line-height:1.5;letter-spacing:.08em;color:var(--theme-color-text);font-weight:800}\r\n#reu-roue-wp .detail-theme .legend-dot{width:9px;height:9px;flex:none;background:var(--theme-color)}\r\n#reu-roue-wp .detail-controls{display:flex;align-items:center;gap:6px;flex:none}\r\n#reu-roue-wp .detail-close,#reu-roue-wp .detail-expand{float:none;width:32px;height:32px;display:grid;place-items:center;flex:none;border:1px solid #e3e9df;background:#f5f7f1;border-radius:9px;color:#435d61;cursor:pointer;transition:background .2s,transform .2s;font-size:21px;font-weight:400;line-height:1;padding:0}\r\n#reu-roue-wp .detail-close:hover,#reu-roue-wp .detail-expand:hover{background:#e9efe5;transform:translateY(-1px)}\r\n#reu-roue-wp .detail-expand[aria-pressed=\"true\"]{background:#203e49;color:#fff}\r\n#reu-roue-wp .detail-nav{display:flex;align-items:center;gap:5px;flex:none;border-bottom:1px solid #e1e7dd;padding:0 24px;background:#fffefb}\r\n#reu-roue-wp .detail-nav button{flex:1;font:inherit;font-size:10px;font-weight:600;white-space:nowrap;color:#6b7d80;padding:12px 5px 13px;background:none;border:0;border-bottom:2px solid transparent;cursor:pointer;transition:color .2s,border-color .2s}\r\n#reu-roue-wp .detail-nav button:hover{color:#203e49}\r\n#reu-roue-wp .detail-nav button[aria-current]{color:#203e49;border-color:var(--theme-color-text);font-weight:800}\r\n#reu-roue-wp .detail-body{position:relative;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ccd8cc transparent;padding:28px 30px 24px;min-height:0;flex:1;outline-offset:-3px}\r\n#reu-roue-wp .detail-eyebrow{display:flex;align-items:center;gap:12px;font-size:9px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:#6f8585;margin:0 0 12px}\r\n#reu-roue-wp .detail-eyebrow span{margin-left:auto;font-weight:500;font-size:9px;letter-spacing:.04em;color:#81908c}\r\n#reu-roue-wp .detail-title{font-size:clamp(22px,2.15vw,31px);line-height:1.18;letter-spacing:-.85px;font-weight:750;margin:0 0 12px;overflow-wrap:anywhere;text-wrap:balance}\r\n#reu-roue-wp .detail-project-name{font-size:14px;font-weight:550;line-height:1.65;margin:0 0 14px;color:#415961;overflow-wrap:anywhere;text-wrap:pretty}\r\n#reu-roue-wp .detail-territory{display:flex;align-items:flex-start;gap:8px;font-size:11px;line-height:1.65;color:#6c7f80;margin:0 0 14px}\r\n#reu-roue-wp .detail-territory svg{flex:none;margin-top:1px;color:#7e968d}\r\n\r\n\/* ---------- pastille d'identit\u00e9 du porteur ----------\r\n   Les logos ramen\u00e9s du web n'ont ni le m\u00eame format, ni le m\u00eame fond, ni la\r\n   m\u00eame densit\u00e9 : pos\u00e9s tels quels, ils feraient une t\u00eate de fiche bariol\u00e9e.\r\n   Chacun a donc \u00e9t\u00e9 recadr\u00e9 \u00e0 l'avance sur un carr\u00e9 transparent unique, avec\r\n   une marge optique constante \u2014 une marque carr\u00e9e respire, un logotype tr\u00e8s\r\n   large a le droit d'aller plus pr\u00e8s du bord, sinon il para\u00eetrait deux fois\r\n   plus petit que ses voisins. La pastille n'a donc pas \u00e0 rattraper quoi que\r\n   ce soit ici : elle pose le cadre, le fichier pose la marge.\r\n   Quand l'association n'a pas de logo public, la case n'est pas laiss\u00e9e\r\n   vide : elle porte un monogramme dans la couleur de la th\u00e9matique, au m\u00eame\r\n   gabarit, pour que la t\u00eate de fiche garde le m\u00eame aplomb d'un projet \u00e0\r\n   l'autre. *\/\r\n#reu-roue-wp .detail-ident{display:flex;align-items:flex-start;gap:14px;margin:0 0 14px}\r\n#reu-roue-wp .detail-ident-text{flex:1;min-width:0}\r\n#reu-roue-wp .detail-ident .detail-project-name{margin-bottom:0}\r\n#reu-roue-wp .detail-logo{position:relative;flex:none;display:grid;place-items:center;width:62px;height:62px;border-radius:14px;background:var(--ui-surface);border:1px solid var(--ui-line);box-shadow:0 1px 2px rgba(22,38,44,.05);overflow:hidden;animation:identIn .42s cubic-bezier(.22,1,.36,1) .2s both}\r\n#reu-roue-wp .detail-logo img{width:100%;height:100%;object-fit:contain;display:block}\r\n#reu-roue-wp .detail-logo--mono{background:var(--ui-sunk);border-color:transparent}\r\n#reu-roue-wp .detail-logo--mono::before{content:\"\";position:absolute;inset:0;background:var(--theme-color,#1f4a4d);opacity:.14}\r\n#reu-roue-wp .detail-logo--mono b{position:relative;font-size:19px;font-weight:800;letter-spacing:.01em;line-height:1;color:var(--theme-color-text,var(--ui-accent))}\r\n@keyframes identIn{from{opacity:0;transform:translateY(7px) scale(.96)}to{opacity:1;transform:none}}\r\n#reu-roue-wp .detail.is-expanded .detail-logo{width:72px;height:72px;border-radius:16px}\r\n#reu-roue-wp .detail.is-expanded .detail-logo--mono b{font-size:22px}\r\n#reu-roue-wp .detail-topics{margin:0;color:#647977;font-size:10px;line-height:1.6}\r\n#reu-roue-wp .detail-topics summary{cursor:pointer;width:fit-content;padding:4px 0;font-weight:650;list-style-position:inside}\r\n#reu-roue-wp .detail-topics summary span{display:inline-grid;place-items:center;min-width:18px;height:18px;border-radius:5px;background:#edf2e8;margin-left:5px;font-size:9px}\r\n#reu-roue-wp .detail-topics ul{margin:8px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px}\r\n#reu-roue-wp .detail-topics li{padding:7px 10px;background:#f3f6ef;border:1px solid #e5ebdf;border-radius:7px;max-width:100%}\r\n#reu-roue-wp .detail-section{padding-top:25px;margin-top:25px;border-top:1px solid #e2e8dd;scroll-margin-top:20px;outline:none}\r\n#reu-roue-wp .detail-section-title{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:750;letter-spacing:-.2px;line-height:1.4;margin:0 0 17px;color:#203e49}\r\n#reu-roue-wp .detail-section-title>span{display:grid;place-items:center;width:25px;height:25px;border:1px solid #dfe7d9;border-radius:8px;font-size:9px;font-weight:650;letter-spacing:.02em;color:#718877;flex:none;background:#f6f8f1}\r\n#reu-roue-wp .detail-prose{font-size:12px;font-weight:450;line-height:1.8;color:#3c525a;overflow-wrap:anywhere;text-wrap:pretty;white-space:normal}\r\n#reu-roue-wp .detail-prose p{font:inherit;line-height:inherit;color:inherit;white-space:normal;margin:0 0 12px}\r\n#reu-roue-wp .detail-prose p:last-child{margin-bottom:0}\r\n#reu-roue-wp .detail-summary{border-left:2px solid var(--theme-color);padding-left:16px;font-size:13px;line-height:1.85}\r\n#reu-roue-wp .detail-empty,#reu-roue-wp .detail-prose .detail-empty{font-size:11px;color:#7a8988;font-style:italic;line-height:1.6}\r\n#reu-roue-wp .detail-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 24px}\r\n#reu-roue-wp .detail-stat{display:flex;flex-direction:column;gap:8px;padding:14px 12px;border-radius:10px;background:#f6f8f1;border:1px solid #e5ebdf;min-width:0}\r\n#reu-roue-wp .detail-stat:first-child{background:#edf3e8;border-color:#dce6d3}\r\n#reu-roue-wp .detail-stat span{font-size:8px;line-height:1.4;letter-spacing:.07em;font-weight:700;margin:0;color:#718075}\r\n#reu-roue-wp .detail-stat b{font-size:clamp(15px,1.35vw,20px);line-height:1.15;font-weight:650;letter-spacing:-.5px;white-space:nowrap;color:#203e49;font-variant-numeric:tabular-nums}\r\n#reu-roue-wp .detail-stat.is-empty b{font-size:11px;letter-spacing:0;white-space:normal;font-weight:500;color:#7a8988}\r\n#reu-roue-wp .detail-narrative+.detail-narrative{border-top:1px solid #edf0e8;padding-top:18px;margin-top:18px}\r\n#reu-roue-wp .detail-narrative h4{font-size:10px;letter-spacing:.06em;font-weight:800;text-transform:uppercase;color:#496167;margin:0 0 9px;line-height:1.5}\r\n#reu-roue-wp .detail-prose-list{padding:0;margin:0;list-style:none;display:flex;flex-direction:column;gap:9px}\r\n#reu-roue-wp .detail-prose-list li{position:relative;padding-left:15px}\r\n#reu-roue-wp .detail-prose-list li::before{content:\"\";width:4px;height:4px;position:absolute;left:1px;top:.8em;border-radius:50%;background:var(--theme-color-text,#688879);opacity:.65}\r\n\/* ---------- les moyens en bulles, en t\u00eate de fiche ---------- *\/\r\n#reu-roue-wp .detail-bubbles{display:flex;flex-wrap:wrap;gap:8px;margin:0}\r\n#reu-roue-wp .detail-bubble{display:flex;flex-direction:column;gap:5px;min-width:0;max-width:100%;padding:11px 16px;border-radius:18px;background:#f6f8f1;border:1px solid #e5ebdf}\r\n#reu-roue-wp .detail-bubble.is-key{background:#edf3e8;border-color:#dce6d3}\r\n#reu-roue-wp .detail-bubble .db-key{font-size:8px;line-height:1.4;letter-spacing:.07em;font-weight:700;text-transform:uppercase;color:#718075}\r\n#reu-roue-wp .detail-bubble .db-val{font-size:clamp(15px,1.3vw,19px);line-height:1.15;font-weight:650;letter-spacing:-.5px;white-space:nowrap;color:#203e49;font-variant-numeric:tabular-nums}\r\n#reu-roue-wp .detail-bubble.is-long{flex-basis:100%;border-radius:14px}\r\n#reu-roue-wp .detail-bubble.is-long .db-val{font-size:12px;line-height:1.65;letter-spacing:0;font-weight:550;white-space:normal;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}\r\n#reu-roue-wp .detail-bubble.is-empty{background:#fbfbf8;border-style:dashed}\r\n#reu-roue-wp .detail-bubble.is-empty .db-val{font-size:11px;letter-spacing:0;white-space:normal;font-weight:500;color:#7a8988}\r\n#reu-roue-wp .detail-section.is-lead{padding-bottom:4px}\r\n#reu-roue-wp .detail-section-intro{font-size:11px;line-height:1.75;margin:-3px 0 16px;color:#6d8080;max-width:64ch}\r\n\/* ---------- les trois promesses, dans la fiche ---------- *\/\r\n#reu-roue-wp .pr-score{font-size:10px;letter-spacing:.04em;font-weight:700;color:#718075;margin:0 0 12px}\r\n#reu-roue-wp .detail-promesses{list-style:none;margin:0;padding:0;display:grid;gap:10px}\r\n#reu-roue-wp .pr-item{position:relative;padding:14px 16px 15px;border:1px solid #e5ebdf;border-left:3px solid var(--pc);border-radius:11px;background:#fdfdfa;transition:border-color .25s,background .25s,transform .25s var(--ease)}\r\n#reu-roue-wp .pr-item:hover{transform:translateX(2px);background:#fffefb}\r\n#reu-roue-wp .pr-item.is-none{border-left-color:#dbe1d8;background:#fafbf7}\r\n#reu-roue-wp .pr-head{display:flex;align-items:center;gap:8px;margin:0 0 5px;font-size:12px;font-weight:800;letter-spacing:-.1px;color:var(--pc-text)}\r\n#reu-roue-wp .pr-item.is-none .pr-head{color:#8c9a92}\r\n#reu-roue-wp .pr-dot{width:8px;height:8px;border-radius:50%;background:var(--pc);flex:none}\r\n#reu-roue-wp .pr-item.is-none .pr-dot{background:none;border:1.5px solid #c6d0c6}\r\n#reu-roue-wp .pr-phrase{margin:0 0 9px;font-size:10px;line-height:1.6;font-style:italic;color:#7d8d8a}\r\n#reu-roue-wp .pr-text{font-size:12px;line-height:1.8;color:#3c525a}\r\n#reu-roue-wp .pr-text p{margin:0 0 8px}\r\n#reu-roue-wp .pr-text p:last-child{margin:0}\r\n#reu-roue-wp .detail-flora{margin:0;background:#f9faf6;border:1px solid #e2e8db;border-radius:13px;padding:16px 14px 6px}\r\n#reu-roue-wp .fl-top{gap:15px;padding:0 0 14px;align-items:center}\r\n#reu-roue-wp .detail-flora .fl-glyph{width:76px;height:76px}\r\n#reu-roue-wp .fl-read-title{font-size:9px;letter-spacing:.06em;line-height:1.5;margin:0 0 6px;align-items:center;flex-wrap:wrap;gap:8px;font-weight:800}\r\n#reu-roue-wp .fl-read-score{font-size:11px;padding:4px 7px;border-radius:6px;background:#eaf0e3;font-weight:700}\r\n#reu-roue-wp .fl-read-hint{font-size:11px;line-height:1.65;font-weight:450;color:#6b7d79}\r\n#reu-roue-wp .fl-line{gap:9px;padding:14px 2px;font-size:11px;font-weight:600;line-height:1.5;border-radius:5px}\r\n#reu-roue-wp .fl-line:disabled{opacity:1;color:#7a8988}\r\n#reu-roue-wp .fl-state{font-size:9px;color:#7a8988;font-weight:500;padding-left:3px}\r\n#reu-roue-wp .fl-shape{width:20px;height:20px}\r\n#reu-roue-wp .fl-read li.is-none .fl-shape{opacity:.5}\r\n#reu-roue-wp .fl-text{margin:0 0 14px 9px;border-left:2px solid var(--theme-color);padding:2px 9px 3px 15px}\r\n#reu-roue-wp .fl-text.detail-prose{font-size:12px;line-height:1.8}\r\n#reu-roue-wp .detail-confid{margin:28px 0 0;padding:20px 0 0;border-top:1px solid #e2e8dd;font-size:10px;line-height:1.8;font-style:normal;color:#7b8987}\r\n#reu-roue-wp .detail-confid strong{font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:#5f7471}\r\n#reu-roue-wp .detail-confid p{margin:8px 0 0}\r\n#reu-roue-wp .detail-data-note{font-style:italic}\r\n#reu-roue-wp .detail.is-expanded .detail-body{padding:32px 48px}\r\n#reu-roue-wp .detail.is-expanded .detail-prose{font-size:14px;line-height:1.85}\r\n#reu-roue-wp .detail.is-expanded .detail-title{font-size:32px}\r\n@media(max-width:860px){\r\n #reu-roue-wp .detail,#reu-roue-wp .detail.is-expanded{width:auto;inset:10px;max-width:none;max-height:none;border-radius:16px}\r\n #reu-roue-wp .detail-toolbar{padding:12px 18px 9px}\r\n #reu-roue-wp .detail-expand{display:none}\r\n #reu-roue-wp .detail-nav{padding:0 14px;gap:0}\r\n #reu-roue-wp .detail-nav button{font-size:10px;padding:11px 4px}\r\n #reu-roue-wp .detail-body,#reu-roue-wp .detail.is-expanded .detail-body{padding:22px 20px}\r\n #reu-roue-wp .detail-title,#reu-roue-wp .detail.is-expanded .detail-title{font-size:25px}\r\n #reu-roue-wp .detail-project-name{font-size:12px}\r\n #reu-roue-wp .detail-ident{gap:11px}\r\n #reu-roue-wp .detail-logo,#reu-roue-wp .detail.is-expanded .detail-logo{width:52px;height:52px;border-radius:12px}\r\n #reu-roue-wp .detail-logo--mono b,#reu-roue-wp .detail.is-expanded .detail-logo--mono b{font-size:16px}\r\n #reu-roue-wp .detail-prose,#reu-roue-wp .detail-summary,#reu-roue-wp .detail.is-expanded .detail-prose{font-size:12px;line-height:1.8}\r\n #reu-roue-wp .detail-stats{gap:5px}\r\n #reu-roue-wp .detail-stat{padding:12px 8px}\r\n #reu-roue-wp .detail-stat b{font-size:15px}\r\n #reu-roue-wp .detail-stat span{font-size:7px;letter-spacing:.03em}\r\n #reu-roue-wp .detail-stat.is-empty b{font-size:10px}\r\n #reu-roue-wp .fl-line{gap:7px;font-size:10px;min-height:47px}\r\n #reu-roue-wp .fl-state{font-size:8px;white-space:normal;text-align:right;min-width:40px;max-width:60px}\r\n #reu-roue-wp .fl-read-hint{font-size:10px}\r\n #reu-roue-wp .detail-flora .fl-glyph{width:62px;height:62px}\r\n}\r\n\r\n\r\n\/* Le panneau occupe tout le cadre de la visualisation, sous le bandeau de\r\n   rubrique, comme la galerie des fleurs et les barres de freins. *\/\r\n#reu-roue-wp .stage-panel{position:absolute;inset:0;top:50px;overflow:hidden;padding:0.3rem 1rem 0.9rem;z-index:3}\r\n#reu-roue-wp .stage-panel[hidden]{display:none}\r\n\r\n\/* ---------- les trois \u00e9tages : une lecture en volume des promesses --------- *\/\r\n\/* Trois plans isom\u00e9triques, un par promesse du fonds, et sur chacun les\r\n   structures du corpus. Cinq partis pris, qui tiennent ensemble :\r\n\r\n   1. Une structure garde la M\u00caME case sur les trois \u00e9tages. Une fleur revient\r\n      donc au m\u00eame endroit de l'\u00e9cran d'un \u00e9tage \u00e0 l'autre : on voit sans rien\r\n      compter qui tient les trois promesses et qui n'en tient qu'une.\r\n   2. Les 48 structures ont leur case sur CHAQUE plan. Celles qui documentent\r\n      la promesse y fleurissent, les autres n'y laissent qu'une empreinte au\r\n      sol : la densit\u00e9 d'un plan reste le taux de documentation, mais le\r\n      corpus entier est l\u00e0.\r\n   3. La fleur pos\u00e9e sur une case est celle de la galerie \u00ab Fleurs des assos \u00bb,\r\n      au trait pr\u00e8s. C'est par elle que les deux classeurs se rejoignent :\r\n      l'\u00e9tage dit quelle promesse la structure raconte, la fleur dit ce qu'elle\r\n      a produit.\r\n   4. On ne regarde qu'UN \u00e9tage \u00e0 la fois, en grand, les suivants empil\u00e9s\r\n      dessous en fuite. Trois plans entiers \u00e0 l'\u00e9cran, c'\u00e9tait trois fois trop\r\n      petit pour qu'une fleur se lise.\r\n   5. Le d\u00e9filement est la cam\u00e9ra. Un cran de molette et l'on descend d'un\r\n      \u00e9tage : celui qu'on quitte grandit et passe au-dessus de la t\u00eate, celui\r\n      qu'on rejoint monte et s'ouvre. En remontant, le mouvement s'inverse. *\/\r\n#reu-roue-wp .stage-panel.etages{\r\n    display: flex;\r\n    gap: 1rem;\r\n    padding: 0.3rem 1rem 0.9rem;\r\n    overflow: hidden;\r\n}\r\n@media (min-width: 1000px){\r\n    #reu-roue-wp .stage-panel.etages{ padding-left: 1rem; padding-right: 1.2rem; }\r\n}\r\n\r\n\/* ---- la cl\u00e9 de lecture : les marques du plan, montr\u00e9es ---- *\/\r\n\/* Chaque signe est montr\u00e9 \u00e0 c\u00f4t\u00e9 de ce qu'il veut dire, au lieu d'\u00eatre d\u00e9crit :\r\n   trois lignes \u00e0 la place d'un paragraphe de huit. *\/\r\n#reu-roue-wp .et-legende{\r\n    list-style: none;\r\n    margin: 0;\r\n    padding: 0;\r\n    display: flex;\r\n    flex-direction: column;\r\n    gap: 0.35rem;\r\n}\r\n#reu-roue-wp .et-legende li{\r\n    display: flex;\r\n    align-items: center;\r\n    gap: 0.5rem;\r\n    font-size: 0.75rem;\r\n    font-weight: 650;\r\n    line-height: 1.3;\r\n    color: var(--muted-text);\r\n}\r\n#reu-roue-wp .et-legende b{ color: var(--ink-strong); font-weight: 850; }\r\n#reu-roue-wp .et-legende .lg-marque{\r\n    flex: none;\r\n    width: 26px;\r\n    height: 26px;\r\n    display: block;\r\n    line-height: 0;\r\n}\r\n\/* M\u00eame remarque que pour les glyphes de la galerie : `#chart svg` \u00e9tire tout\r\n   ce qui tra\u00eene dans le cadre, il faut le viser d'aussi pr\u00e8s. *\/\r\n#reu-roue-wp #chart .lg-marque > svg{ display: block; width: 100%; height: 100%; }\r\n\r\n\r\n\/* ---- la piste : c'est elle qui d\u00e9file, et son d\u00e9filement EST la cam\u00e9ra ---- *\/\r\n\/* Un conteneur de d\u00e9filement natif plut\u00f4t qu'une molette intercept\u00e9e : on\r\n   h\u00e9rite de l'inertie du pav\u00e9 tactile, du glissement au doigt, des fl\u00e8ches du\r\n   clavier et de la molette, sans r\u00e9\u00e9crire aucun des quatre. Les crans de\r\n   `scroll-snap` font le reste : on ne s'arr\u00eate jamais entre deux \u00e9tages. *\/\r\n#reu-roue-wp .et-piste{\r\n    position: relative;\r\n    flex: 1;\r\n    min-width: 0;\r\n    overflow-y: auto;\r\n    overflow-x: hidden;\r\n    scroll-snap-type: y mandatory;\r\n    scroll-behavior: smooth;\r\n    scrollbar-width: none;\r\n    -ms-overflow-style: none;\r\n    border-radius: 16px;\r\n    border: 1px solid rgba(231, 223, 217, 0.85);\r\n    background:\r\n        radial-gradient(120% 78% at 50% 4%, rgba(255,255,255,0.96), rgba(247,244,240,0.55));\r\n    touch-action: pan-y;\r\n}\r\n#reu-roue-wp .et-piste::-webkit-scrollbar{ width: 0; height: 0; }\r\n#reu-roue-wp .et-piste:focus-visible{ outline: 2px solid rgba(36,71,109,0.45); outline-offset: -2px; }\r\n\/* La sc\u00e8ne reste coll\u00e9e en haut pendant que les crans d\u00e9filent sous elle. Sa\r\n   hauteur et sa marge n\u00e9gative sont pos\u00e9es en JS : une marge en pourcentage\r\n   se calculerait sur la LARGEUR du conteneur, ce qui n'a aucun sens ici. *\/\r\n#reu-roue-wp .et-colle{ position: sticky; top: 0; z-index: 1; }\r\n\/* Les crans sont des bo\u00eetes vides : ils ne servent qu'\u00e0 donner au conteneur\r\n   sa hauteur de d\u00e9filement et ses points d'arr\u00eat. Transparents aux clics,\r\n   sans quoi ils avaleraient les fleurs pos\u00e9es dessous. *\/\r\n#reu-roue-wp .et-pas{ scroll-snap-align: start; pointer-events: none; }\r\n\/* Le talon rallonge la course sans \u00eatre un point d'arr\u00eat : c'est lui qui rend\r\n   le dernier \u00e9tage atteignable quand un cran est plus court que le cadre. *\/\r\n#reu-roue-wp .et-queue{ pointer-events: none; }\r\n#reu-roue-wp #chart .et-colle > svg{ display: block; width: 100%; height: 100%; }\r\n\r\n\/* Le quadrillage d'un plan : un seul chemin par \u00e9tage, sinon le navigateur\r\n   compose cent vingt segments \u00e0 chaque image. *\/\r\n#reu-roue-wp .et-grille{\r\n    fill: none;\r\n    stroke: rgba(36, 71, 109, 0.20);\r\n    stroke-width: 0.8;\r\n    vector-effect: non-scaling-stroke;\r\n}\r\n#reu-roue-wp .et-contour{\r\n    fill: rgba(255, 255, 255, 0.62);\r\n    stroke: rgba(36, 71, 109, 0.38);\r\n    stroke-width: 1.1;\r\n    stroke-linejoin: round;\r\n    vector-effect: non-scaling-stroke;\r\n}\r\n\/* L'\u00e9paisseur du plan : une tranche sous le contour, qui donne au damier son\r\n   poids de dalle. Sans elle les plans flottent et la descente ne se lit plus\r\n   comme une descente. *\/\r\n#reu-roue-wp .et-tranche{\r\n    fill: var(--pr, #24476d);\r\n    fill-opacity: 0.18;\r\n    stroke: rgba(36, 71, 109, 0.28);\r\n    stroke-width: 0.9;\r\n    stroke-linejoin: round;\r\n    vector-effect: non-scaling-stroke;\r\n}\r\n\/* L'ombre port\u00e9e de la dalle sur le vide : elle ancre l'\u00e9tage dans l'espace au\r\n   lieu de le laisser en apesanteur. R\u00e9serv\u00e9e \u00e0 l'\u00e9tage de devant : port\u00e9e par\r\n   un plan qui s'\u00e9loigne ou qui remonte, elle s'en d\u00e9tachait et flottait au\r\n   milieu du cadre comme un disque gris sans cause. *\/\r\n#reu-roue-wp .et-ombre{ fill: rgba(19, 41, 63, 0.11); }\r\n#reu-roue-wp .et-tige{\r\n    fill: none;\r\n    stroke: var(--pr);\r\n    stroke-width: 1.6;\r\n    stroke-linecap: round;\r\n    opacity: 0.6;\r\n}\r\n\/* L'empreinte creuse d'une structure qui ne documente PAS la promesse de cet\r\n   \u00e9tage : sa case existe, elle reste vide. Le corpus entier est sur chaque\r\n   plan, et le blanc devient une information au lieu d'un oubli. *\/\r\n#reu-roue-wp .et-vide{\r\n    fill: var(--tc, #24476d);\r\n    fill-opacity: 0.17;\r\n    pointer-events: all;\r\n    stroke: var(--tc, rgba(36, 71, 109, 0.4));\r\n    stroke-width: 0.9;\r\n    stroke-opacity: 0.45;\r\n    vector-effect: non-scaling-stroke;\r\n    cursor: pointer;\r\n}\r\n#reu-roue-wp .et-vide:hover{ fill-opacity: 0.42; stroke-opacity: 1; }\r\n\/* Le halo au sol porte la couleur de la th\u00e9matique. Doubl\u00e9 d'un anneau quand\r\n   la structure tient les TROIS promesses : c'est ce que disait le fil vertical\r\n   des versions pr\u00e9c\u00e9dentes, qui n'a plus de sens d\u00e8s lors qu'on ne voit qu'un\r\n   \u00e9tage \u00e0 la fois. *\/\r\n#reu-roue-wp .et-anneau{\r\n    fill: none;\r\n    stroke: var(--pr);\r\n    stroke-width: 1.4;\r\n    opacity: 0.55;\r\n    vector-effect: non-scaling-stroke;\r\n}\r\n#reu-roue-wp .et-fleur{ cursor: pointer; }\r\n\/* L'\u00e9closion. C'est le mouvement qui fait l'\u00e9tage : quand un plan arrive au\r\n   premier plan, ses fleurs s'ouvrent, rang\u00e9e par rang\u00e9e, du fond vers l'avant.\r\n   Les plans en fuite gardent leurs fleurs ferm\u00e9es, plus petites : on voit\r\n   qu'ils sont habit\u00e9s sans que leur d\u00e9tail vienne parasiter l'\u00e9tage lu. *\/\r\n#reu-roue-wp .et-fleur .et-fleur-in{\r\n    transform: scale(0.7);\r\n    opacity: 0.82;\r\n    transform-origin: 0 0;\r\n    transition: transform 0.75s cubic-bezier(0.16, 1, 0.3, 1) var(--pousse, 0ms),\r\n                opacity 0.5s ease var(--pousse, 0ms);\r\n}\r\n#reu-roue-wp .et-etage.is-active .et-fleur .et-fleur-in{ transform: scale(1); opacity: 1; }\r\n#reu-roue-wp .et-etage.is-active .et-fleur:hover .et-fleur-in{\r\n    transform: scale(1.45);\r\n    transition-delay: 0ms;\r\n    transition-duration: 0.22s;\r\n}\r\n#reu-roue-wp .et-etage.is-active .et-fleur:hover .et-halo{ opacity: 0.6; }\r\n\r\n\r\n\/* ---- rep\u00e8res de descente ---- *\/\r\n#reu-roue-wp .et-indice{\r\n    position: absolute;\r\n    left: 50%;\r\n    bottom: 0.7rem;\r\n    transform: translateX(-50%);\r\n    z-index: 2;\r\n    margin: 0;\r\n    padding: 0.32rem 0.8rem;\r\n    border-radius: 999px;\r\n    background: rgba(255, 255, 255, 0.88);\r\n    box-shadow: 0 6px 18px rgba(36, 71, 109, 0.10);\r\n    font-size: 0.7rem;\r\n    font-weight: 750;\r\n    color: var(--muted-text);\r\n    pointer-events: none;\r\n    transition: opacity 0.45s ease, transform 0.45s ease;\r\n}\r\n#reu-roue-wp .et-indice b{ color: var(--ink-strong); font-weight: 850; }\r\n#reu-roue-wp .et-indice.is-parti{ opacity: 0; transform: translate(-50%, 8px); }\r\n#reu-roue-wp .et-indice i{\r\n    display: inline-block;\r\n    font-style: normal;\r\n    animation: fis-aer-descente 1.9s ease-in-out infinite;\r\n}\r\n@keyframes fis-aer-descente{\r\n    0%, 100%{ transform: translateY(0); }\r\n    50%{ transform: translateY(3px); }\r\n}\r\n\r\n\r\n\/* Une descente d'\u00e9tage est un mouvement ample : \u00e0 qui demande moins de\r\n   mouvement, on donne la m\u00eame sc\u00e8ne, pos\u00e9e, sans \u00e9closion ni glissement. *\/\r\n@media (prefers-reduced-motion: reduce){\r\n    #reu-roue-wp .et-piste{ scroll-behavior: auto; }\r\n    #reu-roue-wp .et-fleur .et-fleur-in{\r\n        transition: none;\r\n        transform: scale(1);\r\n        opacity: 1;\r\n    }\r\n    #reu-roue-wp .et-indice i{ animation: none; }\r\n}\r\n\r\n\r\n\/* ==========================================================================\r\n   REFONTE 2025 : syst\u00e8me de design\r\n   --------------------------------------------------------------------------\r\n   Une seule grammaire pour tout l'outil, pos\u00e9e en fin de feuille pour\r\n   l'emporter sur les couches historiques.\r\n\r\n   1. Le trait est FIN. Un filet d'un pixel s\u00e9pare, une ombre ne sert qu'\u00e0\r\n      d\u00e9coller ce qui flotte r\u00e9ellement au-dessus du reste.\r\n   2. Les chiffres sont de la typographie : tabulaires, serr\u00e9s, sombres.\r\n      Leur l\u00e9gende est une micro-capitale espac\u00e9e, jamais un mot en gras.\r\n   3. La couleur ne sert qu'aux donn\u00e9es. Le ch\u00e2ssis est ivoire, encre et\r\n      filet ; les teintes restent aux th\u00e9matiques et aux promesses.\r\n   4. Les rayons suivent une \u00e9chelle (6, 10, 14, 999) et ne s'inventent pas\r\n      au cas par cas.\r\n   ========================================================================== *\/\r\n#reu-roue-wp{\r\n    --ui-ink:        #16262c;\r\n    --ui-ink-soft:   #40565d;\r\n    --ui-muted:      #77898d;\r\n    --ui-faint:      #9aa9ab;\r\n    --ui-line:       #e6eae3;\r\n    --ui-line-soft:  #eef1ec;\r\n    --ui-surface:    #ffffff;\r\n    --ui-canvas:     #fbfbf8;\r\n    --ui-sunk:       #f2f4ef;\r\n    --ui-accent:     #1f4a4d;\r\n    --ui-r-sm: 8px;\r\n    --ui-r-md: 12px;\r\n    --ui-r-lg: 16px;\r\n    --ui-shadow: 0 1px 2px rgba(22,38,44,.04), 0 18px 40px -24px rgba(22,38,44,.28);\r\n    --ui-mono: ui-monospace, SFMono-Regular, \"SF Mono\", Menlo, monospace;\r\n}\r\n\r\n\/* Micro-capitale : l'unit\u00e9 de l\u00e9gende de toute l'interface. *\/\r\n#reu-roue-wp .eyebrow,\r\n#reu-roue-wp .kpi-label,\r\n#reu-roue-wp .stage-heading,\r\n#reu-roue-wp .legend-title,\r\n#reu-roue-wp .detail-eyebrow,\r\n#reu-roue-wp .fb-head{\r\n    font-size: 9px;\r\n    font-weight: 700;\r\n    letter-spacing: .14em;\r\n    text-transform: uppercase;\r\n    color: var(--ui-faint);\r\n}\r\n\r\n\/* ---------- bandeau et onglets ---------- *\/\r\n#reu-roue-wp .topbar{\r\n    border-bottom: 1px solid var(--ui-line);\r\n    background: rgba(255,255,255,.72);\r\n    backdrop-filter: blur(14px);\r\n}\r\n#reu-roue-wp .toggle-group{\r\n    background: var(--ui-sunk);\r\n    border: 1px solid var(--ui-line);\r\n    border-radius: var(--ui-r-md);\r\n    padding: 4px;\r\n    gap: 2px;\r\n    box-shadow: none;\r\n}\r\n#reu-roue-wp .toggle-btn{\r\n    border-radius: 9px;\r\n    padding: 8px 16px;\r\n    font-size: 11.5px;\r\n    font-weight: 650;\r\n    letter-spacing: -.1px;\r\n    color: var(--ui-muted);\r\n    background: none;\r\n    border: 0;\r\n    transition: color .22s, background .22s, box-shadow .22s;\r\n}\r\n#reu-roue-wp .toggle-btn::before{ content: none !important; }\r\n#reu-roue-wp .toggle-btn:hover{ color: var(--ui-ink); background: rgba(255,255,255,.7); transform: none; }\r\n#reu-roue-wp .toggle-btn.active,\r\n#reu-roue-wp .toggle-btn.is-flora.active,\r\n#reu-roue-wp .toggle-btn.is-radar.active,\r\n#reu-roue-wp .toggle-btn.is-etages.active{\r\n    color: var(--ui-ink);\r\n    background: var(--ui-surface);\r\n    font-weight: 750;\r\n    box-shadow: 0 1px 2px rgba(22,38,44,.06), 0 4px 10px -6px rgba(22,38,44,.25);\r\n}\r\n#reu-roue-wp .edition strong{ letter-spacing: -.2px; }\r\n#reu-roue-wp .edition-dot{ background: #5f9c85; }\r\n\r\n\/* ---------- colonne de gauche ---------- *\/\r\n#reu-roue-wp .header{\r\n    background: none;\r\n    border-right: 0;\r\n    padding: 30px 24px 18px 30px;\r\n}\r\n#reu-roue-wp .intro h1{ letter-spacing: -1.1px; line-height: 1.06; }\r\n#reu-roue-wp .map-subtitle{\r\n    font-size: 11.5px;\r\n    line-height: 1.6;\r\n    color: var(--ui-muted);\r\n    max-width: 34ch;\r\n}\r\n\r\n\/* Les compteurs : deux nombres pos\u00e9s sur un filet, rien de plus. *\/\r\n#reu-roue-wp .kpi-row{\r\n    gap: 0;\r\n    border-top: 1px solid var(--ui-line);\r\n    border-bottom: 1px solid var(--ui-line);\r\n    padding: 16px 0;\r\n    margin: 20px 0 4px;\r\n}\r\n#reu-roue-wp .kpi{ padding: 0 18px 0 0; border: 0; }\r\n#reu-roue-wp .kpi + .kpi{ padding-left: 18px; border-left: 1px solid var(--ui-line); }\r\n#reu-roue-wp .kpi-value{\r\n    font-size: 28px;\r\n    font-weight: 600;\r\n    letter-spacing: -1.4px;\r\n    color: var(--ui-ink);\r\n    font-variant-numeric: tabular-nums;\r\n}\r\n#reu-roue-wp .kpi-label{ margin-top: 6px; }\r\n\r\n#reu-roue-wp .crumbs{ font-size: 10px; }\r\n#reu-roue-wp .explore-item{ border-radius: var(--ui-r-sm); font-size: 11px; }\r\n#reu-roue-wp .explore-item:hover,\r\n#reu-roue-wp .explore-item.is-hovered{ background: var(--ui-sunk); }\r\n#reu-roue-wp .reading-note{ font-size: 10.5px; line-height: 1.6; color: var(--ui-muted); }\r\n#reu-roue-wp .reading-icon{ background: var(--ui-sunk); color: var(--ui-accent); }\r\n\r\n\/* ---------- bandeau de rubrique ---------- *\/\r\n#reu-roue-wp .stage-heading{\r\n    left: 26px; right: 26px; top: 16px;\r\n    padding-bottom: 12px;\r\n    border-bottom: 1px solid var(--ui-line-soft);\r\n    align-items: baseline;\r\n}\r\n#reu-roue-wp .stage-index{ font-family: var(--ui-mono); letter-spacing: .08em; }\r\n#reu-roue-wp .stage-caption{ font-size: 9px; color: var(--ui-faint); letter-spacing: .02em; }\r\n#reu-roue-wp .caption-line{ background: var(--ui-line); }\r\n\r\n\/* ---------- filtre th\u00e9matique ---------- *\/\r\n#reu-roue-wp .legend{\r\n    background: var(--ui-surface);\r\n    border: 1px solid var(--ui-line);\r\n    border-radius: var(--ui-r-md);\r\n    box-shadow: var(--ui-shadow);\r\n    padding: 12px;\r\n}\r\n#reu-roue-wp .legend.is-menu .legend-trigger{\r\n    border: 1px solid var(--ui-line);\r\n    border-radius: 10px;\r\n    background: var(--ui-surface);\r\n    font-size: 11.5px;\r\n    font-weight: 650;\r\n    color: var(--ui-ink);\r\n    padding: 10px 13px;\r\n}\r\n#reu-roue-wp .legend-item{\r\n    border-radius: var(--ui-r-sm);\r\n    font-size: 11px;\r\n    font-weight: 550;\r\n    color: var(--ui-ink-soft);\r\n}\r\n#reu-roue-wp .legend-item.is-on{ background: var(--ui-sunk); color: var(--ui-ink); font-weight: 700; }\r\n#reu-roue-wp .legend-count{ font-family: var(--ui-mono); font-size: 9.5px; color: var(--ui-faint); }\r\n\r\n\/* ---------- bascule barres \/ radar ---------- *\/\r\n#reu-roue-wp .radar-modes{\r\n    background: var(--ui-sunk);\r\n    border: 1px solid var(--ui-line);\r\n    border-radius: 10px;\r\n    padding: 3px;\r\n    box-shadow: none;\r\n}\r\n#reu-roue-wp .rmode{\r\n    border-radius: 7px;\r\n    font-size: 10.5px;\r\n    font-weight: 650;\r\n    color: var(--ui-muted);\r\n    padding: 7px 13px;\r\n}\r\n#reu-roue-wp .rmode.active{\r\n    background: var(--ui-surface);\r\n    color: var(--ui-ink);\r\n    font-weight: 750;\r\n    box-shadow: 0 1px 2px rgba(22,38,44,.07);\r\n}\r\n\r\n\/* Sous 1000 px la bascule redescend dans la colonne de gauche : \u00e0 trois crans,\r\n   les trois libell\u00e9s n'y tiennent plus sur une ligne. Abr\u00e9ger \u00e9tait tentant,\r\n   mais \u00ab \u00c9gales \/ Projets \/ Euros \u00bb ne dit plus ce que mesure le p\u00e9tale, et\r\n   c'est pr\u00e9cis\u00e9ment ce que ces boutons ont \u00e0 nommer. On les laisse donc passer\r\n   \u00e0 la ligne, et on leur donne de quoi le faire proprement : deux lignes\r\n   centr\u00e9es, interligne ouvert, le cran actif toujours aussi lisible. *\/\r\n@media (max-width: 1000px){\r\n    #reu-roue-wp #roue-modes .rmode{\r\n        padding: 6px 8px; font-size: 9.5px;\r\n        line-height: 1.32; text-align: center; text-wrap: balance;\r\n    }\r\n}\r\n\r\n\/* ---------- roue au poids r\u00e9el : les graduations ----------\r\n   Les cercles sont trac\u00e9s SOUS les p\u00e9tales : chacun les recouvre jusqu'\u00e0 sa\r\n   propre longueur, et ce qui d\u00e9passe dit ce qui manque. C'est la r\u00e8gle\r\n   gradu\u00e9e de la roue, pas un ornement \u2014 d'o\u00f9 le trait pointill\u00e9, discret,\r\n   et le chiffre pos\u00e9 \u00e0 la verticale, hors des couleurs. *\/\r\n#reu-roue-wp .rose-ring{\r\n    fill: none; stroke: #aebbb4; stroke-width: 1;\r\n    stroke-dasharray: 2 4; pointer-events: none;\r\n}\r\n#reu-roue-wp .rose-grad{\r\n    font-family: var(--ui-mono); font-size: 9px; font-weight: 700;\r\n    fill: #5f736c; letter-spacing: .06em; text-anchor: middle;\r\n    pointer-events: none; paint-order: stroke;\r\n    stroke: #fffef9; stroke-width: 3.5px; stroke-linejoin: round;\r\n}\r\n\r\n\/* ---------- pied de page ---------- *\/\r\n#reu-roue-wp .app-footer{\r\n    background: var(--ui-canvas);\r\n    border-top: 1px solid var(--ui-line);\r\n    font-size: 9px;\r\n    letter-spacing: .06em;\r\n    text-transform: uppercase;\r\n    color: var(--ui-faint);\r\n}\r\n#reu-roue-wp .footer-signature{ color: var(--ui-muted); font-weight: 700; letter-spacing: .1em; }\r\n#reu-roue-wp .footer-signature i{ color: var(--ui-line); }\r\n#reu-roue-wp #fullscreen-btn{\r\n    border: 1px solid var(--ui-line);\r\n    border-radius: 8px;\r\n    background: var(--ui-surface);\r\n    color: var(--ui-muted);\r\n    padding: 6px 11px;\r\n    font-size: 9px;\r\n    letter-spacing: .08em;\r\n}\r\n#reu-roue-wp #fullscreen-btn:hover{ color: var(--ui-ink); border-color: #d6ddd5; }\r\n\r\n\/* ==========================================================================\r\n   LES FREINS, EN BARRES : un tableau, pas une liste de jauges\r\n   --------------------------------------------------------------------------\r\n   Quatre familles, quatre lignes, et la m\u00eame grille pour toutes : le code,\r\n   l'intitul\u00e9, la barre, la valeur. Les colonnes sont align\u00e9es au pixel d'une\r\n   ligne \u00e0 l'autre, ce qui permet de comparer sans lire les nombres. La barre\r\n   porte ses graduations en fond plut\u00f4t qu'un axe s\u00e9par\u00e9 : un axe pour quatre\r\n   lignes co\u00fbtait une bande d'\u00e9cran pour quatre rep\u00e8res.\r\n   ========================================================================== *\/\r\n#reu-roue-wp .freins-bars{ padding-left: 34px; padding-right: 34px; }\r\n#reu-roue-wp .fb-caption{\r\n    font-size: 12px;\r\n    line-height: 1.7;\r\n    color: var(--ui-muted);\r\n    max-width: 78ch;\r\n    margin: 0 0 4px;\r\n}\r\n#reu-roue-wp .fb-caption strong{ color: var(--ui-ink); font-weight: 750; }\r\n#reu-roue-wp .fb-head{\r\n    display: grid;\r\n    grid-template-columns: 30px minmax(120px, 1.1fr) minmax(0, 3fr) 96px;\r\n    align-items: end;\r\n    gap: 18px;\r\n    padding: 0 0 10px;\r\n    margin-top: 26px;\r\n    border-bottom: 1px solid var(--ui-line);\r\n}\r\n#reu-roue-wp .fb-head span:last-child{ text-align: right; }\r\n#reu-roue-wp .fb-row{\r\n    display: grid;\r\n    grid-template-columns: 30px minmax(120px, 1.1fr) minmax(0, 3fr) 96px;\r\n    align-items: center;\r\n    gap: 18px;\r\n    padding: 15px 0;\r\n    border-bottom: 1px solid var(--ui-line-soft);\r\n    transition: background .2s;\r\n}\r\n#reu-roue-wp .fb-row:hover{ background: rgba(242,244,239,.6); }\r\n#reu-roue-wp .fb-code{\r\n    font-family: var(--ui-mono);\r\n    font-size: 10px;\r\n    font-weight: 500;\r\n    color: var(--ui-faint);\r\n    letter-spacing: 0;\r\n}\r\n#reu-roue-wp .fb-label{\r\n    font-size: 13px;\r\n    font-weight: 650;\r\n    letter-spacing: -.2px;\r\n    color: var(--ui-ink);\r\n}\r\n\/* La piste porte les quatre quarts de l'\u00e9chelle, en filets d'un pixel. *\/\r\n#reu-roue-wp .fb-track{\r\n    position: relative;\r\n    height: 8px;\r\n    border-radius: 999px;\r\n    background: var(--ui-sunk);\r\n    overflow: visible;\r\n}\r\n#reu-roue-wp .fb-track::after{\r\n    content: \"\";\r\n    position: absolute;\r\n    inset: -7px 0 -7px 0;\r\n    background-image: repeating-linear-gradient(to right, var(--ui-line) 0 1px, transparent 1px 25%);\r\n    opacity: .9;\r\n    pointer-events: none;\r\n}\r\n#reu-roue-wp .fb-fill{\r\n    position: relative;\r\n    z-index: 1;\r\n    height: 100%;\r\n    border-radius: 999px;\r\n    background: linear-gradient(90deg, #3d7d72, var(--ui-accent));\r\n    animation: fisBar .7s cubic-bezier(.22,1,.36,1);\r\n    transform-origin: left;\r\n}\r\n#reu-roue-wp .fb-val{\r\n    text-align: right;\r\n    font-size: 15px;\r\n    font-weight: 650;\r\n    letter-spacing: -.4px;\r\n    color: var(--ui-ink);\r\n    font-variant-numeric: tabular-nums;\r\n    white-space: nowrap;\r\n}\r\n#reu-roue-wp .fb-val span{\r\n    display: block;\r\n    margin-top: 3px;\r\n    font-size: 9.5px;\r\n    font-weight: 600;\r\n    letter-spacing: .04em;\r\n    color: var(--ui-faint);\r\n}\r\n\r\n\/* ==========================================================================\r\n   LE RADAR : filets, points, valeurs\r\n   ========================================================================== *\/\r\n#reu-roue-wp .radar-grid circle{\r\n    fill: none;\r\n    stroke: var(--ui-line);\r\n    stroke-width: 1px;\r\n    stroke-dasharray: 2 4;\r\n}\r\n#reu-roue-wp .radar-grid circle:last-of-type{ stroke-dasharray: none; }\r\n#reu-roue-wp .radar-grid line{ stroke: var(--ui-line); stroke-width: 1px; }\r\n#reu-roue-wp path.radar-area{\r\n    fill: rgba(47,110,101,.14);\r\n    stroke: var(--ui-accent);\r\n    stroke-width: 1.8px;\r\n    stroke-linejoin: round;\r\n}\r\n#reu-roue-wp circle.radar-pt{\r\n    fill: var(--ui-accent);\r\n    stroke: #fff;\r\n    stroke-width: 2px;\r\n    transition: r .2s;\r\n}\r\n#reu-roue-wp circle.radar-pt:hover{ r: 6; }\r\n#reu-roue-wp text.radar-axis{\r\n    font-size: 11px;\r\n    font-weight: 650;\r\n    letter-spacing: -.1px;\r\n    fill: var(--ui-ink-soft);\r\n}\r\n#reu-roue-wp text.radar-axis tspan.code{\r\n    font-family: var(--ui-mono);\r\n    font-size: 9.5px;\r\n    font-weight: 500;\r\n    fill: var(--ui-faint);\r\n}\r\n#reu-roue-wp text.radar-val{\r\n    font-size: 13px;\r\n    font-weight: 700;\r\n    letter-spacing: -.3px;\r\n    fill: var(--ui-ink);\r\n}\r\n#reu-roue-wp text.radar-ring{\r\n    font-family: var(--ui-mono);\r\n    font-size: 8.5px;\r\n    font-weight: 500;\r\n    fill: var(--ui-faint);\r\n}\r\n\/* Filet de balayage : il ne porte aucune donn\u00e9e, il accompagne la mont\u00e9e du\r\n   trac\u00e9 le temps de l'ouverture puis s'efface. *\/\r\n#reu-roue-wp line.radar-sweep{\r\n    stroke: var(--ui-accent);\r\n    stroke-width: 1.4px;\r\n    stroke-linecap: round;\r\n    pointer-events: none;\r\n}\r\n\r\n\/* ==========================================================================\r\n   LES TROIS \u00c9TAGES : une planche annot\u00e9e\r\n   --------------------------------------------------------------------------\r\n   Sur une planche, une annotation se pose : elle ne s'enferme pas dans une\r\n   bo\u00eete et elle ne double pas ce qui est \u00e9crit ailleurs. Les rep\u00e8res tiennent\r\n   donc les quatre angles du cadre, et le plan a tout le reste.\r\n   ========================================================================== *\/\r\n#reu-roue-wp .et-legende{\r\n    border: 0;\r\n    border-bottom: 1px solid var(--ui-line);\r\n    border-radius: 0;\r\n    background: none;\r\n    padding: 0 0 15px;\r\n    margin: 0 0 6px;\r\n    gap: 9px;\r\n}\r\n#reu-roue-wp .et-legende li{ font-size: 10.5px; color: var(--ui-muted); gap: 9px; }\r\n#reu-roue-wp .et-legende b{ color: var(--ui-ink); font-weight: 700; }\r\n\r\n\r\n\/* La sc\u00e8ne : un fond de plan, tr\u00e8s discret, qui pose la planche. *\/\r\n#reu-roue-wp .et-piste{\r\n    border-radius: var(--ui-r-lg);\r\n    border: 1px solid var(--ui-line-soft);\r\n    background:\r\n        radial-gradient(120% 90% at 50% 0%, #ffffff 0%, var(--ui-canvas) 70%),\r\n        repeating-linear-gradient(to right, rgba(22,38,44,.045) 0 1px, transparent 1px 28px),\r\n        repeating-linear-gradient(to bottom, rgba(22,38,44,.045) 0 1px, transparent 1px 28px);\r\n}\r\n#reu-roue-wp .et-grille{ stroke: rgba(22,38,44,.10); stroke-width: .7; }\r\n#reu-roue-wp .et-contour{ stroke: rgba(22,38,44,.20); stroke-width: 1.1; fill: rgba(255,255,255,.66); }\r\n#reu-roue-wp .et-tranche{ fill: rgba(22,38,44,.05); stroke: rgba(22,38,44,.14); stroke-width: .8; }\r\n#reu-roue-wp .et-ombre{ fill: rgba(22,38,44,.07); }\r\n#reu-roue-wp .et-tige{ stroke-width: 1.1; }\r\n#reu-roue-wp .et-anneau{ stroke-width: 1.2; }\r\n#reu-roue-wp .et-indice{\r\n    background: var(--ui-surface);\r\n    border: 1px solid var(--ui-line);\r\n    border-radius: 999px;\r\n    padding: 8px 16px;\r\n    font-size: 10px;\r\n    font-weight: 600;\r\n    letter-spacing: .02em;\r\n    color: var(--ui-muted);\r\n    box-shadow: var(--ui-shadow);\r\n}\r\n#reu-roue-wp .et-indice b{ color: var(--ui-ink); font-weight: 750; }\r\n\r\n\/* ---------- la fiche ---------- *\/\r\n#reu-roue-wp .detail{\r\n    border: 1px solid var(--ui-line);\r\n    border-radius: var(--ui-r-lg);\r\n    box-shadow: var(--ui-shadow);\r\n    background: rgba(255,255,255,.97);\r\n}\r\n#reu-roue-wp .detail-toolbar,\r\n#reu-roue-wp .detail-nav{ background: var(--ui-surface); border-color: var(--ui-line); }\r\n#reu-roue-wp .detail-nav button{ font-size: 10.5px; color: var(--ui-muted); }\r\n#reu-roue-wp .detail-close,\r\n#reu-roue-wp .detail-expand{\r\n    border: 1px solid var(--ui-line);\r\n    background: var(--ui-canvas);\r\n    border-radius: var(--ui-r-sm);\r\n    color: var(--ui-muted);\r\n}\r\n#reu-roue-wp .detail-close:hover,\r\n#reu-roue-wp .detail-expand:hover{ background: var(--ui-sunk); color: var(--ui-ink); }\r\n#reu-roue-wp .detail-section{ border-top: 1px solid var(--ui-line-soft); }\r\n#reu-roue-wp .detail-section-title>span{\r\n    font-family: var(--ui-mono);\r\n    border: 1px solid var(--ui-line);\r\n    background: var(--ui-canvas);\r\n    color: var(--ui-faint);\r\n    font-weight: 500;\r\n}\r\n#reu-roue-wp .detail-stat{\r\n    background: var(--ui-canvas);\r\n    border: 1px solid var(--ui-line);\r\n    border-radius: var(--ui-r-md);\r\n}\r\n#reu-roue-wp .detail-stat:first-child{ background: var(--ui-sunk); border-color: var(--ui-line); }\r\n#reu-roue-wp .detail-stat b{ color: var(--ui-ink); }\r\n\r\n\/* ---------- la galerie des fleurs ---------- *\/\r\n#reu-roue-wp .fg-card{\r\n    border: 1px solid var(--ui-line);\r\n    border-radius: var(--ui-r-md);\r\n    background: var(--ui-surface);\r\n}\r\n#reu-roue-wp .fg-card:hover{\r\n    border-color: #d6ddd5;\r\n    box-shadow: 0 1px 2px rgba(22,38,44,.05), 0 14px 26px -18px rgba(22,38,44,.4);\r\n}\r\n#reu-roue-wp .fg-key{\r\n    background: var(--ui-canvas);\r\n    border: 1px solid var(--ui-line);\r\n    border-radius: var(--ui-r-md);\r\n}\r\n\r\n@media (max-width: 1000px){\r\n    #reu-roue-wp .fb-head,\r\n    #reu-roue-wp .fb-row{ grid-template-columns: 22px minmax(90px, 1fr) minmax(0, 2fr) 76px; gap: 11px; }\r\n    #reu-roue-wp .fb-label{ font-size: 12px; }\r\n    #reu-roue-wp .fb-val{ font-size: 13px; }\r\n}\r\n@media (max-width: 860px){\r\n    #reu-roue-wp .kpi-value{ font-size: 24px; }\r\n}\r\n\r\n\r\n\/* Deux anciennes r\u00e8gles de repli poussaient la piste sur une seconde ligne d\u00e8s\r\n   1300 px. La grille \u00e0 quatre colonnes tient jusqu'au t\u00e9l\u00e9phone : on la\r\n   r\u00e9tablit avec la sp\u00e9cificit\u00e9 qu'il faut, et le repli \u00e0 deux lignes est\r\n   repos\u00e9, lui, au seul endroit o\u00f9 il rend service. *\/\r\n#reu-roue-wp .freins-bars .fb-track{ grid-column: auto; grid-row: auto; }\r\n#reu-roue-wp .freins-bars .fb-val{ grid-column: auto; grid-row: auto; }\r\n@media (max-width: 620px){\r\n    #reu-roue-wp .freins-bars .fb-head{ display: none; }\r\n    #reu-roue-wp .freins-bars .fb-row{ grid-template-columns: 24px 1fr 74px; row-gap: 11px; }\r\n    #reu-roue-wp .freins-bars .fb-track{ grid-column: 1 \/ -1; grid-row: 2; }\r\n    #reu-roue-wp .freins-bars .fb-val{ grid-column: 3; grid-row: 1; }\r\n}\r\n\r\n\r\n\/* L'annotation de la planche. Pos\u00e9e en haut \u00e0 droite de la sc\u00e8ne, elle dit ce\r\n   que l'on regarde et ce que cela p\u00e8se, \u00e0 la fa\u00e7on d'un cartouche de plan. Un\r\n   filet de la couleur de la promesse la rattache \u00e0 l'\u00e9tage. *\/\r\n#reu-roue-wp .et-annot{\r\n    position: absolute;\r\n    top: 20px;\r\n    right: 42px;\r\n    z-index: 4;\r\n    max-width: 17rem;\r\n    padding-right: 14px;\r\n    border-right: 2px solid var(--pr, var(--ui-line));\r\n    text-align: right;\r\n    pointer-events: none;\r\n}\r\n#reu-roue-wp .et-annot-rang{\r\n    display: block;\r\n    font-family: var(--ui-mono);\r\n    font-size: 9px;\r\n    letter-spacing: .12em;\r\n    text-transform: uppercase;\r\n    color: var(--ui-faint);\r\n}\r\n#reu-roue-wp .et-annot-titre{\r\n    display: block;\r\n    margin: 4px 0 8px;\r\n    font-size: 22px;\r\n    font-weight: 750;\r\n    letter-spacing: -.7px;\r\n    line-height: 1;\r\n    color: var(--pr-text, var(--ui-ink));\r\n}\r\n#reu-roue-wp .et-annot-sub{\r\n    display: block;\r\n    font-size: 10.5px;\r\n    line-height: 1.55;\r\n    color: var(--ui-muted);\r\n    font-variant-numeric: tabular-nums;\r\n}\r\n#reu-roue-wp .et-annot-sub b{ color: var(--ui-ink); font-weight: 750; }\r\n#reu-roue-wp .et-annot-sub + .et-annot-sub{ margin-top: 2px; }\r\n\r\n\/* Le halo au sol situe la th\u00e9matique, il ne doit pas disputer la fleur. *\/\r\n#reu-roue-wp .et-halo{ opacity: .2; }\r\n#reu-roue-wp .et-etage.is-active .et-halo{ opacity: .26; }\r\n\r\n\r\n#reu-roue-wp .fb-note{\r\n    margin: 22px 0 0;\r\n    padding-top: 15px;\r\n    border-top: 1px solid var(--ui-line);\r\n    font-size: 10.5px;\r\n    line-height: 1.7;\r\n    color: var(--ui-muted);\r\n    max-width: 82ch;\r\n}\r\n#reu-roue-wp .fb-note b{\r\n    color: var(--ui-ink);\r\n    font-weight: 750;\r\n    letter-spacing: .06em;\r\n    text-transform: uppercase;\r\n    font-size: 9px;\r\n}\r\n#reu-roue-wp .fb-note span{ color: var(--ui-faint); }\r\n\/* ==========================================================================\r\n   PLEIN CADRE \u2014 la sc\u00e8ne d'abord, les rep\u00e8res dans les angles\r\n   --------------------------------------------------------------------------\r\n   Sur la roue et sur les \u00e9tages, la colonne de gauche cesse d'\u00eatre une colonne :\r\n   elle devient un calque transparent pos\u00e9 sur la sc\u00e8ne. Le titre tient l'angle\r\n   haut-gauche, la liste des th\u00e9matiques l'angle bas-droit, et le reste s'en va.\r\n   Les compteurs de t\u00eate, d'abord : \u00ab 48 projets \u00bb \u00e9tait d\u00e9j\u00e0 la somme des\r\n   nombres align\u00e9s dans la liste, deux lignes plus bas.\r\n   Sous 1000 px, la colonne revient : un calque n'a de sens que s'il reste de la\r\n   place autour de la sc\u00e8ne.\r\n   ========================================================================== *\/\r\n@media (min-width: 1001px){\r\n#reu-roue-wp[data-view=\"empreinte\"] .header,\r\n#reu-roue-wp[data-view=\"etages\"] .header,\r\n#reu-roue-wp[data-view=\"freins\"] .header{\r\n    position: absolute;\r\n    inset: 0;\r\n    width: auto;\r\n    max-width: none;\r\n    flex: none;\r\n    z-index: 21;\r\n    display: grid;\r\n    grid-template-columns: minmax(0, 21rem) minmax(0, 1fr) auto;\r\n    grid-template-rows: auto auto minmax(0, 1fr) auto auto auto;\r\n    padding: 26px 30px 20px 34px;\r\n    border-right: 0;\r\n    background: none;\r\n    overflow: visible;\r\n    pointer-events: none;\r\n}\r\n#reu-roue-wp[data-view=\"empreinte\"] .header > *,\r\n#reu-roue-wp[data-view=\"etages\"] .header > *,\r\n#reu-roue-wp[data-view=\"freins\"] .header > *{ pointer-events: auto; }\r\n#reu-roue-wp[data-view=\"empreinte\"] .intro,\r\n#reu-roue-wp[data-view=\"etages\"] .intro,\r\n#reu-roue-wp[data-view=\"freins\"] .intro{ grid-column: 1; grid-row: 1; }\r\n\/* Le compteur \u00ab 48 projets \/ 9 th\u00e9matiques \u00bb disait deux fois ce que la\r\n   l\u00e9gende chiffre d\u00e9j\u00e0 th\u00e9matique par th\u00e9matique, et il prenait la hauteur\r\n   qui manquait au filtre et au graphique. La roue et les \u00e9tages s'en\r\n   passaient d\u00e9j\u00e0 : les freins et les fleurs font de m\u00eame, et la place\r\n   revient au contenu. *\/\r\n#reu-roue-wp .kpi-row{ display: none; }\r\n#reu-roue-wp[data-view=\"empreinte\"] .stage-heading,\r\n#reu-roue-wp[data-view=\"etages\"] .stage-heading,\r\n#reu-roue-wp[data-view=\"freins\"] .stage-heading{ display: none; }\r\n\r\n\/* Le fil d'Ariane coiffe la liste : ensemble ils forment le seul bloc de\r\n   navigation de la vue, dans l'angle que le disque ne remplit pas. *\/\r\n#reu-roue-wp[data-view=\"empreinte\"] .toolbar{\r\n    grid-column: 3; grid-row: 4;\r\n    justify-self: end;\r\n    align-items: flex-end;\r\n    width: auto;\r\n    gap: 0;\r\n}\r\n#reu-roue-wp[data-view=\"empreinte\"] .crumbs{\r\n    justify-content: flex-end;\r\n    text-align: right;\r\n    margin: 0 2px 9px 0;\r\n}\r\n#reu-roue-wp[data-view=\"empreinte\"] .explore-list{\r\n    grid-column: 3; grid-row: 5;\r\n    justify-self: end;\r\n    width: 15.5rem;\r\n    flex: none;\r\n    margin: 0;\r\n    padding: 7px;\r\n    max-height: min(46vh, 392px);\r\n    border: 1px solid var(--ui-line);\r\n    border-radius: var(--ui-r-lg);\r\n    background: rgba(255,255,255,.86);\r\n    -webkit-backdrop-filter: blur(16px);\r\n    backdrop-filter: blur(16px);\r\n    box-shadow: var(--ui-shadow);\r\n}\r\n#reu-roue-wp[data-view=\"empreinte\"] .reading-note{\r\n    grid-column: 3; grid-row: 6;\r\n    justify-self: end;\r\n    width: 15.5rem;\r\n    border: 0;\r\n    margin: 10px 0 0;\r\n    padding: 0 2px;\r\n    gap: 8px;\r\n}\r\n#reu-roue-wp[data-view=\"empreinte\"] .reading-note p{ font-size: 10px; max-width: none; }\r\n\/* Sur les \u00e9tages, la consigne de descente est d\u00e9j\u00e0 pos\u00e9e au pied de la sc\u00e8ne. *\/\r\n#reu-roue-wp[data-view=\"etages\"] .reading-note,\r\n#reu-roue-wp[data-view=\"etages\"] .toolbar{ display: none; }\r\n\/* Le filtre par th\u00e9matique se range sous le titre : l'angle bas-gauche revient\r\n   \u00e0 la cl\u00e9 de lecture de la planche. *\/\r\n#reu-roue-wp[data-view=\"etages\"] .header .legend{\r\n    grid-column: 1; grid-row: 2;\r\n    justify-self: start;\r\n    align-self: start;\r\n    position: static;\r\n    width: 15rem;\r\n    max-width: none;\r\n    max-height: min(40vh, 330px);\r\n    overflow: auto;\r\n    margin: 20px 0 0;\r\n    padding: 10px 11px 11px;\r\n    border: 1px solid var(--ui-line);\r\n    border-radius: var(--ui-r-md);\r\n    background: rgba(255,255,255,.84);\r\n    -webkit-backdrop-filter: blur(16px);\r\n    backdrop-filter: blur(16px);\r\n    box-shadow: var(--ui-shadow);\r\n}\r\n\/* Le bandeau de rubrique ayant disparu, la planche r\u00e9cup\u00e8re sa bande. *\/\r\n#reu-roue-wp[data-view=\"etages\"] .stage-panel{ top: 0; }\r\n\r\n\/* Freins rencontr\u00e9s : calque transparent plein cadre, plus de place au radar *\/\r\n\/* La rang\u00e9e \u00e9lastique passe APR\u00c8S le filtre et sa note : les deux se\r\n   suivent en haut de colonne, et c'est le vide qui prend le bas. *\/\r\n#reu-roue-wp[data-view=\"freins\"] .header{\r\n    grid-template-rows: auto auto auto auto minmax(0, 1fr) auto;\r\n}\r\n#reu-roue-wp[data-view=\"freins\"] .toolbar{\r\n    grid-column: 1;\r\n    grid-row: 2;\r\n    margin: 14px 0 0;\r\n    width: auto;\r\n}\r\n#reu-roue-wp[data-view=\"freins\"] .crumbs,\r\n#reu-roue-wp[data-view=\"freins\"] .explore-list{ display: none; }\r\n\/* Le filtre pendait en bas de la colonne, \u00e0 distance du titre et du\r\n   s\u00e9lecteur auxquels il appartient : selon la hauteur de la fen\u00eatre il\r\n   se retrouvait tant\u00f4t coll\u00e9 au pied de page, tant\u00f4t seul au milieu du\r\n   vide. Il se range sous le s\u00e9lecteur de mode, en haut de colonne, et\r\n   c'est le vide qui descend en bas. *\/\r\n#reu-roue-wp[data-view=\"freins\"] .header .legend{\r\n    grid-column: 1;\r\n    grid-row: 3;\r\n    justify-self: start;\r\n    align-self: start;\r\n    position: static;\r\n    width: 16rem;\r\n    max-width: none;\r\n    max-height: min(52vh, 420px);\r\n    overflow: auto;\r\n    margin: 14px 0 0;\r\n    padding: 10px 11px 11px;\r\n    border: 1px solid var(--ui-line);\r\n    border-radius: var(--ui-r-md);\r\n    background: rgba(255,255,255,.84);\r\n    -webkit-backdrop-filter: blur(16px);\r\n    backdrop-filter: blur(16px);\r\n    box-shadow: var(--ui-shadow);\r\n}\r\n#reu-roue-wp[data-view=\"freins\"] .reading-note{\r\n    grid-column: 1;\r\n    grid-row: 4;\r\n    align-self: start;\r\n    width: 16rem;\r\n    border: 0;\r\n    margin: 8px 0 0;\r\n    padding: 0 2px;\r\n}\r\n#reu-roue-wp[data-view=\"freins\"] .reading-note p{ font-size: 10px; max-width: none; }\r\n#reu-roue-wp[data-view=\"freins\"] .freins-bars{\r\n    padding: 48px 3rem 35px 22rem !important;\r\n    justify-content: center;\r\n}\r\n\r\n\/* Fleurs des assos : fond gris unifi\u00e9, filtre descendu en bas *\/\r\n#reu-roue-wp[data-view=\"fleurs\"] .header{\r\n    width: 21rem;\r\n    flex: 0 0 21rem;\r\n    padding: 26px 20px 20px 34px;\r\n    border-right: 0;\r\n    background: none;\r\n    display: flex;\r\n    flex-direction: column;\r\n}\r\n#reu-roue-wp[data-view=\"fleurs\"] .header .toolbar,\r\n#reu-roue-wp[data-view=\"fleurs\"] .header .crumbs,\r\n#reu-roue-wp[data-view=\"fleurs\"] .header .explore-list{ display: none; }\r\n\/* M\u00eame correction dans la galerie : le filtre \u00e9tait descendu en pied de\r\n   colonne, loin du chapeau qu'il commande. Il remonte juste sous lui, et\r\n   la colonne se lit d'un bloc. *\/\r\n#reu-roue-wp[data-view=\"fleurs\"] .header .legend{\r\n    margin-top: 20px;\r\n    margin-bottom: 0;\r\n    width: 100%;\r\n    max-width: 16rem;\r\n    padding: 10px 11px 11px;\r\n    border: 1px solid var(--ui-line);\r\n    border-radius: var(--ui-r-md);\r\n    background: rgba(255,255,255,.84);\r\n    -webkit-backdrop-filter: blur(16px);\r\n    backdrop-filter: blur(16px);\r\n    box-shadow: var(--ui-shadow);\r\n    position: relative;\r\n}\r\n#reu-roue-wp[data-view=\"fleurs\"] .legend.is-menu.is-open .legend-list{\r\n    position: absolute;\r\n    top: calc(100% + 8px);\r\n    bottom: auto;\r\n    left: 0;\r\n    right: 0;\r\n    width: 100%;\r\n    max-height: min(44vh, 320px);\r\n    overflow-y: auto;\r\n    background: rgba(255,255,255,.96);\r\n    -webkit-backdrop-filter: blur(16px);\r\n    backdrop-filter: blur(16px);\r\n    border: 1px solid var(--ui-line);\r\n    border-radius: var(--ui-r-md);\r\n    box-shadow: var(--ui-shadow);\r\n    padding: 8px;\r\n    z-index: 50;\r\n}\r\n\/* La note suit le filtre qu'elle explique, et c'est elle qui pousse le\r\n   vide vers le bas de la colonne. *\/\r\n#reu-roue-wp[data-view=\"fleurs\"] .reading-note{\r\n    border-top: 0;\r\n    padding-top: 0;\r\n    margin-top: 10px;\r\n    margin-bottom: auto;\r\n    max-width: 16rem;\r\n}\r\n#reu-roue-wp[data-view=\"fleurs\"] .reading-note p{ font-size: 10px; max-width: none; }\r\n}\r\n\r\n\/* LES TROIS \u00c9TAGES \u2014 sc\u00e8ne de pr\u00e9sentation *\/\r\n#reu-roue-wp[data-view=\"etages\"] .main-content{ background: transparent; }\r\n#reu-roue-wp[data-view=\"etages\"] .header{\r\n    position:absolute; inset:0; width:auto; max-width:none; max-height:none;\r\n    display:block; padding:0; margin:0; border:0; background:none;\r\n    pointer-events:none; overflow:visible; z-index:21;\r\n}\r\n#reu-roue-wp[data-view=\"etages\"] .header > :not(.legend),\r\n#reu-roue-wp[data-view=\"etages\"] .stage-heading{ display:none; }\r\n#reu-roue-wp[data-view=\"etages\"] .header .legend{\r\n    position:absolute; top:20px; right:24px; left:auto; bottom:auto;\r\n    width:232px; max-width:calc(100% - 40px); max-height:none;\r\n    margin:0; padding:0; border:0; border-radius:12px;\r\n    background:none; box-shadow:none; backdrop-filter:none; overflow:visible;\r\n    pointer-events:auto;\r\n}\r\n#reu-roue-wp[data-view=\"etages\"] .legend-title{ display:none; }\r\n#reu-roue-wp[data-view=\"etages\"] .legend.is-menu .legend-trigger{\r\n    min-height:42px; padding:11px 14px; border:1px solid var(--ui-line);\r\n    color:var(--ui-ink); background:var(--ui-surface); font-size:11px; border-radius:12px;\r\n}\r\n#reu-roue-wp[data-view=\"etages\"] .legend.is-menu.is-open .legend-list{\r\n    position:absolute; top:calc(100% + 8px); right:0; width:280px;\r\n    max-width:calc(100vw - 40px); max-height:65vh; overflow:auto;\r\n    margin:0; padding:10px; background:#fff; border:1px solid #e6eae3;\r\n    border-radius:14px; box-shadow:var(--ui-shadow);\r\n}\r\n#reu-roue-wp .stage-panel.etages{ display:block; top:0; padding:0; overflow:hidden; }\r\n#reu-roue-wp .stage-panel.etages[hidden]{ display:none; }\r\n#reu-roue-wp .stage-panel.etages .et-piste{\r\n    height:100%; border:0; border-radius:0; background:transparent;\r\n    color:var(--ui-ink); transition:--et-teinte .8s ease; overscroll-behavior:contain;\r\n}\r\n@property --et-teinte{ syntax:\"<color>\"; inherits:true; initial-value:#E07B24; }\r\n#reu-roue-wp .et-colle{ isolation:isolate; }\r\n#reu-roue-wp .et-colle::before,\r\n#reu-roue-wp .et-colle::after,\r\n#reu-roue-wp .et-masthead,\r\n#reu-roue-wp .et-watermark{ display:none; }\r\n#reu-roue-wp #chart-container .et-colle > svg{\r\n    position:absolute; left:.5%; top:20px; width:99%; height:calc(100% - 76px);\r\n    overflow:visible; touch-action:pan-y;\r\n}\r\n\/* Surfaces satin\u00e9es, deux chants et une ar\u00eate lumineuse. *\/\r\n#reu-roue-wp .et-contour{\r\n    fill:url(#fis-et-dalle); stroke:#98acb5; stroke-width:1.2;\r\n    stroke-linejoin:round; animation:none !important;\r\n}\r\n#reu-roue-wp .et-teinte{ fill:var(--pr); opacity:.025; pointer-events:none; transition:opacity .7s ease; }\r\n#reu-roue-wp .et-etage.is-active .et-teinte{ opacity:.085; }\r\n#reu-roue-wp .et-tranche-g{ fill:url(#fis-et-chant-g); fill-opacity:1; stroke:#d6e3ed50; }\r\n#reu-roue-wp .et-tranche-d{ fill:url(#fis-et-chant-d); fill-opacity:1; stroke:#d6e3ed50; }\r\n#reu-roue-wp .et-edge{ fill:none; stroke:var(--pr); stroke-width:3; stroke-linejoin:round; opacity:1; transition:opacity .5s ease, stroke-width .5s ease; }\r\n#reu-roue-wp .et-edge-light{ fill:none; stroke:#fff; stroke-width:.85; stroke-linejoin:round; opacity:.7; pointer-events:none; transition:opacity .5s ease; }\r\n\/* L'\u00e9tage qu'on ne regarde pas se retire : un peu moins satur\u00e9, son ar\u00eate de\r\n   couleur s'efface aux trois quarts. Seul l'\u00e9tage actif reste net et vif,\r\n   comme au premier plan d'une photo \u2014 c'est ce contraste qui le distingue,\r\n   plus que sa seule position. *\/\r\n#reu-roue-wp .et-etage{ transition:filter .6s ease; }\r\n#reu-roue-wp .et-etage:not(.is-active){ filter:saturate(.6) brightness(1.02); }\r\n#reu-roue-wp .et-etage:not(.is-active) .et-edge{ opacity:.5; stroke-width:1.6; }\r\n#reu-roue-wp .et-etage:not(.is-active) .et-edge-light{ opacity:.3; }\r\n#reu-roue-wp .et-grille{ stroke:#344957; stroke-opacity:.17; stroke-width:.75; }\r\n#reu-roue-wp .et-ombre{ fill:url(#fis-et-ombre); }\r\n#reu-roue-wp .et-tige{ stroke:#3c5562; opacity:.9; stroke-width:1.4; }\r\n#reu-roue-wp .et-halo{ opacity:.22; }\r\n#reu-roue-wp .et-etage.is-active .et-halo{ opacity:.46; }\r\n#reu-roue-wp .et-anneau{ stroke:var(--pr); opacity:.85; stroke-width:1.35; }\r\n#reu-roue-wp .et-vide{ fill-opacity:.08; stroke-opacity:.5; }\r\n#reu-roue-wp .et-fleur .et-fleur-in{\r\n    transform:translateY(5px) scale(.82); opacity:.7;\r\n    transition:transform .9s cubic-bezier(.16,1,.3,1) var(--pousse,0ms),opacity .6s ease var(--pousse,0ms);\r\n}\r\n#reu-roue-wp .et-etage.is-active .et-fleur .et-fleur-in{ transform:translateY(0) scale(1); opacity:1; }\r\n#reu-roue-wp .et-etage.is-active .et-fleur:hover .et-fleur-in,\r\n#reu-roue-wp .et-etage.is-active .et-fleur:focus-visible .et-fleur-in{\r\n    transform:translateY(-4px) scale(1.18); transition-delay:0ms; transition-duration:.3s;\r\n}\r\n#reu-roue-wp .et-fleur:focus-visible{ outline:none; }\r\n#reu-roue-wp .et-fleur:focus-visible .et-cible{ stroke:#16262c; stroke-width:1.5; }\r\n@keyframes fis-et-monte{ from{opacity:0;transform:translateY(42px)} to{opacity:1;transform:translateY(0)} }\r\n#reu-roue-wp .et-etage-in{ animation:fis-et-monte 1.2s cubic-bezier(.16,1,.3,1) both; animation-delay:calc(var(--i,0)*120ms); }\r\n\/* Rep\u00e8res compacts dans les angles : tout le centre appartient aux \u00e9tages. *\/\r\n#reu-roue-wp .et-annot{\r\n    position:absolute; top:20px; left:28px; right:auto; width:auto; max-width:60%;\r\n    padding:0; border:0; text-align:left; z-index:4; pointer-events:none;\r\n}\r\n@keyframes fis-et-annot{ from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:translateY(0)} }\r\n#reu-roue-wp .et-annot > *{ animation:fis-et-annot .55s cubic-bezier(.16,1,.3,1) both; }\r\n#reu-roue-wp .et-annot{ display:flex; flex-direction:column; align-items:flex-start; }\r\n#reu-roue-wp .et-annot-rang{\r\n    order:1; color:var(--ui-muted); font-size:9px; font-weight:700;\r\n    letter-spacing:.16em; text-transform:uppercase;\r\n}\r\n#reu-roue-wp .et-annot-rang b{ color:var(--pr-text); font-weight:800; }\r\n#reu-roue-wp .et-annot-titre{\r\n    order:2; display:block; margin:8px 0 14px; color:var(--ui-ink);\r\n    font-size:44px; font-weight:700; line-height:1.02; letter-spacing:-1.8px;\r\n}\r\n#reu-roue-wp .et-stat{ order:3; display:inline-flex; align-items:baseline; gap:6px; margin:0; }\r\n#reu-roue-wp .et-stat strong{ font-size:32px; font-weight:650; color:var(--pr-text); letter-spacing:-1px; }\r\n#reu-roue-wp .et-stat span{ font-size:14px; color:var(--ui-muted); }\r\n#reu-roue-wp .et-stat-label{ order:4; display:block; margin-top:2px; font-size:10px; color:var(--ui-muted); }\r\n#reu-roue-wp .et-phrase{\r\n    order:5; display:block; margin:14px 0 0; padding-top:12px;\r\n    border-top:1px solid var(--ui-line); max-width:24ch;\r\n    font-size:12.5px; line-height:1.6; color:var(--ui-ink-soft);\r\n}\r\n#reu-roue-wp .et-meter,#reu-roue-wp .et-annot-sub{ display:none; }\r\n\/* Navigation stable : les touches, les boutons et le scroll ont la m\u00eame destination. *\/\r\n#reu-roue-wp .et-bottom{\r\n    position:absolute; left:24px; right:24px; bottom:14px; z-index:5;\r\n    display:flex; align-items:center; gap:18px; border-top:0; padding-top:0;\r\n}\r\n#reu-roue-wp .et-nav{ position:static; display:flex; flex-direction:row; align-items:stretch; gap:8px; margin-left:auto; }\r\n#reu-roue-wp .et-jalon{\r\n    position:relative; display:flex; align-items:center; gap:10px; padding:12px 18px;\r\n    border:1px solid transparent; border-radius:12px; background:transparent;\r\n    color:var(--ui-muted); font:inherit; cursor:pointer;\r\n    transition:background .35s ease,border-color .35s ease,color .35s ease,transform .35s ease;\r\n}\r\n#reu-roue-wp .et-jalon::after{ display:none; }\r\n#reu-roue-wp .et-jalon-rang{ font-family:var(--ui-mono); color:inherit; font-size:10px; opacity:.65; }\r\n#reu-roue-wp .et-jalon-nom{ font-size:12px; font-weight:600; letter-spacing:0; }\r\n#reu-roue-wp .et-jalon-puce{ width:5px; height:5px; border:0; border-radius:50%; background:currentColor; opacity:0; transform:scale(.5); transition:opacity .3s,transform .5s; }\r\n#reu-roue-wp .et-jalon:hover{ color:var(--ui-ink); background:var(--ui-sunk); transform:translateY(-2px); }\r\n#reu-roue-wp .et-jalon.is-active{ color:var(--pr-text); border-color:var(--ui-line); background:var(--ui-surface); box-shadow:var(--ui-shadow); }\r\n#reu-roue-wp .et-jalon.is-active .et-jalon-puce{ opacity:1; transform:scale(1); }\r\n#reu-roue-wp .et-steps{ display:flex; gap:6px; }\r\n#reu-roue-wp .et-step{\r\n    width:38px; height:38px; border:1px solid var(--ui-line); border-radius:50%;\r\n    background:var(--ui-surface); color:var(--ui-ink); font:inherit; font-size:19px; cursor:pointer;\r\n    transition:background .25s,transform .25s,opacity .25s;\r\n}\r\n#reu-roue-wp .et-step:hover:not(:disabled){ background:var(--ui-sunk); transform:translateY(-2px); }\r\n#reu-roue-wp .et-step:disabled{ opacity:.22; cursor:default; }\r\n#reu-roue-wp .et-jalon:focus-visible,#reu-roue-wp .et-step:focus-visible{ outline:2px solid var(--ui-accent); outline-offset:4px; }\r\n#reu-roue-wp .et-indice{ position:static; margin:0; padding:0; border:0; transform:none; background:none; box-shadow:none; color:var(--ui-muted); font-size:10px; white-space:nowrap; }\r\n#reu-roue-wp .et-indice b{ color:var(--ui-ink); font-weight:500; }\r\n#reu-roue-wp .et-indice.is-parti{ opacity:0; transform:translateY(4px); }\r\n#reu-roue-wp .et-cle + .et-indice{ padding-left:16px; border-left:1px solid var(--ui-line); }\r\n#reu-roue-wp .et-cle{ position:static; flex:none; pointer-events:none; }\r\n#reu-roue-wp .et-cle .et-legende{ display:flex; flex-direction:row; justify-content:flex-start; flex-wrap:wrap; gap:16px; margin:0; padding:0; border:0; }\r\n#reu-roue-wp .et-cle .et-legende li{ font-size:9px; gap:6px; color:var(--ui-muted); }\r\n#reu-roue-wp .et-cle .et-legende b{ color:var(--ui-ink); font-weight:500; }\r\n#reu-roue-wp #chart-container .et-cle .lg-marque{ width:21px; height:21px; }\r\n#reu-roue-wp .et-cle .et-vide,#reu-roue-wp .et-cle .et-anneau{ stroke:#71878b; }\r\n@media (max-width:1000px){\r\n    #reu-roue-wp .et-cle,#reu-roue-wp .et-indice{ display:none; }\r\n    #reu-roue-wp .et-nav{ margin:0 auto; }\r\n}\r\n@media (max-width:760px){\r\n    #reu-roue-wp[data-view=\"etages\"] .header .legend{ top:18px; right:20px; width:184px; }\r\n    #reu-roue-wp[data-view=\"etages\"] .legend.is-menu .legend-trigger{ min-height:36px; padding:9px 11px; font-size:10px; }\r\n    #reu-roue-wp .et-annot{ top:16px; left:22px; max-width:calc(100% - 230px); }\r\n    #reu-roue-wp .et-annot-titre{ font-size:30px; margin:6px 0 10px; }\r\n    #reu-roue-wp .et-stat strong{ font-size:20px; }\r\n    #reu-roue-wp .et-stat-label{ font-size:9px; }\r\n    #reu-roue-wp #chart-container .et-colle > svg{ left:.5%; top:54px; width:99%; height:calc(100% - 110px); }\r\n    #reu-roue-wp .et-bottom{ left:16px; right:16px; bottom:12px; gap:8px; }\r\n    #reu-roue-wp .et-nav{ width:100%; gap:5px; }\r\n    #reu-roue-wp .et-jalon{ flex:1; justify-content:center; gap:7px; padding:12px 8px; }\r\n    #reu-roue-wp .et-jalon-nom{ font-size:11px; }\r\n    #reu-roue-wp .et-jalon-rang{ font-size:9px; }\r\n    #reu-roue-wp .et-jalon-puce,#reu-roue-wp .et-steps{ display:none; }\r\n}\r\n@media (max-width:520px){\r\n    #reu-roue-wp .toggle-btn{ min-width:0; white-space:normal; padding:7px 5px; font-size:9px; line-height:1.35; }\r\n    #reu-roue-wp .toggle-group{ align-items:stretch; }\r\n    #reu-roue-wp[data-view=\"etages\"] .header .legend{ right:14px; width:146px; }\r\n    #reu-roue-wp .et-annot{ left:16px; max-width:calc(100% - 176px); }\r\n    #reu-roue-wp .et-annot-titre{ display:block; font-size:27px; margin:6px 0 8px; }\r\n    #reu-roue-wp .et-stat{ position:static; }\r\n    #reu-roue-wp .et-stat-label{ display:none; }\r\n    #reu-roue-wp .et-phrase{ display:none; }\r\n    #reu-roue-wp #chart-container .et-colle > svg{ top:88px; height:calc(100% - 144px); }\r\n}\r\n@media (prefers-reduced-motion:reduce){\r\n    #reu-roue-wp .et-etage-in,#reu-roue-wp .et-annot > *{ animation:none; }\r\n    #reu-roue-wp .et-piste,#reu-roue-wp .et-fleur .et-fleur-in{ transition:none; scroll-behavior:auto; }\r\n}\r\n\r\n\/* ==========================================================================\r\n   LA FICHE, R\u00c9VISION 2 \u2014 le cadran et ce qui va avec\r\n   --------------------------------------------------------------------------\r\n   Une part de financement se lisait jusqu'ici comme les autres bulles : un\r\n   nombre pos\u00e9 \u00e0 plat, au milieu de cinq autres nombres. Or c'est le seul\r\n   chiffre de la fiche qui soit un rapport, donc le seul qui gagne \u00e0 \u00eatre vu\r\n   plut\u00f4t que lu. Il prend un cadran \u00e0 traits, et les deux montants passent\r\n   dessous : la jauge dit la proportion, les montants disent l'\u00e9chelle.\r\n   Le reste de la fiche suit le m\u00eame ch\u00e2ssis \u2014 ivoire, encre et filet ; les\r\n   teintes restent aux th\u00e9matiques et aux promesses.\r\n   ========================================================================== *\/\r\n#reu-roue-wp .fin-card{\r\n    margin: 0 0 10px;\r\n    padding: 17px 17px 13px;\r\n    border: 1px solid var(--ui-line);\r\n    border-radius: var(--ui-r-lg);\r\n    background: var(--ui-surface);\r\n}\r\n#reu-roue-wp .jauge{ margin: 0; }\r\n#reu-roue-wp .jg-head{ display: flex; align-items: center; gap: 10px; margin: 0 0 4px; }\r\n#reu-roue-wp .jg-titre{\r\n    font-size: 9px; font-weight: 700; letter-spacing: .14em;\r\n    text-transform: uppercase; color: var(--ui-faint);\r\n}\r\n\/* La pastille reprend celle de l'\u00e9cran de r\u00e9f\u00e9rence, mais elle nomme la\r\n   th\u00e9matique \u2014 un fait \u2014 et non un \u00e9tat \u00ab normal \/ critique \u00bb : une part de\r\n   financement n'a pas de bonne valeur. *\/\r\n#reu-roue-wp .jg-pill{\r\n    margin-left: auto; display: inline-flex; align-items: center; gap: 6px;\r\n    max-width: 62%; padding: 4px 9px; border-radius: 999px;\r\n    background: var(--ui-sunk); font-family: var(--ui-mono);\r\n    font-size: 8.5px; letter-spacing: .1em; text-transform: uppercase;\r\n    color: var(--ui-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis;\r\n}\r\n#reu-roue-wp .jg-pill i{\r\n    flex: none; width: 6px; height: 6px; border-radius: 50%;\r\n    background: var(--theme-color, var(--ui-accent));\r\n}\r\n#reu-roue-wp .jg-cadran{ position: relative; width: min(228px, 70%); margin: 0 auto; }\r\n#reu-roue-wp .jg-cadran svg{\r\n    display: block; width: 100%; height: auto; overflow: visible;\r\n    animation: jgIn .52s cubic-bezier(.22,1,.36,1) both;\r\n}\r\n#reu-roue-wp .jg-cadran .jg-on{\r\n    stroke: var(--theme-color-text, var(--ui-accent));\r\n    stroke-width: 3; stroke-linecap: round;\r\n}\r\n#reu-roue-wp .jg-cadran .jg-off{ stroke: #d8ded7; stroke-width: 2.3; stroke-linecap: round; }\r\n#reu-roue-wp .jg-cadran .jg-repere{ stroke: var(--ui-muted); stroke-width: 2; stroke-linecap: round; }\r\n\/* Les libell\u00e9s ne bougent jamais pendant le mouvement : le cadran se pose\r\n   d'abord, le nombre et la note se fondent ensuite, l'un apr\u00e8s l'autre. *\/\r\n#reu-roue-wp .jg-val{\r\n    position: absolute; inset: 0; margin: 0; pointer-events: none;\r\n    display: flex; align-items: center; justify-content: center; gap: 3px;\r\n    animation: jgPose .38s ease .32s both;\r\n}\r\n#reu-roue-wp .jg-val b{\r\n    font-size: clamp(30px, 3.2vw, 38px); font-weight: 450; letter-spacing: -1.4px;\r\n    line-height: 1; color: var(--ui-ink); font-variant-numeric: tabular-nums;\r\n}\r\n#reu-roue-wp .jg-val span{\r\n    align-self: center; margin-top: 13px; font-size: 12.5px;\r\n    font-weight: 600; color: var(--ui-faint);\r\n}\r\n#reu-roue-wp .jg-val .jg-nr{ font-size: 25px; color: var(--ui-faint); letter-spacing: 0; }\r\n#reu-roue-wp .jg-note{\r\n    margin: 3px 0 0; text-align: center; font-family: var(--ui-mono);\r\n    font-size: 9px; letter-spacing: .03em; color: var(--ui-faint);\r\n    animation: jgPose .38s ease .4s both;\r\n}\r\n@keyframes jgIn{ from{ opacity:0; transform: rotate(-7deg) scale(.93); } to{ opacity:1; transform:none; } }\r\n@keyframes jgPose{ from{ opacity:0; transform: translateY(5px); } to{ opacity:1; transform:none; } }\r\n\r\n\/* ---- la barre de budget ----\r\n   La longueur enti\u00e8re est le budget total ; la part color\u00e9e, le soutien du\r\n   FIS. Le fond de piste n'est pas un d\u00e9cor : c'est le reste \u00e0 financer, donc\r\n   il se lit comme une donn\u00e9e et porte son montant sous lui. La part garde sa\r\n   proportion exacte, avec un plancher de 4 px pour qu'un soutien \u00e0 5 % reste\r\n   visible \u2014 sur une barre de 300 px, l'\u00e9cart introduit est d'un point et demi. *\/\r\n#reu-roue-wp .bud{\r\n    margin-top: 13px; padding-top: 12px; border-top: 1px solid var(--ui-line-soft);\r\n}\r\n#reu-roue-wp .bud-bar{\r\n    position: relative; height: 30px; border-radius: 9px;\r\n    overflow: hidden; background: #e4e9e3;\r\n}\r\n#reu-roue-wp .bud-fis{\r\n    position: absolute; top: 0; bottom: 0; left: 0; min-width: 4px;\r\n    background: var(--theme-color-text, var(--ui-accent));\r\n    transform-origin: left;\r\n    animation: fisBar .62s cubic-bezier(.22,1,.36,1) both;\r\n}\r\n\/* Les montants se posent une fois la barre arriv\u00e9e, jamais pendant. *\/\r\n#reu-roue-wp .bud-num{\r\n    display: flex; justify-content: space-between; gap: 12px; margin: 9px 0 0;\r\n    animation: jgPose .38s ease .38s both;\r\n}\r\n#reu-roue-wp .bud-num b{\r\n    display: block; font-size: clamp(16px, 1.5vw, 20px); font-weight: 600;\r\n    letter-spacing: -.6px; line-height: 1.15; color: var(--ui-ink);\r\n    font-variant-numeric: tabular-nums; white-space: nowrap;\r\n}\r\n#reu-roue-wp .bud-num > span:first-child b{ color: var(--theme-color-text, var(--ui-accent)); }\r\n#reu-roue-wp .bud-num > span:last-child{ text-align: right; }\r\n#reu-roue-wp .bud-num i{\r\n    display: block; margin-top: 2px; font-style: normal; font-size: 8.5px;\r\n    font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--ui-faint);\r\n}\r\n#reu-roue-wp .bud-total{\r\n    margin: 9px 0 0; text-align: center; font-family: var(--ui-mono);\r\n    font-size: 9px; letter-spacing: .03em; color: var(--ui-faint);\r\n    animation: jgPose .38s ease .46s both;\r\n}\r\n#reu-roue-wp .fin-sommes{\r\n    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px;\r\n    margin-top: 13px; padding-top: 12px; border-top: 1px solid var(--ui-line-soft);\r\n}\r\n#reu-roue-wp .fs-item{\r\n    display: flex; flex-direction: column; gap: 4px; min-width: 0;\r\n    animation: jgPose .38s ease .46s both;\r\n}\r\n#reu-roue-wp .fs-item + .fs-item{ animation-delay: .52s; }\r\n#reu-roue-wp .fs-item span{\r\n    font-size: 8.5px; font-weight: 700; letter-spacing: .12em;\r\n    text-transform: uppercase; color: var(--ui-faint);\r\n}\r\n#reu-roue-wp .fs-item b{\r\n    font-size: clamp(16px, 1.5vw, 20px); font-weight: 600; letter-spacing: -.6px;\r\n    line-height: 1.15; color: var(--ui-ink);\r\n    font-variant-numeric: tabular-nums; white-space: nowrap;\r\n}\r\n#reu-roue-wp .fs-item.is-key b{ color: var(--theme-color-text, var(--ui-accent)); }\r\n#reu-roue-wp .fs-item.is-empty b{\r\n    font-size: 11px; font-weight: 500; letter-spacing: 0;\r\n    color: var(--ui-faint); white-space: normal;\r\n}\r\n\r\n\/* ---- ce que le projet a d\u00e9ploy\u00e9 ---- *\/\r\n#reu-roue-wp .detail-bubbles{\r\n    display: grid; grid-template-columns: repeat(auto-fit, minmax(158px, 1fr));\r\n    gap: 8px; align-items: stretch;\r\n}\r\n#reu-roue-wp .detail-bubble,\r\n#reu-roue-wp .detail-bubble.is-long{\r\n    padding: 12px 14px; border-radius: var(--ui-r-md);\r\n    background: var(--ui-canvas); border: 1px solid var(--ui-line);\r\n    flex: initial; min-width: 0; grid-column: auto;\r\n}\r\n#reu-roue-wp .detail-bubble .db-val,\r\n#reu-roue-wp .detail-bubble.is-long .db-val{\r\n    white-space: normal; overflow-wrap: anywhere; -webkit-line-clamp: 4;\r\n}\r\n#reu-roue-wp .detail-bubble.is-key{ background: var(--ui-sunk); border-color: var(--ui-line); }\r\n#reu-roue-wp .detail-bubble.is-empty{ background: transparent; border-style: dashed; border-color: var(--ui-line); }\r\n#reu-roue-wp .detail-bubble .db-key{ font-size: 8.5px; letter-spacing: .12em; font-weight: 700; color: var(--ui-faint); }\r\n#reu-roue-wp .detail-bubble .db-val{ font-weight: 600; letter-spacing: -.3px; color: var(--ui-ink); }\r\n#reu-roue-wp .detail-bubble.is-empty .db-val{ color: var(--ui-faint); }\r\n\r\n\/* ---- les titres de section ---- *\/\r\n#reu-roue-wp .detail-section-title{\r\n    gap: 11px; font-size: 13.5px; font-weight: 700;\r\n    letter-spacing: -.15px; color: var(--ui-ink); margin-bottom: 15px;\r\n}\r\n#reu-roue-wp .detail-section-title::after{\r\n    content: \"\"; flex: 1; height: 1px; background: var(--ui-line-soft);\r\n}\r\n#reu-roue-wp .detail-section-title > span{ width: 24px; height: 24px; border-radius: var(--ui-r-sm); }\r\n#reu-roue-wp .detail-section-intro{ color: var(--ui-muted); max-width: 62ch; }\r\n#reu-roue-wp .detail-summary{ max-width: 68ch; color: var(--ui-ink-soft); }\r\n\r\n\/* ---- les trois promesses ----\r\n   Le filet de couleur passait dans la bordure de la carte : il grossissait\r\n   avec elle. Pos\u00e9 en trait libre \u00e0 l'int\u00e9rieur, il garde la m\u00eame \u00e9paisseur\r\n   quelle que soit la hauteur du texte. *\/\r\n#reu-roue-wp .pr-score{\r\n    font-family: var(--ui-mono); font-size: 9px; font-weight: 500;\r\n    letter-spacing: .08em; text-transform: uppercase; color: var(--ui-faint);\r\n}\r\n#reu-roue-wp .detail-promesses{ gap: 8px; }\r\n#reu-roue-wp .pr-item{\r\n    padding: 14px 16px; background: var(--ui-canvas);\r\n    border: 1px solid var(--ui-line); border-left-width: 1px;\r\n    border-radius: var(--ui-r-md);\r\n    transition: background .25s, box-shadow .25s;\r\n}\r\n#reu-roue-wp .pr-item::before{\r\n    content: \"\"; position: absolute; left: 0; top: 14px; bottom: 14px;\r\n    width: 2px; border-radius: 0 2px 2px 0; background: var(--pc);\r\n}\r\n#reu-roue-wp .pr-item.is-none::before{ background: var(--ui-line); }\r\n#reu-roue-wp .pr-item:hover{\r\n    transform: none; background: var(--ui-surface);\r\n    box-shadow: 0 1px 2px rgba(22,38,44,.05);\r\n}\r\n#reu-roue-wp .pr-head{ font-size: 11.5px; font-weight: 750; letter-spacing: .01em; }\r\n#reu-roue-wp .pr-phrase{ color: var(--ui-faint); }\r\n#reu-roue-wp .pr-text{ color: var(--ui-ink-soft); }\r\n\r\n\/* ---- impacts et freins ---- *\/\r\n#reu-roue-wp .detail-flora{\r\n    background: var(--ui-canvas); border: 1px solid var(--ui-line);\r\n    border-radius: var(--ui-r-lg);\r\n}\r\n#reu-roue-wp .fl-read-title{ font-weight: 700; letter-spacing: .12em; color: var(--ui-faint); }\r\n#reu-roue-wp .fl-read-score{\r\n    font-family: var(--ui-mono); font-size: 11px; font-weight: 500;\r\n    letter-spacing: 0; color: var(--ui-ink);\r\n}\r\n#reu-roue-wp .fl-read-hint{ font-weight: 500; color: var(--ui-muted); }\r\n#reu-roue-wp .fl-read, #reu-roue-wp .fl-read li + li{ border-top-color: var(--ui-line-soft); }\r\n#reu-roue-wp .fl-line{ font-weight: 600; color: var(--ui-ink-soft); }\r\n#reu-roue-wp .fl-line:hover{ background: var(--ui-sunk); }\r\n\/* \u00ab Non renseign\u00e9 \u00bb se coupait en deux \u00e0 cause de la chasse fixe : la\r\n   mention tient sur une ligne, quitte \u00e0 \u00eatre un cran plus petite. *\/\r\n#reu-roue-wp .fl-state{\r\n    font-family: var(--ui-mono); font-size: 9px; letter-spacing: .02em;\r\n    white-space: nowrap; color: var(--ui-faint);\r\n}\r\n\r\n\/* ---- t\u00e9l\u00e9phone ---- *\/\r\n@media (max-width: 860px){\r\n    #reu-roue-wp .fin-card{ padding: 14px 14px 12px; }\r\n    #reu-roue-wp .jg-cadran{ width: min(168px, 78%); }\r\n    #reu-roue-wp .jg-val b{ font-size: 30px; }\r\n    #reu-roue-wp .fin-sommes{ gap: 8px; }\r\n    #reu-roue-wp .fs-item b{ font-size: 16px; }\r\n    #reu-roue-wp .bud-bar{ height: 26px; border-radius: 8px; }\r\n    #reu-roue-wp .bud-num b{ font-size: 16px; }\r\n}\r\n\r\n\/* ==========================================================================\r\n   L'\u00c9CHELLE DES PERSONNES TOUCH\u00c9ES\r\n   --------------------------------------------------------------------------\r\n   Le corpus va de 10 personnes \u00e0 plus de 10 000 : une r\u00e9glette lin\u00e9aire\r\n   \u00e9craserait quarante projets contre le bord gauche. L'\u00e9chelle est donc\r\n   logarithmique, et ses paliers sont des puissances de dix \u2014 les seuls\r\n   rep\u00e8res qu'on lit sans les calculer. Un curseur, quatre nombres, rien\r\n   d'autre \u00e0 d\u00e9coder.\r\n   ========================================================================== *\/\r\n#reu-roue-wp .pers{\r\n    margin: 0 0 8px; padding: 14px 15px 12px;\r\n    background: var(--ui-canvas); border: 1px solid var(--ui-line);\r\n    border-radius: var(--ui-r-md);\r\n}\r\n#reu-roue-wp .pers-top{ display: flex; align-items: baseline; gap: 10px; margin: 0 0 14px; }\r\n#reu-roue-wp .pers-lab{\r\n    font-size: 8.5px; font-weight: 700; letter-spacing: .12em;\r\n    text-transform: uppercase; color: var(--ui-faint);\r\n}\r\n#reu-roue-wp .pers-num{\r\n    margin-left: auto; font-size: clamp(22px, 2vw, 26px); font-weight: 600;\r\n    letter-spacing: -.9px; line-height: 1; color: var(--ui-ink);\r\n    font-variant-numeric: tabular-nums; white-space: nowrap;\r\n}\r\n\/* Le \u00ab \u2248 \u00bb dit que le chiffre vient d'une phrase, pas d'un relev\u00e9. *\/\r\n#reu-roue-wp .pers-num em{\r\n    font-style: normal; margin-right: 3px; font-size: .62em;\r\n    font-weight: 500; color: var(--ui-faint); vertical-align: .12em;\r\n}\r\n#reu-roue-wp .ech{ position: relative; height: 8px; border-radius: 5px; background: #e4e9e3; }\r\n#reu-roue-wp .ech-fill{\r\n    position: absolute; left: 0; top: 0; bottom: 0; min-width: 8px;\r\n    border-radius: 5px; background: var(--theme-color-text, var(--ui-accent));\r\n    transform-origin: left;\r\n}\r\n#reu-roue-wp .ech-cur{\r\n    position: absolute; top: 50%; width: 15px; height: 15px;\r\n    margin: -7.5px 0 0 -7.5px; border-radius: 50%;\r\n    background: var(--theme-color-text, var(--ui-accent));\r\n    border: 3px solid var(--ui-canvas);\r\n    box-shadow: 0 0 0 1px var(--theme-color-text, var(--ui-accent));\r\n}\r\n#reu-roue-wp .ech-ax{ position: relative; height: 14px; margin: 9px 0 0; }\r\n#reu-roue-wp .ech-ax span{\r\n    position: absolute; transform: translateX(-50%);\r\n    font-family: var(--ui-mono); font-size: 9px; color: var(--ui-faint); white-space: nowrap;\r\n}\r\n#reu-roue-wp .pers-brut{\r\n    margin: 11px 0 0; padding-top: 10px; border-top: 1px solid var(--ui-line-soft);\r\n    font-size: 11px; line-height: 1.6; color: var(--ui-muted); overflow-wrap: anywhere;\r\n}\r\n\r\n\/* ==========================================================================\r\n   APPARITION AU D\u00c9FILEMENT\r\n   --------------------------------------------------------------------------\r\n   Une jauge qui s'est remplie trois \u00e9crans plus bas n'a \u00e9t\u00e9 vue par personne.\r\n   Chaque pi\u00e8ce chiffr\u00e9e attend donc d'entrer dans le champ pour se remplir.\r\n   Tout est gouvern\u00e9 par la classe js-reveal, que le script ne pose que s'il\r\n   dispose d'un IntersectionObserver et que la personne n'a pas demand\u00e9 moins\r\n   de mouvement : sans elle, la fiche s'affiche enti\u00e8re et immobile.\r\n   L'ordre est toujours le m\u00eame \u2014 la forme arrive, le libell\u00e9 se pose apr\u00e8s.\r\n   ========================================================================== *\/\r\n#reu-roue-wp .detail-body.js-reveal .rev{ opacity: 0; animation: none; }\r\n#reu-roue-wp .detail-body.js-reveal .rev.is-in{ opacity: 1; }\r\n\r\n\/* le cadran *\/\r\n#reu-roue-wp .detail-body.js-reveal .jg-cadran svg.is-in{ animation: jgIn .58s cubic-bezier(.22,1,.36,1) both; }\r\n#reu-roue-wp .detail-body.js-reveal .jg-val.is-in{ animation: jgPose .4s ease .3s both; }\r\n#reu-roue-wp .detail-body.js-reveal .jg-note.is-in{ animation: jgPose .4s ease .38s both; }\r\n\r\n\/* les barres : le remplissage part de z\u00e9ro, la lumi\u00e8re le suit une fois *\/\r\n#reu-roue-wp .detail-body.js-reveal .bud-fis.is-in{ animation: fisBar .68s cubic-bezier(.22,1,.36,1) both; }\r\n#reu-roue-wp .detail-body.js-reveal .ech-fill.is-in{ animation: fisBar .68s cubic-bezier(.22,1,.36,1) both; }\r\n#reu-roue-wp .bud-fis::after,\r\n#reu-roue-wp .ech-fill::after{\r\n    content: \"\"; position: absolute; top: 0; bottom: 0; right: 0; width: 42px;\r\n    border-radius: inherit; opacity: 0;\r\n    background: linear-gradient(90deg, transparent, rgba(255,255,255,.55));\r\n}\r\n#reu-roue-wp .bud-fis{ position: absolute; overflow: hidden; }\r\n#reu-roue-wp .detail-body.js-reveal .bud-fis.is-in::after,\r\n#reu-roue-wp .detail-body.js-reveal .ech-fill.is-in::after{ animation: budSheen .68s ease-out both; }\r\n@keyframes budSheen{ 0%{opacity:0} 35%{opacity:.9} 100%{opacity:0} }\r\n\r\n#reu-roue-wp .detail-body.js-reveal .bud-num.is-in{ animation: jgPose .4s ease .32s both; }\r\n#reu-roue-wp .detail-body.js-reveal .bud-total.is-in{ animation: jgPose .4s ease .4s both; }\r\n\r\n\/* l'\u00e9chelle des personnes *\/\r\n#reu-roue-wp .detail-body.js-reveal .pers-top.is-in{ animation: jgPose .4s ease both; }\r\n#reu-roue-wp .detail-body.js-reveal .ech-cur.is-in{ animation: echCur .36s cubic-bezier(.34,1.3,.5,1) .44s both; }\r\n#reu-roue-wp .detail-body.js-reveal .ech-ax.is-in{ animation: jgPose .4s ease .52s both; }\r\n@keyframes echCur{ from{ opacity:0; transform: scale(.4); } to{ opacity:1; transform: none; } }\r\n\r\n\/* les cartes : un \u00e9chelonnement court, jamais une cascade *\/\r\n#reu-roue-wp .detail-body.js-reveal .detail-bubble.is-in,\r\n#reu-roue-wp .detail-body.js-reveal .pr-item.is-in{ animation: jgPose .42s ease both; }\r\n#reu-roue-wp .detail-body.js-reveal .detail-bubble.is-in:nth-child(2),\r\n#reu-roue-wp .detail-body.js-reveal .pr-item.is-in:nth-child(2){ animation-delay: .07s; }\r\n#reu-roue-wp .detail-body.js-reveal .detail-bubble.is-in:nth-child(3),\r\n#reu-roue-wp .detail-body.js-reveal .pr-item.is-in:nth-child(3){ animation-delay: .14s; }\r\n\r\n@media (max-width: 860px){\r\n    #reu-roue-wp .pers{ padding: 13px 13px 11px; }\r\n    #reu-roue-wp .pers-num{ font-size: 22px; }\r\n}\r\n\r\n\/* ============================================================\r\n   ENTR\u00c9E DE PAGE \u2014 voile de chargement puis pose des \u00e9l\u00e9ments\r\n   R\u00e8gle de lecture : le mouvement porte les formes (bandeau,\r\n   disque, cartes) ; les libell\u00e9s, eux, ne bougent pas pendant\r\n   le d\u00e9placement, ils se posent apr\u00e8s, en fondu \u00e9chelonn\u00e9.\r\n   Tout est pilot\u00e9 par deux classes sur #reu-roue-wp :\r\n   .is-booting (\u00e9tat cach\u00e9) puis .is-ready (la chor\u00e9graphie).\r\n   ============================================================ *\/\r\n#reu-roue-wp{ --fis-ease: cubic-bezier(.16,1,.3,1); }\r\n\r\n@keyframes fisBootRise{ from{ opacity:0; transform: translateY(15px); } to{ opacity:1; transform:none; } }\r\n@keyframes fisBootDrop{ from{ opacity:0; transform: translateY(-11px); } to{ opacity:1; transform:none; } }\r\n@keyframes fisBootSide{ from{ opacity:0; transform: translateX(-14px); } to{ opacity:1; transform:none; } }\r\n@keyframes fisBootPose{ from{ opacity:0; } to{ opacity:1; } }\r\n@keyframes fisBootDisc{\r\n    from{ opacity:0; transform: scale(.86) rotate(-6deg); }\r\n    60% { opacity:1; }\r\n    to  { opacity:1; transform: none; }\r\n}\r\n@keyframes fisBootSweep{ 0%{ background-position: -50% 0; } 100%{ background-position: 150% 0; } }\r\n@keyframes fisBootPulse{ 0%,100%{ opacity:.35; transform: scale(.82); } 50%{ opacity:1; transform: scale(1); } }\r\n\r\n\/* ---- le voile de chargement ---- *\/\r\n#reu-roue-wp .chart-loading{\r\n    position:absolute; inset:0; z-index:40;\r\n    display:flex; flex-direction:column; align-items:center; justify-content:center;\r\n    gap:18px; max-width:none; padding:0; text-align:center;\r\n    background: radial-gradient(120% 80% at 50% 45%, #ffffff 0%, #fbfcfa 55%, #f4f6f2 100%);\r\n    font-size:11px; letter-spacing:.14em; text-transform:uppercase; font-weight:700;\r\n    color:#8a9a9c;\r\n    transition: opacity .55s var(--fis-ease), visibility .55s;\r\n}\r\n#reu-roue-wp .chart-loading[hidden]{ display:none; }\r\n#reu-roue-wp .chart-loading.is-out{ opacity:0; visibility:hidden; pointer-events:none; }\r\n\/* la pastille tournante devient trois points qui respirent : moins\r\n   m\u00e9canique, et raccord avec la trame du reste de la page *\/\r\n#reu-roue-wp .chart-loading > span{\r\n    position:relative; display:block;\r\n    width:8px; height:8px; border:0; border-radius:50%;\r\n    background: linear-gradient(140deg, #92b3a0, #345e66);\r\n    animation: fisBootPulse 1.25s var(--fis-ease) .16s infinite;\r\n}\r\n#reu-roue-wp .chart-loading > span::before,\r\n#reu-roue-wp .chart-loading > span::after{\r\n    content:\"\"; position:absolute; top:0;\r\n    width:8px; height:8px; border-radius:50%;\r\n    background: linear-gradient(140deg, #92b3a0, #345e66);\r\n    animation: fisBootPulse 1.25s var(--fis-ease) infinite;\r\n}\r\n#reu-roue-wp .chart-loading > span::before{ left:-15px; animation-delay:0s; }\r\n#reu-roue-wp .chart-loading > span::after{ left:15px; animation-delay:.32s; }\r\n\/* une barre de progression ind\u00e9termin\u00e9e, fine, sous le texte *\/\r\n#reu-roue-wp .chart-loading::after{\r\n    content:\"\"; width:132px; height:2px; border-radius:2px;\r\n    background-color: rgba(52,94,102,.12);\r\n    background-image: linear-gradient(90deg, transparent, #678b7a, transparent);\r\n    background-size: 45% 100%; background-repeat:no-repeat;\r\n    animation: fisBootSweep 1.5s var(--fis-ease) infinite;\r\n}\r\n\r\n\/* ---- \u00e9tat cach\u00e9 avant la chor\u00e9graphie ---- *\/\r\n#reu-roue-wp.is-booting .brand,\r\n#reu-roue-wp.is-booting .toggle-group .toggle-btn,\r\n#reu-roue-wp.is-booting .edition,\r\n#reu-roue-wp.is-booting .intro > *,\r\n#reu-roue-wp.is-booting .toolbar,\r\n#reu-roue-wp.is-booting .explore-list > *,\r\n#reu-roue-wp.is-booting .reading-note,\r\n#reu-roue-wp.is-booting .stage-heading,\r\n#reu-roue-wp.is-booting .stage-caption,\r\n#reu-roue-wp.is-booting .legend,\r\n#reu-roue-wp.is-booting .legend-list > li,\r\n#reu-roue-wp.is-booting .app-footer,\r\n#reu-roue-wp.is-booting #chart-container > svg,\r\n#reu-roue-wp.is-booting #chart-container > svg .labels,\r\n#reu-roue-wp.is-booting #chart-container > svg .center{ opacity:0; }\r\n\r\n\/* ---- 1. le cadre institutionnel descend ---- *\/\r\n#reu-roue-wp.is-ready .brand{ animation: fisBootDrop .7s var(--fis-ease) both; }\r\n#reu-roue-wp.is-ready .toggle-group .toggle-btn{ animation: fisBootDrop .6s var(--fis-ease) both; }\r\n#reu-roue-wp.is-ready .toggle-group .toggle-btn:nth-child(1){ animation-delay:.08s; }\r\n#reu-roue-wp.is-ready .toggle-group .toggle-btn:nth-child(2){ animation-delay:.14s; }\r\n#reu-roue-wp.is-ready .toggle-group .toggle-btn:nth-child(3){ animation-delay:.20s; }\r\n#reu-roue-wp.is-ready .toggle-group .toggle-btn:nth-child(4){ animation-delay:.26s; }\r\n#reu-roue-wp.is-ready .edition{ animation: fisBootDrop .6s var(--fis-ease) .32s both; }\r\n\r\n\/* ---- 2. le disque s'installe (formes en mouvement) ---- *\/\r\n#reu-roue-wp.is-ready #chart-container > svg{\r\n    animation: fisBootDisc 1.05s var(--fis-ease) .12s both;\r\n    transform-origin: 50% 52%;\r\n}\r\n\/* ---- 3. les textes du disque se posent, une fois le disque immobile ---- *\/\r\n#reu-roue-wp.is-ready #chart-container > svg .labels{ animation: fisBootPose .5s ease .96s both; }\r\n#reu-roue-wp.is-ready #chart-container > svg .center{ animation: fisBootPose .5s ease 1.04s both; }\r\n\r\n\/* ---- 4. la colonne \u00e9ditoriale : titre, sous-titre, rep\u00e8res ---- *\/\r\n#reu-roue-wp.is-ready .intro > *{ animation: fisBootRise .68s var(--fis-ease) both; }\r\n#reu-roue-wp.is-ready .intro > *:nth-child(1){ animation-delay:.34s; }\r\n#reu-roue-wp.is-ready .intro > *:nth-child(2){ animation-delay:.44s; }\r\n#reu-roue-wp.is-ready .intro > *:nth-child(3){ animation-delay:.54s; }\r\n#reu-roue-wp.is-ready .toolbar{ animation: fisBootRise .68s var(--fis-ease) .64s both; }\r\n#reu-roue-wp.is-ready .explore-list > *{ animation: fisBootSide .5s var(--fis-ease) both; }\r\n#reu-roue-wp.is-ready .explore-list > *:nth-child(1){ animation-delay:.76s; }\r\n#reu-roue-wp.is-ready .explore-list > *:nth-child(2){ animation-delay:.82s; }\r\n#reu-roue-wp.is-ready .explore-list > *:nth-child(3){ animation-delay:.88s; }\r\n#reu-roue-wp.is-ready .explore-list > *:nth-child(4){ animation-delay:.94s; }\r\n#reu-roue-wp.is-ready .explore-list > *:nth-child(5){ animation-delay:1s; }\r\n#reu-roue-wp.is-ready .explore-list > *:nth-child(n+6){ animation-delay:1.06s; }\r\n#reu-roue-wp.is-ready .reading-note{ animation: fisBootRise .6s var(--fis-ease) 1.08s both; }\r\n\r\n\/* ---- 5. les rep\u00e8res du disque, puis la l\u00e9gende ---- *\/\r\n#reu-roue-wp.is-ready .stage-heading{ animation: fisBootPose .55s ease 1.02s both; }\r\n#reu-roue-wp.is-ready .stage-caption{ animation: fisBootRise .6s var(--fis-ease) 1.12s both; }\r\n#reu-roue-wp.is-ready .legend{ animation: fisBootRise .7s var(--fis-ease) 1.02s both; }\r\n#reu-roue-wp.is-ready .legend-list > li{ animation: fisBootSide .46s var(--fis-ease) both; }\r\n#reu-roue-wp.is-ready .legend-list > li:nth-child(1){ animation-delay:1.16s; }\r\n#reu-roue-wp.is-ready .legend-list > li:nth-child(2){ animation-delay:1.22s; }\r\n#reu-roue-wp.is-ready .legend-list > li:nth-child(3){ animation-delay:1.28s; }\r\n#reu-roue-wp.is-ready .legend-list > li:nth-child(4){ animation-delay:1.34s; }\r\n#reu-roue-wp.is-ready .legend-list > li:nth-child(5){ animation-delay:1.40s; }\r\n#reu-roue-wp.is-ready .legend-list > li:nth-child(6){ animation-delay:1.46s; }\r\n#reu-roue-wp.is-ready .legend-list > li:nth-child(7){ animation-delay:1.52s; }\r\n#reu-roue-wp.is-ready .legend-list > li:nth-child(8){ animation-delay:1.58s; }\r\n#reu-roue-wp.is-ready .legend-list > li:nth-child(n+9){ animation-delay:1.64s; }\r\n\r\n\/* ---- 6. le pied de page ferme la s\u00e9quence ---- *\/\r\n#reu-roue-wp.is-ready .app-footer{ animation: fisBootPose .6s ease 1.5s both; }\r\n\r\n@media (prefers-reduced-motion: reduce){\r\n    #reu-roue-wp.is-booting .brand,\r\n    #reu-roue-wp.is-booting .toggle-group .toggle-btn,\r\n    #reu-roue-wp.is-booting .edition,\r\n    #reu-roue-wp.is-booting .intro > *,\r\n    #reu-roue-wp.is-booting .toolbar,\r\n    #reu-roue-wp.is-booting .explore-list > *,\r\n    #reu-roue-wp.is-booting .reading-note,\r\n    #reu-roue-wp.is-booting .stage-heading,\r\n    #reu-roue-wp.is-booting .stage-caption,\r\n    #reu-roue-wp.is-booting .legend,\r\n    #reu-roue-wp.is-booting .legend-list > li,\r\n    #reu-roue-wp.is-booting .app-footer,\r\n    #reu-roue-wp.is-booting #chart-container > svg,\r\n    #reu-roue-wp.is-booting #chart-container > svg .labels,\r\n    #reu-roue-wp.is-booting #chart-container > svg .center{ opacity:1; }\r\n    #reu-roue-wp.is-ready *{ animation: none !important; }\r\n    #reu-roue-wp .chart-loading > span,\r\n    #reu-roue-wp .chart-loading > span::before,\r\n    #reu-roue-wp .chart-loading > span::after,\r\n    #reu-roue-wp .chart-loading::after{ animation: none !important; }\r\n}\r\n\r\n\/* ============================================================\r\n   LA FICHE SUR LES PETITS CADRES\r\n   Deux \u00e9cueils, tous deux constat\u00e9s \u00e0 l'usage :\r\n   \u2014 entre 861 et 1000 px, la fiche devait devenir un bandeau\r\n     bas, mais la largeur fixe pos\u00e9e plus haut la ramenait en\r\n     carte \u00e9troite cal\u00e9e \u00e0 gauche, coup\u00e9e en pleine lecture ;\r\n   \u2014 sur un cadre bas (une page WordPress, un portable 13\"),\r\n     elle garde une typographie et des marges pens\u00e9es pour un\r\n     grand panneau : on ne voit plus que le titre et la moiti\u00e9\r\n     d'une jauge, et il faut faire d\u00e9filer pour tout le reste.\r\n   D'o\u00f9 ce dernier bloc, qui reprend la main sur les deux.\r\n   ============================================================ *\/\r\n@media (max-width: 1000px) and (min-width: 861px){\r\n    #reu-roue-wp .detail{\r\n        top: auto; left: 12px; right: 12px; bottom: 12px;\r\n        width: auto; max-width: none;\r\n        max-height: min(58vh, 420px);\r\n        transform: translateY(26px);\r\n    }\r\n    #reu-roue-wp .detail.is-open{ transform: translateY(0); }\r\n    #reu-roue-wp .detail.is-expanded{ width: auto; max-height: min(82vh, 640px); }\r\n}\r\n\r\n\/* Cadre bas : la fiche se resserre. M\u00eames informations, m\u00eame\r\n   hi\u00e9rarchie, simplement \u00e0 l'\u00e9chelle de la place disponible. *\/\r\n@media (min-width: 1001px) and (max-height: 720px){\r\n    #reu-roue-wp .detail{ top: 12px; bottom: 12px; }\r\n    #reu-roue-wp .detail-toolbar{ padding: 11px 18px 9px; }\r\n    #reu-roue-wp .detail-nav{ padding: 0 18px; }\r\n    #reu-roue-wp .detail-nav button{ padding: 9px 4px 10px; font-size: 9.5px; }\r\n    #reu-roue-wp .detail-body,\r\n    #reu-roue-wp .detail.is-expanded .detail-body{ padding: 18px 20px 18px; }\r\n    #reu-roue-wp .detail-eyebrow{ margin: 0 0 9px; }\r\n    #reu-roue-wp .detail-logo{ width: 46px; height: 46px; border-radius: 11px; }\r\n    #reu-roue-wp .detail-title{ font-size: clamp(19px, 1.7vw, 24px); margin: 0 0 8px; letter-spacing: -.6px; }\r\n    #reu-roue-wp .detail-project-name{ font-size: 12.5px; line-height: 1.55; margin: 0 0 10px; }\r\n    #reu-roue-wp .detail-territory{ font-size: 10.5px; margin: 0 0 10px; }\r\n    #reu-roue-wp .detail-section{ padding-top: 17px; margin-top: 17px; }\r\n    #reu-roue-wp .detail-section-title{ font-size: 12.5px; }\r\n    #reu-roue-wp .fin-card{ padding: 13px 13px 10px; margin: 0 0 8px; }\r\n    #reu-roue-wp .jg-cadran{ width: min(148px, 54%); }\r\n    #reu-roue-wp .jg-val b{ font-size: clamp(24px, 2.4vw, 28px); }\r\n    #reu-roue-wp .pers{ padding: 11px 12px 10px; }\r\n    #reu-roue-wp .pers-num{ font-size: clamp(19px, 1.7vw, 22px); }\r\n    #reu-roue-wp .bud-bar{ height: 26px; }\r\n}\r\n\r\n\/* ==========================================================================\r\n   CLASSEMENT \u2014 la donn\u00e9e de la roue, mise en rangs\r\n   --------------------------------------------------------------------------\r\n   La roue dit de quoi le fonds est fait ; elle ne dit pas, au premier coup\r\n   d'oeil, qui p\u00e8se le plus : neuf secteurs \u00e0 parts \u00e9gales se comparent mal.\r\n   Cette vue range donc les th\u00e9matiques par nombre de projets et donne trois\r\n   lectures du m\u00eame nombre, pour trois distances de lecture :\r\n     \u2014 la barre, pour l'ordre de grandeur, lisible du fond d'une salle ;\r\n     \u2014 la trame de points, un point par projet, pour compter sans lire ;\r\n     \u2014 le nombre, pour qui le cherche.\r\n   Une ligne est un bouton : elle ouvre la th\u00e9matique dans la roue.\r\n   ========================================================================== *\/\r\n#reu-roue-wp[data-view=\"classement\"] .header > *{ display: none; }\r\n#reu-roue-wp[data-view=\"classement\"] .header{\r\n    position: absolute; inset: 0; width: auto; max-width: none;\r\n    padding: 0; margin: 0; border: 0; background: none;\r\n    pointer-events: none; overflow: visible;\r\n}\r\n#reu-roue-wp[data-view=\"classement\"] .stage-heading,\r\n#reu-roue-wp[data-view=\"classement\"] .stage-caption{ display: none; }\r\n#reu-roue-wp .stage-panel.rang{\r\n    top: 0; padding: 0; overflow: hidden;\r\n    display: flex; flex-direction: column;\r\n}\r\n#reu-roue-wp .stage-panel.rang[hidden]{ display: none; }\r\n\r\n#reu-roue-wp .rg-cadre{\r\n    flex: 1; min-height: 0; overflow-y: auto; scrollbar-width: thin;\r\n    padding: clamp(18px, 3vh, 34px) clamp(18px, 3vw, 46px) 18px;\r\n    display: flex; flex-direction: column; gap: clamp(14px, 2.2vh, 24px);\r\n}\r\n\r\n\/* ---- le chapeau : d'o\u00f9 l'on parle, et comment lire une ligne ---- *\/\r\n#reu-roue-wp .rg-tete{\r\n    display: flex; align-items: flex-end; justify-content: space-between;\r\n    gap: 28px; flex-wrap: wrap;\r\n}\r\n#reu-roue-wp .rg-eyebrow{\r\n    margin: 0 0 10px; font-size: 9px; font-weight: 800;\r\n    letter-spacing: .16em; text-transform: uppercase;\r\n    color: var(--theme-accent, #a8603f);\r\n}\r\n#reu-roue-wp .rg-titre{\r\n    margin: 0; font-size: clamp(24px, 3.1vw, 40px); font-weight: 750;\r\n    line-height: 1.08; letter-spacing: -1.1px; color: var(--ui-ink, #1f3147);\r\n    max-width: 18ch; text-wrap: balance;\r\n}\r\n#reu-roue-wp .rg-mode{\r\n    margin: 0 0 4px; max-width: 30ch; font-size: 10.5px; line-height: 1.6;\r\n    color: var(--ui-muted, #64748b);\r\n}\r\n\r\n\/* ---- la table ---- *\/\r\n#reu-roue-wp .rg-liste{\r\n    list-style: none; margin: 0; padding: 0;\r\n    display: flex; flex-direction: column; gap: 6px;\r\n}\r\n#reu-roue-wp .rg-ligne{ margin: 0; }\r\n#reu-roue-wp .rg-clic{\r\n    width: 100%; display: grid; align-items: center;\r\n    grid-template-columns: 34px minmax(104px, 1.05fr) minmax(90px, 3.2fr) 74px auto;\r\n    gap: clamp(8px, 1.4vw, 20px);\r\n    padding: clamp(8px, 1.3vh, 13px) clamp(10px, 1.2vw, 18px);\r\n    font: inherit; text-align: left; cursor: pointer;\r\n    background: var(--ui-surface, #fffefb);\r\n    border: 1px solid var(--ui-line, #e6eae3);\r\n    border-radius: 12px;\r\n    transition: border-color .25s, box-shadow .25s, transform .25s, background .25s;\r\n}\r\n#reu-roue-wp .rg-clic:hover{\r\n    transform: translateX(2px);\r\n    border-color: color-mix(in srgb, var(--teinte) 55%, transparent);\r\n    box-shadow: 0 6px 18px rgba(29, 60, 73, .09);\r\n}\r\n#reu-roue-wp .rg-clic:focus-visible{ outline: 2px solid var(--teinte); outline-offset: 2px; }\r\n\r\n#reu-roue-wp .rg-rang{\r\n    font-family: var(--ui-mono, ui-monospace, monospace);\r\n    font-size: 9.5px; font-weight: 500; letter-spacing: .06em;\r\n    color: var(--ui-faint, #9aa8a4);\r\n}\r\n#reu-roue-wp .rg-nom{\r\n    display: flex; align-items: center; gap: 9px; min-width: 0;\r\n    font-size: clamp(11px, 1.05vw, 13px); font-weight: 650;\r\n    color: var(--ui-ink, #1f3147); letter-spacing: -.1px;\r\n    \/* \u00ab Discriminations \u00bb est un seul mot : sans cette coupure il d\u00e9borde de\r\n       sa colonne sur t\u00e9l\u00e9phone et passe sous la barre. *\/\r\n    overflow-wrap: anywhere; line-height: 1.3;\r\n}\r\n#reu-roue-wp .rg-puce{\r\n    width: 9px; height: 9px; border-radius: 50%; flex: none;\r\n    background: var(--teinte);\r\n}\r\n#reu-roue-wp .rg-piste{\r\n    position: relative; height: 15px; border-radius: 8px;\r\n    background: rgba(31, 49, 71, .05);\r\n}\r\n#reu-roue-wp .rg-barre{\r\n    position: absolute; inset: 0 auto 0 0; border-radius: 8px;\r\n    background: linear-gradient(90deg,\r\n        color-mix(in srgb, var(--teinte) 82%, #ffffff),\r\n        var(--teinte));\r\n}\r\n#reu-roue-wp .rg-val{\r\n    display: flex; align-items: baseline; gap: 5px;\r\n    font-size: clamp(15px, 1.5vw, 19px); font-weight: 600;\r\n    letter-spacing: -.6px; color: var(--ui-ink, #1f3147);\r\n    font-variant-numeric: tabular-nums;\r\n}\r\n#reu-roue-wp .rg-val span{\r\n    font-size: 9px; font-weight: 500; letter-spacing: 0;\r\n    color: var(--ui-faint, #9aa8a4);\r\n}\r\n#reu-roue-wp .rg-points{ display: flex; gap: 4px; flex: none; }\r\n#reu-roue-wp .rg-pt{\r\n    width: 6px; height: 6px; border-radius: 50%;\r\n    background: rgba(31, 49, 71, .11);\r\n}\r\n#reu-roue-wp .rg-pt.is-on{ background: var(--teinte); }\r\n\r\n\/* ---- le pied : la note de lecture et les deux commandes ---- *\/\r\n#reu-roue-wp .rg-pied{\r\n    display: flex; align-items: center; justify-content: space-between;\r\n    gap: 18px; flex-wrap: wrap;\r\n    padding-top: 4px;\r\n}\r\n#reu-roue-wp .rg-note{\r\n    margin: 0; font-size: 9.5px; line-height: 1.6; color: var(--ui-faint, #9aa8a4);\r\n}\r\n#reu-roue-wp .rg-note b{ color: var(--ui-muted, #64748b); font-weight: 700; }\r\n#reu-roue-wp .rg-actions{ display: flex; gap: 8px; flex: none; }\r\n#reu-roue-wp .rg-btn{\r\n    font: inherit; font-size: 10px; font-weight: 600; cursor: pointer;\r\n    padding: 8px 14px; border-radius: 9px;\r\n    color: var(--ui-muted, #64748b);\r\n    background: var(--ui-surface, #fffefb);\r\n    border: 1px solid var(--ui-line, #e6eae3);\r\n    transition: background .22s, color .22s, border-color .22s, transform .22s;\r\n}\r\n#reu-roue-wp .rg-btn:hover{ background: var(--ui-sunk, #eef2ec); color: var(--ui-ink, #1f3147); transform: translateY(-1px); }\r\n#reu-roue-wp .rg-btn.is-fort{ background: #203e49; border-color: #203e49; color: #fff; }\r\n#reu-roue-wp .rg-btn.is-fort:hover{ background: #16303a; color: #fff; }\r\n\r\n\/* ---- entr\u00e9e : les barres poussent, les textes se posent apr\u00e8s ----\r\n   Une barre qui grandit pendant qu'on essaie de lire son nombre, c'est un\r\n   nombre qu'on ne lit pas. Le mouvement d'abord, les libell\u00e9s ensuite. *\/\r\n@keyframes rgPousse{ from{ transform: scaleX(0); } to{ transform: scaleX(1); } }\r\n@keyframes rgPose{ from{ opacity: 0; transform: translateY(5px); } to{ opacity: 1; transform: none; } }\r\n@keyframes rgPoint{ from{ opacity: 0; transform: scale(.4); } to{ opacity: 1; transform: none; } }\r\n#reu-roue-wp .rg-anim .rg-clic{ animation: rgPose .5s cubic-bezier(.16,1,.3,1) both; animation-delay: calc(var(--i) * 55ms); }\r\n#reu-roue-wp .rg-anim .rg-barre{\r\n    transform-origin: left center;\r\n    animation: rgPousse .72s cubic-bezier(.16,1,.3,1) both;\r\n    animation-delay: calc(var(--i) * 55ms + 90ms);\r\n}\r\n#reu-roue-wp .rg-anim .rg-val,\r\n#reu-roue-wp .rg-anim .rg-nom{\r\n    animation: rgPose .42s ease both;\r\n    animation-delay: calc(var(--i) * 55ms + 620ms);\r\n}\r\n#reu-roue-wp .rg-anim .rg-pt{\r\n    animation: rgPoint .3s cubic-bezier(.34,1.3,.5,1) both;\r\n    animation-delay: calc(var(--i) * 55ms + 680ms + var(--j) * 22ms);\r\n}\r\n#reu-roue-wp .rg-anim .rg-pied{ animation: rgPose .5s ease 1.1s both; }\r\n\r\n@media (max-width: 1000px){\r\n    #reu-roue-wp .rg-clic{ grid-template-columns: 26px minmax(86px, 1.1fr) minmax(70px, 2.4fr) 62px; }\r\n    #reu-roue-wp .rg-points{ display: none; }\r\n    #reu-roue-wp .rg-mode{ display: none; }\r\n}\r\n@media (max-width: 700px){\r\n    #reu-roue-wp .rg-clic{ grid-template-columns: 20px minmax(96px, 1.35fr) minmax(40px, 1.15fr) 50px; gap: 7px; padding: 9px 10px; }\r\n    #reu-roue-wp .rg-nom{ font-size: 11px; gap: 7px; }\r\n    #reu-roue-wp .rg-titre{ font-size: 21px; max-width: none; }\r\n    #reu-roue-wp .rg-cadre{ padding: 14px 14px 14px; gap: 12px; }\r\n}\r\n@media (prefers-reduced-motion: reduce){\r\n    #reu-roue-wp .rg-anim .rg-clic,\r\n    #reu-roue-wp .rg-anim .rg-barre,\r\n    #reu-roue-wp .rg-anim .rg-val,\r\n    #reu-roue-wp .rg-anim .rg-nom,\r\n    #reu-roue-wp .rg-anim .rg-pt,\r\n    #reu-roue-wp .rg-anim .rg-pied{ animation: none; }\r\n}\r\n\r\n\/* ==========================================================================\r\n   FLUX : ce que chaque th\u00e9matique verse aux trois \u00e9tages\r\n   --------------------------------------------------------------------------\r\n   La roue dit de quoi le fonds est fait, le classement dit qui p\u00e8se le plus,\r\n   les \u00e9tages disent ce que le fonds promet. Aucune des trois ne montre le\r\n   croisement : quelle th\u00e9matique nourrit quelle promesse. C'est le seul objet\r\n   de cette vue, et ce croisement n'a qu'une forme naturelle, le ruban. Neuf\r\n   piliers \u00e0 gauche (les th\u00e9matiques), trois \u00e0 droite (les promesses), et\r\n   entre eux des rubans dont l'\u00e9paisseur est un nombre de projets.\r\n   Trois partis pris :\r\n     1. L'ordre des th\u00e9matiques reste celui de la roue et de la l\u00e9gende, pas\r\n        celui des poids : on passe d'une vue \u00e0 l'autre sans r\u00e9apprendre.\r\n     2. Un projet qui documente les trois promesses passe dans TROIS rubans.\r\n        Les 48 projets tracent donc 111 passages, et le pied de page le dit,\r\n        sinon la somme des rubans contredirait le compteur du fonds.\r\n     3. Survoler isole, la l\u00e9gende ne filtre pas : r\u00e9duire le flux \u00e0 une seule\r\n        th\u00e9matique lui retirerait sa raison d'\u00eatre. Le filtre reste donc\r\n        rang\u00e9, comme sur le classement.\r\n   ========================================================================== *\/\r\n#reu-roue-wp[data-view=\"flux\"] .header > *{ display: none; }\r\n#reu-roue-wp[data-view=\"flux\"] .header{\r\n    position: absolute; inset: 0; width: auto; max-width: none;\r\n    padding: 0; margin: 0; border: 0; background: none;\r\n    pointer-events: none; overflow: visible;\r\n}\r\n#reu-roue-wp[data-view=\"flux\"] .stage-heading,\r\n#reu-roue-wp[data-view=\"flux\"] .stage-caption{ display: none; }\r\n#reu-roue-wp .stage-panel.flux{\r\n    top: 0; padding: 0; overflow: hidden;\r\n    display: flex; flex-direction: column;\r\n}\r\n#reu-roue-wp .stage-panel.flux[hidden]{ display: none; }\r\n\r\n#reu-roue-wp .fx-cadre{\r\n    flex: 1; min-height: 0;\r\n    padding: clamp(16px, 2.6vh, 30px) clamp(16px, 2.6vw, 42px) 13px;\r\n    display: flex; flex-direction: column; gap: clamp(9px, 1.5vh, 17px);\r\n}\r\n\r\n\/* ---- le chapeau : d'o\u00f9 l'on parle, et comment lire un ruban ---- *\/\r\n#reu-roue-wp .fx-tete{\r\n    display: flex; align-items: flex-end; justify-content: space-between;\r\n    gap: 28px; flex-wrap: wrap; flex: none;\r\n}\r\n#reu-roue-wp .fx-eyebrow{\r\n    margin: 0 0 9px; font-size: 9px; font-weight: 800;\r\n    letter-spacing: .16em; text-transform: uppercase;\r\n    color: var(--theme-accent, #a8603f);\r\n}\r\n#reu-roue-wp .fx-titre{\r\n    margin: 0; font-size: clamp(22px, 2.7vw, 36px); font-weight: 750;\r\n    line-height: 1.08; letter-spacing: -1px; color: var(--ui-ink, #1f3147);\r\n    max-width: 20ch; text-wrap: balance;\r\n}\r\n#reu-roue-wp .fx-mode{\r\n    margin: 0 0 3px; flex: 0 1 auto; width: 30ch; max-width: 46ch;\r\n    font-size: 10.5px; line-height: 1.6; color: var(--ui-muted, #64748b);\r\n}\r\n\r\n\/* ---- la sc\u00e8ne : le diagramme occupe toute la hauteur qui reste ---- *\/\r\n#reu-roue-wp .fx-scene{ flex: 1; min-height: 0; position: relative; }\r\n#reu-roue-wp .fx-svg{ width: 100%; height: 100%; display: block; }\r\n\r\n\/* Un ruban est une surface, pas un trait : il se lit \u00e0 plat, en transparence,\r\n   et le filet ivoire qui le borde s\u00e9pare deux rubans voisins de m\u00eame teinte\r\n   sans ajouter d'encre. *\/\r\n#reu-roue-wp .fx-ruban{\r\n    fill-opacity: .44; stroke: #fffefb; stroke-width: .5;\r\n    cursor: pointer; transition: fill-opacity .22s var(--ease, ease);\r\n}\r\n#reu-roue-wp .fx-svg.is-focus .fx-ruban{ fill-opacity: .085; }\r\n#reu-roue-wp .fx-svg.is-focus .fx-ruban.is-on{ fill-opacity: .84; }\r\n#reu-roue-wp .fx-noeud,\r\n#reu-roue-wp .fx-etage{ cursor: pointer; transition: opacity .22s; }\r\n#reu-roue-wp .fx-svg.is-focus .fx-noeud:not(.is-on),\r\n#reu-roue-wp .fx-svg.is-focus .fx-etage:not(.is-on){ opacity: .26; }\r\n\/* La cible du pointeur d\u00e9borde le pilier et couvre son libell\u00e9 : viser un\r\n   trait de neuf pixels de large n'est pas une interaction. *\/\r\n#reu-roue-wp .fx-hit{ fill: transparent; }\r\n#reu-roue-wp .fx-noeud:focus-visible,\r\n#reu-roue-wp .fx-etage:focus-visible{ outline: 2px solid #2d6376; outline-offset: 3px; }\r\n\r\n\/* Le libell\u00e9 fait partie de son noeud : il s'\u00e9teint avec lui quand un autre\r\n   flux est isol\u00e9, et un clic sur le nom vaut un clic sur le pilier. *\/\r\n#reu-roue-wp .fx-libelle{ -webkit-user-select: none; user-select: none; }\r\n#reu-roue-wp .fx-nom{ font-size: 11.5px; font-weight: 650; letter-spacing: -.1px; }\r\n#reu-roue-wp .fx-compte{\r\n    font-size: 8.5px; font-weight: 600; letter-spacing: .02em;\r\n    fill: var(--ui-faint, #9aa9ab); font-variant-numeric: tabular-nums;\r\n}\r\n#reu-roue-wp .fx-et-nom{ font-size: clamp(14px, 1.45vw, 19px); font-weight: 750; letter-spacing: -.5px; }\r\n#reu-roue-wp .fx-et-val{\r\n    font-size: 10.5px; font-weight: 650; fill: var(--ui-muted, #77898d);\r\n    font-variant-numeric: tabular-nums;\r\n}\r\n#reu-roue-wp .fx-et-phrase{ font-size: 8.5px; font-weight: 500; fill: var(--ui-faint, #9aa9ab); }\r\n\r\n\/* ---- le pied : la note de lecture et les deux sorties ---- *\/\r\n#reu-roue-wp .fx-pied{\r\n    display: flex; align-items: center; justify-content: space-between;\r\n    gap: 18px; flex-wrap: wrap; flex: none; padding-top: 2px;\r\n}\r\n#reu-roue-wp .fx-note{\r\n    margin: 0; max-width: 78ch; font-size: 9.5px; line-height: 1.65;\r\n    color: var(--ui-faint, #9aa9ab);\r\n}\r\n#reu-roue-wp .fx-note b{ color: var(--ui-muted, #64748b); font-weight: 700; }\r\n#reu-roue-wp .fx-actions{ display: flex; gap: 8px; flex: none; }\r\n#reu-roue-wp .fx-btn{\r\n    font: inherit; font-size: 10px; font-weight: 600; cursor: pointer;\r\n    padding: 8px 14px; border-radius: 9px;\r\n    color: var(--ui-muted, #64748b);\r\n    background: var(--ui-surface, #fffefb);\r\n    border: 1px solid var(--ui-line, #e6eae3);\r\n    transition: background .22s, color .22s, border-color .22s, transform .22s;\r\n}\r\n#reu-roue-wp .fx-btn:hover{ background: var(--ui-sunk, #eef2ec); color: var(--ui-ink, #1f3147); transform: translateY(-1px); }\r\n#reu-roue-wp .fx-btn.is-fort{ background: #203e49; border-color: #203e49; color: #fff; }\r\n#reu-roue-wp .fx-btn.is-fort:hover{ background: #16303a; color: #fff; }\r\n\r\n\/* ---- entr\u00e9e : le flux se dessine muet, les libell\u00e9s se posent apr\u00e8s ----\r\n   Les piliers poussent, les rubans se d\u00e9roulent de gauche \u00e0 droite, et ce\r\n   n'est qu'une fois la g\u00e9om\u00e9trie immobile que les noms s'allument, un par un.\r\n   Un libell\u00e9 qui voyage avec sa barre ne se lit pas pendant toute la dur\u00e9e du\r\n   mouvement : autant ne pas l'afficher. La chor\u00e9graphie des rubans est tenue\r\n   par renderFlux ; il ne reste ici que le chapeau et le pied. *\/\r\n@keyframes fxPose{ from{ opacity: 0; transform: translateY(6px); } to{ opacity: 1; transform: none; } }\r\n#reu-roue-wp .fx-anim .fx-tete{ animation: fxPose .5s cubic-bezier(.16,1,.3,1) both; }\r\n#reu-roue-wp .fx-anim .fx-pied{ animation: fxPose .5s ease 1.5s both; }\r\n\r\n@media (max-width: 1000px){\r\n    #reu-roue-wp .fx-mode{ display: none; }\r\n    #reu-roue-wp .fx-note{ max-width: none; }\r\n}\r\n@media (max-width: 700px){\r\n    #reu-roue-wp .fx-titre{ font-size: 21px; max-width: none; }\r\n    #reu-roue-wp .fx-cadre{ padding: 14px 13px 12px; gap: 9px; }\r\n    #reu-roue-wp .fx-actions{ display: none; }\r\n}\r\n@media (prefers-reduced-motion: reduce){\r\n    #reu-roue-wp .fx-anim .fx-tete,\r\n    #reu-roue-wp .fx-anim .fx-pied{ animation: none; }\r\n    #reu-roue-wp .fx-ruban{ transition: none; }\r\n}\r\n<\/style>\r\n\r\n<div id=\"reu-roue-wp\" class=\"is-booting\">\r\n<div id=\"app-container\">\r\n  <div class=\"brand-row\">\r\n      <div class=\"brand\">\r\n        <img decoding=\"async\" class=\"shl-logo\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAC0CAYAAABMvP\/AAAAKMWlDQ1BJQ0MgUHJvZmlsZQAAeJydlndUU9kWh8+9N71QkhCKlNBraFICSA29SJEuKjEJEErAkAAiNkRUcERRkaYIMijggKNDkbEiioUBUbHrBBlE1HFwFBuWSWStGd+8ee\/Nm98f935rn73P3Wfvfda6AJD8gwXCTFgJgAyhWBTh58WIjYtnYAcBDPAAA2wA4HCzs0IW+EYCmQJ82IxsmRP4F726DiD5+yrTP4zBAP+flLlZIjEAUJiM5\/L42VwZF8k4PVecJbdPyZi2NE3OMErOIlmCMlaTc\/IsW3z2mWUPOfMyhDwZy3PO4mXw5Nwn4405Er6MkWAZF+cI+LkyviZjg3RJhkDGb+SxGXxONgAoktwu5nNTZGwtY5IoMoIt43kA4EjJX\/DSL1jMzxPLD8XOzFouEiSniBkmXFOGjZMTi+HPz03ni8XMMA43jSPiMdiZGVkc4XIAZs\/8WRR5bRmyIjvYODk4MG0tbb4o1H9d\/JuS93aWXoR\/7hlEH\/jD9ld+mQ0AsKZltdn6h21pFQBd6wFQu\/2HzWAvAIqyvnUOfXEeunxeUsTiLGcrq9zcXEsBn2spL+jv+p8Of0NffM9Svt3v5WF485M4knQxQ143bmZ6pkTEyM7icPkM5p+H+B8H\/nUeFhH8JL6IL5RFRMumTCBMlrVbyBOIBZlChkD4n5r4D8P+pNm5lona+BHQllgCpSEaQH4eACgqESAJe2Qr0O99C8ZHA\/nNi9GZmJ37z4L+fVe4TP7IFiR\/jmNHRDK4ElHO7Jr8WgI0IABFQAPqQBvoAxPABLbAEbgAD+ADAkEoiARxYDHgghSQAUQgFxSAtaAYlIKtYCeoBnWgETSDNnAYdIFj4DQ4By6By2AE3AFSMA6egCnwCsxAEISFyBAVUod0IEPIHLKFWJAb5AMFQxFQHJQIJUNCSAIVQOugUqgcqobqoWboW+godBq6AA1Dt6BRaBL6FXoHIzAJpsFasBFsBbNgTzgIjoQXwcnwMjgfLoK3wJVwA3wQ7oRPw5fgEVgKP4GnEYAQETqiizARFsJGQpF4JAkRIauQEqQCaUDakB6kH7mKSJGnyFsUBkVFMVBMlAvKHxWF4qKWoVahNqOqUQdQnag+1FXUKGoK9RFNRmuizdHO6AB0LDoZnYsuRlegm9Ad6LPoEfQ4+hUGg6FjjDGOGH9MHCYVswKzGbMb0445hRnGjGGmsVisOtYc64oNxXKwYmwxtgp7EHsSewU7jn2DI+J0cLY4X1w8TogrxFXgWnAncFdwE7gZvBLeEO+MD8Xz8MvxZfhGfA9+CD+OnyEoE4wJroRIQiphLaGS0EY4S7hLeEEkEvWITsRwooC4hlhJPEQ8TxwlviVRSGYkNimBJCFtIe0nnSLdIr0gk8lGZA9yPFlM3kJuJp8h3ye\/UaAqWCoEKPAUVivUKHQqXFF4pohXNFT0VFysmK9YoXhEcUjxqRJeyUiJrcRRWqVUo3RU6YbStDJV2UY5VDlDebNyi\/IF5UcULMWI4kPhUYoo+yhnKGNUhKpPZVO51HXURupZ6jgNQzOmBdBSaaW0b2iDtCkVioqdSrRKnkqNynEVKR2hG9ED6On0Mvph+nX6O1UtVU9Vvuom1TbVK6qv1eaoeajx1UrU2tVG1N6pM9R91NPUt6l3qd\/TQGmYaYRr5Grs0Tir8XQObY7LHO6ckjmH59zWhDXNNCM0V2ju0xzQnNbS1vLTytKq0jqj9VSbru2hnaq9Q\/uE9qQOVcdNR6CzQ+ekzmOGCsOTkc6oZPQxpnQ1df11Jbr1uoO6M3rGelF6hXrtevf0Cfos\/ST9Hfq9+lMGOgYhBgUGrQa3DfGGLMMUw12G\/YavjYyNYow2GHUZPTJWMw4wzjduNb5rQjZxN1lm0mByzRRjyjJNM91tetkMNrM3SzGrMRsyh80dzAXmu82HLdAWThZCiwaLG0wS05OZw2xljlrSLYMtCy27LJ9ZGVjFW22z6rf6aG1vnW7daH3HhmITaFNo02Pzq62ZLde2xvbaXPJc37mr53bPfW5nbse322N3055qH2K\/wb7X\/oODo4PIoc1h0tHAMdGx1vEGi8YKY21mnXdCO3k5rXY65vTW2cFZ7HzY+RcXpkuaS4vLo3nG8\/jzGueNueq5clzrXaVuDLdEt71uUnddd457g\/sDD30PnkeTx4SnqWeq50HPZ17WXiKvDq\/XbGf2SvYpb8Tbz7vEe9CH4hPlU+1z31fPN9m31XfKz95vhd8pf7R\/kP82\/xsBWgHcgOaAqUDHwJWBfUGkoAVB1UEPgs2CRcE9IXBIYMj2kLvzDecL53eFgtCA0O2h98KMw5aFfR+OCQ8Lrwl\/GGETURDRv4C6YMmClgWvIr0iyyLvRJlESaJ6oxWjE6Kbo1\/HeMeUx0hjrWJXxl6K04gTxHXHY+Oj45vipxf6LNy5cDzBPqE44foi40V5iy4s1licvvj4EsUlnCVHEtGJMYktie85oZwGzvTSgKW1S6e4bO4u7hOeB28Hb5Lvyi\/nTyS5JpUnPUp2Td6ePJninlKR8lTAFlQLnqf6p9alvk4LTduf9ik9Jr09A5eRmHFUSBGmCfsytTPzMoezzLOKs6TLnJftXDYlChI1ZUPZi7K7xTTZz9SAxESyXjKa45ZTk\/MmNzr3SJ5ynjBvYLnZ8k3LJ\/J9879egVrBXdFboFuwtmB0pefK+lXQqqWrelfrry5aPb7Gb82BtYS1aWt\/KLQuLC98uS5mXU+RVtGaorH1futbixWKRcU3NrhsqNuI2ijYOLhp7qaqTR9LeCUXS61LK0rfb+ZuvviVzVeVX33akrRlsMyhbM9WzFbh1uvb3LcdKFcuzy8f2x6yvXMHY0fJjpc7l+y8UGFXUbeLsEuyS1oZXNldZVC1tep9dUr1SI1XTXutZu2m2te7ebuv7PHY01anVVda926vYO\/Ner\/6zgajhop9mH05+x42Rjf2f836urlJo6m06cN+4X7pgYgDfc2Ozc0tmi1lrXCrpHXyYMLBy994f9Pdxmyrb6e3lx4ChySHHn+b+O31w0GHe4+wjrR9Z\/hdbQe1o6QT6lzeOdWV0iXtjusePhp4tLfHpafje8vv9x\/TPVZzXOV42QnCiaITn07mn5w+lXXq6enk02O9S3rvnIk9c60vvG\/wbNDZ8+d8z53p9+w\/ed71\/LELzheOXmRd7LrkcKlzwH6g4wf7HzoGHQY7hxyHui87Xe4Znjd84or7ldNXva+euxZw7dLI\/JHh61HXb95IuCG9ybv56Fb6ree3c27P3FlzF3235J7SvYr7mvcbfjT9sV3qID0+6j068GDBgztj3LEnP2X\/9H686CH5YcWEzkTzI9tHxyZ9Jy8\/Xvh4\/EnWk5mnxT8r\/1z7zOTZd794\/DIwFTs1\/lz0\/NOvm1+ov9j\/0u5l73TY9P1XGa9mXpe8UX9z4C3rbf+7mHcTM7nvse8rP5h+6PkY9PHup4xPn34D94Tz+6TMXDkAAOsHSURBVHja7L13oF1Xdef\/WXufcuvr76l3uUhyt3HHsukQCCEZmSQkuMBAkhlCGAYMk5mRXuaXSUgmIYRJMnFIgEmZxAohjQ6xhbHBvUrusnrX6++Wc87e6\/fHue\/pycjGNrL0bN8FR379nrvP3nvttdZ3fb\/Qtra1rW1ta1vbTrhJewja1raTvgb1A8vf0Bkm4eKU9Jg\/lABlQlLjD9244xt7p36vPXxta9vL10x7CNrWtpNna1lrAXyDN4vIg6ryIGp+6ApUHjRiHnSZ\/zjA+tbvta1tbXv5WtAegra17eSba4WzCv5YB2MFr2AUbUe9bWtb2wG3rW1tO15mhMyjdcCpqj1Gotp51AqStEerbW2jXQNuW9vadnxs3cKLiwNS6a4\/x88UKWHiZOKzT359rD1ibWtb29rWtra1rW1ta9uLsDaQo21tmx0m68Hckn9srgSZeU19fVN7nNrWtnYKum0vbrwV2MD66XHfwpZjP4N1sHHm56tXKwy2Plmf\/2dwEECn\/j9l6zdsOMbf3NC6YMOGDXrUD4jQbmlpW9va1ra2vWxNQdaz3tzEOrue9cF61gbrWGdhvZk+7szWI4+qoCrr1683Ux+j2j6gta1tbWtbOwKebc5W5WquNqtZLVvYohvZ6I6mVuCHcv0Z66NtbCs9gC09RqVcI7DDwXi1UZTgcEFlsiAmNcUgC22lGWgY2I7YRnFoCjYUU6r6OIptuWijYgUtB2FQiGMbhCaMyz4sFH1gIqQcNE1H0LCFQClJKjZrqHejifHjJsqaWVob8w0\/7s3kpJ+oT3b7pDFvzz2NwcFB\/5zO+eiIWWfvPFXgGRmA9dM5g5NoG475tcENG354LE\/8+L6KxvxZxv2Fj3l7TrZt1jhgWfssxACbGFBmOqeXscPdyNVmMwdkkE1u2sXKkTW2nvf1dGAXZKRLHLq0jl9aC\/y8WsicyZDeyVA7awHVhtVC0xA3jVpv1GRGceLx4vGtjLDiZ6SHFRDUGkQEjEWCAMEgQYgJImwQYqMitlAiKBWJKx2EHRXiuEhYKWVRVyWNquXUVOKalMIaoRnXwA8resj7bD9Zul\/U78HrbhuafWo56J2M\/NWbzq4dY\/HJUe2o7cX5KuHrag9De3za1o6AT5CtZ72BWwxc6QeZESEK\/IpeM7cbc0aMPReys1N0dT1k0Xjk++pxyGhsGI1gIlDq4khwZKR4n4HPQDNEHahHVBVVZNqpqR5ZzDM+OPLhEQeoiqq2vj31ceu5ikWsFRtGRMUSUblCsauLcl8vlblzKM4foDCnHzvQBZUCLhTnhXFcNkyW7iXNdqqVp1R5QgPzVKDRTtfdPPhX55wz+awR8kvgjNfzgdJBhk2RWAEqdMgTi7eHO9gx\/TOZnydjY2s4vXlBl\/Wd3QCE0FjRGUaXxd30UTTe6Emh2LBFcL2tjy0MHSBIm2pWVMeTc\/SwL3pvglCjzLmI6ODnrzjlUAsucNLsI6wrNsFOjflc5nBf56PRjs6jxzwwK7R04IxK1S3oMwQGIF1YtbK21BnMl8qz\/X1jjffGPq\/36L0T47x5YbQmERm9rfSThaHDhBMjaheU6vU12SEdCBKfplJ03oeJHUke3HGAwRmBwk3rgHXH+Nsb2bhunV8vV4djYDsoTb+Hnb3D4R49gunIupbK2MgqXTL02moUFuYoRgDSpVVrXlvu8gso404W7UsRZwZUfSJYC3t3EWWpD5YVJybOyg772HsThlpJM1dIJw4\/+fv\/4\/DApgGdwqew7rnHp30oPzEOWAA9ZeD1yzWO3uF9pjC1GYsajHhxB7fu+vbfvNyc7gY2OZnh\/f5z6Zq51MwlMfraEHOJoquywHaOFw0Hisr+gnIo8kwYT4pz6lM1WYLxKcanYnwmoMhRYy6oPONLz2vU5VkfhzwzblcFVfXeo96hzqHeq1EIrKVYiKl0ddI5d0A6li2S0sqlhCsWI\/P68ZUizmX4eqNJkg4JutPB4xIGD6v4h4KIR31\/dc8Xly1rHNMh\/3iLUAD9DB+K9zJxi8EsdnhHoBJ1i7mj2ggfoykRkj8kN4FmHuPDyGgQgYK1aG+HMdVCKFbkxC8uIcPTTYmVDOBQxGXo4lWEF53i7GnBaFrQUSweQQOlaVQ\/t9gP\/e\/Bq67KThaOQUA\/wbX\/EBBcnOFSNWqibpHHO5LoB6YukQqKIH4S0lTxYWg0iEEEEeiqCF2l0ITGPPsUtj80W58rgauaPe9R93jKxKxhLioCaQKLVmIuP9fHa6KJtMSwRpLiwQo+Cu0\/v\/vMpZ+8SuR5j\/knuPbLAcEbM1zijdq42\/BIRzO6SxoSk48PbhKfJeBDo9gMEIygXVUxHcUwDKyR57Wuj++cTHEMUGUl\/WSiSJbAaecRXn5qZpeb8awkI2plek7GhfjGPz5z0R\/i2w6T2cWEtc7ARqehPTcw4R\/4Z+RkRQK8qz8N\/M1sT9LkYCkYZNABfhD4BO8\/1ePeEiBvDWpcFBF012NhR9mxs+TZW3B+3Hqfqce4xNi0IdY1KWhqUT\/9dlWktbjk+AzAs7IR6rH\/voiYIEAIpha5AHhVJrxn7NAQe\/YeILj7AS1ZQ2e5RPf8Ae04ZRnFs06T4PTlsc4bmKeFaJ5Nswv9xKSS+SFN5Snq4\/e\/93sP3WWEB1xgt\/7lhauHjnK8P6YzHmJMQBYHBPMhhcgS9Cj4Mp4yU7E\/SR3E422Ko3lk5z44Bvv9SZl5Qi6i0IVSxZNZg4yNw9oBuOI1ltpET2TCnun1Yixps7Fsb7UqJy+xqVPzdH5IOM\/jweZjbijgKeZjLoI2MtAUbIYjPXKro+Mw7HmWDVsREfV+i6rfLYjVZ3+PQv5XCmLkEkHs843vApQG96NWYKIG\/a+FSp+pPVnrEAk6pt6qCQIOjoys\/fRHf\/sdH5j\/hrEsCCDL4Pc+DosXgMtaEbtV75yQgSnxmL72D7aa1NwHmRcwdHsg0oyCBrSO2llDVL0PJa30pOb86bV7aBhGhhjySjq1GFXBnxiSswxoojTwZEaQWh3OKNAwYcDjjW4R2z39AIxh3\/5Dr\/uZM3\/m0d6Doy7LMpjTC5\/5LxAEMzIaVr0TQbM08OmWG6+64FDbvZ4oKkqlmfk08z51TC8S9SJqBIZmcwbgJtaZq9nop0BU63n\/woZx7xRvfsbiLu0giuuRsrOS8XQ5dXsLaM0YwXsTuMQESc2ErgGa5Y5AWqfflsNl9qCc811uhvMWwIhgwxCiCBVkQmHMOXY+tVPiR5+m8ys309vdqV3LF1E6e5Xac04Vli4U7enqNaq9Um9e6JvN9yrsNk43X3vbQ3fI7ebOMJLN885ftX9QxP+4zlihmZF5h\/eq3liXR2rPiJFa702QmVTKBrDBSXFm0nr5qRdWayD0EBkQB6lD7fShSY3xIvn+OBuWRpKRqcdnHm+tA2+Ozt7kvjFPeslMiL9w1Ob8TP9oTGCd1998etfXnldmbPHin+8O\/KHtglSmH\/KP2NQawN1TX+gswp0Pwu33Tj8NPdIXqJm1rzkzDP8hMha8ImIgLkCpCI0EjIAqNghxNsU5\/+FPZZ\/\/6PSD9cCTz34\/n+KDp4yRPjY9WbsQ6Ra+nsFBgRBBNYXG3hPyZEPyTfnw1BvoKMI\/fRP+4Wutw9dRe4R6G7zzoiB4Z2CD1vhYCGMoROBaK9ErQWRJG34sC6KfB76iqiLtVPSJ4IJWEQhaudSpU6oXMP4lIPtYz3qzhi2ymdVHPdzBF\/RXtghsdFe3HO8NvO9Kg16X4N9R8VE34jlYdvpAR5JsK6mMWSuqIkHWNHFzElxdVVPNF7OZcrjmZdg6le9pLcdsACsChZisVOCAwv56Q8J7t1C960HpKxXpWziX8jmnqzn\/DPWnLhXt7iwYWBE00xWuXn+Hit+fpObh7bdt\/t61t265PSry8I\/jjAURaY2tIEZeqCs9cuiQk30IQqei8dYhTeRIBCQiisjsqE1pK58sRvJz2gurXj17liZvb\/PZ805oRhNDzhenBk2f13PUmVOk5SDI\/A+leRUVFYNo\/ianDkzYIL+C1u9o7mhUFZemBn3+s6lK0Y2TylE5gKnefZk5N06sr\/J5qJDfg\/PHHJ\/8dKWYHPKZH2\/FQGBbB9uWAzaKWItCIN63VfZeoWIMrYh10B0f53Nz8Fv87boE9x8Ee1lAQDPM2N3heLwDdsWhNJAocEohred1RtfIj7wiiIRHBVZeHa+QfmZQRZwSAliDlouMCAw5z9Ztu+l4fJv0ffnb0r9wDpVzVysXnoU7fRm+q0Os17kmyea6RuMNamRfs2Yeevq2zbdde+uDt9uAB\/\/8krP2Tzve41MvbtvLZwkbVYfAR5cveONPi2Kf+zilquIKQPH5OF9ppaBLwCl5WgFqdbj8fHjTZfnHrdK0qqqxgdTHxu\/m5h\/87+SJnRMZKoJX6g1oTEI9OyqE0NSLqxbv+3jhff8taphzM7LMGzWFpfmR\/g4gmrqT5BDqavpZ\/0hnfxpPO18ikDpMKEfevPoTlpXJgF5gCeQp6HoT3vUGOPt0qDdhqjKtqmKsTB48\/JX0G5v+b3P\/qMvwEmii1Gt5et61Qi4HKiIYSayL7m5Vvtpr+sQ4YFHNn6ufsZi0FQUfT6+kV7PRfYzr5wfIr4KernhfRCSpwn398IghT0GKgGtCehh8gmmd5Kd8C4I7N\/vUsh5XPlPEYNL0G+eN9Hx2pC+Lvt4rOpJAVwoFgKyOS\/Yz3dFrgzz1MiORpdaVBPkTEelUVeUVgjDX6XDCT08WjSNGijFDXtm65yBdT39L5vzLzfQtnEvxNWeil56j6anLVLqqxqbZ3DB1c7M0eYNasy9L9b733vrQzTYwt1YkfOSzImPHGbzVttnOBqeKGHuBEbngeUdrPntBczYE5tGChCYpLJ4Hb74chsfATjtgbBjhRXet+u\/v\/9sPizSn\/8jPfuc5X+MGrn1zieJljVYmo2AgNK0M0lQN2IagAakVtoWTR99gmm++R4OwzAlb0wVgPpAiSJrB6pXwxstgbGJ6fFBFbIBEwSN\/\/Dsfuinf84B9wOv+oT2TZ4sDFu8jExYCf3ROBZGALMu6jleX3ce4fr7F\/yeDfLiDcuDxUIKdPfBgGQ4aiFRAM8jGwU2AGIwtkeJIZ5TXFDgsjoPh4WZgoiCJG1u+NfKPX2Ev0CrFjL7Am1yx4A2\/B9LJK5fpa3phBq3FqFHIUCHikCrxngP03fQ15v3Td6Rn5WIJLjuP9NJzNVk8T00hNEEjnSfq52Xev0kzt20c9\/1rvvfgN8Igun30otN2bBRx045Y2h1yr2RTzbzqCykkiH2hc3UaFiaSO+HRCRifPMoB+zAlS5Lo3q\/s717HuoMH1q6WgU1blJtuOmaXTfeN95g\/\/cD52SflurE6iUtInYJVnwPu\/HQUIjmoyqcghghjn7mj6Uley2nrEpE88h07enymHLDPkuK63\/m7Ih\/dmBxgtQysa40Px+xCYuM62m1IJ8YB5zVYCXSn88k\/qjqvqmZqfuU1YfP08WiVWs8H+hLSjwjmQof\/9hDjzaBT5cEB0XsNGAeRa0365iHQJkaNiDFm3Lqh3kZ0ereLz\/eoqiKBgpaRfaYQqAQ2MOU1p634pZ\/02X7rkzF\/FIgkm\/7n2Se0NUWU0quIdvOHnLGLQvYUIvZ4pePxbczd\/ARzb\/qalM9dLe71F5OdfbpSKWGbSWCcX6nGrHSZe2eWJA9Wbtv8rWs3PfTtUq88+MciE+2l+cpPRZ\/QHkuR3LGY1jXlYIzBBFaZ3+02stFxiwoiytXybPgTlQ9eoDdwrRWwrZ+ycsyUl0xfs9EbyYwL8+zjI0HoefNqt\/GjGx2osHHWQBVe7Q44J6d4fNd37gLe9Xz37Be3188b+i0GP3bUd0afX5j623zgJ5rw+w4vDm8KgchwP9xVhExz1KMgb\/Ju9E34JsaGR9qZpzWjoh95mx53NBHGq8wZiyphyxlPFGMeKxXYlmb0b7qThd+9m47lC0VfdzF+7WvUzetHag2skY7ABpdnWXopwnsnh\/Tm62954F8kst\/780vPGGov0ba1rW1tB\/wjD1PrnuNE++NTUbaYqGTdMV5nIz8kJGQ3sjFZx7rOFVT+oC5ybaoOR0bUIWzuV+4OoOmUSCz4JpocVnUND+bHcJ9i2xzZrTOLVyyKE2F3pcwu4Lzte5j7p39L+qVviHntBfj3vANfLKgkCcYYI9auwMiKLEuvMGn2y8C\/jS3skXjXSHultq1tbWs74Gffd08I3\/PRogccM0UUDDKYfJT3rI4p\/FVMeG5Nm86ImqBf5M4u2KIQZhAbi2YTkAwBXhDb1kc+3lExEPgcwNUZR7hSARkZhx88gHnvT+Vtu610lrrMGwkEmCTT\/e1RbFvb2tZ2wLxcaCTXBoMMZp\/gujdY7N9ZTM8EjSwKJEjnCTeXYFcGBWkx+STDkI3OoEz4kW7FK+JfZIrAvhq5t6fYoOYBRVUS1Rx1+ebLoavaQqVONWOouMyJd+67u7767W2wNmg2d9mIskx3dhoDVhCdqe6oeauUE696hH+p1ctqj0WtdDIOJNM1GK\/gXN57eVTfrKBZaob\/elOwlrW6iQlZS0WvPGqSb4Arn+VFbrnFP6eq1Qszp2gG6nIy02d5L8euKwYyg9BBfsTvnJAxV20T37et7YA5Sj\/o+NkH+EA4yI3pDVz78wH2Cwphg8TFsQST8+HmEA5nUBTJN+DkEGSTLwgLIhIYI8a8SNTn0bvYqygSDsh7DgMRSDOkrxt+4kqII+jpnCI6ULFWMtXtvauW\/s0Xrzp3EuCPDzLxSd7nDDafOJMJZiTFISQtIgFFoT5OEFtjo4KZIrfwKE2SI9j8Fg9GxIlt\/xDy1zRTDXulGLo78q8EMxGnFqKg9vnPfLTOtJpYfk3b4FUvlHHmxVp3iULQwAQgFGxO4GVazzPn7IrAJD80fg0SFH\/UmAc8g5HnBI35NNFMFJKaNj9E29oOWF+ayPfG9BNc856A8K8cTjO8jwtixxbAdwyMOyiI4FFoHgRXfwGbgHqRwHiffRPkVlFCkefXOa8qooIDfa8xdqWqU15FEEJtbYT7gP15QydUSvCNWyFzR++ZxpKMT7ih+7asW7HgjW9LgNMQWx8f7lEJ8I26cPnZNC9aQXcj4XSR1gRWfDZJbc++mw\/f\/9h3fa0mqurKWdh3eqPzPxjEaKv50VRgq4eJ6X5ND9nES\/beDTAJPNbi3pY4gtvvh6ExaCYzp4IgQm3\/obWnrXjnYDZR08TASuD0VhaBJIP\/+WtwzulQa+TZAN96EVXv8d\/4\/BXn3PHj0G7KtAqT\/EGNxpKEzKuKqELT5U3900\/NJ7myV4uzQUU08CY6q9bx4QBT9qgSIrYKuxUOtjacKfEM1B33pNDUYasJPD5FwRpHmMeeZuHoOIE1+UG4jeJ98ftt3uliuOX5\/fwt3MKmkyQu0nbAz6jPwt4WnHg4G2Rjcnyc76bsY1zznoDor5xk3qkSFcTUFsC\/GZjwEE873wPgGi\/oBK6IN2KMQf\/pyT3f\/uMXc5\/L573pNYJZqXne0b7aUtBPTEUiYQAHhuDPNh7z500QLA+Lpf9sTUgE9AP1zjESPKZDhA+\/EV25lJ5Gk34xRyJnz4HKykW\/+fvVcJpB4dv86pxNTPyyxRjfol8JemCfgzEhj6k1fckc8BS150TLAeM1j\/pvvx9uubPFMXz0z9s4vjSIC5cGQdgS1YO41aspVqBShY4uCFqMTqogBpcmNOv1SeAOjoOD+W0+\/3lmtuE9+Xw3FOHnuP46iymnOCgKhT5IfH4Im95w6jV4ibT4zFEOOO9VDx59mvkjY0hfN5q2fcGPYy1K2bY20svFAbeAUVmT7e+JiX4LoE7p88CvT33vx3O+174tIvhLh\/NOVYJYJF0ANxsYU4iFI2nnF+h8Z5pXU1nL2qA1bs\/rng8yYPo54HeKRryKNS+jo3LSFro6jh2\/KOq9c5l3dAFVwBlr7URTuOw8mDsP2TeEMybfvlWRMCJNGncO\/\/2WzWtZGxRXnmXrTz7o\/onDvQVCjLRkGQXsUZS7ckIoAM3ME5cqlApQLj5LxsR75zPvNXdPKbmwQCKC+BQmxmF0BOpTDrilLqSaYKR2vO75JtbZzaw+4sXXTkUzR8c2U\/nxCSakQkXPYWmljjMWJcPl4iQKmZ68OaeqBFF4pL+1bS9yI19vGESv\/+4Dry92dF9WHx32Is+xmSoaxAXxzcbQn60963+3B\/AkR8CCdoQE8wAapL38mPKBg2zMbuDaMwOCv1UUj8cEIjIfvmfgkM8BVx6TU1JmtR+r9iSifhOb3FrWsolNz\/PQsN7ARr+cNyqvdlS0yBEn5NwxlqsKIiIQKDlwq0Uzm9dOr7wwpzwwBrF59ItY8T5LEPPNjdf9xH74CdY\/ucEPsslfwi9meRr4CBGCOa5y2C+y7uL9sZPE+ddy8YMZd3cUYYLMVNqSaRUHUK96\/AqrVz+z22DT82Oru5I1WYPaNHl\/ixj2pACg9Cg94TYx049ra6+80mwalEx4+O1xtfPXXJpgbPAc5TdPUChRbzb3o\/pHLXasWS1L+4p2wB6pp2TjLWc88eIjagys1vVc05Ugf2+QaoJziNhoHtwVwo48+4UXA+kopOPHAfiRi\/zewiYnL5Cs5Eht7dXldKcBUEJe81X94d1YQawVsbkcnCcn058LOBFoNmH5Qrj4TEhTiIJ8a1dFwhDv\/UNdC\/u+CaII\/EYLflum6GqkP8IBy4kHPXifp6PlWPxQhqlxONr5tiT\/jDn6UhXEoM4HqLcn+4y1htjd33bAr\/CMljiXpvgs\/REyGg6fpaiQtkftJDrgqRRzwuRfFyj8M4DD1Gd+74XYGtbJ1Qy6T3DtjUXiU2vSyFAJon7YVoLNrVYjLyYHW6UjP17kC9b7DMV8ZMWCN\/7cCrDLX8ApTlBV9afke6qYV0PKOQM6gTW5ACwyWYfXnAH\/fl0LQCRH9OCCQOqj49\/e\/83v\/Y8Dd983kRFIV5oSIepNFHUdnvelIO2c7z7wN16tN1E\/PAg8DRKJkNYby5K9T\/2\/5QveMO3VBNX\/q08XOrLQTt+WzVVoxmYS5r+EG\/NM5ZnTpsZhogbveTtcdXEuFG+PjAPGSHNo9C8f3\/iVzzae2OsgnT7AZGFI5PNjbC7e7vOLfDU5oBDorh9XzELz1i39BNf9eUhwbkLqNBATL4bHDdzWIvL3ItA4BG5mJ4HySR4yHWnYazEomuui1KFGLpBwpC3IvSRueUoNqdKaexhBJ5rI6y4mGOjFz5x7bXtBNnDwYEubRTen9clv+CRxTlL7nFU7xYiyuz16syAC\/jQb60CdHzP1fDUb3ce55n0FCutqNDJRCUwVJrrgzmxqTxPwDpLDx2ldK8aYhYIs1BexKfgjQlGvitXvydVWelogLFEPb3ktrFqRE77n9ThFRJz6ZrVQ\/NI\/\/tK7vjv1+zuAe1sff4Lrm8FwigzvyIntF0FTYYQWQMmaHpNpj5EjrdYCqCiHouSHbuyHG7LlJY3CQqALyATEeZjTB6uXw8gzlWcsGLP3yx+++q6pCHgH8G8z\/+D1\/3ai4sezIsJzlTzDHbU6psxUFkEEjAVvpx3wVG5xOEqfkXKf8XsnaMxta8x1KuPQVcVFIUzWX43t+MfFNl59tQOVP79CPg98frZ0wbQd8AuRIptuzpcX\/DDWs95sYNB\/lGsXBZjfS0g9iNUAbD\/cqzAp+aasIjnDlc+OW9Cp6lXzNLS88Bkn8mpyvgVgAGiK4JsJLFkA566CodFW5JZHnyYMSNPsCR2bvB3WG9Zi2ISHLbKe1Qp7C01SUTGoxFAUtNBi2GpdXlU18zlvxBFqDgDCYzz8k0EIkbUuEfI0eq2ZK9A8wwH7NIve8umvxF\/\/8B3pkTF4BhHHhmfLNKHHUYWmlpD6jMx5sKKQ+pbG6NT60iy\/Wq5VjyChZ82YT79u5nIcQduOwz6ocvXGjc97U129bp22kNNtO8kOWOXH8EFr2CIC\/uPo70ZEnXUaDsREfbAjgKddjnhWMTng6gUSbTy\/YLbN9\/yjov2UFvMVkBpBmglcdi50dsDo+AynM6WbKt8tVPRJdIMCbgqsMQi6nmvy+ElbeCN\/pLh8hOlIW4ebHz7j6GxUnpEWzGoabtWqg+eKNLr4sgHfwg7I4DPfwuDgiSLiMIIYEJVngMJ++B3N3jE\/Sg3pOSw1Rlp61DJdlhBpR2wtG9+x40jDer4+XXtUjk+HxMtiX1\/P2uBqNrqPce1rY6J316XpQayUIO2AB\/yRvQz1rbpvO9V0MoAvhjz9DOR0i6UiXH5+DqaSGcdoG0jm3X7U\/MuNF1xQQ+TZIrhXziY4jWJu24lNvWme\/vetGrrqNNBNjfhSVZqt+ednzEP94SzDBn1mzfwVUVfSo\/rznjln\/UXFYtvhvoq5oHWQTdk61lkL\/xPEi5KJSBj1IluAw2gLHGIgGQbfbAerJwl81UUOwEqNQcYmkCsvhDUr0fEaGgQ5JllzDQZJdbebRH\/6lntPKZQCF2SuGRLWS3ftmPzsh9\/WnMDZEBNyjDQ3L6OUvE4532YCaXZMJ+y9V0WD2uEgAlJOHmOT6EyyGHk2AfnZey7SZ3zsCy36T+fyIdUjgHQm3Jzs2xNr33PTI4\/p0jQNXdW7ZFRsIajHtnH4xgsuSI+Uwa6Nh\/iQwjiAE8R5IXJmKi0\/89X9kT5zMbNurU6VE6y2CGKCIO\/bfsaBQvHd2+haeM3N943UDm6ubbya5HglJl7t9eOXhQP+JO+bA+kcwS7w6FdTkn0u4MrJclrOIorGGdaIYRdCqp4MBVtoIS31JUW6tu2HAUdWhCeBCCWulokXzIEHHyNW8N0dGGsR79EgUsEuT0P5H8YH+2o12ZOaYGvJuEcbZyx47D2PP77X\/\/pfB\/z9tmHBLkRlOvVcOmolm1Yr7OxzvBVg4VSSPHOwfBF0ViFJZzhXVYyVzLvDanm61JspJyms2sAGyaXB+BuPv1hRIRVcAnNjqGqOorQIamJyfPPsmoOWHPh3L1D2StVaws1Pohu\/jg0DCpXS1NiLi0tIufMss7D4vyYL6ZNpk92TjB8uYA\/PTfSuYZvc0aqqtKwcVGlWFf5Xk\/QfGwHnRei7mhOmty9K9fJQZFKE3RiGbAmDbUXbyaw4Nk6Nz0FgGCirolGIbN0Ja05BvceXixg5Uix0KpeMhMFFxjW\/u\/Cccn22URG3HfBLfljTfo\/5NYNchWivlqSoXRrsL3ieVk9NYpzPcL6OaDbj19rP+kT2+071W05kGWWvGFWkWkbveBBzeAQtFWFeH1IpQ7Ussmg+mTWdk8XCktTbNBH2NtDGmBNXn1cKz\/2L758WfX3Ppw1mZaZOJcDQAfcoPDWzrcXVZ+W6nqLhnAR6ESRNYeEcOPs01PmjaaBVMRB7J4t8VpkDbOME947n5DaD7hNc+x9Dwl9PcR7EBmUY0bwFKZkiNvFJfsCdhZFd2LqqCr3WUJ7fT1xvwJ0Pka1ege+sYjoqBN7jOytar5azCeddQ7Whap7YhXuwGbBLRhs7vv7WSxozx2cIm5ap\/8eA4MMeJ3GmxaBTZH\/o+L51kmKBAO+bGD81Ptmsm5+V1mVFcmrOezbD1W9DvMfOyLr4fA\/dHnl5aOMVF+x7Ee9DAP0I64oxlX+xmO6MrNUd\/sLMIj\/9m\/zF9vWsNy19+LYDPhH7+2\/xFw9\/jGv+2SJrRW3VNTwlJyyRAntFGMGDWESTnNfXZ68m0PFJ3\/Aq5IArAxSCgHJfN9U4ouw8FCL8gjm4Ky\/EzB9AKkVNrfUNY2vj3u1PhC3eht87IP6WzbjtlJnk8cc9V6xrvv4zG95lGsEZVsNiJqkGncJET65qNQkUENQ3IDl4wpmtXsjhZAuQqnJqGJBteQr5o79Bfuln0c4q4lwL1aJqjVREuZ4s3bvupoc\/s\/HqM9ITGTVsZGPrdbKvZ8j\/NBjr8OoqIp0lKDsYAiIBdQlkY7MGRjKzYOtah55MckWsRq1Bh\/eUzjoNs3Au2t9NOtAL1mDTTIqZKxmltyCmEqqaU0y4M4vrj9\/4tovTZ\/RHu4\/wvk6BBzL83xp4t8RGtKpKwcgpFNimMIbHuFq+F82yFPQURqOrxS\/uswwZ6IVffCcahzlgcgbayqtvAA92Nxu7WwqTL2qRdYBNkNdXKZFrmb3wPzNGs9KOgDmh4g1mgqeKIdFPh5j\/luDm52xA6GGrcqdRxnyLIWhK9wx5NXBdzCoHUyMnvy+qUg4DytUypqeTpL8HvegsdNkibClGi0W8c\/jMq6Rai13wtMn8lmqquxbUjTkvNAsqNTcaLF58KPrLb5p9X33fV7p\/+Z9eV3hq\/CtBZua4mmppHLmyBLcr7EQJJECDjpYzYFbWf3vIa+JGyB3uLXfCay+Aqy5EJlK0pYesGBL1oxYZWr35oD8JYZMH5Lf5qydv4No7Q+QqB+gQEnbkqfRdU4AdWwEznmMtZoETtq2od8pCVTq8J8ocqSZkaUZy72aCfQfxyxbiz1tDMqdPpRBpBmnDkNUhClSKdU26quO2jOoYefuMCKLr+ZXKBPW5iuwEnwjWeO91ctgRNy1RpzJNLxJ0gIlyFj6dXfilYmu8rCpiDFmliOw9iFqDeD1CDiOQKQ3BhxToBEZfbJvbEHPTCuOfH2Oy0+e6YPLC9xoZBtjABh08Qa0AJxSpPxvv7RO8b4WBXzbIeSnZHFNkpZsr4fYIdmT5KXdMPVk2mk92CWjbiXfCUxPJqhInKXEUUurrRpYvws7rx\/Z2EXd3UlQQCTGmqBpGmVRLTYmDSVeIJiUOhn0sjyWB367IPrzbydpz7lhV\/vf\/N67J65tkjhAbL4LHLHxfIUJy8EvzQCsVLbPOAfe3HHBZodsI5t9fjVx4JllXFRBMlmFasUlDdbMV\/dcAf5tkct+CK8\/aNyiSnchD7yCDegPXvi8g+KzDRWoROxcZK8GtmjOJGSQ\/9KSjs2Kcbav3fKrNy\/R2UervZrlXCtaQ9vXABWtg+VJsGJCVIs2MUTGSZUjNodsnjNw0krmvLdTm3u6qfQb4al1Up2OFoKsFXWDhch\/LW5sVVx4uZlKPA0bFsl0dDU0Q73KWMJ8wG1tfOoEyea9+z2nLcG95LbpmJX6gF9NMMJozNji04VWeMOgd1ui\/Nib123\/15nMm27veK98BzwTr8TGuPc\/Afwtt8FNZ4LAR1HtgawQPq+J9lqNr3WTe\/9u2E\/qQ\/EwQlhFir3SPT1IuxATlItmCORQXDBB2dWBLRTSOSZcvxvR1k0YBrlQamRTZ0bC6NxB21DEPBEYeKl664OFzwo\/8bpTZ6zOc1wgTLRKeFuWOKaEGyDWefX1WdtZNsTJ1A50iVIoFbLVM9tbX4s46DZnXTyB5VayONsfgEVX5esXrP0dave+LVy1rnNiWv\/XSYPsai\/kTg7k0lUylV4zrhi2ap9QNko93MvSS0Uq+2BR0q7UIrKUfmIMQN5sUFs0jfP+7MQvmoD7DlYpIYAisBee9U55swO2ZlQcCJ1utuF2FVHaPDT16aPnVGyuO0rIAs8og5wxHelkccXZWzMr12Mn+GOoSMuQd45qh6vJxcZMnRHHrhY7V1LGgDJzRaNJtDEQh7mfehPt3b8YiWGmlqcOQNMvAu9tCGHwyO\/PmTVe98EPhOtbZdfxYAiH+lQbiCmZ37+96GWRQr+GagoVLQcicewxYYboIhiLHuBo6MUyYiNRN5pJtL0PBDXmuvtFn6dubLe\/QtRzvQqBXBO88EljKay8kmNOLSxLcgrnIqUsJezpwih815uBQpbIfpSGB3d1Uf8c+9U+JZbg\/dTseT\/2Byz5zT3rWv97W7bE3OvzpglxCqjox7qS3U1imwtZcQAjCzlywfpal+6Y0fU8DqiJkWYY\/bzX682\/HBgFB2Gr9UFUJApEsOzyJ\/tkj2viXs+Z3Hfj6qcubJyOh8Sm+8NANXDsZEIioeD0MpTJUI3AKFkVtGWyzlXmSWUF0Mv25V3Aph8gpS6tiKO47xLzPfJ7KmlMwS+YTLF9ItnwRLggwcWwCkVML3q1I4M3e+F0N5au+ZL5aiVb6T+lNhxG5\/xNcN+bRi7rT4LI4szgVklLApPFsVWHUBAQerG8grjErgaAGWNY6EJZVCbo70GIB5vSh9SZ29wFk8TzwnkQ125ckO8bg0Sp8t1\/N7meKUvL8MQZuYzteeVk4YAF0C1vMJ7ju7QLvBRYidNhI+oYqmd0ae4bU4QloqsdrhqjLU9BGwacvqxSum8EUPSUYpDCtIKSgmjfLqwgYYzAiYsj7BVr\/nHCnbFqTqNo6VY97pSRCsOYUoovOwq1YTKaKxhGyeB7iPb6ZNa3I\/gq6IxXdHqv\/brfxtxwc3TP6JEW39aqrMoDzWRcllJaC\/gzIaRoolJG04NiPcIgQj0d8LX\/eYmeVA56qS8YtAvRYFW0m8OR21BikryvvCVbFC9JwLgWePEXCe79zxdk795yEez6ChL7u5wKCsxNSB1jbBSMFeMLlBwpFwDcgG5+VxCLaEoywQCBCTZUwSRgbSvE\/uB97z2aqS+cTvely0iXzacYR2tdNScQqzKt5Ha4ZWxpVPW2OWHP9bbc1Aj7Q8CRzDXKHaPZbQ2RLmkbfFHi6I2\/MKR5pGKiLsF9s3g4prVUyi6JgDywBukRopinS04Uf\/BB0VQkKMVJvoJlTsVbE++EA+dT3g+I\/MexGeNupTdr2infA+kneN0fQRRnMs\/CGAlF3I0oZ6U9plA1D3rJHIwJAfB2TDs1AP8\/+7LrOILWPWidRAQqZIxLBteqpYbWCDWz+k2GIiyJJnKderzPhMiZ95lymot6LqIrxHjPj\/etLvDlK631MAqPWcKhcolot0z9ZZ\/Kr36WwdD7llYsxpy6F3ftpisWXinE5tKdXRVY4o3s80pmmMu+i6qIH1lp5cOH69SODGzZoj\/yq7GMiEMyI4jpwItJENQskiA25BrQQSISKbx26dFY9+15aNWBjkJ5OOO089PLz8L2d2GYyPV9V0QTdLSI314Pmvlz8fFBPdCpnIxvdetYbYGOTHVjM551441KkOAaXV\/I68BC5aLMGHeDGZ1Wkp63DT2UKmZ9l9AYBPYUYKZfQrip2zUr0vDU4EdTrFP+En\/A6MaH+3mHDv3nNnqzjnxoLK4\/dedFZE3C5Are3rv\/3n+SaD5XqwTvCmqfLiJgO5VCPcocavK2gtoL4Zl4rnz4YyqyIgJ8GVpBjKHzmkFoDrZZgdGKaUlC9YqA0T\/XUj46N6++97ZxmS7O73d\/5SnXAUz1eirvCEPwPwa3w4BrVpq\/1Ou4NnBx0RkAoaBOyWl5veZmgn6eWX0GETlV604wCUCkXCeb0It2dyPKF+DNPRcTA\/H7VMCRBRxq1xtNutL6n8+kD5eoD25YV9o\/NFSeFyWycRmOSPWnDHc4SGfFeRB2CR3yGaD4yL8WqSYHGVCTsPH5kDD88yoTzlLzHPPoUfvVK3Pa92N4u5PwziLsqxlsbNa2NsiRZmYqWvJVYVA7U1e9LLn+3rIfhHQwHJj9+\/GRIGDaD1JuqGCkqI6oMASGK+nrO\/T3LnK8DRltjJM7RW2+AMciu\/ciyhbjuToKW47IIJaE\/Uy70iXz\/miuv3ffFwcHGybr3IYZsGf1PFhs79Y4JbNgNjwEHgAKK2kIeBb9wfZKX1OIWICtqRb+lcgk3f4DxOX0UykXs0gX4JfPRgR5ssYiUiijimmk24b3fHao92Os0Kqq6qMkoHVl40R1PVD+rOo41iirrdX1Q9Xv\/X903H0qwP+cdb0udLCiNw0UlkT1W2KHCmCSoiVpRcDorIuGEnMfLqSJRCHsPwpe+Ab\/y80d42lu5OGttOc2yyw6X5bR1N910eGNbVOHVUQNWZKFAr0G8Ex9KRUwSWCYI8K1mNPVp3ms3yzbeZxMFF\/JWnQIQOk8xCij2dlEMA\/zcPuqvORO55Bw0CgnKJTKERpY59W4sCezNY+XSvyYD5u7vlxZs+5nv7Fxz6n1Dl4dN\/7pSWRdPFoPTypWecF7oOCx5ej7zDZK0RpLVSdXrVLqamXpUP2Yqq7PV1lBQpSxCR7VCUUDn9uH7e9DlizDz+pFSAe3t0lq5lI5MTI41g3DPaBw\/PqHsRthZDnikZt3OoJ7VVwamueXqjbKRv5r8OO\/dZzFzHV4lFWEUOqqGmsxUay7nCGj1s+oQ5lqHkxXkrUg6PIbcsxkWz8vp\/1SPTAwj4rxKIjyocfDAxguXnpRUXysF7T\/Oe88OiAZSUq9gpAppEQ76KQIUyTMO2cSsW3PplATm1CZXjCnX6tjtuykWIorDowSPP41ZMIeorwdT7cAGYWBLxaotF08BlmoUX6JB9Mh4yBM0sl31iG3v\/cMv+553fapp793pa9t3LhgWXW0LcumkbZ6ahVpsGC81HzKswn7vcQqKBRPnEbDKrCiLdJLXf5tAweeEMFou4g4OwUAvQd6bTqpKI3MjHtlbzLTSvfyy2Ud91nbAx9cGGdQ8Mdv8Qkr0jjLFqxJSsrqnpwwrRLlHQVCshHnNV5Pj4E5eOmrGQmugrSqFKKJXcnL4qFjALFmAWzIPUypCFGG278Ytmq+TJhgfd+5QzcpQLDxWr7vbxPjHLxD2\/+Dq8ya+BHcAd6xj3R8snogLT7nwjM7J5pvKsZ4313OKDWVpWoj1cBQmQ7bSMYEGhzQj9QlGU9RnpDNO4y90\/OyMKKMDCIyhHIWULzwTlizAd1ZwpyzBLJyLNYJ4TzPNkiY83fDcF1jzzWLN3\/yDObqXLVscLa1REL2vlQlZz\/qgzo6LFZ10U2zKPTASQNPnr+3F5Kh315hVZAdBa5PrA+YqmEIMnVXcGy8l+8WfxDRTJM3AOVSVuteah3+NjP2r5vaHD77l8I7oopvVDV514lqQANnIRvcR1hUNwXsd3oMIVglL8CRKnbyumqMSWil0nX2tXzE5wjdWhUPD2CBAOqsU6k1KYrBphgyP4xfOIVicrz91iaSakXV1JT4KkkbgK0nAXIeqJKnrXjLwWLTk0KPV7+3osvj5tVCWdqmcVpXAN0MfpOUAscq4y8g8iKZ51JtNzoogYars1QF0i9CTZvhlC9CrLsYvXwjW5s53+gApjRQeTeDbNSs\/+MoFC9rO99XShrSedVGD8mkGeyno2zXQK+lTUytIPBpi9yLsVkiycXCTeD8jvTOLWLCi1kbQDcQi2Hl9FJcsIDplKUYE5vaRLRxAEGx\/D5m1Ps3c2KTqU03RpxqqT8ZBdLuX5v3\/1hzZTw5QkvXr18uWwS2ykY1uZm3nV3n\/Gou7LITSeFXnxIFcmJV0xYiYzlHRwIgrjdnMDGuDmk9b2q55Gxc+e17jpq33NQXA6gQq\/T10lAvYvh4KC+agc\/vITl2KdHdCHBKJ0FSaE0aeTFXvwcjt3cKD8wvJlk9dcMHos3OA+9M9nGeQ3yXEZB2e0apKEhruVxhRT+CTVhp6clYtrAgIRYico9LTiVm9kt4Vi6muWkHWUc6Ljh0VwjAC9U0H27zhCadywBp2F4V\/ufHSM+6WE1Rz0xaM779w\/RWC+VKA6W2SelMUkyyAHwDbWwcvhbz3ehb2uU5FFnHroIi19CyaS3XxPIJSkUqaIcsX5pzcfd3oQC8mCEhFUi\/SSMNwqO6yrZmRh8aN3vwIPFoPzEjtsrP2keV7zCe4bnkXWh7HvLkZcn0ccdpkrCYrC6MhbDcZ+11CiiKulusme3fSuzMqrb2oF+gwQrB0Ifac08nefDnu1GWY8UkkzRDvaDqtJd7fFxv5+xC91WAOVmvZ4cqbzq4PPotaVNteGQ54qgXJf5RfKEeEFyicm8E5PtQ3Fqtm\/kg506HIy4iEDKEccs28L1Fdnho7yWjYKWRz0Eo\/djhPwTnKPZ0EpywlXjiA7+4kG+jD9nVhFs9HVXUCc2BI\/KOpmKes8Y9Gwh2Rl4e+8tqzhp\/rGa5nvdwC5mL2loUJIxSjp8Jmf1ayFy3K5LI45U1ZpB1aolwrejlgnWxFqAPqmzhN8hO7tCRivP+R7y9uvbcBoBoGxNbCmpVw3hr8quVoRznnDe6soKpa8xyuqbmzJtw6Vs+emlvj6QWTPHUofHRs9eZ1+WK+8hbDlVf6qQW+jnV2OZX3WMyveaNnYdUEXchQFzyosB\/N+Wp9E9LhWYc2nfqvqLLSORZ4JQoDtL8HvfBM\/NuvwvT1YLxDrEWMoZFlNLz\/Ykn4jc+\/9qytJxJ\/AdBk5\/8LsVcnpBlWgnAubG2xjwVT6ed0dNayj80s\/cRArBCjRNZQjWO6+7opnXkKWq3glszHn7YM21HFknM0Nb02MzgknjtLqp97c5\/59uarN0bN+qH5zWLUFWw5OD8k7Eisnl8P3IoULnKR9jUDdLykMhqHjBphFFrc9Cmk4+CSWdOzH6gSBgHx\/AF6+7ro7OmiUCmSLVuIX74YWyxi40jF2mZTGPVG9hvlUYE7IuO\/3zBd92+8dHG97UJfoSjoVioaQ2RAfsPAZUWwYsEUPDsClS0irVSY5mhD9UwrIJ1kq7ZOm4XWx+WuKqVCjPb34M5dhV++COb1USwWaBrJxlUmGiK71XA33nxnf8jdBw6P7Rv9ictHeW7gg85I3ftNMPoxrq8KzF2aGo1H5cCYNWkW+r2Z99VmqriCFbGWbvU4hCZgnMdrgrhsRrJMnsmH8kPo5zqwQxVxjui0ZRRWLKJcKhAeHoF6Ey0VCBsZRqyKM3GhmayKmllXp42Gw0r58Fiv3UFx1cN3zX\/4gOCzDuk9WLzt0d3AhKKygWurDWSbw++13pzrRUkysKnSFQgHWkxYIiavtbn6rOq3nBqnyCsdCkVrSEbHoa8b\/47XYef0Is0EJ4J3DucVVf9E5OWfP3\/lmVtP5N48yKB+lF8ohQT9DvGAyW8+L\/wdleDXrLWVm1kbWUxlaJwRJr3iS0WCOX34wNJ4aiflxfPQng70wGG897g4QryqigQq0inGnloX+cl\/GPax\/48X1\/q\/dt+q0r7RBX5e5xvC4fQcWzVMFhKGQ8\/e0LNHVeouJfANTJIQTAlWzJJYZ6o0shLoF0GzDL97PxqFhIWYwDmiR7bixyfh9BXowjlu2MnT+8Q\/kgh7vciBCv7AAnSoOzrwEpZG1lk48BIP2KZZ4SiC4xGpbmCDtmTM+BFSZyrPrfAigH6M6+cb5FSD63FoAH7MW2sPhg3fjDHEIRKEiMp04gxcDggRc9In+5QKzsRUK1Ehxi9fxOTCOQSnLYN5A0gcodbSUFFUMivUQ3TCOYb6rdRWqaSnnTqn9uEXPknkd\/mLceCRD\/CBsAe7x1Kr2cTeV7Jm2aFIu6MmZ85POSeKVcvq1VnCzAbBTimJkzTvQtAMnyUzEGQ\/LCRfIwcZWRECBb\/lKSr3bCEWoBBjli\/CnLaMYMVibKloNAiqYalQ1bm9y3wYuoYxB2tGt6SGznF0W8GzN8McHt\/nmjnru3AD1y4CfQ1gFD1MSJez2CGbg0giAHW4ow5fJ3+zC1ulB9tqQ+rrqmI6q6SAXzIfs3IJFpDMkeWVQpfA+CHvvof3X1geBbecYEYZbXUg1G7g+i9HhFfVcV4kT4YsBB5tAXcM+rIQO9HW\/AxVsYBLM7KDQxQKMYG1mKFR5Mkd6EQdv3oFMrcP41QKVmxSiAtNZY5HT0uxT46csejhHZed+p2us5ZvP+01\/+1zSX33XJ3Q93fVzBt6S6awMDRdtdCx30ZslYDUCCmCaoscZpZkZjw5Mr8qQnfmMKcsQX\/553BrTsELmDTDOgeZI0tSV7H+8DIj3x6O+NdvmjX7+JcNjsGXWoloo4N2BPy8I9UWMbY+D4DV8+IUNvjeAHO5Q1YInGqq9tJmt9PRSM0IhpoKB1yCc5MYzVpo0iwnYphFVG8ZkImQNhPiezbT+chTlHbuJbj0PKiUSOb0EfZ0ikRRoWTtvBCJJgVVZdEBp4sO7mnc8YHdjz1xIxx6odm3lnpLCgzj+M7v8ZHb9\/qh8+aMSDxelpsPWXm9NuwZsfVaDXRVWCh09mjiRkRITMiQeEapizGCRAEkDZEkOcoJm6mWD5mWLWNi5WLoqlIQiIsFWDwX31HGxiFarSCBVfCINT4WJDNajYQFnV4nMfbJKHVjK9edlU0d1D7FFx76JNddaLBDGdl+HB3l1NhK6jkQO0oakInBQR4Bo61atp50JO4weX28T6EiQqZKtmYl5pd\/DtNZhdFxaCZYETVgA9WhAZEvjNYa3242C27t+pvtpsGrspOwTW9OyR6xYk53iarWkEIMczzsnCKWsOVZT\/mqMza5SISwmVB0jiCOSKOAoNHEdlaRriqK4FJHZg0+jl3Dy3hN9KBFRgQXWCPN0uTY0PI\/usWHd++IHXKFxVwIWswyNVpVJmNhvwloAiJBPh+zsdbedPLJOKRVFjsIZKqMhpa5jz5N9Kk\/g7euRS85m7SniyDNECNYMXGkeqH3FBY2Kf8qm2\/qhl0vtQzC8gVv\/F9G7GKv2UvR1uCNiPHqf33r7m8\/AesNJ1Ha8MdywOvnfaBER9hV4\/ml\/UIJNHx03v5n03KcInL6FF94CHjo41z75pDgl\/ykmwxrpnRWqchwj\/JwpEQakJmOPG7wDchmExhEvUF8GehTzWujXSXK5RKxtejDj+M6qki1bANjhO4OGiL1UWVsEh8XIU2sjLswGp9rTbL+5punn9MtwMDBg7px3Tr\/XA3xMzINAvBRPl2\/gV\/cOYl0BZOm0W389yaKts+G\/pRQvU3FuFJcst44Ro0SqdIRGFQznPN47\/EyVdfUKfFf6qrTfQldgOzej9m7H2sMLFtEeP+j2OWLkP4ebDPF9XSKKRZJrOBUqxaZX1cdNUISiB4araZDbNgAIJ\/kuj6HngN8MMC+xoihHqQ61K1sjYQnfTBNg4mrzar088wswWaBcGSMzv2HmDe3j\/Ceh8miiLSzgvT3EhkxNmeC6A+V\/9xXKV8TGb635sr+v9w0yL4TFQkPMqjrWS9r2LLpXsrbIg1XeTLnJ7DFCswNYJtCiEdNALYwKwUwngkW7GlJ74VpSmluH5VTlxEWY1xfN37hXKiWsHGIiSPq1tabyqGG0e0NI49Peu4up8m9WaO21X7qO+P9m\/aaCLt3En3QoX+nwkUeWRVYKiVVmY9SRBgC6j4hQ0BCZgtD29STmgAKCg1rCJsp8u3bMQeH0Ddfjp\/Xj20BxkQIHLKiKXpGM9NNe9es2weDL+lmK8o6Y8PFoi9N6l7EYtLGHwJPwBZ52UXA69euDQY3bcqa5exdBZU\/M05di\/XtWdeCIOJI6rps12qeZn8rQtNjpaBv4AOdhvR6Rd5pMWudeqSgPNGfsdNatis48rSnHgXznx1mJTAlsWYAmINSCQLCYhl98xW4i89BO6uYOIKOAk6g7txkhjzhCtEtOxfO\/detBe5AZAJg0\/ELBPgUf7kD2NHKRd3OknV\/c8OWnvkdpCsOVKRzwrNwomDOTNG+wGTScJXejHpnM21UnSkVRFQir0aMGgJjBR9Za6LAYEwr3ZqqMuo99WKRqFxV6etXLVeVnr7MlApKV1fdReFow7l6ZhktiD6VeH2oaPxdK5L08Rsvu6D2r637bdA1UWJyqyP92RrN010onwgCea2dUD29IHJqDFvxPK0JiYnypeqTVqShs2KzS4H9QGQtxVKR7I4H0O\/eTbB0AeHVb4H5A3iXg3+sSIcNgkuSLM1Sj\/Mmu+e6797rFr\/23MODJwYJrYMMcgPXrjGYexOyKwQpk6lOqoqo0NuK7C0WlbCV5J2dFraeQRPo8Z6uOCKOY4KeTkwxJl04BwZ6YP5ATkjhvVrIcH6cjO2dTm4thHrrsm8+NjSZpT2dD+49vxYl1b2BXRFl6RtsUVbXgrQ\/sSZIQs+wKnt9jovIpipjNgCX\/UhQ44k+mHQAi1viIH5knGzVCuSKCzB9XdgsAzOlz4VR9YdU5c5AK0\/89dXLTkCkowe9SweUzKPHOQIWvOCNWJO87FPQ3vtAjCkCXn5EqiDvMxVJfSbPNTE2sN6kPFnyRNd2UTlrmHElRuw8GA4MD7u8thagaDqURz6zBtCtXsQa57N\/a5LdsU1MMOScnleKSNcsx8\/vJtUU5nRqPFGzu\/76n96nSdYVqgbi3PI5IxPZonu3jLx+\/6FV\/OmXC+68NZbJBmKObL5qUK9mm9P0gdDEe\/\/istMnni81nIJsYP30QA1uGUw+BduAbUy0jsUA538gpLJE2fQOYeGmgI4xS2WlWbK\/YuZnNrC9aveeZQuTp4d9tj\/uCSMC9S6vxNv8HNZ0DpoOvKprNpGoy2WAGUoTLUmjUTIuQ9Iw8GORt7UeG032HHzoqD7DT\/PpOvBU69Otv55cW9aEVYVx0yfWq5krYkuGYS2yz5TyOZGNQTo2qyKw6lQ\/KpCWS5ieCF+M8RM1eHoX0tuNVMukznmniU9hLBVsKqavXHfhiVdC2nmqwLsDgnJiMjUdSGqUXa3IzgLqannlepYKn8iMlOuIKs0oYqJaQsbGkR17qb7mDIK5\/YRZhh0exRSLSOpFVYoFZxYUNFCJpaMkXLD37WcfCNRP8p7Lt+46Z8WmL4ey8dfk2r2VyeBTZYzH4qM+zHjkOeAVn8uDoD7J0c\/MPjGGWuskHovQU4qp9nUhxqBhSDOOCOqNFohQCISKVdaaYLLj\/Zvuv7MYN+7+7MUXj72E62ZOYMOCqrxEEbBB00b0snfAM+BOz2+U9Lk79vNvDvr\/xM+lMfY3RxhbIfB+I3ZJ1nTSl4m5MoQ9wB40b3GRMIcWzAKQg+aRPgp7m4aHC96FiRV\/2+goC7\/8TRb89ZfpIqXZNaD1Db9iR\/ceatpGKgV8rEjsnLug95Kzzw0rpackc5txfsyLGhWREFHNUaequF4rBjE1\/4F77mncmAdaz2dTUlro8iPZHphyylvYIjex0Zt7bkynkpLsyv+2kveAbgfYCzwMU58eDztITnM4syVmkm0DEcxVzGUg5zjoSK2PxgPHSNmxzzhUYxoogkd9lhOziGmhdE8+GC+boQm82Ai2VIQ4wl12HnLaMsyieXlZ3Tu8iEmVegP93oTw2ZHG\/rvuedMbT6Tgrm5hi9nIxi99nOtqBm7EM99PIJ1lw6Ux3KJwGI6kn9UzW8UYkhmKYs0soz48Rj9K5d7NhPdvoThvAOmoIL1dmNOWoQN9BKViIAO9ndpZ7Jzwbu4hNBhRbwSGFjy0c+7yT\/3LxZ8sXV9iTN\/lhTk+sEyalEkMe8QybiBrjYlRM8XIPqvS9L6VFTjUAqjVmikrvnkbxZvvxMcR\/k2X0Xzn64hFMCiizKmL\/mQGF5Ss6aVZeBoYa+Ekj\/vpy6hscC7t92QvxcCpwYgNaHUYbPQvxz5gAfQTi3++Oy50LmpkdTXq5UcmhER9tGjRo4ObBp8XsOQGrvvvFvPfIgmDhk0o9MDuTuUHLTL4CEVcHdKRXAlplkxyEYsVS9hCixZVmRPHlPq6cmas1SuJ3nwZumgAZw3OWDSwqkZSh4z6wN5Do\/HV2sj4d0vl5Om\/fglPmy98TsxYb+s3vLgB37BBjyG5qMeiRVxO9SyLO7spcomEcn2pbIKRUqZDkch4ADu8Z8gnhL6RRxyzCHE6xTx05lQdUhXiCN52BVx5ESyeBy1BBgGaSm0U\/XsTBJ8565JV9w+eeN7dFl7gF\/oLxG91+P9PYKGC+ioy3A+bDa2itOTjnBycdWQcOoOtTVpRRkGEsjH0Az3FGC1EuFOWwtuvQlYtxxiLw2uSOfVeM5+5Q77Jt2qJ+dudneHjjjSbf\/+e7JSb7ynEj+xfnu2sddRss7dgOKdQ5I01I0vqKpGEGTXr2eYSRnwzR+fj8wPhLBKsKLTm5ApVylFEunAAv2oFesapSG8XsnjetJBLhroJ2Dok5q\/SIPvL11109vbBNif0K5eIQ0H+kA9FQwzFTcK3WuxPO+ve4Dso0CXxRIB9SmCfF2quDtk43re0N2dFe4R6zRVJ8xOnQlmEquRApWpHhY5Vy5H+HpstmivulKXInL48TSlCE00y2Jda++2C6j9WTPGOOcnOoVtaf2\/g4EFdvXmzDg5uUHjlKZN8gA+EvWSnefS1gnYAZwiyuB7p2QdKWWfTopMlkfE4YBSoq8\/ToVPcxNOp0dmx0c0D5olQbCT4Vcvhl38WP28AjGBbtTaABB1S+LsY+0efe+2azZwEHujVrNYJdi4K0ZsMcoZHi1pF7By4T+BJzYk4VDNIhnLym1nWC2xbdxROsZE5T9UIlUqJILCkA334pQuIFs8j6uuGcokkDDULosTFcaLKeIJ5AhM\/YIvh9mY52xMqw\/XED614bIcZ2NdoyOfuiuJ9B850of2FuuWsusm6XQHTqFh2RMp+FRJjUPUtgOBkjs6fJU44Jedw7wfmGEOnNZi1r0Gvfgtu8QJkbBzjPAIqYsSrHlDhH42Rv0uT9N4vXnXO6Eu396wN1r7E73\/TLOkDluNRM+KFIS39i9kYVlB5b4h5Pfi3BRW6XYfq\/gLydBBwUGHEJ5hsIuennWbCmh3SX\/HUf1VZmKQExZhSRwW7aiXZRWdi+npwKxZhW8LsNZFahj5Rh69a5FuLam7L\/3nT2QdfBTJgAvAR1hViKj9rkE8o2uVDrfsemTfaJdHDJuOwGkIvuLRGmo7malhTwKtZ0Ac+89l3AHNaYhVRR4XSqhWYKy\/En3EKvlxC0nTafTVhOMVvir18x5DdW42Thz97YrMf0\/YR3tdTQP86xL45k0xtJ8Z0wUMh3K+tCNjX8wPPLENCRy3nGyoUA4P09xCVS3T1dVPu7cTHMX7FImTFYgIjmGZKE0kbpeKkWtuQxO9qSnhPw+v2eNdwGm8bala3HwpsbcIlriHh43vOrE9OvjFz6ZymurjTBPjIcyB0jBKQqdLUjIQMcJDWmaLVni1SjeVWVkBFKKYZC7yn1Fkh7aySvu5ieMMlFMolUBhW5yaVkRDZUUa\/UvTZ\/\/3Clec90Y5fX6ER8Gf4ULyH8feAvEbgtWJkeRib4oGOlB2SMhwIQzYgsQ6Px6pH1Lecb3NWcK5ODW6xlerpbtE1FhfNQ05bhhZj3Mol6KrlGFWIY1JjfFMYn\/T6UBP50qTh5oks2\/7AVeeOvJon6X\/l+nP3xfxMV8Tbq46zfKQyWnUciGG\/y9iFJ4P8+bvmrEmJzuxDLQBLRehdMIewr5ssjkgvPx9z7iqCKMB4JYMshZqDbTj+oj\/Wv\/3MxWfmlEAv8eHrQ3woLlJfafAdCvMRvT424duGw7pPRU2zYjnUYdjcuo3cASeQHJ41LTYzx31aCEUgtJbQWuKuKh2dHQRGsJ0VzMpcLMTHMVopo3hvnDqX+olas3nYORmNyx3bCnHng7VacPfh+cnOoQOHOzoe37No+f1PX9Wx5eDqYE99dSGiq9ihZm+pwV71jEiBmio1k4BpjU2znj9dTj7opwisEaEjyyDN0DNOJV33FujuQFRzkqD+HlJrNIHtO9C\/fszLQ5H4Q72Ox3oY2rfpqpPRn06biIMTokXak3omv27wdwH7JJBVSdV1lQM5f2Wp0HcYNFbEuyZjPmHc1Vqbrswqhh4lF6qfIAcZ9XhPeHiEaPtuSpecS9TXTXx4BO3qwAcBkmUSKMVulSUq+tZMdEADefKM7z18SHy2vyrm8T95dk7oV8qBUP8r71uV4a5T5EzQ+SYMzuqPM56OJ3WXsZKFMQdDR6pKIC2gyxThPX5Wnm47APWe0Z17qYxPEvzEWsIVC8mShMQIgQgGCSRvI00SI30HUn3jNbc+9OA1rvr4F1\/ifp8eHnQpC4eUSIFfFSNXpVGmYcEY26Xsj4UnM8BnCL6lQFWblXSUMuNCQdIMm6SUOsqENo+Is94uzEAvtqtKaAwi4Lt6xCcqNFMbdogljpwrxUWNqJZHJhYV94zMOevepyrV+3YX3LaR4ULTJY2C626UvOwrZjSJaBrDkHpSPDbzeTZuqjw2C2go+4BFInRkjmygF796JXr26XDJOZg0BRFUIUtTrXvdq4b\/84bM\/NFtV50xATkAtm2vcAfcSlPvAfb8Z66xQaKjHJBLQiQoFdGgmqAFYSgqMxKUc4SIprkTziZm1Yl8aiNoADszR2VohAV7D8J9j2D6e7BL5mOXzCfr7CA7fbkEi+ZFYam4SIwsmkyTS0dV7qur3tlhgu92+2TrNJL8lZmOVoBRSltLjH9dkH0KK5IwTaXCqT2FYqQB0aQgNgsZzsbJXA2vWZ6GnoUHMDsFwGodxPriiKBcRB7ZSrprH+6y8whWLMaUizhUa0YmahBl+FOMl+0dcTi+ur4te+nX3KaMHN++dz3v+w8N5++0dflPcdPMMV7C0zqU3hgeMBEjKN62pp+rz1pRHNe6jAhWFTc2icsc1OowOk7iHHLwMEZBvKL1VJKoSDZ\/Pn6gt9kMimNp4hujAZ1hT2lh1lU6oA0\/Vtw6sttMHFijdT+nEAbe1NWKhBwoe+qqWBQ3vfJ1VtR9p1qy9pCz1o1YQ8\/4JMXxCcyZp6Djk2SlAibNkMwRGJGqSNXDFTsDdddueuj2xOgjf\/PtL42+9FSUbQc8K+wTXHO+IfidmPB1HoUopdGrPFIKeEyhqZ5IFeNqkI3PGgKGZ1sAoQiZtYxVQvpUsQeHcB1leNNl2HNXY9TjjSHJErUCIRKWhVpT9H4nZueQs\/E1t9wSf\/Gqqxqv5En5WT7bBP6tdXFD7bp3SU3e3SPypv6IWLqVg1Xl6ajKTu2gNg10mWiVHzyzpf5faEUdcwRCD8ztx731CvyCfsJ5A8SdVQTNBajUNxrCpkNO\/75m5QebrzhjGyLuRKohbWBQP0o2ECK9Hg7hWeAaii\/BeNzqPACwcUtiL2llHmbfeouAokAPQhhHFIoFotOXE563hqy7A10wQFgpI9ZgMk+WeKdqJ4I43pPUmk8UIrszMDqWwVCo7PRWni5t3tVT2PTU\/7QNPdcbJjVUlR5la2B4QmzuzNUjbvJIm9Yss32tw2C93mTOrffQedt96Bkr0TdeRnLBGQRdHYTO4a2t1p17SwLLrJWeimaT6+GhQdr2SnXAkrcffaDD4n4R9MMWs7JGMzEBdv8A5vEistMLIUIR0Gx8hvOd3RbR0ih1jrEwpLBwbv75\/Y+gUUjW1YErFbHdVfFhhHfOm0zmlbxekQVuTmJ1s2j3Yz93893jWZxMbrzkksYrMRpez\/qgg7HwB+xKNrLRG8ztKelTqZpRSfVt0ZgsLKhyahmKxvC0CRiniDe2hTZNZg3zUABkAqNeKVaK2AUD2FOXokvm4cWgWc6SJMagyEQHOtpjJYu9s6\/72h3lfaqTG0+QE84zT+tNytDTMRP3K\/x8gJXUZ2pSkT6FvZL311rIAW9iZuWZV1qR3rhXxtMMLcYEWUbH9j0UDg4RhQFSrRAtW4ApFihkShAUrfb0dGlsKzKvf3GpUKr5QA7WRLcoUg29FGsfft3meppeV\/ybBy6TRvI6mvKmwqTpOKvgdU7oZa8x7JeQCQkQE7YK0ums2Z96yNWQOgAJLLrmFPR1F8GyhQTFmDAMQRUvQt37g4dFb5tUvl9K\/e0w+tRgO\/p95TrgVte1ZvgeCz+lUPF4gqqN\/BzHvgCGXe7IEnWEyUFwjVbq0cz6wW60rnERhr0nnqxRoURpaJTSlqeo9HQSLpyLB3wcgw0KkQlWhQELnZhDTuzeVP1wFMUPlCT+O0QeeQXmoGUD2\/r2E\/Yup\/Irvy7ve4uz3vlYgrSQdR8q+OoWcagoaEDmExL1qCoYyan\/fDqr1Hh2as5F3N9MmbvnAOUvfhkd6MG95izSBQMEfd2EqoTQo553pcIZTTVfmixV\/56NG0+0JKH\/JNddLMj5in8qw\/VFoalOFjPdLUZAqAA1dS3go581RBO2dUWtS+KIIAwod1YJSsUWC4NgO6t0W0tYqZA4wRdKqksXIeVC5oxMNGI7qdVS2vRMBl43jxv95y3YB4qaposfahz60ud+Zfjjf\/krqaj8jE1MR3bIa9AhMq\/XcBhhEpCgE3wB0pFZFRxMkHPoWFXmhCHLFs5F4wi\/\/zDZacswnRWiZoKKEKkW5olZjWgxCGV3eax+V9tlvoId8JQYw+\/xuaeBN6xjnV1G8fygFnxJ9poF50eec6pIEsPdGJ4OuwmDFHWNWUnE\/2ygHAUaztOYqDE6NgHbdlMMHmBepcTc3i6iUgH\/mjMxV7xGmNsfGqEHpcc7fyrG4Jw7L3OUr7n1gS8R2W02tZOLvvW3k4MbNujLPRrO58AX9wH7buCar4raA+r16koSn+K7MzSG5QaGULYrSDqKycZbtTY\/6+rAvrXIlih0qRJN1hEF09dFVK+jXR0t+UcQsCqYcdUnveHuRcX6gRuvvPqERL9THfQ3cP0Vir7X484EqYhVmSgLTwaeQzgahHgE8a2+axPm2YZZ4GSmar7JDCR0RZUoSUmdp2gNlVOWIgvnIKqkJoAoJIwC0f4uTLkoAWAN9Unvdo6LPjlg5bYrAr5z2yVr9g+T11DX8\/ZSk94lYHYq6sRg1OfOLRCIFJq41jS0s4oJK22NT7cIkqTUv30bhX\/7PnbVCmxnBTevb7qAExlTVWOrDZd1OM+94+VF3wV2tt3mK7wGvJ71ZgtbZAV9HQHp4sw5zKRIc1JVasL44laVz8QgRQg6oLE3b0Ga5RqlR5E\/iQFrIYqoAU8mKc2d+5irSvGpndiHnkB\/+o24nk51lRKmWiZQxVi7OPP6K02RM7LEf7lb9DuDg4NPMfjKqs58ii9+BfjKJ\/z1lzvvTne7lK4AM38h3BfkPJg27ETDLkiHcgDeLHr+ZkZUJgJFa5BGE9\/Xjf7s2\/G9XdhmM2dqEcHnfvBgl+GeoFy568Zzl42eUPg58Al8IJiaYBeFJpibdWe4ohKYUFJgCMG4yRx34VNmA+Xns9LkNhNsQ4nHJulRTyyGYrGAzu8n66zizz4N5vUTZA7vPQ2XucQz7JTbC8JXd4jcExIcuL2xrz4FfvxT+WDwQW6sfYj33F4mXisw5pUuHHQ1hbFiXmZKpkBY02l6nTXjouRUlGMGusslCnEElRJs3YmeeSpqLaKKekV95k1e7TvHBObUdTfpno1Xy6tGr\/dVC8K6iZv8f+P9cz36GzHRwgZNNZ0i9MFTHp6WvM9PfROSQy0NWHn5PQHNUZIGECMciEKvAgsyR\/mRp+AbRdybL0fm9UOxgGYZkjm1QiFWvTxU6UsF+77bH\/67sV1bJjZefXV6ApBoAuuFY+o7rwcGWb9+\/TO+vuGYnw9O0VLOiNw\/xvXViGAgIQsMek1M+Ia6aaYN8Zaq8XtCuE8l30xEcknKrH6yz1NyrF7UBOhtOeFxYyiWCsjpy5Gde9GeDrJKCdtMIM1xsx41qM7zI8MXXPetO7cacZNP3vro6KbBbS9pc\/PatbeYqzcN6FKG7jL0\/IKICZuaZjqO7QhFoggarTVHUEJxMxjH5CTj5vWHsg4eCETIRBhBcQqFrg6kq4oUC8QrF1Mcr+Ebu2mKIY0LagpxVsBoGDBHrF58OtJfoDFSbXY+PHHjjVvu+eAHsw9C+iGu6y\/BWxV9vSLdgUdVlAMW9iLTmiZHseW\/6FP6j9g8dGbLuU4f7eVZeqOnGBI8UPfKHu+pZjV0517UK37xfLKLz6bQSMAaFDGJ+rIqSwpZdmbU\/NpdeSZ7ncBGPd6hV4ur\/pVOODS7iTimouBBBn3OyONvAVnjAxXpRQrd8IMMHp96A64GzUOzKvX4ok+orb7WWIQO74miiK5Fc+m\/6iLsWaeRRRFZdxVjLYExGGtp1GtjKdxpRHfj5Y6CyFduvHzNzpdbOlpVRUT0Bn5xscEuUVgO8r+iOOxLihnjcYbrCHkYYbc6As1yqr9sPC9BnCQcgEdxOC9TE7AlRWdm1CYD8ufZYS3V89fQ3duF6e8mWTgXt3AuZl4\/MZKLRxnZ24QdGPN4OY6\/9tYzF\/\/L1SIn5ITxO6XfmTtae+IMyN4D+pPG0NPoyXQ8ymSPsTwNTKA5ylcbLSd84qeZPtPFyJGjQAmhLEIogjdCGMfYQkylGFMxAnP6ML1dmFOWYrq7yOLQN+cPZHRWHZBl6CFnzT17rPl+XIgefP3qxfcPGjmkqvLfuf7fK+ZcRS8EzjGhmL19TfYWhVEbcgAhU4\/4JAcEutqR0sjzWwNHPKpvtTBJ6+MZ4yytUosYgxgz7XIVxeFR1KMoKiqoMTkkjA6RaXrUjsAiQQC9XbjXnIl0lDGrVyKrV+CaqdaNJKlycDgwd0yG4T+tXrHsm3\/eIftfPe7xVeyAZ7ZFfJJfPMUQ\/ZFBrkpMJqZLjHbBFgObyQEuZHXIRo8Qcrw8LVPVnSDeg3gBL0K38yzOMqpRSDmO0Z+4An7mTWCNTtcO82yG9+huVflnwd\/pbba9M8gO9nztaxPHCb0ogJ4+\/\/W9mQ27RNJjLsXOBpz6htdwyusvZ\/TUxYxefiajQOHbDxE3GxQ6CzSAJNTESFg3teLkF69a1njmrPyE\/odeQ+PTCJcqXk1ZjAx4HhDYQuvwrw6ah08K\/7MAKkrB2c4SUa9HcepQA2rzmuBUDbgHZQBPSZU4c7BsIXrhGWhfDzK\/H3o6pwOYpvNpLfH73Zh\/LNw5eYfsntxey2SaR6lAKxI9LoceL2oCH9YnSx0H955WqDXPLkzUVprUD1C0wWilyX4bMlwtMd7iNpYsgaSBNsZVm01Hmp1wTnLrs2j6eTsHXkklV58KnSN0GUGaUghDiisXI\/MHKAaWUrmICQPEK\/6U5TB3DuBchneKZqnqZOr8dqk3vju5dcc3d91879PywDa9PO19Z9WF74w0vNyowYUZh7pT3VWwstd6JlUIVLCatroy0mNG58+GE5iyyBqMtiQfCxEaBKCa6xW3pD4V8KpeM9fQZjLuk2RSnUe91xDpKPqwPyDABIKxQqqOETK8QOQ9gXeUM8fSBQPEpy7DLZ6Hv+AM6OshqNWh0cTlvHINnDvgG81b63sO\/PPQvQ9vHr7\/6YaODIsUjR7\/A3goiUwM7djxveFZq3P5anPAgwzqDVz3ayHB7wSYoCEJtgeGuuG7wCgQIhhXh3R41takftQaFDHGq9uZ2cbZIrbel0yY0IYKsItF7FoI7NrJul0\/yH\/jI7\/HTiDu6FHYxllDPQowvLg7KHUUgsmzF2s5WJTFByZdT3G3u2XGiw0cPKgb163zPIsK0bOmKVkbbGJTtnzBG\/8\/K+FHnaaZaN6RctSkUqVQjFkSR8ztqGDOOR2\/5hT8pedgRJBaE\/UehYYXDovwlKr+s0mzr\/zF68\/f\/sO8xOuK+TgAC2EdsBH4PgunvsqJxoYsZBGwk9WHl3b3NgqftsjZGd5IyFI7x4RPFJUnPRiEBkozHUOy8Tw8DkIoFfLoJssgc+D8DFHL1v9AxFjBBnRKzt8LMN66zHFVbRKMgsflfckCxAG6ZC7MmQOlEqYYI1EAqYOxcXRkTJlMvCbO5wXDE+iA1UXTeQafC4FmgBNBG3W02UCGhhDnMK41vjOxUCK5MlVgj9RnFVX1XhHNTybqdeo5oGFAYDOcU1BjsCoiU91ulqMe2wuizOwGFrSQ20EYEK5cTHzeGrRSwvV1o3P7MZ0VAmNIVd0QbBtx\/qFQ9L7eJNmUPPbYA\/f83Vebdu8BvfDwQHWgUVgSQGj6guhAp79wbtP+ZD3Ri1MkcIHD2QY7XIPdPsNlWU6FG7RgeMbk3QRTxQVjwORj5LLUqXMZnuOeJlbBBRIGmSYbtu7+9qem9pq2A54FbSkC+gmuu8hiPulE30pVQ9Odo6Ef8bAVoakJko616PFeng5Y1W17ave3l53wtO9zSAIe0wHPf+MfRmHpQ5lP8lTYMfWgPM4rvepZmaTEhRhz7mqCn3o95rw12DBAWyk0vJJMTJA1m3c4azamyvZQddxqujVae+62G0VSZjWQQvhN\/v27m\/CLzvorKFH1sepIh8qjVtiPMuEaLeRwkqfLXTYjbyrPCZlPUT0DWNr68qPk5Zfo+O6CmrsxRPOckuA1Pxz4mQeEqVqJaV2cFJEBnTlAIkexzqnk4Cc1gqpOp6vVK5K1FIm8R3O1H6Q1D43NU7JiWkKGRp6BsnZT6d2p\/AuiOXRdVH94JTxHSURaWQxDfrAqiVB2jr5CTLj2NXD26WhvF9miuYSFGC3EeFWfGhlOguAHjULxW7XF\/bf9VMij\/zEwE7ijZ8Lv80uva+LXOHRugn9LEMrZh8tNuzfypJWYIWvYhydFUXX4+hA6OcL0iUJaQr+tFLiIxQQWEwQYG+TP\/rg+TyU0Ec1s4je37v7Of321OOCAl0FbSt4buvieJjv+yah5g45p6MbQqA9Z2g17VambmCCemxNzpIdnlfbm8+2+UaS6bP7rr7diEkXlhRB8nAoUsPTiyIpFTf\/gv0BvB66RUHDgbCvVZUNXs7q9rMG2YPPkQXkBzm0TA5rfrL\/NZc1eJUu9HnuXMS2A92GE0biAc57yt77LqgMHKb\/jKowRap1VKETEyxZh49iIEfHoqRa\/VJE9TWsmu\/7dp6OPdX5gtdRcSZx3Ms9LowB3kPMmWoB0HNzYSXt4JRdU7xwf\/khVCysTTdAMpIzsUtie5ZuswbSYoxq507D2BaC75Idc3EuAdph+jem\/ayWPEGe++lGJQT1pSUJ5jq8HU5f3SCFGAktsLaZcxPd0ocUYH0cEInjUJ84nWZqOu\/H6vmx0dI9O1kZc6lOaSc7mgYoXzWJvO+amhSWhZ6n1pgeAUGWi4KiZgIbKkdq0urwr41nas6ZU0iLy4DO0Bp3Xz5AIfvMT+G27MfMGkNOXgTEkRlyiNNPM1RsTtYLfd3Bpbe9e\/f2h8TOXLn1rZicTpnJRkQ+iLzf3nDKQRG\/p1srZiU1JOzOaseeAwk6f4VMl9DUCn1D0SmmgG3PpanyxgFc9SqXLe5\/5NBv19cbBZHRiX3NodF86WUvxrfPacZl86jOvoXjumrnXtCPgWVADvoFrLwkJ\/iEimFOnCUXQTvheEbYFEKlg1OW1F9+YNUQML8aMCV7UQ+wDekQopxnVBXOIr\/tpdNlC3MK5aGAxzmG84pKEiVptm6rcFljuUuSeUOxWlxaGvnjl0uZLCtx6EVWdT\/KzczyFTxcp\/JyKTuv7bRO4S\/O+RjTNQXg+OUnRmJKS4fBepsIeBes5Oj8vvODEsZDXNReTa7dCiyS9FUG18TBHp3Mz8imyuNXrGhhDeM4qggvPROf14+f0QiHGdndgg4CG880RwyNpGN0Wlwvf71rSt+lzod1FdrTj\/C0++M4UvdGjA4IgBWWs23NLIeOwBSVANENcLQdg4Vs0nc8OvfDPeH7TzlvkSHmimU4HE9PRurWIDTDThyP5oZ08JSPLW0NA1YiKMSoELZSgAKkIAwiLVOnpqBB0VPCrV+AvPx9\/\/mpCnU6N+MzIZD2w36kM9P3J55f3fzOdrLcn3ashBT1l\/4XrLwC+qdDly0rYh2QxfM\/DToRQMzQdebmmoGcuQ\/diNh\/X2toDIFboKxfpmDdAsa+b+NzTMatWIIUYXyojRowY8YimXtnvkHtF9Dbrsu9GY37zje84v\/4jKC5N3obA89RznvnJOrhp3bF\/cGP+z+p165QNGxj8jd\/wqPIR1hVjKl80mHd5nJoOMVGf8ogR7kGOEEOkh\/KWJDkZC+nYQsR6HAk99Pg0t7wiN7GgdSCZqpNXvCfMHNZ7yksXEF\/xGrSvi6xcQk9bBuWia6S+lhn2NeBpVb+nC+6rTja\/9oV3\/H6LfeyArG1FYx+ldE5I8DYnvsOgF5u5sqpR0eoONVHT5IC7A+kkWTJEhuYsYdNpaHlxG7DIkQOlzGw2Us1z68+VghCRY5z2dIYwQxW4CLDWkjaasGAA+dj7obcL4nAqze+ttabusif3Jdl\/efqRR77R+X9vrd9zz7A\/3s9xHbAxb23ybQc8S+7vI6wrFCi9GczFCr8qSBFUh7qQgwOwzcMQEEiO0KSx76QgYmcTy5YHbOboFWEgsMx1DlavxK9ZiT\/rdDhlSU4OYXLQReaVVP1TCL8zp+b\/+vfefM7kyc9+rA3qLLvKIm8SzGVO3CkmMr2jlUT2Fxx7CxETYqhplrduqMvFGFzjVfGM23b0uJSArlbrXlAqECyaT+W8VcSnLydxjiyOkDgmLMRIZ0XHw+jAiPptGA56lV3jIrdmPr71vEdH9934wQvSH52Zuf71oB+zgV6mRcqUVSZKhkdNDgus+xTx9Xw++nRWPTWd4YCXes9AmmHGJnDX\/BT+F9+JWEPg8\/vNjMEjqM\/uLIj5zflp+ZuDMzsW2sYrsgacQyeEAh0divuoETnfq4qW1AXz0J2Bmidcnu4LVdHmfsQ30JdXYH\/cxd+nGZjCgEmUVJUJa4n3HKDYWcFddBZZHJIZg3FOjXMYlEClJxUu2V8OkmtufeDRuJE+Mi8Yn+SWK\/2GDa2C9InrKxbY5B2LHjCEn+yl45IJqdGIU7q6Q\/YHIU9n+VMuoMhU5kNe2bFh2\/E++7hMAGOqOBFsklI+cIhlt9zJnNvuxXR1YE9fDj+xFu3tRmp1qaj2ldFuVBBhr1G\/N7Jjt\/Tt+ReHqsyY6wLoet7Xk+BfB6z06E8R6Fm2aIv7SjU\/FjjZH4QcFKj5FKt+xiycfcHcEmA+YLxCqYg5ZQna3YEA9pGtyFmngstwiB\/ybvdB5a5A9dZ5RrfPPzjZFmN4Naagb+DaMy3m10MbvltKghQdk9WMRw08AtRcE+uaBK6WawO\/Sh3xM1NNEWCMwaJ0dXYwcP5qeooF0uWLcKtWYIsxGoRY9ZoZk6hQF2GPeu4x+K9kDf71r05CRDyFfv8Qb4m7WHhdir8Ko2ulV+ZEZdghym4L+zDU3GReftCpSmDbVb2qNzNVcJ6i9yxRpd8YbFcHctWF+LetRTsreR1VZDodm6o+6tDPmcx\/oz\/ueerTly6uHztNus4uo\/IzxsoVBP4iG9kL6FEOB7ALZRjHQXVk2RgyC7Mx2op8e0XozRydnRV4zzvgqovwnRWk3kSaOZZCVTUVnk5UvoVm\/9JRdjffeMEFtfZMe3U5YFnPeoFbDKzqadD4SYssyyIutlV5XdahelCRocBQx7M9q5G58VYNRl8WMoUnApyCKh7ozhxLvKdfFbNgDv4XfhJ\/1UVIGCCNJmQOEwQ4VbxzD0pd\/zQ7mHxPgvhAbWHHaDz+iIE59Fd7\/K5di5KXiBdWAP0Y118QIpc6MgeyLhB7aa2QBbvKqVCMGIuEraIogqrLuaDdxMsNAd+2lyIlLUIHUGk5nMpAL8HS+WSvu4RsyTyks0ooOZ1pE5qT8LjC3UX1X+3oku\/8yVlnDXMMUCjkso0f5f3LYvTPPH6tgg2riPbCvaHwFIJTzVPP2eisE4rx5BSpy4DTVJHMQWcF\/Xdvwf\/EFVid2UllSJ1LVfj9rsz99meuOnfk1UKSQbsNKfchgzk\/qIdNB4DPfdxc+8FCEv1ccjhzdhi7pAO6uj3fDUCDMhKUczR0NvGyUEl6qTejKfSkBUaikDERYlU6D4+w8n\/\/NYW7HiZZvYLsjJXYBXM0HB5tOW45K1H5HTsQ7fZG73fp6D9sK817MkmyrJkOjS28mH1A\/aWK3oFxkNgS\/E4oAUlngukWojDgIRUOqVD0zRb6PW3h17QNUWo7YEJVeiAvr1TKmPn96Pw5yP5DUCliOqvTQKdEtXYY2Rup363CruBwtX5sOdG9Vctk6aP8ggvIfgljlqvVeoJWXQH2BbBXBdtKhaNZPienUM2zKOKaQ966aI3BiUd6u5ELz8Iak\/d+5\/esiEgq3OeEv\/\/MVeeOPCM937ZXgQM+CpgDkHi2ePwyEZx6tFFG4ggkg6YokRjUtyIise2nPOO4GrQAlA2gBoxlGcu\/833mf20TZulC0mveKVxyLuI9UmtoWCmUJQhOzdLklApyaqiy8WAY\/Ot9E4U9Gxcvbr4UC7IlSym\/y188BvzuDVz3fjRb6UeUMBGzakHAkCojKGJiNAqhsf\/ZnK9qnmV8jtdTw8tBULptz8vBJOTtSAsAbyw6NIpfPB\/e8w7M+CSFcjEn4lBVsYHYLN18yOuGh2u1zbz1ovFnm8+f4sbR9awf\/58M+k9w7aUx0bJa1vBRYIgr+Xo6gFKcag1yE+Cas25q+RZoLQaaIphmklPbLl8Aw+NgzTOdxN3lQvJAe3bxkqhTvWxskE3ZGgb0t\/jCrQnZbxQ0soo6DkLo4CLJTxSqHoIy2NKrPgX9bI7YtNo26iI8WC5yV28XQweHCH\/7zzC\/\/Wfo3oP4ef3iRdQ3GmpEJLb2nDJ6w1Jkw9pS7U2\/cvPDlenNSlVeijrw7\/ILZYFoqr9WFZoo6TOo6Z8t6hUxYk0YPNclErSd7yuwrpYCmYCvN3O+6HIB4gh1M7gURSgII2+3nY\/ytovHXsDcnMi8U1HRKQHdKdENOWo+zk5Mgn\/mcdUdg+2sdfsB4oYLBXmVw2raETDA1Wz061hniyz5zTo7fjIiOqeZJD49LKZ\/AM7M4B6BIuCjbmg020\/5OTmAwXrPsIe7woAFUcjK2+6heM9mkndcib77bUJ3BzI2ifpMbRB0qMi7vOPChviN7\/v+g5\/\/84vPfAgRPd7RsICuxzpeHAuUihhR75\/wuO9KzkGgx6CtzkTkNBFzuapv569fhn3zekw2piNZDZ2ilExz3m2ZivBUwXhQ7IFyrfiBP717gnvu4bGbb57+e5uuvNI9y5w28gzWlzb8r22veAc8NccHGUxu4Nr3OvydFhP5Ya\/NssgZJdjvYI8okYlysfZkqJ1h\/BEDGrSk0HaocqhS5hTvWfC3X8V\/\/36y634a1l4ISSI0EsUarA0WOJd92CMXX\/+9h\/4suPnuf75R5NA0tTont06k4IzYQNGbt+751gef62dXzH\/Tu8WYy1Wdb9cseJkxx4V25plJWizNRj2R+iN8xlEEXR2gkFlz5OtBBGOjzUBPP3jjByVtj2jbTpYDlpdLi+NGNrqbWGev5gsPfZzrfqVE9BcNkkz3EehiuNTC1xVq6gnCDtQ3IZtsO+Hn8QAiIPGeB4EDXR2cvv8wxf\/xx6Tfuxfe\/+\/Quf0iYxOopmqMETH2Ypdlp6c2vOz67z34J39+2Zn3yEsQDb\/o92V+dGr8hfBut232aLSoauZ99t9BDyneCKKiYrzgmsrbHjbBT3nvvBQLhrsfht\/8P\/gkZZEIHSI459BKGda9+Twnmz\/3\/lsfbEy1v4lYnPoGxn3hLy47574prer20LftpXLA+jJLRbv1rA0G+fznP8G1q0oUP1bL6qnbJ2F5AbwW+BY5l7qJelGf5eTobSf8XGo4TmdQ++3NHMNRyOo4Yt53bid76HH8L70bfcOlaK2ONBOjmRNjTZdXrtfUn3n9d+79w5\/81Of+6Z9FxgG7lrVyJdNySrBhw7PewJYjMol6PATOVD3idcXyBW\/4aVECL+aodLZRb1sqdpe1hNDbjvhlln7OJsp\/sn30n0ae+Z1l819f3SHmp5x3XqLQ8OR2ZPMTZCL0k7NmuSwT7e7Avvuti8OOzvfi\/DRiWaylNjKMenMbcF97rNv2kjlgBfnVlW+JTsYNjKV1qW0fSDey0b0IUFbLCf\/\/7P15nF1HeeePv5+qc87db+\/dam2WZNmyJe82eAG8sARCQkggAhIWgyHO\/LIwk4UAyXxH7vkmk8z8JpOZrBMnhGGSIYk9k0wSCCYYsNkNGBu8b7IWa2u1er\/bOVX1fP84t6WWvMlYktum66Wr5ar79jl1qurZPs\/n8z9+7cO8d2WZ4jubzbbrjEs0sgJe4eFLaA6KKAx2kbJ++ZzlKbmMxZo4OnZxBOB7wEzfIGc2Ugr\/4WNw92PwM1sJ\/X2od4gxmn9A9LIQ\/O+ue\/ubN\/\/Rr73\/T34hMbtvz27ndg7LKcE115yq+7GqHjHm1Qb7ap6KGFcWBM5D3ke87J29+A6wWmvwqpmr5vds3GN7enpCfCCO1jyxJr2T6Uq8sNtVoZAgxcIRHm2RXOygVsU7F\/zsrF9ovxFUMVZQnbFGl0Eky+PkGuCfWXPNZmmHOzRHoZwy6yTgKqacRCtnfoG9fDw3pk+tAbnQBH+0Ab5B7+dtehVXRdtpXLsReipS+tH5mVZoWzHrhyD18HWUyERIceiZ2lWOi8\/iObbfvigCXxErQf3u4Dvb9BgRVNsFat3j2xgTc1E1Ye4vP2lc2aQ7Tlv9vvZjT1ytzYaKMaKqaqwd9pn71S\/tG3\/12sFX313LnL+4kJTiLENXj6rc8PPoYH8Ohlkk7hqEVPHfDXHhM+suO2vX2AlK96mqKlk4DiW+ZeP7IpPvFJGEoP+8e1WS0VovU60cfLB\/1ZSvwfB5waHGWOYa8KNXwzveiM41KBqT96WpqikUJBSSL4VIfl2MTAcRMYpGmUowsQ+58BTL6eflcdIMcCzZXu+jn9eF2t2p2kWiwYAI\/hsAN3C7H3saJqwxxsKTJe3GuHlRj6eBN\/2GfuBvSsRvyyZ9cILZ0g9W4Q4FTBEKI9A5+BwjYRGR56Zzpy+y9idBVA0tIcix7QoAfQgP4fiWh\/PWb7Av\/+t\/znyz7XXjOsLl5ylzDUREXOZUROL62lWXVtesvHR+74EHJh5\/4nurwPvd+41+4Q7lp38EMoeaI8epQBHsGZHLHt13595xThzBhywDq166hliMOUOOAWEFBEugqoqKCCFATxVOXwtTs+hiEFacoM3mLHW592Nnnzu3PKXL45Qb4D\/Z9ZUp4BNLwq19iqi3w84P\/QYfeLvDTVOXKF6hsseJfh6IRDAhQzsHTFDvPik7osG0qF0SHLQFkeQ9rymKYLp1nuMyo0EkMhrcl0LgN4JiRUJ4eqNrjBG8WC4QsX+g6vUFEah9rm6QBgRZayX+62f6ykr3NelgT18\/5\/cF2u0W5vS1Vn\/qR2C+uaBMqgghIE4ie8ifsfrPbiyZz+MU\/usX4b\/+ykuKp\/y5ZVJOmWcmPwgp9Ry5\/lTpKhG\/GIqfeWi0oNUGYxayI2gcUOfi5kMztYuv\/9N2a7RPSvumDn9b9aFP6u23HxGH\/xT7DGyVgMpTMY\/LQj5FTP5zzNEcL6qqaAhLQeryqGtXhRDylyx6TwLqvez+7MMWtlq4QWCrPleZwaPGTVtzWdKbn\/y1m+9Dx8Yk\/KCBsOQqrnpBooSru5HvU5nEMcZ0G9tESf67J7ugl9o7WrMdNFbWDQpXB\/i6go9iIjOK6RwE9ewvtI\/shtDtNlhYwapHRKyPq5dUCCIHtu\/93FeO9542rXlt2+eJhBdNX6mi6kLqj5dp6OsezjWYNUFN+7dvRHbsgZ99O8w3yYvuYgFr4viV7qvf+5\/Xffbbv9O59\/5PPDH5aHPTyjfJ6JlzT3re9199td4E4aWa7hMxImLtqTFMC3Xtl3wQbJ5unSYc4UGnkEBfPf9Pe8QA2zjBi3Y+dvUFB+XHX\/msbUh3djNuFd6fxhgEQwh5\/UKBVASTZYR2G9LG4e6LhcSdiSKJS2X7XPzyjAy\/WFUpgNFjekjluVW9THd+cjCiQqkIPbUuo8iRPmmxEVJKWt947YWt79fkP8nOvu3m5dD3xSTGsLCPPsJ7P2yJ\/kMgGF\/TdmmFyn7gSwFmjaXoUzQ9KOIzc3hfyuIlujgVqcfhRao3Jrbeu38wZfv2RiOylYp72lNt4f9N6l4ZQnSrqgsvxShEFmmKniOwRgzp9CzyjjfCv3pHHmkcPhQIYqzxwe2TwNjqAfPxsXPOSY+D0L0rA3dtsYN5wGLXOVygJKawOne8HiSn01M0r+0vUR1oRb2V2IaQ\/R+FPzEq1ks4KV6+VWOCqBf0R8Uk\/yZo5uUHLAW\/0Nfek3vQOdhqxSCsWpH\/XeQo2fp0vjnR2HPgfu10ZYCeZV0qGvrT5KKiRgOOoEVBthShYQ0zjRbmFRfBT7wO5mcPx+CqqiaKpTM7d9eez375d6buf3SSKMqv51me5eVTA2OVUHhFShbEiIlH4AkD9x52MgSymVx7+DgMu3b3TXXx\/KxbDQO9Tzk\/nenZ3c29Bx5RtwATP35L7Mh5py8EnBWYmYdfeh+8+RqYaYKVw6UDopiQZZ\/ZO1\/8o1veeGbnB4F3OnqxKOttZav5Hf7Hf\/wI1z1gMX9WmouHnQusXSG8JYGvqbI7TrBxGe1M5jysR6lyBlqkXhAjiiw4lMliS\/B0tlK1\/eijtxw3GnLjaa+Z\/EHoGbbAvQqxBlb01Un\/5p8RY3IjPDu\/sJGNBh+sjUY9\/teemJLJm1T\/7m1C+EFCo3fPtFYQMyFKFGH8yaEYFBtEnCXMyQ+wZo12MzX56SHQSWF6Nk+xLqaJFMG1Ogkh9Cs4UZXcGjztBwsiITUhUfX4PElG0NzWJsFjYoP2VMD4RdA+UWOtYE1aGOydiGIzqYgIRp\/+WeYGuOhtp6QWQ9CFMyte\/GxFnixjcpyKSJqD2aDZBrswP0f3W7tGu6jKgOYllOfsqB\/JaBtkAWKk3d+OqC7n7D2i9TM2nsEtyxEwS1KMYYzb3Ud43wYr9ue8+sQnSmF13mNyC8pBBIuBzgHwbUzOkRj6s8LmlVn1talmuCR4WxXrAuxQyAQSlOCa3aUpi2rA1mjw3wX5MxWNRMwz1ICDERWH0TMF+8GXOrWhLJqtlwG9xpDNzCE\/99PwjjfmB96RjGsQY0zw4V4j+kt\/9qrzbn0WD\/clEwEvjibkFIGtFV1aQMCni8yOqATpiTi3pBt19QKXAWpNLjBw7ZvhF98NU7MQHU5Bq40TUcI\/vOf8DT91hchxA\/\/+Hdd9OiZ5Y4fUq8FG6+BeA18ToeAcmjpIDz45BW0ttlA8+gaeJWrN1BE4fJYomqeg7VF29\/hS0NLlyF7djUpTY5DZedj28\/DDV+aO8xExBhVjxRST3\/2T89d9SLMfhJLGcgTMM4kxbGWr\/R0+vh3lV6Hrxm1\/9u\/dhfBWrv+FlPDblqjazlIvgyobrZhvehgXoWDbSDqZM2fluAejGhBjzheJ\/vC4jwVVgrqXPLHDApe0B74LXKpKXK8SbrwJWTEIV17S3dA2j4S9V2PtOcH5j1z31bv3\/4XIvd9PminvGZIXIWBIVXOuk1OpRMkLSfaf\/yPkPMxPFR0Zg02S57RXPIGQJ16PYIW6GZljgFgcplcJ2hUc8IufB2oCQb18q6tNcvz3pyZ0aS8Pc6p31cbiyKJxDFERjqlCKRDUhbD4djP\/pNTvwjDWmjhOcurp3AQf1nrQ7yOMkkWvw1k\/Y3MKHhfylx6eHxFraB+cql95463F2993TQpbBW7W5x48Lfw+Btu2ATd0X8ec8TfcoD9IcocvSgPRRUcbuI3DDEss\/Ovq\/G9d9ofbu\/99O7cHIPwi79xcpvC7BeI3ZInDDHsXyth7g8h9CA4lyWbAzeURxBERHn\/8k6o\/UK0vC171EHCxEXzmc9DLf\/kIrB7JBTGMWRzzqKr+RQX3639w5UUHn8YIPykCznAhKVnzxGiTL3cOHV0y0LBMhb9EnLIYuAiIjEEbTXj5efCv3wPN1mIEstoolqzTvmfy7oc+uP2mT+3StheR7GkfYskRTUcm++H9I9vqoXhtm9QDNl4J+5I8KxJ165qSzlBwc\/kaUYVyCWrlY1LQXdXA1DXdfGs8OBeOL62qWgx2NMKUtbvmJMr3QOfwp8sifeqjo\/Me4HwgWJM7qD\/5BnjbG2C2sRgApSaKJWs2b9n9uS9\/+MDnvjKvGj\/j\/Bzv6ABrgXOBNkWYmYGP\/P\/gNZdA5+hKW5EC3unsjVdvOrSsA7wsxrCAjg6LWlQ5QrX0pH8c9U6ewv5f9wM\/\/OvmuvdKKmPRE8W1aW+HC\/vxa2K1d3l4Iu7D2hJxNk3IgQ0iSPQS92ue96E7DjwelNOTiHRuHvm9\/wH\/8VfzQ\/dwAk0xxhgPW5sa3XP9t7\/9Jzfm59JxpryVmljqUZVpBLuQk\/ONrhFeZjlbCmWJA4BVRaMIDk3DF++ANDsS5XXpHrNms3\/iOw\/8mG+5qdw4Pn2Kvoka44J\/pDy3qS9kpDgR8j7\/Wbe4siskmrFCJP95aQZrRuCiLXktuHsNCmqMlc7M3BMH77z3H7PJ6RaYbkX36e7PSICwql18Zzkkp3u8YkRsD0wI7FlwAgB886iyiC5yVvd1I3CiCHbuhS98A1qLHNXu\/HSmZtZMfPvet\/lgOgT\/vPlizOEsQvcajcOI5mLqkYVGOJyiF0RT4yVE+u2t3PwvNz+HIGR5vIQN8PNJYS\/0Fo+Fsf\/xy\/zUp6D4UZk2P898VOgd6IRX12EHwXzPFJgqjJC4eYybybmkl5kKn9UIPwYM+kCtVsF99yHkrz8NH\/hJmO4KfYuIhqA2inq889f7ZuFORL56vKlohzJoEkaSIgdRFsgkabVYPh9YMlqzjy4YmCSGXXvhjz95NLq2yxBpIrsqqVR\/KTJ2MV7gaUcCbK+1yJjjsEZ0AOvz9ddND1MQw1lILkXY7sB5Z8EvvCuvAXejzKBKlCQE4b4\/OmvVh0WOv\/\/0vbz\/opjk9A5pUMEWB+B7BnYdPlQFOhm49Kj7NkCbHL9AUCgW4K774et3HZuCFhRskmyJy+UtkcRH59ifh4Nku\/NYBKyxiCRQqUFvH0hydBtSFNGanPj43GeqX8g32AuvdLZsgF\/URjhn1MrVlP56AviVX+fav8yc3mAPxG+WWdgw4PzKcpCHVMwDUY22LZG4WcTNL05LL4+nSUU\/BFziPFKvwP\/+LFx2Ppy57ggJgoiod2rEbA5B3\/\/+r+164GMik8djhKVrhJ065CjR8+WxlEayuOAQx9BfeOrnpGgILmg4\/kM9AhMTmcPp364Aph4jStg5XOfsGuHJaZieP6oP2McxLssK77r\/sZGrrrrq4PymTVK98aGnvZZhhs0442EeVyhgyAioyW3p0cnhp4egCzl48PD8FAt5ivwp50c1BOdVT2yGIiUveGd4RFNozML01DFpcFSsFVWdra1du7zJlg0wJ1RNSUFuZqt5G5+4G\/jxj\/DeN9qW+X\/sE8llpXrggn7H+oLnvmDZHveT2gqJmwHXWmB0X15BTxEFT3RTbCuNIW21MR\/\/O\/jtXzraw9cFcKj+qLqZfwH+5qnns2Bys\/4kdqDlCX8RtKod0dnyz0gVKs+ZwUmfgRFKn4xAE8kjbGuOIZqwGA2arB91t99+u+NLt\/Ns+JObuTlcxnpvFq1C8xxPg+c2P0RygkE\/i\/98MqprEU88iMriiOPkRL8KcgPbBMY4WcihMcZ0qXnrET\/ojO7c7A+npRn7Z+AzH+X9P2Vm+aCfl5dVetDLe5WNUTAPmkT2JMME20LcDITOIizm8licZtsODIdAXC0T7rwP\/eK34HWX5x52ZPMoWFVtEg+FzL3rZ\/\/6rm\/8qVywc6tiuflmuPlmbrrppiBGmh\/mff7wttEjAhE\/qDX35cGzpsCzY2kWyYHEh1+ha6RFQDClmdRu26Zm35vutDdefLF7pkyMovIR3luRJ6GzFwNTlvawXWf5CJG+5H1NxjxlGXxu1y7Ztm2b2bfyTfbG6595fr7\/s3hMT2bucxkFzYuiz9gDfIj3\/UgE\/z4ivlAjRYY907Xg7\/PIdjGiioibJ3LTXf5UWU6EHnMIbgQGjWBaHewZ65D\/\/4cIqtgjYBzFeQlZaKgmn88K5l5NwvaWMTsVne\/bPzs3\/G8+eXG0r\/37NtgeZ1yQmpiZEbgz5ECfGFB1ucCGuuUlvTwoAcPAOsAbQeeaxO94I1z3VpicwUcWCgk2N0Btj\/7NlHBjs+1mVmmYN9Hc+Ceuuaa9OJf8p1wf74RBxYeUzryV+LdiY\/91S9LgRaSw2sgBC18nkCEYTLcPuLnkSlaOnAVrI1AWIWk0iX7lOuR1V+APzaBJBIUkp+8VwYVwVybyybnA14qwuxgmDi6anxNCrPf+Va\/7v7HYTZm6cKKVyQRcLFGUBv+5j+393Ae3stV+P\/K3yxEwJx+kBfArvKuSYO8D9+bUZG+zRl7v58KWkiusvKQSON0GHlXHjImZjHoIvoEEh1lQgHiBMn1Lydmy5ICsJ4KyohBT3zeO2fYH1M\/egN28Ee2pEVTF9dZJapWKieyPWefelMJ2DfotG\/S7fk3fP8p8615R8w+B8HYxJsEoJQ+rDDQQWigmeNRE4L0uW+DlEXUds0lVepOE5MdfQ7h4C+HABKFUJFJFVFEEr9rK0MGChMvaVr882WjtuyTCHaMKJz9rJEPZ9yHee0ZE9CZUJ4L39xSiaIurePZppi2JGVFhXANeM9QUQTqQq7zKUqicGKDenaNxYL0RkiQh\/NlNZNt3E950DXESYVTxoM0QshRGI9VzUx++\/ni\/TG56+GB2oq9LlAcUGigqJ1zARoMYjIhuB9jMZl2OgF9E48O891xB3hEhF3YKoT+tsi6rydChGN0bRBxOXGhL0zVJQxs9bIb15AoIPod1qvrClD8MOdqyF+hvtakP9lM8fxOycS1h9Qr8xVtyx0VzBJYX9S141Ij5P8n56\/5nz2v+U7F4x84PGSdvd2TGFjDpiPKoUfK+bUFCBn4OQ0owitcQzIIXrUccAn0RLHs5XgapI2zm+kKnXmTh1zE3oU\/NeHXSh+9GeMNAP9BbLmIuOx89cx3ZpeejvTWSoKCKA20he3zB3hT1DfzvZF3\/XZ8QeVJ09xu85UooblLMJm+S9SaWwUO1tDBRcJeGEjSAFhYlYl49Td\/uimEEwOO1c5QQloYcBm6eh6DC97u+RoEzgYIIrlKC112BXng2VCvI2pV5jdwHAqqzIo9NRtH\/LlbLn+7dtPLh8t698zeuXNla7gleNsAnO7TsggKOIKd\/mesHI9Jfd8a8NkrMueVY8HVleyXlMUVnQtBG8CKhLTakGHWg4QSfjxqMiYwP7msW+eWg8owSiSGItQbnlf9orb0qhFMvELFQbzJG0Cgicg7prUOtCpElCJiuoQmqKkGzqJPOrphvzvUQ9hbWnbainPScnq4dUV01JHaojhjDIVUycJn3h\/zc7INzUxN\/O\/AXX49W7ze\/n5oudV8RGIKvKjRZ6NFUSCdPacr6qJ9invqgDShBVf0Ch6QPOTjnKdpSBcQYY6w1J\/Qe5KmOBXl6p04QMhRPOBzeLTBDxccaF2M4lWIh5e7aE4Bq+Qj6eWgA05UoTQBcaA9Pz070z85Nh1anFWLr3bVvIbryEqJKCQ\/46eZgZ65Tt+PzbbNv+qv2wV23JuPje3f6\/TM7p9o6ThmyJpCnwCNioqxjTKK+E+yaixrFbSuIznEmKBaJE2WvTbk\/BLyGvOdIMwjZKZmf4sLzCQHWrID+3ny9ddLDmoqCEDLXzlrtQybNsmrBzq75uXe956brfvR7h0tIJ2hsZavdzPhJ3Yz3M6xLJfW8nIJ+DqCAbWwz+9hna0TtlOy3e4L8j0bbvacdpJp19MIVLr5oqEy0V0QmI0\/qlf0ImQ+HCfHkxCkTat4iz4FH9n7ujuP9ptNHX7tvQZDxVM+lp4tjDgqdlCCCHpyE\/RP5F2QOdR6jgUgRK5L0WDsYomiQQmG9bTzCzCvOgwtXi2xaj\/bUMarUXdAgopkR1Nj51RvXzA+ff\/Wewr\/+86\/J\/sbl3gWlIiIWzgxwr3TxsaFzDOc3p46WURUa7Sf9bAWqIgzHsdSjKO\/47C1DTw0tJHnKVI5w2HtVZlotZltpI5wgjWFVvDe0VNSJdisqQKRHinJ6DKmhA7dO6R0OUnPd\/7UC86I8sBD4ikCWQat5yuoyAZhecGJU4eBUbmxU0Z17iYA+IBGhbmyxtGblanP5JauLZ6zDrxwmvOIipFzCpCkAh0qzzG2IHwu1wm1m7apPfBq+yrP0DVvgT7n+8km4KIWVjuApqJns9RyILTtthaCK0SyPlrPpUzY\/cwvr0hh4fA\/y6K78OYmgzkOWde2wKWLtqh4xDBRjeubnK1vB3HyC8WZLzTAuR8BLfFzP9fEoo\/4Qe04zkfupWsFs8kFfLhVd5eqmut8GORAcU6rMq8O5+Zwf+nmflRpEIhOCu8MYPqxqDM\/AL6wYY0S9Bn5TTPTKF1oiUYCi5p2a4gPWe3RkANPbg5QKmMgiQQnOBS0VNVTKnX4jnRF8vRSKVoYHobeXpJIwUSvTTqIgqllQmqStTicx95fvvqs99M+P\/XCYFFAV0wuuCN\/QBapAyVmK3Nwp2QLVhchbFSkk6IY1T9p8CsTeZ\/Wp2R3rp2b3ixF47eXCay9XXbUCCf4YII24ppe7d8zrp3dlfiIKzqDx9+dcuUyIYu0Zn66u\/erDZyWT8ytcudAIxqQ+hp1VONDN6ZcWCgu+LVFo+7iZVi95cOpd\/S1\/XkZQEUR6lF0mN8BdQmOYHofpiS5D68n1AbU750URfK2So+6LBSgW8vlfPOcanJ1tHChlbk+9UmoPJEnw61fhhwcI552JrFlpiqmzzLR6df\/sKJ1sfxif+1rpvr1f6zy4e+cDM4+HichBsUibiIjiorjGsbKZrloxpz9U8JxmjYzaMuu1ZuJxUSY178dthg4d18hLKadga2r3ORYW1qUxBAGcz9lReuuwekW3bAVe1afeZ9aYqbN\/8Z1joxec97f\/bX3f9LIVWDbAL6g+8eJ\/bWWr3UDlF0TM+7G63hS1HPWI7CnB\/SDTqqSa5Qe\/b50A7uIXRw34cCNjN93XB5SjCFtIiOsViisGsZvWE40MoisGc1FwY3EDvb5jo0ahM98a2Ht\/KH\/umwPmW81EdnRIcTxUhx3GMCOCRfL0XXYIQwBjyGQR3b3m7np0tDz0KYt+B4ALRHJno1KG3\/hXcPHmXAJOFjEHi3gfRX89feGGX\/17K+Oc4kf2UbYOFSlenSLnBuQtNjFbsp7AeAnmIuEAsA+PunwNa0ixmjNK5fMtR0XJ8VGqHSc\/BS2LSEDWqjIgUK6WkTPXo9f+BGHlMFhzmFDKq6oaczBE9uZypfbn\/\/2sFXeHY2rVAvwaP3ZhhO2DZGCO5KfLBfvmdlGkVbS4gmcyUR7F09QA6nJnKaSggYAn4I92vLtqRgsXLKf4KDbdfTgAVFVJjKFy3ib07NNx61YS1oxiVg6TqJKhoSEy0RBzbyeObuubbXyh5CfuPIEoaJaJOJbHc0YedwVY+KC+sxYT9xh0ADiICXcpsjbLrJltB4wVhgpKS6ChCZH6vPboO4tkR+X7E5x7bnpzL5g6zgIJfdp1BHqcyzVNWxHR8AB2eACJLD5z4D2mUsJmjmJ7zg8+9GBPfdf+YmeqSOik6FDg3ijiewqJdtuQshnws4oFVVFQifXJ3om+APctwAzQVKUaR\/iJKfj4\/0HWrURNl8pB8nkxcRzRbG3u\/ewdowTGt23bZhhjQUrmqHHDDTfkJE833HDCnulvj40dBG7+ENd1LHwgOIEpdLVH5vpgr4AjIkpqaCgg2QxBUwUhwcqzkk1w8tm3CkBZoWEt1Z4q5VoFX0hwX\/424cKzsRvWID4QQFtC6kQ0Vs52M3Pr3vqTP3nPzTd3U6EiEHJ6rv9o5S4Utv7kTXbkH27JNGgoz+tZ5Tk\/zCD9pVhpAuNYOhLTodk1wJ6uKosshj\/rCxj6LJDlDAA1EaIQsGecRnjlxejoIJrESGQhzfAh4BTfQXe6EO6OguwsJjrdXygsB27LETBLSp1pjn39BTKxifQfKOiGetArO8rlrYqcWS5QSm2ozRjPHhOkGTJp+w6pZqIoogHV8JIk9dDuoVgBiqokSUxPvYopFiiIkJxxGu7Vl+WH4uoVmEpJPbg5MYfKzYnxFXffO1y8c+cKuXMKJh2uP6\/l7gLaCKJZDqgK6ZKl5lwPnAFkRohaHfjAVnjPm9GZOchcN5OhqBgyDX8Tmei3RMLe1Z0ts2PXiDuVl7yNrTGUTQf5cIHCDW2TespYMwxTBm5dqJ4HB246z+YsoXW7YOZrxrCumDBUq0IxQTatR9\/1Y+hQfy7OgKLOh9BJIcghH+SP1fj\/3Ymi2YJxbZv2pM2D6+Zufpv4fI9fW2zDOwRZr9CrRrZENc45WNGRAwWnPhKZV8tUSJkPab4uQ5YrImlYkpFXqRsBj\/T3UNm8kWR0CHf6WrLTVmJrFWwcYVU1FZluwPYgenek5gvlyH5t3WVn7Rp7DtzZy+PFGwELXTTy0hpj4Rh+6YmuPvFBUh4CPvNvuW5Tvak\/qcgbCqXklWuKwsaSsrcU2BEb9oaU+dDO01auQxTai8LUl4YxjrsG2HTRv2XnMFFEZdUIZqgft2YEpmfRFUMksSUD70OY85Edz1LTCMXCI2FP2o72unWSoASVohV6u32MOTd3lKu5LLGDTsmBOAe6QLThoPSWS8ihKfj7W\/EbVqNrR4m7gG3JEUuXzqv\/2aLyd7OFr3+D41SKOnGXvLn783ZNBXxGUCvzgtTA1KDgoSWATUAreUllCa3VhStph8D9803M9BzlOK\/MVj\/5KUZHh2CgF18tI711IyNDxJEM4sMvqIneVtAwE4Idj+zcdwaH771p69e+tqPvsxNycOwWU6Zxi8UnhugyL1pMO7q57qBasDJfVw7EMC8RxhhUo26tvMVSI8gJ3T05AowgRJMzmMd2o3GE6euhMDqEhICIIMZICL7URLYfFLk1FnPv6rafGFvmHfqBMcAnmaLsxO79bWwTuM2McbubobOvRPyAwPR8y39sPISzp8ryyuB1sNf5nkFrKqLlUpMGbWPsOAU66nELxb\/gj4hmv8ij4M5C3n7tKKXRYRINuFIBu2YlZsUgZqgPOhmSuSDGRP2+PSyV9i65+3EXPTBnSIXMqMw3cmPQ6XaeBhMjptCNNDosVWGCOnmrlTaamPseJZx+GlosHJWZVdBMKWRQKPisNBP1Rad+Dd9mYF1VYTZg5wTTq6LqfI75LUreznX4\/JWoq3u7tBzGDCgZQ1Totrk9+DjF79xPRxUZHcKuXUn0iovQizaTxZGkvfUBY+MB74J2hMdnYbu3YV0mBfqY03hT5cz4odbrAubMNNaNaYkNnUrgYMEzYdE2Rpre0VaHqs8zBLqYEHNpcMSUu07xMLBahFhycHjYuBZ++kcxq1cgjSYExWvQpspMFvinWvD\/6TPXXHDv88ywLhvtF4sBXqALO33Va643Uni719SL8sKK3IsEEWOC+oN9K6befeedd2aLQFnajYYXuiD4A\/7XLPB3C9++se99Q+m8\/e+vm89O26jmzI7hJ7H2db5SplFKdKJo2S8ijwGpcVjfwWRt5EUs\/uDISQpM9++TO\/aSPf4EkTEU909Q8x45awNu\/wTtkQFsrZIUVRIxlOrj25OCtMtyVqkY9je9ZkF2JmJ2CzTEICHFZLOobx\/p6T0FZAbPNf1eJ++7NCIwOoyeuR5ttpDxQ+hgX3dpCalqNofumFfZgbWTGxqdUx3S6xi3uw+z\/o0G+ahAP0aJqsJUWblH4FCXixvfyaO74DnhxEUnIMqrACu7ZY9CJ6N85jqSV12Mq5RwgDlzPaavjoRAR0lbqlPO+elUubup7lNzwXw3RKZZD3au+bW9jepDMxMGe09GaryYc1qWi2upfW3BmdNWRAy4hKQZI\/s8HERwImTYnCaVLhI8hCXjEHZUORRZkrNPp3jaKsyrL4V6FaZnIUkw6ghesdC0hrKx5pp3fum7I17C\/nrwk1MHLh5fSM+fIKa+ZQO8lMb4QlO2mM3W2FdrsM8J9XvybLAhBD85MzNkjteR2ArcBqWh\/a7US9BDmKmdiY4SmfmZuPNpjAwHy8tEFVWnG0BCCMwGpYHSMVHXzIdTyijECUJc9nQXWhSUnlqFwobVJJGFwX6y0SE0c+jsPFEUEaJIMx9C2gzT452LH8p+6JK9tSvnmvUduxm48\/5LL907c\/YlDa+NzMkcETuiGo\/bEqpZPjehc0rIDI531IE13TnwzhFGBtArLkDO20ScucOnlFPVFO4JIfzubc32rdzxmXnGxsKpRPZ\/hHcPWOIqhB0e\/aSTsEEj3jofu0oEutKL1I3hCZS5hd52m0BwS+asNV0DEwMHgSiKGCwXCf092H0HMcMD+HPOoFCr4sQQRIJPosyo8SWvM9VIJvpMXGqKjGRGd\/Rcfv70X33ugnQb1\/omNrFIMqvJ9lZDdVbSUl38vqrl1YWIpFgWpJhQjiy7FFICSJrH42lzScxPgxwU6EUYzBwr7nmYyr0PU\/vcV4lfeRF6+lrCymHSVSPEtaqUhZVY+9ZWlr22gdyaEn3GOvOV8aHbDh4vucZtwNUAXB3GGFuuG7+oUtBBgxpFl4wzpSDHr\/x+Mzf7m\/O\/zndfdGvF3\/3l9KcG+6ms9oS3tAqYeiwXbyhYma84PZgYUYloSkwWQ0wGPgPXXpKgjmeKRqboioAL+CyjZ3ySEBkKgPRUCSuHsQNVSGJsJxWCio1tabA8tbk6vf9M2T3TLOycK8SZDh2qwiM4ac0pLS\/MSNRdGwKaLhkHRRdxEnsgU8X096JvvAou2oKmGaFbZ0MEVVwizA9HNv5g31Dp98fGZk81dqlAreNI6wE\/bLBr0lgvjJGKONGsozJbgFkJNBfm2yTkYriOpVbyiLrp1igySKWMtDvYJw5gmy1MtYzOt7BDA9i+uoiJaBvJWoYEkXNiDcamfjp5fHz\/muv+at2v8+56CzMUoS\/zRq7p0fbmOAqlrGjMZDnwkA3JQWPFo6h4jE+7e7T7WiIVpIU+7ko3I1O0hoEooqoKSUwaQIf6sUP9JLUKTjRMqWaZC3MWHsiQz8+F1r\/882tevvu4nM+VU\/9yQAobNhLSg5IkHf+132Mfv59rsf9gEm+8aAzw7V1VIhPpH\/rg\/sGjGuXt4i\/s5lZBVNNHH70le65ploXWpUUUlxPAxDZ+7tFip\/WlTkd\/Ulryw5VOtLpcQ3sqYmo2Yo8q09oFHC2hetJzORAN5AxYnRTZc4DegR5iMbhVI9hCgvTXMXHeAuGskahUKmRaSqd6ex4ujH\/33sJ3HrnUH+yM1NKMs2ygWYKHI2E2eIJvYzQcbv1giQACPPBEFyzWD5zW7tD7V\/+If2wXes2lhNPXYNIMSTMiIQ7KqwKyec41vvAzX\/7en3uJ71jzub9pjJ2iSHiMP57\/KNeu7ja5taIMKNA2iSl0Sp7ICl4lT0+q62YbTi2r2PGyYKXkZBwVhSQECiMDJBecTdRTI5SLhN4aWixgigUxqnEBYgTfCX63i83DA2lnf98DBxoyPjks2FdkVlZPl9RMlnS+UwqddtGFDIrVEPX2qiEOHZrq6ThPUztkIV0A1YGeOhpOjqMk1AKsCKVKmc6qYcLmjcjKYQp9PYTT1+JrZSRzaBYoWOMy1QNq5ME6NPqlfNoZX\/luee\/snh23vPGNnWfZA2tFzDpC8MaIhdAPcN9JppxcNsAn0Ct\/ZNfnt5PLy\/LSoLeEBVDZAt\/0GGPzW9n6xfVU+41nnZ23a2nDQMdj+pWWEWa1RMcUiEwB\/PySa\/94NmO0EA\/MiNCMI6Yzx+qpWWqP7sSkGb6\/F7e+HxNZrCLW+9ip1DUpnWFPGy6ETYN7ol27yqGpq8o1ql5g2CiZJEyaAllooVm2KDsgS6IdZqH2vU+EuWaLdbPzrLj5Fuynb0e3vh5\/5SVofy+RKlYw1tihzLu3tUVGhfR3Z1\/\/+s8xNnbKoLS\/zSce3Ma2h1vsecRoeIBUx4pTUiy2jNaqyFAF7hXLuC0RSYSGNGcUWyKOj3Ydn\/kuEGum3aHQSanfeR\/ViWmi0SEKa0fRDWsIq0Yw+bwnVdWViZJExmB9qEqtksz99Ms+\/+h\/fvfdtxi5Aw\/\/ev7a3pY1\/fVG9Oo1vrih7PVsEvdyE+nK+UrEodgyF8eMG8u0BFR8npVpz4N3L\/hadN2X7fZll2bm0YNTZN99CHPBWSQXn0O07yBZISYM9qNnrjd4Dc7I7IwQnOrmQqB\/pcodtd7eXcex8SuJiVDUJiaiKZIsm9wXHwrawNYlaGmefwplEd+0bAaboY965A887ouoeRvC2bZFYWWCDFqVXQgHCXixIPERgMeLxAjbbk20jzzcEGtIA9hDM3Dr15BXXEgYHSLEMSSxppENjRCn7vRzH8l++2V\/v2b0U9WBz9\/\/vujxuSt7Z7z29iIrq\/CwDTxqEnxhpEsxOd+NzF7YjbXAABYBVYFBaxk2Bq1VcH11mG\/CzDzRQC8uV+YJeO87yHgQHoiCPvh7r7yidSpR\/B\/hp3vb7PpFQV8Nsikz1G1ddW9FZWcsTImQAolv40NnSWUdWISGXOhzLXUpMEIIdNIUOzGFTM0gkzPo40+ga0bQdWvQYgGvlFswkIp0Cp5NpVZ4aAAeoQviryFvPG9G3xWhWwTWmpphvCfwcKIcNAlzgAsZNutgQqcLDAwveMkoWsRN3QesFMkpRS1UX3YO4VUX49evoTM6hBYSyp0UFWHeyIHJoF\/xot8rw2P7jb3\/3krnidtnZqa44hp3HOnC32v7dCjT4K2kVtEv0K0Fw+3L1neZiGPpjV\/hXZWY+BzgA8A7SsTVtJbR7PfsSgwPq2EGMOoQN4e4JkJgqaegZVFdrkeV0Sii1N+DPX8Teun5hDWjUCkiCmIEFaOZMZm0JnbU\/++XZ0uf27teJhmIW4FGkrG94nk8hlZkyYzBhA6ygIb27RfcKCxoFCUKcWSISiVKhZiB4QHiepXS6hHMqy5GN52OmW2SuUzFStCckfdgrPotjHwmCtn9znPfJ665cPpUUax+iOtWxoQVAbkkE313XDabXMn1dQoSzcbCnkg4EFLamhFC2iWcWBp92HG3xmmBkuaOT2+pSLG\/Bz3nDPzKYVg1glk5gsSRtisl74zJHNoIygNTIp8b9+EhKZp7t\/zJbZOnfeKbFYt4Q9Rqxv5HCsqvNcVHKhrFPXZNq0fMdyUwp4YIQ8s38W5mEWDyhU\/PL9bLKokhqZZIRLCDvZTPP5vhlcMYY3BxhK5dgQwNkhghVQ6mEg6hJo1EdxZE\/qHctv\/3j163+dDySb1MRclLkVGrxePrAvQb2JFa\/btmMb2kVWRkWqQ\/C8hKlB5NaWqGV08mQqZypDquSwv9r4soAuPuwZiWikyXi8yVi1R27aNsLKFcwneqZIN9RKJqrAk+uNbozntOK5n5gjldcJ02lODBKtynFsnr8djORB75LhiAJdCKtGD+nYDxAeYazM4pjek5hgsx5bsfJLrtDvzGdYRLzsdccYHE+fRYL6xOVUebyukFtX9Tj8xucnEfORkPdxuYMQgf4brLI8yVjnBOQM6WhDO0Tv2RKGU+UaYjYR5oB9\/tdfVHxG2XwJqTReWOCAiFiOZpq3BrR0nEUC0kFOMIjSxuvo3r7cUG0QSIBROgFGvYsFa1XU\/d3YOf+IWJufW\/XNdme9AeaF7QNnJlKdJ7I+TS1Jj6ZBw46JQigdTkc6Pqu8QwvsvB+sIj8v2i9iOnAZltoCgDBycZenwPUbGQOyZnrsNUSsQjgwRUgzCgYmptYW8qZryCbo\/7msedkbmKq6Krj3pnGQW9bIAXHzyq5ggABX2hRab3sc+O0rO7zWwDTBYHWRO36bWZVsttK81KxqESjBuhLQlugQTBtxZts5D3Zi4RNPACHaMsMsRJqYDrrR3WBA5JhP\/WPfhSBXPRZuzoALic3v\/RM695tLdvezRS+\/aANg6K2etq52U+Oc3Ct1E6QGYSsoV5WCJ9wLIo+rD5Ac8ahdXWEFlLOlhHt2yES88nWrMCsUfSpx0N7YbIHdPKx2akeMubX3nGoZPZVzkGYRvXD3bopA69T2GPF3qkyMVt67QnQkpRTGwNsz5Fg0fUd0FY7RcqmabK0d0ICrTJiUKKClHqqT6yk8KjuzDrVmH662TtFNNoYVcMCgM1a\/CxBmKBUqpaaiOFTiS7p0Lo+d799w8NHmzO8fd3zp31X7+2fqgTZa3gR7Ikno3rYVWlgBwwoBJRQnG+qfPaVllQP8nR4ZqjsI54hvIUk6WnYC0WgBqwWpVypYS5eAuydiV+3SpssYA9cx1moAdaHZxqyESm5pBvpBI+HRO+eCibfOzvXnmNew5AWnf7Me8sjxePAZanWJvP8N5RbymqcpQY+FOs8aXGZTrFVOhn0BooBuSQoD02knEKoTGVuHpSi0YQVDRIHByxKpmbo+PbXSWaxfucJcdM1O6CQKIDhyh6z0B\/L3Fk0UKCHerHnnsGtlREW03ROJFCIangdcXc0IadzSuHvjnavH1tqbXnXDnQ6uv1QV4TweMF5aG4B2dLXUKOdEmkoI\/VQk67QKzgA4ONFqWBXvS8s+DcTXk7kvdI12AXEEmgOijSE9lGcirW6TQdV6bQgKysMNSJOaccDIkz0k4cQZT54HNeTNP1Fg6nXeSF6McXK1H0TGnXGKWCMCJC6dAc2szQTWfC+WdjayUCirbahHpVfbWSGpHdSbn4aW11vpS2hRWTfmTjn95RKX79iXITW2zRDJLRyHyazWV0fCkuBOvESyCLIjKDIJGIUTAWwSCy0ECpeAIBzX\/vOsii+cs8lVrKCWbAmyHXAZ4zQqXTYfC7D1Gbb1IaGUAHevFzDZwRTLFAAjZW7S0LZ3mlYTDNKF4xd7vqvhc6UGG5BrwkjPHCPvu+Dqetqrb05Xu2JMaYpLeX1uT4no9fedHBvM9oaS2w3+Q9qyYl+vmoyE8ULWskotIpKbvLsJOMQ8GT4rrRcHtJESMsjgIFKKlSLCRUrKXHGqhVKEURdvNG9LLzwFr8iiEiATGGtFhy83HpPntw374N\/\/TZSwr3zvfI\/iyy7ZakJeWrEew5\/FM8pBPg0yVz\/3aRFKMF+rxnhfOU4hhfTNAfegX82KsxfXVwnjQXfPYBDgWVv65G\/NHHrjjn0VN1vR\/h\/RsD4aIINjUjvbAYmVeldT8wW\/EyaSxNEcaDY0YdhNYLIDigXiSyIfjbMPy+BBOLPJliqgSs6DpAPa0Ww\/Mt6OmBD7zF6Nvf4PZ8\/psXTX7t7t+AoGKM+KC4Ttryjea+aLqRWudD4oIrZvSUZ5vlpK9eS1auLUaR4s9dw9xQH84HmlFEFsVeXdbMXDYeN+d3po3OTjc7M2HHJ\/bOPL5vujnrN1owPVm8STCbB4Os6BffE0dBUgMd42gB+0VICQQj+Xy6E9\/XHi0SR+kLgUqtQl+piJ5zBuFVF+PWrUYGeonTPHWeqZKGMGGVrxfQj5k0u200GujsAJoHv5Xd\/La3LffzvtQi4K1stWuI+uZ5eOZG7swkb\/fn\/X2v7blx6tZWN6AQIPzo6PXllft+uSwUqp5ZN9NXndv9bw+k666o1o2jElnfqXbimaGrtzTHQLnhBmFsLNS\/fl9PEPk61pZFDMYkvwz83rbbbrNjp5YA\/0nOhqL8Gu+vRmjRor1zyIeqat7Tbjk7h0bSY9hXgO8IZCRIZHLD62eWJEnHQguSARqS1237QiD01olWDGA2byTatJ5QLOCNIEmEKSTE6kl0Ju3ddeeq5J59p9k9zfLszJyda6tMlDz7rdDo+ksa0q5B8EvK+bDkwLMiUDaG0TUrKK5egTttFbpyiLDlDKJaGdOVyHNC6qApcJe3evPHrjj30VOFP4DbTBtdadArPbyq6GSlJDqoCIcCHCAwYyNSEYKGboQXndJsw0JPOUI7oJOSZ\/fD4j5XyHtdq0DVOaK3vB7\/b95Ne9NppPfsMn5q0nUOHprL5hqEEIJL01an1R7XLGu5jmvaLJ1fGYIbUPGR6+wyPbE3PYR4WHqjUm2g6DHV6U5vBL2uv5zMxcXOLIUn5mL\/RMsUdnVkfn9qihOlhtktlenpvomD06UQJXXHvqJGD2RiNzRNtKkW9KwkoZzFCQnKEDAjgVnbpfoUOeEGOFtEDztpDIPe0wqB6t5xkn\/6InrpBZiz1tOoVYiiCImMWmP7Fbl8SnS2XUzW7GRuvEdlT3315geAyWc8y2+6yW4eGpLbXuSG8mpg7Oqr\/YkOzpaiAZbVrE4ipl89yPmX\/Qbnrvt8f\/idR0fswH2t1jsvHPjJxHdaa+b2p3\/0+Kg88K3swE+sHf69i1Zyyfqe6c0Hqpn95CNnFB5rZ+H1G9VcFBO30ij8xZjI3y+UZmRsbKGK1A7OJcE59IU1useE+6K\/yrWVgB1V9HKBoTT2U5owklUCczXhkBVKPhDU56QIbi43wkuIC\/mpDLEBojTL02279hI\/9DiF2XmCKtpXh5XDmDjGWoMLIWTeOtMzvF\/tzP7Cnva50YwbSRLRXmMkMcoTvsOEX0BA+yXVEgN5\/8oCCeFICKw6cIgwNYd86x7May5HXnYuot11KSJlJUlFVWC6Eth\/hP0lL6s8qfZygg6EMcbCf+MX4\/3MT4DtKKFhjKhLwt6spMMmjiNBUJRYA7Hv4EIbH9wpXXOC2KAeI+YNVuwb8qZWezgHsgD2qwN1EXpsQu8d9xL\/+xtJLj6HbLCXcP5ZjLzzzfCOH6ET1LeNPNEqFr6e9NdvuXSo+i+\/FJnpR4I+yY+76Zu\/VNrJxIpZGmszeFPAbuhIdnaw\/vRSXc5KitHZh6xgBWYEWuJQMtqlhLZ6JrSNEvC5lrcKiFGQDofLD0e1DZwEERbTdQb7gSGgt9khxDGm0YKNp6HVMmZiiqhcAhvIxGrHyIHZoLceELmt7dkfRKZXFMIurdr5Z\/t5L5UI+fYflAj4Jraat\/F7rQ9xbSGi8Esd0uarZ+xf3tUTrsri2o8baVbmbIO47D5fbdviobj9jpV2x+kVXkeSrDwrZO3G6vsrD3Re4d4eG1ZHqsHB1Lu\/fPdBNTz8wc98ZgboNDttU4wKvXG5YuJKhc70TJElREDyn\/nE\/l\/iPbaEfTygj+Hl3NgZUa+knUCtYJgRwzwBVXJFIOjyIOuS5YXuB\/qMIEGJ+ntwr7iI2QvOojDYhwz2IYWEEFnStieIdZkmMxJX99alXeVMk1TKsbIjk6QJab\/QNoX83qPebg\/wTFcbWJZMBFwARoFhgXazTandwVz1cvSVFxMAr0osub5QJvi2slvgCRU2vO9L35n7uMjBbuFT5SRlnDazWSfZIUo4YIi\/YGCuqfqAaekWYxkaqDpc5KkhNI1h0hYRMWAW0s++CwAMpwiBFVTVh2P7fxeyLdMKplKiag0TfVWIBSuewpohovlZ5qeDeGOMWmtEdXXZz1zld4zPfSWE5Kc\/8+1mYvRgmJzeXh2fnDl4+33p5pvv52uM9ybYsjHFlR6Z9JFeFkeFFa7i0lZRI4nR2MABgmpwOO80qEOCFyRgVEUCRIexWN1rl1NXGNRuBBy6wYirFElGBtEfegXhknMIKwYhyzBp1p3QkAns6jX6nR7Vr\/ztF\/\/+UcbGwkPPllHZts2MjY2FD9x+z4fiWvXcrDkXUMyLVM4txNWayRpz\/+3PX3XenVtvusmeKMdiyRngmw9fmNklCCJSMl7+7r0tk0qPT+5wNnTiHi0NF39juN12nZBFTRU9xD9qtW+PaLr+Ded9vX7V7Lm1ovQkKs6LEXk71r7KB31wqrr6ofd\/+b6vFhP5QrPjXu2a84kkkfHBPQRww9VX+7ElMhe\/x\/\/cs43rp1I6BYKcEZyOxk1TGrAiNoGWUeYxtE2US58d5p9duhHwOHBQc6NUTDN4eAfl3ftYNdBLVKtAmhFOPw152QUkhSgph9aauptaU7z0dNzZdcLnH2OWae6bUZ5wgQjB+kaOgPbtJXf\/C+jvgyJM+cDgikF6V43QM9SHbt+NttroxrW4SpkoBEC0KDLk0B\/zynCCia7\/9rc\/f+Mll2TXfeWBWlLtLc0fOEB1ZAQzdaj5x9ecM\/98e39XQ9Jk+xaLHQZ7fsfo68Qy2ipmq30s1WYJ9keeOaCFoR0CXgNCyAUZ1L0QmQcBscc2MS9Y5LbAgUaLeRHKjSeoPP4E8cwcrUd3kpRLRD1VdKAP+noiW69VpViqith3t2P7ytlE95aM7LIjQ4\/4kYH7+177iu+M\/8tv+p6Z5sqAeY0E1vhYR0Ok613i4qnEmWlBUmOZ1UBQLxoCKoa8PO3zaDYEVJYGIc48EBshabYx802iex5G4giZXkkYGUCsRRQiNA4im7zKm2KJ9lz3unfs+4sbbpjnWbIv92\/Z0kW+hrdVh4Yvac8kiLW8GIc6T7G3l0Pz8\/8M3Dk+NCQv2Qj4Zm72ioogt3+Ya\/801vhnM7wfnCNJaqoXSGS+ojGOsppiiMqtA2SayW52SRIeZzCyYu8erQzf8kP4n76cUCggqknk\/LoY1vmgbwghvHq+E3pnNfvUUHl05r+fu6p5lPOZp\/xeqIZaAXQb26IWj67o0BlRRAXuxbO24\/y5nSzYNBXKRUsvlgljyRAEA76xpNSAnoqa0Xal+UyzRfmBx5AkZmqgl2hkkJ5ykULpAJ2HH8GUisRrV9GprFXvZrQ47mV6pZe72w3Sh\/dSnJyFkKILjExL0PlwwCxd8FkIyIEJookp5Nv3YtasgKtehvb3IvUqEgKREHdU66lI5qDXBlOrzRULOR7G\/ZZIel2hZNoiWTE14b8C\/3bbFzUau0a+nxKK3sRW+21KGwT7RoFLBc6LIurtGvVG2bInVp00RloY8B0ybWNCilkA+h02vLKkQC1loFeEOlApFZFigpmeg6F+6KliB\/tQhNBuq4uMT5PCrBr7WCPoPTPCnozQLEB71EizMt\/O\/mTmT2Z\/met3Gjr\/AlGSiK7YWeDhkUje3evjUlXVZEjBJ8rj3nFAPZE6nJg8xPVLJxMbd7My5RColUqgAX3ocThrA6a3nme\/NT+FMwQHLjXmex31d\/7dK7fMPTe0utzdOHig0pmfDyIvzghYA8FnHQPhIMDw1VfrS9YA52AQ0Q\/znitjkhUeH0CNb4nONJD9FcWo4kFUjWpUE8kmyUjYiTBHoJSNa8\/nbpG6P4ieuYa0XKZz9npNkkSTtCOKnuORGxLidzSah7727i\/f\/dl6kjwwvvPe6ZtFXuidotu4tjjPziss8Y8q8jaEwahoC7O1wN4S7IiUORGcenxoYX07Z8NagjXQxQvNdtGX5QXJuN46hcE+CiMDxOUiZqAP21eHconYBzAWjYImflpk\/ID4HbNUJmCjV+6mW6NTlwNW1C\/JyLfUdTpqxtA3UKNWTIgqZXTLRvTcMwmrRrB99ZysQ4Q0aDZv2JmpfjfFfLoUpV+1w7UsR+f5kjG2opAYY2OEwvPba9cW78JeLoT1QMOLulAwq2arLp0peXwSUbBWQnDY4Aia5Uo\/vs0xLX5Lat4VCKp04phmqUCUOQobTyOcdyZ242mYnirYGAoJiAQDaWxM04vO90KjpOzqBH0sLdud28vmiU+dc3oK8F+4sSuecm2xmdonTkulJyLcEaDm4ELpkaHJXqPFuCyDEtEGpkOKZDNdSkrX7VCQF7QkUgNWA1UEXy4SrrkMOX8TbDwNUy6i3hOcJ3QybfswkXr5hySWf6oauPaLd6zIolKnWko7N158cevpouCFFO2fv+rc63mpjO69nkgbseQM8P3cLwLhI5j3Vym9eYpZh0gUrYGDBbg75IeaiIF0WsimQCyK0kYZBxIxsjc0qX\/jOwyPT9Az1E9137hkZ58u6dpRbBQThbCSzA3h3dkazOtnO+6B8orNX3n3bfd8JWnLgXp9tvXEE0+kN2\/dGp7uQXDC63B9hYNMmQ5ZXCaZM5hvpsZNZkbeRaKbgg1aNCLrpcATwEHtYNXnjYQ+7YqjL83usoUJaylkkSUuFSgUCxSN0AiBso0oGIMaQ1wpIatGcHGCaWVStB5bEHSNJdl5kIEnZikjHEwiYlfBakCzqSWlEqXkAKwOEDRXgjJG8MZQ8Z6k0cJMTKG9ddJyMUd9G0MsYhJVcbC\/jJ9ru6SnMzubAh3EBA0BEbyGEOvzyNBsY5vpsL0CZqdgdwfc4MGyOfBAJdzR7+XCoYZ9eamjozVx8erI0UqUx03MDIa2LUAkORFHlnWR50sn47DAAR05R9wR4p4aycQk+sVv4nfuRc4+HbtmFBNFpNWy+FJRUlSaEKkYCeJDZOPG2WpmBm\/+WzfWFU4R0I9y7Vme+DKD26DIa5slOdfUqB4oZDQiw7gxMh0cqbZz1qnQ6ZaHWBIZGtfVSe4ARWOwaUb83QcpVUqUxw+B82RRhPTWsQMDEpeKJbHxhS3VoQyZzmzxEaPyvdqcvXcb7Bp7tjW43DP8oktBh\/xwGP83M8wNx8Svz8hCNi9mNIIrBL4DGFXUFsAnoA7NUyVkdFGn8y1mZ5vs2zNOKQTqxtA7OsTAeWdizz4DP9Sv0luLGegbTSI7SvAv8+p+PMAjnZI8doj6lyvrzv4HRHY\/paO90B5wglLVpzNY79Duq1CxTVxhX1XKncSNig+rrOr2fjWjSebrJetpi2FAIjJg2kSojcAbSFtLVit4AQFdFig4R2gptreGjSPKQSnMzUMxwSYxBouxET6y2oiTEAZ6fKFa0XJrZ+T7E1s9VOL8eTjQsexznhkTY0yyKPW+dDSBLVAXWO8cAxNTkDnC6BBsWoeesY5CEkPm0CQGETLVZhC5a0bNrVOh\/ZAmnQPnb6\/P558nQVWDKgt\/Po8b3ZFYCvUWWWLw2f6iMfNF2NTJ6sUOa6LEFFCsiTOdi0T2mIgGSiaSt72RHiaYWGqj1T0HSoBxPu8Qr1YonLWB0hmnEVaN4IoJIY6xIlI1knSUSAydoAErdqCUZb3Tj+3LBsfgJrbaG+kz\/4bGoCLnZvi1KtKLEGVWtYnT+YCkImAUCSZv0VqAhi1kapbISLqZqJ4QiFodSnFEad84brqIq1Wxa1YQDfaS9JZpR1HcDFqbRD3ITivhgU6U3LtuvrDvORDEvFQ0B\/QlT8Sxla32Zm72H+a9b4qJ\/9qJK6EYKUO2Ar5gjgi8K9olXmgfdSuHWTu66bEgMKDQmzn62h0qlRLm0vPgsguQS89T7atjQkA1Z4nLWu2g8+ndZs7\/Hc7c1uwNBygUiBPJCH72k1eeP3Ui+\/O2stWSp4WSMoUVEcmaWRuqTvVMa83rsqLf0LJhfUhCIRTgQKzMiGEWQ0pAyUACZK28eX+JjrAoNWusIU4SkqE+ekpFCllGXCpSHBnEXLAFrZWhVMIM9OGNeBGf9mTjWj+wtyz7Zyl8Zx9+R4ftqnyvldLMMkxIIZvt0iPKkhGGr3X1V2tB6V0xSOWCs9ALz4bTVmH66kipiHEOnzp80HlBtovVO7z6L3ljHywa7Ygr7c9sU8qFvlpwrWCikmlN7Z\/+y9ddeigvMn5\/kYaC\/CrvGpouFOopYd1oyk9ERreKNUOdxKE9sKcIjyBMLHyHthDfwi5kXZAll4pecH5iVRLv6UUYqZWpDfYRRofpbNlIOOcMCqtXEKviVbUBcx2RQ6B3lqulP\/7kZWd\/kc7RhvP\/5f1XB8xPprjrCzaOdcAzVfbsiGG7CtMaiHwTfAt5YcBpzzoKQE83Dd3vHL5URF\/\/StzrXoGpV4nKRTSKcFlGS3XSC1+cE\/uXX2vJV+Zee\/bkclT7Eo6AN7NZAQwynOtpaxAE6YEsJt8P0oXz+Aa41pP65XQxWyxgNGeyn4ojdsQRtpBgDs2Q3P4tivc8LIWhfgbiiEJ\/j8blCqbUI4ysvFD6Kud4438ujsO0CcGL920T5KFrb7nr01IIdzY02TfX2pWtHR4Ooxf\/kx+TMf1+vKS1FNYKtifG9nWQ0UMxF6bFcCkmXFxIQrlT9DRsxqSJOCjCnIILDqMeQwauWwNVXZI0lAvPJF60+WvtlEKrTSlNiVYM4VePoMMD2OEBbMgw8\/N0ignzLpv3QbP65HShdHCyKAdTZU9HGrs9s23P3khxISBYkARMoQvIWhriAAukB2VVmgJ+YhJ31wNED+2guHYFnLEOv2Iwz+isGsX01SsOzkxVerxEm5peH0xEvjESpV\/+qysueJQcSP5k7pbvc\/wa11Utbmiw44ZK2NGdRd3fLnJrQ7LLmiVd246xdR+zDk+\/yeiowwdHwwfmMGBt\/uNDWDL84yxiXusVYdhaKj5QtBbqVWSoj0JPDR0ZwKoepoV0hul5H76YEP5u9D\/+\/aGP+K2XY5MerwxFxgxO93Rad8WzZetMr83Y28Inth0NRSaJUqtECFUT4ZM6LiTQnlpo5VkSc6Pdvbeh+6eokp27CXnt5WhfHdtXR3prhHYHSTNS1ckZzG2q\/lOrrHnwneXYpv\/w1ercTTc1b966Nbx0tfSEU5VKW2oGWG7gBj3I\/VWF1yp5kk2j3K4cCNCRPJWpCwjM42xW165BViBrtdH7H6UdAnM+X0d7VSmUSzJQLlIYHqB\/\/RoKZ5+ZFM9av5JaaaWvVRCJ8CF7GcXoR1T08YLl0diu3tuYlvse\/\/xbv3n9t9\/0wI2XXJJt27btiMjDDTfoM4gBcwM3SMajbaAnQ4NIODcYuTzy5lxnQxEjOmcsU8bIjCiZgqgjClk30gvHqACxJPt\/K11yhJpCT2QoDg0jo0O4jWuRi7cQ1arYyBL66rSLBZf6MNdGHjjQ23v7lr\/8l9Urb3vwEn18ao3OabVc8eyveO4ygek2BLGIb4JbiH7NkkNChwVkbuoozjeo9tXxxSI+yzC1CmZ0iDiOyAyaKp0GOq3woBf5p+8F\/equV50zjapsA+GGG+CGG56PgIh8iOuqhsgEXCjRemS2Xt834xozQaNmqWVLdbWvko7YRuSROJCVhdR6pgmQlHFU8syTUYhtXv5otZbEGrTkZBMlYECVeq1CsVzK22te\/0r05edBuYjNHGQOVPFB09jp7prK3VEc79Erz7GNUmFGdk42\/OMzq8sHZl5RTZML6r5yuq1YDvS2mJEO4xrCdOiEpstMEtq54RdFgn9SILAUzMoc8N1uVqbPGKqZo7JnnEJvDd07Ttg\/ge+rE5XLFITKCOFSJ6yeCekb8O2HCr3F20j4BiItlsdLLwW9jW3RGGP+I7z3j4oU\/1WLtieSKF4D+yK4VfNISkWgcygXX\/9+GGNEnqRLEoKiIWCcp9hJKSeRDvX1EK8Y1Oiic4g3rSfZslFKIYiPYjQLZM0UETturN6fJnw3U+as0izE5gGD++rHr7zo4PE8gZ8rXbui0pSaYPvmY96C1UuTKFwWClr0CUwUAtNGGUeZDhlmoe83dJYs8vmpjPAAUKyUKa5ZQf2sDZgz1+FLBdzalUhPjYL3eO99W8xBaU49PvrNr5ai7+xr+281rd3vNkhJBu4eaeuMQYwWmEeYDy43vKF9hJt4iUT9BaC3e+ANAoVqmbB+NZy3CbniQkxPDawhFAo47wOZy1L08bkg\/5ARPrU29ttlvtO2g0l76uLtnZvl+RMAKCq\/zgeGW7RNTEGacRgwcGkWh1XqQz0Wc5qJuMQV\/WlThUyzOJKpKGJGhQkJUDSIppjmLLRbRxayMUuqUFfqGmKJIwq1KtEZp9G7fhXFWoW4t46tlclGhjBRhFobIms7as1U27Aba7aHxH7TFuzdPedsvOtGkZkP875XWuQtWF6vCZtsLbKdquGJyLFTHYdChvNtgm8SQobVxZhIWVLZqGjBKe6kjKQZfSuHMVs2ouedhb\/gLHSon1gEYwzBGJo+m3Mafbtmy\/9nVbbqUy+fZyKZeXHFwAsH8RBwG3BwfNGbB8eZ\/co+7WyKss03bXHHKOTJyYqGZQkyYdm3cbP\/KO97W4HC37bpeAVr10CnBP8ccpBFJAbNZiE9tLgf\/wQgzXPoRDCCBkV9IPGeovdUykUGRoeIhgfVrFqh8elrKJ53ton6amgUIQGCcxC0qWl4IGv4L1vCAcFPCWFnO2VncM2Gm5rPWl96uHHp\/\/omRaL+Wcr1uWqoRSHrLaXtLXPWvtNGcl7beNKCoVWNeCIS9oqiohgNuePhlh73MU8D+lhQzRgAVoaADQEZ6s\/l+DafTlSt4FaN4AsxLo7UGOuNa40Xdzy0t+9z3zstumeu38w5myWeXQI7A0wgeQ9wOrFkEeC2e\/8L6b+h4X5MT524XiG8\/DwKfXVMFJHVa2CNunrNxXF8MIj5ykTE7R1kqqJusiQ8Xm2x569ef0HjxLT6PVrtoFaxtVZshhDzGlHWeMJ5rsArXS2Y+dhxKFJSMRxSwYcOOZVTLnzhvcO5LDe8RvJo0ocl9QhKQJ8q1aAUKiXi3hrxYD\/JUB+mXMKfvQHtrSNrRzGFAp0Q2nOwc55wt8LDNY3uXBP0jqFrzhkf6\/J8XM\/1cS\/tMzsl88qkwFlRJK8hYn0rMtWp2DErjgOaMeU7ZJprJ+dOoS65fVkSoShQrlZgeADWr0Zfdg56+hok5BypmmaERjv4qdm27jo06Q7MHwipdhB9URngmBJCQkAYpF8L1f5g6kkwQVUjIdpYng+r4nFXD3PWGI2U1BK2G2Nv+YtXbNn5A1EDfhs3+61stb\/Nx2\/6Na49o0jhN1My7yexpRVwtcCtXfo+sWWwjRNKPbhQDzJe80+0QrAx85Iw7z37d+yFPeMid90vyWAf5X+8FRtFmpRLFFetpLhuNVFcKBfK9YvtUN\/FUi9hTeKQaLZc0kP4eLZYLDTNGze1Jtb5FebB8dP9wXbcbLR9o616KBQL4zY1rZCqCYh43+3Ly884tQZ81m07ckseYCgLQgRAJSiDlSLJmeuxRvA9NbKXn4tZMwpJTKzgNHQaYqZSeNz45M54qu8JbQzHlUw3liem3xo7qa7qd1opqxySiN0mYaq4EuObXUGK1pJCQRugDxgUSFyg1GxTWLca199DiCPCymFMElOKLB3Et8vJxLzKg1Z5oC36yE4rj5vMNXrr0exPfP78E5L228GOZAWVXkh7LLLRq4y04lBKrB+WhELHht0dCaOiJFGImDcBSyATgzOaOztps3uDXcGAJeoDZsCkCMHAsHNE1Qp+w2pk41pkwxqsgrcGF0UkwWuCSF0QkEOzotvjkE40oP3HOTmOmWZHvUT2w0J0drmlo9rSgWAYmqi6wqGSoykGlyS0TYI3JVSzbq96s5udWTpdCinQUc3b5KZm85ayAxPI1+\/qgrc138JBEe8tIVQkaMVYs0aM8GJBYsnhvWi6ZQmhZgqUpYCqouechb7jzdi1JTCBoEqmgYb3BxORm+pZ5wvHfNRLW4xhM5t1G++sZ5iRXEFTRRpCmIdGL4jr4k5MBHEvdA6cFEOki36zCwCnJD5SS953kOk9IWfOCgGN7kGsQLGgUbVCHMdIpUxULEWyZlW\/qZb6pVygnMRYdXQ6geaKMu60fvxsk86uQzDbRrIEmevg263cyKrLmWmexMS39I1v0o18E6BiJEevN5qk526C8zcRnbYKUSUYg7dWgSwJ7GtHfEND+uiZd9x5VfWePZeHvdmoqEQ6rEwUVe5RoQE4VYyb69Z+l86RsIDCHejWvpOgFCslZMtG3HmbCFvOQK3BVspIvYJznqbIoSyE72YavumMvfUKmfnuV6945RzALuB7J+jaPsEn2tu4drxFHAKd+1RsX6pmvaA9kdIJwp4Cpj6d+MRrqoJKVQ1GlWnvMEahUs1rvmnnyDp8Sqn5F5bxyXRf3hgCQuHx3bBzTy5Gby063I8VwfTWsGIk5FWDvkglzFgejzXevaq1qwXoPvZFA7BFkVHQs7zhR2qVSnmqp02jaGkbywEVpnwGbp4odJDgOKZlccnt0QjyrEajtaheLU\/Ok3bxBuq9osf9qJ+jd3ZyJkmBKsoGYEBAwhz+wrOQH301um4l0gsa2uBURASHHOwY\/m+qeuOZX\/yHxxbpzsuJBEFGS7ANyYwx5n+dazdYol\/MxKmoiPaC9MD9DloCBQQNWZ6CPgWgm6cCVEgSd8+c3Bs8bCRTJ\/7gFE4D5HVl5c67QUS1+7V5Z7\/BGCMUEsQaDAouk2PUbo4xtrLkU86Lr990ay41VUr1CsnoMLpxLbJyGC0VMd5jRAittmqp5DrGTmaqD7nMPbR7Zd\/D4x96x7evue7P31k0U2+n44fCJLKuNxYpwz0o0yIQVcAFcI0lQ0e58JQmgViEJATKxQJxsUColME5wprV2KCYNCPk6dISUKiK7reFsHffVDVsVbUng51tjE+0t7Ftb4ddL6tnelp\/FmYaxqx3CVt8nxk4VO4wR9BMrKQIHZ+RaoZFwAe0k+XoXlm6jqDrZl76FArWUK2WKfXX8WtG0eEB3IbVmNFhrHOo96hCW7WVYe6r23DL3VecdztAtu2L0Va2JjdyY\/orvOvuMja0oOXU75hqz55jvVw6VNd+U1KKNmbARExKjXktdmlSuziNEJZuc6uSlxKe6VmqHjmE5LkiQF6QNtujrqCB8DBwrgg1FeSJQ3DfdsJ5m7Eq+dlhc3RsJJQHgvQWrKZjY2MBIzmjzgk+W5YsF\/QH+eADZea\/nmh0eUoW6IgYhbWy0Iehee1X7AtHQ9hNvS3EpoeXjzGIMYdLknK09Tx6sSmgHnXdM\/ZZAWUvnhY8B7QXAHMiFGYa4A9gLtyMloswPEColbHeayRGDMTqfdEYc6A6n9532zkbv\/5L9Z\/9qaG5+INtDB6QxDNXVL6hMCeQIBg0ZxxaQrCGBWGACJhVxUSWzqEpyvc+Qq1SwsYRxBHtnhqmVKSgSkGkjuo5Hcyk67A6KduH+r5671e3qT7+HEgPeC6sc5sp72zBZzLM5RY2tSKaDaetSjvqp0B5BsH4jJqCxzCnHVzwOC+IkZzOMWhe\/11idnhBicoIlL0ntDvMDPVj16\/OmbBqVXyrTRYUYwSjoCIzHn2wk\/nknbd991Xl7ePtwnfumahE1R\/\/t+7978kkjLRt6A1ltTP10Lo7TrO2sTUVwfkU4+axagnqUEJu1OJCt2SULv1Ne+IR26o5C8mzrQ4V1JxQQM8x+3EAWAdUQ8AXC7BhNYwM5ueH84djW5+3Du5D9bP24R17tnFVRLgduAq+eBs5hIuj1ILHrhbP95GVP5lbRrZxlc2ljLvjqvzSu7eS38jtx4ImSvYWWv5DrH9rmeLftGh7EGt6oDOk4TOaJxutdCPgzkReYzlOL1yOtAguD04u4UYJGFIw3jNgDNXIQqkA\/b1kb3kd8YbVyGA\/EkfMO+8Owq4IviPoZ3F8ecWrz9u5ov9nCzKVftxiT3OEGgO6MRoWecDD9gAGoRFSss5+5HAftCwJ1Ld006ACiA8kAj31KqNJTDLYh++r4152HnLxZuJSCUVDqnTaudj8dEnMlxOf\/dH6Ky\/49skwwAvjF\/nFQoXp0yBaGyGDO4r6DkpySTHSIokrdSItNyxMa8pc8Myh5FIMLnezvFtSPcALB1ul+yqEQM1ayqetJBroxfTW4ZwzMKUCVMpQqxAG+7Rjo1YIur9t+O78fONxG5nd62\/73mztb7932vye+XMT9atjo1u0KuU9dceciWhgmQ6ehrpck9o3UM3nQ0SOTunKD9Kxo96YyHrvvhRF8t7Mhdjap+Ys9d7YODJZ5nhjZOwfBnX+ZBjisMBFoIrGEaxdmV\/pfPOoE0MEhtOstbHRHM9cyCRzwhUXwL9+Dxh7VB0\/iARH+Eps4v+y5oqz73+u+\/RkRsA6xu3uKAv71H99qsCJ\/8Ltf\/vv+Jl31Sn+aErmFWzVWnOxGvN1AYugYvI6MMd\/6Kp6dInSNb5URn\/34BtEGYkiTF8N19eDu\/IS9NWX5QxF5WIOdvAhNL3f3TTyf\/YH\/+kdxej+5qFkih8+I+3WnNrAWz7Me3\/aIG\/XQ7LBt7DnFmFFTXk0VtomISuO5qk+33nBgVgLbR7Rgji8CCtWDFIrFghD\/dBXI6wYJBroI1k7iq+U1XmvCs5Dq6XcN4ne1o\/7l5W2+MDYSb6Zfvoz2L+jRU+zQ3bNaW2xrq2HKLDWl41M15T9KDO2RMcqIbh8jnWBYMJ044alE\/na7kEyDySlImm5RLGQEAb7sGefDgO9+NUrsJFBje2Wf1wIYnwxiLTq1QeZa+wq3LnnYtPJfqgeOFe8KZZ6IjtRCcwh7FFHpkInpHjfQIJDjMUoyIKtEfmB7nIVaDy863OPH89Xrxt9\/RMn03leWBOZSL7THtyer99j2ucMsF+kFGx02hlGMEMD6Bnr0ck5wqrhHA\/ULTL5EAjOldT7x5747Nf3ApNdNT19QQzwTWy1W7kp\/DrXDRrM+wNq1KiEFZDU4HMO9gORMXkrTedg9zLCUVFqaqT9+eYBhl2JDKeilv6mvWVFsfQtE3zkggRMBLYA2fSz1xkUEdGgyFuNmLNVQ1hyjA0vgaZy0zVAZSALyt5STPmScymevQE5bSWdoIQ4Is48kQgeaaTodxPC9pdFsVwlIW6WYvkfItzANtNm+2qI\/iQheiMImckggu\/W4N7Y0EHyKFM1NwpLgAVLyMnuF2BhDVWYmWNuehY5NEXx8gupXXwOplYhTR3pXENsqSAFI0kSqBkjoajSQcOalmT+3bd+8+G\/hEOc8J77qyIYLnbYvlIpv9nizjGYNe0knJOVqEyVQvlgAeYiwyyKC45Mc1Uk8e38RoNbcuvQdw\/aqJuF6ahSaLawu\/dhpmaRfQdh80ZM5iCOkME+TGQlKRVLaqQ3KLXYh8FOqfjEo2+68I4NA4\/eV\/vy40EPzp0zL+7KzLGyV6VWsYVRjEumwXQkIjVKGnK2sPQlRYH8fJzRhZraVRHc\/jRe2lUWbndiQnyyjuTFFIUi5CWToEgSHwWryivBQsEIfXn6XLJDkyr\/cCtaLaErB6Hd6aL\/wSG0YToWv9sWRpvPVYAiOhltRCB8lPcNBfSGIoWCBk\/cEFwdqrYrCi0WjW0XOOO7\/smRUUTYU0l5nEYeUZiY+axz88QjX\/yL53N9p6983elizNmqXpc3yMlTAWqr0lctY40h2nMAu3KIsP0J4oOT6OoV2IFerDGYEEAoHhCbTKDa34Lk6nXZr9nrXh373a8Voosjsa\/ziQtzdae7y2pnizFPBPDBUVRHCFnuhGn4\/khZTqIzsqAX6NodqoUEESG643tQiPEbT8NGlmR0GLNyGEXIRH2m2jODrnAiEz0O1hRLJyVlM8+aQkxhBeiAEh6bi2W4bTg9FLTTKVCT2LieKEQeR1ClGTKMprTVd0+x7p+qS7b1pAPQSZlTRUcGGD5rA3G9ghvqJ9TKhLUru2hphUAwghHVkR5hXQh89aaff9Md\/IIsAAz+6Yr2dX94AWHrKmRrFvtiMTIDcaUYT9etPGKFaTVk6hF1qKb5HLl0SToqJ\/kJ2BA8iF6xYdVr7xLFwGufbqGIymuDoL0hx\/PYk0GIswmoiuCyDFkzCv\/6WrQQQ5ohRnJra0Qy56fjiamPDX3z3v\/buGf3bDiwW7j8HPjxa2C6gV+ImAXaqjqt0cHPvuqc\/d8PK110InV8xxgLH+G6H4uxH3W4iw0mzuKUZh2+U4GDvkuioUoI83nfprqjol\/tJi4cgUAIEWI0gFGhEiSZeN5EG9hlM8lJ5TYtAGWE2vQcEllCo4mrVeCHryROM8QHvPe0VH0qcqAs3NpfjP7yU5ecdQjQX+FdFUN0DpgNoFucCUgdmetV00CY9rnLZkJK8M0jSjNilljjf95+1dMlPGgglCslwsoRwsggOjJAqJSgXMKpqlftpHAwwL4e2D8L29vYiSiO\/cmAv\/8uf9UAHv0o70siuLiWMVQ1MitiTTMK0XjByxxKCyETT9tEOeBqATZrotzp8dmSjPYWwB5ehIIx9DbamHsexhcT9MAhpHM2tlxC+ntyLKWIeIgbMB9ge28xOnQV+Lfwi4X9zF3p0BUJerFBXuULbEmTUNifBGZqhv02YioEHAHVgFkohWh4UQEnT3j8i6mJmAuebXnIAkebhpPGyf4IsArYiOAqZWT\/OOHl50O9gkmznIUJIaAFt2n9VY3XXPrI6nPXf2xMxPHxL8LHf3PpMmEt6GV+iPdeVCBZl5LOKRqKKy27BuB\/O+jxUAWca0D7ADgHUfFI7l3FpgZ3\/mz91SvS0vWeMIBBzIjSiYzcE8xDsxLtEhFLZ1JxM90a8HEVfwXBg5wnIiOqqss5ohM7asDK7p9lY9DT16IXnIXtraMvOwfKJVQVsQaPZDMqDzQMN5WNflYyP9FL2m4OVSb7zvl9HcD3K9SU8O8kljdIicF2MWDqIo8rPCpKw3dy4+tml6QMY2VBeEKVYqlIOOM0zJaNyMoRis7l8zA0gCYJoVpzmkSzLRvtaloeK1getxoeM9Y+1J\/waGI6+2+85JLsxDnMP1dt0xhUtGKRFdORudjHOtyIfG+rEC4ZLNjz5mNHaoOkNqbtlD2hRUM91nZTz2lryTk9i4U\/ertGuAwMxxHVgT5CX510wxr06pcTbVhNlGakxjCXdzPMgHyjid74QI9+8bz3\/Z\/Oljt3DFvY4jClQKg2Y366WZKNWTEbFiNlCrEcSgKTwZOGjFnVnHRDs24+MywnxY47RSKcrLKgLmKjO0OEnsyhkzPwrh9D3\/cTqCrdvhVEhGANmXO3RcH\/1vxtj35pM\/c5briBp27p+7452ZeuAfp\/uf7nBfuHbTqOskR2SJkqWG5BUCQ\/eNOpfLE\/h9tQ9SjLalqcJPRzGXgZYI1BR4dyyce3vg5ptXNqTxEoF1WMkZbXf9mB\/ua48YcqmchatROjvenksYbmI7z3QUu0yeOC1MSUh+FrAvcieT+4pl00fLbkOHc7wAhwAeAqpbzm+PpXYS48G2l1UOegUkaG+pFyUeeCfPHeoH+nicxEQWersdm3Yt7vjH7o\/EMnuh94G9uiWe6PHUn87REp7rNJnxhb3xu3e9530P7XfjVbUpOGYMUU+pXHUL6OUIhAiwWYn4DW\/JLhgF4c7fQAlwLBGLTRQl5zGbzuCrTZhsE+WDmMRFaNsTKt+ti9wqeyELavsPLttTONe\/\/XGy+b3cZV0SwXxQ4XOnTCl1a26lMmHp2sZfHPb7d\/VDPx5Z0oDWrUFPoD9xv4lkIhODSxkM52nZRlP38p7MWkuyasSB7xnrUBfuK1sG4VOjyA+JBHatZK04c9B+G3hnz4pzdffd6+t52EXvyTUgPexjazhfvlZo7t7z2+8QZWRLfwB9ksHV+mREqAphB1QAtZCEFyd0osSJyDbp6TFy5mOfI9OQefB9Z3gS8pYO95GH7oFWi1DCKINYjmmAen2jDW\/OP43K5vPloqeQ4d1O++7SihAaOg\/5l3lQ8hJRYYDzNIDWS6yK+ViKUqQLGQhi4AptnGHJqGnip6yTkwPZ8rCYWQg0KMkXLw37v\/ii1\/xg03OLgBxk5e+9EYY90+IlocYJZFUof9vO9QQpK7qhYKA2BMNwuuAlmEhqeWIV5Km0sEJMtgxSC8+jJkajZfSJnLaWfjiEqWPbi2nPzWLRedefCRRd\/a7eI4UrzdyyG6YLgS750WBINRBOxAhF1oxjCFLj\/B3OGi2vJYOnsyEiGkKQz1wQ9fBROTSI5F6YKiDUnw+3us+dz\/uvL8J\/6XnjzO6+gkbOrndWBcyja5BYLBHNXRmTuRiy2tLlrcywv8hTa+WTfSWwWk1iBzDfTql8NPvA7mmxxmklFFo0ic858ul6O\/ffRVb+w8fWM+ug3rgcDidsonPXFdwlkB9bGJrXj3H9PEfDIqlxKyzDM5AzPTuYlOUxutHu34sd\/\/cPGJg+\/+wI7dr5R\/9Q7L1u3w6u8RBBERRRWxVoKGv7bFzu\/lmQKV50OF9xQCmQL3Sxv3MwapZLHXQBArudPjgUittFsd\/9p91Y+VQu\/FKVnAiklWwk5yubu4WwHETYNrnrJU9QIFaBO4A3JxiGoZbv06fOd+8AERwYtQFvSCgNh6ef2qW\/7IaM5VJ7nixFMuKrmKbfZ2CIEd0eFZMzkZjy6+Ch+WJDhtORLuPljpiofMzeelUGuPMdSilTSVp6aefGlzQS8PXnyp55gcZagLPXbVMrz\/J\/PFvUjpQqJI2t49EoL+4Y2XnDXxXHrmXqTuiRoMNuh9\/\/PxW3I659+8HZ4Cz\/EBNm0vDa8bcGoHTN8AjKyAwuyRw0EDYiNm9+\/93q6v1s2JP5vksDfzX+Bh6HpWAI+yKBDMxzo+MBmRkJKqOigYmJHFkEqT1+d5YVqRDvdtWQsHDsH23Xkmphv21wXIAqxZUetS+TzbOtSrIdzOWID36jP7fstBwdLfmvLs9JuInkwjvGyAl8cJiX7PIwdfpcYgs\/M5a8zpa2Gma0BUVYyR1PumV\/4wGz\/vay994wugxqknM\/Lj71\/7+j5m5mN+6T2BN7\/2SAraOUMhzrjla1c27nn4Ln\/HXV\/UmUkxB\/bB7BG9azWiYoyIyFdqo2e450sE\/0zjI7z37THRqgwfNEIK63KL\/FWgpCpOJHxjYnZD2YEjCBaiDA7K4oZC0wUjyQtS71u7cMimKWzZCOdtgk4KRgjkfPIAGpkDpXmW2XmWBy9E18jyWB7ft\/FNuwfdaiCNLDI9B9dcCm9+dW48FqV2HOBU\/7oUmb\/65NvEoyo\/AFxAxqnHGvsWY6K3iERQLEO9B4IBaw4z5vq3\/hCdn\/rh3\/74ltW\/zm\/dCr\/1QqToVCQ36h8tUzq\/TQpdzdhYjkBUrQj39B7Cu1lE8pvQLDe+0eLA8BRTgy5gEYrA5txpgVYHLjw7dwqnjmQUggbRpAAu3du5667lfPHyWDbAy+PFFfn2A2cDzhqk0YINa+CD74Y0W3zuBqLYdFz2BU\/4Tx+74rzJH4zo98jI1AUXNBjN0GYTZmfy+pPNmx80t3zWpGn5lz74u6V6fTbbt3KljJ555pPn6Oqrw8nkhu6O6SZtl+F8ABs8pN30su8W6OOATUIkKnLY1i5mHHohlbu06xwervd1UpiehZn5w06PqhLFKZqlET3V5U29PJYN8PJ4cRjfBam38wExQkgzpFKCj14P9Qo02932FA0Sxabp3PdA\/t3fXnnBwz9oxnchEs4DSHnKjKygKsZKiOLQeOdV7vcuucS9wNqTVnJ4uUge8B52qBZkMnNjq4toFJaWcpccW++zNje+i7IOWINozu67PJbHS8EAP+lkfS4JqH3sE0ACuoxiOBUghKdultZnS\/HFwIVAUYTM+ZxS8iPXw+lr0Nl5JMrbayROTCvNdno1\/8\/fXH3OV9m61SLHJdorALM0pUB1ac\/Xs8zZU8tYLnodzv4qYp6fY\/JU\/KrPZSPdwA1ysqS0lxJx0PJYHi9VA\/y8LOef8WcZQEzkzCLd5ydXkpb34nM5tY7KV5pcVB1\/rI5yTgckxgiL9IwXH6GBHOByMdArQhYCkQIf\/Vfwyotheg6KRVQDGlua3u9Iy\/GHbn752f8IwM05V\/jxHtw\/xubsX9ilsmgtmFP09PXJumlPa0664Kij5ksWvQxgpHsXNoI4hiheHI2JWEtIO\/YE9BLxPNoIdaENw5yQOZfnD8E6TDe9HKcuj2UD\/IzjQ1xXKyPxQvNBfTPcD3x98RfN7n7a7x90Pfbxwng2vadT6w2GtJvo8kCqx+7B5Q15vOniZOEAtSYHpRQLUKt0qfK6VUhEJIrEp2lbXdYKLqgEfVKP5flAHWgjGO\/RD747B15NTEFkwKniNem0WzOu0\/nt4d\/\/py\/+Uu39\/ayGz87CbH1hHcwCM0953SF4Mcbqv2t\/r\/CyybqN8DjC4UKjPwXrIDrW6FTKh1VQjo1+vXPz6l2mXo91aQjdl1fJSf+9y9uzfHaEeU9RUKNI8\/u93q1staup9xx+ow711fBZ4Inj3H\/V4KUZdULzCR8HPBkB7V6i02MpDZ593pUwp0omzyujJgG0KEhleUcvj2UDzNOLMVjCJwLJFQVSr5GY0AEnCwpH3eZ8EghPzSM7Z6dlwMXh1uH9lVgtikaHOxpax9pfXZJctEtptIE1wJndHl2ZnIUtG9FfvQ6plvOoTgRjrWRimG01\/7m1fdd\/2HPr1x5r3LcDmo3DwuYNYB1w9tAw91fKlBtN\/JbT4NffCzffRrRmQN3uQxJOG8mG3\/+Xryk8NvVnIW3\/hmLGpC9I5kSlAHEKBgNJBJ2nyUaLETTo3sK8fGakMSj5gW8QkHYOAIsXmwANJywuXgCYbQJWiOC8R4oFGPsFGOyHLFtQAVKxVrz30+2p6Q8+8If\/83Nu35RpiVWajaOMcBsgTvBZCtLlUdZOV\/0aomJJXVvFlRrNv7jksuy5eBYLe+90iqdDuJ1FhFXegemKFuW0ndkRMYWnGJkYiXxRPzOyvz\/CoKgFkO6lHplzeRb1KQ1GIuPUX4fzX868scZkzxk4lnhrXYQzUfQuY6P\/7EPmZBm7sjyWDfDTjg1VSiOdrhZJwUKxu2PsggGOCjlZwzMYT4enQYogeXAQQMIRebcjNbllA\/xMYwtwBhC6zC\/6hlfCh38mN765AkhuIESnqFb+\/F3rhv7920Tmn+7z7gf++eAxb8h\/5sl9pG9v1hiqZ1KqiwpiIbXddSBdAywBTPKshnPedAi4bkJUUZ8bgmixMTgJjliBXDwky1PMsGoYhocWG2DEWoIGv\/JHLt9187vfeOCpPmcn8K3Fb4x9C8ZOCtCrWKa04kgHMsRRd64ELIJqBDbh2ViaWibFd\/ffwpzbbiZFnwOrqwl++2PjXzjwvA+V1a\/bs7ybT\/RQz0mSIlzqTFi6EMCFcJRghqqiIRC8l85sy8JWy9U3CGzVp888HfvGVrhpa86\/vHURF\/NW2Ay6uIPhhBngG7hBxxgD5C9mmd\/k8E5VJHPQMTlwxy\/UIn0HwlMT5xtVE4QwmCbnDrn+qzNcEMRIGdIEduqiOCWkENrL9WCemp2qr3tgPiqSpzwHenNCgk\/flhvfLol+psE3ZuYem\/nmPdNfe3zvu09f\/UORwZORiwlc5mEotjhjYMcuuPYn4RfeiZmdR6NYxRgVNJoRDS7131m1uvLtbMvv7Jhz7T\/xuEwQwefBtnPgDQRMLkfp06d7fgKoKNGmVvWdMaYeUMUitgr7gKnFKtKueWylm+fLGTsOpCh+Yf7+8YtQrRzOGuSgKUNwrjT9wPafPn3tD51HQPKVzmEiqRFywJozFjM9D\/\/mPfDm18Bs43ANWHIYtIC\/e9Urzvvqc2kzWth7GTLeoPUHCxYyBEgcpA6cyecqBJ\/vP33miuvprcpbSxqt9ATF5HM+Jfm824Uv861nEsAQRVFj37dx5esuC0Iki+sZx41XE2OUVFWvVAKCmuX9foLWuMT2hE+lKuFk2XVOjERovICZjKK8DIeCsd3LD9g4weLd2VedP\/3XvMJz+zN\/5pN0Dm6++biXaHQCvW8F+B0+\/vss5oPb\/v193gf4mXcL8ZVN2gHERCWYLcDu0D1mxeRqI35ZbeTpDMg0MHG43cLCzBz81\/+5UO5dfOJaE0WXRMXSJVGx1E3BRiTAucBowSCZI55roz\/9VvjAO5BCGfoL+efEMdPTU6Te\/zml6Nb+M87IxrK\/uBf4ucM\/ZGLhYp77fbyT97\/eYusOpxRFigPwJc0\/Lloon\/p216GXE+IlG2APsFu7mRbn4S\/+7thUd7cjRypRqfSzJoq77xyumhwGrf1\/7V1rbBzXdf7OvTOzs8t9kBRFRVJkSZZsWbRUubGD2oJdKhLcOG0A97VK6wQO0DgtChQGUrQojAIliaJA+oqBFv1Rp2ijoohhs0CCBG2RNk3EFrWatIKatFYiC7ZsvSxRosjl7s7z3nv6Y2bJpUhKVESKS2kOsNSSFIfLs\/fOedzzfZ8LQAkBEjZQKALdPcmtwJqFxJCU8CYn\/vL948f\/M\/3RJcGQWnvvT3DkEoAXZ75Rw2JH7De15\/Ere204m0LEhiWk2wucpOQs2WpRjgZXErH5BfcfEbOBJOs3IG5DhJtmjxg4eX+zlteyxEkONcffJoJaptFbAjEzU4kIg51a\/Y63EkjLAq5NAUe\/CwThzBpmZgjLQux5vcd\/788\/fv99H31fsBFaz0cnyDTEFQA80dr2kx7wi4dS0pf6DOmLkMzGcsnEakLH+RNHPrI9WJEWdBVVOYCB2R05CBwFMJY8TWzs6KI\/vw3brCN4V00g6u+GI0LomEFkAzIwhIhnh2MyWcGb37uc679YLi4Yo5jBbLTRRnMMoI+BAUEoC0I0VQNXysBvPQ\/8zAHAD0BTk4aIZAjIBvOJEPRHhUs\/HB09fFh\/NYXDDGNo7n03XQuzdhSLZZcNNKiIIj+MfjeAlhawKkNYc6zUtWh8Z2O0NjFf34UwaRUcAFAkQBwDXnMOEccMBZUUBEbjdt7yoUV8Prv\/Fvc5AOzCLjqFU+zB2DloRK0hLJ6lhb4Vkg3DsWa+fcx3WvlmwXdZQqUgwEy+feFfPrbcF9+1YXCbspwzbRuT0EHDqN9P9irgOsAPzwAvfWFBeI0Q4gGZc7+YAODlTJ680A6QaVUNSjHmdg7IdyXzLW2kL7aTQxBPviHLQRXARTAvv47bKEbn9h\/GFny6qB3AAQMcYRs73ogQveki9zADiBGxK2Hu0xDnDUgRYCOdKgWDs7bU0qA0xiy4kAigGJA2Egq\/rZYEhRGiIAQe3wf82i8B2zeDpqaZhADbjjUdx80meNSz8fK3ntj7\/VbPEESchMkRtdhaWOKe4QP4tApBc2BItFowpBuLq0tapHijOQ9a5MUz0+0fZvPIDXy+FPcfxVEiED+B7cvkc5KUQYA7Mj\/fVxnstnY2mr7vUz6fv60kqVZbLyqVK6Z+TpaxFoaeGIAlgVzXoi0C1kabVpXHi3MiaCSsa4lug064x70m4HmzCTbBmFgJAk3ncq7pWCasVM6QPo+\/PlZF9UMPovxzDPy6vGINupGUB8oxxh2jTrMW56y88KkftqpDmjDl88uS5Fu9pbXu2BsB7JQCJW0Q16ZhPrAe9MnngGeeAhnDNDUN5FzyjUZDxd9pAH8Ra\/GVsZ\/c00gCb9J5zDybWWadn5s\/WBurjx7Hsh7YPtB\/qNHJf7S6HtfvB\/OPUDjB9UvHsWZQ7LSEClikTRrbBtw84KqZIyY2DOk4CJtxMQgD0elUlJxCKyIArwF47SX12cFoQn3WTOLZLSW3uLmicNVV5h1Z4PdkXtR0SNAN2NoHsUmne7Os+WaBl5EMa+2QAusNw0w3EBbywC98FPSJj4HW9zLVm4CUFOVymNbxmSbR3zUiHHnj0N6326vezLOZZbYG9DHZgJl7j296+l93LNMkNIOIwGwSxGLHtS04DZJ7AVhCgD0f2PcQ8Pyzc4Mwg4VlUex5py79+\/Hfv\/Jf37vIbAT04vc31QrsrAFWQBwBTS+BGkZIz4AlR2xIazNVuiwnWmMSHYuna1XCr6Mqqhg1hC+OgTD2u+aF7Y1adBg1+mRPwd67vyywp0vhvOPqt9nFuIpFqJsktQeL45lRniw6zGZsrcDbTYStgrBBG8jpJiLXAQ4+Dqo+w\/TQ\/UxeQGgGFDkO6nF8qcn4yrRw\/ubY\/l3\/jUQgvsXCn7k3s8zWFAstOYLk4PLHyM6dgiYA65BC6bQBukvAT+wD6s0ZRIhhhmXb0Kyn9r34iW+PEF1cyrVPtn\/ypWPAl0buCjEGPpyeKVdRlWDgD\/BXZ0D4wyEe\/NPY237I98Rzlo1ndpes\/l1FYNwlnLEdfc6UMaV8MsoT0gSw0qoYoHsqGFPbQFCcHlT2ksAWAP1xDOmHiIoFqIOPM\/3sIYiHH2ChtTDNgDwwGmzONmL9T74xr0317f2Pk3soyqrezDJb+2ZY6ZW55XTuOeCMwgkhQTY0vKRaFbPDUmzbUHFsvfX1N8pA9TIGBwhjJ28BBwyg+jrmA5SqGKiuEA54pa013DWEIQE+KkYwpoCxbwD4xm\/Gv9qnr+mfEtfw85W8OfhE0e55rMvC+46Nd50uvqBjPa08MsonaSKywAlv76IqLms\/4LaCrkpBpnkibCZgY6zRHXgAM+KNfaw+\/iiLp\/fD2rlVMBHiIKJ6HEWeEG82QP\/osfja8a7gBB57LJ4TeLPgm9ndUw7eo2u5cwkzVvL+SO1ETkLMPlpwQCEgLGFy5bwGRjWO3rjYGF3oC6N0d8oRpq1pA4CqqAoA+AJeuQrCl8H48ov+ZzaEvjloX1M\/3e\/iqU1dcqspFK2rThHncjEu6ACTytOhDhkmJMmGJIjEDJP+2mKZvj7g6pT1ShAhT0DFMPpjhZ4w4hwbmO4yxx\/aDXryUbI+\/GOEDX0UxzGmpuu6CbznSfEdX+Kfa5Yee+vxR87MGdJdtSErNpwAcA3aiBTnsNqAF+htpHIS1GG7nxaYlE78Kjvo1abLiU2isETz\/N56toDfO8\/nC2BNKJnWF8wslsM\/i69J7tw1ea+exS0yVEVETMyC7lAVv5Y5VblVFTNAo1wVb2KARzByGcCr0Hj1c83P5WWz9ogjwif78vzU+jwe2ePmtoS5kpxwgMsc4qrxUVMeAh2y5tgQJ7BHAVCib7PwHByvlq5p2+82lOj6MSUaszYDJWO4EsXojWOUleacY4P6e8k8tIP0h\/cA+3YTPvgBeGD4Da\/pXb121gdONC3r36Ys69iZzYXTuO8+vzMC74wHijk4IkYsCARHEOwUDz5DxEF2mzYtX6dgxKuSULUTpWoAhtO2FwtIywFsG5EUMxmFULEWIL9D9leXA1saGImWz6nN50SJz8lKO448F66lTUf4nGd8DgjLgbje52wgAM+uTd\/iy+V5\/nFE+5okQHSefzJVuISJj+P2NREhFiIheOJU+csoz9G2QRaAlyrB1grGTKM4LEYBvIyXfQDHYHAMTfzxp5qf6toMe2fRDfb1FLBvm4s9gVXY0ZT5jU2LCg0yssYx6iaCZ0L4JoYyCgoGhplT9vk2fGQL8jonpaUlKsguqjnL13OX0mxWTQwmZkhjkDcGeaVR0holY6gkJPL5HMkNfeBtm6F376Bw9w7E2zYjLOU5FLLmh+Gl4NrkaY\/5e4EQJ6YLzv9d9PJn8VTCzDILSU2D7u0FXgFUb9EFA4yky5H+3m0R471f9hEWAaPec7HllKbnJpm51s4EbhQMGxQgZJ4T+hkWQnJ3uWI7Vt6m1aFLs5HQeZ4EwIKAUpmkkg37auDHYaQbeRloYhBgeoHvbmP++1ce\/bperUZMi1XLAC8G8PsUjLom0X3c0GcaYKuGVBxJCIAVDGs4LESJpZWyPJAp5sp2PteVo9U7C2QAP2hJb5ZKJITj21eCBgfKTBdEoAUbZlAJ5q0dRK92+eX6UtrRLblGgvjtANEGBaUmBRWPM16Y1sjV0CqnRbomNXIsRLHdPyW3bLtOMUcZhd+dDsBvpTovqJQh3FJkX\/HqiJSp5zmMLaEAFnnQ2e2E0bygyyt9RHG3LwCqoioGME7AATNCI\/PSziFUnZLbtQElbNE5a6tv0\/11wfc3obc0WW9usOoPWXVHMFYMhoJBzAaKDTRraDAMJ4+WqhzP6LO3Ybh5lhimHdtNc\/8DiBPwFBmGBCCZYRuGAyBHBFcIuJaEm3PgFLsgeypAfy\/Upn5Emzcg3NSn4o39XlQpTivXGQ8UXwiC4Ezo+acDw6fr0rw7kStdxJO76\/N5IO6WMzHRmv0HzkbrenwUXHHn13qAhIIyQMJbPWNXJgzOTjC6DaOikyzb5Bl8eRr79\/tr2ucg4G1VyTsodUerp5Qyz+cNz+DUeUYeQL+jE22vLqAcNLH7ur2wov4RwLW44k6g3COyRvSqrgnPZ\/zgnEEeQFkbuIaBLsCbCvCRH59aje7mXZ8EDWGIgKPJbhg6YEZGRsyNWNue2\/tSd6C8vph5neGgP2K1PjTUp6HWxVJ2axNXNEddvpRlwdpio8oGbCV0\/VwyYCcRTSQhBAk2TBIsbSIBAmRSRgtJEBYJyJyjJADLdgwcaUTe1VahYGSxoFEseKqnHMTruhX1dnthX6UedVdqutQ1FRWciZhxJTR8KazXxn0\/uFy76l3B9MQkXni20TrDa\/\/bMDRMGB7mFQi6BIC3bzr0oEXuTo0oFce7MTxRwiFN4bl3zn\/zf9t7yVVUZfukYRWvm2EM07zaZH7VyGsYLbaqNoQh8TBOUtv8JgPDPNfvI62P95zP7zH\/ZJYF4JUNyidxkgYwThg8gIQv94BJB76WeJVUpEVrAmDhNAT+4X\/yEHW7r86WxcrhiiW0YSsHlS8pYcMGWBNFLuVhw5W2RdRdNgoAlcsc9nTpsJIzynWhc7Yyvag3k46mhocAk9MBTp8L8eqfhXjllfhmsjIYXrGAi7n0w4PWGMbUjg8+\/Xlb5n9H6eimUycMhpQO4tj723cufvPTrWssA+s8ra3deDdM5PLawvrd8Y4PUxaGszUBZMLWLf7cWWePjbUz56Y37yGqptnu+OA4AQdmSO370c8DGOVhTlhDRfLGtVj5Q+BHEgH60aagmZNDpeE0C58Ntq0FxRgZuZPnib42sTasbiqizoCCIYuIvQxisvbJlrLUPvNPZlkAXiY+\/hEencNoP7bAcMZCMZHnPx0evr2t1wqq7ZdNKyeaDTbJv3cw2GJBoD\/bthDSEMmb4y5YChJQTHa27DLLLLOsBZ1ZZrdzBtx\/cIPj5PpjxFjaxLANg\/Da6fPfutApZ6GZZZZZZplllllmmWWW2V1k\/w8Yp4OGEbUtZwAAAABJRU5ErkJggg==\" alt=\"Social Hackers Lab\">\r\n        <div class=\"sep\"><\/div>\r\n        <img decoding=\"async\" class=\"amp-logo\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAA0UAAACGCAYAAAASEyEyAAAACXBIWXMAAC4jAAAuIwF4pT92AAAgAElEQVR4nO2dXWwkWZbXw721DbPDKKOxKEB2YvdIaB\/ywW6vQMBLZe0DCPkhvQ9IvDlLWglphVRZ0j7svmy7eOGNcr2wCCGcJSEhEFKnBUZCg6jMFQMSu+POXJTDfDBbNumaD8+ayWSWmaa7qxId18nqcDpufNyvuDfi\/5NSM122I25G3I\/zv+fcc1bm83lgm5PT1e0gCMLl2+7uXPWtNwYAAAAApSKsN5rL32c6GcPGqCBhvUH25vbyN0d\/AMsYE0Unp6vUCZvcEZssgrYy\/vl5EARnQRAM+dPf3bk6s\/X2VroX0bYvBNy9hD8Z0PiKtnfeXp\/aaq9uVroX15PHvL0+NH2vsN5ImpSG08m4Y7oNLsIL+iZ\/4ib0M\/687XfTydj5PidanGKYTidj4\/3PJGG9sXh\/aZxNJ2Ol+S3HvQolqxES1huxG2eufZ28fTTOUHcA5f5XJNz3m5E1O4udMeD5k\/pjv+jvn2NetI13fYP7w17EfsvaHxb2W6\/otVShPzi5bjrcv5cZahVF7AFq8+SUVQBl5ZwnsN7uzlVP87UXQkBn20dBEHSpvfP2ujeTCj8Hes578\/a68V2UsN5I6oCD6WTsohGhHTYCVfsfjZEeL\/Lax4gO2Ch8nvFSD6aTcdfF75EGv08aP7UMv\/54OhkfKN6P\/v5DLY03yHQyXsn4ffopG1EukHt+SpnvimYQMQqd3kFnI6vNH13r9WFRBnHOebEIRhEB6dzaYqA\/HHNfKGT9UegPTtpMHvTvBffvqF7h5HR1M9IZN7Q17TZ07X36nJyuztj4O9zduVJSxSvdC2p3x4CIo+s9oc9K94IWm+68ve60gRcRRFkMOaAIT+QdjWOHrvGQPmG9MWNRfujxLvBRWG8EvgmjnIIIAFe4xx+aP84j84czHmj2AizmTJ3ji9brI\/q+Yb1x6Nr3doAt\/ji1tnB\/OGDbUCct+iz6AvpDdXhH9puenK42T05XaWC84B1Kk4JomRoPgo9PTlf71Ja8F1jpXnRWuhdnPBHqFkTL0EJzRPdjEeYcK92LTRhydiAxxDv7ZwbHTo0F0ouw3ujy4uEjJIycHDNxQBCBkrDBc9NZWG8UHsIcmTOHPK+ZGl+1yPdW8t6WmOjacsCbe1bh\/nDI9qduQRSl5tI4AObJLYrIM0RChF1hJjtjVkhwPM8qjla6F00WQ08sC7mA70fiaEjtsHxvIXyGqgdDzjxs4C\/EkK3nvb9YwIr87gp4IYwgiEAJob78JKw3hty\/rcOhN0PLc+a1MRzWG2dFfW9PoHcytHlWLqw39ngNfWjxERU+DoAdMosiSpxwcrq6UOYuxnpHxdGtXXEy\/Fe6Fz0Wc7bF0DLkmXq+0r04ZEFSNIcWvGWVhne2euyZLMpo\/tDjSd1pYQRBBEoOrQ99NkitwRs5Ra7ZdN+P4SVIhJ7RcxvzM3uHPipwnl2MA2+iF0A+Momik9PVIpS5LCSOhienq28nMT4rM+Q4UZeg59lfZHsrAgojdMTjV1rYYHal\/xVi3GjCSWEEQQQqAvXvjywZv7SJ1HUoecgTbg8QY2x+5v7Qd8QGrfF3RX8oIYmiiL1D3YKVuQzXrk7yGq38i2\/\/Bu30OOAdErHFwsh6OB2fI0LctEEiBrNM\/5txRqhnlKFs6fOMf3YucV1rxo0BnBJGEESgghyZDJfiMyp9Bzfr9skwL+IMjUdon58j\/cG1CKV9CKPyIcw+xyFoPZ\/Dqv7Ji79z7yt\/8ujeT9\/9nSB4Z92BFgmpcTjdA8sZ6row5swhaTAfR9JqZ8rsw4tGk2sz7OW4n5fZ3VxpNwQRqDA96v+6s49FDGBX7Y57vG766Gm3BWXwG+qol+NBf9jntQjhdCUh1lPE9YaGngui4Os\/\/nZwJ\/h58N6nvx0En\/8XB1qVypGt7HQcNud6HRBv4WxvWQ3mGXuB3ptOxntk7OcxNihVKNWOoIl5OhnTIvIghwfJ6K6vQQr1GEEQgYpTY3GgGx\/Ot7bgIUikxu9RBz5szO\/zWSdQAm6JopPT1TaHm3m72C8EUZT3Pv9dn4SR0V0oTu6AsDmzZM3m9zQIgk0q3qmrDgKLKhJlj1hwpdHzNGV3IcIIggiAa+7pHH+cVMGX8637SL6QiHLfYKHhy8btQ0\/P6YIlbogiFkRHPj+kf32xd0sQLbgWRp\/9syKalZeu4eQLBzDozMGLe9ruFomV+9PJuGOqKNx0MqZFZZurkSdhatfXBlaFEQQRADfQsrnG48qVpApZeYL0zIlI9w0WGD4k9oricz1AwLwVRWUQRH\/0078SfPT9HyT+znuvBj54jMjg6plI183JFXybbLwh4+I+Yu9Q3\/T34jC8JidmSELrrq9lrAgjCCIAbrGhaez1PH20CKMTsyHjPeFzRD4+V583FwFzLYr4DJH3MZG\/\/Z0\/e32GKA1PQuk2DA0whM2ZJW0ckSBqmvIOxcFnjtqcrS6JQ48zKxkVRhBEAAhRCiNjz7qJ7LAjnvMGCpk609hCGF0iMnOyqUgWG\/3hHsLo\/OYOZ5nzfrH\/rW\/93eDdV9\/M\/PskjH7yzl9yPStdi84XzdvrWnbR2POEmkSG4IQFSTHQFDLXtimIltjjBCoiA6TGBo6vwtlIVrqSC6IBfzfXkM1cJXsGIW3DIA7l7Fo5kGlfFrY19GsSBpsymeh4E0aXqDhnj1MvyQvP8\/QeG+w6xvQBJV4oaF6fGeyHOvpGrtp8HH6mK5Jl0R+6SZnwDPSHQ489n65xbtn7dnZHY0coDAqbe\/l\/sguiBV\/59B8EP\/1TT4Ng5Usuf73Dle5Ff95e1zHhYkfLLGli4kBHmlJZaNFmb8rzhEu0PfcmahVGFfAQUep35943nbWT+buw3phL3s\/pDIwm28dGoWrWtz3JaJOOhrFFwqCTdcyzYKJPh708qp6JIjeThob7xh5\/L+m+Qf0rR6i4jmd4zmttrv7AHsuOhj55HVLqYakLFzmzvT4lFm\/1hd\/5npy35zrU7lPnowY3NIoZ5NI3BO9wJe1SjzjxQaHwApB0vkjXGYEi0RJKh5A5UAVoTphOxttcI02W3Ia5Ji\/RgM9nShmgOZLRpFHKDUcq9cDvVuX5ZOobvIaqRrJQH96W6Q8cZn6gqT\/gmIKneC+K\/uMPd4OVT78n\/ffvzb8ZBJ+rrAVW6KgmXeA03ybitsEb0hZFlxbNtAm7DDHRSsIIgghUkLbCOQuZrFtNxfH1jLwkqmFrFPbHojAtGU0StRJsJsXCz7eZsbxDHFkz9Kk+v2dc50+5P2gQghue1v+rPN6Lou4P31W+xlc+PwmC11da2mOImgajGl4isyQJiXMbmeaywpN+kgHQ8jjhQhQpYQRBBKoIG5OyO9wy4VUq6awHnDxGJx1FQ7i0B+y5b8iGg2VdS1Te57HO\/hARgirJGGBzeYjXoojOEql4iRZch9F99k91NcsU0qKIvUy5DjyC7LDbP8kL52KMZtoCV5ZdrlzCCIIIVBybB8RlRdHMhMHJhvCegkekLJtJImT7RqoXkedd2UgW0\/1BFmSh8xCvRdE\/+l9f1Xat6zC619\/Rdj0D1Fa6F7IDH25cs6Q9X+cy0bDnKmnxL1OfySSMIIhA1WFDUGp3XCJcSFZAHMpkussCX1dlE6u0a61CtEMWsaPy3EwWQB8qhFXWUNzXP7wWRT\/62Q+1Xu\/dT39X6\/UMILvzgB0LsyRNfOemFnANJC1yZZvME4URBBEAb7E1X8nMMTMLnneV68MIlkNWFJ1byPKmkjQBG9Ke4a0oogQLf3r+E63X\/HLwx64XdW1JJlzAwDRL0kJYWAruDCS1rYyLe6wwgiAC4AYySROIvLv1MuOtZ7oeEF9f1jtQ2rWWw8RNIbveGI\/C4E1N2TphEMme4a0o6l39GSPXfefVvzdyXY3kmnRXuhdp512AOklC1WVRlOQpKqtAuCGMIIgA+AI+EyO1XliqwWYrFFk2VMykcCgaWQM\/S\/IKWRvFVi0gY+epgFt4K4p+\/ImZzaLa\/Nz1s0V5d6LgJTJPUuYlV0PnUnEsHlr28HMc18IIggiAW1gJtVZIV2wri6fJ8zO+IpvsKdFYU\/FAWSyGLnsfeIo8w1tR9O6rH5i7+KvfM3dtdfIOMuxUFIuzoijDwVmXMinRovRU4\/WONAuikeb2AWAV9hLJnqdRLXaZhZnp0LkFDp8DLQQWsUnFyZNIe5ayNopsSFtuFJJMYMPNM7wURXSeyCRfefXfgmD+86K\/poi8ExM8RaAUTCfjjmKBxWV0CqKmxJkKAJyABZHKJoGNHXvbocgqNWpKA3vUVcIWXQ4hB+AGtkURKftHQRB8sLtztRL9BEHwfhAED6gIV9pF\/uBPzJwnWnBdt+jVx8v\/TOE7j6nt8\/Y6tfcD\/m+dYT2ZWOle5PEWwVMESgMX6NMpjFS5FkS2drAB0AmJIT5jN5QswLog7066D2FFlfYWkRgK6w06s\/Ox4gaSM4XLAUjjjqUnRGKovbtzJZxk+Gc0ALsnp6ubnAZxP+53p5+vGG3sNVS3KPgbi\/+iHaPmvL3+tv3z9jotIsOV7kWvgHMJecKakGQBlAoSRmG9EYjmB4uUQRC1Fc535GY6GcNzLUFYb5gwLENFIRQlb\/vKXOTUJvfCemPucPtmFs\/9gPKxbWjuE9ExLYrIi9LZ3bnKlSGEBVL75HS1y27bG4Lj4pP\/F5iWRRRC99Nf\/PXFf7ajgigKiaOV7kWHzyjYIpP3J6dHCQBvcEAYlcVDtIGNEy+QPc9hgwHO4AABzhUuB15Rszz3hSbD50gQNfMKoii7O1d9FgA3DnG+ev25znbGch1C9\/qCfjSYt9cTleq8vd61HEaXNSQOu3GgtBQYSoeQOQC+wFZaZOAf6BvAK0yJooUgUnab7u5cTfkQs\/WzO8HrbwU5wgLgIgbAMgUIIwgiAL7gfDoZyxi+iGIoPwOFrG0AFIKp8LkDHYJoAQmjk9NVqp\/wXNc1MzG\/jgjIOqj7DoY4wFNUPFbPbFQRi6F0EEQA3KQt+TywNpWfg6o\/AOAfJkTRYHfnSrbWgRAKpTs5XaU6IA91X1vI6x9bu5UhsBtXPEUnA6gEFoQRBBEAN3kKTwAQcIy+AXzERPicyd0BqzsP711noHOSrJ4HpOMGlcFgKB0EEQA3GcETAATMFDyIABSKblE04uQIRuDzRS7VKCmKeyvdi8TwA\/75XqmfAgBLGBBGEEQA3GSGMQESQN8A3qJbFNlIv2g1xePml\/75bsZftT0JpIUodizXTgLACTQKIwgiAG6ia0wgtLucPEBdIuAzus8U2YghtRqnOn\/98y9l\/FXbE8H+Svc6ZXhn3l5\/u0Cxh4gE0YeW2wOAM2g4YwRBBMBNqAj7nqYxgQ27cjHjvoFzRMBrdIsi48KAQujmp22q4Gy6fmteiiheRwbf3kr3os\/PfpvPG2HBAZVHQRhBEAHwBWTwHkwnY+0JlEApILHcRgFfUAa0iiI+82OceRC8MphOXIp5e\/2MPTe2IQHU4g9wj1EBoZV5cLlSvjISwgiCCIA3zDhM+xDjAcRwzmIZBVpBaXBKWGTlX+3826\/bM+b+8N8EwT\/M+suDshuZIDcdl0MKwnpj7kAzjJJDGEEQAfBmHJCh28VYADEMuG9ADIHSoVUUnZyuhpa8Ra4e0nSxgCsAlSeDMIIgAlVlxOHXtH71EQYFIsy4byw+6B+g1Oj2FG2bToRAwsvhMzN9JDgAwE0ShFGVBdHj6WSMejPuc3+phRTWtqWx1R1b\/T+sNxLLSYBcDKaTcda6hQD4hvX+rTslt43GOzsBzNvrfd5ZAQA4SEy6bniIgPNQCG70w+vgSFO7SVz1LYoVpOMGADiJblFko1io1YKkEsVordZRAgDkIyKMIIiAl3CfbfJhdx3YFkY+gGcBQMXQLYq2Tk5XjXlyTk5XNxXqjtgCaUsBcBwSRtPJeBuCCPgK9909jdEJtoSR7JkU2x4mneGJAAAP0C2KCJPx6bZj3wd5\/2DeXh9qDGsAAAAAYplOxkP2GOkURkY39hQO6ls7SwyPmVVkN6asJbUK6w2EfFYEE6Lo3snpakf3RdkDZdtLJDt5w1sEAADAOAaE0X5YbziZbjmsN2ydKZa9D84U54T7rxQWxYrsfXJvrINiMSGKiCcnp6vaOiuHzRVxVkdqsM7b612Nsd4AAACAEA+FkayxaOtMsex9pA38iiNrL9kSybL9AeHZnmFKFBF9HcIoIoiKSMOtkl5cu7cMAAAAiMMzYSQbhdHW3I5bcOgcRJFdZPuDcTsrrDfIBm1J\/jn6g2eYFEU1FkbSnZZD5oYFHXic7e5cSXfoeXu9B9cpAAAAW3gkjGQ3HGthvWFaGHUUNmGN1mksMbLPbcNCSKVKf0N\/8AyToijgiYVC6fp5stKRd+jkdJUm4ucFFmrVEa7XRowxAAAAWxgSRrrPyaoYi4emEiHwdVW8DzCC5VCxt4yFebKXSLYg\/4xrigGPMC2KFlCWkOcnp6tD8hzFhdWxEGqfnK7S4HjhQOpt5c48b6+fFZAxDwAAQIVhYaTTo\/JQp4eGM9DJZmmtGTSEVUL1R0jxLwf3V9lzRRsGwzxVxBoEkYfYEkULKAzuSRAEH5+crs6jHxZCRwqxmzqZ6UrsMG+vHy5V0AcAAACMMp2MaQ17oPEeR5pD11QM2ZZuQ5ivp5LmGVln1VCxufZ1h1Vyf1A5uuFkBkeQjG1R5Au93Z0rnTs+HdQuAgAAYJPpZNx1WBipGo3X551UQ+no79kAVolO0baRWmFUReWRjjBP7g99xf5wzpsSwDMgiuLRqvDn7fUpx3hDGAEAALCGq8KIQ81UoyjIcB3KHrYP6409TuakGq5\/iNA5NTik8ljxMhTmqdIf2pwJT7UwLLxEnnKn6g8ghtHuzpX2WFASRivdiybHmRaRTQ8AAJZphvWGtXOP08kYZywLgIRRWG8EHKKuAxJGC8GlwoEGQbJBZ5bDemPE3oY+G9ix8OH5Jkdw6FiLZwid08ahhiMUW9wfBixOekmClfvDHveHDQ1fpMj+sGlzPqfnmzTWNGD9+0AU3cZYZ4YwAgA4xj0Nu6J5gCgqCEPC6EwlwxYZVGG98ZR2+DW0Z2vx3cJ645x3\/KfsCaLkThRmt6nJ8I0CL5EmqC+F9cYzTYm2FnPbUUx\/WHiStg1kOD4osD9sKGTLk6GvUGMqC9a\/D8LnbnK+u3Nl1O0ZCaVTdRMDAAAAmTEQStcL6w3VIu0HBkpXbLBB3GKjqsX\/rVsQncNLpB0b\/WEhmHQLIspAiP7gMRBFNzFeLTtgYTRvr5O79pGN++WEJqNH8\/Y60kkCAEDJ0CyMrou0qwgj3lW3svYaoA0vkV44HMtXj7Kv\/RgwEEVfMDBxligJTtf9gUMJGCgGd5vbBQAAoISwMNJVKmIhjDZlL8CZup569qQfozinGdjb4ls0zSOutwQ8BqLoDbOiFP68vT6ct9e3eedOt8s4KxQC8GDeXm9ywVkAAAAlZjoZtzULI2lRFLxpj0+lKwZIGmKctkf94RnC5soBRNEbDnZ3rgoVA\/P2epcXlccKlZ3zshBDm3x\/AAAAFUGzMNKBD6UrRpytDBiEwxKbBW4WZ2XE4wiUAGSfexM254TC5yQMtPt0sNK9aPPEq5qeMg5yS3fn7XXXi4uFsvUGNHBmONUkAAAUDhl0nJVOR8YvJcgQ5jnf1QytJIiaOEdkh6X+oDspgg5GkUx2oARUXRTNXN3xYc9Nd6V7EXIbm5w+UmahGHEaShJBfRZfPnBdb6Cgdj5G+mAAQBWAMMoEBFEB0DkdTuTRc6w\/kIe1g\/5QLu5wcauOoyrcNM3dnSunOzQLmG60QjLXOgpZJIkgETRFFjkAAABpOCqMDl1oD58ZQYhUQXA9qybbQSaiZ\/LyGGfKyskdOktzcrrqsnvSFA92d668zBQSETquh78BAADwBNeEER22D+uNPoujIuyTGafdxlpbMNwf9sJ6o8NRHEX0h3PuD9hsLinXiRZYHFRpF+SB6SKtAAAAgG+wR2TgSrM5ffhmAQkh6H6bEERuwVnetgvoo5QyfhuCqNy8PVO0u3PVOzldpbTQRyX\/zhBES1y21pq86GzyZEOheZ27xy+Rcx8AAKrHnktneiJeoy57Ce4ZvB2JoQMk2nEXfjdNDqlDfwDauJFogcTCyelqUKCr2jSVF0SXrbWQkzYsPqJFL7TcNAAAAA7garID3qVvcqHYDke46LBVzjkc\/RDGrz9E+sM294c9jf3h+iw3+kO1uJV9joXRsIRnjCoriFgItVkEuXBIEVSXM87slxcfFibZsAod4RgI6XiDTN+yievte0tEGHUy\/om1McqGKrWrw21cfLJ6DGacjIjGTY8ynBluchplnheNw+\/v+ghIWG9Es\/VWrT\/YJmv\/8+b7rMzn89ifnJyubjqYAlGGGWeZq1wo2GVrbY8nChkhdP\/u8UsYWgAAALwhrDdSM7MijXJ1YK\/iZsIXRn8AbxGKouCNMAo5XvOhp4+MDuLtuZ52WzeXrbU2v7cNhUtDFAEAAAAAgEqQWLyVxUTn5HR1kRJTxci2CXmHDnZ3rg6r1I01iSEAAAAAAAAqxTtZvixlpmN39FMPHs4xtbVKgojC5C5ba2ecORCCCAAAAAAAgBwkhs\/FwWeNDhypMh1lwN6hyoR8XbbWNjlDiol0lAifAwAAAAAAlSCTpyjK7s7V2e7OFYVpvV9AMbU4SAzd3925alZMEHU4W4rJ\/PwAAAAAAACUntyeomXYc9Tmj83QLQrlOySRZvGehcPptXsWxBA8RQAAAAAAoBIoi6IoJ6er+i6Wwu7O1Yqte7nCZWutyYLIRv0oiCIAAAAAAFAJcofPgWLgzHLPS1ZQFwAAAAAAgMJJTMldJTgsbZs\/IX\/15tIjOItU8KXzPGd3j18aLwp72VrrOpjYAgAAAAAAgFJQWVHEmdv2WPhsZzwPdescz2Vrjf5nFAQBhZr17x6\/7GluJwQRAAAAAAAABqmUKIoIIQpF29J46S3+PGSRRLWSuqoCCYIIAAAAAAAA81RCFHGCAkph3bJ0S7pP67K1ds51hA7vHr+c5rkABBEAAAAAAAB2KHWiBRJDl621PicosCWIolBI3od09uiytXbA55ZSgSACAAAAAADAHqUURRQmFxFDLhQ3rUXEUSfpFy9ba4cQRAAAAAAAANijdKKIPDJBELxwRAwtQ+LoyWVrbXjZWtte\/iGn3X5YeCsBAAAAAACoEKURRSQySGywR8Z1KCnDxyzg3rY\/CIIjD9oOAAAAAABAqShFogX2sBx6WNj0Q04C0eaU3gAAAAAAAADLeC+K+AyOzyFn9zjcDwAAAAAAAFAAXosiZGkDAAAAAAAAqOLtmSIIIgAAAAAAAIAO7vS++20609LUcbEXf\/z3rbyUX\/nafwh+8NkPcguid98JgtVf+NxMowAAAAAAAABecocFkZaMbd\/54c+MP4O\/+Qf\/NfjkWz8KPpFwcn35nXmw+gtGmgUAAAAAAADwFK\/C5371v38j+PK3XjrQEgAAAAAAAEBZ8CbRwgff\/6OgNkKSNgvMOD34Wem\/KQAAAAAAqDyBL6Jo7f\/+JPjq4OPgtQNtKSkkhHpU6+nu8cuhq18xrDc2gyDYjPzTdDoZF97esN6gwrth5J+stCusN+ie20v\/PJxOxlPT9xa0p7D3E9Yby+citT+H5XtMJ2OttcUE71Ma3e2LtFPLGdQgoY0xY0qVs+lknLjRE9N\/E9souAbVnOtQWLrpcWj6Xrr7I+PS\/KSC9NymuR2p\/VqVuH4gM7ek9Cfj\/SJpTon7PprfU5Clz+h61nlIeC9a+lbMc9d1XSPzk\/Oi6JdefRb81edfD16\/mjvQmtIx46K3JIYKWajS4IV\/j8++3SrOG9Yb9D8DFnVdlYk1rDf6XDcqymA6GacZgYfLfxfWGw+mk3FXti0Z2hqyR29r6Uf3CywE3F4+n2j6OfA94jJRKj8HXhQ73P82Yn5O\/3O+2FDQMNHTBP9c8Rpv4fYdc9tUn8XCAF\/ub6qsCP7+1phS5HEQBAcpl7jVfxlRG+Oe0RH\/Z5\/EoylDz9K9tPZHxqn5SYWw3phF1p0838lUOw50CSTe+Gjzuiua+0aR75\/lvmFCf8oyPqWJrJdxBf4HgmRjWt9Twn2i3BpzYb3xbDoZtzW2I\/WejNQ74We9sNti5\/BIn+1NJ+Oe5narcN\/5M0V\/7Zt\/GATTTxxoSel4Srsgd49fHrgoiMJ6Yy+sN8544W8JJrMFNPCe0A5EWG8Ym1hzcsSGi3YSBJGLGHsOgVgQqV5zk6\/7ggtD3zIKImzw77ygv2Eh5RI0dp6T4Od+k\/dZbEfGoQ\/9rRCWRErAz0rqmachuJfRjQcQS43nHhpfhwU+okU7Xqi2g8d7n43N\/ZS5b4tFw\/V90\/o6C6dngh93TIyVCO0EG8IVm0HEPq9HzsP21xnbY0mbWos++xGtLzqjD1RxWhR9dfojnCPSDyn0+3ePX3Yc9g7RBPBRyoQcBw20D8N6Y+iIcapdEHgmiBYYEUaGBBHtbg0lr0t\/M+RruMY93jTIHG7A7+xjiXFYReL695aB8I5AcK9W1V9AwTzkdcekYZ8F6XZExruMh\/ZhxvlFJEBq7Ik2hejaA9PhaZpwWhjxRuKQRXLSBnYcGw5sLLzFaVG09Z9\/34FWlIoRe4ecnARoIueBpWrobrFxasIgycuRrl0QTwXRAq3CyJAgarMYzzupR6nx7pfJcAdZqG29LAYTj50j6TsBUD22OCSoaHJ7Dnk+VR3vNfaOCue+IrxF3B7Rxo7rXqIoTgojXiuGGuwSJzYWnBVFlG0OYXNaoYmo6ap3iOlpNPgXE7QNj1HaRNVTFWgZBdEzx3e9tAgjg4JIpwgwGjaowEZaf+W+5oJxB4Bv3HMkhLsV1huZPC+8Q69rPq3x3Je03tn2Fonu54uXKIpTwojfs+isloS\/2ocAAA8vSURBVAyFbyw4mWiBkiu8\/3vDAKkVtPHs7vFLFw20t\/DEnMVtP4j8\/7Tfr\/EAyypIujGHgFMPkFIiAT54KjKqa5HD0LkzFuUQRE6\/Y4YWzEA2+YIhQZTVK3Ie6Q\/bGRYC+q5DDRn4ziVS5CeNjRb3RZFB0EkJmZvxzmARDCTvmeX5xY1\/oPf9u7gpN8rZrjBlLiaPx6FE4ou8fXszZZwe0HyZ1A4O9X2Y4V55577rDcm4e5O3iJIHCOZx2WcXiyEvUd7+skDXnLnPa2ih6z3bJd2MgmjRt9PGTsAbC9QHZAWy0vzkpCj6le\/9j2D+ORJwa2JkOFZXGQ4vS5qYzzmzzi1Dmif1g4SBtkU7d9PJOHUCVMmSZlgYpXnQfBFEC6SEkQlBxKS143FchiUWU52UNnU1nCvpZum\/S20LOYObqG3tBAGQ1JceTSfjwmK\/M2SCVLn2GeqzZWJo8j0UQCevx4AjEETzco3HUK5xIvNMee3sCQzTGmcAi53fIkZtEqK5r8nrrmjzpcbXFp2vPBDMTQtvkS5vmwkvUe7+YgAXhFFaNtIBZz694fnhftfhj0hQPWRBLyNulOYn58LnyEv0577xPx1oSSmYeRAyF6RMgLSjtC0yoGnATSfj7YQ45cBCZptFW6iNDxJ+ZSGM8hx276bs+jsvegXkCi8zJYi4DaKJncT4ByRI4lLO0oTNi9J9HmtxbBURRkc7rdw20biINVa4b4p2Vh8UKYgAcAWeD5o8\/8ZhJdkKG+fNhPknqR1JRmna3NdnwzNpvWuJztPaOFtUorNEIgoLpeNNgaR05Y+pf8Sl2+a16YA9naLxE+TdVNCFc6Lol380Ceav4CXSxJ7rgoiNMJHRf+0ByeJKZwPwqeDHtZTd71ttkj0DpFMYZRACIxtFIg2SSRgZ9BAFCYvjjJ9t6k5VBsOkSNHaEbSrJuiDon45MF1vyhV4\/EP8gUR43hWNbWtJfniOEvXXpHaI2j7jjcgsc1\/aepc0v4varOtsUZnOEokoShilRRNkicyZpmws3Csii7DW8Lm\/9dd\/XfkatYd\/O\/hMS2sqz1NXs8wtIRpc53knRopBTRBZmcIZIgcHA9kzQDpC6SogiBYknrsxKYhSvCJ7eQohUvv5gPWTmB9vcXy99dAs6h+c0TFuTMTtxooWoUqctYkeHKbdas\/CUoFlyLjmQpTLHhddB8+z0hfs3MfObxx2LmrjXp51hde7bUEI\/L5ojec5cyCYm5TOFlXASxSFhNFU4QyODKJ58ThPNAGvT00OW47rj23b78spT9Gf\/\/1\/GXz2uTPpFUbseXgc+Rwn7Aa7xMyjgS+K\/TyQnBBF33srzSW\/lEkld6hbFBWPUQkF0aOUcSN6DqK48wWjBO9gFkR9T2onkReDc8GPXaxdBCLEZFLypmgiKBQfN6ZEc59sBtMD0RyfUpLCVCY60XVHnnqJnqaEmj20FabN3huR4Mz9ztiOEQkp62cX3Qqf+9q\/c6AR13Gu7989frnNBU4PIh8KRwvZ2BUZPy7gbGHWGETnOaTSMvKEJ5o80gTOcmrJmsoOuYwwKqmHaJgSXhb3HNopMcsjvqbKcxD1BxVDWDS5F1lMWMe9XSiGbJrDmN3KfZeqrQO34I02F4obi8anaM4VzX2y6+404W+F44fXa1HWPSkjP8VL5GtYbFqoWWCxDERSiLVsNIRozbVea9IpUfSz718VeXvqbB9Q6uq7xy8TX+zd45fdu8cvN9mD5Brn1D4H23WLBM\/NSNHoFwmZtMObogw+0uQRRmUOmePwuKRdpOhzSKsZpOs5iAwJlTA3UbhlIYWEOUwm1kAQ7JiKxs5eEfHdADiO8NyKrWbzOipqR675KO5gfA5kNxBFbd+QNPJF1zv3+Vxk5AxO0oa8DWEkWstUNpDPBN+rZruYqzOi6C\/+p38cvCoucu6Ys7TlOj9CHqSUzFNF4NNOiGhwqRq7or8vxDDNKIw+LvsZoqwCMUUQzfLGvOdFMbzCmZTOLIhERoBox1E0B9a4CDGEEQBvxlcnoZSElTpekULLIs+IaC4zceZJau5L8RblLUVQ6rNEvO7tpdicrhYOT2Q6GdO525WYj1Wbx506RaNvFHXnYwqLk\/1jSmZw2Vpraq7qK8tMMfTHFTYVq4I7F+6SIflCEloEEU+UqkZtX0U0ZExCIWKREc6o8HCkIn2UpkSbmimp3GM3T\/jgq6iwIoW6vuCfZ3kHZ1wzQpuBqPBulPotuIHK\/Hyr5s2CAuentkSIZJLxHchsTko805DbkTRn+mIP0Hd\/HvPv196iHB4eG14imf5CnOloAyeoSLM5lYqke47S\/OSMKPrZ2feLuO1INm41CnmYLltrHUmDVyc9j84SJbGRcp7ES1gQpOX3X0anh6idYihnRcm4lBSImVNka8C1vndP03tbkGYgpCW4yJUNMKw3hMWXJVB5NxBFelCZn\/sJgrqo+Ul3dstnkhs3uucd2XZYh7P4iTLRHWQRdxa9RLL9ZaBLpEIYJaI0PzkRPlf7398tIuscGVltXSKCz\/GoZMLSgUo8MLAA5+9PKjQbpSxpt2+RIZQuik1BVAUSPeNsSD3S+Bw2FqnXEX4HSs7MkWLauUtaOIDq2aJSniUSwethUgKjwNdQuiJxQhT90vBrRdz2MO8ZogwcFJyVDjuhHsC1T7L0E6NnZ4omozCCINLLg4xFGQ9ziPesUPjdUDbNPQCOM3NkE8v4uUsTqJwtSkooU8K6RG+BMNKPG4kWvvtN23c8N5GQgL1ORQ3AQUlC50oPH9DNksa1Zzvzim1ShBEEkT7oWf5anh1TFu+6M2zWqtCvQeUYOTJXudIOWWS9RSKvWCm9RFEgjPTihCj67MXE9i0PTQkIDqMrwlsEL5EH8MT0JGNLtzhNdRWFEQSRHmbs8dmUSbfL4Z4fcIZOXWx4XC8EgCi01j+eTsbbBc9VrrRDCRlvEZ+tEZ1FK62XKAqEkT6cSLTw2c8\/tX1L0zsH3QIOa3txoDIj54rvKC3zViFkqL8Tx0IY6QjL6GoQz0bE91LyhaIFkap3RPfYH0See5iQBnjBU05LryXjGr+HRZ2i7Yyp7UM+uyTyiFJR1AOJg+Cy7wabRvpQmZ+T3ndR81PWbIpRFuNL5xwVbQeNsVbC7854Y8FEO4rmULB+izLR2T5LJNNfAtM2GpIvvEVpfnJDFNlNsnBsIcwMokiNM96hloLTMToliiQF0QItwsj1iTAijLSmcZZoh9LuYlhv6B77\/WibKGFBSl9qmjjbwALmLEdCl05KQeJO3sPgqu8GaEFpfhZR4PzUdSRd+412hPVGP2Edq7H3t3Q7\/+TR5oyVcRsqNzLRFeQlcqW\/3CKHMDorcYkCpfnpTtE7aPWzwV+4c+f137Nxr3ffBAsaz9B29\/jl2WVrTTSoTYEwI0fJIIhmbMh2EgxInR4jZ6loXYVcsHjcTvAYOdNXyGhjoRvXr52rJwaAQ+yxfbYlaNI+7\/rLCKOZgbqKOjNLHgjWzGVvkcj4nVV1LckojHq8PjhjN5JQE9jM79lcx+7s\/eVf7hcpjC5\/81ebwS8GVkQRY6sT9A3UPxCCJAtuklUQ8eSUZEAGVRFGIJ3pZNzhs2Y+9BVR3SORsQdA5eFCyk1DwmgY52GhLG4yZw8ZbZscvPFzIDCSafOwm+IlqvSZxQzCqLZYHyQuL7KhpbOKcmh2rBPB9vrlRvY5ixhIwy2iTOFsQIKcgugaXtySUiFXIvkCSMeXvsJhd6Mi2wCAj7BB2EwZP\/scppoHkX2SWMNMBM8xor+V3XQXeYG22JgXeomqLoqCL86CJonlGr+bvGJG1HdaCnXoRO0UJd0whguiyOaCbXNhxsHeCiMjiBZAGIGsoK8AUG4MCSORfbIvWUeskxCqJbURzeFvoky+3SQvESIp3sBev6RagLUc2XAX1xwmvJfcYpTXJtHZUut2tAuiyGYhPwwUYBwVQbQAxi7Iiut9hXcPESoHgCQGhFEvIX1zrjpiXDhVlFzmWFGgCOsWCf4dXqIlMhZJz4soxLIlkfa7m3T2SXO7U6lc+BwAJtEhiBawsZu0CG5hAQCB+8JI1EcRUgdARnQKI76WyODc4LkiNRSK17uk+ymtTyneotj7wUt0GwPCKOm9HnGB+kRoLQrrjV5C6vlBEYkgIIoA0IROQRTBRDw5KCGuCSNe9LoJix5CjAHIgWaPUSfBW0RzBR3WP4ibL0gw8T2OEnb5B5rSPmdNrwwvUQI6hRGfE32a8CtPKKV8XCIHXhfaHFaZVIurkPILTtQpAsB3DAki0xmIQMlISYEdpGWl436sqx+l1QqTiT+XNbK6BaXoPQzrDZmda6rVlauGk8Vns61wr07JCo1aR9eawNfpJKxbNQ6L+zCsN0aR4wfCTGERZrrmkZRMdFFseYmsjWndLBVJV+UgpUA3zf\/PuebU2dK\/p\/FUQVArzU8QRQAowgdT0wy8tqwxAGEE8qAojDYtFT5+yruNeZFtW1FeKZtnqWw9m5rCvXAGUgM51oTEQpZsJDczlA\/J24\/bkuNbhKhu0QKbXiKvz0fqEkbcB\/dS6iEFLJry1OwcKYpHpfkJ4XMAqHOYMik8UKj9cE2OsAkUxARZQ+lsJrmJMioqNAKAspBxTRAlQHhLhrkiL8rrXUwb084W4SxRDnSF0vFGbzMhDDMvo6KLekMUAWCWB7rCdjIuggAs+otuY0cHIw4jhQEDgCK61gSeKx4rNocM4\/sGw1RFniCcJZLAgDBStUueubA2QBQBYA5tgmgBhBHIg2PC6BiCCAC9RNYEpd16DrO7L1kwk+aYTU2JFUR0Bd8RXiJJDAgjGWFNHsBfo7XKhfcIUQSAGbQLogUQRiAPGVK7m+aYd5D3YLwAoB+Nwqg\/nYybLI6epVzvnDOQvW\/DoOXrx3mEkH1VAY3CaMrC+n0WR2lrzjHbSZu6wy1VKDzRwt3jlwdljC+\/e\/ySdkxWHGiKywx58l1GdXLtCg4Ppx38jGtLFjpLB4inpjMsRQ7aLp8LKTKzk+i5m2yTyj2X35suZPu0aDzoOLCcta+InqcUCjvHut9N6jNkY1AW3e1N6i+2no2oP6pQtfnJWjtozeGkP6n1hTJcq79oI9crWr7msKANjsOlZzfVnNAhita50IE1QAgnX6B7R+cVqXvy+7i26zmd+\/K6o8s+0j8\/BcHw\/wM91dL3BAWJhAAAAABJRU5ErkJggg==\" alt=\"M\u00e9tropole Aix-Marseille-Provence\">\r\n      <\/div>\r\n      <div class=\"toggle-group\" id=\"indicator-tabs\" role=\"tablist\" aria-label=\"Indicateur d'impact\">\r\n        <button class=\"toggle-btn active\" data-ind=\"empreinte\" type=\"button\" role=\"tab\" aria-selected=\"true\">Roue d'impact<\/button>\r\n        <button class=\"toggle-btn is-rang\" data-ind=\"classement\" type=\"button\" role=\"tab\" tabindex=\"-1\" aria-selected=\"false\">Classement<\/button>\r\n        <button class=\"toggle-btn is-etages\" data-ind=\"etages\" type=\"button\" role=\"tab\" tabindex=\"-1\" aria-selected=\"false\">Les trois \u00e9tages<\/button>\r\n        <button class=\"toggle-btn is-flux\" data-ind=\"flux\" type=\"button\" role=\"tab\" tabindex=\"-1\" aria-selected=\"false\">Qui agit o\u00f9<\/button>\r\n        <button class=\"toggle-btn is-flora\" data-ind=\"fleurs\" type=\"button\" role=\"tab\" tabindex=\"-1\" aria-selected=\"false\">Fleurs des assos<\/button>\r\n        <button class=\"toggle-btn is-radar\" data-ind=\"freins\" type=\"button\" role=\"tab\" tabindex=\"-1\" aria-selected=\"false\">Freins rencontr\u00e9s<\/button>\r\n      <\/div>\r\n      <div class=\"edition\"><span>Fonds d\u2019innovation sociale<\/span><strong>\u00c9dition 2025 <span class=\"edition-dot\"><\/span><\/strong><\/div>\r\n  <\/div>\r\n\r\n  <main class=\"main-content\">\r\n  <header class=\"header\">\r\n    <div class=\"intro\">\r\n      <p class=\"eyebrow\">Aix-Marseille-Provence<\/p>\r\n      <h1>L\u2019impact social,<br><span>en perspective.<\/span><\/h1>\r\n      <p class=\"map-subtitle\">Explorez les projets soutenus par le fonds d\u2019innovation sociale.<\/p>\r\n    <\/div>\r\n    <div class=\"toolbar\">\r\n      <div class=\"kpi-row\" id=\"kpi-row\" aria-live=\"polite\"><\/div>\r\n      <nav class=\"crumbs\" id=\"crumbs\" aria-label=\"Niveau affich\u00e9\"><\/nav>\r\n      <div class=\"radar-modes\" id=\"freins-modes\" hidden>\r\n        <button class=\"rmode\" data-fmode=\"bars\" type=\"button\">Barres class\u00e9es<\/button>\r\n        <button class=\"rmode active\" data-fmode=\"radar\" type=\"button\">Radar<\/button>\r\n      <\/div>\r\n      <div class=\"radar-modes\" id=\"roue-modes\" hidden role=\"group\" aria-label=\"Lecture de la roue\">\r\n        <button class=\"rmode active\" data-rmode=\"egal\" type=\"button\" aria-pressed=\"true\">Parts \u00e9gales<\/button>\r\n        <button class=\"rmode\" data-rmode=\"rose\" type=\"button\" aria-pressed=\"false\">Nb de projets<\/button>\r\n        <button class=\"rmode\" data-rmode=\"fis\" type=\"button\" aria-pressed=\"false\">Montant FIS<\/button>\r\n      <\/div>\r\n    <\/div>\r\n    <nav class=\"explore-list\" id=\"explore-list\" aria-label=\"Explorer la roue\"><\/nav>\r\n    <div class=\"reading-note\"><span class=\"reading-icon\" aria-hidden=\"true\">\u2197<\/span><p id=\"reading-note\">Choisissez une th\u00e9matique pour explorer ses projets.<\/p><\/div>\r\n  <\/header>\r\n\r\n    <div id=\"chart-container\" role=\"region\" aria-label=\"Visualisation interactive du fonds d\u2019innovation sociale\">\r\n      <div class=\"stage-heading\"><span id=\"stage-label\">Vue d\u2019ensemble<\/span><span class=\"stage-index\" id=\"stage-index\">01 \/ 03<\/span><\/div>\r\n      <div class=\"chart-loading\" id=\"chart-loading\" role=\"status\"><span><\/span>Pr\u00e9paration de la visualisation\u2026<\/div>\r\n      <div class=\"stage-caption\" id=\"stage-caption\"><span class=\"caption-line\"><\/span>Secteurs \u00e0 parts \u00e9gales \u00b7 La couleur identifie la th\u00e9matique<\/div>\r\n      <aside class=\"legend\" id=\"legend\" aria-label=\"Th\u00e9matiques\">\r\n        <p class=\"legend-title\">Th\u00e9matiques<\/p>\r\n        <button class=\"legend-trigger\" id=\"legend-trigger\" type=\"button\" aria-expanded=\"false\" aria-controls=\"legend-list\"><\/button>\r\n        <ul class=\"legend-list\" id=\"legend-list\"><\/ul>\r\n      <\/aside>\r\n      <div class=\"freins-bars\" id=\"freins-bars\" hidden aria-label=\"Freins par fr\u00e9quence\"><\/div>\r\n      <div class=\"flora-grid\" id=\"flora-grid\" hidden aria-label=\"Impact du FIS pour toutes les associations\"><\/div>\r\n      <div class=\"stage-panel rang\" id=\"classement\" hidden aria-label=\"Classement des th\u00e9matiques par nombre de projets\"><\/div>\r\n      <div class=\"stage-panel etages\" id=\"etages\" hidden aria-label=\"Les trois promesses du fonds, en \u00e9tages\"><\/div>\r\n      <div class=\"stage-panel flux\" id=\"flux\" hidden aria-label=\"Ce que chaque th\u00e9matique verse aux trois \u00e9tages\"><\/div>\r\n      <div class=\"tooltip\" id=\"tooltip\" role=\"status\"><\/div>\r\n    <\/div>\r\n    <aside class=\"detail\" id=\"detail\" aria-label=\"Fiche projet\" aria-hidden=\"true\" inert><\/aside>\r\n  <\/main>\r\n  <footer class=\"app-footer\"><span class=\"footer-signature\">Am\u00e9liorer <i>\u00b7<\/i> \u00c9manciper <i>\u00b7<\/i> R\u00e9v\u00e9ler<\/span><span id=\"data-source\">FIS \u00b7 Corpus 2025<\/span><button id=\"fullscreen-btn\" type=\"button\" aria-label=\"Passer en plein \u00e9cran\"><svg width=\"14\" height=\"14\" viewbox=\"0 0 20 20\" fill=\"none\" aria-hidden=\"true\"><path d=\"M7 3H3v4m10-4h4v4M3 13v4h4m10-4v4h-4\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><span>Plein \u00e9cran<\/span><\/button><\/footer>\r\n<\/div>\r\n<\/div>\r\n\r\n<script type=\"text\/javascript\" data-category=\"functional\" class=\"cmplz-native\">\r\n(function () {\r\n    if (window.__reuRoueLoaded) return;\r\n    window.__reuRoueLoaded = true;\r\n\r\n    \/\/ ============ SOURCE DE DONN\u00c9ES ============\r\n    \/\/ La roue lit directement la Google Sheet partag\u00e9e (onglet \u00ab Grille\r\n    \/\/ compl\u00e8te \u00bb) via l'export CSV gviz, qui renvoie les en-t\u00eates CORS\r\n    \/\/ n\u00e9cessaires \u00e0 un fetch navigateur. Les donn\u00e9es fig\u00e9es ci-dessous ne\r\n    \/\/ servent que de secours si la feuille est injoignable (hors-ligne,\r\n    \/\/ partage retir\u00e9, quota) : la roue s'affiche alors quand m\u00eame.\r\n    var SHEET_ID = \"1sF0RyAW_F-64s0rf6-9jONx629QQGQvr721f9ecL7-0\";\r\n    var SHEET_TAB = \"Grille compl\u00e8te\";\r\n    var SHEET_CSV_URL = \"https:\/\/docs.google.com\/spreadsheets\/d\/\" + SHEET_ID\r\n        + \"\/gviz\/tq?tqx=out:csv&sheet=\" + encodeURIComponent(SHEET_TAB);\r\n\r\n    var EMBEDDED = [\r\n{\r\n\"theme\": \"CULTURE\",\r\n\"porteur\": \"In Medias Res\",\r\n\"projet\": \"La R\u00e9gie du Cin\u00e9ma\",\r\n\"resume\": \"Projet culturel visant \u00e0 rendre la pratique audiovisuelle plus accessible et \u00e0 valoriser les talents locaux, \u00e0 destination des acteurs sociaux et des habitants des quartiers prioritaires de Marseille.\",\r\n\"territoire\": \"QPV Marseille\",\r\n\"fis\": \"36\u202f000,00 \u20ac\",\r\n\"budget\": \"96\u202f515,00 \u20ac\",\r\n\"partFis\": \"37,3%\",\r\n\"personnes\": \"10 644\",\r\n\"actions\": \"71+ \u00e9v\u00e9nements \/ ~70 sessions\",\r\n\"nbPartenaires\": \"30+\",\r\n\"competences\": \"~70 sessions d'accompagnement audiovisuel (CERFA). 18 ateliers p\u00e9dagogiques document\u00e9s (RA) : 6 ateliers en salles de cin\u00e9ma, 6 ateliers r\u00e9alisation de films, 2 en m\u00e9diath\u00e8ques, 3 montage vid\u00e9o, 1 photo. Ateliers coll\u00e8ges Renoir et Rostand (10 \u00e9l\u00e8ves chacun, court-m\u00e9trages professionnels). Atelier Grans : 8 jeunes 12-17 ans (capsule vid\u00e9o p\u00e9dagogique Capsul'\u00d4'Rama). Ateliers Place des Farandoleurs (jeunes). Formations techniques : initiation incrustation fond vert, stop-motion, rotoscopie.\",\r\n\"lienSocial\": \"RA p.2 : \u00ab renforcer les liens au sein de la communaut\u00e9 et du quartier \u00bb. Projections Malpacin\u00e9 (Farandoleurs) + Busserine + plein air : cr\u00e9ation d'espaces de rencontre interg\u00e9n\u00e9rationnels en QPV. Festival Tous Courts (Aix-en-Provence) : lien entre acteurs culturels m\u00e9tropolitains. R\u00e9sidence D\u00e9nominateur Commun : dialogue interculturel franco-br\u00e9silien. Soutien \u00e0 des collectifs \u00e9mergents (Soul of Marseille, Rodrig Family) : visibilisation de talents QPV.\",\r\n\"comportement\": \"CERFA p.2 : \u00ab environ 10 644 personnes ont pu profiter de la R\u00e9gie du Cin\u00e9ma \u00bb. RA p.2 : les ateliers \u00ab ont constitu\u00e9 des moments d'\u00e9change et de cr\u00e9ativit\u00e9, offrant \u00e0 chacun l'opportunit\u00e9 de s'initier ou de se perfectionner dans l'art du cin\u00e9ma \u00bb. Atelier coll\u00e8ges : les \u00e9l\u00e8ves \u00ab ont imagin\u00e9, tourn\u00e9 et mont\u00e9 leur film dans des conditions professionnelles \u00bb (RA p.12). Capsul'\u00d4'Rama : \u00ab une approche cr\u00e9ative et analytique \u00bb chez les jeunes (RA p.14). Changement comportemental document\u00e9 qualitativement \u2014 non mesur\u00e9 quantitativement.\",\r\n\"sorties\": \"Ateliers coll\u00e8ges (20 \u00e9l\u00e8ves) : acquisition de comp\u00e9tences techniques cin\u00e9matographiques professionnelles (sc\u00e9narisation, tournage, montage). Ateliers Farandoleurs : premi\u00e8re exp\u00e9rience cin\u00e9matographique pour des jeunes QPV. R\u00e9sidence documentaire D\u00e9nominateur Commun : sorties positives cr\u00e9ation attendues (sortie 2025). Acc\u00e8s \u00e0 la culture cin\u00e9matographique pour des publics QPV \u00e9loign\u00e9s. NR : pas de taux de sortie vers l'emploi ou la formation document\u00e9 dans le RA ou le CERFA.\",\r\n\"freins\": \"Freins financiers : FIS r\u00e9alis\u00e9 \u00e0 51% du pr\u00e9vu (36 000 \u20ac vs 70 000 \u20ac pr\u00e9vu). Budget total r\u00e9alis\u00e9 \u00e0 67% (52 637 \u20ac vs 78 000 \u20ac). \\nFreins humains (\u00e9quipes et publics) : recours massif aux intermittents et free-lances (20+ intermittents)  Structure fragilis\u00e9e en cas de r\u00e9duction des financements. \\nFreins logistiques et mat\u00e9riels : charge indirecte fonctionnement 6 500 \u20ac (non pr\u00e9vue initialement).\",\r\n\"ameliorer\": \"Favorise l'acc\u00e8s \u00e0 du mat\u00e9riel audiovisuel professionnel \u00e0 co\u00fbts r\u00e9duits pour personnes en QPV. Des ateliers p\u00e9dagogiques (montage, tournage, photo) pour l'expression de la cr\u00e9ativit\u00e9 et \u00e9changes\",\r\n\"emanciper\": \"Les sessions d'accompagnement audiovisuel et les ateliers ont permis l'acquisition de comp\u00e9tences techniques transf\u00e9rables (incrustation fond vert, stop-motion, montage) chez des coll\u00e9giens et jeunes QPV, certains r\u00e9alisant des films dans des conditions professionnelles\",\r\n\"reveler\": \"Visibilisation de talents QPV via le soutien \u00e0 des collectifs \u00e9mergents (Soul of Marseille, Rodrig Family) et la r\u00e9sidence D\u00e9nominateur Commun (dialogue franco-br\u00e9silien). Rayonnement via le Festival Tous Courts et le r\u00e9seau Sud Tiers Lieux \/ F\u00e9d\u00e9ration des Cin\u00e9-clubs (30+ partenaires). \\nB\u00e9n\u00e9volat valoris\u00e9 : 6 864 \u20ac\"\r\n},\r\n{\r\n\"theme\": \"CULTURE\",\r\n\"porteur\": \"Les Petits D\u00e9brouillards\",\r\n\"projet\": \"Culture et sciences dans les centres sociaux\",\r\n\"resume\": \"Projet culturel et \u00e9ducatif visant \u00e0 renforcer la place de la culture et des sciences dans le projet social des centres sociaux, \u00e0 destination des \u00e9quipes de ces structures et des enfants qu'elles accueillent.\",\r\n\"territoire\": \"Marseille 1er,10,13,14,15 et 16 Marignagne, Martigues et Miramas\",\r\n\"fis\": \"15\u202f000,00 \u20ac\",\r\n\"budget\": \"17\u202f876,00 \u20ac\",\r\n\"partFis\": \"84,0%\",\r\n\"personnes\": \"118\",\r\n\"actions\": \"6 animations + 1 journ\u00e9e de formation, 7 \u00e9v\u00e9nements au total\",\r\n\"nbPartenaires\": \"NR\",\r\n\"competences\": \"curiosit\u00e9, cr\u00e9ativit\u00e9, entraide et ouverture culturelle ; les participantes \u00e0 la formation ont renforc\u00e9 leur capacit\u00e9 \u00e0 pr\u00e9parer des interventions culturelles\",\r\n\"lienSocial\": \"participation active, l\u2019expression personnelle, la r\u00e9flexion collective et l\u2019inclusion de publics diff\u00e9rents\",\r\n\"comportement\": \"NR\",\r\n\"sorties\": \"positives\\tFort enthousiasme, adh\u00e9sion aux activit\u00e9s, enrichissement des exp\u00e9riences par les sorties culturelles, satisfaction des participantes \u00e0 la formation\",\r\n\"freins\": \"Freins financiers : l\u00e9gers d\u00e9passements de postes de d\u00e9penses \u2014 prestataires de d\u00e9placement pour les groupes et cachets d'artistes plus \u00e9lev\u00e9s que pr\u00e9vu (aucun \u00e9cart jug\u00e9 \\\"significatif\\\" par la structure elle-m\u00eame).\\n\\nFreins humains (\u00e9quipes et publics) : sur le projet \\\"\u00c9galit\u00e9 femme\/homme & musique\\\" \u00e0 Miramas, le public jeune (4-10 ans) a rendu la th\u00e9matique plus complexe \u00e0 traiter ; des limites p\u00e9dagogiques li\u00e9es \u00e0 l'\u00e2ge et au niveau de compr\u00e9hension des enfants ont \u00e9t\u00e9 not\u00e9es sur plusieurs ateliers, n\u00e9cessitant des ajustements en cours de route.\",\r\n\"ameliorer\": \"Ateliers culture et sciences dans 6 centres sociaux, fort enthousiasme et enrichissement des participants par les sorties culturelles\",\r\n\"emanciper\": \"Renforcement de la capacit\u00e9 des r\u00e9f\u00e9rents familles, jeunes \u00e0 pr\u00e9parer et animer eux-m\u00eames des interventions culturelles. D\u00e9veloppement de la curiosit\u00e9, de la cr\u00e9ativit\u00e9 et de l'ouverture culturelle.\",\r\n\"reveler\": \"\"\r\n},\r\n{\r\n\"theme\": \"EMPLOI\/INSERTION\",\r\n\"porteur\": \"PAIS\",\r\n\"projet\": \"Par emploi (Plateforme mode de garde)\",\r\n\"resume\": \"Projet d'insertion professionnelle visant \u00e0 lever les freins li\u00e9s \u00e0 la garde d'enfants dans le retour \u00e0 l'emploi, \u00e0 destination des familles des quartiers prioritaires de Salon-de-Provence.\",\r\n\"territoire\": \"QPV Salon-de-Pce\",\r\n\"fis\": \"28\u202f000,00 \u20ac\",\r\n\"budget\": \"35\u202f081,00 \u20ac\",\r\n\"partFis\": \"79,8%\",\r\n\"personnes\": \"10\",\r\n\"actions\": \"7 diagnostics\",\r\n\"nbPartenaires\": \"7\",\r\n\"competences\": \"1 personne en accompagnement socio-professionnel actif (accompagnement d\u00e9marr\u00e9). Formation implicite des 3 RH affect\u00e9es : structuration organisationnelle, cr\u00e9ation de supports p\u00e9dagogiques (fiche de prescription, film, affiche, flyer, outil de suivi). Mode de garde financ\u00e9 par le dispositif pour 1 b\u00e9n\u00e9ficiaire en entr\u00e9e formation juillet 2025.\",\r\n\"lienSocial\": \"NR \u2014 Pas de donn\u00e9es qualitatives document\u00e9es sur l'impact lien social en ann\u00e9e 1 (phase de diagnostic territorial). Les ateliers collectifs pr\u00e9vus n'ont pas encore produit d'impact mesurable au moment du bilan.\",\r\n\"comportement\": \"Changement de repr\u00e9sentation document\u00e9 qualitativement : prise de conscience que parentalit\u00e9 et employabilit\u00e9 sont conciliables ('il est non seulement possible de concilier parentalit\u00e9 et employabilit\u00e9 mais surtout n\u00e9cessaire'). 1 personne ayant lev\u00e9 son frein mode de garde et entr\u00e9e en formation juillet 2025 = changement comportemental concret document\u00e9.\",\r\n\"sorties\": \"1 personne int\u00e9gr\u00e9e en accompagnement. 1 solution de mode de garde mobilis\u00e9e et financ\u00e9e par le dispositif. 1 entr\u00e9e en formation juillet 2025. (Source : CERFA bilan qualitatif \u2014 donn\u00e9es quantitatives tr\u00e8s limit\u00e9es \u2014 phase 1 = diagnostic territorial).\",\r\n\"freins\": \"Freins humains (\u00e9quipes et publics) : structuration difficile \u00e0 3 ETP sur petits \u00e9quivalents temps plein. \\nFreins humains (\u00e9quipes et publics) : peu de prescriptions re\u00e7ues malgr\u00e9 bonne r\u00e9ception du dispositif par les partenaires. \\nFreins institutionnels et partenariaux : financement rendu tardivement en 2024, d\u00e9marrage effectif retard\u00e9. \\nFreins logistiques et mat\u00e9riels : absence d'une charg\u00e9e de projet d\u00e9di\u00e9e jusqu'en juin 2025.\",\r\n\"ameliorer\": \"Lev\u00e9e d'un frein de garde d'enfant. Parentalit\u00e9 et employabilit\u00e9 d\u00e9sormais conciliables.\",\r\n\"emanciper\": \"Accompagnement socio-professionnel. Structuration des 3 RH affect\u00e9es (supports p\u00e9dagogiques, outil de suivi) capacit\u00e9 organisationnelle \u00e9mergente\",\r\n\"reveler\": \"\"\r\n},\r\n{\r\n\"theme\": \"EMPLOI\/INSERTION\",\r\n\"porteur\": \"Apprentis d Auteuil\",\r\n\"projet\": \"Impact Jeunes PIC [Emploi]\",\r\n\"resume\": \"Projet d'insertion professionnelle visant \u00e0 remobiliser vers l'emploi les jeunes \u00e9loign\u00e9s des dispositifs classiques, \u00e0 destination des 13-30 ans des quartiers prioritaires de Marseille et d'Arles.\",\r\n\"territoire\": \"QPV Mlle+Arles\",\r\n\"fis\": \"120\u202f000,00 \u20ac\",\r\n\"budget\": \"852\u202f565,00 \u20ac\",\r\n\"partFis\": \"14,1%\",\r\n\"personnes\": \"190 jeunes sensibilis\u00e9s dont 67 suivis\",\r\n\"actions\": \"75 actions PIC+\u00e9v\u00e9nements CEJ\",\r\n\"nbPartenaires\": \"20\",\r\n\"competences\": \"1 760 jeunes en accompagnement individualis\u00e9 (mont\u00e9e en comp\u00e9tences, remobilisation, plan d'action). 80 bourses individuelles attribu\u00e9es (permis de conduire, ordinateur, financement \u00e9tudes\/formation). 75 actions co-construites avec partenaires associatifs locaux. Formation aux outils d'orientation (Parcour\u00e9o, depuis juillet 2024). BAFA : plus de 60 jeunes form\u00e9s (co-construction avec L\u00e9o Lagrange et CEMEA). (Source : CRF qualitatif pages 4-5)\",\r\n\"lienSocial\": \"Maillage fort avec ~200 partenaires. Co-construction de permanences sant\u00e9 (MDA + Collectif Solide). 'Petits d\u00e9jeuners du Trebon' (r\u00e9unions acteurs sociaux). \u00c9v\u00e9nements lien social (f\u00eates quartier, Maximus Cup). Verbatims : 'ph\u00e9nom\u00e8ne de contagion positive'. Partenariats entreprises (Tour Luma : 5 entretiens, 3 contrats propos\u00e9s). R\u00e9seaux sociaux comme vecteurs de lien (350 abonn\u00e9s Snap).\",\r\n\"comportement\": \"Frise Impact Jeunes (progression mesur\u00e9e individuellement) : \u00e0 l'entr\u00e9e 11 d\u00e9motiv\u00e9s + 29 en remobilisation + 17 avec projet d\u00e9fini \u2192 \u00e0 la sortie 9 d\u00e9motiv\u00e9s + 12 en remobilisation + 6 avec projet + 17 en parcours + 23 en emploi. Progression nette vers l'emploi : +22 jeunes. 22 nouveaux dipl\u00f4mes obtenus sur les 67 jeunes CEJ JR accompagn\u00e9s. R\u00e9duction des freins p\u00e9riph\u00e9riques document\u00e9e (administratif, logement, sant\u00e9, mobilit\u00e9) entre entr\u00e9e et sortie. (Source : bilan AALI CEJ JR pages 10, 24-25)\",\r\n\"sorties\": \"33% de sorties positives sur les 1 760 accompagnements PIC (CDI ou CDD > 6 mois ou cr\u00e9ation entreprise). Dont 15% CDI et 14% CDD > 6 mois. 40% sorties dynamiques (formation, reprise \u00e9tudes, contrats courts). Sur 67 jeunes CEJ JR : 25% emploi durable (>6 mois), 21% en formation, 12% emploi court. 22 nouveaux dipl\u00f4mes obtenus. 80 bourses individuelles. (Source : CRF qualitatif pages 3-4 + bilan AALI p.24-25)\",\r\n\"freins\": \"Freins humains (\u00e9quipes et publics) : jeunes 'en rupture' tr\u00e8s \u00e9loign\u00e9s, d\u00e9crochage scolaire, sant\u00e9 mentale, addictions, sans-domicile, sous main de justice. Mobilisation longue et incertaine. \\nFreins humains (\u00e9quipes et publics) : coordinatrice et boosteur en phase de cl\u00f4ture (travail finalisation bilan jusqu'\u00e0 juin 2025). \\nFreins institutionnels et partenariaux : CD13 r\u00e9alis\u00e9 \u00e0 57% du pr\u00e9vu (40 000 \u20ac sur 70 000 \u20ac). Dotation amortissements (68) major\u00e9e par provisions RH (+5k\u20ac pr\u00e9vu \u2192 84 742 \u20ac r\u00e9alis\u00e9) = contentieux RH. M\u00e9c\u00e9nat r\u00e9alis\u00e9 \u00e0 41% du pr\u00e9vu (86 082 \u20ac sur 209 689 \u20ac).\",\r\n\"ameliorer\": \"R\u00e9duction document\u00e9e des freins p\u00e9riph\u00e9riques (administratif, logement, sant\u00e9, mobilit\u00e9) entre entr\u00e9e et sortie de parcours. Des bourses individuelles (permis, ordinateur, financement \u00e9tudes).\",\r\n\"emanciper\": \"Progression nette vers l'emploi, des sorties positives, nouveaux dipl\u00f4mes, et nombreux jeunes form\u00e9s au BAFA, autonomie professionnelle acquise.\",\r\n\"reveler\": \"Maillage partenarial, permanences sant\u00e9 co-construites, partenariats entreprises et \u00ab ph\u00e9nom\u00e8ne de contagion positive \u00bb document\u00e9 effet d'entra\u00eenement territorial.\"\r\n},\r\n{\r\n\"theme\": \"EMPLOI\/INSERTION\",\r\n\"porteur\": \"La Cloche\",\r\n\"projet\": \"Mon Taf Solidaire\",\r\n\"resume\": \"Projet d'insertion professionnelle visant \u00e0 favoriser un retour progressif \u00e0 l'emploi en s'appuyant sur les commerces de proximit\u00e9, \u00e0 destination de personnes en grande pr\u00e9carit\u00e9 \u00e0 Marseille.\",\r\n\"territoire\": \"Marseille\",\r\n\"fis\": \"15\u202f000,00 \u20ac\",\r\n\"budget\": \"107\u202f000,00 \u20ac\",\r\n\"partFis\": \"14,0%\",\r\n\"personnes\": \"23\",\r\n\"actions\": \"3 bin\u00f4mes\/3 ap\u00e9 rues\/7 bilans\",\r\n\"nbPartenaires\": \"\",\r\n\"competences\": \"100% des tafeurs ont repris une activit\u00e9 professionnelle \u00e0 l'issue de MTS en 2024. 2 embauch\u00e9s directement par leur commer\u00e7ant (Jo \u2013 Marmite Joyeuse, Rachid \u2013 Asabiya 15h\/semaine). Michel : formateur animateur au senior lab. Charge de travail \u00e9volutive et progressive. 4 femmes et 10 hommes \u00e9quipes commer\u00e7ants form\u00e9s 'Comment accueillir dans son commerce'. 6 b\u00e9n\u00e9voles candidats pour la librairie internationale au 31\/12\/2024. (Source : bilan 2024)\",\r\n\"lienSocial\": \"Commer\u00e7ants transform\u00e9s : 'Maintenant on a vraiment du mal \u00e0 faire notre mise en place sans que Rachid soit l\u00e0' (Paul, Asabiya). Lien de confiance fort entre tafeurs et commer\u00e7ants \u2014 '\u00e7a l\u00e8ve des barri\u00e8res et des pr\u00e9jug\u00e9s.' \u00c9v\u00e9nements de proximit\u00e9 (ap\u00e9'rue, r\u00e9veillon solidaire) cr\u00e9ent du lien dans les quartiers. Anciens tafeurs recruteurs pour les nouveaux.\",\r\n\"comportement\": \"Changement de comportement document\u00e9 qualitativement : Rachid \u2014 'Avant, le matin \u00e9tait toujours compliqu\u00e9 car je bossais souvent le soir. Aujourd'hui \u00e7a a chang\u00e9. Je me l\u00e8ve tr\u00e8s bien le matin, j'ai repris un rythme normal.' Jo \u2014 stabilit\u00e9 et logement retrouv\u00e9s. R\u00e9appropriation d'un rythme de vie professionnel. Restauration de la confiance en soi et dans le monde du travail : '\u00e7a fait toujours du bien de travailler.' (Source : bilan 2024)\",\r\n\"sorties\": \"100% des tafeurs 2024 ont repris une activit\u00e9 professionnelle. 2 embauch\u00e9s directement par leur commer\u00e7ant (emploi durable CDI\/CDD formalis\u00e9). 1 devenu formateur d'animateur (Michel). Jo : retrouv\u00e9 stabilit\u00e9 + logement + reprise suivi sant\u00e9 laiss\u00e9 de c\u00f4t\u00e9 20 ans. 6 b\u00e9n\u00e9voles candidats \u00e0 la librairie internationale (pipeline insertion). (Source : bilan 2024 r\u00e9sultats tafeurs)\",\r\n\"freins\": \"Freins humains (\u00e9quipes et publics) : fin du contrat de la charg\u00e9e de projet initiale (sept 2024)  prise de poste nouvelle coordinatrice \u00e0 50% sur MTS. \\nFreins institutionnels et partenariaux : beaucoup de temps consacr\u00e9 \u00e0 la lev\u00e9e de fonds au d\u00e9triment de l'op\u00e9rationnel. Manque de communication sur le dispositif.\\n Freins logistiques et mat\u00e9riels : sous-effectif pour organisation \u00e9v\u00e9nements proximit\u00e9. Objectifs chiffr\u00e9s 2024 non atteints : 5 bin\u00f4mes pr\u00e9vus \u2192 3 r\u00e9alis\u00e9s.\",\r\n\"ameliorer\": \"Restauration concr\u00e8te d'un rythme de vie et d'une stabilit\u00e9 (logement, sant\u00e9) pour les tafeurs. Confiance en soi restaur\u00e9e par le lien avec les commer\u00e7ants\",\r\n\"emanciper\": \"100% des tafeurs 2024 ont repris une activit\u00e9 professionnelle, 2 embauches directes, 1 devenu formateur. \\nAutonomie professionnelle effective, \u00e0 effectif restreint (3\/3).\",\r\n\"reveler\": \"Lien de confiance tafeur\/commer\u00e7ant qui \u00ab l\u00e8ve des barri\u00e8res et des pr\u00e9jug\u00e9s \u00bb, anciens tafeurs devenus recruteurs des nouveaux, 6 candidatures b\u00e9n\u00e9voles pour la librairie internationale dynamique d'entra\u00eenement et de reconnaissance mutuelle.\"\r\n},\r\n{\r\n\"theme\": \"EMPLOI\/INSERTION\",\r\n\"porteur\": \"Les Chemins du Faire\",\r\n\"projet\": \"Festival Vocations 2024\",\r\n\"resume\": \"\u00c9v\u00e9nement d\u00e9di\u00e9 \u00e0 l'insertion professionnelle, visant \u00e0 faire d\u00e9couvrir et valoriser les m\u00e9tiers manuels et techniques, \u00e0 destination des jeunes du territoire m\u00e9tropolitain.\",\r\n\"territoire\": \"MUCEM Marseille\",\r\n\"fis\": \"20\u202f000,00 \u20ac\",\r\n\"budget\": \"317\u202f000,00 \u20ac\",\r\n\"partFis\": \"6,3%\",\r\n\"personnes\": \"2061\",\r\n\"actions\": \"50+ (23 rencontres+25 ateliers+Fairiades)\",\r\n\"nbPartenaires\": \"142 intervenants+ML+E2C+FT+MUCEM\",\r\n\"competences\": \"23 rencontres th\u00e9matiques autour de 'Construire' (conf\u00e9rences, tables rondes, masterclasses). 25 ateliers manuels (6 Forum MUCEM, 14 Cour de la Commande, 5 autres). 142 intervenants pr\u00e9sents (rencontres + ateliers). Sessions de recrutement par simulation (France Travail). D\u00e9tection de potentiels. Publication d'Actes aux Presses des Mines (mars 2025). Rallye mythologique (CIO, Mission locale, E2C). Concours Fairiades.\",\r\n\"lienSocial\": \"M\u00e9lange de publics 'qui se c\u00f4toient peu d'ordinaire' (ing\u00e9nieurs, artisans, scolaires, demandeurs d'emploi, grand public). Cr\u00e9ation de liens inter-sectoriels document\u00e9e (patronni\u00e8re + r\u00e9alisateur documentaire \u2192 projet film). Effet de 'contagion' entre intervenants. \u00c9v\u00e9nement de coh\u00e9sion sociale autour des m\u00e9tiers manuels dans un lieu \u00e0 fort rayonnement.\",\r\n\"comportement\": \"D\u00e9clic vocationnel document\u00e9 qualitativement : 'Des \u00e9l\u00e8ves venus avec leur professeur sont revenus le samedi avec leurs parents (pour les ateliers manuels).' Professeurs et r\u00e9f\u00e9rents Mission locale et E2C souhaitent 'participer \u00e0 l'\u00e9laboration du programme' de la prochaine \u00e9dition. Intervenants choisissent d'assister aux autres rencontres \u2192 \u00e9changes professionnels inter-secteurs spontan\u00e9s. (Source : CERFA bilan qualitatif section 'Analyse')\",\r\n\"sorties\": \"3 laur\u00e9ats Concours Fairiades (dotations 3 000 \u20ac). D\u00e9tection de potentiels par France Travail. Sessions recrutement par simulation. Mise en relation ing\u00e9nieurs\/entreprises. Passerelles \u00e9tablissements scolaires \u2192 AFPA \u2192 formations. Orientation vers la Mission locale pour les jeunes. NR : pas de suivi des trajectoires post-festival.\",\r\n\"freins\": \"Freins institutionnels et partenariaux : faible implication des f\u00e9d\u00e9rations professionnelles et Chambre des M\u00e9tiers dans le relais information. France Travail : seule l'agence Belle de Mai a communiqu\u00e9 en interne. \\nFreins logistiques et mat\u00e9riels : couverture presse cons\u00e9quente mais tardive grand public peu inform\u00e9 avant le festival. \\nFreins humains (\u00e9quipes et publics) : avances sur frais membres association 'trop importantes (75%)' non renouvelables r\u00e9guli\u00e8rement. Structure enti\u00e8rement b\u00e9n\u00e9vole. (Source : CERFA donn\u00e9es chiffr\u00e9es annexe)\",\r\n\"ameliorer\": \"D\u00e9clic vocationnel v\u00e9cu par des \u00e9l\u00e8ves (retour un samedi avec leurs parents pour les ateliers manuels). Mixit\u00e9 de publics rarement r\u00e9unis (ing\u00e9nieurs, artisans, scolaires, demandeurs d'emploi).\",\r\n\"emanciper\": \"Sessions de recrutement par simulation, d\u00e9tection de potentiels, passerelles \u00e9tablissements scolaires \u2192 AFPA \u2192 formations. 3 laur\u00e9ats du Concours Fairiades (3 000 \u20ac)\",\r\n\"reveler\": \"142 intervenants, publication d'Actes aux Presses des Mines, liens inter-sectoriels spontan\u00e9s (patronni\u00e8re + r\u00e9alisateur documentaire \u2192 projet film), effet de \u00ab contagion \u00bb entre intervenants fort effet de levier et de rayonnement.\"\r\n},\r\n{\r\n\"theme\": \"EMPLOI\/INSERTION\",\r\n\"porteur\": \"LES JARDINS DE L'ESPERANCE\",\r\n\"projet\": \"Ramassage des plantes invasives : protection des \u00e9cosyst\u00e8mes du littoral, de la biodiversit\u00e9 et insertion\",\r\n\"resume\": \"Projet d'insertion par l'activit\u00e9 \u00e9conomique articul\u00e9 \u00e0 la pr\u00e9servation des milieux naturels du littoral, \u00e0 destination de jeunes de moins de 30 ans \u00e0 La Ciotat.\",\r\n\"territoire\": \"La Ciotat\",\r\n\"fis\": \"20\u202f000,00 \u20ac\",\r\n\"budget\": \"132\u202f537,00 \u20ac\",\r\n\"partFis\": \"15,1%\",\r\n\"personnes\": \"NR\",\r\n\"actions\": \"Chantiers participatifs site Sainte-Fr\u00e9touse (\u00ab Agir pour le patrimoine \u00bb) : restauration murs en pierre s\u00e8che, arrachage des plantes invasives, r\u00e9colte d'olives + press\u00e9e d'huile\",\r\n\"nbPartenaires\": \"NR\",\r\n\"competences\": \"3 livrets d'information produits (taille douce des oliviers, murs en pierre s\u00e8che, plantes invasives) dans le cadre du Parc national des Calanques\",\r\n\"lienSocial\": \"Retours participants positifs (d\u00e9claratif) : convivialit\u00e9, rencontre de nouvelles personnes, apprentissage pratique autour du patrimoine et de la biodiversit\u00e9\",\r\n\"comportement\": \"NR\",\r\n\"sorties\": \"NR\",\r\n\"freins\": \"Freins financiers : plusieurs cofinancements publics n'ont pas \u00e9t\u00e9 obtenus au niveau esp\u00e9r\u00e9 \u2014 R\u00e9gion r\u00e9alis\u00e9e \u00e0 50% (8 500 \u20ac sur 17 000 \u20ac pr\u00e9vus), Intercommunalit\u00e9\/EPCI \u00e0 35% (7 000 \u20ac sur 20 000 \u20ac), D\u00e9partement \u00e0 73% (39 920 \u20ac sur 54 920 \u20ac), et aides priv\u00e9es \u00e0 seulement 44% (15 000 \u20ac sur 34 000 \u20ac). Un d\u00e9ficit de tr\u00e9sorerie de 887 \u20ac a \u00e9t\u00e9 constat\u00e9 en fin d'exercice, bien que l'association qualifie cet \u00e9cart de non significatif.\\n\\nFreins logistiques\/op\u00e9rationnels : le poste \\\"Formation des salari\u00e9s\\\" a explos\u00e9 \u00e0 128% du pr\u00e9visionnel (97 014 \u20ac r\u00e9alis\u00e9s contre 75 941 \u20ac pr\u00e9vus), li\u00e9 \u00e0 la formation des salari\u00e9s en insertion, g\u00e9n\u00e9rant un surco\u00fbt impr\u00e9vu sur les services ext\u00e9rieurs (124% au global).\",\r\n\"ameliorer\": \"Retours participants positifs (convivialit\u00e9, apprentissage pratique) autour du patrimoine et de la biodiversit\u00e9 du Parc national des Calanques.\",\r\n\"emanciper\": \"3 livrets d'information produits (taille douce des oliviers, murs en pierre s\u00e8che, plantes invasives) capitalisation de savoir-faire transf\u00e9rable. Une mont\u00e9e en comp\u00e9tence des participants.\",\r\n\"reveler\": \"\"\r\n},\r\n{\r\n\"theme\": \"EMPLOI\/INSERTION\",\r\n\"porteur\": \"La Caravelle\",\r\n\"projet\": \"Plateforme achats solidaires\",\r\n\"resume\": \"Projet d'insertion et de solidarit\u00e9 visant \u00e0 am\u00e9liorer le pouvoir d'achat des m\u00e9nages en difficult\u00e9, \u00e0 destination des habitants de Marseille.\",\r\n\"territoire\": \"Marseille\",\r\n\"fis\": \"30\u202f000,00 \u20ac\",\r\n\"budget\": \"60\u202f000,00 \u20ac\",\r\n\"partFis\": \"\",\r\n\"personnes\": \"NR\",\r\n\"actions\": \"3 campagnes achats+r\u00e9unions\",\r\n\"nbPartenaires\": \"20 asso+13 fournisseurs\",\r\n\"competences\": \"Formation implicite de la charg\u00e9e de projet (Mme Khelifi) aux fonctions de marketing, commercial et communication. Comp\u00e9tences de n\u00e9gociation fournisseurs acquises. Processus de contractualisation et campagnes d'achats formalis\u00e9s.\",\r\n\"lienSocial\": \"Construction d'un r\u00e9seau de solidarit\u00e9 entre structures d'h\u00e9bergement social (Groupement de Coop\u00e9ration). Mise en commun de ressources et de pratiques. Renforcement de la coop\u00e9ration inter-associative dans le secteur de l'h\u00e9bergement.\",\r\n\"comportement\": \"R\u00e9duction des co\u00fbts d'approvisionnement pour les associations partenaires (achats group\u00e9s \u00e0 tarifs pr\u00e9f\u00e9rentiels). Professionnalisation des pratiques d'achat des associations d'h\u00e9bergement. Cr\u00e9ation d'un nouveau process partenarial entre structures du secteur social marseillais.\",\r\n\"sorties\": \"Acc\u00e8s \u00e0 des produits de premi\u00e8re n\u00e9cessit\u00e9 (couches, draps, lait) \u00e0 des prix r\u00e9duits pour les personnes h\u00e9berg\u00e9es. R\u00e9duction indirecte de la pr\u00e9carit\u00e9 mat\u00e9rielle des publics h\u00e9berg\u00e9s. NR : pas de mesure directe de l'impact sur les b\u00e9n\u00e9ficiaires finaux dans le CERFA.\",\r\n\"freins\": \"Freins humains (\u00e9quipes et publics) : d\u00e9mission de la charg\u00e9e de projet Mme Khelifi (ao\u00fbt 2025) suite \u00e0 surcharge logistique  cumul impossible des fonctions marketing + commercial + magasinier dans un seul poste. \\nFreins logistiques et mat\u00e9riels : locaux La Caravelle inadapt\u00e9s aux volumes (milliers de couches et draps = probl\u00e8me de stockage et reconditionnement). \\nFreins institutionnels et partenariaux : charges fixes non refacturables \u00e0 ce stade  fragilit\u00e9 du mod\u00e8le \u00e9conomique.\\n Freins institutionnels et partenariaux (arr\u00eat\/transition du projet) : projet en pause (pas de recrutement pr\u00e9vu \u00e0 court terme).\",\r\n\"ameliorer\": \"Acc\u00e8s \u00e0 des produits de premi\u00e8re n\u00e9cessit\u00e9 (couches, draps, lait) \u00e0 prix r\u00e9duits pour les personnes h\u00e9berg\u00e9es. R\u00e9duction indirecte de la pr\u00e9carit\u00e9 mat\u00e9rielle.\",\r\n\"emanciper\": \"Professionnalisation des pratiques d'achat et mont\u00e9e en comp\u00e9tences marketing\/n\u00e9gociation. Formalisation d'un processus de contractualisation reproductible.\",\r\n\"reveler\": \"Construction d'un r\u00e9seau de solidarit\u00e9 inter-structures (Groupement de Coop\u00e9ration), mutualisation de ressources effet de levier pour le secteur de l'h\u00e9bergement social marseillais.\"\r\n},\r\n{\r\n\"theme\": \"EMPLOI\/INSERTION\",\r\n\"porteur\": \"AMS Environnement\",\r\n\"projet\": \"Seconde Pousse\",\r\n\"resume\": \"Projet d'insertion par l'activit\u00e9 \u00e9conomique articul\u00e9 \u00e0 la r\u00e9silience alimentaire du territoire, \u00e0 destination de personnes en parcours d'insertion et de familles en pr\u00e9carit\u00e9 alimentaire.\",\r\n\"territoire\": \"La Roque d\u2019Anth\u00e9ron\",\r\n\"fis\": \"20\u202f000,00 \u20ac\",\r\n\"budget\": \"397\u202f556,00 \u20ac\",\r\n\"partFis\": \"5,6%\",\r\n\"personnes\": \"Personnes en insertion impliqu\u00e9es : 32 personnes\",\r\n\"actions\": \"8 ateliers cuisine, 856 arbres, 1 168 paniers solidaires\",\r\n\"nbPartenaires\": \"\",\r\n\"competences\": \"\",\r\n\"lienSocial\": \"\",\r\n\"comportement\": \"\",\r\n\"sorties\": \"\",\r\n\"freins\": \"Freins financiers : la subvention \u00c9tat \\\"Travail et Solidarit\u00e9\\\" a \u00e9t\u00e9 r\u00e9alis\u00e9e \u00e0 seulement 4% du pr\u00e9vu (8 284 \u20ac sur 194 690 \u20ac pr\u00e9vus) \u2014 un \u00e9cart consid\u00e9rable. Les aides priv\u00e9es ont \u00e9galement fortement chut\u00e9, r\u00e9alis\u00e9es \u00e0 14% (1 294 \u20ac sur 9 250 \u20ac pr\u00e9vus), et le total des produits n'atteint que 90% du pr\u00e9visionnel (356 847 \u20ac sur 397 556 \u20ac), cr\u00e9ant un d\u00e9s\u00e9quilibre puisque les charges, elles, ont \u00e9t\u00e9 ex\u00e9cut\u00e9es \u00e0 100% (399 240 \u20ac). L'association mentionne explicitement une \\\"baisse des commandes publiques\\\" comme facteur explicatif.\\n\\nFreins institutionnels\/administratifs : des changements de m\u00e9thodes comptables ont compliqu\u00e9 le suivi budg\u00e9taire \u2014 int\u00e9gration de nouveaux transferts de charges (s\u00e9curit\u00e9 sociale, formations, cotisations OPCO) et disparition du compte \\\"79 - Transfert de charges\\\", n\u00e9cessitant une r\u00e9affectation vers un autre poste comptable.\",\r\n\"ameliorer\": \"\",\r\n\"emanciper\": \"\",\r\n\"reveler\": \"\"\r\n},\r\n{\r\n\"theme\": \"PARTICIPATION\",\r\n\"porteur\": \"Les Muses Urbaines\",\r\n\"projet\": \"Bus Ensemble(s)\",\r\n\"resume\": \"Projet de participation citoyenne visant \u00e0 cr\u00e9er des espaces de rencontre et d'implication au plus pr\u00e8s des quartiers, \u00e0 destination des habitants des quartiers prioritaires de Marseille.\",\r\n\"territoire\": \"QPV Marseille\",\r\n\"fis\": \"60\u202f000,00 \u20ac\",\r\n\"budget\": \"133\u202f859,00 \u20ac\",\r\n\"partFis\": \"44,8%\",\r\n\"personnes\": \"Environ 350 personnes touch\u00e9es : ~230 habitants adultes (sond\u00e9s + portraits) ; ~65 jeunes ; ~55 acteurs locaux\/associatifs. Restitutions : ~50 personnes (Castellane) + >70 personnes (Paternelle). Questionnaire soumis \u00e0 440+ personnes (M\u00e9canique de la cit\u00e9, financ\u00e9 contrat de ville)\",\r\n\"actions\": \"2 restitutions+2 balades+2 Q\u00c9+9 classes\",\r\n\"nbPartenaires\": \"13\",\r\n\"competences\": \"Ateliers dessin et conception 3D enfants (Castellane). Ateliers num\u00e9riques (mod\u00e9lisation cit\u00e9 id\u00e9ale). Sensibilisation num\u00e9rique. Formation stagiaire M2 AMU (am\u00e9nagement\/urbanisme, 6 mois). Stagiaire M2 g\u00e9ographie TELEMME (nov. 2024 +). Atelier participatif place des Marseillaises (26\/03\/2025). Captations sonores.\",\r\n\"lienSocial\": \"Central : \u00ab tisser les liens d'entraide de pair \u00e0 pair \u00bb (Journ\u00e9e des liens). Sentiment d'appartenance au quartier renforc\u00e9. Cr\u00e9ation d'un groupe WhatsApp Belsunce (extension num\u00e9rique du collectif). Forum associatif Air Bel : mise en r\u00e9seau associations + habitants. Entraide interg\u00e9n\u00e9rationnelle (s\u00e9niors, enfants, jeunes).\",\r\n\"comportement\": \"Prise de conscience de l'histoire et de l'\u00e9volution de leur cadre de vie par les habitants. Appropriation de nouveaux outils num\u00e9riques (ateliers 3D, mod\u00e9lisation). \u00c9l\u00e8ves : \u00ab prendre conscience de l'\u00e9volution de leur cadre de vie \u00bb (rapport). Habitants : r\u00e9flexions sur droits bailleurs \/ cadre de vie (Ch\u00e2teau Saint Loup).\",\r\n\"sorties\": \"Projet emploi : 97 jeunes orient\u00e9s vers dispositifs (2023\u20132024). Acc\u00e8s aux droits des locataires facilit\u00e9 (ateliers d\u00e9cret 1987, Ch\u00e2teau Saint Loup). Pas d'indicateurs chiffr\u00e9s de sorties positives emploi\/formation sur l'action Bus Ensemble(s) sp\u00e9cifiquement.\",\r\n\"freins\": \"Freins humains (\u00e9quipes et publics)Renouvellement total de l'\u00e9quipe (4 d\u00e9parts sept.\u2013d\u00e9c. 2024). Actions report\u00e9es sur 2025. \\nFreins institutionnels et partenariauxVersement tardif des financements (ville de Marseille : 15 000\u20ac sur 40 000\u20ac demand\u00e9s  38% de r\u00e9alisation). \\nFreins logistiques et mat\u00e9rielsRecrutement apprenti 3D termin\u00e9, d\u00e9veloppement app. g\u00e9olocalisation report\u00e9 2025.\",\r\n\"ameliorer\": \"Acc\u00e8s aux droits des locataires facilit\u00e9 (ateliers d\u00e9cret 1987, Ch\u00e2teau Saint Loup). Des jeunes orient\u00e9s vers des dispositifs emploi (2023-2024).\",\r\n\"emanciper\": \"Formation de 2 stagiaires M2 (am\u00e9nagement\/urbanisme, g\u00e9ographie). Appropriation par les habitants de nouveaux outils num\u00e9riques (3D, mod\u00e9lisation) et de leur cadre de vie et de leurs droits.\",\r\n\"reveler\": \"\u00ab Tisser les liens d'entraide de pair \u00e0 pair \u00bb, cr\u00e9ation d'un groupe WhatsApp Belsunce, Forum associatif Air Bel mettant en r\u00e9seau associations et habitants dynamique de mise en visibilit\u00e9 du quartier.\"\r\n},\r\n{\r\n\"theme\": \"PARTICIPATION\",\r\n\"porteur\": \"CEPEP\",\r\n\"projet\": \"Maison de l'\u00e9ducation populaire et de la participation\",\r\n\"resume\": \"Projet de participation citoyenne visant \u00e0 installer dans la dur\u00e9e un espace d'implication et de pouvoir d'agir, \u00e0 destination des habitants du quartier de Belsunce \u00e0 Marseille.\",\r\n\"territoire\": \"QPV AMP\",\r\n\"fis\": \"37\u202f000,00 \u20ac\",\r\n\"budget\": \"52\u202f900,00 \u20ac\",\r\n\"partFis\": \"69,9%\",\r\n\"personnes\": \"300\",\r\n\"actions\": \"3 parcours + 12 journ\u00e9es de formation gratuites + 7 projets\",\r\n\"nbPartenaires\": \"18 Collectifs accompagn\u00e9s sur deux territoires\",\r\n\"competences\": \"Mont\u00e9e en comp\u00e9tence expression \u00e0 l'oral \/ 80% des participants d\u00e9clarent une am\u00e9lioration de la confiance en soi\",\r\n\"lienSocial\": \"Rapport \u00e0 l'autre, int\u00e9gration des habitants dans la conception des projets\",\r\n\"comportement\": \"R\u00e9appropriation des trajectoires\",\r\n\"sorties\": \"6 personnes engag\u00e9es dans un collectif \u00e0 l'issue du parcours\",\r\n\"freins\": \"Freins humains (\u00e9quipes et publics) \/ Freins institutionnels et partenariaux\",\r\n\"ameliorer\": \"R\u00e9appropriation des trajectoires personnelles. 80% des participants d\u00e9clarent une am\u00e9lioration de la confiance en soi.\",\r\n\"emanciper\": \"Mont\u00e9e en comp\u00e9tence \u00e0 l'expression orale. Favoriser l'engagement citoyen.\",\r\n\"reveler\": \"Int\u00e9gration des habitants dans la conception m\u00eame des projets, une valorisation des savoirs faire habitant\"\r\n},\r\n{\r\n\"theme\": \"PARTICIPATION\",\r\n\"porteur\": \"Ligue Ens. 13\",\r\n\"projet\": \"Microprojets FIS\",\r\n\"resume\": \"Dispositif de soutien \u00e0 l'initiative citoyenne visant \u00e0 accompagner l'\u00e9mergence de projets locaux, \u00e0 destination des habitants et des petites associations des quartiers prioritaires de la m\u00e9tropole.\",\r\n\"territoire\": \"QPV AMP\",\r\n\"fis\": \"150\u202f000,00 \u20ac\",\r\n\"budget\": \"200\u202f015,00 \u20ac\",\r\n\"partFis\": \"75,0%\",\r\n\"personnes\": \"300\",\r\n\"actions\": \"2 commissions+2 journ\u00e9es+20+ rdv\",\r\n\"nbPartenaires\": \"FLD (co-org.)+ManuFabriK+bailleurs\",\r\n\"competences\": \"12 microprojets soutenus (10 \u00e0 3 000 \u20ac + 2 \u00e0 5 000 \u20ac). Accompagnement des porteurs par le service vie asso de la Ligue. Sensibilisation au droit des locataires. Acc\u00e8s au financement pour collectifs sans compte bancaire (soutien \u00e0 l'ouverture de structures).\",\r\n\"lienSocial\": \"Central : \u00ab tisser les liens d'entraide de pair \u00e0 pair \u00bb. Journ\u00e9es de liens = espace de rencontre inter-collectifs. Soutien \u00e0 l'auto-organisation de voisinage. Reconnexion de collectifs invisibles au tissu institutionnel local. \u00ab Chaque jour un travail de coh\u00e9sion sociale dont personne ne mesure l'importance \u00bb.\",\r\n\"comportement\": \"Collectifs qui \u00ab s'interrogent sur leur propre rapport aux moyens financiers \u00bb (rapport). Prise de conscience de la valeur de l'engagement b\u00e9n\u00e9vole. Passage progressif de l'informel vers la formalisation associative. Autonomisation des porteurs : \u00ab un r\u00e9v\u00e9lateur de leur \u00e9nergie \u00bb.\",\r\n\"sorties\": \"NR \u2014 Pas d'indicateurs de sorties positives (emploi, droits, formation) document\u00e9s sp\u00e9cifiquement pour ce dispositif.\",\r\n\"freins\": \"Freins institutionnels et partenariaux- Fonds re\u00e7us au milieu du second semestre (commission tardive). \\nFreins logistiques et mat\u00e9riels-Pas d'outils de suivi formalis\u00e9s en amont (investissement en ing\u00e9nierie en d\u00e9but d'action). Freins humains (\u00e9quipes et publics)- Collectifs porteurs sans compte bancaire ni structure juridique formelle.\",\r\n\"ameliorer\": \"Acc\u00e8s au financement facilit\u00e9 pour des collectifs sans compte bancaire. Sensibilisation au droit des locataires.\",\r\n\"emanciper\": \"Passage progressif de l'informel vers la formalisation associative, prise de conscience du rapport aux moyens financiers, autonomisation des porteurs.\",\r\n\"reveler\": \"Journ\u00e9es de liens reconnecte des collectifs invisibles au tissu institutionnel \u00ab chaque jour un travail de coh\u00e9sion sociale dont personne ne mesure l'importance \u00bb.\"\r\n},\r\n{\r\n\"theme\": \"PARTICIPATION\",\r\n\"porteur\": \"EnVies EnJeux 13\",\r\n\"projet\": \"Budget participatif quartier Corsy\",\r\n\"resume\": \"Projet de participation citoyenne visant \u00e0 associer les habitants aux d\u00e9cisions concernant leur quartier par un budget participatif, \u00e0 destination des habitants des quartiers prioritaires concern\u00e9s.\",\r\n\"territoire\": \"QPV Le Charrel, Aix-en-Provence\",\r\n\"fis\": \"15\u202f000,00 \u20ac\",\r\n\"budget\": \"19\u202f136,00 \u20ac\",\r\n\"partFis\": \"78,4%\",\r\n\"personnes\": \"500 habitant\u00b7e\u00b7s d\u00e8s 6 ans (400 femmes, 100 hommes)\",\r\n\"actions\": \"3 ateliers diagnostic partag\u00e9 + 3 ateliers solutions + 4 temps de vote (dont 1 journ\u00e9e le 22\/03) + 6 r\u00e9unions de coordination\",\r\n\"nbPartenaires\": \"NR (partenaires associatifs mentionn\u00e9s mais non list\u00e9s dans le CERFA)\",\r\n\"competences\": \"NR\",\r\n\"lienSocial\": \"Diagnostic territorial partag\u00e9 et budget participatif coconstruits avec l'\u00e9quipe projet et les habitant\u00b7e\u00b7s\",\r\n\"comportement\": \"NR\",\r\n\"sorties\": \"NR\",\r\n\"freins\": \"NR\",\r\n\"ameliorer\": \"\",\r\n\"emanciper\": \"\",\r\n\"reveler\": \"Valorisation du v\u00e9cu des habitant\u00b7e\u00b7s par la coconstruction du projet\"\r\n},\r\n{\r\n\"theme\": \"PARTICIPATION\",\r\n\"porteur\": \"EnVies EnJeux 13\",\r\n\"projet\": \"Budget participatif QPV Le Charrel\",\r\n\"resume\": \"Projet de participation citoyenne visant \u00e0 associer les habitants aux d\u00e9cisions concernant leur quartier par un budget participatif, \u00e0 destination des habitants des quartiers prioritaires concern\u00e9s.\",\r\n\"territoire\": \"Quartier Corsy, Aubagne\",\r\n\"fis\": \"15\u202f000,00 \u20ac\",\r\n\"budget\": \"15\u202f000,00 \u20ac\",\r\n\"partFis\": \"100,0%\",\r\n\"personnes\": \"290 habitant\u00b7e\u00b7s d\u00e8s 10 ans\",\r\n\"actions\": \"17h30 d'aller-vers + 5 ateliers habitants + 2 ateliers solutions + 1 journ\u00e9e de vote (26\/04)\",\r\n\"nbPartenaires\": \"NR\",\r\n\"competences\": \"NR\",\r\n\"lienSocial\": \"Mobilisation citoyenne du quartier Corsy, vote participatif dans l'espace public et au centre social Camus\",\r\n\"comportement\": \"NR\",\r\n\"sorties\": \"NR\",\r\n\"freins\": \"NR\",\r\n\"ameliorer\": \"\",\r\n\"emanciper\": \"Mobilisation citoyenne et vote participatif dans l'espace public exercice concret du pouvoir de choisir.\",\r\n\"reveler\": \"\"\r\n},\r\n{\r\n\"theme\": \"PARTICIPATION\",\r\n\"porteur\": \"Ellipsis Effect\",\r\n\"projet\": \"T-shirt+Collectif Belsunce (Tiers-lieu Twali)\",\r\n\"resume\": \"Projet de participation citoyenne et de lien social autour d'un tiers-lieu de quartier, visant \u00e0 renforcer les coop\u00e9rations locales, \u00e0 destination des habitants et des collectifs de Belsunce \u00e0 Marseille.\",\r\n\"territoire\": \"Belsunce Mlle\",\r\n\"fis\": \"10\u202f000,00 \u20ac\",\r\n\"budget\": \"34\u202f050,00 \u20ac\",\r\n\"partFis\": \"29,4%\",\r\n\"personnes\": \"1000\",\r\n\"actions\": \"~18 (7 \u00e9v\u00e9nements+3 r\u00e9unions+3+2)\",\r\n\"nbPartenaires\": \"Twali, IMVT, Ma3na, Hors Normes, Marsiens\",\r\n\"competences\": \"Ateliers d'\u00e9criture Hors Normes (1 s\u00e9ance\/mois sept.\u2013d\u00e9c. 2024). Balades urbaines d\u00e9couverte jardins\/\u00eelots de fra\u00eecheur (2). Atelier participatif place des Marseillaises (26\/03\/2025). Na3na3 podcast en live (20\/09\/2024). Collectif Belsunce (3 r\u00e9unions : 12\/11\/2024, 13\/03\/2025, 24\/06\/2025).\",\r\n\"lienSocial\": \"Central : \u00ab augmenter le nombre d'espaces et de temps d\u00e9di\u00e9s \u00e0 des communaut\u00e9s encore tr\u00e8s peu repr\u00e9sent\u00e9es \u00e0 Marseille \u00bb. Sentiment d'appartenance (Collectif Belsunce). Mise en r\u00e9seau associations inter-quartiers (25\/04\/2025). Accueil inconditionnel de populations migrantes et marginalis\u00e9es.\",\r\n\"comportement\": \"Investissement croissant des habitants dans la vie du quartier (groupe WhatsApp Belsunce \u00ab augmente chaque jour \u00bb). Discussions informelles confirment le besoin de ce type d'espaces pour les communaut\u00e9s marginalis\u00e9es. Co-appropriation de l'espace public (balades, atelier place des Marseillaises).\",\r\n\"sorties\": \"NR \u2014 Pas d'indicateurs de sorties positives formalis\u00e9s.\",\r\n\"freins\": \"Freins humains (\u00e9quipes et publics)Budget r\u00e9duit de plus de moiti\u00e9 par rapport au pr\u00e9visionnel (26k\u20ac \u2192 14k\u20ac) ; invitations intervenants r\u00e9duites de 2\/3. \\nFreins institutionnels et partenariauxCo-financement ville non obtenu (15k\u20ac sur 40k\u20ac). \\nFreins logistiques et mat\u00e9rielsCharges locatives graci\u00e9es par Twali (\u00e9conomie sans cash). \\nFreins financiersFonds propres tr\u00e8s limit\u00e9s (aides priv\u00e9es = 1 000 \u20ac).\",\r\n\"ameliorer\": \"Co-appropriation de l'espace public (balades urbaines, atelier place des Marseillaises) par des communaut\u00e9s peu repr\u00e9sent\u00e9es \u00e0 Marseille.\",\r\n\"emanciper\": \"Ateliers d'\u00e9criture et podcast offrant un espace d'expression.\",\r\n\"reveler\": \"Augmentation des espaces et temps d\u00e9di\u00e9s \u00e0 des communaut\u00e9s peu visibles \u00e0 Marseille (Collectif Belsunce), mise en r\u00e9seau associations inter-quartiers, accueil de populations marginalis\u00e9es.\"\r\n},\r\n{\r\n\"theme\": \"PARTICIPATION\",\r\n\"porteur\": \"Le Mouvement Associatif R\u00e9gion Sud Provence-Alpes-C\u00f4te d\u2019Azur\",\r\n\"projet\": \"\u00ab La journ\u00e9e de l\u2019engagement \u00bb\",\r\n\"resume\": \"\u00c9v\u00e9nement d'\u00e9ducation \u00e0 la citoyennet\u00e9 visant \u00e0 encourager l'engagement associatif, \u00e0 destination des jeunes des quartiers prioritaires.\",\r\n\"territoire\": \"\",\r\n\"fis\": \"35\u202f000,00 \u20ac\",\r\n\"budget\": \"55\u202f000,00 \u20ac\",\r\n\"partFis\": \"63,6%\",\r\n\"personnes\": \"\",\r\n\"actions\": \"\",\r\n\"nbPartenaires\": \"\",\r\n\"competences\": \"\",\r\n\"lienSocial\": \"\",\r\n\"comportement\": \"\",\r\n\"sorties\": \"\",\r\n\"freins\": \"\",\r\n\"ameliorer\": \"\",\r\n\"emanciper\": \"\",\r\n\"reveler\": \"\"\r\n},\r\n{\r\n\"theme\": \"PARTICIPATION\",\r\n\"porteur\": \"Les D\u00e9termin\u00e9s\",\r\n\"projet\": \"Asso'DTR\",\r\n\"resume\": \"Programme d'accompagnement visant \u00e0 renforcer les capacit\u00e9s de d\u00e9veloppement des petites structures associatives, \u00e0 destination des porteurs de projet de l'ESS \u00e0 Marseille.\",\r\n\"territoire\": \"Marseille\",\r\n\"fis\": \"35\u202f000,00 \u20ac\",\r\n\"budget\": \"51\u202f144,00 \u20ac\",\r\n\"partFis\": \"68,4%\",\r\n\"personnes\": \"12 associations locales b\u00e9n\u00e9ficiaires directes, repr\u00e9sentant 12 \u00e0 15 personnes b\u00e9n\u00e9ficiaires directes (dirigeant\u00b7es et membres de bureaux associatifs impliqu\u00e9s dans la gouvernance et le pilotage des projets)\",\r\n\"actions\": \"Programme structur\u00e9 de novembre \u00e0 f\u00e9vrier (masterclass collectives + accompagnement individualis\u00e9). Sessions principales : 27 novembre (World Trade Center, Marseille), 11 d\u00e9cembre et 8 janvier (Centre d'Affaires Le 40, Marseille)\",\r\n\"nbPartenaires\": \"NR \u2014 les 12 associations sont les b\u00e9n\u00e9ficiaires directes du dispositif, pas des partenaires au sens strict ; aucun partenaire externe chiffr\u00e9 dans le CERFA\",\r\n\"competences\": \"Formation collective (masterclass) et accompagnement individualis\u00e9 sur la structuration du projet associatif, le cadre juridique, le mod\u00e8le \u00e9conomique, les financements publics\/priv\u00e9s, la communication et la valorisation de l'impact ; dispositif de mentorat et de mise en r\u00e9seau entre pairs\",\r\n\"lienSocial\": \"100 % des associations ont identifi\u00e9 des pistes de mutualisation ou de coop\u00e9ration, avec d'autres associations du programme ou d'autres acteurs du territoire\",\r\n\"comportement\": \"40 % des participants pr\u00e9voient d'appliquer les enseignements sous 30 jours, 60 % sous 6 mois. 100 % se d\u00e9clarent satisfaits ou tr\u00e8s satisfaits du programme, 100 % indiquent recommander le dispositif. 90 % se disent int\u00e9ress\u00e9s par un format d'accompagnement plus long\",\r\n\"sorties\": \"NR \u2014 pas de mesure de sorties positives au sens emploi\/formation ; dispositif d'accompagnement associatif\",\r\n\"freins\": \"NR \u2014 aucun \u00e9cart significatif entre budget pr\u00e9visionnel et ex\u00e9cut\u00e9 ; aucune difficult\u00e9 particuli\u00e8re rencontr\u00e9e dans l'ex\u00e9cution financi\u00e8re de l'action (source CERFA)\",\r\n\"ameliorer\": \"100% des associations satisfaites. Impact ressenti positif sur le quotidien associatif.\",\r\n\"emanciper\": \"Formation collective et accompagnement individualis\u00e9 (structuration juridique, mod\u00e8le \u00e9conomique, financements). Autonomisation du pilotage associatif.\",\r\n\"reveler\": \"100% des associations ont identifi\u00e9 des pistes de mutualisation ou de coop\u00e9ration via le mentorat et la mise en r\u00e9seau entre pairs effet d'entra\u00eenement inter-associatif.\"\r\n},\r\n{\r\n\"theme\": \"SANT\u00c9\",\r\n\"porteur\": \"Salon Action Sant\u00e9\",\r\n\"projet\": \"Cuisine et Sant\u00e9\",\r\n\"resume\": \"Projet de pr\u00e9vention sant\u00e9 et d'alimentation visant \u00e0 promouvoir de meilleures pratiques alimentaires au plus pr\u00e8s des habitants, \u00e0 destination des familles des quartiers prioritaires de Salon-de-Provence et de Berre.\",\r\n\"territoire\": \"Bressons, Monaque, Canourgues, Vieux Moulin (Salon-de-Provence)\",\r\n\"fis\": \"10\u202f000,00 \u20ac\",\r\n\"budget\": \"26\u202f000,00 \u20ac\",\r\n\"partFis\": \"38,5%\",\r\n\"personnes\": \"200 dont 126 enfants\",\r\n\"actions\": \"21 ateliers (9 ateliers collecitfs dont 5 avec la cuisine mobile)\",\r\n\"nbPartenaires\": \"5\",\r\n\"competences\": \"Mont\u00e9e en comp\u00e9tences culinaires et nutritionnelles des participants. Ateliers pratiques de cuisine (recettes \u00e9quilibr\u00e9es \u00e0 petit budget). Formation implicite des parents \u00e0 travers les actions enfants-parents.\",\r\n\"lienSocial\": \"Cr\u00e9ation de liens sociaux autour de la cuisine (repas partag\u00e9s document\u00e9s : 24\/10 La Monaque 'Cuisine et repas partage'). Mixit\u00e9 interg\u00e9n\u00e9rationnelle (enfants, adultes, s\u00e9niors). Ancrage dans la f\u00eate de quartier (11\/09 La Monaque f\u00eate du Vieux Moulin).\",\r\n\"comportement\": \"Les objectifs de la premi\u00e8re phase de l'action sont largement d\u00e9pass\u00e9s (mention explicite CERFA). Changement de comportements alimentaires et nutritionnels vis\u00e9 via la pratique culinaire collective. Apprentissage par le faire ensemble (ateliers participatifs).\",\r\n\"sorties\": \"Acc\u00e8s \u00e0 une alimentation \u00e9quilibr\u00e9e pour des familles \u00e0 faibles revenus en QPV. Sorties positives indirectes : am\u00e9lioration des pratiques alimentaires parentales b\u00e9n\u00e9ficiant aux enfants. Objectif de r\u00e9daction d'un cahier des charges en ann\u00e9e 2 = capitalisation pour essaimage.\",\r\n\"freins\": \"Freins institutionnels et partenariaux : FIS M\u00e9tropole r\u00e9alis\u00e9 \u00e0 50% (10 000 \u20ac sur 20 000 \u20ac pr\u00e9vus)  versement partiel. CD13 r\u00e9alis\u00e9 \u00e0 38% (1 500 \u20ac sur 4 000 \u20ac pr\u00e9vus).\\n Freins logistiques et mat\u00e9riels : recours \u00e0 la cuisine mobile Mosa\u00efk = d\u00e9pendance \u00e0 un outil itin\u00e9rant externe. \\nTr\u00e8s peu d'\u00e9carts budg\u00e9taires signal\u00e9s par la structure (mention explicite dans le CERFA).\",\r\n\"ameliorer\": \"Acc\u00e8s \u00e0 une alimentation \u00e9quilibr\u00e9e pour des familles \u00e0 faibles revenus en QPV. Objectifs de la premi\u00e8re phase largement d\u00e9pass\u00e9s\",\r\n\"emanciper\": \"Mont\u00e9e en comp\u00e9tences culinaires et nutritionnelles, formation implicite des parents \u00e0 travers des actions enfants-parents.\",\r\n\"reveler\": \"\"\r\n},\r\n{\r\n\"theme\": \"SANT\u00c9\",\r\n\"porteur\": \"Coeur de Cagoles\",\r\n\"projet\": \"Pr\u00e9carit\u00e9 menstruelle\",\r\n\"resume\": \"Projet de sant\u00e9 et de pr\u00e9vention visant \u00e0 informer sur la sant\u00e9 menstruelle et \u00e0 lever les tabous associ\u00e9s, \u00e0 destination des femmes des quartiers prioritaires de Marseille.\",\r\n\"territoire\": \"Marseille multi\",\r\n\"fis\": \"10\u202f000,00 \u20ac\",\r\n\"budget\": \"73\u202f831,00 \u20ac\",\r\n\"partFis\": \"13,5%\",\r\n\"personnes\": \"Environ 675 (\",\r\n\"actions\": \"26 actions (8 ateliers \u00ab R\u00e8gles du JE \u00bb, 10 stands de sensibilisation, 8 ateliers couture)\",\r\n\"nbPartenaires\": \"27\",\r\n\"competences\": \"Ateliers 'R\u00e8gles du JE' : formation \u00e0 la sant\u00e9 menstruelle, d\u00e9construction des tabous, information sur les protections internes (CUP, disque). Ateliers couture : apprentissage de la fabrication de serviettes menstruelles lavables (comp\u00e9tences textiles + autonomie). Livret p\u00e9dagogique 'R\u00e8gles\/Sang%\/Cr\u00e9atives' produit et diffus\u00e9.\",\r\n\"lienSocial\": \"\u00c9changes interg\u00e9n\u00e9rationnels document\u00e9s comme 'particuli\u00e8rement enrichissants' (m\u00e8res + filles, jeunes + personnes \u00e2g\u00e9es). Partage de savoir-faire (couture). Espaces de solidarit\u00e9 et de sororit\u00e9 cr\u00e9\u00e9s. Dynamique participative forte not\u00e9e dans les retours.\",\r\n\"comportement\": \"Vif int\u00e9r\u00eat des participantes document\u00e9. Nombreuses participantes sans connaissance des protections internes (CUP, disque menstruel) \u2192 acquisition de connaissances r\u00e9elle. D\u00e9construction de mythes (interdiction bain\/douche pendant les r\u00e8gles, etc.) document\u00e9e qualitativement. Retours unanimement positifs : satisfaction et envie de renouveler. Cadre bienveillant permettant les premiers partages de v\u00e9cu personnel (t\u00e9moignages).\",\r\n\"sorties\": \"Acc\u00e8s gratuit aux kits de fabrication (150 kits fabriqu\u00e9s au 8 mars) = r\u00e9duction de la pr\u00e9carit\u00e9 menstruelle directe. Autonomisation par la fabrication de serviettes lavables (\u00e9conomie ~3 800 \u20ac sur une vie). Orientation vers Planning Familial, CIDFF, ressources en ligne (parlonsregles.fr, endomind.org).\",\r\n\"freins\": \"Freins humains (\u00e9quipes et publics) : espaces publics parfois inadapt\u00e9s (environnement masculin, ouvert) pour aborder les r\u00e8gles. Annulations li\u00e9es \u00e0 la sant\u00e9 des b\u00e9n\u00e9ficiaires. Emplois du temps contraints pour certains publics. Freins humains (\u00e9quipes et publics) : structure 100% b\u00e9n\u00e9vole = risque d'\u00e9puisement, d\u00e9pendance au b\u00e9n\u00e9volat. Freins financiers : FIS NR = mod\u00e8le \u00e9conomique non visible dans les documents transmis.\",\r\n\"ameliorer\": \"Acc\u00e8s gratuit \u00e0 des kits de fabrication r\u00e9duisant directement la pr\u00e9carit\u00e9 menstruelle.\",\r\n\"emanciper\": \"Formation \u00e0 la sant\u00e9 menstruelle et \u00e0 la couture (autonomie de fabrication), d\u00e9construction de tabous et mythes, orientation vers Planning Familial \/ CIDFF.\",\r\n\"reveler\": \"\u00c9changes interg\u00e9n\u00e9rationnels et espaces de sororit\u00e9 cr\u00e9\u00e9s, partage de savoir-faire dynamique de solidarit\u00e9 valoris\u00e9e dans les retours.\"\r\n},\r\n{\r\n\"theme\": \"SANT\u00c9\",\r\n\"porteur\": \"INCITTA\",\r\n\"projet\": \"Souffrance psychoscociale et violences dans les QPV\",\r\n\"resume\": \"Projet de sant\u00e9 mentale visant \u00e0 outiller les acteurs de proximit\u00e9 face aux situations de souffrance psychosociale et de violence, \u00e0 destination des professionnels de la politique de la ville et du tissu associatif de la m\u00e9tropole.\",\r\n\"territoire\": \"QPV de la M\u00e9tropole Aix-Marseille-Provence (dont Miramas et Ch\u00e2teau Saint-Loup \u00e0 Marseille)\",\r\n\"fis\": \"39\u202f000,00 \u20ac\",\r\n\"budget\": \"39\u202f732,00 \u20ac\",\r\n\"partFis\": \"98,2%\",\r\n\"personnes\": \"100 \u00e0 120\",\r\n\"actions\": \"10 sessions de formation de deux jours, plus 2 volets de recherche-action sur 2 territoires\",\r\n\"nbPartenaires\": \"7 types de partenaires\",\r\n\"competences\": \"Pour les agents et partenaires : renforcement des comp\u00e9tences en analyse qualitative et prise en compte de la parole habitante ; pour les habitants : capacit\u00e9 accrue d\u2019expression, de compr\u00e9hension du projet urbain et de participation ; pour l\u2019\u00e9quipe projet : approfondissement des m\u00e9thodes de recherche\u2011action\",\r\n\"lienSocial\": \"Cr\u00e9ation et animation d\u2019espaces de discussion entre habitants et institutions autour du projet ; renforcement des \u00e9changes entre habitants, associations, bailleurs et M\u00e9tropole.\",\r\n\"comportement\": \"\u00c9volution des pratiques professionnelles : meilleure \u00e9coute et orientation des habitants, meilleure compr\u00e9hension des liens entre pr\u00e9carit\u00e9, sant\u00e9 mentale et violences, d\u00e9veloppement d'outils collectifs d'intervention.\",\r\n\"sorties\": \"Exp\u00e9rimentation de d\u00e9marches de recherche-action sur deux territoires, production de synth\u00e8ses territoriales, transfert de comp\u00e9tences et renforcement des capacit\u00e9s d'action des \u00e9quipes locales.\",\r\n\"freins\": \"Freins financiers : la subvention de la M\u00e9tropole Aix-Marseille-Provence n'a \u00e9t\u00e9 vers\u00e9e qu'\u00e0 hauteur de 30 000 \u20ac sur 50 000 \u20ac pr\u00e9vus, soit 60% du montant attendu. Le poste \\\"Achats d'\u00e9tudes et de prestations\\\" a \u00e9t\u00e9 fortement r\u00e9duit (5 630 \u20ac r\u00e9alis\u00e9s contre 46 500 \u20ac pr\u00e9vus), l'association ayant \\\"\u00e9prouv\u00e9 la difficult\u00e9 d'orienter la majorit\u00e9 du budget de l'action vers des prestations externes\\\".\\n\\nFreins humains (\u00e9quipes et publics) : face \u00e0 cette contrainte budg\u00e9taire, l'association a d\u00fb r\u00e9orienter son mod\u00e8le en mobilisant fortement son \u00e9quipe salari\u00e9e et b\u00e9n\u00e9vole en interne plut\u00f4t que de recourir \u00e0 des prestataires externes, avec une implication b\u00e9n\u00e9vole \u00e9quivalente \u00e0 2 ETP sur l'ann\u00e9e. Cette r\u00e9organisation reposait sur la connaissance fine du lieu et de son histoire par l'\u00e9quipe interne, jug\u00e9e indispensable mais non budg\u00e9t\u00e9e initialement de cette fa\u00e7on.\\n\\nFreins logistiques : la \\\"dur\u00e9e limit\u00e9e allou\u00e9e \u00e0 cette action\\\" a contraint l'association \u00e0 r\u00e9ajuster son calendrier et son organisation op\u00e9rationnelle pour concr\u00e9tiser les premi\u00e8res exp\u00e9rimentations (Cabanon d'\u00e9t\u00e9, Delta Festival, etc.), g\u00e9n\u00e9rant des d\u00e9penses suppl\u00e9mentaires non anticip\u00e9es.\",\r\n\"ameliorer\": \"Meilleure \u00e9coute et orientation des habitants par les professionnels. Meilleure compr\u00e9hension des liens entre pr\u00e9carit\u00e9, sant\u00e9 mentale et violences.\",\r\n\"emanciper\": \"Renforcement de la capacit\u00e9 d'expression et de participation des habitants, transfert de comp\u00e9tences et de m\u00e9thodes de recherche-action aux \u00e9quipes locales sur deux territoires.\",\r\n\"reveler\": \"Cr\u00e9ation d'espaces de discussion habitants\/institutions, valoriser la l\u00e9gitimit\u00e9 des habitants face aux institutions\"\r\n},\r\n{\r\n\"theme\": \"PR\u00c9C. ALIM.\",\r\n\"porteur\": \"Lieux Publics\",\r\n\"projet\": \"Communaut\u00e9 de la Spatule (Restauration de proximit\u00e9, cit\u00e9 des arts de la rue)\",\r\n\"resume\": \"Projet d'alimentation solidaire visant \u00e0 faciliter l'acc\u00e8s \u00e0 des produits de qualit\u00e9 et \u00e0 cr\u00e9er des temps de repas partag\u00e9s, \u00e0 destination des habitants du quartier des Aygalades \u00e0 Marseille.\",\r\n\"territoire\": \"Aygalades Mlle\",\r\n\"fis\": \"30\u202f000,00 \u20ac\",\r\n\"budget\": \"107\u202f000,00 \u20ac\",\r\n\"partFis\": \"28,0%\",\r\n\"personnes\": \"885\",\r\n\"actions\": \"15+ (ateliers, banquets, \u00e9v\u00e9nements)\",\r\n\"nbPartenaires\": \"NR (non list\u00e9s nominativement)\",\r\n\"competences\": \"Formation implicite de 6 cuisini\u00e8res mobilis\u00e9es sur la phase 2. Ateliers de cuisine collectifs (pratique du faire ensemble). Cr\u00e9ation d'une association d\u00e9di\u00e9e 'La Spatule des Aygalades' inscrite au registre du commerce.\",\r\n\"lienSocial\": \"Rencontres entre cuisiniers professionnels et artistes ('ponts entre des mondes qui se c\u00f4toient peu d'ordinaire'). Repas de quartier comme espace de mixit\u00e9 sociale. Projet contribuant au 'rayonnement dans le p\u00e9rim\u00e8tre proche' de la Cit\u00e9. ESS : refus de la concurrence avec d'autres cantines.\",\r\n\"comportement\": \"Prise de confiance en soi document\u00e9e qualitativement ('redonner confiance et estime de soi \u00e0 des habitants.es qui en avaient besoin' \u2014 CERFA bilan qualitatif). Inscription de 'La Spatule des Aygalades' au registre du commerce = appropriation institutionnelle par les habitants. Mixit\u00e9 sociale g\u00e9n\u00e9r\u00e9e entre cuisiniers professionnels, artistes et habitants.\",\r\n\"sorties\": \"Acc\u00e8s \u00e0 une alimentation partag\u00e9e pour des personnes pr\u00e9caris\u00e9es (350 repas distribu\u00e9s mars 2025). D\u00e9senclavement de la Cit\u00e9 des arts de la rue vers son voisinage imm\u00e9diat (quartiers Aygalades). \u00c9conomie solidaire locale : cr\u00e9ation d'une nouvelle association citoyenne de cuisine participative.\",\r\n\"freins\": \"Freins financiers : FIS r\u00e9alis\u00e9 \u00e0 54,5% du pr\u00e9vu (30 000 \u20ac r\u00e9alis\u00e9s \/ 55 000 \u20ac pr\u00e9vus)  \u00e9cart significatif. Recettes de ventes de produits non r\u00e9alis\u00e9es (18 000 \u20ac pr\u00e9vus \/ 0 r\u00e9alis\u00e9). \\nFreins humains (\u00e9quipes et publics) : projet concentr\u00e9 sur 6 cuisini\u00e8res en phase 2 = risque de concentration du portage b\u00e9n\u00e9vole. \\nFreins logistiques et mat\u00e9riels : locaux CAR mutualis\u00e9s, pas d'espace d\u00e9di\u00e9 cuisine p\u00e9renne.\",\r\n\"ameliorer\": \"Des repas distribu\u00e9s pour des personnes pr\u00e9caris\u00e9es. Confiance et estime de soi restaur\u00e9es chez des habitants.\",\r\n\"emanciper\": \"Cr\u00e9ation d'une association d\u00e9di\u00e9e inscrite au registre du commerce appropriation institutionnelle par les habitants. Formation de cuisini\u00e8res.\",\r\n\"reveler\": \"Ponts cr\u00e9\u00e9s entre cuisiniers professionnels et artistes, rayonnement de la Cit\u00e9 des arts de la rue vers son voisinage (Aygalades) d\u00e9senclavement et mixit\u00e9 sociale.\"\r\n},\r\n{\r\n\"theme\": \"PR\u00c9C. ALIM.\",\r\n\"porteur\": \"Les Petites Cantines Marseille\",\r\n\"projet\": \"Cantine \u00e9ph\u00e9m\u00e8re\",\r\n\"resume\": \"Projet d'alimentation solidaire et de lien social visant \u00e0 proposer un lieu de repas partag\u00e9 ouvert et inscrit dans la dur\u00e9e, \u00e0 destination des habitants des quartiers concern\u00e9s \u00e0 Marseille.\",\r\n\"territoire\": \"Marseille (QPV Belle de Mai, R\u00e9form\u00e9s, Noailles + Castellane, Cours Julien, Bd Chave, CAL Martegales, Le Talus\/12e)\",\r\n\"fis\": \"19\u202f000,00 \u20ac\",\r\n\"budget\": \"19\u202f000,00 \u20ac\",\r\n\"partFis\": \"100,0%\",\r\n\"personnes\": \"Plus de 1 200 convives accueillis (dont une vingtaine de b\u00e9n\u00e9voles par \u00e9v\u00e9nement) ; de 40 \u00e0 120 convives par \u00e9v\u00e9nement ; 64 % de femmes \/ 36 % d'hommes ; plus de 60 % des convives habitent le quartier d'intervention\",\r\n\"actions\": \"20 cantines \u00e9ph\u00e9m\u00e8res organis\u00e9es en 2024-2025 (9 en 2024, 11 en 2025), soit 300 % de l'objectif initial de 6 par an. R\u00e9partition : 75 % des actions en QPV (15\/20), 5 % en poche de pr\u00e9carit\u00e9 (1\/20), 20 % en centre-ville non cat\u00e9goris\u00e9 (4\/20)\",\r\n\"nbPartenaires\": \"Liste nominative fournie, pas de total chiffr\u00e9 unique. Mobilisation de communaut\u00e9s : Entourage, La Cloche, Kipawa, Singa, Citizen Campus, Benenova, Secours Catholique. Coordination\/logistique : Le Couvent Levat, Le Plan de A \u00e0 Z, Le Plan 123, La Marmite Joyeuse, La Casa Consolat, La Baleine, le CMA Dugommier, Alternatiba, La Base Marseille, Un Pr\u00e9texte, La Cit\u00e9 de l'Agriculture, UNICEF, Festival Alimenterre, le CAL Martegales, Le Talus, La Briqueterie, Chez Chaleur. Approvisionnement : mara\u00eechers des R\u00e9form\u00e9s et du Cours Julien, La Cantina, N\u00e9o Pousse, Terre de Mars, \u00c9picerie Racine, Pain Pan, Bar \u00e0 Pain, Biocoop, Le Supercafoutch, r\u00e9seau Eco Table, C\u00e9line Laurens Berg\u00e8re, Micotopia\",\r\n\"competences\": \"3 porteuses de projet, 3 membres actifs au conseil d'administration, 50 b\u00e9n\u00e9voles actifs sur l'ann\u00e9e, entre 20 et 30 cuisiniers par cantine \u00e9ph\u00e9m\u00e8re, 1 prestation freelance en d\u00e9cembre 2025 pour coordonner l'organisation des \u00e9v\u00e9nements\",\r\n\"lienSocial\": \"Fonctionnement participatif revendiqu\u00e9 comme c\u0153ur du projet : pr\u00e9paration des repas, m\u00e9nage et vaisselle partag\u00e9s entre convives ; accessibilit\u00e9 inconditionnelle (prix libre) ; rencontre entre voisins et personnes de parcours de vie diff\u00e9rents\",\r\n\"comportement\": \"NR \u2014 non mesur\u00e9 dans le CERFA\",\r\n\"sorties\": \"NR \u2014 non document\u00e9 dans le CERFA\",\r\n\"freins\": \"NR \u2014 aucun frein mentionn\u00e9 explicitement dans le CERFA\",\r\n\"ameliorer\": \"Accessibilit\u00e9 inconditionnelle (prix libre). Rencontre entre voisins et personnes de parcours de vie diff\u00e9rents.\",\r\n\"emanciper\": \"\",\r\n\"reveler\": \"Valoriser le savoir faire des 50 b\u00e9n\u00e9voles actifs, 20 \u00e0 30 cuisiniers par cantine \u00e9ph\u00e9m\u00e8re mobilisation collective.\"\r\n},\r\n{\r\n\"theme\": \"PR\u00c9C. ALIM.\",\r\n\"porteur\": \"La Part Du Peuple\/ l'Apr\u00e8s M\",\r\n\"projet\": \"La Fastronomie Mieux manger pour tous : pour une d\u00e9marche d'innovation sociale et \u00e9cologique\",\r\n\"resume\": \"Projet d'alimentation solidaire visant \u00e0 concevoir une offre de restauration de qualit\u00e9 et choisie, \u00e0 destination des habitants des quartiers prioritaires de Marseille.\",\r\n\"territoire\": \"QPV Marseille 1er, 3\u00e8me, 13\u00e8me, 14eme, 15eme\",\r\n\"fis\": \"30\u202f000,00 \u20ac\",\r\n\"budget\": \"60\u202f000,00 \u20ac\",\r\n\"partFis\": \"50,0%\",\r\n\"personnes\": \"3000 clients\",\r\n\"actions\": \"NR\",\r\n\"nbPartenaires\": \"NR\",\r\n\"competences\": \"NR\",\r\n\"lienSocial\": \"NR\",\r\n\"comportement\": \"NR\",\r\n\"sorties\": \"NR\",\r\n\"freins\": \"NR\",\r\n\"ameliorer\": \"Acc\u00e8s \u00e0 une offre de restauration accessible et conviviale (3 000 clients), avec une ambition de d\u00e9mocratiser une gastronomie de qualit\u00e9 sur l'espace public marseillais.\",\r\n\"emanciper\": \"Structuration progressive vers un mod\u00e8le \u00e9conomique p\u00e9renne : cr\u00e9ation de l'association d\u00e9di\u00e9e \u00ab Fastronomie - L'Apr\u00e8s M \u00bb, professionnalisation de l'\u00e9quipe (5 salari\u00e9s, 10 b\u00e9n\u00e9voles) et autonomisation administrative et juridique du projet.\",\r\n\"reveler\": \"Valorisation de la cr\u00e9ativit\u00e9 culinaire et de l'histoire des territoires marseillais, via la participation \u00e0 des appels \u00e0 projets embl\u00e9matiques (MUCEM, Delta Festival, Les Cabanons d'\u00e9t\u00e9) r\u00e9v\u00e9lant le potentiel gastronomique du territoire.\"\r\n},\r\n{\r\n\"theme\": \"CADRE DE VIE\",\r\n\"porteur\": \"ACAM Bels. Manufacture\",\r\n\"projet\": \"Chantier insertion \u00e9co-circ. (MQE-B, Maison de Quartier de l'Environnement de Belsunce)\",\r\n\"resume\": \"Projet d'am\u00e9lioration du cadre de vie centr\u00e9 sur la r\u00e9duction et la valorisation des d\u00e9chets, \u00e0 destination des habitants et des acteurs \u00e9conomiques du quartier de Belsunce \u00e0 Marseille.\",\r\n\"territoire\": \"Belsunce QPV\",\r\n\"fis\": \"20\u202f000,00 \u20ac\",\r\n\"budget\": \"342\u202f610,00 \u20ac\",\r\n\"partFis\": \"5,8%\",\r\n\"personnes\": \"50\",\r\n\"actions\": \"Ateliers \u00e9co-fab+scolaires+veille\",\r\n\"nbPartenaires\": \"10+ (DDETS, FT, Veolia, France Active\u2026)\",\r\n\"competences\": \"8 salari\u00e9s en insertion (accompagnement individuel CIP, mont\u00e9e en comp\u00e9tences m\u00e9tiers artisanaux\/recyclage\/r\u00e9emploi). Ateliers d'\u00e9co-fabrication d\u00e9marr\u00e9s en 2024.\",\r\n\"lienSocial\": \"RA p.8 : \u00ab Coh\u00e9sion sociale : contribution \u00e0 la lutte contre les in\u00e9galit\u00e9s sociales et la discrimination spatiale ; renforcement du lien social ; encouragement \u00e0 la participation citoyenne. \u00bb D\u00e9claratif.\",\r\n\"comportement\": \"RA p.8 : \u00ab Changement de mentalit\u00e9s : changement de regard sur les d\u00e9chets ; transformation des perceptions des territoires en difficult\u00e9 \u00bb. Qualificatif, non mesur\u00e9 quantitativement.\",\r\n\"sorties\": \"8 salari\u00e9s en insertion \u2014 sorties vers l'emploi non chiffr\u00e9es dans le RA. Processus de retour vers l'emploi document\u00e9 (profilage comp\u00e9tences, CIP). Passage salari\u00e9s \u2192 encadrants mentionn\u00e9.\",\r\n\"freins\": \"Freins logistiques et mat\u00e9riels \u2014 CRITIQUE : 100m\u00b2 + 30m\u00b2, besoin minimum 300m\u00b2. \u00ab L'inadaptation de notre lieu d'exploitation central constitue un frein \u00e0 la stabilisation. \u00bb (p.103). Exploitation \u00e0 5% de capacit\u00e9.\\nFreins financiers : 98% des ressources issues de subventions publiques. Dette envers MAC'NB (~10 000\u20ac). Budget annuel 243 000\u20ac dont ~50% b\u00e9n\u00e9volat non-salari\u00e9.\\nFreins humains (\u00e9quipes et publics) : \u00e9quipe dirigeante b\u00e9n\u00e9vole (3,25 ETP), \u00e9puisement, polyvalence forc\u00e9e, retards dans prospection.\",\r\n\"ameliorer\": \"Changement de regard sur les d\u00e9chets et transformation des perceptions des territoires en difficult\u00e9.\\nTonneaux collect\u00e9s 2024 : 64,8t chez professionnels + 2,34t apports volontaires + 1t particuliers. 50 commer\u00e7ants adh\u00e9rents (vs 30 pr\u00e9vus).\",\r\n\"emanciper\": \"Accompagnement individualis\u00e9 de salari\u00e9s en insertion, mont\u00e9e en comp\u00e9tences dans les m\u00e9tiers du recyclage et du r\u00e9emploi. Passage progressif du statut de salari\u00e9 \u00e0 celui d'encadrant.\",\r\n\"reveler\": \"Contribution revendiqu\u00e9e \u00e0 la lutte contre les in\u00e9galit\u00e9s et la discrimination spatiale, encouragement \u00e0 la participation citoyenne\"\r\n},\r\n{\r\n\"theme\": \"CADRE DE VIE\",\r\n\"porteur\": \"Compagnons B\u00e2tisseurs Provence\",\r\n\"projet\": \"Atelier de Quartier\",\r\n\"resume\": \"Projet d'am\u00e9lioration du cadre de vie visant \u00e0 rep\u00e9rer les situations de mal-logement et \u00e0 orienter vers les interlocuteurs comp\u00e9tents, \u00e0 destination des habitants de la Butte Saint-Mauront \u00e0 Marseille.\",\r\n\"territoire\": \"la Butte St Mauront dans le 3\u00e8me arrondissement\",\r\n\"fis\": \"20\u202f000,00 \u20ac\",\r\n\"budget\": \"166\u202f636,00 \u20ac\",\r\n\"partFis\": \"12,0%\",\r\n\"personnes\": \"Environ 100 personnes lors des porteurs de parole ; 15 d\u00e9pannages p\u00e9dagogiques ; pr\u00e8s de 400 participants en demande de conseils\/accompagnement logement (publics en situation de pr\u00e9carit\u00e9 et\/ou de mal-logement)\",\r\n\"actions\": \"5 porteurs de parole r\u00e9alis\u00e9s sur la Butte St Mauront (2023-2024) ; 15 d\u00e9pannages p\u00e9dagogiques ; une quarantaine d'ateliers (Belle de Mai et St Mauront)\",\r\n\"nbPartenaires\": \"NR \u2014 pas de total chiffr\u00e9. Financeurs identifi\u00e9s : M\u00e9tropole AMP (CDV), FONJEP, PRHDD, EPCI, Fonds innovation, ville de Marseille, 13 Habitat, aides priv\u00e9es\",\r\n\"competences\": \"Formation d'acteurs institutionnels et associatifs \u00e0 la m\u00e9thode d'\u00e9ducation populaire des \u00ab porteurs de parole \u00bb (d\u00e9marche de Community Organising)\",\r\n\"lienSocial\": \"Dynamique habitante et autonomie de certains groupes d'habitants ; liens et interactions tiss\u00e9s avec d'autres associations du quartier\",\r\n\"comportement\": \"Les objectifs de l'action sont d\u00e9clar\u00e9s largement atteints par le porteur, qui souligne sa pertinence au regard de la lutte contre le mal-logement, de la dynamique habitante et de l'autonomisation de groupes d'habitants (empowerment)\",\r\n\"sorties\": \"NR \u2014 non document\u00e9 dans le CERFA\",\r\n\"freins\": \"Freins financiers : compte-rendu provisoire, \u00e0 confirmer apr\u00e8s certification CAC et AG de juin 2025. R\u00e9organisation comptable : l'action \u00ab Atelier de Quartier \u00bb a \u00e9t\u00e9 isol\u00e9e en 2024 de l'action centre-ville, entra\u00eenant la disparition des financements DITAS et CAF dans ce bilan (CD DITAS : 10 000 \u20ac pr\u00e9vu, 0 \u20ac r\u00e9alis\u00e9)\",\r\n\"ameliorer\": \"Objectifs d\u00e9clar\u00e9s largement atteints au regard de la lutte contre le mal-logement.\",\r\n\"emanciper\": \"Formation d'acteurs institutionnels et associatifs \u00e0 la m\u00e9thode des \u00ab porteurs de parole \u00bb. Autonomisation de groupes d'habitants, dynamique d'empowerment enclench\u00e9e.\",\r\n\"reveler\": \"Dynamique habitante et liens tiss\u00e9s avec d'autres associations du quartier.\"\r\n},\r\n{\r\n\"theme\": \"CADRE DE VIE\",\r\n\"porteur\": \"e-graine et Terravox\",\r\n\"projet\": \"Diagnostic 360 d\u00e9chets\",\r\n\"resume\": \"Projet d'am\u00e9lioration du cadre de vie centr\u00e9 sur la pr\u00e9vention des d\u00e9chets et les usages associ\u00e9s, \u00e0 destination des habitants des quartiers de Frais Vallon et de La Rose \u00e0 Marseille.\",\r\n\"territoire\": \"Frais Vallon et la Rose, Marseille (Val Plan 13Habitat, HMP, Vilogia)\",\r\n\"fis\": \"60\u202f000,00 \u20ac\",\r\n\"budget\": \"96\u202f650,00 \u20ac\",\r\n\"partFis\": \"62,1%\",\r\n\"personnes\": \"~3000 pers. Val Plan (745 logements) + ~5000 pers. Frais Vallon (1400 logements), diagnostics d'enqu\u00eate\",\r\n\"actions\": \"78 actions+14 diagnostics+6 audits, dont 20 entretiens approfondis et 317 entretiens porte-\u00e0-porte\",\r\n\"nbPartenaires\": \"Collectivit\u00e9s+bailleurs (nb NR)\",\r\n\"competences\": \"Formation gardiens (Grand Paris Sud). Formation 6 jeunes (chantier jeune Bobigny \u2014 r\u00e9habilitation \u00e9co-local). Formations relais locaux (taux engagement 80%).\",\r\n\"lienSocial\": \"Objectif d\u00e9clar\u00e9 : \u00ab transformer les d\u00e9chets en ressource au service d'un cadre de vie am\u00e9lior\u00e9 et de territoires plus durables et solidaires. \u00bb Indicateur qualitatif non mesur\u00e9 sur la coh\u00e9sion.\",\r\n\"comportement\": \"68% des personnes touch\u00e9es s'engagent \u00e0 adopter de nouveaux \u00e9co-gestes (taux d'engagement d\u00e9fini : % d\u00e9clarant pr\u00eats \u00e0 appliquer ou ayant pos\u00e9 des actes engageants). Changement de comportement mesur\u00e9 \u00e0 la fin de chaque action.\",\r\n\"sorties\": \"Chantier jeune Bobigny : 6 jeunes form\u00e9s. Bilan : Acquisition de connaissances 3,6\/4 ; Changement comportement individuel 5\/5 ; Satisfaction 4,4\/5. Sorties post-formation non document\u00e9es.\",\r\n\"freins\": \"NR\",\r\n\"ameliorer\": \"Engagement \u00e0 adopter de nouveaux \u00e9co-gestes, changement de comportement mesur\u00e9 \u00e0 l'issue de chaque action.\",\r\n\"emanciper\": \"Formation de gardiens et de jeunes dans le cadre d'un chantier de r\u00e9habilitation \u00e9co-local. Acquisition de connaissances et changement comportemental individuel constat\u00e9s.\",\r\n\"reveler\": \"Objectif d\u00e9clar\u00e9 de transformer les d\u00e9chets en ressource au service d'un cadre de vie durable et solidaire. Valorisation de la capacit\u00e9 des habitants \u00e0 conduire le changement de comportement\"\r\n},\r\n{\r\n\"theme\": \"NUM\u00c9RIQUE\",\r\n\"porteur\": \"AVENIR SOLIDARITE\",\r\n\"projet\": \"D\u00e9ploiement de 2 outils de num\u00e9riques + Avenir Connect et WantAid\",\r\n\"resume\": \"Projet d'inclusion num\u00e9rique visant \u00e0 faciliter l'orientation vers l'offre de solidarit\u00e9 de proximit\u00e9, \u00e0 destination des habitants et des acteurs associatifs de la m\u00e9tropole.\",\r\n\"territoire\": \"M\u00e9tropole Aix-Marseille-Provence (d\u00e9ploiement Marseille puis Aix, Fuveau et zones limitrophes)\",\r\n\"fis\": \"30\u202f000,00 \u20ac\",\r\n\"budget\": \"56\u202f656,00 \u20ac\",\r\n\"partFis\": \"53,0%\",\r\n\"personnes\": \"400 t\u00e9l\u00e9chargements grand public (WantAid) ; 120 associations utilisatrices couvrant plus de 20 cat\u00e9gories de besoins ; une centaine de signalements de personnes en difficult\u00e9 orient\u00e9s et pris en charge ; une vingtaine de jeunes de QPV r\u00e9compens\u00e9s pour leur engagement \u00e0 la Pr\u00e9fecture\",\r\n\"actions\": \"Lancement officiel \u00e0 la Pr\u00e9fecture de Marseille (mars 2024, plus de 20 associations partenaires pr\u00e9sentes) ; d\u00e9ploiement mars-novembre 2024 sur Marseille puis zone limitrophe (Aix, Fuveau\u2026) ; participation \u00e0 des salons\/\u00e9v\u00e9nements : salon \u00e9tudiant de Marseille (10\/10\/2024), Viva Cit\u00e9 (sept. 2024), Delta Festival (sept. 2024), AMU Festival de l'engagement (oct. 2024), Cha\u00eene de la solidarit\u00e9 avec SOS Amiti\u00e9 (nov. 2024)\",\r\n\"nbPartenaires\": \"120 associations utilisatrices (exemples cit\u00e9s : Marhaban, Apis, Aix M\u00e9diation, Famille en Action, Sport dans la Ville, Banque Alimentaire)\",\r\n\"competences\": \"NR \u2014 non document\u00e9 dans le CERFA\",\r\n\"lienSocial\": \"R\u00f4le de cr\u00e9ateur de lien de terrain revendiqu\u00e9 : connexions favoris\u00e9es entre structures aidantes pour soutenir les synergies (mise en r\u00e9seau des structures aidantes)\",\r\n\"comportement\": \"NR \u2014 non document\u00e9 dans le CERFA\",\r\n\"sorties\": \"NR \u2014 non document\u00e9 dans le CERFA\",\r\n\"freins\": \"Freins logistiques et mat\u00e9riels : bugs techniques de l'application en novembre 2024 (limitation de performance, difficult\u00e9s de maintenance) ayant n\u00e9cessit\u00e9 de reconstruire l'application sur des bases technologiques plus solides\",\r\n\"ameliorer\": \"\",\r\n\"emanciper\": \"\",\r\n\"reveler\": \"R\u00f4le de cr\u00e9ateur de lien de terrain revendiqu\u00e9 connexions favoris\u00e9es entre structures aidantes pour soutenir des synergies (mise en r\u00e9seau des structures aidantes).\"\r\n},\r\n{\r\n\"theme\": \"NUM\u00c9RIQUE\",\r\n\"porteur\": \"Anonymal\",\r\n\"projet\": \"M\u00e9diation num.+WebTV (M\u00e9tropole vue du ciel)\",\r\n\"resume\": \"Projet de m\u00e9diation num\u00e9rique et d'\u00e9ducation aux m\u00e9dias visant \u00e0 faire d\u00e9couvrir des usages et des m\u00e9tiers du num\u00e9rique, \u00e0 destination des jeunes des quartiers prioritaires d'Aix-en-Provence et de Gardanne.\",\r\n\"territoire\": \"Jas Bouffan QPV Aix\",\r\n\"fis\": \"10\u202f000,00 \u20ac\",\r\n\"budget\": \"51\u202f990,00 \u20ac\",\r\n\"partFis\": \"19,2%\",\r\n\"personnes\": \"19 jeunes\",\r\n\"actions\": \"NR (webTV hebdo+ateliers continus)\",\r\n\"nbPartenaires\": \"~40+\",\r\n\"competences\": \"Ateliers m\u00e9diation num\u00e9rique : d\u00e9couverte PC, d\u00e9marches administratives en ligne, usages num\u00e9riques quotidiens (grand d\u00e9butants \/ illettrisme num\u00e9rique).\\nFormations audiovisuel participatif pour structures sociales.\\nCursus Grande \u00c9cole du Num\u00e9rique \u2014 formation aux m\u00e9tiers du num\u00e9rique.\\nAccompagnement de services civiques (4 JRI web TV + 2 m\u00e9diation num\u00e9rique + 1 projet).\\nNb de participants form\u00e9s : NR pr\u00e9cis\u00e9ment dans le rapport.\",\r\n\"lienSocial\": \"WebTV : \u00abvaloriser les initiatives locales, rendre compte de la richesse des propositions socio-culturelles, encourager la participation des habitants \u00e0 la vie de la Cit\u00e9\u00bb \u2014 formulation centrale de la mission.\\nMaison Num\u00e9rique : lieu de rencontre interg\u00e9n\u00e9rationnelle (seniors, jeunes, habitants) autour du num\u00e9rique.\\nProjets urbains : favoriser l'adh\u00e9sion des habitants aux projets de r\u00e9habilitation.\",\r\n\"comportement\": \"WebTV citoyenne : valorisation de la parole habitante, \u00abpermettre aux habitants de trouver leur place\u00bb dans les projets de r\u00e9habilitation urbaine \u2014 d\u00e9claration d'intention, pas de mesure de changement comportemental.\\nAteliers Tic-Tac (seniors) : usage num\u00e9rique autonome des d\u00e9marches administratives \u2014 d\u00e9claration d'intention.\\n\u2192 Aucun indicateur mesur\u00e9 de changement comportemental disponible dans ce rapport.\",\r\n\"sorties\": \"Grande \u00c9cole du Num\u00e9rique : formation aux m\u00e9tiers du num\u00e9rique \u2014 sorties vers l'emploi vis\u00e9es mais taux NR.\\nAteliers EPN\/d\u00e9marches administratives : acc\u00e8s aux droits facilit\u00e9 (CAF, P\u00f4le Emploi) \u2014 non chiffr\u00e9.\\n\u2192 Pas de sortie positive quantifi\u00e9e dans le rapport.\",\r\n\"freins\": \"Freins institutionnels et partenariaux : \u00abLa f\u00e9d\u00e9ration d\u00e9fend depuis plusieurs ann\u00e9es la reconnaissance d'un statut de m\u00e9dia participatif de proximit\u00e9 et pour son financement par un fonds de soutien\u00bb \u2014 d\u00e9pendance \u00e0 des financements publics fragiles, non p\u00e9rennis\u00e9s.\\nFreins logistiques et mat\u00e9riels: donn\u00e9es chiffr\u00e9es sur les b\u00e9n\u00e9ficiaires insuffisamment document\u00e9es dans le rapport (absence d'outil de comptage syst\u00e9matique).\",\r\n\"ameliorer\": \"Acc\u00e8s aux droits facilit\u00e9 (CAF, P\u00f4le Emploi) par les ateliers d\u00e9marches administratives\",\r\n\"emanciper\": \"Ateliers de m\u00e9diation num\u00e9rique (grands d\u00e9butants, illettrisme num\u00e9rique), cursus Grande \u00c9cole du Num\u00e9rique, usage num\u00e9rique autonome des d\u00e9marches administratives vis\u00e9 pour les seniors. Sorties vers l'emploi\",\r\n\"reveler\": \"WebTV valorisant les initiatives locales et la richesse des propositions socio-culturelles, favorisant l'adh\u00e9sion des habitants aux projets de r\u00e9habilitation urbaine. Maison Num\u00e9rique comme lieu de rencontre interg\u00e9n\u00e9rationnelle.\"\r\n},\r\n{\r\n\"theme\": \"NUM\u00c9RIQUE\",\r\n\"porteur\": \"Ligue FAIL 13\",\r\n\"projet\": \"M\u00e9dialab Itin\u00e9rant\",\r\n\"resume\": \"Projet de m\u00e9diation num\u00e9rique itin\u00e9rant visant \u00e0 faire d\u00e9couvrir la cr\u00e9ation num\u00e9rique dans les territoires les moins couverts, \u00e0 destination des habitants des quartiers prioritaires et des zones rurales des Bouches-du-Rh\u00f4ne.\",\r\n\"territoire\": \"BdR QPV+rural\",\r\n\"fis\": \"50\u202f000,00 \u20ac\",\r\n\"budget\": \"95\u202f500,00 \u20ac\",\r\n\"partFis\": \"52,4%\",\r\n\"personnes\": \"119 jeunes de 11 \u00e0 18 ans (participants uniques) + 21 adultes touch\u00e9s (dont 10 form\u00e9s lors de 8 s\u00e9ances de co-animation) + 8 communes touch\u00e9es\",\r\n\"actions\": \"78 ateliers anim\u00e9s (10 th\u00e9matiques : EMI, jeux vid\u00e9o, r\u00e9seaux sociaux, robotique, IA, photo\/vid\u00e9o, cybers\u00e9curit\u00e9, culture num\u00e9rique, codage, esprit critique) ; 8 s\u00e9ances de co-animation ; 9 ateliers men\u00e9s en autonomie par les structures d'accueil gr\u00e2ce aux 4 kits p\u00e9dagogiques distribu\u00e9s\",\r\n\"nbPartenaires\": \"NR (chiffre total non donn\u00e9). Structures d'accueil nomm\u00e9es : MPT L'Envol\u00e9e (Port-Saint-Louis-du-Rh\u00f4ne, nov-d\u00e9c 2024), m\u00e9diath\u00e8que de la Roque d'Anth\u00e9ron (oct-d\u00e9c 2024), Espace Jeunes d'Ensu\u00e8s-la-Redonne (oct-d\u00e9c 2024), m\u00e9diath\u00e8que de Rognes (oct 2024-jan 2025), Espace Jeunes de Roquevaire (mars-avr 2025), Espace Jeunes de Saint-Martin-de-Crau (mai 2025), m\u00e9diath\u00e8que de Tarascon (juin 2025), m\u00e9diath\u00e8que de Venelles (juillet 2025)\",\r\n\"competences\": \"10 personnes form\u00e9es lors de 8 s\u00e9ances de co-animation avec un m\u00e9diateur de la Ligue de l'Enseignement ; remise de 4 kits p\u00e9dagogiques ayant permis aux structures de mener 9 ateliers en autonomie\",\r\n\"lienSocial\": \"NR \u2014 non document\u00e9 dans le CERFA\",\r\n\"comportement\": \"NR \u2014 non document\u00e9 dans le CERFA\",\r\n\"sorties\": \"NR \u2014 non document\u00e9 dans le CERFA\",\r\n\"freins\": \"NR \u2014 rubrique freins non renseign\u00e9e dans le CERFA\",\r\n\"ameliorer\": \"\",\r\n\"emanciper\": \"Formation de relais par co-animation avec un m\u00e9diateur, remise de kits p\u00e9dagogiques. Ateliers men\u00e9s en autonomie par les structures form\u00e9es.\",\r\n\"reveler\": \"\"\r\n},\r\n{\r\n\"theme\": \"NUM\u00c9RIQUE\",\r\n\"porteur\": \"Arborescence-Icom\",\r\n\"projet\": \"EPN+R\u00e9hab-Lab\",\r\n\"resume\": \"Projet de m\u00e9diation num\u00e9rique appliqu\u00e9 au champ de la sant\u00e9, visant \u00e0 rendre les usagers acteurs de leurs propres aides techniques, \u00e0 destination des publics des structures de soin et m\u00e9dico-sociales des 15e et 16e arrondissements de Marseille.\",\r\n\"territoire\": \"QPV 15e-16e Mlle\",\r\n\"fis\": \"20\u202f000,00 \u20ac\",\r\n\"budget\": \"40\u202f000,00 \u20ac\",\r\n\"partFis\": \"50,0%\",\r\n\"personnes\": \"40\",\r\n\"actions\": \"4 r\u00e9unions, 12 ateliers\",\r\n\"nbPartenaires\": \"~6 principaux\",\r\n\"competences\": \"Ateliers autonomie num\u00e9rique (d\u00e9marches administratives, cr\u00e9ation mail, smartphone\/PC) \u2192 mont\u00e9e en autonomie document\u00e9e qualitativement.\\nEssentiels : acculturation num\u00e9rique des r\u00e9sidents QPV pour faciliter la recherche d'emploi \u2014 r\u00e9sultats non chiffr\u00e9s.\\nCartable Net + Juniors connect\u00e9s : usages num\u00e9riques p\u00e9dagogiques chez les coll\u00e9giens et 12-17 ans.\\nR\u00e9hab-Lab : initiation \u00e0 l'impression 3D + co-conception d'aides techniques.\\nNb de personnes form\u00e9es : NR pr\u00e9cis\u00e9ment.\",\r\n\"lienSocial\": \"Arbopostale Aygalades : \u00abtiers-lieu num\u00e9rique inclusif\u00bb r\u00e9implantant un service public (La Poste) dans un quartier enclav\u00e9 \u2014 impact direct sur l'acc\u00e8s aux services.\\nK-Bu\/Cabucelle : lieu convivial de partage et d'\u00e9change dans un quartier nord \u2014 lien social.\\n\u00abLa strat\u00e9gie mise en place pour valoriser la m\u00e9diation num\u00e9rique, tout en r\u00e9implantant un service public de proximit\u00e9 dans les quartiers prioritaires, s'av\u00e8re efficace.\u00bb (rapport interne).\",\r\n\"comportement\": \"R\u00e9hab-Lab : \u00ables patients deviennent acteurs du d\u00e9veloppement de leurs propres aides techniques via l'impression 3D\u00bb \u2014 changement de posture document\u00e9 (de patient passif \u00e0 co-concepteur).\\nEPN\/cyberespace : \u00abde plus en plus en difficult\u00e9s pour l'apprentissage des outils num\u00e9riques \u2014 illectronisme\u00bb \u2192 objectif d'autonomisation num\u00e9rique, d\u00e9claratif.\\nPoste Relais : \u00abhausse significative de la fr\u00e9quentation\u00bb suite au nouveau service remise colis \u2192 indicateur d'adoption d'un service.\\n\u2192 Changement comportemental document\u00e9 qualitativement pour le R\u00e9hab-Lab.\",\r\n\"sorties\": \"Essentiels (QPV emploi) : acculturation num\u00e9rique pour faciliter la recherche d'emploi \u2014 sorties vers l'emploi vis\u00e9es mais non chiffr\u00e9es.\\nGuichet asso : orientation vers les carrefours de l'entrepreneuriat \u2014 r\u00e9sultats NR.\\n\u2192 Pas de sortie positive quantifi\u00e9e.\",\r\n\"freins\": \"Freins institutionnels et partenariaux (arr\u00eat\/transition du projet) : FUSION\/ABSORPTION par Icom'Provence act\u00e9e en 2024, gestion transf\u00e9r\u00e9e \u00e0 partir du 27\/11\/2024 \u2014 derni\u00e8re ann\u00e9e d'existence autonome d'Arborescence. La reconduction du projet FIS en l'\u00e9tat n'est pas applicable.\\nFreins financiers : d\u00e9ficit 2024 de -1 896 \u20ac d\u00fb \u00e0 la \u00abr\u00e9duction des aides \u00e9tatiques pour les conseillers num\u00e9riques et \u00e0 la fin des subventions pour le poste de concierge num\u00e9rique\u00bb. Cause directe du d\u00e9ficit apr\u00e8s 5 ans de b\u00e9n\u00e9fices.\\nFreins humains (\u00e9quipes et publics): d\u00e9part progressif des salari\u00e9s dans le cadre de la transition vers Icom'Provence.\",\r\n\"ameliorer\": \"R\u00e9implantation d'un service public de proximit\u00e9 (La Poste) dans un quartier enclav\u00e9, hausse significative de fr\u00e9quentation du service remise colis.\",\r\n\"emanciper\": \"Ateliers d'autonomie num\u00e9rique pour les d\u00e9marches du quotidien. R\u00e9hab-Lab : les patients deviennent acteurs de leurs propres aides techniques, passage du statut de passif \u00e0 co-concepteur.\",\r\n\"reveler\": \"Participation \u00e0 NEC24 \u00e0 Marseille : visibilit\u00e9 nationale.\"\r\n},\r\n{\r\n\"theme\": \"NUM\u00c9RIQUE\",\r\n\"porteur\": \"Urban Prod\",\r\n\"projet\": \"CVI p\u00e9nitentiaire+Hub Sud (Formation des m\u00e9diateurs num\u00e9riques)\",\r\n\"resume\": \"Projet d'inclusion num\u00e9rique visant \u00e0 produire et diffuser des ressources de formation et de vulgarisation, \u00e0 destination des professionnels de l'accompagnement et des agents des collectivit\u00e9s de la m\u00e9tropole.\",\r\n\"territoire\": \"Marseille+PACA\",\r\n\"fis\": \"14\u202f000,00 \u20ac\",\r\n\"budget\": \"61\u202f050,00 \u20ac\",\r\n\"partFis\": \"22,9%\",\r\n\"personnes\": \"200\",\r\n\"actions\": \"144j CVI+HHNS Festival+107 FNE\",\r\n\"nbPartenaires\": \"~20+\",\r\n\"competences\": \"CVI : formation des auxiliaires vid\u00e9o en d\u00e9tention \u00e0 l'audiovisuel \u2014 comp\u00e9tences cr\u00e9atrices objectivables (fictions prim\u00e9es au festival \u00abHors Champs\u00bb).\\nHHNS Acad\u00e9mie : 12 jeunes form\u00e9s aux m\u00e9tiers de la musique (4h\/semaine).\\nCertification Pix : agr\u00e9ment centre \u2014 nb de certifi\u00e9s NR.\\nQualiopi obtenu oct. 2024 : gage de qualit\u00e9 des formations.\\nFormation tuteurs\/professionnels : 11 formations (150 participants, p\u00f4le num\u00e9rique).\\nCyberharc\u00e8lement PRMSE : formation de tous les m\u00e9diateurs sociaux PACA (nb NR).\",\r\n\"lienSocial\": \"CVI en d\u00e9tention : \u00aboutil d'\u00e9mancipation et de formation\u00bb pour les d\u00e9tenus \u2014 acc\u00e8s \u00e0 la culture et aux comp\u00e9tences en milieu ferm\u00e9.\\nHHNS Festival : \u00abvolont\u00e9 de reconnaissance (voire de r\u00e9paration) des acteurs des cultures hip-hop \u00e0 Marseille, longtemps ignor\u00e9s\u00bb \u2014 r\u00e9paration symbolique et sociale.\\nTemps Libres : groupe 'Who We Are' programm\u00e9 en espace public \u2014 visibilisation de jeunes talents marseillais.\",\r\n\"comportement\": \"CVI en d\u00e9tention : \u00ables fictions r\u00e9alis\u00e9es en d\u00e9tention par Urban ont remport\u00e9 3 des 4 prix du festival Hors Champs\u00bb \u2014 indicateur objectivable d'acquisition de comp\u00e9tences cr\u00e9atrices par des d\u00e9tenus. Changement de posture document\u00e9.\\nTemps Libres (Who We Are) : groupe de jeunes programm\u00e9 lors de HHNS \u2014 progression artistique document\u00e9e.\\nHHNS Acad\u00e9mie : \u00abapprendre et transmettre\u00bb en milieu p\u00e9nitentiaire via CVI \u2014 d\u00e9claration d'intention sur le changement comportemental.\",\r\n\"sorties\": \"CVI : auxiliaires vid\u00e9o en d\u00e9tention acqui\u00e8rent une comp\u00e9tence professionnelle audiovisuelle \u2014 reconversions post-incarc\u00e9ration vis\u00e9es mais non chiffr\u00e9es.\\nHub du Sud FNE : \u00ab3 189 jeunes inform\u00e9s\u00bb sur les dispositifs num\u00e9riques \u2014 orientation vers des services\/droits num\u00e9riques.\\nMinist\u00e8re de la Culture \/ incubateur m\u00e9dias : s\u00e9lection pour 2025 \u2014 sorties positives cr\u00e9ateurs de m\u00e9dias attendues.\\n\u2192 Pas de sortie positive quantifi\u00e9e directement dans ce rapport.\",\r\n\"freins\": \"Freins humains (\u00e9quipes et publics) : d\u00e9part de Sarah Rietsch (charg\u00e9e de formation, avril 2024) \u2192 \u00abmettant un frein \u00e0 l'activit\u00e9 de d\u00e9veloppement\u00bb de la formation. Frein temporaire mais impact sur la mont\u00e9e en puissance post-Qualiopi.\\nFreins institutionnels et partenariaux : \u00abComment continuer ses missions d'int\u00e9r\u00eats g\u00e9n\u00e9raux sans financement \u00e9tatique ? [...] les feuilles de route FNE si longuement travaill\u00e9es ont \u00e9t\u00e9 si vite abandonn\u00e9es par l'Etat\u00bb \u2014 remise en question du financement Hub du Sud pour 2025. Frein structurel annonc\u00e9.\\nFreins institutionnels et partenariaux: Tour de France R\u00e9publicain (Ligue) d\u00e9plac\u00e9 en raison des JO \u2014 impact indirect sur le partenariat journalisme jeune.\",\r\n\"ameliorer\": \"Formation de m\u00e9diateurs sociaux \u00e0 la lutte contre le cyberharc\u00e8lement \u00e0 l'\u00e9chelle r\u00e9gionale. Information des jeunes sur les dispositifs num\u00e9riques\",\r\n\"emanciper\": \"CVI en d\u00e9tention qualifi\u00e9 d'\u00ab outil d'\u00e9mancipation \u00bb, fictions de d\u00e9tenus prim\u00e9es en festival. Formation musicale des jeunes, reconversions post-incarc\u00e9ration vis\u00e9es.\",\r\n\"reveler\": \"HHNS Festival port\u00e9 par une \u00ab volont\u00e9 de reconnaissance des acteurs des cultures hip-hop \u00e0 Marseille, longtemps ignor\u00e9s \u00bb. Groupe Who We Are programm\u00e9 en espace public visibilisation de jeunes talents marseillais.\\n3 prix sur 4 remport\u00e9s au Festival Hors Champs (fictions r\u00e9alis\u00e9es par d\u00e9tenus).\"\r\n},\r\n{\r\n\"theme\": \"NUM\u00c9RIQUE\",\r\n\"porteur\": \"CENTRE DE CULTURE OUVRIERE \u2013 Centre social Sainte-Marthe\",\r\n\"projet\": \"la r\u00e9volution num\u00e9rique et la transformation sociale en cours\",\r\n\"resume\": \"Projet d'inclusion num\u00e9rique visant \u00e0 accompagner l'acquisition de comp\u00e9tences num\u00e9riques et l'acc\u00e8s aux d\u00e9marches en ligne, \u00e0 destination des habitants des quartiers nord de Marseille.\",\r\n\"territoire\": \"MARSEILLE quartiers nords\",\r\n\"fis\": \"40\u202f000,00 \u20ac\",\r\n\"budget\": \"87\u202f200,00 \u20ac\",\r\n\"partFis\": \"45,9%\",\r\n\"personnes\": \"plus de 100 personnes touch\u00e9s\",\r\n\"actions\": \"NR\",\r\n\"nbPartenaires\": \"NR\",\r\n\"competences\": \"NR\",\r\n\"lienSocial\": \"NR\",\r\n\"comportement\": \"NR\",\r\n\"sorties\": \"NR\",\r\n\"freins\": \"NR\",\r\n\"ameliorer\": \"Acc\u00e8s facilit\u00e9 aux d\u00e9marches administratives en ligne pour 50 \u00e0 100 personnes en fracture num\u00e9rique, via des permanences hebdomadaires et la remise d'ordinateurs reconditionn\u00e9s \u00e0 10 b\u00e9n\u00e9ficiaires.\",\r\n\"emanciper\": \"Autonomie num\u00e9rique renforc\u00e9e gr\u00e2ce \u00e0 des formations r\u00e9guli\u00e8res touchant 25 participants, avec acquisition de comp\u00e9tences pratiques et suivi post-formation.\",\r\n\"reveler\": \"Espace gaming et FabLab r\u00e9v\u00e9lant la cr\u00e9ativit\u00e9 des jeunes et enfants du quartier (30 jeunes, 50 enfants), avec une formation \u00e0 la cr\u00e9ation vid\u00e9o d\u00e9bouchant sur une future cha\u00eene YouTube valorisant leurs productions.\"\r\n},\r\n{\r\n\"theme\": \"NUM\u00c9RIQUE\",\r\n\"porteur\": \"HUB DU SUD\",\r\n\"projet\": \"Reconditionnement informatique\",\r\n\"resume\": \"Projet d'inclusion num\u00e9rique combinant animation du r\u00e9seau r\u00e9gional de m\u00e9diation num\u00e9rique et r\u00e9emploi de mat\u00e9riel informatique, visant \u00e0 r\u00e9duire la fracture num\u00e9rique, \u00e0 destination des professionnels du secteur et des publics \u00e9loign\u00e9s du num\u00e9rique.\",\r\n\"territoire\": \"M\u00e9tropole\",\r\n\"fis\": \"15\u202f000,00 \u20ac\",\r\n\"budget\": \"30\u202f580,00 \u20ac\",\r\n\"partFis\": \"49,1%\",\r\n\"personnes\": \"environ 80 personnes\",\r\n\"actions\": \"NR\",\r\n\"nbPartenaires\": \"NR\",\r\n\"competences\": \"NR\",\r\n\"lienSocial\": \"NR\",\r\n\"comportement\": \"NR\",\r\n\"sorties\": \"NR\",\r\n\"freins\": \"NR\",\r\n\"ameliorer\": \"\u00c9tude territoriale sur 5 bassins de population des Bouches-du-Rh\u00f4ne objectivant les freins d'acc\u00e8s au num\u00e9rique, avec une ambition de redistribuer du mat\u00e9riel informatique reconditionn\u00e9 aux personnes en situation de fracture num\u00e9rique.\",\r\n\"emanciper\": \"Perspective de formation et d'insertion professionnelle pour des personnes \u00e9loign\u00e9es de l'emploi (personnes en situation de handicap, seniors, habitants de quartiers populaires) via les m\u00e9tiers du reconditionnement informatique.\",\r\n\"reveler\": \"Mutualisation des connaissances et mise en r\u00e9seau d'environ 80 acteurs professionnels (centres sociaux, m\u00e9diation num\u00e9rique, collectivit\u00e9s, organismes de formation, structures d'insertion) \u00e0 l'\u00e9chelle du d\u00e9partement.\"\r\n},\r\n{\r\n\"theme\": \"NUM\u00c9RIQUE\",\r\n\"porteur\": \"MISSION LOCALE OUEST PROVENCE\",\r\n\"projet\": \"Gaming House de l'insertion \u00e0 Miramas\",\r\n\"resume\": \"Projet d'insertion s'appuyant sur le jeu vid\u00e9o et le sport comme leviers de remobilisation, \u00e0 destination des jeunes de 16 \u00e0 25 ans de Miramas.\",\r\n\"territoire\": \"Miramas\",\r\n\"fis\": \"15\u202f000,00 \u20ac\",\r\n\"budget\": \"61\u202f000,00 \u20ac\",\r\n\"partFis\": \"24,6%\",\r\n\"personnes\": \"NR \u2014 projet en cours de formalisation, chiffres actuellement encore des objectifs, pas de b\u00e9n\u00e9ficiaires r\u00e9els comptabilis\u00e9s au moment du bilan\",\r\n\"actions\": \"6 r\u00e9unions de travail avec Famille et Provence\/13 Habitat\/Erilia ; 2 r\u00e9unions avec la Mission Locale d'Aix-en-Provence (projet similaire quartier Encagnane) ; 1 r\u00e9union avec le Service Politique de la Ville AMP (Karin Scaeffer) ; 1 r\u00e9union de pr\u00e9sentation aux acteurs locaux (ADDAP13, Politique de la Ville AMP, associations de quartiers) ; 4 r\u00e9unions avec le prestataire The Family ; 2 d\u00e9placements \u00e0 Paris (Fonds pour l'innovation sociale des ESH, subvention 60 000\u20ac sur 3 ans) ; 2 visites bailleur\/architecte du futur local\",\r\n\"nbPartenaires\": \"10 entit\u00e9s nomm\u00e9es dans le bilan (pas de total chiffr\u00e9 officiel) : Famille et Provence, Erilia, Office Public 13 Habitat, Fondation Orange, F\u00e9d\u00e9ration des ESH, Mission Locale d'Aix-en-Provence, Service Politique de la Ville AMP, ADDAP13, associations de quartiers, prestataire The Family\",\r\n\"competences\": \"NR \u2014 action non encore op\u00e9rationnelle, pas d'accompagnement individuel d\u00e9marr\u00e9\",\r\n\"lienSocial\": \"NR\",\r\n\"comportement\": \"Les objectifs n'ont pas pu \u00eatre atteints : l'action n'a pas encore d\u00e9marr\u00e9 dans sa pratique. Ouverture pr\u00e9vue au d\u00e9but du second semestre 2026.\",\r\n\"sorties\": \"NR\",\r\n\"freins\": \"Freins institutionnels et partenariaux : retard de mise en \u0153uvre op\u00e9rationnelle (changement d'usage administratif du local, deux visites bailleur\/architecte en 2024\/25), report d'une partie des d\u00e9penses. Freins financiers : CD13 non vers\u00e9 (0 \u20ac sur 16 000 \u20ac pr\u00e9vus). Ouverture report\u00e9e au second semestre 2026. ATTENTION : le libell\u00e9 de cette ligne (\u00ab Gaming House \u00e0 Miramas \u00bb) et son r\u00e9sum\u00e9 (qui mentionne Port-Saint-Louis) sont incoh\u00e9rents dans le tableau d'origine \u2014 le rattachement ci-dessus suit le financement communal (Miramas) identifi\u00e9 dans le CERFA.\",\r\n\"ameliorer\": \"\",\r\n\"emanciper\": \"\",\r\n\"reveler\": \"\"\r\n},\r\n{\r\n\"theme\": \"NUM\u00c9RIQUE\",\r\n\"porteur\": \"MISSION LOCALE OUEST PROVENCE\",\r\n\"projet\": \"Cr\u00e9ation d'une \u00ab gaming house\\\" \u00e0 Port Saint Louis du Rh\u00f4ne\",\r\n\"resume\": \"Projet d'insertion s'appuyant sur le jeu vid\u00e9o et le sport comme leviers de remobilisation, \u00e0 destination des jeunes de 16 \u00e0 25 ans de Port-Saint-Louis-du-Rh\u00f4ne.\",\r\n\"territoire\": \"Port-Saint-Louis-du-Rh\u00f4ne\",\r\n\"fis\": \"15\u202f000,00 \u20ac\",\r\n\"budget\": \"59\u202f200,00 \u20ac\",\r\n\"partFis\": \"25,3%\",\r\n\"personnes\": \"NR \u2014 projet en cours de formalisation, chiffres actuellement encore des objectifs, pas de b\u00e9n\u00e9ficiaires r\u00e9els comptabilis\u00e9s au moment du bilan\",\r\n\"actions\": \"6 r\u00e9unions de travail avec Famille et Provence\/13 Habitat\/Erilia ; 2 r\u00e9unions avec la Mission Locale d'Aix-en-Provence (projet similaire quartier Encagnane) ; 1 r\u00e9union avec le Service Politique de la Ville AMP (Karin Scaeffer) ; 1 r\u00e9union de pr\u00e9sentation aux acteurs locaux (Maison Pour Tous, ADDAP13, Politique de la Ville AMP, associations de quartiers) ; 4 r\u00e9unions avec le prestataire The Family ; 2 d\u00e9placements \u00e0 Paris (Fonds pour l'innovation sociale des ESH, subvention 60 000\u20ac sur 3 ans) ; 2 visites bailleur\/architecte du futur local (ancien logement \u00e0 changer d'usage administratif)\",\r\n\"nbPartenaires\": \"10 entit\u00e9s nomm\u00e9es dans le bilan (pas de total chiffr\u00e9 officiel) : Famille et Provence, Erilia, Office Public 13 Habitat, Fondation Orange, F\u00e9d\u00e9ration des ESH, Mission Locale d'Aix-en-Provence, Service Politique de la Ville AMP, ADDAP13, Maison Pour Tous, associations de quartiers, prestataire The Family\",\r\n\"competences\": \"NR \u2014 action non encore op\u00e9rationnelle, pas d'accompagnement individuel d\u00e9marr\u00e9\",\r\n\"lienSocial\": \"NR\",\r\n\"comportement\": \"Les objectifs n'ont pas pu \u00eatre atteints : l'action n'a pas encore d\u00e9marr\u00e9 dans sa pratique. Ouverture pr\u00e9vue au d\u00e9but du second semestre 2026.\",\r\n\"sorties\": \"NR\",\r\n\"freins\": \"Freins institutionnels et partenariaux : retard de mise en \u0153uvre op\u00e9rationnelle (changement d'usage administratif du local, deux visites bailleur\/architecte en 2024\/25), report d'une partie des d\u00e9penses. Freins financiers : CD13 non vers\u00e9 (0 \u20ac sur 16 000 \u20ac pr\u00e9vus). Ouverture report\u00e9e au second semestre 2026. ATTENTION : le libell\u00e9 de cette ligne (\u00ab Port-Saint-Louis \u00bb) et son r\u00e9sum\u00e9 (qui mentionne Miramas) sont incoh\u00e9rents dans le tableau d'origine \u2014 le rattachement ci-dessus suit le financement communal (Port-Saint-Louis) identifi\u00e9 dans le CERFA.\",\r\n\"ameliorer\": \"\",\r\n\"emanciper\": \"\",\r\n\"reveler\": \"\"\r\n},\r\n{\r\n\"theme\": \"DISCRIMINATIONS\",\r\n\"porteur\": \"ACT\",\r\n\"projet\": \"Education, formation et lutte contre les discriminations\",\r\n\"resume\": \"Projet de lutte contre les discriminations visant \u00e0 former et \u00e0 cr\u00e9er des espaces de r\u00e9flexion partag\u00e9e, \u00e0 destination des acteurs de l'\u00e9ducation populaire et des habitants des quartiers prioritaires de Marseille, Port-de-Bouc et Martigues.\",\r\n\"territoire\": \"QPV Mlle+PACA\",\r\n\"fis\": \"25\u202f000,00 \u20ac\",\r\n\"budget\": \"25\u202f000,00 \u20ac\",\r\n\"partFis\": \"100,0%\",\r\n\"personnes\": \"38\",\r\n\"actions\": \"12 ateliers+9 \u00e9duc.+6 d\u00e9bats+5 ateliers\",\r\n\"nbPartenaires\": \"M\u00e9tropole, DREETS, CNRS, Univ., r\u00e9seaux\",\r\n\"competences\": \"Projet 1 : 4 demi-journ\u00e9es de formation ; 6 ateliers inter-associatifs mensuels \u2192 mont\u00e9e en comp\u00e9tences de 8 professionnelles de diff\u00e9rents secteurs.\\nProjet 2 : 1 cycle de formation de 3 jours (acteurs \u00e9ducation populaire) ; 4 ateliers d'\u00e9criture.\\nProjet 4 : 3 cycles de formation enseignants (lyc\u00e9es PACA) ; 6 ateliers aupr\u00e8s du public scolaire.\\nProjet 5 (R\u00e9seau Soci\u00e9t\u00e9s Migrantes) : 2 formations transculturelles (6-12 participants\/session) ; 5 ateliers professionnels sur le ph\u00e9nom\u00e8ne migratoire.\",\r\n\"lienSocial\": \"\u00abFabriquer un nous collectif\u00bb \u2014 formulation r\u00e9currente dans les documents.\\nInauguration avenue de la Marche pour l'\u00c9galit\u00e9 \u2014 ancrage m\u00e9moriel collectif.\\n\u00abRestaurer des archives r\u00e9gionales\u00bb \u2014 construction d'une m\u00e9moire commune des quartiers populaires.\\nR\u00e9seau Soci\u00e9t\u00e9s Migrantes : r\u00e9duction de l'isolement des professionnels accompagnant des migrants primo-arrivants.\",\r\n\"comportement\": \"Projet 2 (Innovation) : \u00ables habitants et les professionnels ont largement conscience des ruptures d'\u00e9galit\u00e9 auxquelles ils sont confront\u00e9s dans leur quotidien mais n'identifient pas les leviers de transformation\u00bb \u2192 les ateliers visent \u00e0 identifier ces leviers. D\u00e9claration d'intention, pas de mesure de changement comportemental publi\u00e9e.\\nProjet 4 (Centre ressources) : idem \u2014 les ateliers permettent aux lyc\u00e9ens de comprendre les m\u00e9canismes d'exclusion mais sans indicateur de changement comportemental mesur\u00e9.\",\r\n\"sorties\": \"NR\",\r\n\"freins\": \"Freins humains (\u00e9quipes et publics) : le texte \u00e9voque \u00e0 plusieurs reprises la difficult\u00e9 des professionnels du champ \u00e9ducatif et social \u00e0 faire face \u00e0 des \\\"formes de domination multiples et imbriqu\u00e9es\\\" pour lesquelles ils sont \\\"peu form\u00e9\u00b7es initialement\\\", ainsi qu'un besoin r\u00e9current \\\"d'accompagnement dans le temps long\\\" et un \\\"manque d'espaces d'\u00e9changes et de r\u00e9flexions\\\" chez les publics accompagn\u00e9s.\\n\\nFreins institutionnels\/structurels : l'association souligne que \\\"malgr\u00e9 les dispositifs de lutte contre les discriminations qui se multiplient depuis les ann\u00e9es 70, les discriminations perdurent\\\", sugg\u00e9rant un constat de frein syst\u00e9mique r\u00e9current auquel se heurte l'action associative depuis 2006, sans qu'il s'agisse d'un frein sp\u00e9cifique \u00e0 l'exercice 2024.\",\r\n\"ameliorer\": \"R\u00e9seau Soci\u00e9t\u00e9s Migrantes : r\u00e9duction de l'isolement des professionnels accompagnant des migrants primo-arrivants.\",\r\n\"emanciper\": \"Mont\u00e9e en comp\u00e9tences de professionnelles par des formations transculturelles et inter-associatives, cycles de formation enseignants. Identification de leviers de transformation face aux ruptures d'\u00e9galit\u00e9 constat\u00e9es. Suivi \u00e0 6 mois post-formation transculturelle (R\u00e9seau Soci\u00e9t\u00e9s Migrantes).\",\r\n\"reveler\": \"\u00ab Fabriquer un nous collectif \u00bb, inauguration avenue de la Marche pour l'\u00c9galit\u00e9, restauration d'archives r\u00e9gionales construction d'une m\u00e9moire commune des quartiers populaires.\"\r\n},\r\n{\r\n\"theme\": \"DISCRIMINATIONS\",\r\n\"porteur\": \"Association maison des familles et des associations\",\r\n\"projet\": \"Pi\u00e8ce de th\u00e9\u00e2tre contre les discriminations\",\r\n\"resume\": \"Projet artistique de lutte contre les discriminations, en particulier \u00e0 l'embauche, \u00e0 destination de jeunes du 14e arrondissement de Marseille et des publics rencontr\u00e9s lors de la diffusion.\",\r\n\"territoire\": \"QPV Marseille 14e (Centre Social Saint-Barth\u00e9l\u00e9my) + tourn\u00e9e \u00e0 Martigues, La Ciotat, Toulon et Paris\",\r\n\"fis\": \"30\u202f000,00 \u20ac\",\r\n\"budget\": \"50\u202f582,00 \u20ac\",\r\n\"partFis\": \"59,3%\",\r\n\"personnes\": \"Environ 50 jeunes participants directs (com\u00e9diens, ateliers, troupe). Environ 2 500 jeunes en public b\u00e9n\u00e9ficiaire indirect, sensibilis\u00e9s lors des repr\u00e9sentations th\u00e9\u00e2trales et des d\u00e9bats organis\u00e9s (texte tronqu\u00e9 dans le document au-del\u00e0 de ce point)\",\r\n\"actions\": \"Ateliers r\u00e9guliers de pratique th\u00e9\u00e2trale + tourn\u00e9e sc\u00e9nique \u00e0 l'\u00e9chelle m\u00e9tropolitaine et au-del\u00e0 : Le ZEF (Martigues), l'\u00c9cole de la 2e Chance (Paris), Espace Busserine, La Ciotat, Centre Social Les Abeilles (La Ciotat), Toulon. D\u00e9bats organis\u00e9s apr\u00e8s chaque repr\u00e9sentation\",\r\n\"nbPartenaires\": \"NR \u2014 pas de total chiffr\u00e9 dans le CERFA ; lieux partenaires nomm\u00e9s : Le ZEF (Martigues), \u00c9cole de la 2e Chance (Paris), Espace Busserine, Centre Social Les Abeilles (La Ciotat), structure(s) \u00e0 Toulon\",\r\n\"competences\": \"Ateliers r\u00e9guliers de pratique th\u00e9\u00e2trale ayant permis aux nouveaux participants de d\u00e9couvrir les bases du jeu d'acteur ; travail d'\u00e9criture collective du script construit \u00e0 partir des exp\u00e9riences v\u00e9cues\",\r\n\"lienSocial\": \"Int\u00e9gration de nouveaux participants ayant enrichi le projet en favorisant l'inclusion et l'apport de nouvelles perspectives (texte tronqu\u00e9 dans le document)\",\r\n\"comportement\": \"Objectifs d\u00e9clar\u00e9s atteints. Les d\u00e9bats organis\u00e9s apr\u00e8s chaque repr\u00e9sentation ont montr\u00e9 une \u00e9volution significative des jeunes (texte tronqu\u00e9 dans le document). Les retours positifs des jeunes et du public confirment l'impact et la pertinence de l'action\",\r\n\"sorties\": \"NR \u2014 non document\u00e9 dans le CERFA (dispositif culturel, pas d'indicateur d'insertion\/emploi)\",\r\n\"freins\": \"NR \u2014 aucun frein mentionn\u00e9 dans le CERFA (\u00e9carts budg\u00e9taires : RAS)\",\r\n\"ameliorer\": \"D\u00e9bats organis\u00e9s apr\u00e8s chaque repr\u00e9sentation montrant une \u00e9volution significative des jeunes. Retours positifs des jeunes et du public.\",\r\n\"emanciper\": \"Ateliers r\u00e9guliers de pratique th\u00e9\u00e2trale (d\u00e9couverte du jeu d'acteur), \u00e9criture collective du script \u00e0 partir d'exp\u00e9riences v\u00e9cues.\",\r\n\"reveler\": \"Int\u00e9gration de nouveaux participants enrichissant le projet par l'inclusion et l'apport de nouvelles perspectives.\"\r\n},\r\n{\r\n\"theme\": \"DISCRIMINATIONS\",\r\n\"porteur\": \"Compagnie Mbongui\",\r\n\"projet\": \"R\u00e9cits, corps et m\u00e9moire (\u00c9l\u00e9gie d'exil) [PROJET INTERROMPU]\",\r\n\"resume\": \"Projet artistique abordant l'exil et la marginalisation des quartiers, visant \u00e0 ouvrir des espaces de r\u00e9flexion et d'expression, \u00e0 destination des jeunes et des habitants des quartiers prioritaires de Marseille. Projet interrompu.\",\r\n\"territoire\": \"QPV Marseille\",\r\n\"fis\": \"25\u202f000,00 \u20ac\",\r\n\"budget\": \"31\u202f695,00 \u20ac\",\r\n\"partFis\": \"78,9%\",\r\n\"personnes\": \"15 pers. (sortie de r\u00e9sidence, public professionnel)\",\r\n\"actions\": \"1 r\u00e9sidence de cr\u00e9ation (16-19\/09\/2024) + 1 sortie publique\",\r\n\"nbPartenaires\": \"7 structures identifi\u00e9es (Viste, Astronef, Cit\u00e9, Capelette, Salins, Viv'Anim 13, Savine)\",\r\n\"competences\": \"NR\",\r\n\"lienSocial\": \"\u00abL'int\u00e9r\u00eat r\u00e9el des acteurs de terrain pour des projets artistiques engag\u00e9s sur des sujets sensibles\u00bb observ\u00e9 lors du d\u00e9marchage.\\n5\/7 structures ont r\u00e9pondu positivement \u2014 signal d'un besoin territorial de tels projets.\\nPas d'impact lien social effectif mesur\u00e9 (aucune repr\u00e9sentation ou atelier r\u00e9alis\u00e9 avec le public cible).\",\r\n\"comportement\": \"NR\",\r\n\"sorties\": \"NR\",\r\n\"freins\": \"Freins humains (\u00e9quipes et publics)\",\r\n\"ameliorer\": \"\",\r\n\"emanciper\": \"\",\r\n\"reveler\": \"Int\u00e9r\u00eat r\u00e9el des acteurs de terrain observ\u00e9 lors du d\u00e9marchage (5\/7 structures favorables) signal d'un besoin territorial non concr\u00e9tis\u00e9, projet arr\u00eat\u00e9 [INTERROMPU].\"\r\n},\r\n{\r\n\"theme\": \"DISCRIMINATIONS\",\r\n\"porteur\": \"ARCAF Riposte\",\r\n\"projet\": \"Autod\u00e9fense f\u00e9ministe\",\r\n\"resume\": \"Projet de lutte contre les violences et les discriminations de genre, \u00e0 destination des femmes et des adolescentes des communes de la m\u00e9tropole.\",\r\n\"territoire\": \"QPV Mlle+IDF\",\r\n\"fis\": \"18\u202f000,00 \u20ac\",\r\n\"budget\": \"36\u202f042,00 \u20ac\",\r\n\"partFis\": \"49,9%\",\r\n\"personnes\": \"189 touch\u00e9s dont 109 direct\",\r\n\"actions\": \"~46 (19 stages+12 ados+8 ateliers+5 stands)\",\r\n\"nbPartenaires\": \"8 lyc\u00e9es+7 centres sociaux+R\u00e9seau Riposte\",\r\n\"competences\": \"19 stages pour femmes (16+ ans) dont 2 LSF et 1 pour femmes en situation de handicap moteur.\\n12 stages pour adolescentes.\\n8 ateliers 2h dont 1 pour femmes Sourdes\/entendantes et 1 pour femmes avec handicap psychique\/cognitif.\\n1 atelier 3h pour femmes malades chroniques et \u00e2g\u00e9es \u00e0 mobilit\u00e9 r\u00e9duite.\\n1 stage 2 jours (ENSAD Paris) pour 15 enseignantes\/doctorantes\/\u00e9tudiantes.\\n16 stages Riposte aupr\u00e8s de lyc\u00e9ennes (programme R\u00e9gion Sud, avril 2024-avril 2025).\",\r\n\"lienSocial\": \"523 femmes touch\u00e9es en 2024, dont public en grande vuln\u00e9rabilit\u00e9 (femmes battues, situ\u00e9es dans QPV, en situation de handicap, sous-main de justice).\\nR\u00e9seau Riposte national \u2014 cr\u00e9ation d'un tissu de solidarit\u00e9 entre formatrices.\\nSupervision mensuelle psychologue + formation PSC1 + PSSM des formatrices \u2014 bien-\u00eatre des intervenantes.\\n\u00abSororit\u00e9\u00bb entre participantes \u2014 lien social entre femmes en vuln\u00e9rabilit\u00e9.\",\r\n\"comportement\": \"T\u00e9moignages qualifi\u00e9s : \u00abchanger de posture physique et mentale\u00bb \/ \u00absortir d'une position de passivit\u00e9 face aux menaces\u00bb \/ \u00abla peur est moindre\u00bb \/ \u00abje me sens pr\u00eate \u00e0 tenir t\u00eate \u00e0 mon conjoint\u00bb \u2014 indicateurs de changement de posture document\u00e9s.\\nRetour enseignantes : \u00ableurs postures changent, elles s'affirment, elles se sentent mieux\u00bb \/ \u00abelles me reparlent r\u00e9guli\u00e8rement de ce stage\u00bb.\\n\u2192 Changement comportemental document\u00e9 qualitativement par t\u00e9moignages multiples.\",\r\n\"sorties\": \"Stage \u00ablutte contre le harc\u00e8lement scolaire\u00bb (lyc\u00e9ennes) : r\u00e9sultat vis\u00e9 = \u00abreprendre confiance en elles, s'autoriser \u00e0 dire non\u00bb.\\n1 atelier s\u00e9lectionn\u00e9 pour le Catalogue contre les Discriminations M\u00e9tropole AMP 2025 \u2014 reconnaissance institutionnelle.\\n\u2192 Indicateurs de sortie positive qualitatifs (empowerment, confiance) mais non chiffr\u00e9s.\",\r\n\"freins\": \"Freins financiers : le Fonds pour les femmes en M\u00e9diterran\u00e9e, cens\u00e9 apporter 10 000 \u20ac, n'a vers\u00e9 aucun financement (0% de r\u00e9alisation), et l'ensemble des subventions n'a atteint que 61% des montants demand\u00e9s. L'association a d\u00fb compenser en sollicitant davantage de cofinancement aupr\u00e8s des structures partenaires locales (communes, centres sociaux), mais celles-ci disposaient de \\\"budgets limit\u00e9s\\\", ce qui a contraint le budget final ex\u00e9cut\u00e9 \u00e0 31 603 \u20ac au lieu des 36 042 \u20ac pr\u00e9vus (88%).\\n\\nFreins institutionnels\/partenariaux : la d\u00e9pendance \u00e0 de petites structures locales aux ressources restreintes (petites communes, centres sociaux) a limit\u00e9 la capacit\u00e9 de l'association \u00e0 s\u00e9curiser un cofinancement suffisant pour couvrir l'int\u00e9gralit\u00e9 du programme initial.\",\r\n\"ameliorer\": \"Changement de posture physique et mentale document\u00e9 par t\u00e9moignages, chez des femmes touch\u00e9es dont un public en grande vuln\u00e9rabilit\u00e9.\",\r\n\"emanciper\": \"Stages d'autod\u00e9fense pour femmes et adolescentes, ateliers adapt\u00e9s (LSF, handicap). Sortie d'une position de passivit\u00e9 face aux menaces, confiance en soi retrouv\u00e9e.\",\r\n\"reveler\": \"R\u00e9seau Riposte national cr\u00e9ant un tissu de solidarit\u00e9 entre formatrices. 1 atelier s\u00e9lectionn\u00e9 au Catalogue contre les Discriminations M\u00e9tropole AMP 2025 reconnaissance institutionnelle.\"\r\n},\r\n{\r\n\"theme\": \"DISCRIMINATIONS\",\r\n\"porteur\": \"\u00c9closion 13\",\r\n\"projet\": \"\u00c9galit\u00e9 F\/H culture (Femmes savantes)\",\r\n\"resume\": \"Projet de lutte contre les discriminations visant \u00e0 valoriser les savoir-faire et \u00e0 travailler la prise de parole, \u00e0 destination de femmes isol\u00e9es et de m\u00e8res au foyer \u00e0 Marseille et Martigues.\",\r\n\"territoire\": \"R\u00e9gion Sud PACA\",\r\n\"fis\": \"15\u202f000,00 \u20ac\",\r\n\"budget\": \"28\u202f912,00 \u20ac\",\r\n\"partFis\": \"51,9%\",\r\n\"personnes\": \"\",\r\n\"actions\": \"19 ateliers+56 spectacles+6 gestion, dont 13 s\u00e9ances dans 2 centres sociaux (Baussenque Marseille, Jeanne Pistoun Martigues) et 2 livrets de capitalisation\",\r\n\"nbPartenaires\": \"PAM, ARSUD, CRESS, DRAC, CIDFF\",\r\n\"competences\": \"94 adh\u00e9rentes accompagn\u00e9es individuellement (structuration de projets artistiques, dossiers, production).\\n6 ateliers collectifs sur la gestion d'un projet artistique (cycle pilote mars 2024, ~5 personnes\/atelier).\\n19 ateliers de m\u00e9diation culturelle.\",\r\n\"lienSocial\": \"\u00abVivier d'opportunit\u00e9s et levier d'insertion\u00bb \u2014 formulation centrale.\\nCrowdfunding 3 400 \u20ac collect\u00e9s = mobilisation solidaire de la communaut\u00e9 d'adh\u00e9rentes.\\nR\u00e9seau d'entraide bas\u00e9 sur la mutualisation de comp\u00e9tences et synergies artistiques.\\n8 ap\u00e9ros mensuels (10 adh\u00e9rentes\/ap\u00e9ro) = lieu de lien social informel.\",\r\n\"comportement\": \"Atelier Osons l'\u00c9galit\u00e9 \u00abAnatomie d'une femme\u00bb : questionner la repr\u00e9sentation des femmes dans l'imaginaire collectif via le cin\u00e9ma \u2014 d\u00e9claration d'intention, pas de mesure de changement.\\nAteliers de m\u00e9diation culturelle : \u00abempowerment de femmes par la pratique artistique\u00bb \u2014 d\u00e9claration d'intention.\\nBal des Paysannes : \u00abs'\u00e9manciper des constructions sociales des rapports de genre\u00bb \u2014 idem.\\n\u2192 Pas de mesure de changement comportemental publi\u00e9e.\",\r\n\"sorties\": \"91 contrats sign\u00e9s pour 95 adh\u00e9rentes = taux de contractualisation de 96% \u2014 indicateur fort d'insertion professionnelle.\\n226 694 \u20ac de paies r\u00e9alis\u00e9es en 2024 (depuis 13 ans : 497 artistes accompagn\u00e9es \/ 781 contrats \/ 1 566 415 \u20ac masse salariale totale).\\n16 projets s\u00e9lectionn\u00e9s (Rouvrir le Monde + Provence en Sc\u00e8ne) = acc\u00e8s \u00e0 des dispositifs de diffusion professionnelle.\",\r\n\"freins\": \"Freins financiers : les cotisations d'adh\u00e9rentes ont chut\u00e9 de 63%, un d\u00e9ficit chronique s'est install\u00e9 (-23 191 \u20ac en 2023, -32 873 \u20ac en 2022), et la structure d\u00e9pend fortement de subventions d\u00e9di\u00e9es \u00e0 des actions sp\u00e9cifiques (226 694 \u20ac) qui ne couvrent pas les besoins de fonctionnement g\u00e9n\u00e9ral, cr\u00e9ant une \\\"porosit\u00e9\\\" pour la p\u00e9rennisation des postes permanents. Les recettes propres (commissions sur ventes de prestations) restent limit\u00e9es (12 000-15 000 \u20ac\/an), rendant la structure structurellement fragile.\\n\\nFreins humains (\u00e9quipes) : l'\u00e9quipe salari\u00e9e a \u00e9t\u00e9 fortement r\u00e9duite, passant \u00e0 seulement 2 salari\u00e9es en 2024, avec plusieurs d\u00e9parts de personnel (fin de CDI, fin d'alternance) durant l'ann\u00e9e, contraignant l'association \u00e0 \\\"maintenir son action culturelle avec une \u00e9quipe r\u00e9duite\\\". Les charges de personnel ont \u00e9t\u00e9 r\u00e9duites de 24% \\\"sans licenciements\\\", mais au prix d'une r\u00e9organisation profonde du travail.\\n\\nFreins institutionnels\/structurels : la situation financi\u00e8re a conduit \u00e0 la mise en pause temporaire du Dispositif Jeune \u00c9mergence et \u00e0 une r\u00e9\u00e9valuation compl\u00e8te du mod\u00e8le socio-\u00e9conomique, n\u00e9cessitant l'accompagnement du Dispositif Local d'Accompagnement (DLA) avec France Active pour identifier de nouveaux axes de d\u00e9veloppement. L'association reconna\u00eet explicitement une baisse du nombre d'adh\u00e9rentes et de contrats sign\u00e9s comme \\\"attestant des obstacles rencontr\u00e9s cette ann\u00e9e\\\".\",\r\n\"ameliorer\": \"\",\r\n\"emanciper\": \"Accompagnement individualis\u00e9 \u00e0 la structuration de projets artistiques. Contractualisation quasi syst\u00e9matique des adh\u00e9rentes, autonomie \u00e9conomique acquise par la professionnalisation.\",\r\n\"reveler\": \"\u00ab Vivier d'opportunit\u00e9s et levier d'insertion \u00bb, crowdfunding 3 400 \u20ac collect\u00e9s par la communaut\u00e9, 16 projets s\u00e9lectionn\u00e9s (Rouvrir le Monde, Provence en Sc\u00e8ne) acc\u00e8s \u00e0 des dispositifs de diffusion professionnelle.\"\r\n},\r\n{\r\n\"theme\": \"DISCRIMINATIONS\",\r\n\"porteur\": \"Union sportive du panier de la victoire\",\r\n\"projet\": \"Basket inclusif\",\r\n\"resume\": \"Projet sportif de lutte contre les discriminations visant \u00e0 promouvoir l'\u00e9galit\u00e9 entre les femmes et les hommes ainsi que le bien-\u00eatre physique et mental, \u00e0 destination des habitantes et habitants des quartiers prioritaires de Marseille.\",\r\n\"territoire\": \"QPV Marseille (2e, 3e, 7e, 14e, 15e arrondissements ; terrains Busserade 13003 et Les Carmes)\",\r\n\"fis\": \"15\u202f000,00 \u20ac\",\r\n\"budget\": \"\",\r\n\"partFis\": \"46,90%\",\r\n\"personnes\": \"Environ 350 b\u00e9n\u00e9ficiaires au total : 300 femmes et 50 hommes. Public majoritairement jeune (15-25 ans), issu des quartiers prioritaires de Marseille\",\r\n\"actions\": \"Action r\u00e9alis\u00e9e entre mai 2024 et avril 2025 : entra\u00eenements r\u00e9guliers, rencontres sportives et \u00e9v\u00e9nements (tournois et festival, dont un 4e festival sur l'esplanade du Mucem). Nombre total d'actions non chiffr\u00e9 dans le CERFA\",\r\n\"nbPartenaires\": \"NR \u2014 non chiffr\u00e9 dans le CERFA\",\r\n\"competences\": \"NR \u2014 non document\u00e9 dans le CERFA\",\r\n\"lienSocial\": \"Coh\u00e9sion sociale et mixit\u00e9 recherch\u00e9es dans un cadre accessible et bienveillant ; entra\u00eenements et \u00e9v\u00e9nements d\u00e9ploy\u00e9s sur plusieurs arrondissements (2e, 3e, 7e, 14e, 15e) et rassemblement lors du festival au Mucem\",\r\n\"comportement\": \"Objectifs d\u00e9clar\u00e9s atteints au regard des indicateurs d\u00e9finis (participantes r\u00e9guli\u00e8res, taux de fr\u00e9quentation\/fid\u00e9lisation, mixit\u00e9 effective, implication progressive dans la dynamique collective) : participation f\u00e9minine conforme voire sup\u00e9rieure aux objectifs initiaux, r\u00e9gularit\u00e9 de fr\u00e9quentation, am\u00e9lioration notable de la confiance et de l'engagement des participantes\",\r\n\"sorties\": \"NR \u2014 non document\u00e9 dans le CERFA\",\r\n\"freins\": \"NR \u2014 aucun frein mentionn\u00e9 dans le CERFA ; compte-rendu d\u00e9clar\u00e9 conforme au budget pr\u00e9visionnel initial\",\r\n\"ameliorer\": \"Am\u00e9lioration notable de la confiance et de l'engagement des participantes, r\u00e9gularit\u00e9 de fr\u00e9quentation.\",\r\n\"emanciper\": \"Participation f\u00e9minine conforme voire sup\u00e9rieure aux objectifs, implication progressive dans la dynamique collective.\",\r\n\"reveler\": \"Coh\u00e9sion sociale et mixit\u00e9 recherch\u00e9es dans un cadre accessible, d\u00e9ploiement sur 5 arrondissements et rassemblement au festival Mucem.\"\r\n},\r\n{\r\n\"theme\": \"ENFANCE\/JEUNESSE\",\r\n\"porteur\": \"Delta France Asso.\",\r\n\"projet\": \"Forum Monde Possibles\",\r\n\"resume\": \"\u00c9v\u00e9nement d\u00e9di\u00e9 \u00e0 la jeunesse visant \u00e0 cr\u00e9er un espace de r\u00e9flexion et d'expression sur les enjeux de demain, \u00e0 destination des jeunes de la m\u00e9tropole.\",\r\n\"territoire\": \"QPV Mlle+PACA\",\r\n\"fis\": \"20\u202f000,00 \u20ac\",\r\n\"budget\": \"46\u202f227,00 \u20ac\",\r\n\"partFis\": \"43,3%\",\r\n\"personnes\": \"8111\",\r\n\"actions\": \"56+ actions (16 Pfff+7 IM+28 DF)\",\r\n\"nbPartenaires\": \"700+ structures (Forum MDP)\",\r\n\"competences\": \"227 jeunes accompagn\u00e9s programme Passe D' (363 depuis 2022) \u2014 ateliers de d\u00e9veloppement des soft skills.\\n23 jeunes programme Inclu'Sport (6 ateliers + agora citoyenne).\\nLyc\u00e9ens R\u00e9gion Sud \u2014 ateliers sant\u00e9 mentale \/ harc\u00e8lement scolaire (nombre NR).\",\r\n\"lienSocial\": \"Forum MDP : \u00abutiliser l'attractivit\u00e9 culturelle pour sensibiliser et susciter l'engagement du jeune\u00bb \u2014 outil de mobilisation citoyenne.\\nDelta Family : +68 % de mobilisation b\u00e9n\u00e9vole vs 2024 \u2014 indicateur de renforcement du tissu associatif.\\nPasse D' : lien avec QPV, rencontres professionnelles favorisant l'inclusion sociale.\",\r\n\"comportement\": \"Programme \u00abPfff\u00bb : enqu\u00eate nationale diffus\u00e9e pour recenser les habitudes de consommation et r\u00e9duire l'\u00e2ge de la premi\u00e8re exp\u00e9rimentation \u2014 d\u00e9claration d'intention, pas de mesure de changement comportemental publi\u00e9e dans ce rapport.\\nInclu'Sport : 10 000 votes sur la proposition citoyenne \u2014 indicateur de mobilisation, non de changement comportemental.\\n\u2192 Pas de mesure de changement de comportement av\u00e9r\u00e9e disponible dans ce document.\",\r\n\"sorties\": \"Passe D' : \u00absortie positive\u00bb explicitement vis\u00e9e (emploi, formation, orientation vers structure d'accompagnement) \u2014 r\u00e9sultats non chiffr\u00e9s pour 2025 dans ce document.\\nInvest in Me : accompagnement \u00e0 la cr\u00e9ation d'entreprise \u2014 pas de taux de cr\u00e9ation mesur\u00e9.\\n\u2192 Donn\u00e9es de sorties positives non disponibles.\",\r\n\"freins\": \"pas de freins\",\r\n\"ameliorer\": \"\",\r\n\"emanciper\": \"Accompagnement de jeunes au d\u00e9veloppement des soft skills et \u00e0 l'inclusion par le sport. Sortie positive vis\u00e9e (emploi, formation, orientation), non encore chiffr\u00e9e.\",\r\n\"reveler\": \"Forum Monde Possibles mobilisant l'attractivit\u00e9 culturelle pour susciter l'engagement des jeunes, +68% de mobilisation b\u00e9n\u00e9vole vs 2024, 10 000 votes sur une proposition citoyenne (Inclu'Sport).\"\r\n},\r\n{\r\n\"theme\": \"ENFANCE\/JEUNESSE\",\r\n\"porteur\": \"Le Sel de la Vie\",\r\n\"projet\": \"Excellence et insertion\",\r\n\"resume\": \"Projet \u00e9ducatif visant \u00e0 d\u00e9velopper l'app\u00e9tence et la r\u00e9ussite dans les fili\u00e8res scientifiques, \u00e0 destination des coll\u00e9giens, lyc\u00e9ens et \u00e9tudiants des quartiers prioritaires de Marseille.\",\r\n\"territoire\": \"QPV 13e-16e Mlle\",\r\n\"fis\": \"20\u202f000,00 \u20ac\",\r\n\"budget\": \"50\u202f000,00 \u20ac\",\r\n\"partFis\": \"40,0%\",\r\n\"personnes\": \"567\",\r\n\"actions\": \"11 actions \/ 5 mobilit\u00e9s Erasmus+\",\r\n\"nbPartenaires\": \"NR\",\r\n\"competences\": \"127 form\u00e9s concours sant\u00e9 (formation intensive, r\u00e9sultats aux concours).\\n37 stagiaires formations sanitaires et sociales (aide-soignant, brancardier, auxiliaire pu\u00e9riculture).\\n54 personnes Erasmus+ (attestation + Europass Mobilit\u00e9).\\n17 femmes permis bateau (Daronnes).\\nExcellence Sciences : r\u00e9sultats scolaires probants, r\u00e9ussite aux examens (non chiffr\u00e9s).\",\r\n\"lienSocial\": \"Services Civiques Combin\u00e9s : partenariat micro-lyc\u00e9e \u2014 r\u00e9int\u00e9gration dans l'\u00c9ducation Nationale.\\nDAO : r\u00e9introduction dans la formation initiale \u2014 renforcement du tissu \u00e9ducatif.\\nDaronnes : autonomisation de femmes \u00e9loign\u00e9es de l'emploi \u2014 impact sur coh\u00e9sion sociale et \u00e9galit\u00e9 des chances.\",\r\n\"comportement\": \"Excellence Sciences : \u00abr\u00e9sultats probants sur les r\u00e9sultats scolaires, l'orientation scolaire et la r\u00e9ussite aux examens\u00bb \u2014 d\u00e9claration g\u00e9n\u00e9rale sans indicateur mesur\u00e9 disponible dans ce document.\\nDaronnes : 17\/23 ont obtenu le permis bateau = r\u00e9sultat objectivable (taux de r\u00e9ussite 74 %).\\n\u2192 Changement de comportement partiel mesurable.\",\r\n\"sorties\": \"M\u00e9denpharmakine : 13 \u00abgrands admis\u00bb class\u00e9s dans le premier d\u00e9cile des concours sant\u00e9 \u2014 indicateur de sortie positive objectivable.\\nExcellence Sanitaire-Sociale : 65 % brancardiers plac\u00e9s en formation, 95 % aides-soignantes plac\u00e9es, 52 % auxiliaires pu\u00e9riculture plac\u00e9s.\\nServices Civiques Combin\u00e9s : 75 % de r\u00e9ussite au baccalaur\u00e9at.\\nSESAME : 70 % en orientation professionnelle (sports\/loisirs, BNSSA, reprise formation).\\nDAO : r\u00e9orientations vers EN, formations professionnelles, Parcoursup, alternance (nombre NR).\",\r\n\"freins\": \"Freins financiers : l'association n'a obtenu aucun des financements sollicit\u00e9s aupr\u00e8s de la R\u00e9gion (0 \u20ac sur 80 000 \u20ac pr\u00e9vus), du D\u00e9partement (0 \u20ac sur 40 000 \u20ac), de la Commune (0 \u20ac sur 20 000 \u20ac) et des aides priv\u00e9es (0 \u20ac sur 8 000 \u20ac) \u2014 seul le Fonds Innovation de la M\u00e9tropole AMP a \u00e9t\u00e9 partiellement vers\u00e9 (20 000 \u20ac sur 80 000 \u20ac pr\u00e9vus, soit 25%). Au total, le budget ex\u00e9cut\u00e9 n'atteint que 23 000 \u20ac sur les 228 000 \u20ac pr\u00e9vus initialement, soit \u00e0 peine 10% du plan de financement. L'association le formule sans d\u00e9tour : \\\"Nous n'avons pas pu obtenir les subventions demand\u00e9es aupr\u00e8s des autres partenaires institutionnels. Notre budget en a \u00e9t\u00e9 gr\u00e9v\u00e9\\\".\\n\\nFreins humains (\u00e9quipes) : cons\u00e9quence directe du sous-financement, les charges de personnel pr\u00e9vues (168 040 \u20ac entre r\u00e9mun\u00e9rations et charges sociales) n'ont \u00e9t\u00e9 ex\u00e9cut\u00e9es qu'\u00e0 hauteur de 21 156 \u20ac, soit environ 13% seulement, ce qui a n\u00e9cessit\u00e9 un recours accru au b\u00e9n\u00e9volat pour compenser (100h de b\u00e9n\u00e9volat pour la coordination).\",\r\n\"ameliorer\": \"74 % r\u00e9ussite permis bateau. Autonomisation de femmes \u00e9loign\u00e9es de l'emploi, levier d'\u00e9galit\u00e9 des chances\",\r\n\"emanciper\": \"Formation aux concours sant\u00e9 et aux m\u00e9tiers sanitaires et sociaux, mobilit\u00e9 europ\u00e9enne via Erasmus+. Placements en emploi et r\u00e9ussite scolaire massifs, insertion professionnelle av\u00e9r\u00e9e.\",\r\n\"reveler\": \"R\u00e9int\u00e9gration dans l'\u00c9ducation Nationale via Services Civiques Combin\u00e9s et DAO, renforcement du tissu \u00e9ducatif certification Qualiopi et mod\u00e8le Erasmus+ comme outils d'essaimage.\"\r\n},\r\n{\r\n\"theme\": \"ENFANCE\/JEUNESSE\",\r\n\"porteur\": \"FACE Sud Provence\",\r\n\"projet\": \"\u00c9ducation+Emploi\/Inclusion\",\r\n\"resume\": \"Projet d'orientation et de d\u00e9couverte des m\u00e9tiers, en lien avec les enjeux environnementaux, \u00e0 destination des jeunes scolaris\u00e9s des quartiers prioritaires de la m\u00e9tropole.\",\r\n\"territoire\": \"QPV Mlle+AMP\",\r\n\"fis\": \"7\u202f000,00 \u20ac\",\r\n\"budget\": \"8\u202f400,00 \u20ac\",\r\n\"partFis\": \"83,3%\",\r\n\"personnes\": \"1 581 jeunes touch\u00e9s\",\r\n\"actions\": \"NR (nb ateliers non pr\u00e9cis\u00e9)\",\r\n\"nbPartenaires\": \"122 entreprises+institutionnels\",\r\n\"competences\": \"175 collaborateurs sensibilis\u00e9s et form\u00e9s.\\n96 collaborateurs engag\u00e9s (Education & Culture).\\n150 collaborateurs engag\u00e9s (Emploi & Inclusion).\\n1 581 jeunes accompagn\u00e9s dans leur orientation scolaire (Discovery, Wifilles, Mentorat, Forum, Stand Up).\\nWifilles : 5 ateliers th\u00e9matiques (codage, robotique) \u2014 formation non certifiante.\\nJob Academy : accompagnement collectif + individuel au retour \u00e0 l'emploi.\",\r\n\"lienSocial\": \"PAQTE : contribution au d\u00e9veloppement \u00e9conomique et social des QPV.\\nVillage de l'\u00c9galit\u00e9 : d\u00e9construction des st\u00e9r\u00e9otypes dans le recrutement.\\nR\u00e9gate des Possibles : rencontre entreprises \/ talents, innovation sociale.\\nQuartier-\u00c9cole : cr\u00e9ation de liens entre les enfants et leur quartier \u2014 renforcement du sentiment d'appartenance et de s\u00e9curit\u00e9.\",\r\n\"comportement\": \"Wifilles : d\u00e9couverte du num\u00e9rique\/digital pour coll\u00e9giennes et lyc\u00e9ennes \u2014 sensibilisation, pas de mesure de changement comportemental document\u00e9e.\\nMentorat : d\u00e9veloppement soft skills et culture g\u00e9n\u00e9rale \u2014 d\u00e9claration d'intention.\\n\u2192 Pas de mesure de changement comportemental publi\u00e9e.\",\r\n\"sorties\": \"Job Academy : 59 % de retour \u00e0 l'emploi (b\u00e9n\u00e9ficiaires des Job Academy) \u2014 indicateur objectivable et solide.\\n833 heures de b\u00e9n\u00e9volat mobilis\u00e9es.\\nMission Possible (Baumettes) : pr\u00e9paration \u00e0 la sortie de prison \u2014 taux de retour \u00e0 l'emploi NR.\\nPlans de Travail (RQTH seniors) : taux d'int\u00e9gration NR.\",\r\n\"freins\": \"pas de freins\",\r\n\"ameliorer\": \"D\u00e9construction des st\u00e9r\u00e9otypes dans le recrutement. Renforcement du sentiment d'appartenance et de s\u00e9curit\u00e9 des enfants dans leur quartier.\",\r\n\"emanciper\": \"Accompagnement des jeunes dans leur orientation scolaire. Retour \u00e0 l'emploi favoris\u00e9, autonomie professionnelle retrouv\u00e9e.\",\r\n\"reveler\": \"PAQTE contribuant au d\u00e9veloppement \u00e9conomique et social des QPV, R\u00e9gate des Possibles mettant en relation entreprises et talents, 833h de b\u00e9n\u00e9volat mobilis\u00e9es effet de levier entreprises\/territoire.\"\r\n},\r\n{\r\n\"theme\": \"ENFANCE\/JEUNESSE\",\r\n\"porteur\": \"Camplus\",\r\n\"projet\": \"Programme \u00e9ducatif pour l'orientation des jeunes\",\r\n\"resume\": \"Programme \u00e9ducatif visant \u00e0 accompagner l'orientation et la construction du parcours professionnel, \u00e0 destination des lyc\u00e9ens des quartiers prioritaires de la m\u00e9tropole.\",\r\n\"territoire\": \"Lyc\u00e9es Vitrolles et St Exup\u00e9ry\",\r\n\"fis\": \"20\u202f000,00 \u20ac\",\r\n\"budget\": \"20\u202f000,00 \u20ac\",\r\n\"partFis\": \"100,0%\",\r\n\"personnes\": \"360 touch\u00e9s dont 63 jeunes accompagn\u00e9s\",\r\n\"actions\": \"3 ateliers orientation (Vitrolles 08\/02\/2025, St Exup\u00e9ry 10\/02 et 12\/03\/2025)\",\r\n\"nbPartenaires\": \"NR (partenaires lyc\u00e9ens non d\u00e9taill\u00e9s au-del\u00e0 des \u00e9tablissements)\",\r\n\"competences\": \"61 jeunes inscrits pour un suivi imm\u00e9diat post-atelier\",\r\n\"lienSocial\": \"79% jugent l'atelier utile pour leur orientation, 56% \u00e0 l'aise avec Parcoursup suite \u00e0 l'atelier\",\r\n\"comportement\": \"79% expriment ambition et confiance renforc\u00e9es (d\u00e9claratif)\",\r\n\"sorties\": \"40% savent pr\u00e9cis\u00e9ment o\u00f9 ils vont, 60% repartent avec des pistes concr\u00e8tes, 95% souhaitent un suivi\",\r\n\"freins\": \"NR\",\r\n\"ameliorer\": \"Atelier jug\u00e9 utile pour l'orientation. Ambition et confiance renforc\u00e9es\",\r\n\"emanciper\": \"Meilleure aisance avec Parcoursup. Clarification du projet d'orientation et pistes concr\u00e8tes acquises\",\r\n\"reveler\": \"\"\r\n},\r\n{\r\n\"theme\": \"ENFANCE\/JEUNESSE\",\r\n\"porteur\": \"CitizenCorps\",\r\n\"projet\": \"Le Grand Bain (jumelage de classes)\",\r\n\"resume\": \"Projet \u00e9ducatif visant \u00e0 favoriser la rencontre entre enfants de quartiers diff\u00e9rents et \u00e0 d\u00e9velopper l'ouverture aux autres, \u00e0 destination d'\u00e9l\u00e8ves d'\u00e9coles marseillaises.\",\r\n\"territoire\": \"QPV Marseille, 34 classes\",\r\n\"fis\": \"30\u202f000,00 \u20ac\",\r\n\"budget\": \"\",\r\n\"partFis\": \"8,1%\",\r\n\"personnes\": \"854 enfants participants (34 classes, 37 enseignants)\",\r\n\"actions\": \"1 Festival du Grand Bain le 24\/05 (1500 participants) \/ 2538 courriers \u00e9chang\u00e9s \/ 85 rencontres dans la ville\",\r\n\"nbPartenaires\": \"8 associations partenaires \/ 16 partenaires institutionnels et financiers\",\r\n\"competences\": \"1 embauche en CDI\",\r\n\"lienSocial\": \"Jumelage de classes aux r\u00e9alit\u00e9s socio-\u00e9conomiques diff\u00e9rentes, mixit\u00e9 sociale d\u00e8s le primaire\",\r\n\"comportement\": \"NR (pas de mesure formelle du changement de comportement dans le bilan transmis)\",\r\n\"sorties\": \"NR\",\r\n\"freins\": \"NR (bilan financier transmis sous forme d'image, montants non exploitables en l'\u00e9tat)\",\r\n\"ameliorer\": \"Mixit\u00e9 sociale instaur\u00e9e d\u00e8s le primaire via le jumelage de classes de r\u00e9alit\u00e9s socio-\u00e9conomiques diff\u00e9rentes.\",\r\n\"emanciper\": \"\",\r\n\"reveler\": \"\"\r\n},\r\n{\r\n\"theme\": \"ENFANCE\/JEUNESSE\",\r\n\"porteur\": \"Ligue Sud FF Voile\",\r\n\"projet\": \"Nautique inclusive 2024\",\r\n\"resume\": \"Projet sportif et d'orientation visant \u00e0 faire d\u00e9couvrir la pratique nautique et les m\u00e9tiers de la mer, \u00e0 destination des jeunes de 16 \u00e0 25 ans du territoire.\",\r\n\"territoire\": \"PACA 4 d\u00e9pts\",\r\n\"fis\": \"60\u202f000,00 \u20ac\",\r\n\"budget\": \"203\u202f700,00 \u20ac\",\r\n\"partFis\": \"29,5%\",\r\n\"personnes\": \"812\",\r\n\"actions\": \"20j entra\u00een.+15 comp\u00e9t.nat.+4 Wing\",\r\n\"nbPartenaires\": \"10+ (FFVoile, DDCS, CR SUD, 18 lyc\u00e9es)\",\r\n\"competences\": \"Secteur formation : 108 livrets CQPIV ouverts. 21 formateurs r\u00e9gionaux CQP. 15 formateurs nationaux. 10 \u00e9valuation technique niv.4\/5. 15 entra\u00eeneurs form\u00e9s (Entraineur Club \/ FFVoile). 15 BPJEPS croisi\u00e8re. 28 BPJEPS multi-support. 6 formations jeunes arbitres.\",\r\n\"lienSocial\": \"RA p.2 : accueil de 700 jeunes QPV (Olympiades Nautiques) \u2014 lien social par la pratique sportive. Colloque r\u00e9gional handivoile (premier) \u00e0 Saint-Rapha\u00ebl. Challenge tout public voilier collectif \u00e0 Marseille. Formulation d\u00e9clarative.\",\r\n\"comportement\": \"RA p.3 : \u00ab Pour la troisi\u00e8me ann\u00e9e cons\u00e9cutive, les r\u00e9sultats ont \u00e9t\u00e9 historiques avec un nombre record de titres et de podiums pour la Ligue Sud : 50 podiums aux championnats de France \u00bb. Changement de comportement pratiquant non mesur\u00e9. Sensibilisation environnement (label \u00c9co R\u00e9gatier, Vigie Voile) : d\u00e9claratif.\",\r\n\"sorties\": \"230 coureurs accompagn\u00e9s sur \u00e9preuves nationales et internationales. 50 podiums championnats de France (r\u00e9sultat sportif objectivable). 31 004 passeports voile r\u00e9gionalis\u00e9s vendus (acc\u00e8s \u00e0 la pratique). CQP Moniteur de Voile : 10 athl\u00e8tes reconvertis.\",\r\n\"freins\": \"Freins institutionnels et partenariaux : aucun frein partenariat signal\u00e9 explicitement. Structure mature, nombreux partenaires institutionnels stables.\\nFreins humains (\u00e9quipes et publics) : acc\u00e8s difficile pour publics QPV et handi  structurellement li\u00e9 \u00e0 l'activit\u00e9 nautique (g\u00e9ographie littorale, co\u00fbt mat\u00e9riel). Mentionn\u00e9 implicitement via les actions d\u00e9di\u00e9es.\",\r\n\"ameliorer\": \"Ouverture des Olympiades Nautiques aux jeunes de QPV\",\r\n\"emanciper\": \"Mont\u00e9e en comp\u00e9tences certifiante dans les m\u00e9tiers de la voile (formation, encadrement). Reconversion professionnelle d'athl\u00e8tes vers le monitorat\",\r\n\"reveler\": \"50 podiums aux championnats de France (3e ann\u00e9e cons\u00e9cutive de r\u00e9sultats historiques), premier colloque r\u00e9gional handivoile \u00e0 Saint-Rapha\u00ebl rayonnement sportif et territorial.\"\r\n},\r\n{\r\n\"theme\": \"ENFANCE\/JEUNESSE\",\r\n\"porteur\": \"Interface\",\r\n\"projet\": \"eNNOV Sport Clubs Engag\u00e9s\",\r\n\"resume\": \"Projet d'accompagnement des clubs sportifs visant \u00e0 renforcer leur r\u00f4le social et inclusif, \u00e0 destination des clubs et de leurs adh\u00e9rents dans les quartiers prioritaires de Marseille.\",\r\n\"territoire\": \"QPV Marseille\",\r\n\"fis\": \"12\u202f000,00 \u20ac\",\r\n\"budget\": \"52\u202f227,00 \u20ac\",\r\n\"partFis\": \"23,0%\",\r\n\"personnes\": \"205\",\r\n\"actions\": \"3 rencontres clubs+1 collectif pr\u00e9vu\",\r\n\"nbPartenaires\": \"2 clubs QPV+1 intervenant\",\r\n\"competences\": \"Feuilles de route individualis\u00e9es construites pour les 2 clubs. Accompagnement structurant sur insertion professionnelle des jeunes licenci\u00e9s (Blues Stars). Section handisport (Marseille Provence Handball). Formation\/mont\u00e9e en comp\u00e9tences non formalis\u00e9e dans le CERFA.\",\r\n\"lienSocial\": \"CERFA fiche 1 : \u00ab Enclencher une dynamique de transformation autour de la structuration, de l'insertion et de l'engagement soci\u00e9tal. \u00bb Temps collectif f\u00e9d\u00e9rateur pr\u00e9vu avec Ara Katchadourian pour \u00ab renforcer la coh\u00e9sion entre clubs et valoriser l'impact social du sport. \u00bb\",\r\n\"comportement\": \"CERFA fiche 1 : \u00ab Les objectifs ont \u00e9t\u00e9 partiellement atteints. La premi\u00e8re phase du projet a permis de tester la m\u00e9thodologie, de valider les besoins identifi\u00e9s aupr\u00e8s des clubs, et d'enclencher une dynamique de transformation autour de la structuration, de l'insertion et de l'engagement soci\u00e9tal. \u00bb Changement d\u00e9claratif, non mesur\u00e9.\",\r\n\"sorties\": \"CERFA fiche 1 : Feuille de route ax\u00e9e sur l'insertion professionnelle des jeunes licenci\u00e9s (Blues Stars). Section handisport (Marseille Provence Handball). Sorties positives non encore r\u00e9alis\u00e9es (projet en cours fin 2025).\",\r\n\"freins\": \"Freins financiers : d\u00e9pendance au FIS \u00e9lev\u00e9e (62,5% du budget). Autofinancement limit\u00e9 (37,5%, soit ~7 180\u20ac via cotisations\/autres produits gestion courante). Structure couveuse = instabilit\u00e9 structurelle possible.\\nFreins humains (\u00e9quipes et publics) : public cible encore partiel  les clubs touch\u00e9s en phase 1 sont les dirigeants et salari\u00e9s (~5 personnes directement). Les 200 licenci\u00e9s sont indirects. Mont\u00e9e en charge pr\u00e9vue mais non r\u00e9alis\u00e9e.\",\r\n\"ameliorer\": \"\",\r\n\"emanciper\": \"Feuilles de route individualis\u00e9es pour 2 clubs, accompagnement structurant sur l'insertion professionnelle des jeunes licenci\u00e9s (Blues Stars), section handisport (Marseille Provence Handball)\",\r\n\"reveler\": \"Dynamique de transformation autour de la structuration, de l'insertion et de l'engagement soci\u00e9tal. Renforcer la coh\u00e9sion entre clubs et valoriser l'impact social du sport.\"\r\n}\r\n];\r\n\r\n    \/\/ Colonnes rep\u00e9r\u00e9es par NOM d'en-t\u00eate (et non par position) : la feuille\r\n    \/\/ peut \u00e9voluer \u2014 ajout de \u00ab Sous-th\u00e9matique \u00bb, ordre co\u00fbt\/FIS invers\u00e9\u2026 \u2014\r\n    \/\/ sans casser la lecture. On normalise l'en-t\u00eate (sans accents ni casse)\r\n    \/\/ puis on associe chaque cl\u00e9 interne \u00e0 la premi\u00e8re colonne qui correspond.\r\n    function normHead(s){\r\n        return String(s == null ? \"\" : s).normalize(\"NFD\")\r\n            .replace(\/[\u0300-\u036f]\/g, \"\").toLowerCase()\r\n            .replace(\/\\s+\/g, \" \").trim();\r\n    }\r\n    var COL_MATCHERS = [\r\n        [\"theme\",         function(h){ return h.indexOf(\"them\") === 0; }],\r\n        [\"sousTheme\",     function(h){ return h.indexOf(\"sous\") === 0 && h.indexOf(\"themat\") > -1; }],\r\n        [\"porteur\",       function(h){ return h === \"porteur\"; }],\r\n        [\"projet\",        function(h){ return h.indexOf(\"intitul\") > -1; }],\r\n        [\"resume\",        function(h){ return h.indexOf(\"resume\") > -1; }],\r\n        [\"territoire\",    function(h){ return h.indexOf(\"territoire\") > -1; }],\r\n        [\"budget\",        function(h){ return h.indexOf(\"cout du projet\") > -1 || h.indexOf(\"budget\") > -1; }],\r\n        [\"fis\",           function(h){ return h.indexOf(\"part de financement par le fis\") > -1 || h.indexOf(\"fis (euros)\") > -1; }],\r\n        [\"partFis\",       function(h){ return h.indexOf(\"part fis\") > -1 || h.indexOf(\"%\") > -1; }],\r\n        [\"personnes\",     function(h){ return h.indexOf(\"personnes\") > -1; }],\r\n        [\"actions\",       function(h){ return h.indexOf(\"actions\") > -1 || h.indexOf(\"evenements\") > -1; }],\r\n        [\"nbPartenaires\", function(h){ return h.indexOf(\"partenaires\") > -1; }],\r\n        [\"competences\",   function(h){ return h.indexOf(\"competences\") > -1; }],\r\n        [\"lienSocial\",    function(h){ return h.indexOf(\"lien social\") > -1; }],\r\n        [\"comportement\",  function(h){ return h.indexOf(\"comportement\") > -1; }],\r\n        [\"sorties\",       function(h){ return h.indexOf(\"sorties\") > -1; }],\r\n        [\"freins\",        function(h){ return h.indexOf(\"freins\") > -1; }],\r\n        \/\/ Les trois promesses du fonds, reprises de la roue AER. Elles sont\r\n        \/\/ en fin de liste pour ne voler aucune colonne aux rubriques\r\n        \/\/ ci-dessus, et restent vides si la feuille ne les porte pas : la\r\n        \/\/ fiche affiche alors \u00ab non document\u00e9e \u00bb, comme pour le reste.\r\n        [\"ameliorer\",     function(h){ return h.indexOf(\"ameliorer\") > -1; }],\r\n        [\"emanciper\",     function(h){ return h.indexOf(\"emanciper\") > -1; }],\r\n        [\"reveler\",       function(h){ return h.indexOf(\"reveler\") > -1; }]\r\n    ];\r\n\r\n    \/\/ Parseur CSV minimal mais correct : g\u00e8re les guillemets, les guillemets\r\n    \/\/ doubl\u00e9s et les retours \u00e0 la ligne \u00e0 l'int\u00e9rieur d'un champ.\r\n    function parseCSV(text){\r\n        var rows = [], row = [], cur = \"\", q = false, i, ch;\r\n        for (i = 0; i < text.length; i++){\r\n            ch = text[i];\r\n            if (q){\r\n                if (ch === '\"'){ if (text[i + 1] === '\"'){ cur += '\"'; i++; } else q = false; }\r\n                else cur += ch;\r\n            } else if (ch === '\"'){ q = true; }\r\n            else if (ch === ','){ row.push(cur); cur = \"\"; }\r\n            else if (ch === '\\n'){ row.push(cur); rows.push(row); row = []; cur = \"\"; }\r\n            else if (ch !== '\\r'){ cur += ch; }\r\n        }\r\n        if (cur !== \"\" || row.length){ row.push(cur); rows.push(row); }\r\n        return rows;\r\n    }\r\n\r\n    \/\/ Normalisation NFC : la Google Sheet renvoie les accents pr\u00e9compos\u00e9s\r\n    \/\/ (\u00e9 = U+00E9) ; on aligne tout dessus pour que les comparaisons de\r\n    \/\/ th\u00e9matiques ne d\u00e9pendent pas de la forme Unicode de la source.\r\n    function nfc(s){ return s == null ? \"\" : String(s).normalize(\"NFC\"); }\r\n\r\n    function rowsToProjets(rows){\r\n        \/\/ Rep\u00e8re la ligne d'en-t\u00eate : celle qui contient une cellule \u00ab Porteur \u00bb\r\n        \/\/ (quelle que soit sa position \u2014 une colonne a pu \u00eatre ins\u00e9r\u00e9e avant).\r\n        var hRow = -1, i, j;\r\n        for (i = 0; i < rows.length && hRow < 0; i++){\r\n            for (j = 0; j < rows[i].length; j++){\r\n                if (normHead(rows[i][j]) === \"porteur\"){ hRow = i; break; }\r\n            }\r\n        }\r\n        if (hRow < 0) return null;\r\n        var heads = rows[hRow];\r\n        \/\/ Chaque cl\u00e9 interne -> index de colonne (premi\u00e8re qui correspond, sans\r\n        \/\/ r\u00e9utiliser une colonne d\u00e9j\u00e0 affect\u00e9e).\r\n        var idx = {}, used = {};\r\n        COL_MATCHERS.forEach(function(m){\r\n            for (var c = 0; c < heads.length; c++){\r\n                if (used[c]) continue;\r\n                if (m[1](normHead(heads[c]))){ idx[m[0]] = c; used[c] = true; return; }\r\n            }\r\n        });\r\n        if (idx.theme == null || idx.porteur == null) return null;\r\n        var out = [];\r\n        for (i = hRow + 1; i < rows.length; i++){\r\n            var row = rows[i];\r\n            var g = function(key){\r\n                var c = idx[key];\r\n                return c == null ? \"\" : nfc(row[c] == null ? \"\" : String(row[c])).replace(\/\\t\/g, \" \").trim();\r\n            };\r\n            if (!(g(\"theme\") || g(\"porteur\") || g(\"projet\"))) continue;\r\n            var d = {};\r\n            COL_MATCHERS.forEach(function(m){ d[m[0]] = g(m[0]); });\r\n            out.push(d);\r\n        }\r\n        return out.length ? out : null;\r\n    }\r\n\r\n    \/\/ Charge la feuille (timeout 8 s) puis rend la callback avec les lignes,\r\n    \/\/ ou null en cas d'\u00e9chec \u2192 on bascule sur EMBEDDED.\r\n    function loadData(cb){\r\n        var done = false;\r\n        var finish = function(rows){ if (!done){ done = true; cb(rows); } };\r\n        var to = setTimeout(function(){ finish(null); }, 8000);\r\n        try {\r\n            fetch(SHEET_CSV_URL, { credentials: \"omit\" })\r\n                .then(function(r){ if (!r.ok) throw new Error(\"HTTP \" + r.status); return r.text(); })\r\n                .then(function(txt){ clearTimeout(to); finish(rowsToProjets(parseCSV(txt))); })\r\n                .catch(function(){ clearTimeout(to); finish(null); });\r\n        } catch (e){ clearTimeout(to); finish(null); }\r\n    }\r\n\r\n    var attempts = 0;\r\n    var started = false;\r\n    function boot(){\r\n        var c = document.querySelector('#reu-roue-wp #chart-container');\r\n        if (typeof d3 !== 'undefined' && c && c.clientWidth > 30 && c.clientHeight > 30){\r\n            if (started) return;\r\n            started = true;\r\n            loadData(function(rows){\r\n                if (rows && rows.length){\r\n                    window.__reuRoueSource = \"google-sheet\";\r\n                } else {\r\n                    rows = EMBEDDED;\r\n                    window.__reuRoueSource = \"embedded-fallback\";\r\n                }\r\n                init(rows);\r\n            });\r\n            return;\r\n        }\r\n        if (attempts++ < 180){ setTimeout(boot, 50); return; }\r\n        console.error(\"Roue impact REU : D3 non charg\u00e9 ou conteneur non mesurable.\");\r\n        var loading = document.getElementById(\"chart-loading\");\r\n        if (loading) loading.textContent = \"La visualisation n\u2019a pas pu se charger. V\u00e9rifiez votre connexion puis rechargez la page.\";\r\n        var wrapFail = document.getElementById(\"reu-roue-wp\");\r\n        if (wrapFail) wrapFail.classList.remove(\"is-booting\");\r\n    }\r\n    if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', boot);\r\n    else boot();\r\n\r\n    function init(PROJETS){\r\n\r\n        \/\/ ============ 1. DONN\u00c9ES ============\r\n        PROJETS = PROJETS || EMBEDDED;\r\n        \/\/ Aligne la forme Unicode des donn\u00e9es (embarqu\u00e9es ou Google Sheet) sur\r\n        \/\/ celle des cl\u00e9s de th\u00e9matique ci-dessous, sinon un \u00ab SANT\u00c9 \u00bb NFC ne\r\n        \/\/ s'apparierait pas \u00e0 une cl\u00e9 NFD et le projet dispara\u00eetrait.\r\n        PROJETS.forEach(function(p){\r\n            if (p.theme) p.theme = String(p.theme).normalize(\"NFC\").trim();\r\n        });\r\n\r\n        \/\/ ---- Secours des trois promesses ----\r\n        \/\/ La Google Sheet ne porte pas encore les colonnes Am\u00e9liorer,\r\n        \/\/ \u00c9manciper et R\u00e9v\u00e9ler : elles viennent du corpus AER, fig\u00e9 ici. Tant\r\n        \/\/ qu'elles manquent \u00e0 la feuille, on les reprend des donn\u00e9es\r\n        \/\/ embarqu\u00e9es, appari\u00e9es sur le couple porteur + intitul\u00e9. Le jour o\u00f9\r\n        \/\/ la feuille les servira, ses valeurs l'emporteront sans rien changer\r\n        \/\/ \u00e0 ce code, puisqu'on ne comble que ce qui est vide.\r\n        (function(){\r\n            var cle = function(p){\r\n                return String(p.porteur || \"\").normalize(\"NFD\").replace(\/[\\u0300-\\u036f]\/g, \"\")\r\n                        .toLowerCase().replace(\/\\s+\/g, \" \").trim()\r\n                     + \"|\"\r\n                     + String(p.projet || \"\").normalize(\"NFD\").replace(\/[\\u0300-\\u036f]\/g, \"\")\r\n                        .toLowerCase().replace(\/\\s+\/g, \" \").trim();\r\n            };\r\n            var fond = {};\r\n            EMBEDDED.forEach(function(p){ fond[cle(p)] = p; });\r\n            PROJETS.forEach(function(p){\r\n                var src = fond[cle(p)];\r\n                if (!src) return;\r\n                [\"ameliorer\", \"emanciper\", \"reveler\"].forEach(function(k){\r\n                    if (!p[k] || !String(p[k]).trim()) p[k] = src[k] || \"\";\r\n                });\r\n            });\r\n        })();\r\n\r\n        \/\/ ---- Sous-th\u00e9matiques ----\r\n        \/\/ La colonne \u00ab Sous-th\u00e9matique \u00bb peut en concat\u00e9ner plusieurs par\r\n        \/\/ projet (s\u00e9par\u00e9es par des espaces\/points variables). On les rep\u00e8re par\r\n        \/\/ correspondance avec le r\u00e9f\u00e9rentiel officiel (PDF \u00ab sous th\u00e9matiques \u00bb),\r\n        \/\/ robuste aux accents, apostrophes et ponctuation. Un projet peut donc\r\n        \/\/ relever de plusieurs sous-th\u00e9matiques (relation plusieurs-\u00e0-plusieurs).\r\n        var SOUS_THEMES = [\r\n            \"Bien-vieillir et acc\u00e8s aux droits (retraite, parcours migratoires)\",\r\n            \"M\u00e9diation de proximit\u00e9 et orientation vers les bons interlocuteurs\",\r\n            \"Aller-vers et compr\u00e9hension des usages (d\u00e9chets, habitat)\",\r\n            \"Coordination des acteurs de l'habitat et des espaces communs\",\r\n            \"Accessibilit\u00e9 culturelle (co\u00fbts, mat\u00e9riel, dispositifs)\",\r\n            \"Culture comme levier \u00e9ducatif et social (formation des acteurs)\",\r\n            \"Valorisation des talents locaux et des initiatives \u00e9mergentes\",\r\n            \"Projets o\u00f9 les habitants sont commanditaires de l'offre\",\r\n            \"Approches globales de la sant\u00e9 mentale (au-del\u00e0 du sanitaire\/psychiatrique)\",\r\n            \"D\u00e9cloisonnement des acteurs et des dispositifs de sant\u00e9\",\r\n            \"Nouvelles formes de pr\u00e9vention et d'acc\u00e8s aux soins\",\r\n            \"Acc\u00e8s \u00e0 des produits de qualit\u00e9 auparavant inaccessibles\",\r\n            \"Inscription dans le quotidien et la dur\u00e9e (offre p\u00e9renne)\",\r\n            \"Double solidarit\u00e9 : habitants \/ producteurs (juste prix)\",\r\n            \"Possibilit\u00e9 de choix pour les b\u00e9n\u00e9ficiaires (offre choisie)\",\r\n            \"Accompagnement \u00e0 l'orientation \u00e0 court et moyen terme\",\r\n            \"Aide \u00e0 la projection \u00e0 long terme (m\u00e9tiers, parcours)\",\r\n            \"Soutien \u00e0 la pers\u00e9v\u00e9rance et aux parcours scolaires\",\r\n            \"Sport comme levier d'insertion (m\u00e9tiers, formations, forums)\",\r\n            \"Transformation des clubs (handisport, insertion, engagement)\",\r\n            \"Sport comme \u00e9cosyst\u00e8me territorial et d'innovation sociale\",\r\n            \"Espaces physiques de participation dans les quartiers\",\r\n            \"Accueil inconditionnel des publics\",\r\n            \"Facilitation de l'engagement citoyen\",\r\n            \"Passage du statut de b\u00e9n\u00e9ficiaire \u00e0 celui de participant\",\r\n            \"Sensibilisation du monde \u00e9conomique et entrepreneurial\",\r\n            \"Aide \u00e0 la prise de recul sur sa situation et son environnement\",\r\n            \"Espaces de r\u00e9flexion et de construction politique\",\r\n            \"Sensibilisation des commer\u00e7ants \/ employeurs \u00e0 l'inclusion\",\r\n            \"Inconditionnalit\u00e9 de l'accueil des profils et des situations\",\r\n            \"Restauration de la confiance et ouverture des droits\",\r\n            \"Continuit\u00e9 de l'accompagnement (actions cibl\u00e9s et solution post action)\",\r\n            \"Aide aux d\u00e9marches administratives d\u00e9mat\u00e9rialis\u00e9es\",\r\n            \"Mise \u00e0 disposition et vulgarisation d'outils num\u00e9riques et des risques associ\u00e9s\",\r\n            \"Num\u00e9rique responsable (reconditionnement, impacts \u00e9cologiques)\",\r\n            \"R\u00e9seaux de m\u00e9diation num\u00e9rique et d\u00e9cloisonnement des acteurs\"\r\n        ];\r\n        \/\/ Raccourcis d'affichage. Les libell\u00e9s du r\u00e9f\u00e9rentiel sont des phrases\r\n        \/\/ (\u00ab Mise \u00e0 disposition et vulgarisation d'outils num\u00e9riques et des\r\n        \/\/ risques associ\u00e9s \u00bb) ; pos\u00e9s radialement dans un anneau, ils \u00e9taient\r\n        \/\/ tronqu\u00e9s au milieu d'un mot. Chaque raccourci est r\u00e9dig\u00e9 \u00e0 la main\r\n        \/\/ pour rester juste et reconnaissable, l'intitul\u00e9 complet restant dans\r\n        \/\/ l'infobulle et dans la fiche. Deux entr\u00e9es voisines ne doivent jamais\r\n        \/\/ produire le m\u00eame raccourci : \u00ab Accueil inconditionnel des publics \u00bb\r\n        \/\/ et \u00ab Inconditionnalit\u00e9 de l'accueil \u00bb se ressemblent, on les\r\n        \/\/ distingue explicitement.\r\n        var SOUS_COURT = {\r\n            \"Bien-vieillir et acc\u00e8s aux droits (retraite, parcours migratoires)\": \"Bien-vieillir et droits\",\r\n            \"M\u00e9diation de proximit\u00e9 et orientation vers les bons interlocuteurs\": \"M\u00e9diation de proximit\u00e9\",\r\n            \"Aller-vers et compr\u00e9hension des usages (d\u00e9chets, habitat)\": \"Aller-vers et usages\",\r\n            \"Coordination des acteurs de l'habitat et des espaces communs\": \"Acteurs de l'habitat\",\r\n            \"Accessibilit\u00e9 culturelle (co\u00fbts, mat\u00e9riel, dispositifs)\": \"Accessibilit\u00e9 culturelle\",\r\n            \"Culture comme levier \u00e9ducatif et social (formation des acteurs)\": \"Culture, levier \u00e9ducatif\",\r\n            \"Valorisation des talents locaux et des initiatives \u00e9mergentes\": \"Talents locaux\",\r\n            \"Projets o\u00f9 les habitants sont commanditaires de l'offre\": \"Habitants commanditaires\",\r\n            \"Approches globales de la sant\u00e9 mentale (au-del\u00e0 du sanitaire\/psychiatrique)\": \"Sant\u00e9 mentale globale\",\r\n            \"D\u00e9cloisonnement des acteurs et des dispositifs de sant\u00e9\": \"D\u00e9cloisonnement sant\u00e9\",\r\n            \"Nouvelles formes de pr\u00e9vention et d'acc\u00e8s aux soins\": \"Pr\u00e9vention et acc\u00e8s aux soins\",\r\n            \"Acc\u00e8s \u00e0 des produits de qualit\u00e9 auparavant inaccessibles\": \"Produits de qualit\u00e9\",\r\n            \"Inscription dans le quotidien et la dur\u00e9e (offre p\u00e9renne)\": \"Offre p\u00e9renne\",\r\n            \"Double solidarit\u00e9 : habitants \/ producteurs (juste prix)\": \"Double solidarit\u00e9\",\r\n            \"Possibilit\u00e9 de choix pour les b\u00e9n\u00e9ficiaires (offre choisie)\": \"Offre choisie\",\r\n            \"Accompagnement \u00e0 l'orientation \u00e0 court et moyen terme\": \"Orientation \u00e0 court terme\",\r\n            \"Aide \u00e0 la projection \u00e0 long terme (m\u00e9tiers, parcours)\": \"Projection \u00e0 long terme\",\r\n            \"Soutien \u00e0 la pers\u00e9v\u00e9rance et aux parcours scolaires\": \"Pers\u00e9v\u00e9rance scolaire\",\r\n            \"Sport comme levier d'insertion (m\u00e9tiers, formations, forums)\": \"Sport et insertion\",\r\n            \"Transformation des clubs (handisport, insertion, engagement)\": \"Transformation des clubs\",\r\n            \"Sport comme \u00e9cosyst\u00e8me territorial et d'innovation sociale\": \"Sport, \u00e9cosyst\u00e8me local\",\r\n            \"Espaces physiques de participation dans les quartiers\": \"Espaces de participation\",\r\n            \"Accueil inconditionnel des publics\": \"Accueil des publics\",\r\n            \"Facilitation de l'engagement citoyen\": \"Engagement citoyen\",\r\n            \"Passage du statut de b\u00e9n\u00e9ficiaire \u00e0 celui de participant\": \"De b\u00e9n\u00e9ficiaire \u00e0 acteur\",\r\n            \"Sensibilisation du monde \u00e9conomique et entrepreneurial\": \"Sensibilisation \u00e9conomique\",\r\n            \"Aide \u00e0 la prise de recul sur sa situation et son environnement\": \"Prise de recul\",\r\n            \"Espaces de r\u00e9flexion et de construction politique\": \"R\u00e9flexion politique\",\r\n            \"Sensibilisation des commer\u00e7ants \/ employeurs \u00e0 l'inclusion\": \"Commer\u00e7ants et employeurs\",\r\n            \"Inconditionnalit\u00e9 de l'accueil des profils et des situations\": \"Inconditionnalit\u00e9 de l'accueil\",\r\n            \"Restauration de la confiance et ouverture des droits\": \"Confiance et droits\",\r\n            \"Continuit\u00e9 de l'accompagnement (actions cibl\u00e9s et solution post action)\": \"Continuit\u00e9 du suivi\",\r\n            \"Aide aux d\u00e9marches administratives d\u00e9mat\u00e9rialis\u00e9es\": \"D\u00e9marches en ligne\",\r\n            \"Mise \u00e0 disposition et vulgarisation d'outils num\u00e9riques et des risques associ\u00e9s\": \"Outils num\u00e9riques\",\r\n            \"Num\u00e9rique responsable (reconditionnement, impacts \u00e9cologiques)\": \"Num\u00e9rique responsable\",\r\n            \"R\u00e9seaux de m\u00e9diation num\u00e9rique et d\u00e9cloisonnement des acteurs\": \"M\u00e9diation num\u00e9rique\"\r\n        };\r\n        \/\/ Nom court d'un noeud : sous-th\u00e9matique abr\u00e9g\u00e9e, sinon le nom tel quel.\r\n        function labelText(node){\r\n            var n = node.data ? node.data.name : String(node);\r\n            return SOUS_COURT[n] || n;\r\n        }\r\n\r\n        function normSub(s){\r\n            return String(s == null ? \"\" : s).normalize(\"NFD\")\r\n                .replace(\/[\u0300-\u036f]\/g, \"\").toLowerCase()\r\n                .replace(\/[^a-z0-9]+\/g, \" \").trim();\r\n        }\r\n        \/\/ Rattachement HARDCOD\u00c9 porteur -> sous-th\u00e9matiques (g\u00e9n\u00e9r\u00e9 depuis la\r\n        \/\/ feuille). D\u00e9terministe et prioritaire : le placement des assos dans la\r\n        \/\/ roue ne d\u00e9pend plus du parsing de la cellule c\u00f4t\u00e9 navigateur. La\r\n        \/\/ correspondance floue (normSub) reste en secours pour tout porteur\r\n        \/\/ absent de cette table (nouvelle asso ajout\u00e9e \u00e0 la feuille).\r\n        var PORTEUR_SOUS_THEMES = {\r\n            \"In Medias Res\": [\"Accessibilit\u00e9 culturelle (co\u00fbts, mat\u00e9riel, dispositifs)\", \"Valorisation des talents locaux et des initiatives \u00e9mergentes\"],\r\n            \"Les Petits D\u00e9brouillards\": [\"Accessibilit\u00e9 culturelle (co\u00fbts, mat\u00e9riel, dispositifs)\", \"Culture comme levier \u00e9ducatif et social (formation des acteurs)\"],\r\n            \"PAIS\": [\"Continuit\u00e9 de l'accompagnement (actions cibl\u00e9s et solution post action)\"],\r\n            \"Apprentis d Auteuil\": [\"Sensibilisation des commer\u00e7ants \/ employeurs \u00e0 l'inclusion\", \"Continuit\u00e9 de l'accompagnement (actions cibl\u00e9s et solution post action)\"],\r\n            \"La Cloche\": [\"Sensibilisation des commer\u00e7ants \/ employeurs \u00e0 l'inclusion\", \"Restauration de la confiance et ouverture des droits\", \"Continuit\u00e9 de l'accompagnement (actions cibl\u00e9s et solution post action)\"],\r\n            \"Les Chemins du Faire\": [\"Sensibilisation des commer\u00e7ants \/ employeurs \u00e0 l'inclusion\", \"Restauration de la confiance et ouverture des droits\"],\r\n            \"LES JARDINS DE L'ESPERANCE\": [\"Restauration de la confiance et ouverture des droits\", \"Continuit\u00e9 de l'accompagnement (actions cibl\u00e9s et solution post action)\"],\r\n            \"La Caravelle\": [\"Inconditionnalit\u00e9 de l'accueil des profils et des situations\", \"Continuit\u00e9 de l'accompagnement (actions cibl\u00e9s et solution post action)\"],\r\n            \"AMS Environnement\": [\"Sensibilisation des commer\u00e7ants \/ employeurs \u00e0 l'inclusion\", \"Restauration de la confiance et ouverture des droits\", \"Continuit\u00e9 de l'accompagnement (actions cibl\u00e9s et solution post action)\"],\r\n            \"Les Muses Urbaines\": [\"Espaces physiques de participation dans les quartiers\", \"Facilitation de l'engagement citoyen\", \"Passage du statut de b\u00e9n\u00e9ficiaire \u00e0 celui de participant\"],\r\n            \"CEPEP\": [\"Espaces physiques de participation dans les quartiers\", \"Accueil inconditionnel des publics\", \"Facilitation de l'engagement citoyen\"],\r\n            \"Ligue Ens. 13\": [\"Facilitation de l'engagement citoyen\", \"Passage du statut de b\u00e9n\u00e9ficiaire \u00e0 celui de participant\"],\r\n            \"EnVies EnJeux 13\": [\"Facilitation de l'engagement citoyen\", \"Passage du statut de b\u00e9n\u00e9ficiaire \u00e0 celui de participant\"],\r\n            \"Ellipsis Effect\": [\"Espaces physiques de participation dans les quartiers\", \"Accueil inconditionnel des publics\", \"Facilitation de l'engagement citoyen\"],\r\n            \"Le Mouvement Associatif R\u00e9gion Sud Provence-Alpes-C\u00f4te d\u2019Azur\": [\"Espaces physiques de participation dans les quartiers\", \"Facilitation de l'engagement citoyen\"],\r\n            \"Les D\u00e9termin\u00e9s\": [\"Facilitation de l'engagement citoyen\", \"Passage du statut de b\u00e9n\u00e9ficiaire \u00e0 celui de participant\"],\r\n            \"Salon Action Sant\u00e9\": [\"D\u00e9cloisonnement des acteurs et des dispositifs de sant\u00e9\", \"Nouvelles formes de pr\u00e9vention et d'acc\u00e8s aux soins\"],\r\n            \"Coeur de Cagoles\": [\"Approches globales de la sant\u00e9 mentale (au-del\u00e0 du sanitaire\/psychiatrique)\", \"Nouvelles formes de pr\u00e9vention et d'acc\u00e8s aux soins\"],\r\n            \"INCITTA\": [\"Approches globales de la sant\u00e9 mentale (au-del\u00e0 du sanitaire\/psychiatrique)\", \"D\u00e9cloisonnement des acteurs et des dispositifs de sant\u00e9\"],\r\n            \"Lieux Publics\": [\"Acc\u00e8s \u00e0 des produits de qualit\u00e9 auparavant inaccessibles\", \"Double solidarit\u00e9 : habitants \/ producteurs (juste prix)\"],\r\n            \"Les Petites Cantines Marseille\": [\"Inscription dans le quotidien et la dur\u00e9e (offre p\u00e9renne)\"],\r\n            \"La Part Du Peuple\/ l'Apr\u00e8s M\": [\"Acc\u00e8s \u00e0 des produits de qualit\u00e9 auparavant inaccessibles\", \"Possibilit\u00e9 de choix pour les b\u00e9n\u00e9ficiaires (offre choisie)\"],\r\n            \"ACAM Bels. Manufacture\": [\"Aller-vers et compr\u00e9hension des usages (d\u00e9chets, habitat)\", \"Coordination des acteurs de l'habitat et des espaces communs\"],\r\n            \"Compagnons B\u00e2tisseurs Provence\": [\"M\u00e9diation de proximit\u00e9 et orientation vers les bons interlocuteurs\", \"Aller-vers et compr\u00e9hension des usages (d\u00e9chets, habitat)\"],\r\n            \"e-graine et Terravox\": [\"M\u00e9diation de proximit\u00e9 et orientation vers les bons interlocuteurs\", \"Aller-vers et compr\u00e9hension des usages (d\u00e9chets, habitat)\"],\r\n            \"AVENIR SOLIDARITE\": [\"Aide aux d\u00e9marches administratives d\u00e9mat\u00e9rialis\u00e9es\", \"R\u00e9seaux de m\u00e9diation num\u00e9rique et d\u00e9cloisonnement des acteurs\"],\r\n            \"Anonymal\": [\"Mise \u00e0 disposition et vulgarisation d'outils num\u00e9riques et des risques associ\u00e9s\"],\r\n            \"Ligue FAIL 13\": [\"Mise \u00e0 disposition et vulgarisation d'outils num\u00e9riques et des risques associ\u00e9s\", \"R\u00e9seaux de m\u00e9diation num\u00e9rique et d\u00e9cloisonnement des acteurs\"],\r\n            \"Arborescence-Icom\": [\"Mise \u00e0 disposition et vulgarisation d'outils num\u00e9riques et des risques associ\u00e9s\"],\r\n            \"Urban Prod\": [\"Mise \u00e0 disposition et vulgarisation d'outils num\u00e9riques et des risques associ\u00e9s\", \"R\u00e9seaux de m\u00e9diation num\u00e9rique et d\u00e9cloisonnement des acteurs\"],\r\n            \"CENTRE DE CULTURE OUVRIERE \u2013 Centre social Sainte-Marthe\": [\"Aide aux d\u00e9marches administratives d\u00e9mat\u00e9rialis\u00e9es\", \"Mise \u00e0 disposition et vulgarisation d'outils num\u00e9riques et des risques associ\u00e9s\"],\r\n            \"HUB DU SUD\": [\"Aide aux d\u00e9marches administratives d\u00e9mat\u00e9rialis\u00e9es\", \"R\u00e9seaux de m\u00e9diation num\u00e9rique et d\u00e9cloisonnement des acteurs\"],\r\n            \"MISSION LOCALE OUEST PROVENCE\": [\"Mise \u00e0 disposition et vulgarisation d'outils num\u00e9riques et des risques associ\u00e9s\"],\r\n            \"ACT\": [\"Aide \u00e0 la prise de recul sur sa situation et son environnement\", \"Espaces de r\u00e9flexion et de construction politique\"],\r\n            \"Association maison des familles et des associations\": [\"Sensibilisation du monde \u00e9conomique et entrepreneurial\", \"Aide \u00e0 la prise de recul sur sa situation et son environnement\", \"Espaces de r\u00e9flexion et de construction politique\"],\r\n            \"Compagnie Mbongui\": [\"Aide \u00e0 la prise de recul sur sa situation et son environnement\", \"Espaces de r\u00e9flexion et de construction politique\"],\r\n            \"ARCAF Riposte\": [\"Aide \u00e0 la prise de recul sur sa situation et son environnement\"],\r\n            \"\u00c9closion 13\": [\"Aide \u00e0 la prise de recul sur sa situation et son environnement\"],\r\n            \"Union sportive du panier de la victoire\": [\"Aide \u00e0 la prise de recul sur sa situation et son environnement\", \"Espaces de r\u00e9flexion et de construction politique\"],\r\n            \"Delta France Asso.\": [\"Accompagnement \u00e0 l'orientation \u00e0 court et moyen terme\", \"Aide \u00e0 la projection \u00e0 long terme (m\u00e9tiers, parcours)\"],\r\n            \"Le Sel de la Vie\": [\"Aide \u00e0 la projection \u00e0 long terme (m\u00e9tiers, parcours)\", \"Soutien \u00e0 la pers\u00e9v\u00e9rance et aux parcours scolaires\"],\r\n            \"FACE Sud Provence\": [\"Accompagnement \u00e0 l'orientation \u00e0 court et moyen terme\", \"Aide \u00e0 la projection \u00e0 long terme (m\u00e9tiers, parcours)\"],\r\n            \"Camplus\": [\"Accompagnement \u00e0 l'orientation \u00e0 court et moyen terme\", \"Aide \u00e0 la projection \u00e0 long terme (m\u00e9tiers, parcours)\", \"Soutien \u00e0 la pers\u00e9v\u00e9rance et aux parcours scolaires\"],\r\n            \"CitizenCorps\": [\"Soutien \u00e0 la pers\u00e9v\u00e9rance et aux parcours scolaires\"],\r\n            \"Ligue Sud FF Voile\": [\"Sport comme levier d'insertion (m\u00e9tiers, formations, forums)\", \"Sport comme \u00e9cosyst\u00e8me territorial et d'innovation sociale\"],\r\n            \"Interface\": [\"Transformation des clubs (handisport, insertion, engagement)\", \"Sport comme \u00e9cosyst\u00e8me territorial et d'innovation sociale\"]\r\n        };\r\n        function normPorteur(s){\r\n            return String(s == null ? \"\" : s).normalize(\"NFD\")\r\n                .replace(\/[\u0300-\u036f]\/g, \"\").toLowerCase().replace(\/\\s+\/g, \" \").trim();\r\n        }\r\n        var PST_INDEX = {};\r\n        Object.keys(PORTEUR_SOUS_THEMES).forEach(function(k){ PST_INDEX[normPorteur(k)] = PORTEUR_SOUS_THEMES[k]; });\r\n\r\n        var SOUS_NORM = SOUS_THEMES.map(function(l){ return { label: l, n: normSub(l) }; });\r\n        PROJETS.forEach(function(p){\r\n            var hard = PST_INDEX[normPorteur(p.porteur)];\r\n            if (hard){ p.sousThemes = hard.slice(); return; }\r\n            \/\/ Secours : correspondance floue depuis la cellule de la feuille.\r\n            var cell = normSub(p.sousTheme || \"\");\r\n            var found = [];\r\n            SOUS_NORM.forEach(function(s){\r\n                if (s.n && cell.indexOf(s.n) !== -1) found.push(s.label);\r\n            });\r\n            p.sousThemes = found;\r\n        });\r\n\r\n        \/\/ Gamme \u00ab Prisme \u00bb : une couleur stable par th\u00e9matique, et une encre\r\n        \/\/ sombre d\u00e9di\u00e9e aux petits textes. Les libell\u00e9s doublent la couleur.\r\n        \/\/ L'ORDRE DE CE TABLEAU FAIT PARTIE DE LA PALETTE : les teintes tournent\r\n        \/\/ avec l'angle de la roue et la clart\u00e9 alterne d'un secteur au suivant,\r\n        \/\/ ce qui est le m\u00e9canisme qui s\u00e9pare deux secteurs voisins (ecart mini\r\n        \/\/ mesur\u00e9 : \u0394E 16,6 en vision normale, 10,4 en deut\u00e9ranopie, OKLab \u00d7100).\r\n        \/\/ Permuter deux th\u00e9matiques peut recr\u00e9er une paire indistincte : il faut\r\n        \/\/ revalider la palette avant de figer un nouvel ordre.\r\n        var THEMES = [\r\n            \/\/ Palette r\u00e9harmonis\u00e9e : m\u00eames neuf teintes reconnaissables, mais\r\n            \/\/ saturation et luminosit\u00e9 align\u00e9es (corail, terre cuite, ocre,\r\n            \/\/ olive, vert-de-gris, bleu canard, indigo, lilas, prune). Les\r\n            \/\/ fluos d'origine ne tenaient pas ensemble sur fond cr\u00e8me et\r\n            \/\/ viraient au criard au vid\u00e9oprojecteur. Chaque teinte garde sa\r\n            \/\/ version sombre, qui sert au texte et aux anneaux int\u00e9rieurs.\r\n            { key: \"DISCRIMINATIONS\",  label: \"Discriminations\",     color: \"#c86a5e\", textColor: \"#8b3a2f\" },\r\n            { key: \"PR\u00c9C. ALIM.\",      label: \"Pr\u00e9carit\u00e9 alim.\",     color: \"#b25f35\", textColor: \"#7a3a19\" },\r\n            \/\/ L'ocre est la seule teinte assez claire pour faire d\u00e9crocher\r\n            \/\/ le garde-fou de labelInk : \u00e0 #cca33f elle ne portait pas le\r\n            \/\/ blanc, et \u00ab Sant\u00e9 \u00bb s'\u00e9crivait en encre fonc\u00e9e au milieu de huit\r\n            \/\/ libell\u00e9s blancs. Assombrie d'un cran, elle tient le blanc comme\r\n            \/\/ les autres et reste dans la gamme.\r\n            { key: \"SANT\u00c9\",            label: \"Sant\u00e9\",               color: \"#bd9035\", textColor: \"#7c601a\" },\r\n            { key: \"CADRE DE VIE\",     label: \"Cadre de vie\",        color: \"#8d9b4e\", textColor: \"#55602a\" },\r\n            { key: \"NUM\u00c9RIQUE\",        label: \"Num\u00e9rique\",           color: \"#55926f\", textColor: \"#2d6046\" },\r\n            \/\/ Sport ne porte aucun projet en 2025 : la roue l'\u00e9carte. Sa teinte\r\n            \/\/ n'est pas sur la maquette, elle compl\u00e8te la gamme si la grille\r\n            \/\/ change et qu'un secteur Sport r\u00e9appara\u00eet.\r\n            { key: \"SPORT\",            label: \"Sport\",               color: \"#6d9b93\", textColor: \"#3f665f\" },\r\n            { key: \"CULTURE\",          label: \"Culture\",             color: \"#4b8296\", textColor: \"#2a5365\" },\r\n            { key: \"PARTICIPATION\",    label: \"Participation\",       color: \"#45508a\", textColor: \"#2b3260\" },\r\n            { key: \"EMPLOI\/INSERTION\", label: \"Emploi \/ insertion\",  color: \"#8480be\", textColor: \"#524d8b\" },\r\n            { key: \"ENFANCE\/JEUNESSE\", label: \"Enfance \/ jeunesse\",  color: \"#92557c\", textColor: \"#632f52\" }\r\n        ].map(function(t){ t.key = t.key.normalize(\"NFC\"); return t; });\r\n\r\n        \/\/ ============ 2. HELPERS ============\r\n        function num(s){\r\n            if (s === null || s === undefined) return null;\r\n            s = String(s).replace(\/\u00a0\/g, \" \");\r\n            var m = s.match(\/\\d[\\d\\s ]*(?:[.,]\\d+)?\/);\r\n            if (!m) return null;\r\n            var v = parseFloat(m[0].replace(\/[\\s ]\/g, \"\").replace(\",\", \".\"));\r\n            return isNaN(v) ? null : v;\r\n        }\r\n        function isNR(s){\r\n            if (!s) return true;\r\n            var t = String(s).trim();\r\n            return t === \"\" || \/^nr\\b\/i.test(t);\r\n        }\r\n        var fmtEuro = function(v){\r\n            return v === null ? \"NR\" : new Intl.NumberFormat(\"fr-FR\").format(Math.round(v)) + \" \u20ac\";\r\n        };\r\n        var fmtNum = function(v){\r\n            return v === null ? \"NR\" : new Intl.NumberFormat(\"fr-FR\").format(Math.round(v));\r\n        };\r\n        function escapeHTML(v){\r\n            return String(v === null || v === undefined ? \"\" : v)\r\n                .replace(\/&\/g, \"&amp;\").replace(\/[<]\/g, \"&lt;\").replace(\/>\/g, \"&gt;\")\r\n                .replace(\/\"\/g, \"&quot;\").replace(\/'\/g, \"&#39;\");\r\n        }\r\n        function mix(hex, target, t){\r\n            return d3.interpolateLab(hex, target)(t);\r\n        }\r\n\r\n        PROJETS.forEach(function(p){\r\n            p.fisNum = num(p.fis);\r\n            p.budgetNum = num(p.budget);\r\n            p.personnesNum = num(p.personnes);\r\n            p.fisNR = p.fisNum === null;\r\n        });\r\n\r\n        var totalPersonnes = d3.sum(PROJETS, function(p){ return p.personnesNum || 0; });\r\n\r\n        \/\/ La part m\u00e9diane du corpus : le seul rep\u00e8re honn\u00eate \u00e0 poser sur la\r\n        \/\/ jauge d'une fiche. \u00ab 14 % \u00bb, pris isol\u00e9ment, ne dit rien ; rapport\u00e9\r\n        \/\/ \u00e0 ce que les quarante-sept autres projets ont obtenu, \u00e7a dit que le\r\n        \/\/ FIS est ici un appoint et non le financeur principal. La m\u00e9diane, et\r\n        \/\/ non la moyenne : deux ou trois projets tr\u00e8s subventionn\u00e9s ne doivent\r\n        \/\/ pas d\u00e9placer le rep\u00e8re de tous les autres.\r\n        \/\/ Les bornes de l'\u00e9chelle des personnes touch\u00e9es. Le corpus va de 10 \u00e0\r\n        \/\/ plus de 10 000 : sur une r\u00e9glette lin\u00e9aire, quarante projets sur\r\n        \/\/ quarante-deux s'\u00e9craseraient contre le bord gauche. L'\u00e9chelle est\r\n        \/\/ donc logarithmique et ses paliers sont des puissances de dix, seuls\r\n        \/\/ rep\u00e8res qu'on lit sans les calculer.\r\n        var PERS_ECHELLE = (function(){\r\n            var v = PROJETS.map(function(p){ return p.personnesNum; })\r\n                .filter(function(x){ return x !== null && x > 0; });\r\n            if (!v.length) return null;\r\n            var mn = Math.min.apply(null, v), mx = Math.max.apply(null, v);\r\n            if (mx <= mn) return null;\r\n            var paliers = [];\r\n            for (var e = Math.ceil(Math.log(mn) \/ Math.LN10); Math.pow(10, e) <= mx; e++){\r\n                paliers.push(Math.pow(10, e));\r\n            }\r\n            return { mn: mn, mx: mx, paliers: paliers };\r\n        })();\r\n        function persPosition(v){\r\n            if (!PERS_ECHELLE) return null;\r\n            var t = (Math.log(Math.max(PERS_ECHELLE.mn, Math.min(PERS_ECHELLE.mx, v))) - Math.log(PERS_ECHELLE.mn))\r\n                \/ (Math.log(PERS_ECHELLE.mx) - Math.log(PERS_ECHELLE.mn));\r\n            return Math.max(0, Math.min(1, t)) * 100;\r\n        }\r\n\r\n        var PART_MEDIANE = (function(){\r\n            var parts = PROJETS.map(function(p){\r\n                return (p.fisNum !== null && p.budgetNum > 0) ? p.fisNum \/ p.budgetNum * 100 : null;\r\n            }).filter(function(v){ return v !== null; });\r\n            return parts.length ? d3.median(parts) : null;\r\n        })();\r\n\r\n        \/\/ ============ 3. VUES ============\r\n        \/\/ Une seule roue d\u00e9sormais : chaque porteur p\u00e8se le m\u00eame poids dans la\r\n        \/\/ g\u00e9om\u00e9trie (peu importe son montant FIS, pour que tous les libell\u00e9s\r\n        \/\/ restent lisibles), la teinte dit combien des quatre dimensions\r\n        \/\/ d'impact sont renseign\u00e9es\r\n        \/\/ (l'empreinte, celle-l\u00e0 m\u00eame que dessine la fleur de chaque fiche).\r\n        \/\/ Quatre onglets de couleur, un par dimension, obligeaient \u00e0 basculer\r\n        \/\/ pour reconstituer mentalement ce que la fiche montre maintenant d'un\r\n        \/\/ coup ; il ne reste que la bascule vers les freins, qui est une autre\r\n        \/\/ vue et pas un autre coloriage.\r\n        var INDICATORS = [\r\n            { key: \"empreinte\", label: \"Roue d'impact\",      short: \"Impact du FIS\" },\r\n            \/\/ La m\u00eame donn\u00e9e que la roue, rang\u00e9e par poids : la roue montre la\r\n            \/\/ composition du fonds, elle ne dit pas qui p\u00e8se le plus. Cette\r\n            \/\/ lecture-l\u00e0 vient donc juste apr\u00e8s elle, avant les promesses.\r\n            { key: \"classement\", label: \"Classement\",        short: \"Classement\" },\r\n            \/\/ Deuxi\u00e8me nature de vue : la galerie de toutes les fleurs. Elle\r\n            \/\/ vient avant les freins, qui sont la lecture la plus aust\u00e8re des\r\n            \/\/ trois et n'ont pas \u00e0 s'intercaler entre les deux qui montrent ce\r\n            \/\/ que les associations font.\r\n            \/\/ Les trois \u00e9tages : la lecture par PROMESSE du fonds, reprise de\r\n            \/\/ la roue AER. Elle vient juste apr\u00e8s la roue, avant les fleurs :\r\n            \/\/ on descend du fonds (ce qu'il promet) vers les structures (ce\r\n            \/\/ qu'elles produisent), puis vers ce qui les a frein\u00e9es.\r\n            { key: \"etages\",    label: \"Les trois \u00e9tages\",   short: \"\u00c9tages\" },\r\n            \/\/ Le croisement des deux classeurs : quelle th\u00e9matique nourrit\r\n            \/\/ quelle promesse. Il vient juste apr\u00e8s les \u00e9tages, dont il reprend\r\n            \/\/ les trois couleurs, et juste avant les fleurs.\r\n            { key: \"flux\",      label: \"Qui agit o\u00f9\",        short: \"Flux\" },\r\n            { key: \"fleurs\",    label: \"Fleurs des assos\",   short: \"Fleurs\" },\r\n            \/\/ Onglet particulier : il n'affiche pas la roue mais le radar.\r\n            { key: \"freins\",    label: \"Freins rencontr\u00e9s\",  short: \"Freins\" }\r\n        ];\r\n        var indicator = INDICATORS[0];\r\n\r\n        \/\/ Sans argument : le projet renseigne-t-il AU MOINS une dimension.\r\n        \/\/ Avec une couche de la fleur en argument : cette dimension pr\u00e9cise.\r\n        function documented(p, ind){\r\n            if (ind) return !isNR(p[ind.key]);\r\n            return p.empreinte > 0;\r\n        }\r\n\r\n        \/\/ ---- Les quatre couches de l'empreinte ----\r\n        \/\/ Chacune a sa forme ET sa couleur : la double cl\u00e9 fait qu'on reconna\u00eet\r\n        \/\/ une couche m\u00eame en vision des couleurs d\u00e9ficiente \u2014 et c'est la forme\r\n        \/\/ qui porte l'essentiel, le jaune et l'orange se rapprochant sous\r\n        \/\/ simulation protan\/deutan. Ce sont les teintes vives d'origine, celles\r\n        \/\/ de la roue AER, pour que les deux supports parlent la m\u00eame langue.\r\n        var FLORA_LAYERS = [\r\n            { key: \"competences\",  label: \"Mont\u00e9e en comp\u00e9tences\",      color: \"#C79A0B\", shape: \"ray\" },\r\n            { key: \"lienSocial\",   label: \"Lien social \/ coh\u00e9sion\",     color: \"#E23C7C\", shape: \"petal\" },\r\n            { key: \"comportement\", label: \"Changement de comportement\", color: \"#0E9E82\", shape: \"tendril\" },\r\n            { key: \"sorties\",      label: \"Sorties positives\",          color: \"#E07B24\", shape: \"seed\" }\r\n        ];\r\n\r\n        \/\/ \u00c9tat d'UNE couche pour UNE association : renseign\u00e9e ou non, rien\r\n        \/\/ d'autre. Un troisi\u00e8me \u00e9tat \u00ab succinct \u00bb a \u00e9t\u00e9 essay\u00e9 (seuil de\r\n        \/\/ longueur + d\u00e9tection des r\u00e9serves du type \u00ab non mesur\u00e9 \u00bb) : il\r\n        \/\/ reposait sur un seuil arbitraire et rangeait sous le m\u00eame mot des\r\n        \/\/ r\u00e9ponses de deux lignes et des r\u00e9ponses fournies dont le porteur\r\n        \/\/ signalait lui-m\u00eame l'absence de mesure. Ind\u00e9fendable devant un\r\n        \/\/ porteur qui lit sa fiche, donc abandonn\u00e9.\r\n        function floraState(p, L){\r\n            return isNR(p[L.key]) ? \"none\" : \"full\";\r\n        }\r\n        function floraStates(p){\r\n            var s = {};\r\n            FLORA_LAYERS.forEach(function(L){ s[L.key] = floraState(p, L); });\r\n            return s;\r\n        }\r\n        function floraScore(s){\r\n            return FLORA_LAYERS.filter(function(L){ return s[L.key] !== \"none\"; }).length;\r\n        }\r\n\r\n        \/\/ ---- Les trois promesses du fonds ----\r\n        \/\/ Elles viennent de la roue AER, dont ce fichier reprend d\u00e9sormais la\r\n        \/\/ lecture en \u00e9tages : la promesse dit CE QUE le fonds a cherch\u00e9 \u00e0\r\n        \/\/ produire, la fleur dit ce que la structure a effectivement\r\n        \/\/ document\u00e9. Les deux classeurs se lisent maintenant au m\u00eame endroit.\r\n        \/\/ `color` est la teinte pleine, `textColor` la m\u00eame assombrie pour\r\n        \/\/ rester lisible (>=4,5:1) partout o\u00f9 elle sert d'encre.\r\n        var PROMESSES = [\r\n            { key: \"ameliorer\", label: \"Am\u00e9liorer\", color: \"#E07B24\", textColor: \"#ad5b14\",\r\n              phrase: \"am\u00e9liorer la vie de celles et ceux qui n\u2019ont pas les m\u00eames chances\" },\r\n            { key: \"emanciper\", label: \"\u00c9manciper\", color: \"#0E9E82\", textColor: \"#087b65\",\r\n              phrase: \"donner \u00e0 chacune et chacun le pouvoir de choisir, d\u2019agir et de s\u2019\u00e9panouir\" },\r\n            { key: \"reveler\",   label: \"R\u00e9v\u00e9ler\",   color: \"#E23C7C\", textColor: \"#d51b63\",\r\n              phrase: \"les forces vives des territoires plut\u00f4t que les contraintes\" }\r\n        ];\r\n\r\n        \/\/ Calcul\u00e9 une fois : la roue s'en sert pour teinter, la fiche pour\r\n        \/\/ dessiner la fleur, la l\u00e9gende et les KPI pour compter. Les \u00e9tages y\r\n        \/\/ ajoutent, pour chaque structure, les promesses qu'elle raconte.\r\n        PROJETS.forEach(function(p, i){\r\n            \/\/ Un identifiant stable : les \u00e9tages posent quarante-huit cases\r\n            \/\/ par plan et doivent retrouver la structure d'une case au clic\r\n            \/\/ sans reparcourir le corpus.\r\n            p.id = i;\r\n            p.floraStates = floraStates(p);\r\n            p.empreinte = floraScore(p.floraStates);\r\n            p.docs = {};\r\n            PROMESSES.forEach(function(pr){\r\n                p.docs[pr.key] = !!(p[pr.key] && String(p[pr.key]).trim() && !isNR(p[pr.key]));\r\n            });\r\n            p.score = PROMESSES.filter(function(pr){ return p.docs[pr.key]; }).length;\r\n        });\r\n\r\n        \/\/ Taxonomie SIMPLIFI\u00c9E des freins (grille FIS 2025) : quatre familles.\r\n        \/\/ La feuille \u00e9crit d\u00e9sormais les libell\u00e9s en toutes lettres dans la\r\n        \/\/ colonne \u00ab Freins rencontr\u00e9s \u00bb (ex. \u00ab Freins humains (\u00e9quipes et\r\n        \/\/ publics) \u00bb) et non plus des codes F1a\u2026F1f. On d\u00e9tecte donc chaque\r\n        \/\/ famille par mots-cl\u00e9s. Le radar\/les barres comptent, par famille, le\r\n        \/\/ nombre de projets qui la mentionnent.\r\n        \/\/ shape : la barri\u00e8re que chaque famille dessine dans le glyphe de la\r\n        \/\/ fiche. Les rayons sont embo\u00eet\u00e9s, du plus proche du projet au plus\r\n        \/\/ lointain : blocs, chevrons, barreaux, murs.\r\n        var FREINS = [\r\n            { code: \"F1\", short: \"Financiers\",      label: \"Freins financiers\",                      rx: \/financ\/,\r\n              shape: \"bars\" },\r\n            \/\/ \u00ab RH \u00bb est le mot que certains porteurs emploient \u00e0 la place de\r\n            \/\/ \u00ab humains \u00bb : sans lui leur frein humain passait \u00e0 la trappe.\r\n            { code: \"F2\", short: \"Humains\",         label: \"Freins humains (\u00e9quipes et publics)\",    rx: \/humain|\\brh\\b|ressources humaines\/,\r\n              shape: \"chevrons\" },\r\n            { code: \"F3\", short: \"Institutionnels\", label: \"Freins institutionnels et partenariaux\", rx: \/institutionnel|partenari\/,\r\n              shape: \"walls\" },\r\n            { code: \"F4\", short: \"Logistiques\",     label: \"Freins logistiques et mat\u00e9riels\",        rx: \/logisti|materiel\/,\r\n              shape: \"blocks\" }\r\n        ];\r\n\r\n        \/\/ Quelles familles un projet documente-t-il.\r\n        \/\/ On croit d'abord les intitul\u00e9s que le porteur a lui-m\u00eame \u00e9crits\r\n        \/\/ (voir freinSegments) : le balayage par mots-cl\u00e9s sur toute la cellule\r\n        \/\/ comptait \u00ab financement rendu tardivement \u00bb, r\u00e9dig\u00e9 dans le paragraphe\r\n        \/\/ institutionnel, comme un frein financier. Six projets \u00e9taient ainsi\r\n        \/\/ cr\u00e9dit\u00e9s d'une famille qu'ils n'avaient pas d\u00e9clar\u00e9e. Le balayage\r\n        \/\/ reste le repli pour les cellules non structur\u00e9es.\r\n        function freinCodes(p, seg){\r\n            var txt = String(p.freins || \"\").normalize(\"NFD\")\r\n                .replace(\/[\u0300-\u036f]\/g, \"\").toLowerCase();\r\n            if (!txt || \/^\\s*(nr\\b|pas de frein|aucun frein|aucune)\/.test(txt)) return [];\r\n            var declares = (seg || freinSegments(p)).codes;\r\n            var out = [];\r\n            FREINS.forEach(function(f){\r\n                if (declares.length ? declares.indexOf(f.code) !== -1 : f.rx.test(txt)) out.push(f.code);\r\n            });\r\n            return out;\r\n        }\r\n\r\n        \/\/ D\u00e9coupage du texte des freins par famille. Les porteurs r\u00e9digent la\r\n        \/\/ cellule en paragraphes pr\u00e9fix\u00e9s de l'intitul\u00e9 de la famille\r\n        \/\/ (\u00ab Freins humains (\u00e9quipes et publics) : \u2026 \u00bb), mais le s\u00e9parateur\r\n        \/\/ varie : deux-points, tiret, ou rien du tout. On rep\u00e8re donc\r\n        \/\/ l'intitul\u00e9 lui-m\u00eame et on prend tout ce qui suit jusqu'au suivant.\r\n        \/\/ 31 cellules sur 34 se d\u00e9coupent ainsi ; le reliquat part dans un\r\n        \/\/ volet \u00e0 part plut\u00f4t que d'\u00eatre attribu\u00e9 de force.\r\n        var FREIN_HEAD = \/Freins?\\s+(?:financiers?|humains?(?:\\s*\\([^)]{0,40}\\))?|institutionnels?(?:\\s+et\\s+partenariaux?)?|logistiques?(?:\\s+et\\s+mat[e\u00e9]riels?)?)\/gi;\r\n\r\n        \/\/ codes : les familles que le porteur a intitul\u00e9es, avec ou sans d\u00e9tail\r\n        \/\/         derri\u00e8re. C'est la d\u00e9claration, elle fait foi.\r\n        \/\/ segs  : le texte propre \u00e0 chaque famille, pour son volet d\u00e9pliant.\r\n        \/\/ reste : pr\u00e9ambule ou cellule non structur\u00e9e, rien n'est perdu.\r\n        function freinSegments(p){\r\n            var out = { codes: [], segs: {}, reste: \"\" };\r\n            var t = String(p.freins == null ? \"\" : p.freins).trim();\r\n            if (!t || isNR(t)) return out;\r\n            var heads = [], m;\r\n            FREIN_HEAD.lastIndex = 0;\r\n            while ((m = FREIN_HEAD.exec(t)) !== null){\r\n                heads.push({ i: m.index, len: m[0].length, tete: m[0] });\r\n                if (m.index === FREIN_HEAD.lastIndex) FREIN_HEAD.lastIndex++;\r\n            }\r\n            if (!heads.length){ out.reste = t; return out; }\r\n            out.reste = t.slice(0, heads[0].i).trim();\r\n            for (var k = 0; k < heads.length; k++){\r\n                var fin = (k + 1 < heads.length) ? heads[k + 1].i : t.length;\r\n                var corps = t.slice(heads[k].i + heads[k].len, fin)\r\n                    .replace(\/^[\\s:;.\u2013\u2014-]+\/, \"\").trim();\r\n                var tete = heads[k].tete.normalize(\"NFD\")\r\n                    .replace(\/[\u0300-\u036f]\/g, \"\").toLowerCase();\r\n                var fam = null;\r\n                FREINS.forEach(function(f){ if (!fam && f.rx.test(tete)) fam = f.code; });\r\n                if (!fam) continue;\r\n                if (out.codes.indexOf(fam) === -1) out.codes.push(fam);\r\n                \/\/ Famille cit\u00e9e sans d\u00e9tail derri\u00e8re : la ligne reste muette.\r\n                if (!corps) continue;\r\n                out.segs[fam] = (out.segs[fam] ? out.segs[fam] + \"\\n\" : \"\") + corps;\r\n            }\r\n            return out;\r\n        }\r\n\r\n        PROJETS.forEach(function(p){\r\n            p.freinSegs = freinSegments(p);\r\n            p.freinSet = freinCodes(p, p.freinSegs);\r\n        });\r\n\r\n        \/\/ ============ 4. HI\u00c9RARCHIE ============\r\n        var byTheme = d3.group(PROJETS, function(p){ return p.theme; });\r\n        \/\/ La grille \u00e9volue : une th\u00e9matique peut se retrouver sans projet\r\n        \/\/ (Sport en 2025). On l'\u00e9carte plut\u00f4t que d'afficher un arc vide \u00e0 0.\r\n        THEMES = THEMES.filter(function(t){ return (byTheme.get(t.key) || []).length > 0; });\r\n\r\n        \/\/ Roue \u00e0 3 niveaux : Th\u00e9matique \u203a Sous-th\u00e9matique \u203a Porteur de projet.\r\n        var hierarchyData = {\r\n            name: \"FIS AMP 2025\",\r\n            children: THEMES.map(function(t){\r\n                var list = byTheme.get(t.key) || [];\r\n                \/\/ Regroupe les projets par sous-th\u00e9matique. Un projet peut \u00eatre\r\n                \/\/ tagu\u00e9 sur plusieurs sous-th\u00e9matiques : il appara\u00eet alors sous\r\n                \/\/ chacune, avec le m\u00eame poids que les autres \u00e0 chaque fois.\r\n                var stOrder = [], stMap = {};\r\n                list.forEach(function(p){\r\n                    var labs = (p.sousThemes && p.sousThemes.length) ? p.sousThemes : [\"Non pr\u00e9cis\u00e9\"];\r\n                    labs.forEach(function(lab){\r\n                        if (!stMap[lab]){ stMap[lab] = []; stOrder.push(lab); }\r\n                        stMap[lab].push(p);\r\n                    });\r\n                });\r\n                return {\r\n                    name: t.label,\r\n                    themeKey: t.key,\r\n                    color: t.color,\r\n                    isTheme: true,\r\n                    projets: list,\r\n                    children: stOrder.map(function(lab){\r\n                        var sub = stMap[lab];\r\n                        \/\/ Un m\u00eame d\u00e9grad\u00e9 pour tout le monde, pas une teinte au\r\n                        \/\/ hasard par position : pastel au centre (th\u00e9matique),\r\n                        \/\/ puis un cran PLUS DENSE par anneau vers l'ext\u00e9rieur.\r\n                        \/\/ Le sens a \u00e9t\u00e9 invers\u00e9 avec le passage au pastel :\r\n                        \/\/ \u00e9claircir une teinte d\u00e9j\u00e0 tr\u00e8s claire la rendait\r\n                        \/\/ indistinguable du fond blanc. On la pousse donc vers\r\n                        \/\/ sa propre version satur\u00e9e (`textColor`), ce qui garde\r\n                        \/\/ la famille et marque la descente dans l'arbre.\r\n                        \/\/ Toutes les sous-th\u00e9matiques d'une m\u00eame th\u00e9matique\r\n                        \/\/ partagent la m\u00eame teinte, tous les porteurs aussi \u2014\r\n                        \/\/ seul le NIVEAU (anneau) fait varier l'intensit\u00e9.\r\n                        var stColor = mix(t.color, t.textColor, 0.14);\r\n                        \/\/ Une m\u00eame structure peut porter plusieurs projets dans\r\n                        \/\/ une m\u00eame sous-th\u00e9matique : on pr\u00e9cise alors le projet.\r\n                        var seen = {};\r\n                        sub.forEach(function(p){ seen[p.porteur] = (seen[p.porteur] || 0) + 1; });\r\n                        return {\r\n                            name: lab,\r\n                            isSousTheme: true,\r\n                            color: stColor,\r\n                            themeKey: t.key,\r\n                            themeColor: t.color,\r\n                            themeColorText: t.textColor,\r\n                            themeLabel: t.label,\r\n                            sousTheme: lab,\r\n                            projets: sub,\r\n                            children: sub.map(function(p){\r\n                                \/\/ Le poids de la feuille est pos\u00e9 plus bas par\r\n                                \/\/ egaliser(). Ni le budget, ni le FIS, ni le\r\n                                \/\/ nombre de projets de la branche n'y entrent.\r\n                                return {\r\n                                    name: (seen[p.porteur] > 1 && p.projet)\r\n                                        ? p.porteur + \" \u00b7 \" + p.projet\r\n                                        : (p.porteur || p.projet),\r\n                                    colorFull: mix(t.color, t.textColor, 0.28),\r\n                                    themeColor: t.color,\r\n                                    themeColorText: t.textColor,\r\n                                    themeLabel: t.label,\r\n                                    sousTheme: lab,\r\n                                    leafShare: 1,   \/\/ recalcul\u00e9 par egaliser()\r\n                                    projet: p\r\n                                };\r\n                            })\r\n                        };\r\n                    })\r\n                };\r\n            })\r\n        };\r\n\r\n        \/\/ Largeur d'arc : \u00c9GALE ENTRE VOISINS DE M\u00caME PARENT, \u00e0 chaque\r\n        \/\/ niveau. Les th\u00e9matiques qui portent des projets se partagent le tour\r\n        \/\/ en parts identiques (40\u00b0 chacune) ; les sous-th\u00e9matiques d'une m\u00eame\r\n        \/\/ th\u00e9matique se partagent sa part \u00e0 \u00e9galit\u00e9 ; les porteurs d'une m\u00eame\r\n        \/\/ sous-th\u00e9matique de m\u00eame. Aucun montant, aucun effectif n'entre dans\r\n        \/\/ le calcul.\r\n        \/\/\r\n        \/\/ POURQUOI PAS \u00ab TOUT \u00c9GAL PARTOUT \u00bb : une roue embo\u00eete ses niveaux,\r\n        \/\/ les enfants remplissent exactement leur parent. Rendre les 33\r\n        \/\/ sous-th\u00e9matiques toutes \u00e9gales imposerait \u00e0 chaque th\u00e9matique une\r\n        \/\/ largeur proportionnelle \u00e0 son nombre de sous-th\u00e9matiques, donc des\r\n        \/\/ th\u00e9matiques in\u00e9gales. Un seul anneau peut \u00eatre uniforme au sens\r\n        \/\/ absolu. Cette r\u00e9partition-ci est celle qui varie le moins partout :\r\n        \/\/ l'anneau int\u00e9rieur est parfait dans la vue d'ensemble COMME dans une\r\n        \/\/ th\u00e9matique ouverte. Ce qui reste in\u00e9gal, ce sont les porteurs d'une\r\n        \/\/ sous-th\u00e9matique \u00e0 l'autre \u2014 c'est le plancher, pas un oubli.\r\n        \/\/\r\n        \/\/ Les branches vides sont \u00e9cart\u00e9es du partage : SPORT ne porte aucun\r\n        \/\/ projet, lui r\u00e9server une part ouvrirait un secteur vide.\r\n        function aDesFeuilles(n){\r\n            if (!n.children || !n.children.length) return !!n.projet;\r\n            return n.children.some(aDesFeuilles);\r\n        }\r\n        (function egaliser(n, part){\r\n            var kids = n.children || [];\r\n            if (!kids.length){ n.leafShare = part; return; }\r\n            var vivants = kids.filter(aDesFeuilles);\r\n            var q = vivants.length ? part \/ vivants.length : 0;\r\n            kids.forEach(function(k){ egaliser(k, aDesFeuilles(k) ? q : 0); });\r\n        })(hierarchyData, 1);\r\n\r\n        \/\/ ============ 4. SETUP ============\r\n        var container = document.getElementById(\"chart-container\");\r\n        var tooltip = document.getElementById(\"tooltip\");\r\n        var detail = document.getElementById(\"detail\");\r\n\r\n        var width = container.clientWidth;\r\n        var height = container.clientHeight;\r\n\r\n        var svg = d3.select(container).append(\"svg\")\r\n            .attr(\"viewBox\", [0, 0, width, height])\r\n            .attr(\"preserveAspectRatio\", \"xMidYMid meet\");\r\n\r\n        var g = svg.append(\"g\");\r\n        var ornamentGroup = g.append(\"g\").attr(\"class\", \"wheel-ornaments\").attr(\"aria-hidden\", \"true\");\r\n        \/\/ Les cercles de graduation de la roue au poids r\u00e9el. D\u00e9clar\u00e9s AVANT\r\n        \/\/ les arcs : ils se tracent dessous, et chaque p\u00e9tale masque le sien\r\n        \/\/ jusqu'\u00e0 sa longueur \u2014 ce qui d\u00e9passe est exactement ce qui manque.\r\n        \/\/ \u00c9teints tant que la bascule n'a pas \u00e9t\u00e9 demand\u00e9e.\r\n        var roseGrid = g.append(\"g\").attr(\"class\", \"rose-grid\").attr(\"aria-hidden\", \"true\").style(\"opacity\", 0);\r\n        var arcsGroup = g.append(\"g\").attr(\"class\", \"arcs\");\r\n        var defs = g.append(\"defs\");\r\n        var labelsGroup = g.append(\"g\").attr(\"class\", \"labels\").attr(\"pointer-events\", \"none\");\r\n        \/\/ Les chiffres des graduations, eux, passent PAR-DESSUS : pos\u00e9s\r\n        \/\/ dessous comme leurs cercles, les premiers disparaissaient sous les\r\n        \/\/ p\u00e9tales qu'ils sont cens\u00e9s mesurer. Un halo cr\u00e8me les d\u00e9tache de la\r\n        \/\/ couleur qu'ils traversent.\r\n        var roseNums = g.append(\"g\").attr(\"class\", \"rose-nums\").attr(\"aria-hidden\", \"true\")\r\n            .attr(\"pointer-events\", \"none\").style(\"opacity\", 0);\r\n        var centerGroup = g.append(\"g\").attr(\"class\", \"center\");\r\n        \/\/ Le radar des freins vit dans le m\u00eame SVG : on bascule la visibilit\u00e9\r\n        \/\/ plut\u00f4t que de reconstruire tout le graphe \u00e0 chaque changement d'onglet.\r\n        var radarGroup = g.append(\"g\").attr(\"class\", \"radar\").style(\"display\", \"none\");\r\n\r\n        var radius, innerR, root, focus;\r\n        var gCx = 0, gCy = 0;\r\n\r\n        \/\/ ---- La roue a deux lectures -------------------------------------\r\n        \/\/ roueMode dit laquelle est demand\u00e9e ; roseP dit o\u00f9 en est la bascule\r\n        \/\/ (0 = parts \u00e9gales, 1 = p\u00e9tales). Le garder comme un \u00e9tat, et non\r\n        \/\/ comme un drapeau, permet de l'interrompre en route, de le reprendre,\r\n        \/\/ et de le faire suivre au zoom au lieu de le trancher d'un coup.\r\n        var roueMode = \"egal\", roseP = 0, roseMax = 1, roseSeq = 0;\r\n\r\n        var reducedMotion = window.matchMedia(\"(prefers-reduced-motion: reduce)\");\r\n        var motion = function(ms){ return reducedMotion.matches ? 0 : ms; };\r\n\r\n        \/\/ ---- Entr\u00e9e de page ----------------------------------------------\r\n        \/\/ Le voile s'efface, puis la chor\u00e9graphie se joue une seule fois :\r\n        \/\/ les formes d'abord, les libell\u00e9s ensuite (cf. les r\u00e8gles .is-ready).\r\n        \/\/ Les deux classes sont retir\u00e9es \u00e0 la fin pour que les rendus\r\n        \/\/ suivants (changement d'onglet, filtre) repartent sans animation.\r\n        var pageRevealed = false;\r\n        function revealPage(){\r\n            var veil = document.getElementById(\"chart-loading\");\r\n            if (pageRevealed){ if (veil) veil.hidden = true; return; }\r\n            pageRevealed = true;\r\n            var wrap = document.getElementById(\"reu-roue-wp\");\r\n            if (veil){\r\n                veil.classList.add(\"is-out\");\r\n                setTimeout(function(){ veil.hidden = true; }, 600);\r\n            }\r\n            if (!wrap) return;\r\n            requestAnimationFrame(function(){\r\n                requestAnimationFrame(function(){\r\n                    wrap.classList.add(\"is-ready\");\r\n                    setTimeout(function(){\r\n                        wrap.classList.remove(\"is-booting\");\r\n                        wrap.classList.remove(\"is-ready\");\r\n                    }, reducedMotion.matches ? 60 : 2600);\r\n                });\r\n            });\r\n        }\r\n        function computeSize(){\r\n            width = container.clientWidth;\r\n            height = container.clientHeight;\r\n            svg.attr(\"viewBox\", [0, 0, width, height]);\r\n            var top = 45, bottom = 38;\r\n\r\n            \/\/ La fiche projet est pos\u00e9e PAR-DESSUS le cadre, \u00e0 droite. Tant\r\n            \/\/ qu'on ne lui r\u00e9servait pas sa place, le disque gardait sa taille\r\n            \/\/ et son centre plein cadre : la fiche en recouvrait la moiti\u00e9, on\r\n            \/\/ ne voyait plus que deux arcs g\u00e9ants coup\u00e9s net. Quand elle est\r\n            \/\/ ouverte en panneau lat\u00e9ral, le disque se replie donc dans la\r\n            \/\/ bande rest\u00e9e libre \u00e0 sa gauche, et s'y recentre.\r\n            var bande = width;\r\n            var bandeGauche = 0;\r\n            var hautUtile = height - top - bottom;\r\n            var ficheOuverte = false;\r\n            if (detail && detail.classList.contains(\"is-open\")){\r\n                var rd = detail.getBoundingClientRect();\r\n                var rc = container.getBoundingClientRect();\r\n                var libre = rd.left - rc.left - 16;\r\n                \/\/ Sur les cadres \u00e9troits, la fiche n'est plus un panneau\r\n                \/\/ lat\u00e9ral mais un bandeau bas : la place \u00e0 lui rendre est\r\n                \/\/ alors au-dessus d'elle, pas \u00e0 c\u00f4t\u00e9. On ne remonte le disque\r\n                \/\/ que si la bande qui reste lui laisse une taille lisible,\r\n                \/\/ sinon mieux vaut le laisser dessous, tel quel.\r\n                if (rd.width > width * 0.8 && rd.top - rc.top > 40){\r\n                    var strate = (rd.top - rc.top) - top - 12;\r\n                    if (strate \/ 2 >= 110){ hautUtile = strate; ficheOuverte = true; }\r\n                }\r\n                else if (rd.width > 0 && rd.height > rc.height * 0.55 && libre > 240){\r\n                    bande = libre;\r\n                    ficheOuverte = true;\r\n                    \/\/ La colonne \u00e9ditoriale (titre, sous-titre) occupe les 300\r\n                    \/\/ premiers pixels. Si le reste de la bande laisse encore un\r\n                    \/\/ disque lisible, on la contourne : le disque ne doit pas\r\n                    \/\/ venir se poser sur le texte. Sinon on prend toute la\r\n                    \/\/ bande, le disque passant alors sous des textes rendus\r\n                    \/\/ translucides par la feuille de style.\r\n                    var apresColonne = (bande - 300 - 56) \/ 2;\r\n                    var hMax = (height - top - bottom) \/ 2;\r\n                    if (Math.min(apresColonne, hMax) >= 150){\r\n                        bandeGauche = 300 + 16;\r\n                        bande = bande - bandeGauche;\r\n                    }\r\n                }\r\n            }\r\n\r\n            radius = Math.max(65, Math.min((bande - 56) \/ 2, hautUtile \/ 2));\r\n            innerR = radius * trou();\r\n            LABEL_MAX = Math.max(11, Math.min(19, radius * 0.061));\r\n            \/\/ En plein cadre, le titre tient l'angle haut-gauche et la liste des\r\n            \/\/ th\u00e9matiques l'angle bas-droit : le disque se d\u00e9cale vers la bande\r\n            \/\/ qui reste libre, sans jamais r\u00e9tr\u00e9cir. Quand les deux bandes ne\r\n            \/\/ peuvent plus le contenir, il se recentre et les cartes, qui sont\r\n            \/\/ translucides, passent par-dessus son bord.\r\n            var cx = bandeGauche + bande \/ 2;\r\n            if (!ficheOuverte && !isScoped() && width >= 1100){\r\n                var lo = 300 + radius + 10, hi = width - 266 - radius - 14;\r\n                if (hi >= lo) cx = Math.max(lo, Math.min(cx, hi));\r\n            }\r\n            gCx = cx;\r\n            gCy = top + hautUtile \/ 2;\r\n            g.attr(\"transform\", \"translate(\" + gCx + \",\" + gCy + \")\");\r\n            if (ornamentGroup) drawOrnaments();\r\n        }\r\n\r\n        \/\/ UN SEUL ANNEAU \u00c0 L'\u00c9CRAN, \u00e0 tous les niveaux. La roue en montrait\r\n        \/\/ deux : celui qu'on venait d'ouvrir et le suivant, en avant-premi\u00e8re.\r\n        \/\/ Ce second anneau d\u00e9coupait le disque en cases de vingt degr\u00e9s o\u00f9 un\r\n        \/\/ nom comme \u00ab Association maison des familles et des associations \u00bb ne\r\n        \/\/ rentrait qu'en quatre lignes minuscules, quand il rentrait. Le niveau\r\n        \/\/ suivant est \u00e0 un clic : autant le montrer en grand quand on y est.\r\n        \/\/ L'anneau visible prend donc toute l'\u00e9paisseur du disque, ses arcs\r\n        \/\/ sont longs, et les noms s'y \u00e9crivent \u00e0 pleine taille.\r\n\r\n        \/\/ Rayon m\u00e9dian de la case : c'est l\u00e0 que s'\u00e9crit son libell\u00e9. Le\r\n        \/\/ texte vit DANS l'anneau, jamais au-del\u00e0 du bord du disque.\r\n        function labelMidR(box){ return (rIn(box) + rOut(box)) \/ 2; }\r\n        \/\/ \u00c9paisseur utile de la case, une fois \u00f4t\u00e9e la respiration qui \u00e9vite\r\n        \/\/ que le texte ne vienne l\u00e9cher les bords de l'anneau.\r\n        function labelEpaisseur(box){ return rOut(box) - rIn(box) - 12; }\r\n        \/\/ Hauteur d'une pile de n lignes, en em : n-1 interlignes pleins, plus\r\n        \/\/ la hauteur de capitale de la derni\u00e8re. Compter n interlignes pleins\r\n        \/\/ surestimait la place n\u00e9cessaire et masquait des libell\u00e9s qui\r\n        \/\/ tenaient tr\u00e8s bien.\r\n        function pileEm(n){ return (n - 1) * LABEL_LH + 0.86; }\r\n        function rScale(y){\r\n            if (y <= 1) return innerR * y;\r\n            return innerR + Math.min(1, y - 1) * (radius - innerR);\r\n        }\r\n\r\n        \/\/ Le coeur se resserre quand les p\u00e9tales poussent. \u00c0 parts \u00e9gales\r\n        \/\/ l'anneau est \u00e9pais et porte ses noms ; au poids r\u00e9el c'est la\r\n        \/\/ LONGUEUR qui parle, et il lui faut de la course \u2014 un trou trop large\r\n        \/\/ \u00e9crase les petits effectifs contre le bord du disque. roseP fait le\r\n        \/\/ chemin entre les deux valeurs, et le zoom l'emm\u00e8ne avec lui.\r\n        function trou(){ return 0.36 - 0.085 * roseP; }\r\n\r\n        \/\/ Les deux bornes d'une case. La borne ext\u00e9rieure n'est plus le bord\r\n        \/\/ de l'anneau mais une FRACTION de son \u00e9paisseur : box.k, la part du\r\n        \/\/ rayon que cette th\u00e9matique a m\u00e9rit\u00e9e. \u00c0 parts \u00e9gales k vaut 1\r\n        \/\/ partout, et la g\u00e9om\u00e9trie est exactement celle d'avant, au pixel.\r\n        \/\/ Tout ce qui mesure une case \u2014 les arcs, mais aussi la mise en page\r\n        \/\/ des libell\u00e9s \u2014 passe par ici : les deux lectures partagent donc le\r\n        \/\/ m\u00eame moteur de texte, sans une ligne de mise en page en double.\r\n        function rIn(box){ return rScale(box.y0); }\r\n        function rOut(box){\r\n            var a = rScale(box.y0), b = rScale(box.y1);\r\n            return a + (b - a) * (box.k == null ? 1 : box.k);\r\n        }\r\n\r\n        var arc = d3.arc()\r\n            .startAngle(function(d){ return d.x0; })\r\n            .endAngle(function(d){ return d.x1; })\r\n            .padAngle(function(d){ return Math.min((d.x1 - d.x0) \/ 2, 0.012); })\r\n            .cornerRadius(4)\r\n            .padRadius(function(){ return radius; })\r\n            .innerRadius(function(d){ return rIn(d); })\r\n            .outerRadius(function(d){ return Math.max(rIn(d), rOut(d) - 1.5); });\r\n\r\n        function buildRoot(){\r\n            var r = d3.hierarchy(hierarchyData)\r\n                \/\/ pas de .sort() : l'ordre des donn\u00e9es fait foi, pour que chaque\r\n                \/\/ th\u00e9matique garde sa couleur et sa place d'un mode \u00e0 l'autre.\r\n                \/\/\r\n                \/\/ leafShare vient d'egaliser() : la part exacte de tour qui\r\n                \/\/ revient \u00e0 ce porteur pour que tous les voisins de m\u00eame parent\r\n                \/\/ soient \u00e0 \u00e9galit\u00e9, \u00e0 chaque niveau.\r\n                .sum(function(d){ return d.projet ? (d.leafShare != null ? d.leafShare : 0) : 0; });\r\n            return d3.partition().size([2 * Math.PI, r.height + 1])(r);\r\n        }\r\n\r\n        function visible(d){\r\n            return d.y1 <= 2 && d.y0 >= 1 && d.x1 > d.x0 + 0.0005;\r\n        }\r\n        \/\/ Un libell\u00e9 n'est affich\u00e9 que s'il reste lisible : sinon on laisse\r\n        \/\/ l'arc muet, l'identit\u00e9 passe par le survol et par la fiche.\r\n        \/\/\r\n        \/\/ Sur la roue d'ensemble (focus = racine), on ne libelle QUE l'anneau\r\n        \/\/ des th\u00e9matiques ; l'anneau ext\u00e9rieur des projets reste sans texte.\r\n        \/\/ D\u00e8s qu'on d\u00e9veloppe une th\u00e9matique (focus = ce th\u00e8me), les projets\r\n        \/\/ deviennent la couronne principale et r\u00e9cup\u00e8rent leur libell\u00e9.\r\n        function labelFits(node, box){\r\n            box = box || node.current;\r\n            \/\/ On libelle l'anneau que l'on vient d'ouvrir (le plus int\u00e9rieur\r\n            \/\/ visible) : th\u00e9matiques \u00e0 la racine, sous-th\u00e9matiques dans un th\u00e8me,\r\n            \/\/ porteurs dans une sous-th\u00e9matique.\r\n            \/\/ Exception : une fois une th\u00e9matique ouverte, l'anneau des porteurs\r\n            \/\/ (encore un cran plus loin) est aussi libell\u00e9 \u2014 les deux anneaux\r\n            \/\/ restent lisibles \u00e0 ce niveau de zoom, inutile d'attendre un clic de plus.\r\n            return labelUtile(node, box) && node.tient !== false;\r\n        }\r\n        \/\/ La moiti\u00e9 purement g\u00e9om\u00e9trique du test : cette case m\u00e9rite-t-elle\r\n        \/\/ qu'on essaie d'y \u00e9crire ? Elle est s\u00e9par\u00e9e parce qu'elle sert aussi de\r\n        \/\/ filtre AVANT la mise en page : sur cette roue, les trois quarts des\r\n        \/\/ cases sont hors champ \u00e0 tout instant, et les mesurer pour rien \u00e9tait\r\n        \/\/ le gros du travail fait \u00e0 l'arr\u00eat du zoom \u2014 donc du soubresaut qu'on\r\n        \/\/ y voyait. L'autre moiti\u00e9 du test (\u00ab le texte tient-il vraiment ? \u00bb)\r\n        \/\/ ne peut, elle, se r\u00e9pondre qu'une fois le texte \u00e9crit et mesur\u00e9.\r\n        function labelUtile(node, box){\r\n            \/\/ On libelle l'anneau que l'on vient d'ouvrir, et c'est le seul\r\n            \/\/ affich\u00e9 : th\u00e9matiques \u00e0 la racine, sous-th\u00e9matiques dans un th\u00e8me,\r\n            \/\/ porteurs dans une sous-th\u00e9matique.\r\n            return node.depth === focus.depth + 1\r\n                && visible(box)\r\n                && (box.x1 - box.x0) * labelMidR(box) > 52\r\n                && (box.x1 - box.x0) > 0.028;\r\n        }\r\n\r\n        \/\/ Couleur d'un arc : teinte pleine de la th\u00e9matique, la m\u00eame quel\r\n        \/\/ que soit ce que le projet a renseign\u00e9.\r\n        function nodeFill(d){\r\n            return d.data.isTheme || d.data.isSousTheme ? d.data.color : d.data.colorFull;\r\n        }\r\n\r\n        \/\/ Encre du libell\u00e9 : une encre TEINT\u00c9E, d\u00e9riv\u00e9e de l'arc qu'elle\r\n        \/\/ couvre. L'encre unique bleu nuit pos\u00e9e sur toute la gamme donnait un\r\n        \/\/ texte quasi noir sur des pastels chauds \u2014 lisible au sens du ratio,\r\n        \/\/ mais sale \u00e0 l'oeil et illisible \u00e0 distance de vid\u00e9oprojecteur, parce\r\n        \/\/ que la teinte du texte n'avait rien \u00e0 voir avec celle du fond. On\r\n        \/\/ garde donc la famille chromatique de l'arc, on \u00e9crase sa clart\u00e9 et on\r\n        \/\/ contient son chroma : le mot reste dans le ton de son secteur et\r\n        \/\/ ressort franchement. Le basculement blanc\/noir d'autrefois n'est pas\r\n        \/\/ r\u00e9introduit : toute la gamme est claire, l'encre est toujours sombre.\r\n        \/\/\r\n        \/\/ Le contraste n'est pas laiss\u00e9 au jug\u00e9 : on descend la clart\u00e9 jusqu'\u00e0\r\n        \/\/ tenir 7:1 sur le fond r\u00e9el de l'arc (AAA pour le petit texte), ce qui\r\n        \/\/ couvre aussi bien les pastels clairs que les teintes pleines des\r\n        \/\/ feuilles.\r\n        function srgbLum(c){\r\n            c = d3.rgb(c);\r\n            function f(v){ v \/= 255; return v <= 0.03928 ? v \/ 12.92 : Math.pow((v + 0.055) \/ 1.055, 2.4); }\r\n            return 0.2126 * f(c.r) + 0.7152 * f(c.g) + 0.0722 * f(c.b);\r\n        }\r\n        function contraste(a, b){\r\n            var l1 = srgbLum(a), l2 = srgbLum(b);\r\n            if (l1 < l2){ var t = l1; l1 = l2; l2 = t; }\r\n            return (l1 + 0.05) \/ (l2 + 0.05);\r\n        }\r\n        var INK_CACHE = {};\r\n        function labelInk(fill){\r\n            if (!fill) return \"#12283f\";\r\n            var cle = String(fill);\r\n            if (INK_CACHE[cle]) return INK_CACHE[cle];\r\n            var base = d3.hcl(d3.color(fill));\r\n            if (isNaN(base.h)) base.h = 250;\r\n            \/\/ La roue \u00e9crit en BLANC, partout. La palette r\u00e9harmonis\u00e9e est\r\n            \/\/ assez dense et assez homog\u00e8ne pour le porter d'un bout \u00e0 l'autre\r\n            \/\/ de la gamme, et c'est cette uniformit\u00e9 qui fait la lecture : une\r\n            \/\/ encre qui change de valeur d'un secteur \u00e0 l'autre donne neuf\r\n            \/\/ typographies au lieu d'une, et l'oeil croit \u00e0 une hi\u00e9rarchie qui\r\n            \/\/ n'existe pas. Tous les libell\u00e9s se lisent donc de la m\u00eame fa\u00e7on,\r\n            \/\/ comme sur la maquette.\r\n            var blanc = \"#ffffff\";\r\n            \/\/ Garde-fou : si une teinte devenait trop claire pour tenir le\r\n            \/\/ blanc (une couleur ajout\u00e9e plus tard, un pastel qui revient), on\r\n            \/\/ retombe sur l'encre fonc\u00e9e du m\u00eame ton plut\u00f4t que d'\u00e9crire un\r\n            \/\/ libell\u00e9 invisible.\r\n            if (contraste(blanc, fill) >= 2.6){\r\n                INK_CACHE[cle] = blanc;\r\n                return blanc;\r\n            }\r\n            \/\/ Chroma plafonn\u00e9 : au-del\u00e0, une encre fonc\u00e9e vire au bonbon et\r\n            \/\/ concurrence les arcs au lieu de s'y poser.\r\n            var encre = d3.hcl(base.h, Math.min(isNaN(base.c) ? 0 : base.c, 30), 34);\r\n            var garde = 0;\r\n            while (contraste(encre, fill) < 7 && encre.l > 8 && garde++ < 60) encre.l -= 1.2;\r\n            var hex = d3.rgb(encre).formatHex();\r\n            INK_CACHE[cle] = hex;\r\n            return hex;\r\n        }\r\n        \/\/ Halo : un blanc l\u00e9ger, pas un liser\u00e9. Il ne sert qu'aux libell\u00e9s qui\r\n        \/\/ fr\u00f4lent le bord de leur arc ou chevauchent deux teintes, et son\r\n        \/\/ \u00e9paisseur est relative au corps (pos\u00e9e dans ecrire()).\r\n        \/\/ Le halo sert \u00e0 d\u00e9coller le libell\u00e9 de son arc : blanc sous une encre\r\n        \/\/ fonc\u00e9e, sombre sous une encre claire. Un halo blanc sous du blanc ne\r\n        \/\/ ferait qu'\u00e9paissir les lettres.\r\n        function labelHalo(fill){\r\n            if (!fill) return \"rgba(255,255,255,0.62)\";\r\n            return srgbLum(labelInk(fill)) > 0.5\r\n                ? \"rgba(18,32,44,0.34)\"\r\n                : \"rgba(255,255,255,0.62)\";\r\n        }\r\n\r\n        function drawOrnaments(){\r\n            ornamentGroup.selectAll(\"circle\").data([radius + 12]).join(\"circle\")\r\n                .attr(\"class\", \"wheel-orbit\").attr(\"r\", function(r){ return r; });\r\n            ornamentGroup.selectAll(\"line\").data(d3.range(72)).join(\"line\")\r\n                .attr(\"class\", \"wheel-tick\")\r\n                .attr(\"x1\", function(i){ return Math.sin(i * Math.PI \/ 36) * (radius + 16); })\r\n                .attr(\"y1\", function(i){ return -Math.cos(i * Math.PI \/ 36) * (radius + 16); })\r\n                .attr(\"x2\", function(i){ return Math.sin(i * Math.PI \/ 36) * (radius + (i % 8 === 0 ? 23 : 19)); })\r\n                .attr(\"y2\", function(i){ return -Math.cos(i * Math.PI \/ 36) * (radius + (i % 8 === 0 ? 23 : 19)); })\r\n                .attr(\"opacity\", function(i){ return i % 8 === 0 ? .8 : .4; });\r\n        }\r\n\r\n        \/\/ ============ 4 bis. LA ROUE AU POIDS R\u00c9EL ============\r\n        \/\/ Deux lectures d'un m\u00eame disque, au m\u00eame endroit, dans le m\u00eame ordre.\r\n        \/\/\r\n        \/\/ \u00c0 PARTS \u00c9GALES, chaque th\u00e9matique occupe le m\u00eame quartier : la roue\r\n        \/\/ dit DE QUOI le fonds est fait, et neuf couleurs suffisent \u00e0 s'y\r\n        \/\/ retrouver. Mais elle ne dit pas, \u00e0 ce jeu-l\u00e0, qui p\u00e8se le plus :\r\n        \/\/ Culture et Num\u00e9rique y ont la m\u00eame part, alors que l'un compte deux\r\n        \/\/ projets et l'autre neuf.\r\n        \/\/\r\n        \/\/ AU POIDS R\u00c9EL, l'angle ne bouge pas d'un degr\u00e9 \u2014 c'est lui qui\r\n        \/\/ permet de reconna\u00eetre son secteur d'une vue \u00e0 l'autre \u2014 mais le\r\n        \/\/ p\u00e9tale s'arr\u00eate l\u00e0 o\u00f9 son effectif le porte. La longueur se mesure\r\n        \/\/ depuis le bord du coeur, ligne de d\u00e9part commune \u00e0 tous : c'est un\r\n        \/\/ diagramme en barres enroul\u00e9, pas une rosace d\u00e9corative, et les\r\n        \/\/ cercles de graduation sont l\u00e0 pour qu'on puisse le chiffrer.\r\n        \/\/ Deux poids possibles, et c'est le m\u00eame p\u00e9tale qui les porte : le\r\n        \/\/ nombre de projets, ou le montant FIS engag\u00e9. Les deux se valent comme\r\n        \/\/ mesure, mais ils ne disent pas la m\u00eame chose, et c'est bien pour \u00e7a\r\n        \/\/ qu'ils sont tous les deux l\u00e0 : le Num\u00e9rique est premier en nombre de\r\n        \/\/ projets (9) et troisi\u00e8me en argent (209 000 \u20ac), la Participation\r\n        \/\/ l'inverse (8 projets, 357 000 \u20ac). Basculer de l'un \u00e0 l'autre montre\r\n        \/\/ ce renversement sans qu'on ait \u00e0 le commenter.\r\n        \/\/ Le montant est la seule colonne du corpus renseign\u00e9e pour les 48\r\n        \/\/ projets : aucun NR \u00e0 masquer, aucun trou \u00e0 combler.\r\n        function rosePetales(){ return roueMode === \"rose\" || roueMode === \"fis\"; }\r\n\r\n        \/\/ Le montant a un d\u00e9faut que le nombre de projets n'a pas : il se\r\n        \/\/ concentre. Deux subventions font pr\u00e8s d'un cinqui\u00e8me du fonds, et\r\n        \/\/ c'est l'une d'elles qui fait passer la Participation en t\u00eate. Sans\r\n        \/\/ cette note, la roue laisse conclure qu'une th\u00e9matique a \u00e9t\u00e9\r\n        \/\/ privil\u00e9gi\u00e9e, l\u00e0 o\u00f9 un seul dossier a \u00e9t\u00e9 gros. Le compte n'est pas\r\n        \/\/ \u00e9crit en dur : il se refait sur les donn\u00e9es servies.\r\n        var ROSE_CONC = (function(){\r\n            var v = PROJETS.map(function(p){ return p.fisNum || 0; })\r\n                .sort(function(a, b){ return b - a; });\r\n            var tot = d3.sum(v);\r\n            if (!tot || v.length < 2) return null;\r\n            return { n: 2, pct: Math.round((v[0] + v[1]) \/ tot * 100) };\r\n        })();\r\n        function roseVal(d){\r\n            \/\/ Un projet tagu\u00e9 sur plusieurs sous-th\u00e9matiques est list\u00e9 autant\r\n            \/\/ de fois : on d\u00e9doublonne avant de compter ET avant de sommer,\r\n            \/\/ sinon son montant entrerait deux fois dans le total du secteur.\r\n            var list = d.data.projets ? Array.from(new Set(d.data.projets)) : null;\r\n            if (roueMode === \"fis\"){\r\n                if (!list) return (d.data.projet && d.data.projet.fisNum) || 0;\r\n                return d3.sum(list, function(p){ return p.fisNum || 0; });\r\n            }\r\n            return list ? list.length : 1;\r\n        }\r\n        \/\/ L'\u00e9chelle d\u00e9pend de la mesure : changer de poids, c'est changer de\r\n        \/\/ r\u00e8gle gradu\u00e9e. Elle se reprend donc \u00e0 chaque bascule, pas seulement\r\n        \/\/ au premier rendu.\r\n        function roseMesurer(){\r\n            roseMax = d3.max((root && root.children) || [], roseVal) || 1;\r\n        }\r\n        function roseK(d, p){\r\n            \/\/ Les p\u00e9tales ne se lisent qu'au tour complet : d\u00e8s qu'on entre\r\n            \/\/ dans une th\u00e9matique, l'anneau reprend sa pleine \u00e9paisseur. Sinon\r\n            \/\/ on comparerait des sous-th\u00e8mes \u00e0 une \u00e9chelle qui n'est plus la\r\n            \/\/ leur, et le zoom mentirait.\r\n            if (!rosePetales() || p !== root || d.depth !== 1) return 1;\r\n            return roseMax > 0 ? roseVal(d) \/ roseMax : 1;\r\n        }\r\n        function roseCible(p){ return (rosePetales() && p === root) ? 1 : 0; }\r\n\r\n        \/\/ Les graduations : trois ou quatre cercles ronds, pas plus. Sans eux\r\n        \/\/ un p\u00e9tale se compare \u00e0 ses voisins mais ne se chiffre pas.\r\n        function roseGrads(){\r\n            var out = [], v;\r\n            if (roueMode === \"fis\"){\r\n                \/\/ Des paliers ronds, choisis par d3 : \u00ab 89 250 \u20ac \u00bb sur un\r\n                \/\/ cercle de graduation ne se lit pas, il se d\u00e9chiffre. Le\r\n                \/\/ dernier cercle reste la valeur r\u00e9elle du plus gros secteur,\r\n                \/\/ sinon le p\u00e9tale d\u00e9passerait sa propre r\u00e8gle.\r\n                var pas = d3.tickStep(0, roseMax, 4) || roseMax;\r\n                for (v = pas; v < roseMax * 0.94; v += pas) out.push(v);\r\n                out.push(roseMax);\r\n                return out;\r\n            }\r\n            var pasN = roseMax <= 4 ? 1 : roseMax <= 14 ? 3 : Math.ceil(roseMax \/ 4);\r\n            for (v = pasN; v < roseMax; v += pasN) out.push(v);\r\n            out.push(roseMax);\r\n            return out;\r\n        }\r\n        \/\/ Seul le cercle ext\u00e9rieur porte l'unit\u00e9 : la r\u00e9p\u00e9ter sur chacun\r\n        \/\/ empilerait quatre fois le m\u00eame mot sur la m\u00eame verticale.\r\n        function roseFormat(v, dernier){\r\n            if (roueMode === \"fis\"){\r\n                var k = Math.round(v \/ 1000);\r\n                return dernier ? k + \" k\u20ac de FIS\" : k + \" k\";\r\n            }\r\n            return dernier ? v + \" projet\" + (v > 1 ? \"s\" : \"\") : v;\r\n        }\r\n        \/\/ Cercles et chiffres s'allument et s'\u00e9teignent d'un seul geste.\r\n        function roseFade(op, delai, duree){\r\n            [roseGrid, roseNums].forEach(function(sel){\r\n                sel.interrupt(\"rose\").transition(\"rose\")\r\n                    .delay(motion(delai || 0)).duration(motion(duree))\r\n                    .style(\"opacity\", op);\r\n            });\r\n        }\r\n        function drawRoseGrid(){\r\n            var grads = roseCible(focus) ? roseGrads() : [];\r\n            var rayon = function(v){ return innerR + (radius - innerR) * (v \/ roseMax); };\r\n            roseGrid.selectAll(\"circle\").data(grads).join(\"circle\")\r\n                .attr(\"class\", \"rose-ring\").attr(\"r\", rayon);\r\n            \/\/ Le chiffre se pose sur la verticale haute, l\u00e0 o\u00f9 passe la\r\n            \/\/ s\u00e9paration du dernier secteur et du premier : c'est la seule\r\n            \/\/ ligne du cadran que l'oeil tient d\u00e9j\u00e0 pour un rep\u00e8re.\r\n            roseNums.selectAll(\"text\").data(grads).join(\"text\")\r\n                .attr(\"class\", \"rose-grad\")\r\n                .attr(\"x\", 0)\r\n                .attr(\"y\", function(v){ return -rayon(v); })\r\n                .attr(\"dy\", \"-0.45em\")\r\n                .text(function(v, i){ return roseFormat(v, i === grads.length - 1); });\r\n        }\r\n\r\n        \/\/ La bascule ne s'offre qu'au tour complet, et seulement sur la roue :\r\n        \/\/ ailleurs elle n'aurait rien \u00e0 \u00e9changer.\r\n        function updateRoueModes(){\r\n            var el = document.getElementById(\"roue-modes\");\r\n            if (!el) return;\r\n            el.hidden = isScoped() || focus !== root;\r\n            el.querySelectorAll(\".rmode\").forEach(function(b){\r\n                var on = b.getAttribute(\"data-rmode\") === roueMode;\r\n                b.classList.toggle(\"active\", on);\r\n                b.setAttribute(\"aria-pressed\", on ? \"true\" : \"false\");\r\n            });\r\n        }\r\n\r\n        \/\/ La l\u00e9gende du disque change avec la lecture : c'est elle qui dit ce\r\n        \/\/ que mesure la forme qu'on a sous les yeux.\r\n        function updateRoueCaption(){\r\n            var el = document.getElementById(\"stage-caption\");\r\n            if (!el) return;\r\n            var line = el.querySelector(\".caption-line\");\r\n            \/\/ roseCible, et non roueMode : dans une th\u00e9matique ouverte, la roue\r\n            \/\/ est revenue \u00e0 ses parts pleines m\u00eame si la bascule reste arm\u00e9e\r\n            \/\/ pour le retour au centre. La l\u00e9gende dit ce qu'on a sous les\r\n            \/\/ yeux, pas ce qu'on a choisi.\r\n            el.textContent = !roseCible(focus)\r\n                ? \"Secteurs \u00e0 parts \u00e9gales \u00b7 La couleur identifie la th\u00e9matique\"\r\n                : roueMode === \"fis\"\r\n                    ? \"La longueur du p\u00e9tale dit le montant FIS engag\u00e9 \u00b7 Les cercles sont les graduations\"\r\n                    : \"La longueur du p\u00e9tale dit le nombre de projets \u00b7 Les cercles sont les graduations\";\r\n            if (line) el.insertBefore(line, el.firstChild);\r\n        }\r\n\r\n        \/\/ ---- La bascule ---------------------------------------------------\r\n        \/\/ Les neuf p\u00e9tales ne partent pas ensemble : ils se d\u00e9tachent l'un\r\n        \/\/ apr\u00e8s l'autre en suivant le cadran depuis midi. L'oeil fait le tour\r\n        \/\/ avec eux, et voit chaque th\u00e9matique prendre SA longueur, au lieu de\r\n        \/\/ voir le disque se d\u00e9former d'un bloc. Le coeur se resserre pendant\r\n        \/\/ ce temps-l\u00e0, d'un seul mouvement continu.\r\n        \/\/\r\n        \/\/ Les libell\u00e9s, eux, s'\u00e9teignent AVANT le mouvement et se reposent\r\n        \/\/ apr\u00e8s, en ronde : on ne lit jamais un mot qui bouge, et un nom qui\r\n        \/\/ ne tient plus dans son p\u00e9tale raccourci s'efface sans bavure \u2014 la\r\n        \/\/ mise en page est refaite \u00e0 l'arriv\u00e9e, sur la roue immobile.\r\n        function basculePetales(){\r\n            if (!pathSel) return;\r\n            var seq = ++roseSeq;\r\n            highlight(null);\r\n            closeTooltip();\r\n            \/\/ Comme le zoom : on coupe tout ce qui tourne encore, ET on solde\r\n            \/\/ ce que ces animations laissaient derri\u00e8re elles. La chor\u00e9graphie\r\n            \/\/ d'entr\u00e9e allume les arcs un \u00e0 un ; interrompue \u00e0 mi-course sans\r\n            \/\/ rien poser, elle laissait la moiti\u00e9 du disque \u00e0 opacit\u00e9 nulle \u2014\r\n            \/\/ une roue \u00e0 deux p\u00e9tales, pour un clic un peu press\u00e9.\r\n            pathSel.interrupt(\"intro\").interrupt(\"zoom\").interrupt(\"rose\")\r\n                .attr(\"fill-opacity\", function(d){ return visible(d.current) ? 1 : 0; })\r\n                .attr(\"stroke-opacity\", function(d){ return visible(d.current) ? 1 : 0; });\r\n            labelSel.interrupt(\"entree\").interrupt(\"sortie\").interrupt(\"zoom\");\r\n            svg.interrupt(\"rose\").interrupt(\"recale\");\r\n            clearTimeout(recaleTimer);\r\n            labelsGroup.interrupt(\"intro\").interrupt(\"recale\").attr(\"opacity\", 1);\r\n            centerGroup.interrupt(\"intro\").attr(\"opacity\", 1);\r\n            ornamentGroup.interrupt(\"recale\").attr(\"opacity\", 1);\r\n            if (centerLabel) centerLabel.interrupt(\"recale\").attr(\"opacity\", 1);\r\n            updateRoueCaption();\r\n            updateRoueModes();\r\n            updateSubtitle();\r\n\r\n            \/\/ Avant de viser les longueurs d'arriv\u00e9e : passer des projets aux\r\n            \/\/ euros change la r\u00e8gle, donc le bord du disque. Sans ce recalcul,\r\n            \/\/ les p\u00e9tales se rapportaient encore \u00e0 l'\u00e9chelle qu'on quitte et\r\n            \/\/ le plus gros secteur n'atteignait plus le bord.\r\n            roseMesurer();\r\n            root.each(function(d){\r\n                d.kDep = d.current.k == null ? 1 : d.current.k;\r\n                d.kFin = roseK(d, focus);\r\n            });\r\n            var pDep = roseP, pFin = roseCible(focus);\r\n            var pousse = pFin > pDep;   \/\/ on d\u00e9ploie les p\u00e9tales, ou on les rend\r\n\r\n            \/\/ Mouvement r\u00e9duit : on pose la roue d'arriv\u00e9e, point. Les fondus\r\n            \/\/ sont coup\u00e9s AVANT d'\u00e9crire l'opacit\u00e9 finale \u2014 un fondu de dur\u00e9e\r\n            \/\/ nulle se joue quand m\u00eame, au tick suivant, et repeindrait par\r\n            \/\/ dessus ce qu'on vient de poser.\r\n            if (reducedMotion.matches){\r\n                roseP = pFin;\r\n                root.each(function(d){ d.current.k = d.kFin; });\r\n                computeSize(); drawRoseGrid();\r\n                roseGrid.interrupt(\"rose\").style(\"opacity\", pFin ? 1 : 0);\r\n                roseNums.interrupt(\"rose\").style(\"opacity\", pFin ? 1 : 0);\r\n                redrawStatic();\r\n                return;\r\n            }\r\n\r\n            \/\/ Les rep\u00e8res s'effacent d'abord : ils ne reviennent que sur une\r\n            \/\/ roue arr\u00eat\u00e9e, quand ils ont de nouveau quelque chose \u00e0 graduer.\r\n            roseFade(0, 0, 160);\r\n\r\n            var ring = (focus.children || []).slice().sort(function(a, b){\r\n                return (a.current.x0 + a.current.x1) - (b.current.x0 + b.current.x1);\r\n            });\r\n            var rang = {};\r\n            ring.forEach(function(d, i){ rang[d.lid] = i; });\r\n            var dernier = Math.max(1, ring.length - 1);\r\n            \/\/ Le d\u00e9calage mange la moiti\u00e9 du temps : assez pour qu'on suive la\r\n            \/\/ ronde, pas assez pour que le dernier p\u00e9tale se sente oubli\u00e9.\r\n            var ETALE = 0.5;\r\n            \/\/ En poussant, une courbe qui d\u00e9passe sa cible puis revient donne\r\n            \/\/ au p\u00e9tale le poids d'une chose qui se pose. Au retour, la cible\r\n            \/\/ est la pleine longueur : d\u00e9passer sortirait du disque, on rentre\r\n            \/\/ donc franchement, sans rebond.\r\n            var courbe = pousse ? d3.easeBackOut.overshoot(0.85) : d3.easeCubicOut;\r\n\r\n            g.classed(\"is-moving\", true);\r\n            labelSel.transition(\"sortie\").duration(motion(200)).ease(d3.easeSinIn).attr(\"opacity\", 0);\r\n            centerLabel.interrupt(\"centre\").transition(\"centre\")\r\n                .duration(motion(200)).ease(d3.easeSinIn).attr(\"opacity\", 0);\r\n\r\n            svg.transition(\"rose\").duration(motion(1150)).ease(d3.easeLinear)\r\n                .tween(\"rose\", function(){\r\n                    return function(t){\r\n                        roseP = pDep + (pFin - pDep) * d3.easeCubicInOut(t);\r\n                        innerR = radius * trou();\r\n                        root.each(function(d){\r\n                            var dec = (rang[d.lid] == null ? 0 : rang[d.lid]) * ETALE \/ dernier;\r\n                            var local = Math.max(0, Math.min(1, (t - dec) \/ (1 - ETALE)));\r\n                            d.current.k = d.kDep + (d.kFin - d.kDep) * courbe(local);\r\n                        });\r\n                        pathSel.attr(\"d\", function(d){ return arc(d.current); });\r\n                        centerGroup.select(\"circle\").attr(\"r\", innerR - 8);\r\n                    };\r\n                })\r\n                .on(\"interrupt.rose\", function(){ g.classed(\"is-moving\", false); })\r\n                .on(\"end.rose\", function(){\r\n                    if (seq !== roseSeq) return;\r\n                    g.classed(\"is-moving\", false);\r\n                    roseP = pFin;\r\n                    root.each(function(d){ d.current.k = d.kFin; });\r\n                    computeSize();\r\n                    pathSel.attr(\"d\", function(d){ return arc(d.current); });\r\n                    drawRoseGrid();\r\n                    redrawStatic();\r\n                    updateTitles();\r\n                    \/\/ Les noms se reposent sur une roue immobile, dans le sens\r\n                    \/\/ de lecture du cadran : midi d'abord, puis la ronde.\r\n                    labelSel.attr(\"opacity\", 0);\r\n                    var tenants = [];\r\n                    labelSel.each(function(d){ if (labelFits(d, d.current)) tenants.push(d); });\r\n                    tenants.sort(function(a, b){\r\n                        return (a.current.x0 + a.current.x1) - (b.current.x0 + b.current.x1);\r\n                    });\r\n                    var ordre = {}, ecart = Math.min(45, 260 \/ Math.max(1, tenants.length - 1));\r\n                    tenants.forEach(function(d, i){ ordre[d.lid] = i; });\r\n                    labelSel.filter(function(d){ return labelFits(d, d.current); })\r\n                        .interrupt(\"entree\").transition(\"entree\")\r\n                        .delay(function(d){ return motion(40 + ordre[d.lid] * ecart); })\r\n                        .duration(motion(520)).ease(d3.easeSinOut)\r\n                        .attr(\"opacity\", 1);\r\n                    centerLabel.interrupt(\"centre\").attr(\"opacity\", 0)\r\n                        .transition(\"centre\").delay(motion(40)).duration(motion(520))\r\n                        .ease(d3.easeSinOut).attr(\"opacity\", 1);\r\n                    \/\/ Les graduations arrivent en dernier, sur des p\u00e9tales d\u00e9j\u00e0\r\n                    \/\/ pos\u00e9s : elles chiffrent une forme, elles ne l'accompagnent\r\n                    \/\/ pas.\r\n                    if (pFin) roseFade(1, 140, 560);\r\n                });\r\n        }\r\n\r\n        function nodePaint(d){ return \"url(#fis-sector-\" + d.lid + \")\"; }\r\n        function highlight(d){\r\n            if (g.classed(\"is-moving\")) return;\r\n            pathSel.classed(\"is-muted\", function(n){ return !!d && n !== d && visible(n.current); })\r\n                .classed(\"is-hovered\", function(n){ return n === d; });\r\n            \/\/ Le libell\u00e9 s'efface AVEC son arc. Il vit dans un autre groupe et\r\n            \/\/ gardait donc sa pleine opacit\u00e9 sur un arc pass\u00e9 \u00e0 38 % : une\r\n            \/\/ encre claire y devenait illisible, et une encre fonc\u00e9e y flottait\r\n            \/\/ toute seule. Les deux s'\u00e9teignent maintenant ensemble.\r\n            if (labelSel) labelSel.attr(\"opacity\", function(n){\r\n                if (!labelFits(n, n.current)) return 0;\r\n                return (!!d && n !== d && visible(n.current)) ? 0.55 : 1;\r\n            });\r\n            document.querySelectorAll(\"#explore-list .explore-item\").forEach(function(el){\r\n                el.classList.toggle(\"is-hovered\", !!d && +el.dataset.node === d.lid);\r\n            });\r\n        }\r\n        function renderExplorer(){\r\n            var el = document.getElementById(\"explore-list\");\r\n            el.hidden = isScoped();\r\n            if (isScoped()) return;\r\n            var kids = focus.children || [];\r\n            el.innerHTML = kids.map(function(d){\r\n                var count = d.data.projets ? new Set(d.data.projets).size : 1;\r\n                return '<button class=\"explore-item\" type=\"button\" data-node=\"' + d.lid + '\" style=\"--swatch:' + nodeFill(d) + '\">'\r\n                    + '<span class=\"explore-swatch\"><\\\/span><span class=\"explore-name\">' + escapeHTML(labelText(d))\r\n                    + '<\\\/span><span class=\"explore-count\">' + count + '<\\\/span><span class=\"explore-arrow\" aria-hidden=\"true\">\u2197<\\\/span><\\\/button>';\r\n            }).join(\"\");\r\n            el.querySelectorAll(\"button\").forEach(function(btn, i){\r\n                btn.addEventListener(\"click\", function(e){ onClick(e, kids[i]); });\r\n                btn.addEventListener(\"mouseenter\", function(){ highlight(kids[i]); });\r\n                btn.addEventListener(\"mouseleave\", function(){ highlight(null); });\r\n                btn.addEventListener(\"focus\", function(){ highlight(kids[i]); });\r\n                btn.addEventListener(\"blur\", function(){ highlight(null); });\r\n            });\r\n        }\r\n        function syncArcAccessibility(){\r\n            centerGroup.select(\"circle\").attr(\"tabindex\", isScoped() ? -1 : 0);\r\n            pathSel.attr(\"tabindex\", function(d){ return !isScoped() && visible(d.current) ? 0 : -1; })\r\n                .attr(\"aria-hidden\", function(d){ return isScoped() || !visible(d.current) ? \"true\" : null; })\r\n                .attr(\"aria-label\", function(d){ return labelText(d) + (d.data.projet ? \", ouvrir la fiche\" : \", explorer\"); });\r\n        }\r\n\r\n\r\n        \/\/ ============ 5. RENDU ============\r\n        var pathSel, labelSel, centerLabel, hasEntered = false;\r\n\r\n        function render(){\r\n            computeSize();\r\n            root = buildRoot();\r\n            focus = root;\r\n            \/\/ L'\u00e9chelle des p\u00e9tales : le plus gros secteur touche le bord du\r\n            \/\/ disque, tout le reste s'y rapporte.\r\n            roseMesurer();\r\n            root.each(function(d){ d.current = { x0: d.x0, x1: d.x1, y0: d.y0, y1: d.y1, k: roseK(d, root) }; });\r\n\r\n            var nodes = root.descendants().filter(function(d){ return d.depth > 0; });\r\n            \/\/ Identifiant stable par noeud : c'est la cible des textPath des\r\n            \/\/ libell\u00e9s tangentiels, elle doit survivre aux re-rendus.\r\n            nodes.forEach(function(d, i){ d.lid = i; });\r\n\r\n            svg.interrupt(\"zoom\");\r\n            g.classed(\"is-moving\", false);\r\n            arcsGroup.selectAll(\"path\").interrupt().remove();\r\n            labelsGroup.selectAll(\"text\").remove();\r\n            defs.selectAll(\"path\").remove();\r\n            defs.selectAll(\"linearGradient\").remove();\r\n            nodes.forEach(function(d){\r\n                var gradient = defs.append(\"linearGradient\").attr(\"id\", \"fis-sector-\" + d.lid)\r\n                    .attr(\"x1\", \"0%\").attr(\"y1\", \"0%\").attr(\"x2\", \"85%\").attr(\"y2\", \"100%\");\r\n                gradient.append(\"stop\").attr(\"offset\", \"0%\").attr(\"stop-color\", mix(nodeFill(d), \"#ffffff\", .18));\r\n                gradient.append(\"stop\").attr(\"offset\", \"100%\").attr(\"stop-color\", nodeFill(d));\r\n            });\r\n\r\n            pathSel = arcsGroup.selectAll(\"path\")\r\n                .data(nodes)\r\n                .join(\"path\")\r\n                .attr(\"class\", function(d){\r\n                    return \"arc\" + (d.data.projet && d.data.projet.fisNR ? \" is-nr\" : \"\");\r\n                })\r\n                .attr(\"fill\", nodePaint)\r\n                .attr(\"fill-opacity\", function(d){ return visible(d.current) ? 1 : 0; })\r\n                \/\/ Le contour blanc des arcs vient de la CSS : sans cette ligne\r\n                \/\/ il reste peint sur les arcs \u00e0 fill-opacity 0 (l'anneau des\r\n                \/\/ porteurs, hors champ \u00e0 la racine), et dessine une couronne\r\n                \/\/ fant\u00f4me translucide tout autour de la roue.\r\n                .attr(\"stroke-opacity\", function(d){ return visible(d.current) ? 1 : 0; })\r\n                .attr(\"pointer-events\", function(d){ return visible(d.current) ? \"auto\" : \"none\"; })\r\n                .attr(\"d\", function(d){ return arc(d.current); })\r\n                .attr(\"role\", \"button\")\r\n                .on(\"mouseenter\", function(e,d){ highlight(d); })\r\n                .on(\"focus\", function(e,d){ highlight(d); })\r\n                .on(\"blur\", function(){ highlight(null); })\r\n                .on(\"keydown\", function(e,d){ if (e.key === \"Enter\" || e.key === \" \"){ e.preventDefault(); onClick(e,d); } })\r\n                .on(\"mousemove\", onHover)\r\n                .on(\"mouseleave\", function(){ hideTooltip(); highlight(null); })\r\n                .on(\"click\", onClick);\r\n\r\n            pathSel.append(\"title\");\r\n            updateTitles();\r\n\r\n            labelSel = labelsGroup.selectAll(\"text\")\r\n                .data(nodes)\r\n                .join(\"text\")\r\n                .attr(\"class\", \"label\")\r\n                .attr(\"dy\", \"0.32em\")\r\n                \/\/ La taille est pos\u00e9e par paintLabel, qui mesure le rendu r\u00e9el.\r\n                .attr(\"text-anchor\", \"middle\")\r\n                \/\/ paintLabel AVANT labelFits : c'est lui qui mesure le rendu\r\n                \/\/ r\u00e9el et pose `d.tient`, dont labelFits a besoin.\r\n                .call(paintLabel)\r\n                .attr(\"opacity\", function(d){ return labelFits(d, d.current) ? 1 : 0; })\r\n                .attr(\"transform\", function(d){ return labelTransform(d.current, d); });\r\n\r\n            renderCenter();\r\n            drawRoseGrid();\r\n            renderCrumbs();\r\n            renderLegend();\r\n            renderKPI();\r\n            updateSubtitle();\r\n            setViewMode();\r\n            syncArcAccessibility();\r\n            renderExplorer();\r\n            revealPage();\r\n            document.getElementById(\"data-source\").textContent = window.__reuRoueSource === \"google-sheet\"\r\n                ? \"Corpus 2025 \u00b7 Donn\u00e9es synchronis\u00e9es\" : \"Corpus 2025 \u00b7 Donn\u00e9es de secours\";\r\n\r\n            \/\/ computeSize() (tout en haut de cette fonction) mesure la l\u00e9gende\r\n            \/\/ AVANT que renderLegend() ne la remplisse : au premier rendu, ou\r\n            \/\/ d\u00e8s que son contenu change de hauteur (nombre de th\u00e9matiques,\r\n            \/\/ bandeau plein \u00e9cran\u2026), le rayon calcul\u00e9 repose sur une l\u00e9gende\r\n            \/\/ pas encore \u00e0 sa taille r\u00e9elle. Un second passage, une fois le\r\n            \/\/ DOM \u00e0 jour, recale le disque sur la vraie mesure.\r\n            requestAnimationFrame(function(){\r\n                computeSize(); redrawStatic();\r\n                if (!hasEntered){\r\n                    hasEntered = true;\r\n                    pathSel.filter(function(d){ return visible(d.current); })\r\n                        .attr(\"fill-opacity\", 0).attr(\"stroke-opacity\", 0)\r\n                        .transition(\"intro\").delay(function(d,i){ return motion(i * 38); }).duration(motion(850)).ease(d3.easeCubicOut)\r\n                        .attr(\"fill-opacity\", 1).attr(\"stroke-opacity\", 1)\r\n                        .attrTween(\"d\", function(d){ return function(t){\r\n                            return arc({x0:d.current.x0, x1:d.current.x1, y0:d.current.y0, y1:d.current.y0 + (d.current.y1-d.current.y0)*t, k:d.current.k});\r\n                        }; });\r\n                    labelsGroup.attr(\"opacity\", 0).transition(\"intro\").delay(motion(400)).duration(motion(700)).attr(\"opacity\", 1);\r\n                    centerGroup.attr(\"opacity\", 0).transition(\"intro\").duration(motion(900)).attr(\"opacity\", 1);\r\n                }\r\n            });\r\n        }\r\n\r\n        \/\/ \u00c9quivalent texte de la roue, lu par les lecteurs d'\u00e9cran et affich\u00e9\r\n        \/\/ en infobulle native : chaque arc annonce son \u00e9tat pour l'onglet actif.\r\n        function updateTitles(){\r\n            pathSel.select(\"title\").text(function(d){\r\n                if (d.data.isTheme){\r\n                    var n = d.data.projets.filter(function(p){ return documented(p); }).length;\r\n                    return d.data.name + \" : \" + d.data.projets.length + \" projets, \"\r\n                        + n + \" renseignent au moins une dimension d'impact\";\r\n                }\r\n                if (d.data.isSousTheme){\r\n                    var nd = d.data.projets.filter(function(pp){ return documented(pp); }).length;\r\n                    return d.data.name + \" (\" + d.data.themeLabel + \") : \"\r\n                        + d.data.projets.length + \" porteur\" + (d.data.projets.length > 1 ? \"s\" : \"\")\r\n                        + \", \" + nd + \" renseignent au moins une dimension d'impact\";\r\n                }\r\n                var p = d.data.projet;\r\n                return p.porteur + \" : \"\r\n                    + (p.fisNR ? \"FIS non renseign\u00e9\" : fmtEuro(p.fisNum)) + \", impact FIS \"\r\n                    + p.empreinte + \" \/ \" + FLORA_LAYERS.length;\r\n            });\r\n        }\r\n\r\n        \/\/ Plancher de lisibilit\u00e9, et il est haut : sous 10,5 px, un nom blanc\r\n        \/\/ sur couleur ne se lit plus, il se devine. Comme le corps est commun \u00e0\r\n        \/\/ tout un anneau, laisser passer un libell\u00e9 \u00e0 9 px y ramenait TOUS les\r\n        \/\/ autres : la couronne enti\u00e8re devenait illisible pour un seul nom\r\n        \/\/ interminable. On pr\u00e9f\u00e8re donc taire celui-l\u00e0, dont le nom complet\r\n        \/\/ reste donn\u00e9 par le survol et par la fiche, et \u00e9crire les autres \u00e0\r\n        \/\/ pleine taille. Rien n'est jamais abr\u00e9g\u00e9 : c'est la d\u00e9coupe en lignes,\r\n        \/\/ et non la loupe, qui fait tenir les intitul\u00e9s.\r\n        var LABEL_MAX = 13, LABEL_MIN = 10;   \/\/ LABEL_MAX est repos\u00e9 par computeSize\r\n        var LABEL_LH = 1.06;          \/\/ interligne, en em\r\n        var LABEL_LIGNES_MAX = 4;     \/\/ au-del\u00e0, un libell\u00e9 d'arc devient un paragraphe\r\n        var LABEL_JEU_ARC = 12;       \/\/ respiration aux deux bouts d'une ligne courbe\r\n        var LABEL_JEU_PILE = 6;       \/\/ idem, de part et d'autre d'une pile\r\n        \/\/ Marges d'un bloc droit dans sa case, distinctes selon le bord.\r\n        \/\/ Sur les C\u00d4T\u00c9S, la marge se paie deux fois : deux voisins qui\r\n        \/\/ remplissent chacun sa case jusqu'au trait se retrouvent coll\u00e9s, et\r\n        \/\/ l'on ne sait plus lequel nomme quoi. Mais elle se paie aussi en\r\n        \/\/ corps, et cher : un secteur de 36 degr\u00e9s perd trois points de police\r\n        \/\/ par degr\u00e9 retranch\u00e9. Au-del\u00e0 d'une dizaine de pixels, l'anneau bascule\r\n        \/\/ en radial et tous les noms se couchent, ce qui est pire que deux\r\n        \/\/ voisins un peu proches. Les bords INT\u00c9RIEUR et EXT\u00c9RIEUR, eux, ne\r\n        \/\/ touchent aucun texte : une marge \u00e9troite y suffit.\r\n        var LABEL_JEU_COTE = 9;\r\n        var LABEL_JEU_BORD = 6;\r\n\r\n        \/\/ L'orientation est une propri\u00e9t\u00e9 de l'ANNEAU, jamais de l'arc : deux\r\n        \/\/ orientations dans une m\u00eame couronne rendent la lecture p\u00e9nible. Mais\r\n        \/\/ elle n'est plus d\u00e9cid\u00e9e d'avance. Selon le niveau de zoom, c'est\r\n        \/\/ tant\u00f4t le d\u00e9velopp\u00e9 de l'arc et tant\u00f4t l'\u00e9paisseur de l'anneau qui\r\n        \/\/ offre le plus de place, et se tromper de sens co\u00fbtait plusieurs points\r\n        \/\/ de corps. paintLabel essaie donc les deux pour toute la couronne et\r\n        \/\/ retient celle qui autorise la plus grosse police ; ORIENT garde ce\r\n        \/\/ choix entre deux mises en page, pour ceux qui ont besoin de le\r\n        \/\/ conna\u00eetre (placement, animation).\r\n        \/\/ Trois sens de lecture, dans l'ordre de pr\u00e9f\u00e9rence \u00e0 \u00e9galit\u00e9 :\r\n        \/\/ \u00ab droit \u00bb \u00e9crit \u00e0 l'horizontale, \u00ab tangent \u00bb le long de l'arc,\r\n        \/\/ \u00ab radial \u00bb dress\u00e9 dans l'\u00e9paisseur de l'anneau.\r\n        var ORIENTS = [\"droit\", \"tangent\", \"radial\"];\r\n        var ORIENT = {};\r\n        function labelOrient(d){\r\n            return ORIENT[d.depth] || (d.depth === focus.depth + 1 ? \"droit\" : \"radial\");\r\n        }\r\n\r\n        \/\/ Les deux ressources d'une case, selon le sens de lecture. En\r\n        \/\/ tangentiel la ligne suit l'arc et la pile s'\u00e9paissit vers le bord ;\r\n        \/\/ en radial c'est exactement l'inverse.\r\n        function placeLigne(box, orient, r){\r\n            if (orient === \"tangent\") return (box.x1 - box.x0) * r - LABEL_JEU_ARC;\r\n            return labelEpaisseur(box);\r\n        }\r\n        function placePile(box, orient){\r\n            if (orient === \"tangent\") return labelEpaisseur(box);\r\n            return (box.x1 - box.x0) * labelMidR(box) - LABEL_JEU_PILE;\r\n        }\r\n        \/\/ Rayon de chaque ligne d'une pile tangentielle. La pile est CENTR\u00c9E\r\n        \/\/ dans l'\u00e9paisseur de l'anneau : une version ant\u00e9rieure l'adossait au\r\n        \/\/ bord ext\u00e9rieur pour gagner du d\u00e9velopp\u00e9, mais le texte semblait alors\r\n        \/\/ appartenir \u00e0 l'anneau voisin et laissait sous lui une large bande\r\n        \/\/ vide. Dans la moiti\u00e9 basse du disque le texte est retourn\u00e9 : la\r\n        \/\/ premi\u00e8re ligne s'y empile vers le centre, ailleurs vers le bord. Dans\r\n        \/\/ les deux cas elle se lit en haut de la pile.\r\n        function rayonsPile(box, n, taille){\r\n            var c = labelMidR(box), sens = labelFlip(box) ? -1 : 1, rs = [];\r\n            for (var i = 0; i < n; i++) rs.push(c + sens * ((n - 1) \/ 2 - i) * LABEL_LH * taille);\r\n            return rs;\r\n        }\r\n\r\n        \/\/ Une case qui occupe tout le tour est un cas \u00e0 part : ses deux c\u00f4t\u00e9s\r\n        \/\/ se confondent. Son texte se pose en haut du cercle, \u00e0 l'endroit.\r\n        function labelTour(box){ return (box.x1 - box.x0) >= 2 * Math.PI - 0.001; }\r\n\r\n        \/\/ Dans la moiti\u00e9 basse du disque, un arc parcouru dans le sens des\r\n        \/\/ angles croissants porterait son texte la t\u00eate en bas : on le\r\n        \/\/ retourne. Le sens d\u00e9cide aussi de quel c\u00f4t\u00e9 empiler les lignes.\r\n        function labelFlip(box){\r\n            if (labelTour(box)) return false;\r\n            var am = (box.x0 + box.x1) \/ 2;\r\n            return am > Math.PI \/ 2 && am < Math.PI * 1.5;\r\n        }\r\n\r\n        \/\/ Chemin d'appui d'une ligne tangentielle : l'arc de rayon r, born\u00e9\r\n        \/\/ par les deux c\u00f4t\u00e9s de la case.\r\n        function labelArcPath(box, r){\r\n            var a0 = box.x0, a1 = box.x1;\r\n            var pt = function(a){ return [(r * Math.sin(a)).toFixed(2), (-r * Math.cos(a)).toFixed(2)]; };\r\n            var arcVers = function(p, grand, sens){\r\n                return \"A\" + r.toFixed(2) + \",\" + r.toFixed(2) + \" 0 \" + grand + \" \" + sens\r\n                     + \" \" + p[0] + \",\" + p[1];\r\n            };\r\n            \/\/ Tour complet : un arc dont le d\u00e9part et l'arriv\u00e9e se confondent\r\n            \/\/ d\u00e9g\u00e9n\u00e8re en un point, et le texte n'a plus de chemin o\u00f9 s'\u00e9crire\r\n            \/\/ \u2014 c'est ce qui rendait muette une sous-th\u00e9matique \u00e0 porteur\r\n            \/\/ unique. On trace le cercle entier en deux demi-tours, en partant\r\n            \/\/ du BAS pour que son milieu, o\u00f9 le texte est centr\u00e9, tombe en\r\n            \/\/ haut et se lise \u00e0 l'endroit.\r\n            if (labelTour(box)){\r\n                return \"M\" + pt(Math.PI).join(\",\")\r\n                     + arcVers(pt(2 * Math.PI), 0, 1)\r\n                     + arcVers(pt(3 * Math.PI), 0, 1);\r\n            }\r\n            var flip = labelFlip(box);\r\n            var grand = (a1 - a0) > Math.PI ? 1 : 0;\r\n            var d0 = flip ? pt(a1) : pt(a0), d1 = flip ? pt(a0) : pt(a1);\r\n            return \"M\" + d0.join(\",\") + arcVers(d1, grand, flip ? 0 : 1);\r\n        }\r\n\r\n        \/\/ ---- Texte droit --------------------------------------------------\r\n        \/\/ La troisi\u00e8me orientation, et la seule qui se lise sans pencher la\r\n        \/\/ t\u00eate : le libell\u00e9 s'\u00e9crit \u00e0 l'horizontale, centr\u00e9 dans sa case. Elle\r\n        \/\/ n'a de sens que si le bloc tient VRAIMENT dans le secteur, or un\r\n        \/\/ secteur d'anneau n'est pas un rectangle. D'o\u00f9 un test men\u00e9 sur tout\r\n        \/\/ le contour du bloc et pas sur ses seuls coins : le point du bloc le\r\n        \/\/ plus proche du centre du disque tombe presque toujours au milieu d'un\r\n        \/\/ c\u00f4t\u00e9, jamais dans un angle.\r\n\r\n        \/\/ O\u00f9 se pose un libell\u00e9 droit : le centre de gravit\u00e9 de la case. Pour\r\n        \/\/ un tour complet, dont les deux c\u00f4t\u00e9s se confondent, on le pose en haut\r\n        \/\/ de l'anneau, l\u00e0 o\u00f9 le regard va d'abord.\r\n        function centreCase(box){\r\n            var a = labelTour(box) ? 0 : (box.x0 + box.x1) \/ 2;\r\n            var r = labelMidR(box);\r\n            return [r * Math.sin(a), -r * Math.cos(a)];\r\n        }\r\n\r\n        \/\/ (x, y) tombe-t-il dans la case, marges gard\u00e9es sur chaque bord ?\r\n        function dansCase(box, x, y){\r\n            var r0 = rIn(box) + LABEL_JEU_BORD, r1 = rOut(box) - LABEL_JEU_BORD;\r\n            var r = Math.sqrt(x * x + y * y);\r\n            if (r < r0) return false;\r\n            if (r > r1) return false;\r\n            if (labelTour(box)) return true;\r\n            \/\/ La marge de c\u00f4t\u00e9, exprim\u00e9e en angle au rayon o\u00f9 l'on se trouve.\r\n            var jeu = LABEL_JEU_COTE \/ Math.max(r, 1);\r\n            var a0 = box.x0 + jeu, a1 = box.x1 - jeu;\r\n            if (a1 <= a0) return false;\r\n            var a = Math.atan2(x, -y);          \/\/ 0 en haut, sens horaire\r\n            while (a < a0 - 1e-9) a += 2 * Math.PI;\r\n            return a <= a1 + 1e-9;\r\n        }\r\n\r\n        \/\/ Un bloc de largeur l et de hauteur h, centr\u00e9 sur centreCase, tient-il ?\r\n        \/\/ Cinq points par c\u00f4t\u00e9 suffisent : \u00e0 cette \u00e9chelle le rayon et l'angle\r\n        \/\/ varient lentement le long d'une ar\u00eate.\r\n        function blocTient(box, l, h){\r\n            var c = centreCase(box), hw = l \/ 2, hh = h \/ 2, i, k;\r\n            for (i = 0; i <= 4; i++){\r\n                k = -hw + (l * i) \/ 4;\r\n                if (!dansCase(box, c[0] + k, c[1] - hh)) return false;\r\n                if (!dansCase(box, c[0] + k, c[1] + hh)) return false;\r\n            }\r\n            for (i = 1; i <= 3; i++){\r\n                k = -hh + (h * i) \/ 4;\r\n                if (!dansCase(box, c[0] - hw, c[1] + k)) return false;\r\n                if (!dansCase(box, c[0] + hw, c[1] + k)) return false;\r\n            }\r\n            return true;\r\n        }\r\n\r\n        \/\/ Plus gros corps auquel ce bloc tient encore. Le rapport largeur sur\r\n        \/\/ hauteur du bloc ne d\u00e9pend pas du corps : une dichotomie de douze pas\r\n        \/\/ cerne le point de bascule bien en de\u00e7\u00e0 du dixi\u00e8me de pixel.\r\n        function tailleDroite(box, larg, n){\r\n            var haut = pileEm(n) * LABEL_MAX;\r\n            if (blocTient(box, larg, haut)) return LABEL_MAX;\r\n            var bas = 0, plafond = LABEL_MAX, i, m;\r\n            for (i = 0; i < 12; i++){\r\n                m = (bas + plafond) \/ 2;\r\n                if (blocTient(box, larg * m \/ LABEL_MAX, pileEm(n) * m)) bas = m;\r\n                else plafond = m;\r\n            }\r\n            return bas;\r\n        }\r\n\r\n        \/\/ ---- Mesure -------------------------------------------------------\r\n        \/\/ Toute la mise en page repose sur des largeurs MESUR\u00c9ES, jamais\r\n        \/\/ estim\u00e9es : supposer 0,56 em par caract\u00e8re coupait trop t\u00f4t les mots\r\n        \/\/ \u00e9troits et laissait d\u00e9border les larges. Mais mesurer co\u00fbte une mise\r\n        \/\/ en page du navigateur, et il faut comparer des dizaines de d\u00e9coupes\r\n        \/\/ dans deux orientations. On \u00e9crit donc l'intitul\u00e9 entier UNE fois, puis\r\n        \/\/ getSubStringLength donne la largeur de n'importe quel morceau contigu\r\n        \/\/ sans rien r\u00e9\u00e9crire : le reste n'est plus que du calcul.\r\n        function mesurerMots(el, nom){\r\n            var t = d3.select(el);\r\n            t.selectAll(\"tspan\").remove();\r\n            t.selectAll(\"textPath\").remove();\r\n            t.attr(\"font-size\", LABEL_MAX + \"px\");\r\n            var noeud = t.append(\"tspan\").attr(\"x\", 0).text(nom).node();\r\n            var bornes = [], re = \/\\S+\/g, m;\r\n            while ((m = re.exec(nom))) bornes.push({ d: m.index, f: m.index + m[0].length });\r\n            if (!bornes.length) bornes.push({ d: 0, f: nom.length });\r\n            var total = noeud.getComputedTextLength();\r\n            return {\r\n                mots: bornes.map(function(b){ return nom.slice(b.d, b.f); }),\r\n                n: bornes.length,\r\n                \/\/ Largeur des mots a..b r\u00e9unis, \u00e0 LABEL_MAX.\r\n                largeur: function(a, b){\r\n                    if (a > b) return 0;\r\n                    if (a === 0 && b === bornes.length - 1) return total;\r\n                    try { return noeud.getSubStringLength(bornes[a].d, bornes[b].f - bornes[a].d); }\r\n                    catch (e){ return total; }\r\n                }\r\n            };\r\n        }\r\n\r\n        \/\/ D\u00e9coupe en n lignes contigu\u00ebs en \u00e9galisant les LARGEURS mesur\u00e9es, et\r\n        \/\/ non les nombres de caract\u00e8res : couper au premier espace venu laissait\r\n        \/\/ \u00ab D\u00e9cloisonnement \/ sant\u00e9 \u00bb avec une ligne deux fois plus longue que\r\n        \/\/ l'autre, donc une police inutilement r\u00e9duite. Un intitul\u00e9 d'arc tient\r\n        \/\/ en quelques mots : essayer toutes les d\u00e9coupes co\u00fbte moins cher qu'une\r\n        \/\/ heuristique. Renvoie null s'il n'y a pas assez de mots.\r\n        function decouper(mesure, n){\r\n            if (n > mesure.n) return null;\r\n            if (n === 1) return [[0, mesure.n - 1]];\r\n            var best = null, coupes = [];\r\n            (function choisir(debut, reste){\r\n                if (reste === 0){\r\n                    var groupes = [], prev = 0, i, pire = 0;\r\n                    for (i = 0; i < coupes.length; i++){ groupes.push([prev, coupes[i] - 1]); prev = coupes[i]; }\r\n                    groupes.push([prev, mesure.n - 1]);\r\n                    for (i = 0; i < groupes.length; i++){\r\n                        pire = Math.max(pire, mesure.largeur(groupes[i][0], groupes[i][1]));\r\n                    }\r\n                    if (!best || pire < best.p) best = { p: pire, g: groupes };\r\n                    return;\r\n                }\r\n                for (var k = debut; k <= mesure.n - reste; k++){\r\n                    coupes.push(k); choisir(k + 1, reste - 1); coupes.pop();\r\n                }\r\n            })(1, n - 1);\r\n            return best ? best.g : null;\r\n        }\r\n\r\n        \/\/ Taille \u00e0 laquelle ce d\u00e9coupage tiendrait dans cette case, sans jamais\r\n        \/\/ d\u00e9passer LABEL_MAX. Pur calcul : les largeurs viennent de mesurerMots.\r\n        function taillePour(box, orient, groupes, mesure){\r\n            var n = groupes.length, i;\r\n            var W = groupes.map(function(g){ return mesure.largeur(g[0], g[1]); });\r\n            \/\/ Droit : ni une longueur d'arc ni une \u00e9paisseur ne d\u00e9cide, mais la\r\n            \/\/ forme enti\u00e8re du secteur. On va donc chercher le corps directement.\r\n            if (orient === \"droit\"){\r\n                var large = 0;\r\n                for (i = 0; i < n; i++) large = Math.max(large, W[i]);\r\n                return large > 0.5 ? tailleDroite(box, large, n) : LABEL_MAX;\r\n            }\r\n            var plafondPile = placePile(box, orient) \/ pileEm(n);\r\n            if (orient !== \"tangent\"){\r\n                var pire = 0;\r\n                for (i = 0; i < n; i++) pire = Math.max(pire, W[i]);\r\n                var t = pire > 0.5 ? LABEL_MAX * placeLigne(box, orient, 0) \/ pire : LABEL_MAX;\r\n                return Math.max(0, Math.min(LABEL_MAX, t, plafondPile));\r\n            }\r\n            \/\/ Tangentiel : la place d'une ligne d\u00e9pend du rayon o\u00f9 elle se pose,\r\n            \/\/ qui d\u00e9pend lui-m\u00eame de la taille du texte. Trois passes font\r\n            \/\/ converger ce point fixe largement en de\u00e7\u00e0 du dixi\u00e8me de pixel.\r\n            var taille = LABEL_MAX, passe, rs, cap;\r\n            for (passe = 0; passe < 3; passe++){\r\n                rs = rayonsPile(box, n, taille);\r\n                cap = LABEL_MAX;\r\n                for (i = 0; i < n; i++){\r\n                    if (W[i] > 0.5) cap = Math.min(cap, LABEL_MAX * placeLigne(box, orient, rs[i]) \/ W[i]);\r\n                }\r\n                taille = Math.max(0.5, cap);\r\n            }\r\n            return Math.max(0, Math.min(LABEL_MAX, taille, plafondPile));\r\n        }\r\n\r\n        \/\/ Meilleure mise en page d'un intitul\u00e9 dans une orientation : le moins\r\n        \/\/ de lignes possible pour la plus grosse police possible.\r\n        function meilleurPlan(box, orient, mesure){\r\n            var best = null;\r\n            for (var n = 1; n <= LABEL_LIGNES_MAX; n++){\r\n                \/\/ Le pr\u00e9-filtre ne vaut que pour les orientations dont la place\r\n                \/\/ se r\u00e9sume \u00e0 une seule mesure ; en droit, c'est tailleDroite\r\n                \/\/ qui tranche.\r\n                if (orient !== \"droit\" && pileEm(n) * LABEL_MIN > placePile(box, orient)) break;\r\n                var g = decouper(mesure, n);\r\n                if (!g) break;\r\n                var t = taillePour(box, orient, g, mesure);\r\n                \/\/ \u00c0 taille \u00e9gale, moins de lignes : un intitul\u00e9 court n'a aucune\r\n                \/\/ raison d'\u00eatre coup\u00e9 en deux.\r\n                if (!best || t > best.taille + 0.05) best = { taille: t, groupes: g };\r\n                if (best.taille >= LABEL_MAX - 0.01) break;\r\n            }\r\n            return best;\r\n        }\r\n\r\n        \/\/ \u00c9crit les lignes dans la case, \u00e0 la taille donn\u00e9e.\r\n        function ecrire(el, d, box, orient, groupes, mesure, taille){\r\n            var t = d3.select(el);\r\n            var lignes = groupes.map(function(g){ return mesure.mots.slice(g[0], g[1] + 1).join(\" \"); });\r\n            t.attr(\"font-size\", taille.toFixed(2) + \"px\");\r\n            \/\/ Le halo suit le corps du texte. Fig\u00e9 \u00e0 2,4 px, il cernait un\r\n            \/\/ libell\u00e9 de 13 px d'un liser\u00e9 grav\u00e9 et se perdait sous un libell\u00e9\r\n            \/\/ de trente : c'est une \u00e9paisseur RELATIVE qu'il faut, pas absolue.\r\n            t.style(\"stroke-width\", (taille * 0.12).toFixed(2) + \"px\");\r\n            t.selectAll(\"tspan\").remove();\r\n            t.selectAll(\"textPath\").remove();\r\n            if (orient === \"tangent\"){\r\n                var rs = rayonsPile(box, lignes.length, taille);\r\n                lignes.forEach(function(l, i){\r\n                    \/\/ Un chemin d'appui par ligne ET par case : son identifiant\r\n                    \/\/ est d\u00e9riv\u00e9 du noeud, pas d'un compteur, pour survivre aux\r\n                    \/\/ re-rendus.\r\n                    var pid = \"reu-lp-\" + d.lid + \"-\" + i;\r\n                    var chemin = defs.select(\"#\" + pid);\r\n                    if (chemin.empty()) chemin = defs.append(\"path\").attr(\"id\", pid);\r\n                    chemin.attr(\"d\", labelArcPath(box, rs[i]));\r\n                    t.append(\"textPath\")\r\n                        .attr(\"startOffset\", \"50%\")\r\n                        .attr(\"href\", \"#\" + pid)\r\n                        .attr(\"xlink:href\", \"#\" + pid)\r\n                        .text(l);\r\n                });\r\n                return;\r\n            }\r\n            lignes.forEach(function(l, i){\r\n                t.append(\"tspan\")\r\n                    .attr(\"x\", 0)\r\n                    \/\/ Le texte est ancr\u00e9 sur sa LIGNE DE BASE, qui passe sous\r\n                    \/\/ les capitales : une pile pos\u00e9e \u00e0 dy nul para\u00eet appuy\u00e9e\r\n                    \/\/ vers le haut de sa case. Le tiers de cadratin la redresse\r\n                    \/\/ optiquement au milieu.\r\n                    .attr(\"dy\", i === 0\r\n                        ? (0.33 - (lignes.length - 1) * LABEL_LH \/ 2).toFixed(3) + \"em\"\r\n                        : LABEL_LH + \"em\")\r\n                    .text(l);\r\n            });\r\n        }\r\n\r\n        function viderLabel(el, d){\r\n            var t = d3.select(el);\r\n            t.selectAll(\"tspan\").remove();\r\n            t.selectAll(\"textPath\").remove();\r\n            d.tient = false;\r\n        }\r\n\r\n        \/\/ ---- Mise en page d'un anneau entier ------------------------------\r\n        \/\/ En trois temps.\r\n        \/\/\r\n        \/\/ 1. Chaque intitul\u00e9 est mesur\u00e9 une fois ; on en d\u00e9duit par le calcul ce\r\n        \/\/    que donnerait chaque d\u00e9coupe, dans les deux orientations.\r\n        \/\/ 2. Par ANNEAU : on retient l'orientation qui permet la plus grosse\r\n        \/\/    police, puis la plus PETITE des tailles de l'anneau. Tous les\r\n        \/\/    libell\u00e9s d'une m\u00eame couronne s'\u00e9crivent donc au m\u00eame corps et dans\r\n        \/\/    le m\u00eame sens. Les laisser chacun \u00e0 son optimum donnait une couronne\r\n        \/\/    o\u00f9 un nom court s'affichait \u00e0 13 px \u00e0 c\u00f4t\u00e9 d'un nom long \u00e0 9 :\r\n        \/\/    illisible comme ensemble, m\u00eame si chaque libell\u00e9, pris seul,\r\n        \/\/    tenait dans sa case.\r\n        \/\/ 3. On \u00e9crit, centr\u00e9 dans l'\u00e9paisseur de l'anneau.\r\n        \/\/\r\n        \/\/ Et on n'abr\u00e8ge JAMAIS : un intitul\u00e9 tronqu\u00e9 par des points de\r\n        \/\/ suspension ne dit plus rien. Un libell\u00e9 qui ne peut pas atteindre le\r\n        \/\/ plancher de lisibilit\u00e9 est tu, et il ne tire pas son anneau vers le\r\n        \/\/ bas ; son identit\u00e9 passe par le survol et par la fiche.\r\n        function paintLabel(sel, versCible){\r\n            var fiches = [], anneaux = {};\r\n            sel.each(function(d){\r\n                var box = (versCible && d.target) ? d.target : (d.current || d);\r\n                if (!labelUtile(d, box)){ viderLabel(this, d); return; }\r\n                \/\/ Encre et halo sont pos\u00e9s ici, pas au moment du join : un\r\n                \/\/ libell\u00e9 change d'anneau au zoom.\r\n                d3.select(this)\r\n                    .style(\"fill\", labelInk(nodeFill(d)))\r\n                    .style(\"stroke\", labelHalo(nodeFill(d)))\r\n                    .style(\"font-weight\", 650);\r\n                var mesure = mesurerMots(this, labelText(d));\r\n                var fiche = { el: this, d: d, box: box, mesure: mesure };\r\n                var a = anneaux[d.depth] || (anneaux[d.depth] = { nb: {} });\r\n                ORIENTS.forEach(function(o){\r\n                    var p = fiche[o] = meilleurPlan(box, o, mesure);\r\n                    if (a[o] == null){ a[o] = LABEL_MAX; a.nb[o] = 0; }\r\n                    if (p && p.taille >= LABEL_MIN){\r\n                        a[o] = Math.min(a[o], p.taille);\r\n                        a.nb[o]++;\r\n                    }\r\n                });\r\n                fiches.push(fiche);\r\n            });\r\n\r\n            Object.keys(anneaux).forEach(function(k){\r\n                var a = anneaux[k];\r\n                \/\/ Le sens de lecture est une propri\u00e9t\u00e9 de l'ANNEAU, jamais d'un\r\n                \/\/ arc : deux orientations dans une m\u00eame couronne rendent la\r\n                \/\/ lecture p\u00e9nible. Il se d\u00e9cide en trois temps.\r\n                \/\/\r\n                \/\/ 1. On garde les orientations qui NOMMENT LE PLUS DE CASES. Un\r\n                \/\/    anneau qui nomme cinq arcs renseigne mieux qu'un anneau qui\r\n                \/\/    en nomme un, m\u00eame en plus gros.\r\n                \/\/ 2. Parmi elles, le DROIT l'emporte tant qu'il reste dans les\r\n                \/\/    trois quarts du meilleur corps. Un nom \u00e9crit \u00e0\r\n                \/\/    l'horizontale se lit d'un coup d'oeil ; le m\u00eame nom couch\u00e9\r\n                \/\/    le long d'un arc ou dress\u00e9 dans l'\u00e9paisseur se d\u00e9chiffre,\r\n                \/\/    f\u00fbt-il plus gros. Quelques points de corps ne rach\u00e8tent pas\r\n                \/\/    une t\u00eate pench\u00e9e. C'\u00e9tait tout le d\u00e9faut des anneaux \u00e0\r\n                \/\/    trois ou quatre cases, o\u00f9 des secteurs immenses portaient\r\n                \/\/    un filet de texte inclin\u00e9.\r\n                \/\/ 3. \u00c0 d\u00e9faut, le plus gros corps, le tangentiel l'emportant \u00e0\r\n                \/\/    \u00e9galit\u00e9 : il rattache plus clairement le texte \u00e0 son arc.\r\n                var nbMax = 0;\r\n                ORIENTS.forEach(function(o){ nbMax = Math.max(nbMax, a.nb[o]); });\r\n                var tenus = ORIENTS.filter(function(o){ return a.nb[o] === nbMax; });\r\n                var mieux = tenus[0];\r\n                tenus.forEach(function(o){ if (a[o] > a[mieux] + 0.01) mieux = o; });\r\n                a.sens = (tenus.indexOf(\"droit\") >= 0 && a.droit >= a[mieux] * 0.7)\r\n                    ? \"droit\" : mieux;\r\n                a.taille = a[a.sens];\r\n                ORIENT[k] = a.sens;\r\n            });\r\n\r\n            fiches.forEach(function(f){\r\n                var a = anneaux[f.d.depth];\r\n                var plan = f[a.sens];\r\n                if (!plan || a.taille < LABEL_MIN\r\n                        || taillePour(f.box, a.sens, plan.groupes, f.mesure) < a.taille - 0.01){\r\n                    viderLabel(f.el, f.d);\r\n                    return;\r\n                }\r\n                \/\/ Au corps de l'anneau, un intitul\u00e9 tient souvent sur moins de\r\n                \/\/ lignes qu'\u00e0 son optimum personnel : on cherche la d\u00e9coupe la\r\n                \/\/ plus sobre qui tienne encore \u00e0 cette taille-l\u00e0.\r\n                var groupes = plan.groupes;\r\n                for (var n = 1; n < groupes.length; n++){\r\n                    var essai = decouper(f.mesure, n);\r\n                    if (essai && taillePour(f.box, a.sens, essai, f.mesure) >= a.taille - 0.01){\r\n                        groupes = essai; break;\r\n                    }\r\n                }\r\n                ecrire(f.el, f.d, f.box, a.sens, groupes, f.mesure, a.taille);\r\n                f.d.tient = true;\r\n            });\r\n        }\r\n\r\n        \/\/ En tangentiel, c'est le chemin d'appui qui place le texte : toute\r\n        \/\/ transformation ici le d\u00e9crocherait de sa courbe.\r\n        function labelTransform(box, d){\r\n            var sens = d ? labelOrient(d) : \"radial\";\r\n            if (sens === \"tangent\") return null;\r\n            \/\/ Droit : aucune rotation, le bloc est simplement port\u00e9 au centre\r\n            \/\/ de gravit\u00e9 de sa case.\r\n            if (sens === \"droit\"){\r\n                var c = centreCase(box);\r\n                return \"translate(\" + c[0].toFixed(2) + \",\" + c[1].toFixed(2) + \")\";\r\n            }\r\n            var x = (box.x0 + box.x1) \/ 2 * 180 \/ Math.PI;\r\n            var y = labelMidR(box);\r\n            \/\/ Radial, retourn\u00e9 dans la moiti\u00e9 gauche pour ne jamais se lire\r\n            \/\/ \u00e0 l'envers.\r\n            return \"rotate(\" + (x - 90) + \") translate(\" + y + \",0) rotate(\" + (x < 180 ? 0 : 180) + \")\";\r\n        }\r\n\r\n        \/\/ Fil d'Ariane retir\u00e9 de l'interface : le retour au centre du disque\r\n        \/\/ (clic sur le coeur, \u00ab \u2039 retour \u00bb) reste le seul chemin de navigation\r\n        \/\/ vers le haut. La fonction garde son point d'appel (appel\u00e9 \u00e0 chaque\r\n        \/\/ zoom) mais ne peuple plus rien.\r\n        function renderCrumbs(){\r\n            var el = document.getElementById(\"crumbs\");\r\n            if (!el) return;\r\n            if (isScoped() || !root){ el.hidden = true; return; }\r\n            el.hidden = false;\r\n            var chaine = [], n = focus;\r\n            while (n){ chaine.unshift(n); n = n.parent; }\r\n            el.innerHTML = chaine.map(function(node, i){\r\n                var dernier = i === chaine.length - 1;\r\n                var nom = node === root ? \"Toutes les th\u00e9matiques\" : labelText(node);\r\n                return '<button class=\"crumb' + (dernier ? \" is-current\" : \"\") + '\" type=\"button\" data-i=\"' + i + '\">'\r\n                    + escapeHTML(nom) + '<\\\/button>';\r\n            }).join('<span class=\"crumb-sep\" aria-hidden=\"true\">\u203a<\\\/span>');\r\n            el.querySelectorAll(\".crumb\").forEach(function(b){\r\n                b.addEventListener(\"click\", function(){\r\n                    var node = chaine[+b.getAttribute(\"data-i\")];\r\n                    if (node && node !== focus){ closeDetail(); zoomTo(node); }\r\n                });\r\n            });\r\n        }\r\n\r\n        function renderCenter(){\r\n            centerGroup.selectAll(\"*\").remove();\r\n            centerGroup.append(\"circle\")\r\n                .attr(\"class\", \"center-hit\")\r\n                .attr(\"r\", innerR - 8)\r\n                .attr(\"fill\", \"#fffef9\")\r\n                .attr(\"stroke\", \"#e2e7df\")\r\n                .attr(\"stroke-width\", 1)\r\n                .attr(\"fill-opacity\", 1)\r\n                .attr(\"role\", \"button\").attr(\"tabindex\", 0)\r\n                .on(\"click\", centerBack)\r\n                .on(\"keydown\", function(e){ if (e.key === \"Enter\" || e.key === \" \"){ e.preventDefault(); centerBack(); } });\r\n            centerLabel = centerGroup.append(\"text\").attr(\"class\", \"center-text\");\r\n            updateCenterLabel();\r\n        }\r\n\r\n        function centerBack(){ closeDetail(); if (focus !== root) zoomTo(focus.parent || root); }\r\n        function updateCenterLabel(){\r\n            if (!centerLabel) return;\r\n            var isRoot = focus === root;\r\n            var scale = Math.min(1.25, innerR \/ 98);\r\n            var list = isRoot ? PROJETS : (focus.data.projets || []);\r\n            centerLabel.selectAll(\"*\").remove();\r\n            var rows = isRoot\r\n                \/\/ Le compte de projets, le nombre de th\u00e9matiques et le\r\n                \/\/ mill\u00e9sime sont d\u00e9j\u00e0 lus dans l'en-t\u00eate : les r\u00e9p\u00e9ter au\r\n                \/\/ centre alourdissait la roue sans rien apprendre. Le coeur ne\r\n                \/\/ porte plus que le nom du fonds.\r\n                ? [{text:\"FONDS D\u2019INNOVATION\", y:-6, size:10, weight:700, ink:\"#718784\"},\r\n                   {text:\"SOCIALE\", y:12, size:10, weight:700, ink:\"#718784\"}]\r\n                : [{text:\"\u2190 RETOUR\",y:-38,size:8,weight:700,ink:\"#5d7c76\"}]\r\n                    .concat(wrapWords(labelText(focus), 18).slice(0,3).map(function(text,i,arr){\r\n                        return {text:text,y: -6 - (arr.length-1)*7 + i*15,size:12,weight:700,ink:\"#203e49\"};\r\n                    }))\r\n                    .concat([{text:list.length + \" projet\" + (list.length>1?\"s\":\"\"),y:40,size:9,weight:500,ink:\"#718784\"}]);\r\n            rows.forEach(function(l){\r\n                centerLabel.append(\"tspan\").attr(\"x\",0).attr(\"y\", l.y*scale)\r\n                    .attr(\"font-size\", Math.max(l.size <= 9 ? 7.5 : 9, l.size*scale)).attr(\"font-weight\",l.weight).attr(\"fill\",l.ink)\r\n                    .attr(\"letter-spacing\", l.size<=8 ? .8*scale : -.5*scale).text(l.text);\r\n            });\r\n            centerGroup.select(\"circle\").attr(\"aria-label\",isRoot ? \"Vue d\u2019ensemble, \" + list.length + \" projets\" : \"Revenir au niveau pr\u00e9c\u00e9dent\");\r\n        }\r\n\r\n        function wrapWords(text, maxChars){\r\n            var words = String(text).split(\/\\s+\/), lines = [], cur = \"\";\r\n            words.forEach(function(w){\r\n                var next = cur ? cur + \" \" + w : w;\r\n                if (next.length > maxChars && cur){ lines.push(cur); cur = w; }\r\n                else cur = next;\r\n            });\r\n            if (cur) lines.push(cur);\r\n            return lines.slice(0, 3);\r\n        }\r\n\r\n        \/\/ ============ 5 bis. RADAR DES FREINS ============\r\n        \/\/ Un projet peut cumuler plusieurs freins : chaque axe compte le nombre\r\n        \/\/ de PROJETS concern\u00e9s, les axes ne s'additionnent donc pas \u00e0 100 %.\r\n        var radarScope = null; \/\/ null = tout le corpus, sinon une cl\u00e9 de th\u00e9matique\r\n\r\n        function radarProjets(){\r\n            return radarScope ? (byTheme.get(radarScope) || []) : PROJETS;\r\n        }\r\n        function radarCounts(){\r\n            var list = radarProjets();\r\n            return FREINS.map(function(f){\r\n                return {\r\n                    frein: f,\r\n                    n: list.filter(function(p){ return p.freinSet.indexOf(f.code) !== -1; }).length\r\n                };\r\n            });\r\n        }\r\n\r\n        \/\/ Le radar s'ouvre au lieu d'apparaitre : les anneaux s'\u00e9cartent du\r\n        \/\/ centre, un filet balaye le cadran, le polygone monte de z\u00e9ro vers ses\r\n        \/\/ valeurs, puis seulement les textes se posent en fondu \u00e9chelonn\u00e9.\r\n        \/\/ Rien ne se lit pendant que \u00e7a bouge.\r\n        function renderRadar(anim){\r\n            radarGroup.selectAll(\"*\").remove();\r\n            radarGroup.interrupt(\"radar\");\r\n\r\n            var list = radarProjets();\r\n            var data = radarCounts();\r\n            var maxN = Math.max(1, d3.max(data, function(d){ return d.n; }));\r\n            \/\/ Paliers entiers lisibles (jamais de demi-projet sur un axe).\r\n            var step = maxN <= 4 ? 1 : Math.ceil(maxN \/ 4);\r\n            var top = Math.ceil(maxN \/ step) * step;\r\n\r\n            var rOuter = Math.max(45, Math.min(radius * 0.86, 290, (width - 172) \/ 2));\r\n            var scale = d3.scaleLinear().domain([0, top]).range([0, rOuter]);\r\n            var angle = function(i){ return (i \/ FREINS.length) * 2 * Math.PI - Math.PI \/ 2; };\r\n            var pt = function(i, v){\r\n                var a = angle(i), r = scale(v);\r\n                return [Math.cos(a) * r, Math.sin(a) * r];\r\n            };\r\n            var anime = anim !== false && !reducedMotion.matches;\r\n            \/\/ Rep\u00e8res de la partition, en millisecondes.\r\n            var T_GRILLE = 0, T_AXES = 140, T_TRACE = 420, T_POINTS = 480, T_TEXTE = 1320;\r\n\r\n            var grid = radarGroup.append(\"g\").attr(\"class\", \"radar-grid\");\r\n            var anneaux = [];\r\n            for (var v = step; v <= top; v += step){\r\n                var c = grid.append(\"circle\").attr(\"r\", scale(v));\r\n                var lab = grid.append(\"text\").attr(\"class\", \"radar-ring\")\r\n                    .attr(\"x\", -scale(v) * .707).attr(\"y\", -scale(v) * .707 - 5).text(v);\r\n                anneaux.push({ c: c, lab: lab, r: scale(v) });\r\n            }\r\n            data.forEach(function(d, i){\r\n                var p = pt(i, top);\r\n                grid.append(\"line\").attr(\"x1\", 0).attr(\"y1\", 0)\r\n                    .attr(\"x2\", p[0]).attr(\"y2\", p[1])\r\n                    .attr(\"data-x2\", p[0]).attr(\"data-y2\", p[1]);\r\n            });\r\n\r\n            var trace = d3.line().curve(d3.curveLinearClosed);\r\n            var poly = data.map(function(d, i){ return pt(i, d.n); });\r\n            var aire = radarGroup.append(\"path\")\r\n                .attr(\"class\", \"radar-area\")\r\n                .attr(\"d\", trace(poly));\r\n\r\n            \/\/ Libell\u00e9s d'axe, pouss\u00e9s hors du dernier anneau.\r\n            var axes = [];\r\n            data.forEach(function(d, i){\r\n                var a = angle(i);\r\n                var lr = rOuter + 26;\r\n                var x = Math.cos(a) * lr, y = Math.sin(a) * lr;\r\n                var anchor = Math.abs(Math.cos(a)) < 0.25 ? \"middle\" : (Math.cos(a) > 0 ? \"start\" : \"end\");\r\n                var t = radarGroup.append(\"text\")\r\n                    .attr(\"class\", \"radar-axis\")\r\n                    .attr(\"x\", x).attr(\"y\", y)\r\n                    .attr(\"text-anchor\", anchor)\r\n                    .attr(\"dy\", \"0.32em\");\r\n                t.append(\"tspan\").attr(\"class\", \"code\").text(d.frein.code + \" \");\r\n                var axisLabel = t.append(\"tspan\").text(d.frein.short);\r\n                if (width < 520){ axisLabel.attr(\"x\", x).attr(\"dy\", \"1.2em\"); }\r\n                axes.push(t);\r\n            });\r\n\r\n            \/\/ Points + valeurs. Le point vit dans son propre groupe : l'entr\u00e9e\r\n            \/\/ se joue sur ce groupe, le r du cercle reste libre pour le survol.\r\n            var points = [], valeurs = [];\r\n            data.forEach(function(d, i){\r\n                var p = pt(i, d.n);\r\n                var g = radarGroup.append(\"g\").attr(\"transform\", \"translate(\" + p[0] + \",\" + p[1] + \")\");\r\n                g.append(\"circle\")\r\n                    .attr(\"class\", \"radar-pt\")\r\n                    .attr(\"r\", 4.2)\r\n                    .on(\"mousemove\", function(event){ radarTip(event, d, list.length); })\r\n                    .on(\"mouseleave\", hideTooltip);\r\n                points.push({ g: g, x: p[0], y: p[1] });\r\n                if (d.n > 0){\r\n                    var a = angle(i);\r\n                    valeurs.push(radarGroup.append(\"text\")\r\n                        .attr(\"class\", \"radar-val\")\r\n                        .attr(\"x\", p[0] + Math.cos(a) * 14)\r\n                        .attr(\"y\", p[1] + Math.sin(a) * 14)\r\n                        .attr(\"dy\", \"0.32em\")\r\n                        .text(d.n));\r\n                }\r\n            });\r\n\r\n            if (!anime) return;\r\n\r\n            \/\/ 1. Les anneaux s'ouvrent du centre vers le bord.\r\n            anneaux.forEach(function(o, i){\r\n                o.c.attr(\"r\", 0).attr(\"opacity\", 0)\r\n                    .transition(\"radar\").delay(T_GRILLE + i * 70).duration(560).ease(d3.easeCubicOut)\r\n                    .attr(\"r\", o.r).attr(\"opacity\", 1);\r\n                o.lab.attr(\"opacity\", 0)\r\n                    .transition(\"radar\").delay(T_TEXTE + i * 60).duration(380).attr(\"opacity\", 1);\r\n            });\r\n\r\n            \/\/ 2. Les axes se tracent du centre vers l'ext\u00e9rieur.\r\n            grid.selectAll(\"line\").each(function(_, i){\r\n                var l = d3.select(this);\r\n                var x2 = +l.attr(\"data-x2\"), y2 = +l.attr(\"data-y2\");\r\n                l.attr(\"x2\", 0).attr(\"y2\", 0)\r\n                    .transition(\"radar\").delay(T_AXES + i * 55).duration(460).ease(d3.easeCubicOut)\r\n                    .attr(\"x2\", x2).attr(\"y2\", y2);\r\n            });\r\n\r\n            \/\/ 3. Un filet balaye le cadran pendant que la grille se pose.\r\n            var sweep = radarGroup.append(\"line\")\r\n                .attr(\"class\", \"radar-sweep\")\r\n                .attr(\"x1\", 0).attr(\"y1\", 0).attr(\"x2\", 0).attr(\"y2\", -rOuter)\r\n                .attr(\"opacity\", 0.45);\r\n            sweep.transition(\"radar\").duration(1150).ease(d3.easeCubicInOut)\r\n                .attrTween(\"transform\", function(){\r\n                    return function(t){ return \"rotate(\" + (t * 360) + \")\"; };\r\n                })\r\n                .attr(\"opacity\", 0)\r\n                .remove();\r\n\r\n            \/\/ 4. Le polygone monte de z\u00e9ro vers ses valeurs.\r\n            aire.attr(\"d\", trace(data.map(function(d, i){ return pt(i, 0); })))\r\n                .attr(\"opacity\", 0)\r\n                .transition(\"radar\").delay(T_TRACE).duration(760).ease(d3.easeCubicOut)\r\n                .attr(\"opacity\", 1)\r\n                .attrTween(\"d\", function(){\r\n                    var vers = data.map(function(d){ return d3.interpolateNumber(0, d.n); });\r\n                    return function(t){\r\n                        return trace(data.map(function(d, i){ return pt(i, vers[i](t)); }));\r\n                    };\r\n                });\r\n\r\n            \/\/ 5. Les points partent du centre et glissent le long de leur axe\r\n            \/\/    jusqu'\u00e0 leur valeur, en m\u00eame temps que le trac\u00e9 les rejoint.\r\n            \/\/    Le l\u00e9ger d\u00e9passement \u00e0 l'arriv\u00e9e fait sentir le calage.\r\n            points.forEach(function(o, i){\r\n                o.g.attr(\"opacity\", 0)\r\n                    .attr(\"transform\", \"translate(0,0) scale(0.2)\")\r\n                    .transition(\"radar\").delay(T_POINTS + i * 60).duration(760).ease(d3.easeBackOut.overshoot(1.4))\r\n                    .attr(\"opacity\", 1)\r\n                    .attrTween(\"transform\", function(){\r\n                        var ix = d3.interpolateNumber(0, o.x), iy = d3.interpolateNumber(0, o.y);\r\n                        return function(t){\r\n                            var k = 0.2 + 0.8 * Math.max(0, Math.min(1, t * 1.6));\r\n                            return \"translate(\" + ix(t) + \",\" + iy(t) + \") scale(\" + k + \")\";\r\n                        };\r\n                    });\r\n            });\r\n\r\n            \/\/ 6. Les chiffres en dernier, quand plus rien ne bouge sous eux.\r\n            valeurs.forEach(function(t, i){\r\n                t.attr(\"opacity\", 0)\r\n                    .transition(\"radar\").delay(T_TEXTE + 60 + i * 55).duration(380).attr(\"opacity\", 1);\r\n            });\r\n            axes.forEach(function(t, i){\r\n                t.attr(\"opacity\", 0)\r\n                    .transition(\"radar\").delay(T_TEXTE + i * 55).duration(420).attr(\"opacity\", 1);\r\n            });\r\n\r\n            \/\/ Pas de texte au centre : le trac\u00e9 y passe et le chiffre serait\r\n            \/\/ illisible. La port\u00e9e est d\u00e9j\u00e0 donn\u00e9e par la ligne de KPI.\r\n        }\r\n\r\n        function themeLabel(key){\r\n            var t = THEMES.filter(function(x){ return x.key === key; })[0];\r\n            return t ? t.label : key;\r\n        }\r\n\r\n        function radarTip(event, d, total){\r\n            var box = container.getBoundingClientRect();\r\n            var pct = total ? Math.round(d.n \/ total * 100) : 0;\r\n            tooltip.innerHTML = \"<strong>\" + escapeHTML(d.frein.code + \" \u00b7 \" + d.frein.label) + \"<\\\/strong>\"\r\n                + d.n + \" projet\" + (d.n > 1 ? \"s\" : \"\") + \" sur \" + total + \" (\" + pct + \" %)\"\r\n                + \"<em>\" + (radarScope ? escapeHTML(themeLabel(radarScope)) : \"Ensemble du corpus\") + \"<\\\/em>\";\r\n            tooltip.style.opacity = 1;\r\n            var x = event.clientX - box.left + 16, y = event.clientY - box.top + 14;\r\n            if (x + 300 > box.width) x = event.clientX - box.left - 306;\r\n            tooltip.style.left = x + \"px\";\r\n            tooltip.style.top = y + \"px\";\r\n        }\r\n\r\n        function isRadar(){ return indicator.key === \"freins\"; }\r\n        function isFleurs(){ return indicator.key === \"fleurs\"; }\r\n        function isEtages(){ return indicator.key === \"etages\"; }\r\n        function isClassement(){ return indicator.key === \"classement\"; }\r\n        function isFlux(){ return indicator.key === \"flux\"; }\r\n        \/\/ Freins et Fleurs se filtrent par th\u00e9matique (via la l\u00e9gende) au lieu\r\n        \/\/ de zoomer : les deux partagent radarScope comme p\u00e9rim\u00e8tre.\r\n        function isScoped(){ return isRadar() || isFleurs() || isEtages() || isClassement() || isFlux(); }\r\n\r\n        \/\/ ---- Freins d'un projet : le glyphe \u00ab cage \u00bb ----\r\n        \/\/ Pendant exact de la fleur d'impact, et son contraire visuel. La fleur\r\n        \/\/ s'ouvre : quatre couches organiques qui rayonnent vers l'ext\u00e9rieur.\r\n        \/\/ La cage se referme : quatre barri\u00e8res concentriques autour d'un noyau\r\n        \/\/ qui est le projet. Plus le porteur documente de freins, plus le\r\n        \/\/ cercle se ferme. Une seule encre (le violet des freins de l'appli) et\r\n        \/\/ quatre formes franches, anguleuses : impossible de confondre les deux\r\n        \/\/ glyphes d'un coup d'oeil, alors qu'ils se lisent de la m\u00eame fa\u00e7on.\r\n        \/\/\r\n        \/\/ Un radar tra\u00e7ait ces quatre bool\u00e9ens : le point \u00e9tait soit au centre\r\n        \/\/ soit au bord, le polygone d\u00e9g\u00e9n\u00e9rait (un frein = un trait d'aire\r\n        \/\/ nulle) et deux projets \u00e0 \u00ab 2 sur 4 \u00bb donnaient des dessins sans\r\n        \/\/ rapport selon la place des familles sur le cercle.\r\n        var FREIN_INK = \"#334155\";\r\n\r\n        \/\/ Barreaux radiaux (financiers) : la contrainte qui serre.\r\n        function freinBars(){\r\n            return '<rect x=\"-2.4\" y=\"-42.5\" width=\"4.8\" height=\"10.5\" rx=\"2\"\/>';\r\n        }\r\n        \/\/ Chevrons point\u00e9s vers le centre (humains) : la pression qui vient des\r\n        \/\/ \u00e9quipes et des publics.\r\n        function freinChevrons(){\r\n            return '<path d=\"M-7,-34.5L0,-27.5L7,-34.5\"\/>';\r\n        }\r\n        \/\/ Pans de mur (institutionnels) : l'arc le plus ext\u00e9rieur, celui qui\r\n        \/\/ enferme le reste.\r\n        function freinWalls(){\r\n            var r = 47, h = 32 * Math.PI \/ 180;\r\n            var a0 = -Math.PI \/ 2 - h, a1 = -Math.PI \/ 2 + h;\r\n            return '<path d=\"M' + (Math.cos(a0) * r).toFixed(2) + ',' + (Math.sin(a0) * r).toFixed(2)\r\n                + 'A' + r + ',' + r + ' 0 0 1 '\r\n                + (Math.cos(a1) * r).toFixed(2) + ',' + (Math.sin(a1) * r).toFixed(2) + '\"\/>';\r\n        }\r\n        \/\/ Blocs (logistiques) : les cailloux les plus pr\u00e8s du projet.\r\n        function freinBlocks(){\r\n            return '<rect x=\"-3\" y=\"-21\" width=\"6\" height=\"6\" rx=\"1\" transform=\"rotate(45 0 -18)\"\/>';\r\n        }\r\n\r\n        function freinLayer(f, ink){\r\n            var col = ink || \"currentColor\";\r\n            if (f.shape === \"bars\"){\r\n                return '<g fill=\"' + col + '\">' + floraRing(freinBars(), 6, 30) + '<\\\/g>';\r\n            }\r\n            if (f.shape === \"chevrons\"){\r\n                return '<g fill=\"none\" stroke=\"' + col + '\" stroke-width=\"3.2\"'\r\n                    + ' stroke-linecap=\"round\" stroke-linejoin=\"round\">'\r\n                    + floraRing(freinChevrons(), 6, 0) + '<\\\/g>';\r\n            }\r\n            if (f.shape === \"walls\"){\r\n                return '<g fill=\"none\" stroke=\"' + col + '\" stroke-width=\"5\" stroke-linecap=\"round\">'\r\n                    + floraRing(freinWalls(), 4, 45) + '<\\\/g>';\r\n            }\r\n            return '<g fill=\"' + col + '\">' + floraRing(freinBlocks(), 8, 22.5) + '<\\\/g>';\r\n        }\r\n\r\n        function freinGlyph(p){\r\n            var body = \"\";\r\n            FREINS.forEach(function(f){\r\n                if (p.freinSet.indexOf(f.code) !== -1) body += freinLayer(f, FREIN_INK);\r\n            });\r\n            \/\/ Le noyau, c'est le projet : toujours pr\u00e9sent, m\u00eame sans aucune\r\n            \/\/ barri\u00e8re autour. Sans lui, une case vide serait inexplicable.\r\n            body += '<circle r=\"5.5\" fill=\"#0e1b2e\" fill-opacity=\"0.26\"\/>';\r\n            return '<svg class=\"fl-glyph\" viewBox=\"-52 -52 104 104\" aria-hidden=\"true\">' + body + '<\\\/svg>';\r\n        }\r\n\r\n        \/\/ Vignette de la ligne : UN seul motif, en grand. R\u00e9duire l'anneau\r\n        \/\/ entier \u00e0 22 px donnait quatre semis de points indistinguables ;\r\n        \/\/ isol\u00e9 et grossi, le motif se raccroche tout de suite \u00e0 sa barri\u00e8re\r\n        \/\/ dans le glyphe. C'est ce qui rend le glyphe d\u00e9codable sans l\u00e9gende.\r\n        var FREIN_ICONS = {\r\n            bars:     '<rect x=\"-3\" y=\"-9\" width=\"6\" height=\"18\" rx=\"2.6\" fill=\"currentColor\"\/>',\r\n            chevrons: '<path d=\"M-8,-4.5L0,3.5L8,-4.5\" fill=\"none\" stroke=\"currentColor\"'\r\n                      + ' stroke-width=\"3.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>',\r\n            walls:    '<path d=\"M-9.5,4.5A11.5,11.5 0 0 1 9.5,4.5\" fill=\"none\" stroke=\"currentColor\"'\r\n                      + ' stroke-width=\"3.6\" stroke-linecap=\"round\"\/>',\r\n            blocks:   '<rect x=\"-6\" y=\"-6\" width=\"12\" height=\"12\" rx=\"2.2\"'\r\n                      + ' transform=\"rotate(45)\" fill=\"currentColor\"\/>'\r\n        };\r\n        function freinMini(f){\r\n            return '<svg class=\"fl-shape\" viewBox=\"-12 -12 24 24\" aria-hidden=\"true\">'\r\n                + FREIN_ICONS[f.shape] + '<\\\/svg>';\r\n        }\r\n\r\n        function ficheFreinsHTML(p){\r\n            var nr = isNR(p.freins);\r\n            var n = p.freinSet.length;\r\n            var seg = p.freinSegs || { segs: {}, reste: \"\" };\r\n            var lignes = FREINS.map(function(f){\r\n                var on = p.freinSet.indexOf(f.code) !== -1;\r\n                var texte = seg.segs[f.code];\r\n                var mot = (nr || !on) ? \"Non renseign\u00e9\" : (texte ? \"Lire\" : \"Mentionn\u00e9\");\r\n                var tete = freinMini(f)\r\n                    + '<span class=\"fl-label\">' + escapeHTML(f.short) + '<\\\/span>'\r\n                    + '<span class=\"fl-state\">' + mot + '<\\\/span>';\r\n                \/\/ Volet seulement si le porteur a \u00e9crit quelque chose pour\r\n                \/\/ cette famille ; sinon la ligne ne doit pas para\u00eetre cliquable.\r\n                if (texte){\r\n                    return '<li class=\"is-full\">'\r\n                        + '<button class=\"fl-line\" type=\"button\" aria-expanded=\"false\"'\r\n                        + ' title=\"' + escapeHTML(f.label) + '\">' + tete\r\n                        + '<span class=\"fl-caret\" aria-hidden=\"true\"><\\\/span><\\\/button>'\r\n                        + '<div class=\"fl-text detail-prose\" hidden>' + descriptionHTML(texte, false) + '<\\\/div><\\\/li>';\r\n                }\r\n                return '<li class=\"' + (on ? \"is-full\" : \"is-none\") + '\">'\r\n                    + '<span class=\"fl-line is-static\" title=\"' + escapeHTML(f.label) + '\">'\r\n                    + tete + '<\\\/span><\\\/li>';\r\n            }).join(\"\");\r\n            \/\/ Pr\u00e9ambule, ou cellule qu'on n'a pas su d\u00e9couper : rien n'est perdu.\r\n            var decoupe = false;\r\n            FREINS.forEach(function(f){ if (seg.segs[f.code]) decoupe = true; });\r\n            var volet = \"\";\r\n            if (seg.reste && seg.reste.length > 2){\r\n                volet = '<li class=\"is-more\"><button class=\"fl-line\" type=\"button\" aria-expanded=\"false\">'\r\n                    + '<span class=\"fl-label\">'\r\n                    + (decoupe ? \"Autres pr\u00e9cisions\" : \"D\u00e9tail r\u00e9dig\u00e9 par le porteur\")\r\n                    + '<\\\/span><span class=\"fl-caret\" aria-hidden=\"true\"><\\\/span><\\\/button>'\r\n                    + '<div class=\"fl-text detail-prose\" hidden>' + descriptionHTML(seg.reste, false) + '<\\\/div><\\\/li>';\r\n            }\r\n            return '<div class=\"detail-flora is-freins\">'\r\n                + '<div class=\"fl-top\">' + freinGlyph(p)\r\n                + '<div class=\"fl-read-body\">'\r\n                + '<p class=\"fl-read-title\">Freins rencontr\u00e9s'\r\n                + '<span class=\"fl-read-score\">' + (nr ? \"&mdash;\" : n + \"\/\" + FREINS.length) + '<\\\/span><\\\/p>'\r\n                + '<p class=\"fl-read-hint\">' + (nr\r\n                    ? \"Le porteur n\u2019a pas document\u00e9 ses freins.\"\r\n                    : \"Les obstacles document\u00e9s par le porteur. Ouvrez une rubrique pour \"\r\n                      + \"en lire le d\u00e9tail.\")\r\n                + '<\\\/p><\\\/div><\\\/div>'\r\n                + '<ul class=\"fl-read\">' + lignes + volet + '<\\\/ul><\\\/div>';\r\n        }\r\n\r\n        \/\/ ---- Barres class\u00e9es : la forme juste pour comparer 6 cat\u00e9gories ----\r\n        \/\/ Contrairement au radar, la longueur est directement comparable et\r\n        \/\/ l'ordre des cat\u00e9gories n'influence pas la lecture.\r\n        \/\/ Le radar est la vue d'arriv\u00e9e : il donne d'un coup d'oeil la FORME\r\n        \/\/ des freins d'un corpus, ce qu'on vient chercher en ouvrant l'onglet.\r\n        \/\/ Les barres restent \u00e0 un clic pour qui veut comparer des longueurs\r\n        \/\/ exactement, ce que le radar ne permet pas.\r\n        var freinsMode = \"radar\";   \/\/ \"bars\" | \"radar\"\r\n\r\n        function renderBars(){\r\n            var el = document.getElementById(\"freins-bars\");\r\n            var headerEl = document.querySelector(\"#reu-roue-wp .header\");\r\n            el.style.paddingTop = ((headerEl ? headerEl.getBoundingClientRect().height : 190) + 24) + \"px\";\r\n\r\n            var list = radarProjets();\r\n            \/\/ D\u00e9nominateur : les projets qui ont document\u00e9 un frein. Un projet\r\n            \/\/ \u00e0 0 code n'est pas \u00ab sans frein \u00bb, il n'a pas \u00e9t\u00e9 analys\u00e9.\r\n            var base = list.filter(function(p){ return p.freinSet.length > 0; }).length;\r\n            var data = radarCounts().slice().sort(function(a, b){ return b.n - a.n; });\r\n            var maxN = Math.max(1, d3.max(data, function(d){ return d.n; }));\r\n\r\n            var caption = base\r\n                ? \"Sur les <strong>\" + base + \" projets<\\\/strong> qui documentent au moins un frein\"\r\n                  + (radarScope ? \" en \" + escapeHTML(themeLabel(radarScope)) : \" (corpus entier)\")\r\n                  + \". Un projet peut cumuler plusieurs freins, les barres ne s'additionnent donc pas \u00e0 100 %.\"\r\n                : \"Aucun projet ne documente de frein sur ce p\u00e9rim\u00e8tre.\";\r\n\r\n            \/\/ Un en-t\u00eate de colonnes, et la m\u00eame grille pour chaque ligne :\r\n            \/\/ c'est ce qui permet de comparer quatre familles sans lire les\r\n            \/\/ nombres. Les graduations sont port\u00e9es par la piste elle-m\u00eame.\r\n            el.innerHTML = '<p class=\"fb-caption\">' + caption + '<\\\/p>'\r\n                + (data.length\r\n                    ? '<div class=\"fb-head\" aria-hidden=\"true\"><span><\\\/span>'\r\n                      + '<span>Famille de frein<\\\/span><span>Projets concern\u00e9s<\\\/span>'\r\n                      + '<span>Part du corpus<\\\/span><\\\/div>'\r\n                    : '')\r\n                + data.map(function(d){\r\n                    var pct = base ? Math.round(d.n \/ base * 100) : 0;\r\n                    return '<div class=\"fb-row\">'\r\n                        + '<span class=\"fb-code\">' + d.frein.code + '<\\\/span>'\r\n                        + '<span class=\"fb-label\">' + escapeHTML(d.frein.short) + '<\\\/span>'\r\n                        + '<span class=\"fb-track\"><span class=\"fb-fill\" style=\"width:'\r\n                        + (d.n \/ maxN * 100).toFixed(1) + '%\"><\\\/span><\\\/span>'\r\n                        + '<span class=\"fb-val\">' + d.n + ' <span>' + pct + ' % du corpus<\\\/span><\\\/span>'\r\n                        + '<\\\/div>';\r\n                }).join(\"\")\r\n                \/\/ Une note de lecture : la phrase qui apprend \u00e0 lire une\r\n                \/\/ ligne, pour que personne n'ait \u00e0 deviner ce que compte la\r\n                \/\/ barre. C'est l'usage des graphiques d'institut, et cela\r\n                \/\/ vaut mieux qu'une l\u00e9gende de plus.\r\n                + (data.length && base\r\n                    ? '<p class=\"fb-note\"><b>Lecture<\\\/b> \u00b7 ' + data[0].n + ' des ' + base\r\n                      + ' projets qui documentent un frein citent un frein '\r\n                      + escapeHTML(String(data[0].frein.short).toLowerCase())\r\n                      + '. <span>Les familles se cumulent, le total d\u00e9passe donc 100 %.<\\\/span><\\\/p>'\r\n                    : '');\r\n        }\r\n\r\n        \/\/ ============ 5 bis. LE CLASSEMENT ============\r\n        \/\/ Trois lectures du m\u00eame nombre, pour trois distances : la barre pour\r\n        \/\/ l'ordre de grandeur, la trame de points pour compter sans lire, le\r\n        \/\/ nombre pour qui le cherche. Le tri par poids est le tri par d\u00e9faut :\r\n        \/\/ c'est la question que la roue laisse sans r\u00e9ponse.\r\n        var rangTri = \"poids\";\r\n        function renderClassement(){\r\n            var el = document.getElementById(\"classement\");\r\n            if (!el) return;\r\n\r\n            var data = THEMES.map(function(t){\r\n                var list = byTheme.get(t.key) || [];\r\n                return { theme: t, n: list.length };\r\n            }).filter(function(d){ return d.n > 0; });\r\n\r\n            data.sort(rangTri === \"nom\"\r\n                ? function(a, b){ return a.theme.label.localeCompare(b.theme.label, \"fr\"); }\r\n                : function(a, b){ return b.n - a.n || a.theme.label.localeCompare(b.theme.label, \"fr\"); });\r\n\r\n            var maxN = d3.max(data, function(d){ return d.n; }) || 1;\r\n            var total = PROJETS.length || 1;\r\n            var tete = data.slice().sort(function(a, b){ return b.n - a.n; })[0];\r\n\r\n            el.innerHTML = '<div class=\"rg-cadre\">'\r\n                + '<div class=\"rg-tete\">'\r\n                + '<div><p class=\"rg-eyebrow\">Aix-Marseille-Provence \u00b7 ' + total + ' projets<\\\/p>'\r\n                + '<h2 class=\"rg-titre\">O\u00f9 va l\u2019innovation sociale sur le territoire ?<\\\/h2><\\\/div>'\r\n                + '<p class=\"rg-mode\">Chaque barre est le poids r\u00e9el d\u2019une th\u00e9matique dans le fonds.'\r\n                + ' Cliquez une ligne pour ouvrir ses projets dans la roue.<\\\/p>'\r\n                + '<\\\/div>'\r\n                + '<ol class=\"rg-liste\">'\r\n                + data.map(function(d, i){\r\n                    var pts = \"\";\r\n                    for (var k = 0; k < maxN; k++){\r\n                        pts += '<i class=\"rg-pt' + (k < d.n ? ' is-on' : '') + '\" style=\"--j:' + k + '\"><\\\/i>';\r\n                    }\r\n                    return '<li class=\"rg-ligne\" style=\"--i:' + i + ';--teinte:' + d.theme.color + '\">'\r\n                        + '<button class=\"rg-clic\" type=\"button\" data-theme=\"' + escapeHTML(d.theme.key) + '\"'\r\n                        + ' title=\"' + d.n + ' projet' + (d.n > 1 ? 's' : '') + ' \u00b7 '\r\n                        + Math.round(d.n \/ total * 100) + ' % du fonds\">'\r\n                        + '<span class=\"rg-rang\">' + (i < 9 ? '0' : '') + (i + 1) + '<\\\/span>'\r\n                        + '<span class=\"rg-nom\"><span class=\"rg-puce\"><\\\/span>'\r\n                        + escapeHTML(d.theme.label) + '<\\\/span>'\r\n                        + '<span class=\"rg-piste\"><span class=\"rg-barre\" style=\"width:'\r\n                        + (d.n \/ maxN * 100).toFixed(1) + '%\"><\\\/span><\\\/span>'\r\n                        + '<span class=\"rg-val\">' + d.n + '<span>projet' + (d.n > 1 ? 's' : '') + '<\\\/span><\\\/span>'\r\n                        + '<span class=\"rg-points\" aria-hidden=\"true\">' + pts + '<\\\/span>'\r\n                        + '<\\\/button><\\\/li>';\r\n                }).join(\"\")\r\n                + '<\\\/ol>'\r\n                + '<div class=\"rg-pied\">'\r\n                + '<p class=\"rg-note\"><b>Lecture<\\\/b> \u00b7 un point = un projet.'\r\n                + (tete ? ' ' + escapeHTML(tete.theme.label) + ' concentre \u00e0 elle seule '\r\n                    + Math.round(tete.n \/ total * 100) + ' % du fonds.' : '')\r\n                + '<\\\/p>'\r\n                + '<div class=\"rg-actions\">'\r\n                + '<button class=\"rg-btn\" type=\"button\" data-tri=\"' + (rangTri === \"poids\" ? \"nom\" : \"poids\") + '\">'\r\n                + (rangTri === \"poids\" ? \"Trier par nom\" : \"Trier par poids\") + '<\\\/button>'\r\n                + '<button class=\"rg-btn is-fort\" type=\"button\" data-roue=\"1\">Voir la roue<\\\/button>'\r\n                + '<\\\/div><\\\/div><\\\/div>';\r\n\r\n            \/\/ Le fondu d'entr\u00e9e ne se rejoue pas \u00e0 chaque re-tri : on le remet\r\n            \/\/ en piste explicitement, sinon la classe rest\u00e9e l\u00e0 ne d\u00e9clenche\r\n            \/\/ plus rien (le navigateur ne red\u00e9marre pas une animation pos\u00e9e\r\n            \/\/ sur un noeud qu'il vient de recr\u00e9er dans le m\u00eame cadre).\r\n            el.classList.remove(\"rg-anim\");\r\n            void el.offsetWidth;\r\n            if (!reducedMotion.matches) el.classList.add(\"rg-anim\");\r\n\r\n            el.querySelectorAll(\".rg-clic\").forEach(function(btn){\r\n                btn.addEventListener(\"click\", function(){\r\n                    var key = btn.getAttribute(\"data-theme\");\r\n                    activateTab(\"empreinte\");\r\n                    var node = root.children.find(function(c){ return c.data.themeKey === key; });\r\n                    if (node) zoomTo(node);\r\n                });\r\n            });\r\n            var triBtn = el.querySelector(\"[data-tri]\");\r\n            if (triBtn) triBtn.addEventListener(\"click\", function(){\r\n                rangTri = this.getAttribute(\"data-tri\");\r\n                renderClassement();\r\n            });\r\n            var roueBtn = el.querySelector(\"[data-roue]\");\r\n            if (roueBtn) roueBtn.addEventListener(\"click\", function(){ activateTab(\"empreinte\"); });\r\n        }\r\n\r\n        \/\/ ============ 5 bis ter. LE FLUX : TH\u00c9MATIQUES VERS LES \u00c9TAGES ============\r\n        \/\/ Les quatre autres vues rangent le corpus selon UN classeur : la roue\r\n        \/\/ et le classement selon la th\u00e9matique, les \u00e9tages et les fleurs selon\r\n        \/\/ ce que la structure documente. Aucune ne montre le croisement des\r\n        \/\/ deux, qui est pourtant la question que pose un \u00e9lu devant la roue :\r\n        \/\/ le num\u00e9rique, \u00e7a sert \u00e0 quoi ? Cette vue ne r\u00e9pond qu'\u00e0 \u00e7a.\r\n        \/\/\r\n        \/\/ Un ruban par couple (th\u00e9matique, promesse), d'\u00e9paisseur le nombre de\r\n        \/\/ projets. Un projet qui tient les trois promesses passe donc dans\r\n        \/\/ trois rubans : le total des rubans (111) n'est pas le total des\r\n        \/\/ projets (48). Plut\u00f4t que de normaliser (un projet = 1, r\u00e9parti en\r\n        \/\/ tiers), ce qui produirait des \u00e9paisseurs en \u00ab 2,33 projets \u00bb\r\n        \/\/ ind\u00e9fendables en r\u00e9union, on garde des entiers et on \u00e9crit la r\u00e8gle\r\n        \/\/ au pied de la vue. Les quatre projets qui ne documentent aucune\r\n        \/\/ promesse ne tracent aucun ruban, et c'est dit aussi.\r\n        var fluxSvg = null, fluxData = null;\r\n\r\n        function fluxDonnees(){\r\n            var lignes = THEMES.map(function(t){\r\n                var list = byTheme.get(t.key) || [];\r\n                var liens = PROMESSES.map(function(pr){\r\n                    return { pr: pr, n: list.filter(function(p){ return p.docs[pr.key]; }).length };\r\n                });\r\n                return {\r\n                    theme: t,\r\n                    projets: list.length,\r\n                    liens: liens,\r\n                    total: d3.sum(liens, function(l){ return l.n; })\r\n                };\r\n            \/\/ Une th\u00e9matique dont aucun projet ne documente de promesse n'a\r\n            \/\/ pas de pilier : un rectangle de hauteur nulle avec un libell\u00e9\r\n            \/\/ \u00e0 c\u00f4t\u00e9 ne se lit pas, il s'interpr\u00e8te.\r\n            }).filter(function(L){ return L.total > 0; });\r\n\r\n            var etages = PROMESSES.map(function(pr, j){\r\n                return { pr: pr, j: j, n: d3.sum(lignes, function(L){ return L.liens[j].n; }) };\r\n            });\r\n            return {\r\n                lignes: lignes,\r\n                etages: etages,\r\n                passages: d3.sum(lignes, function(L){ return L.total; }),\r\n                projets: PROJETS.length,\r\n                muets: PROJETS.filter(function(p){ return p.score === 0; }).length\r\n            };\r\n        }\r\n\r\n        \/\/ Le contour d'un ruban : deux courbes miroir, horizontales \u00e0 leurs\r\n        \/\/ deux extr\u00e9mit\u00e9s. C'est cette tangente plate qui fait qu'on compare\r\n        \/\/ l'\u00e9paisseur d'un ruban \u00e0 celle de son voisin contre le pilier, l\u00e0 o\u00f9\r\n        \/\/ ils sont empil\u00e9s, et pas au milieu o\u00f9 ils se croisent.\r\n        function fluxRuban(x0, x1, a0, a1, b0, b1){\r\n            var xc = (x0 + x1) \/ 2;\r\n            return \"M\" + x0 + \",\" + a0\r\n                 + \"C\" + xc + \",\" + a0 + \" \" + xc + \",\" + b0 + \" \" + x1 + \",\" + b0\r\n                 + \"L\" + x1 + \",\" + b1\r\n                 + \"C\" + xc + \",\" + b1 + \" \" + xc + \",\" + a1 + \" \" + x0 + \",\" + a1 + \"Z\";\r\n        }\r\n\r\n        function fluxPose(sel, attr, val, delai, duree, ease){\r\n            if (reducedMotion.matches){ sel.attr(attr, val); return; }\r\n            sel.transition(\"flux\").delay(delai).duration(duree)\r\n               .ease(ease || d3.easeCubicOut).attr(attr, val);\r\n        }\r\n\r\n        \/\/ Isoler un flux : le pr\u00e9dicat dit quels rubans restent allum\u00e9s, les\r\n        \/\/ piliers suivent leurs rubans. Sans pr\u00e9dicat, tout se rallume.\r\n        function fluxIsoler(test){\r\n            if (!fluxSvg || !fluxData) return;\r\n            fluxSvg.classed(\"is-focus\", !!test);\r\n            fluxData.etages.forEach(function(E){ E.vif = false; });\r\n            fluxData.lignes.forEach(function(L){\r\n                var vif = false;\r\n                L.liens.forEach(function(l){\r\n                    var on = !!test && test(l);\r\n                    if (l.ruban) l.ruban.classed(\"is-on\", on);\r\n                    if (on){ vif = true; if (l.E) l.E.vif = true; }\r\n                });\r\n                if (L.g) L.g.classed(\"is-on\", vif);\r\n            });\r\n            fluxData.etages.forEach(function(E){ if (E.g) E.g.classed(\"is-on\", !!E.vif); });\r\n        }\r\n\r\n        function fluxTip(event, l){\r\n            var box = container.getBoundingClientRect();\r\n            var pct = l.L.projets ? Math.round(l.n \/ l.L.projets * 100) : 0;\r\n            tooltip.innerHTML = \"<strong>\" + escapeHTML(l.L.theme.label + \" \u2192 \" + l.pr.label) + \"<\\\/strong>\"\r\n                + l.n + \" projet\" + (l.n > 1 ? \"s\" : \"\") + \" sur les \" + l.L.projets\r\n                + \" de la th\u00e9matique (\" + pct + \" %)\"\r\n                + \"<em>\" + escapeHTML(l.pr.label) + \" \u00b7 \" + l.E.n + \" projets du fonds au total<\\\/em>\";\r\n            tooltip.style.opacity = 1;\r\n            var x = event.clientX - box.left + 16, y = event.clientY - box.top + 14;\r\n            if (x + 300 > box.width) x = event.clientX - box.left - 306;\r\n            tooltip.style.left = x + \"px\";\r\n            tooltip.style.top = y + \"px\";\r\n        }\r\n\r\n        function fluxTipNoeud(event, titre, corps, pied){\r\n            var box = container.getBoundingClientRect();\r\n            tooltip.innerHTML = \"<strong>\" + escapeHTML(titre) + \"<\\\/strong>\" + corps\r\n                + \"<em>\" + escapeHTML(pied) + \"<\\\/em>\";\r\n            tooltip.style.opacity = 1;\r\n            var x = event.clientX - box.left + 16, y = event.clientY - box.top + 14;\r\n            if (x + 300 > box.width) x = event.clientX - box.left - 306;\r\n            tooltip.style.left = x + \"px\";\r\n            tooltip.style.top = y + \"px\";\r\n        }\r\n\r\n        \/\/ Une th\u00e9matique renvoie \u00e0 son secteur de roue, un \u00e9tage \u00e0 sa planche.\r\n        function fluxVersRoue(key){\r\n            hideTooltip();\r\n            activateTab(\"empreinte\");\r\n            var node = root.children.find(function(c){ return c.data.themeKey === key; });\r\n            if (node) zoomTo(node);\r\n        }\r\n        function fluxVersEtage(j){\r\n            hideTooltip();\r\n            etDemande = j;\r\n            activateTab(\"etages\");\r\n        }\r\n\r\n        \/\/ anim === false : on ne rejoue pas l'arriv\u00e9e. Un redimensionnement\r\n        \/\/ n'est pas une arriv\u00e9e, et voir les noms s'\u00e9teindre puis se rallumer\r\n        \/\/ \u00e0 chaque poign\u00e9e tir\u00e9e donne l'impression d'un bug.\r\n        function renderFlux(anim){\r\n            var el = document.getElementById(\"flux\");\r\n            if (!el) return;\r\n            hideTooltip();\r\n            var D = fluxDonnees();\r\n            fluxData = D;\r\n            fluxSvg = null;\r\n\r\n            el.innerHTML = '<div class=\"fx-cadre\">'\r\n                + '<div class=\"fx-tete\">'\r\n                + '<div><p class=\"fx-eyebrow\">Th\u00e9matiques \u2192 \u00c9tages<\\\/p>'\r\n                + '<h2 class=\"fx-titre\">Qui agit \u00e0 quel \u00e9tage ?<\\\/h2><\\\/div>'\r\n                + '<p class=\"fx-mode\">L\u2019\u00e9paisseur d\u2019un ruban, c\u2019est le nombre de projets.'\r\n                + ' Survolez une th\u00e9matique pour isoler son flux, cliquez pour l\u2019ouvrir dans la roue.<\\\/p>'\r\n                + '<\\\/div>'\r\n                + '<div class=\"fx-scene\"><\\\/div>'\r\n                + '<div class=\"fx-pied\">'\r\n                + '<p class=\"fx-note\"><b>Lecture<\\\/b> \u00b7 un ruban par couple th\u00e9matique et promesse.'\r\n                + ' Un projet qui documente les trois promesses passe dans trois rubans :'\r\n                + ' les ' + D.projets + ' projets du fonds y tracent ' + D.passages + ' passages.'\r\n                + (D.muets ? ' ' + D.muets + (D.muets > 1 ? ' projets n\u2019en tracent' : ' projet n\u2019en trace')\r\n                    + ' aucun, faute de promesse document\u00e9e dans leur rapport.' : '')\r\n                + '<\\\/p>'\r\n                + '<div class=\"fx-actions\">'\r\n                + '<button class=\"fx-btn\" type=\"button\" data-vers=\"etages\">Voir les \u00e9tages<\\\/button>'\r\n                + '<button class=\"fx-btn is-fort\" type=\"button\" data-vers=\"empreinte\">Voir la roue<\\\/button>'\r\n                + '<\\\/div><\\\/div><\\\/div>';\r\n\r\n            \/\/ Le fondu d'entr\u00e9e du chapeau ne se rejoue pas tout seul apr\u00e8s un\r\n            \/\/ redimensionnement : la classe est remise en piste explicitement.\r\n            el.classList.remove(\"fx-anim\");\r\n            void el.offsetWidth;\r\n            if (!reducedMotion.matches && anim !== false) el.classList.add(\"fx-anim\");\r\n\r\n            el.querySelectorAll(\".fx-btn\").forEach(function(b){\r\n                b.addEventListener(\"click\", function(){ activateTab(b.getAttribute(\"data-vers\")); });\r\n            });\r\n\r\n            fluxDessiner(el.querySelector(\".fx-scene\"), D, anim);\r\n        }\r\n\r\n        function fluxDessiner(scene, D, anim){\r\n            if (!scene) return;\r\n            var W = scene.clientWidth, H = scene.clientHeight;\r\n            if (!W || !H || !D.lignes.length) return;\r\n\r\n            var etroit = W < 760, moyen = W < 1060;\r\n            var wLab = etroit ? 118 : moyen ? 134 : 168;   \/\/ colonne des noms de th\u00e9matique\r\n            var wPr  = etroit ? 98  : moyen ? 148 : 216;   \/\/ colonne des libell\u00e9s d'\u00e9tage\r\n            var NW   = etroit ? 9 : 12;                     \/\/ largeur d'un pilier\r\n            var padT = 8, padB = 6;\r\n            var xa = wLab + 12;\r\n            var xb = Math.max(xa + NW + 64, W - wPr - 14 - NW);\r\n\r\n            var V = D.passages;\r\n            var gapL = etroit ? 5 : 7, gapR = etroit ? 18 : 28;\r\n            var hUtile = H - padT - padB;\r\n            \/\/ La m\u00eame \u00e9chelle des deux c\u00f4t\u00e9s : c'est ce qui autorise \u00e0 comparer\r\n            \/\/ la hauteur d'une th\u00e9matique \u00e0 celle d'un \u00e9tage. Elle est donc\r\n            \/\/ command\u00e9e par le c\u00f4t\u00e9 le plus contraint, jamais r\u00e9ajust\u00e9e ensuite.\r\n            var k = Math.min(\r\n                (hUtile - (D.lignes.length - 1) * gapL) \/ V,\r\n                (hUtile - (D.etages.length - 1) * gapR) \/ V\r\n            );\r\n            if (!(k > 0)) return;\r\n\r\n            var hG = V * k + (D.lignes.length - 1) * gapL;\r\n            var y = padT + (hUtile - hG) \/ 2;\r\n            D.lignes.forEach(function(L){\r\n                L.y0 = y; L.h = L.total * k; y += L.h + gapL;\r\n                var c = L.y0;\r\n                L.liens.forEach(function(l){ l.sy0 = c; l.ep = l.n * k; c += l.ep; l.L = L; });\r\n            });\r\n\r\n            var hD = V * k + (D.etages.length - 1) * gapR;\r\n            var yd = padT + (hUtile - hD) \/ 2;\r\n            D.etages.forEach(function(E){\r\n                E.y0 = yd; E.h = E.n * k; yd += E.h + gapR;\r\n                E.curseur = E.y0;\r\n            });\r\n            \/\/ Les rubans se rangent dans l'ordre des th\u00e9matiques \u00e0 l'arriv\u00e9e,\r\n            \/\/ comme ils se rangent dans l'ordre des \u00e9tages au d\u00e9part : deux\r\n            \/\/ empilements coh\u00e9rents, donc un tressage sans croisement inutile.\r\n            D.lignes.forEach(function(L){\r\n                L.liens.forEach(function(l, j){\r\n                    var E = D.etages[j];\r\n                    l.E = E; l.ty0 = E.curseur; E.curseur += l.ep;\r\n                });\r\n            });\r\n\r\n            var svg = d3.select(scene).append(\"svg\")\r\n                .attr(\"class\", \"fx-svg\")\r\n                .attr(\"viewBox\", \"0 0 \" + W + \" \" + H)\r\n                .attr(\"preserveAspectRatio\", \"xMidYMid meet\")\r\n                .attr(\"role\", \"group\")\r\n                .attr(\"aria-label\", \"Diagramme de flux : les \" + D.lignes.length\r\n                    + \" th\u00e9matiques du fonds et les trois promesses qu\u2019elles documentent\");\r\n            fluxSvg = svg;\r\n\r\n            var defs = svg.append(\"defs\");\r\n            \/\/ Le ruban part de la teinte de sa th\u00e9matique et vire vers celle de\r\n            \/\/ sa promesse sans jamais l'atteindre : on suit un ruban de l'oeil\r\n            \/\/ par sa couleur de d\u00e9part, et l'inflexion d'arriv\u00e9e suffit \u00e0 dire\r\n            \/\/ o\u00f9 il va sans qu'une seconde cl\u00e9 de couleur soit \u00e0 apprendre.\r\n            D.lignes.forEach(function(L, i){\r\n                L.liens.forEach(function(l, j){\r\n                    l.grad = \"fis-fx-\" + i + \"-\" + j;\r\n                    var g = defs.append(\"linearGradient\")\r\n                        .attr(\"id\", l.grad).attr(\"gradientUnits\", \"userSpaceOnUse\")\r\n                        .attr(\"x1\", xa + NW).attr(\"x2\", xb);\r\n                    g.append(\"stop\").attr(\"offset\", \"0%\").attr(\"stop-color\", L.theme.color);\r\n                    g.append(\"stop\").attr(\"offset\", \"100%\")\r\n                        .attr(\"stop-color\", mix(L.theme.color, l.pr.color, 0.34));\r\n                });\r\n            });\r\n            var volet = defs.append(\"clipPath\").attr(\"id\", \"fis-fx-volet\")\r\n                .append(\"rect\").attr(\"x\", xa + NW).attr(\"y\", -20)\r\n                .attr(\"height\", H + 40).attr(\"width\", 0);\r\n\r\n            var gRubans = svg.append(\"g\").attr(\"class\", \"fx-rubans\")\r\n                .attr(\"clip-path\", \"url(#fis-fx-volet)\");\r\n            var gPiliers = svg.append(\"g\").attr(\"class\", \"fx-piliers\");\r\n\r\n            D.lignes.forEach(function(L){\r\n                L.liens.forEach(function(l){\r\n                    if (!l.n) return;\r\n                    l.ruban = gRubans.append(\"path\")\r\n                        .attr(\"class\", \"fx-ruban\")\r\n                        .attr(\"fill\", \"url(#\" + l.grad + \")\")\r\n                        .attr(\"d\", fluxRuban(xa + NW, xb, l.sy0, l.sy0 + l.ep, l.ty0, l.ty0 + l.ep))\r\n                        .on(\"mousemove\", function(e){ fluxTip(e, l); fluxIsoler(function(x){ return x === l; }); })\r\n                        .on(\"mouseleave\", function(){ hideTooltip(); fluxIsoler(null); })\r\n                        .on(\"click\", function(){ fluxVersRoue(l.L.theme.key); });\r\n                });\r\n            });\r\n\r\n            \/\/ ---- les piliers des th\u00e9matiques ----\r\n            var textes = [];\r\n            D.lignes.forEach(function(L, i){\r\n                var g = gPiliers.append(\"g\")\r\n                    .attr(\"class\", \"fx-noeud\")\r\n                    .attr(\"role\", \"button\").attr(\"tabindex\", 0)\r\n                    .attr(\"aria-label\", L.theme.label + \" : \" + L.projets + \" projet\"\r\n                        + (L.projets > 1 ? \"s\" : \"\") + \", \" + L.total\r\n                        + \" passages vers les trois \u00e9tages. Ouvrir dans la roue.\");\r\n                L.g = g;\r\n                g.append(\"rect\").attr(\"class\", \"fx-hit\")\r\n                    .attr(\"x\", 0).attr(\"y\", L.y0 - gapL \/ 2)\r\n                    .attr(\"width\", xa + NW).attr(\"height\", L.h + gapL);\r\n                L.bar = g.append(\"rect\").attr(\"class\", \"fx-pilier\")\r\n                    .attr(\"x\", xa).attr(\"y\", L.y0).attr(\"width\", NW)\r\n                    .attr(\"rx\", Math.min(3, NW \/ 3))\r\n                    .attr(\"fill\", L.theme.color)\r\n                    .attr(\"height\", reducedMotion.matches ? L.h : 0);\r\n\r\n                var cy = L.y0 + L.h \/ 2;\r\n                var deux = L.h >= 20;\r\n                var t = g.append(\"text\")\r\n                    .attr(\"class\", \"fx-libelle\").attr(\"text-anchor\", \"end\")\r\n                    .attr(\"x\", xa - 11).attr(\"fill\", L.theme.textColor);\r\n                t.append(\"tspan\").attr(\"class\", \"fx-nom\").attr(\"x\", xa - 11)\r\n                    .attr(\"y\", deux ? cy - 4 : cy + 4)\r\n                    .text(etroit ? shorten(L.theme.label, 18) : L.theme.label);\r\n                if (deux){\r\n                    t.append(\"tspan\").attr(\"class\", \"fx-compte\").attr(\"x\", xa - 11)\r\n                        .attr(\"y\", cy + 8)\r\n                        .text(moyen ? L.total + \" passages\"\r\n                            : L.projets + \" projet\" + (L.projets > 1 ? \"s\" : \"\") + \" \u00b7 \" + L.total + \" passages\");\r\n                }\r\n                textes.push(t);\r\n\r\n                var isole = function(x){ return x.L === L; };\r\n                g.on(\"mousemove\", function(e){\r\n                        fluxIsoler(isole);\r\n                        fluxTipNoeud(e, L.theme.label,\r\n                            L.projets + \" projet\" + (L.projets > 1 ? \"s\" : \"\") + \" \u00b7 \"\r\n                            + L.liens.map(function(l){ return l.n + \" \" + l.pr.label.toLowerCase(); }).join(\" \u00b7 \"),\r\n                            \"Cliquez pour ouvrir la th\u00e9matique dans la roue\");\r\n                    })\r\n                    .on(\"mouseleave\", function(){ hideTooltip(); fluxIsoler(null); })\r\n                    .on(\"click\", function(){ fluxVersRoue(L.theme.key); })\r\n                    .on(\"focus\", function(){ fluxIsoler(isole); })\r\n                    .on(\"blur\", function(){ fluxIsoler(null); })\r\n                    .on(\"keydown\", function(e){\r\n                        if (e.key === \"Enter\" || e.key === \" \"){ e.preventDefault(); fluxVersRoue(L.theme.key); }\r\n                    });\r\n            });\r\n\r\n            \/\/ ---- les piliers des \u00e9tages ----\r\n            var xt = xb + NW + 13;\r\n            D.etages.forEach(function(E){\r\n                var pct = D.projets ? Math.round(E.n \/ D.projets * 100) : 0;\r\n                var g = gPiliers.append(\"g\")\r\n                    .attr(\"class\", \"fx-etage\")\r\n                    .attr(\"role\", \"button\").attr(\"tabindex\", 0)\r\n                    .attr(\"aria-label\", E.pr.label + \" : \" + E.n + \" projets sur \"\r\n                        + D.projets + \" documentent cette promesse. Ouvrir la planche des \u00e9tages.\");\r\n                E.g = g;\r\n                g.append(\"rect\").attr(\"class\", \"fx-hit\")\r\n                    .attr(\"x\", xb).attr(\"y\", E.y0 - gapR \/ 2)\r\n                    .attr(\"width\", Math.max(0, W - xb)).attr(\"height\", E.h + gapR);\r\n                E.bar = g.append(\"rect\").attr(\"class\", \"fx-pilier\")\r\n                    .attr(\"x\", xb).attr(\"y\", E.y0).attr(\"width\", NW)\r\n                    .attr(\"rx\", Math.min(3, NW \/ 3))\r\n                    .attr(\"fill\", E.pr.color)\r\n                    .attr(\"height\", reducedMotion.matches ? E.h : 0);\r\n\r\n                var cy = E.y0 + E.h \/ 2;\r\n                var phrase = (!etroit && wPr >= 190) ? wrapWords(E.pr.phrase, 32) : [];\r\n                var haut = cy - (phrase.length * 11) \/ 2 - 6;\r\n                var t = g.append(\"text\").attr(\"class\", \"fx-libelle\")\r\n                    .attr(\"x\", xt).attr(\"fill\", E.pr.textColor);\r\n                t.append(\"tspan\").attr(\"class\", \"fx-et-nom\").attr(\"x\", xt).attr(\"y\", haut)\r\n                    .text(E.pr.label);\r\n                t.append(\"tspan\").attr(\"class\", \"fx-et-val\").attr(\"x\", xt).attr(\"y\", haut + 16)\r\n                    .text(etroit ? E.n + \" projets\"\r\n                        : E.n + \" projets sur \" + D.projets + \" \u00b7 \" + pct + \" %\");\r\n                phrase.forEach(function(ligne, q){\r\n                    t.append(\"tspan\").attr(\"class\", \"fx-et-phrase\").attr(\"x\", xt)\r\n                        .attr(\"y\", haut + 32 + q * 11).text(ligne);\r\n                });\r\n                textes.push(t);\r\n\r\n                var isole = function(x){ return x.E === E; };\r\n                g.on(\"mousemove\", function(e){\r\n                        fluxIsoler(isole);\r\n                        fluxTipNoeud(e, E.pr.label,\r\n                            E.n + \" projets sur \" + D.projets + \" documentent cette promesse (\"\r\n                            + pct + \" %)\",\r\n                            \"Cliquez pour ouvrir sa planche dans Les trois \u00e9tages\");\r\n                    })\r\n                    .on(\"mouseleave\", function(){ hideTooltip(); fluxIsoler(null); })\r\n                    .on(\"click\", function(){ fluxVersEtage(E.j); })\r\n                    .on(\"focus\", function(){ fluxIsoler(isole); })\r\n                    .on(\"blur\", function(){ fluxIsoler(null); })\r\n                    .on(\"keydown\", function(e){\r\n                        if (e.key === \"Enter\" || e.key === \" \"){ e.preventDefault(); fluxVersEtage(E.j); }\r\n                    });\r\n            });\r\n\r\n            \/\/ ---- l'entr\u00e9e : la g\u00e9om\u00e9trie d'abord, muette, les mots ensuite ----\r\n            \/\/ Les piliers de d\u00e9part poussent, les rubans se d\u00e9roulent de gauche \u00e0 droite\r\n            \/\/ derri\u00e8re un volet, les piliers d'arriv\u00e9e montent quand les rubans\r\n            \/\/ les atteignent. Rien n'est \u00e9crit tant que quelque chose bouge :\r\n            \/\/ un nom qui voyage avec sa barre ne se lit pas, il clignote.\r\n            if (reducedMotion.matches || anim === false){\r\n                volet.attr(\"width\", Math.max(0, xb - xa - NW));\r\n                textes.forEach(function(t){ t.attr(\"opacity\", 1); });\r\n                D.lignes.forEach(function(L){ L.bar.attr(\"height\", L.h); });\r\n                D.etages.forEach(function(E){ E.bar.attr(\"height\", E.h); });\r\n                return;\r\n            }\r\n            var T_RUBANS = 340, T_ETAGES = 980, T_TEXTE = 1520;\r\n            D.lignes.forEach(function(L, i){\r\n                fluxPose(L.bar, \"height\", L.h, i * 42, 520);\r\n            });\r\n            fluxPose(volet, \"width\", Math.max(0, xb - xa - NW), T_RUBANS, 760, d3.easeCubicInOut);\r\n            D.etages.forEach(function(E, i){\r\n                fluxPose(E.bar, \"height\", E.h, T_ETAGES + i * 90, 520);\r\n            });\r\n            textes.forEach(function(t, i){\r\n                t.attr(\"opacity\", 0).transition(\"flux\")\r\n                    .delay(T_TEXTE + Math.min(i * 48, 560))\r\n                    .duration(380).attr(\"opacity\", 1);\r\n            });\r\n        }\r\n\r\n        \/\/ ============ 5 ter. DESSIN DE LA FLEUR ============\r\n        \/\/ R\u00e9p\u00e8te un motif tout autour du centre.\r\n        function floraRing(markup, count, offsetDeg){\r\n            var out = [], i;\r\n            for (i = 0; i < count; i++){\r\n                out.push('<g transform=\"rotate(' + (offsetDeg + i * 360 \/ count).toFixed(2) + ')\">'\r\n                    + markup + '<\\\/g>');\r\n            }\r\n            return out.join(\"\");\r\n        }\r\n\r\n        \/\/ Lance effil\u00e9e, pointe vers l'ext\u00e9rieur (mont\u00e9e en comp\u00e9tences).\r\n        function floraRay(){\r\n            var r0 = 15, r1 = 45, w = 4.4;\r\n            var m1 = -(r0 + (r1 - r0) * 0.50), m2 = -(r0 + (r1 - r0) * 0.10);\r\n            return '<path d=\"M0,' + (-r1)\r\n                + 'C' + w + ',' + m1 + ' ' + (w * 0.85) + ',' + m2 + ' 0,' + (-r0)\r\n                + 'C' + (-w * 0.85) + ',' + m2 + ' ' + (-w) + ',' + m1 + ' 0,' + (-r1) + 'Z\"\/>';\r\n        }\r\n\r\n        \/\/ P\u00e9tale en coeur, pointe vers l'ext\u00e9rieur (lien social).\r\n        function floraPetal(){\r\n            var r0 = 12, r1 = 31, s = (r1 - r0) \/ 1.85;\r\n            function P(x, y){\r\n                return (x * s * 0.86).toFixed(2) + ',' + ((y + 1) * s - r1).toFixed(2);\r\n            }\r\n            return '<path d=\"M' + P(0, -1)\r\n                + 'C' + P(-1.12, -0.04) + ' ' + P(-0.88, 0.85) + ' ' + P(-0.40, 0.85)\r\n                + 'C' + P(-0.06, 0.85) + ' ' + P(0, 0.52) + ' ' + P(0, 0.34)\r\n                + 'C' + P(0, 0.52) + ' ' + P(0.06, 0.85) + ' ' + P(0.40, 0.85)\r\n                + 'C' + P(0.88, 0.85) + ' ' + P(1.12, -0.04) + ' ' + P(0, -1) + 'Z\"\/>';\r\n        }\r\n\r\n        \/\/ Vrille \u00e0 deux brins termin\u00e9s par une perle (changement de comportement).\r\n        \/\/ Les brins montent puis se recourbent vers l'ext\u00e9rieur : c'est cette\r\n        \/\/ courbure qui distingue la couche des lances jaunes, rectilignes.\r\n        function floraTendril(color){\r\n            var r0 = 13, tx = 18.5, ty = 31;\r\n            function brin(s){\r\n                return '<path d=\"M0,' + (-r0)\r\n                    + 'C' + (s * 1.5) + ',' + (-(r0 + 13))\r\n                    + ' ' + (s * 9) + ',' + (-(r0 + 26))\r\n                    + ' ' + (s * tx) + ',' + (-ty) + '\"\/>'\r\n                    + '<circle cx=\"' + (s * tx) + '\" cy=\"' + (-ty)\r\n                    + '\" r=\"2.2\" fill=\"' + color + '\" stroke=\"none\"\/>';\r\n            }\r\n            return brin(-1) + brin(1);\r\n        }\r\n\r\n        \/\/ Coeur de fleur grain\u00e9 (sorties positives) : la seule couche pleine,\r\n        \/\/ elle ancre le glyphe et reste lisible m\u00eame tr\u00e8s r\u00e9duite.\r\n        function floraSeed(color, dark){\r\n            var out = '<circle r=\"11.4\" fill=\"' + color + '\"\/>', i, a;\r\n            for (i = 0; i < 13; i++){\r\n                a = i \/ 13 * 2 * Math.PI;\r\n                out += '<circle cx=\"' + (Math.cos(a) * 10.6).toFixed(2)\r\n                    + '\" cy=\"' + (Math.sin(a) * 10.6).toFixed(2) + '\" r=\"2.7\" fill=\"' + color + '\"\/>';\r\n            }\r\n            \/\/ Le grain sombre du coeur, isol\u00e9 dans son groupe : les plans en\r\n            \/\/ fuite des \u00e9tages le retirent, trente cercles ne valant pas\r\n            \/\/ d'\u00eatre peints quand la fleur tient en deux pixels.\r\n            var grain = '<circle r=\"1.55\" fill=\"' + dark + '\"\/>';\r\n            for (i = 0; i < 6; i++){\r\n                a = i \/ 6 * 2 * Math.PI;\r\n                grain += '<circle cx=\"' + (Math.cos(a) * 4.7).toFixed(2)\r\n                    + '\" cy=\"' + (Math.sin(a) * 4.7).toFixed(2) + '\" r=\"1.55\" fill=\"' + dark + '\"\/>';\r\n            }\r\n            for (i = 0; i < 11; i++){\r\n                a = i \/ 11 * 2 * Math.PI + 0.28;\r\n                grain += '<circle cx=\"' + (Math.cos(a) * 8.7).toFixed(2)\r\n                    + '\" cy=\"' + (Math.sin(a) * 8.7).toFixed(2) + '\" r=\"1.5\" fill=\"' + dark + '\"\/>';\r\n            }\r\n            return out + '<g class=\"fl-grain\">' + grain + '<\\\/g>';\r\n        }\r\n\r\n        \/\/ Rend UNE couche si elle est renseign\u00e9e, rien sinon.\r\n        function floraLayer(L, state){\r\n            if (state === \"none\") return \"\";\r\n            var col = L.color;\r\n            if (L.shape === \"seed\"){\r\n                return '<g>' + floraSeed(col, d3.color(col).darker(1.9).formatHex()) + '<\\\/g>';\r\n            }\r\n            var head = '<g fill=\"none\" stroke=\"' + col + '\" stroke-width=\"2.1\"'\r\n                + ' stroke-linejoin=\"round\" stroke-linecap=\"round\">';\r\n            if (L.shape === \"ray\")   return head + floraRing(floraRay(), 5, 36) + '<\\\/g>';\r\n            if (L.shape === \"petal\") return head + floraRing(floraPetal(), 5, 0) + '<\\\/g>';\r\n            \/\/ Les vrilles tournaient en 6 quand les lances et les p\u00e9tales\r\n            \/\/ tournent en 5 : les deux sym\u00e9tries ne co\u00efncidaient sur aucun axe,\r\n            \/\/ la couche verte paraissait d\u00e9cal\u00e9e et cassait la fleur. Elle\r\n            \/\/ reprend le pas de 5, sur l'axe des lances qu'elle encadre.\r\n            return head + floraRing(floraTendril(col), 5, 36) + '<\\\/g>';\r\n        }\r\n\r\n        \/\/ Le CORPS de la fleur, sans son cadre : la fiche et la galerie\r\n        \/\/ l'enveloppent dans un svg, les \u00e9tages en font un symbol pos\u00e9\r\n        \/\/ quarante-huit fois par plan.\r\n        function floraBody(states){\r\n            var body = \"\";\r\n            FLORA_LAYERS.forEach(function(L){ body += floraLayer(L, states[L.key] || \"none\"); });\r\n            \/\/ Sans coeur, le glyphe n'aurait plus de centre : un anneau t\u00e9moin\r\n            \/\/ marque la place vide plut\u00f4t que de laisser un blanc inexplicable.\r\n            if (states.sorties === \"none\"){\r\n                body += '<circle r=\"4.2\" fill=\"none\" stroke=\"rgba(31,49,71,0.22)\" stroke-width=\"1.3\"\/>';\r\n            }\r\n            return body;\r\n        }\r\n        function floraGlyph(states){\r\n            return '<svg class=\"fl-glyph\" viewBox=\"-52 -52 104 104\" aria-hidden=\"true\">'\r\n                + floraBody(states) + '<\\\/svg>';\r\n        }\r\n\r\n        \/\/ Seize silhouettes possibles (quatre couches, pr\u00e9sentes ou non) : on\r\n        \/\/ les dessine UNE fois dans defs et chaque fleur d'un plan n'est plus\r\n        \/\/ qu'un use. Sans cela, quarante-huit fleurs sur trois \u00e9tages\r\n        \/\/ feraient plus de six mille noeuds \u00e0 recomposer \u00e0 chaque pas de\r\n        \/\/ descente. Deux familles : la compl\u00e8te, et la m\u00eame sans le grain du\r\n        \/\/ coeur \u2014 trente cercles par fleur ne valent pas d'\u00eatre peints tant\r\n        \/\/ qu'ils tiennent en deux pixels, sur les plans en fuite.\r\n        var FL_PREFIX = \"reu-fl-\";\r\n        var FL_PREFIX_PLAN = \"reu-flp-\";\r\n        function floraCode(states){\r\n            return FLORA_LAYERS.map(function(L){\r\n                return states[L.key] === \"none\" ? \"0\" : \"1\";\r\n            }).join(\"\");\r\n        }\r\n        function floraDefs(){\r\n            \/\/ symbol et non g : seul le premier accepte qu'un use lui\r\n            \/\/ impose une largeur et une hauteur, ce dont une fleur pos\u00e9e sur\r\n            \/\/ une case de damier a pr\u00e9cis\u00e9ment besoin.\r\n            var out = '<defs>', i, k, code, states, corps;\r\n            var tete = '<symbol viewBox=\"-52 -52 104 104\" overflow=\"visible\" id=\"';\r\n            for (i = 0; i < 16; i++){\r\n                code = (\"000\" + i.toString(2)).slice(-4);\r\n                states = {};\r\n                for (k = 0; k < 4; k++) states[FLORA_LAYERS[k].key] = code[k] === \"1\" ? \"full\" : \"none\";\r\n                \/\/ Trait renforc\u00e9 sur les \u00e9tages, dont les fleurs sont vues en perspective.\r\n                corps = floraBody(states).replace(\/stroke-width=\"2\\.1\"\/g, 'stroke-width=\"2.8\"');\r\n                out += tete + FL_PREFIX + code + '\">' + corps + '<\\\/symbol>';\r\n                out += tete + FL_PREFIX_PLAN + code + '\">'\r\n                    + corps.replace(\/<g class=\"fl-grain\">[\\s\\S]*?<\\\/g>\/g, \"\") + '<\\\/symbol>';\r\n            }\r\n            return out + '<\\\/defs>';\r\n        }\r\n\r\n\r\n        \/\/ ============ 5 quater. GALERIE DES FLEURS ============\r\n        \/\/ La roue ne montre l'empreinte que d'un projet \u00e0 la fois, dans la\r\n        \/\/ fiche ouverte. Ici les fleurs sont pos\u00e9es c\u00f4te \u00e0 c\u00f4te : la\r\n        \/\/ comparaison des silhouettes devient imm\u00e9diate, et les th\u00e9matiques\r\n        \/\/ servent de rang\u00e9es plut\u00f4t que de secteurs.\r\n        function leafFor(p){\r\n            if (!root) return null;\r\n            var trouve = null;\r\n            root.leaves().forEach(function(n){\r\n                if (!trouve && n.data.projet === p) trouve = n;\r\n            });\r\n            return trouve;\r\n        }\r\n\r\n        \/\/ Bo\u00eete de taille fixe autour d'un glyphe : le SVG la remplit, quelle\r\n        \/\/ que soit la feuille de style du site qui h\u00e9berge la roue.\r\n        function glyphBox(markup){\r\n            return '<span class=\"fg-glyph-box\">' + markup + '<\\\/span>';\r\n        }\r\n\r\n        function floraCard(p, node, i){\r\n            var s = p.floraStates;\r\n            var n = floraScore(s);\r\n            var couleur = node ? (node.data.themeColorText || node.data.themeColor) : \"#1f3147\";\r\n            var titre = p.porteur || p.projet;\r\n            var sous = (p.porteur && p.projet && p.projet !== p.porteur) ? p.projet : \"\";\r\n            return '<div class=\"fg-card' + (n ? '' : ' is-empty') + '\" role=\"button\" tabindex=\"0\"'\r\n                + ' data-i=\"' + i + '\" style=\"--card-color:' + couleur + '\"'\r\n                + ' title=\"' + escapeHTML(titre + (sous ? \" \u00b7 \" + sous : \"\")\r\n                    + (p.territoire ? \" \u00b7 \" + p.territoire : \"\")) + '\">'\r\n                + glyphBox(floraGlyph(s))\r\n                + '<span class=\"fg-name\">' + escapeHTML(titre) + '<\\\/span>'\r\n                + '<span class=\"fg-proj\">' + (sous ? escapeHTML(sous) : '') + '<\\\/span>'\r\n                + '<span class=\"fg-score\">' + n + '\/' + FLORA_LAYERS.length + '<\\\/span>'\r\n                + '<\\\/div>';\r\n        }\r\n\r\n        \/\/ La l\u00e9gende des th\u00e9matiques flotte en bas \u00e0 gauche, par-dessus la roue\r\n        \/\/ et le radar. Dans la galerie, cette m\u00eame bande gauche porte le chapeau\r\n        \/\/ et la cl\u00e9 de lecture : deux bo\u00eetes ind\u00e9pendantes dans un m\u00eame couloir,\r\n        \/\/ l'une ancr\u00e9e en haut et l'autre en bas, finissent par se recouvrir d\u00e8s\r\n        \/\/ que la fen\u00eatre est basse. On range donc la l\u00e9gende DANS la colonne,\r\n        \/\/ sous la cl\u00e9, o\u00f9 elle reprend simplement sa place dans le flux.\r\n        var galerieLarge = window.matchMedia(\"(min-width: 1000px)\");\r\n        function rangerLegende(){\r\n            var legend = document.getElementById(\"legend\");\r\n            var cible = document.querySelector(\"#reu-roue-wp .header\");\r\n            var note = cible.querySelector(\".reading-note\");\r\n            if (legend.parentNode !== cible) cible.insertBefore(legend, note);\r\n            legend.classList.remove(\"is-inline\");\r\n        }\r\n\r\n        function renderFlora(){\r\n            var el = document.getElementById(\"flora-grid\");\r\n            if (!el) return;\r\n            \/\/ La l\u00e9gende peut \u00eatre rang\u00e9e dans la colonne : l'en sortir AVANT de\r\n            \/\/ r\u00e9\u00e9crire le contenu, sinon innerHTML l'emporterait avec le reste.\r\n            rangerLegende(false);\r\n            var headerEl = document.querySelector(\"#reu-roue-wp .header\");\r\n            el.style.top = ((headerEl ? headerEl.getBoundingClientRect().height : 190) + 18) + \"px\";\r\n\r\n            var list = radarProjets();\r\n            var docs = list.filter(function(p){ return documented(p); }).length;\r\n            var cartes = [];   \/\/ index stable pour retrouver le projet au clic\r\n            \/\/ Les th\u00e9matiques les mieux fournies ouvrent la galerie : on entre\r\n            \/\/ par l\u00e0 o\u00f9 le fonds a le plus financ\u00e9, et la queue de corpus se\r\n            \/\/ lit en fin de page. L'ordre de THEMES, lui, tient la roue, o\u00f9 il\r\n            \/\/ dit autre chose : il n'est pas touch\u00e9 ici.\r\n            var themes = (radarScope\r\n                ? THEMES.filter(function(t){ return t.key === radarScope; })\r\n                : THEMES.slice()\r\n            ).sort(function(a, b){\r\n                var na = (byTheme.get(a.key) || []).length;\r\n                var nb = (byTheme.get(b.key) || []).length;\r\n                if (nb !== na) return nb - na;\r\n                return String(a.label).localeCompare(String(b.label), \"fr\");\r\n            });\r\n\r\n            \/\/ Rappel des quatre couches : une couche seule, dessin\u00e9e avec le\r\n            \/\/ m\u00eame code que la fleur, plut\u00f4t qu'une pastille de couleur.\r\n            var cle = floraKey();\r\n\r\n            var corps = themes.map(function(t){\r\n                var sub = (byTheme.get(t.key) || []).slice().sort(function(a, b){\r\n                    \/\/ Les empreintes les plus compl\u00e8tes d'abord : la rang\u00e9e se\r\n                    \/\/ lit alors comme un d\u00e9grad\u00e9 du plus au moins document\u00e9.\r\n                    if (b.empreinte !== a.empreinte) return b.empreinte - a.empreinte;\r\n                    return String(a.porteur || a.projet).localeCompare(String(b.porteur || b.projet), \"fr\");\r\n                });\r\n                if (!sub.length) return \"\";\r\n                var pleines = sub.filter(function(p){ return documented(p); }).length;\r\n                return '<p class=\"fg-theme\"><span class=\"legend-dot\" style=\"--dot-color:'\r\n                    + t.color + '\"><\\\/span>' + escapeHTML(t.label)\r\n                    + '<span class=\"fg-theme-count\">' + pleines + '\/' + sub.length\r\n                    + ' document\u00e9es<\\\/span><\\\/p>'\r\n                    + '<div class=\"fg-cards\">' + sub.map(function(p){\r\n                        var node = leafFor(p);\r\n                        cartes.push({ projet: p, node: node });\r\n                        return floraCard(p, node, cartes.length - 1);\r\n                    }).join(\"\") + '<\\\/div>';\r\n            }).join(\"\");\r\n\r\n            el.innerHTML = '<div class=\"fg-intro\"><p class=\"fg-caption\">Les <strong>' + list.length\r\n                + ' fiches d\u2019impact du FIS<\\\/strong> c\u00f4te \u00e0 c\u00f4te'\r\n                + (radarScope ? ' en ' + escapeHTML(themeLabel(radarScope)) : ' (corpus entier)')\r\n                + '. Le FIS est le fonds d\u2019innovation sociale ; chaque couche pr\u00e9sente = une dimension renseign\u00e9e par le porteur. '\r\n                + docs + ' association' + (docs > 1 ? 's en' : ' en') + ' renseigne'\r\n                + (docs > 1 ? 'nt' : '') + ' au moins une. Cliquez une fleur pour ouvrir sa fiche.<\\\/p>'\r\n                + cle + '<\\\/div><div class=\"fg-body\">' + corps + '<\\\/div>';\r\n\r\n            el.querySelectorAll(\".fg-card\").forEach(function(btn){\r\n                var ouvrir = function(){\r\n                    var c = cartes[+btn.getAttribute(\"data-i\")];\r\n                    if (!c || !c.node) return;\r\n                    el.querySelectorAll(\".fg-card.is-selected\").forEach(function(o){\r\n                        o.classList.remove(\"is-selected\");\r\n                    });\r\n                    btn.classList.add(\"is-selected\");\r\n                    openDetail(c.node);\r\n                };\r\n                btn.addEventListener(\"click\", ouvrir);\r\n                \/\/ La carte n'est plus un button : le clavier doit \u00eatre rec\u00e2bl\u00e9\r\n                \/\/ \u00e0 la main pour que la galerie reste navigable au clavier.\r\n                btn.addEventListener(\"keydown\", function(e){\r\n                    if (e.key === \"Enter\" || e.key === \" \" || e.key === \"Spacebar\"){\r\n                        e.preventDefault();\r\n                        ouvrir();\r\n                    }\r\n                });\r\n            });\r\n\r\n            rangerLegende(galerieLarge.matches);\r\n            var colonne = el.querySelector(\".fg-intro\");\r\n            if (colonne) colonne.style.maxHeight = el.clientHeight > 40\r\n                ? (el.clientHeight - 6) + \"px\" : \"\";\r\n        }\r\n\r\n        function setViewMode(){\r\n            document.getElementById(\"reu-roue-wp\").dataset.view = indicator.key;\r\n            var freinsOn = isRadar();\r\n            var fleursOn = isFleurs();\r\n            var etagesOn = isEtages();\r\n            var rangOn = isClassement();\r\n            var fluxOn = isFlux();\r\n            var showRadar = freinsOn && freinsMode === \"radar\";\r\n            var showBars = freinsOn && freinsMode === \"bars\";\r\n            var roueOn = !freinsOn && !fleursOn && !etagesOn && !rangOn && !fluxOn;\r\n\r\n            ornamentGroup.style(\"display\", roueOn ? null : \"none\");\r\n            roseGrid.style(\"display\", roueOn ? null : \"none\");\r\n            roseNums.style(\"display\", roueOn ? null : \"none\");\r\n            arcsGroup.style(\"display\", roueOn ? null : \"none\");\r\n            labelsGroup.style(\"display\", roueOn ? null : \"none\");\r\n            centerGroup.style(\"display\", roueOn ? null : \"none\").attr(\"aria-hidden\", roueOn ? null : \"true\");\r\n            labelsGroup.attr(\"aria-hidden\", roueOn ? null : \"true\");\r\n            radarGroup.style(\"display\", showRadar ? null : \"none\").attr(\"aria-hidden\", showRadar ? null : \"true\");\r\n            svg.style(\"display\", (showBars || fleursOn || etagesOn || rangOn || fluxOn) ? \"none\" : null);\r\n\r\n            var modes = document.getElementById(\"freins-modes\");\r\n            if (modes) modes.hidden = !freinsOn;\r\n            var bars = document.getElementById(\"freins-bars\");\r\n            if (bars) bars.hidden = !showBars;\r\n            var grid = document.getElementById(\"flora-grid\");\r\n            if (grid) grid.hidden = !fleursOn;\r\n            var etages = document.getElementById(\"etages\");\r\n            if (etages) etages.hidden = !etagesOn;\r\n            var rang = document.getElementById(\"classement\");\r\n            if (rang) rang.hidden = !rangOn;\r\n            var flux = document.getElementById(\"flux\");\r\n            if (flux) flux.hidden = !fluxOn;\r\n            \/\/ Sur la roue, le KPI + fil d'Ariane (repris du design aer) couvrent\r\n            \/\/ d\u00e9j\u00e0 ce coin de l'\u00e9cran ; la l\u00e9gende ne redevient utile \u2014 comme\r\n            \/\/ filtre par th\u00e9matique \u2014 que sur Freins et Fleurs.\r\n            var legend = document.getElementById(\"legend\");\r\n            if (legend){\r\n                \/\/ Le classement porte sa propre pastille de couleur sur chaque\r\n                \/\/ ligne : une l\u00e9gende par-dessus ferait doublon.\r\n                legend.hidden = roueOn || rangOn || fluxOn;\r\n                \/\/ Le filtre ne se replie en menu que dans la galerie : sur les\r\n                \/\/ freins il flotte seul dans un coin vide, o\u00f9 la liste ouverte\r\n                \/\/ ne g\u00eane personne et se lit d'un coup d'oeil.\r\n                legend.classList.toggle(\"is-menu\", fleursOn || etagesOn || window.innerWidth <= 860);\r\n                if (!fleursOn){ legend.classList.remove(\"is-open\"); document.getElementById(\"legend-trigger\").setAttribute(\"aria-expanded\", \"false\"); }\r\n            }\r\n            \/\/ Quitter la galerie emporterait la l\u00e9gende avec elle : la grille\r\n            \/\/ est masqu\u00e9e d'un bloc, l\u00e9gende rang\u00e9e comprise.\r\n            if (!fleursOn) rangerLegende(false);\r\n\r\n            rangerLegende();\r\n            renderExplorer();\r\n            updateRoueModes();\r\n            syncArcAccessibility();\r\n            if (showRadar){\r\n                computeSize();\r\n                renderRadar();\r\n            }\r\n            else if (showBars) renderBars();\r\n            else if (fleursOn) renderFlora();\r\n            else if (etagesOn){ etActif = etDemande; etDemande = -1; renderEtages(); }\r\n            else if (rangOn) renderClassement();\r\n            else if (fluxOn) renderFlux();\r\n            var surface = fluxOn ? flux : rangOn ? rang : etagesOn ? etages : fleursOn ? grid : showBars ? bars : svg.node();\r\n            if (surface && surface.animate && !reducedMotion.matches){\r\n                surface.animate([{opacity:0,transform:\"translateY(10px)\"},{opacity:1,transform:\"translateY(0)\"}],{duration:560,easing:\"cubic-bezier(.22,1,.36,1)\"});\r\n            }\r\n        }\r\n\r\n        function refreshFreinsView(anim){\r\n            if (freinsMode === \"bars\") renderBars(); else renderRadar(anim);\r\n        }\r\n\r\n        \/\/ ============ 6. ZOOM ============\r\n        \/\/ G\u00e9om\u00e9trie d'un noeud focalis\u00e9 : part angulaire ramen\u00e9e au tour\r\n        \/\/ complet, anneaux d\u00e9cal\u00e9s de sa profondeur.\r\n        function focusBox(d, p){\r\n            return {\r\n                x0: Math.max(0, Math.min(1, (d.x0 - p.x0) \/ (p.x1 - p.x0))) * 2 * Math.PI,\r\n                x1: Math.max(0, Math.min(1, (d.x1 - p.x0) \/ (p.x1 - p.x0))) * 2 * Math.PI,\r\n                y0: Math.max(0, d.y0 - p.depth),\r\n                y1: Math.max(0, d.y1 - p.depth),\r\n                \/\/ k voyage dans la bo\u00eete : d3.interpolate le tween comme les\r\n                \/\/ angles, et la longueur des p\u00e9tales se r\u00e8gle donc toute seule\r\n                \/\/ pendant le zoom, sans une ligne d'animation en plus.\r\n                k: roseK(d, p)\r\n            };\r\n        }\r\n\r\n        \/\/ Deux images s\u00e9parent l'arr\u00eat de la roue du rallumage du texte. Un\r\n        \/\/ nouveau clic peut tomber entre les deux : le jeton dit au travail\r\n        \/\/ d'arriv\u00e9e que son zoom n'est plus celui qu'on regarde.\r\n        var zoomSeq = 0;\r\n        var image = function(fn){\r\n            if (reducedMotion.matches) return fn();\r\n            requestAnimationFrame(fn);\r\n        };\r\n\r\n        function zoomTo(p){\r\n            \/\/ Le jeton est pris APR\u00c8S le garde-fou : un appel sans objet\r\n            \/\/ n'annulerait pas le rallumage du zoom pr\u00e9c\u00e9dent.\r\n            if (!p || p === focus) return;\r\n            var seq = ++zoomSeq;\r\n            highlight(null);\r\n            pathSel.interrupt(\"intro\").interrupt(\"zoom\");\r\n            labelSel.interrupt(\"entree\").interrupt(\"sortie\").interrupt(\"zoom\");\r\n            \/\/ Un recalage en cours (la fiche vient de s'ouvrir) tient les\r\n            \/\/ libell\u00e9s \u00e9teints : le zoom le reprend \u00e0 son compte, sinon ils\r\n            \/\/ resteraient invisibles jusqu'au prochain redimensionnement.\r\n            svg.interrupt(\"recale\");\r\n            clearTimeout(recaleTimer);\r\n            labelsGroup.interrupt(\"intro\").interrupt(\"recale\").attr(\"opacity\",1);\r\n            centerGroup.interrupt(\"intro\").attr(\"opacity\",1);\r\n            if (centerLabel) centerLabel.interrupt(\"recale\").attr(\"opacity\",1);\r\n            ornamentGroup.interrupt(\"recale\").attr(\"opacity\",1);\r\n            focus = p;\r\n            closeTooltip();\r\n            updateRoueModes();\r\n            root.each(function(d){\r\n                d.target = focusBox(d, p);\r\n                \/\/ Un arc invisible avant ET apr\u00e8s le zoom n'a aucune raison\r\n                \/\/ d'\u00eatre anim\u00e9 : on le pose directement \u00e0 l'arriv\u00e9e. Sur cette\r\n                \/\/ roue, les deux tiers des arcs sont dans ce cas \u00e0 chaque zoom,\r\n                \/\/ et c'est autant de chemins SVG recalcul\u00e9s \u00e0 chaque frame.\r\n                d.bouge = visible(d.current) || visible(d.target);\r\n            });\r\n\r\n            var t = svg.transition(\"zoom\").duration(motion(860)).ease(d3.easeCubicInOut);\r\n\r\n            \/\/ La lecture au poids r\u00e9el suit le zoom : on entre dans une\r\n            \/\/ th\u00e9matique, les p\u00e9tales reprennent leur pleine \u00e9paisseur (par k,\r\n            \/\/ port\u00e9 par les bo\u00eetes) et le coeur retrouve sa taille, dans le\r\n            \/\/ m\u00eame mouvement. Au retour au centre, ils se red\u00e9ploient de m\u00eame.\r\n            var roseDep = roseP, roseFin = roseCible(p);\r\n            if (roseDep !== roseFin){\r\n                roseFade(0, 0, 200);\r\n                t.tween(\"trou\", function(){\r\n                    var i = d3.interpolate(roseDep, roseFin);\r\n                    return function(tt){\r\n                        roseP = i(tt);\r\n                        innerR = radius * trou();\r\n                        centerGroup.select(\"circle\").attr(\"r\", innerR - 8);\r\n                    };\r\n                });\r\n            }\r\n\r\n            \/\/ Le halo des libell\u00e9s (paint-order stroke) et le rendu haute\r\n            \/\/ pr\u00e9cision des arcs sont co\u00fbteux \u00e0 chaque frame : on les coupe\r\n            \/\/ pendant le mouvement, o\u00f9 personne ne lit, et on les r\u00e9tablit \u00e0\r\n            \/\/ l'arriv\u00e9e. C'est l\u00e0 que se jouait l'essentiel des saccades.\r\n            g.classed(\"is-moving\", true);\r\n\r\n            var immobiles = pathSel.filter(function(d){ return !d.bouge; });\r\n            immobiles.each(function(d){ d.current = d.target; })\r\n                .attr(\"fill-opacity\", 0)\r\n                .attr(\"stroke-opacity\", 0)\r\n                .attr(\"pointer-events\", \"none\")\r\n                .attr(\"d\", function(d){ return arc(d.current); });\r\n\r\n            pathSel.filter(function(d){ return d.bouge; }).transition(t)\r\n                .tween(\"data\", function(d){\r\n                    var i = d3.interpolate(d.current, d.target);\r\n                    return function(tt){ d.current = i(tt); };\r\n                })\r\n                .attr(\"fill-opacity\", function(d){ return visible(d.target) ? 1 : 0; })\r\n                .attr(\"stroke-opacity\", function(d){ return visible(d.target) ? 1 : 0; })\r\n                .attrTween(\"d\", function(d){ return function(){ return arc(d.current); }; });\r\n\r\n            \/\/ La roue s'ouvre MUETTE. Un libell\u00e9 radial pouvait techniquement\r\n            \/\/ suivre son arc (une transformation par image, rien de plus), mais\r\n            \/\/ on lisait alors, pendant toute l'ouverture, des mots qui tournaient\r\n            \/\/ en changeant de corps et de d\u00e9coupe, quand les tangentiels, eux,\r\n            \/\/ s'\u00e9teignaient : deux r\u00e9gimes de texte dans un seul mouvement. Tout\r\n            \/\/ s'\u00e9teint donc ensemble, d'un fondu sinuso\u00efdal qui part sans\r\n            \/\/ \u00e0-coup, et end.solde rallume sur des arcs immobiles. C'est aussi\r\n            \/\/ une mise en page de moins par zoom : la destination n'a plus\r\n            \/\/ besoin d'\u00eatre compos\u00e9e avant le mouvement, puisque plus personne\r\n            \/\/ ne la montre.\r\n            var eteindre = function(sel, nom){\r\n                sel.interrupt(nom).transition(nom)\r\n                    .duration(motion(240)).ease(d3.easeSinIn)\r\n                    .attr(\"opacity\", 0);\r\n            };\r\n            eteindre(labelSel, \"sortie\");\r\n            eteindre(centerLabel, \"centre\");\r\n\r\n            \/\/ Interruption par un nouveau clic : surtout NE PAS solder ici.\r\n            \/\/ d.target appartient d\u00e9j\u00e0 au zoom suivant, s'y t\u00e9l\u00e9porter\r\n            \/\/ supprimerait son animation. La position courante est une\r\n            \/\/ g\u00e9om\u00e9trie valide, le zoom suivant repart de l\u00e0.\r\n            t.on(\"interrupt.solde\", function(){ g.classed(\"is-moving\", false); });\r\n            \/\/ Arriv\u00e9e : on pose la g\u00e9om\u00e9trie exacte et on r\u00e9tablit le rendu\r\n            \/\/ soign\u00e9. Sans \u00e7a d.current reste \u00e0 un cheveu de la cible et\r\n            \/\/ l'\u00e9cart s'accumule d'un zoom \u00e0 l'autre.\r\n            t.on(\"end.solde\", function(){\r\n                g.classed(\"is-moving\", false);\r\n                roseP = roseFin;\r\n                innerR = radius * trou();\r\n                centerGroup.select(\"circle\").attr(\"r\", innerR - 8);\r\n                drawRoseGrid();\r\n                if (roseFin) roseFade(1, 140, 560);\r\n                root.each(function(d){ d.current = d.target; });\r\n                pathSel.attr(\"d\", function(d){ return arc(d.current); })\r\n                    .attr(\"fill-opacity\", function(d){ return visible(d.current) ? 1 : 0; })\r\n                    .attr(\"stroke-opacity\", function(d){ return visible(d.current) ? 1 : 0; })\r\n                    .attr(\"pointer-events\", function(d){ return visible(d.current) ? \"auto\" : \"none\"; });\r\n                syncArcAccessibility();\r\n                labelSel.interrupt(\"sortie\");\r\n\r\n                \/\/ L'arriv\u00e9e demande trois choses au navigateur, et chacune est\r\n                \/\/ lourde : remettre les arcs en rendu soign\u00e9, puis mesurer,\r\n                \/\/ d\u00e9couper et \u00e9crire les libell\u00e9s, puis lancer leurs fondus.\r\n                \/\/ Empil\u00e9es dans la m\u00eame image, les deux premi\u00e8res mangeaient le\r\n                \/\/ d\u00e9but de la troisi\u00e8me : le fondu partait d\u00e9j\u00e0 entam\u00e9, d'un\r\n                \/\/ cran, ce qui se voit plus qu'un retard. On rend donc la main\r\n                \/\/ une image avant de composer, puis une autre avant d'allumer.\r\n                \/\/ Chaque fondu part alors sur une page \u00e0 jour, et du bon bout.\r\n                var poser = function(){\r\n                    if (seq !== zoomSeq) return;\r\n                    labelSel.call(paintLabel)\r\n                        .attr(\"transform\", function(d){ return labelTransform(d.current, d); })\r\n                        .attr(\"opacity\", 0);\r\n                    updateCenterLabel();\r\n                    centerLabel.interrupt(\"centre\").attr(\"opacity\", 0);\r\n                    image(allumer);\r\n                };\r\n\r\n                \/\/ Le rallumage, case apr\u00e8s case, dans le sens de lecture du\r\n                \/\/ cadran : midi d'abord, puis la ronde. Les noms se POSENT sur\r\n                \/\/ une roue d\u00e9j\u00e0 immobile au lieu d'appara\u00eetre d'un bloc, et\r\n                \/\/ l'oeil fait le tour avec eux. L'\u00e9cart entre deux allumages se\r\n                \/\/ resserre quand l'anneau compte beaucoup de cases : la ronde\r\n                \/\/ dure le m\u00eame temps qu'on nomme quatre arcs ou quinze. Le fondu\r\n                \/\/ lui-m\u00eame est long et sinuso\u00efdal : il na\u00eet de rien et s'arr\u00eate\r\n                \/\/ sans buter, l\u00e0 o\u00f9 une courbe cubique partait d'un coup.\r\n                var allumer = function(){\r\n                    if (seq !== zoomSeq) return;\r\n                    var tenants = [];\r\n                    labelSel.each(function(d){ if (labelFits(d, d.current)) tenants.push(d); });\r\n                    tenants.sort(function(a, b){\r\n                        return (a.current.x0 + a.current.x1) - (b.current.x0 + b.current.x1);\r\n                    });\r\n                    var rang = {}, ecart = Math.min(45, 260 \/ Math.max(1, tenants.length - 1));\r\n                    tenants.forEach(function(d, i){ rang[d.lid] = i; });\r\n                    labelSel.filter(function(d){ return labelFits(d, d.current); })\r\n                        .interrupt(\"entree\").transition(\"entree\")\r\n                        .delay(function(d){ return motion(40 + rang[d.lid] * ecart); })\r\n                        .duration(motion(520)).ease(d3.easeSinOut)\r\n                        .attr(\"opacity\", 1);\r\n                    \/\/ Le nom de la case ouverte se pose au centre avec le premier\r\n                    \/\/ libell\u00e9 de la ronde.\r\n                    centerLabel.interrupt(\"centre\").transition(\"centre\")\r\n                        .delay(motion(40)).duration(motion(520)).ease(d3.easeSinOut)\r\n                        .attr(\"opacity\", 1);\r\n                };\r\n\r\n                image(poser);\r\n            });\r\n\r\n            renderCrumbs();\r\n            renderKPI();\r\n            renderExplorer();\r\n            updateSubtitle();\r\n        }\r\n\r\n        \/\/ ============ 7. INTERACTIONS ============\r\n        \/\/ Toute la descendance de cette case se r\u00e9duit-elle \u00e0 UN SEUL porteur ?\r\n        \/\/ Alors elle n'a pas d'anneau \u00e0 montrer : l'ouvrir donnait un disque\r\n        \/\/ d'une seule couleur portant un seul nom, et il fallait encore cliquer\r\n        \/\/ ce nom pour lire la fiche. Un tour de roue pour rien.\r\n        function porteurUnique(d){\r\n            var feuilles = d.leaves().filter(function(n){ return n.data && n.data.projet; });\r\n            return feuilles.length === 1 ? feuilles[0] : null;\r\n        }\r\n\r\n        function onClick(event, d){\r\n            event.stopPropagation();\r\n            hideTooltip();\r\n            if (d.data.isTheme || d.data.isSousTheme){\r\n                \/\/ Re-cliquer l'arc focalis\u00e9 revient en arri\u00e8re.\r\n                if (focus === d){ zoomTo(d.parent || root); closeDetail(); return; }\r\n                \/\/ Sous-th\u00e9matique (ou th\u00e9matique) \u00e0 porteur unique : on va droit\r\n                \/\/ \u00e0 sa fiche, comme si l'on avait cliqu\u00e9 le porteur lui-m\u00eame.\r\n                var seul = porteurUnique(d);\r\n                if (seul){\r\n                    if (focus !== seul.parent) zoomTo(seul.parent);\r\n                    openDetail(seul);\r\n                    return;\r\n                }\r\n                \/\/ Th\u00e9matique -> ouvre ses sous-th\u00e9matiques ; sous-th\u00e9matique ->\r\n                \/\/ ouvre ses porteurs.\r\n                zoomTo(d);\r\n                closeDetail();\r\n            } else {\r\n                if (focus !== d.parent) zoomTo(d.parent);\r\n                openDetail(d);\r\n            }\r\n        }\r\n\r\n        function onHover(event, d){\r\n            var box = container.getBoundingClientRect();\r\n            var html;\r\n            if (d.data.isTheme){\r\n                var sum = d3.sum(d.data.projets, function(p){ return p.fisNum || 0; });\r\n                var nd = d.data.projets.filter(function(p){ return documented(p); }).length;\r\n                html = \"<strong>\" + escapeHTML(d.data.name) + \"<\\\/strong>\"\r\n                    + d.data.projets.length + \" projets &middot; \" + fmtEuro(sum) + \" de FIS\"\r\n                    + \"<em>\" + nd + \" sur \" + d.data.projets.length\r\n                    + \" renseignent au moins une dimension d'impact<\\\/em>\";\r\n            } else if (d.data.isSousTheme){\r\n                \/\/ Donn\u00e9es agr\u00e9g\u00e9es de la sous-th\u00e9matique : porteurs, FIS, public.\r\n                var sSum = d3.sum(d.data.projets, function(p){ return p.fisNum || 0; });\r\n                var sPers = d3.sum(d.data.projets, function(p){ return p.personnesNum || 0; });\r\n                html = \"<strong>\" + escapeHTML(d.data.name) + \"<\\\/strong>\"\r\n                    + \"<em>\" + escapeHTML(d.data.themeLabel) + \"<\\\/em>\"\r\n                    + d.data.projets.length + \" porteur\" + (d.data.projets.length > 1 ? \"s\" : \"\")\r\n                    + \" &middot; \" + fmtEuro(sSum) + \" de FIS\"\r\n                    + (sPers ? \"<em>\" + fmtNum(sPers) + \" personnes touch\u00e9es<\\\/em>\" : \"\");\r\n            } else {\r\n                var p = d.data.projet;\r\n                \/\/ Pas d'extrait : la fleur de la fiche dit lesquelles des\r\n                \/\/ quatre dimensions sont renseign\u00e9es, l'infobulle en annonce\r\n                \/\/ seulement le compte.\r\n                var extrait = \"Impact du FIS \" + p.empreinte + \" \/ \" + FLORA_LAYERS.length\r\n                    + (p.empreinte ? \" dimensions renseign\u00e9es\" : \" : rien de renseign\u00e9\");\r\n                html = \"<strong>\" + escapeHTML(p.porteur || p.projet) + \"<\\\/strong>\"\r\n                    + \"<em>\" + escapeHTML(p.projet) + (p.territoire ? \" &middot; \" + escapeHTML(p.territoire) : \"\") + \"<\\\/em>\"\r\n                    + (p.fisNR ? \"Montant FIS non renseign\u00e9\" : \"FIS \" + fmtEuro(p.fisNum))\r\n                    + (p.personnesNum ? \" &middot; \" + fmtNum(p.personnesNum) + \" pers. touch\u00e9es\" : \"\")\r\n                    + \"<em>\" + escapeHTML(extrait) + \"<\\\/em>\";\r\n            }\r\n            tooltip.innerHTML = html;\r\n            tooltip.style.opacity = 1;\r\n            var tw = tooltip.offsetWidth, th = tooltip.offsetHeight;\r\n            var x = event.clientX - box.left + 16;\r\n            var y = event.clientY - box.top + 14;\r\n            if (x + tw > box.width - 8) x = event.clientX - box.left - tw - 16;\r\n            if (y + th > box.height - 8) y = event.clientY - box.top - th - 14;\r\n            tooltip.style.left = Math.max(8, Math.min(x, box.width - tw - 8)) + \"px\";\r\n            tooltip.style.top = Math.max(8, Math.min(y, box.height - th - 8)) + \"px\";\r\n        }\r\n        function hideTooltip(){ tooltip.style.opacity = 0; }\r\n        function closeTooltip(){ hideTooltip(); }\r\n\r\n        \/\/ ============ 8. PANNEAU D\u00c9TAIL ============\r\n        \/\/ Impact du FIS : la fleur, plus sa lecture ligne \u00e0 ligne. Sans\r\n        \/\/ ces quatre lignes le glyphe resterait un ornement ; avec elles il\r\n        \/\/ devient un sommaire de la fiche, et la pastille de couleur fait le\r\n        \/\/ lien entre chaque ligne et sa couche dans la fleur.\r\n        \/\/ La graine (sorties positives) n'est pas mise en anneau comme les\r\n        \/\/ trois autres couches : son motif tient dans un rayon d'une\r\n        \/\/ douzaine d'unit\u00e9s, contre 45 pour les rayons. R\u00e9p\u00e9t\u00e9e telle\r\n        \/\/ quelle dans le m\u00eame viewBox -52..52 qu'elles, elle n'est plus\r\n        \/\/ qu'un point dans une ic\u00f4ne de l\u00e9gende. Un cadrage resserr\u00e9 rien\r\n        \/\/ que pour elle la remet \u00e0 une taille comparable.\r\n        function floraKeyIcon(L){\r\n            var box = L.shape === \"seed\" ? \"-15 -15 30 30\" : \"-52 -52 104 104\";\r\n            return '<svg viewBox=\"' + box + '\" aria-hidden=\"true\">' + floraLayer(L, \"full\") + '<\\\/svg>';\r\n        }\r\n        \/\/ Rappel des quatre couches, r\u00e9utilis\u00e9 ici et dans la galerie\r\n        \/\/ (renderFlora) : un seul endroit qui sait dessiner la l\u00e9gende des\r\n        \/\/ formes, pour que les deux vues restent identiques si une couche\r\n        \/\/ change de forme ou de couleur.\r\n        function floraKey(){\r\n            return '<ul class=\"fg-key\">' + FLORA_LAYERS.map(function(L){\r\n                return '<li>'\r\n                    + glyphBox(floraKeyIcon(L))\r\n                    + '<span>' + escapeHTML(L.label) + '<\\\/span><\\\/li>';\r\n            }).join(\"\") + '<\\\/ul>';\r\n        }\r\n        \/\/ Vignette de la couche, \u00e0 la place de la pastille de couleur : c'est\r\n        \/\/ elle qui rend la ligne d\u00e9codable sans l\u00e9gende s\u00e9par\u00e9e, sur le\r\n        \/\/ mod\u00e8le de freinMini pour les freins.\r\n        function floraMini(L){\r\n            return '<svg class=\"fl-shape\" viewBox=\"' + (L.shape === \"seed\" ? \"-15 -15 30 30\" : \"-52 -52 104 104\")\r\n                + '\" aria-hidden=\"true\">' + floraLayer(L, \"full\") + '<\\\/svg>';\r\n        }\r\n        \/\/ Mise en forme du texte source : paragraphes et listes explicites,\r\n        \/\/ sans r\u00e9sum\u00e9 automatique, suppression de phrases ni HTML issu de la feuille.\r\n        function descriptionHTML(value, enumerations){\r\n            var text = String(value == null ? \"\" : value).replace(\/\\r\\n?\/g, \"\\n\").trim();\r\n            if (isNR(text)) return '<p class=\"detail-empty\">Non renseign\u00e9 dans les donn\u00e9es du projet.<\\\/p>';\r\n            var blocks = text.split(\/\\n\\s*\\n\/);\r\n            return blocks.map(function(block){\r\n                var lines = block.split(\"\\n\").map(function(line){ return line.trim(); }).filter(Boolean);\r\n                if (lines.length > 1 && lines.every(function(line){ return \/^(?:[\u2022\u25cf\u25aa]\\s*|[-\u2013\u2014]\\s+|\\d+[.)]\\s+)\/.test(line); })){\r\n                    return '<ul class=\"detail-prose-list\">' + lines.map(function(line){\r\n                        return '<li>' + escapeHTML(line.replace(\/^(?:[\u2022\u25cf\u25aa]\\s*|[-\u2013\u2014]\\s+)\/, \"\")) + '<\\\/li>';\r\n                    }).join(\"\") + '<\\\/ul>';\r\n                }\r\n                \/\/ Les points-virgules d\u00e9limitent souvent les r\u00e9alisations. Ne\r\n                \/\/ pas couper ceux qui sont \u00e0 l'int\u00e9rieur d'une parenth\u00e8se.\r\n                if (enumerations && block.length > 180){\r\n                    var parts = [], start = 0, depth = 0;\r\n                    for (var i=0; i<block.length; i++){\r\n                        if (block[i] === \"(\" || block[i] === \"[\") depth++;\r\n                        if (block[i] === \")\" || block[i] === \"]\") depth = Math.max(0, depth-1);\r\n                        if (block[i] === \";\" && depth === 0){ parts.push(block.slice(start,i+1).trim()); start=i+1; }\r\n                    }\r\n                    parts.push(block.slice(start).trim());\r\n                    parts = parts.filter(Boolean);\r\n                    if (parts.length > 1){\r\n                        return '<ul class=\"detail-prose-list\">' + parts.map(function(part){ return '<li>' + escapeHTML(part) + '<\\\/li>'; }).join(\"\") + '<\\\/ul>';\r\n                    }\r\n                }\r\n                return '<p>' + lines.map(escapeHTML).join('<br>') + '<\\\/p>';\r\n            }).join(\"\");\r\n        }\r\n        function sectionHeading(number, title){\r\n            return '<h3 class=\"detail-section-title\"><span aria-hidden=\"true\">' + number + '<\\\/span>' + title + '<\\\/h3>';\r\n        }\r\n\r\n        function ficheFloraHTML(p){\r\n            var s = p.floraStates;\r\n            var lignes = FLORA_LAYERS.map(function(L){\r\n                var st = s[L.key];\r\n                var vide = st === \"none\";\r\n                return '<li class=\"is-' + st + '\">'\r\n                    + '<button class=\"fl-line\" type=\"button\" aria-expanded=\"false\"'\r\n                    + (vide ? ' disabled' : '') + '>'\r\n                    + floraMini(L)\r\n                    + '<span class=\"fl-label\">' + escapeHTML(L.label) + '<\\\/span>'\r\n                    + '<span class=\"fl-state\">' + (vide ? \"Non renseign\u00e9\" : \"Lire\") + '<\\\/span>'\r\n                    + (vide ? '' : '<span class=\"fl-caret\" aria-hidden=\"true\"><\\\/span>')\r\n                    + '<\\\/button>'\r\n                    + (vide ? '' : '<div class=\"fl-text detail-prose\" hidden>'\r\n                        + descriptionHTML(p[L.key], false) + '<\\\/div>')\r\n                    + '<\\\/li>';\r\n            }).join(\"\");\r\n            return '<div class=\"detail-flora\">'\r\n                + '<div class=\"fl-top\">' + floraGlyph(s)\r\n                + '<div class=\"fl-read-body\">'\r\n                + '<p class=\"fl-read-title\">Impact du FIS'\r\n                + '<span class=\"fl-read-score\">' + floraScore(s) + '\/' + FLORA_LAYERS.length\r\n                + '<\\\/span><\\\/p>'\r\n                + '<p class=\"fl-read-hint\">Les dimensions document\u00e9es par le porteur. '\r\n                + 'Ouvrez une rubrique pour en lire le d\u00e9tail.<\\\/p>'\r\n                + '<\\\/div><\\\/div>'\r\n                + '<ul class=\"fl-read\">' + lignes + '<\\\/ul><\\\/div>';\r\n        }\r\n\r\n        \/\/ ---- Le cadran de la part du FIS ----\r\n        \/\/ Une part se lit mieux en arc qu'en pourcentage pos\u00e9 \u00e0 plat : l'\u0153il\r\n        \/\/ voit tout de suite ce qui reste \u00e0 financer. Soixante traits sur 300\r\n        \/\/ degr\u00e9s, ouverts en bas comme un cadran d'instrument ; les traits se\r\n        \/\/ remplissent jusqu'\u00e0 la valeur, s'allongeant et s'affirmant \u00e0 mesure\r\n        \/\/ qu'ils en approchent. Le trait isol\u00e9 sur le pourtour est la m\u00e9diane\r\n        \/\/ du corpus : le rep\u00e8re, pas une cible. La couleur est celle de la\r\n        \/\/ th\u00e9matique, jamais celle d'un verdict \u2014 une part \u00e9lev\u00e9e dit que le\r\n        \/\/ FIS porte seul le projet, ce n'est ni un bon ni un mauvais point.\r\n        var JG = { n: 60, depart: -150, course: 300, rExt: 84, rInt: 62, c: 100 };\r\n\r\n        function jgPoint(angle, r){\r\n            var a = (angle - 90) * Math.PI \/ 180;\r\n            return [(JG.c + r * Math.cos(a)).toFixed(1), (JG.c + r * Math.sin(a)).toFixed(1)];\r\n        }\r\n        function jgTrait(angle, r1, r2, cls, op){\r\n            var A = jgPoint(angle, r1), B = jgPoint(angle, r2);\r\n            return '<line x1=\"' + A[0] + '\" y1=\"' + A[1] + '\" x2=\"' + B[0] + '\" y2=\"' + B[1] + '\"'\r\n                + ' class=\"' + cls + '\"' + (op ? ' opacity=\"' + op + '\"' : '') + '\/>';\r\n        }\r\n        \/\/ valeur en %, ou null si la part n'est pas calculable.\r\n        function jaugeHTML(valeur, mediane, themeLabel){\r\n            var connue = valeur !== null && isFinite(valeur);\r\n            var v = connue ? Math.max(0, Math.min(100, valeur)) : 0;\r\n            var pleins = connue ? Math.round(v \/ 100 * JG.n) : 0;\r\n            var traits = \"\";\r\n            for (var i = 0; i < JG.n; i++){\r\n                var a = JG.depart + (i + 0.5) \/ JG.n * JG.course;\r\n                if (i < pleins){\r\n                    var t = pleins > 1 ? i \/ (pleins - 1) : 1;\r\n                    traits += jgTrait(a, JG.rInt - 4 * t, JG.rExt, \"jg-on\", (0.58 + 0.42 * t).toFixed(2));\r\n                } else {\r\n                    traits += jgTrait(a, JG.rInt, JG.rExt, \"jg-off\", \"\");\r\n                }\r\n            }\r\n            \/\/ Le cadran vide garde son rep\u00e8re : il dit o\u00f9 en sont les autres,\r\n            \/\/ mais la note doit alors pr\u00e9ciser que les 49 % ne sont pas ceux\r\n            \/\/ de ce projet-ci, sinon le chiffre se lit comme sa valeur.\r\n            var note = connue ? \"\" : \"Part non calculable\";\r\n            if (mediane !== null && isFinite(mediane)){\r\n                var m = Math.max(0, Math.min(100, mediane));\r\n                traits += jgTrait(JG.depart + m \/ 100 * JG.course, JG.rExt + 6, JG.rExt + 14, \"jg-repere\", \"\");\r\n                note = (connue ? \"M\u00e9diane du corpus \u00b7 \" : \"Part non calculable \u00b7 m\u00e9diane \")\r\n                    + Math.round(m) + \" %\";\r\n            }\r\n            var lecture = connue\r\n                ? \"Part du FIS : \" + Math.round(valeur) + \" % du budget\"\r\n                : \"Part du FIS non renseign\u00e9e\";\r\n            if (mediane !== null && isFinite(mediane)) lecture += \", m\u00e9diane du corpus \" + Math.round(mediane) + \" %\";\r\n            return '<figure class=\"jauge' + (connue ? '' : ' is-vide') + '\" role=\"img\" aria-label=\"'\r\n                + escapeHTML(lecture) + '\">'\r\n                + '<figcaption class=\"jg-head\"><span class=\"jg-titre\">Part du FIS<\\\/span>'\r\n                + '<span class=\"jg-pill\"><i aria-hidden=\"true\"><\\\/i>' + escapeHTML(themeLabel) + '<\\\/span><\\\/figcaption>'\r\n                + '<div class=\"jg-cadran\">'\r\n                + '<svg class=\"rev\" viewBox=\"0 0 200 200\" aria-hidden=\"true\" focusable=\"false\">' + traits + '<\\\/svg>'\r\n                + '<p class=\"jg-val rev\">' + (connue\r\n                    ? '<b>' + Math.round(valeur) + '<\\\/b><span>%<\\\/span>'\r\n                    : '<b class=\"jg-nr\">&mdash;<\\\/b>') + '<\\\/p>'\r\n                + '<\\\/div>'\r\n                + '<p class=\"jg-note rev\">' + escapeHTML(note) + '<\\\/p><\\\/figure>';\r\n        }\r\n        \/\/ ---- L'\u00e9chelle des personnes touch\u00e9es ----\r\n        \/\/ Un nombre seul ne dit rien : 885, c'est beaucoup ou peu ? Le curseur\r\n        \/\/ pos\u00e9 entre des paliers \u00e9crits en clair r\u00e9pond sans rien demander au\r\n        \/\/ lecteur. Quand la cellule est une phrase et non un nombre \u2014 \u00ab 190\r\n        \/\/ jeunes sensibilis\u00e9s dont 67 suivis \u00bb \u2014 on retient le premier nombre,\r\n        \/\/ mais on l'annonce avec un \u00ab \u2248 \u00bb et la phrase reste lisible dessous :\r\n        \/\/ le curseur ne doit pas donner \u00e0 une estimation l'air d'un relev\u00e9.\r\n        function personnesHTML(p){\r\n            var v = p.personnesNum;\r\n            var brut = String(p.personnes == null ? \"\" : p.personnes).trim();\r\n            var estimation = brut.replace(\/[\\s\\u202f\\u00a0]\/g, \"\").replace(\/^[0-9.,]+\/, \"\").length > 2;\r\n            if (isNR(p.personnes) || v === null || v <= 0 || !PERS_ECHELLE){\r\n                return bulle(p.personnes, \"Personnes touch\u00e9es\", isNR(p.personnes));\r\n            }\r\n            var x = persPosition(v);\r\n            var paliers = PERS_ECHELLE.paliers.map(function(t){\r\n                return '<span style=\"left:' + Math.max(4, Math.min(96, persPosition(t))).toFixed(1) + '%\">'\r\n                    + escapeHTML(fmtNum(t)) + '<\\\/span>';\r\n            }).join(\"\");\r\n            return '<div class=\"pers\" role=\"img\" aria-label=\"Personnes touch\u00e9es : '\r\n                + (estimation ? 'environ ' : '') + escapeHTML(fmtNum(v)) + '\">'\r\n                + '<p class=\"pers-top rev\"><span class=\"pers-lab\">Personnes touch\u00e9es<\\\/span>'\r\n                + '<b class=\"pers-num\">' + (estimation ? '<em>&asymp;<\\\/em>' : '')\r\n                + escapeHTML(fmtNum(v)) + '<\\\/b><\\\/p>'\r\n                + '<div class=\"ech\"><span class=\"ech-fill rev\" style=\"width:' + x.toFixed(1) + '%\"><\\\/span>'\r\n                + '<span class=\"ech-cur rev\" style=\"left:' + x.toFixed(1) + '%\"><\\\/span><\\\/div>'\r\n                + '<div class=\"ech-ax rev\">' + paliers + '<\\\/div>'\r\n                + (estimation ? '<p class=\"pers-brut\">' + escapeHTML(brut) + '<\\\/p>' : '')\r\n                + '<\\\/div>';\r\n        }\r\n\r\n        \/\/ ---- La barre de budget ----\r\n        \/\/ Les deux montants se lisaient c\u00f4te \u00e0 c\u00f4te sans rapport visible entre\r\n        \/\/ eux. En barre, le budget total devient la longueur enti\u00e8re et le\r\n        \/\/ soutien du FIS en occupe sa part \u2014 ce qui fait appara\u00eetre le reste,\r\n        \/\/ c'est-\u00e0-dire ce que le porteur est all\u00e9 chercher ailleurs, qui\r\n        \/\/ n'\u00e9tait \u00e9crit nulle part dans la fiche alors que c'est souvent\r\n        \/\/ l'essentiel du plan de financement.\r\n        function budgetHTML(p){\r\n            var budget = (p.budgetNum === null || p.budgetNum <= 0) ? null : p.budgetNum;\r\n            var fis = p.fisNR ? null : p.fisNum;\r\n            \/\/ Sans budget total, il n'y a pas de longueur \u00e0 partager : on\r\n            \/\/ laisse les montants tels quels plut\u00f4t qu'une barre invent\u00e9e.\r\n            if (budget === null || fis === null){\r\n                return '<div class=\"fin-sommes\">'\r\n                    + sommeHTML(fis === null ? \"\" : fmtEuro(fis), \"Soutien du FIS\", fis === null, true)\r\n                    + sommeHTML(budget === null ? \"\" : fmtEuro(budget), \"Budget total\", budget === null)\r\n                    + '<\\\/div>';\r\n            }\r\n            var part = Math.max(0, Math.min(1, fis \/ budget));\r\n            var reste = Math.max(0, budget - fis);\r\n            var pc = Math.round(part * 100);\r\n            var lecture = \"Budget total \" + fmtEuro(budget) + \" : \" + fmtEuro(fis)\r\n                + \" du FIS, soit \" + pc + \" %, et \" + fmtEuro(reste) + \" d'autres financements\";\r\n            return '<div class=\"bud\" role=\"img\" aria-label=\"' + escapeHTML(lecture) + '\">'\r\n                + '<div class=\"bud-bar\"><span class=\"bud-fis rev\" style=\"width:'\r\n                + (part * 100).toFixed(1) + '%\"><\\\/span><\\\/div>'\r\n                + '<p class=\"bud-num rev\"><span><b>' + escapeHTML(fmtEuro(fis)) + '<\\\/b>'\r\n                + '<i>Soutien du FIS &middot; ' + pc + ' %<\\\/i><\\\/span>'\r\n                + '<span><b>' + escapeHTML(fmtEuro(reste)) + '<\\\/b>'\r\n                + '<i>Autres financements<\\\/i><\\\/span><\\\/p>'\r\n                + '<p class=\"bud-total rev\">Budget total &middot; ' + escapeHTML(fmtEuro(budget)) + '<\\\/p><\\\/div>';\r\n        }\r\n        \/\/ Repli quand la barre ne peut pas se tracer : la jauge dit le rapport,\r\n        \/\/ eux disent l'\u00e9chelle. 14 % de 107 000 \u20ac et 14 % de 7 000 \u20ac, ce n'est\r\n        \/\/ pas le m\u00eame projet.\r\n        function sommeHTML(valeur, label, vide, fort){\r\n            return '<div class=\"fs-item' + (fort ? ' is-key' : '') + (vide ? ' is-empty' : '') + '\">'\r\n                + '<span>' + escapeHTML(label) + '<\\\/span>'\r\n                + '<b>' + escapeHTML(vide ? \"Non renseign\u00e9\" : valeur) + '<\\\/b><\\\/div>';\r\n        }\r\n\r\n        \/\/ ---- Identit\u00e9 visuelle des porteurs ----\r\n        \/\/ Les logos ont \u00e9t\u00e9 r\u00e9cup\u00e9r\u00e9s une fois pour toutes sur les sites des\r\n        \/\/ associations et sur leurs pages HelloAsso \/ JeVeuxAider, recadr\u00e9s au\r\n        \/\/ m\u00eame gabarit optique puis embarqu\u00e9s ici : la page reste un fichier\r\n        \/\/ unique et n'appelle aucun serveur tiers \u00e0 l'affichage. La cl\u00e9 est le\r\n        \/\/ nom du porteur r\u00e9duit \u00e0 ses lettres et ses chiffres, pour que la\r\n        \/\/ fiche retrouve son logo m\u00eame si la feuille change une majuscule, une\r\n        \/\/ apostrophe ou un accent. Une valeur qui n'est pas une image est un\r\n        \/\/ alias : elle renvoie vers la cl\u00e9 qui porte le logo.\r\n        var LOGOS = {\r\n        \/\/ ACAM Bels. Manufacture\r\n        \"acambelsmanufacture\": \"data:image\/webp;base64,UklGRswWAABXRUJQVlA4WAoAAAAQAAAAnwAAnwAAQUxQSNQIAAABx8UgkqQ4TIN\/0+SPgYjI0S9K1xRpq1KplFJKSpIkyYxERIQQWsgxV\/AwAJAhydq2ZXWPZ805s7Zt27bt8WK0tm0bY1Zmxu+broqIjOrdc\/mK6D8Et40cSepB7ZUxoSZ0qpn7gPrjlf\/7z7\/d8Lw\/HMVPnxwenBXz\/lR0ugaJYr6+fDIyCeg5oHtq0j02o8E3RmtoK81dIiRWevXO\/buPAeDH5ZHSDHzx\/HCaCyO0D23FWqOh+czIWFSkQqBYYwHOShJPz8r9AQDVq7P5jII2QmfVpn\/e0jUaUmqMNsYAgK\/LJcnXGsDYxHqL2RwEHfgNLNoAwP1paREQrwcbvLIGXklSDtoG4vUB\/uI+sFVgw2sEBQtQc6K3J80EMOHojc0RpMxqbYLna1uWeSwmt\/kWiGI0ALxYnClLjrGBW58AnnpynAENWOnDYhdoCuRITRWj47KOCUetYaMc5zEMXIvxGr014UvHWv3LgVy5VerQq6tNrhQdm5BgrWnI4DZ74c2Yq8OD2ZkRYOBjTKhDeAShlQA0zFZMRqI70pZ3pPPjU8XApL0ybMSb1J8xLsMJ4xvekWorR8dFwJdeEvQw2H3QDr3JiDAW3p5oBjCc1RPCr+1dHaknMPZDTEB7BQYwzihno+G4ypj\/JBEBV3gyI8XVED\/73NkDGlDK2QwFHaYg0IIe+IUfiagTtfmDYkIGrIYBrvQGDTiVEiY\/1IaOumAClZRXBb7t6+05QEjfUhwfxG\/WUkiYQiSYrCWPXY70ckUHtkNJeW7kgQYhhuEOWrpu+Rpo4pmt8c3pmSzoZZDbOEEDyDsnySHLkKLGgMA7UuPpYTHCYWCNi5RWayzJBQlKGUGlT70BvKYuIHxa39HrPDyHZZAHlU8FGCC5xAdzypjzonWvHY5kX2uAFYG6nICzDOcyBTRI4juilNe\/sJorBIbpdjQfa3+l8shqNFaQYQ4Gf6zHXeAeyYK1sCebwKK9ZSmP621aVMapdFj5kmzqsDFFy9x4Y8KwpEkcloIGiMacdu6oc4\/85HVp0Aq30hrCWPjSiPxpTX0mTVfQVpShGMUSw\/Nx53wA+gHS9mgMMRoKBuJj+Cs0T7CojJVgBOYUKZGSufSxJrQEFSkNGBdVIWjshMdRbMZismIOhlS5AoYCVsaaMc6p1GpEMqY6HScX0yzceo5eTbF+X2Kt\/c3kEAReejHUlCo1Fv+pwPvCD9YgdcJPP4addKWLI0zXF2Tbao3JCfRb+Aj3PFs6gMezQlVKMFzaWQagiTVA2\/PBfgFvHjOqDbbDuowwg7GgDdxTqkyCYbJOxmWwhui5qn4C9G+jFuO0UqR0OTwcqTEW09opVSrBSFFnbBX4RGMJRakp3XJVwpCoMnyZEkrz4LHMSQSCUZoEcvwQgCbUuqlIx9uAygFSq4whe4fJoMlxXFlSkfsRtCXUiizsmuGrhE9IU61qVjOqVaUpFXAE5o1irKLVhsn4Pa1loE6QO7yGNdc+jFGkKY54lQ63wBiiubjdUSGQm4Vj+W7R+5QyBb9MR8i8mYaiaJ1xjeTRmhZ6SpGG8QQPwLvQpw1YX2Y\/xYOUoJMul3bXnXgBANWaPe3ImjdyZvhH0T6eiLufClKGEqHJYRxtf0wJEf9qLW+MtF1FRB5znLSXPtrP0by8AA81CDQnownPvATkZoUieR8W2e\/po53PUIKo44zFat1ZsciPiMkNVNoP\/IXhquGyCh7PF8vIZyxXsoxwIn6KOJqx8Kir4lLHRfUL\/eDDkeSh9wfQ1Ax0c8wp78id3h0gFmua2ycP0xOxWHS6eiPxQsXFcDOIsa\/WAGBRzVIoZdHSu7mVqlCdnPLKFHzJQIVKItQ+aAULmHk31gnC4Ut+IgvDdiT6\/WN0k\/sdyARIUWYURsU+IWNpbX7F24hsR0cZOakmAmOgYZoYzLmiBjgVE2coaAfURPDJ9C9cyY4AtSOQj7EGvo9WKkqOcKI6DBaMoQbr4yIg9s76JjFeSFMOFEg4ezjE3jT9BNCUWJLmSKlSHKmtfBmglAtFEuzm3ZCMeO9HYCwhfhvKoAHfjFM21L\/cmabcOCkCP2G2kSEeiruNS1gl1VPKkVKJHe1U\/NLnC2hcNPAmx6ndFSxlKBJmq1O\/VAxgKHG9R\/T7Argbl81EUGpsI\/iWGEPd75QElCUTqv11WmxdE8fmjVEZcce1LLLgUzmpd30knShXkUN1e0x3ErB+\/NQ5HrXK6d\/XKOVtpVq44EXKSQ6KJdgpcia9P1FjKa2bzXoy7+NAMvVbTi1cAePtVFU2YU5FREHSoFTOD3SyEdjoTTxWL0ck42JpUvp9A0u\/Yfaa5JCfVwwVxuubX8PJRNi+okQxbhek25Z3iQAtiW8meU1\/AKf9ooehd6ecjyEOeo1RkTxOxrSrFsDS755twNPXcmP1ybvZSAknZWRlCwAwFKO19q1em62SekcjnPEGFtVwlVAEwwPjEpxk67ccna5bPvLehgeV6\/NHLp3YSyULpyScXXTOcdkznmJ14FmfF0owRUsZxmkJDhA1ccYNw6iJ4UBerGhHz3uip1RCPobdhjGBmshVPu3K8Tjz2qSGrLpe72M\/AgrvYa86Ffpe6fcxw8ipb\/dt7x0e9rrS8YlPxt1J3nHxYZW94nmwb+I9T49mpznl9X4DY+F9qQGwPvNjvvebiH+q+C1lAIfm\/+f+HOwzVon3BhE5Z1QU3zUHlKbyCTLfNUeFhBnM\/C4c2eWdmVLfhdejRO84vXegbuGjFU7\/hPLb5H1ug+Eqb3b39JSKhPIkc2aBz6qJH9G+ScqJyJySWGUotFqyJv7K64v8+1M0TtJt1or9ZQD0dW7z77yjuuhXOePY7obffb1bhf0Dl7QTkXwao8y93wILF7DP5iN1TklyBqOEb\/xmnZi\/+C1+IjUeHTXa14HSovNEjW4JR3vCwSBlVaQAVs5Iclki2tRJiw+fyNuzac2SlR1VlGXBzqOFBfn5BYV5B3tLMnL30cL8RDm2v5f645X\/+89\/FqAAVlA4ININAACwOACdASqgAKAAPkkgjUSioiEUC4X4KASEon49gBgtB+fdO0q6B5zzuKv\/eeB2q3zSfDf5L0C+h38vf9f3D\/076QvmA\/Z31pfQZ\/nfUA\/t\/UO+gx5dfsl\/2bztM0d\/sHZt\/hfyA84fIL8h9wPYAxV9YmHXiv3wyvnYP856B3s99e8AzU18IdGXgBfdf+Z7BH83\/0P\/V9S3\/n\/0Hn6\/Pv8p\/7P8v8A387\/sX\/b9bz2T+iF+sP\/jPK3A0b8sC7820iwrSxD\/JEzNDxQMZecTgjP2iEAxCfF836yQG1G\/h7DRwZM8lL18fWlipY\/EF+ztc1i7TdaAvIZQ\/jN2Szf0TpHfsym5a6tOr1Ity\/IbOkS53l9s8WSW8dlkxzWwE0jY8hln\/KXLVnJ8orDdv8t234VlOkPo40i4q9IQr+iRgE7m\/fHYUZtTau6\/m4tVbXe2YFpLCX6x5PrkxSrXQb5MU8bT2ddJzb9sOW6lAomobbMi13VGdk+sDZ9AWiZb9SKfjFgPDhgDtanm813X169gO5Qz3MOoj3N5\/miMqu6CBvrWpuh+e7+XgZdnx3s9Z\/+U9Fxfgvn6dVPHuyS6wbpsxJu0U4TgnvhyRffm2kWFZIAA\/v5HgAAAAGFsyHXMJcfR+eGfZTNoG1aQ4IFExhZOqUfZrD6WIVdjGB2iV5JrczHUXt4PYBvnTVOULdSLRtYp6LcavtQWR6q4j+0jEPw67Grpwtwof1bmh+2KnlnYggHHgI71bN\/4MTG6Tg6SdfGajpxlbKkcGcEb\/tQ+Xmwy6HmHwYsTUoT019ydz0R1XcvCBr2lkmqBkNhaKUdHD5zizLJw8sL0G0ujktQFb8e+90mSAXM+qMrfbQQ8rD6P0cBJ9c\/kWlOByxB1O9deWpwFbZT21+eDEl1suJHsZTMI6\/G4VdZPYqQIwwg8KQDScv1RHhYqtvp8RS8YZTHTPyoRq4WTVbTowuOndcJmZxRN6bRZDixLgUqVhfKElNXkPaAwrmujpBJ4AivSmYq+wIGk4OJJVwdPPUfSJr+5pnajh\/+z0GiwsvWX1l2OPF7GteUnxG6lAlcgo5QwUQGqVL5cx7ni5S81vFFTMQq\/xL3uhN5Ya4qVvqdYh0+C0s7vebb06\/1NawdeDHe\/5Lm30U7Fy43HLNtnFezd9aWjGtuwOTGvBC3IKrCwKfyXiObvTb0QZhNa9aCKfOKEAq77GY3Uz8DXjJGOKyyL1TCdkx0X6M0Jctj6GKrSVJmi\/ixDqe8T3ISrnUnhPWWz7fEwuU36nB9DRzWBD6T2dSOnXNG3dnRIGowaDaLNxOmczC4\/qY6f9TnXq7TdX+66vfenFkjNsDSGK2l6zL7\/wSOsw3H3MP3zJDoLNkOjRR2cVcfwOu\/n2KtyVF0Vet1zuOESIp0bruK8jgl3c2WulhSLoqknh3ahkIz4RRV5rgMRiUgqC5EebOEf8sukZaH+vNfv3AAQI81zH4SxYukojqpJ3Utp4BiXs8xTyHze0XrbNSTGCbaNBH9pAF8t4OuLRPNC1RG2Bdq3AeVkBjQB3cPyxBgPf4oCPvMjI7dN6Acl92nBT+W\/YuTwIMEs\/I0lDyQ4SQtKY45TmPEPaT+zwgqr6bcTwr48sjxnLDTjNiM97L4yUPlFWRFIw2Oi4EoYLKC6XX3uMULv4csCBrAOdRtyUVunT8pMqepOCdTHu7UlEEcN95zyQ2wzZU1d\/i2gOJodwxVLdn1EiwE1nZaXNH\/i0NGnJWjCFi2aYkyhgEgIeInuepr76unbyML89PBZtwb16R4aWD6jqu5SpeFfdf8PTNAmqQ9ex9Z6VdCr0z8OLXoPdcrBaaZlcJjT+WQLzh6wmu5KmJD9qtY2dZxmV8grxYf1XiTJxcTtWna2L6zwaULJIc8+kaGXBXziVD1X9UawChEM8Wezq3prdt8SY\/6SegaFb8u5DCWaYND1X9EHS9DcxsxJ9L6zdJ1bbWACjSkktR9DItfiubWnhgL3d2XCErpXN6UUJ6pDaaHHLnAvrXthhefNG5wz7kfWBopkt5jtPcCOSyXh9lSMrzV4Iq7oWTqa1i9neC7fmhQYPO1SYEG+tH2pMxk\/\/kuJ83VA6hXm4nUkAgE75lRLa6kUODf3ATbZfdvfj7y2yccC7c3RAI+mxvu7f860+KYH5umKTiCEx0Stz5F61ou7AGYxporKLf5\/J2fnmpGXJgSJCEMIsOhJAJyDxhXvCMlLxX+X6pcOdEVdNtn30qyCQoQHgF5xpIASRgkloiibZnGmPnUCYXg9wNKroOrD4amkjmLqBq8E2UKzgC79HOwBqPKMbLKcTEfFiB7LfxqTGxi2QeanlaTRFb\/awHzn\/xpSsdey85v2EH7BdoVE+nYJExa0Xv1ezxpyoFqtu92\/6jDNREeWc+dHHwWygeIofRWIou9\/WRpdQsHdkg2fiMRC9wCGDo70wxyDPGhwzGPyMnKeEE4to\/aIJdS9X243P+NrN1oW6kpfLNZNW+lDhyjJgZ23WuymGVgElr0\/lFnqltDlZjV8WkJIIdokL8rbmoO8Q5XCW7Z8bCp5L9J2gE9IAwR3Yh65cIWyrqrNBr3d9iZ4+e50h3R61alNMhPNW7G+I4yT4LbsX1pXD\/Tgfer5XCwyb1xPxoyYsTiEzRwhrwvXhp5DVoLcgniFc+UEhMI5frsbgJGCCYXI42QJ0WwKmjb\/VOp6sHDAtU0ry14xWL7Pwh6lqY5ZLabytu9p9RR3egPGx2In3p+euqEbU73Gy\/GCbo7Grv9PfYZKu01E0pQ\/loJh5rFDVwx2G9YXTvhSPVVxGxXAmbdUNl2VyKtE0yvzni4ut70Mt\/XEdAQz4HoQ2pjhnESpVXCHtpXtKlfLEiEeYS2Bm6rIee2z8lLd0l0g0+Vpp5ApgislrlKaBbNVjhdKRlO3S5\/vvWJW+KDNd+WnYH6iYBmCzmsBMMlDx4QDSEA92oPTLbdS2HW\/7qQFUZQTXvGa4nqNAGs3wdv16zc9ZO2g6gsMBN8tcgLHTo0arhVyV0blNSdJ2cwDOQmoGsU+HA4hac\/k3Iy\/oLY6JelHClTBTF134p8R7Ey1dTQI4tEKfMufYz\/OiQimj7Z3AaA9OaxoMxIvefdWE1yTNL\/zMFnwcW\/LlNS0ylS18cL6aVMr4gtoQoOvtpSNOD08BF8nItCdgfDTfFU5MgRmJhUAnGDeKoLICA9cMhFtASCnw\/XXTP+dMd9ye4R1BTyjfb6kwyy54V4s8udklPbX4eCh3JxkwLly8CqN+FvVrLEh3MUIrvOVRFvsNn9nDU09KXEaylK8Mpu+hZWCGC4RnyRsqn7llXVBkskSQNP5Hyb0pSQbXL69klRBkF4MHVjNzvfbj9msj6M5n6ouGaS+oxLej+7idL8QboH3khd6CrDujDDCxpySDjqlYC5dKuHE8psV\/uYtS1Ci9RsnrT19krcl+Wg8P6n71gwvDGtxF49OhfGBOfYdfH+R5q\/YVcd1R5nx+gM8ccJTsIuC6uyDj6PeDXE5BG8zPO\/VYy\/9pK5O+s\/VTjqmIw50P2y8RMGkY0sEADB8+v1EXLDZhYcVdNysuarFTWCpNqnTwc1So\/AVGTm8pyL0Rys2OWRQa8H6btuOWXBkdco+IQD75hgnYYvCUUpDRwHKModC\/uRbnQ+1sIyMfKeiFw8shEPgqawg4l1CvQme0dvWfG8AxvtNtdvUZrF+wl0PlErUVQMnwvWoIKlfnBvo6XuOE\/l1g8VJIgw3hEqwKRI1YI2xkynNxe1yCEJEOk9IKr0pQvcH3nS4dOjeSvLoRmPG6enRLw+LG5389WNxQtqsGJsU2GBSfMbHte5mC0L8DUZeKcQHU8tLw2TNFayhab0g8x2aL76SwyZlXlTE28eWPFWWzQHLp1Aqr3YJ9M00KfzwicMBNagSjRUSKI2hq+52yM0WC4+G6UjHQqA\/LwMy0aSBKTwThsdBZmgfiPT1ZoxVa\/O8qwZ5VPzRxn6ZuYCnO\/8nEVEej7X3BZdyl9ZXTadopfxTu7SihVXWdFQ9iRasnowgPA78jb+bCJV\/4qAftlU1hl0RbGZm0kLzKplJUOCuqZq692J0wprc2etFdWRoFGQAcq5+jmbExYfUMcFOkNJtVTQF8bjLL8swrgAaGS9rKOYWBGgupCRqkUcxr56dFUQN0h47kNvg+ZLREe3QqtAF5div41V1azwiTnVCwrkv+RKjFqBr\/oj1Mn2yqwQju7\/3j+33e6JJu7sPdGw1jysml5wCVPvhS4m4Up9o7ITKthlkI2IV8wXV0\/SQw2b42+ApLtZpu\/DVKrYoQmio+Kyng1zQEvOnVY86Awm5rNvxVBbe\/CEj\/EMNB7IVks20PCbp1ldQlF2FcpiztZaem29aHD2mJbJBZmNGagNQoE3qdgNLEnZADzK0XH14TtsGTtKki2M4hsWpRkzzBIL0w2aH8nMXZlShyiqxi7VNKYsh0nA525QM8JVpd\/T7Gla08OynqdImlAIzpSqQXSEoeyidJgBbLhqpT09OcCEi0LT3uBd1h9+VsZ8OSoSCU7KfssDLnMTJ2dvuYMy6DG3tw+SZInsTPfZfXGWSVUHEjxbWp50\/lT04sn83qhWjbBUcuwgHJ607lB1yVYdkUasYlzh1HdZlmgqa2RrDalWLH8K3wPai\/u6V9XpzTSWqznkOZ8\/sy5qJjBMeCzG+\/2fcqbqVxelmQB0jQAAAAAAAAAAA\",\r\n        \"acambelsuncemanufacture\": \"acambelsmanufacture\",\r\n        \"belsuncemanufacture\": \"acambelsmanufacture\",\r\n        \"acambelsunce\": \"acambelsmanufacture\",\r\n        \/\/ AMS Environnement\r\n        \"amsenvironnement\": \"data:image\/webp;base64,UklGRhwWAABXRUJQVlA4WAoAAAAQAAAAnwAAnwAAQUxQSOULAAAB\/6WgbRtmK3\/YZxdARChs2wbpmHdH5BeC+4DnqE\/zPqK+nqY+HxV5npMDhgCP2\/6vU+L\/3\/V4PGOKGIYZymFIRxhlSAm7FQOxEQNfu6y5aW6vbneXXWt3K+Dc\/7jnlIcMr3e\/I\/o\/Afy\/\/\/+PltoX6Vq777Nvf\/zl998PTjjcsd2\/j0jysScP5KmeSKjSradERM4d3tAW9nssrfTVa0wc89ZcEhk5uihkkqb5\/NcJQ8VnIg92VxpkWCivTxCCn4t8F9NkPkWWTAiMHSIfhcjqWolMBCJX5O9JZPlLcU8AVotsVGRZP7hKzleH5FaErPvl7ZynjsqvbrI\/K9GS8z6QzzQv8DPx5rph+UKRppWRMXKaHN8tJzSpvUfFk0mjrM5xhSOP80jdMyJf6kyOSmFuU39JnJTGe\/K0m0ztsRPk9rnyASk9p+VbLxkvltm5zbz\/yJ3Cd02GyFxdeWbltrWyjuSuS9JPFmPyBuP4\/Hf27lg+fXLAfAHG\/ftmMn1C1pDN41Iwjrkk9cmDPQGVnW4ZIPkRGSabUTnCOB5+fqAsOrV78P0zCRG5+mq5ysLx595knfIz2VQXxnzjWY+0kdwsnnf0ucipuWYmfvmOpK5HTzxZWSVDjOf9UpPCabV9K3JvmU6vL9Gd7B2ZQzbznt00xrUhCaUFFG4fkwt1af0qviRFcpxsql+kkXF9lxRnAp5dIvvMVNbziyQ9JjVZ2SYHGd9fk1BmEPpLLgdTVMqeJHlygmx2yBVjnNskldlADctYY7JF0plkq3Rko1qeBhjn50trKsNIA2aKzEzylgQd6sYTIwvhUallvK+W9SnUpTvrPWlQ\/0y6HL+K2xGSA2RePSZxxn2ffJGCrQmRf7lTUfFYakFdfaQc\/YmGzGaINDP+q+uPjRS4Fl2XsQ1mCsJjj\/MxRy7g\/EHcmVj75WEVuXCfVKUCY\/EDud6cgm45pUz5yWE8vUSGTXfkTx85sVIOpQP2kMhRdzLekg2mfOnIl3fTK\/tGZK0iN6oLI560IPir3Awn01fG5sinjipZn4Yx9TuRL\/3kzG7ZnwFqm0hPEqrkvhx1dEpLMlf9qw9EvomSQ9U5qckA4qOyIgkfi3zpWDG2wl8+dcWRCyJy95UQubVMbtiZUPpAFifJG5OfHesk+cgfmyo0OXeZ\/KQzIXhf2hy8I6cc7v2vb1\/XMzlgkpv3yc9WJpSNjAUchXJPMwF8Wy4WZUKHnNcAn0skRWz\/4TYN8wY2DWza3Auoafv2d5uA0bX\/jVYNxGyHsbkca8PGgU0dLsA9sGFgYMPW8MvFDpHlOgP2y6CjXt5Ptl4SI7IX7orzrsJzUkTkH0XwlojIpXx476IJ+GQ9QUnaA1WSdONLRuyenIup9Mw7Ix5A3xq1HHrsG1RPIVz9RRuGoVBnpMfQbS1Y959EtY4nLmuG5W8bvKO9+EcXKF30s9QwabRVG1rz0tv7RE7Nc6fDHNkL8IpMc6jbZ22ct74jaUxmkXSFRACmSQ9vPJfLHvJkBX7pBoy7f1MuYcbJwDsi8u3igE7BpWcWEJZDDmpG5ZM64MqlpuaWengtYST74gFONXaYt0bnyQ2PlWQmwDtCqQw3NbfmjwfgWfSriDz+663lrZEijz38vBnQj+8qB66VN+VDxXkRkSeK3Qmd7Ot7yUbf4w2hSm60S1+qt4QycW4YHwB3264To5L6GMDHUpwEWC8Rbv9lu1wWtEhLsrVS6qiT+bwpBhGRxCr80g3o22colxm2y6XGDaeRH5nR\/683Dx\/9doZjdmIeYH3fqlgg1dz8AUChrzyPKVVfi\/vpzUlK1Ty6Z7JnVEPZI1mGf3Se0gXfSCOTRqOM8yVyBPDck4c35LTmvowkRB5aFF6VsSdyRVHzRB49kwchOCwGUPRsgBKRURFZClUio2PPEnvGMfP5RQDV\/Nb7vSas2rlnx8DgdgOM9neO9boAu\/ezw+0KaNqJs6QRY2DztsEeL+Adfm3Pnl27O8YxzogFuN0eF8l1QR5OywXgzQO0P2AAmGUlGsjPs23LZZAjj0gxcFFE7nYCxpsiIn3AzdOOsxehNSHycAq0jIo8bsB4Is4buWKdNABXTpdO\/V1aUT\/IocnNP8owXPzLceIcxujfkfjxKMazk1XT\/p6CMfJzrLmpKZwrOmQhcONbUOev0SbLAPZLgMtJTp7HJVtwumQHTi27yKXVst3xE4q3hWP3lcObWM+VZGfhI3m\/EuB9+SCiQCfeNUxT54xiOQjc\/AbM66c5fRanTuzjyp+O42dB9d6TCxFQvXflnyqMhyIiv+SMPPkcuPTP9DV3pJZjT7SjSHq5eN5x+TiAqrs2ZgOq5vJzS42c7utf154z3PIDcEZEfqiEetkFGD+KjwOJAATlTfR0Db1STLcBCyWAvEouteR34Pafhsb5hpzf+sp9WQh+Gd0+lEj4icqVNZuePVCVcn3txqcPtEpcfmXn8M6+XGHK38Cpj0g5+4rI8ShA+C+RPyuA5rMix4MQPyNyohR98bGIyFWVKxJ\/AEqlAtsipW2R3LJJatkAKjk50iW\/MLHVz45NcHAZE53\/6NTedOxQGl47g\/J4jUpnTkl6Pjs7xVaBJ1VJ48tUH0+noTaNfG965pvlTUNpVEVJP8+bnT5zkZ2iqrNi4UvUa5tlzW5UNG7Qa\/oUBeS12PhwxSshv6JFAZWVsMsORimMF+F9P0a4xcJuKaSg1SIPK14D+RXNisJwXGE3V6CWqz58zQFHNFA48+VRg2xp9w+rteWheWq52ozqc+3wNljL3YMFM6ZyNDh1MbBqfrg\/VvpdsG5p3roC+w13S7Vvix72xXxD3inWcnOrv7mLo8XNs\/micGaTsdK7NOSJe+LuJZ5+P9B0oo6X1zeXjTA3PA3wT3NNJ6+TxTGqKma50L3uuXhmAsONdYUs9DAIxU12Ex9PbVhPdC4sjFFV2pYPfb7Z+Kbld1Bc17YuuqC0rmBy4YrFDUtD0FVRXlZnvjQdQc9cSpoKFlDgi+dXdLEtGGRlWbc9J8D8smgFnaXgWwGoDbBVq612S5EaNr1uv1G3qJhVpT1W+ySm10Yr6Clo8bPEFY8aIfp1v1oaMoLAbsVfnby0bSpURIWfrt5lZkzroe5+ivpmm82YK\/umETdo1hAqA6wY+PtXldCiKV+y3Gv3LXL7V8+04ujelR00GcR1k6IdvXBBXDWpNqxlixuB0MCsaPXL819xi+sjkyNZMLyA4c1CYHIgM5cfUOXZq6gPZslveS3QhWB6XkwgdqyqLAt2CUHsssyMvdU9r+lM2gNA0eysFeypWjo\/O+v0phhsOwSukheDuxtclR7VWGJro6jBhdGYh4uZh7UL6mvBCjRYuGI2UD4NGmbgQbkpjFAwxfbQWxXVtBdSF1UUxDSgG8rBV17taPPBPkqjtmUbkK+n+B0lk91LmKRor51n4KIA7X8BHRVwbI5nY8Wk7\/SyRcFhNVTYpTfqzXG1xlxTMXkFQ51lg\/rVgk5gth88M4Kt1FZ7fwtHlwUG1\/FRafUm+nRnKNLjHvDHwFha2B1RXxX11wGv1pcORGKzAvsbQx3EYstDbSa0zQy83gl4FjDDyxa1OLjyRfSbeFbRWAdrWQdraZqBvYRlmO3VdTBo9MNqFjQCbFDQHYn5mGu0BNgG4bA3Bhs83XmH6qb2qrVlQMu2uhnRUBPlUdBvNTf5jAFozTe7jE3ULlFgboSmUuCz6ZN2+40luC9aZN\/YBNPCdE8h2mMvorDHo+u6ymvUAI2lk6ZSNjN\/JqH2AjUzDu5+VOMQW5S5l3Wo11C79fwZhGaH6jybDL9dzOYgtDQbJWqBh+VuCLcBru2Yu5XqX2d4rKKtYA1h7FYwt6Osoq86EtFLB\/JfQEEUWi2Mwbmb8gPlhP322qXeKbba6onaLO3tJRyg2pffP98DRQf61rbBlI2L4mo6VA929NPe3bta1ebRNrfXjPTNMUAvnDNLdUE3EMsH6Fg9az4cqcbuW1QGNK+euRDyOgG7od7V7dKzX0CaitSKNBXZVSRXOBVJFaBIqshYAYXzARROxUS0Vzv+3\/\/\/ayAAVlA4IBAKAAAwMQCdASqgAKAAPkkkj0WioiERrMzwKASEsrdwt+Tp\/JK578Fc93MT+XoF5Zn1F+YDzVfQ9\/fvUA\/xHUFegh5cvsq\/4ff\/+BE\/kv4geFnfX+H\/Hv4j8tP6vvLF\/H+g8nu8H39\/yXqBetv9L5rvs3ZHZ\/\/W\/QC9bvnv+m\/MnzFv7D0A+vv+Z9T39D\/4vqB\/gPAG+k\/4b2AP4v\/TP9b\/gPxz+j79w\/4n+S\/Iz2Zfkv9h\/3n+Q\/In7BP5B\/P\/9H\/bf3r\/wP\/\/\/\/\/3O+vf9nPYp\/VcdlA0eT8k7u7u7u7ufFpOMt67KVfpAF0gOKpKACk\/Qzv8ohn8y+iTaYLCVtwTpbydyNPSrfwMJFP1IzRw5HGuTvYLjjOHIMYUurEMA+1NHb8CA7bW4Xi7O27It5xpS+\/e0P\/ebe0DZWZ1fjZY5k5grdzcpYlbw6V\/\/HNhkai941aLpxCSA74klUk7ZOHldZFqilpCGp85GdA3ZwYfDrF9VvcMcl5oaVbO\/BdQh1FYBAOmznSSawlixSgaPJ+Sd3d3cwAA\/v+N3gFZcgvpW7tgJbQfmN\/C6nJ1NmlEFm5zD8RLOcM7nBD4GH+1ASzm0BgIZE5MpV6N69kORuX\/g2LgkCjwOP+C3vnmZYZJrz6cTsbt1lfZetgcNmn6gxtL9pemmzt\/4gbsP+u3pUugXm8DLhT15+BgFY5iJoR4IUPRc8h6qz8xVMsIbp7THkOFXHM\/+frBZA4AwKoxVE9vmiAfDz02qtFDxNYFXihv5IzRO3bmb0jLtKq1PF9Sryc\/3Skf01h6kNPzt\/\/qcOjN3qaAzijbwYd0Rz916PkWaNbfEuwsmKIo\/+lUa0uV01NT7xb9n0A8+ssEvs+zaylbCL8ay9XtMbOf4CA1v9eOXMqoX7\/ZmPSW83QUovodI3nXEDqH1eDtjTAx0wxK7vV5v0O8Hs6wr80R\/jXkDjVFrrBb5i25r\/iMpqc4qshGs\/EjSlLb0qxowtAx\/djyMaqTMQPYMOHV2Zh+fGC7GaPozo3mVSArm0tOMeQyvfgx\/xafy9MY\/hYIB6kFec62kW4cU32Y5ehNidj3Vt14mzLqc7zEPEoz69AWzeRkDaxyS0fYL5AoAlO+cDER6frKg22cIYnbElODU\/6iP34gkPGzXZlcYDhZoFnbDDrUXMPAy3KCgXTpyN3NWQ+4IPsrAnifIpL3OcEU4pF1ALN+DzS9xbtqMsMdEseZY8iAvWa83R4c8\/OHFB5\/69bcX4T6sTP1PZVEg2fhqu9UBsQW0CSqzAHPj9qf9wP\/\/lAf\/xIL\/\/kolA266ZLNYSiyhTnQiHGXZF\/oLWboPTDVeW9DoLIRSlfejEgXJCtcF7x87GTxd83cfJsQiWtzdY3NOQ8cqXR2b4R8+w6+IeSB4lulN3uJu4MZnmd3mOqBCi+xD\/btKC9f1HixiiBT6s07tyKsMV2ZWAFkBn1UBdY5aeYqh9x9fzd5Opcgh2aISoHYPDizgD7t4VvvnFx2LvdPdi0PWGdhifsoAH35jUTO316ZCWfewrgyzhiGnBIwfBp6Ys571z9qvoQlkVwIg2OPwyBTKu6zm889Sc8YRFyYTV+Ch7YbGkfXFyLKGbyD5wwX\/45Ki+TITZLD4Ab0T6UB12oLYMZibyptRz8RJvsR1bnu22G5pYWwvwtUrzb73iGFWRgMi5ObQo9EY+H8jevqMopG7t7f+OVNd8x8OQPoLjdfT9ofG8ohQ1BSrh+Fwb\/Tb8NDC7g\/wZBpIADer\/MUTw8a2L6upI137tqLjRIizOup3NuEtJX\/L7c9PbPgyje+2WUPEV1JswUGu8W1\/x36fNXwA+acY2ZzV9ty8IGwgL0tmcAYH6nipxjrmon31F7sHsL1aZRPgBnWF56sAsIX0NbD8gS7RYma5Jlu9P2CAmqYYsICazrkKdipVnsAI1qTDQRpq95hsLMuHyLFZdJmGGCa+oHPpVYv28x24ajFGcP\/wQAw6OzsBJwWJJ43eMDlWE6rIggfp+Ogvabt6RV\/GQZiawJ1ijBHQvN9pJ1Sd5gHSKD39G75LMUzv\/Gp\/\/dtP\/t5n\/+7astWxkAcZcxq8y2qClyeQuLiMutvKiO5\/yYZjcqMgvET1GLy8Y4j2J2TTsyPsJm4wGG6033M3IDsb\/di4z89hnVhXZP9eeYMNbyP3AzLt9bn5f3sO1LrmjPHJPUj\/\/8qKw2rm3wos94mezjz3qG8gGB2cWddPRdEhCRvVrhjYrdWwctAobXnvXSfcafD4zs8bR7gNwYuKbKOgGdfqGXrO5ou9HfNNgxo0nj42KHlm5POYgeR\/EaLX8dhzzWhKHiBxrQcx7xjswk4d7kYWwuhhhbvR3jbXutY2yGXZFH\/\/ojWb3zukyov3yZREcnngoaaBQwD2bqX2WvPGrjSZsLHl8wYkxc\/wga06I1Guz645D0Sy5vE6n9gXPRd\/5ne1vLqnJhU8gfdModd278ZZ6ezN3w0KjC\/bKcP8\/W6+yE0O248Ktkt8TUOJ90ywH36014mBJTdSZZSewXnqtcHFyDHeTMPSHSvswVs2uo3FPTxFjrMvxRh6JusfyDkSxNaddBMtn3\/wc7dJ1f9m3z5hvUPNvmaVgYmUEvBB23rwqIhqUDgtVd50HH8vHVze\/vZLjUIJjW3hh2ZgWgEmQVvypWXcAk1+SOR93afxJIv71es34gPhAHR8sffSIlPyx15nsV8HoRvAKjnxt8GkgJyXDh8\/X0yHE2VDIXwNC7lR198Undc8bNC3MAM\/GZ4AdU482jSK8qsNhbbE\/f4DOMVEawWu2p\/0\/PwKJ8Y6bVQnHiwVJuO3odM26EAa2KCTMwOn1fBslF7XQis4YumXFf6S2BwW8PCbnyQRnqs7Wbnnkyzrp1cco7ixZIK7H8Ru8kVk5Whz6lCLpyDZNDTo2XMAMqwA4qrA6o64DqRZhYgcU3iZVL5MphsGjzRtN100Uxou4Ch0OCko26\/5khmL+DyfXleX5Xuq2tsykIKIQsgcic2WwxEgYUEDnuSeItN\/WSwulrdHE4eNCj1FRG3HMPp0exyhkmww21mXiPm\/npdjiQUCXTBZ83id+HPD6Dzam9Q0OwQ+pfW5cOK49W92zs4boeo676TbKEpMUZaPQQIGFBHQZL2xru9+Cl7QaClHdBnWFaO+V4uT2ZvRpnf04BXn5U8qY2FtHwkQI8W1Sgc5lKmOhJyXZO47uLVnI83Y5oFAD2AUQ7obuPWZZ5W2QKdLENRViB0sCpTkYSbZPFTdvZxOxVeml+UYWn7sO3L04ArOIl5YgY0us\/tHv2rT8IDqYKWq\/PGzK6cgwzg1dm+1tj5ylEWHlhERtTjculhIgcRaXE+KCDX3ghnp98KrXPyCHkGXmLBqf9UJ9OPNMxa\/Y9xHko+ADUaA6mScy\/nN3znAZUROFWz6LVfbqDiKgsRCKAAAAAAAA==\",\r\n        \"secondepousse\": \"amsenvironnement\",\r\n        \"amsenvironnementsecondepousse\": \"amsenvironnement\",\r\n        \/\/ ARCAF Riposte\r\n        \"arcafriposte\": \"data:image\/webp;base64,UklGRhIaAABXRUJQVlA4WAoAAAAQAAAAnwAAnwAAQUxQSNwHAAABp8WgbSNJ55Q\/6vsZREQefueSbyHNZRjEMBWRSJIkSUpKKaVSqXTqqid427ZNceNs246SZWY7yTCGmZmZmXmYGTKWHXuYmZlnDGpQV9X2DyV3V7dkfztzRvR\/AuS\/ozNuRN3kxaBE5EYU5icr4I14Si4xFtRPVgD\/llEHCeonL8AdTeQ1TGYAq0cbJjdYrt1smtQA9kbThHX1ajYMw00T0pkLlyATPg39xeYJJXdU5MSpS0AQZML6x\/KLrvVMGOr0kYucugTDCiATGI5dpDNDx44cq3z8mHfy0IHMNB77sSx3DvC5qqCgRKlsYIFrvdmoO7TvGHHzPoSjt\/cP7lap9V6kTxoO7zlD5ANsv5Hjn6tDQxnBo2Xn3GwIYMc3tq9oG+ob24CDe3MpdeGN7jsL+HA+l2vEK0A9ZMUwePlCTyb2h9qQsLBui2puby5xvCmVrhO+ofK+Bn\/dloKB4dwmbbICRMxJb6hvL5b4hnIlIo17aU9lLmMhEWe6rjYMr6GiidYD2TG+nZGS6t8OGJIbbf4dyItsM62pdBgwbKnfOrwGMMZQbrKEz8x01G4wxuC6WWSQVJoOsXaeDa9uBDCMa8jYnDTUxgFKBueeViJbU5j3lDqC\/jaPDwZNwgx5dKeQ2wmGFA3b1qy5TpuzN+jDZ63Cs5rkGTLhjk5njQWGDanrFOq+YUz\/3bY5MLjMEB4POJtCSNo6ivwUpMOOcXcZmirz9WxnuQ+P3UMpHSCg01n3Dt9seQ+fqmOOM2m58Rk6NZ+8s0cY4V3RxRow310PWdThKuXqcYrm4Ep01Xn0uqtnJANErFKOGn7SpJglXVrf6qp+cUlnAViyoNWJ3MvCJ6Ow+vB4xNUUPDIY8doFFjS4mc\/mz4lqgB\/NddWoM+FT13KuVVylmS3mOar\/PYqyENDZa+c6eoBiqaZNwSOLPrJraZ2j+\/Coad2en4mIdy61idvmhVFU2+7Dy0R5t6Mn8KgR0VxHDX9HUTaGrav5kV8bdJFHHEkjXgVbclCycXx6HD1AjYC1ba7uxS+zpO3R5Gi+rgkRX5yYLq6b8MrgV0wCy3ujcUq895Cbx\/BqQcj8bU+7qX9m7vuUAHv7ESFMYOi5iR2v\/Pd6F53bfF0Dyue5aT9FRcuF7tfQCRJrb\/hAuwuZTrEW6NFChxtp9O6WufZtLKxpEqc9g2FYAzzbJY5n4leyfuAgttZ\/Hma6G+khxQz53O+qZTA0FVIPmLJysNnRw9c2aVNtJtzT6Uqa8TJhWBbRIo5f+lVRrDaPTnE+BT8TIZ3LdrS6euZgzwZfV5lvZrprw8tEeaO47jy9ahpBdVkPd+pJE2bkbtTrTHrw+jBVhTne5ayHMWszYYv0uOs98l0XQRUZtg23imv1Ihm1cLrVnfTiPCMBLX3vKVe9l3YePHDK2tQ0Rw\/mJcX2Q6OmmgDDVFcVG\/HSMpyrk1TzswiqK\/Sjh+vTaL2ETcdyMSdp1j+D+8xUfC4vSjmS\/OXApmGDSzlxr\/IvQRjVAB3CrJU\/u5J6\/DR86sR1Xb7udQg17rMEukTEO7m8m+YbgXVng+uNjtRHACVNmtmCyBrgYydSj+8uoE4cv8loVNKkmzXARGN8pnIOGm6E1pXlZj6eivG2Dkm9CgADfJdIqSYCV+GtehVv1yvjfExAbcJoj+9FxeoixRLqMK2xtj1f6RN8ahVgNb\/FaaNojLNyY2mP0VfpMwJqGbZofo\/RYQPSNGANmu5K\/S+Jkq8pWWpayKtd9sdK3YRk0FqPrrJF8Jj8QEBGq+k7eYifReQefDLqV1oAj8p3hLWOkn2ji99kli6S4aLunUCIzNtdZkST8bFSy1fwmHwzEYD2yX5I0+fQ+4YuMRFUqVfy6XiDSQxYxgKyOyFl\/P\/++58k2rEdx+iEBqwuN4COD2i3tpLRSU0cHd8Fzq0xlmwbHBtjDG5NZRK6KDgdKNyh3HCqMFCI2V84CrcLA4X+wl7wCgOFmCuBfwsO\/113hYqnCwOFuP39R4lZGCjEdeF6MUeGhm4EzJWE3bBUyuvggMSus2wXt2uP9+8YOs98SdrElaEdQ0NDg0N\/SjUqWUqHyDfwpKh4c2CdKBFpg8ui4oARl0oKdInIBzwkKl7uWRZLdS9husgieFwSzoQ1Ut6Ct1xiB6BciPxhZomSr3k3J\/Fnw2ZRVTZF5INbPOisniGJD4fF7QKmi5Lv4bUEU0uskepewBRR8gmvqmQry+rvs3sSSSrfET2VYBq2v6Gpvj5fNbn1tuwXeCmR3ZpvzM8GTmfkr3F4NpFH+ZWqGYIZouQnoscTeZQPHzy\/MRu5VeM9mcgvKy2rmtXm5j0VeDJR4J05cyHaKYmdFWBmBfuWShIEly5eWiZVu5xOESl7LBHLRZrhrKhsrDAVfmKEN5OwRqp6BVMq2ZeTrRXpwm6XpM7WUOFTf0y\/kGijqGpaRm\/ZD4zwUqI1Ih2w24FyNl1E5BN4KdEGqeo1TFcqp35j1DzjohN2OaCSSjZPqZz6wfJCTelHUzngaRftPnsTFdFKRJRQH281mooBr9WUzVaHnuf5vg15MdE6EWmBI0nEB3JShFy8ddiS5\/meIeCNWrIF7pXyr8woLycwK0SkHfYlEt9asGEp3mbGomkiIp+ZUftKjZlSQb6El2JNZ4GISBvsTyYhEJGT2BtgqlT8DF6tJf8JH1ZQOCAQEgAA8EYAnQEqoACgAD6dPppIpaMiIS3YjDCwE4lsANROK16+Vf6z8gPyj+W2xv3n8j+wrrbjZ9s+eD\/S+oz88+wHzmfMN+0v7R+7r\/wPU1\/dfUI\/oX+R6y792\/YP\/Y305P3T+Fn++f9v9u\/gP\/cD1AP\/\/wJPkL+W9sP+W8P\/G38A\/bOQP1L25cb7J35I6gXtXzovm+zb2H\/TegR7c\/Ye\/61L\/CvsAfq\/6Yf5Pwrvvf\/J9gL+W\/1f1XP7T\/1eXH8+\/0H\/v9wb+cf230w\/aD+3fsl\/sq4Kcgm99lKddz3ALvfXC\/Xb\/L26gMH4qW2zk6CNkpFGWmJF2I7if\/TbziLWJI3vnU8\/foDEtOIprECKdiOm7lGBQ76yLkDRMkKcSokF9tRVScQMXHVmkrxNi5g3GsuqtdkCnoUs3sB4FfDXKai0lIalCz\/qNPjyzt\/Aw41xwN4ajEJFSAZbjEzFc7dwcwLP312JTSWHQwL9y7T+Yaz+2hYjUGjOQY1Wp+Bb\/mLEJVyJNZCJXdQKSIAbiZ1KaUw9C59tYa\/I+ITYs5OS5CZn7hPS03U8kppYD1Q7CpT3hRnDMEBZF18g\/sb0ZnNMUht8ZFyXqX\/hbGA\/Fvwa1bwwWQ9dr42gJnFsBZTTbfqknEAeyLCpfpI\/BUHxKODYUbaOk77D4gSNs+z+hEMFqv5SO\/Z6\/eTe2rT6MrXzcQ5q2lF+TwoI5wdc9fjl6yYVCZ+v0+imlj7H1OD8E47h9vaEFh1sp\/BC5nqvkVAB\/VgnVosAAP79bkgAQXZZyvSdzjKPcyOlzFTyurXmkqoBCt+o80782W1zClczeNpFPouhTWX7JiK3GTnIOYSi8VkHE2lN\/Rf3edd2Zj9Bqd3DdKUrNCItO71\/ZRNXsPZZEfQN8HoswX7jVdLv7TcexupZfQtWSI0LJGhtfFLotTNR+sDv533bLXNcWow6+ZOIF8h336XdYaxd+baOjoWIe++Fa4JO9PbniXDCNqTdoXNs8wFFyy5YqQQD4NW38Rw96TLLMmVwcvF+xoCj1WjYaQwQDlMTONeFsbsCNAMyRfsm+Ibiao44aE1qW\/Z9yQp9KNIfgV9JMbtQlxaMfII3zxUBIrwUNNc9YlkOYlMkQsJOrMAVi9qMXlfaFNlM+aofjLEyKfK\/fik\/fQr\/dW5KRyKda9901McDPiLpJwSBQS80IxaIrcU+Cj4wYSSABFvlzyNSX1VLZp0qmHhHoaFhKrclKLsyIOKHzI7bMiOd+Ij\/KFUytBI4prwnX76nyjgAc90fw7Nxa9c3bet2OX9Y8UXAWBwshp2nZQEv0MU0vW0AaMoTIg9NzE4ul3aWzj81BEz03vb8RmWDnR\/\/7fF+PLtpJElW6rQTnoM1m2E1NgZUu0UpOe5atY8bJ7kXDJFtF7LzySPMVdKbUamYA7tMD+\/nfEMF695\/H3t6dsCFX3UxEhedBp6OOjcVDCrgFXZrcVOUgFZmSwinIslJdxZNjlu1C4ENK7XV7a4JcD7bQ0H8k8QQXnfwHZrkhFnX5i8bK7j457LfaJADGMmHpMR\/R+6tzUd7WtCgKLmvVYIKcuyGA5oyvFUQYfX4qpfNQD9LJyLhldBuoanc7ae4YLD2Kv3VjOvz2dAk314QllJ94DdqT8rkqHSPuiBHGax\/iLvu7CUouGpJF\/pUNC9z3Lm58db2LOXyRz\/P5Xbs+OLO5zD2vccvcDjiESOba2Gt91ke9nLodvU8YzqH5+zOtEhVEwQBt5hox\/0dPwysxU9X3297OsM2GGKLf3B2w4DfidA3HJSPu6mqkvoY9wCfg3llJX1TeJSpzW+YZ0ljEr42I2Ku7fBk1dlkl0JHNQJ\/stgcC8FN9AD++hTFhd3tnwCp8uRIcW2cXEt2lJO\/vSLvsv9a3fM592aGNmmk9zD4CN1jVEsI9Sz07har0nudedACtH8Ru61g1qrLY5WHnS0fL7pYoo\/KdL0wLtbv\/LL8cNbMRcWQ4VBgV58rSpDoztFFZsfdZXZ6y4+pLw1LE+E5tuIKT2PuyQ0GloXg8eF\/VBNhzyNFpT5uhvcViaIvPWRz2dgSL96aj0wOHNLSPom0QoNqxGXKvwADy73F\/dqKW9zw+ROARDdLH56dr\/GQDW5SUm542x3QLGp2ar+OC3OLW0onPEJxIf8q4+S6kDcvYIGtmm0iTRBDc1\/5qjz8xVthXNfpnURw1FFgEfdFUpjqifARt9zJQmsdV82gFtyVWwVyUREUKVzLAea06EDMt52Lr+DABJUxX88yWdV9I5jXKZQAnpeb6isEi\/cmFJd6zy+iOFOI0Vg1YpUvP\/LL0pTv\/gp2OJPSIXlwMiF7dXo9oix+x3Z6AvaX5g910lEF2DZadylu9b9FRW6IDYaDyX95+hxDLEl48gQdp0yJqhnv7sJK3jDDSTX57p5\/viABfSVbq3p+fSz8NAoudprYA4kRJPXQyoX4GucL+EWc\/YkeIAOyuqQ\/VwdjF7gucMaUGp1rii8cSv+MbWpueGaav1qb1jx+fEPCVPf6ck5MjuOitUfhUEXDMS0IgeiQ+FIjMzHeCFa257PBSqXXQqtZpf1PkMZ1A0TXuOXNCxXYOIbH3LAZX6ehUDlpMIzMngC4xc8NWVmpEjIopRcaeJI3pZ+GWCevvO5oPSt8PIoGztBc7lwSlgR2HHBQCf5Qc09YMcBBoT8LSe\/yzuArE37V+zyceeXPbzplIwj2JApe0l1szrsbiBuXCUcvMFZ7z4L9GMqE0UHI\/lJS4XA6+IDlV6A3OrSiw71CtDciA0cvU8kk8gSDBkfq1stKhlrq+EtRn5njDBfiRWDtDqor72fxhb\/zGycGtj8o4UV9H9JCELqrlRb6cDILOrPc4li14W4Rmr2LCXyVmHd3hBjOkZMYpBn0s+LUaO8u1kN1sJtN\/FwaSLOZJGsAdp9A194QD+yEzsu+bRYzNFovZk2DgF2cyTywH1iud0SWZQt\/bVy8FW8u4WauFydgXSlNBTOxfXczxWiHrfobOCnlMm5p7p\/ycr0rnHmiMcdClaE560m+c1JepgeCDITJhQu\/tYHkC8yPVoWbUQPHaJ2\/poxmQUv6ChBxvTctEpOqdSi1UnN5mOU0p4oK0khRDb08V1wOk0CgPTRjgPekRSNKxuALQ28vdLYf1y3IyVZLcCcYnQYVC63osEWSs+cVXcGLWs5klzpOyTcblFa58RSR9rpk5c2\/MMxzgxSx5tRxAjF6NZpqdmVRTA2oYfHU16uh2siBq4v+O2Zdgpy\/gBl+yVt9\/UdpzPmBWraDKQPLr1NzRCC6SlYKFuEcOlaEiZzMfDqczHwoddJqP9UJdq1cfsOHJ3kD1dEhGxnUG8WQfIvZyS+2enMeuGVyhz2to7vi6SmzpfmITBXHKHuUDczbpB972dL0PGY6O1aa6U9ibqKiCkOJIlNZvhOhd9rPugvxNmguQHbeuRTAcjYbEdL+fQJBKy\/rF65rlbPPwGmHROELBMUp+G7jCiKrLZDRgA2MpwxUq78xBmOzjfeXmfmH6qfxacmfVbspfwd7esml7gj91UyQfEM2Io17dsN+FwfkRiadbHRMLWnfwU98uP+UZtcVn425nmuQ4ZOG+LZAZ\/c933U8eOSbvoxsaO4y7hPW\/erwYUop0YEtXCSMnqRkSNxqQIwjW1\/yJdWdbIMTXHbr64qxSJSL3n9RwxLYfnhvciPxKgqyRFLY1IxBrZu12O522NfVP6Gnr68M7sNHeLdWVxS01C2y5sO+bJhOC8\/VSnr3lvbE6Wz3Y+R\/qSFbO3l8QOM\/JbZH7haQON884lBga6\/cwJ39uoVTwW\/1p6pTnbnQK5JeTzR2qak1fDbemgSHPAPazf1QTbt+xkx34evTsAV4PYb\/AISAlDLoVoHXULo40MI6p4oP5mBXbIDvJ6yfJQfe5VzLTWSgQP9tcKvpu7y1afVotH8Ru8eU3eyp\/Ru9u98lMGRexRBJt6OIXIamuiOJPeGvPczktJcgBDRwGR0a\/7\/2YWJfLTjxxMjW2AjSBc8yOmKw5Kle3\/Xj0uJHbQlkl7HWAIjNroOTH3lL2ry90FwFmgKLrea9FtDpx6v4S1h5HvhB90CAS0KyfUjej5wMjSLiTYCokjnYdTtkC4v0u70AOtOskf7H9038O\/agqs\/gwmarUzkY40F8g5o6AkbiunGK7lax9HdaVgdI9kr37oyeoLxlLAwONGj\/5S0QGcZEY\/4CD2XSElHyAngHgLqZwv\/U0CXx1aK9BuLrKnQJ0A6E2Gq3bFaHT8YIVUhgOdE3V9kzBf4eY1HfYRD7myDxlNX1NPSD1kgx93iepueWpbK8VVWnfI0kG6PLffOPlnXQgerP7lTZA4qid9RuByRNmnrhY1rmRnshEA+pnqtmLBGapE0201KVJm4ip9xVSk5PJpVkpzcx6m0HoGRXXXeMTyChY\/NsMbN9QvvgbLbfcvUM91aOK83nbGSZA38xlTU2+pCYbYqTKbQAJGcsggL2BLJqFr9mlzLDLwpLjrdovKJl4+Ce4z5WzJFWPtPXe2eBLJcqeGAzHdBIRGZk6fuWxrdRCKmlHCTBXqM+S4CvEq+4wDc2qGZoJvuUhLoiKmgpH7aDcqgOvgPYjb0Vsre+wR5VZLqYwWrzjB\/EOYSATRj5Sa2XXnVwf6GZp80OjqJafmPZQBOv\/8u\/ZKDd9SCTPFcqMKf0XZm31QRi0QfCJlFpZ3Km28BU9DJ0IBZ+HsN+Z2fsJRlq3vHIo6mZOZgB3GBIE+bR3u9b4PQCqNEteT5TYTb4jTbyjYHgVFe12BL2JMv3kgbartcHA9A8YDh9qxIfdwQvH+6ZDYvGt99XwMWgv3UPCw\/8D44eA8oACLg+NBnIRMMHnF50gXiSSt9CvWw6XVXFpmksJEOgkGsS+6foPOQhFWxvLS2T73JG6o4BFro20lgcfVYXogiHdsYTKYD8Szf8giOrJSC3WpssOostsMIY3vfvZQGJeNS679hzjqDGzbS4uDz+RH1jBN0hhZLGj9bBWIAbdA2\/k01oaXGvpmwLUB1QuGpCW+icNeRCf+JbXEyZlDT2qq3GXBSNaPjf3+N5xMPHMOYKbrqLn2ZP5nWQ9e0FPtwp7m5vISEx6BluMOACX6QVTN6\/cWsIbNGNI3VypaB5XWVINoPZnz7ise21F+GSExcV4BCqKT0UHUUa3uNXnOS2RpjWg4MM3rOvDpndOj3DbVUHXyzoUsiHpzdFOUZWOZsO2I4sB8\/0NTWpAod8DeboJyGJKS3xZsXWxkUc4ek\/qO4EWCdfrtMBLeUVZoE4wuSZCycejj23\/JtII6XnCl7JwHYbDzv0z2SuKlQG6qvGJz1VmSMVC1lOv7a49ZAGf\/Ul4Etj7p6EpQExGMRaDeAiW2JbNf32AcutB7CX2kfYQvodSNkyomPPYx6XUxAEm1uDiy44OvYFDWt5XZm+Vo5\/Ja8UVk7Unng1H2HCUMULU\/KvrQIXUnmnqgzlE92HLtXpsJPGhsPPXOV\/TolbguLqACLTKRSVpVAZNbOr\/P1qkAV7eVpmrni6y0qzxxgOe4eTQexy\/HflgEoz+a+ioCGL5rdJuqJI\/OiDFWspPKscd05NaUGXjg\/MP4ptsptGqJ3n2bsFH3vLfkKnKxExFNTF\/2s4yWv1sBj7RNdZF7yQpQCdh9PSRB1cD8lEzmsLFtOQ6otvfJ40D2\/kUh7Zsey4M\/z8xnRJyz7xnAVz52zQxeIfXbBKQ6n6LrefHUMJYQMflpFt1VShkwsGgy55f5Eqf7lPxk6gKYteR9kCREMbecni3frqYb+\/7DUgS+TiQcaQ5PZsNcwUY\/uPHPZWyXy7VPYQMLClqTfYT+c2eonAAXXR11eNjPJTV9nO2YVKmmc0O3jlPpXzCn7fYlCB7z9iZdm8+5Jp\/lamoLVg2WaPlvKTutJrN5lcz\/K7vDnibEOd67DWXRb+jNpNi\/blopnkmnwxXsxmMYXCNIpA8bT\/6VhOKd\/42BXdl94cN8ycjrJkbrZHNAyg2DZuEiNg4qUjngQQW3GWrHJrdNHe0M4QE57t5LEeRz4fj5GSnnHZwfCbzdNVHUSnbHLCXsue8FXX1MRgv2kat+9svz2+UcysdniioYJD\/BEDvOTPmVcCHtVZjpMAWuVuLuBq+HY2ifcxYdhwl\/RuAhnAAAAAAAAAAA==\",\r\n        \/\/ Anonymal\r\n        \"anonymal\": \"data:image\/webp;base64,UklGRngWAABXRUJQVlA4WAoAAAAQAAAAnwAAnwAAQUxQSPkJAAAB56WokaSIavBv+nohICJy+CV3dhBCREQiaUqSpKQ0S6msVNo69QK1bdsWN9E9E6tQqriEpVhxp7CLe9t1d8Nd1wV3aHGninVbqsm87\/vc\/y7JZJJO5+tG9H8C8H8UrdGbfztl2P37sZpwECn47CFddu4pH55m5KDgW4cUbQwp2miSP0aGoSU1nlnvJ0hl6FK0YW\/lsDPjFryuvE0qYbaKiSq\/GuFVxEz0aqWmopdGElU+9f4Cb+yWG\/B4DbWht0YSVf5k6xmeHOEoj4qSjtBrzS7bl7CBUzz4mefhrXWHht5rXvAnq4OTs5pDGePRVirmUnGNL2Ebu6NZTKG5BG+LHCU5EaMKfKnAYUvEVazLcLRHx6iZW8NLvoT9wpaoi1C7yCV4W2wMc605zpcKlMPWaKY\/mOBojw5R506u+xL2McG2aLpDTPASvA29EckZhcW+VERRbIumLKPSHO3RUirmXsk3voQvqDXbYsAsKsVv4fFRyQfDe75jhypmzdgiQs22mrm9YkRvqArZXti9lDygYbGfhOcf\/Ks7yYxCl8mef44siGRTwPxUss1HyruYKkrpFIpSkqINU\/tGZTFTVF4Y3hsyY9ZvaqhvcFv\/YT8drUXopYjWSSY\/rm\/I\/O722zR5IeJEhsbIU\/RSmFvh0FSyaEjYr6lV9sJci3Jv8obHh8ROJjlcCp9bQyDiGBk2qHXJEJhPzeFTsW4IfEA1jGieGwL1w4rIGzv\/GoYVaqkKOIorA8+JgGP4POBQ6xFBh9UBR\/GngGP4IODQJAsCjuLagGN4I+BQdEHAUVwXcAwbAw6NVAQcxW8CjmG7FWyo+VbQkd8CjnAgFGyoOD3gGF4INGIoujDIkKL5bnAxvPkTk\/wruCi+j4c0PUGmDpFewyBTD0xkMshsAvA5g4thKQCMDjIjU\/J5+HGKgo3hIwSdloCjeSzgKH4ceFYFHM3yYCNmsCDYGN5FsFH8LuBoiQcbkW4r2Ch+hWCjWRJsNE8h0IjSpcFG8V0EGsNbCDQiXdF8GNlQ15C+rqE6Tf2wofgZ8vEp3TqRlA+HDZrkzDxYxYTKPMhjKVOphwsRvpWzUEKELrUZBSDiaBkmaMx\/kVx9RU1XvAcAO5jwEzGp7sQYY9LQ4ec5KqUWV9ScDcA6T1E+qMVorQzTi2iV1ghTRRuS2umwcvOXaLoX88YGYH2r6Z\/m9u3bt+\/TtXP7zu1WZryGnE6jZraadUiNLV0z1NeuOWvuXtu9pjKK1IKiwklrVq9Zs2ZNZWEEgDXi6C2SzV+Fc2I9FpMVtSlK8ccIch2NRi3k9nNqesBf\/MMHaeilYXlw2EXtgZZGy5o8abJ7y0fGTg6n2JPH50e4U4sHLEMdsy32kR7uTKkgp+QFFlBnpXkUxYmkcj2o1vpIs2pOKVX6x\/yw7onJQkxfCMeo6VrzZgYrFotmiEVjGexYLAIgHEsXi6VEozELsGMxO50di8ZS2tiaUkY5GYnGwmkiMds7VFBnofkBxmvNLIXFaWo6RPT1UgBFV6nlXnXKttfGOAcjeMD7YcA6y8EQSv7Qhh2b9nYaeb0FgPVDl9ZyucqVkgc\/cHATgHUO63OAf6hdGfMYuEuTjeLSlEqm7Ykg0sW0M4F6kjQ8hZ+F1cBo8hjsTrreBnxKIcmeCDpc8MxkstuC5VAqcxFJGFeKs7GQmtlq\/pZyXsuTPzsUP8IPdHr\/fEXzBKFeJf\/+S8WiMTTfANsMl2E1Vfefj5nU\/LOJTo8VIfl93YMEl+JlJrlg2T3Ckah0pAU5\/ZoJlTkhp2D3iWQlTISBkGKzjZKEPLRfCKsQazc6uoDcAdRRVqOLd4BzVIVokkQZrGbDrcAe4Wx7dnUJMI+ywA1\/AA5SVmEzeSA31nO6LsU31MxecQ4wWvMqgDY+jCk2AThCLl4grAamkj\/iEhNhq4+3gA62AXiXnAJMp6wBUDRtZ7Omu93AVPJXnCan5gbxHT\/uSP\/TjloU04gHmieA8AAbAbTzYXSQ5wAsJmvnkrOAGnIrasmxJZQvgGa2A1hHzgDmkKsx4iFJOlnsAiKKLaGX7LRzlO1BUfTQ8LkFu583XFwEMI1cPo+cCcwk16FYsW4FWQG0pNlITgdmk7XWM\/L5H+8MZrETwAUOrE3yOHJcWruiNv2K2vFYRu2FKI5F2EUsyXMA9lFqXeEBb1xkt51pQ6bZM6mP2ohKFvsBLKF54bA2V\/fpdiCMc6I9oOEOhDI9DvewLwqrTViyKNNaoIHUPAwv1huOArbQTTn5PoBCGkoymqNVTKjMg9yLSmYnMtjLV7AHMrTjpJb72y7T6bVWuqqiUpztYn064ey5NOdL3ul30rShsK6k2OhzKwE8ZJIXkFv7jQhdaqcUO6mz0VxwXqliq19dB9CimlHB1CS3Y71SM4CZSq0G7Jc0ThTAU9UCYKuoGcACqqVWkqlKzUeHemJ3cGEBhQkA7+le\/X6OdlLTFZsQ6TfiTstVfEG+D\/IWgH72AKu7SPJ7YBs5D5hBbgVwnDwLAD3sBzCHrAbGC7fgrYE0XI4kW2LkKutWT+9dAKUkS3NTSCOuqDkFtdRZsArheLwUk+LFAMbFxwIIxzfXlAMoiMcjgDUpXgCghtyWMjY+DgBGxi0AhfEYEJ0yO15cGI9gfHwkxsRjgG3bADA+Ph65PUVN90ZeWWilcaP5M\/L2E5qyFD+dRM1sFddiLB2TWSsVyZfvH1E9hc9ad4zJSsxgDBfpeiPytZfkSr9poGb2modQdOl6Y2NjY1NjY2PjKeTtses3PoHfakMvhTEExhPUHhhptIJDtEtLdppV2HozZel5WJfGpvzaMtXF0v96+j45+XaJNSxgFVVWmruBzzkRQPMjnOkLAxZucSKsdHF+OX0BOfVKGLDSWIDlX1aLmCzEqAjwAf8CxvO3GeSp6BHp6TYTq6X9yjIAz74DUHzvZvcPM7r02ye3Y\/z+sf9x5Zgj\/bcK\/QjjqLPQ3ATgy85kKf5ob01OL3z4umfyBnKvzF7DDwAMVANA04NnD7lhPrkZY7oT6yc6r7nizH+WH+EqtSsj7QCw8+9r31pcmuDWZU38CHhA\/g3c+wzAm+kpT9ftOH0W+EzWo4wDqxY85lWU0p8KtXGlOStlz9GJiZO3C7Rz9MCPLz8Hbgj3Ape\/BpDYDiDUsn3\/kyPAUqnFLOl91vJS30CV8SfsZFJnTsoFpO4+jU5W22Q5zvGZHU\/ybk+oIPk+gM85FmVdfOfY98mI3c7j9gU6ETxhI6roU3Y3XZel+fkCNvVaRVe+pO4cfZ109ILflTHbAeAIu\/l3+7q\/o\/vp3H\/Ml\/xjF8217++hUvkUak4cPZH+6Im1SGvZQAiwMWquBdRUhMLA5LEhKwXh2THYlg1MmI5LTfv1CUysAWwghABa0TP4sgT\/vxAAVlA4IFgMAADwOQCdASqgAKAAPkkkj0UioiERyu1YKASEpEeQjxBXWz\/gNbw7N+PXQu8IeFOcPmDzDeGv8t\/KvxH+hH6q+wD8Z\/4D3AP1E\/TfrZeYDzh\/QB6AH8u\/0Hq1\/5z2HP239gD9nPS3\/Xr4L\/7L\/uP3K9pn\/\/5zX2V\/3Hw78dPxj215frPv8x5y96PAC\/HP6Ruu4APq135WpZ3z\/43qb\/pf\/E9Ze8++1\/7z2Av5r\/dv9393fyH\/9vlu\/Qf89\/6fcL\/n\/9p\/7Hrg+yH9sPZU\/Wth0hiXqdnJrbf6jzhu9pP9NHYRX\/bOsZ42iTkiJ8Jw++adjYcclB8\/0JCI3vTWCulRcsaxUzzxxwtxLNDI\/GGWR96jMJTTPt5\/cy9O0MdRbbB\/4pg2aahvQk\/IWn7RPxC9dAmTzTxOHS1E\/qa4P4SCWmlWmdu7cGdoiX9nTlkzeVTL91tdji1ou3zsSG2icVOxl1F1l2tXLiEWN5xBkIQPPbvK36RGynwmDPmaFmUNF6r5fnBVIOv217hW1fyrlYLhwa4FEdp1\/GVm\/PNNPRQfMsRoibLwZLauuCzMVkQTqlZdB2gt3sf\/OYPD4T6VSkB4AKd5D1iYvF++OBxgvQH2T5EEptSag5ZadhgAAP7+0BwABX+PzIzKwfq9+RuiNafwNl7vJoyb1mHtsuEFnSHD9cqksf+Dk\/\/uSnav\/\/aYQGdDJA3YwgfOq1XwvPg9PUE2k6lz4OsuZkDvMK33aQ2AvRo+hCP8GE6E2xX289rObtqEGLmDI4ueaK+sPD2I\/\/UCNMXZ9g+TnHqHfyeUrPlQI8p9muYcNuqtnkL6+n6W0NLpF3e902sIMBmRNKqLUB7cH1CXYoY3Gffiv+G73rvU3m6\/Hv28d+HFPjn02XrgR4pZY693ZHfmW81b+lQhAOT2XRJa6phh6dFmtEZ5zq2L2sJtrLoBXai18BZOCGAWYfIhmBIridqRw6DKe3om2Jhdli4FObKA8FSHZYA\/1hIjHL3TSoPEZ34590SCVlgAK1LO3k1M07\/mzpssdlObMKvl3EKPLpejjjVSseVv1e7hNRqr2+\/hkhPaArrYNbvullIeQhuLPjH5CDAcIbO5HtPrtkWEmcX9HWKhHMc1P0ExGUegzK7nGZqKiXNdrGw\/Jzf\/+x95vOw6mmhQn3C1feCgd54yaAefOSdlS6vtU9rLnKUpNBWxdiA9xCj9Hoe74ardoI4vwY3lBkMB8OrIXpJv3wqGM9e8J6T\/god93a05eExn8LW7KLZnCk79xPoMiPxZclvGaBBl5FTSEWpF9SqqGz0isiKCImfwqqq52JYGc+VXa5VS3KxST8iox46NeWZLWgENcVp3\/Z3u5r1i+dU7hzKiydT+OAT2MBdH2TM10OxpF9PcQKG8v1T6FXpos2\/jCIu8DKs7z38xYps6iReHu3BayPknEzXwvNsiqIOFAkKtAzZ+0xi9ZE+m21ER6\/Xt1BGrCDVQbLui8JWRtIbWKPsqHyea4xcf9+gz+WygoSDuJjbvcc97QzBr\/n\/\/HbE\/r6blLXCM7vf8Yujit9pole27sIvHC6m2F1eBtZMX7D\/s5WtgpBBQo8YVrVJXcY\/ncp1PVCtMiXZQWvEvsV8HPcHW\/iy52ZR1hN7DPs5tbAPnerGreGbrai7nfSecar6GKDRqNXtL+9+CuZ4h5FB5j6rJ1p37VFLDbE24OBy3nvucoUb\/La9QHQUc4ui52co3ku+WT\/YP7Q1gjrLiBZuQikYpiE\/k16wTAWr8+OSRn1O1ARb6MzWlSE\/bv1X\/J\/IyRuGFDWW0N2m0mvfvfAf6IrU6RDF3a79pQQw2cEYF3WT7bZ1LmrgTyv9hrcT2723DkBSU+RMoMB26oOiIr2HfZofXGHND8h7E48\/ZeQg4KFEfr\/r+\/v0Fq6BUm\/h4Ooyn\/dcUUofI92hftzbaFo8DczySV07Nly38BOOGXC\/H1+3SHz7f2vTS09DVG7+v851JuSvBKAPb+gX9m70DtoavDFI6koI3SlceWfviydCiX8gopx\/NGn7ErXsnxNtOi7Nj3G4c\/RiG+u1o4OLsS6CuSgV1kDxCtDdixE66nrdQqL3pTGMTjmmDe+TwffXbJBBpyqA5Xb4pTF9vNf\/chuYmsDrY9HMnDLF87acJhlqvfZBDbWm5D9TUzjZewvV0a16fDyUB0Udw+c785NKObbaxbWdbPK4x\/VduwzCVyn0b1lJiNfOlEMLbL0LcxyPk6LxrC7zbzVjG7fDNONW8TDd\/O8QsQcP2pog2rLTeKiJxkjjgv49sjJ4htrpTv3pWWG0DlBgayjY6XLKbsWcQ6rIWReMKn8doIFbg1DSgX615l\/zAfvXthrEiCSPo8RQ\/jqMmN7\/nbsasQtUglTi0WSWGvInSP1a21kPo\/VgacpXvITWJdAIkwT\/J+epvoClsKMp1AXQ1bKBkFJe+XlfUc0eENM47EPwChr953b\/5pXVxF3Lmm6iMh6\/zXj8q4gj8M8ScUiW90KtR+Voe8NAk47goWTr2p9zGQFlUXlJd6\/utFdL67R7+n7Bdt2ryr\/GNY9sSYi\/YWVUDHn3cmkRLNxQVrloyc+VacWnTbBNNGafnutzBrcxev+gVUD27Q4OxOdxgCHt\/KzYTS\/Knr2GIvvmpt10yFYtmGn4hajWxLIXuqFgk9TQFujcEyfKsT0Zq9utTHxtXxOLoSUBi1BuWVfmxot+dLS1w1N4kZshdHxXSQ6sbWcMLK9y1m0wL+7FUZ+sD5oEVJgQqSQy6q3FPprQFlk3x7xbUvWMh3spAcz\/+E1rftsj772XDkKe6iiNwLjxT2QabWiH2XVjSpOjqXqBsHrLkiGDPs0xG9BNRNrElQ2D5XieV4rxu0AccJC\/1gjtAhqMUWl+b9P2e6IcTtyIgKYX3t89K7WnzKllRMRX95s0AcNASBsbFyhVCcEn5\/5cvIq9jm5rejtGWRoimjBefO5Pjpq58L4jluq4v43Hurfetj18xH2vIhKpHYLVE7HfAg922E6o9e41zNYfCWnegOV\/4pcdgQdLXn0akyi4P3effJutM3ouocbhVr\/BB\/HKN7MfVQbJ0z0bjSkKVqf\/dvsX+WUqJD1Ol1nvKLy4uCXYfHtT\/OkjOIuHoEhebtVEIIk5d81cKn3ORqjhzv8HqtgLPw\/lXCAh4UQvQJJa68shaYbUIaNMvZSTAco1kXuxqYptstlZOlVPT8OHdCY9qw\/Rfy+VS1hErtcvC7kpma50edVqudooRxu8Py5Otd4ZnokesJ8ah1HFtUH5YtNZES\/jWF00+nsZAu\/9TmN5vvxgbcC5EK0bX0v8L4HBu4QF37PZJ+v4gvasymFsvazJC+Vg9lv2knOcDTVKANY1ZF8S+JzcD82ZvYkDrfe1rKgQfnuWPrPJfppA38hKF8lbsunFgoj33\/kqL\/a27V9VOidYojw9ZLflFt0iufxOcaJGg5twB2wxVkIO003NWB9kArP2qMQUvPaUk2SLsjgGL9j\/1Dmhl8FPTxaA0TlEhdrVkv8vYSe3zdUWmVOWchIOlOoyYxKAggagn8YgiQdzM2ghgUyGpvFtnMDt2Nx1WWCe3ipIxwiOR+N+KEW6NnqR4E0vHVouzUGiTtdseCGtGzKRLtifC5dhyXM9OKmxP3i7GVCLBf9q0EKZCTBeKAChHq7kaJzYu8x5bwTaUEIcjUVv2v9sxfiWMLytFbbRO19QxHmgwNYzsV3sTO6SAFNsTDOBDVWjHWBXuenaow2sbdpTXSgquD6Eubt7wmCwdn9\/ZvK4gB7EbG3\/lfxLwkN2jLX3vm812XmxfJwMZbXt+THQVak88B8VbTSscKOeZW0w3GklNdiPpWcyL1qXNHO\/sP0NRzanyXK3leda8wPrMRIZn+\/9XfnExPgYXuxbC0x\/ohkx6qTB7w9TR3U9e6ZRg4jrplHBYcMo2nL72QfpjfPgSTVKWmgbtQuAVN4OlJE7nM6Kye7KchlNrlZxmkBT4sgVICSnFeqOmO01jxynT6gPpJX1YYopYyB63LaS1352XBTBmKZHJTaCVCj9k\/2WhNiMPg+EOdN\/A+Q2xLXt7v23uGhY3MzhUIVEK\/WK0DzYuBMNH6uYDtGXvqhIqQRyg3MMf7qEFgj4hABHnZ+PMlQA7xiLPdmhF2cRmEwWNlIxQNnsYNTEVgczObw+HWYshwV\/TWIEqQqRFxumER8EU3\/uW1XENgAAAAAAA\",\r\n        \/\/ Apprentis d Auteuil\r\n        \"apprentisdauteuil\": \"data:image\/webp;base64,UklGRtoVAABXRUJQVlA4WAoAAAAQAAAAnwAAnwAAQUxQSBoAAAABDzD\/ERGCaATD5jYnah9dRP8nQMzT2S8YclZQOCCaFQAAEFIAnQEqoACgAD5JHItDoqGhFupvkCgEhLYAaerWvzn8ku84yb438ofZj5L6VvMnez2O\/5Xr96w8u\/lP\/P\/2b8avmb\/p\/9J7DvtN9wb9Tv8T\/bOtD+4P+O9gn8t\/rv\/O\/xPum\/7D\/Zf3D3nfrJ\/uv8X\/jPkA\/lP9R61X9zvYM\/Xj\/z+zV\/uP\/T\/u\/hB\/ab9jPgP\/XT\/wfn\/sufln+l9k\/9a\/Jjzf\/EPl37j+U\/9w5LfNv+t9Cv4v9kvwH9l\/bH+2\/tj8Vf5bwL+J\/856gX4x\/J\/8B\/YP2p\/M\/j0LM+gF7i\/Rf83\/bv3m\/v3ovfy3of9aP+V9mf2Afyj+m\/5zysfDY8z9gH+ff2\/\/t\/5X3YP6L\/0f5D\/Oeo\/86\/xn\/o\/0fwHfzP+wf8j\/D\/kkpg6uPXx8dR9rMmIiN408Ts6NbcAovImCkXMz\/X8BSzE3xdyYF0o1NhdIVy5TC11hhdVJAaMVzUF\/VwLaCtRauYvY+Gw6U0FKRNS0CFTgo0G6of0WyHpw18ZYIaDwLZcPqLTlSXQH61DGNMdTtcsS3nZdewizvDNEg6JMRm5xlyhLKEQDU7CC+5UPjtcmDHXHPrWZY0AJ8bxI2jWdCGQVFzO0mKGnNMY\/jiwcYRkeEHkKhUn\/vxGX\/IfFTGp1XBl4LpZ\/QS\/gIvnIRCac37AY9fhK2UiE51gwedUHsKzsJCz9SDceJmz6uKz\/cVQW6VtI04wJUJUTXnS4Bk+kGCT6O5rUynXh6oYNs+8rh\/MHo7DPBPiKR+uGEg6eRP9YHuhhqQLo1cmWGlY2lDqG++s9RZMxbvZYp8WZ9AXNBSCHgv34qcNo0XDyqByi1JsLTrm\/aVyGFS+WFubbvZuVB3Sn\/LTUq2KaOHH17GkCcfYJLYAA\/v5Jn\/\/Hj\/\/jmf\/\/F17itiUmogCxH4f1tMjjYONwn6DWcAlhBKEG8DHeQDWRXGKsMABP2HG69qs0ZR8z9bD219WAAkN9ufnOVPOQiymfLIk23bSzfaP1jMhnGdFOGdfd0\/LD3SL8c3WVAdHfKnISLHHGUGAqtAb+s63rMKI+YIhk2oufDTKLIVMoYXF4GjrawyTqTanltKLiqtRwn27tPFXFHPeoK5Rd2ClTKuLnRxVIXPsg+ClitBMsagtYgpLnM2M9FwSgSHjsmlwQC7cs9ZAbDRYzNch93n6P3SwKnCH+BaSSMXS9482TEbwnM4mP6sLuKkX+dpinLo8liuTvd1To5fzh56kk9hLnKKlCiNzIRXy9kMbaSMEQ\/Mgi+NoPhGpmmRLid3MLxJt3uCBptiZtTfM1B2Zrnkkvf\/\/CrF4\/jCawxJo065daiRePz3dqPMgz4zslj4OC7fli+Ht\/3s3nQ7ldtK0vpo7ppWZPdThE2Oswgg0D4p5lnIc2ymFEARWq7HiDOR3B9lh7N02s8NTiPexxMWjDIxWoak8lZQgWaTOi2LA058lk30Py4XCPsl5R6UVNIh3RaT9dmJJ02YpC0zounJj\/BlvNqYNjX4kAY2RT8O8Yn4vFnrIJZRMk0DAX5HX47h2NC\/HjTUmlixHvkW5mcguCnDHbNB586JUNlMxEV\/EuqdRzU5kA7kZBVifTwlpwgmUXP9JvGK7VRgh8mESc87sRHZIIyUElTX6Xcxn\/MMBwKqCCGrw641qG9PRmuhJfl6aH\/woFIINa+GxxIwBDKiculChuJFc91tYj2ooOPjwQcX7muhp+XsPpm69ZnMKM93Jp7GtuTKdDybXU58QuXF3+9s3MUIgvZ9IEY9ZfBXoh4aIsAVAK\/rjfvD0AwNXNCl5\/jKwFTn3upNU+ITZmSJpaV0QKIkHlFLjgoEWVACp8h1LYSQaXvBI1MYSQD0exiDD1LCE0XmItBCagvkyZnIggqroeSMJ4jDzjOV0g2mu4SYQ8R\/9FToYPn\/r6NSQdTNokYJqcPxH59SqliOrwxc1ziEIbtV6ZhMZM7CdSnmqzEnp9v2obM6RLc2sHIZV\/lffMbAn21CnpyJzqHGUGvzMq7oWLfO4Hflm7\/vh\/lKmNbVPOsSM+C94D0BvXj3qlEpOn2qxt5ITFIWkcOlh0\/xEyRtf+vJyM069w5wadTDrA6HVVAaaF6X1zG+hGZUH1bOkXa\/U+dGLDlS2zZHh+EdrHzzwIFNsmBnRdsiZd4Mny9kFaGxaKrXXb+7lXL6wELiVmmuioL6CmgGsBwqSPAeI9\/tbFvdmZuQxpaa+GhoYMP8B3jvPvn4iPmmC1o2s2+IpOhnA65AnDZMeLS35FpZBMsuajAe6Z7tTL+EtLW5E41lbqEQiQ68IbLIPpRRUdSUkqVcFUh2jg+B6XJ+vHN5h+n+lCY4+WY7IvLoKgNf8cBN9x6DM2SYwA70e6tZvqmnooAntYFY\/fvgM\/EV0adeeQiqAXNJBigLX1TDY4EvrgranIjpKSNWIVRo5\/r3yBND2xjBe9mj3ssQJVUJr\/6Ojxh2cg\/oG6jHnACnJgzlHXnHby3sSixQKJBZ\/jxAJPERnDpvz6G0rW+CUB3\/0VzsZl40s9V4NcWA2FKW8ySVZK0Ph3okTfvwlrpyego9bY5MxPMgA2u8ID16yJFIcdTezUHkUQ\/fs\/7TIhtTwovXeL\/IhO\/dQQ4TiH9zOAuQx1iOPVQBjfjXoF\/289WLM+KtGedvTBM7QbmS+BJNBMaWk4KTJNL5em6YQT14Po80+fKdceLXq+suQItaaUkcSplwiQAOv6nSSkI6U3pRDJU0KSu\/GADzgQwUBnxOPu6ypPAZYKdHT+NVww25QdrdsbEO8xzuOsTAqP15MJrh4Z9XMEFlrDYJA9n\/sBlTE\/4Vdhxk+OcTffX+YOOBYSnZM5ETHirXQMRrba16+CtaZs58OdP6DP8\/9sodYRbxyau8+fYmMXBuR1fVQvvk7QOZf9s4HoMlfolteTxbomdsP9kBGvJsJZg2InuqaqVgoRq\/kVk2qjIB95Wx8zcBq74rSTAzQHnLDeCj37pY0ZtmMG3KszwNIDt+Gamm28JgDTFwFn2+B1edk+Je5L2H0pfED0Fg+cPBXlI1Ew\/DxUvGu+ZWHzvWLRg3\/fTt+Rr5R3s4ZsAHbs6JT55HGX4m28ycPSegiaLrTZSVL\/Kz07Mwp\/yDF0zMtrkHN+txaEDSqEUEacr1R5lPdFUbU23Pk1giMveo8fbcA5tg2G7nCDnPk38prfe8L6DI+WGeI6F7CyzGoQd1wm814C1E\/MuKJz\/nFyEdH8cfDy66vCbktVjkNhUlcm9aLgsdfJej6V+lJW1aNnHYEesBwhpwOTQ8uqhrbjtGAGwclgurUlUiwdaMNZW9yXxahaLYVXes2evSHg4zmxFebchzgkKsE2\/3f3da9HjLyXjUdD59EjHnwKJ57Sc9\/MsiNEGnYmhyW+BbgBe4cVGo5gDbJUWsh\/p+bHR+veYAYixbd26gHSKtFLGqw9a3zCR09x4ZumEvYJ0QZhOjOHCBz63vk0lB69RAxdNtHQ3Otp4wFCnT\/66cp+C2dj14k+0N6Jh+rJsEKej4KhETDEhmcPK6NUxl+JEdj1Iv2+HIxXCkjqnMkEW+eBeWYHEvB5rTDkVlXVNgpkjieFpVXw2U3u8JdTxIAJinoZ\/xhXxclMrETRy+ejveJ0OIHQigdeDzyXDr7cw8HidJNUqVqpz\/odt9iVBfLWN2xay6uADhe6hKg\/wkxiINsu4D5bV16OfiyqLHRq+UeYw5exHAJArZqntKCFS0qZXiN9hn\/M5Kxq2sc9XRVUw4Wvz\/cGia2T8eaUOT\/V0C61br1vJFKZ7aovL1cTBBjS82cRTF4Z5NRhj5ztxPR+K4T7fKN4Pc9lDiDkwWAgeB7Bl5fL4HF9W8yvKUBM+oeYWlFJpjcPU2JJI4qPyS4JyPUizNq0jiwZo+2JPnN0Wc3jsvHL\/9IKPDg9h8OidFkHoN4AiycrFcnZjf1MRQEpCF7FcKFCN2pekcHWWUntUDyD2Z7RTm6AFiI3zHDFmLV6We7qAAHMaG87ezCb\/1G8tsHt\/d0UQTIw6lYmivY4Gy9grLh1QRlsWfXf6I2H4ALM1mZEDeRRFgfhIJzhAiDd+FsXgeMWn8a+JshERQREPb\/qnwiXaA+bctjsiTd2BZOR9zfbxKJVOjz04J8EE27siQgT7ju5LTgoVD88Lvi6lM7Sz5sM7DnhY475FDv8687v6CCu4ja3f01LAWcvSSA8uN53ndHcQU0qgpg\/YAJcEqv1C9LHNysV\/dRjnhRuRWXxvs4d176Wl+n+1yH0N6jxq9fBX3d77p9RIrSAzV7e8xwaOi5LDCitguW6Ibv+N+goPak8X5NHIccHBoSUercODL7KXDgOPxOqudepZcJT0PFv0ThNxiCuO1j0ZLOF7wFBUBy1\/xe35AE8A8tQFytzow9fdxYL0y2bAynUFQlYFVbcjbu7VXj+WV4IQ5RMnobUc2iEdcsrLVi61TQ7YzbTrI\/q9meMO2S6l0uwT7HYmD0iTMUR7xHt6xHWBpevxF51XrdFXULoOUwCw7P\/snbjxwrAgXNoK\/XNTe\/U\/Rccdks7NjxQ4dsq0qY6+McD5xDXMTTuguaIq3+OWcMzGRFKTNYT4c+S5nB34m13DoAo5MWY4s2mfT\/eCi+dFRuvtW3PQGQL1A5QlkR0ALaJ0ATU8N4UYTV4\/1ubkJ4WoJeVS9Z\/qOohu\/wP\/zx58nViMYsTgI89pNCI9hQpj\/0uKiUCuBwSEJNw33aWRuWNNOsKDhFRYFjvzvuv\/nq+Vot7pohICZsg+7Hgr8NM+cE4dXhSzIlgkMRW38vELCDAR5H95NmZPSK7uwgDFyYHCaHBmkexcvqi1EGX\/ZdRDUu03KhFwhM+ICEo0AeEfuwKxf2cpnShbyk8ITUc70NBfR8g\/yAOi\/+e8Gd4w7pJrYcF1Am64akiVNP1C6mKydnRjfud01lPrL5Sm0mLe8s9JgfEdiIYsXWOtTqc+9nuzNrRtU2Mjc+M8FAykzOdyP11HmcZ8bGKOlB2gtF59dZc7QUH4EtOY9RIrXRRoOtrmk5YyXqEwC6cWtze+2Quf206PDAmPPSWWIM6O9+\/tLDaNM9T0XOqOdbe+0fOerFdS7jVQ7knWOjhKIV3qt195rH8oqkjWc7dgg4BHZjAMYIG5Zpz8IfpUM3Vu61zDk3iF+Hejm+PeOL\/WlvzESKe6NQ2axqQAHViKwKSWEqB3MLRG6Z4q4ftJSJ\/KYRETax1e2KFU0Bd0ojVNzecJ9r6qITtd2t0dvBVH80g+bHs1Pw\/hYWfyYuajBFdNRWaZp0wiKRqDisHaR6MA+aChzRB11oUUkeqcB\/O8A0QpxW2l+YRuvvN18HYhE5QiFrGIqVW6GIDqEhlPSUA\/hfv1FPRcGN32f+3TMrwBYIaI0LnvvmxiSacjg+x9TFwwD80TpBUNXC84jg6bKv0Gsr1qLa39E2e9kXlikrn+jLkf8XGuiQ3XDLJdB13vbx5j2JavlbL91nXBEzCtc4gxnFnPVdV1gkdSSq\/SWrJGkG39GZbFZvLgUuXjvpIa+BZoddwTrMrvMJgIiTTPISALd7gmtJegBikYskOJL50KNSdCuKuu4dmetR61Ooor7plYhO1zQJ06nBL7PgTCgMNa1aCL6aon+UU9X45CCkyKAyU4jRpwr2m5ea725P9Dw+5wTJ1dcZqyaIB1ORuh0Va4zBwcFjzbgBwKfx4Bmq8tUpMFSsHRVyHhpyACnHiMdEfwRVoFy8xChmWC58cj2K+B8W5MHSRWRJClx1QyP6YLSReY+0AZC\/yZ7mLkgTofAtkX\/0niPbY7Tofe24vFUKUpZgwHvWPUUJbhwzb32fEyGZGnMnYvBUDe8EsHpfFvr8qjqnXq+EZbO7Mzs\/hIXkBKAs08w0LOa\/89AVrsHtX4h0ZMueGneCfT9pNyw+qJMy\/8sAN9QC+XhY0tQVEDE5YnmzW+1JvCxvU0h5Alp7XYzBlEMo7PcjYTQmJGHY8b1u8FWkemCz3aYM9FfLGiUdRFVMCb6bcoQZOQopDQgpshw+uLIybhkPmkdxTnoQJ9H\/Oo9QHzOMzddUExK+zV8ggoxn6k8z0Vh5Me4lDTjTI8iWnFAnXxtOTw9S\/BvwQijmE8\/+Lg9eJWNaPwHsp6FQILAwdPhmIT++Y1WY0w7Vu1HxtrjYDkcEmT\/bo2BCVkhwnk5gWS23E37t8Mz20ptJyRJzWUO50pTR8m6WZQE5VLDhkedIIK\/MnyElYAm7SeKofnRVw8dIXoDjUcnM6DL7cwg3TvnO\/3QzZyY7xJW0jqKt47O5kpCKJKr685OntSSDQ21kv1v52MvWUcLite5EiMwMEt9DVqdH6dQ+HbQ8EYLDF2Vw+pfRra4qECN3hUdFQWHDMRTAWPAyfIVLgTMX2snShnLoNRtWtPLBcQAlN\/T6W6CotJXzAYTvCHr0vTn\/EeFrdis33JIaiKvfqhXm\/RB2O09UHg4ep9oLcbZUw5pwcY0\/Ta4QKvwuYykJ\/5neSFW+VY8oWucCPQmNP4QJjrRRJYGUsTx4pFhOlT5OlXL4EV9MGp1zFI64gwnbEUZMJifPCr63ngt2+evy2YTsQW69b\/683h7fGbBsPb7ekcc0e\/fcjpL2fIJSUDx+zw32yg5cmcjGMm2fq+\/HTSN7MslDxWlfVEkPAHBMQ\/MzPH5pPicEWXjJYvMWHqDWWo+p6sf4ahzVNO9tz3r0t9KHA1qu\/GCL\/fTItWUtqUecSbMvSWth\/RzsoZ67wb9NAanlHj+cP+7mdONJOCWC\/SSa7vUkP3A3oNf05yMhTTstylPMxxdZTQcVxkSKUCq4tiu42dWQPUQfEFSG1Txo0fH2JJE6GUvVRCredQ7ePnGd0ESuHuDI0ryrmFC\/S8oLewFKQ0b8DEMSpIMW8pw0guU0KUyynXY\/wmb\/si2StPFcza6fD2e32CppV0RnSRxWiHrjR47jwjlaEiCRY0RWcefmNnj+T88YrwwNEUpw7fnjG+Oi3FVREBDoYzRAgOClXfKWtN6hmUtp5lWWoHwC4KE56e9Pp2BkfXinv3G8bEpOroSIocL+MSSfGlEyduFGJFOYs3n9Vr\/nfsT9Bz0rUC2ZnzRabA9YNeWZ4uFkIFLhNNT9l+hH4FZmkeV+QQG7lqXO5TDKnMMTPLQL\/OrxSF0XVxcBGbzAas0HDPsk61N8mqZZ6MpI30awtxn7Q+ESfN4zM0luJTDxHtfnCJ2AybCQxxeg5e0ARi5ZCtv\/\/8O+Oefp9MqsSUoCIZ1Ac3XuoplSLuukzDxX6z6Ia74YhdJBH6oQGGc2H74iMESIohfaB4kbzZuIFhf1XARzDsgQ5IsALEywOLbCnue5X3HcUrHRZW058ZQ+2ro1oo7uG\/0Fk35h1+AAAAAAGtqst+gAAAA==\",\r\n        \"fondationapprentisdauteuil\": \"apprentisdauteuil\",\r\n        \/\/ Arborescence-Icom\r\n        \"arborescenceicom\": \"data:image\/webp;base64,UklGRioVAABXRUJQVlA4WAoAAAAQAAAAnwAAnwAAQUxQSFIMAAABsIds23u3zfs7R0eW5C3vvZ3lRNnDkaNE6d57Za\/u3Tqj0zjdw6XuSLpbG4dgY2yCjbvr0GEjhA7BdBljgjHGxRhxED9eXj5e7j9+3\/c7P50S\/dlGxATI\/\/3\/v9Uu2dY8c+iNXVOXh4meWDJVeR8W3F1h9tRkCUpUOTg12eEWw5gzJTmNJ9Q3T0kukjZ+PiV53j2BsWIq8nYs4Trx794pSP00WnCjuOklqrFgcW9lssgIqgYXd9z1rh00r89eeqZ\/uQXsXVmVzP45wPl3NERE6i\/7+6lX115iFrfAzOEVVYnMuurm1V2SXrv7xQenvZR0X0QBLGd9Ze3P+tSJz8156fgIOdEQTtY6RaTr1X98atVLRHbGPYZxayWLNtWqEJHLdu+7IqstGv7UU\/sP7XrynZf2VFVf\/urHfrxv39NbX760\/t9xA0Yy+C8rGeLUY6trVYjMOzHyd8ruf3lPBaufPE\/Js59bXtEXDu4\/ePDgwX3PPdxG9tTeZ\/Y+23JPOacquVEd\/v3hpVl7i752HkzVQjBTBf7c1vrDgKlZCGZqwL6VVdSUdKPcOio8X8nN5GZA8642ah8G3CmrerSN7q+DmVPSzeBzXe3NcAvRCR8qtyNMhBC8jHOsIgU3hVqp6UexQJuBNhafRgNtB+PEvLbWo0QDvynT2JQ7aXcPjvnW6sD9VKn+8yhtt3MJGJUqtrKd16UIzI3Ne9O+vxtl4sbCSeFMmZkXMar4fZm1hEDFwVncxjYsof6wyLSrv3j0yMc2NvYTSpxv6Z9PK1+XTqmfwEgHVVM1x\/2FrtS1BCcZVM1UQ4LgF3rK\/ZaQcE69+5nfbLu+V0RmEkgqD3Y1st9zoqtjvoaSNCdp7jbxRH8mUl\/1A9yJByNpIYaxv1T9Ip7A+NbcTKIPoynjuyJrOdQjnbIOJWlw4J1Xrl536xMvQji64LucOfzH\/4CRNHj+vk1Ll1710DGwGMrdZWYTKPOExLNTeMppSveh12TSMcc9JAI750m8ftt5fiOy6DRgRtL47RqJZxv\/isVQ3l1iI1oC92mxdRhlQlejJpVXcAVG1I0hKdtz+KSI9PxbA2njQ5mUrD2BxTAObqiLSH31+0bdyyjDsW+Vwlgok1jBXk8Y10v52qczEVlGCeM+afPjWAyDc88+PRrOfGGEUoHfRBq5U1a5oZN63YkaH5Nqf4DFjJ9I2\/sJMYIBH+kXOUwoQ2Bu4Ta0jYc66QY04n6uXtFlaCxob3uzPEXgzzNFpJHjEY8o7y0cIZQyftJJn0go90nF0\/GI8oRUuAOLhfD3hohIP4HSzulMZA6B0s6JrIOeJUSM+VV1O14wVlRxCRozlkpxExprRTA2ijyIRsJEBMK0DhqJOeP1qvpwACdvVNHjHjF+LtG3xwLvHsUj35fsFA6Yf2UbVjAWd052Ei8ExqTqfkLs71kVtXN4Qbk+9i2sYMy91xXAQ205RoH5L0cLyi0ddDr118rmY4XAiFSZnYoF+mN\/JRScxmxCQdn8CS8E\/i4DqQ900ImYczKrag6h4JzJqqi3Yk5fpCvHAedsTY4SAOfsRYrK62UJVjB2d478hlDAw7Sqepyo01fFHAKAkzci\/QSAwCGRIZSy7nm39DhF52TWOd\/CIsqlVWWn8YJycxWvQAuBMYkOoAVju0hjwiPuBWObSHYSB3Dv6Zw3ukaMp6qSn2OFwJEqjhEKxo7Y3THlLSKy3a0QNxaJyF5CwVjeOYuxCIEFVb3BtYCxqb1bMIrK7bGdWGyTiCyjTOD3IiKPowVlqHOyU3jMn8\/a6YrNIUQ8nO9pZ0bLPOL0xUYJhcA8EZERQkrZXHhN6hOdIw+gEQI7s3KLDsTkiIcCgWPTyvWdIFA03yPRhuGAY92F16EJ9wv1wsZYYG8H9ViIYTw7vcxmRhIDaITAyVVlNp4jEGNtbAFG5ERW6DFPKB+R4hxCwTmTdY58CI1h6L0zI11XHIDfJ+SYhwgBvrmiVqit\/j4EouaHJH49WjB2SXQnFgvMiXTlOIDT10H1c8FjBOD5b376C89egNyPppZjMTzAi7u3P\/nMWQhOXJmfeDCmfDy2LmHslfgIoaCs7iDZSJ7AzYlaCJSQT2MxMCNqRjLnLkn+BIvdGcv+jReUTYmnsdjLO0nuI08AwdSCQ7mui+4J8GAWnHTOzySZncBja2PyLhRwTmeJ96GxxztKvkheIl1OPouVaDfncC01LRB1ZiamewCUuyQ5GAs811myFQuTcy1akSt76pJejBWc8XpCdmHg3pdagRWc87XOkteAhnb892VWYHhwb8cVPpJJyVvQQuDPkt6EYv6UpKfjBZwZVd2o46qquZ5sQxY8B2Yh5TZBs8waWgZg5ik3g9ENUvphHVdVbemOErUzmrdYXaJ2VnNV1XFdU9XtpNsRufo3AKaqag7whTLDAcbHmgpgqqoGMDpck\/JHSX6ghHwIOJ2VkCbJu6qauWXz4ODg4K2DN0qFSz\/0V5KnvrO5V8o+wxeXd0nW2PhEk+Top1dn0u7Vg7cODg4Obt4yu8y0LTdvWSxl123ZPDg4OLh5y7KqJr1n6cDg0HWrZ2RSfpGulGTWt3xgy+DAst5MppDZ8Xkytf3O9TK1ffNnZWr76rMyJe1efvW1q\/oa0wf2cL1k\/3Uz1l131eKuDrmyeXxsbGysefzAx5ZGdjZHx8bGxkZ\/++XLyyzfmVNUQHvl8bGR482rEtmB5ujoC7NlaXNkLN7sFVnZPD7S3Jb6QPN481hXLNvyW4rjO+oi25sjY8WR5vur2kzZrYXfU3JXPVZ7AjBVczwP5+qyHuBIYj3AYZHVlJwucgnFtye+BtCIzD0KrqoGfSLPkv5KVTd57g6YWc4DIvKcmxfUJvhxpHYANafoOBfqIseCKXNjTwXNuVxkhatHg08X2eC5h5z1sW2e+0RXYYmRh6AhqFmPyM9dvaj+xapuRuHUsb8DrvSIHCIw8f2fX8DJWVLYSU7ZwCyRO1DlI5He4IF\/ZyIrMSixEQW3Vl9kO0pe6Bl3w4iGXpFfYjBpynrJFv7bXbmuoDRFGj\/2oH6PiAyQU1q5W6Rr3AP\/qRXegSpvlojxlu5p3d3dkiDwfNbGD1ACB6+dM3vTLnoKypnp3d3d3fVJWSUir0CVd8ZeyETmYcoXRGTEQznnQl3kE6hyvYhk\/yS4Tospt0gyEjC2l+vHCLxXom+eETspkxpZJ5kMFO4t04+pbxVZgNGmMiAyh2AcFJH1mPGkpG5tA1BeXupB18AeKVs4lU3eYhHZiam\/PNYUqe\/0kDMs8krXtvzjIvIMFpgj8jQWWJhwxnbv2bX7UzHnlyG4sqzMPoKxsg1D9+7e\/fPdSych8Pgdr9uDoywqGBNf2fkirm7dIh+hLeMnInIppnxMprsbRyRB\/M8xZcMW1MO5afK1QkOyJgFrtBXfNAlEnZzfSyFQDMBlIvJYe4E9IpL9k+AX5A2ocl2ZkOetfH\/qOnkaCxySzyb+SaBVb0\/z\/GJ+yaTk4+MTBhdmpdyCn\/\/YHBGRe9szviUi8kY08LLfEjhTKxP9c+pGqTc9GPc+XugSOUpwprcX3TQp0daX+yRx9qyHcLZbigPtqb+t0J27O6DcIynjobnz+vtnpK4TmW3mgRYe+bKb8qY2lHNL+vvn9tcnwbhr3ca1CxoSPYRy+HIscDQrdJu3E5hXkG0YgIfeEsrNkkzJAIqTGEA9jM+KNeqxkzKpN6PKEilb+Kd8FjO2FmQ7Ws78OYkuIADm35VSN1UgD6GkstPBnTPrCytfmNE5ayuonwuu3FToMfMynrMgJocJYCwvE9h117133313VznZg6VkgAkcjn7us7+HnoLRevjue959z8CkrG7rhUyuRF19rojIlZilgvI6SV6LEvizlCE5o42u0x5SspXcPQCE0BuL76zqJmu1rNwBa9loJvJ9JnIdrYmI3AAhOHgI8GZJ186athhMrbAJs7zVao23+kQ2WKtl10ZkAapq4xF5DCwEVTPvFfmZTZi1Wq0LrSeq2gKwvtRx4LyIdLcAnslERPp3kTyySsreBeT11BpKzhC5HODmmNxCsRGR65oke0SeI\/2dqmbdOTQ03FPqquGh4RtFRJbdOXTH0GunFURWPnasNTG2\/dJMSjeGbxteJ+me4dvviA\/XRfqGh4bunJmQa4Zvv2Moi0ntph+czC\/89n1LReSy4dvvKN4+vKaq\/\/v\/f5YFVlA4ILIIAABQLwCdASqgAKAAPkkkjkUioiET2Vx4KASEpu3V68un+A7W0XXd\/yA6MXfLEBpPfif6j\/p\/uI7TfmFfph0xPMf\/KP8T+zPtIepj0AP2m6wD0APNh\/6P7e\/A\/+437R\/AT+yF4k\/kPx96OVA6jPHb6WXFBpVv1fzAehboB\/N\/8x7A38i\/rPWR\/aD2Lf10JM27u7u7u7u7u7PPJ9LuhJZnuSqqqpJ97czarv2499q7F1Snv02uBKm1+d2hFcQnvWPJCLl4o3Z0z\/o0OxHrG8tlZT+qz8AQudnWClzK3ZvXWYnbdCfONy49OGb1+QL7KumvKygR21fJYRyHalLOWot2OjQk5Nx5JbPRkYkaxJP3fod1T\/Q4ojjQIrBdBY8vRd+Sq80s573T4tMYsQJ0I0YT\/TzegHgxIH7Kc9RAu5oq1BZxf0hNTHyfbuuWbhh+aypErR4wvf7rQjqDJRsdC1KmPXVrjgYt3CqoEqsqMoWGzSuB5\/ZRe1ab85BXt3d3d3d3d3d3XgAA\/v4G0AAAAR\/\/rMqiZFoAnfreCqND1dya7jptaq1uqkPi\/3gMSzFepSHzfzpNAZVJrZ5vsui4KLBidjtcapinf4D1OjQrjh5Oef8kIzIAX6vEJ+3JsVSVGAezsXSgli5xOv5pqCG7LrnfAFzJb4K2t93bw5BcLSZ55H1z5ZO7CEvbdMXdjX6z2BWrQ+VFD1EbolkffVVVz8R0XvnAyc5Rtw2744PvAT+CjhS74HXlRokC84i2F\/OQUBTKqJP\/8RDgIhMyTcUiB1KG61ON3FFgwFYdzo16PygckjgFBrmg82oaewxXXdq9egJX0F3KEukXx3x+\/urqmPncIrL9wcsRmLDu83chAf3unAug3IUcM7Ozs8f35rHmf799Yu\/IQRR\/eiPzxwd7O4WLzJnUeL0u4L8ffDKUBbqB\/cE+vsRW6wO\/jSzP9SWoKPAuT4tXtj3YJ4aNJdwXf7xSpCIAV\/0LR8FUbk5hvHfBT\/+2ioe++ieu5v9B55qqISfCU44MtLidb1bho3z8ZDNdqh3kYzaR\/cMbfXffhftm2SsBvxz0fLXUexHoub9UZ1CUTuAUXbWXZCpEnyz3MtScFsNbVD+bnzlQ0O+g84FV06aeZA5xpk8dbBLYpBX8NcRtsENBX9eFxlnUaJQPo3+r4bxnwbgJ1l3y6N3UyU343lKyKFqWbelldaMx+TFoFdcuyczST\/AqVNM3v9LYyVXNV8NklkrJv5D9SIBLBZrEtm8TmbGaK\/0NoiJl3n7xoQYKvv9QW3Y3E6ChmiL1rPZpHa799wHOx3FWiOLwnl\/lJvCbygvXXd67ZuT3fEb3CGRbkQpS5BUIUmK\/nn4LNtEqzutHSIGD4SCKmPBvyqBnnkIQPdna4bayTqDE6ErpE0mHr11RNx2YndneSiia\/cLjwYp3W99SYZu9t6AKwGBu\/NGaf\/eWP6B\/68X6mpCjGfrH+Y9rAcIkotg+6+YZJdRPx987PvvPZVJR2fFPzO6hP+nP\/rhinC6FDZdz3W06oKdcAe8s4wm8zpVlLw6\/wSSmHkdW30kUdSGWL\/r8p42woiRexBvwj03QM3o46Kg42p5fJ\/TOUq3f3j0cIx1dCLn5BfEapDVcoy1oDXunYsSMiP6j9o5YTu\/H3nOJ7rkeRlUxLHIA65b1ZBiPa\/FhlmtykJUmtkerfghAte9kAhcb05r9RhMaFyIPVchtHhdjx6IWpI9HkMXKPsNEJRURRMrxrU3y0NDftYeiRULUpAgl5lQOBKMz1C5NixVyEqT+vLQ6m4CNmWS8jUN1QuZps\/BDjV\/QsqDUWawKtr1RryznORJzP7uQuQTe2CZ6N9sBUtJhLjGaPNdMin0aIfpgHLovePU1ztC3CL7hqI1Yv\/bltDJ8L5QQy0Fh1w\/hj4g7tK58FaU4ECmj0q+81Nd1WMwqnnyVbzWcu1n2h1POgpztoqmgHq3h++Pn965DL8fesKuonrCYsG9K7+Dqk4v\/WkDuCgp8J9n\/KbavPa51vmNT37enE5WL3NG\/ICkqDS1T6Lhdh6EBD9NuGIQaJ4do4w0KNGHcddmzp3J9V3VqhrVOgMo5ZjZF\/V+KcdkFO\/ib0qEVW7Hj\/e22rO7mqUsRZDNlb85XKFB8Zyz5xqoBK9OO1A4CrB5wtKnCSOOu8rVuU8qxdYAVRkvbkYkFvjLwOMvdal9RDeRyuf7slw4WGwiHkx8f5Sn6IYDpANzy7Oanoi8c28LMDFV2xUQJPB\/fcgyemDUaFqLMDKoWA3vrtbh9ugRowxR3y81tlN4fp0AYv7sBQ7kuhjJVG54ZCDXwRXMPV+GRzuiuFYZd2H\/7xnk1bkcwHP1TfS5CkM9SWWJ1y67F3rtnjmnJwqAXtfv5cPE395Q464uvWoP5YI2y5vd5nqtOFD+K8S1\/lAIP4fVIn+fZ+n5ebuCaWCT\/8x7Z8GUz8TXXy\/89CKoABdZ8a9jIOHVwHL4sZ0i9vNHetfP84di6lW5lHtph8fEK4vUTMI+ucv\/5C\/XG137\/emtyxTea1WOXgXkT7wn+fM3OYSz1kRgaLcF2wScMRGfT\/MViieGNv\/TNDAHHy9yKowkjXc9OSJU3bwGv5vle6Ftce3NP7cH52iE2AATjo4R8t9yFUQ034khuSZgzPC67LKq8jx6IUCg+iCscZJ33a3JoIfZf0xXZF9T77s+8UZmTaB\/fj+0G\/4uA8tIoYq3hWYnp7i9ajciaKuC7y+JI1UT7+sNtZoTZ3ZWsNyBXe8N53bLfiOlfR3Jhmf5ZQFP63hZDceLhpYnDioHASxzdf8kBZp7OT6fHhJ3OYX\/g40dTxwhWpFPn4dkWZYqgzP2QZK0WFEnjcQUBtPDZdLDaI4P\/1DZI9X1nsCEmT\/541ZEKJUJlPxgVwfcVJkl62P96SUF2caVs7ALey5mCsv05x3jIZ9ICAuwjviCigN7GgXChcFqioAAAAAAAAAA=\",\r\n        \"icom\": \"arborescenceicom\",\r\n        \"icomprovence\": \"arborescenceicom\",\r\n        \/\/ Association maison des familles et des associations\r\n        \"associationmaisondesfamillesetdesassociations\": \"data:image\/webp;base64,UklGRp4YAABXRUJQVlA4WAoAAAAQAAAAnwAAnwAAQUxQSBoAAAABDzD\/ERGCaATD5jYnah9dRP8nQMzT2S8YclZQOCBeGAAAcFwAnQEqoACgAD5JHoxEoqGhFhlGgCgEhLMAZ8whh4foPNj5H7UvbniT2idiXXflK8\/\/8L7nvmr\/lf+l7M\/097Cf9m\/uvSs\/cz1C\/zf+8\/8z\/Qe8l\/qv3G92\/+J9Q7+i\/3nrUfQb\/bP03P3D+G7+xf9T9qPae\/\/GshMn\/wP5RefP479C\/evyl\/tnN9icfIfuR+a\/u37i\/239t\/mHvr+LH+R6hH4l\/M\/8N\/ZP2+\/s\/7se5btX7R\/rp7BHsN8\/\/y394\/eb\/X+kv\/e+if2P\/w35jf2n7AP51\/P\/8d+aPraeIv6B7Av8y\/qX+6\/s\/5MfHp\/zf5j\/Retf8y\/xX\/O\/x\/5QfYP\/J\/6X\/s\/7p\/mf\/l\/nv\/\/9XPtF\/cD2Wf2kbOAFl2xChu4cvV9nYxH8d+oeGOqBfY\/NnoI2XA7ep10Y5BSQYU5PwPzfH3Sz3aqiYAYTjz\/+Wj+vBfqH1o0wq2IelBfykUzRycOjdmgdC2HONs4kYbyhg9RJOhvvT4IdJQfxnOwQgDtvO+hD\/5UrrlrjGKucnuGj+JU5iwts+7sfZourdC69OjUDMe3QTn\/\/V8AjFT69apMu02wz2SbTV\/3BFMdEl+UOz3zd9u4K84pvU\/LqkQyCBr090jkN07MlSo2jkxdOcigrXht1DBtxqH6+y3ciVr4svzIwHF5dTxIC4bdI7ECxgLMRBSSAy28zLT51t8qyfAfB3I5\/UZVBy\/5ysHZ\/Mahkop7E1yKh0DXKfM8\/3oDHO1ZhJ4qsYpTKV0wrfHgrPlNwvphdZQ45jQLoGHnpRHTrZ29Kj072HWk\/pGRfPUd+ejxc9LpjnRlSkIoqDLbcUMpgPUC2mxNIHoRqATNlMswzp6XWUUOQOVgcV4sUnfh0GQ5QyI+J2ChapofzIOcl7AEp0nt8X+K2o8jTPwkUGVhgokHItQJAbaupj8TjOu3qt1y1ReMfMcH9NxI7YfUwzvn8wjYXj5IVgsYBRngOA3RH1Y+UhIZ6doPSgAD+\/\/8nDD\/\/\/tlakDY\/UqqfplNBRoDpuxG+RB\/C1Fm5OXfSv+cOIvB\/rWuVhQ8rVlNu5JIHRh7XCSzAjkoEhOniauSj+BCgryRGwf+d5eQOyw8vjfgm+9dnEfj5CAxZeoc4oFf+q++331Z0\/2lv+mF\/Y2lteuDuoizRhjb4NNOxdP4N1UpLf\/4j2MeCOaMK\/iQakTp0Qi6m\/DIMEcL27Jhs7m2vgcy8Ayok4tbQojxays3gz39EVEPC27Wsx2eQX8roCKbIKt\/B+lrl2Ig6uaILZogBXDMVlwEJ6v0pr89ZVj7ErzvfNUYHq9sB+yM2RaTZD8x8KsN\/\/yhQ1AsA5yGh5i2Uqtpp1y1mdp6HLOiX+g\/Y50xSM4Ez7h+oJhjGMYFcQ7hRY\/meuU5D39dMerl10rI7cYy6y9hCKTh8Bp1beF5n0yaLViyK3G6OV7lRR5T6GzpMr8yQzsaC2rqur+6wsu90QIuCfd2qXidd\/8qhMwGoPNjhmO27OsKJDhklZ26aHE5KsP4Nvxp3NSnqM7H6FdkNehYX1WlLRoCTd75yIcWOxWk2D\/QTPa+rWH01O2Rb7sDJipmP8Su0A9HUlikynRqNzOhcMETH4CwsurVGRYLjmYhM8WNLDnTxIIDmMcBUKwMLKyokFbCwPzmqEFWjvK8YXi66pnGl1SGc+DLJx1dCNqDDXWlHf\/vaXeUI38+\/H9VB\/zogb62lmgJQIKPVoHOSTdIcK89m+BKawhYakls1Slpz0ObyE\/II3q7xoow88N33LjjqARidH\/MYazy0cEl3ueH5I1Qiaon+3K9Prv9jXJGtbSCw4C\/A08m6nEocNrDWcKRN9O6BWmr2TPAw8b2DzE4UPlZwt7QTu7N6JBR2R6z9yTho3XPqQKU01GAphBAyTId3W1Tfe9c3cZBFE9nLCyt8\/VeoJ5ZI8laM0tJbisbeWsLrmtCdSUQcPR7C\/Y64D6ydGBtTXbXiv7POkzvfwxLmt3xgzeQVbxmJkg7dBpmy7dKJgpvIgLqS2oFatG6uSMLOd1LwH5F\/L9ffkfAPHIkfcEX2HGHCODpzP8cSXi9bCE6eGpUrTHUHFqkT2IMDp3MChE3JNRQ4DZvjWUVMyPXw\/7g43d917gXAjxw8i4mSobOrnAEZeRIi1mKLCBqo+DZ9FveqDj+5gLd8JFMgU54FLiFamhcwbm5F3hNUqDu3sEvmsF2GLVEGK0w\/cTV7OnWEMSZbGLRKba3dfYnPv\/4xR5ReanDkG\/FQ2JjlCbpuMg\/6k2zo2VROBpr1TdXB0tIMAoas+FgPd4PV4eFVpNWUmgf++OlOYEz2w4A8DQ8j\/FEgt8aEA97EcfD89M23drgorDJ43kmjSVXNHMElvb0KXlOLP82WMXaGmtMCipWKPLclQSbsTw7X5VFHP+H\/ljfHo6YMjcYJ2ImANYEtZNMedFwTdnC4R7Msfu+sAIt8C3sENB337PlK491U65+EaBVKPiXMHjWl+yhPPSIETKnA47HULujLyYORQLw0vDZA41mZ\/a9jaIhcAvAiwoyal7dXeQQaH6hN+hcUV4\/pnOhh1H3n7Z2bctuBiUdljBKiJYORbqz8I1h0N0g7yX\/lwi\/vjsQLdsvxf6we26CTw773Tdv2Zhx86+l4l2WjR0U4NjMHS3BfCloRIe8VxnAUgHPbaF+e6icAT2Ezcuejjx4I1Uth3L+K29823qN2BHDc0urjbLbZ8LuhoEjiX0vfh2CQErsZVmJtftWwGUzmWy4\/NE4mOSJPFYgu5OOmKt\/3zl3pZBNSLIdAGvc2JrKXlHK7DwngQ7tiuAYM9twJyGQZ9Ypo5CPnRfhijWlS2VWDfy6\/5U\/17CO8jbz0AkmCAX41NxZa9FkQmMA0la8TVseBPp2acXD53RiOJia\/we8sK1k\/hRUFxiLLDNepDUoe01xwuW5mF2ovhCNYKovTVOMA7odPuzwHayru2\/HWyhmO7B+0p7CucMuJXUaBr6ghWLS2B7PFgs9afeXkMqk2ysJQ+iGmfuoO9rtsbBYXikz8bT71yvZs56++F70FPfMNCiBt\/DqdSgyf+8JAy3zxKhMtZtcnx2K1RhtUnfEw4uN88z8pM3bOt0AitgwcRD36iqTCufcH1E7\/etgPp5kQEABOyfUCLH6u2tFLv9ie3OmZo09w1zkt2oQ0b9yJEd1xaaqyFclwcQGjxtP6UPCwpcrYN9R2P9TqzthLv6WKU4Bjp2Wr9lr4xgjeVJkl5tUwaR6EP5mm2DD8YG20pisFheaoZNh+7u\/mxe+VHY8b6WKBCaFL805Umm94A8HLei86xMPLPEXC\/39exutpGNr0sXtcjeKrkQs3cILXS672nsrOtvcwa683MR9YzsZA77Fj1T4xuP\/g\/2c1tBVMfQHwdpkvDpQ1R\/znI4v22zqmtv\/q9bgd7V2pPsCbF\/DknJXD8CSZTrf6emiWLRF5bLXn1BI7Z9N\/YRPt1W4xpV3YcSGooQlKKL5KxqKgoTjDDOYLigUqgQ3tOndhmUE+DfPv2JEP37A5jvMl3wywR8kt\/zI+1o+h5zscY6aGPG58BqbfhTWVTHuh91rZYgN6hQtr0YOnHZxltxZ0b6l33yKqJtwUbOXAgQYFziiPbgMN4TkHuT71G7c3DKyZKkX0BWcQHJq2VXMs6Z3F5ZLFI4\/G0Now0k4Kr5OeBh33hk7JZCMTlqTayvfgn6gSK7Xk+XWdM2REPxW+Qw1Rw8pHm0TYRVKNT+lDQy2fePE+b3gLJe0gkh\/6cf3mKc1gPBJyH5MIMs+MHW1eTbHCdUfPTJ0DqQgoyEPMczTSPWi1DC7n1hrmvRpKS+8n3x\/7Ei5+OKS2bSwfjzOhUgJFw9BrYQXrugZDdDgHlFqfGRQYEteCJXw+krE2XxSPPAAY7dZDJqj7K1Xbi70kWYruYb4TPo\/NcXO+EAWpAZZ+kaxssOurMWrHvH\/RxH8KlLIDlUtYKHWcJOmr8LV9KVTmzR3MVYyqqhc1gakbqPX5ZzIjL+xsDSvCZheimeiCSJKSvKsKbw7OW1peZYulHFyNMswWTmqc\/YFXEWWoJckBE7miaW6kzBthAP0KnyJiGUgrZR\/7808vEq\/CIXMmrzEAkifj63RjJtQfgybWOo3MAvuddbN3OZBAimDNg17cDRI0P5waABR73tDfjbWxfwEdJwRi6Lo\/Bgv62Jgs\/Vg9V30suVpSmXc1gLEZCgiJlx7frEDPM\/7RfTfJEGu48plU5sIcpQ4pPTfCU1CvBlXG5\/f1dM5TJjF5rtyC+HWZNpL9Xmlc++Jwr906FmNpkKXHAcabKQbW3aOBR9sgYPOIEnkVuwV+f4u9bhv8gLWHLQKE7BLgTsMLXMpbiOnezHwtiU+jfAo4wxxWzxjj81SNrGgWuCNVpZBei3VpmavsVew5asW8vb7PJw7dqcfzijLfSbreScSG6wF+PeYnGBM6r3CQYfZO1WUs7TvbAHe8h12uDY+ADG4y4nfwP3yNoM01h\/U3LIhhkS0iPXAwBK3zyitQJHXkhGw2M5Y+tq1BebfHMeY0ChhH\/H8pgVEcE73bFapmzGAgkzU26eqoyqpRR9mQS3dNU5Y8xLQCVHYcmnM6dhQpeyKxHZftFNt0X+\/JA8dkzra+ka9OUAqrCH5SI4WY65CE4W\/LissitXMVSvZN+FjatOOYzgP94QphHvz6NXes32GeVNrrHXeYIRxhv54dgwN5GKzWWp5y7t+6Sxv901th+lcY\/VepqaLFjlc0hG2x1wxlL5f9pfvWLfiKstvK5yPMw70HXd1b0hMpmtCUaV\/uz6AfIAIKddhpHRJ5C4eBQgMFfgz09wAwiUVtu6NQYOz1gtxRIXGEcaxk9ka0qO2AeplJaF+Oslv7soF55MZmvT12fiPiKbO2+gH0OphgpgVdgXUEEqxFOUuAhseytTE39jUwcj0KEJknw1vo34pFjpYUoSqxxy5npVfZupjrgCYNOdmbeIRnx7Jn5L46zreFH\/L\/DQ4RTJSRnI8OwNaPtKiPPWUvRwKTXv5ZLdMmVSNZ9\/oPMTD7ZKkfchH5\/awS9pxGWXP\/XEi87dIIi2BWccFBNZhlATKXUEfjazrIImedPtCOjqb5KRPQwV7c2ddt0duy0uhwui7HjPRAllTr3qJwH3F2J8TbheDiUDjzVIKBCFOET8n157fd8KH\/Qy4JZVQfL8Y1dWuw6tvf6grx1DWA1JwnrJlsX0A2XfoHHRWXd6Gfi6V9Vp8w1dsrw2mHnTuJ5TKS1sZQd2kc8wzoU\/8qMa4JeSW3PqfdkvFpumvV0+oPss8q80wnH5OTTaKE2K6lePYapcOPMojiT2asJBOkQUUTD3z0fMFiziGOq\/Hm99i\/WknsxFTQzfJ6Zl2GXrcvK2au3fzBvA0CprbCiJbeC3WU59VL2\/mWuNsnDpXzcGOO\/d\/k\/N4I\/1KXvF74EDMuEhmudF9Tt5nne8OPZ6PcOjB3ESUOYb\/n2NdhJNx4PweFCMwNBezY74gNNfGZHMF\/k8MO460Jj5c9JAWrpR9lOvdZSmXfMV9qbj8rHIhGBL+TImD8j2d+ARJwHHoJZ+6d8cdLVzQgQt1+iBhUwoSS9t2evurhWBJZdf9XAPp8nQ6fJtEGMX7KYzJ\/VKYefZGCFVN1RYtYDK5JiHTRnurcDz8ngyWudqA5WyHUP6MI+KKPVbvm1CDkCmkGDDchT+LUrJGQ+vGOrzFAe4wzDESrBeeMGyv8GkkFcx98XIKyEFsIpzS7a5l6Qm2xPMkljwfdOKn\/89en5du1hDfqK6gIGWzblZV6ReSpkc\/x+eNGPJ3NaRJGpHBMCHe9d6UPmfEqUCMdpjEB2nATByitg461KV8AuIheJ+NMrE5frW6eF4ap3O8IYZpNyj\/HNcd4FTGzUHn27wIL11Ev1XIjQ+\/Z4LeZKl0u6XMcFHZc39fCRzVtI94BjrxEZ1kF2zMWEYx9uACa0D+Bx44NI+IlzE4YRNaYAdvey9+EAX12WcmXFD87QIz2Sf\/v97KDJxSzudB6WyXdoQYP9GeMgCJsFR8HcciKDDKdPHyg7t2Yfmu6nBaq0TvomqnntN7+4loSP+xzj9EvL9whJvRpkevupEdkZltDSSXdM7M32YLoF55sZfeFag6vluSD4hD0LE+25VaA4IJzsjzT4LEcAaMkt+KwWgUxcyFUTVUkxMASqV1CGZFE\/1\/FUtsiKj\/TF2gEcR7U5VsMo5tIQCIXfCY0zJs6\/XAtm1Z1jvTNLvubinr0kI7cXKwEM4SCf0mU6a79AAtrQ1KX8+3iaAQ0L6P+T19dRUnBoG9oC0AFPbn\/FIqKgbwvdxl4jEMAexa0EvaG5J3hRwVKWboFOn67kAJM6c\/XmQDMOLFp4gOrqphDlpJ5aAfo\/SoKeW2qYyecErHbr8k9PuPSVSqEqNiH4VolOeQSM0k4a6ijzk3945r0uLd\/Sml5ZVE1rrKfDzm9adaM6hjzgFs0+io1+Ix2bsa\/5thJuSNcDI6ttdTvlH0ExJM1RpfHFht36eQJX8sXnr6cSMbymNwg5rSW5OUjmknswYxzAXK71f0Z4Zv9wiXf4jlfdn2E1H4p5jZ1zBAjryjxoZJzKR7R2RTVxzkqtrGPsmXbvB\/TiOKn6N1wbNFn6EUorxLUqmzlyJY+f83CiF3ck\/UG\/Wpde09Wnrt26tMd\/MTM91A1Qb7L6rvBMnuz5gY5oJx09kwHY2HjVOkvZEv3gGs2f64aEgJeJo3lIuPw78HPQtWzzrcXzkiG5fjZIwcmi3tq7fQiGK8TDPQIpBgjbNE3eEO3MuQRh0E+y\/3e\/KbPqWJTZDpdLU6IUOj+3OeQF\/LH+U9MAKOidhhhcrNnj8Ib+HRcJbVEZnZPU0Idds7Ad6eDt7AntB93p9c\/3mTW4l8f6peKWpRi5n1Z6mD6gBB0i\/4t8LjceqRSFmXamyZ8+ll\/pkTXaFdEqs4VnlEblZPSS+Xb3juTKcQgEIGHP3UapZTBxybTYVfgQp7Xv9ddLhlgJgjL8xEHrN\/z+xJndTmhfBqlnouHivhLyjaD\/dxJzJOk0v+JPBTPyBxMWrtUR\/8HQ8JsfAWILq9uFOWIEvTVFZKwT6ItnVMxTtI6giAlBoKtlwhOWAJSO46VrHY3tu4VYCMGbdvMCurrOw8krZQFHMtclqQbbrGQPbudcYqFAjUzukNHrPI8KGy5Q8pKVvrxuIuRqXe9mu0xLvqpKUwp\/EiCywjA\/a9KE8pUzV+Y\/1Wu8E2XLY2HjG8v2KeZR7vW\/tDleWgOJZ93ALE5GrNdReq0KcfTeeWvaJH\/aA9ZzZkL8+OpzTOk9swFL0b6GZ5Wxz+jI3RerS31kJ7SW\/yl2YJ2rQFfsTdN2EEBxs\/JxU4Oj4rm3cwuf0dnI57n7qEZMIwHv9\/lwJ0LPcHnXB7XSqWGc+\/inyohbKRWM+NoZ6+D4jAAFtm\/h+827xRZC9Du6NCgv38vuaFkfdEktZVRcPy5VAIsP100NDCjLqQ8cyWlv5j8ys5Gkt5kaztdOwcClGXoO2U6VJFAqkwvnI+Zg\/EWs6QUwsJBy\/76S09m7bxEmRpPSAlf0OgoZqMOp\/w7CV6o0hus\/afRkyfYXL3gHFtPF9cJSOQrJkW4wvws+7VLMav\/g\/bvOlFbwAhIiWhNvqy5gvzIWLB0OWoIrCbRfYhI3DJtdQ9uvY8RoqUm0OLQr65NHFbOe1k94MOCT5DvCchU9VpqwMqXvKqBbWjZQbioLu7rHKkbjeSq1H7IW5FbgcNrFHO595H\/Op3y\/IbOA1amjjD6sNtembq\/G6oSDBOnm3vkhdOncgHSvlKtus3Fn0H9Nxsy6222FjKPyZ4YNMczvT980hBTO0kygppHl6EKSOMNMjHBUSD\/8GvX2mLGghcWUMG6\/1QiW1AJ2UjbLBoeOitjxOq4heWjrrrsR2amJgS+GeoGlfu9mfQWWsdr\/+CYC8kvvbhrE9\/FgemhejX8bFmT+32bBtXizPML6Mb7pR4CJ2xaj6\/FM5xmCWZfR7dLF6LmbLNGrzf4qtxAVJ4xAZaIGJ6vt+UHnKzgmuSuMnX6yhkXsvreTUvpoRSZxiCplnqx79L\/C76pVtpHyxvSJQ0GxHDwCq0nis5An1apRHOH4FHMExCmZaKLHxVTJwGEJvaKJ7fUH2d48yY805QrCnSw9HWfapH402cpq4t3lE+kiBOKirc+8aTZd9eYxT4dLT3Oagzc9D8gKXHMOcdDcIkE\/nzZ2j3Qkl0Q2fuLt3UBG2VxWXAth5zQ2fIJQELrLdTCrOueJUPHP9XERUupVC0Uchp\/qFI1B3xpahamVLj6eg6Rl\/cAAA==\",\r\n        \/\/ CENTRE DE CULTURE OUVRIERE \u2013 Centre social Sainte-Marthe\r\n        \"centredecultureouvrierecentresocialsaintemarthe\": \"data:image\/webp;base64,UklGRqQSAABXRUJQVlA4WAoAAAAQAAAAnwAAnwAAQUxQSDwJAAABsMds2\/K12f3+DHdo6aCU1fWru83dXfhoPlad0c6Yj7ShKRnzNSxtOmPu7u7u7kroZ1Ny586dO9cf\/Hie930z14iYAPrb\/3\/fMFE+5Z\/rbnz81TdffqirZZe6THTJqllLz7nt6dfffOm+TSu3HpSKLm\/Y7i2XP\/DSm68+eXP7oqnliZjlzel4F57\/6dqlKIqSHTZ8As8vOuflRpCoX3Yfw\/Pdjtl5sQkmXIy+IqrWV0UUADYNCyk55zYAMBFV66siBkDbBoRUuvwjAFARtb6qIui7aVwQh2DeSwBYDJ6mbMBVA0NI7f0JYKwGT1MG0F4YQmUHABGFrwkDeGZWENmwJwFRhKwCLA58Zn4AsCJcE4Vs75M5DjAxhKwCPDAkmuRJABsiVMGdBU55GwE2RCiG81NOYz+DCqI0BlYmIih7DqyImPHVAIehm8GGiBkv5zosBQRRq+DRotCGMhjRCzZn+pkPCKJnPBpkS3SCDTFkfFUb0hiYIo6MU7PtDDbEsRc7Z0lcj17EU4D6UOoghngap\/vMBxtiqfZqQETBlWDEVRXVIRR8p4qYMoYT0RCwIaaGIiI6FYz4qm7O9QoehSA+84kym1URV7FaonnoRZwFd3o1geFvwqKmLOZjc4k6IfA3YTETFi\/UUqGwhaDMaios5gfGAR6lEHibwFHcBENoAhjeJnAUN0MedUHgLQZHMS+IFbldGoIAX3VsXVdSWDW19TuYOZj+JxG8qeolwCenzq4pLqqeez4gLqqPUj0EvmbAdfsMLy8sqZ27uhsQP6x3qobAV9C9c5r6zWkCtL9eNNAcMHwFL81IUr9FrVDrrxfj6CFTHwVaSqj\/1Lx3IT4QVLqcZ16Cjgw5V\/eArY\/14tGAnjH1EaxIkPMEgLPYd7iQtoDAU\/HqIHJPnQLxsnUOOWrwZDSRb9l7gDALcG8O1UDgKZhPviMYYGYBzk9Qu\/ko7k2T995gD5hk+lsI9hCsIv908\/8A4KP9A6JVxh6C7cm\/cJ0CwAvziVJfwdzUXk9RiE0QD8bc\/jZC3MQeCEIgStfPnVWTIKLgbZib4EwKNXfk\/GlVARGNhsADlRTqzVA3QWc\/qc0wN0UVRVsGhbPZV5lwHJvBbowjKdxSH0NPKlstFM6C9RTxLLAbYxFFfB\/Uyaw3JyTqgDhBUZNtB4jP0KiO8lEriCj1DcxJ0EFh1\/kItsvW4mHoSUR1McRJcS9FXAqFM2NiaIlumMfx2S6HOgkupqifhDoxlkVVD3YzFIZGGyFOisuzPQpzYiyLKvgA5jE7qokehp5EeEvBToZHs73qtWtUyf94DY9qjofiBQp\/F69Xs73ptU1Uafaqi2qh16MRbOP1ZrZXvXaLKmNeI6Oa7fVSBLt6vZrtEa\/mqMqh8FgYL8PmRHjLvR7JtgnqpLg5qu3AboKWqI6HOMFQFN7FUCfFpdmaIU5mvZmIHoC6GV4Pokn2mLkxpoSW6IE5CY7LNt8DjHnRjIDAU7BFNLuD4S44L7R6CDy2zVYFc1M8F0niVVW\/zkjyvlHzgEluWOf7GAZlS7wHc4Jg2yjWQOAtGBJBcAcUvoLjQqqAwtnQncxGrSZuJr3F4S2GwF\/17WRowXkQ+Auqw7nTPAQXUr+j4QHFy+mQghYwwlR0BSGlLwYjRNP3MmEcAYE7Y1Z\/iW4zNyiezg+l4k4wwhVcnAxly7chCFXxeI7foWC4m\/Wm+6NGsAcEmyf45R0BCMIWvFDjV9YGCEJWvDfEI70WDE\/BanLM9Kp5QIGNdYFLsv4MgSnCF2B1pVN6\/HpADaErsLrCIb3DZxD4lbvQoWAfmAAvNE+rKSspq\/nHAZ1fABBEagrc968J1aUl5XVTF3V9A5ggSlPg7sbxA8sqhm5\/9leAwFdwDjkn3lX1AVTgLGKIWhTOLIhaFI5i8DXRAjeqB\/sByiyqKsxiiKUyi6oKsxriqMyiKiwGf8ae5NuE3hB+xAXXk\/8GcMxMLGaqMVL7LBNC4g5wrBSAxkoBjY2aVFKYyZvBMWL0THkZHCPGvZeDYyKQWgo3cTZEY2KMZ4oo906wxUQFXUnqAFscGD0DKfQDAI4FA2uTRJQ4CZA4GAOHBUTUAHBkKrg7nyIc\/BwgFpEJ8Nk0yj65GypRGQPP1FPWYe\/CJBJlYHFAkSYO6AVYwzMRQBanqf\/MKgBs4ZkI0L1bgvpNLQeMLSQTAW4ZRJHnLfsKMFbzM2UB8NmiPHIvawWgrOZnygLg5d3S5FzaCkBYzceEATw0kWKZ2f5eAFBmEe0rwswKAN9dOClJ\/gUHvgAAyiyifUWY2QCge82IgLwLG14HAGEWUVURZjYAfPYwim\/Zbpu64f2fW5aOTFPIwcADr\/8K3l90HTwkSeEGNY13MDzfbJuSQzFPlk\/c78QLr7z5lpuv7Fy9eIdRZUmKOFU1\/aDTO6+65ZYbuy48vXHrYcUJijZTPbuh9aJrbrz+4o4jdh5RGNBvRAumu2VWlv3UCNY9nXQJWke1\/MjklUc2alZTymXiPGoJfjwyI0cMa+kYNnJkMpL9S1eRa3OKVtGPZ6p2cO3G3WprKoMogj3K9ndJrqSCxT8ifdvyiHKIiMr6lAZ+uVMnDM1SGhBR2V40bSYVJH3KfsiCDQkq7CSifCSIAhRTVVNA6WUO88Y2BPUHEwUoJaLa6bQ0l44bSrnL0g4FCH7A0m1ElCKiuqtKiEquHBy0HzWYCnrvqMmSPrK9cUG6\/dhiKrp8eJ+RwcFEyYBals8kGkQD9iGi+quKf8CKm4hyVhLRzIq9iGaX7DJ2wbxc2rpqfQXRFkSnlBb3phZO3D5J8wubiErrx04sJ2oqKGwYX011HyXbzicKtqrYg6j6hyq3mWj\/pUTbjik8jsbulTh2\/KLpVLUddSaodgFlzqAhm2iXg8bTpIOCTiraMXn9RKL0RzRw8S6U2W1O\/doZRCuGFa+kkVN\/qGj14ImtJ1HtsRetzRm4\/MwN+aO\/S1efGNDxYyqbAypYlTzjqvSu7yZHHrF6Q1nBsUnaOIryD9xYmouy\/DXpPdZXH5Ga2rC+LVN9GP1gp\/cYRduuO5Sq1y06kPLPbNx71zWnJInSzY0JIjq4rWRAZ+MBa4+ivPaGpjRRuv2oI9LpDc27n95eRAO3pFnNM6i2bdF+wQ\/X3\/7\/i\/5WUDggQgkAAJAuAJ0BKqAAoAA+SSKNRKKiIRZpBKwoBISxN26v1XK\/wHVLUA7N+X38b94apv176Y+jfS96ce7v5\/7mPdz\/JfYr+XP7N7gH6d\/4n7k+4P5gP1j\/a\/3o\/QJ\/Z\/9B7AH99\/vfWAegB+tHpj\/uP8E\/7X\/ux7R3\/36wDhI\/8p23\/6XlT1Ptxx4hpySZfEHpHZ1P+w8bP5X\/o\/YG\/mH9y9Gb2Rftv7Fv7Kf\/85hm658Sadc+JNOuc4NvXFRm\/DsneXP8lbv+MsTSTktJnaZVqbVbSqvpTm0bOTObNKvP6jd\/D8k4wzWnnIQvKRUJydqlgTYW\/NDxcRuWPvVBjZEHnw1VLd0PJPWU+QX9YFYMVT+0R4Jlft5pRFaopm7jzAIqkz5OZwNR5b5dH\/gG+VU9JHjvIsfx8s52+2VYe2ifLg4k1JMWsEW7ydfy4b+64k6znIN39azjvZri4Plq51O1s5zTS9kKCS\/Go62e4AS3GaBcQDMJuufEmnXPiTTrnxJpEAD+\/keAAADlkeAB3zcKjkbzmS6F5NjnPwKd8g7iA25F+Qt7EsBLE1XEcKhUuzxR4N53FegucwdCpkjUm7UNPeL8rOQMExG7NJWmRQJHv4reerDjkDGtEoVSBCHraJBLjH7aEplKiWX52GaodrOdKO5eBuZxj7yJF8Tfx7qVCAswZP6h24ROcyRN+\/jlJYGOQs3DxJasZIrW+FRqSreeq\/uqIay6IUYG+NWgdecHF+1lAuDIbz0t5q8kH\/v\/SMhyn\/pE\/heI7tkJW8UXgstvmJO\/kiJ3BcImms0yM\/2uPiC5YvbFdO+bF3aS1xNQmAwcOmO7t8drMt+S9OSJwue2lt4nFje2EkErlRFYUatjYRFbjld+OiFj5+7HJ1MQwWE5lXaBfz\/abqtSVlRoP70FOZhoZnf9h8bW2RAiBrgW+LII9YCxsijqOYwI9sv1OpMFXlt9p4VdIsov1hoUW0fh9LQQ48vN7BX5IXvq+1SEj4q6RrBVCHcLFd3e56nmNYH7I46+h\/\/smmqg28VL0+MM2vEGBA6hzMZIm6mNWJUOLjSuXqE0pknsE81Vf0nT9wbHrquJozSI3CjxqvWdHnMXuGS\/vy\/2Y3k0cEif8eDoFcETUIqvw\/9BCBRuMW7Imx3bsUMw5VDxEFHg6\/n89UVVEv6Te+H2+3EYwYZxVQzSztg8jufnu2\/64cI1OIaS\/v8Sa8+BHTlOVT2Y\/2xAq4uxCIErqMC5f7z24628\/H78SBzp6ldlmy1WcMSrIKNcbpHEt1SlhtWMBKNk9NnJHBwhcjuFMZt7usObVHhh+PeTEyNw6zdoTLCc2\/cCJzj9Yoq\/DM+90aODOx9APNCIR\/bHIFTXY7nc\/59aV5XXXR7m65kEXTHsqspQnjbIvYKqcV75MR+TZX0sigMRFY4rXZqLr5pMLltY8m6Gj0A4etvcdINsE2YHHJU3YL613leCf87KTm5SZv48QDKf3fWpUwJvMxbd5J6TW6sChUSnML9sRR9TORoHhXFWX6pn2XS0QiBClYXcHtd8RI5SyHtdRQMMPVG9MXF3DbagogE3dueiw9rXO\/EWcb7PPuev8JNg3\/9ags7UbWD1hrAxqVw0QK0NOFo3fAj2jMnybfjuvCBJTztHAg0haks6l+fd9JWNx8m4JHzuJ\/v\/9df\/+TevMBYQ0B02nyi9zPQj3+LCIfsjlR8xyDe+YL29curNOLSv1ujbPpqGuGTH\/Nzv+k5equQMz\/e20UG2BQtvz+lAVSSV+VaBruF5Ju6Yk+axOpX31buuEfgkVXUP8u+5LblRM3CPS1k8jC8XiWdm7TdFyrS3UCpKjKJwr5cbGSFStA\/8T9vf\/97LO4hZYpniUngNUp3vRsooWFb2eHk5o0+LndJqNYFyr7\/NHwyVj+QP\/PmAmMTAJIbdmvUf17aBF25Tny7uNy5I4Y+TOpsH9gVp\/2s4Sb4RCN1OqqL\/gKOcEF83bsl6HKeYdOvgNjXOGPaS1A88VVMqVgZtEBFyx47udH1axfyTYbKCxpe1eNLzPYBkdFZQljRsXQek+IIY+ovzyHWrfl8q2WVZeD+oKiGSCBWMeK5Bqm2GSrTq0j+HdP0dI4qWJGTET7TeBUGFk1URP+97yoS9lm435ybhPmb01WKeo\/x7by840Tv1Hrmdzrvv3wmKyW9fL2CI3Nn3h\/F2aY9JjCymlrwbHgGOetor4JZ9tIknsKL76UxMZ+bj9cj25EpGDSXC3NaJk8\/n686xoXgu\/O7gF65sfkNMCxTlV8fD7iQnB9O6cuRtHQMoa+COfP4qr3\/kwLRUx2QMckq57IHMn3MVN9vwjCM0NWgX+7pGJ0o6dk6Ekts72LPuvdqG5WPrY+8hwkTwSwI5gYgrPnntlXa5qL2kqbEUN8i0tqMoa1M8+vokp\/vl9fEBj2xFv8Um\/EJcUCAQnO2l7NECXKvc+nlW8JlU5VOxrgDLbmeshWpenWPNjv3GjhXkQw9ocnKv8kdIWWUj2BAi\/xDmT7lueZWnjQclCI\/1RqmIPLz8k0I+qmCKE8R4WRj1QB+nByhU28D6M7v8+A0eo9MTv4a+AnCsHnSm1XGkyaa2IEACyU8PbphKTdpMP+ybSF0IvJeXKuZF7VdylSANjR\/fH95VPzhMU55ALt2dhf\/YiPcV3pHMJSj8EZd5IMiF0HXUYzUYla770tm3eDT3NmvXKfZEuD\/Gtz16DevLqsxnTjgRzu6YCtxmP8TVN5d+B1A7zjudOv1jffhdLSVu7Wk7XPG9XWB6Gq0T9LAxppf\/ykKRULWyXg8kDKyyIcm1o7cc0N8u3gQ2R\/Bwo4TutfbLUbkv4v0F30Rgl3tUh4orQvLA70zNqgm3vaz\/NZd\/a50mbHI\/BEX21eh+Dmw9APa9YhBlKP4e8TlGu7dcjhzQf9VP3kMY3oaVnXxEyXf5moq9Se1D9SKgWombghNVyscYCyW+Uv0AP4gX09WwWXREki+xzPRlNkGjWZGND5fCNzQviK1ZvKhqOJ2BxI+HfmvmK+Ln6XyIH6UVVWGZOhwFdbJlQ4D2AksQYbnN9Ui69ZKzLFPVBBP8nesXhgvH8QLud1Q0KdA0cTOADLy5n0lztu0G\/3iMsyLLuNimNr9QS5Zz+b39\/6f7l\/zBQOlhXGwAAAAAAAAAAAAAAA==\",\r\n        \"centredecultureouvriere\": \"centredecultureouvrierecentresocialsaintemarthe\",\r\n        \"cco\": \"centredecultureouvrierecentresocialsaintemarthe\",\r\n        \"ccosaintemarthe\": \"centredecultureouvrierecentresocialsaintemarthe\",\r\n        \/\/ CEPEP\r\n        \"cepep\": \"data:image\/webp;base64,UklGRggNAABXRUJQVlA4WAoAAAAQAAAAnwAAnwAAQUxQSE0EAAABoAZrmyHJymps92ht27i2bdu3e65t27Zt27btO702BhUdFRkZGRlfvBFdVYmqjv23MREBwY0kRZJDyzSzB93TT2Crvbr91+2\/Nc70KS0CQeHBUoud4vDy0WV9R5dn1WTKFpX65OvR9Lehid86wGzWHQIWXVNTgFVLDiroecPPv\/mmm\/XddPNZET3C7TFu0fnDPQsNlwNKKAqTAqCjPb2mawEhhSlfnBXumQwLhD4JBNvprh3aBpuWRTTDrp\/XN2qaBz+ArqrArw06Lctg2UUhACAYE8AOMYXvYddf0R2WXEpuVAVuKxhPAbCgEm1OBUCA\/4qa91wG9fae+\/QrmMvGSOxVKBbiFYujvoHk2DJ6+g2QtX0x1VZ5MwoKhHbDdi2BCvChVvMCCOw2PhP\/PWDNE\/cER1tsQ7yboZ5nlkUJnMBMDV4plfRz4Ub\/BZzf4HnMojiJ13La7fK8zG1QAXbTyCwCx0bM1JYIcEbUAHRiUydEQZ4ZewhS4MCa48H\/Ce9xEvRipvKLFFE1H7cNfJzBzF2AACMiTlI+tnIDP2P2KCSRn2U5UriJuZGYw8y9DqVwQkxjIAT6WRiMQM7JhC6Cjy1TAZFls2QVdzub55m9BwVCzNYI8Dmz0F9KEbnILgNPCfEim4Uq7kzBOzWg2ONzIPEms+lzCAq\/8jxSo0SvdCFqHEjhYytfSS6RZyynwFO6GypTF2etJCUetPIaAAytoZqN01HJpuY97dmPII5ZVnL9+vbt50UIlNIgcDJjM5Nh+TK6IwoAx9rMvggolIrZbNZ+XKD1zLtbVSTQJ8SVP8URLTKfZduIJGJbS+7yAEAA5+LB0884PeyU03fRI1o5zqD3p9GRJ4KA83bu3ae3pl6mcYFjc6PJkBIfssTO2PWQgIChj7UiffjiSy9qAhTHg16UzawlZwAlz5k2Y1q8GdNb26Wk9t6pIBVNqNdNSEAfV8D9HtPgQVWTX23PmtjE4fdhTHtjnWRuCE1VcYaJgrGP1\/aYhnI9AwW+PgIqtev6s+nJPEUfMyDM++qbr2J98dUdm4Xfug6+v2OzLTbTtKlnpGCo\/asdMkzjR5DA7g4SeSNIes38VloKhzvOmyBx2pBhQ+INHtKD6WslqfC5lQlrrbX2Wl58XHAk+zEHVTzJHAlcwCzTjqtvW5kHAIWExtVOz81truOCas+7ycyBtPQh7+S3JjcvcXN3AvNO2\/TzOs9tXpeuhMZ9W\/p5cW\/XeXGKptcDti18rOd+XJGadeHj7tSxZ8DbCs7HZalp5BI3pa9pAWjejpOamOdyXJsa9g7kB+ljTfMAQFXmOKwL0Jt7bVWwWRdIwiDRiS1zKaibdZUksLXA4V9\/w\/XmTnNjuS5FTutSXzmtSwm50gnbBiDYtEKrHtb1vFkfwGldzw0b9h4gjQn5o1Z9rIt6jVuXS5broqXy4a575q19k1IwRPhNb7VXt\/+6\/bcmGwYAVlA4IJQIAACQLQCdASqgAKAAPkkkj0WioiERyu0UKASEpu4XHhB5H7SvhPOB5n6o\/F2qXZedIci\/6X7o\/fh\/TPy8+QH5O\/2XuAfpF\/lP7N1z\/MB+q\/\/P\/tnvi\/139Vfch+pvsAf0n+1+kB7BPoDfsj6tX+v\/Zz4Pv2w\/aX2fv\/JnHf9a7e\/8j0kIldyP1bjlLMMxSKQ8G\/6x\/t\/UZ\/tn+u9PrOp+bf6X2Bv1r63PoifroQktSxj36Pf5UMX7aljHvwWAkRR15MGrgEESiVvPGQP2KVSuXxOWvGe8u9ayAnY52Menqw\/nOEu3mMbrqw72jxzu+KbVypm1dzVyJIS+ixZqbQv7NA\/\/c38AP\/Xr3KqR2s3JzfA5qNCmQ+9oyspnZFqgoxXjST\/EV73ANW6smi55d4PD8Sc9oPe6X\/4fAZMz\/6J38fcDL03WLcsjutwX7Jrdkt1PaMbhxsXyMBI+dSF5bjUVtsBroChH3qhLUsY9+j3+VDF+2pYx79CAAP7\/p1UAAld5KsecR2Qcwt2vVXxg0qCG4n5YAZNkiuOvrv3lCoNkSV5AmDNj\/x15ZqPEM+nJSASLHGZquWAGp4MlCoumQEDm0ZGZwc2iDdXiqyKEaw9c8uG8hrWUWnVSmVxzFU9X2C7zpWoiXyS3LajYsqLQNLLE\/LJb\/Ek2AWPG6lnlBfjvlQN6YD+8Y9J0kH4t5JBzMiS9n465DRQU747oQ4BQ1Wwg636vUd8W\/pCzuKUH4ilVFOgKbnSj5g8CyFkR40FTH79TSl3P3z7C4X2zDTziQzZTfcIzr2PdH\/hIZdPyRtXabUCu9WgZ8Itpt0gNGY9bQPhPkllwJe\/LZo69zWjH73JlMLz19nr7iu5Ox+uiQPLkSCCl5GvG8CfMSRUCG4mpb3xXiOMl7IsJ+21dT2i5UqBJejCsyfCaP4G\/7JKzT0SlZDAbobAQIc55DvXkDBkQl+wZMPC\/9v928ixL92SkE82x1I1aZvwAFJIdkyboz2oHE\/0\/n+pYR3PUhygKsTkzbio9MZE+Hgu2\/\/Uwk8p80jh\/YhOwUddvszWwnckZF+YtXHDuQSCQDOK6rSt3sPDzpy5wbg46z8zC2RNAkuEsS04GTnsP8+vGOw9fsTQqzQWl218vrHVshjC2m7DEZ0U+t\/KGPSobF8DO8vRm+plw0iVSzlqCpxobE+D9D6AUDy6fFHQubVVrtlaSWLeFD5LqBCjdFSlNI4BZmnSegZHSPJX18rU1Potsdm8vmABuIE5jbXSW+e81DtbjkC9CC6FrK167xuJsiYI9SJTkOa\/G9CH93On3vay9L9oKdfFfg35rzooc7LNKIZFTAXwlwHVi+VFRu+Xg2VlnjESq\/zypgv9MaLCpiJjRcNuBPoIANyYA6qdtls\/PCe23rvrTZx6bTDm2H\/Buki7RiP74YOWUwetiWP+ZeogDYdu6Ok6T23ryMaEJgXSdJP\/CVzIjrIGzcIZmT5kNAlPXr1zU3p6P18Zg+Cr\/6T7h1mwA3WzaRwKn+lPFEHKn\/oCSwNKGnVMqH\/8ySt5VxdJNKLyU2jLjYy1\/88\/KQz8Q+qUhyJUvudxLmx7vONBeCwUndGk2K157Ivas\/oBVRKynmpFfvyi4Hvc3PRLF07ui9ZTxOSnYKtpf8ijYDCL\/uTHPQgkjtbJX8AYoZ\/pc3ukZ+nw6Y72VrRWKAHE1sjgSbmtxXmwGkMzNCy3RDdqfWqWsBg+57VTQkuMWb1BOOhr5YFKVFrEZ2Y7BzboZXa3\/vX1kvdkd0BkJDzscrmW8rUyUHhKv\/2Ac2K3wF3\/eaX6t4gZc5MMO991Y6PpCC7JQJknRLcQ1Q3c\/wz\/jiZgnd23Tlqnq\/KtYsqxTFlEejjYAP6F+5e\/+sC9HzKOsjaJ5Lw5XX\/bYJjxtUXe7oopoaiX\/YOcFZzL9corzAd7kP8oSdgcCsJpcenti7UT\/IWikdFz5J1HJhjufIys+j7an1wDT7NI9lrqMT8zToGb45Upa+tsORlfyhx\/e5qJAw27TzvC+V6jgcYmo\/Lvepq6bnRZDQ4K3qZI4\/YFEZy3UXxPGtiYM\/3dr+zRvFHBVMWY1vlgZTW8Hb4pc42gvndPIc73\/AKHoRkJMPCiAIUys+qaOthqdzJTV0FkvaAL\/zl1MJ5i20UJl5UzV9speMGYpwa6nJ++xpwV9igXRGrXiEa8tpaeR53r29KhPFQap8C7hR2wSAoOjCCsSVgu\/tN8ty2jWHN0RlgMdhZZ0MKtnbhxbAx67uu8i0oWPtfRfXytucScyxapnCNtGcZdscErLEYzQ8cP5Z4w0PlAJMBKEE6zlcH304fIFfO+2Z7ytXv8uv04v94MIYnHSUxn\/kzSvBMokO2QRXl0MitindifoJmjO76jBGGhfRyBSTRMhyUDb9N4USe9wcHoEAO5yrQYD+2wykOb5fK7ZJ\/RcJr9qMW94SkFz7g\/JR00duKdSSyNNPenA\/Tk86JJWuY55Ld5x\/WBsC4LJuyQ9ukOQU4Gq3sE5qxmR8mg+CbO7J8BkM0bIkgvR84A04QbXO0zf2uqJIndV+yuCXcQNGfmjVD\/wAjLSSiVMMTSkCc\/3Sb3T2lf9x2\/np0Zxac97pFHbI+a1NyY6DMkX\/j4u1yyz4DnlaK1IZQt55cUQuWTqVhxm08OF1Gv9m8gchF7PNOGsvUVc\/RTGq\/7QXKUPcxtttJhIgGPSodyYh\/IklSL48tZZr1qC\/\/E4hDWpGZutebBxWg0eMIaO78VnOHGsS35Q3rXkiFi5WWWHOY2w7Qys0RNXIwKB3cLeHkZjdBYkIuQUbdU8mS3VemJPxttpVtLqSj694JldvCNmB3Y38kYWh1ceiM8miNZjJFi7\/Sa7Cv52ibsF5X4iKr9Cq5NVD+6WdgE1BVwgGuIsbu199uOUXNa5FqCwVcQHAtpDtWv2uEAAAAAAAAA=\",\r\n        \/\/ Camplus\r\n        \"camplus\": \"data:image\/webp;base64,UklGRgYbAABXRUJQVlA4WAoAAAAQAAAAnwAAnwAAQUxQSI0LAAAB74WobRst5s96d\/c6ABGR0y+6tZSolFJKSpIkSSIRESGEbM684H\/btmVqs\/3brxFgIMQT0oSkQjVad3dJU3d3jdfd3b13G3fiAsx5HMf2113XDHMPhB\/vO6L\/E6D\/+\/9\/hl32+e\/f3pCr3PjqLdUJyDXkX5AmbQN29k44ykNh4cYU\/ULd6\/w84eglAIsTy0RAeM9EY1IRC8oEENE7UTlVGxixEf7OJipnatYxYHi2JpqTG5whdT\/8zqM9mnB2NligCWfPosWLFy9ddFuB89SipUuXLT17xsRhOa1+aaLQh6dCa+CpmKsnCPd6ndaafzlBeDhSi5yvJgjLGSGAaCKAIMWH7ZT1LX\/9p\/\/8+tZtU1ox6fSBzubmP\/vpyhn\/jcoJVzz08hvvvvvGK4\/dvHh6SZ0QtPiU9infuInG79VGc9K3QP2xrFHnx+Snj6rrli82bvi4R9lTh2l+56OVmf9aa3adp7a9YA94Mne35Bye2lT2HISZ80SDzp1Y8mG+GM11Q+TX61rCU7J8PSVzONin7lqt1l0bIADn6lpPrVarldSulXchBY3rbMmayD4iOeB2qFT0MSMA4bXmnoXkXrfX1b\/Xg4ZhEAlmqrBWYJyk9u7dSgoANwuAxClNrKJOYTC1YBZGPnFVUy9QDyBxp1S+GyvaDxFgbM4Kehuc0V7TDpEAIgAi51c1uo46xYn5BeujyPismRdI5I0TJT1HAoKjXdPXkDcGCiY1OL2tagcwAIef1n4xRI6zGvSRaOL0XHWIKAiOVho9TyIfHKtIpQMEYPGmpIHhCFI8MXZK\/2AAzs75kjo34+HWUVTeGQ7R3IUkip0TGzxPotD4QNJ8jBwLJekaDOPDoiiItlpFAnA2dSj\/ATbCahWvxyBoMJD7DGuQeLDoWRLFiXMlPUkCgsPlXC0I47OCHgo4tY1OIwGEH+pS4d8YWytFZ5Mg+PtAzpgrqWOYxs6PBU9TpzgYrkrZNhywWKf8pIgw1hRkOxixetDZPqVd4TnjZBXfhr3RocKuIQ\/CD8w7QEAwVdISrFEwVJX0FImGxnuSZuLkOKXgehIpbi7QvCGAS9W+t5AAjFfVeFKXGn6JgbGwRkCQuiStbQZjvvQkiWYWSrqbBAR7S7nuAxE4M4vUfe3dN01T+5YPhAMRR6pNNHklCYyvtZCU21+Ssr1EE4lb9SSJxsHBsqQ\/cCDxtCQNDBJ4bFTzWftcRgIwblcLu+sWhI\/06MGc84ekPpwmnQ\/uJ9GkxUuSeiIAvN6j2oXfQUDiigYXP7Rgxvzn+9vnr3Ag4lC5Fd9gYFwvfYSB8Zaku0jN5J1mnTmSriTlOLruLwcPMLZnRdUhgL1Z20zHARJPqIWXk8D5K1O2m4DEo5J+wHMRDRwgipxNkvQZVpBPDrjTp+KXGbbEOWrb+0m5YHoLuoYsCLdpUjdB7gqpo04rneLEcknVIaLIPAASLFTxXAz3bVn7\/IUDzgY1Wyr6GAPnu9qk2i0YYJwknYkVHBmJJpz9nouwmqQzMJoNC3bPVXFpWzjGuWrbmhOA8UwT5Q\/3f1SWtIxEvh44hcFk6XkSkLj9VqxB4pVrwgDjE0l6hdQo3IDnK2q4CsPjb7XvqRhA4twmPsa5WqocdC9oMhiqKtuCA86k7EhELhIvaTVFZ0rKduG58JSAkZVT1fhSEhj9bbSClHPmNlpIve5PSaswgJRSve4FztZMUwjA+UW6FQPCeECl\/QQEgyVJM3CAAEjfXtmpJudhgfGW2ngNVjSzQbbdPXG\/FmCM2vlSuooEJC6RSoMeGFwuzcaBxMOStJyU49D3Ty\/sUtNTjoUTdqyznT4tMvobPIWROENbwnPp1osvv\/yi33Ag8Yz0AQbBsaqkqxlxhgck3U4CInpz32LgbK9otD17cUhcqnb+pihxZ9GlGBGpdD0GWHyk\/D8Nrlb5IAEpVklS9hd82StJ3+JgfCVJ1RECEg9otJMHcXA+V1t\/WRSxv1tSthyHxIPV5JFjINePARgL1IcDzpycSnOnKF8dJnKLcqdiQHjPaPoOYxB+pLO93iwi2H\/X4tv+wsFjT7YOAzw2Z7nnI+WwLt1EAudvjfJ0DILBUu5xElh8pFEuNhxInK52zJq4M1IBQd4gjOlTMYDEZZKUDeKA84\/0FgaJS0fzPAkSDyj\/Gw5O\/yjuJwJIPKqsHTr6Gs3BiohkycFgsb6KXPjuUq4PB0jxvLJNBBGHyqPZgENYd646QmDxh5ru+hILwPhKJbXlwjsbZBvDiwojMXK6egmAOucrf32knHGSOhJB4iGNstMILN5Xfi4OxqKmzjuCATg7yqVKe2jlF9UCnUzdG0WC36ZIi6xO+Ahfq\/BZq0f4CJsyTSPwNNIxmukRRJ3+gvMi4b4pa6L3YzAAj6EeTVa7\/n5kWYFWQDJ3t2RwbHkm6QQC4Odq0TUUpjlSHyMpuEGjnUY9GT+qcCHDqc4SNaw8YFgAhHGC5qttK3v4fFZOS3bQcOc9nSpcX4\/DX5ybqTi7b\/P+XZ+t6JHUGVBfrlFnG4D3qkWVfcBaFZeu2wtGPozTtajSPpp8FNZNkaTSwpe+\/vOX9++dV1LjzkllNV\/KVDz5goWdamHlnKWT1bjzhltmq7By3Q4wCsNZogt61c5zLcEbczR+9z5yCCwo9GCRrpqn9h6g7vDd2eVxqXTmh0AKio0Y0G0L1e5n4nWHvc\/MycaZ0vznBgELGhpHZumxC9X+JyfMDdjyeH9p3Og4a+UgYEaTiU01rb9YY7HvEEaYA4NvXNSbjblq\/13fDQNmQZPufJhVfliqsdmzgQR4MoAtr13RVxkrpanLnvxpCMAsaNpgheZs7tdYLb+DO0BYCoDh39fcfMqUSjtVpw7ctPLHQ+Q9edC8G7v7tGJzj8bwrZAodktO4ZHNn75410UDM3s6yllLsnJH99T+Jdc\/vO67HccojGQejDYSvJqVv\/8g05ju24h7QT7cUgoa1w\/s2PDHD59\/8Nb6tatWrV73+jsfffnjnxt27B+myUjJPGilwbZ5WnboOo310hNg0aA43FJK5kHrw81SMo+g1ebEHap++e8UjYNzfgOLppqMCHe3pt3dI4L\/cljAq1XdefRujZOX7YMUrRijkYDXe7Rw8KsejZuVu49C8vEgzCBe7taCjdtO07havWsfuMXYCjNg6w0lDfw7eKnG3crV\/wBmMUbCkwFHV81WdsnO3ZdJldM6xxlJ89ceBZJFu4UnA9i3aoHU+8rQLwNS9ZGVkzQeV8\/7cBiIZN4m4ZYcwH+7d7pUvXHTwWe7pWlrD9+jcbtjyeqd5D2ZR7Qswi2Zk7dfHz+pLHVe9+v+d0+Uypf8yZ9TNL5PueL1fyl2s5SSNZlSSmZBsf3z+pUzMynrf\/LvTasXSNmpb41Qv1jjfEmSuhZc9\/x324doddrz+7oVZ\/ZkkqqnPfT1n+9f0y1lA+sOAE9WNd4\/seu+6SrMOqb0L7n2vqdXvvn+J198+dlHb6957qGbzz95emdJkkpTzrp9zcfvPb60Jql26acjAO9O17hf2gv8++RAp1qcVTonzT794lvue\/Lx2y+c2yFJXUtXbqfwy34dB2+lbgEc++Hhxb3lUZQ6uidPmz5j+uSuSkmFHSeu+GgPQDL4pF\/Hw9qQB3gy8oPfv3TDmTNr5ayg2VLX7MXL1\/y8l3yMjIC\/1qfj4w84heHJguJj23\/\/+sM316x8deXq19\/7\/KcN+xLFYaleB7bfXdNx8hmMpsMtJaelnpK5WwLSe2eUdLxcTqKVEeHWrHsEhCcD4psrunT8vJ4ULWlhWDKAox9eUtNxNHsG8JTMI1oW4ZYsAPzXx06u6Pjacf\/bG4PicDczz4fnzcydhns+v3egU8flrGP2BQ+89fuuYVp9eMs3L94w0FPS8b5Um3Hyhbc99upbn3z9wy+\/\/fzD1x+\/+fIjN527YGpHpv\/7\/39VBQBWUDggUg8AAFBAAJ0BKqAAoAA+SSKORKKiIZSsJKAoBISzN26v4rF\/umoH9b\/ID2LK5\/U\/xH+U\/I\/Tj5enKn+3+7H4UeoD87\/8b3AP1E\/4XUi8wf7C\/tR7vv+j\/W73Of3T8Y\/8B8gH87\/xn\/37BH0AP2t9M392fg0\/cH9t\/gM\/aP\/9ewBrhf84\/FXwI\/un47\/uN7A+Mbzz7aepRkv6sr+f9d5y\/4rwd+IH8t6hH5D\/If9L9rvo575DMvMC9XPnf+t\/uXisajWQB+n\/pb\/R\/CL+if2L\/l\/3r4AP4z\/Xf+P9wH0ufvn\/I\/v\/+H\/ar2s\/jP9d\/6P+J+AX+N\/zr\/c\/3b\/Ne8j7F\/1k9jL9Z2FkzfT3Rvp7o3090b6e5o0ZugUVJKYFn7i+Vu8hv7vmFRXizwLf85dn22AeU8adH5ZPi+\/jltL1WOznUZTRT\/2NNgfzFFWAJFvzdtreYO1lqHOH6xMbQIMjuVR5mc8+0kuyoftyfIqu17Vp3y0HswXW0OQ29vBJz3FagXOknQwI1nyrPqRUnGkaz5fKEaJlzQPK8v3KrnTG\/Qzuu4k7WUjdge+OP4Z58VEcQVwegH3VRhyUiMmVf0R5Ytqr\/cmyXVrh\/HE2Kqi4nMhf9mnwl4TEjl+tp1B8Tu3HH\/r8\/5x6zBbG+bZMWvE\/Wq\/o3z0qHAM6+c05dc1oN\/s1vvQpnjxjpAUx0gKY52AA\/v7uqgAAATPPiY9iTXjzY66rZMtptt1pzOB4Xc1TL9nUsTMCccZTy1rM9LIuNU\/\/Lk+NAI8CcKb+MXBY\/nxqSV+\/+ne\/DD3A8VJIl8rSOjL7wtT6yZbL2fDXf7qysSeqYPjRGmOu4rFyuuutNmeugsYQP6qE8Eh8cu4MRTg27QDB86Sv6m0abGtkxHjKIBnyWiP4K91Dy3YuK+HMcfb1c8A\/aD8HA3lrRK9lW151hiKm2qyV+Lt+4nkRJM9TkISCB68Z0bC9\/rJGFU4WFcG\/wUyNruSyH9zgj6+hS2f2CZ36WUJ242+Q65z\/w4TsJyhDk\/276ZkROA3Vv9RDKmjkuu4HJ5LhZJV4vhfxEWGs0U4MONreg+CRv1rn1sIDBBg5C11rhVfAiCrzDynva\/Uh4Q2bShXtVGHQvUO\/tYFhuQufpdncPIw14iTM4tGxeUUKPzBRIZqM9imUpOUqiGx4E7dioR8XRzzLW8rbzAqXFxeptXFbJ5jgfBm3aRw5pzIZQ0gsOO31U5UhaYx8kJTNR0UZ2iI\/E\/HX2owNmk2lEqLqHikz3RFQMzwL0ZdJOMpZNa3tWU\/pbuIyIsU2uJ3JDYcVW5\/xW8GddrPQRIouN8Sgs8WHGRRa7zzFlJhzP8Ibj9NbAD2ZeLGAD\/v6hUyI3qVe9CX8TV9\/ziPeAyvxwhN7rzPUbIUrpDXffzv8sSYJb9Tnchn9ilMffTvyU+wH0oA0I3wFiSJ1w1K2vyI0lNVXIvJyfwXcsPKLclHRt3CbfZI0fDLDBI+aRjOA2QQdu9Y3bncC0bK6rnRrCR3cSqQ3JRmZTpm8TmBjvye94gaQDRCQZFw1p0bDpv9gKeOHVhF5HOEYnvZlhiJenMJs1mXltyheDS8shWwgsh4qJBMmXrxTo7+CIzR0U2tByTougBZuK3BH+Gy1idh+wUMPpddha2XHd2j7w3nN89ObSFzi9mnncjFNU8BQKqvx64FqOexRJmA\/wHVCYudYx+rZsiY422TmFb1i\/MwWTrAtAFfSlgiwNJFcbAw\/optIdrMDZX8PSoHPUEqF5DRZ3DD0EEjyte6bay27cbVlBe2rD2XE5C3iQ6bnk1CsTY2q3zdZNvUT71I0QwyrTy\/lrwqBK7OEfE7M1+dLS5OI6uPfgGHAFXeo\/5TZVAGnPS8pLo4wiXn3KNquZi3LzFH6A0S+s7lSCXeMJVbGWhapFyRCX9f\/0BGrJwahedpu5rOuot7mheCpGO76OfYITCpjwcLUgwZkVsXUV7HrIvdcTqzouY1HYc6qdFYby8Q3Tper8Oaepj9LHvhHSTDHDyOCwRPly0AHfDIOwW35H4ppizACXrcUCCkZ8FwB09Z5FZKvpUWkhUF5hgaVDHKgroFXbD78cB2q13A6+0yBYKcifz0wK+S0hDoOHCeHOYKTH3VK\/f2bWNcmWnpscvjMe6\/anCId7pPfxfEKFtM3qExHmNpZvTp8ljiEDW966b8dVSkvvWK11ajRu0hlCAcG0J8gB9gPAChwVGbxPqVtlmAmyrHGRN8D4tspx3NNG2hYZuCEHzkDiXAIOqaTcTYAnAp5WUdS9lpl0++ZNlUPzD4A4dkVN0gB3VOzsl4gqJaBRqInW\/mDwGUtsw1st4J7OTdTU5EaXZ\/TkZowfWfkn+DoV\/rO+xNMiY0rDKJeSeiyh7VXrc\/vnTaAZAjz1yLALkxWizyoMfeZ4u9EACPbJ72ADsso+XUXeObz+cJZ3YNYyNl6iSfQESKywkvX98CtsGbrIQc7B8dyJWhouWkGGTJ9mtVxDT7sd2Pn6WGUDD2R7JZpU3JxlUhY2l5Gtjdd9Vf4hWP+cL\/Tna6PklBfcRnm7ChBfXiXjh+2VwsXo\/sUU3670sDxq7bCOX1\/0CB24Lbyor3z1HTKnNOijKQZt8qGbHiFcuqgwOrm0qNOTAGS60IEraftVpQbWQDr4gRNUAX7BtxoUfHYr\/qaQDZD4L7XAVZWhm1Hj2u+BHl+GOazNrF+U7JlnmZEe+GkrDCMjSk6Sk3qMAHhHT1woNwj1jqEReueFe70EE+FO8lxfkrYe1eaQKSfCjxbQqlo4yYR0tKK0T8VK2fH5uCOsJVRKbDSdS3g2\/i1h1mXL+I5eW8tWn5sRbTJmsq1G8qPw2uwcrXIxu27zUYfXvk\/5\/twWPiU8MnB0vEeOGyt7pr2xzB3M84d9mF8IEOCKKYoX\/0Y1OWqOu1RDjhWWJ3qkXhsB5gbJRCqllOM+0eGphVgesy8\/VclcJpeHLKCfipai07l1TA7X3JKWfKuzWpUrQUfDU5Uc6sS8JuzYni7N3iLYrYnpNhCw324In59sB1VnLYpmgfHvX4xe4hcs\/Jeaid4NEeCLKuSCq3K5w8k9VXUh7Ba3v\/qg63Rvm++EqymxHWbQN5kQVWxpcfpD2ux3Hx5W9UFxEhWb+je+by5riGhVUi5xfS7UgzhJ0RNJ7RMLdXVQZ3nstTO4RkTUdUR3Kl\/\/UvJgUATF\/uAqoDPnEcFOF32Frk3inDOmrs\/mFCebyeLbeG6ZSaomMRc4WoY4ElQlxtrRsu9KvoppyUT0VZUvxAirSLt5PBzhSO9pvbGwE2ClNooLfACICZc7M+6qcpuyASLie9MyCHQYean2rOGIe22NfLvOHxK0hZ5j06ZhN1PzWZigcCrLuZ3jBAu67zkDWsKkrWvkiq4F\/ZoaIJquOMk0rHUufGNUJ47v5ZgV83GdVqK2YpaO7woJ7V5q9va1ZqOL5RqVRbuC8vgbxmnRPOgAbhKeTq4y77cnX5wVLbd7sE2aaxMSH2o6rdChPAIRAxD9h3B0+dExb3SaWB\/6nZbU6IzAayezc6J\/EKYy4KFj7IX30ICP56UbJEbHqzZvuUHjiPUSf5wbVjqY108T3vh5sN2Jhtw4XxDeu806W85AWR9CENfMJjAX9StYZEXJFZ+04F5GS4JIbkHKK+LWwisk74sNJdtY4LRn2KMZbiXH0QoyAdgy\/m6wzoZsBlyfQ8mvwXVutoFnBcBcJNXZ75uo0vXkMNu2PyvIxr8sWbz+UJl6AA0CZtZa3ODwdbkJ06t9bU0tFy\/b5KDU5YiSuTkgzk\/zhW3sxpXtyDWEUjrYOOFEgSkR0oFybDoTk36sWrKIX2oIqDWxNfR6s7yZa+\/3LTKPvMnCJyyW\/AVwMKDYSn+t1ek6zhMrdri4Whx\/JkPFy01ufFlJV9kUqVBM4npxYOiedpSjhT7SoKAfRWtlvJNgNV8yxNW5jzszuzYWIfEi6jQZD\/skHUqSCkYMmSlGXVJXoUbIREt\/Wj2kXZKMADlx9I8cgR43cF5CDS1qvfP\/uQZcZjHDSB5UyPAkGvPkQs2xFhlWrBKuZR6WWWoI0RHbMIEsJ0xXW8B5eN\/slxuNfwc6IxbfJJYeSsOMcdj0Aqp7a0r1d7vBbwGjlUyf1Jc3TAqoxfEf4npZvHn39iY5mNJU\/uuZxR6OawjAXDoWlMum3Xg\/XsxcZzqPX6hp0WJSmjnmwlZegJeqGIAZH0BdzcfKa+BPnqgfneiJjL4XhLW9yriDn1Xa0GlTnT4DakPUWHJKmEX5SIi7uK\/sJ9YuLYLbHJzLkzyP7\/B4l4u4ok2J1aQSCbuiQR9AJaFTW86NnL8Oh9yG2WozZuseWTVKljdq+JwYlRp9Q05v9+wKv1STUcaZFW4Cz1\/xnwA7lhykxde2gYPPx\/C8\/oc52aNVqCNjJrZMatVt4yVFnewou0jyKP\/OkEKvw4eMx8lAj7OWqCSf4OFJRefw1laTV\/+YIJPwkTn0\/4iLZjr3iwWaX7AtiGiE8LfBU0g+pF1ctu9mhzZ89n8OHN7XZT4GQVAqvfItO33FRQ3kaKPT4LNGNIJlm2hmVqyUq1IbM6C\/D46Z+hYhXyO1lvekqfMW50GCFeylXV5sGIsLBSmTEaBMJYyvK986CUc4sbkgPQdrYrjylNVDDWR2e5dvCr+2vYdGwif\/jKpD+nUNeQtgjB1m3Ihoo1Iu4qWJ39FCzN02Rt3PozlccG4pVTLTZf2YZg+HFK4IsYWjAxc1wMupzdpmEXXFg\/HC2sy3qf2eZOMYSsBy9P+c3c2ElRNKtmsvFR2cjzYZ0xKac5kg632WSAxdPKrQmt2\/B4k1vheUL\/mWeEpaOi\/ntleqzx3BUqtq5lCPdLLrnO8vBD2+n7gIeanjhYmDUAwj2\/pvguy6hYJUEmQQRq973bZphfAg1P4RyIaZy\/lqkf6vNsH\/xl8X9X1LK4vfT4m9LjwxiFIw0aeFDXNX\/lbYHKLE0dKiWNWxV4jdTLGm9gY1lOiDPOJ3D4eqM5MKE5\/f1Hb2lUwAf3uhYZqXihKQrMVpQr2baKjAdswdrpgCtYdlCD+ksuA\/aE9R8\/MCf9PcEKn0yY0eNqkdqbF\/kKdjwEOVqwiey6+U1TlkpaejyjMpSdi0dR0w0GZ86d\/5Kco9kdz6pVXdLM4u7GwIBrqYCNuQpKnis8\/U92N5uglg+5kblCGrcRag\/RDJuO9j5AWaKETt6OJrb35oFOM9h43GQAAAAAAAAA=\",\r\n        \/\/ Coeur de Cagoles\r\n        \"coeurdecagoles\": \"data:image\/webp;base64,UklGRqAWAABXRUJQVlA4WAoAAAAQAAAAnwAAnwAAQUxQSJACAAABoMRQkGnb6n3Pw7dt27Zt27Zt28bM\/n9o2\/bINk46lUplTWt3UvX9f0RMQPnf\/\/\/cvzFCoMLBzU1nSqjKgo2N\/sQsFtPh+G1diRCscl\/X0gpUwq3s0NC4Q7F4qEzZzg0IAas90bWyGJWQhY0aGXymFpNJHaeNPRCCFs5tYnwVwhambuFMIrM7G5gUJXBhpv4uQCJTu7e3CU0JXZihryOpwdn1PY351Sw2lIn7WZ9K8JUDe+lexqIz+2rQx4wI4VcW7+Mkq\/EJN\/Yw+BqLD9Nx\/eZBSGBlFb+TqBlQbnbrPsIyYFbHeE2DkMLKgl5bULNwjNdtaA6UV50GP2I5wBjPZ0qUJFbm8VmRmocdfY5AsqBc43M3mgXjjc5j5CMsC1DH9ZhAyaMyncdMaB6EZTyWRTKxrcfWmVBO8jgyFzd4XIbmwXjY4+5cvOPxIJYH+MLj5VxIevgj6tVcmMejufja495MGB94XINm4nGP45E8KLd47JiLMz1WyoSwq8fsaCZW9JiYRCoze4z6AksDOoFHeQDNgvHhiMvJSBaUG4vr2tQsVPb2mQHJwyI+oyuWBGMin3IfmgPjw85pd2oOhHOK8yxIDirLeA2+x1JgNp5XuQzJgPJAcV+SmoHKJn5jhmYJUCbyK1cg8SkPlB7ny0Bl9T5GPsKiMxuO6aPsSo1O7KzS6\/im4TFtP+VSJDa1+0rPU0cnLNBXucMkMrUXu95mIjRhkdL\/jSZxqT3fNTAlgQnzlBbPRKIS7ixNjjMUC2uyNspGSEyVQ0qj3VOmEZl+MmilTEmNqDJvaXcnajzCaaXh7mE0GtUPBy2VCUUsmMp0pe0lqbFUNimtH4BEolxUmu\/uNo3D7PlBe\/\/7\/x\/kAVZQOCDqEwAAkE4AnQEqoACgAD5JIIxEoqIhFKwmICgEhLOAS0H8z1JtocSDqw\/D\/ar2gPER6QHmA\/Wb9YOxL6AH7M9ZB6AH6V9ZR+2n7b+0bmp\/9H7MP6N+RPnf+HfMf2b8jv7N7GmXPpb\/hfyd9z\/4n9Yvv\/9x\/bn+4fut8bf4Xwb+EX8n6gX4v\/Gv79+YP9y\/dn5\/fgP7T23WV\/4r\/VeoF6y\/Nv9D\/ef3U\/ynoA\/wH5Le535P\/Vf8z9vP2Afxb+Y\/4\/+2\/uz\/h\/\/\/8zf5n\/VeI39T\/ynsAfyf+if6n\/B\/5L\/lf7P\/\/\/aV+2\/8X+\/f4f9qPZ9+Y\/3X\/lf4r\/Kf9v6BP5D\/OP9T\/cP8l\/7P8v\/\/\/\/d9z\/si\/aP2Pf1x\/435\/obGMYxjGMYxjGMYxjEupHIxmcKUBv6yoFkkGJssTE03ndBklxGZkxyINNvG+S\/mjSbiiuOm2aqc9XkKuIBvhdsxYmNQRDTaCFO3K1MQ\/DUnTtDGJqle1jH1AFwmfM+nbg5bcrAkIxh4\/K9FLR64s1ErIahUiZ2PTYuQ\/r1y3OTgtlSL25GrqLheTko2X3MO0VKLNqyU4jlI5MyOLs+\/2KDq8sTB4s2X3nkofQPT0c1ybHZJcgcscwulJpmHhe5VzmQ7Yd3hABVt9bsiGcgSL15OzATeJenxWYP\/wup024BiOlpLQ485NXjGU\/dxObYr6\/rGYzvIYnbjvtDrsEuIH4mFQzx245omU6dkGX8OYood5NcZqXgxnSrfpspscbGgfXWu+31xeGYhx6ue4IlEimJnXCixSgWirAC9zdHZJEw8y1oZXOE9o7+PJ2itauC58NBwN4J1a5lX6jFMiNHmbOc5znOAAAD+\/nyUAA\/f\/BQGnp1Zs4+JZO4WT71jUee9n08c+7\/9srV831ESug5653pIpX9TJT\/FoLWF\/JDM042p0LtUESXPIoEh0y+jyrkPEgHv2j5H8DEFd1psppa\/27qhQM+KqUGNFC8A0kM3GLT7eVKU8X6fUG3wFkB8nCOL1fiaCjo94uQGL0\/eWDV91MQgQ2JQuYkP8PUVlbjB8Qf1MJO\/2nnRH8fPvFM7edUNFb59OI1UQDkwo8lYD4ftFavnsED+iquAE8BG2ywbcMUkFthCq3qhyAXQf4MVAgl33bP7vjHcMrFMpnBqPNBD9tyd\/uGLbgdJyYWIGog0HK+rb3QMyxmRxmo2aLjwxxfZ3t2uQj+PRAlv5EAE4JiBSr0GTOgXuxhhyY8svHAgUqn9Vdfgyv5IanIlYGSV8lkljt4jgfyn2lpx2OK+8iTChOJEzvPESltjP6\/M9Ssk78dZVOmbD9x9+P3bOuraQ\/AsypMVdw7lvB7e\/1KAwZe2JRX51xZg0UtNn3dk9XiBo8AmepSQDZ5+sB+jDQQLfp8Tch3Qx3fXWXb0+r0UgkK9vyIOr89HDuSY1V1Oh8lAwFufS0xOQxvFziM9KenHibtXwaWop+fPXDU5GL5m3Snfrk6\/SXvsWi7Fwg1jdWl\/jL335UNGrFBe68CQE1V9CjjDDeHAi5AyeLq3NXbwsLR47GpU2a\/\/i7BzvPC8UlnHDYPMsQ9wt1565jx1+B9EVkfaY+JftgXbEjm\/dV7XhYW9\/fxsIk6+6LEFyrPhULlsFTHuNiR4KzFL5tCnY1pNdgCAiH8MY8YhuPQsnYGCMT6DNOGINBsSPbglDujAgSxrBJGXRko5qoVq6dKdxJ\/FectaB3iYV72QhxYDp8scUn0KoNLAn3qgcQ\/jsmG4U6M+pt4iLa9iy8IAC3oQbx70cGPEGcWvAM3Aih\/LVmEVQu0BMrjZSj\/2cVFbhs240GDE0WS7sonrRRwHCo8gfRRF4An4bXNT+7EMZSsXcKZeAzCio7cTt08DcEk7kkMCT2BBLU6AEBsZZRlSVkLY6W8VoFs09yRLX1Ynf4s12NDLye3GzYD\/9AB0CSlHyX0B5k8br9j8BWvpl1eZ1go+638AZWl4DkQVDiw1i\/PmM6DqYK1bQVnq5GApKBRxB6COzBIZ2eKjkDIWK7LkocVnNtbOTX\/qN4byBzu+JXJn\/xuID\/I6h4ODkCY8Jgn4Ja9k3jtfbZYx3XIIWYwMBUQWVA24J8hBptmqFkRZrLYaszIC2yN17FyXAdY1iyfGRP7B470kCYCBCjGnP0cmqcVHWzSZMHxDcLmEuX2ATKB3GZLc5FvI1iwuzTp3viFRmyZZLvpZ+jtwfOLOPKLAAT7B7yzAWvYVwBDda3kRd+3oBvDlXInvG0E79H3GZ+8XbAffWIpmfhIdpYjZaYhbR7lR1Yo7QCqKIrbbqVLwZ1TlD3EMiVUohUfXUvDCxS7\/vGP0+TEHYBv8eWD7\/3R0+9\/KCXU599zcb6l02VLr3mNe7Ev6vOK6EpKR\/HNP3\/UMi9gU7nG10nLGBAHlVROxoeYg21qTgr6Y0es0Nqr5K4OBRjqectV9SxQQzmXQJYt3C3v9SSskDGbKw\/SAYdR6wGi4J09NhX96pImFf4dTrmIjF0Yn5n3NQETbPFlRhEsaPg\/9NvhQfn+dDu1ysWtVhVeMF4WXStqFRcLCT6wzQk81OBh1GaXDFTtbkXfTa0rDnEhMtuJ8ZE3vFUCep7rAwy0Lj5WTPm3fbKiUzw5qhRZeNdZbms8zVo789klLuAFV8eq+vHnvb\/z+LRcQk6FMrFRnNt\/+sBHCckBAUAEMbkOJix3xOfiIAgfdjwLHKcozo+urHZFPD3RLPmQVtGMp+NbA9qrBzRo7ZpnfMksZhQOfE1aFkqCp+MDRkM7ocZCVf8U7oaUI9Vxab9V7KIlC6CnEys8xxka3cVyMyxeVSMcPvGWRQPxGgKOnnMh\/Q2b3RzS6qe8YR+i9MCrua8WuzR8clkqbOA7Q\/RkOxIUPry+EErhjnJCYAmUF6jVazgcfuDPiXT\/HiwkK4scIJ2pTo0CbZ+gYYPNqzrBH15hSOa9gE6t7FIem2VvHTd0lCk2IVX4u2neyNbNLlJqVK7I\/86CWi\/lvI5JeeK7bnqFXu3vCfUjpp6F9UGsT+iRSS1AYzd4zP0ewKgrHPVyxunqkS0YedStviLF3H\/5LB2s20cjclvZ1DgIABaWHl4QsyOqCj2bxAcsjYbaJ9rokfApt3YSeWQVojrZKSJpgCPPg8uCRaIGSR8DpjH0ctffGDQrCxEbX0SVUaPeGgsBFiYlkX1AprRQTW+mVDzTInOt7YevppqWQIZt9T2d\/3+0SI3gdC7nyNWMLhaNs21B2rhhQGugEE6VE6hd\/1vq1Uy4Qlad+psoXWcIf09DKrz25JbP8JFtPdZdLGWcDHgg9MFotVg0IdoMMYQdXyBengXe7AaXlkXxR6X3NJp2Y4C6RnnL+KXcpT8DAJ2iOmscIDbrdCPRSSlSpfdT0iV25WAXiPR9J1c8blQg6RHONWMKnfEQ1um\/TxI7\/bLyrTX\/Gc42FpAuNr+xuSquaHK7GTp5e2c91Yilf76aw0A9fkRNQdZfLwNe3b6XVzdXHupdfz6nXUVKNsLc2gk9U\/eHx6eOudBctuEb90XQyiWvWui\/ZsgFZ7NRGuFAlsYc70QaLfDtgWNgKrZuGWyH\/pwIEOIsNkbbrr9VtsW7PP\/xoMn4PWtlowlIhg\/UBowa2zUPKjcQU\/fIB9GacVL\/FGe+ilorWBjQkoVNBxdfxA8iGavjWI5IEp+V\/GG7qfXTxrN74iSuP5iv+zIORC71LbtnNPVl3fQ8xHVoF\/TMUUJ3JmMLWU9+Cf3O+dC2kbAmjv4ZYbOLBmpYgzkltfrBP5XzC+gCZ\/xf\/kAdfIiqVFddoleWLr\/sot6gJANIvXiBVxMLtBV07jk96iePSu1qglbaM2XRmjNzqR\/WxlaTQsb8RvhapCMQTkFAwYGEazuaCBH0K6taPOt\/2Nrw+SpaXk7yMBqlojafm3BFrcC1bNEMjCv1VLDWXNq4oG6vfiDrxejcgFB\/LDH8hPhgpOd8e+AOokR0g6wHZdw+SIFv81rZQ15VUj4TcRAEAAsy8CIB+weH2ndcNNZ58K8NGOmnY8WoJfDwos8BfTRPJcXcd2mWgKZG1iPwsu5iAn2RN0VrvgXvFQM\/sAl2TziV\/qq1\/F6urt0LBKtgzKSPBXuWM0vkav3EmRp+Ug9MHXF8RHcm0Og8J38yXI4JgojHLd6HaPHv2KpuR2uBoZ8YBhY0QmWpc8maGqNh7DNT59o8ee5gDfc32331+J3cpYDDuFZjqV9AFwwUn4STMNxsi4VMSTDlcNSFS8imApTGK21SFNBNDZitWbnI5ldJiNqbEqomUQpsWIF6bo9a+MgWGIT\/xLJijH7X1p73wg5u5fwzgZB0gJYrWaVG74gU38Y65tbNaDoRTFtUoz9lVkftFRHnUCDPrZdMrzr\/wO1dW0BacwPl5gcjT+orO+NVyQR5ec+ewA4tmM2XUC\/F\/89uaFTLGmfAirfyVbQWcETWL9aMjQIXTFdCVcKkWx+SyCOPX2+BGqTKjdnd8ODPW7KCJWRx846WOgGoPKkaou9ZFemqInghY85MjqCk+yH2djB3RpUAUNtAasaU9f1cMH2H\/s11H3xWIMhXhWssj5t1xDNroLjWI3SFy2tacL9vtipZZx7U+pALADF6lVSF+nLww4X3mrWq4kQSE6zhnIhr5Hyj2xV33GkkM0CF5EKkJ1HBMIamyYe22p7h\/eYdDUODN2JjrUAuSCldDTT4CmqqbWEF9cAC6nFTCDZ3Gha2wQ1Td91GSmFHPyH+aWoCOLwj4qp7l5KBPIXM4U4HRxawRaN\/V+5F2bHsnjOYwl1lp69RXWUaXgTfDOpcSp7X\/iQm3fFwj2BgjnmIDuizzsmpXKpH97Mw4jZoiTV6jTwEysozZKLSPm0JSfvoHKMTXrq2MbcZZKr2TzmH66ddimUmEWDtaZ9mVtDyMNPsh3Y3DW32YAPeecFv4e9SHcwDm6pombyatm57Ziz8h07tuUGtQXLHzzxvmg+r11g6P0sgk\/j+D8FviZFK58udwMZ0CGiXmBULW8\/GS6PW+qnbsPigAc2MkzFEeEyI7+KhL2I1fhcR+YM77\/v\/YKa4A+d4dveWohCmFm\/e3+vpjDgOwo70kKJxvdt0j0FGQLiv8Dt4svnkEFTx6VgtHEXuZnP0yTDEWemrhUSbhe5wLvWpTvshqhcBqdhoR10m32jwY8JKLlbpueP1OeZGSpR6gA7ps5G3eeDyh5IVmYD\/4ys2wUwvI7Ja8Gv8SZfghS0jOlKUDmKAOtTURxgE8ut3KU1s8RyNDomuW\/+BaKfPU9XvIQ8Z2M2cQf1H\/hN6Ha\/oA9VR73VT8ChmgY2SFKIbNLQrFcRKkmUZUIy83RKP8i2XM54rGrj7vfNbpC0b6nvFkb0TXtMiQ947FFXfK1xkkDWc4iQBWDKJDjndvytLFGBBJMt+Aquru39qNBDpLKH0lj7gfKFb3njkZCPPRHRp7lD8A6fHFou9zWGdc18DpnVM49ESKMi5eq\/skWhwCDmU8Zxo0YeJG5fYt4xhF9ZEotKSNc3EtEDXckFQXmrIK1pHGds+ieAx7sADhi3G+vkzpt73+pjV4OTYwCBEZIMc\/CSmYDlKTdCove0UYQmIRc6waiHqF387t16VfgeENViQldCrf7rCPe4kQaAjY1EaE6ct86aKQVQUt4TlXmGrTcFhg2pqftRFrf9WmBDiBaLAYMcOswTwBlQK\/XL04ljpVAA+jj2ZXrperqLZyRogYglI2hOqzj\/xydze79mYZY561e99gGdKXtgLCbtV4NmEe4v7Nv1ZR7AO+2nOnNS+v\/KIiZdHm51aX4GT95YneU8znAIAHSosTCUlLRqo9MhFQj6WfhO52t4aGLGMyjPjsvBi1JkV7GjjmxWvTwZZhoCeWRNlVdnjxRMZrvUPMf4xXKAPPkHc9iGuIkozwCKEoqRlrWtpL\/sW4yzUGeVaJLpgx6+ArTLMzVytTbjmZ6GgmyLI0mJMkTZK32URtFMGkvAufB+0LNs2Fk+JnLltiUlveZ4h+\/QCrnGJWg4C3qUbk\/I5sPy3pMwWZS4yxtw\/sdd0IZE4\/9s9OGRoQm\/lU9V32qjfBi7E8QwQuP3BkYpjx499dt10lGotBBA36SxOCKPhlKnershm84U3JnlRQijB0BiGtfu89VKShfTuzAP9bZOMnF\/ep3v66+cvqj8AG63f8yvQ+6QMfqSFNI\/L6aNuJR7f0arOG1T4uatzJ6NCrJU9xS2svuy2sPuDDuaVg4+jE4\/voyhse1OOf1YhF3pWINtPVM\/Q3YLVDmVqkOyk8EM4w0JE758IqubFe6qZg6ZFeM6NHhmQJ1Pg8Cpu9ItM2rb8d4RRhHkwd2en04KVcvE0RvLb2go4PTzEcJEMSw3odUqCBjaRlT03w1eJE3KdV7R25IRpQDyU6ydz42I29lms8a15JdsYDP2D7N8t\/IEZrD0lsFPdo\/SrbLtasaQwL9UiecrSO7FR3nouJYj\/WxUeru+x2DjjGyeWUG+3zriUAdbwzJCc7tc0Xaf2AmB9t4nG3dg2oIMapnWmAGvE55LHImEE7o2+UwaNt0FZmLJi5dsX0NXyxwpLYDm9hf+eDxrTn2shOzN8WXeLdJP7K8ktBJm2ZOLgTU83Kaf47W1pWPkp8XXbuQ+JdWTLOFcHu7iaRJZonlW6feNNBs8Gr4S6zqQr7Z6kmHeMjGJ36WgIdKp7QbozmmHzvcS3AXKhT3JmPm5T7ef6HfEFkd\/hltwkF1nTtslqm6ppRnSA1se22lPG\/pHn86f3y+7Xgyl7A35SqP\/eMH3y1vjfjYCyWCi\/m\/9e9LAAAAAAAAA==\",\r\n        \"curdecagoles\": \"coeurdecagoles\",\r\n        \/\/ Compagnons B\u00e2tisseurs Provence\r\n        \"compagnonsbatisseursprovence\": \"data:image\/webp;base64,UklGRhYbAABXRUJQVlA4WAoAAAAQAAAAnwAAnwAAQUxQSGQOAAAB8Ids2zyp8f9dz6uqurq6uq22FzUd17TpxLWz79uYfd\/jSOIEzSrG7MFkFs0sSjIz7wRDMpsoohhEEUUioohERBQJShAJEZFGGlGkaaQpHh4ebs4\/Xq8qkyAN778SEROgX\/3\/q147JDXNx3Pu+tHDk3TxgEXP9Tk3bFlBxOLAG4Xhym+okvlRZVZ+OFI6bTFlYWjHVckwxN1iEczA4DU3\/Mg9eCYaQDQsstwNO\/QyEeP4IfBmvr9j2FE+HI1oD3XfcBKitz8OOz60QJVul+TaZp8jEG4cbnxGCGxzkuS6t7Nh2thhRvNQDKxJlG7u7LjiyuJkN7woQdhbUN2Jhpljz7BmhJzkagw7myZckqjo1NzTWxqeJJJU6FwEHClnObkLcVIukWspOylJahRG\/hwFyaVcViFxhRoFydVwkiq\/gLQbsYFqHOTqDJeocCE5SQ0FyZWVWXQFJxWcVK7Dubok5ZJiHXKq26mhDud+GVrNEPg4NUNquPfR+7pTSddzT91flAoqjejqufPuLsld\/+CNY53UOXPBWw8\/PDGXMfapeZ9cnpGfUWkrlYpdU7rbbpr3cEtWcslDD1+Rl1QoNo6bNue9a3OplscWzS79QubigSozJJXaSvMMYGm5OPcIwPlH2lReRx\/gn+g6CJydKj1P5vHekeO7l4HHdzepZe4RMtu2xx0Ai5NcW8OiPoD+7sIU\/YPTAI9Jo28Co3\/yL+JKgoFxfrIkl\/yGwfHXLln5bL4d1j1+51\/O8gcle43FPa8D3DDqf3awSb8Ne5585KmPOFtuWM7zHcWPq1\/m9ASnr7tyNZ9P0wZY1\/XqaSY35t9g8KEbZiyF2e36xFh\/07OR69Rt\/XPaHxp45OdLNIcAGH1jnSR1EK6Z1aZiV+4wLzdK7n1\/tqKNrB5V7HgknLtmTFfTdkboObqUjGxayU7lxhQalOwfyBdWhGYVm44dLrdsD8+2VPQEa8ujfrTxhcYZE+dysM19bTfmr3\/pwdNblbOPR0uF3C+gHL0BnGtX5qu2XKWcVBrNIaXdfhbq4+OJU1Jil5JisogGPUenVEiSvkNKCl35Rx87POj0776ypG9oc\/1fJUlJBXbpUj5xSnoTfeHb9VcKUkvzaSslnLnrlqSQ\/\/mmDAQAX+1V9gImKJ0r2JIMPW4vNqz9TiqoGfKSxmeMUvrrOFKldQb0OW1kYV5jjh9IdHSxJHX6b1W2Bcq8gcv1nyNOkvad78k\/cwr+Mtr9fJ\/iAQsnG2u8YeMmpXQJNZbZdHd4vwqdamark9STMTpjC52N37Ji6tjQ59Q2MPSHD4ZYLB1LFV7s268K\/\/ldR+qxcJvWbFP60JnWtsL4hzbww4gLy19Ax7JjZmDB36CarzOvqSznNIbDk5QoGX+UFwsLhxoklXhbkiZTbHyOy5VU1FI90fAyV+dV+HYoX6hsNbBn25z2HnVS49y+3bnRfDNmSatcso27tOKoa00NSiWp+DJfXFhnfW4NmZEPEz3XlMqVDw7M7ao0qN29xt5ioVR+bWhNqbTrkJM0lcWpy61Bs7nTNXe1fs5HWuGfL4x7fHeYf+eS\/nBv28RNFWkHiaSEPZq2l\/\/1JA2zZvP+JH35jZykfUOFm6YmDaPnsLBWrqZLKncntdr6qxGI9r8xj099o1lS0z2XrYbv3v9ix8pRbefxn67ZNcjXTqsPS8nE2fw156TLKOopTh3461cwu6v5Qfo+2e0J\/PE9O3PNTY9dVeq9+\/wSSXLV49e0TAuwesUgfTeMKm3epfSRc+VbOLZsW\/\/53lrVmqE61OMyGpIxP2CARX\/rpPWevSPzL5wGLJL2ZzHSIbyjf++c\/ofjQKju\/ujSq4Ibvz8AxLBi3CUjDpEZyT6xC1hbkZor5+DACTaeA2KVAQh3PqJcecOB+f0RIPZ\/MjWLOsOLWUnbBgJAsOdu3kIcYnNyiCEzsBgjgNnxM9GMH8Y+f\/MghEDmKNe6k2gxBAwatN28GWAYQ7evMGI19o+WnD60QTh12WuxamBktkjlNYCFaABZVhvPLRl6Aw8Q2apLzFuwlVpknjqNyLJlROPb5tMnrWoAFs+HeZ278GQPxRe0hUjaIsEq3TZE5EShTXktwEfra701GoAB3h8dldtBlWwLPou0YRDDwcc7R98zvvy9N8DijzdN3mmRyB4tD4PeB8sKoRr\/vZxIHPrsDEY6eIss2IYHLAYfPIu1NSMGiIOhpxdP4C0lidMivDGkthgBiwCRSitVAAs+AHVlRx7OFR68excRwFul4RgGZn25XuqNAPteJOCZ\/VcLgAFUQ\/6tGKjpQ2cNOH0Y\/CYzCFSUrnEjntrBZjXHkEpb9PXYyZvXEwlUpNJaPEC0fVd\/ShXAQkHPPHfDM4v3YBB5qLX1vtHTqeL5zeN4zI7fNvbDKqw8hhGYX+66fjl8qE1EYnXCYxuKCxYcOj8ABN9a30w8gcWXEcH4dhQRIutHPPsVUIcx\/+rNFi2ea9GUV09Ey6B9GlXS0c9qdGob1fk+nhjvUHoLEc89s\/FgLM2p964nngoRsJPzRkxN2h6erc1Es0PSVXldcpO7EW\/xXKm+XjxV7uqMHrC+e81Se3NSz46b6toDEDki3Uu25+bx\/dGywuZCYXKVngUEM19QMS\/tynhwTgrDnkpuLyWDZqT30qx2aSMR48jO745uGViiK\/AERl1YZO3c02aYnRg\/aKTP739Qtck2CCwujfw0hFRk\/vNnMCyDVR3tLxMfno8nxtt1+yRpC5FA7\/0xAET44eDEnj8SAIuE1ztKWbW\/z99FINB+YbUjbxUPWAQMWObqM0gtanr9+2iA2YHx3xIxIoBxfOUxo7oPM6qJ0ndTJdi8cVQDgEUG7lDDD0SAaHB3rRjNQuxvvD6jI+Od+mIAzA47zcYDWPScerQuogGRO1prcLpKxDAyjdpGNZdxM1WMY8kVYBEgGi265NR5HwGCp12bUxZjCCFY++N1XNr4QtZVGZmemzq6tJpqMIAAdUWw1FFdhyc7YnDbaiKARTPb+jmxjlupmp0slLuvXgreAB8\/kW4CQgA872lrqvY3pzEC7ZJumLWOmJqSEQ0shqKkyseAAVioi3XnMAj8oXIyWoZh\/uRYPUM1BVQZ\/Rz+Qo4mpZI0bieZcWjstaNv\/d13YGB2KreaaOz\/atNnf9m48Ul9QCDwlpwkjxmDeplAzWivyilZ+OAfPZF0HYGHG8d8YIFo27un4zMgsDqnG87WqLJd8+q6jSqem5Ml6+7tanj9pAHEA7wv6YrlGHim\/IMY48YRyu7FQ7RnpNz91Yhx1m0iErjvxRgg0vTsyjuub8519nMhnsvcyOUWCKxs+I6YZXw+tkkNp4mGmecvTvPruokqwd65Aw4d\/4seIoDZG2dY1tHhchsIeOv5JxHPBzXGWCC99NHPMDBwK4l47mzGg4833QFLv17fofWE+sB2gYHnwTKRzBD\/mcvl1DD6GETgWUnvp4ZyTkr0MFUir10ThuDIykEjfd4iMLivDzMbSFYSIZ7au3fv3t17Hyr0RwMMiEC0FdqaMadpdTSifZ47XMV\/f+C+PuxCAANCfHiK+SxPqzIv3zeEP\/eYJNePpZLUTiKB3Evmzcg0270diyGQtng+2ZSqs+lTCwDBR4AqrXoMT+CjxidOGxjbThGoHeqyCBAiubcJGZFTTVkdhRFjKi0ukdSXpfQ2IsYuMLBgQOTL98MQYNGgyjq3FwMsxhir8Uk1EyK1PV9LvXg8CzX1VDCIpC16AzOyfO3o4Xb9k5gy292dz8rlympoSQpS49mq9558Kneg6sNQ\/PTuQbwPZsFX+a4yC4gxEmNgUaG4LQx570P6vF\/QmUwCHzJ9ZFdeui4O+vP+s6Iby1Dw3sdoFonRPPwji3rX9EqLLABhMI7XT\/jCOYDtSt98lPRMTT9JzW3N0m1fAxiwWL1rN1L33e+M0X3nqd3fKukq0scKTgep0wAGupQ9LXtG79L3WyXNxFv0nKjop8z\/5epVT03rvqkoSXOuWTvviZuUdLY9+MKqk33vTVt8qSRN69m8bRMbl9yo5Ju5\/1kwtXfa3FX\/W7lq6dTe2U5Sw\/KVK1etWvV5b8VJ0h3fPXPtjGkTkkSVRS9Nu3vHd\/851\/cl6\/f8eEtOc7PqdpI6zmDwwmj9lK5hkiSVbihILj9FTpKcy0vK5SQlqcwRzU6SOtqLqvda\/ZSdRRUl5wpJUZIS13hpRSWpKMn9BJnTtvHtWA1nk8r4VuWGM0o07L20Y7iTJMOd\/7\/POaklX3EX4Aq1clI+cYlUKKRcwRWLUmtSVy6VSy5a5RNnhnhjkrTs2PEPp5dzcpXr\/1m1AzMK0vi+Hklb3pEr7PbGX6XCjp33f5XTkYWSXPHW\/eHcO12Nym8\/OsB+d5Eax9bfDWyQtIZ9A8dHdDU0PIn\/4wb8Q01qO\/GBNJ6xBT3C8W\/m9CqvzSwc2di+d5+TrjrC8WdW8FZTrnKMI7N\/e7Fqtpu0Y7eTO7ChOJ+rK7lOdlWUK\/8w2KL8IkruxL5il2bGLmVug5sbmzZ\/IelFtuSlCeVcQXu2Neii3cwP8\/ixVVp\/6p\/sLkjt9EjS5OoMqWJ35OOjStTEj8ue73bSwTULeSw5+KWkL2NJNfec\/GjuwxerVs6cXtvrpJVwbkY+UW8ckypzt6QP939yPq+CmuFs7HHS8VfzfbH7zGeS3jLV3saAf+9iledyNTsnbdp3xZmD+Sa18lleyu8466RkArwqSWWuk5Oko3\/Mte2CjyW9Gu+XlHOSDq1zThfrBi6X8nlpy3ZV+I9rdV9yYNL8U8yXJLeWkVmLZ5VLDdKR5Un55SE2Oul6mHPXvHXX5KW9u2aOG9d4kerkrrLSO\/4tbYklya0DGGpL6bdbcqlmgO9z0tE\/aMrIlwY+lzTxgyOAXTlC+gZgxEXqV\/\/\/OlNWUDggjAwAAJA1AJ0BKqAAoAA+eTyWSKSjoj+mfZpr8A8JTdwYAAzeEg3n5LZq+M93v9S8w\/dR055SHNfOF8wD9RP1e9Zb1C\/t76gP1u\/Z\/3e\/Ql\/a\/UA\/nH+49aL1HPQA8uD2U\/3X9Jz\/\/\/\/PPLf5v2vf4rwh8dPvfO+yR9XGFXhp3v\/GrUIdR95vwnoBe3\/3PvuNRHvb7AHkJ3n31j\/bewB\/Pf756qf9P\/7fJl+gf4v9pfgD\/mn9p9MP2O\/uL7Ln7J\/\/UsP+75kTAG\/j8yzpGoUjDr\/8kPsbjZRXXessmziCQvRf75sN6h4PGfUnklYVi+ea0eSq3ESmf2Xu22WSwIQGix+CPSmsNtRd57xDI7MAddp65DogQwcZJaRPKSctIkQkp6u+DwqY0sGceOcf4BaIp7HfZtXoy7u3ToAO9iaOoF0Qx+y4PACG3eIw7KXfqZBqvu4R95k545db3fuzkOSlrJjn6+ALBSgycALiqQYyGEwbq5MqQ+lc6VOR7P+qiv8lG\/1v1WZamuaGp6FlHFUhJ4\/PROm7fLs9zaS+s0P6LhKwDzG9C7d7958eEVsj\/4QtL5kTAG\/j8xIAAP7RxgAAhwwGzD+Nxd88Zt102jhc5\/mDbHHzzyEKtC6VtZUkD2cYHVHEj3lW7u9JcoyTCQ2kdkVFkTRdkelk1BVcSbwQsZ1o\/guE8+hQ\/46OnH8Ji0gnGDLq\/P51fwr1Qph9T8UiUzBvU4WfIasHO+\/DwMZFRQINuzKr\/sOGSPDdlmsBnLslSYYivBST3TsMTOVQkI1ZIxi9UfxL8Zk8rEbkDSfd\/YVBGRAPRaImSIT48yYkx0SYZW1DlyvKVXwJ2rWxvWW8k6ZD6Ri3\/nAEFtQ4eQwah3N8O8SZNS1ni8N9fPmnXWDknxR2WBtXrDymiNNNqcSHoNHRyw5yD1FjkYm19TQZa+2+4w6Wn8Puaa+w819y+05EIJEjmo4bMo8H\/\/yr3o+zo+Pc9Mn8inzKlnnwfFv8395Y4qPtKczYadb\/HvMJGU3YsekLamHIe4L6yuF3Mo3150qWyMh1GAO\/dF9PC9ftbj9kPfPseLHSh9N9J7Iqx+GYf6bKNQ2niIwtI8aALyor5zyJyXM2Fm7fk6MQaN6WLVo\/AictwUkrT2KVFdOxXQ2DC2svzwzjgrTL7+bfc775RoG4Yes+fiEMa46hMC9y\/VnVNr\/o8aiVnox+k8XXOh+yJvvdCgu\/azR6DJa0ihgirGU8WgryQ9IXTX7U3c\/YfOHZOUljPiUa5FoVaLANV6X3+fWc3GhC+vE2bhjyjATneX2+NfTi5j5sDBoU8\/kWa5fgghcE3K+aqDbMrO53uHGdTxhL2odBJzKKnLYxLpwcU8\/zogrb8mg8OEF2Uk88eIT91iA3IUgmng8hHXlasxQk\/rhrUOjMf4NiKwTXaltSu+rdblRwHRe76cd7DPSwzMeDXEYmoS3YCNFjMZ7q1+Ye5ihCN6aBQp\/8WO+L49eLf2w71fy1Apgsch1illj3iwbu9b7NlpjG7fSnYMDkSOLXugQ8Pr\/BTBewINtGPremlod8t01VcvopwxhoLLBLLPIIm7XOHkYcuCW6OjRp6tpF69AU7Z3vWTgFjCzJzBytFm7Ngk2SHtjPrQAArMwijYLU\/5zpF\/1Qr45F5mz7Ijh65bOBlilks03R4u+H9v3OJKaY+LcDOrDnoFxwylD1kc6iZjHgbQZX7305OmczIWlYGXtlpwz747l1w\/PdGxy3IXVMRMGPBdM09Rwy97GWPgFZVvK+a6vrJ\/Pkbq1K78N\/p13aDPldnA7D\/aaQd3JztIMKwUFbHC\/P7znv2u8tB34UA7WD4GzUHV8tk+bPvSjMcBjrv9kdtfF1gWkkdAz92DvVLqbmv\/ksjL\/2xVf7GZwyc1EAFh9bhMcyFKvfKePzBU9YpywrwbN6\/sHdmE4s0CfTJty4FAnJkkjiAHiiz\/T97kw8mzjLG\/J5J\/6NxSPoHFNnJikWM44xFK0l\/TQ0KnVz5+wh0Rt0o4\/QATwkDNu1dh5gx9NRMu8oftU6LU7hv4q067oYAUXfBAgYj7G6Cp+CS\/Df8lM0Ezi5WMJ+t+eWfIinJftHy6rsNw0MnHnyU4r0oStVXU9ayzbnc9G4wqs\/ytjBZ9dJAC\/CsisbEC23g77FFpH8BsrJA+Zu4I2dIJr1P2+W7uAEr6tcW6bNtQpLQPUJwJEMC8OUeezgKT2Y80hHaW3\/IIulHUgj\/1ueuFAvArT6DqNZFCqcjf+qfZGmpTIsHG0OjWZh0ad8d8rk0sa4enTayZFe4qg+FNj+0WEJ\/wKdCK5pqGzP+2kNR6PC08xDtUu1ENij88epiUNZyZ\/pQX2ySz6MW6hMtiyrh4xN0JMQLw0\/kjHpiO7cMjkyFt67l1u1dqsqhO7SG7KGvttoxUvYP\/Lu6h+wyAag4kitPp3k34Zikc3P0j9+ChKUOqj0BPwv5PEHkSLiiKf\/UQ4jZrj6W8gbXWiTANgLfbD0JfsWe7xcAkvRG6tHdOnCSXBD2WLSTqx6\/nzAy\/2oU0TB+vzrdfR5CavhVNWyDEIkRcjgCX3l7FURjxHQZIDOdL+XSFprBIFaEClO6uKnBCo7GvklwuXZyuCHHOkDu69GZM5Pg3NxruqHkzUWsvrZN4En6nruSSB\/6\/rlpEeC7bTa40i+i44+pFO\/2Dgim8HcELruaOxBv4FMKU8no57jTeqrPijRB5OHWNlrLH6XnUBkFtB2YeNA9K2AL+rRp3vkjz8+i2Gy6tZvoI1y5CXAiZfdkdcez52\/R7+V8KHZmt2dLGb6hv34m50HtO1Pc99HZ7yDVpzCaTtv2sl+Bf5EHP4vPGZah7cXWpZgbrcgAijmmZ\/oD3QhYD7+Md\/yN\/fVUMVkIBvwfvOq49CEETZNZFvUfZPfqlm\/qiOzpymmAoDalxxMtalAtnmc9RcvYcYW36A4v2ovDzEyuDhgv6hxFHIMRY4iZwzf+O\/z2Dq3ckaPfR2m3w2BgfS9CXY4tzVokL\/zNlJcQijdP33BA\/P81SF4mCELXT1Z0lKEGtHxWuQapt8210MrQ9kDi5QZRLxKeb5FiNWEvgc8nKakGo8v+dJqXl3ds83OobP8w25pKlE1NT\/8urMg2Xmnol3\/4voHhsyUUQy3B2vkOK6cQ2ESAPvE+3OW36nvmMAMm2bzxrPWdiEmREt+OjsTW\/16DyfrwqLoBmgsYgAvEoJbBqMEH6oyBeALKHwhvzHXxJ+ID8z+QIexThFTuZId4RaqhSEyO3vd0BviOs9Et5vDGU5mopc\/GvEantmOdg21UCUsStEDBiUUwomfHztQ9ruUNZuEgfvYBmDwSaD5oMcQ\/Vtj+t0aBzyz+RT4b5u43sVgYAv5tUP5uICBdmfX3P5Ft2lstrcJsCGUw\/uOwkQVdp266B0E4\/YXbzvBDIqX42hEpbiljNXsQahbeAGjt0NyYJs2WldAtiUUKtHGBIZ3DlhpGHkegSEPpDEY4KvbfzdoyhBdXlwmS9mgibcBcTe2Gd4p2WH20uZYZD+cLw62UBvv6ehCneta+QGvRdq+fDRds6ErHAVDwJWZFR3A5\/nP59XtrkKcxTDNumMHmeA4HUqaRfKh77D2W8lUxjbeQ3NKo7gY9lHFWpNciKgEjxkSj5+tbt7g8GYsl5rbPJ\/ESfI3a\/n\/g\/UbA1o\/2VerpJi0+r\/A70N3Fcq80b5Xo4atyKcZ2r+80wjYthiueO\/x76yfmwNWmKqDSD54pxXF4W54OmgTzkyiOdGbf9ZBUBtqKCyzo0iwRsKqZzGzMvbh0YU2Lcs4siytG21PCEEGooAwHmKIjviUnwghxpHMya5E+UaOzq\/m8sMZtuR0svlqQshS2uepTksZwQdh4ocHjMajEWT6UjDJ1HPn9YKkhpP7yVJzl07G8cb1Tvg4+7TEASP84RNp7w2tBsR63AJp\/NFW61q4835daqZTevooWpSIkg\/DLde\/8APo84nIVsGpLKGrMSKFP59fV4G67I4ojf4xCdqBFPB6ZOlxC4cfDUY7bO308IERaT3\/QDEDXNj6PQ8jNaRT6XPPs43ZmKVnB8PWvFWFWhUc8QuEpGGC\/DkL45CrvFpfciiakjuupxFGiMZO3LiZ7vbC8fiuOB8AEilixCTQEAt4AuTbGG0qqruS5DElg+AJNtq71e087aMJKue5M4144Kc9hcOFkH3zI4QD6Nuv\/6YApJdb1\/F9o8b08WVP5eNWTmOdyldsk\/wGpflCxFB+LQBoAoxkIo+ojBCW\/AEt5nRvvrA8AAAAAAAA\",\r\n        \/\/ Delta France Asso.\r\n        \"deltafranceasso\": \"data:image\/webp;base64,UklGRjIaAABXRUJQVlA4WAoAAAAQAAAAnwAAnwAAQUxQSKQIAAABz8WgbSNJ6yx\/1O8dg4jI4Ue+RD4EISsIISIikaQpSVNJKaVUKpWWdt1gff8nQ5KtaMxsz1rHxpxzj23btm3bts\/ad21PZ0bE9++bruqqrKp5dV5E9H8C5L\/wj0I5egrSbrcHze5HnTgwu9VuTym6\/2rw0wa8hAKvbnSun0pcRB\/j9BGRRwisnn0OEPnfFGICwOHZxzgY+V3kO1X4tzVFGBubGf+Y9heqEQx04tre8+4vtNZ9OzV4AGC+\/IxCnODDP5ls\/H31hyyUI2+7vvG2uk4wS37Alv5E8Gc6aqbOwP5FwMtNt1TN+OixbcphXaLzdWCgBQMIE3zQbLetkkOJQOTRRThGblfHHto41mh3\/n7c1+oanIGO5ppsD6\/bM9Zk70ay1Sl867SG6nQ6C3DXDMC3hwKiK1tnNtIxDhi5I+P7CwAc3mmizz0wpOuumafsC0XgyhujzfMqPkzkLZHviEWAwnjTHLqv9RWaT+OtImPbsELQwFmdZjmGG9fi+UBEZNqO4IWAsnq0UVYxtPvPLRGRZwkFoex5amZzjHsMPkSf42Tga4SCMOCZblP85JEhXdfPGySvYwXh5hx8qBk+RBlW\/WvJfqUfCwKP8NlhDTBjIjK0cXkO6bsXBR7Rs9u19xJhKGeb5D2N6IWBGr+O1NyVKEMHzs0lJ2JeHAS4sd62mw3lcd9x+eRUgpeARa7v1lfrB1OGVv6SYcexMkDZO6e23kEpwJ4bSlaYl4Jy8Iiamr+j7wUY3eHGCeXg8G0tzTWc4c2XFCCPqZUDfT5fWD\/z95tSYOACKbBDaSicXzfzAkYxtxXyi1tZWJ\/re\/XyGYEi3f8\/UoRcQygNlB3T6+R2Uwo1FkuRHYwUA9t69XEOkaIW5euOjo6O\/\/T9XySq7Bqri\/afUQty3T5rUO+qy6+66gCJK1vHauI7lKIjz0t7xsw\/luxisrmZqiWDsqdXC4fuD14YxkN\/MjmEEJzklS3Ta6DtOCU6qJk5FVV29ap3H0qpwcj2CqBsHanaOH1qPXJtxbqLzFJx390HS85tomKfoKQrN4f9pK\/hs1aVTtgVPAU3i\/bHy19uh6W78MRQjum++NWD3VY1SFPJ\/PrmG7uLzFLDGLi4U4HWU6oJuGF\/3dsbG+tNE5G1GBV0VVOWd9M7gkD5Dq8cJtmnoVR2gieTG12pXp6xcUzyvkmoTtR3W6m9TKB0i1tHJG9vqVp1iMxPrLc\/UL7ymOQ+gkh1gz8jib+Claf+luQ\/0irFi4mN9Y3y3fackG8DXiE9cHpiz3hIAHcW5NpRJSdK2qMaSVJ5p5Vna5XUXknsHSwNIM\/FMVLdPocktiIZ1zNyPEWojtnqXlqnHYwkGvkmxwNVin6LpH0lIRXXlTOyHqqST0ja3V1OsoHT6iBwSWKjpORHZj1cHbN\/uol95pqOcqdI+8jDjuzKPdVRvpfEvyUh6B\/15j\/A6jfXYFVxOyKxacvNUgpAiIEqO+3ELiCQdjTAolUm8oQkfrKnVnXv75yZWGst3ijKO5J4m2ZVvm4lZ42ivkCSb3tZ7sHrhLvTe4FYUs0a29L7qKywdelxW\/EaWZreu+W4bZ8psgRrsvfKIfCknHAgeo1sSe\/9kjDrfYxSH\/Zgem+UBReSvpWgjCU3tsSsLDQ5o3izH7vJHU2gbCdxY\/u0tVhBfR6R5N81Ky155UpZUpjZwvSoX6Xb3eBejPGFZLfm3rB27edzE9BauoJAsZG5Ob5h4KXlUUed07y4Q7PmEcxd+9zUPMas37HCDsn6XCOTjeaBRyk8z00hMlhL8zrCyms7nkFp1LFS3kMaSGY9Xj8lZh22TT3LSjvWYwNtwclZWusXjY1zdr9PprO8NDkGa5rW325ZkSPLk0V4w5yMkufEBI4L\/YZZa5ZHj01AFqHNsUDkjBDIjrwvKR6+15rjGOksxfL4l0nIdR4awtkibZycxoVpdLabN8UOecI0h7NFEr0JbYpt8gd5AmelIq\/RbwSCnvpyHo\/7j0lm9gG8EZRfl+BZqt9JuvM2960JhnVmJST3o9oIZjk0viYpt17cD1Y3GmP0YfKabpDEZ9y5l5p1ylXOSE2k8ytWJ85HTz\/z9D68INNV7fTk+Il+nej+ERFZgRWkEx2p4hKsELNKBB4UEdlUlPK4VHLBNvMiwNwq870XE\/0Lqej1FoYzXfo9VcyYTSzo8Kq0d5kNFZkuo6Oj36DJ3T9p+mb1Aoy\/pbLXoMME3pHJHxGTe2qSPEl\/OA3LOtXprA+eL\/CWDHwvuRjOHXBBCMNFrpYK30o\/V+AtGTi2QT0tZ6MM3oYNE3lSKv2hW47A2zL4PiKJ2YGMORv7ns\/04IxqzSD4IA+8IYNbmCemXJUhj9LPpbBAKn4WMWAhGLwrg9vfByNtC2tHslpfMeEZFgkLpfKLGLzqNckcJ5J45E7J+wnYQIW7e1KD4zdP\/HnTbadK9vwDkcSVtyX\/LbsZ\/O9FUpOjLcn9ASEx7zNnCOn2Pvnrt78e6rWllu9CSdwYlyZt7zVPzFkhTdpZZEa2pxEYb5SvUVIPnN0g3Zf2mOdZvRcfwjMtRs9zVoN8wJCnfYUO8DBQKbRRjth70MGyHMDMVMncuGnjxo0bN2z8a8Fh76IZfmZzzN1x0MzIdJgIkcm777nvnnvuvudyydk+aGRwXnPI8yj8Ggc4u9cDS5bdMWPWiAz\/Dhnmf7UbpHVN+PGkeQfUwXVDr3XNNRdJ0UuylF+lUUda8ikRUL6XMk85EMl6qVlE5hIZ8GMplxEyzDtN87PboKWlXJQVuF+adh0DjFNLOT8O8rCm1zSXaWCAtUuRNcEAn2CONO2dZNAr5xQ0WoQXW03TU2Oy+W\/tclqPAay\/XRq3w6DABVL2jMOemTsizXtBjltKa+pVg8xXt6coP2TYMpmirrQBgSOnKucRgMjnralKaz2G8blMXUevtmDftqYw\/7UNVlA4IGgRAABQRACdASqgAKAAPp1CmkklpCIhLhl6SLATiWQA1QIKX76KZseJt2J4u5Ck0PZ7+7+6L5r\/5r1R\/eB7hX6sfrD11fMx+xH7He6\/\/w\/Wb+yn67\/AB\/Sv8B1u\/oJeWd+5Pw0\/ut+1\/s4f\/\/OOv5b6E+\/X8r\/UfG\/ys+9\/b7108Y\/W5mx\/CeMLkawCPZe6sgC+tXfp6kHhn2AP1m9Qv+B4N\/nHsB\/pv0SM+D1P7Bf7D+nL7MP3P9n39uGp5PC4iG7KDOambRb4YkqmReuHEtAYRqUuAXwAEiSl0X5At073MA+y6taYGBmgne3koevLSTmAv6QiKckBFd7VKfoMh+SWsfg778yx9i4eM4hkdtUj2pT3QN+1uWKeB6PHf0s5iZKTxsPUrRJc3uNG+bbqOxraMD\/\/N+66Dgk0qnQyo\/UulwQ3SdZnrKhpwkfLOyJq\/\/FooUQoS1N5w4EZJAFjd+\/LW+sD3reUdDPfrEvHqHxd\/KoybWeeqgWXfnXy5WGH0ymUt+WmQqSNM8P6H6tURUWArdN8WyrkrWy8X0qoKGJh89VcRl+aCoEvS1B6A9CpT9tiHlNVs03zustrBurXo1+g9bsDfjo9yuITV76cxiDifhLYwmeSYT9yCrILE6EO78TountSCgfp3xwORPK7qMAdjqkhTqbYYzIs3yw1fa2ra2umTjFSSAtp2Qd7YHkla4OHZl\/5kB2aYUpsCuN9fkhI9A+FOOlnWZuGFrpJ4AAA\/v02aViXooo1zd5wtD218s+5m1qKHfASnrKt5QCWW7IgocnOXoCNKjep+416iHWdsUduTCj4aik2ZfudF1Dfz3\/sirIC9BYb\/4f0LGSpZAVzM9OMd0wC+Q0GPdNeArBO4rv3S6+rucVLsAkSfsQMAP0NHRCwgwrHb8XRBG7Am9VtPnNOcvW108IKAgiP+CrcXGCVemO98qVygqlDSabyoVsZjDxs+o6ul6UBbDjyyj7dCBtkcy1dWH5S9gMnLcSoa9cx7pl+bCUDR1mxVBSwj66qACWtLz0ql0KCEzmLvAeGqYs5yFfyGhtdbeTZxPaOQsCbfl8X4hxesIX2HD4jKBum8+Zz48hIwgPSFJwe8e1arFdH3y0M6ltCdtU3np1YtVUhjmr28Iwt76uzTbvzJdgHoP\/9ugucLFQT393IqODcmEIriIy53n16S1qC\/See9vGwZQSyMa7AkAi1eAEe4nQNdv+m2v4pP8eC3cHe+l+uwRX7sAphnP+\/SyBvuHcQUw3MUScCgB\/KqwMIwac6c5xNjAHIbt9XWZ2GUtJzqJO4QRxOAT082XL5tHtPpYXgEny+lLL86sMNECnKLDYb9UA7+fPulrvE1sNQgnBNc\/fn\/aISFDr5W\/MFZSPKHazXbTCvFVlWoD3ltcIlZKeAbSLAWvZfjp0o+SJ4Lz6f3oZZg8s\/NDQMy9K\/6\/gmpbX0wSD8LLix7FO7NJx4iFO4A9xb+qZSf2NET5x2KYCh+fYSa11qpyVfOMaD44CiV3GfygbXeRDr75CPLSbDFRlgzRwWAex2cj\/CsyHimzbCU3Ny3z+pj3F6z0o2kdrSmB3ZYf8Mi9CctQGuK11R461ME8Z2sbRLK7HNjG1YqJs7P3O2TAhRelorQvsyWsmuHIhidqPhNqEW4IuwQVAjmI5rokH7MpjMApMVESe\/\/H1kf6BnLgm9fPc98bRjo1+oBt2viOUv1qs\/LoOpJKu0VIGQonZdfwwrNXBNs0jyQmhcraG0rd0wCfwixQDsPQb05uhN4lFvDsWF2RCP7QaWA2xPMg0+XDY7W2rj3izy1NxR1QBTvbEFPJW9x477ToOlSJX00c46FGXvjqoygYg7QzlCgiE1TZMdfZ+KdgwmwxRNDn7b3UP9xfzMPQQCzh6y8dk+zhG0hf+7TOGt+5nA647zAvhO8WdRFmVGPyb3anGJiuBG\/\/Jh9I4cvhZnrd0nwBJgORfysn9q5QxCF53nqsXMuRGDRTSGebi0Sf10p1HQCL3O5SSwlOPRI1R8jTMsjAIWLWMxx5T9nM\/7Nzq7kymvTpLf10H66YGSPJkRVzRGxT\/4tl8y\/iooQoOqmqDP78iAZb5+Zat3t0PC+RRsz5TqJ0NCjE+I2D6v7+qbyPgVyQu+L952g\/tEfMXml5F8y\/wIJWP+po7vniVIoUXUhIHCe5zE4S3Q21bYb6MWKEQhxGiUSIFIcEU9+khyMEuFHNa7UIpQUsrAOBYfgGltycqAopqjpWYYXmNFlDV2zPXGvIOOv5aFJ+GEoKwTZ5Yc\/9hOzevIn\/W9fdzwUQ8jOjj1OYJBBKz3VZP5qDTJNUadfztcOrswuZ4dyPIsmCnPjZ3+nI1mA0hJxB2xWRvuPxgUzn94+yPZN7AYKXT3vqg6eE7nuqnFMqKNalBcogTCAMQ8rMJLBBOjmXtxrUF9skV4hSnlO3pjzaeD11v9CVoq20yyIB1UEM9e4IjbBliyzf6Vsn+TwJgG\/dg4byNnulvxTX2ceN1xyC6fIPaXkZpHTGVvmbKiBgKQGu8AMsrs4V4oK2MryA2nrGsuBcTSiEFsIcpCo8i38IEK12sHUFprhjx35fl\/6zkJZ34wzaYCircI+xGi42s3hgeDx74mSq0A5uDmDZDF4M+gs+jBi7x6jUkSPn9xbK7YRGJfq4G0jc8Td9CZrSdqp1MH9zme2jJuk9LSbafUMltFxAivti\/wohzwsYD+Fe7IMk6jb9GnESdcUl57eFEkoxqK6NL8tiorvGhDkwBCqp3EZ2B5JEGN1lyJ3qVJF2DHqE1BmT+H\/JNupcH5d0RaWAsEV8Z2Czob+Pwgj7\/Tg4dUooBUxjKwA5oTkQ7ZY4qAVDtTjr7AgdDQkBf6hnq3BdNS3x2klSJQ0ZuvZahaHHUCuXbvlJ6cJybr2qtmgvJKzUcWpmUhfv9IxEhJzBhAypk5zkjIUmf47nptf39frnz5y+YAM6JexDszAJN6UqzjpzS1jdKZ2bXk\/Fm+GEbPeeme\/WY2QsveiOE0sZMIlrLOThF5Kqo7Cd8efOTZZqNqE0B19eHuD59z0ae37yGA1GiijZv+eHCnu+r1m3kco91QGpw0rtLK0Ee8v7i0P5LtiOso+x8XRz7Wy10Xu593y3Rde7sm+WtwHmXjKfnNALLOamqlhE2WglLBUNMvGngRpBOYCgWeb2GgnKtufEC26Eq8QIgIlgpJEoQZIUu0\/oL10Zgj\/nOT+LWsg8GMnSRamOjWV0B4jkHeZZV2DCnh26\/f7z9GvsEvPf16KSlb14gk9eBxPQF2kXcRMVK2IVdI+PHw0PFRAr+VEgZ+kf3WUOqudH1q4wDZW31rOYllc9vA0hCZc4rEY7JdKplAVuQztJHx6PCO8W\/UI+TOyO1lo30wV1sqYyqCg8nTPYZlMS8Re\/a3t+rzq\/rzDYtzGoGlcOrgruZXojHbHXlPC8WDrXkORyVuaPvrujJn\/LAkj\/eg2xOfrjanrylNIQzOs+IEhbWJ7T+DMcK2hsv1g2AzzY+LPLHvCstEIDrFtH9p7IQUP\/J\/UFsr0BvD9CVVIm0Qfu52aD+ZsZ4M+mg+o\/OhC3Cb4jNlJFsuqdaL7bvHT1H9npHR1hBHDQjycc4It4cAJMjXfV2E9WZec5Z3qf4fIrqXdHy5Q1BUB8ygFgz\/hnJXKHZ+Nl\/xGMUDGuK2aRqyJBMHWhvyQSIT9TMLPCk9lOcLJiGpP\/Ud8Lc4+HHhhAajrUut6ijn8fRr0iBd93sO3DH18Jc52mluNZLTgryROCLM3C5oGyAUAkjZnY+jnSJrSGcjNnOwQ4BScTjULqDlRaUZc7GNnf5nAJX2KeY64Bfo76KesgW8Sh7Xo4XMu97tAWa3CdUMJCk9GZCkclyKFQiEHnWpf9eImdqiRwsNodia6NEROLwdzAdoFgoDxs0PhOq3jizxL0xfmsB2R7DG1ks5T09L8HzjxmzPFFgqO7y3H\/Tlm79odlBqL64WNGU4buMEqxuK8v+uNsOZE4JOrsgeakE\/y4kiyIe8nS2ifI7uvOV55zGsRLLXeAsBBFs3ewv4\/Qd972c9yRsfEycRcs5zn1mbPnWF1c3pIATugRm\/YrC7hQH7z9cyJaLihd\/8sM8TJAoqxHs2iFWsyBT3SLKaXz26IQu+PYn\/1XnUIVJLe42HabF5N4DfFdHUwyk\/ZBLjGK9DoueTDRLEL0h2AMw7kznHZ9mfzbFqfrz3KgWx2\/SYLNN4XLc9rVVqtIK8g3hYkB6X\/Fo9F7UGCo6os+3klVQ8Vo4LFRWDbYSQDjWk7ZYM7+aDPSgOzbWTLh+kUK1ubge5Aisue\/MhzzqwGhgjTW+z9H4B7qd+g6BFSUJu0DQhIpYhcqBf6yilMyoYwrzSmNfVg0o2\/e0APghletRhL4STmjzGhSPk8g3J5Cg6cYktTftbrFmvNVgF6fxz0huBaF\/rfPcYvIoii8IiHfXqEGWPit4v0tcaHp1rjEP8RM7IOyG\/OiLcTyYBgI8hxGU3jZ5PnUx84n\/CQchkM7P++uCBvL6E+bpd4ZdnSfCR1vKKBZye0BWbgCNCNCf0XyoKYv44qExORIBjcT9qLw0LeCG+Z0tB0dVATPtQih5Frha\/NEl53WITZX+foo1OElzi\/9wmCFRhta8mu\/nHm0SmQzRqzv3iJMRlsCRzKvUkiqgqINfKYcIrwE4EOgSnpaXMI7Bf0kq+1Fz0XQ3OxFtkFjI2QSa4ww9lBBSdY2mDlu9GFsRcqSmFgtIADi68k\/XxrixmFy9IRxV6DwP9iaX73iIZnXCjy2HYqLHBGlqrmDgUCtgWEsa8zRhCC9ekvChSUS38Nl07m5WkIGxRpjBNBa\/QzdxnvkhQE5oYFw8xYVZkLvmWPv+YTkd9v5\/tr\/hckghbHewpP8U7Zeu2jPdluzA1WW24usnm9exxsCa39yCG9KZwAuUZnPHQRV0l2LBJhaTVj3oDUHTqIMEH2M5ycfwoyuIJH8tw2lM4lspa0o4nPzlOIXiDMu2m5AD8YQGVfXaIDfjYR+HLBAQN5uzaKGKUNz0T77urDne6kaCthc2UvudIljKIt7Cx2k3z39GyENmwc4f390eeqTQ3wSh\/Evv488sBPbPv2vbfostSAstLMynYLXGpLbnC4Igqp1CQNGQIbyzBpVnjQ5IaVke6wbJRwIxaxXclJ01HsOUbAJcCnA+f01qJi2su7x47FRlE1xFDVr927xxypQ4qnR4PZtMs88HgvnK5qmjuOpNxcYxQc0ST72VTOh6PCPa9TGT0qiC4Ut1S2NBDd0\/KBbvcX7PcpbCzoSzQSr20uvdNUm2IQ1AbC3zPAEcvEPXM4tQ5zMR8NmD6NEYTGJy7\/xe6e9NZX8yed5lv7IkQFYXy44HAWv4bocXy00hU\/dl1vfhi4f6+mFZPnugm\/GGheVeVmwfUYwlPViQ0\/TnElepwxT6BZcNU9ZeijALGl\/moJGMFkqQ5iqxEtHnb2\/svKZBxoVzAF5oxAKNBaceoJbl\/uY9zfSOU4VbjS6EXUgfqSwLT1lZoSmYBe\/AWIjMkUP63mAhQNOnfgY0y9MwTVA+C8p9+S1cixuorx1cuXwzf66n222XCplno3QALNsltnXT3eg2U9Sfj2E6EWtQ2N+S\/XYz3CcaKgCh6u9UiiT5lzUKF8I3oz4KRa8AzahGPDZhH02Cph8hKb8mpG8PelK6abXlhyYOKcr7jyGyFnrNzzJqUjY+sQIxmUMdBoB4ZKW8snXCfKdK091WNvRQwipdQBPSwQq2GEglgp3oAfeyaxP\/NnGplI+oTX3JY7+9bbzzNl\/seO7rQOT97rl+XWRk861xebysmV\/uv68XY6JNKl90L\/njcogmKBee2UH+CnLqRBteyOXm4mQVBFQedBni6AAA25Vzk9bhpZU0SnnCfNqaoWlKMCZ2GVCuTQVOEoZ8\/3osbvrOflxaPBEzGUAAAAAAA\",\r\n        \/\/ EnVies EnJeux 13\r\n        \"enviesenjeux13\": \"data:image\/webp;base64,UklGRjYQAABXRUJQVlA4WAoAAAAQAAAAnwAAnwAAQUxQSOUEAAABoARt\/9o2+v4CY5iTZh1mZuakzJS44C4zM+OVmRluzMzMRY89nWWmcjUazX9+B\/2teGNL10bEBOCI\/48cVHr9TeZsfPSv5GyQ74WTXpvmQHydFtT1P0w5ENe4hb6i6REHIi2wgOLSLsl5YImVdYzBgS614B+BM\/RsbrC2SAKUStOw3+4k0ZKc872WxlXAsxiAtBo2n76TCTwnN8DygAfimoDdwYeYxYql1rQY08ymXI21MSxmrLZUnSvK6YA9n\/dsLpsdRnMEjScDCASA4hXAStWmliwYy7CiXCaQTpIYY0z1MoasKkD2wzMOm07pk5etUGPBL3Dt+SkcDoe\/\/nxrdEX6CJMYk6YKJIkBiv1gSEZ6qDWW2EsWD0T\/3LozHNm+b\/vWyINID04rtiOsOybLQrECD7dIlj9BVf36XABMsh3Iy+ZLMdb54SWL3KLOn2KeqQoAaLjWlLvJZSNA7vEBEQCPFasGPbw4E2LZ9AQttRWwwXVqLM1s6JrZ0DRD1zRN0w9MAEB5Bsz5LHO5Yi9A2vG1Ih\/FeQ8z1ecCmHdMN4MdN61UTCgvK6sov6u\/rq62rvba7trjj62ury67vQYxs1a1MSS+moAuVQpcX+FyqSpjTGIZPTD3MwzLAOatlF0Bv+pyp519UqakuNQEFvFEJPpTI845CcfH8k1jKpsGy3ydDhAn4sSJvttDxBNZRIlqUEyuVc0wAINydhOwijQi0jkRcZ0SXcQTkjgRJ24mg55t7gfQr\/T6oWw1DOKciBMnIp7gIkp8nU5alQa0Zk4Bp5NOSTRpkGGUrgeqOzvR9gHnTkSn\/LxBFJzurahpIc2ZFGE6N\/RwxZDnPm44EYOfp2YTGc9PdIRIdyZL2+7WD3G9VpomzZHQgrLXSKetvRN3keFEOD1z\/k2avuc6NwZIcyI6tWduKXzq3oLp7iDpToQbx61Q0s6uH0b+k9xwIjo\/DRjqzGoowiRpyUdLdK5r+7QiqINptWwLFmh7NE3TuK4lRRElxQbU5rt7MeUeo6Qq2jgXgzNxDoa2BNd9d2ModFw6NjJfP\/yj2cdvCoWCJ35y3oK1wZnYm4IzMYMb57Yo0VtLYfZ2Qu0CxhmEy++rkGCnM+++9HocX3v73sbme68urW9oaKq+aFnV0OXV1cccV9Nc3\/\/sN0T0w0tvvj7rl947KlldSXOec43iW5OszjcOGPHVdYN0oWHohqHrhqHrum4YRMSNOB4wKpPVBaRRUtSoKlmdzw9x6zH4nCUuPsST1iU0W65rmqbpNGd1il2drE78bntUGAlHo9HdP3AS7o5Eo9FIdOu+7yKR76Lhf3dHouHf\/gxHZxv+jSKvR36IHghv\/a40WTE5tiLLClPfvWBkdHisVRanHiubpdU+SZa8QUmetdJ0SaPMpNU5koKkX+kF4J0phvXxVAiHFABYJCGOUkewFP4q2OASGaxvoxvWXUsgHvCYaorjAaBixcjxdjCAomNLMctAEQCsLQQ6Ukzuybiogep1dw\/aQNo5K8ckzNJPf5tSZKAxy4S1LB7KvHQJdqiuO39gmX8W7LQJk7kqX9Dgi4edMvyPgWKB0shs7X8tqBDMbz7OgYSGAGTXC8a6gg5ElgCktwhQzRyIMKVD5Fz93U7H2+N0fKNOB8zpsCLJ4SyjjQ4n964ih3PE\/0foCABWUDggKgsAAJA1AJ0BKqAAoAA+SSCORaKhoRKbhOgoBISzt3HciySZMhuKjcC7n\/QSLFbz9Dv+L3Tfi1+q96FPKA6yD0G\/2A9OP9u\/hM\/uH\/U9Hj\/260t4A\/kHZn\/avxT\/cP1h8Mnjf2j\/qfKr5o8Tf25\/C\/2f9nfN28K\/h1+uflV+QH2Bfj38n\/sP5gf17h0NL\/rn+49QL1i+W\/238w\/7P6FGoj3d\/13uAfxz+g\/577W\/lnvffsn+H\/0v3AfYB\/Kf65\/z\/8B7q\/8B\/0f89+5P+X9on5d\/e\/+z7g38s\/qn+7+5f51PaV+2nsdfsh\/8yLv0BKaoYv24LGPfnfpcuG\/bf9NZsepC\/rv7Tl\/4hUiLWI+pdF+3z3VyBJytHua4\/A+apa\/o+pwf9qfiIEFteDbD0Tliyri4Upb5mB+KLEwNXXfsShDXhpA0jzia8a++sLFf9cFhkeFpjJV7tY9ywRleaAs5LryJpDsgpJuvF4QcTNFsdmgy9PkPnOJMV5KrgPNVnWMjHN458sObSEOueg72s\/BaothSgGm6HPuWeDHA93\/hOb\/gl1fLHuyG0RQxbynXAS\/Khi\/bgsY9+dQAAP7\/p1UAM7aUgff8UDQVB2aidaqnftv+fn11v7ObrDpAQiquzsCen8ZS4TVywJWz6XDhQ7pvBbC40Qpu0YlLB8jArA1SOdlJiUJ3u\/HgN0AUWFudthqPYt6jfiPmtJ2j2BTg6O\/5mXcsnUbwGnqMQj4zB+\/nKRLBLL5o2rjrfa0zcI+AQ\/FeyHwVfo3CMMTgIqOAiIFQNt0Y\/QQiKA0cMdE9p1N8IsGfiPH1jZKP3S3c4kfVXmpevewNFi6fPFAG0B92cqVsC8H9jnrpp2m1DjsypP65snCwsXAyNZ41KJwdDrTLUVAh9uuRhrIJQUzSjjJ9hTsYZFZBLq2RuQd1LeI6f2Kb34ingofkuIEqa7kKxwl3e7uFfN6q2j47bMDvoCMggw5sc3ak33FhtcSeh7T3PK6SPaEqomx0gW+8qMuGnDFKXzaF8xWeacc+PB7pTVEka0WryCV2HwvTEY3CG+Z+oiGh\/4rMLcjkWFHtCFEnD80O7KxrjrFmGXrE1teQEAdkXAinDhNyByKBfHJBZgfIR4\/mbY4ndXFFXN3nvKz9E06ICOFPgRGQeZXTsAL8E5XAM0itb2B3fsAN\/hQzpie3uSa0g7Y4YWDnjBedC1WVVaAPOfnzhdjbBbKSZL\/ZDw6jsLBf9Ko1BvzvgeGUUkTbw1qj8eR\/SlTKLrTQPkuXOsBeNtko+\/JnDyzbapJYOkT9y17fK9mHc8ZXfFof3\/+M5w9\/4W2scVBOVuK5L8I4CERIdPKby0SX9ddk7YTgyZZ2C4gdv\/DpkehE3MZkjmpLGp59jXaxGYBH8LrDYdXxTA5H2kzWnT4ceyT55rdTDB\/m1H8vW8ZwAUtIf2BGLvq\/FL++acW1C0u\/HmYzLwycb5jbQyIFf1G+4oKmEstHT6uJhHdNPb5doAzKHMHrVzye6hJfIaGvzujVzSFq5ugGDlYZ+9aNs1I\/detlmzdCG1OIA6b\/t6sQeoqBTYmqdiD0irWIUvdmjErOygXNBxF1xruAFjuREN8YQPtlXntUWwdj+u+RrryqXNiowx7Z5yjHv6SIYcrgyC9NeG1FlFRb8NHVzhs\/sLe88MSZUCJr+S3771VkgNjtkQS085H6EXfzBH3uQFdsOvyLU1ZErdtSM95bK84v3loHsOjuh0VuQpRcBRXeu6FWRhNgettf5ONcifu588d9O5e+8eQrvWyR6gpbxWKpsU5s3mU4FUAIyXjN7iteQZRedi5z31XcKgi+eNR\/8I2jbOpMWrowrdI5KYewJBM1e13Kt+KFYEBQbQUyp67icntKdroV\/L89QzfK5lhW7zEv2S1aBH+o84BWzzZKU9cTY\/l2e4qGxHwYfBc+ZwviDzV1OSFcoAdx1i1YIyB\/M005X9tzv5zDL84qEd0S0do21Wb\/VoOGy2768uTTn3KeJBXQ5nP5H9s9jiVIkbRgyjOZRaoyjRsytV+KlQf4ZZ3fVC+CSvrtqSC0RvagfBkMjmrJQ4uTpyUEPot636uCVTJDrca27D0tDu3YelSw\/l76i84heqc1xi0b+Ho9L8BeHNwOs64sSkymQWCdKyvEYYvJulYVMuQMeejRmKf328hObn3iC+5w30UCZNZE3IQMuKLbklOsYEn8jyX1kwCd17r4rqPgru8VKftyLQSQEFU09QJWiEhl17\/h38NxHloFatLIM\/Wy\/UAgNKUmLgw3T180oAUWgb5lnTsKFlZZvINYYZKeZPlXH1VXgXqJvLsG5\/7VKx0zNBEQ8VeNnQ\/ghnmD31DIGWVP57INZwZuXDt5Y8IcZSwZ1VluUIsxNlW7LSwdDsoz4XmE3EM4cOAO8+h9+IwB93wtaQH3ks0zg7dglOGWbnVh5BZyZEla0r\/ks1g7RbJibmgDKCE7BqfIfn4GetTv28vTxYg6sggdTvxp6M7mw7x3kCWS7GAdoRpKX6KMFg9ghdy245F4DOcllJlYt7MpzhJpKNyhh7n5Lmp8IZOCtUsDAfDsa8\/JK5fSki+H\/hY59Py2wkejgPXDTmSZqfm2F5TfE4+b\/mvJuhcf4W1oks3D2QkaySXSoMAIN6e6Z2UxG5NxDjo6p0gPwR9\/jexm7TcjsYwLYnh+FmrqiOsDRefPzIHiXcOJDt\/Co1fkS4cckr+oytsTvmELRLkwDyyI+P9aCIfwS16QPX3KbRVtiUP+VnzZiIe0RG0QX3NDsoo2pDkarixDhdXFriEmgoG2EA\/eJ\/tIB8dV\/olcNkbJwxIsJsPTFcr5Ias35brmed728YoWwkT71HRljFe3h+dqe7\/J1bvzq3GUJ18paHUFHWYYxLI6jkVUxjq30M5SfLa66USXPcRigqugLgsd1jKR6bFSr0Dv4DWEDiOKvMbDE3HHxpvfBxdErZTTNIzwpwMHhZMouhCMkb1G9\/ULYi4xjZzOvKjrP4CWB0xHdgO7p764LwHwV2MoWZMVaoNKn+9GCf+fx\/sdUQGQVMaX6Q3D6rHH8o0Hvpgk5+QwMXkUKCEwJst\/pyGW6Sq5\/sKsdKY5sRAaAowZjIur34e5744IMhOBCjN4cfq1XI4ZR+Dwu9rNmNuvDNKQq6pAcqvGcyfT0YvHzN9Adk6Z6ZjHM\/lzhreZHaw3n\/kEEEKWe6632hE6vIHuei72rPrZOcHakh5DS4X9fJIAZAD2YoaIosLMvDarNoLCkyUvlQwmEjD3v\/y3YhVmWw\/CzyqwWjh18ofLNNh\/9i3\/9SalyPMC0N1FXfNuSGg8XUV9jCFMTdo2qbWyRA8iw78aSvvjMnMIoWrONsvlu88RtB97qxEp6H7VxgMNdJR6bOy8Ht8PXoW8fw6wJqSHf\/ynVsm6lopgSk9QPPUnfV\/Q7A9xuHegdkyaB5VcHs5CQ3H5QV86\/lmPQgFOQcMvUh3NYfOwX\/V3IG\/AGrj59k+apao9UXFd3cmgJmyj4WBvTMivf+FFiMSuO5K9O9ELbG2MwGEfjwl88XPToaG2OPFL2hsbw00YHhp\/KnuGyBO+mEHMV0Tu0+MmRwwN\/JiyYKwQD5myqVFd4IciwNI5o0Gm7PKKZF1Xkl\/7QtejGb1yTZPCMpV8k+uj\/4z3\/+233V\/\/5+YWx7HvV+qYoMl6nuEIhJJVd+3g8cGYASRrddBGHCTNN8iwM9AZQBz4HocAZqyLcpJStkTm1Mep8Do4x3nctqAYFFDCVjJlmAAqLL8T4cm0u2WTpIkZ5394TN2mYaUmk9CElf\/4Cq\/GfB6LmAAAAAAA\",\r\n        \/\/ FACE Sud Provence\r\n        \"facesudprovence\": \"data:image\/webp;base64,UklGRiAQAABXRUJQVlA4WAoAAAAQAAAAnwAAnwAAQUxQSEwFAAAB8Af9\/ylH\/v\/dnqdP4zQySWfiDGObw2ySmbVt27ZtK2vbtm3b9m5qqutU16n7H+ndQWNffkXEBPB\/\/\/\/P5NGxc85fumeP9WS5Ii39TbNcYXJRcumOJ9fLcpPlaukmtP6\/+BXlPLEsMKO\/pzd9+3o2lZfx7lJmzwQXJsYT6exmgUuUVCb\/n6O8nGcJ\/kPFU6Io5IQW2\/HlEossMnFm8ec89j+MgtMaS6zFMfttm0OMSNJ4cHH0Re4Q0eNFsaZtMfEQ+OI+sIoKfZ89my4XJhYlMuavqSp0tgHI0zHQrwFKXpHeHH86Xe5QJvWnsB6Se8ZQkJh7AHS7bXygoaKT9Ui6zOjv6c2QPb3dJgW+0Sul76OODoBO1Tk6HKzxZ9MlU5vVtFHIOxbmqzas\/cD8+lzuEDypJuBfQwstfTez8k233XzvNod31gO5Q5ErSdfZrC7pdc2j6kfpd32QO2BVzp1XDlDQVmBXBcBfW2+XlOcQ\/\/j1O6FQ0OQyV0rSc205zJi3Suuq4yrCsUwYTCRqgeMHrJDB5EUAK4QV808wkaiZEMmzssbF8kNncnVbt73rUf6s9EUvr\/9uw4Xy1X8n3ZvHkMak8Xkw\/SXpg2by7pa+r88eARj0VrE9XdHkjC\/qq3tBBS0aJKZNHZ0Xmfz2cwx67sKhcdkh7+fOxk8OMK9+Uhw5w41ljS1Hd5aiAd0PczQXSpO7mN+fZAsFV\/V26Oq4WZFWLYQ9vNgsdYGPMl3W1bmbNs0SY5K8G6cT1pGwMNkIMfdYdlPTJ7exg3vxQcdstUOwU42wkaKj7kyAmXpsv2N32ropS5zvFtk+wHGPhELdHwseqz4Kkt+rkSod5DNVQQbdJtjYzSvQzZHQ4XPtxNMRJheSJW9TiIlhnQMslKT9gCv1toFNJWkjRtQB26uMdSVpKxpcSTeaLFHZaqWw2koBIr1zCwEi7XGAvP6hYoh0hKCg3YZo\/5x8INC8oMoivf3LiJ\/sa6\/fSNVmplc7LZ69fv3inaGZ2Seqk3hTNeVPLrd4eTp18bZ4vDDj2DaBUArj+AETNGAFIWAITogkDmW5ZB5Rg+3HdlIYxw+xxEH4goDtB\/xhG6wwQDA0IWARCmSAa94eky4Lw7zPpDMd2sY7YLffHevXK25zzQQdxaZvMu3nYcY+OUG6KwpDn0mn+SM6kp1\/z4d73zW+MyTtwU4\/FlB6m\/R0DYHvb7xROtyk3Y16smNrPUuLHuvYRM\/Spj44SGGf9PSqpDiMznKqtSJX6P0VjtEldOmxjq1VH9KR7Kc4vPQrG2l+rLuO\/RS1E8mRwe8V8yV1ychjGky\/pAMnKH6OG4E9lF\/t9cI+nuPzXjWkOhRghreQi70CrK\/eNte5DgSI6Uj28uLw9I+srWPbJsFeXqhXs6DK28jynoVyd+e0uyNhYFtv2tWuBasly2qSvXCUHEvn89dmaiFXy4959X3rIdcAKfbx8uHNr4xZ+QHpPHaXM+JOh0nuLj5dCJO0S9pdp9VNwUeetanWMLFXZVdoLFD2VSJsJc7+k8QBE2YkRrksEcC88AFba3UT3z\/mJA5jY21hDyRfNf4QvqtlbZlwJusyv+9wNVqJCyE\/sUPa3epK0lzsWyVpAOteSa6iPt2cKqrTJtRqDR5QEPOjZ+w7JKnS0ZlEvtdEttNnr+s0Dlec7SXpGAK6A+I6OO3u+rFkpTXigKndYDQKWH3rl5asYJmR2lS+BdMnhFaK0zBkQXcfmNoNRsPYC6ZBaGTNWP1s7IYNNq2BqQttKFptnUqwhurAXlCZdvd6htz2zOd8Oc7\/\/f8\/uwNWUDggrgoAAJA1AJ0BKqAAoAA+SSKORSKiIRJKTWQoBISm7dX6qgHYyfi8l+TPtP2v+7eSDvV538iLmf5cvfP\/h\/YB+R\/+L7gH6q+dP\/jvZJ+4HqA\/mn9m\/bv3Zf9Z+0nuI\/Y72AP6P\/nvWY\/3XsL\/3D\/b+wN+33pn+yL\/Yv99+5ftdf\/XWXvHv9w7VP9H+N3n348PVnsdyt+j+2Z+d\/KL8o\/i3vh2s92Lzrwevqn\/C8HnUd74+iX+hf6j1d76CgH\/Lv63\/z\/6z7rP85\/7vLX9Kf97\/M\/AT\/N\/6x\/x\/2C7o37K+y\/+1xSfYpfMiYA38ynJHH+DjgNFr5r48tEtR5qSdmbphTqp+VhJc6BKL1uGNgieH81PUFkROKCSXY4f2XoQmmo\/G1E\/e8dfwGt+qpic2GWYxE9Kmua8EuNF\/oyvJm++IJIV1Np6BylX58fXgozKhqCL4SdwRHpS2i7ECvemJSz5NBsoJq4b5Ji77+tuCnre1W6r3DlsEKWrjUwnW\/35b2\/9iwXjPnoS2jjdL4GFhJ5Pk0pUGc4on2PH\/Q90SUIQu8gHf6pBNlBuXewU+kvOx\/wky38ynJHH\/CFAAP7+BtAAAHak0+FrCpR51Ti4T7uWJ8SqI8EJRZhyjgyNKsgM\/\/wz1wkfDTvwxpR\/MRndLyb9aoOINnpZNZDHIRTBsgX1bX5QDOWf5rPiGUKqJKMbR4DPI\/h3R\/CMh2qbd6d\/5jCmjANUwtbPb9z1R4E1h4SJm8sJ0DzDqTaLvz52f3Tj8JlefyyVd7S\/QORSoEcvax1if3UixvazoS+D87h7YIcFppK39CZB\/66YmuleG\/kcJSQsqzFwrlQNFudIBv5rtqczAVQkh+PciuuWeTTGsk3\/qS3u\/3oOeDohGjpVbUIzVLoj954kw1udzLQSP2zzixrjfnpeql+NbfpVDVDbaJZ6ltLj5C+cF4GajEyaDG7YV55NLAn4HcvP8hqBKZCNflXqSnabpCrw3\/AQAiXH\/Lm9GSeG7qy9atR1vol2bAs+vctfz+7bYVrWRhIvTxa8721nxDoda036PRfRJmVnjxDoD+4IpJ1x0UvafIqlIZH1JyqIv+Ox2AmxqC\/zgFwa9d8qsfTmwFHexSJXV9j7BTUbGEeOz9Ka0B3Y5UuNzlOXNOdqjqxKY5QHxtrC8FkiGaHxlcDWftqQQL5SnKfQoK5Aups0zC0vLV3iwOUG9vFY6bFkr69+2+5kcGL44n5ZdpuICx7q1IVyP9o57jobio+KsPnXl4r4Yx9\/cRQbyksSKJOP+r9v+7zGlKoxgOD+AaPsvbeAVVxSD5WCQ++0wuneOS3chtD8PDtNE80SELD4wjRylAcmUjK9IDofgznDR\/Cbm4OLNT1hg9pBPqJK2d07RBIkscMO6byeeJ5cBkmNqDTWrK89aZeqG5fAWj7IeYriJ04J5pllDLMWKt0ImOQdqMqHRdD7VI6Tuf1QY4Y1Z1IDp0oK0fuQ3oMkYravUia2wx7o+GdXe6Xx9Tb\/F7jp4ToASJ3470CdtAz+JnBhKaAD1PZymS3y+6JK3Nz8uTGb0troG3JsWdlyivxW8QOkZpGO1FWExZjjt7S1t4qRYmk\/u1iyHUTGFioCzn7rJO94l1rQt1abbPs\/pmyOjGoL07VmSwzG8\/ofFFTUkSyrnfKRgQzTdaa\/fKLmtvHQKi09Lww9JMy2iRTKPv7cwveR9lgM2t8qTZyo\/wusnOhHRtx5RULGXSad+87YyJo7Y46XUWxPk\/EJ\/pnrXAr0Iz40hZM\/waCwb4j\/nZotBX7BzSWXlPmpmFGj+4chWAeXXTb+wS3t07\/\/H9HBanX+IaBAgZx2r6sXpTkAUib02rR1GNVDMvTAYP+\/EWJpg2mKJevlQXhsTc3FUn5Wm+DaYWNkdFr2lvsk00SVDiZvuzsTTcCC3777tXkSfr90\/PPSXuOKg9+i87DEbTW45R641yfmUdyNNmFNmD7qS38Um68+7nfWTqIeUTtpqYDjwnwY8B7zCAjle0fanA5d+EgcmFefu6Om0aifVRdCemGltVFPBxwReTHW28dy+mzshDorg9vMr+46RYqj+GSHRjUYsi4Rdg0Ov5CKtW4cn9Im\/KiObSBb3fWT6pZStqWRy+u5pYO1jGcBwGPQACJov+BG\/\/lfINRA\/t301Hbrhd8Z\/bP0FIu5ADnJeP++8EQPPyjpdDemuIqHQMP3aW48beyCkOHS4Mb884fZ9wZppcIKEqdNqmf8RdjofYHpyzwBBZC8pemwSCz+D\/63+5uITq5A2W4PNd37PKNyKt22l831K8ewAXaxstxAgnFykvvciH4S2xaCLXD9BmxfsG+SicsFtsKdpLmexEnvpP4MQFrunvn6lG43P\/pDl4ClKPrrAK4mNd7amtcgM8CT+7vlAnFx0oAJWe7TsOIXuiC9D0NCSlK33x6x4N4VSPgdK4PvL6XAI5DGkLqCiAwz0oC8Xz3iHXLCY7r1xBcUN4R1bbeB5qgiBJGy6m6hfQINtCUPm+Tp0l1M9JPveBknAyU6EiKlvulHURHqlyKP\/ArEgqJz3qGml7kQ0JcVo3RXm4teI4qi+tBivo\/peOYAMdrkjY\/wmZZD7mZHHUzSLZi9\/k0ojmTF\/aUqfbkh\/\/BVNpq8BNRrkzrYfO0CpCTpk5JNDfxTsWMUp15Ia7QIQdfSXxBLbhQ\/2DXkIOjuzVlWarix\/nof8FCMnXT\/6+z9f\/mePWL1f7VgImXIQIZmRMtRDD\/cZ5Ph6zVs5BJvttJCl4QCOBa6AX+gpezS\/xfZPuKTVXdUgs+aD9L5gadXr6B\/OzMFrEUT36dCHnE7aX\/vnEZJPbym2S7+mh93FAN7z3eQY4OZt5\/iQHzkhdIQhAj\/A9gMm8njGmrowp8gbrL9WhoEfz+kN7QMDB6xlG1WdtmZV6nAuJKtsfM6u1wweDUg8W8HWInl1T1u5WazJj7\/x\/mVL0vSIQSxFuHsrppOZeOuk+Shfvn7n62nxwAy3XIOwtM1U2DXykThAoQYCimwSnjUT1qKEdgGgYqziM709H5kIfzHTIBbDEI90YGDSn3DBd6Kl1TsEAjffQtoIavCh0Mg5YeC0PcFXM45OPtnsQ1opybIKEwormri\/Y5gQ+Q1Yb4cvXHAVv8FHW5TKwrAxVnR0+NjbICU6evhI7fzEh6CcfHgHmM\/PU1LPGTHJTwdeDz\/5HWdJghtL0\/uby6lMtMf7MA2cJtTHVlcJLwTBwDfagN+7DssDC4HkG13jyWsVBGhdsn\/gBpebWxeVTzMP71vt9Glxa\/5aa3WinaEw9ymcy+MpwnFrhDixwBAJbK4v084Uz5LUUKrQ9WyUWicM6gN1B7tYRNPRkNDS4Wh8xM29KD663Oy3DTPEfDKUxFu1nfKi9L+wltfXA\/OdJCVVGTOVNDeL9Iw0lpJPTxO5JJw3d1mQ8H0AO\/zqF0gt0rV53Oy2ATYaVqbPyhOLRCHksLGt7Klfz3weto2kns8B2FvLW4+Rhbd74diVgKMDMpy0qwszLcWlVtTjnKUswNIoA0HrLoXlLcVeLIWdT0dos+l25cG8gAYSsSbo6mU2yaGRZ86uCmgEXxcVo9j+ZFkhqncYsg\/OA6cOM4L0lQu34B1MosN80AcS\/pCPq5I9horv6AEw1QAAAAAAAA=\",\r\n        \/\/ HUB DU SUD\r\n        \"hubdusud\": \"data:image\/webp;base64,UklGRsIaAABXRUJQVlA4WAoAAAAQAAAAnwAAnwAAQUxQSAgRAAAB8If+\/3wp\/f\/dnmfOmcXRmXEZHW1cRycd29PGXF5lK+UrN3b05buNzaU9LBRfUhjKiKI4KEoSiRKFKKKIIYNDhCJShIgkEiIhhojIcDjcefDg+sc557mN732LiAnQ\/ydyzImOXLmFXXNiyWw60pBM\/yObMonUvrTt2MnDn7cFSfX5fmculuAszC8zEBgQRxusT+afMD6JeX9R+nBDQq\/Ds7Fk\/\/TukzJj\/V3fGsd053Yls9e7KQmsAK7u3dGNcb1PMhucWxLPdXi\/zBjyjIvjSdiRTCdMjq8veT7NScHz3OXjZD6HhbF9UKYlrqmwM5nd8ER8k\/BXMipejzuVzHpYFNuHZcaWGbZzQVBi+u6JpXao7+KOnatHRWn5YOeWxf3UWWpG58QSmbc66kPMcO5GdYnqK8yVFCzf1liiasO6XInhq3Z0rBigtUm8W6a5zE8wsqgW7mRL7JqSp3hDECazmeL81N0lauFutqgd9oQYTZ5TwwNJqmmUpHFwosQqWCYp+ISSz21M4nD7k08++eTUJz6kUJS5bPZYUZO3Qp8il4cdn56jh1VhNpDnwqc7ocfRLjX5gtUWzTU7FiLzEz1w\/vMn+qr0NLMLQdFms7WS3iDPpc+2OvI+Pk9IK3EJHi4aAlaiwJ\/NUkUHeerKDaaHLRXSqL8oFA3BF\/oUvQJhVHcBCoA\/\/FSmaCqcK7EJPpH6ujzf5KQhVymk6DI8EqGHmZJUecMxu9wK767nJOll7paxErMjKLvwFwAH3XWlzpf4Cj6VXsDu1krSZPLxcervc+fMmTNv1pcU4nJ3q4q0DTaV2wMbVVxTcMlImaFzdv8JeX6riGE9fK3i7J8+gXdVupl8XJwNSrwJ35Q7BgtLZC6RSEWg4tykq\/QwJcpaqRM+KKFTJPBhmbGRmvBluku9AV+XOxriYpR54R7841C2SLrPCv7dUB0ldsGaFHxQpiVMe1FLOX8zW2Ir\/LPcdlhXoqrHlfF9i94MdxjmlwquwPslLmaK9sOn0seePSUq\/kjTb7C8aCmuVJ4HiqpuOp4vNxf3R7ZoGneLBlFgeNEP4Ta6wh+5Eo2FAi9Jk73LV0uq+MMVTcXdqSkaTz6ua\/B+mTGldNz536qlMXc85X4fIGV3kXe15erJs6lCarxOvqjGjG2BgnlYqBH0cKBOCob\/4guuVhpNnmVSxQbyRdV3C+zLSfW\/UGBhPNed+7jMWHfXtUr6F+5y8ZNO7I4r9JGmucIdCh2f\/kIPbyrk+\/RwYe1Wz+2CmyLpJD0c+fA4t\/IujFZj9BzZ3w0wS1Luji+w95ML3Cy4TyUtoIfLn2\/q4ba5xbEEF2FZmcFAo6TczxSfH3UVVyk9Bl9MpeSmIExmO8X+4c3woKT78hR\/8SD8EEbLPKXvPKviqZRc8DKskhR8RsmpH8CsWDT+dGdlGb3evVzF2SXHz3y3IKfnzi6QlO08NVBD153s6nxYESftO3NsdYMaT22tkKSGtT927WmXNvzUEkp1C\/ae6jqx\/flqlR7R0fXj5lblvv2xXsUTd3Wd+KRR\/Y7urYwnYqDygYoDhQ4UY6CogYoDRQ6CQKGDQBED\/fs2k6uuqanKBr0ok6uuqawI7kWZgZPf2Hnq4o27+fzta+e\/3zintU\/ack3T3t554uKNnp6\/rv787acvjKi6l9Q88dUlotuPb43IpCUYNOebm0S+8\/3CwcE9IdO2owfwZuZ8aefMDODXNwakoXbOaQBnZs6XdM7MAXS90qfXZV+8AJh5ontnDugclVTz5gJ4c57I3pmH\/LqBvSrz7O9g5ondm4dv70ti7EHAHLE7A76s7z0t3WCehJ2D9dVxjTgIzjyJevMUlmd6R3YtmCeFznFjUiz1HWCOFBr8NKI3DD2Pc6TUYH02Uu41h3Ok0xdgUfqme4z0euN0Xbhg2hUw0uscu3Ipew3vSHUPriHMyKNgnlQXOFObqrWYJ15fHINzXPtbply\/TWCetBtXGlK0ngIxeiuYp9gK5kN5g7VVKptd1oNzxOmdMysUCmbOx4FxrSE1aygQ2Zuj2G7f6qHYrJzBjyNUfvJFMGL0ZoT2Zj4Sxu99UjKHAlG9AVc6Zo0bUFOZq6ofPWvHn4B5wBs9f8+obPNhME9kbw4onN2zdsW8WXNfW3\/wMoC5KBhnKlJxPwUieoPr7w+vUOjsxB2AeYNt\/VS2dgOYJ7I34NfV99cEKp\/pP21nD5iPQIEdaehz0\/kIDi49l1OMDR844JcHVLZiQQ\/OEd0BHS0ZRa958RxYBArMScFBjPBGYXFWMdd9efuNrMo+egGM6M5R+LBeMWdmXMX5cN784MSexQhvHBmgBKtVtukAmCeyN\/iiTgnmPgAXCkdXkFDNLedDecfqQCms+RTMEd3g5Ggl\/OBfuFAYsxPagBHWGy8qhZlX\/sI7ojvPzecCJd5wAQvl3e2aRAZ558N4Y7pSOPEcGNG9wcfVSmN1Ny4MxoeJbMUIa8xS8oP2gXkie4ODTUpp9UVcGO\/ztQk0OE9Y42MlXv0+OE90g8uTlN4BPc6HwHgngdVYGMepIKnMizfxRnTnsOVZpbkdF8ZzIxdb9jo+hHeFgUp4\/BkwonuD7fVKeQcWAmNqbA9jhDTeULIDd4F5oht0tyr1Nbe8D+H8wdg6fBjv\/8glUvmOxxzRnefmyxn1wsVYCLDamLI38CGM+UowePoaGNG9wdoa9crcTXwIY1pMI3CU9\/5WVQItP4J5InuD74apt67CQnXENB8LYXyh2Ou3gnmiG1xqV+9txIdwXM7EswMXwjE+rtzrHueI7hzutZx6cXAGVw5PfSyZc\/hynr9y8WSmXgEjujfoqFfvfhMLYbTF0udOGMcBxTsMCkT3BidGq7ePjzAnlibCGq\/FpNVxGFydEajX93OE+jSWB3Ch2uMK9lPw4ZzD3sjpHlhxBR+mM5anQzlGxKXMDjBfzhlsa9C98RSunONwLLNDeQbGJs0pgJX2cLJF98r94bqCOBaHgn4JqN+a65Q92R4ojTWjp730dFt9kNBOLMzZTBxL0yPlxi3Z2Ln9w5kDlcbMlEN5Sv68pKZ3zQ3l6Z9Mqh85B1gxcGd+kMBeXJjuII7nQjmG3SOavgVznpKuAN9Vx3cs3DHF+Vgo48F7Qs1nYI6wvsD5qrgyF\/Fh9sUyAh9q7j2gYs4tvCNqgSNBTH0KYYz1sfQrEGpL73v4AhjR\/V1WxTQGR5glsVRcwpdzXMz0siHfgHmiG\/w8MaYlWKjHYtE3uHJ4GntVzSdgnujOc3tORjEfw4XwDIrndSyEsbQXZV66iXdE9waf9VHc9c77cp4b2Xgm4EI4zge9pvU0GNG9wcEmxb8Uo7xjv+Kt7iGso62XNGwH80Q3+O0xJVhxGR+iwJyYdAgX6kivyK4wnCO6c9xdUKEkn8UI6RkU17NYCBwP9YLJl8CI7g021irR7FXvQji6g7hq8vgw\/reKtDUdAvNE9gY\/NCvhVRghjfmKfZu3EBgfp6v6YzBPdINL7YESHoEjrC\/0jW8ULgzGYykKnr+Jd0R3jsLynJKu\/N2HMrYpwRPehfEuPyw1LV1gRPcGX9Up8eAQjrCOYUm0EQrPzUHpqNsC5onsDU6MUvLBVoywjq+V6A+4MDhu3JeCiiWGc0Q3uDojUPKZrRhhvWNIMk1YKByFKYk9\/CsY0Z3D3sgphdWHMEIb65Xwh1goPHyeS2TQPjBPZG+wrUFpbPkdI7R3N6qSyl7yLhTecXlKEFv\/9WCe6AanWlS25otNtbFVfQCO8AUmKfERmA8FBl1PVMQRjNwC3hHdPNdnBiodPHUD7vxLTSy5WddwnvDGl0rhAgoR8AZX1ozKhasYsrgbMKI7B+9UqeyQ78EM7nzSFEQIBr35JxgRHecq0qAtWARwBtw48M7MtuFDh45o+9vru38HnBHdG3QOUNncW2AevAHdb7bWZoqCbF3b212AeSJ6f7tBqcwcxqKAN0dEb44YDX6aoPIPXcQ7SnrzgLt07Jv935+5BuDNE9U7WpTSXBcWCfDOzJxzzszME6fz3Hgpo7J1O8EI68wob+aI7h2PKrVVXRRiSNwZfFytspnZecwT1XtX7InVeR5XinOHKPh0eYOvBytkJ2ak2ii0KdWZDXiXJoOzDyl0n+8wnyJf4HKT0v4imE+Lee7Mzihi8D5Yahzsr1b6m7rxlgrnYG2NYnzoOs6lwhtuXqDemFnucS4xc7C7UfFWrwdziTmD7waqtzZ0gDefgDdg\/0jFP\/J7cOYT8M7gl3b15uadgJmPxZkDtg1Xsm1HADMfi3cGnH8mo14+cPUfgDNz3pfxzswAfvlHvZIf\/uUdwJk5H8I7MwPY91BG98Bs2\/rLlPTOzBylf3p3ZEbprGrffp2SzpmZc5S8e\/DlfrpnZhpnrjt+zVP69oWv33q0LlCas82vbO66Sfnb5zqXtlbrnlvRZ9DI+yeMbaqrDNQrg2zfwaPunzChpamuMtB\/Sx27776iR3ZUJNK+qV+YeVuCFDy7vSKWgbsbYlmxIZBm7O96LaYDXMlK2s6wJJqYG4Q5TDYFZxgZyxyeieVsT0ZN3PnqzZj2Oz6T9IUNTaKyTqEzWaXwiI2KZZZNjyVTIT3olirubyjQIm1imOq2DZIqvnpU2W0tQzs7Hw1eOvDPRkk18\/cceCEjNW4d8NaeiZq5KpDu33xoem7bOFV2jJWCtS9Kal5\/bPO4MscYrdqO+hF7dz9Z1Lbph8\/uk17hKdVsbZaCDTOkxo3Hdz8ZSK+8Fjxz1HWvzsV0gBX5Xyu0mWY9xWKpkb1q4q+rP8JPN89xq0r9rrP7MIcyWsbtHvdb5jw1mgEnbp9lncawSarmnDSN219e4+\/lxuhxfr1xAqZKb1E4AtM1m5l6gPelWk5qgPt54QE6FNyictkVf21\/dUzf0G8pq\/UVzZpq86SB1qEhlh+oVf7XbHCKEdpCi7ScKVpoZ3LZSnVZZfBnfowqu22NRtk6qdpOKnv3UoWC0\/nqEA\/ZtTq12z410l2lulvX9DIzNcHelmrtO81lirR8g4KLt3N6jEWKez\/1wUWaPqBZ05gvDWKbBnNMms5b0hY\/UtfcE60t\/2C9FrBIkrrJ1vG9pCms0SjWS9V0aSRHR08YdYSRIR7kY6meg5rlX5DUf6heYabaeEfqy3caAt8+Xy9lLvfkNJklCQxSK6e\/LzFPGlLioPQUr0mbGZG57U4eO354yzDNZ0aZgb5DUmuJdVIfTqvN\/X70+ImDq7Kh3pT6cVDL\/CMqWeptqZ4DUt26G7BGQVJfM0DagGO4prvXpPF0aDCHpL+VGqVf81WSGqs0jymlctWcD6RFrNFot1Ua6E9qEHslBU0qeZTReoC3ig7pWd6QtPSYXuRptbnPpWEc0IAJCoZ006grPTlNYnFs+22glLtqbqTa+KVx2EW3TUPskPS0vS5tsVYtYENl9iWe1yKbKinodtU6yju1kx3vaxB\/jhr0I8cVnGZKpu8uakoctxY9bG9Lde6gai0\/qc\/fuKRZNlPNXG0e\/LM\/pNd5VOqkXlfuVqrdlsa2h36S2mCAKg4Db7JLDXwtTWKe9AXDFKwD+Cqjl3lYkk5RqYbfoGcj7yvYDKy5\/bNUdxoPM1TyB4ZoHMulGvZLD94Ezg7STNoV7AbeccdUfZTf\/+It6Teymsjs2Pq2qrh5nKRM66O1aq2TWvtKmYlZqWaCJDU8OmmApOzETFH\/UZKy4x\/N9WeVpNGT+qt5sKSgecrEapWuu18K2nKSxtZJqmydNCIjVUzMSEHL4\/UaNVAKmqc+Xi+psVkK2rKx9eomt1r\/th3Ain\/jBO01\/8b5f20CVlA4IJQJAAAQLgCdASqgAKAAPsVeqU6npSQiJhQ6qPAYiWRu4MAAZWGGsI8zPzPnZ2b\/E8Nwenttzxeg\/zAP1S6SXmJ\/br1Zv91+t3vX9AD+3\/2nrVfQa8tf2UP7r\/0\/SqzT\/+6fiX4W\/6TIZ1s98cpFABuscX3e+\/XfUA\/Knqnf1\/jB\/P\/9b7Avljeu\/9uPZo\/a5kCE5dO7ytElJ\/el5G61oHbXcbZHNCyLktaGqp+QM5XvoAzqxlOJuCf5cnI4o\/JULVUfSPD2ds4vz1o2AALwajXZke1T+YNxRCi2jXjh5MTGhKySrzLaFdEP8VroWBwmm2KUg8NMoibj\/QfS5MlxtlHjhpFNT32yG9V4RO9YapVbWaFbsrtzbhfhl5Ccf1PEQOnh2kGUCuQDwGQ6O5vLeGcjqbdww8FzvEbvUNdfPF8\/pWHIwi+gbMMCBQPfL4j75WasNRuhNaZn61S1s+lKQRdKo6vBlh9YUwl\/jk7R6YW1hYbT+Ut9aYXednzwkAD+vnoAN2JdzAkRtqb4ipozAfLcr83CwqvlzVStpv\/GfYAWXmiTDiZSbCwzs6R76hqc8GR99ys\/kAi1MPlQEMLsISuo3rwaETFZD80EpDC2QfmfjEwyAU\/EPfAS0NZtISry66nYM0BHNN1\/kHDXfZylbx2L96m6Y52+e0ukQUeBN9fN1axfFf3NcC8FWhHu55cA54dlecI+lTL8j41eJmmEZL3JE9Nnt4Sc9QAEw6rukQSIqJjxv7vlGvy0xJ6fa48x5kCG9fT9X8zPzGlvEFOB1iXRNId5FN9TRVXdCW5vx+GKH\/ZZJxi1XtptGEe6fXN80GlNL6xtzSTARxAUtx4hzI7\/bEvcD7Zy5scSSjwaRu\/mc8s6r4c2EVCJSjuZtXGpMNpm9LgQ6i6jMzIgODOKdY9sMq4QV5HcoP8dvGTEWv9XEjPTnPIwyzoXKRBl2yY1f8H+SflWppLMmPrXmeTblsVv5fdF\/Lza2Gy+QjAXJzdSHa\/n9\/NKjhEjfkesPsJQUsnI4UY7hsI72ndHmAdfws3kRYwflv7876D++ofocZzUIU1xr7ansGqvXVdaaZqmbzdX6KuopZqv8DVSZuJZZqVJ+An9AznzXIPIwqVt7qgxE6Td+CjC57Kcj3IzqIU9MxSJb8EMZROMItcD179RQMEZcyEGvGNbFJesL1sSD5im934GdjwpJL46i01qLNFhhDTEW8KGvShI\/i5z5biUMoTcB34h36Ryb4rsetfbE5a2oK2tDfrj9ibdmq4CbgNUFlsbOX9fuHRHLMJEBkqlmajgSlC23gy2d57R59Of\/\/3gtyauZHnPVtN5HyPKEB+8bH5vfHv59+f62+FaPhyLxJNiNKubpE2DsLf7n1Xk2QO2As+i29p9LfdOx534+3LP1nYbP3Qnu5fDV25a1GT1LLJ6XqZSQwvbUKIpUd9U3LnnVJbKpvhaPqLO0AipSRl69sJ5wTs+rlcLqbJsEfVJqM3bxnFdTmZOOSTtcM\/fgHLTfDPcWSPLRpKbz9EuGJsoNryFqZCK2pHkSYEXXy4zKFK2qyEzwBK6PSaxtK58hsg5nFqP7QOlo6puo52xRQVpEJZUj3p8RYWzFKb965MTuU\/HnM9fpaslHj6viTCfXtVX8k8\/a2NOp4oOIvxb1RIt3Ry1a7vkLDWC3D5kKU3jjLIzTzSRPVovTey4TUxCLbk6\/MBWUH2hqxLDvUOltzHzMkeHaUOTGt1Gzz9XQu14gSuta8wZv\/EZE803mhSbd0pJsUPdtLBUerYkOP6abPgWdqKiWiVrSHhiwO\/pZJn\/gwC8sQhyN6EbSUXomlQN92nuiLtv6zRrtwdE10+O30+XmNnscOWWJdicfmjgqbxMyEadCe9Z4mFWZCO5jZl8z0lHGACgCtQKqrs35HVBPkOylUqbXxTMWbZ23+xMCLfx2+a8Hp0hPfEsiknA2\/fUYxfkqpjGIMaPaOXtNk7sZ+nt8hFfGsdM7winOloafpGH3FVAqRk\/2yt7x9l+IQzjPf5r3IWwhdx+fQx\/o5gATGgFVQpU2A7\/k4tAdSfeP5E3zgrALh7kxqjAdbrLX7DNRsmoqiYZ3IkLvsiHSqsE\/z16dreEy2vw\/ujDLKaMD+aAyFqZ0p3fgGM0ez3FYEwX2N3oWTRGJr6a3vR+9Y\/pWrJHT+TcaE3MjuqAIX7Yegi9NRNNUULJhiOfI45ZfHQ\/qS3B\/1DZP9reyqH474c3uchu5M\/rz6vEblT0O+dBpG9bYCDlfuXC8paBhhC4jwkhtUfI1yxG6kBPWJtZJdf4agWLTtr2ed2pLP20fd0QMNMJaRV5u+BCs5rhN28cQb5SCxeaWv4kIeZfyw5n+vxS3EUZnRwZ7tM0tv8NfZmEv4yv1bYWtKvHuINMZ\/1M47dWXQjDDOVyj\/ZMDgQazoSKBuoTSxovkR6r3sXTu6hlLNtCjjLtZ0sOyDMtyCffLB4xFFfQqh5GpkMgvqjkHaV9j2joaVS2Djs4ANvx1Gbohg4BN82Bcate\/s\/mVX\/GqiVRQ6B\/UR5nO\/k\/M6Ps3zxL1yYKXk4eZrFeftoeKaheAWYPNnxGGJ+ThOWIB0k0O7nGoXU5krkR1SsoYDl\/UpS9axrBbMaZ6koLHlHalY+pKBNf5fRWoFuPKleWQ2nRl+Ve5zr\/clRjoTHaLSapa9KiFijoDoHdO9vzOM10hltkvYdTs+75Vhx5a4W6litQalxI6BT0rfiJS7IR1PqddIL4z3FoJCx4G62IXxl9ypfLKmn+IvrkGbaO6ud84uuWyHKs7ge4gkgliPB8z84d0BfbQVx+a96gpt2v96EpOfykuVJQnMOIdAzVu\/3gIXXa2yeHUsdVqeLBqhz0H74dnVsEzpNW1I1cYmSEV7EkRC4UUH5+TMiLqjkYVtM39hQv9NOZ\/iLqovbJujcn+a0RgMytAwk6c6K7ZlcYNY4KY5OCgrl20Ft3Ei8jTxHbpovp0xes6n5ZWw\/4EXVF\/kOw67e21lvZql3O3nG0xjxHiEVnXJz94WRd8mWKFXkAqvPLyWkf+70uxel01f9YmVnIlb6biOQCiNz22c\/14G5MTHI444Wt5HVDBtzPFpWIR+y\/qPDyYMKMVEgN+quZgtCEsHA9Iv9QrHfmAeHz\/S7bOEGAOrquiO9Cox5lbTLAbjRqxQFfWQzP6wBL3Psxi3stqYY5CPQqrbqno\/RkSYIppgWWUEgP6WS8ImU9\/w4dboLEK33XmtqAxhMGjooFv6ELS4ILzuJ5TnkQIAAAAAAA\",\r\n        \/\/ INCITTA\r\n        \"incitta\": \"data:image\/webp;base64,UklGRjoCAABXRUJQVlA4WAoAAAAQAAAAnwAAnwAAQUxQSBoAAAABDzD\/ERGCaATD5jYnah9dRP8nQMzT2S8YclZQOCD6AQAAcBUAnQEqoACgAD5FHItDoqGhGZ7sACgERKbt6wDhFlP+QfhLpovwU\/FWOAZhA8H\/hAsACOABkIN+M2v1rAcDaBUEpy+8Cdzu+xlpBeIUNkgFia9MU3ELmdNu46NH5K0ZfunD\/BXxzkxPigZs77zvktfP78Cxxi8IP\/9blwrylxdSCIUuqJjdXBJ\/++6AvAydfPTFNkhKQzujro88IwmqgPD13Ag+4MPYWZjJg+g+rncASiMwAP79xQL9v2yScTBDT22pmfHnVofTSXqNs+W3WM1mFStaa3CTAhCBVuvYQ+SaMNa6nQzoIoZZg6MoD55xM\/NtHVPgCeLonl7KXtFf3d03vO\/lQfjNnXNc\/1WZKm8bZkwoVitR8zklV0OSlOws74D8m1YLWkmc6q+Ul9\/8mjwCEKQXpRWsoGd7FiyR8hJCO\/DBKLNvTAWuBdDrHvh2ooKK1NrdGYww0MJhc6M2GeV+wEIrYU0+KBVz1Wnr07WdrvFs+pKXxIckV34OImphhy+Xehj4P+5oCq+toxJgeKYLQXIfjmaCplzZ+7\/jxzm3Nt20Btb4GRmJ+DUSrMqo4fy3zM46lZlpvUkjla9tsU2JjG0r3ZZgXMBZKJ9FSI6udMer4TowW9Qc6jP5wtp2tqD4QjizEH1plt5R+XmRnkXkF1FEHJNAAAA=\",\r\n        \/\/ In Medias Res\r\n        \"inmediasres\": \"data:image\/webp;base64,UklGRuQMAABXRUJQVlA4WAoAAAAQAAAAnwAAnwAAQUxQSJ8BAAABkPLatmo992NmUEX5+v2DMii2VcyMkpkZVRWDY1DsuFUkmbknOzs70577krPl9yJiArKS\/3vneBIltWoPyotoEkJ6hVXF04WQYqGnWMoemibJ5FN1kcwmkGZhf3F0IqQ6UCiKm6bJMn1TXgRDCaRbmJlfxXu1hCHakNsMhKSxJ6\/af2pJQ+jMaQVC6k7kUytK6oXuXOYTHHAkj6ofZslDac5hHIH0Cyvilb1AHWD2ozLaQAQPBkZE22k+UG7FqvmFE5X2SGMQJwSbGuk25gTlcVkc\/Kh0xjE\/BJscBz8q150DWuucwCD3LHCOcsk5xo9q32D0cY4w1j3rnWPcdg4E91Dig\/HSOcpx5whTnKP0OAdt9I3xsMw3wtbMN4GRzlHafGO8KotifhBWZ1HxY6AQ55MbjG+VcZYhThDbmcXtwrxAIVJ2HXWB8bY81miCCwKLstjV\/8wFSlu0bD3iALELWfwO1AMUcshOmiRP7WFZHv1IX2BwlusV08SpvSzLpz+SOGFIlvM5JGlqT8ry6kCTJhSy3DchCVMuZiX\/98YRAFZQOCAeCwAAEDoAnQEqoACgAD5JII1FIqIhEzpuMCgEhLO3bpr8fTbcO0EGAzJn9VffAsmbIUPEH967NP7p+RH7deu\/hy8IeyP9a\/6fOt3O+SL7Dfdv7Z+y\/5pfIvfD7\/tQL8Y\/kf95\/KX8qOO6zvzAvVP5l\/l\/7r\/c\/91\/g\/RG\/p\/Rn6r\/4z8iPoA\/kP85\/z\/5W+rz4V3nHsAfyf+v\/7T8sflb\/mP93\/l\/yS9wf5l\/eP+P\/jPgH\/k\/9D\/0391\/ef\/Nf\/\/\/\/\/dV7Nf2q9k39bf\/Od7cIP\/xHl0lnH8R5TW5aegVtN8X3LBMQ4c2hMYale594\/PiuzNUSunFOg+3A8A9aurlCEQuFXj0HCeNhHFIGthsDXlV5rNvEy2SDxbbKfLEgdIw9cYzqIyYcKU6mgYvc8CgtVTqYCzdtfgqdvVfQZRPLJL3Ysu7DaLBNl9xSu+zV3fuJg6+SLk7JpmWrxk\/XOqPIrWnS3o5hzzSQR1eYu0B6IPYTiWr+hyxjfW\/s6bUu7z2rE5Ot1E6YLO7KQiTnBBQdtGYbQ3qu93HCed+h8RKd6+uV1kXJ5QNUyZfDXMqtZm\/tDF2Hy0\/C0KFjwbW1eoVjgRAJ2M32xMGSBZ0cZyWMEsERydkTvl0lnH8NwAA\/v5HgADW\/AqZC4Wvc0dLAEoN\/+82ZmdypGFFw2\/pdey8aBvmbdatEt7KuCAzn2LLxVxnV3bvJ0CBWuUJYU4nPg1MrPHP3ARsdNtRaxrTSFVdXkjISGgbIjjeUeUJzEP+PqTKlXsF\/4Zu61wMnmOWWOXYK2GhR5SAI5fNw99nc65KCFs4pnDv01JNnD1nh+p8di9yYSfzCueRotF6Iz3WSC1f\/4BHcJXcPOBakujxP9HGg8k\/\/jAZJb3UVKE6O6B1gsHvTHCfzURFraHschn\/7eU2zFC6FKEb8wZW5v4EO4qUWADr7h7ZDromBx\/vBu8nfzU0p00UMcIHgbAFF4kzQa54hO7ow87luzDHjbTeBZKn\/qiYjuqaPntrHr7VlMNStFfHKDAnqyj1kNIkB05p4czvCjU66UIjv8CZB4xwL8i5IysJ\/dsqksDvqNNF20ebsVVLFrDDc8yZPQJBPGKBoc5RqJv6TbqBND+wY\/pz+8f8\/RP+f+n91T9yAHVm9RtC5+VtfdMFASVjgMIwt3r6v5727p3K85gwTUetkOcv3Uf\/\/9WkSKhyGJRDB\/\/J+euHUxb7gwy9\/9d7dhjH\/0MY+5kSSY6A5PYIbHoaEFNr2X4zeaP+QQa6gMlOD2jXzdLnsOCM\/iALMNNPrM\/4hqjT0GEo34+JCycvfRamh265c0+egaKh7cKKrHeMBcTwsk4aF+tYsx4L\/6ioxBaroZwDItVu67TTViuIudgqDqq3NTPYYqQjBEqamWiq9IJQfW+gDheMxY4ldC4+X45X8rbdteVUMv7pWMHcsgsm72YaErF9INoTAq0TKeDHOsT3HMvsMdsCm9FXPA82nucc6ryP+swIC5DJ\/QC5+wsXioLfeVtdkmM961w\/JVwupi94lMwVS4RJiZludm1qgEw8AOwCar2ZINOJ\/\/qetuHRYqPnEP7j\/jICRQE4yYV7oxE4O4\/rj6SC0yzxqME8PoXVhnJT+QLFutdp1zYo\/YbJJ6SFJmdZkHleRIEIuqRPqGlebw6t8oRhp6Zk6Cn58wsiuIXeFXgH2Y3ZSb+ReGpbxkA0LyUhwOOul+RpLq8AO24H+mi27zROAM6cEE+JkbBmJ4XVLhJJt169jgevUs4vjcz\/xXwAKDdJ1FVskhJWJNRC9EMnbqFqGlWBZ4LT2KVw2nZab55qlf+E2RVweYOTNC3lnvwIMuL3QIkXcQ3a2L9yVKQfd+Y2anr3IJlbU7OvkdsppOvFBHoG1ZQcaxVhzTW4r5lVWzc+YcNHlman3acZYEaMNNi3uXQhmXt8RpYbZ4Exb8bJZh8fNrhz6lerpCwFaWitqz2L3TxXrSE6at5hv0qzCeDunvVVbIp5pCucMawTC+GVOromrhm5ndjzz4R061dh0i93\/W0SoP+sK8QwvRa13atwToYjTAw9kd2xBiQe75ZhMDvmRt+4YE7a9breSyY+a\/\/mL3O\/gU7opDcL8l6+yJ9c7b8iFy+dUFcjC9aYGhkvuPI+hGTikoA0dm2bc7eL9epBXAY2LnCn3dUeqx6zqYPQVhfKiT8mPHTNpJ2W\/J8cKKcg1u3M55eBzeXKMgymijk964RpC2ycoPP+nYW5JA48t1HIeiu7geHjlpC6E3WvkaIFYe0S05\/WL8oLso\/BI9CArXYTuE7uYHK12wVO0Ha1CO85HrjhwsM34zAMvXDyxp8+IahZxPXepVac1Owth7tI3JdV02YpfifXz18AH7L4SGWwhpKAIFz3D2VvNoZQ3\/CL+MAszbewW\/z652zEjdbp7qYekED+LLDeIbpeCfEp17laEzLBXx9sDVixkqdP5Aihh3emVaWsZKecY0Ucxf\/\/Hm4Rs4I1VMT\/\/paz4++nTJwESgP7eZjZz1NZNRCeY4GVM5\/+\/+zjapuBuz909dvO3vKvL8YFqH6IZvw03gJ\/O\/TdRueJXezB9dtkMyBPZPz+ZE7bl8h8K9+te61g51EPv1fW1AkBQeMOabk2R96RlArVa5E+ks3As4KPAY68vHKrYKG489rd23EiJp2an\/QPloSivdXgh1BicaCFWhaQlNb3aV9aA6AL9abzwsyhGHekcRigOkPXwaa34YzHb8y4ZFJDaho3gIs9k0KMuiJjFYmYBvMhaY2nS48iO2f+gaRJaRPTHq+vJdNYkxRUK\/6IVCP+I0H0CPNDMfYRFyQj7HEt6oGeUg105MW2nxD+\/gmIeeuYe2pJSnFKdgiKrCr9Sg+nww2toLfYFh0GYL\/2CzZtkAWZjoKKIr9L5ObbNe0gCTWfECC7t5tTDuUZy+cbVl6GPKBHl3Ei23akHDNPdDdZqn7gYl4zGTVKoC6ZJqycnZx\/s4zoI4Q8VlhPquknJ6nYdq+Qlr1q2ZrLE3hQ3i1KVFwxjFMerc+Mfv\/m3VSk3T6u9ao50FEyQvx4l2FMkUl66khNkI21yidaEvv8tpsX4vJgR04yvLT3v+aLa2SrbdVCsxpF9mPFheKixk19H+\/D3zQWstg9uvTfBDJumB3cR5FjWdkpKr6Yoa+UI5pea6GyorXlkPiE3EIyQLSPrA5fiGJTgxAcFu6cFuSy+D\/Oy6Eo0KllLJNf\/lYbh6\/liF+zzXjbWWsM5LUodyRUVJaYziSfsE4rPVkgxSLYizp1nOqDPLRBsgFRRLEXarC1QCG328CI5TG2tbW1DWzQitiHF9G595y7xI\/tRBl1dQjOm3ht9EFCKCeoWU2F5Z12a+KzaPvf5cOpyS9qPRvoHxc+m1jG7ED4KFDtKUIlu58H1HdDAwrc1ZUp8xQIyDEJQuVUnCfhhKKy57\/esTqtXwS+LjJ\/BH8mjm1YeXwogb4OmgpYYGqJRR+s5BSVSG1iZ\/280HDtQCAsXxT\/uoZPKFNnNCfvUoxibL9LAMed0WVguuViXEX0XYRLncvBLd7dNNf85LVRCKGhArvcwqGgH1cfNi8jsnXFRcrpHAm4n7fG8HKcBvPlvr0CVtXB3u8A4kvJCMhlir\/5ReVnX+ln67GwMHh+893kf3KLVKTPA1sJ1KeErpUF7+Y\/\/fDpi1wJVAXky5iCsR388BsOKJ\/aiRLgqndJyAuHAfCA4l97sR9fAWq3es1YYfrslBcvZAQROTFDWiak6NklJsZjZdm2VJ23WOCHCqGojh2nph5DBP4BNHTiBug8hF\/ucoAAAAA=\",\r\n        \/\/ Interface\r\n        \"interface\": \"data:image\/webp;base64,UklGRm4WAABXRUJQVlA4WAoAAAAQAAAAnwAAnwAAQUxQSP0KAAAB8If+\/ysn+v89Xq9TZiZ9ZpI1ZmPMXrH3mth74Vq7rL1t77u6DeNWWTFXy1UUJeI2iehVRFZCgmwQSVgkIVwkBBFRQgghBCWEYRiGw+FwePxxzpwpjl7XfxsRE4Df\/P8bMsVBm3\/yZZXAitpPa2v82WMTTYO7soh4c5TOb7LHSdM0zGPZQzSShmNx9jjNaJTfpUcombSPUZtNm15rm5o9nhshY5XpyegiGibnw6lkDQTWvJeD9I79vZo5y+0Iv8ZTdulNUs+cvzNmlz9trjNqaJnTQprK0+acZVLPmABtmlr2UxVVejlLk9KDCkhVUdVEz8+ZI4Hyda2NiwGoDulBqIqiiuSEqiiq8CJURZVpeev0t3X5ADbXnT6tQK64HIvHh07kuhz7Y90AbZ6v++O3dWMdGHfsQSwSj13cAglgNsk7BbV0ht+su0DSPldXV\/eNgDr9VFc8Ho93v5nrSZl1useIx+Odr5S5FXxwLxqJDx6vTEM\/yXIAq0gKfzdJyyLjHziG6XU+AHmYif+iAmi0ogZNWoYVN8f30qtYEqHHFR6W95G06RyRANQvmfiomrJ2M2KWAphlxofL7tHdJOcDiHqqBgqaGSV7\/hYlY\/w1B3iLJi1atmHEuOShJ+wmaVm2RcYsLnMIKT8jIyQti+QpAMo9GuS1v42SETYqqepgnI65NA2LbFnkm\/ZKnGZ8xA\/MrFn4Ky2+WF2zoDoXspERflImoFbdZYzNQBUNJuzfOa16C21aG6qrqxcgl\/+Zr2uaFjxPw7Q0OOsYs3h15wxNCy\/uXAzI64yyMQ9Qq3sY5YvpM2ixGs4xw1acb8F5hiYlXOcwwhNwVR\/YMZZiqsNmdMu6xRKAQpumgOsYJLxix1jtWMuoZW+GuxDAHkb5HlyVTsvs0dJn8gRc5duMs83lAk36XESnZfYqbiizYvwEUxwGN8M94NDcPFYyatcCUA3b5BJ41SJx+yoSTrMiXJ+2mN0v3VAYM+wHiqOBJjWXqRzlamhuvmGyHRNp0OQuJPQ71KTQa\/OeAPYxxkZNelnJKMsSyRjtM2mL8iISP6TBkmRetY2ogsS1jBtqBQ3b7pPp0J4rKekl+wXQYkft6fD8o80heKwn76RtlCsSiT4aDCXTSjt+aM+uPc69L7XTpDaOhsU7SJWv+nzXY5K02Sfgj1k2NU\/iNu3eg3v3uO7b3UIznpu++UmEk2miRc9GzHC7nyLlaJwJXXJpsBmec2nTuxEzC9JXnZ7mZEjq5TRM1qUm7yYtm0O339y0dcglh3HWegvYyZAsTN\/CdNnGO4cOH0p88IisdFxNifiVUQ7NUQGgnS52nPXecmiy49CRQ163iieOj5HspNStZ5Td+XDtcMmlxVHpKWDG+TUyMYNu0Ir6UmBwa0r+axvRIrjfcdFGbcMKeUILOaJmCd1lqz3KmmSqHLtS4X9sshtJoN6Ostbb3+0oKzOh3YyYjtnmI3OBh\/tm1Aw5zpkxU3GZyojZJpNYYMVNq8WDzzTMmKOCo2ZHgmAkat4XwExG43zB00yOGte1DOgj+TyARSSXeIiTLHH8i+QyF\/kfkndyPGlNJHnCg58kNQABkvS5yH6ScQHIAZKc5EX2kRxU01cYDoUlgILSUFhNhGA4HBaO3HAoXCgcUMsqQ6UF3tTWwfsdeR5EOByeAmdhOFSsuBWHwuEgABRWhcOlY7xgfGk4VCLSl5nSJbFMBEgpgIBMkKxbWn34311K+AMBTfPD9wwhJAChLbze0t5PdtG1lz1Xjs3zqZp4BkDp389ciJEcePjewYOv7969e+\/e3a\/vOUXXu6\/NmjZtup4yoWQ\/MfP4CMkTLxX7kWxxcfGY1Vce0zm0\/fmUCL0her6h48cTE0XWEcjZAIjc0vMW+cP0Cg2pF\/n+HS0k+c28wmQOv95E8teGdpLxTyv17DIFkKi6SvKLUz8gA0ML6y8Pkp\/sHpdoyp5asv\/8mlwA6uSZjeStrWq2UNeH\/L7g6nNt5HczNeTpmeBcV\/dqhOzpbPp7\/Zqv75B3\/rJXgccZJ8nu5pVPjKKq6vh58+fNW7Bg0eI2ug9tCiCjcwGRe7i7m6726J5yAc\/h9W+Rr2aaUKomTdh25sI1JhkxSe5VJZ7QnKLCmgOt\/ST5nzPn3pkwqUJKAH5g9hg1o+T6j\/5L1+7TRz\/65JMPPmp5\/+2lG577zCDPLgjiSRelE176ZIiuw492jCsPlRUiw7tIdn0xqbJShddlTX3kayFkTSH0FzY3MaFp1u4MTQwGteSCqSmcNbNEwH2MACCUL+6SXbuLkXVDFYoyp+H8d1cu0\/3xwwdeB0YMnq1KRfJ61V1yaLdAVvcvW7Zs+fLVO1pvJ751+9zGDcuLZPqCey2yIVfFs+rvSV4vFXh21Z4vG4v\/t+oSgK6nbtJrRZlTVQ0gR2adCxcANPzLk\/T0Ud9LyQnhJpKr7wUEq7JO\/Q0A9T8AQopSXQDQlBJdugl7NwAUVrgpRSoQEHqR4lDhKxCJhE8euwEsugtADfoAKBKAFIBWrENA5MM3RjikVqhAVeXksA+AX6kMpOdv\/wHw9x+BOSNdEWs7gNd\/3tX8hdt2Y6QJuHbqZEsFID4bbOlVIS\/f\/UtkKyC7uh\/YPwq3yaMnO4e\/A2aPA\/SOT2\/9UWBpXMcUw4fgjZ23j\/igDnY\/iPxFBca19rZeA8Y+eP1iiwJcuDkwOT311yDwpx+B2Vwqqqgjh\/uKNzHggke7BeAvKe87DhyxdEjgg2EFlcwHHh0XeaxyEcOH4PvXVbjnlx+gBhF5BTdOAaKo+NM4gNaLQuccoOmShARu\/1wyhVuBW5cF0ttwQUg0XgIWmIDPDKLC+OHnhi9z3AZfBMSnPUdufg0Mfgpn93uANIPAyHIIY6pLkBJ4\/6bb9PvnDxoasP5uGX3A0r4zn44A6DwIPFoPyVI4R1qvXjk5G2h7FWk++iiElZwALCaQy0Lo3Cugwj2+ExjLAIZOAqs4RgQEDjOE5cwBrC2QnOaCR\/UibF9xG6lHDVVA9PIDANyHPRTAvaMANwBtHX7kAv9pBnwAuo8DWFYGrC0HclMhvmm+3P8KgCltgK8tB1jQdffOqwmuLwbEZzcuXdoJ4Mhg+w0V8lhXS+90QN6cB9FW4TZtcPDi5eNuy9uvXmopBLCpXQewsu3SxR91oGEr0DIPyL840HYJ8N9sb23zAWd3An7uBHgZYkMqAOQi6aIAvIsCCSEBvM58AFAKkcoieBQ58C79kPDuC8OpP4fEIRXQAMgUZa7adsPveIaV+D+21lTryOsoB4TPS97tslRtO\/uUeZUsBqCdKobYSJ+A0LQ8n0Dgig9QhKK6qLqWqHKVQ9EU8ZQYWHPrBAD0VKF6ePTeRMy7f6eHNagcGAdcGOzp\/0UHctuu976VYF8jgKPsHtj+dFgYEdWUgOA0YEk8IIQK3+CfNExgFXDlnq7YmwD4ZpxkgqNdQCXLRIjTngaymd137UWAsKcAc2wAkB1nIfA7\/g745SjwcAcQ7PrXzc4E77UDX0Z9Aq0XISEACCFE1iqyp+n6qQEBYU0GFlEA6u1rADDJegFoPg4Mb4NgK6YMSbf324EKzsJUToeYHUDuVkWopVnrRAeAEo6H5AwgGOsfj2scvNk+BxWcBHR+Czw4AKw07z1ihdurnQAODP0yUgstyA0o4Srkfpu1dBUA8jSgQALQgwpy84vCYQ0okECODmgagNyQni9dlMYbAKCFVUDIPAGUKoCetZ5AMTCc4\/jN\/79lEwBWUDggSgsAAJA3AJ0BKqAAoAA+SSSORSKiIRIadagoBISzt26bD1MSLFXV9Sf4a0QH6x\/sB74Hol\/4HmAdYB6AH6gemH7HvlXZpX\/M+07\/AeGfic9We3XKK6D7cvnPz873\/iB\/d+oR6\/7+3YmZX\/j\/QC9gPoX+x8KDUX75+wB\/LP6z58f6rwG\/s3+l9gD+Rf07\/nf5b8pPpU\/pf\/F\/f\/On+d\/5j\/v\/574BP5b\/Wv+h\/hva79jfojfsf\/7SztvlbW+Vtb5W1vaOVD7g+VH+2\/dNprDsWD+VYYBEGD2SfkEOlU+wdnYdGQmPHvvtxFE03018LHoLm00fyq87hKcfkCbrNhu8fvIysoqqdOTg2Uv4yPMA8nxsB+K334dL2+44y1NdaHYj3gur6QosZkyVFvpFVt+VA35TWqvqQDyDC+5v1cGKTcFfGI7kH\/ki9L2ML4pJlpuXIcawv72X2gXL+G\/4ieOpYz4f\/96qe8JT\/7SvAsXqlLXgFUU1w8SwjQOTEldqVWyCWcOPIM+HDY5xqptYPSQz1zUXgCc4E5f\/JQ\/l94ABiClOi4ebNz2Duz1q\/dt6\/vDLQXksOXcJakgt6rHvDmP+UbTInoeVtb5WMAD+\/gbQAE\/GO9dqat3I4wy0uVjqtIph0y6\/R7szMs9cOD0X1+b0YWZwp93c3Vbl9m+Sl4RbVQWyGK4ePE9bxv0oCOvINpfhN4JU2xJAt9w+HoweUjub0lm1IyA9G3B8IvJnmsrpY\/1scPFHazHpX2TJKJ9R5XUboXWkgGGgFAj+KhrHt+Xk3JbFYkF6TzKvn1xBBmEaToouTFjtKljPVQdvVYmIUoNKmLAzCcUSFZ+nu\/TTWaiyKDJ3D7hLx67vbeY3mqSsOpFwQlw6D1p8MC4guABuDlSwV0E0BerHzUhypHtw3qndJ4XxLIjf4M30YwWur\/5VegGEJboPOu1Ls9v2wyIbGDniVGyiWclP\/n+DL+9HH\/6c\/MnINKA856IV6nW7vUHKAmUGTsUBJ\/CQS\/nhuYQPk\/XiS+3DLMbi0H3Xx8Eo74TQ2YpWXI54mRoJA1XDfG7\/pGVRwL03Ex4CdTyBj\/Bm3ZW+xF\/gAtJGvfg2n7oAzB50vNVjiIFFOyghCa+JiKhP32FVeZitK7xDd4wR2KDUQ1Zv07FhXCCtVWkMfe\/U\/8mxdhzXzMZpGy\/0kuuAHrbD3Hr9VPK8sq\/5PZpIBGksNTrQnGk9i\/JVcApHgCqJjHYtIr5Sa+axkHCI8DMekXsooBdZ6lIemoQS+aET2sZ2OCuwf\/R6thhi2arvg60bq+YsuqRec7\/aKNawjLhQp1Z7k5EROgWTPYJpMaV+3qE3QU+vOoIVxgiyqI4BNqJxfFYaphp8hOVn7RegSg8\/hkoVqLHKLtQ1x5RuXLXSMHVhlPTuphKvThX9vPMTfIPngC6gEk7giy60lOW\/iyaiwBqZFGg8JqORtrTQJwWHSBDUaO68p3u2O+HKdjksMEYxbEyD09+fKJzc0+WG539fCwzmfFc1NftcjrjrhTxI\/7aIjvbsbkNWQO26HGs6jAYdNcQZYgYjDksLz61vslPpf5q62KmzaIgjPGfh6glM2YNBkHVuOpLf+reMfFJbJb1Hv9YrQWZQMSjaRaUuPbf1WAny76hZ541WTWFvtwOPXv5c0d7P9yI\/PA8CA6nU5KA37Eflua+\/+CG\/7hW1Crz5295LfSniDAozrfL8W6Y29E4bnzu4SKGKTOhsW5wuC5QGBKTx2tM54r1nn+2+67Qd+60UT6NZe\/xdpaTED7CnsoaluZ2prge46rbw7ekb4Ait3TELn6eyoFsVptWGnVasvT\/Xrv5P6Ens9toGit+UemG8eltxxxo3UavjrU51XP4OAo6hfr3LzM8imD6\/KoKZ698CRvEILEyZC+Q4BEmkI03kq9BfmOQhGVQnTyHW9BVLEf4GdMQ\/iFjOZYKbWN+FhXqW+oAsPJgrgjKi8pcFrjeQMnFcuPKdzX1QpaasfKilZLXYyEsF47REBMMZQg\/9xFtNbrGhZLL0F+gKcJ3NBKAb\/d9IcOQ\/kbzdG+yaPP9pRnv059324+zUS723xvKgwSYhBn\/18XPv3yckiZYwGLvmBf65HfvdbnSuUzKH\/4QLxAFIvd4mMYBY8M2OofVTY82+gzW9\/tnZkqhLsojc0w07BaEeW7X6BfixCAGuEJ7yi7fh9uCqvfPZa81MUU3lEjsWGB5\/maWz0jA\/\/+0i\/kuLWpeGSwptmyYTpfBOc173d2vekfbdCRo39jyXKMF16IkHAnRUCk4Wn3q47v+Abj1aFTWMkAkDnqYjCyQL\/VUI\/\/OEn8naObKgnse3pA0tROP4jWF+Ef4DkGf2kpugKlvHazr3MPBzPkoFzCNcSczQErZ0M7uRM35xe5sgQBz9qTqB7IY+C1YtLT9BAVQf8PV9mC75tG7a30xbsTPzkAG5xWxsPSQWSfZo0I2gkKgiH5H\/qh9\/r\/\/Bt+g9\/6qYgJNU6530wR1nyMYn3RFv16m253aOxVW8k7aios4xK7szCLqyU8\/lx1o2TJYb+8bUkns9z89y7DwTNMAItncjaKrprW\/0NXk6Ot0dr8k+tx5OLv7vT9xOTvRePrFSYjn8XKBmYMkBtqSwcz1kz3LOhu\/GSm8ewp9f6UpycchVOwOj9HIoZ97JZ\/gbFHvjBbkxDD33mt\/aKal3BzFt3bD0+jtP8063xnJaQ\/aQanudW8es24ewhA4e+fesO74WTwrTEfpr\/NA5pag81h31\/fWqQHrmeaBDD1G9bU9eYv190A7m+FEgaKyY1hox8FVdk0\/JAxltx1\/nhAARGZPL0iNm\/eTQR+yy4hwj9ZReUBrwN6I\/KovxcCOM5bPS3Icf5320VbCeOPSkNNrYdhUjRfZzz6ZR+SSQDfDdBkIkihbKgGxhqTO7CJ1cZYDHgPGoiFRkA4Ct63FvJCefQftMZhDpJNYS+\/W+8+L5qL5FYg8OyuRhnKn5AeqynUwVcWRTbVi0mw33w+ROFB+ithYgZC5y24mVmTvXvVpJAnYTYD7UJolpn\/BKfHiCK5zWdqnZgtSobbZX+L4jAPGX7penR+e28sROZFyVne1m35Y34pZPDEgWXJSzBIFOB+B9doOZFwR7wxQbcLt4kdYlYTvk98VOYntsO53w2q4mZouT\/R0iKueQXy2z8H+fmEYwCuWcp8dvZHry8K9cmUTq47u9OXt\/m912PgvHwNNZ0yAuGO7wV4\/YG14knlNtLQn7meKJMNDx+u4tyezAK6yDWAfTxHetwk4EYP7zt4jQed0EfIH4SvALS9KR3Fj6fYTzXX2M+SBwriahT\/XmaAmRcfmbyKzrGbQhqbEtXLLP6bsRp3PPv+Lfe7uf3d2sIPuute8v1bv+evQcGm2Bzg9038r1\/z7L0Wk5rqwozqxaUm0oyLKrqYBfh6lfJU7jLdYMkSFz3+TnLb\/F\/IhpqI2jGCqoTJw++nvLPJr6f3bB+woEqHuFkYIVpDtPtuasleVHKCevYcWPHQFMQtcGCGfPeevmX5mPN5oxrT7e7fx15WjbpaPwoBe85g6idxotMIFPkmwiU3u6k53gprK1wT3qfcfNXXXjd8GACnjz3Kog\/TbRMBgN0Zl3OpMJMSQkzZBxL9M\/F7Lx3LP0n340SnY62ZS87C7aX\/wSGkt7W4kemkwL+GST4FauiH53XYssNn8aq\/jzX3ZO5jHLvtPVu5h5ybPjGL8zaeOOFjLciVwfGci+CIqER+2xbotV\/F3gwET3HTvRRYKWJFRVbW1hJdXVJYIPRiXiV1K1a6EM3Ja2iCMYQdZKrm6UeSdN\/Psf6kFDCFCFiTyVzSMHaYQCXQsAF6bapXM8AAAAAAA=\",\r\n        \/\/ LES JARDINS DE L'ESPERANCE\r\n        \"lesjardinsdelesperance\": \"data:image\/webp;base64,UklGRrocAABXRUJQVlA4WAoAAAAQAAAAnwAAnwAAQUxQSJIPAAAB8Ifs\/2yn9f891h6ysxOjSUxMjDG1tSdtHTq3xs5zmXumTjjRWqp2OJMV6xlUjlgUD5UjiqWi+B6UokiDVCQioZ5JEVFEpCgiIcgmm7BZLBaLxWLx4v5jDXsnpuf91+EdEROg\/\/f\/f7YtNelq8781\/4c\/aSqmeJON5CY2WbJ0c58ho2uFiezmLzE6hL4uj5TLV8sN\/2YMlUqWrgOUiL9eapTeL3VNHAeHM5K2D18fTn95+J7xMQTolImkDEynVtM9QZy8fhWGr12\/Rg1Hrj88HgCuUaVjuqV13DIxnGRsnVunXrnyxhhYjq5EqrZplqyMJsRBxtZQKsH7Y6CsqFGrJkx7jKKeWSyrVtbfJVMbf+LoD8fGo28+ZZap5hYSNS3RPmEwxm5wezcjPNW5Jqb+9LHTa2XFnD79jaRsjWx6NWHmRlJ5bmIIvuuGYYn7exjh0Xl\/l6W2U2cB1kmy\/v49cOpbqTa2mSpJa2ZNCBpO45HScQAMH1oLKfGq8pKaMYFrYKPqzkDogCfrek0MR482SRcWTgw3krwSPXWx9XU74fm6uq\/X1mW0EMfzfiap9ZwdAiGnVI9jwHHMeTUN1QI8OqScNcHATCVnCgVJ2aykPsrm87ykbspsmYrNARUdh39mYaRBmuRU4TqO496gVxNngsuMRtW2jxHekqTppszqLHYYbs\/g4KzPtLuSRE3v0MRjoxr2Hu6VFjDC0hjKfGIxGh7OaJrxYLWIFE0aj6bipGJ9UROQ4dg3Bw+k\/+bAZR6SHmGEJXEVhvoJArYq65SAb8oRpQrdvZpwE2ocntrfdXsaOwyocK2YV5HYG9URcvh\/MhNVWEOAe3sY4T3JUicVgGuFwldSrtGMEA5H9pA+hG\/21E9MtXXCOT3+CD+VpBmYXYX2lgZl2rK7P98G4G+QRLWmEtL84+Fyxx1U\/As92Z3zJ3n2D32KLQBn6ghA2hnGObaJcYA6Scu6fiSeziw1Dj8cYPEkyvDlrkWS8pVKWF6DqbTqe2Idm3iXOVNalm3bvonWieKyARzbtm1Tm9d0tz1iwPvQetJ2gQFJBW4QPasTs4OIDTOnDmHwgnmSrgP8z8atLRMCru3YRI2dNkh6RS+CbQ+zW9O5ZpfKOyTpTkp22fY49hMBhExvky5hsJGk7N7AA7h9QmgD6J3W0TXNpoYuL6h+2gdAf4OyLwCcjuguosUp2mKgUumSpIsYQm9bTlpyIzSEZbt7QlBbZ0enolM6k7s7txPEPScp09zYWZCkzmmdnVNi1NnR2Tlj6bufAzZI0irHADaNUlO\/CeEGvRNDjZfgxb0kSa33qMZAgE13VyTEgBc+YEn3nAoMLm9nJyxLK+McFkQW7lWmNoZ622GmolttABtJKgFe8KqlCXxFXOgf6pZuuXj+dtXy089uNG6EHsXeN4qB0Nuck9p6jlKmWT8COHwsWe9ydsWchMKbCWvAfmHW7FnSyoguRXCYJElbKdNTxaSVK3tiiivnRVa+v2LlSzefH64rqv2tdQaG3ls5LzId1S1f+sHy1Tg+PCFpOSuXL\/9wlUPUDizJ0heMMDlm+vKly5cvX7H8KJxbPltSJ0PLVy3fTHT5itdvMoc+qQ\/AA0aW9Un1g8oS9YEASXikDfw1WWnhhdD3tjZp4epF50n0PLi47C7Nogzg+b5ngDduLpdXpLmVUSD0PehXfh3rVvu25\/lES5JcvGgcNk3SIXwq3K4ZA+D5XjQA48H1+fkPKPueD2A8N+TmclggPcqw63iA5\/1ZtzB3FT7Jw5IM6Z3R3D1vnzYGO+iSPqRKU2GnrDd9j0RjziesvzmCYH+X6jcRb8Jz9+Z7lfHtGOM4HtIvqfIGmT1EbbqlaffsIEiDH66WGqkAxnHBcCHhpZsDh2ek3AP33r8SHwKOSSrixETvkYh3TIzH2zpOkCS9gpOOz6WGGMDFcUafixvvSQFnb1W0gwoEZrss1ccYc\/3hvnsluXHxvv+aNPu0MSnexU0XfqbCb3wfw6XHFlEBP7ypAra8NCumPYZdUkLoo1gnEjJ7CAM2lqQdhCkWVcMe9VCBkH3SMvpeg6efuYmcYKHU8sxTzz+7Fr8KAw\/EETd3OOJQlLQ31cs4acKwf6a6IobLL8\/XU9Izr8O46X2qBjzX1TWD5DSG4R7FPxVJdihI2pOmfU8YpPFZIeU\/qPjEzpMl6VneHC8nee\/xvrfr0\/jh+lznoiWjo67rx+1OMdRjSXpUkokZcUwtLG3DJd0aWWpkyAfjhNwrrXpdL75bq74qH+s77QCr8+nWTNFsKiQGbJVUxAEDkixSxFcldewPgkjgx62WVFhNbBjS9\/gri1R7auiVb\/wslwaHx7ObK36SMefmZHpzXsRcnZPK8NYrozFFSbtMCr2ME4n3w08lyXr1PdcGTABtGkOnagMBBxskSx\/GBcHKtXikCK48WMDCBgxIej0hQLqAwSYjaZA0i3Ah4MsNBOCxIyLVgQ8YO2AsqGHgrrUU\/Tgu6pPSZ5\/WLtTrgQ9m9CnFx+WsHzD4wfMZ6f7zxiS9HXG4tQWbMDw0Pcaqf2cNPmDMP8dXhYIkzcq\/k+R7pAzNqa7CImXmhR6Gi6pCuoiBCllJ2wiS3o24PHQbDoHZ0RAT\/aXng6HUO65spkYu3vpsUvrQHGqSegvYVBfy4JxSxK88lZG+SvMKDjjMbsUGj92S5vTOmXPvnLl4gIFx1hzZP\/3F2uBzRe\/\/U64TudGTKq3NJGlXislfhj74fPIuPvjBp6r7DamNOTt2fg0OdL2QFARpTHhhTgNf3YsPGKjCsU2M4xbTWPoMl7Q+a9R88EbFtm3bjWOke8ww1Z2Z9WxCSOrA\/Fn1fyDeVH5WRbJDFW96XozvxZhfS\/VhhSrHyPAJxlTzSuPP4gL6d4RhCo5IufBqxHBBNRr1GxOCGbL0a5yYeJ8tUjflNMZ33h4jH71JaKqQPo0JvYHG2ygnmODCk1ITscZP4VUBWemvJqDCLEl3XSZIYYIzD0nFr3GTfMM5jVlOi0lMsLQ4xma+Zg\/ixRiHXbLUzG+DECBIIogEMZ6\/ec1TOfUThN6eJkmaNWh7IWEY8XhLDTOV2YsTxhj4I2NnSe9VTEJrRA3bTQB44W\/rNWUQNwhCwH5OUsMvxUgQjKxbmbSOIAjABEEQQFabpujly16ZyZJk6VkggCAIAjf4pq3nMymzD4Ig8GHdu1o\/dhlZGsBEKhQlWdqCT9ThbWnK9wDBuY1PKLawGygp7R+AYD3RbRvyin6Ny8yI2t7b8MfznDhO7A9vKJrZuIPoEo1tgqTWy3FusEDRJUGcGzwsS1O2btxylD8o5eYNWz5JpY2bN6KPt3yxcZMSf7blDF0xi3qlKZvqcls2fPHFhtN\/lPKTJcna8vmqLctkjYPAzJDAEOvwhCbf3v4lQYwfri0qNrPu8XxLUk0\/UdUf0hwjqalexYKibT\/PNNxxOSIprzGPIaBHK8oJDFN4aE+AITa0rz6k\/NS2qVOnWJpfaW5rbmmQZLW3t0RapqilpaW5uU3KT2lvb2vXpJaWluYW1XW07TZ9Lcq2NLe1t6x4xnp1XXtnUZb0wabC9SltDcq0P0J7q6SW5paWluYxoUReVwnjXHdBXfbzIIiDR6WFRAcLbSHAdUkFCCRZIGItEWtdItpzkdgntxN9Q9Id8L6UW8qKaYdhUI1QIWhUN7Fj4zk5raGmIYO750tz7RPb+sv8tt6UTn0x+q6kvG0PxozKrtifrf5Mk67Zjg3WfrtCOMrBM85fzvr8\/axdsZ0hfqr8okrlN3lN+\/4Gq+TaWzVndBS8q+KGhz1mSFpUNgmubQdxtrlHkubzuroJX89h1reflKQ6OBvZ84XA5LI5AYatm9SP+cs1p6L3af6UPU3LjA+O94R+ju3ysaw7CdbdblhtEbBrJyflBM4WNq0bG9+0y6o7hYlLa\/OCVF83myWaR7hxDg4cmZxktUoSBkCbwQ2LWR2H+j0hudWA3\/7EkG\/A4RX1+Y7vrc3cySgQsneWa69Sx\/6VwlzKhdnC2OCR10GqNwFXeqVXnmlnke7CuX6K6Oak3Lk0ltb7AB0nMcDR9h0GYM4ifBO6F+Zll4QOPus79rmB78LIAF+rYVC6xXgAl2oUJjlZ6bNKaNIZuNqt6J38XLcZ1rRy6a+731DcacVj2LVzlxoyw3t3lionXdgfnNZbo8G3O3d\/eczGYJin1wnBOD880mFCCNnayKGmBqnzgoe\/\/5ivGmMSsGRpEIxJEXCuv0vR3MvBrwuPU\/qnY7Zb2UxjvVRnwguFYjFiTGhZmQJQsM6QPxoa\/aGgzF\/CLiuTzawO3FOXeKv4tnf+22uEr86kcn3QBMYrG9hWnOXImEvS3oYafUe8b1okrT82Api4gCsdip\/nA7ivqYXYv0p1xEaIP0z0+xFj0yRpK\/EG2nrKAK9o5jWiP7cw\/FFwoB4GLAgmNxVorI36wxg8WvN10tFL\/+ODMcbA1TZZceo48c3Bo89LrQOHjhz65wFJuYH+44eP7IwMHB84cuQQ2jPAt8el05ypk6R3Br4+sP9Idu6JgTl68Lv\/2Xd4gdRx4mD\/d8cXzxw4PPBOZuDIP8tHvt2ggf4TQ8M2P9RImBhcoJAfKFgbTvoA5wbbVOviPtX0ZKt0XJI2DypaL1mqdfcOSapTfL1iT6rWAyS6I25+pJA53aIPT508dqpF4\/68pcRsXtK+6dp3S1Imq1++kyK287gs1eWU\/3vcGA4kRIP6K52qZS6bS5\/P5XKZuFzKvLK5fC6XyxXy55iWzSmTUyYXm8\/t+E0uY+WyOStNtI2LuZxysflszTQQJnmGCjOzKaysJcl6k1oOR7L11Na41Hx1Np9NzmenUTKkrZ3sJPDwYVYm4R36ZKnPKXnVuu7odklF8Gpr8L1qw9CLpVof46UsZzI1GwxTAIEHP4l7c+QnknQvNlWGHJFUZNRnvIdeep+qa6aRdBCU6I35dIGi95UdU9VRKc8oE6zn1Sx7+tK1dFDmjkjyPfhVnZCyVzwzwUDNXEnHMKkoc1u6oRImXbBXksWPhuTn9R3p7bAnlTTb9UyKkH5JypWGxoHBKaV1MTdLtL88Ug5TcEsVmuX5KWB\/RLJGzVgZ152htHd4nkkwlfEXPUQY5zCrGt0yetWLK9tfKdk2Y+R6XUrf63sJH2crwzfDd8R7dtBTlaROd9gZdbYpvTPqVJ3K9TtV7Wx7yHGcUWeDpCJeNc7YHfUd3yMoefn1c1X9gq80To97SWWvQ2Pa6I2CH\/FiRzVOT3RqHE6+OhbSYRMCdjBVtVz41xRSwd8lv+yf14\/uEUJsWvX\/\/v9P1lZQOCACDQAA8DoAnQEqoACgAD7FVKJNJ6S\/oir4e8PwGIljCh6YTTl\/lOYE+q6kGh23nOzPFc\/mHbx\/l\/B3yNfLc+7IP2DYceeH+g75\/lHMT\/nOzx1v\/QegF3z7\/rU48DdEP+q8Ob7N\/w\/YF\/m39u\/YT3YP6v9sfO5+b\/5f9r\/gF\/nf9w9Nn2Iftt7If7Hf+48aJMdOnBNk7JeXHF7d5v\/MqIH4r5W00WICcUEfDh9LhHgqPtfizOtny7WxxASo+Oo3LGrkjg675mqnmoogokXvHnqPDSqXlceSWIQT6DLrku\/7hFnWZDfaN\/H3pfg6BQ3gcPFNxQTrmwqnbvsY0BeS0i7\/4HN90Yf7GwVHADb21xRWmbBR53neeKF2NSpVk+mhl4QrSDy0u3AakAtuQdDQ5dRG4M3z1gn\/r4GkvbG6kUdIEOkP6reErJOfv3clX4PF\/OEVR11dWfgHm+OCXSum9YQojUJReqJZX\/OYQjKXJJlPbHT3Z6ottqk9inX2FJW0rHNR+nam\/aWC8ZX1uebHEcd5oCQ0gWC4Er3jB8787QlPOfpdfvh05DrkTz4ntUCSCehzxPp3BiomCJ\/DjIqy7saWZIpMDlPBxgelIq+GJqlyEnTEQR1ksEAwra76b+vLji9xMiAAAP6QsAAAHb1\/VXsOeJthphK782fVDzjQJm1ZkbiOrz88QaJcHBLsCeWKIl39nQt4hWf3354InCsr7Hd8Lg0PV8Fdy8JFUnEMsIYWUwnm5X2fcQay5kpaCRiuM\/DNDkw8nHfErPb\/yP1VL5LIuOj3n34szIfAJuCXFwM6a64\/lvUweASXWXPavK27UZ5NOCedhNGtl0tZlNKm7zN1M91uBogLSimjFAUd4h\/7cpNDxExrNt1Ey+o2rOQmo61YC63XscWW8vWF+LjCQ\/wGdRcaGGcqvh7ZnV78XIrrRkPXsGDVK\/9Erj0uzF0Ckh4Q6r7FIUREqw9jvxcNioq64CEdOJRiOQOu7nxC6UUZMr+ypw3wZdfiy3UbjdTUz80rYyEA1qAibv6mTFpf0zsAWNAXHxr8JZJ0dx\/z+RipXTXEat3ItYKuj9d4el\/ccrvwHPlTp8HDqisuWZiTiwbu1odTWfD6XEInEi5cBAdn75e9tqLaTQZ4iMi5eQSBc+Wka5bjEYAHChcQ5bu4rQ0JJa5GRXJTsHknyLlVZUImr9UC\/S0i81e26WYvUCwdbMjYjhqwHfvx1cE1z8VyOFbYGF710jHtxqJ\/Q7+sKz+unDVmuiElABFpNs0NG1K+HPr1LlcnXKQstrYoLlStpTmzeTlrzgRSf91qEZvbOJNWmoJ6btWscJSbUze\/fG\/PXOJqc3CsqAOiNpp\/skCnUVpqd098\/Imwv8WQ8HfttJiCtrl\/hy7LWZns\/YqiKPY\/Pm0QL7CHzN8VRKokcZfrfhjb0+bZWjvbH5\/d9Bk9E32nyMvPO6SSPVZ6q9eHYeik6ZbYji9NvW2ercznKc3qwu6Dg90yxh9V97NwY\/pi3mxlSFacLTf9AFRGx6Vx7YrgFB7mjl\/cVdKw9a3wkbvPjxQEOxK+u3dHKjv0R3JbGIW6LYBDbQVUB1itGbN4xMN7PZ6v9g0qilu9jgQbK8upWMX1qh480Mxg1+K7L+3qQqSef\/8VPKNqmLiyGFdGZZoQzqL\/hEhPj\/XdhdRXsfktAI6Q\/6dpPMZv1UFMGsUgdNQObab\/MwW5iQuTvuXQN\/PuUbUt21Kw2Ux9WIX\/52A6aod06ZvPhDW1ID5Hj+08qPanJjlO5\/dWhS9KOYYlj0mV9Izzqj0Afs4A9IdF4+s3Y+sl098FcrnzbBOiCJYZtBl10mv3rQOa9FBOpKSY5Hj3hOcuil1YyNQpEviHeCB4fKElkaUQoseEZPrwyIW5J743d42QjRoXNvl\/sJ9rvQJ4+BTqkyPPJgxpSjVofqvRCVBLX7z1oM2SP6W4wUe4acJgqUq4YSYL7\/zZvIvM8qjFTF1uayoCd877rfQitOpj1vYLAwZx4Q5Uw9ggIcU7zdzX3I+aZsoLgVhnwUSn0t7LBpQCDVTfdwtzqxDU+ShlvhXrWDhAefI8+2tpAf8RByepG2CrvzwT5XGICjSEKL+4iL1ow9f3wSUIntDKArz2EfQH9eaJGuAAEDPwoteq4PQUW3MxUkt1DIQ7wmXBi4GFggYGg6Q84KaQJgPdW5KE0vRSvFuLaQFPas715IoM6rlUgzGcNZ7GiZZ1wZ\/UN2DGmLeLus9dyN4aliTG1PC1wImF+4mhp93RSmJJrs9f6weGnUjuYufSc6ehiYpQz0A\/XMrD84MHexneddLXy6rdNb+mCiq0Cs4jV\/G6woUGTL2zNY3JQZ9\/sXsnLuxh2PAczAEGGom\/fUs8AVW\/bwMFXrV1ODG2ji0aiPHycMzQOuD4WAcPCDYHKo0i0XOpUJ3U+PhzhS1EE5wA0jxr0GktZUIMEdvMas5sEL3Foi2Ju0mjFc76vQlP9+rOvL+5H9XUNipP\/YYs2z7z8znfbenQKMWcOP9dYMk3izPxZf+N0OBbtAlUmERMj6uVeUS1cx8dMm1v01PaQIcCnI4XP16SDntmOSuTZLyjGOW\/KVEVEJU9IkL+oux5IQ5M\/KHa6i0uYFV3ATgd21dNTNM6NOaMBU+3o9GiHrjXvnwKYUAL0akRUprzbTzuQ8EwdEuW0fuZEmjIjR+aOl9l2BXE7MZ3o8aQ6Z2mFYd5M9cm\/6FEcgwYmc86WvRJqQQ4awtiiIGTES+NQa+IGrzrd5Np+i\/zDOPLWQUBSeeEW8v79F9RHXx0H+CdtRm41TSfCwz1akdQLzDo5tdFO1fRhmbv5NRpT+hrej0F\/EilBCxflS191jSj0HxK9KI0oDZD6IF2emsYySAljvl52\/SY7wVNJ\/U+PNoVh0xTj54EbHyjLR0UPI45G4Rjd6CWatRl9XC038s+xgsdmV7Yb7rp7R21MIyJYe9YIDhaJ3wsP4EcOC+6A\/n1Qj3H2a1LXLKrj07myIJxpD+2WhXZBlQ4+HF3O4fPsh0cYY2UW2o4nCqfpkxEpZaIckLbmiP\/lTbrB48FCFXi3OQk2nsByiv7TwuUiPy+aC8F4bH\/ZxYI+yGQCB8uMKQ7xe1k4nAKjyWhqCdqyVlMtmF14stZwpPfYtqEkughM7f5KNsuR+7uhKp9tVldI7dDjXZJo7cy8RJIDT\/GPNeVXVQ2UG8M0tGkOqAVxZvB4ng50vc8jLI9NkbLIi9laRK4s4+1TKHnKU1r7bXK7pk7WhF1E55zHWa3abneCwmxHBjsfkywJWlGzhkDGtlEHVihS+4LZJgA4pRvekw5\/4AJR+pSlgt6hK7jdQxUmcpBhc4XCqYpA9bZGuJL7L3eDsmioQlptDPqEasbpNyM+\/7+QOfhGXxbJoQqXIfKm5ielSihAZZtX07mB0fxft4YGCZNnS8ZKrohJg4mDgw4hAmWoYKj1Ru5gPc\/Z9Tv8U93OtKy2s\/YHAc1T\/MJPzopNcpqiSb6Ed1kXSaww5htqE5JhQ+edvCCyoz69oafcP22iEEgEJPyvp5AFkP+FODyuyMq4XWJyuHOP6wnj8z4LDEVObupUwMj1\/kLPUPkdfrwY7IOcsyxIIzBiM0JkKimIOzs2fSBOJz+ifX9NG2SiPqFyuvcEFaLObQ0hdFEc0Yv9LnqwhrtrZQivxm+Fdg3hEMEDIxIm2e+uZCbO2Mlv6zFlh+CEG8IUv1\/BAL3X5fK4n97OQCe8W82FbvCuT9O\/+aIKjDCc6pOHXU6SZFNjrncECygYkiHp1bpugvzg9HubEoIBxFcBte67Q6e2wP68bojZNEmql1qr\/57Q2sP7OM+8fMDKF1bJLb7gG9o9QFWNrcF69SkpUWselIEhuOkTwTGE94gUWAXCIYoWA0fF+uGpvEgqnLWNRVaHPhmGqA6k3F3orJVXs3a8B3MrfV+a4EhBt\/XKTu6Sj\/9jof+JAY3cYxR3FrOkA46i5yn2ZPdIXW3r7QmRxrg4P9NWQpB+qOvzwrDCHn0wKOFjg77XxnFXAUQcWwBcOa3\/lPsQLNWK+ialpAD+t6WiUm1TlpMF8MTDtw5QyEX0dIslw16SWvVN3QVdOEkt49xMcuCFx8VlIGeyfWxUEJUiXaqKchaBhwFuUwPVt1c9sn1EyreQ4wn5\/4IIJclm17Y1DIAadSz8rfwivUg48y+tkwFJz\/dxMcMl7dAPL\/yGVLfQiP+EziNallmNe1petVoQLc9cN2\/9ZAsy4I25tdUJ6RjMZ5xPEjDk9NGzvscTBe+KEZdpdSvBtfpgAluPhO++heNrBFEQfI85aCujhz479Ls5aNg8vcPB0\/EkRZu79a6rX9GXvhACB\/15reDdckhaoqvjydQGwd9Z0Lpmf9qtNYft31bNUQLL8UiPDgxu8E0xY84G9S4f5ECWi6FGOK3DjbgWntTgiBtQqgFwAAA\",\r\n        \/\/ La Cloche\r\n        \"lacloche\": \"data:image\/webp;base64,UklGRogPAABXRUJQVlA4WAoAAAAQAAAAnwAAnwAAQUxQSBcHAAABsMf+\/+K22ed3d47jMDlJYVlKLjMF2zTjckpJhZqYeWv74JixY2ZmZihEHaZjZuaCZf30009fff44+3zZ82QMETEB+Nv\/f\/v\/99njnk4+PdX5CbMjRchLIz9ZcpLGmLve4aXqp0qcxtqaRJL7\/ERxjxDDzbHIZ4ZXjo7+9HCb76ZQeNJJtIbs2umnRuJpMkWhkEIxSfJ05yfFApK0FGFKU0gxW3nGT4lp3MqzV1FIEREKhUxy1k+H4uRmHqNwBI0wo9Dqb\/N\/MqymfdIBjgxEkSSX\/FTwPhJuD0yjkSAUI11eWBN2KQ0QWdSUVZ\/2VUcsivvG7FIRoHT2UUdOL8qkapeuOmxuCQBVv1MxgEhLaw4ANbl1anNz07TcYH0381aF8u+NZRAR0awJyfmIOweop80P5qyifz8AqouLMjVpkvx2ZDrvDPpnAnA1mwFUkr0BuF8z7dBgEw3nAAcyKcLgWpaF9bhuyqQusHq3YIeSl9aNXVLpu0PvkqGGfKB+6nomy9KcTZ4ycfyKQgDOJj0eQPm3Og7AWatv3uewA48qDtZCJuCtFcNgIoa3hbWeUzIVms\/kDhUkvlWvUkivHuCMDGtkbQwofoerfP1tajkyOm9yMoB4klW+9WxC9rtQVyH6BW0WFMvN0e7biSvXbq0MMosf5SOE3GekHQCOkIdcAPvJxkigkQAKMnSyIYRZNL2QZ6wVZkHLRLep+5n4JxcEOZJ3qTDKv+BY3zS+XgCoc3kBMrvv8NK2FfNWG0nzHK9tW7x3iwo2l7yr7lxaYdaGS7qtUl51R\/AhN8B\/eQXCqEpymK+OHxQDzqU8MchHTGvTddH\/ghNsATVJy+zE8Npu24MneVVJ9gmwkneoMCq+5hhfE98sBNQanh\/kPV7Q1tG20qR7hpe1zVvWiOCLaKy2FGZv+WZuWC3p3E5+9cKrW+WAAAv5QV6gWeliz3GRb3c+6QE4jBsjmZw3ORJAYZJpOtmA7NtpREQoWYkYkwhnLSelG2xSz2zsfI\/veZm2N+aoAPezNR0utk\/mANFOOR4ARjO1NNBkAPEM60NZTMOQJcU9wnlar5neNqd9Ig7Sp0ChOmUSmdTFNKcO7ts22nevvnR625yFDcBQyrWJITfT9vE59zO1cmBNxwBflx4HoOxbHfet1edPnze7vSTYvtShaT7thfI10z4Q28xRANQNvCETcm+l\/0YFqLeZ9hMAi5m2BWmLnqT\/eACuZjOAKrI3APdrpm0Mdmo3WM1EGGrmko72jkVLR5XssdAFgL7L5zmZ4Nb989Kz96kBgJ2XdLR3LFrSBAC1B1ywZo\/eyBhpOebSs1ZUAlBzd48DyO1YEgOgZizpaO9YuLQ0kLqjG0TzIhXCj1AphKoUgiuFH2vsZZqwKDSs+V\/4f1trrA2NYnmv6vEWMymhCWk4q6dzH6AOjyKiN1f3cNtRSzeQYmxntGc7g4bdKULNO5xsXM9XmPDlKwCeF0JuoDwnjZvri6osoioL1\/N5OQEqrBGRbiCFmqdkoRonVQIlu8UBVd8\/ApQ2NJYAvYdgGFBch\/4O1ISJ4wG1s1OdD4wbnOeLNVc7wMBJTS6QiAAoLwFqG+piACbmAhgOOA3jK4CS1niAU2iYVihCEbFitTHGWhGhUCjcyoXBnKZEP6B6Sg6gdikD0JjjTAOqjywdARQeWjnAQ3wIRpZD7TGqthhoroE\/b0YOEG1EfCgwKQqgTxUwPCdSD7h79wXQqBCpG1ADVE2JZIqnrBWhiIi1RmtLCjNabYwVv5ahgVRbRwzo1RQFgKm1QIvntAK9e0+fAVTEJy5XiI\/G6DJ4w+L\/igEYOcEHb04+ojsgPgyo8wD0rQZGRmKTgKGz2xygWcGbvTAKVDVEMx1PTRERq7XQn\/xenrny5rse3\/SJZVqtjWh52wvi9M0ZDJS09lZQtXXlQGlDQyEQz482A8VFbouCGt84GnAGoSkP6D2+xhcZPCkK9G9ucIDRLRVAeQlQ2zIhB2q4O7AAGAZEqmKDgZKWvhniKW1FaJJCft916pxhVV6CDVBKOW6sYujsk575nqQ2KbYGyeh6ADwXAFwH2UcQ0IkgbUQBgKcAwHWQ3lMI0\/EyrGZKKCnyq\/N3ijvw97KnKwR04s3HrSW1XBdCj1jwvRXR5DPTi5H5QHJ8EH9O9TEij6seqZXaCDfVuQg6wbxdlg1wqOEx6JEvoGZyhYssi2PI0h3wqLHflvVMXxh7RRW6ubD1DpJd1eiZPxG7r+oOVTr1jLdJyoFR9NAjNJOv\/7Ohd56jVCCllFdYM\/WoRz8haTftW4See7sH6E+9fNea\/xy294ply5bvccDK49fcvPYjYdrOY8Z66NHdScc9IwxZd57aVhvFT8BI6fCd9\/jv+Tc+srHr9ffeebVr46M3nr2yo3lAkafwt\/\/\/9v8fHQIAVlA4IEoIAABQKACdASqgAKAAPkkkj0UioiETDKRwKASEpu40fAIAJCDrpq2eA80W0f5H8Qb7VPXlccq\/8P7jPfF6h\/zF7AH6zfq51hfMB+zPpUftV7hv7f+Gf9A+QD+Yf3brBf3K9gD9nfTS\/dD4MP7T\/r\/2s9qX\/7ZxX2I\/5TXLslfUEkB2MWjb2z\/aehOkp\/Vf957AH8U\/uv\/A9SfO99Q+wV\/M\/6\/6ZXsD\/bz2QP2IHoD8vgFMQfl8ApiD8vgE9LbPTint6crgujJEz5n4G9sjNq3u\/h7j\/hSHQBKlvjZnUCXrIF\/nVDTc3Y0OqdKJBRpZcaK7k1doeyVIRQg1mbjhyuqFaMlwAceOHIGVJ2YoRy8cgaQHBz+W4PSmaKmfw++7u2h7lok3IZouDb2MitZXZv9b6Egj4x3qc5zZ4tO2kkTl8ApiD8vgFMQfl8ApiAgAAP7kJYAACk75PxkHVWuKLSUKU6ZmFLz81ufqRH9kz3kz0wnqLa1H9RPf2G296OgFElnILd7BXkdss\/NPwQJcweP8nwRtQGPkREzZIwkO3AmNiCScQhjjP7E+Lkumf9evydnYeYeCMToLnh+gAGYhKnNMnZH2Kxk6JOicZsAif9DBFeygdjfPD6n0fueIGd46jYxp1mUXXQIBpctXXkzzA2lKmmmfaTSFbLTwNYGFNjRnTuHocQIMmc5ucnnDjO+99W4BMhzX537y7AWyjnSIhKPOweucDyNYLzOWIyChjgy4uPQkltlYyd+auCaq5cUufVFwvjt8Ed1gWx9kH1ty2PIHc12EXGaDTtAXZRbjDK8lusrbmY4uuGaf+faqJG1j\/ehcJDyz0v4Pbuj17XmPOHzO0i0pmv3FV0fU24\/xx9B0bMxl9jFuvUrvKHplfL5HfwY\/JkjoCjwcbem4BsmDQa+qy8s80STetUTUyorq0MXGFbbc0qqm\/THCHrFvU2EfRL7FQ16rCG\/5B5jMBJkvhLLV7iUDF3T1hMkUDwfvMcvNYiTbOctm1+M7IBOyqzLVW5WX3k4sqrqdjGJF2i9et4yANqkDS8Hv1TxIs2FacZsdgc1Zj4yQ19nXdc1q76SlPfQSowQG\/psQhMMaoLq\/j2+JNL1hHJJ7U9JoypnffMIYnscn14LoX7vxw+DrBQMOUCAyjgBpxRGM2kDsTkUUteELEYpTW3P8iDUOMXIjC3mOEnXBqYNuJwnf4WIeH867PRD9UaWQCkj91HEu3h+OeKvlP6IELtHA\/hxWs\/Hk3ePf+7s0FVv6qSrIeDG\/IZMNpBxWbsah\/GHglhhvJIdGBlYPxSPrcYwDDYjPswj6HwkodOSkbv326IJ2vJAWuVm1tFfLWy0K+gex8dtfyVPD+7TkZjtrAx8rvdFC8FGCM0X4I73Peln7JS+3BjICymUAK3keDAPgcNBdaonOFLrhIXDGKSt4p\/QgIX3uEJBLsX30fIFTCcdKunJ5gKXEQy4zokNNd928B\/Gpfl3Juq3TBJ6EEIz6vFY6OiAdIyL8E5O8\/civBkX5s+zrVm6S\/d9f5e+Y\/VZSHW9Fxq4HyUOtQkb66v8LOtye0U4f6ASG3zYyi\/lIVopr3EPx5eKtez1zNPJsTW\/fddpFsoBbXL6gO3xvz+tUIZHu2HzXz0dMzbqnc0dhxnjBcrD9yLCqqTmc\/5ClUiu+7iIJkZCaxuPbgzTRm5rKyo3ghEPZ0lKs\/kYedLmKPesTQ3AUgHxIs1\/e1RvfD537PKetfA8FMOYLS4P\/6sVtJZyqqL\/\/p4\/nOCt4uK4dBXSME31kMHlmmMY526Jl2GstakYKeQj1q7fCQVCwqF3TDxwpsItR0Q\/mJyJYfS4dNVoAypL\/zONWHfO2C9gtr2gtXOg\/GQKvCVgkbqOG+E1IY3RIN0vHAOrG7Atr6uuo2JJsaoeEimHPA0dE9sEuu88OouU2fMbwgrphSkh8KV3p9NAocI5Deox2Acw3fyER2EquPDrncrkeYKYPIonqhsh1ASKS\/LfRT3U6Jgl9NkNWJwcBqKxn9IrwgmFkBbVTP60Aii8Mhbaw4iUz4S0ueM\/3KODPhXqb+KrJoAnvc0D+SssJAVAUeY+lgyevLf3lQgNpac+qjEvi+fTw+jKOVvFfU2XBFUnjDPfWpPTOZPhIK5nEKe0lDMWmlVJVCHo\/y1dH447IbDFAPEZENtMvFGJw2wQfDPGw5okQbA0SyXt8FrBQV5KA63aUyUJ8Fz\/isIP4UjPh5suT\/xBGU4xF73McFc+a3GjXVJUUiEjH1FojgBYpaV7YSqG01Ss54WuKwqRZ9OD2iXSwd16W\/jbrc9Nx2D+C2Wxx\/hwmDBH\/fcEf383uWduyToyIxX8mStGDGHDjBJjGkX41H8mCEz26KqH3Bl\/nhoqMceN27r7\/vSTc49DL8OWeWtD9TVIMKucP726eWo65NLKqfsk1dW+2oTwf7q3y4AquUXIjTjgfm9X9SmCkJWWRF+YyPPPyeJk4xCCWvQI9mJZ4uNcu8GFQXoKk6tEqJ0SSVmL9o6XqmHttwM5YreJEoiPYFD5Ruh+\/vQwQkEghfZGe0GLJJlqfTC8RAAdl1Qk0QGSKIr9YbXchDWjWSK3K8+R7YWRRgef10t+0P2H3KlI6q\/FKK3Km\/41c9iGXut\/+z8qXugDuCDJFUqGjEDIf5O56n5GNk7AunbBXaHTUPEvq+sMyoL7R0LhUOverOexxOqTSx1VH8UGXpB2cU0C2s6zkSLx+pL1oev4qiND6JQcNoC2fTSLvaLAV9JkFLX+6cDy0mddkkIMvj\/tB72hsaAae\/Dw\/\/s+zemYmNqjEtkrevv+7qrqEKAAAAAAAAAAAAAAA\",\r\n        \/\/ La Part Du Peuple\/ l'Apr\u00e8s M\r\n        \"lapartdupeuplelapresm\": \"data:image\/webp;base64,UklGRmwPAABXRUJQVlA4WAoAAAAQAAAAnwAAnwAAQUxQSBIMAAABwIf833Ql\/t7385w1NbdcMjOb9r1ma8pp33ebtehr0SzVj2lopoUcDI2RopgokqIokjCapSGM+IYkIYZEEZKESCQiIiLK4XA4PDzc3NzcvP84x3PM+u1bREwA\/t\/\/\/+\/\/\/xJqFR5sDLkdNUt8\/0aZdYtxDS9b\/xYZc5l0eDdCrZzwKgB24N8WawcZiXDjB1qTLmcDeU8794p\/O1gnSUeH54unVJR85EFBmJq13n8r+O7QVezOx0ZKYyRXI9hjXOPw7L8imb43EXhKR7N7DOy\/KY02TyxcoTJG6zYBQLwx4Qva8SxPEvYoz8iZNtheNHzeJ3S16+QBE7TU1JyPDyiNoeRBwK5rWy7ehCg69Diqe\/Z7AHgfRnclklHe4\/ZXjBohnk5KfmUNk\/U3HeNyJoBf6BhtGuBr04o0So+FOEfNK9bw5VwmjSF5TQAryZYEZkUY2+4fGZj+iJK3MobnCB0q7gUQDGlNxRk4SNcYI3lLYAsd7bBi2D4dZNhQu8bhexAtmuOHmqTC6mbBfZc7Rgg8q3vI7hnDMZOOUbwvACynpDLNIk+5mjQOlyLfdbUxmsP1BWWY3fvyfNdplmAyeRlDZiqpm7yooD4jRgjgPdDDA8NgdxhtpBwLAA+ojMOlaFAuDTVfBcUzalKZ28O0ndJlXSqAapr3cc5Exw3hfW7caCY8rZo\/YARnL7aGYVlY0WE5AOTQUOk+e7W+rYyhy5M4zihpJKcltigv3lxKl5csAMEuDqb7e1iN+OI8IywFpsoIp46kBEWqfwhRWUWpwnkxe6nocLc3cryNmkabrPFsukStTIudUAEr4mQOSoe\/WwCwg6YexYzkDLGSYfPABqqoWn0jSAy1pKX7NxHPd6iMYV4DALu2k9pE84\/X\/vyslVrxjr89dLST2uFWJHzITIgRNxnVfQEAKKDDycBHcxE\/rV9F5SQgKxzlT4id8PTs\/EDhzhvNF\/MBiBMNv35VZCVRWN7yZL8\/zgGSGxDfOlJNxyyJmXilm4pXZ4a3tZT2GqO5\/CfWlIWptJOVkN3oemNWMyrlDAAY9dplJRKuYYQnAXzHqDMhRjwgGWWsmwesY2xtRiKjq0hDvvADmMJo1IwbAtsoTTg3Zu1vURq15Z8HL+37Bx3Ntj3k0S3UktdFQr6+sAdASki5PAoAme2S9zwJzaarQ6OAwIDkfREzS0vpKF7aGXV5EShnRLoOe1KHmtnNiCEj3AXgjHG0yRrKvksTGgPAv7dWa7b\/8qKsNbuVyrCrX\/XkP6BW3IDEelgA4DSl7vEDmNYv2ZKCRD2vtMsNAEoZ5SoAELcpDWWJQCNNk4CV\/kIbE+ZvIt4ywzD7d1QqfRAIhKgUc4eCp3qAmwDkHmimpqN+bV4zjq6hoWTJOGrDgYzE7IfmTxuTlVb8BAgcoMNHKUh4Lx02CsB+rU3IGzOVUuvIDCBl0LAeQNBcnhkxUgXjfETpsiENOSFdAixi+QvDmQkAqfPSACz4uZPGMNIy6DliJA1d8xCnKRXrkeQ3ZN2kejq8jqzS13R5yYeEswelawoBrGCUPwKA+J2u0nMBrGOUVQD2cSGu0mVeTG5YOmzwAD+y3QM09\/lPk6UJxbU2VxujySg3WwPUpFEs9g0aLfl1MintJKXR5t6NbpLuJoGExXmG+QsAq4EOM2MmUbrcDsBuYIQfAf6uDhsn6DITgPWUrunPAhaRk4BiVmADWSOSCu6+QUmjdE8wh5qkYh2WUhrDgmRQ2GlcQ+mSZO+vo5HkLEbMqxQA8xjhRRFTT5d1ALCGUdXtB77mGnieG\/3SBvAVXcXFsL9i\/wwAf+pc5Cj2epMqPvCSisblEWw3ijTajMFpuprddlII1BttSP3i+hcZSNZqNS7XABC3GVXTAGAelYmMBpDSqaP8EkjrarexmGHuA5AaVorPMhb38txoAB+yGrC6yIKkFh+lNtQmnIkzVKTLavhfGaV4Dsl7nhjJA0X5owSStMcG\/oUu7wsAxSbCuwKAv9043A0AFxk1bR6ghtNg3aXj5gPiLKVhiKwqAoDAq4EAgBvktmTE9hpKUrEKuEtNraJjUERpXK5OysYxuryM4dw82Ebl6lwAuMgoFwGwaugy7AOwgdJwOvANzwrM0hFeFcBi7RrDU9P8iBW1XAQAR8iryaT8+IKaRqtsiGfUxmElsNk4RrEgoUwP9vF3qY0TTGqMAMTHlC5V5cI0q5CSjRbgqabr8pgAllIqboR9nF2pEFcYMR8CaYNSa3ZYiGud4iERU0Z2WEkU12kaKnMesNqojZJ5EKfpGtXmT2Q6tyHtG0pHTUOyZZwGiCrpsH6A5J1Oo7jLCs5upDJRfgLffmqXV7yTG8mpQEAqtvnhf0BSm754abW8YCF2H02vncRqbQyNYi4gnlErngOsZ5QmUmUl0qdmwz6ho2RJMumOmgTfRbrca6dteUaSRrbeaSUVjeLNZS10pJTNLSSXAcilw8cY3cCbt41W3AoguLGPFRay84G8TmUakORxKhqXVwDgrtFGFQEBbTRfbhWJDKpzpc8peesVz45KbJwjrxx5TsWtAGBPbtWKsQP3JbV0SYYY1zybDACZdGT0egcviwl0XFfWHb3eT3c1kNIZPnl+kBEuTOYWFbVrimOOM6T+BJBLZdw\/FyDR7YzVu5EfYv9HIhHrd8a+nIe49hOjopXlx0tTF1Eakob8c82H31T+8KGFWOshNcm9AtjD+H3lKQCwk3H3I0nrERUlb1gxmRFyOoBZlOyrLE4IS2ufPKosBpA\/YHghIwEEjzQ9qdsVRPzVDPEnxDbT9H1c9fjRyXkCiadWt9z\/eTxi3z9\/7\/7NiuVpiD+\/5vnL2kVINthGbZRagLh552sEgBWU7DqUkxgsnxdx80KSvaUingDg9VkY0rpDJ5IXU0TJSsDrxTD6PBhS2B4LiQqf30LSWX3UyjSJeBACAD6j5Ot9WUkkmtPLKB+XpNj+KfcuCSQ+3vSrq4itYJRFeBcWRLVRLEGS39Dly8\/Shg1p9+kYsschDyDJQkV+FBPs0uaJ9U5I76Vih5XMD5Ts2PMGYJcpxj1rJYP8r3dYMcsZ4pd4J4pbDHMlkv2Wkn1nMt4AkLq9vrfv3qcCwy0uqYiT825AoeZrb1IbjTRuW84bAWDbeIOBfvJv6x2Bha+XI+lxlEZx7Jt6s2Jji1qHd2YAyYvHdCW\/fpsAX7Z4dwxroaZ0ozu9b9M7v+ilITnh3zCwJm1cnYH\/wLbyMsTbEEh9J\/iskVDQ1RTa9xaknTiZj9wxb13zshFgdx+y0lPh+aAIVm7eJHtmNrIyZvmzpgv4l2YBCIyFKILnw0JYhQhmIackBYA9d1XQ11Sfh9ErUmDNnS1i7CKBfA9mzBQYa4vxCJTkAxjvQXYKpnwkRE72HBvWwkkIfjA+TwB4vHQEvNfuAeBvfBhdk9ZZ33mnoS14qrPp+RUuDjR+014M5Lr2xDspt590L03rsndfH99TXQxg2+mTJ4oHwivH1u9vTDvasMcTp3Wa300\/0d1xxRqclNGU\/fzapwAebMXTiasvnTsefHq37ztRe\/Dh0sLL7fQB6Fg7AvIG0gCsbkL2q4ktnm0XrO7C6pVpDB76ca1a+nAHgKtLqxZ+2oHCgeJmbLqY17Q\/E7BVZVmn\/Y8y1DYva1myrb7EisGu31b+kt5tWy8mPc73Pci8fqYYwKy7c373h46UPShqDM74\/b3Q5gsPUNA0FQB+mDQCcL9p3PaVkwbHldXnd4sdVVATaz5KoefE8Sks2ZMFYKbqtefKgn2NGXpO7d\/2h48jgHhxbsVmHKoL7O\/65Btv1jauTJ8GwD+gxtvhhQu6M1p2lXZ6iyuZAdj3WGK9rl67ODjgmdmSGfpsZ2Eh92YLAF8XjQTvwVfP1mLF099H+0+LBZtwNuuzYv95e9VmlF4q9wIQFV9ArHlxczSOPixfl1V7bh6AzOprC5HzaId14No32Fp3KPDncgD48piF6Q2P5mJ+S9U3qRVXNwkAMy94kHOqdqZ12s4px7yamlHTLp+66QdwYf5IAGwLgCUAAQgICEAAAvAKxAoAsABAALA9iBUeAJYF+AD4hOef\/hgIAMICYEFAeBFXABAeQAAC8FiAsAT+3\/\/\/7\/\/\/tAZWUDggNAMAAFAWAJ0BKqAAoAA+SSSQRiKiIaEiVJhwUAkJZW7hdfvgMWNIEq39l2Y4o\/Wd+k6R+2A8wH68\/sd7Nfqd9AD+k\/5nrD\/QA\/Wn0wP16+C79qf2c9oCKnGM9gQY6qsbdHw4Yj8Ro4x4jRxjxGjjHiNHGPCgZgPREZFuZiB8WlJqWpUJ+IywRkzyQjH7EXwfCwKWUBhpigjuL6EZcN7BaHw6vJuMGuIdUal2R80UpzuGR8U\/EaOMeI0cY8Ro4qAA\/v\/e\/oAJ74M0uer707qY4LaIxdgzInsSb7+yJiBfh9n\/66Dtf\/VNrnjOzqZX5dzgpdc7B03qG1KykS1C4ZiiSeZIg\/YuRUBeOdWz02MBQ84d8mfOnr\/iyNoq0rd0TawRFKqJnyugZzNuu8z3\/p1\/aPzDsKyr4cNQAEraxQToD\/CufGAsK+KJRt3nEgY9lkO9ygioqpt+2MHxN2zZaBmpBUUYOEtUxrPCUBIt6DxHteGpFmY7LW\/86Dr2168Px94avsRfrl6W9SZV2+aOMnudQRmx5ZD+UJHFBynKJoqQfCtR1p5\/lVP\/QbIOPfqVwAtwn2z1hHrze7JnHRz\/2tf\/9GBZitTCfr+Jd\/YdcMBGtuHn0XXVi+9eHc6IiU1XKGUj+36DqO8aCShUAbk46k7GrM8T55rfEfpCy5lhYpJt2OwegYHFs9lmfTDo9OURXbSlaOVHQRpVTRXFdwKU51hv2szcPLb58OPePIcmeJ6L3j4Upx1dvGe59INyQjsNmk4ISksNbV6IQE3BIs4rBKyvcTbvISnng1Y+iYjPxjx0ieSi2O\/a1SYR1XRsE3wT663nJ2e\/mEo3cMwCtY1S17CmmwiPTWMejh5EqAZsd1KK25HaPwz7c3P+lghu\/eqU48HQ2XG6gEWU\/4ZmUHVIeoy9CJKj0V9p4ON+ZOvA3uTITwOWJNQ8e8gdQQMqgFzXtac8ExUMSDSXx2tSuhubXGrAP+DHfnTKW2SUcJvF\/w\/KcGPjbPkcpQHs5Ln+IDIAPFvt1Od9bTm8gg42B6GAWIKG9xq\/BuLvA3ciEmpN7nlOKYwwbeFOb3vAUgnFPTSZtf4LOY8EAAAAAAA=\",\r\n        \"lapartdupeuple\": \"lapartdupeuplelapresm\",\r\n        \"lapresm\": \"lapartdupeuplelapresm\",\r\n        \/\/ Le Mouvement Associatif R\u00e9gion Sud Provence-Alpes-C\u00f4te d\u2019Azur\r\n        \"lemouvementassociatifregionsudprovencealpescotedazur\": \"data:image\/webp;base64,UklGRnIMAABXRUJQVlA4WAoAAAAQAAAAnwAAnwAAQUxQSIYJAAAB78WgbSRH5\/Bnfe0LgYjI4f8gMzKDECIiEkmSJElJKaVUKpWmVp1Af\/9\/VUr0OffeKYaGkRBpx2QJUVepXbu7uwi7g8aiu8tWpBuG+v51c86ZAOfH3Yj+TwD+9\/9\/V06P9HRaH3o6+9uYh2NZNHs42mKMh8NaT3k4uNTg6WxcUjwcv\/kAp6ia4jEoXbsdMx56\/3uk99EmDwGvPzq0e2DqZkJ8+gdqC\/IMDo45cmfpALheZZMxHkHEiLfcQVoDoS\/VegRq\/zYpsy0TwsChD3qPAB0PpE4MMEHk7HMFnuHNRhnWfhr8ZLoOT9Hab5RQ5628g3QYHqOOoiU0WsO5RanwIIcPSShjyQBYPsXBk3xcIIHCN4BaO2IBl+k8g+RhTSKR9Ibebi\/wr+V7Br7kK8Ga2z+X68D3WdrtGahjf0nAn4ZM4AfMlsJDzH8sg6L5n+v1DIr5NBUpnsIFKikpExbbLp0jW315D33bCk9x7eD5Y2fPiA8ZYYg9eDo9WIGnuNFmhXv7HCtvr71qYX+MRFs03Nr8klof3bhXRa2WP8SOuXC49ZrJplAGAIHP6O+VyRLsQOZEKBxVFZcELuQxCO9S5IqUNOAjlUkJcLj9kitYYx3E1sX7yopkpUF\/ib00F+ZY7zVXWMlLlEXnsTIn\/WgdDRDso9OjkZyQfecPR\/K6r7riZTWEZ2kX9NEOKN4rQ3KvsXDGn3OYkpVpu1UdYyOfBse\/x7vMPL9DcJ8SANPYBrnHp9xOSVSdkfRdQflMIIATlAT9TCSwnUqCAXjfo6OuurMUx1FKJsIBGIZpg8wZOuRuxoZhL6d81cDKpgNxihIA3XQU4ukw+AmU5oBPZDiT8pqnTXa6+h++AKCfrKJU0RWaOeJmUVONZjgz5YcGsPyxJ5QIQDezmo3ch\/jAvDc+yTwkSpV68a32OgCf75162OsoZAsl8m5TfP0l9zpCNxU4NaFVBYA3tA5284FbFzUJjFzHp2sShYVpczoJ\/\/noDBtDmK1KAVejEOylVLvbFI3aK3a6tfv2b9A7wv65nSPMvngtNycn507DQgqcrBhgz1aBMx2Z\/wqyu3+xlusSRW\/w7bXEw98wzf4TS88Y+BZaBeyiHUDO4hqg\/jLgX0B9Lc0\/qSxQTv32reQj933lQl\/Zx48fPr4Nhnvqh7O6\/pLyI2PtTYmCD4ilGIHPnBXYR7MnITT0kgVAJmVdowgAdZexmz7EGRjTRxXSISllcDPEPWlwa33\/0X6LlH7Jv1KqDHj2VeXd6mUAniymCEJ\/jVAoAKTTQiQAtJxOpUwIN9JFuSQR+7VzuQU4pM0c4xhpAwAY55fatnrpjGvL55\/485AaB\/vVxxZ3QryVDlnjZRIlfrrb0L\/dG6V8yVR7QyL\/LYBU8rZ71KHY4WnLnW9ENFSyEZpAXFoF8Qk6jDQKWwF0M9HFT6XS+1lDjsS7AgCoqQdgpBRwLd8ULTAkyABA54g3WUR3aAuwnWj9CjAbmGFTZfqz8b5UouumXRAlAY+\/Qli1D0KHEkY0HsunaABpI+dp67KDN9NGr0mkLfkjdcIkCJ5bbYfLs4pxZpvI+p0563gD46iV40GwG0Ma7Vp2ADZQpiCaDgDsSwnjKK0N4CpDt672Q8zaUpx1so5jaPvsBfudE0AKnVsBsJse+AIwnaOrAOA\/Wx0CIKqjz8BDHNFmCWS0iBZC5JJHNQB+P5t04GbNA4ijPAZ1uSHy93BPbefgeCK45taxz+1fJt7rIX79RZFhP6J5elot501BQLjtvQJ+6CUACKMCxoaXGxB94f7V9QzioNt02g+yAXGQPvqOp5b4yrGqIqyjJxCq4AeNv\/P6lbzsHDf1KHChbiSI43gE5c5fhtDarufB59f3kcQVx++r3hW48dhJOEhlEFoX7yoCGFpo\/Yrj+0XnEu9Ro5MM\/ePvgxnA\/AoWrkBW7Uj+w+DFNSeZulMrFha6O21Ub4W83izxI+2PEPZbdVIPQ1Dq0ePbLXA+69++Mvh90bsGdYed1K2Dy5XxxJXBq1dzUWQnc06X4jqMJriXclbkv+3slcwAnrYmm25bNZES\/NffMSYHfCefZezZs5EXFCzqO7Z7j3RG1t7du\/fogQhvIPjffQcP7TtOye4VS3EcdovGy8t+0TUGILyXGh6V09dQXkIzjf8kW45ewviYfjX3tH\/KZZyi94KtS7PNPV2SHUQt3Z3dAWB9Z4Bb9Dq\/oODFw0D3ektVit11ilMAFknnANPsAx0D1HvTRruLlG1SmLZ+YMBX4D\/0PUpjjDHw8x7zWBWVKky6MReMMYDV7wMu1mAZho9n2ZIBqDNp4G62GXHqC4M9a8kGcJxiwVXej+k4hul8BvkHz3nRC\/8urIJ0021wWctB4Ertcnj8BWeGFMDS78tTyYry2+CfJ8BCyRAq3\/I5hZ8YnFRYgbancs3ZcnXLwDxrhX7wKGAeX81Dmh8eFwr8dgHFrZCMWQwEELywGk7ypgjELxldUL8MTv9iwN4FPdBeLgAQQeE8AKbRjTIYPgbg5ACcdatNgdp9wQXV7qcupgFgffcAn6HPSQFGxsE1uhZm1jjRpEndLQJQmu0sldIA7FlSnHa5U2dgbpY1rAOATQsBgDmvn6jjiNEO2+sWaepRHICkRSaVNf4g5\/54mrOO9qsAtKEDTjtNc7TbzUaugNucDwCaadWxuYF4OzCD3+YKeqUhxYGM2aLXRbPpTmK\/rsL+9jfmrIvdISF690qc8uZZlsLAZ3co0I4baitEDKlSt8oAlN527OkzAMmzJo5pPsFZV6vh7o0lEL5sFwDNeSxQ4cFKRuNUrFTfaQAnfzv25gGAmhLwyyqddaXe3SKWAkR+84miQ816ihZoPxNRXiNjWQwFELIYKuNvl58NhJG\/IIBCnFXnbs8aIZk9pAhuvWOT6QLTYCxiKE6i8wPsy3olrON+drnA4zqIax6vDGaKlNHbjvMMtAPX+nS8EzYFyF60CO7NmjmmmeeMF0q5sMuDgeIk1pJhRbjyhckgk07461RDVF+XBt2Xb9EGRTUfo50A2CvaawTUkMbxEPCDhjvDNTCvI\/QC9m+yceGLIqH0XBU03hE0HQAu17iXRtsgn9JHfb1jdFcPQJ9Ho+3dS1NbwE23TVe87aWXZohNj+h7ef38xN\/gluaqtBuyu0jH67on6D4K3Gx1L7ZGcwCKtzU5ygC+IS5rW6gKoRp76nK6N+S9Us8djlDB3xjNUgxS+hTG2xbDw7YQIHKLe\/3v\/\/+gDVZQOCDGAgAA8BEAnQEqoACgAD5JJI9FoqIhkfldLCgEhLK3b1gO7\/CAWhzz7jXWEIfuPjc9oE53zAOcB+w3qA81X\/QeoD0AP8Z6RnqGegh+xXpv+xr+5npnABg8zht1c35w26ub9HgqFMh8FPEc4bZRz2ttyBcFYj5ME4FOcDfXYpqlfbEvhy9ik\/\/4aUpTtyR5E6ffOG3VzfnDbq5vrAAA\/v02aAAAJIPbwd7dnEdICMHUPVGIa\/HN7ORxJvYvvXFQjhEA9UYHAHwhrF1KM1IaCtx8O+ihTTiJ5bC7\/Y57w1wk8KznTWLnVocg\/A\/5MYrZumqsA3ytoS23M7b1HeKiAP\/s3XkXJbOYsu1igQXPnmzUx6kJByNovVOBUt8mNG7dEKPnNAN8fOd5p48NtT3bUVWDrhJ6jKV3BOgf+fyzgRa8wQ3qIg9VKk12A67FB2EunbsW3EOsoxgmwzAHdfQV7LcwPLTvko2wt\/NIUSH2tkQxZfmLUWriYOCDRpN40lBfGv\/KwvH03GYcvyYSweqHPUczJv0NBwTIoAJIFgjfl8gWbaUs1EIqSyLLJTcWNHl08HLpj8S6QSmPRAy5dcPC\/j9Oo8qt5S9A1s\/Fg+JjqTIV17ZOOIhphsIM9\/SbfIcC7PUGDPGl461hihpqXjodUV2Lc0nskGvdFfT7EYQ1sucUro2zsGX57O65Xv3sUCDca72yScAy8L\/Figpsn12vvrrFI32sZ5mt86iGnzDhAXu9RJNdSRAVqXsC7Ic4YLRLYcFwOdbxC+x5\/HP3N9chI4IY4v0zG+4yJ3t7aCL6wUPXeYcR7E+rb1DM4S+5+dJISdJP2tzeaCUq\/JqXyISc1BQGOMIhD4wNUeSLy+o1aNJj75wwPbMi4tvhC7pKyDZ2AH\/TvFdAz2CYyLeKq+wow\/SqCGvViN1N5JosmO+HYcGOeTsU6gQAAAAAAAA=\",\r\n        \"lemouvementassociatifregionsud\": \"lemouvementassociatifregionsudprovencealpescotedazur\",\r\n        \"mouvementassociatifregionsud\": \"lemouvementassociatifregionsudprovencealpescotedazur\",\r\n        \/\/ Le Sel de la Vie\r\n        \"leseldelavie\": \"data:image\/webp;base64,UklGRqIbAABXRUJQVlA4WAoAAAAQAAAAnwAAnwAAQUxQSE4PAAABsIf+\/y0l2uf3O+fMmfGuaU5lZrpaWLu2++zFbbtfqWe70nahTdmK9CGlQqXEbrQYRVEUSVFsRFFEEUUUkkS0RCQhDhESSYiERCIyDMMwDMPh88fMnHOci389f0TEBOD\/+z+gc5wzkInx7T06xjlPwuOch2Hq4xsPXRjXflTfO8c3YfSkj2tu8Z3fMa6hs5Pjmpc5GJiAFFr7XdyFVIw6UklDoCzOrlLDoDOViI6lccYcgGmpBGv63PE1LHGnACl1Bb3lcUUHqKaWSwv27oqnm3nAsJ5aHJu\/\/f3HOCJSD65XlXF6\/PhVHAqrKUbfXdm0FyJOThgKPjPVYO9WWVeFOKVPojP1nNiNTcY3cfKBCgKpx1Xzs+N0LURc+IqBHJ8j1eBYK1Z8nYS4DAPAiCvlpNVUO44Nlth3qPlQZGNjY7MhAQyLlIPaeshr7RB2NDU2tdG0AP4ItjftbUoxm99OhrblO1ht2LO3iWaLi4qiMOrRXbsaROpwPG0Eqllsrq6VMUvLSiMBFIclUPwxIvJMbb1MEXBurYR26bIJsfMg6SNLZ5aXT4PZkATwYV55RXlF6RBJtu9UUwP2nAK09Y0lUcSOg4ycWQLLEb+HBSInz\/xEkidrtJSQ1TAbUJ7cASC3HCI5OqtqKmyM8FKLAkycU+kheVEbsz9qkgAym4sB5Y\/6NZvaSQ5VFcPeiOdUYwAorHpDnlm9RbfvROOai\/wlGeA35gDKFZKhgR+mwe6I1+aAwh+7SF5x2tS2c9YWripDUnSe+VAoIBoY8E6F\/bYABT8+Ji+sTrMk9jXv\/umnZSsrkSzVW0cBiJM+F0ScAfm\/PSRvuszJPTWbf51Tsax2HpKn+\/WiYkDdsKgYY\/PcDiD7SdC47oolV9fuqKvAN\/X8BUlUawtxPwBxi+6xMYKKHcjuJK+nRVPvsm4W0MK\/ypFEtbMMsXeZG0ArC8eklA5bkLv6OjuqMwFt08btbmDJRRYhmWpnaXjWbO59DgCtLByLom3SHiDrHnlfdRzY\/w0gDnJ3OUQS0c4x2FMIaLXzCgC0smAMKGCzQOZD8srWHwEoZ40pSKraeQZ7CiEApfcVALSxwL7PLrsAOI+GPxQD8vu1jdMgkkn6OYbfFiKquqc6F8Bhuk3MnFEetaIsLAG\/GAO17WUuIA9xFpLsUn5+WIiY8rkvG8DxTxAR5SWVNCuAD9Xltjn\/PDoBkA0fpkAkF615mGsgYgCXglmAyglA6dRZjNxRs2PHjpqavwICU0j+WFRqi+PDHgCinkshkFS1C2R3GcyKS+FMqKdY9DNJ7trTsBsxqYIHDZL8qdhaRn2LW0C5RF5NR1J1XWCwpxDmxWXmAMdJ1u2thdnpBwWGsbap4X9BsrrIQub5GQD03e27r7LTlVQ2M9wzEZaP9wKC72phkUA+dQDYsN9LzptsxnmiFALavnlAMcNdGUnEeSD4bCKsz+zLhHb5E4SFERU8IyKAdS0j5NJYqmcZBOSt\/ZAoeEKeTSJ\/Mjwb1qtJZgBnC2ExLPEFJld7yaXR1OuvCwB5eKAEAFz3AxfSk4Z+YJSrrP3C4fabTIekhdygzKIWS+D3M\/1cNEEAyg1PJiCPDhUiaiF5MWnsJHunW6qmfzPEHSLTyDBHgldFrMjlw+QqyJuedEAeGypA9PwuXtSThGN\/6FUhrFbTtxEC4kKGuBc0N3g5YwjmBZaOfOV3J9+lA\/LE5wLEdj7mC2dy+B+NClitpncjBACFDkGXKYJUzEFg+eAwP2QAov1zPszmkTeTgnbAx\/kWxK\/0boAAAO2+H49oKoyv94QFAAf4Ih1QLgzmw\/SEV+zQk8E+hvqmWyhk3wYIRBU3nGLYjItpt2BZy6m9nQ6ofz3Jh0Xnc95KAkpTyFMI82J2+DAEYkqCDhO8TFjWngczAFV\/+h9YTwud0+JEH4s2cjosTmGgFib1K44bNOETlFb0k08dgPyHxiLF2mTySZwww6E5HDbtDBlVVir7\/wvTktJrhs9hXnV2ZQOq88779wH+YC27O3QyTh4PkWSa06nZQc4xJ37kPghTynP2qzE071OYV7vDCqA84CvHbB8XWkM6LyvxATx6Rj8\/DXCCrquqakYepGeKuRkcrIVVkjFImHboHZ1CpDkOdacDWDjENcJSzjs+iRegk9Rw+sPIKMkizaFpasRBGrOlqmqaGmNysBZWFQ\/fxzDeChOKdrFfQvvXGM0EAIFN5CJLcIXb4wednkCmAHD6zeuvXq9vkJWqrh5lVO8Q96gOVXWoVUa9JeDdRxnNA5OyZ0iH+o4eJ2Ku+hqaYy2XV2X8AOgOM1dDzD1fR33+gb4+z8ueEqBy4IvP7\/f7A2xXFEsgo5mUspfyJYfeO2B2JefbwadxBdzyBXJUKSPsLujvDfwtVWFOfuy0IKWXHBztV2Bx9SgXWMr6bFyOMwCPgmSBlNKuyKwgH0hpxnrA+Ng7IGHjovA8S0jjNRF3wKUBb2gkNFlIYasUAnB98l8X0r4+AZs3kissZQ3zSQJEPxEOhEkybJpRLwoJ6IHQcwib7F8ZCC+wBJfRkTCRDeFwCUyXBH51Dfd7jSDvAWkGX0PEFRaw2loGryZUM1lhbtFpRM\/0exnVE19LOc9aeoI1keXmFpyJEekMjQT9oXdxtZpckUqiqsbreFppcFnKifcFnD9eGNRtmscFljJo3E1JHvq+0GnDfM61ZvBRShJ4QXnKMLzeTHPLGVxuJZN8kJIA\/Bs0MiDuMhAeCU+KMT9kLLWCbN5IVUJ0Bft1CCkV0RTyh0KhcIgkQ+FQ7JGB49CD15LKWVvEqE2AkF30pgGAUGRUIYSQZovJYJjPksmidiuyv9fT907aBghVORcI5sJ+IaUisgK+KwmzL8wZ5ipG15pSDB\/JsAKLb0wBkJpyzDfQX2BTdG0Cv3hvJsbf5FRzldwZS+31PRRpoY9SgVV+tABA6uo5fvnsnYVvPTNtAVQtlyN3E0G08lOJKaw6Fs05YgxqGZ1fByVMvowmv3gUKwCEpunan74QOTI6Yn7o7ZvXo7cAIIfBT\/GHerLKXAVXA3C8Pqm7IIYHHCpMvmY09BJ2S3WFsVF36eZLyK+6e3jg611AyGeP464uzGJzYs1l5H4Jv9YgHl3RVZgUL6nFMrrswuz3obmw6jRuK4DT6cwdeuvpI5\/cj7PjHH5fYgrTh14ed2UoUHo+aDBPP2KSfKXa9Ae5wVIGOxA9LS0tzUVyML6UthDnmHPztgoonf6PCkyLJ0YolsOb7pU2VRvrpKV0Xo0RVXfo6fGF7WGjykz207+cKqD2vk13wCI5EgvE+057fnrPaoxVAh4lS0zk9P+jAkgzXqiwKO6RNOG6l+l\/qtmxhVycfLSWUHd+jJxPFyXgvLzO6YBlpjPdBAgHFTvWG8F51rLCFxIM+2h4iqPkfjovAVc3+RusihuEF2YDj+C5pVkSWEyutabyeaI5WrxcEJH36ZwEnG87Mzbdh7AAZoCm0g2Xi6olVHiCW1VLzrv3XYmG\/9Eoh0Dep7MScHU\/UuFmNYQpcYXoyDEFSmSdkVbmDIS5EJbzeB4Jr7eEugoxsf+MBFzdD1RALObPEGYkswVhPve8QOiOlXqObNesacGziYedpKdl8LwE0rrvqYhcws0wq36GErSAvn\/0DN5wmBFYaXAuLDuv8VUScB4OBnhOAdK776qIPqnqwEKIGCBAKwMUSA85zeCbN4HtmrU8PshOAlgTZKsCpHff0RA7nVyM6MpRtzj22Uqe75SOnqvCxJx+gz\/ChsAxJL7APB5SgPTu2xpMykmLWbccAgAIQVpBHlXkGB0imsBuDtc4bHDwSRLAxJ4WCWR9vKfB4iKyDoBsJWSgyBI+H1ORGb4koqDs5SCrYN116nZewgnkf\/lbAlldzRKWp5UuPF8PcDJkGNYLqAFZwUsi4rv+AFt0O3gTiS5QxqMSyL5vXMqxBmDuwjP\/9AHCDhQ1CCArcFFAoIlsUWBdP3E3P+EwY3OVBLLekewpsANYsG4IEEb7MUsCPAUg23deQVmXf6eEjZPZhESf1sDvAeQHblRcY7C7wBYgGLF0sSWgkG0AskMdG4YMToedTt5JLAG30THHBVTur9ahX2Dw7UQIGxx+QIRh60S2Asj1c5htTjtkyx13YqGShyWQu6MxCwAcFxh8OxF2fLEPhTwOIO8FNwvY6DzOK0jooppNiwEU+R5qiKpdoNG9aoo1cAwwZbAZQH71As2O6bxZkjgCZdt5Q8GE2l1blymIqV2gjx43hDmxoXoMJJrZLAA8eK\/ZkM5TSODJ\/Od7oIJ3anWY1c6R7HPDvE6MASp6htkogMI1252WZOv7aYlTsZk74Nr45\/bVEhYdy\/5msG\/uVFPalzGomOsjyVYBoOOhYsHZ3OtGwhZ7G2aXruLdvSpsVM\/QS091sRmvfaVBjrBl9fxwm4DIf39RNVfAAxAJUlr1lRtm8e56AXvVMyT55YfqojEqq\/4hGCAPCsAdPCSAnI9nnWbk\/u4yJOhUkgda2jbDfmXz7yfoI71VJRFOeyqqGLlvkwAE3IFDAsgOLzOh7\/dMRoLOYeOqzRhz2U7Sz9DsqtlF8Fsqn101m\/SSDVsQ0+1vFcC0GlesqdwFkSC12xCXonbzcTJAklVGqZmKmZUzSdJLNu6AWbe3VQBNj\/Rosu5NBZK+2NlKkn4GCQjjm4ry8tJSkhwhyf07YdE92ibhHlkfRR71TUFKrPur7jDJN4Cg6aa6XXWwXjjSqqFkeyYA2djjRups3HN4MNauXQ0NDfUNsNk98hPQehBC38eNEKkDQBAQxv6mpgMYU4GGdolvtznxH775FinV4QdEGHFY9vWght3dE\/f2TEFq1UYBEYgHTBpeitKn9BYjxQoCkvEgsPO0xI9P85BqS04AOBkPQPG\/TUrtSSlSjE4A2YhPUcvKdG8NUqz2GZCMD3l54EUz5l5TU40XkMPxoKafHtSzhrdN7qtLMY4RAME4UK5ysABw+yuKTqYYSSCPY6Y6r3+6mg8A6xtWNaaYgvNQeGms5G325yLqDB\/3KClFp4TyFWOruh7338mFiIKibtalFNXfBcExUZ3P+DwLZmdyWUrRh4H0Z2Og6v8a\/7pgvmKwTqSUUSiE7Q79rfFah+VJ4f2pRAsj85ldmnZ95K0GO2fVp5LsRyDs7vCqSP0uIstv2\/jQ1Qs+GNfoH9UQxrVO8tm4xkF2Y3wTNl6MbzR2YbzzeJyTNoT\/6w9WUDggLgwAAFA4AJ0BKqAAoAA+xVimTqekoyIl1VvI8BiJaQAV4r\/Tu0X\/F\/kj6A+I73v+z\/t76+OUvru13a4vIR5TagWG\/+e7DbW\/8h6BHs99n75TUd8DewB+r3od\/nPBa+y\/6n2BP5n\/hP+5\/g\/dX\/lP\/f\/oPNT+b\/4j\/3f6H4BP5p\/Yv+\/603\/s9w\/7g+yL+v\/\/2NYJyvF8aCpp8xYaLkKpMWDeg\/wGyEF70cxXxq+OAJXHZH0sYB8NlZ\/JTy9wwG\/3UCHjA9oH91SD+8BZLlQ6QN1J2v6TkV9NM530OVoOfCs8XUfLYI6N+NSWalBQt\/TaqDLJ\/d1Y2am30fGioCdQZI86CZpRYtIMBY1FDO5h+vcllu7yVT2cQnpMoTSI\/XzmbH17pzS8m19GHMigLT0F1muPBnVjt+Cq19GMI6jhLTQ3RrtqCnYzyXyeJ4JonYjIntEiUS4wB1SBfVV8qMFKYuRom+quu\/Gdi9Zvr0b1tgeUkN\/kGVKyQWpPjpELj+NqGJaEvxUQapXIMWsqniOSFDII4n8EajTm2EHA+QO0uL0zyRp52ahQdsuvwSUhpz8ujLdgtyftMKqCkmIWHq48sRIxcXB1C3bCZyVKwj48AAD++B+FDPrj+il0VgBPD9zEnF7p8SHdfZx8WAX1esezU\/6EjbkAqgimIZZO\/f6pDzkGQ4z8CmUmpaZzv6IAxlYx0\/N9ms2xusCIp78zKrsQLP5Dm2BjZcbous6u+JwAjS3bhTxREXzHO05yl1hT\/6H8XIGpAvXuMgj5EBw0VsJUZatJuZoF+t0AlUi6y4\/IAcyUx8E3lQOqgpTb5G3pFZbywFJG8TEgPDQpNr0KVfdac2wD0cf6rn3HZ9ePAeF5fjEOTUVutOqd+NyUfzLvDk2q9TZEavO89eMe\/ul55IFHWiPM8aVLMEJy41c7Z+Yug4mrGxawVd0zJ+xOFoL5AmVYn+lruPEzsWgcW6cq2KzvnXOtiJlA8bfw7Fvbp2U9nhyyCSUcRraRSI1ee0l3cvTk3uxxCV5afXyg7OgnrXSnEKOXukvk4tIav\/\/KbL+UVUsc21aazvyMkriviSt5oXfD4I8liR7iN5CqIfbZztSUh2TN8yHixC06pLKP4oewTcjJ3mhugNvG8pz35pSpRq2z0BaXDIUcWzQ\/3d59QaFSKQmcWZt3hNgfavXCIq+HMoMLyRNYUQhGol5Ws8nrDAqzugB7hdTOgqo5VwHoxzAk0V4Bh1rhFPW7QMHgrhKabJyLzyg0rsC\/TcmYSOBEBbc6stTMlb5B3L5R5eKqM4WNw\/\/ddi8gDLCj2znFhP2zyyfJfrjIBMGrj1IYcR0DMPtfmeYgRDMw0GeuFwUWCskQ6mC51dG0ry5CplVSAs4OzFP4weWVZI3ysDSlCe+4DW62pYAFo+h9odve6uUXCt5t4lJb7GrV1POtjL30r39ZHsWhR5+sDL\/7HCFhrQCDmJB8oDvUdE6Acn0FC00gCrH6TYCb9rKgWuWz0HSATJBwjg0aLz6r7L2RaJv7DAzBrxrRl9TYWH+vnOMaL\/5SczZ+ynX+UrQo3C6nV2z4sxSDAXDs30xtTO57+Vfkayyr9jyF91EBxTbxqQJdNPUCNZGYbS23XPjnzzNPgTAJeJ\/8yNRWwz4332tfar77FKtPO4rziotKeOXokJBdrX2gw19BoE1iUQ3TkwD2wnJ5viOYh2JyA+n4TCSuDc1OwmpuxJf2cQwgCAcfrPFX+v+lEx57w2B6qllSEfjPY+jHd4Q62z0A5i9Ni6rr5lQOK9rrPG\/ynWSJiU0d\/3tw+BX+itRMHkmo6pCFRrcDH29ZF3\/FrMUj\/zjEGgOyW63FK4tZ4IZxOFMBzjBO0bSYPj2pxzz2xhQPfedWv41rPgA+ZO3I9kgiOzH9L0nSdzKj9HmnwhCgGaAXG4AO5XyFl6NTbOSR1TqycaDPVOQtAO8puzr31vWJH0JRE8OjrrHgK4olfh5OKbAYjLQd8BZDy0lKmfcj\/0QuWw+ACqObP9pv4rAGARP2eFpvI6bqPDd2XGlqjfJ\/l29LZxuO8j2khfnyXQfT3I\/54p7geYhOg02QZ0u7KT8aOAc+hC6O0Xbr\/oSTFpCa9ICKVLpD+rEpihbiArAAu9dEdDjYdIznJnZmI6rqFW4KtnDgMB\/8M30Wx\/lOpjxI6ExKZqwqP8Hh0W3TuTxsdMwZndWKVlu4yNRelrUVE4uzfeGIqQUYtTDiA3KVqnGPY5k6vZU2uNSmJXfAypYs8MbOwrFU8+SuThHtJrWSdpBUJih6MTcDloLRy5zQKlMtDdSUPBq\/joJ\/UPTtBGJKCyrRwpMBtaVIacH\/pAGuA++qH04x71EvXBPepoph3UX25gWdu7sbE4H1MZc\/xFKvhf+CNq2k7MkP7MH02URYajm95tMiOA39KM77MVo3r1pBIDQiM5sb1FG49MFmuYYPy1rHOx+hkWB7xwfkRV+rZb6QuZOaDIv6egC3KWqm1kJCVqQAA\/yllLLDeHSTwYKiiYa05s1nC+E6LT0HMtuy\/4pQNqhP87m8BG7DyYKzLnPyR8Z3vzToAK0gVyW5grXWQoMQlGLbrAjnZ9FbalG0ZlNz84Skn4Icj17mXOEoT2C4sbcJxC1vwJ8yvbcqfZtWDiuwJ8Wpx3p8t\/PnDti3BmLFb\/O5GZCWqnIdLOFRDAgC7To\/7FKoGaRJWPyX5Jh0Iadb5hgZPuWJia3YYXgJ4nNbBoy2484Dchnioz4IWc5F5ejFj9XCRnLo1yQOhrJ7\/5aC9reU\/vSb8ot3hDcCPqXECpT9OCm3p2arCuh3G+dWtjUlGTFftzAIElBdxXGMmXyQLfgsTSg9PJv2jWr9koUmaASLfxll8bnvR6FTYbnc6IFD5VK1QB5ROZLwuOV+9Go0iBYyMCwfotymlz3tA2BYnHdn391c1Fw8fA7np2EZ47teNVrNw4FcFiyqxPS4rCO94kaYdsTWlv+HBpPep8gwgfMiGbTSFvnTglY6F3M0ZjllBuIjVPHGRgE\/g31mSsp04UcfPrY+8HKLjbMwFhFt2EZ0fmrd2BXpr81ONBP+VDZQmtJfJqqLclzwMaK6OQI\/mT9FpdUOBcYk2Bs4HBszZekHD8BY0c9\/F9smg1L5tE7U1j1OvpoomTuwADdoSJGvqNB3QoJjo4TNodwjWyZXg3qDfQ1Cb8Ya6Lyj98A6Y1Q35hXpQGz1M+Y8Sdcs8JRzAkXCICjnb6\/wp+Yj6j\/sQw1ZlcNxKktia9jiEX9Lzck41wLaHmj+9YxCACY+7FjPSer3wLrUhFgK\/1klS7LKzDNIrBlL2OXGgB44h7Bs2E7Cr3ffAQenXnMpxOEj0I7MY6ocXIFcYglE6iRnsFlwjECulZYGmPBbKJjiLjplTo4haE9xnObgCryRUSp7fsxBfhoA\/f1DSGWJByb+fJVsu4N6RP9O59oISs7DRCuy4Lj\/LV1lBO8q\/P8sxUjI8P5\/stPsC9N91YYjGu3PyMxsqE5J71XUVfxrjFFkSrCkl7RKE42mij8UkA\/Epvbmf7elCucz9vy8r04ZegKSboOUGu0hfAn4mxMHiXj8LK+WKX+LyEKUzYyIVedJap52M7xiGHzURT\/RiWp9Dn5wXyguVpRuL4VYcQscBZfWHh76yQlSiJYFy6DlnDiuy6IXn\/ffcPml4XOBtiSFJQnuNkalWFUFXrOkFfq6bVrAs33o1NvVu6ZncQdYivU4a4+pxAMopcVdfBqsmujLVnzYhpf\/4ylBufTTfPk31t2wPu8qTFnDLTcCrW+K2Jr5jqBjVpVoyUYAYQ\/VFwXtaI1p4TPE7NWXztkjR1v9GNoC8Np5OS8VqlirIwTFcm0nC9BODP1TgZVwDbaH8bcLxnEtO0ZhJIRLkmVdH4IKKh4PGJaH6QoMn5RUAKv1QhF0U3Zv\/nfEvic2mRK+7GKc6Q0e7NznwBIunIXfM2UaM6UwuuSHSyUFll+zYtG84dSMVdHjUUao4DCR9q0yI4\/cdxiASoJS2t03EfZeQpB5a+eNbsl+Zx6\/LwJx8x7URD8m11aKMXN8sJs8FjwI8m6CztBKhHsu+EAJrusF\/qd6yDRi1\/32z29eOwELQUHVWW2S+hreIHDJ+BIVnwcvQ07NVIdNzskb+jnkn4oFdAUk17i9m5VAAAA=\",\r\n        \/\/ Les Chemins du Faire\r\n        \"lescheminsdufaire\": \"data:image\/webp;base64,UklGRkAbAABXRUJQVlA4WAoAAAAQAAAAnwAAnwAAQUxQSNoNAAAB58WgbSNJG\/Nnve8dgojI0S960VG7piqVSqGUlCRJkkQiIkIImVlzgv39\/xRJjb49awzLssImLLaQ3fjF3ZWDJMjFE27j7u4JziFxwV0uRICVma6qrvq+\/7uu7pnheZYf7yL6PwHyf+ruhmoTbuO2xrrh14IE0uZ9gSdvuCr3+MsF83mjXBsOID0LdqqarJr7wNoFBff7Sb+0xKAdt9ZmqP5S5LH1MofthO0Qkc3WWKXQ+KtE7gjj7qGC8H5Bp52wjvhUq\/YZAOeqIvIJzCtYziSxYXPGZBQqv+USkwGkJX6HzHaJ7KC89TfKfZgsrJREhl0a+FBEqmbcUjZrzcEaUXW1PvnY+9TMiy3DWrdM5ILaBKU17BeRSl2JFh1UxdAh8h8NRcF7r2QO8OERkYWkBF6s1M7Q6JkWHBmneIpBWYdXZ4ZLsEquqHuKNfNZ4LiIJGSx8dgBFDBTM+VXrM80F8hfdBUWHM\/JhfUUQCcpzHwW9VnzDlHspxgU+QJPymjkASzWXLWQekyzDOBoUhFpO+0ozB06RdRQleRX4inXJpVKcu+41dwzchmR5jbtIPEsc3CeFI1E7s7xhNyiJgLsq7RVEhGRhHKHKDTZDJGk0iaf4Y3+Q\/L3YAAX1sglDSiHpL1S2KyDxB0wUBER+bLMXVNOI5eTAp6vJJHC9pOOMgdBC6hK\/oW619Qvyt0zaTXHa3JpA2i2UVq8n6ibpLetTaIf57IluUexYP3DclUEant273tXklyCLXH0KMVW+yW6EU+di3PLMYDT5xO5KBdsVgBsb80eohb6pPDVuoc6l4kkcl+EF+Tagui7IiLtR5yWKG3oiH2EN3pVIiJ3n3EKWP4lMo86eeusi7GjJWhuitkdUrwFj9GbRUSuP20Vp2MVWUw9pqrwtogkWEqq5oxGuiIv1bym2TwRkZUYIk\/J6O9GPRs7LgMw1liU8ZZYgBq9UnYtnjqdl+z8+bcpFCwPykUnjMZAa5wWadtnFdTE8taQL9qGp85FInLX305jz8uF1PF8KNLZ1bkIwKJuUysckNErpT\/Do+ybAFByj8vl1CGYaOBkh0gXlrwpMjDrv2iJT\/FGr0tE5BEMecONXcdSxfOJRGfMmDGEBTa1JugcKT02GZR80KDk\/I39R41S\/HdPVUQSNcDf3dQNYEyd3qocK\/PsZNDUDYrInSedRpRjhwjgw\/uxfLdm4FvjkfLf4wFUKTTcNh+D55vegd7e3u5ERKTtR6egx6Uf0jQF+kS+zBSMiWzFU+dSSeQpLCUV8Gwrs8EpeqIFE6Bs2VRqg0ZwaepzTl9ru1INjjGJfrpljUgXlrxITx\/Q29MjIhkKKd2SyJozQU24VERuPOYUyNIMNADef9NVtGkrAaAFxLeszX++LhH5koij0LJUbsag\/Ll+4\/oN638F1j5RCRZlfLaISF9fn0T\/QHFhQETkewKedV\/0yFosDTrWST5Z9\/m3EFA9ObsF\/ZMpBE\/hDrn9dFBgkkf6B94jA5s9KDdgKOm9sivBonpUGvwLJZgPP\/3iqy9OqZLf19PxuWY4Xhn4d+ZyPvumKlL98qNvAR8gOKSVYAEfDZbPz6CA4eFEZJm3YHhGrnM59fkAIVsbgUaOq9KgWn5rv8M7THaL3M1ELuUrSWQO4EMArWcMtGRoLjZNlXgdCODqSxNJ5DVqZPblLrmdCUqGtKaHxFjV3wcbwelUOvyzy7xXbKoutX8yfxV1JnlYOl9n3JgpdnWLSG99ygOaZjBHWjwEuDRvxrlz3mlq9m+GRESqm5k4w3KRjlcZN2kh4Pq7OFPPkEbnYkAOh3qamhQCwNOVrq2c4sNOkcrrADurIiKDnDJpmnpYMFdaPn\/JMIV3iPT9CTzenpPOTfBFVUQqr1JyYnhkjiTXA\/MbkiGuG04GPflVw\/ri8PDiRKRrA++2i4hUFi9cNFyVfGUp0eEhOTsXjOSXjIqI9I0MjyYS7xod7ZB8ZXTxSPSCkQGJjo7MlyYuFhE5b+SCkcUjIudXJN452iZNHF08MjIyV\/435Ur\/uc5MBnqbNHsg2j8wzSWjBts30N3I7L7+PoqvSqa1PuomAD2zSvTM7gFwadScpnda61jngqbGQbWgG7Bpmir5EOr0TGsyoBaCpo5qNYIxhqgGDcDeGdPabFIA1eCgK9Lgvh0\/V2Ra78ZAuhsIxtEpIr8VKD9u+2FnItP9jCM28L3s++0gAUeHiPiYozORc8F26hwQETmC4iiTHzwX6CZlnyQiciKDqbZSbpL+c4CuSBQPSKUETDE4\/fWrKehUDzWhtLpsxnQ3C6OxDjLAJa5UmKjIdN\/tjbJXJOnA0PDkXxNtMu3PxCgHZAZ48lM+UquN\/zWeyLngbAz5EMifEYCAnDP2YABUiU5KQUXGyXuq09ysWFwnJVbaUD13OCP5cw6NaOBviWsDmjJzeuuhDiFwUooJIRLidMs030ctcFySEgI+T7Qq0\/9sdieJlE4S8u1JXs4Fk0QaTvLyPzJf98JzL+T\/\/eLMcr0vjDbvhfJjL5ZJZPTFp16ceTa88MK\/z5Jbxp4dsxT\/OLPUfI6vef6yRpKxp8fGxp6h0fdLyIV\/Az\/ObMXYk2NjY2MvAU+eBbeteYK8i2cpP8ws0fnVFDDxxM3lKkRd+SzlnYJrH\/8L41N+mClJM5585Mkn3yDuXMajLbrzsYcBnHNKseH77oLOLWTqHGwrl7i6c87RaMpbuUS+gAAYvu+WBisPr3z4XfIuc3kg4+EW3LX6IUCdUxo0bO+LdG0mBfDmwJXlyGhqnZfbJJGRPWlG3rD9obkl2lYv+wjA5SnraNZdDywDgrVK4+FvHs91bSIl6tlVzjbHuj+ZI7JknEDcw51FbZ8B1llHw7ZZdwCZtUpJZ+POwvpemfnP2zeSUhC+LlWhEWutdRZYU5GLJsgoNvWv58SqnzLlMppoLbc3CWctJZ11lpJr7+mW6lYgo4gNpeSB1FhrbVH86XuvEJHvcJQ13B+7jAkaVWutdXCnNPlPpawDeGfZ8mX5e5d1iQxsY8pmNE0oHXh42bJl9\/5TZCiRRbuykMt8xNvPByLDaVpOrfXkl90vzSYrk\/H6iuUrEimZyFKmKO3ZWC5Z8eCKFSseiWVO4pfw8rV1AkAGIYfhwchl1IvUOafAitUrViyV5q\/AF3n3qjTc+5H1jXxVrlBjtOcS+TMDAkDKh7txOW8\/mZ3r\/tT5mJJ\/Ys1SafUqfEHqK409hKF80L3zm3B1JIRnk5zIFowJAIZNSd\/veADDMzkZCPWIwppnn7xERJJWycMUGmY3NOt9m8WC8zkCB5pANMskPv+oKvmMzZ0ic771HrDZ8silRFSPXygi5116+Yi0\/mkT8dn77Q09iyEaKAxhfRPSGG2xUwTy3q7vEJH2d4LLsSLSs8F5ILBzzhUX3w2woGWJ\/I4CKRVp+E5vI4G\/X92Kz7FekobIq38riX2nsRpV6RlZ+AsZpaRKjZKpqTuGWiULJyOGjtysBUMLC6rvhywX3L6L5HzqgOruXml0YcQjhb8Rczy2cDfgiYQHIx3\/8i4S0jQ1QHDMn9+C84fmzSXuuGpoaOHQSWBVEnkKQ96wRmSEFCAwPre\/AWK+UvBTQTQ1nmjKU5FF1GhUHTRvEMBqpDi1Z1hZEZEZb7osFzh9QyJLYoRA7bz+MnPTGEms9zBa4FJPYcbvF+fa7k9dQ2jNN20Ak6YpxSZN0zQA41wkiTyDAQhuz5CIzKUeQdOAm1UCzWn4pmAcpXF1nFwk+SXUadgr7zUNQ5NTLhDpfMNlOcdzM8\/r77sHGwOte+YUzEkjIUjhT9qYBji5SPLJvamNaChWeF+aXqPJId05R+QlLM0PExtjCYEIlYLdlNMQAhzePCz5yioMeaXspo+l+TRRQwg6xaAkHW9kWYFPTZq6Up7jUmgKdkjhzgbyh7fOl\/i1jJNXdOuOrfn\/bP1AWvmdL6UhaCB6ZFDkNSyt\/KCgh0hQKew6VEo5\/N1\/vjtfihdnaU79+JNyllJSlfzBn37+afvPVUnaXs+yiGoT6j+9J4UEIlQKxlFK1pkjpZO71OQ8GyU5S37WAoUDO3f+sLNNCt\/EklfQmKpGAt9Jcbcp2CGFv2kpE25NSt1AHUDD+ONS3BltnpiYsndvIqUrb\/gsp5z6k6CqSnHgZ0kK8OSVSkdHbB+lSLmro6vEZS7Neb6pzOiI9xPtaJ6NqDsijX5ABqD29FD\/BHl3aN8RtEDaozNsLFptChmwvL2jPXI5kQZt3tHeIkvS0LMhknKryJKj+44ePPqgyAJNIz\/KIA1bW6Oa21ugMTJnAZ5o62hvu\/JPo5Fgix1RR4uyk+2NJG+TUztxkxS3XUFKZEPChIuWAOrMEGk7VAAaAbxzjvwt3dQjzRxvjUMa\/owMwHC9FF8EntjWBEMza7TLXlUA5ZSnfHCu5pYuxjQtNE1jbQ2NpQW3l5h\/uqYR5ZPkTFOUvyoiu1HQdKLy1KkMLdH6E037SyOVhuRlsoZkLmlOWSfShm0CkyIih3J1ukXkFaXRUKujTTohzXfNei54wGc3lRnGAspaEelqqFarjdck\/zOAM7NFRF6ujYdSjrt6nGtGrfZfaeEZINgmyBr11Mw1Una+mQRYKyLSYX3EFErZn8C5qhSuMbZEFtbIqJksZ0xqjkiLT9maTaSZT1l7uTQ6aE\/ZryXabiettSelqT9YV5Wyj7kpH7FhtYjIPDtu48b+IueID2HBslr+b15WUDggQA0AAFBAAJ0BKqAAoAA+nUSbSqWjoiGoE904sBOJaQAV5X\/Ufxr8Bf8F4e+RP1fnF5O+vTNT+Jcc3IR47agXsHzUviuyk1z\/Jf9P1CPYn7D\/zvCC1OO\/\/sAfqj6I\/5nwPvvn\/M9gL+cf3D\/yf5H3S\/5b\/3\/53zp\/mf+K\/9n+q+AT+Yf139iPbc9i37WeyZ+yn\/kRlwUd1XtgQyPX4FMdB5fDt45S9P56BxhxR\/h6fOytbZDk5Mh7\/8o\/2rob39ZEhaWIHhJNDvL73WcVelglSruXGEyOPFQVNqN6U0D+IyApfsMQ9y502jTwG1F81yLeNjt4qxYbWDQRTWfYAa4URv2PcF6HQxsbYW9AaQKAsLA7v3QQ6GfOoVXTdOcgev3F+mGp8joLK9mwscJ8TPHYCRFAlp6g3wWDLE5rEQjhPKgFO+wSkeiBCf0MdcbT1mbbvdwX+B0\/kb+3tU70X0Dj80Idc5VtBiSW4\/\/HZ5HScYeNlaEQ\/azJ0a077vNDV8EIw1Mw2A5Bl51gumgUxOhtWHKh81p4E54Y6FMFMLT0QsPSLmi0oN2ZF73ysrsnUUMrr3EjuZm0YdxNyrTx2FKcjMVvdyiXwRLq9pDR7nzR3G4H9351Quz+vfk87p2uPzaGzjfTdy52XFZ6g9\/jKfafZE0\/D\/\/iIqjBlSb2JolOvaN3UyKDuU+EkpmJJ2UDHEAA\/vucwCNWrc6hYaY785p5UdW\/X8HQbwN8VjFZ9viLtZ5k2UgKxMBZ18za\/r+uMgqseuYhrLJ+IqbJ30NK6bJOXjvpIr6BG6kAwbFwpkREDo3zuCkp0Wa4SvknlQQ0kYFjtSXVE3wRQVAfxY9aP82j6HaImg6Q\/H9jwSE5fdbZjauTJ4zNXrAGTJo\/q6\/3uWx69L1X1gYRj1\/9byBPRnrtQDMKqfNy8jQRM0uPfZds2z316Uftg3XnIfltPVlfcnZdidfx7HFva4ZEwegi4+LIQ0cxV5sxb+MkIOSQEMnwOtTFeIL2vfePEPhTXkyKVCqCmECRyoehZvq+rQtJSFideVOogSDZiTvChrLgx6tgYMKCocpAcKGkZy5oi8q\/VLzoLdU\/JVEtMsLuWlTYoeDAkxlLuzUyaA3vHz0DyFYmjT+LszGm5LLVkyEsUsZNhcp4T3ALbe2Xn9tEwyayNEXmk8cWIJRti\/pVH7v6hSiV03Jt2Lbqez1fZbDZnPnd1AG7ylOPy6KnfJMAUtyfi6R5+aX3LGPj5ig5LThG2LllLRAn\/hpCjCqjsbEWmVSxY6cb+rZoiofXZJZzCW6G1aIjNanXesdeics8pharlCP0LFFy2xdF0XpivVDvTccXhHVIyq814cXS1J68\/mgd+ekCOiegA1SeZcCer3VxprHIPR\/rAx0sB88p2brXSu5Q3vFbMyRN2ZnFTGBEO20\/bVfZHQxXzGhK1A6GhoVrruXEz5Tut1hdteEQyViUh9cudInprzkRgMUmlR+Hy6UFsPnLV\/yiSGsvTpz4l\/YF39a7IurTYVHbofmNbPpygZFGlOMX816XI+XyaB2Lt6xWAk8ZdXgzOV\/A2DwhmE3FZLTPoA4eAl6R7\/okVLcdGp1BgkICMSijooEAlZDacHCw5mFcAf1kGNjD1E36Mh4FFW\/SlS3Bc5vlg\/xxR66aVb8qAxRGGOTJHLh5jQoFJVhGfdH0mbRIamkR8rn8\/e14JsHO7swg4fsN1+ZmBtiYaQ3TBLIum61OPdlwVM9f\/feq\/NO7Qj2mopZ\/ax2keqk5bHzsO2MlC6C0oCMgYx1MyeT+tCPy5p43hR0Mmz0KKuUmMXQiK\/0Vncbi2L4mZY2vcOlHhBaRsUpCb3wLtpTMRkaFJdzLsJ2hFf5+KB3N2sOQRo\/oAtl2U836P2t0BWdN2lUkPOiQ6qH4LPbLLhnHi2B4bVaz0kZbZmlcpVieaWqto8doHu+YFRPmaOa\/BJHJmjngwoE0JgmsNeiuCXXBSWd\/f5O\/IL93A4pHb1NcTyW+e2itmQ5pPznZoMWlhyEzmdqcdVx9vOS9\/GemQ6jnjd5Sp91xwyIWrRInHwbtg\/qUx\/lwiWUYVRndUVZLdzwGZwo4A7Ni766N\/kJhNdi04bmr4cmqqrob0OJeYJ3c0bUgp+o6ZTa4o\/b6vwDK73g3gYbiOIgniYKAXSmOWy5hzZP3bAbrdZWOL\/Uv6UMTHzjvFPr3KpW9PnpGiwPOwP\/+W7NLXpGUy2e5RNfy8AVTIMxjpcRP6jMmXiMyLdgpLRWVxFEUR0XgRfU+yLPrvk8NAlXoFjUGmpywv3IiiEidwH+SMV6iNNr\/gmM7bDox4y9g\/i4kYoBCltKkzNQDaBIkqgf9xdk37pkdE4PiL\/iBrO6LHlFEHBSDLfb5mzmfiYUYRZEweziXaQiRVJ9H81Cb5vGGG1+FWL7apPP7UxsS3u30upJWGUCik1gzxqt6tNc1PomFJQrMRBwnFdqNnqEmKizUPT2ZowU8qAepob82uXwI4dhhdRrGwFpRFI7otTueyMw0h6Zfn3NgRTdkd3bXr+d49OBPeG1brkyG8+GoYBc5pLa1YiihXnlPdrvvfOI49KG7oD4AmAR3RiuvE73ODR0iirs2TdtwSiUS\/YSZ6euDLeao\/Vxfskbxq4oct2azR1AO0YSFCv76LKX1tB4UGgmhwRlm\/DL3LCP9Zi0UHZe1C7lhczBXXkPB4MAP\/3RrrjOK2v\/FVzv7CulIDza8aEiCKZTcaPczRAZkBjoEDSFrL\/ZWii2BJi49MFUEwQtGU3QzZEqrTRn2J\/TRTKPRA8YHDYDZQkR9RqC0N3RyN5+eoj6brKWSj3D0m7Ey3v9yBCQac8Zyf6V5jT2E4kUzHa5TG0iM8n9E5hgXp3xlzYxKL7Ol9D61rTR6B\/qXGlHSdEmNjEyZ\/xw1pROPNfOf7F\/RYQDC6xzJpe7jGMNOTvSg+9T5h7+UCxb5Mf0gY+FJPGdwCmeuRb1FkinR8cZxqoDYH6l4BS1x0glPbJUmuq8fP6vdiVE1dTcn7FQ0zhbVy8Xv12IYsxOiV0KQCEdyupVoSgk4ny1LragFNF9BZQfdkaGkBlDSOA47hZ3tStVFd8HL9c\/PyB3tkfBMddA9iR5aXm\/ChghSimSEr2wlnqPZSfQhYYnnqeCjzjPnhxZOhIimba\/wqiCxpXzz+Oi+vwJq5YbptIhUyl\/k4TuUh5IBOGFgX8iwfxM7lVcryqW63ynJhRU7SIpi4id+VJJOY3CByUkgtEPJgzYxn4FiHNcGpwSvmLUaS917McoUUSlgL0LYYVY1SYCDsOuZglqce4xPZQzEGfpLcTsYzBFvkrCoaPND2e41Dyb\/ek6DZHMwVTWYNVVc3cexr4cAMgwM8gW0bIdszhMVXKw3mE\/r+dKfnITjNh7\/OwXmbtKSZyHaKX\/xNPuv1wTboc7bdzVb4neU8W+El12UOqNceauEioMmKhp5cZ+tD6XeRym3fif6tqK95HEPU6illnhJYeESRxl+PCwp77\/Y2HKaD+9AeRQL9rqkHhfDExZC2bKkR9w3YDh9+EFVsFGQPF1qePkUjfgJk4rILG1nuD5HMhBvo3MUVpZkg10BUKZCzLpIXIT6o9+EzNFyJ18D9tLvOMw3pkBcsHyFy8+eIM7MAJujkG7N2KczBROm9odG8aE+futpR9oL0lsMpovskVBwA+7LYOyKEL1Cz+OrwjR1JRWh+1NfAD4KlAg5vyFHY1bZXuOHZAWGLy6cJXoUv1uYcs8c+e6jJDE7CToR4ATlOm2qA4m572aa3iJJighpsXthLdHZ0wivfjzcfMUxJ144lMfCBJRrQ+VV\/WlzZVRGxE\/a6Pzq4xf9UHV\/79hrf0\/YIb3288Hrx+CkBxtmIA2E7EAufMtgSzwGt9w4iz4ZMhdT6l4B5oqRb2wGoY0nO5byjuuLSiJQQs8F98wpNszPba5qiA\/K1uiXa6oy6YEzU8QsZfQZS7XoEZtzjqCgjc9gFQBgxuxwUSQwtTmXb7h6DIsztZweQVQVsJwm84SWOeNEabaTfwhc+tEHqlmaTSd6JYq\/4unMSYOUnB4xb+a9AhYQ2+8Ujmo0NJBiRPdiBzdpM8Y\/BgK6+JkaOqsZx+2yrc45Upx0L12ueMzON9UeTU5kSqqH4YUH5vTc9287Y2AH\/4OAnEzphhLapd7LYWjfMYJ3ipnQgAOgeJfO5eB3iiin8IgQNwtcPGXK0Uhunt5ubayJI+dwpQ\/LcAqq49M3bqfFnGCx5JubSCRxcR+7qWKDuubKYSjVulphHgz\/n1X\/48g3uaMR2X98joPSkvAq5kj\/RkuxUmb824VmuCgb7UCXVc\/7od\/IKNsVz\/EapIGWqFSx+Q12y8B9mPS2xBCr32zUfT4UmuGuBFBhLmwiQCgwy2DvNmmf0fzYk04Rn4yOVN2vZ4xsctH9w+\/gqL+MgnEDqDrzI57h\/JYVaJ+PhYswXV6rQbrPhOZX7\/r9smyl0bBhqOSJv5zzviR2OpuZSOrAXiJETJ3\/Bt9fD4Xh4973QIVAqvkf4AAA\",\r\n        \/\/ Les D\u00e9termin\u00e9s\r\n        \"lesdetermines\": \"data:image\/webp;base64,UklGRtQMAABXRUJQVlA4WAoAAAAQAAAAnwAAnwAAQUxQSJUJAAAB8Ifsv2sn\/v89995nn5z0ZorHljEzdo1pGo3djL3Tp5dMH5lIrChluk7LNFGUBImvIkqISEQiU5RBFHGqhGAIEkIIhhAOh81isVgsHn+svU7iaHz1lxExAfTI\/4\/8\/+\/IgZRw+dsHL4cfPmw3fcLcl+sutsE39yHCSRlW\/PLBv3VJ+EvmRSM839IHNzsuY\/Li109d64BRRCMRpuDfXn9oQ0GaPTg5qXklL396uh1G4UWjHoMx+t2nu5ePSo6zaRC2Mqese6vuVjf8JY9GIkzBn11rPLCiNBzvkD4sjgbjZPjLaCTicfiLu1c+fK1iVFrQIvPw97uQNyglScG4B6P86dTBZVPCIZv6fxJShAcnQAG8\/dqHzy0clRy0qL9WQl5R0RNEdEh4GKyU+mVoyKb+u6kW0YJrAPArEX0KNmhJnKPYQ9mlK6vO3ej1HPoakNGevvcHBde9Fxc1y83Mt4jIZvBVt2kuohIAnn2gWXG5Yyv2HG3G3ntV3tIFxGk9Xp+nAMBtlhzHJ00oTH0wuckj5j1z8EqbB13xXfeiiYhWQrBOVwMA3l77xvxQLwSqMh3SHyB2aOikhXtOXpcwSg04OGCKi8uJcc4WAEjQqublJzluYmqK40kFQN7If0AEU0fMefW9S90cehdTgnPOGOtr+vrA4jG5gQGDb\/R2a0P1+myLdGvUjqsKl+kyhGACUO79ZYdyS5btbrgahVG0F2YFh\/cwBQG9YcfKOVPHZQ5Uct\/5r6tn5GcFLTJOO8IBMNVEWTegMwy\/Pyw3I2\/u1kPNUQV\/KThjUkTEBiK6DkCi68DsMXn5OwCgZqAoQP21AXAA6lMiist7EUqox\/5kgficstU7zv\/SB6PknHOhpIB\/dXnZG0fXvaNQGSB9Io9E+PYBI3KH+aWvcLUewXEynJHo0vAJI8bshRIYQnRYRMQ9s9wh+bO3fd0UgVEIzhhjAhJGdrX38tpx4cygRZSKDeT\/NjjH7oGypr7fc5OIEp65AjhaBAKn51WevJV4GAAUQ4tFdBzAyAELJOaUbdxxobUPRsk545xzCfOtxhvqbH5ywDq5mYx5HWQ8BHEPkgGcI6INgIrMmv7qF0mdUPDNafAiHgfwGBEljxpTFuqXFRwyfu622uZeGCXnnDPOBIyy9\/cjlSfuZMXbFMJWIqK6SlN4mzajrvHQLah7kCSYukBEy7kH39Q2wTnzAIyJAEDn\/jTqfyAlXPbS3sYuD\/5KcsaFVIj11pmvtkze9qtDROPaSf9bjVb7kuZkjZl\/Yq42eulhBoV7AYmLRLRSeVJE+lhXahR6T8uZpMz8\/OGpLsVqBzOnLHz7zOVuGCXnXHDOhAIAAaDr1yNvLN+MQzYRUcFNIqLSOz7Zu7VTL2rlhyvLP1qq6VWSRUQ12W4o6FoDtgL+0ZSjNa+Xjc50LYo5kBouqXzv7F0Jfyk4Y4xxLhSMnR2AREuAiMhRT5Jefl2b1E5kx+cWHCuY8LjzVx99+jkfy42fDACtz60tzXWp\/0nc4+eIaG3f1dNvLy\/OClHsgficaSu2NtzohlFxzrgOc7s6\/eKTE1KDth1aAdwg37t5PtM6xs1etuWsarvbe+1vWyYl2US1L5kK8Orm\/U3XewC01q3Nj7dpYFMB\/EJEbtCiWC03c\/SMrTWNd2GsfXv20AucMy4U\/Hlb3b5np4STna50Mpfgut\/7qT5T4Rt5rzjdIv86gxXYCF3UV+aF6F465RXrF1OMgcSs4g1VZ1p6YZScc8baiGgk\/Nuaa1+cVXg6ZJF\/R1YMdLfFrzhguPpZRe6CVorVr6Dm+LcnvsvMy0u2iaxQ4cbt5zYMlNFy08fMqDze1Amj5JxzxoWE3hQ\/orD19unLT0\/JSrRJ\/4LMd9K1dEc70+kXIt\/prRYRTenQrNgSUx1yPyRfy1oLAAcHyk7OLX5ue\/2dCPwF45xLJTlX8BXgTceeLpwQdi1nC5mtGpPTPSYtZ8Qwr8IiopMGY9kNIqKiO1q+E5OesMqPkloYi8pd\/QkkhsvW7LrU6sEoopEIE4j5bsupvZ\/eAs6T0amMgY6F4nMK5m692NKOz9ZNTg1iGhHRhTsxBLWbWqHP4gK\/l03uFM1K2uRBgWN3P6yU8OjSecs2vX5MeNFIlMHIvvu2A0qhfWZeeoCIyCpVjSZrs2HCrqMcAGTD62PzkEZENDNIRLb3OxFZKUQUnxNDkU\/Fdz61z\/q56QU\/fPHh4drbABQGIMY4+EZ\/vbRvffmwhADREQiJ8xTjizf9nITH6jd8W6IdBHj9+gkhi4gCSNd8K3CNiOxyIhrzeAwlPiVI1Or3ZZSt3NZ4swdmJqTgEbVnoJKvfFZdkT8kziJzrdYcS1qzlnb828OfAViqvcPFd2S0kWGKU7hJRPQ+Eb01hohm+kxs0yrUZyVVNY1RGAUXLBr1uIT\/roEayBPaRS20TItv1KygRQEVERVaNdCsWUPGr96LdBOdUNe1i4VjVt0eRkRTrxMFQpt6N1Y33IrCqJjnMcYUjB3fnXpt3sQM534YCUc7p+khcMzXXoe6lh2Op5T9L5aHT+cQkVOkZeGG1gQAeYGsMQeixy7chVkwz\/O4lPCPdvxt1\/PFuUkO\/dlrYwgzewDWhDLHP\/eLlLfzg+T\/1VAisutsIqKPOomclOuSM9XbB3+llOd5jEsYuy+ceGPWuAzXovv0aCwqluDCp\/fWM6APwO8tCpfIfDSLiKit0ApmTtkh677rhFExLj2PSRh7W85Wb5iekxCg+9cdkv\/k7k4oE48lccWE7MBXEGhYlkZvAD9Ypq\/HJQ8vfC3S3SbgL5WSgnMuYOxprNk6c3Sma9F978QnpedchDSMRCy+h6GeJiLaCjQT2XEZBUtfO9XXB6NiXHoekzD23GysWjk9K+TQg\/UIhMEdTkQ08moMh4AyIss5BNnz2ZkOGBXnHmdMCPjL3nMfvT1jZLpLD+ajPOqJ85p\/fQz2Caj6yrpb3Qr+inuex5mEsefK2epFhdlxNj3QmwDgd5P1NM5aTtoTZc8dbWyDWSnpeUxI+LPuC\/tfnjUsxaVBceSMuUu3rPCxk8uboSKtvTArHvUYEzBGLp3ctWBiTtCiwdaOHzvr2WMXbwMQAKAYY57HJIzR25f2bpkVTnJpkLUCKeHJzxysv6PgL7mQgjMuYPQuHdmzYEx2nEWDbyCrrLKm4Q6M3NMljNFfL+1dNzOcEKBB3NJtxz3lRbiUMLLLX2xfOHpI0KKHx1rokZ\/O7l9eEo536OFz37Gq1Y9nhCx65P9H\/v+PXgBWUDggGAMAAFARAJ0BKqAAoAA+SSSPRaKiMBFKBN0ABIS0n6XyeNfGPx0e1+l6Rpv06mGIJ9L\/VeJJdzMladeQGheku2XUCNMPdDskxh7oXE61c2M5z0CMBqnZys88KjC1bZptcbjGj80TAlx1ibudEhiXpjQTYCRaXhSy2ElWQGf+owemz+oyVsX9vYKYg8CNMPdDskxh7odjgAD+\/TZoAAAEEtVZlqECPbfEl+oF6GU6nY0bPjd92X84A5ebCTIZrluo4SHeiN2r9IzDLNGrXC9ogL+1HrqGlk4RDT7iqWExkl9ugESWYjq3HE4q1Xw4Y+A7D5PwYSoKF8yj5TRHNQB8833xNKOeD\/LcZsCvc75o2wZhx1wSql74DxcQV4WQLMUO\/R3wTrX4arZhcxKQv2zHbptOlKvfUE\/\/9jf4Bfh2AeeX7bNb2LHcmGm3A1lnLVmtBkZHC9zoeDtkzT6\/UeJJz7MhjLcFgnfO10bAs+kTY6lo2n6+oz1fczWMEtuUwKwnMXEyYtuNXU4GiM\/5nPq+8BqN\/hPrYnHaWsofOvTSA7Ko4R7l6NL6k9ntxaBCBoUEctULqJLWiIwm+7av3mTWepnSsCGFbtXPBjK\/F2TjKZNuVSVDOxXMcRrJHWf8mGyfi\/wSTotH9MGEnIjGAXqGHNrF61YHfOUz4QcRHoIWYosjV4Frani284H0XB0l7egHWG3QZc6GR9P6HJ0LoI5g0kp8nBPefqdzK9TeimXnQP5pAb1mVfVtMsMWckRAOdVS019tIhKVqSpXm7DCx5000mBM6t0frJmLl4M1g+nmb0uMh1M6TExdqVPOPbwxuxL+kWXt+gRhUAmfnpMf5ubmtKKpoSBEbObJXyJO0jGVEownSIoTjK9umQnhdkjHfClB4gKBBvA\/SRyFBNI4KNNalfiqRazVXHszh\/yW49biAi1Niz3tDBfT1l\/htD6SldB5UBGwhiZ2nkP\/D\/9cAqH1ePfZrqcRJu\/X3SZU\/DXHA4aSEu\/7OFp2s71UXwavna76y2OdLhbpJeQxdLgcbZhpa\/aKMbXAAAAAAAAAAA==\",\r\n        \/\/ Les Petites Cantines Marseille\r\n        \"lespetitescantinesmarseille\": \"data:image\/webp;base64,UklGRrwZAABXRUJQVlA4WAoAAAAQAAAAnwAAnwAAQUxQSEkFAAABsMT+n+LY0b9sj589jpNTsrx7YmY6hZmZGfyW8RRmmmVmhhvdmMFhJi\/TyKOR1WqVWq3SX6XvYdov3e6qWpYiYgLkf+qfQQYZZ6TKVRu\/RUH57cZVKWIm7PHEpMb4uUdiF1qlC8uRzx1HzQwre1XD0fAjkLPHOXxkOBou6Qwru9EwchCVnxUxRvYFcMqTVAewrxgRI6dSeb2YSHx+9vcqZjs3d9S9Oau0VXb2mInChwGtpFpVfR1eVVmqlcBX9glf51J8rlT6YmdJg2VRqVT6vGBvMYEbnEqutNazfWRPAn8gm7TaclEvcPurbRfbXBO2c+eZb9mCy4N2cY6j5WofuThgR4Kl9Q6OPKojJkD9Z74cVxBALeHkngS3378Ick8QfT7non4\/NHdTeE84fcHdAblo+qPpnYAnsHdO7\/zZ9PMBuO66jJ3OE1TvqL7++oGYNnXPA2xhrSe43lpbWAfXj6XFvdNZLJSQ++zvfGDcns5bmBP+Tb7Ung0yIpix0Z7PsIiBt4svtOYqHwUsRVte9TNXxkF\/2xbIiQMPtGWqNhb3teUBovFAW+4lj4PX8vu72rD23kw1DpTQWT0jXSiJpPr8mMHKiXle5jUWoDxn9V6FElEtXrxyR5QFUc3LI1bs7C1cXJT5OSt1SoklshY72S1iVqL7yteCJboOOL4rq9g9Hgolwpptc9zeo+bMbrZKYl16vtHcLWo98bZ8prEPgiPizs43GjKQE3WFSa+Z+7SIG2XBuJnfEzv1+TBxYP1fPD4fJg6Mk0Z9flkvaQqekGZT4PfmP32ekLQp+euoGYkeCqNmZikwbmLwwcL76Gm3PiM9UCLv0UvHtUnn9QvvYwclz62tcxCOBNT8Daau81iQhBkX1HVWKnhv31nPYb\/ONQ3Y5pP1fJuMRHT6g4NqudzlqbCzjsHnsemgtg4Ss47B57HpoLYOudzl6QC1fJssFZz+4KBaDvt1romQ8Ump9ywWaeDt\/J01nZcKmT9Xau4chEuCvzKpSzqvX3gfP2UyqstIDzR2Hr1sTeoffLDwPnKKdsXUJzKjiB5jafT3KTBqxESv5K8jSZqCJyR1fm\/+0+ePiWN5QtLG+a1XdpIGhb1Sp1xPHVLH58Nm7tPowbgZyOOmunVprxH5ILioWaw0fYvamHnHnaYps5uteLk53zPSePcEtjONks\/g9l2ygp0TABchV3L0K8aymrsnFhudEt4hK3zOHBcZh\/+grPQRZREZq7fIir8KjcoWE7Nq5nmZ13goJ3ZlxY10oYyF4o\/ryOqvvTdTjYTDGTGrJ3IveTQYSSsfwEbD7WrHVCNR8NiatBPyOFjulZa+6meujINOTUvkKr+IA4W09TNEwdvFF1qzQRaDjA1pbectzCOwyZfaI73TWWjYfPZ3PjBukXTOw2WFLcJU2MI6uH4s7b6Rnc45HxjvHDuvv34gpl3y+Tt\/Pn0IwAfFAw9Nfz79vASyX+ED4r2DvoS0P+hfDLkPhYVv9fsS2rVnvhxXBEEzjn\/mPhLkI8EGwCnndSTUF+e41jm4XcSESs6dZ75lXvWzEvT91bYs40YJ+4FstqvIT+gGbnAqubbp7+wvoe9cii+X+aIoXDOuKIrCL\/G24MZ9gyfyYSi1mp2qqr4eVaVSq4GvrkkMP6uepbPZLKPRbDabzVhqZ48ZieP1LP2rEXlThdMn5Z0H3iQdkc8uuV6MRLK7PqzeJSJmOBwNPwL5ntkMfj8crhsRkd6wuisRHz\/3SOxCl6iF9z3v6ZKWZsJyBxefvS7pedXGb1FAy80rJFHPIANyviD\/TxQAVlA4IEwUAACQUQCdASqgAKAAPkkejUSioaEUqfZAKASEsQBo3Qvvf1E\/Y\/Zn71No\/0e+1nC7hch3qt\/T3sAfqn\/svSU9V\/7l\/kB8Bf5b\/af+f\/d\/d3\/3Xq2\/vf99\/3nuAf0v\/O+sd\/ovYl\/tP+x9gv9bfTL\/cv4NP2p\/av4DP2T\/93sAdIB2MP+M+lXyM\/0X479eN7N9o+Zo9f9tv0P5h\/Gf96\/z3gj8T\/7H1Avyf+af5L8wvy048XWf9R6AXrd8\/\/135x\/5Xz\/v6\/0M+wPsAfzH+gf6f8rPjb\/Rf4jxKfuf+Y9gP+U\/2j\/af5j9w\/8B9MH9F\/0v9P+a3uV\/M\/8X\/1f8T+QH2Dfyr+nf7j++\/vZ\/if\/\/\/\/\/vB9lH7Eeyf+wTc5qRzlofmciXngHdMxvYnhgCl2D8m82TsS8z+ApFb\/vbPj\/+2c\/tSxIG1GdrqWbbcSeeSd\/K3VT5ZH2erUmTWWSn2QrN7uksJuQyb\/RyK2MEY\/sZHGJMcTzFKAWGbP3bomJBKbhH9VzZQXUq24WgC4Xdxc22NJ2P2GQDiVQIZIQliBksVgdu\/BtVHwAbdScHaosBJOwhTDcrSfUso3HVf4RFN6PMowdoXATaFQTX68xeIQjJU4UXv9XTpNfyHh98qYW7dmupDKDBD4W4hy8fAFUW9yz2G5lnmgFhOzQ6sDYL6wji6W5gGNLvOU5ffxwU6OMrbL7\/yTvoJIUk22bE\/bvQYzY93S3lBg\/KIpj0KOhOM+5WclZMwZ60jWXXCSiz4QhvXxiYFZJFu7upLD0PucOSzzd\/Vl9M25s5k34XQHWy0wwTYLTPZUjckvEumvWVPmBF5tlN2HOG6RraVGtDJO4HNnVEylpsrEQt12vrfj+0IrDh7oNdNoHUpjRgAP7+7qoLaYTP\/6m\/rEqWMQpoPzq8lxaJvV932zssl\/NOFkmjUNExrrzRs\/H3bwmQUNty1DMTCa93eXO7ApF\/+Itft\/mdsx+ZIR83\/ALdss0\/mXZHSZfEtGN04FymI5C9X0cxDWZfqtjwfYkm1fav60+Hblc9aoxMQRvtx0SoZilD8uNI7L76Cvwzpg8v3UoXvtJIE9zsRpkH9NFej0NU951mhKamRP0BJpJWyMJEwPeJgnBhXzLGyO1wh7vHW++zM96sBhukR4CnCTTwU60g9\/iVTFFaEcACHmBEv+9HaSmVJk3JuaSUCyGEVA2XrbfiJfp7QffopI\/r\/ux\/HWebVYfbWo+R3Axu2T6ttsjAT1mTukx2e\/PcQMutJ0DF2v+ltbRYS\/4eHveV8BUYk7ajN3ks0j07RZZxzbhSaeaBTdcbjk5mtAi3h+8Oql1URYKGd\/x\/OyzIngjJp+5YOX7BmPy0MmY2+ngWbuNhAzB1a5PebRi9n3fa1XhrWsgCJdbHVn+45yqzpa2hMGRz1PBEFTMEA6nhgDZ52V63MNeEUWfhyFjnnOsS+tr4s4n\/DTR1zeOjTEw8rWa\/PxYy1OxL8lSrUXUf0ei23nuAe7ha6KlI8mweTQSWHYm7D2ct99\/OIiRI2uY\/28VW3KK3rVcXNceTTTMFFpIeFkZFEPu5qpHaY99EI\/jwkY7Ro82LDVB9P7PgWXsGriwxRo7vaHSJVbqvvz0jRdCt8WUMGR3tGMQitKbtQ8r3DscRkiIRu0FOzy6n2bJhqgEQPIERUH4p7ecU9W4HbcIx+aAACYRJgnFv7q\/56wKOwNjJPZ4KxQs7tuZJ\/F1+mvAARfQ61vdaFBjRDwCglzcOwiaGuDq3i34QgQVsqq\/xepKyNVqYEhDTZhZDK8kCoH\/zVx87\/dvLXuuNsMNboQfbZIqVnbTiB7tbHyD9P\/WvuIL0Ef3u17URYKlT+Qo1QeXYhOqjAVo1\/MoPRux4Uuh0ujxDaJS6XuEl2EeQyf9kyAAFgOp69+vGUCmajcJjVp+PqYidlI7ZmU7SAMzEMlBNcSQ6fP2PTtlq6i\/2Ga1HxxY5ocMwj2Nhndehs50PxSlZ94go\/2NW32dy8QfuqOEqJJNUtKq+njmSG6328srJ\/ae2NfZlai+LkPLonLRmsLmGTR4eErGXqeu7+gKXlzSJ24I7J3zmty04jnza+9X6R01EpZrviJwLOTnDgV49AkAs8kpaBvkvT1lB+6X8qM6FRTWLNGyC\/qAlf+QHO\/wRr5MyVPGUlgdnP92Noe7F+8QviZ3KeTSKJxB7w3c3OnMOcuKZgm78FWh8dsKha5QEODUiIlEQkkka2Ol8HEnKx\/T3q8+nwQBfpDdJUOZRFine3o8hx4g5NkxbGT7D67en7BU3tduxDqff24Bc+m5hMbn51kJs\/jAkDWudDoeHZimsThlEP56XjZAhqY6WeCs4O0ON\/P8zmvMr314pwjwLvifBtJkQ0F0oT4z2LIbiXM27p8JxrERxw0aI1Psg1yLGLTofajlAnJ7Vqmpi4yDtnM+J0n63IVrRNKT8jWI76ImF7mrl4DV2fs3eQvqB+KhQMVbLbmdH1Baj9RZ7a5x3x+vkm3RcLptERjOJJn4XILdqB3zDeWI8wze9hoOiq\/6F0MWgk9bpwneUq0cU2vidtn5gBIG9SzY2V8n6MXBmpa\/rQLgRbR5PkfU9VVrf0hXRLwx2U1tMOW1j9P6PEt1aOa\/dYZWs6ZcgEfJOv+9moqfAshwHxJg5iuVv6hdPBxwZ25H9\/+bdwXe2Htu857n96Bt\/gvupKuOkeip2ghyHmq0hD6xn0Xe0D\/2tfBfqYKfopIVW0axZykX6VKqCl8ePAhxwwtZhkf9+JtLDZ10ESO+V2drT+TbRPhpj3UL4FzDpjs4XHTMixmSe+GfNN\/\/qa8+DrNH0d63HOIAWDs\/V7P1qe5oD0zoRIBds+ucuooUBPBUHBTdhp\/+7d8X0SHWb3CfL1la9cXUZtXvp7AgEB2ZevJepeowq0VmWzm\/nfhhH2v5DEUH\/jGhQqNALFYzb0xX9YtGrwMeYbPuDzw75N1im62HrLmRyFtwqcp3g4dYkLrNKpfT41fam\/wWF1X9tL3aVSqOe4fy8LLtiFfjaaQAd2uesIrN8+UuqxMEd87IEERdMnLa2FQT2ritdAZRtz6TbhNlJf92UxMatL8GbGuNm3R1ufnUrQH5j0OuixGVUDXqTYm5BTYc01XVMTEyL0wpyL66uxJPVQw65vxKlpWHGK63QOYBw3c4nScULIIubmCEKF\/kYASM+ySWHtKDC+JkQEgnPRsKiq938OmEY1cIcgCsoJlvpP7PYOQAuvvxrKuHPb\/KdaXri9nIO30wQG23tlZOUEnRV9Rc0kQK46ciwSjTkeFX3IKH6k7H+SVk7zOyU2ub\/SI\/xQ58dhexcsUP8MdnOi9c5NWeetfBqMKCqBsOv8nQn89xM1YxwC\/3a\/W0Olttltr47mK3OzAg8hd2iT7VV++SC5G9a7vqrp9obRQsjhMaIribGDPqDI2ZKQxWFWg0hXtuynuGdRHfNLZMkJTlRO2hWTL4Eu8wv15igxIddctW0l7UzISqO+5S3Vp0JMrFSoSkEhafRxQ9gVuKnoGZRiHv4yRV0NQzs70xww52VYVI08arSnra6DQ3qN5SfthBRphWH02\/kkvwzm3zSadrr1gU4dEEDuOfU2Fo9eN50yiTW+AJ95i9a+kvtwktrAM1fZUqq7kgORGMOpvz\/LB8+B1sUk+CHDFy1PmjhD4CL1CFRzQWPZtlJU5kjOXp61Ubx6ZXl7+qxfVllZKWShV2txD9jH6ZLm+bKWR8zL\/DX\/S9GgU80YD9XBI5K5ygZ+MCKFUbR9vU0px5BttcUk0oC+ucRNNpb\/x7AYuPRFWknKeqvHc5P73BG5WiVkkL+PwHmi0VcMiog6WpGfCr9O6wPxmOazplCHG\/hW8fwKwuh9nibCyDZqOD5sZu41Jm3yQoH8AP+KtjfOgE6UxkBjv8TcnA34ef0k74d7wBnoYJTDkeNkRk2gJbr49\/fdrosTYdqKR+UNCpaWjTojdHwuW6IFJxI6rG85oq5S1a7KPv9ggMcB4RORUTbPeh8k70mXvmn0j4TFANB9oDAJ3C4CYlRqAr2ZqwvAjp2jezJ05EUdpv9km8RQ7OcCH71sNZXHQu3U01\/8UyDx3ZanNWOqLEiX6znVbhVEEAPGoIMO8GSeV7bhxazgzyqGyLOnOPxE95iYe06r8pqokzhezMsd7czIn67qanEKgqKWWQqjImKOzBuTOnG40kroureqrgc1I986jCCqJakeMCPWI9xgYnfAUEqg8V\/7jTiiFVynGd11XKYpwFuv6Aep6S8nVxs4DhJExNHt9b78TDZ5aTWkNfD7KRCWwzJBbe68cvLYS0oghCZCqadc5UhFxAWvf\/ZOW0FqnPQIpkHXXT2ZqZAF3dYVot6XwggPa0LyXmKofBjh1YPqUCLL1VO3XgHt3xlT\/38JekpVxrjs7IOtx9utsbXV3SKQAslwzhJD9ZxohbDjSllGNMtDqQJuRN3YeCj+Uv5HaYSGnJXpBD8WisgF\/QlY3Io9V8igf+R+yigYHN3aK9ffrRNs\/HexfU+0G\/6cN12sxd\/oXaRfVlJIrEL4TKIybwDH+q2DfYgiYByjpvPae7mLw4Tx5oNZlmdyC0CiVr\/dGl3aQQmMiPcsVRKRve7GCO9r\/\/7EZBf++dr0OkGYpIsfBMdtS8TB\/HsefQDDbelgMBWd5YbBItIEb3GbftEyVlz2snVihr4nTWHrR8AcNj5ozkGMkinlaqu9RjTF8J\/Asaz6GXf1MsaSaqjTMuByA6\/EmKNA3o2nLthOBOxo3v6BTLSIuW5N5SOXvNtc+vXrkVPPouhx9QQrPmf\/dVGmyiMjg8FMS+smZDscrQbIiKhpOcMd8DnvHmq9GzVitHZniucl4+5XCtb9Iohs8k\/48XivVHRz+qnkLH5IwSsjMsSYyHE\/1oG+yg\/RbCkGj56E2bm4uhT2PtRbV39b\/iWADIHhsRNBBtguoCces0Bkq4jS0oqP0XieA611XlWi8UU5okOCbP\/1mnkJaKe2rVrbi6pmRA6YkWseqiYZM2HEWVcvQmPuZ6eG6gPqu9s2PIqwORT5sBfup0E\/8WzeYRcevEw9aFGRJDttqY0gucljNEkJqw2Oz3RA9n3z2EwXGJ9v3rEke9Hd16K57J3Ib696a1IEehn4mMLRFinfJcUxNLwLgPgnwg4s1g\/hYz5+N0KPay7iQT1lmIVeESnvc\/aKj9LY\/dfblNI\/DAZrO0Tg+nSKWde41SONG\/iUQ8qLoiZFOjjmmQ0rNAlu6EFblp+sDfierg6nXD0kMwvjYC7+RhLPneDB7505CHySHLlLra8fbHCVANB\/x2KYq4nwWuufJbJ6kU\/NuxY79yknZAa1njXafpVxOwjIA8iBd03VutciS0bZxDBd39E40cYOWCPCr36yWUwWFwetlD\/9mwq\/AOSmBhQJR5S\/6bzTvCnQlMEbfgK8fYYHuarGf3IMN79Sxnnpcya8pXQr\/k9GpeM8PLbKdZ6pWyhfrYSYBAXBPY3LDqk4wLEQXAws+ynFXglPrcOWisra77NrX9Wvv0XLA+k+xMsiGUP2kCx+simMi2+2TeM78u1BU8Fo1uEpkX8X5FcIoEnkNDMjidGtb8a40FeWT5UEjgpcCw3mStfcBGUuRZkibaIUgZR\/Fsg0PxQgWGPhjhXvhkje43PTDBSIP2EdBp9hAeCZ7ILVJOoSUHs+00tbi1IQg43AIFYiu466VkBp\/Ol2WkY+kTYeYED2u90TFYQlxz9DgSXaCEQdJwB+rAQzHSVVvC2X3dYVJ5T3Gq4Y54N+xoHzNsRStq8r\/5s4+pocP1f8w2\/IDHyBHrnCEoNw8QH3N3BcGyNFmEpbetCxzumISLMEPCvA3YzU51iLoAjg94PgoxyqeTdSZu3GnVHGVYf90YHBSrrkrp+8in763DBpJg+EIy2jIIUCZfAcNtrd\/MiKn52gwidIOF3EIp+7FwA\/EGNZ\/josueKCg6\/IB93DW4JnT81HkPkUHXVpKKy+TqlFP7jyVSxXR8a7UvN1OjYN8f54WfBTbxiox9vjrWMJ+SnCz\/og8t78XgoDwTaFwu8vFplc8Rt2F4qYmlOppur62AFwxnW51NtjD3b3erjPYC4tlTF7wMy3v6z6l4X2Znl3qEoSyzJLha3DeDbTeL8JO\/YNxGL\/DOWaA8a1F4c33dTKLEC4niC0DoFO\/\/k5D9IXyh1WgbRtG\/+mvM++413SF7WtavIkNmmwr\/9lwevaW5\/9lW\/eXe8lC4hYzuFMz+wORVI4FxZ9z9kYWw38bVCv\/9wCflgAFr4jPpTg4XTHwF0UEelinRs414mEazFgclhxVrmH4PEnO2sb38xL1yCnqDnFb2KiZtkpDnXispCqXx38IvG0kcZjmjVAl\/v0QMBzB2DiHdzQ8+jJxPcDnIaG0rpauva17LHVy7+hE3RvZOhOJRShz9DVwGTyHOXU0MznhpNniYdPx+IzvcqcSYe\/912+Y9uSayC6+ML1pY+H6byCmAKXArVSKnduE4IRgN26V962Bsm8Bvmw+7Wd42gAW5Fq7jcBdamrpx7\/vY2xjhbf90g0ts3BvCdh6VLzd6aPeFMbS0iSpeSjIXBGrVX+7JeuhVQSB1Oj5mMY3qimOy1o4UdKWYPtX7Ipp39Ok5CVBH2cQr9IqZ2KVscbZ32deH80ADM8uL0A+jJmxBY1bl\/Bzihq4Je9\/wANaRvBeUEQfxl7uUpDxlhIU4MRa0mq1gFylZHoQ6LPJogUEfYFGLLTdGt8HZziDPnjEtbZk9XEDOwvlKUGPuoCIGrwMJZkh5vH8VlHfAanzbg602tXsa2AV2t80L42W+Khm845Hy0I\/9en3JPh49rLY7tpmtiT89jrA0YhrTvJWi5YxBFzgJ4UsTSsjrFLGwSYXiDT+LcsMDus9CLkohAITQkgEL0DlQvYxbPNOwQT\/sTJMyOb4AAAAA=\",\r\n        \"lespetitescantines\": \"lespetitescantinesmarseille\",\r\n        \/\/ Les Petits D\u00e9brouillards\r\n        \"lespetitsdebrouillards\": \"data:image\/webp;base64,UklGRgAWAABXRUJQVlA4WAoAAAAQAAAAnwAAnwAAQUxQSDkNAAABwIf+\/ysn1j6nTEubZGY0mdjLxp7oNsvqs+pmlazdbZGNBpOQa73VRYOxkMUQUQwRg8HFEBQluMWLGILeKhKyBLdIbnNvExFJCDIcDofDj8OPzx\/nzCSTvc7TnyciJgD\/7\/\/\/G7VWXHmp\/fz59l2xzCRU9ZjJfzkzAynsJoVwhNshD2iZRrCXtmRyx+KBDEO\/SpupW1yQUajradMthZAejvxKySRCv5aOS5KkdFHw9QxCLaNDkpJ\/vnDqG0oP2ZpJfChtklI+ygYCj6Qk6bA3g1AahCGEMMVKAKih8OhTMga1qIPeEdd7tD16kTkq5ccbGhuPNxz3A6pyjQ5JWx7JIFL3zaRDkoKTMxMl529SkhQ8jYw0q+AbOiQdORzKTGJ9FCSlw0nIRIOhbylIOpLLkYkqwd9SkJS0piMTVbW9tElKZ3gKMlItLIUkKTgFmalaZyds2za4DRmq8g09\/xjIVLBsU8WGDes3TwKUDOXfhbGSl15a8FpJ5MWkt3Rc7Oi48OkyYPPli5dSbu+an6SDnm0vJm2YnnuBZo56TZJTwhTCFI0vJuVbYQthiJ3AIWGIlA1neZIzFKTg0ReT+mdK0uZOoIGCKdtckeSsV8OL7SPg6OiWJznndeQFNShsIQzxIXBEmCJlQyRr8zqcJn99Tb3+gymur64PIFC3uy4H2fXV9bGUDHrWAOc56teSnPb6aZoiJHN+MBtIxhAjWYCpJJendPTc2XPnWs6XAe+fbTqV8skzNTNmzZw5a9bMO3RIh1emz5o5a\/6MWQVjlG8n7KwfzFp72C5AlGQh4vaQvTiV9J7kGH86VrSZ7REKBZIFQqFRhULBFAKhkNcSmsyHkpWVpaCICXr4Q6G0fWybwi29pHBbdnOa5t0j5dW5Lv8JSfaVJllz69aeCb0kzxd6FF8WZP87gNb9aymd+zXBzkudeT\/pd6R82IXsS4L8amGaGig4hg5b0lNF70OA71tKkizzaiOFoGU75FwAM0lJkl\/oKikp2Bkmmd9Lh5LP8xL0nJ2exrFqTkMuymmS\/yANvoWf0nAuJMgRxeOEY9HTdp75MIU2+Q9Bgy3KN0NSin98nOuYTrT5sSPlsyttNI12SVJNy3EppDuZdAueSkNIGbKcAyp8F6UltCZHDiC0tWqHVxNtObx2QulDWtyBforbWVCqhMlCbKDBQkRoMwvTmOCreOrIawi\/V1WlpOUEBcfQ4Sdp0F+lxY2LXl\/4Pi1OrWNCfrY4gKRNNJ2XAIQSQnaFbJsn579etvSJ4I9QToMFHjkoYoIvo5MJcWu+itR1XU1d089LD5lMep1MR7m06SkMURUy6O7MSsZhBQCOkN+voaSnY4k7WE2DkSTFTPA1RJ6TpLzkS6n1bw\/\/nOofB0c2B0JB9006pOBJfyjo9qXjbSYh+VMEdw+RDoe10ewnn2yTSUg+w5ujehnIa3hMSt7zpXKOo14E7ysumzuRXpevjBZXTZk1ecbisjI\/AKXkskzw9SSWnAtAe+TIzyIUrJw8e+rMstKyiVg7FgBevuckOD+Vs9KWKVtySZLrXjXjIKhJU55Uoe\/57a9vqPUNjf8G3bGdvUls6SyfvODXNHkYd4S4H4Ky\/\/c9\/XkoH1UZftLQWIGJwhAptVIwZZuLk3R7VadLGCIH79EkB0nyQ3SRbLslEyxKIuiQpO0YQcyiSd5JkGwFVosRUYCIMEQ24mJYvIK7JNu\/lSZjqbSNrizJDa9daYqQzIHSRO8qIGxTkmQnkknSTjjkPACb6Za8pgIVJKOIkczHZJIrEBmhQ5JtSPWsbdgpJ8SiZFJIacmqNIXa29r9ABbdIzmwDAAiFx3yyUdKMj5Z8oAUn02Ge2KbRT7dBAAl7efas5Dd3tpegHD72fYpQOy6SQ5tVVLq4aiXJ7lFkpI705RqaF6OAm+1NKoiaRM5AqVgrh\/J9ZJsFWnUS4o0pKy89faKVamueLtuUpKukadDQ49Hto+blEuu+pD8hOM8VfGvWfXUlHGj+XSvubfJj126rgNtJMeHpusKFF1XoOq6mi5F1zWMe9+zhP0mAKWH5NAeAFNtw\/DhrVu3WpTxkD\/8zChFn2034JBtt6ary7Zvjr9s2twBAJf41U4\/AEyj4+gYt1NJvo4E2YkjZHu6+sme8ReSpnzPFZgD72nSFuMo59CBQxPwRMp2HJbyQrp+L+XtcRVaWVsVyXYsvu\/KXVW9Mc+DjqUV7q5dGnBF48UortMBTPio9v2IS43HJwBQ40VxID8S1fCYvIjDpEfW6toPoojF4wFkx4t1X3UuoM6vq39D7SVd0d21G3PHQ4UkyftCuHxtdDepLmFdJUnzAwCPyCbShxkDdF8OAm+SDAOTSWoRkq\/jWUpr6e4S5Fb8kfz0AV9CwSOSfPhUsgfKQbor0ldPYdJt80P47lOQFPxCxXTadJuS9cBdYVGMYDJpkY7FQR3lYlgUAEXCFGpMDInS1NbQMUlJJyHKMSBMCrsw9JyGJEmHd1BHm3QEC9MVp+lwoHuE0mYlTtGQv1h7ggY7XJJD3YN0LOaijw6ZyB9wbA52mzTZjLU0mA\/EKahGmWBZCh3IpS3Y321R2lyHB3RITr9Mm0PddygddmvPTZ6e\/Yw8m679NOUWBf7rNLlBlRaXAVhPi3oRDfmpDqVGGrIG\/XQeFvlfpclDKgK90qK+NC0HHJPrgeBtaXqNvBqYJg15WQfmS8ErQWE4F4K65guk6y55GwBC0uKa2bT52\/tf3fut\/dyaEqUlswHggeQt3CO3AfuleKICKKIhpy\/xKh6LVgySdwAgQsODnwHltGQOALSSd9BAi+xYqiDdg2SnS3smubpU2kw+PUpHaK4e8gvXO8Ae8iIABGmyvIwGC4CisTiHJ+RpVw5Nr5tAIx1Hc20ke6C30P2kMF13yR5XNk2umU1h7ty5u+qddeXrsopoyWzXQ8lbrg3AQSmeqgCKaMjpS2gwB5g0Fq0YJO+6JtBIoUJazHVddwG+jY9osj9d+2lyi4JAtzS5QZWWUwIgWjJ7EabQkJ\/qUGppsAb9Hgto8LiOYK+0qC+TCS4B2qUzug7slSbXA8FemUqMBjt9wEravKEtfXWhigM0ZXaa4jQdDnQnKG1W4hQNHq1oJtmBabQlh7oH6VhOLvo81L9Ji0+7bZr8BBHaZPfvKTkWhTQc9ndblHYKuEubie77FA6vBEl+VnxJWiNqmlBPYdKdEJXw3acgafG6gukiQbfpcDNwV4gKABHSJB2LgzpwnZZN0rGFGhNDYhGeCnEeh4RoBQ5TmKSkkxDlGBDiCwB5wzQdkjTFbTTwOUmbHyDtFZIkW78n3wN8bXQ3qcAsUhwnSfMDAI\/I9wAgOkD35SAA\/TOS7COpFZB8HSZ5A83kdUDZRneXILfij2QPAIQfkOSdq+Q30M\/QXY1xGFpZu2MCwsVxDQDyX69dnwsAWrw4H8W7apcGACAajwdcwMQdtSsj8J5cUz9NmRiPA4XxuA958XgYOfHiMABkra79IIpYPB5AdjwecgETP6otUXzxeARAeFPthjz8p+zJ\/f9C1u49WILw7ur6ILC0aa8P5Tq0Vcr7Bw9WYuF05JRB2XxiK7D1wMEdHv6tgG8pgGjdnm2KUnXwJ9ug1p4q8cj+2ckpwDxyBmbu37GnTKk+8JO1rjn1exZB2QbkbARC+6s\/mqEvA95Qgrt37c1Jz8C8CX8MLDkXXNOL1dfy1\/WhaS1WHFEeT4hGcJzKtMs40px7sQIPJ0ULPDawEAU3AWw6Ez1eqTyORgvwi5rg3TwA2p\/nxx75sh6EY\/\/ICc36xxu5gUeRWK7rbM20X7+KdqCaOdBmzOGUvFvAb\/XZXcHX7qfnxvTo98GS9nnbWtCdA1wJh67iUi4G3lg+Fbs\/qyk6gvsqoCq9a5ZPdSmny44j7wKA1YfyTu5SHixbXoz5NysmKwDKTgIqqsuB7ZXAFQ2B\/qUrClzH45jQBQ3qL+uqATRuR6wN6NQmX5m3\/mJ6bp44uBCLr9VRw80Q0DYJbYvOQru\/uKwIDZP2XqvGb1UoQbVnaVkRdp\/zxR7vsdSQa0VP\/Q5F6y8tiyEYLu\/Nnt42a24D4FfqVwHrdgHdQQT6Fi7JVU58gqPTEbsGoIS9gyq2ngaiF4Br2qTbVQym554KYM0u1LRh64Xggj4VZVwE3wO\/L4DT0xWeQvNPgifq0J\/l88MXVFrfDDe87+\/LDmPzFgD+Bz6fHzdWaZ\/N08KK8sdJOcPZ4W9yw4MR4F4QWf0+nw\/hAvzstZwvVgLo3p7TvmIio3k+\/ftofBClH2NTV3oqNQBTl0Bp9GPD2cYsQDusQjna0tKIFTGUroN68MwBBb84fabRF81Xf6QgVKmfazrlmzIfgHKipeUI\/G0XN2lAYdG8Sx3zgXltZ2YCqNQQ+KT5TDUA9So71gLQa4FIRWnT4eZVmNdxfjIKVwAfZ6dlfGqfwFPvuqDAMxejPT4Vqh7o7AwFQsD1LKiAqgOaHwiqAHJaT2tQARVjqMCtKD+o\/\/f\/\/0EYAFZQOCCgCAAA8CoAnQEqoACgAD5JIo5FIqIhFCk83CgEhLK3cLiYfIA+Z\/3X5AEV\/K+fXmA+Bvqe203mA\/Zn1i\/Qt6AH7b9Yj+2\/sAeXJ7IX9t\/6f7Le1pWL+lcRPoPyTHLSbHgc6mUpJlK\/bv+d53fR7z9Kh3Su9ID9gCzYXWWxsBLwJv2n3r+eNSb1HwHC7PHXX9LYtBOzeFbiXqlxv\/B2lzpdob6fKjBJTQoJvmKh1xUb4pswoCbPTcCEcVMMPO8Qe6aNbYfYJNiXuydFNqTR4pAB4vhLmlMo8vXJvDn0mCg+CAfOraFSHp\/Yeapz4g4jzqJa9cKHWBtgJcYE5l\/fCpFxwaW6WjDGNWWA4WbcpE0vd9NkVs\/dn2c9tK3BUNwB3hpZrPeU9cl9Qgraea5Sz4BiqN\/3NH2gaG\/4dCU9nt\/OU6eM\/wXaGyxX\/VLgkP2v9YcO+l6+B\/bQ0DaqNbLmev6WxsBKsAD+\/54IAAFN7tyI7JEUEgCu9+1lBzwviAhpPtzs2ZreTIFfKENf\/c6f4UX\/fSf5P3p6jF5c38nf7TM9yfidyicGbILiIgCjLDk9MmrKfA5skzlt2KkNKUhodYyJxkixcOC82YR7qTdSslxnM9oekIgty7g\/tMt+8f0pB1EpCtdsiiwbS9ulK+QlN\/zBl7FzXdYwlpX6qP9PbOdeYOFQO03ffGLSJ82r\/yWRVfEpv\/5G0TrtfcuybntuiOmeFVAeiAqOlq0G3UdekX2RQUodwmdNCoJfLbLoI\/Okx+rrOTENoxMyaM4kP2H1HOnl+TnMLAJBnEu30y+tD03KJ0q3GycaKVXWOe277QYuqBOg7YL2y9ZG+PF5jMh3J984QZ0UReRmK77FWpL6h+mOXeH+0DTCqClGYoZB30u2fnni8fL4yhRW3LuAchRI+ws7Sb3owz2T9Xs+nYeyH0vRl1O6027srzBLIx8nElCMUtA+RNYXtBcB3baCoO\/ebnCjLWIf8T2TFL1UuEC0\/QeWr2B8evOe6bmQXMC\/v\/y5It\/Xe1M\/E6DXk\/rOyFZOqGkJeOPhbqYPRuorVBSmC+70lxAYkdDYHxqtpI1QblfuhHn47vpVSeJRKSiejRdLrtVfpFixDxk8ZnZ0bK4Z9MTyLjSLyMi5QNF4GUm7MDswWqqJXB49BCY0\/2wZlHqr8lVQt+Fh1j3V5h3WRP7rxMIp3MUxuzr9+lxvCT9DNHwQiBRNODYciI3pIVmvjSekp3d8CL48eJAZ6zqgm3hWfEVzqgYt+ZwYVoHOvjkAmGH7Wig\/lDJSwP0RYLOl8NyCiTA03Z2XHwwP5BpMFgyRmwEZ6iIqarXy39WOZTaq5c1XAkftbJ3RA81GhZ2\/iVd0est5GJC+h0dOXzN\/poe8tL1UkjVIJb9tprHt50hFmfODZYFO5nGV4o5aZsEuu0XdjRjI5EbQPJg15YagMZzWYB734LuNaKihqFwggCMyQy7BwyU04J3h41OUFgi5UfQJe6uwU8Hae7MiicAJFYgSSOzNsK6B15vr0AIO6y2Oo3aphq6DRRAka+xcHkv1hNGOvVA6WZDEYIJ+JoHI\/l2cbRazI7KgILs7mRGIgmg4WBa00M+Fq8ty9Kh5T7Gymh8kJsIbCU1Zq7LKjn7TpJoHrUqnXn7LD0S9iz+9f1\/f4\/+tn\/\/DbWe7mrKmwgScUf\/UZhCVVxodHOplrAgk+Wz8vzs2r2gEOWDi+l20+iEGL9ruBKl5MBA67\/rqKdhd\/tbZ95qTb849uZt5ZoAcYSScWMuL8zgexP3KdsBmoh1g4MoRX5DNgwQ7es1evA0Gqe+hFaIitDMenDdEJsxFt9v7mv9FJBZ+fqPCxtlYwPWkvCVQZm2Vkfd32WjNmLM2IemYPbuSyy9nW3ENLZh4hbMca9+W7YtwcczwWp3XVXU3gnJAwUqngk\/vFClWKpOrTBX0P1PxPxq0izWTPiGKpNb4M+u7o\/jaonWPq95NxdKSrPERIMgtTYSEOeSal0RHgrgTncaAsS3DnUJ+XsNBIhbEKp3BL3G90VHGzctRqSwYZWdEoMWrXUYsbM++bDBi1itKWtYQ8toCqkjluhrsyywUGy5ekcVQpLN84ZIOPtTUtpzMAvXw3L6AcWOqcSUVD4FTLfCS0MJwYaSaONgo8rlkL4ulRQpgxSs0lRXwJt2FJZG5fQSYsckssMSijqQModVZz6XYTSuFGrhTYJ2jMddx5oByJMlsyU\/HsnfENeBR9phOIVtRMObNjcgjGLzaEXG0BB\/ZIL\/WjBP\/sQ2QinGKST43ZQ3Kp\/Lmpg+1OZtqP73qqQwTzaNzEnl72EH7EQJMCirYbeF5QkIAKkpxEqMOqYl68KSbMw5NQuZe+l8Im9Au2aVvyjN6Dy6zKlqe+WI9BwBXwmGV7vlFv8Q4yEeYLgpOq2NrnqSYaW2\/1yFUCBH\/Ldq6b1isWCOzVjJmVPgshfeVK21h7zxRG7Vjq2LWkFW9f1rR7xllMXECRcEFHF5OoqTFUyWvwmmYTMZyu9xWGnyN7TzFUQCHgdoM\/ERHFguobsLDUln4rf+wP3f814fP+sdKXnxOUwwljHNDjY\/Ysf3nbXIShnjuvqGZ5lDBN0DYdPWvXN6VbpkEhTqXVyIXlMBEVa+U9e3vL3w0kfjCRgC\/Kfat8SS+0EcBs7qnJ9vd7BBTO9pNsVqUNP6jPHjryQPmFc\/vW7OSEbz0D5y94lpVp4ySRRdfwfkhVdQIP6EnmPWt48vsUEjPujIUadP8YaIYh62WwZ5wxjrj0SBUZIciugJPVx6cJttvxZHHIculi4hkvlhRtdZa8Am\/OcT9BsnFbda\/Ur\/Y4mUPCcPPcqHLzSCDk\/E9IcIlMqxe7yBufmEuM2QemQafnEx6eieA0O1DkMJd1Ehjc3aOT74ddUfmInlXfGDJ0R9EXn3GuQIshcQm70VIZFPHHREAc2dbgAAAAAAA\",\r\n        \"lespetitsdebrouillardspaca\": \"lespetitsdebrouillards\",\r\n        \/\/ Lieux Publics\r\n        \"lieuxpublics\": \"data:image\/webp;base64,UklGRroIAABXRUJQVlA4WAoAAAAQAAAAnwAAnwAAQUxQSCgDAAABoMb8\/yFJ+lV19eBs27f2nm3btm3jlW3bfmf7+mwbM7OVSqVS+eeff375nLq6L1v5ne8iYgLkn9\/pNGSgW8S\/Qd8xQKZ0MwOOb4hEkVUKVC+eK5barRGP9y8cuEzTLlCW8OISlvEeOGmZZZZZoGGUX\/3ik08+2avPLKFwAKcnZkFVgcNjuxAG8jQ7Za7ELlq6LH\/xjLUTswCFg0cXigzjA3DSijPbBXyJe3OSJYJzoVr+FbCMiERW8EXRQZnC0DipyXro3Jchf3+LGRO7aAhZ\/ui5w2MTKPDD628OKWg7CCmwfWIBLYGzxy1zWe5x2snuTRNkwEZRvC+QV8pAN2qYIAVWEjkcSCuluHwlMUEGrCfxL7JKGbB2ZIYdksYyZ79AqUHbaAEcs+jsVti3R5LZj1ClCG0IwNv33GSFw\/tFZGOFtELbP0oO6RNJtlfIOlDvrXBwr0iyQxd8WVjhkD6RxrZdAP733z+KJNt3IXhnhYN7RZo7dsEXuRUO7ROJNusCYIUj+kVkA4XUKgf2StS3m0JeQYHsi0+ssGszXmjb23HqtI064OI1Jllhk6ixtwvkSvuQAZsmYoEUWEXkaCCtlBLKlcQMa4jsA2SVMnyxdmSCAjh09nlOyT1lB7BT0wIEoHX5VW8GJVAlBXZPTNBlDZn\/4oUVY7MEF7JPDl56OjGDqmo1l8Nnk6Qm68EXRaiWfwdMFJHICp0XA0qxnNRkHYUA3Lr\/\/HYpHXw0qS+2StC8\/OrRA\/ulNmsnDGVDQxeOmUnMogVwaFOsEkoPcHJsFg2hBI7utUZwzjnv8hy4ao\/d9xjfNEdZ\/HJgAL5bNkmSRKxR0T94wHRStzXzwvjpInMokL7dar32VOu11\/ZuSv1OdVoC1680bNjIYcOGDZtVDJIB+zalxqe+FNgpskwG7JNY5+A+kSiyzAE9UuP1sH\/z\/xZtaZ6tE5EosswmkXTfACnommKZDHSz2DBagp47adiwUSOGVVx6qWHDFuoxAgr88Gar9dprrYrPPdNqXTW\/Fbqfj7TOZ0tbwhedDvxQFA8taongOk2HnHvUFJ2XBTyz2L\/1\/eM3VlA4IGwFAADQIACdASqgAKAAPkkgjkUioiESGT3gKASEsbd5T3KwOvEEph53LHKvzAfPfPjeYDyp\/7B7G\/JN64D0Gv2I62L9rf2Asw38T3APk36H+Q+cX+7v3zwcvD3a03gzkP9B\/yGjQ8oZHt5+P+p5rfpX2Dv1e3VUwRBQJMj382IT+qlbfK1rtC2+K+eMyzycBV6OwFqSTHMLnD2r6DsSWnkFoLtcAGcOES2F0vwFP1nT6Wrgg9deanKVxZXXzm296J\/3ViB58hCL1AyJ66fuVqBwupN\/uG3naF0Q9OzhwiXD748tBS+QnrF3ceNIjU0XPi+yhs0CYrPfzl+KuWudZuyGOpFHR6v0ukDjLhvL00UmM6gAAP7+BtNX\/ohQ9Tf\/kV76A3roAtbg19YC6Gb7tVW3vwVF\/8YvQJ2qOluh4su1z2LvU34f0smF0P+4Bhns1j0Fv1SyMhnUSyXubnxAs0KBAv6zcIpiMFraWCeLZ2w24ca1YY6zezVfzWVoH4NxZ+y6AAsb7XpWk4pko4uAX2kffstf9L\/FcM6q87L3EuQWsZXVa3chGIlakkyBfF2VgGNBh\/6\/pqsllefZJLC9DZ49bpHXRY4PVC4vXcb3pmDNCh1vuOx2hAT4psscdZZeeG3YgzxAVeqDDPpXvdBKfblh2O0wM6XYt0SyWxecZreO+q1Y3pzWkg9Ok7jdB8rv7d9EJvY\/BifrHue0A1reH5azOY+mHYJmXm6KVhqxj+JHDDJo1ZenncZdU8qjIs4TuxqsOYY\/B\/O7Y\/i8ZzcTryqmawKF4OMsC8JC4ySDchuiYgpAi0yOMufe28JHavvQxy8g\/z7oIPR8et4\/en63SUXiYAuhvUcLJ9FFxwWoaW3V3Ppq7V23dSiY5iXNYULuktBxTemeWMHgb\/PD\/rvw+uS6hf6lXkqGwYDf8YHPDzfDw\/8\/\/5F1tBNe8NvPZQe3ovT+5iHyjm7A9eOR4ZmC\/ZByInLhDUGTkDENmyuSqOiakp8xmLe6DFnE5\/g1BRQxMGMyDLUIhdep6\/jwEffIC7xwn0Dvr2gw81g\/7BlS\/70iRqf+JUfQlP98RzsLtpx7+9mZLZywujuv0JoGMNlp9H0x2kE\/CQpjIpbxL2YPZDmC+BwAfTewl\/oXIeCiMfZrwWaSWA+3JNyxfHHLrN1U9HvathlkyjpnwE++WqYkivD7i5JYAW3wNyxW9xzCBk5OWUMLAjzxbGTksdOac1N3AkprQmLzcfzcdFeXdPatHai\/wPtZFMYVGcPWYx1hFIWyYs7YkG62E3nuFzep6x317GPKJvm8Ob\/TuCIDLBR\/N9z9Av+05X9Rf19Go1PgIJQ9c32tK30iaiTLnuWRb5UcLUpiBpnt7Vy5TRC3gPp4Pc+NVfNLvMpiB6ODcsSLViebyrmv9G5khgc8lIIG\/h5+BojhRBdR2Wf\/eeUqyfLklvsocaQN+f4kf7oWwpxRkO8NxkkYOBbscpPa5r+f+n27DICe\/8BuOBe\/2Vh\/dr6U\/\/8Y98YMvizT3Fh3uDv3vYMVuMGt3gQJAeBNgAM73kUmiGu6GP4\/9yTRevIL4P4aHTswiD\/e2vYsARAi8SdO3x+DEXjD9f\/t1\/QZVP7HW+bBWweBqs1qUwkqo2T9yS9r\/9mcr7URhyiKrCy1R7qvPwChn9NWjBhJwKc1qY55jZ55pQwmAwlZl4wW3qsdnTOogwCn2SbV2c3+qVL4bP\/yr+9KMgYEY5WIzOrZDjhqX4RJ2nK+YENyFNFLRhE0JHV1FRrj2DF8XyiqdQrz2UD\/ZMj9XEo5F9RP4Nvf4\/3G5Npm+Dm7rHr1rJhGyB9dn6mlsK1vLro5qRM4JfcwHo\/baskAAA==\",\r\n        \/\/ Ligue Ens. 13\r\n        \"ligueens13\": \"data:image\/webp;base64,UklGRsgUAABXRUJQVlA4WAoAAAAQAAAAnwAAnwAAQUxQSEAKAAABoIfs\/yyl+vx+c87MnNmdpRl1nJstXhvL9pr2vUhbtM3bzoa2YpG2UOilSIqkSJLCKOKG4l0LSbqLRHEXRaIQCTFEQkQMCREZhuFw+P7h6Gw2\/96ImAD87\/\/\/6cunJziuN8UJDTs6rBQkMvYmmeSFiQvbPUhEwYkJi\/WZTCMsicrmPgoZEBITU12AQveyhGRND43+JxJQfc0wjbEqYpPUY1AtOiDBscAUA9qM8WF5B5EymlIUsTO2MWhfym7cpL0seq7L44F0d5DGLK+M2EX7GKS\/yY2MbSmIfurVcWDBeyJlTMH0iJXaAMcsW4hXlALXcgug8a0WpAV6Zp8jgbuytIBx6XJHKGm2OekawGa440l9pZ9IobEZImeHZ\/XMazNCpeFcdx6Sfh2gZ48\/r1df7PdBX9U7EwvbiXryR6TXTs+5Xwz904XbSuPH+4Vo2B9GvxA5G1QMUqlqlDt0FIU0vK8sQNs0t2k1jM9ohrb\/S7a5qd8FiBczmfZqEQoWQChJihshZc1DIsWvjOVfRAOm+Tm1o1UoBeIdOsRVlUqupkJZCWOd4vXQm2WZD5R8IKkWwLRiNKSabEfXxg0AwZzbRop\/DA+iYMfRUzMyHwmj3KCd+tuKDzhGueoKWgnLG5r5baCrrbuHDgG2ZwBcZ9n7DRtzd0yMJwDapR00LIeSCyNXYpXumRi\/PeJP2Y3r8l5WEXxomvgvbdFcD17RrR2Ss1KoJVtQmyTAfB\/At6dYvU4UOeJev48oECLoi9wlm\/EpsKRBBUh\/kwe3lCNYTNQyEKC9OEXdrz8TzWV1dD+\/+BAHVEU+iC+O4NB3AIs\/sMlt5B8RcEVulxn7y0+vKOGA+naHA4U9axjz1XeuKZfzYK6ivsPFHV4Yz\/iJrnEAxmsXinbvgLb0yoXD4wBgeUh+IhrQRk5gUNnsXAAAtZ5BNKjAzEmalCe0FBAtElPpOcD1ZoOAkVqngQmAMMFuGBegvUEBog7EtunuvXOvqMuOr6OmhmR6GmPi2X76eNWNr6X+b1k+EoVMTSSg0psMAsbKM3z6cQxuZWhOFMoccE0JL3zjJ1obP8y50xYt7JaTolBix5yc6HGPV4of8QF5wpLStGEIr1kUSu3wLmdg327N9QDGRRaTL98D8Iy8LTMFwL0pP4ODe2bqgG\/y5ukd87V8WYY4b8ssBrCZW3KSAfN8q3nFFhsmbVotANybn+MErKsM5uV5yZAOfJKLU\/hYTPML6+8LYSAF0bBB1IAdGibqnY\/F9PPfRB8mYn0vEaViRRcR5UP3guZjZgdRU8PQNIk67hIN7wS\/FCRq82JDsP4tUVMhERUxfo6I2qZiF9X8S\/RW5yMlQD9IobhzZWmDTHQIMVxqAwAvtVhNb7u4b4jq9r+ho9Z6KjCnC0m9nenams8W8Q3NYH\/QT\/MqqW+GRNSzv5E6+AJq1E0YbmU5RD9cHCIqaggO88VUZ3J1\/cu2KfTgWCttNuzqVM64OABN+pbrzUSk+P82xl658veyme8oyTfwJRmX5Gu2B3RveTKWUvOm7Me0ir9WMrX+\/hUwfezzSsrnHMxVWg03gn\/MXBQk84bgF0n1Qb7CfJ9JVaXUL178kbSblHYbuyafhfQnucHMM\/bd7yEiJRCU6RJi77bS3fL2WaN5ub9Fi+\/onmC9MEz9zuVyV\/O7hlczVa9pmkR9XogfP3slanfARq36B3L3m\/eNT60b5VagmRbC06sIj+T2lpZfX6jzqEqNY1TMzK8pVbP5jkJEwYCskKx0emLqbIh9cluGzupli4caJeQFbmmgTr6v5MwKflwuWaeJmheBacKn4cu2TdQzXQq2WjEh0CwdolepevsUtt7fBPwdmI\/J3QFeSo2TJGcG8gPXNSgKnoLlz8BUPqeOBgMyjVToBoupq44Run+pIqcoD8upXYf99MB+sGRrCy1WV1PthqPfMekd+XCEaIi6v2TpqN8OF33WmHro8tbjecijTqCbliFDIdHURd9vOLcI++mhBqVUxoRGejlXKlb8FFJWerMQ0+v0I5BS2tbfnotJ1WdFzH60zXCkp\/\/lcQnGojcDnUeZWPxgEsQNt4rXtw5kiY8v62F8VK5CetmHgdYVyKouAS7UTIS9okrApLIPfS0LMOfRNgHL630mPulOx03zIRpFoWoeWyqEZgaLxMDVIsC1AlRmix4jdRY9A0QNA3fY9dMGu1yQRIBpRQDMaNECXC0CooaBqTUAuNGiBbhWAFR6psvyOFItpu8pEEJR+mZjvJ5GN58SVXLEunXVvoIDtztJCSHTPT5umW40NT8qNCMOl9MYFaV\/NsZvpjWoEZ\/ftMjBUaiKj2Px7BsIKCNkpW8mEtNiCoagcsT03PVfyTX5lpSPikwkU3eGMW\/N+jA3rHVG7uqLxq\/js6ZdwiEKEAXpGM9vetYY5h8NvsiBfTU5Mv2yIlObFZxFEAmh+SUFA8FdiFeBhVLx2FOrhUiLqjD4RRqi57q4mSWEypRijqUXVlfciGTF9epJYWAn+QcXIh6dqcmqifsd3JYqMPvhydyYrANzqlQOl8WgZTqPmpnVam3kgEnNFOE7QjhLia7yeFDRq+uZX14UTGwfPJT0tvmc8+ePL9ROmm\/+gQqP7PWU0bG0prKD26IB3RslEAw34KdKFcLNprYUxKPQsZS5fsqG\/daUSs\/NDRAenq4SN7bthf2myr5gfsH6\/Utudv08Lypw+ylsmZ6ICNsrb0Z8BEr0ae1lOlfduvue+ic2qZZ28Lu\/PjKk1OoNbu\/xU0dWHGiUo4SSsGSqVSP8Oc+k+OCvGRw\/71\/nrn5+wFJ5eoP97KGCmSd31jlt5ZKgtxS25nvW+S5FSz8UhkIvNYigdyHi1ACwCW4nNzkAq9vODdygVUNgzACmhn46h56r1GHwSaowUDc2hRq0iCTn8aLScIzk4Bxc4lCBg6u1HBoJANQiGAdnANcIYBwC0p\/MgsAYh1orhlijjImeiBhXg+9ruW33XLydeWyv9h7tT33qeO1eTYPZ83o7k4Ed1OrMrEy\/ngZeSD97V16yt\/Pyriti7bnZl1Ko+WoIR3A0heiJgHGVdWa\/t\/cSuV5O2bcuq8Kd7H6Y227dVG7ExodZAnB6a25hRmnquTSIOSWFB7Lrcp+YGlOaHDXDhcfS\/jYgpOAfRSGq4hhnBureez8RzXnnPbbJe8PMrK9qZNvaYJFKOB5c7XFeyd941Ht16oW5k6duop90q3trHlueuxom3H5KRzx0UwyB4VAKyZc5xtvuuX1SZU+n+uLJhlXOhzevZTwyPXblVMzUzp1bedJlPPy4eoOrprwixZnmqy71LD6o\/0Ndf+qF+YL35aG0t2kTQw2EUMhfyDDubjw8CTBxiAUnNcgusws+jU+btPeM23jwpAZwFPpUmFGeDiDF7ZpumqpegUlXJmG6zjZJs+\/gqlBtIWhwIxLVoRCfpyNhHR7x3omEVfAT0XMtEldrgILlDAlsljy4CgltQbMLie1WAf\/7\/3\/WAlZQOCBiCgAAcDAAnQEqoACgAD5JJI9FIqIhErpc3CgEhKbt1fxZqD0Pa\/Nosv+T\/C3AdFT65vz\/3EfNP+w\/qh7gPMA\/TzxAPcL5g\/59\/fP2496H0Tf4j1Cf1u9Z7\/fewV\/Yf9l7AH7D+nF+zPwd\/2\/\/m\/tl8Cn7O5ob\/Nu03\/WdHh8Mzc8ndAZG+yHeLct\/Zb6L5gXsf8574j\/F9APrp0Kf47wN6AH85\/ynqs\/2f7Q+dD6p9gj9fPTD9j\/o2ft2vXP5UMUOFqWMDi9AQvymmKXS5EeriyzQKmrX+JVg31MlILQWpF2UUjQ73PwsGJ58EmYgl6kTKRQaVEmpnIV01h8fySEbdDEy7umBjdHEtbCIDCaoTPBR3WbPhf9LGv0LCTjZeItVEd8Y6RtpWk28WYHRoWW3RSOQy3zDikTKkexSmScojBOubNrMOSD3T7yERHCSV0eJJzMvyvNs2TVDAor6kusIQEm6\/Fn8SdeBYgS7hnudWrBd6unkgAQd+1GfB6xZGUzA9qOg2pYwOL0BC\/KhigsAAP7+0BwAAAErlTiIwq2wtHxjMwOXbbwwiO\/kkMFA0uIdEgF4t6vJmM0CAztW1leRPggSLEzTyn0YwNtH+SdPKv8AzfyBMMdkyZqigyex+AqgfUp9TqDgEfeL4YMPigGCP6tHzM1PMzH3YduVHe6roi1dArYwn4833bPzXKz4zHl1D1ciWRHyogArM7twQb6lJYcCfTMCMvNC1PcZG1suUNWExXHimt7Ujz7pLPwb7wVhOKXXRcvSVQLUbqvH\/qEeOiYJ3u7EfNemTobFX9671ag8rfxVxTcN3QezfAqn\/+ZQd9qssinmFmnNk7cTuBEr4Jp3nUzF8kgjx8+tmiT8TuIleqvppAM1mNLAL6r\/I3uUg3dj\/4Mb\/BAdMxKciqf\/+ozr1fjr98aaOGfzF+4dH3JOX4yK2aOvu13p8o2vOFK8rPlQwQvw1I4E1qzkIPCjBi8E98BPBlKVTEqWW0thh6PxP8X7qGB2HFgVmQBKHikQtJsT2b1mZe32QwFAzWVZDUl0KwsrcKZFJXe+8KeMjPGsgaeBwnIKLl+XBA0zyK7VVLRjInJWtXNvYRYgIS9RkUN\/sUFMhb57Z+m2wguAiF4D2577+GvY3A82oYMYP9qkmWBq5YRUkxCUuGtyjQxAxgxnFJlhW\/8tB23hvyHib+suDgBOZ6xHW7+gwU1yg4ycMmps76BFIjI+UdDJ\/kyMBpeU8FPF5xIo5NAq52wY4wV6u2IWlEGxPi9efgiNo7nr6MMoO97SrSnmBdqjmsLaGBPJtT6sOSpkSa6amGclGPvayWfyh35KjVWw5Xhoy57ubapFWC\/tzYKsuR1RLJqSzkFKShSOcsQ7JbMYzmVWnN243yj+6ifcJNrWUE7HsESyUFMkzz3CWI+aLXKGg4SIFOGO3maBhOjM1lgYb4tujxeyOpvV6BVOp6W9QwMMPdFPReBWT6wYn06jE1HzffW+qHywc+4N2Gjvd\/r2RvTDh7MwUAF7vH48w4UIdF713Mm2eZ\/DC\/YVAoAixvTOyd9z8FseB5NkZZ06Z9KV6YI8oNVkb2tR\/9NHOFKRtcJFKXbKdFBpRr1IopbMqmH07tPEcb3G8VGyoRy8cSSTjX9qGQVTvDrMw3b8zNxRFUYcWOQC24DNb39HVPYugWwwCiflHB46V0HaxOhdrtJbmfBMxKdKHwzJiuKK0WUz6NWZ6H+RD6Yps\/cApRmHbKYaq3x2JS\/AxGkLcbnK5KUjsnRIwgBiibqdTT8XyVAUwF9qt6lCdyPSiOLto1qfRmPxntRzcH1dfNRHd+t0qOMveOu9R0a5unrrjyuQTJ4xfVz+t9yPbf7DM\/83F0ikg1Zw4SMjtsg8yKkn7VEQbO\/hxIJ3kuaGp42U13bP5ocb+2u0qHakeChv\/ojTkCf4EkeiJMulm2J5U6PoRqNyR4lC58fBAF062Uq\/+RS68y5irgzC4\/AQ5JsD7IjTOfr9K0NJtAK7faYmIA8BBLo29fm5g6yW9ZDOy32g29GjHkkl6Rz3RJehUC1MZhyDfE5AT0obr5Xhohaz1Yz84TNg\/qGHu00ShT5rbcIPZvEv\/XH3qHi2c4F+vnkaY+UCscI\/X3fSN12FTQ7iR6tG6fllMdA\/JPFR8pGCLiRxAI5swz+OSucXx884EwEu\/x35j0gsIaecBbFzfOCRyBuGqMd1d6DK5DLJiTmCB7VFpWA\/bM0FjDMcJOA2Ubew5eRMioTbFd8QXDOQ2yJZcetYRa\/9Azr1yewlpla+ZsjhDf8Ffb244a6UkOQk1JK5bxQdpKl10OHanIY3\/j78dZ\/p8fHR3N+o+fRD3q+IhYzrt7r2uEbHZQVttXr6+8l\/cduvo7afeX0Y93bLCsf49yZmj1bs3EMlEwT+I7gqP6CMzLxCuohXu6F2N+E0\/bTuuFlA2xF8ZGGT4nwCUe13DFjpCNbRCx5OCS9DiHjPRljiFnZqI9Y86pFdsBE2EsS8JGgpIi7egQVaKxn+b59qAbHzthJz\/8S\/iFIo6Q4SBLunNOccgtHTWAViXoFGmT9ENYsXml+r4ccn\/kvaEjbF1zAHmn9ODjvtUGrAWn93SF2Ea\/9IKW7KN98BbOGdGIEDRVaq7fx5d8yP99es0+TnYKzhATxNjW1PvhaUHLqneRpGucAUsb7eoA01uu23PjTh+tkYKg1DD7ZVdz1eXjy2NGAS\/\/8dd1q7Pyal0WsIyNiOBakOpnFNQN7+pLVuWFSw+gTtY9KFUajmoIQPtP5P\/+eh\/\/10MJtDCIoNPTvQ\/M\/OduL3B1QaAzE3mveX0rU3wZgw7ntVeFwhruX\/d8FJJDe36PekMZjlU03W\/KWXH34peTzaakprXK34Fc6+o4LRvbjJfYFtMhZ\/AHn6k97WhPKi7t+2i3PzWt3bTlEP0EB0R0+CHWDOkG4BFch9EZSYRdXD\/byqCtGKO+e1utTnY+D6uV2VsLdHtBg7Kavw+YY+Rbv+T1e4q31x7Heb\/luF9mN8GpJl5aoFzYFmt7Wyi4nsnZmTqtAn5jR8fS5YgeZ3fajrBxGl+RiYFQLF1FfcFpecrEOUYpXH9Nw6XdCjiiLReRTNKPQAwNe65Twoa4Swzg4qjR6h3hUtGYLDWI3MtxZU\/bqf5mZDvyKEyATEBkxV1vMDzWqREtXaW2awdqleughN4S6BbvyxwN3HriMsNewgnADTmW5SM3BXBQF7hl7Pmc7hf\/P3P+deTbV+mVO6AEG3z44eT\/u38zLvoDl\/x\/FOyqCpq4Wa0YTw8NvK8cylq0uUruKysI4jKsnuXQsPlkM+JlrHvVdAYmx36x9Mo6tWPwubvI\/MFoSF9FZuMGgzJSgvCe47Ha7\/xsFA6YYWBbsqvqZDdX6y7e68K7jOGHkX7642HpQD34PxnGVVbUjxmR8jzzlj2fiqjtcNPW5THu5jVkZ8QQaO1RMTvZ1oNSsJcnci2GzXz69mHcvqP5IaiBIwHni3ITxcQQn+25Ypm4XafZEQDt01\/pj7k3\/+G74tsayUsILCxCAqwAAAAAAA\",\r\n        \"liguedelenseignement13\": \"ligueens13\",\r\n        \"liguedelenseignementdesbouchesdurhone\": \"ligueens13\",\r\n        \/\/ Ligue Sud FF Voile\r\n        \"liguesudffvoile\": \"data:image\/webp;base64,UklGRkoWAABXRUJQVlA4WAoAAAAQAAAAnwAAnwAAQUxQSBkIAAABsMbsn+JG0t+OHSeT4cwsaXeYMsvMzMzMjFlmZmZmPmZmvhxfVivePeaxoihqlVqlUumv90N3dVfbOn87XURMgPzf\/\/8r\/KyTZvT3NLX74Hdbb93DyFydAI7tYRZ6480kx\/QuS0mAlGPX7VUaDzgHeFjRo8ipGIA0YUWPsslfnQKosuGMnkR+jM9AymO9yQyCOvnxip5EbCC7vBepowU8S3sQ2QEb0oQVPcjAB1YDaMryrlg8Uo8wr0BtKDNfRGqtoZFVK0dmFaiPrFMfFJFZq4eK1UaWFJFdMCEUlnaD8tnjc7a\/5PzRY0SkOXqFH71wdEOR1qXnP\/\/3IZl1yeRlc+WTv\/wjwD9HmzlbjL4On\/vd6HYz23w0Kq3R80ezl46+DpeuW+DAQqhhZbn1LhldVM3JSZupTO1zAFvIwAfkr5SPgck59TU4JsYAY4xRpmU2A4wCL+3AGnhsbQqalORnDwa2axci9Tf2lWml4BZU0f9lte5XmV21ndqP138QrPVpmipHqZ1w+0sfCRac9wDJ1ICIbI6zDnU+VRRnfzzPTtp8BxZ4oZkjX8UVQT3NEseSWFi\/gp1IlPcyO2HIqpLrONZgOFhOVwVVwtNEBFWCCsp355OSrx7U2mcCGxgthNd6ifPU4y0L423vjfL9zK4ZNR5I\/z015eBJh+FAASWofDB9UETkHQJtJfPqrAK5asdm5skaiiuPlBjEgCZuONYMtXiamc1JCNdExn\/T+gLecLh8VATrz5AseZZ57wDeNTbH5ijjP1QFw8JAu4xODBRbixRIOTTWEKG+h53L8xxf32Un\/ex2f0YNWw8nnrCmel3O7vi8wXFAmUvQcuCOGDB+vUik3FFsKAfHwZHmZSb7RWSYFLBASrOPoOe7E2gB4Jqca\/KUTxuw7C1pgYv6xlQxLAj8vYwy\/kh\/gdqn0Yw6G+lhNNU9RUT+7AimtOaaSbxRyio\/\/M0tku1HNZOv+vFCG3BcsXdqUfPO3AAxpxchX\/W9Zpw98Si7b7zxlmT1SgXP0RZAyXrNaMZx1X27D2fe8I58R1GlYMIpEjwPXyZ1jSIuj5T74pD1AC5Di7jOU\/DBzMOEgi6DZtSjhvHBUMPbMsrNBUQDasfXi9J2AKmZmMSYxHww\/VteIVVS8\/exCZtn4C1jMs6k52fuS3NSY96achlQSxsDakH5qCHhWZTCcUmoFSJhyyjgvHPewTMAC+RCEu+cd3CL\/J3UO+eULxy0DnjnnEt4MPMljHPOAbM9zjvnXMrWMw2pA6vJJf1SsPlJ58v49IcDge\/iA9adW48xciO51y6sjaxcOdKQ7V4i96SRYVlwLNl\/jtSlObIJuXY4s\/Y+ZPdYtbqx5Aby9xKZuwf8\/XiYL8VXkpQhYd\/AFwpgmRFDpJUrBWutXMltZZuS28ptSn4rK7mtfMm2Wg1p9UvJrTGl1Lw9Pe+zhdxwnP+GW0QgZTin8TOvIaCX0NmZge\/i6FEYziwlodv6hw5s\/7UddU377VDf9GlXtv\/ejrmm\/ZNoMDEkIgu86bbBj6nw4EDzl1SZ2TyK52ciMo+ku2rXvYPxsRTJb\/wM43wkx0hmm0ifFqm9rr67ngQlutLIuerveKI7+jLL26nG+JLIF1C6avAj46iiLzPtZ1iqGMjItdgYnxT5ne+uGe+opwqXcwhTVOFbOTfHUPfndRat8ZR0HbYBU4RTUz4hM\/u9VEOpKT\/JQM6NMUjZ\/wxsGTpsf29DjphfrYnIdAyV\/rhRhe50mJZQnu+sJp6gctA2221Tcstt6iIil6kPeI7eZrttSm65bUOqYOcjKGG1v8NcKNXdJHKtQUGbNiR+rD2OK8WczqoRMqwfa4fBv4cM20mHgbUU9+7L\/Z21Y6GlsWQ1WmDzzitt\/aX1zkrQAiuivYcvsFPX4ZndWWOhlDMl+mdDmv5x7W7TtL2RdPZ4yPH40lXLS6+T89WQ443Fq5aXXbpy3Y6y3CAd\/rtQ5N\/kfCkUe+3O8g932PHWEfam9JR5NbO3sYS9KZ2Yb0knqab1DrsVWyCi543MWaQFIipjHeX9VdLhV1X1w8xJVf2moyz1Tru5GvxQ5tSqvtFB6ti51mGbeEOliWSPqKrRQXbNrtLpm1ERNRFpvepcFdDXOV4\/kI7fohrLliIiK0ioUovcUpljnc5bQVKgvxZRsou8CXiGajElfEVVyjvS8fVLvA1pTWLPJynQkCoHPud9Jd5+odl5Q1gK1mPVn1cfcs1KdiKhUqMHSucPupDyUbQmnhD9lWzqTSWp+WW9C4YIpQxL7IYLeX29XslWVKJwiHRhs9Ba0foIJawrla6uxHLfaunGT6IhNy9aq4BhRSWtcafxnH5JutMSTlkv2q\/QkF9SyQws8dOpA7rk7yHnn21GGy\/C6kqaGs97kC79ZyhhN4n+m5D1d9UreQaNZeGQWV3S39aA4dBojfc0kHKyVEp0x7cOlW79BKnmGw6MdgdG842eVc2\/I6nlOune+xzBKX94tOs8BS+sph3HwxXb9XfPF\/jxWD7sEO1EfjiW\/\/2xgyu5Ql0Mz8dXzv9JX\/fse7gEDzxY4u8qnTn4E+8jOH7ZlF7xIBJKa8pP+qVXnPV2quWgfY30jEMYyipv3duU3vFC9SW8ei6TXpKyFibTq3qJ6baYpnxhd6lJL\/lLfAFVuFV6zc8WSeE760iveYi15NuUiTk16TmPxmQUB+fOld5z2jesBwU4Z4H0optgIFX94JP90pM2cGgKK6VXbaDAiQukh7G8NEP+7\/\/\/UQ0AVlA4IAoOAAAQOwCdASqgAKAAPkkij0UioiETawzoKASEpu3Twpre+E\/KX2QK7\/bPxFvtVW+WZyx\/tv7P+QHwO\/2fsh\/O\/sB\/p702vML+1Pqxf5\/1O\/rv+ufwAfzb+6f+7sJf2z9gT9wPTb9lf9t\/3I9qPNXf5L2tf5bxD8VXrX2t5hj1P3X\/UcMfqh9QL1t5iMHLlv8z6B3tz9D\/1Phs6i\/fL2AP5b\/L\/9T6pf4v\/R+NP9l\/zfsAfxv+kf6n8y\/8d9J38d\/zf8b+W\/tc\/Mf7n\/yP8Z+TP2C\/yf+gf8H+5\/kx80Psg\/a72OP1rYIeJdQQ8S6gh4l1BDwzaRzJ6lNM78k+el\/Dvc0YAEmvIfgqp6B\/F0QdsLOzIJls57v2e4Hf1cYqAtcAS45l0viCLIOnFgZnmEwzc6XrZsxDz3SX\/mavflxh\/2Er+NXRszk2qyTn3Nvenh0AHTFVWzkD9iQIzXXmMcRU+kBepLlkRllkv0AavRJpCxgo8Ek0P3TVcJFkzXIWVOxp5WuylmKcbviKp\/3HMUgpi7oolj6XGKSjkpfA60h\/hZgR3AqnciwbVL9Y71bbSp0cBGZGikinABsT9dZdw2wupvD+Dtbv\/7QTtiJDgPUilnuc9xaCP\/N7bLxIrx9xIpP7iQ2AAP7+0BwAEN5uLJDk4e88Zv5QzoNa0Bkm18bYdx3C1ybSu0Gtiagzx6sQ8PKmsKZCWBeHXhY+yDKkUvEGbOtw0Hp9v6pUTb01AyDn4ZkLpFZpw2zAvnp5d7PWYzaWTWiuQ7WZl3TCnboKteIAfTHiKSFNGpgl5J0KmDB27o9z5tZ7mHG9I3qS5Cq4HbLcp5FqapLeVfSmrPCvJliwwbdMHFrkPrRhxFF9u6zQZhS9OzQk7NP72twehcJFh9GxpRTA2oyz+CswlqrzcQ76xm3Q\/5j9AdcjB78cibOz\/2ddYkNmn4uKruOIaWcPXQ5YvYA4FgN\/M+sZF9jXGe+T90Q25CvK\/2icVMc3J8b8wsP98U9slmP07jjGLPiDaFgHra3JnDlfGAR99AW3milY3LM97QnZmD3KeawDNhInD6cIutWPNAtbzemMdsCTcfYKSeR5p3SseZjrBwCX4fryJYQ8FlBZgvT+AsWImX2YPPrjefHidIsJcHjqII+GXeRJD7HbfXaO7nscUfQRrnaFTBUNGaGt02\/gpWgs4IGN8ZMD3DuHenfMAts7PPeLug8k64BlOITEDKOhDtB\/C23mts5uoASg6zdc5MliG0f9V7a3pZAcQtHH8NMywJDVBY4FAPo6v\/uNdhW2nbK8IPz\/wgmkzC+WkWW1Q4jnanLHkrPmgc3owOH3PtPbXy38tdUWfDB5YiksdOXenyqeKvISHRuy\/\/i8sykE5vGumn6rTs4eEb0ky4jIZ3TnQZVAGF5ogNbEWMnQvU\/m1oN1pPu+5peGXmIhJvB1EvvdwJ\/3YIjizbdp4MNy0KO2JqlpfgjeW1aY7LngGVkfvN\/\/2hh8LXrsuwbogcnpX5j0HuWp6bz7azf0vgtKWG5r2QeEryR7+hOWyqwE2qNNDhplUMZPLYc0KqxpKsMhpnRqpj0e4+WAx921vP0u7YydVTD1YmVd9cl\/eL1jOyW+f9dPDVyGjHLHDco0bYgpzPdmvlTprVxr\/8I0c3702oesvBVd9uMW2rbcrhn3mUwTv6ZTt+eXiVHO\/oRrOki39QyZZIEMWvuqk3m\/UY6HTgO95W\/Dr1LAbRLXn59EFmoYNnriSm84j6CJlbxqpL\/D+UZlsDDU0tAU5TFQp+5+JcvIeZmvPucVfa994+PZYHhtHc5rVBnGlLfrLGBqM9nN2NinWssMnab0TbxUWmUPCdtSVt0bWLWhvLFodOGvfHv93KwdRMGXbCtBHmSVmk1MnZ+XX0xdfoVZ2DrLVEjFGQYDPo1OLJasJDzi\/H08JidDf\/tue\/OD\/dL9LCZjKKaAcyTvd5y+qMkZc\/DJ5miEWsRNK8Bucek5UIqzMjzloD3sMufG87GtQu5nbxnnoQz9cFEhRyYCo9HHULcj1GyKcEA2V9oe+ksjEYTk7E9nNgQR50\/iT784ZlYYjw\/VwhyjbHHAJeFR2Qh47a2889Yfq\/UaxwbIK1RtCpKddSV9uTRql05x\/FvTtZZiPTGqzfYlB38A4jtI\/dPAk21zxIji00QIrz41VQq44jWZhKJGGtJ+a+2xNx\/xSmvBDF9iZIZOMq7acPuIawCtGrhTLB\/5Wc753B\/8gvc379fWjv4c9UU+WPOoBEKxdp7k5\/p0s\/PU4fQ0oKtz8YofUYJAVkTJVF+Oy0mCmX5YgBsnroJTdT\/bUb5JgWqUlzRhQSZv1P1WSOfyhqSXTnkRsLg\/\/AnlpaLZwFrLuhLMyou6rum4vUdsOTV+s961FfDBLtmEHqSI3JOX2LG+q75RxwRxlGk85+vogTb4ndX77puhcD+rWw4UvJ4uvA980jVOgxCNmL94Ug67DFE6edky15P6w+30WkAurU2WtFYtC567htvrUlxBmR6Mul9L3PwsPibFItikmzzCG6eKGHn51prdkRpPBf93paFXRrRyEI9LxpRP8DV0zv9+w12ymTC91ZPyIJF+esFlWcl4+qOAZBLSv4\/Cc\/jIKpiur6cqDvupqmH5J\/e31uHBVwiiJAEFxhr7RsKa6ksj58BpJGVbI3ZccUQ73epyBn8wCCvbGA17l\/HnoRTHV8oFWgVRDo+U3ZX2BY7qAqfDZaS3Yhw2DDJnagTLGsnou9o3vdiyDZXd3LubP3ZBM3PzYcauf70n2uR+V9cvzd4RSYy0I0e0xvTt7vnXfTWX+0t8+gdToAk5cGqaxIDSgV3ROscprKyLIVa9cedCQbBbXoGPMLfq2H4r\/rpG7fmI+ZjBdyFsFgzPF++gOWhyApIbzyNhsTP0BBg+ItaxZWH8CmIx\/18iUa945KuMUC7SBn4BT+rCiVsPCU+zqjTaWoUwHMRpGPCi8z0TfM\/jeGyPm1A41DOFxLw7DvaaSuLIUb5cc0D\/B+2pYAxGTQNsgswfdyf5v+fJRK0XBqDACtEUjECvdwcFLn9jcgvVedjuKCvJ8dRkk94n8wnjndQRchoLCyOZEANffqIQjDxa4x5C8+lcR+oiP5miVcp2sNF7ov5tqGHEm8M\/0DCwCbXIUGOIAXGx39co8EycOqrIV35lCF8ItH8auXMMIPaee\/UL8PAIBScw9xRYSL5WKuZXntq2ZMP568Ek8MpGD3z307ZvUNMWwUjo8X5A4U8YoEKgo\/4hEdprUTmlz9IVGz\/j5xPwHPw3BPwdrzgZxWbEhZAgxzL4WvoUuJp1\/qOMCRGg1TeVrDWbCn7WgzIOg24r5mJ4SYWFjxzjmMjtaTYBDmTn4ARrXu5JygnJOIkkwCyuSDRzAbJKzZ40Hlh7Zg3OBV9CdD5dQ6LxT8\/24PDhckQZ0LD37Jtlvwj8Z80aaK8lVKBbSQeePZgQD5cYdE0TDfH7jKYSXyIO6pvb5Kgn0zcWz\/6uwseAVJ3i+Me+IZLF8UpsSWggO33U7MsRRaY95O5ttxWZagNDPpTM8ln2p5488HyHwYrmLqvE80T+2e+rFpXkebNgDILbsMcyAkY2gx2b9OW3R7U3cw5mAJELNviy0YnN4sDrTiVMO+pnzDQmb2J3grWEsl4RkFquSGDJYhfr7pFosFDjRiTwpaUPQx54F1gxaqbiD5ZYHvF99gxLOngvfu96lAlTkG2ze+jFX2NxV4gOZIeST+F7vExOgI4WTAnFpyEg\/iQyFJE2n1e39Tqrq8mKdQ3WJ5wRRUr3qBORkRKbis9nYvGydiuYjjgh\/bFhvUMDs0zGpOBvEFDCCQCDpcuhr8Ixj4uKxOUdi7SaoRiqAcp0zeXlOQ6QBm0bv3rIrMbLvLdnq1GQs+lN0UaTpBqLU+we4lFaAPvrv7IiJrM4\/y0gG\/jqwO9xfhOaQ3l24PVESKvLDPwgSF5vdWE3oFNv7plkqznWwPJFagbA1BNO08TAcAAPkhFphBDY0KBRE9fz2r+BW\/\/3M3\/9jJf\/9gz2uPr8D\/X9PLSfxI9e6bMesL5qM9pc0s1aeOK3fqzUSnwZilCHtQeENUohMf558VrqAySmfPO8H747FLoTl2IJauNUcYF3mdYfMeR0sRAscs\/\/rrwARonz2YZzsweouKhD2kh6NCYZYMNt0nSuignbSmywuwXbcdsuUjyRfetcQjQIxccF4i900OSPeFY5sN98VZ2AzyvGCLC5R15HTuw6LL+ZQVPwzar9A7yWw0FZEUmqddhdieakjujNvbGweqoTV1BjSWToPimiCF\/5pg4VeQ581W2EIfLe0ZnlCCSdFQaPxRy88c85vWOY6uDYwbb6LBJDdFoIW47zO2GmvXcK+lTGi14\/rC6eVSiKxuOf22RJkOE\/Rq5P176knU8XWTUMcoIwo1U\/67UmbfBO3ZiL7TnS\/Wk6u6WOfM+ocbG5Vg2+A8GAOwx+7ySZEWvzel4QgE4p0gD0yH\/nZEXztk6n\/9HsRG7GpYbhhHs9+DyLltf\/4Q5K462cTPaykpDdyjf8Qu6TlF\/\/pbobhaw7695Vom\/+ltUAAAAMvxirAF6ej5eJQTQ+dRhFHQ8KKKuHml7CayjB9Bnpnl6MSeSWisEzQx9bv5rwMHWSW9iSIA0DFYynM5I8FMNUPAgO69r7+qQ3kEnzEjQBt1\/UZSL30veRCI9InmzputBkA8W8cLbmUozrRSnw9iTpZZfpamrmLBw77mZAaCn\/H1q0WvnMhOgbMGFgOirYOAX6cmvAB8ZUBJxFvZ\/ksAAAAAAAAAA=\",\r\n        \"liguesuddevoile\": \"liguesudffvoile\",\r\n        \/\/ MISSION LOCALE OUEST PROVENCE\r\n        \"missionlocaleouestprovence\": \"data:image\/webp;base64,UklGRngkAABXRUJQVlA4WAoAAAAQAAAAnwAAnwAAQUxQSMcTAAAB8If8\/2Sn\/f\/dn3POya6JiWk0pjE2rrE1Lu3LdN8tr+57la1UpVVaWbBSX1S0pFSUiuUllUpLpbS0FIMooohSSiUERSQiQUQJIYRDSAjhMByGYRiG2x8zZ8nx6Pv9Wf6IiAnQ\/y\/fGFOCh83DxroHiclcArwwMPXe45tHjzLuEJ1OUV9xj1GyC9eGzs7Ozn2dA+BAzb3F8wzC9jWKnLHpQ1ybhnuJxP5Rdr2ibNv7xx1a7h1ixxj+TDl6uEHXPUPJr\/QTe7EyuxmzbffqknuFegZ48qPXrOwkHA7dK1T43kqVK+faIPjsHqGkb5Tlyif22Iq7lUkOJZO3knOjyhjhKRmdjOdguSnW342M+ZuASIepJhSM8KTyWQqr7kLmB1zfj\/KAKqmMCVh79zEHGQN+\/unn774eAM9nssrdfFnwRqLsLmO+Zpjvd2+TZJU17h4m5VAdY5hn8mEW+jw192HNaFRdQ8N9DYm7gdnDEOsV2fScNM+DtN+6x2ZJPsS4t07SIpYQ7mpdaIpdfDcjfPJ4IkKS0dwVI77\/h1z7QGUeXkzbrJEa5lxgeCiZHAG+LHb1DHpb1B7PFL5E0LObEebkAd\/d9+rsmlswTHhsJMlerTFFy+xRvZP0G5UrePz9dJA8lshpUzrNjkTFywza1Da3NL8HjPPVLBXvGapkiMU5TR4Pgo\/LvBHOx7LaUykIrlSotteG6u2SNLVmP2P8p4ip5J9R722Tk4AtVeDQY2VTpm8dbsbVPOz488qONoQkc5gUxaycJMuUewIntSW2mhQ3TVTbldLXeqDfkhYySJVKldH8jNddzIJhHs+DcILN0mrSjI78WX5ai31sIH1JakgNBa3K+iugmPnDPJyX4CdL0gay9IDbktTEIPVZxfUH40WsgpHgDZNbOa69WpI2ncsEl89JMqX1DPuPmWx2TzpEqoglTrnjtOcGdCr6y6NH\/sDj8qEf45JU8Wmll0r3VmYjnSpqKneH\/EbpAZPdMJzIIMlimEeUeRYD1Cky3hjxW3Gbxoi3yWizlVWLG\/Qty6acEZ6XyVB+aISpUZWvh6ZdIVnMEjvsFF8o+wUE9CrbUkZ4RtGJl7WA1PYoqaFe+hWbYqZmRm12Z9VO2k+25i3epordNp0Zan+qru1xWFLUtA07zYEdGebscH2PHuVNiQ16jGEORcla0Yu9QMW8Yb35irQLR7ZJqj98myDw\/PTG\/MWnqoNUmmMHQnV7uxnDFDWrXOYrHM+FU2dP94MLEPBh3qRpN9LgwalTZ07fApsZKv4HybF0HJfVeasfSzP9K3yinaBJf1zvvXbt0rWOYjXzer3068B4atRlbGhwmoxMGod3czFRU1wvOX6fdHF8dHx0dGhkuTkwRnRqbJZkipAVLan+E8lS5GVsXs1qhQ7cF6pmhJeU9brAA7g2AOBRedgqNqUdRJcnpIT0cUtoUl03Y6zI5hlF1uCRXpyhUtJqxuk+efqoSk4fPzVOmipNKibTNR\/SqdR4atzBr+lYXV6pyNObrB5GeC6nKbje4dmKjn0n612GOWOUcW7KT9P4RTH5sI2xcSLdEYdua\/byKElWN0M8F5HuTz8ZqmecJ1VeFyWpjn66LGW5wHVtKorI3CZS0P3B6g9WfgD2GFfKlNF6ud50keQlSWXA65KacOiQZi3KYtUof8SV9QJIU0QgxcCTNQovfZG0zdpMsdVrVrZ3McybkvVUx3PVSxP1uKNLlLXZzOh3Jcpxzs1gcHHxuJr2uu9T5sdwnD8bMkjm+RJzljEUPevjwVEbZV9OPy8q5xQki8bKtM8FmUxa7IzyWBaSXm4\/7Y9mUPUtuD8H43r7ynKbOsaZonGb4FzL18oyTsq+OD2rGiuRJJNKJlcre6vH5l3lcZC\/isY5uK6KbNRKknlZSYqVZJHHhoB1+RgqIhdIWsq+ilQwdOPmjcy3em\/FFP3mo5JO3+i7kW3fJZe1Rc1cZEhZlx4uI03OiQyRt8jVYVU+BovHN2mS2UmVfsq\/4ebQkF0yJ9v7NA\/WoHe+WKjPG6zKzjxCP\/d1nPyjK\/OJPy9aWR3syvpE11\/A1lhOAdwsGptgf3YlJ87SO10FbA6eZKglp80HD24qGnrmY+VqtlarsONbp6ioz1eO1lszdI\/5tsnlgzn3Gv+37YO3e26Xh8pu99xuv5Nm3n6gSC3HpkpS3MenZW39LsfO243UxMxlQWGsc8oK7WEGg9IQQId0LPDydtuZmNnMK4wN3AEwK+LmKf4lnYW8BRSF9YW3lB97SEgxVpeyWFr13aG87f727vQQpe86cSkRrK9hie7g4rWI2vXEJfFlVaj10Y7QkraH2pZELF3Y1l4aWtoRii9ua1saWrasyixua19m5ba07aG2JVbE0oVti8tDcx9auKgpq6VtbYsTBbKE6nUkpJXX6u8LXQQpvovwtpi0GuCnl8skkBQ7ArBBisHF3QA5mQ2ED5RKeh+gq0xaCjA2UybDhwA\/xQvjAapXBpLhNz0Q+sEel2LsndnQ8CNGnzDU3LwVmqXro1LJz\/ynubmXHbLscTjQfJ5dJgdxfOacmTsol9aSam7+iFM1uuy1zlzK2FxFfcat5ubt\/FZWCFNOU7OT7yTnhGaGjhHIOsxePVH15vh+Q99kyXw0NlXqd6UpbLekin+QRYqDMZV1YeVwIP2tpJfcowkxMFkyq2l45IYj6SG2ZuBypWR9Sn0hzIPW+FkkutSSKcb3MTMp\/g1YY5cl6XEaoqq8F2Wkk64s\/EOWjPa5ucBpGb0PFUoNSFKbV3EQjJQIPsjg\/i1j9KRXUwizfNr0i5db8nlJVjwuvK8lmbiiJvGGJJ1FFmyRpO\/IxfvbSHoXr0zuYOhfTDeJuKQKVmfgH0l6jimF8ADM1+9InMnkS9XwkiJj8KWio14PnYnYGTqUE+5\/ZPQulGdY6jcqMpsgGB0dGxpmamEE8\/QrZtj\/IauSgX6eNCElYbvJ1+d54kQukcbEfVifzdgo6cHawuAhnUdclpqykKaOwIKQdfE6vFVQzhf5sG4BF\/koA\/9IevRRFeQsLk3XJnsKV3LR9F\/7mGckqeQyvGoK6ISknEr6+OXYBovVmS6qcJuYI6ML0JNdfaWktqtYqp8ilX\/zK00F1NeYS3yaOcpBSVU5ldabQrifZZIuprmQRaAYv0tGnznLRCBJS926Ako+kctT1KwLlJf3mFoY7ZL+ATv0SJQ1vEOSvgZrpCf0PPWZ3gqdzU+bjCS7d4qkD3DKMjxsV20iLinGqlCFRHfoRbumcM4yPk+awRzpSBAoQXerLG0Ha+yKjFG7WycNuFKV86yM0Yl0HlppkiQD52VpBVRqrF8ymutmWM866SMsyb4gY9ThVBeK0QjXJTXzW616fF\/q4DOppSe9TCSfk6p+p0m66r+rqZyslTpuIcvJZR5HNn+2abMW2JfaNfV0+gUjRv8tlf9C7dpA2rQXNkjr03skBp6Uqo\/TUAhN7iJJk0eQ1OLyoKps75v3LG50dvaDpWnQ2XmW1Zbkeawxb\/J3Z2eamYrhbg8dcKMWuIQ\/F6Q6r0KlVAednSf51Bxj31f4Te4qaTf8V9PwOjsv8LYphBb+JUlulaQ5MF8qCfBU\/gKwtNxI9QBrJakMhqTXAJokNbI79AtR7USrfC7wWrklaQrAJqOSa+DFE3wsJcr\/wWgawHsqzLgJxRSOx42kWMySFLNiiozHYjFFxuKWpFgsFlc4boWsuCJNPBaPx+MxSTErpuh4LBaTJCsWi0lxI0lWTFI8Fovp\/66uq6urLy2Yyoa6uqm1d5kWgHNVhfJfwk13lQd5+umn17B2gpZk2mK\/8dRzXL+rjDmSyrznJoiVGbZipMeuLbqbnENSHS9NUC8ZtlEqieMyd4+LoRpW5DB\/nxUR2zcr9JEzmEVCigXfKrwmFrL2zcmlfb\/JMPVgWcTB\/U9GfbLvznldL3SVSuraJrV2pbnYJVldPYx1NWoLuF07s7HYWXqydnYXVySrq5tUV7M2dhkp1vWatAz+6ZJiXR3l4\/SWSToDPCGjlV3w\/R3zhrZQKRnOSQ\/RYfVwTYaT1suMln+PH3A5G8P2yQyMUXOyT4Zz1vOMVXZiSQn2qd1dZN2gRyUMjzz\/LANlOs9Vq9V\/VGug0uLHO2e9XyEZv0tNqYclXcC4xyW9QIM04Cp6G3GZUbZO9lkiHceMnpX0GFUbvZiU8HfpaeqkXpTw+UTaRJkYkqp5TTsol4av3TkbCHFSLTxm4uYvzwyekLSkr1bqz7SdKVaKo2qkQ1I3hjMyeoQmnUGy2KcneMAyvZ7ifC6j9UGZ0kmpntf1KZMsq\/RKEZhNtAxnEpbCWezkEhyWGiL2njOcldHyDHXjK\/U8kYqzU0YbKZOTlCade0Q7CN8sAg9w7vCRwz8fU+ynU+wxOWxDW44okyTOZDiBDAelRzl++Puff8wp\/AnHDh\/+flcRaGa+MsZ+Z6fJpVThfNxExjkiPUKNwok8fERMd2J+lsuotV1trYr\/zhfxHBJ5atQz4\/Ot4GCoSZrbnluiQR9TIWnenVQV1eQulzSMoU8qOUDTBJ2V0WNMk64hzoamS6B4DoljO\/QZZdKbbsGdC9X5r2itH5PESc1hrozODBt+lKVlqdqJSZ+QpTb3Pun6+Id9jaEmqSeZ1UhSauQZbfQrJM4W3Ii7USrjQ+1hvz7YTpdiK\/8ol06gObc6pCVMl\/oybXdzov9ZVf9Ji9QDx2W01K+RusmKm1KFs0JfYUmj5wuuEg7uP\/lTwpSc5gh4v0sPcvrQAaZLpA590\/eekTx3W9RmSiLu85ZHNeId+ovVlpTy7Jsyep7fDh2kXnFvh4zWe6WawsFDx3hPJRd+P3CIwYJTCfC3Jck6D5Wcl7E2ANMkNQIbJakEon5bqsjpPBWlacA6SSrBS0iyPgfqpASdMtpKmTQZ6LSk2CCUJgpPlmUZhY1lybIkybIshS3LUqRlRVnKaJkMsixLkZalSMuyJMkykowlSZZlKWwsS\/+3YNU9D5p6D9AwIc+\/yIPtD97dFz3IhAiHu78zIVbas+\/+TIjBB3AD1wEH8DxcB8chZ88DN8ABfBdcHwfAd3F9zwGHaDfAIex5RAYu4PoAgUPY9XECAgfPI7IAfPLo5QQBYY+AjAHZ+xD4+EQGPnkPAvI4cWmav5sTSw2WM87LT9IWv1WRIMjOYcUzUN9FKS7bFkLDV5R6uGxsYdaBRbFBexI+kKbuGKU+QMcKXAi4UM0wC9biQm85DtD6BWU3uFjFG4tIF4QdzF+e7rsY+JexaW+lZK136ZdS3KwIhpqfxzpKVyL4SQtI947THScIBi9R917\/X76tSQH\/XhjUrUp5PT7fTKVviICAa4nLts+NIQLwrrq8PpvKjVzxeuNXSN4gKAxmvTl6G\/pKGKN9NmUHIGlycHrTbU9Q+fvtGxZj\/R42pT9hjQZ7GkiPOuMwEP+1NLn8fsp34eHzeSnJNIA\/PPp9A2kig2B88KVWbrnJEa7EueYRUBDgMsv86l+TN8qrT1G+B69XWXn8bD2Dy02nRPBZFePjTPmVIeGTYvKW6YcZMOxauGUGpXtxPZ9Djd6i53AAMdqd9APf86C75M8aRpn01f1mBLrMA73pAPAKIKze4Vqg928qjwI1eFlE28R\/ZNJZDtSdglM2QXLSBS9wePwAMGjhp5paaFlBeGyQ6P2Tg+NqJkW4R4BN7W6AAD5vJw0wYT4ntt76uu4mbD3IS09QsjS163NyDFyfFNYPnivYs\/jM1in7fY\/rwva58OXWLfaQ8L+r2grNz4z8x2O7dm48hx9Qjc\/Rhh+dH7ZuHeNGU2CTYtL8LZ84MLD5FD4E7Jwwhw+rL7UNwtXqDoC36gYapzhBdmGHpX\/R\/xAObKruxoPLS3AdXplcVz3ozscHGGfWlSaXf5rra3biAg4Oe5\/hierqG0Q6rJxaWzMKf1X\/23XAp37CMgaEPY+J9x3AJ4++7UGaHG3AI2OQJs8F4NpBOoDAdgAcO7Dt\/KR9AhvAs32AIB1ybdsOsMmYDmzwbdv2QpGug2PbARkd27aBwHajkhNjj9t5TttOHu5sJ3DsPKdtJoZ7wZkToqo8J6omVS3CKSIOzddbq\/KuO\/GopCrsImJTEVNRjUuquwOCPAURdSq+tRH+rb6g7zakk9wG+m4M9Q2SvH6jzw2lbjEy5Abc9MEn2h+NGk\/DzcC\/TURtsXKYbCWtGkaWLfZr19vEjKxWXo8nrAsEHvtnBK9pN0HpENDf7QcQIB+waXgdSkauJi44QRELOE\/ks7UMkTgKVw3QPUg4YOBMmuXPDnpA3w+bHyRN4ByeHDXjbRxgaArpIpZC3ziBm+aLp7xhzxzBvXi\/O8Kjb7qpAHy+X8QQlVuxA27P5fY5ghR1gO\/aNL6Ft218yy8EFDGXR13fTgN4ae\/NywRE+wABt0\/4A1RuwWPs3W+91hpvjA24ACPejPcIZvRXiHQxw2MF4PPdF8CG6zCwDoe9Z\/AAj08TsL35hO+TbOqg8zD2lmkePqc2wIwXcIDFmz2vqKUeb25Z5Kf\/O2Xvqn1P\/R1wXAzRbP70vNCmSWdmtZzFJ+yy82P0T8dQ4J2cunHvjN88P+17Z0WqmBHwwUvv49L184HfAIa\/xOX8qr\/xIeDi4UsrruMAge147p5DfHlr1Rg+vft+\/h0fCK7vxS9qOIQ9ACcgvz559AE8srSpK164jgt4vucDBC7gO0GU7wWOT5aehxu4AL7ne0QGLpCisogVx8C5XXpvkw6a9f+PBwBWUDggihAAALA\/AJ0BKqAAoAA+xVajTCekoyIs1NvY8BiJZA3BRbmlaxzcCN6\/1XnK3vtA\/UeSTy350v9p6hvMA\/yHQX8xH7QetR\/nfV5\/summ9Rv0EfLt9mv\/Mb\/\/wI\/9J7ev9P4c+S8MvrEitf2PefwCMTf9b2MWq\/7X0CPa3Ae1F\/E3QD\/m\/CE+mf672AP5Z\/YP+\/\/ifdh\/rf2v85X6L\/o\/YH\/XL0zv\/\/7if3C\/\/\/uh\/st\/8W5yA0qKVumDSxeWfD+PcKnXMd4sVdLOYqnmHfmxAp422FqYGUG5aaMbF\/UnhvDSqhbGziTLDNjPht\/e01rMeXVwnx5FLgubeLuBnGAfpHD7mP43GxRvgVbNhFSeJLAHgGWvdPJnP4wGS3kR3nnGVuvgLya9EKQEzKFXS0dHq1yQ\/Oso7eqGq7\/Jhclt86a9OrHlJprAHcyHOnfoXVZzOQGwKYLSthRMrgYAprlquYNFzh5IA4pdvHaNM4NqyIJTGsYhFQKglJOB8cC5pqHIl\/SUMF1nR8BZ+AmVI7YLsADCR2mp+oR5d5LEiKi7qX+9tLUScGL0+6J0e8qCbCIKwxRRlBV8nxayqkB8gH10ehXq5u9aOfxf1hT0WoIN7n4mfP0yBCLtmy+XXPT\/Sk+7WdzMM1aifYDcWV9GkTlq\/cdL\/BUOfWrb+3QWfQ1v5fObRM5+b3SGFUgAAP78XNFA8BSOjBZNfldNRY2cVnDXAO7NhRXGnyo\/+3Eorm9wKiuSGqnOeuBuYNv\/EgvS9\/xsvQFOOxsJq8sU+fa\/lsqsao1i3MNZ5dkdB+2T6zz4T5BQDjD5ntzxATsxrHKsrMoVGRu\/JTyYRHdniNCh26OC0hLezYpgXfNByf7PWZ\/2JrK0po1luaGMVudOdQPa1sVzOOm0v5KcOb56I49BZwV4k6F\/twxSK+P+MQ9tDuKfSflq+xEDbpJfF40E2NkY54Xvoq3lD5lGoQ46MFBZZhfAqIK1JHuVYUnsE+cnasRLgk4l7jIKJ+BjZF+khgHfO3o+5jj9jr0t2+p0heVNgaLcdJcIkQbYh\/KE\/Zeb2qLEpG3ldvz1rt+NwyeHhJD6IvpLyzbrbllI15ZVqWKnqacH7ERaD34t5q6WLTpgJICuN5CkiGvwA03vGHNaC9SdemD0Tiy6w+nqaFzZUyzK79UhaYAmpBLJDeJrhdjUY619gf2ce6cyUuybWDK0UeegSo+7+SNSYe5wCPQNFwbcbCp26n6izcG0v389zch0I+F2M0QhkvbFupoVfWoKTswOrUuB+MiVu+zpqioubkre41gWXT2VlNFSBEfV8AoCubv9WTm5cs8NhULcY\/WUjTwEJHMuMtD7\/IHhMYAxl1sAUQLf0z4+Z3Lxf476Sl9E3uqgfH\/MouyYFqv3kE+n20bSPAiqWFbmhIbLIoJzU9VScsbxMq2ji8cmlVjk1oHTKuX9IRam2MzsmWp\/4rX\/UIfOvtBrAsNje3ZaPAbPopncb23+k1NzI2\/PKiFsdSetLfcVyxmxxjQNMZlsdk++3aJT\/6MkZheI7FmvKhwPSfD4a2fe51FCWhwP3UCaNrc3BHnVeV9BzJU+1Bqz9tlZhpRqodjo6uHBH4SQq8bdWimTYNa0qg99g19Gl6lfBto5QiZNDKoua+4ADiSK8tGwnzXr7\/zOUkjaj8rTjJrW9iDHUGYZQcf77pap9gpcqk0d3uNBUDOMhL2AAu4gmVYdHPJ4qHfLQGOfSUPmFCBMGbseF\/gS9qzMIIRqJMIE\/B3tQo+CU11F1jujHP4P95U\/m1cH0V4F5f9hg+eTCR3lLNiLZX9MOi3ttG5nzhC6SAOpHZP5tbsk8Ikh9Zup985GZObf1ZgApWeB3UnNK5Xy4O5k5xSf9BCGLonQkNHUlH\/z3zU5GReM77\/nVckgOe\/rvcIupfAhvZ+t2NWsem69uw23f3r2rbBK\/RsMnJzA9Qf5KCn+Cfy0O2IwsCJrWq8h5FC8LYjpTUFuAbC2ULqog86f8XSw9KCFavlQemxnd5XzaMkfQGQ9NEFQ1q97j4Hw7BZNin0A+IDGSa+C4HPeATmMWrpMBLbelhfbOkuVcis6QbDWHVINCUsqgxIU5Y56paY6z\/c7uAO7wkXGO+yYgAXNQi9eHJgG7BBIWR5F7y+jMvdZbDlAfz7iywdoTThePGDHsh7bvScE0a1ajhOxKERylW95CXnuUis7xtcf7YmCQfwRFODLJshfQ12YP3GqI7z3XQWe0K5roaIsVkqVmdT175sSPDy3FsRH1B7iyNZu2Sf0RAEt06NzqRAgvLSfWO7C1DVUZ7lKktT1mYXjXUWW+fCcJDjBAEmJ6mXqE9kUcy4MLW1K\/\/D1YZXYU4G50f0b7XrH9k5Pe3VUAMnWuV8CQmOPM3H771WShbhKc303NnXXl5Z+PBbiH9EqU+VRrc6ssaSG8JVik2GE7xVW0I9cRZLVpt5EQW9K\/V+IFoT8KcfBVSYLPnPSUSLdHY\/hgQvblVbmm97dLXabyfUb9F7FkltwDfYZpTdk+KQZhvcTEa6rMdBJSyB2NQ8Q8efcIY4DKp4OzmOI8V7aVSIQkQi7OdlqEQ71+kMvZjGmkHkisMrqF0Y54xti9+fXTYkBDZ2e6HozB3ykJ7dZZ5muR5qUEOxFxI2BW\/hvqlNz7Ly5VgcEEh3eGdTNhTWxpTw+izNIBDKFYYDmpAgqq6rUcSg4ZkUo0wu+jzPgBymc9tBDkmPXv46JZ1VxoQ75LbKMe7\/Y69SpNbsB9pPaLuqzzJQoCa5gk2bz+VlU\/r9M4gRYyyD\/HToCKihAZrrRjqU+FAcbKLOB5HPGyfrdODLUf9ayeAsQOO06xoyMM70vpVvR7ROZAEXIOZurVW7A7gmTn8Wi\/+vWn5hXGWdziapstFp\/d3o3ZGAjGh9Te93mvGFCPf+HfErpM+N0LMOQYE++UrwE2kH1QbzUbxqlXQm3SNpFTur7qhosHqbD0wxzZdXfVig+UundEmeOC0Tk3eyr7HtzkwzyY1i3OdKUMv3x8wbjJaDU\/WvIkGnM6Mp1m+SGhdCxpO9Ub+YH25CwBIMDaU9ZIVFZuwegenU+x94ZwMg6ykzoIC2LoA2KIKfCD0198of8ifJMaTlZDzJS9GGp48xDHPNHw7PFN4ztCnW+tD3GTh1eUqNGCk1M8Tbrf1EPC0sK7YtumXip6F574EDLSzkkaX3kE1YJoAw9gnTPR6+eG+Nr8SeZU1y2A4oUf7auJj2dwKrsALn+PfvIZ4A6r4bYXH8cP20bxqQ7XiTqTwHXqlnVxpKMWXgMYU6+xtdsxtM6epykGocPxpL2+K3RfI3SuMuUxMjn4In1\/EVT9j8x3Mnxe36yMPobBeE7NndK4G+GGDJXInYFvY3+rIX4AjqrfHywoiAjceqvi1BvXC5IMwfng1f9blIlsWVul23+Cstx\/0kTz8kXD5ZJAFNmjJoN8vWYZGtZNCPe6tjNNANy1kl\/98iXTZWnuZJQQLBhrRMu0uePrFt96fz\/9DYMfrl7pdGhuYzFem4My2s\/ZeG+8DfPrgRCtuhMLOhHdvtPDYW\/Pq6k465toiUVybs0hsIp9WfmS5sUJbdKA45fwNWP8LroQw0hpHpQi9mCz0oS9dkCgSDC3htHPJEAsJG0o0GzQPLLj0qR3eCgyJn05jQtFdbmYQqB2APNMoZ6imDz1HzbLTHxwnr6UC44kSBbaE233cbV7Y1nnLHR3GDpm0VjEWJMFilHQNW3gpXjfVYlL4T3J2p8YXGIPVNQuwaYmv6VrxAJ8MAFyc98Uu7NLPHMya8TQme8\/ZqACf9eAnxNGf6Em1SGTW+ucQkOd+gM8j2LAJOUc+Lg8ncTR9VlO95eklCzcGBEiVVrcL6dfU3q6FakanjMsJfKiT3CUz8ez8\/RC2+XKW2XlzvMCI7jRc5IA6mTjb\/vte3IE0GcSZRW5vp6TX33nWR0bD8JWm9X4FczpFwvH88Mq7BgDxF+kriUwLQz20qM1dAQN0qNdIQ0Lp8FDOeQFTL9TjSIH1cSqrmHH2In6C97hEVYxTUTUxrunX\/OWIg6SxJMtHSpdoL3VYyH\/qrVSDeB6Z4uhsmFD2y7WY0upqQRkSwhHXMHzPjBncxyssyLZ\/WMJuwmdFEF5T9IYj2Oc337VaU+bN44GjoizUkgl2gVC0IsfAbWDGgzwdTBPhx0yXyxr5oc8yxe6jfFw1M3Vlao2fXOWpWLlvcX6OHKrWFra77VF2GLd02pwHzAg+GVnN8X16DJ6MmUpIrj9rzUjNFN+C5OPAbjw9A1YwpqCVpSgDim5toslQwYLyd4PkQd+\/TKc9cnczcIi5pJ2qLVDH9j1GAgyg23ceyfs11kGIY8lQq1uvzv9tvIEM2mGSt37W9gIrDxKQkfEk5voNvIfEEXSmU518TcdOj2OyPCNtMv4RdeNoT3ZNMDU5MuqT8RJUCZgOuBMH+8Jx+q7RSyqLeqyIe+JYB29NXAwiIU68q3F8E6MXnsfdZbj96U7DHh9fo4ueD2s3cTWu9tIriaug7qkFMx8Y02jfMcWH2dktMJpNp64smCvE23r0lNCH82ePP5EoPFP6kf6vYOHKc+V0SoDeoL\/e34iLSW2IfdJPcHSoHSt4GMiq0nlKe\/CbR4WYjFar+RmKueMBGf1PgOTwHLN1wYvkPQEfpFM+FLJIq+owMNrPohq8WnR2+VewT4Qtm0xBoJPZ4r\/UD\/Zgzgtkja1SHWjcRh489TOWRQQtSh9Bj27QlaEEUwCTiwJB2LZDg0tXxp\/hQwocVp9yNUhENG21j5BJBNoMIXw\/+CQCPJAPnQcq7k4WSgltcP\/oV5TtR+uMVRsHgvb6a2s2dS3gZMzZwFZQLZY1lDZeqdMPRyaT9JYFRGga73\/PfEYCuN54gUc4908EAkp9m01RV6AJcJF5JcJGAlpeayl\/JHS3aR\/+fQco4u2dCJbdbP0ZEN6oXfNa3lRnDnJawXrxyaPQgB6b\/smh1CaHxK2+iOMBzfnbhoeYQdxYGAPY3w2xALfKGIjZgmFPRKEswSEbt0cq7xGp2I6ASgvXlQ+n36fv9Bw3y7aIgmxmu5draCdJ\/SNJV+QS4J7RmAKLltECH7hNxZ6cq6E9IQvePjPrAjsoYmsiHu3grm6+OMEArvvdQK\/t4b2VcEA1wX3V03p0A21l+j2UvdA3gz74OUcJywbNXsDAY+O0IjK5dT0syS\/YNuoiRiangZ5uRq2dVZf+\/DQkeh42QVb2yzc9jKdx+ydAxj7p0GQSSy38z58rv4ku8fQnnm0G+XVf\/9sL+KedthgX\/sgIGxYRQvcS34vzvB43Cm7mpUIb8EQno9mHzECbb\/Kc6ZGS6YNgxCXB70PP6R13gCJ+nUBDsswygbUtnFsdq8Pb2ahyR10\/rL0VHFs9vYE3qyYCdP4X1WtpvjENcKHqTTzynuTAZVertXkwBwTyUqi8jdtAHq1LSTY1BwOPaHvNX\/Vtxf5fF1j8aeP7+U8\/jyNQbTXrnxUjG4XGEq\/Xi2owXM54Zf5eqIwDss06qv5lrOCbmeb+g2gFbKdePKF156tdEKmVyjNOXwxSBcFpd8O3gsie+tln5DwhCbeOATMZf4aqJS1ohA0V8\/EamnYdRdlKr5m6nZYytTKxktO5XLsFmhgWcnqoAAAAA=\",\r\n        \/\/ Salon Action Sant\u00e9\r\n        \"salonactionsante\": \"data:image\/webp;base64,UklGRnggAABXRUJQVlA4WAoAAAAQAAAAnwAAnwAAQUxQSDwRAAAB76WobSNpneGPeo\/XAoiIXH7JnR0GISIikTSSJCkppZRKpdLWqRc87v+\/yGn9f49ZiSspBymkAbqETdqkDvUWih+ouxdaUgs9Td3dcHe3QikSMi9\/\/HUzr5FdOG9\/XxH9nwD8f0CD1sW3\/rsxbfbkSFtXQwRjD7dP6upq\/ndhMoD7nhkGOqrkkerN1erAlBdIcqL72vPwiuXLVyxftXzl6lWr\/e+q1Y+vvn34rsdX\/Ukl6ZVKjnPbNaXlx0\/GvmPegrQiVpPOHWy+phTa32VvuVwqlUuHSn1yXPq1k0pKKZW0TG65CVf\/oFA4NR69PH7hxEV9+vSZ06fPnDanz9OxBrV7xxcU4lN1j58fH6+vR1nXmh\/GlVp\/YvycND20ZH0tt2F9rY+bRWNtGIbKfpFO1tsKyjyUV+dW+mBCMVbhmuGi9Du6fHooyMu9s2b+xhKAGW+vHRlZ83ZzmudG1q0dKUV6R9a9jvLImpG3amFlJs5axna0RFtbhpm1r1NJx7MAghYA148z9lRjokc2MHp4A4BVJDccJclNL+b3SCYkL4wFhSCAPygEWy5cyqGbIakurAsCALiZUa14uSEuwJRzioakJHcFeFhf0WSotCafzCt4xalURh7Z+jsybafMrOUsNUk6VgDczt+\/+foPOkeHSXF3U1mxbet5Gs3NWE5J40hS8I28bqVgWqd4AzJuoMgMbafNhJSk5VygccvtHZ1zqUkVh1ZKkkD3AaW5IWKpRw9Yp\/hKXtNdmMbyxNK2jIKnnckOnX+R1KQhysNjJKmZpNkoxycQYDknYoQ5OwuvU+bX8IM2KZw+2Iasi7TMAR1z5yyiJkO0kipkrK+FyhIAnmMYE3ILgo6dVuQ2iYIpLbciyKqg8one4SQvFTdPaLKnbT5lMvInAI8y5B8xOxHgE4a5dUiZxjQUkHmJObQdPz41CFqOacezDTSGk9FwTLsEzVKSBAbGpbE7YnYA+Cq\/y5hNkYKIbQJQ+Npq61d20l\/M0NdN0lqSRrF0RDqGjPUEqPCSs86SlFyPZZ4v81sXPGpVIscf494H8Bg1c\/d1hhelUlII8jt08KJUSgohxGV0i0tCBOg6RSOUkkJwBHhQXBCbAHwqLogX88EkCibWLMQBaPpKm2Qmo3\/F9ND7w5NA469MiH+QZAB0PSUZuxbAYyTPIsBmkqM5dWiZpjnBfIbMX3NdTHFocGhoaGhgqAAAxeGBofibUBwaHBpCdNrQzUNDNw0BQNvQ4FAfgGlDg0OTcupkqsYEg1bUgNN\/zotcxTNoSnCTvWLyo+QT15piArxEaqVsPpofIGGhGM2oGAA4Ev4dDtSb4awkwz98Q5LS5TOaRDOaRbnjOr4L4IQZNzfVG8lCAgDPvPbyPhqh8lif5Jy11thbUgXtR0n7FgCSXFB\/CqlbFlwmla2F24RjNBWe4eUJvgxgxpy+OQ315z78ZxqgY9owM092jJakC5\/3NI2OvD+6pDC63TrHg6OtWP3ME890RVpHR0bfHb0rEoyuG23CmtGR0faM2tNZ7gde6k4GoGkZrbM2k\/d9T1zSjPB8TLD1FKOH6D1ZvkLyLgBNZxiVW2cAJZKntpLk2eZspqSjEGsRIMMgOM0sNT\/2jTF0zw1YwQMBgOAkKUkqJmzeoS\/rQeDUBLUkBammoKiVJoUwimFTFiUaptd8qSkLYP2GndqlouSKuNJXLuSaQQrLHxBgF7XhqQ2byQ1n6RzP\/7qxfIAhh9BsSc29G0jnWAxo6Rh1ZCYuCzryoUyAZop0gs\/GrWBoz05u2KEVPwY6jlqjdjQDIw9gFZXmKwDOMOQwLtIZbgzwCZ1xhYDW8vORT5QlXSbMhFZyxX0zsiitNyaNNbuvi2n+RmkeHb7jByp7YBp+oZacjwAAnoisQ4DTMfup9XdFoEBtGJEsokRJsnZIRcpX3iylwhSGaTTXIfYWhvRKvoVPnZZcCgABHo+8CXgOc4L9AJp9iq0orLY6m2JmVJLkgV8+TtNPke6DuFlG0NFakk6c7FlDLflABHFrExynlScnAWVq4+KagW6G2TRmRzqtSR47fW8irHYq1VhMx0XlyPHx8cskQ\/Y+ZrST47MCtH+Jp5zSfBsBTsXsNE5wLornSMWibzpFNszZWkfyzkQPUaag5MpIC4XjbwCwRhtpV+KEEiRp+RNepySp2bSXIW8GKI1jVPNkoeCZWh8kHTXvSrIoixWR28JxIRC7T4iL7F5GCiHkhPwMg0qGQozLxu3ighgAPiGFlFJc4f4ySmLismgCpoiLQtQFSc378iszWojRJDkDS0cY+wcwh7HNF0jOB7D6a8buawRKJNkK9JJkvVAxP1TmVatVxPZVq\/3VEoBqf7U6r\/oPANcPVKv91aC3OrfaCACF6txqde5AEwBUq\/3VAChV+6vVWnHOpXEXEjyS2dXbZGFIGmMSOMOLCR685jBDUz58KCSp\/OSZgi94wqnsglJ8DZQKvkf1ZflzKZ+f6FIRwMyvPv+W\/pPfN8A\/gyGzCrp\/Z\/xgTg3dXdzuKY7RKj6YD2jSBYh97vnYp5\/rRsLiS1pnVXiHNGZiYkKasZzWkOZHBDEPMXQcRr7lHJLe9lbgaaRgVj285BirkfNSeYHfIr5ihZ2OnEs10TUX0Sd+xPfSZtappeOlydOn\/MASgFljo2OjYzMizWPvjQFj\/1o\/VgAax\/bS8vzox50AGnco61ZdDbzl9p3M0uek4zkAaADQO8HohV3NwGSSB\/eS5LEfiifonYVg52kaS+565KoR\/EidiVsW6aYkdThaLADAAKOaFE3o0ROaDKXRvNJJf29wirQkBd+vOWTb0bqedMyET0da9o8bxg4CuP\/0+5+MfUdrSUyipJMk6Zz7+dfTtLz8\/e8tP1AbbhsLGfLhWuvv6+0L0kxfQNIyU6eP3RDBjVRC0jnDYaBjQc\/knpuoSRlDrvmBxnEbsJIT\/BbARlrFJ3vOMuTNtRb9bOHihQsXPrQQWPjwwkULSakss9Vch9j2+0+QypCaaLjrZ5I0JFXE8R5cZ0LHPcAzDPkzAmygZazRXzbWmBBS0PvJ+4xqycw1\/xUHtM6cy+gEWkkhGRtDAvMoyN3AUwz5ExCnhSND9tVYVMt4UkYd81jvA9B0KyUvFndPaLKj6XZKX4DgeSd8PwL4IxKreH0d+LVm3r72c+dmBkHjGe14tkxjeB2a\/9TOB+BuhpEnXMhfgwJ2GCt5b7mxPPB5ENRRDfq66DXSNVCQlrFJHo57hZI07HmOgnTWCvcScr16dIpLQgghBbm+8BsnpBSkkOIyusUlIQDcLy6IrcA8LUNxUczECEMppBwXL14beuj9chkQfE+SF98jSfyDJANgFcnzAGYxOgd4lfGjOVllrbVXgUJlTqVSqcyuFACgMHf2jZUuVGZX5qBYmVOpAGiuzKlMB4CplRvnVEoAKnMqlcqcSkdOTOg8Llp7V\/FitDEMQ1KGsYw1Obsk717tEi7dV0Ds5n37Duxj7sobii+L14q0\/\/zs089y\/OKzi0zohq9NuU998rEnYx97ajb+q7t35dXgw33b9y3IbOjZmmjIA0F2hYTFTBvCpCT5aFbBIs7v6OrIsjnS3NHR3oGGKW92dAXZZT2l9yHWshNueVaTGDJjU+nvryiSfPwE+8n3Kv2VOZVy7dz\/4tMLFy2MfWThn9bYDJNRckVWnVpqma0jSSelkqSilIzdtGzlsujSZfNj7khTXLZoWXTpsuGBwWHvrcNn6Jh3HpTM2AkhhCNJZSlJLYSQgklHR0dH3+NjCe4efW90C+u2HrI20m8YNUcSfEmSUslM3TUksdZaS\/f55Cc8b6tQG9btVSlquRX+r6iZq5FSSn1Nu+eicVkpIaRgrJBCyGsVfqXNxCnF6MaFSx5Z+B6jSpksVtWBswldTcy\/YFwWluRjfbNv6Csh2tc7q2+YWQo+VAfJXS18Rc3UjuTm1g6k7mh7mSqNkyen1pqSzxaKBW8HdQ2879JZyrOFAJkuoEhDwZtqzNifkbR4RLj83mYqzXNNyDh4zql0bm6NOS5KhEkMcyv\/aE0Ky1OtyHouBdOxv7acno\/kTV9Ik9ebFExu1Y5OZD7L1h8vI+0gw7xaN1qbTHE9sp\/N+nNMVVrvdE5YR53Iun1NiUpfff5V9POvGgHMqj\/LxlRYaWReH6bhT0i680\/6\/zp45KUpdefsiVbPnJ+LcfiZJpNtvqVOMqnjWSTdQho\/SWpmWGNSN6yN9AQFnugDEEwCVkzYTDb6VjKHxmPW0u+cY6Y1JtiN6Moy7NcNABpWANhKl87Z49d5VuSxh5r515Y2awsxwFOOT8B7MQtqflcLU044Vz9dmYScCi+tvdPXLZiFe6cWcIzOuXppy8ZVPB8Lx1O7m+OgM+H7npWp\/kxUDknS2rroo0on+Ri8R+kEh+E9qjP53PNwqr+CJED7meMktda21ooHrEvl1F\/zfNvoQl7nC2jTmSsr4krvWZ2IlpuTAXjwl19I0tYYmihSafcSvN0nndP26YLvU2fTWG5E\/ORDyiZz7kBXGgBr3nrjFCdkbXVTpuMXvt9oSMkGD8oU6bZ58ABFMip+kAGAzvOkrqnOdM4daPe94wxp5eeBp9PJdFt9j1CmcPLglEzQPnOAtq4sN8A7\/6J2JC2Lng6KdFs8009Ll4KWF3syAVChcfWkvvM9ScWICTwYpki13zNIwdTWia4gG8y11tWOTuOo4V9jdQw7fZNPhi6Fec8z12VAR+qmYia46Zx0tdJDkWqtp\/A6Fb0+LKFIxr\/h7WcWJC0PTp2RBT6kqpXiW0Yno4J3GkMj4y\/M8123y9hk53OjIrl2\/t29qWadtq5GSh8Zk4IFT7OaoP+cD69QJ3L6ac+8zGilIMnnX2tMhl9oa6SHgomNm4X44kFyQUdnR3TKgQQfprkyyTM7O5JKSkce\/D7ZxprpokymWfKgqaEIfyFBsNnZJPwb8W1\/K5cDSacVeTDRhpppPqRcEiePN\/h6\/ols9zDZBU83JXO3mrvqIVjsZJKQk5H70+Muky5XA3RuTz30UDChNh+U8wPpsujUNcHd9dChZRKjv2vMqmnajd2em5nY10ORzhljXJod9dDpEmkzUsrq0ONNjR4ku+gJVluVyusSkifqoYuJJjgI74\/79u7z7993lOemwxtYmwX6KFJYbi83lTdYy6TjpXpov6Scz1k74ClcYsorHPChhdrjGPiqGfyOaMPxI8djDx9vQ9KXnWaNYApDj1Nnb4V3C41Lruyqgq+4w1jfJF9\/Bhtisi5840ytlNYb7dH8DfGd5S9omVKwzYd2I+JIVycNX1GzVspfGBPn3F99nncHXk1n5FuBr5ehj3XSyyusGUxn6OE+xN\/w+O0njEtDzQZf4WWrYhx762P0F2NraIDCd8xTDl6mYjpdKIzFYZAiziKPP7LbzExz6PcxRBCHu5Vkln9f+Chu+qLlTsewkMfmIJNCMHaB2tbJ372HWr5b3NLWcg81s3Q839jS3NLS0ta8ipIkndsVZEdqvtLS1txS8hVaWlqGSdIx05pI6lijiiXkQcfo4Zl9M2fOnNk3cwtJOjpmXBvaKWuUUoaZK6\/xteVDq5RSTKiU0sy+NmpfsZhTrBVey3yvMjbWWbu9\/G5+NVtvTic1ml7HCkqe6jUu9a49u3bt3nVZ7NwawHu9uiSlVNJeM6RIfubpZ5+Of+bp9e9VEDvlRiQsjNArpPCqq5KRXqa946474m+\/A5gVl7zxpRWrV69e\/fjqE0wqlZSKNFJ6nKqHueaK8VtD\/4LqQDXpzUuXLI1fshTlgSwStlb7q7GD1dcZNYakNbGksSa9zWuAyV\/o6umKxVWxq7O7azb5bNckxh8cYvY5BKXkuAqXSgBK8QWU0pdLd1Lm8\/+0BFZQOCAWDwAAsD8AnQEqoACgAD7FVKJNp6QjIiqUbMDwGIliANRIucuJs\/u6Tk86558nHq127HmA\/Uz1gvxm92Xmn9TN+2\/sJ+XH7QXlR6qF517MP9z4h+Xz5zLIaHslOARiN2A+t\/7n0AvaS\/31L5QDKB+1f8r2B\/5P\/g\/+37M39749\/0T\/YewT+vfpuexv92fY8\/bdwIckx97xgc9YQVD2gT\/XpfyhetudLvXeQj3Rduk49vMoahv5AmmdLRuh2KfYn7H\/TdPD3C+uFEtyNeqn7TjSeh211u8LHybXEsoox2ih58depI4w0aH\/u616K9lyEG4gOQbUYKBm+iDXtrVtgzd\/xr5LYYoPbvvRbIhGTyyQ503sbj9cqntsM5c90nc0tscbCOhCb1hpI1VOPyAgS1tjIFQU6kM996uGAwjYRbIngn4Hs14twynYKer5Hv8qU1YS8KS9aPQY3BQ+8d9fjepddwsBJDC3TzXp+7PNactJMnIGlDrkiCkwQUJ\/gy6i9IO\/a9vLIUUmkff4U8vHZQGrPbus51Cgi2err8tOvmTvFT0zGYKEYPKd+qwLbg\/wnW1PqXtT9YfmxRdVitNyVurQ8WonX2tRqH\/v6Dh7BEvwVxYvv6nMoKb0hMScbC2xA30jDkTm\/wv6Xv+JT\/Va4EsbA\/Ld8RYMorTXjEh18xzn2PI5sBa4ZY7zCAAA\/vuc0V6YX1T\/+OZ\/\/2A+veR+UMHCgAd8octXvuujx9\/miFD+eQ2\/XNtv808Zicvcfs0JxMrSQPlkWbVQBEu2E2lbI9zre09OoOIhJ\/R9YnjRDPIO8tcXsFnsqO7mZYc9+opTP\/V4t7JS68BObVpuiLaF3rRkhoqKmJehDSlaXoAb6e02png3WQO0ClUCWbC2X69knYRiu\/5u9RD0XEvnK8A3XifBIf38irknhVKyNMdeomYwPp2oFq8EvsVW5z7mDHqmrufMqlYQWlRNYWHLXy6KuNDAqAbHBvv\/HV7nvtunfXBmi2I09pTyyQsm4frWLFKsaMPzHGce371zzu4jIsp4dhxWm9X+30f8qAD8byIwqX2pgg8wa2Qg2YQ78buNC\/ckJ9CZ28hRPkJJK8UenKDw1gpdOBsjn0eVlBbtNSDit33vE2WUp3ZOXIIlxU62v4j9L0oPzp4DvOkPnpEM0opgJMarLf3CR8+VP\/vYvzuE6ruqv5Gxyuwc8bQOdhMj6iOH0uQp5Lgnjfihrgf\/1bFvZ\/XMR4mnOCBcM8ZpsxQfNKn2UCm2OFGhjehR8Rd1Bb0lPZwxOP2d2weFpUo+KlHU+85LhY0Rh7ImYnqfVQPx+6h6MaRqBQx6uCewlBioD9v\/2Do3Yf2LK\/iVKDubLsRHuE7NxVV8BajI9lDXk7Jfizo5aihSqY4m\/BLjIvA\/cJSeUEhtv\/ORwEM1MFLee\/V+Pt0BrmTofUe\/f+MEkcjaXNxiAk7X9n9N5B7dbCv4MGCiDjPw8q7vXSrD9SjFZlYvsWP8q4V1vw3p+A67bZV8hcFWqdkXLNx47AMwxv2A+Z4zaG3t4pCMJ2WQlM3f77gpe+JcutAeKuBWqAAhZBe7\/+G5F\/Qz8u52Vl3JbukDKhk\/NHg8ySpSrAXi09IlRiDu9pOmksBf0DC0l9hsudmkg2g5LQmYpOr9d+3\/KqZ2A1r65HHFiGJoML9TJYtJkrEStUktuD7ts4y+mXPjFgo\/2NSPnVukWSIluSSCHLyK1ybkRXlSnz26R3HVhi\/Ep7TlBuKmOTj3menAB8Lkv9UsGOxF6hZntXLbIoUvG0\/fXAdE\/lNbUCk1BR5CyqK8niW1+varXzkEULtUm7EX3NKJFfRf5JAuTc1Hgt9UIvFm828cYXxce41qtkbJJtsWj9uAV+fPzti1XG3w06\/ev6Tg7eJzYsSdA2T8m+GJqOzZE0YZccNH0IvDJW+F3nTptPsqIxJu\/iQPm0\/PcGVcHgnn\/Mi8zM2+qmSOW05S3ixwoCsmUItdtlQzBh8+5zG+9nXFLrIovwpO9zdN08SR0O1LE5hBjjXMgnphH9uixFAuac6PD1otDsUMJwKsHFZZsFMG+Eofd93bQbaoT82lAyqNvSU\/tky6yxeDB2+KExMqfnjKOwgTLZ\/DpKAX7OTqb3SXqeMg7m4UjVhR\/Cvy+\/v+a2v85xguH2COYzbXOG0zY7hZqle4AzS2LFj9iJXz0bxPvxuxooQT\/N60kO+BOXRiNJYckOIEJDDGdKcQn154snPWvYEyc9alalai7zDgoU2lc0\/LLuWJfyfAB5DVWf3bn+aaA3tWK7OaJZ0qMm1xVkZmV2O\/7DzvgnjWnK65WrcZQKp9phlUL3tZpebiQ7r2st6NtJ37rYeZaLTo2KsBw5MznfACmXzr3dZVpKzGo+M7g9J+i3cQiTIO\/ceP+aKXEfGMJnMe1htKj+lL8wi1oSYeJIbSz7m4G2TtgKO2yuOaS2agxgARr2vtyWTP1FwOsD0NKTAIeJj44ZkBSwD7YVLmKNmy1TRTOdmUKkYZyllyRhoZVsphCFv6YOkM5qk03u+pov6xihKK7HzZZOjx5JgWk+1X6FGL3tD1oe\/2tiKz+xSmQLzBKmiQaN+yHODDFDw9kF8HywQQvBOkTshepUKX9uB8QRCLdOwe1UoGCJNgCyS6gB8I3svCPBfbpx8Sh\/ZneA4UU3gOq0mB4YGZog7BAna7wEOf95O2pG273GpOzFnJtZU8INEvAA7ChZGE584PxRAtC981y3ySRRTBIh07blI7Apm0M6mID4pBvsTtoumUq5S\/Ju\/QTpACN0iWiiJRd7zi08\/5FuwbdVImQX7zukbT1msvNczypLwvnSqUmCUDMaoyLfO22J0pz\/PWj65LW+LoIswHBMdh4cN7ES3BUyJKmRC0VX76w0Yc3myat896x1FlodAVGL2pok\/xNp3THlVVNMHODRsMog2J8fIQ7sX4l+ElEv4vyq1E0QGj2OgkL2on0ranU8sW3+\/LO\/c0gCBKqtTW7gZcFHrn54LH\/f3Pn8Q\/y+nQThzAVPnNf9qa9xknNCc2c2zKj3EQcBEQOFaERPpHAcC78PeqyL3XEWGc3hFSEVh2RQTmvKM9wIkdgPsd42htXQTK0ZyEvHoYFp8m\/0YEOEb\/VS0o8hgX\/pyyBoYBCwhQTVim8A1j6vh6qaLOYGS6dFwEXaXl8Z68\/Qb\/T7FqFe\/9uPJS+ThQFeRDM7CszXTc6Q2aE+N1PWAby88VixANe8JpzpLXboYr7+WvC6roHXrpnlz4qpiQKzHK0YWRnaU5hZHRzWXSVydmTWw4we+Hn3kz1RlBKH5Xvb41POQz5mg6tAfZTBC\/qvR2PAGQ2KIlCaMUqqoOFDfqc\/\/rSbNpyn30TKde\/6ZXeYmmqQhLvqUJiwr\/rpTc8dpt4CHpHtOLX1oj5ZPLMkAGMsVr5mCVEza291yNMMBtgmIjNny6iWy\/vE5ewB5iBMu+\/ZTt25yNAYELRQNBoxQYr9HGTjjGRMIbYVYeCa4+Sl5AkhtY0DFgITDKuOgN90Dtdv6+iS01muoCQUYnGidK74XRfi1Id1OyOi2gh9pY2q95ejWb529Agyw3C4JmWJNQnBJu52I3r52xNvT8guSctC8ziOdLpzR00NstDCZZARNeEVsbR7BlwWoNbrVlhDVUNJC98vgTOtQSwvrtb73CWMuteT5ngbKQEatOqzhPDg71o7Huz\/GOZLpyfDOihCzplPG0EAcW8qViUn90W909oL\/xJgXpiVvk2wVYfacXMyxLFHVT3txzaC2nt\/S7p5Gb5QFD8k8pWvWiLq9FPCKnMr2yJHfLGD+6PWVq1v05Yk3W44JNwMTOPnmVbzRvuCUR0EqfjRgZTgd\/mJbF5Kq\/lrrYsAnASr0iDFTUrJb0hKonsRKyJP3LDQmfWrhmZ30AwMQl\/HchmkJcUoRW5wzESJbvVspUJrIy98WjEkzCC3FaUWYdl0Tx4bQj2ZTHMdEVm0NRnYxmvFyHgPTqdi9ujk3nu2M+cqH3QhzPoHh1OSNsmQXbd2su2DOgcVaMBugUJmwx8jZjhbWI4fSRpPKPDrp\/IW\/1bWpmhm1My5wP5edknp\/fzJbxJdvEXvbR17LgLInEpdvrH1wcOUrsFdAmnmtVktSe724P2dFGxNwhJVUsQu2xDyAm\/oYgrxrngqSx+cYHvkaCflmEU1j04W\/mx\/wgVnIqDgZ6WjITxdh2Z2Oo2jrW8V7HlJMPKUuVg4U95C5pngKBlx2nV4oQ\/j\/oPl+ff0L4ftUKSU6qr\/3cLo0QWRt5dZw6+DzLOJoRLMj7y5rXQc3gNixbYf8hgnQ7dzVDmIqICPvgTaqt\/4XX21ZmeuUraFV2mRH6H\/UB5KXlX+kPeN6IVu0bwhJO3c\/n3a3KFcPgFgXBZ19\/R65C4CehYaNmbx8q0rMMERaoJgTMhCk\/VjDyA94yA34W7FA6hBqbHQwmnlxVwVa2Cp0nNeJJzRwhH+i6URCDYC54EiwP921YV0ZmevqnMPLUCGM\/g9xtiy+4OnkJ+3XaF0+6xXhP5tUQurpvox67\/FvcOCzCpRzPNrNUao1vZX8fnS9P1\/bRcdeyr+eAkMYkT4tJdxpROEm5YUZZpP8ENkmmqjtgjqvcoiT\/qQUMynl3UFHdYeT8VvGpEvzaXqP8U\/dx2IeIfUDF+FmDUHZwbd7NM0cXxG1qHVddeVMhbxfumRZtyHFtkkohZDKG+lT58Io9lNsKgcgg31yheU06IEcbjVqPXMTeLcU7TR37hQePMYVe9EPXMEV1ReSB8fAM5SmGx\/1XVMw\/X0a8z18Zk2geg036SjEpz+1kzxHP\/YMR93BT2DoMhlGpes\/\/pOKeREovZ73R30P9CcIr4Fu2bZio\/tTD+Zk78kauZU0GIB6uQCmt0ud5c0gKSmEKxqr\/tjxZnD73ZABS+TnT2KoBStw0LKBfHTZcebvBDnJg2iZHxPyWt7rMwre2imd338RX6rt4x0kdBPFZvSFMGsbuEVMC5dFdf2ThYQ5CK+9G9U1cnZn8fgeb0C1GPWd056Ci3fCaCj75iplzf\/JI6Q1F5MT4vJFQySJaLtT1VqlwDeDpLds5zips7e+Xq\/OuA7zENC8mAUY3\/RrbNngTIggTMNJIpoDbqrD5wZtNsmAi+\/kZ6YgZF3Xr0CVsQSCQAA==\",\r\n        \/\/ Union sportive du panier de la victoire\r\n        \"unionsportivedupanierdelavictoire\": \"data:image\/webp;base64,UklGRmAaAABXRUJQVlA4WAoAAAAQAAAAnwAAnwAAQUxQSF8NAAABBn\/Itj1y2\/\/fjLRq7r0XueaV3hOl996cEDlO7733CJs4vcehO71XG+NgbIyMMfKrJRinGGOMjDFCCLHLsgzDMAwPDw\/3H1u0Mzurv97lfCJiAvhfCaf9RygMCtzaOMywGWubrLUduwQ\/OwxpPbvTLlnaae2qnBDlhxmuA0f3SaXGG2bMPNvaVVK5P7zI3JOHbGXGqzvupHm23c6r5kI7z57SI0Do4VsgNCV0dGNdGbmih830VHM7PeyMijBlpYQKbqgLbWPs6HFjrD0zK\/F6EBmp1BQEHszUgZab3uX1VUC3xKytNTK0p9OuwVp7+B4pq4M4Qy1DNfi677dLGlJu1u3WviMVRrGaoehQlPfEQWOc9HZxyNwqEOnyJFp5wuCJTnq3HHfGWR0nX9otgAlKRySrYFTvISl2+I6c7e3Pq6IaVZ7ovo6UGt9u53VJaQ8iUyMFgUvdVMrctBX2ljEgNVriIid1G0Zbe\/AWAbw8Hr6Sqmtr4jHWBrkfn5iTPlNXvLPqC09AF\/J4oTZVs4EXxWNDMduPampw3LRotNZ1oGmJADqU2g8DMVsXOOk56spbOchh3O0bijApoJUN9z9zalsquA7uyTnhhRb3AsEUEExoi30dg\/W9MB5QnhCe5dbU+JPhhJNO5viO01cL7LnyzB+EfCTQ\/8Chhx0KF2wQTFQFhbDt\/COeNEJoYtChwHenj6uhhs5B2Dtg+\/sYDAVMLhsJygj8eYhTPPJlwfhVCBE+HuGcoAXPxoCRUKLsVW4ttM5qnzdrztHrpdLQ9wSwsPP6mzfvu2T0qNHWLvpMMGEVIgtrF47t1EIQh7HBoBXWHTW6Bo5au2Xr+s3\/8isCIxAKLG9qeTz6\/YcvfrR284CAqYJByG3+eaeAJkYb+KEYsf+5OZO8JVLaK1ifHa89u8GLRAMYu\/HlQzMjuyQ1da4A\/zm8NXEXlFFeqNWqCa1LlRHfCBCc3TLi3BW\/qdTwfCWoNbe2Je0cX6IBL9QSKOGVVvciMeKZbPe2A\/4x7qQdQuDZ0FqLjsGEgYrDCOT\/whco5KDv2EY3WUsEM+grI8oIW5de8KFEOuLbBVPvVy+ec4+ACokAa+KwYSzWCF93nLgGgoEC8GnnNDdRZ\/Qr42mpOFDCy83OWQKRAal5X8ODDc6loRHfRAXEP81J9MSzu\/YWtLKVRBrWnbDoaSkOdO0VNNztMPraHoF8nxFOdcBNDu5B25QJokqKw779hRJp6Gt4uc2h6SaBnAWvw0n4jH2CHwroKPCISpQMvdCkgTVadV8yxWHUknf6c16U77+\/vTVZ8\/vKKBtgqMQgqWgktIWdz41xcI\/Z7kVkVW\/36cmatnzTYKiMloqtbyPS04ZCsGRMS+PZnlDIAqtnNLsJykw4cb02NqzMWGVSxFqg5\/XlDyKQ9wT6V1\/eliBofk3QAf3\/+i0nYCSFTaQFUL\/t1ILJecJ3oxPlrhCMkmdmLvhQMGE6UfTyzKN6hfx+X\/iuJVHj3pPiJW7mcUH7aQSmAJzjNC0Pjc5peHdsglqPuOlfSgu8sPiILwQTxqHCwFqLrgVb8HPe4wvGTzvlV4FCfvPSQ1oTM3tNNgoigULvfl\/AxKGjkjWBEV\/ne29sbLhRIOtH2TVzE3OIJ\/hF8WsltR1o6Jkz4tCutaoQCLnkLNwtBIkw1q8xIxD8+uDkEed6ygh\/zkjM3I2BLqF8SwwmEhhc99k7b\/LBDgFdA1AYgN0tzrSsEHk9J49oTEj7Fm1KGIWJwQ5aYfWC8W0tjH1AwDe1YPPCtowzOSsU8tk1yxckZF6PUCJWgxgZ6DnKKW5cJuDVRBRq1kzPnFQQ8ghcmpC5mwIdX5AFnp7sOiw4zZ63WiBKgPUDPRRrbbS76+bVkRAULUnIvO1CfDZA7TjKgXndglaSgtYTkzs7IQfnBD8mpQX\/moPmcEhHl6Sl8Ux04IyELNotBDEFEfw40jlmd+8BmxraE\/JnJ2Tcte\/u9iOjxSpMVZSEasMdR7aNfVwA5RGoBCiBb296ZKeg7VBM4IXlznWT4Ta1f+xHOhTlB7oaJhDDbU2Np329twgDEr\/xBS5uHP2uEAVDwUC58xMCLR8L2qfaJhC4o3nUF4I3QGQkkSUuzYz9QIjCIZUuyp3iJHXE2lhQAt0PLx8QVICRhCqBNfcv\/0swuloFyB2fmNFdvQUdSm5PrydghlQ+VJKm2scULs+4CbFzzv7YaHnl2FN\/FExUH4wyof32+lluMqBxmcD5TuOjgvarY6QWTSxgPIGlmUS4Dpwp0OFwl6C9qqjA6uQpP9DxFATuTQbgLhE412l4RNB+VVLZeALLkjLmiDcFLm9oerrORN4VjcnI3LilT+AKN\/N4nTFcnUmC23Lwv6T4yvoDnYmYePPXangzf6+Q7RdYMhxxHZjRLwz21atlTXEVz+sR\/Gy96szE13rYXX\/lVZSvRwWBi5z4j\/ktqzxtvHrkCVzuxtU660UBX+MDV7qZJ+qBVqUjX2Dl4qnxNHSs7xPQGE\/g6oamJ+uACW3ZSKB349p4mu4WgkEtmILAxY77YIqZslKpAYF4mu8WdN6UOdvhLkF76WRCD3wLqhIPYmu4ItTiFfkC12faVgg6SKdKc72wz8IBJSXj4ZxQScEIKIEfl926RTAqVUzoWxtY3+oKnjgKOo4\/ivO3JyHTKeAVlTSS9lEobGt3wHWg6V6BIKYjT39PIKwgbU0UUsm7V1vbecXV9qSMU3bm1dZefpWNZc++goCRtNZRiC6357AGaARcp8KGkrHIUCPPV6lScv1Ka1c8s9Je0+LU4pAMkDrZ09qsHWmtbXZq0g9UZamqDexeu45nRjk1rTBppXMerFgwjQlubUmKhwLLXKfm\/UClVvHtTu0bSW3jC9zQWHuSzpEfsmf5UljQMEzxCyEbFjYATu2\/sOo\/Ajptiv8z0UnHEZMfFghMCu2akRJwkUEKaWLEsOdXa1dOTo3zvEi8FDGhsd7yBTOYnEmLpuuFdCkILHWdFG1+QAgHdaJUYIkjL3Crk6aZawRTIFEYJA5P4NqGNHFn39QtEJkkGBtaQOI0ylj\/02vbUwU3c62ApxNSHIsKxPSd2eg6KTu9a222oK0pYayqrrUgpfvee2cnoKvjCb2LndR1207p8XSoStjAA5+hWwtl3p06ZaVAWB1f2Hd42rgOzPhT8MISsZqtX3+5sXvTcQ7XC3hV29+RNsVzc8KAF1\/2hJHjZs2fk3G4LZ4TUmlNTowWIxD276V3f5+1B3r3Vvznrr28Nckp6U54UyCo3nFp1HrwzVnBy2lhy7lzaD\/y5JNOPHLBHOYyp+xc4JBTjhjhQHPHw78pRNUVGLdaUINK+HS8U327JnsBMGedMiFS3TRzD39kjxD4ZuNxk5nkFrVOmDjJwoSSkyfZiWdEcpvrMHuvENiqGbXnmHTCHbVSCHO6sL2HTUc6MPKuTVu2burZutkWw4aNu2TwDAemd8cT7T46lVwHDnlrl2Ck+L15zc7o36WK3TMdxp6zpaCgWp7AqalU3Dj2fkHliwbWHOo0\/lyNreOcEc9tzXvKEMcZKeU6MP+7vUKYP+ALz4xsPfez7YVBf8+mtXbd+rXWbtkXmh0HNXcI+Eqqa1CBv\/PLRSlV3Dj9ZsEc2JcXdnV1jBy9NAqiN4+Ywez2GXBRjzIDbz36g4AyVVIY\/ful05pTDKb+kBcjBBZWtzqnCNzW6JSesl6IAG2NVDtEWDfZSfeGxbcOCJCF\/suOflrgZrfM+LWCBlRUvcDCz2NTDsZ+KBAagdDLCTzSXGbGBiGMJNYQ4dfpqeceddONN68X\/IiST7c6uDgwZ6MQ5P3QxLRhdurRaG3mKkHlBQ082uJA0cwNQoiROIt+nZF+xVO6uoVgsE\/Bw81DkJiMXje9PrgjzvPF9O\/14P5k6eDHafXAdWDMC38aKV7REo+ByoSeWfWg2J10zp4Sq1pj0YEXVRJY2N9eL6D1mcEscFdzLEMNifJfTq0fzDiFk2GG65Suhgoqi9B289J\/NNeRIVfD6Mp84MWRTh0voyJrBKNDlKAeuGCVQGQEPIEnGoYDQVgUBYVQ2DrePVXA0wI+sKKlns1Yr02IVGr\/9ewZrS2XisYv9+Koejb9x0AHtiIebssc+eJmCdCmzAsj6tmc7UJkzZ9ru7NCsGnNf6K7m1peE\/ApWfRcWz2bf0DQ1naOW\/ijsPPoMafuW3\/9DbsF1HBh2rcFJahjnbZ3hW1TnFl\/CRilpWz9az5k2RZBP3joOd3C3s5Dru8XIFCVqKCrrsHoVwQzmPeUYPy8NUWVWox+ts41Ph6CVKr8QJcxNspGwqcj61tLV2D9sBKMlDcqGAiED+vc2I8FVMHTggm80Eh5o6X4wGcXNdW30V8L4PlawFojFdpAFb0+rcWp76139LCtV0AbpEJjrcCOHuhw6n3DpHnt87sEM5gPVBmjvJwVws72ebat7pU8bEcgEZVra7wvJjrDxpYTV8rQB28\/uGH4AO3bBUw5I\/DWKGfY6DrQeNJSbvhRIIyEwludS1nsDDMz1rbdLpD3hH2nZ6xtGG4UnycwmBd2tTv\/8z4AVlA4INoMAACwOQCdASqgAKAAPnk2l0ikoqIhKBM7gJAPCWQIcgGVhkG\/fLT8z5w1hfxP9V\/V\/KQGV7vsh3qH\/Tn\/I9wT9WukX+4HqA\/ar1g\/9V6qP8V6iH9L6jr0FPLn9m793v2z9sbVQvMf95\/Brwv\/ufh7+L\/Qv4riqvVfg39N5j99Pwu1AvWe8u6r5gXtV9q\/Xbx8dWvwl7AHBa+RewH5Jn9b\/8P9F6UfzT\/Q\/+j3FP1z643ozNGQ6CU\/gFj7koiLMG9BD3JXUbZrZoHhzR4d5r2\/5n0RoYHXFv\/Sh+OKoBJ4a7tLdYRpdXMqeintD1bEuzqWP9GsNjPulpJxtTt2Ed9KO3nGCUxooXZyZaVqiLCTHO7e84SOYGy9ZhjnwCkHwORrEbFKqXYAPs1UCHGdONSbgngxs5y5r\/jSk\/fq5yaNJ2cRdGg7TZnhbdaWtKVvKknToHO9G2Q6ew\/vwSo9plufz\/7kb0T4dM0FY161U+9cNEeKDOj4+gYnEj6LIe7WLqVEONgDMDj2KIhcvRQywDua86Whfb6iQKjU89iQ2hZ18ScbLQO41SJZH99QggLUlv2zp6Ksf+Bo7iBQvRZ5UGj4UX8\/Gfv7Gsw3rEaeueT3\/5Eh4by5NYBbAAD+4G0HKGTf+KGLNuvJYkAOE2AMmpYRTllf7K5\/8IYanAYbXadoFcwNkvci+fqqNvCA3wtEIgT97zJGDGLCaXxfOs79KwwJKeIYqAI491XZ82zxkp+dHaYZRfrWPiOebm5nm5JIelTmIDfnsdZPgEyoLkWueSIgTOiT90+4GA5yqw5j6A8zHNxfL6jnSsGN0lK81jF8NERZHX4LSxDGGpeoaD1GDNASeOvoLP3n07UgJuer3LQtZ7z\/0s7gqM\/0Frryx1bhScy6L7ZE964qx1Bz0E6Th37EK0fNvrn5aZGVpm454l5690br7GuxteuF0bmPKBRm2R0BAlY7JpvERbbQ8T2i+7za4gLjs0Z0e2W3qbPheE5TwOzZ5OJmlxz4CVm0Zookr293FZAkaFu2mLXT2ADqqU445WBgHulOISJIh5tJ\/VSxw9lKLuxfclMW\/9W7sf56CsAnY9PiWcGS915UZeUa29AQl5v8zmJcrCRc8hPSZzn9Yq7IgMEBtnpZXrsUkYtemBTmcfNcnUekhxadtOdYmEn1WtMap6tPgwSnf5pX+M88e\/Ov6L0nHzjCCdmjDDqSaMZumVqD8WTKOusNT24IKGb88Zi0tBBu8wHjHTpnIMocu6zEwTvAzBxOKSOU1I8KjqaN3pmG\/pyR93D9OUh\/KZUgmEC6R+1GndhrcLy2HB06iYOmD58+d7TXcB0jHyEGKHiGmVvIZgEu61JAueJVdZZzchyu8Jx\/t0KDrqdWbVzxygImKatMd4x14mUzB5qvcAB6pUzCUa0lDxZblUQBF2TMLI0Vh+FiEw6jHLaMyReaAbTDPU3M\/54WiFJhMVRVA2hC4OtaMf8SUF2eKJGPdWfSyuEN4TaM2\/g+l1qwT\/I18ahUokm7oYGpuvFfSDv3wTWrThEZ4R2l51J5oPGaMyI9PRW2cdKVFejYMBlyqI7C44DtvEYUhifwSWH+C2cgAg6NeonzQtsaAyFFH\/ELQO4qnOQmwkcTSHZMiEk8yzpSWJSFsH9N8ASxDTSO4Tl9mn9\/4KE6cZYUZVYGLwe4q0khSCixmJrHBn+79T08SMMFOnunDm\/ZG1CYnLnOzQeqAJWUk96ew5sPOKQR9GjkexnNw+FiDlX4x3VVImelOMJ1tDbHiuFve2znOSokfknk893xiGcXZ9dvf+BysDhCl+q8lslqMyR6\/yOP1f+Qa+tgHo4Pd9GKs7o3gk1\/u1E9tA9VfH98ZSY7QDo\/HscWptj2HRiYOVXJ+Uhl1R3PWS7i84jWKiluqOOjCp\/C58NdrSI1q0JdB0snw04KIUSfkHG1xoImy7zra7gZRW1hobR\/5kVn95ftjuDLdxrqink8lG08WaTd81te44E+31+ynWaUpvMAPGaS6PbJ5nC0edf8PM4bTKNUXswBAACmZ0CFfkz4n4ZbQnCOx6TZu4SHOcbJRrqKIIyTssIK64AmVw2Ih12+lkoOKXLQHLz9++4izbPLRcfkWWN+8k4A8drJmzZ3IIG38p4wbzxd8+kqBT9fR2WFl5EeAGeqk0j8ondeFiqKoibPz58UFOdxmaQZXEQCA12ke3sV3jRTyZOJ2SIC3G1fTReou44y6VzqEDjJiBNCw2WPtQZPs8jgT3HQbGiU6DGHlR6b412SGyeX5Hn8kg6DVlskOkvfh72gnotGF+1z73Jp1Wml1JlkRct5tkCVAGC3J1f9qyG\/nnpLbNNk1xHh\/GZx2LcYz7oKLdDj9x1VdG0ANoN54RbarmNFmB1gKoxxXzPPBEfYA\/rxBWP7gmj5EqDznHVR9o2nZEgDFy4iQYRpxnMZWIRAW3n\/FItBkpYihCVv5531XtN6yoVs\/bYE8qkaon7toBpl0F0Qmr0MUs4n+Zqb1uTrdJPRjTX2uKQ61np7QtJSjqztOij1Q0Wya6YVYlL8HtGR9k\/jfLSP8m4PHGDBFgkD9S95f4NzQHvNlVKXiV5KjYq3QU4X4JJ1C9kjgO8DOoKMom4rXQufVeLWDeW70F6I69ICUKjM0gFcVxe8DoabrS0rjK67icHRQi6WexwOwv5UoRx5o9hoT3a4jKtIMLc+Nj0TNZyVZFJdO0ht3gDsOJWI+Qf10zhUr1n2B550+XTX1w9h3ozcC\/16vOd8bk0WsPRkey6NP4\/ejNW16pF6b00Nlpc4nVARXerKBk3Ih214fElfedNk+gxnk2tqm\/UuXvUv2N+1hmBKZjd1jSWpxq3E39Db+VKQzUmVHKkVb8cK8QtNdK9WuvfrXOcmGN8cSld+oo7QGE9iOMmEEVXKiP5htEq17gw\/HCu4TUCam\/JkR3pmB88niI1dmzpErT0kqny3KrutCecDIutQzvqBZjttz63GTtyekLfuGruNYlnrazluN8QbQnbAc0dYgGO\/p6enbgyZLyAwBNGTdEKGy\/DlmhL+2Pg+TaPdl7oqPfZ3RtI5cHhuZ+rva+YeN7FyizKF096iXz5QxNQxFeKB4B8wnOcb5xiAPN5TpOWXha8abSIC0U7UAbcmsAXJZbMzrGr9MSov\/j+EfYn79PN8GKlet\/Or6j+3XooxbWSNJrDmmgvPGAGupd6BQnQoyqAm05NqRLASnxhcVOZpudwteK1INucm7KV1VS0h1vJvu1iiFZ3L6t\/G\/9\/BxJoZ\/CSS\/2wWdm3wAuiNacX6im0YGb66Bq4x6VCOOvBbUGHm1zjZKkDkx3pLEzBrCiuUHNFFvJ64y8a4Gxe4lp7ZNIg+gXCY2t\/LajmnAj+J+n9PKBLt36Ib8Oa2Yye2jEc6XJOGhE7cyTKV3rok3cXLvdLqQlB0Z8zv1bM3A5iPcLTNB2GaV1u0O9d70lpGJhafc\/s7NFm3buCX66IWlWdOVJ50AGoqH0LE1S3Whw\/iBnucyiJuVlRjPcXncIIQBzhjRNaEw9Mx\/bP9i5lnf2MQMDEqF4VM+Pg61BFTF0AlUKTCZi3gURJaA7hukDdhl5T3LlDz1+ltaefSa0oSIkPczpdwVAhS66JZCqeLlw2c4T630+I6iVeG1ZjzCE6JrZJG7y8g\/P7P9d25drTYWy96plbQOzpNABSWDojlrDvyvvtD4ifsoTUeRrujTOKtmEXeJ0LxjBcyyU16CG8B4ZrjxeQZ2DFQsH08XU1D+iSbmZTiCRfmjzH6wZhWfs\/JOh974oEyZ5C0r1mLZDFARKQYFfh85nH\/6F3E5HDsTbaaf4mmIRZ2dd3SxOFqHZriT7MTcq4kdoapGp18Lap9vIuTXKGygIZBqny\/GXSEgbBg4siEIWKDkgX5Qk9G2rNeBEGDNP\/NKlLvywN0BLYAAZ3Uxgv\/vAkknpvoCSREgu0j1giX6+8o8zxV+kuXjkjTZbI1VJDYr1Tl0\/DhKXe4u1hrJ2d8ZWoBC8ZwW131RoBBjHtBf79xBOrwzgSOv9xC3YXNHC+33jRfVHsIHerBxRpcsJMItw\/k5x0GWOl7r81vqnZieItPLAYrOG02b4bpNFh6YNUKUMeIrpfvJV5gSOlvir\/78GR751jxnTsoHpDBlqNgj9fig5YwviBnsCStZaaAEbgmfa69tJ2Ny2IxUbIUsbRDO2bCddeHCToH2jxYDlnt821cxJi5EoGI9j27mVFmHbbp2q\/kjCtJN8eWp67W4AykG9KBwiIeAGpEhklFZeEpO48Dr\/kqNyn38D\/EiJQqTEb7kDnRmKUZlMXsGk+fdzTY5\/9z6\/ONZvPn\/sFyenwwi4eQ9gK+J1\/wf+zJ9GfRsXnTBjvOAhWerxv\/NmEM83Vs4AAAAA==\",\r\n        \/\/ Urban Prod\r\n        \"urbanprod\": \"data:image\/webp;base64,UklGRmQNAABXRUJQVlA4WAoAAAAQAAAAnwAAnwAAQUxQSC4AAAABUBLJCkUIetA\/2lPYp07xiYgJiDk9YToE09Ew33\/vv\/ff++\/9NxYJpqNgOtZGVlA4IBANAAAQQQCdASqgAKAAPkkijUUioiET3aygKASEoA1i23\/o\/5FbBb5nj\/uWIMrqTljnDeYB+i3649YbzCfsX+4HtZfpL73f8l6hX9K\/z\/WLegB5sv\/T\/aj4K\/2u\/aP4B\/1j\/8XWAf\/\/iQ\/8r2zf238c\/QP8R+fftH5N\/1jcoPQ3+N\/ZX71\/bP2l\/s37hfIH9p8N\/i3\/J+oF+Pfyj+1\/ll+U\/H+AA\/KP6X\/ify680z+J\/Ir3W+sn+S\/Kr6AP5R\/Uf7h+ZH9l9qLw9PFPYC\/kH9H\/1f5Uf5L6X\/6z\/t\/5v8t\/cT+bf4z\/qe4N\/Kf6L\/rP7Z+73+S\/\/\/LEfs+pSJMOF8q3336YEEUavM\/K1+Xr\/anHMNZUy\/DkOr4mIAGzDuRHmyA5G75Jt7BU6jttuH6c7LmN6FD4awBbxMfmjHSocw41QCAdW1kM8afG5n+Xn+cfGjAtOzD0DzRdSYzLttWlE+lep7AGEGEpLWuK5W+bo7YduV4nWj0ZwUdiEWjP7ZamChTVOngaxDfXm5W3ePZchhdp7xJKIyCR7MGO5XdFml92K2TXnvMu+oyRuUn6yW53TbIrCN\/JP7q4K44ifv6Duqgw6dK5l\/+RYY1UHRsWYKE1E5KYkGCLrCug\/nnCnd4Oe2wMI6rfq5Q4TYKuSbQ78lDGAaUr\/MP4MDfWP87uDAKb4sitFvZXlIn2k0aFvlW+uJE3tSUAAP7\/wwpc\/\/h5kkPnWezs4v+ssKhnWkAAofDh+l7B8KuSIfnjKRTv\/\/+OCgDYJuHJyLHD2ICFbR0XYg+x+NnKyGXOC9gsme4jt9QAARfg8\/3t7zvnkintV35LCR5DJ6qDkgHKPLElzYS94UYFpYFowkLwJT6lnNpA0ztsF7ptP6m3izNKJqT8R\/1p+UIdqaCFXaljd5dlu3jLnP66aKKmOFHV6XUhwrTuCrP00zf9B4Tb0Kxrkg0qkpLz\/B97O1xwhXQs\/PdLBh9Dox\/9Q0UnG6TNAifDDgVaGAGXk81P+Qq3xFWEmWrOSlnWod3b4cQnOPkLVnW8TtW1xi2lgDnCqKERuZeeooHodWEcIlFoXEZ6HfFfMAujgQS36a29O6QDn6s0i90XfceB9XGHZPH+zpUhtULgI7aTTcvhfkcbtiuqHQwypYVT+iFP1j0LKe2b\/Hqn1YmKSr\/z8YeczbnhCEHJKK83+03xiTx1ravjCOCUWZAfK\/VG9HB57lnQTnBOyV6+XWidSgzv\/79SF6MS6KzNJEpB8InlMlQLoOxYofhvdw7K1i+\/hq1xY47uE8pI3D8v67XGzBSQfbZw+0XR9I3++6WZDFzNsf9Xsvyv\/m490GZUxXd+3cvdqCqmVB4dLO643ldq06Z0RaZFmJSSjuNY9ESVimd5d16cpQgxBO5D1TkayM5TxmF83FEd6XxofOkyLlutSPIQHW84seBta62Y7az3QRgUa5PB+7G7MB+Wnx7wqbTQ3Pa5ev9xCilOrzkyU+NT3RrbVwyB9xr8tOvIjFdForPVzjd3lG1zHMs59TAvHTz7YELchxDDzWwd7TuIqC4s+n3VE9dkEt+QwFLBrX7Ha7Re8oEkn6bIZryX0ww25ZZnz\/QhRjjxd5VWkuKV2v4Zg\/ra0thlkL5ioWAvOyZ1yL1HnZYe8OCKVpKdBdpLM75f3S9SZX78MuxHZ8dhUXtzUzQvnGl+SlbRFlHWBSj3f64UlO6Gez3r39yGeCzSAccUeYcltkYig6\/lSwBqkW3qPEIejX\/1mzze7RnTO0cnw4VELW7ztu5Kb4d6pr+GiIEWXbBhikjAfOk3syhba8Toed3SwCvMSr4fp0acxv6kPxl\/ZvzuvBo4RmAXT4spUD9CX5adtAkZdFni+FCQAzUYdxFowlDfKhxscWqOS85DZmnhdEapZWszB4RpoBwiQFVsGNiGinYoM4rPL3RkYuXF\/\/Hk0GvlOAbCeCiAZK4FPC2XiN\/Xsw00tEp1TOcY7oaJrX7RFOTbuV9+CbXuairbY3Qx0luugwSWneoo1+rNu9+PcM5aaxO59abEj+VYQRxucW2pX1ukq\/QOxHde1An+l6oM1pNGtcg\/djAHrd0v49hXyKWXkopDLwrO1Bk3\/tYv9UP2zCWgTTBKYstrx8B7MSaqJ7ictAuz55lXaRysBqSJoL7LpOXwqRqziWXDw8v\/vJyVzzqnwwf4O2JV47GpTvfSjghlHi\/Ke9zJ9dhIOMkjCXxHB\/yGmJVmOAWf4W5+TH1mMQ\/EfScb6MFnz9d0\/mvISbAjzqXi\/\/GmuQbB2iz46N2qhngZFA9Q0EHTBW7BWkRi7GqLhhUfG6gQCTtJN0RrK+0u7MnYKKW+jftF7ezYXmYpDdXxBEzWxQSw0sYg8HxRG4DVkSNQPMk2yy\/DPndv001JSNCZUQhYSB+Aj9RjnzG437DV6LYsl09u0DdDD\/3hlZLMNB\/tCczxyJ7+tafDPixHRUWB26WizR3CCEIyq5alOLSYoWVZLaTfbTL+y9clVHKNEmCEla61je6AnVdow6Mx2TrPRlEWA9nVjDoj6ryp2VP3szX9UnzeIKKsssmqNCMe7np6x\/Smvo6258D\/\/hl\/\/5oFAUU9sfz5H\/KCS7kwoaJbISVePsmfgj7Rc++Uy1vYrcQEGwVHvj\/HjNCJyZp6iQMgv4Lip92ajse\/fvtJQTsbUD6CknkaGs7V8TVf9UjzcF6YbTaorBgha7wIYaEl6kGfzJxzU+cCMuEJkaa4ez9He78\/Q00GJftzsTubED4NRVGzC\/rwsQKTTpNQX5ZwWJtW4u+g9I4qKwM2cPs3aNJk\/bxxDzBLTlJC0fTrtTj2WQWUC+RALHsw0asFCXqJFdUFF77L0Nv3BGrHvrxLVs7jzgjnk2R9WpHJb+BOogW3ncjfbW7ygBb4S+uOcg6qJD0Oi2Q2ncfp4XrOcK9yYpNSVuL3+YtMtZjhUW\/RNWjgEqzkmqAo7yTHxaToaLSXEJRXSD644\/OxLuwdcubHtpNF2Fhay+T\/tcR7ioXLwzXX10XOaI9Tc\/+LqsyWZxwBNnYyfh5+I3QUVn0IrmVP14ppko6Pg4Ia1Q+WN+Fkmknp2X+MK6MfNGhBbwZeQhTey74vC8TfljUR5aSRR\/1oAAruE1FacBXCYhdWIY7EZbpobtKhFp+GrYt1qaUuVCvdqEnkd\/9HSbrXpPfs7dyfxsyoM8l4R1r+xkLW8Ddv8luGpu7Y3P4EkPR2AxqPellyQcnkYINw\/K+cbniTfR5YKKbxEUJXf1PWdLIkvEBjmxKT\/TP+tZgpDi6XuR4IIh5G5TBEburaCuOgVyBO2pwLdX+fg8ud3yXBv\/rK+RFm6D\/ngxoP4\/vEOl8qQ7ci9rZi1hZLyuNYz3wlm9RZPIsbHd8oQtmjl+76S\/txtMhRqh4rcBqK96MHasLl7++WsP7IENmhXYjvbEo7G6RHztBmhs0XxUj\/ib6ylyoJP\/42Mn4XyZ\/0UN+FSfuJgkOEUwnyDn389myrfC\/oz81MjpRGZwy9WZaxizFAyIKi+HwvnyHNwQgMRiWdMw0GKfvQERiF2RvTXN+amit8ARBr7gY3p5rbr1KsdfaPPaBwH6kh9EiPbtI4Fth2nfntYYUzXHrCTUuk7xlDFLHNGloS3qcip\/\/6luQ2IYlQ4dUcwOtHruzcCQdBJ2Pz7Y9OD9U\/t6TXnQhh2wA\/6GjK6KhGq7IvxB\/QylvjJdfMaqW+R5xCipAiLiqTpzVyd2c5nEMIgvGh5J868R7z8LETWAuWg6qKJ4uyOATdtZ4d\/4weJH1y4lkWLa6lQaaq3I6rK9axMzTFibCA0gO0nHaLLxYk0Iy\/wEKRRQo4MSBBfyBIxj9Zi\/5iqgv9NsvzSBemFk93UNveduvFSlhEz02MHXGOyGmIJeVBYPcOaHigMYrO\/8T393\/QqnAaodvH7Pi7XrskWIN2ZcuChHhMz00VY8A+SXzXJ1odXZrxLQVWWwgEZFOmiUQVew0GLmCItoI4H\/+371P78dAoBDCX1+aC2kiJCUbKngx2KHsqPncf72ri8\/Qgwdp3pW3G\/3ruvqBxAZWdxKi3XepWyJmOGzSlGjafslwc\/HrDIz0qAuROC6\/sq6W23cKRfuFhFBUgcEcrUOIsJjG5J01eeJgDZjYC53oZcr5ZtiIP8ZEbxyWAP0F8rpnZHfz+hghThNs6ykfv3cSetUPWIJxso4kb5CZdHktFy17aSuzM9Dzf6eObUJnOnru\/N8c2ighY84YcAqBWPskK5bxk1zK+yEN+n6o4tEmyBjT21g7BQ58k8bYNmApwi3phR33e2gN3F\/kjqAKxkTIF9LCe\/7EV2dUSZmuguXppm3n6akDahT79yKK\/Jd7ksFTxqIjayk1V2k8cbJmCDyvJVRQB+ejttC63QDZIIkDAsqAAEPw7ZZ5xFy1MGEUA20wzhWszZGZKFifar6jedWAqbfYAEmDplQ5vwuXHDYu188+XKYAAAA==\",\r\n        \/\/ e-graine et Terravox\r\n        \"egraineetterravox\": \"data:image\/webp;base64,UklGRlAUAABXRUJQVlA4WAoAAAAQAAAAnwAAnwAAQUxQSG8HAAAB96WgbRum7fiz\/gdARChs2wbpmHcH+IWUfeDnXF\/M55HrK7WJch\/kUZH3c+FAQko4aCPJkbp65vI8f8Abn0FE\/ydAfw122F6rDRF8rmvuiaDNPfeM7Q73PfKEPaoJtnhCe+6J6+oBMQDOV1IFi3lL7tngBkv2RDce6QbINMMq9fOkfj0YrMLPtm2LG9vadp53lViyLMvcDPZkZmZKRzZ5hvP\/zJznzJhjZp5zYDOD7TbJqlLBfQbtlgWXKpvbFhETgP+XTJCSCkzY3Qhe2cpUWNylz57Hle88n6igiN0VAM9\/7XpeTPKtA3gC+tXX94tJ67nLIgn39o2ABYThW99DECC676gVEbQ\/1RQBQOGrukUkeN2rQRx\/6kLAwsHSG5s4npi7WELxbJ6njoOC9SoLBxeWMGy3huKxPDdUpcyiwWC9MZRzKJyl9UAcQioelRUMneWFg83F4Qa+eHQ7w2V50aBbbYHDeK+CgWAtxNASiiOPqZ6ChiqMJJ1zlDi3igJKlhfWzi013KC33e6CRYOsnvvMV862QwCKkiaGd5BmXrDwoY+9sQsIAHHiUDlmPIOV16wHEEAAEHiCCjJJM4won14JIRKjrjbi3MtL5IyqrLYgYuRE990dJb3dnV2v2VReKGPMc29YrFQbrUp6IRxkmjkMaiE4pmF71\/761\/uxny1BAAgTKQDE4PYffv2QnB1KARCTKxDp1V\/U3MzQoCdhwkXsb3QCzoi054nJFxtnl4PZMLifYCqFsNNytI+4s4cpJVBtBKB18o+hKQGEwHlZly\/7KQKgvqdpFFeJ6R4cBbRMR936tOGwBstTdKVp82dJmqW9TgnTLq4swO4BOjCwdLokq7RVC8DpY2spkVHRTp2EhfNBblTlLS2YqMr8kadF7GxAJoDzLobF7swabCTC9r6XPQw2m6AJIJuDvkGobzrBSIXusbeH7VMwk6zuxAatd+wAKtG2rKE73TBELr+dyhiEq040Azh12tGayiJMbV8qwZx5S6jwfJXGsNq0BMDKnDVoVIxZmLeG9bIxzY6jMdUQNIQozTsYWw1hq2sG1oSBMVmdthAOxvqqs8XicuEJaYuQeWsImgIkuT3GamCOtwb9FLJFkC2KBrBVmWBsPzbGp9Yo3jcGA28Mkj1jFNuzZUzeNyd\/kFKW+L6Mkb97CEOF7MgbAz3esQRIIsma3h1bor5gbXwtpyVxDGuVXzuADIliWQN\/7yEsjVKYq4MboiFpJnMQvxBBdmQe5ip\/+QEM9TBYD\/\/uaUfJGUS\/VaHMqP+tJ3Ogo16NZnT+sWsQ8scKzVi8ciczCMleAzKBaA6ejyzS4RysZPvJ3cwg5I2csgH1taOtzB66ZQ8z51+11Is9CFriqu8L7UB9403n50JKAI0gy6\/7KgwVgWj3wc0r17aj3HPqCIbNtz+3QUMAEYCirRv\/fv6x1zQRZFBdePW73jIHcwUCSO4\/H8SpB6eAIBhW5lYvbpxfq0M0B4AAAmtL9X6UixNGBqV6d\/3c+dWlZgkQCKtFVBaXqns9P1EMWqc3Lp9e7FQAQCBsF1277Z6InBSy+Y4PbnZDABAAYgYSjcqGxAkJlr7woQYAAcSMJEV+4v31HJwEJaxBwswVKmtnK5PA3isxQMxiob1WnoQ\/38SsJlCvOXBM5E9iaEY97bPMcTyo\/JqY6ToKMF4uXKFmGvoNjYU8fzjjiOVkLChtijBXnCSgEww0Bs5tQPZMuCrvW3bjOHWamFZNjXgSXHh9yJExeM08plMwVNXX10aH+mudpgMAx8AJA9ZbGDm7FzA9lrZaHBXdxkIhqJZHhnCjLBRAL4y8to5C2I80KjaXCwDReU3IUaHTKgQrKxi561QLANySF0fFVmn2EbVSXxh5JQBnnQK3k2FaBfAp0TIs7h340amfQaMSiGNFjJR2VLr3M4xhO8JIBRBQ0t\/fOzxKgvm10+WTGSkgDYJYY6A2a+BJRABI9h\/dv3dvez9K\/be+9\/0XMnv0lMODP6lEjDNtLAB8hgACQNbbuXf92sP9OPVewOHB7u58TVOh4XiCYwdX\/tEpEWP1D\/okdAwBKDt88vDOjbs7\/Sz3ggDASzizSU6GhiFGKUhClivLskF\/\/9ZOIyDGfPT8S++Yx7F+cLD78N6de7u9Qe4FYUih9s5FjFsgTij5TGnmsyzPsixPsyzPB3mWJFmSpnE86KvUKjmM3e\/94TWvX60FeXy4s\/1o6zBKcy8JJ6Vbuug0KgEgjs29T5I0SQZRHEdxHA\/SOEmTNEvzPPe5vLy8vJ4ZOBIT6I+CcrXkfJ6meS4vCKMNVxegUQgggDyN+keHvYPDw16v34\/TNMvzXF4SBAECIDwtPFuYVBHE0wKE0TNcrsKdSASQHu5sbz3e3tuL4izL5CVBAIRnC7MxCDNAGkIg1Nu+ff32g4M4yb0k4WlhNpOl7pmO47MIJFtXbuxVm94RAITZTzXaDcfj8t7tK\/fL9ZIjURw12IuifquEwdGTO1fydjkgUSiJ7ODWC80QSdSLk9ARBVT5AAQkobAK\/\/cUAFZQOCC6DAAAUDsAnQEqoACgAD5JII1EoqIhFPlN+CgEhLGAa2xUfkt+pkgux+TP9V0xPMA8QD1S+YD9a\/Sm9ZPoAf2n+7dZb6G3lp+zf+6HpTZo7\/S+zv+8\/kH4lfnv7z+VHrBZk+u7Mv9hvyf9u\/cL1c\/x\/hf6qPUC\/Gv5r\/i\/y7\/MjjuoL\/YI9ufp\/+A\/tn7qedTqg+AvYA\/Un\/mf2Pk7aAX9D\/tP\/f9lv+o\/8v+f9GH5t\/l\/\/H\/ovgO\/l39T\/4n+A\/ezjO\/17Qay5VgUkSTibdAzJZeQd1ZS1Qpjn8Syjiq5Z7DjzYHs3ow45cBYflEYwMX9op4MBVhc9YbNMCdCLAbiDmEkPVXOq7IOQZOITf6qckk6jzb2ridVP7lBoYAJosM6nqtZAJRKCZx7GPRDA7qmdGgh09xMikY\/5VVQrj+l+zOabVr2xdZSnf70Nm+zNhIx95gUZqPoobR8TMsTmlB8Thp\/yBjte5mGZ91Nk9VgZHnVC3vGz\/arG7RTEfIyTUzfc5PB65y3eMcS7v6RSZNpe5B6p0rNjxHz0rLiHtWGUIJ7z43nvv9bWb7deaIEOSKYUCuuL3rz+OX57R2gkHhLkJLYpmv0h5Zf1Vdv4k5GpsFkss\/DpWBWu4VlvPukvuNeskRrfLwAAP7+R4DNdNU+HqKrpB+Ihwm7jeYXy1pvT\/Q0Whk1Y\/9KpbNgw2XYdyAlBCVNFLxUTw7EnYSx4Cx77pHsqADCDAy5YXlwtA0G2W61cMuj++gNY5Z4Tf4N9UWb+20PXyreg0oJZwD\/9GTiR3HVXHZ7mO17oHwG8Sj0Da\/kYd7MTDFQU89n61+944Nr55LaxBy3D0QOIBVnTNM87HUAGkIUD9e659j0Df3\/Y40XX1j5Pw17+MCdur+eDGZGpl20kZ6FqjG2y2ow6066yOCvD5ONh0K6HB\/v9VUgfFwHkT8EVqGV+nqN9YL06Z7oidSuIEfdLw6TIgA4jHx0rdRWAvETujnRInZXZzxCtWX+ch3Vz+TbbwA4PC2rwLl9BHpAaxIwOOlvryjvcH0YSpbMjvbHJshhVr6nvQ2s+vfVG6jP0Mvrhqr\/+oQdRA5qPlmkun23ruQlRiI8eq\/yS7L87nP3AwYbliRsHutnmtpfUouTHJw\/3\/i+Ucdp1st2LHPDkeXRjWPr6nEPaO6Y0ViX91QtCLEc4H4hWU\/8gSg\/hee7MTdNFCHVsrA90v\/zPOAKUsNrIrLwwHUWv3y8h5uGWV\/2pX4K9asgxbeHRXROKdXCplXD4css+Kg0zKY\/xcZXbrseUAIYG5HKowym\/OcrjA0bB8kIMmG3rHb1wvjdykIKNWYjVwxNp\/JIrsbpXcASa+abyk+OmdNDrNcPj5Gwo\/eeAsi71VnRgpibU1pcfiWEI\/rFrjSCcLIcnWkDA1PPi6tpFgtbsVmA0Az0tsoiYO6jq65yU35vSzqdX6V9es\/VJdjyoD+5GfJNdDuP9VitV8HR4\/+vl+YEV79Tbf\/5ShkwXtEZnjnl68OemVxWChNLdBq7lV1ro59CwWgr\/X6B\/+SDkZlxGo1W45vzaRXgeWa+NRiWqYXO6+XUhPpFChbkS2z1U9aDq\/nR\/kRQ2\/lgmYQKGJcygjlcSzLMjZcFrOEBxWSDw8y38ybCGryRlJduh0fR5f36EW0nB+gAbDoP+HPFPMIZ9RSkRrIQHDEuUcyN0yF08VKpBp0+cjkhRw0KGNHUyhnovgv0blynTB0bWW0yv0Lyi\/8AySRcm9haRfDd51YIMg3r4CcEWj0t53xf8C\/GWrGFe09SmbafE1WbmlxeCgT08p\/d8WsLUgq2WMwLkbJlvulmoIfNhjmGCEunEKBjOOPrBNxlACVHQbC1FJCfcXqbKMONYsQ9JlrDeec41mRqL8iv5yp3vRgbcKl9KGP74V+gidx\/BTSPYogtck1pvchjm4ZP5wIdVqTPlem2qA1MJMfz+L1jMdwYQVVSnRV0ugE6XM7s5+17njj6W98txfwnoNTZvWZIMdXnbqQ3TwF5RllQRb4WQY5+hH0bCgwd9bC9LGHH0cbQPOdvaU3VTf0N5v9rHLddBjMm\/29h0w8acQ1gvlohOW13psZ0mEQUZtr\/Nv27jfbTIYLIFRLhNeyeCWP9FEbYhWQJktnefFG187cM0QiR1d9qDitJBvrVsUu2+UJBGCWOlgZP9XKvV7Dwup8cQcoKzoAXmDbUHGfnzE2mxD1ADloYBWbun84kZ47OP9mdx5+Fsd0Ljd0IjV7wmHrjxr4kfPigfomcZ+YZ38qwNt\/H3jE35Yx+IWGFZch8f4CgU79uJKwxypmKqgU6NOROuEmE4Mps\/2gibQ\/iAu27ANZ6nK9CKo9aWtzDJZywkkc+CtsIoHXyK9BkV9lJQkXzEqYfZ+eHWRBLHStIjE5VHHCQh4SsEsXHYxeJFan0hyclMTkmN7mVnvGfaUJmRfQ9hHPhfZv\/G2ihWpSGKAKaGCKem1WdBzBxxBPepBHa5298TXHQZx1mOzeuXH0hkeb1zAEjQ\/8pBhQlSEPby4Rz5OWP3nGoZAMFrhcfCT64E2mYv3YhP8UCnEQubcJX5GpaZCunttXi2W3KEjXqbhOJhfSV1NRv7P0+OpKV6F\/hsNqmztsRSiX6nFdcLMSI0TVOjnKdZl4ZRN2rYkl\/gmpmL7Zr\/ZX2uyjl5ZQ7Qlf4iA+f+VcldAsH96JbL9GYiUTGmpk\/jAEts0\/0SKLbyMmWsVOLRpy1tI5EgJipnn2n3Aka2LM+yCRogou+2gocsGut350uYJokx4Mo4FeWsGzZ5FNxtv5b\/L+volv753iXK6riEyFagCbk7ejZhF64VmMxvjxLcoZKMAvtIRjRLQ3+dj8kZ6D9jDysihlmgSf+n2HLC2Cgptd90sawE43QiXMbunIAMZKKcY8L01C9Afn+iVkKUk\/Qh3i9wt6JVXBwVKrxfk2hE23DmFLs+XaORBhzkCuSz8YEU3EIUzOl7quN5fYHMShDchFfQod837cjAQ0gs1GvCpWSfnaxCqV6mxZrtwwfGqK1P9GFtoSVbhETgpaaaT08jBfcqVTpyHrrTq\/ClI9zwOHLrH9ZWOjCZKbgQl+U\/6c67cYyIzlsO6kdDN1M9fCTL7AEgy+6vRJfRd6FHIadyZ84nmtaKxK+dydjdjv8SkBVPjYTXpvo2dK9mICmflB4S1dCDffFOkEeXlzWpm3bM+4tVc4qX9hW8GTXVb9eYvP2FrIhAXG4bWNpFW38WuM52gUsmv5tZT76cmdcP7vz+7I7eE7+vw8HL7hNS\/88TnbhVhwZ+RFzwAUia7L4DPYF7OvP2KeKP5vLbWwYbrg1\/ZWewk8OftAzxbRjeiQVxVmXoOcQfY+sCcFbk0h2wo\/NxCHjrdP7AS9fZMMyJHxmPMDO7AAuSbgtb16E3hkR5wUCfHWmnOuTxdwF1dBm\/f7WvKspmjVpWJIwWp3JY2KWIzIP59xz\/0Zk38coG\/jCq0KIJL6cF77WGsiaGkuw\/XtHoqgY8StFm1kPsiKYqG61+fw0etG68YlqPQXirk6uL+VSLhfXmHYIxZxse5pHmShR\/CN2VucsSwI1sBKAGrix7vT1z3aeRTeJoHiT76C6WNStq+y2xNlGjkxmAe5rNo+cx9RqbXcbK3G6z2euT5y+5\/GUQGJLCINhAc307ms3gZpPC5oCn5\/p1rQD6rM5UTPLhxOw6Zk5DyAdGy\/4JBuqT\/1VmS5jLr6CbGnVRJP2AVXEeZjSAgl92qEWBCAf\/Fk6IGwPti55rKWWy6n2A4G3NMaRg3XBufx977VHM2UhEMF20SZmaj\/XlOttuBRaxFVV2spLAOlMhy++NlH6nxSL3GuFd\/HBzCEgF2+QkQLNlBv4V1HYUFh5eRiz5naGg5yWtPP7NgMUdmrAse6pJc7A5p8oJkVBETuIFxg1G2dqFU3gSJmiNCMOcIfUT7y2af9qaMEYmk0u4JJ03ua5rJ37tqEblpo8bH8JLBujCxnk\/4zATdaKUtB9lcgInHNwsIFV9rWkjFfO1K4q9QK\/\/B9RDzsn2ZBx9SgH4VqqbPBh31nRRcwrb3ozmvHBu2KRzA+JJNXSD7Z1hXsKjsONtDvJQwZPqiFndwOnu+g65\/2DS30RPBfVJsCK8QpPKkL9RVhrgQVrWg6t+ZbSTJT2\/BKTGyIvwqdW0N28M4jpXPXPmqIIFMI3DNmMNTo92ILvDWqBRTVx7v7vU4uF\/UgzYfFdt2A16UBvcUocVLYon2aS58Q3yusXIoP0fJTvsK+IrnTc1II54ElKzVMh8xXjyGDz6TXggki5dkVb7ZOwTawz4CU5Tl47K5O2p0zf2kCsX4N\/w9EDp\/KuKwAgAAAA\",\r\n        \"egraine\": \"egraineetterravox\",\r\n        \/\/ \u00c9closion 13\r\n        \"eclosion13\": \"data:image\/webp;base64,UklGRjQaAABXRUJQVlA4WAoAAAAQAAAAnwAAnwAAQUxQSDgNAAAB\/6WgbRtmK3\/YZxdARChs2wbpmHdH5BeC+4DnqE\/zPqK+nqY+HxV5npMDhgCP2\/avU7Jt2\/79zQzMMMQAIoiAKIqKhM3Yncdpd3fredjdHUd5GNh1CIqHrdR8Y\/\/jfsFPmDnPq6+I\/k8A\/t\/\/\/x0yvupfCiGE6IRYS+b\/axAoHDl1+qjqvkX50aDwEL1LaZ6L1Je79NavW2oyLXR6aCslJZenuPS5bxOHewv4KHaRmkqTmakstp9cFISveY+pjDLkhUKk7qxD5NoA\/B2vKJUhD8aQusVSyTsx+H2SbSQP5CCFFzwmV8F\/q4nmUAypfBqZqMWPLFyXgVQu9lN\/L0aXtUTKCdxkoi0PXTgcSDGBBrabXuiklVk2bNqixYuW\/BSvzEvrFHqkpRTxJ9tYC89Zc659oWf5ZM\/AgDdUBFPJWbZzHbz2ukKSRkl3TZJfN0c8ibEidaxhOx\/Ao7WXNFIZejZaKbJjlhekz0wZlUwok+Mh\/QmVoq9GGZ4UHlBVmyJC37XkBrgH\/qKks1HSWWkbaRI85QX7I6nhDKX5EvBwkZKOWtGrVjYywSleck+nhH5Ukj\/BvZaSjop8d37ttLEjx0xZcewVqR2Magt5wIkhKUC8MMq0BN1Es9EOmlfLLLiLHsepbZT8h5ecRpH86qkkd8C9mop2xZno7FRqmzZPvODOxKQnXhutWeDhpnFQXIbOH6EiaWjCXmo\/Jb2BVIav4J6eoF3zBXzMoyZJxTIvFiuT3Q2jJDd5GEhlk4z7Id7TkJSMe8H1u0kuQxsqVnhYR0nSmESaH7hN7TDH01iGk9tMShqV7uE6NUnNu\/D1ustPnmKclNx+pdL8C+6i0UFxlz+\/ucz1FFC\/JrVQB43iRQ\/BDhqSkrN8EW9cxnnCExVMZuVUlNzhIUpDh2pfsoymQ39vZ9k7mc2npORCD\/nUNsUSXw5R2QyzvO3grGR2koqS0z0UU9k0i3xI20pNkobvhLe1PJTMHlF3op8T+eb5i86+lDS0S7MT3lfwThKzPtF0osLNV0Unxjqxiu+s5JUmHWb5YXTnDR0T3ItObmZLKHlFSFJytR++6wQfWp05TBVJXtk0pOIhD+VuWvqqSF4NoLO3yIzkFaMmNW976OXmt\/m9Cp0WTUktSkMafrbc8qhtmicmzpja6enj+kbgY1iRkeQVJg2pGXPLoKPkeHTZcmqdnryCrTbJcW6BVhqSinu6znKa74HkJd5Qk4rn3fDSQfN212kgG5HEf7UZtgbdzlORNGwLdpWoVryRzHZQkpQc7jaPkiQVK7vKPLZxazKLO2jediulcrrURUQjExyZzHKpSVKzwCXwlYYkNQu7xkAqw5xkJv6mIal40QVHjXIwrwJd4r5RfCOSGfYbSZKKRS7FdKDmvUgXqKJSZg+Sen8qB9PggjtG2ajZtiCjcyKUUVjowXqrtWJ5crM+0ZCk4gyXHpQO1CQf\/HNevKa6esjQMTOX7Tx24\/HfreRrDxuoDN+L5IaNlDajVI4TVjDhQKPop1EfLZcSKkquRpKPGm2j5gvLCaeYMDbSaCW9KqWNMYYZTqGPWtOYjGSHk1Q2Kp5zwX5SGpuvJiGLHcQdaioeRdLPoXag5HYX1H8hldSmE8ZoJRXJuMNpKlKbrOSHn6kcKLnBBaFlzSRplHTXho7fLo8J2k5Qkoq7kQJDrdo4UHKfC2D129Dwnd5l8+19k4uCsFvnKUmjW0KpAPWUTpS8EXKxB7JLa8bPnDVz1sThA4qyQwLu0YeUJCWHIzVepHKi5PtyL\/7XtFCRVDyLFBl8b7QTFbkt+KPCR0hNUvNdMFWgwCjjRKP5YYL4EYH5rVSGpFE6H6mzmtI4kYpsnBryKzzvPalI0khWIZVOoDIuNIpsOVgR7Fyo6mSCVIYkjeJopNbJ1NqFNIrkt0vzyqMBYRPBrIrFN9tJKkO71hyDVFtLKjfSKEX798YnDQ1P37TSrpShoyKrkXqL3lMaN5JGSWXoapRUhs5G8u+eSMVpl0nlxdFouzH0qsgLaUjRk9qoVSd8VJqtE5C6I4dJrYx\/RmnyUAQ\/UvT5+Xw1yv98+fbuYtGtIrk+AYUXSEpl\/DBKkTxfgB97luRKVNy5fFNyUHcq\/fg+6BfQY18LSSWVNm5GK6lItuzJx4\/umz9JzYZ9pJzQjRaRqtI\/IDj83DfajbJrQ\/u3M3VBdMU45wAQYgV7dZ8zbFkXwQ8Oli251JSga6Lp4qKyILroeNvoRDv3ovuWzrPQNUWksE\/lwPKCsEBXdsgcU3+9ZVB3CcWikWgsmi5sgZIRo0cPzg8A4WhUeMmojNdX58E5UDysPl7XOwwgLRq1HDL6jxpdWyAcAtFoyCEtmom4DUCMR7rJvDbaVaISwMwvdDwIPCRL3UKn6fhuhG2JpqOqAU6TcQBp5+jYVA1AvCS\/ZtqukeFaOQtCCDFZHe0evejeD5hG153AfZoSF9FARd1OkgOAQhqShuQA4KQxcUA8oaZuJ8lyIJgwCZ62XTEmPJrLsFF9aCWHdo85WjWW9yzsWVBoIdAmzfO6oqKSiiwb3QaznUsjoZJGqZ8BC7V6WJQZjcVyBXCSjAN1bOfCSFrZW6kfAIEWkibbRkZzVhWh77bj5\/cNQvecTe6Ba3+qRAZcPf1seAsA+lIxC2vIeXB3OmJ4BQAqqUwEwRa+eGoOOeWiu88mt7jNM\/wDvtwlZ9oCrYaVWKz1nVBnHpKTbKEOwz4IfudvC6izHGJJwFwrKy8r6xcGdpCHfBGvySE20UTGUcQOftlTZrmNgdVMVtrEO3IYgi18kfGFR5KGpON84Gdyuz\/NZLkND8mJwBbam1cEPHwgS2x4To6xvcNi6mxcTw7q8517d2831AH\/JLf61sfhgQOqfqf9VciHp+RY21sEW3koWXA3XHeRB\/xpIgc7vCbjsGfPf8p27nR7R\/a3iWZyhO2NwHqq8IEkscttEXnTW6kTGshJtsB3YyodALGK5jlwiowDT8i4Ldhq2M\/WJJDWynVbksEscodbFVVryFOxy1HDc7ZCKma7IId8K1zOGJ6w9aZipgvWsvmeSQJztX6cHbYLpKkEbxZGMqJ5ecDv2hztmZ+fl5+GUewwoy0RvafVGwGRlREOp0e2Gf0cLmPZoYdZIuuhVq+AgFOojdRJoB8lmZCyw5QAayhJZcg3wA520HEprGZKvv9LUTMOlFImZJtmB3cDx5WqB6wPlPz7L0XN4UDgq3otAKxlW8LkdjvspusQANvp\/NVC2gM6bwSyHtIxsQBAFV3vhoBL5AQAscd07JgLIEh+sYW+k8zofogNqKio6FucbwFAZv2ylStmV0UBoHBARUW\/3j1CAFA8bcXKhbXpACDyqmeuWLlyejEA5JSUpgGAKJ62YuWCmnTYe5UUwh4pKY3hP3LLBvyLk30ut2uNyADQe+7MWgBDNqwqEROXLClDcOzM6WH0W7U8VjN56MRxQO1wAD2WrSoIjgBgjZo1MweiPggxMq06PDgTqMtCbEIEGFqA4JC0yWOHTRsEIDiuF1CVg\/BwAJEpMyaK7DVz6lA0Nh2Z4\/IwNGzVpyOnAiNCgfoQ8vr7wTgQ4altC4FKrto+LMj9mxnb17Jxb8ZQHtpfvuwab+1FLtkXvXhu\/8ASCmC12bS7GIITUMEISy+fRjoLcF+dRohKxJh34DFP\/QPAatUs0L4YVbSAp693bk\/\/enPzVus+N+AcL4J1+byOhS\/Asj48ii1Nfsg6IFeHAWAEw0CaDOBb3bndEHhwAAACMgxs2rL4OPY+A9CnVQBHLkEA2HURWy9A5ff\/hEGfEXlX9kkEG59NTO8IoOIb7I2VD8vQNAv9OwTwaRgQYCmAhl2XrD\/23sTXgYXNjdkjb0MWVbx9nT7zvh9mOJDDR8\/igHWSLwsC5swx5hxpafhFPF8MAYQZA5pGVbTg2CUIlCUsYFvHvYchoO8XPBkDFlu0tpzG9OeBlhLRMux+2Zcg6toEgCymnd2Jd3NQqSzgWfO9tVb76ycr8W7YtREXxj7G90G9Xk4+MfZPsGhww9y9Mx75wUogpoNwtA42pcl14wtwZwOA59sAIF3lIMJXz5i++QGA8jYAR8\/Dbn0qeR+GLser6t9rcaXlTmKNMOH1N54HUd0CAJPM3Y\/P0DgH\/YwAmmeHAgH2BPAtf9\/HxeWv8WVQ4Vfx69XzUEUDmqyGq9f9aLs5ZVQeF40aDERmDjnzMp1RANeeDRsfmsVp00oQYS4WfwgEni8v5OIpFQVcPDtv\/afh8SwAZ5ruwmIlljW\/DwTZ1xrbGmFmkCaIYbS9WW\/lMHPD++q7dwAk6gHL7BlZF2J28S9ZfdqErikiKnkF7D1IoZ6+lB85t11MOnduLZBz6cGVHmJ3GEDOz6dO52DRnd9rENydjtkjgYGLMOb3uzOx4NyZytDO02fLAPQ8PABiRw7C+6cjZycQ2Jm9MYwJmwV6bAEg9kaBtcViy93DYQDrigBUnzq7N21TOoDsddiQl7EV2DgGu6K56yA2x\/34f\/\/\/91VWUDgg1gwAAFA3AJ0BKqAAoAA+SSKORKKiIZOKNXAoBISzBQtkPf7f4DrRsZeC\/rH7ge1TXv7d+LOL5K52Ifuft6+A\/\/A9gH57\/4XuAfqP+uHWH8wf8w\/rX7Se8n\/qP1V9yX9k\/z3sAf1T\/TetV\/tfYE\/uX+m9gD9c\/TT\/cv4NP7B\/v\/21+A79s\/\/l7AHoAcKX\/eO2\/\/c+JPkohp5Sxm5qtju1GpLLI7+3f8j2BP5R\/evRjzhvXXsFeWl7MvRJ\/cJl+5DNFr4hmbp82dcLK6ObNfEL6Q2QrR4C+7+6Lm3B3xoWE8rT7ZRvxizzxy2GnUye0Lp2l+nPgZXHAtAsx9tD6QY6vt8m7yCaldtCCpTOmgJiU92ea7NhBR\/tOAh2g1nthpvJi1KZcs3f8ihXKRmhgpHPSz7809ZvxZk\/qCoB8yyWea06z5k8fcyqfbA8JeUwJDp92kbymyuO0b+FnxvcgC9UyDOgF4Myt6HJr+IdtHfZsF74CWdEXcyWcEFNC2u0fsv\/R237\/RoQlUdIzOUPEgg7V7f8oea7kHHRp3cVAYhFiYBFXrSy3BJKhqLDb7yLhp2CtRSD+tlvxlYjbtv9EqyHsTrdMz2K4QAA\/v\/gEaAG6AseBqmjBWLXvs0c42m9nnZj7F4UI6YIpKmihnag7X8k92icP09iN4\/2Njo9ZKtOnzlY4nIzCm5zxw4W+A9FdJE0+DoAzuV2fAYKO7NUWzA9ARJE1pRufPijMKw0hhfbwDq+lZWLyp9mhUG91RPcl2iX8DhUSciJuoWeebfyB0LQ9q3GrtY\/mXa0nnwCyaIFc7rSw+337huunU+7wNRNvV\/5OANWcWwoTLPCY+95JWXUXCsnT\/QXUU9\/13zm\/jsH5QOxpG4zyZTX91Rt0k5my02cXOh\/whm9DwXHG9RqTKZvjCcxwwNMV45DAMSFK16xmHSZS7ze\/5Pj+vA7YB\/PWeR4Eswwri6ZgsK1iHASkgW6f3+bEUpFgbIqkq1efxEOYImIFOBim7exdkZrgNlUuEEohPrixdH8\/PzCaAU\/RYWFK6bkQDHYW1v7mEsFQUIwwWK5blujpHJzKnpAR2vQ66M\/QcKb6uy3ezKVK3SnND7kOvzZvEBJ6\/NpINYey83e7DzkSqJ+pO+zykLuNNtYnC\/xMJniazWAzPD8Or3mvebYekn2hiS1Hrz6t5gCev5Z8f5BpeLy\/2\/EBJ0VczyeI48qZe17WJT0VuYwLZTjIAkpBfI5T2FMc68kVYmes6CP3n+ZqMPJ+8XDtXKGRtJ0M56FRAxYuBP4DoycNDz+zDDQEEy\/MlhTHD0WwNYr8FRbcb4i3uZW1F0zr0vLiwGw99VA7yUI32WQMcWO+DbXNYXn\/DRQUoX7zLGt2BfhM0iK5bf767T3JLSR+Y9jeb7zftV60J8Yux+p6xzf2xxk3w33M8j6kJ7mx3UdDxYZwzCnKmGINczV9XyCxUHMQ\/pdI8wryt9ZFFT\/EakAkdVz1T8SOMHt9atxPvMHzmhSL7fLA9LMj5l0TypZvTBJmqHCq\/TeSqmnNKgyrYgDAXWkGEityriT+fD9hrXKDAwTz5TFQIWG1tJjQVWeZCe6rue4GfKOEsXg9\/ftBQED5\/z3hLtrlFrUVe28msJfPrXwIz0yf+eEgj69i0r780BS935K7UHFvOmVPeCUZrZid7svqE5UwprIkmIruENAPvuSpS2XbakjAhOI+qq1hL7\/CI4PR+l2V4cK34QbxlKZcXYdsUDl6QUoRVc2kcV9Pah0v\/ZYuo278ro2q5wPncqk\/MCFegxCf+Cz3PmhYiNcZzqqkJVKS7mhdh5lFOub2Dfd7MrqBGApYpV8O\/\/qoLl3JJNMYiiL2aYydDfnikWtX6a5Z1pbra6PZdQcEZbr1\/BWQZLy8BO3NZG9SHqEer8m1CXTR\/uzmdzsZ7QXItxmBGBA6JpUnBdLUWJ\/GFVg2kCQ1zKYJzSaQmYGBR7T0EbZgcduqjSz5H2ome2nJeZTt4sPshU6Tp1LSnI9GIEkDVVhoUx\/IF\/PQ2qmoUievnA5ElPjJNea4T\/RXXDfliTASnhABzY7Tv+SWpWEDt1dd6neaQwfSwkuhyY6FzUf74PGxNTzn2LSPQydVTT2fhIfl5h4XnoGxlLw4Ly9HmuiLMOEHbw3VLuN3VO84z0OAFCkRI4+ocEqyCdVpmb5vL8a2UeV8yPqPVMxNUA+MEjz2IA7aVcdzkOmot615q6fIg1PwcB5AyPDXMwE5gDTEL9HD0tO335eMXNDQKH56430XvkMPmkojPCUsYVCCmPnRZECFkXo7+kllDlQrkGfXmb+BmoRTfWgi9ld4dk3iK\/unNFJw0xAbz9tkL5lWXhLPS\/Dpqg9+4rHO8uNIj3mPesJVYKqFh9wH7w9SJ6M8\/H3fbTEbJlzlEJAnuDkSUCaT4oYYUq7SEwQwgVj865gqr2HJyVyKaS3OgS\/KA24FCbGoSFQxKNvdzM7cSvrzD4cUgDHNrsj3J9dBhIT9XHvL40Dij3qPTtWXgzAsKUhcGD510FbfYoOmnHh47FnzscHFpV3yGc5UcJJdu+MShHZBSMNxoLPzGpjK1EFKMGPNjx\/4TLQac+HomxCg\/irDQt0gNh+pklWtjqw2STIayc5Amr1g0SDMgRfhKZFMBYuHQ5O0aXLb0ZQQ1ej07mO8J3ffi2da6Ul+mqdIIQH\/tM6gdS\/aSdMorRVWwmBvySZUjfRXIhkzpbG0wga25J81InyBFeSzNKtiRFgK4kEzsZQZg26xcRp4gZ0eKuhjjOeHNE4kI6AwiIr97sSfCRZlRxNvGntHntxsmzF1ZHOYlHHOc54iM4WMc7FqzO1v7p4+4X5dxPu9IwLHm\/LE08BqUxpVAQVk0IMz1vrvj+G86o6y+XD7hxWEyy+071ghgHxpmPlEd5yTV7qczIR44NMTWijjsDG7+NFNziWLbjtn\/NuBMw0v+hrHg3Ah5VWEZeDSvS+TSb6J8fayq0DpRqbAO35wnZtXhx2Ej9rSlp7vKwpxEA65MBUEgwc\/p4Vx770WfvHw87FkWQqwGkcS47pvEP5EWH7rE19f96M7WkOnu1479KXHW0pCpvzwpRWF0eRicz5vG5C+Ft2z1v5hrQxRDRYHoWlWP1xIQNGWkCcS8JjQVk6Q+Ftg137M3MWl1bvWW+jJGcYphcvp36\/nnXVtVR+c6+bhHb+C1xIq5xb02lwU6iMa0z1VT\/XQTYKINkAemj6\/0rNusovDFgI\/4QY380IoLV92YXDtOe84rg3CoT4ua6RmIIMF2tirquRJKt8\/U+e9zrjv6eHxmdDRI49u0lwE93UozBR5ApUGV4RxBWt\/2hYpIDK0Ag+3l7LJyX0yn+Q71GRNdHO97\/7r1bgmWAqMGyccTb77p\/kQCDIaMhSSOksC9J5VNc1ffxFTsSzd0aanCslMKminT9SrwWaEPLaCC1mSkKPx1jidpcgyoWxLYk54knPQcxgUZodDDTQFFhBfAVqx+jAmA2l8UPIXFZ2+jLepKBYUKr3KjEZf2cANSfTp\/VyLMJyPa1rf3zVjpbo5u\/1VH1LpB8rSzuFPve84F9t1hBJez50p304Lv+oiGIeu4ULFkhrtzSwtQrRjmLMONI\/3as2Salo0zaWqq1f\/8jTzTkW8g1\/QyvRH\/id3cFC9GcGY2HdgOpzplJIIGL+2o8wZxxO1+T0Q44tattrpG8gY9sIvEEZw5Zsco\/qPCgHXeWa2p97S6tsdfmbvW2d2XR5MP54j73sl21hqBV8fFcJFtBYOuIEL0gET4YQmNdVbZKg+XX60Ron23XwH6J7b+K10zGb85ohJ6mBsBfkzu1b+4sfvnJppHDqkYyhT7Si2tsT0MsW6+sc2PYR0rPHiDAO0RQcTH6vNcXe1e7WE\/vp0hMtCL6cAfAOEI\/aLBnFPw426ZmqY6rmded2M3mRVlwTzvh4jZgl\/EWCxHUs8QNOy+YzvLi4\/XIx34x\/Vr74tvfU8clj+oBmEsbusPqCS28QwODZPBBqjuS6wLWYnZuQTUHUnO8ppGqw8WtqjDEXRcYL88bj3Wcj47RSnqzyHPY9vfN0yASAdpnv8zz0FPMQK4XsiHuIPQ+lcBTg9wgk\/58asXXtAabFltcDwLTd51x0AvIEYLDlp3hltQcCsXW+XPMVFouB6NNJLy6l+uau02GFMcSJl0iKty\/3fIq58+5X1lwfAUYd9jve+oKZMV+aHmgU1e1eoISNyGsDdANcb+8yzsi0PlXhoexoWh6WcLl+nJ65KF3wnYVCMEU2GmW7g0yeTL977RqxWnzbo6LoD3Ldxe0K3NWcuY73Ne7dgudT+cw6m1FXrI8RevqXxB7bu7z0Z5\/To\/yYK88TfWR58V0QeTSzkxSo7AAAAAAAAAA=\",\r\n        };\r\n\r\n        \/\/ Initiales de repli : deux lettres au plus, prises sur les mots qui\r\n        \/\/ nomment vraiment la structure. Un sigle d\u00e9j\u00e0 \u00e9crit en capitales\r\n        \/\/ (PAIS, ACT) se suffit \u00e0 lui-m\u00eame et n'est pas red\u00e9coup\u00e9.\r\n        var LOGO_VIDES = { \"de\":1, \"du\":1, \"des\":1, \"la\":1, \"le\":1, \"les\":1,\r\n            \"l\":1, \"d\":1, \"et\":1, \"en\":1, \"association\":1, \"asso\":1, \"cie\":1,\r\n            \"compagnie\":1, \"centre\":1, \"union\":1 };\r\n\r\n        function logoKey(nom){\r\n            return (nom || \"\").normalize(\"NFD\").replace(\/[\\u0300-\\u036f]\/g, \"\")\r\n                .toLowerCase().replace(\/[^a-z0-9]+\/g, \"\");\r\n        }\r\n        function logoSrc(nom){\r\n            var v = LOGOS[logoKey(nom)];\r\n            if (typeof v === \"string\" && v.slice(0, 5) !== \"data:\") v = LOGOS[v];\r\n            return (typeof v === \"string\" && v.slice(0, 5) === \"data:\") ? v : null;\r\n        }\r\n        function logoMonogramme(nom){\r\n            var brut = (nom || \"\").replace(\/[^A-Za-z\\u00C0-\\u024F]+\/g, \" \").trim();\r\n            if (!brut) return \"?\";\r\n            var sigle = brut.split(\" \")[0];\r\n            if (sigle.length > 1 && sigle === sigle.toUpperCase()) return sigle.slice(0, 2);\r\n            var mots = brut.split(\" \").filter(function(m){\r\n                return m.length > 1 && !LOGO_VIDES[m.toLowerCase()];\r\n            });\r\n            if (!mots.length) mots = brut.split(\" \");\r\n            \/\/ Toujours deux capitales : \u00ab La Caravelle \u00bb ne laisse qu'un mot\r\n            \/\/ utile, et un \u00ab C \u00bb seul dans la pastille p\u00e8se deux fois moins\r\n            \/\/ que les \u00ab AC \u00bb et \u00ab MU \u00bb de la fiche d'\u00e0 c\u00f4t\u00e9.\r\n            if (mots.length === 1) return mots[0].slice(0, 2).toUpperCase();\r\n            return mots.slice(0, 2).map(function(m){ return m.charAt(0).toUpperCase(); }).join(\"\");\r\n        }\r\n        \/\/ La pastille est toujours l\u00e0, avec ou sans logo : c'est elle qui tient\r\n        \/\/ l'alignement de la t\u00eate de fiche. Le logo identifie le porteur, d'o\u00f9\r\n        \/\/ le alt ; le monogramme, lui, ne dit rien de plus que le titre juste \u00e0\r\n        \/\/ c\u00f4t\u00e9, donc il est masqu\u00e9 aux lecteurs d'\u00e9cran.\r\n        function ficheLogoHTML(porteur){\r\n            var src = logoSrc(porteur);\r\n            if (src) {\r\n                \/\/ Pas de loading=\"lazy\" : l'image est d\u00e9j\u00e0 dans la page, il n'y\r\n                \/\/ a rien \u00e0 aller chercher, et diff\u00e9rer sa peinture ferait\r\n                \/\/ clignoter la pastille \u00e0 chaque ouverture de fiche.\r\n                return '<div class=\"detail-logo\"><img src=\"' + src + '\" alt=\"Logo '\r\n                    + escapeHTML(porteur) + '\" decoding=\"async\"><\\\/div>';\r\n            }\r\n            return '<div class=\"detail-logo detail-logo--mono\" aria-hidden=\"true\"><b>'\r\n                + escapeHTML(logoMonogramme(porteur)) + '<\\\/b><\\\/div>';\r\n        }\r\n\r\n        \/\/ ---- Les trois promesses, dans la fiche ----\r\n        \/\/ Elles \u00e9taient jusqu'ici dans un fichier \u00e0 part. Les poser ici,\r\n        \/\/ au-dessus des moyens, met la fiche dans l'ordre o\u00f9 on la raconte :\r\n        \/\/ ce que le projet est, ce qu'il promet, ce qu'il a co\u00fbt\u00e9 et d\u00e9ploy\u00e9,\r\n        \/\/ ce qu'il a produit, ce qui l'a frein\u00e9. Une promesse muette n'est pas\r\n        \/\/ cach\u00e9e : son absence est une information sur le r\u00e9cit du porteur,\r\n        \/\/ pas sur son action.\r\n        function fichePromessesHTML(p){\r\n            var lignes = PROMESSES.map(function(pr){\r\n                var muet = !p.docs[pr.key];\r\n                return '<li class=\"pr-item rev' + (muet ? ' is-none' : '') + '\"'\r\n                    + ' style=\"--pc:' + pr.color + ';--pc-text:' + pr.textColor + '\">'\r\n                    + '<p class=\"pr-head\"><span class=\"pr-dot\" aria-hidden=\"true\"><\\\/span>'\r\n                    + escapeHTML(pr.label) + '<\\\/p>'\r\n                    + '<p class=\"pr-phrase\">' + escapeHTML(pr.phrase) + '<\\\/p>'\r\n                    + (muet\r\n                        ? '<p class=\"detail-empty\">Non document\u00e9e par cette structure.<\\\/p>'\r\n                        : '<div class=\"pr-text detail-prose\">' + descriptionHTML(p[pr.key], false) + '<\\\/div>')\r\n                    + '<\\\/li>';\r\n            }).join(\"\");\r\n            return '<p class=\"pr-score\">' + p.score + ' promesse'\r\n                + (p.score > 1 ? 's' : '') + ' sur 3 racont\u00e9e'\r\n                + (p.score > 1 ? 's' : '') + ' par le porteur<\\\/p>'\r\n                + '<ul class=\"detail-promesses\">' + lignes + '<\\\/ul>';\r\n        }\r\n\r\n        function openDetail(d){\r\n            if (!detail.contains(document.activeElement)) detailReturnFocus = document.activeElement;\r\n            highlight(null);\r\n            var p = d.data.projet;\r\n            var pctNum = p.fisNum !== null && p.budgetNum > 0 ? p.fisNum \/ p.budgetNum * 100 : null;\r\n            var pct = pctNum === null ? \"Non renseign\u00e9e\" : Math.round(pctNum) + \" %\";\r\n            var html = '<div class=\"detail-toolbar\">'\r\n                + '<span class=\"detail-theme\"><span class=\"legend-dot\"><\\\/span>' + escapeHTML(d.data.themeLabel) + '<\\\/span>'\r\n                + '<div class=\"detail-controls\"><button class=\"detail-expand\" type=\"button\" aria-label=\"Agrandir la fiche\" aria-pressed=\"false\" title=\"Agrandir la fiche\">'\r\n                + '<svg viewBox=\"0 0 20 20\" width=\"15\" height=\"15\" fill=\"none\" aria-hidden=\"true\"><path d=\"M7 3H3v4m10-4h4v4M3 13v4h4m10-4v4h-4\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\\\/svg><\\\/button>'\r\n                + '<button class=\"detail-close\" type=\"button\" aria-label=\"Fermer la fiche\">&times;<\\\/button><\\\/div><\\\/div>'\r\n                + '<nav class=\"detail-nav\" aria-label=\"Rubriques de la fiche\">'\r\n                + '<button type=\"button\" data-section=\"fiche-moyens\" aria-current=\"location\">D\u00e9ploiement<\\\/button>'\r\n                + '<button type=\"button\" data-section=\"fiche-projet\">Le projet<\\\/button>'\r\n                + '<button type=\"button\" data-section=\"fiche-promesses\">Promesses<\\\/button>'\r\n                + '<button type=\"button\" data-section=\"fiche-impact\">Impacts<\\\/button>'\r\n                + '<button type=\"button\" data-section=\"fiche-freins\">Freins<\\\/button><\\\/nav>'\r\n                + '<div class=\"detail-body\" tabindex=\"0\" aria-label=\"Contenu de la fiche\">'\r\n                + '<header class=\"detail-hero\"><p class=\"detail-eyebrow\">Fiche projet <span>FIS \u00b7 2025<\\\/span><\\\/p>'\r\n                + '<div class=\"detail-ident\">' + ficheLogoHTML(p.porteur || p.projet)\r\n                + '<div class=\"detail-ident-text\">'\r\n                + '<h2 class=\"detail-title\" id=\"detail-project-title\">' + escapeHTML(p.porteur || p.projet) + '<\\\/h2>'\r\n                + '<p class=\"detail-project-name\">' + escapeHTML(p.projet) + '<\\\/p>'\r\n                + '<\\\/div><\\\/div>'\r\n                + (!isNR(p.territoire) ? '<p class=\"detail-territory\"><svg width=\"15\" height=\"18\" viewBox=\"0 0 20 24\" fill=\"none\" aria-hidden=\"true\"><path d=\"M17 9c0 5-7 12-7 12S3 14 3 9a7 7 0 1 1 14 0Z\" stroke=\"currentColor\" stroke-width=\"1.5\"\/><circle cx=\"10\" cy=\"9\" r=\"2.3\" stroke=\"currentColor\" stroke-width=\"1.5\"\/><\\\/svg><span>' + escapeHTML(p.territoire) + '<\\\/span><\\\/p>' : '')\r\n                + ((p.sousThemes && p.sousThemes.length)\r\n                    ? '<details class=\"detail-topics\"><summary>Sous-th\u00e9matiques <span>' + p.sousThemes.length + '<\\\/span><\\\/summary><ul>'\r\n                        + p.sousThemes.map(function(topic){return '<li>' + escapeHTML(topic) + '<\\\/li>';}).join('') + '<\\\/ul><\\\/details>' : '')\r\n                + '<\\\/header>'\r\n                + '<section class=\"detail-section is-lead\" id=\"fiche-moyens\" tabindex=\"-1\" aria-label=\"Financement et d\u00e9ploiement\">'\r\n                + sectionHeading(\"01\", \"Financement & d\u00e9ploiement\")\r\n                + '<div class=\"fin-card\">'\r\n                + jaugeHTML(pctNum, PART_MEDIANE, d.data.themeLabel)\r\n                + budgetHTML(p)\r\n                + '<\\\/div>'\r\n                + personnesHTML(p)\r\n                + '<div class=\"detail-bubbles\">'\r\n                + bulle(p.actions, \"Actions & \u00e9v\u00e9nements\", isNR(p.actions))\r\n                + bulle(p.nbPartenaires, \"Partenaires mobilis\u00e9s\", isNR(p.nbPartenaires))\r\n                + '<\\\/div><\\\/section>'\r\n                + '<section class=\"detail-section\" id=\"fiche-projet\" tabindex=\"-1\" aria-label=\"Le projet\">'\r\n                + sectionHeading(\"02\", \"Le projet\")\r\n                + '<div class=\"detail-prose detail-summary\">' + descriptionHTML(p.resume, false) + '<\\\/div><\\\/section>'\r\n                + '<section class=\"detail-section\" id=\"fiche-promesses\" tabindex=\"-1\" aria-label=\"Les trois promesses du fonds\">'\r\n                + sectionHeading(\"03\", \"Les trois promesses\")\r\n                + '<p class=\"detail-section-intro\">Am\u00e9liorer, \u00e9manciper, r\u00e9v\u00e9ler : les trois promesses du fonds, telles que cette structure les raconte dans son rapport.<\\\/p>'\r\n                + fichePromessesHTML(p) + '<\\\/section>'\r\n                + '<section class=\"detail-section\" id=\"fiche-impact\" tabindex=\"-1\" aria-label=\"Impacts document\u00e9s\">'\r\n                + sectionHeading(\"04\", \"Impacts document\u00e9s\")\r\n                + '<p class=\"detail-section-intro\">Les dimensions renseign\u00e9es d\u00e9crivent les effets rapport\u00e9s par le porteur. Leur nombre ne constitue pas une note de performance.<\\\/p>'\r\n                + ficheFloraHTML(p) + '<\\\/section>'\r\n                + '<section class=\"detail-section\" id=\"fiche-freins\" tabindex=\"-1\" aria-label=\"Freins rencontr\u00e9s\">'\r\n                + sectionHeading(\"05\", \"Freins rencontr\u00e9s\") + ficheFreinsHTML(p) + '<\\\/section>'\r\n                + '<footer class=\"detail-confid\"><strong>\u00c0 propos de cette fiche<\\\/strong><p>' + CONFID_TEXTE + '<\\\/p>'\r\n                + '<p class=\"detail-data-note\">Une information non renseign\u00e9e ne signifie pas une absence d\u2019action ou d\u2019impact.<\\\/p><\\\/footer><\\\/div>';\r\n\r\n            pathSel.classed(\"is-selected\", function(n){ return n === d; });\r\n            detail.style.setProperty(\"--theme-color\", d.data.themeColor);\r\n            detail.style.setProperty(\"--theme-color-text\", d.data.themeColorText);\r\n            clearTimeout(detailClearTimer);\r\n            detail.classList.remove(\"is-expanded\");\r\n            detail.innerHTML = html;\r\n            detail.inert = false;\r\n            detail.setAttribute(\"aria-hidden\", \"false\");\r\n            detail.classList.add(\"is-open\");\r\n            var detailBody = detail.querySelector(\".detail-body\");\r\n            detailBody.scrollTop = 0;\r\n            armeApparitions(detailBody);\r\n            detail.querySelector(\".detail-expand\").addEventListener(\"click\", function(){\r\n                var expanded = detail.classList.toggle(\"is-expanded\");\r\n                this.setAttribute(\"aria-pressed\", expanded ? \"true\" : \"false\");\r\n                this.setAttribute(\"aria-label\", expanded ? \"R\u00e9duire la fiche\" : \"Agrandir la fiche\");\r\n                this.title = expanded ? \"R\u00e9duire la fiche\" : \"Agrandir la fiche\";\r\n                recaleDisque();\r\n            });\r\n            var sectionButtons = detail.querySelectorAll(\".detail-nav button\");\r\n            sectionButtons.forEach(function(btn){\r\n                btn.addEventListener(\"click\", function(){\r\n                    var section = detail.querySelector(\"#\" + this.dataset.section);\r\n                    detailBody.scrollTo({top:section.offsetTop - 20, behavior:reducedMotion.matches ? \"auto\" : \"smooth\"});\r\n                });\r\n            });\r\n            function updateDetailNavigation(){\r\n                var active = \"fiche-moyens\";\r\n                detail.querySelectorAll(\".detail-section\").forEach(function(section){\r\n                    if (section.offsetTop <= detailBody.scrollTop + 80) active = section.id;\r\n                });\r\n                if (detailBody.scrollHeight - detailBody.clientHeight - detailBody.scrollTop < 8) active = \"fiche-freins\";\r\n                sectionButtons.forEach(function(btn){\r\n                    if (btn.dataset.section === active) btn.setAttribute(\"aria-current\", \"location\");\r\n                    else btn.removeAttribute(\"aria-current\");\r\n                });\r\n            }\r\n            detailBody.addEventListener(\"scroll\", updateDetailNavigation, {passive:true});\r\n            updateDetailNavigation();\r\n            detail.querySelector(\".detail-close\").addEventListener(\"click\", closeDetail);\r\n            detail.querySelector(\".detail-close\").focus({preventScroll:true});\r\n            \/\/ Volets d\u00e9pliants (empreinte et freins) : un seul ouvert \u00e0 la fois\r\n            \/\/ dans toute la fiche, sinon elle devient un mur de texte au\r\n            \/\/ troisi\u00e8me clic. Seuls les boutons sont d\u00e9pliants ; les familles\r\n            \/\/ de freins sont des span statiques et restent hors du jeu.\r\n            var volets = detail.querySelectorAll(\"button.fl-line\");\r\n            volets.forEach(function(btn, index){\r\n                var content = btn.parentNode.querySelector(\".fl-text\");\r\n                if (content){\r\n                    content.id = \"fiche-rubrique-\" + index;\r\n                    btn.setAttribute(\"aria-controls\", content.id);\r\n                }\r\n                btn.addEventListener(\"click\", function(){\r\n                    var open = btn.getAttribute(\"aria-expanded\") === \"true\";\r\n                    volets.forEach(function(o){\r\n                        o.setAttribute(\"aria-expanded\", \"false\");\r\n                        var state = o.querySelector(\".fl-state\");\r\n                        if (state && !o.disabled) state.textContent = \"Lire\";\r\n                        var t = o.parentNode.querySelector(\".fl-text\");\r\n                        if (t) t.hidden = true;\r\n                    });\r\n                    var mien = btn.parentNode.querySelector(\".fl-text\");\r\n                    if (!open && mien){\r\n                        btn.setAttribute(\"aria-expanded\", \"true\");\r\n                        var state = btn.querySelector(\".fl-state\");\r\n                        if (state) state.textContent = \"Refermer\";\r\n                        mien.hidden = false;\r\n                    }\r\n                });\r\n            });\r\n            requestAnimationFrame(recaleDisque);\r\n        }\r\n\r\n        var CONFID_TEXTE = \"Confidentialit\u00e9 : cette fiche pr\u00e9sente une description synth\u00e9tique du projet (th\u00e9matique, objectif, public). Les modalit\u00e9s pr\u00e9cises de mise en \u0153uvre et toute donn\u00e9e permettant d'identifier des personnes en sont volontairement exclues.\";\r\n\r\n        function stat(value, label, empty){\r\n            return '<div class=\"detail-stat' + (empty ? ' is-empty' : '') + '\"><span>' + escapeHTML(label) + '<\\\/span><b>' + escapeHTML(value) + '<\\\/b><\\\/div>';\r\n        }\r\n        \/\/ Les moyens ouvrent la fiche : avant de lire le projet, on voit ce\r\n        \/\/ qu'il a re\u00e7u, ce qu'il a co\u00fbt\u00e9 et ce qu'il a d\u00e9ploy\u00e9. Sous forme de\r\n        \/\/ bulles, la ligne se parcourt d'un coup d'oeil et accepte aussi bien\r\n        \/\/ un montant qu'une phrase courte. Un champ vide reste une bulle :\r\n        \/\/ son silence fait partie de ce que dit la fiche.\r\n        function bulle(value, label, empty, fort){\r\n            var v = String(value == null ? \"\" : value).replace(\/\\s*\\n+\\s*\/g, \" \u00b7 \").replace(\/\\s+\/g, \" \").trim();\r\n            var longue = v.length > 34;\r\n            return '<div class=\"detail-bubble rev' + (empty ? ' is-empty' : '') + (fort ? ' is-key' : '')\r\n                + (longue ? ' is-long' : '') + '\"'\r\n                + (longue ? ' title=\"' + escapeHTML(v) + '\"' : '') + '>'\r\n                + '<span class=\"db-key\">' + escapeHTML(label) + '<\\\/span>'\r\n                + '<b class=\"db-val\">' + escapeHTML(empty ? \"Non renseign\u00e9\" : v) + '<\\\/b><\\\/div>';\r\n        }\r\n        \/\/ ---- Apparition au d\u00e9filement ----\r\n        \/\/ Les jauges se remplissent quand elles entrent dans le champ, pas \u00e0\r\n        \/\/ l'ouverture de la fiche : une barre qui s'est anim\u00e9e trois \u00e9crans\r\n        \/\/ plus bas n'a \u00e9t\u00e9 vue par personne. L'observateur est recr\u00e9\u00e9 \u00e0 chaque\r\n        \/\/ fiche puisque le corps est r\u00e9\u00e9crit. Sans IntersectionObserver, ou si\r\n        \/\/ la personne demande moins de mouvement, la classe n'est jamais\r\n        \/\/ pos\u00e9e : tout s'affiche d'embl\u00e9e, immobile \u2014 rien ne d\u00e9pend de\r\n        \/\/ l'animation pour \u00eatre lisible.\r\n        var revealObs = null;\r\n        function armeApparitions(body){\r\n            if (revealObs){ revealObs.disconnect(); revealObs = null; }\r\n            body.classList.remove(\"js-reveal\");\r\n            if (!(\"IntersectionObserver\" in window) || reducedMotion.matches) return;\r\n            var cibles = body.querySelectorAll(\".rev\");\r\n            if (!cibles.length) return;\r\n            body.classList.add(\"js-reveal\");\r\n            revealObs = new IntersectionObserver(function(entrees){\r\n                entrees.forEach(function(e){\r\n                    if (!e.isIntersecting) return;\r\n                    e.target.classList.add(\"is-in\");\r\n                    revealObs.unobserve(e.target);\r\n                });\r\n            }, { root: body, rootMargin: \"0px 0px -6% 0px\", threshold: 0.12 });\r\n            cibles.forEach(function(c){ revealObs.observe(c); });\r\n        }\r\n\r\n        var detailClearTimer, detailReturnFocus;\r\n        function closeDetail(){\r\n            var etaitOuverte = detail.classList.contains(\"is-open\");\r\n            var restoreFocus = detail.contains(document.activeElement);\r\n            if (pathSel) pathSel.classed(\"is-selected\", false);\r\n            document.querySelectorAll(\"#reu-roue-wp .fg-card.is-selected\").forEach(function(o){\r\n                o.classList.remove(\"is-selected\");\r\n            });\r\n            detail.inert = true;\r\n            detail.setAttribute(\"aria-hidden\", \"true\");\r\n            detail.classList.remove(\"is-open\");\r\n            if (restoreFocus){\r\n                var returnTo = detailReturnFocus && detailReturnFocus.isConnected && detailReturnFocus !== document.body\r\n                    ? detailReturnFocus : (isFleurs() ? document.querySelector('.toggle-btn.active') : centerGroup.select(\"circle\").node());\r\n                if (returnTo) returnTo.focus({preventScroll:true});\r\n            }\r\n            clearTimeout(detailClearTimer);\r\n            detailClearTimer = setTimeout(function(){ if (!detail.classList.contains(\"is-open\")) detail.innerHTML = \"\"; }, motion(480));\r\n            \/\/ Seule la fermeture d'une fiche R\u00c9ELLEMENT ouverte rend de la\r\n            \/\/ largeur au disque. Or on passe ici \u00e0 chaque clic sur une\r\n            \/\/ th\u00e9matique, fiche ouverte ou non : redessiner \u00e0 chaque fois\r\n            \/\/ relan\u00e7ait une remise en page compl\u00e8te une image apr\u00e8s le d\u00e9but du\r\n            \/\/ zoom, en pleine animation.\r\n            if (etaitOuverte) requestAnimationFrame(recaleDisque);\r\n        }\r\n\r\n        \/\/ Redessine sans animation apr\u00e8s un changement de largeur utile.\r\n        \/\/ paintLabel doit \u00eatre rappel\u00e9 ici : ouvrir\/fermer la fiche change la\r\n        \/\/ largeur du disque (donc l'\u00e9paisseur des anneaux), et un libell\u00e9\r\n        \/\/ mesur\u00e9 pour l'ancienne taille d\u00e9borde de son arc \u00e0 la nouvelle.\r\n        \/\/ ---- Le disque se range, il ne saute pas -------------------------\r\n        \/\/ Quand la fiche s'ouvre, le disque doit gagner sa nouvelle place en\r\n        \/\/ glissant : on mesure la cible, on revient \u00e0 l'\u00e9tat d'avant, et on\r\n        \/\/ interpole rayon et centre. Le texte, lui, ne voyage jamais : les\r\n        \/\/ libell\u00e9s s'\u00e9teignent au d\u00e9part et se reposent \u00e0 l'arriv\u00e9e, sur une\r\n        \/\/ g\u00e9om\u00e9trie immobile \u2014 c'est la m\u00eame r\u00e8gle que pour le zoom.\r\n        var recaleTimer = null;\r\n        function recaleDisque(){\r\n            clearTimeout(recaleTimer);\r\n            glisseDisque();\r\n            \/\/ La fiche entre en glissant et son \u00e9largissement dure 0,4 s : la\r\n            \/\/ mesure prise \u00e0 la premi\u00e8re image porte encore sur une position\r\n            \/\/ de passage. On repasse donc une fois qu'elle est pos\u00e9e.\r\n            recaleTimer = setTimeout(glisseDisque, motion(700) + 40);\r\n        }\r\n\r\n        function glisseDisque(){\r\n            if (!pathSel) return;\r\n            var depart = { radius: radius, innerR: innerR, label: LABEL_MAX, cx: gCx, cy: gCy };\r\n            computeSize();\r\n            var cible = { radius: radius, innerR: innerR, label: LABEL_MAX, cx: gCx, cy: gCy };\r\n            var ecart = Math.abs(cible.radius - depart.radius) + Math.abs(cible.cx - depart.cx)\r\n                + Math.abs(cible.cy - depart.cy);\r\n            \/\/ Rien n'a boug\u00e9, ou le mouvement est d\u00e9sactiv\u00e9 : on pose, point.\r\n            if (ecart < 1 || reducedMotion.matches){ redrawStatic(); return; }\r\n\r\n            var zoomEnCours = g.classed(\"is-moving\");\r\n            var pose = function(e){ radius = e.radius; innerR = e.innerR; LABEL_MAX = e.label;\r\n                g.attr(\"transform\", \"translate(\" + e.cx + \",\" + e.cy + \")\"); gCx = e.cx; gCy = e.cy; };\r\n            pose(depart);\r\n\r\n            \/\/ Pendant le trajet : pas de libell\u00e9s, pas d'ornements. Ils\r\n            \/\/ reviennent en fondu une fois le disque arr\u00eat\u00e9.\r\n            labelsGroup.interrupt(\"recale\").transition(\"recale\")\r\n                .duration(motion(170)).attr(\"opacity\", 0);\r\n            if (centerLabel) centerLabel.interrupt(\"recale\").transition(\"recale\")\r\n                .duration(motion(170)).attr(\"opacity\", 0);\r\n            ornamentGroup.interrupt(\"recale\").transition(\"recale\")\r\n                .duration(motion(170)).attr(\"opacity\", 0);\r\n            if (!zoomEnCours) g.classed(\"is-moving\", true);\r\n\r\n            var i = d3.interpolate(depart, cible);\r\n            svg.interrupt(\"recale\").transition(\"recale\")\r\n                .duration(motion(620)).ease(d3.easeCubicInOut)\r\n                .tween(\"recale\", function(){\r\n                    return function(t){\r\n                        pose(i(t));\r\n                        \/\/ Si un zoom tourne en m\u00eame temps, c'est lui qui\r\n                        \/\/ redessine les arcs image par image, sur le rayon\r\n                        \/\/ qu'on vient de poser : inutile d'y repasser.\r\n                        if (!zoomEnCours) pathSel.attr(\"d\", function(d){ return arc(d.current); });\r\n                        centerGroup.select(\"circle\").attr(\"r\", innerR - 8);\r\n                    };\r\n                })\r\n                .on(\"end\", function(){\r\n                    pose(cible);\r\n                    if (!zoomEnCours) g.classed(\"is-moving\", false);\r\n                    drawOrnaments();\r\n                    redrawStatic();\r\n                    labelsGroup.transition(\"recale\").duration(motion(300)).attr(\"opacity\", 1);\r\n                    if (centerLabel) centerLabel.transition(\"recale\").duration(motion(300)).attr(\"opacity\", 1);\r\n                    ornamentGroup.transition(\"recale\").duration(motion(400)).attr(\"opacity\", 1);\r\n                })\r\n                .on(\"interrupt\", function(){\r\n                    labelsGroup.attr(\"opacity\", 1);\r\n                    if (centerLabel) centerLabel.attr(\"opacity\", 1);\r\n                    ornamentGroup.attr(\"opacity\", 1);\r\n                });\r\n        }\r\n\r\n        function redrawStatic(){\r\n            pathSel.attr(\"d\", function(d){ return arc(d.current); });\r\n            centerGroup.select(\"circle\").attr(\"r\", innerR - 8);\r\n            drawRoseGrid();\r\n            updateCenterLabel();\r\n            \/\/ Si un zoom est en cours, la roue se redessine d\u00e9j\u00e0 image par\r\n            \/\/ image et c'est end.solde qui remettra les libell\u00e9s en page \u00e0\r\n            \/\/ l'arriv\u00e9e, \u00e0 la bonne taille. Les recalculer ici les mesurerait\r\n            \/\/ sur une g\u00e9om\u00e9trie de passage et, pour ceux qui sont en train de\r\n            \/\/ quitter le champ, les viderait au milieu de leur fondu.\r\n            if (g.classed(\"is-moving\")) return;\r\n            \/\/ Le coeur s'\u00e9teint le temps d'un zoom : si l'on redimensionne ou\r\n            \/\/ change de vue entre-temps, personne d'autre ne le rallumerait.\r\n            if (centerLabel) centerLabel.interrupt(\"centre\").attr(\"opacity\", 1);\r\n            labelSel.call(paintLabel)\r\n                .attr(\"transform\", function(d){ return labelTransform(d.current, d); })\r\n                .attr(\"opacity\", function(d){ return labelFits(d, d.current) ? 1 : 0; });\r\n        }\r\n\r\n        \/\/ ============ 9. L\u00c9GENDE + KPI ============\r\n        function renderLegend(){\r\n            var list = document.getElementById(\"legend-list\");\r\n            var radar = isRadar();\r\n            \/\/ Freins et Fleurs se filtrent par th\u00e9matique, la roue s'y zoome :\r\n            \/\/ la l\u00e9gende change de r\u00f4le, d'o\u00f9 les deux drapeaux distincts.\r\n            var filtre = isScoped();\r\n            var ttl = document.querySelector(\"#reu-roue-wp .legend-title\");\r\n            if (ttl) ttl.textContent = filtre ? \"Filtrer par th\u00e9matique\" : \"Th\u00e9matiques\";\r\n            \/\/ En mode filtre, une entr\u00e9e explicite pour tout remontrer. Le\r\n            \/\/ seul moyen de lever le filtre \u00e9tait de recliquer la th\u00e9matique\r\n            \/\/ d\u00e9j\u00e0 choisie : invisible dans une liste, impossible \u00e0 deviner\r\n            \/\/ dans un menu repli\u00e9.\r\n            var tout = filtre\r\n                ? '<li><button class=\"legend-item legend-all' + (radarScope ? '' : ' is-on')\r\n                    + '\" type=\"button\" data-theme=\"\">Toutes les th\u00e9matiques<\\\/button><\\\/li>'\r\n                : '';\r\n            list.innerHTML = tout + THEMES.map(function(t){\r\n                var projs = byTheme.get(t.key) || [];\r\n                \/\/ Sur l'onglet Freins, le compteur devient \u00ab projets avec frein \u00bb.\r\n                var n = radar\r\n                    ? projs.filter(function(p){ return p.freinSet.length > 0; }).length\r\n                    : projs.filter(function(p){ return documented(p); }).length;\r\n                var active = filtre && radarScope === t.key;\r\n                return '<li><button class=\"legend-item' + (active ? ' is-on' : '') + '\" type=\"button\" data-theme=\"' + escapeHTML(t.key) + '\"'\r\n                    + ' title=\"' + n + ' projet(s) sur ' + projs.length\r\n                    + (radar ? ' documentent un frein' : ' renseignent au moins une dimension d\u2019impact') + '\">'\r\n                    + '<span class=\"legend-dot\" style=\"--dot-color:' + t.color + '\"><\\\/span>'\r\n                    + escapeHTML(t.label)\r\n                    + '<span class=\"legend-count\">' + n + '\/' + projs.length + '<\\\/span><\\\/button><\\\/li>';\r\n            }).join(\"\");\r\n\r\n            \/\/ Le d\u00e9clencheur du menu porte la s\u00e9lection courante : repli\u00e9, il\r\n            \/\/ doit \u00e0 lui seul dire ce qui est affich\u00e9.\r\n            var trig = document.getElementById(\"legend-trigger\");\r\n            if (trig){\r\n                var choisi = radarScope\r\n                    ? THEMES.filter(function(t){ return t.key === radarScope; })[0]\r\n                    : null;\r\n                trig.innerHTML = (choisi\r\n                        ? '<span class=\"legend-dot\" style=\"--dot-color:' + choisi.color + '\"><\\\/span>'\r\n                            + escapeHTML(choisi.label)\r\n                        : 'Toutes les th\u00e9matiques')\r\n                    + '<span class=\"legend-caret\" aria-hidden=\"true\">'\r\n                    + '<svg viewBox=\"0 0 10 6\" width=\"10\" height=\"6\"><path d=\"M1 1l4 4 4-4\" fill=\"none\"'\r\n                    + ' stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\\\/svg>'\r\n                    + '<\\\/span>';\r\n            }\r\n\r\n            list.querySelectorAll(\".legend-item\").forEach(function(btn){\r\n                btn.addEventListener(\"click\", function(){\r\n                    var key = btn.getAttribute(\"data-theme\");\r\n                    \/\/ Choisir referme le menu : le laisser ouvert repousserait\r\n                    \/\/ les fleurs qu'on vient de demander \u00e0 voir.\r\n                    var aside = document.getElementById(\"legend\");\r\n                    if (aside) aside.classList.remove(\"is-open\");\r\n                    document.getElementById(\"legend-trigger\").setAttribute(\"aria-expanded\", \"false\");\r\n                    if (isScoped()){\r\n                        \/\/ Radar et galerie se filtrent par th\u00e9matique au lieu\r\n                        \/\/ de zoomer : c'est le m\u00eame p\u00e9rim\u00e8tre pour les deux.\r\n                        radarScope = key ? ((radarScope === key) ? null : key) : null;\r\n                        closeDetail();\r\n                        if (isFleurs()) renderFlora();\r\n                        else if (isEtages()) renderEtages();\r\n                        else refreshFreinsView();\r\n                        renderLegend();\r\n                        renderKPI();\r\n                        return;\r\n                    }\r\n                    var node = root.children.find(function(c){ return c.data.themeKey === key; });\r\n                    if (node) { closeDetail(); zoomTo(focus === node ? root : node); }\r\n                });\r\n            });\r\n        }\r\n\r\n        \/\/ Bandeau de KPI retir\u00e9 de l'interface. La fonction garde son point\r\n        \/\/ d'appel (bascule d'onglet, zoom, filtre) mais ne peuple plus rien.\r\n        function kpiChip(v, l){\r\n            return '<div class=\"kpi\"><span class=\"kpi-value\">' + v + '<\\\/span><span class=\"kpi-label\">' + l + '<\\\/span><\\\/div>';\r\n        }\r\n        function renderKPI(){\r\n            var row = document.getElementById(\"kpi-row\");\r\n            if (!row) return;\r\n            var list;\r\n            if (isScoped()){\r\n                list = radarScope ? (byTheme.get(radarScope) || []) : PROJETS;\r\n            } else {\r\n                list = focus && focus !== root ? (focus.data.projets || []) : PROJETS;\r\n            }\r\n            var themesCount = new Set(list.map(function(p){return p.theme;})).size;\r\n            row.innerHTML = kpiChip(list.length, \"Projets\") + kpiChip(themesCount, themesCount === 1 ? \"Th\u00e9matique\" : \"Th\u00e9matiques\");\r\n        }\r\n\r\n\r\n        \/\/ ---- Ce que les \u00e9tages empruntent au reste de la roue ----\r\n        \/\/ Le halo pos\u00e9 au sol sous une fleur dit la TH\u00c9MATIQUE de la\r\n        \/\/ structure. La teinte pastel des secteurs, \u00e0 30 % sur une dalle\r\n        \/\/ claire, n'y \u00e9tait plus qu'un souffle : on prend le point milieu\r\n        \/\/ entre elle et son encre, qui reste dans le ton tout en se voyant.\r\n        var THEME_TON = {};\r\n        THEMES.forEach(function(t){ THEME_TON[t.key] = mix(t.color, t.textColor, 0.45); });\r\n        function themeColor(k){ return THEME_TON[k] || \"#5d6672\"; }\r\n\r\n        function shorten(v, n){\r\n            var s = String(v == null ? \"\" : v).trim().replace(\/\\s+\/g, \" \");\r\n            if (!s) return \"\";\r\n            return s.length > n ? s.slice(0, n - 1) + \"\u2026\" : s;\r\n        }\r\n\r\n        \/\/ Une fleur d'un plan renvoie \u00e0 la fiche de sa structure : c'est la\r\n        \/\/ feuille de la roue qui la porte, on la retrouve par le projet.\r\n        function openFicheProjet(p){\r\n            if (!p) return;\r\n            var node = leafFor(p);\r\n            if (node) openDetail(node);\r\n        }\r\n\r\n        \/\/ ============ 5 ter. LES TROIS \u00c9TAGES ============\r\n        \/\/ La lecture en volume des trois promesses du fonds : trois plans\r\n        \/\/ isom\u00e9triques, un par promesse, et sur chacun les structures du corpus.\r\n        \/\/ Cinq partis pris, qui tiennent ensemble :\r\n        \/\/\r\n        \/\/ 1. Une structure garde la M\u00caME case sur les trois \u00e9tages. Une fleur\r\n        \/\/    revient donc au m\u00eame endroit de l'\u00e9cran d'un \u00e9tage \u00e0 l'autre : on voit\r\n        \/\/    sans rien compter qui tient les trois promesses et qui n'en tient\r\n        \/\/    qu'une.\r\n        \/\/ 2. Les 48 structures ont leur case sur CHAQUE plan. Celles qui\r\n        \/\/    documentent la promesse y fleurissent, les autres n'y laissent qu'une\r\n        \/\/    empreinte au sol : la densit\u00e9 d'un plan reste le taux de\r\n        \/\/    documentation, mais le corpus entier est l\u00e0.\r\n        \/\/ 3. La fleur pos\u00e9e sur une case est celle de la GRILLE D'IMPACT, au trait\r\n        \/\/    pr\u00e8s. C'est par elle que les deux classeurs se rejoignent : l'\u00e9tage\r\n        \/\/    dit quelle promesse la structure raconte, la fleur dit ce qu'elle a\r\n        \/\/    produit. M\u00eame silhouette que dans \u00ab Fleurs des assos \u00bb.\r\n        \/\/ 4. On ne regarde qu'UN \u00e9tage \u00e0 la fois, en grand, les suivants empil\u00e9s\r\n        \/\/    dessous en fuite. Trois plans entiers \u00e0 l'\u00e9cran, c'\u00e9tait trois fois\r\n        \/\/    trop petit pour qu'une fleur se lise.\r\n        \/\/ 5. Le d\u00e9filement EST la cam\u00e9ra. Un cran et l'on descend d'un \u00e9tage :\r\n        \/\/    celui qu'on quitte grandit et passe au-dessus de la t\u00eate, celui qu'on\r\n        \/\/    rejoint monte, se pose et ses fleurs s'ouvrent. En remontant, le\r\n        \/\/    mouvement s'inverse exactement.\r\n\r\n        \/\/ Des cases larges gardent les fleurs distinctes m\u00eame au cadrage maximal.\r\n        \/\/ Le rapport des deux diagonales est le 2:1 de l'isom\u00e9trie de m\u00e9tier :\r\n        \/\/ c'est d\u00e9j\u00e0 celui des ellipses pos\u00e9es au sol (halos et empreintes\r\n        \/\/ creuses, rx 17 \/ ry 8,5), qui n'\u00e9taient donc pas d'aplomb sur un\r\n        \/\/ damier plus \u00e9cras\u00e9. Le damier redress\u00e9, les rang\u00e9es s'\u00e9cartent aussi\r\n        \/\/ d'un tiers : deux fleurs voisines ne se marchent plus dessus.\r\n        var ISO_W = 90, ISO_H = 45;   \/\/ diagonales d'une case du damier (2:1)\r\n        var ETAGE_COLS = 10;          \/\/ largeur du damier, en cases\r\n        var ET_MARGE = 4;             \/\/ pourtour du monde\r\n        var ET_CIEL = 64;             \/\/ r\u00e9serve verticale autour de la pile\r\n        var ET_EP = 18;               \/\/ \u00e9paisseur de la dalle\r\n        var ET_FLEUR = 52;            \/\/ c\u00f4t\u00e9 de la bo\u00eete d'une fleur, en unit\u00e9s monde\r\n        var ET_TIGE = 22;             \/\/ hauteur de tige\r\n\r\n        var etPiste = null, etColle = null, etSvg = null, etScene = null, etQueue = null;\r\n        var etPlansG = [], etPasN = [];\r\n        var etOmbres = [], etJalons = [], etIndice = null;\r\n        var etMondeW = 0, etMondeH = 0, etPlanW = 0, etPlanH = 0, etBaseY = 0, etChute = 0;\r\n        var etCxLocal = 0, etCyLocal = 0;\r\n        var etPasH = 0, etActif = -1, etOrdre = \"\", etRAF = 0;\r\n        var etDemande = -1;\r\n        var etAnnot = null, etAnnots = [];\r\n        var etCamera = 0, etFrameTime = 0, etRequested = 0;\r\n        var etMeasuredW = 0, etMeasuredH = 0;\r\n        var etAccents = [\"#ad5b14\", \"#087b65\", \"#d51b63\"];\r\n        function etWake(){ if (!etRAF) etRAF = requestAnimationFrame(etCadrer); }\r\n\r\n        function isoPt(c, r){ return [ (c - r) * ISO_W \/ 2, (c + r) * ISO_H \/ 2 ]; }\r\n        function isoD(c, r){\r\n            var p = isoPt(c, r);\r\n            return p[0].toFixed(1) + \",\" + p[1].toFixed(1);\r\n        }\r\n\r\n        \/\/ Le quadrillage d'un plan, en UN seul chemin : cent vingt segments s\u00e9par\u00e9s\r\n        \/\/ se recomposaient \u00e0 chaque image de la descente, pour trois \u00e9tages.\r\n        function isoGrille(C, R){\r\n            var d = [], i;\r\n            for (i = 0; i <= C; i++) d.push(\"M\" + isoD(i, 0) + \"L\" + isoD(i, R));\r\n            for (i = 0; i <= R; i++) d.push(\"M\" + isoD(0, i) + \"L\" + isoD(C, i));\r\n            return d.join(\"\");\r\n        }\r\n        function isoContour(C, R){\r\n            return \"M\" + isoD(0, 0) + \"L\" + isoD(C, 0) + \"L\" + isoD(C, R) + \"L\" + isoD(0, R) + \"Z\";\r\n        }\r\n        \/\/ L'\u00e9paisseur du plan, sous ses deux ar\u00eates de devant. DEUX faces et non\r\n        \/\/ une : l'ar\u00eate de gauche et celle de droite ne prennent pas la m\u00eame\r\n        \/\/ lumi\u00e8re, et ce seul \u00e9cart de valeur fait lire une dalle l\u00e0 o\u00f9 une\r\n        \/\/ fa\u00e7ade unie ne donnait qu'un trait \u00e9pais.\r\n        function isoFace(a, b, ep){\r\n            return \"M\" + a[0].toFixed(1) + \",\" + a[1].toFixed(1)\r\n                 + \"L\" + b[0].toFixed(1) + \",\" + b[1].toFixed(1)\r\n                 + \"L\" + b[0].toFixed(1) + \",\" + (b[1] + ep).toFixed(1)\r\n                 + \"L\" + a[0].toFixed(1) + \",\" + (a[1] + ep).toFixed(1) + \"Z\";\r\n        }\r\n        function isoTrancheG(C, R, ep){ return isoFace(isoPt(0, R), isoPt(C, R), ep); }\r\n        function isoTrancheD(C, R, ep){ return isoFace(isoPt(C, R), isoPt(C, 0), ep); }\r\n\r\n        \/\/ Une case par structure, la m\u00eame sur les trois \u00e9tages. L'ordre est celui\r\n        \/\/ des th\u00e9matiques, et \u00e0 l'int\u00e9rieur d'une th\u00e9matique les structures les\r\n        \/\/ mieux document\u00e9es d'abord : le ruban de chaque th\u00e9matique s'\u00e9claircit\r\n        \/\/ ainsi vers sa fin, ce qui se lit d'un coup d'oeil.\r\n        function etagePlacement(list){\r\n            var ordre = [];\r\n            THEMES.forEach(function (t) {\r\n                list.filter(function (p) { return p.theme === t.key; })\r\n                    .sort(function (a, b) {\r\n                        return b.score - a.score\r\n                            || String(a.porteur || \"\").localeCompare(String(b.porteur || \"\"), \"fr\");\r\n                    })\r\n                    .forEach(function (p) { ordre.push(p); });\r\n            });\r\n            var C = Math.max(2, Math.min(ETAGE_COLS, ordre.length));\r\n            var cases = {};\r\n            ordre.forEach(function (p, i) { cases[p.id] = { c: i % C, r: Math.floor(i \/ C) }; });\r\n            return { cases: cases, C: C, R: Math.max(1, Math.ceil(ordre.length \/ C)) };\r\n        }\r\n\r\n        \/\/ Une floraison : le halo de la TH\u00c9MATIQUE au sol, doubl\u00e9 d'un anneau quand\r\n        \/\/ la structure tient les trois promesses ; une tige de la couleur de la\r\n        \/\/ PROMESSE ; et au bout la fleur de l'association telle que la dessine la\r\n        \/\/ grille d'impact. Trois informations par case, sans qu'elles se disputent.\r\n        function etageFleur(p){\r\n            var code = floraCode(p.floraStates);\r\n            return '<ellipse class=\"et-halo\" rx=\"17\" ry=\"8.5\" fill=\"' + themeColor(p.theme)\r\n                 + '\" opacity=\"0.30\"\/>'\r\n                 + (p.score === 3 ? '<ellipse class=\"et-anneau\" rx=\"21.5\" ry=\"10.5\"\/>' : '')\r\n                 + '<g class=\"et-fleur-in\">'\r\n                 + '<path class=\"et-tige\" d=\"M0,-2L0,-' + ET_TIGE + '\"\/>'\r\n                 + '<use class=\"et-use\" data-code=\"' + code + '\" href=\"#' + FL_PREFIX_PLAN + code + '\"'\r\n                 + ' x=\"' + (-ET_FLEUR \/ 2) + '\" y=\"' + (-ET_TIGE - ET_FLEUR \/ 2)\r\n                 + '\" width=\"' + ET_FLEUR + '\" height=\"' + ET_FLEUR + '\"\/>'\r\n                 + '<\\\/g>'\r\n                 \/\/ Une fleur n'est qu'un faisceau de traits : sans disque de\r\n                 \/\/ pointage, il faudrait viser un p\u00e9tale au pixel pr\u00e8s. Il reste\r\n                 \/\/ HORS du groupe qui s'ouvre et grossit, sinon la cible bougerait\r\n                 \/\/ sous le curseur et la fleur clignoterait.\r\n                 + '<circle class=\"et-cible\" cy=\"-' + ET_TIGE + '\" r=\"24\" fill=\"transparent\"'\r\n                 + ' pointer-events=\"all\"\/>';\r\n        }\r\n\r\n        \/\/ Dans la roue d'impact, le panneau est d\u00e9j\u00e0 cal\u00e9 sous le bandeau de\r\n        \/\/ rubrique par la feuille de style : il n'y a plus de hauteur \u00e0 reporter.\r\n        function etPoserTop(){}\r\n\r\n        \/\/ La cl\u00e9 de lecture, en marques plut\u00f4t qu'en phrases : chaque signe du plan\r\n        \/\/ est montr\u00e9 \u00e0 c\u00f4t\u00e9 de ce qu'il veut dire. Le paragraphe qu'elle remplace\r\n        \/\/ faisait huit lignes dans une colonne de quinze cadratins, et la colonne\r\n        \/\/ n'avait plus de place pour les trois \u00e9tages.\r\n        function etLegende(complets){\r\n            var pleine = {};\r\n            FLORA_LAYERS.forEach(function (L) { pleine[L.key] = \"full\"; });\r\n            return '<ul class=\"et-legende\">'\r\n                + '<li><span class=\"lg-marque\">' + floraGlyph(pleine) + '<\\\/span>'\r\n                + '<span><b>Documente<\\\/b> la promesse<\\\/span><\\\/li>'\r\n                + '<li><span class=\"lg-marque\"><svg viewBox=\"-16 -16 32 32\" aria-hidden=\"true\">'\r\n                + '<ellipse class=\"et-vide\" rx=\"11.5\" ry=\"5.8\" style=\"--tc:#5d6672\"\/><\\\/svg><\\\/span>'\r\n                + '<span>Promesse <b>non document\u00e9e<\\\/b><\\\/span><\\\/li>'\r\n                + '<li><span class=\"lg-marque\"><svg viewBox=\"-16 -16 32 32\" aria-hidden=\"true\">'\r\n                + '<ellipse class=\"et-anneau\" rx=\"13\" ry=\"6.5\" style=\"--pr:#24476d\"\/><\\\/svg><\\\/span>'\r\n                + '<span><b>Trois promesses<\\\/b> \u00b7 ' + complets + '<\\\/span><\\\/li>'\r\n                + '<\\\/ul>';\r\n        }\r\n\r\n        \/\/ Ce que la sc\u00e8ne ajoute \u00e0 ses propres d\u00e9fs : la lumi\u00e8re du dessus de\r\n        \/\/ dalle, les deux chants et le moelleux de l'ombre port\u00e9e. Les\r\n        \/\/ d\u00e9grad\u00e9s pos\u00e9s une fois pour les trois \u00e9tages.\r\n        function etDefs(){\r\n            return '<defs>'\r\n                + '<linearGradient id=\"fis-et-dalle\" x1=\"0\" y1=\"0\" x2=\".7\" y2=\"1\">'\r\n                + '<stop stop-color=\"#ffffff\"\/><stop offset=\".5\" stop-color=\"#edf3f7\"\/>'\r\n                + '<stop offset=\"1\" stop-color=\"#c9dbe5\"\/><\\\/linearGradient>'\r\n                + '<linearGradient id=\"fis-et-chant-g\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\">'\r\n                + '<stop stop-color=\"#9eb5c1\"\/><stop offset=\"1\" stop-color=\"#3d5969\"\/><\\\/linearGradient>'\r\n                + '<linearGradient id=\"fis-et-chant-d\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\">'\r\n                + '<stop stop-color=\"#dae6eb\"\/><stop offset=\"1\" stop-color=\"#698493\"\/><\\\/linearGradient>'\r\n                + '<radialGradient id=\"fis-et-ombre\"><stop stop-color=\"#000\" stop-opacity=\".35\"\/>'\r\n                + '<stop offset=\"1\" stop-color=\"#000\" stop-opacity=\"0\"\/><\\\/radialGradient>'\r\n                + '<\\\/defs>';\r\n        }\r\n\r\n        function renderEtages(){\r\n            var el = document.getElementById(\"etages\");\r\n            if (!el) return;\r\n            \/\/ Un filtre par th\u00e9matique reb\u00e2tit la sc\u00e8ne : l'infobulle de la\r\n            \/\/ fleur qu'on survolait resterait sinon coll\u00e9e au-dessus d'un\r\n            \/\/ damier o\u00f9 cette fleur n'est plus.\r\n            hideTooltip();\r\n            var keepLevel = Math.max(0, etActif);\r\n            if (etRAF) cancelAnimationFrame(etRAF);\r\n            etRAF = 0; etFrameTime = 0;\r\n            etPoserTop();\r\n\r\n            var list = radarScope ? (byTheme.get(radarScope) || []) : PROJETS;\r\n            var pl = etagePlacement(list);\r\n            var C = pl.C, R = pl.R;\r\n            etPlanW = (C + R) * ISO_W \/ 2;\r\n            etPlanH = (C + R) * ISO_H \/ 2;\r\n            etCxLocal = (C - R) * ISO_W \/ 4;\r\n            etCyLocal = etPlanH \/ 2;\r\n            etMondeW = etPlanW + 2 * ET_MARGE;\r\n            \/\/ C'est la HAUTEUR du monde qui commande l'\u00e9chelle \u00e0 l'\u00e9cran : le\r\n            \/\/ cadre est toujours plus large que haut, et le losange du damier\r\n            \/\/ toujours plus large que haut lui aussi. Ce qu'on r\u00e9serve ici, on\r\n            \/\/ le r\u00e9serve donc \u00e0 la PILE, pas \u00e0 la marge : le monde vaut une fois\r\n            \/\/ et demie l'\u00e9tage de devant, et c'est dans cette moiti\u00e9 en trop que\r\n            \/\/ les deux plans suivants viennent se ranger. Cal\u00e9 au plus juste sur\r\n            \/\/ l'\u00e9tage de devant, ce qu'il \u00e9tait, le damier remplissait le\r\n            \/\/ cadre et la pile n'\u00e9tait plus qu'un liser\u00e9 au ras du bord : on ne\r\n            \/\/ voyait plus qu'on descendait dans quelque chose.\r\n            etMondeH = etPlanH * 1.30 + ET_CIEL;\r\n            \/\/ L'\u00e9tage regard\u00e9 se pose au tiers haut du cadre. Le reste est la\r\n            \/\/ profondeur : c'est l\u00e0 que la pile s'enfonce, et que le dernier plan\r\n            \/\/ se laisse couper par le bord du cadre. Un plan coup\u00e9 dit qu'il y a\r\n            \/\/ une suite ; un plan entier dit que tout est d\u00e9j\u00e0 l\u00e0.\r\n            etBaseY = etMondeH * 0.42;\r\n            \/\/ De quelle hauteur tombe l'\u00e9tage suivant. Le rapport n'est PRESQUE\r\n            \/\/ pas compress\u00e9 : d'une cage d'escalier vue du palier, on ne voit pas\r\n            \/\/ les vol\u00e9es se tasser, on les voit se r\u00e9p\u00e9ter. Trop de compression et\r\n            \/\/ les deux plans du fond se confondaient en une seule dalle \u00e9paisse.\r\n            etChute = etPlanH * 1.85;\r\n\r\n            var grille = isoGrille(C, R), contour = isoContour(C, R);\r\n            var trG = isoTrancheG(C, R, ET_EP), trD = isoTrancheD(C, R, ET_EP);\r\n            var plans = \"\", notes = \"\";\r\n\r\n            PROMESSES.forEach(function (pr, i) {\r\n                var docs = list.filter(function (p) { return p.docs[pr.key]; });\r\n                var muets = list.filter(function (p) { return !p.docs[pr.key]; });\r\n\r\n                \/\/ La dalle : une ombre port\u00e9e, une ar\u00eate color\u00e9e et\r\n                \/\/ deux faces d'\u00e9paisseur de valeurs diff\u00e9rentes,\r\n                \/\/ et un dessus en d\u00e9grad\u00e9. Le plan ne porte AUCUN texte : son nom\r\n                \/\/ est \u00e9crit une fois, dans le cartouche, et le damier reste nu.\r\n                var g = '<g class=\"et-etage\" data-i=\"' + i + '\" style=\"--pr:' + pr.color\r\n                      + ';--i:' + i + '\"><g class=\"et-etage-in\">'\r\n                      + '<ellipse class=\"et-ombre\" cx=\"' + etCxLocal.toFixed(1) + '\" cy=\"'\r\n                      + (etPlanH + ET_EP + 34).toFixed(1) + '\" rx=\"' + (etPlanW * 0.46).toFixed(1)\r\n                      + '\" ry=\"' + (etPlanH * 0.12 + 16).toFixed(1) + '\"\/>'\r\n                      + '<path class=\"et-tranche et-tranche-g\" d=\"' + trG + '\"\/>'\r\n                      + '<path class=\"et-tranche et-tranche-d\" d=\"' + trD + '\"\/>'\r\n                      + '<path class=\"et-contour\" d=\"' + contour + '\"\/>'\r\n                      + '<path class=\"et-teinte\" d=\"' + contour + '\"\/>'\r\n                      + '<path class=\"et-grille\" d=\"' + grille + '\"\/>'\r\n                      + '<path class=\"et-edge\" d=\"M' + isoD(0,R) + 'L' + isoD(C,R) + 'L' + isoD(C,0) + '\"\/>'\r\n                      + '<path class=\"et-edge-light\" transform=\"translate(0,3)\" d=\"M' + isoD(0,R) + 'L' + isoD(C,R) + 'L' + isoD(C,0) + '\"\/>';\r\n\r\n                \/\/ Les cases muettes d'abord, au sol : elles ne doivent jamais passer\r\n                \/\/ devant une fleur. Elles disent que la structure est l\u00e0, sur ce\r\n                \/\/ plan, et qu'elle ne raconte simplement pas cette promesse.\r\n                muets.forEach(function (p) {\r\n                    var cse = pl.cases[p.id];\r\n                    if (!cse) return;\r\n                    var q = isoPt(cse.c + 0.5, cse.r + 0.5);\r\n                    g += '<ellipse class=\"et-vide\" data-p=\"' + p.id + '\" data-pr=\"' + pr.key + '\"'\r\n                       + ' cx=\"' + q[0].toFixed(1) + '\" cy=\"' + q[1].toFixed(1) + '\"'\r\n                       + ' rx=\"11.5\" ry=\"5.8\" style=\"--tc:' + themeColor(p.theme) + '\"\/>';\r\n                });\r\n\r\n                \/\/ Les fleurs du fond d'abord : sur un damier isom\u00e9trique, une case\r\n                \/\/ plus proche de l'oeil a un c+r plus grand. Les dessiner dans cet\r\n                \/\/ ordre suffit \u00e0 ce qu'elles se recouvrent correctement, et le m\u00eame\r\n                \/\/ rang commande le retard d'\u00e9closion : l'\u00e9tage s'ouvre du fond vers\r\n                \/\/ l'avant, comme une vague.\r\n                docs.slice().sort(function (a, b) {\r\n                    var ca = pl.cases[a.id], cb = pl.cases[b.id];\r\n                    return (ca.c + ca.r) - (cb.c + cb.r);\r\n                }).forEach(function (p) {\r\n                    var cse = pl.cases[p.id];\r\n                    if (!cse) return;\r\n                    var q = isoPt(cse.c + 0.5, cse.r + 0.5);\r\n                    g += '<g class=\"et-fleur\" data-p=\"' + p.id + '\" data-pr=\"' + pr.key + '\"'\r\n                       + ' style=\"--pousse:' + ((cse.c + cse.r) * 26) + 'ms\"'\r\n                       + ' transform=\"translate(' + q[0].toFixed(1) + ',' + q[1].toFixed(1) + ')\">'\r\n                       + etageFleur(p) + '<\\\/g>';\r\n                });\r\n                plans += g + '<\\\/g><\\\/g>';\r\n\r\n                \/\/ Le jalon : un rang, un nom, un point. Ce que p\u00e8se l'\u00e9tage est\r\n                \/\/ \u00e9crit dans le cartouche de la sc\u00e8ne \u2014 le r\u00e9p\u00e9ter ici, c'\u00e9tait\r\n                \/\/ faire lire deux fois le m\u00eame nombre aux deux bouts du cadre.\r\n                notes += '<button class=\"et-jalon\" type=\"button\" data-i=\"' + i + '\"'\r\n                    + ' style=\"--pr:' + pr.color + ';--pr-text:' + pr.textColor + ';--et-accent:' + etAccents[i] + '\">'\r\n                    + '<span class=\"et-jalon-rang\">0' + (i + 1) + '<\\\/span>'\r\n                    + '<span class=\"et-jalon-nom\">' + escapeHTML(pr.label) + '<\\\/span>'\r\n                    + '<span class=\"et-jalon-puce\" aria-hidden=\"true\"><\\\/span>'\r\n                    + '<\\\/button>';\r\n            });\r\n\r\n            \/\/ Ce que l'annotation de la sc\u00e8ne aura \u00e0 dire, \u00e9tage par \u00e9tage.\r\n            etAnnots = PROMESSES.map(function (pr, i) {\r\n                var docs = list.filter(function (p) { return p.docs[pr.key]; });\r\n                return {\r\n                    rang: i,\r\n                    label: pr.label,\r\n                    phrase: pr.phrase,\r\n                    color: pr.color,\r\n                    ink: pr.textColor,\r\n                    docs: docs.length,\r\n                    total: list.length,\r\n                    fleuries: docs.filter(function (p) { return p.empreinte > 0; }).length\r\n                };\r\n            });\r\n\r\n            var complets = list.filter(function (p) { return p.score === 3; }).length;\r\n            var pas = PROMESSES.map(function (pr, i) {\r\n                return '<div class=\"et-pas\" data-i=\"' + i + '\"><\\\/div>';\r\n            }).join(\"\") + '<div class=\"et-queue\"><\\\/div>';\r\n\r\n            \/\/ Plus de colonne \u00e0 gauche : la sc\u00e8ne prend tout le cadre et ses\r\n            \/\/ rep\u00e8res se posent dans les angles, l\u00e0 o\u00f9 le losange du damier ne\r\n            \/\/ va jamais. Le cartouche dit ce qu'on regarde, les jalons o\u00f9 l'on\r\n            \/\/ est et o\u00f9 aller, la cl\u00e9 ce que valent les marques. Chaque nombre\r\n            \/\/ n'est \u00e9crit qu'une fois, dans le cartouche.\r\n            el.innerHTML = '<div class=\"et-piste\" id=\"et-piste\" tabindex=\"0\"'\r\n                + ' aria-label=\"Descente des trois \u00e9tages, un par promesse\">'\r\n                + '<div class=\"et-colle\">'\r\n                + '<div class=\"et-masthead\">FIS \u00b7 Les trois promesses<\\\/div>'\r\n                + '<span class=\"et-watermark\" aria-hidden=\"true\">01<\\\/span>'\r\n                + '<svg viewBox=\"0 0 ' + etMondeW.toFixed(0) + ' ' + etMondeH.toFixed(0) + '\"'\r\n                + ' preserveAspectRatio=\"xMidYMid meet\" role=\"group\"'\r\n                + ' aria-label=\"Trois plans isom\u00e9triques, un par promesse, parcourus en descendant\">'\r\n                + floraDefs() + etDefs()\r\n                + '<g class=\"et-plans\">' + plans + '<\\\/g><\\\/svg>'\r\n                + '<div class=\"et-annot\" id=\"et-annot\" aria-live=\"polite\"><\\\/div>'\r\n                + '<div class=\"et-bottom\">'\r\n                + '<div class=\"et-cle\">' + etLegende(complets) + '<\\\/div>'\r\n                + '<p class=\"et-indice\" id=\"et-indice\"><b>Faites d\u00e9filer<\/b> pour explorer \u2193<\\\/p>'\r\n                + '<nav class=\"et-nav\" aria-label=\"Aller \u00e0 un \u00e9tage\">' + notes + '<\\\/nav>'\r\n                + '<div class=\"et-steps\"><button type=\"button\" class=\"et-step\" data-step=\"-1\" aria-label=\"\u00c9tage pr\u00e9c\u00e9dent\">\u2191<\\\/button>'\r\n                + '<button type=\"button\" class=\"et-step\" data-step=\"1\" aria-label=\"\u00c9tage suivant\">\u2193<\\\/button><\\\/div><\\\/div>'\r\n                + '<\\\/div>'\r\n                + pas + '<\\\/div>';\r\n\r\n            etPiste = document.getElementById(\"et-piste\");\r\n            etColle = etPiste.querySelector(\".et-colle\");\r\n            etSvg = etPiste.querySelector(\"svg\");\r\n            etScene = etPiste.querySelector(\"g.et-plans\");\r\n            etPlansG = [].slice.call(etPiste.querySelectorAll(\"g.et-etage\"));\r\n            etOmbres = etPlansG.map(function (g) { return g.querySelector(\".et-ombre\"); });\r\n            etJalons = [].slice.call(el.querySelectorAll(\".et-jalon\"));\r\n            etPasN = [].slice.call(el.querySelectorAll(\".et-pas\"));\r\n            etQueue = el.querySelector(\".et-queue\");\r\n            etIndice = document.getElementById(\"et-indice\");\r\n            etAnnot = document.getElementById(\"et-annot\");\r\n            etActif = -1; etOrdre = \"\";\r\n\r\n            \/\/ Un seul jeu d'\u00e9couteurs sur la sc\u00e8ne plut\u00f4t que deux cents : les\r\n            \/\/ fleurs et les empreintes creuses sont retrouv\u00e9es par d\u00e9l\u00e9gation.\r\n            \/\/ Seul l'\u00e9tage au premier plan re\u00e7oit les pointeurs (voir etCadrer),\r\n            \/\/ donc une fleur des plans en fuite ne peut pas voler le clic.\r\n            etSvg.addEventListener(\"mousemove\", function (e) {\r\n                var n = e.target.closest ? e.target.closest(\".et-fleur, .et-vide\") : null;\r\n                if (!n){ hideTooltip(); return; }\r\n                etageTip(e, PROJETS[+n.getAttribute(\"data-p\")], n.getAttribute(\"data-pr\"),\r\n                    n.classList.contains(\"et-vide\"));\r\n            });\r\n            etSvg.addEventListener(\"mouseleave\", hideTooltip);\r\n            etSvg.addEventListener(\"click\", function (e) {\r\n                var n = e.target.closest ? e.target.closest(\".et-fleur, .et-vide\") : null;\r\n                if (!n) return;\r\n                e.stopPropagation();\r\n                hideTooltip();\r\n                openFicheProjet(PROJETS[+n.getAttribute(\"data-p\")]);\r\n            });\r\n\r\n            etPiste.addEventListener(\"scroll\", function () {\r\n                if (etIndice && etPiste.scrollTop > 8) etIndice.classList.add(\"is-parti\");\r\n                hideTooltip();\r\n                etWake();\r\n            }, { passive: true });\r\n\r\n            etJalons.forEach(function (n) {\r\n                n.addEventListener(\"click\", function (){\r\n                    etVersEtage(+n.getAttribute(\"data-i\"));\r\n                });\r\n            });\r\n\r\n            el.querySelectorAll(\".et-step\").forEach(function (button) {\r\n                button.addEventListener(\"click\", function () {\r\n                    etVersEtage(etRequested + Number(button.dataset.step));\r\n                });\r\n            });\r\n            etPiste.addEventListener(\"keydown\", function (e) {\r\n                var next = {ArrowDown:1, ArrowRight:1, PageDown:1, ArrowUp:-1, ArrowLeft:-1, PageUp:-1};\r\n                if (next[e.key] || e.key === \"Home\" || e.key === \"End\") {\r\n                    e.preventDefault();\r\n                    etVersEtage(e.key === \"Home\" ? 0 : e.key === \"End\" ? 2 : etRequested + next[e.key]);\r\n                }\r\n            });\r\n            \/\/ Les marqueurs sont aussi atteignables au clavier, sur le plan actif.\r\n            etSvg.querySelectorAll(\".et-fleur, .et-vide\").forEach(function (node) {\r\n                var p = PROJETS[+node.dataset.p];\r\n                node.setAttribute(\"role\", \"button\");\r\n                node.setAttribute(\"aria-label\", \"Ouvrir la fiche : \" + (p.porteur || p.projet));\r\n                node.addEventListener(\"keydown\", function (e) {\r\n                    if (e.key === \"Enter\" || e.key === \" \") {\r\n                        e.preventDefault(); e.stopPropagation(); openFicheProjet(p);\r\n                    }\r\n                });\r\n            });\r\n            etMesurer();\r\n            etCamera = keepLevel; etRequested = keepLevel;\r\n            etPiste.scrollTo({top:keepLevel * etPasH, behavior:\"instant\"});\r\n            etCadrer();\r\n        }\r\n\r\n        \/\/ La hauteur de d\u00e9filement est pos\u00e9e \u00e0 la main : la sc\u00e8ne coll\u00e9e mesure un\r\n        \/\/ cadre, sa marge n\u00e9gative la retire du flux pour que les crans d\u00e9marrent \u00e0\r\n        \/\/ z\u00e9ro, et chaque cran vaut un \u00e9tage. Une marge en pourcentage se\r\n        \/\/ calculerait sur la LARGEUR du conteneur, ce qui n'aurait aucun sens.\r\n        function etMesurer(){\r\n            if (!etPiste || !etColle) return;\r\n            var h = etPiste.clientHeight;\r\n            if (h < 60) return;\r\n            etMeasuredW = etPiste.clientWidth;\r\n            etMeasuredH = h;\r\n            \/\/ Un cran ne vaut PAS une hauteur de cadre. \u00c0 ce prix, il fallait\r\n            \/\/ d\u00e9rouler une demi-page pour changer d'\u00e9tage, et un cran de molette\r\n            \/\/ trop court se faisait ramener en arri\u00e8re par l'aimant : la descente\r\n            \/\/ paraissait coll\u00e9e. Une demi-hauteur, c'est une chiquenaude par \u00e9tage.\r\n            etPasH = Math.max(210, Math.min(430, Math.round(h * 0.55)));\r\n            etColle.style.height = h + \"px\";\r\n            etColle.style.marginBottom = (-h) + \"px\";\r\n            etPasN.forEach(function (n) { n.style.height = etPasH + \"px\"; });\r\n            \/\/ Sans ce talon, la course s'arr\u00eaterait une hauteur de cadre trop t\u00f4t\r\n            \/\/ et le dernier \u00e9tage resterait hors d'atteinte : la course vaut la\r\n            \/\/ hauteur du contenu moins celle du cadre, pas la somme des crans.\r\n            if (etQueue) etQueue.style.height = Math.max(0, h - etPasH) + \"px\";\r\n        }\r\n\r\n        \/\/ O\u00f9 se pose un plan, selon sa distance \u00e0 l'\u00e9tage regard\u00e9. Au-dessous, il\r\n        \/\/ s'enfonce et rapetisse en se resserrant sur les suivants ; au-dessus, il\r\n        \/\/ grandit et file vers le haut, comme un plafond qu'on traverse.\r\n        function etPose(d){\r\n            if (d >= 0){\r\n                return {\r\n                    s: 1 \/ (1 + 0.12 * d),\r\n                    y: etChute * (1 - 1 \/ (1 + 0.12 * d)),\r\n                    \/\/ Le CARR\u00c9, et non la distance : entre deux \u00e9tages, le plan\r\n                    \/\/ qui monte est d\u00e9j\u00e0 \u00e0 quatre cinqui\u00e8mes de sa densit\u00e9, et\r\n                    \/\/ c'est lui qu'on regarde. Une opacit\u00e9 lin\u00e9aire le laissait\r\n                    \/\/ \u00e0 moiti\u00e9 transparent tout le temps du passage, et le cadre\r\n                    \/\/ n'avait plus, \u00e0 mi-chemin, qu'un damier fant\u00f4me \u00e0 montrer.\r\n                    o: 1 \/ (1 + 1.10 * d * d)\r\n                };\r\n            }\r\n            \/\/ L'\u00e9tage qu'on quitte s'efface LENTEMENT, lui aussi en carr\u00e9 : il\r\n            \/\/ reste large et presque net au-dessus de la t\u00eate pendant la premi\u00e8re\r\n            \/\/ moiti\u00e9 du passage, puis s'en va d'un coup. Les deux courbes se\r\n            \/\/ croisent haut, vers 0,7 chacune : \u00e0 mi-descente on voit les DEUX\r\n            \/\/ \u00e9tages, l'un au-dessus de l'autre, et c'est cette image-l\u00e0 qui dit\r\n            \/\/ qu'on traverse un plancher.\r\n            var a = -d;\r\n            return {\r\n                s: 1 + 0.55 * a,\r\n                y: -a * etPlanH * 1.15,\r\n                o: Math.max(0, 1 - 1.35 * a * a)\r\n            };\r\n        }\r\n\r\n        \/\/ La cam\u00e9ra, rejou\u00e9e \u00e0 chaque image de d\u00e9filement. Trois transformations,\r\n        \/\/ trois opacit\u00e9s, et de loin en loin un changement d'ordre : c'est tout ce\r\n        \/\/ que co\u00fbte la descente.\r\n        function etCadrer(now){\r\n            etRAF = 0;\r\n            if (!etPiste || !etPasH || !etPlansG.length || !isEtages()) return;\r\n            \/\/ Le navigateur peut r\u00e9-aimanter le scroll avant le recalage du resize.\r\n            \/\/ Garder l'\u00e9tage courant jusqu'\u00e0 ce que les nouvelles dimensions soient pos\u00e9es.\r\n            if (etPiste.clientWidth !== etMeasuredW || etPiste.clientHeight !== etMeasuredH) return;\r\n            var target = Math.max(0, Math.min(2, etPiste.scrollTop \/ etPasH));\r\n            var stamp = typeof now === \"number\" ? now : performance.now();\r\n            var dt = etFrameTime ? Math.min(40, stamp - etFrameTime) : 16;\r\n            etFrameTime = stamp;\r\n            \/\/ Amortissement ind\u00e9pendant de la fr\u00e9quence de l\u2019\u00e9cran. Aucune boucle au repos.\r\n            etCamera += (target - etCamera) * (reducedMotion.matches ? 1 : 1 - Math.exp(-dt \/ 78));\r\n            if (Math.abs(target - etCamera) < .0007) etCamera = target;\r\n            else etWake();\r\n            var prog = etCamera;\r\n            var rangs = [];\r\n\r\n            \/\/ Le plongeon de cam\u00e9ra ENTRE deux \u00e9tages : la sc\u00e8ne se rapproche \u00e0\r\n            \/\/ mi-chemin puis se repose sur le cran suivant. Sans lui, la descente\r\n            \/\/ n'est qu'un glissement ; avec lui, on tombe d'un \u00e9tage.\r\n            var frac = prog - Math.floor(prog);\r\n            var dol = Math.sin(Math.max(0, Math.min(1, frac)) * Math.PI);\r\n            if (etScene){\r\n                etScene.setAttribute(\"transform\",\r\n                    \"translate(\" + (etMondeW \/ 2).toFixed(1) + \",\" + (etBaseY - dol * 16).toFixed(1)\r\n                    + \") scale(\" + (1 + dol * 0.068).toFixed(4) + \") translate(\"\r\n                    + (-etMondeW \/ 2).toFixed(1) + \",\" + (-etBaseY).toFixed(1) + \")\");\r\n            }\r\n\r\n            PROMESSES.forEach(function (pr, i) {\r\n                var d = i - prog, p = etPose(d), g = etPlansG[i];\r\n                if (!g) return;\r\n                g.setAttribute(\"transform\",\r\n                    \"translate(\" + (etMondeW \/ 2).toFixed(1) + \",\" + (etBaseY + p.y).toFixed(1) + \")\"\r\n                    + \" scale(\" + p.s.toFixed(4) + \")\"\r\n                    + \" translate(\" + (-etCxLocal).toFixed(1) + \",\" + (-etCyLocal).toFixed(1) + \")\");\r\n                g.style.opacity = p.o.toFixed(3);\r\n                \/\/ L'ombre n'a de sens que sous l'\u00e9tage de devant : d\u00e8s que son plan\r\n                \/\/ s'\u00e9loigne ou remonte, elle s'en d\u00e9tache et n'est plus qu'un\r\n                \/\/ disque gris pos\u00e9 au milieu du cadre.\r\n                var om = etOmbres[i];\r\n                if (om) om.style.opacity = Math.max(0, 1 - Math.abs(d) * 1.7).toFixed(3);\r\n                rangs.push({ i: i, d: d });\r\n            });\r\n\r\n            \/\/ Peintre : du plus lointain au plus proche. L'\u00e9tage qu'on vient de\r\n            \/\/ quitter est le plus pr\u00e8s de l'oeil, donc le dernier peint.\r\n            rangs.sort(function (a, b) { return b.d - a.d; });\r\n            var cle = rangs.map(function (r) { return r.i; }).join(\"\");\r\n            if (cle !== etOrdre){\r\n                etOrdre = cle;\r\n                rangs.forEach(function (r) { etScene.appendChild(etPlansG[r.i]); });\r\n            }\r\n\r\n            if (Math.abs(target - Math.round(target)) < .01) etRequested = Math.round(target);\r\n            var actif = Math.max(0, Math.min(PROMESSES.length - 1, Math.round(prog)));\r\n            if (actif === etActif) return;\r\n            etActif = actif;\r\n            etPlansG.forEach(function (g, i) {\r\n                var on = i === actif;\r\n                g.classList.toggle(\"is-active\", on);\r\n                \/\/ Un plan transparent reste cliquable : sans cela, l'\u00e9tage qu'on\r\n                \/\/ vient de traverser, agrandi par-dessus tout le cadre, volerait\r\n                \/\/ les clics destin\u00e9s \u00e0 celui qu'on regarde.\r\n                g.style.pointerEvents = on ? \"\" : \"none\";\r\n                g.setAttribute(\"aria-hidden\", on ? \"false\" : \"true\");\r\n                g.querySelectorAll(\".et-fleur, .et-vide\").forEach(function (n) {\r\n                    n.setAttribute(\"tabindex\", on ? \"0\" : \"-1\");\r\n                });\r\n                \/\/ Le grain du coeur ne vaut d'\u00eatre peint que sur l'\u00e9tage de devant :\r\n                \/\/ trente cercles par fleur, sinon, pour un p\u00e2t\u00e9 de deux pixels.\r\n                var pref = on ? FL_PREFIX : FL_PREFIX_PLAN;\r\n                g.querySelectorAll(\"use.et-use\").forEach(function (u) {\r\n                    u.setAttribute(\"href\", \"#\" + pref + u.getAttribute(\"data-code\"));\r\n                });\r\n            });\r\n            \/\/ L'annotation de la planche : le rang, la promesse regard\u00e9e et ce\r\n            \/\/ qu'elle p\u00e8se. Elle ne bouge qu'au changement d'\u00e9tage, pas \u00e0\r\n            \/\/ chaque image de la descente.\r\n            var a = etAnnots[actif];\r\n            if (etAnnot && a){\r\n                etAnnot.style.setProperty(\"--pr\", a.color);\r\n                etAnnot.style.setProperty(\"--pr-text\", a.ink);\r\n                etAnnot.innerHTML = '<span class=\"et-annot-rang\">La promesse <b>0' + (a.rang + 1) + '<\\\/b> \/ 03<\\\/span>'\r\n                    + '<h2 class=\"et-annot-titre\">' + escapeHTML(a.label) + '<\\\/h2>'\r\n                    + '<p class=\"et-phrase\">' + escapeHTML(a.phrase.charAt(0).toUpperCase() + a.phrase.slice(1)) + '.<\\\/p>'\r\n                    + '<div class=\"et-stat\"><strong>' + a.docs + '<\\\/strong><span>\/ ' + a.total + '<\\\/span><\\\/div>'\r\n                    + '<span class=\"et-stat-label\">' + (a.docs === 1 ? 'structure documente' : 'structures documentent') + ' cette promesse<\\\/span>'\r\n                    + '<span class=\"et-meter\" aria-hidden=\"true\" style=\"--coverage:' + (a.total ? a.docs\/a.total*100 : 0) + '%\"><i><\\\/i><\\\/span>'\r\n                    + '<span class=\"et-annot-sub\">Dont <b>' + a.fleuries + '<\/b> ' + (a.fleuries === 1 ? 'porte' : 'portent') + ' une empreinte d\u2019impact.<\\\/span>';\r\n            }\r\n            etPiste.style.setProperty(\"--et-accent\", etAccents[actif]);\r\n            etPiste.querySelector(\".et-watermark\").textContent = \"0\" + (actif + 1);\r\n            etPiste.querySelector('[data-step=\"-1\"]').disabled = actif === 0;\r\n            etPiste.querySelector('[data-step=\"1\"]').disabled = actif === 2;\r\n            etJalons.forEach(function (n, i) {\r\n                var on = i === actif;\r\n                n.classList.toggle(\"is-active\", on);\r\n                n.setAttribute(\"aria-current\", on ? \"true\" : \"false\");\r\n            });\r\n            \/\/ La sc\u00e8ne prend la teinte de la promesse qu'on regarde : le\r\n            \/\/ changement d'\u00e9tage se voit avant m\u00eame qu'on ait lu le cartouche.\r\n            if (etPiste && a) etPiste.style.setProperty(\"--et-teinte\", a.color);\r\n        }\r\n\r\n        function etVersEtage(i){\r\n            if (!etPiste || !etPasH) return;\r\n            etRequested = Math.max(0, Math.min(2, i));\r\n            etPiste.scrollTo({ top: etRequested * etPasH, behavior: reducedMotion.matches ? \"instant\" : \"smooth\" });\r\n        }\r\n\r\n        \/\/ Apr\u00e8s un redimensionnement, la sc\u00e8ne se remesure et se repose sur l'\u00e9tage\r\n        \/\/ regard\u00e9, sans animation : on n'a pas d\u00e9fil\u00e9, on a chang\u00e9 de fen\u00eatre.\r\n        function etRecaler(){\r\n            \/\/ L'\u00e9tage regard\u00e9 se note AVANT de remesurer : changer la hauteur des\r\n            \/\/ crans d\u00e9place le d\u00e9filement, ce qui d\u00e9clenche un tour de cam\u00e9ra, qui\r\n            \/\/ recalcule l'\u00e9tage courant depuis une position qui n'a plus de sens.\r\n            \/\/ On repartait alors du premier \u00e9tage \u00e0 chaque poign\u00e9e tir\u00e9e.\r\n            var etage = Math.max(0, etActif);\r\n            etPoserTop();\r\n            etMesurer();\r\n            if (!etPiste || !etPasH) return;\r\n            void etPiste.scrollHeight;   \/\/ force la remise en page avant de viser\r\n            etCamera = etage; etRequested = etage;\r\n            var cible = etage * etPasH;\r\n            try { etPiste.scrollTo({ top: cible, behavior: \"instant\" }); }\r\n            catch (e){ etPiste.scrollTop = cible; }\r\n            etCadrer();\r\n        }\r\n\r\n        function etageTip(event, p, prKey, muet){\r\n            if (!p) return;\r\n            var pr = PROMESSES.filter(function (x) { return x.key === prKey; })[0];\r\n            var box = container.getBoundingClientRect();\r\n            var couches = FLORA_LAYERS.filter(function (L) {\r\n                return p.floraStates[L.key] !== \"none\";\r\n            }).map(function (L) { return L.label; });\r\n            tooltip.innerHTML = \"<strong>\" + escapeHTML(p.porteur || p.projet) + \"<\\\/strong>\"\r\n                + escapeHTML(themeLabel(p.theme)) + \" &middot; \" + p.score + \"\/3 promesses &middot; \"\r\n                + p.empreinte + \"\/4 couches d'impact\"\r\n                + (pr ? \"<em>\" + escapeHTML(pr.label) + \" : \"\r\n                    + (muet ? \"non document\u00e9e par cette structure\" : escapeHTML(shorten(p[pr.key], 150)))\r\n                    + \"<\\\/em>\" : \"\")\r\n                + \"<em>\" + (couches.length ? \"Fleur : \" + escapeHTML(couches.join(\", \"))\r\n                    : \"Aucune couche d'impact renseign\u00e9e\") + \"<\\\/em>\"\r\n                + \"<em>Cliquez pour lire la fiche<\\\/em>\";\r\n            tooltip.style.opacity = 1;\r\n            var x = event.clientX - box.left + 16, y = event.clientY - box.top + 14;\r\n            if (x + 310 > box.width) x = event.clientX - box.left - 316;\r\n            if (y + 170 > box.height) y = Math.max(6, event.clientY - box.top - 170);\r\n            tooltip.style.left = x + \"px\";\r\n            tooltip.style.top = y + \"px\";\r\n        }\r\n\r\n\r\n        \/\/ ============ 10. BASCULE ROUE \/ FREINS \/ FLEURS ============\r\n        document.getElementById(\"indicator-tabs\").addEventListener(\"click\", function(e){\r\n            var btn = e.target.closest(\".toggle-btn\");\r\n            if (btn) activateTab(btn.getAttribute(\"data-ind\"));\r\n        });\r\n\r\n        function activateTab(key){\r\n            var tabs = document.getElementById(\"indicator-tabs\");\r\n            var target = tabs.querySelector('.toggle-btn[data-ind=\"' + key + '\"]');\r\n            if (!target || target.classList.contains(\"active\")) return;\r\n            tabs.querySelectorAll(\".toggle-btn\").forEach(function(b){\r\n                var on = b === target;\r\n                b.classList.toggle(\"active\", on);\r\n                b.setAttribute(\"aria-selected\", on ? \"true\" : \"false\");\r\n                b.tabIndex = on ? 0 : -1;\r\n            });\r\n            indicator = INDICATORS.filter(function(i){ return i.key === key; })[0];\r\n            switchIndicator();\r\n        }\r\n\r\n        \/\/ Le radar ne se lit pas comme la roue : on explique ce que mesure\r\n        \/\/ chaque axe, sinon la forme reste abstraite.\r\n        function updateSubtitle(){\r\n            var el = document.querySelector(\"#reu-roue-wp .map-subtitle\");\r\n            el.textContent = isRadar()\r\n                ? \"Comprendre les obstacles rencontr\u00e9s par les porteurs de projets.\"\r\n                : isFleurs() ? \"Les dimensions d\u2019impact document\u00e9es par chaque association.\"\r\n                : isEtages() ? \"Am\u00e9liorer, \u00e9manciper, r\u00e9v\u00e9ler : les trois promesses du fonds.\"\r\n                : isFlux() ? \"Ce que chaque th\u00e9matique verse aux trois promesses du fonds.\"\r\n                : isClassement() ? \"Le poids r\u00e9el de chaque th\u00e9matique dans le fonds.\"\r\n                : \"Explorez les projets soutenus par le fonds d\u2019innovation sociale.\";\r\n            document.getElementById(\"stage-label\").textContent = isRadar() ? \"Les freins rencontr\u00e9s\" : isFleurs() ? \"Les fleurs des associations\" : isFlux() ? \"Qui agit \u00e0 quel \u00e9tage\" : isEtages() ? \"Les trois promesses\" : isClassement() ? \"Le classement des th\u00e9matiques\" : focus === root ? \"Vue d\u2019ensemble\" : labelText(focus);\r\n            document.getElementById(\"stage-index\").textContent = isRadar() ? \"06 \/ 06\" : isFleurs() ? \"05 \/ 06\"\r\n                : isFlux() ? \"04 \/ 06\" : isEtages() ? \"03 \/ 06\" : isClassement() ? \"02 \/ 06\" : \"01 \/ 06\";\r\n            document.getElementById(\"stage-caption\").hidden = isScoped();\r\n            updateRoueCaption();\r\n            document.getElementById(\"reading-note\").textContent = isRadar()\r\n                ? \"Un projet peut documenter plusieurs freins. Filtrez par th\u00e9matique.\"\r\n                : isFleurs() ? \"Chaque fleur repr\u00e9sente un projet. Cliquez pour lire sa fiche.\"\r\n                : isEtages() ? \"Un \u00e9tage par promesse. Faites d\u00e9filer pour descendre.\"\r\n                : isFlux() ? \"Un ruban par couple th\u00e9matique et promesse. Survolez pour isoler.\"\r\n                : isClassement() ? \"Une ligne par th\u00e9matique. Cliquez pour ouvrir ses projets.\"\r\n                : focus !== root ? \"Cliquez un secteur pour poursuivre. Le centre permet de revenir.\"\r\n                : (roueMode === \"fis\" && ROSE_CONC)\r\n                    ? \"Le p\u00e9tale dit l\u2019argent engag\u00e9, pas le nombre de projets. Les \"\r\n                      + ROSE_CONC.n + \" plus gros projets en concentrent \" + ROSE_CONC.pct + \" %.\"\r\n                : \"Choisissez une th\u00e9matique pour explorer ses projets.\";\r\n        }\r\n\r\n        document.getElementById(\"legend-trigger\").addEventListener(\"click\", function(){\r\n            var aside = document.getElementById(\"legend\");\r\n            if (!aside) return;\r\n            var ouvert = aside.classList.toggle(\"is-open\");\r\n            this.setAttribute(\"aria-expanded\", ouvert ? \"true\" : \"false\");\r\n        });\r\n\r\n        document.getElementById(\"roue-modes\").addEventListener(\"click\", function(e){\r\n            var btn = e.target.closest(\".rmode\");\r\n            if (!btn || btn.classList.contains(\"active\")) return;\r\n            roueMode = btn.getAttribute(\"data-rmode\");\r\n            hideTooltip();\r\n            basculePetales();\r\n        });\r\n\r\n        document.getElementById(\"freins-modes\").addEventListener(\"click\", function(e){\r\n            var btn = e.target.closest(\".rmode\");\r\n            if (!btn || btn.classList.contains(\"active\")) return;\r\n            this.querySelectorAll(\".rmode\").forEach(function(b){ b.classList.toggle(\"active\", b === btn); });\r\n            freinsMode = btn.getAttribute(\"data-fmode\");\r\n            hideTooltip();\r\n            setViewMode();\r\n        });\r\n\r\n        function switchIndicator(){\r\n            hideTooltip();\r\n            highlight(null);\r\n            closeDetail();\r\n            updateSubtitle();\r\n            if (isScoped()){\r\n                \/\/ Bascule vers le radar ou la galerie : la roue est masqu\u00e9e,\r\n                \/\/ pas d\u00e9truite, et le fil d'Ariane n'a plus d'objet.\r\n                \/\/ setViewMode en dernier : barres et galerie r\u00e9servent la\r\n                \/\/ hauteur de l'en-t\u00eate, qui vient de changer (crumbs, KPI).\r\n                renderCrumbs();\r\n                renderLegend();\r\n                renderKPI();\r\n                setViewMode();\r\n                return;\r\n            }\r\n            setViewMode();\r\n            renderCrumbs();\r\n            \/\/ Le cadre du disque change de largeur avec la vue : en plein cadre\r\n            \/\/ il prend toute la place, en colonne il la rend au panneau. On le\r\n            \/\/ remesure, sinon il reste cal\u00e9 sur la vue qu'on vient de quitter.\r\n            computeSize();\r\n            redrawStatic();\r\n            pathSel.transition().duration(motion(420)).attr(\"fill\", nodePaint);\r\n            labelSel\r\n                .style(\"fill\", function(d){ return labelInk(nodeFill(d)); })\r\n                .style(\"stroke\", function(d){ return labelHalo(nodeFill(d)); });\r\n            updateTitles();\r\n            updateCenterLabel();\r\n            renderLegend();\r\n            renderKPI();\r\n        }\r\n\r\n        \/\/ Geometry-only resize preserves the focused branch and open project.\r\n        var resizeTimer;\r\n        window.addEventListener(\"resize\", function(){\r\n            clearTimeout(resizeTimer);\r\n            resizeTimer = setTimeout(function(){\r\n                computeSize(); redrawStatic();\r\n                if (isRadar()) refreshFreinsView(false);\r\n                if (isFleurs()) renderFlora();\r\n                if (isClassement()) renderClassement();\r\n                \/\/ Le diagramme est dessin\u00e9 \u00e0 la taille exacte du cadre : un\r\n                \/\/ cadre qui change, c'est une g\u00e9om\u00e9trie \u00e0 refaire.\r\n                if (isFlux()) renderFlux(false);\r\n                \/\/ Les \u00e9tages ne se re-rendent pas : ils se remesurent et se\r\n                \/\/ reposent sur l'\u00e9tage regard\u00e9. Les redessiner remettrait la\r\n                \/\/ descente \u00e0 z\u00e9ro \u00e0 chaque poign\u00e9e tir\u00e9e.\r\n                if (isEtages()) etRecaler();\r\n                var legend = document.getElementById(\"legend\");\r\n                legend.classList.toggle(\"is-menu\", isFleurs() || isEtages() || window.innerWidth <= 860);\r\n            }, 120);\r\n        });\r\n        document.getElementById(\"fullscreen-btn\").addEventListener(\"click\", function(){\r\n            if (document.fullscreenElement){ document.exitFullscreen(); }\r\n            else if (document.documentElement.requestFullscreen){\r\n                document.documentElement.requestFullscreen().catch(function(){\r\n                    document.getElementById(\"fullscreen-btn\").title = \"Utilisez le mode plein \u00e9cran du navigateur.\";\r\n                });\r\n            }\r\n        });\r\n        document.addEventListener(\"fullscreenchange\", function(){\r\n            var active = !!document.fullscreenElement;\r\n            var button = document.getElementById(\"fullscreen-btn\");\r\n            button.querySelector(\"span\").textContent = active ? \"Quitter le plein \u00e9cran\" : \"Plein \u00e9cran\";\r\n            button.setAttribute(\"aria-label\", active ? \"Quitter le plein \u00e9cran\" : \"Passer en plein \u00e9cran\");\r\n        });\r\n        document.getElementById(\"reu-roue-wp\").addEventListener(\"keydown\", function(e){\r\n            if (e.key === \"Escape\"){\r\n                if (detail.classList.contains(\"is-open\")){ closeDetail(); }\r\n                else if (!isScoped() && focus !== root){ zoomTo(focus.parent || root); }\r\n                hideTooltip();\r\n            }\r\n        });\r\n        document.getElementById(\"indicator-tabs\").addEventListener(\"keydown\", function(e){\r\n            var tabs = Array.from(this.querySelectorAll(\".toggle-btn\"));\r\n            var i = tabs.indexOf(document.activeElement);\r\n            if (i < 0 || ![\"ArrowRight\", \"ArrowLeft\", \"Home\", \"End\"].includes(e.key)) return;\r\n            e.preventDefault();\r\n            var next = e.key === \"Home\" ? 0 : e.key === \"End\" ? tabs.length-1 : (i + (e.key === \"ArrowRight\" ? 1 : -1) + tabs.length) % tabs.length;\r\n            tabs[next].focus(); activateTab(tabs[next].dataset.ind);\r\n        });\r\n\r\n        render();\r\n        if (document.fonts && document.fonts.ready){\r\n            document.fonts.ready.then(function(){ if (!g.classed(\"is-moving\")) redrawStatic(); });\r\n        }\r\n    }\r\n})();\r\n<\/script>","protected":false},"excerpt":{"rendered":"","protected":false},"author":64,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"class_list":["post-23814135","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>roue-impact-fis-amp-test - Social Hackers Lab<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/socialhackerslab.com\/en\/roue-impact-fis-amp-test\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"roue-impact-fis-amp-test - Social Hackers Lab\" \/>\n<meta property=\"og:url\" content=\"https:\/\/socialhackerslab.com\/en\/roue-impact-fis-amp-test\/\" \/>\n<meta property=\"og:site_name\" content=\"Social Hackers Lab\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/profile.php?id=61561806211570\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-22T01:01:21+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/socialhackerslab.com\/wp-content\/uploads\/2024\/10\/Social-Hacker-Lab-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"250\" \/>\n\t<meta property=\"og:image:height\" content=\"140\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/socialhackerslab.com\\\/roue-impact-fis-amp-test\\\/\",\"url\":\"https:\\\/\\\/socialhackerslab.com\\\/roue-impact-fis-amp-test\\\/\",\"name\":\"roue-impact-fis-amp-test - Social Hackers Lab\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/socialhackerslab.com\\\/#website\"},\"datePublished\":\"2026-09-18T16:22:02+00:00\",\"dateModified\":\"2026-09-22T01:01:21+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/socialhackerslab.com\\\/roue-impact-fis-amp-test\\\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/socialhackerslab.com\\\/roue-impact-fis-amp-test\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/socialhackerslab.com\\\/roue-impact-fis-amp-test\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/socialhackerslab.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"roue-impact-fis-amp-test\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/socialhackerslab.com\\\/#website\",\"url\":\"https:\\\/\\\/socialhackerslab.com\\\/\",\"name\":\"SocialHackersLab\",\"description\":\"Hacking Social pour une soci\u00e9t\u00e9 \u00e9galitaire\",\"publisher\":{\"@id\":\"https:\\\/\\\/socialhackerslab.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/socialhackerslab.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/socialhackerslab.com\\\/#organization\",\"name\":\"Social Hackers Lab\",\"url\":\"https:\\\/\\\/socialhackerslab.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/socialhackerslab.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/socialhackerslab.com\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/BW-SHL.png\",\"contentUrl\":\"https:\\\/\\\/socialhackerslab.com\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/BW-SHL.png\",\"width\":3431,\"height\":3431,\"caption\":\"Social Hackers Lab\"},\"image\":{\"@id\":\"https:\\\/\\\/socialhackerslab.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/profile.php?id=61561806211570\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/socialhackerslab\\\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"roue-impact-fis-amp-test - Social Hackers Lab","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/socialhackerslab.com\/en\/roue-impact-fis-amp-test\/","og_locale":"en_GB","og_type":"article","og_title":"roue-impact-fis-amp-test - Social Hackers Lab","og_url":"https:\/\/socialhackerslab.com\/en\/roue-impact-fis-amp-test\/","og_site_name":"Social Hackers Lab","article_publisher":"https:\/\/www.facebook.com\/profile.php?id=61561806211570","article_modified_time":"2026-09-22T01:01:21+00:00","og_image":[{"width":250,"height":140,"url":"https:\/\/socialhackerslab.com\/wp-content\/uploads\/2024\/10\/Social-Hacker-Lab-1.png","type":"image\/png"}],"twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/socialhackerslab.com\/roue-impact-fis-amp-test\/","url":"https:\/\/socialhackerslab.com\/roue-impact-fis-amp-test\/","name":"roue-impact-fis-amp-test - Social Hackers Lab","isPartOf":{"@id":"https:\/\/socialhackerslab.com\/#website"},"datePublished":"2026-09-18T16:22:02+00:00","dateModified":"2026-09-22T01:01:21+00:00","breadcrumb":{"@id":"https:\/\/socialhackerslab.com\/roue-impact-fis-amp-test\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/socialhackerslab.com\/roue-impact-fis-amp-test\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/socialhackerslab.com\/roue-impact-fis-amp-test\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/socialhackerslab.com\/"},{"@type":"ListItem","position":2,"name":"roue-impact-fis-amp-test"}]},{"@type":"WebSite","@id":"https:\/\/socialhackerslab.com\/#website","url":"https:\/\/socialhackerslab.com\/","name":"SocialHackersLab","description":"Hacking Social pour une soci\u00e9t\u00e9 \u00e9galitaire","publisher":{"@id":"https:\/\/socialhackerslab.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/socialhackerslab.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"Organization","@id":"https:\/\/socialhackerslab.com\/#organization","name":"Social Hackers Lab","url":"https:\/\/socialhackerslab.com\/","logo":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/socialhackerslab.com\/#\/schema\/logo\/image\/","url":"https:\/\/socialhackerslab.com\/wp-content\/uploads\/2024\/10\/BW-SHL.png","contentUrl":"https:\/\/socialhackerslab.com\/wp-content\/uploads\/2024\/10\/BW-SHL.png","width":3431,"height":3431,"caption":"Social Hackers Lab"},"image":{"@id":"https:\/\/socialhackerslab.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/profile.php?id=61561806211570","https:\/\/www.linkedin.com\/company\/socialhackerslab\/"]}]}},"_links":{"self":[{"href":"https:\/\/socialhackerslab.com\/en\/wp-json\/wp\/v2\/pages\/23814135","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/socialhackerslab.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/socialhackerslab.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/socialhackerslab.com\/en\/wp-json\/wp\/v2\/users\/64"}],"replies":[{"embeddable":true,"href":"https:\/\/socialhackerslab.com\/en\/wp-json\/wp\/v2\/comments?post=23814135"}],"version-history":[{"count":2,"href":"https:\/\/socialhackerslab.com\/en\/wp-json\/wp\/v2\/pages\/23814135\/revisions"}],"predecessor-version":[{"id":23814138,"href":"https:\/\/socialhackerslab.com\/en\/wp-json\/wp\/v2\/pages\/23814135\/revisions\/23814138"}],"wp:attachment":[{"href":"https:\/\/socialhackerslab.com\/en\/wp-json\/wp\/v2\/media?parent=23814135"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}